diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a2f0e3fd4a1..604b4d0662ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,38 @@ ## 0.3.0 (Unreleased) +UPGRADE NOTES: + +* `azurerm_route_table` - `route` is no longer computed + FEATURES: +* **New Data Source:** `azurerm_builtin_role_definition` [GH-384] +* **New Data Source:** `azurerm_image` [GH-382] * **New Data Source:** `azurerm_platform_image` [GH-375] +* **New Data Source:** `azurerm_role_definition` [GH-414] +* **New Data Source:** `azurerm_subnet` [GH-411] +* **New Resource:** `azurerm_key_vault_certificate` [GH-408] +* **New Resource:** `azurerm_role_assignment` [GH-414] +* **New Resource:** `azurerm_role_definition` [GH-414] IMPROVEMENTS: +* `azurerm_client_config` - updating the data source to work when using AzureCLI auth [GH-393] +* `azurerm_container_group` - add support for volume mounts [GH-366] * `azurerm_key_vault` - fix a crash when no certificate_permissions are defined [GH-374] +* `azurerm_key_vault` - waiting for the DNS to propagate [GH-401] +* `azurerm_managed_disk` - support for creating Managed Disks from Platform Images by supporting "FromImage" [GH-399] +* `azurerm_managed_disk` - support for creating Encrypted Managed Disks [GH-399] +* `azurerm_mysql_*` - Ensuring we register the MySQL Resource Provider [GH-397] +* `azurerm_network_interface` - exposing all of the Private IP Addresses assigned to the NIC [GH-409] +* `azurerm_network_security_group` / `azurerm_network_security_rule` - refactoring [GH-405] +* `azurerm_route_table` - removing routes when none are specified [GH-403] +* `azurerm_route_table` - refactoring `route` from a Set to a List [GH-402] +* `azurerm_route` - refactoring `route` from a Set to a List [GH-402] * `azurerm_storage_account` - support for File Encryption [GH-363] * `azurerm_storage_account` - support for Custom Domain [GH-363] * `azurerm_storage_account` - splitting the storage account Tier and Replication out into separate fields [GH-363] +* `azurerm_subnet` - making it possible to remove Network Security Groups / Route Tables [GH-411] * `azurerm_virtual_machine` - fixing a bug where `additional_unattend_config.content` was being updated unintentionally [GH-377] * `azurerm_virtual_machine_scale_set` - fixing a bug where `additional_unattend_config.content` was being updated unintentionally [GH-377] diff --git a/azurerm/config.go b/azurerm/config.go index 6458b7c3cdee..819fdc6bf54f 100644 --- a/azurerm/config.go +++ b/azurerm/config.go @@ -8,6 +8,7 @@ import ( "net/http/httputil" "github.com/Azure/azure-sdk-for-go/arm/appinsights" + "github.com/Azure/azure-sdk-for-go/arm/authorization" "github.com/Azure/azure-sdk-for-go/arm/automation" "github.com/Azure/azure-sdk-for-go/arm/cdn" "github.com/Azure/azure-sdk-for-go/arm/compute" @@ -46,10 +47,11 @@ import ( // ArmClient contains the handles to all the specific Azure Resource Manager // resource classes' respective clients. type ArmClient struct { - clientId string - tenantId string - subscriptionId string - environment azure.Environment + clientId string + tenantId string + subscriptionId string + usingServicePrincipal bool + environment azure.Environment StopContext context.Context @@ -136,6 +138,9 @@ type ArmClient struct { appInsightsClient appinsights.ComponentsClient + // Authentication + roleAssignmentsClient authorization.RoleAssignmentsClient + roleDefinitionsClient authorization.RoleDefinitionsClient servicePrincipalsClient graphrbac.ServicePrincipalsClient // Databases @@ -232,10 +237,11 @@ func (c *Config) getArmClient() (*ArmClient, error) { // client declarations: client := ArmClient{ - clientId: c.ClientID, - tenantId: c.TenantID, - subscriptionId: c.SubscriptionID, - environment: env, + clientId: c.ClientID, + tenantId: c.TenantID, + subscriptionId: c.SubscriptionID, + environment: env, + usingServicePrincipal: c.ClientSecret != "", } oauthConfig, err := adal.NewOAuthConfig(env.ActiveDirectoryEndpoint, c.TenantID) @@ -624,12 +630,6 @@ func (c *Config) getArmClient() (*ArmClient, error) { ai.Sender = sender client.appInsightsClient = ai - spc := graphrbac.NewServicePrincipalsClientWithBaseURI(graphEndpoint, c.TenantID) - setUserAgent(&spc.Client) - spc.Authorizer = graphAuth - spc.Sender = sender - client.servicePrincipalsClient = spc - aadb := automation.NewAccountClientWithBaseURI(endpoint, c.SubscriptionID) setUserAgent(&aadb.Client) aadb.Authorizer = auth @@ -654,13 +654,33 @@ func (c *Config) getArmClient() (*ArmClient, error) { aschc.Sender = sender client.automationScheduleClient = aschc - client.registerKeyVaultClients(endpoint, c.SubscriptionID, auth, keyVaultAuth, sender) - + client.registerAuthentication(endpoint, graphEndpoint, c.SubscriptionID, c.TenantID, auth, graphAuth, sender) client.registerDatabases(endpoint, c.SubscriptionID, auth, sender) + client.registerKeyVaultClients(endpoint, c.SubscriptionID, auth, keyVaultAuth, sender) return &client, nil } +func (c *ArmClient) registerAuthentication(endpoint, graphEndpoint, subscriptionId, tenantId string, auth, graphAuth autorest.Authorizer, sender autorest.Sender) { + spc := graphrbac.NewServicePrincipalsClientWithBaseURI(graphEndpoint, tenantId) + setUserAgent(&spc.Client) + spc.Authorizer = graphAuth + spc.Sender = sender + c.servicePrincipalsClient = spc + + rac := authorization.NewRoleAssignmentsClientWithBaseURI(endpoint, subscriptionId) + setUserAgent(&rac.Client) + rac.Authorizer = auth + rac.Sender = sender + c.roleAssignmentsClient = rac + + rdc := authorization.NewRoleDefinitionsClientWithBaseURI(endpoint, subscriptionId) + setUserAgent(&rdc.Client) + rdc.Authorizer = auth + rdc.Sender = sender + c.roleDefinitionsClient = rdc +} + func (c *ArmClient) registerDatabases(endpoint, subscriptionId string, auth autorest.Authorizer, sender autorest.Sender) { // MySQL mysqlConfigClient := mysql.NewConfigurationsClientWithBaseURI(endpoint, subscriptionId) diff --git a/azurerm/data_source_builtin_role_definition.go b/azurerm/data_source_builtin_role_definition.go new file mode 100644 index 000000000000..3d6e110b4bd7 --- /dev/null +++ b/azurerm/data_source_builtin_role_definition.go @@ -0,0 +1,102 @@ +package azurerm + +import ( + "fmt" + + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" +) + +func dataSourceArmBuiltInRoleDefinition() *schema.Resource { + return &schema.Resource{ + Read: dataSourceArmBuiltInRoleDefinitionRead, + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + "Contributor", + "Reader", + "Owner", + "VirtualMachineContributor", + }, false), + }, + + // Computed + "description": { + Type: schema.TypeString, + Computed: true, + }, + "type": { + Type: schema.TypeString, + Computed: true, + }, + "permissions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "actions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "not_actions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + "assignable_scopes": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + } +} + +func dataSourceArmBuiltInRoleDefinitionRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleDefinitionsClient + name := d.Get("name").(string) + roleDefinitionIds := map[string]string{ + "Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", + "Owner": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "Reader": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "VirtualMachineContributor": "/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb", + } + roleDefinitionId := roleDefinitionIds[name] + + d.SetId(roleDefinitionId) + + role, err := client.GetByID(roleDefinitionId) + if err != nil { + return fmt.Errorf("Error loadng Role Definition: %+v", err) + } + + if props := role.Properties; props != nil { + d.Set("name", props.RoleName) + d.Set("description", props.Description) + d.Set("type", props.Type) + + permissions := flattenRoleDefinitionPermissions(props.Permissions) + if err := d.Set("permissions", permissions); err != nil { + return err + } + + assignableScopes := flattenRoleDefinitionAssignableScopes(props.AssignableScopes) + if err := d.Set("assignable_scopes", assignableScopes); err != nil { + return err + } + } + + return nil +} diff --git a/azurerm/data_source_builtin_role_definition_test.go b/azurerm/data_source_builtin_role_definition_test.go new file mode 100644 index 000000000000..48133089f8d1 --- /dev/null +++ b/azurerm/data_source_builtin_role_definition_test.go @@ -0,0 +1,108 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccDataSourceAzureRMBuiltInRoleDefinition_contributor(t *testing.T) { + dataSourceName := "data.azurerm_builtin_role_definition.test" + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceBuiltInRoleDefinition("Contributor"), + Check: resource.ComposeTestCheckFunc( + testAzureRMClientConfigAttr(dataSourceName, "id", "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"), + resource.TestCheckResourceAttrSet(dataSourceName, "description"), + resource.TestCheckResourceAttrSet(dataSourceName, "type"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.0", "*"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.#", "3"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.0", "Microsoft.Authorization/*/Delete"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.1", "Microsoft.Authorization/*/Write"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.2", "Microsoft.Authorization/elevateAccess/Action"), + ), + }, + }, + }) +} + +func TestAccDataSourceAzureRMBuiltInRoleDefinition_owner(t *testing.T) { + dataSourceName := "data.azurerm_builtin_role_definition.test" + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceBuiltInRoleDefinition("Owner"), + Check: resource.ComposeTestCheckFunc( + testAzureRMClientConfigAttr(dataSourceName, "id", "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"), + resource.TestCheckResourceAttrSet(dataSourceName, "description"), + resource.TestCheckResourceAttrSet(dataSourceName, "type"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.0", "*"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.#", "0"), + ), + }, + }, + }) +} + +func TestAccDataSourceAzureRMBuiltInRoleDefinition_reader(t *testing.T) { + dataSourceName := "data.azurerm_builtin_role_definition.test" + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceBuiltInRoleDefinition("Reader"), + Check: resource.ComposeTestCheckFunc( + testAzureRMClientConfigAttr(dataSourceName, "id", "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"), + resource.TestCheckResourceAttrSet(dataSourceName, "description"), + resource.TestCheckResourceAttrSet(dataSourceName, "type"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.0", "*/read"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.#", "0"), + ), + }, + }, + }) +} + +func TestAccDataSourceAzureRMBuiltInRoleDefinition_virtualMachineContributor(t *testing.T) { + dataSourceName := "data.azurerm_builtin_role_definition.test" + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceBuiltInRoleDefinition("VirtualMachineContributor"), + Check: resource.ComposeTestCheckFunc( + testAzureRMClientConfigAttr(dataSourceName, "id", "/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb"), + resource.TestCheckResourceAttrSet(dataSourceName, "description"), + resource.TestCheckResourceAttrSet(dataSourceName, "type"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.#", "17"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.0", "Microsoft.Authorization/*/read"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.15", "Microsoft.Resources/subscriptions/resourceGroups/read"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.#", "0"), + ), + }, + }, + }) +} + +func testAccDataSourceBuiltInRoleDefinition(name string) string { + return fmt.Sprintf(` +data "azurerm_builtin_role_definition" "test" { + name = "%s" +} +`, name) +} diff --git a/azurerm/data_source_arm_client_config.go b/azurerm/data_source_client_config.go similarity index 51% rename from azurerm/data_source_arm_client_config.go rename to azurerm/data_source_client_config.go index d60205b4d466..741b9d23b208 100644 --- a/azurerm/data_source_arm_client_config.go +++ b/azurerm/data_source_client_config.go @@ -4,6 +4,7 @@ import ( "fmt" "time" + "github.com/Azure/azure-sdk-for-go/arm/graphrbac" "github.com/hashicorp/terraform/helper/schema" ) @@ -38,28 +39,35 @@ func dataSourceArmClientConfig() *schema.Resource { func dataSourceArmClientConfigRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient) - spClient := client.servicePrincipalsClient - // Application & Service Principal is 1:1 per tenant. Since we know the appId (client_id) - // here, we can query for the Service Principal whose appId matches. - filter := fmt.Sprintf("appId eq '%s'", client.clientId) - listResult, listErr := spClient.List(filter) - if listErr != nil { - return fmt.Errorf("Error listing Service Principals: %#v", listErr) - } + var servicePrincipal *graphrbac.ServicePrincipal + if client.usingServicePrincipal { + spClient := client.servicePrincipalsClient + // Application & Service Principal is 1:1 per tenant. Since we know the appId (client_id) + // here, we can query for the Service Principal whose appId matches. + filter := fmt.Sprintf("appId eq '%s'", client.clientId) + listResult, listErr := spClient.List(filter) - if listResult.Value == nil || len(*listResult.Value) != 1 { - return fmt.Errorf("Unexpected Service Principal query result: %#v", listResult.Value) - } + if listErr != nil { + return fmt.Errorf("Error listing Service Principals: %#v", listErr) + } + + if listResult.Value == nil || len(*listResult.Value) != 1 { + return fmt.Errorf("Unexpected Service Principal query result: %#v", listResult.Value) + } - servicePrincipal := (*listResult.Value)[0] + servicePrincipal = &(*listResult.Value)[0] + } d.SetId(time.Now().UTC().String()) d.Set("client_id", client.clientId) d.Set("tenant_id", client.tenantId) d.Set("subscription_id", client.subscriptionId) - d.Set("service_principal_application_id", *servicePrincipal.AppID) - d.Set("service_principal_object_id", *servicePrincipal.ObjectID) + + if principal := servicePrincipal; principal != nil { + d.Set("service_principal_application_id", principal.AppID) + d.Set("service_principal_object_id", principal.ObjectID) + } return nil } diff --git a/azurerm/data_source_arm_client_config_test.go b/azurerm/data_source_client_config_test.go similarity index 100% rename from azurerm/data_source_arm_client_config_test.go rename to azurerm/data_source_client_config_test.go diff --git a/azurerm/data_source_image.go b/azurerm/data_source_image.go new file mode 100644 index 000000000000..e131acf2bcad --- /dev/null +++ b/azurerm/data_source_image.go @@ -0,0 +1,128 @@ +package azurerm + +import ( + "fmt" + + "github.com/hashicorp/terraform/helper/schema" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func dataSourceArmImage() *schema.Resource { + return &schema.Resource{ + Read: dataSourceArmImageRead, + Schema: map[string]*schema.Schema{ + + "name": { + Type: schema.TypeString, + Required: true, + }, + + "resource_group_name": resourceGroupNameForDataSourceSchema(), + + "location": locationForDataSourceSchema(), + + "os_disk": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "blob_uri": { + Type: schema.TypeString, + Computed: true, + }, + "caching": { + Type: schema.TypeString, + Computed: true, + }, + "managed_disk_id": { + Type: schema.TypeString, + Computed: true, + }, + "os_state": { + Type: schema.TypeString, + Computed: true, + }, + "os_type": { + Type: schema.TypeString, + Computed: true, + }, + "size_gb": { + Type: schema.TypeInt, + Computed: true, + }, + }, + }, + }, + + "data_disk": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "blob_uri": { + Type: schema.TypeString, + Computed: true, + }, + "caching": { + Type: schema.TypeString, + Computed: true, + }, + "lun": { + Type: schema.TypeInt, + Computed: true, + }, + "managed_disk_id": { + Type: schema.TypeString, + Computed: true, + }, + "size_gb": { + Type: schema.TypeInt, + Computed: true, + }, + }, + }, + }, + + "tags": tagsForDataSourceSchema(), + }, + } +} + +func dataSourceArmImageRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).imageClient + + resGroup := d.Get("resource_group_name").(string) + name := d.Get("name").(string) + + resp, err := client.Get(resGroup, name, "") + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + d.SetId("") + return nil + } + return fmt.Errorf("[ERROR] Error making Read request on Azure Image %q (resource group %q): %+v", name, resGroup, err) + } + + d.SetId(*resp.ID) + d.Set("name", resp.Name) + d.Set("resource_group_name", resGroup) + d.Set("location", azureRMNormalizeLocation(*resp.Location)) + + if profile := resp.StorageProfile; profile != nil { + if disk := profile.OsDisk; disk != nil { + if err := d.Set("os_disk", flattenAzureRmImageOSDisk(d, disk)); err != nil { + return fmt.Errorf("[DEBUG] Error setting AzureRM Image OS Disk error: %+v", err) + } + } + + if disks := resp.StorageProfile.DataDisks; disks != nil { + if err := d.Set("data_disk", flattenAzureRmImageDataDisks(d, disks)); err != nil { + return fmt.Errorf("[DEBUG] Error setting AzureRM Image Data Disks error: %+v", err) + } + } + } + + flattenAndSetTags(d, resp.Tags) + + return nil +} diff --git a/azurerm/data_source_image_test.go b/azurerm/data_source_image_test.go new file mode 100644 index 000000000000..a25c66779983 --- /dev/null +++ b/azurerm/data_source_image_test.go @@ -0,0 +1,171 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccDataSourceAzureRMImage_basic(t *testing.T) { + dataSourceName := "data.azurerm_image.test" + + config := testAccDataSourceAzureRMImageBasic(acctest.RandInt(), acctest.RandString(4), testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet(dataSourceName, "name"), + resource.TestCheckResourceAttrSet(dataSourceName, "resource_group_name"), + resource.TestCheckResourceAttr(dataSourceName, "os_disk.#", "1"), + resource.TestCheckResourceAttrSet(dataSourceName, "os_disk.0.blob_uri"), + resource.TestCheckResourceAttr(dataSourceName, "os_disk.0.caching", "None"), + resource.TestCheckResourceAttr(dataSourceName, "os_disk.0.os_type", "Linux"), + resource.TestCheckResourceAttr(dataSourceName, "os_disk.0.os_state", "Generalized"), + resource.TestCheckResourceAttr(dataSourceName, "os_disk.0.size_gb", "30"), + resource.TestCheckResourceAttr(dataSourceName, "data_disk.#", "0"), + resource.TestCheckResourceAttr(dataSourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(dataSourceName, "tags.environment", "Dev"), + resource.TestCheckResourceAttr(dataSourceName, "tags.cost-center", "Ops"), + ), + }, + }, + }) +} + +func testAccDataSourceAzureRMImageBasic(rInt int, rString string, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctestrg-%d" + location = "%s" +} + +resource "azurerm_virtual_network" "test" { + name = "acctestvn-%d" + address_space = ["10.0.0.0/16"] + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} + +resource "azurerm_subnet" "test" { + name = "internal" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.2.0/24" +} + +resource "azurerm_public_ip" "test" { + name = "acctestpip%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + public_ip_address_allocation = "Dynamic" + domain_name_label = "acctestpip%d" +} + +resource "azurerm_network_interface" "testsource" { + name = "acctestnic-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + + ip_configuration { + name = "testconfigurationsource" + subnet_id = "${azurerm_subnet.test.id}" + private_ip_address_allocation = "dynamic" + public_ip_address_id = "${azurerm_public_ip.test.id}" + } +} + +resource "azurerm_storage_account" "test" { + name = "acctestsa%s" + resource_group_name = "${azurerm_resource_group.test.name}" + location = "${azurerm_resource_group.test.location}" + account_tier = "Standard" + account_replication_type = "LRS" + + tags { + environment = "Dev" + } +} + +resource "azurerm_storage_container" "test" { + name = "vhds" + resource_group_name = "${azurerm_resource_group.test.name}" + storage_account_name = "${azurerm_storage_account.test.name}" + container_access_type = "blob" +} + +resource "azurerm_virtual_machine" "testsource" { + name = "acctestvm-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + network_interface_ids = ["${azurerm_network_interface.testsource.id}"] + vm_size = "Standard_D1_v2" + + storage_image_reference { + publisher = "Canonical" + offer = "UbuntuServer" + sku = "16.04-LTS" + version = "latest" + } + + storage_os_disk { + name = "myosdisk1" + vhd_uri = "${azurerm_storage_account.test.primary_blob_endpoint}${azurerm_storage_container.test.name}/myosdisk1.vhd" + caching = "ReadWrite" + create_option = "FromImage" + disk_size_gb = "30" + } + + os_profile { + computer_name = "acctest-%d" + admin_username = "tfuser" + admin_password = "P@ssW0RD7890" + } + + os_profile_linux_config { + disable_password_authentication = false + } + + tags { + environment = "Dev" + cost-center = "Ops" + } +} + +resource "azurerm_image" "test" { + name = "acctest-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + + os_disk { + os_type = "Linux" + os_state = "Generalized" + blob_uri = "${azurerm_storage_account.test.primary_blob_endpoint}${azurerm_storage_container.test.name}/myosdisk1.vhd" + size_gb = 30 + caching = "None" + } + + tags { + environment = "Dev" + cost-center = "Ops" + } + + depends_on = ["azurerm_virtual_machine.testsource"] +} + +data "azurerm_image" "test" { + name = "${azurerm_image.test.name}" + resource_group_name = "${azurerm_resource_group.test.name}" +} + +output "location" { + value = "${data.azurerm_image.test.location}" +} + +`, rInt, location, rInt, rInt, rInt, rInt, rString, rInt, rInt, rInt) +} diff --git a/azurerm/data_source_managed_disk_test.go b/azurerm/data_source_managed_disk_test.go index 07a203be7657..fef13c78c8a0 100644 --- a/azurerm/data_source_managed_disk_test.go +++ b/azurerm/data_source_managed_disk_test.go @@ -18,9 +18,8 @@ func TestAccDataSourceAzureRMManagedDisk_basic(t *testing.T) { config := testAccDataSourceAzureRMManagedDiskBasic(name, resourceGroupName, testLocation()) resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, - CheckDestroy: testCheckAzureRMPublicIpDestroy, + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, Steps: []resource.TestStep{ { Config: config, diff --git a/azurerm/data_source_arm_public_ip.go b/azurerm/data_source_public_ip.go similarity index 100% rename from azurerm/data_source_arm_public_ip.go rename to azurerm/data_source_public_ip.go diff --git a/azurerm/data_source_arm_public_ip_test.go b/azurerm/data_source_public_ip_test.go similarity index 100% rename from azurerm/data_source_arm_public_ip_test.go rename to azurerm/data_source_public_ip_test.go diff --git a/azurerm/data_source_arm_resource_group.go b/azurerm/data_source_resource_group.go similarity index 68% rename from azurerm/data_source_arm_resource_group.go rename to azurerm/data_source_resource_group.go index ea410923a418..12a63ade0200 100644 --- a/azurerm/data_source_arm_resource_group.go +++ b/azurerm/data_source_resource_group.go @@ -17,20 +17,15 @@ func dataSourceArmResourceGroup() *schema.Resource { } func dataSourceArmResourceGroupRead(d *schema.ResourceData, meta interface{}) error { - armClient := meta.(*ArmClient) - - resourceGroupName := d.Get("name").(string) - resourceId := &ResourceID{ - SubscriptionID: armClient.subscriptionId, - ResourceGroup: resourceGroupName, - } - resourceIdString, err := composeAzureResourceID(resourceId) + client := meta.(*ArmClient).resourceGroupClient + name := d.Get("name").(string) + resp, err := client.Get(name) if err != nil { return err } - d.SetId(resourceIdString) + d.SetId(*resp.ID) if err := resourceArmResourceGroupRead(d, meta); err != nil { return err diff --git a/azurerm/data_source_arm_resource_group_test.go b/azurerm/data_source_resource_group_test.go similarity index 100% rename from azurerm/data_source_arm_resource_group_test.go rename to azurerm/data_source_resource_group_test.go diff --git a/azurerm/data_source_role_definition.go b/azurerm/data_source_role_definition.go new file mode 100644 index 000000000000..e661e85ecfd4 --- /dev/null +++ b/azurerm/data_source_role_definition.go @@ -0,0 +1,98 @@ +package azurerm + +import ( + "fmt" + + "github.com/hashicorp/terraform/helper/schema" +) + +func dataSourceArmRoleDefinition() *schema.Resource { + return &schema.Resource{ + Read: dataSourceArmRoleDefinitionRead, + Schema: map[string]*schema.Schema{ + "role_definition_id": { + Type: schema.TypeString, + Required: true, + }, + "scope": { + Type: schema.TypeString, + Required: true, + }, + + // Computed + "name": { + Type: schema.TypeString, + Computed: true, + }, + "description": { + Type: schema.TypeString, + Computed: true, + }, + "type": { + Type: schema.TypeString, + Computed: true, + }, + "permissions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "actions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "not_actions": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + "assignable_scopes": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + } +} + +func dataSourceArmRoleDefinitionRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleDefinitionsClient + + roleDefinitionId := d.Get("role_definition_id").(string) + scope := d.Get("scope").(string) + + role, err := client.Get(scope, roleDefinitionId) + if err != nil { + return fmt.Errorf("Error loadng Role Definition: %+v", err) + } + + d.SetId(*role.ID) + + if props := role.Properties; props != nil { + d.Set("name", props.RoleName) + d.Set("description", props.Description) + d.Set("type", props.Type) + + permissions := flattenRoleDefinitionPermissions(props.Permissions) + if err := d.Set("permissions", permissions); err != nil { + return err + } + + assignableScopes := flattenRoleDefinitionAssignableScopes(props.AssignableScopes) + if err := d.Set("assignable_scopes", assignableScopes); err != nil { + return err + } + } + + return nil +} diff --git a/azurerm/data_source_role_definition_test.go b/azurerm/data_source_role_definition_test.go new file mode 100644 index 000000000000..40f1d8cb9569 --- /dev/null +++ b/azurerm/data_source_role_definition_test.go @@ -0,0 +1,70 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/google/uuid" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccDataSourceAzureRMRoleDefinition_basic(t *testing.T) { + dataSourceName := "data.azurerm_role_definition.test" + + id := uuid.New().String() + ri := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceRoleDefinition(id, ri), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet(dataSourceName, "name"), + resource.TestCheckResourceAttrSet(dataSourceName, "description"), + resource.TestCheckResourceAttrSet(dataSourceName, "type"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.actions.0", "*"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.#", "3"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.0", "Microsoft.Authorization/*/Delete"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.1", "Microsoft.Authorization/*/Write"), + resource.TestCheckResourceAttr(dataSourceName, "permissions.0.not_actions.2", "Microsoft.Authorization/elevateAccess/Action"), + ), + }, + }, + }) +} + +func testAccDataSourceRoleDefinition(id string, rInt int) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +resource "azurerm_role_definition" "test" { + role_definition_id = "%s" + name = "acctestrd-%d" + scope = "${data.azurerm_subscription.primary.id}" + description = "Created by the Data Source Role Definition Acceptance Test" + + permissions { + actions = ["*"] + not_actions = [ + "Microsoft.Authorization/*/Delete", + "Microsoft.Authorization/*/Write", + "Microsoft.Authorization/elevateAccess/Action" + ] + } + + assignable_scopes = [ + "${data.azurerm_subscription.primary.id}", + ] +} + +data "azurerm_role_definition" "test" { + role_definition_id = "${azurerm_role_definition.test.role_definition_id}" + scope = "${data.azurerm_subscription.primary.id}" +} +`, id, rInt) +} diff --git a/azurerm/data_source_subnet.go b/azurerm/data_source_subnet.go new file mode 100644 index 000000000000..2a8d7c3e740b --- /dev/null +++ b/azurerm/data_source_subnet.go @@ -0,0 +1,102 @@ +package azurerm + +import ( + "fmt" + + "github.com/hashicorp/terraform/helper/schema" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func dataSourceArmSubnet() *schema.Resource { + return &schema.Resource{ + Read: dataSourceArmSubnetRead, + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + }, + + "virtual_network_name": { + Type: schema.TypeString, + Required: true, + }, + + "resource_group_name": { + Type: schema.TypeString, + Required: true, + }, + + "address_prefix": { + Type: schema.TypeString, + Computed: true, + }, + + "network_security_group_id": { + Type: schema.TypeString, + Computed: true, + }, + + "route_table_id": { + Type: schema.TypeString, + Computed: true, + }, + + "ip_configurations": { + Type: schema.TypeSet, + Computed: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + }, + } +} + +func dataSourceArmSubnetRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).subnetClient + + name := d.Get("name").(string) + virtualNetworkName := d.Get("virtual_network_name").(string) + resourceGroupName := d.Get("resource_group_name").(string) + + resp, err := client.Get(resourceGroupName, virtualNetworkName, name, "") + if err != nil { + return fmt.Errorf("Error reading Subnet: %+v", err) + } + + d.SetId(*resp.ID) + + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + d.SetId("") + return nil + } + return fmt.Errorf("Error making Read request on Azure Subnet %q: %+v", name, err) + } + + d.Set("name", name) + d.Set("resource_group_name", resourceGroupName) + d.Set("virtual_network_name", virtualNetworkName) + + if props := resp.SubnetPropertiesFormat; props != nil { + d.Set("address_prefix", props.AddressPrefix) + + if props.NetworkSecurityGroup != nil { + d.Set("network_security_group_id", props.NetworkSecurityGroup.ID) + } else { + d.Set("network_security_group_id", "") + } + + if props.RouteTable != nil { + d.Set("route_table_id", props.RouteTable.ID) + } else { + d.Set("route_table_id", "") + } + + ips := flattenSubnetIPConfigurations(props.IPConfigurations) + if err := d.Set("ip_configurations", ips); err != nil { + return err + } + } + + return nil +} diff --git a/azurerm/data_source_subnet_test.go b/azurerm/data_source_subnet_test.go new file mode 100644 index 000000000000..e1d0810dd033 --- /dev/null +++ b/azurerm/data_source_subnet_test.go @@ -0,0 +1,198 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccDataSourceAzureRMSubnet_basic(t *testing.T) { + resourceName := "data.azurerm_subnet.test" + ri := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceAzureRMSubnet_basic(ri, testLocation()), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet(resourceName, "name"), + resource.TestCheckResourceAttrSet(resourceName, "resource_group_name"), + resource.TestCheckResourceAttrSet(resourceName, "virtual_network_name"), + resource.TestCheckResourceAttrSet(resourceName, "address_prefix"), + resource.TestCheckResourceAttr(resourceName, "network_security_group_id", ""), + resource.TestCheckResourceAttr(resourceName, "route_table_id", ""), + ), + }, + }, + }) +} + +func TestAccDataSourceAzureRMSubnet_networkSecurityGroup(t *testing.T) { + dataSourceName := "data.azurerm_subnet.test" + ri := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceAzureRMSubnet_networkSecurityGroup(ri, testLocation()), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet(dataSourceName, "name"), + resource.TestCheckResourceAttrSet(dataSourceName, "resource_group_name"), + resource.TestCheckResourceAttrSet(dataSourceName, "virtual_network_name"), + resource.TestCheckResourceAttrSet(dataSourceName, "address_prefix"), + resource.TestCheckResourceAttrSet(dataSourceName, "network_security_group_id"), + resource.TestCheckResourceAttr(dataSourceName, "route_table_id", ""), + ), + }, + }, + }) +} + +func TestAccDataSourceAzureRMSubnet_routeTable(t *testing.T) { + dataSourceName := "data.azurerm_subnet.test" + ri := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccDataSourceAzureRMSubnet_routeTable(ri, testLocation()), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet(dataSourceName, "name"), + resource.TestCheckResourceAttrSet(dataSourceName, "resource_group_name"), + resource.TestCheckResourceAttrSet(dataSourceName, "virtual_network_name"), + resource.TestCheckResourceAttrSet(dataSourceName, "address_prefix"), + resource.TestCheckResourceAttr(dataSourceName, "network_security_group_id", ""), + resource.TestCheckResourceAttrSet(dataSourceName, "route_table_id"), + ), + }, + }, + }) +} + +func testAccDataSourceAzureRMSubnet_basic(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctest%d-rg" + location = "%s" +} + +resource "azurerm_virtual_network" "test" { + name = "acctest%d-vn" + address_space = ["10.0.0.0/16"] + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} + +resource "azurerm_subnet" "test" { + name = "acctest%d-private" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.0.0/24" +} + +data "azurerm_subnet" "test" { + name = "${azurerm_subnet.test.name}" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" +} +`, rInt, location, rInt, rInt) +} + +func testAccDataSourceAzureRMSubnet_networkSecurityGroup(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctest%d-rg" + location = "%s" +} + +resource "azurerm_network_security_group" "test" { + name = "acctestnsg%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + + security_rule { + name = "test123" + priority = 100 + direction = "Inbound" + access = "Allow" + protocol = "Tcp" + source_port_range = "*" + destination_port_range = "*" + source_address_prefix = "*" + destination_address_prefix = "*" + } +} + +resource "azurerm_virtual_network" "test" { + name = "acctest%d-vn" + address_space = ["10.0.0.0/16"] + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} + +resource "azurerm_subnet" "test" { + name = "acctest%d-private" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.0.0/24" + network_security_group_id = "${azurerm_network_security_group.test.id}" +} + +data "azurerm_subnet" "test" { + name = "${azurerm_subnet.test.name}" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" +} +`, rInt, location, rInt, rInt, rInt) +} + +func testAccDataSourceAzureRMSubnet_routeTable(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + +resource "azurerm_route_table" "test" { + name = "acctest-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + + route { + name = "acctest-%d" + address_prefix = "10.100.0.0/14" + next_hop_type = "VirtualAppliance" + next_hop_in_ip_address = "10.10.1.1" + } +} + +resource "azurerm_virtual_network" "test" { + name = "acctestvirtnet%d" + address_space = ["10.0.0.0/16"] + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} + +resource "azurerm_subnet" "test" { + name = "acctestsubnet%d" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.2.0/24" + route_table_id = "${azurerm_route_table.test.id}" +} + +data "azurerm_subnet" "test" { + name = "${azurerm_subnet.test.name}" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" +} +`, rInt, location, rInt, rInt, rInt, rInt) +} diff --git a/azurerm/encryption_settings.go b/azurerm/encryption_settings.go new file mode 100644 index 000000000000..aba8c66274ad --- /dev/null +++ b/azurerm/encryption_settings.go @@ -0,0 +1,132 @@ +package azurerm + +import ( + "github.com/Azure/azure-sdk-for-go/arm/disk" + "github.com/hashicorp/terraform/helper/schema" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func encryptionSettingsSchema() *schema.Schema { + return &schema.Schema{ + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "enabled": { + Type: schema.TypeBool, + Required: true, + + // Azure can change enabled from false to true, but not the other way around, so + // to keep idempotency, we'll conservatively set this to ForceNew=true + ForceNew: true, + }, + + "disk_encryption_key": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "secret_url": { + Type: schema.TypeString, + Required: true, + }, + + "source_vault_id": { + Type: schema.TypeString, + Required: true, + }, + }, + }, + }, + "key_encryption_key": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "key_url": { + Type: schema.TypeString, + Required: true, + }, + + "source_vault_id": { + Type: schema.TypeString, + Required: true, + }, + }, + }, + }, + }, + }, + } +} + +func expandManagedDiskEncryptionSettings(settings map[string]interface{}) *disk.EncryptionSettings { + enabled := settings["enabled"].(bool) + config := &disk.EncryptionSettings{ + Enabled: utils.Bool(enabled), + } + + if v := settings["disk_encryption_key"].([]interface{}); len(v) > 0 { + dek := v[0].(map[string]interface{}) + + secretURL := dek["secret_url"].(string) + sourceVaultId := dek["source_vault_id"].(string) + config.DiskEncryptionKey = &disk.KeyVaultAndSecretReference{ + SecretURL: utils.String(secretURL), + SourceVault: &disk.SourceVault{ + ID: utils.String(sourceVaultId), + }, + } + } + + if v := settings["key_encryption_key"].([]interface{}); len(v) > 0 { + kek := v[0].(map[string]interface{}) + + secretURL := kek["key_url"].(string) + sourceVaultId := kek["source_vault_id"].(string) + config.KeyEncryptionKey = &disk.KeyVaultAndKeyReference{ + KeyURL: utils.String(secretURL), + SourceVault: &disk.SourceVault{ + ID: utils.String(sourceVaultId), + }, + } + } + + return config +} + +func flattenManagedDiskEncryptionSettings(encryptionSettings *disk.EncryptionSettings) []interface{} { + value := map[string]interface{}{ + "enabled": *encryptionSettings.Enabled, + } + + if key := encryptionSettings.DiskEncryptionKey; key != nil { + keys := make(map[string]interface{}, 0) + + keys["secret_url"] = *key.SecretURL + if vault := key.SourceVault; vault != nil { + keys["source_vault_id"] = *vault.ID + } + + value["disk_encryption_key"] = []interface{}{keys} + } + + if key := encryptionSettings.KeyEncryptionKey; key != nil { + keys := make(map[string]interface{}, 0) + + keys["key_url"] = *key.KeyURL + + if vault := key.SourceVault; key != nil { + keys["source_vault_id"] = *vault.ID + } + + value["key_encryption_key"] = []interface{}{keys} + } + + output := make([]interface{}, 0) + output = append(output, value) + return output +} diff --git a/azurerm/import_arm_key_vault_certificate_test.go b/azurerm/import_arm_key_vault_certificate_test.go new file mode 100644 index 000000000000..034088f72fcc --- /dev/null +++ b/azurerm/import_arm_key_vault_certificate_test.go @@ -0,0 +1,55 @@ +package azurerm + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMKeyVaultCertificate_importPFX(t *testing.T) { + resourceName := "azurerm_key_vault_certificate.test" + + rs := acctest.RandString(6) + config := testAccAzureRMKeyVaultCertificate_basicImportPFX(rs, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMKeyVaultCertificateDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"certificate"}, + }, + }, + }) +} + +func TestAccAzureRMKeyVaultCertificate_importGenerated(t *testing.T) { + resourceName := "azurerm_key_vault_certificate.test" + + rs := acctest.RandString(6) + config := testAccAzureRMKeyVaultCertificate_basicGenerate(rs, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMKeyVaultCertificateDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/azurerm/import_arm_network_security_group_test.go b/azurerm/import_arm_network_security_group_test.go index ace2cf541f79..314992dc0be4 100644 --- a/azurerm/import_arm_network_security_group_test.go +++ b/azurerm/import_arm_network_security_group_test.go @@ -27,3 +27,45 @@ func TestAccAzureRMNetworkSecurityGroup_importBasic(t *testing.T) { }, }) } + +func TestAccAzureRMNetworkSecurityGroup_importSingleRule(t *testing.T) { + resourceName := "azurerm_network_security_group.test" + rInt := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMNetworkSecurityGroupDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMNetworkSecurityGroup_singleRule(rInt, testLocation()), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAzureRMNetworkSecurityGroup_importMultipleRules(t *testing.T) { + resourceName := "azurerm_network_security_group.test" + rInt := acctest.RandInt() + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMNetworkSecurityGroupDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMNetworkSecurityGroup_anotherRule(rInt, testLocation()), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/azurerm/import_arm_role_assignment_test.go b/azurerm/import_arm_role_assignment_test.go new file mode 100644 index 000000000000..3dc1afeef682 --- /dev/null +++ b/azurerm/import_arm_role_assignment_test.go @@ -0,0 +1,59 @@ +package azurerm + +import ( + "testing" + + "github.com/google/uuid" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMRoleAssignment_importBasic(t *testing.T) { + resourceName := "azurerm_role_assignment.test" + + roleDefinitionId := uuid.New().String() + roleAssignmentId := uuid.New().String() + ri := acctest.RandInt() + config := testAccAzureRMRoleAssignment_custom(roleDefinitionId, roleAssignmentId, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleAssignmentDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAzureRMRoleAssignment_importCustom(t *testing.T) { + resourceName := "azurerm_role_assignment.test" + + roleDefinitionId := uuid.New().String() + roleAssignmentId := uuid.New().String() + ri := acctest.RandInt() + config := testAccAzureRMRoleAssignment_custom(roleDefinitionId, roleAssignmentId, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleAssignmentDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/azurerm/import_arm_role_definition_test.go b/azurerm/import_arm_role_definition_test.go new file mode 100644 index 000000000000..bfead9cc6c1c --- /dev/null +++ b/azurerm/import_arm_role_definition_test.go @@ -0,0 +1,59 @@ +package azurerm + +import ( + "testing" + + "github.com/google/uuid" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMRoleDefinition_importBasic(t *testing.T) { + resourceName := "azurerm_role_definition.test" + + id := uuid.New().String() + ri := acctest.RandInt() + config := testAccAzureRMRoleDefinition_basic(id, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleDefinitionDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"role_definition_id", "scope"}, + }, + }, + }) +} + +func TestAccAzureRMRoleDefinition_importComplete(t *testing.T) { + resourceName := "azurerm_role_definition.test" + + id := uuid.New().String() + ri := acctest.RandInt() + config := testAccAzureRMRoleDefinition_complete(id, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleDefinitionDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"role_definition_id", "scope"}, + }, + }, + }) +} diff --git a/azurerm/import_arm_route_table_test.go b/azurerm/import_arm_route_table_test.go index 02acb5a257e9..fd8e9fe067cc 100644 --- a/azurerm/import_arm_route_table_test.go +++ b/azurerm/import_arm_route_table_test.go @@ -29,3 +29,49 @@ func TestAccAzureRMRouteTable_importBasic(t *testing.T) { }, }) } + +func TestAccAzureRMRouteTable_importSingleRoute(t *testing.T) { + resourceName := "azurerm_route_table.test" + + ri := acctest.RandInt() + config := testAccAzureRMRouteTable_singleRoute(ri, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRouteTableDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAzureRMRouteTable_importMultipleRoutes(t *testing.T) { + resourceName := "azurerm_route_table.test" + + ri := acctest.RandInt() + config := testAccAzureRMRouteTable_multipleRoutes(ri, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRouteTableDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/azurerm/import_arm_subnet_test.go b/azurerm/import_arm_subnet_test.go index 077a08d943f0..5f6c294eb6b6 100644 --- a/azurerm/import_arm_subnet_test.go +++ b/azurerm/import_arm_subnet_test.go @@ -52,3 +52,26 @@ func TestAccAzureRMSubnet_importWithRouteTable(t *testing.T) { }, }) } + +func TestAccAzureRMSubnet_importWithNetworkSecurityGroup(t *testing.T) { + resourceName := "azurerm_subnet.test" + + ri := acctest.RandInt() + config := testAccAzureRMSubnet_networkSecurityGroup(ri, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMSubnetDestroy, + Steps: []resource.TestStep{ + { + Config: config, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/azurerm/key_vault_child.go b/azurerm/key_vault_child.go new file mode 100644 index 000000000000..1da8c2220216 --- /dev/null +++ b/azurerm/key_vault_child.go @@ -0,0 +1,57 @@ +package azurerm + +import ( + "fmt" + "net/url" + "regexp" + "strings" +) + +func parseKeyVaultChildID(id string) (*KeyVaultChildID, error) { + // example: https://tharvey-keyvault.vault.azure.net/type/bird/fdf067c93bbb4b22bff4d8b7a9a56217 + idURL, err := url.ParseRequestURI(id) + if err != nil { + return nil, fmt.Errorf("Cannot parse Azure KeyVault Child Id: %s", err) + } + + path := idURL.Path + + path = strings.TrimSpace(path) + if strings.HasPrefix(path, "/") { + path = path[1:] + } + + if strings.HasSuffix(path, "/") { + path = path[:len(path)-1] + } + + components := strings.Split(path, "/") + + if len(components) != 3 { + return nil, fmt.Errorf("Azure KeyVault Child Id should have 3 segments, got %d: '%s'", len(components), path) + } + + childId := KeyVaultChildID{ + KeyVaultBaseUrl: fmt.Sprintf("%s://%s/", idURL.Scheme, idURL.Host), + Name: components[1], + Version: components[2], + } + + return &childId, nil +} + +type KeyVaultChildID struct { + KeyVaultBaseUrl string + Name string + Version string +} + +func validateKeyVaultChildName(v interface{}, k string) (ws []string, es []error) { + value := v.(string) + + if matched := regexp.MustCompile(`^[0-9a-zA-Z-]+$`).Match([]byte(value)); !matched { + es = append(es, fmt.Errorf("%q may only contain alphanumeric characters and dashes", k)) + } + + return +} diff --git a/azurerm/key_vault_child_test.go b/azurerm/key_vault_child_test.go new file mode 100644 index 000000000000..537869474d9c --- /dev/null +++ b/azurerm/key_vault_child_test.go @@ -0,0 +1,132 @@ +package azurerm + +import "testing" + +func TestAccAzureRMKeyVaultChild_validateName(t *testing.T) { + cases := []struct { + Input string + ExpectError bool + }{ + { + Input: "", + ExpectError: true, + }, + { + Input: "hello", + ExpectError: false, + }, + { + Input: "hello-world", + ExpectError: false, + }, + { + Input: "hello-world-21", + ExpectError: false, + }, + { + Input: "hello_world_21", + ExpectError: true, + }, + { + Input: "Hello-World", + ExpectError: false, + }, + { + Input: "20202020", + ExpectError: false, + }, + { + Input: "ABC123!@£", + ExpectError: true, + }, + } + + for _, tc := range cases { + _, errors := validateKeyVaultChildName(tc.Input, "") + + hasError := len(errors) > 0 + + if tc.ExpectError && !hasError { + t.Fatalf("Expected the Key Vault Child Name to trigger a validation error for '%s'", tc.Input) + } + } +} + +func TestAccAzureRMKeyVaultChild_parseID(t *testing.T) { + cases := []struct { + Input string + Expected KeyVaultChildID + ExpectError bool + }{ + { + Input: "", + ExpectError: true, + }, + { + Input: "https://my-keyvault.vault.azure.net/secrets", + ExpectError: true, + }, + { + Input: "https://my-keyvault.vault.azure.net/secrets/bird", + ExpectError: true, + }, + { + Input: "https://my-keyvault.vault.azure.net/secrets/bird/fdf067c93bbb4b22bff4d8b7a9a56217", + ExpectError: false, + Expected: KeyVaultChildID{ + Name: "bird", + KeyVaultBaseUrl: "https://my-keyvault.vault.azure.net/", + Version: "fdf067c93bbb4b22bff4d8b7a9a56217", + }, + }, + { + Input: "https://my-keyvault.vault.azure.net/certificates/hello/world", + ExpectError: false, + Expected: KeyVaultChildID{ + Name: "hello", + KeyVaultBaseUrl: "https://my-keyvault.vault.azure.net/", + Version: "world", + }, + }, + { + Input: "https://my-keyvault.vault.azure.net/keys/castle/1492", + ExpectError: false, + Expected: KeyVaultChildID{ + Name: "castle", + KeyVaultBaseUrl: "https://my-keyvault.vault.azure.net/", + Version: "1492", + }, + }, + { + Input: "https://my-keyvault.vault.azure.net/secrets/bird/fdf067c93bbb4b22bff4d8b7a9a56217/XXX", + ExpectError: true, + }, + } + + for _, tc := range cases { + secretId, err := parseKeyVaultChildID(tc.Input) + if err != nil { + if !tc.ExpectError { + t.Fatalf("Got error for ID '%s': %+v", tc.Input, err) + } + + return + } + + if secretId == nil { + t.Fatalf("Expected a SecretID to be parsed for ID '%s', got nil.", tc.Input) + } + + if tc.Expected.KeyVaultBaseUrl != secretId.KeyVaultBaseUrl { + t.Fatalf("Expected 'KeyVaultBaseUrl' to be '%s', got '%s' for ID '%s'", tc.Expected.KeyVaultBaseUrl, secretId.KeyVaultBaseUrl, tc.Input) + } + + if tc.Expected.Name != secretId.Name { + t.Fatalf("Expected 'Version' to be '%s', got '%s' for ID '%s'", tc.Expected.Name, secretId.Name, tc.Input) + } + + if tc.Expected.Version != secretId.Version { + t.Fatalf("Expected 'Version' to be '%s', got '%s' for ID '%s'", tc.Expected.Version, secretId.Version, tc.Input) + } + } +} diff --git a/azurerm/network_security_rule.go b/azurerm/network_security_rule.go index f7b41d559d95..c9df9ee516f1 100644 --- a/azurerm/network_security_rule.go +++ b/azurerm/network_security_rule.go @@ -18,29 +18,3 @@ func validateNetworkSecurityRuleProtocol(v interface{}, k string) (ws []string, } return } - -func validateNetworkSecurityRuleAccess(v interface{}, k string) (ws []string, errors []error) { - value := strings.ToLower(v.(string)) - accessTypes := map[string]bool{ - "allow": true, - "deny": true, - } - - if !accessTypes[value] { - errors = append(errors, fmt.Errorf("Network Security Rule Access can only be Allow or Deny")) - } - return -} - -func validateNetworkSecurityRuleDirection(v interface{}, k string) (ws []string, errors []error) { - value := strings.ToLower(v.(string)) - directions := map[string]bool{ - "inbound": true, - "outbound": true, - } - - if !directions[value] { - errors = append(errors, fmt.Errorf("Network Security Rule Directions can only be Inbound or Outbound")) - } - return -} diff --git a/azurerm/network_security_rule_test.go b/azurerm/network_security_rule_test.go index f1f71e8f2926..8b9f21ecc4b2 100644 --- a/azurerm/network_security_rule_test.go +++ b/azurerm/network_security_rule_test.go @@ -41,75 +41,3 @@ func TestResourceAzureRMNetworkSecurityRuleProtocol_validation(t *testing.T) { } } } - -func TestResourceAzureRMNetworkSecurityRuleAccess_validation(t *testing.T) { - cases := []struct { - Value string - ErrCount int - }{ - { - Value: "Random", - ErrCount: 1, - }, - { - Value: "Allow", - ErrCount: 0, - }, - { - Value: "Deny", - ErrCount: 0, - }, - { - Value: "ALLOW", - ErrCount: 0, - }, - { - Value: "deny", - ErrCount: 0, - }, - } - - for _, tc := range cases { - _, errors := validateNetworkSecurityRuleAccess(tc.Value, "azurerm_network_security_rule") - - if len(errors) != tc.ErrCount { - t.Fatalf("Expected the Azure RM Network Security Rule access to trigger a validation error") - } - } -} - -func TestResourceAzureRMNetworkSecurityRuleDirection_validation(t *testing.T) { - cases := []struct { - Value string - ErrCount int - }{ - { - Value: "Random", - ErrCount: 1, - }, - { - Value: "Inbound", - ErrCount: 0, - }, - { - Value: "Outbound", - ErrCount: 0, - }, - { - Value: "INBOUND", - ErrCount: 0, - }, - { - Value: "Inbound", - ErrCount: 0, - }, - } - - for _, tc := range cases { - _, errors := validateNetworkSecurityRuleDirection(tc.Value, "azurerm_network_security_rule") - - if len(errors) != tc.ErrCount { - t.Fatalf("Expected the Azure RM Network Security Rule direction to trigger a validation error") - } - } -} diff --git a/azurerm/provider.go b/azurerm/provider.go index 0d1d7ff48308..1e3ea8f7d252 100644 --- a/azurerm/provider.go +++ b/azurerm/provider.go @@ -68,12 +68,16 @@ func Provider() terraform.ResourceProvider { }, DataSourcesMap: map[string]*schema.Resource{ - "azurerm_client_config": dataSourceArmClientConfig(), - "azurerm_managed_disk": dataSourceArmManagedDisk(), - "azurerm_platform_image": dataSourceArmPlatformImage(), - "azurerm_public_ip": dataSourceArmPublicIP(), - "azurerm_resource_group": dataSourceArmResourceGroup(), - "azurerm_subscription": dataSourceArmSubscription(), + "azurerm_builtin_role_definition": dataSourceArmBuiltInRoleDefinition(), + "azurerm_client_config": dataSourceArmClientConfig(), + "azurerm_image": dataSourceArmImage(), + "azurerm_managed_disk": dataSourceArmManagedDisk(), + "azurerm_platform_image": dataSourceArmPlatformImage(), + "azurerm_public_ip": dataSourceArmPublicIP(), + "azurerm_resource_group": dataSourceArmResourceGroup(), + "azurerm_role_definition": dataSourceArmRoleDefinition(), + "azurerm_subnet": dataSourceArmSubnet(), + "azurerm_subscription": dataSourceArmSubscription(), }, ResourcesMap: map[string]*schema.Resource{ @@ -108,6 +112,7 @@ func Provider() terraform.ResourceProvider { "azurerm_express_route_circuit": resourceArmExpressRouteCircuit(), "azurerm_image": resourceArmImage(), "azurerm_key_vault": resourceArmKeyVault(), + "azurerm_key_vault_certificate": resourceArmKeyVaultCertificate(), "azurerm_key_vault_key": resourceArmKeyVaultKey(), "azurerm_key_vault_secret": resourceArmKeyVaultSecret(), "azurerm_lb": resourceArmLoadBalancer(), @@ -133,6 +138,8 @@ func Provider() terraform.ResourceProvider { "azurerm_public_ip": resourceArmPublicIp(), "azurerm_redis_cache": resourceArmRedisCache(), "azurerm_resource_group": resourceArmResourceGroup(), + "azurerm_role_assignment": resourceArmRoleAssignment(), + "azurerm_role_definition": resourceArmRoleDefinition(), "azurerm_route": resourceArmRoute(), "azurerm_route_table": resourceArmRouteTable(), "azurerm_search_service": resourceArmSearchService(), @@ -394,6 +401,7 @@ func registerProviderWithSubscription(providerName string, client resources.Prov func determineAzureResourceProvidersToRegister(providerList []resources.Provider) map[string]struct{} { providers := map[string]struct{}{ + "Microsoft.Authorization": {}, "Microsoft.Automation": {}, "Microsoft.Cache": {}, "Microsoft.Cdn": {}, @@ -401,6 +409,7 @@ func determineAzureResourceProvidersToRegister(providerList []resources.Provider "Microsoft.ContainerInstance": {}, "Microsoft.ContainerRegistry": {}, "Microsoft.ContainerService": {}, + "Microsoft.DBforMySQL": {}, "Microsoft.DBforPostgreSQL": {}, "Microsoft.DocumentDB": {}, "Microsoft.EventGrid": {}, diff --git a/azurerm/resource_arm_availability_set_test.go b/azurerm/resource_arm_availability_set_test.go index f16de95b3360..b1373c0edb49 100644 --- a/azurerm/resource_arm_availability_set_test.go +++ b/azurerm/resource_arm_availability_set_test.go @@ -2,12 +2,12 @@ package azurerm import ( "fmt" - "net/http" "testing" "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func TestAccAzureRMAvailabilitySet_basic(t *testing.T) { @@ -146,15 +146,14 @@ func testCheckAzureRMAvailabilitySetExists(name string) resource.TestCheckFunc { return fmt.Errorf("Bad: no resource group found in state for availability set: %s", availSetName) } - conn := testAccProvider.Meta().(*ArmClient).availSetClient - - resp, err := conn.Get(resourceGroup, availSetName) + client := testAccProvider.Meta().(*ArmClient).availSetClient + resp, err := client.Get(resourceGroup, availSetName) if err != nil { - return fmt.Errorf("Bad: Get on availSetClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Availability Set %q (resource group: %q) does not exist", name, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Availability Set %q (resource group: %q) does not exist", name, resourceGroup) + return fmt.Errorf("Bad: Get on availSetClient: %+v", err) } return nil @@ -175,11 +174,12 @@ func testCheckAzureRMAvailabilitySetDisappears(name string) resource.TestCheckFu return fmt.Errorf("Bad: no resource group found in state for availability set: %s", availSetName) } - conn := testAccProvider.Meta().(*ArmClient).availSetClient - - _, err := conn.Delete(resourceGroup, availSetName) + client := testAccProvider.Meta().(*ArmClient).availSetClient + resp, err := client.Delete(resourceGroup, availSetName) if err != nil { - return fmt.Errorf("Bad: Delete on availSetClient: %+v", err) + if !utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Delete on availSetClient: %+v", err) + } } return nil @@ -187,8 +187,6 @@ func testCheckAzureRMAvailabilitySetDisappears(name string) resource.TestCheckFu } func testCheckAzureRMAvailabilitySetDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*ArmClient).availSetClient - for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_availability_set" { continue @@ -197,15 +195,17 @@ func testCheckAzureRMAvailabilitySetDestroy(s *terraform.State) error { name := rs.Primary.Attributes["name"] resourceGroup := rs.Primary.Attributes["resource_group_name"] - resp, err := conn.Get(resourceGroup, name) + client := testAccProvider.Meta().(*ArmClient).availSetClient + resp, err := client.Get(resourceGroup, name) if err != nil { - return nil + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + return err } - if resp.StatusCode != http.StatusNotFound { - return fmt.Errorf("Availability Set still exists:\n%#v", resp.AvailabilitySetProperties) - } + return fmt.Errorf("Availability Set still exists:\n%#v", resp.AvailabilitySetProperties) } return nil diff --git a/azurerm/resource_arm_container_group.go b/azurerm/resource_arm_container_group.go index 2627ee9120e3..e936a1b1a39f 100644 --- a/azurerm/resource_arm_container_group.go +++ b/azurerm/resource_arm_container_group.go @@ -119,6 +119,52 @@ func resourceArmContainerGroup() *schema.Resource { Optional: true, ForceNew: true, }, + + "volume": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "mount_path": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "read_only": { + Type: schema.TypeBool, + Optional: true, + ForceNew: true, + Default: false, + }, + + "share_name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "storage_account_name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "storage_account_key": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + }, + }, + }, }, }, }, @@ -138,8 +184,7 @@ func resourceArmContainerGroupCreate(d *schema.ResourceData, meta interface{}) e IPAddressType := d.Get("ip_address_type").(string) tags := d.Get("tags").(map[string]interface{}) - containers, containerGroupPorts := expandContainerGroupContainers(d) - + containers, containerGroupPorts, containerGroupVolumes := expandContainerGroupContainers(d) containerGroup := containerinstance.ContainerGroup{ Name: &name, Location: &location, @@ -150,7 +195,8 @@ func resourceArmContainerGroupCreate(d *schema.ResourceData, meta interface{}) e Type: &IPAddressType, Ports: containerGroupPorts, }, - OsType: containerinstance.OperatingSystemTypes(OSType), + OsType: containerinstance.OperatingSystemTypes(OSType), + Volumes: containerGroupVolumes, }, } @@ -172,6 +218,7 @@ func resourceArmContainerGroupCreate(d *schema.ResourceData, meta interface{}) e return resourceArmContainerGroupRead(d, meta) } + func resourceArmContainerGroupRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient) containterGroupsClient := client.containerGroupsClient @@ -206,10 +253,12 @@ func resourceArmContainerGroupRead(d *schema.ResourceData, meta interface{}) err d.Set("ip_address", address.IP) } - containerConfigs := flattenContainerGroupContainers(resp.Containers) - err = d.Set("container", containerConfigs) - if err != nil { - return fmt.Errorf("Error setting `container`: %+v", err) + if props := resp.ContainerGroupProperties; props != nil { + containerConfigs := flattenContainerGroupContainers(d, resp.Containers, props.IPAddress.Ports, props.Volumes) + err = d.Set("container", containerConfigs) + if err != nil { + return fmt.Errorf("Error setting `container`: %+v", err) + } } return nil @@ -240,7 +289,7 @@ func resourceArmContainerGroupDelete(d *schema.ResourceData, meta interface{}) e return nil } -func flattenContainerGroupContainers(containers *[]containerinstance.Container) []interface{} { +func flattenContainerGroupContainers(d *schema.ResourceData, containers *[]containerinstance.Container, containerGroupPorts *[]containerinstance.Port, containerGroupVolumes *[]containerinstance.Volume) []interface{} { containerConfigs := make([]interface{}, 0, len(*containers)) for _, container := range *containers { @@ -256,9 +305,21 @@ func flattenContainerGroupContainers(containers *[]containerinstance.Container) } if len(*container.Ports) > 0 { - containerConfig["port"] = *(*container.Ports)[0].Port + containerPort := *(*container.Ports)[0].Port + containerConfig["port"] = containerPort + // protocol isn't returned in container config, have to search in container group ports + protocol := "" + if containerGroupPorts != nil { + for _, cgPort := range *containerGroupPorts { + if *cgPort.Port == containerPort { + protocol = string(cgPort.Protocol) + } + } + } + if protocol != "" { + containerConfig["protocol"] = protocol + } } - // protocol isn't returned in container config if container.EnvironmentVariables != nil { if len(*container.EnvironmentVariables) > 0 { @@ -270,6 +331,25 @@ func flattenContainerGroupContainers(containers *[]containerinstance.Container) containerConfig["command"] = strings.Join(*command, " ") } + if containerGroupVolumes != nil && container.VolumeMounts != nil { + // Also pass in the container volume config from schema + var containerVolumesConfig *[]interface{} + containersConfigRaw := d.Get("container").([]interface{}) + for _, containerConfigRaw := range containersConfigRaw { + data := containerConfigRaw.(map[string]interface{}) + nameRaw := data["name"].(string) + if nameRaw == *container.Name { + // found container config for current container + // extract volume mounts from config + if v, ok := data["volume"]; ok { + containerVolumesRaw := v.([]interface{}) + containerVolumesConfig = &containerVolumesRaw + } + } + } + containerConfig["volume"] = flattenContainerVolumes(container.VolumeMounts, containerGroupVolumes, containerVolumesConfig) + } + containerConfigs = append(containerConfigs, containerConfig) } @@ -289,10 +369,51 @@ func flattenContainerEnvironmentVariables(input *[]containerinstance.Environment return output } -func expandContainerGroupContainers(d *schema.ResourceData) (*[]containerinstance.Container, *[]containerinstance.Port) { +func flattenContainerVolumes(volumeMounts *[]containerinstance.VolumeMount, containerGroupVolumes *[]containerinstance.Volume, containerVolumesConfig *[]interface{}) []interface{} { + volumeConfigs := make([]interface{}, 0) + + for _, vm := range *volumeMounts { + volumeConfig := make(map[string]interface{}) + volumeConfig["name"] = *vm.Name + volumeConfig["mount_path"] = *vm.MountPath + if vm.ReadOnly != nil { + volumeConfig["read_only"] = *vm.ReadOnly + } + + // find corresponding volume in container group volumes + // and use the data + for _, cgv := range *containerGroupVolumes { + if *cgv.Name == *vm.Name { + if cgv.AzureFile != nil { + volumeConfig["share_name"] = *(*cgv.AzureFile).ShareName + volumeConfig["storage_account_name"] = *(*cgv.AzureFile).StorageAccountName + // skip storage_account_key, is always nil + } + } + } + + // find corresponding volume in config + // and use the data + for _, cvr := range *containerVolumesConfig { + cv := cvr.(map[string]interface{}) + rawName := cv["name"].(string) + if *vm.Name == rawName { + storageAccountKey := cv["storage_account_key"].(string) + volumeConfig["storage_account_key"] = storageAccountKey + } + } + + volumeConfigs = append(volumeConfigs, volumeConfig) + } + + return volumeConfigs +} + +func expandContainerGroupContainers(d *schema.ResourceData) (*[]containerinstance.Container, *[]containerinstance.Port, *[]containerinstance.Volume) { containersConfig := d.Get("container").([]interface{}) containers := make([]containerinstance.Container, 0, len(containersConfig)) containerGroupPorts := make([]containerinstance.Port, 0, len(containersConfig)) + containerGroupVolumes := make([]containerinstance.Volume, 0) for _, containerConfig := range containersConfig { data := containerConfig.(map[string]interface{}) @@ -323,7 +444,6 @@ func expandContainerGroupContainers(d *schema.ResourceData) (*[]containerinstanc containerPort := containerinstance.ContainerPort{ Port: &port, } - container.Ports = &[]containerinstance.ContainerPort{containerPort} // container group port (port number + protocol) @@ -348,10 +468,18 @@ func expandContainerGroupContainers(d *schema.ResourceData) (*[]containerinstanc container.Command = &command } + if v, ok := data["volume"]; ok { + volumeMounts, containerGroupVolumesPartial := expandContainerVolumes(v) + container.VolumeMounts = volumeMounts + if containerGroupVolumesPartial != nil { + containerGroupVolumes = append(containerGroupVolumes, *containerGroupVolumesPartial...) + } + } + containers = append(containers, container) } - return &containers, &containerGroupPorts + return &containers, &containerGroupPorts, &containerGroupVolumes } func expandContainerEnvironmentVariables(input interface{}) *[]containerinstance.EnvironmentVariable { @@ -368,3 +496,47 @@ func expandContainerEnvironmentVariables(input interface{}) *[]containerinstance return &output } + +func expandContainerVolumes(input interface{}) (*[]containerinstance.VolumeMount, *[]containerinstance.Volume) { + volumesRaw := input.([]interface{}) + + if len(volumesRaw) == 0 { + return nil, nil + } + + volumeMounts := make([]containerinstance.VolumeMount, 0, len(volumesRaw)) + containerGroupVolumes := make([]containerinstance.Volume, 0, len(volumesRaw)) + + for _, volumeRaw := range volumesRaw { + volumeConfig := volumeRaw.(map[string]interface{}) + + name := volumeConfig["name"].(string) + mountPath := volumeConfig["mount_path"].(string) + readOnly := volumeConfig["read_only"].(bool) + shareName := volumeConfig["share_name"].(string) + storageAccountName := volumeConfig["storage_account_name"].(string) + storageAccountKey := volumeConfig["storage_account_key"].(string) + + vm := containerinstance.VolumeMount{ + Name: &name, + MountPath: &mountPath, + ReadOnly: &readOnly, + } + + volumeMounts = append(volumeMounts, vm) + + cv := containerinstance.Volume{ + Name: &name, + AzureFile: &containerinstance.AzureFileVolume{ + ShareName: &shareName, + ReadOnly: &readOnly, + StorageAccountName: &storageAccountName, + StorageAccountKey: &storageAccountKey, + }, + } + + containerGroupVolumes = append(containerGroupVolumes, cv) + } + + return &volumeMounts, &containerGroupVolumes +} diff --git a/azurerm/resource_arm_container_group_test.go b/azurerm/resource_arm_container_group_test.go index 375a8d6061cb..22d44251b8ac 100644 --- a/azurerm/resource_arm_container_group_test.go +++ b/azurerm/resource_arm_container_group_test.go @@ -84,6 +84,10 @@ func TestAccAzureRMContainerGroup_linuxComplete(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "container.0.environment_variables.%", "2"), resource.TestCheckResourceAttr(resourceName, "container.0.environment_variables.foo", "bar"), resource.TestCheckResourceAttr(resourceName, "container.0.environment_variables.foo1", "bar1"), + resource.TestCheckResourceAttr(resourceName, "container.0.volume.#", "1"), + resource.TestCheckResourceAttr(resourceName, "container.0.volume.0.mount_path", "/aci/logs"), + resource.TestCheckResourceAttr(resourceName, "container.0.volume.0.name", "logs"), + resource.TestCheckResourceAttr(resourceName, "container.0.volume.0.read_only", "false"), resource.TestCheckResourceAttr(resourceName, "os_type", "Linux"), ), }, @@ -164,7 +168,7 @@ resource "azurerm_container_group" "test" { } tags { - environment = "testing" + environment = "Testing" } } `, ri, location, ri) @@ -200,41 +204,7 @@ resource "azurerm_container_group" "test" { } tags { - environment = "testing" - } -} -`, ri, location, ri) -} - -func testAccAzureRMContainerGroup_linuxComplete(ri int, location string) string { - return fmt.Sprintf(` -resource "azurerm_resource_group" "test" { - name = "acctestRG-%d" - location = "%s" -} - -resource "azurerm_container_group" "test" { - name = "acctestcontainergroup-%d" - location = "${azurerm_resource_group.test.location}" - resource_group_name = "${azurerm_resource_group.test.name}" - ip_address_type = "public" - os_type = "linux" - - container { - name = "hw" - image = "microsoft/aci-helloworld:latest" - cpu = "0.5" - memory = "0.5" - port = "80" - environment_variables { - "foo" = "bar" - "foo1" = "bar1" - } - command = "/bin/bash -c ls" - } - - tags { - environment = "testing" + environment = "Testing" } } `, ri, location, ri) @@ -263,7 +233,7 @@ resource "azurerm_container_group" "test" { } tags { - environment = "testing" + environment = "Testing" } } `, ri, location, ri) @@ -297,12 +267,74 @@ resource "azurerm_container_group" "test" { } tags { - environment = "testing" + environment = "Testing" } } `, ri, location, ri) } +func testAccAzureRMContainerGroup_linuxComplete(ri int, location string) string { + return fmt.Sprintf(` + resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" + } + + resource "azurerm_storage_account" "test" { + name = "accsa%d" + resource_group_name = "${azurerm_resource_group.test.name}" + location = "${azurerm_resource_group.test.location}" + account_type = "Standard_LRS" + } + + resource "azurerm_storage_share" "test" { + name = "acctestss-%d" + + resource_group_name = "${azurerm_resource_group.test.name}" + storage_account_name = "${azurerm_storage_account.test.name}" + + quota = 50 + } + + resource "azurerm_container_group" "test" { + name = "acctestcontainergroup-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + ip_address_type = "public" + os_type = "linux" + + container { + name = "hf" + image = "seanmckenna/aci-hellofiles" + cpu = "1" + memory = "1.5" + port = "80" + protocol = "TCP" + + volume { + name = "logs" + mount_path = "/aci/logs" + read_only = false + share_name = "${azurerm_storage_share.test.name}" + storage_account_name = "${azurerm_storage_account.test.name}" + storage_account_key = "${azurerm_storage_account.test.primary_access_key}" + } + + environment_variables { + "foo" = "bar" + "foo1" = "bar1" + } + + command = "/bin/bash -c ls" + } + + tags { + environment = "Testing" + } + } +`, ri, location, ri, ri, ri) +} + func testCheckAzureRMContainerGroupExists(name string) resource.TestCheckFunc { return func(s *terraform.State) error { // Ensure we have enough information in state to look up in API diff --git a/azurerm/resource_arm_image.go b/azurerm/resource_arm_image.go index 6d04db4ddfeb..c5fa840a8e4e 100644 --- a/azurerm/resource_arm_image.go +++ b/azurerm/resource_arm_image.go @@ -43,7 +43,6 @@ func resourceArmImage() *schema.Resource { ForceNew: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ - "os_type": { Type: schema.TypeString, Optional: true, @@ -104,7 +103,7 @@ func resourceArmImage() *schema.Resource { Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ - "lun": &schema.Schema{ + "lun": { Type: schema.TypeInt, Optional: true, }, @@ -242,7 +241,7 @@ func resourceArmImageRead(d *schema.ResourceData, meta interface{}) error { d.SetId("") return nil } - return fmt.Errorf("[ERROR] Error making Read request on AzureRM Image %s (resource group %s): %+v", name, resGroup, err) + return fmt.Errorf("[ERROR] Error making Read request on AzureRM Image %q (resource group %q): %+v", name, resGroup, err) } d.Set("name", resp.Name) @@ -253,13 +252,15 @@ func resourceArmImageRead(d *schema.ResourceData, meta interface{}) error { if resp.SourceVirtualMachine != nil { d.Set("source_virtual_machine_id", resp.SourceVirtualMachine.ID) } else if resp.StorageProfile != nil { - if err := d.Set("os_disk", flattenAzureRmStorageProfileOsDisk(d, resp.StorageProfile)); err != nil { - return fmt.Errorf("[DEBUG] Error setting AzureRM Image OS Disk error: %#v", err) + if disk := resp.StorageProfile.OsDisk; disk != nil { + if err := d.Set("os_disk", flattenAzureRmImageOSDisk(d, disk)); err != nil { + return fmt.Errorf("[DEBUG] Error setting AzureRM Image OS Disk error: %+v", err) + } } - if resp.StorageProfile.DataDisks != nil { - if err := d.Set("data_disk", flattenAzureRmStorageProfileDataDisks(d, resp.StorageProfile)); err != nil { - return fmt.Errorf("[DEBUG] Error setting AzureRM Image Data Disks error: %#v", err) + if disks := resp.StorageProfile.DataDisks; disks != nil { + if err := d.Set("data_disk", flattenAzureRmImageDataDisks(d, disks)); err != nil { + return fmt.Errorf("[DEBUG] Error setting AzureRM Image Data Disks error: %+v", err) } } } @@ -288,42 +289,45 @@ func resourceArmImageDelete(d *schema.ResourceData, meta interface{}) error { return nil } -func flattenAzureRmStorageProfileOsDisk(d *schema.ResourceData, storageProfile *compute.ImageStorageProfile) []interface{} { +func flattenAzureRmImageOSDisk(d *schema.ResourceData, osDisk *compute.ImageOSDisk) []interface{} { result := make(map[string]interface{}) - if storageProfile.OsDisk != nil { - osDisk := *storageProfile.OsDisk - result["os_type"] = osDisk.OsType - result["os_state"] = osDisk.OsState - if osDisk.ManagedDisk != nil { - result["managed_disk_id"] = *osDisk.ManagedDisk.ID - } + + if disk := osDisk; disk != nil { result["blob_uri"] = *osDisk.BlobURI result["caching"] = string(osDisk.Caching) if osDisk.DiskSizeGB != nil { result["size_gb"] = *osDisk.DiskSizeGB } + if osDisk.ManagedDisk != nil { + result["managed_disk_id"] = *osDisk.ManagedDisk.ID + } + result["os_type"] = osDisk.OsType + result["os_state"] = osDisk.OsState } return []interface{}{result} } -func flattenAzureRmStorageProfileDataDisks(d *schema.ResourceData, storageProfile *compute.ImageStorageProfile) []interface{} { - disks := storageProfile.DataDisks - result := make([]interface{}, len(*disks)) - for i, disk := range *disks { - l := make(map[string]interface{}) - if disk.ManagedDisk != nil { - l["managed_disk_id"] = *disk.ManagedDisk.ID - } - l["blob_uri"] = disk.BlobURI - l["caching"] = string(disk.Caching) - if disk.DiskSizeGB != nil { - l["size_gb"] = *disk.DiskSizeGB - } - l["lun"] = *disk.Lun +func flattenAzureRmImageDataDisks(d *schema.ResourceData, diskImages *[]compute.ImageDataDisk) []interface{} { + result := make([]interface{}, 0) - result[i] = l + if images := diskImages; images != nil { + for i, disk := range *images { + l := make(map[string]interface{}) + l["blob_uri"] = disk.BlobURI + l["caching"] = string(disk.Caching) + if disk.DiskSizeGB != nil { + l["size_gb"] = *disk.DiskSizeGB + } + l["lun"] = *disk.Lun + if disk.ManagedDisk != nil { + l["managed_disk_id"] = *disk.ManagedDisk.ID + } + + result[i] = l + } } + return result } diff --git a/azurerm/resource_arm_key_vault.go b/azurerm/resource_arm_key_vault.go index 852e269ff4b1..7054935ddf5a 100644 --- a/azurerm/resource_arm_key_vault.go +++ b/azurerm/resource_arm_key_vault.go @@ -5,7 +5,13 @@ import ( "log" "regexp" + "time" + + "net" + "github.com/Azure/azure-sdk-for-go/arm/keyvault" + "github.com/hashicorp/go-getter/helper/url" + "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" "github.com/hashicorp/terraform/helper/validation" "github.com/satori/uuid" @@ -40,7 +46,7 @@ func resourceArmKeyVault() *schema.Resource { "resource_group_name": resourceGroupNameSchema(), "sku": { - Type: schema.TypeSet, + Type: schema.TypeList, Required: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -217,6 +223,17 @@ func resourceArmKeyVaultCreate(d *schema.ResourceData, meta interface{}) error { d.SetId(*read.ID) + if d.IsNewResource() { + if props := read.Properties; props != nil { + if vault := props.VaultURI; vault != nil { + err := resource.Retry(30*time.Second, checkKeyVaultDNSIsAvailable(*vault)) + if err != nil { + return err + } + } + } + } + return resourceArmKeyVaultRead(d, meta) } @@ -271,7 +288,7 @@ func resourceArmKeyVaultDelete(d *schema.ResourceData, meta interface{}) error { } func expandKeyVaultSku(d *schema.ResourceData) *keyvault.Sku { - skuSets := d.Get("sku").(*schema.Set).List() + skuSets := d.Get("sku").([]interface{}) sku := skuSets[0].(map[string]interface{}) return &keyvault.Sku{ @@ -383,3 +400,20 @@ func validateKeyVaultName(v interface{}, k string) (ws []string, errors []error) return } + +func checkKeyVaultDNSIsAvailable(vaultUri string) func() *resource.RetryError { + return func() *resource.RetryError { + uri, err := url.Parse(vaultUri) + if err != nil { + return resource.NonRetryableError(err) + } + + conn, err := net.Dial("tcp", fmt.Sprintf("%s:443", uri.Host)) + if err != nil { + return resource.RetryableError(err) + } + + _ = conn.Close() + return nil + } +} diff --git a/azurerm/resource_arm_key_vault_certificate.go b/azurerm/resource_arm_key_vault_certificate.go new file mode 100644 index 000000000000..ac343877a3fd --- /dev/null +++ b/azurerm/resource_arm_key_vault_certificate.go @@ -0,0 +1,496 @@ +package azurerm + +import ( + "fmt" + + "github.com/Azure/azure-sdk-for-go/dataplane/keyvault" + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func resourceArmKeyVaultCertificate() *schema.Resource { + return &schema.Resource{ + // TODO: support Updating once we have more information about what can be updated + Create: resourceArmKeyVaultCertificateCreate, + Read: resourceArmKeyVaultCertificateRead, + Delete: resourceArmKeyVaultCertificateDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validateKeyVaultChildName, + }, + + "vault_uri": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "certificate": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "contents": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "password": { + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, + }, + }, + }, + + "certificate_policy": { + Type: schema.TypeList, + Required: true, + ForceNew: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "issuer_parameters": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + }, + }, + }, + "key_properties": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "exportable": { + Type: schema.TypeBool, + Required: true, + ForceNew: true, + }, + "key_size": { + Type: schema.TypeInt, + Required: true, + ForceNew: true, + ValidateFunc: validateIntInSlice([]int{ + 2048, + 4096, + }), + }, + "key_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "reuse_key": { + Type: schema.TypeBool, + Required: true, + ForceNew: true, + }, + }, + }, + }, + "lifetime_action": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "action": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "action_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validation.StringInSlice([]string{ + string(keyvault.AutoRenew), + string(keyvault.EmailContacts), + }, false), + }, + }, + }, + }, + "trigger": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "days_before_expiry": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + ConflictsWith: []string{ + "certificate_policy.0.lifetime_action.0.trigger.0.lifetime_percentage", + }, + }, + "lifetime_percentage": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + ConflictsWith: []string{ + "certificate_policy.0.lifetime_action.0.trigger.0.days_before_expiry", + }, + }, + }, + }, + }, + }, + }, + }, + "secret_properties": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "content_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + }, + }, + }, + + "x509_certificate_properties": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "key_usage": { + Type: schema.TypeList, + Required: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + ValidateFunc: validation.StringInSlice([]string{ + string(keyvault.CRLSign), + string(keyvault.DataEncipherment), + string(keyvault.DecipherOnly), + string(keyvault.DigitalSignature), + string(keyvault.EncipherOnly), + string(keyvault.KeyAgreement), + string(keyvault.KeyCertSign), + string(keyvault.KeyEncipherment), + string(keyvault.NonRepudiation), + }, false), + }, + }, + "subject": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "validity_in_months": { + Type: schema.TypeInt, + Required: true, + ForceNew: true, + }, + }, + }, + }, + }, + }, + }, + + // Computed + "version": { + Type: schema.TypeString, + Computed: true, + }, + + "tags": tagsSchema(), + }, + } +} + +func resourceArmKeyVaultCertificateCreate(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).keyVaultManagementClient + + name := d.Get("name").(string) + keyVaultBaseUrl := d.Get("vault_uri").(string) + tags := d.Get("tags").(map[string]interface{}) + + policy := expandKeyVaultCertificatePolicy(d) + + if v, ok := d.GetOk("certificate"); ok { + // Import + certificate := expandKeyVaultCertificate(v) + importParameters := keyvault.CertificateImportParameters{ + Base64EncodedCertificate: utils.String(certificate.CertificateData), + Password: utils.String(certificate.CertificatePassword), + CertificatePolicy: &policy, + Tags: expandTags(tags), + } + _, err := client.ImportCertificate(keyVaultBaseUrl, name, importParameters) + if err != nil { + return err + } + } else { + // Generate new + parameters := keyvault.CertificateCreateParameters{ + CertificatePolicy: &policy, + Tags: expandTags(tags), + } + _, err := client.CreateCertificate(keyVaultBaseUrl, name, parameters) + if err != nil { + return err + } + } + + resp, err := client.GetCertificate(keyVaultBaseUrl, name, "") + if err != nil { + return err + } + + d.SetId(*resp.ID) + + return resourceArmKeyVaultCertificateRead(d, meta) +} + +func resourceArmKeyVaultCertificateRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).keyVaultManagementClient + + id, err := parseKeyVaultChildID(d.Id()) + if err != nil { + return err + } + + cert, err := client.GetCertificate(id.KeyVaultBaseUrl, id.Name, "") + + if err != nil { + if utils.ResponseWasNotFound(cert.Response) { + d.SetId("") + return nil + } + + return err + } + + d.Set("name", id.Name) + d.Set("vault_uri", id.KeyVaultBaseUrl) + + certificatePolicy := flattenKeyVaultCertificatePolicy(cert.Policy) + if err := d.Set("certificate_policy", certificatePolicy); err != nil { + return fmt.Errorf("Error flattening Key Vault Certificate Policy: %+v", err) + } + + // Computed + d.Set("version", id.Version) + flattenAndSetTags(d, cert.Tags) + + return nil +} + +func resourceArmKeyVaultCertificateDelete(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).keyVaultManagementClient + + id, err := parseKeyVaultChildID(d.Id()) + if err != nil { + return err + } + + resp, err := client.DeleteCertificate(id.KeyVaultBaseUrl, id.Name) + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + + return fmt.Errorf("Error deleting Certificate %q from Key Vault: %+v", id.Name, err) + } + + return nil +} + +func expandKeyVaultCertificatePolicy(d *schema.ResourceData) keyvault.CertificatePolicy { + policies := d.Get("certificate_policy").([]interface{}) + policyRaw := policies[0].(map[string]interface{}) + policy := keyvault.CertificatePolicy{} + + issuers := policyRaw["issuer_parameters"].([]interface{}) + issuer := issuers[0].(map[string]interface{}) + policy.IssuerParameters = &keyvault.IssuerParameters{ + Name: utils.String(issuer["name"].(string)), + } + + properties := policyRaw["key_properties"].([]interface{}) + props := properties[0].(map[string]interface{}) + policy.KeyProperties = &keyvault.KeyProperties{ + Exportable: utils.Bool(props["exportable"].(bool)), + KeySize: utils.Int32(int32(props["key_size"].(int))), + KeyType: utils.String(props["key_type"].(string)), + ReuseKey: utils.Bool(props["reuse_key"].(bool)), + } + + lifetimeActions := make([]keyvault.LifetimeAction, 0) + actions := policyRaw["lifetime_action"].([]interface{}) + for _, v := range actions { + action := v.(map[string]interface{}) + lifetimeAction := keyvault.LifetimeAction{} + + if v, ok := action["action"]; ok { + as := v.([]interface{}) + a := as[0].(map[string]interface{}) + lifetimeAction.Action = &keyvault.Action{ + ActionType: keyvault.ActionType(a["action_type"].(string)), + } + } + + if v, ok := action["trigger"]; ok { + triggers := v.([]interface{}) + trigger := triggers[0].(map[string]interface{}) + lifetimeAction.Trigger = &keyvault.Trigger{} + + d := trigger["days_before_expiry"].(int) + if d > 0 { + lifetimeAction.Trigger.DaysBeforeExpiry = utils.Int32(int32(d)) + } + + p := trigger["lifetime_percentage"].(int) + if p > 0 { + lifetimeAction.Trigger.LifetimePercentage = utils.Int32(int32(p)) + } + } + + lifetimeActions = append(lifetimeActions, lifetimeAction) + } + policy.LifetimeActions = &lifetimeActions + + secrets := policyRaw["secret_properties"].([]interface{}) + secret := secrets[0].(map[string]interface{}) + policy.SecretProperties = &keyvault.SecretProperties{ + ContentType: utils.String(secret["content_type"].(string)), + } + + certificateProperties := policyRaw["x509_certificate_properties"].([]interface{}) + for _, v := range certificateProperties { + cert := v.(map[string]interface{}) + + keyUsage := make([]keyvault.KeyUsageType, 0) + keys := cert["key_usage"].([]interface{}) + for _, key := range keys { + keyUsage = append(keyUsage, keyvault.KeyUsageType(key.(string))) + } + + policy.X509CertificateProperties = &keyvault.X509CertificateProperties{ + ValidityInMonths: utils.Int32(int32(cert["validity_in_months"].(int))), + Subject: utils.String(cert["subject"].(string)), + KeyUsage: &keyUsage, + } + } + + return policy +} + +func flattenKeyVaultCertificatePolicy(input *keyvault.CertificatePolicy) []interface{} { + policy := make(map[string]interface{}, 0) + + if params := input.IssuerParameters; params != nil { + issuerParams := make(map[string]interface{}, 0) + issuerParams["name"] = *params.Name + policy["issuer_parameters"] = []interface{}{issuerParams} + } + + // key properties + if props := input.KeyProperties; props != nil { + keyProps := make(map[string]interface{}, 0) + keyProps["exportable"] = *props.Exportable + keyProps["key_size"] = int(*props.KeySize) + keyProps["key_type"] = *props.KeyType + keyProps["reuse_key"] = *props.ReuseKey + + policy["key_properties"] = []interface{}{keyProps} + } + + // lifetime actions + lifetimeActions := make([]interface{}, 0) + if actions := input.LifetimeActions; actions != nil { + for _, action := range *actions { + lifetimeAction := make(map[string]interface{}, 0) + + actionOutput := make(map[string]interface{}, 0) + if act := action.Action; act != nil { + actionOutput["action_type"] = string(act.ActionType) + } + lifetimeAction["action"] = []interface{}{actionOutput} + + triggerOutput := make(map[string]interface{}, 0) + if trigger := action.Trigger; trigger != nil { + if days := trigger.DaysBeforeExpiry; days != nil { + triggerOutput["days_before_expiry"] = int(*trigger.DaysBeforeExpiry) + } + + if days := trigger.LifetimePercentage; days != nil { + triggerOutput["lifetime_percentage"] = int(*trigger.LifetimePercentage) + } + } + lifetimeAction["trigger"] = []interface{}{triggerOutput} + lifetimeActions = append(lifetimeActions, lifetimeAction) + } + } + policy["lifetime_action"] = lifetimeActions + + // secret properties + if props := input.SecretProperties; props != nil { + keyProps := make(map[string]interface{}, 0) + keyProps["content_type"] = *props.ContentType + + policy["secret_properties"] = []interface{}{keyProps} + } + + // x509 Certificate Properties + if props := input.X509CertificateProperties; props != nil { + certProps := make(map[string]interface{}, 0) + + usages := make([]string, 0) + for _, usage := range *props.KeyUsage { + usages = append(usages, string(usage)) + } + + certProps["key_usage"] = usages + certProps["subject"] = *props.Subject + certProps["validity_in_months"] = int(*props.ValidityInMonths) + + policy["x509_certificate_properties"] = []interface{}{certProps} + } + + return []interface{}{policy} +} + +type KeyVaultCertificateImportParameters struct { + CertificateData string + CertificatePassword string +} + +func expandKeyVaultCertificate(v interface{}) KeyVaultCertificateImportParameters { + certs := v.([]interface{}) + cert := certs[0].(map[string]interface{}) + + return KeyVaultCertificateImportParameters{ + CertificateData: cert["contents"].(string), + CertificatePassword: cert["password"].(string), + } +} diff --git a/azurerm/resource_arm_key_vault_certificate_test.go b/azurerm/resource_arm_key_vault_certificate_test.go new file mode 100644 index 000000000000..302e61f138ce --- /dev/null +++ b/azurerm/resource_arm_key_vault_certificate_test.go @@ -0,0 +1,365 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func TestAccAzureRMKeyVaultCertificate_basicImportPFX(t *testing.T) { + resourceName := "azurerm_key_vault_certificate.test" + rs := acctest.RandString(6) + config := testAccAzureRMKeyVaultCertificate_basicImportPFX(rs, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMKeyVaultCertificateDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMKeyVaultCertificateExists(resourceName), + ), + }, + }, + }) +} + +func TestAccAzureRMKeyVaultCertificate_basicGenerate(t *testing.T) { + resourceName := "azurerm_key_vault_certificate.test" + rs := acctest.RandString(6) + config := testAccAzureRMKeyVaultCertificate_basicGenerate(rs, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMKeyVaultCertificateDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMKeyVaultCertificateExists(resourceName), + ), + }, + }, + }) +} + +func TestAccAzureRMKeyVaultCertificate_basicGenerateTags(t *testing.T) { + resourceName := "azurerm_key_vault_certificate.test" + rs := acctest.RandString(6) + config := testAccAzureRMKeyVaultCertificate_basicGenerateTags(rs, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMKeyVaultCertificateDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMKeyVaultCertificateExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.hello", "world"), + ), + }, + }, + }) +} + +func testCheckAzureRMKeyVaultCertificateDestroy(s *terraform.State) error { + client := testAccProvider.Meta().(*ArmClient).keyVaultManagementClient + + for _, rs := range s.RootModule().Resources { + if rs.Type != "azurerm_key_vault_certificate" { + continue + } + + name := rs.Primary.Attributes["name"] + vaultBaseUrl := rs.Primary.Attributes["vault_uri"] + + // get the latest version + resp, err := client.GetCertificate(vaultBaseUrl, name, "") + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + return err + } + + return fmt.Errorf("Key Vault Certificate still exists:\n%#v", resp) + } + + return nil +} + +func testCheckAzureRMKeyVaultCertificateExists(name string) resource.TestCheckFunc { + return func(s *terraform.State) error { + // Ensure we have enough information in state to look up in API + rs, ok := s.RootModule().Resources[name] + if !ok { + return fmt.Errorf("Not found: %s", name) + } + name := rs.Primary.Attributes["name"] + vaultBaseUrl := rs.Primary.Attributes["vault_uri"] + + client := testAccProvider.Meta().(*ArmClient).keyVaultManagementClient + + resp, err := client.GetCertificate(vaultBaseUrl, name, "") + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Key Vault Certificate %q (resource group: %q) does not exist", name, vaultBaseUrl) + } + + return fmt.Errorf("Bad: Get on keyVaultManagementClient: %+v", err) + } + + return nil + } +} + +func testAccAzureRMKeyVaultCertificate_basicImportPFX(rString string, location string) string { + return fmt.Sprintf(` +data "azurerm_client_config" "current" {} + +resource "azurerm_resource_group" "test" { + name = "acctestrg-%s" + location = "%s" +} + +resource "azurerm_key_vault" "test" { + name = "acctestkeyvault%s" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + + sku { + name = "standard" + } + + access_policy { + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + object_id = "${data.azurerm_client_config.current.service_principal_object_id}" + + certificate_permissions = [ + "all", + ] + + key_permissions = [ + "all", + ] + + secret_permissions = [ + "all", + ] + } +} + +resource "azurerm_key_vault_certificate" "test" { + name = "acctestcert%s" + vault_uri = "${azurerm_key_vault.test.vault_uri}" + + certificate { + contents = "${base64encode(file("testdata/keyvaultcert.pfx"))}" + password = "" + } + + certificate_policy { + issuer_parameters { + name = "Self" + } + + key_properties { + exportable = true + key_size = 2048 + key_type = "RSA" + reuse_key = false + } + + secret_properties { + content_type = "application/x-pkcs12" + } + } +} +`, rString, location, rString, rString) +} + +func testAccAzureRMKeyVaultCertificate_basicGenerate(rString string, location string) string { + return fmt.Sprintf(` +data "azurerm_client_config" "current" {} + +resource "azurerm_resource_group" "test" { + name = "acctestrg-%s" + location = "%s" +} + +resource "azurerm_key_vault" "test" { + name = "acctestkeyvault%s" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + + sku { + name = "standard" + } + + access_policy { + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + object_id = "${data.azurerm_client_config.current.service_principal_object_id}" + + certificate_permissions = [ + "all", + ] + + key_permissions = [ + "all", + ] + + secret_permissions = [ + "all", + ] + } +} + +resource "azurerm_key_vault_certificate" "test" { + name = "acctestcert%s" + vault_uri = "${azurerm_key_vault.test.vault_uri}" + + certificate_policy { + issuer_parameters { + name = "Self" + } + + key_properties { + exportable = true + key_size = 2048 + key_type = "RSA" + reuse_key = true + } + + lifetime_action { + action { + action_type = "AutoRenew" + } + + trigger { + days_before_expiry = 30 + } + } + + secret_properties { + content_type = "application/x-pkcs12" + } + + x509_certificate_properties { + key_usage = [ + "cRLSign", + "dataEncipherment", + "digitalSignature", + "keyAgreement", + "keyCertSign", + "keyEncipherment", + ] + + subject = "CN=hello-world" + validity_in_months = 12 + } + } +} + +`, rString, location, rString, rString) +} +func testAccAzureRMKeyVaultCertificate_basicGenerateTags(rString string, location string) string { + return fmt.Sprintf(` +data "azurerm_client_config" "current" {} + +resource "azurerm_resource_group" "test" { + name = "acctestrg-%s" + location = "%s" +} + +resource "azurerm_key_vault" "test" { + name = "acctestkeyvault%s" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + + sku { + name = "standard" + } + + access_policy { + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + object_id = "${data.azurerm_client_config.current.service_principal_object_id}" + + certificate_permissions = [ + "all", + ] + + key_permissions = [ + "all", + ] + + secret_permissions = [ + "all", + ] + } +} + +resource "azurerm_key_vault_certificate" "test" { + name = "acctestcert%s" + vault_uri = "${azurerm_key_vault.test.vault_uri}" + + certificate_policy { + issuer_parameters { + name = "Self" + } + + key_properties { + exportable = true + key_size = 2048 + key_type = "RSA" + reuse_key = true + } + + lifetime_action { + action { + action_type = "AutoRenew" + } + + trigger { + days_before_expiry = 30 + } + } + + secret_properties { + content_type = "application/x-pkcs12" + } + + x509_certificate_properties { + key_usage = [ + "cRLSign", + "dataEncipherment", + "digitalSignature", + "keyAgreement", + "keyCertSign", + "keyEncipherment", + ] + + subject = "CN=hello-world" + validity_in_months = 12 + } + } + + tags { + "hello" = "world" + } +} + +`, rString, location, rString, rString) +} diff --git a/azurerm/resource_arm_key_vault_key.go b/azurerm/resource_arm_key_vault_key.go index f73264446c56..f71b63f4bf84 100644 --- a/azurerm/resource_arm_key_vault_key.go +++ b/azurerm/resource_arm_key_vault_key.go @@ -3,8 +3,6 @@ package azurerm import ( "fmt" "log" - "net/url" - "strings" "github.com/Azure/azure-sdk-for-go/dataplane/keyvault" "github.com/hashicorp/terraform/helper/schema" @@ -139,7 +137,7 @@ func resourceArmKeyVaultKeyUpdate(d *schema.ResourceData, meta interface{}) erro client := meta.(*ArmClient).keyVaultManagementClient log.Print("[INFO] preparing arguments for AzureRM KeyVault Key update.") - id, err := parseKeyVaultKeyID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -166,7 +164,7 @@ func resourceArmKeyVaultKeyUpdate(d *schema.ResourceData, meta interface{}) erro func resourceArmKeyVaultKeyRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient).keyVaultManagementClient - id, err := parseKeyVaultKeyID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -201,7 +199,7 @@ func resourceArmKeyVaultKeyRead(d *schema.ResourceData, meta interface{}) error func resourceArmKeyVaultKeyDelete(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient).keyVaultManagementClient - id, err := parseKeyVaultKeyID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -211,45 +209,6 @@ func resourceArmKeyVaultKeyDelete(d *schema.ResourceData, meta interface{}) erro return err } -func parseKeyVaultKeyID(id string) (*KeyVaultKey, error) { - // example: https://tharvey-keyvault.vault.azure.net/keys/bird/fdf067c93bbb4b22bff4d8b7a9a56217 - idURL, err := url.ParseRequestURI(id) - if err != nil { - return nil, fmt.Errorf("Cannot parse Azure KeyVault Key Id: %q", err) - } - - path := idURL.Path - - path = strings.TrimSpace(path) - if strings.HasPrefix(path, "/") { - path = path[1:] - } - - if strings.HasSuffix(path, "/") { - path = path[:len(path)-1] - } - - components := strings.Split(path, "/") - - if len(components) != 3 { - return nil, fmt.Errorf("Azure KeyVault Key Id should have 3 segments, got %d: %q", len(components), path) - } - - key := KeyVaultKey{ - KeyVaultBaseUrl: fmt.Sprintf("%s://%s/", idURL.Scheme, idURL.Host), - Name: components[1], - Version: components[2], - } - - return &key, nil -} - -type KeyVaultKey struct { - KeyVaultBaseUrl string - Name string - Version string -} - func expandKeyVaultKeyOptions(d *schema.ResourceData) *[]keyvault.JSONWebKeyOperation { options := d.Get("key_opts").([]interface{}) results := make([]keyvault.JSONWebKeyOperation, 0, len(options)) diff --git a/azurerm/resource_arm_key_vault_secret.go b/azurerm/resource_arm_key_vault_secret.go index 7242871023bd..3a661712c1f6 100644 --- a/azurerm/resource_arm_key_vault_secret.go +++ b/azurerm/resource_arm_key_vault_secret.go @@ -3,9 +3,6 @@ package azurerm import ( "fmt" "log" - "net/url" - "regexp" - "strings" "github.com/Azure/azure-sdk-for-go/dataplane/keyvault" "github.com/hashicorp/terraform/helper/schema" @@ -97,7 +94,7 @@ func resourceArmKeyVaultSecretUpdate(d *schema.ResourceData, meta interface{}) e client := meta.(*ArmClient).keyVaultManagementClient log.Print("[INFO] preparing arguments for AzureRM KeyVault Secret update.") - id, err := parseKeyVaultSecretID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -121,7 +118,7 @@ func resourceArmKeyVaultSecretUpdate(d *schema.ResourceData, meta interface{}) e // "" indicates the latest version read, err := client.GetSecret(id.KeyVaultBaseUrl, id.Name, "") - id, err = parseKeyVaultSecretID(*read.ID) + id, err = parseKeyVaultChildID(*read.ID) if err != nil { return err } @@ -146,7 +143,7 @@ func resourceArmKeyVaultSecretUpdate(d *schema.ResourceData, meta interface{}) e func resourceArmKeyVaultSecretRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient).keyVaultManagementClient - id, err := parseKeyVaultSecretID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -162,7 +159,7 @@ func resourceArmKeyVaultSecretRead(d *schema.ResourceData, meta interface{}) err } // the version may have changed, so parse the updated id - respID, err := parseKeyVaultSecretID(*resp.ID) + respID, err := parseKeyVaultChildID(*resp.ID) if err != nil { return err } @@ -180,7 +177,7 @@ func resourceArmKeyVaultSecretRead(d *schema.ResourceData, meta interface{}) err func resourceArmKeyVaultSecretDelete(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient).keyVaultManagementClient - id, err := parseKeyVaultSecretID(d.Id()) + id, err := parseKeyVaultChildID(d.Id()) if err != nil { return err } @@ -189,52 +186,3 @@ func resourceArmKeyVaultSecretDelete(d *schema.ResourceData, meta interface{}) e return err } - -func parseKeyVaultSecretID(id string) (*SecretID, error) { - // example: https://tharvey-keyvault.vault.azure.net/secrets/bird/fdf067c93bbb4b22bff4d8b7a9a56217 - idURL, err := url.ParseRequestURI(id) - if err != nil { - return nil, fmt.Errorf("Cannot parse Azure KeyVault Secret Id: %s", err) - } - - path := idURL.Path - - path = strings.TrimSpace(path) - if strings.HasPrefix(path, "/") { - path = path[1:] - } - - if strings.HasSuffix(path, "/") { - path = path[:len(path)-1] - } - - components := strings.Split(path, "/") - - if len(components) != 3 { - return nil, fmt.Errorf("Azure KeyVault Secret Id should have 3 segments, got %d: '%s'", len(components), path) - } - - secretID := SecretID{ - KeyVaultBaseUrl: fmt.Sprintf("%s://%s/", idURL.Scheme, idURL.Host), - Name: components[1], - Version: components[2], - } - - return &secretID, nil -} - -type SecretID struct { - KeyVaultBaseUrl string - Name string - Version string -} - -func validateKeyVaultChildName(v interface{}, k string) (ws []string, es []error) { - value := v.(string) - - if matched := regexp.MustCompile(`^[0-9a-zA-Z-]+$`).Match([]byte(value)); !matched { - es = append(es, fmt.Errorf("%q may only contain alphanumeric characters and dashes", k)) - } - - return -} diff --git a/azurerm/resource_arm_key_vault_secret_test.go b/azurerm/resource_arm_key_vault_secret_test.go index 99e1ea2edb45..6cdec70129f0 100644 --- a/azurerm/resource_arm_key_vault_secret_test.go +++ b/azurerm/resource_arm_key_vault_secret_test.go @@ -10,117 +10,6 @@ import ( "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) -func TestAccAzureRMKeyVaultChild_validateName(t *testing.T) { - cases := []struct { - Input string - ExpectError bool - }{ - { - Input: "", - ExpectError: true, - }, - { - Input: "hello", - ExpectError: false, - }, - { - Input: "hello-world", - ExpectError: false, - }, - { - Input: "hello-world-21", - ExpectError: false, - }, - { - Input: "hello_world_21", - ExpectError: true, - }, - { - Input: "Hello-World", - ExpectError: false, - }, - { - Input: "20202020", - ExpectError: false, - }, - { - Input: "ABC123!@£", - ExpectError: true, - }, - } - - for _, tc := range cases { - _, errors := validateKeyVaultChildName(tc.Input, "") - - hasError := len(errors) > 0 - - if tc.ExpectError && !hasError { - t.Fatalf("Expected the Key Vault Child Name to trigger a validation error for '%s'", tc.Input) - } - } -} - -func TestAccAzureRMKeyVaultSecret_parseID(t *testing.T) { - cases := []struct { - Input string - Expected SecretID - ExpectError bool - }{ - { - Input: "", - ExpectError: true, - }, - { - Input: "https://my-keyvault.vault.azure.net/secrets", - ExpectError: true, - }, - { - Input: "https://my-keyvault.vault.azure.net/secrets/bird", - ExpectError: true, - }, - { - Input: "https://my-keyvault.vault.azure.net/secrets/bird/fdf067c93bbb4b22bff4d8b7a9a56217", - ExpectError: false, - Expected: SecretID{ - Name: "bird", - KeyVaultBaseUrl: "https://my-keyvault.vault.azure.net/", - Version: "fdf067c93bbb4b22bff4d8b7a9a56217", - }, - }, - { - Input: "https://my-keyvault.vault.azure.net/secrets/bird/fdf067c93bbb4b22bff4d8b7a9a56217/XXX", - ExpectError: true, - }, - } - - for _, tc := range cases { - secretId, err := parseKeyVaultSecretID(tc.Input) - if err != nil { - if !tc.ExpectError { - t.Fatalf("Got error for ID '%s': %+v", tc.Input, err) - } - - return - } - - if secretId == nil { - t.Fatalf("Expected a SecretID to be parsed for ID '%s', got nil.", tc.Input) - } - - if tc.Expected.KeyVaultBaseUrl != secretId.KeyVaultBaseUrl { - t.Fatalf("Expected 'KeyVaultBaseUrl' to be '%s', got '%s' for ID '%s'", tc.Expected.KeyVaultBaseUrl, secretId.KeyVaultBaseUrl, tc.Input) - } - - if tc.Expected.Name != secretId.Name { - t.Fatalf("Expected 'Version' to be '%s', got '%s' for ID '%s'", tc.Expected.Name, secretId.Name, tc.Input) - } - - if tc.Expected.Version != secretId.Version { - t.Fatalf("Expected 'Version' to be '%s', got '%s' for ID '%s'", tc.Expected.Version, secretId.Version, tc.Input) - } - } -} - func TestAccAzureRMKeyVaultSecret_basic(t *testing.T) { resourceName := "azurerm_key_vault_secret.test" rs := acctest.RandString(6) diff --git a/azurerm/resource_arm_managed_disk.go b/azurerm/resource_arm_managed_disk.go index 398af4b5abbf..c0063ad8f416 100644 --- a/azurerm/resource_arm_managed_disk.go +++ b/azurerm/resource_arm_managed_disk.go @@ -47,9 +47,10 @@ func resourceArmManagedDisk() *schema.Resource { Required: true, ForceNew: true, ValidateFunc: validation.StringInSlice([]string{ - string(disk.Import), - string(disk.Empty), string(disk.Copy), + string(disk.Empty), + string(disk.FromImage), + string(disk.Import), }, true), }, @@ -66,6 +67,12 @@ func resourceArmManagedDisk() *schema.Resource { ForceNew: true, }, + "image_reference_id": { + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, + "os_type": { Type: schema.TypeString, Optional: true, @@ -77,10 +84,12 @@ func resourceArmManagedDisk() *schema.Resource { "disk_size_gb": { Type: schema.TypeInt, - Required: true, + Optional: true, ValidateFunc: validateDiskSizeGB, }, + "encryption_settings": encryptionSettingsSchema(), + "tags": tagsSchema(), }, } @@ -125,27 +134,39 @@ func resourceArmManagedDiskCreate(d *schema.ResourceData, meta interface{}) erro diskSize := int32(v.(int)) createDisk.Properties.DiskSizeGB = &diskSize } - createOption := d.Get("create_option").(string) - creationData := &disk.CreationData{ + createOption := d.Get("create_option").(string) + createDisk.CreationData = &disk.CreationData{ CreateOption: disk.CreateOption(createOption), } if strings.EqualFold(createOption, string(disk.Import)) { if sourceUri := d.Get("source_uri").(string); sourceUri != "" { - creationData.SourceURI = &sourceUri + createDisk.CreationData.SourceURI = &sourceUri } else { return fmt.Errorf("[ERROR] source_uri must be specified when create_option is `%s`", disk.Import) } } else if strings.EqualFold(createOption, string(disk.Copy)) { if sourceResourceId := d.Get("source_resource_id").(string); sourceResourceId != "" { - creationData.SourceResourceID = &sourceResourceId + createDisk.CreationData.SourceResourceID = &sourceResourceId } else { return fmt.Errorf("[ERROR] source_resource_id must be specified when create_option is `%s`", disk.Copy) } + } else if strings.EqualFold(createOption, string(disk.FromImage)) { + if imageReferenceId := d.Get("image_reference_id").(string); imageReferenceId != "" { + createDisk.CreationData.ImageReference = &disk.ImageDiskReference{ + ID: utils.String(imageReferenceId), + } + } else { + return fmt.Errorf("[ERROR] image_reference_id must be specified when create_option is `%s`", disk.FromImage) + } } - createDisk.CreationData = creationData + if v, ok := d.GetOk("encryption_settings"); ok { + encryptionSettings := v.([]interface{}) + settings := encryptionSettings[0].(map[string]interface{}) + createDisk.EncryptionSettings = expandManagedDiskEncryptionSettings(settings) + } _, diskErr := diskClient.CreateOrUpdate(resGroup, name, createDisk, make(chan struct{})) err := <-diskErr @@ -197,6 +218,13 @@ func resourceArmManagedDiskRead(d *schema.ResourceData, meta interface{}) error flattenAzureRmManagedDiskCreationData(d, resp.CreationData) } + if settings := resp.EncryptionSettings; settings != nil { + flattened := flattenManagedDiskEncryptionSettings(settings) + if err := d.Set("encryption_settings", flattened); err != nil { + return fmt.Errorf("Error flattening encryption settings: %+v", err) + } + } + flattenAndSetTags(d, resp.Tags) return nil @@ -212,10 +240,13 @@ func resourceArmManagedDiskDelete(d *schema.ResourceData, meta interface{}) erro resGroup := id.ResourceGroup name := id.Path["disks"] - _, error := diskClient.Delete(resGroup, name, make(chan struct{})) - err = <-error + deleteResp, deleteErr := diskClient.Delete(resGroup, name, make(chan struct{})) + resp := <-deleteResp + err = <-deleteErr if err != nil { - return err + if !utils.ResponseWasNotFound(resp.Response) { + return err + } } return nil @@ -233,6 +264,12 @@ func flattenAzureRmManagedDiskProperties(d *schema.ResourceData, properties *dis func flattenAzureRmManagedDiskCreationData(d *schema.ResourceData, creationData *disk.CreationData) { d.Set("create_option", string(creationData.CreateOption)) + if ref := creationData.ImageReference; ref != nil { + d.Set("image_reference_id", *ref.ID) + } + if id := creationData.SourceResourceID; id != nil { + d.Set("source_resource_id", *id) + } if creationData.SourceURI != nil { d.Set("source_uri", *creationData.SourceURI) } diff --git a/azurerm/resource_arm_managed_disk_test.go b/azurerm/resource_arm_managed_disk_test.go index f6e1683e544b..b2f2f2985c6b 100644 --- a/azurerm/resource_arm_managed_disk_test.go +++ b/azurerm/resource_arm_managed_disk_test.go @@ -82,6 +82,25 @@ func TestAccAzureRMManagedDisk_copy(t *testing.T) { }) } +func TestAccAzureRMManagedDisk_fromPlatformImage(t *testing.T) { + var d disk.Model + ri := acctest.RandInt() + config := testAccAzureRMManagedDisk_platformImage(ri, testLocation()) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMManagedDiskDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMManagedDiskExists("azurerm_managed_disk.test", &d, true), + ), + }, + }, + }) +} + func TestAccAzureRMManagedDisk_update(t *testing.T) { var d disk.Model @@ -119,6 +138,36 @@ func TestAccAzureRMManagedDisk_update(t *testing.T) { }) } +func TestAccAzureRMManagedDisk_encryption(t *testing.T) { + var d disk.Model + + resourceName := "azurerm_managed_disk.test" + ri := acctest.RandInt() + rs := acctest.RandString(4) + preConfig := testAccAzureRMManagedDisk_encryption(ri, rs, testLocation()) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMManagedDiskDestroy, + Steps: []resource.TestStep{ + { + Config: preConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMManagedDiskExists(resourceName, &d, true), + resource.TestCheckResourceAttr(resourceName, "encryption_settings.#", "1"), + resource.TestCheckResourceAttr(resourceName, "encryption_settings.0.enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "encryption_settings.0.disk_encryption_key.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "encryption_settings.0.disk_encryption_key.0.secret_url"), + resource.TestCheckResourceAttrSet(resourceName, "encryption_settings.0.disk_encryption_key.0.source_vault_id"), + resource.TestCheckResourceAttr(resourceName, "encryption_settings.0.key_encryption_key.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "encryption_settings.0.key_encryption_key.0.key_url"), + resource.TestCheckResourceAttrSet(resourceName, "encryption_settings.0.key_encryption_key.0.source_vault_id"), + ), + }, + }, + }) +} + func TestAccAzureRMManagedDisk_NonStandardCasing(t *testing.T) { var d disk.Model ri := acctest.RandInt() @@ -370,3 +419,113 @@ resource "azurerm_managed_disk" "test" { } }`, rInt, location, rInt) } + +func testAccAzureRMManagedDisk_platformImage(rInt int, location string) string { + return fmt.Sprintf(` +data "azurerm_platform_image" "test" { + location = "%s" + publisher = "Canonical" + offer = "UbuntuServer" + sku = "16.04-LTS" +} + +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} +resource "azurerm_managed_disk" "test" { + name = "acctestd-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + os_type = "Linux" + create_option = "FromImage" + image_reference_id = "${data.azurerm_platform_image.test.id}" + storage_account_type = "Standard_LRS" +} +`, location, rInt, location, rInt) +} + +func testAccAzureRMManagedDisk_encryption(rInt int, rString string, location string) string { + return fmt.Sprintf(` +data "azurerm_client_config" "current" {} + +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + +resource "azurerm_key_vault" "test" { + name = "acctestkv-%s" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + + sku { + name = "premium" + } + + access_policy { + tenant_id = "${data.azurerm_client_config.current.tenant_id}" + object_id = "${data.azurerm_client_config.current.service_principal_object_id}" + + key_permissions = [ + "all", + ] + + secret_permissions = [ + "all", + ] + } + + enabled_for_disk_encryption = true + + tags { + environment = "Production" + } +} + +resource "azurerm_key_vault_secret" "test" { + name = "secret-%s" + value = "szechuan" + vault_uri = "${azurerm_key_vault.test.vault_uri}" +} + +resource "azurerm_key_vault_key" "test" { + name = "key-%s" + vault_uri = "${azurerm_key_vault.test.vault_uri}" + key_type = "EC" + key_size = 2048 + + key_opts = [ + "sign", + "verify", + ] +} + +resource "azurerm_managed_disk" "test" { + name = "acctestd-%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + storage_account_type = "Standard_LRS" + create_option = "Empty" + disk_size_gb = "1" + + encryption_settings { + enabled = true + disk_encryption_key { + secret_url = "${azurerm_key_vault_secret.test.id}" + source_vault_id = "${azurerm_key_vault.test.id}" + } + key_encryption_key { + key_url = "${azurerm_key_vault_key.test.id}" + source_vault_id = "${azurerm_key_vault.test.id}" + } + } + + tags { + environment = "acctest" + cost-center = "ops" + } +} +`, rInt, location, rString, rString, rString, rInt) +} diff --git a/azurerm/resource_arm_network_interface.go b/azurerm/resource_arm_network_interface.go index af46d689e491..3070df7e665c 100644 --- a/azurerm/resource_arm_network_interface.go +++ b/azurerm/resource_arm_network_interface.go @@ -151,6 +151,14 @@ func resourceArmNetworkInterface() *schema.Resource { Computed: true, }, + "private_ip_addresses": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "tags": tagsSchema(), }, } @@ -159,7 +167,7 @@ func resourceArmNetworkInterface() *schema.Resource { func resourceArmNetworkInterfaceCreateUpdate(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient).ifaceClient - log.Printf("[INFO] preparing arguments for Azure ARM Network Interface creation.") + log.Printf("[INFO] preparing arguments for AzureRM Network Interface creation.") name := d.Get("name").(string) location := d.Get("location").(string) @@ -231,8 +239,8 @@ func resourceArmNetworkInterfaceCreateUpdate(d *schema.ResourceData, meta interf Tags: expandTags(tags), } - _, error := client.CreateOrUpdate(resGroup, name, iface, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, name, iface, make(chan struct{})) + err := <-createErr if err != nil { return err } @@ -242,7 +250,7 @@ func resourceArmNetworkInterfaceCreateUpdate(d *schema.ResourceData, meta interf return err } if read.ID == nil { - return fmt.Errorf("Cannot read NIC %s (resource group %s) ID", name, resGroup) + return fmt.Errorf("Cannot read NIC %q (resource group %q) ID", name, resGroup) } d.SetId(*read.ID) @@ -278,15 +286,23 @@ func resourceArmNetworkInterfaceRead(d *schema.ResourceData, meta interface{}) e } if iface.IPConfigurations != nil && len(*iface.IPConfigurations) > 0 { - var privateIPAddress *string - ///TODO: Change this to a loop when https://github.com/Azure/azure-sdk-for-go/issues/259 is fixed - if (*iface.IPConfigurations)[0].InterfaceIPConfigurationPropertiesFormat != nil { - privateIPAddress = (*iface.IPConfigurations)[0].InterfaceIPConfigurationPropertiesFormat.PrivateIPAddress - } + configs := *iface.IPConfigurations - if *privateIPAddress != "" { + if configs[0].InterfaceIPConfigurationPropertiesFormat != nil { + privateIPAddress := configs[0].InterfaceIPConfigurationPropertiesFormat.PrivateIPAddress d.Set("private_ip_address", *privateIPAddress) } + + addresses := make([]interface{}, 0) + for _, config := range configs { + if config.InterfaceIPConfigurationPropertiesFormat != nil { + addresses = append(addresses, *config.InterfaceIPConfigurationPropertiesFormat.PrivateIPAddress) + } + } + + if err := d.Set("private_ip_addresses", addresses); err != nil { + return err + } } if iface.IPConfigurations != nil { diff --git a/azurerm/resource_arm_network_interface_test.go b/azurerm/resource_arm_network_interface_test.go index 8fa097c5ff67..e32cee604f37 100644 --- a/azurerm/resource_arm_network_interface_test.go +++ b/azurerm/resource_arm_network_interface_test.go @@ -2,7 +2,6 @@ package azurerm import ( "fmt" - "net/http" "testing" "github.com/hashicorp/terraform/helper/acctest" @@ -259,18 +258,17 @@ func testCheckAzureRMNetworkInterfaceExists(name string) resource.TestCheckFunc name := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for availability set: %s", name) + return fmt.Errorf("Bad: no resource group found in state for availability set: %q", name) } - conn := testAccProvider.Meta().(*ArmClient).ifaceClient - - resp, err := conn.Get(resourceGroup, name, "") + client := testAccProvider.Meta().(*ArmClient).ifaceClient + resp, err := client.Get(resourceGroup, name, "") if err != nil { - return fmt.Errorf("Bad: Get on ifaceClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Network Interface %q (resource group: %q) does not exist", name, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Network Interface %q (resource group: %q) does not exist", name, resourceGroup) + return fmt.Errorf("Bad: Get on ifaceClient: %+v", err) } return nil @@ -288,7 +286,7 @@ func testCheckAzureRMNetworkInterfaceDisappears(name string) resource.TestCheckF name := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for availability set: %s", name) + return fmt.Errorf("Bad: no resource group found in state for availability set: %q", name) } conn := testAccProvider.Meta().(*ArmClient).ifaceClient @@ -304,7 +302,7 @@ func testCheckAzureRMNetworkInterfaceDisappears(name string) resource.TestCheckF } func testCheckAzureRMNetworkInterfaceDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*ArmClient).ifaceClient + client := testAccProvider.Meta().(*ArmClient).ifaceClient for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_network_interface" { @@ -314,8 +312,7 @@ func testCheckAzureRMNetworkInterfaceDestroy(s *terraform.State) error { name := rs.Primary.Attributes["name"] resourceGroup := rs.Primary.Attributes["resource_group_name"] - resp, err := conn.Get(resourceGroup, name, "") - + resp, err := client.Get(resourceGroup, name, "") if err != nil { if utils.ResponseWasNotFound(resp.Response) { return nil diff --git a/azurerm/resource_arm_network_security_group.go b/azurerm/resource_arm_network_security_group.go index d3e10c4615eb..098deb001c97 100644 --- a/azurerm/resource_arm_network_security_group.go +++ b/azurerm/resource_arm_network_security_group.go @@ -1,15 +1,14 @@ package azurerm import ( - "bytes" "fmt" "log" "time" "github.com/Azure/azure-sdk-for-go/arm/network" - "github.com/hashicorp/terraform/helper/hashcode" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) @@ -37,7 +36,7 @@ func resourceArmNetworkSecurityGroup() *schema.Resource { "resource_group_name": resourceGroupNameSchema(), "security_rule": { - Type: schema.TypeSet, + Type: schema.TypeList, Optional: true, Computed: true, Elem: &schema.Resource{ @@ -48,16 +47,9 @@ func resourceArmNetworkSecurityGroup() *schema.Resource { }, "description": { - Type: schema.TypeString, - Optional: true, - ValidateFunc: func(v interface{}, k string) (ws []string, errors []error) { - value := v.(string) - if len(value) > 140 { - errors = append(errors, fmt.Errorf( - "The network security rule description can be no longer than 140 chars")) - } - return - }, + Type: schema.TypeString, + Optional: true, + ValidateFunc: validateStringLength(140), }, "protocol": { @@ -88,32 +80,32 @@ func resourceArmNetworkSecurityGroup() *schema.Resource { }, "access": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateNetworkSecurityRuleAccess, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.SecurityRuleAccessAllow), + string(network.SecurityRuleAccessDeny), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "priority": { - Type: schema.TypeInt, - Required: true, - ValidateFunc: func(v interface{}, k string) (ws []string, errors []error) { - value := v.(int) - if value < 100 || value > 4096 { - errors = append(errors, fmt.Errorf( - "The `priority` can only be between 100 and 4096")) - } - return - }, + Type: schema.TypeInt, + Required: true, + ValidateFunc: validation.IntBetween(100, 4096), }, "direction": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateNetworkSecurityRuleDirection, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.SecurityRuleDirectionInbound), + string(network.SecurityRuleDirectionOutbound), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, }, }, - Set: resourceArmNetworkSecurityGroupRuleHash, }, "tags": tagsSchema(), @@ -122,8 +114,7 @@ func resourceArmNetworkSecurityGroup() *schema.Resource { } func resourceArmNetworkSecurityGroupCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - secClient := client.secGroupClient + client := meta.(*ArmClient).secGroupClient name := d.Get("name").(string) location := d.Get("location").(string) @@ -132,7 +123,7 @@ func resourceArmNetworkSecurityGroupCreate(d *schema.ResourceData, meta interfac sgRules, sgErr := expandAzureRmSecurityRules(d) if sgErr != nil { - return fmt.Errorf("Error Building list of Network Security Group Rules: %s", sgErr) + return fmt.Errorf("Error Building list of Network Security Group Rules: %+v", sgErr) } azureRMLockByName(name, networkSecurityGroupResourceName) @@ -147,21 +138,21 @@ func resourceArmNetworkSecurityGroupCreate(d *schema.ResourceData, meta interfac Tags: expandTags(tags), } - _, error := secClient.CreateOrUpdate(resGroup, name, sg, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, name, sg, make(chan struct{})) + err := <-createErr if err != nil { return err } - read, err := secClient.Get(resGroup, name, "") + read, err := client.Get(resGroup, name, "") if err != nil { return err } if read.ID == nil { - return fmt.Errorf("Cannot read Virtual Network %s (resource group %s) ID", name, resGroup) + return fmt.Errorf("Cannot read Virtual Network %q (resource group %q) ID", name, resGroup) } - log.Printf("[DEBUG] Waiting for NSG (%s) to become available", d.Get("name")) + log.Printf("[DEBUG] Waiting for NSG (%q) to become available", name) stateConf := &resource.StateChangeConf{ Pending: []string{"Updating", "Creating"}, Target: []string{"Succeeded"}, @@ -170,7 +161,7 @@ func resourceArmNetworkSecurityGroupCreate(d *schema.ResourceData, meta interfac MinTimeout: 15 * time.Second, } if _, err := stateConf.WaitForState(); err != nil { - return fmt.Errorf("Error waiting for NSG (%s) to become available: %s", d.Get("name"), err) + return fmt.Errorf("Error waiting for NSG (%q) to become available: %+v", name, err) } d.SetId(*read.ID) @@ -179,7 +170,7 @@ func resourceArmNetworkSecurityGroupCreate(d *schema.ResourceData, meta interfac } func resourceArmNetworkSecurityGroupRead(d *schema.ResourceData, meta interface{}) error { - secGroupClient := meta.(*ArmClient).secGroupClient + client := meta.(*ArmClient).secGroupClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -188,29 +179,30 @@ func resourceArmNetworkSecurityGroupRead(d *schema.ResourceData, meta interface{ resGroup := id.ResourceGroup name := id.Path["networkSecurityGroups"] - resp, err := secGroupClient.Get(resGroup, name, "") + resp, err := client.Get(resGroup, name, "") if err != nil { if utils.ResponseWasNotFound(resp.Response) { d.SetId("") return nil } - return fmt.Errorf("Error making Read request on Azure Network Security Group %s: %s", name, err) + return fmt.Errorf("Error making Read request on Azure Network Security Group %q: %+v", name, err) } - if resp.SecurityGroupPropertiesFormat.SecurityRules != nil { - d.Set("security_rule", flattenNetworkSecurityRules(resp.SecurityGroupPropertiesFormat.SecurityRules)) - } - - d.Set("resource_group_name", resGroup) d.Set("name", resp.Name) + d.Set("resource_group_name", resGroup) d.Set("location", azureRMNormalizeLocation(*resp.Location)) + + if props := resp.SecurityGroupPropertiesFormat; props != nil { + d.Set("security_rule", flattenNetworkSecurityRules(props.SecurityRules)) + } + flattenAndSetTags(d, resp.Tags) return nil } func resourceArmNetworkSecurityGroupDelete(d *schema.ResourceData, meta interface{}) error { - secGroupClient := meta.(*ArmClient).secGroupClient + client := meta.(*ArmClient).secGroupClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -219,62 +211,58 @@ func resourceArmNetworkSecurityGroupDelete(d *schema.ResourceData, meta interfac resGroup := id.ResourceGroup name := id.Path["networkSecurityGroups"] - _, error := secGroupClient.Delete(resGroup, name, make(chan struct{})) - err = <-error + _, deleteErr := client.Delete(resGroup, name, make(chan struct{})) + err = <-deleteErr return err } -func resourceArmNetworkSecurityGroupRuleHash(v interface{}) int { - var buf bytes.Buffer - m := v.(map[string]interface{}) - buf.WriteString(fmt.Sprintf("%s-", m["protocol"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["source_port_range"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["destination_port_range"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["source_address_prefix"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["destination_address_prefix"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["access"].(string))) - buf.WriteString(fmt.Sprintf("%d-", m["priority"].(int))) - buf.WriteString(fmt.Sprintf("%s-", m["direction"].(string))) - - return hashcode.String(buf.String()) -} - -func flattenNetworkSecurityRules(rules *[]network.SecurityRule) []map[string]interface{} { - result := make([]map[string]interface{}, 0, len(*rules)) - for _, rule := range *rules { - sgRule := make(map[string]interface{}) - sgRule["name"] = *rule.Name - sgRule["destination_address_prefix"] = *rule.SecurityRulePropertiesFormat.DestinationAddressPrefix - sgRule["destination_port_range"] = *rule.SecurityRulePropertiesFormat.DestinationPortRange - sgRule["source_address_prefix"] = *rule.SecurityRulePropertiesFormat.SourceAddressPrefix - sgRule["source_port_range"] = *rule.SecurityRulePropertiesFormat.SourcePortRange - sgRule["priority"] = int(*rule.SecurityRulePropertiesFormat.Priority) - sgRule["access"] = rule.SecurityRulePropertiesFormat.Access - sgRule["direction"] = rule.SecurityRulePropertiesFormat.Direction - sgRule["protocol"] = rule.SecurityRulePropertiesFormat.Protocol - - if rule.SecurityRulePropertiesFormat.Description != nil { - sgRule["description"] = *rule.SecurityRulePropertiesFormat.Description +func flattenNetworkSecurityRules(rules *[]network.SecurityRule) []interface{} { + result := make([]interface{}, 0) + + if rules != nil { + for _, rule := range *rules { + sgRule := make(map[string]interface{}) + sgRule["name"] = *rule.Name + + if props := rule.SecurityRulePropertiesFormat; props != nil { + sgRule["destination_address_prefix"] = *props.DestinationAddressPrefix + sgRule["destination_port_range"] = *props.DestinationPortRange + sgRule["source_address_prefix"] = *props.SourceAddressPrefix + sgRule["source_port_range"] = *props.SourcePortRange + sgRule["priority"] = int(*props.Priority) + sgRule["access"] = string(props.Access) + sgRule["direction"] = string(props.Direction) + sgRule["protocol"] = string(props.Protocol) + + if props.Description != nil { + sgRule["description"] = *props.Description + } + } + + result = append(result, sgRule) } - - result = append(result, sgRule) } + return result } func expandAzureRmSecurityRules(d *schema.ResourceData) ([]network.SecurityRule, error) { - sgRules := d.Get("security_rule").(*schema.Set).List() - rules := make([]network.SecurityRule, 0, len(sgRules)) + sgRules := d.Get("security_rule").([]interface{}) + rules := make([]network.SecurityRule, 0) for _, sgRaw := range sgRules { data := sgRaw.(map[string]interface{}) + name := data["name"].(string) source_port_range := data["source_port_range"].(string) destination_port_range := data["destination_port_range"].(string) source_address_prefix := data["source_address_prefix"].(string) destination_address_prefix := data["destination_address_prefix"].(string) priority := int32(data["priority"].(int)) + access := data["access"].(string) + direction := data["direction"].(string) + protocol := data["protocol"].(string) properties := network.SecurityRulePropertiesFormat{ SourcePortRange: &source_port_range, @@ -282,16 +270,15 @@ func expandAzureRmSecurityRules(d *schema.ResourceData) ([]network.SecurityRule, SourceAddressPrefix: &source_address_prefix, DestinationAddressPrefix: &destination_address_prefix, Priority: &priority, - Access: network.SecurityRuleAccess(data["access"].(string)), - Direction: network.SecurityRuleDirection(data["direction"].(string)), - Protocol: network.SecurityRuleProtocol(data["protocol"].(string)), + Access: network.SecurityRuleAccess(access), + Direction: network.SecurityRuleDirection(direction), + Protocol: network.SecurityRuleProtocol(protocol), } if v := data["description"].(string); v != "" { properties.Description = &v } - name := data["name"].(string) rule := network.SecurityRule{ Name: &name, SecurityRulePropertiesFormat: &properties, @@ -303,11 +290,11 @@ func expandAzureRmSecurityRules(d *schema.ResourceData) ([]network.SecurityRule, return rules, nil } -func networkSecurityGroupStateRefreshFunc(client *ArmClient, resourceGroupName string, sgName string) resource.StateRefreshFunc { +func networkSecurityGroupStateRefreshFunc(client network.SecurityGroupsClient, resourceGroupName string, sgName string) resource.StateRefreshFunc { return func() (interface{}, string, error) { - res, err := client.secGroupClient.Get(resourceGroupName, sgName, "") + res, err := client.Get(resourceGroupName, sgName, "") if err != nil { - return nil, "", fmt.Errorf("Error issuing read request in networkSecurityGroupStateRefreshFunc to Azure ARM for NSG '%s' (RG: '%s'): %s", sgName, resourceGroupName, err) + return nil, "", fmt.Errorf("Error issuing read request in networkSecurityGroupStateRefreshFunc for NSG '%s' (RG: '%s'): %+v", sgName, resourceGroupName, err) } return res, *res.SecurityGroupPropertiesFormat.ProvisioningState, nil diff --git a/azurerm/resource_arm_network_security_group_test.go b/azurerm/resource_arm_network_security_group_test.go index 306e87ff8240..eda9861ae21d 100644 --- a/azurerm/resource_arm_network_security_group_test.go +++ b/azurerm/resource_arm_network_security_group_test.go @@ -2,15 +2,16 @@ package azurerm import ( "fmt" - "net/http" "testing" "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func TestAccAzureRMNetworkSecurityGroup_basic(t *testing.T) { + resourceName := "azurerm_network_security_group.test" rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -20,7 +21,50 @@ func TestAccAzureRMNetworkSecurityGroup_basic(t *testing.T) { { Config: testAccAzureRMNetworkSecurityGroup_basic(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + ), + }, + }, + }) +} + +func TestAccAzureRMNetworkSecurityGroup_singleRule(t *testing.T) { + resourceName := "azurerm_network_security_group.test" + rInt := acctest.RandInt() + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMNetworkSecurityGroupDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMNetworkSecurityGroup_singleRule(rInt, testLocation()), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + ), + }, + }, + }) +} + +func TestAccAzureRMNetworkSecurityGroup_update(t *testing.T) { + resourceName := "azurerm_network_security_group.test" + rInt := acctest.RandInt() + location := testLocation() + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMNetworkSecurityGroupDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMNetworkSecurityGroup_singleRule(rInt, location), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + ), + }, + { + Config: testAccAzureRMNetworkSecurityGroup_basic(rInt, location), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMNetworkSecurityGroupExists(resourceName), ), }, }, @@ -28,6 +72,7 @@ func TestAccAzureRMNetworkSecurityGroup_basic(t *testing.T) { } func TestAccAzureRMNetworkSecurityGroup_disappears(t *testing.T) { + resourceName := "azurerm_network_security_group.test" rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -37,8 +82,8 @@ func TestAccAzureRMNetworkSecurityGroup_disappears(t *testing.T) { { Config: testAccAzureRMNetworkSecurityGroup_basic(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), - testCheckAzureRMNetworkSecurityGroupDisappears("azurerm_network_security_group.test"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + testCheckAzureRMNetworkSecurityGroupDisappears(resourceName), ), ExpectNonEmptyPlan: true, }, @@ -47,6 +92,7 @@ func TestAccAzureRMNetworkSecurityGroup_disappears(t *testing.T) { } func TestAccAzureRMNetworkSecurityGroup_withTags(t *testing.T) { + resourceName := "azurerm_network_security_group.test" rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -56,24 +102,19 @@ func TestAccAzureRMNetworkSecurityGroup_withTags(t *testing.T) { { Config: testAccAzureRMNetworkSecurityGroup_withTags(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "tags.%", "2"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "tags.environment", "Production"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "tags.cost_center", "MSFT"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.environment", "Production"), + resource.TestCheckResourceAttr(resourceName, "tags.cost_center", "MSFT"), ), }, { Config: testAccAzureRMNetworkSecurityGroup_withTagsUpdate(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "tags.%", "1"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "tags.environment", "staging"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.environment", "staging"), ), }, }, @@ -81,6 +122,7 @@ func TestAccAzureRMNetworkSecurityGroup_withTags(t *testing.T) { } func TestAccAzureRMNetworkSecurityGroup_addingExtraRules(t *testing.T) { + resourceName := "azurerm_network_security_group.test" rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -88,20 +130,18 @@ func TestAccAzureRMNetworkSecurityGroup_addingExtraRules(t *testing.T) { CheckDestroy: testCheckAzureRMNetworkSecurityGroupDestroy, Steps: []resource.TestStep{ { - Config: testAccAzureRMNetworkSecurityGroup_basic(rInt, testLocation()), + Config: testAccAzureRMNetworkSecurityGroup_singleRule(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "security_rule.#", "1"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "security_rule.#", "1"), ), }, { Config: testAccAzureRMNetworkSecurityGroup_anotherRule(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityGroupExists("azurerm_network_security_group.test"), - resource.TestCheckResourceAttr( - "azurerm_network_security_group.test", "security_rule.#", "2"), + testCheckAzureRMNetworkSecurityGroupExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "security_rule.#", "2"), ), }, }, @@ -113,24 +153,23 @@ func testCheckAzureRMNetworkSecurityGroupExists(name string) resource.TestCheckF rs, ok := s.RootModule().Resources[name] if !ok { - return fmt.Errorf("Not found: %s", name) + return fmt.Errorf("Not found: %q", name) } sgName := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for network security group: %s", sgName) + return fmt.Errorf("Bad: no resource group found in state for network security group: %q", sgName) } - conn := testAccProvider.Meta().(*ArmClient).secGroupClient - - resp, err := conn.Get(resourceGroup, sgName, "") + client := testAccProvider.Meta().(*ArmClient).secGroupClient + resp, err := client.Get(resourceGroup, sgName, "") if err != nil { - return fmt.Errorf("Bad: Get on secGroupClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Network Security Group %q (resource group: %q) does not exist", name, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Network Security Group %q (resource group: %q) does not exist", name, resourceGroup) + return fmt.Errorf("Bad: Get on secGroupClient: %+v", err) } return nil @@ -148,15 +187,17 @@ func testCheckAzureRMNetworkSecurityGroupDisappears(name string) resource.TestCh sgName := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for network security group: %s", sgName) + return fmt.Errorf("Bad: no resource group found in state for network security group: %q", sgName) } - conn := testAccProvider.Meta().(*ArmClient).secGroupClient - - _, error := conn.Delete(resourceGroup, sgName, make(chan struct{})) - err := <-error + client := testAccProvider.Meta().(*ArmClient).secGroupClient + deleteResp, deleteErr := client.Delete(resourceGroup, sgName, make(chan struct{})) + resp := <-deleteResp + err := <-deleteErr if err != nil { - return fmt.Errorf("Bad: Delete on secGroupClient: %+v", err) + if !utils.ResponseWasNotFound(resp) { + return fmt.Errorf("Bad: Delete on secGroupClient: %+v", err) + } } return nil @@ -164,7 +205,7 @@ func testCheckAzureRMNetworkSecurityGroupDisappears(name string) resource.TestCh } func testCheckAzureRMNetworkSecurityGroupDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*ArmClient).secGroupClient + client := testAccProvider.Meta().(*ArmClient).secGroupClient for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_network_security_group" { @@ -174,15 +215,16 @@ func testCheckAzureRMNetworkSecurityGroupDestroy(s *terraform.State) error { name := rs.Primary.Attributes["name"] resourceGroup := rs.Primary.Attributes["resource_group_name"] - resp, err := conn.Get(resourceGroup, name, "") + resp, err := client.Get(resourceGroup, name, "") if err != nil { - return nil + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + return err } - if resp.StatusCode != http.StatusNotFound { - return fmt.Errorf("Network Security Group still exists:\n%#v", resp.SecurityGroupPropertiesFormat) - } + return fmt.Errorf("Network Security Group still exists:\n%#v", resp.SecurityGroupPropertiesFormat) } return nil @@ -195,6 +237,21 @@ resource "azurerm_resource_group" "test" { location = "%s" } +resource "azurerm_network_security_group" "test" { + name = "acceptanceTestSecurityGroup1" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} +`, rInt, location) +} + +func testAccAzureRMNetworkSecurityGroup_singleRule(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + resource "azurerm_network_security_group" "test" { name = "acceptanceTestSecurityGroup1" location = "${azurerm_resource_group.test.location}" diff --git a/azurerm/resource_arm_network_security_rule.go b/azurerm/resource_arm_network_security_rule.go index 14e733dc62a4..edcdd3a32ce3 100644 --- a/azurerm/resource_arm_network_security_rule.go +++ b/azurerm/resource_arm_network_security_rule.go @@ -5,6 +5,7 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/network" "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) @@ -34,22 +35,20 @@ func resourceArmNetworkSecurityRule() *schema.Resource { }, "description": { - Type: schema.TypeString, - Optional: true, - ValidateFunc: func(v interface{}, k string) (ws []string, errors []error) { - value := v.(string) - if len(value) > 140 { - errors = append(errors, fmt.Errorf( - "The network security rule description can be no longer than 140 chars")) - } - return - }, + Type: schema.TypeString, + Optional: true, + ValidateFunc: validateStringLength(140), }, "protocol": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateNetworkSecurityRuleProtocol, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.SecurityRuleProtocolAsterisk), + string(network.SecurityRuleProtocolTCP), + string(network.SecurityRuleProtocolUDP), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "source_port_range": { @@ -73,36 +72,36 @@ func resourceArmNetworkSecurityRule() *schema.Resource { }, "access": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateNetworkSecurityRuleAccess, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.SecurityRuleAccessAllow), + string(network.SecurityRuleAccessDeny), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "priority": { - Type: schema.TypeInt, - Required: true, - ValidateFunc: func(v interface{}, k string) (ws []string, errors []error) { - value := v.(int) - if value < 100 || value > 4096 { - errors = append(errors, fmt.Errorf( - "The `priority` can only be between 100 and 4096")) - } - return - }, + Type: schema.TypeInt, + Required: true, + ValidateFunc: validation.IntBetween(100, 4096), }, "direction": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateNetworkSecurityRuleDirection, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.SecurityRuleDirectionInbound), + string(network.SecurityRuleDirectionOutbound), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, }, } } func resourceArmNetworkSecurityRuleCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - secClient := client.secRuleClient + client := meta.(*ArmClient).secRuleClient name := d.Get("name").(string) nsgName := d.Get("network_security_group_name").(string) @@ -120,34 +119,32 @@ func resourceArmNetworkSecurityRuleCreate(d *schema.ResourceData, meta interface azureRMLockByName(nsgName, networkSecurityGroupResourceName) defer azureRMUnlockByName(nsgName, networkSecurityGroupResourceName) - properties := network.SecurityRulePropertiesFormat{ - SourcePortRange: &source_port_range, - DestinationPortRange: &destination_port_range, - SourceAddressPrefix: &source_address_prefix, - DestinationAddressPrefix: &destination_address_prefix, - Priority: &priority, - Access: network.SecurityRuleAccess(access), - Direction: network.SecurityRuleDirection(direction), - Protocol: network.SecurityRuleProtocol(protocol), + rule := network.SecurityRule{ + Name: &name, + SecurityRulePropertiesFormat: &network.SecurityRulePropertiesFormat{ + SourcePortRange: &source_port_range, + DestinationPortRange: &destination_port_range, + SourceAddressPrefix: &source_address_prefix, + DestinationAddressPrefix: &destination_address_prefix, + Priority: &priority, + Access: network.SecurityRuleAccess(access), + Direction: network.SecurityRuleDirection(direction), + Protocol: network.SecurityRuleProtocol(protocol), + }, } if v, ok := d.GetOk("description"); ok { description := v.(string) - properties.Description = &description - } - - sgr := network.SecurityRule{ - Name: &name, - SecurityRulePropertiesFormat: &properties, + rule.SecurityRulePropertiesFormat.Description = &description } - _, error := secClient.CreateOrUpdate(resGroup, nsgName, name, sgr, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, nsgName, name, rule, make(chan struct{})) + err := <-createErr if err != nil { return err } - read, err := secClient.Get(resGroup, nsgName, name) + read, err := client.Get(resGroup, nsgName, name) if err != nil { return err } @@ -161,7 +158,7 @@ func resourceArmNetworkSecurityRuleCreate(d *schema.ResourceData, meta interface } func resourceArmNetworkSecurityRuleRead(d *schema.ResourceData, meta interface{}) error { - secRuleClient := meta.(*ArmClient).secRuleClient + client := meta.(*ArmClient).secRuleClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -171,33 +168,35 @@ func resourceArmNetworkSecurityRuleRead(d *schema.ResourceData, meta interface{} networkSGName := id.Path["networkSecurityGroups"] sgRuleName := id.Path["securityRules"] - resp, err := secRuleClient.Get(resGroup, networkSGName, sgRuleName) + resp, err := client.Get(resGroup, networkSGName, sgRuleName) if err != nil { if utils.ResponseWasNotFound(resp.Response) { d.SetId("") return nil } - return fmt.Errorf("Error making Read request on Azure Network Security Rule %s: %s", sgRuleName, err) + return fmt.Errorf("Error making Read request on Azure Network Security Rule %q: %+v", sgRuleName, err) } - d.Set("resource_group_name", resGroup) - d.Set("access", resp.SecurityRulePropertiesFormat.Access) - d.Set("destination_address_prefix", resp.SecurityRulePropertiesFormat.DestinationAddressPrefix) - d.Set("destination_port_range", resp.SecurityRulePropertiesFormat.DestinationPortRange) - d.Set("direction", resp.SecurityRulePropertiesFormat.Direction) - d.Set("description", resp.SecurityRulePropertiesFormat.Description) d.Set("name", resp.Name) - d.Set("priority", resp.SecurityRulePropertiesFormat.Priority) - d.Set("protocol", resp.SecurityRulePropertiesFormat.Protocol) - d.Set("source_address_prefix", resp.SecurityRulePropertiesFormat.SourceAddressPrefix) - d.Set("source_port_range", resp.SecurityRulePropertiesFormat.SourcePortRange) + d.Set("resource_group_name", resGroup) + + if props := resp.SecurityRulePropertiesFormat; props != nil { + d.Set("access", string(props.Access)) + d.Set("destination_address_prefix", props.DestinationAddressPrefix) + d.Set("destination_port_range", props.DestinationPortRange) + d.Set("direction", string(props.Direction)) + d.Set("description", props.Description) + d.Set("priority", int(*props.Priority)) + d.Set("protocol", string(props.Protocol)) + d.Set("source_address_prefix", props.SourceAddressPrefix) + d.Set("source_port_range", props.SourcePortRange) + } return nil } func resourceArmNetworkSecurityRuleDelete(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - secRuleClient := client.secRuleClient + client := meta.(*ArmClient).secRuleClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -210,8 +209,8 @@ func resourceArmNetworkSecurityRuleDelete(d *schema.ResourceData, meta interface azureRMLockByName(nsgName, networkSecurityGroupResourceName) defer azureRMUnlockByName(nsgName, networkSecurityGroupResourceName) - _, error := secRuleClient.Delete(resGroup, nsgName, sgRuleName, make(chan struct{})) - err = <-error + _, deleteErr := client.Delete(resGroup, nsgName, sgRuleName, make(chan struct{})) + err = <-deleteErr return err } diff --git a/azurerm/resource_arm_network_security_rule_test.go b/azurerm/resource_arm_network_security_rule_test.go index 116b1b193271..966bfd0c16a2 100644 --- a/azurerm/resource_arm_network_security_rule_test.go +++ b/azurerm/resource_arm_network_security_rule_test.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func TestAccAzureRMNetworkSecurityRule_basic(t *testing.T) { @@ -28,6 +29,7 @@ func TestAccAzureRMNetworkSecurityRule_basic(t *testing.T) { } func TestAccAzureRMNetworkSecurityRule_disappears(t *testing.T) { + resourceGroup := "azurerm_network_security_rule.test" rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ @@ -38,8 +40,8 @@ func TestAccAzureRMNetworkSecurityRule_disappears(t *testing.T) { { Config: testAccAzureRMNetworkSecurityRule_basic(rInt, testLocation()), Check: resource.ComposeTestCheckFunc( - testCheckAzureRMNetworkSecurityRuleExists("azurerm_network_security_rule.test"), - testCheckAzureRMNetworkSecurityRuleDisappears("azurerm_network_security_rule.test"), + testCheckAzureRMNetworkSecurityRuleExists(resourceGroup), + testCheckAzureRMNetworkSecurityRuleDisappears(resourceGroup), ), ExpectNonEmptyPlan: true, }, @@ -84,20 +86,19 @@ func testCheckAzureRMNetworkSecurityRuleExists(name string) resource.TestCheckFu sgrName := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for network security rule: %s", sgName) + return fmt.Errorf("Bad: no resource group found in state for network security rule: %q", sgName) } conn := testAccProvider.Meta().(*ArmClient).secRuleClient resp, err := conn.Get(resourceGroup, sgName, sgrName) if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Network Security Rule %q (resource group: %q) (network security group: %q) does not exist", sgrName, sgName, resourceGroup) + } return fmt.Errorf("Bad: Get on secRuleClient: %+v", err) } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Network Security Rule %q (resource group: %q) (network security group: %q) does not exist", sgrName, sgName, resourceGroup) - } - return nil } } @@ -107,7 +108,7 @@ func testCheckAzureRMNetworkSecurityRuleDisappears(name string) resource.TestChe rs, ok := s.RootModule().Resources[name] if !ok { - return fmt.Errorf("Not found: %s", name) + return fmt.Errorf("Not found: %q", name) } sgName := rs.Primary.Attributes["network_security_group_name"] @@ -117,12 +118,14 @@ func testCheckAzureRMNetworkSecurityRuleDisappears(name string) resource.TestChe return fmt.Errorf("Bad: no resource group found in state for network security rule: %s", sgName) } - conn := testAccProvider.Meta().(*ArmClient).secRuleClient - - _, error := conn.Delete(resourceGroup, sgName, sgrName, make(chan struct{})) - err := <-error + client := testAccProvider.Meta().(*ArmClient).secRuleClient + deleteResp, deleteErr := client.Delete(resourceGroup, sgName, sgrName, make(chan struct{})) + resp := <-deleteResp + err := <-deleteErr if err != nil { - return fmt.Errorf("Bad: Delete on secRuleClient: %+v", err) + if !utils.ResponseWasNotFound(resp) { + return fmt.Errorf("Bad: Delete on secRuleClient: %+v", err) + } } return nil @@ -182,7 +185,6 @@ resource "azurerm_network_security_rule" "test" { resource_group_name = "${azurerm_resource_group.test.name}" network_security_group_name = "${azurerm_network_security_group.test.name}" } - `, rInt, location) } diff --git a/azurerm/resource_arm_role_assignment.go b/azurerm/resource_arm_role_assignment.go new file mode 100644 index 000000000000..90e835bbe285 --- /dev/null +++ b/azurerm/resource_arm_role_assignment.go @@ -0,0 +1,122 @@ +package azurerm + +import ( + "fmt" + + "log" + + "github.com/Azure/azure-sdk-for-go/arm/authorization" + "github.com/hashicorp/terraform/helper/schema" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func resourceArmRoleAssignment() *schema.Resource { + return &schema.Resource{ + Create: resourceArmRoleAssignmentCreate, + Read: resourceArmRoleAssignmentRead, + Delete: resourceArmRoleAssignmentDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "scope": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "role_definition_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, + }, + + "principal_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + }, + } +} + +func resourceArmRoleAssignmentCreate(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleAssignmentsClient + + name := d.Get("name").(string) + scope := d.Get("scope").(string) + roleDefinitionId := d.Get("role_definition_id").(string) + principalId := d.Get("principal_id").(string) + + properties := authorization.RoleAssignmentCreateParameters{ + Properties: &authorization.RoleAssignmentProperties{ + RoleDefinitionID: utils.String(roleDefinitionId), + PrincipalID: utils.String(principalId), + }, + } + + _, err := client.Create(scope, name, properties) + if err != nil { + return err + } + + read, err := client.Get(scope, name) + if err != nil { + return err + } + if read.ID == nil { + return fmt.Errorf("Cannot read Role Assignment ID for %q (Scope %q)", name, scope) + } + + d.SetId(*read.ID) + return resourceArmRoleAssignmentRead(d, meta) +} + +func resourceArmRoleAssignmentRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleAssignmentsClient + + resp, err := client.GetByID(d.Id()) + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + log.Printf("[DEBUG] Role Assignment ID %q was not found - removing from state", d.Id()) + d.SetId("") + return nil + } + + return fmt.Errorf("Error loading Role Assignment %q: %+v", d.Id(), err) + } + + d.Set("name", resp.Name) + + if props := resp.Properties; props != nil { + d.Set("scope", props.Scope) + d.Set("role_definition_id", props.RoleDefinitionID) + d.Set("principal_id", props.PrincipalID) + } + + return nil +} + +func resourceArmRoleAssignmentDelete(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleAssignmentsClient + + scope := d.Get("scope").(string) + name := d.Get("name").(string) + + resp, err := client.Delete(scope, name) + if err != nil { + if !utils.ResponseWasNotFound(resp.Response) { + return err + } + } + + return nil +} diff --git a/azurerm/resource_arm_role_assignment_test.go b/azurerm/resource_arm_role_assignment_test.go new file mode 100644 index 000000000000..93c6f8772032 --- /dev/null +++ b/azurerm/resource_arm_role_assignment_test.go @@ -0,0 +1,152 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/google/uuid" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func TestAccAzureRMRoleAssignment_builtin(t *testing.T) { + id := uuid.New().String() + config := testAccAzureRMRoleAssignment_builtin(id) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleAssignmentDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleAssignmentExists("azurerm_role_assignment.test"), + ), + }, + }, + }) +} + +func TestAccAzureRMRoleAssignment_custom(t *testing.T) { + roleDefinitionId := uuid.New().String() + roleAssignmentId := uuid.New().String() + rInt := acctest.RandInt() + config := testAccAzureRMRoleAssignment_custom(roleDefinitionId, roleAssignmentId, rInt) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleAssignmentDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleAssignmentExists("azurerm_role_assignment.test"), + ), + }, + }, + }) +} + +func testCheckAzureRMRoleAssignmentExists(name string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return fmt.Errorf("Not found: %q", name) + } + + scope := rs.Primary.Attributes["scope"] + roleAssignmentName := rs.Primary.Attributes["name"] + + client := testAccProvider.Meta().(*ArmClient).roleAssignmentsClient + resp, err := client.Get(scope, roleAssignmentName) + + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Role Assignment %q (Scope: %q) does not exist", name, scope) + } + return fmt.Errorf("Bad: Get on roleDefinitionsClient: %+v", err) + } + + return nil + } +} + +func testCheckAzureRMRoleAssignmentDestroy(s *terraform.State) error { + for _, rs := range s.RootModule().Resources { + if rs.Type != "azurerm_role_assignment" { + continue + } + + scope := rs.Primary.Attributes["scope"] + roleAssignmentName := rs.Primary.Attributes["name"] + + client := testAccProvider.Meta().(*ArmClient).roleAssignmentsClient + resp, err := client.Get(scope, roleAssignmentName) + + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + + return err + } + + return fmt.Errorf("Role Definition still exists:\n%#v", resp) + } + + return nil +} + +func testAccAzureRMRoleAssignment_builtin(id string) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +data "azurerm_client_config" "test" {} + +data "azurerm_builtin_role_definition" "test" { + name = "Reader" +} + +resource "azurerm_role_assignment" "test" { + name = "%s" + scope = "${data.azurerm_subscription.primary.id}" + role_definition_id = "${data.azurerm_subscription.primary.id}${data.azurerm_builtin_role_definition.test.id}" + principal_id = "${data.azurerm_client_config.test.service_principal_object_id}" +} +`, id) +} + +func testAccAzureRMRoleAssignment_custom(roleDefinitionId string, roleAssignmentId string, rInt int) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +data "azurerm_client_config" "test" {} + +resource "azurerm_role_definition" "test" { + role_definition_id = "%s" + name = "acctestrd-%d" + scope = "${data.azurerm_subscription.primary.id}" + description = "Created by the Role Assignment Acceptance Test" + + permissions { + actions = ["Microsoft.Resources/subscriptions/resourceGroups/read"] + not_actions = [] + } + + assignable_scopes = [ + "${data.azurerm_subscription.primary.id}", + ] +} + +resource "azurerm_role_assignment" "test" { + name = "%s" + scope = "${data.azurerm_subscription.primary.id}" + role_definition_id = "${azurerm_role_definition.test.id}" + principal_id = "${data.azurerm_client_config.test.service_principal_object_id}" +} +`, roleDefinitionId, rInt, roleAssignmentId) +} diff --git a/azurerm/resource_arm_role_definition.go b/azurerm/resource_arm_role_definition.go new file mode 100644 index 000000000000..c6cae45beddb --- /dev/null +++ b/azurerm/resource_arm_role_definition.go @@ -0,0 +1,243 @@ +package azurerm + +import ( + "fmt" + + "log" + + "github.com/Azure/azure-sdk-for-go/arm/authorization" + "github.com/hashicorp/terraform/helper/schema" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func resourceArmRoleDefinition() *schema.Resource { + return &schema.Resource{ + Create: resourceArmRoleDefinitionCreateUpdate, + Read: resourceArmRoleDefinitionRead, + Update: resourceArmRoleDefinitionCreateUpdate, + Delete: resourceArmRoleDefinitionDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + + Schema: map[string]*schema.Schema{ + "role_definition_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "name": { + Type: schema.TypeString, + Required: true, + }, + + "scope": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + "description": { + Type: schema.TypeString, + Optional: true, + }, + + "permissions": { + Type: schema.TypeList, + Required: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "actions": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "not_actions": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + + "assignable_scopes": { + Type: schema.TypeList, + Required: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + } +} + +func resourceArmRoleDefinitionCreateUpdate(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleDefinitionsClient + + roleDefinitionId := d.Get("role_definition_id").(string) + name := d.Get("name").(string) + scope := d.Get("scope").(string) + description := d.Get("description").(string) + roleType := "CustomRole" + permissions := expandRoleDefinitionPermissions(d) + assignableScopes := expandRoleDefinitionAssignableScopes(d) + + properties := authorization.RoleDefinition{ + Properties: &authorization.RoleDefinitionProperties{ + RoleName: utils.String(name), + Description: utils.String(description), + Type: utils.String(roleType), + Permissions: &permissions, + AssignableScopes: &assignableScopes, + }, + } + + _, err := client.CreateOrUpdate(scope, roleDefinitionId, properties) + if err != nil { + return err + } + + read, err := client.Get(scope, roleDefinitionId) + if err != nil { + return err + } + if read.ID == nil { + return fmt.Errorf("Cannot read Role Definition ID for %q (Scope %q)", name, scope) + } + + d.SetId(*read.ID) + return resourceArmRoleDefinitionRead(d, meta) +} + +func resourceArmRoleDefinitionRead(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleDefinitionsClient + + resp, err := client.GetByID(d.Id()) + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + log.Printf("[DEBUG] Role Definition %q was not found - removing from state", d.Id()) + d.SetId("") + return nil + } + + return fmt.Errorf("Error loading Role Definition %q: %+v", d.Id(), err) + } + + if props := resp.Properties; props != nil { + d.Set("name", props.RoleName) + d.Set("description", props.Description) + + permissions := flattenRoleDefinitionPermissions(props.Permissions) + if err := d.Set("permissions", permissions); err != nil { + return err + } + + assignableScopes := flattenRoleDefinitionAssignableScopes(props.AssignableScopes) + if err := d.Set("assignable_scopes", assignableScopes); err != nil { + return err + } + } + + return nil +} + +func resourceArmRoleDefinitionDelete(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).roleDefinitionsClient + + roleDefinitionId := d.Get("role_definition_id").(string) + scope := d.Get("scope").(string) + + resp, err := client.Delete(scope, roleDefinitionId) + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + + return fmt.Errorf("Error deleting Role Definition %q: %+v", roleDefinitionId, err) + } + + return nil +} + +func expandRoleDefinitionPermissions(d *schema.ResourceData) []authorization.Permission { + output := make([]authorization.Permission, 0) + + permissions := d.Get("permissions").([]interface{}) + for _, v := range permissions { + input := v.(map[string]interface{}) + permission := authorization.Permission{} + + actionsOutput := make([]string, 0) + actions := input["actions"].([]interface{}) + for _, a := range actions { + actionsOutput = append(actionsOutput, a.(string)) + } + permission.Actions = &actionsOutput + + notActionsOutput := make([]string, 0) + notActions := input["not_actions"].([]interface{}) + for _, a := range notActions { + notActionsOutput = append(notActionsOutput, a.(string)) + } + permission.NotActions = ¬ActionsOutput + + output = append(output, permission) + } + + return output +} + +func expandRoleDefinitionAssignableScopes(d *schema.ResourceData) []string { + scopes := make([]string, 0) + + assignableScopes := d.Get("assignable_scopes").([]interface{}) + for _, scope := range assignableScopes { + scopes = append(scopes, scope.(string)) + } + + return scopes +} + +func flattenRoleDefinitionPermissions(input *[]authorization.Permission) []interface{} { + permissions := make([]interface{}, 0) + + for _, permission := range *input { + output := make(map[string]interface{}, 0) + + actions := make([]string, 0) + if permission.Actions != nil { + for _, action := range *permission.Actions { + actions = append(actions, action) + } + } + output["actions"] = actions + + notActions := make([]string, 0) + if permission.NotActions != nil { + for _, action := range *permission.NotActions { + notActions = append(notActions, action) + } + } + output["not_actions"] = notActions + + permissions = append(permissions, output) + } + + return permissions +} + +func flattenRoleDefinitionAssignableScopes(input *[]string) []interface{} { + scopes := make([]interface{}, 0) + + for _, scope := range *input { + scopes = append(scopes, scope) + } + + return scopes +} diff --git a/azurerm/resource_arm_role_definition_test.go b/azurerm/resource_arm_role_definition_test.go new file mode 100644 index 000000000000..c1eb91bf3806 --- /dev/null +++ b/azurerm/resource_arm_role_definition_test.go @@ -0,0 +1,203 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/google/uuid" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" +) + +func TestAccAzureRMRoleDefinition_basic(t *testing.T) { + ri := acctest.RandInt() + config := testAccAzureRMRoleDefinition_basic(uuid.New().String(), ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleDefinitionDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleDefinitionExists("azurerm_role_definition.test"), + ), + }, + }, + }) +} + +func TestAccAzureRMRoleDefinition_complete(t *testing.T) { + ri := acctest.RandInt() + config := testAccAzureRMRoleDefinition_complete(uuid.New().String(), ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleDefinitionDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleDefinitionExists("azurerm_role_definition.test"), + ), + }, + }, + }) +} + +func TestAccAzureRMRoleDefinition_update(t *testing.T) { + resourceName := "azurerm_role_definition.test" + id := uuid.New().String() + ri := acctest.RandInt() + + config := testAccAzureRMRoleDefinition_basic(id, ri) + updatedConfig := testAccAzureRMRoleDefinition_updated(id, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRoleDefinitionDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleDefinitionExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.actions.0", "*"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.not_actions.#", "0"), + ), + }, + { + Config: updatedConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRoleDefinitionExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "permissions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.actions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.actions.0", "*"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.not_actions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "permissions.0.not_actions.0", "Microsoft.Authorization/*/read"), + ), + }, + }, + }) +} + +func testCheckAzureRMRoleDefinitionExists(name string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return fmt.Errorf("Not found: %q", name) + } + + scope := rs.Primary.Attributes["scope"] + roleDefinitionId := rs.Primary.Attributes["role_definition_id"] + + client := testAccProvider.Meta().(*ArmClient).roleDefinitionsClient + resp, err := client.Get(scope, roleDefinitionId) + + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Role Definition %q (Scope: %q) does not exist", name, scope) + } + return fmt.Errorf("Bad: Get on roleDefinitionsClient: %+v", err) + } + + return nil + } +} + +func testCheckAzureRMRoleDefinitionDestroy(s *terraform.State) error { + for _, rs := range s.RootModule().Resources { + if rs.Type != "azurerm_role_definition" { + continue + } + + scope := rs.Primary.Attributes["scope"] + roleDefinitionId := rs.Primary.Attributes["role_definition_id"] + + client := testAccProvider.Meta().(*ArmClient).roleDefinitionsClient + resp, err := client.Get(scope, roleDefinitionId) + + if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return nil + } + + return err + } + + return fmt.Errorf("Role Definition still exists:\n%#v", resp) + } + + return nil +} + +func testAccAzureRMRoleDefinition_basic(id string, rInt int) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +resource "azurerm_role_definition" "test" { + role_definition_id = "%s" + name = "acctestrd-%d" + scope = "${data.azurerm_subscription.primary.id}" + + permissions { + actions = ["*"] + not_actions = [] + } + + assignable_scopes = [ + "${data.azurerm_subscription.primary.id}", + ] +} +`, id, rInt) +} + +func testAccAzureRMRoleDefinition_complete(id string, rInt int) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +resource "azurerm_role_definition" "test" { + role_definition_id = "%s" + name = "acctestrd-%d" + scope = "${data.azurerm_subscription.primary.id}" + description = "Acceptance Test Role Definition" + + permissions { + actions = ["*"] + not_actions = ["Microsoft.Authorization/*/read"] + } + + assignable_scopes = [ + "${data.azurerm_subscription.primary.id}", + ] +} +`, id, rInt) +} + +func testAccAzureRMRoleDefinition_updated(id string, rInt int) string { + return fmt.Sprintf(` +data "azurerm_subscription" "primary" {} + +resource "azurerm_role_definition" "test" { + role_definition_id = "%s" + name = "acctestrd-%d-updated" + scope = "${data.azurerm_subscription.primary.id}" + description = "Acceptance Test Role Definition" + + permissions { + actions = ["*"] + not_actions = ["Microsoft.Authorization/*/read"] + } + + assignable_scopes = [ + "${data.azurerm_subscription.primary.id}", + ] +} +`, id, rInt) +} diff --git a/azurerm/resource_arm_route.go b/azurerm/resource_arm_route.go index 1a83102c0c4c..bd6d9417abef 100644 --- a/azurerm/resource_arm_route.go +++ b/azurerm/resource_arm_route.go @@ -2,18 +2,18 @@ package azurerm import ( "fmt" - "strings" "github.com/Azure/azure-sdk-for-go/arm/network" "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func resourceArmRoute() *schema.Resource { return &schema.Resource{ - Create: resourceArmRouteCreate, + Create: resourceArmRouteCreateUpdate, Read: resourceArmRouteRead, - Update: resourceArmRouteCreate, + Update: resourceArmRouteCreateUpdate, Delete: resourceArmRouteDelete, Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, @@ -40,12 +40,16 @@ func resourceArmRoute() *schema.Resource { }, "next_hop_type": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateRouteTableNextHopType, - DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { - return strings.ToLower(old) == strings.ToLower(new) - }, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.RouteNextHopTypeVirtualNetworkGateway), + string(network.RouteNextHopTypeVnetLocal), + string(network.RouteNextHopTypeInternet), + string(network.RouteNextHopTypeVirtualAppliance), + string(network.RouteNextHopTypeNone), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "next_hop_in_ip_address": { @@ -57,9 +61,8 @@ func resourceArmRoute() *schema.Resource { } } -func resourceArmRouteCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - routesClient := client.routesClient +func resourceArmRouteCreateUpdate(d *schema.ResourceData, meta interface{}) error { + client := meta.(*ArmClient).routesClient name := d.Get("name").(string) rtName := d.Get("route_table_name").(string) @@ -86,18 +89,18 @@ func resourceArmRouteCreate(d *schema.ResourceData, meta interface{}) error { RoutePropertiesFormat: &properties, } - _, error := routesClient.CreateOrUpdate(resGroup, rtName, name, route, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, rtName, name, route, make(chan struct{})) + err := <-createErr if err != nil { return err } - read, err := routesClient.Get(resGroup, rtName, name) + read, err := client.Get(resGroup, rtName, name) if err != nil { return err } if read.ID == nil { - return fmt.Errorf("Cannot read Route %s/%s (resource group %s) ID", rtName, name, resGroup) + return fmt.Errorf("Cannot read Route %q/%q (resource group %q) ID", rtName, name, resGroup) } d.SetId(*read.ID) @@ -105,7 +108,7 @@ func resourceArmRouteCreate(d *schema.ResourceData, meta interface{}) error { } func resourceArmRouteRead(d *schema.ResourceData, meta interface{}) error { - routesClient := meta.(*ArmClient).routesClient + client := meta.(*ArmClient).routesClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -115,31 +118,33 @@ func resourceArmRouteRead(d *schema.ResourceData, meta interface{}) error { rtName := id.Path["routeTables"] routeName := id.Path["routes"] - resp, err := routesClient.Get(resGroup, rtName, routeName) + resp, err := client.Get(resGroup, rtName, routeName) if err != nil { if utils.ResponseWasNotFound(resp.Response) { d.SetId("") return nil } - return fmt.Errorf("Error making Read request on Azure Route %s: %s", routeName, err) + return fmt.Errorf("Error making Read request on Azure Route %q: %+v", routeName, err) } d.Set("name", routeName) d.Set("resource_group_name", resGroup) d.Set("route_table_name", rtName) - d.Set("address_prefix", resp.RoutePropertiesFormat.AddressPrefix) - d.Set("next_hop_type", string(resp.RoutePropertiesFormat.NextHopType)) - if resp.RoutePropertiesFormat.NextHopIPAddress != nil { - d.Set("next_hop_in_ip_address", resp.RoutePropertiesFormat.NextHopIPAddress) + if props := resp.RoutePropertiesFormat; props != nil { + d.Set("address_prefix", props.AddressPrefix) + d.Set("next_hop_type", string(props.NextHopType)) + + if ip := props.NextHopIPAddress; ip != nil { + d.Set("next_hop_in_ip_address", props.NextHopIPAddress) + } } return nil } func resourceArmRouteDelete(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - routesClient := client.routesClient + client := meta.(*ArmClient).routesClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -152,8 +157,8 @@ func resourceArmRouteDelete(d *schema.ResourceData, meta interface{}) error { azureRMLockByName(rtName, routeTableResourceName) defer azureRMUnlockByName(rtName, routeTableResourceName) - _, error := routesClient.Delete(resGroup, rtName, routeName, make(chan struct{})) - err = <-error + _, deleteErr := client.Delete(resGroup, rtName, routeName, make(chan struct{})) + err = <-deleteErr return err } diff --git a/azurerm/resource_arm_route_table.go b/azurerm/resource_arm_route_table.go index 6806247cc124..51bef9c0cdfc 100644 --- a/azurerm/resource_arm_route_table.go +++ b/azurerm/resource_arm_route_table.go @@ -1,14 +1,12 @@ package azurerm import ( - "bytes" "fmt" "log" - "strings" "github.com/Azure/azure-sdk-for-go/arm/network" - "github.com/hashicorp/terraform/helper/hashcode" "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) @@ -36,9 +34,8 @@ func resourceArmRouteTable() *schema.Resource { "resource_group_name": resourceGroupNameSchema(), "route": { - Type: schema.TypeSet, + Type: schema.TypeList, Optional: true, - Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "name": { @@ -52,9 +49,16 @@ func resourceArmRouteTable() *schema.Resource { }, "next_hop_type": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validateRouteTableNextHopType, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(network.RouteNextHopTypeVirtualNetworkGateway), + string(network.RouteNextHopTypeVnetLocal), + string(network.RouteNextHopTypeInternet), + string(network.RouteNextHopTypeVirtualAppliance), + string(network.RouteNextHopTypeNone), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "next_hop_in_ip_address": { @@ -64,7 +68,6 @@ func resourceArmRouteTable() *schema.Resource { }, }, }, - Set: resourceArmRouteTableRouteHash, }, "subnets": { @@ -80,47 +83,41 @@ func resourceArmRouteTable() *schema.Resource { } func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - routeTablesClient := client.routeTablesClient + client := meta.(*ArmClient).routeTablesClient - log.Printf("[INFO] preparing arguments for Azure ARM Route Table creation.") + log.Printf("[INFO] preparing arguments for AzureRM Route Table creation.") name := d.Get("name").(string) location := d.Get("location").(string) resGroup := d.Get("resource_group_name").(string) tags := d.Get("tags").(map[string]interface{}) + routes, err := expandRouteTableRoutes(d) + if err != nil { + return fmt.Errorf("Error Expanding list of Route Table Routes: %+v", err) + } + routeSet := network.RouteTable{ Name: &name, Location: &location, - Tags: expandTags(tags), - } - - if _, ok := d.GetOk("route"); ok { - routes, routeErr := expandAzureRmRouteTableRoutes(d) - if routeErr != nil { - return fmt.Errorf("Error Building list of Route Table Routes: %s", routeErr) - } - - if len(routes) > 0 { - routeSet.RouteTablePropertiesFormat = &network.RouteTablePropertiesFormat{ - Routes: &routes, - } - } + RouteTablePropertiesFormat: &network.RouteTablePropertiesFormat{ + Routes: &routes, + }, + Tags: expandTags(tags), } - _, error := routeTablesClient.CreateOrUpdate(resGroup, name, routeSet, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, name, routeSet, make(chan struct{})) + err = <-createErr if err != nil { return err } - read, err := routeTablesClient.Get(resGroup, name, "") + read, err := client.Get(resGroup, name, "") if err != nil { return err } if read.ID == nil { - return fmt.Errorf("Cannot read Route Table %s (resource group %s) ID", name, resGroup) + return fmt.Errorf("Cannot read Route Table %q (resource group %q) ID", name, resGroup) } d.SetId(*read.ID) @@ -129,7 +126,7 @@ func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error } func resourceArmRouteTableRead(d *schema.ResourceData, meta interface{}) error { - routeTablesClient := meta.(*ArmClient).routeTablesClient + client := meta.(*ArmClient).routeTablesClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -138,31 +135,28 @@ func resourceArmRouteTableRead(d *schema.ResourceData, meta interface{}) error { resGroup := id.ResourceGroup name := id.Path["routeTables"] - resp, err := routeTablesClient.Get(resGroup, name, "") + resp, err := client.Get(resGroup, name, "") if err != nil { if utils.ResponseWasNotFound(resp.Response) { d.SetId("") return nil } - return fmt.Errorf("Error making Read request on Azure Route Table %s: %s", name, err) + return fmt.Errorf("Error making Read request on Azure Route Table %q: %+v", name, err) } d.Set("name", name) d.Set("resource_group_name", resGroup) d.Set("location", azureRMNormalizeLocation(*resp.Location)) - if resp.RouteTablePropertiesFormat.Routes != nil { - d.Set("route", schema.NewSet(resourceArmRouteTableRouteHash, flattenAzureRmRouteTableRoutes(resp.RouteTablePropertiesFormat.Routes))) - } + if props := resp.RouteTablePropertiesFormat; props != nil { + if err := d.Set("route", flattenRouteTableRoutes(props.Routes)); err != nil { + return err + } - subnets := []string{} - if resp.RouteTablePropertiesFormat.Subnets != nil { - for _, subnet := range *resp.RouteTablePropertiesFormat.Subnets { - id := subnet.ID - subnets = append(subnets, *id) + if err := d.Set("subnets", flattenRouteTableSubnets(props.Subnets)); err != nil { + return err } } - d.Set("subnets", subnets) flattenAndSetTags(d, resp.Tags) @@ -179,25 +173,32 @@ func resourceArmRouteTableDelete(d *schema.ResourceData, meta interface{}) error resGroup := id.ResourceGroup name := id.Path["routeTables"] - _, error := routeTablesClient.Delete(resGroup, name, make(chan struct{})) - err = <-error + deleteResp, deleteErr := routeTablesClient.Delete(resGroup, name, make(chan struct{})) + resp := <-deleteResp + err = <-deleteErr + + if err != nil { + if !utils.ResponseWasNotFound(resp) { + return err + } + } - return err + return nil } -func expandAzureRmRouteTableRoutes(d *schema.ResourceData) ([]network.Route, error) { - configs := d.Get("route").(*schema.Set).List() +func expandRouteTableRoutes(d *schema.ResourceData) ([]network.Route, error) { + configs := d.Get("route").([]interface{}) routes := make([]network.Route, 0, len(configs)) for _, configRaw := range configs { data := configRaw.(map[string]interface{}) - address_prefix := data["address_prefix"].(string) - next_hop_type := data["next_hop_type"].(string) + addressPrefix := data["address_prefix"].(string) + nextHopType := data["next_hop_type"].(string) properties := network.RoutePropertiesFormat{ - AddressPrefix: &address_prefix, - NextHopType: network.RouteNextHopType(next_hop_type), + AddressPrefix: &addressPrefix, + NextHopType: network.RouteNextHopType(nextHopType), } if v := data["next_hop_in_ip_address"].(string); v != "" { @@ -216,45 +217,38 @@ func expandAzureRmRouteTableRoutes(d *schema.ResourceData) ([]network.Route, err return routes, nil } -func flattenAzureRmRouteTableRoutes(routes *[]network.Route) []interface{} { - results := make([]interface{}, 0, len(*routes)) +func flattenRouteTableRoutes(input *[]network.Route) []interface{} { + results := make([]interface{}, 0) + + if routes := input; routes != nil { + for _, route := range *routes { + r := make(map[string]interface{}) - for _, route := range *routes { - r := make(map[string]interface{}) - r["name"] = *route.Name - r["address_prefix"] = *route.RoutePropertiesFormat.AddressPrefix - r["next_hop_type"] = string(route.RoutePropertiesFormat.NextHopType) - if route.RoutePropertiesFormat.NextHopIPAddress != nil { - r["next_hop_in_ip_address"] = *route.RoutePropertiesFormat.NextHopIPAddress + r["name"] = *route.Name + + if props := route.RoutePropertiesFormat; props != nil { + r["address_prefix"] = *props.AddressPrefix + r["next_hop_type"] = string(props.NextHopType) + if ip := props.NextHopIPAddress; ip != nil { + r["next_hop_in_ip_address"] = *ip + } + } + + results = append(results, r) } - results = append(results, r) } return results } -func resourceArmRouteTableRouteHash(v interface{}) int { - var buf bytes.Buffer - m := v.(map[string]interface{}) - buf.WriteString(fmt.Sprintf("%s-", m["name"].(string))) - buf.WriteString(fmt.Sprintf("%s-", m["address_prefix"].(string))) - buf.WriteString(fmt.Sprintf("%s-", strings.ToLower(m["next_hop_type"].(string)))) +func flattenRouteTableSubnets(input *[]network.Subnet) []string { + output := []string{} - return hashcode.String(buf.String()) -} - -func validateRouteTableNextHopType(v interface{}, k string) (ws []string, errors []error) { - value := strings.ToLower(v.(string)) - hopTypes := map[string]bool{ - "virtualnetworkgateway": true, - "vnetlocal": true, - "internet": true, - "virtualappliance": true, - "none": true, + if subnets := input; subnets != nil { + for _, subnet := range *subnets { + output = append(output, *subnet.ID) + } } - if !hopTypes[value] { - errors = append(errors, fmt.Errorf("Route Table NextHopType Protocol can only be VirtualNetworkGateway, VnetLocal, Internet or VirtualAppliance")) - } - return + return output } diff --git a/azurerm/resource_arm_route_table_test.go b/azurerm/resource_arm_route_table_test.go index 897143130c78..e532e956843e 100644 --- a/azurerm/resource_arm_route_table_test.go +++ b/azurerm/resource_arm_route_table_test.go @@ -2,66 +2,57 @@ package azurerm import ( "fmt" - "net/http" "testing" "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) -func TestResourceAzureRMRouteTableNextHopType_validation(t *testing.T) { - cases := []struct { - Value string - ErrCount int - }{ - { - Value: "Random", - ErrCount: 1, - }, - { - Value: "VirtualNetworkGateway", - ErrCount: 0, - }, - { - Value: "VNETLocal", - ErrCount: 0, - }, - { - Value: "Internet", - ErrCount: 0, - }, - { - Value: "VirtualAppliance", - ErrCount: 0, - }, - { - Value: "None", - ErrCount: 0, - }, - { - Value: "VIRTUALNETWORKGATEWAY", - ErrCount: 0, - }, - { - Value: "virtualnetworkgateway", - ErrCount: 0, +func TestAccAzureRMRouteTable_basic(t *testing.T) { + ri := acctest.RandInt() + config := testAccAzureRMRouteTable_basic(ri, testLocation()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRouteTableDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRouteTableExists("azurerm_route_table.test"), + ), + }, }, - } + }) +} - for _, tc := range cases { - _, errors := validateRouteTableNextHopType(tc.Value, "azurerm_route_table") +func TestAccAzureRMRouteTable_singleRoute(t *testing.T) { + ri := acctest.RandInt() + config := testAccAzureRMRouteTable_singleRoute(ri, testLocation()) - if len(errors) != tc.ErrCount { - t.Fatalf("Expected the Azure RM Route Table nextHopType to trigger a validation error") - } - } + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMRouteTableDestroy, + Steps: []resource.TestStep{ + { + Config: config, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRouteTableExists("azurerm_route_table.test"), + ), + }, + }, + }) } -func TestAccAzureRMRouteTable_basic(t *testing.T) { - +func TestAccAzureRMRouteTable_removeRoute(t *testing.T) { + resourceName := "azurerm_route_table.test" ri := acctest.RandInt() - config := testAccAzureRMRouteTable_basic(ri, testLocation()) + config := testAccAzureRMRouteTable_singleRoute(ri, testLocation()) + updatedConfig := testAccAzureRMRouteTable_basic(ri, testLocation()) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -71,7 +62,15 @@ func TestAccAzureRMRouteTable_basic(t *testing.T) { { Config: config, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "route.#", "1"), + ), + }, + { + Config: updatedConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "route.#", "0"), ), }, }, @@ -79,7 +78,7 @@ func TestAccAzureRMRouteTable_basic(t *testing.T) { } func TestAccAzureRMRouteTable_disappears(t *testing.T) { - + resourceName := "azurerm_route_table.test" ri := acctest.RandInt() config := testAccAzureRMRouteTable_basic(ri, testLocation()) @@ -91,8 +90,8 @@ func TestAccAzureRMRouteTable_disappears(t *testing.T) { { Config: config, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), - testCheckAzureRMRouteTableDisappears("azurerm_route_table.test"), + testCheckAzureRMRouteTableExists(resourceName), + testCheckAzureRMRouteTableDisappears(resourceName), ), ExpectNonEmptyPlan: true, }, @@ -101,7 +100,7 @@ func TestAccAzureRMRouteTable_disappears(t *testing.T) { } func TestAccAzureRMRouteTable_withTags(t *testing.T) { - + resourceName := "azurerm_route_table.test" ri := acctest.RandInt() preConfig := testAccAzureRMRouteTable_withTags(ri, testLocation()) postConfig := testAccAzureRMRouteTable_withTagsUpdate(ri, testLocation()) @@ -114,23 +113,18 @@ func TestAccAzureRMRouteTable_withTags(t *testing.T) { { Config: preConfig, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "tags.%", "2"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "tags.environment", "Production"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "tags.cost_center", "MSFT"), + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "2"), + resource.TestCheckResourceAttr(resourceName, "tags.environment", "Production"), + resource.TestCheckResourceAttr(resourceName, "tags.cost_center", "MSFT"), ), }, { Config: postConfig, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "tags.%", "1"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "tags.environment", "staging"), + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.environment", "staging"), ), }, }, @@ -138,9 +132,9 @@ func TestAccAzureRMRouteTable_withTags(t *testing.T) { } func TestAccAzureRMRouteTable_multipleRoutes(t *testing.T) { - + resourceName := "azurerm_route_table.test" ri := acctest.RandInt() - preConfig := testAccAzureRMRouteTable_basic(ri, testLocation()) + preConfig := testAccAzureRMRouteTable_singleRoute(ri, testLocation()) postConfig := testAccAzureRMRouteTable_multipleRoutes(ri, testLocation()) resource.Test(t, resource.TestCase{ @@ -151,17 +145,24 @@ func TestAccAzureRMRouteTable_multipleRoutes(t *testing.T) { { Config: preConfig, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "route.#", "1"), + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "route.#", "1"), + resource.TestCheckResourceAttr(resourceName, "route.0.name", "route1"), + resource.TestCheckResourceAttr(resourceName, "route.0.address_prefix", "10.1.0.0/16"), + resource.TestCheckResourceAttr(resourceName, "route.0.next_hop_type", "VnetLocal"), ), }, { Config: postConfig, Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRouteTableExists("azurerm_route_table.test"), - resource.TestCheckResourceAttr( - "azurerm_route_table.test", "route.#", "2"), + testCheckAzureRMRouteTableExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "route.#", "2"), + resource.TestCheckResourceAttr(resourceName, "route.0.name", "route1"), + resource.TestCheckResourceAttr(resourceName, "route.0.address_prefix", "10.1.0.0/16"), + resource.TestCheckResourceAttr(resourceName, "route.0.next_hop_type", "VnetLocal"), + resource.TestCheckResourceAttr(resourceName, "route.1.name", "route2"), + resource.TestCheckResourceAttr(resourceName, "route.1.address_prefix", "10.2.0.0/16"), + resource.TestCheckResourceAttr(resourceName, "route.1.next_hop_type", "VnetLocal"), ), }, }, @@ -173,24 +174,24 @@ func testCheckAzureRMRouteTableExists(name string) resource.TestCheckFunc { rs, ok := s.RootModule().Resources[name] if !ok { - return fmt.Errorf("Not found: %s", name) + return fmt.Errorf("Not found: %q", name) } name := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for route table: %s", name) + return fmt.Errorf("Bad: no resource group found in state for route table: %q", name) } conn := testAccProvider.Meta().(*ArmClient).routeTablesClient resp, err := conn.Get(resourceGroup, name, "") if err != nil { - return fmt.Errorf("Bad: Get on routeTablesClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Route Table %q (resource group: %q) does not exist", name, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Route Table %q (resource group: %q) does not exist", name, resourceGroup) + return fmt.Errorf("Bad: Get on routeTablesClient: %+v", err) } return nil @@ -199,24 +200,25 @@ func testCheckAzureRMRouteTableExists(name string) resource.TestCheckFunc { func testCheckAzureRMRouteTableDisappears(name string) resource.TestCheckFunc { return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] if !ok { - return fmt.Errorf("Not found: %s", name) + return fmt.Errorf("Not found: %q", name) } name := rs.Primary.Attributes["name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for route table: %s", name) + return fmt.Errorf("Bad: no resource group found in state for route table: %q", name) } - conn := testAccProvider.Meta().(*ArmClient).routeTablesClient - - _, error := conn.Delete(resourceGroup, name, make(chan struct{})) - err := <-error + client := testAccProvider.Meta().(*ArmClient).routeTablesClient + deleteResp, deleteErr := client.Delete(resourceGroup, name, make(chan struct{})) + resp := <-deleteResp + err := <-deleteErr if err != nil { - return fmt.Errorf("Bad: Delete on routeTablesClient: %+v", err) + if !utils.ResponseWasNotFound(resp) { + return fmt.Errorf("Bad: Delete on routeTablesClient: %+v", err) + } } return nil @@ -224,7 +226,7 @@ func testCheckAzureRMRouteTableDisappears(name string) resource.TestCheckFunc { } func testCheckAzureRMRouteTableDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*ArmClient).routeTablesClient + client := testAccProvider.Meta().(*ArmClient).routeTablesClient for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_route_table" { @@ -234,15 +236,16 @@ func testCheckAzureRMRouteTableDestroy(s *terraform.State) error { name := rs.Primary.Attributes["name"] resourceGroup := rs.Primary.Attributes["resource_group_name"] - resp, err := conn.Get(resourceGroup, name, "") - + resp, err := client.Get(resourceGroup, name, "") if err != nil { - return nil - } + if utils.ResponseWasNotFound(resp.Response) { + return nil + } - if resp.StatusCode != http.StatusNotFound { - return fmt.Errorf("Route Table still exists:\n%#v", resp.RouteTablePropertiesFormat) + return err } + + return fmt.Errorf("Route Table still exists:\n%#v", resp.RouteTablePropertiesFormat) } return nil @@ -255,6 +258,21 @@ resource "azurerm_resource_group" "test" { location = "%s" } +resource "azurerm_route_table" "test" { + name = "acctestrt%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" +} +`, rInt, location, rInt) +} + +func testAccAzureRMRouteTable_singleRoute(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + resource "azurerm_route_table" "test" { name = "acctestrt%d" location = "${azurerm_resource_group.test.location}" @@ -262,8 +280,8 @@ resource "azurerm_route_table" "test" { route { name = "route1" - address_prefix = "10.1.0.0/16" - next_hop_type = "vnetlocal" + address_prefix = "10.1.0.0/16" + next_hop_type = "vnetlocal" } } `, rInt, location, rInt) @@ -283,14 +301,14 @@ resource "azurerm_route_table" "test" { route { name = "route1" - address_prefix = "10.1.0.0/16" - next_hop_type = "vnetlocal" + address_prefix = "10.1.0.0/16" + next_hop_type = "vnetlocal" } route { name = "route2" - address_prefix = "10.2.0.0/16" - next_hop_type = "vnetlocal" + address_prefix = "10.2.0.0/16" + next_hop_type = "vnetlocal" } } `, rInt, location, rInt) @@ -315,8 +333,8 @@ resource "azurerm_route_table" "test" { } tags { - environment = "Production" - cost_center = "MSFT" + environment = "Production" + cost_center = "MSFT" } } `, rInt, location, rInt) @@ -341,7 +359,7 @@ resource "azurerm_route_table" "test" { } tags { - environment = "staging" + environment = "staging" } } `, rInt, location, rInt) diff --git a/azurerm/resource_arm_route_test.go b/azurerm/resource_arm_route_test.go index 410e25714fbf..e7e23bbc11c2 100644 --- a/azurerm/resource_arm_route_test.go +++ b/azurerm/resource_arm_route_test.go @@ -8,10 +8,10 @@ import ( "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func TestAccAzureRMRoute_basic(t *testing.T) { - ri := acctest.RandInt() config := testAccAzureRMRoute_basic(ri, testLocation()) @@ -31,7 +31,6 @@ func TestAccAzureRMRoute_basic(t *testing.T) { } func TestAccAzureRMRoute_disappears(t *testing.T) { - ri := acctest.RandInt() config := testAccAzureRMRoute_basic(ri, testLocation()) @@ -53,7 +52,6 @@ func TestAccAzureRMRoute_disappears(t *testing.T) { } func TestAccAzureRMRoute_multipleRoutes(t *testing.T) { - ri := acctest.RandInt() location := testLocation() preConfig := testAccAzureRMRoute_basic(ri, location) @@ -86,27 +84,26 @@ func testCheckAzureRMRouteExists(name string) resource.TestCheckFunc { rs, ok := s.RootModule().Resources[name] if !ok { - return fmt.Errorf("Not found: %s", name) + return fmt.Errorf("Not found: %q", name) } name := rs.Primary.Attributes["name"] rtName := rs.Primary.Attributes["route_table_name"] resourceGroup, hasResourceGroup := rs.Primary.Attributes["resource_group_name"] if !hasResourceGroup { - return fmt.Errorf("Bad: no resource group found in state for route: %s", name) + return fmt.Errorf("Bad: no resource group found in state for route: %q", name) } conn := testAccProvider.Meta().(*ArmClient).routesClient resp, err := conn.Get(resourceGroup, rtName, name) if err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Route %q (resource group: %q) does not exist", name, resourceGroup) + } return fmt.Errorf("Bad: Get on routesClient: %+v", err) } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Route %q (resource group: %q) does not exist", name, resourceGroup) - } - return nil } } diff --git a/azurerm/resource_arm_subnet.go b/azurerm/resource_arm_subnet.go index fafca054ca78..6d73fffe4aba 100644 --- a/azurerm/resource_arm_subnet.go +++ b/azurerm/resource_arm_subnet.go @@ -44,13 +44,11 @@ func resourceArmSubnet() *schema.Resource { "network_security_group_id": { Type: schema.TypeString, Optional: true, - Computed: true, }, "route_table_id": { Type: schema.TypeString, Optional: true, - Computed: true, }, "ip_configurations": { @@ -65,8 +63,7 @@ func resourceArmSubnet() *schema.Resource { } func resourceArmSubnetCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*ArmClient) - subnetClient := client.subnetClient + client := meta.(*ArmClient).subnetClient log.Printf("[INFO] preparing arguments for Azure ARM Subnet creation.") @@ -117,13 +114,13 @@ func resourceArmSubnetCreate(d *schema.ResourceData, meta interface{}) error { SubnetPropertiesFormat: &properties, } - _, error := subnetClient.CreateOrUpdate(resGroup, vnetName, name, subnet, make(chan struct{})) - err := <-error + _, createErr := client.CreateOrUpdate(resGroup, vnetName, name, subnet, make(chan struct{})) + err := <-createErr if err != nil { return err } - read, err := subnetClient.Get(resGroup, vnetName, name, "") + read, err := client.Get(resGroup, vnetName, name, "") if err != nil { return err } @@ -137,7 +134,7 @@ func resourceArmSubnetCreate(d *schema.ResourceData, meta interface{}) error { } func resourceArmSubnetRead(d *schema.ResourceData, meta interface{}) error { - subnetClient := meta.(*ArmClient).subnetClient + client := meta.(*ArmClient).subnetClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -147,51 +144,42 @@ func resourceArmSubnetRead(d *schema.ResourceData, meta interface{}) error { vnetName := id.Path["virtualNetworks"] name := id.Path["subnets"] - resp, err := subnetClient.Get(resGroup, vnetName, name, "") + resp, err := client.Get(resGroup, vnetName, name, "") if err != nil { if utils.ResponseWasNotFound(resp.Response) { d.SetId("") return nil } - return fmt.Errorf("Error making Read request on Azure Subnet %s: %+v", name, err) + return fmt.Errorf("Error making Read request on Azure Subnet %q: %+v", name, err) } d.Set("name", name) d.Set("resource_group_name", resGroup) d.Set("virtual_network_name", vnetName) - d.Set("address_prefix", resp.SubnetPropertiesFormat.AddressPrefix) - if resp.SubnetPropertiesFormat.NetworkSecurityGroup != nil { - d.Set("network_security_group_id", resp.SubnetPropertiesFormat.NetworkSecurityGroup.ID) - } else { - d.Set("network_security_group_id", "") - } + if props := resp.SubnetPropertiesFormat; props != nil { + d.Set("address_prefix", props.AddressPrefix) - if resp.SubnetPropertiesFormat.RouteTable != nil { - d.Set("route_table_id", resp.SubnetPropertiesFormat.RouteTable.ID) - } else { - d.Set("route_table_id", "") - } + if props.NetworkSecurityGroup != nil { + d.Set("network_security_group_id", props.NetworkSecurityGroup.ID) + } - if resp.SubnetPropertiesFormat.IPConfigurations != nil { - ips := make([]string, 0, len(*resp.SubnetPropertiesFormat.IPConfigurations)) - for _, ip := range *resp.SubnetPropertiesFormat.IPConfigurations { - ips = append(ips, *ip.ID) + if props.RouteTable != nil { + d.Set("route_table_id", props.RouteTable.ID) } + ips := flattenSubnetIPConfigurations(props.IPConfigurations) if err := d.Set("ip_configurations", ips); err != nil { return err } - } else { - d.Set("ip_configurations", []string{}) } return nil } func resourceArmSubnetDelete(d *schema.ResourceData, meta interface{}) error { - subnetClient := meta.(*ArmClient).subnetClient + client := meta.(*ArmClient).subnetClient id, err := parseAzureResourceID(d.Id()) if err != nil { @@ -229,8 +217,20 @@ func resourceArmSubnetDelete(d *schema.ResourceData, meta interface{}) error { azureRMLockByName(name, subnetResourceName) defer azureRMUnlockByName(name, subnetResourceName) - _, error := subnetClient.Delete(resGroup, vnetName, name, make(chan struct{})) - err = <-error + _, deleteErr := client.Delete(resGroup, vnetName, name, make(chan struct{})) + err = <-deleteErr return err } + +func flattenSubnetIPConfigurations(ipConfigurations *[]network.IPConfiguration) []string { + ips := make([]string, 0) + + if ipConfigurations != nil { + for _, ip := range *ipConfigurations { + ips = append(ips, *ip.ID) + } + } + + return ips +} diff --git a/azurerm/resource_arm_subnet_test.go b/azurerm/resource_arm_subnet_test.go index 33a0ca215fee..b93ed0df12e7 100644 --- a/azurerm/resource_arm_subnet_test.go +++ b/azurerm/resource_arm_subnet_test.go @@ -3,13 +3,13 @@ package azurerm import ( "fmt" "log" - "net/http" "strings" "testing" "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" + "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) func TestAccAzureRMSubnet_basic(t *testing.T) { @@ -33,7 +33,6 @@ func TestAccAzureRMSubnet_basic(t *testing.T) { } func TestAccAzureRMSubnet_routeTableUpdate(t *testing.T) { - ri := acctest.RandInt() location := testLocation() initConfig := testAccAzureRMSubnet_routeTable(ri, location) @@ -61,6 +60,68 @@ func TestAccAzureRMSubnet_routeTableUpdate(t *testing.T) { }) } +func TestAccAzureRMSubnet_routeTableRemove(t *testing.T) { + resourceName := "azurerm_subnet.test" + ri := acctest.RandInt() + location := testLocation() + initConfig := testAccAzureRMSubnet_routeTable(ri, location) + updatedConfig := testAccAzureRMSubnet_routeTableUnlinked(ri, location) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMSubnetDestroy, + Steps: []resource.TestStep{ + { + Config: initConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMSubnetExists(resourceName), + resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), + ), + }, + + { + Config: updatedConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMSubnetExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "route_table_id", ""), + ), + }, + }, + }) +} + +func TestAccAzureRMSubnet_removeNetworkSecurityGroup(t *testing.T) { + resourceName := "azurerm_subnet.test" + ri := acctest.RandInt() + location := testLocation() + initConfig := testAccAzureRMSubnet_networkSecurityGroup(ri, location) + updatedConfig := testAccAzureRMSubnet_networkSecurityGroupDetached(ri, location) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMSubnetDestroy, + Steps: []resource.TestStep{ + { + Config: initConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMSubnetExists(resourceName), + resource.TestCheckResourceAttrSet(resourceName, "network_security_group_id"), + ), + }, + + { + Config: updatedConfig, + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMSubnetExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "network_security_group_id", ""), + ), + }, + }, + }) +} + func TestAccAzureRMSubnet_bug7986(t *testing.T) { ri := acctest.RandInt() initConfig := testAccAzureRMSubnet_bug7986(ri, testLocation()) @@ -101,7 +162,6 @@ func TestAccAzureRMSubnet_bug15204(t *testing.T) { } func TestAccAzureRMSubnet_disappears(t *testing.T) { - ri := acctest.RandInt() config := testAccAzureRMSubnet_basic(ri, testLocation()) @@ -143,15 +203,11 @@ func testCheckAzureRMSubnetExists(name string) resource.TestCheckFunc { resp, err := conn.Get(resourceGroup, vnetName, name, "") if err != nil { - return fmt.Errorf("Bad: Get on subnetClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Subnet %q (resource group: %q) does not exist", name, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Subnet %q (resource group: %q) does not exist", name, resourceGroup) - } - - if resp.RouteTable == nil { - return fmt.Errorf("Bad: Subnet %q (resource group: %q) does not contain route tables after add", name, resourceGroup) + return fmt.Errorf("Bad: Get on subnetClient: %+v", err) } return nil @@ -189,11 +245,11 @@ func testCheckAzureRMSubnetRouteTableExists(subnetName string, routeTableId stri resp, err := conn.Get(resourceGroup, vnetName, name, "") if err != nil { - return fmt.Errorf("Bad: Get on subnetClient: %+v", err) - } + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Subnet %q (resource group: %q) does not exist", subnetName, resourceGroup) + } - if resp.StatusCode == http.StatusNotFound { - return fmt.Errorf("Bad: Subnet %q (resource group: %q) does not exist", subnetName, resourceGroup) + return fmt.Errorf("Bad: Get on subnetClient: %+v", err) } if resp.RouteTable == nil { @@ -223,12 +279,14 @@ func testCheckAzureRMSubnetDisappears(name string) resource.TestCheckFunc { return fmt.Errorf("Bad: no resource group found in state for subnet: %s", name) } - conn := testAccProvider.Meta().(*ArmClient).subnetClient - - _, error := conn.Delete(resourceGroup, vnetName, name, make(chan struct{})) - err := <-error + client := testAccProvider.Meta().(*ArmClient).subnetClient + deleteResp, deleteErr := client.Delete(resourceGroup, vnetName, name, make(chan struct{})) + resp := <-deleteResp + err := <-deleteErr if err != nil { - return fmt.Errorf("Bad: Delete on subnetClient: %+v", err) + if !utils.ResponseWasNotFound(resp) { + return fmt.Errorf("Bad: Delete on subnetClient: %+v", err) + } } return nil @@ -236,7 +294,7 @@ func testCheckAzureRMSubnetDisappears(name string) resource.TestCheckFunc { } func testCheckAzureRMSubnetDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*ArmClient).subnetClient + client := testAccProvider.Meta().(*ArmClient).subnetClient for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_subnet" { @@ -247,15 +305,13 @@ func testCheckAzureRMSubnetDestroy(s *terraform.State) error { vnetName := rs.Primary.Attributes["virtual_network_name"] resourceGroup := rs.Primary.Attributes["resource_group_name"] - resp, err := conn.Get(resourceGroup, vnetName, name, "") - + resp, err := client.Get(resourceGroup, vnetName, name, "") if err != nil { + if !utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Subnet still exists:\n%#v", resp.SubnetPropertiesFormat) + } return nil } - - if resp.StatusCode != http.StatusNotFound { - return fmt.Errorf("Subnet still exists:\n%#v", resp.SubnetPropertiesFormat) - } } return nil @@ -280,28 +336,48 @@ resource "azurerm_subnet" "test" { resource_group_name = "${azurerm_resource_group.test.name}" virtual_network_name = "${azurerm_virtual_network.test.name}" address_prefix = "10.0.2.0/24" - route_table_id = "${azurerm_route_table.test.id}" +} +`, rInt, location, rInt, rInt) } -resource "azurerm_route_table" "test" { - name = "acctestroutetable%d" - resource_group_name = "${azurerm_resource_group.test.name}" +func testAccAzureRMSubnet_routeTable(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + +resource "azurerm_virtual_network" "test" { + name = "acctestvirtnet%d" + address_space = ["10.0.0.0/16"] location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" } -resource "azurerm_route" "test" { - name = "acctestroute%d" +resource "azurerm_subnet" "test" { + name = "acctestsubnet%d" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.2.0/24" + route_table_id = "${azurerm_route_table.test.id}" +} + +resource "azurerm_route_table" "test" { + name = "acctest-%d" + location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" - route_table_name = "${azurerm_route_table.test.name}" - address_prefix = "10.100.0.0/14" - next_hop_type = "VirtualAppliance" - next_hop_in_ip_address = "10.10.1.1" + route { + name = "acctest-%d" + address_prefix = "10.100.0.0/14" + next_hop_type = "VirtualAppliance" + next_hop_in_ip_address = "10.10.1.1" + } } `, rInt, location, rInt, rInt, rInt, rInt) } -func testAccAzureRMSubnet_routeTable(rInt int, location string) string { +func testAccAzureRMSubnet_routeTableUnlinked(rInt int, location string) string { return fmt.Sprintf(` resource "azurerm_resource_group" "test" { name = "acctestRG-%d" @@ -320,23 +396,19 @@ resource "azurerm_subnet" "test" { resource_group_name = "${azurerm_resource_group.test.name}" virtual_network_name = "${azurerm_virtual_network.test.name}" address_prefix = "10.0.2.0/24" - route_table_id = "${azurerm_route_table.test.id}" } resource "azurerm_route_table" "test" { name = "acctest-%d" location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" -} - -resource "azurerm_route" "route_a" { - name = "acctest-%d" - resource_group_name = "${azurerm_resource_group.test.name}" - route_table_name = "${azurerm_route_table.test.name}" - address_prefix = "10.100.0.0/14" - next_hop_type = "VirtualAppliance" - next_hop_in_ip_address = "10.10.1.1" + route { + name = "acctest-%d" + address_prefix = "10.100.0.0/14" + next_hop_type = "VirtualAppliance" + next_hop_in_ip_address = "10.10.1.1" + } } `, rInt, location, rInt, rInt, rInt, rInt) } @@ -398,30 +470,87 @@ resource "azurerm_route_table" "test" { location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" + route { + name = "acctest-%d" + address_prefix = "10.100.0.0/14" + next_hop_type = "VirtualAppliance" + next_hop_in_ip_address = "10.10.1.1" + } + tags { environment = "Testing" } } +`, rInt, location, rInt, rInt, rInt, rInt, rInt, rInt) +} -resource "azurerm_route" "route_a" { - name = "acctest-%d" +func testAccAzureRMSubnet_networkSecurityGroup(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctest%d-rg" + location = "%s" +} + +resource "azurerm_network_security_group" "test" { + name = "acctestnsg%d" + location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" - route_table_name = "${azurerm_route_table.test.name}" - address_prefix = "10.100.0.0/14" - next_hop_type = "VirtualAppliance" - next_hop_in_ip_address = "10.10.1.1" + security_rule { + name = "test123" + priority = 100 + direction = "Inbound" + access = "Allow" + protocol = "Tcp" + source_port_range = "*" + destination_port_range = "*" + source_address_prefix = "*" + destination_address_prefix = "*" + } } -`, rInt, location, rInt, rInt, rInt, rInt, rInt, rInt) + +resource "azurerm_virtual_network" "test" { + name = "acctest%d-vn" + address_space = ["10.0.0.0/16"] + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" } -func testAccAzureRMSubnet_bug7986(rInt int, location string) string { +resource "azurerm_subnet" "test" { + name = "acctest%d-private" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.0.0/24" + network_security_group_id = "${azurerm_network_security_group.test.id}" +} +`, rInt, location, rInt, rInt, rInt) +} + +func testAccAzureRMSubnet_networkSecurityGroupDetached(rInt int, location string) string { return fmt.Sprintf(` resource "azurerm_resource_group" "test" { name = "acctest%d-rg" location = "%s" } +resource "azurerm_network_security_group" "test" { + name = "acctestnsg%d" + location = "${azurerm_resource_group.test.location}" + resource_group_name = "${azurerm_resource_group.test.name}" + + security_rule { + name = "test123" + priority = 100 + direction = "Inbound" + access = "Allow" + protocol = "Tcp" + source_port_range = "*" + destination_port_range = "*" + source_address_prefix = "*" + destination_address_prefix = "*" + } +} + resource "azurerm_virtual_network" "test" { name = "acctest%d-vn" address_space = ["10.0.0.0/16"] @@ -429,18 +558,39 @@ resource "azurerm_virtual_network" "test" { resource_group_name = "${azurerm_resource_group.test.name}" } -resource "azurerm_route_table" "first" { - name = "acctest%d-private-1" +resource "azurerm_subnet" "test" { + name = "acctest%d-private" + resource_group_name = "${azurerm_resource_group.test.name}" + virtual_network_name = "${azurerm_virtual_network.test.name}" + address_prefix = "10.0.0.0/24" +} +`, rInt, location, rInt, rInt, rInt) +} + +func testAccAzureRMSubnet_bug7986(rInt int, location string) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "acctest%d-rg" + location = "%s" +} + +resource "azurerm_virtual_network" "test" { + name = "acctest%d-vn" + address_space = ["10.0.0.0/16"] location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" } -resource "azurerm_route" "first" { +resource "azurerm_route_table" "first" { name = "acctest%d-private-1" + location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" - route_table_name = "${azurerm_route_table.first.name}" - address_prefix = "0.0.0.0/0" - next_hop_type = "None" + + route { + name = "acctest%d-private-1" + address_prefix = "0.0.0.0/0" + next_hop_type = "None" + } } resource "azurerm_subnet" "first" { @@ -455,14 +605,12 @@ resource "azurerm_route_table" "second" { name = "acctest%d-private-2" location = "${azurerm_resource_group.test.location}" resource_group_name = "${azurerm_resource_group.test.name}" -} -resource "azurerm_route" "second" { - name = "acctest%d-private-2" - resource_group_name = "${azurerm_resource_group.test.name}" - route_table_name = "${azurerm_route_table.second.name}" - address_prefix = "0.0.0.0/0" - next_hop_type = "None" + route { + name = "acctest%d-private-2" + address_prefix = "0.0.0.0/0" + next_hop_type = "None" + } } resource "azurerm_subnet" "second" { @@ -471,7 +619,8 @@ resource "azurerm_subnet" "second" { virtual_network_name = "${azurerm_virtual_network.test.name}" address_prefix = "10.0.1.0/24" route_table_id = "${azurerm_route_table.second.id}" -}`, rInt, location, rInt, rInt, rInt, rInt, rInt, rInt, rInt) +} +`, rInt, location, rInt, rInt, rInt, rInt, rInt, rInt, rInt) } func testAccAzureRMSubnet_bug15204(rInt int, location string) string { diff --git a/azurerm/testdata/keyvaultcert.pfx b/azurerm/testdata/keyvaultcert.pfx new file mode 100644 index 000000000000..28af8bf52e9a Binary files /dev/null and b/azurerm/testdata/keyvaultcert.pfx differ diff --git a/azurerm/validators.go b/azurerm/validators.go index f224c8a4eb2b..a6405ed8ea6b 100644 --- a/azurerm/validators.go +++ b/azurerm/validators.go @@ -63,3 +63,14 @@ func validateDBAccountName(v interface{}, k string) (ws []string, errors []error return } + +func validateStringLength(maxLength int) schema.SchemaValidateFunc { + return func(v interface{}, k string) (ws []string, errors []error) { + value := v.(string) + if len(value) > maxLength { + errors = append(errors, fmt.Errorf( + "The %q can be no longer than %d chars", k, maxLength)) + } + return + } +} diff --git a/examples/aci-linux-volume-mount/main.tf b/examples/aci-linux-volume-mount/main.tf new file mode 100644 index 000000000000..337bcafcaac4 --- /dev/null +++ b/examples/aci-linux-volume-mount/main.tf @@ -0,0 +1,50 @@ +resource "azurerm_resource_group" "aci-rg" { + name = "aci-test" + location = "west us" +} + +resource "azurerm_storage_account" "aci-sa" { + name = "acistorageacct" + resource_group_name = "${azurerm_resource_group.aci-rg.name}" + location = "${azurerm_resource_group.aci-rg.location}" + account_type = "Standard_LRS" +} + +resource "azurerm_storage_share" "aci-share" { + name = "aci-test-share" + + resource_group_name = "${azurerm_resource_group.aci-rg.name}" + storage_account_name = "${azurerm_storage_account.aci-sa.name}" + + quota = 50 +} + +resource "azurerm_container_group" "myhw" { + + name = "mycontainergroup" + location = "${azurerm_resource_group.aci-rg.location}" + resource_group_name = "${azurerm_resource_group.aci-rg.name}" + ip_address_type="public" + os_type = "linux" + + container { + name = "webserver" + image = "seanmckenna/aci-hellofiles" + cpu ="1" + memory = "1.5" + port = "80" + protocol = "tcp" + + volume { + name = "logs" + mount_path = "/aci/logs" + read_only = false + share_name = "${azurerm_storage_share.aci-share.name}" + storage_account_name = "${azurerm_storage_account.aci-sa.name}" + storage_account_key = "${azurerm_storage_account.aci-sa.primary_access_key}" + } + } + tags { + environment = "testing" + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go new file mode 100755 index 000000000000..50824a38a3dc --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go @@ -0,0 +1,133 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ClassicAdministratorsClient is the role based access control provides you a +// way to apply granular level policy administration down to individual +// resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of +// actions that can be performed on resources. A role assignment grants access +// to Azure Active Directory users. +type ClassicAdministratorsClient struct { + ManagementClient +} + +// NewClassicAdministratorsClient creates an instance of the +// ClassicAdministratorsClient client. +func NewClassicAdministratorsClient(subscriptionID string) ClassicAdministratorsClient { + return NewClassicAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewClassicAdministratorsClientWithBaseURI creates an instance of the +// ClassicAdministratorsClient client. +func NewClassicAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ClassicAdministratorsClient { + return ClassicAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets service administrator, account administrator, and +// co-administrators for the subscription. +func (client ClassicAdministratorsClient) List() (result ClassicAdministratorListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ClassicAdministratorsClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ClassicAdministratorsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ClassicAdministratorsClient) ListResponder(resp *http.Response) (result ClassicAdministratorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ClassicAdministratorsClient) ListNextResults(lastResults ClassicAdministratorListResult) (result ClassicAdministratorListResult, err error) { + req, err := lastResults.ClassicAdministratorListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ClassicAdministratorsClient", "List", resp, "Failure responding to next results request") + } + + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go new file mode 100755 index 000000000000..5330315d287c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go @@ -0,0 +1,57 @@ +// Package authorization implements the Azure ARM Authorization service API +// version 2015-07-01. +// +// Role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These +// operations enable you to manage role definitions and role assignments. A +// role definition describes the set of actions that can be performed on +// resources. A role assignment grants access to Azure Active Directory users. +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Authorization + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Authorization. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go new file mode 100755 index 000000000000..b615a2c3ec2b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go @@ -0,0 +1,223 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "net/http" +) + +// ClassicAdministrator is classic Administrators +type ClassicAdministrator struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties *ClassicAdministratorProperties `json:"properties,omitempty"` +} + +// ClassicAdministratorListResult is classicAdministrator list result +// information. +type ClassicAdministratorListResult struct { + autorest.Response `json:"-"` + Value *[]ClassicAdministrator `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ClassicAdministratorListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ClassicAdministratorListResult) ClassicAdministratorListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ClassicAdministratorProperties is classic Administrator properties. +type ClassicAdministratorProperties struct { + EmailAddress *string `json:"emailAddress,omitempty"` + Role *string `json:"role,omitempty"` +} + +// Permission is role definition permissions. +type Permission struct { + Actions *[]string `json:"actions,omitempty"` + NotActions *[]string `json:"notActions,omitempty"` +} + +// PermissionGetResult is permissions information. +type PermissionGetResult struct { + autorest.Response `json:"-"` + Value *[]Permission `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// PermissionGetResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client PermissionGetResult) PermissionGetResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ProviderOperation is operation +type ProviderOperation struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Description *string `json:"description,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties *map[string]interface{} `json:"properties,omitempty"` +} + +// ProviderOperationsMetadata is provider Operations metadata +type ProviderOperationsMetadata struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + ResourceTypes *[]ResourceType `json:"resourceTypes,omitempty"` + Operations *[]ProviderOperation `json:"operations,omitempty"` +} + +// ProviderOperationsMetadataListResult is provider operations metadata list +type ProviderOperationsMetadataListResult struct { + autorest.Response `json:"-"` + Value *[]ProviderOperationsMetadata `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ProviderOperationsMetadataListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ProviderOperationsMetadataListResult) ProviderOperationsMetadataListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ResourceType is resource Type +type ResourceType struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Operations *[]ProviderOperation `json:"operations,omitempty"` +} + +// RoleAssignment is role Assignments +type RoleAssignment struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties *RoleAssignmentPropertiesWithScope `json:"properties,omitempty"` +} + +// RoleAssignmentCreateParameters is role assignment create parameters. +type RoleAssignmentCreateParameters struct { + Properties *RoleAssignmentProperties `json:"properties,omitempty"` +} + +// RoleAssignmentFilter is role Assignments filter +type RoleAssignmentFilter struct { + PrincipalID *string `json:"principalId,omitempty"` +} + +// RoleAssignmentListResult is role assignment list operation result. +type RoleAssignmentListResult struct { + autorest.Response `json:"-"` + Value *[]RoleAssignment `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// RoleAssignmentListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client RoleAssignmentListResult) RoleAssignmentListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// RoleAssignmentProperties is role assignment properties. +type RoleAssignmentProperties struct { + RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` + PrincipalID *string `json:"principalId,omitempty"` +} + +// RoleAssignmentPropertiesWithScope is role assignment properties with scope. +type RoleAssignmentPropertiesWithScope struct { + Scope *string `json:"scope,omitempty"` + RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` + PrincipalID *string `json:"principalId,omitempty"` +} + +// RoleDefinition is role definition. +type RoleDefinition struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties *RoleDefinitionProperties `json:"properties,omitempty"` +} + +// RoleDefinitionFilter is role Definitions filter +type RoleDefinitionFilter struct { + RoleName *string `json:"roleName,omitempty"` +} + +// RoleDefinitionListResult is role definition list operation result. +type RoleDefinitionListResult struct { + autorest.Response `json:"-"` + Value *[]RoleDefinition `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// RoleDefinitionListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client RoleDefinitionListResult) RoleDefinitionListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// RoleDefinitionProperties is role definition properties. +type RoleDefinitionProperties struct { + RoleName *string `json:"roleName,omitempty"` + Description *string `json:"description,omitempty"` + Type *string `json:"type,omitempty"` + Permissions *[]Permission `json:"permissions,omitempty"` + AssignableScopes *[]string `json:"assignableScopes,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go new file mode 100755 index 000000000000..36abbb9c2c94 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go @@ -0,0 +1,232 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// PermissionsClient is the role based access control provides you a way to +// apply granular level policy administration down to individual resources or +// resource groups. These operations enable you to manage role definitions and +// role assignments. A role definition describes the set of actions that can be +// performed on resources. A role assignment grants access to Azure Active +// Directory users. +type PermissionsClient struct { + ManagementClient +} + +// NewPermissionsClient creates an instance of the PermissionsClient client. +func NewPermissionsClient(subscriptionID string) PermissionsClient { + return NewPermissionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPermissionsClientWithBaseURI creates an instance of the PermissionsClient +// client. +func NewPermissionsClientWithBaseURI(baseURI string, subscriptionID string) PermissionsClient { + return PermissionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListForResource gets all permissions the caller has for a resource. +// +// resourceGroupName is the name of the resource group containing the resource. +// The name is case insensitive. resourceProviderNamespace is the namespace of +// the resource provider. parentResourcePath is the parent resource identity. +// resourceType is the resource type of the resource. resourceName is the name +// of the resource to get the permissions for. +func (client PermissionsClient) ListForResource(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result PermissionGetResult, err error) { + req, err := client.ListForResourcePreparer(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", resp, "Failure sending request") + return + } + + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", resp, "Failure responding to request") + } + + return +} + +// ListForResourcePreparer prepares the ListForResource request. +func (client PermissionsClient) ListForResourcePreparer(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListForResourceSender sends the ListForResource request. The method will close the +// http.Response Body if it receives an error. +func (client PermissionsClient) ListForResourceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListForResourceResponder handles the response to the ListForResource request. The method always +// closes the http.Response Body. +func (client PermissionsClient) ListForResourceResponder(resp *http.Response) (result PermissionGetResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListForResourceNextResults retrieves the next set of results, if any. +func (client PermissionsClient) ListForResourceNextResults(lastResults PermissionGetResult) (result PermissionGetResult, err error) { + req, err := lastResults.PermissionGetResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", resp, "Failure sending next results request") + } + + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResource", resp, "Failure responding to next results request") + } + + return +} + +// ListForResourceGroup gets all permissions the caller has for a resource +// group. +// +// resourceGroupName is the name of the resource group to get the permissions +// for. The name is case insensitive. +func (client PermissionsClient) ListForResourceGroup(resourceGroupName string) (result PermissionGetResult, err error) { + req, err := client.ListForResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListForResourceGroupPreparer prepares the ListForResourceGroup request. +func (client PermissionsClient) ListForResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListForResourceGroupSender sends the ListForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PermissionsClient) ListForResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListForResourceGroupResponder handles the response to the ListForResourceGroup request. The method always +// closes the http.Response Body. +func (client PermissionsClient) ListForResourceGroupResponder(resp *http.Response) (result PermissionGetResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListForResourceGroupNextResults retrieves the next set of results, if any. +func (client PermissionsClient) ListForResourceGroupNextResults(lastResults PermissionGetResult) (result PermissionGetResult, err error) { + req, err := lastResults.PermissionGetResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.PermissionsClient", "ListForResourceGroup", resp, "Failure responding to next results request") + } + + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go new file mode 100755 index 000000000000..5208637b55fe --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go @@ -0,0 +1,200 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ProviderOperationsMetadataClient is the role based access control provides +// you a way to apply granular level policy administration down to individual +// resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of +// actions that can be performed on resources. A role assignment grants access +// to Azure Active Directory users. +type ProviderOperationsMetadataClient struct { + ManagementClient +} + +// NewProviderOperationsMetadataClient creates an instance of the +// ProviderOperationsMetadataClient client. +func NewProviderOperationsMetadataClient(subscriptionID string) ProviderOperationsMetadataClient { + return NewProviderOperationsMetadataClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProviderOperationsMetadataClientWithBaseURI creates an instance of the +// ProviderOperationsMetadataClient client. +func NewProviderOperationsMetadataClientWithBaseURI(baseURI string, subscriptionID string) ProviderOperationsMetadataClient { + return ProviderOperationsMetadataClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets provider operations metadata for the specified resource provider. +// +// resourceProviderNamespace is the namespace of the resource provider. expand +// is specifies whether to expand the values. +func (client ProviderOperationsMetadataClient) Get(resourceProviderNamespace string, expand string) (result ProviderOperationsMetadata, err error) { + req, err := client.GetPreparer(resourceProviderNamespace, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProviderOperationsMetadataClient) GetPreparer(resourceProviderNamespace string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderOperationsMetadataClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProviderOperationsMetadataClient) GetResponder(resp *http.Response) (result ProviderOperationsMetadata, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets provider operations metadata for all resource providers. +// +// expand is specifies whether to expand the values. +func (client ProviderOperationsMetadataClient) List(expand string) (result ProviderOperationsMetadataListResult, err error) { + req, err := client.ListPreparer(expand) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ProviderOperationsMetadataClient) ListPreparer(expand string) (*http.Request, error) { + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Authorization/providerOperations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderOperationsMetadataClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ProviderOperationsMetadataClient) ListResponder(resp *http.Response) (result ProviderOperationsMetadataListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ProviderOperationsMetadataClient) ListNextResults(lastResults ProviderOperationsMetadataListResult) (result ProviderOperationsMetadataListResult, err error) { + req, err := lastResults.ProviderOperationsMetadataListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.ProviderOperationsMetadataClient", "List", resp, "Failure responding to next results request") + } + + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go new file mode 100755 index 000000000000..6f02c9550dac --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go @@ -0,0 +1,825 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RoleAssignmentsClient is the role based access control provides you a way to +// apply granular level policy administration down to individual resources or +// resource groups. These operations enable you to manage role definitions and +// role assignments. A role definition describes the set of actions that can be +// performed on resources. A role assignment grants access to Azure Active +// Directory users. +type RoleAssignmentsClient struct { + ManagementClient +} + +// NewRoleAssignmentsClient creates an instance of the RoleAssignmentsClient +// client. +func NewRoleAssignmentsClient(subscriptionID string) RoleAssignmentsClient { + return NewRoleAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRoleAssignmentsClientWithBaseURI creates an instance of the +// RoleAssignmentsClient client. +func NewRoleAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) RoleAssignmentsClient { + return RoleAssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a role assignment. +// +// scope is the scope of the role assignment to create. The scope can be any +// REST resource instance. For example, use '/subscriptions/{subscription-id}/' +// for a subscription, +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for +// a resource group, and +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' +// for a resource. roleAssignmentName is the name of the role assignment to +// create. It can be any valid GUID. parameters is parameters for the role +// assignment. +func (client RoleAssignmentsClient) Create(scope string, roleAssignmentName string, parameters RoleAssignmentCreateParameters) (result RoleAssignment, err error) { + req, err := client.CreatePreparer(scope, roleAssignmentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client RoleAssignmentsClient) CreatePreparer(scope string, roleAssignmentName string, parameters RoleAssignmentCreateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentName": autorest.Encode("path", roleAssignmentName), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) CreateResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateByID creates a role assignment by ID. +// +// roleAssignmentID is the ID of the role assignment to create. parameters is +// parameters for the role assignment. +func (client RoleAssignmentsClient) CreateByID(roleAssignmentID string, parameters RoleAssignmentCreateParameters) (result RoleAssignment, err error) { + req, err := client.CreateByIDPreparer(roleAssignmentID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "CreateByID", nil, "Failure preparing request") + return + } + + resp, err := client.CreateByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "CreateByID", resp, "Failure sending request") + return + } + + result, err = client.CreateByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "CreateByID", resp, "Failure responding to request") + } + + return +} + +// CreateByIDPreparer prepares the CreateByID request. +func (client RoleAssignmentsClient) CreateByIDPreparer(roleAssignmentID string, parameters RoleAssignmentCreateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentId": roleAssignmentID, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{roleAssignmentId}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateByIDSender sends the CreateByID request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) CreateByIDSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateByIDResponder handles the response to the CreateByID request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) CreateByIDResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a role assignment. +// +// scope is the scope of the role assignment to delete. roleAssignmentName is +// the name of the role assignment to delete. +func (client RoleAssignmentsClient) Delete(scope string, roleAssignmentName string) (result RoleAssignment, err error) { + req, err := client.DeletePreparer(scope, roleAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoleAssignmentsClient) DeletePreparer(scope string, roleAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentName": autorest.Encode("path", roleAssignmentName), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) DeleteResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteByID deletes a role assignment. +// +// roleAssignmentID is the ID of the role assignment to delete. +func (client RoleAssignmentsClient) DeleteByID(roleAssignmentID string) (result RoleAssignment, err error) { + req, err := client.DeleteByIDPreparer(roleAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "DeleteByID", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "DeleteByID", resp, "Failure sending request") + return + } + + result, err = client.DeleteByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "DeleteByID", resp, "Failure responding to request") + } + + return +} + +// DeleteByIDPreparer prepares the DeleteByID request. +func (client RoleAssignmentsClient) DeleteByIDPreparer(roleAssignmentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentId": roleAssignmentID, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{roleAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteByIDSender sends the DeleteByID request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) DeleteByIDSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteByIDResponder handles the response to the DeleteByID request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) DeleteByIDResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get get the specified role assignment. +// +// scope is the scope of the role assignment. roleAssignmentName is the name of +// the role assignment to get. +func (client RoleAssignmentsClient) Get(scope string, roleAssignmentName string) (result RoleAssignment, err error) { + req, err := client.GetPreparer(scope, roleAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoleAssignmentsClient) GetPreparer(scope string, roleAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentName": autorest.Encode("path", roleAssignmentName), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) GetResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetByID gets a role assignment by ID. +// +// roleAssignmentID is the ID of the role assignment to get. +func (client RoleAssignmentsClient) GetByID(roleAssignmentID string) (result RoleAssignment, err error) { + req, err := client.GetByIDPreparer(roleAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "GetByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "GetByID", resp, "Failure sending request") + return + } + + result, err = client.GetByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "GetByID", resp, "Failure responding to request") + } + + return +} + +// GetByIDPreparer prepares the GetByID request. +func (client RoleAssignmentsClient) GetByIDPreparer(roleAssignmentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleAssignmentId": roleAssignmentID, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{roleAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetByIDSender sends the GetByID request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) GetByIDSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetByIDResponder handles the response to the GetByID request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) GetByIDResponder(resp *http.Response) (result RoleAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all role assignments for the subscription. +// +// filter is the filter to apply on the operation. Use $filter=atScope() to +// return all role assignments at or above the scope. Use $filter=principalId +// eq {id} to return all role assignments at, above or below the scope for the +// specified principal. +func (client RoleAssignmentsClient) List(filter string) (result RoleAssignmentListResult, err error) { + req, err := client.ListPreparer(filter) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RoleAssignmentsClient) ListPreparer(filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) ListResponder(resp *http.Response) (result RoleAssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client RoleAssignmentsClient) ListNextResults(lastResults RoleAssignmentListResult) (result RoleAssignmentListResult, err error) { + req, err := lastResults.RoleAssignmentListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListForResource gets role assignments for a resource. +// +// resourceGroupName is the name of the resource group. +// resourceProviderNamespace is the namespace of the resource provider. +// parentResourcePath is the parent resource identity. resourceType is the +// resource type of the resource. resourceName is the name of the resource to +// get role assignments for. filter is the filter to apply on the operation. +// Use $filter=atScope() to return all role assignments at or above the scope. +// Use $filter=principalId eq {id} to return all role assignments at, above or +// below the scope for the specified principal. +func (client RoleAssignmentsClient) ListForResource(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result RoleAssignmentListResult, err error) { + req, err := client.ListForResourcePreparer(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", resp, "Failure sending request") + return + } + + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", resp, "Failure responding to request") + } + + return +} + +// ListForResourcePreparer prepares the ListForResource request. +func (client RoleAssignmentsClient) ListForResourcePreparer(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListForResourceSender sends the ListForResource request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) ListForResourceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListForResourceResponder handles the response to the ListForResource request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) ListForResourceResponder(resp *http.Response) (result RoleAssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListForResourceNextResults retrieves the next set of results, if any. +func (client RoleAssignmentsClient) ListForResourceNextResults(lastResults RoleAssignmentListResult) (result RoleAssignmentListResult, err error) { + req, err := lastResults.RoleAssignmentListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", resp, "Failure sending next results request") + } + + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResource", resp, "Failure responding to next results request") + } + + return +} + +// ListForResourceGroup gets role assignments for a resource group. +// +// resourceGroupName is the name of the resource group. filter is the filter to +// apply on the operation. Use $filter=atScope() to return all role assignments +// at or above the scope. Use $filter=principalId eq {id} to return all role +// assignments at, above or below the scope for the specified principal. +func (client RoleAssignmentsClient) ListForResourceGroup(resourceGroupName string, filter string) (result RoleAssignmentListResult, err error) { + req, err := client.ListForResourceGroupPreparer(resourceGroupName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListForResourceGroupPreparer prepares the ListForResourceGroup request. +func (client RoleAssignmentsClient) ListForResourceGroupPreparer(resourceGroupName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListForResourceGroupSender sends the ListForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) ListForResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListForResourceGroupResponder handles the response to the ListForResourceGroup request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) ListForResourceGroupResponder(resp *http.Response) (result RoleAssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListForResourceGroupNextResults retrieves the next set of results, if any. +func (client RoleAssignmentsClient) ListForResourceGroupNextResults(lastResults RoleAssignmentListResult) (result RoleAssignmentListResult, err error) { + req, err := lastResults.RoleAssignmentListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListForScope gets role assignments for a scope. +// +// scope is the scope of the role assignments. filter is the filter to apply on +// the operation. Use $filter=atScope() to return all role assignments at or +// above the scope. Use $filter=principalId eq {id} to return all role +// assignments at, above or below the scope for the specified principal. +func (client RoleAssignmentsClient) ListForScope(scope string, filter string) (result RoleAssignmentListResult, err error) { + req, err := client.ListForScopePreparer(scope, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListForScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", resp, "Failure sending request") + return + } + + result, err = client.ListForScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", resp, "Failure responding to request") + } + + return +} + +// ListForScopePreparer prepares the ListForScope request. +func (client RoleAssignmentsClient) ListForScopePreparer(scope string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListForScopeSender sends the ListForScope request. The method will close the +// http.Response Body if it receives an error. +func (client RoleAssignmentsClient) ListForScopeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListForScopeResponder handles the response to the ListForScope request. The method always +// closes the http.Response Body. +func (client RoleAssignmentsClient) ListForScopeResponder(resp *http.Response) (result RoleAssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListForScopeNextResults retrieves the next set of results, if any. +func (client RoleAssignmentsClient) ListForScopeNextResults(lastResults RoleAssignmentListResult) (result RoleAssignmentListResult, err error) { + req, err := lastResults.RoleAssignmentListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListForScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", resp, "Failure sending next results request") + } + + result, err = client.ListForScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleAssignmentsClient", "ListForScope", resp, "Failure responding to next results request") + } + + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go new file mode 100755 index 000000000000..cdd9efc22a1d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go @@ -0,0 +1,399 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RoleDefinitionsClient is the role based access control provides you a way to +// apply granular level policy administration down to individual resources or +// resource groups. These operations enable you to manage role definitions and +// role assignments. A role definition describes the set of actions that can be +// performed on resources. A role assignment grants access to Azure Active +// Directory users. +type RoleDefinitionsClient struct { + ManagementClient +} + +// NewRoleDefinitionsClient creates an instance of the RoleDefinitionsClient +// client. +func NewRoleDefinitionsClient(subscriptionID string) RoleDefinitionsClient { + return NewRoleDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRoleDefinitionsClientWithBaseURI creates an instance of the +// RoleDefinitionsClient client. +func NewRoleDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) RoleDefinitionsClient { + return RoleDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a role definition. +// +// scope is the scope of the role definition. roleDefinitionID is the ID of the +// role definition. roleDefinition is the values for the role definition. +func (client RoleDefinitionsClient) CreateOrUpdate(scope string, roleDefinitionID string, roleDefinition RoleDefinition) (result RoleDefinition, err error) { + req, err := client.CreateOrUpdatePreparer(scope, roleDefinitionID, roleDefinition) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RoleDefinitionsClient) CreateOrUpdatePreparer(scope string, roleDefinitionID string, roleDefinition RoleDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleDefinitionId": autorest.Encode("path", roleDefinitionID), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", pathParameters), + autorest.WithJSON(roleDefinition), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a role definition. +// +// scope is the scope of the role definition. roleDefinitionID is the ID of the +// role definition to delete. +func (client RoleDefinitionsClient) Delete(scope string, roleDefinitionID string) (result RoleDefinition, err error) { + req, err := client.DeletePreparer(scope, roleDefinitionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoleDefinitionsClient) DeletePreparer(scope string, roleDefinitionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleDefinitionId": autorest.Encode("path", roleDefinitionID), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) DeleteResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get get role definition by name (GUID). +// +// scope is the scope of the role definition. roleDefinitionID is the ID of the +// role definition. +func (client RoleDefinitionsClient) Get(scope string, roleDefinitionID string) (result RoleDefinition, err error) { + req, err := client.GetPreparer(scope, roleDefinitionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoleDefinitionsClient) GetPreparer(scope string, roleDefinitionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleDefinitionId": autorest.Encode("path", roleDefinitionID), + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) GetResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetByID gets a role definition by ID. +// +// roleDefinitionID is the fully qualified role definition ID to get. +func (client RoleDefinitionsClient) GetByID(roleDefinitionID string) (result RoleDefinition, err error) { + req, err := client.GetByIDPreparer(roleDefinitionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "GetByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "GetByID", resp, "Failure sending request") + return + } + + result, err = client.GetByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "GetByID", resp, "Failure responding to request") + } + + return +} + +// GetByIDPreparer prepares the GetByID request. +func (client RoleDefinitionsClient) GetByIDPreparer(roleDefinitionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "roleDefinitionId": roleDefinitionID, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{roleDefinitionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetByIDSender sends the GetByID request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) GetByIDSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetByIDResponder handles the response to the GetByID request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) GetByIDResponder(resp *http.Response) (result RoleDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all role definitions that are applicable at scope and above. +// +// scope is the scope of the role definition. filter is the filter to apply on +// the operation. Use atScopeAndBelow filter to search below the given scope as +// well. +func (client RoleDefinitionsClient) List(scope string, filter string) (result RoleDefinitionListResult, err error) { + req, err := client.ListPreparer(scope, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RoleDefinitionsClient) ListPreparer(scope string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2015-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/roleDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RoleDefinitionsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RoleDefinitionsClient) ListResponder(resp *http.Response) (result RoleDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client RoleDefinitionsClient) ListNextResults(lastResults RoleDefinitionListResult) (result RoleDefinitionListResult, err error) { + req, err := lastResults.RoleDefinitionListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authorization.RoleDefinitionsClient", "List", resp, "Failure responding to next results request") + } + + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go new file mode 100755 index 000000000000..47e2c0aab12e --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go @@ -0,0 +1,28 @@ +package authorization + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v10.3.0-beta arm-authorization/2015-07-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v10.3.0-beta" +} diff --git a/vendor/github.com/armon/go-radix/LICENSE b/vendor/github.com/armon/go-radix/LICENSE new file mode 100644 index 000000000000..a5df10e675dd --- /dev/null +++ b/vendor/github.com/armon/go-radix/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Armon Dadgar + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/armon/go-radix/README.md b/vendor/github.com/armon/go-radix/README.md new file mode 100644 index 000000000000..26f42a2837c6 --- /dev/null +++ b/vendor/github.com/armon/go-radix/README.md @@ -0,0 +1,38 @@ +go-radix [![Build Status](https://travis-ci.org/armon/go-radix.png)](https://travis-ci.org/armon/go-radix) +========= + +Provides the `radix` package that implements a [radix tree](http://en.wikipedia.org/wiki/Radix_tree). +The package only provides a single `Tree` implementation, optimized for sparse nodes. + +As a radix tree, it provides the following: + * O(k) operations. In many cases, this can be faster than a hash table since + the hash function is an O(k) operation, and hash tables have very poor cache locality. + * Minimum / Maximum value lookups + * Ordered iteration + +For an immutable variant, see [go-immutable-radix](https://github.com/hashicorp/go-immutable-radix). + +Documentation +============= + +The full documentation is available on [Godoc](http://godoc.org/github.com/armon/go-radix). + +Example +======= + +Below is a simple example of usage + +```go +// Create a tree +r := radix.New() +r.Insert("foo", 1) +r.Insert("bar", 2) +r.Insert("foobar", 2) + +// Find the longest prefix match +m, _, _ := r.LongestPrefix("foozip") +if m != "foo" { + panic("should be foo") +} +``` + diff --git a/vendor/github.com/armon/go-radix/radix.go b/vendor/github.com/armon/go-radix/radix.go new file mode 100644 index 000000000000..f9655a126b7e --- /dev/null +++ b/vendor/github.com/armon/go-radix/radix.go @@ -0,0 +1,543 @@ +package radix + +import ( + "sort" + "strings" +) + +// WalkFn is used when walking the tree. Takes a +// key and value, returning if iteration should +// be terminated. +type WalkFn func(s string, v interface{}) bool + +// leafNode is used to represent a value +type leafNode struct { + key string + val interface{} +} + +// edge is used to represent an edge node +type edge struct { + label byte + node *node +} + +type node struct { + // leaf is used to store possible leaf + leaf *leafNode + + // prefix is the common prefix we ignore + prefix string + + // Edges should be stored in-order for iteration. + // We avoid a fully materialized slice to save memory, + // since in most cases we expect to be sparse + edges edges +} + +func (n *node) isLeaf() bool { + return n.leaf != nil +} + +func (n *node) addEdge(e edge) { + n.edges = append(n.edges, e) + n.edges.Sort() +} + +func (n *node) replaceEdge(e edge) { + num := len(n.edges) + idx := sort.Search(num, func(i int) bool { + return n.edges[i].label >= e.label + }) + if idx < num && n.edges[idx].label == e.label { + n.edges[idx].node = e.node + return + } + panic("replacing missing edge") +} + +func (n *node) getEdge(label byte) *node { + num := len(n.edges) + idx := sort.Search(num, func(i int) bool { + return n.edges[i].label >= label + }) + if idx < num && n.edges[idx].label == label { + return n.edges[idx].node + } + return nil +} + +func (n *node) delEdge(label byte) { + num := len(n.edges) + idx := sort.Search(num, func(i int) bool { + return n.edges[i].label >= label + }) + if idx < num && n.edges[idx].label == label { + copy(n.edges[idx:], n.edges[idx+1:]) + n.edges[len(n.edges)-1] = edge{} + n.edges = n.edges[:len(n.edges)-1] + } +} + +type edges []edge + +func (e edges) Len() int { + return len(e) +} + +func (e edges) Less(i, j int) bool { + return e[i].label < e[j].label +} + +func (e edges) Swap(i, j int) { + e[i], e[j] = e[j], e[i] +} + +func (e edges) Sort() { + sort.Sort(e) +} + +// Tree implements a radix tree. This can be treated as a +// Dictionary abstract data type. The main advantage over +// a standard hash map is prefix-based lookups and +// ordered iteration, +type Tree struct { + root *node + size int +} + +// New returns an empty Tree +func New() *Tree { + return NewFromMap(nil) +} + +// NewFromMap returns a new tree containing the keys +// from an existing map +func NewFromMap(m map[string]interface{}) *Tree { + t := &Tree{root: &node{}} + for k, v := range m { + t.Insert(k, v) + } + return t +} + +// Len is used to return the number of elements in the tree +func (t *Tree) Len() int { + return t.size +} + +// longestPrefix finds the length of the shared prefix +// of two strings +func longestPrefix(k1, k2 string) int { + max := len(k1) + if l := len(k2); l < max { + max = l + } + var i int + for i = 0; i < max; i++ { + if k1[i] != k2[i] { + break + } + } + return i +} + +// Insert is used to add a newentry or update +// an existing entry. Returns if updated. +func (t *Tree) Insert(s string, v interface{}) (interface{}, bool) { + var parent *node + n := t.root + search := s + for { + // Handle key exhaution + if len(search) == 0 { + if n.isLeaf() { + old := n.leaf.val + n.leaf.val = v + return old, true + } + + n.leaf = &leafNode{ + key: s, + val: v, + } + t.size++ + return nil, false + } + + // Look for the edge + parent = n + n = n.getEdge(search[0]) + + // No edge, create one + if n == nil { + e := edge{ + label: search[0], + node: &node{ + leaf: &leafNode{ + key: s, + val: v, + }, + prefix: search, + }, + } + parent.addEdge(e) + t.size++ + return nil, false + } + + // Determine longest prefix of the search key on match + commonPrefix := longestPrefix(search, n.prefix) + if commonPrefix == len(n.prefix) { + search = search[commonPrefix:] + continue + } + + // Split the node + t.size++ + child := &node{ + prefix: search[:commonPrefix], + } + parent.replaceEdge(edge{ + label: search[0], + node: child, + }) + + // Restore the existing node + child.addEdge(edge{ + label: n.prefix[commonPrefix], + node: n, + }) + n.prefix = n.prefix[commonPrefix:] + + // Create a new leaf node + leaf := &leafNode{ + key: s, + val: v, + } + + // If the new key is a subset, add to to this node + search = search[commonPrefix:] + if len(search) == 0 { + child.leaf = leaf + return nil, false + } + + // Create a new edge for the node + child.addEdge(edge{ + label: search[0], + node: &node{ + leaf: leaf, + prefix: search, + }, + }) + return nil, false + } +} + +// Delete is used to delete a key, returning the previous +// value and if it was deleted +func (t *Tree) Delete(s string) (interface{}, bool) { + var parent *node + var label byte + n := t.root + search := s + for { + // Check for key exhaution + if len(search) == 0 { + if !n.isLeaf() { + break + } + goto DELETE + } + + // Look for an edge + parent = n + label = search[0] + n = n.getEdge(label) + if n == nil { + break + } + + // Consume the search prefix + if strings.HasPrefix(search, n.prefix) { + search = search[len(n.prefix):] + } else { + break + } + } + return nil, false + +DELETE: + // Delete the leaf + leaf := n.leaf + n.leaf = nil + t.size-- + + // Check if we should delete this node from the parent + if parent != nil && len(n.edges) == 0 { + parent.delEdge(label) + } + + // Check if we should merge this node + if n != t.root && len(n.edges) == 1 { + n.mergeChild() + } + + // Check if we should merge the parent's other child + if parent != nil && parent != t.root && len(parent.edges) == 1 && !parent.isLeaf() { + parent.mergeChild() + } + + return leaf.val, true +} + +// DeletePrefix is used to delete the subtree under a prefix +// Returns how many nodes were deleted +// Use this to delete large subtrees efficiently +func (t *Tree) DeletePrefix(s string) int { + return t.deletePrefix(nil, t.root, s) +} + +// delete does a recursive deletion +func (t *Tree) deletePrefix(parent, n *node, prefix string) int { + // Check for key exhaustion + if len(prefix) == 0 { + // Remove the leaf node + subTreeSize := 0 + //recursively walk from all edges of the node to be deleted + recursiveWalk(n, func(s string, v interface{}) bool { + subTreeSize++ + return false + }) + if n.isLeaf() { + n.leaf = nil + } + n.edges = nil // deletes the entire subtree + + // Check if we should merge the parent's other child + if parent != nil && parent != t.root && len(parent.edges) == 1 && !parent.isLeaf() { + parent.mergeChild() + } + t.size -= subTreeSize + return subTreeSize + } + + // Look for an edge + label := prefix[0] + child := n.getEdge(label) + if child == nil || (!strings.HasPrefix(child.prefix, prefix) && !strings.HasPrefix(prefix, child.prefix)) { + return 0 + } + + // Consume the search prefix + if len(child.prefix) > len(prefix) { + prefix = prefix[len(prefix):] + } else { + prefix = prefix[len(child.prefix):] + } + return t.deletePrefix(n, child, prefix) +} + +func (n *node) mergeChild() { + e := n.edges[0] + child := e.node + n.prefix = n.prefix + child.prefix + n.leaf = child.leaf + n.edges = child.edges +} + +// Get is used to lookup a specific key, returning +// the value and if it was found +func (t *Tree) Get(s string) (interface{}, bool) { + n := t.root + search := s + for { + // Check for key exhaution + if len(search) == 0 { + if n.isLeaf() { + return n.leaf.val, true + } + break + } + + // Look for an edge + n = n.getEdge(search[0]) + if n == nil { + break + } + + // Consume the search prefix + if strings.HasPrefix(search, n.prefix) { + search = search[len(n.prefix):] + } else { + break + } + } + return nil, false +} + +// LongestPrefix is like Get, but instead of an +// exact match, it will return the longest prefix match. +func (t *Tree) LongestPrefix(s string) (string, interface{}, bool) { + var last *leafNode + n := t.root + search := s + for { + // Look for a leaf node + if n.isLeaf() { + last = n.leaf + } + + // Check for key exhaution + if len(search) == 0 { + break + } + + // Look for an edge + n = n.getEdge(search[0]) + if n == nil { + break + } + + // Consume the search prefix + if strings.HasPrefix(search, n.prefix) { + search = search[len(n.prefix):] + } else { + break + } + } + if last != nil { + return last.key, last.val, true + } + return "", nil, false +} + +// Minimum is used to return the minimum value in the tree +func (t *Tree) Minimum() (string, interface{}, bool) { + n := t.root + for { + if n.isLeaf() { + return n.leaf.key, n.leaf.val, true + } + if len(n.edges) > 0 { + n = n.edges[0].node + } else { + break + } + } + return "", nil, false +} + +// Maximum is used to return the maximum value in the tree +func (t *Tree) Maximum() (string, interface{}, bool) { + n := t.root + for { + if num := len(n.edges); num > 0 { + n = n.edges[num-1].node + continue + } + if n.isLeaf() { + return n.leaf.key, n.leaf.val, true + } + break + } + return "", nil, false +} + +// Walk is used to walk the tree +func (t *Tree) Walk(fn WalkFn) { + recursiveWalk(t.root, fn) +} + +// WalkPrefix is used to walk the tree under a prefix +func (t *Tree) WalkPrefix(prefix string, fn WalkFn) { + n := t.root + search := prefix + for { + // Check for key exhaution + if len(search) == 0 { + recursiveWalk(n, fn) + return + } + + // Look for an edge + n = n.getEdge(search[0]) + if n == nil { + break + } + + // Consume the search prefix + if strings.HasPrefix(search, n.prefix) { + search = search[len(n.prefix):] + + } else if strings.HasPrefix(n.prefix, search) { + // Child may be under our search prefix + recursiveWalk(n, fn) + return + } else { + break + } + } + +} + +// WalkPath is used to walk the tree, but only visiting nodes +// from the root down to a given leaf. Where WalkPrefix walks +// all the entries *under* the given prefix, this walks the +// entries *above* the given prefix. +func (t *Tree) WalkPath(path string, fn WalkFn) { + n := t.root + search := path + for { + // Visit the leaf values if any + if n.leaf != nil && fn(n.leaf.key, n.leaf.val) { + return + } + + // Check for key exhaution + if len(search) == 0 { + return + } + + // Look for an edge + n = n.getEdge(search[0]) + if n == nil { + return + } + + // Consume the search prefix + if strings.HasPrefix(search, n.prefix) { + search = search[len(n.prefix):] + } else { + break + } + } +} + +// recursiveWalk is used to do a pre-order walk of a node +// recursively. Returns true if the walk should be aborted +func recursiveWalk(n *node, fn WalkFn) bool { + // Visit the leaf values if any + if n.leaf != nil && fn(n.leaf.key, n.leaf.val) { + return true + } + + // Recurse on the children + for _, e := range n.edges { + if recursiveWalk(e.node, fn) { + return true + } + } + return false +} + +// ToMap is used to walk the tree and convert it into a map +func (t *Tree) ToMap() map[string]interface{} { + out := make(map[string]interface{}, t.size) + t.Walk(func(k string, v interface{}) bool { + out[k] = v + return false + }) + return out +} diff --git a/vendor/github.com/bgentry/speakeasy/LICENSE b/vendor/github.com/bgentry/speakeasy/LICENSE new file mode 100644 index 000000000000..37d60fc3541a --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2017 Blake Gentry + +This license applies to the non-Windows portions of this library. The Windows +portion maintains its own Apache 2.0 license. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS b/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS new file mode 100644 index 000000000000..ff177f612439 --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [2013] [the CloudFoundry Authors] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/bgentry/speakeasy/Readme.md b/vendor/github.com/bgentry/speakeasy/Readme.md new file mode 100644 index 000000000000..fceda7518ce4 --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/Readme.md @@ -0,0 +1,30 @@ +# Speakeasy + +This package provides cross-platform Go (#golang) helpers for taking user input +from the terminal while not echoing the input back (similar to `getpasswd`). The +package uses syscalls to avoid any dependence on cgo, and is therefore +compatible with cross-compiling. + +[![GoDoc](https://godoc.org/github.com/bgentry/speakeasy?status.png)][godoc] + +## Unicode + +Multi-byte unicode characters work successfully on Mac OS X. On Windows, +however, this may be problematic (as is UTF in general on Windows). Other +platforms have not been tested. + +## License + +The code herein was not written by me, but was compiled from two separate open +source packages. Unix portions were imported from [gopass][gopass], while +Windows portions were imported from the [CloudFoundry Go CLI][cf-cli]'s +[Windows terminal helpers][cf-ui-windows]. + +The [license for the windows portion](./LICENSE_WINDOWS) has been copied exactly +from the source (though I attempted to fill in the correct owner in the +boilerplate copyright notice). + +[cf-cli]: https://github.com/cloudfoundry/cli "CloudFoundry Go CLI" +[cf-ui-windows]: https://github.com/cloudfoundry/cli/blob/master/src/cf/terminal/ui_windows.go "CloudFoundry Go CLI Windows input helpers" +[godoc]: https://godoc.org/github.com/bgentry/speakeasy "speakeasy on Godoc.org" +[gopass]: https://code.google.com/p/gopass "gopass" diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy.go b/vendor/github.com/bgentry/speakeasy/speakeasy.go new file mode 100644 index 000000000000..71c1dd1b969d --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/speakeasy.go @@ -0,0 +1,49 @@ +package speakeasy + +import ( + "fmt" + "io" + "os" + "strings" +) + +// Ask the user to enter a password with input hidden. prompt is a string to +// display before the user's input. Returns the provided password, or an error +// if the command failed. +func Ask(prompt string) (password string, err error) { + return FAsk(os.Stdout, prompt) +} + +// FAsk is the same as Ask, except it is possible to specify the file to write +// the prompt to. If 'nil' is passed as the writer, no prompt will be written. +func FAsk(wr io.Writer, prompt string) (password string, err error) { + if wr != nil && prompt != "" { + fmt.Fprint(wr, prompt) // Display the prompt. + } + password, err = getPassword() + + // Carriage return after the user input. + if wr != nil { + fmt.Fprintln(wr, "") + } + return +} + +func readline() (value string, err error) { + var valb []byte + var n int + b := make([]byte, 1) + for { + // read one byte at a time so we don't accidentally read extra bytes + n, err = os.Stdin.Read(b) + if err != nil && err != io.EOF { + return "", err + } + if n == 0 || b[0] == '\n' { + break + } + valb = append(valb, b[0]) + } + + return strings.TrimSuffix(string(valb), "\r"), nil +} diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go b/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go new file mode 100644 index 000000000000..d99fda191901 --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go @@ -0,0 +1,93 @@ +// based on https://code.google.com/p/gopass +// Author: johnsiilver@gmail.com (John Doak) +// +// Original code is based on code by RogerV in the golang-nuts thread: +// https://groups.google.com/group/golang-nuts/browse_thread/thread/40cc41e9d9fc9247 + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +package speakeasy + +import ( + "fmt" + "os" + "os/signal" + "strings" + "syscall" +) + +const sttyArg0 = "/bin/stty" + +var ( + sttyArgvEOff = []string{"stty", "-echo"} + sttyArgvEOn = []string{"stty", "echo"} +) + +// getPassword gets input hidden from the terminal from a user. This is +// accomplished by turning off terminal echo, reading input from the user and +// finally turning on terminal echo. +func getPassword() (password string, err error) { + sig := make(chan os.Signal, 10) + brk := make(chan bool) + + // File descriptors for stdin, stdout, and stderr. + fd := []uintptr{os.Stdin.Fd(), os.Stdout.Fd(), os.Stderr.Fd()} + + // Setup notifications of termination signals to channel sig, create a process to + // watch for these signals so we can turn back on echo if need be. + signal.Notify(sig, syscall.SIGHUP, syscall.SIGINT, syscall.SIGKILL, syscall.SIGQUIT, + syscall.SIGTERM) + go catchSignal(fd, sig, brk) + + // Turn off the terminal echo. + pid, err := echoOff(fd) + if err != nil { + return "", err + } + + // Turn on the terminal echo and stop listening for signals. + defer signal.Stop(sig) + defer close(brk) + defer echoOn(fd) + + syscall.Wait4(pid, nil, 0, nil) + + line, err := readline() + if err == nil { + password = strings.TrimSpace(line) + } else { + err = fmt.Errorf("failed during password entry: %s", err) + } + + return password, err +} + +// echoOff turns off the terminal echo. +func echoOff(fd []uintptr) (int, error) { + pid, err := syscall.ForkExec(sttyArg0, sttyArgvEOff, &syscall.ProcAttr{Dir: "", Files: fd}) + if err != nil { + return 0, fmt.Errorf("failed turning off console echo for password entry:\n\t%s", err) + } + return pid, nil +} + +// echoOn turns back on the terminal echo. +func echoOn(fd []uintptr) { + // Turn on the terminal echo. + pid, e := syscall.ForkExec(sttyArg0, sttyArgvEOn, &syscall.ProcAttr{Dir: "", Files: fd}) + if e == nil { + syscall.Wait4(pid, nil, 0, nil) + } +} + +// catchSignal tries to catch SIGKILL, SIGQUIT and SIGINT so that we can turn +// terminal echo back on before the program ends. Otherwise the user is left +// with echo off on their terminal. +func catchSignal(fd []uintptr, sig chan os.Signal, brk chan bool) { + select { + case <-sig: + echoOn(fd) + os.Exit(-1) + case <-brk: + } +} diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go new file mode 100644 index 000000000000..c2093a8091fb --- /dev/null +++ b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go @@ -0,0 +1,41 @@ +// +build windows + +package speakeasy + +import ( + "syscall" +) + +// SetConsoleMode function can be used to change value of ENABLE_ECHO_INPUT: +// http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx +const ENABLE_ECHO_INPUT = 0x0004 + +func getPassword() (password string, err error) { + var oldMode uint32 + + err = syscall.GetConsoleMode(syscall.Stdin, &oldMode) + if err != nil { + return + } + + var newMode uint32 = (oldMode &^ ENABLE_ECHO_INPUT) + + err = setConsoleMode(syscall.Stdin, newMode) + defer setConsoleMode(syscall.Stdin, oldMode) + if err != nil { + return + } + + return readline() +} + +func setConsoleMode(console syscall.Handle, mode uint32) (err error) { + dll := syscall.MustLoadDLL("kernel32") + proc := dll.MustFindProc("SetConsoleMode") + r, _, err := proc.Call(uintptr(console), uintptr(mode)) + + if r == 0 { + return err + } + return nil +} diff --git a/vendor/github.com/golang/protobuf/LICENSE b/vendor/github.com/golang/protobuf/LICENSE new file mode 100644 index 000000000000..1b1b1921efa6 --- /dev/null +++ b/vendor/github.com/golang/protobuf/LICENSE @@ -0,0 +1,31 @@ +Go support for Protocol Buffers - Google's data interchange format + +Copyright 2010 The Go Authors. All rights reserved. +https://github.com/golang/protobuf + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/vendor/github.com/golang/protobuf/proto/Makefile b/vendor/github.com/golang/protobuf/proto/Makefile new file mode 100644 index 000000000000..e2e0651a934d --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/Makefile @@ -0,0 +1,43 @@ +# Go support for Protocol Buffers - Google's data interchange format +# +# Copyright 2010 The Go Authors. All rights reserved. +# https://github.com/golang/protobuf +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +install: + go install + +test: install generate-test-pbs + go test + + +generate-test-pbs: + make install + make -C testdata + protoc --go_out=Mtestdata/test.proto=github.com/golang/protobuf/proto/testdata,Mgoogle/protobuf/any.proto=github.com/golang/protobuf/ptypes/any:. proto3_proto/proto3.proto + make diff --git a/vendor/github.com/golang/protobuf/proto/clone.go b/vendor/github.com/golang/protobuf/proto/clone.go new file mode 100644 index 000000000000..e392575b353a --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/clone.go @@ -0,0 +1,229 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer deep copy and merge. +// TODO: RawMessage. + +package proto + +import ( + "log" + "reflect" + "strings" +) + +// Clone returns a deep copy of a protocol buffer. +func Clone(pb Message) Message { + in := reflect.ValueOf(pb) + if in.IsNil() { + return pb + } + + out := reflect.New(in.Type().Elem()) + // out is empty so a merge is a deep copy. + mergeStruct(out.Elem(), in.Elem()) + return out.Interface().(Message) +} + +// Merge merges src into dst. +// Required and optional fields that are set in src will be set to that value in dst. +// Elements of repeated fields will be appended. +// Merge panics if src and dst are not the same type, or if dst is nil. +func Merge(dst, src Message) { + in := reflect.ValueOf(src) + out := reflect.ValueOf(dst) + if out.IsNil() { + panic("proto: nil destination") + } + if in.Type() != out.Type() { + // Explicit test prior to mergeStruct so that mistyped nils will fail + panic("proto: type mismatch") + } + if in.IsNil() { + // Merging nil into non-nil is a quiet no-op + return + } + mergeStruct(out.Elem(), in.Elem()) +} + +func mergeStruct(out, in reflect.Value) { + sprop := GetProperties(in.Type()) + for i := 0; i < in.NumField(); i++ { + f := in.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + mergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i]) + } + + if emIn, ok := extendable(in.Addr().Interface()); ok { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + uf := in.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return + } + uin := uf.Bytes() + if len(uin) > 0 { + out.FieldByName("XXX_unrecognized").SetBytes(append([]byte(nil), uin...)) + } +} + +// mergeAny performs a merge between two values of the same type. +// viaPtr indicates whether the values were indirected through a pointer (implying proto2). +// prop is set if this is a struct field (it may be nil). +func mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) { + if in.Type() == protoMessageType { + if !in.IsNil() { + if out.IsNil() { + out.Set(reflect.ValueOf(Clone(in.Interface().(Message)))) + } else { + Merge(out.Interface().(Message), in.Interface().(Message)) + } + } + return + } + switch in.Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + if !viaPtr && isProto3Zero(in) { + return + } + out.Set(in) + case reflect.Interface: + // Probably a oneof field; copy non-nil values. + if in.IsNil() { + return + } + // Allocate destination if it is not set, or set to a different type. + // Otherwise we will merge as normal. + if out.IsNil() || out.Elem().Type() != in.Elem().Type() { + out.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T) + } + mergeAny(out.Elem(), in.Elem(), false, nil) + case reflect.Map: + if in.Len() == 0 { + return + } + if out.IsNil() { + out.Set(reflect.MakeMap(in.Type())) + } + // For maps with value types of *T or []byte we need to deep copy each value. + elemKind := in.Type().Elem().Kind() + for _, key := range in.MapKeys() { + var val reflect.Value + switch elemKind { + case reflect.Ptr: + val = reflect.New(in.Type().Elem().Elem()) + mergeAny(val, in.MapIndex(key), false, nil) + case reflect.Slice: + val = in.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + default: + val = in.MapIndex(key) + } + out.SetMapIndex(key, val) + } + case reflect.Ptr: + if in.IsNil() { + return + } + if out.IsNil() { + out.Set(reflect.New(in.Elem().Type())) + } + mergeAny(out.Elem(), in.Elem(), true, nil) + case reflect.Slice: + if in.IsNil() { + return + } + if in.Type().Elem().Kind() == reflect.Uint8 { + // []byte is a scalar bytes field, not a repeated field. + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value, and should not + // be merged. + if prop != nil && prop.proto3 && in.Len() == 0 { + return + } + + // Make a deep copy. + // Append to []byte{} instead of []byte(nil) so that we never end up + // with a nil result. + out.SetBytes(append([]byte{}, in.Bytes()...)) + return + } + n := in.Len() + if out.IsNil() { + out.Set(reflect.MakeSlice(in.Type(), 0, n)) + } + switch in.Type().Elem().Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + out.Set(reflect.AppendSlice(out, in)) + default: + for i := 0; i < n; i++ { + x := reflect.Indirect(reflect.New(in.Type().Elem())) + mergeAny(x, in.Index(i), false, nil) + out.Set(reflect.Append(out, x)) + } + } + case reflect.Struct: + mergeStruct(out, in) + default: + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to copy %v", in) + } +} + +func mergeExtension(out, in map[int32]Extension) { + for extNum, eIn := range in { + eOut := Extension{desc: eIn.desc} + if eIn.value != nil { + v := reflect.New(reflect.TypeOf(eIn.value)).Elem() + mergeAny(v, reflect.ValueOf(eIn.value), false, nil) + eOut.value = v.Interface() + } + if eIn.enc != nil { + eOut.enc = make([]byte, len(eIn.enc)) + copy(eOut.enc, eIn.enc) + } + + out[extNum] = eOut + } +} diff --git a/vendor/github.com/golang/protobuf/proto/decode.go b/vendor/github.com/golang/protobuf/proto/decode.go new file mode 100644 index 000000000000..aa207298f997 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/decode.go @@ -0,0 +1,970 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for decoding protocol buffer data to construct in-memory representations. + */ + +import ( + "errors" + "fmt" + "io" + "os" + "reflect" +) + +// errOverflow is returned when an integer is too large to be represented. +var errOverflow = errors.New("proto: integer overflow") + +// ErrInternalBadWireType is returned by generated code when an incorrect +// wire type is encountered. It does not get returned to user code. +var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof") + +// The fundamental decoders that interpret bytes on the wire. +// Those that take integer types all return uint64 and are +// therefore of type valueDecoder. + +// DecodeVarint reads a varint-encoded integer from the slice. +// It returns the integer and the number of bytes consumed, or +// zero if there is not enough. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func DecodeVarint(buf []byte) (x uint64, n int) { + for shift := uint(0); shift < 64; shift += 7 { + if n >= len(buf) { + return 0, 0 + } + b := uint64(buf[n]) + n++ + x |= (b & 0x7F) << shift + if (b & 0x80) == 0 { + return x, n + } + } + + // The number is too large to represent in a 64-bit value. + return 0, 0 +} + +func (p *Buffer) decodeVarintSlow() (x uint64, err error) { + i := p.index + l := len(p.buf) + + for shift := uint(0); shift < 64; shift += 7 { + if i >= l { + err = io.ErrUnexpectedEOF + return + } + b := p.buf[i] + i++ + x |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + p.index = i + return + } + } + + // The number is too large to represent in a 64-bit value. + err = errOverflow + return +} + +// DecodeVarint reads a varint-encoded integer from the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) DecodeVarint() (x uint64, err error) { + i := p.index + buf := p.buf + + if i >= len(buf) { + return 0, io.ErrUnexpectedEOF + } else if buf[i] < 0x80 { + p.index++ + return uint64(buf[i]), nil + } else if len(buf)-i < 10 { + return p.decodeVarintSlow() + } + + var b uint64 + // we already checked the first byte + x = uint64(buf[i]) - 0x80 + i++ + + b = uint64(buf[i]) + i++ + x += b << 7 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 7 + + b = uint64(buf[i]) + i++ + x += b << 14 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 14 + + b = uint64(buf[i]) + i++ + x += b << 21 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 21 + + b = uint64(buf[i]) + i++ + x += b << 28 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 28 + + b = uint64(buf[i]) + i++ + x += b << 35 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 35 + + b = uint64(buf[i]) + i++ + x += b << 42 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 42 + + b = uint64(buf[i]) + i++ + x += b << 49 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 49 + + b = uint64(buf[i]) + i++ + x += b << 56 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 56 + + b = uint64(buf[i]) + i++ + x += b << 63 + if b&0x80 == 0 { + goto done + } + // x -= 0x80 << 63 // Always zero. + + return 0, errOverflow + +done: + p.index = i + return x, nil +} + +// DecodeFixed64 reads a 64-bit integer from the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) DecodeFixed64() (x uint64, err error) { + // x, err already 0 + i := p.index + 8 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-8]) + x |= uint64(p.buf[i-7]) << 8 + x |= uint64(p.buf[i-6]) << 16 + x |= uint64(p.buf[i-5]) << 24 + x |= uint64(p.buf[i-4]) << 32 + x |= uint64(p.buf[i-3]) << 40 + x |= uint64(p.buf[i-2]) << 48 + x |= uint64(p.buf[i-1]) << 56 + return +} + +// DecodeFixed32 reads a 32-bit integer from the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) DecodeFixed32() (x uint64, err error) { + // x, err already 0 + i := p.index + 4 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-4]) + x |= uint64(p.buf[i-3]) << 8 + x |= uint64(p.buf[i-2]) << 16 + x |= uint64(p.buf[i-1]) << 24 + return +} + +// DecodeZigzag64 reads a zigzag-encoded 64-bit integer +// from the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) DecodeZigzag64() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = (x >> 1) ^ uint64((int64(x&1)<<63)>>63) + return +} + +// DecodeZigzag32 reads a zigzag-encoded 32-bit integer +// from the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) DecodeZigzag32() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31)) + return +} + +// These are not ValueDecoders: they produce an array of bytes or a string. +// bytes, embedded messages + +// DecodeRawBytes reads a count-delimited byte buffer from the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) { + n, err := p.DecodeVarint() + if err != nil { + return nil, err + } + + nb := int(n) + if nb < 0 { + return nil, fmt.Errorf("proto: bad byte length %d", nb) + } + end := p.index + nb + if end < p.index || end > len(p.buf) { + return nil, io.ErrUnexpectedEOF + } + + if !alloc { + // todo: check if can get more uses of alloc=false + buf = p.buf[p.index:end] + p.index += nb + return + } + + buf = make([]byte, nb) + copy(buf, p.buf[p.index:]) + p.index += nb + return +} + +// DecodeStringBytes reads an encoded string from the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) DecodeStringBytes() (s string, err error) { + buf, err := p.DecodeRawBytes(false) + if err != nil { + return + } + return string(buf), nil +} + +// Skip the next item in the buffer. Its wire type is decoded and presented as an argument. +// If the protocol buffer has extensions, and the field matches, add it as an extension. +// Otherwise, if the XXX_unrecognized field exists, append the skipped data there. +func (o *Buffer) skipAndSave(t reflect.Type, tag, wire int, base structPointer, unrecField field) error { + oi := o.index + + err := o.skip(t, tag, wire) + if err != nil { + return err + } + + if !unrecField.IsValid() { + return nil + } + + ptr := structPointer_Bytes(base, unrecField) + + // Add the skipped field to struct field + obuf := o.buf + + o.buf = *ptr + o.EncodeVarint(uint64(tag<<3 | wire)) + *ptr = append(o.buf, obuf[oi:o.index]...) + + o.buf = obuf + + return nil +} + +// Skip the next item in the buffer. Its wire type is decoded and presented as an argument. +func (o *Buffer) skip(t reflect.Type, tag, wire int) error { + + var u uint64 + var err error + + switch wire { + case WireVarint: + _, err = o.DecodeVarint() + case WireFixed64: + _, err = o.DecodeFixed64() + case WireBytes: + _, err = o.DecodeRawBytes(false) + case WireFixed32: + _, err = o.DecodeFixed32() + case WireStartGroup: + for { + u, err = o.DecodeVarint() + if err != nil { + break + } + fwire := int(u & 0x7) + if fwire == WireEndGroup { + break + } + ftag := int(u >> 3) + err = o.skip(t, ftag, fwire) + if err != nil { + break + } + } + default: + err = fmt.Errorf("proto: can't skip unknown wire type %d for %s", wire, t) + } + return err +} + +// Unmarshaler is the interface representing objects that can +// unmarshal themselves. The method should reset the receiver before +// decoding starts. The argument points to data that may be +// overwritten, so implementations should not keep references to the +// buffer. +type Unmarshaler interface { + Unmarshal([]byte) error +} + +// Unmarshal parses the protocol buffer representation in buf and places the +// decoded result in pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// Unmarshal resets pb before starting to unmarshal, so any +// existing data in pb is always removed. Use UnmarshalMerge +// to preserve and append to existing data. +func Unmarshal(buf []byte, pb Message) error { + pb.Reset() + return UnmarshalMerge(buf, pb) +} + +// UnmarshalMerge parses the protocol buffer representation in buf and +// writes the decoded result to pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// UnmarshalMerge merges into existing data in pb. +// Most code should use Unmarshal instead. +func UnmarshalMerge(buf []byte, pb Message) error { + // If the object can unmarshal itself, let it. + if u, ok := pb.(Unmarshaler); ok { + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) +} + +// DecodeMessage reads a count-delimited message from the Buffer. +func (p *Buffer) DecodeMessage(pb Message) error { + enc, err := p.DecodeRawBytes(false) + if err != nil { + return err + } + return NewBuffer(enc).Unmarshal(pb) +} + +// DecodeGroup reads a tag-delimited group from the Buffer. +func (p *Buffer) DecodeGroup(pb Message) error { + typ, base, err := getbase(pb) + if err != nil { + return err + } + return p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), true, base) +} + +// Unmarshal parses the protocol buffer representation in the +// Buffer and places the decoded result in pb. If the struct +// underlying pb does not match the data in the buffer, the results can be +// unpredictable. +// +// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal. +func (p *Buffer) Unmarshal(pb Message) error { + // If the object can unmarshal itself, let it. + if u, ok := pb.(Unmarshaler); ok { + err := u.Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } + + typ, base, err := getbase(pb) + if err != nil { + return err + } + + err = p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), false, base) + + if collectStats { + stats.Decode++ + } + + return err +} + +// unmarshalType does the work of unmarshaling a structure. +func (o *Buffer) unmarshalType(st reflect.Type, prop *StructProperties, is_group bool, base structPointer) error { + var state errorState + required, reqFields := prop.reqCount, uint64(0) + + var err error + for err == nil && o.index < len(o.buf) { + oi := o.index + var u uint64 + u, err = o.DecodeVarint() + if err != nil { + break + } + wire := int(u & 0x7) + if wire == WireEndGroup { + if is_group { + if required > 0 { + // Not enough information to determine the exact field. + // (See below.) + return &RequiredNotSetError{"{Unknown}"} + } + return nil // input is satisfied + } + return fmt.Errorf("proto: %s: wiretype end group for non-group", st) + } + tag := int(u >> 3) + if tag <= 0 { + return fmt.Errorf("proto: %s: illegal tag %d (wire type %d)", st, tag, wire) + } + fieldnum, ok := prop.decoderTags.get(tag) + if !ok { + // Maybe it's an extension? + if prop.extendable { + if e, _ := extendable(structPointer_Interface(base, st)); isExtensionField(e, int32(tag)) { + if err = o.skip(st, tag, wire); err == nil { + extmap := e.extensionsWrite() + ext := extmap[int32(tag)] // may be missing + ext.enc = append(ext.enc, o.buf[oi:o.index]...) + extmap[int32(tag)] = ext + } + continue + } + } + // Maybe it's a oneof? + if prop.oneofUnmarshaler != nil { + m := structPointer_Interface(base, st).(Message) + // First return value indicates whether tag is a oneof field. + ok, err = prop.oneofUnmarshaler(m, tag, wire, o) + if err == ErrInternalBadWireType { + // Map the error to something more descriptive. + // Do the formatting here to save generated code space. + err = fmt.Errorf("bad wiretype for oneof field in %T", m) + } + if ok { + continue + } + } + err = o.skipAndSave(st, tag, wire, base, prop.unrecField) + continue + } + p := prop.Prop[fieldnum] + + if p.dec == nil { + fmt.Fprintf(os.Stderr, "proto: no protobuf decoder for %s.%s\n", st, st.Field(fieldnum).Name) + continue + } + dec := p.dec + if wire != WireStartGroup && wire != p.WireType { + if wire == WireBytes && p.packedDec != nil { + // a packable field + dec = p.packedDec + } else { + err = fmt.Errorf("proto: bad wiretype for field %s.%s: got wiretype %d, want %d", st, st.Field(fieldnum).Name, wire, p.WireType) + continue + } + } + decErr := dec(o, p, base) + if decErr != nil && !state.shouldContinue(decErr, p) { + err = decErr + } + if err == nil && p.Required { + // Successfully decoded a required field. + if tag <= 64 { + // use bitmap for fields 1-64 to catch field reuse. + var mask uint64 = 1 << uint64(tag-1) + if reqFields&mask == 0 { + // new required field + reqFields |= mask + required-- + } + } else { + // This is imprecise. It can be fooled by a required field + // with a tag > 64 that is encoded twice; that's very rare. + // A fully correct implementation would require allocating + // a data structure, which we would like to avoid. + required-- + } + } + } + if err == nil { + if is_group { + return io.ErrUnexpectedEOF + } + if state.err != nil { + return state.err + } + if required > 0 { + // Not enough information to determine the exact field. If we use extra + // CPU, we could determine the field only if the missing required field + // has a tag <= 64 and we check reqFields. + return &RequiredNotSetError{"{Unknown}"} + } + } + return err +} + +// Individual type decoders +// For each, +// u is the decoded value, +// v is a pointer to the field (pointer) in the struct + +// Sizes of the pools to allocate inside the Buffer. +// The goal is modest amortization and allocation +// on at least 16-byte boundaries. +const ( + boolPoolSize = 16 + uint32PoolSize = 8 + uint64PoolSize = 4 +) + +// Decode a bool. +func (o *Buffer) dec_bool(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + if len(o.bools) == 0 { + o.bools = make([]bool, boolPoolSize) + } + o.bools[0] = u != 0 + *structPointer_Bool(base, p.field) = &o.bools[0] + o.bools = o.bools[1:] + return nil +} + +func (o *Buffer) dec_proto3_bool(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + *structPointer_BoolVal(base, p.field) = u != 0 + return nil +} + +// Decode an int32. +func (o *Buffer) dec_int32(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + word32_Set(structPointer_Word32(base, p.field), o, uint32(u)) + return nil +} + +func (o *Buffer) dec_proto3_int32(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + word32Val_Set(structPointer_Word32Val(base, p.field), uint32(u)) + return nil +} + +// Decode an int64. +func (o *Buffer) dec_int64(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + word64_Set(structPointer_Word64(base, p.field), o, u) + return nil +} + +func (o *Buffer) dec_proto3_int64(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + word64Val_Set(structPointer_Word64Val(base, p.field), o, u) + return nil +} + +// Decode a string. +func (o *Buffer) dec_string(p *Properties, base structPointer) error { + s, err := o.DecodeStringBytes() + if err != nil { + return err + } + *structPointer_String(base, p.field) = &s + return nil +} + +func (o *Buffer) dec_proto3_string(p *Properties, base structPointer) error { + s, err := o.DecodeStringBytes() + if err != nil { + return err + } + *structPointer_StringVal(base, p.field) = s + return nil +} + +// Decode a slice of bytes ([]byte). +func (o *Buffer) dec_slice_byte(p *Properties, base structPointer) error { + b, err := o.DecodeRawBytes(true) + if err != nil { + return err + } + *structPointer_Bytes(base, p.field) = b + return nil +} + +// Decode a slice of bools ([]bool). +func (o *Buffer) dec_slice_bool(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + v := structPointer_BoolSlice(base, p.field) + *v = append(*v, u != 0) + return nil +} + +// Decode a slice of bools ([]bool) in packed format. +func (o *Buffer) dec_slice_packed_bool(p *Properties, base structPointer) error { + v := structPointer_BoolSlice(base, p.field) + + nn, err := o.DecodeVarint() + if err != nil { + return err + } + nb := int(nn) // number of bytes of encoded bools + fin := o.index + nb + if fin < o.index { + return errOverflow + } + + y := *v + for o.index < fin { + u, err := p.valDec(o) + if err != nil { + return err + } + y = append(y, u != 0) + } + + *v = y + return nil +} + +// Decode a slice of int32s ([]int32). +func (o *Buffer) dec_slice_int32(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + structPointer_Word32Slice(base, p.field).Append(uint32(u)) + return nil +} + +// Decode a slice of int32s ([]int32) in packed format. +func (o *Buffer) dec_slice_packed_int32(p *Properties, base structPointer) error { + v := structPointer_Word32Slice(base, p.field) + + nn, err := o.DecodeVarint() + if err != nil { + return err + } + nb := int(nn) // number of bytes of encoded int32s + + fin := o.index + nb + if fin < o.index { + return errOverflow + } + for o.index < fin { + u, err := p.valDec(o) + if err != nil { + return err + } + v.Append(uint32(u)) + } + return nil +} + +// Decode a slice of int64s ([]int64). +func (o *Buffer) dec_slice_int64(p *Properties, base structPointer) error { + u, err := p.valDec(o) + if err != nil { + return err + } + + structPointer_Word64Slice(base, p.field).Append(u) + return nil +} + +// Decode a slice of int64s ([]int64) in packed format. +func (o *Buffer) dec_slice_packed_int64(p *Properties, base structPointer) error { + v := structPointer_Word64Slice(base, p.field) + + nn, err := o.DecodeVarint() + if err != nil { + return err + } + nb := int(nn) // number of bytes of encoded int64s + + fin := o.index + nb + if fin < o.index { + return errOverflow + } + for o.index < fin { + u, err := p.valDec(o) + if err != nil { + return err + } + v.Append(u) + } + return nil +} + +// Decode a slice of strings ([]string). +func (o *Buffer) dec_slice_string(p *Properties, base structPointer) error { + s, err := o.DecodeStringBytes() + if err != nil { + return err + } + v := structPointer_StringSlice(base, p.field) + *v = append(*v, s) + return nil +} + +// Decode a slice of slice of bytes ([][]byte). +func (o *Buffer) dec_slice_slice_byte(p *Properties, base structPointer) error { + b, err := o.DecodeRawBytes(true) + if err != nil { + return err + } + v := structPointer_BytesSlice(base, p.field) + *v = append(*v, b) + return nil +} + +// Decode a map field. +func (o *Buffer) dec_new_map(p *Properties, base structPointer) error { + raw, err := o.DecodeRawBytes(false) + if err != nil { + return err + } + oi := o.index // index at the end of this map entry + o.index -= len(raw) // move buffer back to start of map entry + + mptr := structPointer_NewAt(base, p.field, p.mtype) // *map[K]V + if mptr.Elem().IsNil() { + mptr.Elem().Set(reflect.MakeMap(mptr.Type().Elem())) + } + v := mptr.Elem() // map[K]V + + // Prepare addressable doubly-indirect placeholders for the key and value types. + // See enc_new_map for why. + keyptr := reflect.New(reflect.PtrTo(p.mtype.Key())).Elem() // addressable *K + keybase := toStructPointer(keyptr.Addr()) // **K + + var valbase structPointer + var valptr reflect.Value + switch p.mtype.Elem().Kind() { + case reflect.Slice: + // []byte + var dummy []byte + valptr = reflect.ValueOf(&dummy) // *[]byte + valbase = toStructPointer(valptr) // *[]byte + case reflect.Ptr: + // message; valptr is **Msg; need to allocate the intermediate pointer + valptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V + valptr.Set(reflect.New(valptr.Type().Elem())) + valbase = toStructPointer(valptr) + default: + // everything else + valptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V + valbase = toStructPointer(valptr.Addr()) // **V + } + + // Decode. + // This parses a restricted wire format, namely the encoding of a message + // with two fields. See enc_new_map for the format. + for o.index < oi { + // tagcode for key and value properties are always a single byte + // because they have tags 1 and 2. + tagcode := o.buf[o.index] + o.index++ + switch tagcode { + case p.mkeyprop.tagcode[0]: + if err := p.mkeyprop.dec(o, p.mkeyprop, keybase); err != nil { + return err + } + case p.mvalprop.tagcode[0]: + if err := p.mvalprop.dec(o, p.mvalprop, valbase); err != nil { + return err + } + default: + // TODO: Should we silently skip this instead? + return fmt.Errorf("proto: bad map data tag %d", raw[0]) + } + } + keyelem, valelem := keyptr.Elem(), valptr.Elem() + if !keyelem.IsValid() { + keyelem = reflect.Zero(p.mtype.Key()) + } + if !valelem.IsValid() { + valelem = reflect.Zero(p.mtype.Elem()) + } + + v.SetMapIndex(keyelem, valelem) + return nil +} + +// Decode a group. +func (o *Buffer) dec_struct_group(p *Properties, base structPointer) error { + bas := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(bas) { + // allocate new nested message + bas = toStructPointer(reflect.New(p.stype)) + structPointer_SetStructPointer(base, p.field, bas) + } + return o.unmarshalType(p.stype, p.sprop, true, bas) +} + +// Decode an embedded message. +func (o *Buffer) dec_struct_message(p *Properties, base structPointer) (err error) { + raw, e := o.DecodeRawBytes(false) + if e != nil { + return e + } + + bas := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(bas) { + // allocate new nested message + bas = toStructPointer(reflect.New(p.stype)) + structPointer_SetStructPointer(base, p.field, bas) + } + + // If the object can unmarshal itself, let it. + if p.isUnmarshaler { + iv := structPointer_Interface(bas, p.stype) + return iv.(Unmarshaler).Unmarshal(raw) + } + + obuf := o.buf + oi := o.index + o.buf = raw + o.index = 0 + + err = o.unmarshalType(p.stype, p.sprop, false, bas) + o.buf = obuf + o.index = oi + + return err +} + +// Decode a slice of embedded messages. +func (o *Buffer) dec_slice_struct_message(p *Properties, base structPointer) error { + return o.dec_slice_struct(p, false, base) +} + +// Decode a slice of embedded groups. +func (o *Buffer) dec_slice_struct_group(p *Properties, base structPointer) error { + return o.dec_slice_struct(p, true, base) +} + +// Decode a slice of structs ([]*struct). +func (o *Buffer) dec_slice_struct(p *Properties, is_group bool, base structPointer) error { + v := reflect.New(p.stype) + bas := toStructPointer(v) + structPointer_StructPointerSlice(base, p.field).Append(bas) + + if is_group { + err := o.unmarshalType(p.stype, p.sprop, is_group, bas) + return err + } + + raw, err := o.DecodeRawBytes(false) + if err != nil { + return err + } + + // If the object can unmarshal itself, let it. + if p.isUnmarshaler { + iv := v.Interface() + return iv.(Unmarshaler).Unmarshal(raw) + } + + obuf := o.buf + oi := o.index + o.buf = raw + o.index = 0 + + err = o.unmarshalType(p.stype, p.sprop, is_group, bas) + + o.buf = obuf + o.index = oi + + return err +} diff --git a/vendor/github.com/golang/protobuf/proto/encode.go b/vendor/github.com/golang/protobuf/proto/encode.go new file mode 100644 index 000000000000..8b84d1b22d4c --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/encode.go @@ -0,0 +1,1362 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "errors" + "fmt" + "reflect" + "sort" +) + +// RequiredNotSetError is the error returned if Marshal is called with +// a protocol buffer struct whose required fields have not +// all been initialized. It is also the error returned if Unmarshal is +// called with an encoded protocol buffer that does not include all the +// required fields. +// +// When printed, RequiredNotSetError reports the first unset required field in a +// message. If the field cannot be precisely determined, it is reported as +// "{Unknown}". +type RequiredNotSetError struct { + field string +} + +func (e *RequiredNotSetError) Error() string { + return fmt.Sprintf("proto: required field %q not set", e.field) +} + +var ( + // errRepeatedHasNil is the error returned if Marshal is called with + // a struct with a repeated field containing a nil element. + errRepeatedHasNil = errors.New("proto: repeated field has nil element") + + // errOneofHasNil is the error returned if Marshal is called with + // a struct with a oneof field containing a nil element. + errOneofHasNil = errors.New("proto: oneof field has nil value") + + // ErrNil is the error returned if Marshal is called with nil. + ErrNil = errors.New("proto: Marshal called with nil") + + // ErrTooLarge is the error returned if Marshal is called with a + // message that encodes to >2GB. + ErrTooLarge = errors.New("proto: message encodes to over 2 GB") +) + +// The fundamental encoders that put bytes on the wire. +// Those that take integer types all accept uint64 and are +// therefore of type valueEncoder. + +const maxVarintBytes = 10 // maximum length of a varint + +// maxMarshalSize is the largest allowed size of an encoded protobuf, +// since C++ and Java use signed int32s for the size. +const maxMarshalSize = 1<<31 - 1 + +// EncodeVarint returns the varint encoding of x. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +// Not used by the package itself, but helpful to clients +// wishing to use the same encoding. +func EncodeVarint(x uint64) []byte { + var buf [maxVarintBytes]byte + var n int + for n = 0; x > 127; n++ { + buf[n] = 0x80 | uint8(x&0x7F) + x >>= 7 + } + buf[n] = uint8(x) + n++ + return buf[0:n] +} + +// EncodeVarint writes a varint-encoded integer to the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) EncodeVarint(x uint64) error { + for x >= 1<<7 { + p.buf = append(p.buf, uint8(x&0x7f|0x80)) + x >>= 7 + } + p.buf = append(p.buf, uint8(x)) + return nil +} + +// SizeVarint returns the varint encoding size of an integer. +func SizeVarint(x uint64) int { + return sizeVarint(x) +} + +func sizeVarint(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} + +// EncodeFixed64 writes a 64-bit integer to the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) EncodeFixed64(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24), + uint8(x>>32), + uint8(x>>40), + uint8(x>>48), + uint8(x>>56)) + return nil +} + +func sizeFixed64(x uint64) int { + return 8 +} + +// EncodeFixed32 writes a 32-bit integer to the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) EncodeFixed32(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24)) + return nil +} + +func sizeFixed32(x uint64) int { + return 4 +} + +// EncodeZigzag64 writes a zigzag-encoded 64-bit integer +// to the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) EncodeZigzag64(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint((x << 1) ^ uint64((int64(x) >> 63))) +} + +func sizeZigzag64(x uint64) int { + return sizeVarint((x << 1) ^ uint64((int64(x) >> 63))) +} + +// EncodeZigzag32 writes a zigzag-encoded 32-bit integer +// to the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) EncodeZigzag32(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) +} + +func sizeZigzag32(x uint64) int { + return sizeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) +} + +// EncodeRawBytes writes a count-delimited byte buffer to the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) EncodeRawBytes(b []byte) error { + p.EncodeVarint(uint64(len(b))) + p.buf = append(p.buf, b...) + return nil +} + +func sizeRawBytes(b []byte) int { + return sizeVarint(uint64(len(b))) + + len(b) +} + +// EncodeStringBytes writes an encoded string to the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) EncodeStringBytes(s string) error { + p.EncodeVarint(uint64(len(s))) + p.buf = append(p.buf, s...) + return nil +} + +func sizeStringBytes(s string) int { + return sizeVarint(uint64(len(s))) + + len(s) +} + +// Marshaler is the interface representing objects that can marshal themselves. +type Marshaler interface { + Marshal() ([]byte, error) +} + +// Marshal takes the protocol buffer +// and encodes it into the wire format, returning the data. +func Marshal(pb Message) ([]byte, error) { + // Can the object marshal itself? + if m, ok := pb.(Marshaler); ok { + return m.Marshal() + } + p := NewBuffer(nil) + err := p.Marshal(pb) + if p.buf == nil && err == nil { + // Return a non-nil slice on success. + return []byte{}, nil + } + return p.buf, err +} + +// EncodeMessage writes the protocol buffer to the Buffer, +// prefixed by a varint-encoded length. +func (p *Buffer) EncodeMessage(pb Message) error { + t, base, err := getbase(pb) + if structPointer_IsNil(base) { + return ErrNil + } + if err == nil { + var state errorState + err = p.enc_len_struct(GetProperties(t.Elem()), base, &state) + } + return err +} + +// Marshal takes the protocol buffer +// and encodes it into the wire format, writing the result to the +// Buffer. +func (p *Buffer) Marshal(pb Message) error { + // Can the object marshal itself? + if m, ok := pb.(Marshaler); ok { + data, err := m.Marshal() + p.buf = append(p.buf, data...) + return err + } + + t, base, err := getbase(pb) + if structPointer_IsNil(base) { + return ErrNil + } + if err == nil { + err = p.enc_struct(GetProperties(t.Elem()), base) + } + + if collectStats { + (stats).Encode++ // Parens are to work around a goimports bug. + } + + if len(p.buf) > maxMarshalSize { + return ErrTooLarge + } + return err +} + +// Size returns the encoded size of a protocol buffer. +func Size(pb Message) (n int) { + // Can the object marshal itself? If so, Size is slow. + // TODO: add Size to Marshaler, or add a Sizer interface. + if m, ok := pb.(Marshaler); ok { + b, _ := m.Marshal() + return len(b) + } + + t, base, err := getbase(pb) + if structPointer_IsNil(base) { + return 0 + } + if err == nil { + n = size_struct(GetProperties(t.Elem()), base) + } + + if collectStats { + (stats).Size++ // Parens are to work around a goimports bug. + } + + return +} + +// Individual type encoders. + +// Encode a bool. +func (o *Buffer) enc_bool(p *Properties, base structPointer) error { + v := *structPointer_Bool(base, p.field) + if v == nil { + return ErrNil + } + x := 0 + if *v { + x = 1 + } + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, uint64(x)) + return nil +} + +func (o *Buffer) enc_proto3_bool(p *Properties, base structPointer) error { + v := *structPointer_BoolVal(base, p.field) + if !v { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, 1) + return nil +} + +func size_bool(p *Properties, base structPointer) int { + v := *structPointer_Bool(base, p.field) + if v == nil { + return 0 + } + return len(p.tagcode) + 1 // each bool takes exactly one byte +} + +func size_proto3_bool(p *Properties, base structPointer) int { + v := *structPointer_BoolVal(base, p.field) + if !v && !p.oneof { + return 0 + } + return len(p.tagcode) + 1 // each bool takes exactly one byte +} + +// Encode an int32. +func (o *Buffer) enc_int32(p *Properties, base structPointer) error { + v := structPointer_Word32(base, p.field) + if word32_IsNil(v) { + return ErrNil + } + x := int32(word32_Get(v)) // permit sign extension to use full 64-bit range + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, uint64(x)) + return nil +} + +func (o *Buffer) enc_proto3_int32(p *Properties, base structPointer) error { + v := structPointer_Word32Val(base, p.field) + x := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range + if x == 0 { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, uint64(x)) + return nil +} + +func size_int32(p *Properties, base structPointer) (n int) { + v := structPointer_Word32(base, p.field) + if word32_IsNil(v) { + return 0 + } + x := int32(word32_Get(v)) // permit sign extension to use full 64-bit range + n += len(p.tagcode) + n += p.valSize(uint64(x)) + return +} + +func size_proto3_int32(p *Properties, base structPointer) (n int) { + v := structPointer_Word32Val(base, p.field) + x := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range + if x == 0 && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += p.valSize(uint64(x)) + return +} + +// Encode a uint32. +// Exactly the same as int32, except for no sign extension. +func (o *Buffer) enc_uint32(p *Properties, base structPointer) error { + v := structPointer_Word32(base, p.field) + if word32_IsNil(v) { + return ErrNil + } + x := word32_Get(v) + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, uint64(x)) + return nil +} + +func (o *Buffer) enc_proto3_uint32(p *Properties, base structPointer) error { + v := structPointer_Word32Val(base, p.field) + x := word32Val_Get(v) + if x == 0 { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, uint64(x)) + return nil +} + +func size_uint32(p *Properties, base structPointer) (n int) { + v := structPointer_Word32(base, p.field) + if word32_IsNil(v) { + return 0 + } + x := word32_Get(v) + n += len(p.tagcode) + n += p.valSize(uint64(x)) + return +} + +func size_proto3_uint32(p *Properties, base structPointer) (n int) { + v := structPointer_Word32Val(base, p.field) + x := word32Val_Get(v) + if x == 0 && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += p.valSize(uint64(x)) + return +} + +// Encode an int64. +func (o *Buffer) enc_int64(p *Properties, base structPointer) error { + v := structPointer_Word64(base, p.field) + if word64_IsNil(v) { + return ErrNil + } + x := word64_Get(v) + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, x) + return nil +} + +func (o *Buffer) enc_proto3_int64(p *Properties, base structPointer) error { + v := structPointer_Word64Val(base, p.field) + x := word64Val_Get(v) + if x == 0 { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, x) + return nil +} + +func size_int64(p *Properties, base structPointer) (n int) { + v := structPointer_Word64(base, p.field) + if word64_IsNil(v) { + return 0 + } + x := word64_Get(v) + n += len(p.tagcode) + n += p.valSize(x) + return +} + +func size_proto3_int64(p *Properties, base structPointer) (n int) { + v := structPointer_Word64Val(base, p.field) + x := word64Val_Get(v) + if x == 0 && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += p.valSize(x) + return +} + +// Encode a string. +func (o *Buffer) enc_string(p *Properties, base structPointer) error { + v := *structPointer_String(base, p.field) + if v == nil { + return ErrNil + } + x := *v + o.buf = append(o.buf, p.tagcode...) + o.EncodeStringBytes(x) + return nil +} + +func (o *Buffer) enc_proto3_string(p *Properties, base structPointer) error { + v := *structPointer_StringVal(base, p.field) + if v == "" { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeStringBytes(v) + return nil +} + +func size_string(p *Properties, base structPointer) (n int) { + v := *structPointer_String(base, p.field) + if v == nil { + return 0 + } + x := *v + n += len(p.tagcode) + n += sizeStringBytes(x) + return +} + +func size_proto3_string(p *Properties, base structPointer) (n int) { + v := *structPointer_StringVal(base, p.field) + if v == "" && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += sizeStringBytes(v) + return +} + +// All protocol buffer fields are nillable, but be careful. +func isNil(v reflect.Value) bool { + switch v.Kind() { + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return v.IsNil() + } + return false +} + +// Encode a message struct. +func (o *Buffer) enc_struct_message(p *Properties, base structPointer) error { + var state errorState + structp := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(structp) { + return ErrNil + } + + // Can the object marshal itself? + if p.isMarshaler { + m := structPointer_Interface(structp, p.stype).(Marshaler) + data, err := m.Marshal() + if err != nil && !state.shouldContinue(err, nil) { + return err + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeRawBytes(data) + return state.err + } + + o.buf = append(o.buf, p.tagcode...) + return o.enc_len_struct(p.sprop, structp, &state) +} + +func size_struct_message(p *Properties, base structPointer) int { + structp := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(structp) { + return 0 + } + + // Can the object marshal itself? + if p.isMarshaler { + m := structPointer_Interface(structp, p.stype).(Marshaler) + data, _ := m.Marshal() + n0 := len(p.tagcode) + n1 := sizeRawBytes(data) + return n0 + n1 + } + + n0 := len(p.tagcode) + n1 := size_struct(p.sprop, structp) + n2 := sizeVarint(uint64(n1)) // size of encoded length + return n0 + n1 + n2 +} + +// Encode a group struct. +func (o *Buffer) enc_struct_group(p *Properties, base structPointer) error { + var state errorState + b := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(b) { + return ErrNil + } + + o.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup)) + err := o.enc_struct(p.sprop, b) + if err != nil && !state.shouldContinue(err, nil) { + return err + } + o.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup)) + return state.err +} + +func size_struct_group(p *Properties, base structPointer) (n int) { + b := structPointer_GetStructPointer(base, p.field) + if structPointer_IsNil(b) { + return 0 + } + + n += sizeVarint(uint64((p.Tag << 3) | WireStartGroup)) + n += size_struct(p.sprop, b) + n += sizeVarint(uint64((p.Tag << 3) | WireEndGroup)) + return +} + +// Encode a slice of bools ([]bool). +func (o *Buffer) enc_slice_bool(p *Properties, base structPointer) error { + s := *structPointer_BoolSlice(base, p.field) + l := len(s) + if l == 0 { + return ErrNil + } + for _, x := range s { + o.buf = append(o.buf, p.tagcode...) + v := uint64(0) + if x { + v = 1 + } + p.valEnc(o, v) + } + return nil +} + +func size_slice_bool(p *Properties, base structPointer) int { + s := *structPointer_BoolSlice(base, p.field) + l := len(s) + if l == 0 { + return 0 + } + return l * (len(p.tagcode) + 1) // each bool takes exactly one byte +} + +// Encode a slice of bools ([]bool) in packed format. +func (o *Buffer) enc_slice_packed_bool(p *Properties, base structPointer) error { + s := *structPointer_BoolSlice(base, p.field) + l := len(s) + if l == 0 { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeVarint(uint64(l)) // each bool takes exactly one byte + for _, x := range s { + v := uint64(0) + if x { + v = 1 + } + p.valEnc(o, v) + } + return nil +} + +func size_slice_packed_bool(p *Properties, base structPointer) (n int) { + s := *structPointer_BoolSlice(base, p.field) + l := len(s) + if l == 0 { + return 0 + } + n += len(p.tagcode) + n += sizeVarint(uint64(l)) + n += l // each bool takes exactly one byte + return +} + +// Encode a slice of bytes ([]byte). +func (o *Buffer) enc_slice_byte(p *Properties, base structPointer) error { + s := *structPointer_Bytes(base, p.field) + if s == nil { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeRawBytes(s) + return nil +} + +func (o *Buffer) enc_proto3_slice_byte(p *Properties, base structPointer) error { + s := *structPointer_Bytes(base, p.field) + if len(s) == 0 { + return ErrNil + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeRawBytes(s) + return nil +} + +func size_slice_byte(p *Properties, base structPointer) (n int) { + s := *structPointer_Bytes(base, p.field) + if s == nil && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += sizeRawBytes(s) + return +} + +func size_proto3_slice_byte(p *Properties, base structPointer) (n int) { + s := *structPointer_Bytes(base, p.field) + if len(s) == 0 && !p.oneof { + return 0 + } + n += len(p.tagcode) + n += sizeRawBytes(s) + return +} + +// Encode a slice of int32s ([]int32). +func (o *Buffer) enc_slice_int32(p *Properties, base structPointer) error { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + for i := 0; i < l; i++ { + o.buf = append(o.buf, p.tagcode...) + x := int32(s.Index(i)) // permit sign extension to use full 64-bit range + p.valEnc(o, uint64(x)) + } + return nil +} + +func size_slice_int32(p *Properties, base structPointer) (n int) { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + for i := 0; i < l; i++ { + n += len(p.tagcode) + x := int32(s.Index(i)) // permit sign extension to use full 64-bit range + n += p.valSize(uint64(x)) + } + return +} + +// Encode a slice of int32s ([]int32) in packed format. +func (o *Buffer) enc_slice_packed_int32(p *Properties, base structPointer) error { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + // TODO: Reuse a Buffer. + buf := NewBuffer(nil) + for i := 0; i < l; i++ { + x := int32(s.Index(i)) // permit sign extension to use full 64-bit range + p.valEnc(buf, uint64(x)) + } + + o.buf = append(o.buf, p.tagcode...) + o.EncodeVarint(uint64(len(buf.buf))) + o.buf = append(o.buf, buf.buf...) + return nil +} + +func size_slice_packed_int32(p *Properties, base structPointer) (n int) { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + var bufSize int + for i := 0; i < l; i++ { + x := int32(s.Index(i)) // permit sign extension to use full 64-bit range + bufSize += p.valSize(uint64(x)) + } + + n += len(p.tagcode) + n += sizeVarint(uint64(bufSize)) + n += bufSize + return +} + +// Encode a slice of uint32s ([]uint32). +// Exactly the same as int32, except for no sign extension. +func (o *Buffer) enc_slice_uint32(p *Properties, base structPointer) error { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + for i := 0; i < l; i++ { + o.buf = append(o.buf, p.tagcode...) + x := s.Index(i) + p.valEnc(o, uint64(x)) + } + return nil +} + +func size_slice_uint32(p *Properties, base structPointer) (n int) { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + for i := 0; i < l; i++ { + n += len(p.tagcode) + x := s.Index(i) + n += p.valSize(uint64(x)) + } + return +} + +// Encode a slice of uint32s ([]uint32) in packed format. +// Exactly the same as int32, except for no sign extension. +func (o *Buffer) enc_slice_packed_uint32(p *Properties, base structPointer) error { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + // TODO: Reuse a Buffer. + buf := NewBuffer(nil) + for i := 0; i < l; i++ { + p.valEnc(buf, uint64(s.Index(i))) + } + + o.buf = append(o.buf, p.tagcode...) + o.EncodeVarint(uint64(len(buf.buf))) + o.buf = append(o.buf, buf.buf...) + return nil +} + +func size_slice_packed_uint32(p *Properties, base structPointer) (n int) { + s := structPointer_Word32Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + var bufSize int + for i := 0; i < l; i++ { + bufSize += p.valSize(uint64(s.Index(i))) + } + + n += len(p.tagcode) + n += sizeVarint(uint64(bufSize)) + n += bufSize + return +} + +// Encode a slice of int64s ([]int64). +func (o *Buffer) enc_slice_int64(p *Properties, base structPointer) error { + s := structPointer_Word64Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + for i := 0; i < l; i++ { + o.buf = append(o.buf, p.tagcode...) + p.valEnc(o, s.Index(i)) + } + return nil +} + +func size_slice_int64(p *Properties, base structPointer) (n int) { + s := structPointer_Word64Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + for i := 0; i < l; i++ { + n += len(p.tagcode) + n += p.valSize(s.Index(i)) + } + return +} + +// Encode a slice of int64s ([]int64) in packed format. +func (o *Buffer) enc_slice_packed_int64(p *Properties, base structPointer) error { + s := structPointer_Word64Slice(base, p.field) + l := s.Len() + if l == 0 { + return ErrNil + } + // TODO: Reuse a Buffer. + buf := NewBuffer(nil) + for i := 0; i < l; i++ { + p.valEnc(buf, s.Index(i)) + } + + o.buf = append(o.buf, p.tagcode...) + o.EncodeVarint(uint64(len(buf.buf))) + o.buf = append(o.buf, buf.buf...) + return nil +} + +func size_slice_packed_int64(p *Properties, base structPointer) (n int) { + s := structPointer_Word64Slice(base, p.field) + l := s.Len() + if l == 0 { + return 0 + } + var bufSize int + for i := 0; i < l; i++ { + bufSize += p.valSize(s.Index(i)) + } + + n += len(p.tagcode) + n += sizeVarint(uint64(bufSize)) + n += bufSize + return +} + +// Encode a slice of slice of bytes ([][]byte). +func (o *Buffer) enc_slice_slice_byte(p *Properties, base structPointer) error { + ss := *structPointer_BytesSlice(base, p.field) + l := len(ss) + if l == 0 { + return ErrNil + } + for i := 0; i < l; i++ { + o.buf = append(o.buf, p.tagcode...) + o.EncodeRawBytes(ss[i]) + } + return nil +} + +func size_slice_slice_byte(p *Properties, base structPointer) (n int) { + ss := *structPointer_BytesSlice(base, p.field) + l := len(ss) + if l == 0 { + return 0 + } + n += l * len(p.tagcode) + for i := 0; i < l; i++ { + n += sizeRawBytes(ss[i]) + } + return +} + +// Encode a slice of strings ([]string). +func (o *Buffer) enc_slice_string(p *Properties, base structPointer) error { + ss := *structPointer_StringSlice(base, p.field) + l := len(ss) + for i := 0; i < l; i++ { + o.buf = append(o.buf, p.tagcode...) + o.EncodeStringBytes(ss[i]) + } + return nil +} + +func size_slice_string(p *Properties, base structPointer) (n int) { + ss := *structPointer_StringSlice(base, p.field) + l := len(ss) + n += l * len(p.tagcode) + for i := 0; i < l; i++ { + n += sizeStringBytes(ss[i]) + } + return +} + +// Encode a slice of message structs ([]*struct). +func (o *Buffer) enc_slice_struct_message(p *Properties, base structPointer) error { + var state errorState + s := structPointer_StructPointerSlice(base, p.field) + l := s.Len() + + for i := 0; i < l; i++ { + structp := s.Index(i) + if structPointer_IsNil(structp) { + return errRepeatedHasNil + } + + // Can the object marshal itself? + if p.isMarshaler { + m := structPointer_Interface(structp, p.stype).(Marshaler) + data, err := m.Marshal() + if err != nil && !state.shouldContinue(err, nil) { + return err + } + o.buf = append(o.buf, p.tagcode...) + o.EncodeRawBytes(data) + continue + } + + o.buf = append(o.buf, p.tagcode...) + err := o.enc_len_struct(p.sprop, structp, &state) + if err != nil && !state.shouldContinue(err, nil) { + if err == ErrNil { + return errRepeatedHasNil + } + return err + } + } + return state.err +} + +func size_slice_struct_message(p *Properties, base structPointer) (n int) { + s := structPointer_StructPointerSlice(base, p.field) + l := s.Len() + n += l * len(p.tagcode) + for i := 0; i < l; i++ { + structp := s.Index(i) + if structPointer_IsNil(structp) { + return // return the size up to this point + } + + // Can the object marshal itself? + if p.isMarshaler { + m := structPointer_Interface(structp, p.stype).(Marshaler) + data, _ := m.Marshal() + n += sizeRawBytes(data) + continue + } + + n0 := size_struct(p.sprop, structp) + n1 := sizeVarint(uint64(n0)) // size of encoded length + n += n0 + n1 + } + return +} + +// Encode a slice of group structs ([]*struct). +func (o *Buffer) enc_slice_struct_group(p *Properties, base structPointer) error { + var state errorState + s := structPointer_StructPointerSlice(base, p.field) + l := s.Len() + + for i := 0; i < l; i++ { + b := s.Index(i) + if structPointer_IsNil(b) { + return errRepeatedHasNil + } + + o.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup)) + + err := o.enc_struct(p.sprop, b) + + if err != nil && !state.shouldContinue(err, nil) { + if err == ErrNil { + return errRepeatedHasNil + } + return err + } + + o.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup)) + } + return state.err +} + +func size_slice_struct_group(p *Properties, base structPointer) (n int) { + s := structPointer_StructPointerSlice(base, p.field) + l := s.Len() + + n += l * sizeVarint(uint64((p.Tag<<3)|WireStartGroup)) + n += l * sizeVarint(uint64((p.Tag<<3)|WireEndGroup)) + for i := 0; i < l; i++ { + b := s.Index(i) + if structPointer_IsNil(b) { + return // return size up to this point + } + + n += size_struct(p.sprop, b) + } + return +} + +// Encode an extension map. +func (o *Buffer) enc_map(p *Properties, base structPointer) error { + exts := structPointer_ExtMap(base, p.field) + if err := encodeExtensionsMap(*exts); err != nil { + return err + } + + return o.enc_map_body(*exts) +} + +func (o *Buffer) enc_exts(p *Properties, base structPointer) error { + exts := structPointer_Extensions(base, p.field) + + v, mu := exts.extensionsRead() + if v == nil { + return nil + } + + mu.Lock() + defer mu.Unlock() + if err := encodeExtensionsMap(v); err != nil { + return err + } + + return o.enc_map_body(v) +} + +func (o *Buffer) enc_map_body(v map[int32]Extension) error { + // Fast-path for common cases: zero or one extensions. + if len(v) <= 1 { + for _, e := range v { + o.buf = append(o.buf, e.enc...) + } + return nil + } + + // Sort keys to provide a deterministic encoding. + keys := make([]int, 0, len(v)) + for k := range v { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, k := range keys { + o.buf = append(o.buf, v[int32(k)].enc...) + } + return nil +} + +func size_map(p *Properties, base structPointer) int { + v := structPointer_ExtMap(base, p.field) + return extensionsMapSize(*v) +} + +func size_exts(p *Properties, base structPointer) int { + v := structPointer_Extensions(base, p.field) + return extensionsSize(v) +} + +// Encode a map field. +func (o *Buffer) enc_new_map(p *Properties, base structPointer) error { + var state errorState // XXX: or do we need to plumb this through? + + /* + A map defined as + map map_field = N; + is encoded in the same way as + message MapFieldEntry { + key_type key = 1; + value_type value = 2; + } + repeated MapFieldEntry map_field = N; + */ + + v := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V + if v.Len() == 0 { + return nil + } + + keycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype) + + enc := func() error { + if err := p.mkeyprop.enc(o, p.mkeyprop, keybase); err != nil { + return err + } + if err := p.mvalprop.enc(o, p.mvalprop, valbase); err != nil && err != ErrNil { + return err + } + return nil + } + + // Don't sort map keys. It is not required by the spec, and C++ doesn't do it. + for _, key := range v.MapKeys() { + val := v.MapIndex(key) + + keycopy.Set(key) + valcopy.Set(val) + + o.buf = append(o.buf, p.tagcode...) + if err := o.enc_len_thing(enc, &state); err != nil { + return err + } + } + return nil +} + +func size_new_map(p *Properties, base structPointer) int { + v := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V + + keycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype) + + n := 0 + for _, key := range v.MapKeys() { + val := v.MapIndex(key) + keycopy.Set(key) + valcopy.Set(val) + + // Tag codes for key and val are the responsibility of the sub-sizer. + keysize := p.mkeyprop.size(p.mkeyprop, keybase) + valsize := p.mvalprop.size(p.mvalprop, valbase) + entry := keysize + valsize + // Add on tag code and length of map entry itself. + n += len(p.tagcode) + sizeVarint(uint64(entry)) + entry + } + return n +} + +// mapEncodeScratch returns a new reflect.Value matching the map's value type, +// and a structPointer suitable for passing to an encoder or sizer. +func mapEncodeScratch(mapType reflect.Type) (keycopy, valcopy reflect.Value, keybase, valbase structPointer) { + // Prepare addressable doubly-indirect placeholders for the key and value types. + // This is needed because the element-type encoders expect **T, but the map iteration produces T. + + keycopy = reflect.New(mapType.Key()).Elem() // addressable K + keyptr := reflect.New(reflect.PtrTo(keycopy.Type())).Elem() // addressable *K + keyptr.Set(keycopy.Addr()) // + keybase = toStructPointer(keyptr.Addr()) // **K + + // Value types are more varied and require special handling. + switch mapType.Elem().Kind() { + case reflect.Slice: + // []byte + var dummy []byte + valcopy = reflect.ValueOf(&dummy).Elem() // addressable []byte + valbase = toStructPointer(valcopy.Addr()) + case reflect.Ptr: + // message; the generated field type is map[K]*Msg (so V is *Msg), + // so we only need one level of indirection. + valcopy = reflect.New(mapType.Elem()).Elem() // addressable V + valbase = toStructPointer(valcopy.Addr()) + default: + // everything else + valcopy = reflect.New(mapType.Elem()).Elem() // addressable V + valptr := reflect.New(reflect.PtrTo(valcopy.Type())).Elem() // addressable *V + valptr.Set(valcopy.Addr()) // + valbase = toStructPointer(valptr.Addr()) // **V + } + return +} + +// Encode a struct. +func (o *Buffer) enc_struct(prop *StructProperties, base structPointer) error { + var state errorState + // Encode fields in tag order so that decoders may use optimizations + // that depend on the ordering. + // https://developers.google.com/protocol-buffers/docs/encoding#order + for _, i := range prop.order { + p := prop.Prop[i] + if p.enc != nil { + err := p.enc(o, p, base) + if err != nil { + if err == ErrNil { + if p.Required && state.err == nil { + state.err = &RequiredNotSetError{p.Name} + } + } else if err == errRepeatedHasNil { + // Give more context to nil values in repeated fields. + return errors.New("repeated field " + p.OrigName + " has nil element") + } else if !state.shouldContinue(err, p) { + return err + } + } + if len(o.buf) > maxMarshalSize { + return ErrTooLarge + } + } + } + + // Do oneof fields. + if prop.oneofMarshaler != nil { + m := structPointer_Interface(base, prop.stype).(Message) + if err := prop.oneofMarshaler(m, o); err == ErrNil { + return errOneofHasNil + } else if err != nil { + return err + } + } + + // Add unrecognized fields at the end. + if prop.unrecField.IsValid() { + v := *structPointer_Bytes(base, prop.unrecField) + if len(o.buf)+len(v) > maxMarshalSize { + return ErrTooLarge + } + if len(v) > 0 { + o.buf = append(o.buf, v...) + } + } + + return state.err +} + +func size_struct(prop *StructProperties, base structPointer) (n int) { + for _, i := range prop.order { + p := prop.Prop[i] + if p.size != nil { + n += p.size(p, base) + } + } + + // Add unrecognized fields at the end. + if prop.unrecField.IsValid() { + v := *structPointer_Bytes(base, prop.unrecField) + n += len(v) + } + + // Factor in any oneof fields. + if prop.oneofSizer != nil { + m := structPointer_Interface(base, prop.stype).(Message) + n += prop.oneofSizer(m) + } + + return +} + +var zeroes [20]byte // longer than any conceivable sizeVarint + +// Encode a struct, preceded by its encoded length (as a varint). +func (o *Buffer) enc_len_struct(prop *StructProperties, base structPointer, state *errorState) error { + return o.enc_len_thing(func() error { return o.enc_struct(prop, base) }, state) +} + +// Encode something, preceded by its encoded length (as a varint). +func (o *Buffer) enc_len_thing(enc func() error, state *errorState) error { + iLen := len(o.buf) + o.buf = append(o.buf, 0, 0, 0, 0) // reserve four bytes for length + iMsg := len(o.buf) + err := enc() + if err != nil && !state.shouldContinue(err, nil) { + return err + } + lMsg := len(o.buf) - iMsg + lLen := sizeVarint(uint64(lMsg)) + switch x := lLen - (iMsg - iLen); { + case x > 0: // actual length is x bytes larger than the space we reserved + // Move msg x bytes right. + o.buf = append(o.buf, zeroes[:x]...) + copy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg]) + case x < 0: // actual length is x bytes smaller than the space we reserved + // Move msg x bytes left. + copy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg]) + o.buf = o.buf[:len(o.buf)+x] // x is negative + } + // Encode the length in the reserved space. + o.buf = o.buf[:iLen] + o.EncodeVarint(uint64(lMsg)) + o.buf = o.buf[:len(o.buf)+lMsg] + return state.err +} + +// errorState maintains the first error that occurs and updates that error +// with additional context. +type errorState struct { + err error +} + +// shouldContinue reports whether encoding should continue upon encountering the +// given error. If the error is RequiredNotSetError, shouldContinue returns true +// and, if this is the first appearance of that error, remembers it for future +// reporting. +// +// If prop is not nil, it may update any error with additional context about the +// field with the error. +func (s *errorState) shouldContinue(err error, prop *Properties) bool { + // Ignore unset required fields. + reqNotSet, ok := err.(*RequiredNotSetError) + if !ok { + return false + } + if s.err == nil { + if prop != nil { + err = &RequiredNotSetError{prop.Name + "." + reqNotSet.field} + } + s.err = err + } + return true +} diff --git a/vendor/github.com/golang/protobuf/proto/equal.go b/vendor/github.com/golang/protobuf/proto/equal.go new file mode 100644 index 000000000000..2ed1cf596664 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/equal.go @@ -0,0 +1,300 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer comparison. + +package proto + +import ( + "bytes" + "log" + "reflect" + "strings" +) + +/* +Equal returns true iff protocol buffers a and b are equal. +The arguments must both be pointers to protocol buffer structs. + +Equality is defined in this way: + - Two messages are equal iff they are the same type, + corresponding fields are equal, unknown field sets + are equal, and extensions sets are equal. + - Two set scalar fields are equal iff their values are equal. + If the fields are of a floating-point type, remember that + NaN != x for all x, including NaN. If the message is defined + in a proto3 .proto file, fields are not "set"; specifically, + zero length proto3 "bytes" fields are equal (nil == {}). + - Two repeated fields are equal iff their lengths are the same, + and their corresponding elements are equal. Note a "bytes" field, + although represented by []byte, is not a repeated field and the + rule for the scalar fields described above applies. + - Two unset fields are equal. + - Two unknown field sets are equal if their current + encoded state is equal. + - Two extension sets are equal iff they have corresponding + elements that are pairwise equal. + - Two map fields are equal iff their lengths are the same, + and they contain the same set of elements. Zero-length map + fields are equal. + - Every other combination of things are not equal. + +The return value is undefined if a and b are not protocol buffers. +*/ +func Equal(a, b Message) bool { + if a == nil || b == nil { + return a == b + } + v1, v2 := reflect.ValueOf(a), reflect.ValueOf(b) + if v1.Type() != v2.Type() { + return false + } + if v1.Kind() == reflect.Ptr { + if v1.IsNil() { + return v2.IsNil() + } + if v2.IsNil() { + return false + } + v1, v2 = v1.Elem(), v2.Elem() + } + if v1.Kind() != reflect.Struct { + return false + } + return equalStruct(v1, v2) +} + +// v1 and v2 are known to have the same type. +func equalStruct(v1, v2 reflect.Value) bool { + sprop := GetProperties(v1.Type()) + for i := 0; i < v1.NumField(); i++ { + f := v1.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + f1, f2 := v1.Field(i), v2.Field(i) + if f.Type.Kind() == reflect.Ptr { + if n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 { + // both unset + continue + } else if n1 != n2 { + // set/unset mismatch + return false + } + b1, ok := f1.Interface().(raw) + if ok { + b2 := f2.Interface().(raw) + // RawMessage + if !bytes.Equal(b1.Bytes(), b2.Bytes()) { + return false + } + continue + } + f1, f2 = f1.Elem(), f2.Elem() + } + if !equalAny(f1, f2, sprop.Prop[i]) { + return false + } + } + + if em1 := v1.FieldByName("XXX_InternalExtensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_InternalExtensions") + if !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) { + return false + } + } + + if em1 := v1.FieldByName("XXX_extensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_extensions") + if !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) { + return false + } + } + + uf := v1.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return true + } + + u1 := uf.Bytes() + u2 := v2.FieldByName("XXX_unrecognized").Bytes() + if !bytes.Equal(u1, u2) { + return false + } + + return true +} + +// v1 and v2 are known to have the same type. +// prop may be nil. +func equalAny(v1, v2 reflect.Value, prop *Properties) bool { + if v1.Type() == protoMessageType { + m1, _ := v1.Interface().(Message) + m2, _ := v2.Interface().(Message) + return Equal(m1, m2) + } + switch v1.Kind() { + case reflect.Bool: + return v1.Bool() == v2.Bool() + case reflect.Float32, reflect.Float64: + return v1.Float() == v2.Float() + case reflect.Int32, reflect.Int64: + return v1.Int() == v2.Int() + case reflect.Interface: + // Probably a oneof field; compare the inner values. + n1, n2 := v1.IsNil(), v2.IsNil() + if n1 || n2 { + return n1 == n2 + } + e1, e2 := v1.Elem(), v2.Elem() + if e1.Type() != e2.Type() { + return false + } + return equalAny(e1, e2, nil) + case reflect.Map: + if v1.Len() != v2.Len() { + return false + } + for _, key := range v1.MapKeys() { + val2 := v2.MapIndex(key) + if !val2.IsValid() { + // This key was not found in the second map. + return false + } + if !equalAny(v1.MapIndex(key), val2, nil) { + return false + } + } + return true + case reflect.Ptr: + // Maps may have nil values in them, so check for nil. + if v1.IsNil() && v2.IsNil() { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return equalAny(v1.Elem(), v2.Elem(), prop) + case reflect.Slice: + if v1.Type().Elem().Kind() == reflect.Uint8 { + // short circuit: []byte + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value. + if prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte)) + } + + if v1.Len() != v2.Len() { + return false + } + for i := 0; i < v1.Len(); i++ { + if !equalAny(v1.Index(i), v2.Index(i), prop) { + return false + } + } + return true + case reflect.String: + return v1.Interface().(string) == v2.Interface().(string) + case reflect.Struct: + return equalStruct(v1, v2) + case reflect.Uint32, reflect.Uint64: + return v1.Uint() == v2.Uint() + } + + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to compare %v", v1) + return false +} + +// base is the struct type that the extensions are based on. +// x1 and x2 are InternalExtensions. +func equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool { + em1, _ := x1.extensionsRead() + em2, _ := x2.extensionsRead() + return equalExtMap(base, em1, em2) +} + +func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { + if len(em1) != len(em2) { + return false + } + + for extNum, e1 := range em1 { + e2, ok := em2[extNum] + if !ok { + return false + } + + m1, m2 := e1.value, e2.value + + if m1 != nil && m2 != nil { + // Both are unencoded. + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + continue + } + + // At least one is encoded. To do a semantically correct comparison + // we need to unmarshal them first. + var desc *ExtensionDesc + if m := extensionMaps[base]; m != nil { + desc = m[extNum] + } + if desc == nil { + log.Printf("proto: don't know how to compare extension %d of %v", extNum, base) + continue + } + var err error + if m1 == nil { + m1, err = decodeExtension(e1.enc, desc) + } + if m2 == nil && err == nil { + m2, err = decodeExtension(e2.enc, desc) + } + if err != nil { + // The encoded form is invalid. + log.Printf("proto: badly encoded extension %d of %v: %v", extNum, base, err) + return false + } + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + } + + return true +} diff --git a/vendor/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go new file mode 100644 index 000000000000..eaad21831263 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/extensions.go @@ -0,0 +1,587 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Types and routines for supporting protocol buffer extensions. + */ + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "sync" +) + +// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message. +var ErrMissingExtension = errors.New("proto: missing extension") + +// ExtensionRange represents a range of message extensions for a protocol buffer. +// Used in code generated by the protocol compiler. +type ExtensionRange struct { + Start, End int32 // both inclusive +} + +// extendableProto is an interface implemented by any protocol buffer generated by the current +// proto compiler that may be extended. +type extendableProto interface { + Message + ExtensionRangeArray() []ExtensionRange + extensionsWrite() map[int32]Extension + extensionsRead() (map[int32]Extension, sync.Locker) +} + +// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous +// version of the proto compiler that may be extended. +type extendableProtoV1 interface { + Message + ExtensionRangeArray() []ExtensionRange + ExtensionMap() map[int32]Extension +} + +// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto. +type extensionAdapter struct { + extendableProtoV1 +} + +func (e extensionAdapter) extensionsWrite() map[int32]Extension { + return e.ExtensionMap() +} + +func (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) { + return e.ExtensionMap(), notLocker{} +} + +// notLocker is a sync.Locker whose Lock and Unlock methods are nops. +type notLocker struct{} + +func (n notLocker) Lock() {} +func (n notLocker) Unlock() {} + +// extendable returns the extendableProto interface for the given generated proto message. +// If the proto message has the old extension format, it returns a wrapper that implements +// the extendableProto interface. +func extendable(p interface{}) (extendableProto, bool) { + if ep, ok := p.(extendableProto); ok { + return ep, ok + } + if ep, ok := p.(extendableProtoV1); ok { + return extensionAdapter{ep}, ok + } + return nil, false +} + +// XXX_InternalExtensions is an internal representation of proto extensions. +// +// Each generated message struct type embeds an anonymous XXX_InternalExtensions field, +// thus gaining the unexported 'extensions' method, which can be called only from the proto package. +// +// The methods of XXX_InternalExtensions are not concurrency safe in general, +// but calls to logically read-only methods such as has and get may be executed concurrently. +type XXX_InternalExtensions struct { + // The struct must be indirect so that if a user inadvertently copies a + // generated message and its embedded XXX_InternalExtensions, they + // avoid the mayhem of a copied mutex. + // + // The mutex serializes all logically read-only operations to p.extensionMap. + // It is up to the client to ensure that write operations to p.extensionMap are + // mutually exclusive with other accesses. + p *struct { + mu sync.Mutex + extensionMap map[int32]Extension + } +} + +// extensionsWrite returns the extension map, creating it on first use. +func (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension { + if e.p == nil { + e.p = new(struct { + mu sync.Mutex + extensionMap map[int32]Extension + }) + e.p.extensionMap = make(map[int32]Extension) + } + return e.p.extensionMap +} + +// extensionsRead returns the extensions map for read-only use. It may be nil. +// The caller must hold the returned mutex's lock when accessing Elements within the map. +func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) { + if e.p == nil { + return nil, nil + } + return e.p.extensionMap, &e.p.mu +} + +var extendableProtoType = reflect.TypeOf((*extendableProto)(nil)).Elem() +var extendableProtoV1Type = reflect.TypeOf((*extendableProtoV1)(nil)).Elem() + +// ExtensionDesc represents an extension specification. +// Used in generated code from the protocol compiler. +type ExtensionDesc struct { + ExtendedType Message // nil pointer to the type that is being extended + ExtensionType interface{} // nil pointer to the extension type + Field int32 // field number + Name string // fully-qualified name of extension, for text formatting + Tag string // protobuf tag style + Filename string // name of the file in which the extension is defined +} + +func (ed *ExtensionDesc) repeated() bool { + t := reflect.TypeOf(ed.ExtensionType) + return t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 +} + +// Extension represents an extension in a message. +type Extension struct { + // When an extension is stored in a message using SetExtension + // only desc and value are set. When the message is marshaled + // enc will be set to the encoded form of the message. + // + // When a message is unmarshaled and contains extensions, each + // extension will have only enc set. When such an extension is + // accessed using GetExtension (or GetExtensions) desc and value + // will be set. + desc *ExtensionDesc + value interface{} + enc []byte +} + +// SetRawExtension is for testing only. +func SetRawExtension(base Message, id int32, b []byte) { + epb, ok := extendable(base) + if !ok { + return + } + extmap := epb.extensionsWrite() + extmap[id] = Extension{enc: b} +} + +// isExtensionField returns true iff the given field number is in an extension range. +func isExtensionField(pb extendableProto, field int32) bool { + for _, er := range pb.ExtensionRangeArray() { + if er.Start <= field && field <= er.End { + return true + } + } + return false +} + +// checkExtensionTypes checks that the given extension is valid for pb. +func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error { + var pbi interface{} = pb + // Check the extended type. + if ea, ok := pbi.(extensionAdapter); ok { + pbi = ea.extendableProtoV1 + } + if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b { + return errors.New("proto: bad extended type; " + b.String() + " does not extend " + a.String()) + } + // Check the range. + if !isExtensionField(pb, extension.Field) { + return errors.New("proto: bad extension number; not in declared ranges") + } + return nil +} + +// extPropKey is sufficient to uniquely identify an extension. +type extPropKey struct { + base reflect.Type + field int32 +} + +var extProp = struct { + sync.RWMutex + m map[extPropKey]*Properties +}{ + m: make(map[extPropKey]*Properties), +} + +func extensionProperties(ed *ExtensionDesc) *Properties { + key := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field} + + extProp.RLock() + if prop, ok := extProp.m[key]; ok { + extProp.RUnlock() + return prop + } + extProp.RUnlock() + + extProp.Lock() + defer extProp.Unlock() + // Check again. + if prop, ok := extProp.m[key]; ok { + return prop + } + + prop := new(Properties) + prop.Init(reflect.TypeOf(ed.ExtensionType), "unknown_name", ed.Tag, nil) + extProp.m[key] = prop + return prop +} + +// encode encodes any unmarshaled (unencoded) extensions in e. +func encodeExtensions(e *XXX_InternalExtensions) error { + m, mu := e.extensionsRead() + if m == nil { + return nil // fast path + } + mu.Lock() + defer mu.Unlock() + return encodeExtensionsMap(m) +} + +// encode encodes any unmarshaled (unencoded) extensions in e. +func encodeExtensionsMap(m map[int32]Extension) error { + for k, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + et := reflect.TypeOf(e.desc.ExtensionType) + props := extensionProperties(e.desc) + + p := NewBuffer(nil) + // If e.value has type T, the encoder expects a *struct{ X T }. + // Pass a *T with a zero field and hope it all works out. + x := reflect.New(et) + x.Elem().Set(reflect.ValueOf(e.value)) + if err := props.enc(p, props, toStructPointer(x)); err != nil { + return err + } + e.enc = p.buf + m[k] = e + } + return nil +} + +func extensionsSize(e *XXX_InternalExtensions) (n int) { + m, mu := e.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + defer mu.Unlock() + return extensionsMapSize(m) +} + +func extensionsMapSize(m map[int32]Extension) (n int) { + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + et := reflect.TypeOf(e.desc.ExtensionType) + props := extensionProperties(e.desc) + + // If e.value has type T, the encoder expects a *struct{ X T }. + // Pass a *T with a zero field and hope it all works out. + x := reflect.New(et) + x.Elem().Set(reflect.ValueOf(e.value)) + n += props.size(props, toStructPointer(x)) + } + return +} + +// HasExtension returns whether the given extension is present in pb. +func HasExtension(pb Message, extension *ExtensionDesc) bool { + // TODO: Check types, field numbers, etc.? + epb, ok := extendable(pb) + if !ok { + return false + } + extmap, mu := epb.extensionsRead() + if extmap == nil { + return false + } + mu.Lock() + _, ok = extmap[extension.Field] + mu.Unlock() + return ok +} + +// ClearExtension removes the given extension from pb. +func ClearExtension(pb Message, extension *ExtensionDesc) { + epb, ok := extendable(pb) + if !ok { + return + } + // TODO: Check types, field numbers, etc.? + extmap := epb.extensionsWrite() + delete(extmap, extension.Field) +} + +// GetExtension parses and returns the given extension of pb. +// If the extension is not present and has no default value it returns ErrMissingExtension. +func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { + epb, ok := extendable(pb) + if !ok { + return nil, errors.New("proto: not an extendable proto") + } + + if err := checkExtensionTypes(epb, extension); err != nil { + return nil, err + } + + emap, mu := epb.extensionsRead() + if emap == nil { + return defaultExtensionValue(extension) + } + mu.Lock() + defer mu.Unlock() + e, ok := emap[extension.Field] + if !ok { + // defaultExtensionValue returns the default value or + // ErrMissingExtension if there is no default. + return defaultExtensionValue(extension) + } + + if e.value != nil { + // Already decoded. Check the descriptor, though. + if e.desc != extension { + // This shouldn't happen. If it does, it means that + // GetExtension was called twice with two different + // descriptors with the same field number. + return nil, errors.New("proto: descriptor conflict") + } + return e.value, nil + } + + v, err := decodeExtension(e.enc, extension) + if err != nil { + return nil, err + } + + // Remember the decoded version and drop the encoded version. + // That way it is safe to mutate what we return. + e.value = v + e.desc = extension + e.enc = nil + emap[extension.Field] = e + return e.value, nil +} + +// defaultExtensionValue returns the default value for extension. +// If no default for an extension is defined ErrMissingExtension is returned. +func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) { + t := reflect.TypeOf(extension.ExtensionType) + props := extensionProperties(extension) + + sf, _, err := fieldDefault(t, props) + if err != nil { + return nil, err + } + + if sf == nil || sf.value == nil { + // There is no default value. + return nil, ErrMissingExtension + } + + if t.Kind() != reflect.Ptr { + // We do not need to return a Ptr, we can directly return sf.value. + return sf.value, nil + } + + // We need to return an interface{} that is a pointer to sf.value. + value := reflect.New(t).Elem() + value.Set(reflect.New(value.Type().Elem())) + if sf.kind == reflect.Int32 { + // We may have an int32 or an enum, but the underlying data is int32. + // Since we can't set an int32 into a non int32 reflect.value directly + // set it as a int32. + value.Elem().SetInt(int64(sf.value.(int32))) + } else { + value.Elem().Set(reflect.ValueOf(sf.value)) + } + return value.Interface(), nil +} + +// decodeExtension decodes an extension encoded in b. +func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) { + o := NewBuffer(b) + + t := reflect.TypeOf(extension.ExtensionType) + + props := extensionProperties(extension) + + // t is a pointer to a struct, pointer to basic type or a slice. + // Allocate a "field" to store the pointer/slice itself; the + // pointer/slice will be stored here. We pass + // the address of this field to props.dec. + // This passes a zero field and a *t and lets props.dec + // interpret it as a *struct{ x t }. + value := reflect.New(t).Elem() + + for { + // Discard wire type and field number varint. It isn't needed. + if _, err := o.DecodeVarint(); err != nil { + return nil, err + } + + if err := props.dec(o, props, toStructPointer(value.Addr())); err != nil { + return nil, err + } + + if o.index >= len(o.buf) { + break + } + } + return value.Interface(), nil +} + +// GetExtensions returns a slice of the extensions present in pb that are also listed in es. +// The returned slice has the same length as es; missing extensions will appear as nil elements. +func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) { + epb, ok := extendable(pb) + if !ok { + return nil, errors.New("proto: not an extendable proto") + } + extensions = make([]interface{}, len(es)) + for i, e := range es { + extensions[i], err = GetExtension(epb, e) + if err == ErrMissingExtension { + err = nil + } + if err != nil { + return + } + } + return +} + +// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order. +// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing +// just the Field field, which defines the extension's field number. +func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) { + epb, ok := extendable(pb) + if !ok { + return nil, fmt.Errorf("proto: %T is not an extendable proto.Message", pb) + } + registeredExtensions := RegisteredExtensions(pb) + + emap, mu := epb.extensionsRead() + if emap == nil { + return nil, nil + } + mu.Lock() + defer mu.Unlock() + extensions := make([]*ExtensionDesc, 0, len(emap)) + for extid, e := range emap { + desc := e.desc + if desc == nil { + desc = registeredExtensions[extid] + if desc == nil { + desc = &ExtensionDesc{Field: extid} + } + } + + extensions = append(extensions, desc) + } + return extensions, nil +} + +// SetExtension sets the specified extension of pb to the specified value. +func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error { + epb, ok := extendable(pb) + if !ok { + return errors.New("proto: not an extendable proto") + } + if err := checkExtensionTypes(epb, extension); err != nil { + return err + } + typ := reflect.TypeOf(extension.ExtensionType) + if typ != reflect.TypeOf(value) { + return errors.New("proto: bad extension value type") + } + // nil extension values need to be caught early, because the + // encoder can't distinguish an ErrNil due to a nil extension + // from an ErrNil due to a missing field. Extensions are + // always optional, so the encoder would just swallow the error + // and drop all the extensions from the encoded message. + if reflect.ValueOf(value).IsNil() { + return fmt.Errorf("proto: SetExtension called with nil value of type %T", value) + } + + extmap := epb.extensionsWrite() + extmap[extension.Field] = Extension{desc: extension, value: value} + return nil +} + +// ClearAllExtensions clears all extensions from pb. +func ClearAllExtensions(pb Message) { + epb, ok := extendable(pb) + if !ok { + return + } + m := epb.extensionsWrite() + for k := range m { + delete(m, k) + } +} + +// A global registry of extensions. +// The generated code will register the generated descriptors by calling RegisterExtension. + +var extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc) + +// RegisterExtension is called from the generated code. +func RegisterExtension(desc *ExtensionDesc) { + st := reflect.TypeOf(desc.ExtendedType).Elem() + m := extensionMaps[st] + if m == nil { + m = make(map[int32]*ExtensionDesc) + extensionMaps[st] = m + } + if _, ok := m[desc.Field]; ok { + panic("proto: duplicate extension registered: " + st.String() + " " + strconv.Itoa(int(desc.Field))) + } + m[desc.Field] = desc +} + +// RegisteredExtensions returns a map of the registered extensions of a +// protocol buffer struct, indexed by the extension number. +// The argument pb should be a nil pointer to the struct type. +func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc { + return extensionMaps[reflect.TypeOf(pb).Elem()] +} diff --git a/vendor/github.com/golang/protobuf/proto/lib.go b/vendor/github.com/golang/protobuf/proto/lib.go new file mode 100644 index 000000000000..1c225504a013 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/lib.go @@ -0,0 +1,897 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package proto converts data structures to and from the wire format of +protocol buffers. It works in concert with the Go source code generated +for .proto files by the protocol compiler. + +A summary of the properties of the protocol buffer interface +for a protocol buffer variable v: + + - Names are turned from camel_case to CamelCase for export. + - There are no methods on v to set fields; just treat + them as structure fields. + - There are getters that return a field's value if set, + and return the field's default value if unset. + The getters work even if the receiver is a nil message. + - The zero value for a struct is its correct initialization state. + All desired fields must be set before marshaling. + - A Reset() method will restore a protobuf struct to its zero state. + - Non-repeated fields are pointers to the values; nil means unset. + That is, optional or required field int32 f becomes F *int32. + - Repeated fields are slices. + - Helper functions are available to aid the setting of fields. + msg.Foo = proto.String("hello") // set field + - Constants are defined to hold the default values of all fields that + have them. They have the form Default_StructName_FieldName. + Because the getter methods handle defaulted values, + direct use of these constants should be rare. + - Enums are given type names and maps from names to values. + Enum values are prefixed by the enclosing message's name, or by the + enum's type name if it is a top-level enum. Enum types have a String + method, and a Enum method to assist in message construction. + - Nested messages, groups and enums have type names prefixed with the name of + the surrounding message type. + - Extensions are given descriptor names that start with E_, + followed by an underscore-delimited list of the nested messages + that contain it (if any) followed by the CamelCased name of the + extension field itself. HasExtension, ClearExtension, GetExtension + and SetExtension are functions for manipulating extensions. + - Oneof field sets are given a single field in their message, + with distinguished wrapper types for each possible field value. + - Marshal and Unmarshal are functions to encode and decode the wire format. + +When the .proto file specifies `syntax="proto3"`, there are some differences: + + - Non-repeated fields of non-message type are values instead of pointers. + - Enum types do not get an Enum method. + +The simplest way to describe this is to see an example. +Given file test.proto, containing + + package example; + + enum FOO { X = 17; } + + message Test { + required string label = 1; + optional int32 type = 2 [default=77]; + repeated int64 reps = 3; + optional group OptionalGroup = 4 { + required string RequiredField = 5; + } + oneof union { + int32 number = 6; + string name = 7; + } + } + +The resulting file, test.pb.go, is: + + package example + + import proto "github.com/golang/protobuf/proto" + import math "math" + + type FOO int32 + const ( + FOO_X FOO = 17 + ) + var FOO_name = map[int32]string{ + 17: "X", + } + var FOO_value = map[string]int32{ + "X": 17, + } + + func (x FOO) Enum() *FOO { + p := new(FOO) + *p = x + return p + } + func (x FOO) String() string { + return proto.EnumName(FOO_name, int32(x)) + } + func (x *FOO) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FOO_value, data) + if err != nil { + return err + } + *x = FOO(value) + return nil + } + + type Test struct { + Label *string `protobuf:"bytes,1,req,name=label" json:"label,omitempty"` + Type *int32 `protobuf:"varint,2,opt,name=type,def=77" json:"type,omitempty"` + Reps []int64 `protobuf:"varint,3,rep,name=reps" json:"reps,omitempty"` + Optionalgroup *Test_OptionalGroup `protobuf:"group,4,opt,name=OptionalGroup" json:"optionalgroup,omitempty"` + // Types that are valid to be assigned to Union: + // *Test_Number + // *Test_Name + Union isTest_Union `protobuf_oneof:"union"` + XXX_unrecognized []byte `json:"-"` + } + func (m *Test) Reset() { *m = Test{} } + func (m *Test) String() string { return proto.CompactTextString(m) } + func (*Test) ProtoMessage() {} + + type isTest_Union interface { + isTest_Union() + } + + type Test_Number struct { + Number int32 `protobuf:"varint,6,opt,name=number"` + } + type Test_Name struct { + Name string `protobuf:"bytes,7,opt,name=name"` + } + + func (*Test_Number) isTest_Union() {} + func (*Test_Name) isTest_Union() {} + + func (m *Test) GetUnion() isTest_Union { + if m != nil { + return m.Union + } + return nil + } + const Default_Test_Type int32 = 77 + + func (m *Test) GetLabel() string { + if m != nil && m.Label != nil { + return *m.Label + } + return "" + } + + func (m *Test) GetType() int32 { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_Test_Type + } + + func (m *Test) GetOptionalgroup() *Test_OptionalGroup { + if m != nil { + return m.Optionalgroup + } + return nil + } + + type Test_OptionalGroup struct { + RequiredField *string `protobuf:"bytes,5,req" json:"RequiredField,omitempty"` + } + func (m *Test_OptionalGroup) Reset() { *m = Test_OptionalGroup{} } + func (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) } + + func (m *Test_OptionalGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" + } + + func (m *Test) GetNumber() int32 { + if x, ok := m.GetUnion().(*Test_Number); ok { + return x.Number + } + return 0 + } + + func (m *Test) GetName() string { + if x, ok := m.GetUnion().(*Test_Name); ok { + return x.Name + } + return "" + } + + func init() { + proto.RegisterEnum("example.FOO", FOO_name, FOO_value) + } + +To create and play with a Test object: + + package main + + import ( + "log" + + "github.com/golang/protobuf/proto" + pb "./example.pb" + ) + + func main() { + test := &pb.Test{ + Label: proto.String("hello"), + Type: proto.Int32(17), + Reps: []int64{1, 2, 3}, + Optionalgroup: &pb.Test_OptionalGroup{ + RequiredField: proto.String("good bye"), + }, + Union: &pb.Test_Name{"fred"}, + } + data, err := proto.Marshal(test) + if err != nil { + log.Fatal("marshaling error: ", err) + } + newTest := &pb.Test{} + err = proto.Unmarshal(data, newTest) + if err != nil { + log.Fatal("unmarshaling error: ", err) + } + // Now test and newTest contain the same data. + if test.GetLabel() != newTest.GetLabel() { + log.Fatalf("data mismatch %q != %q", test.GetLabel(), newTest.GetLabel()) + } + // Use a type switch to determine which oneof was set. + switch u := test.Union.(type) { + case *pb.Test_Number: // u.Number contains the number. + case *pb.Test_Name: // u.Name contains the string. + } + // etc. + } +*/ +package proto + +import ( + "encoding/json" + "fmt" + "log" + "reflect" + "sort" + "strconv" + "sync" +) + +// Message is implemented by generated protocol buffer messages. +type Message interface { + Reset() + String() string + ProtoMessage() +} + +// Stats records allocation details about the protocol buffer encoders +// and decoders. Useful for tuning the library itself. +type Stats struct { + Emalloc uint64 // mallocs in encode + Dmalloc uint64 // mallocs in decode + Encode uint64 // number of encodes + Decode uint64 // number of decodes + Chit uint64 // number of cache hits + Cmiss uint64 // number of cache misses + Size uint64 // number of sizes +} + +// Set to true to enable stats collection. +const collectStats = false + +var stats Stats + +// GetStats returns a copy of the global Stats structure. +func GetStats() Stats { return stats } + +// A Buffer is a buffer manager for marshaling and unmarshaling +// protocol buffers. It may be reused between invocations to +// reduce memory usage. It is not necessary to use a Buffer; +// the global functions Marshal and Unmarshal create a +// temporary Buffer and are fine for most applications. +type Buffer struct { + buf []byte // encode/decode byte stream + index int // read point + + // pools of basic types to amortize allocation. + bools []bool + uint32s []uint32 + uint64s []uint64 + + // extra pools, only used with pointer_reflect.go + int32s []int32 + int64s []int64 + float32s []float32 + float64s []float64 +} + +// NewBuffer allocates a new Buffer and initializes its internal data to +// the contents of the argument slice. +func NewBuffer(e []byte) *Buffer { + return &Buffer{buf: e} +} + +// Reset resets the Buffer, ready for marshaling a new protocol buffer. +func (p *Buffer) Reset() { + p.buf = p.buf[0:0] // for reading/writing + p.index = 0 // for reading +} + +// SetBuf replaces the internal buffer with the slice, +// ready for unmarshaling the contents of the slice. +func (p *Buffer) SetBuf(s []byte) { + p.buf = s + p.index = 0 +} + +// Bytes returns the contents of the Buffer. +func (p *Buffer) Bytes() []byte { return p.buf } + +/* + * Helper routines for simplifying the creation of optional fields of basic type. + */ + +// Bool is a helper routine that allocates a new bool value +// to store v and returns a pointer to it. +func Bool(v bool) *bool { + return &v +} + +// Int32 is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it. +func Int32(v int32) *int32 { + return &v +} + +// Int is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it, but unlike Int32 +// its argument value is an int. +func Int(v int) *int32 { + p := new(int32) + *p = int32(v) + return p +} + +// Int64 is a helper routine that allocates a new int64 value +// to store v and returns a pointer to it. +func Int64(v int64) *int64 { + return &v +} + +// Float32 is a helper routine that allocates a new float32 value +// to store v and returns a pointer to it. +func Float32(v float32) *float32 { + return &v +} + +// Float64 is a helper routine that allocates a new float64 value +// to store v and returns a pointer to it. +func Float64(v float64) *float64 { + return &v +} + +// Uint32 is a helper routine that allocates a new uint32 value +// to store v and returns a pointer to it. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint64 is a helper routine that allocates a new uint64 value +// to store v and returns a pointer to it. +func Uint64(v uint64) *uint64 { + return &v +} + +// String is a helper routine that allocates a new string value +// to store v and returns a pointer to it. +func String(v string) *string { + return &v +} + +// EnumName is a helper function to simplify printing protocol buffer enums +// by name. Given an enum map and a value, it returns a useful string. +func EnumName(m map[int32]string, v int32) string { + s, ok := m[v] + if ok { + return s + } + return strconv.Itoa(int(v)) +} + +// UnmarshalJSONEnum is a helper function to simplify recovering enum int values +// from their JSON-encoded representation. Given a map from the enum's symbolic +// names to its int values, and a byte buffer containing the JSON-encoded +// value, it returns an int32 that can be cast to the enum type by the caller. +// +// The function can deal with both JSON representations, numeric and symbolic. +func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) { + if data[0] == '"' { + // New style: enums are strings. + var repr string + if err := json.Unmarshal(data, &repr); err != nil { + return -1, err + } + val, ok := m[repr] + if !ok { + return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr) + } + return val, nil + } + // Old style: enums are ints. + var val int32 + if err := json.Unmarshal(data, &val); err != nil { + return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName) + } + return val, nil +} + +// DebugPrint dumps the encoded data in b in a debugging format with a header +// including the string s. Used in testing but made available for general debugging. +func (p *Buffer) DebugPrint(s string, b []byte) { + var u uint64 + + obuf := p.buf + index := p.index + p.buf = b + p.index = 0 + depth := 0 + + fmt.Printf("\n--- %s ---\n", s) + +out: + for { + for i := 0; i < depth; i++ { + fmt.Print(" ") + } + + index := p.index + if index == len(p.buf) { + break + } + + op, err := p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: fetching op err %v\n", index, err) + break out + } + tag := op >> 3 + wire := op & 7 + + switch wire { + default: + fmt.Printf("%3d: t=%3d unknown wire=%d\n", + index, tag, wire) + break out + + case WireBytes: + var r []byte + + r, err = p.DecodeRawBytes(false) + if err != nil { + break out + } + fmt.Printf("%3d: t=%3d bytes [%d]", index, tag, len(r)) + if len(r) <= 6 { + for i := 0; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } else { + for i := 0; i < 3; i++ { + fmt.Printf(" %.2x", r[i]) + } + fmt.Printf(" ..") + for i := len(r) - 3; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } + fmt.Printf("\n") + + case WireFixed32: + u, err = p.DecodeFixed32() + if err != nil { + fmt.Printf("%3d: t=%3d fix32 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix32 %d\n", index, tag, u) + + case WireFixed64: + u, err = p.DecodeFixed64() + if err != nil { + fmt.Printf("%3d: t=%3d fix64 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix64 %d\n", index, tag, u) + + case WireVarint: + u, err = p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: t=%3d varint err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d varint %d\n", index, tag, u) + + case WireStartGroup: + fmt.Printf("%3d: t=%3d start\n", index, tag) + depth++ + + case WireEndGroup: + depth-- + fmt.Printf("%3d: t=%3d end\n", index, tag) + } + } + + if depth != 0 { + fmt.Printf("%3d: start-end not balanced %d\n", p.index, depth) + } + fmt.Printf("\n") + + p.buf = obuf + p.index = index +} + +// SetDefaults sets unset protocol buffer fields to their default values. +// It only modifies fields that are both unset and have defined defaults. +// It recursively sets default values in any non-nil sub-messages. +func SetDefaults(pb Message) { + setDefaults(reflect.ValueOf(pb), true, false) +} + +// v is a pointer to a struct. +func setDefaults(v reflect.Value, recur, zeros bool) { + v = v.Elem() + + defaultMu.RLock() + dm, ok := defaults[v.Type()] + defaultMu.RUnlock() + if !ok { + dm = buildDefaultMessage(v.Type()) + defaultMu.Lock() + defaults[v.Type()] = dm + defaultMu.Unlock() + } + + for _, sf := range dm.scalars { + f := v.Field(sf.index) + if !f.IsNil() { + // field already set + continue + } + dv := sf.value + if dv == nil && !zeros { + // no explicit default, and don't want to set zeros + continue + } + fptr := f.Addr().Interface() // **T + // TODO: Consider batching the allocations we do here. + switch sf.kind { + case reflect.Bool: + b := new(bool) + if dv != nil { + *b = dv.(bool) + } + *(fptr.(**bool)) = b + case reflect.Float32: + f := new(float32) + if dv != nil { + *f = dv.(float32) + } + *(fptr.(**float32)) = f + case reflect.Float64: + f := new(float64) + if dv != nil { + *f = dv.(float64) + } + *(fptr.(**float64)) = f + case reflect.Int32: + // might be an enum + if ft := f.Type(); ft != int32PtrType { + // enum + f.Set(reflect.New(ft.Elem())) + if dv != nil { + f.Elem().SetInt(int64(dv.(int32))) + } + } else { + // int32 field + i := new(int32) + if dv != nil { + *i = dv.(int32) + } + *(fptr.(**int32)) = i + } + case reflect.Int64: + i := new(int64) + if dv != nil { + *i = dv.(int64) + } + *(fptr.(**int64)) = i + case reflect.String: + s := new(string) + if dv != nil { + *s = dv.(string) + } + *(fptr.(**string)) = s + case reflect.Uint8: + // exceptional case: []byte + var b []byte + if dv != nil { + db := dv.([]byte) + b = make([]byte, len(db)) + copy(b, db) + } else { + b = []byte{} + } + *(fptr.(*[]byte)) = b + case reflect.Uint32: + u := new(uint32) + if dv != nil { + *u = dv.(uint32) + } + *(fptr.(**uint32)) = u + case reflect.Uint64: + u := new(uint64) + if dv != nil { + *u = dv.(uint64) + } + *(fptr.(**uint64)) = u + default: + log.Printf("proto: can't set default for field %v (sf.kind=%v)", f, sf.kind) + } + } + + for _, ni := range dm.nested { + f := v.Field(ni) + // f is *T or []*T or map[T]*T + switch f.Kind() { + case reflect.Ptr: + if f.IsNil() { + continue + } + setDefaults(f, recur, zeros) + + case reflect.Slice: + for i := 0; i < f.Len(); i++ { + e := f.Index(i) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + + case reflect.Map: + for _, k := range f.MapKeys() { + e := f.MapIndex(k) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + } + } +} + +var ( + // defaults maps a protocol buffer struct type to a slice of the fields, + // with its scalar fields set to their proto-declared non-zero default values. + defaultMu sync.RWMutex + defaults = make(map[reflect.Type]defaultMessage) + + int32PtrType = reflect.TypeOf((*int32)(nil)) +) + +// defaultMessage represents information about the default values of a message. +type defaultMessage struct { + scalars []scalarField + nested []int // struct field index of nested messages +} + +type scalarField struct { + index int // struct field index + kind reflect.Kind // element type (the T in *T or []T) + value interface{} // the proto-declared default value, or nil +} + +// t is a struct type. +func buildDefaultMessage(t reflect.Type) (dm defaultMessage) { + sprop := GetProperties(t) + for _, prop := range sprop.Prop { + fi, ok := sprop.decoderTags.get(prop.Tag) + if !ok { + // XXX_unrecognized + continue + } + ft := t.Field(fi).Type + + sf, nested, err := fieldDefault(ft, prop) + switch { + case err != nil: + log.Print(err) + case nested: + dm.nested = append(dm.nested, fi) + case sf != nil: + sf.index = fi + dm.scalars = append(dm.scalars, *sf) + } + } + + return dm +} + +// fieldDefault returns the scalarField for field type ft. +// sf will be nil if the field can not have a default. +// nestedMessage will be true if this is a nested message. +// Note that sf.index is not set on return. +func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) { + var canHaveDefault bool + switch ft.Kind() { + case reflect.Ptr: + if ft.Elem().Kind() == reflect.Struct { + nestedMessage = true + } else { + canHaveDefault = true // proto2 scalar field + } + + case reflect.Slice: + switch ft.Elem().Kind() { + case reflect.Ptr: + nestedMessage = true // repeated message + case reflect.Uint8: + canHaveDefault = true // bytes field + } + + case reflect.Map: + if ft.Elem().Kind() == reflect.Ptr { + nestedMessage = true // map with message values + } + } + + if !canHaveDefault { + if nestedMessage { + return nil, true, nil + } + return nil, false, nil + } + + // We now know that ft is a pointer or slice. + sf = &scalarField{kind: ft.Elem().Kind()} + + // scalar fields without defaults + if !prop.HasDefault { + return sf, false, nil + } + + // a scalar field: either *T or []byte + switch ft.Elem().Kind() { + case reflect.Bool: + x, err := strconv.ParseBool(prop.Default) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default bool %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Float32: + x, err := strconv.ParseFloat(prop.Default, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float32 %q: %v", prop.Default, err) + } + sf.value = float32(x) + case reflect.Float64: + x, err := strconv.ParseFloat(prop.Default, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Int32: + x, err := strconv.ParseInt(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int32 %q: %v", prop.Default, err) + } + sf.value = int32(x) + case reflect.Int64: + x, err := strconv.ParseInt(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.String: + sf.value = prop.Default + case reflect.Uint8: + // []byte (not *uint8) + sf.value = []byte(prop.Default) + case reflect.Uint32: + x, err := strconv.ParseUint(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint32 %q: %v", prop.Default, err) + } + sf.value = uint32(x) + case reflect.Uint64: + x, err := strconv.ParseUint(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint64 %q: %v", prop.Default, err) + } + sf.value = x + default: + return nil, false, fmt.Errorf("proto: unhandled def kind %v", ft.Elem().Kind()) + } + + return sf, false, nil +} + +// Map fields may have key types of non-float scalars, strings and enums. +// The easiest way to sort them in some deterministic order is to use fmt. +// If this turns out to be inefficient we can always consider other options, +// such as doing a Schwartzian transform. + +func mapKeys(vs []reflect.Value) sort.Interface { + s := mapKeySorter{ + vs: vs, + // default Less function: textual comparison + less: func(a, b reflect.Value) bool { + return fmt.Sprint(a.Interface()) < fmt.Sprint(b.Interface()) + }, + } + + // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps; + // numeric keys are sorted numerically. + if len(vs) == 0 { + return s + } + switch vs[0].Kind() { + case reflect.Int32, reflect.Int64: + s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() } + case reflect.Uint32, reflect.Uint64: + s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() } + } + + return s +} + +type mapKeySorter struct { + vs []reflect.Value + less func(a, b reflect.Value) bool +} + +func (s mapKeySorter) Len() int { return len(s.vs) } +func (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] } +func (s mapKeySorter) Less(i, j int) bool { + return s.less(s.vs[i], s.vs[j]) +} + +// isProto3Zero reports whether v is a zero proto3 value. +func isProto3Zero(v reflect.Value) bool { + switch v.Kind() { + case reflect.Bool: + return !v.Bool() + case reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint32, reflect.Uint64: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.String: + return v.String() == "" + } + return false +} + +// ProtoPackageIsVersion2 is referenced from generated protocol buffer files +// to assert that that code is compatible with this version of the proto package. +const ProtoPackageIsVersion2 = true + +// ProtoPackageIsVersion1 is referenced from generated protocol buffer files +// to assert that that code is compatible with this version of the proto package. +const ProtoPackageIsVersion1 = true diff --git a/vendor/github.com/golang/protobuf/proto/message_set.go b/vendor/github.com/golang/protobuf/proto/message_set.go new file mode 100644 index 000000000000..fd982decd66e --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/message_set.go @@ -0,0 +1,311 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Support for message sets. + */ + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "reflect" + "sort" +) + +// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. +// A message type ID is required for storing a protocol buffer in a message set. +var errNoMessageTypeID = errors.New("proto does not have a message type ID") + +// The first two types (_MessageSet_Item and messageSet) +// model what the protocol compiler produces for the following protocol message: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } +// That is the MessageSet wire format. We can't use a proto to generate these +// because that would introduce a circular dependency between it and this package. + +type _MessageSet_Item struct { + TypeId *int32 `protobuf:"varint,2,req,name=type_id"` + Message []byte `protobuf:"bytes,3,req,name=message"` +} + +type messageSet struct { + Item []*_MessageSet_Item `protobuf:"group,1,rep"` + XXX_unrecognized []byte + // TODO: caching? +} + +// Make sure messageSet is a Message. +var _ Message = (*messageSet)(nil) + +// messageTypeIder is an interface satisfied by a protocol buffer type +// that may be stored in a MessageSet. +type messageTypeIder interface { + MessageTypeId() int32 +} + +func (ms *messageSet) find(pb Message) *_MessageSet_Item { + mti, ok := pb.(messageTypeIder) + if !ok { + return nil + } + id := mti.MessageTypeId() + for _, item := range ms.Item { + if *item.TypeId == id { + return item + } + } + return nil +} + +func (ms *messageSet) Has(pb Message) bool { + if ms.find(pb) != nil { + return true + } + return false +} + +func (ms *messageSet) Unmarshal(pb Message) error { + if item := ms.find(pb); item != nil { + return Unmarshal(item.Message, pb) + } + if _, ok := pb.(messageTypeIder); !ok { + return errNoMessageTypeID + } + return nil // TODO: return error instead? +} + +func (ms *messageSet) Marshal(pb Message) error { + msg, err := Marshal(pb) + if err != nil { + return err + } + if item := ms.find(pb); item != nil { + // reuse existing item + item.Message = msg + return nil + } + + mti, ok := pb.(messageTypeIder) + if !ok { + return errNoMessageTypeID + } + + mtid := mti.MessageTypeId() + ms.Item = append(ms.Item, &_MessageSet_Item{ + TypeId: &mtid, + Message: msg, + }) + return nil +} + +func (ms *messageSet) Reset() { *ms = messageSet{} } +func (ms *messageSet) String() string { return CompactTextString(ms) } +func (*messageSet) ProtoMessage() {} + +// Support for the message_set_wire_format message option. + +func skipVarint(buf []byte) []byte { + i := 0 + for ; buf[i]&0x80 != 0; i++ { + } + return buf[i+1:] +} + +// MarshalMessageSet encodes the extension map represented by m in the message set wire format. +// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option. +func MarshalMessageSet(exts interface{}) ([]byte, error) { + var m map[int32]Extension + switch exts := exts.(type) { + case *XXX_InternalExtensions: + if err := encodeExtensions(exts); err != nil { + return nil, err + } + m, _ = exts.extensionsRead() + case map[int32]Extension: + if err := encodeExtensionsMap(exts); err != nil { + return nil, err + } + m = exts + default: + return nil, errors.New("proto: not an extension map") + } + + // Sort extension IDs to provide a deterministic encoding. + // See also enc_map in encode.go. + ids := make([]int, 0, len(m)) + for id := range m { + ids = append(ids, int(id)) + } + sort.Ints(ids) + + ms := &messageSet{Item: make([]*_MessageSet_Item, 0, len(m))} + for _, id := range ids { + e := m[int32(id)] + // Remove the wire type and field number varint, as well as the length varint. + msg := skipVarint(skipVarint(e.enc)) + + ms.Item = append(ms.Item, &_MessageSet_Item{ + TypeId: Int32(int32(id)), + Message: msg, + }) + } + return Marshal(ms) +} + +// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. +// It is called by generated Unmarshal methods on protocol buffer messages with the message_set_wire_format option. +func UnmarshalMessageSet(buf []byte, exts interface{}) error { + var m map[int32]Extension + switch exts := exts.(type) { + case *XXX_InternalExtensions: + m = exts.extensionsWrite() + case map[int32]Extension: + m = exts + default: + return errors.New("proto: not an extension map") + } + + ms := new(messageSet) + if err := Unmarshal(buf, ms); err != nil { + return err + } + for _, item := range ms.Item { + id := *item.TypeId + msg := item.Message + + // Restore wire type and field number varint, plus length varint. + // Be careful to preserve duplicate items. + b := EncodeVarint(uint64(id)<<3 | WireBytes) + if ext, ok := m[id]; ok { + // Existing data; rip off the tag and length varint + // so we join the new data correctly. + // We can assume that ext.enc is set because we are unmarshaling. + o := ext.enc[len(b):] // skip wire type and field number + _, n := DecodeVarint(o) // calculate length of length varint + o = o[n:] // skip length varint + msg = append(o, msg...) // join old data and new data + } + b = append(b, EncodeVarint(uint64(len(msg)))...) + b = append(b, msg...) + + m[id] = Extension{enc: b} + } + return nil +} + +// MarshalMessageSetJSON encodes the extension map represented by m in JSON format. +// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option. +func MarshalMessageSetJSON(exts interface{}) ([]byte, error) { + var m map[int32]Extension + switch exts := exts.(type) { + case *XXX_InternalExtensions: + m, _ = exts.extensionsRead() + case map[int32]Extension: + m = exts + default: + return nil, errors.New("proto: not an extension map") + } + var b bytes.Buffer + b.WriteByte('{') + + // Process the map in key order for deterministic output. + ids := make([]int32, 0, len(m)) + for id := range m { + ids = append(ids, id) + } + sort.Sort(int32Slice(ids)) // int32Slice defined in text.go + + for i, id := range ids { + ext := m[id] + if i > 0 { + b.WriteByte(',') + } + + msd, ok := messageSetMap[id] + if !ok { + // Unknown type; we can't render it, so skip it. + continue + } + fmt.Fprintf(&b, `"[%s]":`, msd.name) + + x := ext.value + if x == nil { + x = reflect.New(msd.t.Elem()).Interface() + if err := Unmarshal(ext.enc, x.(Message)); err != nil { + return nil, err + } + } + d, err := json.Marshal(x) + if err != nil { + return nil, err + } + b.Write(d) + } + b.WriteByte('}') + return b.Bytes(), nil +} + +// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format. +// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option. +func UnmarshalMessageSetJSON(buf []byte, exts interface{}) error { + // Common-case fast path. + if len(buf) == 0 || bytes.Equal(buf, []byte("{}")) { + return nil + } + + // This is fairly tricky, and it's not clear that it is needed. + return errors.New("TODO: UnmarshalMessageSetJSON not yet implemented") +} + +// A global registry of types that can be used in a MessageSet. + +var messageSetMap = make(map[int32]messageSetDesc) + +type messageSetDesc struct { + t reflect.Type // pointer to struct + name string +} + +// RegisterMessageSetType is called from the generated code. +func RegisterMessageSetType(m Message, fieldNum int32, name string) { + messageSetMap[fieldNum] = messageSetDesc{ + t: reflect.TypeOf(m), + name: name, + } +} diff --git a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go new file mode 100644 index 000000000000..fb512e2e16dc --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go @@ -0,0 +1,484 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build appengine js + +// This file contains an implementation of proto field accesses using package reflect. +// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can +// be used on App Engine. + +package proto + +import ( + "math" + "reflect" +) + +// A structPointer is a pointer to a struct. +type structPointer struct { + v reflect.Value +} + +// toStructPointer returns a structPointer equivalent to the given reflect value. +// The reflect value must itself be a pointer to a struct. +func toStructPointer(v reflect.Value) structPointer { + return structPointer{v} +} + +// IsNil reports whether p is nil. +func structPointer_IsNil(p structPointer) bool { + return p.v.IsNil() +} + +// Interface returns the struct pointer as an interface value. +func structPointer_Interface(p structPointer, _ reflect.Type) interface{} { + return p.v.Interface() +} + +// A field identifies a field in a struct, accessible from a structPointer. +// In this implementation, a field is identified by the sequence of field indices +// passed to reflect's FieldByIndex. +type field []int + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return f.Index +} + +// invalidField is an invalid field identifier. +var invalidField = field(nil) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { return f != nil } + +// field returns the given field in the struct as a reflect value. +func structPointer_field(p structPointer, f field) reflect.Value { + // Special case: an extension map entry with a value of type T + // passes a *T to the struct-handling code with a zero field, + // expecting that it will be treated as equivalent to *struct{ X T }, + // which has the same memory layout. We have to handle that case + // specially, because reflect will panic if we call FieldByIndex on a + // non-struct. + if f == nil { + return p.v.Elem() + } + + return p.v.Elem().FieldByIndex(f) +} + +// ifield returns the given field in the struct as an interface value. +func structPointer_ifield(p structPointer, f field) interface{} { + return structPointer_field(p, f).Addr().Interface() +} + +// Bytes returns the address of a []byte field in the struct. +func structPointer_Bytes(p structPointer, f field) *[]byte { + return structPointer_ifield(p, f).(*[]byte) +} + +// BytesSlice returns the address of a [][]byte field in the struct. +func structPointer_BytesSlice(p structPointer, f field) *[][]byte { + return structPointer_ifield(p, f).(*[][]byte) +} + +// Bool returns the address of a *bool field in the struct. +func structPointer_Bool(p structPointer, f field) **bool { + return structPointer_ifield(p, f).(**bool) +} + +// BoolVal returns the address of a bool field in the struct. +func structPointer_BoolVal(p structPointer, f field) *bool { + return structPointer_ifield(p, f).(*bool) +} + +// BoolSlice returns the address of a []bool field in the struct. +func structPointer_BoolSlice(p structPointer, f field) *[]bool { + return structPointer_ifield(p, f).(*[]bool) +} + +// String returns the address of a *string field in the struct. +func structPointer_String(p structPointer, f field) **string { + return structPointer_ifield(p, f).(**string) +} + +// StringVal returns the address of a string field in the struct. +func structPointer_StringVal(p structPointer, f field) *string { + return structPointer_ifield(p, f).(*string) +} + +// StringSlice returns the address of a []string field in the struct. +func structPointer_StringSlice(p structPointer, f field) *[]string { + return structPointer_ifield(p, f).(*[]string) +} + +// Extensions returns the address of an extension map field in the struct. +func structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions { + return structPointer_ifield(p, f).(*XXX_InternalExtensions) +} + +// ExtMap returns the address of an extension map field in the struct. +func structPointer_ExtMap(p structPointer, f field) *map[int32]Extension { + return structPointer_ifield(p, f).(*map[int32]Extension) +} + +// NewAt returns the reflect.Value for a pointer to a field in the struct. +func structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value { + return structPointer_field(p, f).Addr() +} + +// SetStructPointer writes a *struct field in the struct. +func structPointer_SetStructPointer(p structPointer, f field, q structPointer) { + structPointer_field(p, f).Set(q.v) +} + +// GetStructPointer reads a *struct field in the struct. +func structPointer_GetStructPointer(p structPointer, f field) structPointer { + return structPointer{structPointer_field(p, f)} +} + +// StructPointerSlice the address of a []*struct field in the struct. +func structPointer_StructPointerSlice(p structPointer, f field) structPointerSlice { + return structPointerSlice{structPointer_field(p, f)} +} + +// A structPointerSlice represents the address of a slice of pointers to structs +// (themselves messages or groups). That is, v.Type() is *[]*struct{...}. +type structPointerSlice struct { + v reflect.Value +} + +func (p structPointerSlice) Len() int { return p.v.Len() } +func (p structPointerSlice) Index(i int) structPointer { return structPointer{p.v.Index(i)} } +func (p structPointerSlice) Append(q structPointer) { + p.v.Set(reflect.Append(p.v, q.v)) +} + +var ( + int32Type = reflect.TypeOf(int32(0)) + uint32Type = reflect.TypeOf(uint32(0)) + float32Type = reflect.TypeOf(float32(0)) + int64Type = reflect.TypeOf(int64(0)) + uint64Type = reflect.TypeOf(uint64(0)) + float64Type = reflect.TypeOf(float64(0)) +) + +// A word32 represents a field of type *int32, *uint32, *float32, or *enum. +// That is, v.Type() is *int32, *uint32, *float32, or *enum and v is assignable. +type word32 struct { + v reflect.Value +} + +// IsNil reports whether p is nil. +func word32_IsNil(p word32) bool { + return p.v.IsNil() +} + +// Set sets p to point at a newly allocated word with bits set to x. +func word32_Set(p word32, o *Buffer, x uint32) { + t := p.v.Type().Elem() + switch t { + case int32Type: + if len(o.int32s) == 0 { + o.int32s = make([]int32, uint32PoolSize) + } + o.int32s[0] = int32(x) + p.v.Set(reflect.ValueOf(&o.int32s[0])) + o.int32s = o.int32s[1:] + return + case uint32Type: + if len(o.uint32s) == 0 { + o.uint32s = make([]uint32, uint32PoolSize) + } + o.uint32s[0] = x + p.v.Set(reflect.ValueOf(&o.uint32s[0])) + o.uint32s = o.uint32s[1:] + return + case float32Type: + if len(o.float32s) == 0 { + o.float32s = make([]float32, uint32PoolSize) + } + o.float32s[0] = math.Float32frombits(x) + p.v.Set(reflect.ValueOf(&o.float32s[0])) + o.float32s = o.float32s[1:] + return + } + + // must be enum + p.v.Set(reflect.New(t)) + p.v.Elem().SetInt(int64(int32(x))) +} + +// Get gets the bits pointed at by p, as a uint32. +func word32_Get(p word32) uint32 { + elem := p.v.Elem() + switch elem.Kind() { + case reflect.Int32: + return uint32(elem.Int()) + case reflect.Uint32: + return uint32(elem.Uint()) + case reflect.Float32: + return math.Float32bits(float32(elem.Float())) + } + panic("unreachable") +} + +// Word32 returns a reference to a *int32, *uint32, *float32, or *enum field in the struct. +func structPointer_Word32(p structPointer, f field) word32 { + return word32{structPointer_field(p, f)} +} + +// A word32Val represents a field of type int32, uint32, float32, or enum. +// That is, v.Type() is int32, uint32, float32, or enum and v is assignable. +type word32Val struct { + v reflect.Value +} + +// Set sets *p to x. +func word32Val_Set(p word32Val, x uint32) { + switch p.v.Type() { + case int32Type: + p.v.SetInt(int64(x)) + return + case uint32Type: + p.v.SetUint(uint64(x)) + return + case float32Type: + p.v.SetFloat(float64(math.Float32frombits(x))) + return + } + + // must be enum + p.v.SetInt(int64(int32(x))) +} + +// Get gets the bits pointed at by p, as a uint32. +func word32Val_Get(p word32Val) uint32 { + elem := p.v + switch elem.Kind() { + case reflect.Int32: + return uint32(elem.Int()) + case reflect.Uint32: + return uint32(elem.Uint()) + case reflect.Float32: + return math.Float32bits(float32(elem.Float())) + } + panic("unreachable") +} + +// Word32Val returns a reference to a int32, uint32, float32, or enum field in the struct. +func structPointer_Word32Val(p structPointer, f field) word32Val { + return word32Val{structPointer_field(p, f)} +} + +// A word32Slice is a slice of 32-bit values. +// That is, v.Type() is []int32, []uint32, []float32, or []enum. +type word32Slice struct { + v reflect.Value +} + +func (p word32Slice) Append(x uint32) { + n, m := p.v.Len(), p.v.Cap() + if n < m { + p.v.SetLen(n + 1) + } else { + t := p.v.Type().Elem() + p.v.Set(reflect.Append(p.v, reflect.Zero(t))) + } + elem := p.v.Index(n) + switch elem.Kind() { + case reflect.Int32: + elem.SetInt(int64(int32(x))) + case reflect.Uint32: + elem.SetUint(uint64(x)) + case reflect.Float32: + elem.SetFloat(float64(math.Float32frombits(x))) + } +} + +func (p word32Slice) Len() int { + return p.v.Len() +} + +func (p word32Slice) Index(i int) uint32 { + elem := p.v.Index(i) + switch elem.Kind() { + case reflect.Int32: + return uint32(elem.Int()) + case reflect.Uint32: + return uint32(elem.Uint()) + case reflect.Float32: + return math.Float32bits(float32(elem.Float())) + } + panic("unreachable") +} + +// Word32Slice returns a reference to a []int32, []uint32, []float32, or []enum field in the struct. +func structPointer_Word32Slice(p structPointer, f field) word32Slice { + return word32Slice{structPointer_field(p, f)} +} + +// word64 is like word32 but for 64-bit values. +type word64 struct { + v reflect.Value +} + +func word64_Set(p word64, o *Buffer, x uint64) { + t := p.v.Type().Elem() + switch t { + case int64Type: + if len(o.int64s) == 0 { + o.int64s = make([]int64, uint64PoolSize) + } + o.int64s[0] = int64(x) + p.v.Set(reflect.ValueOf(&o.int64s[0])) + o.int64s = o.int64s[1:] + return + case uint64Type: + if len(o.uint64s) == 0 { + o.uint64s = make([]uint64, uint64PoolSize) + } + o.uint64s[0] = x + p.v.Set(reflect.ValueOf(&o.uint64s[0])) + o.uint64s = o.uint64s[1:] + return + case float64Type: + if len(o.float64s) == 0 { + o.float64s = make([]float64, uint64PoolSize) + } + o.float64s[0] = math.Float64frombits(x) + p.v.Set(reflect.ValueOf(&o.float64s[0])) + o.float64s = o.float64s[1:] + return + } + panic("unreachable") +} + +func word64_IsNil(p word64) bool { + return p.v.IsNil() +} + +func word64_Get(p word64) uint64 { + elem := p.v.Elem() + switch elem.Kind() { + case reflect.Int64: + return uint64(elem.Int()) + case reflect.Uint64: + return elem.Uint() + case reflect.Float64: + return math.Float64bits(elem.Float()) + } + panic("unreachable") +} + +func structPointer_Word64(p structPointer, f field) word64 { + return word64{structPointer_field(p, f)} +} + +// word64Val is like word32Val but for 64-bit values. +type word64Val struct { + v reflect.Value +} + +func word64Val_Set(p word64Val, o *Buffer, x uint64) { + switch p.v.Type() { + case int64Type: + p.v.SetInt(int64(x)) + return + case uint64Type: + p.v.SetUint(x) + return + case float64Type: + p.v.SetFloat(math.Float64frombits(x)) + return + } + panic("unreachable") +} + +func word64Val_Get(p word64Val) uint64 { + elem := p.v + switch elem.Kind() { + case reflect.Int64: + return uint64(elem.Int()) + case reflect.Uint64: + return elem.Uint() + case reflect.Float64: + return math.Float64bits(elem.Float()) + } + panic("unreachable") +} + +func structPointer_Word64Val(p structPointer, f field) word64Val { + return word64Val{structPointer_field(p, f)} +} + +type word64Slice struct { + v reflect.Value +} + +func (p word64Slice) Append(x uint64) { + n, m := p.v.Len(), p.v.Cap() + if n < m { + p.v.SetLen(n + 1) + } else { + t := p.v.Type().Elem() + p.v.Set(reflect.Append(p.v, reflect.Zero(t))) + } + elem := p.v.Index(n) + switch elem.Kind() { + case reflect.Int64: + elem.SetInt(int64(int64(x))) + case reflect.Uint64: + elem.SetUint(uint64(x)) + case reflect.Float64: + elem.SetFloat(float64(math.Float64frombits(x))) + } +} + +func (p word64Slice) Len() int { + return p.v.Len() +} + +func (p word64Slice) Index(i int) uint64 { + elem := p.v.Index(i) + switch elem.Kind() { + case reflect.Int64: + return uint64(elem.Int()) + case reflect.Uint64: + return uint64(elem.Uint()) + case reflect.Float64: + return math.Float64bits(float64(elem.Float())) + } + panic("unreachable") +} + +func structPointer_Word64Slice(p structPointer, f field) word64Slice { + return word64Slice{structPointer_field(p, f)} +} diff --git a/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go new file mode 100644 index 000000000000..6b5567d47cd3 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go @@ -0,0 +1,270 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build !appengine,!js + +// This file contains the implementation of the proto field accesses using package unsafe. + +package proto + +import ( + "reflect" + "unsafe" +) + +// NOTE: These type_Foo functions would more idiomatically be methods, +// but Go does not allow methods on pointer types, and we must preserve +// some pointer type for the garbage collector. We use these +// funcs with clunky names as our poor approximation to methods. +// +// An alternative would be +// type structPointer struct { p unsafe.Pointer } +// but that does not registerize as well. + +// A structPointer is a pointer to a struct. +type structPointer unsafe.Pointer + +// toStructPointer returns a structPointer equivalent to the given reflect value. +func toStructPointer(v reflect.Value) structPointer { + return structPointer(unsafe.Pointer(v.Pointer())) +} + +// IsNil reports whether p is nil. +func structPointer_IsNil(p structPointer) bool { + return p == nil +} + +// Interface returns the struct pointer, assumed to have element type t, +// as an interface value. +func structPointer_Interface(p structPointer, t reflect.Type) interface{} { + return reflect.NewAt(t, unsafe.Pointer(p)).Interface() +} + +// A field identifies a field in a struct, accessible from a structPointer. +// In this implementation, a field is identified by its byte offset from the start of the struct. +type field uintptr + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return field(f.Offset) +} + +// invalidField is an invalid field identifier. +const invalidField = ^field(0) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { + return f != ^field(0) +} + +// Bytes returns the address of a []byte field in the struct. +func structPointer_Bytes(p structPointer, f field) *[]byte { + return (*[]byte)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// BytesSlice returns the address of a [][]byte field in the struct. +func structPointer_BytesSlice(p structPointer, f field) *[][]byte { + return (*[][]byte)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// Bool returns the address of a *bool field in the struct. +func structPointer_Bool(p structPointer, f field) **bool { + return (**bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// BoolVal returns the address of a bool field in the struct. +func structPointer_BoolVal(p structPointer, f field) *bool { + return (*bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// BoolSlice returns the address of a []bool field in the struct. +func structPointer_BoolSlice(p structPointer, f field) *[]bool { + return (*[]bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// String returns the address of a *string field in the struct. +func structPointer_String(p structPointer, f field) **string { + return (**string)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// StringVal returns the address of a string field in the struct. +func structPointer_StringVal(p structPointer, f field) *string { + return (*string)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// StringSlice returns the address of a []string field in the struct. +func structPointer_StringSlice(p structPointer, f field) *[]string { + return (*[]string)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// ExtMap returns the address of an extension map field in the struct. +func structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions { + return (*XXX_InternalExtensions)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +func structPointer_ExtMap(p structPointer, f field) *map[int32]Extension { + return (*map[int32]Extension)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// NewAt returns the reflect.Value for a pointer to a field in the struct. +func structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value { + return reflect.NewAt(typ, unsafe.Pointer(uintptr(p)+uintptr(f))) +} + +// SetStructPointer writes a *struct field in the struct. +func structPointer_SetStructPointer(p structPointer, f field, q structPointer) { + *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) = q +} + +// GetStructPointer reads a *struct field in the struct. +func structPointer_GetStructPointer(p structPointer, f field) structPointer { + return *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// StructPointerSlice the address of a []*struct field in the struct. +func structPointer_StructPointerSlice(p structPointer, f field) *structPointerSlice { + return (*structPointerSlice)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// A structPointerSlice represents a slice of pointers to structs (themselves submessages or groups). +type structPointerSlice []structPointer + +func (v *structPointerSlice) Len() int { return len(*v) } +func (v *structPointerSlice) Index(i int) structPointer { return (*v)[i] } +func (v *structPointerSlice) Append(p structPointer) { *v = append(*v, p) } + +// A word32 is the address of a "pointer to 32-bit value" field. +type word32 **uint32 + +// IsNil reports whether *v is nil. +func word32_IsNil(p word32) bool { + return *p == nil +} + +// Set sets *v to point at a newly allocated word set to x. +func word32_Set(p word32, o *Buffer, x uint32) { + if len(o.uint32s) == 0 { + o.uint32s = make([]uint32, uint32PoolSize) + } + o.uint32s[0] = x + *p = &o.uint32s[0] + o.uint32s = o.uint32s[1:] +} + +// Get gets the value pointed at by *v. +func word32_Get(p word32) uint32 { + return **p +} + +// Word32 returns the address of a *int32, *uint32, *float32, or *enum field in the struct. +func structPointer_Word32(p structPointer, f field) word32 { + return word32((**uint32)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +} + +// A word32Val is the address of a 32-bit value field. +type word32Val *uint32 + +// Set sets *p to x. +func word32Val_Set(p word32Val, x uint32) { + *p = x +} + +// Get gets the value pointed at by p. +func word32Val_Get(p word32Val) uint32 { + return *p +} + +// Word32Val returns the address of a *int32, *uint32, *float32, or *enum field in the struct. +func structPointer_Word32Val(p structPointer, f field) word32Val { + return word32Val((*uint32)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +} + +// A word32Slice is a slice of 32-bit values. +type word32Slice []uint32 + +func (v *word32Slice) Append(x uint32) { *v = append(*v, x) } +func (v *word32Slice) Len() int { return len(*v) } +func (v *word32Slice) Index(i int) uint32 { return (*v)[i] } + +// Word32Slice returns the address of a []int32, []uint32, []float32, or []enum field in the struct. +func structPointer_Word32Slice(p structPointer, f field) *word32Slice { + return (*word32Slice)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} + +// word64 is like word32 but for 64-bit values. +type word64 **uint64 + +func word64_Set(p word64, o *Buffer, x uint64) { + if len(o.uint64s) == 0 { + o.uint64s = make([]uint64, uint64PoolSize) + } + o.uint64s[0] = x + *p = &o.uint64s[0] + o.uint64s = o.uint64s[1:] +} + +func word64_IsNil(p word64) bool { + return *p == nil +} + +func word64_Get(p word64) uint64 { + return **p +} + +func structPointer_Word64(p structPointer, f field) word64 { + return word64((**uint64)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +} + +// word64Val is like word32Val but for 64-bit values. +type word64Val *uint64 + +func word64Val_Set(p word64Val, o *Buffer, x uint64) { + *p = x +} + +func word64Val_Get(p word64Val) uint64 { + return *p +} + +func structPointer_Word64Val(p structPointer, f field) word64Val { + return word64Val((*uint64)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +} + +// word64Slice is like word32Slice but for 64-bit values. +type word64Slice []uint64 + +func (v *word64Slice) Append(x uint64) { *v = append(*v, x) } +func (v *word64Slice) Len() int { return len(*v) } +func (v *word64Slice) Index(i int) uint64 { return (*v)[i] } + +func structPointer_Word64Slice(p structPointer, f field) *word64Slice { + return (*word64Slice)(unsafe.Pointer(uintptr(p) + uintptr(f))) +} diff --git a/vendor/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go new file mode 100644 index 000000000000..ec2289c0058e --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/properties.go @@ -0,0 +1,872 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "fmt" + "log" + "os" + "reflect" + "sort" + "strconv" + "strings" + "sync" +) + +const debug bool = false + +// Constants that identify the encoding of a value on the wire. +const ( + WireVarint = 0 + WireFixed64 = 1 + WireBytes = 2 + WireStartGroup = 3 + WireEndGroup = 4 + WireFixed32 = 5 +) + +const startSize = 10 // initial slice/string sizes + +// Encoders are defined in encode.go +// An encoder outputs the full representation of a field, including its +// tag and encoder type. +type encoder func(p *Buffer, prop *Properties, base structPointer) error + +// A valueEncoder encodes a single integer in a particular encoding. +type valueEncoder func(o *Buffer, x uint64) error + +// Sizers are defined in encode.go +// A sizer returns the encoded size of a field, including its tag and encoder +// type. +type sizer func(prop *Properties, base structPointer) int + +// A valueSizer returns the encoded size of a single integer in a particular +// encoding. +type valueSizer func(x uint64) int + +// Decoders are defined in decode.go +// A decoder creates a value from its wire representation. +// Unrecognized subelements are saved in unrec. +type decoder func(p *Buffer, prop *Properties, base structPointer) error + +// A valueDecoder decodes a single integer in a particular encoding. +type valueDecoder func(o *Buffer) (x uint64, err error) + +// A oneofMarshaler does the marshaling for all oneof fields in a message. +type oneofMarshaler func(Message, *Buffer) error + +// A oneofUnmarshaler does the unmarshaling for a oneof field in a message. +type oneofUnmarshaler func(Message, int, int, *Buffer) (bool, error) + +// A oneofSizer does the sizing for all oneof fields in a message. +type oneofSizer func(Message) int + +// tagMap is an optimization over map[int]int for typical protocol buffer +// use-cases. Encoded protocol buffers are often in tag order with small tag +// numbers. +type tagMap struct { + fastTags []int + slowTags map[int]int +} + +// tagMapFastLimit is the upper bound on the tag number that will be stored in +// the tagMap slice rather than its map. +const tagMapFastLimit = 1024 + +func (p *tagMap) get(t int) (int, bool) { + if t > 0 && t < tagMapFastLimit { + if t >= len(p.fastTags) { + return 0, false + } + fi := p.fastTags[t] + return fi, fi >= 0 + } + fi, ok := p.slowTags[t] + return fi, ok +} + +func (p *tagMap) put(t int, fi int) { + if t > 0 && t < tagMapFastLimit { + for len(p.fastTags) < t+1 { + p.fastTags = append(p.fastTags, -1) + } + p.fastTags[t] = fi + return + } + if p.slowTags == nil { + p.slowTags = make(map[int]int) + } + p.slowTags[t] = fi +} + +// StructProperties represents properties for all the fields of a struct. +// decoderTags and decoderOrigNames should only be used by the decoder. +type StructProperties struct { + Prop []*Properties // properties for each field + reqCount int // required count + decoderTags tagMap // map from proto tag to struct field number + decoderOrigNames map[string]int // map from original name to struct field number + order []int // list of struct field numbers in tag order + unrecField field // field id of the XXX_unrecognized []byte field + extendable bool // is this an extendable proto + + oneofMarshaler oneofMarshaler + oneofUnmarshaler oneofUnmarshaler + oneofSizer oneofSizer + stype reflect.Type + + // OneofTypes contains information about the oneof fields in this message. + // It is keyed by the original name of a field. + OneofTypes map[string]*OneofProperties +} + +// OneofProperties represents information about a specific field in a oneof. +type OneofProperties struct { + Type reflect.Type // pointer to generated struct type for this oneof field + Field int // struct field number of the containing oneof in the message + Prop *Properties +} + +// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec. +// See encode.go, (*Buffer).enc_struct. + +func (sp *StructProperties) Len() int { return len(sp.order) } +func (sp *StructProperties) Less(i, j int) bool { + return sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag +} +func (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] } + +// Properties represents the protocol-specific behavior of a single struct field. +type Properties struct { + Name string // name of the field, for error messages + OrigName string // original name before protocol compiler (always set) + JSONName string // name to use for JSON; determined by protoc + Wire string + WireType int + Tag int + Required bool + Optional bool + Repeated bool + Packed bool // relevant for repeated primitives only + Enum string // set for enum types only + proto3 bool // whether this is known to be a proto3 field; set for []byte only + oneof bool // whether this is a oneof field + + Default string // default value + HasDefault bool // whether an explicit default was provided + def_uint64 uint64 + + enc encoder + valEnc valueEncoder // set for bool and numeric types only + field field + tagcode []byte // encoding of EncodeVarint((Tag<<3)|WireType) + tagbuf [8]byte + stype reflect.Type // set for struct types only + sprop *StructProperties // set for struct types only + isMarshaler bool + isUnmarshaler bool + + mtype reflect.Type // set for map types only + mkeyprop *Properties // set for map types only + mvalprop *Properties // set for map types only + + size sizer + valSize valueSizer // set for bool and numeric types only + + dec decoder + valDec valueDecoder // set for bool and numeric types only + + // If this is a packable field, this will be the decoder for the packed version of the field. + packedDec decoder +} + +// String formats the properties in the protobuf struct field tag style. +func (p *Properties) String() string { + s := p.Wire + s = "," + s += strconv.Itoa(p.Tag) + if p.Required { + s += ",req" + } + if p.Optional { + s += ",opt" + } + if p.Repeated { + s += ",rep" + } + if p.Packed { + s += ",packed" + } + s += ",name=" + p.OrigName + if p.JSONName != p.OrigName { + s += ",json=" + p.JSONName + } + if p.proto3 { + s += ",proto3" + } + if p.oneof { + s += ",oneof" + } + if len(p.Enum) > 0 { + s += ",enum=" + p.Enum + } + if p.HasDefault { + s += ",def=" + p.Default + } + return s +} + +// Parse populates p by parsing a string in the protobuf struct field tag style. +func (p *Properties) Parse(s string) { + // "bytes,49,opt,name=foo,def=hello!" + fields := strings.Split(s, ",") // breaks def=, but handled below. + if len(fields) < 2 { + fmt.Fprintf(os.Stderr, "proto: tag has too few fields: %q\n", s) + return + } + + p.Wire = fields[0] + switch p.Wire { + case "varint": + p.WireType = WireVarint + p.valEnc = (*Buffer).EncodeVarint + p.valDec = (*Buffer).DecodeVarint + p.valSize = sizeVarint + case "fixed32": + p.WireType = WireFixed32 + p.valEnc = (*Buffer).EncodeFixed32 + p.valDec = (*Buffer).DecodeFixed32 + p.valSize = sizeFixed32 + case "fixed64": + p.WireType = WireFixed64 + p.valEnc = (*Buffer).EncodeFixed64 + p.valDec = (*Buffer).DecodeFixed64 + p.valSize = sizeFixed64 + case "zigzag32": + p.WireType = WireVarint + p.valEnc = (*Buffer).EncodeZigzag32 + p.valDec = (*Buffer).DecodeZigzag32 + p.valSize = sizeZigzag32 + case "zigzag64": + p.WireType = WireVarint + p.valEnc = (*Buffer).EncodeZigzag64 + p.valDec = (*Buffer).DecodeZigzag64 + p.valSize = sizeZigzag64 + case "bytes", "group": + p.WireType = WireBytes + // no numeric converter for non-numeric types + default: + fmt.Fprintf(os.Stderr, "proto: tag has unknown wire type: %q\n", s) + return + } + + var err error + p.Tag, err = strconv.Atoi(fields[1]) + if err != nil { + return + } + + for i := 2; i < len(fields); i++ { + f := fields[i] + switch { + case f == "req": + p.Required = true + case f == "opt": + p.Optional = true + case f == "rep": + p.Repeated = true + case f == "packed": + p.Packed = true + case strings.HasPrefix(f, "name="): + p.OrigName = f[5:] + case strings.HasPrefix(f, "json="): + p.JSONName = f[5:] + case strings.HasPrefix(f, "enum="): + p.Enum = f[5:] + case f == "proto3": + p.proto3 = true + case f == "oneof": + p.oneof = true + case strings.HasPrefix(f, "def="): + p.HasDefault = true + p.Default = f[4:] // rest of string + if i+1 < len(fields) { + // Commas aren't escaped, and def is always last. + p.Default += "," + strings.Join(fields[i+1:], ",") + break + } + } + } +} + +func logNoSliceEnc(t1, t2 reflect.Type) { + fmt.Fprintf(os.Stderr, "proto: no slice oenc for %T = []%T\n", t1, t2) +} + +var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem() + +// Initialize the fields for encoding and decoding. +func (p *Properties) setEncAndDec(typ reflect.Type, f *reflect.StructField, lockGetProp bool) { + p.enc = nil + p.dec = nil + p.size = nil + + switch t1 := typ; t1.Kind() { + default: + fmt.Fprintf(os.Stderr, "proto: no coders for %v\n", t1) + + // proto3 scalar types + + case reflect.Bool: + p.enc = (*Buffer).enc_proto3_bool + p.dec = (*Buffer).dec_proto3_bool + p.size = size_proto3_bool + case reflect.Int32: + p.enc = (*Buffer).enc_proto3_int32 + p.dec = (*Buffer).dec_proto3_int32 + p.size = size_proto3_int32 + case reflect.Uint32: + p.enc = (*Buffer).enc_proto3_uint32 + p.dec = (*Buffer).dec_proto3_int32 // can reuse + p.size = size_proto3_uint32 + case reflect.Int64, reflect.Uint64: + p.enc = (*Buffer).enc_proto3_int64 + p.dec = (*Buffer).dec_proto3_int64 + p.size = size_proto3_int64 + case reflect.Float32: + p.enc = (*Buffer).enc_proto3_uint32 // can just treat them as bits + p.dec = (*Buffer).dec_proto3_int32 + p.size = size_proto3_uint32 + case reflect.Float64: + p.enc = (*Buffer).enc_proto3_int64 // can just treat them as bits + p.dec = (*Buffer).dec_proto3_int64 + p.size = size_proto3_int64 + case reflect.String: + p.enc = (*Buffer).enc_proto3_string + p.dec = (*Buffer).dec_proto3_string + p.size = size_proto3_string + + case reflect.Ptr: + switch t2 := t1.Elem(); t2.Kind() { + default: + fmt.Fprintf(os.Stderr, "proto: no encoder function for %v -> %v\n", t1, t2) + break + case reflect.Bool: + p.enc = (*Buffer).enc_bool + p.dec = (*Buffer).dec_bool + p.size = size_bool + case reflect.Int32: + p.enc = (*Buffer).enc_int32 + p.dec = (*Buffer).dec_int32 + p.size = size_int32 + case reflect.Uint32: + p.enc = (*Buffer).enc_uint32 + p.dec = (*Buffer).dec_int32 // can reuse + p.size = size_uint32 + case reflect.Int64, reflect.Uint64: + p.enc = (*Buffer).enc_int64 + p.dec = (*Buffer).dec_int64 + p.size = size_int64 + case reflect.Float32: + p.enc = (*Buffer).enc_uint32 // can just treat them as bits + p.dec = (*Buffer).dec_int32 + p.size = size_uint32 + case reflect.Float64: + p.enc = (*Buffer).enc_int64 // can just treat them as bits + p.dec = (*Buffer).dec_int64 + p.size = size_int64 + case reflect.String: + p.enc = (*Buffer).enc_string + p.dec = (*Buffer).dec_string + p.size = size_string + case reflect.Struct: + p.stype = t1.Elem() + p.isMarshaler = isMarshaler(t1) + p.isUnmarshaler = isUnmarshaler(t1) + if p.Wire == "bytes" { + p.enc = (*Buffer).enc_struct_message + p.dec = (*Buffer).dec_struct_message + p.size = size_struct_message + } else { + p.enc = (*Buffer).enc_struct_group + p.dec = (*Buffer).dec_struct_group + p.size = size_struct_group + } + } + + case reflect.Slice: + switch t2 := t1.Elem(); t2.Kind() { + default: + logNoSliceEnc(t1, t2) + break + case reflect.Bool: + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_bool + p.size = size_slice_packed_bool + } else { + p.enc = (*Buffer).enc_slice_bool + p.size = size_slice_bool + } + p.dec = (*Buffer).dec_slice_bool + p.packedDec = (*Buffer).dec_slice_packed_bool + case reflect.Int32: + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_int32 + p.size = size_slice_packed_int32 + } else { + p.enc = (*Buffer).enc_slice_int32 + p.size = size_slice_int32 + } + p.dec = (*Buffer).dec_slice_int32 + p.packedDec = (*Buffer).dec_slice_packed_int32 + case reflect.Uint32: + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_uint32 + p.size = size_slice_packed_uint32 + } else { + p.enc = (*Buffer).enc_slice_uint32 + p.size = size_slice_uint32 + } + p.dec = (*Buffer).dec_slice_int32 + p.packedDec = (*Buffer).dec_slice_packed_int32 + case reflect.Int64, reflect.Uint64: + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_int64 + p.size = size_slice_packed_int64 + } else { + p.enc = (*Buffer).enc_slice_int64 + p.size = size_slice_int64 + } + p.dec = (*Buffer).dec_slice_int64 + p.packedDec = (*Buffer).dec_slice_packed_int64 + case reflect.Uint8: + p.dec = (*Buffer).dec_slice_byte + if p.proto3 { + p.enc = (*Buffer).enc_proto3_slice_byte + p.size = size_proto3_slice_byte + } else { + p.enc = (*Buffer).enc_slice_byte + p.size = size_slice_byte + } + case reflect.Float32, reflect.Float64: + switch t2.Bits() { + case 32: + // can just treat them as bits + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_uint32 + p.size = size_slice_packed_uint32 + } else { + p.enc = (*Buffer).enc_slice_uint32 + p.size = size_slice_uint32 + } + p.dec = (*Buffer).dec_slice_int32 + p.packedDec = (*Buffer).dec_slice_packed_int32 + case 64: + // can just treat them as bits + if p.Packed { + p.enc = (*Buffer).enc_slice_packed_int64 + p.size = size_slice_packed_int64 + } else { + p.enc = (*Buffer).enc_slice_int64 + p.size = size_slice_int64 + } + p.dec = (*Buffer).dec_slice_int64 + p.packedDec = (*Buffer).dec_slice_packed_int64 + default: + logNoSliceEnc(t1, t2) + break + } + case reflect.String: + p.enc = (*Buffer).enc_slice_string + p.dec = (*Buffer).dec_slice_string + p.size = size_slice_string + case reflect.Ptr: + switch t3 := t2.Elem(); t3.Kind() { + default: + fmt.Fprintf(os.Stderr, "proto: no ptr oenc for %T -> %T -> %T\n", t1, t2, t3) + break + case reflect.Struct: + p.stype = t2.Elem() + p.isMarshaler = isMarshaler(t2) + p.isUnmarshaler = isUnmarshaler(t2) + if p.Wire == "bytes" { + p.enc = (*Buffer).enc_slice_struct_message + p.dec = (*Buffer).dec_slice_struct_message + p.size = size_slice_struct_message + } else { + p.enc = (*Buffer).enc_slice_struct_group + p.dec = (*Buffer).dec_slice_struct_group + p.size = size_slice_struct_group + } + } + case reflect.Slice: + switch t2.Elem().Kind() { + default: + fmt.Fprintf(os.Stderr, "proto: no slice elem oenc for %T -> %T -> %T\n", t1, t2, t2.Elem()) + break + case reflect.Uint8: + p.enc = (*Buffer).enc_slice_slice_byte + p.dec = (*Buffer).dec_slice_slice_byte + p.size = size_slice_slice_byte + } + } + + case reflect.Map: + p.enc = (*Buffer).enc_new_map + p.dec = (*Buffer).dec_new_map + p.size = size_new_map + + p.mtype = t1 + p.mkeyprop = &Properties{} + p.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp) + p.mvalprop = &Properties{} + vtype := p.mtype.Elem() + if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice { + // The value type is not a message (*T) or bytes ([]byte), + // so we need encoders for the pointer to this type. + vtype = reflect.PtrTo(vtype) + } + p.mvalprop.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp) + } + + // precalculate tag code + wire := p.WireType + if p.Packed { + wire = WireBytes + } + x := uint32(p.Tag)<<3 | uint32(wire) + i := 0 + for i = 0; x > 127; i++ { + p.tagbuf[i] = 0x80 | uint8(x&0x7F) + x >>= 7 + } + p.tagbuf[i] = uint8(x) + p.tagcode = p.tagbuf[0 : i+1] + + if p.stype != nil { + if lockGetProp { + p.sprop = GetProperties(p.stype) + } else { + p.sprop = getPropertiesLocked(p.stype) + } + } +} + +var ( + marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() + unmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem() +) + +// isMarshaler reports whether type t implements Marshaler. +func isMarshaler(t reflect.Type) bool { + // We're checking for (likely) pointer-receiver methods + // so if t is not a pointer, something is very wrong. + // The calls above only invoke isMarshaler on pointer types. + if t.Kind() != reflect.Ptr { + panic("proto: misuse of isMarshaler") + } + return t.Implements(marshalerType) +} + +// isUnmarshaler reports whether type t implements Unmarshaler. +func isUnmarshaler(t reflect.Type) bool { + // We're checking for (likely) pointer-receiver methods + // so if t is not a pointer, something is very wrong. + // The calls above only invoke isUnmarshaler on pointer types. + if t.Kind() != reflect.Ptr { + panic("proto: misuse of isUnmarshaler") + } + return t.Implements(unmarshalerType) +} + +// Init populates the properties from a protocol buffer struct tag. +func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) { + p.init(typ, name, tag, f, true) +} + +func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) { + // "bytes,49,opt,def=hello!" + p.Name = name + p.OrigName = name + if f != nil { + p.field = toField(f) + } + if tag == "" { + return + } + p.Parse(tag) + p.setEncAndDec(typ, f, lockGetProp) +} + +var ( + propertiesMu sync.RWMutex + propertiesMap = make(map[reflect.Type]*StructProperties) +) + +// GetProperties returns the list of properties for the type represented by t. +// t must represent a generated struct type of a protocol message. +func GetProperties(t reflect.Type) *StructProperties { + if t.Kind() != reflect.Struct { + panic("proto: type must have kind struct") + } + + // Most calls to GetProperties in a long-running program will be + // retrieving details for types we have seen before. + propertiesMu.RLock() + sprop, ok := propertiesMap[t] + propertiesMu.RUnlock() + if ok { + if collectStats { + stats.Chit++ + } + return sprop + } + + propertiesMu.Lock() + sprop = getPropertiesLocked(t) + propertiesMu.Unlock() + return sprop +} + +// getPropertiesLocked requires that propertiesMu is held. +func getPropertiesLocked(t reflect.Type) *StructProperties { + if prop, ok := propertiesMap[t]; ok { + if collectStats { + stats.Chit++ + } + return prop + } + if collectStats { + stats.Cmiss++ + } + + prop := new(StructProperties) + // in case of recursive protos, fill this in now. + propertiesMap[t] = prop + + // build properties + prop.extendable = reflect.PtrTo(t).Implements(extendableProtoType) || + reflect.PtrTo(t).Implements(extendableProtoV1Type) + prop.unrecField = invalidField + prop.Prop = make([]*Properties, t.NumField()) + prop.order = make([]int, t.NumField()) + + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + p := new(Properties) + name := f.Name + p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false) + + if f.Name == "XXX_InternalExtensions" { // special case + p.enc = (*Buffer).enc_exts + p.dec = nil // not needed + p.size = size_exts + } else if f.Name == "XXX_extensions" { // special case + p.enc = (*Buffer).enc_map + p.dec = nil // not needed + p.size = size_map + } else if f.Name == "XXX_unrecognized" { // special case + prop.unrecField = toField(&f) + } + oneof := f.Tag.Get("protobuf_oneof") // special case + if oneof != "" { + // Oneof fields don't use the traditional protobuf tag. + p.OrigName = oneof + } + prop.Prop[i] = p + prop.order[i] = i + if debug { + print(i, " ", f.Name, " ", t.String(), " ") + if p.Tag > 0 { + print(p.String()) + } + print("\n") + } + if p.enc == nil && !strings.HasPrefix(f.Name, "XXX_") && oneof == "" { + fmt.Fprintln(os.Stderr, "proto: no encoder for", f.Name, f.Type.String(), "[GetProperties]") + } + } + + // Re-order prop.order. + sort.Sort(prop) + + type oneofMessage interface { + XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) + } + if om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok { + var oots []interface{} + prop.oneofMarshaler, prop.oneofUnmarshaler, prop.oneofSizer, oots = om.XXX_OneofFuncs() + prop.stype = t + + // Interpret oneof metadata. + prop.OneofTypes = make(map[string]*OneofProperties) + for _, oot := range oots { + oop := &OneofProperties{ + Type: reflect.ValueOf(oot).Type(), // *T + Prop: new(Properties), + } + sft := oop.Type.Elem().Field(0) + oop.Prop.Name = sft.Name + oop.Prop.Parse(sft.Tag.Get("protobuf")) + // There will be exactly one interface field that + // this new value is assignable to. + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if f.Type.Kind() != reflect.Interface { + continue + } + if !oop.Type.AssignableTo(f.Type) { + continue + } + oop.Field = i + break + } + prop.OneofTypes[oop.Prop.OrigName] = oop + } + } + + // build required counts + // build tags + reqCount := 0 + prop.decoderOrigNames = make(map[string]int) + for i, p := range prop.Prop { + if strings.HasPrefix(p.Name, "XXX_") { + // Internal fields should not appear in tags/origNames maps. + // They are handled specially when encoding and decoding. + continue + } + if p.Required { + reqCount++ + } + prop.decoderTags.put(p.Tag, i) + prop.decoderOrigNames[p.OrigName] = i + } + prop.reqCount = reqCount + + return prop +} + +// Return the Properties object for the x[0]'th field of the structure. +func propByIndex(t reflect.Type, x []int) *Properties { + if len(x) != 1 { + fmt.Fprintf(os.Stderr, "proto: field index dimension %d (not 1) for type %s\n", len(x), t) + return nil + } + prop := GetProperties(t) + return prop.Prop[x[0]] +} + +// Get the address and type of a pointer to a struct from an interface. +func getbase(pb Message) (t reflect.Type, b structPointer, err error) { + if pb == nil { + err = ErrNil + return + } + // get the reflect type of the pointer to the struct. + t = reflect.TypeOf(pb) + // get the address of the struct. + value := reflect.ValueOf(pb) + b = toStructPointer(value) + return +} + +// A global registry of enum types. +// The generated code will register the generated maps by calling RegisterEnum. + +var enumValueMaps = make(map[string]map[string]int32) + +// RegisterEnum is called from the generated code to install the enum descriptor +// maps into the global table to aid parsing text format protocol buffers. +func RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) { + if _, ok := enumValueMaps[typeName]; ok { + panic("proto: duplicate enum registered: " + typeName) + } + enumValueMaps[typeName] = valueMap +} + +// EnumValueMap returns the mapping from names to integers of the +// enum type enumType, or a nil if not found. +func EnumValueMap(enumType string) map[string]int32 { + return enumValueMaps[enumType] +} + +// A registry of all linked message types. +// The string is a fully-qualified proto name ("pkg.Message"). +var ( + protoTypes = make(map[string]reflect.Type) + revProtoTypes = make(map[reflect.Type]string) +) + +// RegisterType is called from generated code and maps from the fully qualified +// proto name to the type (pointer to struct) of the protocol buffer. +func RegisterType(x Message, name string) { + if _, ok := protoTypes[name]; ok { + // TODO: Some day, make this a panic. + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + protoTypes[name] = t + revProtoTypes[t] = name +} + +// MessageName returns the fully-qualified proto name for the given message type. +func MessageName(x Message) string { + type xname interface { + XXX_MessageName() string + } + if m, ok := x.(xname); ok { + return m.XXX_MessageName() + } + return revProtoTypes[reflect.TypeOf(x)] +} + +// MessageType returns the message type (pointer to struct) for a named message. +func MessageType(name string) reflect.Type { return protoTypes[name] } + +// A registry of all linked proto files. +var ( + protoFiles = make(map[string][]byte) // file name => fileDescriptor +) + +// RegisterFile is called from generated code and maps from the +// full file name of a .proto file to its compressed FileDescriptorProto. +func RegisterFile(filename string, fileDescriptor []byte) { + protoFiles[filename] = fileDescriptor +} + +// FileDescriptor returns the compressed FileDescriptorProto for a .proto file. +func FileDescriptor(filename string) []byte { return protoFiles[filename] } diff --git a/vendor/github.com/golang/protobuf/proto/text.go b/vendor/github.com/golang/protobuf/proto/text.go new file mode 100644 index 000000000000..965876bf033b --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/text.go @@ -0,0 +1,854 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for writing the text protocol buffer format. + +import ( + "bufio" + "bytes" + "encoding" + "errors" + "fmt" + "io" + "log" + "math" + "reflect" + "sort" + "strings" +) + +var ( + newline = []byte("\n") + spaces = []byte(" ") + gtNewline = []byte(">\n") + endBraceNewline = []byte("}\n") + backslashN = []byte{'\\', 'n'} + backslashR = []byte{'\\', 'r'} + backslashT = []byte{'\\', 't'} + backslashDQ = []byte{'\\', '"'} + backslashBS = []byte{'\\', '\\'} + posInf = []byte("inf") + negInf = []byte("-inf") + nan = []byte("nan") +) + +type writer interface { + io.Writer + WriteByte(byte) error +} + +// textWriter is an io.Writer that tracks its indentation level. +type textWriter struct { + ind int + complete bool // if the current position is a complete line + compact bool // whether to write out as a one-liner + w writer +} + +func (w *textWriter) WriteString(s string) (n int, err error) { + if !strings.Contains(s, "\n") { + if !w.compact && w.complete { + w.writeIndent() + } + w.complete = false + return io.WriteString(w.w, s) + } + // WriteString is typically called without newlines, so this + // codepath and its copy are rare. We copy to avoid + // duplicating all of Write's logic here. + return w.Write([]byte(s)) +} + +func (w *textWriter) Write(p []byte) (n int, err error) { + newlines := bytes.Count(p, newline) + if newlines == 0 { + if !w.compact && w.complete { + w.writeIndent() + } + n, err = w.w.Write(p) + w.complete = false + return n, err + } + + frags := bytes.SplitN(p, newline, newlines+1) + if w.compact { + for i, frag := range frags { + if i > 0 { + if err := w.w.WriteByte(' '); err != nil { + return n, err + } + n++ + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + } + return n, nil + } + + for i, frag := range frags { + if w.complete { + w.writeIndent() + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + if i+1 < len(frags) { + if err := w.w.WriteByte('\n'); err != nil { + return n, err + } + n++ + } + } + w.complete = len(frags[len(frags)-1]) == 0 + return n, nil +} + +func (w *textWriter) WriteByte(c byte) error { + if w.compact && c == '\n' { + c = ' ' + } + if !w.compact && w.complete { + w.writeIndent() + } + err := w.w.WriteByte(c) + w.complete = c == '\n' + return err +} + +func (w *textWriter) indent() { w.ind++ } + +func (w *textWriter) unindent() { + if w.ind == 0 { + log.Print("proto: textWriter unindented too far") + return + } + w.ind-- +} + +func writeName(w *textWriter, props *Properties) error { + if _, err := w.WriteString(props.OrigName); err != nil { + return err + } + if props.Wire != "group" { + return w.WriteByte(':') + } + return nil +} + +// raw is the interface satisfied by RawMessage. +type raw interface { + Bytes() []byte +} + +func requiresQuotes(u string) bool { + // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted. + for _, ch := range u { + switch { + case ch == '.' || ch == '/' || ch == '_': + continue + case '0' <= ch && ch <= '9': + continue + case 'A' <= ch && ch <= 'Z': + continue + case 'a' <= ch && ch <= 'z': + continue + default: + return true + } + } + return false +} + +// isAny reports whether sv is a google.protobuf.Any message +func isAny(sv reflect.Value) bool { + type wkt interface { + XXX_WellKnownType() string + } + t, ok := sv.Addr().Interface().(wkt) + return ok && t.XXX_WellKnownType() == "Any" +} + +// writeProto3Any writes an expanded google.protobuf.Any message. +// +// It returns (false, nil) if sv value can't be unmarshaled (e.g. because +// required messages are not linked in). +// +// It returns (true, error) when sv was written in expanded format or an error +// was encountered. +func (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) { + turl := sv.FieldByName("TypeUrl") + val := sv.FieldByName("Value") + if !turl.IsValid() || !val.IsValid() { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + b, ok := val.Interface().([]byte) + if !ok { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + parts := strings.Split(turl.String(), "/") + mt := MessageType(parts[len(parts)-1]) + if mt == nil { + return false, nil + } + m := reflect.New(mt.Elem()) + if err := Unmarshal(b, m.Interface().(Message)); err != nil { + return false, nil + } + w.Write([]byte("[")) + u := turl.String() + if requiresQuotes(u) { + writeString(w, u) + } else { + w.Write([]byte(u)) + } + if w.compact { + w.Write([]byte("]:<")) + } else { + w.Write([]byte("]: <\n")) + w.ind++ + } + if err := tm.writeStruct(w, m.Elem()); err != nil { + return true, err + } + if w.compact { + w.Write([]byte("> ")) + } else { + w.ind-- + w.Write([]byte(">\n")) + } + return true, nil +} + +func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { + if tm.ExpandAny && isAny(sv) { + if canExpand, err := tm.writeProto3Any(w, sv); canExpand { + return err + } + } + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < sv.NumField(); i++ { + fv := sv.Field(i) + props := sprops.Prop[i] + name := st.Field(i).Name + + if strings.HasPrefix(name, "XXX_") { + // There are two XXX_ fields: + // XXX_unrecognized []byte + // XXX_extensions map[int32]proto.Extension + // The first is handled here; + // the second is handled at the bottom of this function. + if name == "XXX_unrecognized" && !fv.IsNil() { + if err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Field not filled in. This could be an optional field or + // a required field that wasn't filled in. Either way, there + // isn't anything we can show for it. + continue + } + if fv.Kind() == reflect.Slice && fv.IsNil() { + // Repeated field that is empty, or a bytes field that is unused. + continue + } + + if props.Repeated && fv.Kind() == reflect.Slice { + // Repeated field. + for j := 0; j < fv.Len(); j++ { + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + v := fv.Index(j) + if v.Kind() == reflect.Ptr && v.IsNil() { + // A nil message in a repeated field is not valid, + // but we can handle that more gracefully than panicking. + if _, err := w.Write([]byte("\n")); err != nil { + return err + } + continue + } + if err := tm.writeAny(w, v, props); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Map { + // Map fields are rendered as a repeated struct with key/value fields. + keys := fv.MapKeys() + sort.Sort(mapKeys(keys)) + for _, key := range keys { + val := fv.MapIndex(key) + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + // open struct + if err := w.WriteByte('<'); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + // key + if _, err := w.WriteString("key:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, key, props.mkeyprop); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + // nil values aren't legal, but we can avoid panicking because of them. + if val.Kind() != reflect.Ptr || !val.IsNil() { + // value + if _, err := w.WriteString("value:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, val, props.mvalprop); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + // close struct + w.unindent() + if err := w.WriteByte('>'); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 { + // empty bytes field + continue + } + if fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice { + // proto3 non-repeated scalar field; skip if zero value + if isProto3Zero(fv) { + continue + } + } + + if fv.Kind() == reflect.Interface { + // Check if it is a oneof. + if st.Field(i).Tag.Get("protobuf_oneof") != "" { + // fv is nil, or holds a pointer to generated struct. + // That generated struct has exactly one field, + // which has a protobuf struct tag. + if fv.IsNil() { + continue + } + inner := fv.Elem().Elem() // interface -> *T -> T + tag := inner.Type().Field(0).Tag.Get("protobuf") + props = new(Properties) // Overwrite the outer props var, but not its pointee. + props.Parse(tag) + // Write the value in the oneof, not the oneof itself. + fv = inner.Field(0) + + // Special case to cope with malformed messages gracefully: + // If the value in the oneof is a nil pointer, don't panic + // in writeAny. + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Use errors.New so writeAny won't render quotes. + msg := errors.New("/* nil */") + fv = reflect.ValueOf(&msg).Elem() + } + } + } + + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if b, ok := fv.Interface().(raw); ok { + if err := writeRaw(w, b.Bytes()); err != nil { + return err + } + continue + } + + // Enums have a String method, so writeAny will work fine. + if err := tm.writeAny(w, fv, props); err != nil { + return err + } + + if err := w.WriteByte('\n'); err != nil { + return err + } + } + + // Extensions (the XXX_extensions field). + pv := sv.Addr() + if _, ok := extendable(pv.Interface()); ok { + if err := tm.writeExtensions(w, pv); err != nil { + return err + } + } + + return nil +} + +// writeRaw writes an uninterpreted raw message. +func writeRaw(w *textWriter, b []byte) error { + if err := w.WriteByte('<'); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + if err := writeUnknownStruct(w, b); err != nil { + return err + } + w.unindent() + if err := w.WriteByte('>'); err != nil { + return err + } + return nil +} + +// writeAny writes an arbitrary field. +func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error { + v = reflect.Indirect(v) + + // Floats have special cases. + if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 { + x := v.Float() + var b []byte + switch { + case math.IsInf(x, 1): + b = posInf + case math.IsInf(x, -1): + b = negInf + case math.IsNaN(x): + b = nan + } + if b != nil { + _, err := w.Write(b) + return err + } + // Other values are handled below. + } + + // We don't attempt to serialise every possible value type; only those + // that can occur in protocol buffers. + switch v.Kind() { + case reflect.Slice: + // Should only be a []byte; repeated fields are handled in writeStruct. + if err := writeString(w, string(v.Bytes())); err != nil { + return err + } + case reflect.String: + if err := writeString(w, v.String()); err != nil { + return err + } + case reflect.Struct: + // Required/optional group/message. + var bra, ket byte = '<', '>' + if props != nil && props.Wire == "group" { + bra, ket = '{', '}' + } + if err := w.WriteByte(bra); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + if etm, ok := v.Interface().(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = w.Write(text); err != nil { + return err + } + } else if err := tm.writeStruct(w, v); err != nil { + return err + } + w.unindent() + if err := w.WriteByte(ket); err != nil { + return err + } + default: + _, err := fmt.Fprint(w, v.Interface()) + return err + } + return nil +} + +// equivalent to C's isprint. +func isprint(c byte) bool { + return c >= 0x20 && c < 0x7f +} + +// writeString writes a string in the protocol buffer text format. +// It is similar to strconv.Quote except we don't use Go escape sequences, +// we treat the string as a byte sequence, and we use octal escapes. +// These differences are to maintain interoperability with the other +// languages' implementations of the text format. +func writeString(w *textWriter, s string) error { + // use WriteByte here to get any needed indent + if err := w.WriteByte('"'); err != nil { + return err + } + // Loop over the bytes, not the runes. + for i := 0; i < len(s); i++ { + var err error + // Divergence from C++: we don't escape apostrophes. + // There's no need to escape them, and the C++ parser + // copes with a naked apostrophe. + switch c := s[i]; c { + case '\n': + _, err = w.w.Write(backslashN) + case '\r': + _, err = w.w.Write(backslashR) + case '\t': + _, err = w.w.Write(backslashT) + case '"': + _, err = w.w.Write(backslashDQ) + case '\\': + _, err = w.w.Write(backslashBS) + default: + if isprint(c) { + err = w.w.WriteByte(c) + } else { + _, err = fmt.Fprintf(w.w, "\\%03o", c) + } + } + if err != nil { + return err + } + } + return w.WriteByte('"') +} + +func writeUnknownStruct(w *textWriter, data []byte) (err error) { + if !w.compact { + if _, err := fmt.Fprintf(w, "/* %d unknown bytes */\n", len(data)); err != nil { + return err + } + } + b := NewBuffer(data) + for b.index < len(b.buf) { + x, err := b.DecodeVarint() + if err != nil { + _, err := fmt.Fprintf(w, "/* %v */\n", err) + return err + } + wire, tag := x&7, x>>3 + if wire == WireEndGroup { + w.unindent() + if _, err := w.Write(endBraceNewline); err != nil { + return err + } + continue + } + if _, err := fmt.Fprint(w, tag); err != nil { + return err + } + if wire != WireStartGroup { + if err := w.WriteByte(':'); err != nil { + return err + } + } + if !w.compact || wire == WireStartGroup { + if err := w.WriteByte(' '); err != nil { + return err + } + } + switch wire { + case WireBytes: + buf, e := b.DecodeRawBytes(false) + if e == nil { + _, err = fmt.Fprintf(w, "%q", buf) + } else { + _, err = fmt.Fprintf(w, "/* %v */", e) + } + case WireFixed32: + x, err = b.DecodeFixed32() + err = writeUnknownInt(w, x, err) + case WireFixed64: + x, err = b.DecodeFixed64() + err = writeUnknownInt(w, x, err) + case WireStartGroup: + err = w.WriteByte('{') + w.indent() + case WireVarint: + x, err = b.DecodeVarint() + err = writeUnknownInt(w, x, err) + default: + _, err = fmt.Fprintf(w, "/* unknown wire type %d */", wire) + } + if err != nil { + return err + } + if err = w.WriteByte('\n'); err != nil { + return err + } + } + return nil +} + +func writeUnknownInt(w *textWriter, x uint64, err error) error { + if err == nil { + _, err = fmt.Fprint(w, x) + } else { + _, err = fmt.Fprintf(w, "/* %v */", err) + } + return err +} + +type int32Slice []int32 + +func (s int32Slice) Len() int { return len(s) } +func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] } +func (s int32Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// writeExtensions writes all the extensions in pv. +// pv is assumed to be a pointer to a protocol message struct that is extendable. +func (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error { + emap := extensionMaps[pv.Type().Elem()] + ep, _ := extendable(pv.Interface()) + + // Order the extensions by ID. + // This isn't strictly necessary, but it will give us + // canonical output, which will also make testing easier. + m, mu := ep.extensionsRead() + if m == nil { + return nil + } + mu.Lock() + ids := make([]int32, 0, len(m)) + for id := range m { + ids = append(ids, id) + } + sort.Sort(int32Slice(ids)) + mu.Unlock() + + for _, extNum := range ids { + ext := m[extNum] + var desc *ExtensionDesc + if emap != nil { + desc = emap[extNum] + } + if desc == nil { + // Unknown extension. + if err := writeUnknownStruct(w, ext.enc); err != nil { + return err + } + continue + } + + pb, err := GetExtension(ep, desc) + if err != nil { + return fmt.Errorf("failed getting extension: %v", err) + } + + // Repeated extensions will appear as a slice. + if !desc.repeated() { + if err := tm.writeExtension(w, desc.Name, pb); err != nil { + return err + } + } else { + v := reflect.ValueOf(pb) + for i := 0; i < v.Len(); i++ { + if err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil { + return err + } + } + } + } + return nil +} + +func (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error { + if _, err := fmt.Fprintf(w, "[%s]:", name); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + return nil +} + +func (w *textWriter) writeIndent() { + if !w.complete { + return + } + remain := w.ind * 2 + for remain > 0 { + n := remain + if n > len(spaces) { + n = len(spaces) + } + w.w.Write(spaces[:n]) + remain -= n + } + w.complete = false +} + +// TextMarshaler is a configurable text format marshaler. +type TextMarshaler struct { + Compact bool // use compact text format (one line). + ExpandAny bool // expand google.protobuf.Any messages of known types +} + +// Marshal writes a given protocol buffer in text format. +// The only errors returned are from w. +func (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error { + val := reflect.ValueOf(pb) + if pb == nil || val.IsNil() { + w.Write([]byte("")) + return nil + } + var bw *bufio.Writer + ww, ok := w.(writer) + if !ok { + bw = bufio.NewWriter(w) + ww = bw + } + aw := &textWriter{ + w: ww, + complete: true, + compact: tm.Compact, + } + + if etm, ok := pb.(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = aw.Write(text); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil + } + // Dereference the received pointer so we don't have outer < and >. + v := reflect.Indirect(val) + if err := tm.writeStruct(aw, v); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil +} + +// Text is the same as Marshal, but returns the string directly. +func (tm *TextMarshaler) Text(pb Message) string { + var buf bytes.Buffer + tm.Marshal(&buf, pb) + return buf.String() +} + +var ( + defaultTextMarshaler = TextMarshaler{} + compactTextMarshaler = TextMarshaler{Compact: true} +) + +// TODO: consider removing some of the Marshal functions below. + +// MarshalText writes a given protocol buffer in text format. +// The only errors returned are from w. +func MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) } + +// MarshalTextString is the same as MarshalText, but returns the string directly. +func MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) } + +// CompactText writes a given protocol buffer in compact text format (one line). +func CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) } + +// CompactTextString is the same as CompactText, but returns the string directly. +func CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) } diff --git a/vendor/github.com/golang/protobuf/proto/text_parser.go b/vendor/github.com/golang/protobuf/proto/text_parser.go new file mode 100644 index 000000000000..5e14513f28c9 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/text_parser.go @@ -0,0 +1,895 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for parsing the Text protocol buffer format. +// TODO: message sets. + +import ( + "encoding" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "unicode/utf8" +) + +// Error string emitted when deserializing Any and fields are already set +const anyRepeatedlyUnpacked = "Any message unpacked multiple times, or %q already set" + +type ParseError struct { + Message string + Line int // 1-based line number + Offset int // 0-based byte offset from start of input +} + +func (p *ParseError) Error() string { + if p.Line == 1 { + // show offset only for first line + return fmt.Sprintf("line 1.%d: %v", p.Offset, p.Message) + } + return fmt.Sprintf("line %d: %v", p.Line, p.Message) +} + +type token struct { + value string + err *ParseError + line int // line number + offset int // byte number from start of input, not start of line + unquoted string // the unquoted version of value, if it was a quoted string +} + +func (t *token) String() string { + if t.err == nil { + return fmt.Sprintf("%q (line=%d, offset=%d)", t.value, t.line, t.offset) + } + return fmt.Sprintf("parse error: %v", t.err) +} + +type textParser struct { + s string // remaining input + done bool // whether the parsing is finished (success or error) + backed bool // whether back() was called + offset, line int + cur token +} + +func newTextParser(s string) *textParser { + p := new(textParser) + p.s = s + p.line = 1 + p.cur.line = 1 + return p +} + +func (p *textParser) errorf(format string, a ...interface{}) *ParseError { + pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset} + p.cur.err = pe + p.done = true + return pe +} + +// Numbers and identifiers are matched by [-+._A-Za-z0-9] +func isIdentOrNumberChar(c byte) bool { + switch { + case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z': + return true + case '0' <= c && c <= '9': + return true + } + switch c { + case '-', '+', '.', '_': + return true + } + return false +} + +func isWhitespace(c byte) bool { + switch c { + case ' ', '\t', '\n', '\r': + return true + } + return false +} + +func isQuote(c byte) bool { + switch c { + case '"', '\'': + return true + } + return false +} + +func (p *textParser) skipWhitespace() { + i := 0 + for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') { + if p.s[i] == '#' { + // comment; skip to end of line or input + for i < len(p.s) && p.s[i] != '\n' { + i++ + } + if i == len(p.s) { + break + } + } + if p.s[i] == '\n' { + p.line++ + } + i++ + } + p.offset += i + p.s = p.s[i:len(p.s)] + if len(p.s) == 0 { + p.done = true + } +} + +func (p *textParser) advance() { + // Skip whitespace + p.skipWhitespace() + if p.done { + return + } + + // Start of non-whitespace + p.cur.err = nil + p.cur.offset, p.cur.line = p.offset, p.line + p.cur.unquoted = "" + switch p.s[0] { + case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/': + // Single symbol + p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)] + case '"', '\'': + // Quoted string + i := 1 + for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' { + if p.s[i] == '\\' && i+1 < len(p.s) { + // skip escaped char + i++ + } + i++ + } + if i >= len(p.s) || p.s[i] != p.s[0] { + p.errorf("unmatched quote") + return + } + unq, err := unquoteC(p.s[1:i], rune(p.s[0])) + if err != nil { + p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err) + return + } + p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)] + p.cur.unquoted = unq + default: + i := 0 + for i < len(p.s) && isIdentOrNumberChar(p.s[i]) { + i++ + } + if i == 0 { + p.errorf("unexpected byte %#x", p.s[0]) + return + } + p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)] + } + p.offset += len(p.cur.value) +} + +var ( + errBadUTF8 = errors.New("proto: bad UTF-8") + errBadHex = errors.New("proto: bad hexadecimal") +) + +func unquoteC(s string, quote rune) (string, error) { + // This is based on C++'s tokenizer.cc. + // Despite its name, this is *not* parsing C syntax. + // For instance, "\0" is an invalid quoted string. + + // Avoid allocation in trivial cases. + simple := true + for _, r := range s { + if r == '\\' || r == quote { + simple = false + break + } + } + if simple { + return s, nil + } + + buf := make([]byte, 0, 3*len(s)/2) + for len(s) > 0 { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", errBadUTF8 + } + s = s[n:] + if r != '\\' { + if r < utf8.RuneSelf { + buf = append(buf, byte(r)) + } else { + buf = append(buf, string(r)...) + } + continue + } + + ch, tail, err := unescape(s) + if err != nil { + return "", err + } + buf = append(buf, ch...) + s = tail + } + return string(buf), nil +} + +func unescape(s string) (ch string, tail string, err error) { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", "", errBadUTF8 + } + s = s[n:] + switch r { + case 'a': + return "\a", s, nil + case 'b': + return "\b", s, nil + case 'f': + return "\f", s, nil + case 'n': + return "\n", s, nil + case 'r': + return "\r", s, nil + case 't': + return "\t", s, nil + case 'v': + return "\v", s, nil + case '?': + return "?", s, nil // trigraph workaround + case '\'', '"', '\\': + return string(r), s, nil + case '0', '1', '2', '3', '4', '5', '6', '7', 'x', 'X': + if len(s) < 2 { + return "", "", fmt.Errorf(`\%c requires 2 following digits`, r) + } + base := 8 + ss := s[:2] + s = s[2:] + if r == 'x' || r == 'X' { + base = 16 + } else { + ss = string(r) + ss + } + i, err := strconv.ParseUint(ss, base, 8) + if err != nil { + return "", "", err + } + return string([]byte{byte(i)}), s, nil + case 'u', 'U': + n := 4 + if r == 'U' { + n = 8 + } + if len(s) < n { + return "", "", fmt.Errorf(`\%c requires %d digits`, r, n) + } + + bs := make([]byte, n/2) + for i := 0; i < n; i += 2 { + a, ok1 := unhex(s[i]) + b, ok2 := unhex(s[i+1]) + if !ok1 || !ok2 { + return "", "", errBadHex + } + bs[i/2] = a<<4 | b + } + s = s[n:] + return string(bs), s, nil + } + return "", "", fmt.Errorf(`unknown escape \%c`, r) +} + +// Adapted from src/pkg/strconv/quote.go. +func unhex(b byte) (v byte, ok bool) { + switch { + case '0' <= b && b <= '9': + return b - '0', true + case 'a' <= b && b <= 'f': + return b - 'a' + 10, true + case 'A' <= b && b <= 'F': + return b - 'A' + 10, true + } + return 0, false +} + +// Back off the parser by one token. Can only be done between calls to next(). +// It makes the next advance() a no-op. +func (p *textParser) back() { p.backed = true } + +// Advances the parser and returns the new current token. +func (p *textParser) next() *token { + if p.backed || p.done { + p.backed = false + return &p.cur + } + p.advance() + if p.done { + p.cur.value = "" + } else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) { + // Look for multiple quoted strings separated by whitespace, + // and concatenate them. + cat := p.cur + for { + p.skipWhitespace() + if p.done || !isQuote(p.s[0]) { + break + } + p.advance() + if p.cur.err != nil { + return &p.cur + } + cat.value += " " + p.cur.value + cat.unquoted += p.cur.unquoted + } + p.done = false // parser may have seen EOF, but we want to return cat + p.cur = cat + } + return &p.cur +} + +func (p *textParser) consumeToken(s string) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != s { + p.back() + return p.errorf("expected %q, found %q", s, tok.value) + } + return nil +} + +// Return a RequiredNotSetError indicating which required field was not set. +func (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError { + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < st.NumField(); i++ { + if !isNil(sv.Field(i)) { + continue + } + + props := sprops.Prop[i] + if props.Required { + return &RequiredNotSetError{fmt.Sprintf("%v.%v", st, props.OrigName)} + } + } + return &RequiredNotSetError{fmt.Sprintf("%v.", st)} // should not happen +} + +// Returns the index in the struct for the named field, as well as the parsed tag properties. +func structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) { + i, ok := sprops.decoderOrigNames[name] + if ok { + return i, sprops.Prop[i], true + } + return -1, nil, false +} + +// Consume a ':' from the input stream (if the next token is a colon), +// returning an error if a colon is needed but not present. +func (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ":" { + // Colon is optional when the field is a group or message. + needColon := true + switch props.Wire { + case "group": + needColon = false + case "bytes": + // A "bytes" field is either a message, a string, or a repeated field; + // those three become *T, *string and []T respectively, so we can check for + // this field being a pointer to a non-string. + if typ.Kind() == reflect.Ptr { + // *T or *string + if typ.Elem().Kind() == reflect.String { + break + } + } else if typ.Kind() == reflect.Slice { + // []T or []*T + if typ.Elem().Kind() != reflect.Ptr { + break + } + } else if typ.Kind() == reflect.String { + // The proto3 exception is for a string field, + // which requires a colon. + break + } + needColon = false + } + if needColon { + return p.errorf("expected ':', found %q", tok.value) + } + p.back() + } + return nil +} + +func (p *textParser) readStruct(sv reflect.Value, terminator string) error { + st := sv.Type() + sprops := GetProperties(st) + reqCount := sprops.reqCount + var reqFieldErr error + fieldSet := make(map[string]bool) + // A struct is a sequence of "name: value", terminated by one of + // '>' or '}', or the end of the input. A name may also be + // "[extension]" or "[type/url]". + // + // The whole struct can also be an expanded Any message, like: + // [type/url] < ... struct contents ... > + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + if tok.value == "[" { + // Looks like an extension or an Any. + // + // TODO: Check whether we need to handle + // namespace rooted names (e.g. ".something.Foo"). + extName, err := p.consumeExtName() + if err != nil { + return err + } + + if s := strings.LastIndex(extName, "/"); s >= 0 { + // If it contains a slash, it's an Any type URL. + messageName := extName[s+1:] + mt := MessageType(messageName) + if mt == nil { + return p.errorf("unrecognized message %q in google.protobuf.Any", messageName) + } + tok = p.next() + if tok.err != nil { + return tok.err + } + // consume an optional colon + if tok.value == ":" { + tok = p.next() + if tok.err != nil { + return tok.err + } + } + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + v := reflect.New(mt.Elem()) + if pe := p.readStruct(v.Elem(), terminator); pe != nil { + return pe + } + b, err := Marshal(v.Interface().(Message)) + if err != nil { + return p.errorf("failed to marshal message of type %q: %v", messageName, err) + } + if fieldSet["type_url"] { + return p.errorf(anyRepeatedlyUnpacked, "type_url") + } + if fieldSet["value"] { + return p.errorf(anyRepeatedlyUnpacked, "value") + } + sv.FieldByName("TypeUrl").SetString(extName) + sv.FieldByName("Value").SetBytes(b) + fieldSet["type_url"] = true + fieldSet["value"] = true + continue + } + + var desc *ExtensionDesc + // This could be faster, but it's functional. + // TODO: Do something smarter than a linear scan. + for _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) { + if d.Name == extName { + desc = d + break + } + } + if desc == nil { + return p.errorf("unrecognized extension %q", extName) + } + + props := &Properties{} + props.Parse(desc.Tag) + + typ := reflect.TypeOf(desc.ExtensionType) + if err := p.checkForColon(props, typ); err != nil { + return err + } + + rep := desc.repeated() + + // Read the extension structure, and set it in + // the value we're constructing. + var ext reflect.Value + if !rep { + ext = reflect.New(typ).Elem() + } else { + ext = reflect.New(typ.Elem()).Elem() + } + if err := p.readAny(ext, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + ep := sv.Addr().Interface().(Message) + if !rep { + SetExtension(ep, desc, ext.Interface()) + } else { + old, err := GetExtension(ep, desc) + var sl reflect.Value + if err == nil { + sl = reflect.ValueOf(old) // existing slice + } else { + sl = reflect.MakeSlice(typ, 0, 1) + } + sl = reflect.Append(sl, ext) + SetExtension(ep, desc, sl.Interface()) + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + continue + } + + // This is a normal, non-extension field. + name := tok.value + var dst reflect.Value + fi, props, ok := structFieldByName(sprops, name) + if ok { + dst = sv.Field(fi) + } else if oop, ok := sprops.OneofTypes[name]; ok { + // It is a oneof. + props = oop.Prop + nv := reflect.New(oop.Type.Elem()) + dst = nv.Elem().Field(0) + field := sv.Field(oop.Field) + if !field.IsNil() { + return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name) + } + field.Set(nv) + } + if !dst.IsValid() { + return p.errorf("unknown field name %q in %v", name, st) + } + + if dst.Kind() == reflect.Map { + // Consume any colon. + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Construct the map if it doesn't already exist. + if dst.IsNil() { + dst.Set(reflect.MakeMap(dst.Type())) + } + key := reflect.New(dst.Type().Key()).Elem() + val := reflect.New(dst.Type().Elem()).Elem() + + // The map entry should be this sequence of tokens: + // < key : KEY value : VALUE > + // However, implementations may omit key or value, and technically + // we should support them in any order. See b/28924776 for a time + // this went wrong. + + tok := p.next() + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + switch tok.value { + case "key": + if err := p.consumeToken(":"); err != nil { + return err + } + if err := p.readAny(key, props.mkeyprop); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + case "value": + if err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil { + return err + } + if err := p.readAny(val, props.mvalprop); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + default: + p.back() + return p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value) + } + } + + dst.SetMapIndex(key, val) + continue + } + + // Check that it's not already set if it's not a repeated field. + if !props.Repeated && fieldSet[name] { + return p.errorf("non-repeated field %q was repeated", name) + } + + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Parse into the field. + fieldSet[name] = true + if err := p.readAny(dst, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + if props.Required { + reqCount-- + } + + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + + } + + if reqCount > 0 { + return p.missingRequiredFieldError(sv) + } + return reqFieldErr +} + +// consumeExtName consumes extension name or expanded Any type URL and the +// following ']'. It returns the name or URL consumed. +func (p *textParser) consumeExtName() (string, error) { + tok := p.next() + if tok.err != nil { + return "", tok.err + } + + // If extension name or type url is quoted, it's a single token. + if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] { + name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0])) + if err != nil { + return "", err + } + return name, p.consumeToken("]") + } + + // Consume everything up to "]" + var parts []string + for tok.value != "]" { + parts = append(parts, tok.value) + tok = p.next() + if tok.err != nil { + return "", p.errorf("unrecognized type_url or extension name: %s", tok.err) + } + } + return strings.Join(parts, ""), nil +} + +// consumeOptionalSeparator consumes an optional semicolon or comma. +// It is used in readStruct to provide backward compatibility. +func (p *textParser) consumeOptionalSeparator() error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ";" && tok.value != "," { + p.back() + } + return nil +} + +func (p *textParser) readAny(v reflect.Value, props *Properties) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "" { + return p.errorf("unexpected EOF") + } + + switch fv := v; fv.Kind() { + case reflect.Slice: + at := v.Type() + if at.Elem().Kind() == reflect.Uint8 { + // Special case for []byte + if tok.value[0] != '"' && tok.value[0] != '\'' { + // Deliberately written out here, as the error after + // this switch statement would write "invalid []byte: ...", + // which is not as user-friendly. + return p.errorf("invalid string: %v", tok.value) + } + bytes := []byte(tok.unquoted) + fv.Set(reflect.ValueOf(bytes)) + return nil + } + // Repeated field. + if tok.value == "[" { + // Repeated field with list notation, like [1,2,3]. + for { + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + err := p.readAny(fv.Index(fv.Len()-1), props) + if err != nil { + return err + } + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "]" { + break + } + if tok.value != "," { + return p.errorf("Expected ']' or ',' found %q", tok.value) + } + } + return nil + } + // One value of the repeated field. + p.back() + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + return p.readAny(fv.Index(fv.Len()-1), props) + case reflect.Bool: + // true/1/t/True or false/f/0/False. + switch tok.value { + case "true", "1", "t", "True": + fv.SetBool(true) + return nil + case "false", "0", "f", "False": + fv.SetBool(false) + return nil + } + case reflect.Float32, reflect.Float64: + v := tok.value + // Ignore 'f' for compatibility with output generated by C++, but don't + // remove 'f' when the value is "-inf" or "inf". + if strings.HasSuffix(v, "f") && tok.value != "-inf" && tok.value != "inf" { + v = v[:len(v)-1] + } + if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil { + fv.SetFloat(f) + return nil + } + case reflect.Int32: + if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil { + fv.SetInt(x) + return nil + } + + if len(props.Enum) == 0 { + break + } + m, ok := enumValueMaps[props.Enum] + if !ok { + break + } + x, ok := m[tok.value] + if !ok { + break + } + fv.SetInt(int64(x)) + return nil + case reflect.Int64: + if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil { + fv.SetInt(x) + return nil + } + + case reflect.Ptr: + // A basic field (indirected through pointer), or a repeated message/group + p.back() + fv.Set(reflect.New(fv.Type().Elem())) + return p.readAny(fv.Elem(), props) + case reflect.String: + if tok.value[0] == '"' || tok.value[0] == '\'' { + fv.SetString(tok.unquoted) + return nil + } + case reflect.Struct: + var terminator string + switch tok.value { + case "{": + terminator = "}" + case "<": + terminator = ">" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + // TODO: Handle nested messages which implement encoding.TextUnmarshaler. + return p.readStruct(fv, terminator) + case reflect.Uint32: + if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil { + fv.SetUint(x) + return nil + } + case reflect.Uint64: + if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil { + fv.SetUint(x) + return nil + } + } + return p.errorf("invalid %v: %v", v.Type(), tok.value) +} + +// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb +// before starting to unmarshal, so any existing data in pb is always removed. +// If a required field is not set and no other error occurs, +// UnmarshalText returns *RequiredNotSetError. +func UnmarshalText(s string, pb Message) error { + if um, ok := pb.(encoding.TextUnmarshaler); ok { + err := um.UnmarshalText([]byte(s)) + return err + } + pb.Reset() + v := reflect.ValueOf(pb) + if pe := newTextParser(s).readStruct(v.Elem(), ""); pe != nil { + return pe + } + return nil +} diff --git a/vendor/github.com/golang/protobuf/ptypes/any.go b/vendor/github.com/golang/protobuf/ptypes/any.go new file mode 100644 index 000000000000..b2af97f4a982 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/any.go @@ -0,0 +1,139 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements functions to marshal proto.Message to/from +// google.protobuf.Any message. + +import ( + "fmt" + "reflect" + "strings" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes/any" +) + +const googleApis = "type.googleapis.com/" + +// AnyMessageName returns the name of the message contained in a google.protobuf.Any message. +// +// Note that regular type assertions should be done using the Is +// function. AnyMessageName is provided for less common use cases like filtering a +// sequence of Any messages based on a set of allowed message type names. +func AnyMessageName(any *any.Any) (string, error) { + if any == nil { + return "", fmt.Errorf("message is nil") + } + slash := strings.LastIndex(any.TypeUrl, "/") + if slash < 0 { + return "", fmt.Errorf("message type url %q is invalid", any.TypeUrl) + } + return any.TypeUrl[slash+1:], nil +} + +// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any. +func MarshalAny(pb proto.Message) (*any.Any, error) { + value, err := proto.Marshal(pb) + if err != nil { + return nil, err + } + return &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil +} + +// DynamicAny is a value that can be passed to UnmarshalAny to automatically +// allocate a proto.Message for the type specified in a google.protobuf.Any +// message. The allocated message is stored in the embedded proto.Message. +// +// Example: +// +// var x ptypes.DynamicAny +// if err := ptypes.UnmarshalAny(a, &x); err != nil { ... } +// fmt.Printf("unmarshaled message: %v", x.Message) +type DynamicAny struct { + proto.Message +} + +// Empty returns a new proto.Message of the type specified in a +// google.protobuf.Any message. It returns an error if corresponding message +// type isn't linked in. +func Empty(any *any.Any) (proto.Message, error) { + aname, err := AnyMessageName(any) + if err != nil { + return nil, err + } + + t := proto.MessageType(aname) + if t == nil { + return nil, fmt.Errorf("any: message type %q isn't linked in", aname) + } + return reflect.New(t.Elem()).Interface().(proto.Message), nil +} + +// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any +// message and places the decoded result in pb. It returns an error if type of +// contents of Any message does not match type of pb message. +// +// pb can be a proto.Message, or a *DynamicAny. +func UnmarshalAny(any *any.Any, pb proto.Message) error { + if d, ok := pb.(*DynamicAny); ok { + if d.Message == nil { + var err error + d.Message, err = Empty(any) + if err != nil { + return err + } + } + return UnmarshalAny(any, d.Message) + } + + aname, err := AnyMessageName(any) + if err != nil { + return err + } + + mname := proto.MessageName(pb) + if aname != mname { + return fmt.Errorf("mismatched message type: got %q want %q", aname, mname) + } + return proto.Unmarshal(any.Value, pb) +} + +// Is returns true if any value contains a given message type. +func Is(any *any.Any, pb proto.Message) bool { + aname, err := AnyMessageName(any) + if err != nil { + return false + } + + return aname == proto.MessageName(pb) +} diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go new file mode 100644 index 000000000000..f34601723de2 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/any.proto + +/* +Package any is a generated protocol buffer package. + +It is generated from these files: + google/protobuf/any.proto + +It has these top-level messages: + Any +*/ +package any + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +type Any struct { + // A URL/resource name whose content describes the type of the + // serialized protocol buffer message. + // + // For URLs which use the scheme `http`, `https`, or no scheme, the + // following restrictions and interpretations apply: + // + // * If no scheme is provided, `https` is assumed. + // * The last segment of the URL's path must represent the fully + // qualified name of the type (as in `path/google.protobuf.Duration`). + // The name should be in a canonical form (e.g., leading "." is + // not accepted). + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl" json:"type_url,omitempty"` + // Must be a valid serialized protocol buffer of the above specified type. + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *Any) Reset() { *m = Any{} } +func (m *Any) String() string { return proto.CompactTextString(m) } +func (*Any) ProtoMessage() {} +func (*Any) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (*Any) XXX_WellKnownType() string { return "Any" } + +func (m *Any) GetTypeUrl() string { + if m != nil { + return m.TypeUrl + } + return "" +} + +func (m *Any) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func init() { + proto.RegisterType((*Any)(nil), "google.protobuf.Any") +} + +func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor0) } + +var fileDescriptor0 = []byte{ + // 185 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, + 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, + 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, + 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, + 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce, + 0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52, + 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, + 0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, + 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce, + 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, + 0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/golang/protobuf/ptypes/any/any.proto new file mode 100644 index 000000000000..c74866762315 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/any/any.proto @@ -0,0 +1,149 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/any"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name whose content describes the type of the + // serialized protocol buffer message. + // + // For URLs which use the scheme `http`, `https`, or no scheme, the + // following restrictions and interpretations apply: + // + // * If no scheme is provided, `https` is assumed. + // * The last segment of the URL's path must represent the fully + // qualified name of the type (as in `path/google.protobuf.Duration`). + // The name should be in a canonical form (e.g., leading "." is + // not accepted). + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/vendor/github.com/golang/protobuf/ptypes/doc.go b/vendor/github.com/golang/protobuf/ptypes/doc.go new file mode 100644 index 000000000000..c0d595da7ab1 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/doc.go @@ -0,0 +1,35 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package ptypes contains code for interacting with well-known types. +*/ +package ptypes diff --git a/vendor/github.com/golang/protobuf/ptypes/duration.go b/vendor/github.com/golang/protobuf/ptypes/duration.go new file mode 100644 index 000000000000..65cb0f8eb5f3 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/duration.go @@ -0,0 +1,102 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements conversions between google.protobuf.Duration +// and time.Duration. + +import ( + "errors" + "fmt" + "time" + + durpb "github.com/golang/protobuf/ptypes/duration" +) + +const ( + // Range of a durpb.Duration in seconds, as specified in + // google/protobuf/duration.proto. This is about 10,000 years in seconds. + maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60) + minSeconds = -maxSeconds +) + +// validateDuration determines whether the durpb.Duration is valid according to the +// definition in google/protobuf/duration.proto. A valid durpb.Duration +// may still be too large to fit into a time.Duration (the range of durpb.Duration +// is about 10,000 years, and the range of time.Duration is about 290). +func validateDuration(d *durpb.Duration) error { + if d == nil { + return errors.New("duration: nil Duration") + } + if d.Seconds < minSeconds || d.Seconds > maxSeconds { + return fmt.Errorf("duration: %v: seconds out of range", d) + } + if d.Nanos <= -1e9 || d.Nanos >= 1e9 { + return fmt.Errorf("duration: %v: nanos out of range", d) + } + // Seconds and Nanos must have the same sign, unless d.Nanos is zero. + if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) { + return fmt.Errorf("duration: %v: seconds and nanos have different signs", d) + } + return nil +} + +// Duration converts a durpb.Duration to a time.Duration. Duration +// returns an error if the durpb.Duration is invalid or is too large to be +// represented in a time.Duration. +func Duration(p *durpb.Duration) (time.Duration, error) { + if err := validateDuration(p); err != nil { + return 0, err + } + d := time.Duration(p.Seconds) * time.Second + if int64(d/time.Second) != p.Seconds { + return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p) + } + if p.Nanos != 0 { + d += time.Duration(p.Nanos) + if (d < 0) != (p.Nanos < 0) { + return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p) + } + } + return d, nil +} + +// DurationProto converts a time.Duration to a durpb.Duration. +func DurationProto(d time.Duration) *durpb.Duration { + nanos := d.Nanoseconds() + secs := nanos / 1e9 + nanos -= secs * 1e9 + return &durpb.Duration{ + Seconds: secs, + Nanos: int32(nanos), + } +} diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go new file mode 100644 index 000000000000..b2410a098ebd --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go @@ -0,0 +1,144 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/duration.proto + +/* +Package duration is a generated protocol buffer package. + +It is generated from these files: + google/protobuf/duration.proto + +It has these top-level messages: + Duration +*/ +package duration + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +// +type Duration struct { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"` + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"` +} + +func (m *Duration) Reset() { *m = Duration{} } +func (m *Duration) String() string { return proto.CompactTextString(m) } +func (*Duration) ProtoMessage() {} +func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (*Duration) XXX_WellKnownType() string { return "Duration" } + +func (m *Duration) GetSeconds() int64 { + if m != nil { + return m.Seconds + } + return 0 +} + +func (m *Duration) GetNanos() int32 { + if m != nil { + return m.Nanos + } + return 0 +} + +func init() { + proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") +} + +func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor0) } + +var fileDescriptor0 = []byte{ + // 190 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, + 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, + 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, + 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, + 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c, + 0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56, + 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, + 0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4, + 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78, + 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63, + 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto new file mode 100644 index 000000000000..975fce41aae0 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto @@ -0,0 +1,117 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/duration"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +// +message Duration { + + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/vendor/github.com/golang/protobuf/ptypes/regen.sh b/vendor/github.com/golang/protobuf/ptypes/regen.sh new file mode 100755 index 000000000000..b50a9414ac24 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/regen.sh @@ -0,0 +1,43 @@ +#!/bin/bash -e +# +# This script fetches and rebuilds the "well-known types" protocol buffers. +# To run this you will need protoc and goprotobuf installed; +# see https://github.com/golang/protobuf for instructions. +# You also need Go and Git installed. + +PKG=github.com/golang/protobuf/ptypes +UPSTREAM=https://github.com/google/protobuf +UPSTREAM_SUBDIR=src/google/protobuf +PROTO_FILES=(any duration empty struct timestamp wrappers) + +function die() { + echo 1>&2 $* + exit 1 +} + +# Sanity check that the right tools are accessible. +for tool in go git protoc protoc-gen-go; do + q=$(which $tool) || die "didn't find $tool" + echo 1>&2 "$tool: $q" +done + +tmpdir=$(mktemp -d -t regen-wkt.XXXXXX) +trap 'rm -rf $tmpdir' EXIT + +echo -n 1>&2 "finding package dir... " +pkgdir=$(go list -f '{{.Dir}}' $PKG) +echo 1>&2 $pkgdir +base=$(echo $pkgdir | sed "s,/$PKG\$,,") +echo 1>&2 "base: $base" +cd "$base" + +echo 1>&2 "fetching latest protos... " +git clone -q $UPSTREAM $tmpdir + +for file in ${PROTO_FILES[@]}; do + echo 1>&2 "* $file" + protoc --go_out=. -I$tmpdir/src $tmpdir/src/google/protobuf/$file.proto || die + cp $tmpdir/src/google/protobuf/$file.proto $PKG/$file +done + +echo 1>&2 "All OK" diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp.go b/vendor/github.com/golang/protobuf/ptypes/timestamp.go new file mode 100644 index 000000000000..47f10dbc2ccc --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/timestamp.go @@ -0,0 +1,134 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package ptypes + +// This file implements operations on google.protobuf.Timestamp. + +import ( + "errors" + "fmt" + "time" + + tspb "github.com/golang/protobuf/ptypes/timestamp" +) + +const ( + // Seconds field of the earliest valid Timestamp. + // This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix(). + minValidSeconds = -62135596800 + // Seconds field just after the latest valid Timestamp. + // This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix(). + maxValidSeconds = 253402300800 +) + +// validateTimestamp determines whether a Timestamp is valid. +// A valid timestamp represents a time in the range +// [0001-01-01, 10000-01-01) and has a Nanos field +// in the range [0, 1e9). +// +// If the Timestamp is valid, validateTimestamp returns nil. +// Otherwise, it returns an error that describes +// the problem. +// +// Every valid Timestamp can be represented by a time.Time, but the converse is not true. +func validateTimestamp(ts *tspb.Timestamp) error { + if ts == nil { + return errors.New("timestamp: nil Timestamp") + } + if ts.Seconds < minValidSeconds { + return fmt.Errorf("timestamp: %v before 0001-01-01", ts) + } + if ts.Seconds >= maxValidSeconds { + return fmt.Errorf("timestamp: %v after 10000-01-01", ts) + } + if ts.Nanos < 0 || ts.Nanos >= 1e9 { + return fmt.Errorf("timestamp: %v: nanos not in range [0, 1e9)", ts) + } + return nil +} + +// Timestamp converts a google.protobuf.Timestamp proto to a time.Time. +// It returns an error if the argument is invalid. +// +// Unlike most Go functions, if Timestamp returns an error, the first return value +// is not the zero time.Time. Instead, it is the value obtained from the +// time.Unix function when passed the contents of the Timestamp, in the UTC +// locale. This may or may not be a meaningful time; many invalid Timestamps +// do map to valid time.Times. +// +// A nil Timestamp returns an error. The first return value in that case is +// undefined. +func Timestamp(ts *tspb.Timestamp) (time.Time, error) { + // Don't return the zero value on error, because corresponds to a valid + // timestamp. Instead return whatever time.Unix gives us. + var t time.Time + if ts == nil { + t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp + } else { + t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC() + } + return t, validateTimestamp(ts) +} + +// TimestampNow returns a google.protobuf.Timestamp for the current time. +func TimestampNow() *tspb.Timestamp { + ts, err := TimestampProto(time.Now()) + if err != nil { + panic("ptypes: time.Now() out of Timestamp range") + } + return ts +} + +// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto. +// It returns an error if the resulting Timestamp is invalid. +func TimestampProto(t time.Time) (*tspb.Timestamp, error) { + seconds := t.Unix() + nanos := int32(t.Sub(time.Unix(seconds, 0))) + ts := &tspb.Timestamp{ + Seconds: seconds, + Nanos: nanos, + } + if err := validateTimestamp(ts); err != nil { + return nil, err + } + return ts, nil +} + +// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid +// Timestamps, it returns an error message in parentheses. +func TimestampString(ts *tspb.Timestamp) string { + t, err := Timestamp(ts) + if err != nil { + return fmt.Sprintf("(%v)", err) + } + return t.Format(time.RFC3339Nano) +} diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go new file mode 100644 index 000000000000..e23e4a25dafc --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go @@ -0,0 +1,160 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/timestamp.proto + +/* +Package timestamp is a generated protocol buffer package. + +It is generated from these files: + google/protobuf/timestamp.proto + +It has these top-level messages: + Timestamp +*/ +package timestamp + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required, though only UTC (as indicated by "Z") is presently supported. +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one +// can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) +// to obtain a formatter capable of generating timestamps in this format. +// +// +type Timestamp struct { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"` + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"` +} + +func (m *Timestamp) Reset() { *m = Timestamp{} } +func (m *Timestamp) String() string { return proto.CompactTextString(m) } +func (*Timestamp) ProtoMessage() {} +func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" } + +func (m *Timestamp) GetSeconds() int64 { + if m != nil { + return m.Seconds + } + return 0 +} + +func (m *Timestamp) GetNanos() int32 { + if m != nil { + return m.Nanos + } + return 0 +} + +func init() { + proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp") +} + +func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor0) } + +var fileDescriptor0 = []byte{ + // 191 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, + 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, + 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, + 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, + 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70, + 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51, + 0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89, + 0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71, + 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a, + 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43, + 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto new file mode 100644 index 000000000000..b7cbd17502f2 --- /dev/null +++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto @@ -0,0 +1,133 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/timestamp"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required, though only UTC (as indicated by "Z") is presently supported. +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one +// can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) +// to obtain a formatter capable of generating timestamps in this format. +// +// +message Timestamp { + + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/vendor/github.com/google/uuid/CONTRIBUTING.md b/vendor/github.com/google/uuid/CONTRIBUTING.md new file mode 100644 index 000000000000..04fdf09f136b --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTING.md @@ -0,0 +1,10 @@ +# How to contribute + +We definitely welcome patches and contribution to this project! + +### Legal requirements + +In order to protect both you and ourselves, you will need to sign the +[Contributor License Agreement](https://cla.developers.google.com/clas). + +You may have already signed it for other Google projects. diff --git a/vendor/github.com/google/uuid/CONTRIBUTORS b/vendor/github.com/google/uuid/CONTRIBUTORS new file mode 100644 index 000000000000..b4bb97f6bcd0 --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTORS @@ -0,0 +1,9 @@ +Paul Borman +bmatsuo +shawnps +theory +jboverfelt +dsymonds +cd1 +wallclockbuilder +dansouza diff --git a/vendor/github.com/google/uuid/LICENSE b/vendor/github.com/google/uuid/LICENSE new file mode 100644 index 000000000000..5dc68268d900 --- /dev/null +++ b/vendor/github.com/google/uuid/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009,2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/google/uuid/README.md b/vendor/github.com/google/uuid/README.md new file mode 100644 index 000000000000..21205eaeb59d --- /dev/null +++ b/vendor/github.com/google/uuid/README.md @@ -0,0 +1,23 @@ +**This package is currently in development and the API may not be stable.** + +The API will become stable with v1. + +# uuid ![build status](https://travis-ci.org/google/uuid.svg?branch=master) +The uuid package generates and inspects UUIDs based on +[RFC 4122](http://tools.ietf.org/html/rfc4122) +and DCE 1.1: Authentication and Security Services. + +This package is based on the github.com/pborman/uuid package (previously named +code.google.com/p/go-uuid). It differs from these earlier packages in that +a UUID is a 16 byte array rather than a byte slice. One loss due to this +change is the ability to represent an invalid UUID (vs a NIL UUID). + +###### Install +`go get github.com/google/uuid` + +###### Documentation +[![GoDoc](https://godoc.org/github.com/google/uuid?status.svg)](http://godoc.org/github.com/google/uuid) + +Full `go doc` style documentation for the package can be viewed online without +installing this package by using the GoDoc site here: +http://godoc.org/github.com/google/uuid diff --git a/vendor/github.com/google/uuid/dce.go b/vendor/github.com/google/uuid/dce.go new file mode 100644 index 000000000000..fa820b9d3092 --- /dev/null +++ b/vendor/github.com/google/uuid/dce.go @@ -0,0 +1,80 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "fmt" + "os" +) + +// A Domain represents a Version 2 domain +type Domain byte + +// Domain constants for DCE Security (Version 2) UUIDs. +const ( + Person = Domain(0) + Group = Domain(1) + Org = Domain(2) +) + +// NewDCESecurity returns a DCE Security (Version 2) UUID. +// +// The domain should be one of Person, Group or Org. +// On a POSIX system the id should be the users UID for the Person +// domain and the users GID for the Group. The meaning of id for +// the domain Org or on non-POSIX systems is site defined. +// +// For a given domain/id pair the same token may be returned for up to +// 7 minutes and 10 seconds. +func NewDCESecurity(domain Domain, id uint32) (UUID, error) { + uuid, err := NewUUID() + if err == nil { + uuid[6] = (uuid[6] & 0x0f) | 0x20 // Version 2 + uuid[9] = byte(domain) + binary.BigEndian.PutUint32(uuid[0:], id) + } + return uuid, err +} + +// NewDCEPerson returns a DCE Security (Version 2) UUID in the person +// domain with the id returned by os.Getuid. +// +// NewDCESecurity(Person, uint32(os.Getuid())) +func NewDCEPerson() (UUID, error) { + return NewDCESecurity(Person, uint32(os.Getuid())) +} + +// NewDCEGroup returns a DCE Security (Version 2) UUID in the group +// domain with the id returned by os.Getgid. +// +// NewDCESecurity(Group, uint32(os.Getgid())) +func NewDCEGroup() (UUID, error) { + return NewDCESecurity(Group, uint32(os.Getgid())) +} + +// Domain returns the domain for a Version 2 UUID. Domains are only defined +// for Version 2 UUIDs. +func (uuid UUID) Domain() Domain { + return Domain(uuid[9]) +} + +// ID returns the id for a Version 2 UUID. IDs are only defined for Version 2 +// UUIDs. +func (uuid UUID) ID() uint32 { + return binary.BigEndian.Uint32(uuid[0:4]) +} + +func (d Domain) String() string { + switch d { + case Person: + return "Person" + case Group: + return "Group" + case Org: + return "Org" + } + return fmt.Sprintf("Domain%d", int(d)) +} diff --git a/vendor/github.com/google/uuid/doc.go b/vendor/github.com/google/uuid/doc.go new file mode 100644 index 000000000000..5b8a4b9af8ce --- /dev/null +++ b/vendor/github.com/google/uuid/doc.go @@ -0,0 +1,12 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package uuid generates and inspects UUIDs. +// +// UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security +// Services. +// +// A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to +// maps or compared directly. +package uuid diff --git a/vendor/github.com/google/uuid/hash.go b/vendor/github.com/google/uuid/hash.go new file mode 100644 index 000000000000..4fc5a77df58c --- /dev/null +++ b/vendor/github.com/google/uuid/hash.go @@ -0,0 +1,53 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "crypto/md5" + "crypto/sha1" + "hash" +) + +// Well known namespace IDs and UUIDs +var ( + NameSpaceDNS = Must(Parse("6ba7b810-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceURL = Must(Parse("6ba7b811-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceOID = Must(Parse("6ba7b812-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceX500 = Must(Parse("6ba7b814-9dad-11d1-80b4-00c04fd430c8")) + Nil UUID // empty UUID, all zeros +) + +// NewHash returns a new UUID derived from the hash of space concatenated with +// data generated by h. The hash should be at least 16 byte in length. The +// first 16 bytes of the hash are used to form the UUID. The version of the +// UUID will be the lower 4 bits of version. NewHash is used to implement +// NewMD5 and NewSHA1. +func NewHash(h hash.Hash, space UUID, data []byte, version int) UUID { + h.Reset() + h.Write(space[:]) + h.Write([]byte(data)) + s := h.Sum(nil) + var uuid UUID + copy(uuid[:], s) + uuid[6] = (uuid[6] & 0x0f) | uint8((version&0xf)<<4) + uuid[8] = (uuid[8] & 0x3f) | 0x80 // RFC 4122 variant + return uuid +} + +// NewMD5 returns a new MD5 (Version 3) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(md5.New(), space, data, 3) +func NewMD5(space UUID, data []byte) UUID { + return NewHash(md5.New(), space, data, 3) +} + +// NewSHA1 returns a new SHA1 (Version 5) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(sha1.New(), space, data, 5) +func NewSHA1(space UUID, data []byte) UUID { + return NewHash(sha1.New(), space, data, 5) +} diff --git a/vendor/github.com/google/uuid/marshal.go b/vendor/github.com/google/uuid/marshal.go new file mode 100644 index 000000000000..84bbc5880bbb --- /dev/null +++ b/vendor/github.com/google/uuid/marshal.go @@ -0,0 +1,39 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "fmt" + +// MarshalText implements encoding.TextMarshaler. +func (uuid UUID) MarshalText() ([]byte, error) { + var js [36]byte + encodeHex(js[:], uuid) + return js[:], nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (uuid *UUID) UnmarshalText(data []byte) error { + // See comment in ParseBytes why we do this. + // id, err := ParseBytes(data) + id, err := ParseBytes(data) + if err == nil { + *uuid = id + } + return err +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (uuid UUID) MarshalBinary() ([]byte, error) { + return uuid[:], nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (uuid *UUID) UnmarshalBinary(data []byte) error { + if len(data) != 16 { + return fmt.Errorf("invalid UUID (got %d bytes)", len(data)) + } + copy(uuid[:], data) + return nil +} diff --git a/vendor/github.com/google/uuid/node.go b/vendor/github.com/google/uuid/node.go new file mode 100644 index 000000000000..5f0156a2e662 --- /dev/null +++ b/vendor/github.com/google/uuid/node.go @@ -0,0 +1,103 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "net" + "sync" +) + +var ( + nodeMu sync.Mutex + interfaces []net.Interface // cached list of interfaces + ifname string // name of interface being used + nodeID [6]byte // hardware for version 1 UUIDs + zeroID [6]byte // nodeID with only 0's +) + +// NodeInterface returns the name of the interface from which the NodeID was +// derived. The interface "user" is returned if the NodeID was set by +// SetNodeID. +func NodeInterface() string { + defer nodeMu.Unlock() + nodeMu.Lock() + return ifname +} + +// SetNodeInterface selects the hardware address to be used for Version 1 UUIDs. +// If name is "" then the first usable interface found will be used or a random +// Node ID will be generated. If a named interface cannot be found then false +// is returned. +// +// SetNodeInterface never fails when name is "". +func SetNodeInterface(name string) bool { + defer nodeMu.Unlock() + nodeMu.Lock() + return setNodeInterface(name) +} + +func setNodeInterface(name string) bool { + if interfaces == nil { + var err error + interfaces, err = net.Interfaces() + if err != nil && name != "" { + return false + } + } + + for _, ifs := range interfaces { + if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) { + copy(nodeID[:], ifs.HardwareAddr) + ifname = ifs.Name + return true + } + } + + // We found no interfaces with a valid hardware address. If name + // does not specify a specific interface generate a random Node ID + // (section 4.1.6) + if name == "" { + randomBits(nodeID[:]) + return true + } + return false +} + +// NodeID returns a slice of a copy of the current Node ID, setting the Node ID +// if not already set. +func NodeID() []byte { + defer nodeMu.Unlock() + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + nid := nodeID + return nid[:] +} + +// SetNodeID sets the Node ID to be used for Version 1 UUIDs. The first 6 bytes +// of id are used. If id is less than 6 bytes then false is returned and the +// Node ID is not set. +func SetNodeID(id []byte) bool { + if len(id) < 6 { + return false + } + defer nodeMu.Unlock() + nodeMu.Lock() + copy(nodeID[:], id) + ifname = "user" + return true +} + +// NodeID returns the 6 byte node id encoded in uuid. It returns nil if uuid is +// not valid. The NodeID is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) NodeID() []byte { + if len(uuid) != 16 { + return nil + } + var node [6]byte + copy(node[:], uuid[10:]) + return node[:] +} diff --git a/vendor/github.com/google/uuid/sql.go b/vendor/github.com/google/uuid/sql.go new file mode 100644 index 000000000000..f326b54db37a --- /dev/null +++ b/vendor/github.com/google/uuid/sql.go @@ -0,0 +1,59 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "database/sql/driver" + "fmt" +) + +// Scan implements sql.Scanner so UUIDs can be read from databases transparently +// Currently, database types that map to string and []byte are supported. Please +// consult database-specific driver documentation for matching types. +func (uuid *UUID) Scan(src interface{}) error { + switch src := src.(type) { + case nil: + return nil + + case string: + // if an empty UUID comes from a table, we return a null UUID + if src == "" { + return nil + } + + // see Parse for required string format + u, err := Parse(src) + if err != nil { + return fmt.Errorf("Scan: %v", err) + } + + *uuid = u + + case []byte: + // if an empty UUID comes from a table, we return a null UUID + if len(src) == 0 { + return nil + } + + // assumes a simple slice of bytes if 16 bytes + // otherwise attempts to parse + if len(src) != 16 { + return uuid.Scan(string(src)) + } + copy((*uuid)[:], src) + + default: + return fmt.Errorf("Scan: unable to scan type %T into UUID", src) + } + + return nil +} + +// Value implements sql.Valuer so that UUIDs can be written to databases +// transparently. Currently, UUIDs map to strings. Please consult +// database-specific driver documentation for matching types. +func (uuid UUID) Value() (driver.Value, error) { + return uuid.String(), nil +} diff --git a/vendor/github.com/google/uuid/time.go b/vendor/github.com/google/uuid/time.go new file mode 100644 index 000000000000..fd7fe0ac46a1 --- /dev/null +++ b/vendor/github.com/google/uuid/time.go @@ -0,0 +1,123 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "sync" + "time" +) + +// A Time represents a time as the number of 100's of nanoseconds since 15 Oct +// 1582. +type Time int64 + +const ( + lillian = 2299160 // Julian day of 15 Oct 1582 + unix = 2440587 // Julian day of 1 Jan 1970 + epoch = unix - lillian // Days between epochs + g1582 = epoch * 86400 // seconds between epochs + g1582ns100 = g1582 * 10000000 // 100s of a nanoseconds between epochs +) + +var ( + timeMu sync.Mutex + lasttime uint64 // last time we returned + clockSeq uint16 // clock sequence for this run + + timeNow = time.Now // for testing +) + +// UnixTime converts t the number of seconds and nanoseconds using the Unix +// epoch of 1 Jan 1970. +func (t Time) UnixTime() (sec, nsec int64) { + sec = int64(t - g1582ns100) + nsec = (sec % 10000000) * 100 + sec /= 10000000 + return sec, nsec +} + +// GetTime returns the current Time (100s of nanoseconds since 15 Oct 1582) and +// clock sequence as well as adjusting the clock sequence as needed. An error +// is returned if the current time cannot be determined. +func GetTime() (Time, uint16, error) { + defer timeMu.Unlock() + timeMu.Lock() + return getTime() +} + +func getTime() (Time, uint16, error) { + t := timeNow() + + // If we don't have a clock sequence already, set one. + if clockSeq == 0 { + setClockSequence(-1) + } + now := uint64(t.UnixNano()/100) + g1582ns100 + + // If time has gone backwards with this clock sequence then we + // increment the clock sequence + if now <= lasttime { + clockSeq = ((clockSeq + 1) & 0x3fff) | 0x8000 + } + lasttime = now + return Time(now), clockSeq, nil +} + +// ClockSequence returns the current clock sequence, generating one if not +// already set. The clock sequence is only used for Version 1 UUIDs. +// +// The uuid package does not use global static storage for the clock sequence or +// the last time a UUID was generated. Unless SetClockSequence is used, a new +// random clock sequence is generated the first time a clock sequence is +// requested by ClockSequence, GetTime, or NewUUID. (section 4.2.1.1) +func ClockSequence() int { + defer timeMu.Unlock() + timeMu.Lock() + return clockSequence() +} + +func clockSequence() int { + if clockSeq == 0 { + setClockSequence(-1) + } + return int(clockSeq & 0x3fff) +} + +// SetClockSeq sets the clock sequence to the lower 14 bits of seq. Setting to +// -1 causes a new sequence to be generated. +func SetClockSequence(seq int) { + defer timeMu.Unlock() + timeMu.Lock() + setClockSequence(seq) +} + +func setClockSequence(seq int) { + if seq == -1 { + var b [2]byte + randomBits(b[:]) // clock sequence + seq = int(b[0])<<8 | int(b[1]) + } + old_seq := clockSeq + clockSeq = uint16(seq&0x3fff) | 0x8000 // Set our variant + if old_seq != clockSeq { + lasttime = 0 + } +} + +// Time returns the time in 100s of nanoseconds since 15 Oct 1582 encoded in +// uuid. The time is only defined for version 1 and 2 UUIDs. +func (uuid UUID) Time() Time { + time := int64(binary.BigEndian.Uint32(uuid[0:4])) + time |= int64(binary.BigEndian.Uint16(uuid[4:6])) << 32 + time |= int64(binary.BigEndian.Uint16(uuid[6:8])&0xfff) << 48 + return Time(time) +} + +// ClockSequence returns the clock sequence encoded in uuid. +// The clock sequence is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) ClockSequence() int { + return int(binary.BigEndian.Uint16(uuid[8:10])) & 0x3fff +} diff --git a/vendor/github.com/google/uuid/util.go b/vendor/github.com/google/uuid/util.go new file mode 100644 index 000000000000..5ea6c737806e --- /dev/null +++ b/vendor/github.com/google/uuid/util.go @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "io" +) + +// randomBits completely fills slice b with random data. +func randomBits(b []byte) { + if _, err := io.ReadFull(rander, b); err != nil { + panic(err.Error()) // rand should never fail + } +} + +// xvalues returns the value of a byte as a hexadecimal digit or 255. +var xvalues = [256]byte{ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +} + +// xtob converts hex characters x1 and x2 into a byte. +func xtob(x1, x2 byte) (byte, bool) { + b1 := xvalues[x1] + b2 := xvalues[x2] + return (b1 << 4) | b2, b1 != 255 && b2 != 255 +} diff --git a/vendor/github.com/google/uuid/uuid.go b/vendor/github.com/google/uuid/uuid.go new file mode 100644 index 000000000000..23161a86c086 --- /dev/null +++ b/vendor/github.com/google/uuid/uuid.go @@ -0,0 +1,191 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "bytes" + "crypto/rand" + "encoding/hex" + "errors" + "fmt" + "io" + "strings" +) + +// A UUID is a 128 bit (16 byte) Universal Unique IDentifier as defined in RFC +// 4122. +type UUID [16]byte + +// A Version represents a UUID's version. +type Version byte + +// A Variant represents a UUID's variant. +type Variant byte + +// Constants returned by Variant. +const ( + Invalid = Variant(iota) // Invalid UUID + RFC4122 // The variant specified in RFC4122 + Reserved // Reserved, NCS backward compatibility. + Microsoft // Reserved, Microsoft Corporation backward compatibility. + Future // Reserved for future definition. +) + +var rander = rand.Reader // random function + +// Parse decodes s into a UUID or returns an error. Both the UUID form of +// xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are decoded. +func Parse(s string) (UUID, error) { + var uuid UUID + if len(s) != 36 { + if len(s) != 36+9 { + return uuid, fmt.Errorf("invalid UUID length: %d", len(s)) + } + if strings.ToLower(s[:9]) != "urn:uuid:" { + return uuid, fmt.Errorf("invalid urn prefix: %q", s[:9]) + } + s = s[9:] + } + if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + if v, ok := xtob(s[x], s[x+1]); !ok { + return uuid, errors.New("invalid UUID format") + } else { + uuid[i] = v + } + } + return uuid, nil +} + +// ParseBytes is like Parse, except it parses a byte slice instead of a string. +func ParseBytes(b []byte) (UUID, error) { + var uuid UUID + if len(b) != 36 { + if len(b) != 36+9 { + return uuid, fmt.Errorf("invalid UUID length: %d", len(b)) + } + if !bytes.Equal(bytes.ToLower(b[:9]), []byte("urn:uuid:")) { + return uuid, fmt.Errorf("invalid urn prefix: %q", b[:9]) + } + b = b[9:] + } + if b[8] != '-' || b[13] != '-' || b[18] != '-' || b[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + if v, ok := xtob(b[x], b[x+1]); !ok { + return uuid, errors.New("invalid UUID format") + } else { + uuid[i] = v + } + } + return uuid, nil +} + +// Must returns uuid if err is nil and panics otherwise. +func Must(uuid UUID, err error) UUID { + if err != nil { + panic(err) + } + return uuid +} + +// String returns the string form of uuid, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx +// , or "" if uuid is invalid. +func (uuid UUID) String() string { + var buf [36]byte + encodeHex(buf[:], uuid) + return string(buf[:]) +} + +// URN returns the RFC 2141 URN form of uuid, +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, or "" if uuid is invalid. +func (uuid UUID) URN() string { + var buf [36 + 9]byte + copy(buf[:], "urn:uuid:") + encodeHex(buf[9:], uuid) + return string(buf[:]) +} + +func encodeHex(dst []byte, uuid UUID) { + hex.Encode(dst[:], uuid[:4]) + dst[8] = '-' + hex.Encode(dst[9:13], uuid[4:6]) + dst[13] = '-' + hex.Encode(dst[14:18], uuid[6:8]) + dst[18] = '-' + hex.Encode(dst[19:23], uuid[8:10]) + dst[23] = '-' + hex.Encode(dst[24:], uuid[10:]) +} + +// Variant returns the variant encoded in uuid. +func (uuid UUID) Variant() Variant { + switch { + case (uuid[8] & 0xc0) == 0x80: + return RFC4122 + case (uuid[8] & 0xe0) == 0xc0: + return Microsoft + case (uuid[8] & 0xe0) == 0xe0: + return Future + default: + return Reserved + } +} + +// Version returns the version of uuid. +func (uuid UUID) Version() Version { + return Version(uuid[6] >> 4) +} + +func (v Version) String() string { + if v > 15 { + return fmt.Sprintf("BAD_VERSION_%d", v) + } + return fmt.Sprintf("VERSION_%d", v) +} + +func (v Variant) String() string { + switch v { + case RFC4122: + return "RFC4122" + case Reserved: + return "Reserved" + case Microsoft: + return "Microsoft" + case Future: + return "Future" + case Invalid: + return "Invalid" + } + return fmt.Sprintf("BadVariant%d", int(v)) +} + +// SetRand sets the random number generator to r, which implements io.Reader. +// If r.Read returns an error when the package requests random data then +// a panic will be issued. +// +// Calling SetRand with nil sets the random number generator to the default +// generator. +func SetRand(r io.Reader) { + if r == nil { + rander = rand.Reader + return + } + rander = r +} diff --git a/vendor/github.com/google/uuid/version1.go b/vendor/github.com/google/uuid/version1.go new file mode 100644 index 000000000000..199a1ac65403 --- /dev/null +++ b/vendor/github.com/google/uuid/version1.go @@ -0,0 +1,44 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" +) + +// NewUUID returns a Version 1 UUID based on the current NodeID and clock +// sequence, and the current time. If the NodeID has not been set by SetNodeID +// or SetNodeInterface then it will be set automatically. If the NodeID cannot +// be set NewUUID returns nil. If clock sequence has not been set by +// SetClockSequence then it will be set automatically. If GetTime fails to +// return the current NewUUID returns nil and an error. +// +// In most cases, New should be used. +func NewUUID() (UUID, error) { + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + nodeMu.Unlock() + + var uuid UUID + now, seq, err := GetTime() + if err != nil { + return uuid, err + } + + timeLow := uint32(now & 0xffffffff) + timeMid := uint16((now >> 32) & 0xffff) + timeHi := uint16((now >> 48) & 0x0fff) + timeHi |= 0x1000 // Version 1 + + binary.BigEndian.PutUint32(uuid[0:], timeLow) + binary.BigEndian.PutUint16(uuid[4:], timeMid) + binary.BigEndian.PutUint16(uuid[6:], timeHi) + binary.BigEndian.PutUint16(uuid[8:], seq) + copy(uuid[10:], nodeID[:]) + + return uuid, nil +} diff --git a/vendor/github.com/google/uuid/version4.go b/vendor/github.com/google/uuid/version4.go new file mode 100644 index 000000000000..74c4e6c9f5a0 --- /dev/null +++ b/vendor/github.com/google/uuid/version4.go @@ -0,0 +1,38 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "io" + +// New creates a new random UUID or panics. New is equivalent to +// the expression +// +// uuid.Must(uuid.NewRandom()) +func New() UUID { + return Must(NewRandom()) +} + +// NewRandom returns a Random (Version 4) UUID or panics. +// +// The strength of the UUIDs is based on the strength of the crypto/rand +// package. +// +// A note about uniqueness derived from the UUID Wikipedia entry: +// +// Randomly generated UUIDs have 122 random bits. One's annual risk of being +// hit by a meteorite is estimated to be one chance in 17 billion, that +// means the probability is about 0.00000000006 (6 × 10−11), +// equivalent to the odds of creating a few tens of trillions of UUIDs in a +// year and having one duplicate. +func NewRandom() (UUID, error) { + var uuid UUID + _, err := io.ReadFull(rander, uuid[:]) + if err != nil { + return Nil, err + } + uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 + uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 + return uuid, nil +} diff --git a/vendor/github.com/hashicorp/go-hclog/LICENSE b/vendor/github.com/hashicorp/go-hclog/LICENSE new file mode 100644 index 000000000000..abaf1e45f2a9 --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 HashiCorp + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/hashicorp/go-hclog/README.md b/vendor/github.com/hashicorp/go-hclog/README.md new file mode 100644 index 000000000000..614342b2d87d --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/README.md @@ -0,0 +1,123 @@ +# go-hclog + +[![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)][godocs] + +[godocs]: https://godoc.org/github.com/hashicorp/go-hclog + +`go-hclog` is a package for Go that provides a simple key/value logging +interface for use in development and production environments. + +It provides logging levels that provide decreased output based upon the +desired amount of output, unlike the standard library `log` package. + +It does not provide `Printf` style logging, only key/value logging that is +exposed as arguments to the logging functions for simplicity. + +It provides a human readable output mode for use in development as well as +JSON output mode for production. + +## Stability Note + +While this library is fully open source and HashiCorp will be maintaining it +(since we are and will be making extensive use of it), the API and output +format is subject to minor changes as we fully bake and vet it in our projects. +This notice will be removed once it's fully integrated into our major projects +and no further changes are anticipated. + +## Installation and Docs + +Install using `go get github.com/hashicorp/go-hclog`. + +Full documentation is available at +http://godoc.org/github.com/hashicorp/go-hclog + +## Usage + +### Use the global logger + +```go +hclog.Default().Info("hello world") +``` + +```text +2017-07-05T16:15:55.167-0700 [INFO ] hello world +``` + +(Note timestamps are removed in future examples for brevity.) + +### Create a new logger + +```go +appLogger := hclog.New(&hclog.LoggerOptions{ + Name: "my-app", + Level: hclog.LevelFromString("DEBUG"), +}) +``` + +### Emit an Info level message with 2 key/value pairs + +```go +input := "5.5" +_, err := strconv.ParseInt(input, 10, 32) +if err != nil { + appLogger.Info("Invalid input for ParseInt", "input", input, "error", err) +} +``` + +```text +... [INFO ] my-app: Invalid input for ParseInt: input=5.5 error="strconv.ParseInt: parsing "5.5": invalid syntax" +``` + +### Create a new Logger for a major subsystem + +```go +subsystemLogger := appLogger.Named("transport") +subsystemLogger.Info("we are transporting something") +``` + +```text +... [INFO ] my-app.transport: we are transporting something +``` + +Notice that logs emitted by `subsystemLogger` contain `my-app.transport`, +reflecting both the application and subsystem names. + +### Create a new Logger with fixed key/value pairs + +Using `With()` will include a specific key-value pair in all messages emitted +by that logger. + +```go +requestID := "5fb446b6-6eba-821d-df1b-cd7501b6a363" +requestLogger := subsystemLogger.With("request", requestID) +requestLogger.Info("we are transporting a request") +``` + +```text +... [INFO ] my-app.transport: we are transporting a request: request=5fb446b6-6eba-821d-df1b-cd7501b6a363 +``` + +This allows sub Loggers to be context specific without having to thread that +into all the callers. + +### Use this with code that uses the standard library logger + +If you want to use the standard library's `log.Logger` interface you can wrap +`hclog.Logger` by calling the `StandardLogger()` method. This allows you to use +it with the familiar `Println()`, `Printf()`, etc. For example: + +```go +stdLogger := appLogger.StandardLogger(&hclog.StandardLoggerOptions{ + InferLevels: true, +}) +// Printf() is provided by stdlib log.Logger interface, not hclog.Logger +stdLogger.Printf("[DEBUG] %+v", stdLogger) +``` + +```text +... [DEBUG] my-app: &{mu:{state:0 sema:0} prefix: flag:0 out:0xc42000a0a0 buf:[]} +``` + +Notice that if `appLogger` is initialized with the `INFO` log level _and_ you +specify `InferLevels: true`, you will not see any output here. You must change +`appLogger` to `DEBUG` to see output. See the docs for more information. diff --git a/vendor/github.com/hashicorp/go-hclog/global.go b/vendor/github.com/hashicorp/go-hclog/global.go new file mode 100644 index 000000000000..55ce4396034e --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/global.go @@ -0,0 +1,34 @@ +package hclog + +import ( + "sync" +) + +var ( + protect sync.Once + def Logger + + // The options used to create the Default logger. These are + // read only when the Default logger is created, so set them + // as soon as the process starts. + DefaultOptions = &LoggerOptions{ + Level: DefaultLevel, + Output: DefaultOutput, + } +) + +// Return a logger that is held globally. This can be a good starting +// place, and then you can use .With() and .Name() to create sub-loggers +// to be used in more specific contexts. +func Default() Logger { + protect.Do(func() { + def = New(DefaultOptions) + }) + + return def +} + +// A short alias for Default() +func L() Logger { + return Default() +} diff --git a/vendor/github.com/hashicorp/go-hclog/int.go b/vendor/github.com/hashicorp/go-hclog/int.go new file mode 100644 index 000000000000..c8609c357578 --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/int.go @@ -0,0 +1,397 @@ +package hclog + +import ( + "bufio" + "encoding" + "encoding/json" + "fmt" + "log" + "os" + "runtime" + "strconv" + "strings" + "sync" + "time" +) + +var ( + _levelToBracket = map[Level]string{ + Debug: "[DEBUG]", + Trace: "[TRACE]", + Info: "[INFO ]", + Warn: "[WARN ]", + Error: "[ERROR]", + } +) + +// Given the options (nil for defaults), create a new Logger +func New(opts *LoggerOptions) Logger { + if opts == nil { + opts = &LoggerOptions{} + } + + output := opts.Output + if output == nil { + output = os.Stderr + } + + level := opts.Level + if level == NoLevel { + level = DefaultLevel + } + + return &intLogger{ + m: new(sync.Mutex), + json: opts.JSONFormat, + caller: opts.IncludeLocation, + name: opts.Name, + w: bufio.NewWriter(output), + level: level, + } +} + +// The internal logger implementation. Internal in that it is defined entirely +// by this package. +type intLogger struct { + json bool + caller bool + name string + + // this is a pointer so that it's shared by any derived loggers, since + // those derived loggers share the bufio.Writer as well. + m *sync.Mutex + w *bufio.Writer + level Level + + implied []interface{} +} + +// Make sure that intLogger is a Logger +var _ Logger = &intLogger{} + +// The time format to use for logging. This is a version of RFC3339 that +// contains millisecond precision +const TimeFormat = "2006-01-02T15:04:05.000Z0700" + +// Log a message and a set of key/value pairs if the given level is at +// or more severe that the threshold configured in the Logger. +func (z *intLogger) Log(level Level, msg string, args ...interface{}) { + if level < z.level { + return + } + + t := time.Now() + + z.m.Lock() + defer z.m.Unlock() + + if z.json { + z.logJson(t, level, msg, args...) + } else { + z.log(t, level, msg, args...) + } + + z.w.Flush() +} + +// Cleanup a path by returning the last 2 segments of the path only. +func trimCallerPath(path string) string { + // lovely borrowed from zap + // nb. To make sure we trim the path correctly on Windows too, we + // counter-intuitively need to use '/' and *not* os.PathSeparator here, + // because the path given originates from Go stdlib, specifically + // runtime.Caller() which (as of Mar/17) returns forward slashes even on + // Windows. + // + // See https://github.com/golang/go/issues/3335 + // and https://github.com/golang/go/issues/18151 + // + // for discussion on the issue on Go side. + // + + // Find the last separator. + // + idx := strings.LastIndexByte(path, '/') + if idx == -1 { + return path + } + + // Find the penultimate separator. + idx = strings.LastIndexByte(path[:idx], '/') + if idx == -1 { + return path + } + + return path[idx+1:] +} + +// Non-JSON logging format function +func (z *intLogger) log(t time.Time, level Level, msg string, args ...interface{}) { + z.w.WriteString(t.Format(TimeFormat)) + z.w.WriteByte(' ') + + s, ok := _levelToBracket[level] + if ok { + z.w.WriteString(s) + } else { + z.w.WriteString("[UNKN ]") + } + + if z.caller { + if _, file, line, ok := runtime.Caller(3); ok { + z.w.WriteByte(' ') + z.w.WriteString(trimCallerPath(file)) + z.w.WriteByte(':') + z.w.WriteString(strconv.Itoa(line)) + z.w.WriteByte(':') + } + } + + z.w.WriteByte(' ') + + if z.name != "" { + z.w.WriteString(z.name) + z.w.WriteString(": ") + } + + z.w.WriteString(msg) + + args = append(z.implied, args...) + + var stacktrace CapturedStacktrace + + if args != nil && len(args) > 0 { + if len(args)%2 != 0 { + cs, ok := args[len(args)-1].(CapturedStacktrace) + if ok { + args = args[:len(args)-1] + stacktrace = cs + } else { + args = append(args, "") + } + } + + z.w.WriteByte(':') + + FOR: + for i := 0; i < len(args); i = i + 2 { + var val string + + switch st := args[i+1].(type) { + case string: + val = st + case int: + val = strconv.FormatInt(int64(st), 10) + case int64: + val = strconv.FormatInt(int64(st), 10) + case int32: + val = strconv.FormatInt(int64(st), 10) + case int16: + val = strconv.FormatInt(int64(st), 10) + case int8: + val = strconv.FormatInt(int64(st), 10) + case uint: + val = strconv.FormatUint(uint64(st), 10) + case uint64: + val = strconv.FormatUint(uint64(st), 10) + case uint32: + val = strconv.FormatUint(uint64(st), 10) + case uint16: + val = strconv.FormatUint(uint64(st), 10) + case uint8: + val = strconv.FormatUint(uint64(st), 10) + case CapturedStacktrace: + stacktrace = st + continue FOR + default: + val = fmt.Sprintf("%v", st) + } + + z.w.WriteByte(' ') + z.w.WriteString(args[i].(string)) + z.w.WriteByte('=') + + if strings.ContainsAny(val, " \t\n\r") { + z.w.WriteByte('"') + z.w.WriteString(val) + z.w.WriteByte('"') + } else { + z.w.WriteString(val) + } + } + } + + z.w.WriteString("\n") + + if stacktrace != "" { + z.w.WriteString(string(stacktrace)) + } +} + +// JSON logging function +func (z *intLogger) logJson(t time.Time, level Level, msg string, args ...interface{}) { + vals := map[string]interface{}{ + "@message": msg, + "@timestamp": t.Format("2006-01-02T15:04:05.000000Z07:00"), + } + + var levelStr string + switch level { + case Error: + levelStr = "error" + case Warn: + levelStr = "warn" + case Info: + levelStr = "info" + case Debug: + levelStr = "debug" + case Trace: + levelStr = "trace" + default: + levelStr = "all" + } + + vals["@level"] = levelStr + + if z.name != "" { + vals["@module"] = z.name + } + + if z.caller { + if _, file, line, ok := runtime.Caller(3); ok { + vals["@caller"] = fmt.Sprintf("%s:%d", file, line) + } + } + + if args != nil && len(args) > 0 { + if len(args)%2 != 0 { + cs, ok := args[len(args)-1].(CapturedStacktrace) + if ok { + args = args[:len(args)-1] + vals["stacktrace"] = cs + } else { + args = append(args, "") + } + } + + for i := 0; i < len(args); i = i + 2 { + if _, ok := args[i].(string); !ok { + // As this is the logging function not much we can do here + // without injecting into logs... + continue + } + val := args[i+1] + // Check if val is of type error. If error type doesn't + // implement json.Marshaler or encoding.TextMarshaler + // then set val to err.Error() so that it gets marshaled + if err, ok := val.(error); ok { + switch err.(type) { + case json.Marshaler, encoding.TextMarshaler: + default: + val = err.Error() + } + } + vals[args[i].(string)] = val + } + } + + err := json.NewEncoder(z.w).Encode(vals) + if err != nil { + panic(err) + } +} + +// Emit the message and args at DEBUG level +func (z *intLogger) Debug(msg string, args ...interface{}) { + z.Log(Debug, msg, args...) +} + +// Emit the message and args at TRACE level +func (z *intLogger) Trace(msg string, args ...interface{}) { + z.Log(Trace, msg, args...) +} + +// Emit the message and args at INFO level +func (z *intLogger) Info(msg string, args ...interface{}) { + z.Log(Info, msg, args...) +} + +// Emit the message and args at WARN level +func (z *intLogger) Warn(msg string, args ...interface{}) { + z.Log(Warn, msg, args...) +} + +// Emit the message and args at ERROR level +func (z *intLogger) Error(msg string, args ...interface{}) { + z.Log(Error, msg, args...) +} + +// Indicate that the logger would emit TRACE level logs +func (z *intLogger) IsTrace() bool { + return z.level == Trace +} + +// Indicate that the logger would emit DEBUG level logs +func (z *intLogger) IsDebug() bool { + return z.level <= Debug +} + +// Indicate that the logger would emit INFO level logs +func (z *intLogger) IsInfo() bool { + return z.level <= Info +} + +// Indicate that the logger would emit WARN level logs +func (z *intLogger) IsWarn() bool { + return z.level <= Warn +} + +// Indicate that the logger would emit ERROR level logs +func (z *intLogger) IsError() bool { + return z.level <= Error +} + +// Return a sub-Logger for which every emitted log message will contain +// the given key/value pairs. This is used to create a context specific +// Logger. +func (z *intLogger) With(args ...interface{}) Logger { + var nz intLogger = *z + + nz.implied = append(nz.implied, args...) + + return &nz +} + +// Create a new sub-Logger that a name decending from the current name. +// This is used to create a subsystem specific Logger. +func (z *intLogger) Named(name string) Logger { + var nz intLogger = *z + + if nz.name != "" { + nz.name = nz.name + "." + name + } + + return &nz +} + +// Create a new sub-Logger with an explicit name. This ignores the current +// name. This is used to create a standalone logger that doesn't fall +// within the normal hierarchy. +func (z *intLogger) ResetNamed(name string) Logger { + var nz intLogger = *z + + nz.name = name + + return &nz +} + +// Create a *log.Logger that will send it's data through this Logger. This +// allows packages that expect to be using the standard library log to actually +// use this logger. +func (z *intLogger) StandardLogger(opts *StandardLoggerOptions) *log.Logger { + if opts == nil { + opts = &StandardLoggerOptions{} + } + + return log.New(&stdlogAdapter{z, opts.InferLevels}, "", 0) +} diff --git a/vendor/github.com/hashicorp/go-hclog/log.go b/vendor/github.com/hashicorp/go-hclog/log.go new file mode 100644 index 000000000000..1b36f811269b --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/log.go @@ -0,0 +1,138 @@ +package hclog + +import ( + "io" + "log" + "os" + "strings" +) + +var ( + DefaultOutput = os.Stderr + DefaultLevel = Info +) + +type Level int + +const ( + // This is a special level used to indicate that no level has been + // set and allow for a default to be used. + NoLevel Level = 0 + + // The most verbose level. Intended to be used for the tracing of actions + // in code, such as function enters/exits, etc. + Trace Level = 1 + + // For programmer lowlevel analysis. + Debug Level = 2 + + // For information about steady state operations. + Info Level = 3 + + // For information about rare but handled events. + Warn Level = 4 + + // For information about unrecoverable events. + Error Level = 5 +) + +// LevelFromString returns a Level type for the named log level, or "NoLevel" if +// the level string is invalid. This facilitates setting the log level via +// config or environment variable by name in a predictable way. +func LevelFromString(levelStr string) Level { + // We don't care about case. Accept "INFO" or "info" + levelStr = strings.ToLower(strings.TrimSpace(levelStr)) + switch levelStr { + case "trace": + return Trace + case "debug": + return Debug + case "info": + return Info + case "warn": + return Warn + case "error": + return Error + default: + return NoLevel + } +} + +// The main Logger interface. All code should code against this interface only. +type Logger interface { + // Args are alternating key, val pairs + // keys must be strings + // vals can be any type, but display is implementation specific + // Emit a message and key/value pairs at the TRACE level + Trace(msg string, args ...interface{}) + + // Emit a message and key/value pairs at the DEBUG level + Debug(msg string, args ...interface{}) + + // Emit a message and key/value pairs at the INFO level + Info(msg string, args ...interface{}) + + // Emit a message and key/value pairs at the WARN level + Warn(msg string, args ...interface{}) + + // Emit a message and key/value pairs at the ERROR level + Error(msg string, args ...interface{}) + + // Indicate if TRACE logs would be emitted. This and the other Is* guards + // are used to elide expensive logging code based on the current level. + IsTrace() bool + + // Indicate if DEBUG logs would be emitted. This and the other Is* guards + IsDebug() bool + + // Indicate if INFO logs would be emitted. This and the other Is* guards + IsInfo() bool + + // Indicate if WARN logs would be emitted. This and the other Is* guards + IsWarn() bool + + // Indicate if ERROR logs would be emitted. This and the other Is* guards + IsError() bool + + // Creates a sublogger that will always have the given key/value pairs + With(args ...interface{}) Logger + + // Create a logger that will prepend the name string on the front of all messages. + // If the logger already has a name, the new value will be appended to the current + // name. That way, a major subsystem can use this to decorate all it's own logs + // without losing context. + Named(name string) Logger + + // Create a logger that will prepend the name string on the front of all messages. + // This sets the name of the logger to the value directly, unlike Named which honor + // the current name as well. + ResetNamed(name string) Logger + + // Return a value that conforms to the stdlib log.Logger interface + StandardLogger(opts *StandardLoggerOptions) *log.Logger +} + +type StandardLoggerOptions struct { + // Indicate that some minimal parsing should be done on strings to try + // and detect their level and re-emit them. + // This supports the strings like [ERROR], [ERR] [TRACE], [WARN], [INFO], + // [DEBUG] and strip it off before reapplying it. + InferLevels bool +} + +type LoggerOptions struct { + // Name of the subsystem to prefix logs with + Name string + + // The threshold for the logger. Anything less severe is supressed + Level Level + + // Where to write the logs to. Defaults to os.Stdout if nil + Output io.Writer + + // Control if the output should be in JSON. + JSONFormat bool + + // Include file and line information in each log line + IncludeLocation bool +} diff --git a/vendor/github.com/hashicorp/go-hclog/stacktrace.go b/vendor/github.com/hashicorp/go-hclog/stacktrace.go new file mode 100644 index 000000000000..8af1a3be4c09 --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/stacktrace.go @@ -0,0 +1,108 @@ +// Copyright (c) 2016 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +package hclog + +import ( + "bytes" + "runtime" + "strconv" + "strings" + "sync" +) + +var ( + _stacktraceIgnorePrefixes = []string{ + "runtime.goexit", + "runtime.main", + } + _stacktracePool = sync.Pool{ + New: func() interface{} { + return newProgramCounters(64) + }, + } +) + +// A stacktrace gathered by a previous call to log.Stacktrace. If passed +// to a logging function, the stacktrace will be appended. +type CapturedStacktrace string + +// Gather a stacktrace of the current goroutine and return it to be passed +// to a logging function. +func Stacktrace() CapturedStacktrace { + return CapturedStacktrace(takeStacktrace()) +} + +func takeStacktrace() string { + programCounters := _stacktracePool.Get().(*programCounters) + defer _stacktracePool.Put(programCounters) + + var buffer bytes.Buffer + + for { + // Skip the call to runtime.Counters and takeStacktrace so that the + // program counters start at the caller of takeStacktrace. + n := runtime.Callers(2, programCounters.pcs) + if n < cap(programCounters.pcs) { + programCounters.pcs = programCounters.pcs[:n] + break + } + // Don't put the too-short counter slice back into the pool; this lets + // the pool adjust if we consistently take deep stacktraces. + programCounters = newProgramCounters(len(programCounters.pcs) * 2) + } + + i := 0 + frames := runtime.CallersFrames(programCounters.pcs) + for frame, more := frames.Next(); more; frame, more = frames.Next() { + if shouldIgnoreStacktraceFunction(frame.Function) { + continue + } + if i != 0 { + buffer.WriteByte('\n') + } + i++ + buffer.WriteString(frame.Function) + buffer.WriteByte('\n') + buffer.WriteByte('\t') + buffer.WriteString(frame.File) + buffer.WriteByte(':') + buffer.WriteString(strconv.Itoa(int(frame.Line))) + } + + return buffer.String() +} + +func shouldIgnoreStacktraceFunction(function string) bool { + for _, prefix := range _stacktraceIgnorePrefixes { + if strings.HasPrefix(function, prefix) { + return true + } + } + return false +} + +type programCounters struct { + pcs []uintptr +} + +func newProgramCounters(size int) *programCounters { + return &programCounters{make([]uintptr, size)} +} diff --git a/vendor/github.com/hashicorp/go-hclog/stdlog.go b/vendor/github.com/hashicorp/go-hclog/stdlog.go new file mode 100644 index 000000000000..2bb927fc90c9 --- /dev/null +++ b/vendor/github.com/hashicorp/go-hclog/stdlog.go @@ -0,0 +1,62 @@ +package hclog + +import ( + "bytes" + "strings" +) + +// Provides a io.Writer to shim the data out of *log.Logger +// and back into our Logger. This is basically the only way to +// build upon *log.Logger. +type stdlogAdapter struct { + hl Logger + inferLevels bool +} + +// Take the data, infer the levels if configured, and send it through +// a regular Logger +func (s *stdlogAdapter) Write(data []byte) (int, error) { + str := string(bytes.TrimRight(data, " \t\n")) + + if s.inferLevels { + level, str := s.pickLevel(str) + switch level { + case Trace: + s.hl.Trace(str) + case Debug: + s.hl.Debug(str) + case Info: + s.hl.Info(str) + case Warn: + s.hl.Warn(str) + case Error: + s.hl.Error(str) + default: + s.hl.Info(str) + } + } else { + s.hl.Info(str) + } + + return len(data), nil +} + +// Detect, based on conventions, what log level this is +func (s *stdlogAdapter) pickLevel(str string) (Level, string) { + switch { + case strings.HasPrefix(str, "[DEBUG]"): + return Debug, strings.TrimSpace(str[7:]) + case strings.HasPrefix(str, "[TRACE]"): + return Trace, strings.TrimSpace(str[7:]) + case strings.HasPrefix(str, "[INFO]"): + return Info, strings.TrimSpace(str[6:]) + case strings.HasPrefix(str, "[WARN]"): + return Warn, strings.TrimSpace(str[7:]) + case strings.HasPrefix(str, "[ERROR]"): + return Error, strings.TrimSpace(str[7:]) + case strings.HasPrefix(str, "[ERR]"): + return Error, strings.TrimSpace(str[5:]) + default: + return Info, str + } +} diff --git a/vendor/github.com/hashicorp/go-plugin/README.md b/vendor/github.com/hashicorp/go-plugin/README.md index 2058cfb68d19..78d354ed23f1 100644 --- a/vendor/github.com/hashicorp/go-plugin/README.md +++ b/vendor/github.com/hashicorp/go-plugin/README.md @@ -1,10 +1,9 @@ # Go Plugin System over RPC `go-plugin` is a Go (golang) plugin system over RPC. It is the plugin system -that has been in use by HashiCorp tooling for over 3 years. While initially -created for [Packer](https://www.packer.io), it has since been used by -[Terraform](https://www.terraform.io) and [Otto](https://www.ottoproject.io), -with plans to also use it for [Nomad](https://www.nomadproject.io) and +that has been in use by HashiCorp tooling for over 4 years. While initially +created for [Packer](https://www.packer.io), it is additionally in use by +[Terraform](https://www.terraform.io), [Nomad](https://www.nomadproject.io), and [Vault](https://www.vaultproject.io). While the plugin system is over RPC, it is currently only designed to work @@ -24,6 +23,11 @@ interface as if it were going to run in the same process. For a plugin user: you just use and call functions on an interface as if it were in the same process. This plugin system handles the communication in between. +**Cross-language support.** Plugins can be written (and consumed) by +almost every major language. This library supports serving plugins via +[gRPC](http://www.grpc.io). gRPC-based plugins enable plugins to be written +in any language. + **Complex arguments and return values are supported.** This library provides APIs for handling complex arguments and return values such as interfaces, `io.Reader/Writer`, etc. We do this by giving you a library @@ -37,7 +41,10 @@ and the plugin can call back into the host process. **Built-in Logging.** Any plugins that use the `log` standard library will have log data automatically sent to the host process. The host process will mirror this output prefixed with the path to the plugin -binary. This makes debugging with plugins simple. +binary. This makes debugging with plugins simple. If the host system +uses [hclog](https://github.com/hashicorp/go-hclog) then the log data +will be structured. If the plugin also uses hclog, logs from the plugin +will be sent to the host hclog and be structured. **Protocol Versioning.** A very basic "protocol version" is supported that can be incremented to invalidate any previous plugins. This is useful when @@ -62,13 +69,18 @@ This requires the host/plugin to know this is possible and daemonize properly. `NewClient` takes a `ReattachConfig` to determine if and how to reattach. +**Cryptographically Secure Plugins.** Plugins can be verified with an expected +checksum and RPC communications can be configured to use TLS. The host process +must be properly secured to protect this configuration. + ## Architecture The HashiCorp plugin system works by launching subprocesses and communicating -over RPC (using standard `net/rpc`). A single connection is made between -any plugin and the host process, and we use a -[connection multiplexing](https://github.com/hashicorp/yamux) -library to multiplex any other connections on top. +over RPC (using standard `net/rpc` or [gRPC](http://www.grpc.io). A single +connection is made between any plugin and the host process. For net/rpc-based +plugins, we use a [connection multiplexing](https://github.com/hashicorp/yamux) +library to multiplex any other connections on top. For gRPC-based plugins, +the HTTP2 protocol handles multiplexing. This architecture has a number of benefits: @@ -76,8 +88,8 @@ This architecture has a number of benefits: panic the plugin user. * Plugins are very easy to write: just write a Go application and `go build`. - Theoretically you could also use another language as long as it can - communicate the Go `net/rpc` protocol but this hasn't yet been tried. + Or use any other language to write a gRPC server with a tiny amount of + boilerplate to support go-plugin. * Plugins are very easy to install: just put the binary in a location where the host will find it (depends on the host but this library also provides @@ -85,8 +97,8 @@ This architecture has a number of benefits: * Plugins can be relatively secure: The plugin only has access to the interfaces and args given to it, not to the entire memory space of the - process. More security features are planned (see the coming soon section - below). + process. Additionally, go-plugin can communicate with the plugin over + TLS. ## Usage @@ -97,10 +109,9 @@ high-level steps that must be done. Examples are available in the 1. Choose the interface(s) you want to expose for plugins. 2. For each interface, implement an implementation of that interface - that communicates over an `*rpc.Client` (from the standard `net/rpc` - package) for every function call. Likewise, implement the RPC server - struct this communicates to which is then communicating to a real, - concrete implementation. + that communicates over a `net/rpc` connection or other a + [gRPC](http://www.grpc.io) connection or both. You'll have to implement + both a client and server implementation. 3. Create a `Plugin` implementation that knows how to create the RPC client/server for a given plugin type. @@ -125,10 +136,6 @@ improvements we can make. At this point in time, the roadmap for the plugin system is: -**Cryptographically Secure Plugins.** We'll implement signing plugins -and loading signed plugins in order to allow Vault to make use of multi-process -in a secure way. - **Semantic Versioning.** Plugins will be able to implement a semantic version. This plugin system will give host processes a system for constraining versions. This is in addition to the protocol versioning already present diff --git a/vendor/github.com/hashicorp/go-plugin/client.go b/vendor/github.com/hashicorp/go-plugin/client.go index 9f8a0f2765c6..b912826b200c 100644 --- a/vendor/github.com/hashicorp/go-plugin/client.go +++ b/vendor/github.com/hashicorp/go-plugin/client.go @@ -2,8 +2,11 @@ package plugin import ( "bufio" + "crypto/subtle" + "crypto/tls" "errors" "fmt" + "hash" "io" "io/ioutil" "log" @@ -17,6 +20,8 @@ import ( "sync/atomic" "time" "unicode" + + hclog "github.com/hashicorp/go-hclog" ) // If this is 1, then we've called CleanupClients. This can be used @@ -35,6 +40,22 @@ var ( // ErrProcessNotFound is returned when a client is instantiated to // reattach to an existing process and it isn't found. ErrProcessNotFound = errors.New("Reattachment process not found") + + // ErrChecksumsDoNotMatch is returned when binary's checksum doesn't match + // the one provided in the SecureConfig. + ErrChecksumsDoNotMatch = errors.New("checksums did not match") + + // ErrSecureNoChecksum is returned when an empty checksum is provided to the + // SecureConfig. + ErrSecureConfigNoChecksum = errors.New("no checksum provided") + + // ErrSecureNoHash is returned when a nil Hash object is provided to the + // SecureConfig. + ErrSecureConfigNoHash = errors.New("no hash implementation provided") + + // ErrSecureConfigAndReattach is returned when both Reattach and + // SecureConfig are set. + ErrSecureConfigAndReattach = errors.New("only one of Reattach or SecureConfig can be set") ) // Client handles the lifecycle of a plugin application. It launches @@ -55,7 +76,9 @@ type Client struct { l sync.Mutex address net.Addr process *os.Process - client *RPCClient + client ClientProtocol + protocol Protocol + logger hclog.Logger } // ClientConfig is the configuration used to initialize a new @@ -79,6 +102,13 @@ type ClientConfig struct { Cmd *exec.Cmd Reattach *ReattachConfig + // SecureConfig is configuration for verifying the integrity of the + // executable. It can not be used with Reattach. + SecureConfig *SecureConfig + + // TLSConfig is used to enable TLS on the RPC client. + TLSConfig *tls.Config + // Managed represents if the client should be managed by the // plugin package or not. If true, then by calling CleanupClients, // it will automatically be cleaned up. Otherwise, the client @@ -109,14 +139,74 @@ type ClientConfig struct { // sync any of these streams. SyncStdout io.Writer SyncStderr io.Writer + + // AllowedProtocols is a list of allowed protocols. If this isn't set, + // then only netrpc is allowed. This is so that older go-plugin systems + // can show friendly errors if they see a plugin with an unknown + // protocol. + // + // By setting this, you can cause an error immediately on plugin start + // if an unsupported protocol is used with a good error message. + // + // If this isn't set at all (nil value), then only net/rpc is accepted. + // This is done for legacy reasons. You must explicitly opt-in to + // new protocols. + AllowedProtocols []Protocol + + // Logger is the logger that the client will used. If none is provided, + // it will default to hclog's default logger. + Logger hclog.Logger } // ReattachConfig is used to configure a client to reattach to an // already-running plugin process. You can retrieve this information by // calling ReattachConfig on Client. type ReattachConfig struct { - Addr net.Addr - Pid int + Protocol Protocol + Addr net.Addr + Pid int +} + +// SecureConfig is used to configure a client to verify the integrity of an +// executable before running. It does this by verifying the checksum is +// expected. Hash is used to specify the hashing method to use when checksumming +// the file. The configuration is verified by the client by calling the +// SecureConfig.Check() function. +// +// The host process should ensure the checksum was provided by a trusted and +// authoritative source. The binary should be installed in such a way that it +// can not be modified by an unauthorized user between the time of this check +// and the time of execution. +type SecureConfig struct { + Checksum []byte + Hash hash.Hash +} + +// Check takes the filepath to an executable and returns true if the checksum of +// the file matches the checksum provided in the SecureConfig. +func (s *SecureConfig) Check(filePath string) (bool, error) { + if len(s.Checksum) == 0 { + return false, ErrSecureConfigNoChecksum + } + + if s.Hash == nil { + return false, ErrSecureConfigNoHash + } + + file, err := os.Open(filePath) + if err != nil { + return false, err + } + defer file.Close() + + _, err = io.Copy(s.Hash, file) + if err != nil { + return false, err + } + + sum := s.Hash.Sum(nil) + + return subtle.ConstantTimeCompare(sum, s.Checksum) == 1, nil } // This makes sure all the managed subprocesses are killed and properly @@ -174,7 +264,22 @@ func NewClient(config *ClientConfig) (c *Client) { config.SyncStderr = ioutil.Discard } - c = &Client{config: config} + if config.AllowedProtocols == nil { + config.AllowedProtocols = []Protocol{ProtocolNetRPC} + } + + if config.Logger == nil { + config.Logger = hclog.New(&hclog.LoggerOptions{ + Output: hclog.DefaultOutput, + Level: hclog.Trace, + Name: "plugin", + }) + } + + c = &Client{ + config: config, + logger: config.Logger, + } if config.Managed { managedClientsLock.Lock() managedClients = append(managedClients, c) @@ -184,11 +289,11 @@ func NewClient(config *ClientConfig) (c *Client) { return } -// Client returns an RPC client for the plugin. +// Client returns the protocol client for this connection. // -// Subsequent calls to this will return the same RPC client. -func (c *Client) Client() (*RPCClient, error) { - addr, err := c.Start() +// Subsequent calls to this will return the same client. +func (c *Client) Client() (ClientProtocol, error) { + _, err := c.Start() if err != nil { return nil, err } @@ -200,29 +305,18 @@ func (c *Client) Client() (*RPCClient, error) { return c.client, nil } - // Connect to the client - conn, err := net.Dial(addr.Network(), addr.String()) - if err != nil { - return nil, err - } - if tcpConn, ok := conn.(*net.TCPConn); ok { - // Make sure to set keep alive so that the connection doesn't die - tcpConn.SetKeepAlive(true) - } + switch c.protocol { + case ProtocolNetRPC: + c.client, err = newRPCClient(c) - // Create the actual RPC client - c.client, err = NewRPCClient(conn, c.config.Plugins) - if err != nil { - conn.Close() - return nil, err + case ProtocolGRPC: + c.client, err = newGRPCClient(c) + + default: + return nil, fmt.Errorf("unknown server protocol: %s", c.protocol) } - // Begin the stream syncing so that stdin, out, err work properly - err = c.client.SyncStreams( - c.config.SyncStdout, - c.config.SyncStderr) if err != nil { - c.client.Close() c.client = nil return nil, err } @@ -274,8 +368,7 @@ func (c *Client) Kill() { if err != nil { // If there was an error just log it. We're going to force // kill in a moment anyways. - log.Printf( - "[WARN] plugin: error closing client during Kill: %s", err) + c.logger.Warn("error closing client during Kill", "err", err) } } } @@ -318,9 +411,14 @@ func (c *Client) Start() (addr net.Addr, err error) { { cmdSet := c.config.Cmd != nil attachSet := c.config.Reattach != nil + secureSet := c.config.SecureConfig != nil if cmdSet == attachSet { return nil, fmt.Errorf("Only one of Cmd or Reattach must be set") } + + if secureSet && attachSet { + return nil, ErrSecureConfigAndReattach + } } // Create the logging channel for when we kill @@ -350,7 +448,7 @@ func (c *Client) Start() (addr net.Addr, err error) { pidWait(pid) // Log so we can see it - log.Printf("[DEBUG] plugin: reattached plugin process exited\n") + c.logger.Debug("reattached plugin process exited") // Mark it c.l.Lock() @@ -364,6 +462,11 @@ func (c *Client) Start() (addr net.Addr, err error) { // Set the address and process c.address = c.config.Reattach.Addr c.process = p + c.protocol = c.config.Reattach.Protocol + if c.protocol == "" { + // Default the protocol to net/rpc for backwards compatibility + c.protocol = ProtocolNetRPC + } return c.address, nil } @@ -384,7 +487,15 @@ func (c *Client) Start() (addr net.Addr, err error) { cmd.Stderr = stderr_w cmd.Stdout = stdout_w - log.Printf("[DEBUG] plugin: starting plugin: %s %#v", cmd.Path, cmd.Args) + if c.config.SecureConfig != nil { + if ok, err := c.config.SecureConfig.Check(cmd.Path); err != nil { + return nil, fmt.Errorf("error verifying checksum: %s", err) + } else if !ok { + return nil, ErrChecksumsDoNotMatch + } + } + + c.logger.Debug("starting plugin", "path", cmd.Path, "args", cmd.Args) err = cmd.Start() if err != nil { return @@ -418,7 +529,7 @@ func (c *Client) Start() (addr net.Addr, err error) { cmd.Wait() // Log and make sure to flush the logs write away - log.Printf("[DEBUG] plugin: %s: plugin process exited\n", cmd.Path) + c.logger.Debug("plugin process exited", "path", cmd.Path) os.Stderr.Sync() // Mark that we exited @@ -465,7 +576,7 @@ func (c *Client) Start() (addr net.Addr, err error) { timeout := time.After(c.config.StartTimeout) // Start looking for the address - log.Printf("[DEBUG] plugin: waiting for RPC address for: %s", cmd.Path) + c.logger.Debug("waiting for RPC address", "path", cmd.Path) select { case <-timeout: err = errors.New("timeout while waiting for plugin to start") @@ -475,7 +586,7 @@ func (c *Client) Start() (addr net.Addr, err error) { // Trim the line and split by "|" in order to get the parts of // the output. line := strings.TrimSpace(string(lineBytes)) - parts := strings.SplitN(line, "|", 4) + parts := strings.SplitN(line, "|", 6) if len(parts) < 4 { err = fmt.Errorf( "Unrecognized remote plugin message: %s\n\n"+ @@ -525,6 +636,27 @@ func (c *Client) Start() (addr net.Addr, err error) { default: err = fmt.Errorf("Unknown address type: %s", parts[3]) } + + // If we have a server type, then record that. We default to net/rpc + // for backwards compatibility. + c.protocol = ProtocolNetRPC + if len(parts) >= 5 { + c.protocol = Protocol(parts[4]) + } + + found := false + for _, p := range c.config.AllowedProtocols { + if p == c.protocol { + found = true + break + } + } + if !found { + err = fmt.Errorf("Unsupported plugin protocol %q. Supported: %v", + c.protocol, c.config.AllowedProtocols) + return + } + } c.address = addr @@ -555,9 +687,46 @@ func (c *Client) ReattachConfig() *ReattachConfig { } return &ReattachConfig{ - Addr: c.address, - Pid: c.config.Cmd.Process.Pid, + Protocol: c.protocol, + Addr: c.address, + Pid: c.config.Cmd.Process.Pid, + } +} + +// Protocol returns the protocol of server on the remote end. This will +// start the plugin process if it isn't already started. Errors from +// starting the plugin are surpressed and ProtocolInvalid is returned. It +// is recommended you call Start explicitly before calling Protocol to ensure +// no errors occur. +func (c *Client) Protocol() Protocol { + _, err := c.Start() + if err != nil { + return ProtocolInvalid + } + + return c.protocol +} + +// dialer is compatible with grpc.WithDialer and creates the connection +// to the plugin. +func (c *Client) dialer(_ string, timeout time.Duration) (net.Conn, error) { + // Connect to the client + conn, err := net.Dial(c.address.Network(), c.address.String()) + if err != nil { + return nil, err + } + if tcpConn, ok := conn.(*net.TCPConn); ok { + // Make sure to set keep alive so that the connection doesn't die + tcpConn.SetKeepAlive(true) } + + // If we have a TLS config we wrap our connection. We only do this + // for net/rpc since gRPC uses its own mechanism for TLS. + if c.protocol == ProtocolNetRPC && c.config.TLSConfig != nil { + conn = tls.Client(conn, c.config.TLSConfig) + } + + return conn, nil } func (c *Client) logStderr(r io.Reader) { @@ -566,9 +735,31 @@ func (c *Client) logStderr(r io.Reader) { line, err := bufR.ReadString('\n') if line != "" { c.config.Stderr.Write([]byte(line)) - line = strings.TrimRightFunc(line, unicode.IsSpace) - log.Printf("[DEBUG] plugin: %s: %s", filepath.Base(c.config.Cmd.Path), line) + + l := c.logger.Named(filepath.Base(c.config.Cmd.Path)) + + entry, err := parseJSON(line) + // If output is not JSON format, print directly to Debug + if err != nil { + l.Debug(line) + } else { + out := flattenKVPairs(entry.KVPairs) + + l = l.With("timestamp", entry.Timestamp.Format(hclog.TimeFormat)) + switch hclog.LevelFromString(entry.Level) { + case hclog.Trace: + l.Trace(entry.Message, out...) + case hclog.Debug: + l.Debug(entry.Message, out...) + case hclog.Info: + l.Info(entry.Message, out...) + case hclog.Warn: + l.Warn(entry.Message, out...) + case hclog.Error: + l.Error(entry.Message, out...) + } + } } if err == io.EOF { diff --git a/vendor/github.com/hashicorp/go-plugin/grpc_client.go b/vendor/github.com/hashicorp/go-plugin/grpc_client.go new file mode 100644 index 000000000000..3bcf95efc56c --- /dev/null +++ b/vendor/github.com/hashicorp/go-plugin/grpc_client.go @@ -0,0 +1,83 @@ +package plugin + +import ( + "fmt" + + "golang.org/x/net/context" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/health/grpc_health_v1" +) + +// newGRPCClient creates a new GRPCClient. The Client argument is expected +// to be successfully started already with a lock held. +func newGRPCClient(c *Client) (*GRPCClient, error) { + // Build dialing options. + opts := make([]grpc.DialOption, 0, 5) + + // We use a custom dialer so that we can connect over unix domain sockets + opts = append(opts, grpc.WithDialer(c.dialer)) + + // go-plugin expects to block the connection + opts = append(opts, grpc.WithBlock()) + + // Fail right away + opts = append(opts, grpc.FailOnNonTempDialError(true)) + + // If we have no TLS configuration set, we need to explicitly tell grpc + // that we're connecting with an insecure connection. + if c.config.TLSConfig == nil { + opts = append(opts, grpc.WithInsecure()) + } else { + opts = append(opts, grpc.WithTransportCredentials( + credentials.NewTLS(c.config.TLSConfig))) + } + + // Connect. Note the first parameter is unused because we use a custom + // dialer that has the state to see the address. + conn, err := grpc.Dial("unused", opts...) + if err != nil { + return nil, err + } + + return &GRPCClient{ + Conn: conn, + Plugins: c.config.Plugins, + }, nil +} + +// GRPCClient connects to a GRPCServer over gRPC to dispense plugin types. +type GRPCClient struct { + Conn *grpc.ClientConn + Plugins map[string]Plugin +} + +// ClientProtocol impl. +func (c *GRPCClient) Close() error { + return c.Conn.Close() +} + +// ClientProtocol impl. +func (c *GRPCClient) Dispense(name string) (interface{}, error) { + raw, ok := c.Plugins[name] + if !ok { + return nil, fmt.Errorf("unknown plugin type: %s", name) + } + + p, ok := raw.(GRPCPlugin) + if !ok { + return nil, fmt.Errorf("plugin %q doesn't support gRPC", name) + } + + return p.GRPCClient(c.Conn) +} + +// ClientProtocol impl. +func (c *GRPCClient) Ping() error { + client := grpc_health_v1.NewHealthClient(c.Conn) + _, err := client.Check(context.Background(), &grpc_health_v1.HealthCheckRequest{ + Service: GRPCServiceName, + }) + + return err +} diff --git a/vendor/github.com/hashicorp/go-plugin/grpc_server.go b/vendor/github.com/hashicorp/go-plugin/grpc_server.go new file mode 100644 index 000000000000..177a0cdd7dc2 --- /dev/null +++ b/vendor/github.com/hashicorp/go-plugin/grpc_server.go @@ -0,0 +1,115 @@ +package plugin + +import ( + "bytes" + "crypto/tls" + "encoding/json" + "fmt" + "io" + "net" + + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/health" + "google.golang.org/grpc/health/grpc_health_v1" +) + +// GRPCServiceName is the name of the service that the health check should +// return as passing. +const GRPCServiceName = "plugin" + +// DefaultGRPCServer can be used with the "GRPCServer" field for Server +// as a default factory method to create a gRPC server with no extra options. +func DefaultGRPCServer(opts []grpc.ServerOption) *grpc.Server { + return grpc.NewServer(opts...) +} + +// GRPCServer is a ServerType implementation that serves plugins over +// gRPC. This allows plugins to easily be written for other languages. +// +// The GRPCServer outputs a custom configuration as a base64-encoded +// JSON structure represented by the GRPCServerConfig config structure. +type GRPCServer struct { + // Plugins are the list of plugins to serve. + Plugins map[string]Plugin + + // Server is the actual server that will accept connections. This + // will be used for plugin registration as well. + Server func([]grpc.ServerOption) *grpc.Server + + // TLS should be the TLS configuration if available. If this is nil, + // the connection will not have transport security. + TLS *tls.Config + + // DoneCh is the channel that is closed when this server has exited. + DoneCh chan struct{} + + // Stdout/StderrLis are the readers for stdout/stderr that will be copied + // to the stdout/stderr connection that is output. + Stdout io.Reader + Stderr io.Reader + + config GRPCServerConfig + server *grpc.Server +} + +// ServerProtocol impl. +func (s *GRPCServer) Init() error { + // Create our server + var opts []grpc.ServerOption + if s.TLS != nil { + opts = append(opts, grpc.Creds(credentials.NewTLS(s.TLS))) + } + s.server = s.Server(opts) + + // Register the health service + healthCheck := health.NewServer() + healthCheck.SetServingStatus( + GRPCServiceName, grpc_health_v1.HealthCheckResponse_SERVING) + grpc_health_v1.RegisterHealthServer(s.server, healthCheck) + + // Register all our plugins onto the gRPC server. + for k, raw := range s.Plugins { + p, ok := raw.(GRPCPlugin) + if !ok { + return fmt.Errorf("%q is not a GRPC-compatibile plugin", k) + } + + if err := p.GRPCServer(s.server); err != nil { + return fmt.Errorf("error registring %q: %s", k, err) + } + } + + return nil +} + +// Config is the GRPCServerConfig encoded as JSON then base64. +func (s *GRPCServer) Config() string { + // Create a buffer that will contain our final contents + var buf bytes.Buffer + + // Wrap the base64 encoding with JSON encoding. + if err := json.NewEncoder(&buf).Encode(s.config); err != nil { + // We panic since ths shouldn't happen under any scenario. We + // carefully control the structure being encoded here and it should + // always be successful. + panic(err) + } + + return buf.String() +} + +func (s *GRPCServer) Serve(lis net.Listener) { + // Start serving in a goroutine + go s.server.Serve(lis) + + // Wait until graceful completion + <-s.DoneCh +} + +// GRPCServerConfig is the extra configuration passed along for consumers +// to facilitate using GRPC plugins. +type GRPCServerConfig struct { + StdoutAddr string `json:"stdout_addr"` + StderrAddr string `json:"stderr_addr"` +} diff --git a/vendor/github.com/hashicorp/go-plugin/log_entry.go b/vendor/github.com/hashicorp/go-plugin/log_entry.go new file mode 100644 index 000000000000..2996c14c3cb2 --- /dev/null +++ b/vendor/github.com/hashicorp/go-plugin/log_entry.go @@ -0,0 +1,73 @@ +package plugin + +import ( + "encoding/json" + "time" +) + +// logEntry is the JSON payload that gets sent to Stderr from the plugin to the host +type logEntry struct { + Message string `json:"@message"` + Level string `json:"@level"` + Timestamp time.Time `json:"timestamp"` + KVPairs []*logEntryKV `json:"kv_pairs"` +} + +// logEntryKV is a key value pair within the Output payload +type logEntryKV struct { + Key string `json:"key"` + Value interface{} `json:"value"` +} + +// flattenKVPairs is used to flatten KVPair slice into []interface{} +// for hclog consumption. +func flattenKVPairs(kvs []*logEntryKV) []interface{} { + var result []interface{} + for _, kv := range kvs { + result = append(result, kv.Key) + result = append(result, kv.Value) + } + + return result +} + +// parseJSON handles parsing JSON output +func parseJSON(input string) (*logEntry, error) { + var raw map[string]interface{} + entry := &logEntry{} + + err := json.Unmarshal([]byte(input), &raw) + if err != nil { + return nil, err + } + + // Parse hclog-specific objects + if v, ok := raw["@message"]; ok { + entry.Message = v.(string) + delete(raw, "@message") + } + + if v, ok := raw["@level"]; ok { + entry.Level = v.(string) + delete(raw, "@level") + } + + if v, ok := raw["@timestamp"]; ok { + t, err := time.Parse("2006-01-02T15:04:05.000000Z07:00", v.(string)) + if err != nil { + return nil, err + } + entry.Timestamp = t + delete(raw, "@timestamp") + } + + // Parse dynamic KV args from the hclog payload. + for k, v := range raw { + entry.KVPairs = append(entry.KVPairs, &logEntryKV{ + Key: k, + Value: v, + }) + } + + return entry, nil +} diff --git a/vendor/github.com/hashicorp/go-plugin/plugin.go b/vendor/github.com/hashicorp/go-plugin/plugin.go index 37c8fd653f90..6b7bdd1cfd07 100644 --- a/vendor/github.com/hashicorp/go-plugin/plugin.go +++ b/vendor/github.com/hashicorp/go-plugin/plugin.go @@ -9,7 +9,10 @@ package plugin import ( + "errors" "net/rpc" + + "google.golang.org/grpc" ) // Plugin is the interface that is implemented to serve/connect to an @@ -23,3 +26,31 @@ type Plugin interface { // serving that communicates to the server end of the plugin. Client(*MuxBroker, *rpc.Client) (interface{}, error) } + +// GRPCPlugin is the interface that is implemented to serve/connect to +// a plugin over gRPC. +type GRPCPlugin interface { + // GRPCServer should register this plugin for serving with the + // given GRPCServer. Unlike Plugin.Server, this is only called once + // since gRPC plugins serve singletons. + GRPCServer(*grpc.Server) error + + // GRPCClient should return the interface implementation for the plugin + // you're serving via gRPC. + GRPCClient(*grpc.ClientConn) (interface{}, error) +} + +// NetRPCUnsupportedPlugin implements Plugin but returns errors for the +// Server and Client functions. This will effectively disable support for +// net/rpc based plugins. +// +// This struct can be embedded in your struct. +type NetRPCUnsupportedPlugin struct{} + +func (p NetRPCUnsupportedPlugin) Server(*MuxBroker) (interface{}, error) { + return nil, errors.New("net/rpc plugin protocol not supported") +} + +func (p NetRPCUnsupportedPlugin) Client(*MuxBroker, *rpc.Client) (interface{}, error) { + return nil, errors.New("net/rpc plugin protocol not supported") +} diff --git a/vendor/github.com/hashicorp/go-plugin/protocol.go b/vendor/github.com/hashicorp/go-plugin/protocol.go new file mode 100644 index 000000000000..0cfc19e52d63 --- /dev/null +++ b/vendor/github.com/hashicorp/go-plugin/protocol.go @@ -0,0 +1,45 @@ +package plugin + +import ( + "io" + "net" +) + +// Protocol is an enum representing the types of protocols. +type Protocol string + +const ( + ProtocolInvalid Protocol = "" + ProtocolNetRPC Protocol = "netrpc" + ProtocolGRPC Protocol = "grpc" +) + +// ServerProtocol is an interface that must be implemented for new plugin +// protocols to be servers. +type ServerProtocol interface { + // Init is called once to configure and initialize the protocol, but + // not start listening. This is the point at which all validation should + // be done and errors returned. + Init() error + + // Config is extra configuration to be outputted to stdout. This will + // be automatically base64 encoded to ensure it can be parsed properly. + // This can be an empty string if additional configuration is not needed. + Config() string + + // Serve is called to serve connections on the given listener. This should + // continue until the listener is closed. + Serve(net.Listener) +} + +// ClientProtocol is an interface that must be implemented for new plugin +// protocols to be clients. +type ClientProtocol interface { + io.Closer + + // Dispense dispenses a new instance of the plugin with the given name. + Dispense(string) (interface{}, error) + + // Ping checks that the client connection is still healthy. + Ping() error +} diff --git a/vendor/github.com/hashicorp/go-plugin/rpc_client.go b/vendor/github.com/hashicorp/go-plugin/rpc_client.go index 29f9bf063e7b..f30a4b1d3872 100644 --- a/vendor/github.com/hashicorp/go-plugin/rpc_client.go +++ b/vendor/github.com/hashicorp/go-plugin/rpc_client.go @@ -1,6 +1,7 @@ package plugin import ( + "crypto/tls" "fmt" "io" "net" @@ -19,6 +20,42 @@ type RPCClient struct { stdout, stderr net.Conn } +// newRPCClient creates a new RPCClient. The Client argument is expected +// to be successfully started already with a lock held. +func newRPCClient(c *Client) (*RPCClient, error) { + // Connect to the client + conn, err := net.Dial(c.address.Network(), c.address.String()) + if err != nil { + return nil, err + } + if tcpConn, ok := conn.(*net.TCPConn); ok { + // Make sure to set keep alive so that the connection doesn't die + tcpConn.SetKeepAlive(true) + } + + if c.config.TLSConfig != nil { + conn = tls.Client(conn, c.config.TLSConfig) + } + + // Create the actual RPC client + result, err := NewRPCClient(conn, c.config.Plugins) + if err != nil { + conn.Close() + return nil, err + } + + // Begin the stream syncing so that stdin, out, err work properly + err = result.SyncStreams( + c.config.SyncStdout, + c.config.SyncStderr) + if err != nil { + result.Close() + return nil, err + } + + return result, nil +} + // NewRPCClient creates a client from an already-open connection-like value. // Dial is typically used instead. func NewRPCClient(conn io.ReadWriteCloser, plugins map[string]Plugin) (*RPCClient, error) { @@ -121,3 +158,13 @@ func (c *RPCClient) Dispense(name string) (interface{}, error) { return p.Client(c.broker, rpc.NewClient(conn)) } + +// Ping pings the connection to ensure it is still alive. +// +// The error from the RPC call is returned exactly if you want to inspect +// it for further error analysis. Any error returned from here would indicate +// that the connection to the plugin is not healthy. +func (c *RPCClient) Ping() error { + var empty struct{} + return c.control.Call("Control.Ping", true, &empty) +} diff --git a/vendor/github.com/hashicorp/go-plugin/rpc_server.go b/vendor/github.com/hashicorp/go-plugin/rpc_server.go index 3984dc891ba6..5bb18dd5db16 100644 --- a/vendor/github.com/hashicorp/go-plugin/rpc_server.go +++ b/vendor/github.com/hashicorp/go-plugin/rpc_server.go @@ -34,10 +34,14 @@ type RPCServer struct { lock sync.Mutex } -// Accept accepts connections on a listener and serves requests for -// each incoming connection. Accept blocks; the caller typically invokes -// it in a go statement. -func (s *RPCServer) Accept(lis net.Listener) { +// ServerProtocol impl. +func (s *RPCServer) Init() error { return nil } + +// ServerProtocol impl. +func (s *RPCServer) Config() string { return "" } + +// ServerProtocol impl. +func (s *RPCServer) Serve(lis net.Listener) { for { conn, err := lis.Accept() if err != nil { @@ -122,6 +126,14 @@ type controlServer struct { server *RPCServer } +// Ping can be called to verify the connection (and likely the binary) +// is still alive to a plugin. +func (c *controlServer) Ping( + null bool, response *struct{}) error { + *response = struct{}{} + return nil +} + func (c *controlServer) Quit( null bool, response *struct{}) error { // End the server diff --git a/vendor/github.com/hashicorp/go-plugin/server.go b/vendor/github.com/hashicorp/go-plugin/server.go index b5c5270a7d83..e1543214a526 100644 --- a/vendor/github.com/hashicorp/go-plugin/server.go +++ b/vendor/github.com/hashicorp/go-plugin/server.go @@ -1,6 +1,8 @@ package plugin import ( + "crypto/tls" + "encoding/base64" "errors" "fmt" "io/ioutil" @@ -11,6 +13,10 @@ import ( "runtime" "strconv" "sync/atomic" + + "github.com/hashicorp/go-hclog" + + "google.golang.org/grpc" ) // CoreProtocolVersion is the ProtocolVersion of the plugin system itself. @@ -45,14 +51,37 @@ type ServeConfig struct { // HandshakeConfig is the configuration that must match clients. HandshakeConfig + // TLSProvider is a function that returns a configured tls.Config. + TLSProvider func() (*tls.Config, error) + // Plugins are the plugins that are served. Plugins map[string]Plugin + + // GRPCServer should be non-nil to enable serving the plugins over + // gRPC. This is a function to create the server when needed with the + // given server options. The server options populated by go-plugin will + // be for TLS if set. You may modify the input slice. + // + // Note that the grpc.Server will automatically be registered with + // the gRPC health checking service. This is not optional since go-plugin + // relies on this to implement Ping(). + GRPCServer func([]grpc.ServerOption) *grpc.Server +} + +// Protocol returns the protocol that this server should speak. +func (c *ServeConfig) Protocol() Protocol { + result := ProtocolNetRPC + if c.GRPCServer != nil { + result = ProtocolGRPC + } + + return result } // Serve serves the plugins given by ServeConfig. // // Serve doesn't return until the plugin is done being executed. Any -// errors will be outputted to the log. +// errors will be outputted to os.Stderr. // // This is the method that plugins should call in their main() functions. func Serve(opts *ServeConfig) { @@ -77,6 +106,13 @@ func Serve(opts *ServeConfig) { // Logging goes to the original stderr log.SetOutput(os.Stderr) + // internal logger to os.Stderr + logger := hclog.New(&hclog.LoggerOptions{ + Level: hclog.Trace, + Output: os.Stderr, + JSONFormat: true, + }) + // Create our new stdout, stderr files. These will override our built-in // stdout/stderr so that it works across the stream boundary. stdout_r, stdout_w, err := os.Pipe() @@ -93,30 +129,86 @@ func Serve(opts *ServeConfig) { // Register a listener so we can accept a connection listener, err := serverListener() if err != nil { - log.Printf("[ERR] plugin: plugin init: %s", err) + logger.Error("plugin init error", "error", err) return } - defer listener.Close() + + // Close the listener on return. We wrap this in a func() on purpose + // because the "listener" reference may change to TLS. + defer func() { + listener.Close() + }() + + var tlsConfig *tls.Config + if opts.TLSProvider != nil { + tlsConfig, err = opts.TLSProvider() + if err != nil { + logger.Error("plugin tls init", "error", err) + return + } + } // Create the channel to tell us when we're done doneCh := make(chan struct{}) - // Create the RPC server to dispense - server := &RPCServer{ - Plugins: opts.Plugins, - Stdout: stdout_r, - Stderr: stderr_r, - DoneCh: doneCh, + // Build the server type + var server ServerProtocol + switch opts.Protocol() { + case ProtocolNetRPC: + // If we have a TLS configuration then we wrap the listener + // ourselves and do it at that level. + if tlsConfig != nil { + listener = tls.NewListener(listener, tlsConfig) + } + + // Create the RPC server to dispense + server = &RPCServer{ + Plugins: opts.Plugins, + Stdout: stdout_r, + Stderr: stderr_r, + DoneCh: doneCh, + } + + case ProtocolGRPC: + // Create the gRPC server + server = &GRPCServer{ + Plugins: opts.Plugins, + Server: opts.GRPCServer, + TLS: tlsConfig, + Stdout: stdout_r, + Stderr: stderr_r, + DoneCh: doneCh, + } + + default: + panic("unknown server protocol: " + opts.Protocol()) + } + + // Initialize the servers + if err := server.Init(); err != nil { + logger.Error("protocol init", "error", err) + return } + // Build the extra configuration + extra := "" + if v := server.Config(); v != "" { + extra = base64.StdEncoding.EncodeToString([]byte(v)) + } + if extra != "" { + extra = "|" + extra + } + + logger.Debug("plugin address", "network", listener.Addr().Network(), "address", listener.Addr().String()) + // Output the address and service name to stdout so that core can bring it up. - log.Printf("[DEBUG] plugin: plugin address: %s %s\n", - listener.Addr().Network(), listener.Addr().String()) - fmt.Printf("%d|%d|%s|%s\n", + fmt.Printf("%d|%d|%s|%s|%s%s\n", CoreProtocolVersion, opts.ProtocolVersion, listener.Addr().Network(), - listener.Addr().String()) + listener.Addr().String(), + opts.Protocol(), + extra) os.Stdout.Sync() // Eat the interrupts @@ -127,9 +219,7 @@ func Serve(opts *ServeConfig) { for { <-ch newCount := atomic.AddInt32(&count, 1) - log.Printf( - "[DEBUG] plugin: received interrupt signal (count: %d). Ignoring.", - newCount) + logger.Debug("plugin received interrupt signal, ignoring", "count", newCount) } }() @@ -137,10 +227,8 @@ func Serve(opts *ServeConfig) { os.Stdout = stdout_w os.Stderr = stderr_w - // Serve - go server.Accept(listener) - - // Wait for the graceful exit + // Accept connections and wait for completion + go server.Serve(listener) <-doneCh } diff --git a/vendor/github.com/hashicorp/go-plugin/testing.go b/vendor/github.com/hashicorp/go-plugin/testing.go index 9086a1b45f60..c6bf7c4ed32e 100644 --- a/vendor/github.com/hashicorp/go-plugin/testing.go +++ b/vendor/github.com/hashicorp/go-plugin/testing.go @@ -4,7 +4,9 @@ import ( "bytes" "net" "net/rpc" - "testing" + + "github.com/mitchellh/go-testing-interface" + "google.golang.org/grpc" ) // The testing file contains test helpers that you can use outside of @@ -12,7 +14,7 @@ import ( // TestConn is a helper function for returning a client and server // net.Conn connected to each other. -func TestConn(t *testing.T) (net.Conn, net.Conn) { +func TestConn(t testing.T) (net.Conn, net.Conn) { // Listen to any local port. This listener will be closed // after a single connection is established. l, err := net.Listen("tcp", "127.0.0.1:0") @@ -46,7 +48,7 @@ func TestConn(t *testing.T) (net.Conn, net.Conn) { } // TestRPCConn returns a rpc client and server connected to each other. -func TestRPCConn(t *testing.T) (*rpc.Client, *rpc.Server) { +func TestRPCConn(t testing.T) (*rpc.Client, *rpc.Server) { clientConn, serverConn := TestConn(t) server := rpc.NewServer() @@ -58,7 +60,7 @@ func TestRPCConn(t *testing.T) (*rpc.Client, *rpc.Server) { // TestPluginRPCConn returns a plugin RPC client and server that are connected // together and configured. -func TestPluginRPCConn(t *testing.T, ps map[string]Plugin) (*RPCClient, *RPCServer) { +func TestPluginRPCConn(t testing.T, ps map[string]Plugin) (*RPCClient, *RPCServer) { // Create two net.Conns we can use to shuttle our control connection clientConn, serverConn := TestConn(t) @@ -74,3 +76,45 @@ func TestPluginRPCConn(t *testing.T, ps map[string]Plugin) (*RPCClient, *RPCServ return client, server } + +// TestPluginGRPCConn returns a plugin gRPC client and server that are connected +// together and configured. This is used to test gRPC connections. +func TestPluginGRPCConn(t testing.T, ps map[string]Plugin) (*GRPCClient, *GRPCServer) { + // Create a listener + l, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatalf("err: %s", err) + } + + // Start up the server + server := &GRPCServer{ + Plugins: ps, + Server: DefaultGRPCServer, + Stdout: new(bytes.Buffer), + Stderr: new(bytes.Buffer), + } + if err := server.Init(); err != nil { + t.Fatalf("err: %s", err) + } + go server.Serve(l) + + // Connect to the server + conn, err := grpc.Dial( + l.Addr().String(), + grpc.WithBlock(), + grpc.WithInsecure()) + if err != nil { + t.Fatalf("err: %s", err) + } + + // Connection successful, close the listener + l.Close() + + // Create the client + client := &GRPCClient{ + Conn: conn, + Plugins: ps, + } + + return client, server +} diff --git a/vendor/github.com/hashicorp/terraform/config/append.go b/vendor/github.com/hashicorp/terraform/config/append.go index 5f4e89eef7a5..9d80c42b7f3c 100644 --- a/vendor/github.com/hashicorp/terraform/config/append.go +++ b/vendor/github.com/hashicorp/terraform/config/append.go @@ -82,5 +82,11 @@ func Append(c1, c2 *Config) (*Config, error) { c.Variables = append(c.Variables, c2.Variables...) } + if len(c1.Locals) > 0 || len(c2.Locals) > 0 { + c.Locals = make([]*Local, 0, len(c1.Locals)+len(c2.Locals)) + c.Locals = append(c.Locals, c1.Locals...) + c.Locals = append(c.Locals, c2.Locals...) + } + return c, nil } diff --git a/vendor/github.com/hashicorp/terraform/config/config.go b/vendor/github.com/hashicorp/terraform/config/config.go index 3f756dcf4d85..949ad06d00e6 100644 --- a/vendor/github.com/hashicorp/terraform/config/config.go +++ b/vendor/github.com/hashicorp/terraform/config/config.go @@ -34,6 +34,7 @@ type Config struct { ProviderConfigs []*ProviderConfig Resources []*Resource Variables []*Variable + Locals []*Local Outputs []*Output // The fields below can be filled in by loaders for validation @@ -147,7 +148,7 @@ func (p *Provisioner) Copy() *Provisioner { } } -// Variable is a variable defined within the configuration. +// Variable is a module argument defined within the configuration. type Variable struct { Name string DeclaredType string `mapstructure:"type"` @@ -155,6 +156,12 @@ type Variable struct { Description string } +// Local is a local value defined within the configuration. +type Local struct { + Name string + RawConfig *RawConfig +} + // Output is an output defined within the configuration. An output is // resulting data that is highlighted by Terraform when finished. An // output marked Sensitive will be output in a masked form following @@ -550,6 +557,7 @@ func (c *Config) Validate() error { case *ResourceVariable: case *TerraformVariable: case *UserVariable: + case *LocalVariable: default: errs = append(errs, fmt.Errorf( @@ -680,6 +688,29 @@ func (c *Config) Validate() error { } } + // Check that all locals are valid + { + found := make(map[string]struct{}) + for _, l := range c.Locals { + if _, ok := found[l.Name]; ok { + errs = append(errs, fmt.Errorf( + "%s: duplicate local. local value names must be unique", + l.Name, + )) + continue + } + found[l.Name] = struct{}{} + + for _, v := range l.RawConfig.Variables { + if _, ok := v.(*CountVariable); ok { + errs = append(errs, fmt.Errorf( + "local %s: count variables are only valid within resources", l.Name, + )) + } + } + } + } + // Check that all outputs are valid { found := make(map[string]struct{}) diff --git a/vendor/github.com/hashicorp/terraform/config/config_string.go b/vendor/github.com/hashicorp/terraform/config/config_string.go index 0b3abbcd53a8..a6933c2a5f4b 100644 --- a/vendor/github.com/hashicorp/terraform/config/config_string.go +++ b/vendor/github.com/hashicorp/terraform/config/config_string.go @@ -143,6 +143,46 @@ func outputsStr(os []*Output) string { result += fmt.Sprintf(" %s: %s\n", kind, str) } } + + if o.Description != "" { + result += fmt.Sprintf(" description\n %s\n", o.Description) + } + } + + return strings.TrimSpace(result) +} + +func localsStr(ls []*Local) string { + ns := make([]string, 0, len(ls)) + m := make(map[string]*Local) + for _, l := range ls { + ns = append(ns, l.Name) + m[l.Name] = l + } + sort.Strings(ns) + + result := "" + for _, n := range ns { + l := m[n] + + result += fmt.Sprintf("%s\n", n) + + if len(l.RawConfig.Variables) > 0 { + result += fmt.Sprintf(" vars\n") + for _, rawV := range l.RawConfig.Variables { + kind := "unknown" + str := rawV.FullKey() + + switch rawV.(type) { + case *ResourceVariable: + kind = "resource" + case *UserVariable: + kind = "user" + } + + result += fmt.Sprintf(" %s: %s\n", kind, str) + } + } } return strings.TrimSpace(result) diff --git a/vendor/github.com/hashicorp/terraform/config/interpolate.go b/vendor/github.com/hashicorp/terraform/config/interpolate.go index bbb355541858..b18f2d3a110b 100644 --- a/vendor/github.com/hashicorp/terraform/config/interpolate.go +++ b/vendor/github.com/hashicorp/terraform/config/interpolate.go @@ -101,6 +101,12 @@ type UserVariable struct { key string } +// A LocalVariable is a variable that references a local value defined within +// the current module, via a "locals" block. This looks like "${local.foo}". +type LocalVariable struct { + Name string +} + func NewInterpolatedVariable(v string) (InterpolatedVariable, error) { if strings.HasPrefix(v, "count.") { return NewCountVariable(v) @@ -112,6 +118,8 @@ func NewInterpolatedVariable(v string) (InterpolatedVariable, error) { return NewTerraformVariable(v) } else if strings.HasPrefix(v, "var.") { return NewUserVariable(v) + } else if strings.HasPrefix(v, "local.") { + return NewLocalVariable(v) } else if strings.HasPrefix(v, "module.") { return NewModuleVariable(v) } else if !strings.ContainsRune(v, '.') { @@ -331,6 +339,25 @@ func (v *UserVariable) GoString() string { return fmt.Sprintf("*%#v", *v) } +func NewLocalVariable(key string) (*LocalVariable, error) { + name := key[len("local."):] + if idx := strings.Index(name, "."); idx > -1 { + return nil, fmt.Errorf("Can't use dot (.) attribute access in local.%s; use square bracket indexing", name) + } + + return &LocalVariable{ + Name: name, + }, nil +} + +func (v *LocalVariable) FullKey() string { + return fmt.Sprintf("local.%s", v.Name) +} + +func (v *LocalVariable) GoString() string { + return fmt.Sprintf("*%#v", *v) +} + // DetectVariables takes an AST root and returns all the interpolated // variables that are detected in the AST tree. func DetectVariables(root ast.Node) ([]InterpolatedVariable, error) { diff --git a/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go b/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go index a298cf2d3dca..b29b6b65a896 100644 --- a/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go +++ b/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go @@ -1,6 +1,8 @@ package config import ( + "bytes" + "compress/gzip" "crypto/md5" "crypto/sha1" "crypto/sha256" @@ -12,6 +14,7 @@ import ( "io/ioutil" "math" "net" + "net/url" "path/filepath" "regexp" "sort" @@ -58,6 +61,7 @@ func Funcs() map[string]ast.Function { "basename": interpolationFuncBasename(), "base64decode": interpolationFuncBase64Decode(), "base64encode": interpolationFuncBase64Encode(), + "base64gzip": interpolationFuncBase64Gzip(), "base64sha256": interpolationFuncBase64Sha256(), "base64sha512": interpolationFuncBase64Sha512(), "bcrypt": interpolationFuncBcrypt(), @@ -76,9 +80,11 @@ func Funcs() map[string]ast.Function { "element": interpolationFuncElement(), "file": interpolationFuncFile(), "matchkeys": interpolationFuncMatchKeys(), + "flatten": interpolationFuncFlatten(), "floor": interpolationFuncFloor(), "format": interpolationFuncFormat(), "formatlist": interpolationFuncFormatList(), + "indent": interpolationFuncIndent(), "index": interpolationFuncIndex(), "join": interpolationFuncJoin(), "jsonencode": interpolationFuncJSONEncode(), @@ -107,6 +113,7 @@ func Funcs() map[string]ast.Function { "title": interpolationFuncTitle(), "trimspace": interpolationFuncTrimSpace(), "upper": interpolationFuncUpper(), + "urlencode": interpolationFuncURLEncode(), "zipmap": interpolationFuncZipMap(), } } @@ -669,6 +676,21 @@ func interpolationFuncFormatList() ast.Function { } } +// interpolationFuncIndent indents a multi-line string with the +// specified number of spaces +func interpolationFuncIndent() ast.Function { + return ast.Function{ + ArgTypes: []ast.Type{ast.TypeInt, ast.TypeString}, + ReturnType: ast.TypeString, + Callback: func(args []interface{}) (interface{}, error) { + spaces := args[0].(int) + data := args[1].(string) + pad := strings.Repeat(" ", spaces) + return strings.Replace(data, "\n", "\n"+pad, -1), nil + }, + } +} + // interpolationFuncIndex implements the "index" function that allows one to // find the index of a specific element in a list func interpolationFuncIndex() ast.Function { @@ -823,8 +845,7 @@ func interpolationFuncJoin() ast.Function { } // interpolationFuncJSONEncode implements the "jsonencode" function that encodes -// a string, list, or map as its JSON representation. For now, values in the -// list or map may only be strings. +// a string, list, or map as its JSON representation. func interpolationFuncJSONEncode() ast.Function { return ast.Function{ ArgTypes: []ast.Type{ast.TypeAny}, @@ -837,28 +858,36 @@ func interpolationFuncJSONEncode() ast.Function { toEncode = typedArg case []ast.Variable: - // We preallocate the list here. Note that it's important that in - // the length 0 case, we have an empty list rather than nil, as - // they encode differently. - // XXX It would be nice to support arbitrarily nested data here. Is - // there an inverse of hil.InterfaceToVariable? strings := make([]string, len(typedArg)) for i, v := range typedArg { if v.Type != ast.TypeString { - return "", fmt.Errorf("list elements must be strings") + variable, _ := hil.InterfaceToVariable(typedArg) + toEncode, _ = hil.VariableToInterface(variable) + + jEnc, err := json.Marshal(toEncode) + if err != nil { + return "", fmt.Errorf("failed to encode JSON data '%s'", toEncode) + } + return string(jEnc), nil + } strings[i] = v.Value.(string) } toEncode = strings case map[string]ast.Variable: - // XXX It would be nice to support arbitrarily nested data here. Is - // there an inverse of hil.InterfaceToVariable? stringMap := make(map[string]string) for k, v := range typedArg { if v.Type != ast.TypeString { - return "", fmt.Errorf("map values must be strings") + variable, _ := hil.InterfaceToVariable(typedArg) + toEncode, _ = hil.VariableToInterface(variable) + + jEnc, err := json.Marshal(toEncode) + if err != nil { + return "", fmt.Errorf("failed to encode JSON data '%s'", toEncode) + } + return string(jEnc), nil } stringMap[k] = v.Value.(string) } @@ -1197,6 +1226,32 @@ func interpolationFuncBase64Decode() ast.Function { } } +// interpolationFuncBase64Gzip implements the "gzip" function that allows gzip +// compression encoding the result using base64 +func interpolationFuncBase64Gzip() ast.Function { + return ast.Function{ + ArgTypes: []ast.Type{ast.TypeString}, + ReturnType: ast.TypeString, + Callback: func(args []interface{}) (interface{}, error) { + s := args[0].(string) + + var b bytes.Buffer + gz := gzip.NewWriter(&b) + if _, err := gz.Write([]byte(s)); err != nil { + return "", fmt.Errorf("failed to write gzip raw data: '%s'", s) + } + if err := gz.Flush(); err != nil { + return "", fmt.Errorf("failed to flush gzip writer: '%s'", s) + } + if err := gz.Close(); err != nil { + return "", fmt.Errorf("failed to close gzip writer: '%s'", s) + } + + return base64.StdEncoding.EncodeToString(b.Bytes()), nil + }, + } +} + // interpolationFuncLower implements the "lower" function that does // string lower casing. func interpolationFuncLower() ast.Function { @@ -1453,3 +1508,41 @@ func interpolationFuncSubstr() ast.Function { }, } } + +// Flatten until it's not ast.TypeList +func flattener(finalList []ast.Variable, flattenList []ast.Variable) []ast.Variable { + for _, val := range flattenList { + if val.Type == ast.TypeList { + finalList = flattener(finalList, val.Value.([]ast.Variable)) + } else { + finalList = append(finalList, val) + } + } + return finalList +} + +// Flatten to single list +func interpolationFuncFlatten() ast.Function { + return ast.Function{ + ArgTypes: []ast.Type{ast.TypeList}, + ReturnType: ast.TypeList, + Variadic: false, + Callback: func(args []interface{}) (interface{}, error) { + inputList := args[0].([]ast.Variable) + + var outputList []ast.Variable + return flattener(outputList, inputList), nil + }, + } +} + +func interpolationFuncURLEncode() ast.Function { + return ast.Function{ + ArgTypes: []ast.Type{ast.TypeString}, + ReturnType: ast.TypeString, + Callback: func(args []interface{}) (interface{}, error) { + s := args[0].(string) + return url.QueryEscape(s), nil + }, + } +} diff --git a/vendor/github.com/hashicorp/terraform/config/loader_hcl.go b/vendor/github.com/hashicorp/terraform/config/loader_hcl.go index e85e493555a8..a88406291b0b 100644 --- a/vendor/github.com/hashicorp/terraform/config/loader_hcl.go +++ b/vendor/github.com/hashicorp/terraform/config/loader_hcl.go @@ -21,6 +21,7 @@ var ReservedResourceFields = []string{ "connection", "count", "depends_on", + "id", "lifecycle", "provider", "provisioner", @@ -28,6 +29,7 @@ var ReservedResourceFields = []string{ var ReservedProviderFields = []string{ "alias", + "id", "version", } @@ -35,6 +37,7 @@ func (t *hclConfigurable) Config() (*Config, error) { validKeys := map[string]struct{}{ "atlas": struct{}{}, "data": struct{}{}, + "locals": struct{}{}, "module": struct{}{}, "output": struct{}{}, "provider": struct{}{}, @@ -70,6 +73,15 @@ func (t *hclConfigurable) Config() (*Config, error) { } } + // Build local values + if locals := list.Filter("locals"); len(locals.Items) > 0 { + var err error + config.Locals, err = loadLocalsHcl(locals) + if err != nil { + return nil, err + } + } + // Get Atlas configuration if atlas := list.Filter("atlas"); len(atlas.Items) > 0 { var err error @@ -406,6 +418,59 @@ func loadModulesHcl(list *ast.ObjectList) ([]*Module, error) { return result, nil } +// loadLocalsHcl recurses into the given HCL object turns it into +// a list of locals. +func loadLocalsHcl(list *ast.ObjectList) ([]*Local, error) { + + result := make([]*Local, 0, len(list.Items)) + + for _, block := range list.Items { + if len(block.Keys) > 0 { + return nil, fmt.Errorf( + "locals block at %s should not have label %q", + block.Pos(), block.Keys[0].Token.Value(), + ) + } + + blockObj, ok := block.Val.(*ast.ObjectType) + if !ok { + return nil, fmt.Errorf("locals value at %s should be a block", block.Val.Pos()) + } + + // blockObj now contains directly our local decls + for _, item := range blockObj.List.Items { + if len(item.Keys) != 1 { + return nil, fmt.Errorf("local declaration at %s may not be a block", item.Val.Pos()) + } + + // By the time we get here there can only be one item left, but + // we'll decode into a map anyway because it's a convenient way + // to extract both the key and the value robustly. + kv := map[string]interface{}{} + hcl.DecodeObject(&kv, item) + for k, v := range kv { + rawConfig, err := NewRawConfig(map[string]interface{}{ + "value": v, + }) + + if err != nil { + return nil, fmt.Errorf( + "error parsing local value %q at %s: %s", + k, item.Val.Pos(), err, + ) + } + + result = append(result, &Local{ + Name: k, + RawConfig: rawConfig, + }) + } + } + } + + return result, nil +} + // LoadOutputsHcl recurses into the given HCL object and turns // it into a mapping of outputs. func loadOutputsHcl(list *ast.ObjectList) ([]*Output, error) { @@ -434,6 +499,7 @@ func loadOutputsHcl(list *ast.ObjectList) ([]*Output, error) { // Delete special keys delete(config, "depends_on") + delete(config, "description") rawConfig, err := NewRawConfig(config) if err != nil { @@ -455,10 +521,23 @@ func loadOutputsHcl(list *ast.ObjectList) ([]*Output, error) { } } + // If we have a description field, then filter that + var description string + if o := listVal.Filter("description"); len(o.Items) > 0 { + err := hcl.DecodeObject(&description, o.Items[0].Val) + if err != nil { + return nil, fmt.Errorf( + "Error reading description for output %q: %s", + n, + err) + } + } + result = append(result, &Output{ - Name: n, - RawConfig: rawConfig, - DependsOn: dependsOn, + Name: n, + RawConfig: rawConfig, + DependsOn: dependsOn, + Description: description, }) } diff --git a/vendor/github.com/hashicorp/terraform/config/merge.go b/vendor/github.com/hashicorp/terraform/config/merge.go index db214be45628..23798d652ffe 100644 --- a/vendor/github.com/hashicorp/terraform/config/merge.go +++ b/vendor/github.com/hashicorp/terraform/config/merge.go @@ -137,6 +137,21 @@ func Merge(c1, c2 *Config) (*Config, error) { } } + // Local Values + // These are simpler than the other config elements because they are just + // flat values and so no deep merging is required. + if localsCount := len(c1.Locals) + len(c2.Locals); localsCount != 0 { + // Explicit length check above because we want c.Locals to remain + // nil if the result would be empty. + c.Locals = make([]*Local, 0, len(c1.Locals)+len(c2.Locals)) + for _, v := range c1.Locals { + c.Locals = append(c.Locals, v) + } + for _, v := range c2.Locals { + c.Locals = append(c.Locals, v) + } + } + return c, nil } diff --git a/vendor/github.com/hashicorp/terraform/config/module/get.go b/vendor/github.com/hashicorp/terraform/config/module/get.go index 96b4a63c3d97..ba9d292594b0 100644 --- a/vendor/github.com/hashicorp/terraform/config/module/get.go +++ b/vendor/github.com/hashicorp/terraform/config/module/get.go @@ -1,10 +1,18 @@ package module import ( + "fmt" "io/ioutil" + "log" + "net/http" + "net/url" "os" + "regexp" + "strings" "github.com/hashicorp/go-getter" + + cleanhttp "github.com/hashicorp/go-cleanhttp" ) // GetMode is an enum that describes how modules are loaded. @@ -69,3 +77,131 @@ func getStorage(s getter.Storage, key string, src string, mode GetMode) (string, // Get the directory where the module is. return s.Dir(key) } + +const ( + registryAPI = "https://registry.terraform.io/v1/modules/" + xTerraformGet = "X-Terraform-Get" +) + +var detectors = []getter.Detector{ + new(getter.GitHubDetector), + new(getter.BitBucketDetector), + new(getter.S3Detector), + new(localDetector), + new(registryDetector), +} + +// these prefixes can't be registry IDs +// "http", "./", "/", "getter::" +var skipRegistry = regexp.MustCompile(`^(http|\./|/|[A-Za-z0-9]+::)`).MatchString + +// registryDetector implements getter.Detector to detect Terraform Registry modules. +// If a path looks like a registry module identifier, attempt to locate it in +// the registry. If it's not found, pass it on in case it can be found by +// other means. +type registryDetector struct { + // override the default registry URL + api string + + client *http.Client +} + +func (d registryDetector) Detect(src, _ string) (string, bool, error) { + // the namespace can't start with "http", a relative or absolute path, or + // contain a go-getter "forced getter" + if skipRegistry(src) { + return "", false, nil + } + + // there are 3 parts to a registry ID + if len(strings.Split(src, "/")) != 3 { + return "", false, nil + } + + return d.lookupModule(src) +} + +// Lookup the module in the registry. +func (d registryDetector) lookupModule(src string) (string, bool, error) { + if d.api == "" { + d.api = registryAPI + } + + if d.client == nil { + d.client = cleanhttp.DefaultClient() + } + + // src is already partially validated in Detect. We know it's a path, and + // if it can be parsed as a URL we will hand it off to the registry to + // determine if it's truly valid. + resp, err := d.client.Get(fmt.Sprintf("%s/%s/download", d.api, src)) + if err != nil { + log.Printf("[WARN] error looking up module %q: %s", src, err) + return "", false, nil + } + defer resp.Body.Close() + + // there should be no body, but save it for logging + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + fmt.Printf("[WARN] error reading response body from registry: %s", err) + return "", false, nil + } + + switch resp.StatusCode { + case http.StatusOK, http.StatusNoContent: + // OK + case http.StatusNotFound: + log.Printf("[INFO] module %q not found in registry", src) + return "", false, nil + default: + // anything else is an error: + log.Printf("[WARN] error getting download location for %q: %s resp:%s", src, resp.Status, body) + return "", false, nil + } + + // the download location is in the X-Terraform-Get header + location := resp.Header.Get(xTerraformGet) + if location == "" { + return "", false, fmt.Errorf("failed to get download URL for %q: %s resp:%s", src, resp.Status, body) + } + + return location, true, nil +} + +// localDetector wraps the default getter.FileDetector and checks if the module +// exists in the local filesystem. The default FileDetector only converts paths +// into file URLs, and returns found. We want to first check for a local module +// before passing it off to the registryDetector so we don't inadvertently +// replace a local module with a registry module of the same name. +type localDetector struct{} + +func (d localDetector) Detect(src, wd string) (string, bool, error) { + localSrc, ok, err := new(getter.FileDetector).Detect(src, wd) + if err != nil { + return src, ok, err + } + + if !ok { + return "", false, nil + } + + u, err := url.Parse(localSrc) + if err != nil { + return "", false, err + } + + _, err = os.Stat(u.Path) + + // just continue detection if it doesn't exist + if os.IsNotExist(err) { + return "", false, nil + } + + // return any other errors + if err != nil { + return "", false, err + } + + return localSrc, true, nil +} diff --git a/vendor/github.com/hashicorp/terraform/config/module/tree.go b/vendor/github.com/hashicorp/terraform/config/module/tree.go index 4b0b153f726d..a4398016ab46 100644 --- a/vendor/github.com/hashicorp/terraform/config/module/tree.go +++ b/vendor/github.com/hashicorp/terraform/config/module/tree.go @@ -4,7 +4,6 @@ import ( "bufio" "bytes" "fmt" - "path/filepath" "strings" "sync" @@ -177,23 +176,14 @@ func (t *Tree) Load(s getter.Storage, mode GetMode) error { copy(path, t.path) path = append(path, m.Name) - // Split out the subdir if we have one - source, subDir := getter.SourceDirSubdir(m.Source) - - source, err := getter.Detect(source, t.config.Dir, getter.Detectors) + source, err := getter.Detect(m.Source, t.config.Dir, detectors) if err != nil { return fmt.Errorf("module %s: %s", m.Name, err) } - - // Check if the detector introduced something new. - source, subDir2 := getter.SourceDirSubdir(source) - if subDir2 != "" { - subDir = filepath.Join(subDir2, subDir) - } - // Get the directory where this module is so we can load it key := strings.Join(path, ".") - key = fmt.Sprintf("root.%s-%s", key, m.Source) + key = fmt.Sprintf("module.%s-%s", key, m.Source) + dir, ok, err := getStorage(s, key, source, mode) if err != nil { return err @@ -203,12 +193,6 @@ func (t *Tree) Load(s getter.Storage, mode GetMode) error { "module %s: not found, may need to be downloaded using 'terraform get'", m.Name) } - // If we have a subdirectory, then merge that in - if subDir != "" { - dir = filepath.Join(dir, subDir) - } - - // Load the configurations.Dir(source) children[m.Name], err = NewTreeModule(m.Name, dir) if err != nil { return fmt.Errorf( diff --git a/vendor/github.com/hashicorp/terraform/config/testing.go b/vendor/github.com/hashicorp/terraform/config/testing.go index f7bfadd9e84a..831fc77867f2 100644 --- a/vendor/github.com/hashicorp/terraform/config/testing.go +++ b/vendor/github.com/hashicorp/terraform/config/testing.go @@ -6,6 +6,8 @@ import ( // TestRawConfig is used to create a RawConfig for testing. func TestRawConfig(t *testing.T, c map[string]interface{}) *RawConfig { + t.Helper() + cfg, err := NewRawConfig(c) if err != nil { t.Fatalf("err: %s", err) diff --git a/vendor/github.com/hashicorp/terraform/dag/walk.go b/vendor/github.com/hashicorp/terraform/dag/walk.go index 23c87adc1ab3..f03b10030be0 100644 --- a/vendor/github.com/hashicorp/terraform/dag/walk.go +++ b/vendor/github.com/hashicorp/terraform/dag/walk.go @@ -166,7 +166,7 @@ func (w *Walker) Update(g *AcyclicGraph) { w.wait.Add(1) // Add to our own set so we know about it already - log.Printf("[DEBUG] dag/walk: added new vertex: %q", VertexName(v)) + log.Printf("[TRACE] dag/walk: added new vertex: %q", VertexName(v)) w.vertices.Add(raw) // Initialize the vertex info @@ -198,7 +198,7 @@ func (w *Walker) Update(g *AcyclicGraph) { // Delete it out of the map delete(w.vertexMap, v) - log.Printf("[DEBUG] dag/walk: removed vertex: %q", VertexName(v)) + log.Printf("[TRACE] dag/walk: removed vertex: %q", VertexName(v)) w.vertices.Delete(raw) } @@ -229,7 +229,7 @@ func (w *Walker) Update(g *AcyclicGraph) { changedDeps.Add(waiter) log.Printf( - "[DEBUG] dag/walk: added edge: %q waiting on %q", + "[TRACE] dag/walk: added edge: %q waiting on %q", VertexName(waiter), VertexName(dep)) w.edges.Add(raw) } @@ -253,7 +253,7 @@ func (w *Walker) Update(g *AcyclicGraph) { changedDeps.Add(waiter) log.Printf( - "[DEBUG] dag/walk: removed edge: %q waiting on %q", + "[TRACE] dag/walk: removed edge: %q waiting on %q", VertexName(waiter), VertexName(dep)) w.edges.Delete(raw) } @@ -296,7 +296,7 @@ func (w *Walker) Update(g *AcyclicGraph) { info.depsCancelCh = cancelCh log.Printf( - "[DEBUG] dag/walk: dependencies changed for %q, sending new deps", + "[TRACE] dag/walk: dependencies changed for %q, sending new deps", VertexName(v)) // Start the waiter @@ -383,10 +383,10 @@ func (w *Walker) walkVertex(v Vertex, info *walkerVertex) { // Run our callback or note that our upstream failed var err error if depsSuccess { - log.Printf("[DEBUG] dag/walk: walking %q", VertexName(v)) + log.Printf("[TRACE] dag/walk: walking %q", VertexName(v)) err = w.Callback(v) } else { - log.Printf("[DEBUG] dag/walk: upstream errored, not walking %q", VertexName(v)) + log.Printf("[TRACE] dag/walk: upstream errored, not walking %q", VertexName(v)) err = errWalkUpstream } @@ -423,7 +423,7 @@ func (w *Walker) waitDeps( return case <-time.After(time.Second * 5): - log.Printf("[DEBUG] dag/walk: vertex %q, waiting for: %q", + log.Printf("[TRACE] dag/walk: vertex %q, waiting for: %q", VertexName(v), VertexName(dep)) } } diff --git a/vendor/github.com/hashicorp/terraform/helper/resource/testing.go b/vendor/github.com/hashicorp/terraform/helper/resource/testing.go index d7de1a030a41..8db38a77c5ba 100644 --- a/vendor/github.com/hashicorp/terraform/helper/resource/testing.go +++ b/vendor/github.com/hashicorp/terraform/helper/resource/testing.go @@ -186,6 +186,10 @@ type TestCheckFunc func(*terraform.State) error // ImportStateCheckFunc is the check function for ImportState tests type ImportStateCheckFunc func([]*terraform.InstanceState) error +// ImportStateIdFunc is an ID generation function to help with complex ID +// generation for ImportState tests. +type ImportStateIdFunc func(*terraform.State) (string, error) + // TestCase is a single acceptance test case used to test the apply/destroy // lifecycle of a resource in a specific configuration. // @@ -308,6 +312,10 @@ type TestStep struct { // are tested alongside real resources PreventPostDestroyRefresh bool + // SkipFunc is called before applying config, but after PreConfig + // This is useful for defining test steps with platform-dependent checks + SkipFunc func() (bool, error) + //--------------------------------------------------------------- // ImportState testing //--------------------------------------------------------------- @@ -329,6 +337,12 @@ type TestStep struct { // the unset ImportStateId field. ImportStateIdPrefix string + // ImportStateIdFunc is a function that can be used to dynamically generate + // the ID for the ImportState tests. It is sent the state, which can be + // checked to derive the attributes necessary and generate the string in the + // desired format. + ImportStateIdFunc ImportStateIdFunc + // ImportStateCheck checks the results of ImportState. It should be // used to verify that the resulting value of ImportState has the // proper resources, IDs, and attributes. @@ -398,7 +412,18 @@ func Test(t TestT, c TestCase) { errored := false for i, step := range c.Steps { var err error - log.Printf("[WARN] Test: Executing step %d", i) + log.Printf("[DEBUG] Test: Executing step %d", i) + + if step.SkipFunc != nil { + skip, err := step.SkipFunc() + if err != nil { + t.Fatal(err) + } + if skip { + log.Printf("[WARN] Skipping step %d", i) + continue + } + } if step.Config == "" && !step.ImportState { err = fmt.Errorf( diff --git a/vendor/github.com/hashicorp/terraform/helper/resource/testing_import_state.go b/vendor/github.com/hashicorp/terraform/helper/resource/testing_import_state.go index 28ad105267d4..94fef3cfbe8b 100644 --- a/vendor/github.com/hashicorp/terraform/helper/resource/testing_import_state.go +++ b/vendor/github.com/hashicorp/terraform/helper/resource/testing_import_state.go @@ -16,15 +16,24 @@ func testStepImportState( state *terraform.State, step TestStep) (*terraform.State, error) { // Determine the ID to import - importId := step.ImportStateId - if importId == "" { + var importId string + switch { + case step.ImportStateIdFunc != nil: + var err error + importId, err = step.ImportStateIdFunc(state) + if err != nil { + return state, err + } + case step.ImportStateId != "": + importId = step.ImportStateId + default: resource, err := testResource(step, state) if err != nil { return state, err } - importId = resource.Primary.ID } + importPrefix := step.ImportStateIdPrefix if importPrefix != "" { importId = fmt.Sprintf("%s%s", importPrefix, importId) diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go b/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go index 16bbae296139..644b93e6a05e 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go @@ -29,29 +29,59 @@ type DiffFieldReader struct { Diff *terraform.InstanceDiff Source FieldReader Schema map[string]*Schema + + // cache for memoizing ReadField calls. + cache map[string]cachedFieldReadResult +} + +type cachedFieldReadResult struct { + val FieldReadResult + err error } func (r *DiffFieldReader) ReadField(address []string) (FieldReadResult, error) { + if r.cache == nil { + r.cache = make(map[string]cachedFieldReadResult) + } + + // Create the cache key by joining around a value that isn't a valid part + // of an address. This assumes that the Source and Schema are not changed + // for the life of this DiffFieldReader. + cacheKey := strings.Join(address, "|") + if cached, ok := r.cache[cacheKey]; ok { + return cached.val, cached.err + } + schemaList := addrToSchema(address, r.Schema) if len(schemaList) == 0 { + r.cache[cacheKey] = cachedFieldReadResult{} return FieldReadResult{}, nil } + var res FieldReadResult + var err error + schema := schemaList[len(schemaList)-1] switch schema.Type { case TypeBool, TypeInt, TypeFloat, TypeString: - return r.readPrimitive(address, schema) + res, err = r.readPrimitive(address, schema) case TypeList: - return readListField(r, address, schema) + res, err = readListField(r, address, schema) case TypeMap: - return r.readMap(address, schema) + res, err = r.readMap(address, schema) case TypeSet: - return r.readSet(address, schema) + res, err = r.readSet(address, schema) case typeObject: - return readObjectField(r, address, schema.Elem.(map[string]*Schema)) + res, err = readObjectField(r, address, schema.Elem.(map[string]*Schema)) default: panic(fmt.Sprintf("Unknown type: %#v", schema.Type)) } + + r.cache[cacheKey] = cachedFieldReadResult{ + val: res, + err: err, + } + return res, err } func (r *DiffFieldReader) readMap( diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go index b2bc8f6c7c5a..15aa0b5d49cd 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go @@ -104,6 +104,22 @@ func (d *ResourceData) GetOk(key string) (interface{}, bool) { return r.Value, exists } +// GetOkExists returns the data for a given key and whether or not the key +// has been set to a non-zero value. This is only useful for determining +// if boolean attributes have been set, if they are Optional but do not +// have a Default value. +// +// This is nearly the same function as GetOk, yet it does not check +// for the zero value of the attribute's type. This allows for attributes +// without a default, to fully check for a literal assignment, regardless +// of the zero-value for that type. +// This should only be used if absolutely required/needed. +func (d *ResourceData) GetOkExists(key string) (interface{}, bool) { + r := d.getRaw(key, getSourceSet) + exists := r.Exists && !r.Computed + return r.Value, exists +} + func (d *ResourceData) getRaw(key string, level getSource) getResult { var parts []string if key != "" { diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/set.go b/vendor/github.com/hashicorp/terraform/helper/schema/set.go index de05f40eed91..bb194ee65059 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/set.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/set.go @@ -153,6 +153,31 @@ func (s *Set) Equal(raw interface{}) bool { return reflect.DeepEqual(s.m, other.m) } +// HashEqual simply checks to the keys the top-level map to the keys in the +// other set's top-level map to see if they are equal. This obviously assumes +// you have a properly working hash function - use HashResource if in doubt. +func (s *Set) HashEqual(raw interface{}) bool { + other, ok := raw.(*Set) + if !ok { + return false + } + + ks1 := make([]string, 0) + ks2 := make([]string, 0) + + for k := range s.m { + ks1 = append(ks1, k) + } + for k := range other.m { + ks2 = append(ks2, k) + } + + sort.Strings(ks1) + sort.Strings(ks2) + + return reflect.DeepEqual(ks1, ks2) +} + func (s *Set) GoString() string { return fmt.Sprintf("*Set(%#v)", s.m) } diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/testing.go b/vendor/github.com/hashicorp/terraform/helper/schema/testing.go index 9765bdbc6dcf..353c9366afa8 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/testing.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/testing.go @@ -10,6 +10,8 @@ import ( // TestResourceDataRaw creates a ResourceData from a raw configuration map. func TestResourceDataRaw( t *testing.T, schema map[string]*Schema, raw map[string]interface{}) *ResourceData { + t.Helper() + c, err := config.NewRawConfig(raw) if err != nil { t.Fatalf("err: %s", err) diff --git a/vendor/github.com/hashicorp/terraform/helper/validation/validation.go b/vendor/github.com/hashicorp/terraform/helper/validation/validation.go index 221433b7cb19..48940fafb90b 100644 --- a/vendor/github.com/hashicorp/terraform/helper/validation/validation.go +++ b/vendor/github.com/hashicorp/terraform/helper/validation/validation.go @@ -3,6 +3,7 @@ package validation import ( "fmt" "net" + "regexp" "strings" "github.com/hashicorp/terraform/helper/schema" @@ -138,9 +139,34 @@ func CIDRNetwork(min, max int) schema.SchemaValidateFunc { } } +// ValidateJsonString is a SchemaValidateFunc which tests to make sure the +// supplied string is valid JSON. func ValidateJsonString(v interface{}, k string) (ws []string, errors []error) { if _, err := structure.NormalizeJsonString(v); err != nil { errors = append(errors, fmt.Errorf("%q contains an invalid JSON: %s", k, err)) } return } + +// ValidateListUniqueStrings is a ValidateFunc that ensures a list has no +// duplicate items in it. It's useful for when a list is needed over a set +// because order matters, yet the items still need to be unique. +func ValidateListUniqueStrings(v interface{}, k string) (ws []string, errors []error) { + for n1, v1 := range v.([]interface{}) { + for n2, v2 := range v.([]interface{}) { + if v1.(string) == v2.(string) && n1 != n2 { + errors = append(errors, fmt.Errorf("%q: duplicate entry - %s", k, v1.(string))) + } + } + } + return +} + +// ValidateRegexp returns a SchemaValidateFunc which tests to make sure the +// supplied string is a valid regular expression. +func ValidateRegexp(v interface{}, k string) (ws []string, errors []error) { + if _, err := regexp.Compile(v.(string)); err != nil { + errors = append(errors, fmt.Errorf("%q: %s", k, err)) + } + return +} diff --git a/vendor/github.com/hashicorp/terraform/plugin/client.go b/vendor/github.com/hashicorp/terraform/plugin/client.go index 3a5cb7af0524..7e2f4fecb27f 100644 --- a/vendor/github.com/hashicorp/terraform/plugin/client.go +++ b/vendor/github.com/hashicorp/terraform/plugin/client.go @@ -1,8 +1,10 @@ package plugin import ( + "os" "os/exec" + hclog "github.com/hashicorp/go-hclog" plugin "github.com/hashicorp/go-plugin" "github.com/hashicorp/terraform/plugin/discovery" ) @@ -10,11 +12,18 @@ import ( // ClientConfig returns a configuration object that can be used to instantiate // a client for the plugin described by the given metadata. func ClientConfig(m discovery.PluginMeta) *plugin.ClientConfig { + logger := hclog.New(&hclog.LoggerOptions{ + Name: "plugin", + Level: hclog.Trace, + Output: os.Stderr, + }) + return &plugin.ClientConfig{ Cmd: exec.Command(m.Path), HandshakeConfig: Handshake, Managed: true, Plugins: PluginMap, + Logger: logger, } } diff --git a/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go b/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go index f5bc4c1c70ef..10f8fce94329 100644 --- a/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go +++ b/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go @@ -59,7 +59,6 @@ func findPluginPaths(kind string, dirs []string) []string { fullName := item.Name() if !strings.HasPrefix(fullName, prefix) { - log.Printf("[DEBUG] skipping %q, not a %s", fullName, kind) continue } diff --git a/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go b/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go index 241b5cb3bf71..64d2b695e20c 100644 --- a/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go +++ b/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go @@ -16,6 +16,7 @@ import ( cleanhttp "github.com/hashicorp/go-cleanhttp" getter "github.com/hashicorp/go-getter" multierror "github.com/hashicorp/go-multierror" + "github.com/mitchellh/cli" ) // Releases are located by parsing the html listing from releases.hashicorp.com. @@ -58,6 +59,8 @@ type ProviderInstaller struct { // Skip checksum and signature verification SkipVerify bool + + Ui cli.Ui // Ui for output } // Get is part of an implementation of type Installer, and attempts to download @@ -116,6 +119,7 @@ func (i *ProviderInstaller) Get(provider string, req Constraints) (PluginMeta, e log.Printf("[DEBUG] fetching provider info for %s version %s", provider, v) if checkPlugin(url, i.PluginProtocolVersion) { + i.Ui.Info(fmt.Sprintf("- Downloading plugin for provider %q (%s)...", provider, v.String())) log.Printf("[DEBUG] getting provider %q version %q at %s", provider, v, url) err := getter.Get(i.Dir, url) if err != nil { @@ -422,3 +426,7 @@ func getFile(url string) ([]byte, error) { } return data, nil } + +func GetReleaseHost() string { + return releaseHost +} diff --git a/vendor/github.com/hashicorp/terraform/terraform/context.go b/vendor/github.com/hashicorp/terraform/terraform/context.go index a814a85ddcad..28ca14cbf438 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/context.go +++ b/vendor/github.com/hashicorp/terraform/terraform/context.go @@ -12,7 +12,6 @@ import ( "github.com/hashicorp/hcl" "github.com/hashicorp/terraform/config" "github.com/hashicorp/terraform/config/module" - "github.com/hashicorp/terraform/helper/experiment" ) // InputMode defines what sort of input will be asked for when Input @@ -123,7 +122,7 @@ type Context struct { func NewContext(opts *ContextOpts) (*Context, error) { // Validate the version requirement if it is given if opts.Module != nil { - if err := checkRequiredVersion(opts.Module); err != nil { + if err := CheckRequiredVersion(opts.Module); err != nil { return nil, err } } @@ -465,7 +464,7 @@ func (c *Context) Input(mode InputMode) error { } // Do the walk - if _, err := c.walk(graph, nil, walkInput); err != nil { + if _, err := c.walk(graph, walkInput); err != nil { return err } } @@ -506,7 +505,7 @@ func (c *Context) Apply() (*State, error) { } // Walk the graph - walker, err := c.walk(graph, graph, operation) + walker, err := c.walk(graph, operation) if len(walker.ValidationErrors) > 0 { err = multierror.Append(err, walker.ValidationErrors...) } @@ -575,7 +574,7 @@ func (c *Context) Plan() (*Plan, error) { } // Do the walk - walker, err := c.walk(graph, graph, operation) + walker, err := c.walk(graph, operation) if err != nil { return nil, err } @@ -630,7 +629,7 @@ func (c *Context) Refresh() (*State, error) { } // Do the walk - if _, err := c.walk(graph, graph, walkRefresh); err != nil { + if _, err := c.walk(graph, walkRefresh); err != nil { return nil, err } @@ -705,7 +704,7 @@ func (c *Context) Validate() ([]string, []error) { } // Walk - walker, err := c.walk(graph, graph, walkValidate) + walker, err := c.walk(graph, walkValidate) if err != nil { return nil, multierror.Append(errs, err).Errors } @@ -792,33 +791,11 @@ func (c *Context) releaseRun() { c.runContext = nil } -func (c *Context) walk( - graph, shadow *Graph, operation walkOperation) (*ContextGraphWalker, error) { +func (c *Context) walk(graph *Graph, operation walkOperation) (*ContextGraphWalker, error) { // Keep track of the "real" context which is the context that does // the real work: talking to real providers, modifying real state, etc. realCtx := c - // If we don't want shadowing, remove it - if !experiment.Enabled(experiment.X_shadow) { - shadow = nil - } - - // Just log this so we can see it in a debug log - if !c.shadow { - log.Printf("[WARN] terraform: shadow graph disabled") - shadow = nil - } - - // If we have a shadow graph, walk that as well - var shadowCtx *Context - var shadowCloser Shadow - if shadow != nil { - // Build the shadow context. In the process, override the real context - // with the one that is wrapped so that the shadow context can verify - // the results of the real. - realCtx, shadowCtx, shadowCloser = newShadowContext(c) - } - log.Printf("[DEBUG] Starting graph walk: %s", operation.String()) walker := &ContextGraphWalker{ @@ -837,90 +814,6 @@ func (c *Context) walk( close(watchStop) <-watchWait - // If we have a shadow graph and we interrupted the real graph, then - // we just close the shadow and never verify it. It is non-trivial to - // recreate the exact execution state up until an interruption so this - // isn't supported with shadows at the moment. - if shadowCloser != nil && c.sh.Stopped() { - // Ignore the error result, there is nothing we could care about - shadowCloser.CloseShadow() - - // Set it to nil so we don't do anything - shadowCloser = nil - } - - // If we have a shadow graph, wait for that to complete. - if shadowCloser != nil { - // Build the graph walker for the shadow. We also wrap this in - // a panicwrap so that panics are captured. For the shadow graph, - // we just want panics to be normal errors rather than to crash - // Terraform. - shadowWalker := GraphWalkerPanicwrap(&ContextGraphWalker{ - Context: shadowCtx, - Operation: operation, - }) - - // Kick off the shadow walk. This will block on any operations - // on the real walk so it is fine to start first. - log.Printf("[INFO] Starting shadow graph walk: %s", operation.String()) - shadowCh := make(chan error) - go func() { - shadowCh <- shadow.Walk(shadowWalker) - }() - - // Notify the shadow that we're done - if err := shadowCloser.CloseShadow(); err != nil { - c.shadowErr = multierror.Append(c.shadowErr, err) - } - - // Wait for the walk to end - log.Printf("[DEBUG] Waiting for shadow graph to complete...") - shadowWalkErr := <-shadowCh - - // Get any shadow errors - if err := shadowCloser.ShadowError(); err != nil { - c.shadowErr = multierror.Append(c.shadowErr, err) - } - - // Verify the contexts (compare) - if err := shadowContextVerify(realCtx, shadowCtx); err != nil { - c.shadowErr = multierror.Append(c.shadowErr, err) - } - - // At this point, if we're supposed to fail on error, then - // we PANIC. Some tests just verify that there is an error, - // so simply appending it to realErr and returning could hide - // shadow problems. - // - // This must be done BEFORE appending shadowWalkErr since the - // shadowWalkErr may include expected errors. - // - // We only do this if we don't have a real error. In the case of - // a real error, we can't guarantee what nodes were and weren't - // traversed in parallel scenarios so we can't guarantee no - // shadow errors. - if c.shadowErr != nil && contextFailOnShadowError && realErr == nil { - panic(multierror.Prefix(c.shadowErr, "shadow graph:")) - } - - // Now, if we have a walk error, we append that through - if shadowWalkErr != nil { - c.shadowErr = multierror.Append(c.shadowErr, shadowWalkErr) - } - - if c.shadowErr == nil { - log.Printf("[INFO] Shadow graph success!") - } else { - log.Printf("[ERROR] Shadow graph error: %s", c.shadowErr) - - // If we're supposed to fail on shadow errors, then report it - if contextFailOnShadowError { - realErr = multierror.Append(realErr, multierror.Prefix( - c.shadowErr, "shadow graph:")) - } - } - } - return walker, realErr } diff --git a/vendor/github.com/hashicorp/terraform/terraform/context_import.go b/vendor/github.com/hashicorp/terraform/terraform/context_import.go index f1d57760df3e..e94014319720 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/context_import.go +++ b/vendor/github.com/hashicorp/terraform/terraform/context_import.go @@ -66,7 +66,7 @@ func (c *Context) Import(opts *ImportOpts) (*State, error) { } // Walk it - if _, err := c.walk(graph, nil, walkImport); err != nil { + if _, err := c.walk(graph, walkImport); err != nil { return c.state, err } diff --git a/vendor/github.com/hashicorp/terraform/terraform/diff.go b/vendor/github.com/hashicorp/terraform/terraform/diff.go index fd1687e7ed6c..9cbd5d88fa7a 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/diff.go +++ b/vendor/github.com/hashicorp/terraform/terraform/diff.go @@ -23,6 +23,12 @@ const ( DiffUpdate DiffDestroy DiffDestroyCreate + + // DiffRefresh is only used in the UI for displaying diffs. + // Managed resource reads never appear in plan, and when data source + // reads appear they are represented as DiffCreate in core before + // transforming to DiffRefresh in the UI layer. + DiffRefresh // TODO: Actually use DiffRefresh in core too, for less confusion ) // multiVal matches the index key to a flatmapped set, list or map diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval.go b/vendor/github.com/hashicorp/terraform/terraform/eval.go index 3cb088a252a9..10d9c228b4db 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/eval.go +++ b/vendor/github.com/hashicorp/terraform/terraform/eval.go @@ -49,11 +49,11 @@ func EvalRaw(n EvalNode, ctx EvalContext) (interface{}, error) { path = strings.Join(ctx.Path(), ".") } - log.Printf("[DEBUG] %s: eval: %T", path, n) + log.Printf("[TRACE] %s: eval: %T", path, n) output, err := n.Eval(ctx) if err != nil { if _, ok := err.(EvalEarlyExitError); ok { - log.Printf("[DEBUG] %s: eval: %T, err: %s", path, n, err) + log.Printf("[TRACE] %s: eval: %T, err: %s", path, n, err) } else { log.Printf("[ERROR] %s: eval: %T, err: %s", path, n, err) } diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_apply.go b/vendor/github.com/hashicorp/terraform/terraform/eval_apply.go index 2f6a4973e454..36c98458eb96 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/eval_apply.go +++ b/vendor/github.com/hashicorp/terraform/terraform/eval_apply.go @@ -112,7 +112,7 @@ func (n *EvalApplyPre) Eval(ctx EvalContext) (interface{}, error) { } state.init() - { + if resourceHasUserVisibleApply(n.Info) { // Call post-apply hook err := ctx.Hook(func(h Hook) (HookAction, error) { return h.PreApply(n.Info, state, diff) @@ -136,7 +136,7 @@ type EvalApplyPost struct { func (n *EvalApplyPost) Eval(ctx EvalContext) (interface{}, error) { state := *n.State - { + if resourceHasUserVisibleApply(n.Info) { // Call post-apply hook err := ctx.Hook(func(h Hook) (HookAction, error) { return h.PostApply(n.Info, state, *n.Error) @@ -149,6 +149,22 @@ func (n *EvalApplyPost) Eval(ctx EvalContext) (interface{}, error) { return nil, *n.Error } +// resourceHasUserVisibleApply returns true if the given resource is one where +// apply actions should be exposed to the user. +// +// Certain resources do apply actions only as an implementation detail, so +// these should not be advertised to code outside of this package. +func resourceHasUserVisibleApply(info *InstanceInfo) bool { + addr := info.ResourceAddress() + + // Only managed resources have user-visible apply actions. + // In particular, this excludes data resources since we "apply" these + // only as an implementation detail of removing them from state when + // they are destroyed. (When reading, they don't get here at all because + // we present them as "Refresh" actions.) + return addr.Mode == config.ManagedResourceMode +} + // EvalApplyProvisioners is an EvalNode implementation that executes // the provisioners for a resource. // diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go b/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go index 6825ff59092f..df3bcb98e2ff 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go +++ b/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go @@ -1,6 +1,10 @@ package terraform -import "github.com/hashicorp/terraform/config" +import ( + "log" + + "github.com/hashicorp/terraform/config" +) // EvalInterpolate is an EvalNode implementation that takes a raw // configuration and interpolates it. @@ -22,3 +26,28 @@ func (n *EvalInterpolate) Eval(ctx EvalContext) (interface{}, error) { return nil, nil } + +// EvalTryInterpolate is an EvalNode implementation that takes a raw +// configuration and interpolates it, but only logs a warning on an +// interpolation error, and stops further Eval steps. +// This is used during Input where a value may not be known before Refresh, but +// we don't want to block Input. +type EvalTryInterpolate struct { + Config *config.RawConfig + Resource *Resource + Output **ResourceConfig +} + +func (n *EvalTryInterpolate) Eval(ctx EvalContext) (interface{}, error) { + rc, err := ctx.Interpolate(n.Config, n.Resource) + if err != nil { + log.Printf("[WARN] Interpolation %q failed: %s", n.Config.Key, err) + return nil, EvalEarlyExitError{} + } + + if n.Output != nil { + *n.Output = rc + } + + return nil, nil +} diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_local.go b/vendor/github.com/hashicorp/terraform/terraform/eval_local.go new file mode 100644 index 000000000000..1b63bf4f4f5e --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/terraform/eval_local.go @@ -0,0 +1,58 @@ +package terraform + +import ( + "fmt" + + "github.com/hashicorp/terraform/config" +) + +// EvalLocal is an EvalNode implementation that evaluates the +// expression for a local value and writes it into a transient part of +// the state. +type EvalLocal struct { + Name string + Value *config.RawConfig +} + +func (n *EvalLocal) Eval(ctx EvalContext) (interface{}, error) { + cfg, err := ctx.Interpolate(n.Value, nil) + if err != nil { + return nil, fmt.Errorf("local.%s: %s", n.Name, err) + } + + state, lock := ctx.State() + if state == nil { + return nil, fmt.Errorf("cannot write local value to nil state") + } + + // Get a write lock so we can access the state + lock.Lock() + defer lock.Unlock() + + // Look for the module state. If we don't have one, create it. + mod := state.ModuleByPath(ctx.Path()) + if mod == nil { + mod = state.AddModule(ctx.Path()) + } + + // Get the value from the config + var valueRaw interface{} = config.UnknownVariableValue + if cfg != nil { + var ok bool + valueRaw, ok = cfg.Get("value") + if !ok { + valueRaw = "" + } + if cfg.IsComputed("value") { + valueRaw = config.UnknownVariableValue + } + } + + if mod.Locals == nil { + // initialize + mod.Locals = map[string]interface{}{} + } + mod.Locals[n.Name] = valueRaw + + return nil, nil +} diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_state.go b/vendor/github.com/hashicorp/terraform/terraform/eval_state.go index 126a0e63a9d2..1f67e3d86b46 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/eval_state.go +++ b/vendor/github.com/hashicorp/terraform/terraform/eval_state.go @@ -1,6 +1,8 @@ package terraform -import "fmt" +import ( + "fmt" +) // EvalReadState is an EvalNode implementation that reads the // primary InstanceState for a specific resource out of the state. diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph.go b/vendor/github.com/hashicorp/terraform/terraform/graph.go index 48ce6a336679..735ec4ecebd5 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/graph.go +++ b/vendor/github.com/hashicorp/terraform/terraform/graph.go @@ -70,7 +70,7 @@ func (g *Graph) walk(walker GraphWalker) error { // Walk the graph. var walkFn dag.WalkFunc walkFn = func(v dag.Vertex) (rerr error) { - log.Printf("[DEBUG] vertex '%s.%s': walking", path, dag.VertexName(v)) + log.Printf("[TRACE] vertex '%s.%s': walking", path, dag.VertexName(v)) g.DebugVisitInfo(v, g.debugName) // If we have a panic wrap GraphWalker and a panic occurs, recover @@ -118,7 +118,7 @@ func (g *Graph) walk(walker GraphWalker) error { // Allow the walker to change our tree if needed. Eval, // then callback with the output. - log.Printf("[DEBUG] vertex '%s.%s': evaluating", path, dag.VertexName(v)) + log.Printf("[TRACE] vertex '%s.%s': evaluating", path, dag.VertexName(v)) g.DebugVertexInfo(v, fmt.Sprintf("evaluating %T(%s)", v, path)) @@ -132,7 +132,7 @@ func (g *Graph) walk(walker GraphWalker) error { // If the node is dynamically expanded, then expand it if ev, ok := v.(GraphNodeDynamicExpandable); ok { log.Printf( - "[DEBUG] vertex '%s.%s': expanding/walking dynamic subgraph", + "[TRACE] vertex '%s.%s': expanding/walking dynamic subgraph", path, dag.VertexName(v)) @@ -154,7 +154,7 @@ func (g *Graph) walk(walker GraphWalker) error { // If the node has a subgraph, then walk the subgraph if sn, ok := v.(GraphNodeSubgraph); ok { log.Printf( - "[DEBUG] vertex '%s.%s': walking subgraph", + "[TRACE] vertex '%s.%s': walking subgraph", path, dag.VertexName(v)) diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_apply.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_apply.go index 38a90f2775f4..4d7832772e2a 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_apply.go +++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_apply.go @@ -108,6 +108,9 @@ func (b *ApplyGraphBuilder) Steps() []GraphTransformer { // Add root variables &RootVariableTransformer{Module: b.Module}, + // Add the local values + &LocalTransformer{Module: b.Module}, + // Add the outputs &OutputTransformer{Module: b.Module}, diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go index 0df48cdb87c3..10fd8b1e97e9 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go +++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go @@ -10,6 +10,9 @@ import ( // and is based on the PlanGraphBuilder. The PlanGraphBuilder passed in will be // modified and should not be used for any other operations. func InputGraphBuilder(p *PlanGraphBuilder) GraphBuilder { + // convert this to an InputPlan + p.Input = true + // We're going to customize the concrete functions p.CustomConcrete = true diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go index 4b29bbb4b8ba..9d05d4a43e20 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go +++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go @@ -40,6 +40,9 @@ type PlanGraphBuilder struct { // Validate will do structural validation of the graph. Validate bool + // Input represents that this builder is for an Input operation. + Input bool + // CustomConcrete can be set to customize the node types created // for various parts of the plan. This is useful in order to customize // the plan behavior. @@ -71,6 +74,9 @@ func (b *PlanGraphBuilder) Steps() []GraphTransformer { Module: b.Module, }, + // Add the local values + &LocalTransformer{Module: b.Module}, + // Add the outputs &OutputTransformer{Module: b.Module}, @@ -107,7 +113,10 @@ func (b *PlanGraphBuilder) Steps() []GraphTransformer { ), // Add module variables - &ModuleVariableTransformer{Module: b.Module}, + &ModuleVariableTransformer{ + Module: b.Module, + Input: b.Input, + }, // Connect so that the references are ready for targeting. We'll // have to connect again later for providers and so on. diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_refresh.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_refresh.go index 3d3e968fae9e..beb5a4a4459d 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_refresh.go +++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_refresh.go @@ -133,6 +133,9 @@ func (b *RefreshGraphBuilder) Steps() []GraphTransformer { &ParentProviderTransformer{}, &AttachProviderConfigTransformer{Module: b.Module}, + // Add the local values + &LocalTransformer{Module: b.Module}, + // Add the outputs &OutputTransformer{Module: b.Module}, diff --git a/vendor/github.com/hashicorp/terraform/terraform/interpolate.go b/vendor/github.com/hashicorp/terraform/terraform/interpolate.go index 22ddce6c836b..52ce1e886aa0 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/interpolate.go +++ b/vendor/github.com/hashicorp/terraform/terraform/interpolate.go @@ -90,6 +90,8 @@ func (i *Interpolater) Values( err = i.valueSimpleVar(scope, n, v, result) case *config.TerraformVariable: err = i.valueTerraformVar(scope, n, v, result) + case *config.LocalVariable: + err = i.valueLocalVar(scope, n, v, result) case *config.UserVariable: err = i.valueUserVar(scope, n, v, result) default: @@ -335,6 +337,59 @@ func (i *Interpolater) valueTerraformVar( return nil } +func (i *Interpolater) valueLocalVar( + scope *InterpolationScope, + n string, + v *config.LocalVariable, + result map[string]ast.Variable, +) error { + i.StateLock.RLock() + defer i.StateLock.RUnlock() + + modTree := i.Module + if len(scope.Path) > 1 { + modTree = i.Module.Child(scope.Path[1:]) + } + + // Get the resource from the configuration so we can verify + // that the resource is in the configuration and so we can access + // the configuration if we need to. + var cl *config.Local + for _, l := range modTree.Config().Locals { + if l.Name == v.Name { + cl = l + break + } + } + + if cl == nil { + return fmt.Errorf("%s: no local value of this name has been declared", n) + } + + // Get the relevant module + module := i.State.ModuleByPath(scope.Path) + if module == nil { + result[n] = unknownVariable() + return nil + } + + rawV, exists := module.Locals[v.Name] + if !exists { + result[n] = unknownVariable() + return nil + } + + varV, err := hil.InterfaceToVariable(rawV) + if err != nil { + // Should never happen, since interpolation should always produce + // something we can feed back in to interpolation. + return fmt.Errorf("%s: %s", n, err) + } + + result[n] = varV + return nil +} + func (i *Interpolater) valueUserVar( scope *InterpolationScope, n string, diff --git a/vendor/github.com/hashicorp/terraform/terraform/node_local.go b/vendor/github.com/hashicorp/terraform/terraform/node_local.go new file mode 100644 index 000000000000..da1564e39045 --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/terraform/node_local.go @@ -0,0 +1,80 @@ +package terraform + +import ( + "fmt" + "strings" + + "github.com/hashicorp/terraform/config" +) + +// NodeLocal represents a named local value in a particular module. +// +// Local value nodes only have one operation, common to all walk types: +// evaluate the result and place it in state. +type NodeLocal struct { + PathValue []string + Config *config.Local +} + +func (n *NodeLocal) Name() string { + result := fmt.Sprintf("local.%s", n.Config.Name) + if len(n.PathValue) > 1 { + result = fmt.Sprintf("%s.%s", modulePrefixStr(n.PathValue), result) + } + + return result +} + +// GraphNodeSubPath +func (n *NodeLocal) Path() []string { + return n.PathValue +} + +// RemovableIfNotTargeted +func (n *NodeLocal) RemoveIfNotTargeted() bool { + return true +} + +// GraphNodeReferenceable +func (n *NodeLocal) ReferenceableName() []string { + name := fmt.Sprintf("local.%s", n.Config.Name) + return []string{name} +} + +// GraphNodeReferencer +func (n *NodeLocal) References() []string { + var result []string + result = append(result, ReferencesFromConfig(n.Config.RawConfig)...) + for _, v := range result { + split := strings.Split(v, "/") + for i, s := range split { + split[i] = s + ".destroy" + } + + result = append(result, strings.Join(split, "/")) + } + + return result +} + +// GraphNodeEvalable +func (n *NodeLocal) EvalTree() EvalNode { + return &EvalOpFilter{ + Ops: []walkOperation{ + walkInput, + walkValidate, + walkRefresh, + walkPlan, + walkApply, + walkDestroy, + }, + Node: &EvalSequence{ + Nodes: []EvalNode{ + &EvalLocal{ + Name: n.Config.Name, + Value: n.Config.RawConfig, + }, + }, + }, + } +} diff --git a/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go b/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go index 13fe8fc3ae4f..63b84a9c5380 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go +++ b/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go @@ -15,6 +15,9 @@ type NodeApplyableModuleVariable struct { Value *config.RawConfig // Value is the value that is set Module *module.Tree // Antiquated, want to remove + + // Input is set if this graph was created for the Input operation. + Input bool } func (n *NodeApplyableModuleVariable) Name() string { @@ -92,12 +95,24 @@ func (n *NodeApplyableModuleVariable) EvalTree() EvalNode { // within the variables mapping. var config *ResourceConfig variables := make(map[string]interface{}) + + var interpolate EvalNode + + if n.Input { + interpolate = &EvalTryInterpolate{ + Config: n.Value, + Output: &config, + } + } else { + interpolate = &EvalInterpolate{ + Config: n.Value, + Output: &config, + } + } + return &EvalSequence{ Nodes: []EvalNode{ - &EvalInterpolate{ - Config: n.Value, - Output: &config, - }, + interpolate, &EvalVariableBlock{ Config: &config, diff --git a/vendor/github.com/hashicorp/terraform/terraform/plan.go b/vendor/github.com/hashicorp/terraform/terraform/plan.go index 51d66529b435..7b9ae1b52cb3 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/plan.go +++ b/vendor/github.com/hashicorp/terraform/terraform/plan.go @@ -26,14 +26,47 @@ func init() { // necessary to make a change: the state, diff, config, backend config, etc. // This is so that it can run alone without any other data. type Plan struct { - Diff *Diff - Module *module.Tree - State *State - Vars map[string]interface{} + // Diff describes the resource actions that must be taken when this + // plan is applied. + Diff *Diff + + // Module represents the entire configuration that was present when this + // plan was created. + Module *module.Tree + + // State is the Terraform state that was current when this plan was + // created. + // + // It is not allowed to apply a plan that has a stale state, since its + // diff could be outdated. + State *State + + // Vars retains the variables that were set when creating the plan, so + // that the same variables can be applied during apply. + Vars map[string]interface{} + + // Targets, if non-empty, contains a set of resource address strings that + // identify graph nodes that were selected as targets for plan. + // + // When targets are set, any graph node that is not directly targeted or + // indirectly targeted via dependencies is excluded from the graph. Targets []string + // TerraformVersion is the version of Terraform that was used to create + // this plan. + // + // It is not allowed to apply a plan created with a different version of + // Terraform, since the other fields of this structure may be interpreted + // in different ways between versions. TerraformVersion string - ProviderSHA256s map[string][]byte + + // ProviderSHA256s is a map giving the SHA256 hashes of the exact binaries + // used as plugins for each provider during plan. + // + // These must match between plan and apply to ensure that the diff is + // correctly interpreted, since different provider versions may have + // different attributes or attribute value constraints. + ProviderSHA256s map[string][]byte // Backend is the backend that this plan should use and store data with. Backend *BackendState diff --git a/vendor/github.com/hashicorp/terraform/terraform/resource.go b/vendor/github.com/hashicorp/terraform/terraform/resource.go index 0acf0beb2a17..a8cd8dd9f00c 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/resource.go +++ b/vendor/github.com/hashicorp/terraform/terraform/resource.go @@ -88,6 +88,46 @@ func (i *InstanceInfo) HumanId() string { i.Id) } +// ResourceAddress returns the address of the resource that the receiver is describing. +func (i *InstanceInfo) ResourceAddress() *ResourceAddress { + // GROSS: for tainted and deposed instances, their status gets appended + // to i.Id to create a unique id for the graph node. Historically these + // ids were displayed to the user, so it's designed to be human-readable: + // "aws_instance.bar.0 (deposed #0)" + // + // So here we detect such suffixes and try to interpret them back to + // their original meaning so we can then produce a ResourceAddress + // with a suitable InstanceType. + id := i.Id + instanceType := TypeInvalid + if idx := strings.Index(id, " ("); idx != -1 { + remain := id[idx:] + id = id[:idx] + + switch { + case strings.Contains(remain, "tainted"): + instanceType = TypeTainted + case strings.Contains(remain, "deposed"): + instanceType = TypeDeposed + } + } + + addr, err := parseResourceAddressInternal(id) + if err != nil { + // should never happen, since that would indicate a bug in the + // code that constructed this InstanceInfo. + panic(fmt.Errorf("InstanceInfo has invalid Id %s", id)) + } + if len(i.ModulePath) > 1 { + addr.Path = i.ModulePath[1:] // trim off "root" prefix, which is implied + } + if instanceType != TypeInvalid { + addr.InstanceTypeSet = true + addr.InstanceType = instanceType + } + return addr +} + func (i *InstanceInfo) uniqueId() string { prefix := i.HumanId() if v := i.uniqueExtra; v != "" { diff --git a/vendor/github.com/hashicorp/terraform/terraform/resource_address.go b/vendor/github.com/hashicorp/terraform/terraform/resource_address.go index 8badca8053c6..353725844556 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/resource_address.go +++ b/vendor/github.com/hashicorp/terraform/terraform/resource_address.go @@ -362,40 +362,41 @@ func (addr *ResourceAddress) Less(other *ResourceAddress) bool { switch { - case len(addr.Path) < len(other.Path): - return true + case len(addr.Path) != len(other.Path): + return len(addr.Path) < len(other.Path) case !reflect.DeepEqual(addr.Path, other.Path): // If the two paths are the same length but don't match, we'll just // cheat and compare the string forms since it's easier than - // comparing all of the path segments in turn. + // comparing all of the path segments in turn, and lexicographic + // comparison is correct for the module path portion. addrStr := addr.String() otherStr := other.String() return addrStr < otherStr - case addr.Mode == config.DataResourceMode && other.Mode != config.DataResourceMode: - return true + case addr.Mode != other.Mode: + return addr.Mode == config.DataResourceMode - case addr.Type < other.Type: - return true + case addr.Type != other.Type: + return addr.Type < other.Type - case addr.Name < other.Name: - return true + case addr.Name != other.Name: + return addr.Name < other.Name - case addr.Index < other.Index: + case addr.Index != other.Index: // Since "Index" is -1 for an un-indexed address, this also conveniently // sorts unindexed addresses before indexed ones, should they both // appear for some reason. - return true + return addr.Index < other.Index - case other.InstanceTypeSet && !addr.InstanceTypeSet: - return true + case addr.InstanceTypeSet != other.InstanceTypeSet: + return !addr.InstanceTypeSet - case addr.InstanceType < other.InstanceType: + case addr.InstanceType != other.InstanceType: // InstanceType is actually an enum, so this is just an arbitrary // sort based on the enum numeric values, and thus not particularly // meaningful. - return true + return addr.InstanceType < other.InstanceType default: return false diff --git a/vendor/github.com/hashicorp/terraform/terraform/resource_provider_mock.go b/vendor/github.com/hashicorp/terraform/terraform/resource_provider_mock.go index f5315339fb8d..95f8c56a22d9 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/resource_provider_mock.go +++ b/vendor/github.com/hashicorp/terraform/terraform/resource_provider_mock.go @@ -94,6 +94,8 @@ func (p *MockResourceProvider) Close() error { func (p *MockResourceProvider) Input( input UIInput, c *ResourceConfig) (*ResourceConfig, error) { + p.Lock() + defer p.Unlock() p.InputCalled = true p.InputInput = input p.InputConfig = c diff --git a/vendor/github.com/hashicorp/terraform/terraform/shadow.go b/vendor/github.com/hashicorp/terraform/terraform/shadow.go deleted file mode 100644 index 46325595f107..000000000000 --- a/vendor/github.com/hashicorp/terraform/terraform/shadow.go +++ /dev/null @@ -1,28 +0,0 @@ -package terraform - -// Shadow is the interface that any "shadow" structures must implement. -// -// A shadow structure is an interface implementation (typically) that -// shadows a real implementation and verifies that the same behavior occurs -// on both. The semantics of this behavior are up to the interface itself. -// -// A shadow NEVER modifies real values or state. It must always be safe to use. -// -// For example, a ResourceProvider shadow ensures that the same operations -// are done on the same resources with the same configurations. -// -// The typical usage of a shadow following this interface is to complete -// the real operations, then call CloseShadow which tells the shadow that -// the real side is done. Then, once the shadow is also complete, call -// ShadowError to find any errors that may have been caught. -type Shadow interface { - // CloseShadow tells the shadow that the REAL implementation is - // complete. Therefore, any calls that would block should now return - // immediately since no more changes will happen to the real side. - CloseShadow() error - - // ShadowError returns the errors that the shadow has found. - // This should be called AFTER CloseShadow and AFTER the shadow is - // known to be complete (no more calls to it). - ShadowError() error -} diff --git a/vendor/github.com/hashicorp/terraform/terraform/shadow_components.go b/vendor/github.com/hashicorp/terraform/terraform/shadow_components.go deleted file mode 100644 index 116cf84f97ce..000000000000 --- a/vendor/github.com/hashicorp/terraform/terraform/shadow_components.go +++ /dev/null @@ -1,273 +0,0 @@ -package terraform - -import ( - "fmt" - "sync" - - "github.com/hashicorp/go-multierror" - "github.com/hashicorp/terraform/helper/shadow" -) - -// newShadowComponentFactory creates a shadowed contextComponentFactory -// so that requests to create new components result in both a real and -// shadow side. -func newShadowComponentFactory( - f contextComponentFactory) (contextComponentFactory, *shadowComponentFactory) { - // Create the shared data - shared := &shadowComponentFactoryShared{contextComponentFactory: f} - - // Create the real side - real := &shadowComponentFactory{ - shadowComponentFactoryShared: shared, - } - - // Create the shadow - shadow := &shadowComponentFactory{ - shadowComponentFactoryShared: shared, - Shadow: true, - } - - return real, shadow -} - -// shadowComponentFactory is the shadow side. Any components created -// with this factory are fake and will not cause real work to happen. -// -// Unlike other shadowers, the shadow component factory will allow the -// shadow to create _any_ component even if it is never requested on the -// real side. This is because errors will happen later downstream as function -// calls are made to the shadows that are never matched on the real side. -type shadowComponentFactory struct { - *shadowComponentFactoryShared - - Shadow bool // True if this should return the shadow - lock sync.Mutex -} - -func (f *shadowComponentFactory) ResourceProvider( - n, uid string) (ResourceProvider, error) { - f.lock.Lock() - defer f.lock.Unlock() - - real, shadow, err := f.shadowComponentFactoryShared.ResourceProvider(n, uid) - var result ResourceProvider = real - if f.Shadow { - result = shadow - } - - return result, err -} - -func (f *shadowComponentFactory) ResourceProvisioner( - n, uid string) (ResourceProvisioner, error) { - f.lock.Lock() - defer f.lock.Unlock() - - real, shadow, err := f.shadowComponentFactoryShared.ResourceProvisioner(n, uid) - var result ResourceProvisioner = real - if f.Shadow { - result = shadow - } - - return result, err -} - -// CloseShadow is called when the _real_ side is complete. This will cause -// all future blocking operations to return immediately on the shadow to -// ensure the shadow also completes. -func (f *shadowComponentFactory) CloseShadow() error { - // If we aren't the shadow, just return - if !f.Shadow { - return nil - } - - // Lock ourselves so we don't modify state - f.lock.Lock() - defer f.lock.Unlock() - - // Grab our shared state - shared := f.shadowComponentFactoryShared - - // If we're already closed, its an error - if shared.closed { - return fmt.Errorf("component factory shadow already closed") - } - - // Close all the providers and provisioners and return the error - var result error - for _, n := range shared.providerKeys { - _, shadow, err := shared.ResourceProvider(n, n) - if err == nil && shadow != nil { - if err := shadow.CloseShadow(); err != nil { - result = multierror.Append(result, err) - } - } - } - - for _, n := range shared.provisionerKeys { - _, shadow, err := shared.ResourceProvisioner(n, n) - if err == nil && shadow != nil { - if err := shadow.CloseShadow(); err != nil { - result = multierror.Append(result, err) - } - } - } - - // Mark ourselves as closed - shared.closed = true - - return result -} - -func (f *shadowComponentFactory) ShadowError() error { - // If we aren't the shadow, just return - if !f.Shadow { - return nil - } - - // Lock ourselves so we don't modify state - f.lock.Lock() - defer f.lock.Unlock() - - // Grab our shared state - shared := f.shadowComponentFactoryShared - - // If we're not closed, its an error - if !shared.closed { - return fmt.Errorf("component factory must be closed to retrieve errors") - } - - // Close all the providers and provisioners and return the error - var result error - for _, n := range shared.providerKeys { - _, shadow, err := shared.ResourceProvider(n, n) - if err == nil && shadow != nil { - if err := shadow.ShadowError(); err != nil { - result = multierror.Append(result, err) - } - } - } - - for _, n := range shared.provisionerKeys { - _, shadow, err := shared.ResourceProvisioner(n, n) - if err == nil && shadow != nil { - if err := shadow.ShadowError(); err != nil { - result = multierror.Append(result, err) - } - } - } - - return result -} - -// shadowComponentFactoryShared is shared data between the two factories. -// -// It is NOT SAFE to run any function on this struct in parallel. Lock -// access to this struct. -type shadowComponentFactoryShared struct { - contextComponentFactory - - closed bool - providers shadow.KeyedValue - providerKeys []string - provisioners shadow.KeyedValue - provisionerKeys []string -} - -// shadowResourceProviderFactoryEntry is the entry that is stored in -// the Shadows key/value for a provider. -type shadowComponentFactoryProviderEntry struct { - Real ResourceProvider - Shadow shadowResourceProvider - Err error -} - -type shadowComponentFactoryProvisionerEntry struct { - Real ResourceProvisioner - Shadow shadowResourceProvisioner - Err error -} - -func (f *shadowComponentFactoryShared) ResourceProvider( - n, uid string) (ResourceProvider, shadowResourceProvider, error) { - // Determine if we already have a value - raw, ok := f.providers.ValueOk(uid) - if !ok { - // Build the entry - var entry shadowComponentFactoryProviderEntry - - // No value, initialize. Create the original - p, err := f.contextComponentFactory.ResourceProvider(n, uid) - if err != nil { - entry.Err = err - p = nil // Just to be sure - } - - if p != nil { - // Create the shadow - real, shadow := newShadowResourceProvider(p) - entry.Real = real - entry.Shadow = shadow - - if f.closed { - shadow.CloseShadow() - } - } - - // Store the value - f.providers.SetValue(uid, &entry) - f.providerKeys = append(f.providerKeys, uid) - raw = &entry - } - - // Read the entry - entry, ok := raw.(*shadowComponentFactoryProviderEntry) - if !ok { - return nil, nil, fmt.Errorf("Unknown value for shadow provider: %#v", raw) - } - - // Return - return entry.Real, entry.Shadow, entry.Err -} - -func (f *shadowComponentFactoryShared) ResourceProvisioner( - n, uid string) (ResourceProvisioner, shadowResourceProvisioner, error) { - // Determine if we already have a value - raw, ok := f.provisioners.ValueOk(uid) - if !ok { - // Build the entry - var entry shadowComponentFactoryProvisionerEntry - - // No value, initialize. Create the original - p, err := f.contextComponentFactory.ResourceProvisioner(n, uid) - if err != nil { - entry.Err = err - p = nil // Just to be sure - } - - if p != nil { - // For now, just create a mock since we don't support provisioners yet - real, shadow := newShadowResourceProvisioner(p) - entry.Real = real - entry.Shadow = shadow - - if f.closed { - shadow.CloseShadow() - } - } - - // Store the value - f.provisioners.SetValue(uid, &entry) - f.provisionerKeys = append(f.provisionerKeys, uid) - raw = &entry - } - - // Read the entry - entry, ok := raw.(*shadowComponentFactoryProvisionerEntry) - if !ok { - return nil, nil, fmt.Errorf("Unknown value for shadow provisioner: %#v", raw) - } - - // Return - return entry.Real, entry.Shadow, entry.Err -} diff --git a/vendor/github.com/hashicorp/terraform/terraform/shadow_context.go b/vendor/github.com/hashicorp/terraform/terraform/shadow_context.go deleted file mode 100644 index 5588af252c4d..000000000000 --- a/vendor/github.com/hashicorp/terraform/terraform/shadow_context.go +++ /dev/null @@ -1,158 +0,0 @@ -package terraform - -import ( - "fmt" - "strings" - - "github.com/hashicorp/go-multierror" - "github.com/mitchellh/copystructure" -) - -// newShadowContext creates a new context that will shadow the given context -// when walking the graph. The resulting context should be used _only once_ -// for a graph walk. -// -// The returned Shadow should be closed after the graph walk with the -// real context is complete. Errors from the shadow can be retrieved there. -// -// Most importantly, any operations done on the shadow context (the returned -// context) will NEVER affect the real context. All structures are deep -// copied, no real providers or resources are used, etc. -func newShadowContext(c *Context) (*Context, *Context, Shadow) { - // Copy the targets - targetRaw, err := copystructure.Copy(c.targets) - if err != nil { - panic(err) - } - - // Copy the variables - varRaw, err := copystructure.Copy(c.variables) - if err != nil { - panic(err) - } - - // Copy the provider inputs - providerInputRaw, err := copystructure.Copy(c.providerInputConfig) - if err != nil { - panic(err) - } - - // The factories - componentsReal, componentsShadow := newShadowComponentFactory(c.components) - - // Create the shadow - shadow := &Context{ - components: componentsShadow, - destroy: c.destroy, - diff: c.diff.DeepCopy(), - hooks: nil, - meta: c.meta, - module: c.module, - state: c.state.DeepCopy(), - targets: targetRaw.([]string), - variables: varRaw.(map[string]interface{}), - - // NOTE(mitchellh): This is not going to work for shadows that are - // testing that input results in the proper end state. At the time - // of writing, input is not used in any state-changing graph - // walks anyways, so this checks nothing. We set it to this to avoid - // any panics but even a "nil" value worked here. - uiInput: new(MockUIInput), - - // Hardcoded to 4 since parallelism in the shadow doesn't matter - // a ton since we're doing far less compared to the real side - // and our operations are MUCH faster. - parallelSem: NewSemaphore(4), - providerInputConfig: providerInputRaw.(map[string]map[string]interface{}), - } - - // Create the real context. This is effectively just a copy of - // the context given except we need to modify some of the values - // to point to the real side of a shadow so the shadow can compare values. - real := &Context{ - // The fields below are changed. - components: componentsReal, - - // The fields below are direct copies - destroy: c.destroy, - diff: c.diff, - // diffLock - no copy - hooks: c.hooks, - meta: c.meta, - module: c.module, - sh: c.sh, - state: c.state, - // stateLock - no copy - targets: c.targets, - uiInput: c.uiInput, - variables: c.variables, - - // l - no copy - parallelSem: c.parallelSem, - providerInputConfig: c.providerInputConfig, - runContext: c.runContext, - runContextCancel: c.runContextCancel, - shadowErr: c.shadowErr, - } - - return real, shadow, &shadowContextCloser{ - Components: componentsShadow, - } -} - -// shadowContextVerify takes the real and shadow context and verifies they -// have equal diffs and states. -func shadowContextVerify(real, shadow *Context) error { - var result error - - // The states compared must be pruned so they're minimal/clean - real.state.prune() - shadow.state.prune() - - // Compare the states - if !real.state.Equal(shadow.state) { - result = multierror.Append(result, fmt.Errorf( - "Real and shadow states do not match! "+ - "Real state:\n\n%s\n\n"+ - "Shadow state:\n\n%s\n\n", - real.state, shadow.state)) - } - - // Compare the diffs - if !real.diff.Equal(shadow.diff) { - result = multierror.Append(result, fmt.Errorf( - "Real and shadow diffs do not match! "+ - "Real diff:\n\n%s\n\n"+ - "Shadow diff:\n\n%s\n\n", - real.diff, shadow.diff)) - } - - return result -} - -// shadowContextCloser is the io.Closer returned by newShadowContext that -// closes all the shadows and returns the results. -type shadowContextCloser struct { - Components *shadowComponentFactory -} - -// Close closes the shadow context. -func (c *shadowContextCloser) CloseShadow() error { - return c.Components.CloseShadow() -} - -func (c *shadowContextCloser) ShadowError() error { - err := c.Components.ShadowError() - if err == nil { - return nil - } - - // This is a sad edge case: if the configuration contains uuid() at - // any point, we cannot reason aboyt the shadow execution. Tested - // with Context2Plan_shadowUuid. - if strings.Contains(err.Error(), "uuid()") { - err = nil - } - - return err -} diff --git a/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provider.go b/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provider.go deleted file mode 100644 index 9741d7e7964f..000000000000 --- a/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provider.go +++ /dev/null @@ -1,815 +0,0 @@ -package terraform - -import ( - "fmt" - "log" - "sync" - - "github.com/hashicorp/go-multierror" - "github.com/hashicorp/terraform/helper/shadow" -) - -// shadowResourceProvider implements ResourceProvider for the shadow -// eval context defined in eval_context_shadow.go. -// -// This is used to verify behavior with a real provider. This shouldn't -// be used directly. -type shadowResourceProvider interface { - ResourceProvider - Shadow -} - -// newShadowResourceProvider creates a new shadowed ResourceProvider. -// -// This will assume a well behaved real ResourceProvider. For example, -// it assumes that the `Resources` call underneath doesn't change values -// since once it is called on the real provider, it will be cached and -// returned in the shadow since number of calls to that shouldn't affect -// actual behavior. -// -// However, with calls like Apply, call order is taken into account, -// parameters are checked for equality, etc. -func newShadowResourceProvider(p ResourceProvider) (ResourceProvider, shadowResourceProvider) { - // Create the shared data - shared := shadowResourceProviderShared{} - - // Create the real provider that does actual work - real := &shadowResourceProviderReal{ - ResourceProvider: p, - Shared: &shared, - } - - // Create the shadow that watches the real value - shadow := &shadowResourceProviderShadow{ - Shared: &shared, - - resources: p.Resources(), - dataSources: p.DataSources(), - } - - return real, shadow -} - -// shadowResourceProviderReal is the real resource provider. Function calls -// to this will perform real work. This records the parameters and return -// values and call order for the shadow to reproduce. -type shadowResourceProviderReal struct { - ResourceProvider - - Shared *shadowResourceProviderShared -} - -func (p *shadowResourceProviderReal) Close() error { - var result error - if c, ok := p.ResourceProvider.(ResourceProviderCloser); ok { - result = c.Close() - } - - p.Shared.CloseErr.SetValue(result) - return result -} - -func (p *shadowResourceProviderReal) Input( - input UIInput, c *ResourceConfig) (*ResourceConfig, error) { - cCopy := c.DeepCopy() - - result, err := p.ResourceProvider.Input(input, c) - p.Shared.Input.SetValue(&shadowResourceProviderInput{ - Config: cCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -func (p *shadowResourceProviderReal) Validate(c *ResourceConfig) ([]string, []error) { - warns, errs := p.ResourceProvider.Validate(c) - p.Shared.Validate.SetValue(&shadowResourceProviderValidate{ - Config: c.DeepCopy(), - ResultWarn: warns, - ResultErr: errs, - }) - - return warns, errs -} - -func (p *shadowResourceProviderReal) Configure(c *ResourceConfig) error { - cCopy := c.DeepCopy() - - err := p.ResourceProvider.Configure(c) - p.Shared.Configure.SetValue(&shadowResourceProviderConfigure{ - Config: cCopy, - Result: err, - }) - - return err -} - -func (p *shadowResourceProviderReal) Stop() error { - return p.ResourceProvider.Stop() -} - -func (p *shadowResourceProviderReal) ValidateResource( - t string, c *ResourceConfig) ([]string, []error) { - key := t - configCopy := c.DeepCopy() - - // Real operation - warns, errs := p.ResourceProvider.ValidateResource(t, c) - - // Initialize to ensure we always have a wrapper with a lock - p.Shared.ValidateResource.Init( - key, &shadowResourceProviderValidateResourceWrapper{}) - - // Get the result - raw := p.Shared.ValidateResource.Value(key) - wrapper, ok := raw.(*shadowResourceProviderValidateResourceWrapper) - if !ok { - // If this fails then we just continue with our day... the shadow - // will fail to but there isn't much we can do. - log.Printf( - "[ERROR] unknown value in ValidateResource shadow value: %#v", raw) - return warns, errs - } - - // Lock the wrapper for writing and record our call - wrapper.Lock() - defer wrapper.Unlock() - - wrapper.Calls = append(wrapper.Calls, &shadowResourceProviderValidateResource{ - Config: configCopy, - Warns: warns, - Errors: errs, - }) - - // With it locked, call SetValue again so that it triggers WaitForChange - p.Shared.ValidateResource.SetValue(key, wrapper) - - // Return the result - return warns, errs -} - -func (p *shadowResourceProviderReal) Apply( - info *InstanceInfo, - state *InstanceState, - diff *InstanceDiff) (*InstanceState, error) { - // Thse have to be copied before the call since call can modify - stateCopy := state.DeepCopy() - diffCopy := diff.DeepCopy() - - result, err := p.ResourceProvider.Apply(info, state, diff) - p.Shared.Apply.SetValue(info.uniqueId(), &shadowResourceProviderApply{ - State: stateCopy, - Diff: diffCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -func (p *shadowResourceProviderReal) Diff( - info *InstanceInfo, - state *InstanceState, - desired *ResourceConfig) (*InstanceDiff, error) { - // Thse have to be copied before the call since call can modify - stateCopy := state.DeepCopy() - desiredCopy := desired.DeepCopy() - - result, err := p.ResourceProvider.Diff(info, state, desired) - p.Shared.Diff.SetValue(info.uniqueId(), &shadowResourceProviderDiff{ - State: stateCopy, - Desired: desiredCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -func (p *shadowResourceProviderReal) Refresh( - info *InstanceInfo, - state *InstanceState) (*InstanceState, error) { - // Thse have to be copied before the call since call can modify - stateCopy := state.DeepCopy() - - result, err := p.ResourceProvider.Refresh(info, state) - p.Shared.Refresh.SetValue(info.uniqueId(), &shadowResourceProviderRefresh{ - State: stateCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -func (p *shadowResourceProviderReal) ValidateDataSource( - t string, c *ResourceConfig) ([]string, []error) { - key := t - configCopy := c.DeepCopy() - - // Real operation - warns, errs := p.ResourceProvider.ValidateDataSource(t, c) - - // Initialize - p.Shared.ValidateDataSource.Init( - key, &shadowResourceProviderValidateDataSourceWrapper{}) - - // Get the result - raw := p.Shared.ValidateDataSource.Value(key) - wrapper, ok := raw.(*shadowResourceProviderValidateDataSourceWrapper) - if !ok { - // If this fails then we just continue with our day... the shadow - // will fail to but there isn't much we can do. - log.Printf( - "[ERROR] unknown value in ValidateDataSource shadow value: %#v", raw) - return warns, errs - } - - // Lock the wrapper for writing and record our call - wrapper.Lock() - defer wrapper.Unlock() - - wrapper.Calls = append(wrapper.Calls, &shadowResourceProviderValidateDataSource{ - Config: configCopy, - Warns: warns, - Errors: errs, - }) - - // Set it - p.Shared.ValidateDataSource.SetValue(key, wrapper) - - // Return the result - return warns, errs -} - -func (p *shadowResourceProviderReal) ReadDataDiff( - info *InstanceInfo, - desired *ResourceConfig) (*InstanceDiff, error) { - // These have to be copied before the call since call can modify - desiredCopy := desired.DeepCopy() - - result, err := p.ResourceProvider.ReadDataDiff(info, desired) - p.Shared.ReadDataDiff.SetValue(info.uniqueId(), &shadowResourceProviderReadDataDiff{ - Desired: desiredCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -func (p *shadowResourceProviderReal) ReadDataApply( - info *InstanceInfo, - diff *InstanceDiff) (*InstanceState, error) { - // Thse have to be copied before the call since call can modify - diffCopy := diff.DeepCopy() - - result, err := p.ResourceProvider.ReadDataApply(info, diff) - p.Shared.ReadDataApply.SetValue(info.uniqueId(), &shadowResourceProviderReadDataApply{ - Diff: diffCopy, - Result: result.DeepCopy(), - ResultErr: err, - }) - - return result, err -} - -// shadowResourceProviderShadow is the shadow resource provider. Function -// calls never affect real resources. This is paired with the "real" side -// which must be called properly to enable recording. -type shadowResourceProviderShadow struct { - Shared *shadowResourceProviderShared - - // Cached values that are expected to not change - resources []ResourceType - dataSources []DataSource - - Error error // Error is the list of errors from the shadow - ErrorLock sync.Mutex -} - -type shadowResourceProviderShared struct { - // NOTE: Anytime a value is added here, be sure to add it to - // the Close() method so that it is closed. - - CloseErr shadow.Value - Input shadow.Value - Validate shadow.Value - Configure shadow.Value - ValidateResource shadow.KeyedValue - Apply shadow.KeyedValue - Diff shadow.KeyedValue - Refresh shadow.KeyedValue - ValidateDataSource shadow.KeyedValue - ReadDataDiff shadow.KeyedValue - ReadDataApply shadow.KeyedValue -} - -func (p *shadowResourceProviderShared) Close() error { - return shadow.Close(p) -} - -func (p *shadowResourceProviderShadow) CloseShadow() error { - err := p.Shared.Close() - if err != nil { - err = fmt.Errorf("close error: %s", err) - } - - return err -} - -func (p *shadowResourceProviderShadow) ShadowError() error { - return p.Error -} - -func (p *shadowResourceProviderShadow) Resources() []ResourceType { - return p.resources -} - -func (p *shadowResourceProviderShadow) DataSources() []DataSource { - return p.dataSources -} - -func (p *shadowResourceProviderShadow) Close() error { - v := p.Shared.CloseErr.Value() - if v == nil { - return nil - } - - return v.(error) -} - -func (p *shadowResourceProviderShadow) Input( - input UIInput, c *ResourceConfig) (*ResourceConfig, error) { - // Get the result of the input call - raw := p.Shared.Input.Value() - if raw == nil { - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderInput) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'input' shadow value: %#v", raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !c.Equal(result.Config) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Input had unequal configurations (real, then shadow):\n\n%#v\n\n%#v", - result.Config, c)) - p.ErrorLock.Unlock() - } - - // Return the results - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) Validate(c *ResourceConfig) ([]string, []error) { - // Get the result of the validate call - raw := p.Shared.Validate.Value() - if raw == nil { - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderValidate) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'validate' shadow value: %#v", raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !c.Equal(result.Config) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Validate had unequal configurations (real, then shadow):\n\n%#v\n\n%#v", - result.Config, c)) - p.ErrorLock.Unlock() - } - - // Return the results - return result.ResultWarn, result.ResultErr -} - -func (p *shadowResourceProviderShadow) Configure(c *ResourceConfig) error { - // Get the result of the call - raw := p.Shared.Configure.Value() - if raw == nil { - return nil - } - - result, ok := raw.(*shadowResourceProviderConfigure) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'configure' shadow value: %#v", raw)) - return nil - } - - // Compare the parameters, which should be identical - if !c.Equal(result.Config) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Configure had unequal configurations (real, then shadow):\n\n%#v\n\n%#v", - result.Config, c)) - p.ErrorLock.Unlock() - } - - // Return the results - return result.Result -} - -// Stop returns immediately. -func (p *shadowResourceProviderShadow) Stop() error { - return nil -} - -func (p *shadowResourceProviderShadow) ValidateResource(t string, c *ResourceConfig) ([]string, []error) { - // Unique key - key := t - - // Get the initial value - raw := p.Shared.ValidateResource.Value(key) - - // Find a validation with our configuration - var result *shadowResourceProviderValidateResource - for { - // Get the value - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ValidateResource' call for %q:\n\n%#v", - key, c)) - return nil, nil - } - - wrapper, ok := raw.(*shadowResourceProviderValidateResourceWrapper) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ValidateResource' shadow value for %q: %#v", key, raw)) - return nil, nil - } - - // Look for the matching call with our configuration - wrapper.RLock() - for _, call := range wrapper.Calls { - if call.Config.Equal(c) { - result = call - break - } - } - wrapper.RUnlock() - - // If we found a result, exit - if result != nil { - break - } - - // Wait for a change so we can get the wrapper again - raw = p.Shared.ValidateResource.WaitForChange(key) - } - - return result.Warns, result.Errors -} - -func (p *shadowResourceProviderShadow) Apply( - info *InstanceInfo, - state *InstanceState, - diff *InstanceDiff) (*InstanceState, error) { - // Unique key - key := info.uniqueId() - raw := p.Shared.Apply.Value(key) - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'apply' call for %q:\n\n%#v\n\n%#v", - key, state, diff)) - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderApply) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'apply' shadow value for %q: %#v", key, raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !state.Equal(result.State) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Apply %q: state had unequal states (real, then shadow):\n\n%#v\n\n%#v", - key, result.State, state)) - p.ErrorLock.Unlock() - } - - if !diff.Equal(result.Diff) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Apply %q: unequal diffs (real, then shadow):\n\n%#v\n\n%#v", - key, result.Diff, diff)) - p.ErrorLock.Unlock() - } - - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) Diff( - info *InstanceInfo, - state *InstanceState, - desired *ResourceConfig) (*InstanceDiff, error) { - // Unique key - key := info.uniqueId() - raw := p.Shared.Diff.Value(key) - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'diff' call for %q:\n\n%#v\n\n%#v", - key, state, desired)) - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderDiff) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'diff' shadow value for %q: %#v", key, raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !state.Equal(result.State) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Diff %q had unequal states (real, then shadow):\n\n%#v\n\n%#v", - key, result.State, state)) - p.ErrorLock.Unlock() - } - if !desired.Equal(result.Desired) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Diff %q had unequal states (real, then shadow):\n\n%#v\n\n%#v", - key, result.Desired, desired)) - p.ErrorLock.Unlock() - } - - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) Refresh( - info *InstanceInfo, - state *InstanceState) (*InstanceState, error) { - // Unique key - key := info.uniqueId() - raw := p.Shared.Refresh.Value(key) - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'refresh' call for %q:\n\n%#v", - key, state)) - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderRefresh) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'refresh' shadow value: %#v", raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !state.Equal(result.State) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Refresh %q had unequal states (real, then shadow):\n\n%#v\n\n%#v", - key, result.State, state)) - p.ErrorLock.Unlock() - } - - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) ValidateDataSource( - t string, c *ResourceConfig) ([]string, []error) { - // Unique key - key := t - - // Get the initial value - raw := p.Shared.ValidateDataSource.Value(key) - - // Find a validation with our configuration - var result *shadowResourceProviderValidateDataSource - for { - // Get the value - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ValidateDataSource' call for %q:\n\n%#v", - key, c)) - return nil, nil - } - - wrapper, ok := raw.(*shadowResourceProviderValidateDataSourceWrapper) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ValidateDataSource' shadow value: %#v", raw)) - return nil, nil - } - - // Look for the matching call with our configuration - wrapper.RLock() - for _, call := range wrapper.Calls { - if call.Config.Equal(c) { - result = call - break - } - } - wrapper.RUnlock() - - // If we found a result, exit - if result != nil { - break - } - - // Wait for a change so we can get the wrapper again - raw = p.Shared.ValidateDataSource.WaitForChange(key) - } - - return result.Warns, result.Errors -} - -func (p *shadowResourceProviderShadow) ReadDataDiff( - info *InstanceInfo, - desired *ResourceConfig) (*InstanceDiff, error) { - // Unique key - key := info.uniqueId() - raw := p.Shared.ReadDataDiff.Value(key) - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ReadDataDiff' call for %q:\n\n%#v", - key, desired)) - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderReadDataDiff) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ReadDataDiff' shadow value for %q: %#v", key, raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !desired.Equal(result.Desired) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "ReadDataDiff %q had unequal configs (real, then shadow):\n\n%#v\n\n%#v", - key, result.Desired, desired)) - p.ErrorLock.Unlock() - } - - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) ReadDataApply( - info *InstanceInfo, - d *InstanceDiff) (*InstanceState, error) { - // Unique key - key := info.uniqueId() - raw := p.Shared.ReadDataApply.Value(key) - if raw == nil { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ReadDataApply' call for %q:\n\n%#v", - key, d)) - return nil, nil - } - - result, ok := raw.(*shadowResourceProviderReadDataApply) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'ReadDataApply' shadow value for %q: %#v", key, raw)) - return nil, nil - } - - // Compare the parameters, which should be identical - if !d.Equal(result.Diff) { - p.ErrorLock.Lock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "ReadDataApply: unequal diffs (real, then shadow):\n\n%#v\n\n%#v", - result.Diff, d)) - p.ErrorLock.Unlock() - } - - return result.Result, result.ResultErr -} - -func (p *shadowResourceProviderShadow) ImportState(info *InstanceInfo, id string) ([]*InstanceState, error) { - panic("import not supported by shadow graph") -} - -// The structs for the various function calls are put below. These structs -// are used to carry call information across the real/shadow boundaries. - -type shadowResourceProviderInput struct { - Config *ResourceConfig - Result *ResourceConfig - ResultErr error -} - -type shadowResourceProviderValidate struct { - Config *ResourceConfig - ResultWarn []string - ResultErr []error -} - -type shadowResourceProviderConfigure struct { - Config *ResourceConfig - Result error -} - -type shadowResourceProviderValidateResourceWrapper struct { - sync.RWMutex - - Calls []*shadowResourceProviderValidateResource -} - -type shadowResourceProviderValidateResource struct { - Config *ResourceConfig - Warns []string - Errors []error -} - -type shadowResourceProviderApply struct { - State *InstanceState - Diff *InstanceDiff - Result *InstanceState - ResultErr error -} - -type shadowResourceProviderDiff struct { - State *InstanceState - Desired *ResourceConfig - Result *InstanceDiff - ResultErr error -} - -type shadowResourceProviderRefresh struct { - State *InstanceState - Result *InstanceState - ResultErr error -} - -type shadowResourceProviderValidateDataSourceWrapper struct { - sync.RWMutex - - Calls []*shadowResourceProviderValidateDataSource -} - -type shadowResourceProviderValidateDataSource struct { - Config *ResourceConfig - Warns []string - Errors []error -} - -type shadowResourceProviderReadDataDiff struct { - Desired *ResourceConfig - Result *InstanceDiff - ResultErr error -} - -type shadowResourceProviderReadDataApply struct { - Diff *InstanceDiff - Result *InstanceState - ResultErr error -} diff --git a/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provisioner.go b/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provisioner.go deleted file mode 100644 index 60a490889623..000000000000 --- a/vendor/github.com/hashicorp/terraform/terraform/shadow_resource_provisioner.go +++ /dev/null @@ -1,282 +0,0 @@ -package terraform - -import ( - "fmt" - "io" - "log" - "sync" - - "github.com/hashicorp/go-multierror" - "github.com/hashicorp/terraform/helper/shadow" -) - -// shadowResourceProvisioner implements ResourceProvisioner for the shadow -// eval context defined in eval_context_shadow.go. -// -// This is used to verify behavior with a real provisioner. This shouldn't -// be used directly. -type shadowResourceProvisioner interface { - ResourceProvisioner - Shadow -} - -// newShadowResourceProvisioner creates a new shadowed ResourceProvisioner. -func newShadowResourceProvisioner( - p ResourceProvisioner) (ResourceProvisioner, shadowResourceProvisioner) { - // Create the shared data - shared := shadowResourceProvisionerShared{ - Validate: shadow.ComparedValue{ - Func: shadowResourceProvisionerValidateCompare, - }, - } - - // Create the real provisioner that does actual work - real := &shadowResourceProvisionerReal{ - ResourceProvisioner: p, - Shared: &shared, - } - - // Create the shadow that watches the real value - shadow := &shadowResourceProvisionerShadow{ - Shared: &shared, - } - - return real, shadow -} - -// shadowResourceProvisionerReal is the real resource provisioner. Function calls -// to this will perform real work. This records the parameters and return -// values and call order for the shadow to reproduce. -type shadowResourceProvisionerReal struct { - ResourceProvisioner - - Shared *shadowResourceProvisionerShared -} - -func (p *shadowResourceProvisionerReal) Close() error { - var result error - if c, ok := p.ResourceProvisioner.(ResourceProvisionerCloser); ok { - result = c.Close() - } - - p.Shared.CloseErr.SetValue(result) - return result -} - -func (p *shadowResourceProvisionerReal) Validate(c *ResourceConfig) ([]string, []error) { - warns, errs := p.ResourceProvisioner.Validate(c) - p.Shared.Validate.SetValue(&shadowResourceProvisionerValidate{ - Config: c, - ResultWarn: warns, - ResultErr: errs, - }) - - return warns, errs -} - -func (p *shadowResourceProvisionerReal) Apply( - output UIOutput, s *InstanceState, c *ResourceConfig) error { - err := p.ResourceProvisioner.Apply(output, s, c) - - // Write the result, grab a lock for writing. This should nver - // block long since the operations below don't block. - p.Shared.ApplyLock.Lock() - defer p.Shared.ApplyLock.Unlock() - - key := s.ID - raw, ok := p.Shared.Apply.ValueOk(key) - if !ok { - // Setup a new value - raw = &shadow.ComparedValue{ - Func: shadowResourceProvisionerApplyCompare, - } - - // Set it - p.Shared.Apply.SetValue(key, raw) - } - - compareVal, ok := raw.(*shadow.ComparedValue) - if !ok { - // Just log and return so that we don't cause the real side - // any side effects. - log.Printf("[ERROR] unknown value in 'apply': %#v", raw) - return err - } - - // Write the resulting value - compareVal.SetValue(&shadowResourceProvisionerApply{ - Config: c, - ResultErr: err, - }) - - return err -} - -func (p *shadowResourceProvisionerReal) Stop() error { - return p.ResourceProvisioner.Stop() -} - -// shadowResourceProvisionerShadow is the shadow resource provisioner. Function -// calls never affect real resources. This is paired with the "real" side -// which must be called properly to enable recording. -type shadowResourceProvisionerShadow struct { - Shared *shadowResourceProvisionerShared - - Error error // Error is the list of errors from the shadow - ErrorLock sync.Mutex -} - -type shadowResourceProvisionerShared struct { - // NOTE: Anytime a value is added here, be sure to add it to - // the Close() method so that it is closed. - - CloseErr shadow.Value - Validate shadow.ComparedValue - Apply shadow.KeyedValue - ApplyLock sync.Mutex // For writing only -} - -func (p *shadowResourceProvisionerShared) Close() error { - closers := []io.Closer{ - &p.CloseErr, - } - - for _, c := range closers { - // This should never happen, but we don't panic because a panic - // could affect the real behavior of Terraform and a shadow should - // never be able to do that. - if err := c.Close(); err != nil { - return err - } - } - - return nil -} - -func (p *shadowResourceProvisionerShadow) CloseShadow() error { - err := p.Shared.Close() - if err != nil { - err = fmt.Errorf("close error: %s", err) - } - - return err -} - -func (p *shadowResourceProvisionerShadow) ShadowError() error { - return p.Error -} - -func (p *shadowResourceProvisionerShadow) Close() error { - v := p.Shared.CloseErr.Value() - if v == nil { - return nil - } - - return v.(error) -} - -func (p *shadowResourceProvisionerShadow) Validate(c *ResourceConfig) ([]string, []error) { - // Get the result of the validate call - raw := p.Shared.Validate.Value(c) - if raw == nil { - return nil, nil - } - - result, ok := raw.(*shadowResourceProvisionerValidate) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'validate' shadow value: %#v", raw)) - return nil, nil - } - - // We don't need to compare configurations because we key on the - // configuration so just return right away. - return result.ResultWarn, result.ResultErr -} - -func (p *shadowResourceProvisionerShadow) Apply( - output UIOutput, s *InstanceState, c *ResourceConfig) error { - // Get the value based on the key - key := s.ID - raw := p.Shared.Apply.Value(key) - if raw == nil { - return nil - } - - compareVal, ok := raw.(*shadow.ComparedValue) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'apply' shadow value: %#v", raw)) - return nil - } - - // With the compared value, we compare against our config - raw = compareVal.Value(c) - if raw == nil { - return nil - } - - result, ok := raw.(*shadowResourceProvisionerApply) - if !ok { - p.ErrorLock.Lock() - defer p.ErrorLock.Unlock() - p.Error = multierror.Append(p.Error, fmt.Errorf( - "Unknown 'apply' shadow value: %#v", raw)) - return nil - } - - return result.ResultErr -} - -func (p *shadowResourceProvisionerShadow) Stop() error { - // For the shadow, we always just return nil since a Stop indicates - // that we were interrupted and shadows are disabled during interrupts - // anyways. - return nil -} - -// The structs for the various function calls are put below. These structs -// are used to carry call information across the real/shadow boundaries. - -type shadowResourceProvisionerValidate struct { - Config *ResourceConfig - ResultWarn []string - ResultErr []error -} - -type shadowResourceProvisionerApply struct { - Config *ResourceConfig - ResultErr error -} - -func shadowResourceProvisionerValidateCompare(k, v interface{}) bool { - c, ok := k.(*ResourceConfig) - if !ok { - return false - } - - result, ok := v.(*shadowResourceProvisionerValidate) - if !ok { - return false - } - - return c.Equal(result.Config) -} - -func shadowResourceProvisionerApplyCompare(k, v interface{}) bool { - c, ok := k.(*ResourceConfig) - if !ok { - return false - } - - result, ok := v.(*shadowResourceProvisionerApply) - if !ok { - return false - } - - return c.Equal(result.Config) -} diff --git a/vendor/github.com/hashicorp/terraform/terraform/state.go b/vendor/github.com/hashicorp/terraform/terraform/state.go index 0c46194d6fb5..2d58c2dac469 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/state.go +++ b/vendor/github.com/hashicorp/terraform/terraform/state.go @@ -977,6 +977,10 @@ type ModuleState struct { // always disjoint, so the path represents amodule tree Path []string `json:"path"` + // Locals are kept only transiently in-memory, because we can always + // re-compute them. + Locals map[string]interface{} `json:"-"` + // Outputs declared by the module and maintained for each module // even though only the root module technically needs to be kept. // This allows operators to inspect values at the boundaries. @@ -1681,7 +1685,20 @@ func (s *InstanceState) Equal(other *InstanceState) bool { // We only do the deep check if both are non-nil. If one is nil // we treat it as equal since their lengths are both zero (check // above). - if !reflect.DeepEqual(s.Meta, other.Meta) { + // + // Since this can contain numeric values that may change types during + // serialization, let's compare the serialized values. + sMeta, err := json.Marshal(s.Meta) + if err != nil { + // marshaling primitives shouldn't ever error out + panic(err) + } + otherMeta, err := json.Marshal(other.Meta) + if err != nil { + panic(err) + } + + if !bytes.Equal(sMeta, otherMeta) { return false } } diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_local.go b/vendor/github.com/hashicorp/terraform/terraform/transform_local.go new file mode 100644 index 000000000000..95ecfc0a440a --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/terraform/transform_local.go @@ -0,0 +1,40 @@ +package terraform + +import ( + "github.com/hashicorp/terraform/config/module" +) + +// LocalTransformer is a GraphTransformer that adds all the local values +// from the configuration to the graph. +type LocalTransformer struct { + Module *module.Tree +} + +func (t *LocalTransformer) Transform(g *Graph) error { + return t.transformModule(g, t.Module) +} + +func (t *LocalTransformer) transformModule(g *Graph, m *module.Tree) error { + if m == nil { + // Can't have any locals if there's no config + return nil + } + + for _, local := range m.Config().Locals { + node := &NodeLocal{ + PathValue: normalizeModulePath(m.Path()), + Config: local, + } + + g.Add(node) + } + + // Also populate locals for child modules + for _, c := range m.Children() { + if err := t.transformModule(g, c); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go b/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go index 467950bdc67a..dbfd1687178b 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go +++ b/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go @@ -17,6 +17,7 @@ type ModuleVariableTransformer struct { Module *module.Tree DisablePrune bool // True if pruning unreferenced should be disabled + Input bool // True if this is from an Input operation. } func (t *ModuleVariableTransformer) Transform(g *Graph) error { @@ -99,6 +100,7 @@ func (t *ModuleVariableTransformer) transformSingle(g *Graph, parent, m *module. Config: v, Value: value, Module: t.Module, + Input: t.Input, } if !t.DisablePrune { diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_reference.go b/vendor/github.com/hashicorp/terraform/terraform/transform_reference.go index c5452354d4b6..ce55e1d77564 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/transform_reference.go +++ b/vendor/github.com/hashicorp/terraform/terraform/transform_reference.go @@ -296,6 +296,8 @@ func ReferenceFromInterpolatedVar(v config.InterpolatedVariable) []string { return []string{fmt.Sprintf("%s.%d/%s.N", id, idx, id)} case *config.UserVariable: return []string{fmt.Sprintf("var.%s", v.Name)} + case *config.LocalVariable: + return []string{fmt.Sprintf("local.%s", v.Name)} default: return nil } diff --git a/vendor/github.com/hashicorp/terraform/terraform/version.go b/vendor/github.com/hashicorp/terraform/terraform/version.go index d61b11ea2fe3..bcfdd5c498d1 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/version.go +++ b/vendor/github.com/hashicorp/terraform/terraform/version.go @@ -7,12 +7,12 @@ import ( ) // The main version number that is being run at the moment. -const Version = "0.10.0" +const Version = "0.10.6" // A pre-release marker for the version. If this is "" (empty string) // then it means that it is a final release. Otherwise, this is a pre-release // such as "dev" (in development), "beta", "rc1", etc. -var VersionPrerelease = "dev" +var VersionPrerelease = "" // SemVersion is an instance of version.Version. This has the secondary // benefit of verifying during tests and init time that our version is a diff --git a/vendor/github.com/hashicorp/terraform/terraform/version_required.go b/vendor/github.com/hashicorp/terraform/terraform/version_required.go index 3cbbf5608543..723ec3963250 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/version_required.go +++ b/vendor/github.com/hashicorp/terraform/terraform/version_required.go @@ -8,17 +8,17 @@ import ( "github.com/hashicorp/terraform/config/module" ) -// checkRequiredVersion verifies that any version requirements specified by +// CheckRequiredVersion verifies that any version requirements specified by // the configuration are met. // // This checks the root module as well as any additional version requirements // from child modules. // // This is tested in context_test.go. -func checkRequiredVersion(m *module.Tree) error { +func CheckRequiredVersion(m *module.Tree) error { // Check any children for _, c := range m.Children() { - if err := checkRequiredVersion(c); err != nil { + if err := CheckRequiredVersion(c); err != nil { return err } } diff --git a/vendor/github.com/mattn/go-isatty/LICENSE b/vendor/github.com/mattn/go-isatty/LICENSE new file mode 100644 index 000000000000..65dc692b6b17 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/LICENSE @@ -0,0 +1,9 @@ +Copyright (c) Yasuhiro MATSUMOTO + +MIT License (Expat) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/mattn/go-isatty/README.md b/vendor/github.com/mattn/go-isatty/README.md new file mode 100644 index 000000000000..1e69004bb039 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/README.md @@ -0,0 +1,50 @@ +# go-isatty + +[![Godoc Reference](https://godoc.org/github.com/mattn/go-isatty?status.svg)](http://godoc.org/github.com/mattn/go-isatty) +[![Build Status](https://travis-ci.org/mattn/go-isatty.svg?branch=master)](https://travis-ci.org/mattn/go-isatty) +[![Coverage Status](https://coveralls.io/repos/github/mattn/go-isatty/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-isatty?branch=master) +[![Go Report Card](https://goreportcard.com/badge/mattn/go-isatty)](https://goreportcard.com/report/mattn/go-isatty) + +isatty for golang + +## Usage + +```go +package main + +import ( + "fmt" + "github.com/mattn/go-isatty" + "os" +) + +func main() { + if isatty.IsTerminal(os.Stdout.Fd()) { + fmt.Println("Is Terminal") + } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) { + fmt.Println("Is Cygwin/MSYS2 Terminal") + } else { + fmt.Println("Is Not Terminal") + } +} +``` + +## Installation + +``` +$ go get github.com/mattn/go-isatty +``` + +## License + +MIT + +## Author + +Yasuhiro Matsumoto (a.k.a mattn) + +## Thanks + +* k-takata: base idea for IsCygwinTerminal + + https://github.com/k-takata/go-iscygpty diff --git a/vendor/github.com/mattn/go-isatty/doc.go b/vendor/github.com/mattn/go-isatty/doc.go new file mode 100644 index 000000000000..17d4f90ebcc7 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/doc.go @@ -0,0 +1,2 @@ +// Package isatty implements interface to isatty +package isatty diff --git a/vendor/github.com/mattn/go-isatty/isatty_appengine.go b/vendor/github.com/mattn/go-isatty/isatty_appengine.go new file mode 100644 index 000000000000..9584a98842ee --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_appengine.go @@ -0,0 +1,15 @@ +// +build appengine + +package isatty + +// IsTerminal returns true if the file descriptor is terminal which +// is always false on on appengine classic which is a sandboxed PaaS. +func IsTerminal(fd uintptr) bool { + return false +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go new file mode 100644 index 000000000000..42f2514d1338 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go @@ -0,0 +1,18 @@ +// +build darwin freebsd openbsd netbsd dragonfly +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TIOCGETA + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux.go b/vendor/github.com/mattn/go-isatty/isatty_linux.go new file mode 100644 index 000000000000..7384cf99167b --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_linux.go @@ -0,0 +1,18 @@ +// +build linux +// +build !appengine,!ppc64,!ppc64le + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go b/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go new file mode 100644 index 000000000000..44e5d213021a --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go @@ -0,0 +1,19 @@ +// +build linux +// +build ppc64 ppc64le + +package isatty + +import ( + "unsafe" + + syscall "golang.org/x/sys/unix" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go new file mode 100644 index 000000000000..ff4de3d9a534 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_others.go @@ -0,0 +1,10 @@ +// +build !windows +// +build !appengine + +package isatty + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go new file mode 100644 index 000000000000..1f0c6bf53dce --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_solaris.go @@ -0,0 +1,16 @@ +// +build solaris +// +build !appengine + +package isatty + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c +func IsTerminal(fd uintptr) bool { + var termio unix.Termio + err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) + return err == nil +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go new file mode 100644 index 000000000000..af51cbcaa485 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_windows.go @@ -0,0 +1,94 @@ +// +build windows +// +build !appengine + +package isatty + +import ( + "strings" + "syscall" + "unicode/utf16" + "unsafe" +) + +const ( + fileNameInfo uintptr = 2 + fileTypePipe = 3 +) + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + procGetFileInformationByHandleEx = kernel32.NewProc("GetFileInformationByHandleEx") + procGetFileType = kernel32.NewProc("GetFileType") +) + +func init() { + // Check if GetFileInformationByHandleEx is available. + if procGetFileInformationByHandleEx.Find() != nil { + procGetFileInformationByHandleEx = nil + } +} + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} + +// Check pipe name is used for cygwin/msys2 pty. +// Cygwin/MSYS2 PTY has a name like: +// \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master +func isCygwinPipeName(name string) bool { + token := strings.Split(name, "-") + if len(token) < 5 { + return false + } + + if token[0] != `\msys` && token[0] != `\cygwin` { + return false + } + + if token[1] == "" { + return false + } + + if !strings.HasPrefix(token[2], "pty") { + return false + } + + if token[3] != `from` && token[3] != `to` { + return false + } + + if token[4] != "master" { + return false + } + + return true +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. +func IsCygwinTerminal(fd uintptr) bool { + if procGetFileInformationByHandleEx == nil { + return false + } + + // Cygwin/msys's pty is a pipe. + ft, _, e := syscall.Syscall(procGetFileType.Addr(), 1, fd, 0, 0) + if ft != fileTypePipe || e != 0 { + return false + } + + var buf [2 + syscall.MAX_PATH]uint16 + r, _, e := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), + 4, fd, fileNameInfo, uintptr(unsafe.Pointer(&buf)), + uintptr(len(buf)*2), 0, 0) + if r == 0 || e != 0 { + return false + } + + l := *(*uint32)(unsafe.Pointer(&buf)) + return isCygwinPipeName(string(utf16.Decode(buf[2 : 2+l/2]))) +} diff --git a/vendor/github.com/mitchellh/cli/LICENSE b/vendor/github.com/mitchellh/cli/LICENSE new file mode 100644 index 000000000000..c33dcc7c928c --- /dev/null +++ b/vendor/github.com/mitchellh/cli/LICENSE @@ -0,0 +1,354 @@ +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. “Contributor” + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. “Contributor Version” + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. “Contribution” + + means Covered Software of a particular Contributor. + +1.4. “Covered Software” + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. “Incompatible With Secondary Licenses” + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. “Executable Form” + + means any form of the work other than Source Code Form. + +1.7. “Larger Work” + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. “License” + + means this document. + +1.9. “Licensable” + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. “Modifications” + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. “Patent Claims” of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. “Secondary License” + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. “Source Code Form” + + means the form of the work preferred for making modifications. + +1.14. “You” (or “Your”) + + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. + + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. + diff --git a/vendor/github.com/mitchellh/cli/Makefile b/vendor/github.com/mitchellh/cli/Makefile new file mode 100644 index 000000000000..4874b0082a34 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/Makefile @@ -0,0 +1,20 @@ +TEST?=./... + +default: test + +# test runs the test suite and vets the code +test: + go list $(TEST) | xargs -n1 go test -timeout=60s -parallel=10 $(TESTARGS) + +# testrace runs the race checker +testrace: + go list $(TEST) | xargs -n1 go test -race $(TESTARGS) + +# updatedeps installs all the dependencies to run and build +updatedeps: + go list ./... \ + | xargs go list -f '{{ join .Deps "\n" }}{{ printf "\n" }}{{ join .TestImports "\n" }}' \ + | grep -v github.com/mitchellh/cli \ + | xargs go get -f -u -v + +.PHONY: test testrace updatedeps diff --git a/vendor/github.com/mitchellh/cli/README.md b/vendor/github.com/mitchellh/cli/README.md new file mode 100644 index 000000000000..8f02cdd0a348 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/README.md @@ -0,0 +1,67 @@ +# Go CLI Library [![GoDoc](https://godoc.org/github.com/mitchellh/cli?status.png)](https://godoc.org/github.com/mitchellh/cli) + +cli is a library for implementing powerful command-line interfaces in Go. +cli is the library that powers the CLI for +[Packer](https://github.com/mitchellh/packer), +[Serf](https://github.com/hashicorp/serf), +[Consul](https://github.com/hashicorp/consul), +[Vault](https://github.com/hashicorp/vault), +[Terraform](https://github.com/hashicorp/terraform), and +[Nomad](https://github.com/hashicorp/nomad). + +## Features + +* Easy sub-command based CLIs: `cli foo`, `cli bar`, etc. + +* Support for nested subcommands such as `cli foo bar`. + +* Optional support for default subcommands so `cli` does something + other than error. + +* Support for shell autocompletion of subcommands, flags, and arguments + with callbacks in Go. You don't need to write any shell code. + +* Automatic help generation for listing subcommands + +* Automatic help flag recognition of `-h`, `--help`, etc. + +* Automatic version flag recognition of `-v`, `--version`. + +* Helpers for interacting with the terminal, such as outputting information, + asking for input, etc. These are optional, you can always interact with the + terminal however you choose. + +* Use of Go interfaces/types makes augmenting various parts of the library a + piece of cake. + +## Example + +Below is a simple example of creating and running a CLI + +```go +package main + +import ( + "log" + "os" + + "github.com/mitchellh/cli" +) + +func main() { + c := cli.NewCLI("app", "1.0.0") + c.Args = os.Args[1:] + c.Commands = map[string]cli.CommandFactory{ + "foo": fooCommandFactory, + "bar": barCommandFactory, + } + + exitStatus, err := c.Run() + if err != nil { + log.Println(err) + } + + os.Exit(exitStatus) +} +``` + diff --git a/vendor/github.com/mitchellh/cli/autocomplete.go b/vendor/github.com/mitchellh/cli/autocomplete.go new file mode 100644 index 000000000000..3bec6258f07f --- /dev/null +++ b/vendor/github.com/mitchellh/cli/autocomplete.go @@ -0,0 +1,43 @@ +package cli + +import ( + "github.com/posener/complete/cmd/install" +) + +// autocompleteInstaller is an interface to be implemented to perform the +// autocomplete installation and uninstallation with a CLI. +// +// This interface is not exported because it only exists for unit tests +// to be able to test that the installation is called properly. +type autocompleteInstaller interface { + Install(string) error + Uninstall(string) error +} + +// realAutocompleteInstaller uses the real install package to do the +// install/uninstall. +type realAutocompleteInstaller struct{} + +func (i *realAutocompleteInstaller) Install(cmd string) error { + return install.Install(cmd) +} + +func (i *realAutocompleteInstaller) Uninstall(cmd string) error { + return install.Uninstall(cmd) +} + +// mockAutocompleteInstaller is used for tests to record the install/uninstall. +type mockAutocompleteInstaller struct { + InstallCalled bool + UninstallCalled bool +} + +func (i *mockAutocompleteInstaller) Install(cmd string) error { + i.InstallCalled = true + return nil +} + +func (i *mockAutocompleteInstaller) Uninstall(cmd string) error { + i.UninstallCalled = true + return nil +} diff --git a/vendor/github.com/mitchellh/cli/cli.go b/vendor/github.com/mitchellh/cli/cli.go new file mode 100644 index 000000000000..61206d6aa081 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/cli.go @@ -0,0 +1,695 @@ +package cli + +import ( + "fmt" + "io" + "os" + "regexp" + "sort" + "strings" + "sync" + "text/template" + + "github.com/armon/go-radix" + "github.com/posener/complete" +) + +// CLI contains the state necessary to run subcommands and parse the +// command line arguments. +// +// CLI also supports nested subcommands, such as "cli foo bar". To use +// nested subcommands, the key in the Commands mapping below contains the +// full subcommand. In this example, it would be "foo bar". +// +// If you use a CLI with nested subcommands, some semantics change due to +// ambiguities: +// +// * We use longest prefix matching to find a matching subcommand. This +// means if you register "foo bar" and the user executes "cli foo qux", +// the "foo" command will be executed with the arg "qux". It is up to +// you to handle these args. One option is to just return the special +// help return code `RunResultHelp` to display help and exit. +// +// * The help flag "-h" or "-help" will look at all args to determine +// the help function. For example: "otto apps list -h" will show the +// help for "apps list" but "otto apps -h" will show it for "apps". +// In the normal CLI, only the first subcommand is used. +// +// * The help flag will list any subcommands that a command takes +// as well as the command's help itself. If there are no subcommands, +// it will note this. If the CLI itself has no subcommands, this entire +// section is omitted. +// +// * Any parent commands that don't exist are automatically created as +// no-op commands that just show help for other subcommands. For example, +// if you only register "foo bar", then "foo" is automatically created. +// +type CLI struct { + // Args is the list of command-line arguments received excluding + // the name of the app. For example, if the command "./cli foo bar" + // was invoked, then Args should be []string{"foo", "bar"}. + Args []string + + // Commands is a mapping of subcommand names to a factory function + // for creating that Command implementation. If there is a command + // with a blank string "", then it will be used as the default command + // if no subcommand is specified. + // + // If the key has a space in it, this will create a nested subcommand. + // For example, if the key is "foo bar", then to access it our CLI + // must be accessed with "./cli foo bar". See the docs for CLI for + // notes on how this changes some other behavior of the CLI as well. + // + // The factory should be as cheap as possible, ideally only allocating + // a struct. The factory may be called multiple times in the course + // of a command execution and certain events such as help require the + // instantiation of all commands. Expensive initialization should be + // deferred to function calls within the interface implementation. + Commands map[string]CommandFactory + + // HiddenCommands is a list of commands that are "hidden". Hidden + // commands are not given to the help function callback and do not + // show up in autocomplete. The values in the slice should be equivalent + // to the keys in the command map. + HiddenCommands []string + + // Name defines the name of the CLI. + Name string + + // Version of the CLI. + Version string + + // Autocomplete enables or disables subcommand auto-completion support. + // This is enabled by default when NewCLI is called. Otherwise, this + // must enabled explicitly. + // + // Autocomplete requires the "Name" option to be set on CLI. This name + // should be set exactly to the binary name that is autocompleted. + // + // Autocompletion is supported via the github.com/posener/complete + // library. This library supports both bash and zsh. To add support + // for other shells, please see that library. + // + // AutocompleteInstall and AutocompleteUninstall are the global flag + // names for installing and uninstalling the autocompletion handlers + // for the user's shell. The flag should omit the hyphen(s) in front of + // the value. Both single and double hyphens will automatically be supported + // for the flag name. These default to `autocomplete-install` and + // `autocomplete-uninstall` respectively. + // + // AutocompleteNoDefaultFlags is a boolean which controls if the default auto- + // complete flags like -help and -version are added to the output. + // + // AutocompleteGlobalFlags are a mapping of global flags for + // autocompletion. The help and version flags are automatically added. + Autocomplete bool + AutocompleteInstall string + AutocompleteUninstall string + AutocompleteNoDefaultFlags bool + AutocompleteGlobalFlags complete.Flags + autocompleteInstaller autocompleteInstaller // For tests + + // HelpFunc and HelpWriter are used to output help information, if + // requested. + // + // HelpFunc is the function called to generate the generic help + // text that is shown if help must be shown for the CLI that doesn't + // pertain to a specific command. + // + // HelpWriter is the Writer where the help text is outputted to. If + // not specified, it will default to Stderr. + HelpFunc HelpFunc + HelpWriter io.Writer + + //--------------------------------------------------------------- + // Internal fields set automatically + + once sync.Once + autocomplete *complete.Complete + commandTree *radix.Tree + commandNested bool + commandHidden map[string]struct{} + subcommand string + subcommandArgs []string + topFlags []string + + // These are true when special global flags are set. We can/should + // probably use a bitset for this one day. + isHelp bool + isVersion bool + isAutocompleteInstall bool + isAutocompleteUninstall bool +} + +// NewClI returns a new CLI instance with sensible defaults. +func NewCLI(app, version string) *CLI { + return &CLI{ + Name: app, + Version: version, + HelpFunc: BasicHelpFunc(app), + Autocomplete: true, + } + +} + +// IsHelp returns whether or not the help flag is present within the +// arguments. +func (c *CLI) IsHelp() bool { + c.once.Do(c.init) + return c.isHelp +} + +// IsVersion returns whether or not the version flag is present within the +// arguments. +func (c *CLI) IsVersion() bool { + c.once.Do(c.init) + return c.isVersion +} + +// Run runs the actual CLI based on the arguments given. +func (c *CLI) Run() (int, error) { + c.once.Do(c.init) + + // If this is a autocompletion request, satisfy it. This must be called + // first before anything else since its possible to be autocompleting + // -help or -version or other flags and we want to show completions + // and not actually write the help or version. + if c.Autocomplete && c.autocomplete.Complete() { + return 0, nil + } + + // Just show the version and exit if instructed. + if c.IsVersion() && c.Version != "" { + c.HelpWriter.Write([]byte(c.Version + "\n")) + return 0, nil + } + + // Just print the help when only '-h' or '--help' is passed. + if c.IsHelp() && c.Subcommand() == "" { + c.HelpWriter.Write([]byte(c.HelpFunc(c.helpCommands(c.Subcommand())) + "\n")) + return 0, nil + } + + // If we're attempting to install or uninstall autocomplete then handle + if c.Autocomplete { + // Autocomplete requires the "Name" to be set so that we know what + // command to setup the autocomplete on. + if c.Name == "" { + return 1, fmt.Errorf( + "internal error: CLI.Name must be specified for autocomplete to work") + } + + // If both install and uninstall flags are specified, then error + if c.isAutocompleteInstall && c.isAutocompleteUninstall { + return 1, fmt.Errorf( + "Either the autocomplete install or uninstall flag may " + + "be specified, but not both.") + } + + // If the install flag is specified, perform the install or uninstall + if c.isAutocompleteInstall { + if err := c.autocompleteInstaller.Install(c.Name); err != nil { + return 1, err + } + + return 0, nil + } + + if c.isAutocompleteUninstall { + if err := c.autocompleteInstaller.Uninstall(c.Name); err != nil { + return 1, err + } + + return 0, nil + } + } + + // Attempt to get the factory function for creating the command + // implementation. If the command is invalid or blank, it is an error. + raw, ok := c.commandTree.Get(c.Subcommand()) + if !ok { + c.HelpWriter.Write([]byte(c.HelpFunc(c.helpCommands(c.subcommandParent())) + "\n")) + return 127, nil + } + + command, err := raw.(CommandFactory)() + if err != nil { + return 1, err + } + + // If we've been instructed to just print the help, then print it + if c.IsHelp() { + c.commandHelp(command) + return 0, nil + } + + // If there is an invalid flag, then error + if len(c.topFlags) > 0 { + c.HelpWriter.Write([]byte( + "Invalid flags before the subcommand. If these flags are for\n" + + "the subcommand, please put them after the subcommand.\n\n")) + c.commandHelp(command) + return 1, nil + } + + code := command.Run(c.SubcommandArgs()) + if code == RunResultHelp { + // Requesting help + c.commandHelp(command) + return 1, nil + } + + return code, nil +} + +// Subcommand returns the subcommand that the CLI would execute. For +// example, a CLI from "--version version --help" would return a Subcommand +// of "version" +func (c *CLI) Subcommand() string { + c.once.Do(c.init) + return c.subcommand +} + +// SubcommandArgs returns the arguments that will be passed to the +// subcommand. +func (c *CLI) SubcommandArgs() []string { + c.once.Do(c.init) + return c.subcommandArgs +} + +// subcommandParent returns the parent of this subcommand, if there is one. +// If there isn't on, "" is returned. +func (c *CLI) subcommandParent() string { + // Get the subcommand, if it is "" alread just return + sub := c.Subcommand() + if sub == "" { + return sub + } + + // Clear any trailing spaces and find the last space + sub = strings.TrimRight(sub, " ") + idx := strings.LastIndex(sub, " ") + + if idx == -1 { + // No space means our parent is root + return "" + } + + return sub[:idx] +} + +func (c *CLI) init() { + if c.HelpFunc == nil { + c.HelpFunc = BasicHelpFunc("app") + + if c.Name != "" { + c.HelpFunc = BasicHelpFunc(c.Name) + } + } + + if c.HelpWriter == nil { + c.HelpWriter = os.Stderr + } + + // Build our hidden commands + if len(c.HiddenCommands) > 0 { + c.commandHidden = make(map[string]struct{}) + for _, h := range c.HiddenCommands { + c.commandHidden[h] = struct{}{} + } + } + + // Build our command tree + c.commandTree = radix.New() + c.commandNested = false + for k, v := range c.Commands { + k = strings.TrimSpace(k) + c.commandTree.Insert(k, v) + if strings.ContainsRune(k, ' ') { + c.commandNested = true + } + } + + // Go through the key and fill in any missing parent commands + if c.commandNested { + var walkFn radix.WalkFn + toInsert := make(map[string]struct{}) + walkFn = func(k string, raw interface{}) bool { + idx := strings.LastIndex(k, " ") + if idx == -1 { + // If there is no space, just ignore top level commands + return false + } + + // Trim up to that space so we can get the expected parent + k = k[:idx] + if _, ok := c.commandTree.Get(k); ok { + // Yay we have the parent! + return false + } + + // We're missing the parent, so let's insert this + toInsert[k] = struct{}{} + + // Call the walk function recursively so we check this one too + return walkFn(k, nil) + } + + // Walk! + c.commandTree.Walk(walkFn) + + // Insert any that we're missing + for k := range toInsert { + var f CommandFactory = func() (Command, error) { + return &MockCommand{ + HelpText: "This command is accessed by using one of the subcommands below.", + RunResult: RunResultHelp, + }, nil + } + + c.commandTree.Insert(k, f) + } + } + + // Setup autocomplete if we have it enabled. We have to do this after + // the command tree is setup so we can use the radix tree to easily find + // all subcommands. + if c.Autocomplete { + c.initAutocomplete() + } + + // Process the args + c.processArgs() +} + +func (c *CLI) initAutocomplete() { + if c.AutocompleteInstall == "" { + c.AutocompleteInstall = defaultAutocompleteInstall + } + + if c.AutocompleteUninstall == "" { + c.AutocompleteUninstall = defaultAutocompleteUninstall + } + + if c.autocompleteInstaller == nil { + c.autocompleteInstaller = &realAutocompleteInstaller{} + } + + // Build the root command + cmd := c.initAutocompleteSub("") + + // For the root, we add the global flags to the "Flags". This way + // they don't show up on every command. + if !c.AutocompleteNoDefaultFlags { + cmd.Flags = map[string]complete.Predictor{ + "-" + c.AutocompleteInstall: complete.PredictNothing, + "-" + c.AutocompleteUninstall: complete.PredictNothing, + "-help": complete.PredictNothing, + "-version": complete.PredictNothing, + } + } + cmd.GlobalFlags = c.AutocompleteGlobalFlags + + c.autocomplete = complete.New(c.Name, cmd) +} + +// initAutocompleteSub creates the complete.Command for a subcommand with +// the given prefix. This will continue recursively for all subcommands. +// The prefix "" (empty string) can be used for the root command. +func (c *CLI) initAutocompleteSub(prefix string) complete.Command { + var cmd complete.Command + walkFn := func(k string, raw interface{}) bool { + // Keep track of the full key so that we can nest further if necessary + fullKey := k + + if len(prefix) > 0 { + // If we have a prefix, trim the prefix + 1 (for the space) + // Example: turns "sub one" to "one" with prefix "sub" + k = k[len(prefix)+1:] + } + + if idx := strings.Index(k, " "); idx >= 0 { + // If there is a space, we trim up to the space. This turns + // "sub sub2 sub3" into "sub". The prefix trim above will + // trim our current depth properly. + k = k[:idx] + } + + if _, ok := cmd.Sub[k]; ok { + // If we already tracked this subcommand then ignore + return false + } + + // If the command is hidden, don't record it at all + if _, ok := c.commandHidden[fullKey]; ok { + return false + } + + if cmd.Sub == nil { + cmd.Sub = complete.Commands(make(map[string]complete.Command)) + } + subCmd := c.initAutocompleteSub(fullKey) + + // Instantiate the command so that we can check if the command is + // a CommandAutocomplete implementation. If there is an error + // creating the command, we just ignore it since that will be caught + // later. + impl, err := raw.(CommandFactory)() + if err != nil { + impl = nil + } + + // Check if it implements ComandAutocomplete. If so, setup the autocomplete + if c, ok := impl.(CommandAutocomplete); ok { + subCmd.Args = c.AutocompleteArgs() + subCmd.Flags = c.AutocompleteFlags() + } + + cmd.Sub[k] = subCmd + return false + } + + walkPrefix := prefix + if walkPrefix != "" { + walkPrefix += " " + } + + c.commandTree.WalkPrefix(walkPrefix, walkFn) + return cmd +} + +func (c *CLI) commandHelp(command Command) { + // Get the template to use + tpl := strings.TrimSpace(defaultHelpTemplate) + if t, ok := command.(CommandHelpTemplate); ok { + tpl = t.HelpTemplate() + } + if !strings.HasSuffix(tpl, "\n") { + tpl += "\n" + } + + // Parse it + t, err := template.New("root").Parse(tpl) + if err != nil { + t = template.Must(template.New("root").Parse(fmt.Sprintf( + "Internal error! Failed to parse command help template: %s\n", err))) + } + + // Template data + data := map[string]interface{}{ + "Name": c.Name, + "Help": command.Help(), + } + + // Build subcommand list if we have it + var subcommandsTpl []map[string]interface{} + if c.commandNested { + // Get the matching keys + subcommands := c.helpCommands(c.Subcommand()) + keys := make([]string, 0, len(subcommands)) + for k := range subcommands { + keys = append(keys, k) + } + + // Sort the keys + sort.Strings(keys) + + // Figure out the padding length + var longest int + for _, k := range keys { + if v := len(k); v > longest { + longest = v + } + } + + // Go through and create their structures + subcommandsTpl = make([]map[string]interface{}, 0, len(subcommands)) + for _, k := range keys { + // Get the command + raw, ok := subcommands[k] + if !ok { + c.HelpWriter.Write([]byte(fmt.Sprintf( + "Error getting subcommand %q", k))) + } + sub, err := raw() + if err != nil { + c.HelpWriter.Write([]byte(fmt.Sprintf( + "Error instantiating %q: %s", k, err))) + } + + // Find the last space and make sure we only include that last part + name := k + if idx := strings.LastIndex(k, " "); idx > -1 { + name = name[idx+1:] + } + + subcommandsTpl = append(subcommandsTpl, map[string]interface{}{ + "Name": name, + "NameAligned": name + strings.Repeat(" ", longest-len(k)), + "Help": sub.Help(), + "Synopsis": sub.Synopsis(), + }) + } + } + data["Subcommands"] = subcommandsTpl + + // Write + err = t.Execute(c.HelpWriter, data) + if err == nil { + return + } + + // An error, just output... + c.HelpWriter.Write([]byte(fmt.Sprintf( + "Internal error rendering help: %s", err))) +} + +// helpCommands returns the subcommands for the HelpFunc argument. +// This will only contain immediate subcommands. +func (c *CLI) helpCommands(prefix string) map[string]CommandFactory { + // If our prefix isn't empty, make sure it ends in ' ' + if prefix != "" && prefix[len(prefix)-1] != ' ' { + prefix += " " + } + + // Get all the subkeys of this command + var keys []string + c.commandTree.WalkPrefix(prefix, func(k string, raw interface{}) bool { + // Ignore any sub-sub keys, i.e. "foo bar baz" when we want "foo bar" + if !strings.Contains(k[len(prefix):], " ") { + keys = append(keys, k) + } + + return false + }) + + // For each of the keys return that in the map + result := make(map[string]CommandFactory, len(keys)) + for _, k := range keys { + raw, ok := c.commandTree.Get(k) + if !ok { + // We just got it via WalkPrefix above, so we just panic + panic("not found: " + k) + } + + // If this is a hidden command, don't show it + if _, ok := c.commandHidden[k]; ok { + continue + } + + result[k] = raw.(CommandFactory) + } + + return result +} + +func (c *CLI) processArgs() { + for i, arg := range c.Args { + if arg == "--" { + break + } + + // Check for help flags. + if arg == "-h" || arg == "-help" || arg == "--help" { + c.isHelp = true + continue + } + + // Check for autocomplete flags + if c.Autocomplete { + if arg == "-"+c.AutocompleteInstall || arg == "--"+c.AutocompleteInstall { + c.isAutocompleteInstall = true + continue + } + + if arg == "-"+c.AutocompleteUninstall || arg == "--"+c.AutocompleteUninstall { + c.isAutocompleteUninstall = true + continue + } + } + + if c.subcommand == "" { + // Check for version flags if not in a subcommand. + if arg == "-v" || arg == "-version" || arg == "--version" { + c.isVersion = true + continue + } + + if arg != "" && arg[0] == '-' { + // Record the arg... + c.topFlags = append(c.topFlags, arg) + } + } + + // If we didn't find a subcommand yet and this is the first non-flag + // argument, then this is our subcommand. + if c.subcommand == "" && arg != "" && arg[0] != '-' { + c.subcommand = arg + if c.commandNested { + // Nested CLI, the subcommand is actually the entire + // arg list up to a flag that is still a valid subcommand. + searchKey := strings.Join(c.Args[i:], " ") + k, _, ok := c.commandTree.LongestPrefix(searchKey) + if ok { + // k could be a prefix that doesn't contain the full + // command such as "foo" instead of "foobar", so we + // need to verify that we have an entire key. To do that, + // we look for an ending in a space or an end of string. + reVerify := regexp.MustCompile(regexp.QuoteMeta(k) + `( |$)`) + if reVerify.MatchString(searchKey) { + c.subcommand = k + i += strings.Count(k, " ") + } + } + } + + // The remaining args the subcommand arguments + c.subcommandArgs = c.Args[i+1:] + } + } + + // If we never found a subcommand and support a default command, then + // switch to using that. + if c.subcommand == "" { + if _, ok := c.Commands[""]; ok { + args := c.topFlags + args = append(args, c.subcommandArgs...) + c.topFlags = nil + c.subcommandArgs = args + } + } +} + +// defaultAutocompleteInstall and defaultAutocompleteUninstall are the +// default values for the autocomplete install and uninstall flags. +const defaultAutocompleteInstall = "autocomplete-install" +const defaultAutocompleteUninstall = "autocomplete-uninstall" + +const defaultHelpTemplate = ` +{{.Help}}{{if gt (len .Subcommands) 0}} + +Subcommands: +{{- range $value := .Subcommands }} + {{ $value.NameAligned }} {{ $value.Synopsis }}{{ end }} +{{- end }} +` diff --git a/vendor/github.com/mitchellh/cli/command.go b/vendor/github.com/mitchellh/cli/command.go new file mode 100644 index 000000000000..bed11faf5785 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/command.go @@ -0,0 +1,67 @@ +package cli + +import ( + "github.com/posener/complete" +) + +const ( + // RunResultHelp is a value that can be returned from Run to signal + // to the CLI to render the help output. + RunResultHelp = -18511 +) + +// A command is a runnable sub-command of a CLI. +type Command interface { + // Help should return long-form help text that includes the command-line + // usage, a brief few sentences explaining the function of the command, + // and the complete list of flags the command accepts. + Help() string + + // Run should run the actual command with the given CLI instance and + // command-line arguments. It should return the exit status when it is + // finished. + // + // There are a handful of special exit codes this can return documented + // above that change behavior. + Run(args []string) int + + // Synopsis should return a one-line, short synopsis of the command. + // This should be less than 50 characters ideally. + Synopsis() string +} + +// CommandAutocomplete is an extension of Command that enables fine-grained +// autocompletion. Subcommand autocompletion will work even if this interface +// is not implemented. By implementing this interface, more advanced +// autocompletion is enabled. +type CommandAutocomplete interface { + // AutocompleteArgs returns the argument predictor for this command. + // If argument completion is not supported, this should return + // complete.PredictNothing. + AutocompleteArgs() complete.Predictor + + // AutocompleteFlags returns a mapping of supported flags and autocomplete + // options for this command. The map key for the Flags map should be the + // complete flag such as "-foo" or "--foo". + AutocompleteFlags() complete.Flags +} + +// CommandHelpTemplate is an extension of Command that also has a function +// for returning a template for the help rather than the help itself. In +// this scenario, both Help and HelpTemplate should be implemented. +// +// If CommandHelpTemplate isn't implemented, the Help is output as-is. +type CommandHelpTemplate interface { + // HelpTemplate is the template in text/template format to use for + // displaying the Help. The keys available are: + // + // * ".Help" - The help text itself + // * ".Subcommands" + // + HelpTemplate() string +} + +// CommandFactory is a type of function that is a factory for commands. +// We need a factory because we may need to setup some state on the +// struct that implements the command itself. +type CommandFactory func() (Command, error) diff --git a/vendor/github.com/mitchellh/cli/command_mock.go b/vendor/github.com/mitchellh/cli/command_mock.go new file mode 100644 index 000000000000..7a584b7e9b3d --- /dev/null +++ b/vendor/github.com/mitchellh/cli/command_mock.go @@ -0,0 +1,63 @@ +package cli + +import ( + "github.com/posener/complete" +) + +// MockCommand is an implementation of Command that can be used for tests. +// It is publicly exported from this package in case you want to use it +// externally. +type MockCommand struct { + // Settable + HelpText string + RunResult int + SynopsisText string + + // Set by the command + RunCalled bool + RunArgs []string +} + +func (c *MockCommand) Help() string { + return c.HelpText +} + +func (c *MockCommand) Run(args []string) int { + c.RunCalled = true + c.RunArgs = args + + return c.RunResult +} + +func (c *MockCommand) Synopsis() string { + return c.SynopsisText +} + +// MockCommandAutocomplete is an implementation of CommandAutocomplete. +type MockCommandAutocomplete struct { + MockCommand + + // Settable + AutocompleteArgsValue complete.Predictor + AutocompleteFlagsValue complete.Flags +} + +func (c *MockCommandAutocomplete) AutocompleteArgs() complete.Predictor { + return c.AutocompleteArgsValue +} + +func (c *MockCommandAutocomplete) AutocompleteFlags() complete.Flags { + return c.AutocompleteFlagsValue +} + +// MockCommandHelpTemplate is an implementation of CommandHelpTemplate. +type MockCommandHelpTemplate struct { + MockCommand + + // Settable + HelpTemplateText string +} + +func (c *MockCommandHelpTemplate) HelpTemplate() string { + return c.HelpTemplateText +} diff --git a/vendor/github.com/mitchellh/cli/help.go b/vendor/github.com/mitchellh/cli/help.go new file mode 100644 index 000000000000..f5ca58f59513 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/help.go @@ -0,0 +1,79 @@ +package cli + +import ( + "bytes" + "fmt" + "log" + "sort" + "strings" +) + +// HelpFunc is the type of the function that is responsible for generating +// the help output when the CLI must show the general help text. +type HelpFunc func(map[string]CommandFactory) string + +// BasicHelpFunc generates some basic help output that is usually good enough +// for most CLI applications. +func BasicHelpFunc(app string) HelpFunc { + return func(commands map[string]CommandFactory) string { + var buf bytes.Buffer + buf.WriteString(fmt.Sprintf( + "Usage: %s [--version] [--help] []\n\n", + app)) + buf.WriteString("Available commands are:\n") + + // Get the list of keys so we can sort them, and also get the maximum + // key length so they can be aligned properly. + keys := make([]string, 0, len(commands)) + maxKeyLen := 0 + for key := range commands { + if len(key) > maxKeyLen { + maxKeyLen = len(key) + } + + keys = append(keys, key) + } + sort.Strings(keys) + + for _, key := range keys { + commandFunc, ok := commands[key] + if !ok { + // This should never happen since we JUST built the list of + // keys. + panic("command not found: " + key) + } + + command, err := commandFunc() + if err != nil { + log.Printf("[ERR] cli: Command '%s' failed to load: %s", + key, err) + continue + } + + key = fmt.Sprintf("%s%s", key, strings.Repeat(" ", maxKeyLen-len(key))) + buf.WriteString(fmt.Sprintf(" %s %s\n", key, command.Synopsis())) + } + + return buf.String() + } +} + +// FilteredHelpFunc will filter the commands to only include the keys +// in the include parameter. +func FilteredHelpFunc(include []string, f HelpFunc) HelpFunc { + return func(commands map[string]CommandFactory) string { + set := make(map[string]struct{}) + for _, k := range include { + set[k] = struct{}{} + } + + filtered := make(map[string]CommandFactory) + for k, f := range commands { + if _, ok := set[k]; ok { + filtered[k] = f + } + } + + return f(filtered) + } +} diff --git a/vendor/github.com/mitchellh/cli/ui.go b/vendor/github.com/mitchellh/cli/ui.go new file mode 100644 index 000000000000..a2d6f94f45e5 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/ui.go @@ -0,0 +1,187 @@ +package cli + +import ( + "bufio" + "errors" + "fmt" + "io" + "os" + "os/signal" + "strings" + + "github.com/bgentry/speakeasy" + "github.com/mattn/go-isatty" +) + +// Ui is an interface for interacting with the terminal, or "interface" +// of a CLI. This abstraction doesn't have to be used, but helps provide +// a simple, layerable way to manage user interactions. +type Ui interface { + // Ask asks the user for input using the given query. The response is + // returned as the given string, or an error. + Ask(string) (string, error) + + // AskSecret asks the user for input using the given query, but does not echo + // the keystrokes to the terminal. + AskSecret(string) (string, error) + + // Output is called for normal standard output. + Output(string) + + // Info is called for information related to the previous output. + // In general this may be the exact same as Output, but this gives + // Ui implementors some flexibility with output formats. + Info(string) + + // Error is used for any error messages that might appear on standard + // error. + Error(string) + + // Warn is used for any warning messages that might appear on standard + // error. + Warn(string) +} + +// BasicUi is an implementation of Ui that just outputs to the given +// writer. This UI is not threadsafe by default, but you can wrap it +// in a ConcurrentUi to make it safe. +type BasicUi struct { + Reader io.Reader + Writer io.Writer + ErrorWriter io.Writer +} + +func (u *BasicUi) Ask(query string) (string, error) { + return u.ask(query, false) +} + +func (u *BasicUi) AskSecret(query string) (string, error) { + return u.ask(query, true) +} + +func (u *BasicUi) ask(query string, secret bool) (string, error) { + if _, err := fmt.Fprint(u.Writer, query+" "); err != nil { + return "", err + } + + // Register for interrupts so that we can catch it and immediately + // return... + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, os.Interrupt) + defer signal.Stop(sigCh) + + // Ask for input in a go-routine so that we can ignore it. + errCh := make(chan error, 1) + lineCh := make(chan string, 1) + go func() { + var line string + var err error + if secret && isatty.IsTerminal(os.Stdin.Fd()) { + line, err = speakeasy.Ask("") + } else { + r := bufio.NewReader(u.Reader) + line, err = r.ReadString('\n') + } + if err != nil { + errCh <- err + return + } + + lineCh <- strings.TrimRight(line, "\r\n") + }() + + select { + case err := <-errCh: + return "", err + case line := <-lineCh: + return line, nil + case <-sigCh: + // Print a newline so that any further output starts properly + // on a new line. + fmt.Fprintln(u.Writer) + + return "", errors.New("interrupted") + } +} + +func (u *BasicUi) Error(message string) { + w := u.Writer + if u.ErrorWriter != nil { + w = u.ErrorWriter + } + + fmt.Fprint(w, message) + fmt.Fprint(w, "\n") +} + +func (u *BasicUi) Info(message string) { + u.Output(message) +} + +func (u *BasicUi) Output(message string) { + fmt.Fprint(u.Writer, message) + fmt.Fprint(u.Writer, "\n") +} + +func (u *BasicUi) Warn(message string) { + u.Error(message) +} + +// PrefixedUi is an implementation of Ui that prefixes messages. +type PrefixedUi struct { + AskPrefix string + AskSecretPrefix string + OutputPrefix string + InfoPrefix string + ErrorPrefix string + WarnPrefix string + Ui Ui +} + +func (u *PrefixedUi) Ask(query string) (string, error) { + if query != "" { + query = fmt.Sprintf("%s%s", u.AskPrefix, query) + } + + return u.Ui.Ask(query) +} + +func (u *PrefixedUi) AskSecret(query string) (string, error) { + if query != "" { + query = fmt.Sprintf("%s%s", u.AskSecretPrefix, query) + } + + return u.Ui.AskSecret(query) +} + +func (u *PrefixedUi) Error(message string) { + if message != "" { + message = fmt.Sprintf("%s%s", u.ErrorPrefix, message) + } + + u.Ui.Error(message) +} + +func (u *PrefixedUi) Info(message string) { + if message != "" { + message = fmt.Sprintf("%s%s", u.InfoPrefix, message) + } + + u.Ui.Info(message) +} + +func (u *PrefixedUi) Output(message string) { + if message != "" { + message = fmt.Sprintf("%s%s", u.OutputPrefix, message) + } + + u.Ui.Output(message) +} + +func (u *PrefixedUi) Warn(message string) { + if message != "" { + message = fmt.Sprintf("%s%s", u.WarnPrefix, message) + } + + u.Ui.Warn(message) +} diff --git a/vendor/github.com/mitchellh/cli/ui_colored.go b/vendor/github.com/mitchellh/cli/ui_colored.go new file mode 100644 index 000000000000..e3d5131d16b4 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/ui_colored.go @@ -0,0 +1,69 @@ +package cli + +import ( + "fmt" +) + +// UiColor is a posix shell color code to use. +type UiColor struct { + Code int + Bold bool +} + +// A list of colors that are useful. These are all non-bolded by default. +var ( + UiColorNone UiColor = UiColor{-1, false} + UiColorRed = UiColor{31, false} + UiColorGreen = UiColor{32, false} + UiColorYellow = UiColor{33, false} + UiColorBlue = UiColor{34, false} + UiColorMagenta = UiColor{35, false} + UiColorCyan = UiColor{36, false} +) + +// ColoredUi is a Ui implementation that colors its output according +// to the given color schemes for the given type of output. +type ColoredUi struct { + OutputColor UiColor + InfoColor UiColor + ErrorColor UiColor + WarnColor UiColor + Ui Ui +} + +func (u *ColoredUi) Ask(query string) (string, error) { + return u.Ui.Ask(u.colorize(query, u.OutputColor)) +} + +func (u *ColoredUi) AskSecret(query string) (string, error) { + return u.Ui.AskSecret(u.colorize(query, u.OutputColor)) +} + +func (u *ColoredUi) Output(message string) { + u.Ui.Output(u.colorize(message, u.OutputColor)) +} + +func (u *ColoredUi) Info(message string) { + u.Ui.Info(u.colorize(message, u.InfoColor)) +} + +func (u *ColoredUi) Error(message string) { + u.Ui.Error(u.colorize(message, u.ErrorColor)) +} + +func (u *ColoredUi) Warn(message string) { + u.Ui.Warn(u.colorize(message, u.WarnColor)) +} + +func (u *ColoredUi) colorize(message string, color UiColor) string { + if color.Code == -1 { + return message + } + + attr := 0 + if color.Bold { + attr = 1 + } + + return fmt.Sprintf("\033[%d;%dm%s\033[0m", attr, color.Code, message) +} diff --git a/vendor/github.com/mitchellh/cli/ui_concurrent.go b/vendor/github.com/mitchellh/cli/ui_concurrent.go new file mode 100644 index 000000000000..b4f4dbfaa818 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/ui_concurrent.go @@ -0,0 +1,54 @@ +package cli + +import ( + "sync" +) + +// ConcurrentUi is a wrapper around a Ui interface (and implements that +// interface) making the underlying Ui concurrency safe. +type ConcurrentUi struct { + Ui Ui + l sync.Mutex +} + +func (u *ConcurrentUi) Ask(query string) (string, error) { + u.l.Lock() + defer u.l.Unlock() + + return u.Ui.Ask(query) +} + +func (u *ConcurrentUi) AskSecret(query string) (string, error) { + u.l.Lock() + defer u.l.Unlock() + + return u.Ui.AskSecret(query) +} + +func (u *ConcurrentUi) Error(message string) { + u.l.Lock() + defer u.l.Unlock() + + u.Ui.Error(message) +} + +func (u *ConcurrentUi) Info(message string) { + u.l.Lock() + defer u.l.Unlock() + + u.Ui.Info(message) +} + +func (u *ConcurrentUi) Output(message string) { + u.l.Lock() + defer u.l.Unlock() + + u.Ui.Output(message) +} + +func (u *ConcurrentUi) Warn(message string) { + u.l.Lock() + defer u.l.Unlock() + + u.Ui.Warn(message) +} diff --git a/vendor/github.com/mitchellh/cli/ui_mock.go b/vendor/github.com/mitchellh/cli/ui_mock.go new file mode 100644 index 000000000000..0bfe0a19121c --- /dev/null +++ b/vendor/github.com/mitchellh/cli/ui_mock.go @@ -0,0 +1,111 @@ +package cli + +import ( + "bytes" + "fmt" + "io" + "sync" +) + +// NewMockUi returns a fully initialized MockUi instance +// which is safe for concurrent use. +func NewMockUi() *MockUi { + m := new(MockUi) + m.once.Do(m.init) + return m +} + +// MockUi is a mock UI that is used for tests and is exported publicly +// for use in external tests if needed as well. Do not instantite this +// directly since the buffers will be initialized on the first write. If +// there is no write then you will get a nil panic. Please use the +// NewMockUi() constructor function instead. You can fix your code with +// +// sed -i -e 's/new(cli.MockUi)/cli.NewMockUi()/g' *_test.go +type MockUi struct { + InputReader io.Reader + ErrorWriter *syncBuffer + OutputWriter *syncBuffer + + once sync.Once +} + +func (u *MockUi) Ask(query string) (string, error) { + u.once.Do(u.init) + + var result string + fmt.Fprint(u.OutputWriter, query) + if _, err := fmt.Fscanln(u.InputReader, &result); err != nil { + return "", err + } + + return result, nil +} + +func (u *MockUi) AskSecret(query string) (string, error) { + return u.Ask(query) +} + +func (u *MockUi) Error(message string) { + u.once.Do(u.init) + + fmt.Fprint(u.ErrorWriter, message) + fmt.Fprint(u.ErrorWriter, "\n") +} + +func (u *MockUi) Info(message string) { + u.Output(message) +} + +func (u *MockUi) Output(message string) { + u.once.Do(u.init) + + fmt.Fprint(u.OutputWriter, message) + fmt.Fprint(u.OutputWriter, "\n") +} + +func (u *MockUi) Warn(message string) { + u.once.Do(u.init) + + fmt.Fprint(u.ErrorWriter, message) + fmt.Fprint(u.ErrorWriter, "\n") +} + +func (u *MockUi) init() { + u.ErrorWriter = new(syncBuffer) + u.OutputWriter = new(syncBuffer) +} + +type syncBuffer struct { + sync.RWMutex + b bytes.Buffer +} + +func (b *syncBuffer) Write(data []byte) (int, error) { + b.Lock() + defer b.Unlock() + return b.b.Write(data) +} + +func (b *syncBuffer) Read(data []byte) (int, error) { + b.RLock() + defer b.RUnlock() + return b.b.Read(data) +} + +func (b *syncBuffer) Reset() { + b.Lock() + b.b.Reset() + b.Unlock() +} + +func (b *syncBuffer) String() string { + return string(b.Bytes()) +} + +func (b *syncBuffer) Bytes() []byte { + b.RLock() + data := b.b.Bytes() + b.RUnlock() + return data +} diff --git a/vendor/github.com/mitchellh/cli/ui_writer.go b/vendor/github.com/mitchellh/cli/ui_writer.go new file mode 100644 index 000000000000..1e1db3cf6308 --- /dev/null +++ b/vendor/github.com/mitchellh/cli/ui_writer.go @@ -0,0 +1,18 @@ +package cli + +// UiWriter is an io.Writer implementation that can be used with +// loggers that writes every line of log output data to a Ui at the +// Info level. +type UiWriter struct { + Ui Ui +} + +func (w *UiWriter) Write(p []byte) (n int, err error) { + n = len(p) + if n > 0 && p[n-1] == '\n' { + p = p[:n-1] + } + + w.Ui.Info(string(p)) + return n, nil +} diff --git a/vendor/github.com/mitchellh/go-testing-interface/LICENSE b/vendor/github.com/mitchellh/go-testing-interface/LICENSE new file mode 100644 index 000000000000..a3866a291fd1 --- /dev/null +++ b/vendor/github.com/mitchellh/go-testing-interface/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Mitchell Hashimoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/mitchellh/go-testing-interface/README.md b/vendor/github.com/mitchellh/go-testing-interface/README.md new file mode 100644 index 000000000000..26781bbae887 --- /dev/null +++ b/vendor/github.com/mitchellh/go-testing-interface/README.md @@ -0,0 +1,52 @@ +# go-testing-interface + +go-testing-interface is a Go library that exports an interface that +`*testing.T` implements as well as a runtime version you can use in its +place. + +The purpose of this library is so that you can export test helpers as a +public API without depending on the "testing" package, since you can't +create a `*testing.T` struct manually. This lets you, for example, use the +public testing APIs to generate mock data at runtime, rather than just at +test time. + +## Usage & Example + +For usage and examples see the [Godoc](http://godoc.org/github.com/mitchellh/go-testing-interface). + +Given a test helper written using `go-testing-interface` like this: + + import "github.com/mitchellh/go-testing-interface" + + func TestHelper(t testing.T) { + t.Fatal("I failed") + } + +You can call the test helper in a real test easily: + + import "testing" + + func TestThing(t *testing.T) { + TestHelper(t) + } + +You can also call the test helper at runtime if needed: + + import "github.com/mitchellh/go-testing-interface" + + func main() { + TestHelper(&testing.RuntimeT{}) + } + +## Why?! + +**Why would I call a test helper that takes a *testing.T at runtime?** + +You probably shouldn't. The only use case I've seen (and I've had) for this +is to implement a "dev mode" for a service where the test helpers are used +to populate mock data, create a mock DB, perhaps run service dependencies +in-memory, etc. + +Outside of a "dev mode", I've never seen a use case for this and I think +there shouldn't be one since the point of the `testing.T` interface is that +you can fail immediately. diff --git a/vendor/github.com/mitchellh/go-testing-interface/testing.go b/vendor/github.com/mitchellh/go-testing-interface/testing.go new file mode 100644 index 000000000000..204afb42005d --- /dev/null +++ b/vendor/github.com/mitchellh/go-testing-interface/testing.go @@ -0,0 +1,84 @@ +// +build !go1.9 + +package testing + +import ( + "fmt" + "log" +) + +// T is the interface that mimics the standard library *testing.T. +// +// In unit tests you can just pass a *testing.T struct. At runtime, outside +// of tests, you can pass in a RuntimeT struct from this package. +type T interface { + Error(args ...interface{}) + Errorf(format string, args ...interface{}) + Fail() + FailNow() + Failed() bool + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) + Log(args ...interface{}) + Logf(format string, args ...interface{}) + Name() string + Skip(args ...interface{}) + SkipNow() + Skipf(format string, args ...interface{}) + Skipped() bool +} + +// RuntimeT implements T and can be instantiated and run at runtime to +// mimic *testing.T behavior. Unlike *testing.T, this will simply panic +// for calls to Fatal. For calls to Error, you'll have to check the errors +// list to determine whether to exit yourself. Name and Skip methods are +// unimplemented noops. +type RuntimeT struct { + failed bool +} + +func (t *RuntimeT) Error(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) + t.Fail() +} + +func (t *RuntimeT) Errorf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) + t.Fail() +} + +func (t *RuntimeT) Fatal(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) + t.FailNow() +} + +func (t *RuntimeT) Fatalf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) + t.FailNow() +} + +func (t *RuntimeT) Fail() { + t.failed = true +} + +func (t *RuntimeT) FailNow() { + panic("testing.T failed, see logs for output (if any)") +} + +func (t *RuntimeT) Failed() bool { + return t.failed +} + +func (t *RuntimeT) Log(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) +} + +func (t *RuntimeT) Logf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) +} + +func (t *RuntimeT) Name() string { return "" } +func (t *RuntimeT) Skip(args ...interface{}) {} +func (t *RuntimeT) SkipNow() {} +func (t *RuntimeT) Skipf(format string, args ...interface{}) {} +func (t *RuntimeT) Skipped() bool { return false } diff --git a/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go b/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go new file mode 100644 index 000000000000..07fbcb581aa4 --- /dev/null +++ b/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go @@ -0,0 +1,80 @@ +// +build go1.9 + +// NOTE: This is a temporary copy of testing.go for Go 1.9 with the addition +// of "Helper" to the T interface. Go 1.9 at the time of typing is in RC +// and is set for release shortly. We'll support this on master as the default +// as soon as 1.9 is released. + +package testing + +import ( + "fmt" + "log" +) + +// T is the interface that mimics the standard library *testing.T. +// +// In unit tests you can just pass a *testing.T struct. At runtime, outside +// of tests, you can pass in a RuntimeT struct from this package. +type T interface { + Error(args ...interface{}) + Errorf(format string, args ...interface{}) + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) + Fail() + FailNow() + Failed() bool + Helper() + Log(args ...interface{}) + Logf(format string, args ...interface{}) +} + +// RuntimeT implements T and can be instantiated and run at runtime to +// mimic *testing.T behavior. Unlike *testing.T, this will simply panic +// for calls to Fatal. For calls to Error, you'll have to check the errors +// list to determine whether to exit yourself. +type RuntimeT struct { + failed bool +} + +func (t *RuntimeT) Error(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) + t.Fail() +} + +func (t *RuntimeT) Errorf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) + t.Fail() +} + +func (t *RuntimeT) Fatal(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) + t.FailNow() +} + +func (t *RuntimeT) Fatalf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) + t.FailNow() +} + +func (t *RuntimeT) Fail() { + t.failed = true +} + +func (t *RuntimeT) FailNow() { + panic("testing.T failed, see logs for output (if any)") +} + +func (t *RuntimeT) Failed() bool { + return t.failed +} + +func (t *RuntimeT) Helper() {} + +func (t *RuntimeT) Log(args ...interface{}) { + log.Println(fmt.Sprintln(args...)) +} + +func (t *RuntimeT) Logf(format string, args ...interface{}) { + log.Println(fmt.Sprintf(format, args...)) +} diff --git a/vendor/github.com/posener/complete/LICENSE.txt b/vendor/github.com/posener/complete/LICENSE.txt new file mode 100644 index 000000000000..16249b4a1e07 --- /dev/null +++ b/vendor/github.com/posener/complete/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2017 Eyal Posener + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/vendor/github.com/posener/complete/args.go b/vendor/github.com/posener/complete/args.go new file mode 100644 index 000000000000..73c356d76c25 --- /dev/null +++ b/vendor/github.com/posener/complete/args.go @@ -0,0 +1,75 @@ +package complete + +import ( + "os" + "path/filepath" +) + +// Args describes command line arguments +type Args struct { + // All lists of all arguments in command line (not including the command itself) + All []string + // Completed lists of all completed arguments in command line, + // If the last one is still being typed - no space after it, + // it won't appear in this list of arguments. + Completed []string + // Last argument in command line, the one being typed, if the last + // character in the command line is a space, this argument will be empty, + // otherwise this would be the last word. + Last string + // LastCompleted is the last argument that was fully typed. + // If the last character in the command line is space, this would be the + // last word, otherwise, it would be the word before that. + LastCompleted string +} + +// Directory gives the directory of the current written +// last argument if it represents a file name being written. +// in case that it is not, we fall back to the current directory. +func (a Args) Directory() string { + if info, err := os.Stat(a.Last); err == nil && info.IsDir() { + return fixPathForm(a.Last, a.Last) + } + dir := filepath.Dir(a.Last) + if info, err := os.Stat(dir); err != nil || !info.IsDir() { + return "./" + } + return fixPathForm(a.Last, dir) +} + +func newArgs(line []string) Args { + completed := removeLast(line[1:]) + return Args{ + All: line[1:], + Completed: completed, + Last: last(line), + LastCompleted: last(completed), + } +} + +func (a Args) from(i int) Args { + if i > len(a.All) { + i = len(a.All) + } + a.All = a.All[i:] + + if i > len(a.Completed) { + i = len(a.Completed) + } + a.Completed = a.Completed[i:] + return a +} + +func removeLast(a []string) []string { + if len(a) > 0 { + return a[:len(a)-1] + } + return a +} + +func last(args []string) (last string) { + if len(args) > 0 { + last = args[len(args)-1] + } + return +} diff --git a/vendor/github.com/posener/complete/cmd/cmd.go b/vendor/github.com/posener/complete/cmd/cmd.go new file mode 100644 index 000000000000..7137dee1783b --- /dev/null +++ b/vendor/github.com/posener/complete/cmd/cmd.go @@ -0,0 +1,128 @@ +// Package cmd used for command line options for the complete tool +package cmd + +import ( + "errors" + "flag" + "fmt" + "os" + "strings" + + "github.com/posener/complete/cmd/install" +) + +// CLI for command line +type CLI struct { + Name string + InstallName string + UninstallName string + + install bool + uninstall bool + yes bool +} + +const ( + defaultInstallName = "install" + defaultUninstallName = "uninstall" +) + +// Run is used when running complete in command line mode. +// this is used when the complete is not completing words, but to +// install it or uninstall it. +func (f *CLI) Run() bool { + err := f.validate() + if err != nil { + os.Stderr.WriteString(err.Error() + "\n") + os.Exit(1) + } + + switch { + case f.install: + f.prompt() + err = install.Install(f.Name) + case f.uninstall: + f.prompt() + err = install.Uninstall(f.Name) + default: + // non of the action flags matched, + // returning false should make the real program execute + return false + } + + if err != nil { + fmt.Printf("%s failed! %s\n", f.action(), err) + os.Exit(3) + } + fmt.Println("Done!") + return true +} + +// prompt use for approval +// exit if approval was not given +func (f *CLI) prompt() { + defer fmt.Println(f.action() + "ing...") + if f.yes { + return + } + fmt.Printf("%s completion for %s? ", f.action(), f.Name) + var answer string + fmt.Scanln(&answer) + + switch strings.ToLower(answer) { + case "y", "yes": + return + default: + fmt.Println("Cancelling...") + os.Exit(1) + } +} + +// AddFlags adds the CLI flags to the flag set. +// If flags is nil, the default command line flags will be taken. +// Pass non-empty strings as installName and uninstallName to override the default +// flag names. +func (f *CLI) AddFlags(flags *flag.FlagSet) { + if flags == nil { + flags = flag.CommandLine + } + + if f.InstallName == "" { + f.InstallName = defaultInstallName + } + if f.UninstallName == "" { + f.UninstallName = defaultUninstallName + } + + if flags.Lookup(f.InstallName) == nil { + flags.BoolVar(&f.install, f.InstallName, false, + fmt.Sprintf("Install completion for %s command", f.Name)) + } + if flags.Lookup(f.UninstallName) == nil { + flags.BoolVar(&f.uninstall, f.UninstallName, false, + fmt.Sprintf("Uninstall completion for %s command", f.Name)) + } + if flags.Lookup("y") == nil { + flags.BoolVar(&f.yes, "y", false, "Don't prompt user for typing 'yes'") + } +} + +// validate the CLI +func (f *CLI) validate() error { + if f.install && f.uninstall { + return errors.New("Install and uninstall are mutually exclusive") + } + return nil +} + +// action name according to the CLI values. +func (f *CLI) action() string { + switch { + case f.install: + return "Install" + case f.uninstall: + return "Uninstall" + default: + return "unknown" + } +} diff --git a/vendor/github.com/posener/complete/cmd/install/bash.go b/vendor/github.com/posener/complete/cmd/install/bash.go new file mode 100644 index 000000000000..a287f998655c --- /dev/null +++ b/vendor/github.com/posener/complete/cmd/install/bash.go @@ -0,0 +1,32 @@ +package install + +import "fmt" + +// (un)install in bash +// basically adds/remove from .bashrc: +// +// complete -C +type bash struct { + rc string +} + +func (b bash) Install(cmd, bin string) error { + completeCmd := b.cmd(cmd, bin) + if lineInFile(b.rc, completeCmd) { + return fmt.Errorf("already installed in %s", b.rc) + } + return appendToFile(b.rc, completeCmd) +} + +func (b bash) Uninstall(cmd, bin string) error { + completeCmd := b.cmd(cmd, bin) + if !lineInFile(b.rc, completeCmd) { + return fmt.Errorf("does not installed in %s", b.rc) + } + + return removeFromFile(b.rc, completeCmd) +} + +func (bash) cmd(cmd, bin string) string { + return fmt.Sprintf("complete -C %s %s", bin, cmd) +} diff --git a/vendor/github.com/posener/complete/cmd/install/install.go b/vendor/github.com/posener/complete/cmd/install/install.go new file mode 100644 index 000000000000..644b40576ad0 --- /dev/null +++ b/vendor/github.com/posener/complete/cmd/install/install.go @@ -0,0 +1,92 @@ +package install + +import ( + "errors" + "os" + "os/user" + "path/filepath" + + "github.com/hashicorp/go-multierror" +) + +type installer interface { + Install(cmd, bin string) error + Uninstall(cmd, bin string) error +} + +// Install complete command given: +// cmd: is the command name +func Install(cmd string) error { + is := installers() + if len(is) == 0 { + return errors.New("Did not find any shells to install") + } + bin, err := getBinaryPath() + if err != nil { + return err + } + + for _, i := range is { + errI := i.Install(cmd, bin) + if errI != nil { + err = multierror.Append(err, errI) + } + } + + return err +} + +// Uninstall complete command given: +// cmd: is the command name +func Uninstall(cmd string) error { + is := installers() + if len(is) == 0 { + return errors.New("Did not find any shells to uninstall") + } + bin, err := getBinaryPath() + if err != nil { + return err + } + + for _, i := range is { + errI := i.Uninstall(cmd, bin) + if errI != nil { + multierror.Append(err, errI) + } + } + + return err +} + +func installers() (i []installer) { + for _, rc := range [...]string{".bashrc", ".bash_profile"} { + if f := rcFile(rc); f != "" { + i = append(i, bash{f}) + break + } + } + if f := rcFile(".zshrc"); f != "" { + i = append(i, zsh{f}) + } + return +} + +func getBinaryPath() (string, error) { + bin, err := os.Executable() + if err != nil { + return "", err + } + return filepath.Abs(bin) +} + +func rcFile(name string) string { + u, err := user.Current() + if err != nil { + return "" + } + path := filepath.Join(u.HomeDir, name) + if _, err := os.Stat(path); err != nil { + return "" + } + return path +} diff --git a/vendor/github.com/posener/complete/cmd/install/utils.go b/vendor/github.com/posener/complete/cmd/install/utils.go new file mode 100644 index 000000000000..2c8b44cabae4 --- /dev/null +++ b/vendor/github.com/posener/complete/cmd/install/utils.go @@ -0,0 +1,118 @@ +package install + +import ( + "bufio" + "fmt" + "io" + "io/ioutil" + "os" +) + +func lineInFile(name string, lookFor string) bool { + f, err := os.Open(name) + if err != nil { + return false + } + defer f.Close() + r := bufio.NewReader(f) + prefix := []byte{} + for { + line, isPrefix, err := r.ReadLine() + if err == io.EOF { + return false + } + if err != nil { + return false + } + if isPrefix { + prefix = append(prefix, line...) + continue + } + line = append(prefix, line...) + if string(line) == lookFor { + return true + } + prefix = prefix[:0] + } +} + +func appendToFile(name string, content string) error { + f, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0) + if err != nil { + return err + } + defer f.Close() + _, err = f.WriteString(fmt.Sprintf("\n%s\n", content)) + return err +} + +func removeFromFile(name string, content string) error { + backup := name + ".bck" + err := copyFile(name, backup) + if err != nil { + return err + } + temp, err := removeContentToTempFile(name, content) + if err != nil { + return err + } + + err = copyFile(temp, name) + if err != nil { + return err + } + + return os.Remove(backup) +} + +func removeContentToTempFile(name, content string) (string, error) { + rf, err := os.Open(name) + if err != nil { + return "", err + } + defer rf.Close() + wf, err := ioutil.TempFile("/tmp", "complete-") + if err != nil { + return "", err + } + defer wf.Close() + + r := bufio.NewReader(rf) + prefix := []byte{} + for { + line, isPrefix, err := r.ReadLine() + if err == io.EOF { + break + } + if err != nil { + return "", err + } + if isPrefix { + prefix = append(prefix, line...) + continue + } + line = append(prefix, line...) + str := string(line) + if str == content { + continue + } + wf.WriteString(str + "\n") + prefix = prefix[:0] + } + return wf.Name(), nil +} + +func copyFile(src string, dst string) error { + in, err := os.Open(src) + if err != nil { + return err + } + defer in.Close() + out, err := os.Create(dst) + if err != nil { + return err + } + defer out.Close() + _, err = io.Copy(out, in) + return err +} diff --git a/vendor/github.com/posener/complete/cmd/install/zsh.go b/vendor/github.com/posener/complete/cmd/install/zsh.go new file mode 100644 index 000000000000..a625f53cf0c6 --- /dev/null +++ b/vendor/github.com/posener/complete/cmd/install/zsh.go @@ -0,0 +1,39 @@ +package install + +import "fmt" + +// (un)install in zsh +// basically adds/remove from .zshrc: +// +// autoload -U +X bashcompinit && bashcompinit" +// complete -C +type zsh struct { + rc string +} + +func (z zsh) Install(cmd, bin string) error { + completeCmd := z.cmd(cmd, bin) + if lineInFile(z.rc, completeCmd) { + return fmt.Errorf("already installed in %s", z.rc) + } + + bashCompInit := "autoload -U +X bashcompinit && bashcompinit" + if !lineInFile(z.rc, bashCompInit) { + completeCmd = bashCompInit + "\n" + completeCmd + } + + return appendToFile(z.rc, completeCmd) +} + +func (z zsh) Uninstall(cmd, bin string) error { + completeCmd := z.cmd(cmd, bin) + if !lineInFile(z.rc, completeCmd) { + return fmt.Errorf("does not installed in %s", z.rc) + } + + return removeFromFile(z.rc, completeCmd) +} + +func (zsh) cmd(cmd, bin string) string { + return fmt.Sprintf("complete -o nospace -C %s %s", bin, cmd) +} diff --git a/vendor/github.com/posener/complete/command.go b/vendor/github.com/posener/complete/command.go new file mode 100644 index 000000000000..6de48e960d06 --- /dev/null +++ b/vendor/github.com/posener/complete/command.go @@ -0,0 +1,118 @@ +package complete + +import "github.com/posener/complete/match" + +// Command represents a command line +// It holds the data that enables auto completion of command line +// Command can also be a sub command. +type Command struct { + // Sub is map of sub commands of the current command + // The key refer to the sub command name, and the value is it's + // Command descriptive struct. + Sub Commands + + // Flags is a map of flags that the command accepts. + // The key is the flag name, and the value is it's predictions. + Flags Flags + + // GlobalFlags is a map of flags that the command accepts. + // Global flags that can appear also after a sub command. + GlobalFlags Flags + + // Args are extra arguments that the command accepts, those who are + // given without any flag before. + Args Predictor +} + +// Predict returns all possible predictions for args according to the command struct +func (c *Command) Predict(a Args) (predictions []string) { + predictions, _ = c.predict(a) + return +} + +// Commands is the type of Sub member, it maps a command name to a command struct +type Commands map[string]Command + +// Predict completion of sub command names names according to command line arguments +func (c Commands) Predict(a Args) (prediction []string) { + for sub := range c { + if match.Prefix(sub, a.Last) { + prediction = append(prediction, sub) + } + } + return +} + +// Flags is the type Flags of the Flags member, it maps a flag name to the flag predictions. +type Flags map[string]Predictor + +// Predict completion of flags names according to command line arguments +func (f Flags) Predict(a Args) (prediction []string) { + for flag := range f { + // If the flag starts with a hyphen, we avoid emitting the prediction + // unless the last typed arg contains a hyphen as well. + flagHyphenStart := len(flag) != 0 && flag[0] == '-' + lastHyphenStart := len(a.Last) != 0 && a.Last[0] == '-' + if flagHyphenStart && !lastHyphenStart { + continue + } + + if match.Prefix(flag, a.Last) { + prediction = append(prediction, flag) + } + } + return +} + +// predict options +// only is set to true if no more options are allowed to be returned +// those are in cases of special flag that has specific completion arguments, +// and other flags or sub commands can't come after it. +func (c *Command) predict(a Args) (options []string, only bool) { + + // search sub commands for predictions first + subCommandFound := false + for i, arg := range a.Completed { + if cmd, ok := c.Sub[arg]; ok { + subCommandFound = true + + // recursive call for sub command + options, only = cmd.predict(a.from(i)) + if only { + return + } + + // We matched so stop searching. Continuing to search can accidentally + // match a subcommand with current set of commands, see issue #46. + break + } + } + + // if last completed word is a global flag that we need to complete + if predictor, ok := c.GlobalFlags[a.LastCompleted]; ok && predictor != nil { + Log("Predicting according to global flag %s", a.LastCompleted) + return predictor.Predict(a), true + } + + options = append(options, c.GlobalFlags.Predict(a)...) + + // if a sub command was entered, we won't add the parent command + // completions and we return here. + if subCommandFound { + return + } + + // if last completed word is a command flag that we need to complete + if predictor, ok := c.Flags[a.LastCompleted]; ok && predictor != nil { + Log("Predicting according to flag %s", a.LastCompleted) + return predictor.Predict(a), true + } + + options = append(options, c.Sub.Predict(a)...) + options = append(options, c.Flags.Predict(a)...) + if c.Args != nil { + options = append(options, c.Args.Predict(a)...) + } + + return +} diff --git a/vendor/github.com/posener/complete/complete.go b/vendor/github.com/posener/complete/complete.go new file mode 100644 index 000000000000..1df66170bdac --- /dev/null +++ b/vendor/github.com/posener/complete/complete.go @@ -0,0 +1,86 @@ +// Package complete provides a tool for bash writing bash completion in go. +// +// Writing bash completion scripts is a hard work. This package provides an easy way +// to create bash completion scripts for any command, and also an easy way to install/uninstall +// the completion of the command. +package complete + +import ( + "flag" + "fmt" + "os" + "strings" + + "github.com/posener/complete/cmd" +) + +const ( + envComplete = "COMP_LINE" + envDebug = "COMP_DEBUG" +) + +// Complete structs define completion for a command with CLI options +type Complete struct { + Command Command + cmd.CLI +} + +// New creates a new complete command. +// name is the name of command we want to auto complete. +// IMPORTANT: it must be the same name - if the auto complete +// completes the 'go' command, name must be equal to "go". +// command is the struct of the command completion. +func New(name string, command Command) *Complete { + return &Complete{ + Command: command, + CLI: cmd.CLI{Name: name}, + } +} + +// Run runs the completion and add installation flags beforehand. +// The flags are added to the main flag CommandLine variable. +func (c *Complete) Run() bool { + c.AddFlags(nil) + flag.Parse() + return c.Complete() +} + +// Complete a command from completion line in environment variable, +// and print out the complete options. +// returns success if the completion ran or if the cli matched +// any of the given flags, false otherwise +// For installation: it assumes that flags were added and parsed before +// it was called. +func (c *Complete) Complete() bool { + line, ok := getLine() + if !ok { + // make sure flags parsed, + // in case they were not added in the main program + return c.CLI.Run() + } + Log("Completing line: %s", line) + + a := newArgs(line) + + options := c.Command.Predict(a) + + Log("Completion: %s", options) + output(options) + return true +} + +func getLine() ([]string, bool) { + line := os.Getenv(envComplete) + if line == "" { + return nil, false + } + return strings.Split(line, " "), true +} + +func output(options []string) { + Log("") + // stdout of program defines the complete options + for _, option := range options { + fmt.Println(option) + } +} diff --git a/vendor/github.com/posener/complete/log.go b/vendor/github.com/posener/complete/log.go new file mode 100644 index 000000000000..797a80ced3a3 --- /dev/null +++ b/vendor/github.com/posener/complete/log.go @@ -0,0 +1,23 @@ +package complete + +import ( + "io" + "io/ioutil" + "log" + "os" +) + +// Log is used for debugging purposes +// since complete is running on tab completion, it is nice to +// have logs to the stderr (when writing your own completer) +// to write logs, set the COMP_DEBUG environment variable and +// use complete.Log in the complete program +var Log = getLogger() + +func getLogger() func(format string, args ...interface{}) { + var logfile io.Writer = ioutil.Discard + if os.Getenv(envDebug) != "" { + logfile = os.Stderr + } + return log.New(logfile, "complete ", log.Flags()).Printf +} diff --git a/vendor/github.com/posener/complete/match/file.go b/vendor/github.com/posener/complete/match/file.go new file mode 100644 index 000000000000..051171e8a117 --- /dev/null +++ b/vendor/github.com/posener/complete/match/file.go @@ -0,0 +1,19 @@ +package match + +import "strings" + +// File returns true if prefix can match the file +func File(file, prefix string) bool { + // special case for current directory completion + if file == "./" && (prefix == "." || prefix == "") { + return true + } + if prefix == "." && strings.HasPrefix(file, ".") { + return true + } + + file = strings.TrimPrefix(file, "./") + prefix = strings.TrimPrefix(prefix, "./") + + return strings.HasPrefix(file, prefix) +} diff --git a/vendor/github.com/posener/complete/match/match.go b/vendor/github.com/posener/complete/match/match.go new file mode 100644 index 000000000000..812fcac96b3c --- /dev/null +++ b/vendor/github.com/posener/complete/match/match.go @@ -0,0 +1,6 @@ +package match + +// Match matches two strings +// it is used for comparing a term to the last typed +// word, the prefix, and see if it is a possible auto complete option. +type Match func(term, prefix string) bool diff --git a/vendor/github.com/posener/complete/match/prefix.go b/vendor/github.com/posener/complete/match/prefix.go new file mode 100644 index 000000000000..9a01ba63a4ef --- /dev/null +++ b/vendor/github.com/posener/complete/match/prefix.go @@ -0,0 +1,9 @@ +package match + +import "strings" + +// Prefix is a simple Matcher, if the word is it's prefix, there is a match +// Match returns true if a has the prefix as prefix +func Prefix(long, prefix string) bool { + return strings.HasPrefix(long, prefix) +} diff --git a/vendor/github.com/posener/complete/metalinter.json b/vendor/github.com/posener/complete/metalinter.json new file mode 100644 index 000000000000..799c1d03f256 --- /dev/null +++ b/vendor/github.com/posener/complete/metalinter.json @@ -0,0 +1,21 @@ +{ + "Vendor": true, + "DisableAll": true, + "Enable": [ + "gofmt", + "goimports", + "interfacer", + "goconst", + "misspell", + "unconvert", + "gosimple", + "golint", + "structcheck", + "deadcode", + "vet" + ], + "Exclude": [ + "initTests is unused" + ], + "Deadline": "2m" +} diff --git a/vendor/github.com/posener/complete/predict.go b/vendor/github.com/posener/complete/predict.go new file mode 100644 index 000000000000..820706325b39 --- /dev/null +++ b/vendor/github.com/posener/complete/predict.go @@ -0,0 +1,41 @@ +package complete + +// Predictor implements a predict method, in which given +// command line arguments returns a list of options it predicts. +type Predictor interface { + Predict(Args) []string +} + +// PredictOr unions two predicate functions, so that the result predicate +// returns the union of their predication +func PredictOr(predictors ...Predictor) Predictor { + return PredictFunc(func(a Args) (prediction []string) { + for _, p := range predictors { + if p == nil { + continue + } + prediction = append(prediction, p.Predict(a)...) + } + return + }) +} + +// PredictFunc determines what terms can follow a command or a flag +// It is used for auto completion, given last - the last word in the already +// in the command line, what words can complete it. +type PredictFunc func(Args) []string + +// Predict invokes the predict function and implements the Predictor interface +func (p PredictFunc) Predict(a Args) []string { + if p == nil { + return nil + } + return p(a) +} + +// PredictNothing does not expect anything after. +var PredictNothing Predictor + +// PredictAnything expects something, but nothing particular, such as a number +// or arbitrary name. +var PredictAnything = PredictFunc(func(Args) []string { return nil }) diff --git a/vendor/github.com/posener/complete/predict_files.go b/vendor/github.com/posener/complete/predict_files.go new file mode 100644 index 000000000000..c8adf7e806cf --- /dev/null +++ b/vendor/github.com/posener/complete/predict_files.go @@ -0,0 +1,108 @@ +package complete + +import ( + "io/ioutil" + "os" + "path/filepath" + "strings" + + "github.com/posener/complete/match" +) + +// PredictDirs will search for directories in the given started to be typed +// path, if no path was started to be typed, it will complete to directories +// in the current working directory. +func PredictDirs(pattern string) Predictor { + return files(pattern, false) +} + +// PredictFiles will search for files matching the given pattern in the started to +// be typed path, if no path was started to be typed, it will complete to files that +// match the pattern in the current working directory. +// To match any file, use "*" as pattern. To match go files use "*.go", and so on. +func PredictFiles(pattern string) Predictor { + return files(pattern, true) +} + +func files(pattern string, allowFiles bool) PredictFunc { + + // search for files according to arguments, + // if only one directory has matched the result, search recursively into + // this directory to give more results. + return func(a Args) (prediction []string) { + prediction = predictFiles(a, pattern, allowFiles) + + // if the number of prediction is not 1, we either have many results or + // have no results, so we return it. + if len(prediction) != 1 { + return + } + + // only try deeper, if the one item is a directory + if stat, err := os.Stat(prediction[0]); err != nil || !stat.IsDir() { + return + } + + a.Last = prediction[0] + return predictFiles(a, pattern, allowFiles) + } +} + +func predictFiles(a Args, pattern string, allowFiles bool) []string { + if strings.HasSuffix(a.Last, "/..") { + return nil + } + + dir := a.Directory() + files := listFiles(dir, pattern, allowFiles) + + // add dir if match + files = append(files, dir) + + return PredictFilesSet(files).Predict(a) +} + +// PredictFilesSet predict according to file rules to a given set of file names +func PredictFilesSet(files []string) PredictFunc { + return func(a Args) (prediction []string) { + // add all matching files to prediction + for _, f := range files { + f = fixPathForm(a.Last, f) + + // test matching of file to the argument + if match.File(f, a.Last) { + prediction = append(prediction, f) + } + } + return + } +} + +func listFiles(dir, pattern string, allowFiles bool) []string { + // set of all file names + m := map[string]bool{} + + // list files + if files, err := filepath.Glob(filepath.Join(dir, pattern)); err == nil { + for _, f := range files { + if stat, err := os.Stat(f); err != nil || stat.IsDir() || allowFiles { + m[f] = true + } + } + } + + // list directories + if dirs, err := ioutil.ReadDir(dir); err == nil { + for _, d := range dirs { + if d.IsDir() { + m[filepath.Join(dir, d.Name())] = true + } + } + } + + list := make([]string, 0, len(m)) + for k := range m { + list = append(list, k) + } + return list +} diff --git a/vendor/github.com/posener/complete/predict_set.go b/vendor/github.com/posener/complete/predict_set.go new file mode 100644 index 000000000000..8fc59d714786 --- /dev/null +++ b/vendor/github.com/posener/complete/predict_set.go @@ -0,0 +1,19 @@ +package complete + +import "github.com/posener/complete/match" + +// PredictSet expects specific set of terms, given in the options argument. +func PredictSet(options ...string) Predictor { + return predictSet(options) +} + +type predictSet []string + +func (p predictSet) Predict(a Args) (prediction []string) { + for _, m := range p { + if match.Prefix(m, a.Last) { + prediction = append(prediction, m) + } + } + return +} diff --git a/vendor/github.com/posener/complete/readme.md b/vendor/github.com/posener/complete/readme.md new file mode 100644 index 000000000000..74077e3570bd --- /dev/null +++ b/vendor/github.com/posener/complete/readme.md @@ -0,0 +1,116 @@ +# complete + +[![Build Status](https://travis-ci.org/posener/complete.svg?branch=master)](https://travis-ci.org/posener/complete) +[![codecov](https://codecov.io/gh/posener/complete/branch/master/graph/badge.svg)](https://codecov.io/gh/posener/complete) +[![GoDoc](https://godoc.org/github.com/posener/complete?status.svg)](http://godoc.org/github.com/posener/complete) +[![Go Report Card](https://goreportcard.com/badge/github.com/posener/complete)](https://goreportcard.com/report/github.com/posener/complete) + +A tool for bash writing bash completion in go. + +Writing bash completion scripts is a hard work. This package provides an easy way +to create bash completion scripts for any command, and also an easy way to install/uninstall +the completion of the command. + +## go command bash completion + +In [gocomplete](./gocomplete) there is an example for bash completion for the `go` command line. + +This is an example that uses the `complete` package on the `go` command - the `complete` package +can also be used to implement any completions, see [Usage](#usage). + +### Install + +1. Type in your shell: +``` +go get -u github.com/posener/complete/gocomplete +gocomplete -install +``` + +2. Restart your shell + +Uninstall by `gocomplete -uninstall` + +### Features + +- Complete `go` command, including sub commands and all flags. +- Complete packages names or `.go` files when necessary. +- Complete test names after `-run` flag. + +## complete package + +Supported shells: + +- [x] bash +- [x] zsh + +### Usage + +Assuming you have program called `run` and you want to have bash completion +for it, meaning, if you type `run` then space, then press the `Tab` key, +the shell will suggest relevant complete options. + +In that case, we will create a program called `runcomplete`, a go program, +with a `func main()` and so, that will make the completion of the `run` +program. Once the `runcomplete` will be in a binary form, we could +`runcomplete -install` and that will add to our shell all the bash completion +options for `run`. + +So here it is: + +```go +import "github.com/posener/complete" + +func main() { + + // create a Command object, that represents the command we want + // to complete. + run := complete.Command{ + + // Sub defines a list of sub commands of the program, + // this is recursive, since every command is of type command also. + Sub: complete.Commands{ + + // add a build sub command + "build": complete.Command { + + // define flags of the build sub command + Flags: complete.Flags{ + // build sub command has a flag '-cpus', which + // expects number of cpus after it. in that case + // anything could complete this flag. + "-cpus": complete.PredictAnything, + }, + }, + }, + + // define flags of the 'run' main command + Flags: complete.Flags{ + // a flag -o, which expects a file ending with .out after + // it, the tab completion will auto complete for files matching + // the given pattern. + "-o": complete.PredictFiles("*.out"), + }, + + // define global flags of the 'run' main command + // those will show up also when a sub command was entered in the + // command line + GlobalFlags: complete.Flags{ + + // a flag '-h' which does not expects anything after it + "-h": complete.PredictNothing, + }, + } + + // run the command completion, as part of the main() function. + // this triggers the autocompletion when needed. + // name must be exactly as the binary that we want to complete. + complete.New("run", run).Run() +} +``` + +### Self completing program + +In case that the program that we want to complete is written in go we +can make it self completing. + +Here is an [example](./example/self/main.go) diff --git a/vendor/github.com/posener/complete/test.sh b/vendor/github.com/posener/complete/test.sh new file mode 100755 index 000000000000..56bfcf15d166 --- /dev/null +++ b/vendor/github.com/posener/complete/test.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -e +echo "" > coverage.txt + +for d in $(go list ./... | grep -v vendor); do + go test -v -race -coverprofile=profile.out -covermode=atomic $d + if [ -f profile.out ]; then + cat profile.out >> coverage.txt + rm profile.out + fi +done \ No newline at end of file diff --git a/vendor/github.com/posener/complete/utils.go b/vendor/github.com/posener/complete/utils.go new file mode 100644 index 000000000000..58b8b7927767 --- /dev/null +++ b/vendor/github.com/posener/complete/utils.go @@ -0,0 +1,46 @@ +package complete + +import ( + "os" + "path/filepath" + "strings" +) + +// fixPathForm changes a file name to a relative name +func fixPathForm(last string, file string) string { + // get wording directory for relative name + workDir, err := os.Getwd() + if err != nil { + return file + } + + abs, err := filepath.Abs(file) + if err != nil { + return file + } + + // if last is absolute, return path as absolute + if filepath.IsAbs(last) { + return fixDirPath(abs) + } + + rel, err := filepath.Rel(workDir, abs) + if err != nil { + return file + } + + // fix ./ prefix of path + if rel != "." && strings.HasPrefix(last, ".") { + rel = "./" + rel + } + + return fixDirPath(rel) +} + +func fixDirPath(path string) string { + info, err := os.Stat(path) + if err == nil && info.IsDir() && !strings.HasSuffix(path, "/") { + path += "/" + } + return path +} diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go new file mode 100644 index 000000000000..d3681ab428c8 --- /dev/null +++ b/vendor/golang.org/x/net/context/context.go @@ -0,0 +1,54 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package context defines the Context type, which carries deadlines, +// cancelation signals, and other request-scoped values across API boundaries +// and between processes. +// +// Incoming requests to a server should create a Context, and outgoing calls to +// servers should accept a Context. The chain of function calls between must +// propagate the Context, optionally replacing it with a modified copy created +// using WithDeadline, WithTimeout, WithCancel, or WithValue. +// +// Programs that use Contexts should follow these rules to keep interfaces +// consistent across packages and enable static analysis tools to check context +// propagation: +// +// Do not store Contexts inside a struct type; instead, pass a Context +// explicitly to each function that needs it. The Context should be the first +// parameter, typically named ctx: +// +// func DoSomething(ctx context.Context, arg Arg) error { +// // ... use ctx ... +// } +// +// Do not pass a nil Context, even if a function permits it. Pass context.TODO +// if you are unsure about which Context to use. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +// +// The same Context may be passed to functions running in different goroutines; +// Contexts are safe for simultaneous use by multiple goroutines. +// +// See http://blog.golang.org/context for example code for a server that uses +// Contexts. +package context // import "golang.org/x/net/context" + +// Background returns a non-nil, empty Context. It is never canceled, has no +// values, and has no deadline. It is typically used by the main function, +// initialization, and tests, and as the top-level Context for incoming +// requests. +func Background() Context { + return background +} + +// TODO returns a non-nil, empty Context. Code should use context.TODO when +// it's unclear which Context to use or it is not yet available (because the +// surrounding function has not yet been extended to accept a Context +// parameter). TODO is recognized by static analysis tools that determine +// whether Contexts are propagated correctly in a program. +func TODO() Context { + return todo +} diff --git a/vendor/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go new file mode 100644 index 000000000000..d20f52b7de93 --- /dev/null +++ b/vendor/golang.org/x/net/context/go17.go @@ -0,0 +1,72 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package context + +import ( + "context" // standard library's context, as of Go 1.7 + "time" +) + +var ( + todo = context.TODO() + background = context.Background() +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = context.Canceled + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = context.DeadlineExceeded + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + ctx, f := context.WithCancel(parent) + return ctx, CancelFunc(f) +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + ctx, f := context.WithDeadline(parent, deadline) + return ctx, CancelFunc(f) +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return context.WithValue(parent, key, val) +} diff --git a/vendor/golang.org/x/net/context/go19.go b/vendor/golang.org/x/net/context/go19.go new file mode 100644 index 000000000000..d88bd1db127d --- /dev/null +++ b/vendor/golang.org/x/net/context/go19.go @@ -0,0 +1,20 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package context + +import "context" // standard library's context, as of Go 1.7 + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context = context.Context + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc = context.CancelFunc diff --git a/vendor/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go new file mode 100644 index 000000000000..0f35592df518 --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go17.go @@ -0,0 +1,300 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package context + +import ( + "errors" + "fmt" + "sync" + "time" +) + +// An emptyCtx is never canceled, has no values, and has no deadline. It is not +// struct{}, since vars of this type must have distinct addresses. +type emptyCtx int + +func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { + return +} + +func (*emptyCtx) Done() <-chan struct{} { + return nil +} + +func (*emptyCtx) Err() error { + return nil +} + +func (*emptyCtx) Value(key interface{}) interface{} { + return nil +} + +func (e *emptyCtx) String() string { + switch e { + case background: + return "context.Background" + case todo: + return "context.TODO" + } + return "unknown empty Context" +} + +var ( + background = new(emptyCtx) + todo = new(emptyCtx) +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = errors.New("context canceled") + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = errors.New("context deadline exceeded") + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + c := newCancelCtx(parent) + propagateCancel(parent, c) + return c, func() { c.cancel(true, Canceled) } +} + +// newCancelCtx returns an initialized cancelCtx. +func newCancelCtx(parent Context) *cancelCtx { + return &cancelCtx{ + Context: parent, + done: make(chan struct{}), + } +} + +// propagateCancel arranges for child to be canceled when parent is. +func propagateCancel(parent Context, child canceler) { + if parent.Done() == nil { + return // parent is never canceled + } + if p, ok := parentCancelCtx(parent); ok { + p.mu.Lock() + if p.err != nil { + // parent has already been canceled + child.cancel(false, p.err) + } else { + if p.children == nil { + p.children = make(map[canceler]bool) + } + p.children[child] = true + } + p.mu.Unlock() + } else { + go func() { + select { + case <-parent.Done(): + child.cancel(false, parent.Err()) + case <-child.Done(): + } + }() + } +} + +// parentCancelCtx follows a chain of parent references until it finds a +// *cancelCtx. This function understands how each of the concrete types in this +// package represents its parent. +func parentCancelCtx(parent Context) (*cancelCtx, bool) { + for { + switch c := parent.(type) { + case *cancelCtx: + return c, true + case *timerCtx: + return c.cancelCtx, true + case *valueCtx: + parent = c.Context + default: + return nil, false + } + } +} + +// removeChild removes a context from its parent. +func removeChild(parent Context, child canceler) { + p, ok := parentCancelCtx(parent) + if !ok { + return + } + p.mu.Lock() + if p.children != nil { + delete(p.children, child) + } + p.mu.Unlock() +} + +// A canceler is a context type that can be canceled directly. The +// implementations are *cancelCtx and *timerCtx. +type canceler interface { + cancel(removeFromParent bool, err error) + Done() <-chan struct{} +} + +// A cancelCtx can be canceled. When canceled, it also cancels any children +// that implement canceler. +type cancelCtx struct { + Context + + done chan struct{} // closed by the first cancel call. + + mu sync.Mutex + children map[canceler]bool // set to nil by the first cancel call + err error // set to non-nil by the first cancel call +} + +func (c *cancelCtx) Done() <-chan struct{} { + return c.done +} + +func (c *cancelCtx) Err() error { + c.mu.Lock() + defer c.mu.Unlock() + return c.err +} + +func (c *cancelCtx) String() string { + return fmt.Sprintf("%v.WithCancel", c.Context) +} + +// cancel closes c.done, cancels each of c's children, and, if +// removeFromParent is true, removes c from its parent's children. +func (c *cancelCtx) cancel(removeFromParent bool, err error) { + if err == nil { + panic("context: internal error: missing cancel error") + } + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return // already canceled + } + c.err = err + close(c.done) + for child := range c.children { + // NOTE: acquiring the child's lock while holding parent's lock. + child.cancel(false, err) + } + c.children = nil + c.mu.Unlock() + + if removeFromParent { + removeChild(c.Context, c) + } +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + if cur, ok := parent.Deadline(); ok && cur.Before(deadline) { + // The current deadline is already sooner than the new one. + return WithCancel(parent) + } + c := &timerCtx{ + cancelCtx: newCancelCtx(parent), + deadline: deadline, + } + propagateCancel(parent, c) + d := deadline.Sub(time.Now()) + if d <= 0 { + c.cancel(true, DeadlineExceeded) // deadline has already passed + return c, func() { c.cancel(true, Canceled) } + } + c.mu.Lock() + defer c.mu.Unlock() + if c.err == nil { + c.timer = time.AfterFunc(d, func() { + c.cancel(true, DeadlineExceeded) + }) + } + return c, func() { c.cancel(true, Canceled) } +} + +// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to +// implement Done and Err. It implements cancel by stopping its timer then +// delegating to cancelCtx.cancel. +type timerCtx struct { + *cancelCtx + timer *time.Timer // Under cancelCtx.mu. + + deadline time.Time +} + +func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { + return c.deadline, true +} + +func (c *timerCtx) String() string { + return fmt.Sprintf("%v.WithDeadline(%s [%s])", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now())) +} + +func (c *timerCtx) cancel(removeFromParent bool, err error) { + c.cancelCtx.cancel(false, err) + if removeFromParent { + // Remove this timerCtx from its parent cancelCtx's children. + removeChild(c.cancelCtx.Context, c) + } + c.mu.Lock() + if c.timer != nil { + c.timer.Stop() + c.timer = nil + } + c.mu.Unlock() +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return &valueCtx{parent, key, val} +} + +// A valueCtx carries a key-value pair. It implements Value for that key and +// delegates all other calls to the embedded Context. +type valueCtx struct { + Context + key, val interface{} +} + +func (c *valueCtx) String() string { + return fmt.Sprintf("%v.WithValue(%#v, %#v)", c.Context, c.key, c.val) +} + +func (c *valueCtx) Value(key interface{}) interface{} { + if c.key == key { + return c.val + } + return c.Context.Value(key) +} diff --git a/vendor/golang.org/x/net/context/pre_go19.go b/vendor/golang.org/x/net/context/pre_go19.go new file mode 100644 index 000000000000..b105f80be4fe --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go19.go @@ -0,0 +1,109 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.9 + +package context + +import "time" + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context interface { + // Deadline returns the time when work done on behalf of this context + // should be canceled. Deadline returns ok==false when no deadline is + // set. Successive calls to Deadline return the same results. + Deadline() (deadline time.Time, ok bool) + + // Done returns a channel that's closed when work done on behalf of this + // context should be canceled. Done may return nil if this context can + // never be canceled. Successive calls to Done return the same value. + // + // WithCancel arranges for Done to be closed when cancel is called; + // WithDeadline arranges for Done to be closed when the deadline + // expires; WithTimeout arranges for Done to be closed when the timeout + // elapses. + // + // Done is provided for use in select statements: + // + // // Stream generates values with DoSomething and sends them to out + // // until DoSomething returns an error or ctx.Done is closed. + // func Stream(ctx context.Context, out chan<- Value) error { + // for { + // v, err := DoSomething(ctx) + // if err != nil { + // return err + // } + // select { + // case <-ctx.Done(): + // return ctx.Err() + // case out <- v: + // } + // } + // } + // + // See http://blog.golang.org/pipelines for more examples of how to use + // a Done channel for cancelation. + Done() <-chan struct{} + + // Err returns a non-nil error value after Done is closed. Err returns + // Canceled if the context was canceled or DeadlineExceeded if the + // context's deadline passed. No other values for Err are defined. + // After Done is closed, successive calls to Err return the same value. + Err() error + + // Value returns the value associated with this context for key, or nil + // if no value is associated with key. Successive calls to Value with + // the same key returns the same result. + // + // Use context values only for request-scoped data that transits + // processes and API boundaries, not for passing optional parameters to + // functions. + // + // A key identifies a specific value in a Context. Functions that wish + // to store values in Context typically allocate a key in a global + // variable then use that key as the argument to context.WithValue and + // Context.Value. A key can be any type that supports equality; + // packages should define keys as an unexported type to avoid + // collisions. + // + // Packages that define a Context key should provide type-safe accessors + // for the values stores using that key: + // + // // Package user defines a User type that's stored in Contexts. + // package user + // + // import "golang.org/x/net/context" + // + // // User is the type of value stored in the Contexts. + // type User struct {...} + // + // // key is an unexported type for keys defined in this package. + // // This prevents collisions with keys defined in other packages. + // type key int + // + // // userKey is the key for user.User values in Contexts. It is + // // unexported; clients use user.NewContext and user.FromContext + // // instead of using this key directly. + // var userKey key = 0 + // + // // NewContext returns a new Context that carries value u. + // func NewContext(ctx context.Context, u *User) context.Context { + // return context.WithValue(ctx, userKey, u) + // } + // + // // FromContext returns the User value stored in ctx, if any. + // func FromContext(ctx context.Context) (*User, bool) { + // u, ok := ctx.Value(userKey).(*User) + // return u, ok + // } + Value(key interface{}) interface{} +} + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc func() diff --git a/vendor/golang.org/x/net/http2/Dockerfile b/vendor/golang.org/x/net/http2/Dockerfile new file mode 100644 index 000000000000..53fc52579744 --- /dev/null +++ b/vendor/golang.org/x/net/http2/Dockerfile @@ -0,0 +1,51 @@ +# +# This Dockerfile builds a recent curl with HTTP/2 client support, using +# a recent nghttp2 build. +# +# See the Makefile for how to tag it. If Docker and that image is found, the +# Go tests use this curl binary for integration tests. +# + +FROM ubuntu:trusty + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y git-core build-essential wget + +RUN apt-get install -y --no-install-recommends \ + autotools-dev libtool pkg-config zlib1g-dev \ + libcunit1-dev libssl-dev libxml2-dev libevent-dev \ + automake autoconf + +# The list of packages nghttp2 recommends for h2load: +RUN apt-get install -y --no-install-recommends make binutils \ + autoconf automake autotools-dev \ + libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \ + libev-dev libevent-dev libjansson-dev libjemalloc-dev \ + cython python3.4-dev python-setuptools + +# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached: +ENV NGHTTP2_VER 895da9a +RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git + +WORKDIR /root/nghttp2 +RUN git reset --hard $NGHTTP2_VER +RUN autoreconf -i +RUN automake +RUN autoconf +RUN ./configure +RUN make +RUN make install + +WORKDIR /root +RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz +RUN tar -zxvf curl-7.45.0.tar.gz +WORKDIR /root/curl-7.45.0 +RUN ./configure --with-ssl --with-nghttp2=/usr/local +RUN make +RUN make install +RUN ldconfig + +CMD ["-h"] +ENTRYPOINT ["/usr/local/bin/curl"] + diff --git a/vendor/golang.org/x/net/http2/Makefile b/vendor/golang.org/x/net/http2/Makefile new file mode 100644 index 000000000000..55fd826f77bd --- /dev/null +++ b/vendor/golang.org/x/net/http2/Makefile @@ -0,0 +1,3 @@ +curlimage: + docker build -t gohttp2/curl . + diff --git a/vendor/golang.org/x/net/http2/README b/vendor/golang.org/x/net/http2/README new file mode 100644 index 000000000000..360d5aa37905 --- /dev/null +++ b/vendor/golang.org/x/net/http2/README @@ -0,0 +1,20 @@ +This is a work-in-progress HTTP/2 implementation for Go. + +It will eventually live in the Go standard library and won't require +any changes to your code to use. It will just be automatic. + +Status: + +* The server support is pretty good. A few things are missing + but are being worked on. +* The client work has just started but shares a lot of code + is coming along much quicker. + +Docs are at https://godoc.org/golang.org/x/net/http2 + +Demo test server at https://http2.golang.org/ + +Help & bug reports welcome! + +Contributing: https://golang.org/doc/contribute.html +Bugs: https://golang.org/issue/new?title=x/net/http2:+ diff --git a/vendor/golang.org/x/net/http2/ciphers.go b/vendor/golang.org/x/net/http2/ciphers.go new file mode 100644 index 000000000000..698860b77755 --- /dev/null +++ b/vendor/golang.org/x/net/http2/ciphers.go @@ -0,0 +1,641 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +// A list of the possible cipher suite ids. Taken from +// http://www.iana.org/assignments/tls-parameters/tls-parameters.txt + +const ( + cipher_TLS_NULL_WITH_NULL_NULL uint16 = 0x0000 + cipher_TLS_RSA_WITH_NULL_MD5 uint16 = 0x0001 + cipher_TLS_RSA_WITH_NULL_SHA uint16 = 0x0002 + cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0003 + cipher_TLS_RSA_WITH_RC4_128_MD5 uint16 = 0x0004 + cipher_TLS_RSA_WITH_RC4_128_SHA uint16 = 0x0005 + cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x0006 + cipher_TLS_RSA_WITH_IDEA_CBC_SHA uint16 = 0x0007 + cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0008 + cipher_TLS_RSA_WITH_DES_CBC_SHA uint16 = 0x0009 + cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x000A + cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000B + cipher_TLS_DH_DSS_WITH_DES_CBC_SHA uint16 = 0x000C + cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x000D + cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x000E + cipher_TLS_DH_RSA_WITH_DES_CBC_SHA uint16 = 0x000F + cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0010 + cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011 + cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA uint16 = 0x0012 + cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0x0013 + cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014 + cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA uint16 = 0x0015 + cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x0016 + cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 uint16 = 0x0017 + cipher_TLS_DH_anon_WITH_RC4_128_MD5 uint16 = 0x0018 + cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019 + cipher_TLS_DH_anon_WITH_DES_CBC_SHA uint16 = 0x001A + cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0x001B + // Reserved uint16 = 0x001C-1D + cipher_TLS_KRB5_WITH_DES_CBC_SHA uint16 = 0x001E + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA uint16 = 0x001F + cipher_TLS_KRB5_WITH_RC4_128_SHA uint16 = 0x0020 + cipher_TLS_KRB5_WITH_IDEA_CBC_SHA uint16 = 0x0021 + cipher_TLS_KRB5_WITH_DES_CBC_MD5 uint16 = 0x0022 + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5 uint16 = 0x0023 + cipher_TLS_KRB5_WITH_RC4_128_MD5 uint16 = 0x0024 + cipher_TLS_KRB5_WITH_IDEA_CBC_MD5 uint16 = 0x0025 + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA uint16 = 0x0026 + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA uint16 = 0x0027 + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA uint16 = 0x0028 + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 uint16 = 0x0029 + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 uint16 = 0x002A + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5 uint16 = 0x002B + cipher_TLS_PSK_WITH_NULL_SHA uint16 = 0x002C + cipher_TLS_DHE_PSK_WITH_NULL_SHA uint16 = 0x002D + cipher_TLS_RSA_PSK_WITH_NULL_SHA uint16 = 0x002E + cipher_TLS_RSA_WITH_AES_128_CBC_SHA uint16 = 0x002F + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0030 + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0031 + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA uint16 = 0x0032 + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0x0033 + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA uint16 = 0x0034 + cipher_TLS_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0035 + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0036 + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0037 + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA uint16 = 0x0038 + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0039 + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA uint16 = 0x003A + cipher_TLS_RSA_WITH_NULL_SHA256 uint16 = 0x003B + cipher_TLS_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003C + cipher_TLS_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x003D + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x003E + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x003F + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 uint16 = 0x0040 + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0041 + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0042 + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0043 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045 + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046 + // Reserved uint16 = 0x0047-4F + // Reserved uint16 = 0x0050-58 + // Reserved uint16 = 0x0059-5C + // Unassigned uint16 = 0x005D-5F + // Reserved uint16 = 0x0060-66 + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067 + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x0068 + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x0069 + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D + // Unassigned uint16 = 0x006E-83 + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0084 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0085 + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0086 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0087 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0088 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA uint16 = 0x0089 + cipher_TLS_PSK_WITH_RC4_128_SHA uint16 = 0x008A + cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008B + cipher_TLS_PSK_WITH_AES_128_CBC_SHA uint16 = 0x008C + cipher_TLS_PSK_WITH_AES_256_CBC_SHA uint16 = 0x008D + cipher_TLS_DHE_PSK_WITH_RC4_128_SHA uint16 = 0x008E + cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x008F + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0090 + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0091 + cipher_TLS_RSA_PSK_WITH_RC4_128_SHA uint16 = 0x0092 + cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0x0093 + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA uint16 = 0x0094 + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA uint16 = 0x0095 + cipher_TLS_RSA_WITH_SEED_CBC_SHA uint16 = 0x0096 + cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA uint16 = 0x0097 + cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA uint16 = 0x0098 + cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA uint16 = 0x0099 + cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA uint16 = 0x009A + cipher_TLS_DH_anon_WITH_SEED_CBC_SHA uint16 = 0x009B + cipher_TLS_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009C + cipher_TLS_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009D + cipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x009E + cipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x009F + cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0x00A0 + cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0x00A1 + cipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A2 + cipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A3 + cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256 uint16 = 0x00A4 + cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384 uint16 = 0x00A5 + cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256 uint16 = 0x00A6 + cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384 uint16 = 0x00A7 + cipher_TLS_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00A8 + cipher_TLS_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00A9 + cipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AA + cipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AB + cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 uint16 = 0x00AC + cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 uint16 = 0x00AD + cipher_TLS_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00AE + cipher_TLS_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00AF + cipher_TLS_PSK_WITH_NULL_SHA256 uint16 = 0x00B0 + cipher_TLS_PSK_WITH_NULL_SHA384 uint16 = 0x00B1 + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B2 + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B3 + cipher_TLS_DHE_PSK_WITH_NULL_SHA256 uint16 = 0x00B4 + cipher_TLS_DHE_PSK_WITH_NULL_SHA384 uint16 = 0x00B5 + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0x00B6 + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0x00B7 + cipher_TLS_RSA_PSK_WITH_NULL_SHA256 uint16 = 0x00B8 + cipher_TLS_RSA_PSK_WITH_NULL_SHA384 uint16 = 0x00B9 + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BA + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BB + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BC + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C0 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C1 + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C2 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3 + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5 + // Unassigned uint16 = 0x00C6-FE + cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF + // Unassigned uint16 = 0x01-55,* + cipher_TLS_FALLBACK_SCSV uint16 = 0x5600 + // Unassigned uint16 = 0x5601 - 0xC000 + cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA uint16 = 0xC001 + cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA uint16 = 0xC002 + cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC003 + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC004 + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC005 + cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA uint16 = 0xC006 + cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA uint16 = 0xC007 + cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC008 + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC009 + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC00A + cipher_TLS_ECDH_RSA_WITH_NULL_SHA uint16 = 0xC00B + cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA uint16 = 0xC00C + cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC00D + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC00E + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC00F + cipher_TLS_ECDHE_RSA_WITH_NULL_SHA uint16 = 0xC010 + cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA uint16 = 0xC011 + cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC012 + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC013 + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC014 + cipher_TLS_ECDH_anon_WITH_NULL_SHA uint16 = 0xC015 + cipher_TLS_ECDH_anon_WITH_RC4_128_SHA uint16 = 0xC016 + cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA uint16 = 0xC017 + cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA uint16 = 0xC018 + cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA uint16 = 0xC019 + cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01A + cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01B + cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA uint16 = 0xC01C + cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA uint16 = 0xC01D + cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC01E + cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA uint16 = 0xC01F + cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA uint16 = 0xC020 + cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC021 + cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA uint16 = 0xC022 + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC023 + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC024 + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC025 + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC026 + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC027 + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC028 + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0xC029 + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 uint16 = 0xC02A + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02B + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02C + cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02D + cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC02E + cipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02F + cipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC030 + cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC031 + cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 uint16 = 0xC032 + cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA uint16 = 0xC033 + cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA uint16 = 0xC034 + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA uint16 = 0xC035 + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA uint16 = 0xC036 + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 uint16 = 0xC037 + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 uint16 = 0xC038 + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA uint16 = 0xC039 + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256 uint16 = 0xC03A + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384 uint16 = 0xC03B + cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03C + cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03D + cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC03E + cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC03F + cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC040 + cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC041 + cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC042 + cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC043 + cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC044 + cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC045 + cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC046 + cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC047 + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC048 + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC049 + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04A + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04B + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04C + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04D + cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC04E + cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC04F + cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC050 + cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC051 + cipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC052 + cipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC053 + cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC054 + cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC055 + cipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC056 + cipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC057 + cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC058 + cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC059 + cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05A + cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05B + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05C + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05D + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC05E + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC05F + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC060 + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC061 + cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC062 + cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC063 + cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC064 + cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC065 + cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC066 + cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC067 + cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC068 + cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC069 + cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06A + cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06B + cipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06C + cipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06D + cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 uint16 = 0xC06E + cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 uint16 = 0xC06F + cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 uint16 = 0xC070 + cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 uint16 = 0xC071 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC074 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC075 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC076 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC077 + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC078 + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC079 + cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07A + cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07B + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07C + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07D + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC07E + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC07F + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC080 + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC081 + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC082 + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC083 + cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC084 + cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC085 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086 + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC088 + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC089 + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08A + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08B + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08C + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08D + cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC08E + cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC08F + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC090 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC091 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC092 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC093 + cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC094 + cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC095 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC096 + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC097 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC098 + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC099 + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC09A + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC09B + cipher_TLS_RSA_WITH_AES_128_CCM uint16 = 0xC09C + cipher_TLS_RSA_WITH_AES_256_CCM uint16 = 0xC09D + cipher_TLS_DHE_RSA_WITH_AES_128_CCM uint16 = 0xC09E + cipher_TLS_DHE_RSA_WITH_AES_256_CCM uint16 = 0xC09F + cipher_TLS_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A0 + cipher_TLS_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A1 + cipher_TLS_DHE_RSA_WITH_AES_128_CCM_8 uint16 = 0xC0A2 + cipher_TLS_DHE_RSA_WITH_AES_256_CCM_8 uint16 = 0xC0A3 + cipher_TLS_PSK_WITH_AES_128_CCM uint16 = 0xC0A4 + cipher_TLS_PSK_WITH_AES_256_CCM uint16 = 0xC0A5 + cipher_TLS_DHE_PSK_WITH_AES_128_CCM uint16 = 0xC0A6 + cipher_TLS_DHE_PSK_WITH_AES_256_CCM uint16 = 0xC0A7 + cipher_TLS_PSK_WITH_AES_128_CCM_8 uint16 = 0xC0A8 + cipher_TLS_PSK_WITH_AES_256_CCM_8 uint16 = 0xC0A9 + cipher_TLS_PSK_DHE_WITH_AES_128_CCM_8 uint16 = 0xC0AA + cipher_TLS_PSK_DHE_WITH_AES_256_CCM_8 uint16 = 0xC0AB + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM uint16 = 0xC0AC + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM uint16 = 0xC0AD + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 uint16 = 0xC0AE + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 uint16 = 0xC0AF + // Unassigned uint16 = 0xC0B0-FF + // Unassigned uint16 = 0xC1-CB,* + // Unassigned uint16 = 0xCC00-A7 + cipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA8 + cipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9 + cipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAA + cipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAB + cipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAC + cipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAD + cipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCAE +) + +// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec. +// References: +// https://tools.ietf.org/html/rfc7540#appendix-A +// Reject cipher suites from Appendix A. +// "This list includes those cipher suites that do not +// offer an ephemeral key exchange and those that are +// based on the TLS null, stream or block cipher type" +func isBadCipher(cipher uint16) bool { + switch cipher { + case cipher_TLS_NULL_WITH_NULL_NULL, + cipher_TLS_RSA_WITH_NULL_MD5, + cipher_TLS_RSA_WITH_NULL_SHA, + cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_RSA_WITH_RC4_128_MD5, + cipher_TLS_RSA_WITH_RC4_128_SHA, + cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, + cipher_TLS_RSA_WITH_IDEA_CBC_SHA, + cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_RSA_WITH_DES_CBC_SHA, + cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_DSS_WITH_DES_CBC_SHA, + cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_RSA_WITH_DES_CBC_SHA, + cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_DH_anon_WITH_RC4_128_MD5, + cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, + cipher_TLS_DH_anon_WITH_DES_CBC_SHA, + cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_KRB5_WITH_DES_CBC_SHA, + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_KRB5_WITH_RC4_128_SHA, + cipher_TLS_KRB5_WITH_IDEA_CBC_SHA, + cipher_TLS_KRB5_WITH_DES_CBC_MD5, + cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5, + cipher_TLS_KRB5_WITH_RC4_128_MD5, + cipher_TLS_KRB5_WITH_IDEA_CBC_MD5, + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA, + cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5, + cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5, + cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5, + cipher_TLS_PSK_WITH_NULL_SHA, + cipher_TLS_DHE_PSK_WITH_NULL_SHA, + cipher_TLS_RSA_PSK_WITH_NULL_SHA, + cipher_TLS_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA, + cipher_TLS_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_WITH_NULL_SHA256, + cipher_TLS_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA, + cipher_TLS_PSK_WITH_RC4_128_SHA, + cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_RC4_128_SHA, + cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_RC4_128_SHA, + cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA, + cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA, + cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA, + cipher_TLS_DH_anon_WITH_SEED_CBC_SHA, + cipher_TLS_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384, + cipher_TLS_PSK_WITH_AES_128_GCM_SHA256, + cipher_TLS_PSK_WITH_AES_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, + cipher_TLS_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_PSK_WITH_NULL_SHA256, + cipher_TLS_PSK_WITH_NULL_SHA384, + cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_NULL_SHA256, + cipher_TLS_DHE_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_NULL_SHA256, + cipher_TLS_RSA_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256, + cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV, + cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA, + cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, + cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_NULL_SHA, + cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA, + cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_NULL_SHA, + cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_NULL_SHA, + cipher_TLS_ECDH_anon_WITH_RC4_128_SHA, + cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, + cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, + cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, + cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA, + cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, + cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256, + cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384, + cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, + cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, + cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, + cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, + cipher_TLS_RSA_WITH_AES_128_CCM, + cipher_TLS_RSA_WITH_AES_256_CCM, + cipher_TLS_RSA_WITH_AES_128_CCM_8, + cipher_TLS_RSA_WITH_AES_256_CCM_8, + cipher_TLS_PSK_WITH_AES_128_CCM, + cipher_TLS_PSK_WITH_AES_256_CCM, + cipher_TLS_PSK_WITH_AES_128_CCM_8, + cipher_TLS_PSK_WITH_AES_256_CCM_8: + return true + default: + return false + } +} diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go new file mode 100644 index 000000000000..bdf5652b01ce --- /dev/null +++ b/vendor/golang.org/x/net/http2/client_conn_pool.go @@ -0,0 +1,256 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Transport code's client connection pooling. + +package http2 + +import ( + "crypto/tls" + "net/http" + "sync" +) + +// ClientConnPool manages a pool of HTTP/2 client connections. +type ClientConnPool interface { + GetClientConn(req *http.Request, addr string) (*ClientConn, error) + MarkDead(*ClientConn) +} + +// clientConnPoolIdleCloser is the interface implemented by ClientConnPool +// implementations which can close their idle connections. +type clientConnPoolIdleCloser interface { + ClientConnPool + closeIdleConnections() +} + +var ( + _ clientConnPoolIdleCloser = (*clientConnPool)(nil) + _ clientConnPoolIdleCloser = noDialClientConnPool{} +) + +// TODO: use singleflight for dialing and addConnCalls? +type clientConnPool struct { + t *Transport + + mu sync.Mutex // TODO: maybe switch to RWMutex + // TODO: add support for sharing conns based on cert names + // (e.g. share conn for googleapis.com and appspot.com) + conns map[string][]*ClientConn // key is host:port + dialing map[string]*dialCall // currently in-flight dials + keys map[*ClientConn][]string + addConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls +} + +func (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { + return p.getClientConn(req, addr, dialOnMiss) +} + +const ( + dialOnMiss = true + noDialOnMiss = false +) + +func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) { + if isConnectionCloseRequest(req) && dialOnMiss { + // It gets its own connection. + const singleUse = true + cc, err := p.t.dialClientConn(addr, singleUse) + if err != nil { + return nil, err + } + return cc, nil + } + p.mu.Lock() + for _, cc := range p.conns[addr] { + if cc.CanTakeNewRequest() { + p.mu.Unlock() + return cc, nil + } + } + if !dialOnMiss { + p.mu.Unlock() + return nil, ErrNoCachedConn + } + call := p.getStartDialLocked(addr) + p.mu.Unlock() + <-call.done + return call.res, call.err +} + +// dialCall is an in-flight Transport dial call to a host. +type dialCall struct { + p *clientConnPool + done chan struct{} // closed when done + res *ClientConn // valid after done is closed + err error // valid after done is closed +} + +// requires p.mu is held. +func (p *clientConnPool) getStartDialLocked(addr string) *dialCall { + if call, ok := p.dialing[addr]; ok { + // A dial is already in-flight. Don't start another. + return call + } + call := &dialCall{p: p, done: make(chan struct{})} + if p.dialing == nil { + p.dialing = make(map[string]*dialCall) + } + p.dialing[addr] = call + go call.dial(addr) + return call +} + +// run in its own goroutine. +func (c *dialCall) dial(addr string) { + const singleUse = false // shared conn + c.res, c.err = c.p.t.dialClientConn(addr, singleUse) + close(c.done) + + c.p.mu.Lock() + delete(c.p.dialing, addr) + if c.err == nil { + c.p.addConnLocked(addr, c.res) + } + c.p.mu.Unlock() +} + +// addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't +// already exist. It coalesces concurrent calls with the same key. +// This is used by the http1 Transport code when it creates a new connection. Because +// the http1 Transport doesn't de-dup TCP dials to outbound hosts (because it doesn't know +// the protocol), it can get into a situation where it has multiple TLS connections. +// This code decides which ones live or die. +// The return value used is whether c was used. +// c is never closed. +func (p *clientConnPool) addConnIfNeeded(key string, t *Transport, c *tls.Conn) (used bool, err error) { + p.mu.Lock() + for _, cc := range p.conns[key] { + if cc.CanTakeNewRequest() { + p.mu.Unlock() + return false, nil + } + } + call, dup := p.addConnCalls[key] + if !dup { + if p.addConnCalls == nil { + p.addConnCalls = make(map[string]*addConnCall) + } + call = &addConnCall{ + p: p, + done: make(chan struct{}), + } + p.addConnCalls[key] = call + go call.run(t, key, c) + } + p.mu.Unlock() + + <-call.done + if call.err != nil { + return false, call.err + } + return !dup, nil +} + +type addConnCall struct { + p *clientConnPool + done chan struct{} // closed when done + err error +} + +func (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) { + cc, err := t.NewClientConn(tc) + + p := c.p + p.mu.Lock() + if err != nil { + c.err = err + } else { + p.addConnLocked(key, cc) + } + delete(p.addConnCalls, key) + p.mu.Unlock() + close(c.done) +} + +func (p *clientConnPool) addConn(key string, cc *ClientConn) { + p.mu.Lock() + p.addConnLocked(key, cc) + p.mu.Unlock() +} + +// p.mu must be held +func (p *clientConnPool) addConnLocked(key string, cc *ClientConn) { + for _, v := range p.conns[key] { + if v == cc { + return + } + } + if p.conns == nil { + p.conns = make(map[string][]*ClientConn) + } + if p.keys == nil { + p.keys = make(map[*ClientConn][]string) + } + p.conns[key] = append(p.conns[key], cc) + p.keys[cc] = append(p.keys[cc], key) +} + +func (p *clientConnPool) MarkDead(cc *ClientConn) { + p.mu.Lock() + defer p.mu.Unlock() + for _, key := range p.keys[cc] { + vv, ok := p.conns[key] + if !ok { + continue + } + newList := filterOutClientConn(vv, cc) + if len(newList) > 0 { + p.conns[key] = newList + } else { + delete(p.conns, key) + } + } + delete(p.keys, cc) +} + +func (p *clientConnPool) closeIdleConnections() { + p.mu.Lock() + defer p.mu.Unlock() + // TODO: don't close a cc if it was just added to the pool + // milliseconds ago and has never been used. There's currently + // a small race window with the HTTP/1 Transport's integration + // where it can add an idle conn just before using it, and + // somebody else can concurrently call CloseIdleConns and + // break some caller's RoundTrip. + for _, vv := range p.conns { + for _, cc := range vv { + cc.closeIfIdle() + } + } +} + +func filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn { + out := in[:0] + for _, v := range in { + if v != exclude { + out = append(out, v) + } + } + // If we filtered it out, zero out the last item to prevent + // the GC from seeing it. + if len(in) != len(out) { + in[len(in)-1] = nil + } + return out +} + +// noDialClientConnPool is an implementation of http2.ClientConnPool +// which never dials. We let the HTTP/1.1 client dial and use its TLS +// connection instead. +type noDialClientConnPool struct{ *clientConnPool } + +func (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { + return p.getClientConn(req, addr, noDialOnMiss) +} diff --git a/vendor/golang.org/x/net/http2/configure_transport.go b/vendor/golang.org/x/net/http2/configure_transport.go new file mode 100644 index 000000000000..b65fc6d423d3 --- /dev/null +++ b/vendor/golang.org/x/net/http2/configure_transport.go @@ -0,0 +1,80 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.6 + +package http2 + +import ( + "crypto/tls" + "fmt" + "net/http" +) + +func configureTransport(t1 *http.Transport) (*Transport, error) { + connPool := new(clientConnPool) + t2 := &Transport{ + ConnPool: noDialClientConnPool{connPool}, + t1: t1, + } + connPool.t = t2 + if err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil { + return nil, err + } + if t1.TLSClientConfig == nil { + t1.TLSClientConfig = new(tls.Config) + } + if !strSliceContains(t1.TLSClientConfig.NextProtos, "h2") { + t1.TLSClientConfig.NextProtos = append([]string{"h2"}, t1.TLSClientConfig.NextProtos...) + } + if !strSliceContains(t1.TLSClientConfig.NextProtos, "http/1.1") { + t1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, "http/1.1") + } + upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper { + addr := authorityAddr("https", authority) + if used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil { + go c.Close() + return erringRoundTripper{err} + } else if !used { + // Turns out we don't need this c. + // For example, two goroutines made requests to the same host + // at the same time, both kicking off TCP dials. (since protocol + // was unknown) + go c.Close() + } + return t2 + } + if m := t1.TLSNextProto; len(m) == 0 { + t1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{ + "h2": upgradeFn, + } + } else { + m["h2"] = upgradeFn + } + return t2, nil +} + +// registerHTTPSProtocol calls Transport.RegisterProtocol but +// converting panics into errors. +func registerHTTPSProtocol(t *http.Transport, rt http.RoundTripper) (err error) { + defer func() { + if e := recover(); e != nil { + err = fmt.Errorf("%v", e) + } + }() + t.RegisterProtocol("https", rt) + return nil +} + +// noDialH2RoundTripper is a RoundTripper which only tries to complete the request +// if there's already has a cached connection to the host. +type noDialH2RoundTripper struct{ t *Transport } + +func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + res, err := rt.t.RoundTrip(req) + if err == ErrNoCachedConn { + return nil, http.ErrSkipAltProtocol + } + return res, err +} diff --git a/vendor/golang.org/x/net/http2/databuffer.go b/vendor/golang.org/x/net/http2/databuffer.go new file mode 100644 index 000000000000..a3067f8de741 --- /dev/null +++ b/vendor/golang.org/x/net/http2/databuffer.go @@ -0,0 +1,146 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "fmt" + "sync" +) + +// Buffer chunks are allocated from a pool to reduce pressure on GC. +// The maximum wasted space per dataBuffer is 2x the largest size class, +// which happens when the dataBuffer has multiple chunks and there is +// one unread byte in both the first and last chunks. We use a few size +// classes to minimize overheads for servers that typically receive very +// small request bodies. +// +// TODO: Benchmark to determine if the pools are necessary. The GC may have +// improved enough that we can instead allocate chunks like this: +// make([]byte, max(16<<10, expectedBytesRemaining)) +var ( + dataChunkSizeClasses = []int{ + 1 << 10, + 2 << 10, + 4 << 10, + 8 << 10, + 16 << 10, + } + dataChunkPools = [...]sync.Pool{ + {New: func() interface{} { return make([]byte, 1<<10) }}, + {New: func() interface{} { return make([]byte, 2<<10) }}, + {New: func() interface{} { return make([]byte, 4<<10) }}, + {New: func() interface{} { return make([]byte, 8<<10) }}, + {New: func() interface{} { return make([]byte, 16<<10) }}, + } +) + +func getDataBufferChunk(size int64) []byte { + i := 0 + for ; i < len(dataChunkSizeClasses)-1; i++ { + if size <= int64(dataChunkSizeClasses[i]) { + break + } + } + return dataChunkPools[i].Get().([]byte) +} + +func putDataBufferChunk(p []byte) { + for i, n := range dataChunkSizeClasses { + if len(p) == n { + dataChunkPools[i].Put(p) + return + } + } + panic(fmt.Sprintf("unexpected buffer len=%v", len(p))) +} + +// dataBuffer is an io.ReadWriter backed by a list of data chunks. +// Each dataBuffer is used to read DATA frames on a single stream. +// The buffer is divided into chunks so the server can limit the +// total memory used by a single connection without limiting the +// request body size on any single stream. +type dataBuffer struct { + chunks [][]byte + r int // next byte to read is chunks[0][r] + w int // next byte to write is chunks[len(chunks)-1][w] + size int // total buffered bytes + expected int64 // we expect at least this many bytes in future Write calls (ignored if <= 0) +} + +var errReadEmpty = errors.New("read from empty dataBuffer") + +// Read copies bytes from the buffer into p. +// It is an error to read when no data is available. +func (b *dataBuffer) Read(p []byte) (int, error) { + if b.size == 0 { + return 0, errReadEmpty + } + var ntotal int + for len(p) > 0 && b.size > 0 { + readFrom := b.bytesFromFirstChunk() + n := copy(p, readFrom) + p = p[n:] + ntotal += n + b.r += n + b.size -= n + // If the first chunk has been consumed, advance to the next chunk. + if b.r == len(b.chunks[0]) { + putDataBufferChunk(b.chunks[0]) + end := len(b.chunks) - 1 + copy(b.chunks[:end], b.chunks[1:]) + b.chunks[end] = nil + b.chunks = b.chunks[:end] + b.r = 0 + } + } + return ntotal, nil +} + +func (b *dataBuffer) bytesFromFirstChunk() []byte { + if len(b.chunks) == 1 { + return b.chunks[0][b.r:b.w] + } + return b.chunks[0][b.r:] +} + +// Len returns the number of bytes of the unread portion of the buffer. +func (b *dataBuffer) Len() int { + return b.size +} + +// Write appends p to the buffer. +func (b *dataBuffer) Write(p []byte) (int, error) { + ntotal := len(p) + for len(p) > 0 { + // If the last chunk is empty, allocate a new chunk. Try to allocate + // enough to fully copy p plus any additional bytes we expect to + // receive. However, this may allocate less than len(p). + want := int64(len(p)) + if b.expected > want { + want = b.expected + } + chunk := b.lastChunkOrAlloc(want) + n := copy(chunk[b.w:], p) + p = p[n:] + b.w += n + b.size += n + b.expected -= int64(n) + } + return ntotal, nil +} + +func (b *dataBuffer) lastChunkOrAlloc(want int64) []byte { + if len(b.chunks) != 0 { + last := b.chunks[len(b.chunks)-1] + if b.w < len(last) { + return last + } + } + chunk := getDataBufferChunk(want) + b.chunks = append(b.chunks, chunk) + b.w = 0 + return chunk +} diff --git a/vendor/golang.org/x/net/http2/errors.go b/vendor/golang.org/x/net/http2/errors.go new file mode 100644 index 000000000000..71f2c4631787 --- /dev/null +++ b/vendor/golang.org/x/net/http2/errors.go @@ -0,0 +1,133 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "fmt" +) + +// An ErrCode is an unsigned 32-bit error code as defined in the HTTP/2 spec. +type ErrCode uint32 + +const ( + ErrCodeNo ErrCode = 0x0 + ErrCodeProtocol ErrCode = 0x1 + ErrCodeInternal ErrCode = 0x2 + ErrCodeFlowControl ErrCode = 0x3 + ErrCodeSettingsTimeout ErrCode = 0x4 + ErrCodeStreamClosed ErrCode = 0x5 + ErrCodeFrameSize ErrCode = 0x6 + ErrCodeRefusedStream ErrCode = 0x7 + ErrCodeCancel ErrCode = 0x8 + ErrCodeCompression ErrCode = 0x9 + ErrCodeConnect ErrCode = 0xa + ErrCodeEnhanceYourCalm ErrCode = 0xb + ErrCodeInadequateSecurity ErrCode = 0xc + ErrCodeHTTP11Required ErrCode = 0xd +) + +var errCodeName = map[ErrCode]string{ + ErrCodeNo: "NO_ERROR", + ErrCodeProtocol: "PROTOCOL_ERROR", + ErrCodeInternal: "INTERNAL_ERROR", + ErrCodeFlowControl: "FLOW_CONTROL_ERROR", + ErrCodeSettingsTimeout: "SETTINGS_TIMEOUT", + ErrCodeStreamClosed: "STREAM_CLOSED", + ErrCodeFrameSize: "FRAME_SIZE_ERROR", + ErrCodeRefusedStream: "REFUSED_STREAM", + ErrCodeCancel: "CANCEL", + ErrCodeCompression: "COMPRESSION_ERROR", + ErrCodeConnect: "CONNECT_ERROR", + ErrCodeEnhanceYourCalm: "ENHANCE_YOUR_CALM", + ErrCodeInadequateSecurity: "INADEQUATE_SECURITY", + ErrCodeHTTP11Required: "HTTP_1_1_REQUIRED", +} + +func (e ErrCode) String() string { + if s, ok := errCodeName[e]; ok { + return s + } + return fmt.Sprintf("unknown error code 0x%x", uint32(e)) +} + +// ConnectionError is an error that results in the termination of the +// entire connection. +type ConnectionError ErrCode + +func (e ConnectionError) Error() string { return fmt.Sprintf("connection error: %s", ErrCode(e)) } + +// StreamError is an error that only affects one stream within an +// HTTP/2 connection. +type StreamError struct { + StreamID uint32 + Code ErrCode + Cause error // optional additional detail +} + +func streamError(id uint32, code ErrCode) StreamError { + return StreamError{StreamID: id, Code: code} +} + +func (e StreamError) Error() string { + if e.Cause != nil { + return fmt.Sprintf("stream error: stream ID %d; %v; %v", e.StreamID, e.Code, e.Cause) + } + return fmt.Sprintf("stream error: stream ID %d; %v", e.StreamID, e.Code) +} + +// 6.9.1 The Flow Control Window +// "If a sender receives a WINDOW_UPDATE that causes a flow control +// window to exceed this maximum it MUST terminate either the stream +// or the connection, as appropriate. For streams, [...]; for the +// connection, a GOAWAY frame with a FLOW_CONTROL_ERROR code." +type goAwayFlowError struct{} + +func (goAwayFlowError) Error() string { return "connection exceeded flow control window size" } + +// connError represents an HTTP/2 ConnectionError error code, along +// with a string (for debugging) explaining why. +// +// Errors of this type are only returned by the frame parser functions +// and converted into ConnectionError(Code), after stashing away +// the Reason into the Framer's errDetail field, accessible via +// the (*Framer).ErrorDetail method. +type connError struct { + Code ErrCode // the ConnectionError error code + Reason string // additional reason +} + +func (e connError) Error() string { + return fmt.Sprintf("http2: connection error: %v: %v", e.Code, e.Reason) +} + +type pseudoHeaderError string + +func (e pseudoHeaderError) Error() string { + return fmt.Sprintf("invalid pseudo-header %q", string(e)) +} + +type duplicatePseudoHeaderError string + +func (e duplicatePseudoHeaderError) Error() string { + return fmt.Sprintf("duplicate pseudo-header %q", string(e)) +} + +type headerFieldNameError string + +func (e headerFieldNameError) Error() string { + return fmt.Sprintf("invalid header field name %q", string(e)) +} + +type headerFieldValueError string + +func (e headerFieldValueError) Error() string { + return fmt.Sprintf("invalid header field value %q", string(e)) +} + +var ( + errMixPseudoHeaderTypes = errors.New("mix of request and response pseudo headers") + errPseudoAfterRegular = errors.New("pseudo header field after regular") +) diff --git a/vendor/golang.org/x/net/http2/flow.go b/vendor/golang.org/x/net/http2/flow.go new file mode 100644 index 000000000000..957de25420d9 --- /dev/null +++ b/vendor/golang.org/x/net/http2/flow.go @@ -0,0 +1,50 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Flow control + +package http2 + +// flow is the flow control window's size. +type flow struct { + // n is the number of DATA bytes we're allowed to send. + // A flow is kept both on a conn and a per-stream. + n int32 + + // conn points to the shared connection-level flow that is + // shared by all streams on that conn. It is nil for the flow + // that's on the conn directly. + conn *flow +} + +func (f *flow) setConnFlow(cf *flow) { f.conn = cf } + +func (f *flow) available() int32 { + n := f.n + if f.conn != nil && f.conn.n < n { + n = f.conn.n + } + return n +} + +func (f *flow) take(n int32) { + if n > f.available() { + panic("internal error: took too much") + } + f.n -= n + if f.conn != nil { + f.conn.n -= n + } +} + +// add adds n bytes (positive or negative) to the flow control window. +// It returns false if the sum would exceed 2^31-1. +func (f *flow) add(n int32) bool { + remain := (1<<31 - 1) - f.n + if n > remain { + return false + } + f.n += n + return true +} diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go new file mode 100644 index 000000000000..3b14890728f5 --- /dev/null +++ b/vendor/golang.org/x/net/http2/frame.go @@ -0,0 +1,1579 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "io" + "log" + "strings" + "sync" + + "golang.org/x/net/http2/hpack" + "golang.org/x/net/lex/httplex" +) + +const frameHeaderLen = 9 + +var padZeros = make([]byte, 255) // zeros for padding + +// A FrameType is a registered frame type as defined in +// http://http2.github.io/http2-spec/#rfc.section.11.2 +type FrameType uint8 + +const ( + FrameData FrameType = 0x0 + FrameHeaders FrameType = 0x1 + FramePriority FrameType = 0x2 + FrameRSTStream FrameType = 0x3 + FrameSettings FrameType = 0x4 + FramePushPromise FrameType = 0x5 + FramePing FrameType = 0x6 + FrameGoAway FrameType = 0x7 + FrameWindowUpdate FrameType = 0x8 + FrameContinuation FrameType = 0x9 +) + +var frameName = map[FrameType]string{ + FrameData: "DATA", + FrameHeaders: "HEADERS", + FramePriority: "PRIORITY", + FrameRSTStream: "RST_STREAM", + FrameSettings: "SETTINGS", + FramePushPromise: "PUSH_PROMISE", + FramePing: "PING", + FrameGoAway: "GOAWAY", + FrameWindowUpdate: "WINDOW_UPDATE", + FrameContinuation: "CONTINUATION", +} + +func (t FrameType) String() string { + if s, ok := frameName[t]; ok { + return s + } + return fmt.Sprintf("UNKNOWN_FRAME_TYPE_%d", uint8(t)) +} + +// Flags is a bitmask of HTTP/2 flags. +// The meaning of flags varies depending on the frame type. +type Flags uint8 + +// Has reports whether f contains all (0 or more) flags in v. +func (f Flags) Has(v Flags) bool { + return (f & v) == v +} + +// Frame-specific FrameHeader flag bits. +const ( + // Data Frame + FlagDataEndStream Flags = 0x1 + FlagDataPadded Flags = 0x8 + + // Headers Frame + FlagHeadersEndStream Flags = 0x1 + FlagHeadersEndHeaders Flags = 0x4 + FlagHeadersPadded Flags = 0x8 + FlagHeadersPriority Flags = 0x20 + + // Settings Frame + FlagSettingsAck Flags = 0x1 + + // Ping Frame + FlagPingAck Flags = 0x1 + + // Continuation Frame + FlagContinuationEndHeaders Flags = 0x4 + + FlagPushPromiseEndHeaders Flags = 0x4 + FlagPushPromisePadded Flags = 0x8 +) + +var flagName = map[FrameType]map[Flags]string{ + FrameData: { + FlagDataEndStream: "END_STREAM", + FlagDataPadded: "PADDED", + }, + FrameHeaders: { + FlagHeadersEndStream: "END_STREAM", + FlagHeadersEndHeaders: "END_HEADERS", + FlagHeadersPadded: "PADDED", + FlagHeadersPriority: "PRIORITY", + }, + FrameSettings: { + FlagSettingsAck: "ACK", + }, + FramePing: { + FlagPingAck: "ACK", + }, + FrameContinuation: { + FlagContinuationEndHeaders: "END_HEADERS", + }, + FramePushPromise: { + FlagPushPromiseEndHeaders: "END_HEADERS", + FlagPushPromisePadded: "PADDED", + }, +} + +// a frameParser parses a frame given its FrameHeader and payload +// bytes. The length of payload will always equal fh.Length (which +// might be 0). +type frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) + +var frameParsers = map[FrameType]frameParser{ + FrameData: parseDataFrame, + FrameHeaders: parseHeadersFrame, + FramePriority: parsePriorityFrame, + FrameRSTStream: parseRSTStreamFrame, + FrameSettings: parseSettingsFrame, + FramePushPromise: parsePushPromise, + FramePing: parsePingFrame, + FrameGoAway: parseGoAwayFrame, + FrameWindowUpdate: parseWindowUpdateFrame, + FrameContinuation: parseContinuationFrame, +} + +func typeFrameParser(t FrameType) frameParser { + if f := frameParsers[t]; f != nil { + return f + } + return parseUnknownFrame +} + +// A FrameHeader is the 9 byte header of all HTTP/2 frames. +// +// See http://http2.github.io/http2-spec/#FrameHeader +type FrameHeader struct { + valid bool // caller can access []byte fields in the Frame + + // Type is the 1 byte frame type. There are ten standard frame + // types, but extension frame types may be written by WriteRawFrame + // and will be returned by ReadFrame (as UnknownFrame). + Type FrameType + + // Flags are the 1 byte of 8 potential bit flags per frame. + // They are specific to the frame type. + Flags Flags + + // Length is the length of the frame, not including the 9 byte header. + // The maximum size is one byte less than 16MB (uint24), but only + // frames up to 16KB are allowed without peer agreement. + Length uint32 + + // StreamID is which stream this frame is for. Certain frames + // are not stream-specific, in which case this field is 0. + StreamID uint32 +} + +// Header returns h. It exists so FrameHeaders can be embedded in other +// specific frame types and implement the Frame interface. +func (h FrameHeader) Header() FrameHeader { return h } + +func (h FrameHeader) String() string { + var buf bytes.Buffer + buf.WriteString("[FrameHeader ") + h.writeDebug(&buf) + buf.WriteByte(']') + return buf.String() +} + +func (h FrameHeader) writeDebug(buf *bytes.Buffer) { + buf.WriteString(h.Type.String()) + if h.Flags != 0 { + buf.WriteString(" flags=") + set := 0 + for i := uint8(0); i < 8; i++ { + if h.Flags&(1< 1 { + buf.WriteByte('|') + } + name := flagName[h.Type][Flags(1<>24), + byte(streamID>>16), + byte(streamID>>8), + byte(streamID)) +} + +func (f *Framer) endWrite() error { + // Now that we know the final size, fill in the FrameHeader in + // the space previously reserved for it. Abuse append. + length := len(f.wbuf) - frameHeaderLen + if length >= (1 << 24) { + return ErrFrameTooLarge + } + _ = append(f.wbuf[:0], + byte(length>>16), + byte(length>>8), + byte(length)) + if f.logWrites { + f.logWrite() + } + + n, err := f.w.Write(f.wbuf) + if err == nil && n != len(f.wbuf) { + err = io.ErrShortWrite + } + return err +} + +func (f *Framer) logWrite() { + if f.debugFramer == nil { + f.debugFramerBuf = new(bytes.Buffer) + f.debugFramer = NewFramer(nil, f.debugFramerBuf) + f.debugFramer.logReads = false // we log it ourselves, saying "wrote" below + // Let us read anything, even if we accidentally wrote it + // in the wrong order: + f.debugFramer.AllowIllegalReads = true + } + f.debugFramerBuf.Write(f.wbuf) + fr, err := f.debugFramer.ReadFrame() + if err != nil { + f.debugWriteLoggerf("http2: Framer %p: failed to decode just-written frame", f) + return + } + f.debugWriteLoggerf("http2: Framer %p: wrote %v", f, summarizeFrame(fr)) +} + +func (f *Framer) writeByte(v byte) { f.wbuf = append(f.wbuf, v) } +func (f *Framer) writeBytes(v []byte) { f.wbuf = append(f.wbuf, v...) } +func (f *Framer) writeUint16(v uint16) { f.wbuf = append(f.wbuf, byte(v>>8), byte(v)) } +func (f *Framer) writeUint32(v uint32) { + f.wbuf = append(f.wbuf, byte(v>>24), byte(v>>16), byte(v>>8), byte(v)) +} + +const ( + minMaxFrameSize = 1 << 14 + maxFrameSize = 1<<24 - 1 +) + +// SetReuseFrames allows the Framer to reuse Frames. +// If called on a Framer, Frames returned by calls to ReadFrame are only +// valid until the next call to ReadFrame. +func (fr *Framer) SetReuseFrames() { + if fr.frameCache != nil { + return + } + fr.frameCache = &frameCache{} +} + +type frameCache struct { + dataFrame DataFrame +} + +func (fc *frameCache) getDataFrame() *DataFrame { + if fc == nil { + return &DataFrame{} + } + return &fc.dataFrame +} + +// NewFramer returns a Framer that writes frames to w and reads them from r. +func NewFramer(w io.Writer, r io.Reader) *Framer { + fr := &Framer{ + w: w, + r: r, + logReads: logFrameReads, + logWrites: logFrameWrites, + debugReadLoggerf: log.Printf, + debugWriteLoggerf: log.Printf, + } + fr.getReadBuf = func(size uint32) []byte { + if cap(fr.readBuf) >= int(size) { + return fr.readBuf[:size] + } + fr.readBuf = make([]byte, size) + return fr.readBuf + } + fr.SetMaxReadFrameSize(maxFrameSize) + return fr +} + +// SetMaxReadFrameSize sets the maximum size of a frame +// that will be read by a subsequent call to ReadFrame. +// It is the caller's responsibility to advertise this +// limit with a SETTINGS frame. +func (fr *Framer) SetMaxReadFrameSize(v uint32) { + if v > maxFrameSize { + v = maxFrameSize + } + fr.maxReadSize = v +} + +// ErrorDetail returns a more detailed error of the last error +// returned by Framer.ReadFrame. For instance, if ReadFrame +// returns a StreamError with code PROTOCOL_ERROR, ErrorDetail +// will say exactly what was invalid. ErrorDetail is not guaranteed +// to return a non-nil value and like the rest of the http2 package, +// its return value is not protected by an API compatibility promise. +// ErrorDetail is reset after the next call to ReadFrame. +func (fr *Framer) ErrorDetail() error { + return fr.errDetail +} + +// ErrFrameTooLarge is returned from Framer.ReadFrame when the peer +// sends a frame that is larger than declared with SetMaxReadFrameSize. +var ErrFrameTooLarge = errors.New("http2: frame too large") + +// terminalReadFrameError reports whether err is an unrecoverable +// error from ReadFrame and no other frames should be read. +func terminalReadFrameError(err error) bool { + if _, ok := err.(StreamError); ok { + return false + } + return err != nil +} + +// ReadFrame reads a single frame. The returned Frame is only valid +// until the next call to ReadFrame. +// +// If the frame is larger than previously set with SetMaxReadFrameSize, the +// returned error is ErrFrameTooLarge. Other errors may be of type +// ConnectionError, StreamError, or anything else from the underlying +// reader. +func (fr *Framer) ReadFrame() (Frame, error) { + fr.errDetail = nil + if fr.lastFrame != nil { + fr.lastFrame.invalidate() + } + fh, err := readFrameHeader(fr.headerBuf[:], fr.r) + if err != nil { + return nil, err + } + if fh.Length > fr.maxReadSize { + return nil, ErrFrameTooLarge + } + payload := fr.getReadBuf(fh.Length) + if _, err := io.ReadFull(fr.r, payload); err != nil { + return nil, err + } + f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload) + if err != nil { + if ce, ok := err.(connError); ok { + return nil, fr.connError(ce.Code, ce.Reason) + } + return nil, err + } + if err := fr.checkFrameOrder(f); err != nil { + return nil, err + } + if fr.logReads { + fr.debugReadLoggerf("http2: Framer %p: read %v", fr, summarizeFrame(f)) + } + if fh.Type == FrameHeaders && fr.ReadMetaHeaders != nil { + return fr.readMetaFrame(f.(*HeadersFrame)) + } + return f, nil +} + +// connError returns ConnectionError(code) but first +// stashes away a public reason to the caller can optionally relay it +// to the peer before hanging up on them. This might help others debug +// their implementations. +func (fr *Framer) connError(code ErrCode, reason string) error { + fr.errDetail = errors.New(reason) + return ConnectionError(code) +} + +// checkFrameOrder reports an error if f is an invalid frame to return +// next from ReadFrame. Mostly it checks whether HEADERS and +// CONTINUATION frames are contiguous. +func (fr *Framer) checkFrameOrder(f Frame) error { + last := fr.lastFrame + fr.lastFrame = f + if fr.AllowIllegalReads { + return nil + } + + fh := f.Header() + if fr.lastHeaderStream != 0 { + if fh.Type != FrameContinuation { + return fr.connError(ErrCodeProtocol, + fmt.Sprintf("got %s for stream %d; expected CONTINUATION following %s for stream %d", + fh.Type, fh.StreamID, + last.Header().Type, fr.lastHeaderStream)) + } + if fh.StreamID != fr.lastHeaderStream { + return fr.connError(ErrCodeProtocol, + fmt.Sprintf("got CONTINUATION for stream %d; expected stream %d", + fh.StreamID, fr.lastHeaderStream)) + } + } else if fh.Type == FrameContinuation { + return fr.connError(ErrCodeProtocol, fmt.Sprintf("unexpected CONTINUATION for stream %d", fh.StreamID)) + } + + switch fh.Type { + case FrameHeaders, FrameContinuation: + if fh.Flags.Has(FlagHeadersEndHeaders) { + fr.lastHeaderStream = 0 + } else { + fr.lastHeaderStream = fh.StreamID + } + } + + return nil +} + +// A DataFrame conveys arbitrary, variable-length sequences of octets +// associated with a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.1 +type DataFrame struct { + FrameHeader + data []byte +} + +func (f *DataFrame) StreamEnded() bool { + return f.FrameHeader.Flags.Has(FlagDataEndStream) +} + +// Data returns the frame's data octets, not including any padding +// size byte or padding suffix bytes. +// The caller must not retain the returned memory past the next +// call to ReadFrame. +func (f *DataFrame) Data() []byte { + f.checkValid() + return f.data +} + +func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if fh.StreamID == 0 { + // DATA frames MUST be associated with a stream. If a + // DATA frame is received whose stream identifier + // field is 0x0, the recipient MUST respond with a + // connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. + return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"} + } + f := fc.getDataFrame() + f.FrameHeader = fh + + var padSize byte + if fh.Flags.Has(FlagDataPadded) { + var err error + payload, padSize, err = readByte(payload) + if err != nil { + return nil, err + } + } + if int(padSize) > len(payload) { + // If the length of the padding is greater than the + // length of the frame payload, the recipient MUST + // treat this as a connection error. + // Filed: https://github.com/http2/http2-spec/issues/610 + return nil, connError{ErrCodeProtocol, "pad size larger than data payload"} + } + f.data = payload[:len(payload)-int(padSize)] + return f, nil +} + +var ( + errStreamID = errors.New("invalid stream ID") + errDepStreamID = errors.New("invalid dependent stream ID") + errPadLength = errors.New("pad length too large") + errPadBytes = errors.New("padding bytes must all be zeros unless AllowIllegalWrites is enabled") +) + +func validStreamIDOrZero(streamID uint32) bool { + return streamID&(1<<31) == 0 +} + +func validStreamID(streamID uint32) bool { + return streamID != 0 && streamID&(1<<31) == 0 +} + +// WriteData writes a DATA frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility not to violate the maximum frame size +// and to not call other Write methods concurrently. +func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error { + return f.WriteDataPadded(streamID, endStream, data, nil) +} + +// WriteData writes a DATA frame with optional padding. +// +// If pad is nil, the padding bit is not sent. +// The length of pad must not exceed 255 bytes. +// The bytes of pad must all be zero, unless f.AllowIllegalWrites is set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility not to violate the maximum frame size +// and to not call other Write methods concurrently. +func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + if len(pad) > 0 { + if len(pad) > 255 { + return errPadLength + } + if !f.AllowIllegalWrites { + for _, b := range pad { + if b != 0 { + // "Padding octets MUST be set to zero when sending." + return errPadBytes + } + } + } + } + var flags Flags + if endStream { + flags |= FlagDataEndStream + } + if pad != nil { + flags |= FlagDataPadded + } + f.startWrite(FrameData, flags, streamID) + if pad != nil { + f.wbuf = append(f.wbuf, byte(len(pad))) + } + f.wbuf = append(f.wbuf, data...) + f.wbuf = append(f.wbuf, pad...) + return f.endWrite() +} + +// A SettingsFrame conveys configuration parameters that affect how +// endpoints communicate, such as preferences and constraints on peer +// behavior. +// +// See http://http2.github.io/http2-spec/#SETTINGS +type SettingsFrame struct { + FrameHeader + p []byte +} + +func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 { + // When this (ACK 0x1) bit is set, the payload of the + // SETTINGS frame MUST be empty. Receipt of a + // SETTINGS frame with the ACK flag set and a length + // field value other than 0 MUST be treated as a + // connection error (Section 5.4.1) of type + // FRAME_SIZE_ERROR. + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { + // SETTINGS frames always apply to a connection, + // never a single stream. The stream identifier for a + // SETTINGS frame MUST be zero (0x0). If an endpoint + // receives a SETTINGS frame whose stream identifier + // field is anything other than 0x0, the endpoint MUST + // respond with a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR. + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p)%6 != 0 { + // Expecting even number of 6 byte settings. + return nil, ConnectionError(ErrCodeFrameSize) + } + f := &SettingsFrame{FrameHeader: fh, p: p} + if v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 { + // Values above the maximum flow control window size of 2^31 - 1 MUST + // be treated as a connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR. + return nil, ConnectionError(ErrCodeFlowControl) + } + return f, nil +} + +func (f *SettingsFrame) IsAck() bool { + return f.FrameHeader.Flags.Has(FlagSettingsAck) +} + +func (f *SettingsFrame) Value(s SettingID) (v uint32, ok bool) { + f.checkValid() + buf := f.p + for len(buf) > 0 { + settingID := SettingID(binary.BigEndian.Uint16(buf[:2])) + if settingID == s { + return binary.BigEndian.Uint32(buf[2:6]), true + } + buf = buf[6:] + } + return 0, false +} + +// ForeachSetting runs fn for each setting. +// It stops and returns the first error. +func (f *SettingsFrame) ForeachSetting(fn func(Setting) error) error { + f.checkValid() + buf := f.p + for len(buf) > 0 { + if err := fn(Setting{ + SettingID(binary.BigEndian.Uint16(buf[:2])), + binary.BigEndian.Uint32(buf[2:6]), + }); err != nil { + return err + } + buf = buf[6:] + } + return nil +} + +// WriteSettings writes a SETTINGS frame with zero or more settings +// specified and the ACK bit not set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteSettings(settings ...Setting) error { + f.startWrite(FrameSettings, 0, 0) + for _, s := range settings { + f.writeUint16(uint16(s.ID)) + f.writeUint32(s.Val) + } + return f.endWrite() +} + +// WriteSettingsAck writes an empty SETTINGS frame with the ACK bit set. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteSettingsAck() error { + f.startWrite(FrameSettings, FlagSettingsAck, 0) + return f.endWrite() +} + +// A PingFrame is a mechanism for measuring a minimal round trip time +// from the sender, as well as determining whether an idle connection +// is still functional. +// See http://http2.github.io/http2-spec/#rfc.section.6.7 +type PingFrame struct { + FrameHeader + Data [8]byte +} + +func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) } + +func parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if len(payload) != 8 { + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + f := &PingFrame{FrameHeader: fh} + copy(f.Data[:], payload) + return f, nil +} + +func (f *Framer) WritePing(ack bool, data [8]byte) error { + var flags Flags + if ack { + flags = FlagPingAck + } + f.startWrite(FramePing, flags, 0) + f.writeBytes(data[:]) + return f.endWrite() +} + +// A GoAwayFrame informs the remote peer to stop creating streams on this connection. +// See http://http2.github.io/http2-spec/#rfc.section.6.8 +type GoAwayFrame struct { + FrameHeader + LastStreamID uint32 + ErrCode ErrCode + debugData []byte +} + +// DebugData returns any debug data in the GOAWAY frame. Its contents +// are not defined. +// The caller must not retain the returned memory past the next +// call to ReadFrame. +func (f *GoAwayFrame) DebugData() []byte { + f.checkValid() + return f.debugData +} + +func parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.StreamID != 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p) < 8 { + return nil, ConnectionError(ErrCodeFrameSize) + } + return &GoAwayFrame{ + FrameHeader: fh, + LastStreamID: binary.BigEndian.Uint32(p[:4]) & (1<<31 - 1), + ErrCode: ErrCode(binary.BigEndian.Uint32(p[4:8])), + debugData: p[8:], + }, nil +} + +func (f *Framer) WriteGoAway(maxStreamID uint32, code ErrCode, debugData []byte) error { + f.startWrite(FrameGoAway, 0, 0) + f.writeUint32(maxStreamID & (1<<31 - 1)) + f.writeUint32(uint32(code)) + f.writeBytes(debugData) + return f.endWrite() +} + +// An UnknownFrame is the frame type returned when the frame type is unknown +// or no specific frame type parser exists. +type UnknownFrame struct { + FrameHeader + p []byte +} + +// Payload returns the frame's payload (after the header). It is not +// valid to call this method after a subsequent call to +// Framer.ReadFrame, nor is it valid to retain the returned slice. +// The memory is owned by the Framer and is invalidated when the next +// frame is read. +func (f *UnknownFrame) Payload() []byte { + f.checkValid() + return f.p +} + +func parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + return &UnknownFrame{fh, p}, nil +} + +// A WindowUpdateFrame is used to implement flow control. +// See http://http2.github.io/http2-spec/#rfc.section.6.9 +type WindowUpdateFrame struct { + FrameHeader + Increment uint32 // never read with high bit set +} + +func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if len(p) != 4 { + return nil, ConnectionError(ErrCodeFrameSize) + } + inc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit + if inc == 0 { + // A receiver MUST treat the receipt of a + // WINDOW_UPDATE frame with an flow control window + // increment of 0 as a stream error (Section 5.4.2) of + // type PROTOCOL_ERROR; errors on the connection flow + // control window MUST be treated as a connection + // error (Section 5.4.1). + if fh.StreamID == 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + return &WindowUpdateFrame{ + FrameHeader: fh, + Increment: inc, + }, nil +} + +// WriteWindowUpdate writes a WINDOW_UPDATE frame. +// The increment value must be between 1 and 2,147,483,647, inclusive. +// If the Stream ID is zero, the window update applies to the +// connection as a whole. +func (f *Framer) WriteWindowUpdate(streamID, incr uint32) error { + // "The legal range for the increment to the flow control window is 1 to 2^31-1 (2,147,483,647) octets." + if (incr < 1 || incr > 2147483647) && !f.AllowIllegalWrites { + return errors.New("illegal window increment value") + } + f.startWrite(FrameWindowUpdate, 0, streamID) + f.writeUint32(incr) + return f.endWrite() +} + +// A HeadersFrame is used to open a stream and additionally carries a +// header block fragment. +type HeadersFrame struct { + FrameHeader + + // Priority is set if FlagHeadersPriority is set in the FrameHeader. + Priority PriorityParam + + headerFragBuf []byte // not owned +} + +func (f *HeadersFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *HeadersFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagHeadersEndHeaders) +} + +func (f *HeadersFrame) StreamEnded() bool { + return f.FrameHeader.Flags.Has(FlagHeadersEndStream) +} + +func (f *HeadersFrame) HasPriority() bool { + return f.FrameHeader.Flags.Has(FlagHeadersPriority) +} + +func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { + hf := &HeadersFrame{ + FrameHeader: fh, + } + if fh.StreamID == 0 { + // HEADERS frames MUST be associated with a stream. If a HEADERS frame + // is received whose stream identifier field is 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. + return nil, connError{ErrCodeProtocol, "HEADERS frame with stream ID 0"} + } + var padLength uint8 + if fh.Flags.Has(FlagHeadersPadded) { + if p, padLength, err = readByte(p); err != nil { + return + } + } + if fh.Flags.Has(FlagHeadersPriority) { + var v uint32 + p, v, err = readUint32(p) + if err != nil { + return nil, err + } + hf.Priority.StreamDep = v & 0x7fffffff + hf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set + p, hf.Priority.Weight, err = readByte(p) + if err != nil { + return nil, err + } + } + if len(p)-int(padLength) <= 0 { + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + hf.headerFragBuf = p[:len(p)-int(padLength)] + return hf, nil +} + +// HeadersFrameParam are the parameters for writing a HEADERS frame. +type HeadersFrameParam struct { + // StreamID is the required Stream ID to initiate. + StreamID uint32 + // BlockFragment is part (or all) of a Header Block. + BlockFragment []byte + + // EndStream indicates that the header block is the last that + // the endpoint will send for the identified stream. Setting + // this flag causes the stream to enter one of "half closed" + // states. + EndStream bool + + // EndHeaders indicates that this frame contains an entire + // header block and is not followed by any + // CONTINUATION frames. + EndHeaders bool + + // PadLength is the optional number of bytes of zeros to add + // to this frame. + PadLength uint8 + + // Priority, if non-zero, includes stream priority information + // in the HEADER frame. + Priority PriorityParam +} + +// WriteHeaders writes a single HEADERS frame. +// +// This is a low-level header writing method. Encoding headers and +// splitting them into any necessary CONTINUATION frames is handled +// elsewhere. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteHeaders(p HeadersFrameParam) error { + if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if p.PadLength != 0 { + flags |= FlagHeadersPadded + } + if p.EndStream { + flags |= FlagHeadersEndStream + } + if p.EndHeaders { + flags |= FlagHeadersEndHeaders + } + if !p.Priority.IsZero() { + flags |= FlagHeadersPriority + } + f.startWrite(FrameHeaders, flags, p.StreamID) + if p.PadLength != 0 { + f.writeByte(p.PadLength) + } + if !p.Priority.IsZero() { + v := p.Priority.StreamDep + if !validStreamIDOrZero(v) && !f.AllowIllegalWrites { + return errDepStreamID + } + if p.Priority.Exclusive { + v |= 1 << 31 + } + f.writeUint32(v) + f.writeByte(p.Priority.Weight) + } + f.wbuf = append(f.wbuf, p.BlockFragment...) + f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) + return f.endWrite() +} + +// A PriorityFrame specifies the sender-advised priority of a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.3 +type PriorityFrame struct { + FrameHeader + PriorityParam +} + +// PriorityParam are the stream prioritzation parameters. +type PriorityParam struct { + // StreamDep is a 31-bit stream identifier for the + // stream that this stream depends on. Zero means no + // dependency. + StreamDep uint32 + + // Exclusive is whether the dependency is exclusive. + Exclusive bool + + // Weight is the stream's zero-indexed weight. It should be + // set together with StreamDep, or neither should be set. Per + // the spec, "Add one to the value to obtain a weight between + // 1 and 256." + Weight uint8 +} + +func (p PriorityParam) IsZero() bool { + return p == PriorityParam{} +} + +func parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { + if fh.StreamID == 0 { + return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"} + } + if len(payload) != 5 { + return nil, connError{ErrCodeFrameSize, fmt.Sprintf("PRIORITY frame payload size was %d; want 5", len(payload))} + } + v := binary.BigEndian.Uint32(payload[:4]) + streamID := v & 0x7fffffff // mask off high bit + return &PriorityFrame{ + FrameHeader: fh, + PriorityParam: PriorityParam{ + Weight: payload[4], + StreamDep: streamID, + Exclusive: streamID != v, // was high bit set? + }, + }, nil +} + +// WritePriority writes a PRIORITY frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WritePriority(streamID uint32, p PriorityParam) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + if !validStreamIDOrZero(p.StreamDep) { + return errDepStreamID + } + f.startWrite(FramePriority, 0, streamID) + v := p.StreamDep + if p.Exclusive { + v |= 1 << 31 + } + f.writeUint32(v) + f.writeByte(p.Weight) + return f.endWrite() +} + +// A RSTStreamFrame allows for abnormal termination of a stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.4 +type RSTStreamFrame struct { + FrameHeader + ErrCode ErrCode +} + +func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if len(p) != 4 { + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID == 0 { + return nil, ConnectionError(ErrCodeProtocol) + } + return &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil +} + +// WriteRSTStream writes a RST_STREAM frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + f.startWrite(FrameRSTStream, 0, streamID) + f.writeUint32(uint32(code)) + return f.endWrite() +} + +// A ContinuationFrame is used to continue a sequence of header block fragments. +// See http://http2.github.io/http2-spec/#rfc.section.6.10 +type ContinuationFrame struct { + FrameHeader + headerFragBuf []byte +} + +func parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { + if fh.StreamID == 0 { + return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"} + } + return &ContinuationFrame{fh, p}, nil +} + +func (f *ContinuationFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *ContinuationFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagContinuationEndHeaders) +} + +// WriteContinuation writes a CONTINUATION frame. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlockFragment []byte) error { + if !validStreamID(streamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if endHeaders { + flags |= FlagContinuationEndHeaders + } + f.startWrite(FrameContinuation, flags, streamID) + f.wbuf = append(f.wbuf, headerBlockFragment...) + return f.endWrite() +} + +// A PushPromiseFrame is used to initiate a server stream. +// See http://http2.github.io/http2-spec/#rfc.section.6.6 +type PushPromiseFrame struct { + FrameHeader + PromiseID uint32 + headerFragBuf []byte // not owned +} + +func (f *PushPromiseFrame) HeaderBlockFragment() []byte { + f.checkValid() + return f.headerFragBuf +} + +func (f *PushPromiseFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders) +} + +func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { + pp := &PushPromiseFrame{ + FrameHeader: fh, + } + if pp.StreamID == 0 { + // PUSH_PROMISE frames MUST be associated with an existing, + // peer-initiated stream. The stream identifier of a + // PUSH_PROMISE frame indicates the stream it is associated + // with. If the stream identifier field specifies the value + // 0x0, a recipient MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + return nil, ConnectionError(ErrCodeProtocol) + } + // The PUSH_PROMISE frame includes optional padding. + // Padding fields and flags are identical to those defined for DATA frames + var padLength uint8 + if fh.Flags.Has(FlagPushPromisePadded) { + if p, padLength, err = readByte(p); err != nil { + return + } + } + + p, pp.PromiseID, err = readUint32(p) + if err != nil { + return + } + pp.PromiseID = pp.PromiseID & (1<<31 - 1) + + if int(padLength) > len(p) { + // like the DATA frame, error out if padding is longer than the body. + return nil, ConnectionError(ErrCodeProtocol) + } + pp.headerFragBuf = p[:len(p)-int(padLength)] + return pp, nil +} + +// PushPromiseParam are the parameters for writing a PUSH_PROMISE frame. +type PushPromiseParam struct { + // StreamID is the required Stream ID to initiate. + StreamID uint32 + + // PromiseID is the required Stream ID which this + // Push Promises + PromiseID uint32 + + // BlockFragment is part (or all) of a Header Block. + BlockFragment []byte + + // EndHeaders indicates that this frame contains an entire + // header block and is not followed by any + // CONTINUATION frames. + EndHeaders bool + + // PadLength is the optional number of bytes of zeros to add + // to this frame. + PadLength uint8 +} + +// WritePushPromise writes a single PushPromise Frame. +// +// As with Header Frames, This is the low level call for writing +// individual frames. Continuation frames are handled elsewhere. +// +// It will perform exactly one Write to the underlying Writer. +// It is the caller's responsibility to not call other Write methods concurrently. +func (f *Framer) WritePushPromise(p PushPromiseParam) error { + if !validStreamID(p.StreamID) && !f.AllowIllegalWrites { + return errStreamID + } + var flags Flags + if p.PadLength != 0 { + flags |= FlagPushPromisePadded + } + if p.EndHeaders { + flags |= FlagPushPromiseEndHeaders + } + f.startWrite(FramePushPromise, flags, p.StreamID) + if p.PadLength != 0 { + f.writeByte(p.PadLength) + } + if !validStreamID(p.PromiseID) && !f.AllowIllegalWrites { + return errStreamID + } + f.writeUint32(p.PromiseID) + f.wbuf = append(f.wbuf, p.BlockFragment...) + f.wbuf = append(f.wbuf, padZeros[:p.PadLength]...) + return f.endWrite() +} + +// WriteRawFrame writes a raw frame. This can be used to write +// extension frames unknown to this package. +func (f *Framer) WriteRawFrame(t FrameType, flags Flags, streamID uint32, payload []byte) error { + f.startWrite(t, flags, streamID) + f.writeBytes(payload) + return f.endWrite() +} + +func readByte(p []byte) (remain []byte, b byte, err error) { + if len(p) == 0 { + return nil, 0, io.ErrUnexpectedEOF + } + return p[1:], p[0], nil +} + +func readUint32(p []byte) (remain []byte, v uint32, err error) { + if len(p) < 4 { + return nil, 0, io.ErrUnexpectedEOF + } + return p[4:], binary.BigEndian.Uint32(p[:4]), nil +} + +type streamEnder interface { + StreamEnded() bool +} + +type headersEnder interface { + HeadersEnded() bool +} + +type headersOrContinuation interface { + headersEnder + HeaderBlockFragment() []byte +} + +// A MetaHeadersFrame is the representation of one HEADERS frame and +// zero or more contiguous CONTINUATION frames and the decoding of +// their HPACK-encoded contents. +// +// This type of frame does not appear on the wire and is only returned +// by the Framer when Framer.ReadMetaHeaders is set. +type MetaHeadersFrame struct { + *HeadersFrame + + // Fields are the fields contained in the HEADERS and + // CONTINUATION frames. The underlying slice is owned by the + // Framer and must not be retained after the next call to + // ReadFrame. + // + // Fields are guaranteed to be in the correct http2 order and + // not have unknown pseudo header fields or invalid header + // field names or values. Required pseudo header fields may be + // missing, however. Use the MetaHeadersFrame.Pseudo accessor + // method access pseudo headers. + Fields []hpack.HeaderField + + // Truncated is whether the max header list size limit was hit + // and Fields is incomplete. The hpack decoder state is still + // valid, however. + Truncated bool +} + +// PseudoValue returns the given pseudo header field's value. +// The provided pseudo field should not contain the leading colon. +func (mh *MetaHeadersFrame) PseudoValue(pseudo string) string { + for _, hf := range mh.Fields { + if !hf.IsPseudo() { + return "" + } + if hf.Name[1:] == pseudo { + return hf.Value + } + } + return "" +} + +// RegularFields returns the regular (non-pseudo) header fields of mh. +// The caller does not own the returned slice. +func (mh *MetaHeadersFrame) RegularFields() []hpack.HeaderField { + for i, hf := range mh.Fields { + if !hf.IsPseudo() { + return mh.Fields[i:] + } + } + return nil +} + +// PseudoFields returns the pseudo header fields of mh. +// The caller does not own the returned slice. +func (mh *MetaHeadersFrame) PseudoFields() []hpack.HeaderField { + for i, hf := range mh.Fields { + if !hf.IsPseudo() { + return mh.Fields[:i] + } + } + return mh.Fields +} + +func (mh *MetaHeadersFrame) checkPseudos() error { + var isRequest, isResponse bool + pf := mh.PseudoFields() + for i, hf := range pf { + switch hf.Name { + case ":method", ":path", ":scheme", ":authority": + isRequest = true + case ":status": + isResponse = true + default: + return pseudoHeaderError(hf.Name) + } + // Check for duplicates. + // This would be a bad algorithm, but N is 4. + // And this doesn't allocate. + for _, hf2 := range pf[:i] { + if hf.Name == hf2.Name { + return duplicatePseudoHeaderError(hf.Name) + } + } + } + if isRequest && isResponse { + return errMixPseudoHeaderTypes + } + return nil +} + +func (fr *Framer) maxHeaderStringLen() int { + v := fr.maxHeaderListSize() + if uint32(int(v)) == v { + return int(v) + } + // They had a crazy big number for MaxHeaderBytes anyway, + // so give them unlimited header lengths: + return 0 +} + +// readMetaFrame returns 0 or more CONTINUATION frames from fr and +// merge them into into the provided hf and returns a MetaHeadersFrame +// with the decoded hpack values. +func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { + if fr.AllowIllegalReads { + return nil, errors.New("illegal use of AllowIllegalReads with ReadMetaHeaders") + } + mh := &MetaHeadersFrame{ + HeadersFrame: hf, + } + var remainSize = fr.maxHeaderListSize() + var sawRegular bool + + var invalid error // pseudo header field errors + hdec := fr.ReadMetaHeaders + hdec.SetEmitEnabled(true) + hdec.SetMaxStringLength(fr.maxHeaderStringLen()) + hdec.SetEmitFunc(func(hf hpack.HeaderField) { + if VerboseLogs && fr.logReads { + fr.debugReadLoggerf("http2: decoded hpack field %+v", hf) + } + if !httplex.ValidHeaderFieldValue(hf.Value) { + invalid = headerFieldValueError(hf.Value) + } + isPseudo := strings.HasPrefix(hf.Name, ":") + if isPseudo { + if sawRegular { + invalid = errPseudoAfterRegular + } + } else { + sawRegular = true + if !validWireHeaderFieldName(hf.Name) { + invalid = headerFieldNameError(hf.Name) + } + } + + if invalid != nil { + hdec.SetEmitEnabled(false) + return + } + + size := hf.Size() + if size > remainSize { + hdec.SetEmitEnabled(false) + mh.Truncated = true + return + } + remainSize -= size + + mh.Fields = append(mh.Fields, hf) + }) + // Lose reference to MetaHeadersFrame: + defer hdec.SetEmitFunc(func(hf hpack.HeaderField) {}) + + var hc headersOrContinuation = hf + for { + frag := hc.HeaderBlockFragment() + if _, err := hdec.Write(frag); err != nil { + return nil, ConnectionError(ErrCodeCompression) + } + + if hc.HeadersEnded() { + break + } + if f, err := fr.ReadFrame(); err != nil { + return nil, err + } else { + hc = f.(*ContinuationFrame) // guaranteed by checkFrameOrder + } + } + + mh.HeadersFrame.headerFragBuf = nil + mh.HeadersFrame.invalidate() + + if err := hdec.Close(); err != nil { + return nil, ConnectionError(ErrCodeCompression) + } + if invalid != nil { + fr.errDetail = invalid + if VerboseLogs { + log.Printf("http2: invalid header: %v", invalid) + } + return nil, StreamError{mh.StreamID, ErrCodeProtocol, invalid} + } + if err := mh.checkPseudos(); err != nil { + fr.errDetail = err + if VerboseLogs { + log.Printf("http2: invalid pseudo headers: %v", err) + } + return nil, StreamError{mh.StreamID, ErrCodeProtocol, err} + } + return mh, nil +} + +func summarizeFrame(f Frame) string { + var buf bytes.Buffer + f.Header().writeDebug(&buf) + switch f := f.(type) { + case *SettingsFrame: + n := 0 + f.ForeachSetting(func(s Setting) error { + n++ + if n == 1 { + buf.WriteString(", settings:") + } + fmt.Fprintf(&buf, " %v=%v,", s.ID, s.Val) + return nil + }) + if n > 0 { + buf.Truncate(buf.Len() - 1) // remove trailing comma + } + case *DataFrame: + data := f.Data() + const max = 256 + if len(data) > max { + data = data[:max] + } + fmt.Fprintf(&buf, " data=%q", data) + if len(f.Data()) > max { + fmt.Fprintf(&buf, " (%d bytes omitted)", len(f.Data())-max) + } + case *WindowUpdateFrame: + if f.StreamID == 0 { + buf.WriteString(" (conn)") + } + fmt.Fprintf(&buf, " incr=%v", f.Increment) + case *PingFrame: + fmt.Fprintf(&buf, " ping=%q", f.Data[:]) + case *GoAwayFrame: + fmt.Fprintf(&buf, " LastStreamID=%v ErrCode=%v Debug=%q", + f.LastStreamID, f.ErrCode, f.debugData) + case *RSTStreamFrame: + fmt.Fprintf(&buf, " ErrCode=%v", f.ErrCode) + } + return buf.String() +} diff --git a/vendor/golang.org/x/net/http2/go16.go b/vendor/golang.org/x/net/http2/go16.go new file mode 100644 index 000000000000..00b2e9e3cf3a --- /dev/null +++ b/vendor/golang.org/x/net/http2/go16.go @@ -0,0 +1,16 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.6 + +package http2 + +import ( + "net/http" + "time" +) + +func transportExpectContinueTimeout(t1 *http.Transport) time.Duration { + return t1.ExpectContinueTimeout +} diff --git a/vendor/golang.org/x/net/http2/go17.go b/vendor/golang.org/x/net/http2/go17.go new file mode 100644 index 000000000000..47b7fae081a3 --- /dev/null +++ b/vendor/golang.org/x/net/http2/go17.go @@ -0,0 +1,106 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package http2 + +import ( + "context" + "net" + "net/http" + "net/http/httptrace" + "time" +) + +type contextContext interface { + context.Context +} + +func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) { + ctx, cancel = context.WithCancel(context.Background()) + ctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr()) + if hs := opts.baseConfig(); hs != nil { + ctx = context.WithValue(ctx, http.ServerContextKey, hs) + } + return +} + +func contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) { + return context.WithCancel(ctx) +} + +func requestWithContext(req *http.Request, ctx contextContext) *http.Request { + return req.WithContext(ctx) +} + +type clientTrace httptrace.ClientTrace + +func reqContext(r *http.Request) context.Context { return r.Context() } + +func (t *Transport) idleConnTimeout() time.Duration { + if t.t1 != nil { + return t.t1.IdleConnTimeout + } + return 0 +} + +func setResponseUncompressed(res *http.Response) { res.Uncompressed = true } + +func traceGotConn(req *http.Request, cc *ClientConn) { + trace := httptrace.ContextClientTrace(req.Context()) + if trace == nil || trace.GotConn == nil { + return + } + ci := httptrace.GotConnInfo{Conn: cc.tconn} + cc.mu.Lock() + ci.Reused = cc.nextStreamID > 1 + ci.WasIdle = len(cc.streams) == 0 && ci.Reused + if ci.WasIdle && !cc.lastActive.IsZero() { + ci.IdleTime = time.Now().Sub(cc.lastActive) + } + cc.mu.Unlock() + + trace.GotConn(ci) +} + +func traceWroteHeaders(trace *clientTrace) { + if trace != nil && trace.WroteHeaders != nil { + trace.WroteHeaders() + } +} + +func traceGot100Continue(trace *clientTrace) { + if trace != nil && trace.Got100Continue != nil { + trace.Got100Continue() + } +} + +func traceWait100Continue(trace *clientTrace) { + if trace != nil && trace.Wait100Continue != nil { + trace.Wait100Continue() + } +} + +func traceWroteRequest(trace *clientTrace, err error) { + if trace != nil && trace.WroteRequest != nil { + trace.WroteRequest(httptrace.WroteRequestInfo{Err: err}) + } +} + +func traceFirstResponseByte(trace *clientTrace) { + if trace != nil && trace.GotFirstResponseByte != nil { + trace.GotFirstResponseByte() + } +} + +func requestTrace(req *http.Request) *clientTrace { + trace := httptrace.ContextClientTrace(req.Context()) + return (*clientTrace)(trace) +} + +// Ping sends a PING frame to the server and waits for the ack. +func (cc *ClientConn) Ping(ctx context.Context) error { + return cc.ping(ctx) +} diff --git a/vendor/golang.org/x/net/http2/go17_not18.go b/vendor/golang.org/x/net/http2/go17_not18.go new file mode 100644 index 000000000000..b4c52ecec3be --- /dev/null +++ b/vendor/golang.org/x/net/http2/go17_not18.go @@ -0,0 +1,36 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,!go1.8 + +package http2 + +import "crypto/tls" + +// temporary copy of Go 1.7's private tls.Config.clone: +func cloneTLSConfig(c *tls.Config) *tls.Config { + return &tls.Config{ + Rand: c.Rand, + Time: c.Time, + Certificates: c.Certificates, + NameToCertificate: c.NameToCertificate, + GetCertificate: c.GetCertificate, + RootCAs: c.RootCAs, + NextProtos: c.NextProtos, + ServerName: c.ServerName, + ClientAuth: c.ClientAuth, + ClientCAs: c.ClientCAs, + InsecureSkipVerify: c.InsecureSkipVerify, + CipherSuites: c.CipherSuites, + PreferServerCipherSuites: c.PreferServerCipherSuites, + SessionTicketsDisabled: c.SessionTicketsDisabled, + SessionTicketKey: c.SessionTicketKey, + ClientSessionCache: c.ClientSessionCache, + MinVersion: c.MinVersion, + MaxVersion: c.MaxVersion, + CurvePreferences: c.CurvePreferences, + DynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled, + Renegotiation: c.Renegotiation, + } +} diff --git a/vendor/golang.org/x/net/http2/go18.go b/vendor/golang.org/x/net/http2/go18.go new file mode 100644 index 000000000000..4f30d228a889 --- /dev/null +++ b/vendor/golang.org/x/net/http2/go18.go @@ -0,0 +1,56 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.8 + +package http2 + +import ( + "crypto/tls" + "io" + "net/http" +) + +func cloneTLSConfig(c *tls.Config) *tls.Config { + c2 := c.Clone() + c2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264 + return c2 +} + +var _ http.Pusher = (*responseWriter)(nil) + +// Push implements http.Pusher. +func (w *responseWriter) Push(target string, opts *http.PushOptions) error { + internalOpts := pushOptions{} + if opts != nil { + internalOpts.Method = opts.Method + internalOpts.Header = opts.Header + } + return w.push(target, internalOpts) +} + +func configureServer18(h1 *http.Server, h2 *Server) error { + if h2.IdleTimeout == 0 { + if h1.IdleTimeout != 0 { + h2.IdleTimeout = h1.IdleTimeout + } else { + h2.IdleTimeout = h1.ReadTimeout + } + } + return nil +} + +func shouldLogPanic(panicValue interface{}) bool { + return panicValue != nil && panicValue != http.ErrAbortHandler +} + +func reqGetBody(req *http.Request) func() (io.ReadCloser, error) { + return req.GetBody +} + +func reqBodyIsNoBody(body io.ReadCloser) bool { + return body == http.NoBody +} + +func go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only diff --git a/vendor/golang.org/x/net/http2/go19.go b/vendor/golang.org/x/net/http2/go19.go new file mode 100644 index 000000000000..38124ba56e25 --- /dev/null +++ b/vendor/golang.org/x/net/http2/go19.go @@ -0,0 +1,16 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package http2 + +import ( + "net/http" +) + +func configureServer19(s *http.Server, conf *Server) error { + s.RegisterOnShutdown(conf.state.startGracefulShutdown) + return nil +} diff --git a/vendor/golang.org/x/net/http2/gotrack.go b/vendor/golang.org/x/net/http2/gotrack.go new file mode 100644 index 000000000000..9933c9f8c748 --- /dev/null +++ b/vendor/golang.org/x/net/http2/gotrack.go @@ -0,0 +1,170 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Defensive debug-only utility to track that functions run on the +// goroutine that they're supposed to. + +package http2 + +import ( + "bytes" + "errors" + "fmt" + "os" + "runtime" + "strconv" + "sync" +) + +var DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1" + +type goroutineLock uint64 + +func newGoroutineLock() goroutineLock { + if !DebugGoroutines { + return 0 + } + return goroutineLock(curGoroutineID()) +} + +func (g goroutineLock) check() { + if !DebugGoroutines { + return + } + if curGoroutineID() != uint64(g) { + panic("running on the wrong goroutine") + } +} + +func (g goroutineLock) checkNotOn() { + if !DebugGoroutines { + return + } + if curGoroutineID() == uint64(g) { + panic("running on the wrong goroutine") + } +} + +var goroutineSpace = []byte("goroutine ") + +func curGoroutineID() uint64 { + bp := littleBuf.Get().(*[]byte) + defer littleBuf.Put(bp) + b := *bp + b = b[:runtime.Stack(b, false)] + // Parse the 4707 out of "goroutine 4707 [" + b = bytes.TrimPrefix(b, goroutineSpace) + i := bytes.IndexByte(b, ' ') + if i < 0 { + panic(fmt.Sprintf("No space found in %q", b)) + } + b = b[:i] + n, err := parseUintBytes(b, 10, 64) + if err != nil { + panic(fmt.Sprintf("Failed to parse goroutine ID out of %q: %v", b, err)) + } + return n +} + +var littleBuf = sync.Pool{ + New: func() interface{} { + buf := make([]byte, 64) + return &buf + }, +} + +// parseUintBytes is like strconv.ParseUint, but using a []byte. +func parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) { + var cutoff, maxVal uint64 + + if bitSize == 0 { + bitSize = int(strconv.IntSize) + } + + s0 := s + switch { + case len(s) < 1: + err = strconv.ErrSyntax + goto Error + + case 2 <= base && base <= 36: + // valid base; nothing to do + + case base == 0: + // Look for octal, hex prefix. + switch { + case s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'): + base = 16 + s = s[2:] + if len(s) < 1 { + err = strconv.ErrSyntax + goto Error + } + case s[0] == '0': + base = 8 + default: + base = 10 + } + + default: + err = errors.New("invalid base " + strconv.Itoa(base)) + goto Error + } + + n = 0 + cutoff = cutoff64(base) + maxVal = 1<= base { + n = 0 + err = strconv.ErrSyntax + goto Error + } + + if n >= cutoff { + // n*base overflows + n = 1<<64 - 1 + err = strconv.ErrRange + goto Error + } + n *= uint64(base) + + n1 := n + uint64(v) + if n1 < n || n1 > maxVal { + // n+v overflows + n = 1<<64 - 1 + err = strconv.ErrRange + goto Error + } + n = n1 + } + + return n, nil + +Error: + return n, &strconv.NumError{Func: "ParseUint", Num: string(s0), Err: err} +} + +// Return the first number n such that n*base >= 1<<64. +func cutoff64(base int) uint64 { + if base < 2 { + return 0 + } + return (1<<64-1)/uint64(base) + 1 +} diff --git a/vendor/golang.org/x/net/http2/headermap.go b/vendor/golang.org/x/net/http2/headermap.go new file mode 100644 index 000000000000..c2805f6ac4d5 --- /dev/null +++ b/vendor/golang.org/x/net/http2/headermap.go @@ -0,0 +1,78 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "net/http" + "strings" +) + +var ( + commonLowerHeader = map[string]string{} // Go-Canonical-Case -> lower-case + commonCanonHeader = map[string]string{} // lower-case -> Go-Canonical-Case +) + +func init() { + for _, v := range []string{ + "accept", + "accept-charset", + "accept-encoding", + "accept-language", + "accept-ranges", + "age", + "access-control-allow-origin", + "allow", + "authorization", + "cache-control", + "content-disposition", + "content-encoding", + "content-language", + "content-length", + "content-location", + "content-range", + "content-type", + "cookie", + "date", + "etag", + "expect", + "expires", + "from", + "host", + "if-match", + "if-modified-since", + "if-none-match", + "if-unmodified-since", + "last-modified", + "link", + "location", + "max-forwards", + "proxy-authenticate", + "proxy-authorization", + "range", + "referer", + "refresh", + "retry-after", + "server", + "set-cookie", + "strict-transport-security", + "trailer", + "transfer-encoding", + "user-agent", + "vary", + "via", + "www-authenticate", + } { + chk := http.CanonicalHeaderKey(v) + commonLowerHeader[chk] = v + commonCanonHeader[v] = chk + } +} + +func lowerHeader(v string) string { + if s, ok := commonLowerHeader[v]; ok { + return s + } + return strings.ToLower(v) +} diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go new file mode 100644 index 000000000000..54726c2a3c52 --- /dev/null +++ b/vendor/golang.org/x/net/http2/hpack/encode.go @@ -0,0 +1,240 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "io" +) + +const ( + uint32Max = ^uint32(0) + initialHeaderTableSize = 4096 +) + +type Encoder struct { + dynTab dynamicTable + // minSize is the minimum table size set by + // SetMaxDynamicTableSize after the previous Header Table Size + // Update. + minSize uint32 + // maxSizeLimit is the maximum table size this encoder + // supports. This will protect the encoder from too large + // size. + maxSizeLimit uint32 + // tableSizeUpdate indicates whether "Header Table Size + // Update" is required. + tableSizeUpdate bool + w io.Writer + buf []byte +} + +// NewEncoder returns a new Encoder which performs HPACK encoding. An +// encoded data is written to w. +func NewEncoder(w io.Writer) *Encoder { + e := &Encoder{ + minSize: uint32Max, + maxSizeLimit: initialHeaderTableSize, + tableSizeUpdate: false, + w: w, + } + e.dynTab.table.init() + e.dynTab.setMaxSize(initialHeaderTableSize) + return e +} + +// WriteField encodes f into a single Write to e's underlying Writer. +// This function may also produce bytes for "Header Table Size Update" +// if necessary. If produced, it is done before encoding f. +func (e *Encoder) WriteField(f HeaderField) error { + e.buf = e.buf[:0] + + if e.tableSizeUpdate { + e.tableSizeUpdate = false + if e.minSize < e.dynTab.maxSize { + e.buf = appendTableSize(e.buf, e.minSize) + } + e.minSize = uint32Max + e.buf = appendTableSize(e.buf, e.dynTab.maxSize) + } + + idx, nameValueMatch := e.searchTable(f) + if nameValueMatch { + e.buf = appendIndexed(e.buf, idx) + } else { + indexing := e.shouldIndex(f) + if indexing { + e.dynTab.add(f) + } + + if idx == 0 { + e.buf = appendNewName(e.buf, f, indexing) + } else { + e.buf = appendIndexedName(e.buf, f, idx, indexing) + } + } + n, err := e.w.Write(e.buf) + if err == nil && n != len(e.buf) { + err = io.ErrShortWrite + } + return err +} + +// searchTable searches f in both stable and dynamic header tables. +// The static header table is searched first. Only when there is no +// exact match for both name and value, the dynamic header table is +// then searched. If there is no match, i is 0. If both name and value +// match, i is the matched index and nameValueMatch becomes true. If +// only name matches, i points to that index and nameValueMatch +// becomes false. +func (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) { + i, nameValueMatch = staticTable.search(f) + if nameValueMatch { + return i, true + } + + j, nameValueMatch := e.dynTab.table.search(f) + if nameValueMatch || (i == 0 && j != 0) { + return j + uint64(staticTable.len()), nameValueMatch + } + + return i, false +} + +// SetMaxDynamicTableSize changes the dynamic header table size to v. +// The actual size is bounded by the value passed to +// SetMaxDynamicTableSizeLimit. +func (e *Encoder) SetMaxDynamicTableSize(v uint32) { + if v > e.maxSizeLimit { + v = e.maxSizeLimit + } + if v < e.minSize { + e.minSize = v + } + e.tableSizeUpdate = true + e.dynTab.setMaxSize(v) +} + +// SetMaxDynamicTableSizeLimit changes the maximum value that can be +// specified in SetMaxDynamicTableSize to v. By default, it is set to +// 4096, which is the same size of the default dynamic header table +// size described in HPACK specification. If the current maximum +// dynamic header table size is strictly greater than v, "Header Table +// Size Update" will be done in the next WriteField call and the +// maximum dynamic header table size is truncated to v. +func (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) { + e.maxSizeLimit = v + if e.dynTab.maxSize > v { + e.tableSizeUpdate = true + e.dynTab.setMaxSize(v) + } +} + +// shouldIndex reports whether f should be indexed. +func (e *Encoder) shouldIndex(f HeaderField) bool { + return !f.Sensitive && f.Size() <= e.dynTab.maxSize +} + +// appendIndexed appends index i, as encoded in "Indexed Header Field" +// representation, to dst and returns the extended buffer. +func appendIndexed(dst []byte, i uint64) []byte { + first := len(dst) + dst = appendVarInt(dst, 7, i) + dst[first] |= 0x80 + return dst +} + +// appendNewName appends f, as encoded in one of "Literal Header field +// - New Name" representation variants, to dst and returns the +// extended buffer. +// +// If f.Sensitive is true, "Never Indexed" representation is used. If +// f.Sensitive is false and indexing is true, "Inremental Indexing" +// representation is used. +func appendNewName(dst []byte, f HeaderField, indexing bool) []byte { + dst = append(dst, encodeTypeByte(indexing, f.Sensitive)) + dst = appendHpackString(dst, f.Name) + return appendHpackString(dst, f.Value) +} + +// appendIndexedName appends f and index i referring indexed name +// entry, as encoded in one of "Literal Header field - Indexed Name" +// representation variants, to dst and returns the extended buffer. +// +// If f.Sensitive is true, "Never Indexed" representation is used. If +// f.Sensitive is false and indexing is true, "Incremental Indexing" +// representation is used. +func appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte { + first := len(dst) + var n byte + if indexing { + n = 6 + } else { + n = 4 + } + dst = appendVarInt(dst, n, i) + dst[first] |= encodeTypeByte(indexing, f.Sensitive) + return appendHpackString(dst, f.Value) +} + +// appendTableSize appends v, as encoded in "Header Table Size Update" +// representation, to dst and returns the extended buffer. +func appendTableSize(dst []byte, v uint32) []byte { + first := len(dst) + dst = appendVarInt(dst, 5, uint64(v)) + dst[first] |= 0x20 + return dst +} + +// appendVarInt appends i, as encoded in variable integer form using n +// bit prefix, to dst and returns the extended buffer. +// +// See +// http://http2.github.io/http2-spec/compression.html#integer.representation +func appendVarInt(dst []byte, n byte, i uint64) []byte { + k := uint64((1 << n) - 1) + if i < k { + return append(dst, byte(i)) + } + dst = append(dst, byte(k)) + i -= k + for ; i >= 128; i >>= 7 { + dst = append(dst, byte(0x80|(i&0x7f))) + } + return append(dst, byte(i)) +} + +// appendHpackString appends s, as encoded in "String Literal" +// representation, to dst and returns the the extended buffer. +// +// s will be encoded in Huffman codes only when it produces strictly +// shorter byte string. +func appendHpackString(dst []byte, s string) []byte { + huffmanLength := HuffmanEncodeLength(s) + if huffmanLength < uint64(len(s)) { + first := len(dst) + dst = appendVarInt(dst, 7, huffmanLength) + dst = AppendHuffmanString(dst, s) + dst[first] |= 0x80 + } else { + dst = appendVarInt(dst, 7, uint64(len(s))) + dst = append(dst, s...) + } + return dst +} + +// encodeTypeByte returns type byte. If sensitive is true, type byte +// for "Never Indexed" representation is returned. If sensitive is +// false and indexing is true, type byte for "Incremental Indexing" +// representation is returned. Otherwise, type byte for "Without +// Indexing" is returned. +func encodeTypeByte(indexing, sensitive bool) byte { + if sensitive { + return 0x10 + } + if indexing { + return 0x40 + } + return 0 +} diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go new file mode 100644 index 000000000000..176644acdace --- /dev/null +++ b/vendor/golang.org/x/net/http2/hpack/hpack.go @@ -0,0 +1,490 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package hpack implements HPACK, a compression format for +// efficiently representing HTTP header fields in the context of HTTP/2. +// +// See http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09 +package hpack + +import ( + "bytes" + "errors" + "fmt" +) + +// A DecodingError is something the spec defines as a decoding error. +type DecodingError struct { + Err error +} + +func (de DecodingError) Error() string { + return fmt.Sprintf("decoding error: %v", de.Err) +} + +// An InvalidIndexError is returned when an encoder references a table +// entry before the static table or after the end of the dynamic table. +type InvalidIndexError int + +func (e InvalidIndexError) Error() string { + return fmt.Sprintf("invalid indexed representation index %d", int(e)) +} + +// A HeaderField is a name-value pair. Both the name and value are +// treated as opaque sequences of octets. +type HeaderField struct { + Name, Value string + + // Sensitive means that this header field should never be + // indexed. + Sensitive bool +} + +// IsPseudo reports whether the header field is an http2 pseudo header. +// That is, it reports whether it starts with a colon. +// It is not otherwise guaranteed to be a valid pseudo header field, +// though. +func (hf HeaderField) IsPseudo() bool { + return len(hf.Name) != 0 && hf.Name[0] == ':' +} + +func (hf HeaderField) String() string { + var suffix string + if hf.Sensitive { + suffix = " (sensitive)" + } + return fmt.Sprintf("header field %q = %q%s", hf.Name, hf.Value, suffix) +} + +// Size returns the size of an entry per RFC 7541 section 4.1. +func (hf HeaderField) Size() uint32 { + // http://http2.github.io/http2-spec/compression.html#rfc.section.4.1 + // "The size of the dynamic table is the sum of the size of + // its entries. The size of an entry is the sum of its name's + // length in octets (as defined in Section 5.2), its value's + // length in octets (see Section 5.2), plus 32. The size of + // an entry is calculated using the length of the name and + // value without any Huffman encoding applied." + + // This can overflow if somebody makes a large HeaderField + // Name and/or Value by hand, but we don't care, because that + // won't happen on the wire because the encoding doesn't allow + // it. + return uint32(len(hf.Name) + len(hf.Value) + 32) +} + +// A Decoder is the decoding context for incremental processing of +// header blocks. +type Decoder struct { + dynTab dynamicTable + emit func(f HeaderField) + + emitEnabled bool // whether calls to emit are enabled + maxStrLen int // 0 means unlimited + + // buf is the unparsed buffer. It's only written to + // saveBuf if it was truncated in the middle of a header + // block. Because it's usually not owned, we can only + // process it under Write. + buf []byte // not owned; only valid during Write + + // saveBuf is previous data passed to Write which we weren't able + // to fully parse before. Unlike buf, we own this data. + saveBuf bytes.Buffer +} + +// NewDecoder returns a new decoder with the provided maximum dynamic +// table size. The emitFunc will be called for each valid field +// parsed, in the same goroutine as calls to Write, before Write returns. +func NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decoder { + d := &Decoder{ + emit: emitFunc, + emitEnabled: true, + } + d.dynTab.table.init() + d.dynTab.allowedMaxSize = maxDynamicTableSize + d.dynTab.setMaxSize(maxDynamicTableSize) + return d +} + +// ErrStringLength is returned by Decoder.Write when the max string length +// (as configured by Decoder.SetMaxStringLength) would be violated. +var ErrStringLength = errors.New("hpack: string too long") + +// SetMaxStringLength sets the maximum size of a HeaderField name or +// value string. If a string exceeds this length (even after any +// decompression), Write will return ErrStringLength. +// A value of 0 means unlimited and is the default from NewDecoder. +func (d *Decoder) SetMaxStringLength(n int) { + d.maxStrLen = n +} + +// SetEmitFunc changes the callback used when new header fields +// are decoded. +// It must be non-nil. It does not affect EmitEnabled. +func (d *Decoder) SetEmitFunc(emitFunc func(f HeaderField)) { + d.emit = emitFunc +} + +// SetEmitEnabled controls whether the emitFunc provided to NewDecoder +// should be called. The default is true. +// +// This facility exists to let servers enforce MAX_HEADER_LIST_SIZE +// while still decoding and keeping in-sync with decoder state, but +// without doing unnecessary decompression or generating unnecessary +// garbage for header fields past the limit. +func (d *Decoder) SetEmitEnabled(v bool) { d.emitEnabled = v } + +// EmitEnabled reports whether calls to the emitFunc provided to NewDecoder +// are currently enabled. The default is true. +func (d *Decoder) EmitEnabled() bool { return d.emitEnabled } + +// TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their +// underlying buffers for garbage reasons. + +func (d *Decoder) SetMaxDynamicTableSize(v uint32) { + d.dynTab.setMaxSize(v) +} + +// SetAllowedMaxDynamicTableSize sets the upper bound that the encoded +// stream (via dynamic table size updates) may set the maximum size +// to. +func (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) { + d.dynTab.allowedMaxSize = v +} + +type dynamicTable struct { + // http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2 + table headerFieldTable + size uint32 // in bytes + maxSize uint32 // current maxSize + allowedMaxSize uint32 // maxSize may go up to this, inclusive +} + +func (dt *dynamicTable) setMaxSize(v uint32) { + dt.maxSize = v + dt.evict() +} + +func (dt *dynamicTable) add(f HeaderField) { + dt.table.addEntry(f) + dt.size += f.Size() + dt.evict() +} + +// If we're too big, evict old stuff. +func (dt *dynamicTable) evict() { + var n int + for dt.size > dt.maxSize && n < dt.table.len() { + dt.size -= dt.table.ents[n].Size() + n++ + } + dt.table.evictOldest(n) +} + +func (d *Decoder) maxTableIndex() int { + // This should never overflow. RFC 7540 Section 6.5.2 limits the size of + // the dynamic table to 2^32 bytes, where each entry will occupy more than + // one byte. Further, the staticTable has a fixed, small length. + return d.dynTab.table.len() + staticTable.len() +} + +func (d *Decoder) at(i uint64) (hf HeaderField, ok bool) { + // See Section 2.3.3. + if i == 0 { + return + } + if i <= uint64(staticTable.len()) { + return staticTable.ents[i-1], true + } + if i > uint64(d.maxTableIndex()) { + return + } + // In the dynamic table, newer entries have lower indices. + // However, dt.ents[0] is the oldest entry. Hence, dt.ents is + // the reversed dynamic table. + dt := d.dynTab.table + return dt.ents[dt.len()-(int(i)-staticTable.len())], true +} + +// Decode decodes an entire block. +// +// TODO: remove this method and make it incremental later? This is +// easier for debugging now. +func (d *Decoder) DecodeFull(p []byte) ([]HeaderField, error) { + var hf []HeaderField + saveFunc := d.emit + defer func() { d.emit = saveFunc }() + d.emit = func(f HeaderField) { hf = append(hf, f) } + if _, err := d.Write(p); err != nil { + return nil, err + } + if err := d.Close(); err != nil { + return nil, err + } + return hf, nil +} + +func (d *Decoder) Close() error { + if d.saveBuf.Len() > 0 { + d.saveBuf.Reset() + return DecodingError{errors.New("truncated headers")} + } + return nil +} + +func (d *Decoder) Write(p []byte) (n int, err error) { + if len(p) == 0 { + // Prevent state machine CPU attacks (making us redo + // work up to the point of finding out we don't have + // enough data) + return + } + // Only copy the data if we have to. Optimistically assume + // that p will contain a complete header block. + if d.saveBuf.Len() == 0 { + d.buf = p + } else { + d.saveBuf.Write(p) + d.buf = d.saveBuf.Bytes() + d.saveBuf.Reset() + } + + for len(d.buf) > 0 { + err = d.parseHeaderFieldRepr() + if err == errNeedMore { + // Extra paranoia, making sure saveBuf won't + // get too large. All the varint and string + // reading code earlier should already catch + // overlong things and return ErrStringLength, + // but keep this as a last resort. + const varIntOverhead = 8 // conservative + if d.maxStrLen != 0 && int64(len(d.buf)) > 2*(int64(d.maxStrLen)+varIntOverhead) { + return 0, ErrStringLength + } + d.saveBuf.Write(d.buf) + return len(p), nil + } + if err != nil { + break + } + } + return len(p), err +} + +// errNeedMore is an internal sentinel error value that means the +// buffer is truncated and we need to read more data before we can +// continue parsing. +var errNeedMore = errors.New("need more data") + +type indexType int + +const ( + indexedTrue indexType = iota + indexedFalse + indexedNever +) + +func (v indexType) indexed() bool { return v == indexedTrue } +func (v indexType) sensitive() bool { return v == indexedNever } + +// returns errNeedMore if there isn't enough data available. +// any other error is fatal. +// consumes d.buf iff it returns nil. +// precondition: must be called with len(d.buf) > 0 +func (d *Decoder) parseHeaderFieldRepr() error { + b := d.buf[0] + switch { + case b&128 != 0: + // Indexed representation. + // High bit set? + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.1 + return d.parseFieldIndexed() + case b&192 == 64: + // 6.2.1 Literal Header Field with Incremental Indexing + // 0b10xxxxxx: top two bits are 10 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1 + return d.parseFieldLiteral(6, indexedTrue) + case b&240 == 0: + // 6.2.2 Literal Header Field without Indexing + // 0b0000xxxx: top four bits are 0000 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2 + return d.parseFieldLiteral(4, indexedFalse) + case b&240 == 16: + // 6.2.3 Literal Header Field never Indexed + // 0b0001xxxx: top four bits are 0001 + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3 + return d.parseFieldLiteral(4, indexedNever) + case b&224 == 32: + // 6.3 Dynamic Table Size Update + // Top three bits are '001'. + // http://http2.github.io/http2-spec/compression.html#rfc.section.6.3 + return d.parseDynamicTableSizeUpdate() + } + + return DecodingError{errors.New("invalid encoding")} +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseFieldIndexed() error { + buf := d.buf + idx, buf, err := readVarInt(7, buf) + if err != nil { + return err + } + hf, ok := d.at(idx) + if !ok { + return DecodingError{InvalidIndexError(idx)} + } + d.buf = buf + return d.callEmit(HeaderField{Name: hf.Name, Value: hf.Value}) +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseFieldLiteral(n uint8, it indexType) error { + buf := d.buf + nameIdx, buf, err := readVarInt(n, buf) + if err != nil { + return err + } + + var hf HeaderField + wantStr := d.emitEnabled || it.indexed() + if nameIdx > 0 { + ihf, ok := d.at(nameIdx) + if !ok { + return DecodingError{InvalidIndexError(nameIdx)} + } + hf.Name = ihf.Name + } else { + hf.Name, buf, err = d.readString(buf, wantStr) + if err != nil { + return err + } + } + hf.Value, buf, err = d.readString(buf, wantStr) + if err != nil { + return err + } + d.buf = buf + if it.indexed() { + d.dynTab.add(hf) + } + hf.Sensitive = it.sensitive() + return d.callEmit(hf) +} + +func (d *Decoder) callEmit(hf HeaderField) error { + if d.maxStrLen != 0 { + if len(hf.Name) > d.maxStrLen || len(hf.Value) > d.maxStrLen { + return ErrStringLength + } + } + if d.emitEnabled { + d.emit(hf) + } + return nil +} + +// (same invariants and behavior as parseHeaderFieldRepr) +func (d *Decoder) parseDynamicTableSizeUpdate() error { + buf := d.buf + size, buf, err := readVarInt(5, buf) + if err != nil { + return err + } + if size > uint64(d.dynTab.allowedMaxSize) { + return DecodingError{errors.New("dynamic table size update too large")} + } + d.dynTab.setMaxSize(uint32(size)) + d.buf = buf + return nil +} + +var errVarintOverflow = DecodingError{errors.New("varint integer overflow")} + +// readVarInt reads an unsigned variable length integer off the +// beginning of p. n is the parameter as described in +// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1. +// +// n must always be between 1 and 8. +// +// The returned remain buffer is either a smaller suffix of p, or err != nil. +// The error is errNeedMore if p doesn't contain a complete integer. +func readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) { + if n < 1 || n > 8 { + panic("bad n") + } + if len(p) == 0 { + return 0, p, errNeedMore + } + i = uint64(p[0]) + if n < 8 { + i &= (1 << uint64(n)) - 1 + } + if i < (1< 0 { + b := p[0] + p = p[1:] + i += uint64(b&127) << m + if b&128 == 0 { + return i, p, nil + } + m += 7 + if m >= 63 { // TODO: proper overflow check. making this up. + return 0, origP, errVarintOverflow + } + } + return 0, origP, errNeedMore +} + +// readString decodes an hpack string from p. +// +// wantStr is whether s will be used. If false, decompression and +// []byte->string garbage are skipped if s will be ignored +// anyway. This does mean that huffman decoding errors for non-indexed +// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server +// is returning an error anyway, and because they're not indexed, the error +// won't affect the decoding state. +func (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) { + if len(p) == 0 { + return "", p, errNeedMore + } + isHuff := p[0]&128 != 0 + strLen, p, err := readVarInt(7, p) + if err != nil { + return "", p, err + } + if d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) { + return "", nil, ErrStringLength + } + if uint64(len(p)) < strLen { + return "", p, errNeedMore + } + if !isHuff { + if wantStr { + s = string(p[:strLen]) + } + return s, p[strLen:], nil + } + + if wantStr { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() // don't trust others + defer bufPool.Put(buf) + if err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil { + buf.Reset() + return "", nil, err + } + s = buf.String() + buf.Reset() // be nice to GC + } + return s, p[strLen:], nil +} diff --git a/vendor/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go new file mode 100644 index 000000000000..8850e3946770 --- /dev/null +++ b/vendor/golang.org/x/net/http2/hpack/huffman.go @@ -0,0 +1,212 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "bytes" + "errors" + "io" + "sync" +) + +var bufPool = sync.Pool{ + New: func() interface{} { return new(bytes.Buffer) }, +} + +// HuffmanDecode decodes the string in v and writes the expanded +// result to w, returning the number of bytes written to w and the +// Write call's return value. At most one Write call is made. +func HuffmanDecode(w io.Writer, v []byte) (int, error) { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() + defer bufPool.Put(buf) + if err := huffmanDecode(buf, 0, v); err != nil { + return 0, err + } + return w.Write(buf.Bytes()) +} + +// HuffmanDecodeToString decodes the string in v. +func HuffmanDecodeToString(v []byte) (string, error) { + buf := bufPool.Get().(*bytes.Buffer) + buf.Reset() + defer bufPool.Put(buf) + if err := huffmanDecode(buf, 0, v); err != nil { + return "", err + } + return buf.String(), nil +} + +// ErrInvalidHuffman is returned for errors found decoding +// Huffman-encoded strings. +var ErrInvalidHuffman = errors.New("hpack: invalid Huffman-encoded data") + +// huffmanDecode decodes v to buf. +// If maxLen is greater than 0, attempts to write more to buf than +// maxLen bytes will return ErrStringLength. +func huffmanDecode(buf *bytes.Buffer, maxLen int, v []byte) error { + n := rootHuffmanNode + // cur is the bit buffer that has not been fed into n. + // cbits is the number of low order bits in cur that are valid. + // sbits is the number of bits of the symbol prefix being decoded. + cur, cbits, sbits := uint(0), uint8(0), uint8(0) + for _, b := range v { + cur = cur<<8 | uint(b) + cbits += 8 + sbits += 8 + for cbits >= 8 { + idx := byte(cur >> (cbits - 8)) + n = n.children[idx] + if n == nil { + return ErrInvalidHuffman + } + if n.children == nil { + if maxLen != 0 && buf.Len() == maxLen { + return ErrStringLength + } + buf.WriteByte(n.sym) + cbits -= n.codeLen + n = rootHuffmanNode + sbits = cbits + } else { + cbits -= 8 + } + } + } + for cbits > 0 { + n = n.children[byte(cur<<(8-cbits))] + if n == nil { + return ErrInvalidHuffman + } + if n.children != nil || n.codeLen > cbits { + break + } + if maxLen != 0 && buf.Len() == maxLen { + return ErrStringLength + } + buf.WriteByte(n.sym) + cbits -= n.codeLen + n = rootHuffmanNode + sbits = cbits + } + if sbits > 7 { + // Either there was an incomplete symbol, or overlong padding. + // Both are decoding errors per RFC 7541 section 5.2. + return ErrInvalidHuffman + } + if mask := uint(1< 8 { + codeLen -= 8 + i := uint8(code >> codeLen) + if cur.children[i] == nil { + cur.children[i] = newInternalNode() + } + cur = cur.children[i] + } + shift := 8 - codeLen + start, end := int(uint8(code<> (nbits - rembits)) + dst[len(dst)-1] |= t + } + + return dst +} + +// HuffmanEncodeLength returns the number of bytes required to encode +// s in Huffman codes. The result is round up to byte boundary. +func HuffmanEncodeLength(s string) uint64 { + n := uint64(0) + for i := 0; i < len(s); i++ { + n += uint64(huffmanCodeLen[s[i]]) + } + return (n + 7) / 8 +} + +// appendByteToHuffmanCode appends Huffman code for c to dst and +// returns the extended buffer and the remaining bits in the last +// element. The appending is not byte aligned and the remaining bits +// in the last element of dst is given in rembits. +func appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) { + code := huffmanCodes[c] + nbits := huffmanCodeLen[c] + + for { + if rembits > nbits { + t := uint8(code << (rembits - nbits)) + dst[len(dst)-1] |= t + rembits -= nbits + break + } + + t := uint8(code >> (nbits - rembits)) + dst[len(dst)-1] |= t + + nbits -= rembits + rembits = 8 + + if nbits == 0 { + break + } + + dst = append(dst, 0) + } + + return dst, rembits +} diff --git a/vendor/golang.org/x/net/http2/hpack/tables.go b/vendor/golang.org/x/net/http2/hpack/tables.go new file mode 100644 index 000000000000..a66cfbea69d9 --- /dev/null +++ b/vendor/golang.org/x/net/http2/hpack/tables.go @@ -0,0 +1,479 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package hpack + +import ( + "fmt" +) + +// headerFieldTable implements a list of HeaderFields. +// This is used to implement the static and dynamic tables. +type headerFieldTable struct { + // For static tables, entries are never evicted. + // + // For dynamic tables, entries are evicted from ents[0] and added to the end. + // Each entry has a unique id that starts at one and increments for each + // entry that is added. This unique id is stable across evictions, meaning + // it can be used as a pointer to a specific entry. As in hpack, unique ids + // are 1-based. The unique id for ents[k] is k + evictCount + 1. + // + // Zero is not a valid unique id. + // + // evictCount should not overflow in any remotely practical situation. In + // practice, we will have one dynamic table per HTTP/2 connection. If we + // assume a very powerful server that handles 1M QPS per connection and each + // request adds (then evicts) 100 entries from the table, it would still take + // 2M years for evictCount to overflow. + ents []HeaderField + evictCount uint64 + + // byName maps a HeaderField name to the unique id of the newest entry with + // the same name. See above for a definition of "unique id". + byName map[string]uint64 + + // byNameValue maps a HeaderField name/value pair to the unique id of the newest + // entry with the same name and value. See above for a definition of "unique id". + byNameValue map[pairNameValue]uint64 +} + +type pairNameValue struct { + name, value string +} + +func (t *headerFieldTable) init() { + t.byName = make(map[string]uint64) + t.byNameValue = make(map[pairNameValue]uint64) +} + +// len reports the number of entries in the table. +func (t *headerFieldTable) len() int { + return len(t.ents) +} + +// addEntry adds a new entry. +func (t *headerFieldTable) addEntry(f HeaderField) { + id := uint64(t.len()) + t.evictCount + 1 + t.byName[f.Name] = id + t.byNameValue[pairNameValue{f.Name, f.Value}] = id + t.ents = append(t.ents, f) +} + +// evictOldest evicts the n oldest entries in the table. +func (t *headerFieldTable) evictOldest(n int) { + if n > t.len() { + panic(fmt.Sprintf("evictOldest(%v) on table with %v entries", n, t.len())) + } + for k := 0; k < n; k++ { + f := t.ents[k] + id := t.evictCount + uint64(k) + 1 + if t.byName[f.Name] == id { + delete(t.byName, f.Name) + } + if p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id { + delete(t.byNameValue, p) + } + } + copy(t.ents, t.ents[n:]) + for k := t.len() - n; k < t.len(); k++ { + t.ents[k] = HeaderField{} // so strings can be garbage collected + } + t.ents = t.ents[:t.len()-n] + if t.evictCount+uint64(n) < t.evictCount { + panic("evictCount overflow") + } + t.evictCount += uint64(n) +} + +// search finds f in the table. If there is no match, i is 0. +// If both name and value match, i is the matched index and nameValueMatch +// becomes true. If only name matches, i points to that index and +// nameValueMatch becomes false. +// +// The returned index is a 1-based HPACK index. For dynamic tables, HPACK says +// that index 1 should be the newest entry, but t.ents[0] is the oldest entry, +// meaning t.ents is reversed for dynamic tables. Hence, when t is a dynamic +// table, the return value i actually refers to the entry t.ents[t.len()-i]. +// +// All tables are assumed to be a dynamic tables except for the global +// staticTable pointer. +// +// See Section 2.3.3. +func (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) { + if !f.Sensitive { + if id := t.byNameValue[pairNameValue{f.Name, f.Value}]; id != 0 { + return t.idToIndex(id), true + } + } + if id := t.byName[f.Name]; id != 0 { + return t.idToIndex(id), false + } + return 0, false +} + +// idToIndex converts a unique id to an HPACK index. +// See Section 2.3.3. +func (t *headerFieldTable) idToIndex(id uint64) uint64 { + if id <= t.evictCount { + panic(fmt.Sprintf("id (%v) <= evictCount (%v)", id, t.evictCount)) + } + k := id - t.evictCount - 1 // convert id to an index t.ents[k] + if t != staticTable { + return uint64(t.len()) - k // dynamic table + } + return k + 1 +} + +// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B +var staticTable = newStaticTable() +var staticTableEntries = [...]HeaderField{ + {Name: ":authority"}, + {Name: ":method", Value: "GET"}, + {Name: ":method", Value: "POST"}, + {Name: ":path", Value: "/"}, + {Name: ":path", Value: "/index.html"}, + {Name: ":scheme", Value: "http"}, + {Name: ":scheme", Value: "https"}, + {Name: ":status", Value: "200"}, + {Name: ":status", Value: "204"}, + {Name: ":status", Value: "206"}, + {Name: ":status", Value: "304"}, + {Name: ":status", Value: "400"}, + {Name: ":status", Value: "404"}, + {Name: ":status", Value: "500"}, + {Name: "accept-charset"}, + {Name: "accept-encoding", Value: "gzip, deflate"}, + {Name: "accept-language"}, + {Name: "accept-ranges"}, + {Name: "accept"}, + {Name: "access-control-allow-origin"}, + {Name: "age"}, + {Name: "allow"}, + {Name: "authorization"}, + {Name: "cache-control"}, + {Name: "content-disposition"}, + {Name: "content-encoding"}, + {Name: "content-language"}, + {Name: "content-length"}, + {Name: "content-location"}, + {Name: "content-range"}, + {Name: "content-type"}, + {Name: "cookie"}, + {Name: "date"}, + {Name: "etag"}, + {Name: "expect"}, + {Name: "expires"}, + {Name: "from"}, + {Name: "host"}, + {Name: "if-match"}, + {Name: "if-modified-since"}, + {Name: "if-none-match"}, + {Name: "if-range"}, + {Name: "if-unmodified-since"}, + {Name: "last-modified"}, + {Name: "link"}, + {Name: "location"}, + {Name: "max-forwards"}, + {Name: "proxy-authenticate"}, + {Name: "proxy-authorization"}, + {Name: "range"}, + {Name: "referer"}, + {Name: "refresh"}, + {Name: "retry-after"}, + {Name: "server"}, + {Name: "set-cookie"}, + {Name: "strict-transport-security"}, + {Name: "transfer-encoding"}, + {Name: "user-agent"}, + {Name: "vary"}, + {Name: "via"}, + {Name: "www-authenticate"}, +} + +func newStaticTable() *headerFieldTable { + t := &headerFieldTable{} + t.init() + for _, e := range staticTableEntries[:] { + t.addEntry(e) + } + return t +} + +var huffmanCodes = [256]uint32{ + 0x1ff8, + 0x7fffd8, + 0xfffffe2, + 0xfffffe3, + 0xfffffe4, + 0xfffffe5, + 0xfffffe6, + 0xfffffe7, + 0xfffffe8, + 0xffffea, + 0x3ffffffc, + 0xfffffe9, + 0xfffffea, + 0x3ffffffd, + 0xfffffeb, + 0xfffffec, + 0xfffffed, + 0xfffffee, + 0xfffffef, + 0xffffff0, + 0xffffff1, + 0xffffff2, + 0x3ffffffe, + 0xffffff3, + 0xffffff4, + 0xffffff5, + 0xffffff6, + 0xffffff7, + 0xffffff8, + 0xffffff9, + 0xffffffa, + 0xffffffb, + 0x14, + 0x3f8, + 0x3f9, + 0xffa, + 0x1ff9, + 0x15, + 0xf8, + 0x7fa, + 0x3fa, + 0x3fb, + 0xf9, + 0x7fb, + 0xfa, + 0x16, + 0x17, + 0x18, + 0x0, + 0x1, + 0x2, + 0x19, + 0x1a, + 0x1b, + 0x1c, + 0x1d, + 0x1e, + 0x1f, + 0x5c, + 0xfb, + 0x7ffc, + 0x20, + 0xffb, + 0x3fc, + 0x1ffa, + 0x21, + 0x5d, + 0x5e, + 0x5f, + 0x60, + 0x61, + 0x62, + 0x63, + 0x64, + 0x65, + 0x66, + 0x67, + 0x68, + 0x69, + 0x6a, + 0x6b, + 0x6c, + 0x6d, + 0x6e, + 0x6f, + 0x70, + 0x71, + 0x72, + 0xfc, + 0x73, + 0xfd, + 0x1ffb, + 0x7fff0, + 0x1ffc, + 0x3ffc, + 0x22, + 0x7ffd, + 0x3, + 0x23, + 0x4, + 0x24, + 0x5, + 0x25, + 0x26, + 0x27, + 0x6, + 0x74, + 0x75, + 0x28, + 0x29, + 0x2a, + 0x7, + 0x2b, + 0x76, + 0x2c, + 0x8, + 0x9, + 0x2d, + 0x77, + 0x78, + 0x79, + 0x7a, + 0x7b, + 0x7ffe, + 0x7fc, + 0x3ffd, + 0x1ffd, + 0xffffffc, + 0xfffe6, + 0x3fffd2, + 0xfffe7, + 0xfffe8, + 0x3fffd3, + 0x3fffd4, + 0x3fffd5, + 0x7fffd9, + 0x3fffd6, + 0x7fffda, + 0x7fffdb, + 0x7fffdc, + 0x7fffdd, + 0x7fffde, + 0xffffeb, + 0x7fffdf, + 0xffffec, + 0xffffed, + 0x3fffd7, + 0x7fffe0, + 0xffffee, + 0x7fffe1, + 0x7fffe2, + 0x7fffe3, + 0x7fffe4, + 0x1fffdc, + 0x3fffd8, + 0x7fffe5, + 0x3fffd9, + 0x7fffe6, + 0x7fffe7, + 0xffffef, + 0x3fffda, + 0x1fffdd, + 0xfffe9, + 0x3fffdb, + 0x3fffdc, + 0x7fffe8, + 0x7fffe9, + 0x1fffde, + 0x7fffea, + 0x3fffdd, + 0x3fffde, + 0xfffff0, + 0x1fffdf, + 0x3fffdf, + 0x7fffeb, + 0x7fffec, + 0x1fffe0, + 0x1fffe1, + 0x3fffe0, + 0x1fffe2, + 0x7fffed, + 0x3fffe1, + 0x7fffee, + 0x7fffef, + 0xfffea, + 0x3fffe2, + 0x3fffe3, + 0x3fffe4, + 0x7ffff0, + 0x3fffe5, + 0x3fffe6, + 0x7ffff1, + 0x3ffffe0, + 0x3ffffe1, + 0xfffeb, + 0x7fff1, + 0x3fffe7, + 0x7ffff2, + 0x3fffe8, + 0x1ffffec, + 0x3ffffe2, + 0x3ffffe3, + 0x3ffffe4, + 0x7ffffde, + 0x7ffffdf, + 0x3ffffe5, + 0xfffff1, + 0x1ffffed, + 0x7fff2, + 0x1fffe3, + 0x3ffffe6, + 0x7ffffe0, + 0x7ffffe1, + 0x3ffffe7, + 0x7ffffe2, + 0xfffff2, + 0x1fffe4, + 0x1fffe5, + 0x3ffffe8, + 0x3ffffe9, + 0xffffffd, + 0x7ffffe3, + 0x7ffffe4, + 0x7ffffe5, + 0xfffec, + 0xfffff3, + 0xfffed, + 0x1fffe6, + 0x3fffe9, + 0x1fffe7, + 0x1fffe8, + 0x7ffff3, + 0x3fffea, + 0x3fffeb, + 0x1ffffee, + 0x1ffffef, + 0xfffff4, + 0xfffff5, + 0x3ffffea, + 0x7ffff4, + 0x3ffffeb, + 0x7ffffe6, + 0x3ffffec, + 0x3ffffed, + 0x7ffffe7, + 0x7ffffe8, + 0x7ffffe9, + 0x7ffffea, + 0x7ffffeb, + 0xffffffe, + 0x7ffffec, + 0x7ffffed, + 0x7ffffee, + 0x7ffffef, + 0x7fffff0, + 0x3ffffee, +} + +var huffmanCodeLen = [256]uint8{ + 13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28, + 28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6, + 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10, + 13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6, + 15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5, + 6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28, + 20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23, + 24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24, + 22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23, + 21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23, + 26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25, + 19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27, + 20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23, + 26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26, +} diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go new file mode 100644 index 000000000000..d565f40e0c1d --- /dev/null +++ b/vendor/golang.org/x/net/http2/http2.go @@ -0,0 +1,391 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package http2 implements the HTTP/2 protocol. +// +// This package is low-level and intended to be used directly by very +// few people. Most users will use it indirectly through the automatic +// use by the net/http package (from Go 1.6 and later). +// For use in earlier Go versions see ConfigureServer. (Transport support +// requires Go 1.6 or later) +// +// See https://http2.github.io/ for more information on HTTP/2. +// +// See https://http2.golang.org/ for a test server running this code. +// +package http2 // import "golang.org/x/net/http2" + +import ( + "bufio" + "crypto/tls" + "errors" + "fmt" + "io" + "net/http" + "os" + "sort" + "strconv" + "strings" + "sync" + + "golang.org/x/net/lex/httplex" +) + +var ( + VerboseLogs bool + logFrameWrites bool + logFrameReads bool + inTests bool +) + +func init() { + e := os.Getenv("GODEBUG") + if strings.Contains(e, "http2debug=1") { + VerboseLogs = true + } + if strings.Contains(e, "http2debug=2") { + VerboseLogs = true + logFrameWrites = true + logFrameReads = true + } +} + +const ( + // ClientPreface is the string that must be sent by new + // connections from clients. + ClientPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" + + // SETTINGS_MAX_FRAME_SIZE default + // http://http2.github.io/http2-spec/#rfc.section.6.5.2 + initialMaxFrameSize = 16384 + + // NextProtoTLS is the NPN/ALPN protocol negotiated during + // HTTP/2's TLS setup. + NextProtoTLS = "h2" + + // http://http2.github.io/http2-spec/#SettingValues + initialHeaderTableSize = 4096 + + initialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size + + defaultMaxReadFrameSize = 1 << 20 +) + +var ( + clientPreface = []byte(ClientPreface) +) + +type streamState int + +// HTTP/2 stream states. +// +// See http://tools.ietf.org/html/rfc7540#section-5.1. +// +// For simplicity, the server code merges "reserved (local)" into +// "half-closed (remote)". This is one less state transition to track. +// The only downside is that we send PUSH_PROMISEs slightly less +// liberally than allowable. More discussion here: +// https://lists.w3.org/Archives/Public/ietf-http-wg/2016JulSep/0599.html +// +// "reserved (remote)" is omitted since the client code does not +// support server push. +const ( + stateIdle streamState = iota + stateOpen + stateHalfClosedLocal + stateHalfClosedRemote + stateClosed +) + +var stateName = [...]string{ + stateIdle: "Idle", + stateOpen: "Open", + stateHalfClosedLocal: "HalfClosedLocal", + stateHalfClosedRemote: "HalfClosedRemote", + stateClosed: "Closed", +} + +func (st streamState) String() string { + return stateName[st] +} + +// Setting is a setting parameter: which setting it is, and its value. +type Setting struct { + // ID is which setting is being set. + // See http://http2.github.io/http2-spec/#SettingValues + ID SettingID + + // Val is the value. + Val uint32 +} + +func (s Setting) String() string { + return fmt.Sprintf("[%v = %d]", s.ID, s.Val) +} + +// Valid reports whether the setting is valid. +func (s Setting) Valid() error { + // Limits and error codes from 6.5.2 Defined SETTINGS Parameters + switch s.ID { + case SettingEnablePush: + if s.Val != 1 && s.Val != 0 { + return ConnectionError(ErrCodeProtocol) + } + case SettingInitialWindowSize: + if s.Val > 1<<31-1 { + return ConnectionError(ErrCodeFlowControl) + } + case SettingMaxFrameSize: + if s.Val < 16384 || s.Val > 1<<24-1 { + return ConnectionError(ErrCodeProtocol) + } + } + return nil +} + +// A SettingID is an HTTP/2 setting as defined in +// http://http2.github.io/http2-spec/#iana-settings +type SettingID uint16 + +const ( + SettingHeaderTableSize SettingID = 0x1 + SettingEnablePush SettingID = 0x2 + SettingMaxConcurrentStreams SettingID = 0x3 + SettingInitialWindowSize SettingID = 0x4 + SettingMaxFrameSize SettingID = 0x5 + SettingMaxHeaderListSize SettingID = 0x6 +) + +var settingName = map[SettingID]string{ + SettingHeaderTableSize: "HEADER_TABLE_SIZE", + SettingEnablePush: "ENABLE_PUSH", + SettingMaxConcurrentStreams: "MAX_CONCURRENT_STREAMS", + SettingInitialWindowSize: "INITIAL_WINDOW_SIZE", + SettingMaxFrameSize: "MAX_FRAME_SIZE", + SettingMaxHeaderListSize: "MAX_HEADER_LIST_SIZE", +} + +func (s SettingID) String() string { + if v, ok := settingName[s]; ok { + return v + } + return fmt.Sprintf("UNKNOWN_SETTING_%d", uint16(s)) +} + +var ( + errInvalidHeaderFieldName = errors.New("http2: invalid header field name") + errInvalidHeaderFieldValue = errors.New("http2: invalid header field value") +) + +// validWireHeaderFieldName reports whether v is a valid header field +// name (key). See httplex.ValidHeaderName for the base rules. +// +// Further, http2 says: +// "Just as in HTTP/1.x, header field names are strings of ASCII +// characters that are compared in a case-insensitive +// fashion. However, header field names MUST be converted to +// lowercase prior to their encoding in HTTP/2. " +func validWireHeaderFieldName(v string) bool { + if len(v) == 0 { + return false + } + for _, r := range v { + if !httplex.IsTokenRune(r) { + return false + } + if 'A' <= r && r <= 'Z' { + return false + } + } + return true +} + +var httpCodeStringCommon = map[int]string{} // n -> strconv.Itoa(n) + +func init() { + for i := 100; i <= 999; i++ { + if v := http.StatusText(i); v != "" { + httpCodeStringCommon[i] = strconv.Itoa(i) + } + } +} + +func httpCodeString(code int) string { + if s, ok := httpCodeStringCommon[code]; ok { + return s + } + return strconv.Itoa(code) +} + +// from pkg io +type stringWriter interface { + WriteString(s string) (n int, err error) +} + +// A gate lets two goroutines coordinate their activities. +type gate chan struct{} + +func (g gate) Done() { g <- struct{}{} } +func (g gate) Wait() { <-g } + +// A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed). +type closeWaiter chan struct{} + +// Init makes a closeWaiter usable. +// It exists because so a closeWaiter value can be placed inside a +// larger struct and have the Mutex and Cond's memory in the same +// allocation. +func (cw *closeWaiter) Init() { + *cw = make(chan struct{}) +} + +// Close marks the closeWaiter as closed and unblocks any waiters. +func (cw closeWaiter) Close() { + close(cw) +} + +// Wait waits for the closeWaiter to become closed. +func (cw closeWaiter) Wait() { + <-cw +} + +// bufferedWriter is a buffered writer that writes to w. +// Its buffered writer is lazily allocated as needed, to minimize +// idle memory usage with many connections. +type bufferedWriter struct { + w io.Writer // immutable + bw *bufio.Writer // non-nil when data is buffered +} + +func newBufferedWriter(w io.Writer) *bufferedWriter { + return &bufferedWriter{w: w} +} + +// bufWriterPoolBufferSize is the size of bufio.Writer's +// buffers created using bufWriterPool. +// +// TODO: pick a less arbitrary value? this is a bit under +// (3 x typical 1500 byte MTU) at least. Other than that, +// not much thought went into it. +const bufWriterPoolBufferSize = 4 << 10 + +var bufWriterPool = sync.Pool{ + New: func() interface{} { + return bufio.NewWriterSize(nil, bufWriterPoolBufferSize) + }, +} + +func (w *bufferedWriter) Available() int { + if w.bw == nil { + return bufWriterPoolBufferSize + } + return w.bw.Available() +} + +func (w *bufferedWriter) Write(p []byte) (n int, err error) { + if w.bw == nil { + bw := bufWriterPool.Get().(*bufio.Writer) + bw.Reset(w.w) + w.bw = bw + } + return w.bw.Write(p) +} + +func (w *bufferedWriter) Flush() error { + bw := w.bw + if bw == nil { + return nil + } + err := bw.Flush() + bw.Reset(nil) + bufWriterPool.Put(bw) + w.bw = nil + return err +} + +func mustUint31(v int32) uint32 { + if v < 0 || v > 2147483647 { + panic("out of range") + } + return uint32(v) +} + +// bodyAllowedForStatus reports whether a given response status code +// permits a body. See RFC 2616, section 4.4. +func bodyAllowedForStatus(status int) bool { + switch { + case status >= 100 && status <= 199: + return false + case status == 204: + return false + case status == 304: + return false + } + return true +} + +type httpError struct { + msg string + timeout bool +} + +func (e *httpError) Error() string { return e.msg } +func (e *httpError) Timeout() bool { return e.timeout } +func (e *httpError) Temporary() bool { return true } + +var errTimeout error = &httpError{msg: "http2: timeout awaiting response headers", timeout: true} + +type connectionStater interface { + ConnectionState() tls.ConnectionState +} + +var sorterPool = sync.Pool{New: func() interface{} { return new(sorter) }} + +type sorter struct { + v []string // owned by sorter +} + +func (s *sorter) Len() int { return len(s.v) } +func (s *sorter) Swap(i, j int) { s.v[i], s.v[j] = s.v[j], s.v[i] } +func (s *sorter) Less(i, j int) bool { return s.v[i] < s.v[j] } + +// Keys returns the sorted keys of h. +// +// The returned slice is only valid until s used again or returned to +// its pool. +func (s *sorter) Keys(h http.Header) []string { + keys := s.v[:0] + for k := range h { + keys = append(keys, k) + } + s.v = keys + sort.Sort(s) + return keys +} + +func (s *sorter) SortStrings(ss []string) { + // Our sorter works on s.v, which sorter owns, so + // stash it away while we sort the user's buffer. + save := s.v + s.v = ss + sort.Sort(s) + s.v = save +} + +// validPseudoPath reports whether v is a valid :path pseudo-header +// value. It must be either: +// +// *) a non-empty string starting with '/' +// *) the string '*', for OPTIONS requests. +// +// For now this is only used a quick check for deciding when to clean +// up Opaque URLs before sending requests from the Transport. +// See golang.org/issue/16847 +// +// We used to enforce that the path also didn't start with "//", but +// Google's GFE accepts such paths and Chrome sends them, so ignore +// that part of the spec. See golang.org/issue/19103. +func validPseudoPath(v string) bool { + return (len(v) > 0 && v[0] == '/') || v == "*" +} diff --git a/vendor/golang.org/x/net/http2/not_go16.go b/vendor/golang.org/x/net/http2/not_go16.go new file mode 100644 index 000000000000..508cebcc4db2 --- /dev/null +++ b/vendor/golang.org/x/net/http2/not_go16.go @@ -0,0 +1,21 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.6 + +package http2 + +import ( + "net/http" + "time" +) + +func configureTransport(t1 *http.Transport) (*Transport, error) { + return nil, errTransportVersion +} + +func transportExpectContinueTimeout(t1 *http.Transport) time.Duration { + return 0 + +} diff --git a/vendor/golang.org/x/net/http2/not_go17.go b/vendor/golang.org/x/net/http2/not_go17.go new file mode 100644 index 000000000000..140434a791a3 --- /dev/null +++ b/vendor/golang.org/x/net/http2/not_go17.go @@ -0,0 +1,87 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package http2 + +import ( + "crypto/tls" + "net" + "net/http" + "time" +) + +type contextContext interface { + Done() <-chan struct{} + Err() error +} + +type fakeContext struct{} + +func (fakeContext) Done() <-chan struct{} { return nil } +func (fakeContext) Err() error { panic("should not be called") } + +func reqContext(r *http.Request) fakeContext { + return fakeContext{} +} + +func setResponseUncompressed(res *http.Response) { + // Nothing. +} + +type clientTrace struct{} + +func requestTrace(*http.Request) *clientTrace { return nil } +func traceGotConn(*http.Request, *ClientConn) {} +func traceFirstResponseByte(*clientTrace) {} +func traceWroteHeaders(*clientTrace) {} +func traceWroteRequest(*clientTrace, error) {} +func traceGot100Continue(trace *clientTrace) {} +func traceWait100Continue(trace *clientTrace) {} + +func nop() {} + +func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) { + return nil, nop +} + +func contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) { + return ctx, nop +} + +func requestWithContext(req *http.Request, ctx contextContext) *http.Request { + return req +} + +// temporary copy of Go 1.6's private tls.Config.clone: +func cloneTLSConfig(c *tls.Config) *tls.Config { + return &tls.Config{ + Rand: c.Rand, + Time: c.Time, + Certificates: c.Certificates, + NameToCertificate: c.NameToCertificate, + GetCertificate: c.GetCertificate, + RootCAs: c.RootCAs, + NextProtos: c.NextProtos, + ServerName: c.ServerName, + ClientAuth: c.ClientAuth, + ClientCAs: c.ClientCAs, + InsecureSkipVerify: c.InsecureSkipVerify, + CipherSuites: c.CipherSuites, + PreferServerCipherSuites: c.PreferServerCipherSuites, + SessionTicketsDisabled: c.SessionTicketsDisabled, + SessionTicketKey: c.SessionTicketKey, + ClientSessionCache: c.ClientSessionCache, + MinVersion: c.MinVersion, + MaxVersion: c.MaxVersion, + CurvePreferences: c.CurvePreferences, + } +} + +func (cc *ClientConn) Ping(ctx contextContext) error { + return cc.ping(ctx) +} + +func (t *Transport) idleConnTimeout() time.Duration { return 0 } diff --git a/vendor/golang.org/x/net/http2/not_go18.go b/vendor/golang.org/x/net/http2/not_go18.go new file mode 100644 index 000000000000..6f8d3f86fa83 --- /dev/null +++ b/vendor/golang.org/x/net/http2/not_go18.go @@ -0,0 +1,29 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.8 + +package http2 + +import ( + "io" + "net/http" +) + +func configureServer18(h1 *http.Server, h2 *Server) error { + // No IdleTimeout to sync prior to Go 1.8. + return nil +} + +func shouldLogPanic(panicValue interface{}) bool { + return panicValue != nil +} + +func reqGetBody(req *http.Request) func() (io.ReadCloser, error) { + return nil +} + +func reqBodyIsNoBody(io.ReadCloser) bool { return false } + +func go18httpNoBody() io.ReadCloser { return nil } // for tests only diff --git a/vendor/golang.org/x/net/http2/not_go19.go b/vendor/golang.org/x/net/http2/not_go19.go new file mode 100644 index 000000000000..5ae07726b743 --- /dev/null +++ b/vendor/golang.org/x/net/http2/not_go19.go @@ -0,0 +1,16 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.9 + +package http2 + +import ( + "net/http" +) + +func configureServer19(s *http.Server, conf *Server) error { + // not supported prior to go1.9 + return nil +} diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go new file mode 100644 index 000000000000..a6140099cb37 --- /dev/null +++ b/vendor/golang.org/x/net/http2/pipe.go @@ -0,0 +1,163 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "errors" + "io" + "sync" +) + +// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like +// io.Pipe except there are no PipeReader/PipeWriter halves, and the +// underlying buffer is an interface. (io.Pipe is always unbuffered) +type pipe struct { + mu sync.Mutex + c sync.Cond // c.L lazily initialized to &p.mu + b pipeBuffer // nil when done reading + err error // read error once empty. non-nil means closed. + breakErr error // immediate read error (caller doesn't see rest of b) + donec chan struct{} // closed on error + readFn func() // optional code to run in Read before error +} + +type pipeBuffer interface { + Len() int + io.Writer + io.Reader +} + +func (p *pipe) Len() int { + p.mu.Lock() + defer p.mu.Unlock() + if p.b == nil { + return 0 + } + return p.b.Len() +} + +// Read waits until data is available and copies bytes +// from the buffer into p. +func (p *pipe) Read(d []byte) (n int, err error) { + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + for { + if p.breakErr != nil { + return 0, p.breakErr + } + if p.b != nil && p.b.Len() > 0 { + return p.b.Read(d) + } + if p.err != nil { + if p.readFn != nil { + p.readFn() // e.g. copy trailers + p.readFn = nil // not sticky like p.err + } + p.b = nil + return 0, p.err + } + p.c.Wait() + } +} + +var errClosedPipeWrite = errors.New("write on closed buffer") + +// Write copies bytes from p into the buffer and wakes a reader. +// It is an error to write more data than the buffer can hold. +func (p *pipe) Write(d []byte) (n int, err error) { + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + defer p.c.Signal() + if p.err != nil { + return 0, errClosedPipeWrite + } + if p.breakErr != nil { + return len(d), nil // discard when there is no reader + } + return p.b.Write(d) +} + +// CloseWithError causes the next Read (waking up a current blocked +// Read if needed) to return the provided err after all data has been +// read. +// +// The error must be non-nil. +func (p *pipe) CloseWithError(err error) { p.closeWithError(&p.err, err, nil) } + +// BreakWithError causes the next Read (waking up a current blocked +// Read if needed) to return the provided err immediately, without +// waiting for unread data. +func (p *pipe) BreakWithError(err error) { p.closeWithError(&p.breakErr, err, nil) } + +// closeWithErrorAndCode is like CloseWithError but also sets some code to run +// in the caller's goroutine before returning the error. +func (p *pipe) closeWithErrorAndCode(err error, fn func()) { p.closeWithError(&p.err, err, fn) } + +func (p *pipe) closeWithError(dst *error, err error, fn func()) { + if err == nil { + panic("err must be non-nil") + } + p.mu.Lock() + defer p.mu.Unlock() + if p.c.L == nil { + p.c.L = &p.mu + } + defer p.c.Signal() + if *dst != nil { + // Already been done. + return + } + p.readFn = fn + if dst == &p.breakErr { + p.b = nil + } + *dst = err + p.closeDoneLocked() +} + +// requires p.mu be held. +func (p *pipe) closeDoneLocked() { + if p.donec == nil { + return + } + // Close if unclosed. This isn't racy since we always + // hold p.mu while closing. + select { + case <-p.donec: + default: + close(p.donec) + } +} + +// Err returns the error (if any) first set by BreakWithError or CloseWithError. +func (p *pipe) Err() error { + p.mu.Lock() + defer p.mu.Unlock() + if p.breakErr != nil { + return p.breakErr + } + return p.err +} + +// Done returns a channel which is closed if and when this pipe is closed +// with CloseWithError. +func (p *pipe) Done() <-chan struct{} { + p.mu.Lock() + defer p.mu.Unlock() + if p.donec == nil { + p.donec = make(chan struct{}) + if p.err != nil || p.breakErr != nil { + // Already hit an error. + p.closeDoneLocked() + } + } + return p.donec +} diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go new file mode 100644 index 000000000000..eae143ddff10 --- /dev/null +++ b/vendor/golang.org/x/net/http2/server.go @@ -0,0 +1,2857 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO: turn off the serve goroutine when idle, so +// an idle conn only has the readFrames goroutine active. (which could +// also be optimized probably to pin less memory in crypto/tls). This +// would involve tracking when the serve goroutine is active (atomic +// int32 read/CAS probably?) and starting it up when frames arrive, +// and shutting it down when all handlers exit. the occasional PING +// packets could use time.AfterFunc to call sc.wakeStartServeLoop() +// (which is a no-op if already running) and then queue the PING write +// as normal. The serve loop would then exit in most cases (if no +// Handlers running) and not be woken up again until the PING packet +// returns. + +// TODO (maybe): add a mechanism for Handlers to going into +// half-closed-local mode (rw.(io.Closer) test?) but not exit their +// handler, and continue to be able to read from the +// Request.Body. This would be a somewhat semantic change from HTTP/1 +// (or at least what we expose in net/http), so I'd probably want to +// add it there too. For now, this package says that returning from +// the Handler ServeHTTP function means you're both done reading and +// done writing, without a way to stop just one or the other. + +package http2 + +import ( + "bufio" + "bytes" + "crypto/tls" + "errors" + "fmt" + "io" + "log" + "math" + "net" + "net/http" + "net/textproto" + "net/url" + "os" + "reflect" + "runtime" + "strconv" + "strings" + "sync" + "time" + + "golang.org/x/net/http2/hpack" +) + +const ( + prefaceTimeout = 10 * time.Second + firstSettingsTimeout = 2 * time.Second // should be in-flight with preface anyway + handlerChunkWriteSize = 4 << 10 + defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? +) + +var ( + errClientDisconnected = errors.New("client disconnected") + errClosedBody = errors.New("body closed by handler") + errHandlerComplete = errors.New("http2: request body closed due to handler exiting") + errStreamClosed = errors.New("http2: stream closed") +) + +var responseWriterStatePool = sync.Pool{ + New: func() interface{} { + rws := &responseWriterState{} + rws.bw = bufio.NewWriterSize(chunkWriter{rws}, handlerChunkWriteSize) + return rws + }, +} + +// Test hooks. +var ( + testHookOnConn func() + testHookGetServerConn func(*serverConn) + testHookOnPanicMu *sync.Mutex // nil except in tests + testHookOnPanic func(sc *serverConn, panicVal interface{}) (rePanic bool) +) + +// Server is an HTTP/2 server. +type Server struct { + // MaxHandlers limits the number of http.Handler ServeHTTP goroutines + // which may run at a time over all connections. + // Negative or zero no limit. + // TODO: implement + MaxHandlers int + + // MaxConcurrentStreams optionally specifies the number of + // concurrent streams that each client may have open at a + // time. This is unrelated to the number of http.Handler goroutines + // which may be active globally, which is MaxHandlers. + // If zero, MaxConcurrentStreams defaults to at least 100, per + // the HTTP/2 spec's recommendations. + MaxConcurrentStreams uint32 + + // MaxReadFrameSize optionally specifies the largest frame + // this server is willing to read. A valid value is between + // 16k and 16M, inclusive. If zero or otherwise invalid, a + // default value is used. + MaxReadFrameSize uint32 + + // PermitProhibitedCipherSuites, if true, permits the use of + // cipher suites prohibited by the HTTP/2 spec. + PermitProhibitedCipherSuites bool + + // IdleTimeout specifies how long until idle clients should be + // closed with a GOAWAY frame. PING frames are not considered + // activity for the purposes of IdleTimeout. + IdleTimeout time.Duration + + // MaxUploadBufferPerConnection is the size of the initial flow + // control window for each connections. The HTTP/2 spec does not + // allow this to be smaller than 65535 or larger than 2^32-1. + // If the value is outside this range, a default value will be + // used instead. + MaxUploadBufferPerConnection int32 + + // MaxUploadBufferPerStream is the size of the initial flow control + // window for each stream. The HTTP/2 spec does not allow this to + // be larger than 2^32-1. If the value is zero or larger than the + // maximum, a default value will be used instead. + MaxUploadBufferPerStream int32 + + // NewWriteScheduler constructs a write scheduler for a connection. + // If nil, a default scheduler is chosen. + NewWriteScheduler func() WriteScheduler + + // Internal state. This is a pointer (rather than embedded directly) + // so that we don't embed a Mutex in this struct, which will make the + // struct non-copyable, which might break some callers. + state *serverInternalState +} + +func (s *Server) initialConnRecvWindowSize() int32 { + if s.MaxUploadBufferPerConnection > initialWindowSize { + return s.MaxUploadBufferPerConnection + } + return 1 << 20 +} + +func (s *Server) initialStreamRecvWindowSize() int32 { + if s.MaxUploadBufferPerStream > 0 { + return s.MaxUploadBufferPerStream + } + return 1 << 20 +} + +func (s *Server) maxReadFrameSize() uint32 { + if v := s.MaxReadFrameSize; v >= minMaxFrameSize && v <= maxFrameSize { + return v + } + return defaultMaxReadFrameSize +} + +func (s *Server) maxConcurrentStreams() uint32 { + if v := s.MaxConcurrentStreams; v > 0 { + return v + } + return defaultMaxStreams +} + +type serverInternalState struct { + mu sync.Mutex + activeConns map[*serverConn]struct{} +} + +func (s *serverInternalState) registerConn(sc *serverConn) { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + s.activeConns[sc] = struct{}{} + s.mu.Unlock() +} + +func (s *serverInternalState) unregisterConn(sc *serverConn) { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + delete(s.activeConns, sc) + s.mu.Unlock() +} + +func (s *serverInternalState) startGracefulShutdown() { + if s == nil { + return // if the Server was used without calling ConfigureServer + } + s.mu.Lock() + for sc := range s.activeConns { + sc.startGracefulShutdown() + } + s.mu.Unlock() +} + +// ConfigureServer adds HTTP/2 support to a net/http Server. +// +// The configuration conf may be nil. +// +// ConfigureServer must be called before s begins serving. +func ConfigureServer(s *http.Server, conf *Server) error { + if s == nil { + panic("nil *http.Server") + } + if conf == nil { + conf = new(Server) + } + conf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})} + if err := configureServer18(s, conf); err != nil { + return err + } + if err := configureServer19(s, conf); err != nil { + return err + } + + if s.TLSConfig == nil { + s.TLSConfig = new(tls.Config) + } else if s.TLSConfig.CipherSuites != nil { + // If they already provided a CipherSuite list, return + // an error if it has a bad order or is missing + // ECDHE_RSA_WITH_AES_128_GCM_SHA256. + const requiredCipher = tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + haveRequired := false + sawBad := false + for i, cs := range s.TLSConfig.CipherSuites { + if cs == requiredCipher { + haveRequired = true + } + if isBadCipher(cs) { + sawBad = true + } else if sawBad { + return fmt.Errorf("http2: TLSConfig.CipherSuites index %d contains an HTTP/2-approved cipher suite (%#04x), but it comes after unapproved cipher suites. With this configuration, clients that don't support previous, approved cipher suites may be given an unapproved one and reject the connection.", i, cs) + } + } + if !haveRequired { + return fmt.Errorf("http2: TLSConfig.CipherSuites is missing HTTP/2-required TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256") + } + } + + // Note: not setting MinVersion to tls.VersionTLS12, + // as we don't want to interfere with HTTP/1.1 traffic + // on the user's server. We enforce TLS 1.2 later once + // we accept a connection. Ideally this should be done + // during next-proto selection, but using TLS <1.2 with + // HTTP/2 is still the client's bug. + + s.TLSConfig.PreferServerCipherSuites = true + + haveNPN := false + for _, p := range s.TLSConfig.NextProtos { + if p == NextProtoTLS { + haveNPN = true + break + } + } + if !haveNPN { + s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS) + } + + if s.TLSNextProto == nil { + s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){} + } + protoHandler := func(hs *http.Server, c *tls.Conn, h http.Handler) { + if testHookOnConn != nil { + testHookOnConn() + } + conf.ServeConn(c, &ServeConnOpts{ + Handler: h, + BaseConfig: hs, + }) + } + s.TLSNextProto[NextProtoTLS] = protoHandler + return nil +} + +// ServeConnOpts are options for the Server.ServeConn method. +type ServeConnOpts struct { + // BaseConfig optionally sets the base configuration + // for values. If nil, defaults are used. + BaseConfig *http.Server + + // Handler specifies which handler to use for processing + // requests. If nil, BaseConfig.Handler is used. If BaseConfig + // or BaseConfig.Handler is nil, http.DefaultServeMux is used. + Handler http.Handler +} + +func (o *ServeConnOpts) baseConfig() *http.Server { + if o != nil && o.BaseConfig != nil { + return o.BaseConfig + } + return new(http.Server) +} + +func (o *ServeConnOpts) handler() http.Handler { + if o != nil { + if o.Handler != nil { + return o.Handler + } + if o.BaseConfig != nil && o.BaseConfig.Handler != nil { + return o.BaseConfig.Handler + } + } + return http.DefaultServeMux +} + +// ServeConn serves HTTP/2 requests on the provided connection and +// blocks until the connection is no longer readable. +// +// ServeConn starts speaking HTTP/2 assuming that c has not had any +// reads or writes. It writes its initial settings frame and expects +// to be able to read the preface and settings frame from the +// client. If c has a ConnectionState method like a *tls.Conn, the +// ConnectionState is used to verify the TLS ciphersuite and to set +// the Request.TLS field in Handlers. +// +// ServeConn does not support h2c by itself. Any h2c support must be +// implemented in terms of providing a suitably-behaving net.Conn. +// +// The opts parameter is optional. If nil, default values are used. +func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + baseCtx, cancel := serverConnBaseContext(c, opts) + defer cancel() + + sc := &serverConn{ + srv: s, + hs: opts.baseConfig(), + conn: c, + baseCtx: baseCtx, + remoteAddrStr: c.RemoteAddr().String(), + bw: newBufferedWriter(c), + handler: opts.handler(), + streams: make(map[uint32]*stream), + readFrameCh: make(chan readFrameResult), + wantWriteFrameCh: make(chan FrameWriteRequest, 8), + serveMsgCh: make(chan interface{}, 8), + wroteFrameCh: make(chan frameWriteResult, 1), // buffered; one send in writeFrameAsync + bodyReadCh: make(chan bodyReadMsg), // buffering doesn't matter either way + doneServing: make(chan struct{}), + clientMaxStreams: math.MaxUint32, // Section 6.5.2: "Initially, there is no limit to this value" + advMaxStreams: s.maxConcurrentStreams(), + initialStreamSendWindowSize: initialWindowSize, + maxFrameSize: initialMaxFrameSize, + headerTableSize: initialHeaderTableSize, + serveG: newGoroutineLock(), + pushEnabled: true, + } + + s.state.registerConn(sc) + defer s.state.unregisterConn(sc) + + // The net/http package sets the write deadline from the + // http.Server.WriteTimeout during the TLS handshake, but then + // passes the connection off to us with the deadline already set. + // Write deadlines are set per stream in serverConn.newStream. + // Disarm the net.Conn write deadline here. + if sc.hs.WriteTimeout != 0 { + sc.conn.SetWriteDeadline(time.Time{}) + } + + if s.NewWriteScheduler != nil { + sc.writeSched = s.NewWriteScheduler() + } else { + sc.writeSched = NewRandomWriteScheduler() + } + + // These start at the RFC-specified defaults. If there is a higher + // configured value for inflow, that will be updated when we send a + // WINDOW_UPDATE shortly after sending SETTINGS. + sc.flow.add(initialWindowSize) + sc.inflow.add(initialWindowSize) + sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf) + + fr := NewFramer(sc.bw, c) + fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + fr.MaxHeaderListSize = sc.maxHeaderListSize() + fr.SetMaxReadFrameSize(s.maxReadFrameSize()) + sc.framer = fr + + if tc, ok := c.(connectionStater); ok { + sc.tlsState = new(tls.ConnectionState) + *sc.tlsState = tc.ConnectionState() + // 9.2 Use of TLS Features + // An implementation of HTTP/2 over TLS MUST use TLS + // 1.2 or higher with the restrictions on feature set + // and cipher suite described in this section. Due to + // implementation limitations, it might not be + // possible to fail TLS negotiation. An endpoint MUST + // immediately terminate an HTTP/2 connection that + // does not meet the TLS requirements described in + // this section with a connection error (Section + // 5.4.1) of type INADEQUATE_SECURITY. + if sc.tlsState.Version < tls.VersionTLS12 { + sc.rejectConn(ErrCodeInadequateSecurity, "TLS version too low") + return + } + + if sc.tlsState.ServerName == "" { + // Client must use SNI, but we don't enforce that anymore, + // since it was causing problems when connecting to bare IP + // addresses during development. + // + // TODO: optionally enforce? Or enforce at the time we receive + // a new request, and verify the the ServerName matches the :authority? + // But that precludes proxy situations, perhaps. + // + // So for now, do nothing here again. + } + + if !s.PermitProhibitedCipherSuites && isBadCipher(sc.tlsState.CipherSuite) { + // "Endpoints MAY choose to generate a connection error + // (Section 5.4.1) of type INADEQUATE_SECURITY if one of + // the prohibited cipher suites are negotiated." + // + // We choose that. In my opinion, the spec is weak + // here. It also says both parties must support at least + // TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 so there's no + // excuses here. If we really must, we could allow an + // "AllowInsecureWeakCiphers" option on the server later. + // Let's see how it plays out first. + sc.rejectConn(ErrCodeInadequateSecurity, fmt.Sprintf("Prohibited TLS 1.2 Cipher Suite: %x", sc.tlsState.CipherSuite)) + return + } + } + + if hook := testHookGetServerConn; hook != nil { + hook(sc) + } + sc.serve() +} + +func (sc *serverConn) rejectConn(err ErrCode, debug string) { + sc.vlogf("http2: server rejecting conn: %v, %s", err, debug) + // ignoring errors. hanging up anyway. + sc.framer.WriteGoAway(0, err, []byte(debug)) + sc.bw.Flush() + sc.conn.Close() +} + +type serverConn struct { + // Immutable: + srv *Server + hs *http.Server + conn net.Conn + bw *bufferedWriter // writing to conn + handler http.Handler + baseCtx contextContext + framer *Framer + doneServing chan struct{} // closed when serverConn.serve ends + readFrameCh chan readFrameResult // written by serverConn.readFrames + wantWriteFrameCh chan FrameWriteRequest // from handlers -> serve + wroteFrameCh chan frameWriteResult // from writeFrameAsync -> serve, tickles more frame writes + bodyReadCh chan bodyReadMsg // from handlers -> serve + serveMsgCh chan interface{} // misc messages & code to send to / run on the serve loop + flow flow // conn-wide (not stream-specific) outbound flow control + inflow flow // conn-wide inbound flow control + tlsState *tls.ConnectionState // shared by all handlers, like net/http + remoteAddrStr string + writeSched WriteScheduler + + // Everything following is owned by the serve loop; use serveG.check(): + serveG goroutineLock // used to verify funcs are on serve() + pushEnabled bool + sawFirstSettings bool // got the initial SETTINGS frame after the preface + needToSendSettingsAck bool + unackedSettings int // how many SETTINGS have we sent without ACKs? + clientMaxStreams uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit) + advMaxStreams uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client + curClientStreams uint32 // number of open streams initiated by the client + curPushedStreams uint32 // number of open streams initiated by server push + maxClientStreamID uint32 // max ever seen from client (odd), or 0 if there have been no client requests + maxPushPromiseID uint32 // ID of the last push promise (even), or 0 if there have been no pushes + streams map[uint32]*stream + initialStreamSendWindowSize int32 + maxFrameSize int32 + headerTableSize uint32 + peerMaxHeaderListSize uint32 // zero means unknown (default) + canonHeader map[string]string // http2-lower-case -> Go-Canonical-Case + writingFrame bool // started writing a frame (on serve goroutine or separate) + writingFrameAsync bool // started a frame on its own goroutine but haven't heard back on wroteFrameCh + needsFrameFlush bool // last frame write wasn't a flush + inGoAway bool // we've started to or sent GOAWAY + inFrameScheduleLoop bool // whether we're in the scheduleFrameWrite loop + needToSendGoAway bool // we need to schedule a GOAWAY frame write + goAwayCode ErrCode + shutdownTimer *time.Timer // nil until used + idleTimer *time.Timer // nil if unused + + // Owned by the writeFrameAsync goroutine: + headerWriteBuf bytes.Buffer + hpackEncoder *hpack.Encoder + + // Used by startGracefulShutdown. + shutdownOnce sync.Once +} + +func (sc *serverConn) maxHeaderListSize() uint32 { + n := sc.hs.MaxHeaderBytes + if n <= 0 { + n = http.DefaultMaxHeaderBytes + } + // http2's count is in a slightly different unit and includes 32 bytes per pair. + // So, take the net/http.Server value and pad it up a bit, assuming 10 headers. + const perFieldOverhead = 32 // per http2 spec + const typicalHeaders = 10 // conservative + return uint32(n + typicalHeaders*perFieldOverhead) +} + +func (sc *serverConn) curOpenStreams() uint32 { + sc.serveG.check() + return sc.curClientStreams + sc.curPushedStreams +} + +// stream represents a stream. This is the minimal metadata needed by +// the serve goroutine. Most of the actual stream state is owned by +// the http.Handler's goroutine in the responseWriter. Because the +// responseWriter's responseWriterState is recycled at the end of a +// handler, this struct intentionally has no pointer to the +// *responseWriter{,State} itself, as the Handler ending nils out the +// responseWriter's state field. +type stream struct { + // immutable: + sc *serverConn + id uint32 + body *pipe // non-nil if expecting DATA frames + cw closeWaiter // closed wait stream transitions to closed state + ctx contextContext + cancelCtx func() + + // owned by serverConn's serve loop: + bodyBytes int64 // body bytes seen so far + declBodyBytes int64 // or -1 if undeclared + flow flow // limits writing from Handler to client + inflow flow // what the client is allowed to POST/etc to us + parent *stream // or nil + numTrailerValues int64 + weight uint8 + state streamState + resetQueued bool // RST_STREAM queued for write; set by sc.resetStream + gotTrailerHeader bool // HEADER frame for trailers was seen + wroteHeaders bool // whether we wrote headers (not status 100) + writeDeadline *time.Timer // nil if unused + + trailer http.Header // accumulated trailers + reqTrailer http.Header // handler's Request.Trailer +} + +func (sc *serverConn) Framer() *Framer { return sc.framer } +func (sc *serverConn) CloseConn() error { return sc.conn.Close() } +func (sc *serverConn) Flush() error { return sc.bw.Flush() } +func (sc *serverConn) HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) { + return sc.hpackEncoder, &sc.headerWriteBuf +} + +func (sc *serverConn) state(streamID uint32) (streamState, *stream) { + sc.serveG.check() + // http://tools.ietf.org/html/rfc7540#section-5.1 + if st, ok := sc.streams[streamID]; ok { + return st.state, st + } + // "The first use of a new stream identifier implicitly closes all + // streams in the "idle" state that might have been initiated by + // that peer with a lower-valued stream identifier. For example, if + // a client sends a HEADERS frame on stream 7 without ever sending a + // frame on stream 5, then stream 5 transitions to the "closed" + // state when the first frame for stream 7 is sent or received." + if streamID%2 == 1 { + if streamID <= sc.maxClientStreamID { + return stateClosed, nil + } + } else { + if streamID <= sc.maxPushPromiseID { + return stateClosed, nil + } + } + return stateIdle, nil +} + +// setConnState calls the net/http ConnState hook for this connection, if configured. +// Note that the net/http package does StateNew and StateClosed for us. +// There is currently no plan for StateHijacked or hijacking HTTP/2 connections. +func (sc *serverConn) setConnState(state http.ConnState) { + if sc.hs.ConnState != nil { + sc.hs.ConnState(sc.conn, state) + } +} + +func (sc *serverConn) vlogf(format string, args ...interface{}) { + if VerboseLogs { + sc.logf(format, args...) + } +} + +func (sc *serverConn) logf(format string, args ...interface{}) { + if lg := sc.hs.ErrorLog; lg != nil { + lg.Printf(format, args...) + } else { + log.Printf(format, args...) + } +} + +// errno returns v's underlying uintptr, else 0. +// +// TODO: remove this helper function once http2 can use build +// tags. See comment in isClosedConnError. +func errno(v error) uintptr { + if rv := reflect.ValueOf(v); rv.Kind() == reflect.Uintptr { + return uintptr(rv.Uint()) + } + return 0 +} + +// isClosedConnError reports whether err is an error from use of a closed +// network connection. +func isClosedConnError(err error) bool { + if err == nil { + return false + } + + // TODO: remove this string search and be more like the Windows + // case below. That might involve modifying the standard library + // to return better error types. + str := err.Error() + if strings.Contains(str, "use of closed network connection") { + return true + } + + // TODO(bradfitz): x/tools/cmd/bundle doesn't really support + // build tags, so I can't make an http2_windows.go file with + // Windows-specific stuff. Fix that and move this, once we + // have a way to bundle this into std's net/http somehow. + if runtime.GOOS == "windows" { + if oe, ok := err.(*net.OpError); ok && oe.Op == "read" { + if se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == "wsarecv" { + const WSAECONNABORTED = 10053 + const WSAECONNRESET = 10054 + if n := errno(se.Err); n == WSAECONNRESET || n == WSAECONNABORTED { + return true + } + } + } + } + return false +} + +func (sc *serverConn) condlogf(err error, format string, args ...interface{}) { + if err == nil { + return + } + if err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) { + // Boring, expected errors. + sc.vlogf(format, args...) + } else { + sc.logf(format, args...) + } +} + +func (sc *serverConn) canonicalHeader(v string) string { + sc.serveG.check() + cv, ok := commonCanonHeader[v] + if ok { + return cv + } + cv, ok = sc.canonHeader[v] + if ok { + return cv + } + if sc.canonHeader == nil { + sc.canonHeader = make(map[string]string) + } + cv = http.CanonicalHeaderKey(v) + sc.canonHeader[v] = cv + return cv +} + +type readFrameResult struct { + f Frame // valid until readMore is called + err error + + // readMore should be called once the consumer no longer needs or + // retains f. After readMore, f is invalid and more frames can be + // read. + readMore func() +} + +// readFrames is the loop that reads incoming frames. +// It takes care to only read one frame at a time, blocking until the +// consumer is done with the frame. +// It's run on its own goroutine. +func (sc *serverConn) readFrames() { + gate := make(gate) + gateDone := gate.Done + for { + f, err := sc.framer.ReadFrame() + select { + case sc.readFrameCh <- readFrameResult{f, err, gateDone}: + case <-sc.doneServing: + return + } + select { + case <-gate: + case <-sc.doneServing: + return + } + if terminalReadFrameError(err) { + return + } + } +} + +// frameWriteResult is the message passed from writeFrameAsync to the serve goroutine. +type frameWriteResult struct { + wr FrameWriteRequest // what was written (or attempted) + err error // result of the writeFrame call +} + +// writeFrameAsync runs in its own goroutine and writes a single frame +// and then reports when it's done. +// At most one goroutine can be running writeFrameAsync at a time per +// serverConn. +func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest) { + err := wr.write.writeFrame(sc) + sc.wroteFrameCh <- frameWriteResult{wr, err} +} + +func (sc *serverConn) closeAllStreamsOnConnClose() { + sc.serveG.check() + for _, st := range sc.streams { + sc.closeStream(st, errClientDisconnected) + } +} + +func (sc *serverConn) stopShutdownTimer() { + sc.serveG.check() + if t := sc.shutdownTimer; t != nil { + t.Stop() + } +} + +func (sc *serverConn) notePanic() { + // Note: this is for serverConn.serve panicking, not http.Handler code. + if testHookOnPanicMu != nil { + testHookOnPanicMu.Lock() + defer testHookOnPanicMu.Unlock() + } + if testHookOnPanic != nil { + if e := recover(); e != nil { + if testHookOnPanic(sc, e) { + panic(e) + } + } + } +} + +func (sc *serverConn) serve() { + sc.serveG.check() + defer sc.notePanic() + defer sc.conn.Close() + defer sc.closeAllStreamsOnConnClose() + defer sc.stopShutdownTimer() + defer close(sc.doneServing) // unblocks handlers trying to send + + if VerboseLogs { + sc.vlogf("http2: server connection from %v on %p", sc.conn.RemoteAddr(), sc.hs) + } + + sc.writeFrame(FrameWriteRequest{ + write: writeSettings{ + {SettingMaxFrameSize, sc.srv.maxReadFrameSize()}, + {SettingMaxConcurrentStreams, sc.advMaxStreams}, + {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, + {SettingInitialWindowSize, uint32(sc.srv.initialStreamRecvWindowSize())}, + }, + }) + sc.unackedSettings++ + + // Each connection starts with intialWindowSize inflow tokens. + // If a higher value is configured, we add more tokens. + if diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 { + sc.sendWindowUpdate(nil, int(diff)) + } + + if err := sc.readPreface(); err != nil { + sc.condlogf(err, "http2: server: error reading preface from client %v: %v", sc.conn.RemoteAddr(), err) + return + } + // Now that we've got the preface, get us out of the + // "StateNew" state. We can't go directly to idle, though. + // Active means we read some data and anticipate a request. We'll + // do another Active when we get a HEADERS frame. + sc.setConnState(http.StateActive) + sc.setConnState(http.StateIdle) + + if sc.srv.IdleTimeout != 0 { + sc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) + defer sc.idleTimer.Stop() + } + + go sc.readFrames() // closed by defer sc.conn.Close above + + settingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer) + defer settingsTimer.Stop() + + loopNum := 0 + for { + loopNum++ + select { + case wr := <-sc.wantWriteFrameCh: + if se, ok := wr.write.(StreamError); ok { + sc.resetStream(se) + break + } + sc.writeFrame(wr) + case res := <-sc.wroteFrameCh: + sc.wroteFrame(res) + case res := <-sc.readFrameCh: + if !sc.processFrameFromReader(res) { + return + } + res.readMore() + if settingsTimer != nil { + settingsTimer.Stop() + settingsTimer = nil + } + case m := <-sc.bodyReadCh: + sc.noteBodyRead(m.st, m.n) + case msg := <-sc.serveMsgCh: + switch v := msg.(type) { + case func(int): + v(loopNum) // for testing + case *serverMessage: + switch v { + case settingsTimerMsg: + sc.logf("timeout waiting for SETTINGS frames from %v", sc.conn.RemoteAddr()) + return + case idleTimerMsg: + sc.vlogf("connection is idle") + sc.goAway(ErrCodeNo) + case shutdownTimerMsg: + sc.vlogf("GOAWAY close timer fired; closing conn from %v", sc.conn.RemoteAddr()) + return + case gracefulShutdownMsg: + sc.startGracefulShutdownInternal() + default: + panic("unknown timer") + } + case *startPushRequest: + sc.startPush(v) + default: + panic(fmt.Sprintf("unexpected type %T", v)) + } + } + + if sc.inGoAway && sc.curOpenStreams() == 0 && !sc.needToSendGoAway && !sc.writingFrame { + return + } + } +} + +func (sc *serverConn) awaitGracefulShutdown(sharedCh <-chan struct{}, privateCh chan struct{}) { + select { + case <-sc.doneServing: + case <-sharedCh: + close(privateCh) + } +} + +type serverMessage int + +// Message values sent to serveMsgCh. +var ( + settingsTimerMsg = new(serverMessage) + idleTimerMsg = new(serverMessage) + shutdownTimerMsg = new(serverMessage) + gracefulShutdownMsg = new(serverMessage) +) + +func (sc *serverConn) onSettingsTimer() { sc.sendServeMsg(settingsTimerMsg) } +func (sc *serverConn) onIdleTimer() { sc.sendServeMsg(idleTimerMsg) } +func (sc *serverConn) onShutdownTimer() { sc.sendServeMsg(shutdownTimerMsg) } + +func (sc *serverConn) sendServeMsg(msg interface{}) { + sc.serveG.checkNotOn() // NOT + select { + case sc.serveMsgCh <- msg: + case <-sc.doneServing: + } +} + +// readPreface reads the ClientPreface greeting from the peer +// or returns an error on timeout or an invalid greeting. +func (sc *serverConn) readPreface() error { + errc := make(chan error, 1) + go func() { + // Read the client preface + buf := make([]byte, len(ClientPreface)) + if _, err := io.ReadFull(sc.conn, buf); err != nil { + errc <- err + } else if !bytes.Equal(buf, clientPreface) { + errc <- fmt.Errorf("bogus greeting %q", buf) + } else { + errc <- nil + } + }() + timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? + defer timer.Stop() + select { + case <-timer.C: + return errors.New("timeout waiting for client preface") + case err := <-errc: + if err == nil { + if VerboseLogs { + sc.vlogf("http2: server: client %v said hello", sc.conn.RemoteAddr()) + } + } + return err + } +} + +var errChanPool = sync.Pool{ + New: func() interface{} { return make(chan error, 1) }, +} + +var writeDataPool = sync.Pool{ + New: func() interface{} { return new(writeData) }, +} + +// writeDataFromHandler writes DATA response frames from a handler on +// the given stream. +func (sc *serverConn) writeDataFromHandler(stream *stream, data []byte, endStream bool) error { + ch := errChanPool.Get().(chan error) + writeArg := writeDataPool.Get().(*writeData) + *writeArg = writeData{stream.id, data, endStream} + err := sc.writeFrameFromHandler(FrameWriteRequest{ + write: writeArg, + stream: stream, + done: ch, + }) + if err != nil { + return err + } + var frameWriteDone bool // the frame write is done (successfully or not) + select { + case err = <-ch: + frameWriteDone = true + case <-sc.doneServing: + return errClientDisconnected + case <-stream.cw: + // If both ch and stream.cw were ready (as might + // happen on the final Write after an http.Handler + // ends), prefer the write result. Otherwise this + // might just be us successfully closing the stream. + // The writeFrameAsync and serve goroutines guarantee + // that the ch send will happen before the stream.cw + // close. + select { + case err = <-ch: + frameWriteDone = true + default: + return errStreamClosed + } + } + errChanPool.Put(ch) + if frameWriteDone { + writeDataPool.Put(writeArg) + } + return err +} + +// writeFrameFromHandler sends wr to sc.wantWriteFrameCh, but aborts +// if the connection has gone away. +// +// This must not be run from the serve goroutine itself, else it might +// deadlock writing to sc.wantWriteFrameCh (which is only mildly +// buffered and is read by serve itself). If you're on the serve +// goroutine, call writeFrame instead. +func (sc *serverConn) writeFrameFromHandler(wr FrameWriteRequest) error { + sc.serveG.checkNotOn() // NOT + select { + case sc.wantWriteFrameCh <- wr: + return nil + case <-sc.doneServing: + // Serve loop is gone. + // Client has closed their connection to the server. + return errClientDisconnected + } +} + +// writeFrame schedules a frame to write and sends it if there's nothing +// already being written. +// +// There is no pushback here (the serve goroutine never blocks). It's +// the http.Handlers that block, waiting for their previous frames to +// make it onto the wire +// +// If you're not on the serve goroutine, use writeFrameFromHandler instead. +func (sc *serverConn) writeFrame(wr FrameWriteRequest) { + sc.serveG.check() + + // If true, wr will not be written and wr.done will not be signaled. + var ignoreWrite bool + + // We are not allowed to write frames on closed streams. RFC 7540 Section + // 5.1.1 says: "An endpoint MUST NOT send frames other than PRIORITY on + // a closed stream." Our server never sends PRIORITY, so that exception + // does not apply. + // + // The serverConn might close an open stream while the stream's handler + // is still running. For example, the server might close a stream when it + // receives bad data from the client. If this happens, the handler might + // attempt to write a frame after the stream has been closed (since the + // handler hasn't yet been notified of the close). In this case, we simply + // ignore the frame. The handler will notice that the stream is closed when + // it waits for the frame to be written. + // + // As an exception to this rule, we allow sending RST_STREAM after close. + // This allows us to immediately reject new streams without tracking any + // state for those streams (except for the queued RST_STREAM frame). This + // may result in duplicate RST_STREAMs in some cases, but the client should + // ignore those. + if wr.StreamID() != 0 { + _, isReset := wr.write.(StreamError) + if state, _ := sc.state(wr.StreamID()); state == stateClosed && !isReset { + ignoreWrite = true + } + } + + // Don't send a 100-continue response if we've already sent headers. + // See golang.org/issue/14030. + switch wr.write.(type) { + case *writeResHeaders: + wr.stream.wroteHeaders = true + case write100ContinueHeadersFrame: + if wr.stream.wroteHeaders { + // We do not need to notify wr.done because this frame is + // never written with wr.done != nil. + if wr.done != nil { + panic("wr.done != nil for write100ContinueHeadersFrame") + } + ignoreWrite = true + } + } + + if !ignoreWrite { + sc.writeSched.Push(wr) + } + sc.scheduleFrameWrite() +} + +// startFrameWrite starts a goroutine to write wr (in a separate +// goroutine since that might block on the network), and updates the +// serve goroutine's state about the world, updated from info in wr. +func (sc *serverConn) startFrameWrite(wr FrameWriteRequest) { + sc.serveG.check() + if sc.writingFrame { + panic("internal error: can only be writing one frame at a time") + } + + st := wr.stream + if st != nil { + switch st.state { + case stateHalfClosedLocal: + switch wr.write.(type) { + case StreamError, handlerPanicRST, writeWindowUpdate: + // RFC 7540 Section 5.1 allows sending RST_STREAM, PRIORITY, and WINDOW_UPDATE + // in this state. (We never send PRIORITY from the server, so that is not checked.) + default: + panic(fmt.Sprintf("internal error: attempt to send frame on a half-closed-local stream: %v", wr)) + } + case stateClosed: + panic(fmt.Sprintf("internal error: attempt to send frame on a closed stream: %v", wr)) + } + } + if wpp, ok := wr.write.(*writePushPromise); ok { + var err error + wpp.promisedID, err = wpp.allocatePromisedID() + if err != nil { + sc.writingFrameAsync = false + wr.replyToWriter(err) + return + } + } + + sc.writingFrame = true + sc.needsFrameFlush = true + if wr.write.staysWithinBuffer(sc.bw.Available()) { + sc.writingFrameAsync = false + err := wr.write.writeFrame(sc) + sc.wroteFrame(frameWriteResult{wr, err}) + } else { + sc.writingFrameAsync = true + go sc.writeFrameAsync(wr) + } +} + +// errHandlerPanicked is the error given to any callers blocked in a read from +// Request.Body when the main goroutine panics. Since most handlers read in the +// the main ServeHTTP goroutine, this will show up rarely. +var errHandlerPanicked = errors.New("http2: handler panicked") + +// wroteFrame is called on the serve goroutine with the result of +// whatever happened on writeFrameAsync. +func (sc *serverConn) wroteFrame(res frameWriteResult) { + sc.serveG.check() + if !sc.writingFrame { + panic("internal error: expected to be already writing a frame") + } + sc.writingFrame = false + sc.writingFrameAsync = false + + wr := res.wr + + if writeEndsStream(wr.write) { + st := wr.stream + if st == nil { + panic("internal error: expecting non-nil stream") + } + switch st.state { + case stateOpen: + // Here we would go to stateHalfClosedLocal in + // theory, but since our handler is done and + // the net/http package provides no mechanism + // for closing a ResponseWriter while still + // reading data (see possible TODO at top of + // this file), we go into closed state here + // anyway, after telling the peer we're + // hanging up on them. We'll transition to + // stateClosed after the RST_STREAM frame is + // written. + st.state = stateHalfClosedLocal + // Section 8.1: a server MAY request that the client abort + // transmission of a request without error by sending a + // RST_STREAM with an error code of NO_ERROR after sending + // a complete response. + sc.resetStream(streamError(st.id, ErrCodeNo)) + case stateHalfClosedRemote: + sc.closeStream(st, errHandlerComplete) + } + } else { + switch v := wr.write.(type) { + case StreamError: + // st may be unknown if the RST_STREAM was generated to reject bad input. + if st, ok := sc.streams[v.StreamID]; ok { + sc.closeStream(st, v) + } + case handlerPanicRST: + sc.closeStream(wr.stream, errHandlerPanicked) + } + } + + // Reply (if requested) to unblock the ServeHTTP goroutine. + wr.replyToWriter(res.err) + + sc.scheduleFrameWrite() +} + +// scheduleFrameWrite tickles the frame writing scheduler. +// +// If a frame is already being written, nothing happens. This will be called again +// when the frame is done being written. +// +// If a frame isn't being written we need to send one, the best frame +// to send is selected, preferring first things that aren't +// stream-specific (e.g. ACKing settings), and then finding the +// highest priority stream. +// +// If a frame isn't being written and there's nothing else to send, we +// flush the write buffer. +func (sc *serverConn) scheduleFrameWrite() { + sc.serveG.check() + if sc.writingFrame || sc.inFrameScheduleLoop { + return + } + sc.inFrameScheduleLoop = true + for !sc.writingFrameAsync { + if sc.needToSendGoAway { + sc.needToSendGoAway = false + sc.startFrameWrite(FrameWriteRequest{ + write: &writeGoAway{ + maxStreamID: sc.maxClientStreamID, + code: sc.goAwayCode, + }, + }) + continue + } + if sc.needToSendSettingsAck { + sc.needToSendSettingsAck = false + sc.startFrameWrite(FrameWriteRequest{write: writeSettingsAck{}}) + continue + } + if !sc.inGoAway || sc.goAwayCode == ErrCodeNo { + if wr, ok := sc.writeSched.Pop(); ok { + sc.startFrameWrite(wr) + continue + } + } + if sc.needsFrameFlush { + sc.startFrameWrite(FrameWriteRequest{write: flushFrameWriter{}}) + sc.needsFrameFlush = false // after startFrameWrite, since it sets this true + continue + } + break + } + sc.inFrameScheduleLoop = false +} + +// startGracefulShutdown gracefully shuts down a connection. This +// sends GOAWAY with ErrCodeNo to tell the client we're gracefully +// shutting down. The connection isn't closed until all current +// streams are done. +// +// startGracefulShutdown returns immediately; it does not wait until +// the connection has shut down. +func (sc *serverConn) startGracefulShutdown() { + sc.serveG.checkNotOn() // NOT + sc.shutdownOnce.Do(func() { sc.sendServeMsg(gracefulShutdownMsg) }) +} + +func (sc *serverConn) startGracefulShutdownInternal() { + sc.goAwayIn(ErrCodeNo, 0) +} + +func (sc *serverConn) goAway(code ErrCode) { + sc.serveG.check() + var forceCloseIn time.Duration + if code != ErrCodeNo { + forceCloseIn = 250 * time.Millisecond + } else { + // TODO: configurable + forceCloseIn = 1 * time.Second + } + sc.goAwayIn(code, forceCloseIn) +} + +func (sc *serverConn) goAwayIn(code ErrCode, forceCloseIn time.Duration) { + sc.serveG.check() + if sc.inGoAway { + return + } + if forceCloseIn != 0 { + sc.shutDownIn(forceCloseIn) + } + sc.inGoAway = true + sc.needToSendGoAway = true + sc.goAwayCode = code + sc.scheduleFrameWrite() +} + +func (sc *serverConn) shutDownIn(d time.Duration) { + sc.serveG.check() + sc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer) +} + +func (sc *serverConn) resetStream(se StreamError) { + sc.serveG.check() + sc.writeFrame(FrameWriteRequest{write: se}) + if st, ok := sc.streams[se.StreamID]; ok { + st.resetQueued = true + } +} + +// processFrameFromReader processes the serve loop's read from readFrameCh from the +// frame-reading goroutine. +// processFrameFromReader returns whether the connection should be kept open. +func (sc *serverConn) processFrameFromReader(res readFrameResult) bool { + sc.serveG.check() + err := res.err + if err != nil { + if err == ErrFrameTooLarge { + sc.goAway(ErrCodeFrameSize) + return true // goAway will close the loop + } + clientGone := err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) + if clientGone { + // TODO: could we also get into this state if + // the peer does a half close + // (e.g. CloseWrite) because they're done + // sending frames but they're still wanting + // our open replies? Investigate. + // TODO: add CloseWrite to crypto/tls.Conn first + // so we have a way to test this? I suppose + // just for testing we could have a non-TLS mode. + return false + } + } else { + f := res.f + if VerboseLogs { + sc.vlogf("http2: server read frame %v", summarizeFrame(f)) + } + err = sc.processFrame(f) + if err == nil { + return true + } + } + + switch ev := err.(type) { + case StreamError: + sc.resetStream(ev) + return true + case goAwayFlowError: + sc.goAway(ErrCodeFlowControl) + return true + case ConnectionError: + sc.logf("http2: server connection error from %v: %v", sc.conn.RemoteAddr(), ev) + sc.goAway(ErrCode(ev)) + return true // goAway will handle shutdown + default: + if res.err != nil { + sc.vlogf("http2: server closing client connection; error reading frame from client %s: %v", sc.conn.RemoteAddr(), err) + } else { + sc.logf("http2: server closing client connection: %v", err) + } + return false + } +} + +func (sc *serverConn) processFrame(f Frame) error { + sc.serveG.check() + + // First frame received must be SETTINGS. + if !sc.sawFirstSettings { + if _, ok := f.(*SettingsFrame); !ok { + return ConnectionError(ErrCodeProtocol) + } + sc.sawFirstSettings = true + } + + switch f := f.(type) { + case *SettingsFrame: + return sc.processSettings(f) + case *MetaHeadersFrame: + return sc.processHeaders(f) + case *WindowUpdateFrame: + return sc.processWindowUpdate(f) + case *PingFrame: + return sc.processPing(f) + case *DataFrame: + return sc.processData(f) + case *RSTStreamFrame: + return sc.processResetStream(f) + case *PriorityFrame: + return sc.processPriority(f) + case *GoAwayFrame: + return sc.processGoAway(f) + case *PushPromiseFrame: + // A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE + // frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR. + return ConnectionError(ErrCodeProtocol) + default: + sc.vlogf("http2: server ignoring frame: %v", f.Header()) + return nil + } +} + +func (sc *serverConn) processPing(f *PingFrame) error { + sc.serveG.check() + if f.IsAck() { + // 6.7 PING: " An endpoint MUST NOT respond to PING frames + // containing this flag." + return nil + } + if f.StreamID != 0 { + // "PING frames are not associated with any individual + // stream. If a PING frame is received with a stream + // identifier field value other than 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if sc.inGoAway && sc.goAwayCode != ErrCodeNo { + return nil + } + sc.writeFrame(FrameWriteRequest{write: writePingAck{f}}) + return nil +} + +func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error { + sc.serveG.check() + switch { + case f.StreamID != 0: // stream-level flow control + state, st := sc.state(f.StreamID) + if state == stateIdle { + // Section 5.1: "Receiving any frame other than HEADERS + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if st == nil { + // "WINDOW_UPDATE can be sent by a peer that has sent a + // frame bearing the END_STREAM flag. This means that a + // receiver could receive a WINDOW_UPDATE frame on a "half + // closed (remote)" or "closed" stream. A receiver MUST + // NOT treat this as an error, see Section 5.1." + return nil + } + if !st.flow.add(int32(f.Increment)) { + return streamError(f.StreamID, ErrCodeFlowControl) + } + default: // connection-level flow control + if !sc.flow.add(int32(f.Increment)) { + return goAwayFlowError{} + } + } + sc.scheduleFrameWrite() + return nil +} + +func (sc *serverConn) processResetStream(f *RSTStreamFrame) error { + sc.serveG.check() + + state, st := sc.state(f.StreamID) + if state == stateIdle { + // 6.4 "RST_STREAM frames MUST NOT be sent for a + // stream in the "idle" state. If a RST_STREAM frame + // identifying an idle stream is received, the + // recipient MUST treat this as a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + return ConnectionError(ErrCodeProtocol) + } + if st != nil { + st.cancelCtx() + sc.closeStream(st, streamError(f.StreamID, f.ErrCode)) + } + return nil +} + +func (sc *serverConn) closeStream(st *stream, err error) { + sc.serveG.check() + if st.state == stateIdle || st.state == stateClosed { + panic(fmt.Sprintf("invariant; can't close stream in state %v", st.state)) + } + st.state = stateClosed + if st.writeDeadline != nil { + st.writeDeadline.Stop() + } + if st.isPushed() { + sc.curPushedStreams-- + } else { + sc.curClientStreams-- + } + delete(sc.streams, st.id) + if len(sc.streams) == 0 { + sc.setConnState(http.StateIdle) + if sc.srv.IdleTimeout != 0 { + sc.idleTimer.Reset(sc.srv.IdleTimeout) + } + if h1ServerKeepAlivesDisabled(sc.hs) { + sc.startGracefulShutdownInternal() + } + } + if p := st.body; p != nil { + // Return any buffered unread bytes worth of conn-level flow control. + // See golang.org/issue/16481 + sc.sendWindowUpdate(nil, p.Len()) + + p.CloseWithError(err) + } + st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc + sc.writeSched.CloseStream(st.id) +} + +func (sc *serverConn) processSettings(f *SettingsFrame) error { + sc.serveG.check() + if f.IsAck() { + sc.unackedSettings-- + if sc.unackedSettings < 0 { + // Why is the peer ACKing settings we never sent? + // The spec doesn't mention this case, but + // hang up on them anyway. + return ConnectionError(ErrCodeProtocol) + } + return nil + } + if err := f.ForeachSetting(sc.processSetting); err != nil { + return err + } + sc.needToSendSettingsAck = true + sc.scheduleFrameWrite() + return nil +} + +func (sc *serverConn) processSetting(s Setting) error { + sc.serveG.check() + if err := s.Valid(); err != nil { + return err + } + if VerboseLogs { + sc.vlogf("http2: server processing setting %v", s) + } + switch s.ID { + case SettingHeaderTableSize: + sc.headerTableSize = s.Val + sc.hpackEncoder.SetMaxDynamicTableSize(s.Val) + case SettingEnablePush: + sc.pushEnabled = s.Val != 0 + case SettingMaxConcurrentStreams: + sc.clientMaxStreams = s.Val + case SettingInitialWindowSize: + return sc.processSettingInitialWindowSize(s.Val) + case SettingMaxFrameSize: + sc.maxFrameSize = int32(s.Val) // the maximum valid s.Val is < 2^31 + case SettingMaxHeaderListSize: + sc.peerMaxHeaderListSize = s.Val + default: + // Unknown setting: "An endpoint that receives a SETTINGS + // frame with any unknown or unsupported identifier MUST + // ignore that setting." + if VerboseLogs { + sc.vlogf("http2: server ignoring unknown setting %v", s) + } + } + return nil +} + +func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { + sc.serveG.check() + // Note: val already validated to be within range by + // processSetting's Valid call. + + // "A SETTINGS frame can alter the initial flow control window + // size for all current streams. When the value of + // SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST + // adjust the size of all stream flow control windows that it + // maintains by the difference between the new value and the + // old value." + old := sc.initialStreamSendWindowSize + sc.initialStreamSendWindowSize = int32(val) + growth := int32(val) - old // may be negative + for _, st := range sc.streams { + if !st.flow.add(growth) { + // 6.9.2 Initial Flow Control Window Size + // "An endpoint MUST treat a change to + // SETTINGS_INITIAL_WINDOW_SIZE that causes any flow + // control window to exceed the maximum size as a + // connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR." + return ConnectionError(ErrCodeFlowControl) + } + } + return nil +} + +func (sc *serverConn) processData(f *DataFrame) error { + sc.serveG.check() + if sc.inGoAway && sc.goAwayCode != ErrCodeNo { + return nil + } + data := f.Data() + + // "If a DATA frame is received whose stream is not in "open" + // or "half closed (local)" state, the recipient MUST respond + // with a stream error (Section 5.4.2) of type STREAM_CLOSED." + id := f.Header().StreamID + state, st := sc.state(id) + if id == 0 || state == stateIdle { + // Section 5.1: "Receiving any frame other than HEADERS + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) + } + if st == nil || state != stateOpen || st.gotTrailerHeader || st.resetQueued { + // This includes sending a RST_STREAM if the stream is + // in stateHalfClosedLocal (which currently means that + // the http.Handler returned, so it's done reading & + // done writing). Try to stop the client from sending + // more DATA. + + // But still enforce their connection-level flow control, + // and return any flow control bytes since we're not going + // to consume them. + if sc.inflow.available() < int32(f.Length) { + return streamError(id, ErrCodeFlowControl) + } + // Deduct the flow control from inflow, since we're + // going to immediately add it back in + // sendWindowUpdate, which also schedules sending the + // frames. + sc.inflow.take(int32(f.Length)) + sc.sendWindowUpdate(nil, int(f.Length)) // conn-level + + if st != nil && st.resetQueued { + // Already have a stream error in flight. Don't send another. + return nil + } + return streamError(id, ErrCodeStreamClosed) + } + if st.body == nil { + panic("internal error: should have a body in this state") + } + + // Sender sending more than they'd declared? + if st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes { + st.body.CloseWithError(fmt.Errorf("sender tried to send more than declared Content-Length of %d bytes", st.declBodyBytes)) + return streamError(id, ErrCodeStreamClosed) + } + if f.Length > 0 { + // Check whether the client has flow control quota. + if st.inflow.available() < int32(f.Length) { + return streamError(id, ErrCodeFlowControl) + } + st.inflow.take(int32(f.Length)) + + if len(data) > 0 { + wrote, err := st.body.Write(data) + if err != nil { + return streamError(id, ErrCodeStreamClosed) + } + if wrote != len(data) { + panic("internal error: bad Writer") + } + st.bodyBytes += int64(len(data)) + } + + // Return any padded flow control now, since we won't + // refund it later on body reads. + if pad := int32(f.Length) - int32(len(data)); pad > 0 { + sc.sendWindowUpdate32(nil, pad) + sc.sendWindowUpdate32(st, pad) + } + } + if f.StreamEnded() { + st.endStream() + } + return nil +} + +func (sc *serverConn) processGoAway(f *GoAwayFrame) error { + sc.serveG.check() + if f.ErrCode != ErrCodeNo { + sc.logf("http2: received GOAWAY %+v, starting graceful shutdown", f) + } else { + sc.vlogf("http2: received GOAWAY %+v, starting graceful shutdown", f) + } + sc.startGracefulShutdownInternal() + // http://tools.ietf.org/html/rfc7540#section-6.8 + // We should not create any new streams, which means we should disable push. + sc.pushEnabled = false + return nil +} + +// isPushed reports whether the stream is server-initiated. +func (st *stream) isPushed() bool { + return st.id%2 == 0 +} + +// endStream closes a Request.Body's pipe. It is called when a DATA +// frame says a request body is over (or after trailers). +func (st *stream) endStream() { + sc := st.sc + sc.serveG.check() + + if st.declBodyBytes != -1 && st.declBodyBytes != st.bodyBytes { + st.body.CloseWithError(fmt.Errorf("request declared a Content-Length of %d but only wrote %d bytes", + st.declBodyBytes, st.bodyBytes)) + } else { + st.body.closeWithErrorAndCode(io.EOF, st.copyTrailersToHandlerRequest) + st.body.CloseWithError(io.EOF) + } + st.state = stateHalfClosedRemote +} + +// copyTrailersToHandlerRequest is run in the Handler's goroutine in +// its Request.Body.Read just before it gets io.EOF. +func (st *stream) copyTrailersToHandlerRequest() { + for k, vv := range st.trailer { + if _, ok := st.reqTrailer[k]; ok { + // Only copy it over it was pre-declared. + st.reqTrailer[k] = vv + } + } +} + +// onWriteTimeout is run on its own goroutine (from time.AfterFunc) +// when the stream's WriteTimeout has fired. +func (st *stream) onWriteTimeout() { + st.sc.writeFrameFromHandler(FrameWriteRequest{write: streamError(st.id, ErrCodeInternal)}) +} + +func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + sc.serveG.check() + id := f.StreamID + if sc.inGoAway { + // Ignore. + return nil + } + // http://tools.ietf.org/html/rfc7540#section-5.1.1 + // Streams initiated by a client MUST use odd-numbered stream + // identifiers. [...] An endpoint that receives an unexpected + // stream identifier MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + if id%2 != 1 { + return ConnectionError(ErrCodeProtocol) + } + // A HEADERS frame can be used to create a new stream or + // send a trailer for an open one. If we already have a stream + // open, let it process its own HEADERS frame (trailers at this + // point, if it's valid). + if st := sc.streams[f.StreamID]; st != nil { + if st.resetQueued { + // We're sending RST_STREAM to close the stream, so don't bother + // processing this frame. + return nil + } + return st.processTrailerHeaders(f) + } + + // [...] The identifier of a newly established stream MUST be + // numerically greater than all streams that the initiating + // endpoint has opened or reserved. [...] An endpoint that + // receives an unexpected stream identifier MUST respond with + // a connection error (Section 5.4.1) of type PROTOCOL_ERROR. + if id <= sc.maxClientStreamID { + return ConnectionError(ErrCodeProtocol) + } + sc.maxClientStreamID = id + + if sc.idleTimer != nil { + sc.idleTimer.Stop() + } + + // http://tools.ietf.org/html/rfc7540#section-5.1.2 + // [...] Endpoints MUST NOT exceed the limit set by their peer. An + // endpoint that receives a HEADERS frame that causes their + // advertised concurrent stream limit to be exceeded MUST treat + // this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR + // or REFUSED_STREAM. + if sc.curClientStreams+1 > sc.advMaxStreams { + if sc.unackedSettings == 0 { + // They should know better. + return streamError(id, ErrCodeProtocol) + } + // Assume it's a network race, where they just haven't + // received our last SETTINGS update. But actually + // this can't happen yet, because we don't yet provide + // a way for users to adjust server parameters at + // runtime. + return streamError(id, ErrCodeRefusedStream) + } + + initialState := stateOpen + if f.StreamEnded() { + initialState = stateHalfClosedRemote + } + st := sc.newStream(id, 0, initialState) + + if f.HasPriority() { + if err := checkPriority(f.StreamID, f.Priority); err != nil { + return err + } + sc.writeSched.AdjustStream(st.id, f.Priority) + } + + rw, req, err := sc.newWriterAndRequest(st, f) + if err != nil { + return err + } + st.reqTrailer = req.Trailer + if st.reqTrailer != nil { + st.trailer = make(http.Header) + } + st.body = req.Body.(*requestBody).pipe // may be nil + st.declBodyBytes = req.ContentLength + + handler := sc.handler.ServeHTTP + if f.Truncated { + // Their header list was too long. Send a 431 error. + handler = handleHeaderListTooLong + } else if err := checkValidHTTP2RequestHeaders(req.Header); err != nil { + handler = new400Handler(err) + } + + // The net/http package sets the read deadline from the + // http.Server.ReadTimeout during the TLS handshake, but then + // passes the connection off to us with the deadline already + // set. Disarm it here after the request headers are read, + // similar to how the http1 server works. Here it's + // technically more like the http1 Server's ReadHeaderTimeout + // (in Go 1.8), though. That's a more sane option anyway. + if sc.hs.ReadTimeout != 0 { + sc.conn.SetReadDeadline(time.Time{}) + } + + go sc.runHandler(rw, req, handler) + return nil +} + +func (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error { + sc := st.sc + sc.serveG.check() + if st.gotTrailerHeader { + return ConnectionError(ErrCodeProtocol) + } + st.gotTrailerHeader = true + if !f.StreamEnded() { + return streamError(st.id, ErrCodeProtocol) + } + + if len(f.PseudoFields()) > 0 { + return streamError(st.id, ErrCodeProtocol) + } + if st.trailer != nil { + for _, hf := range f.RegularFields() { + key := sc.canonicalHeader(hf.Name) + if !ValidTrailerHeader(key) { + // TODO: send more details to the peer somehow. But http2 has + // no way to send debug data at a stream level. Discuss with + // HTTP folk. + return streamError(st.id, ErrCodeProtocol) + } + st.trailer[key] = append(st.trailer[key], hf.Value) + } + } + st.endStream() + return nil +} + +func checkPriority(streamID uint32, p PriorityParam) error { + if streamID == p.StreamDep { + // Section 5.3.1: "A stream cannot depend on itself. An endpoint MUST treat + // this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR." + // Section 5.3.3 says that a stream can depend on one of its dependencies, + // so it's only self-dependencies that are forbidden. + return streamError(streamID, ErrCodeProtocol) + } + return nil +} + +func (sc *serverConn) processPriority(f *PriorityFrame) error { + if sc.inGoAway { + return nil + } + if err := checkPriority(f.StreamID, f.PriorityParam); err != nil { + return err + } + sc.writeSched.AdjustStream(f.StreamID, f.PriorityParam) + return nil +} + +func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream { + sc.serveG.check() + if id == 0 { + panic("internal error: cannot create stream with id 0") + } + + ctx, cancelCtx := contextWithCancel(sc.baseCtx) + st := &stream{ + sc: sc, + id: id, + state: state, + ctx: ctx, + cancelCtx: cancelCtx, + } + st.cw.Init() + st.flow.conn = &sc.flow // link to conn-level counter + st.flow.add(sc.initialStreamSendWindowSize) + st.inflow.conn = &sc.inflow // link to conn-level counter + st.inflow.add(sc.srv.initialStreamRecvWindowSize()) + if sc.hs.WriteTimeout != 0 { + st.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) + } + + sc.streams[id] = st + sc.writeSched.OpenStream(st.id, OpenStreamOptions{PusherID: pusherID}) + if st.isPushed() { + sc.curPushedStreams++ + } else { + sc.curClientStreams++ + } + if sc.curOpenStreams() == 1 { + sc.setConnState(http.StateActive) + } + + return st +} + +func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*responseWriter, *http.Request, error) { + sc.serveG.check() + + rp := requestParam{ + method: f.PseudoValue("method"), + scheme: f.PseudoValue("scheme"), + authority: f.PseudoValue("authority"), + path: f.PseudoValue("path"), + } + + isConnect := rp.method == "CONNECT" + if isConnect { + if rp.path != "" || rp.scheme != "" || rp.authority == "" { + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + } else if rp.method == "" || rp.path == "" || (rp.scheme != "https" && rp.scheme != "http") { + // See 8.1.2.6 Malformed Requests and Responses: + // + // Malformed requests or responses that are detected + // MUST be treated as a stream error (Section 5.4.2) + // of type PROTOCOL_ERROR." + // + // 8.1.2.3 Request Pseudo-Header Fields + // "All HTTP/2 requests MUST include exactly one valid + // value for the :method, :scheme, and :path + // pseudo-header fields" + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + + bodyOpen := !f.StreamEnded() + if rp.method == "HEAD" && bodyOpen { + // HEAD requests can't have bodies + return nil, nil, streamError(f.StreamID, ErrCodeProtocol) + } + + rp.header = make(http.Header) + for _, hf := range f.RegularFields() { + rp.header.Add(sc.canonicalHeader(hf.Name), hf.Value) + } + if rp.authority == "" { + rp.authority = rp.header.Get("Host") + } + + rw, req, err := sc.newWriterAndRequestNoBody(st, rp) + if err != nil { + return nil, nil, err + } + if bodyOpen { + if vv, ok := rp.header["Content-Length"]; ok { + req.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64) + } else { + req.ContentLength = -1 + } + req.Body.(*requestBody).pipe = &pipe{ + b: &dataBuffer{expected: req.ContentLength}, + } + } + return rw, req, nil +} + +type requestParam struct { + method string + scheme, authority, path string + header http.Header +} + +func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*responseWriter, *http.Request, error) { + sc.serveG.check() + + var tlsState *tls.ConnectionState // nil if not scheme https + if rp.scheme == "https" { + tlsState = sc.tlsState + } + + needsContinue := rp.header.Get("Expect") == "100-continue" + if needsContinue { + rp.header.Del("Expect") + } + // Merge Cookie headers into one "; "-delimited value. + if cookies := rp.header["Cookie"]; len(cookies) > 1 { + rp.header.Set("Cookie", strings.Join(cookies, "; ")) + } + + // Setup Trailers + var trailer http.Header + for _, v := range rp.header["Trailer"] { + for _, key := range strings.Split(v, ",") { + key = http.CanonicalHeaderKey(strings.TrimSpace(key)) + switch key { + case "Transfer-Encoding", "Trailer", "Content-Length": + // Bogus. (copy of http1 rules) + // Ignore. + default: + if trailer == nil { + trailer = make(http.Header) + } + trailer[key] = nil + } + } + } + delete(rp.header, "Trailer") + + var url_ *url.URL + var requestURI string + if rp.method == "CONNECT" { + url_ = &url.URL{Host: rp.authority} + requestURI = rp.authority // mimic HTTP/1 server behavior + } else { + var err error + url_, err = url.ParseRequestURI(rp.path) + if err != nil { + return nil, nil, streamError(st.id, ErrCodeProtocol) + } + requestURI = rp.path + } + + body := &requestBody{ + conn: sc, + stream: st, + needsContinue: needsContinue, + } + req := &http.Request{ + Method: rp.method, + URL: url_, + RemoteAddr: sc.remoteAddrStr, + Header: rp.header, + RequestURI: requestURI, + Proto: "HTTP/2.0", + ProtoMajor: 2, + ProtoMinor: 0, + TLS: tlsState, + Host: rp.authority, + Body: body, + Trailer: trailer, + } + req = requestWithContext(req, st.ctx) + + rws := responseWriterStatePool.Get().(*responseWriterState) + bwSave := rws.bw + *rws = responseWriterState{} // zero all the fields + rws.conn = sc + rws.bw = bwSave + rws.bw.Reset(chunkWriter{rws}) + rws.stream = st + rws.req = req + rws.body = body + + rw := &responseWriter{rws: rws} + return rw, req, nil +} + +// Run on its own goroutine. +func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { + didPanic := true + defer func() { + rw.rws.stream.cancelCtx() + if didPanic { + e := recover() + sc.writeFrameFromHandler(FrameWriteRequest{ + write: handlerPanicRST{rw.rws.stream.id}, + stream: rw.rws.stream, + }) + // Same as net/http: + if shouldLogPanic(e) { + const size = 64 << 10 + buf := make([]byte, size) + buf = buf[:runtime.Stack(buf, false)] + sc.logf("http2: panic serving %v: %v\n%s", sc.conn.RemoteAddr(), e, buf) + } + return + } + rw.handlerDone() + }() + handler(rw, req) + didPanic = false +} + +func handleHeaderListTooLong(w http.ResponseWriter, r *http.Request) { + // 10.5.1 Limits on Header Block Size: + // .. "A server that receives a larger header block than it is + // willing to handle can send an HTTP 431 (Request Header Fields Too + // Large) status code" + const statusRequestHeaderFieldsTooLarge = 431 // only in Go 1.6+ + w.WriteHeader(statusRequestHeaderFieldsTooLarge) + io.WriteString(w, "

HTTP Error 431

Request Header Field(s) Too Large

") +} + +// called from handler goroutines. +// h may be nil. +func (sc *serverConn) writeHeaders(st *stream, headerData *writeResHeaders) error { + sc.serveG.checkNotOn() // NOT on + var errc chan error + if headerData.h != nil { + // If there's a header map (which we don't own), so we have to block on + // waiting for this frame to be written, so an http.Flush mid-handler + // writes out the correct value of keys, before a handler later potentially + // mutates it. + errc = errChanPool.Get().(chan error) + } + if err := sc.writeFrameFromHandler(FrameWriteRequest{ + write: headerData, + stream: st, + done: errc, + }); err != nil { + return err + } + if errc != nil { + select { + case err := <-errc: + errChanPool.Put(errc) + return err + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + } + } + return nil +} + +// called from handler goroutines. +func (sc *serverConn) write100ContinueHeaders(st *stream) { + sc.writeFrameFromHandler(FrameWriteRequest{ + write: write100ContinueHeadersFrame{st.id}, + stream: st, + }) +} + +// A bodyReadMsg tells the server loop that the http.Handler read n +// bytes of the DATA from the client on the given stream. +type bodyReadMsg struct { + st *stream + n int +} + +// called from handler goroutines. +// Notes that the handler for the given stream ID read n bytes of its body +// and schedules flow control tokens to be sent. +func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) { + sc.serveG.checkNotOn() // NOT on + if n > 0 { + select { + case sc.bodyReadCh <- bodyReadMsg{st, n}: + case <-sc.doneServing: + } + } +} + +func (sc *serverConn) noteBodyRead(st *stream, n int) { + sc.serveG.check() + sc.sendWindowUpdate(nil, n) // conn-level + if st.state != stateHalfClosedRemote && st.state != stateClosed { + // Don't send this WINDOW_UPDATE if the stream is closed + // remotely. + sc.sendWindowUpdate(st, n) + } +} + +// st may be nil for conn-level +func (sc *serverConn) sendWindowUpdate(st *stream, n int) { + sc.serveG.check() + // "The legal range for the increment to the flow control + // window is 1 to 2^31-1 (2,147,483,647) octets." + // A Go Read call on 64-bit machines could in theory read + // a larger Read than this. Very unlikely, but we handle it here + // rather than elsewhere for now. + const maxUint31 = 1<<31 - 1 + for n >= maxUint31 { + sc.sendWindowUpdate32(st, maxUint31) + n -= maxUint31 + } + sc.sendWindowUpdate32(st, int32(n)) +} + +// st may be nil for conn-level +func (sc *serverConn) sendWindowUpdate32(st *stream, n int32) { + sc.serveG.check() + if n == 0 { + return + } + if n < 0 { + panic("negative update") + } + var streamID uint32 + if st != nil { + streamID = st.id + } + sc.writeFrame(FrameWriteRequest{ + write: writeWindowUpdate{streamID: streamID, n: uint32(n)}, + stream: st, + }) + var ok bool + if st == nil { + ok = sc.inflow.add(n) + } else { + ok = st.inflow.add(n) + } + if !ok { + panic("internal error; sent too many window updates without decrements?") + } +} + +// requestBody is the Handler's Request.Body type. +// Read and Close may be called concurrently. +type requestBody struct { + stream *stream + conn *serverConn + closed bool // for use by Close only + sawEOF bool // for use by Read only + pipe *pipe // non-nil if we have a HTTP entity message body + needsContinue bool // need to send a 100-continue +} + +func (b *requestBody) Close() error { + if b.pipe != nil && !b.closed { + b.pipe.BreakWithError(errClosedBody) + } + b.closed = true + return nil +} + +func (b *requestBody) Read(p []byte) (n int, err error) { + if b.needsContinue { + b.needsContinue = false + b.conn.write100ContinueHeaders(b.stream) + } + if b.pipe == nil || b.sawEOF { + return 0, io.EOF + } + n, err = b.pipe.Read(p) + if err == io.EOF { + b.sawEOF = true + } + if b.conn == nil && inTests { + return + } + b.conn.noteBodyReadFromHandler(b.stream, n, err) + return +} + +// responseWriter is the http.ResponseWriter implementation. It's +// intentionally small (1 pointer wide) to minimize garbage. The +// responseWriterState pointer inside is zeroed at the end of a +// request (in handlerDone) and calls on the responseWriter thereafter +// simply crash (caller's mistake), but the much larger responseWriterState +// and buffers are reused between multiple requests. +type responseWriter struct { + rws *responseWriterState +} + +// Optional http.ResponseWriter interfaces implemented. +var ( + _ http.CloseNotifier = (*responseWriter)(nil) + _ http.Flusher = (*responseWriter)(nil) + _ stringWriter = (*responseWriter)(nil) +) + +type responseWriterState struct { + // immutable within a request: + stream *stream + req *http.Request + body *requestBody // to close at end of request, if DATA frames didn't + conn *serverConn + + // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc + bw *bufio.Writer // writing to a chunkWriter{this *responseWriterState} + + // mutated by http.Handler goroutine: + handlerHeader http.Header // nil until called + snapHeader http.Header // snapshot of handlerHeader at WriteHeader time + trailers []string // set in writeChunk + status int // status code passed to WriteHeader + wroteHeader bool // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet. + sentHeader bool // have we sent the header frame? + handlerDone bool // handler has finished + dirty bool // a Write failed; don't reuse this responseWriterState + + sentContentLen int64 // non-zero if handler set a Content-Length header + wroteBytes int64 + + closeNotifierMu sync.Mutex // guards closeNotifierCh + closeNotifierCh chan bool // nil until first used +} + +type chunkWriter struct{ rws *responseWriterState } + +func (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) } + +func (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) != 0 } + +// declareTrailer is called for each Trailer header when the +// response header is written. It notes that a header will need to be +// written in the trailers at the end of the response. +func (rws *responseWriterState) declareTrailer(k string) { + k = http.CanonicalHeaderKey(k) + if !ValidTrailerHeader(k) { + // Forbidden by RFC 2616 14.40. + rws.conn.logf("ignoring invalid trailer %q", k) + return + } + if !strSliceContains(rws.trailers, k) { + rws.trailers = append(rws.trailers, k) + } +} + +// writeChunk writes chunks from the bufio.Writer. But because +// bufio.Writer may bypass its chunking, sometimes p may be +// arbitrarily large. +// +// writeChunk is also responsible (on the first chunk) for sending the +// HEADER response. +func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { + if !rws.wroteHeader { + rws.writeHeader(200) + } + + isHeadResp := rws.req.Method == "HEAD" + if !rws.sentHeader { + rws.sentHeader = true + var ctype, clen string + if clen = rws.snapHeader.Get("Content-Length"); clen != "" { + rws.snapHeader.Del("Content-Length") + clen64, err := strconv.ParseInt(clen, 10, 64) + if err == nil && clen64 >= 0 { + rws.sentContentLen = clen64 + } else { + clen = "" + } + } + if clen == "" && rws.handlerDone && bodyAllowedForStatus(rws.status) && (len(p) > 0 || !isHeadResp) { + clen = strconv.Itoa(len(p)) + } + _, hasContentType := rws.snapHeader["Content-Type"] + if !hasContentType && bodyAllowedForStatus(rws.status) { + ctype = http.DetectContentType(p) + } + var date string + if _, ok := rws.snapHeader["Date"]; !ok { + // TODO(bradfitz): be faster here, like net/http? measure. + date = time.Now().UTC().Format(http.TimeFormat) + } + + for _, v := range rws.snapHeader["Trailer"] { + foreachHeaderElement(v, rws.declareTrailer) + } + + endStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp + err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ + streamID: rws.stream.id, + httpResCode: rws.status, + h: rws.snapHeader, + endStream: endStream, + contentType: ctype, + contentLength: clen, + date: date, + }) + if err != nil { + rws.dirty = true + return 0, err + } + if endStream { + return 0, nil + } + } + if isHeadResp { + return len(p), nil + } + if len(p) == 0 && !rws.handlerDone { + return 0, nil + } + + if rws.handlerDone { + rws.promoteUndeclaredTrailers() + } + + endStream := rws.handlerDone && !rws.hasTrailers() + if len(p) > 0 || endStream { + // only send a 0 byte DATA frame if we're ending the stream. + if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil { + rws.dirty = true + return 0, err + } + } + + if rws.handlerDone && rws.hasTrailers() { + err = rws.conn.writeHeaders(rws.stream, &writeResHeaders{ + streamID: rws.stream.id, + h: rws.handlerHeader, + trailers: rws.trailers, + endStream: true, + }) + if err != nil { + rws.dirty = true + } + return len(p), err + } + return len(p), nil +} + +// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys +// that, if present, signals that the map entry is actually for +// the response trailers, and not the response headers. The prefix +// is stripped after the ServeHTTP call finishes and the values are +// sent in the trailers. +// +// This mechanism is intended only for trailers that are not known +// prior to the headers being written. If the set of trailers is fixed +// or known before the header is written, the normal Go trailers mechanism +// is preferred: +// https://golang.org/pkg/net/http/#ResponseWriter +// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers +const TrailerPrefix = "Trailer:" + +// promoteUndeclaredTrailers permits http.Handlers to set trailers +// after the header has already been flushed. Because the Go +// ResponseWriter interface has no way to set Trailers (only the +// Header), and because we didn't want to expand the ResponseWriter +// interface, and because nobody used trailers, and because RFC 2616 +// says you SHOULD (but not must) predeclare any trailers in the +// header, the official ResponseWriter rules said trailers in Go must +// be predeclared, and then we reuse the same ResponseWriter.Header() +// map to mean both Headers and Trailers. When it's time to write the +// Trailers, we pick out the fields of Headers that were declared as +// trailers. That worked for a while, until we found the first major +// user of Trailers in the wild: gRPC (using them only over http2), +// and gRPC libraries permit setting trailers mid-stream without +// predeclarnig them. So: change of plans. We still permit the old +// way, but we also permit this hack: if a Header() key begins with +// "Trailer:", the suffix of that key is a Trailer. Because ':' is an +// invalid token byte anyway, there is no ambiguity. (And it's already +// filtered out) It's mildly hacky, but not terrible. +// +// This method runs after the Handler is done and promotes any Header +// fields to be trailers. +func (rws *responseWriterState) promoteUndeclaredTrailers() { + for k, vv := range rws.handlerHeader { + if !strings.HasPrefix(k, TrailerPrefix) { + continue + } + trailerKey := strings.TrimPrefix(k, TrailerPrefix) + rws.declareTrailer(trailerKey) + rws.handlerHeader[http.CanonicalHeaderKey(trailerKey)] = vv + } + + if len(rws.trailers) > 1 { + sorter := sorterPool.Get().(*sorter) + sorter.SortStrings(rws.trailers) + sorterPool.Put(sorter) + } +} + +func (w *responseWriter) Flush() { + rws := w.rws + if rws == nil { + panic("Header called after Handler finished") + } + if rws.bw.Buffered() > 0 { + if err := rws.bw.Flush(); err != nil { + // Ignore the error. The frame writer already knows. + return + } + } else { + // The bufio.Writer won't call chunkWriter.Write + // (writeChunk with zero bytes, so we have to do it + // ourselves to force the HTTP response header and/or + // final DATA frame (with END_STREAM) to be sent. + rws.writeChunk(nil) + } +} + +func (w *responseWriter) CloseNotify() <-chan bool { + rws := w.rws + if rws == nil { + panic("CloseNotify called after Handler finished") + } + rws.closeNotifierMu.Lock() + ch := rws.closeNotifierCh + if ch == nil { + ch = make(chan bool, 1) + rws.closeNotifierCh = ch + cw := rws.stream.cw + go func() { + cw.Wait() // wait for close + ch <- true + }() + } + rws.closeNotifierMu.Unlock() + return ch +} + +func (w *responseWriter) Header() http.Header { + rws := w.rws + if rws == nil { + panic("Header called after Handler finished") + } + if rws.handlerHeader == nil { + rws.handlerHeader = make(http.Header) + } + return rws.handlerHeader +} + +func (w *responseWriter) WriteHeader(code int) { + rws := w.rws + if rws == nil { + panic("WriteHeader called after Handler finished") + } + rws.writeHeader(code) +} + +func (rws *responseWriterState) writeHeader(code int) { + if !rws.wroteHeader { + rws.wroteHeader = true + rws.status = code + if len(rws.handlerHeader) > 0 { + rws.snapHeader = cloneHeader(rws.handlerHeader) + } + } +} + +func cloneHeader(h http.Header) http.Header { + h2 := make(http.Header, len(h)) + for k, vv := range h { + vv2 := make([]string, len(vv)) + copy(vv2, vv) + h2[k] = vv2 + } + return h2 +} + +// The Life Of A Write is like this: +// +// * Handler calls w.Write or w.WriteString -> +// * -> rws.bw (*bufio.Writer) -> +// * (Handler might call Flush) +// * -> chunkWriter{rws} +// * -> responseWriterState.writeChunk(p []byte) +// * -> responseWriterState.writeChunk (most of the magic; see comment there) +func (w *responseWriter) Write(p []byte) (n int, err error) { + return w.write(len(p), p, "") +} + +func (w *responseWriter) WriteString(s string) (n int, err error) { + return w.write(len(s), nil, s) +} + +// either dataB or dataS is non-zero. +func (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int, err error) { + rws := w.rws + if rws == nil { + panic("Write called after Handler finished") + } + if !rws.wroteHeader { + w.WriteHeader(200) + } + if !bodyAllowedForStatus(rws.status) { + return 0, http.ErrBodyNotAllowed + } + rws.wroteBytes += int64(len(dataB)) + int64(len(dataS)) // only one can be set + if rws.sentContentLen != 0 && rws.wroteBytes > rws.sentContentLen { + // TODO: send a RST_STREAM + return 0, errors.New("http2: handler wrote more than declared Content-Length") + } + + if dataB != nil { + return rws.bw.Write(dataB) + } else { + return rws.bw.WriteString(dataS) + } +} + +func (w *responseWriter) handlerDone() { + rws := w.rws + dirty := rws.dirty + rws.handlerDone = true + w.Flush() + w.rws = nil + if !dirty { + // Only recycle the pool if all prior Write calls to + // the serverConn goroutine completed successfully. If + // they returned earlier due to resets from the peer + // there might still be write goroutines outstanding + // from the serverConn referencing the rws memory. See + // issue 20704. + responseWriterStatePool.Put(rws) + } +} + +// Push errors. +var ( + ErrRecursivePush = errors.New("http2: recursive push not allowed") + ErrPushLimitReached = errors.New("http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS") +) + +// pushOptions is the internal version of http.PushOptions, which we +// cannot include here because it's only defined in Go 1.8 and later. +type pushOptions struct { + Method string + Header http.Header +} + +func (w *responseWriter) push(target string, opts pushOptions) error { + st := w.rws.stream + sc := st.sc + sc.serveG.checkNotOn() + + // No recursive pushes: "PUSH_PROMISE frames MUST only be sent on a peer-initiated stream." + // http://tools.ietf.org/html/rfc7540#section-6.6 + if st.isPushed() { + return ErrRecursivePush + } + + // Default options. + if opts.Method == "" { + opts.Method = "GET" + } + if opts.Header == nil { + opts.Header = http.Header{} + } + wantScheme := "http" + if w.rws.req.TLS != nil { + wantScheme = "https" + } + + // Validate the request. + u, err := url.Parse(target) + if err != nil { + return err + } + if u.Scheme == "" { + if !strings.HasPrefix(target, "/") { + return fmt.Errorf("target must be an absolute URL or an absolute path: %q", target) + } + u.Scheme = wantScheme + u.Host = w.rws.req.Host + } else { + if u.Scheme != wantScheme { + return fmt.Errorf("cannot push URL with scheme %q from request with scheme %q", u.Scheme, wantScheme) + } + if u.Host == "" { + return errors.New("URL must have a host") + } + } + for k := range opts.Header { + if strings.HasPrefix(k, ":") { + return fmt.Errorf("promised request headers cannot include pseudo header %q", k) + } + // These headers are meaningful only if the request has a body, + // but PUSH_PROMISE requests cannot have a body. + // http://tools.ietf.org/html/rfc7540#section-8.2 + // Also disallow Host, since the promised URL must be absolute. + switch strings.ToLower(k) { + case "content-length", "content-encoding", "trailer", "te", "expect", "host": + return fmt.Errorf("promised request headers cannot include %q", k) + } + } + if err := checkValidHTTP2RequestHeaders(opts.Header); err != nil { + return err + } + + // The RFC effectively limits promised requests to GET and HEAD: + // "Promised requests MUST be cacheable [GET, HEAD, or POST], and MUST be safe [GET or HEAD]" + // http://tools.ietf.org/html/rfc7540#section-8.2 + if opts.Method != "GET" && opts.Method != "HEAD" { + return fmt.Errorf("method %q must be GET or HEAD", opts.Method) + } + + msg := &startPushRequest{ + parent: st, + method: opts.Method, + url: u, + header: cloneHeader(opts.Header), + done: errChanPool.Get().(chan error), + } + + select { + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + case sc.serveMsgCh <- msg: + } + + select { + case <-sc.doneServing: + return errClientDisconnected + case <-st.cw: + return errStreamClosed + case err := <-msg.done: + errChanPool.Put(msg.done) + return err + } +} + +type startPushRequest struct { + parent *stream + method string + url *url.URL + header http.Header + done chan error +} + +func (sc *serverConn) startPush(msg *startPushRequest) { + sc.serveG.check() + + // http://tools.ietf.org/html/rfc7540#section-6.6. + // PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that + // is in either the "open" or "half-closed (remote)" state. + if msg.parent.state != stateOpen && msg.parent.state != stateHalfClosedRemote { + // responseWriter.Push checks that the stream is peer-initiaed. + msg.done <- errStreamClosed + return + } + + // http://tools.ietf.org/html/rfc7540#section-6.6. + if !sc.pushEnabled { + msg.done <- http.ErrNotSupported + return + } + + // PUSH_PROMISE frames must be sent in increasing order by stream ID, so + // we allocate an ID for the promised stream lazily, when the PUSH_PROMISE + // is written. Once the ID is allocated, we start the request handler. + allocatePromisedID := func() (uint32, error) { + sc.serveG.check() + + // Check this again, just in case. Technically, we might have received + // an updated SETTINGS by the time we got around to writing this frame. + if !sc.pushEnabled { + return 0, http.ErrNotSupported + } + // http://tools.ietf.org/html/rfc7540#section-6.5.2. + if sc.curPushedStreams+1 > sc.clientMaxStreams { + return 0, ErrPushLimitReached + } + + // http://tools.ietf.org/html/rfc7540#section-5.1.1. + // Streams initiated by the server MUST use even-numbered identifiers. + // A server that is unable to establish a new stream identifier can send a GOAWAY + // frame so that the client is forced to open a new connection for new streams. + if sc.maxPushPromiseID+2 >= 1<<31 { + sc.startGracefulShutdownInternal() + return 0, ErrPushLimitReached + } + sc.maxPushPromiseID += 2 + promisedID := sc.maxPushPromiseID + + // http://tools.ietf.org/html/rfc7540#section-8.2. + // Strictly speaking, the new stream should start in "reserved (local)", then + // transition to "half closed (remote)" after sending the initial HEADERS, but + // we start in "half closed (remote)" for simplicity. + // See further comments at the definition of stateHalfClosedRemote. + promised := sc.newStream(promisedID, msg.parent.id, stateHalfClosedRemote) + rw, req, err := sc.newWriterAndRequestNoBody(promised, requestParam{ + method: msg.method, + scheme: msg.url.Scheme, + authority: msg.url.Host, + path: msg.url.RequestURI(), + header: cloneHeader(msg.header), // clone since handler runs concurrently with writing the PUSH_PROMISE + }) + if err != nil { + // Should not happen, since we've already validated msg.url. + panic(fmt.Sprintf("newWriterAndRequestNoBody(%+v): %v", msg.url, err)) + } + + go sc.runHandler(rw, req, sc.handler.ServeHTTP) + return promisedID, nil + } + + sc.writeFrame(FrameWriteRequest{ + write: &writePushPromise{ + streamID: msg.parent.id, + method: msg.method, + url: msg.url, + h: msg.header, + allocatePromisedID: allocatePromisedID, + }, + stream: msg.parent, + done: msg.done, + }) +} + +// foreachHeaderElement splits v according to the "#rule" construction +// in RFC 2616 section 2.1 and calls fn for each non-empty element. +func foreachHeaderElement(v string, fn func(string)) { + v = textproto.TrimString(v) + if v == "" { + return + } + if !strings.Contains(v, ",") { + fn(v) + return + } + for _, f := range strings.Split(v, ",") { + if f = textproto.TrimString(f); f != "" { + fn(f) + } + } +} + +// From http://httpwg.org/specs/rfc7540.html#rfc.section.8.1.2.2 +var connHeaders = []string{ + "Connection", + "Keep-Alive", + "Proxy-Connection", + "Transfer-Encoding", + "Upgrade", +} + +// checkValidHTTP2RequestHeaders checks whether h is a valid HTTP/2 request, +// per RFC 7540 Section 8.1.2.2. +// The returned error is reported to users. +func checkValidHTTP2RequestHeaders(h http.Header) error { + for _, k := range connHeaders { + if _, ok := h[k]; ok { + return fmt.Errorf("request header %q is not valid in HTTP/2", k) + } + } + te := h["Te"] + if len(te) > 0 && (len(te) > 1 || (te[0] != "trailers" && te[0] != "")) { + return errors.New(`request header "TE" may only be "trailers" in HTTP/2`) + } + return nil +} + +func new400Handler(err error) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + http.Error(w, err.Error(), http.StatusBadRequest) + } +} + +// ValidTrailerHeader reports whether name is a valid header field name to appear +// in trailers. +// See: http://tools.ietf.org/html/rfc7230#section-4.1.2 +func ValidTrailerHeader(name string) bool { + name = http.CanonicalHeaderKey(name) + if strings.HasPrefix(name, "If-") || badTrailer[name] { + return false + } + return true +} + +var badTrailer = map[string]bool{ + "Authorization": true, + "Cache-Control": true, + "Connection": true, + "Content-Encoding": true, + "Content-Length": true, + "Content-Range": true, + "Content-Type": true, + "Expect": true, + "Host": true, + "Keep-Alive": true, + "Max-Forwards": true, + "Pragma": true, + "Proxy-Authenticate": true, + "Proxy-Authorization": true, + "Proxy-Connection": true, + "Range": true, + "Realm": true, + "Te": true, + "Trailer": true, + "Transfer-Encoding": true, + "Www-Authenticate": true, +} + +// h1ServerKeepAlivesDisabled reports whether hs has its keep-alives +// disabled. See comments on h1ServerShutdownChan above for why +// the code is written this way. +func h1ServerKeepAlivesDisabled(hs *http.Server) bool { + var x interface{} = hs + type I interface { + doKeepAlives() bool + } + if hs, ok := x.(I); ok { + return !hs.doKeepAlives() + } + return false +} diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go new file mode 100644 index 000000000000..adb77ffabbbc --- /dev/null +++ b/vendor/golang.org/x/net/http2/transport.go @@ -0,0 +1,2275 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Transport code. + +package http2 + +import ( + "bufio" + "bytes" + "compress/gzip" + "crypto/rand" + "crypto/tls" + "errors" + "fmt" + "io" + "io/ioutil" + "log" + "math" + mathrand "math/rand" + "net" + "net/http" + "sort" + "strconv" + "strings" + "sync" + "time" + + "golang.org/x/net/http2/hpack" + "golang.org/x/net/idna" + "golang.org/x/net/lex/httplex" +) + +const ( + // transportDefaultConnFlow is how many connection-level flow control + // tokens we give the server at start-up, past the default 64k. + transportDefaultConnFlow = 1 << 30 + + // transportDefaultStreamFlow is how many stream-level flow + // control tokens we announce to the peer, and how many bytes + // we buffer per stream. + transportDefaultStreamFlow = 4 << 20 + + // transportDefaultStreamMinRefresh is the minimum number of bytes we'll send + // a stream-level WINDOW_UPDATE for at a time. + transportDefaultStreamMinRefresh = 4 << 10 + + defaultUserAgent = "Go-http-client/2.0" +) + +// Transport is an HTTP/2 Transport. +// +// A Transport internally caches connections to servers. It is safe +// for concurrent use by multiple goroutines. +type Transport struct { + // DialTLS specifies an optional dial function for creating + // TLS connections for requests. + // + // If DialTLS is nil, tls.Dial is used. + // + // If the returned net.Conn has a ConnectionState method like tls.Conn, + // it will be used to set http.Response.TLS. + DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error) + + // TLSClientConfig specifies the TLS configuration to use with + // tls.Client. If nil, the default configuration is used. + TLSClientConfig *tls.Config + + // ConnPool optionally specifies an alternate connection pool to use. + // If nil, the default is used. + ConnPool ClientConnPool + + // DisableCompression, if true, prevents the Transport from + // requesting compression with an "Accept-Encoding: gzip" + // request header when the Request contains no existing + // Accept-Encoding value. If the Transport requests gzip on + // its own and gets a gzipped response, it's transparently + // decoded in the Response.Body. However, if the user + // explicitly requested gzip it is not automatically + // uncompressed. + DisableCompression bool + + // AllowHTTP, if true, permits HTTP/2 requests using the insecure, + // plain-text "http" scheme. Note that this does not enable h2c support. + AllowHTTP bool + + // MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to + // send in the initial settings frame. It is how many bytes + // of response headers are allowed. Unlike the http2 spec, zero here + // means to use a default limit (currently 10MB). If you actually + // want to advertise an ulimited value to the peer, Transport + // interprets the highest possible value here (0xffffffff or 1<<32-1) + // to mean no limit. + MaxHeaderListSize uint32 + + // t1, if non-nil, is the standard library Transport using + // this transport. Its settings are used (but not its + // RoundTrip method, etc). + t1 *http.Transport + + connPoolOnce sync.Once + connPoolOrDef ClientConnPool // non-nil version of ConnPool +} + +func (t *Transport) maxHeaderListSize() uint32 { + if t.MaxHeaderListSize == 0 { + return 10 << 20 + } + if t.MaxHeaderListSize == 0xffffffff { + return 0 + } + return t.MaxHeaderListSize +} + +func (t *Transport) disableCompression() bool { + return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression) +} + +var errTransportVersion = errors.New("http2: ConfigureTransport is only supported starting at Go 1.6") + +// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2. +// It requires Go 1.6 or later and returns an error if the net/http package is too old +// or if t1 has already been HTTP/2-enabled. +func ConfigureTransport(t1 *http.Transport) error { + _, err := configureTransport(t1) // in configure_transport.go (go1.6) or not_go16.go + return err +} + +func (t *Transport) connPool() ClientConnPool { + t.connPoolOnce.Do(t.initConnPool) + return t.connPoolOrDef +} + +func (t *Transport) initConnPool() { + if t.ConnPool != nil { + t.connPoolOrDef = t.ConnPool + } else { + t.connPoolOrDef = &clientConnPool{t: t} + } +} + +// ClientConn is the state of a single HTTP/2 client connection to an +// HTTP/2 server. +type ClientConn struct { + t *Transport + tconn net.Conn // usually *tls.Conn, except specialized impls + tlsState *tls.ConnectionState // nil only for specialized impls + singleUse bool // whether being used for a single http.Request + + // readLoop goroutine fields: + readerDone chan struct{} // closed on error + readerErr error // set before readerDone is closed + + idleTimeout time.Duration // or 0 for never + idleTimer *time.Timer + + mu sync.Mutex // guards following + cond *sync.Cond // hold mu; broadcast on flow/closed changes + flow flow // our conn-level flow control quota (cs.flow is per stream) + inflow flow // peer's conn-level flow control + closed bool + wantSettingsAck bool // we sent a SETTINGS frame and haven't heard back + goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received + goAwayDebug string // goAway frame's debug data, retained as a string + streams map[uint32]*clientStream // client-initiated + nextStreamID uint32 + pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams + pings map[[8]byte]chan struct{} // in flight ping data to notification channel + bw *bufio.Writer + br *bufio.Reader + fr *Framer + lastActive time.Time + // Settings from peer: (also guarded by mu) + maxFrameSize uint32 + maxConcurrentStreams uint32 + peerMaxHeaderListSize uint64 + initialWindowSize uint32 + + hbuf bytes.Buffer // HPACK encoder writes into this + henc *hpack.Encoder + freeBuf [][]byte + + wmu sync.Mutex // held while writing; acquire AFTER mu if holding both + werr error // first write error that has occurred +} + +// clientStream is the state for a single HTTP/2 stream. One of these +// is created for each Transport.RoundTrip call. +type clientStream struct { + cc *ClientConn + req *http.Request + trace *clientTrace // or nil + ID uint32 + resc chan resAndError + bufPipe pipe // buffered pipe with the flow-controlled response payload + startedWrite bool // started request body write; guarded by cc.mu + requestedGzip bool + on100 func() // optional code to run if get a 100 continue response + + flow flow // guarded by cc.mu + inflow flow // guarded by cc.mu + bytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read + readErr error // sticky read error; owned by transportResponseBody.Read + stopReqBody error // if non-nil, stop writing req body; guarded by cc.mu + didReset bool // whether we sent a RST_STREAM to the server; guarded by cc.mu + + peerReset chan struct{} // closed on peer reset + resetErr error // populated before peerReset is closed + + done chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu + + // owned by clientConnReadLoop: + firstByte bool // got the first response byte + pastHeaders bool // got first MetaHeadersFrame (actual headers) + pastTrailers bool // got optional second MetaHeadersFrame (trailers) + + trailer http.Header // accumulated trailers + resTrailer *http.Header // client's Response.Trailer +} + +// awaitRequestCancel waits for the user to cancel a request or for the done +// channel to be signaled. A non-nil error is returned only if the request was +// canceled. +func awaitRequestCancel(req *http.Request, done <-chan struct{}) error { + ctx := reqContext(req) + if req.Cancel == nil && ctx.Done() == nil { + return nil + } + select { + case <-req.Cancel: + return errRequestCanceled + case <-ctx.Done(): + return ctx.Err() + case <-done: + return nil + } +} + +// awaitRequestCancel waits for the user to cancel a request, its context to +// expire, or for the request to be done (any way it might be removed from the +// cc.streams map: peer reset, successful completion, TCP connection breakage, +// etc). If the request is canceled, then cs will be canceled and closed. +func (cs *clientStream) awaitRequestCancel(req *http.Request) { + if err := awaitRequestCancel(req, cs.done); err != nil { + cs.cancelStream() + cs.bufPipe.CloseWithError(err) + } +} + +func (cs *clientStream) cancelStream() { + cc := cs.cc + cc.mu.Lock() + didReset := cs.didReset + cs.didReset = true + cc.mu.Unlock() + + if !didReset { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + cc.forgetStreamID(cs.ID) + } +} + +// checkResetOrDone reports any error sent in a RST_STREAM frame by the +// server, or errStreamClosed if the stream is complete. +func (cs *clientStream) checkResetOrDone() error { + select { + case <-cs.peerReset: + return cs.resetErr + case <-cs.done: + return errStreamClosed + default: + return nil + } +} + +func (cs *clientStream) abortRequestBodyWrite(err error) { + if err == nil { + panic("nil error") + } + cc := cs.cc + cc.mu.Lock() + cs.stopReqBody = err + cc.cond.Broadcast() + cc.mu.Unlock() +} + +type stickyErrWriter struct { + w io.Writer + err *error +} + +func (sew stickyErrWriter) Write(p []byte) (n int, err error) { + if *sew.err != nil { + return 0, *sew.err + } + n, err = sew.w.Write(p) + *sew.err = err + return +} + +var ErrNoCachedConn = errors.New("http2: no cached connection was available") + +// RoundTripOpt are options for the Transport.RoundTripOpt method. +type RoundTripOpt struct { + // OnlyCachedConn controls whether RoundTripOpt may + // create a new TCP connection. If set true and + // no cached connection is available, RoundTripOpt + // will return ErrNoCachedConn. + OnlyCachedConn bool +} + +func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { + return t.RoundTripOpt(req, RoundTripOpt{}) +} + +// authorityAddr returns a given authority (a host/IP, or host:port / ip:port) +// and returns a host:port. The port 443 is added if needed. +func authorityAddr(scheme string, authority string) (addr string) { + host, port, err := net.SplitHostPort(authority) + if err != nil { // authority didn't have a port + port = "443" + if scheme == "http" { + port = "80" + } + host = authority + } + if a, err := idna.ToASCII(host); err == nil { + host = a + } + // IPv6 address literal, without a port: + if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") { + return host + ":" + port + } + return net.JoinHostPort(host, port) +} + +// RoundTripOpt is like RoundTrip, but takes options. +func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) { + if !(req.URL.Scheme == "https" || (req.URL.Scheme == "http" && t.AllowHTTP)) { + return nil, errors.New("http2: unsupported scheme") + } + + addr := authorityAddr(req.URL.Scheme, req.URL.Host) + for retry := 0; ; retry++ { + cc, err := t.connPool().GetClientConn(req, addr) + if err != nil { + t.vlogf("http2: Transport failed to get client conn for %s: %v", addr, err) + return nil, err + } + traceGotConn(req, cc) + res, err := cc.RoundTrip(req) + if err != nil && retry <= 6 { + afterBodyWrite := false + if e, ok := err.(afterReqBodyWriteError); ok { + err = e + afterBodyWrite = true + } + if req, err = shouldRetryRequest(req, err, afterBodyWrite); err == nil { + // After the first retry, do exponential backoff with 10% jitter. + if retry == 0 { + continue + } + backoff := float64(uint(1) << (uint(retry) - 1)) + backoff += backoff * (0.1 * mathrand.Float64()) + select { + case <-time.After(time.Second * time.Duration(backoff)): + continue + case <-reqContext(req).Done(): + return nil, reqContext(req).Err() + } + } + } + if err != nil { + t.vlogf("RoundTrip failure: %v", err) + return nil, err + } + return res, nil + } +} + +// CloseIdleConnections closes any connections which were previously +// connected from previous requests but are now sitting idle. +// It does not interrupt any connections currently in use. +func (t *Transport) CloseIdleConnections() { + if cp, ok := t.connPool().(clientConnPoolIdleCloser); ok { + cp.closeIdleConnections() + } +} + +var ( + errClientConnClosed = errors.New("http2: client conn is closed") + errClientConnUnusable = errors.New("http2: client conn not usable") + errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY") +) + +// afterReqBodyWriteError is a wrapper around errors returned by ClientConn.RoundTrip. +// It is used to signal that err happened after part of Request.Body was sent to the server. +type afterReqBodyWriteError struct { + err error +} + +func (e afterReqBodyWriteError) Error() string { + return e.err.Error() + "; some request body already written" +} + +// shouldRetryRequest is called by RoundTrip when a request fails to get +// response headers. It is always called with a non-nil error. +// It returns either a request to retry (either the same request, or a +// modified clone), or an error if the request can't be replayed. +func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) { + if !canRetryError(err) { + return nil, err + } + if !afterBodyWrite { + return req, nil + } + // If the Body is nil (or http.NoBody), it's safe to reuse + // this request and its Body. + if req.Body == nil || reqBodyIsNoBody(req.Body) { + return req, nil + } + // Otherwise we depend on the Request having its GetBody + // func defined. + getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody + if getBody == nil { + return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err) + } + body, err := getBody() + if err != nil { + return nil, err + } + newReq := *req + newReq.Body = body + return &newReq, nil +} + +func canRetryError(err error) bool { + if err == errClientConnUnusable || err == errClientConnGotGoAway { + return true + } + if se, ok := err.(StreamError); ok { + return se.Code == ErrCodeRefusedStream + } + return false +} + +func (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } + tconn, err := t.dialTLS()("tcp", addr, t.newTLSConfig(host)) + if err != nil { + return nil, err + } + return t.newClientConn(tconn, singleUse) +} + +func (t *Transport) newTLSConfig(host string) *tls.Config { + cfg := new(tls.Config) + if t.TLSClientConfig != nil { + *cfg = *cloneTLSConfig(t.TLSClientConfig) + } + if !strSliceContains(cfg.NextProtos, NextProtoTLS) { + cfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...) + } + if cfg.ServerName == "" { + cfg.ServerName = host + } + return cfg +} + +func (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) { + if t.DialTLS != nil { + return t.DialTLS + } + return t.dialTLSDefault +} + +func (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) { + cn, err := tls.Dial(network, addr, cfg) + if err != nil { + return nil, err + } + if err := cn.Handshake(); err != nil { + return nil, err + } + if !cfg.InsecureSkipVerify { + if err := cn.VerifyHostname(cfg.ServerName); err != nil { + return nil, err + } + } + state := cn.ConnectionState() + if p := state.NegotiatedProtocol; p != NextProtoTLS { + return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS) + } + if !state.NegotiatedProtocolIsMutual { + return nil, errors.New("http2: could not negotiate protocol mutually") + } + return cn, nil +} + +// disableKeepAlives reports whether connections should be closed as +// soon as possible after handling the first request. +func (t *Transport) disableKeepAlives() bool { + return t.t1 != nil && t.t1.DisableKeepAlives +} + +func (t *Transport) expectContinueTimeout() time.Duration { + if t.t1 == nil { + return 0 + } + return transportExpectContinueTimeout(t.t1) +} + +func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { + return t.newClientConn(c, false) +} + +func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) { + cc := &ClientConn{ + t: t, + tconn: c, + readerDone: make(chan struct{}), + nextStreamID: 1, + maxFrameSize: 16 << 10, // spec default + initialWindowSize: 65535, // spec default + maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. + peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. + streams: make(map[uint32]*clientStream), + singleUse: singleUse, + wantSettingsAck: true, + pings: make(map[[8]byte]chan struct{}), + } + if d := t.idleConnTimeout(); d != 0 { + cc.idleTimeout = d + cc.idleTimer = time.AfterFunc(d, cc.onIdleTimeout) + } + if VerboseLogs { + t.vlogf("http2: Transport creating client conn %p to %v", cc, c.RemoteAddr()) + } + + cc.cond = sync.NewCond(&cc.mu) + cc.flow.add(int32(initialWindowSize)) + + // TODO: adjust this writer size to account for frame size + + // MTU + crypto/tls record padding. + cc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr}) + cc.br = bufio.NewReader(c) + cc.fr = NewFramer(cc.bw, cc.br) + cc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + cc.fr.MaxHeaderListSize = t.maxHeaderListSize() + + // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on + // henc in response to SETTINGS frames? + cc.henc = hpack.NewEncoder(&cc.hbuf) + + if cs, ok := c.(connectionStater); ok { + state := cs.ConnectionState() + cc.tlsState = &state + } + + initialSettings := []Setting{ + {ID: SettingEnablePush, Val: 0}, + {ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow}, + } + if max := t.maxHeaderListSize(); max != 0 { + initialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max}) + } + + cc.bw.Write(clientPreface) + cc.fr.WriteSettings(initialSettings...) + cc.fr.WriteWindowUpdate(0, transportDefaultConnFlow) + cc.inflow.add(transportDefaultConnFlow + initialWindowSize) + cc.bw.Flush() + if cc.werr != nil { + return nil, cc.werr + } + + go cc.readLoop() + return cc, nil +} + +func (cc *ClientConn) setGoAway(f *GoAwayFrame) { + cc.mu.Lock() + defer cc.mu.Unlock() + + old := cc.goAway + cc.goAway = f + + // Merge the previous and current GoAway error frames. + if cc.goAwayDebug == "" { + cc.goAwayDebug = string(f.DebugData()) + } + if old != nil && old.ErrCode != ErrCodeNo { + cc.goAway.ErrCode = old.ErrCode + } + last := f.LastStreamID + for streamID, cs := range cc.streams { + if streamID > last { + select { + case cs.resc <- resAndError{err: errClientConnGotGoAway}: + default: + } + } + } +} + +// CanTakeNewRequest reports whether the connection can take a new request, +// meaning it has not been closed or received or sent a GOAWAY. +func (cc *ClientConn) CanTakeNewRequest() bool { + cc.mu.Lock() + defer cc.mu.Unlock() + return cc.canTakeNewRequestLocked() +} + +func (cc *ClientConn) canTakeNewRequestLocked() bool { + if cc.singleUse && cc.nextStreamID > 1 { + return false + } + return cc.goAway == nil && !cc.closed && + int64(cc.nextStreamID)+int64(cc.pendingRequests) < math.MaxInt32 +} + +// onIdleTimeout is called from a time.AfterFunc goroutine. It will +// only be called when we're idle, but because we're coming from a new +// goroutine, there could be a new request coming in at the same time, +// so this simply calls the synchronized closeIfIdle to shut down this +// connection. The timer could just call closeIfIdle, but this is more +// clear. +func (cc *ClientConn) onIdleTimeout() { + cc.closeIfIdle() +} + +func (cc *ClientConn) closeIfIdle() { + cc.mu.Lock() + if len(cc.streams) > 0 { + cc.mu.Unlock() + return + } + cc.closed = true + nextID := cc.nextStreamID + // TODO: do clients send GOAWAY too? maybe? Just Close: + cc.mu.Unlock() + + if VerboseLogs { + cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, nextID-2) + } + cc.tconn.Close() +} + +const maxAllocFrameSize = 512 << 10 + +// frameBuffer returns a scratch buffer suitable for writing DATA frames. +// They're capped at the min of the peer's max frame size or 512KB +// (kinda arbitrarily), but definitely capped so we don't allocate 4GB +// bufers. +func (cc *ClientConn) frameScratchBuffer() []byte { + cc.mu.Lock() + size := cc.maxFrameSize + if size > maxAllocFrameSize { + size = maxAllocFrameSize + } + for i, buf := range cc.freeBuf { + if len(buf) >= int(size) { + cc.freeBuf[i] = nil + cc.mu.Unlock() + return buf[:size] + } + } + cc.mu.Unlock() + return make([]byte, size) +} + +func (cc *ClientConn) putFrameScratchBuffer(buf []byte) { + cc.mu.Lock() + defer cc.mu.Unlock() + const maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate. + if len(cc.freeBuf) < maxBufs { + cc.freeBuf = append(cc.freeBuf, buf) + return + } + for i, old := range cc.freeBuf { + if old == nil { + cc.freeBuf[i] = buf + return + } + } + // forget about it. +} + +// errRequestCanceled is a copy of net/http's errRequestCanceled because it's not +// exported. At least they'll be DeepEqual for h1-vs-h2 comparisons tests. +var errRequestCanceled = errors.New("net/http: request canceled") + +func commaSeparatedTrailers(req *http.Request) (string, error) { + keys := make([]string, 0, len(req.Trailer)) + for k := range req.Trailer { + k = http.CanonicalHeaderKey(k) + switch k { + case "Transfer-Encoding", "Trailer", "Content-Length": + return "", &badStringError{"invalid Trailer key", k} + } + keys = append(keys, k) + } + if len(keys) > 0 { + sort.Strings(keys) + return strings.Join(keys, ","), nil + } + return "", nil +} + +func (cc *ClientConn) responseHeaderTimeout() time.Duration { + if cc.t.t1 != nil { + return cc.t.t1.ResponseHeaderTimeout + } + // No way to do this (yet?) with just an http2.Transport. Probably + // no need. Request.Cancel this is the new way. We only need to support + // this for compatibility with the old http.Transport fields when + // we're doing transparent http2. + return 0 +} + +// checkConnHeaders checks whether req has any invalid connection-level headers. +// per RFC 7540 section 8.1.2.2: Connection-Specific Header Fields. +// Certain headers are special-cased as okay but not transmitted later. +func checkConnHeaders(req *http.Request) error { + if v := req.Header.Get("Upgrade"); v != "" { + return fmt.Errorf("http2: invalid Upgrade request header: %q", req.Header["Upgrade"]) + } + if vv := req.Header["Transfer-Encoding"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && vv[0] != "chunked") { + return fmt.Errorf("http2: invalid Transfer-Encoding request header: %q", vv) + } + if vv := req.Header["Connection"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && vv[0] != "close" && vv[0] != "keep-alive") { + return fmt.Errorf("http2: invalid Connection request header: %q", vv) + } + return nil +} + +// actualContentLength returns a sanitized version of +// req.ContentLength, where 0 actually means zero (not unknown) and -1 +// means unknown. +func actualContentLength(req *http.Request) int64 { + if req.Body == nil || reqBodyIsNoBody(req.Body) { + return 0 + } + if req.ContentLength != 0 { + return req.ContentLength + } + return -1 +} + +func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { + if err := checkConnHeaders(req); err != nil { + return nil, err + } + if cc.idleTimer != nil { + cc.idleTimer.Stop() + } + + trailers, err := commaSeparatedTrailers(req) + if err != nil { + return nil, err + } + hasTrailers := trailers != "" + + cc.mu.Lock() + if err := cc.awaitOpenSlotForRequest(req); err != nil { + cc.mu.Unlock() + return nil, err + } + + body := req.Body + contentLen := actualContentLength(req) + hasBody := contentLen != 0 + + // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? + var requestedGzip bool + if !cc.t.disableCompression() && + req.Header.Get("Accept-Encoding") == "" && + req.Header.Get("Range") == "" && + req.Method != "HEAD" { + // Request gzip only, not deflate. Deflate is ambiguous and + // not as universally supported anyway. + // See: http://www.gzip.org/zlib/zlib_faq.html#faq38 + // + // Note that we don't request this for HEAD requests, + // due to a bug in nginx: + // http://trac.nginx.org/nginx/ticket/358 + // https://golang.org/issue/5522 + // + // We don't request gzip if the request is for a range, since + // auto-decoding a portion of a gzipped document will just fail + // anyway. See https://golang.org/issue/8923 + requestedGzip = true + } + + // we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is + // sent by writeRequestBody below, along with any Trailers, + // again in form HEADERS{1}, CONTINUATION{0,}) + hdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen) + if err != nil { + cc.mu.Unlock() + return nil, err + } + + cs := cc.newStream() + cs.req = req + cs.trace = requestTrace(req) + cs.requestedGzip = requestedGzip + bodyWriter := cc.t.getBodyWriterState(cs, body) + cs.on100 = bodyWriter.on100 + + cc.wmu.Lock() + endStream := !hasBody && !hasTrailers + werr := cc.writeHeaders(cs.ID, endStream, hdrs) + cc.wmu.Unlock() + traceWroteHeaders(cs.trace) + cc.mu.Unlock() + + if werr != nil { + if hasBody { + req.Body.Close() // per RoundTripper contract + bodyWriter.cancel() + } + cc.forgetStreamID(cs.ID) + // Don't bother sending a RST_STREAM (our write already failed; + // no need to keep writing) + traceWroteRequest(cs.trace, werr) + return nil, werr + } + + var respHeaderTimer <-chan time.Time + if hasBody { + bodyWriter.scheduleBodyWrite() + } else { + traceWroteRequest(cs.trace, nil) + if d := cc.responseHeaderTimeout(); d != 0 { + timer := time.NewTimer(d) + defer timer.Stop() + respHeaderTimer = timer.C + } + } + + readLoopResCh := cs.resc + bodyWritten := false + ctx := reqContext(req) + + handleReadLoopResponse := func(re resAndError) (*http.Response, error) { + res := re.res + if re.err != nil || res.StatusCode > 299 { + // On error or status code 3xx, 4xx, 5xx, etc abort any + // ongoing write, assuming that the server doesn't care + // about our request body. If the server replied with 1xx or + // 2xx, however, then assume the server DOES potentially + // want our body (e.g. full-duplex streaming: + // golang.org/issue/13444). If it turns out the server + // doesn't, they'll RST_STREAM us soon enough. This is a + // heuristic to avoid adding knobs to Transport. Hopefully + // we can keep it. + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWrite) + } + if re.err != nil { + cc.mu.Lock() + afterBodyWrite := cs.startedWrite + cc.mu.Unlock() + cc.forgetStreamID(cs.ID) + if afterBodyWrite { + return nil, afterReqBodyWriteError{re.err} + } + return nil, re.err + } + res.Request = req + res.TLS = cc.tlsState + return res, nil + } + + for { + select { + case re := <-readLoopResCh: + return handleReadLoopResponse(re) + case <-respHeaderTimer: + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, errTimeout + case <-ctx.Done(): + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, ctx.Err() + case <-req.Cancel: + if !hasBody || bodyWritten { + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + } else { + bodyWriter.cancel() + cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) + } + cc.forgetStreamID(cs.ID) + return nil, errRequestCanceled + case <-cs.peerReset: + // processResetStream already removed the + // stream from the streams map; no need for + // forgetStreamID. + return nil, cs.resetErr + case err := <-bodyWriter.resc: + // Prefer the read loop's response, if available. Issue 16102. + select { + case re := <-readLoopResCh: + return handleReadLoopResponse(re) + default: + } + if err != nil { + return nil, err + } + bodyWritten = true + if d := cc.responseHeaderTimeout(); d != 0 { + timer := time.NewTimer(d) + defer timer.Stop() + respHeaderTimer = timer.C + } + } + } +} + +// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams. +// Must hold cc.mu. +func (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error { + var waitingForConn chan struct{} + var waitingForConnErr error // guarded by cc.mu + for { + cc.lastActive = time.Now() + if cc.closed || !cc.canTakeNewRequestLocked() { + return errClientConnUnusable + } + if int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) { + if waitingForConn != nil { + close(waitingForConn) + } + return nil + } + // Unfortunately, we cannot wait on a condition variable and channel at + // the same time, so instead, we spin up a goroutine to check if the + // request is canceled while we wait for a slot to open in the connection. + if waitingForConn == nil { + waitingForConn = make(chan struct{}) + go func() { + if err := awaitRequestCancel(req, waitingForConn); err != nil { + cc.mu.Lock() + waitingForConnErr = err + cc.cond.Broadcast() + cc.mu.Unlock() + } + }() + } + cc.pendingRequests++ + cc.cond.Wait() + cc.pendingRequests-- + if waitingForConnErr != nil { + return waitingForConnErr + } + } +} + +// requires cc.wmu be held +func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, hdrs []byte) error { + first := true // first frame written (HEADERS is first, then CONTINUATION) + frameSize := int(cc.maxFrameSize) + for len(hdrs) > 0 && cc.werr == nil { + chunk := hdrs + if len(chunk) > frameSize { + chunk = chunk[:frameSize] + } + hdrs = hdrs[len(chunk):] + endHeaders := len(hdrs) == 0 + if first { + cc.fr.WriteHeaders(HeadersFrameParam{ + StreamID: streamID, + BlockFragment: chunk, + EndStream: endStream, + EndHeaders: endHeaders, + }) + first = false + } else { + cc.fr.WriteContinuation(streamID, endHeaders, chunk) + } + } + // TODO(bradfitz): this Flush could potentially block (as + // could the WriteHeaders call(s) above), which means they + // wouldn't respond to Request.Cancel being readable. That's + // rare, but this should probably be in a goroutine. + cc.bw.Flush() + return cc.werr +} + +// internal error values; they don't escape to callers +var ( + // abort request body write; don't send cancel + errStopReqBodyWrite = errors.New("http2: aborting request body write") + + // abort request body write, but send stream reset of cancel. + errStopReqBodyWriteAndCancel = errors.New("http2: canceling request") +) + +func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) { + cc := cs.cc + sentEnd := false // whether we sent the final DATA frame w/ END_STREAM + buf := cc.frameScratchBuffer() + defer cc.putFrameScratchBuffer(buf) + + defer func() { + traceWroteRequest(cs.trace, err) + // TODO: write h12Compare test showing whether + // Request.Body is closed by the Transport, + // and in multiple cases: server replies <=299 and >299 + // while still writing request body + cerr := bodyCloser.Close() + if err == nil { + err = cerr + } + }() + + req := cs.req + hasTrailers := req.Trailer != nil + + var sawEOF bool + for !sawEOF { + n, err := body.Read(buf) + if err == io.EOF { + sawEOF = true + err = nil + } else if err != nil { + return err + } + + remain := buf[:n] + for len(remain) > 0 && err == nil { + var allowed int32 + allowed, err = cs.awaitFlowControl(len(remain)) + switch { + case err == errStopReqBodyWrite: + return err + case err == errStopReqBodyWriteAndCancel: + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + return err + case err != nil: + return err + } + cc.wmu.Lock() + data := remain[:allowed] + remain = remain[allowed:] + sentEnd = sawEOF && len(remain) == 0 && !hasTrailers + err = cc.fr.WriteData(cs.ID, sentEnd, data) + if err == nil { + // TODO(bradfitz): this flush is for latency, not bandwidth. + // Most requests won't need this. Make this opt-in or + // opt-out? Use some heuristic on the body type? Nagel-like + // timers? Based on 'n'? Only last chunk of this for loop, + // unless flow control tokens are low? For now, always. + // If we change this, see comment below. + err = cc.bw.Flush() + } + cc.wmu.Unlock() + } + if err != nil { + return err + } + } + + if sentEnd { + // Already sent END_STREAM (which implies we have no + // trailers) and flushed, because currently all + // WriteData frames above get a flush. So we're done. + return nil + } + + var trls []byte + if hasTrailers { + cc.mu.Lock() + trls, err = cc.encodeTrailers(req) + cc.mu.Unlock() + if err != nil { + cc.writeStreamReset(cs.ID, ErrCodeInternal, err) + cc.forgetStreamID(cs.ID) + return err + } + } + + cc.wmu.Lock() + defer cc.wmu.Unlock() + + // Two ways to send END_STREAM: either with trailers, or + // with an empty DATA frame. + if len(trls) > 0 { + err = cc.writeHeaders(cs.ID, true, trls) + } else { + err = cc.fr.WriteData(cs.ID, true, nil) + } + if ferr := cc.bw.Flush(); ferr != nil && err == nil { + err = ferr + } + return err +} + +// awaitFlowControl waits for [1, min(maxBytes, cc.cs.maxFrameSize)] flow +// control tokens from the server. +// It returns either the non-zero number of tokens taken or an error +// if the stream is dead. +func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) { + cc := cs.cc + cc.mu.Lock() + defer cc.mu.Unlock() + for { + if cc.closed { + return 0, errClientConnClosed + } + if cs.stopReqBody != nil { + return 0, cs.stopReqBody + } + if err := cs.checkResetOrDone(); err != nil { + return 0, err + } + if a := cs.flow.available(); a > 0 { + take := a + if int(take) > maxBytes { + + take = int32(maxBytes) // can't truncate int; take is int32 + } + if take > int32(cc.maxFrameSize) { + take = int32(cc.maxFrameSize) + } + cs.flow.take(take) + return take, nil + } + cc.cond.Wait() + } +} + +type badStringError struct { + what string + str string +} + +func (e *badStringError) Error() string { return fmt.Sprintf("%s %q", e.what, e.str) } + +// requires cc.mu be held. +func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) { + cc.hbuf.Reset() + + host := req.Host + if host == "" { + host = req.URL.Host + } + host, err := httplex.PunycodeHostPort(host) + if err != nil { + return nil, err + } + + var path string + if req.Method != "CONNECT" { + path = req.URL.RequestURI() + if !validPseudoPath(path) { + orig := path + path = strings.TrimPrefix(path, req.URL.Scheme+"://"+host) + if !validPseudoPath(path) { + if req.URL.Opaque != "" { + return nil, fmt.Errorf("invalid request :path %q from URL.Opaque = %q", orig, req.URL.Opaque) + } else { + return nil, fmt.Errorf("invalid request :path %q", orig) + } + } + } + } + + // Check for any invalid headers and return an error before we + // potentially pollute our hpack state. (We want to be able to + // continue to reuse the hpack encoder for future requests) + for k, vv := range req.Header { + if !httplex.ValidHeaderFieldName(k) { + return nil, fmt.Errorf("invalid HTTP header name %q", k) + } + for _, v := range vv { + if !httplex.ValidHeaderFieldValue(v) { + return nil, fmt.Errorf("invalid HTTP header value %q for header %q", v, k) + } + } + } + + enumerateHeaders := func(f func(name, value string)) { + // 8.1.2.3 Request Pseudo-Header Fields + // The :path pseudo-header field includes the path and query parts of the + // target URI (the path-absolute production and optionally a '?' character + // followed by the query production (see Sections 3.3 and 3.4 of + // [RFC3986]). + f(":authority", host) + f(":method", req.Method) + if req.Method != "CONNECT" { + f(":path", path) + f(":scheme", req.URL.Scheme) + } + if trailers != "" { + f("trailer", trailers) + } + + var didUA bool + for k, vv := range req.Header { + if strings.EqualFold(k, "host") || strings.EqualFold(k, "content-length") { + // Host is :authority, already sent. + // Content-Length is automatic, set below. + continue + } else if strings.EqualFold(k, "connection") || strings.EqualFold(k, "proxy-connection") || + strings.EqualFold(k, "transfer-encoding") || strings.EqualFold(k, "upgrade") || + strings.EqualFold(k, "keep-alive") { + // Per 8.1.2.2 Connection-Specific Header + // Fields, don't send connection-specific + // fields. We have already checked if any + // are error-worthy so just ignore the rest. + continue + } else if strings.EqualFold(k, "user-agent") { + // Match Go's http1 behavior: at most one + // User-Agent. If set to nil or empty string, + // then omit it. Otherwise if not mentioned, + // include the default (below). + didUA = true + if len(vv) < 1 { + continue + } + vv = vv[:1] + if vv[0] == "" { + continue + } + + } + + for _, v := range vv { + f(k, v) + } + } + if shouldSendReqContentLength(req.Method, contentLength) { + f("content-length", strconv.FormatInt(contentLength, 10)) + } + if addGzipHeader { + f("accept-encoding", "gzip") + } + if !didUA { + f("user-agent", defaultUserAgent) + } + } + + // Do a first pass over the headers counting bytes to ensure + // we don't exceed cc.peerMaxHeaderListSize. This is done as a + // separate pass before encoding the headers to prevent + // modifying the hpack state. + hlSize := uint64(0) + enumerateHeaders(func(name, value string) { + hf := hpack.HeaderField{Name: name, Value: value} + hlSize += uint64(hf.Size()) + }) + + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize + } + + // Header list size is ok. Write the headers. + enumerateHeaders(func(name, value string) { + cc.writeHeader(strings.ToLower(name), value) + }) + + return cc.hbuf.Bytes(), nil +} + +// shouldSendReqContentLength reports whether the http2.Transport should send +// a "content-length" request header. This logic is basically a copy of the net/http +// transferWriter.shouldSendContentLength. +// The contentLength is the corrected contentLength (so 0 means actually 0, not unknown). +// -1 means unknown. +func shouldSendReqContentLength(method string, contentLength int64) bool { + if contentLength > 0 { + return true + } + if contentLength < 0 { + return false + } + // For zero bodies, whether we send a content-length depends on the method. + // It also kinda doesn't matter for http2 either way, with END_STREAM. + switch method { + case "POST", "PUT", "PATCH": + return true + default: + return false + } +} + +// requires cc.mu be held. +func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) { + cc.hbuf.Reset() + + hlSize := uint64(0) + for k, vv := range req.Trailer { + for _, v := range vv { + hf := hpack.HeaderField{Name: k, Value: v} + hlSize += uint64(hf.Size()) + } + } + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize + } + + for k, vv := range req.Trailer { + // Transfer-Encoding, etc.. have already been filtered at the + // start of RoundTrip + lowKey := strings.ToLower(k) + for _, v := range vv { + cc.writeHeader(lowKey, v) + } + } + return cc.hbuf.Bytes(), nil +} + +func (cc *ClientConn) writeHeader(name, value string) { + if VerboseLogs { + log.Printf("http2: Transport encoding header %q = %q", name, value) + } + cc.henc.WriteField(hpack.HeaderField{Name: name, Value: value}) +} + +type resAndError struct { + res *http.Response + err error +} + +// requires cc.mu be held. +func (cc *ClientConn) newStream() *clientStream { + cs := &clientStream{ + cc: cc, + ID: cc.nextStreamID, + resc: make(chan resAndError, 1), + peerReset: make(chan struct{}), + done: make(chan struct{}), + } + cs.flow.add(int32(cc.initialWindowSize)) + cs.flow.setConnFlow(&cc.flow) + cs.inflow.add(transportDefaultStreamFlow) + cs.inflow.setConnFlow(&cc.inflow) + cc.nextStreamID += 2 + cc.streams[cs.ID] = cs + return cs +} + +func (cc *ClientConn) forgetStreamID(id uint32) { + cc.streamByID(id, true) +} + +func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream { + cc.mu.Lock() + defer cc.mu.Unlock() + cs := cc.streams[id] + if andRemove && cs != nil && !cc.closed { + cc.lastActive = time.Now() + delete(cc.streams, id) + if len(cc.streams) == 0 && cc.idleTimer != nil { + cc.idleTimer.Reset(cc.idleTimeout) + } + close(cs.done) + // Wake up checkResetOrDone via clientStream.awaitFlowControl and + // wake up RoundTrip if there is a pending request. + cc.cond.Broadcast() + } + return cs +} + +// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop. +type clientConnReadLoop struct { + cc *ClientConn + activeRes map[uint32]*clientStream // keyed by streamID + closeWhenIdle bool +} + +// readLoop runs in its own goroutine and reads and dispatches frames. +func (cc *ClientConn) readLoop() { + rl := &clientConnReadLoop{ + cc: cc, + activeRes: make(map[uint32]*clientStream), + } + + defer rl.cleanup() + cc.readerErr = rl.run() + if ce, ok := cc.readerErr.(ConnectionError); ok { + cc.wmu.Lock() + cc.fr.WriteGoAway(0, ErrCode(ce), nil) + cc.wmu.Unlock() + } +} + +// GoAwayError is returned by the Transport when the server closes the +// TCP connection after sending a GOAWAY frame. +type GoAwayError struct { + LastStreamID uint32 + ErrCode ErrCode + DebugData string +} + +func (e GoAwayError) Error() string { + return fmt.Sprintf("http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q", + e.LastStreamID, e.ErrCode, e.DebugData) +} + +func isEOFOrNetReadError(err error) bool { + if err == io.EOF { + return true + } + ne, ok := err.(*net.OpError) + return ok && ne.Op == "read" +} + +func (rl *clientConnReadLoop) cleanup() { + cc := rl.cc + defer cc.tconn.Close() + defer cc.t.connPool().MarkDead(cc) + defer close(cc.readerDone) + + if cc.idleTimer != nil { + cc.idleTimer.Stop() + } + + // Close any response bodies if the server closes prematurely. + // TODO: also do this if we've written the headers but not + // gotten a response yet. + err := cc.readerErr + cc.mu.Lock() + if cc.goAway != nil && isEOFOrNetReadError(err) { + err = GoAwayError{ + LastStreamID: cc.goAway.LastStreamID, + ErrCode: cc.goAway.ErrCode, + DebugData: cc.goAwayDebug, + } + } else if err == io.EOF { + err = io.ErrUnexpectedEOF + } + for _, cs := range rl.activeRes { + cs.bufPipe.CloseWithError(err) + } + for _, cs := range cc.streams { + select { + case cs.resc <- resAndError{err: err}: + default: + } + close(cs.done) + } + cc.closed = true + cc.cond.Broadcast() + cc.mu.Unlock() +} + +func (rl *clientConnReadLoop) run() error { + cc := rl.cc + rl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse + gotReply := false // ever saw a HEADERS reply + gotSettings := false + for { + f, err := cc.fr.ReadFrame() + if err != nil { + cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err) + } + if se, ok := err.(StreamError); ok { + if cs := cc.streamByID(se.StreamID, false); cs != nil { + cs.cc.writeStreamReset(cs.ID, se.Code, err) + cs.cc.forgetStreamID(cs.ID) + if se.Cause == nil { + se.Cause = cc.fr.errDetail + } + rl.endStreamError(cs, se) + } + continue + } else if err != nil { + return err + } + if VerboseLogs { + cc.vlogf("http2: Transport received %s", summarizeFrame(f)) + } + if !gotSettings { + if _, ok := f.(*SettingsFrame); !ok { + cc.logf("protocol error: received %T before a SETTINGS frame", f) + return ConnectionError(ErrCodeProtocol) + } + gotSettings = true + } + maybeIdle := false // whether frame might transition us to idle + + switch f := f.(type) { + case *MetaHeadersFrame: + err = rl.processHeaders(f) + maybeIdle = true + gotReply = true + case *DataFrame: + err = rl.processData(f) + maybeIdle = true + case *GoAwayFrame: + err = rl.processGoAway(f) + maybeIdle = true + case *RSTStreamFrame: + err = rl.processResetStream(f) + maybeIdle = true + case *SettingsFrame: + err = rl.processSettings(f) + case *PushPromiseFrame: + err = rl.processPushPromise(f) + case *WindowUpdateFrame: + err = rl.processWindowUpdate(f) + case *PingFrame: + err = rl.processPing(f) + default: + cc.logf("Transport: unhandled response frame type %T", f) + } + if err != nil { + if VerboseLogs { + cc.vlogf("http2: Transport conn %p received error from processing frame %v: %v", cc, summarizeFrame(f), err) + } + return err + } + if rl.closeWhenIdle && gotReply && maybeIdle && len(rl.activeRes) == 0 { + cc.closeIfIdle() + } + } +} + +func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, f.StreamEnded()) + if cs == nil { + // We'd get here if we canceled a request while the + // server had its response still in flight. So if this + // was just something we canceled, ignore it. + return nil + } + if !cs.firstByte { + if cs.trace != nil { + // TODO(bradfitz): move first response byte earlier, + // when we first read the 9 byte header, not waiting + // until all the HEADERS+CONTINUATION frames have been + // merged. This works for now. + traceFirstResponseByte(cs.trace) + } + cs.firstByte = true + } + if !cs.pastHeaders { + cs.pastHeaders = true + } else { + return rl.processTrailers(cs, f) + } + + res, err := rl.handleResponse(cs, f) + if err != nil { + if _, ok := err.(ConnectionError); ok { + return err + } + // Any other error type is a stream error. + cs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err) + cs.resc <- resAndError{err: err} + return nil // return nil from process* funcs to keep conn alive + } + if res == nil { + // (nil, nil) special case. See handleResponse docs. + return nil + } + if res.Body != noBody { + rl.activeRes[cs.ID] = cs + } + cs.resTrailer = &res.Trailer + cs.resc <- resAndError{res: res} + return nil +} + +// may return error types nil, or ConnectionError. Any other error value +// is a StreamError of type ErrCodeProtocol. The returned error in that case +// is the detail. +// +// As a special case, handleResponse may return (nil, nil) to skip the +// frame (currently only used for 100 expect continue). This special +// case is going away after Issue 13851 is fixed. +func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFrame) (*http.Response, error) { + if f.Truncated { + return nil, errResponseHeaderListSize + } + + status := f.PseudoValue("status") + if status == "" { + return nil, errors.New("missing status pseudo header") + } + statusCode, err := strconv.Atoi(status) + if err != nil { + return nil, errors.New("malformed non-numeric status pseudo header") + } + + if statusCode == 100 { + traceGot100Continue(cs.trace) + if cs.on100 != nil { + cs.on100() // forces any write delay timer to fire + } + cs.pastHeaders = false // do it all again + return nil, nil + } + + header := make(http.Header) + res := &http.Response{ + Proto: "HTTP/2.0", + ProtoMajor: 2, + Header: header, + StatusCode: statusCode, + Status: status + " " + http.StatusText(statusCode), + } + for _, hf := range f.RegularFields() { + key := http.CanonicalHeaderKey(hf.Name) + if key == "Trailer" { + t := res.Trailer + if t == nil { + t = make(http.Header) + res.Trailer = t + } + foreachHeaderElement(hf.Value, func(v string) { + t[http.CanonicalHeaderKey(v)] = nil + }) + } else { + header[key] = append(header[key], hf.Value) + } + } + + streamEnded := f.StreamEnded() + isHead := cs.req.Method == "HEAD" + if !streamEnded || isHead { + res.ContentLength = -1 + if clens := res.Header["Content-Length"]; len(clens) == 1 { + if clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil { + res.ContentLength = clen64 + } else { + // TODO: care? unlike http/1, it won't mess up our framing, so it's + // more safe smuggling-wise to ignore. + } + } else if len(clens) > 1 { + // TODO: care? unlike http/1, it won't mess up our framing, so it's + // more safe smuggling-wise to ignore. + } + } + + if streamEnded || isHead { + res.Body = noBody + return res, nil + } + + cs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}} + cs.bytesRemain = res.ContentLength + res.Body = transportResponseBody{cs} + go cs.awaitRequestCancel(cs.req) + + if cs.requestedGzip && res.Header.Get("Content-Encoding") == "gzip" { + res.Header.Del("Content-Encoding") + res.Header.Del("Content-Length") + res.ContentLength = -1 + res.Body = &gzipReader{body: res.Body} + setResponseUncompressed(res) + } + return res, nil +} + +func (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFrame) error { + if cs.pastTrailers { + // Too many HEADERS frames for this stream. + return ConnectionError(ErrCodeProtocol) + } + cs.pastTrailers = true + if !f.StreamEnded() { + // We expect that any headers for trailers also + // has END_STREAM. + return ConnectionError(ErrCodeProtocol) + } + if len(f.PseudoFields()) > 0 { + // No pseudo header fields are defined for trailers. + // TODO: ConnectionError might be overly harsh? Check. + return ConnectionError(ErrCodeProtocol) + } + + trailer := make(http.Header) + for _, hf := range f.RegularFields() { + key := http.CanonicalHeaderKey(hf.Name) + trailer[key] = append(trailer[key], hf.Value) + } + cs.trailer = trailer + + rl.endStream(cs) + return nil +} + +// transportResponseBody is the concrete type of Transport.RoundTrip's +// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body. +// On Close it sends RST_STREAM if EOF wasn't already seen. +type transportResponseBody struct { + cs *clientStream +} + +func (b transportResponseBody) Read(p []byte) (n int, err error) { + cs := b.cs + cc := cs.cc + + if cs.readErr != nil { + return 0, cs.readErr + } + n, err = b.cs.bufPipe.Read(p) + if cs.bytesRemain != -1 { + if int64(n) > cs.bytesRemain { + n = int(cs.bytesRemain) + if err == nil { + err = errors.New("net/http: server replied with more than declared Content-Length; truncated") + cc.writeStreamReset(cs.ID, ErrCodeProtocol, err) + } + cs.readErr = err + return int(cs.bytesRemain), err + } + cs.bytesRemain -= int64(n) + if err == io.EOF && cs.bytesRemain > 0 { + err = io.ErrUnexpectedEOF + cs.readErr = err + return n, err + } + } + if n == 0 { + // No flow control tokens to send back. + return + } + + cc.mu.Lock() + defer cc.mu.Unlock() + + var connAdd, streamAdd int32 + // Check the conn-level first, before the stream-level. + if v := cc.inflow.available(); v < transportDefaultConnFlow/2 { + connAdd = transportDefaultConnFlow - v + cc.inflow.add(connAdd) + } + if err == nil { // No need to refresh if the stream is over or failed. + // Consider any buffered body data (read from the conn but not + // consumed by the client) when computing flow control for this + // stream. + v := int(cs.inflow.available()) + cs.bufPipe.Len() + if v < transportDefaultStreamFlow-transportDefaultStreamMinRefresh { + streamAdd = int32(transportDefaultStreamFlow - v) + cs.inflow.add(streamAdd) + } + } + if connAdd != 0 || streamAdd != 0 { + cc.wmu.Lock() + defer cc.wmu.Unlock() + if connAdd != 0 { + cc.fr.WriteWindowUpdate(0, mustUint31(connAdd)) + } + if streamAdd != 0 { + cc.fr.WriteWindowUpdate(cs.ID, mustUint31(streamAdd)) + } + cc.bw.Flush() + } + return +} + +var errClosedResponseBody = errors.New("http2: response body closed") + +func (b transportResponseBody) Close() error { + cs := b.cs + cc := cs.cc + + serverSentStreamEnd := cs.bufPipe.Err() == io.EOF + unread := cs.bufPipe.Len() + + if unread > 0 || !serverSentStreamEnd { + cc.mu.Lock() + cc.wmu.Lock() + if !serverSentStreamEnd { + cc.fr.WriteRSTStream(cs.ID, ErrCodeCancel) + cs.didReset = true + } + // Return connection-level flow control. + if unread > 0 { + cc.inflow.add(int32(unread)) + cc.fr.WriteWindowUpdate(0, uint32(unread)) + } + cc.bw.Flush() + cc.wmu.Unlock() + cc.mu.Unlock() + } + + cs.bufPipe.BreakWithError(errClosedResponseBody) + cc.forgetStreamID(cs.ID) + return nil +} + +func (rl *clientConnReadLoop) processData(f *DataFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, f.StreamEnded()) + data := f.Data() + if cs == nil { + cc.mu.Lock() + neverSent := cc.nextStreamID + cc.mu.Unlock() + if f.StreamID >= neverSent { + // We never asked for this. + cc.logf("http2: Transport received unsolicited DATA frame; closing connection") + return ConnectionError(ErrCodeProtocol) + } + // We probably did ask for this, but canceled. Just ignore it. + // TODO: be stricter here? only silently ignore things which + // we canceled, but not things which were closed normally + // by the peer? Tough without accumulating too much state. + + // But at least return their flow control: + if f.Length > 0 { + cc.mu.Lock() + cc.inflow.add(int32(f.Length)) + cc.mu.Unlock() + + cc.wmu.Lock() + cc.fr.WriteWindowUpdate(0, uint32(f.Length)) + cc.bw.Flush() + cc.wmu.Unlock() + } + return nil + } + if !cs.firstByte { + cc.logf("protocol error: received DATA before a HEADERS frame") + rl.endStreamError(cs, StreamError{ + StreamID: f.StreamID, + Code: ErrCodeProtocol, + }) + return nil + } + if f.Length > 0 { + // Check connection-level flow control. + cc.mu.Lock() + if cs.inflow.available() >= int32(f.Length) { + cs.inflow.take(int32(f.Length)) + } else { + cc.mu.Unlock() + return ConnectionError(ErrCodeFlowControl) + } + // Return any padded flow control now, since we won't + // refund it later on body reads. + var refund int + if pad := int(f.Length) - len(data); pad > 0 { + refund += pad + } + // Return len(data) now if the stream is already closed, + // since data will never be read. + didReset := cs.didReset + if didReset { + refund += len(data) + } + if refund > 0 { + cc.inflow.add(int32(refund)) + cc.wmu.Lock() + cc.fr.WriteWindowUpdate(0, uint32(refund)) + if !didReset { + cs.inflow.add(int32(refund)) + cc.fr.WriteWindowUpdate(cs.ID, uint32(refund)) + } + cc.bw.Flush() + cc.wmu.Unlock() + } + cc.mu.Unlock() + + if len(data) > 0 && !didReset { + if _, err := cs.bufPipe.Write(data); err != nil { + rl.endStreamError(cs, err) + return err + } + } + } + + if f.StreamEnded() { + rl.endStream(cs) + } + return nil +} + +var errInvalidTrailers = errors.New("http2: invalid trailers") + +func (rl *clientConnReadLoop) endStream(cs *clientStream) { + // TODO: check that any declared content-length matches, like + // server.go's (*stream).endStream method. + rl.endStreamError(cs, nil) +} + +func (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) { + var code func() + if err == nil { + err = io.EOF + code = cs.copyTrailers + } + cs.bufPipe.closeWithErrorAndCode(err, code) + delete(rl.activeRes, cs.ID) + if isConnectionCloseRequest(cs.req) { + rl.closeWhenIdle = true + } + + select { + case cs.resc <- resAndError{err: err}: + default: + } +} + +func (cs *clientStream) copyTrailers() { + for k, vv := range cs.trailer { + t := cs.resTrailer + if *t == nil { + *t = make(http.Header) + } + (*t)[k] = vv + } +} + +func (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error { + cc := rl.cc + cc.t.connPool().MarkDead(cc) + if f.ErrCode != 0 { + // TODO: deal with GOAWAY more. particularly the error code + cc.vlogf("transport got GOAWAY with error code = %v", f.ErrCode) + } + cc.setGoAway(f) + return nil +} + +func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { + cc := rl.cc + cc.mu.Lock() + defer cc.mu.Unlock() + + if f.IsAck() { + if cc.wantSettingsAck { + cc.wantSettingsAck = false + return nil + } + return ConnectionError(ErrCodeProtocol) + } + + err := f.ForeachSetting(func(s Setting) error { + switch s.ID { + case SettingMaxFrameSize: + cc.maxFrameSize = s.Val + case SettingMaxConcurrentStreams: + cc.maxConcurrentStreams = s.Val + case SettingMaxHeaderListSize: + cc.peerMaxHeaderListSize = uint64(s.Val) + case SettingInitialWindowSize: + // Values above the maximum flow-control + // window size of 2^31-1 MUST be treated as a + // connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR. + if s.Val > math.MaxInt32 { + return ConnectionError(ErrCodeFlowControl) + } + + // Adjust flow control of currently-open + // frames by the difference of the old initial + // window size and this one. + delta := int32(s.Val) - int32(cc.initialWindowSize) + for _, cs := range cc.streams { + cs.flow.add(delta) + } + cc.cond.Broadcast() + + cc.initialWindowSize = s.Val + default: + // TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably. + cc.vlogf("Unhandled Setting: %v", s) + } + return nil + }) + if err != nil { + return err + } + + cc.wmu.Lock() + defer cc.wmu.Unlock() + + cc.fr.WriteSettingsAck() + cc.bw.Flush() + return cc.werr +} + +func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { + cc := rl.cc + cs := cc.streamByID(f.StreamID, false) + if f.StreamID != 0 && cs == nil { + return nil + } + + cc.mu.Lock() + defer cc.mu.Unlock() + + fl := &cc.flow + if cs != nil { + fl = &cs.flow + } + if !fl.add(int32(f.Increment)) { + return ConnectionError(ErrCodeFlowControl) + } + cc.cond.Broadcast() + return nil +} + +func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error { + cs := rl.cc.streamByID(f.StreamID, true) + if cs == nil { + // TODO: return error if server tries to RST_STEAM an idle stream + return nil + } + select { + case <-cs.peerReset: + // Already reset. + // This is the only goroutine + // which closes this, so there + // isn't a race. + default: + err := streamError(cs.ID, f.ErrCode) + cs.resetErr = err + close(cs.peerReset) + cs.bufPipe.CloseWithError(err) + cs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl + } + delete(rl.activeRes, cs.ID) + return nil +} + +// Ping sends a PING frame to the server and waits for the ack. +// Public implementation is in go17.go and not_go17.go +func (cc *ClientConn) ping(ctx contextContext) error { + c := make(chan struct{}) + // Generate a random payload + var p [8]byte + for { + if _, err := rand.Read(p[:]); err != nil { + return err + } + cc.mu.Lock() + // check for dup before insert + if _, found := cc.pings[p]; !found { + cc.pings[p] = c + cc.mu.Unlock() + break + } + cc.mu.Unlock() + } + cc.wmu.Lock() + if err := cc.fr.WritePing(false, p); err != nil { + cc.wmu.Unlock() + return err + } + if err := cc.bw.Flush(); err != nil { + cc.wmu.Unlock() + return err + } + cc.wmu.Unlock() + select { + case <-c: + return nil + case <-ctx.Done(): + return ctx.Err() + case <-cc.readerDone: + // connection closed + return cc.readerErr + } +} + +func (rl *clientConnReadLoop) processPing(f *PingFrame) error { + if f.IsAck() { + cc := rl.cc + cc.mu.Lock() + defer cc.mu.Unlock() + // If ack, notify listener if any + if c, ok := cc.pings[f.Data]; ok { + close(c) + delete(cc.pings, f.Data) + } + return nil + } + cc := rl.cc + cc.wmu.Lock() + defer cc.wmu.Unlock() + if err := cc.fr.WritePing(true, f.Data); err != nil { + return err + } + return cc.bw.Flush() +} + +func (rl *clientConnReadLoop) processPushPromise(f *PushPromiseFrame) error { + // We told the peer we don't want them. + // Spec says: + // "PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH + // setting of the peer endpoint is set to 0. An endpoint that + // has set this setting and has received acknowledgement MUST + // treat the receipt of a PUSH_PROMISE frame as a connection + // error (Section 5.4.1) of type PROTOCOL_ERROR." + return ConnectionError(ErrCodeProtocol) +} + +func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) { + // TODO: map err to more interesting error codes, once the + // HTTP community comes up with some. But currently for + // RST_STREAM there's no equivalent to GOAWAY frame's debug + // data, and the error codes are all pretty vague ("cancel"). + cc.wmu.Lock() + cc.fr.WriteRSTStream(streamID, code) + cc.bw.Flush() + cc.wmu.Unlock() +} + +var ( + errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit") + errRequestHeaderListSize = errors.New("http2: request header list larger than peer's advertised limit") + errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers") +) + +func (cc *ClientConn) logf(format string, args ...interface{}) { + cc.t.logf(format, args...) +} + +func (cc *ClientConn) vlogf(format string, args ...interface{}) { + cc.t.vlogf(format, args...) +} + +func (t *Transport) vlogf(format string, args ...interface{}) { + if VerboseLogs { + t.logf(format, args...) + } +} + +func (t *Transport) logf(format string, args ...interface{}) { + log.Printf(format, args...) +} + +var noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil)) + +func strSliceContains(ss []string, s string) bool { + for _, v := range ss { + if v == s { + return true + } + } + return false +} + +type erringRoundTripper struct{ err error } + +func (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err } + +// gzipReader wraps a response body so it can lazily +// call gzip.NewReader on the first call to Read +type gzipReader struct { + body io.ReadCloser // underlying Response.Body + zr *gzip.Reader // lazily-initialized gzip reader + zerr error // sticky error +} + +func (gz *gzipReader) Read(p []byte) (n int, err error) { + if gz.zerr != nil { + return 0, gz.zerr + } + if gz.zr == nil { + gz.zr, err = gzip.NewReader(gz.body) + if err != nil { + gz.zerr = err + return 0, err + } + } + return gz.zr.Read(p) +} + +func (gz *gzipReader) Close() error { + return gz.body.Close() +} + +type errorReader struct{ err error } + +func (r errorReader) Read(p []byte) (int, error) { return 0, r.err } + +// bodyWriterState encapsulates various state around the Transport's writing +// of the request body, particularly regarding doing delayed writes of the body +// when the request contains "Expect: 100-continue". +type bodyWriterState struct { + cs *clientStream + timer *time.Timer // if non-nil, we're doing a delayed write + fnonce *sync.Once // to call fn with + fn func() // the code to run in the goroutine, writing the body + resc chan error // result of fn's execution + delay time.Duration // how long we should delay a delayed write for +} + +func (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) { + s.cs = cs + if body == nil { + return + } + resc := make(chan error, 1) + s.resc = resc + s.fn = func() { + cs.cc.mu.Lock() + cs.startedWrite = true + cs.cc.mu.Unlock() + resc <- cs.writeRequestBody(body, cs.req.Body) + } + s.delay = t.expectContinueTimeout() + if s.delay == 0 || + !httplex.HeaderValuesContainsToken( + cs.req.Header["Expect"], + "100-continue") { + return + } + s.fnonce = new(sync.Once) + + // Arm the timer with a very large duration, which we'll + // intentionally lower later. It has to be large now because + // we need a handle to it before writing the headers, but the + // s.delay value is defined to not start until after the + // request headers were written. + const hugeDuration = 365 * 24 * time.Hour + s.timer = time.AfterFunc(hugeDuration, func() { + s.fnonce.Do(s.fn) + }) + return +} + +func (s bodyWriterState) cancel() { + if s.timer != nil { + s.timer.Stop() + } +} + +func (s bodyWriterState) on100() { + if s.timer == nil { + // If we didn't do a delayed write, ignore the server's + // bogus 100 continue response. + return + } + s.timer.Stop() + go func() { s.fnonce.Do(s.fn) }() +} + +// scheduleBodyWrite starts writing the body, either immediately (in +// the common case) or after the delay timeout. It should not be +// called until after the headers have been written. +func (s bodyWriterState) scheduleBodyWrite() { + if s.timer == nil { + // We're not doing a delayed write (see + // getBodyWriterState), so just start the writing + // goroutine immediately. + go s.fn() + return + } + traceWait100Continue(s.cs.trace) + if s.timer.Stop() { + s.timer.Reset(s.delay) + } +} + +// isConnectionCloseRequest reports whether req should use its own +// connection for a single request and then close the connection. +func isConnectionCloseRequest(req *http.Request) bool { + return req.Close || httplex.HeaderValuesContainsToken(req.Header["Connection"], "close") +} diff --git a/vendor/golang.org/x/net/http2/write.go b/vendor/golang.org/x/net/http2/write.go new file mode 100644 index 000000000000..6b0dfae319a4 --- /dev/null +++ b/vendor/golang.org/x/net/http2/write.go @@ -0,0 +1,370 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "bytes" + "fmt" + "log" + "net/http" + "net/url" + "time" + + "golang.org/x/net/http2/hpack" + "golang.org/x/net/lex/httplex" +) + +// writeFramer is implemented by any type that is used to write frames. +type writeFramer interface { + writeFrame(writeContext) error + + // staysWithinBuffer reports whether this writer promises that + // it will only write less than or equal to size bytes, and it + // won't Flush the write context. + staysWithinBuffer(size int) bool +} + +// writeContext is the interface needed by the various frame writer +// types below. All the writeFrame methods below are scheduled via the +// frame writing scheduler (see writeScheduler in writesched.go). +// +// This interface is implemented by *serverConn. +// +// TODO: decide whether to a) use this in the client code (which didn't +// end up using this yet, because it has a simpler design, not +// currently implementing priorities), or b) delete this and +// make the server code a bit more concrete. +type writeContext interface { + Framer() *Framer + Flush() error + CloseConn() error + // HeaderEncoder returns an HPACK encoder that writes to the + // returned buffer. + HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) +} + +// writeEndsStream reports whether w writes a frame that will transition +// the stream to a half-closed local state. This returns false for RST_STREAM, +// which closes the entire stream (not just the local half). +func writeEndsStream(w writeFramer) bool { + switch v := w.(type) { + case *writeData: + return v.endStream + case *writeResHeaders: + return v.endStream + case nil: + // This can only happen if the caller reuses w after it's + // been intentionally nil'ed out to prevent use. Keep this + // here to catch future refactoring breaking it. + panic("writeEndsStream called on nil writeFramer") + } + return false +} + +type flushFrameWriter struct{} + +func (flushFrameWriter) writeFrame(ctx writeContext) error { + return ctx.Flush() +} + +func (flushFrameWriter) staysWithinBuffer(max int) bool { return false } + +type writeSettings []Setting + +func (s writeSettings) staysWithinBuffer(max int) bool { + const settingSize = 6 // uint16 + uint32 + return frameHeaderLen+settingSize*len(s) <= max + +} + +func (s writeSettings) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteSettings([]Setting(s)...) +} + +type writeGoAway struct { + maxStreamID uint32 + code ErrCode +} + +func (p *writeGoAway) writeFrame(ctx writeContext) error { + err := ctx.Framer().WriteGoAway(p.maxStreamID, p.code, nil) + if p.code != 0 { + ctx.Flush() // ignore error: we're hanging up on them anyway + time.Sleep(50 * time.Millisecond) + ctx.CloseConn() + } + return err +} + +func (*writeGoAway) staysWithinBuffer(max int) bool { return false } // flushes + +type writeData struct { + streamID uint32 + p []byte + endStream bool +} + +func (w *writeData) String() string { + return fmt.Sprintf("writeData(stream=%d, p=%d, endStream=%v)", w.streamID, len(w.p), w.endStream) +} + +func (w *writeData) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteData(w.streamID, w.endStream, w.p) +} + +func (w *writeData) staysWithinBuffer(max int) bool { + return frameHeaderLen+len(w.p) <= max +} + +// handlerPanicRST is the message sent from handler goroutines when +// the handler panics. +type handlerPanicRST struct { + StreamID uint32 +} + +func (hp handlerPanicRST) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteRSTStream(hp.StreamID, ErrCodeInternal) +} + +func (hp handlerPanicRST) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +func (se StreamError) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteRSTStream(se.StreamID, se.Code) +} + +func (se StreamError) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +type writePingAck struct{ pf *PingFrame } + +func (w writePingAck) writeFrame(ctx writeContext) error { + return ctx.Framer().WritePing(true, w.pf.Data) +} + +func (w writePingAck) staysWithinBuffer(max int) bool { return frameHeaderLen+len(w.pf.Data) <= max } + +type writeSettingsAck struct{} + +func (writeSettingsAck) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteSettingsAck() +} + +func (writeSettingsAck) staysWithinBuffer(max int) bool { return frameHeaderLen <= max } + +// splitHeaderBlock splits headerBlock into fragments so that each fragment fits +// in a single frame, then calls fn for each fragment. firstFrag/lastFrag are true +// for the first/last fragment, respectively. +func splitHeaderBlock(ctx writeContext, headerBlock []byte, fn func(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error) error { + // For now we're lazy and just pick the minimum MAX_FRAME_SIZE + // that all peers must support (16KB). Later we could care + // more and send larger frames if the peer advertised it, but + // there's little point. Most headers are small anyway (so we + // generally won't have CONTINUATION frames), and extra frames + // only waste 9 bytes anyway. + const maxFrameSize = 16384 + + first := true + for len(headerBlock) > 0 { + frag := headerBlock + if len(frag) > maxFrameSize { + frag = frag[:maxFrameSize] + } + headerBlock = headerBlock[len(frag):] + if err := fn(ctx, frag, first, len(headerBlock) == 0); err != nil { + return err + } + first = false + } + return nil +} + +// writeResHeaders is a request to write a HEADERS and 0+ CONTINUATION frames +// for HTTP response headers or trailers from a server handler. +type writeResHeaders struct { + streamID uint32 + httpResCode int // 0 means no ":status" line + h http.Header // may be nil + trailers []string // if non-nil, which keys of h to write. nil means all. + endStream bool + + date string + contentType string + contentLength string +} + +func encKV(enc *hpack.Encoder, k, v string) { + if VerboseLogs { + log.Printf("http2: server encoding header %q = %q", k, v) + } + enc.WriteField(hpack.HeaderField{Name: k, Value: v}) +} + +func (w *writeResHeaders) staysWithinBuffer(max int) bool { + // TODO: this is a common one. It'd be nice to return true + // here and get into the fast path if we could be clever and + // calculate the size fast enough, or at least a conservative + // uppper bound that usually fires. (Maybe if w.h and + // w.trailers are nil, so we don't need to enumerate it.) + // Otherwise I'm afraid that just calculating the length to + // answer this question would be slower than the ~2µs benefit. + return false +} + +func (w *writeResHeaders) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + + if w.httpResCode != 0 { + encKV(enc, ":status", httpCodeString(w.httpResCode)) + } + + encodeHeaders(enc, w.h, w.trailers) + + if w.contentType != "" { + encKV(enc, "content-type", w.contentType) + } + if w.contentLength != "" { + encKV(enc, "content-length", w.contentLength) + } + if w.date != "" { + encKV(enc, "date", w.date) + } + + headerBlock := buf.Bytes() + if len(headerBlock) == 0 && w.trailers == nil { + panic("unexpected empty hpack") + } + + return splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock) +} + +func (w *writeResHeaders) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error { + if firstFrag { + return ctx.Framer().WriteHeaders(HeadersFrameParam{ + StreamID: w.streamID, + BlockFragment: frag, + EndStream: w.endStream, + EndHeaders: lastFrag, + }) + } else { + return ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag) + } +} + +// writePushPromise is a request to write a PUSH_PROMISE and 0+ CONTINUATION frames. +type writePushPromise struct { + streamID uint32 // pusher stream + method string // for :method + url *url.URL // for :scheme, :authority, :path + h http.Header + + // Creates an ID for a pushed stream. This runs on serveG just before + // the frame is written. The returned ID is copied to promisedID. + allocatePromisedID func() (uint32, error) + promisedID uint32 +} + +func (w *writePushPromise) staysWithinBuffer(max int) bool { + // TODO: see writeResHeaders.staysWithinBuffer + return false +} + +func (w *writePushPromise) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + + encKV(enc, ":method", w.method) + encKV(enc, ":scheme", w.url.Scheme) + encKV(enc, ":authority", w.url.Host) + encKV(enc, ":path", w.url.RequestURI()) + encodeHeaders(enc, w.h, nil) + + headerBlock := buf.Bytes() + if len(headerBlock) == 0 { + panic("unexpected empty hpack") + } + + return splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock) +} + +func (w *writePushPromise) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error { + if firstFrag { + return ctx.Framer().WritePushPromise(PushPromiseParam{ + StreamID: w.streamID, + PromiseID: w.promisedID, + BlockFragment: frag, + EndHeaders: lastFrag, + }) + } else { + return ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag) + } +} + +type write100ContinueHeadersFrame struct { + streamID uint32 +} + +func (w write100ContinueHeadersFrame) writeFrame(ctx writeContext) error { + enc, buf := ctx.HeaderEncoder() + buf.Reset() + encKV(enc, ":status", "100") + return ctx.Framer().WriteHeaders(HeadersFrameParam{ + StreamID: w.streamID, + BlockFragment: buf.Bytes(), + EndStream: false, + EndHeaders: true, + }) +} + +func (w write100ContinueHeadersFrame) staysWithinBuffer(max int) bool { + // Sloppy but conservative: + return 9+2*(len(":status")+len("100")) <= max +} + +type writeWindowUpdate struct { + streamID uint32 // or 0 for conn-level + n uint32 +} + +func (wu writeWindowUpdate) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max } + +func (wu writeWindowUpdate) writeFrame(ctx writeContext) error { + return ctx.Framer().WriteWindowUpdate(wu.streamID, wu.n) +} + +// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k]) +// is encoded only only if k is in keys. +func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) { + if keys == nil { + sorter := sorterPool.Get().(*sorter) + // Using defer here, since the returned keys from the + // sorter.Keys method is only valid until the sorter + // is returned: + defer sorterPool.Put(sorter) + keys = sorter.Keys(h) + } + for _, k := range keys { + vv := h[k] + k = lowerHeader(k) + if !validWireHeaderFieldName(k) { + // Skip it as backup paranoia. Per + // golang.org/issue/14048, these should + // already be rejected at a higher level. + continue + } + isTE := k == "transfer-encoding" + for _, v := range vv { + if !httplex.ValidHeaderFieldValue(v) { + // TODO: return an error? golang.org/issue/14048 + // For now just omit it. + continue + } + // TODO: more of "8.1.2.2 Connection-Specific Header Fields" + if isTE && v != "trailers" { + continue + } + encKV(enc, k, v) + } + } +} diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go new file mode 100644 index 000000000000..4fe307307351 --- /dev/null +++ b/vendor/golang.org/x/net/http2/writesched.go @@ -0,0 +1,242 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import "fmt" + +// WriteScheduler is the interface implemented by HTTP/2 write schedulers. +// Methods are never called concurrently. +type WriteScheduler interface { + // OpenStream opens a new stream in the write scheduler. + // It is illegal to call this with streamID=0 or with a streamID that is + // already open -- the call may panic. + OpenStream(streamID uint32, options OpenStreamOptions) + + // CloseStream closes a stream in the write scheduler. Any frames queued on + // this stream should be discarded. It is illegal to call this on a stream + // that is not open -- the call may panic. + CloseStream(streamID uint32) + + // AdjustStream adjusts the priority of the given stream. This may be called + // on a stream that has not yet been opened or has been closed. Note that + // RFC 7540 allows PRIORITY frames to be sent on streams in any state. See: + // https://tools.ietf.org/html/rfc7540#section-5.1 + AdjustStream(streamID uint32, priority PriorityParam) + + // Push queues a frame in the scheduler. In most cases, this will not be + // called with wr.StreamID()!=0 unless that stream is currently open. The one + // exception is RST_STREAM frames, which may be sent on idle or closed streams. + Push(wr FrameWriteRequest) + + // Pop dequeues the next frame to write. Returns false if no frames can + // be written. Frames with a given wr.StreamID() are Pop'd in the same + // order they are Push'd. + Pop() (wr FrameWriteRequest, ok bool) +} + +// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream. +type OpenStreamOptions struct { + // PusherID is zero if the stream was initiated by the client. Otherwise, + // PusherID names the stream that pushed the newly opened stream. + PusherID uint32 +} + +// FrameWriteRequest is a request to write a frame. +type FrameWriteRequest struct { + // write is the interface value that does the writing, once the + // WriteScheduler has selected this frame to write. The write + // functions are all defined in write.go. + write writeFramer + + // stream is the stream on which this frame will be written. + // nil for non-stream frames like PING and SETTINGS. + stream *stream + + // done, if non-nil, must be a buffered channel with space for + // 1 message and is sent the return value from write (or an + // earlier error) when the frame has been written. + done chan error +} + +// StreamID returns the id of the stream this frame will be written to. +// 0 is used for non-stream frames such as PING and SETTINGS. +func (wr FrameWriteRequest) StreamID() uint32 { + if wr.stream == nil { + if se, ok := wr.write.(StreamError); ok { + // (*serverConn).resetStream doesn't set + // stream because it doesn't necessarily have + // one. So special case this type of write + // message. + return se.StreamID + } + return 0 + } + return wr.stream.id +} + +// DataSize returns the number of flow control bytes that must be consumed +// to write this entire frame. This is 0 for non-DATA frames. +func (wr FrameWriteRequest) DataSize() int { + if wd, ok := wr.write.(*writeData); ok { + return len(wd.p) + } + return 0 +} + +// Consume consumes min(n, available) bytes from this frame, where available +// is the number of flow control bytes available on the stream. Consume returns +// 0, 1, or 2 frames, where the integer return value gives the number of frames +// returned. +// +// If flow control prevents consuming any bytes, this returns (_, _, 0). If +// the entire frame was consumed, this returns (wr, _, 1). Otherwise, this +// returns (consumed, rest, 2), where 'consumed' contains the consumed bytes and +// 'rest' contains the remaining bytes. The consumed bytes are deducted from the +// underlying stream's flow control budget. +func (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteRequest, int) { + var empty FrameWriteRequest + + // Non-DATA frames are always consumed whole. + wd, ok := wr.write.(*writeData) + if !ok || len(wd.p) == 0 { + return wr, empty, 1 + } + + // Might need to split after applying limits. + allowed := wr.stream.flow.available() + if n < allowed { + allowed = n + } + if wr.stream.sc.maxFrameSize < allowed { + allowed = wr.stream.sc.maxFrameSize + } + if allowed <= 0 { + return empty, empty, 0 + } + if len(wd.p) > int(allowed) { + wr.stream.flow.take(allowed) + consumed := FrameWriteRequest{ + stream: wr.stream, + write: &writeData{ + streamID: wd.streamID, + p: wd.p[:allowed], + // Even if the original had endStream set, there + // are bytes remaining because len(wd.p) > allowed, + // so we know endStream is false. + endStream: false, + }, + // Our caller is blocking on the final DATA frame, not + // this intermediate frame, so no need to wait. + done: nil, + } + rest := FrameWriteRequest{ + stream: wr.stream, + write: &writeData{ + streamID: wd.streamID, + p: wd.p[allowed:], + endStream: wd.endStream, + }, + done: wr.done, + } + return consumed, rest, 2 + } + + // The frame is consumed whole. + // NB: This cast cannot overflow because allowed is <= math.MaxInt32. + wr.stream.flow.take(int32(len(wd.p))) + return wr, empty, 1 +} + +// String is for debugging only. +func (wr FrameWriteRequest) String() string { + var des string + if s, ok := wr.write.(fmt.Stringer); ok { + des = s.String() + } else { + des = fmt.Sprintf("%T", wr.write) + } + return fmt.Sprintf("[FrameWriteRequest stream=%d, ch=%v, writer=%v]", wr.StreamID(), wr.done != nil, des) +} + +// replyToWriter sends err to wr.done and panics if the send must block +// This does nothing if wr.done is nil. +func (wr *FrameWriteRequest) replyToWriter(err error) { + if wr.done == nil { + return + } + select { + case wr.done <- err: + default: + panic(fmt.Sprintf("unbuffered done channel passed in for type %T", wr.write)) + } + wr.write = nil // prevent use (assume it's tainted after wr.done send) +} + +// writeQueue is used by implementations of WriteScheduler. +type writeQueue struct { + s []FrameWriteRequest +} + +func (q *writeQueue) empty() bool { return len(q.s) == 0 } + +func (q *writeQueue) push(wr FrameWriteRequest) { + q.s = append(q.s, wr) +} + +func (q *writeQueue) shift() FrameWriteRequest { + if len(q.s) == 0 { + panic("invalid use of queue") + } + wr := q.s[0] + // TODO: less copy-happy queue. + copy(q.s, q.s[1:]) + q.s[len(q.s)-1] = FrameWriteRequest{} + q.s = q.s[:len(q.s)-1] + return wr +} + +// consume consumes up to n bytes from q.s[0]. If the frame is +// entirely consumed, it is removed from the queue. If the frame +// is partially consumed, the frame is kept with the consumed +// bytes removed. Returns true iff any bytes were consumed. +func (q *writeQueue) consume(n int32) (FrameWriteRequest, bool) { + if len(q.s) == 0 { + return FrameWriteRequest{}, false + } + consumed, rest, numresult := q.s[0].Consume(n) + switch numresult { + case 0: + return FrameWriteRequest{}, false + case 1: + q.shift() + case 2: + q.s[0] = rest + } + return consumed, true +} + +type writeQueuePool []*writeQueue + +// put inserts an unused writeQueue into the pool. +func (p *writeQueuePool) put(q *writeQueue) { + for i := range q.s { + q.s[i] = FrameWriteRequest{} + } + q.s = q.s[:0] + *p = append(*p, q) +} + +// get returns an empty writeQueue. +func (p *writeQueuePool) get() *writeQueue { + ln := len(*p) + if ln == 0 { + return new(writeQueue) + } + x := ln - 1 + q := (*p)[x] + (*p)[x] = nil + *p = (*p)[:x] + return q +} diff --git a/vendor/golang.org/x/net/http2/writesched_priority.go b/vendor/golang.org/x/net/http2/writesched_priority.go new file mode 100644 index 000000000000..848fed6ec769 --- /dev/null +++ b/vendor/golang.org/x/net/http2/writesched_priority.go @@ -0,0 +1,452 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "fmt" + "math" + "sort" +) + +// RFC 7540, Section 5.3.5: the default weight is 16. +const priorityDefaultWeight = 15 // 16 = 15 + 1 + +// PriorityWriteSchedulerConfig configures a priorityWriteScheduler. +type PriorityWriteSchedulerConfig struct { + // MaxClosedNodesInTree controls the maximum number of closed streams to + // retain in the priority tree. Setting this to zero saves a small amount + // of memory at the cost of performance. + // + // See RFC 7540, Section 5.3.4: + // "It is possible for a stream to become closed while prioritization + // information ... is in transit. ... This potentially creates suboptimal + // prioritization, since the stream could be given a priority that is + // different from what is intended. To avoid these problems, an endpoint + // SHOULD retain stream prioritization state for a period after streams + // become closed. The longer state is retained, the lower the chance that + // streams are assigned incorrect or default priority values." + MaxClosedNodesInTree int + + // MaxIdleNodesInTree controls the maximum number of idle streams to + // retain in the priority tree. Setting this to zero saves a small amount + // of memory at the cost of performance. + // + // See RFC 7540, Section 5.3.4: + // Similarly, streams that are in the "idle" state can be assigned + // priority or become a parent of other streams. This allows for the + // creation of a grouping node in the dependency tree, which enables + // more flexible expressions of priority. Idle streams begin with a + // default priority (Section 5.3.5). + MaxIdleNodesInTree int + + // ThrottleOutOfOrderWrites enables write throttling to help ensure that + // data is delivered in priority order. This works around a race where + // stream B depends on stream A and both streams are about to call Write + // to queue DATA frames. If B wins the race, a naive scheduler would eagerly + // write as much data from B as possible, but this is suboptimal because A + // is a higher-priority stream. With throttling enabled, we write a small + // amount of data from B to minimize the amount of bandwidth that B can + // steal from A. + ThrottleOutOfOrderWrites bool +} + +// NewPriorityWriteScheduler constructs a WriteScheduler that schedules +// frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3. +// If cfg is nil, default options are used. +func NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler { + if cfg == nil { + // For justification of these defaults, see: + // https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY + cfg = &PriorityWriteSchedulerConfig{ + MaxClosedNodesInTree: 10, + MaxIdleNodesInTree: 10, + ThrottleOutOfOrderWrites: false, + } + } + + ws := &priorityWriteScheduler{ + nodes: make(map[uint32]*priorityNode), + maxClosedNodesInTree: cfg.MaxClosedNodesInTree, + maxIdleNodesInTree: cfg.MaxIdleNodesInTree, + enableWriteThrottle: cfg.ThrottleOutOfOrderWrites, + } + ws.nodes[0] = &ws.root + if cfg.ThrottleOutOfOrderWrites { + ws.writeThrottleLimit = 1024 + } else { + ws.writeThrottleLimit = math.MaxInt32 + } + return ws +} + +type priorityNodeState int + +const ( + priorityNodeOpen priorityNodeState = iota + priorityNodeClosed + priorityNodeIdle +) + +// priorityNode is a node in an HTTP/2 priority tree. +// Each node is associated with a single stream ID. +// See RFC 7540, Section 5.3. +type priorityNode struct { + q writeQueue // queue of pending frames to write + id uint32 // id of the stream, or 0 for the root of the tree + weight uint8 // the actual weight is weight+1, so the value is in [1,256] + state priorityNodeState // open | closed | idle + bytes int64 // number of bytes written by this node, or 0 if closed + subtreeBytes int64 // sum(node.bytes) of all nodes in this subtree + + // These links form the priority tree. + parent *priorityNode + kids *priorityNode // start of the kids list + prev, next *priorityNode // doubly-linked list of siblings +} + +func (n *priorityNode) setParent(parent *priorityNode) { + if n == parent { + panic("setParent to self") + } + if n.parent == parent { + return + } + // Unlink from current parent. + if parent := n.parent; parent != nil { + if n.prev == nil { + parent.kids = n.next + } else { + n.prev.next = n.next + } + if n.next != nil { + n.next.prev = n.prev + } + } + // Link to new parent. + // If parent=nil, remove n from the tree. + // Always insert at the head of parent.kids (this is assumed by walkReadyInOrder). + n.parent = parent + if parent == nil { + n.next = nil + n.prev = nil + } else { + n.next = parent.kids + n.prev = nil + if n.next != nil { + n.next.prev = n + } + parent.kids = n + } +} + +func (n *priorityNode) addBytes(b int64) { + n.bytes += b + for ; n != nil; n = n.parent { + n.subtreeBytes += b + } +} + +// walkReadyInOrder iterates over the tree in priority order, calling f for each node +// with a non-empty write queue. When f returns true, this funcion returns true and the +// walk halts. tmp is used as scratch space for sorting. +// +// f(n, openParent) takes two arguments: the node to visit, n, and a bool that is true +// if any ancestor p of n is still open (ignoring the root node). +func (n *priorityNode) walkReadyInOrder(openParent bool, tmp *[]*priorityNode, f func(*priorityNode, bool) bool) bool { + if !n.q.empty() && f(n, openParent) { + return true + } + if n.kids == nil { + return false + } + + // Don't consider the root "open" when updating openParent since + // we can't send data frames on the root stream (only control frames). + if n.id != 0 { + openParent = openParent || (n.state == priorityNodeOpen) + } + + // Common case: only one kid or all kids have the same weight. + // Some clients don't use weights; other clients (like web browsers) + // use mostly-linear priority trees. + w := n.kids.weight + needSort := false + for k := n.kids.next; k != nil; k = k.next { + if k.weight != w { + needSort = true + break + } + } + if !needSort { + for k := n.kids; k != nil; k = k.next { + if k.walkReadyInOrder(openParent, tmp, f) { + return true + } + } + return false + } + + // Uncommon case: sort the child nodes. We remove the kids from the parent, + // then re-insert after sorting so we can reuse tmp for future sort calls. + *tmp = (*tmp)[:0] + for n.kids != nil { + *tmp = append(*tmp, n.kids) + n.kids.setParent(nil) + } + sort.Sort(sortPriorityNodeSiblings(*tmp)) + for i := len(*tmp) - 1; i >= 0; i-- { + (*tmp)[i].setParent(n) // setParent inserts at the head of n.kids + } + for k := n.kids; k != nil; k = k.next { + if k.walkReadyInOrder(openParent, tmp, f) { + return true + } + } + return false +} + +type sortPriorityNodeSiblings []*priorityNode + +func (z sortPriorityNodeSiblings) Len() int { return len(z) } +func (z sortPriorityNodeSiblings) Swap(i, k int) { z[i], z[k] = z[k], z[i] } +func (z sortPriorityNodeSiblings) Less(i, k int) bool { + // Prefer the subtree that has sent fewer bytes relative to its weight. + // See sections 5.3.2 and 5.3.4. + wi, bi := float64(z[i].weight+1), float64(z[i].subtreeBytes) + wk, bk := float64(z[k].weight+1), float64(z[k].subtreeBytes) + if bi == 0 && bk == 0 { + return wi >= wk + } + if bk == 0 { + return false + } + return bi/bk <= wi/wk +} + +type priorityWriteScheduler struct { + // root is the root of the priority tree, where root.id = 0. + // The root queues control frames that are not associated with any stream. + root priorityNode + + // nodes maps stream ids to priority tree nodes. + nodes map[uint32]*priorityNode + + // maxID is the maximum stream id in nodes. + maxID uint32 + + // lists of nodes that have been closed or are idle, but are kept in + // the tree for improved prioritization. When the lengths exceed either + // maxClosedNodesInTree or maxIdleNodesInTree, old nodes are discarded. + closedNodes, idleNodes []*priorityNode + + // From the config. + maxClosedNodesInTree int + maxIdleNodesInTree int + writeThrottleLimit int32 + enableWriteThrottle bool + + // tmp is scratch space for priorityNode.walkReadyInOrder to reduce allocations. + tmp []*priorityNode + + // pool of empty queues for reuse. + queuePool writeQueuePool +} + +func (ws *priorityWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) { + // The stream may be currently idle but cannot be opened or closed. + if curr := ws.nodes[streamID]; curr != nil { + if curr.state != priorityNodeIdle { + panic(fmt.Sprintf("stream %d already opened", streamID)) + } + curr.state = priorityNodeOpen + return + } + + // RFC 7540, Section 5.3.5: + // "All streams are initially assigned a non-exclusive dependency on stream 0x0. + // Pushed streams initially depend on their associated stream. In both cases, + // streams are assigned a default weight of 16." + parent := ws.nodes[options.PusherID] + if parent == nil { + parent = &ws.root + } + n := &priorityNode{ + q: *ws.queuePool.get(), + id: streamID, + weight: priorityDefaultWeight, + state: priorityNodeOpen, + } + n.setParent(parent) + ws.nodes[streamID] = n + if streamID > ws.maxID { + ws.maxID = streamID + } +} + +func (ws *priorityWriteScheduler) CloseStream(streamID uint32) { + if streamID == 0 { + panic("violation of WriteScheduler interface: cannot close stream 0") + } + if ws.nodes[streamID] == nil { + panic(fmt.Sprintf("violation of WriteScheduler interface: unknown stream %d", streamID)) + } + if ws.nodes[streamID].state != priorityNodeOpen { + panic(fmt.Sprintf("violation of WriteScheduler interface: stream %d already closed", streamID)) + } + + n := ws.nodes[streamID] + n.state = priorityNodeClosed + n.addBytes(-n.bytes) + + q := n.q + ws.queuePool.put(&q) + n.q.s = nil + if ws.maxClosedNodesInTree > 0 { + ws.addClosedOrIdleNode(&ws.closedNodes, ws.maxClosedNodesInTree, n) + } else { + ws.removeNode(n) + } +} + +func (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) { + if streamID == 0 { + panic("adjustPriority on root") + } + + // If streamID does not exist, there are two cases: + // - A closed stream that has been removed (this will have ID <= maxID) + // - An idle stream that is being used for "grouping" (this will have ID > maxID) + n := ws.nodes[streamID] + if n == nil { + if streamID <= ws.maxID || ws.maxIdleNodesInTree == 0 { + return + } + ws.maxID = streamID + n = &priorityNode{ + q: *ws.queuePool.get(), + id: streamID, + weight: priorityDefaultWeight, + state: priorityNodeIdle, + } + n.setParent(&ws.root) + ws.nodes[streamID] = n + ws.addClosedOrIdleNode(&ws.idleNodes, ws.maxIdleNodesInTree, n) + } + + // Section 5.3.1: A dependency on a stream that is not currently in the tree + // results in that stream being given a default priority (Section 5.3.5). + parent := ws.nodes[priority.StreamDep] + if parent == nil { + n.setParent(&ws.root) + n.weight = priorityDefaultWeight + return + } + + // Ignore if the client tries to make a node its own parent. + if n == parent { + return + } + + // Section 5.3.3: + // "If a stream is made dependent on one of its own dependencies, the + // formerly dependent stream is first moved to be dependent on the + // reprioritized stream's previous parent. The moved dependency retains + // its weight." + // + // That is: if parent depends on n, move parent to depend on n.parent. + for x := parent.parent; x != nil; x = x.parent { + if x == n { + parent.setParent(n.parent) + break + } + } + + // Section 5.3.3: The exclusive flag causes the stream to become the sole + // dependency of its parent stream, causing other dependencies to become + // dependent on the exclusive stream. + if priority.Exclusive { + k := parent.kids + for k != nil { + next := k.next + if k != n { + k.setParent(n) + } + k = next + } + } + + n.setParent(parent) + n.weight = priority.Weight +} + +func (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) { + var n *priorityNode + if id := wr.StreamID(); id == 0 { + n = &ws.root + } else { + n = ws.nodes[id] + if n == nil { + // id is an idle or closed stream. wr should not be a HEADERS or + // DATA frame. However, wr can be a RST_STREAM. In this case, we + // push wr onto the root, rather than creating a new priorityNode, + // since RST_STREAM is tiny and the stream's priority is unknown + // anyway. See issue #17919. + if wr.DataSize() > 0 { + panic("add DATA on non-open stream") + } + n = &ws.root + } + } + n.q.push(wr) +} + +func (ws *priorityWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) { + ws.root.walkReadyInOrder(false, &ws.tmp, func(n *priorityNode, openParent bool) bool { + limit := int32(math.MaxInt32) + if openParent { + limit = ws.writeThrottleLimit + } + wr, ok = n.q.consume(limit) + if !ok { + return false + } + n.addBytes(int64(wr.DataSize())) + // If B depends on A and B continuously has data available but A + // does not, gradually increase the throttling limit to allow B to + // steal more and more bandwidth from A. + if openParent { + ws.writeThrottleLimit += 1024 + if ws.writeThrottleLimit < 0 { + ws.writeThrottleLimit = math.MaxInt32 + } + } else if ws.enableWriteThrottle { + ws.writeThrottleLimit = 1024 + } + return true + }) + return wr, ok +} + +func (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, maxSize int, n *priorityNode) { + if maxSize == 0 { + return + } + if len(*list) == maxSize { + // Remove the oldest node, then shift left. + ws.removeNode((*list)[0]) + x := (*list)[1:] + copy(*list, x) + *list = (*list)[:len(x)] + } + *list = append(*list, n) +} + +func (ws *priorityWriteScheduler) removeNode(n *priorityNode) { + for k := n.kids; k != nil; k = k.next { + k.setParent(n.parent) + } + n.setParent(nil) + delete(ws.nodes, n.id) +} diff --git a/vendor/golang.org/x/net/http2/writesched_random.go b/vendor/golang.org/x/net/http2/writesched_random.go new file mode 100644 index 000000000000..36d7919f16ac --- /dev/null +++ b/vendor/golang.org/x/net/http2/writesched_random.go @@ -0,0 +1,72 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import "math" + +// NewRandomWriteScheduler constructs a WriteScheduler that ignores HTTP/2 +// priorities. Control frames like SETTINGS and PING are written before DATA +// frames, but if no control frames are queued and multiple streams have queued +// HEADERS or DATA frames, Pop selects a ready stream arbitrarily. +func NewRandomWriteScheduler() WriteScheduler { + return &randomWriteScheduler{sq: make(map[uint32]*writeQueue)} +} + +type randomWriteScheduler struct { + // zero are frames not associated with a specific stream. + zero writeQueue + + // sq contains the stream-specific queues, keyed by stream ID. + // When a stream is idle or closed, it's deleted from the map. + sq map[uint32]*writeQueue + + // pool of empty queues for reuse. + queuePool writeQueuePool +} + +func (ws *randomWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) { + // no-op: idle streams are not tracked +} + +func (ws *randomWriteScheduler) CloseStream(streamID uint32) { + q, ok := ws.sq[streamID] + if !ok { + return + } + delete(ws.sq, streamID) + ws.queuePool.put(q) +} + +func (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) { + // no-op: priorities are ignored +} + +func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) { + id := wr.StreamID() + if id == 0 { + ws.zero.push(wr) + return + } + q, ok := ws.sq[id] + if !ok { + q = ws.queuePool.get() + ws.sq[id] = q + } + q.push(wr) +} + +func (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) { + // Control frames first. + if !ws.zero.empty() { + return ws.zero.shift(), true + } + // Iterate over all non-idle streams until finding one that can be consumed. + for _, q := range ws.sq { + if wr, ok := q.consume(math.MaxInt32); ok { + return wr, true + } + } + return FrameWriteRequest{}, false +} diff --git a/vendor/golang.org/x/net/idna/idna.go b/vendor/golang.org/x/net/idna/idna.go new file mode 100644 index 000000000000..ec8232b2e68a --- /dev/null +++ b/vendor/golang.org/x/net/idna/idna.go @@ -0,0 +1,680 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package idna implements IDNA2008 using the compatibility processing +// defined by UTS (Unicode Technical Standard) #46, which defines a standard to +// deal with the transition from IDNA2003. +// +// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC +// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894. +// UTS #46 is defined in http://www.unicode.org/reports/tr46. +// See http://unicode.org/cldr/utility/idna.jsp for a visualization of the +// differences between these two standards. +package idna // import "golang.org/x/net/idna" + +import ( + "fmt" + "strings" + "unicode/utf8" + + "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/norm" +) + +// NOTE: Unlike common practice in Go APIs, the functions will return a +// sanitized domain name in case of errors. Browsers sometimes use a partially +// evaluated string as lookup. +// TODO: the current error handling is, in my opinion, the least opinionated. +// Other strategies are also viable, though: +// Option 1) Return an empty string in case of error, but allow the user to +// specify explicitly which errors to ignore. +// Option 2) Return the partially evaluated string if it is itself a valid +// string, otherwise return the empty string in case of error. +// Option 3) Option 1 and 2. +// Option 4) Always return an empty string for now and implement Option 1 as +// needed, and document that the return string may not be empty in case of +// error in the future. +// I think Option 1 is best, but it is quite opinionated. + +// ToASCII is a wrapper for Punycode.ToASCII. +func ToASCII(s string) (string, error) { + return Punycode.process(s, true) +} + +// ToUnicode is a wrapper for Punycode.ToUnicode. +func ToUnicode(s string) (string, error) { + return Punycode.process(s, false) +} + +// An Option configures a Profile at creation time. +type Option func(*options) + +// Transitional sets a Profile to use the Transitional mapping as defined in UTS +// #46. This will cause, for example, "ß" to be mapped to "ss". Using the +// transitional mapping provides a compromise between IDNA2003 and IDNA2008 +// compatibility. It is used by most browsers when resolving domain names. This +// option is only meaningful if combined with MapForLookup. +func Transitional(transitional bool) Option { + return func(o *options) { o.transitional = true } +} + +// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts +// are longer than allowed by the RFC. +func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } +} + +// RemoveLeadingDots removes leading label separators. Leading runes that map to +// dots, such as U+3002, are removed as well. +// +// This is the behavior suggested by the UTS #46 and is adopted by some +// browsers. +func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } +} + +// ValidateLabels sets whether to check the mandatory label validation criteria +// as defined in Section 5.4 of RFC 5891. This includes testing for correct use +// of hyphens ('-'), normalization, validity of runes, and the context rules. +func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks + // normalization if it is not set. + if o.mapping == nil && enable { + o.mapping = normalize + } + o.trie = trie + o.validateLabels = enable + o.fromPuny = validateFromPunycode + } +} + +// StrictDomainName limits the set of permissable ASCII characters to those +// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +// hyphen). This is set by default for MapForLookup and ValidateForRegistration. +// +// This option is useful, for instance, for browsers that allow characters +// outside this range, for example a '_' (U+005F LOW LINE). See +// http://www.rfc-editor.org/std/std3.txt for more details This option +// corresponds to the UseSTD3ASCIIRules option in UTS #46. +func StrictDomainName(use bool) Option { + return func(o *options) { + o.trie = trie + o.useSTD3Rules = use + o.fromPuny = validateFromPunycode + } +} + +// NOTE: the following options pull in tables. The tables should not be linked +// in as long as the options are not used. + +// BidiRule enables the Bidi rule as defined in RFC 5893. Any application +// that relies on proper validation of labels should include this rule. +func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } +} + +// ValidateForRegistration sets validation options to verify that a given IDN is +// properly formatted for registration as defined by Section 4 of RFC 5891. +func ValidateForRegistration() Option { + return func(o *options) { + o.mapping = validateRegistration + StrictDomainName(true)(o) + ValidateLabels(true)(o) + VerifyDNSLength(true)(o) + BidiRule()(o) + } +} + +// MapForLookup sets validation and mapping options such that a given IDN is +// transformed for domain name lookup according to the requirements set out in +// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894, +// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option +// to add this check. +// +// The mappings include normalization and mapping case, width and other +// compatibility mappings. +func MapForLookup() Option { + return func(o *options) { + o.mapping = validateAndMap + StrictDomainName(true)(o) + ValidateLabels(true)(o) + RemoveLeadingDots(true)(o) + } +} + +type options struct { + transitional bool + useSTD3Rules bool + validateLabels bool + verifyDNSLength bool + removeLeadingDots bool + + trie *idnaTrie + + // fromPuny calls validation rules when converting A-labels to U-labels. + fromPuny func(p *Profile, s string) error + + // mapping implements a validation and mapping step as defined in RFC 5895 + // or UTS 46, tailored to, for example, domain registration or lookup. + mapping func(p *Profile, s string) (string, error) + + // bidirule, if specified, checks whether s conforms to the Bidi Rule + // defined in RFC 5893. + bidirule func(s string) bool +} + +// A Profile defines the configuration of an IDNA mapper. +type Profile struct { + options +} + +func apply(o *options, opts []Option) { + for _, f := range opts { + f(o) + } +} + +// New creates a new Profile. +// +// With no options, the returned Profile is the most permissive and equals the +// Punycode Profile. Options can be passed to further restrict the Profile. The +// MapForLookup and ValidateForRegistration options set a collection of options, +// for lookup and registration purposes respectively, which can be tailored by +// adding more fine-grained options, where later options override earlier +// options. +func New(o ...Option) *Profile { + p := &Profile{} + apply(&p.options, o) + return p +} + +// ToASCII converts a domain or domain label to its ASCII form. For example, +// ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and +// ToASCII("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToASCII(s string) (string, error) { + return p.process(s, true) +} + +// ToUnicode converts a domain or domain label to its Unicode form. For example, +// ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and +// ToUnicode("golang") is "golang". If an error is encountered it will return +// an error and a (partially) processed result. +func (p *Profile) ToUnicode(s string) (string, error) { + pp := *p + pp.transitional = false + return pp.process(s, false) +} + +// String reports a string with a description of the profile for debugging +// purposes. The string format may change with different versions. +func (p *Profile) String() string { + s := "" + if p.transitional { + s = "Transitional" + } else { + s = "NonTransitional" + } + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } + if p.validateLabels { + s += ":ValidateLabels" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" + } + return s +} + +var ( + // Punycode is a Profile that does raw punycode processing with a minimum + // of validation. + Punycode *Profile = punycode + + // Lookup is the recommended profile for looking up domain names, according + // to Section 5 of RFC 5891. The exact configuration of this profile may + // change over time. + Lookup *Profile = lookup + + // Display is the recommended profile for displaying domain names. + // The configuration of this profile may change over time. + Display *Profile = display + + // Registration is the recommended profile for checking whether a given + // IDN is valid for registration, according to Section 4 of RFC 5891. + Registration *Profile = registration + + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + display = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + removeLeadingDots: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, + validateLabels: true, + verifyDNSLength: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, + bidirule: bidirule.ValidString, + }} + + // TODO: profiles + // Register: recommended for approving domain names: don't do any mappings + // but rather reject on invalid input. Bundle or block deviation characters. +) + +type labelError struct{ label, code_ string } + +func (e labelError) code() string { return e.code_ } +func (e labelError) Error() string { + return fmt.Sprintf("idna: invalid label %q", e.label) +} + +type runeError rune + +func (e runeError) code() string { return "P1" } +func (e runeError) Error() string { + return fmt.Sprintf("idna: disallowed rune %U", e) +} + +// process implements the algorithm described in section 4 of UTS #46, +// see http://www.unicode.org/reports/tr46. +func (p *Profile) process(s string, toASCII bool) (string, error) { + var err error + if p.mapping != nil { + s, err = p.mapping(p, s) + } + // Remove leading empty labels. + if p.removeLeadingDots { + for ; len(s) > 0 && s[0] == '.'; s = s[1:] { + } + } + // It seems like we should only create this error on ToASCII, but the + // UTS 46 conformance tests suggests we should always check this. + if err == nil && p.verifyDNSLength && s == "" { + err = &labelError{s, "A4"} + } + labels := labelIter{orig: s} + for ; !labels.done(); labels.next() { + label := labels.label() + if label == "" { + // Empty labels are not okay. The label iterator skips the last + // label if it is empty. + if err == nil && p.verifyDNSLength { + err = &labelError{s, "A4"} + } + continue + } + if strings.HasPrefix(label, acePrefix) { + u, err2 := decode(label[len(acePrefix):]) + if err2 != nil { + if err == nil { + err = err2 + } + // Spec says keep the old label. + continue + } + labels.set(u) + if err == nil && p.validateLabels { + err = p.fromPuny(p, u) + } + if err == nil { + // This should be called on NonTransitional, according to the + // spec, but that currently does not have any effect. Use the + // original profile to preserve options. + err = p.validateLabel(u) + } + } else if err == nil { + err = p.validateLabel(label) + } + } + if toASCII { + for labels.reset(); !labels.done(); labels.next() { + label := labels.label() + if !ascii(label) { + a, err2 := encode(acePrefix, label) + if err == nil { + err = err2 + } + label = a + labels.set(a) + } + n := len(label) + if p.verifyDNSLength && err == nil && (n == 0 || n > 63) { + err = &labelError{label, "A4"} + } + } + } + s = labels.result() + if toASCII && p.verifyDNSLength && err == nil { + // Compute the length of the domain name minus the root label and its dot. + n := len(s) + if n > 0 && s[n-1] == '.' { + n-- + } + if len(s) < 1 || n > 253 { + err = &labelError{s, "A4"} + } + } + return s, err +} + +func normalize(p *Profile, s string) (string, error) { + return norm.NFC.String(s), nil +} + +func validateRegistration(p *Profile, s string) (string, error) { + if !norm.NFC.IsNormalString(s) { + return s, &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + // TODO: handle the NV8 defined in the Unicode idna data set to allow + // for strict conformance to IDNA2008. + case valid, deviation: + case disallowed, mapped, unknown, ignored: + r, _ := utf8.DecodeRuneInString(s[i:]) + return s, runeError(r) + } + i += sz + } + return s, nil +} + +func validateAndMap(p *Profile, s string) (string, error) { + var ( + err error + b []byte + k int + ) + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + start := i + i += sz + // Copy bytes not copied so far. + switch p.simplify(info(v).category()) { + case valid: + continue + case disallowed: + if err == nil { + r, _ := utf8.DecodeRuneInString(s[start:]) + err = runeError(r) + } + continue + case mapped, deviation: + b = append(b, s[k:start]...) + b = info(v).appendMapping(b, s[start:i]) + case ignored: + b = append(b, s[k:start]...) + // drop the rune + case unknown: + b = append(b, s[k:start]...) + b = append(b, "\ufffd"...) + } + k = i + } + if k == 0 { + // No changes so far. + s = norm.NFC.String(s) + } else { + b = append(b, s[k:]...) + if norm.NFC.QuickSpan(b) != len(b) { + b = norm.NFC.Bytes(b) + } + // TODO: the punycode converters require strings as input. + s = string(b) + } + return s, err +} + +// A labelIter allows iterating over domain name labels. +type labelIter struct { + orig string + slice []string + curStart int + curEnd int + i int +} + +func (l *labelIter) reset() { + l.curStart = 0 + l.curEnd = 0 + l.i = 0 +} + +func (l *labelIter) done() bool { + return l.curStart >= len(l.orig) +} + +func (l *labelIter) result() string { + if l.slice != nil { + return strings.Join(l.slice, ".") + } + return l.orig +} + +func (l *labelIter) label() string { + if l.slice != nil { + return l.slice[l.i] + } + p := strings.IndexByte(l.orig[l.curStart:], '.') + l.curEnd = l.curStart + p + if p == -1 { + l.curEnd = len(l.orig) + } + return l.orig[l.curStart:l.curEnd] +} + +// next sets the value to the next label. It skips the last label if it is empty. +func (l *labelIter) next() { + l.i++ + if l.slice != nil { + if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" { + l.curStart = len(l.orig) + } + } else { + l.curStart = l.curEnd + 1 + if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' { + l.curStart = len(l.orig) + } + } +} + +func (l *labelIter) set(s string) { + if l.slice == nil { + l.slice = strings.Split(l.orig, ".") + } + l.slice[l.i] = s +} + +// acePrefix is the ASCII Compatible Encoding prefix. +const acePrefix = "xn--" + +func (p *Profile) simplify(cat category) category { + switch cat { + case disallowedSTD3Mapped: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = mapped + } + case disallowedSTD3Valid: + if p.useSTD3Rules { + cat = disallowed + } else { + cat = valid + } + case deviation: + if !p.transitional { + cat = valid + } + case validNV8, validXV8: + // TODO: handle V2008 + cat = valid + } + return cat +} + +func validateFromPunycode(p *Profile, s string) error { + if !norm.NFC.IsNormalString(s) { + return &labelError{s, "V1"} + } + for i := 0; i < len(s); { + v, sz := trie.lookupString(s[i:]) + if c := p.simplify(info(v).category()); c != valid && c != deviation { + return &labelError{s, "V6"} + } + i += sz + } + return nil +} + +const ( + zwnj = "\u200c" + zwj = "\u200d" +) + +type joinState int8 + +const ( + stateStart joinState = iota + stateVirama + stateBefore + stateBeforeVirama + stateAfter + stateFAIL +) + +var joinStates = [][numJoinTypes]joinState{ + stateStart: { + joiningL: stateBefore, + joiningD: stateBefore, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateVirama, + }, + stateVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + }, + stateBefore: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + joinZWNJ: stateAfter, + joinZWJ: stateFAIL, + joinVirama: stateBeforeVirama, + }, + stateBeforeVirama: { + joiningL: stateBefore, + joiningD: stateBefore, + joiningT: stateBefore, + }, + stateAfter: { + joiningL: stateFAIL, + joiningD: stateBefore, + joiningT: stateAfter, + joiningR: stateStart, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateAfter, // no-op as we can't accept joiners here + }, + stateFAIL: { + 0: stateFAIL, + joiningL: stateFAIL, + joiningD: stateFAIL, + joiningT: stateFAIL, + joiningR: stateFAIL, + joinZWNJ: stateFAIL, + joinZWJ: stateFAIL, + joinVirama: stateFAIL, + }, +} + +// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are +// already implicitly satisfied by the overall implementation. +func (p *Profile) validateLabel(s string) error { + if s == "" { + if p.verifyDNSLength { + return &labelError{s, "A4"} + } + return nil + } + if p.bidirule != nil && !p.bidirule(s) { + return &labelError{s, "B"} + } + if !p.validateLabels { + return nil + } + trie := p.trie // p.validateLabels is only set if trie is set. + if len(s) > 4 && s[2] == '-' && s[3] == '-' { + return &labelError{s, "V2"} + } + if s[0] == '-' || s[len(s)-1] == '-' { + return &labelError{s, "V3"} + } + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) + if x.isModifier() { + return &labelError{s, "V5"} + } + // Quickly return in the absence of zero-width (non) joiners. + if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 { + return nil + } + st := stateStart + for i := 0; ; { + jt := x.joinType() + if s[i:i+sz] == zwj { + jt = joinZWJ + } else if s[i:i+sz] == zwnj { + jt = joinZWNJ + } + st = joinStates[st][jt] + if x.isViramaModifier() { + st = joinStates[st][joinVirama] + } + if i += sz; i == len(s) { + break + } + v, sz = trie.lookupString(s[i:]) + x = info(v) + } + if st == stateFAIL || st == stateAfter { + return &labelError{s, "C"} + } + return nil +} + +func ascii(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} diff --git a/vendor/golang.org/x/net/idna/punycode.go b/vendor/golang.org/x/net/idna/punycode.go new file mode 100644 index 000000000000..02c7d59af3b4 --- /dev/null +++ b/vendor/golang.org/x/net/idna/punycode.go @@ -0,0 +1,203 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// This file implements the Punycode algorithm from RFC 3492. + +import ( + "math" + "strings" + "unicode/utf8" +) + +// These parameter values are specified in section 5. +// +// All computation is done with int32s, so that overflow behavior is identical +// regardless of whether int is 32-bit or 64-bit. +const ( + base int32 = 36 + damp int32 = 700 + initialBias int32 = 72 + initialN int32 = 128 + skew int32 = 38 + tmax int32 = 26 + tmin int32 = 1 +) + +func punyError(s string) error { return &labelError{s, "A3"} } + +// decode decodes a string as specified in section 6.2. +func decode(encoded string) (string, error) { + if encoded == "" { + return "", nil + } + pos := 1 + strings.LastIndex(encoded, "-") + if pos == 1 { + return "", punyError(encoded) + } + if pos == len(encoded) { + return encoded[:len(encoded)-1], nil + } + output := make([]rune, 0, len(encoded)) + if pos != 0 { + for _, r := range encoded[:pos-1] { + output = append(output, r) + } + } + i, n, bias := int32(0), initialN, initialBias + for pos < len(encoded) { + oldI, w := i, int32(1) + for k := base; ; k += base { + if pos == len(encoded) { + return "", punyError(encoded) + } + digit, ok := decodeDigit(encoded[pos]) + if !ok { + return "", punyError(encoded) + } + pos++ + i += digit * w + if i < 0 { + return "", punyError(encoded) + } + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if digit < t { + break + } + w *= base - t + if w >= math.MaxInt32/base { + return "", punyError(encoded) + } + } + x := int32(len(output) + 1) + bias = adapt(i-oldI, x, oldI == 0) + n += i / x + i %= x + if n > utf8.MaxRune || len(output) >= 1024 { + return "", punyError(encoded) + } + output = append(output, 0) + copy(output[i+1:], output[i:]) + output[i] = n + i++ + } + return string(output), nil +} + +// encode encodes a string as specified in section 6.3 and prepends prefix to +// the result. +// +// The "while h < length(input)" line in the specification becomes "for +// remaining != 0" in the Go code, because len(s) in Go is in bytes, not runes. +func encode(prefix, s string) (string, error) { + output := make([]byte, len(prefix), len(prefix)+1+2*len(s)) + copy(output, prefix) + delta, n, bias := int32(0), initialN, initialBias + b, remaining := int32(0), int32(0) + for _, r := range s { + if r < 0x80 { + b++ + output = append(output, byte(r)) + } else { + remaining++ + } + } + h := b + if b > 0 { + output = append(output, '-') + } + for remaining != 0 { + m := int32(0x7fffffff) + for _, r := range s { + if m > r && r >= n { + m = r + } + } + delta += (m - n) * (h + 1) + if delta < 0 { + return "", punyError(s) + } + n = m + for _, r := range s { + if r < n { + delta++ + if delta < 0 { + return "", punyError(s) + } + continue + } + if r > n { + continue + } + q := delta + for k := base; ; k += base { + t := k - bias + if t < tmin { + t = tmin + } else if t > tmax { + t = tmax + } + if q < t { + break + } + output = append(output, encodeDigit(t+(q-t)%(base-t))) + q = (q - t) / (base - t) + } + output = append(output, encodeDigit(q)) + bias = adapt(delta, h+1, h == b) + delta = 0 + h++ + remaining-- + } + delta++ + n++ + } + return string(output), nil +} + +func decodeDigit(x byte) (digit int32, ok bool) { + switch { + case '0' <= x && x <= '9': + return int32(x - ('0' - 26)), true + case 'A' <= x && x <= 'Z': + return int32(x - 'A'), true + case 'a' <= x && x <= 'z': + return int32(x - 'a'), true + } + return 0, false +} + +func encodeDigit(digit int32) byte { + switch { + case 0 <= digit && digit < 26: + return byte(digit + 'a') + case 26 <= digit && digit < 36: + return byte(digit + ('0' - 26)) + } + panic("idna: internal error in punycode encoding") +} + +// adapt is the bias adaptation function specified in section 6.1. +func adapt(delta, numPoints int32, firstTime bool) int32 { + if firstTime { + delta /= damp + } else { + delta /= 2 + } + delta += delta / numPoints + k := int32(0) + for delta > ((base-tmin)*tmax)/2 { + delta /= base - tmin + k += base + } + return k + (base-tmin+1)*delta/(delta+skew) +} diff --git a/vendor/golang.org/x/net/idna/tables.go b/vendor/golang.org/x/net/idna/tables.go new file mode 100644 index 000000000000..d2819345fcd8 --- /dev/null +++ b/vendor/golang.org/x/net/idna/tables.go @@ -0,0 +1,4477 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package idna + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +var mappings string = "" + // Size: 8176 bytes + "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + + "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + + "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + + "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + + "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + + "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + + "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + + "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + + "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + + "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + + "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + + "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + + "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + + "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + + "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + + "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + + "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + + "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + + "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + + "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + + "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + + "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + + "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + + "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + + "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + + "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + + ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + + "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + + "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + + "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + + "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + + "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + + "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + + "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + + "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + + "月\x0511月\x0512月\x02hg\x02ev\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニング\x09" + + "インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー\x09ガロ" + + "ン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0fキロワッ" + + "ト\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル\x0fサンチ" + + "ーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット\x09ハイツ" + + "\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0cフィート" + + "\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ\x0cポイ" + + "ント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク\x0fマ" + + "ンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09ユアン" + + "\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x042点" + + "\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + + "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + + "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + + "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + + "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + + "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + + "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + + "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + + "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + + "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + + "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + + "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x04𤋮\x04𢡊\x04𢡄\x04𣏕\x04𥉉" + + "\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ\x04יִ" + + "\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּׂ\x04א" + + "ַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04ךּ\x04" + + "כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ\x04תּ" + + "\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ\x02ڤ" + + "\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ\x02ڳ" + + "\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ\x02ۅ" + + "\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02ی\x04" + + "ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04تح" + + "\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج\x04حم" + + "\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح\x04ضخ" + + "\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ\x04فم" + + "\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل\x04كم" + + "\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ\x04مم" + + "\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى\x04هي" + + "\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 ٍّ\x05" + + " َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04تر\x04تز" + + "\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04ين\x04ئخ" + + "\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه\x04شم\x04شه" + + "\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي\x04سى\x04سي" + + "\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي\x04ضى\x04ضي" + + "\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06تحج\x06تحم" + + "\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سجح\x06سجى" + + "\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم\x06ضحى" + + "\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي\x06غمى" + + "\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح\x06محج" + + "\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم\x06نحم" + + "\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى\x06تخي" + + "\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي\x06ضحي" + + "\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي\x06كمي" + + "\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي\x06سخي" + + "\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08عليه" + + "\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:\x01!" + + "\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\\x01$" + + "\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ\x02إ" + + "\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز\x02س" + + "\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن\x02ه" + + "\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~\x02¢" + + "\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲\x08𝆹" + + "𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η\x02" + + "κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ\x02ڡ" + + "\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029,\x03(a)" + + "\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)\x03(k)" + + "\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)\x03(u)" + + "\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03ppv\x02w" + + "c\x02mc\x02md\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ\x03二\x03多\x03解" + + "\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終\x03生\x03販\x03声" + + "\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指\x03走\x03打\x03禁" + + "\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔三〕\x09〔二〕\x09〔安" + + "〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03丸\x03乁\x03你\x03" + + "侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03具\x03㒹\x03內\x03" + + "冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03㔕\x03勇\x03勉\x03" + + "勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03灰\x03及\x03叟\x03" + + "叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03啣\x03善\x03喙\x03" + + "喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03埴\x03堍\x03型\x03" + + "堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03姘\x03婦\x03㛮\x03" + + "嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03屮\x03峀\x03岍\x03" + + "嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03㡢\x03㡼\x03庰\x03" + + "庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03忍\x03志\x03忹\x03" + + "悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03憤\x03憯\x03懞\x03" + + "懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03掃\x03揤\x03搢\x03" + + "揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03書\x03晉\x03㬙\x03" + + "暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03朡\x03杞\x03杓\x03" + + "㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03槪\x03檨\x03櫛\x03" + + "㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03汧\x03洖\x03派\x03" + + "海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03淹\x03潮\x03濆\x03" + + "瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03爵\x03牐\x03犀\x03" + + "犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03㼛\x03甤\x03甾\x03" + + "異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03䂖\x03硎\x03碌\x03" + + "磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03築\x03䈧\x03糒\x03" + + "䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03罺\x03羕\x03翺\x03" + + "者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03䑫\x03芑\x03芋\x03" + + "芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03莽\x03菧\x03著\x03" + + "荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03䕫\x03虐\x03虜\x03" + + "虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03蠁\x03䗹\x03衠\x03" + + "衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03豕\x03貫\x03賁\x03" + + "贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03鈸\x03鋗\x03鋘\x03" + + "鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03䩶\x03韠\x03䪲\x03" + + "頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03鳽\x03䳎\x03䳭\x03" + + "鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" + +var xorData string = "" + // Size: 4855 bytes + "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + + "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + + "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + + "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + + "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + + "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + + "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + + "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + + "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + + "\x03\x037 \x03\x0b+\x03\x02\x01\x04\x02\x01\x02\x02\x019\x02\x03\x1c\x02" + + "\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03\xc1r\x02" + + "\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<\x03\xc1s*" + + "\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03\x83\xab" + + "\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96\xe1\xcd" + + "\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03\x9a\xec" + + "\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c!\x03" + + "\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03ʦ\x93" + + "\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7\x03" + + "\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca\xfa" + + "\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e\x03" + + "\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca\xe3" + + "\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99\x03" + + "\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca\xe8" + + "\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03\x0b" + + "\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06\x05" + + "\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03\x0786" + + "\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/\x03" + + "\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f\x03" + + "\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-\x03" + + "\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03\x07" + + "\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03\x07" + + "\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03\x07" + + "\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b\x0a" + + "\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03\x07" + + "\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+\x03" + + "\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03\x04" + + "4\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03\x04+ " + + "\x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!\x22" + + "\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04\x03" + + "\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>\x03" + + "\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03\x054" + + "\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03\x05)" + + ":\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$\x1e" + + "\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226\x03" + + "\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05\x1b" + + "\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05\x03" + + "\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03\x06" + + "\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08\x03" + + "\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03\x0a6" + + "\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a\x1f" + + "\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03\x0a" + + "\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f\x02" + + "\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/\x03" + + "\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a\x00" + + "\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+\x10" + + "\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#<" + + "\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!\x00" + + "\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18.\x03" + + "\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15\x22" + + "\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b\x12" + + "\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05<" + + "\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + + "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + + "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + + "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + + "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + + "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + + "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + + "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + + "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + + "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + + "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + + "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + + "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + + "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + + "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + + "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + + "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + + "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + + "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + + "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + + "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + + "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + + "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + + "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + + "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + + "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + + "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + + "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + + "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + + "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + + "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + + "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + + ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + + "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + + "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + + "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + + "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + + "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + + "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + + "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + + "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + + "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + + "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + + "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + + "(\x04\x023 \x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!\x10\x03\x0b!0" + + "\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b\x03\x09\x1f" + + "\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14\x03\x0a\x01" + + "\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03\x08='\x03" + + "\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07\x01\x00" + + "\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03\x09\x11" + + "\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03\x0a/1" + + "\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03\x07<3" + + "\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06\x13\x00" + + "\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(;\x03" + + "\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08\x14$" + + "\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03\x0a" + + "\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19\x01" + + "\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18\x03" + + "\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03\x07" + + "\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03\x0a" + + "\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03\x0b" + + "\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03\x08" + + "\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05\x03" + + "\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11\x03" + + "\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03\x09" + + "\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a." + + "\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + + "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + + "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + + "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + + "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + + "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + + "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + + "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + + "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + + "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + + "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + + "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + + "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + + "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + + "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + + "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + + "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + + "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + + "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + + "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + + "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + + "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + + "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + + "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + + "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + + "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + + "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + + "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + + "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + + "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + + "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + + "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + + "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + + "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + + "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + + "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + + "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + + "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + + "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + + "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + + "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + + "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + + "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + + "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + + "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + + "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + + "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + + "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + + "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + + "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + + "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + + "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + + "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + + "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + + "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + + "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + + "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + + "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + + "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + + "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + + "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + + "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + + "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + + "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + + "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + + "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + + "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + + "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + + "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + + "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + + "\x04\x03\x0c?\x05\x03\x0c" + + "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + + "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + + "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + + "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + + "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + + "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + + "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + + "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + + "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + + "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + + "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + + "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + + "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + + "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + + "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + + "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + + "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + + "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + + "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + + "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + + "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + + "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + + "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + + "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + + "\x05\x22\x05\x03\x050\x1d" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return idnaValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := idnaIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = idnaIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = idnaIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return idnaValues[c0] + } + i := idnaIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = idnaIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// idnaTrie. Total size: 28496 bytes (27.83 KiB). Checksum: 43288b883596640e. +type idnaTrie struct{} + +func newIdnaTrie(i int) *idnaTrie { + return &idnaTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 123: + return uint16(idnaValues[n<<6+uint32(b)]) + default: + n -= 123 + return uint16(idnaSparse.lookup(n, b)) + } +} + +// idnaValues: 125 blocks, 8000 entries, 16000 bytes +// The third block is the zero block. +var idnaValues = [8000]uint16{ + // Block 0x0, offset 0x0 + 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, + 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, + 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, + 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, + 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, + 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, + 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, + 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, + 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, + 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, + 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, + // Block 0x1, offset 0x40 + 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, + 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, + 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, + 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, + 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, + 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, + 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, + 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, + 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, + 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, + 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, + 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, + 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, + 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, + 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, + 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, + 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, + 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, + 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, + 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, + 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, + // Block 0x4, offset 0x100 + 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, + 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, + 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, + 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, + 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, + 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, + 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, + 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, + 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, + 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, + 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, + // Block 0x5, offset 0x140 + 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, + 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, + 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, + 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, + 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, + 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, + 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, + 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, + 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, + 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, + 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, + // Block 0x6, offset 0x180 + 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, + 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, + 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, + 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, + 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, + 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, + 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, + 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, + 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, + 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, + 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, + 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, + 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, + 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, + 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, + 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, + 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, + 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, + 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, + 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, + 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, + // Block 0x8, offset 0x200 + 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, + 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, + 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, + 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, + 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, + 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, + 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, + 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, + 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, + 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, + 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, + // Block 0x9, offset 0x240 + 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, + 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, + 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, + 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, + 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, + 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, + 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, + 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, + 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, + 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, + 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, + // Block 0xa, offset 0x280 + 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x1308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, + 0x286: 0x1308, 0x287: 0x1308, 0x288: 0x1308, 0x289: 0x1308, 0x28a: 0x1308, 0x28b: 0x1308, + 0x28c: 0x1308, 0x28d: 0x1308, 0x28e: 0x1308, 0x28f: 0x13c0, 0x290: 0x1308, 0x291: 0x1308, + 0x292: 0x1308, 0x293: 0x1308, 0x294: 0x1308, 0x295: 0x1308, 0x296: 0x1308, 0x297: 0x1308, + 0x298: 0x1308, 0x299: 0x1308, 0x29a: 0x1308, 0x29b: 0x1308, 0x29c: 0x1308, 0x29d: 0x1308, + 0x29e: 0x1308, 0x29f: 0x1308, 0x2a0: 0x1308, 0x2a1: 0x1308, 0x2a2: 0x1308, 0x2a3: 0x1308, + 0x2a4: 0x1308, 0x2a5: 0x1308, 0x2a6: 0x1308, 0x2a7: 0x1308, 0x2a8: 0x1308, 0x2a9: 0x1308, + 0x2aa: 0x1308, 0x2ab: 0x1308, 0x2ac: 0x1308, 0x2ad: 0x1308, 0x2ae: 0x1308, 0x2af: 0x1308, + 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, + 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, + 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, + 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, + 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, + 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, + 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, + 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, + 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, + 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, + 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, + 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, + 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, + // Block 0xc, offset 0x300 + 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, + 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, + 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, + 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, + 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, + 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, + 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, + 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, + 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, + 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, + 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, + // Block 0xd, offset 0x340 + 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, + 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, + 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, + 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, + 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, + 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, + 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, + 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, + 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, + 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, + 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, + // Block 0xe, offset 0x380 + 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x1308, 0x384: 0x1308, 0x385: 0x1308, + 0x386: 0x1308, 0x387: 0x1308, 0x388: 0x1318, 0x389: 0x1318, 0x38a: 0xe00d, 0x38b: 0x0008, + 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, + 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, + 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, + 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, + 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, + 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, + 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, + 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, + 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, + 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, + 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, + 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, + 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, + 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, + 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, + 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, + 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, + 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, + 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, + // Block 0x10, offset 0x400 + 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, + 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, + 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, + 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, + 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, + 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, + 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, + 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, + 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, + 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, + 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, + // Block 0x11, offset 0x440 + 0x440: 0x0040, 0x441: 0x0040, 0x442: 0x0040, 0x443: 0x0040, 0x444: 0x0040, 0x445: 0x0040, + 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0018, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0018, + 0x44c: 0x0018, 0x44d: 0x0018, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x1308, 0x451: 0x1308, + 0x452: 0x1308, 0x453: 0x1308, 0x454: 0x1308, 0x455: 0x1308, 0x456: 0x1308, 0x457: 0x1308, + 0x458: 0x1308, 0x459: 0x1308, 0x45a: 0x1308, 0x45b: 0x0018, 0x45c: 0x0340, 0x45d: 0x0040, + 0x45e: 0x0018, 0x45f: 0x0018, 0x460: 0x0208, 0x461: 0x0008, 0x462: 0x0408, 0x463: 0x0408, + 0x464: 0x0408, 0x465: 0x0408, 0x466: 0x0208, 0x467: 0x0408, 0x468: 0x0208, 0x469: 0x0408, + 0x46a: 0x0208, 0x46b: 0x0208, 0x46c: 0x0208, 0x46d: 0x0208, 0x46e: 0x0208, 0x46f: 0x0408, + 0x470: 0x0408, 0x471: 0x0408, 0x472: 0x0408, 0x473: 0x0208, 0x474: 0x0208, 0x475: 0x0208, + 0x476: 0x0208, 0x477: 0x0208, 0x478: 0x0208, 0x479: 0x0208, 0x47a: 0x0208, 0x47b: 0x0208, + 0x47c: 0x0208, 0x47d: 0x0208, 0x47e: 0x0208, 0x47f: 0x0208, + // Block 0x12, offset 0x480 + 0x480: 0x0408, 0x481: 0x0208, 0x482: 0x0208, 0x483: 0x0408, 0x484: 0x0408, 0x485: 0x0408, + 0x486: 0x0408, 0x487: 0x0408, 0x488: 0x0408, 0x489: 0x0408, 0x48a: 0x0408, 0x48b: 0x0408, + 0x48c: 0x0208, 0x48d: 0x0408, 0x48e: 0x0208, 0x48f: 0x0408, 0x490: 0x0208, 0x491: 0x0208, + 0x492: 0x0408, 0x493: 0x0408, 0x494: 0x0018, 0x495: 0x0408, 0x496: 0x1308, 0x497: 0x1308, + 0x498: 0x1308, 0x499: 0x1308, 0x49a: 0x1308, 0x49b: 0x1308, 0x49c: 0x1308, 0x49d: 0x0040, + 0x49e: 0x0018, 0x49f: 0x1308, 0x4a0: 0x1308, 0x4a1: 0x1308, 0x4a2: 0x1308, 0x4a3: 0x1308, + 0x4a4: 0x1308, 0x4a5: 0x0008, 0x4a6: 0x0008, 0x4a7: 0x1308, 0x4a8: 0x1308, 0x4a9: 0x0018, + 0x4aa: 0x1308, 0x4ab: 0x1308, 0x4ac: 0x1308, 0x4ad: 0x1308, 0x4ae: 0x0408, 0x4af: 0x0408, + 0x4b0: 0x0008, 0x4b1: 0x0008, 0x4b2: 0x0008, 0x4b3: 0x0008, 0x4b4: 0x0008, 0x4b5: 0x0008, + 0x4b6: 0x0008, 0x4b7: 0x0008, 0x4b8: 0x0008, 0x4b9: 0x0008, 0x4ba: 0x0208, 0x4bb: 0x0208, + 0x4bc: 0x0208, 0x4bd: 0x0008, 0x4be: 0x0008, 0x4bf: 0x0208, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0018, 0x4c1: 0x0018, 0x4c2: 0x0018, 0x4c3: 0x0018, 0x4c4: 0x0018, 0x4c5: 0x0018, + 0x4c6: 0x0018, 0x4c7: 0x0018, 0x4c8: 0x0018, 0x4c9: 0x0018, 0x4ca: 0x0018, 0x4cb: 0x0018, + 0x4cc: 0x0018, 0x4cd: 0x0018, 0x4ce: 0x0040, 0x4cf: 0x0340, 0x4d0: 0x0408, 0x4d1: 0x1308, + 0x4d2: 0x0208, 0x4d3: 0x0208, 0x4d4: 0x0208, 0x4d5: 0x0408, 0x4d6: 0x0408, 0x4d7: 0x0408, + 0x4d8: 0x0408, 0x4d9: 0x0408, 0x4da: 0x0208, 0x4db: 0x0208, 0x4dc: 0x0208, 0x4dd: 0x0208, + 0x4de: 0x0408, 0x4df: 0x0208, 0x4e0: 0x0208, 0x4e1: 0x0208, 0x4e2: 0x0208, 0x4e3: 0x0208, + 0x4e4: 0x0208, 0x4e5: 0x0208, 0x4e6: 0x0208, 0x4e7: 0x0208, 0x4e8: 0x0408, 0x4e9: 0x0208, + 0x4ea: 0x0408, 0x4eb: 0x0208, 0x4ec: 0x0408, 0x4ed: 0x0208, 0x4ee: 0x0208, 0x4ef: 0x0408, + 0x4f0: 0x1308, 0x4f1: 0x1308, 0x4f2: 0x1308, 0x4f3: 0x1308, 0x4f4: 0x1308, 0x4f5: 0x1308, + 0x4f6: 0x1308, 0x4f7: 0x1308, 0x4f8: 0x1308, 0x4f9: 0x1308, 0x4fa: 0x1308, 0x4fb: 0x1308, + 0x4fc: 0x1308, 0x4fd: 0x1308, 0x4fe: 0x1308, 0x4ff: 0x1308, + // Block 0x14, offset 0x500 + 0x500: 0x1008, 0x501: 0x1308, 0x502: 0x1308, 0x503: 0x1308, 0x504: 0x1308, 0x505: 0x1308, + 0x506: 0x1308, 0x507: 0x1308, 0x508: 0x1308, 0x509: 0x1008, 0x50a: 0x1008, 0x50b: 0x1008, + 0x50c: 0x1008, 0x50d: 0x1b08, 0x50e: 0x1008, 0x50f: 0x1008, 0x510: 0x0008, 0x511: 0x1308, + 0x512: 0x1308, 0x513: 0x1308, 0x514: 0x1308, 0x515: 0x1308, 0x516: 0x1308, 0x517: 0x1308, + 0x518: 0x04c9, 0x519: 0x0501, 0x51a: 0x0539, 0x51b: 0x0571, 0x51c: 0x05a9, 0x51d: 0x05e1, + 0x51e: 0x0619, 0x51f: 0x0651, 0x520: 0x0008, 0x521: 0x0008, 0x522: 0x1308, 0x523: 0x1308, + 0x524: 0x0018, 0x525: 0x0018, 0x526: 0x0008, 0x527: 0x0008, 0x528: 0x0008, 0x529: 0x0008, + 0x52a: 0x0008, 0x52b: 0x0008, 0x52c: 0x0008, 0x52d: 0x0008, 0x52e: 0x0008, 0x52f: 0x0008, + 0x530: 0x0018, 0x531: 0x0008, 0x532: 0x0008, 0x533: 0x0008, 0x534: 0x0008, 0x535: 0x0008, + 0x536: 0x0008, 0x537: 0x0008, 0x538: 0x0008, 0x539: 0x0008, 0x53a: 0x0008, 0x53b: 0x0008, + 0x53c: 0x0008, 0x53d: 0x0008, 0x53e: 0x0008, 0x53f: 0x0008, + // Block 0x15, offset 0x540 + 0x540: 0x0008, 0x541: 0x1308, 0x542: 0x1008, 0x543: 0x1008, 0x544: 0x0040, 0x545: 0x0008, + 0x546: 0x0008, 0x547: 0x0008, 0x548: 0x0008, 0x549: 0x0008, 0x54a: 0x0008, 0x54b: 0x0008, + 0x54c: 0x0008, 0x54d: 0x0040, 0x54e: 0x0040, 0x54f: 0x0008, 0x550: 0x0008, 0x551: 0x0040, + 0x552: 0x0040, 0x553: 0x0008, 0x554: 0x0008, 0x555: 0x0008, 0x556: 0x0008, 0x557: 0x0008, + 0x558: 0x0008, 0x559: 0x0008, 0x55a: 0x0008, 0x55b: 0x0008, 0x55c: 0x0008, 0x55d: 0x0008, + 0x55e: 0x0008, 0x55f: 0x0008, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x0008, 0x563: 0x0008, + 0x564: 0x0008, 0x565: 0x0008, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0040, + 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008, + 0x570: 0x0008, 0x571: 0x0040, 0x572: 0x0008, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, + 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0040, 0x57b: 0x0040, + 0x57c: 0x1308, 0x57d: 0x0008, 0x57e: 0x1008, 0x57f: 0x1008, + // Block 0x16, offset 0x580 + 0x580: 0x1008, 0x581: 0x1308, 0x582: 0x1308, 0x583: 0x1308, 0x584: 0x1308, 0x585: 0x0040, + 0x586: 0x0040, 0x587: 0x1008, 0x588: 0x1008, 0x589: 0x0040, 0x58a: 0x0040, 0x58b: 0x1008, + 0x58c: 0x1008, 0x58d: 0x1b08, 0x58e: 0x0008, 0x58f: 0x0040, 0x590: 0x0040, 0x591: 0x0040, + 0x592: 0x0040, 0x593: 0x0040, 0x594: 0x0040, 0x595: 0x0040, 0x596: 0x0040, 0x597: 0x1008, + 0x598: 0x0040, 0x599: 0x0040, 0x59a: 0x0040, 0x59b: 0x0040, 0x59c: 0x0689, 0x59d: 0x06c1, + 0x59e: 0x0040, 0x59f: 0x06f9, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x1308, 0x5a3: 0x1308, + 0x5a4: 0x0040, 0x5a5: 0x0040, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, + 0x5b0: 0x0008, 0x5b1: 0x0008, 0x5b2: 0x0018, 0x5b3: 0x0018, 0x5b4: 0x0018, 0x5b5: 0x0018, + 0x5b6: 0x0018, 0x5b7: 0x0018, 0x5b8: 0x0018, 0x5b9: 0x0018, 0x5ba: 0x0018, 0x5bb: 0x0018, + 0x5bc: 0x0040, 0x5bd: 0x0040, 0x5be: 0x0040, 0x5bf: 0x0040, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0040, 0x5c1: 0x1308, 0x5c2: 0x1308, 0x5c3: 0x1008, 0x5c4: 0x0040, 0x5c5: 0x0008, + 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0040, + 0x5cc: 0x0040, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, + 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, + 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, + 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, + 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, + 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0731, 0x5f4: 0x0040, 0x5f5: 0x0008, + 0x5f6: 0x0769, 0x5f7: 0x0040, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, + 0x5fc: 0x1308, 0x5fd: 0x0040, 0x5fe: 0x1008, 0x5ff: 0x1008, + // Block 0x18, offset 0x600 + 0x600: 0x1008, 0x601: 0x1308, 0x602: 0x1308, 0x603: 0x0040, 0x604: 0x0040, 0x605: 0x0040, + 0x606: 0x0040, 0x607: 0x1308, 0x608: 0x1308, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x1308, + 0x60c: 0x1308, 0x60d: 0x1b08, 0x60e: 0x0040, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x1308, + 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x0040, + 0x618: 0x0040, 0x619: 0x07a1, 0x61a: 0x07d9, 0x61b: 0x0811, 0x61c: 0x0008, 0x61d: 0x0040, + 0x61e: 0x0849, 0x61f: 0x0040, 0x620: 0x0040, 0x621: 0x0040, 0x622: 0x0040, 0x623: 0x0040, + 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, + 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, + 0x630: 0x1308, 0x631: 0x1308, 0x632: 0x0008, 0x633: 0x0008, 0x634: 0x0008, 0x635: 0x1308, + 0x636: 0x0040, 0x637: 0x0040, 0x638: 0x0040, 0x639: 0x0040, 0x63a: 0x0040, 0x63b: 0x0040, + 0x63c: 0x0040, 0x63d: 0x0040, 0x63e: 0x0040, 0x63f: 0x0040, + // Block 0x19, offset 0x640 + 0x640: 0x0040, 0x641: 0x1308, 0x642: 0x1308, 0x643: 0x1008, 0x644: 0x0040, 0x645: 0x0008, + 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0008, + 0x64c: 0x0008, 0x64d: 0x0008, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0008, + 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, + 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, + 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, + 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, + 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, + 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0040, 0x675: 0x0008, + 0x676: 0x0008, 0x677: 0x0008, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, + 0x67c: 0x1308, 0x67d: 0x0008, 0x67e: 0x1008, 0x67f: 0x1008, + // Block 0x1a, offset 0x680 + 0x680: 0x1008, 0x681: 0x1308, 0x682: 0x1308, 0x683: 0x1308, 0x684: 0x1308, 0x685: 0x1308, + 0x686: 0x0040, 0x687: 0x1308, 0x688: 0x1308, 0x689: 0x1008, 0x68a: 0x0040, 0x68b: 0x1008, + 0x68c: 0x1008, 0x68d: 0x1b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0008, 0x691: 0x0040, + 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, + 0x698: 0x0040, 0x699: 0x0040, 0x69a: 0x0040, 0x69b: 0x0040, 0x69c: 0x0040, 0x69d: 0x0040, + 0x69e: 0x0040, 0x69f: 0x0040, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x1308, 0x6a3: 0x1308, + 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, + 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, + 0x6b0: 0x0018, 0x6b1: 0x0018, 0x6b2: 0x0040, 0x6b3: 0x0040, 0x6b4: 0x0040, 0x6b5: 0x0040, + 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040, + 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x0040, 0x6c1: 0x1308, 0x6c2: 0x1008, 0x6c3: 0x1008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, + 0x6cc: 0x0008, 0x6cd: 0x0040, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0040, + 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, + 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, + 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, + 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, + 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, + 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, + 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, + 0x6fc: 0x1308, 0x6fd: 0x0008, 0x6fe: 0x1008, 0x6ff: 0x1308, + // Block 0x1c, offset 0x700 + 0x700: 0x1008, 0x701: 0x1308, 0x702: 0x1308, 0x703: 0x1308, 0x704: 0x1308, 0x705: 0x0040, + 0x706: 0x0040, 0x707: 0x1008, 0x708: 0x1008, 0x709: 0x0040, 0x70a: 0x0040, 0x70b: 0x1008, + 0x70c: 0x1008, 0x70d: 0x1b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0040, 0x711: 0x0040, + 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x1308, 0x717: 0x1008, + 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0881, 0x71d: 0x08b9, + 0x71e: 0x0040, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x1308, 0x723: 0x1308, + 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, + 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, + 0x730: 0x0018, 0x731: 0x0008, 0x732: 0x0018, 0x733: 0x0018, 0x734: 0x0018, 0x735: 0x0018, + 0x736: 0x0018, 0x737: 0x0018, 0x738: 0x0040, 0x739: 0x0040, 0x73a: 0x0040, 0x73b: 0x0040, + 0x73c: 0x0040, 0x73d: 0x0040, 0x73e: 0x0040, 0x73f: 0x0040, + // Block 0x1d, offset 0x740 + 0x740: 0x0040, 0x741: 0x0040, 0x742: 0x1308, 0x743: 0x0008, 0x744: 0x0040, 0x745: 0x0008, + 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0040, + 0x74c: 0x0040, 0x74d: 0x0040, 0x74e: 0x0008, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, + 0x752: 0x0008, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0040, 0x757: 0x0040, + 0x758: 0x0040, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0040, 0x75c: 0x0008, 0x75d: 0x0040, + 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0040, 0x761: 0x0040, 0x762: 0x0040, 0x763: 0x0008, + 0x764: 0x0008, 0x765: 0x0040, 0x766: 0x0040, 0x767: 0x0040, 0x768: 0x0008, 0x769: 0x0008, + 0x76a: 0x0008, 0x76b: 0x0040, 0x76c: 0x0040, 0x76d: 0x0040, 0x76e: 0x0008, 0x76f: 0x0008, + 0x770: 0x0008, 0x771: 0x0008, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0008, 0x775: 0x0008, + 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, + 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x1008, 0x77f: 0x1008, + // Block 0x1e, offset 0x780 + 0x780: 0x1308, 0x781: 0x1008, 0x782: 0x1008, 0x783: 0x1008, 0x784: 0x1008, 0x785: 0x0040, + 0x786: 0x1308, 0x787: 0x1308, 0x788: 0x1308, 0x789: 0x0040, 0x78a: 0x1308, 0x78b: 0x1308, + 0x78c: 0x1308, 0x78d: 0x1b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, + 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x1308, 0x796: 0x1308, 0x797: 0x0040, + 0x798: 0x0008, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0040, 0x79d: 0x0040, + 0x79e: 0x0040, 0x79f: 0x0040, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x1308, 0x7a3: 0x1308, + 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, + 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, + 0x7b0: 0x0040, 0x7b1: 0x0040, 0x7b2: 0x0040, 0x7b3: 0x0040, 0x7b4: 0x0040, 0x7b5: 0x0040, + 0x7b6: 0x0040, 0x7b7: 0x0040, 0x7b8: 0x0018, 0x7b9: 0x0018, 0x7ba: 0x0018, 0x7bb: 0x0018, + 0x7bc: 0x0018, 0x7bd: 0x0018, 0x7be: 0x0018, 0x7bf: 0x0018, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0008, 0x7c1: 0x1308, 0x7c2: 0x1008, 0x7c3: 0x1008, 0x7c4: 0x0040, 0x7c5: 0x0008, + 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0008, + 0x7cc: 0x0008, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, + 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0008, 0x7d7: 0x0008, + 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0008, 0x7dc: 0x0008, 0x7dd: 0x0008, + 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x0008, 0x7e3: 0x0008, + 0x7e4: 0x0008, 0x7e5: 0x0008, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0040, + 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008, + 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0040, 0x7f5: 0x0008, + 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, + 0x7fc: 0x1308, 0x7fd: 0x0008, 0x7fe: 0x1008, 0x7ff: 0x1308, + // Block 0x20, offset 0x800 + 0x800: 0x1008, 0x801: 0x1008, 0x802: 0x1008, 0x803: 0x1008, 0x804: 0x1008, 0x805: 0x0040, + 0x806: 0x1308, 0x807: 0x1008, 0x808: 0x1008, 0x809: 0x0040, 0x80a: 0x1008, 0x80b: 0x1008, + 0x80c: 0x1308, 0x80d: 0x1b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, + 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x1008, 0x816: 0x1008, 0x817: 0x0040, + 0x818: 0x0040, 0x819: 0x0040, 0x81a: 0x0040, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, + 0x81e: 0x0008, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x1308, 0x823: 0x1308, + 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, + 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, + 0x830: 0x0040, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, + 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0040, 0x839: 0x0040, 0x83a: 0x0040, 0x83b: 0x0040, + 0x83c: 0x0040, 0x83d: 0x0040, 0x83e: 0x0040, 0x83f: 0x0040, + // Block 0x21, offset 0x840 + 0x840: 0x1008, 0x841: 0x1308, 0x842: 0x1308, 0x843: 0x1308, 0x844: 0x1308, 0x845: 0x0040, + 0x846: 0x1008, 0x847: 0x1008, 0x848: 0x1008, 0x849: 0x0040, 0x84a: 0x1008, 0x84b: 0x1008, + 0x84c: 0x1008, 0x84d: 0x1b08, 0x84e: 0x0008, 0x84f: 0x0018, 0x850: 0x0040, 0x851: 0x0040, + 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x1008, + 0x858: 0x0018, 0x859: 0x0018, 0x85a: 0x0018, 0x85b: 0x0018, 0x85c: 0x0018, 0x85d: 0x0018, + 0x85e: 0x0018, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x1308, 0x863: 0x1308, + 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008, + 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, + 0x870: 0x0018, 0x871: 0x0018, 0x872: 0x0018, 0x873: 0x0018, 0x874: 0x0018, 0x875: 0x0018, + 0x876: 0x0018, 0x877: 0x0018, 0x878: 0x0018, 0x879: 0x0018, 0x87a: 0x0008, 0x87b: 0x0008, + 0x87c: 0x0008, 0x87d: 0x0008, 0x87e: 0x0008, 0x87f: 0x0008, + // Block 0x22, offset 0x880 + 0x880: 0x0040, 0x881: 0x0008, 0x882: 0x0008, 0x883: 0x0040, 0x884: 0x0008, 0x885: 0x0040, + 0x886: 0x0040, 0x887: 0x0008, 0x888: 0x0008, 0x889: 0x0040, 0x88a: 0x0008, 0x88b: 0x0040, + 0x88c: 0x0040, 0x88d: 0x0008, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, + 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x0008, + 0x898: 0x0040, 0x899: 0x0008, 0x89a: 0x0008, 0x89b: 0x0008, 0x89c: 0x0008, 0x89d: 0x0008, + 0x89e: 0x0008, 0x89f: 0x0008, 0x8a0: 0x0040, 0x8a1: 0x0008, 0x8a2: 0x0008, 0x8a3: 0x0008, + 0x8a4: 0x0040, 0x8a5: 0x0008, 0x8a6: 0x0040, 0x8a7: 0x0008, 0x8a8: 0x0040, 0x8a9: 0x0040, + 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0040, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, + 0x8b0: 0x0008, 0x8b1: 0x1308, 0x8b2: 0x0008, 0x8b3: 0x0929, 0x8b4: 0x1308, 0x8b5: 0x1308, + 0x8b6: 0x1308, 0x8b7: 0x1308, 0x8b8: 0x1308, 0x8b9: 0x1308, 0x8ba: 0x0040, 0x8bb: 0x1308, + 0x8bc: 0x1308, 0x8bd: 0x0008, 0x8be: 0x0040, 0x8bf: 0x0040, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x0008, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x09d1, 0x8c4: 0x0008, 0x8c5: 0x0008, + 0x8c6: 0x0008, 0x8c7: 0x0008, 0x8c8: 0x0040, 0x8c9: 0x0008, 0x8ca: 0x0008, 0x8cb: 0x0008, + 0x8cc: 0x0008, 0x8cd: 0x0a09, 0x8ce: 0x0008, 0x8cf: 0x0008, 0x8d0: 0x0008, 0x8d1: 0x0008, + 0x8d2: 0x0a41, 0x8d3: 0x0008, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0a79, + 0x8d8: 0x0008, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0ab1, 0x8dd: 0x0008, + 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008, + 0x8e4: 0x0008, 0x8e5: 0x0008, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0ae9, + 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0040, 0x8ee: 0x0040, 0x8ef: 0x0040, + 0x8f0: 0x0040, 0x8f1: 0x1308, 0x8f2: 0x1308, 0x8f3: 0x0b21, 0x8f4: 0x1308, 0x8f5: 0x0b59, + 0x8f6: 0x0b91, 0x8f7: 0x0bc9, 0x8f8: 0x0c19, 0x8f9: 0x0c51, 0x8fa: 0x1308, 0x8fb: 0x1308, + 0x8fc: 0x1308, 0x8fd: 0x1308, 0x8fe: 0x1308, 0x8ff: 0x1008, + // Block 0x24, offset 0x900 + 0x900: 0x1308, 0x901: 0x0ca1, 0x902: 0x1308, 0x903: 0x1308, 0x904: 0x1b08, 0x905: 0x0018, + 0x906: 0x1308, 0x907: 0x1308, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008, + 0x90c: 0x0008, 0x90d: 0x1308, 0x90e: 0x1308, 0x90f: 0x1308, 0x910: 0x1308, 0x911: 0x1308, + 0x912: 0x1308, 0x913: 0x0cd9, 0x914: 0x1308, 0x915: 0x1308, 0x916: 0x1308, 0x917: 0x1308, + 0x918: 0x0040, 0x919: 0x1308, 0x91a: 0x1308, 0x91b: 0x1308, 0x91c: 0x1308, 0x91d: 0x0d11, + 0x91e: 0x1308, 0x91f: 0x1308, 0x920: 0x1308, 0x921: 0x1308, 0x922: 0x0d49, 0x923: 0x1308, + 0x924: 0x1308, 0x925: 0x1308, 0x926: 0x1308, 0x927: 0x0d81, 0x928: 0x1308, 0x929: 0x1308, + 0x92a: 0x1308, 0x92b: 0x1308, 0x92c: 0x0db9, 0x92d: 0x1308, 0x92e: 0x1308, 0x92f: 0x1308, + 0x930: 0x1308, 0x931: 0x1308, 0x932: 0x1308, 0x933: 0x1308, 0x934: 0x1308, 0x935: 0x1308, + 0x936: 0x1308, 0x937: 0x1308, 0x938: 0x1308, 0x939: 0x0df1, 0x93a: 0x1308, 0x93b: 0x1308, + 0x93c: 0x1308, 0x93d: 0x0040, 0x93e: 0x0018, 0x93f: 0x0018, + // Block 0x25, offset 0x940 + 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x0008, 0x944: 0x0008, 0x945: 0x0008, + 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, + 0x94c: 0x0008, 0x94d: 0x0008, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, + 0x952: 0x0008, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0008, + 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0008, 0x95d: 0x0008, + 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, + 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0008, + 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0039, 0x96d: 0x0ed1, 0x96e: 0x0ee9, 0x96f: 0x0008, + 0x970: 0x0ef9, 0x971: 0x0f09, 0x972: 0x0f19, 0x973: 0x0f31, 0x974: 0x0249, 0x975: 0x0f41, + 0x976: 0x0259, 0x977: 0x0f51, 0x978: 0x0359, 0x979: 0x0f61, 0x97a: 0x0f71, 0x97b: 0x0008, + 0x97c: 0x00d9, 0x97d: 0x0f81, 0x97e: 0x0f99, 0x97f: 0x0269, + // Block 0x26, offset 0x980 + 0x980: 0x0fa9, 0x981: 0x0fb9, 0x982: 0x0279, 0x983: 0x0039, 0x984: 0x0fc9, 0x985: 0x0fe1, + 0x986: 0x059d, 0x987: 0x0ee9, 0x988: 0x0ef9, 0x989: 0x0f09, 0x98a: 0x0ff9, 0x98b: 0x1011, + 0x98c: 0x1029, 0x98d: 0x0f31, 0x98e: 0x0008, 0x98f: 0x0f51, 0x990: 0x0f61, 0x991: 0x1041, + 0x992: 0x00d9, 0x993: 0x1059, 0x994: 0x05b5, 0x995: 0x05b5, 0x996: 0x0f99, 0x997: 0x0fa9, + 0x998: 0x0fb9, 0x999: 0x059d, 0x99a: 0x1071, 0x99b: 0x1089, 0x99c: 0x05cd, 0x99d: 0x1099, + 0x99e: 0x10b1, 0x99f: 0x10c9, 0x9a0: 0x10e1, 0x9a1: 0x10f9, 0x9a2: 0x0f41, 0x9a3: 0x0269, + 0x9a4: 0x0fb9, 0x9a5: 0x1089, 0x9a6: 0x1099, 0x9a7: 0x10b1, 0x9a8: 0x1111, 0x9a9: 0x10e1, + 0x9aa: 0x10f9, 0x9ab: 0x0008, 0x9ac: 0x0008, 0x9ad: 0x0008, 0x9ae: 0x0008, 0x9af: 0x0008, + 0x9b0: 0x0008, 0x9b1: 0x0008, 0x9b2: 0x0008, 0x9b3: 0x0008, 0x9b4: 0x0008, 0x9b5: 0x0008, + 0x9b6: 0x0008, 0x9b7: 0x0008, 0x9b8: 0x1129, 0x9b9: 0x0008, 0x9ba: 0x0008, 0x9bb: 0x0008, + 0x9bc: 0x0008, 0x9bd: 0x0008, 0x9be: 0x0008, 0x9bf: 0x0008, + // Block 0x27, offset 0x9c0 + 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, + 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, + 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, + 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, + 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x1141, 0x9dc: 0x1159, 0x9dd: 0x1169, + 0x9de: 0x1181, 0x9df: 0x1029, 0x9e0: 0x1199, 0x9e1: 0x11a9, 0x9e2: 0x11c1, 0x9e3: 0x11d9, + 0x9e4: 0x11f1, 0x9e5: 0x1209, 0x9e6: 0x1221, 0x9e7: 0x05e5, 0x9e8: 0x1239, 0x9e9: 0x1251, + 0x9ea: 0xe17d, 0x9eb: 0x1269, 0x9ec: 0x1281, 0x9ed: 0x1299, 0x9ee: 0x12b1, 0x9ef: 0x12c9, + 0x9f0: 0x12e1, 0x9f1: 0x12f9, 0x9f2: 0x1311, 0x9f3: 0x1329, 0x9f4: 0x1341, 0x9f5: 0x1359, + 0x9f6: 0x1371, 0x9f7: 0x1389, 0x9f8: 0x05fd, 0x9f9: 0x13a1, 0x9fa: 0x13b9, 0x9fb: 0x13d1, + 0x9fc: 0x13e1, 0x9fd: 0x13f9, 0x9fe: 0x1411, 0x9ff: 0x1429, + // Block 0x28, offset 0xa00 + 0xa00: 0xe00d, 0xa01: 0x0008, 0xa02: 0xe00d, 0xa03: 0x0008, 0xa04: 0xe00d, 0xa05: 0x0008, + 0xa06: 0xe00d, 0xa07: 0x0008, 0xa08: 0xe00d, 0xa09: 0x0008, 0xa0a: 0xe00d, 0xa0b: 0x0008, + 0xa0c: 0xe00d, 0xa0d: 0x0008, 0xa0e: 0xe00d, 0xa0f: 0x0008, 0xa10: 0xe00d, 0xa11: 0x0008, + 0xa12: 0xe00d, 0xa13: 0x0008, 0xa14: 0xe00d, 0xa15: 0x0008, 0xa16: 0xe00d, 0xa17: 0x0008, + 0xa18: 0xe00d, 0xa19: 0x0008, 0xa1a: 0xe00d, 0xa1b: 0x0008, 0xa1c: 0xe00d, 0xa1d: 0x0008, + 0xa1e: 0xe00d, 0xa1f: 0x0008, 0xa20: 0xe00d, 0xa21: 0x0008, 0xa22: 0xe00d, 0xa23: 0x0008, + 0xa24: 0xe00d, 0xa25: 0x0008, 0xa26: 0xe00d, 0xa27: 0x0008, 0xa28: 0xe00d, 0xa29: 0x0008, + 0xa2a: 0xe00d, 0xa2b: 0x0008, 0xa2c: 0xe00d, 0xa2d: 0x0008, 0xa2e: 0xe00d, 0xa2f: 0x0008, + 0xa30: 0xe00d, 0xa31: 0x0008, 0xa32: 0xe00d, 0xa33: 0x0008, 0xa34: 0xe00d, 0xa35: 0x0008, + 0xa36: 0xe00d, 0xa37: 0x0008, 0xa38: 0xe00d, 0xa39: 0x0008, 0xa3a: 0xe00d, 0xa3b: 0x0008, + 0xa3c: 0xe00d, 0xa3d: 0x0008, 0xa3e: 0xe00d, 0xa3f: 0x0008, + // Block 0x29, offset 0xa40 + 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008, + 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008, + 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008, + 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, + 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0615, 0xa5b: 0x0635, 0xa5c: 0x0008, 0xa5d: 0x0008, + 0xa5e: 0x1441, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008, + 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008, + 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008, + 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008, + 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008, + 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008, + // Block 0x2a, offset 0xa80 + 0xa80: 0x0008, 0xa81: 0x0008, 0xa82: 0x0008, 0xa83: 0x0008, 0xa84: 0x0008, 0xa85: 0x0008, + 0xa86: 0x0040, 0xa87: 0x0040, 0xa88: 0xe045, 0xa89: 0xe045, 0xa8a: 0xe045, 0xa8b: 0xe045, + 0xa8c: 0xe045, 0xa8d: 0xe045, 0xa8e: 0x0040, 0xa8f: 0x0040, 0xa90: 0x0008, 0xa91: 0x0008, + 0xa92: 0x0008, 0xa93: 0x0008, 0xa94: 0x0008, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008, + 0xa98: 0x0040, 0xa99: 0xe045, 0xa9a: 0x0040, 0xa9b: 0xe045, 0xa9c: 0x0040, 0xa9d: 0xe045, + 0xa9e: 0x0040, 0xa9f: 0xe045, 0xaa0: 0x0008, 0xaa1: 0x0008, 0xaa2: 0x0008, 0xaa3: 0x0008, + 0xaa4: 0x0008, 0xaa5: 0x0008, 0xaa6: 0x0008, 0xaa7: 0x0008, 0xaa8: 0xe045, 0xaa9: 0xe045, + 0xaaa: 0xe045, 0xaab: 0xe045, 0xaac: 0xe045, 0xaad: 0xe045, 0xaae: 0xe045, 0xaaf: 0xe045, + 0xab0: 0x0008, 0xab1: 0x1459, 0xab2: 0x0008, 0xab3: 0x1471, 0xab4: 0x0008, 0xab5: 0x1489, + 0xab6: 0x0008, 0xab7: 0x14a1, 0xab8: 0x0008, 0xab9: 0x14b9, 0xaba: 0x0008, 0xabb: 0x14d1, + 0xabc: 0x0008, 0xabd: 0x14e9, 0xabe: 0x0040, 0xabf: 0x0040, + // Block 0x2b, offset 0xac0 + 0xac0: 0x1501, 0xac1: 0x1531, 0xac2: 0x1561, 0xac3: 0x1591, 0xac4: 0x15c1, 0xac5: 0x15f1, + 0xac6: 0x1621, 0xac7: 0x1651, 0xac8: 0x1501, 0xac9: 0x1531, 0xaca: 0x1561, 0xacb: 0x1591, + 0xacc: 0x15c1, 0xacd: 0x15f1, 0xace: 0x1621, 0xacf: 0x1651, 0xad0: 0x1681, 0xad1: 0x16b1, + 0xad2: 0x16e1, 0xad3: 0x1711, 0xad4: 0x1741, 0xad5: 0x1771, 0xad6: 0x17a1, 0xad7: 0x17d1, + 0xad8: 0x1681, 0xad9: 0x16b1, 0xada: 0x16e1, 0xadb: 0x1711, 0xadc: 0x1741, 0xadd: 0x1771, + 0xade: 0x17a1, 0xadf: 0x17d1, 0xae0: 0x1801, 0xae1: 0x1831, 0xae2: 0x1861, 0xae3: 0x1891, + 0xae4: 0x18c1, 0xae5: 0x18f1, 0xae6: 0x1921, 0xae7: 0x1951, 0xae8: 0x1801, 0xae9: 0x1831, + 0xaea: 0x1861, 0xaeb: 0x1891, 0xaec: 0x18c1, 0xaed: 0x18f1, 0xaee: 0x1921, 0xaef: 0x1951, + 0xaf0: 0x0008, 0xaf1: 0x0008, 0xaf2: 0x1981, 0xaf3: 0x19b1, 0xaf4: 0x19d9, 0xaf5: 0x0040, + 0xaf6: 0x0008, 0xaf7: 0x1a01, 0xaf8: 0xe045, 0xaf9: 0xe045, 0xafa: 0x064d, 0xafb: 0x1459, + 0xafc: 0x19b1, 0xafd: 0x0666, 0xafe: 0x1a31, 0xaff: 0x0686, + // Block 0x2c, offset 0xb00 + 0xb00: 0x06a6, 0xb01: 0x1a4a, 0xb02: 0x1a79, 0xb03: 0x1aa9, 0xb04: 0x1ad1, 0xb05: 0x0040, + 0xb06: 0x0008, 0xb07: 0x1af9, 0xb08: 0x06c5, 0xb09: 0x1471, 0xb0a: 0x06dd, 0xb0b: 0x1489, + 0xb0c: 0x1aa9, 0xb0d: 0x1b2a, 0xb0e: 0x1b5a, 0xb0f: 0x1b8a, 0xb10: 0x0008, 0xb11: 0x0008, + 0xb12: 0x0008, 0xb13: 0x1bb9, 0xb14: 0x0040, 0xb15: 0x0040, 0xb16: 0x0008, 0xb17: 0x0008, + 0xb18: 0xe045, 0xb19: 0xe045, 0xb1a: 0x06f5, 0xb1b: 0x14a1, 0xb1c: 0x0040, 0xb1d: 0x1bd2, + 0xb1e: 0x1c02, 0xb1f: 0x1c32, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x1c61, + 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, + 0xb2a: 0x070d, 0xb2b: 0x14d1, 0xb2c: 0xe04d, 0xb2d: 0x1c7a, 0xb2e: 0x03d2, 0xb2f: 0x1caa, + 0xb30: 0x0040, 0xb31: 0x0040, 0xb32: 0x1cb9, 0xb33: 0x1ce9, 0xb34: 0x1d11, 0xb35: 0x0040, + 0xb36: 0x0008, 0xb37: 0x1d39, 0xb38: 0x0725, 0xb39: 0x14b9, 0xb3a: 0x0515, 0xb3b: 0x14e9, + 0xb3c: 0x1ce9, 0xb3d: 0x073e, 0xb3e: 0x075e, 0xb3f: 0x0040, + // Block 0x2d, offset 0xb40 + 0xb40: 0x000a, 0xb41: 0x000a, 0xb42: 0x000a, 0xb43: 0x000a, 0xb44: 0x000a, 0xb45: 0x000a, + 0xb46: 0x000a, 0xb47: 0x000a, 0xb48: 0x000a, 0xb49: 0x000a, 0xb4a: 0x000a, 0xb4b: 0x03c0, + 0xb4c: 0x0003, 0xb4d: 0x0003, 0xb4e: 0x0340, 0xb4f: 0x0340, 0xb50: 0x0018, 0xb51: 0xe00d, + 0xb52: 0x0018, 0xb53: 0x0018, 0xb54: 0x0018, 0xb55: 0x0018, 0xb56: 0x0018, 0xb57: 0x077e, + 0xb58: 0x0018, 0xb59: 0x0018, 0xb5a: 0x0018, 0xb5b: 0x0018, 0xb5c: 0x0018, 0xb5d: 0x0018, + 0xb5e: 0x0018, 0xb5f: 0x0018, 0xb60: 0x0018, 0xb61: 0x0018, 0xb62: 0x0018, 0xb63: 0x0018, + 0xb64: 0x0040, 0xb65: 0x0040, 0xb66: 0x0040, 0xb67: 0x0018, 0xb68: 0x0040, 0xb69: 0x0040, + 0xb6a: 0x0340, 0xb6b: 0x0340, 0xb6c: 0x0340, 0xb6d: 0x0340, 0xb6e: 0x0340, 0xb6f: 0x000a, + 0xb70: 0x0018, 0xb71: 0x0018, 0xb72: 0x0018, 0xb73: 0x1d69, 0xb74: 0x1da1, 0xb75: 0x0018, + 0xb76: 0x1df1, 0xb77: 0x1e29, 0xb78: 0x0018, 0xb79: 0x0018, 0xb7a: 0x0018, 0xb7b: 0x0018, + 0xb7c: 0x1e7a, 0xb7d: 0x0018, 0xb7e: 0x079e, 0xb7f: 0x0018, + // Block 0x2e, offset 0xb80 + 0xb80: 0x0018, 0xb81: 0x0018, 0xb82: 0x0018, 0xb83: 0x0018, 0xb84: 0x0018, 0xb85: 0x0018, + 0xb86: 0x0018, 0xb87: 0x1e92, 0xb88: 0x1eaa, 0xb89: 0x1ec2, 0xb8a: 0x0018, 0xb8b: 0x0018, + 0xb8c: 0x0018, 0xb8d: 0x0018, 0xb8e: 0x0018, 0xb8f: 0x0018, 0xb90: 0x0018, 0xb91: 0x0018, + 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x1ed9, + 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018, + 0xb9e: 0x0018, 0xb9f: 0x000a, 0xba0: 0x03c0, 0xba1: 0x0340, 0xba2: 0x0340, 0xba3: 0x0340, + 0xba4: 0x03c0, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0040, 0xba8: 0x0040, 0xba9: 0x0040, + 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x0340, + 0xbb0: 0x1f41, 0xbb1: 0x0f41, 0xbb2: 0x0040, 0xbb3: 0x0040, 0xbb4: 0x1f51, 0xbb5: 0x1f61, + 0xbb6: 0x1f71, 0xbb7: 0x1f81, 0xbb8: 0x1f91, 0xbb9: 0x1fa1, 0xbba: 0x1fb2, 0xbbb: 0x07bd, + 0xbbc: 0x1fc2, 0xbbd: 0x1fd2, 0xbbe: 0x1fe2, 0xbbf: 0x0f71, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x1f41, 0xbc1: 0x00c9, 0xbc2: 0x0069, 0xbc3: 0x0079, 0xbc4: 0x1f51, 0xbc5: 0x1f61, + 0xbc6: 0x1f71, 0xbc7: 0x1f81, 0xbc8: 0x1f91, 0xbc9: 0x1fa1, 0xbca: 0x1fb2, 0xbcb: 0x07d5, + 0xbcc: 0x1fc2, 0xbcd: 0x1fd2, 0xbce: 0x1fe2, 0xbcf: 0x0040, 0xbd0: 0x0039, 0xbd1: 0x0f09, + 0xbd2: 0x00d9, 0xbd3: 0x0369, 0xbd4: 0x0ff9, 0xbd5: 0x0249, 0xbd6: 0x0f51, 0xbd7: 0x0359, + 0xbd8: 0x0f61, 0xbd9: 0x0f71, 0xbda: 0x0f99, 0xbdb: 0x01d9, 0xbdc: 0x0fa9, 0xbdd: 0x0040, + 0xbde: 0x0040, 0xbdf: 0x0040, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, + 0xbe4: 0x0018, 0xbe5: 0x0018, 0xbe6: 0x0018, 0xbe7: 0x0018, 0xbe8: 0x1ff1, 0xbe9: 0x0018, + 0xbea: 0x0018, 0xbeb: 0x0018, 0xbec: 0x0018, 0xbed: 0x0018, 0xbee: 0x0018, 0xbef: 0x0018, + 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x0018, 0xbf4: 0x0018, 0xbf5: 0x0018, + 0xbf6: 0x0018, 0xbf7: 0x0018, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, + 0xbfc: 0x0018, 0xbfd: 0x0018, 0xbfe: 0x0018, 0xbff: 0x0040, + // Block 0x30, offset 0xc00 + 0xc00: 0x07ee, 0xc01: 0x080e, 0xc02: 0x1159, 0xc03: 0x082d, 0xc04: 0x0018, 0xc05: 0x084e, + 0xc06: 0x086e, 0xc07: 0x1011, 0xc08: 0x0018, 0xc09: 0x088d, 0xc0a: 0x0f31, 0xc0b: 0x0249, + 0xc0c: 0x0249, 0xc0d: 0x0249, 0xc0e: 0x0249, 0xc0f: 0x2009, 0xc10: 0x0f41, 0xc11: 0x0f41, + 0xc12: 0x0359, 0xc13: 0x0359, 0xc14: 0x0018, 0xc15: 0x0f71, 0xc16: 0x2021, 0xc17: 0x0018, + 0xc18: 0x0018, 0xc19: 0x0f99, 0xc1a: 0x2039, 0xc1b: 0x0269, 0xc1c: 0x0269, 0xc1d: 0x0269, + 0xc1e: 0x0018, 0xc1f: 0x0018, 0xc20: 0x2049, 0xc21: 0x08ad, 0xc22: 0x2061, 0xc23: 0x0018, + 0xc24: 0x13d1, 0xc25: 0x0018, 0xc26: 0x2079, 0xc27: 0x0018, 0xc28: 0x13d1, 0xc29: 0x0018, + 0xc2a: 0x0f51, 0xc2b: 0x2091, 0xc2c: 0x0ee9, 0xc2d: 0x1159, 0xc2e: 0x0018, 0xc2f: 0x0f09, + 0xc30: 0x0f09, 0xc31: 0x1199, 0xc32: 0x0040, 0xc33: 0x0f61, 0xc34: 0x00d9, 0xc35: 0x20a9, + 0xc36: 0x20c1, 0xc37: 0x20d9, 0xc38: 0x20f1, 0xc39: 0x0f41, 0xc3a: 0x0018, 0xc3b: 0x08cd, + 0xc3c: 0x2109, 0xc3d: 0x10b1, 0xc3e: 0x10b1, 0xc3f: 0x2109, + // Block 0x31, offset 0xc40 + 0xc40: 0x08ed, 0xc41: 0x0018, 0xc42: 0x0018, 0xc43: 0x0018, 0xc44: 0x0018, 0xc45: 0x0ef9, + 0xc46: 0x0ef9, 0xc47: 0x0f09, 0xc48: 0x0f41, 0xc49: 0x0259, 0xc4a: 0x0018, 0xc4b: 0x0018, + 0xc4c: 0x0018, 0xc4d: 0x0018, 0xc4e: 0x0008, 0xc4f: 0x0018, 0xc50: 0x2121, 0xc51: 0x2151, + 0xc52: 0x2181, 0xc53: 0x21b9, 0xc54: 0x21e9, 0xc55: 0x2219, 0xc56: 0x2249, 0xc57: 0x2279, + 0xc58: 0x22a9, 0xc59: 0x22d9, 0xc5a: 0x2309, 0xc5b: 0x2339, 0xc5c: 0x2369, 0xc5d: 0x2399, + 0xc5e: 0x23c9, 0xc5f: 0x23f9, 0xc60: 0x0f41, 0xc61: 0x2421, 0xc62: 0x0905, 0xc63: 0x2439, + 0xc64: 0x1089, 0xc65: 0x2451, 0xc66: 0x0925, 0xc67: 0x2469, 0xc68: 0x2491, 0xc69: 0x0369, + 0xc6a: 0x24a9, 0xc6b: 0x0945, 0xc6c: 0x0359, 0xc6d: 0x1159, 0xc6e: 0x0ef9, 0xc6f: 0x0f61, + 0xc70: 0x0f41, 0xc71: 0x2421, 0xc72: 0x0965, 0xc73: 0x2439, 0xc74: 0x1089, 0xc75: 0x2451, + 0xc76: 0x0985, 0xc77: 0x2469, 0xc78: 0x2491, 0xc79: 0x0369, 0xc7a: 0x24a9, 0xc7b: 0x09a5, + 0xc7c: 0x0359, 0xc7d: 0x1159, 0xc7e: 0x0ef9, 0xc7f: 0x0f61, + // Block 0x32, offset 0xc80 + 0xc80: 0x0018, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0018, + 0xc86: 0x0018, 0xc87: 0x0018, 0xc88: 0x0018, 0xc89: 0x0018, 0xc8a: 0x0018, 0xc8b: 0x0040, + 0xc8c: 0x0040, 0xc8d: 0x0040, 0xc8e: 0x0040, 0xc8f: 0x0040, 0xc90: 0x0040, 0xc91: 0x0040, + 0xc92: 0x0040, 0xc93: 0x0040, 0xc94: 0x0040, 0xc95: 0x0040, 0xc96: 0x0040, 0xc97: 0x0040, + 0xc98: 0x0040, 0xc99: 0x0040, 0xc9a: 0x0040, 0xc9b: 0x0040, 0xc9c: 0x0040, 0xc9d: 0x0040, + 0xc9e: 0x0040, 0xc9f: 0x0040, 0xca0: 0x00c9, 0xca1: 0x0069, 0xca2: 0x0079, 0xca3: 0x1f51, + 0xca4: 0x1f61, 0xca5: 0x1f71, 0xca6: 0x1f81, 0xca7: 0x1f91, 0xca8: 0x1fa1, 0xca9: 0x2601, + 0xcaa: 0x2619, 0xcab: 0x2631, 0xcac: 0x2649, 0xcad: 0x2661, 0xcae: 0x2679, 0xcaf: 0x2691, + 0xcb0: 0x26a9, 0xcb1: 0x26c1, 0xcb2: 0x26d9, 0xcb3: 0x26f1, 0xcb4: 0x0a06, 0xcb5: 0x0a26, + 0xcb6: 0x0a46, 0xcb7: 0x0a66, 0xcb8: 0x0a86, 0xcb9: 0x0aa6, 0xcba: 0x0ac6, 0xcbb: 0x0ae6, + 0xcbc: 0x0b06, 0xcbd: 0x270a, 0xcbe: 0x2732, 0xcbf: 0x275a, + // Block 0x33, offset 0xcc0 + 0xcc0: 0x2782, 0xcc1: 0x27aa, 0xcc2: 0x27d2, 0xcc3: 0x27fa, 0xcc4: 0x2822, 0xcc5: 0x284a, + 0xcc6: 0x2872, 0xcc7: 0x289a, 0xcc8: 0x0040, 0xcc9: 0x0040, 0xcca: 0x0040, 0xccb: 0x0040, + 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040, + 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040, + 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0b26, 0xcdd: 0x0b46, + 0xcde: 0x0b66, 0xcdf: 0x0b86, 0xce0: 0x0ba6, 0xce1: 0x0bc6, 0xce2: 0x0be6, 0xce3: 0x0c06, + 0xce4: 0x0c26, 0xce5: 0x0c46, 0xce6: 0x0c66, 0xce7: 0x0c86, 0xce8: 0x0ca6, 0xce9: 0x0cc6, + 0xcea: 0x0ce6, 0xceb: 0x0d06, 0xcec: 0x0d26, 0xced: 0x0d46, 0xcee: 0x0d66, 0xcef: 0x0d86, + 0xcf0: 0x0da6, 0xcf1: 0x0dc6, 0xcf2: 0x0de6, 0xcf3: 0x0e06, 0xcf4: 0x0e26, 0xcf5: 0x0e46, + 0xcf6: 0x0039, 0xcf7: 0x0ee9, 0xcf8: 0x1159, 0xcf9: 0x0ef9, 0xcfa: 0x0f09, 0xcfb: 0x1199, + 0xcfc: 0x0f31, 0xcfd: 0x0249, 0xcfe: 0x0f41, 0xcff: 0x0259, + // Block 0x34, offset 0xd00 + 0xd00: 0x0f51, 0xd01: 0x0359, 0xd02: 0x0f61, 0xd03: 0x0f71, 0xd04: 0x00d9, 0xd05: 0x0f99, + 0xd06: 0x2039, 0xd07: 0x0269, 0xd08: 0x01d9, 0xd09: 0x0fa9, 0xd0a: 0x0fb9, 0xd0b: 0x1089, + 0xd0c: 0x0279, 0xd0d: 0x0369, 0xd0e: 0x0289, 0xd0f: 0x13d1, 0xd10: 0x0039, 0xd11: 0x0ee9, + 0xd12: 0x1159, 0xd13: 0x0ef9, 0xd14: 0x0f09, 0xd15: 0x1199, 0xd16: 0x0f31, 0xd17: 0x0249, + 0xd18: 0x0f41, 0xd19: 0x0259, 0xd1a: 0x0f51, 0xd1b: 0x0359, 0xd1c: 0x0f61, 0xd1d: 0x0f71, + 0xd1e: 0x00d9, 0xd1f: 0x0f99, 0xd20: 0x2039, 0xd21: 0x0269, 0xd22: 0x01d9, 0xd23: 0x0fa9, + 0xd24: 0x0fb9, 0xd25: 0x1089, 0xd26: 0x0279, 0xd27: 0x0369, 0xd28: 0x0289, 0xd29: 0x13d1, + 0xd2a: 0x1f41, 0xd2b: 0x0018, 0xd2c: 0x0018, 0xd2d: 0x0018, 0xd2e: 0x0018, 0xd2f: 0x0018, + 0xd30: 0x0018, 0xd31: 0x0018, 0xd32: 0x0018, 0xd33: 0x0018, 0xd34: 0x0018, 0xd35: 0x0018, + 0xd36: 0x0018, 0xd37: 0x0018, 0xd38: 0x0018, 0xd39: 0x0018, 0xd3a: 0x0018, 0xd3b: 0x0018, + 0xd3c: 0x0018, 0xd3d: 0x0018, 0xd3e: 0x0018, 0xd3f: 0x0018, + // Block 0x35, offset 0xd40 + 0xd40: 0x0008, 0xd41: 0x0008, 0xd42: 0x0008, 0xd43: 0x0008, 0xd44: 0x0008, 0xd45: 0x0008, + 0xd46: 0x0008, 0xd47: 0x0008, 0xd48: 0x0008, 0xd49: 0x0008, 0xd4a: 0x0008, 0xd4b: 0x0008, + 0xd4c: 0x0008, 0xd4d: 0x0008, 0xd4e: 0x0008, 0xd4f: 0x0008, 0xd50: 0x0008, 0xd51: 0x0008, + 0xd52: 0x0008, 0xd53: 0x0008, 0xd54: 0x0008, 0xd55: 0x0008, 0xd56: 0x0008, 0xd57: 0x0008, + 0xd58: 0x0008, 0xd59: 0x0008, 0xd5a: 0x0008, 0xd5b: 0x0008, 0xd5c: 0x0008, 0xd5d: 0x0008, + 0xd5e: 0x0008, 0xd5f: 0x0040, 0xd60: 0xe00d, 0xd61: 0x0008, 0xd62: 0x2971, 0xd63: 0x0ebd, + 0xd64: 0x2989, 0xd65: 0x0008, 0xd66: 0x0008, 0xd67: 0xe07d, 0xd68: 0x0008, 0xd69: 0xe01d, + 0xd6a: 0x0008, 0xd6b: 0xe03d, 0xd6c: 0x0008, 0xd6d: 0x0fe1, 0xd6e: 0x1281, 0xd6f: 0x0fc9, + 0xd70: 0x1141, 0xd71: 0x0008, 0xd72: 0xe00d, 0xd73: 0x0008, 0xd74: 0x0008, 0xd75: 0xe01d, + 0xd76: 0x0008, 0xd77: 0x0008, 0xd78: 0x0008, 0xd79: 0x0008, 0xd7a: 0x0008, 0xd7b: 0x0008, + 0xd7c: 0x0259, 0xd7d: 0x1089, 0xd7e: 0x29a1, 0xd7f: 0x29b9, + // Block 0x36, offset 0xd80 + 0xd80: 0xe00d, 0xd81: 0x0008, 0xd82: 0xe00d, 0xd83: 0x0008, 0xd84: 0xe00d, 0xd85: 0x0008, + 0xd86: 0xe00d, 0xd87: 0x0008, 0xd88: 0xe00d, 0xd89: 0x0008, 0xd8a: 0xe00d, 0xd8b: 0x0008, + 0xd8c: 0xe00d, 0xd8d: 0x0008, 0xd8e: 0xe00d, 0xd8f: 0x0008, 0xd90: 0xe00d, 0xd91: 0x0008, + 0xd92: 0xe00d, 0xd93: 0x0008, 0xd94: 0xe00d, 0xd95: 0x0008, 0xd96: 0xe00d, 0xd97: 0x0008, + 0xd98: 0xe00d, 0xd99: 0x0008, 0xd9a: 0xe00d, 0xd9b: 0x0008, 0xd9c: 0xe00d, 0xd9d: 0x0008, + 0xd9e: 0xe00d, 0xd9f: 0x0008, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0xe00d, 0xda3: 0x0008, + 0xda4: 0x0008, 0xda5: 0x0018, 0xda6: 0x0018, 0xda7: 0x0018, 0xda8: 0x0018, 0xda9: 0x0018, + 0xdaa: 0x0018, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0xe01d, 0xdae: 0x0008, 0xdaf: 0x1308, + 0xdb0: 0x1308, 0xdb1: 0x1308, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0040, 0xdb5: 0x0040, + 0xdb6: 0x0040, 0xdb7: 0x0040, 0xdb8: 0x0040, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x26fd, 0xdc1: 0x271d, 0xdc2: 0x273d, 0xdc3: 0x275d, 0xdc4: 0x277d, 0xdc5: 0x279d, + 0xdc6: 0x27bd, 0xdc7: 0x27dd, 0xdc8: 0x27fd, 0xdc9: 0x281d, 0xdca: 0x283d, 0xdcb: 0x285d, + 0xdcc: 0x287d, 0xdcd: 0x289d, 0xdce: 0x28bd, 0xdcf: 0x28dd, 0xdd0: 0x28fd, 0xdd1: 0x291d, + 0xdd2: 0x293d, 0xdd3: 0x295d, 0xdd4: 0x297d, 0xdd5: 0x299d, 0xdd6: 0x0040, 0xdd7: 0x0040, + 0xdd8: 0x0040, 0xdd9: 0x0040, 0xdda: 0x0040, 0xddb: 0x0040, 0xddc: 0x0040, 0xddd: 0x0040, + 0xdde: 0x0040, 0xddf: 0x0040, 0xde0: 0x0040, 0xde1: 0x0040, 0xde2: 0x0040, 0xde3: 0x0040, + 0xde4: 0x0040, 0xde5: 0x0040, 0xde6: 0x0040, 0xde7: 0x0040, 0xde8: 0x0040, 0xde9: 0x0040, + 0xdea: 0x0040, 0xdeb: 0x0040, 0xdec: 0x0040, 0xded: 0x0040, 0xdee: 0x0040, 0xdef: 0x0040, + 0xdf0: 0x0040, 0xdf1: 0x0040, 0xdf2: 0x0040, 0xdf3: 0x0040, 0xdf4: 0x0040, 0xdf5: 0x0040, + 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0040, 0xdfa: 0x0040, 0xdfb: 0x0040, + 0xdfc: 0x0040, 0xdfd: 0x0040, 0xdfe: 0x0040, 0xdff: 0x0040, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, 0xe01: 0x0018, 0xe02: 0x29d1, 0xe03: 0x0018, 0xe04: 0x0018, 0xe05: 0x0008, + 0xe06: 0x0008, 0xe07: 0x0008, 0xe08: 0x0018, 0xe09: 0x0018, 0xe0a: 0x0018, 0xe0b: 0x0018, + 0xe0c: 0x0018, 0xe0d: 0x0018, 0xe0e: 0x0018, 0xe0f: 0x0018, 0xe10: 0x0018, 0xe11: 0x0018, + 0xe12: 0x0018, 0xe13: 0x0018, 0xe14: 0x0018, 0xe15: 0x0018, 0xe16: 0x0018, 0xe17: 0x0018, + 0xe18: 0x0018, 0xe19: 0x0018, 0xe1a: 0x0018, 0xe1b: 0x0018, 0xe1c: 0x0018, 0xe1d: 0x0018, + 0xe1e: 0x0018, 0xe1f: 0x0018, 0xe20: 0x0018, 0xe21: 0x0018, 0xe22: 0x0018, 0xe23: 0x0018, + 0xe24: 0x0018, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, + 0xe2a: 0x1308, 0xe2b: 0x1308, 0xe2c: 0x1308, 0xe2d: 0x1308, 0xe2e: 0x1018, 0xe2f: 0x1018, + 0xe30: 0x0018, 0xe31: 0x0018, 0xe32: 0x0018, 0xe33: 0x0018, 0xe34: 0x0018, 0xe35: 0x0018, + 0xe36: 0xe125, 0xe37: 0x0018, 0xe38: 0x29bd, 0xe39: 0x29dd, 0xe3a: 0x29fd, 0xe3b: 0x0018, + 0xe3c: 0x0008, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + // Block 0x39, offset 0xe40 + 0xe40: 0x2b3d, 0xe41: 0x2b5d, 0xe42: 0x2b7d, 0xe43: 0x2b9d, 0xe44: 0x2bbd, 0xe45: 0x2bdd, + 0xe46: 0x2bdd, 0xe47: 0x2bdd, 0xe48: 0x2bfd, 0xe49: 0x2bfd, 0xe4a: 0x2bfd, 0xe4b: 0x2bfd, + 0xe4c: 0x2c1d, 0xe4d: 0x2c1d, 0xe4e: 0x2c1d, 0xe4f: 0x2c3d, 0xe50: 0x2c5d, 0xe51: 0x2c5d, + 0xe52: 0x2a7d, 0xe53: 0x2a7d, 0xe54: 0x2c5d, 0xe55: 0x2c5d, 0xe56: 0x2c7d, 0xe57: 0x2c7d, + 0xe58: 0x2c5d, 0xe59: 0x2c5d, 0xe5a: 0x2a7d, 0xe5b: 0x2a7d, 0xe5c: 0x2c5d, 0xe5d: 0x2c5d, + 0xe5e: 0x2c3d, 0xe5f: 0x2c3d, 0xe60: 0x2c9d, 0xe61: 0x2c9d, 0xe62: 0x2cbd, 0xe63: 0x2cbd, + 0xe64: 0x0040, 0xe65: 0x2cdd, 0xe66: 0x2cfd, 0xe67: 0x2d1d, 0xe68: 0x2d1d, 0xe69: 0x2d3d, + 0xe6a: 0x2d5d, 0xe6b: 0x2d7d, 0xe6c: 0x2d9d, 0xe6d: 0x2dbd, 0xe6e: 0x2ddd, 0xe6f: 0x2dfd, + 0xe70: 0x2e1d, 0xe71: 0x2e3d, 0xe72: 0x2e3d, 0xe73: 0x2e5d, 0xe74: 0x2e7d, 0xe75: 0x2e7d, + 0xe76: 0x2e9d, 0xe77: 0x2ebd, 0xe78: 0x2e5d, 0xe79: 0x2edd, 0xe7a: 0x2efd, 0xe7b: 0x2edd, + 0xe7c: 0x2e5d, 0xe7d: 0x2f1d, 0xe7e: 0x2f3d, 0xe7f: 0x2f5d, + // Block 0x3a, offset 0xe80 + 0xe80: 0x2f7d, 0xe81: 0x2f9d, 0xe82: 0x2cfd, 0xe83: 0x2cdd, 0xe84: 0x2fbd, 0xe85: 0x2fdd, + 0xe86: 0x2ffd, 0xe87: 0x301d, 0xe88: 0x303d, 0xe89: 0x305d, 0xe8a: 0x307d, 0xe8b: 0x309d, + 0xe8c: 0x30bd, 0xe8d: 0x30dd, 0xe8e: 0x30fd, 0xe8f: 0x0040, 0xe90: 0x0018, 0xe91: 0x0018, + 0xe92: 0x311d, 0xe93: 0x313d, 0xe94: 0x315d, 0xe95: 0x317d, 0xe96: 0x319d, 0xe97: 0x31bd, + 0xe98: 0x31dd, 0xe99: 0x31fd, 0xe9a: 0x321d, 0xe9b: 0x323d, 0xe9c: 0x315d, 0xe9d: 0x325d, + 0xe9e: 0x327d, 0xe9f: 0x329d, 0xea0: 0x0008, 0xea1: 0x0008, 0xea2: 0x0008, 0xea3: 0x0008, + 0xea4: 0x0008, 0xea5: 0x0008, 0xea6: 0x0008, 0xea7: 0x0008, 0xea8: 0x0008, 0xea9: 0x0008, + 0xeaa: 0x0008, 0xeab: 0x0008, 0xeac: 0x0008, 0xead: 0x0008, 0xeae: 0x0008, 0xeaf: 0x0008, + 0xeb0: 0x0008, 0xeb1: 0x0008, 0xeb2: 0x0008, 0xeb3: 0x0008, 0xeb4: 0x0008, 0xeb5: 0x0008, + 0xeb6: 0x0008, 0xeb7: 0x0008, 0xeb8: 0x0008, 0xeb9: 0x0008, 0xeba: 0x0008, 0xebb: 0x0040, + 0xebc: 0x0040, 0xebd: 0x0040, 0xebe: 0x0040, 0xebf: 0x0040, + // Block 0x3b, offset 0xec0 + 0xec0: 0x36a2, 0xec1: 0x36d2, 0xec2: 0x3702, 0xec3: 0x3732, 0xec4: 0x32bd, 0xec5: 0x32dd, + 0xec6: 0x32fd, 0xec7: 0x331d, 0xec8: 0x0018, 0xec9: 0x0018, 0xeca: 0x0018, 0xecb: 0x0018, + 0xecc: 0x0018, 0xecd: 0x0018, 0xece: 0x0018, 0xecf: 0x0018, 0xed0: 0x333d, 0xed1: 0x3761, + 0xed2: 0x3779, 0xed3: 0x3791, 0xed4: 0x37a9, 0xed5: 0x37c1, 0xed6: 0x37d9, 0xed7: 0x37f1, + 0xed8: 0x3809, 0xed9: 0x3821, 0xeda: 0x3839, 0xedb: 0x3851, 0xedc: 0x3869, 0xedd: 0x3881, + 0xede: 0x3899, 0xedf: 0x38b1, 0xee0: 0x335d, 0xee1: 0x337d, 0xee2: 0x339d, 0xee3: 0x33bd, + 0xee4: 0x33dd, 0xee5: 0x33dd, 0xee6: 0x33fd, 0xee7: 0x341d, 0xee8: 0x343d, 0xee9: 0x345d, + 0xeea: 0x347d, 0xeeb: 0x349d, 0xeec: 0x34bd, 0xeed: 0x34dd, 0xeee: 0x34fd, 0xeef: 0x351d, + 0xef0: 0x353d, 0xef1: 0x355d, 0xef2: 0x357d, 0xef3: 0x359d, 0xef4: 0x35bd, 0xef5: 0x35dd, + 0xef6: 0x35fd, 0xef7: 0x361d, 0xef8: 0x363d, 0xef9: 0x365d, 0xefa: 0x367d, 0xefb: 0x369d, + 0xefc: 0x38c9, 0xefd: 0x3901, 0xefe: 0x36bd, 0xeff: 0x0018, + // Block 0x3c, offset 0xf00 + 0xf00: 0x36dd, 0xf01: 0x36fd, 0xf02: 0x371d, 0xf03: 0x373d, 0xf04: 0x375d, 0xf05: 0x377d, + 0xf06: 0x379d, 0xf07: 0x37bd, 0xf08: 0x37dd, 0xf09: 0x37fd, 0xf0a: 0x381d, 0xf0b: 0x383d, + 0xf0c: 0x385d, 0xf0d: 0x387d, 0xf0e: 0x389d, 0xf0f: 0x38bd, 0xf10: 0x38dd, 0xf11: 0x38fd, + 0xf12: 0x391d, 0xf13: 0x393d, 0xf14: 0x395d, 0xf15: 0x397d, 0xf16: 0x399d, 0xf17: 0x39bd, + 0xf18: 0x39dd, 0xf19: 0x39fd, 0xf1a: 0x3a1d, 0xf1b: 0x3a3d, 0xf1c: 0x3a5d, 0xf1d: 0x3a7d, + 0xf1e: 0x3a9d, 0xf1f: 0x3abd, 0xf20: 0x3add, 0xf21: 0x3afd, 0xf22: 0x3b1d, 0xf23: 0x3b3d, + 0xf24: 0x3b5d, 0xf25: 0x3b7d, 0xf26: 0x127d, 0xf27: 0x3b9d, 0xf28: 0x3bbd, 0xf29: 0x3bdd, + 0xf2a: 0x3bfd, 0xf2b: 0x3c1d, 0xf2c: 0x3c3d, 0xf2d: 0x3c5d, 0xf2e: 0x239d, 0xf2f: 0x3c7d, + 0xf30: 0x3c9d, 0xf31: 0x3939, 0xf32: 0x3951, 0xf33: 0x3969, 0xf34: 0x3981, 0xf35: 0x3999, + 0xf36: 0x39b1, 0xf37: 0x39c9, 0xf38: 0x39e1, 0xf39: 0x39f9, 0xf3a: 0x3a11, 0xf3b: 0x3a29, + 0xf3c: 0x3a41, 0xf3d: 0x3a59, 0xf3e: 0x3a71, 0xf3f: 0x3a89, + // Block 0x3d, offset 0xf40 + 0xf40: 0x3aa1, 0xf41: 0x3ac9, 0xf42: 0x3af1, 0xf43: 0x3b19, 0xf44: 0x3b41, 0xf45: 0x3b69, + 0xf46: 0x3b91, 0xf47: 0x3bb9, 0xf48: 0x3be1, 0xf49: 0x3c09, 0xf4a: 0x3c39, 0xf4b: 0x3c69, + 0xf4c: 0x3c99, 0xf4d: 0x3cbd, 0xf4e: 0x3cb1, 0xf4f: 0x3cdd, 0xf50: 0x3cfd, 0xf51: 0x3d15, + 0xf52: 0x3d2d, 0xf53: 0x3d45, 0xf54: 0x3d5d, 0xf55: 0x3d5d, 0xf56: 0x3d45, 0xf57: 0x3d75, + 0xf58: 0x07bd, 0xf59: 0x3d8d, 0xf5a: 0x3da5, 0xf5b: 0x3dbd, 0xf5c: 0x3dd5, 0xf5d: 0x3ded, + 0xf5e: 0x3e05, 0xf5f: 0x3e1d, 0xf60: 0x3e35, 0xf61: 0x3e4d, 0xf62: 0x3e65, 0xf63: 0x3e7d, + 0xf64: 0x3e95, 0xf65: 0x3e95, 0xf66: 0x3ead, 0xf67: 0x3ead, 0xf68: 0x3ec5, 0xf69: 0x3ec5, + 0xf6a: 0x3edd, 0xf6b: 0x3ef5, 0xf6c: 0x3f0d, 0xf6d: 0x3f25, 0xf6e: 0x3f3d, 0xf6f: 0x3f3d, + 0xf70: 0x3f55, 0xf71: 0x3f55, 0xf72: 0x3f55, 0xf73: 0x3f6d, 0xf74: 0x3f85, 0xf75: 0x3f9d, + 0xf76: 0x3fb5, 0xf77: 0x3f9d, 0xf78: 0x3fcd, 0xf79: 0x3fe5, 0xf7a: 0x3f6d, 0xf7b: 0x3ffd, + 0xf7c: 0x4015, 0xf7d: 0x4015, 0xf7e: 0x4015, 0xf7f: 0x0040, + // Block 0x3e, offset 0xf80 + 0xf80: 0x3cc9, 0xf81: 0x3d31, 0xf82: 0x3d99, 0xf83: 0x3e01, 0xf84: 0x3e51, 0xf85: 0x3eb9, + 0xf86: 0x3f09, 0xf87: 0x3f59, 0xf88: 0x3fd9, 0xf89: 0x4041, 0xf8a: 0x4091, 0xf8b: 0x40e1, + 0xf8c: 0x4131, 0xf8d: 0x4199, 0xf8e: 0x4201, 0xf8f: 0x4251, 0xf90: 0x42a1, 0xf91: 0x42d9, + 0xf92: 0x4329, 0xf93: 0x4391, 0xf94: 0x43f9, 0xf95: 0x4431, 0xf96: 0x44b1, 0xf97: 0x4549, + 0xf98: 0x45c9, 0xf99: 0x4619, 0xf9a: 0x4699, 0xf9b: 0x4719, 0xf9c: 0x4781, 0xf9d: 0x47d1, + 0xf9e: 0x4821, 0xf9f: 0x4871, 0xfa0: 0x48d9, 0xfa1: 0x4959, 0xfa2: 0x49c1, 0xfa3: 0x4a11, + 0xfa4: 0x4a61, 0xfa5: 0x4ab1, 0xfa6: 0x4ae9, 0xfa7: 0x4b21, 0xfa8: 0x4b59, 0xfa9: 0x4b91, + 0xfaa: 0x4be1, 0xfab: 0x4c31, 0xfac: 0x4cb1, 0xfad: 0x4d01, 0xfae: 0x4d69, 0xfaf: 0x4de9, + 0xfb0: 0x4e39, 0xfb1: 0x4e71, 0xfb2: 0x4ea9, 0xfb3: 0x4f29, 0xfb4: 0x4f91, 0xfb5: 0x5011, + 0xfb6: 0x5061, 0xfb7: 0x50e1, 0xfb8: 0x5119, 0xfb9: 0x5169, 0xfba: 0x51b9, 0xfbb: 0x5209, + 0xfbc: 0x5259, 0xfbd: 0x52a9, 0xfbe: 0x5311, 0xfbf: 0x5361, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x5399, 0xfc1: 0x53e9, 0xfc2: 0x5439, 0xfc3: 0x5489, 0xfc4: 0x54f1, 0xfc5: 0x5541, + 0xfc6: 0x5591, 0xfc7: 0x55e1, 0xfc8: 0x5661, 0xfc9: 0x56c9, 0xfca: 0x5701, 0xfcb: 0x5781, + 0xfcc: 0x57b9, 0xfcd: 0x5821, 0xfce: 0x5889, 0xfcf: 0x58d9, 0xfd0: 0x5929, 0xfd1: 0x5979, + 0xfd2: 0x59e1, 0xfd3: 0x5a19, 0xfd4: 0x5a69, 0xfd5: 0x5ad1, 0xfd6: 0x5b09, 0xfd7: 0x5b89, + 0xfd8: 0x5bd9, 0xfd9: 0x5c01, 0xfda: 0x5c29, 0xfdb: 0x5c51, 0xfdc: 0x5c79, 0xfdd: 0x5ca1, + 0xfde: 0x5cc9, 0xfdf: 0x5cf1, 0xfe0: 0x5d19, 0xfe1: 0x5d41, 0xfe2: 0x5d69, 0xfe3: 0x5d99, + 0xfe4: 0x5dc9, 0xfe5: 0x5df9, 0xfe6: 0x5e29, 0xfe7: 0x5e59, 0xfe8: 0x5e89, 0xfe9: 0x5eb9, + 0xfea: 0x5ee9, 0xfeb: 0x5f19, 0xfec: 0x5f49, 0xfed: 0x5f79, 0xfee: 0x5fa9, 0xfef: 0x5fd9, + 0xff0: 0x6009, 0xff1: 0x402d, 0xff2: 0x6039, 0xff3: 0x6051, 0xff4: 0x404d, 0xff5: 0x6069, + 0xff6: 0x6081, 0xff7: 0x6099, 0xff8: 0x406d, 0xff9: 0x406d, 0xffa: 0x60b1, 0xffb: 0x60c9, + 0xffc: 0x6101, 0xffd: 0x6139, 0xffe: 0x6171, 0xfff: 0x61a9, + // Block 0x40, offset 0x1000 + 0x1000: 0x6211, 0x1001: 0x6229, 0x1002: 0x408d, 0x1003: 0x6241, 0x1004: 0x6259, 0x1005: 0x6271, + 0x1006: 0x6289, 0x1007: 0x62a1, 0x1008: 0x40ad, 0x1009: 0x62b9, 0x100a: 0x62e1, 0x100b: 0x62f9, + 0x100c: 0x40cd, 0x100d: 0x40cd, 0x100e: 0x6311, 0x100f: 0x6329, 0x1010: 0x6341, 0x1011: 0x40ed, + 0x1012: 0x410d, 0x1013: 0x412d, 0x1014: 0x414d, 0x1015: 0x416d, 0x1016: 0x6359, 0x1017: 0x6371, + 0x1018: 0x6389, 0x1019: 0x63a1, 0x101a: 0x63b9, 0x101b: 0x418d, 0x101c: 0x63d1, 0x101d: 0x63e9, + 0x101e: 0x6401, 0x101f: 0x41ad, 0x1020: 0x41cd, 0x1021: 0x6419, 0x1022: 0x41ed, 0x1023: 0x420d, + 0x1024: 0x422d, 0x1025: 0x6431, 0x1026: 0x424d, 0x1027: 0x6449, 0x1028: 0x6479, 0x1029: 0x6211, + 0x102a: 0x426d, 0x102b: 0x428d, 0x102c: 0x42ad, 0x102d: 0x42cd, 0x102e: 0x64b1, 0x102f: 0x64f1, + 0x1030: 0x6539, 0x1031: 0x6551, 0x1032: 0x42ed, 0x1033: 0x6569, 0x1034: 0x6581, 0x1035: 0x6599, + 0x1036: 0x430d, 0x1037: 0x65b1, 0x1038: 0x65c9, 0x1039: 0x65b1, 0x103a: 0x65e1, 0x103b: 0x65f9, + 0x103c: 0x432d, 0x103d: 0x6611, 0x103e: 0x6629, 0x103f: 0x6611, + // Block 0x41, offset 0x1040 + 0x1040: 0x434d, 0x1041: 0x436d, 0x1042: 0x0040, 0x1043: 0x6641, 0x1044: 0x6659, 0x1045: 0x6671, + 0x1046: 0x6689, 0x1047: 0x0040, 0x1048: 0x66c1, 0x1049: 0x66d9, 0x104a: 0x66f1, 0x104b: 0x6709, + 0x104c: 0x6721, 0x104d: 0x6739, 0x104e: 0x6401, 0x104f: 0x6751, 0x1050: 0x6769, 0x1051: 0x6781, + 0x1052: 0x438d, 0x1053: 0x6799, 0x1054: 0x6289, 0x1055: 0x43ad, 0x1056: 0x43cd, 0x1057: 0x67b1, + 0x1058: 0x0040, 0x1059: 0x43ed, 0x105a: 0x67c9, 0x105b: 0x67e1, 0x105c: 0x67f9, 0x105d: 0x6811, + 0x105e: 0x6829, 0x105f: 0x6859, 0x1060: 0x6889, 0x1061: 0x68b1, 0x1062: 0x68d9, 0x1063: 0x6901, + 0x1064: 0x6929, 0x1065: 0x6951, 0x1066: 0x6979, 0x1067: 0x69a1, 0x1068: 0x69c9, 0x1069: 0x69f1, + 0x106a: 0x6a21, 0x106b: 0x6a51, 0x106c: 0x6a81, 0x106d: 0x6ab1, 0x106e: 0x6ae1, 0x106f: 0x6b11, + 0x1070: 0x6b41, 0x1071: 0x6b71, 0x1072: 0x6ba1, 0x1073: 0x6bd1, 0x1074: 0x6c01, 0x1075: 0x6c31, + 0x1076: 0x6c61, 0x1077: 0x6c91, 0x1078: 0x6cc1, 0x1079: 0x6cf1, 0x107a: 0x6d21, 0x107b: 0x6d51, + 0x107c: 0x6d81, 0x107d: 0x6db1, 0x107e: 0x6de1, 0x107f: 0x440d, + // Block 0x42, offset 0x1080 + 0x1080: 0xe00d, 0x1081: 0x0008, 0x1082: 0xe00d, 0x1083: 0x0008, 0x1084: 0xe00d, 0x1085: 0x0008, + 0x1086: 0xe00d, 0x1087: 0x0008, 0x1088: 0xe00d, 0x1089: 0x0008, 0x108a: 0xe00d, 0x108b: 0x0008, + 0x108c: 0xe00d, 0x108d: 0x0008, 0x108e: 0xe00d, 0x108f: 0x0008, 0x1090: 0xe00d, 0x1091: 0x0008, + 0x1092: 0xe00d, 0x1093: 0x0008, 0x1094: 0xe00d, 0x1095: 0x0008, 0x1096: 0xe00d, 0x1097: 0x0008, + 0x1098: 0xe00d, 0x1099: 0x0008, 0x109a: 0xe00d, 0x109b: 0x0008, 0x109c: 0xe00d, 0x109d: 0x0008, + 0x109e: 0xe00d, 0x109f: 0x0008, 0x10a0: 0xe00d, 0x10a1: 0x0008, 0x10a2: 0xe00d, 0x10a3: 0x0008, + 0x10a4: 0xe00d, 0x10a5: 0x0008, 0x10a6: 0xe00d, 0x10a7: 0x0008, 0x10a8: 0xe00d, 0x10a9: 0x0008, + 0x10aa: 0xe00d, 0x10ab: 0x0008, 0x10ac: 0xe00d, 0x10ad: 0x0008, 0x10ae: 0x0008, 0x10af: 0x1308, + 0x10b0: 0x1318, 0x10b1: 0x1318, 0x10b2: 0x1318, 0x10b3: 0x0018, 0x10b4: 0x1308, 0x10b5: 0x1308, + 0x10b6: 0x1308, 0x10b7: 0x1308, 0x10b8: 0x1308, 0x10b9: 0x1308, 0x10ba: 0x1308, 0x10bb: 0x1308, + 0x10bc: 0x1308, 0x10bd: 0x1308, 0x10be: 0x0018, 0x10bf: 0x0008, + // Block 0x43, offset 0x10c0 + 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008, + 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008, + 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008, + 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008, + 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0x0ea1, 0x10dd: 0x6e11, + 0x10de: 0x1308, 0x10df: 0x1308, 0x10e0: 0x0008, 0x10e1: 0x0008, 0x10e2: 0x0008, 0x10e3: 0x0008, + 0x10e4: 0x0008, 0x10e5: 0x0008, 0x10e6: 0x0008, 0x10e7: 0x0008, 0x10e8: 0x0008, 0x10e9: 0x0008, + 0x10ea: 0x0008, 0x10eb: 0x0008, 0x10ec: 0x0008, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x0008, + 0x10f0: 0x0008, 0x10f1: 0x0008, 0x10f2: 0x0008, 0x10f3: 0x0008, 0x10f4: 0x0008, 0x10f5: 0x0008, + 0x10f6: 0x0008, 0x10f7: 0x0008, 0x10f8: 0x0008, 0x10f9: 0x0008, 0x10fa: 0x0008, 0x10fb: 0x0008, + 0x10fc: 0x0008, 0x10fd: 0x0008, 0x10fe: 0x0008, 0x10ff: 0x0008, + // Block 0x44, offset 0x1100 + 0x1100: 0x0018, 0x1101: 0x0018, 0x1102: 0x0018, 0x1103: 0x0018, 0x1104: 0x0018, 0x1105: 0x0018, + 0x1106: 0x0018, 0x1107: 0x0018, 0x1108: 0x0018, 0x1109: 0x0018, 0x110a: 0x0018, 0x110b: 0x0018, + 0x110c: 0x0018, 0x110d: 0x0018, 0x110e: 0x0018, 0x110f: 0x0018, 0x1110: 0x0018, 0x1111: 0x0018, + 0x1112: 0x0018, 0x1113: 0x0018, 0x1114: 0x0018, 0x1115: 0x0018, 0x1116: 0x0018, 0x1117: 0x0008, + 0x1118: 0x0008, 0x1119: 0x0008, 0x111a: 0x0008, 0x111b: 0x0008, 0x111c: 0x0008, 0x111d: 0x0008, + 0x111e: 0x0008, 0x111f: 0x0008, 0x1120: 0x0018, 0x1121: 0x0018, 0x1122: 0xe00d, 0x1123: 0x0008, + 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, + 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0xe00d, 0x112f: 0x0008, + 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0xe00d, 0x1133: 0x0008, 0x1134: 0xe00d, 0x1135: 0x0008, + 0x1136: 0xe00d, 0x1137: 0x0008, 0x1138: 0xe00d, 0x1139: 0x0008, 0x113a: 0xe00d, 0x113b: 0x0008, + 0x113c: 0xe00d, 0x113d: 0x0008, 0x113e: 0xe00d, 0x113f: 0x0008, + // Block 0x45, offset 0x1140 + 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, + 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, + 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, + 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, + 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0xe00d, 0x115d: 0x0008, + 0x115e: 0xe00d, 0x115f: 0x0008, 0x1160: 0xe00d, 0x1161: 0x0008, 0x1162: 0xe00d, 0x1163: 0x0008, + 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008, + 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008, + 0x1170: 0xe0fd, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, + 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0xe01d, 0x117a: 0x0008, 0x117b: 0xe03d, + 0x117c: 0x0008, 0x117d: 0x442d, 0x117e: 0xe00d, 0x117f: 0x0008, + // Block 0x46, offset 0x1180 + 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008, + 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0x0008, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0xe03d, + 0x118c: 0x0008, 0x118d: 0x11d9, 0x118e: 0x0008, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008, + 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0x0008, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008, + 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008, + 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008, + 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, + 0x11aa: 0x6e29, 0x11ab: 0x1029, 0x11ac: 0x11c1, 0x11ad: 0x6e41, 0x11ae: 0x1221, 0x11af: 0x0040, + 0x11b0: 0x6e59, 0x11b1: 0x6e71, 0x11b2: 0x1239, 0x11b3: 0x444d, 0x11b4: 0xe00d, 0x11b5: 0x0008, + 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0x0040, 0x11b9: 0x0040, 0x11ba: 0x0040, 0x11bb: 0x0040, + 0x11bc: 0x0040, 0x11bd: 0x0040, 0x11be: 0x0040, 0x11bf: 0x0040, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x64d5, 0x11c1: 0x64f5, 0x11c2: 0x6515, 0x11c3: 0x6535, 0x11c4: 0x6555, 0x11c5: 0x6575, + 0x11c6: 0x6595, 0x11c7: 0x65b5, 0x11c8: 0x65d5, 0x11c9: 0x65f5, 0x11ca: 0x6615, 0x11cb: 0x6635, + 0x11cc: 0x6655, 0x11cd: 0x6675, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0x6695, 0x11d1: 0x0008, + 0x11d2: 0x66b5, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x66d5, 0x11d6: 0x66f5, 0x11d7: 0x6715, + 0x11d8: 0x6735, 0x11d9: 0x6755, 0x11da: 0x6775, 0x11db: 0x6795, 0x11dc: 0x67b5, 0x11dd: 0x67d5, + 0x11de: 0x67f5, 0x11df: 0x0008, 0x11e0: 0x6815, 0x11e1: 0x0008, 0x11e2: 0x6835, 0x11e3: 0x0008, + 0x11e4: 0x0008, 0x11e5: 0x6855, 0x11e6: 0x6875, 0x11e7: 0x0008, 0x11e8: 0x0008, 0x11e9: 0x0008, + 0x11ea: 0x6895, 0x11eb: 0x68b5, 0x11ec: 0x68d5, 0x11ed: 0x68f5, 0x11ee: 0x6915, 0x11ef: 0x6935, + 0x11f0: 0x6955, 0x11f1: 0x6975, 0x11f2: 0x6995, 0x11f3: 0x69b5, 0x11f4: 0x69d5, 0x11f5: 0x69f5, + 0x11f6: 0x6a15, 0x11f7: 0x6a35, 0x11f8: 0x6a55, 0x11f9: 0x6a75, 0x11fa: 0x6a95, 0x11fb: 0x6ab5, + 0x11fc: 0x6ad5, 0x11fd: 0x6af5, 0x11fe: 0x6b15, 0x11ff: 0x6b35, + // Block 0x48, offset 0x1200 + 0x1200: 0x7a95, 0x1201: 0x7ab5, 0x1202: 0x7ad5, 0x1203: 0x7af5, 0x1204: 0x7b15, 0x1205: 0x7b35, + 0x1206: 0x7b55, 0x1207: 0x7b75, 0x1208: 0x7b95, 0x1209: 0x7bb5, 0x120a: 0x7bd5, 0x120b: 0x7bf5, + 0x120c: 0x7c15, 0x120d: 0x7c35, 0x120e: 0x7c55, 0x120f: 0x6ec9, 0x1210: 0x6ef1, 0x1211: 0x6f19, + 0x1212: 0x7c75, 0x1213: 0x7c95, 0x1214: 0x7cb5, 0x1215: 0x6f41, 0x1216: 0x6f69, 0x1217: 0x6f91, + 0x1218: 0x7cd5, 0x1219: 0x7cf5, 0x121a: 0x0040, 0x121b: 0x0040, 0x121c: 0x0040, 0x121d: 0x0040, + 0x121e: 0x0040, 0x121f: 0x0040, 0x1220: 0x0040, 0x1221: 0x0040, 0x1222: 0x0040, 0x1223: 0x0040, + 0x1224: 0x0040, 0x1225: 0x0040, 0x1226: 0x0040, 0x1227: 0x0040, 0x1228: 0x0040, 0x1229: 0x0040, + 0x122a: 0x0040, 0x122b: 0x0040, 0x122c: 0x0040, 0x122d: 0x0040, 0x122e: 0x0040, 0x122f: 0x0040, + 0x1230: 0x0040, 0x1231: 0x0040, 0x1232: 0x0040, 0x1233: 0x0040, 0x1234: 0x0040, 0x1235: 0x0040, + 0x1236: 0x0040, 0x1237: 0x0040, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040, + 0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040, + // Block 0x49, offset 0x1240 + 0x1240: 0x6fb9, 0x1241: 0x6fd1, 0x1242: 0x6fe9, 0x1243: 0x7d15, 0x1244: 0x7d35, 0x1245: 0x7001, + 0x1246: 0x7001, 0x1247: 0x0040, 0x1248: 0x0040, 0x1249: 0x0040, 0x124a: 0x0040, 0x124b: 0x0040, + 0x124c: 0x0040, 0x124d: 0x0040, 0x124e: 0x0040, 0x124f: 0x0040, 0x1250: 0x0040, 0x1251: 0x0040, + 0x1252: 0x0040, 0x1253: 0x7019, 0x1254: 0x7041, 0x1255: 0x7069, 0x1256: 0x7091, 0x1257: 0x70b9, + 0x1258: 0x0040, 0x1259: 0x0040, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x70e1, + 0x125e: 0x1308, 0x125f: 0x7109, 0x1260: 0x7131, 0x1261: 0x20a9, 0x1262: 0x20f1, 0x1263: 0x7149, + 0x1264: 0x7161, 0x1265: 0x7179, 0x1266: 0x7191, 0x1267: 0x71a9, 0x1268: 0x71c1, 0x1269: 0x1fb2, + 0x126a: 0x71d9, 0x126b: 0x7201, 0x126c: 0x7229, 0x126d: 0x7261, 0x126e: 0x7299, 0x126f: 0x72c1, + 0x1270: 0x72e9, 0x1271: 0x7311, 0x1272: 0x7339, 0x1273: 0x7361, 0x1274: 0x7389, 0x1275: 0x73b1, + 0x1276: 0x73d9, 0x1277: 0x0040, 0x1278: 0x7401, 0x1279: 0x7429, 0x127a: 0x7451, 0x127b: 0x7479, + 0x127c: 0x74a1, 0x127d: 0x0040, 0x127e: 0x74c9, 0x127f: 0x0040, + // Block 0x4a, offset 0x1280 + 0x1280: 0x74f1, 0x1281: 0x7519, 0x1282: 0x0040, 0x1283: 0x7541, 0x1284: 0x7569, 0x1285: 0x0040, + 0x1286: 0x7591, 0x1287: 0x75b9, 0x1288: 0x75e1, 0x1289: 0x7609, 0x128a: 0x7631, 0x128b: 0x7659, + 0x128c: 0x7681, 0x128d: 0x76a9, 0x128e: 0x76d1, 0x128f: 0x76f9, 0x1290: 0x7721, 0x1291: 0x7721, + 0x1292: 0x7739, 0x1293: 0x7739, 0x1294: 0x7739, 0x1295: 0x7739, 0x1296: 0x7751, 0x1297: 0x7751, + 0x1298: 0x7751, 0x1299: 0x7751, 0x129a: 0x7769, 0x129b: 0x7769, 0x129c: 0x7769, 0x129d: 0x7769, + 0x129e: 0x7781, 0x129f: 0x7781, 0x12a0: 0x7781, 0x12a1: 0x7781, 0x12a2: 0x7799, 0x12a3: 0x7799, + 0x12a4: 0x7799, 0x12a5: 0x7799, 0x12a6: 0x77b1, 0x12a7: 0x77b1, 0x12a8: 0x77b1, 0x12a9: 0x77b1, + 0x12aa: 0x77c9, 0x12ab: 0x77c9, 0x12ac: 0x77c9, 0x12ad: 0x77c9, 0x12ae: 0x77e1, 0x12af: 0x77e1, + 0x12b0: 0x77e1, 0x12b1: 0x77e1, 0x12b2: 0x77f9, 0x12b3: 0x77f9, 0x12b4: 0x77f9, 0x12b5: 0x77f9, + 0x12b6: 0x7811, 0x12b7: 0x7811, 0x12b8: 0x7811, 0x12b9: 0x7811, 0x12ba: 0x7829, 0x12bb: 0x7829, + 0x12bc: 0x7829, 0x12bd: 0x7829, 0x12be: 0x7841, 0x12bf: 0x7841, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x7841, 0x12c1: 0x7841, 0x12c2: 0x7859, 0x12c3: 0x7859, 0x12c4: 0x7871, 0x12c5: 0x7871, + 0x12c6: 0x7889, 0x12c7: 0x7889, 0x12c8: 0x78a1, 0x12c9: 0x78a1, 0x12ca: 0x78b9, 0x12cb: 0x78b9, + 0x12cc: 0x78d1, 0x12cd: 0x78d1, 0x12ce: 0x78e9, 0x12cf: 0x78e9, 0x12d0: 0x78e9, 0x12d1: 0x78e9, + 0x12d2: 0x7901, 0x12d3: 0x7901, 0x12d4: 0x7901, 0x12d5: 0x7901, 0x12d6: 0x7919, 0x12d7: 0x7919, + 0x12d8: 0x7919, 0x12d9: 0x7919, 0x12da: 0x7931, 0x12db: 0x7931, 0x12dc: 0x7931, 0x12dd: 0x7931, + 0x12de: 0x7949, 0x12df: 0x7949, 0x12e0: 0x7961, 0x12e1: 0x7961, 0x12e2: 0x7961, 0x12e3: 0x7961, + 0x12e4: 0x7979, 0x12e5: 0x7979, 0x12e6: 0x7991, 0x12e7: 0x7991, 0x12e8: 0x7991, 0x12e9: 0x7991, + 0x12ea: 0x79a9, 0x12eb: 0x79a9, 0x12ec: 0x79a9, 0x12ed: 0x79a9, 0x12ee: 0x79c1, 0x12ef: 0x79c1, + 0x12f0: 0x79d9, 0x12f1: 0x79d9, 0x12f2: 0x0018, 0x12f3: 0x0018, 0x12f4: 0x0018, 0x12f5: 0x0018, + 0x12f6: 0x0018, 0x12f7: 0x0018, 0x12f8: 0x0018, 0x12f9: 0x0018, 0x12fa: 0x0018, 0x12fb: 0x0018, + 0x12fc: 0x0018, 0x12fd: 0x0018, 0x12fe: 0x0018, 0x12ff: 0x0018, + // Block 0x4c, offset 0x1300 + 0x1300: 0x0018, 0x1301: 0x0018, 0x1302: 0x0040, 0x1303: 0x0040, 0x1304: 0x0040, 0x1305: 0x0040, + 0x1306: 0x0040, 0x1307: 0x0040, 0x1308: 0x0040, 0x1309: 0x0040, 0x130a: 0x0040, 0x130b: 0x0040, + 0x130c: 0x0040, 0x130d: 0x0040, 0x130e: 0x0040, 0x130f: 0x0040, 0x1310: 0x0040, 0x1311: 0x0040, + 0x1312: 0x0040, 0x1313: 0x79f1, 0x1314: 0x79f1, 0x1315: 0x79f1, 0x1316: 0x79f1, 0x1317: 0x7a09, + 0x1318: 0x7a09, 0x1319: 0x7a21, 0x131a: 0x7a21, 0x131b: 0x7a39, 0x131c: 0x7a39, 0x131d: 0x0479, + 0x131e: 0x7a51, 0x131f: 0x7a51, 0x1320: 0x7a69, 0x1321: 0x7a69, 0x1322: 0x7a81, 0x1323: 0x7a81, + 0x1324: 0x7a99, 0x1325: 0x7a99, 0x1326: 0x7a99, 0x1327: 0x7a99, 0x1328: 0x7ab1, 0x1329: 0x7ab1, + 0x132a: 0x7ac9, 0x132b: 0x7ac9, 0x132c: 0x7af1, 0x132d: 0x7af1, 0x132e: 0x7b19, 0x132f: 0x7b19, + 0x1330: 0x7b41, 0x1331: 0x7b41, 0x1332: 0x7b69, 0x1333: 0x7b69, 0x1334: 0x7b91, 0x1335: 0x7b91, + 0x1336: 0x7bb9, 0x1337: 0x7bb9, 0x1338: 0x7bb9, 0x1339: 0x7be1, 0x133a: 0x7be1, 0x133b: 0x7be1, + 0x133c: 0x7c09, 0x133d: 0x7c09, 0x133e: 0x7c09, 0x133f: 0x7c09, + // Block 0x4d, offset 0x1340 + 0x1340: 0x85f9, 0x1341: 0x8621, 0x1342: 0x8649, 0x1343: 0x8671, 0x1344: 0x8699, 0x1345: 0x86c1, + 0x1346: 0x86e9, 0x1347: 0x8711, 0x1348: 0x8739, 0x1349: 0x8761, 0x134a: 0x8789, 0x134b: 0x87b1, + 0x134c: 0x87d9, 0x134d: 0x8801, 0x134e: 0x8829, 0x134f: 0x8851, 0x1350: 0x8879, 0x1351: 0x88a1, + 0x1352: 0x88c9, 0x1353: 0x88f1, 0x1354: 0x8919, 0x1355: 0x8941, 0x1356: 0x8969, 0x1357: 0x8991, + 0x1358: 0x89b9, 0x1359: 0x89e1, 0x135a: 0x8a09, 0x135b: 0x8a31, 0x135c: 0x8a59, 0x135d: 0x8a81, + 0x135e: 0x8aaa, 0x135f: 0x8ada, 0x1360: 0x8b0a, 0x1361: 0x8b3a, 0x1362: 0x8b6a, 0x1363: 0x8b9a, + 0x1364: 0x8bc9, 0x1365: 0x8bf1, 0x1366: 0x7c71, 0x1367: 0x8c19, 0x1368: 0x7be1, 0x1369: 0x7c99, + 0x136a: 0x8c41, 0x136b: 0x8c69, 0x136c: 0x7d39, 0x136d: 0x8c91, 0x136e: 0x7d61, 0x136f: 0x7d89, + 0x1370: 0x8cb9, 0x1371: 0x8ce1, 0x1372: 0x7e29, 0x1373: 0x8d09, 0x1374: 0x7e51, 0x1375: 0x7e79, + 0x1376: 0x8d31, 0x1377: 0x8d59, 0x1378: 0x7ec9, 0x1379: 0x8d81, 0x137a: 0x7ef1, 0x137b: 0x7f19, + 0x137c: 0x83a1, 0x137d: 0x83c9, 0x137e: 0x8441, 0x137f: 0x8469, + // Block 0x4e, offset 0x1380 + 0x1380: 0x8491, 0x1381: 0x8531, 0x1382: 0x8559, 0x1383: 0x8581, 0x1384: 0x85a9, 0x1385: 0x8649, + 0x1386: 0x8671, 0x1387: 0x8699, 0x1388: 0x8da9, 0x1389: 0x8739, 0x138a: 0x8dd1, 0x138b: 0x8df9, + 0x138c: 0x8829, 0x138d: 0x8e21, 0x138e: 0x8851, 0x138f: 0x8879, 0x1390: 0x8a81, 0x1391: 0x8e49, + 0x1392: 0x8e71, 0x1393: 0x89b9, 0x1394: 0x8e99, 0x1395: 0x89e1, 0x1396: 0x8a09, 0x1397: 0x7c21, + 0x1398: 0x7c49, 0x1399: 0x8ec1, 0x139a: 0x7c71, 0x139b: 0x8ee9, 0x139c: 0x7cc1, 0x139d: 0x7ce9, + 0x139e: 0x7d11, 0x139f: 0x7d39, 0x13a0: 0x8f11, 0x13a1: 0x7db1, 0x13a2: 0x7dd9, 0x13a3: 0x7e01, + 0x13a4: 0x7e29, 0x13a5: 0x8f39, 0x13a6: 0x7ec9, 0x13a7: 0x7f41, 0x13a8: 0x7f69, 0x13a9: 0x7f91, + 0x13aa: 0x7fb9, 0x13ab: 0x7fe1, 0x13ac: 0x8031, 0x13ad: 0x8059, 0x13ae: 0x8081, 0x13af: 0x80a9, + 0x13b0: 0x80d1, 0x13b1: 0x80f9, 0x13b2: 0x8f61, 0x13b3: 0x8121, 0x13b4: 0x8149, 0x13b5: 0x8171, + 0x13b6: 0x8199, 0x13b7: 0x81c1, 0x13b8: 0x81e9, 0x13b9: 0x8239, 0x13ba: 0x8261, 0x13bb: 0x8289, + 0x13bc: 0x82b1, 0x13bd: 0x82d9, 0x13be: 0x8301, 0x13bf: 0x8329, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x8351, 0x13c1: 0x8379, 0x13c2: 0x83f1, 0x13c3: 0x8419, 0x13c4: 0x84b9, 0x13c5: 0x84e1, + 0x13c6: 0x8509, 0x13c7: 0x8531, 0x13c8: 0x8559, 0x13c9: 0x85d1, 0x13ca: 0x85f9, 0x13cb: 0x8621, + 0x13cc: 0x8649, 0x13cd: 0x8f89, 0x13ce: 0x86c1, 0x13cf: 0x86e9, 0x13d0: 0x8711, 0x13d1: 0x8739, + 0x13d2: 0x87b1, 0x13d3: 0x87d9, 0x13d4: 0x8801, 0x13d5: 0x8829, 0x13d6: 0x8fb1, 0x13d7: 0x88a1, + 0x13d8: 0x88c9, 0x13d9: 0x8fd9, 0x13da: 0x8941, 0x13db: 0x8969, 0x13dc: 0x8991, 0x13dd: 0x89b9, + 0x13de: 0x9001, 0x13df: 0x7c71, 0x13e0: 0x8ee9, 0x13e1: 0x7d39, 0x13e2: 0x8f11, 0x13e3: 0x7e29, + 0x13e4: 0x8f39, 0x13e5: 0x7ec9, 0x13e6: 0x9029, 0x13e7: 0x80d1, 0x13e8: 0x9051, 0x13e9: 0x9079, + 0x13ea: 0x90a1, 0x13eb: 0x8531, 0x13ec: 0x8559, 0x13ed: 0x8649, 0x13ee: 0x8829, 0x13ef: 0x8fb1, + 0x13f0: 0x89b9, 0x13f1: 0x9001, 0x13f2: 0x90c9, 0x13f3: 0x9101, 0x13f4: 0x9139, 0x13f5: 0x9171, + 0x13f6: 0x9199, 0x13f7: 0x91c1, 0x13f8: 0x91e9, 0x13f9: 0x9211, 0x13fa: 0x9239, 0x13fb: 0x9261, + 0x13fc: 0x9289, 0x13fd: 0x92b1, 0x13fe: 0x92d9, 0x13ff: 0x9301, + // Block 0x50, offset 0x1400 + 0x1400: 0x9329, 0x1401: 0x9351, 0x1402: 0x9379, 0x1403: 0x93a1, 0x1404: 0x93c9, 0x1405: 0x93f1, + 0x1406: 0x9419, 0x1407: 0x9441, 0x1408: 0x9469, 0x1409: 0x9491, 0x140a: 0x94b9, 0x140b: 0x94e1, + 0x140c: 0x9079, 0x140d: 0x9509, 0x140e: 0x9531, 0x140f: 0x9559, 0x1410: 0x9581, 0x1411: 0x9171, + 0x1412: 0x9199, 0x1413: 0x91c1, 0x1414: 0x91e9, 0x1415: 0x9211, 0x1416: 0x9239, 0x1417: 0x9261, + 0x1418: 0x9289, 0x1419: 0x92b1, 0x141a: 0x92d9, 0x141b: 0x9301, 0x141c: 0x9329, 0x141d: 0x9351, + 0x141e: 0x9379, 0x141f: 0x93a1, 0x1420: 0x93c9, 0x1421: 0x93f1, 0x1422: 0x9419, 0x1423: 0x9441, + 0x1424: 0x9469, 0x1425: 0x9491, 0x1426: 0x94b9, 0x1427: 0x94e1, 0x1428: 0x9079, 0x1429: 0x9509, + 0x142a: 0x9531, 0x142b: 0x9559, 0x142c: 0x9581, 0x142d: 0x9491, 0x142e: 0x94b9, 0x142f: 0x94e1, + 0x1430: 0x9079, 0x1431: 0x9051, 0x1432: 0x90a1, 0x1433: 0x8211, 0x1434: 0x8059, 0x1435: 0x8081, + 0x1436: 0x80a9, 0x1437: 0x9491, 0x1438: 0x94b9, 0x1439: 0x94e1, 0x143a: 0x8211, 0x143b: 0x8239, + 0x143c: 0x95a9, 0x143d: 0x95a9, 0x143e: 0x0018, 0x143f: 0x0018, + // Block 0x51, offset 0x1440 + 0x1440: 0x0040, 0x1441: 0x0040, 0x1442: 0x0040, 0x1443: 0x0040, 0x1444: 0x0040, 0x1445: 0x0040, + 0x1446: 0x0040, 0x1447: 0x0040, 0x1448: 0x0040, 0x1449: 0x0040, 0x144a: 0x0040, 0x144b: 0x0040, + 0x144c: 0x0040, 0x144d: 0x0040, 0x144e: 0x0040, 0x144f: 0x0040, 0x1450: 0x95d1, 0x1451: 0x9609, + 0x1452: 0x9609, 0x1453: 0x9641, 0x1454: 0x9679, 0x1455: 0x96b1, 0x1456: 0x96e9, 0x1457: 0x9721, + 0x1458: 0x9759, 0x1459: 0x9759, 0x145a: 0x9791, 0x145b: 0x97c9, 0x145c: 0x9801, 0x145d: 0x9839, + 0x145e: 0x9871, 0x145f: 0x98a9, 0x1460: 0x98a9, 0x1461: 0x98e1, 0x1462: 0x9919, 0x1463: 0x9919, + 0x1464: 0x9951, 0x1465: 0x9951, 0x1466: 0x9989, 0x1467: 0x99c1, 0x1468: 0x99c1, 0x1469: 0x99f9, + 0x146a: 0x9a31, 0x146b: 0x9a31, 0x146c: 0x9a69, 0x146d: 0x9a69, 0x146e: 0x9aa1, 0x146f: 0x9ad9, + 0x1470: 0x9ad9, 0x1471: 0x9b11, 0x1472: 0x9b11, 0x1473: 0x9b49, 0x1474: 0x9b81, 0x1475: 0x9bb9, + 0x1476: 0x9bf1, 0x1477: 0x9bf1, 0x1478: 0x9c29, 0x1479: 0x9c61, 0x147a: 0x9c99, 0x147b: 0x9cd1, + 0x147c: 0x9d09, 0x147d: 0x9d09, 0x147e: 0x9d41, 0x147f: 0x9d79, + // Block 0x52, offset 0x1480 + 0x1480: 0xa949, 0x1481: 0xa981, 0x1482: 0xa9b9, 0x1483: 0xa8a1, 0x1484: 0x9bb9, 0x1485: 0x9989, + 0x1486: 0xa9f1, 0x1487: 0xaa29, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040, + 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x0040, 0x1491: 0x0040, + 0x1492: 0x0040, 0x1493: 0x0040, 0x1494: 0x0040, 0x1495: 0x0040, 0x1496: 0x0040, 0x1497: 0x0040, + 0x1498: 0x0040, 0x1499: 0x0040, 0x149a: 0x0040, 0x149b: 0x0040, 0x149c: 0x0040, 0x149d: 0x0040, + 0x149e: 0x0040, 0x149f: 0x0040, 0x14a0: 0x0040, 0x14a1: 0x0040, 0x14a2: 0x0040, 0x14a3: 0x0040, + 0x14a4: 0x0040, 0x14a5: 0x0040, 0x14a6: 0x0040, 0x14a7: 0x0040, 0x14a8: 0x0040, 0x14a9: 0x0040, + 0x14aa: 0x0040, 0x14ab: 0x0040, 0x14ac: 0x0040, 0x14ad: 0x0040, 0x14ae: 0x0040, 0x14af: 0x0040, + 0x14b0: 0xaa61, 0x14b1: 0xaa99, 0x14b2: 0xaad1, 0x14b3: 0xab19, 0x14b4: 0xab61, 0x14b5: 0xaba9, + 0x14b6: 0xabf1, 0x14b7: 0xac39, 0x14b8: 0xac81, 0x14b9: 0xacc9, 0x14ba: 0xad02, 0x14bb: 0xae12, + 0x14bc: 0xae91, 0x14bd: 0x0018, 0x14be: 0x0040, 0x14bf: 0x0040, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x13c0, 0x14c1: 0x13c0, 0x14c2: 0x13c0, 0x14c3: 0x13c0, 0x14c4: 0x13c0, 0x14c5: 0x13c0, + 0x14c6: 0x13c0, 0x14c7: 0x13c0, 0x14c8: 0x13c0, 0x14c9: 0x13c0, 0x14ca: 0x13c0, 0x14cb: 0x13c0, + 0x14cc: 0x13c0, 0x14cd: 0x13c0, 0x14ce: 0x13c0, 0x14cf: 0x13c0, 0x14d0: 0xaeda, 0x14d1: 0x7d55, + 0x14d2: 0x0040, 0x14d3: 0xaeea, 0x14d4: 0x03c2, 0x14d5: 0xaefa, 0x14d6: 0xaf0a, 0x14d7: 0x7d75, + 0x14d8: 0x7d95, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040, + 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x1308, 0x14e1: 0x1308, 0x14e2: 0x1308, 0x14e3: 0x1308, + 0x14e4: 0x1308, 0x14e5: 0x1308, 0x14e6: 0x1308, 0x14e7: 0x1308, 0x14e8: 0x1308, 0x14e9: 0x1308, + 0x14ea: 0x1308, 0x14eb: 0x1308, 0x14ec: 0x1308, 0x14ed: 0x1308, 0x14ee: 0x1308, 0x14ef: 0x1308, + 0x14f0: 0x0040, 0x14f1: 0x7db5, 0x14f2: 0x7dd5, 0x14f3: 0xaf1a, 0x14f4: 0xaf1a, 0x14f5: 0x1fd2, + 0x14f6: 0x1fe2, 0x14f7: 0xaf2a, 0x14f8: 0xaf3a, 0x14f9: 0x7df5, 0x14fa: 0x7e15, 0x14fb: 0x7e35, + 0x14fc: 0x7df5, 0x14fd: 0x7e55, 0x14fe: 0x7e75, 0x14ff: 0x7e55, + // Block 0x54, offset 0x1500 + 0x1500: 0x7e95, 0x1501: 0x7eb5, 0x1502: 0x7ed5, 0x1503: 0x7eb5, 0x1504: 0x7ef5, 0x1505: 0x0018, + 0x1506: 0x0018, 0x1507: 0xaf4a, 0x1508: 0xaf5a, 0x1509: 0x7f16, 0x150a: 0x7f36, 0x150b: 0x7f56, + 0x150c: 0x7f76, 0x150d: 0xaf1a, 0x150e: 0xaf1a, 0x150f: 0xaf1a, 0x1510: 0xaeda, 0x1511: 0x7f95, + 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x03c2, 0x1515: 0xaeea, 0x1516: 0xaf0a, 0x1517: 0xaefa, + 0x1518: 0x7fb5, 0x1519: 0x1fd2, 0x151a: 0x1fe2, 0x151b: 0xaf2a, 0x151c: 0xaf3a, 0x151d: 0x7e95, + 0x151e: 0x7ef5, 0x151f: 0xaf6a, 0x1520: 0xaf7a, 0x1521: 0xaf8a, 0x1522: 0x1fb2, 0x1523: 0xaf99, + 0x1524: 0xafaa, 0x1525: 0xafba, 0x1526: 0x1fc2, 0x1527: 0x0040, 0x1528: 0xafca, 0x1529: 0xafda, + 0x152a: 0xafea, 0x152b: 0xaffa, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, + 0x1530: 0x7fd6, 0x1531: 0xb009, 0x1532: 0x7ff6, 0x1533: 0x0008, 0x1534: 0x8016, 0x1535: 0x0040, + 0x1536: 0x8036, 0x1537: 0xb031, 0x1538: 0x8056, 0x1539: 0xb059, 0x153a: 0x8076, 0x153b: 0xb081, + 0x153c: 0x8096, 0x153d: 0xb0a9, 0x153e: 0x80b6, 0x153f: 0xb0d1, + // Block 0x55, offset 0x1540 + 0x1540: 0xb0f9, 0x1541: 0xb111, 0x1542: 0xb111, 0x1543: 0xb129, 0x1544: 0xb129, 0x1545: 0xb141, + 0x1546: 0xb141, 0x1547: 0xb159, 0x1548: 0xb159, 0x1549: 0xb171, 0x154a: 0xb171, 0x154b: 0xb171, + 0x154c: 0xb171, 0x154d: 0xb189, 0x154e: 0xb189, 0x154f: 0xb1a1, 0x1550: 0xb1a1, 0x1551: 0xb1a1, + 0x1552: 0xb1a1, 0x1553: 0xb1b9, 0x1554: 0xb1b9, 0x1555: 0xb1d1, 0x1556: 0xb1d1, 0x1557: 0xb1d1, + 0x1558: 0xb1d1, 0x1559: 0xb1e9, 0x155a: 0xb1e9, 0x155b: 0xb1e9, 0x155c: 0xb1e9, 0x155d: 0xb201, + 0x155e: 0xb201, 0x155f: 0xb201, 0x1560: 0xb201, 0x1561: 0xb219, 0x1562: 0xb219, 0x1563: 0xb219, + 0x1564: 0xb219, 0x1565: 0xb231, 0x1566: 0xb231, 0x1567: 0xb231, 0x1568: 0xb231, 0x1569: 0xb249, + 0x156a: 0xb249, 0x156b: 0xb261, 0x156c: 0xb261, 0x156d: 0xb279, 0x156e: 0xb279, 0x156f: 0xb291, + 0x1570: 0xb291, 0x1571: 0xb2a9, 0x1572: 0xb2a9, 0x1573: 0xb2a9, 0x1574: 0xb2a9, 0x1575: 0xb2c1, + 0x1576: 0xb2c1, 0x1577: 0xb2c1, 0x1578: 0xb2c1, 0x1579: 0xb2d9, 0x157a: 0xb2d9, 0x157b: 0xb2d9, + 0x157c: 0xb2d9, 0x157d: 0xb2f1, 0x157e: 0xb2f1, 0x157f: 0xb2f1, + // Block 0x56, offset 0x1580 + 0x1580: 0xb2f1, 0x1581: 0xb309, 0x1582: 0xb309, 0x1583: 0xb309, 0x1584: 0xb309, 0x1585: 0xb321, + 0x1586: 0xb321, 0x1587: 0xb321, 0x1588: 0xb321, 0x1589: 0xb339, 0x158a: 0xb339, 0x158b: 0xb339, + 0x158c: 0xb339, 0x158d: 0xb351, 0x158e: 0xb351, 0x158f: 0xb351, 0x1590: 0xb351, 0x1591: 0xb369, + 0x1592: 0xb369, 0x1593: 0xb369, 0x1594: 0xb369, 0x1595: 0xb381, 0x1596: 0xb381, 0x1597: 0xb381, + 0x1598: 0xb381, 0x1599: 0xb399, 0x159a: 0xb399, 0x159b: 0xb399, 0x159c: 0xb399, 0x159d: 0xb3b1, + 0x159e: 0xb3b1, 0x159f: 0xb3b1, 0x15a0: 0xb3b1, 0x15a1: 0xb3c9, 0x15a2: 0xb3c9, 0x15a3: 0xb3c9, + 0x15a4: 0xb3c9, 0x15a5: 0xb3e1, 0x15a6: 0xb3e1, 0x15a7: 0xb3e1, 0x15a8: 0xb3e1, 0x15a9: 0xb3f9, + 0x15aa: 0xb3f9, 0x15ab: 0xb3f9, 0x15ac: 0xb3f9, 0x15ad: 0xb411, 0x15ae: 0xb411, 0x15af: 0x7ab1, + 0x15b0: 0x7ab1, 0x15b1: 0xb429, 0x15b2: 0xb429, 0x15b3: 0xb429, 0x15b4: 0xb429, 0x15b5: 0xb441, + 0x15b6: 0xb441, 0x15b7: 0xb469, 0x15b8: 0xb469, 0x15b9: 0xb491, 0x15ba: 0xb491, 0x15bb: 0xb4b9, + 0x15bc: 0xb4b9, 0x15bd: 0x0040, 0x15be: 0x0040, 0x15bf: 0x03c0, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x0040, 0x15c1: 0xaefa, 0x15c2: 0xb4e2, 0x15c3: 0xaf6a, 0x15c4: 0xafda, 0x15c5: 0xafea, + 0x15c6: 0xaf7a, 0x15c7: 0xb4f2, 0x15c8: 0x1fd2, 0x15c9: 0x1fe2, 0x15ca: 0xaf8a, 0x15cb: 0x1fb2, + 0x15cc: 0xaeda, 0x15cd: 0xaf99, 0x15ce: 0x29d1, 0x15cf: 0xb502, 0x15d0: 0x1f41, 0x15d1: 0x00c9, + 0x15d2: 0x0069, 0x15d3: 0x0079, 0x15d4: 0x1f51, 0x15d5: 0x1f61, 0x15d6: 0x1f71, 0x15d7: 0x1f81, + 0x15d8: 0x1f91, 0x15d9: 0x1fa1, 0x15da: 0xaeea, 0x15db: 0x03c2, 0x15dc: 0xafaa, 0x15dd: 0x1fc2, + 0x15de: 0xafba, 0x15df: 0xaf0a, 0x15e0: 0xaffa, 0x15e1: 0x0039, 0x15e2: 0x0ee9, 0x15e3: 0x1159, + 0x15e4: 0x0ef9, 0x15e5: 0x0f09, 0x15e6: 0x1199, 0x15e7: 0x0f31, 0x15e8: 0x0249, 0x15e9: 0x0f41, + 0x15ea: 0x0259, 0x15eb: 0x0f51, 0x15ec: 0x0359, 0x15ed: 0x0f61, 0x15ee: 0x0f71, 0x15ef: 0x00d9, + 0x15f0: 0x0f99, 0x15f1: 0x2039, 0x15f2: 0x0269, 0x15f3: 0x01d9, 0x15f4: 0x0fa9, 0x15f5: 0x0fb9, + 0x15f6: 0x1089, 0x15f7: 0x0279, 0x15f8: 0x0369, 0x15f9: 0x0289, 0x15fa: 0x13d1, 0x15fb: 0xaf4a, + 0x15fc: 0xafca, 0x15fd: 0xaf5a, 0x15fe: 0xb512, 0x15ff: 0xaf1a, + // Block 0x58, offset 0x1600 + 0x1600: 0x1caa, 0x1601: 0x0039, 0x1602: 0x0ee9, 0x1603: 0x1159, 0x1604: 0x0ef9, 0x1605: 0x0f09, + 0x1606: 0x1199, 0x1607: 0x0f31, 0x1608: 0x0249, 0x1609: 0x0f41, 0x160a: 0x0259, 0x160b: 0x0f51, + 0x160c: 0x0359, 0x160d: 0x0f61, 0x160e: 0x0f71, 0x160f: 0x00d9, 0x1610: 0x0f99, 0x1611: 0x2039, + 0x1612: 0x0269, 0x1613: 0x01d9, 0x1614: 0x0fa9, 0x1615: 0x0fb9, 0x1616: 0x1089, 0x1617: 0x0279, + 0x1618: 0x0369, 0x1619: 0x0289, 0x161a: 0x13d1, 0x161b: 0xaf2a, 0x161c: 0xb522, 0x161d: 0xaf3a, + 0x161e: 0xb532, 0x161f: 0x80d5, 0x1620: 0x80f5, 0x1621: 0x29d1, 0x1622: 0x8115, 0x1623: 0x8115, + 0x1624: 0x8135, 0x1625: 0x8155, 0x1626: 0x8175, 0x1627: 0x8195, 0x1628: 0x81b5, 0x1629: 0x81d5, + 0x162a: 0x81f5, 0x162b: 0x8215, 0x162c: 0x8235, 0x162d: 0x8255, 0x162e: 0x8275, 0x162f: 0x8295, + 0x1630: 0x82b5, 0x1631: 0x82d5, 0x1632: 0x82f5, 0x1633: 0x8315, 0x1634: 0x8335, 0x1635: 0x8355, + 0x1636: 0x8375, 0x1637: 0x8395, 0x1638: 0x83b5, 0x1639: 0x83d5, 0x163a: 0x83f5, 0x163b: 0x8415, + 0x163c: 0x81b5, 0x163d: 0x8435, 0x163e: 0x8455, 0x163f: 0x8215, + // Block 0x59, offset 0x1640 + 0x1640: 0x8475, 0x1641: 0x8495, 0x1642: 0x84b5, 0x1643: 0x84d5, 0x1644: 0x84f5, 0x1645: 0x8515, + 0x1646: 0x8535, 0x1647: 0x8555, 0x1648: 0x84d5, 0x1649: 0x8575, 0x164a: 0x84d5, 0x164b: 0x8595, + 0x164c: 0x8595, 0x164d: 0x85b5, 0x164e: 0x85b5, 0x164f: 0x85d5, 0x1650: 0x8515, 0x1651: 0x85f5, + 0x1652: 0x8615, 0x1653: 0x85f5, 0x1654: 0x8635, 0x1655: 0x8615, 0x1656: 0x8655, 0x1657: 0x8655, + 0x1658: 0x8675, 0x1659: 0x8675, 0x165a: 0x8695, 0x165b: 0x8695, 0x165c: 0x8615, 0x165d: 0x8115, + 0x165e: 0x86b5, 0x165f: 0x86d5, 0x1660: 0x0040, 0x1661: 0x86f5, 0x1662: 0x8715, 0x1663: 0x8735, + 0x1664: 0x8755, 0x1665: 0x8735, 0x1666: 0x8775, 0x1667: 0x8795, 0x1668: 0x87b5, 0x1669: 0x87b5, + 0x166a: 0x87d5, 0x166b: 0x87d5, 0x166c: 0x87f5, 0x166d: 0x87f5, 0x166e: 0x87d5, 0x166f: 0x87d5, + 0x1670: 0x8815, 0x1671: 0x8835, 0x1672: 0x8855, 0x1673: 0x8875, 0x1674: 0x8895, 0x1675: 0x88b5, + 0x1676: 0x88b5, 0x1677: 0x88b5, 0x1678: 0x88d5, 0x1679: 0x88d5, 0x167a: 0x88d5, 0x167b: 0x88d5, + 0x167c: 0x87b5, 0x167d: 0x87b5, 0x167e: 0x87b5, 0x167f: 0x0040, + // Block 0x5a, offset 0x1680 + 0x1680: 0x0040, 0x1681: 0x0040, 0x1682: 0x8715, 0x1683: 0x86f5, 0x1684: 0x88f5, 0x1685: 0x86f5, + 0x1686: 0x8715, 0x1687: 0x86f5, 0x1688: 0x0040, 0x1689: 0x0040, 0x168a: 0x8915, 0x168b: 0x8715, + 0x168c: 0x8935, 0x168d: 0x88f5, 0x168e: 0x8935, 0x168f: 0x8715, 0x1690: 0x0040, 0x1691: 0x0040, + 0x1692: 0x8955, 0x1693: 0x8975, 0x1694: 0x8875, 0x1695: 0x8935, 0x1696: 0x88f5, 0x1697: 0x8935, + 0x1698: 0x0040, 0x1699: 0x0040, 0x169a: 0x8995, 0x169b: 0x89b5, 0x169c: 0x8995, 0x169d: 0x0040, + 0x169e: 0x0040, 0x169f: 0x0040, 0x16a0: 0xb541, 0x16a1: 0xb559, 0x16a2: 0xb571, 0x16a3: 0x89d6, + 0x16a4: 0xb589, 0x16a5: 0xb5a1, 0x16a6: 0x89f5, 0x16a7: 0x0040, 0x16a8: 0x8a15, 0x16a9: 0x8a35, + 0x16aa: 0x8a55, 0x16ab: 0x8a35, 0x16ac: 0x8a75, 0x16ad: 0x8a95, 0x16ae: 0x8ab5, 0x16af: 0x0040, + 0x16b0: 0x0040, 0x16b1: 0x0040, 0x16b2: 0x0040, 0x16b3: 0x0040, 0x16b4: 0x0040, 0x16b5: 0x0040, + 0x16b6: 0x0040, 0x16b7: 0x0040, 0x16b8: 0x0040, 0x16b9: 0x0340, 0x16ba: 0x0340, 0x16bb: 0x0340, + 0x16bc: 0x0040, 0x16bd: 0x0040, 0x16be: 0x0040, 0x16bf: 0x0040, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x0208, 0x16c1: 0x0208, 0x16c2: 0x0208, 0x16c3: 0x0208, 0x16c4: 0x0208, 0x16c5: 0x0408, + 0x16c6: 0x0008, 0x16c7: 0x0408, 0x16c8: 0x0018, 0x16c9: 0x0408, 0x16ca: 0x0408, 0x16cb: 0x0008, + 0x16cc: 0x0008, 0x16cd: 0x0108, 0x16ce: 0x0408, 0x16cf: 0x0408, 0x16d0: 0x0408, 0x16d1: 0x0408, + 0x16d2: 0x0408, 0x16d3: 0x0208, 0x16d4: 0x0208, 0x16d5: 0x0208, 0x16d6: 0x0208, 0x16d7: 0x0108, + 0x16d8: 0x0208, 0x16d9: 0x0208, 0x16da: 0x0208, 0x16db: 0x0208, 0x16dc: 0x0208, 0x16dd: 0x0408, + 0x16de: 0x0208, 0x16df: 0x0208, 0x16e0: 0x0208, 0x16e1: 0x0408, 0x16e2: 0x0008, 0x16e3: 0x0008, + 0x16e4: 0x0408, 0x16e5: 0x1308, 0x16e6: 0x1308, 0x16e7: 0x0040, 0x16e8: 0x0040, 0x16e9: 0x0040, + 0x16ea: 0x0040, 0x16eb: 0x0218, 0x16ec: 0x0218, 0x16ed: 0x0218, 0x16ee: 0x0218, 0x16ef: 0x0418, + 0x16f0: 0x0018, 0x16f1: 0x0018, 0x16f2: 0x0018, 0x16f3: 0x0018, 0x16f4: 0x0018, 0x16f5: 0x0018, + 0x16f6: 0x0018, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0040, 0x16fa: 0x0040, 0x16fb: 0x0040, + 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040, + // Block 0x5c, offset 0x1700 + 0x1700: 0x0208, 0x1701: 0x0408, 0x1702: 0x0208, 0x1703: 0x0408, 0x1704: 0x0408, 0x1705: 0x0408, + 0x1706: 0x0208, 0x1707: 0x0208, 0x1708: 0x0208, 0x1709: 0x0408, 0x170a: 0x0208, 0x170b: 0x0208, + 0x170c: 0x0408, 0x170d: 0x0208, 0x170e: 0x0408, 0x170f: 0x0408, 0x1710: 0x0208, 0x1711: 0x0408, + 0x1712: 0x0040, 0x1713: 0x0040, 0x1714: 0x0040, 0x1715: 0x0040, 0x1716: 0x0040, 0x1717: 0x0040, + 0x1718: 0x0040, 0x1719: 0x0018, 0x171a: 0x0018, 0x171b: 0x0018, 0x171c: 0x0018, 0x171d: 0x0040, + 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0x0040, 0x1721: 0x0040, 0x1722: 0x0040, 0x1723: 0x0040, + 0x1724: 0x0040, 0x1725: 0x0040, 0x1726: 0x0040, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0418, + 0x172a: 0x0418, 0x172b: 0x0418, 0x172c: 0x0418, 0x172d: 0x0218, 0x172e: 0x0218, 0x172f: 0x0018, + 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, + 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040, + 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, + // Block 0x5d, offset 0x1740 + 0x1740: 0x1308, 0x1741: 0x1308, 0x1742: 0x1008, 0x1743: 0x1008, 0x1744: 0x0040, 0x1745: 0x0008, + 0x1746: 0x0008, 0x1747: 0x0008, 0x1748: 0x0008, 0x1749: 0x0008, 0x174a: 0x0008, 0x174b: 0x0008, + 0x174c: 0x0008, 0x174d: 0x0040, 0x174e: 0x0040, 0x174f: 0x0008, 0x1750: 0x0008, 0x1751: 0x0040, + 0x1752: 0x0040, 0x1753: 0x0008, 0x1754: 0x0008, 0x1755: 0x0008, 0x1756: 0x0008, 0x1757: 0x0008, + 0x1758: 0x0008, 0x1759: 0x0008, 0x175a: 0x0008, 0x175b: 0x0008, 0x175c: 0x0008, 0x175d: 0x0008, + 0x175e: 0x0008, 0x175f: 0x0008, 0x1760: 0x0008, 0x1761: 0x0008, 0x1762: 0x0008, 0x1763: 0x0008, + 0x1764: 0x0008, 0x1765: 0x0008, 0x1766: 0x0008, 0x1767: 0x0008, 0x1768: 0x0008, 0x1769: 0x0040, + 0x176a: 0x0008, 0x176b: 0x0008, 0x176c: 0x0008, 0x176d: 0x0008, 0x176e: 0x0008, 0x176f: 0x0008, + 0x1770: 0x0008, 0x1771: 0x0040, 0x1772: 0x0008, 0x1773: 0x0008, 0x1774: 0x0040, 0x1775: 0x0008, + 0x1776: 0x0008, 0x1777: 0x0008, 0x1778: 0x0008, 0x1779: 0x0008, 0x177a: 0x0040, 0x177b: 0x0040, + 0x177c: 0x1308, 0x177d: 0x0008, 0x177e: 0x1008, 0x177f: 0x1008, + // Block 0x5e, offset 0x1780 + 0x1780: 0x1308, 0x1781: 0x1008, 0x1782: 0x1008, 0x1783: 0x1008, 0x1784: 0x1008, 0x1785: 0x0040, + 0x1786: 0x0040, 0x1787: 0x1008, 0x1788: 0x1008, 0x1789: 0x0040, 0x178a: 0x0040, 0x178b: 0x1008, + 0x178c: 0x1008, 0x178d: 0x1808, 0x178e: 0x0040, 0x178f: 0x0040, 0x1790: 0x0008, 0x1791: 0x0040, + 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x1008, + 0x1798: 0x0040, 0x1799: 0x0040, 0x179a: 0x0040, 0x179b: 0x0040, 0x179c: 0x0040, 0x179d: 0x0008, + 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x1008, 0x17a3: 0x1008, + 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x1308, 0x17a7: 0x1308, 0x17a8: 0x1308, 0x17a9: 0x1308, + 0x17aa: 0x1308, 0x17ab: 0x1308, 0x17ac: 0x1308, 0x17ad: 0x0040, 0x17ae: 0x0040, 0x17af: 0x0040, + 0x17b0: 0x1308, 0x17b1: 0x1308, 0x17b2: 0x1308, 0x17b3: 0x1308, 0x17b4: 0x1308, 0x17b5: 0x0040, + 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, + 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x0039, 0x17c1: 0x0ee9, 0x17c2: 0x1159, 0x17c3: 0x0ef9, 0x17c4: 0x0f09, 0x17c5: 0x1199, + 0x17c6: 0x0f31, 0x17c7: 0x0249, 0x17c8: 0x0f41, 0x17c9: 0x0259, 0x17ca: 0x0f51, 0x17cb: 0x0359, + 0x17cc: 0x0f61, 0x17cd: 0x0f71, 0x17ce: 0x00d9, 0x17cf: 0x0f99, 0x17d0: 0x2039, 0x17d1: 0x0269, + 0x17d2: 0x01d9, 0x17d3: 0x0fa9, 0x17d4: 0x0fb9, 0x17d5: 0x1089, 0x17d6: 0x0279, 0x17d7: 0x0369, + 0x17d8: 0x0289, 0x17d9: 0x13d1, 0x17da: 0x0039, 0x17db: 0x0ee9, 0x17dc: 0x1159, 0x17dd: 0x0ef9, + 0x17de: 0x0f09, 0x17df: 0x1199, 0x17e0: 0x0f31, 0x17e1: 0x0249, 0x17e2: 0x0f41, 0x17e3: 0x0259, + 0x17e4: 0x0f51, 0x17e5: 0x0359, 0x17e6: 0x0f61, 0x17e7: 0x0f71, 0x17e8: 0x00d9, 0x17e9: 0x0f99, + 0x17ea: 0x2039, 0x17eb: 0x0269, 0x17ec: 0x01d9, 0x17ed: 0x0fa9, 0x17ee: 0x0fb9, 0x17ef: 0x1089, + 0x17f0: 0x0279, 0x17f1: 0x0369, 0x17f2: 0x0289, 0x17f3: 0x13d1, 0x17f4: 0x0039, 0x17f5: 0x0ee9, + 0x17f6: 0x1159, 0x17f7: 0x0ef9, 0x17f8: 0x0f09, 0x17f9: 0x1199, 0x17fa: 0x0f31, 0x17fb: 0x0249, + 0x17fc: 0x0f41, 0x17fd: 0x0259, 0x17fe: 0x0f51, 0x17ff: 0x0359, + // Block 0x60, offset 0x1800 + 0x1800: 0x0f61, 0x1801: 0x0f71, 0x1802: 0x00d9, 0x1803: 0x0f99, 0x1804: 0x2039, 0x1805: 0x0269, + 0x1806: 0x01d9, 0x1807: 0x0fa9, 0x1808: 0x0fb9, 0x1809: 0x1089, 0x180a: 0x0279, 0x180b: 0x0369, + 0x180c: 0x0289, 0x180d: 0x13d1, 0x180e: 0x0039, 0x180f: 0x0ee9, 0x1810: 0x1159, 0x1811: 0x0ef9, + 0x1812: 0x0f09, 0x1813: 0x1199, 0x1814: 0x0f31, 0x1815: 0x0040, 0x1816: 0x0f41, 0x1817: 0x0259, + 0x1818: 0x0f51, 0x1819: 0x0359, 0x181a: 0x0f61, 0x181b: 0x0f71, 0x181c: 0x00d9, 0x181d: 0x0f99, + 0x181e: 0x2039, 0x181f: 0x0269, 0x1820: 0x01d9, 0x1821: 0x0fa9, 0x1822: 0x0fb9, 0x1823: 0x1089, + 0x1824: 0x0279, 0x1825: 0x0369, 0x1826: 0x0289, 0x1827: 0x13d1, 0x1828: 0x0039, 0x1829: 0x0ee9, + 0x182a: 0x1159, 0x182b: 0x0ef9, 0x182c: 0x0f09, 0x182d: 0x1199, 0x182e: 0x0f31, 0x182f: 0x0249, + 0x1830: 0x0f41, 0x1831: 0x0259, 0x1832: 0x0f51, 0x1833: 0x0359, 0x1834: 0x0f61, 0x1835: 0x0f71, + 0x1836: 0x00d9, 0x1837: 0x0f99, 0x1838: 0x2039, 0x1839: 0x0269, 0x183a: 0x01d9, 0x183b: 0x0fa9, + 0x183c: 0x0fb9, 0x183d: 0x1089, 0x183e: 0x0279, 0x183f: 0x0369, + // Block 0x61, offset 0x1840 + 0x1840: 0x0289, 0x1841: 0x13d1, 0x1842: 0x0039, 0x1843: 0x0ee9, 0x1844: 0x1159, 0x1845: 0x0ef9, + 0x1846: 0x0f09, 0x1847: 0x1199, 0x1848: 0x0f31, 0x1849: 0x0249, 0x184a: 0x0f41, 0x184b: 0x0259, + 0x184c: 0x0f51, 0x184d: 0x0359, 0x184e: 0x0f61, 0x184f: 0x0f71, 0x1850: 0x00d9, 0x1851: 0x0f99, + 0x1852: 0x2039, 0x1853: 0x0269, 0x1854: 0x01d9, 0x1855: 0x0fa9, 0x1856: 0x0fb9, 0x1857: 0x1089, + 0x1858: 0x0279, 0x1859: 0x0369, 0x185a: 0x0289, 0x185b: 0x13d1, 0x185c: 0x0039, 0x185d: 0x0040, + 0x185e: 0x1159, 0x185f: 0x0ef9, 0x1860: 0x0040, 0x1861: 0x0040, 0x1862: 0x0f31, 0x1863: 0x0040, + 0x1864: 0x0040, 0x1865: 0x0259, 0x1866: 0x0f51, 0x1867: 0x0040, 0x1868: 0x0040, 0x1869: 0x0f71, + 0x186a: 0x00d9, 0x186b: 0x0f99, 0x186c: 0x2039, 0x186d: 0x0040, 0x186e: 0x01d9, 0x186f: 0x0fa9, + 0x1870: 0x0fb9, 0x1871: 0x1089, 0x1872: 0x0279, 0x1873: 0x0369, 0x1874: 0x0289, 0x1875: 0x13d1, + 0x1876: 0x0039, 0x1877: 0x0ee9, 0x1878: 0x1159, 0x1879: 0x0ef9, 0x187a: 0x0040, 0x187b: 0x1199, + 0x187c: 0x0040, 0x187d: 0x0249, 0x187e: 0x0f41, 0x187f: 0x0259, + // Block 0x62, offset 0x1880 + 0x1880: 0x0f51, 0x1881: 0x0359, 0x1882: 0x0f61, 0x1883: 0x0f71, 0x1884: 0x0040, 0x1885: 0x0f99, + 0x1886: 0x2039, 0x1887: 0x0269, 0x1888: 0x01d9, 0x1889: 0x0fa9, 0x188a: 0x0fb9, 0x188b: 0x1089, + 0x188c: 0x0279, 0x188d: 0x0369, 0x188e: 0x0289, 0x188f: 0x13d1, 0x1890: 0x0039, 0x1891: 0x0ee9, + 0x1892: 0x1159, 0x1893: 0x0ef9, 0x1894: 0x0f09, 0x1895: 0x1199, 0x1896: 0x0f31, 0x1897: 0x0249, + 0x1898: 0x0f41, 0x1899: 0x0259, 0x189a: 0x0f51, 0x189b: 0x0359, 0x189c: 0x0f61, 0x189d: 0x0f71, + 0x189e: 0x00d9, 0x189f: 0x0f99, 0x18a0: 0x2039, 0x18a1: 0x0269, 0x18a2: 0x01d9, 0x18a3: 0x0fa9, + 0x18a4: 0x0fb9, 0x18a5: 0x1089, 0x18a6: 0x0279, 0x18a7: 0x0369, 0x18a8: 0x0289, 0x18a9: 0x13d1, + 0x18aa: 0x0039, 0x18ab: 0x0ee9, 0x18ac: 0x1159, 0x18ad: 0x0ef9, 0x18ae: 0x0f09, 0x18af: 0x1199, + 0x18b0: 0x0f31, 0x18b1: 0x0249, 0x18b2: 0x0f41, 0x18b3: 0x0259, 0x18b4: 0x0f51, 0x18b5: 0x0359, + 0x18b6: 0x0f61, 0x18b7: 0x0f71, 0x18b8: 0x00d9, 0x18b9: 0x0f99, 0x18ba: 0x2039, 0x18bb: 0x0269, + 0x18bc: 0x01d9, 0x18bd: 0x0fa9, 0x18be: 0x0fb9, 0x18bf: 0x1089, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x0279, 0x18c1: 0x0369, 0x18c2: 0x0289, 0x18c3: 0x13d1, 0x18c4: 0x0039, 0x18c5: 0x0ee9, + 0x18c6: 0x0040, 0x18c7: 0x0ef9, 0x18c8: 0x0f09, 0x18c9: 0x1199, 0x18ca: 0x0f31, 0x18cb: 0x0040, + 0x18cc: 0x0040, 0x18cd: 0x0259, 0x18ce: 0x0f51, 0x18cf: 0x0359, 0x18d0: 0x0f61, 0x18d1: 0x0f71, + 0x18d2: 0x00d9, 0x18d3: 0x0f99, 0x18d4: 0x2039, 0x18d5: 0x0040, 0x18d6: 0x01d9, 0x18d7: 0x0fa9, + 0x18d8: 0x0fb9, 0x18d9: 0x1089, 0x18da: 0x0279, 0x18db: 0x0369, 0x18dc: 0x0289, 0x18dd: 0x0040, + 0x18de: 0x0039, 0x18df: 0x0ee9, 0x18e0: 0x1159, 0x18e1: 0x0ef9, 0x18e2: 0x0f09, 0x18e3: 0x1199, + 0x18e4: 0x0f31, 0x18e5: 0x0249, 0x18e6: 0x0f41, 0x18e7: 0x0259, 0x18e8: 0x0f51, 0x18e9: 0x0359, + 0x18ea: 0x0f61, 0x18eb: 0x0f71, 0x18ec: 0x00d9, 0x18ed: 0x0f99, 0x18ee: 0x2039, 0x18ef: 0x0269, + 0x18f0: 0x01d9, 0x18f1: 0x0fa9, 0x18f2: 0x0fb9, 0x18f3: 0x1089, 0x18f4: 0x0279, 0x18f5: 0x0369, + 0x18f6: 0x0289, 0x18f7: 0x13d1, 0x18f8: 0x0039, 0x18f9: 0x0ee9, 0x18fa: 0x0040, 0x18fb: 0x0ef9, + 0x18fc: 0x0f09, 0x18fd: 0x1199, 0x18fe: 0x0f31, 0x18ff: 0x0040, + // Block 0x64, offset 0x1900 + 0x1900: 0x0f41, 0x1901: 0x0259, 0x1902: 0x0f51, 0x1903: 0x0359, 0x1904: 0x0f61, 0x1905: 0x0040, + 0x1906: 0x00d9, 0x1907: 0x0040, 0x1908: 0x0040, 0x1909: 0x0040, 0x190a: 0x01d9, 0x190b: 0x0fa9, + 0x190c: 0x0fb9, 0x190d: 0x1089, 0x190e: 0x0279, 0x190f: 0x0369, 0x1910: 0x0289, 0x1911: 0x0040, + 0x1912: 0x0039, 0x1913: 0x0ee9, 0x1914: 0x1159, 0x1915: 0x0ef9, 0x1916: 0x0f09, 0x1917: 0x1199, + 0x1918: 0x0f31, 0x1919: 0x0249, 0x191a: 0x0f41, 0x191b: 0x0259, 0x191c: 0x0f51, 0x191d: 0x0359, + 0x191e: 0x0f61, 0x191f: 0x0f71, 0x1920: 0x00d9, 0x1921: 0x0f99, 0x1922: 0x2039, 0x1923: 0x0269, + 0x1924: 0x01d9, 0x1925: 0x0fa9, 0x1926: 0x0fb9, 0x1927: 0x1089, 0x1928: 0x0279, 0x1929: 0x0369, + 0x192a: 0x0289, 0x192b: 0x13d1, 0x192c: 0x0039, 0x192d: 0x0ee9, 0x192e: 0x1159, 0x192f: 0x0ef9, + 0x1930: 0x0f09, 0x1931: 0x1199, 0x1932: 0x0f31, 0x1933: 0x0249, 0x1934: 0x0f41, 0x1935: 0x0259, + 0x1936: 0x0f51, 0x1937: 0x0359, 0x1938: 0x0f61, 0x1939: 0x0f71, 0x193a: 0x00d9, 0x193b: 0x0f99, + 0x193c: 0x2039, 0x193d: 0x0269, 0x193e: 0x01d9, 0x193f: 0x0fa9, + // Block 0x65, offset 0x1940 + 0x1940: 0x0fb9, 0x1941: 0x1089, 0x1942: 0x0279, 0x1943: 0x0369, 0x1944: 0x0289, 0x1945: 0x13d1, + 0x1946: 0x0039, 0x1947: 0x0ee9, 0x1948: 0x1159, 0x1949: 0x0ef9, 0x194a: 0x0f09, 0x194b: 0x1199, + 0x194c: 0x0f31, 0x194d: 0x0249, 0x194e: 0x0f41, 0x194f: 0x0259, 0x1950: 0x0f51, 0x1951: 0x0359, + 0x1952: 0x0f61, 0x1953: 0x0f71, 0x1954: 0x00d9, 0x1955: 0x0f99, 0x1956: 0x2039, 0x1957: 0x0269, + 0x1958: 0x01d9, 0x1959: 0x0fa9, 0x195a: 0x0fb9, 0x195b: 0x1089, 0x195c: 0x0279, 0x195d: 0x0369, + 0x195e: 0x0289, 0x195f: 0x13d1, 0x1960: 0x0039, 0x1961: 0x0ee9, 0x1962: 0x1159, 0x1963: 0x0ef9, + 0x1964: 0x0f09, 0x1965: 0x1199, 0x1966: 0x0f31, 0x1967: 0x0249, 0x1968: 0x0f41, 0x1969: 0x0259, + 0x196a: 0x0f51, 0x196b: 0x0359, 0x196c: 0x0f61, 0x196d: 0x0f71, 0x196e: 0x00d9, 0x196f: 0x0f99, + 0x1970: 0x2039, 0x1971: 0x0269, 0x1972: 0x01d9, 0x1973: 0x0fa9, 0x1974: 0x0fb9, 0x1975: 0x1089, + 0x1976: 0x0279, 0x1977: 0x0369, 0x1978: 0x0289, 0x1979: 0x13d1, 0x197a: 0x0039, 0x197b: 0x0ee9, + 0x197c: 0x1159, 0x197d: 0x0ef9, 0x197e: 0x0f09, 0x197f: 0x1199, + // Block 0x66, offset 0x1980 + 0x1980: 0x0f31, 0x1981: 0x0249, 0x1982: 0x0f41, 0x1983: 0x0259, 0x1984: 0x0f51, 0x1985: 0x0359, + 0x1986: 0x0f61, 0x1987: 0x0f71, 0x1988: 0x00d9, 0x1989: 0x0f99, 0x198a: 0x2039, 0x198b: 0x0269, + 0x198c: 0x01d9, 0x198d: 0x0fa9, 0x198e: 0x0fb9, 0x198f: 0x1089, 0x1990: 0x0279, 0x1991: 0x0369, + 0x1992: 0x0289, 0x1993: 0x13d1, 0x1994: 0x0039, 0x1995: 0x0ee9, 0x1996: 0x1159, 0x1997: 0x0ef9, + 0x1998: 0x0f09, 0x1999: 0x1199, 0x199a: 0x0f31, 0x199b: 0x0249, 0x199c: 0x0f41, 0x199d: 0x0259, + 0x199e: 0x0f51, 0x199f: 0x0359, 0x19a0: 0x0f61, 0x19a1: 0x0f71, 0x19a2: 0x00d9, 0x19a3: 0x0f99, + 0x19a4: 0x2039, 0x19a5: 0x0269, 0x19a6: 0x01d9, 0x19a7: 0x0fa9, 0x19a8: 0x0fb9, 0x19a9: 0x1089, + 0x19aa: 0x0279, 0x19ab: 0x0369, 0x19ac: 0x0289, 0x19ad: 0x13d1, 0x19ae: 0x0039, 0x19af: 0x0ee9, + 0x19b0: 0x1159, 0x19b1: 0x0ef9, 0x19b2: 0x0f09, 0x19b3: 0x1199, 0x19b4: 0x0f31, 0x19b5: 0x0249, + 0x19b6: 0x0f41, 0x19b7: 0x0259, 0x19b8: 0x0f51, 0x19b9: 0x0359, 0x19ba: 0x0f61, 0x19bb: 0x0f71, + 0x19bc: 0x00d9, 0x19bd: 0x0f99, 0x19be: 0x2039, 0x19bf: 0x0269, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x01d9, 0x19c1: 0x0fa9, 0x19c2: 0x0fb9, 0x19c3: 0x1089, 0x19c4: 0x0279, 0x19c5: 0x0369, + 0x19c6: 0x0289, 0x19c7: 0x13d1, 0x19c8: 0x0039, 0x19c9: 0x0ee9, 0x19ca: 0x1159, 0x19cb: 0x0ef9, + 0x19cc: 0x0f09, 0x19cd: 0x1199, 0x19ce: 0x0f31, 0x19cf: 0x0249, 0x19d0: 0x0f41, 0x19d1: 0x0259, + 0x19d2: 0x0f51, 0x19d3: 0x0359, 0x19d4: 0x0f61, 0x19d5: 0x0f71, 0x19d6: 0x00d9, 0x19d7: 0x0f99, + 0x19d8: 0x2039, 0x19d9: 0x0269, 0x19da: 0x01d9, 0x19db: 0x0fa9, 0x19dc: 0x0fb9, 0x19dd: 0x1089, + 0x19de: 0x0279, 0x19df: 0x0369, 0x19e0: 0x0289, 0x19e1: 0x13d1, 0x19e2: 0x0039, 0x19e3: 0x0ee9, + 0x19e4: 0x1159, 0x19e5: 0x0ef9, 0x19e6: 0x0f09, 0x19e7: 0x1199, 0x19e8: 0x0f31, 0x19e9: 0x0249, + 0x19ea: 0x0f41, 0x19eb: 0x0259, 0x19ec: 0x0f51, 0x19ed: 0x0359, 0x19ee: 0x0f61, 0x19ef: 0x0f71, + 0x19f0: 0x00d9, 0x19f1: 0x0f99, 0x19f2: 0x2039, 0x19f3: 0x0269, 0x19f4: 0x01d9, 0x19f5: 0x0fa9, + 0x19f6: 0x0fb9, 0x19f7: 0x1089, 0x19f8: 0x0279, 0x19f9: 0x0369, 0x19fa: 0x0289, 0x19fb: 0x13d1, + 0x19fc: 0x0039, 0x19fd: 0x0ee9, 0x19fe: 0x1159, 0x19ff: 0x0ef9, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x0f09, 0x1a01: 0x1199, 0x1a02: 0x0f31, 0x1a03: 0x0249, 0x1a04: 0x0f41, 0x1a05: 0x0259, + 0x1a06: 0x0f51, 0x1a07: 0x0359, 0x1a08: 0x0f61, 0x1a09: 0x0f71, 0x1a0a: 0x00d9, 0x1a0b: 0x0f99, + 0x1a0c: 0x2039, 0x1a0d: 0x0269, 0x1a0e: 0x01d9, 0x1a0f: 0x0fa9, 0x1a10: 0x0fb9, 0x1a11: 0x1089, + 0x1a12: 0x0279, 0x1a13: 0x0369, 0x1a14: 0x0289, 0x1a15: 0x13d1, 0x1a16: 0x0039, 0x1a17: 0x0ee9, + 0x1a18: 0x1159, 0x1a19: 0x0ef9, 0x1a1a: 0x0f09, 0x1a1b: 0x1199, 0x1a1c: 0x0f31, 0x1a1d: 0x0249, + 0x1a1e: 0x0f41, 0x1a1f: 0x0259, 0x1a20: 0x0f51, 0x1a21: 0x0359, 0x1a22: 0x0f61, 0x1a23: 0x0f71, + 0x1a24: 0x00d9, 0x1a25: 0x0f99, 0x1a26: 0x2039, 0x1a27: 0x0269, 0x1a28: 0x01d9, 0x1a29: 0x0fa9, + 0x1a2a: 0x0fb9, 0x1a2b: 0x1089, 0x1a2c: 0x0279, 0x1a2d: 0x0369, 0x1a2e: 0x0289, 0x1a2f: 0x13d1, + 0x1a30: 0x0039, 0x1a31: 0x0ee9, 0x1a32: 0x1159, 0x1a33: 0x0ef9, 0x1a34: 0x0f09, 0x1a35: 0x1199, + 0x1a36: 0x0f31, 0x1a37: 0x0249, 0x1a38: 0x0f41, 0x1a39: 0x0259, 0x1a3a: 0x0f51, 0x1a3b: 0x0359, + 0x1a3c: 0x0f61, 0x1a3d: 0x0f71, 0x1a3e: 0x00d9, 0x1a3f: 0x0f99, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x2039, 0x1a41: 0x0269, 0x1a42: 0x01d9, 0x1a43: 0x0fa9, 0x1a44: 0x0fb9, 0x1a45: 0x1089, + 0x1a46: 0x0279, 0x1a47: 0x0369, 0x1a48: 0x0289, 0x1a49: 0x13d1, 0x1a4a: 0x0039, 0x1a4b: 0x0ee9, + 0x1a4c: 0x1159, 0x1a4d: 0x0ef9, 0x1a4e: 0x0f09, 0x1a4f: 0x1199, 0x1a50: 0x0f31, 0x1a51: 0x0249, + 0x1a52: 0x0f41, 0x1a53: 0x0259, 0x1a54: 0x0f51, 0x1a55: 0x0359, 0x1a56: 0x0f61, 0x1a57: 0x0f71, + 0x1a58: 0x00d9, 0x1a59: 0x0f99, 0x1a5a: 0x2039, 0x1a5b: 0x0269, 0x1a5c: 0x01d9, 0x1a5d: 0x0fa9, + 0x1a5e: 0x0fb9, 0x1a5f: 0x1089, 0x1a60: 0x0279, 0x1a61: 0x0369, 0x1a62: 0x0289, 0x1a63: 0x13d1, + 0x1a64: 0xba81, 0x1a65: 0xba99, 0x1a66: 0x0040, 0x1a67: 0x0040, 0x1a68: 0xbab1, 0x1a69: 0x1099, + 0x1a6a: 0x10b1, 0x1a6b: 0x10c9, 0x1a6c: 0xbac9, 0x1a6d: 0xbae1, 0x1a6e: 0xbaf9, 0x1a6f: 0x1429, + 0x1a70: 0x1a31, 0x1a71: 0xbb11, 0x1a72: 0xbb29, 0x1a73: 0xbb41, 0x1a74: 0xbb59, 0x1a75: 0xbb71, + 0x1a76: 0xbb89, 0x1a77: 0x2109, 0x1a78: 0x1111, 0x1a79: 0x1429, 0x1a7a: 0xbba1, 0x1a7b: 0xbbb9, + 0x1a7c: 0xbbd1, 0x1a7d: 0x10e1, 0x1a7e: 0x10f9, 0x1a7f: 0xbbe9, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x2079, 0x1a81: 0xbc01, 0x1a82: 0xbab1, 0x1a83: 0x1099, 0x1a84: 0x10b1, 0x1a85: 0x10c9, + 0x1a86: 0xbac9, 0x1a87: 0xbae1, 0x1a88: 0xbaf9, 0x1a89: 0x1429, 0x1a8a: 0x1a31, 0x1a8b: 0xbb11, + 0x1a8c: 0xbb29, 0x1a8d: 0xbb41, 0x1a8e: 0xbb59, 0x1a8f: 0xbb71, 0x1a90: 0xbb89, 0x1a91: 0x2109, + 0x1a92: 0x1111, 0x1a93: 0xbba1, 0x1a94: 0xbba1, 0x1a95: 0xbbb9, 0x1a96: 0xbbd1, 0x1a97: 0x10e1, + 0x1a98: 0x10f9, 0x1a99: 0xbbe9, 0x1a9a: 0x2079, 0x1a9b: 0xbc21, 0x1a9c: 0xbac9, 0x1a9d: 0x1429, + 0x1a9e: 0xbb11, 0x1a9f: 0x10e1, 0x1aa0: 0x1111, 0x1aa1: 0x2109, 0x1aa2: 0xbab1, 0x1aa3: 0x1099, + 0x1aa4: 0x10b1, 0x1aa5: 0x10c9, 0x1aa6: 0xbac9, 0x1aa7: 0xbae1, 0x1aa8: 0xbaf9, 0x1aa9: 0x1429, + 0x1aaa: 0x1a31, 0x1aab: 0xbb11, 0x1aac: 0xbb29, 0x1aad: 0xbb41, 0x1aae: 0xbb59, 0x1aaf: 0xbb71, + 0x1ab0: 0xbb89, 0x1ab1: 0x2109, 0x1ab2: 0x1111, 0x1ab3: 0x1429, 0x1ab4: 0xbba1, 0x1ab5: 0xbbb9, + 0x1ab6: 0xbbd1, 0x1ab7: 0x10e1, 0x1ab8: 0x10f9, 0x1ab9: 0xbbe9, 0x1aba: 0x2079, 0x1abb: 0xbc01, + 0x1abc: 0xbab1, 0x1abd: 0x1099, 0x1abe: 0x10b1, 0x1abf: 0x10c9, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0xbac9, 0x1ac1: 0xbae1, 0x1ac2: 0xbaf9, 0x1ac3: 0x1429, 0x1ac4: 0x1a31, 0x1ac5: 0xbb11, + 0x1ac6: 0xbb29, 0x1ac7: 0xbb41, 0x1ac8: 0xbb59, 0x1ac9: 0xbb71, 0x1aca: 0xbb89, 0x1acb: 0x2109, + 0x1acc: 0x1111, 0x1acd: 0xbba1, 0x1ace: 0xbba1, 0x1acf: 0xbbb9, 0x1ad0: 0xbbd1, 0x1ad1: 0x10e1, + 0x1ad2: 0x10f9, 0x1ad3: 0xbbe9, 0x1ad4: 0x2079, 0x1ad5: 0xbc21, 0x1ad6: 0xbac9, 0x1ad7: 0x1429, + 0x1ad8: 0xbb11, 0x1ad9: 0x10e1, 0x1ada: 0x1111, 0x1adb: 0x2109, 0x1adc: 0xbab1, 0x1add: 0x1099, + 0x1ade: 0x10b1, 0x1adf: 0x10c9, 0x1ae0: 0xbac9, 0x1ae1: 0xbae1, 0x1ae2: 0xbaf9, 0x1ae3: 0x1429, + 0x1ae4: 0x1a31, 0x1ae5: 0xbb11, 0x1ae6: 0xbb29, 0x1ae7: 0xbb41, 0x1ae8: 0xbb59, 0x1ae9: 0xbb71, + 0x1aea: 0xbb89, 0x1aeb: 0x2109, 0x1aec: 0x1111, 0x1aed: 0x1429, 0x1aee: 0xbba1, 0x1aef: 0xbbb9, + 0x1af0: 0xbbd1, 0x1af1: 0x10e1, 0x1af2: 0x10f9, 0x1af3: 0xbbe9, 0x1af4: 0x2079, 0x1af5: 0xbc01, + 0x1af6: 0xbab1, 0x1af7: 0x1099, 0x1af8: 0x10b1, 0x1af9: 0x10c9, 0x1afa: 0xbac9, 0x1afb: 0xbae1, + 0x1afc: 0xbaf9, 0x1afd: 0x1429, 0x1afe: 0x1a31, 0x1aff: 0xbb11, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0xbb29, 0x1b01: 0xbb41, 0x1b02: 0xbb59, 0x1b03: 0xbb71, 0x1b04: 0xbb89, 0x1b05: 0x2109, + 0x1b06: 0x1111, 0x1b07: 0xbba1, 0x1b08: 0xbba1, 0x1b09: 0xbbb9, 0x1b0a: 0xbbd1, 0x1b0b: 0x10e1, + 0x1b0c: 0x10f9, 0x1b0d: 0xbbe9, 0x1b0e: 0x2079, 0x1b0f: 0xbc21, 0x1b10: 0xbac9, 0x1b11: 0x1429, + 0x1b12: 0xbb11, 0x1b13: 0x10e1, 0x1b14: 0x1111, 0x1b15: 0x2109, 0x1b16: 0xbab1, 0x1b17: 0x1099, + 0x1b18: 0x10b1, 0x1b19: 0x10c9, 0x1b1a: 0xbac9, 0x1b1b: 0xbae1, 0x1b1c: 0xbaf9, 0x1b1d: 0x1429, + 0x1b1e: 0x1a31, 0x1b1f: 0xbb11, 0x1b20: 0xbb29, 0x1b21: 0xbb41, 0x1b22: 0xbb59, 0x1b23: 0xbb71, + 0x1b24: 0xbb89, 0x1b25: 0x2109, 0x1b26: 0x1111, 0x1b27: 0x1429, 0x1b28: 0xbba1, 0x1b29: 0xbbb9, + 0x1b2a: 0xbbd1, 0x1b2b: 0x10e1, 0x1b2c: 0x10f9, 0x1b2d: 0xbbe9, 0x1b2e: 0x2079, 0x1b2f: 0xbc01, + 0x1b30: 0xbab1, 0x1b31: 0x1099, 0x1b32: 0x10b1, 0x1b33: 0x10c9, 0x1b34: 0xbac9, 0x1b35: 0xbae1, + 0x1b36: 0xbaf9, 0x1b37: 0x1429, 0x1b38: 0x1a31, 0x1b39: 0xbb11, 0x1b3a: 0xbb29, 0x1b3b: 0xbb41, + 0x1b3c: 0xbb59, 0x1b3d: 0xbb71, 0x1b3e: 0xbb89, 0x1b3f: 0x2109, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x1111, 0x1b41: 0xbba1, 0x1b42: 0xbba1, 0x1b43: 0xbbb9, 0x1b44: 0xbbd1, 0x1b45: 0x10e1, + 0x1b46: 0x10f9, 0x1b47: 0xbbe9, 0x1b48: 0x2079, 0x1b49: 0xbc21, 0x1b4a: 0xbac9, 0x1b4b: 0x1429, + 0x1b4c: 0xbb11, 0x1b4d: 0x10e1, 0x1b4e: 0x1111, 0x1b4f: 0x2109, 0x1b50: 0xbab1, 0x1b51: 0x1099, + 0x1b52: 0x10b1, 0x1b53: 0x10c9, 0x1b54: 0xbac9, 0x1b55: 0xbae1, 0x1b56: 0xbaf9, 0x1b57: 0x1429, + 0x1b58: 0x1a31, 0x1b59: 0xbb11, 0x1b5a: 0xbb29, 0x1b5b: 0xbb41, 0x1b5c: 0xbb59, 0x1b5d: 0xbb71, + 0x1b5e: 0xbb89, 0x1b5f: 0x2109, 0x1b60: 0x1111, 0x1b61: 0x1429, 0x1b62: 0xbba1, 0x1b63: 0xbbb9, + 0x1b64: 0xbbd1, 0x1b65: 0x10e1, 0x1b66: 0x10f9, 0x1b67: 0xbbe9, 0x1b68: 0x2079, 0x1b69: 0xbc01, + 0x1b6a: 0xbab1, 0x1b6b: 0x1099, 0x1b6c: 0x10b1, 0x1b6d: 0x10c9, 0x1b6e: 0xbac9, 0x1b6f: 0xbae1, + 0x1b70: 0xbaf9, 0x1b71: 0x1429, 0x1b72: 0x1a31, 0x1b73: 0xbb11, 0x1b74: 0xbb29, 0x1b75: 0xbb41, + 0x1b76: 0xbb59, 0x1b77: 0xbb71, 0x1b78: 0xbb89, 0x1b79: 0x2109, 0x1b7a: 0x1111, 0x1b7b: 0xbba1, + 0x1b7c: 0xbba1, 0x1b7d: 0xbbb9, 0x1b7e: 0xbbd1, 0x1b7f: 0x10e1, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x10f9, 0x1b81: 0xbbe9, 0x1b82: 0x2079, 0x1b83: 0xbc21, 0x1b84: 0xbac9, 0x1b85: 0x1429, + 0x1b86: 0xbb11, 0x1b87: 0x10e1, 0x1b88: 0x1111, 0x1b89: 0x2109, 0x1b8a: 0xbc41, 0x1b8b: 0xbc41, + 0x1b8c: 0x0040, 0x1b8d: 0x0040, 0x1b8e: 0x1f41, 0x1b8f: 0x00c9, 0x1b90: 0x0069, 0x1b91: 0x0079, + 0x1b92: 0x1f51, 0x1b93: 0x1f61, 0x1b94: 0x1f71, 0x1b95: 0x1f81, 0x1b96: 0x1f91, 0x1b97: 0x1fa1, + 0x1b98: 0x1f41, 0x1b99: 0x00c9, 0x1b9a: 0x0069, 0x1b9b: 0x0079, 0x1b9c: 0x1f51, 0x1b9d: 0x1f61, + 0x1b9e: 0x1f71, 0x1b9f: 0x1f81, 0x1ba0: 0x1f91, 0x1ba1: 0x1fa1, 0x1ba2: 0x1f41, 0x1ba3: 0x00c9, + 0x1ba4: 0x0069, 0x1ba5: 0x0079, 0x1ba6: 0x1f51, 0x1ba7: 0x1f61, 0x1ba8: 0x1f71, 0x1ba9: 0x1f81, + 0x1baa: 0x1f91, 0x1bab: 0x1fa1, 0x1bac: 0x1f41, 0x1bad: 0x00c9, 0x1bae: 0x0069, 0x1baf: 0x0079, + 0x1bb0: 0x1f51, 0x1bb1: 0x1f61, 0x1bb2: 0x1f71, 0x1bb3: 0x1f81, 0x1bb4: 0x1f91, 0x1bb5: 0x1fa1, + 0x1bb6: 0x1f41, 0x1bb7: 0x00c9, 0x1bb8: 0x0069, 0x1bb9: 0x0079, 0x1bba: 0x1f51, 0x1bbb: 0x1f61, + 0x1bbc: 0x1f71, 0x1bbd: 0x1f81, 0x1bbe: 0x1f91, 0x1bbf: 0x1fa1, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0xe115, 0x1bc1: 0xe115, 0x1bc2: 0xe135, 0x1bc3: 0xe135, 0x1bc4: 0xe115, 0x1bc5: 0xe115, + 0x1bc6: 0xe175, 0x1bc7: 0xe175, 0x1bc8: 0xe115, 0x1bc9: 0xe115, 0x1bca: 0xe135, 0x1bcb: 0xe135, + 0x1bcc: 0xe115, 0x1bcd: 0xe115, 0x1bce: 0xe1f5, 0x1bcf: 0xe1f5, 0x1bd0: 0xe115, 0x1bd1: 0xe115, + 0x1bd2: 0xe135, 0x1bd3: 0xe135, 0x1bd4: 0xe115, 0x1bd5: 0xe115, 0x1bd6: 0xe175, 0x1bd7: 0xe175, + 0x1bd8: 0xe115, 0x1bd9: 0xe115, 0x1bda: 0xe135, 0x1bdb: 0xe135, 0x1bdc: 0xe115, 0x1bdd: 0xe115, + 0x1bde: 0x8b05, 0x1bdf: 0x8b05, 0x1be0: 0x04b5, 0x1be1: 0x04b5, 0x1be2: 0x0208, 0x1be3: 0x0208, + 0x1be4: 0x0208, 0x1be5: 0x0208, 0x1be6: 0x0208, 0x1be7: 0x0208, 0x1be8: 0x0208, 0x1be9: 0x0208, + 0x1bea: 0x0208, 0x1beb: 0x0208, 0x1bec: 0x0208, 0x1bed: 0x0208, 0x1bee: 0x0208, 0x1bef: 0x0208, + 0x1bf0: 0x0208, 0x1bf1: 0x0208, 0x1bf2: 0x0208, 0x1bf3: 0x0208, 0x1bf4: 0x0208, 0x1bf5: 0x0208, + 0x1bf6: 0x0208, 0x1bf7: 0x0208, 0x1bf8: 0x0208, 0x1bf9: 0x0208, 0x1bfa: 0x0208, 0x1bfb: 0x0208, + 0x1bfc: 0x0208, 0x1bfd: 0x0208, 0x1bfe: 0x0208, 0x1bff: 0x0208, + // Block 0x70, offset 0x1c00 + 0x1c00: 0xb189, 0x1c01: 0xb1a1, 0x1c02: 0xb201, 0x1c03: 0xb249, 0x1c04: 0x0040, 0x1c05: 0xb411, + 0x1c06: 0xb291, 0x1c07: 0xb219, 0x1c08: 0xb309, 0x1c09: 0xb429, 0x1c0a: 0xb399, 0x1c0b: 0xb3b1, + 0x1c0c: 0xb3c9, 0x1c0d: 0xb3e1, 0x1c0e: 0xb2a9, 0x1c0f: 0xb339, 0x1c10: 0xb369, 0x1c11: 0xb2d9, + 0x1c12: 0xb381, 0x1c13: 0xb279, 0x1c14: 0xb2c1, 0x1c15: 0xb1d1, 0x1c16: 0xb1e9, 0x1c17: 0xb231, + 0x1c18: 0xb261, 0x1c19: 0xb2f1, 0x1c1a: 0xb321, 0x1c1b: 0xb351, 0x1c1c: 0xbc59, 0x1c1d: 0x7949, + 0x1c1e: 0xbc71, 0x1c1f: 0xbc89, 0x1c20: 0x0040, 0x1c21: 0xb1a1, 0x1c22: 0xb201, 0x1c23: 0x0040, + 0x1c24: 0xb3f9, 0x1c25: 0x0040, 0x1c26: 0x0040, 0x1c27: 0xb219, 0x1c28: 0x0040, 0x1c29: 0xb429, + 0x1c2a: 0xb399, 0x1c2b: 0xb3b1, 0x1c2c: 0xb3c9, 0x1c2d: 0xb3e1, 0x1c2e: 0xb2a9, 0x1c2f: 0xb339, + 0x1c30: 0xb369, 0x1c31: 0xb2d9, 0x1c32: 0xb381, 0x1c33: 0x0040, 0x1c34: 0xb2c1, 0x1c35: 0xb1d1, + 0x1c36: 0xb1e9, 0x1c37: 0xb231, 0x1c38: 0x0040, 0x1c39: 0xb2f1, 0x1c3a: 0x0040, 0x1c3b: 0xb351, + 0x1c3c: 0x0040, 0x1c3d: 0x0040, 0x1c3e: 0x0040, 0x1c3f: 0x0040, + // Block 0x71, offset 0x1c40 + 0x1c40: 0x0040, 0x1c41: 0x0040, 0x1c42: 0xb201, 0x1c43: 0x0040, 0x1c44: 0x0040, 0x1c45: 0x0040, + 0x1c46: 0x0040, 0x1c47: 0xb219, 0x1c48: 0x0040, 0x1c49: 0xb429, 0x1c4a: 0x0040, 0x1c4b: 0xb3b1, + 0x1c4c: 0x0040, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0x0040, 0x1c51: 0xb2d9, + 0x1c52: 0xb381, 0x1c53: 0x0040, 0x1c54: 0xb2c1, 0x1c55: 0x0040, 0x1c56: 0x0040, 0x1c57: 0xb231, + 0x1c58: 0x0040, 0x1c59: 0xb2f1, 0x1c5a: 0x0040, 0x1c5b: 0xb351, 0x1c5c: 0x0040, 0x1c5d: 0x7949, + 0x1c5e: 0x0040, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040, + 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0xb309, 0x1c69: 0xb429, + 0x1c6a: 0xb399, 0x1c6b: 0x0040, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339, + 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1, + 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0xb321, 0x1c7b: 0xb351, + 0x1c7c: 0xbc59, 0x1c7d: 0x0040, 0x1c7e: 0xbc71, 0x1c7f: 0x0040, + // Block 0x72, offset 0x1c80 + 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0xb3f9, 0x1c85: 0xb411, + 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1, + 0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9, + 0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231, + 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x0040, + 0x1c9e: 0x0040, 0x1c9f: 0x0040, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0xb249, + 0x1ca4: 0x0040, 0x1ca5: 0xb411, 0x1ca6: 0xb291, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429, + 0x1caa: 0x0040, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, + 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0xb279, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, + 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0xb261, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351, + 0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x0040, 0x1cc1: 0xbca2, 0x1cc2: 0xbcba, 0x1cc3: 0xbcd2, 0x1cc4: 0xbcea, 0x1cc5: 0xbd02, + 0x1cc6: 0xbd1a, 0x1cc7: 0xbd32, 0x1cc8: 0xbd4a, 0x1cc9: 0xbd62, 0x1cca: 0xbd7a, 0x1ccb: 0x0018, + 0x1ccc: 0x0018, 0x1ccd: 0x0040, 0x1cce: 0x0040, 0x1ccf: 0x0040, 0x1cd0: 0xbd92, 0x1cd1: 0xbdb2, + 0x1cd2: 0xbdd2, 0x1cd3: 0xbdf2, 0x1cd4: 0xbe12, 0x1cd5: 0xbe32, 0x1cd6: 0xbe52, 0x1cd7: 0xbe72, + 0x1cd8: 0xbe92, 0x1cd9: 0xbeb2, 0x1cda: 0xbed2, 0x1cdb: 0xbef2, 0x1cdc: 0xbf12, 0x1cdd: 0xbf32, + 0x1cde: 0xbf52, 0x1cdf: 0xbf72, 0x1ce0: 0xbf92, 0x1ce1: 0xbfb2, 0x1ce2: 0xbfd2, 0x1ce3: 0xbff2, + 0x1ce4: 0xc012, 0x1ce5: 0xc032, 0x1ce6: 0xc052, 0x1ce7: 0xc072, 0x1ce8: 0xc092, 0x1ce9: 0xc0b2, + 0x1cea: 0xc0d1, 0x1ceb: 0x1159, 0x1cec: 0x0269, 0x1ced: 0x6671, 0x1cee: 0xc111, 0x1cef: 0x0040, + 0x1cf0: 0x0039, 0x1cf1: 0x0ee9, 0x1cf2: 0x1159, 0x1cf3: 0x0ef9, 0x1cf4: 0x0f09, 0x1cf5: 0x1199, + 0x1cf6: 0x0f31, 0x1cf7: 0x0249, 0x1cf8: 0x0f41, 0x1cf9: 0x0259, 0x1cfa: 0x0f51, 0x1cfb: 0x0359, + 0x1cfc: 0x0f61, 0x1cfd: 0x0f71, 0x1cfe: 0x00d9, 0x1cff: 0x0f99, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x2039, 0x1d01: 0x0269, 0x1d02: 0x01d9, 0x1d03: 0x0fa9, 0x1d04: 0x0fb9, 0x1d05: 0x1089, + 0x1d06: 0x0279, 0x1d07: 0x0369, 0x1d08: 0x0289, 0x1d09: 0x13d1, 0x1d0a: 0xc129, 0x1d0b: 0x65b1, + 0x1d0c: 0xc141, 0x1d0d: 0x1441, 0x1d0e: 0xc159, 0x1d0f: 0xc179, 0x1d10: 0x0018, 0x1d11: 0x0018, + 0x1d12: 0x0018, 0x1d13: 0x0018, 0x1d14: 0x0018, 0x1d15: 0x0018, 0x1d16: 0x0018, 0x1d17: 0x0018, + 0x1d18: 0x0018, 0x1d19: 0x0018, 0x1d1a: 0x0018, 0x1d1b: 0x0018, 0x1d1c: 0x0018, 0x1d1d: 0x0018, + 0x1d1e: 0x0018, 0x1d1f: 0x0018, 0x1d20: 0x0018, 0x1d21: 0x0018, 0x1d22: 0x0018, 0x1d23: 0x0018, + 0x1d24: 0x0018, 0x1d25: 0x0018, 0x1d26: 0x0018, 0x1d27: 0x0018, 0x1d28: 0x0018, 0x1d29: 0x0018, + 0x1d2a: 0xc191, 0x1d2b: 0xc1a9, 0x1d2c: 0x0040, 0x1d2d: 0x0040, 0x1d2e: 0x0040, 0x1d2f: 0x0040, + 0x1d30: 0x0018, 0x1d31: 0x0018, 0x1d32: 0x0018, 0x1d33: 0x0018, 0x1d34: 0x0018, 0x1d35: 0x0018, + 0x1d36: 0x0018, 0x1d37: 0x0018, 0x1d38: 0x0018, 0x1d39: 0x0018, 0x1d3a: 0x0018, 0x1d3b: 0x0018, + 0x1d3c: 0x0018, 0x1d3d: 0x0018, 0x1d3e: 0x0018, 0x1d3f: 0x0018, + // Block 0x75, offset 0x1d40 + 0x1d40: 0xc1d9, 0x1d41: 0xc211, 0x1d42: 0xc249, 0x1d43: 0x0040, 0x1d44: 0x0040, 0x1d45: 0x0040, + 0x1d46: 0x0040, 0x1d47: 0x0040, 0x1d48: 0x0040, 0x1d49: 0x0040, 0x1d4a: 0x0040, 0x1d4b: 0x0040, + 0x1d4c: 0x0040, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xc269, 0x1d51: 0xc289, + 0x1d52: 0xc2a9, 0x1d53: 0xc2c9, 0x1d54: 0xc2e9, 0x1d55: 0xc309, 0x1d56: 0xc329, 0x1d57: 0xc349, + 0x1d58: 0xc369, 0x1d59: 0xc389, 0x1d5a: 0xc3a9, 0x1d5b: 0xc3c9, 0x1d5c: 0xc3e9, 0x1d5d: 0xc409, + 0x1d5e: 0xc429, 0x1d5f: 0xc449, 0x1d60: 0xc469, 0x1d61: 0xc489, 0x1d62: 0xc4a9, 0x1d63: 0xc4c9, + 0x1d64: 0xc4e9, 0x1d65: 0xc509, 0x1d66: 0xc529, 0x1d67: 0xc549, 0x1d68: 0xc569, 0x1d69: 0xc589, + 0x1d6a: 0xc5a9, 0x1d6b: 0xc5c9, 0x1d6c: 0xc5e9, 0x1d6d: 0xc609, 0x1d6e: 0xc629, 0x1d6f: 0xc649, + 0x1d70: 0xc669, 0x1d71: 0xc689, 0x1d72: 0xc6a9, 0x1d73: 0xc6c9, 0x1d74: 0xc6e9, 0x1d75: 0xc709, + 0x1d76: 0xc729, 0x1d77: 0xc749, 0x1d78: 0xc769, 0x1d79: 0xc789, 0x1d7a: 0xc7a9, 0x1d7b: 0xc7c9, + 0x1d7c: 0x0040, 0x1d7d: 0x0040, 0x1d7e: 0x0040, 0x1d7f: 0x0040, + // Block 0x76, offset 0x1d80 + 0x1d80: 0xcaf9, 0x1d81: 0xcb19, 0x1d82: 0xcb39, 0x1d83: 0x8b1d, 0x1d84: 0xcb59, 0x1d85: 0xcb79, + 0x1d86: 0xcb99, 0x1d87: 0xcbb9, 0x1d88: 0xcbd9, 0x1d89: 0xcbf9, 0x1d8a: 0xcc19, 0x1d8b: 0xcc39, + 0x1d8c: 0xcc59, 0x1d8d: 0x8b3d, 0x1d8e: 0xcc79, 0x1d8f: 0xcc99, 0x1d90: 0xccb9, 0x1d91: 0xccd9, + 0x1d92: 0x8b5d, 0x1d93: 0xccf9, 0x1d94: 0xcd19, 0x1d95: 0xc429, 0x1d96: 0x8b7d, 0x1d97: 0xcd39, + 0x1d98: 0xcd59, 0x1d99: 0xcd79, 0x1d9a: 0xcd99, 0x1d9b: 0xcdb9, 0x1d9c: 0x8b9d, 0x1d9d: 0xcdd9, + 0x1d9e: 0xcdf9, 0x1d9f: 0xce19, 0x1da0: 0xce39, 0x1da1: 0xce59, 0x1da2: 0xc789, 0x1da3: 0xce79, + 0x1da4: 0xce99, 0x1da5: 0xceb9, 0x1da6: 0xced9, 0x1da7: 0xcef9, 0x1da8: 0xcf19, 0x1da9: 0xcf39, + 0x1daa: 0xcf59, 0x1dab: 0xcf79, 0x1dac: 0xcf99, 0x1dad: 0xcfb9, 0x1dae: 0xcfd9, 0x1daf: 0xcff9, + 0x1db0: 0xd019, 0x1db1: 0xd039, 0x1db2: 0xd039, 0x1db3: 0xd039, 0x1db4: 0x8bbd, 0x1db5: 0xd059, + 0x1db6: 0xd079, 0x1db7: 0xd099, 0x1db8: 0x8bdd, 0x1db9: 0xd0b9, 0x1dba: 0xd0d9, 0x1dbb: 0xd0f9, + 0x1dbc: 0xd119, 0x1dbd: 0xd139, 0x1dbe: 0xd159, 0x1dbf: 0xd179, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xd199, 0x1dc1: 0xd1b9, 0x1dc2: 0xd1d9, 0x1dc3: 0xd1f9, 0x1dc4: 0xd219, 0x1dc5: 0xd239, + 0x1dc6: 0xd239, 0x1dc7: 0xd259, 0x1dc8: 0xd279, 0x1dc9: 0xd299, 0x1dca: 0xd2b9, 0x1dcb: 0xd2d9, + 0x1dcc: 0xd2f9, 0x1dcd: 0xd319, 0x1dce: 0xd339, 0x1dcf: 0xd359, 0x1dd0: 0xd379, 0x1dd1: 0xd399, + 0x1dd2: 0xd3b9, 0x1dd3: 0xd3d9, 0x1dd4: 0xd3f9, 0x1dd5: 0xd419, 0x1dd6: 0xd439, 0x1dd7: 0xd459, + 0x1dd8: 0xd479, 0x1dd9: 0x8bfd, 0x1dda: 0xd499, 0x1ddb: 0xd4b9, 0x1ddc: 0xd4d9, 0x1ddd: 0xc309, + 0x1dde: 0xd4f9, 0x1ddf: 0xd519, 0x1de0: 0x8c1d, 0x1de1: 0x8c3d, 0x1de2: 0xd539, 0x1de3: 0xd559, + 0x1de4: 0xd579, 0x1de5: 0xd599, 0x1de6: 0xd5b9, 0x1de7: 0xd5d9, 0x1de8: 0x0040, 0x1de9: 0xd5f9, + 0x1dea: 0xd619, 0x1deb: 0xd619, 0x1dec: 0x8c5d, 0x1ded: 0xd639, 0x1dee: 0xd659, 0x1def: 0xd679, + 0x1df0: 0xd699, 0x1df1: 0x8c7d, 0x1df2: 0xd6b9, 0x1df3: 0xd6d9, 0x1df4: 0x0040, 0x1df5: 0xd6f9, + 0x1df6: 0xd719, 0x1df7: 0xd739, 0x1df8: 0xd759, 0x1df9: 0xd779, 0x1dfa: 0xd799, 0x1dfb: 0x8c9d, + 0x1dfc: 0xd7b9, 0x1dfd: 0x8cbd, 0x1dfe: 0xd7d9, 0x1dff: 0xd7f9, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xd819, 0x1e01: 0xd839, 0x1e02: 0xd859, 0x1e03: 0xd879, 0x1e04: 0xd899, 0x1e05: 0xd8b9, + 0x1e06: 0xd8d9, 0x1e07: 0xd8f9, 0x1e08: 0xd919, 0x1e09: 0x8cdd, 0x1e0a: 0xd939, 0x1e0b: 0xd959, + 0x1e0c: 0xd979, 0x1e0d: 0xd999, 0x1e0e: 0xd9b9, 0x1e0f: 0x8cfd, 0x1e10: 0xd9d9, 0x1e11: 0x8d1d, + 0x1e12: 0x8d3d, 0x1e13: 0xd9f9, 0x1e14: 0xda19, 0x1e15: 0xda19, 0x1e16: 0xda39, 0x1e17: 0x8d5d, + 0x1e18: 0x8d7d, 0x1e19: 0xda59, 0x1e1a: 0xda79, 0x1e1b: 0xda99, 0x1e1c: 0xdab9, 0x1e1d: 0xdad9, + 0x1e1e: 0xdaf9, 0x1e1f: 0xdb19, 0x1e20: 0xdb39, 0x1e21: 0xdb59, 0x1e22: 0xdb79, 0x1e23: 0xdb99, + 0x1e24: 0x8d9d, 0x1e25: 0xdbb9, 0x1e26: 0xdbd9, 0x1e27: 0xdbf9, 0x1e28: 0xdc19, 0x1e29: 0xdbf9, + 0x1e2a: 0xdc39, 0x1e2b: 0xdc59, 0x1e2c: 0xdc79, 0x1e2d: 0xdc99, 0x1e2e: 0xdcb9, 0x1e2f: 0xdcd9, + 0x1e30: 0xdcf9, 0x1e31: 0xdd19, 0x1e32: 0xdd39, 0x1e33: 0xdd59, 0x1e34: 0xdd79, 0x1e35: 0xdd99, + 0x1e36: 0xddb9, 0x1e37: 0xddd9, 0x1e38: 0x8dbd, 0x1e39: 0xddf9, 0x1e3a: 0xde19, 0x1e3b: 0xde39, + 0x1e3c: 0xde59, 0x1e3d: 0xde79, 0x1e3e: 0x8ddd, 0x1e3f: 0xde99, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xe599, 0x1e41: 0xe5b9, 0x1e42: 0xe5d9, 0x1e43: 0xe5f9, 0x1e44: 0xe619, 0x1e45: 0xe639, + 0x1e46: 0x8efd, 0x1e47: 0xe659, 0x1e48: 0xe679, 0x1e49: 0xe699, 0x1e4a: 0xe6b9, 0x1e4b: 0xe6d9, + 0x1e4c: 0xe6f9, 0x1e4d: 0x8f1d, 0x1e4e: 0xe719, 0x1e4f: 0xe739, 0x1e50: 0x8f3d, 0x1e51: 0x8f5d, + 0x1e52: 0xe759, 0x1e53: 0xe779, 0x1e54: 0xe799, 0x1e55: 0xe7b9, 0x1e56: 0xe7d9, 0x1e57: 0xe7f9, + 0x1e58: 0xe819, 0x1e59: 0xe839, 0x1e5a: 0xe859, 0x1e5b: 0x8f7d, 0x1e5c: 0xe879, 0x1e5d: 0x8f9d, + 0x1e5e: 0xe899, 0x1e5f: 0x0040, 0x1e60: 0xe8b9, 0x1e61: 0xe8d9, 0x1e62: 0xe8f9, 0x1e63: 0x8fbd, + 0x1e64: 0xe919, 0x1e65: 0xe939, 0x1e66: 0x8fdd, 0x1e67: 0x8ffd, 0x1e68: 0xe959, 0x1e69: 0xe979, + 0x1e6a: 0xe999, 0x1e6b: 0xe9b9, 0x1e6c: 0xe9d9, 0x1e6d: 0xe9d9, 0x1e6e: 0xe9f9, 0x1e6f: 0xea19, + 0x1e70: 0xea39, 0x1e71: 0xea59, 0x1e72: 0xea79, 0x1e73: 0xea99, 0x1e74: 0xeab9, 0x1e75: 0x901d, + 0x1e76: 0xead9, 0x1e77: 0x903d, 0x1e78: 0xeaf9, 0x1e79: 0x905d, 0x1e7a: 0xeb19, 0x1e7b: 0x907d, + 0x1e7c: 0x909d, 0x1e7d: 0x90bd, 0x1e7e: 0xeb39, 0x1e7f: 0xeb59, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xeb79, 0x1e81: 0x90dd, 0x1e82: 0x90fd, 0x1e83: 0x911d, 0x1e84: 0x913d, 0x1e85: 0xeb99, + 0x1e86: 0xebb9, 0x1e87: 0xebb9, 0x1e88: 0xebd9, 0x1e89: 0xebf9, 0x1e8a: 0xec19, 0x1e8b: 0xec39, + 0x1e8c: 0xec59, 0x1e8d: 0x915d, 0x1e8e: 0xec79, 0x1e8f: 0xec99, 0x1e90: 0xecb9, 0x1e91: 0xecd9, + 0x1e92: 0x917d, 0x1e93: 0xecf9, 0x1e94: 0x919d, 0x1e95: 0x91bd, 0x1e96: 0xed19, 0x1e97: 0xed39, + 0x1e98: 0xed59, 0x1e99: 0xed79, 0x1e9a: 0xed99, 0x1e9b: 0xedb9, 0x1e9c: 0x91dd, 0x1e9d: 0x91fd, + 0x1e9e: 0x921d, 0x1e9f: 0x0040, 0x1ea0: 0xedd9, 0x1ea1: 0x923d, 0x1ea2: 0xedf9, 0x1ea3: 0xee19, + 0x1ea4: 0xee39, 0x1ea5: 0x925d, 0x1ea6: 0xee59, 0x1ea7: 0xee79, 0x1ea8: 0xee99, 0x1ea9: 0xeeb9, + 0x1eaa: 0xeed9, 0x1eab: 0x927d, 0x1eac: 0xeef9, 0x1ead: 0xef19, 0x1eae: 0xef39, 0x1eaf: 0xef59, + 0x1eb0: 0xef79, 0x1eb1: 0xef99, 0x1eb2: 0x929d, 0x1eb3: 0x92bd, 0x1eb4: 0xefb9, 0x1eb5: 0x92dd, + 0x1eb6: 0xefd9, 0x1eb7: 0x92fd, 0x1eb8: 0xeff9, 0x1eb9: 0xf019, 0x1eba: 0xf039, 0x1ebb: 0x931d, + 0x1ebc: 0x933d, 0x1ebd: 0xf059, 0x1ebe: 0x935d, 0x1ebf: 0xf079, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xf6b9, 0x1ec1: 0xf6d9, 0x1ec2: 0xf6f9, 0x1ec3: 0xf719, 0x1ec4: 0xf739, 0x1ec5: 0x951d, + 0x1ec6: 0xf759, 0x1ec7: 0xf779, 0x1ec8: 0xf799, 0x1ec9: 0xf7b9, 0x1eca: 0xf7d9, 0x1ecb: 0x953d, + 0x1ecc: 0x955d, 0x1ecd: 0xf7f9, 0x1ece: 0xf819, 0x1ecf: 0xf839, 0x1ed0: 0xf859, 0x1ed1: 0xf879, + 0x1ed2: 0xf899, 0x1ed3: 0x957d, 0x1ed4: 0xf8b9, 0x1ed5: 0xf8d9, 0x1ed6: 0xf8f9, 0x1ed7: 0xf919, + 0x1ed8: 0x959d, 0x1ed9: 0x95bd, 0x1eda: 0xf939, 0x1edb: 0xf959, 0x1edc: 0xf979, 0x1edd: 0x95dd, + 0x1ede: 0xf999, 0x1edf: 0xf9b9, 0x1ee0: 0x6815, 0x1ee1: 0x95fd, 0x1ee2: 0xf9d9, 0x1ee3: 0xf9f9, + 0x1ee4: 0xfa19, 0x1ee5: 0x961d, 0x1ee6: 0xfa39, 0x1ee7: 0xfa59, 0x1ee8: 0xfa79, 0x1ee9: 0xfa99, + 0x1eea: 0xfab9, 0x1eeb: 0xfad9, 0x1eec: 0xfaf9, 0x1eed: 0x963d, 0x1eee: 0xfb19, 0x1eef: 0xfb39, + 0x1ef0: 0xfb59, 0x1ef1: 0x965d, 0x1ef2: 0xfb79, 0x1ef3: 0xfb99, 0x1ef4: 0xfbb9, 0x1ef5: 0xfbd9, + 0x1ef6: 0x7b35, 0x1ef7: 0x967d, 0x1ef8: 0xfbf9, 0x1ef9: 0xfc19, 0x1efa: 0xfc39, 0x1efb: 0x969d, + 0x1efc: 0xfc59, 0x1efd: 0x96bd, 0x1efe: 0xfc79, 0x1eff: 0xfc79, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xfc99, 0x1f01: 0x96dd, 0x1f02: 0xfcb9, 0x1f03: 0xfcd9, 0x1f04: 0xfcf9, 0x1f05: 0xfd19, + 0x1f06: 0xfd39, 0x1f07: 0xfd59, 0x1f08: 0xfd79, 0x1f09: 0x96fd, 0x1f0a: 0xfd99, 0x1f0b: 0xfdb9, + 0x1f0c: 0xfdd9, 0x1f0d: 0xfdf9, 0x1f0e: 0xfe19, 0x1f0f: 0xfe39, 0x1f10: 0x971d, 0x1f11: 0xfe59, + 0x1f12: 0x973d, 0x1f13: 0x975d, 0x1f14: 0x977d, 0x1f15: 0xfe79, 0x1f16: 0xfe99, 0x1f17: 0xfeb9, + 0x1f18: 0xfed9, 0x1f19: 0xfef9, 0x1f1a: 0xff19, 0x1f1b: 0xff39, 0x1f1c: 0xff59, 0x1f1d: 0x979d, + 0x1f1e: 0x0040, 0x1f1f: 0x0040, 0x1f20: 0x0040, 0x1f21: 0x0040, 0x1f22: 0x0040, 0x1f23: 0x0040, + 0x1f24: 0x0040, 0x1f25: 0x0040, 0x1f26: 0x0040, 0x1f27: 0x0040, 0x1f28: 0x0040, 0x1f29: 0x0040, + 0x1f2a: 0x0040, 0x1f2b: 0x0040, 0x1f2c: 0x0040, 0x1f2d: 0x0040, 0x1f2e: 0x0040, 0x1f2f: 0x0040, + 0x1f30: 0x0040, 0x1f31: 0x0040, 0x1f32: 0x0040, 0x1f33: 0x0040, 0x1f34: 0x0040, 0x1f35: 0x0040, + 0x1f36: 0x0040, 0x1f37: 0x0040, 0x1f38: 0x0040, 0x1f39: 0x0040, 0x1f3a: 0x0040, 0x1f3b: 0x0040, + 0x1f3c: 0x0040, 0x1f3d: 0x0040, 0x1f3e: 0x0040, 0x1f3f: 0x0040, +} + +// idnaIndex: 35 blocks, 2240 entries, 4480 bytes +// Block 0 is the zero block. +var idnaIndex = [2240]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x7b, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, + 0xc8: 0x06, 0xc9: 0x7c, 0xca: 0x7d, 0xcb: 0x07, 0xcc: 0x7e, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, + 0xd0: 0x7f, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x80, 0xd6: 0x81, 0xd7: 0x82, + 0xd8: 0x0f, 0xd9: 0x83, 0xda: 0x84, 0xdb: 0x10, 0xdc: 0x11, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, + 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, + 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20, + // Block 0x4, offset 0x100 + 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x12, 0x126: 0x13, 0x127: 0x14, + 0x128: 0x15, 0x129: 0x16, 0x12a: 0x17, 0x12b: 0x18, 0x12c: 0x19, 0x12d: 0x1a, 0x12e: 0x1b, 0x12f: 0x8d, + 0x130: 0x8e, 0x131: 0x1c, 0x132: 0x1d, 0x133: 0x1e, 0x134: 0x8f, 0x135: 0x1f, 0x136: 0x90, 0x137: 0x91, + 0x138: 0x92, 0x139: 0x93, 0x13a: 0x20, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x21, 0x13e: 0x22, 0x13f: 0x96, + // Block 0x5, offset 0x140 + 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9b, 0x147: 0x9b, + 0x148: 0x9d, 0x149: 0x9e, 0x14a: 0x9f, 0x14b: 0xa0, 0x14c: 0xa1, 0x14d: 0xa2, 0x14e: 0xa3, 0x14f: 0xa4, + 0x150: 0xa5, 0x151: 0x9d, 0x152: 0x9d, 0x153: 0x9d, 0x154: 0x9d, 0x155: 0x9d, 0x156: 0x9d, 0x157: 0x9d, + 0x158: 0x9d, 0x159: 0xa6, 0x15a: 0xa7, 0x15b: 0xa8, 0x15c: 0xa9, 0x15d: 0xaa, 0x15e: 0xab, 0x15f: 0xac, + 0x160: 0xad, 0x161: 0xae, 0x162: 0xaf, 0x163: 0xb0, 0x164: 0xb1, 0x165: 0xb2, 0x166: 0xb3, 0x167: 0xb4, + 0x168: 0xb5, 0x169: 0xb6, 0x16a: 0xb7, 0x16b: 0xb8, 0x16c: 0xb9, 0x16d: 0xba, 0x16e: 0xbb, 0x16f: 0xbc, + 0x170: 0xbd, 0x171: 0xbe, 0x172: 0xbf, 0x173: 0xc0, 0x174: 0x23, 0x175: 0x24, 0x176: 0x25, 0x177: 0xc1, + 0x178: 0x26, 0x179: 0x26, 0x17a: 0x27, 0x17b: 0x26, 0x17c: 0xc2, 0x17d: 0x28, 0x17e: 0x29, 0x17f: 0x2a, + // Block 0x6, offset 0x180 + 0x180: 0x2b, 0x181: 0x2c, 0x182: 0x2d, 0x183: 0xc3, 0x184: 0x2e, 0x185: 0x2f, 0x186: 0xc4, 0x187: 0x9b, + 0x188: 0xc5, 0x189: 0xc6, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc7, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xc8, + 0x190: 0xc9, 0x191: 0x30, 0x192: 0x31, 0x193: 0x32, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b, + 0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b, + 0x1a8: 0xca, 0x1a9: 0xcb, 0x1aa: 0x9b, 0x1ab: 0xcc, 0x1ac: 0x9b, 0x1ad: 0xcd, 0x1ae: 0xce, 0x1af: 0xcf, + 0x1b0: 0xd0, 0x1b1: 0x33, 0x1b2: 0x26, 0x1b3: 0x34, 0x1b4: 0xd1, 0x1b5: 0xd2, 0x1b6: 0xd3, 0x1b7: 0xd4, + 0x1b8: 0xd5, 0x1b9: 0xd6, 0x1ba: 0xd7, 0x1bb: 0xd8, 0x1bc: 0xd9, 0x1bd: 0xda, 0x1be: 0xdb, 0x1bf: 0x35, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x36, 0x1c1: 0xdc, 0x1c2: 0xdd, 0x1c3: 0xde, 0x1c4: 0xdf, 0x1c5: 0x37, 0x1c6: 0x38, 0x1c7: 0xe0, + 0x1c8: 0xe1, 0x1c9: 0x39, 0x1ca: 0x3a, 0x1cb: 0x3b, 0x1cc: 0x3c, 0x1cd: 0x3d, 0x1ce: 0x3e, 0x1cf: 0x3f, + 0x1d0: 0x9d, 0x1d1: 0x9d, 0x1d2: 0x9d, 0x1d3: 0x9d, 0x1d4: 0x9d, 0x1d5: 0x9d, 0x1d6: 0x9d, 0x1d7: 0x9d, + 0x1d8: 0x9d, 0x1d9: 0x9d, 0x1da: 0x9d, 0x1db: 0x9d, 0x1dc: 0x9d, 0x1dd: 0x9d, 0x1de: 0x9d, 0x1df: 0x9d, + 0x1e0: 0x9d, 0x1e1: 0x9d, 0x1e2: 0x9d, 0x1e3: 0x9d, 0x1e4: 0x9d, 0x1e5: 0x9d, 0x1e6: 0x9d, 0x1e7: 0x9d, + 0x1e8: 0x9d, 0x1e9: 0x9d, 0x1ea: 0x9d, 0x1eb: 0x9d, 0x1ec: 0x9d, 0x1ed: 0x9d, 0x1ee: 0x9d, 0x1ef: 0x9d, + 0x1f0: 0x9d, 0x1f1: 0x9d, 0x1f2: 0x9d, 0x1f3: 0x9d, 0x1f4: 0x9d, 0x1f5: 0x9d, 0x1f6: 0x9d, 0x1f7: 0x9d, + 0x1f8: 0x9d, 0x1f9: 0x9d, 0x1fa: 0x9d, 0x1fb: 0x9d, 0x1fc: 0x9d, 0x1fd: 0x9d, 0x1fe: 0x9d, 0x1ff: 0x9d, + // Block 0x8, offset 0x200 + 0x200: 0x9d, 0x201: 0x9d, 0x202: 0x9d, 0x203: 0x9d, 0x204: 0x9d, 0x205: 0x9d, 0x206: 0x9d, 0x207: 0x9d, + 0x208: 0x9d, 0x209: 0x9d, 0x20a: 0x9d, 0x20b: 0x9d, 0x20c: 0x9d, 0x20d: 0x9d, 0x20e: 0x9d, 0x20f: 0x9d, + 0x210: 0x9d, 0x211: 0x9d, 0x212: 0x9d, 0x213: 0x9d, 0x214: 0x9d, 0x215: 0x9d, 0x216: 0x9d, 0x217: 0x9d, + 0x218: 0x9d, 0x219: 0x9d, 0x21a: 0x9d, 0x21b: 0x9d, 0x21c: 0x9d, 0x21d: 0x9d, 0x21e: 0x9d, 0x21f: 0x9d, + 0x220: 0x9d, 0x221: 0x9d, 0x222: 0x9d, 0x223: 0x9d, 0x224: 0x9d, 0x225: 0x9d, 0x226: 0x9d, 0x227: 0x9d, + 0x228: 0x9d, 0x229: 0x9d, 0x22a: 0x9d, 0x22b: 0x9d, 0x22c: 0x9d, 0x22d: 0x9d, 0x22e: 0x9d, 0x22f: 0x9d, + 0x230: 0x9d, 0x231: 0x9d, 0x232: 0x9d, 0x233: 0x9d, 0x234: 0x9d, 0x235: 0x9d, 0x236: 0xb0, 0x237: 0x9b, + 0x238: 0x9d, 0x239: 0x9d, 0x23a: 0x9d, 0x23b: 0x9d, 0x23c: 0x9d, 0x23d: 0x9d, 0x23e: 0x9d, 0x23f: 0x9d, + // Block 0x9, offset 0x240 + 0x240: 0x9d, 0x241: 0x9d, 0x242: 0x9d, 0x243: 0x9d, 0x244: 0x9d, 0x245: 0x9d, 0x246: 0x9d, 0x247: 0x9d, + 0x248: 0x9d, 0x249: 0x9d, 0x24a: 0x9d, 0x24b: 0x9d, 0x24c: 0x9d, 0x24d: 0x9d, 0x24e: 0x9d, 0x24f: 0x9d, + 0x250: 0x9d, 0x251: 0x9d, 0x252: 0x9d, 0x253: 0x9d, 0x254: 0x9d, 0x255: 0x9d, 0x256: 0x9d, 0x257: 0x9d, + 0x258: 0x9d, 0x259: 0x9d, 0x25a: 0x9d, 0x25b: 0x9d, 0x25c: 0x9d, 0x25d: 0x9d, 0x25e: 0x9d, 0x25f: 0x9d, + 0x260: 0x9d, 0x261: 0x9d, 0x262: 0x9d, 0x263: 0x9d, 0x264: 0x9d, 0x265: 0x9d, 0x266: 0x9d, 0x267: 0x9d, + 0x268: 0x9d, 0x269: 0x9d, 0x26a: 0x9d, 0x26b: 0x9d, 0x26c: 0x9d, 0x26d: 0x9d, 0x26e: 0x9d, 0x26f: 0x9d, + 0x270: 0x9d, 0x271: 0x9d, 0x272: 0x9d, 0x273: 0x9d, 0x274: 0x9d, 0x275: 0x9d, 0x276: 0x9d, 0x277: 0x9d, + 0x278: 0x9d, 0x279: 0x9d, 0x27a: 0x9d, 0x27b: 0x9d, 0x27c: 0x9d, 0x27d: 0x9d, 0x27e: 0x9d, 0x27f: 0x9d, + // Block 0xa, offset 0x280 + 0x280: 0x9d, 0x281: 0x9d, 0x282: 0x9d, 0x283: 0x9d, 0x284: 0x9d, 0x285: 0x9d, 0x286: 0x9d, 0x287: 0x9d, + 0x288: 0x9d, 0x289: 0x9d, 0x28a: 0x9d, 0x28b: 0x9d, 0x28c: 0x9d, 0x28d: 0x9d, 0x28e: 0x9d, 0x28f: 0x9d, + 0x290: 0x9d, 0x291: 0x9d, 0x292: 0x9d, 0x293: 0x9d, 0x294: 0x9d, 0x295: 0x9d, 0x296: 0x9d, 0x297: 0x9d, + 0x298: 0x9d, 0x299: 0x9d, 0x29a: 0x9d, 0x29b: 0x9d, 0x29c: 0x9d, 0x29d: 0x9d, 0x29e: 0x9d, 0x29f: 0x9d, + 0x2a0: 0x9d, 0x2a1: 0x9d, 0x2a2: 0x9d, 0x2a3: 0x9d, 0x2a4: 0x9d, 0x2a5: 0x9d, 0x2a6: 0x9d, 0x2a7: 0x9d, + 0x2a8: 0x9d, 0x2a9: 0x9d, 0x2aa: 0x9d, 0x2ab: 0x9d, 0x2ac: 0x9d, 0x2ad: 0x9d, 0x2ae: 0x9d, 0x2af: 0x9d, + 0x2b0: 0x9d, 0x2b1: 0x9d, 0x2b2: 0x9d, 0x2b3: 0x9d, 0x2b4: 0x9d, 0x2b5: 0x9d, 0x2b6: 0x9d, 0x2b7: 0x9d, + 0x2b8: 0x9d, 0x2b9: 0x9d, 0x2ba: 0x9d, 0x2bb: 0x9d, 0x2bc: 0x9d, 0x2bd: 0x9d, 0x2be: 0x9d, 0x2bf: 0xe2, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x9d, 0x2c1: 0x9d, 0x2c2: 0x9d, 0x2c3: 0x9d, 0x2c4: 0x9d, 0x2c5: 0x9d, 0x2c6: 0x9d, 0x2c7: 0x9d, + 0x2c8: 0x9d, 0x2c9: 0x9d, 0x2ca: 0x9d, 0x2cb: 0x9d, 0x2cc: 0x9d, 0x2cd: 0x9d, 0x2ce: 0x9d, 0x2cf: 0x9d, + 0x2d0: 0x9d, 0x2d1: 0x9d, 0x2d2: 0xe3, 0x2d3: 0xe4, 0x2d4: 0x9d, 0x2d5: 0x9d, 0x2d6: 0x9d, 0x2d7: 0x9d, + 0x2d8: 0xe5, 0x2d9: 0x40, 0x2da: 0x41, 0x2db: 0xe6, 0x2dc: 0x42, 0x2dd: 0x43, 0x2de: 0x44, 0x2df: 0xe7, + 0x2e0: 0xe8, 0x2e1: 0xe9, 0x2e2: 0xea, 0x2e3: 0xeb, 0x2e4: 0xec, 0x2e5: 0xed, 0x2e6: 0xee, 0x2e7: 0xef, + 0x2e8: 0xf0, 0x2e9: 0xf1, 0x2ea: 0xf2, 0x2eb: 0xf3, 0x2ec: 0xf4, 0x2ed: 0xf5, 0x2ee: 0xf6, 0x2ef: 0xf7, + 0x2f0: 0x9d, 0x2f1: 0x9d, 0x2f2: 0x9d, 0x2f3: 0x9d, 0x2f4: 0x9d, 0x2f5: 0x9d, 0x2f6: 0x9d, 0x2f7: 0x9d, + 0x2f8: 0x9d, 0x2f9: 0x9d, 0x2fa: 0x9d, 0x2fb: 0x9d, 0x2fc: 0x9d, 0x2fd: 0x9d, 0x2fe: 0x9d, 0x2ff: 0x9d, + // Block 0xc, offset 0x300 + 0x300: 0x9d, 0x301: 0x9d, 0x302: 0x9d, 0x303: 0x9d, 0x304: 0x9d, 0x305: 0x9d, 0x306: 0x9d, 0x307: 0x9d, + 0x308: 0x9d, 0x309: 0x9d, 0x30a: 0x9d, 0x30b: 0x9d, 0x30c: 0x9d, 0x30d: 0x9d, 0x30e: 0x9d, 0x30f: 0x9d, + 0x310: 0x9d, 0x311: 0x9d, 0x312: 0x9d, 0x313: 0x9d, 0x314: 0x9d, 0x315: 0x9d, 0x316: 0x9d, 0x317: 0x9d, + 0x318: 0x9d, 0x319: 0x9d, 0x31a: 0x9d, 0x31b: 0x9d, 0x31c: 0x9d, 0x31d: 0x9d, 0x31e: 0xf8, 0x31f: 0xf9, + // Block 0xd, offset 0x340 + 0x340: 0xb8, 0x341: 0xb8, 0x342: 0xb8, 0x343: 0xb8, 0x344: 0xb8, 0x345: 0xb8, 0x346: 0xb8, 0x347: 0xb8, + 0x348: 0xb8, 0x349: 0xb8, 0x34a: 0xb8, 0x34b: 0xb8, 0x34c: 0xb8, 0x34d: 0xb8, 0x34e: 0xb8, 0x34f: 0xb8, + 0x350: 0xb8, 0x351: 0xb8, 0x352: 0xb8, 0x353: 0xb8, 0x354: 0xb8, 0x355: 0xb8, 0x356: 0xb8, 0x357: 0xb8, + 0x358: 0xb8, 0x359: 0xb8, 0x35a: 0xb8, 0x35b: 0xb8, 0x35c: 0xb8, 0x35d: 0xb8, 0x35e: 0xb8, 0x35f: 0xb8, + 0x360: 0xb8, 0x361: 0xb8, 0x362: 0xb8, 0x363: 0xb8, 0x364: 0xb8, 0x365: 0xb8, 0x366: 0xb8, 0x367: 0xb8, + 0x368: 0xb8, 0x369: 0xb8, 0x36a: 0xb8, 0x36b: 0xb8, 0x36c: 0xb8, 0x36d: 0xb8, 0x36e: 0xb8, 0x36f: 0xb8, + 0x370: 0xb8, 0x371: 0xb8, 0x372: 0xb8, 0x373: 0xb8, 0x374: 0xb8, 0x375: 0xb8, 0x376: 0xb8, 0x377: 0xb8, + 0x378: 0xb8, 0x379: 0xb8, 0x37a: 0xb8, 0x37b: 0xb8, 0x37c: 0xb8, 0x37d: 0xb8, 0x37e: 0xb8, 0x37f: 0xb8, + // Block 0xe, offset 0x380 + 0x380: 0xb8, 0x381: 0xb8, 0x382: 0xb8, 0x383: 0xb8, 0x384: 0xb8, 0x385: 0xb8, 0x386: 0xb8, 0x387: 0xb8, + 0x388: 0xb8, 0x389: 0xb8, 0x38a: 0xb8, 0x38b: 0xb8, 0x38c: 0xb8, 0x38d: 0xb8, 0x38e: 0xb8, 0x38f: 0xb8, + 0x390: 0xb8, 0x391: 0xb8, 0x392: 0xb8, 0x393: 0xb8, 0x394: 0xb8, 0x395: 0xb8, 0x396: 0xb8, 0x397: 0xb8, + 0x398: 0xb8, 0x399: 0xb8, 0x39a: 0xb8, 0x39b: 0xb8, 0x39c: 0xb8, 0x39d: 0xb8, 0x39e: 0xb8, 0x39f: 0xb8, + 0x3a0: 0xb8, 0x3a1: 0xb8, 0x3a2: 0xb8, 0x3a3: 0xb8, 0x3a4: 0xfa, 0x3a5: 0xfb, 0x3a6: 0xfc, 0x3a7: 0xfd, + 0x3a8: 0x45, 0x3a9: 0xfe, 0x3aa: 0xff, 0x3ab: 0x46, 0x3ac: 0x47, 0x3ad: 0x48, 0x3ae: 0x49, 0x3af: 0x4a, + 0x3b0: 0x100, 0x3b1: 0x4b, 0x3b2: 0x4c, 0x3b3: 0x4d, 0x3b4: 0x4e, 0x3b5: 0x4f, 0x3b6: 0x101, 0x3b7: 0x50, + 0x3b8: 0x51, 0x3b9: 0x52, 0x3ba: 0x53, 0x3bb: 0x54, 0x3bc: 0x55, 0x3bd: 0x56, 0x3be: 0x57, 0x3bf: 0x58, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x102, 0x3c1: 0x103, 0x3c2: 0x9d, 0x3c3: 0x104, 0x3c4: 0x105, 0x3c5: 0x9b, 0x3c6: 0x106, 0x3c7: 0x107, + 0x3c8: 0xb8, 0x3c9: 0xb8, 0x3ca: 0x108, 0x3cb: 0x109, 0x3cc: 0x10a, 0x3cd: 0x10b, 0x3ce: 0x10c, 0x3cf: 0x10d, + 0x3d0: 0x10e, 0x3d1: 0x9d, 0x3d2: 0x10f, 0x3d3: 0x110, 0x3d4: 0x111, 0x3d5: 0x112, 0x3d6: 0xb8, 0x3d7: 0xb8, + 0x3d8: 0x9d, 0x3d9: 0x9d, 0x3da: 0x9d, 0x3db: 0x9d, 0x3dc: 0x113, 0x3dd: 0x114, 0x3de: 0xb8, 0x3df: 0xb8, + 0x3e0: 0x115, 0x3e1: 0x116, 0x3e2: 0x117, 0x3e3: 0x118, 0x3e4: 0x119, 0x3e5: 0xb8, 0x3e6: 0x11a, 0x3e7: 0x11b, + 0x3e8: 0x11c, 0x3e9: 0x11d, 0x3ea: 0x11e, 0x3eb: 0x59, 0x3ec: 0x11f, 0x3ed: 0x120, 0x3ee: 0x5a, 0x3ef: 0xb8, + 0x3f0: 0x9d, 0x3f1: 0x121, 0x3f2: 0x122, 0x3f3: 0x123, 0x3f4: 0xb8, 0x3f5: 0xb8, 0x3f6: 0xb8, 0x3f7: 0xb8, + 0x3f8: 0xb8, 0x3f9: 0x124, 0x3fa: 0xb8, 0x3fb: 0xb8, 0x3fc: 0xb8, 0x3fd: 0xb8, 0x3fe: 0xb8, 0x3ff: 0xb8, + // Block 0x10, offset 0x400 + 0x400: 0x125, 0x401: 0x126, 0x402: 0x127, 0x403: 0x128, 0x404: 0x129, 0x405: 0x12a, 0x406: 0x12b, 0x407: 0x12c, + 0x408: 0x12d, 0x409: 0xb8, 0x40a: 0x12e, 0x40b: 0x12f, 0x40c: 0x5b, 0x40d: 0x5c, 0x40e: 0xb8, 0x40f: 0xb8, + 0x410: 0x130, 0x411: 0x131, 0x412: 0x132, 0x413: 0x133, 0x414: 0xb8, 0x415: 0xb8, 0x416: 0x134, 0x417: 0x135, + 0x418: 0x136, 0x419: 0x137, 0x41a: 0x138, 0x41b: 0x139, 0x41c: 0x13a, 0x41d: 0xb8, 0x41e: 0xb8, 0x41f: 0xb8, + 0x420: 0xb8, 0x421: 0xb8, 0x422: 0x13b, 0x423: 0x13c, 0x424: 0xb8, 0x425: 0xb8, 0x426: 0xb8, 0x427: 0xb8, + 0x428: 0xb8, 0x429: 0xb8, 0x42a: 0xb8, 0x42b: 0x13d, 0x42c: 0xb8, 0x42d: 0xb8, 0x42e: 0xb8, 0x42f: 0xb8, + 0x430: 0x13e, 0x431: 0x13f, 0x432: 0x140, 0x433: 0xb8, 0x434: 0xb8, 0x435: 0xb8, 0x436: 0xb8, 0x437: 0xb8, + 0x438: 0xb8, 0x439: 0xb8, 0x43a: 0xb8, 0x43b: 0xb8, 0x43c: 0xb8, 0x43d: 0xb8, 0x43e: 0xb8, 0x43f: 0xb8, + // Block 0x11, offset 0x440 + 0x440: 0x9d, 0x441: 0x9d, 0x442: 0x9d, 0x443: 0x9d, 0x444: 0x9d, 0x445: 0x9d, 0x446: 0x9d, 0x447: 0x9d, + 0x448: 0x9d, 0x449: 0x9d, 0x44a: 0x9d, 0x44b: 0x9d, 0x44c: 0x9d, 0x44d: 0x9d, 0x44e: 0x141, 0x44f: 0xb8, + 0x450: 0x9b, 0x451: 0x142, 0x452: 0x9d, 0x453: 0x9d, 0x454: 0x9d, 0x455: 0x143, 0x456: 0xb8, 0x457: 0xb8, + 0x458: 0xb8, 0x459: 0xb8, 0x45a: 0xb8, 0x45b: 0xb8, 0x45c: 0xb8, 0x45d: 0xb8, 0x45e: 0xb8, 0x45f: 0xb8, + 0x460: 0xb8, 0x461: 0xb8, 0x462: 0xb8, 0x463: 0xb8, 0x464: 0xb8, 0x465: 0xb8, 0x466: 0xb8, 0x467: 0xb8, + 0x468: 0xb8, 0x469: 0xb8, 0x46a: 0xb8, 0x46b: 0xb8, 0x46c: 0xb8, 0x46d: 0xb8, 0x46e: 0xb8, 0x46f: 0xb8, + 0x470: 0xb8, 0x471: 0xb8, 0x472: 0xb8, 0x473: 0xb8, 0x474: 0xb8, 0x475: 0xb8, 0x476: 0xb8, 0x477: 0xb8, + 0x478: 0xb8, 0x479: 0xb8, 0x47a: 0xb8, 0x47b: 0xb8, 0x47c: 0xb8, 0x47d: 0xb8, 0x47e: 0xb8, 0x47f: 0xb8, + // Block 0x12, offset 0x480 + 0x480: 0x9d, 0x481: 0x9d, 0x482: 0x9d, 0x483: 0x9d, 0x484: 0x9d, 0x485: 0x9d, 0x486: 0x9d, 0x487: 0x9d, + 0x488: 0x9d, 0x489: 0x9d, 0x48a: 0x9d, 0x48b: 0x9d, 0x48c: 0x9d, 0x48d: 0x9d, 0x48e: 0x9d, 0x48f: 0x9d, + 0x490: 0x144, 0x491: 0xb8, 0x492: 0xb8, 0x493: 0xb8, 0x494: 0xb8, 0x495: 0xb8, 0x496: 0xb8, 0x497: 0xb8, + 0x498: 0xb8, 0x499: 0xb8, 0x49a: 0xb8, 0x49b: 0xb8, 0x49c: 0xb8, 0x49d: 0xb8, 0x49e: 0xb8, 0x49f: 0xb8, + 0x4a0: 0xb8, 0x4a1: 0xb8, 0x4a2: 0xb8, 0x4a3: 0xb8, 0x4a4: 0xb8, 0x4a5: 0xb8, 0x4a6: 0xb8, 0x4a7: 0xb8, + 0x4a8: 0xb8, 0x4a9: 0xb8, 0x4aa: 0xb8, 0x4ab: 0xb8, 0x4ac: 0xb8, 0x4ad: 0xb8, 0x4ae: 0xb8, 0x4af: 0xb8, + 0x4b0: 0xb8, 0x4b1: 0xb8, 0x4b2: 0xb8, 0x4b3: 0xb8, 0x4b4: 0xb8, 0x4b5: 0xb8, 0x4b6: 0xb8, 0x4b7: 0xb8, + 0x4b8: 0xb8, 0x4b9: 0xb8, 0x4ba: 0xb8, 0x4bb: 0xb8, 0x4bc: 0xb8, 0x4bd: 0xb8, 0x4be: 0xb8, 0x4bf: 0xb8, + // Block 0x13, offset 0x4c0 + 0x4c0: 0xb8, 0x4c1: 0xb8, 0x4c2: 0xb8, 0x4c3: 0xb8, 0x4c4: 0xb8, 0x4c5: 0xb8, 0x4c6: 0xb8, 0x4c7: 0xb8, + 0x4c8: 0xb8, 0x4c9: 0xb8, 0x4ca: 0xb8, 0x4cb: 0xb8, 0x4cc: 0xb8, 0x4cd: 0xb8, 0x4ce: 0xb8, 0x4cf: 0xb8, + 0x4d0: 0x9d, 0x4d1: 0x9d, 0x4d2: 0x9d, 0x4d3: 0x9d, 0x4d4: 0x9d, 0x4d5: 0x9d, 0x4d6: 0x9d, 0x4d7: 0x9d, + 0x4d8: 0x9d, 0x4d9: 0x145, 0x4da: 0xb8, 0x4db: 0xb8, 0x4dc: 0xb8, 0x4dd: 0xb8, 0x4de: 0xb8, 0x4df: 0xb8, + 0x4e0: 0xb8, 0x4e1: 0xb8, 0x4e2: 0xb8, 0x4e3: 0xb8, 0x4e4: 0xb8, 0x4e5: 0xb8, 0x4e6: 0xb8, 0x4e7: 0xb8, + 0x4e8: 0xb8, 0x4e9: 0xb8, 0x4ea: 0xb8, 0x4eb: 0xb8, 0x4ec: 0xb8, 0x4ed: 0xb8, 0x4ee: 0xb8, 0x4ef: 0xb8, + 0x4f0: 0xb8, 0x4f1: 0xb8, 0x4f2: 0xb8, 0x4f3: 0xb8, 0x4f4: 0xb8, 0x4f5: 0xb8, 0x4f6: 0xb8, 0x4f7: 0xb8, + 0x4f8: 0xb8, 0x4f9: 0xb8, 0x4fa: 0xb8, 0x4fb: 0xb8, 0x4fc: 0xb8, 0x4fd: 0xb8, 0x4fe: 0xb8, 0x4ff: 0xb8, + // Block 0x14, offset 0x500 + 0x500: 0xb8, 0x501: 0xb8, 0x502: 0xb8, 0x503: 0xb8, 0x504: 0xb8, 0x505: 0xb8, 0x506: 0xb8, 0x507: 0xb8, + 0x508: 0xb8, 0x509: 0xb8, 0x50a: 0xb8, 0x50b: 0xb8, 0x50c: 0xb8, 0x50d: 0xb8, 0x50e: 0xb8, 0x50f: 0xb8, + 0x510: 0xb8, 0x511: 0xb8, 0x512: 0xb8, 0x513: 0xb8, 0x514: 0xb8, 0x515: 0xb8, 0x516: 0xb8, 0x517: 0xb8, + 0x518: 0xb8, 0x519: 0xb8, 0x51a: 0xb8, 0x51b: 0xb8, 0x51c: 0xb8, 0x51d: 0xb8, 0x51e: 0xb8, 0x51f: 0xb8, + 0x520: 0x9d, 0x521: 0x9d, 0x522: 0x9d, 0x523: 0x9d, 0x524: 0x9d, 0x525: 0x9d, 0x526: 0x9d, 0x527: 0x9d, + 0x528: 0x13d, 0x529: 0x146, 0x52a: 0xb8, 0x52b: 0x147, 0x52c: 0x148, 0x52d: 0x149, 0x52e: 0x14a, 0x52f: 0xb8, + 0x530: 0xb8, 0x531: 0xb8, 0x532: 0xb8, 0x533: 0xb8, 0x534: 0xb8, 0x535: 0xb8, 0x536: 0xb8, 0x537: 0xb8, + 0x538: 0xb8, 0x539: 0xb8, 0x53a: 0xb8, 0x53b: 0xb8, 0x53c: 0x9d, 0x53d: 0x14b, 0x53e: 0x14c, 0x53f: 0x14d, + // Block 0x15, offset 0x540 + 0x540: 0x9d, 0x541: 0x9d, 0x542: 0x9d, 0x543: 0x9d, 0x544: 0x9d, 0x545: 0x9d, 0x546: 0x9d, 0x547: 0x9d, + 0x548: 0x9d, 0x549: 0x9d, 0x54a: 0x9d, 0x54b: 0x9d, 0x54c: 0x9d, 0x54d: 0x9d, 0x54e: 0x9d, 0x54f: 0x9d, + 0x550: 0x9d, 0x551: 0x9d, 0x552: 0x9d, 0x553: 0x9d, 0x554: 0x9d, 0x555: 0x9d, 0x556: 0x9d, 0x557: 0x9d, + 0x558: 0x9d, 0x559: 0x9d, 0x55a: 0x9d, 0x55b: 0x9d, 0x55c: 0x9d, 0x55d: 0x9d, 0x55e: 0x9d, 0x55f: 0x14e, + 0x560: 0x9d, 0x561: 0x9d, 0x562: 0x9d, 0x563: 0x9d, 0x564: 0x9d, 0x565: 0x9d, 0x566: 0x9d, 0x567: 0x9d, + 0x568: 0x9d, 0x569: 0x9d, 0x56a: 0x9d, 0x56b: 0x14f, 0x56c: 0xb8, 0x56d: 0xb8, 0x56e: 0xb8, 0x56f: 0xb8, + 0x570: 0xb8, 0x571: 0xb8, 0x572: 0xb8, 0x573: 0xb8, 0x574: 0xb8, 0x575: 0xb8, 0x576: 0xb8, 0x577: 0xb8, + 0x578: 0xb8, 0x579: 0xb8, 0x57a: 0xb8, 0x57b: 0xb8, 0x57c: 0xb8, 0x57d: 0xb8, 0x57e: 0xb8, 0x57f: 0xb8, + // Block 0x16, offset 0x580 + 0x580: 0x150, 0x581: 0xb8, 0x582: 0xb8, 0x583: 0xb8, 0x584: 0xb8, 0x585: 0xb8, 0x586: 0xb8, 0x587: 0xb8, + 0x588: 0xb8, 0x589: 0xb8, 0x58a: 0xb8, 0x58b: 0xb8, 0x58c: 0xb8, 0x58d: 0xb8, 0x58e: 0xb8, 0x58f: 0xb8, + 0x590: 0xb8, 0x591: 0xb8, 0x592: 0xb8, 0x593: 0xb8, 0x594: 0xb8, 0x595: 0xb8, 0x596: 0xb8, 0x597: 0xb8, + 0x598: 0xb8, 0x599: 0xb8, 0x59a: 0xb8, 0x59b: 0xb8, 0x59c: 0xb8, 0x59d: 0xb8, 0x59e: 0xb8, 0x59f: 0xb8, + 0x5a0: 0xb8, 0x5a1: 0xb8, 0x5a2: 0xb8, 0x5a3: 0xb8, 0x5a4: 0xb8, 0x5a5: 0xb8, 0x5a6: 0xb8, 0x5a7: 0xb8, + 0x5a8: 0xb8, 0x5a9: 0xb8, 0x5aa: 0xb8, 0x5ab: 0xb8, 0x5ac: 0xb8, 0x5ad: 0xb8, 0x5ae: 0xb8, 0x5af: 0xb8, + 0x5b0: 0x9d, 0x5b1: 0x151, 0x5b2: 0x152, 0x5b3: 0xb8, 0x5b4: 0xb8, 0x5b5: 0xb8, 0x5b6: 0xb8, 0x5b7: 0xb8, + 0x5b8: 0xb8, 0x5b9: 0xb8, 0x5ba: 0xb8, 0x5bb: 0xb8, 0x5bc: 0xb8, 0x5bd: 0xb8, 0x5be: 0xb8, 0x5bf: 0xb8, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x153, 0x5c4: 0x154, 0x5c5: 0x155, 0x5c6: 0x156, 0x5c7: 0x157, + 0x5c8: 0x9b, 0x5c9: 0x158, 0x5ca: 0xb8, 0x5cb: 0xb8, 0x5cc: 0x9b, 0x5cd: 0x159, 0x5ce: 0xb8, 0x5cf: 0xb8, + 0x5d0: 0x5d, 0x5d1: 0x5e, 0x5d2: 0x5f, 0x5d3: 0x60, 0x5d4: 0x61, 0x5d5: 0x62, 0x5d6: 0x63, 0x5d7: 0x64, + 0x5d8: 0x65, 0x5d9: 0x66, 0x5da: 0x67, 0x5db: 0x68, 0x5dc: 0x69, 0x5dd: 0x6a, 0x5de: 0x6b, 0x5df: 0x6c, + 0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b, + 0x5e8: 0x15a, 0x5e9: 0x15b, 0x5ea: 0x15c, 0x5eb: 0xb8, 0x5ec: 0xb8, 0x5ed: 0xb8, 0x5ee: 0xb8, 0x5ef: 0xb8, + 0x5f0: 0xb8, 0x5f1: 0xb8, 0x5f2: 0xb8, 0x5f3: 0xb8, 0x5f4: 0xb8, 0x5f5: 0xb8, 0x5f6: 0xb8, 0x5f7: 0xb8, + 0x5f8: 0xb8, 0x5f9: 0xb8, 0x5fa: 0xb8, 0x5fb: 0xb8, 0x5fc: 0xb8, 0x5fd: 0xb8, 0x5fe: 0xb8, 0x5ff: 0xb8, + // Block 0x18, offset 0x600 + 0x600: 0x15d, 0x601: 0xb8, 0x602: 0xb8, 0x603: 0xb8, 0x604: 0xb8, 0x605: 0xb8, 0x606: 0xb8, 0x607: 0xb8, + 0x608: 0xb8, 0x609: 0xb8, 0x60a: 0xb8, 0x60b: 0xb8, 0x60c: 0xb8, 0x60d: 0xb8, 0x60e: 0xb8, 0x60f: 0xb8, + 0x610: 0xb8, 0x611: 0xb8, 0x612: 0xb8, 0x613: 0xb8, 0x614: 0xb8, 0x615: 0xb8, 0x616: 0xb8, 0x617: 0xb8, + 0x618: 0xb8, 0x619: 0xb8, 0x61a: 0xb8, 0x61b: 0xb8, 0x61c: 0xb8, 0x61d: 0xb8, 0x61e: 0xb8, 0x61f: 0xb8, + 0x620: 0x9d, 0x621: 0x9d, 0x622: 0x9d, 0x623: 0x15e, 0x624: 0x6d, 0x625: 0x15f, 0x626: 0xb8, 0x627: 0xb8, + 0x628: 0xb8, 0x629: 0xb8, 0x62a: 0xb8, 0x62b: 0xb8, 0x62c: 0xb8, 0x62d: 0xb8, 0x62e: 0xb8, 0x62f: 0xb8, + 0x630: 0xb8, 0x631: 0xb8, 0x632: 0xb8, 0x633: 0xb8, 0x634: 0xb8, 0x635: 0xb8, 0x636: 0xb8, 0x637: 0xb8, + 0x638: 0x6e, 0x639: 0x6f, 0x63a: 0x70, 0x63b: 0x160, 0x63c: 0xb8, 0x63d: 0xb8, 0x63e: 0xb8, 0x63f: 0xb8, + // Block 0x19, offset 0x640 + 0x640: 0x161, 0x641: 0x9b, 0x642: 0x162, 0x643: 0x163, 0x644: 0x71, 0x645: 0x72, 0x646: 0x164, 0x647: 0x165, + 0x648: 0x73, 0x649: 0x166, 0x64a: 0xb8, 0x64b: 0xb8, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b, + 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x167, 0x65c: 0x9b, 0x65d: 0x168, 0x65e: 0x9b, 0x65f: 0x169, + 0x660: 0x16a, 0x661: 0x16b, 0x662: 0x16c, 0x663: 0xb8, 0x664: 0x16d, 0x665: 0x16e, 0x666: 0x16f, 0x667: 0x170, + 0x668: 0xb8, 0x669: 0xb8, 0x66a: 0xb8, 0x66b: 0xb8, 0x66c: 0xb8, 0x66d: 0xb8, 0x66e: 0xb8, 0x66f: 0xb8, + 0x670: 0xb8, 0x671: 0xb8, 0x672: 0xb8, 0x673: 0xb8, 0x674: 0xb8, 0x675: 0xb8, 0x676: 0xb8, 0x677: 0xb8, + 0x678: 0xb8, 0x679: 0xb8, 0x67a: 0xb8, 0x67b: 0xb8, 0x67c: 0xb8, 0x67d: 0xb8, 0x67e: 0xb8, 0x67f: 0xb8, + // Block 0x1a, offset 0x680 + 0x680: 0x9d, 0x681: 0x9d, 0x682: 0x9d, 0x683: 0x9d, 0x684: 0x9d, 0x685: 0x9d, 0x686: 0x9d, 0x687: 0x9d, + 0x688: 0x9d, 0x689: 0x9d, 0x68a: 0x9d, 0x68b: 0x9d, 0x68c: 0x9d, 0x68d: 0x9d, 0x68e: 0x9d, 0x68f: 0x9d, + 0x690: 0x9d, 0x691: 0x9d, 0x692: 0x9d, 0x693: 0x9d, 0x694: 0x9d, 0x695: 0x9d, 0x696: 0x9d, 0x697: 0x9d, + 0x698: 0x9d, 0x699: 0x9d, 0x69a: 0x9d, 0x69b: 0x171, 0x69c: 0x9d, 0x69d: 0x9d, 0x69e: 0x9d, 0x69f: 0x9d, + 0x6a0: 0x9d, 0x6a1: 0x9d, 0x6a2: 0x9d, 0x6a3: 0x9d, 0x6a4: 0x9d, 0x6a5: 0x9d, 0x6a6: 0x9d, 0x6a7: 0x9d, + 0x6a8: 0x9d, 0x6a9: 0x9d, 0x6aa: 0x9d, 0x6ab: 0x9d, 0x6ac: 0x9d, 0x6ad: 0x9d, 0x6ae: 0x9d, 0x6af: 0x9d, + 0x6b0: 0x9d, 0x6b1: 0x9d, 0x6b2: 0x9d, 0x6b3: 0x9d, 0x6b4: 0x9d, 0x6b5: 0x9d, 0x6b6: 0x9d, 0x6b7: 0x9d, + 0x6b8: 0x9d, 0x6b9: 0x9d, 0x6ba: 0x9d, 0x6bb: 0x9d, 0x6bc: 0x9d, 0x6bd: 0x9d, 0x6be: 0x9d, 0x6bf: 0x9d, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0x9d, 0x6c1: 0x9d, 0x6c2: 0x9d, 0x6c3: 0x9d, 0x6c4: 0x9d, 0x6c5: 0x9d, 0x6c6: 0x9d, 0x6c7: 0x9d, + 0x6c8: 0x9d, 0x6c9: 0x9d, 0x6ca: 0x9d, 0x6cb: 0x9d, 0x6cc: 0x9d, 0x6cd: 0x9d, 0x6ce: 0x9d, 0x6cf: 0x9d, + 0x6d0: 0x9d, 0x6d1: 0x9d, 0x6d2: 0x9d, 0x6d3: 0x9d, 0x6d4: 0x9d, 0x6d5: 0x9d, 0x6d6: 0x9d, 0x6d7: 0x9d, + 0x6d8: 0x9d, 0x6d9: 0x9d, 0x6da: 0x9d, 0x6db: 0x9d, 0x6dc: 0x172, 0x6dd: 0x9d, 0x6de: 0x9d, 0x6df: 0x9d, + 0x6e0: 0x173, 0x6e1: 0x9d, 0x6e2: 0x9d, 0x6e3: 0x9d, 0x6e4: 0x9d, 0x6e5: 0x9d, 0x6e6: 0x9d, 0x6e7: 0x9d, + 0x6e8: 0x9d, 0x6e9: 0x9d, 0x6ea: 0x9d, 0x6eb: 0x9d, 0x6ec: 0x9d, 0x6ed: 0x9d, 0x6ee: 0x9d, 0x6ef: 0x9d, + 0x6f0: 0x9d, 0x6f1: 0x9d, 0x6f2: 0x9d, 0x6f3: 0x9d, 0x6f4: 0x9d, 0x6f5: 0x9d, 0x6f6: 0x9d, 0x6f7: 0x9d, + 0x6f8: 0x9d, 0x6f9: 0x9d, 0x6fa: 0x9d, 0x6fb: 0x9d, 0x6fc: 0x9d, 0x6fd: 0x9d, 0x6fe: 0x9d, 0x6ff: 0x9d, + // Block 0x1c, offset 0x700 + 0x700: 0x9d, 0x701: 0x9d, 0x702: 0x9d, 0x703: 0x9d, 0x704: 0x9d, 0x705: 0x9d, 0x706: 0x9d, 0x707: 0x9d, + 0x708: 0x9d, 0x709: 0x9d, 0x70a: 0x9d, 0x70b: 0x9d, 0x70c: 0x9d, 0x70d: 0x9d, 0x70e: 0x9d, 0x70f: 0x9d, + 0x710: 0x9d, 0x711: 0x9d, 0x712: 0x9d, 0x713: 0x9d, 0x714: 0x9d, 0x715: 0x9d, 0x716: 0x9d, 0x717: 0x9d, + 0x718: 0x9d, 0x719: 0x9d, 0x71a: 0x9d, 0x71b: 0x9d, 0x71c: 0x9d, 0x71d: 0x9d, 0x71e: 0x9d, 0x71f: 0x9d, + 0x720: 0x9d, 0x721: 0x9d, 0x722: 0x9d, 0x723: 0x9d, 0x724: 0x9d, 0x725: 0x9d, 0x726: 0x9d, 0x727: 0x9d, + 0x728: 0x9d, 0x729: 0x9d, 0x72a: 0x9d, 0x72b: 0x9d, 0x72c: 0x9d, 0x72d: 0x9d, 0x72e: 0x9d, 0x72f: 0x9d, + 0x730: 0x9d, 0x731: 0x9d, 0x732: 0x9d, 0x733: 0x9d, 0x734: 0x9d, 0x735: 0x9d, 0x736: 0x9d, 0x737: 0x9d, + 0x738: 0x9d, 0x739: 0x9d, 0x73a: 0x174, 0x73b: 0xb8, 0x73c: 0xb8, 0x73d: 0xb8, 0x73e: 0xb8, 0x73f: 0xb8, + // Block 0x1d, offset 0x740 + 0x740: 0xb8, 0x741: 0xb8, 0x742: 0xb8, 0x743: 0xb8, 0x744: 0xb8, 0x745: 0xb8, 0x746: 0xb8, 0x747: 0xb8, + 0x748: 0xb8, 0x749: 0xb8, 0x74a: 0xb8, 0x74b: 0xb8, 0x74c: 0xb8, 0x74d: 0xb8, 0x74e: 0xb8, 0x74f: 0xb8, + 0x750: 0xb8, 0x751: 0xb8, 0x752: 0xb8, 0x753: 0xb8, 0x754: 0xb8, 0x755: 0xb8, 0x756: 0xb8, 0x757: 0xb8, + 0x758: 0xb8, 0x759: 0xb8, 0x75a: 0xb8, 0x75b: 0xb8, 0x75c: 0xb8, 0x75d: 0xb8, 0x75e: 0xb8, 0x75f: 0xb8, + 0x760: 0x74, 0x761: 0x75, 0x762: 0x76, 0x763: 0x175, 0x764: 0x77, 0x765: 0x78, 0x766: 0x176, 0x767: 0x79, + 0x768: 0x7a, 0x769: 0xb8, 0x76a: 0xb8, 0x76b: 0xb8, 0x76c: 0xb8, 0x76d: 0xb8, 0x76e: 0xb8, 0x76f: 0xb8, + 0x770: 0xb8, 0x771: 0xb8, 0x772: 0xb8, 0x773: 0xb8, 0x774: 0xb8, 0x775: 0xb8, 0x776: 0xb8, 0x777: 0xb8, + 0x778: 0xb8, 0x779: 0xb8, 0x77a: 0xb8, 0x77b: 0xb8, 0x77c: 0xb8, 0x77d: 0xb8, 0x77e: 0xb8, 0x77f: 0xb8, + // Block 0x1e, offset 0x780 + 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07, + 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17, + 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07, + 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b, + 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b, + 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b, + 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b, + 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b, + 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b, + 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b, + 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b, + 0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b, + 0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b, + // Block 0x20, offset 0x800 + 0x800: 0x177, 0x801: 0x178, 0x802: 0xb8, 0x803: 0xb8, 0x804: 0x179, 0x805: 0x179, 0x806: 0x179, 0x807: 0x17a, + 0x808: 0xb8, 0x809: 0xb8, 0x80a: 0xb8, 0x80b: 0xb8, 0x80c: 0xb8, 0x80d: 0xb8, 0x80e: 0xb8, 0x80f: 0xb8, + 0x810: 0xb8, 0x811: 0xb8, 0x812: 0xb8, 0x813: 0xb8, 0x814: 0xb8, 0x815: 0xb8, 0x816: 0xb8, 0x817: 0xb8, + 0x818: 0xb8, 0x819: 0xb8, 0x81a: 0xb8, 0x81b: 0xb8, 0x81c: 0xb8, 0x81d: 0xb8, 0x81e: 0xb8, 0x81f: 0xb8, + 0x820: 0xb8, 0x821: 0xb8, 0x822: 0xb8, 0x823: 0xb8, 0x824: 0xb8, 0x825: 0xb8, 0x826: 0xb8, 0x827: 0xb8, + 0x828: 0xb8, 0x829: 0xb8, 0x82a: 0xb8, 0x82b: 0xb8, 0x82c: 0xb8, 0x82d: 0xb8, 0x82e: 0xb8, 0x82f: 0xb8, + 0x830: 0xb8, 0x831: 0xb8, 0x832: 0xb8, 0x833: 0xb8, 0x834: 0xb8, 0x835: 0xb8, 0x836: 0xb8, 0x837: 0xb8, + 0x838: 0xb8, 0x839: 0xb8, 0x83a: 0xb8, 0x83b: 0xb8, 0x83c: 0xb8, 0x83d: 0xb8, 0x83e: 0xb8, 0x83f: 0xb8, + // Block 0x21, offset 0x840 + 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, + 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, + 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, + 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, + 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, + 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, + 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, + 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, + // Block 0x22, offset 0x880 + 0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b, + 0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b, +} + +// idnaSparseOffset: 256 entries, 512 bytes +var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x5c, 0x60, 0x6f, 0x74, 0x7b, 0x87, 0x95, 0xa3, 0xa8, 0xb1, 0xc1, 0xcf, 0xdc, 0xe8, 0xf9, 0x103, 0x10a, 0x117, 0x128, 0x12f, 0x13a, 0x149, 0x157, 0x161, 0x163, 0x167, 0x169, 0x175, 0x180, 0x188, 0x18e, 0x194, 0x199, 0x19e, 0x1a1, 0x1a5, 0x1ab, 0x1b0, 0x1bc, 0x1c6, 0x1cc, 0x1dd, 0x1e7, 0x1ea, 0x1f2, 0x1f5, 0x202, 0x20a, 0x20e, 0x215, 0x21d, 0x22d, 0x239, 0x23b, 0x245, 0x251, 0x25d, 0x269, 0x271, 0x276, 0x280, 0x291, 0x295, 0x2a0, 0x2a4, 0x2ad, 0x2b5, 0x2bb, 0x2c0, 0x2c3, 0x2c6, 0x2ca, 0x2d0, 0x2d4, 0x2d8, 0x2de, 0x2e5, 0x2eb, 0x2f3, 0x2fa, 0x305, 0x30f, 0x313, 0x316, 0x31c, 0x320, 0x322, 0x325, 0x327, 0x32a, 0x334, 0x337, 0x346, 0x34a, 0x34f, 0x352, 0x356, 0x35b, 0x360, 0x366, 0x36c, 0x37b, 0x381, 0x385, 0x394, 0x399, 0x3a1, 0x3ab, 0x3b6, 0x3be, 0x3cf, 0x3d8, 0x3e8, 0x3f5, 0x3ff, 0x404, 0x411, 0x415, 0x41a, 0x41c, 0x420, 0x422, 0x426, 0x42f, 0x435, 0x439, 0x449, 0x453, 0x458, 0x45b, 0x461, 0x468, 0x46d, 0x471, 0x477, 0x47c, 0x485, 0x48a, 0x490, 0x497, 0x49e, 0x4a5, 0x4a9, 0x4ae, 0x4b1, 0x4b6, 0x4c2, 0x4c8, 0x4cd, 0x4d4, 0x4dc, 0x4e1, 0x4e5, 0x4f5, 0x4fc, 0x500, 0x504, 0x50b, 0x50e, 0x511, 0x515, 0x519, 0x51f, 0x528, 0x534, 0x53b, 0x544, 0x54c, 0x553, 0x561, 0x56e, 0x57b, 0x584, 0x588, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5e5, 0x5ea, 0x5ed, 0x5f7, 0x600, 0x60c, 0x60f, 0x614, 0x617, 0x61a, 0x61d, 0x624, 0x62b, 0x62f, 0x63a, 0x63d, 0x643, 0x648, 0x64c, 0x64f, 0x652, 0x655, 0x65a, 0x664, 0x667, 0x66b, 0x67a, 0x686, 0x68a, 0x68f, 0x694, 0x698, 0x69d, 0x6a6, 0x6b1, 0x6b7, 0x6bf, 0x6c3, 0x6c7, 0x6cd, 0x6d3, 0x6d8, 0x6db, 0x6e9, 0x6f0, 0x6f3, 0x6f6, 0x6fa, 0x700, 0x705, 0x70f, 0x714, 0x717, 0x71a, 0x71d, 0x720, 0x724, 0x727, 0x737, 0x748, 0x74d, 0x74f, 0x751} + +// idnaSparseValues: 1876 entries, 7504 bytes +var idnaSparseValues = [1876]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0000, lo: 0x07}, + {value: 0xe105, lo: 0x80, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x97}, + {value: 0xe105, lo: 0x98, hi: 0x9e}, + {value: 0x001f, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbf}, + // Block 0x1, offset 0x8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0xe01d, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0335, lo: 0x83, hi: 0x83}, + {value: 0x034d, lo: 0x84, hi: 0x84}, + {value: 0x0365, lo: 0x85, hi: 0x85}, + {value: 0xe00d, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0xe00d, lo: 0x88, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x89}, + {value: 0xe00d, lo: 0x8a, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe00d, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0x8d}, + {value: 0xe00d, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0xbf}, + // Block 0x2, offset 0x19 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x0249, lo: 0xb0, hi: 0xb0}, + {value: 0x037d, lo: 0xb1, hi: 0xb1}, + {value: 0x0259, lo: 0xb2, hi: 0xb2}, + {value: 0x0269, lo: 0xb3, hi: 0xb3}, + {value: 0x034d, lo: 0xb4, hi: 0xb4}, + {value: 0x0395, lo: 0xb5, hi: 0xb5}, + {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, + {value: 0x0279, lo: 0xb7, hi: 0xb7}, + {value: 0x0289, lo: 0xb8, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbf}, + // Block 0x3, offset 0x25 + {value: 0x0000, lo: 0x01}, + {value: 0x1308, lo: 0x80, hi: 0xbf}, + // Block 0x4, offset 0x27 + {value: 0x0000, lo: 0x04}, + {value: 0x03f5, lo: 0x80, hi: 0x8f}, + {value: 0xe105, lo: 0x90, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x5, offset 0x2c + {value: 0x0000, lo: 0x07}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x0545, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0401, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x88}, + {value: 0x0018, lo: 0x89, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x1308, lo: 0x91, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbe}, + {value: 0x1308, lo: 0xbf, hi: 0xbf}, + // Block 0x7, offset 0x3f + {value: 0x0000, lo: 0x0b}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x1308, lo: 0x81, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x83}, + {value: 0x1308, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x1308, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x8, offset 0x4b + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0208, lo: 0x81, hi: 0x87}, + {value: 0x0408, lo: 0x88, hi: 0x88}, + {value: 0x0208, lo: 0x89, hi: 0x8a}, + {value: 0x1308, lo: 0x8b, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xad}, + {value: 0x0208, lo: 0xae, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb0}, + {value: 0x0408, lo: 0xb1, hi: 0xb3}, + {value: 0x0008, lo: 0xb4, hi: 0xb4}, + {value: 0x0429, lo: 0xb5, hi: 0xb5}, + {value: 0x0451, lo: 0xb6, hi: 0xb6}, + {value: 0x0479, lo: 0xb7, hi: 0xb7}, + {value: 0x04a1, lo: 0xb8, hi: 0xb8}, + {value: 0x0208, lo: 0xb9, hi: 0xbf}, + // Block 0x9, offset 0x5c + {value: 0x0000, lo: 0x03}, + {value: 0x0208, lo: 0x80, hi: 0x87}, + {value: 0x0408, lo: 0x88, hi: 0x99}, + {value: 0x0208, lo: 0x9a, hi: 0xbf}, + // Block 0xa, offset 0x60 + {value: 0x0000, lo: 0x0e}, + {value: 0x1308, lo: 0x80, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8c}, + {value: 0x0408, lo: 0x8d, hi: 0x8d}, + {value: 0x0208, lo: 0x8e, hi: 0x98}, + {value: 0x0408, lo: 0x99, hi: 0x9b}, + {value: 0x0208, lo: 0x9c, hi: 0xaa}, + {value: 0x0408, lo: 0xab, hi: 0xac}, + {value: 0x0208, lo: 0xad, hi: 0xb0}, + {value: 0x0408, lo: 0xb1, hi: 0xb1}, + {value: 0x0208, lo: 0xb2, hi: 0xb2}, + {value: 0x0408, lo: 0xb3, hi: 0xb4}, + {value: 0x0208, lo: 0xb5, hi: 0xb7}, + {value: 0x0408, lo: 0xb8, hi: 0xb9}, + {value: 0x0208, lo: 0xba, hi: 0xbf}, + // Block 0xb, offset 0x6f + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x1308, lo: 0xa6, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xc, offset 0x74 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0208, lo: 0x8a, hi: 0xaa}, + {value: 0x1308, lo: 0xab, hi: 0xb3}, + {value: 0x0008, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0xd, offset 0x7b + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x1308, lo: 0x96, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9a}, + {value: 0x1308, lo: 0x9b, hi: 0xa3}, + {value: 0x0008, lo: 0xa4, hi: 0xa4}, + {value: 0x1308, lo: 0xa5, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xa8}, + {value: 0x1308, lo: 0xa9, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xe, offset 0x87 + {value: 0x0000, lo: 0x0d}, + {value: 0x0408, lo: 0x80, hi: 0x80}, + {value: 0x0208, lo: 0x81, hi: 0x85}, + {value: 0x0408, lo: 0x86, hi: 0x87}, + {value: 0x0208, lo: 0x88, hi: 0x88}, + {value: 0x0408, lo: 0x89, hi: 0x89}, + {value: 0x0208, lo: 0x8a, hi: 0x93}, + {value: 0x0408, lo: 0x94, hi: 0x94}, + {value: 0x0208, lo: 0x95, hi: 0x95}, + {value: 0x0008, lo: 0x96, hi: 0x98}, + {value: 0x1308, lo: 0x99, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xf, offset 0x95 + {value: 0x0000, lo: 0x0d}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xa9}, + {value: 0x0408, lo: 0xaa, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0408, lo: 0xae, hi: 0xae}, + {value: 0x0208, lo: 0xaf, hi: 0xb0}, + {value: 0x0408, lo: 0xb1, hi: 0xb2}, + {value: 0x0208, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0208, lo: 0xb6, hi: 0xb8}, + {value: 0x0408, lo: 0xb9, hi: 0xb9}, + {value: 0x0208, lo: 0xba, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0xa3 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x93}, + {value: 0x1308, lo: 0x94, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x1308, lo: 0xa3, hi: 0xbf}, + // Block 0x11, offset 0xa8 + {value: 0x0000, lo: 0x08}, + {value: 0x1308, lo: 0x80, hi: 0x82}, + {value: 0x1008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb9}, + {value: 0x1308, lo: 0xba, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbb}, + {value: 0x1308, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbf}, + // Block 0x12, offset 0xb1 + {value: 0x0000, lo: 0x0f}, + {value: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x1008, lo: 0x81, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x85}, + {value: 0x1008, lo: 0x86, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x1008, lo: 0x8a, hi: 0x8c}, + {value: 0x1b08, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x96}, + {value: 0x1008, lo: 0x97, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x13, offset 0xc1 + {value: 0x0000, lo: 0x0d}, + {value: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x1008, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xa9}, + {value: 0x0008, lo: 0xaa, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x1308, lo: 0xbe, hi: 0xbf}, + // Block 0x14, offset 0xcf + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x1308, lo: 0x81, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbf}, + // Block 0x15, offset 0xdc + {value: 0x0000, lo: 0x0b}, + {value: 0x0040, lo: 0x80, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x16, offset 0xe8 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x89}, + {value: 0x1b08, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8e}, + {value: 0x1008, lo: 0x8f, hi: 0x91}, + {value: 0x1308, lo: 0x92, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x95}, + {value: 0x1308, lo: 0x96, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x1008, lo: 0x98, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xb1}, + {value: 0x1008, lo: 0xb2, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x17, offset 0xf9 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xb0}, + {value: 0x1308, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb2}, + {value: 0x08f1, lo: 0xb3, hi: 0xb3}, + {value: 0x1308, lo: 0xb4, hi: 0xb9}, + {value: 0x1b08, lo: 0xba, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x18, offset 0x103 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x1308, lo: 0x87, hi: 0x8e}, + {value: 0x0018, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0xbf}, + // Block 0x19, offset 0x10a + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x1308, lo: 0x88, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0961, lo: 0x9c, hi: 0x9c}, + {value: 0x0999, lo: 0x9d, hi: 0x9d}, + {value: 0x0008, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1a, offset 0x117 + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8a}, + {value: 0x0008, lo: 0x8b, hi: 0x8b}, + {value: 0xe03d, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x97}, + {value: 0x1308, lo: 0x98, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb4}, + {value: 0x1308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xb6}, + {value: 0x1308, lo: 0xb7, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xb8}, + {value: 0x1308, lo: 0xb9, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbf}, + // Block 0x1b, offset 0x128 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x1308, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0xbf}, + // Block 0x1c, offset 0x12f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x1008, lo: 0xab, hi: 0xac}, + {value: 0x1308, lo: 0xad, hi: 0xb0}, + {value: 0x1008, lo: 0xb1, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb7}, + {value: 0x1008, lo: 0xb8, hi: 0xb8}, + {value: 0x1b08, lo: 0xb9, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbc}, + {value: 0x1308, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x1d, offset 0x13a + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x1008, lo: 0x96, hi: 0x97}, + {value: 0x1308, lo: 0x98, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x1308, lo: 0x9e, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xa1}, + {value: 0x1008, lo: 0xa2, hi: 0xa4}, + {value: 0x0008, lo: 0xa5, hi: 0xa6}, + {value: 0x1008, lo: 0xa7, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x1308, lo: 0xb1, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xbf}, + // Block 0x1e, offset 0x149 + {value: 0x0000, lo: 0x0d}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x1308, lo: 0x82, hi: 0x82}, + {value: 0x1008, lo: 0x83, hi: 0x84}, + {value: 0x1308, lo: 0x85, hi: 0x86}, + {value: 0x1008, lo: 0x87, hi: 0x8c}, + {value: 0x1308, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x8e}, + {value: 0x1008, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x1008, lo: 0x9a, hi: 0x9c}, + {value: 0x1308, lo: 0x9d, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0x1f, offset 0x157 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x86}, + {value: 0x055d, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8c}, + {value: 0x055d, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbb}, + {value: 0xe105, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0x20, offset 0x161 + {value: 0x0000, lo: 0x01}, + {value: 0x0018, lo: 0x80, hi: 0xbf}, + // Block 0x21, offset 0x163 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbf}, + // Block 0x22, offset 0x167 + {value: 0x0000, lo: 0x01}, + {value: 0x0008, lo: 0x80, hi: 0xbf}, + // Block 0x23, offset 0x169 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x99}, + {value: 0x0008, lo: 0x9a, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x24, offset 0x175 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x25, offset 0x180 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x26, offset 0x188 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0x0008, lo: 0x92, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbf}, + // Block 0x27, offset 0x18e + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9c}, + {value: 0x1308, lo: 0x9d, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x28, offset 0x194 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x29, offset 0x199 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x2a, offset 0x19e + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x2b, offset 0x1a1 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xbf}, + // Block 0x2c, offset 0x1a5 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x2d, offset 0x1ab + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0x2e, offset 0x1b0 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8d}, + {value: 0x0008, lo: 0x8e, hi: 0x91}, + {value: 0x1308, lo: 0x92, hi: 0x93}, + {value: 0x1b08, lo: 0x94, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb3}, + {value: 0x1b08, lo: 0xb4, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x2f, offset 0x1bc + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x1308, lo: 0x92, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x30, offset 0x1c6 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xb3}, + {value: 0x1340, lo: 0xb4, hi: 0xb5}, + {value: 0x1008, lo: 0xb6, hi: 0xb6}, + {value: 0x1308, lo: 0xb7, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbf}, + // Block 0x31, offset 0x1cc + {value: 0x0000, lo: 0x10}, + {value: 0x1008, lo: 0x80, hi: 0x85}, + {value: 0x1308, lo: 0x86, hi: 0x86}, + {value: 0x1008, lo: 0x87, hi: 0x88}, + {value: 0x1308, lo: 0x89, hi: 0x91}, + {value: 0x1b08, lo: 0x92, hi: 0x92}, + {value: 0x1308, lo: 0x93, hi: 0x93}, + {value: 0x0018, lo: 0x94, hi: 0x96}, + {value: 0x0008, lo: 0x97, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x1308, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x32, offset 0x1dd + {value: 0x0000, lo: 0x09}, + {value: 0x0018, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x86}, + {value: 0x0218, lo: 0x87, hi: 0x87}, + {value: 0x0018, lo: 0x88, hi: 0x8a}, + {value: 0x13c0, lo: 0x8b, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0208, lo: 0xa0, hi: 0xbf}, + // Block 0x33, offset 0x1e7 + {value: 0x0000, lo: 0x02}, + {value: 0x0208, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x34, offset 0x1ea + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x1308, lo: 0x85, hi: 0x86}, + {value: 0x0208, lo: 0x87, hi: 0xa8}, + {value: 0x1308, lo: 0xa9, hi: 0xa9}, + {value: 0x0208, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x35, offset 0x1f2 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0x36, offset 0x1f5 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x1308, lo: 0xa0, hi: 0xa2}, + {value: 0x1008, lo: 0xa3, hi: 0xa6}, + {value: 0x1308, lo: 0xa7, hi: 0xa8}, + {value: 0x1008, lo: 0xa9, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x1008, lo: 0xb0, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb2}, + {value: 0x1008, lo: 0xb3, hi: 0xb8}, + {value: 0x1308, lo: 0xb9, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x37, offset 0x202 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0008, lo: 0x86, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0x38, offset 0x20a + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x39, offset 0x20e + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0028, lo: 0x9a, hi: 0x9a}, + {value: 0x0040, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0xbf}, + // Block 0x3a, offset 0x215 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x1308, lo: 0x97, hi: 0x98}, + {value: 0x1008, lo: 0x99, hi: 0x9a}, + {value: 0x1308, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x3b, offset 0x21d + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x94}, + {value: 0x1008, lo: 0x95, hi: 0x95}, + {value: 0x1308, lo: 0x96, hi: 0x96}, + {value: 0x1008, lo: 0x97, hi: 0x97}, + {value: 0x1308, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x1b08, lo: 0xa0, hi: 0xa0}, + {value: 0x1008, lo: 0xa1, hi: 0xa1}, + {value: 0x1308, lo: 0xa2, hi: 0xa2}, + {value: 0x1008, lo: 0xa3, hi: 0xa4}, + {value: 0x1308, lo: 0xa5, hi: 0xac}, + {value: 0x1008, lo: 0xad, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x1308, lo: 0xbf, hi: 0xbf}, + // Block 0x3c, offset 0x22d + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xbd}, + {value: 0x1318, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x3d, offset 0x239 + {value: 0x0000, lo: 0x01}, + {value: 0x0040, lo: 0x80, hi: 0xbf}, + // Block 0x3e, offset 0x23b + {value: 0x0000, lo: 0x09}, + {value: 0x1308, lo: 0x80, hi: 0x83}, + {value: 0x1008, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xb3}, + {value: 0x1308, lo: 0xb4, hi: 0xb4}, + {value: 0x1008, lo: 0xb5, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbb}, + {value: 0x1308, lo: 0xbc, hi: 0xbc}, + {value: 0x1008, lo: 0xbd, hi: 0xbf}, + // Block 0x3f, offset 0x245 + {value: 0x0000, lo: 0x0b}, + {value: 0x1008, lo: 0x80, hi: 0x81}, + {value: 0x1308, lo: 0x82, hi: 0x82}, + {value: 0x1008, lo: 0x83, hi: 0x83}, + {value: 0x1808, lo: 0x84, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xaa}, + {value: 0x1308, lo: 0xab, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x40, offset 0x251 + {value: 0x0000, lo: 0x0b}, + {value: 0x1308, lo: 0x80, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa0}, + {value: 0x1008, lo: 0xa1, hi: 0xa1}, + {value: 0x1308, lo: 0xa2, hi: 0xa5}, + {value: 0x1008, lo: 0xa6, hi: 0xa7}, + {value: 0x1308, lo: 0xa8, hi: 0xa9}, + {value: 0x1808, lo: 0xaa, hi: 0xaa}, + {value: 0x1b08, lo: 0xab, hi: 0xab}, + {value: 0x1308, lo: 0xac, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xbf}, + // Block 0x41, offset 0x25d + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x1308, lo: 0xa6, hi: 0xa6}, + {value: 0x1008, lo: 0xa7, hi: 0xa7}, + {value: 0x1308, lo: 0xa8, hi: 0xa9}, + {value: 0x1008, lo: 0xaa, hi: 0xac}, + {value: 0x1308, lo: 0xad, hi: 0xad}, + {value: 0x1008, lo: 0xae, hi: 0xae}, + {value: 0x1308, lo: 0xaf, hi: 0xb1}, + {value: 0x1808, lo: 0xb2, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbf}, + // Block 0x42, offset 0x269 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x1008, lo: 0xa4, hi: 0xab}, + {value: 0x1308, lo: 0xac, hi: 0xb3}, + {value: 0x1008, lo: 0xb4, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x43, offset 0x271 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x44, offset 0x276 + {value: 0x0000, lo: 0x09}, + {value: 0x0e29, lo: 0x80, hi: 0x80}, + {value: 0x0e41, lo: 0x81, hi: 0x81}, + {value: 0x0e59, lo: 0x82, hi: 0x82}, + {value: 0x0e71, lo: 0x83, hi: 0x83}, + {value: 0x0e89, lo: 0x84, hi: 0x85}, + {value: 0x0ea1, lo: 0x86, hi: 0x86}, + {value: 0x0eb9, lo: 0x87, hi: 0x87}, + {value: 0x057d, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0x45, offset 0x280 + {value: 0x0000, lo: 0x10}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x1308, lo: 0x90, hi: 0x92}, + {value: 0x0018, lo: 0x93, hi: 0x93}, + {value: 0x1308, lo: 0x94, hi: 0xa0}, + {value: 0x1008, lo: 0xa1, hi: 0xa1}, + {value: 0x1308, lo: 0xa2, hi: 0xa8}, + {value: 0x0008, lo: 0xa9, hi: 0xac}, + {value: 0x1308, lo: 0xad, hi: 0xad}, + {value: 0x0008, lo: 0xae, hi: 0xb1}, + {value: 0x1008, lo: 0xb2, hi: 0xb3}, + {value: 0x1308, lo: 0xb4, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x1308, lo: 0xb8, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x46, offset 0x291 + {value: 0x0000, lo: 0x03}, + {value: 0x1308, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x1308, lo: 0xbb, hi: 0xbf}, + // Block 0x47, offset 0x295 + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x87}, + {value: 0xe045, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0xe045, lo: 0x98, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0xe045, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb7}, + {value: 0xe045, lo: 0xb8, hi: 0xbf}, + // Block 0x48, offset 0x2a0 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x1318, lo: 0x90, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbf}, + // Block 0x49, offset 0x2a4 + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x88}, + {value: 0x24c1, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x4a, offset 0x2ad + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x24f1, lo: 0xac, hi: 0xac}, + {value: 0x2529, lo: 0xad, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xae}, + {value: 0x2579, lo: 0xaf, hi: 0xaf}, + {value: 0x25b1, lo: 0xb0, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0x4b, offset 0x2b5 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x9f}, + {value: 0x0080, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xad}, + {value: 0x0080, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x4c, offset 0x2bb + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xa8}, + {value: 0x09c5, lo: 0xa9, hi: 0xa9}, + {value: 0x09e5, lo: 0xaa, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xbf}, + // Block 0x4d, offset 0x2c0 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x4e, offset 0x2c3 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xbf}, + // Block 0x4f, offset 0x2c6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x28c1, lo: 0x8c, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0xbf}, + // Block 0x50, offset 0x2ca + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0e66, lo: 0xb4, hi: 0xb4}, + {value: 0x292a, lo: 0xb5, hi: 0xb5}, + {value: 0x0e86, lo: 0xb6, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x51, offset 0x2d0 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x9b}, + {value: 0x2941, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0xbf}, + // Block 0x52, offset 0x2d4 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0x53, offset 0x2d8 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0x54, offset 0x2de + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xab}, + {value: 0x0018, lo: 0xac, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x55, offset 0x2e5 + {value: 0x0000, lo: 0x05}, + {value: 0xe185, lo: 0x80, hi: 0x8f}, + {value: 0x03f5, lo: 0x90, hi: 0x9f}, + {value: 0x0ea5, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x56, offset 0x2eb + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xa6}, + {value: 0x0008, lo: 0xa7, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xac}, + {value: 0x0008, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x57, offset 0x2f3 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xae}, + {value: 0xe075, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0x58, offset 0x2fa + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x0008, lo: 0xb8, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x59, offset 0x305 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x1308, lo: 0xa0, hi: 0xbf}, + // Block 0x5a, offset 0x30f + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0008, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x5b, offset 0x313 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0xbf}, + // Block 0x5c, offset 0x316 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9e}, + {value: 0x0edd, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0x5d, offset 0x31c + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xb2}, + {value: 0x0efd, lo: 0xb3, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0x5e, offset 0x320 + {value: 0x0020, lo: 0x01}, + {value: 0x0f1d, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x322 + {value: 0x0020, lo: 0x02}, + {value: 0x171d, lo: 0x80, hi: 0x8f}, + {value: 0x18fd, lo: 0x90, hi: 0xbf}, + // Block 0x60, offset 0x325 + {value: 0x0020, lo: 0x01}, + {value: 0x1efd, lo: 0x80, hi: 0xbf}, + // Block 0x61, offset 0x327 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0xbf}, + // Block 0x62, offset 0x32a + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x98}, + {value: 0x1308, lo: 0x99, hi: 0x9a}, + {value: 0x29e2, lo: 0x9b, hi: 0x9b}, + {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, + {value: 0x0008, lo: 0x9d, hi: 0x9e}, + {value: 0x2a31, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0008, lo: 0xa1, hi: 0xbf}, + // Block 0x63, offset 0x334 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xbe}, + {value: 0x2a69, lo: 0xbf, hi: 0xbf}, + // Block 0x64, offset 0x337 + {value: 0x0000, lo: 0x0e}, + {value: 0x0040, lo: 0x80, hi: 0x84}, + {value: 0x0008, lo: 0x85, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xb0}, + {value: 0x2a1d, lo: 0xb1, hi: 0xb1}, + {value: 0x2a3d, lo: 0xb2, hi: 0xb2}, + {value: 0x2a5d, lo: 0xb3, hi: 0xb3}, + {value: 0x2a7d, lo: 0xb4, hi: 0xb4}, + {value: 0x2a5d, lo: 0xb5, hi: 0xb5}, + {value: 0x2a9d, lo: 0xb6, hi: 0xb6}, + {value: 0x2abd, lo: 0xb7, hi: 0xb7}, + {value: 0x2add, lo: 0xb8, hi: 0xb9}, + {value: 0x2afd, lo: 0xba, hi: 0xbb}, + {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, + {value: 0x2afd, lo: 0xbe, hi: 0xbf}, + // Block 0x65, offset 0x346 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x66, offset 0x34a + {value: 0x0030, lo: 0x04}, + {value: 0x2aa2, lo: 0x80, hi: 0x9d}, + {value: 0x305a, lo: 0x9e, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x30a2, lo: 0xa0, hi: 0xbf}, + // Block 0x67, offset 0x34f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x68, offset 0x352 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0040, lo: 0x8d, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0x69, offset 0x356 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0x6a, offset 0x35b + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xbf}, + // Block 0x6b, offset 0x360 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb1}, + {value: 0x0018, lo: 0xb2, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6c, offset 0x366 + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb7}, + {value: 0x2009, lo: 0xb8, hi: 0xb8}, + {value: 0x6e89, lo: 0xb9, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xbf}, + // Block 0x6d, offset 0x36c + {value: 0x0000, lo: 0x0e}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x1308, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0x85}, + {value: 0x1b08, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x1308, lo: 0x8b, hi: 0x8b}, + {value: 0x0008, lo: 0x8c, hi: 0xa2}, + {value: 0x1008, lo: 0xa3, hi: 0xa4}, + {value: 0x1308, lo: 0xa5, hi: 0xa6}, + {value: 0x1008, lo: 0xa7, hi: 0xa7}, + {value: 0x0018, lo: 0xa8, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x6e, offset 0x37b + {value: 0x0000, lo: 0x05}, + {value: 0x0208, lo: 0x80, hi: 0xb1}, + {value: 0x0108, lo: 0xb2, hi: 0xb2}, + {value: 0x0008, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0x6f, offset 0x381 + {value: 0x0000, lo: 0x03}, + {value: 0x1008, lo: 0x80, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0xb3}, + {value: 0x1008, lo: 0xb4, hi: 0xbf}, + // Block 0x70, offset 0x385 + {value: 0x0000, lo: 0x0e}, + {value: 0x1008, lo: 0x80, hi: 0x83}, + {value: 0x1b08, lo: 0x84, hi: 0x84}, + {value: 0x1308, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8d}, + {value: 0x0018, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x1308, lo: 0xa0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xba}, + {value: 0x0008, lo: 0xbb, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x71, offset 0x394 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa5}, + {value: 0x1308, lo: 0xa6, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x72, offset 0x399 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x1308, lo: 0x87, hi: 0x91}, + {value: 0x1008, lo: 0x92, hi: 0x92}, + {value: 0x1808, lo: 0x93, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0x73, offset 0x3a1 + {value: 0x0000, lo: 0x09}, + {value: 0x1308, lo: 0x80, hi: 0x82}, + {value: 0x1008, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xb3}, + {value: 0x1008, lo: 0xb4, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xb9}, + {value: 0x1008, lo: 0xba, hi: 0xbb}, + {value: 0x1308, lo: 0xbc, hi: 0xbc}, + {value: 0x1008, lo: 0xbd, hi: 0xbf}, + // Block 0x74, offset 0x3ab + {value: 0x0000, lo: 0x0a}, + {value: 0x1808, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa4}, + {value: 0x1308, lo: 0xa5, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0x75, offset 0x3b6 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xa8}, + {value: 0x1308, lo: 0xa9, hi: 0xae}, + {value: 0x1008, lo: 0xaf, hi: 0xb0}, + {value: 0x1308, lo: 0xb1, hi: 0xb2}, + {value: 0x1008, lo: 0xb3, hi: 0xb4}, + {value: 0x1308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x76, offset 0x3be + {value: 0x0000, lo: 0x10}, + {value: 0x0008, lo: 0x80, hi: 0x82}, + {value: 0x1308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x8b}, + {value: 0x1308, lo: 0x8c, hi: 0x8c}, + {value: 0x1008, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xb9}, + {value: 0x0008, lo: 0xba, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbb}, + {value: 0x1308, lo: 0xbc, hi: 0xbc}, + {value: 0x1008, lo: 0xbd, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3cf + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb0}, + {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb4}, + {value: 0x0008, lo: 0xb5, hi: 0xb6}, + {value: 0x1308, lo: 0xb7, hi: 0xb8}, + {value: 0x0008, lo: 0xb9, hi: 0xbd}, + {value: 0x1308, lo: 0xbe, hi: 0xbf}, + // Block 0x78, offset 0x3d8 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x1308, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x9a}, + {value: 0x0008, lo: 0x9b, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xaa}, + {value: 0x1008, lo: 0xab, hi: 0xab}, + {value: 0x1308, lo: 0xac, hi: 0xad}, + {value: 0x1008, lo: 0xae, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xb4}, + {value: 0x1008, lo: 0xb5, hi: 0xb5}, + {value: 0x1b08, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x79, offset 0x3e8 + {value: 0x0000, lo: 0x0c}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x88}, + {value: 0x0008, lo: 0x89, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x90}, + {value: 0x0008, lo: 0x91, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x7a, offset 0x3f5 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x4465, lo: 0x9c, hi: 0x9c}, + {value: 0x447d, lo: 0x9d, hi: 0x9d}, + {value: 0x2971, lo: 0x9e, hi: 0x9e}, + {value: 0xe06d, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa5}, + {value: 0x0040, lo: 0xa6, hi: 0xaf}, + {value: 0x4495, lo: 0xb0, hi: 0xbf}, + // Block 0x7b, offset 0x3ff + {value: 0x0000, lo: 0x04}, + {value: 0x44b5, lo: 0x80, hi: 0x8f}, + {value: 0x44d5, lo: 0x90, hi: 0x9f}, + {value: 0x44f5, lo: 0xa0, hi: 0xaf}, + {value: 0x44d5, lo: 0xb0, hi: 0xbf}, + // Block 0x7c, offset 0x404 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0xa2}, + {value: 0x1008, lo: 0xa3, hi: 0xa4}, + {value: 0x1308, lo: 0xa5, hi: 0xa5}, + {value: 0x1008, lo: 0xa6, hi: 0xa7}, + {value: 0x1308, lo: 0xa8, hi: 0xa8}, + {value: 0x1008, lo: 0xa9, hi: 0xaa}, + {value: 0x0018, lo: 0xab, hi: 0xab}, + {value: 0x1008, lo: 0xac, hi: 0xac}, + {value: 0x1b08, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0x7d, offset 0x411 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0x7e, offset 0x415 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x7f, offset 0x41a + {value: 0x0020, lo: 0x01}, + {value: 0x4515, lo: 0x80, hi: 0xbf}, + // Block 0x80, offset 0x41c + {value: 0x0020, lo: 0x03}, + {value: 0x4d15, lo: 0x80, hi: 0x94}, + {value: 0x4ad5, lo: 0x95, hi: 0x95}, + {value: 0x4fb5, lo: 0x96, hi: 0xbf}, + // Block 0x81, offset 0x420 + {value: 0x0020, lo: 0x01}, + {value: 0x54f5, lo: 0x80, hi: 0xbf}, + // Block 0x82, offset 0x422 + {value: 0x0020, lo: 0x03}, + {value: 0x5cf5, lo: 0x80, hi: 0x84}, + {value: 0x5655, lo: 0x85, hi: 0x85}, + {value: 0x5d95, lo: 0x86, hi: 0xbf}, + // Block 0x83, offset 0x426 + {value: 0x0020, lo: 0x08}, + {value: 0x6b55, lo: 0x80, hi: 0x8f}, + {value: 0x6d15, lo: 0x90, hi: 0x90}, + {value: 0x6d55, lo: 0x91, hi: 0xab}, + {value: 0x6ea1, lo: 0xac, hi: 0xac}, + {value: 0x70b5, lo: 0xad, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x70d5, lo: 0xb0, hi: 0xbf}, + // Block 0x84, offset 0x42f + {value: 0x0020, lo: 0x05}, + {value: 0x72d5, lo: 0x80, hi: 0xad}, + {value: 0x6535, lo: 0xae, hi: 0xae}, + {value: 0x7895, lo: 0xaf, hi: 0xb5}, + {value: 0x6f55, lo: 0xb6, hi: 0xb6}, + {value: 0x7975, lo: 0xb7, hi: 0xbf}, + // Block 0x85, offset 0x435 + {value: 0x0028, lo: 0x03}, + {value: 0x7c21, lo: 0x80, hi: 0x82}, + {value: 0x7be1, lo: 0x83, hi: 0x83}, + {value: 0x7c99, lo: 0x84, hi: 0xbf}, + // Block 0x86, offset 0x439 + {value: 0x0038, lo: 0x0f}, + {value: 0x9db1, lo: 0x80, hi: 0x83}, + {value: 0x9e59, lo: 0x84, hi: 0x85}, + {value: 0x9e91, lo: 0x86, hi: 0x87}, + {value: 0x9ec9, lo: 0x88, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x91}, + {value: 0xa089, lo: 0x92, hi: 0x97}, + {value: 0xa1a1, lo: 0x98, hi: 0x9c}, + {value: 0xa281, lo: 0x9d, hi: 0xb3}, + {value: 0x9d41, lo: 0xb4, hi: 0xb4}, + {value: 0x9db1, lo: 0xb5, hi: 0xb5}, + {value: 0xa789, lo: 0xb6, hi: 0xbb}, + {value: 0xa869, lo: 0xbc, hi: 0xbc}, + {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, + {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, + // Block 0x87, offset 0x449 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8c}, + {value: 0x0008, lo: 0x8d, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x88, offset 0x453 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0x89, offset 0x458 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x8a, offset 0x45b + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x82}, + {value: 0x0040, lo: 0x83, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x8b, offset 0x461 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x8e}, + {value: 0x0040, lo: 0x8f, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0x8c, offset 0x468 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbc}, + {value: 0x1308, lo: 0xbd, hi: 0xbd}, + {value: 0x0040, lo: 0xbe, hi: 0xbf}, + // Block 0x8d, offset 0x46d + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0040, lo: 0x9d, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x8e, offset 0x471 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x90}, + {value: 0x0040, lo: 0x91, hi: 0x9f}, + {value: 0x1308, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x8f, offset 0x477 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x90, offset 0x47c + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x81}, + {value: 0x0008, lo: 0x82, hi: 0x89}, + {value: 0x0018, lo: 0x8a, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbf}, + // Block 0x91, offset 0x485 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0x92, offset 0x48a + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0xbf}, + // Block 0x93, offset 0x490 + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x97}, + {value: 0x8ad5, lo: 0x98, hi: 0x9f}, + {value: 0x8aed, lo: 0xa0, hi: 0xa7}, + {value: 0x0008, lo: 0xa8, hi: 0xbf}, + // Block 0x94, offset 0x497 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x8aed, lo: 0xb0, hi: 0xb7}, + {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, + // Block 0x95, offset 0x49e + {value: 0x0000, lo: 0x06}, + {value: 0xe145, lo: 0x80, hi: 0x87}, + {value: 0xe1c5, lo: 0x88, hi: 0x8f}, + {value: 0xe145, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0xbb}, + {value: 0x0040, lo: 0xbc, hi: 0xbf}, + // Block 0x96, offset 0x4a5 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0x97, offset 0x4a9 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xae}, + {value: 0x0018, lo: 0xaf, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x98, offset 0x4ae + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0x99, offset 0x4b1 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xbf}, + // Block 0x9a, offset 0x4b6 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb6}, + {value: 0x0008, lo: 0xb7, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbb}, + {value: 0x0008, lo: 0xbc, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0x9b, offset 0x4c2 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x96}, + {value: 0x0018, lo: 0x97, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0x9c, offset 0x4c8 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xa6}, + {value: 0x0018, lo: 0xa7, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0x9d, offset 0x4cd + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb3}, + {value: 0x0008, lo: 0xb4, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbf}, + // Block 0x9e, offset 0x4d4 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0018, lo: 0x96, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbe}, + {value: 0x0018, lo: 0xbf, hi: 0xbf}, + // Block 0x9f, offset 0x4dc + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbb}, + {value: 0x0018, lo: 0xbc, hi: 0xbd}, + {value: 0x0008, lo: 0xbe, hi: 0xbf}, + // Block 0xa0, offset 0x4e1 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xbf}, + // Block 0xa1, offset 0x4e5 + {value: 0x0000, lo: 0x0f}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x1308, lo: 0x81, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x84}, + {value: 0x1308, lo: 0x85, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x8b}, + {value: 0x1308, lo: 0x8c, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x94}, + {value: 0x0008, lo: 0x95, hi: 0x97}, + {value: 0x0040, lo: 0x98, hi: 0x98}, + {value: 0x0008, lo: 0x99, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xb7}, + {value: 0x1308, lo: 0xb8, hi: 0xba}, + {value: 0x0040, lo: 0xbb, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa2, offset 0x4f5 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbc}, + {value: 0x0018, lo: 0xbd, hi: 0xbf}, + // Block 0xa3, offset 0x4fc + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xa4, offset 0x500 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb8}, + {value: 0x0018, lo: 0xb9, hi: 0xbf}, + // Block 0xa5, offset 0x504 + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0040, lo: 0x96, hi: 0x97}, + {value: 0x0018, lo: 0x98, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbf}, + // Block 0xa6, offset 0x50b + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0xbf}, + // Block 0xa7, offset 0x50e + {value: 0x0000, lo: 0x02}, + {value: 0x03dd, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xa8, offset 0x511 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x515 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xaa, offset 0x519 + {value: 0x0000, lo: 0x05}, + {value: 0x1008, lo: 0x80, hi: 0x80}, + {value: 0x1308, lo: 0x81, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb7}, + {value: 0x1308, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x51f + {value: 0x0000, lo: 0x08}, + {value: 0x1308, lo: 0x80, hi: 0x85}, + {value: 0x1b08, lo: 0x86, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x91}, + {value: 0x0018, lo: 0x92, hi: 0xa5}, + {value: 0x0008, lo: 0xa6, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x528 + {value: 0x0000, lo: 0x0b}, + {value: 0x1308, lo: 0x80, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xaf}, + {value: 0x1008, lo: 0xb0, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xb6}, + {value: 0x1008, lo: 0xb7, hi: 0xb8}, + {value: 0x1b08, lo: 0xb9, hi: 0xb9}, + {value: 0x1308, lo: 0xba, hi: 0xba}, + {value: 0x0018, lo: 0xbb, hi: 0xbc}, + {value: 0x0340, lo: 0xbd, hi: 0xbd}, + {value: 0x0018, lo: 0xbe, hi: 0xbf}, + // Block 0xad, offset 0x534 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xae, offset 0x53b + {value: 0x0000, lo: 0x08}, + {value: 0x1308, lo: 0x80, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xa6}, + {value: 0x1308, lo: 0xa7, hi: 0xab}, + {value: 0x1008, lo: 0xac, hi: 0xac}, + {value: 0x1308, lo: 0xad, hi: 0xb2}, + {value: 0x1b08, lo: 0xb3, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xbf}, + // Block 0xaf, offset 0x544 + {value: 0x0000, lo: 0x07}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xb3}, + {value: 0x0018, lo: 0xb4, hi: 0xb5}, + {value: 0x0008, lo: 0xb6, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xb0, offset 0x54c + {value: 0x0000, lo: 0x06}, + {value: 0x1308, lo: 0x80, hi: 0x81}, + {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x0008, lo: 0x83, hi: 0xb2}, + {value: 0x1008, lo: 0xb3, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xbe}, + {value: 0x1008, lo: 0xbf, hi: 0xbf}, + // Block 0xb1, offset 0x553 + {value: 0x0000, lo: 0x0d}, + {value: 0x1808, lo: 0x80, hi: 0x80}, + {value: 0x0008, lo: 0x81, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x89}, + {value: 0x1308, lo: 0x8a, hi: 0x8c}, + {value: 0x0018, lo: 0x8d, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0008, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x0018, lo: 0xa1, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xb2, offset 0x561 + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0xab}, + {value: 0x1008, lo: 0xac, hi: 0xae}, + {value: 0x1308, lo: 0xaf, hi: 0xb1}, + {value: 0x1008, lo: 0xb2, hi: 0xb3}, + {value: 0x1308, lo: 0xb4, hi: 0xb4}, + {value: 0x1808, lo: 0xb5, hi: 0xb5}, + {value: 0x1308, lo: 0xb6, hi: 0xb7}, + {value: 0x0018, lo: 0xb8, hi: 0xbd}, + {value: 0x1308, lo: 0xbe, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x56e + {value: 0x0000, lo: 0x0c}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0x8d}, + {value: 0x0040, lo: 0x8e, hi: 0x8e}, + {value: 0x0008, lo: 0x8f, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9e}, + {value: 0x0008, lo: 0x9f, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbf}, + // Block 0xb4, offset 0x57b + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x1308, lo: 0x9f, hi: 0x9f}, + {value: 0x1008, lo: 0xa0, hi: 0xa2}, + {value: 0x1308, lo: 0xa3, hi: 0xa9}, + {value: 0x1b08, lo: 0xaa, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0040, lo: 0xba, hi: 0xbf}, + // Block 0xb5, offset 0x584 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x1008, lo: 0xb5, hi: 0xb7}, + {value: 0x1308, lo: 0xb8, hi: 0xbf}, + // Block 0xb6, offset 0x588 + {value: 0x0000, lo: 0x0d}, + {value: 0x1008, lo: 0x80, hi: 0x81}, + {value: 0x1b08, lo: 0x82, hi: 0x82}, + {value: 0x1308, lo: 0x83, hi: 0x84}, + {value: 0x1008, lo: 0x85, hi: 0x85}, + {value: 0x1308, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x8a}, + {value: 0x0018, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0x9b}, + {value: 0x0040, lo: 0x9c, hi: 0x9c}, + {value: 0x0018, lo: 0x9d, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xb7, offset 0x596 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x1008, lo: 0xb0, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xb8}, + {value: 0x1008, lo: 0xb9, hi: 0xb9}, + {value: 0x1308, lo: 0xba, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbe}, + {value: 0x1308, lo: 0xbf, hi: 0xbf}, + // Block 0xb8, offset 0x59e + {value: 0x0000, lo: 0x0a}, + {value: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x1008, lo: 0x81, hi: 0x81}, + {value: 0x1b08, lo: 0x82, hi: 0x82}, + {value: 0x1308, lo: 0x83, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x85}, + {value: 0x0018, lo: 0x86, hi: 0x86}, + {value: 0x0008, lo: 0x87, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xb9, offset 0x5a9 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x1008, lo: 0xaf, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xb7}, + {value: 0x1008, lo: 0xb8, hi: 0xbb}, + {value: 0x1308, lo: 0xbc, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0xba, offset 0x5b2 + {value: 0x0000, lo: 0x05}, + {value: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x97}, + {value: 0x0008, lo: 0x98, hi: 0x9b}, + {value: 0x1308, lo: 0x9c, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0xbf}, + // Block 0xbb, offset 0x5b8 + {value: 0x0000, lo: 0x07}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x1008, lo: 0xb0, hi: 0xb2}, + {value: 0x1308, lo: 0xb3, hi: 0xba}, + {value: 0x1008, lo: 0xbb, hi: 0xbc}, + {value: 0x1308, lo: 0xbd, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0xbc, offset 0x5c0 + {value: 0x0000, lo: 0x08}, + {value: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x83}, + {value: 0x0008, lo: 0x84, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xbd, offset 0x5c9 + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x1308, lo: 0xab, hi: 0xab}, + {value: 0x1008, lo: 0xac, hi: 0xac}, + {value: 0x1308, lo: 0xad, hi: 0xad}, + {value: 0x1008, lo: 0xae, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb5}, + {value: 0x1808, lo: 0xb6, hi: 0xb6}, + {value: 0x1308, lo: 0xb7, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbf}, + // Block 0xbe, offset 0x5d3 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x89}, + {value: 0x0040, lo: 0x8a, hi: 0xbf}, + // Block 0xbf, offset 0x5d6 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9c}, + {value: 0x1308, lo: 0x9d, hi: 0x9f}, + {value: 0x1008, lo: 0xa0, hi: 0xa1}, + {value: 0x1308, lo: 0xa2, hi: 0xa5}, + {value: 0x1008, lo: 0xa6, hi: 0xa6}, + {value: 0x1308, lo: 0xa7, hi: 0xaa}, + {value: 0x1b08, lo: 0xab, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xb9}, + {value: 0x0018, lo: 0xba, hi: 0xbf}, + // Block 0xc0, offset 0x5e2 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x049d, lo: 0xa0, hi: 0xbf}, + // Block 0xc1, offset 0x5e5 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbe}, + {value: 0x0008, lo: 0xbf, hi: 0xbf}, + // Block 0xc2, offset 0x5ea + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb8}, + {value: 0x0040, lo: 0xb9, hi: 0xbf}, + // Block 0xc3, offset 0x5ed + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x89}, + {value: 0x0008, lo: 0x8a, hi: 0xae}, + {value: 0x1008, lo: 0xaf, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xb7}, + {value: 0x1308, lo: 0xb8, hi: 0xbd}, + {value: 0x1008, lo: 0xbe, hi: 0xbe}, + {value: 0x1b08, lo: 0xbf, hi: 0xbf}, + // Block 0xc4, offset 0x5f7 + {value: 0x0000, lo: 0x08}, + {value: 0x0008, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0018, lo: 0x9a, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0008, lo: 0xb2, hi: 0xbf}, + // Block 0xc5, offset 0x600 + {value: 0x0000, lo: 0x0b}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x91}, + {value: 0x1308, lo: 0x92, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xa8}, + {value: 0x1008, lo: 0xa9, hi: 0xa9}, + {value: 0x1308, lo: 0xaa, hi: 0xb0}, + {value: 0x1008, lo: 0xb1, hi: 0xb1}, + {value: 0x1308, lo: 0xb2, hi: 0xb3}, + {value: 0x1008, lo: 0xb4, hi: 0xb4}, + {value: 0x1308, lo: 0xb5, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xc6, offset 0x60c + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0xbf}, + // Block 0xc7, offset 0x60f + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xc8, offset 0x614 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0040, lo: 0x84, hi: 0xbf}, + // Block 0xc9, offset 0x617 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xbf}, + // Block 0xca, offset 0x61a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0xbf}, + // Block 0xcb, offset 0x61d + {value: 0x0000, lo: 0x06}, + {value: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa9}, + {value: 0x0040, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xcc, offset 0x624 + {value: 0x0000, lo: 0x06}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb4}, + {value: 0x0018, lo: 0xb5, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xcd, offset 0x62b + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0xaf}, + {value: 0x1308, lo: 0xb0, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xbf}, + // Block 0xce, offset 0x62f + {value: 0x0000, lo: 0x0a}, + {value: 0x0008, lo: 0x80, hi: 0x83}, + {value: 0x0018, lo: 0x84, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9a}, + {value: 0x0018, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x0008, lo: 0xa3, hi: 0xb7}, + {value: 0x0040, lo: 0xb8, hi: 0xbc}, + {value: 0x0008, lo: 0xbd, hi: 0xbf}, + // Block 0xcf, offset 0x63a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0xbf}, + // Block 0xd0, offset 0x63d + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x90}, + {value: 0x1008, lo: 0x91, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xd1, offset 0x643 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x8e}, + {value: 0x1308, lo: 0x8f, hi: 0x92}, + {value: 0x0008, lo: 0x93, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xd2, offset 0x648 + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xa0}, + {value: 0x0040, lo: 0xa1, hi: 0xbf}, + // Block 0xd3, offset 0x64c + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xd4, offset 0x64f + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0040, lo: 0xb3, hi: 0xbf}, + // Block 0xd5, offset 0x652 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0xbf}, + // Block 0xd6, offset 0x655 + {value: 0x0000, lo: 0x04}, + {value: 0x0008, lo: 0x80, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xaf}, + {value: 0x0008, lo: 0xb0, hi: 0xbc}, + {value: 0x0040, lo: 0xbd, hi: 0xbf}, + // Block 0xd7, offset 0x65a + {value: 0x0000, lo: 0x09}, + {value: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9b}, + {value: 0x0018, lo: 0x9c, hi: 0x9c}, + {value: 0x1308, lo: 0x9d, hi: 0x9e}, + {value: 0x0018, lo: 0x9f, hi: 0x9f}, + {value: 0x03c0, lo: 0xa0, hi: 0xa3}, + {value: 0x0040, lo: 0xa4, hi: 0xbf}, + // Block 0xd8, offset 0x664 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xd9, offset 0x667 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xa6}, + {value: 0x0040, lo: 0xa7, hi: 0xa8}, + {value: 0x0018, lo: 0xa9, hi: 0xbf}, + // Block 0xda, offset 0x66b + {value: 0x0000, lo: 0x0e}, + {value: 0x0018, lo: 0x80, hi: 0x9d}, + {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, + {value: 0xb601, lo: 0x9f, hi: 0x9f}, + {value: 0xb649, lo: 0xa0, hi: 0xa0}, + {value: 0xb6b1, lo: 0xa1, hi: 0xa1}, + {value: 0xb719, lo: 0xa2, hi: 0xa2}, + {value: 0xb781, lo: 0xa3, hi: 0xa3}, + {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, + {value: 0x1018, lo: 0xa5, hi: 0xa6}, + {value: 0x1318, lo: 0xa7, hi: 0xa9}, + {value: 0x0018, lo: 0xaa, hi: 0xac}, + {value: 0x1018, lo: 0xad, hi: 0xb2}, + {value: 0x0340, lo: 0xb3, hi: 0xba}, + {value: 0x1318, lo: 0xbb, hi: 0xbf}, + // Block 0xdb, offset 0x67a + {value: 0x0000, lo: 0x0b}, + {value: 0x1318, lo: 0x80, hi: 0x82}, + {value: 0x0018, lo: 0x83, hi: 0x84}, + {value: 0x1318, lo: 0x85, hi: 0x8b}, + {value: 0x0018, lo: 0x8c, hi: 0xa9}, + {value: 0x1318, lo: 0xaa, hi: 0xad}, + {value: 0x0018, lo: 0xae, hi: 0xba}, + {value: 0xb851, lo: 0xbb, hi: 0xbb}, + {value: 0xb899, lo: 0xbc, hi: 0xbc}, + {value: 0xb8e1, lo: 0xbd, hi: 0xbd}, + {value: 0xb949, lo: 0xbe, hi: 0xbe}, + {value: 0xb9b1, lo: 0xbf, hi: 0xbf}, + // Block 0xdc, offset 0x686 + {value: 0x0000, lo: 0x03}, + {value: 0xba19, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0xa8}, + {value: 0x0040, lo: 0xa9, hi: 0xbf}, + // Block 0xdd, offset 0x68a + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x81}, + {value: 0x1318, lo: 0x82, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x85}, + {value: 0x0040, lo: 0x86, hi: 0xbf}, + // Block 0xde, offset 0x68f + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xdf, offset 0x694 + {value: 0x0000, lo: 0x03}, + {value: 0x1308, lo: 0x80, hi: 0xb6}, + {value: 0x0018, lo: 0xb7, hi: 0xba}, + {value: 0x1308, lo: 0xbb, hi: 0xbf}, + // Block 0xe0, offset 0x698 + {value: 0x0000, lo: 0x04}, + {value: 0x1308, lo: 0x80, hi: 0xac}, + {value: 0x0018, lo: 0xad, hi: 0xb4}, + {value: 0x1308, lo: 0xb5, hi: 0xb5}, + {value: 0x0018, lo: 0xb6, hi: 0xbf}, + // Block 0xe1, offset 0x69d + {value: 0x0000, lo: 0x08}, + {value: 0x0018, lo: 0x80, hi: 0x83}, + {value: 0x1308, lo: 0x84, hi: 0x84}, + {value: 0x0018, lo: 0x85, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x9a}, + {value: 0x1308, lo: 0x9b, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xa0}, + {value: 0x1308, lo: 0xa1, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, + // Block 0xe2, offset 0x6a6 + {value: 0x0000, lo: 0x0a}, + {value: 0x1308, lo: 0x80, hi: 0x86}, + {value: 0x0040, lo: 0x87, hi: 0x87}, + {value: 0x1308, lo: 0x88, hi: 0x98}, + {value: 0x0040, lo: 0x99, hi: 0x9a}, + {value: 0x1308, lo: 0x9b, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xa2}, + {value: 0x1308, lo: 0xa3, hi: 0xa4}, + {value: 0x0040, lo: 0xa5, hi: 0xa5}, + {value: 0x1308, lo: 0xa6, hi: 0xaa}, + {value: 0x0040, lo: 0xab, hi: 0xbf}, + // Block 0xe3, offset 0x6b1 + {value: 0x0000, lo: 0x05}, + {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0040, lo: 0x85, hi: 0x86}, + {value: 0x0018, lo: 0x87, hi: 0x8f}, + {value: 0x1308, lo: 0x90, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xe4, offset 0x6b7 + {value: 0x0000, lo: 0x07}, + {value: 0x0208, lo: 0x80, hi: 0x83}, + {value: 0x1308, lo: 0x84, hi: 0x8a}, + {value: 0x0040, lo: 0x8b, hi: 0x8f}, + {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9d}, + {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0040, lo: 0xa0, hi: 0xbf}, + // Block 0xe5, offset 0x6bf + {value: 0x0000, lo: 0x03}, + {value: 0x0040, lo: 0x80, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb1}, + {value: 0x0040, lo: 0xb2, hi: 0xbf}, + // Block 0xe6, offset 0x6c3 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0xab}, + {value: 0x0040, lo: 0xac, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xbf}, + // Block 0xe7, offset 0x6c7 + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x93}, + {value: 0x0040, lo: 0x94, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xae}, + {value: 0x0040, lo: 0xaf, hi: 0xb0}, + {value: 0x0018, lo: 0xb1, hi: 0xbf}, + // Block 0xe8, offset 0x6cd + {value: 0x0000, lo: 0x05}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0018, lo: 0x81, hi: 0x8f}, + {value: 0x0040, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xb5}, + {value: 0x0040, lo: 0xb6, hi: 0xbf}, + // Block 0xe9, offset 0x6d3 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0xc1c1, lo: 0x90, hi: 0x90}, + {value: 0x0018, lo: 0x91, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xbf}, + // Block 0xea, offset 0x6d8 + {value: 0x0000, lo: 0x02}, + {value: 0x0040, lo: 0x80, hi: 0xa5}, + {value: 0x0018, lo: 0xa6, hi: 0xbf}, + // Block 0xeb, offset 0x6db + {value: 0x0000, lo: 0x0d}, + {value: 0xc7e9, lo: 0x80, hi: 0x80}, + {value: 0xc839, lo: 0x81, hi: 0x81}, + {value: 0xc889, lo: 0x82, hi: 0x82}, + {value: 0xc8d9, lo: 0x83, hi: 0x83}, + {value: 0xc929, lo: 0x84, hi: 0x84}, + {value: 0xc979, lo: 0x85, hi: 0x85}, + {value: 0xc9c9, lo: 0x86, hi: 0x86}, + {value: 0xca19, lo: 0x87, hi: 0x87}, + {value: 0xca69, lo: 0x88, hi: 0x88}, + {value: 0x0040, lo: 0x89, hi: 0x8f}, + {value: 0xcab9, lo: 0x90, hi: 0x90}, + {value: 0xcad9, lo: 0x91, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xec, offset 0x6e9 + {value: 0x0000, lo: 0x06}, + {value: 0x0018, lo: 0x80, hi: 0x92}, + {value: 0x0040, lo: 0x93, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xac}, + {value: 0x0040, lo: 0xad, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb6}, + {value: 0x0040, lo: 0xb7, hi: 0xbf}, + // Block 0xed, offset 0x6f0 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0xb3}, + {value: 0x0040, lo: 0xb4, hi: 0xbf}, + // Block 0xee, offset 0x6f3 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x94}, + {value: 0x0040, lo: 0x95, hi: 0xbf}, + // Block 0xef, offset 0x6f6 + {value: 0x0000, lo: 0x03}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xbf}, + // Block 0xf0, offset 0x6fa + {value: 0x0000, lo: 0x05}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x99}, + {value: 0x0040, lo: 0x9a, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xbf}, + // Block 0xf1, offset 0x700 + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0040, lo: 0x88, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0xad}, + {value: 0x0040, lo: 0xae, hi: 0xbf}, + // Block 0xf2, offset 0x705 + {value: 0x0000, lo: 0x09}, + {value: 0x0040, lo: 0x80, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0x9f}, + {value: 0x0018, lo: 0xa0, hi: 0xa7}, + {value: 0x0040, lo: 0xa8, hi: 0xaf}, + {value: 0x0018, lo: 0xb0, hi: 0xb0}, + {value: 0x0040, lo: 0xb1, hi: 0xb2}, + {value: 0x0018, lo: 0xb3, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xf3, offset 0x70f + {value: 0x0000, lo: 0x04}, + {value: 0x0018, lo: 0x80, hi: 0x8b}, + {value: 0x0040, lo: 0x8c, hi: 0x8f}, + {value: 0x0018, lo: 0x90, hi: 0x9e}, + {value: 0x0040, lo: 0x9f, hi: 0xbf}, + // Block 0xf4, offset 0x714 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x91}, + {value: 0x0040, lo: 0x92, hi: 0xbf}, + // Block 0xf5, offset 0x717 + {value: 0x0000, lo: 0x02}, + {value: 0x0018, lo: 0x80, hi: 0x80}, + {value: 0x0040, lo: 0x81, hi: 0xbf}, + // Block 0xf6, offset 0x71a + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0x96}, + {value: 0x0040, lo: 0x97, hi: 0xbf}, + // Block 0xf7, offset 0x71d + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xb4}, + {value: 0x0040, lo: 0xb5, hi: 0xbf}, + // Block 0xf8, offset 0x720 + {value: 0x0000, lo: 0x03}, + {value: 0x0008, lo: 0x80, hi: 0x9d}, + {value: 0x0040, lo: 0x9e, hi: 0x9f}, + {value: 0x0008, lo: 0xa0, hi: 0xbf}, + // Block 0xf9, offset 0x724 + {value: 0x0000, lo: 0x02}, + {value: 0x0008, lo: 0x80, hi: 0xa1}, + {value: 0x0040, lo: 0xa2, hi: 0xbf}, + // Block 0xfa, offset 0x727 + {value: 0x0020, lo: 0x0f}, + {value: 0xdeb9, lo: 0x80, hi: 0x89}, + {value: 0x8dfd, lo: 0x8a, hi: 0x8a}, + {value: 0xdff9, lo: 0x8b, hi: 0x9c}, + {value: 0x8e1d, lo: 0x9d, hi: 0x9d}, + {value: 0xe239, lo: 0x9e, hi: 0xa2}, + {value: 0x8e3d, lo: 0xa3, hi: 0xa3}, + {value: 0xe2d9, lo: 0xa4, hi: 0xab}, + {value: 0x7ed5, lo: 0xac, hi: 0xac}, + {value: 0xe3d9, lo: 0xad, hi: 0xaf}, + {value: 0x8e5d, lo: 0xb0, hi: 0xb0}, + {value: 0xe439, lo: 0xb1, hi: 0xb6}, + {value: 0x8e7d, lo: 0xb7, hi: 0xb9}, + {value: 0xe4f9, lo: 0xba, hi: 0xba}, + {value: 0x8edd, lo: 0xbb, hi: 0xbb}, + {value: 0xe519, lo: 0xbc, hi: 0xbf}, + // Block 0xfb, offset 0x737 + {value: 0x0020, lo: 0x10}, + {value: 0x937d, lo: 0x80, hi: 0x80}, + {value: 0xf099, lo: 0x81, hi: 0x86}, + {value: 0x939d, lo: 0x87, hi: 0x8a}, + {value: 0xd9f9, lo: 0x8b, hi: 0x8b}, + {value: 0xf159, lo: 0x8c, hi: 0x96}, + {value: 0x941d, lo: 0x97, hi: 0x97}, + {value: 0xf2b9, lo: 0x98, hi: 0xa3}, + {value: 0x943d, lo: 0xa4, hi: 0xa6}, + {value: 0xf439, lo: 0xa7, hi: 0xaa}, + {value: 0x949d, lo: 0xab, hi: 0xab}, + {value: 0xf4b9, lo: 0xac, hi: 0xac}, + {value: 0x94bd, lo: 0xad, hi: 0xad}, + {value: 0xf4d9, lo: 0xae, hi: 0xaf}, + {value: 0x94dd, lo: 0xb0, hi: 0xb1}, + {value: 0xf519, lo: 0xb2, hi: 0xbe}, + {value: 0x0040, lo: 0xbf, hi: 0xbf}, + // Block 0xfc, offset 0x748 + {value: 0x0000, lo: 0x04}, + {value: 0x0040, lo: 0x80, hi: 0x80}, + {value: 0x0340, lo: 0x81, hi: 0x81}, + {value: 0x0040, lo: 0x82, hi: 0x9f}, + {value: 0x0340, lo: 0xa0, hi: 0xbf}, + // Block 0xfd, offset 0x74d + {value: 0x0000, lo: 0x01}, + {value: 0x0340, lo: 0x80, hi: 0xbf}, + // Block 0xfe, offset 0x74f + {value: 0x0000, lo: 0x01}, + {value: 0x13c0, lo: 0x80, hi: 0xbf}, + // Block 0xff, offset 0x751 + {value: 0x0000, lo: 0x02}, + {value: 0x13c0, lo: 0x80, hi: 0xaf}, + {value: 0x0040, lo: 0xb0, hi: 0xbf}, +} + +// Total table size 41559 bytes (40KiB); checksum: F4A1FA4E diff --git a/vendor/golang.org/x/net/idna/trie.go b/vendor/golang.org/x/net/idna/trie.go new file mode 100644 index 000000000000..c4ef847e7a37 --- /dev/null +++ b/vendor/golang.org/x/net/idna/trie.go @@ -0,0 +1,72 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package idna + +// appendMapping appends the mapping for the respective rune. isMapped must be +// true. A mapping is a categorization of a rune as defined in UTS #46. +func (c info) appendMapping(b []byte, s string) []byte { + index := int(c >> indexShift) + if c&xorBit == 0 { + s := mappings[index:] + return append(b, s[1:s[0]+1]...) + } + b = append(b, s...) + if c&inlineXOR == inlineXOR { + // TODO: support and handle two-byte inline masks + b[len(b)-1] ^= byte(index) + } else { + for p := len(b) - int(xorData[index]); p < len(b); p++ { + index++ + b[p] ^= xorData[index] + } + } + return b +} + +// Sparse block handling code. + +type valueRange struct { + value uint16 // header: value:stride + lo, hi byte // header: lo:n +} + +type sparseBlocks struct { + values []valueRange + offset []uint16 +} + +var idnaSparse = sparseBlocks{ + values: idnaSparseValues[:], + offset: idnaSparseOffset[:], +} + +// Don't use newIdnaTrie to avoid unconditional linking in of the table. +var trie = &idnaTrie{} + +// lookup determines the type of block n and looks up the value for b. +// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block +// is a list of ranges with an accompanying value. Given a matching range r, +// the value for b is by r.value + (b - r.lo) * stride. +func (t *sparseBlocks) lookup(n uint32, b byte) uint16 { + offset := t.offset[n] + header := t.values[offset] + lo := offset + 1 + hi := lo + uint16(header.lo) + for lo < hi { + m := lo + (hi-lo)/2 + r := t.values[m] + if r.lo <= b && b <= r.hi { + return r.value + uint16(b-r.lo)*header.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} diff --git a/vendor/golang.org/x/net/idna/trieval.go b/vendor/golang.org/x/net/idna/trieval.go new file mode 100644 index 000000000000..63cb03b59b12 --- /dev/null +++ b/vendor/golang.org/x/net/idna/trieval.go @@ -0,0 +1,114 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package idna + +// This file contains definitions for interpreting the trie value of the idna +// trie generated by "go run gen*.go". It is shared by both the generator +// program and the resultant package. Sharing is achieved by the generator +// copying gen_trieval.go to trieval.go and changing what's above this comment. + +// info holds information from the IDNA mapping table for a single rune. It is +// the value returned by a trie lookup. In most cases, all information fits in +// a 16-bit value. For mappings, this value may contain an index into a slice +// with the mapped string. Such mappings can consist of the actual mapped value +// or an XOR pattern to be applied to the bytes of the UTF8 encoding of the +// input rune. This technique is used by the cases packages and reduces the +// table size significantly. +// +// The per-rune values have the following format: +// +// if mapped { +// if inlinedXOR { +// 15..13 inline XOR marker +// 12..11 unused +// 10..3 inline XOR mask +// } else { +// 15..3 index into xor or mapping table +// } +// } else { +// 15..13 unused +// 12 modifier (including virama) +// 11 virama modifier +// 10..8 joining type +// 7..3 category type +// } +// 2 use xor pattern +// 1..0 mapped category +// +// See the definitions below for a more detailed description of the various +// bits. +type info uint16 + +const ( + catSmallMask = 0x3 + catBigMask = 0xF8 + indexShift = 3 + xorBit = 0x4 // interpret the index as an xor pattern + inlineXOR = 0xE000 // These bits are set if the XOR pattern is inlined. + + joinShift = 8 + joinMask = 0x07 + + viramaModifier = 0x0800 + modifier = 0x1000 +) + +// A category corresponds to a category defined in the IDNA mapping table. +type category uint16 + +const ( + unknown category = 0 // not defined currently in unicode. + mapped category = 1 + disallowedSTD3Mapped category = 2 + deviation category = 3 +) + +const ( + valid category = 0x08 + validNV8 category = 0x18 + validXV8 category = 0x28 + disallowed category = 0x40 + disallowedSTD3Valid category = 0x80 + ignored category = 0xC0 +) + +// join types and additional rune information +const ( + joiningL = (iota + 1) + joiningD + joiningT + joiningR + + //the following types are derived during processing + joinZWJ + joinZWNJ + joinVirama + numJoinTypes +) + +func (c info) isMapped() bool { + return c&0x3 != 0 +} + +func (c info) category() category { + small := c & catSmallMask + if small != 0 { + return category(small) + } + return category(c & catBigMask) +} + +func (c info) joinType() info { + if c.isMapped() { + return 0 + } + return (c >> joinShift) & joinMask +} + +func (c info) isModifier() bool { + return c&(modifier|catSmallMask) == modifier +} + +func (c info) isViramaModifier() bool { + return c&(viramaModifier|catSmallMask) == viramaModifier +} diff --git a/vendor/golang.org/x/net/internal/timeseries/timeseries.go b/vendor/golang.org/x/net/internal/timeseries/timeseries.go new file mode 100644 index 000000000000..685f0e7ea236 --- /dev/null +++ b/vendor/golang.org/x/net/internal/timeseries/timeseries.go @@ -0,0 +1,525 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package timeseries implements a time series structure for stats collection. +package timeseries // import "golang.org/x/net/internal/timeseries" + +import ( + "fmt" + "log" + "time" +) + +const ( + timeSeriesNumBuckets = 64 + minuteHourSeriesNumBuckets = 60 +) + +var timeSeriesResolutions = []time.Duration{ + 1 * time.Second, + 10 * time.Second, + 1 * time.Minute, + 10 * time.Minute, + 1 * time.Hour, + 6 * time.Hour, + 24 * time.Hour, // 1 day + 7 * 24 * time.Hour, // 1 week + 4 * 7 * 24 * time.Hour, // 4 weeks + 16 * 7 * 24 * time.Hour, // 16 weeks +} + +var minuteHourSeriesResolutions = []time.Duration{ + 1 * time.Second, + 1 * time.Minute, +} + +// An Observable is a kind of data that can be aggregated in a time series. +type Observable interface { + Multiply(ratio float64) // Multiplies the data in self by a given ratio + Add(other Observable) // Adds the data from a different observation to self + Clear() // Clears the observation so it can be reused. + CopyFrom(other Observable) // Copies the contents of a given observation to self +} + +// Float attaches the methods of Observable to a float64. +type Float float64 + +// NewFloat returns a Float. +func NewFloat() Observable { + f := Float(0) + return &f +} + +// String returns the float as a string. +func (f *Float) String() string { return fmt.Sprintf("%g", f.Value()) } + +// Value returns the float's value. +func (f *Float) Value() float64 { return float64(*f) } + +func (f *Float) Multiply(ratio float64) { *f *= Float(ratio) } + +func (f *Float) Add(other Observable) { + o := other.(*Float) + *f += *o +} + +func (f *Float) Clear() { *f = 0 } + +func (f *Float) CopyFrom(other Observable) { + o := other.(*Float) + *f = *o +} + +// A Clock tells the current time. +type Clock interface { + Time() time.Time +} + +type defaultClock int + +var defaultClockInstance defaultClock + +func (defaultClock) Time() time.Time { return time.Now() } + +// Information kept per level. Each level consists of a circular list of +// observations. The start of the level may be derived from end and the +// len(buckets) * sizeInMillis. +type tsLevel struct { + oldest int // index to oldest bucketed Observable + newest int // index to newest bucketed Observable + end time.Time // end timestamp for this level + size time.Duration // duration of the bucketed Observable + buckets []Observable // collections of observations + provider func() Observable // used for creating new Observable +} + +func (l *tsLevel) Clear() { + l.oldest = 0 + l.newest = len(l.buckets) - 1 + l.end = time.Time{} + for i := range l.buckets { + if l.buckets[i] != nil { + l.buckets[i].Clear() + l.buckets[i] = nil + } + } +} + +func (l *tsLevel) InitLevel(size time.Duration, numBuckets int, f func() Observable) { + l.size = size + l.provider = f + l.buckets = make([]Observable, numBuckets) +} + +// Keeps a sequence of levels. Each level is responsible for storing data at +// a given resolution. For example, the first level stores data at a one +// minute resolution while the second level stores data at a one hour +// resolution. + +// Each level is represented by a sequence of buckets. Each bucket spans an +// interval equal to the resolution of the level. New observations are added +// to the last bucket. +type timeSeries struct { + provider func() Observable // make more Observable + numBuckets int // number of buckets in each level + levels []*tsLevel // levels of bucketed Observable + lastAdd time.Time // time of last Observable tracked + total Observable // convenient aggregation of all Observable + clock Clock // Clock for getting current time + pending Observable // observations not yet bucketed + pendingTime time.Time // what time are we keeping in pending + dirty bool // if there are pending observations +} + +// init initializes a level according to the supplied criteria. +func (ts *timeSeries) init(resolutions []time.Duration, f func() Observable, numBuckets int, clock Clock) { + ts.provider = f + ts.numBuckets = numBuckets + ts.clock = clock + ts.levels = make([]*tsLevel, len(resolutions)) + + for i := range resolutions { + if i > 0 && resolutions[i-1] >= resolutions[i] { + log.Print("timeseries: resolutions must be monotonically increasing") + break + } + newLevel := new(tsLevel) + newLevel.InitLevel(resolutions[i], ts.numBuckets, ts.provider) + ts.levels[i] = newLevel + } + + ts.Clear() +} + +// Clear removes all observations from the time series. +func (ts *timeSeries) Clear() { + ts.lastAdd = time.Time{} + ts.total = ts.resetObservation(ts.total) + ts.pending = ts.resetObservation(ts.pending) + ts.pendingTime = time.Time{} + ts.dirty = false + + for i := range ts.levels { + ts.levels[i].Clear() + } +} + +// Add records an observation at the current time. +func (ts *timeSeries) Add(observation Observable) { + ts.AddWithTime(observation, ts.clock.Time()) +} + +// AddWithTime records an observation at the specified time. +func (ts *timeSeries) AddWithTime(observation Observable, t time.Time) { + + smallBucketDuration := ts.levels[0].size + + if t.After(ts.lastAdd) { + ts.lastAdd = t + } + + if t.After(ts.pendingTime) { + ts.advance(t) + ts.mergePendingUpdates() + ts.pendingTime = ts.levels[0].end + ts.pending.CopyFrom(observation) + ts.dirty = true + } else if t.After(ts.pendingTime.Add(-1 * smallBucketDuration)) { + // The observation is close enough to go into the pending bucket. + // This compensates for clock skewing and small scheduling delays + // by letting the update stay in the fast path. + ts.pending.Add(observation) + ts.dirty = true + } else { + ts.mergeValue(observation, t) + } +} + +// mergeValue inserts the observation at the specified time in the past into all levels. +func (ts *timeSeries) mergeValue(observation Observable, t time.Time) { + for _, level := range ts.levels { + index := (ts.numBuckets - 1) - int(level.end.Sub(t)/level.size) + if 0 <= index && index < ts.numBuckets { + bucketNumber := (level.oldest + index) % ts.numBuckets + if level.buckets[bucketNumber] == nil { + level.buckets[bucketNumber] = level.provider() + } + level.buckets[bucketNumber].Add(observation) + } + } + ts.total.Add(observation) +} + +// mergePendingUpdates applies the pending updates into all levels. +func (ts *timeSeries) mergePendingUpdates() { + if ts.dirty { + ts.mergeValue(ts.pending, ts.pendingTime) + ts.pending = ts.resetObservation(ts.pending) + ts.dirty = false + } +} + +// advance cycles the buckets at each level until the latest bucket in +// each level can hold the time specified. +func (ts *timeSeries) advance(t time.Time) { + if !t.After(ts.levels[0].end) { + return + } + for i := 0; i < len(ts.levels); i++ { + level := ts.levels[i] + if !level.end.Before(t) { + break + } + + // If the time is sufficiently far, just clear the level and advance + // directly. + if !t.Before(level.end.Add(level.size * time.Duration(ts.numBuckets))) { + for _, b := range level.buckets { + ts.resetObservation(b) + } + level.end = time.Unix(0, (t.UnixNano()/level.size.Nanoseconds())*level.size.Nanoseconds()) + } + + for t.After(level.end) { + level.end = level.end.Add(level.size) + level.newest = level.oldest + level.oldest = (level.oldest + 1) % ts.numBuckets + ts.resetObservation(level.buckets[level.newest]) + } + + t = level.end + } +} + +// Latest returns the sum of the num latest buckets from the level. +func (ts *timeSeries) Latest(level, num int) Observable { + now := ts.clock.Time() + if ts.levels[0].end.Before(now) { + ts.advance(now) + } + + ts.mergePendingUpdates() + + result := ts.provider() + l := ts.levels[level] + index := l.newest + + for i := 0; i < num; i++ { + if l.buckets[index] != nil { + result.Add(l.buckets[index]) + } + if index == 0 { + index = ts.numBuckets + } + index-- + } + + return result +} + +// LatestBuckets returns a copy of the num latest buckets from level. +func (ts *timeSeries) LatestBuckets(level, num int) []Observable { + if level < 0 || level > len(ts.levels) { + log.Print("timeseries: bad level argument: ", level) + return nil + } + if num < 0 || num >= ts.numBuckets { + log.Print("timeseries: bad num argument: ", num) + return nil + } + + results := make([]Observable, num) + now := ts.clock.Time() + if ts.levels[0].end.Before(now) { + ts.advance(now) + } + + ts.mergePendingUpdates() + + l := ts.levels[level] + index := l.newest + + for i := 0; i < num; i++ { + result := ts.provider() + results[i] = result + if l.buckets[index] != nil { + result.CopyFrom(l.buckets[index]) + } + + if index == 0 { + index = ts.numBuckets + } + index -= 1 + } + return results +} + +// ScaleBy updates observations by scaling by factor. +func (ts *timeSeries) ScaleBy(factor float64) { + for _, l := range ts.levels { + for i := 0; i < ts.numBuckets; i++ { + l.buckets[i].Multiply(factor) + } + } + + ts.total.Multiply(factor) + ts.pending.Multiply(factor) +} + +// Range returns the sum of observations added over the specified time range. +// If start or finish times don't fall on bucket boundaries of the same +// level, then return values are approximate answers. +func (ts *timeSeries) Range(start, finish time.Time) Observable { + return ts.ComputeRange(start, finish, 1)[0] +} + +// Recent returns the sum of observations from the last delta. +func (ts *timeSeries) Recent(delta time.Duration) Observable { + now := ts.clock.Time() + return ts.Range(now.Add(-delta), now) +} + +// Total returns the total of all observations. +func (ts *timeSeries) Total() Observable { + ts.mergePendingUpdates() + return ts.total +} + +// ComputeRange computes a specified number of values into a slice using +// the observations recorded over the specified time period. The return +// values are approximate if the start or finish times don't fall on the +// bucket boundaries at the same level or if the number of buckets spanning +// the range is not an integral multiple of num. +func (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observable { + if start.After(finish) { + log.Printf("timeseries: start > finish, %v>%v", start, finish) + return nil + } + + if num < 0 { + log.Printf("timeseries: num < 0, %v", num) + return nil + } + + results := make([]Observable, num) + + for _, l := range ts.levels { + if !start.Before(l.end.Add(-l.size * time.Duration(ts.numBuckets))) { + ts.extract(l, start, finish, num, results) + return results + } + } + + // Failed to find a level that covers the desired range. So just + // extract from the last level, even if it doesn't cover the entire + // desired range. + ts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results) + + return results +} + +// RecentList returns the specified number of values in slice over the most +// recent time period of the specified range. +func (ts *timeSeries) RecentList(delta time.Duration, num int) []Observable { + if delta < 0 { + return nil + } + now := ts.clock.Time() + return ts.ComputeRange(now.Add(-delta), now, num) +} + +// extract returns a slice of specified number of observations from a given +// level over a given range. +func (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, results []Observable) { + ts.mergePendingUpdates() + + srcInterval := l.size + dstInterval := finish.Sub(start) / time.Duration(num) + dstStart := start + srcStart := l.end.Add(-srcInterval * time.Duration(ts.numBuckets)) + + srcIndex := 0 + + // Where should scanning start? + if dstStart.After(srcStart) { + advance := dstStart.Sub(srcStart) / srcInterval + srcIndex += int(advance) + srcStart = srcStart.Add(advance * srcInterval) + } + + // The i'th value is computed as show below. + // interval = (finish/start)/num + // i'th value = sum of observation in range + // [ start + i * interval, + // start + (i + 1) * interval ) + for i := 0; i < num; i++ { + results[i] = ts.resetObservation(results[i]) + dstEnd := dstStart.Add(dstInterval) + for srcIndex < ts.numBuckets && srcStart.Before(dstEnd) { + srcEnd := srcStart.Add(srcInterval) + if srcEnd.After(ts.lastAdd) { + srcEnd = ts.lastAdd + } + + if !srcEnd.Before(dstStart) { + srcValue := l.buckets[(srcIndex+l.oldest)%ts.numBuckets] + if !srcStart.Before(dstStart) && !srcEnd.After(dstEnd) { + // dst completely contains src. + if srcValue != nil { + results[i].Add(srcValue) + } + } else { + // dst partially overlaps src. + overlapStart := maxTime(srcStart, dstStart) + overlapEnd := minTime(srcEnd, dstEnd) + base := srcEnd.Sub(srcStart) + fraction := overlapEnd.Sub(overlapStart).Seconds() / base.Seconds() + + used := ts.provider() + if srcValue != nil { + used.CopyFrom(srcValue) + } + used.Multiply(fraction) + results[i].Add(used) + } + + if srcEnd.After(dstEnd) { + break + } + } + srcIndex++ + srcStart = srcStart.Add(srcInterval) + } + dstStart = dstStart.Add(dstInterval) + } +} + +// resetObservation clears the content so the struct may be reused. +func (ts *timeSeries) resetObservation(observation Observable) Observable { + if observation == nil { + observation = ts.provider() + } else { + observation.Clear() + } + return observation +} + +// TimeSeries tracks data at granularities from 1 second to 16 weeks. +type TimeSeries struct { + timeSeries +} + +// NewTimeSeries creates a new TimeSeries using the function provided for creating new Observable. +func NewTimeSeries(f func() Observable) *TimeSeries { + return NewTimeSeriesWithClock(f, defaultClockInstance) +} + +// NewTimeSeriesWithClock creates a new TimeSeries using the function provided for creating new Observable and the clock for +// assigning timestamps. +func NewTimeSeriesWithClock(f func() Observable, clock Clock) *TimeSeries { + ts := new(TimeSeries) + ts.timeSeries.init(timeSeriesResolutions, f, timeSeriesNumBuckets, clock) + return ts +} + +// MinuteHourSeries tracks data at granularities of 1 minute and 1 hour. +type MinuteHourSeries struct { + timeSeries +} + +// NewMinuteHourSeries creates a new MinuteHourSeries using the function provided for creating new Observable. +func NewMinuteHourSeries(f func() Observable) *MinuteHourSeries { + return NewMinuteHourSeriesWithClock(f, defaultClockInstance) +} + +// NewMinuteHourSeriesWithClock creates a new MinuteHourSeries using the function provided for creating new Observable and the clock for +// assigning timestamps. +func NewMinuteHourSeriesWithClock(f func() Observable, clock Clock) *MinuteHourSeries { + ts := new(MinuteHourSeries) + ts.timeSeries.init(minuteHourSeriesResolutions, f, + minuteHourSeriesNumBuckets, clock) + return ts +} + +func (ts *MinuteHourSeries) Minute() Observable { + return ts.timeSeries.Latest(0, 60) +} + +func (ts *MinuteHourSeries) Hour() Observable { + return ts.timeSeries.Latest(1, 60) +} + +func minTime(a, b time.Time) time.Time { + if a.Before(b) { + return a + } + return b +} + +func maxTime(a, b time.Time) time.Time { + if a.After(b) { + return a + } + return b +} diff --git a/vendor/golang.org/x/net/lex/httplex/httplex.go b/vendor/golang.org/x/net/lex/httplex/httplex.go new file mode 100644 index 000000000000..20f2b8940bae --- /dev/null +++ b/vendor/golang.org/x/net/lex/httplex/httplex.go @@ -0,0 +1,351 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package httplex contains rules around lexical matters of various +// HTTP-related specifications. +// +// This package is shared by the standard library (which vendors it) +// and x/net/http2. It comes with no API stability promise. +package httplex + +import ( + "net" + "strings" + "unicode/utf8" + + "golang.org/x/net/idna" +) + +var isTokenTable = [127]bool{ + '!': true, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '*': true, + '+': true, + '-': true, + '.': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'W': true, + 'V': true, + 'X': true, + 'Y': true, + 'Z': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '|': true, + '~': true, +} + +func IsTokenRune(r rune) bool { + i := int(r) + return i < len(isTokenTable) && isTokenTable[i] +} + +func isNotToken(r rune) bool { + return !IsTokenRune(r) +} + +// HeaderValuesContainsToken reports whether any string in values +// contains the provided token, ASCII case-insensitively. +func HeaderValuesContainsToken(values []string, token string) bool { + for _, v := range values { + if headerValueContainsToken(v, token) { + return true + } + } + return false +} + +// isOWS reports whether b is an optional whitespace byte, as defined +// by RFC 7230 section 3.2.3. +func isOWS(b byte) bool { return b == ' ' || b == '\t' } + +// trimOWS returns x with all optional whitespace removes from the +// beginning and end. +func trimOWS(x string) string { + // TODO: consider using strings.Trim(x, " \t") instead, + // if and when it's fast enough. See issue 10292. + // But this ASCII-only code will probably always beat UTF-8 + // aware code. + for len(x) > 0 && isOWS(x[0]) { + x = x[1:] + } + for len(x) > 0 && isOWS(x[len(x)-1]) { + x = x[:len(x)-1] + } + return x +} + +// headerValueContainsToken reports whether v (assumed to be a +// 0#element, in the ABNF extension described in RFC 7230 section 7) +// contains token amongst its comma-separated tokens, ASCII +// case-insensitively. +func headerValueContainsToken(v string, token string) bool { + v = trimOWS(v) + if comma := strings.IndexByte(v, ','); comma != -1 { + return tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token) + } + return tokenEqual(v, token) +} + +// lowerASCII returns the ASCII lowercase version of b. +func lowerASCII(b byte) byte { + if 'A' <= b && b <= 'Z' { + return b + ('a' - 'A') + } + return b +} + +// tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively. +func tokenEqual(t1, t2 string) bool { + if len(t1) != len(t2) { + return false + } + for i, b := range t1 { + if b >= utf8.RuneSelf { + // No UTF-8 or non-ASCII allowed in tokens. + return false + } + if lowerASCII(byte(b)) != lowerASCII(t2[i]) { + return false + } + } + return true +} + +// isLWS reports whether b is linear white space, according +// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +// LWS = [CRLF] 1*( SP | HT ) +func isLWS(b byte) bool { return b == ' ' || b == '\t' } + +// isCTL reports whether b is a control byte, according +// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +// CTL = +func isCTL(b byte) bool { + const del = 0x7f // a CTL + return b < ' ' || b == del +} + +// ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name. +// HTTP/2 imposes the additional restriction that uppercase ASCII +// letters are not allowed. +// +// RFC 7230 says: +// header-field = field-name ":" OWS field-value OWS +// field-name = token +// token = 1*tchar +// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / +// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA +func ValidHeaderFieldName(v string) bool { + if len(v) == 0 { + return false + } + for _, r := range v { + if !IsTokenRune(r) { + return false + } + } + return true +} + +// ValidHostHeader reports whether h is a valid host header. +func ValidHostHeader(h string) bool { + // The latest spec is actually this: + // + // http://tools.ietf.org/html/rfc7230#section-5.4 + // Host = uri-host [ ":" port ] + // + // Where uri-host is: + // http://tools.ietf.org/html/rfc3986#section-3.2.2 + // + // But we're going to be much more lenient for now and just + // search for any byte that's not a valid byte in any of those + // expressions. + for i := 0; i < len(h); i++ { + if !validHostByte[h[i]] { + return false + } + } + return true +} + +// See the validHostHeader comment. +var validHostByte = [256]bool{ + '0': true, '1': true, '2': true, '3': true, '4': true, '5': true, '6': true, '7': true, + '8': true, '9': true, + + 'a': true, 'b': true, 'c': true, 'd': true, 'e': true, 'f': true, 'g': true, 'h': true, + 'i': true, 'j': true, 'k': true, 'l': true, 'm': true, 'n': true, 'o': true, 'p': true, + 'q': true, 'r': true, 's': true, 't': true, 'u': true, 'v': true, 'w': true, 'x': true, + 'y': true, 'z': true, + + 'A': true, 'B': true, 'C': true, 'D': true, 'E': true, 'F': true, 'G': true, 'H': true, + 'I': true, 'J': true, 'K': true, 'L': true, 'M': true, 'N': true, 'O': true, 'P': true, + 'Q': true, 'R': true, 'S': true, 'T': true, 'U': true, 'V': true, 'W': true, 'X': true, + 'Y': true, 'Z': true, + + '!': true, // sub-delims + '$': true, // sub-delims + '%': true, // pct-encoded (and used in IPv6 zones) + '&': true, // sub-delims + '(': true, // sub-delims + ')': true, // sub-delims + '*': true, // sub-delims + '+': true, // sub-delims + ',': true, // sub-delims + '-': true, // unreserved + '.': true, // unreserved + ':': true, // IPv6address + Host expression's optional port + ';': true, // sub-delims + '=': true, // sub-delims + '[': true, + '\'': true, // sub-delims + ']': true, + '_': true, // unreserved + '~': true, // unreserved +} + +// ValidHeaderFieldValue reports whether v is a valid "field-value" according to +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 : +// +// message-header = field-name ":" [ field-value ] +// field-value = *( field-content | LWS ) +// field-content = +// +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 : +// +// TEXT = +// LWS = [CRLF] 1*( SP | HT ) +// CTL = +// +// RFC 7230 says: +// field-value = *( field-content / obs-fold ) +// obj-fold = N/A to http2, and deprecated +// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] +// field-vchar = VCHAR / obs-text +// obs-text = %x80-FF +// VCHAR = "any visible [USASCII] character" +// +// http2 further says: "Similarly, HTTP/2 allows header field values +// that are not valid. While most of the values that can be encoded +// will not alter header field parsing, carriage return (CR, ASCII +// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII +// 0x0) might be exploited by an attacker if they are translated +// verbatim. Any request or response that contains a character not +// permitted in a header field value MUST be treated as malformed +// (Section 8.1.2.6). Valid characters are defined by the +// field-content ABNF rule in Section 3.2 of [RFC7230]." +// +// This function does not (yet?) properly handle the rejection of +// strings that begin or end with SP or HTAB. +func ValidHeaderFieldValue(v string) bool { + for i := 0; i < len(v); i++ { + b := v[i] + if isCTL(b) && !isLWS(b) { + return false + } + } + return true +} + +func isASCII(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} + +// PunycodeHostPort returns the IDNA Punycode version +// of the provided "host" or "host:port" string. +func PunycodeHostPort(v string) (string, error) { + if isASCII(v) { + return v, nil + } + + host, port, err := net.SplitHostPort(v) + if err != nil { + // The input 'v' argument was just a "host" argument, + // without a port. This error should not be returned + // to the caller. + host = v + port = "" + } + host, err = idna.ToASCII(host) + if err != nil { + // Non-UTF-8? Not representable in Punycode, in any + // case. + return "", err + } + if port == "" { + return host, nil + } + return net.JoinHostPort(host, port), nil +} diff --git a/vendor/golang.org/x/net/trace/events.go b/vendor/golang.org/x/net/trace/events.go new file mode 100644 index 000000000000..c646a6952e5e --- /dev/null +++ b/vendor/golang.org/x/net/trace/events.go @@ -0,0 +1,532 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package trace + +import ( + "bytes" + "fmt" + "html/template" + "io" + "log" + "net/http" + "runtime" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "text/tabwriter" + "time" +) + +const maxEventsPerLog = 100 + +type bucket struct { + MaxErrAge time.Duration + String string +} + +var buckets = []bucket{ + {0, "total"}, + {10 * time.Second, "errs<10s"}, + {1 * time.Minute, "errs<1m"}, + {10 * time.Minute, "errs<10m"}, + {1 * time.Hour, "errs<1h"}, + {10 * time.Hour, "errs<10h"}, + {24000 * time.Hour, "errors"}, +} + +// RenderEvents renders the HTML page typically served at /debug/events. +// It does not do any auth checking. The request may be nil. +// +// Most users will use the Events handler. +func RenderEvents(w http.ResponseWriter, req *http.Request, sensitive bool) { + now := time.Now() + data := &struct { + Families []string // family names + Buckets []bucket + Counts [][]int // eventLog count per family/bucket + + // Set when a bucket has been selected. + Family string + Bucket int + EventLogs eventLogs + Expanded bool + }{ + Buckets: buckets, + } + + data.Families = make([]string, 0, len(families)) + famMu.RLock() + for name := range families { + data.Families = append(data.Families, name) + } + famMu.RUnlock() + sort.Strings(data.Families) + + // Count the number of eventLogs in each family for each error age. + data.Counts = make([][]int, len(data.Families)) + for i, name := range data.Families { + // TODO(sameer): move this loop under the family lock. + f := getEventFamily(name) + data.Counts[i] = make([]int, len(data.Buckets)) + for j, b := range data.Buckets { + data.Counts[i][j] = f.Count(now, b.MaxErrAge) + } + } + + if req != nil { + var ok bool + data.Family, data.Bucket, ok = parseEventsArgs(req) + if !ok { + // No-op + } else { + data.EventLogs = getEventFamily(data.Family).Copy(now, buckets[data.Bucket].MaxErrAge) + } + if data.EventLogs != nil { + defer data.EventLogs.Free() + sort.Sort(data.EventLogs) + } + if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { + data.Expanded = exp + } + } + + famMu.RLock() + defer famMu.RUnlock() + if err := eventsTmpl().Execute(w, data); err != nil { + log.Printf("net/trace: Failed executing template: %v", err) + } +} + +func parseEventsArgs(req *http.Request) (fam string, b int, ok bool) { + fam, bStr := req.FormValue("fam"), req.FormValue("b") + if fam == "" || bStr == "" { + return "", 0, false + } + b, err := strconv.Atoi(bStr) + if err != nil || b < 0 || b >= len(buckets) { + return "", 0, false + } + return fam, b, true +} + +// An EventLog provides a log of events associated with a specific object. +type EventLog interface { + // Printf formats its arguments with fmt.Sprintf and adds the + // result to the event log. + Printf(format string, a ...interface{}) + + // Errorf is like Printf, but it marks this event as an error. + Errorf(format string, a ...interface{}) + + // Finish declares that this event log is complete. + // The event log should not be used after calling this method. + Finish() +} + +// NewEventLog returns a new EventLog with the specified family name +// and title. +func NewEventLog(family, title string) EventLog { + el := newEventLog() + el.ref() + el.Family, el.Title = family, title + el.Start = time.Now() + el.events = make([]logEntry, 0, maxEventsPerLog) + el.stack = make([]uintptr, 32) + n := runtime.Callers(2, el.stack) + el.stack = el.stack[:n] + + getEventFamily(family).add(el) + return el +} + +func (el *eventLog) Finish() { + getEventFamily(el.Family).remove(el) + el.unref() // matches ref in New +} + +var ( + famMu sync.RWMutex + families = make(map[string]*eventFamily) // family name => family +) + +func getEventFamily(fam string) *eventFamily { + famMu.Lock() + defer famMu.Unlock() + f := families[fam] + if f == nil { + f = &eventFamily{} + families[fam] = f + } + return f +} + +type eventFamily struct { + mu sync.RWMutex + eventLogs eventLogs +} + +func (f *eventFamily) add(el *eventLog) { + f.mu.Lock() + f.eventLogs = append(f.eventLogs, el) + f.mu.Unlock() +} + +func (f *eventFamily) remove(el *eventLog) { + f.mu.Lock() + defer f.mu.Unlock() + for i, el0 := range f.eventLogs { + if el == el0 { + copy(f.eventLogs[i:], f.eventLogs[i+1:]) + f.eventLogs = f.eventLogs[:len(f.eventLogs)-1] + return + } + } +} + +func (f *eventFamily) Count(now time.Time, maxErrAge time.Duration) (n int) { + f.mu.RLock() + defer f.mu.RUnlock() + for _, el := range f.eventLogs { + if el.hasRecentError(now, maxErrAge) { + n++ + } + } + return +} + +func (f *eventFamily) Copy(now time.Time, maxErrAge time.Duration) (els eventLogs) { + f.mu.RLock() + defer f.mu.RUnlock() + els = make(eventLogs, 0, len(f.eventLogs)) + for _, el := range f.eventLogs { + if el.hasRecentError(now, maxErrAge) { + el.ref() + els = append(els, el) + } + } + return +} + +type eventLogs []*eventLog + +// Free calls unref on each element of the list. +func (els eventLogs) Free() { + for _, el := range els { + el.unref() + } +} + +// eventLogs may be sorted in reverse chronological order. +func (els eventLogs) Len() int { return len(els) } +func (els eventLogs) Less(i, j int) bool { return els[i].Start.After(els[j].Start) } +func (els eventLogs) Swap(i, j int) { els[i], els[j] = els[j], els[i] } + +// A logEntry is a timestamped log entry in an event log. +type logEntry struct { + When time.Time + Elapsed time.Duration // since previous event in log + NewDay bool // whether this event is on a different day to the previous event + What string + IsErr bool +} + +// WhenString returns a string representation of the elapsed time of the event. +// It will include the date if midnight was crossed. +func (e logEntry) WhenString() string { + if e.NewDay { + return e.When.Format("2006/01/02 15:04:05.000000") + } + return e.When.Format("15:04:05.000000") +} + +// An eventLog represents an active event log. +type eventLog struct { + // Family is the top-level grouping of event logs to which this belongs. + Family string + + // Title is the title of this event log. + Title string + + // Timing information. + Start time.Time + + // Call stack where this event log was created. + stack []uintptr + + // Append-only sequence of events. + // + // TODO(sameer): change this to a ring buffer to avoid the array copy + // when we hit maxEventsPerLog. + mu sync.RWMutex + events []logEntry + LastErrorTime time.Time + discarded int + + refs int32 // how many buckets this is in +} + +func (el *eventLog) reset() { + // Clear all but the mutex. Mutexes may not be copied, even when unlocked. + el.Family = "" + el.Title = "" + el.Start = time.Time{} + el.stack = nil + el.events = nil + el.LastErrorTime = time.Time{} + el.discarded = 0 + el.refs = 0 +} + +func (el *eventLog) hasRecentError(now time.Time, maxErrAge time.Duration) bool { + if maxErrAge == 0 { + return true + } + el.mu.RLock() + defer el.mu.RUnlock() + return now.Sub(el.LastErrorTime) < maxErrAge +} + +// delta returns the elapsed time since the last event or the log start, +// and whether it spans midnight. +// L >= el.mu +func (el *eventLog) delta(t time.Time) (time.Duration, bool) { + if len(el.events) == 0 { + return t.Sub(el.Start), false + } + prev := el.events[len(el.events)-1].When + return t.Sub(prev), prev.Day() != t.Day() + +} + +func (el *eventLog) Printf(format string, a ...interface{}) { + el.printf(false, format, a...) +} + +func (el *eventLog) Errorf(format string, a ...interface{}) { + el.printf(true, format, a...) +} + +func (el *eventLog) printf(isErr bool, format string, a ...interface{}) { + e := logEntry{When: time.Now(), IsErr: isErr, What: fmt.Sprintf(format, a...)} + el.mu.Lock() + e.Elapsed, e.NewDay = el.delta(e.When) + if len(el.events) < maxEventsPerLog { + el.events = append(el.events, e) + } else { + // Discard the oldest event. + if el.discarded == 0 { + // el.discarded starts at two to count for the event it + // is replacing, plus the next one that we are about to + // drop. + el.discarded = 2 + } else { + el.discarded++ + } + // TODO(sameer): if this causes allocations on a critical path, + // change eventLog.What to be a fmt.Stringer, as in trace.go. + el.events[0].What = fmt.Sprintf("(%d events discarded)", el.discarded) + // The timestamp of the discarded meta-event should be + // the time of the last event it is representing. + el.events[0].When = el.events[1].When + copy(el.events[1:], el.events[2:]) + el.events[maxEventsPerLog-1] = e + } + if e.IsErr { + el.LastErrorTime = e.When + } + el.mu.Unlock() +} + +func (el *eventLog) ref() { + atomic.AddInt32(&el.refs, 1) +} + +func (el *eventLog) unref() { + if atomic.AddInt32(&el.refs, -1) == 0 { + freeEventLog(el) + } +} + +func (el *eventLog) When() string { + return el.Start.Format("2006/01/02 15:04:05.000000") +} + +func (el *eventLog) ElapsedTime() string { + elapsed := time.Since(el.Start) + return fmt.Sprintf("%.6f", elapsed.Seconds()) +} + +func (el *eventLog) Stack() string { + buf := new(bytes.Buffer) + tw := tabwriter.NewWriter(buf, 1, 8, 1, '\t', 0) + printStackRecord(tw, el.stack) + tw.Flush() + return buf.String() +} + +// printStackRecord prints the function + source line information +// for a single stack trace. +// Adapted from runtime/pprof/pprof.go. +func printStackRecord(w io.Writer, stk []uintptr) { + for _, pc := range stk { + f := runtime.FuncForPC(pc) + if f == nil { + continue + } + file, line := f.FileLine(pc) + name := f.Name() + // Hide runtime.goexit and any runtime functions at the beginning. + if strings.HasPrefix(name, "runtime.") { + continue + } + fmt.Fprintf(w, "# %s\t%s:%d\n", name, file, line) + } +} + +func (el *eventLog) Events() []logEntry { + el.mu.RLock() + defer el.mu.RUnlock() + return el.events +} + +// freeEventLogs is a freelist of *eventLog +var freeEventLogs = make(chan *eventLog, 1000) + +// newEventLog returns a event log ready to use. +func newEventLog() *eventLog { + select { + case el := <-freeEventLogs: + return el + default: + return new(eventLog) + } +} + +// freeEventLog adds el to freeEventLogs if there's room. +// This is non-blocking. +func freeEventLog(el *eventLog) { + el.reset() + select { + case freeEventLogs <- el: + default: + } +} + +var eventsTmplCache *template.Template +var eventsTmplOnce sync.Once + +func eventsTmpl() *template.Template { + eventsTmplOnce.Do(func() { + eventsTmplCache = template.Must(template.New("events").Funcs(template.FuncMap{ + "elapsed": elapsed, + "trimSpace": strings.TrimSpace, + }).Parse(eventsHTML)) + }) + return eventsTmplCache +} + +const eventsHTML = ` + + + events + + + + +

/debug/events

+ + + {{range $i, $fam := .Families}} + + + + {{range $j, $bucket := $.Buckets}} + {{$n := index $.Counts $i $j}} + + {{end}} + + {{end}} +
{{$fam}} + {{if $n}}{{end}} + [{{$n}} {{$bucket.String}}] + {{if $n}}{{end}} +
+ +{{if $.EventLogs}} +
+

Family: {{$.Family}}

+ +{{if $.Expanded}}{{end}} +[Summary]{{if $.Expanded}}{{end}} + +{{if not $.Expanded}}{{end}} +[Expanded]{{if not $.Expanded}}{{end}} + + + + {{range $el := $.EventLogs}} + + + + + {{if $.Expanded}} + + + + + + {{range $el.Events}} + + + + + + {{end}} + {{end}} + {{end}} +
WhenElapsed
{{$el.When}}{{$el.ElapsedTime}}{{$el.Title}} +
{{$el.Stack|trimSpace}}
{{.WhenString}}{{elapsed .Elapsed}}.{{if .IsErr}}E{{else}}.{{end}}. {{.What}}
+{{end}} + + +` diff --git a/vendor/golang.org/x/net/trace/histogram.go b/vendor/golang.org/x/net/trace/histogram.go new file mode 100644 index 000000000000..9bf4286c794b --- /dev/null +++ b/vendor/golang.org/x/net/trace/histogram.go @@ -0,0 +1,365 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package trace + +// This file implements histogramming for RPC statistics collection. + +import ( + "bytes" + "fmt" + "html/template" + "log" + "math" + "sync" + + "golang.org/x/net/internal/timeseries" +) + +const ( + bucketCount = 38 +) + +// histogram keeps counts of values in buckets that are spaced +// out in powers of 2: 0-1, 2-3, 4-7... +// histogram implements timeseries.Observable +type histogram struct { + sum int64 // running total of measurements + sumOfSquares float64 // square of running total + buckets []int64 // bucketed values for histogram + value int // holds a single value as an optimization + valueCount int64 // number of values recorded for single value +} + +// AddMeasurement records a value measurement observation to the histogram. +func (h *histogram) addMeasurement(value int64) { + // TODO: assert invariant + h.sum += value + h.sumOfSquares += float64(value) * float64(value) + + bucketIndex := getBucket(value) + + if h.valueCount == 0 || (h.valueCount > 0 && h.value == bucketIndex) { + h.value = bucketIndex + h.valueCount++ + } else { + h.allocateBuckets() + h.buckets[bucketIndex]++ + } +} + +func (h *histogram) allocateBuckets() { + if h.buckets == nil { + h.buckets = make([]int64, bucketCount) + h.buckets[h.value] = h.valueCount + h.value = 0 + h.valueCount = -1 + } +} + +func log2(i int64) int { + n := 0 + for ; i >= 0x100; i >>= 8 { + n += 8 + } + for ; i > 0; i >>= 1 { + n += 1 + } + return n +} + +func getBucket(i int64) (index int) { + index = log2(i) - 1 + if index < 0 { + index = 0 + } + if index >= bucketCount { + index = bucketCount - 1 + } + return +} + +// Total returns the number of recorded observations. +func (h *histogram) total() (total int64) { + if h.valueCount >= 0 { + total = h.valueCount + } + for _, val := range h.buckets { + total += int64(val) + } + return +} + +// Average returns the average value of recorded observations. +func (h *histogram) average() float64 { + t := h.total() + if t == 0 { + return 0 + } + return float64(h.sum) / float64(t) +} + +// Variance returns the variance of recorded observations. +func (h *histogram) variance() float64 { + t := float64(h.total()) + if t == 0 { + return 0 + } + s := float64(h.sum) / t + return h.sumOfSquares/t - s*s +} + +// StandardDeviation returns the standard deviation of recorded observations. +func (h *histogram) standardDeviation() float64 { + return math.Sqrt(h.variance()) +} + +// PercentileBoundary estimates the value that the given fraction of recorded +// observations are less than. +func (h *histogram) percentileBoundary(percentile float64) int64 { + total := h.total() + + // Corner cases (make sure result is strictly less than Total()) + if total == 0 { + return 0 + } else if total == 1 { + return int64(h.average()) + } + + percentOfTotal := round(float64(total) * percentile) + var runningTotal int64 + + for i := range h.buckets { + value := h.buckets[i] + runningTotal += value + if runningTotal == percentOfTotal { + // We hit an exact bucket boundary. If the next bucket has data, it is a + // good estimate of the value. If the bucket is empty, we interpolate the + // midpoint between the next bucket's boundary and the next non-zero + // bucket. If the remaining buckets are all empty, then we use the + // boundary for the next bucket as the estimate. + j := uint8(i + 1) + min := bucketBoundary(j) + if runningTotal < total { + for h.buckets[j] == 0 { + j++ + } + } + max := bucketBoundary(j) + return min + round(float64(max-min)/2) + } else if runningTotal > percentOfTotal { + // The value is in this bucket. Interpolate the value. + delta := runningTotal - percentOfTotal + percentBucket := float64(value-delta) / float64(value) + bucketMin := bucketBoundary(uint8(i)) + nextBucketMin := bucketBoundary(uint8(i + 1)) + bucketSize := nextBucketMin - bucketMin + return bucketMin + round(percentBucket*float64(bucketSize)) + } + } + return bucketBoundary(bucketCount - 1) +} + +// Median returns the estimated median of the observed values. +func (h *histogram) median() int64 { + return h.percentileBoundary(0.5) +} + +// Add adds other to h. +func (h *histogram) Add(other timeseries.Observable) { + o := other.(*histogram) + if o.valueCount == 0 { + // Other histogram is empty + } else if h.valueCount >= 0 && o.valueCount > 0 && h.value == o.value { + // Both have a single bucketed value, aggregate them + h.valueCount += o.valueCount + } else { + // Two different values necessitate buckets in this histogram + h.allocateBuckets() + if o.valueCount >= 0 { + h.buckets[o.value] += o.valueCount + } else { + for i := range h.buckets { + h.buckets[i] += o.buckets[i] + } + } + } + h.sumOfSquares += o.sumOfSquares + h.sum += o.sum +} + +// Clear resets the histogram to an empty state, removing all observed values. +func (h *histogram) Clear() { + h.buckets = nil + h.value = 0 + h.valueCount = 0 + h.sum = 0 + h.sumOfSquares = 0 +} + +// CopyFrom copies from other, which must be a *histogram, into h. +func (h *histogram) CopyFrom(other timeseries.Observable) { + o := other.(*histogram) + if o.valueCount == -1 { + h.allocateBuckets() + copy(h.buckets, o.buckets) + } + h.sum = o.sum + h.sumOfSquares = o.sumOfSquares + h.value = o.value + h.valueCount = o.valueCount +} + +// Multiply scales the histogram by the specified ratio. +func (h *histogram) Multiply(ratio float64) { + if h.valueCount == -1 { + for i := range h.buckets { + h.buckets[i] = int64(float64(h.buckets[i]) * ratio) + } + } else { + h.valueCount = int64(float64(h.valueCount) * ratio) + } + h.sum = int64(float64(h.sum) * ratio) + h.sumOfSquares = h.sumOfSquares * ratio +} + +// New creates a new histogram. +func (h *histogram) New() timeseries.Observable { + r := new(histogram) + r.Clear() + return r +} + +func (h *histogram) String() string { + return fmt.Sprintf("%d, %f, %d, %d, %v", + h.sum, h.sumOfSquares, h.value, h.valueCount, h.buckets) +} + +// round returns the closest int64 to the argument +func round(in float64) int64 { + return int64(math.Floor(in + 0.5)) +} + +// bucketBoundary returns the first value in the bucket. +func bucketBoundary(bucket uint8) int64 { + if bucket == 0 { + return 0 + } + return 1 << bucket +} + +// bucketData holds data about a specific bucket for use in distTmpl. +type bucketData struct { + Lower, Upper int64 + N int64 + Pct, CumulativePct float64 + GraphWidth int +} + +// data holds data about a Distribution for use in distTmpl. +type data struct { + Buckets []*bucketData + Count, Median int64 + Mean, StandardDeviation float64 +} + +// maxHTMLBarWidth is the maximum width of the HTML bar for visualizing buckets. +const maxHTMLBarWidth = 350.0 + +// newData returns data representing h for use in distTmpl. +func (h *histogram) newData() *data { + // Force the allocation of buckets to simplify the rendering implementation + h.allocateBuckets() + // We scale the bars on the right so that the largest bar is + // maxHTMLBarWidth pixels in width. + maxBucket := int64(0) + for _, n := range h.buckets { + if n > maxBucket { + maxBucket = n + } + } + total := h.total() + barsizeMult := maxHTMLBarWidth / float64(maxBucket) + var pctMult float64 + if total == 0 { + pctMult = 1.0 + } else { + pctMult = 100.0 / float64(total) + } + + buckets := make([]*bucketData, len(h.buckets)) + runningTotal := int64(0) + for i, n := range h.buckets { + if n == 0 { + continue + } + runningTotal += n + var upperBound int64 + if i < bucketCount-1 { + upperBound = bucketBoundary(uint8(i + 1)) + } else { + upperBound = math.MaxInt64 + } + buckets[i] = &bucketData{ + Lower: bucketBoundary(uint8(i)), + Upper: upperBound, + N: n, + Pct: float64(n) * pctMult, + CumulativePct: float64(runningTotal) * pctMult, + GraphWidth: int(float64(n) * barsizeMult), + } + } + return &data{ + Buckets: buckets, + Count: total, + Median: h.median(), + Mean: h.average(), + StandardDeviation: h.standardDeviation(), + } +} + +func (h *histogram) html() template.HTML { + buf := new(bytes.Buffer) + if err := distTmpl().Execute(buf, h.newData()); err != nil { + buf.Reset() + log.Printf("net/trace: couldn't execute template: %v", err) + } + return template.HTML(buf.String()) +} + +var distTmplCache *template.Template +var distTmplOnce sync.Once + +func distTmpl() *template.Template { + distTmplOnce.Do(func() { + // Input: data + distTmplCache = template.Must(template.New("distTmpl").Parse(` + + + + + + + +
Count: {{.Count}}Mean: {{printf "%.0f" .Mean}}StdDev: {{printf "%.0f" .StandardDeviation}}Median: {{.Median}}
+
+ +{{range $b := .Buckets}} +{{if $b}} + + + + + + + + + +{{end}} +{{end}} +
[{{.Lower}},{{.Upper}}){{.N}}{{printf "%#.3f" .Pct}}%{{printf "%#.3f" .CumulativePct}}%
+`)) + }) + return distTmplCache +} diff --git a/vendor/golang.org/x/net/trace/trace.go b/vendor/golang.org/x/net/trace/trace.go new file mode 100644 index 000000000000..bb72a527e8cf --- /dev/null +++ b/vendor/golang.org/x/net/trace/trace.go @@ -0,0 +1,1082 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package trace implements tracing of requests and long-lived objects. +It exports HTTP interfaces on /debug/requests and /debug/events. + +A trace.Trace provides tracing for short-lived objects, usually requests. +A request handler might be implemented like this: + + func fooHandler(w http.ResponseWriter, req *http.Request) { + tr := trace.New("mypkg.Foo", req.URL.Path) + defer tr.Finish() + ... + tr.LazyPrintf("some event %q happened", str) + ... + if err := somethingImportant(); err != nil { + tr.LazyPrintf("somethingImportant failed: %v", err) + tr.SetError() + } + } + +The /debug/requests HTTP endpoint organizes the traces by family, +errors, and duration. It also provides histogram of request duration +for each family. + +A trace.EventLog provides tracing for long-lived objects, such as RPC +connections. + + // A Fetcher fetches URL paths for a single domain. + type Fetcher struct { + domain string + events trace.EventLog + } + + func NewFetcher(domain string) *Fetcher { + return &Fetcher{ + domain, + trace.NewEventLog("mypkg.Fetcher", domain), + } + } + + func (f *Fetcher) Fetch(path string) (string, error) { + resp, err := http.Get("http://" + f.domain + "/" + path) + if err != nil { + f.events.Errorf("Get(%q) = %v", path, err) + return "", err + } + f.events.Printf("Get(%q) = %s", path, resp.Status) + ... + } + + func (f *Fetcher) Close() error { + f.events.Finish() + return nil + } + +The /debug/events HTTP endpoint organizes the event logs by family and +by time since the last error. The expanded view displays recent log +entries and the log's call stack. +*/ +package trace // import "golang.org/x/net/trace" + +import ( + "bytes" + "fmt" + "html/template" + "io" + "log" + "net" + "net/http" + "runtime" + "sort" + "strconv" + "sync" + "sync/atomic" + "time" + + "golang.org/x/net/internal/timeseries" +) + +// DebugUseAfterFinish controls whether to debug uses of Trace values after finishing. +// FOR DEBUGGING ONLY. This will slow down the program. +var DebugUseAfterFinish = false + +// AuthRequest determines whether a specific request is permitted to load the +// /debug/requests or /debug/events pages. +// +// It returns two bools; the first indicates whether the page may be viewed at all, +// and the second indicates whether sensitive events will be shown. +// +// AuthRequest may be replaced by a program to customize its authorization requirements. +// +// The default AuthRequest function returns (true, true) if and only if the request +// comes from localhost/127.0.0.1/[::1]. +var AuthRequest = func(req *http.Request) (any, sensitive bool) { + // RemoteAddr is commonly in the form "IP" or "IP:port". + // If it is in the form "IP:port", split off the port. + host, _, err := net.SplitHostPort(req.RemoteAddr) + if err != nil { + host = req.RemoteAddr + } + switch host { + case "localhost", "127.0.0.1", "::1": + return true, true + default: + return false, false + } +} + +func init() { + // TODO(jbd): Serve Traces from /debug/traces in the future? + // There is no requirement for a request to be present to have traces. + http.HandleFunc("/debug/requests", Traces) + http.HandleFunc("/debug/events", Events) +} + +// Traces responds with traces from the program. +// The package initialization registers it in http.DefaultServeMux +// at /debug/requests. +// +// It performs authorization by running AuthRequest. +func Traces(w http.ResponseWriter, req *http.Request) { + any, sensitive := AuthRequest(req) + if !any { + http.Error(w, "not allowed", http.StatusUnauthorized) + return + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + Render(w, req, sensitive) +} + +// Events responds with a page of events collected by EventLogs. +// The package initialization registers it in http.DefaultServeMux +// at /debug/events. +// +// It performs authorization by running AuthRequest. +func Events(w http.ResponseWriter, req *http.Request) { + any, sensitive := AuthRequest(req) + if !any { + http.Error(w, "not allowed", http.StatusUnauthorized) + return + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + RenderEvents(w, req, sensitive) +} + +// Render renders the HTML page typically served at /debug/requests. +// It does not do any auth checking. The request may be nil. +// +// Most users will use the Traces handler. +func Render(w io.Writer, req *http.Request, sensitive bool) { + data := &struct { + Families []string + ActiveTraceCount map[string]int + CompletedTraces map[string]*family + + // Set when a bucket has been selected. + Traces traceList + Family string + Bucket int + Expanded bool + Traced bool + Active bool + ShowSensitive bool // whether to show sensitive events + + Histogram template.HTML + HistogramWindow string // e.g. "last minute", "last hour", "all time" + + // If non-zero, the set of traces is a partial set, + // and this is the total number. + Total int + }{ + CompletedTraces: completedTraces, + } + + data.ShowSensitive = sensitive + if req != nil { + // Allow show_sensitive=0 to force hiding of sensitive data for testing. + // This only goes one way; you can't use show_sensitive=1 to see things. + if req.FormValue("show_sensitive") == "0" { + data.ShowSensitive = false + } + + if exp, err := strconv.ParseBool(req.FormValue("exp")); err == nil { + data.Expanded = exp + } + if exp, err := strconv.ParseBool(req.FormValue("rtraced")); err == nil { + data.Traced = exp + } + } + + completedMu.RLock() + data.Families = make([]string, 0, len(completedTraces)) + for fam := range completedTraces { + data.Families = append(data.Families, fam) + } + completedMu.RUnlock() + sort.Strings(data.Families) + + // We are careful here to minimize the time spent locking activeMu, + // since that lock is required every time an RPC starts and finishes. + data.ActiveTraceCount = make(map[string]int, len(data.Families)) + activeMu.RLock() + for fam, s := range activeTraces { + data.ActiveTraceCount[fam] = s.Len() + } + activeMu.RUnlock() + + var ok bool + data.Family, data.Bucket, ok = parseArgs(req) + switch { + case !ok: + // No-op + case data.Bucket == -1: + data.Active = true + n := data.ActiveTraceCount[data.Family] + data.Traces = getActiveTraces(data.Family) + if len(data.Traces) < n { + data.Total = n + } + case data.Bucket < bucketsPerFamily: + if b := lookupBucket(data.Family, data.Bucket); b != nil { + data.Traces = b.Copy(data.Traced) + } + default: + if f := getFamily(data.Family, false); f != nil { + var obs timeseries.Observable + f.LatencyMu.RLock() + switch o := data.Bucket - bucketsPerFamily; o { + case 0: + obs = f.Latency.Minute() + data.HistogramWindow = "last minute" + case 1: + obs = f.Latency.Hour() + data.HistogramWindow = "last hour" + case 2: + obs = f.Latency.Total() + data.HistogramWindow = "all time" + } + f.LatencyMu.RUnlock() + if obs != nil { + data.Histogram = obs.(*histogram).html() + } + } + } + + if data.Traces != nil { + defer data.Traces.Free() + sort.Sort(data.Traces) + } + + completedMu.RLock() + defer completedMu.RUnlock() + if err := pageTmpl().ExecuteTemplate(w, "Page", data); err != nil { + log.Printf("net/trace: Failed executing template: %v", err) + } +} + +func parseArgs(req *http.Request) (fam string, b int, ok bool) { + if req == nil { + return "", 0, false + } + fam, bStr := req.FormValue("fam"), req.FormValue("b") + if fam == "" || bStr == "" { + return "", 0, false + } + b, err := strconv.Atoi(bStr) + if err != nil || b < -1 { + return "", 0, false + } + + return fam, b, true +} + +func lookupBucket(fam string, b int) *traceBucket { + f := getFamily(fam, false) + if f == nil || b < 0 || b >= len(f.Buckets) { + return nil + } + return f.Buckets[b] +} + +type contextKeyT string + +var contextKey = contextKeyT("golang.org/x/net/trace.Trace") + +// Trace represents an active request. +type Trace interface { + // LazyLog adds x to the event log. It will be evaluated each time the + // /debug/requests page is rendered. Any memory referenced by x will be + // pinned until the trace is finished and later discarded. + LazyLog(x fmt.Stringer, sensitive bool) + + // LazyPrintf evaluates its arguments with fmt.Sprintf each time the + // /debug/requests page is rendered. Any memory referenced by a will be + // pinned until the trace is finished and later discarded. + LazyPrintf(format string, a ...interface{}) + + // SetError declares that this trace resulted in an error. + SetError() + + // SetRecycler sets a recycler for the trace. + // f will be called for each event passed to LazyLog at a time when + // it is no longer required, whether while the trace is still active + // and the event is discarded, or when a completed trace is discarded. + SetRecycler(f func(interface{})) + + // SetTraceInfo sets the trace info for the trace. + // This is currently unused. + SetTraceInfo(traceID, spanID uint64) + + // SetMaxEvents sets the maximum number of events that will be stored + // in the trace. This has no effect if any events have already been + // added to the trace. + SetMaxEvents(m int) + + // Finish declares that this trace is complete. + // The trace should not be used after calling this method. + Finish() +} + +type lazySprintf struct { + format string + a []interface{} +} + +func (l *lazySprintf) String() string { + return fmt.Sprintf(l.format, l.a...) +} + +// New returns a new Trace with the specified family and title. +func New(family, title string) Trace { + tr := newTrace() + tr.ref() + tr.Family, tr.Title = family, title + tr.Start = time.Now() + tr.maxEvents = maxEventsPerTrace + tr.events = tr.eventsBuf[:0] + + activeMu.RLock() + s := activeTraces[tr.Family] + activeMu.RUnlock() + if s == nil { + activeMu.Lock() + s = activeTraces[tr.Family] // check again + if s == nil { + s = new(traceSet) + activeTraces[tr.Family] = s + } + activeMu.Unlock() + } + s.Add(tr) + + // Trigger allocation of the completed trace structure for this family. + // This will cause the family to be present in the request page during + // the first trace of this family. We don't care about the return value, + // nor is there any need for this to run inline, so we execute it in its + // own goroutine, but only if the family isn't allocated yet. + completedMu.RLock() + if _, ok := completedTraces[tr.Family]; !ok { + go allocFamily(tr.Family) + } + completedMu.RUnlock() + + return tr +} + +func (tr *trace) Finish() { + tr.Elapsed = time.Now().Sub(tr.Start) + if DebugUseAfterFinish { + buf := make([]byte, 4<<10) // 4 KB should be enough + n := runtime.Stack(buf, false) + tr.finishStack = buf[:n] + } + + activeMu.RLock() + m := activeTraces[tr.Family] + activeMu.RUnlock() + m.Remove(tr) + + f := getFamily(tr.Family, true) + for _, b := range f.Buckets { + if b.Cond.match(tr) { + b.Add(tr) + } + } + // Add a sample of elapsed time as microseconds to the family's timeseries + h := new(histogram) + h.addMeasurement(tr.Elapsed.Nanoseconds() / 1e3) + f.LatencyMu.Lock() + f.Latency.Add(h) + f.LatencyMu.Unlock() + + tr.unref() // matches ref in New +} + +const ( + bucketsPerFamily = 9 + tracesPerBucket = 10 + maxActiveTraces = 20 // Maximum number of active traces to show. + maxEventsPerTrace = 10 + numHistogramBuckets = 38 +) + +var ( + // The active traces. + activeMu sync.RWMutex + activeTraces = make(map[string]*traceSet) // family -> traces + + // Families of completed traces. + completedMu sync.RWMutex + completedTraces = make(map[string]*family) // family -> traces +) + +type traceSet struct { + mu sync.RWMutex + m map[*trace]bool + + // We could avoid the entire map scan in FirstN by having a slice of all the traces + // ordered by start time, and an index into that from the trace struct, with a periodic + // repack of the slice after enough traces finish; we could also use a skip list or similar. + // However, that would shift some of the expense from /debug/requests time to RPC time, + // which is probably the wrong trade-off. +} + +func (ts *traceSet) Len() int { + ts.mu.RLock() + defer ts.mu.RUnlock() + return len(ts.m) +} + +func (ts *traceSet) Add(tr *trace) { + ts.mu.Lock() + if ts.m == nil { + ts.m = make(map[*trace]bool) + } + ts.m[tr] = true + ts.mu.Unlock() +} + +func (ts *traceSet) Remove(tr *trace) { + ts.mu.Lock() + delete(ts.m, tr) + ts.mu.Unlock() +} + +// FirstN returns the first n traces ordered by time. +func (ts *traceSet) FirstN(n int) traceList { + ts.mu.RLock() + defer ts.mu.RUnlock() + + if n > len(ts.m) { + n = len(ts.m) + } + trl := make(traceList, 0, n) + + // Fast path for when no selectivity is needed. + if n == len(ts.m) { + for tr := range ts.m { + tr.ref() + trl = append(trl, tr) + } + sort.Sort(trl) + return trl + } + + // Pick the oldest n traces. + // This is inefficient. See the comment in the traceSet struct. + for tr := range ts.m { + // Put the first n traces into trl in the order they occur. + // When we have n, sort trl, and thereafter maintain its order. + if len(trl) < n { + tr.ref() + trl = append(trl, tr) + if len(trl) == n { + // This is guaranteed to happen exactly once during this loop. + sort.Sort(trl) + } + continue + } + if tr.Start.After(trl[n-1].Start) { + continue + } + + // Find where to insert this one. + tr.ref() + i := sort.Search(n, func(i int) bool { return trl[i].Start.After(tr.Start) }) + trl[n-1].unref() + copy(trl[i+1:], trl[i:]) + trl[i] = tr + } + + return trl +} + +func getActiveTraces(fam string) traceList { + activeMu.RLock() + s := activeTraces[fam] + activeMu.RUnlock() + if s == nil { + return nil + } + return s.FirstN(maxActiveTraces) +} + +func getFamily(fam string, allocNew bool) *family { + completedMu.RLock() + f := completedTraces[fam] + completedMu.RUnlock() + if f == nil && allocNew { + f = allocFamily(fam) + } + return f +} + +func allocFamily(fam string) *family { + completedMu.Lock() + defer completedMu.Unlock() + f := completedTraces[fam] + if f == nil { + f = newFamily() + completedTraces[fam] = f + } + return f +} + +// family represents a set of trace buckets and associated latency information. +type family struct { + // traces may occur in multiple buckets. + Buckets [bucketsPerFamily]*traceBucket + + // latency time series + LatencyMu sync.RWMutex + Latency *timeseries.MinuteHourSeries +} + +func newFamily() *family { + return &family{ + Buckets: [bucketsPerFamily]*traceBucket{ + {Cond: minCond(0)}, + {Cond: minCond(50 * time.Millisecond)}, + {Cond: minCond(100 * time.Millisecond)}, + {Cond: minCond(200 * time.Millisecond)}, + {Cond: minCond(500 * time.Millisecond)}, + {Cond: minCond(1 * time.Second)}, + {Cond: minCond(10 * time.Second)}, + {Cond: minCond(100 * time.Second)}, + {Cond: errorCond{}}, + }, + Latency: timeseries.NewMinuteHourSeries(func() timeseries.Observable { return new(histogram) }), + } +} + +// traceBucket represents a size-capped bucket of historic traces, +// along with a condition for a trace to belong to the bucket. +type traceBucket struct { + Cond cond + + // Ring buffer implementation of a fixed-size FIFO queue. + mu sync.RWMutex + buf [tracesPerBucket]*trace + start int // < tracesPerBucket + length int // <= tracesPerBucket +} + +func (b *traceBucket) Add(tr *trace) { + b.mu.Lock() + defer b.mu.Unlock() + + i := b.start + b.length + if i >= tracesPerBucket { + i -= tracesPerBucket + } + if b.length == tracesPerBucket { + // "Remove" an element from the bucket. + b.buf[i].unref() + b.start++ + if b.start == tracesPerBucket { + b.start = 0 + } + } + b.buf[i] = tr + if b.length < tracesPerBucket { + b.length++ + } + tr.ref() +} + +// Copy returns a copy of the traces in the bucket. +// If tracedOnly is true, only the traces with trace information will be returned. +// The logs will be ref'd before returning; the caller should call +// the Free method when it is done with them. +// TODO(dsymonds): keep track of traced requests in separate buckets. +func (b *traceBucket) Copy(tracedOnly bool) traceList { + b.mu.RLock() + defer b.mu.RUnlock() + + trl := make(traceList, 0, b.length) + for i, x := 0, b.start; i < b.length; i++ { + tr := b.buf[x] + if !tracedOnly || tr.spanID != 0 { + tr.ref() + trl = append(trl, tr) + } + x++ + if x == b.length { + x = 0 + } + } + return trl +} + +func (b *traceBucket) Empty() bool { + b.mu.RLock() + defer b.mu.RUnlock() + return b.length == 0 +} + +// cond represents a condition on a trace. +type cond interface { + match(t *trace) bool + String() string +} + +type minCond time.Duration + +func (m minCond) match(t *trace) bool { return t.Elapsed >= time.Duration(m) } +func (m minCond) String() string { return fmt.Sprintf("≥%gs", time.Duration(m).Seconds()) } + +type errorCond struct{} + +func (e errorCond) match(t *trace) bool { return t.IsError } +func (e errorCond) String() string { return "errors" } + +type traceList []*trace + +// Free calls unref on each element of the list. +func (trl traceList) Free() { + for _, t := range trl { + t.unref() + } +} + +// traceList may be sorted in reverse chronological order. +func (trl traceList) Len() int { return len(trl) } +func (trl traceList) Less(i, j int) bool { return trl[i].Start.After(trl[j].Start) } +func (trl traceList) Swap(i, j int) { trl[i], trl[j] = trl[j], trl[i] } + +// An event is a timestamped log entry in a trace. +type event struct { + When time.Time + Elapsed time.Duration // since previous event in trace + NewDay bool // whether this event is on a different day to the previous event + Recyclable bool // whether this event was passed via LazyLog + Sensitive bool // whether this event contains sensitive information + What interface{} // string or fmt.Stringer +} + +// WhenString returns a string representation of the elapsed time of the event. +// It will include the date if midnight was crossed. +func (e event) WhenString() string { + if e.NewDay { + return e.When.Format("2006/01/02 15:04:05.000000") + } + return e.When.Format("15:04:05.000000") +} + +// discarded represents a number of discarded events. +// It is stored as *discarded to make it easier to update in-place. +type discarded int + +func (d *discarded) String() string { + return fmt.Sprintf("(%d events discarded)", int(*d)) +} + +// trace represents an active or complete request, +// either sent or received by this program. +type trace struct { + // Family is the top-level grouping of traces to which this belongs. + Family string + + // Title is the title of this trace. + Title string + + // Timing information. + Start time.Time + Elapsed time.Duration // zero while active + + // Trace information if non-zero. + traceID uint64 + spanID uint64 + + // Whether this trace resulted in an error. + IsError bool + + // Append-only sequence of events (modulo discards). + mu sync.RWMutex + events []event + maxEvents int + + refs int32 // how many buckets this is in + recycler func(interface{}) + disc discarded // scratch space to avoid allocation + + finishStack []byte // where finish was called, if DebugUseAfterFinish is set + + eventsBuf [4]event // preallocated buffer in case we only log a few events +} + +func (tr *trace) reset() { + // Clear all but the mutex. Mutexes may not be copied, even when unlocked. + tr.Family = "" + tr.Title = "" + tr.Start = time.Time{} + tr.Elapsed = 0 + tr.traceID = 0 + tr.spanID = 0 + tr.IsError = false + tr.maxEvents = 0 + tr.events = nil + tr.refs = 0 + tr.recycler = nil + tr.disc = 0 + tr.finishStack = nil + for i := range tr.eventsBuf { + tr.eventsBuf[i] = event{} + } +} + +// delta returns the elapsed time since the last event or the trace start, +// and whether it spans midnight. +// L >= tr.mu +func (tr *trace) delta(t time.Time) (time.Duration, bool) { + if len(tr.events) == 0 { + return t.Sub(tr.Start), false + } + prev := tr.events[len(tr.events)-1].When + return t.Sub(prev), prev.Day() != t.Day() +} + +func (tr *trace) addEvent(x interface{}, recyclable, sensitive bool) { + if DebugUseAfterFinish && tr.finishStack != nil { + buf := make([]byte, 4<<10) // 4 KB should be enough + n := runtime.Stack(buf, false) + log.Printf("net/trace: trace used after finish:\nFinished at:\n%s\nUsed at:\n%s", tr.finishStack, buf[:n]) + } + + /* + NOTE TO DEBUGGERS + + If you are here because your program panicked in this code, + it is almost definitely the fault of code using this package, + and very unlikely to be the fault of this code. + + The most likely scenario is that some code elsewhere is using + a trace.Trace after its Finish method is called. + You can temporarily set the DebugUseAfterFinish var + to help discover where that is; do not leave that var set, + since it makes this package much less efficient. + */ + + e := event{When: time.Now(), What: x, Recyclable: recyclable, Sensitive: sensitive} + tr.mu.Lock() + e.Elapsed, e.NewDay = tr.delta(e.When) + if len(tr.events) < tr.maxEvents { + tr.events = append(tr.events, e) + } else { + // Discard the middle events. + di := int((tr.maxEvents - 1) / 2) + if d, ok := tr.events[di].What.(*discarded); ok { + (*d)++ + } else { + // disc starts at two to count for the event it is replacing, + // plus the next one that we are about to drop. + tr.disc = 2 + if tr.recycler != nil && tr.events[di].Recyclable { + go tr.recycler(tr.events[di].What) + } + tr.events[di].What = &tr.disc + } + // The timestamp of the discarded meta-event should be + // the time of the last event it is representing. + tr.events[di].When = tr.events[di+1].When + + if tr.recycler != nil && tr.events[di+1].Recyclable { + go tr.recycler(tr.events[di+1].What) + } + copy(tr.events[di+1:], tr.events[di+2:]) + tr.events[tr.maxEvents-1] = e + } + tr.mu.Unlock() +} + +func (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) { + tr.addEvent(x, true, sensitive) +} + +func (tr *trace) LazyPrintf(format string, a ...interface{}) { + tr.addEvent(&lazySprintf{format, a}, false, false) +} + +func (tr *trace) SetError() { tr.IsError = true } + +func (tr *trace) SetRecycler(f func(interface{})) { + tr.recycler = f +} + +func (tr *trace) SetTraceInfo(traceID, spanID uint64) { + tr.traceID, tr.spanID = traceID, spanID +} + +func (tr *trace) SetMaxEvents(m int) { + // Always keep at least three events: first, discarded count, last. + if len(tr.events) == 0 && m > 3 { + tr.maxEvents = m + } +} + +func (tr *trace) ref() { + atomic.AddInt32(&tr.refs, 1) +} + +func (tr *trace) unref() { + if atomic.AddInt32(&tr.refs, -1) == 0 { + if tr.recycler != nil { + // freeTrace clears tr, so we hold tr.recycler and tr.events here. + go func(f func(interface{}), es []event) { + for _, e := range es { + if e.Recyclable { + f(e.What) + } + } + }(tr.recycler, tr.events) + } + + freeTrace(tr) + } +} + +func (tr *trace) When() string { + return tr.Start.Format("2006/01/02 15:04:05.000000") +} + +func (tr *trace) ElapsedTime() string { + t := tr.Elapsed + if t == 0 { + // Active trace. + t = time.Since(tr.Start) + } + return fmt.Sprintf("%.6f", t.Seconds()) +} + +func (tr *trace) Events() []event { + tr.mu.RLock() + defer tr.mu.RUnlock() + return tr.events +} + +var traceFreeList = make(chan *trace, 1000) // TODO(dsymonds): Use sync.Pool? + +// newTrace returns a trace ready to use. +func newTrace() *trace { + select { + case tr := <-traceFreeList: + return tr + default: + return new(trace) + } +} + +// freeTrace adds tr to traceFreeList if there's room. +// This is non-blocking. +func freeTrace(tr *trace) { + if DebugUseAfterFinish { + return // never reuse + } + tr.reset() + select { + case traceFreeList <- tr: + default: + } +} + +func elapsed(d time.Duration) string { + b := []byte(fmt.Sprintf("%.6f", d.Seconds())) + + // For subsecond durations, blank all zeros before decimal point, + // and all zeros between the decimal point and the first non-zero digit. + if d < time.Second { + dot := bytes.IndexByte(b, '.') + for i := 0; i < dot; i++ { + b[i] = ' ' + } + for i := dot + 1; i < len(b); i++ { + if b[i] == '0' { + b[i] = ' ' + } else { + break + } + } + } + + return string(b) +} + +var pageTmplCache *template.Template +var pageTmplOnce sync.Once + +func pageTmpl() *template.Template { + pageTmplOnce.Do(func() { + pageTmplCache = template.Must(template.New("Page").Funcs(template.FuncMap{ + "elapsed": elapsed, + "add": func(a, b int) int { return a + b }, + }).Parse(pageHTML)) + }) + return pageTmplCache +} + +const pageHTML = ` +{{template "Prolog" .}} +{{template "StatusTable" .}} +{{template "Epilog" .}} + +{{define "Prolog"}} + + + /debug/requests + + + + +

/debug/requests

+{{end}} {{/* end of Prolog */}} + +{{define "StatusTable"}} + + {{range $fam := .Families}} + + + + {{$n := index $.ActiveTraceCount $fam}} + + + {{$f := index $.CompletedTraces $fam}} + {{range $i, $b := $f.Buckets}} + {{$empty := $b.Empty}} + + {{end}} + + {{$nb := len $f.Buckets}} + + + + + + {{end}} +
{{$fam}} + {{if $n}}{{end}} + [{{$n}} active] + {{if $n}}{{end}} + + {{if not $empty}}{{end}} + [{{.Cond}}] + {{if not $empty}}{{end}} + + [minute] + + [hour] + + [total] +
+{{end}} {{/* end of StatusTable */}} + +{{define "Epilog"}} +{{if $.Traces}} +
+

Family: {{$.Family}}

+ +{{if or $.Expanded $.Traced}} + [Normal/Summary] +{{else}} + [Normal/Summary] +{{end}} + +{{if or (not $.Expanded) $.Traced}} + [Normal/Expanded] +{{else}} + [Normal/Expanded] +{{end}} + +{{if not $.Active}} + {{if or $.Expanded (not $.Traced)}} + [Traced/Summary] + {{else}} + [Traced/Summary] + {{end}} + {{if or (not $.Expanded) (not $.Traced)}} + [Traced/Expanded] + {{else}} + [Traced/Expanded] + {{end}} +{{end}} + +{{if $.Total}} +

Showing {{len $.Traces}} of {{$.Total}} traces.

+{{end}} + + + + + {{range $tr := $.Traces}} + + + + + {{/* TODO: include traceID/spanID */}} + + {{if $.Expanded}} + {{range $tr.Events}} + + + + + + {{end}} + {{end}} + {{end}} +
+ {{if $.Active}}Active{{else}}Completed{{end}} Requests +
WhenElapsed (s)
{{$tr.When}}{{$tr.ElapsedTime}}{{$tr.Title}}
{{.WhenString}}{{elapsed .Elapsed}}{{if or $.ShowSensitive (not .Sensitive)}}... {{.What}}{{else}}[redacted]{{end}}
+{{end}} {{/* if $.Traces */}} + +{{if $.Histogram}} +

Latency (µs) of {{$.Family}} over {{$.HistogramWindow}}

+{{$.Histogram}} +{{end}} {{/* if $.Histogram */}} + + + +{{end}} {{/* end of Epilog */}} +` diff --git a/vendor/golang.org/x/net/trace/trace_go16.go b/vendor/golang.org/x/net/trace/trace_go16.go new file mode 100644 index 000000000000..d6081911853f --- /dev/null +++ b/vendor/golang.org/x/net/trace/trace_go16.go @@ -0,0 +1,21 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package trace + +import "golang.org/x/net/context" + +// NewContext returns a copy of the parent context +// and associates it with a Trace. +func NewContext(ctx context.Context, tr Trace) context.Context { + return context.WithValue(ctx, contextKey, tr) +} + +// FromContext returns the Trace bound to the context, if any. +func FromContext(ctx context.Context) (tr Trace, ok bool) { + tr, ok = ctx.Value(contextKey).(Trace) + return +} diff --git a/vendor/golang.org/x/net/trace/trace_go17.go b/vendor/golang.org/x/net/trace/trace_go17.go new file mode 100644 index 000000000000..df6e1fba7caf --- /dev/null +++ b/vendor/golang.org/x/net/trace/trace_go17.go @@ -0,0 +1,21 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package trace + +import "context" + +// NewContext returns a copy of the parent context +// and associates it with a Trace. +func NewContext(ctx context.Context, tr Trace) context.Context { + return context.WithValue(ctx, contextKey, tr) +} + +// FromContext returns the Trace bound to the context, if any. +func FromContext(ctx context.Context) (tr Trace, ok bool) { + tr, ok = ctx.Value(contextKey).(Trace) + return +} diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE new file mode 100644 index 000000000000..6a66aea5eafe --- /dev/null +++ b/vendor/golang.org/x/sys/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS new file mode 100644 index 000000000000..733099041f84 --- /dev/null +++ b/vendor/golang.org/x/sys/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md new file mode 100644 index 000000000000..bc6f6031f1b7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/README.md @@ -0,0 +1,173 @@ +# Building `sys/unix` + +The sys/unix package provides access to the raw system call interface of the +underlying operating system. See: https://godoc.org/golang.org/x/sys/unix + +Porting Go to a new architecture/OS combination or adding syscalls, types, or +constants to an existing architecture/OS pair requires some manual effort; +however, there are tools that automate much of the process. + +## Build Systems + +There are currently two ways we generate the necessary files. We are currently +migrating the build system to use containers so the builds are reproducible. +This is being done on an OS-by-OS basis. Please update this documentation as +components of the build system change. + +### Old Build System (currently for `GOOS != "Linux" || GOARCH == "sparc64"`) + +The old build system generates the Go files based on the C header files +present on your system. This means that files +for a given GOOS/GOARCH pair must be generated on a system with that OS and +architecture. This also means that the generated code can differ from system +to system, based on differences in the header files. + +To avoid this, if you are using the old build system, only generate the Go +files on an installation with unmodified header files. It is also important to +keep track of which version of the OS the files were generated from (ex. +Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes +and have each OS upgrade correspond to a single change. + +To build the files for your current OS and architecture, make sure GOOS and +GOARCH are set correctly and run `mkall.sh`. This will generate the files for +your specific system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, perl, go + +### New Build System (currently for `GOOS == "Linux" && GOARCH != "sparc64"`) + +The new build system uses a Docker container to generate the go files directly +from source checkouts of the kernel and various system libraries. This means +that on any platform that supports Docker, all the files using the new build +system can be generated at once, and generated files will not change based on +what the person running the scripts has installed on their computer. + +The OS specific files for the new build system are located in the `${GOOS}` +directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When +the kernel or system library updates, modify the Dockerfile at +`${GOOS}/Dockerfile` to checkout the new release of the source. + +To build all the files under the new build system, you must be on an amd64/Linux +system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will +then generate all of the files for all of the GOOS/GOARCH pairs in the new build +system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, perl, go, docker + +## Component files + +This section describes the various files used in the code generation process. +It also contains instructions on how to modify these files to add a new +architecture/OS or to add additional syscalls, types, or constants. Note that +if you are using the new build system, the scripts cannot be called normally. +They must be called from within the docker container. + +### asm files + +The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system +call dispatch. There are three entry points: +``` + func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) + func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) + func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) +``` +The first and second are the standard ones; they differ only in how many +arguments can be passed to the kernel. The third is for low-level use by the +ForkExec wrapper. Unlike the first two, it does not call into the scheduler to +let it know that a system call is running. + +When porting Go to an new architecture/OS, this file must be implemented for +each GOOS/GOARCH pair. + +### mksysnum + +Mksysnum is a script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl` +for the old system). This script takes in a list of header files containing the +syscall number declarations and parses them to produce the corresponding list of +Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated +constants. + +Adding new syscall numbers is mostly done by running the build on a sufficiently +new installation of the target OS (or updating the source checkouts for the +new build system). However, depending on the OS, you make need to update the +parsing in mksysnum. + +### mksyscall.pl + +The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are +hand-written Go files which implement system calls (for unix, the specific OS, +or the specific OS/Architecture pair respectively) that need special handling +and list `//sys` comments giving prototypes for ones that can be generated. + +The mksyscall.pl script takes the `//sys` and `//sysnb` comments and converts +them into syscalls. This requires the name of the prototype in the comment to +match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function +prototype can be exported (capitalized) or not. + +Adding a new syscall often just requires adding a new `//sys` function prototype +with the desired arguments and a capitalized name so it is exported. However, if +you want the interface to the syscall to be different, often one will make an +unexported `//sys` prototype, an then write a custom wrapper in +`syscall_${GOOS}.go`. + +### types files + +For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or +`types_${GOOS}.go` on the old system). This file includes standard C headers and +creates Go type aliases to the corresponding C types. The file is then fed +through godef to get the Go compatible definitions. Finally, the generated code +is fed though mkpost.go to format the code correctly and remove any hidden or +private identifiers. This cleaned-up code is written to +`ztypes_${GOOS}_${GOARCH}.go`. + +The hardest part about preparing this file is figuring out which headers to +include and which symbols need to be `#define`d to get the actual data +structures that pass through to the kernel system calls. Some C libraries +preset alternate versions for binary compatibility and translate them on the +way in and out of system calls, but there is almost always a `#define` that can +get the real ones. +See `types_darwin.go` and `linux/types.go` for examples. + +To add a new type, add in the necessary include statement at the top of the +file (if it is not already there) and add in a type alias line. Note that if +your type is significantly different on different architectures, you may need +some `#if/#elif` macros in your include statements. + +### mkerrors.sh + +This script is used to generate the system's various constants. This doesn't +just include the error numbers and error strings, but also the signal numbers +an a wide variety of miscellaneous constants. The constants come from the list +of include files in the `includes_${uname}` variable. A regex then picks out +the desired `#define` statements, and generates the corresponding Go constants. +The error numbers and strings are generated from `#include `, and the +signal numbers and strings are generated from `#include `. All of +these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program, +`_errors.c`, which prints out all the constants. + +To add a constant, add the header that includes it to the appropriate variable. +Then, edit the regex (if necessary) to match the desired constant. Avoid making +the regex too broad to avoid matching unintended constants. + + +## Generated files + +### `zerror_${GOOS}_${GOARCH}.go` + +A file containing all of the system's generated error numbers, error strings, +signal numbers, and constants. Generated by `mkerrors.sh` (see above). + +### `zsyscall_${GOOS}_${GOARCH}.go` + +A file containing all the generated syscalls for a specific GOOS and GOARCH. +Generated by `mksyscall.pl` (see above). + +### `zsysnum_${GOOS}_${GOARCH}.go` + +A list of numeric constants for all the syscall number of the specific GOOS +and GOARCH. Generated by mksysnum (see above). + +### `ztypes_${GOOS}_${GOARCH}.go` + +A file containing Go types for passing into (or returning from) syscalls. +Generated by godefs and the types file (see above). diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s new file mode 100644 index 000000000000..8a7278319e31 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s new file mode 100644 index 000000000000..6321421f2726 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s new file mode 100644 index 000000000000..333242d50619 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm,darwin + +#include "textflag.h" + +// +// System call support for ARM, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s new file mode 100644 index 000000000000..97e017437186 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm64,darwin + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s new file mode 100644 index 000000000000..d5ed6726cc14 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, DragonFly +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-64 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-88 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-112 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-64 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s new file mode 100644 index 000000000000..c9a0a2601562 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s new file mode 100644 index 000000000000..35172477c869 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s new file mode 100644 index 000000000000..9227c875bfeb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s new file mode 100644 index 000000000000..4db2909323fb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s @@ -0,0 +1,35 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for 386, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·socketcall(SB),NOSPLIT,$0-36 + JMP syscall·socketcall(SB) + +TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 + JMP syscall·rawsocketcall(SB) + +TEXT ·seek(SB),NOSPLIT,$0-28 + JMP syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s new file mode 100644 index 000000000000..44e25c62f92e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for AMD64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·gettimeofday(SB),NOSPLIT,$0-16 + JMP syscall·gettimeofday(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s new file mode 100644 index 000000000000..cf0b57465822 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for arm, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) + +TEXT ·seek(SB),NOSPLIT,$0-32 + B syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s new file mode 100644 index 000000000000..4be9bfedeaf3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s @@ -0,0 +1,24 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build arm64 +// +build !gccgo + +#include "textflag.h" + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s new file mode 100644 index 000000000000..724e580c4ea7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s @@ -0,0 +1,28 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s new file mode 100644 index 000000000000..2ea425755e26 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s @@ -0,0 +1,31 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s new file mode 100644 index 000000000000..8d231feb4b93 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s @@ -0,0 +1,28 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for ppc64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + BR syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + BR syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + BR syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + BR syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s new file mode 100644 index 000000000000..11889859fb05 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s @@ -0,0 +1,28 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x +// +build linux +// +build !gccgo + +#include "textflag.h" + +// +// System calls for s390x, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + BR syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + BR syscall·Syscall6(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + BR syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + BR syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s new file mode 100644 index 000000000000..48bdcd7632af --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s new file mode 100644 index 000000000000..2ede05c72f09 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s new file mode 100644 index 000000000000..e8928571c450 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s new file mode 100644 index 000000000000..00576f3c8355 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s new file mode 100644 index 000000000000..790ef77f86ef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s new file mode 100644 index 000000000000..469bfa10039a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s new file mode 100644 index 000000000000..ded8260f3e40 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s @@ -0,0 +1,17 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go +// + +TEXT ·sysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·sysvicall6(SB) + +TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSysvicall6(SB) diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go new file mode 100644 index 000000000000..6e322969706f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go @@ -0,0 +1,35 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Bluetooth sockets and messages + +package unix + +// Bluetooth Protocols +const ( + BTPROTO_L2CAP = 0 + BTPROTO_HCI = 1 + BTPROTO_SCO = 2 + BTPROTO_RFCOMM = 3 + BTPROTO_BNEP = 4 + BTPROTO_CMTP = 5 + BTPROTO_HIDP = 6 + BTPROTO_AVDTP = 7 +) + +const ( + HCI_CHANNEL_RAW = 0 + HCI_CHANNEL_USER = 1 + HCI_CHANNEL_MONITOR = 2 + HCI_CHANNEL_CONTROL = 3 +) + +// Socketoption Level +const ( + SOL_BLUETOOTH = 0x112 + SOL_HCI = 0x0 + SOL_L2CAP = 0x6 + SOL_RFCOMM = 0x12 + SOL_SCO = 0x11 +) diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go new file mode 100644 index 000000000000..83b6bceab438 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go @@ -0,0 +1,195 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd + +package unix + +import ( + errorspkg "errors" + "fmt" +) + +// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c + +const ( + // This is the version of CapRights this package understands. See C implementation for parallels. + capRightsGoVersion = CAP_RIGHTS_VERSION_00 + capArSizeMin = CAP_RIGHTS_VERSION_00 + 2 + capArSizeMax = capRightsGoVersion + 2 +) + +var ( + bit2idx = []int{ + -1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + } +) + +func capidxbit(right uint64) int { + return int((right >> 57) & 0x1f) +} + +func rightToIndex(right uint64) (int, error) { + idx := capidxbit(right) + if idx < 0 || idx >= len(bit2idx) { + return -2, fmt.Errorf("index for right 0x%x out of range", right) + } + return bit2idx[idx], nil +} + +func caprver(right uint64) int { + return int(right >> 62) +} + +func capver(rights *CapRights) int { + return caprver(rights.Rights[0]) +} + +func caparsize(rights *CapRights) int { + return capver(rights) + 2 +} + +// CapRightsSet sets the permissions in setrights in rights. +func CapRightsSet(rights *CapRights, setrights []uint64) error { + // This is essentially a copy of cap_rights_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errorspkg.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errorspkg.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errorspkg.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errorspkg.New("index mismatch") + } + rights.Rights[i] |= right + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errorspkg.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsClear clears the permissions in clearrights from rights. +func CapRightsClear(rights *CapRights, clearrights []uint64) error { + // This is essentially a copy of cap_rights_vclear() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errorspkg.New("bad rights size") + } + + for _, right := range clearrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errorspkg.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errorspkg.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errorspkg.New("index mismatch") + } + rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF) + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errorspkg.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsIsSet checks whether all the permissions in setrights are present in rights. +func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) { + // This is essentially a copy of cap_rights_is_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return false, fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return false, errorspkg.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return false, errorspkg.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return false, err + } + if i >= n { + return false, errorspkg.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return false, errorspkg.New("index mismatch") + } + if (rights.Rights[i] & right) != right { + return false, nil + } + } + + return true, nil +} + +func capright(idx uint64, bit uint64) uint64 { + return ((1 << (57 + idx)) | bit) +} + +// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights. +// See man cap_rights_init(3) and rights(4). +func CapRightsInit(rights []uint64) (*CapRights, error) { + var r CapRights + r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0) + r.Rights[1] = capright(1, 0) + + err := CapRightsSet(&r, rights) + if err != nil { + return nil, err + } + return &r, nil +} + +// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights. +// The capability rights on fd can never be increased by CapRightsLimit. +// See man cap_rights_limit(2) and rights(4). +func CapRightsLimit(fd uintptr, rights *CapRights) error { + return capRightsLimit(int(fd), rights) +} + +// CapRightsGet returns a CapRights structure containing the operations permitted on fd. +// See man cap_rights_get(3) and rights(4). +func CapRightsGet(fd uintptr) (*CapRights, error) { + r, err := CapRightsInit(nil) + if err != nil { + return nil, err + } + err = capRightsGet(capRightsGoVersion, int(fd), r) + if err != nil { + return nil, err + } + return r, nil +} diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go new file mode 100644 index 000000000000..a96f0ebc2644 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/constants.go @@ -0,0 +1,13 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +const ( + R_OK = 0x4 + W_OK = 0x2 + X_OK = 0x1 +) diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go new file mode 100644 index 000000000000..8d1dc0fa3d9a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_darwin.go @@ -0,0 +1,24 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Darwin's sys/types.h header. + +package unix + +// Major returns the major component of a Darwin device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 24) & 0xff) +} + +// Minor returns the minor component of a Darwin device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffffff) +} + +// Mkdev returns a Darwin device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 24) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go new file mode 100644 index 000000000000..8502f202ce31 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_dragonfly.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Dragonfly's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a DragonFlyBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a DragonFlyBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a DragonFlyBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go new file mode 100644 index 000000000000..eba3b4bd387a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_freebsd.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in FreeBSD's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a FreeBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a FreeBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a FreeBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go new file mode 100644 index 000000000000..d165d6f3085f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_linux.go @@ -0,0 +1,42 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used by the Linux kernel and glibc. +// +// The information below is extracted and adapted from bits/sysmacros.h in the +// glibc sources: +// +// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's +// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major +// number and m is a hex digit of the minor number. This is backward compatible +// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also +// backward compatible with the Linux kernel, which for some architectures uses +// 32-bit dev_t, encoded as mmmM MMmm. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + major := uint32((dev & 0x00000000000fff00) >> 8) + major |= uint32((dev & 0xfffff00000000000) >> 32) + return major +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x00000000000000ff) >> 0) + minor |= uint32((dev & 0x00000ffffff00000) >> 12) + return minor +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) & 0x00000fff) << 8 + dev |= (uint64(major) & 0xfffff000) << 32 + dev |= (uint64(minor) & 0x000000ff) << 0 + dev |= (uint64(minor) & 0xffffff00) << 12 + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go new file mode 100644 index 000000000000..b4a203d0c542 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_netbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in NetBSD's sys/types.h header. + +package unix + +// Major returns the major component of a NetBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x000fff00) >> 8) +} + +// Minor returns the minor component of a NetBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xfff00000) >> 12) + return minor +} + +// Mkdev returns a NetBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x000fff00 + dev |= (uint64(minor) << 12) & 0xfff00000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go new file mode 100644 index 000000000000..f3430c42ff00 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_openbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in OpenBSD's sys/types.h header. + +package unix + +// Major returns the major component of an OpenBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x0000ff00) >> 8) +} + +// Minor returns the minor component of an OpenBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xffff0000) >> 8) + return minor +} + +// Mkdev returns an OpenBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x0000ff00 + dev |= (uint64(minor) << 8) & 0xffff0000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go new file mode 100644 index 000000000000..bd475812b7af --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dirent.go @@ -0,0 +1,102 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris + +package unix + +import "unsafe" + +// readInt returns the size-bytes unsigned integer in native byte order at offset off. +func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { + if len(b) < int(off+size) { + return 0, false + } + if isBigEndian { + return readIntBE(b[off:], size), true + } + return readIntLE(b[off:], size), true +} + +func readIntBE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[1]) | uint64(b[0])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | + uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +func readIntLE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | + uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +// ParseDirent parses up to max directory entries in buf, +// appending the names to names. It returns the number of +// bytes consumed from buf, the number of entries added +// to names, and the new names slice. +func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { + origlen := len(buf) + count = 0 + for max != 0 && len(buf) > 0 { + reclen, ok := direntReclen(buf) + if !ok || reclen > uint64(len(buf)) { + return origlen, count, names + } + rec := buf[:reclen] + buf = buf[reclen:] + ino, ok := direntIno(rec) + if !ok { + break + } + if ino == 0 { // File absent in directory. + continue + } + const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) + namlen, ok := direntNamlen(rec) + if !ok || namoff+namlen > uint64(len(rec)) { + break + } + name := rec[namoff : namoff+namlen] + for i, c := range name { + if c == 0 { + name = name[:i] + break + } + } + // Check for useless names before allocating a string. + if string(name) == "." || string(name) == ".." { + continue + } + max-- + count++ + names = append(names, string(name)) + } + return origlen - len(buf), count, names +} diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go new file mode 100644 index 000000000000..5e9269063f5b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_big.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build ppc64 s390x mips mips64 + +package unix + +const isBigEndian = true diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go new file mode 100644 index 000000000000..085df2d8dd77 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_little.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le + +package unix + +const isBigEndian = false diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go new file mode 100644 index 000000000000..45e281a047dc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/env_unix.go @@ -0,0 +1,27 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +// Unix environment variables. + +package unix + +import "syscall" + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go new file mode 100644 index 000000000000..9222262559b8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/env_unset.go @@ -0,0 +1,14 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.4 + +package unix + +import "syscall" + +func Unsetenv(key string) error { + // This was added in Go 1.4. + return syscall.Unsetenv(key) +} diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go new file mode 100644 index 000000000000..c56bc8b05e07 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go new file mode 100644 index 000000000000..3e9771175aba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8040720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8040720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go new file mode 100644 index 000000000000..856dca325438 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go @@ -0,0 +1,226 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +const ( + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + + // missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go + IFF_SMART = 0x20 + IFT_FAITH = 0xf2 + IFT_IPXIP = 0xf9 + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/file_unix.go b/vendor/golang.org/x/sys/unix/file_unix.go new file mode 100644 index 000000000000..47f6a83f2163 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/file_unix.go @@ -0,0 +1,27 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "os" + "syscall" +) + +// FIXME: unexported function from os +// syscallMode returns the syscall-specific mode bits from Go's portable mode bits. +func syscallMode(i os.FileMode) (o uint32) { + o |= uint32(i.Perm()) + if i&os.ModeSetuid != 0 { + o |= syscall.S_ISUID + } + if i&os.ModeSetgid != 0 { + o |= syscall.S_ISGID + } + if i&os.ModeSticky != 0 { + o |= syscall.S_ISVTX + } + // No mapping for Go's ModeTemporary (plan9 only). + return +} diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go new file mode 100644 index 000000000000..2994ce75f208 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/flock.go @@ -0,0 +1,22 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd + +package unix + +import "unsafe" + +// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux +// systems by flock_linux_32bit.go to be SYS_FCNTL64. +var fcntl64Syscall uintptr = SYS_FCNTL + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) + if errno == 0 { + return nil + } + return errno +} diff --git a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go new file mode 100644 index 000000000000..fc0e50e03721 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go @@ -0,0 +1,13 @@ +// +build linux,386 linux,arm linux,mips linux,mipsle + +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +func init() { + // On 32-bit Linux systems, the fcntl syscall that matches Go's + // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. + fcntl64Syscall = SYS_FCNTL64 +} diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go new file mode 100644 index 000000000000..94c823212476 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo.go @@ -0,0 +1,46 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo + +package unix + +import "syscall" + +// We can't use the gc-syntax .s files for gccgo. On the plus side +// much of the functionality can be written directly in Go. + +//extern gccgoRealSyscall +func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} + +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c new file mode 100644 index 000000000000..07f6be0392e2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_c.c @@ -0,0 +1,41 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo + +#include +#include +#include + +#define _STRINGIFY2_(x) #x +#define _STRINGIFY_(x) _STRINGIFY2_(x) +#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) + +// Call syscall from C code because the gccgo support for calling from +// Go to C does not support varargs functions. + +struct ret { + uintptr_t r; + uintptr_t err; +}; + +struct ret +gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + struct ret r; + + errno = 0; + r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); + r.err = errno; + return r; +} + +// Define the use function in C so that it is not inlined. + +extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline)); + +void +use(void *p __attribute__ ((unused))) +{ +} diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go new file mode 100644 index 000000000000..bffe1a77db57 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go @@ -0,0 +1,20 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo,linux,amd64 + +package unix + +import "syscall" + +//extern gettimeofday +func realGettimeofday(*Timeval, *byte) int32 + +func gettimeofday(tv *Timeval) (err syscall.Errno) { + r := realGettimeofday(tv, nil) + if r < 0 { + return syscall.GetErrno() + } + return 0 +} diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh new file mode 100755 index 000000000000..c3a08092687e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkall.sh @@ -0,0 +1,197 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# This script runs or (given -n) prints suggested commands to generate files for +# the Architecture/OS specified by the GOARCH and GOOS environment variables. +# See README.md for more information about how the build system works. + +GOOSARCH="${GOOS}_${GOARCH}" + +# defaults +mksyscall="./mksyscall.pl" +mkerrors="./mkerrors.sh" +zerrors="zerrors_$GOOSARCH.go" +mksysctl="" +zsysctl="zsysctl_$GOOSARCH.go" +mksysnum= +mktypes= +run="sh" +cmd="" + +case "$1" in +-syscalls) + for i in zsyscall*go + do + # Run the command line that appears in the first line + # of the generated file to regenerate it. + sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i + rm _$i + done + exit 0 + ;; +-n) + run="cat" + cmd="echo" + shift +esac + +case "$#" in +0) + ;; +*) + echo 'usage: mkall.sh [-n]' 1>&2 + exit 2 +esac + +if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then + # Use then new build system + # Files generated through docker (use $cmd so you can Ctl-C the build or run) + $cmd docker build --tag generate:$GOOS $GOOS + $cmd docker run --interactive --tty --volume $(dirname "$(readlink -f "$0")"):/build generate:$GOOS + exit +fi + +GOOSARCH_in=syscall_$GOOSARCH.go +case "$GOOSARCH" in +_* | *_ | _) + echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 + exit 1 + ;; +darwin_386) + mkerrors="$mkerrors -m32" + mksyscall="./mksyscall.pl -l32" + mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_amd64) + mkerrors="$mkerrors -m64" + mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_arm) + mkerrors="$mkerrors" + mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_arm64) + mkerrors="$mkerrors -m64" + mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +dragonfly_386) + mkerrors="$mkerrors -m32" + mksyscall="./mksyscall.pl -l32 -dragonfly" + mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +dragonfly_amd64) + mkerrors="$mkerrors -m64" + mksyscall="./mksyscall.pl -dragonfly" + mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_386) + mkerrors="$mkerrors -m32" + mksyscall="./mksyscall.pl -l32" + mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_amd64) + mkerrors="$mkerrors -m64" + mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_arm) + mkerrors="$mkerrors" + mksyscall="./mksyscall.pl -l32 -arm" + mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +linux_sparc64) + GOOSARCH_in=syscall_linux_sparc64.go + unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h + mkerrors="$mkerrors -m64" + mksysnum="./mksysnum_linux.pl $unistd_h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="./mksyscall.pl -l32 -netbsd" + mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="./mksyscall.pl -netbsd" + mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_arm) + mkerrors="$mkerrors" + mksyscall="./mksyscall.pl -l32 -netbsd -arm" + mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="./mksyscall.pl -l32 -openbsd" + mksysctl="./mksysctl_openbsd.pl" + zsysctl="zsysctl_openbsd.go" + mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="./mksyscall.pl -openbsd" + mksysctl="./mksysctl_openbsd.pl" + zsysctl="zsysctl_openbsd.go" + mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_arm) + mkerrors="$mkerrors" + mksyscall="./mksyscall.pl -l32 -openbsd -arm" + mksysctl="./mksysctl_openbsd.pl" + zsysctl="zsysctl_openbsd.go" + mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +solaris_amd64) + mksyscall="./mksyscall_solaris.pl" + mkerrors="$mkerrors -m64" + mksysnum= + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +*) + echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 + exit 1 + ;; +esac + +( + if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi + case "$GOOS" in + *) + syscall_goos="syscall_$GOOS.go" + case "$GOOS" in + darwin | dragonfly | freebsd | netbsd | openbsd) + syscall_goos="syscall_bsd.go $syscall_goos" + ;; + esac + if [ -n "$mksyscall" ]; then echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi + ;; + esac + if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi + if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then + echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; + fi +) | $run diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh new file mode 100755 index 000000000000..f9f5e5691cee --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -0,0 +1,565 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Generate Go code listing errors and other #defined constant +# values (ENAMETOOLONG etc.), by asking the preprocessor +# about the definitions. + +unset LANG +export LC_ALL=C +export LC_CTYPE=C + +if test -z "$GOARCH" -o -z "$GOOS"; then + echo 1>&2 "GOARCH or GOOS not defined in environment" + exit 1 +fi + +# Check that we are using the new build system if we should +if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then + if [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then + echo 1>&2 "In the new build system, mkerrors should not be called directly." + echo 1>&2 "See README.md" + exit 1 + fi +fi + +CC=${CC:-cc} + +if [[ "$GOOS" = "solaris" ]]; then + # Assumes GNU versions of utilities in PATH. + export PATH=/usr/gnu/bin:$PATH +fi + +uname=$(uname) + +includes_Darwin=' +#define _DARWIN_C_SOURCE +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_DragonFly=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_FreeBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __FreeBSD__ >= 10 +#define IFT_CARP 0xf8 // IFT_CARP is deprecated in FreeBSD 10 +#undef SIOCAIFADDR +#define SIOCAIFADDR _IOW(105, 26, struct oifaliasreq) // ifaliasreq contains if_data +#undef SIOCSIFPHYADDR +#define SIOCSIFPHYADDR _IOW(105, 70, struct oifaliasreq) // ifaliasreq contains if_data +#endif +' + +includes_Linux=' +#define _LARGEFILE_SOURCE +#define _LARGEFILE64_SOURCE +#ifndef __LP64__ +#define _FILE_OFFSET_BITS 64 +#endif +#define _GNU_SOURCE + +// is broken on powerpc64, as it fails to include definitions of +// these structures. We just include them copied from . +#if defined(__powerpc__) +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef MSG_FASTOPEN +#define MSG_FASTOPEN 0x20000000 +#endif + +#ifndef PTRACE_GETREGS +#define PTRACE_GETREGS 0xc +#endif + +#ifndef PTRACE_SETREGS +#define PTRACE_SETREGS 0xd +#endif + +#ifndef SOL_NETLINK +#define SOL_NETLINK 270 +#endif + +#ifdef SOL_BLUETOOTH +// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h +// but it is already in bluetooth_linux.go +#undef SOL_BLUETOOTH +#endif + +// Certain constants are missing from the fs/crypto UAPI +#define FS_KEY_DESC_PREFIX "fscrypt:" +#define FS_KEY_DESC_PREFIX_SIZE 8 +#define FS_MAX_KEY_SIZE 64 +' + +includes_NetBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Needed since refers to it... +#define schedppq 1 +' + +includes_OpenBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// We keep some constants not supported in OpenBSD 5.5 and beyond for +// the promise of compatibility. +#define EMUL_ENABLED 0x1 +#define EMUL_NATIVE 0x2 +#define IPV6_FAITH 0x1d +#define IPV6_OPTIONS 0x1 +#define IPV6_RTHDR_STRICT 0x1 +#define IPV6_SOCKOPT_RESERVED1 0x3 +#define SIOCGIFGENERIC 0xc020693a +#define SIOCSIFGENERIC 0x80206939 +#define WALTSIG 0x4 +' + +includes_SunOS=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + + +includes=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' +ccflags="$@" + +# Write go tool cgo -godefs input. +( + echo package unix + echo + echo '/*' + indirect="includes_$(uname)" + echo "${!indirect} $includes" + echo '*/' + echo 'import "C"' + echo 'import "syscall"' + echo + echo 'const (' + + # The gcc command line prints all the #defines + # it encounters while processing the input + echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags | + awk ' + $1 != "#define" || $2 ~ /\(/ || $3 == "" {next} + + $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers + $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next} + $2 ~ /^(SCM_SRCRT)$/ {next} + $2 ~ /^(MAP_FAILED)$/ {next} + $2 ~ /^ELF_.*$/ {next}# contains ELF_ARCH, etc. + + $2 ~ /^EXTATTR_NAMESPACE_NAMES/ || + $2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next} + + $2 !~ /^ETH_/ && + $2 !~ /^EPROC_/ && + $2 !~ /^EQUIV_/ && + $2 !~ /^EXPR_/ && + $2 ~ /^E[A-Z0-9_]+$/ || + $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || + $2 == "BOTHER" || + $2 ~ /^CI?BAUD(EX)?$/ || + $2 == "IBSHIFT" || + $2 ~ /^V[A-Z0-9]+$/ || + $2 ~ /^CS[A-Z0-9]/ || + $2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ || + $2 ~ /^IGN/ || + $2 ~ /^IX(ON|ANY|OFF)$/ || + $2 ~ /^IN(LCR|PCK)$/ || + $2 ~ /(^FLU?SH)|(FLU?SH$)/ || + $2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ || + $2 == "BRKINT" || + $2 == "HUPCL" || + $2 == "PENDIN" || + $2 == "TOSTOP" || + $2 == "XCASE" || + $2 == "ALTWERASE" || + $2 == "NOKERNINFO" || + $2 ~ /^PAR/ || + $2 ~ /^SIG[^_]/ || + $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || + $2 ~ /^O?XTABS$/ || + $2 ~ /^TC[IO](ON|OFF)$/ || + $2 ~ /^IN_/ || + $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || + $2 ~ /^FALLOC_/ || + $2 == "ICMPV6_FILTER" || + $2 == "SOMAXCONN" || + $2 == "NAME_MAX" || + $2 == "IFNAMSIZ" || + $2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ || + $2 ~ /^SYSCTL_VERS/ || + $2 ~ /^(MS|MNT|UMOUNT)_/ || + $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || + $2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ || + $2 ~ /^LINUX_REBOOT_CMD_/ || + $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || + $2 !~ "NLA_TYPE_MASK" && + $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ || + $2 ~ /^SIOC/ || + $2 ~ /^TIOC/ || + $2 ~ /^TCGET/ || + $2 ~ /^TCSET/ || + $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || + $2 !~ "RTF_BITS" && + $2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ || + $2 ~ /^BIOC/ || + $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ || + $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || + $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || + $2 ~ /^CLONE_[A-Z_]+/ || + $2 !~ /^(BPF_TIMEVAL)$/ && + $2 ~ /^(BPF|DLT)_/ || + $2 ~ /^CLOCK_/ || + $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || + $2 ~ /^ALG_/ || + $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || + $2 ~ /^GRND_/ || + $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || + $2 ~ /^KEYCTL_/ || + $2 ~ /^PERF_EVENT_IOC_/ || + $2 ~ /^SECCOMP_MODE_/ || + $2 ~ /^SPLICE_/ || + $2 ~ /^(VM|VMADDR)_/ || + $2 ~ /^(TASKSTATS|TS)_/ || + $2 ~ /^GENL_/ || + $2 ~ /^XATTR_(CREATE|REPLACE)/ || + $2 !~ "WMESGLEN" && + $2 ~ /^W[A-Z0-9]+$/ || + $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} + $2 ~ /^__WCOREFLAG$/ {next} + $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} + + {next} + ' | sort + + echo ')' +) >_const.go + +# Pull out the error names for later. +errors=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' | + sort +) + +# Pull out the signal names for later. +signals=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' | + sort +) + +# Again, writing regexps to a file. +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' | + sort >_error.grep +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' | + sort >_signal.grep + +echo '// mkerrors.sh' "$@" +echo '// Code generated by the command above; see README.md. DO NOT EDIT.' +echo +echo "// +build ${GOARCH},${GOOS}" +echo +go tool cgo -godefs -- "$@" _const.go >_error.out +cat _error.out | grep -vf _error.grep | grep -vf _signal.grep +echo +echo '// Errors' +echo 'const (' +cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= syscall.Errno(\1)/' +echo ')' + +echo +echo '// Signals' +echo 'const (' +cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= syscall.Signal(\1)/' +echo ')' + +# Run C program to print error and syscall strings. +( + echo -E " +#include +#include +#include +#include +#include +#include + +#define nelem(x) (sizeof(x)/sizeof((x)[0])) + +enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below + +int errors[] = { +" + for i in $errors + do + echo -E ' '$i, + done + + echo -E " +}; + +int signals[] = { +" + for i in $signals + do + echo -E ' '$i, + done + + # Use -E because on some systems bash builtin interprets \n itself. + echo -E ' +}; + +static int +intcmp(const void *a, const void *b) +{ + return *(int*)a - *(int*)b; +} + +int +main(void) +{ + int i, e; + char buf[1024], *p; + + printf("\n\n// Error table\n"); + printf("var errors = [...]string {\n"); + qsort(errors, nelem(errors), sizeof errors[0], intcmp); + for(i=0; i 0 && errors[i-1] == e) + continue; + strcpy(buf, strerror(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + printf("\t%d: \"%s\",\n", e, buf); + } + printf("}\n\n"); + + printf("\n\n// Signal table\n"); + printf("var signals = [...]string {\n"); + qsort(signals, nelem(signals), sizeof signals[0], intcmp); + for(i=0; i 0 && signals[i-1] == e) + continue; + strcpy(buf, strsignal(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + // cut trailing : number. + p = strrchr(buf, ":"[0]); + if(p) + *p = '\0'; + printf("\t%d: \"%s\",\n", e, buf); + } + printf("}\n\n"); + + return 0; +} + +' +) >_errors.c + +$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go new file mode 100644 index 000000000000..d3ff659bb36b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkpost.go @@ -0,0 +1,88 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// mkpost processes the output of cgo -godefs to +// modify the generated types. It is used to clean up +// the sys API in an architecture specific manner. +// +// mkpost is run after cgo -godefs; see README.md. +package main + +import ( + "bytes" + "fmt" + "go/format" + "io/ioutil" + "log" + "os" + "regexp" +) + +func main() { + // Get the OS and architecture (using GOARCH_TARGET if it exists) + goos := os.Getenv("GOOS") + goarch := os.Getenv("GOARCH_TARGET") + if goarch == "" { + goarch = os.Getenv("GOARCH") + } + // Check that we are using the new build system if we should be. + if goos == "linux" && goarch != "sparc64" { + if os.Getenv("GOLANG_SYS_BUILD") != "docker" { + os.Stderr.WriteString("In the new build system, mkpost should not be called directly.\n") + os.Stderr.WriteString("See README.md\n") + os.Exit(1) + } + } + + b, err := ioutil.ReadAll(os.Stdin) + if err != nil { + log.Fatal(err) + } + + // If we have empty Ptrace structs, we should delete them. Only s390x emits + // nonempty Ptrace structs. + ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`) + b = ptraceRexexp.ReplaceAll(b, nil) + + // Replace the control_regs union with a blank identifier for now. + controlRegsRegex := regexp.MustCompile(`(Control_regs)\s+\[0\]uint64`) + b = controlRegsRegex.ReplaceAll(b, []byte("_ [0]uint64")) + + // Remove fields that are added by glibc + // Note that this is unstable as the identifers are private. + removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`) + b = removeFieldsRegex.ReplaceAll(b, []byte("_")) + + // We refuse to export private fields on s390x + if goarch == "s390x" && goos == "linux" { + // Remove cgo padding fields + removeFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`) + b = removeFieldsRegex.ReplaceAll(b, []byte("_")) + + // Remove padding, hidden, or unused fields + removeFieldsRegex = regexp.MustCompile(`X_\S+`) + b = removeFieldsRegex.ReplaceAll(b, []byte("_")) + } + + // Remove the first line of warning from cgo + b = b[bytes.IndexByte(b, '\n')+1:] + // Modify the command in the header to include: + // mkpost, our own warning, and a build tag. + replacement := fmt.Sprintf(`$1 | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s,%s`, goarch, goos) + cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) + b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) + + // gofmt + b, err = format.Source(b) + if err != nil { + log.Fatal(err) + } + + os.Stdout.Write(b) +} diff --git a/vendor/golang.org/x/sys/unix/mksyscall.pl b/vendor/golang.org/x/sys/unix/mksyscall.pl new file mode 100755 index 000000000000..fb929b4ce113 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall.pl @@ -0,0 +1,328 @@ +#!/usr/bin/env perl +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# This program reads a file containing function prototypes +# (like syscall_darwin.go) and generates system call bodies. +# The prototypes are marked by lines beginning with "//sys" +# and read like func declarations if //sys is replaced by func, but: +# * The parameter lists must give a name for each argument. +# This includes return parameters. +# * The parameter lists must give a type for each argument: +# the (x, y, z int) shorthand is not allowed. +# * If the return parameter is an error number, it must be named errno. + +# A line beginning with //sysnb is like //sys, except that the +# goroutine will not be suspended during the execution of the system +# call. This must only be used for system calls which can never +# block, as otherwise the system call could cause all goroutines to +# hang. + +use strict; + +my $cmdline = "mksyscall.pl " . join(' ', @ARGV); +my $errors = 0; +my $_32bit = ""; +my $plan9 = 0; +my $openbsd = 0; +my $netbsd = 0; +my $dragonfly = 0; +my $arm = 0; # 64-bit value should use (even, odd)-pair +my $tags = ""; # build tags + +if($ARGV[0] eq "-b32") { + $_32bit = "big-endian"; + shift; +} elsif($ARGV[0] eq "-l32") { + $_32bit = "little-endian"; + shift; +} +if($ARGV[0] eq "-plan9") { + $plan9 = 1; + shift; +} +if($ARGV[0] eq "-openbsd") { + $openbsd = 1; + shift; +} +if($ARGV[0] eq "-netbsd") { + $netbsd = 1; + shift; +} +if($ARGV[0] eq "-dragonfly") { + $dragonfly = 1; + shift; +} +if($ARGV[0] eq "-arm") { + $arm = 1; + shift; +} +if($ARGV[0] eq "-tags") { + shift; + $tags = $ARGV[0]; + shift; +} + +if($ARGV[0] =~ /^-/) { + print STDERR "usage: mksyscall.pl [-b32 | -l32] [-tags x,y] [file ...]\n"; + exit 1; +} + +# Check that we are using the new build system if we should +if($ENV{'GOOS'} eq "linux" && $ENV{'GOARCH'} ne "sparc64") { + if($ENV{'GOLANG_SYS_BUILD'} ne "docker") { + print STDERR "In the new build system, mksyscall should not be called directly.\n"; + print STDERR "See README.md\n"; + exit 1; + } +} + + +sub parseparamlist($) { + my ($list) = @_; + $list =~ s/^\s*//; + $list =~ s/\s*$//; + if($list eq "") { + return (); + } + return split(/\s*,\s*/, $list); +} + +sub parseparam($) { + my ($p) = @_; + if($p !~ /^(\S*) (\S*)$/) { + print STDERR "$ARGV:$.: malformed parameter: $p\n"; + $errors = 1; + return ("xx", "int"); + } + return ($1, $2); +} + +my $text = ""; +while(<>) { + chomp; + s/\s+/ /g; + s/^\s+//; + s/\s+$//; + my $nonblock = /^\/\/sysnb /; + next if !/^\/\/sys / && !$nonblock; + + # Line must be of the form + # func Open(path string, mode int, perm int) (fd int, errno error) + # Split into name, in params, out params. + if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$/) { + print STDERR "$ARGV:$.: malformed //sys declaration\n"; + $errors = 1; + next; + } + my ($func, $in, $out, $sysname) = ($2, $3, $4, $5); + + # Split argument lists on comma. + my @in = parseparamlist($in); + my @out = parseparamlist($out); + + # Try in vain to keep people from editing this file. + # The theory is that they jump into the middle of the file + # without reading the header. + $text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"; + + # Go function header. + my $out_decl = @out ? sprintf(" (%s)", join(', ', @out)) : ""; + $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out_decl; + + # Check if err return available + my $errvar = ""; + foreach my $p (@out) { + my ($name, $type) = parseparam($p); + if($type eq "error") { + $errvar = $name; + last; + } + } + + # Prepare arguments to Syscall. + my @args = (); + my $n = 0; + foreach my $p (@in) { + my ($name, $type) = parseparam($p); + if($type =~ /^\*/) { + push @args, "uintptr(unsafe.Pointer($name))"; + } elsif($type eq "string" && $errvar ne "") { + $text .= "\tvar _p$n *byte\n"; + $text .= "\t_p$n, $errvar = BytePtrFromString($name)\n"; + $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n"; + push @args, "uintptr(unsafe.Pointer(_p$n))"; + $n++; + } elsif($type eq "string") { + print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n"; + $text .= "\tvar _p$n *byte\n"; + $text .= "\t_p$n, _ = BytePtrFromString($name)\n"; + push @args, "uintptr(unsafe.Pointer(_p$n))"; + $n++; + } elsif($type =~ /^\[\](.*)/) { + # Convert slice into pointer, length. + # Have to be careful not to take address of &a[0] if len == 0: + # pass dummy pointer in that case. + # Used to pass nil, but some OSes or simulators reject write(fd, nil, 0). + $text .= "\tvar _p$n unsafe.Pointer\n"; + $text .= "\tif len($name) > 0 {\n\t\t_p$n = unsafe.Pointer(\&${name}[0])\n\t}"; + $text .= " else {\n\t\t_p$n = unsafe.Pointer(&_zero)\n\t}"; + $text .= "\n"; + push @args, "uintptr(_p$n)", "uintptr(len($name))"; + $n++; + } elsif($type eq "int64" && ($openbsd || $netbsd)) { + push @args, "0"; + if($_32bit eq "big-endian") { + push @args, "uintptr($name>>32)", "uintptr($name)"; + } elsif($_32bit eq "little-endian") { + push @args, "uintptr($name)", "uintptr($name>>32)"; + } else { + push @args, "uintptr($name)"; + } + } elsif($type eq "int64" && $dragonfly) { + if ($func !~ /^extp(read|write)/i) { + push @args, "0"; + } + if($_32bit eq "big-endian") { + push @args, "uintptr($name>>32)", "uintptr($name)"; + } elsif($_32bit eq "little-endian") { + push @args, "uintptr($name)", "uintptr($name>>32)"; + } else { + push @args, "uintptr($name)"; + } + } elsif($type eq "int64" && $_32bit ne "") { + if(@args % 2 && $arm) { + # arm abi specifies 64-bit argument uses + # (even, odd) pair + push @args, "0" + } + if($_32bit eq "big-endian") { + push @args, "uintptr($name>>32)", "uintptr($name)"; + } else { + push @args, "uintptr($name)", "uintptr($name>>32)"; + } + } else { + push @args, "uintptr($name)"; + } + } + + # Determine which form to use; pad args with zeros. + my $asm = "Syscall"; + if ($nonblock) { + $asm = "RawSyscall"; + } + if(@args <= 3) { + while(@args < 3) { + push @args, "0"; + } + } elsif(@args <= 6) { + $asm .= "6"; + while(@args < 6) { + push @args, "0"; + } + } elsif(@args <= 9) { + $asm .= "9"; + while(@args < 9) { + push @args, "0"; + } + } else { + print STDERR "$ARGV:$.: too many arguments to system call\n"; + } + + # System call number. + if($sysname eq "") { + $sysname = "SYS_$func"; + $sysname =~ s/([a-z])([A-Z])/${1}_$2/g; # turn FooBar into Foo_Bar + $sysname =~ y/a-z/A-Z/; + } + + # Actual call. + my $args = join(', ', @args); + my $call = "$asm($sysname, $args)"; + + # Assign return values. + my $body = ""; + my @ret = ("_", "_", "_"); + my $do_errno = 0; + for(my $i=0; $i<@out; $i++) { + my $p = $out[$i]; + my ($name, $type) = parseparam($p); + my $reg = ""; + if($name eq "err" && !$plan9) { + $reg = "e1"; + $ret[2] = $reg; + $do_errno = 1; + } elsif($name eq "err" && $plan9) { + $ret[0] = "r0"; + $ret[2] = "e1"; + next; + } else { + $reg = sprintf("r%d", $i); + $ret[$i] = $reg; + } + if($type eq "bool") { + $reg = "$reg != 0"; + } + if($type eq "int64" && $_32bit ne "") { + # 64-bit number in r1:r0 or r0:r1. + if($i+2 > @out) { + print STDERR "$ARGV:$.: not enough registers for int64 return\n"; + } + if($_32bit eq "big-endian") { + $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1); + } else { + $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i); + } + $ret[$i] = sprintf("r%d", $i); + $ret[$i+1] = sprintf("r%d", $i+1); + } + if($reg ne "e1" || $plan9) { + $body .= "\t$name = $type($reg)\n"; + } + } + if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") { + $text .= "\t$call\n"; + } else { + $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n"; + } + $text .= $body; + + if ($plan9 && $ret[2] eq "e1") { + $text .= "\tif int32(r0) == -1 {\n"; + $text .= "\t\terr = e1\n"; + $text .= "\t}\n"; + } elsif ($do_errno) { + $text .= "\tif e1 != 0 {\n"; + $text .= "\t\terr = errnoErr(e1)\n"; + $text .= "\t}\n"; + } + $text .= "\treturn\n"; + $text .= "}\n\n"; +} + +chomp $text; +chomp $text; + +if($errors) { + exit 1; +} + +print <) { + chomp; + s/\s+/ /g; + s/^\s+//; + s/\s+$//; + $package = $1 if !$package && /^package (\S+)$/; + my $nonblock = /^\/\/sysnb /; + next if !/^\/\/sys / && !$nonblock; + + # Line must be of the form + # func Open(path string, mode int, perm int) (fd int, err error) + # Split into name, in params, out params. + if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) { + print STDERR "$ARGV:$.: malformed //sys declaration\n"; + $errors = 1; + next; + } + my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6); + + # Split argument lists on comma. + my @in = parseparamlist($in); + my @out = parseparamlist($out); + + # So file name. + if($modname eq "") { + $modname = "libc"; + } + + # System call name. + if($sysname eq "") { + $sysname = "$func"; + } + + # System call pointer variable name. + my $sysvarname = "proc$sysname"; + + my $strconvfunc = "BytePtrFromString"; + my $strconvtype = "*byte"; + + $sysname =~ y/A-Z/a-z/; # All libc functions are lowercase. + + # Runtime import of function to allow cross-platform builds. + $dynimports .= "//go:cgo_import_dynamic libc_${sysname} ${sysname} \"$modname.so\"\n"; + # Link symbol to proc address variable. + $linknames .= "//go:linkname ${sysvarname} libc_${sysname}\n"; + # Library proc address variable. + push @vars, $sysvarname; + + # Go function header. + $out = join(', ', @out); + if($out ne "") { + $out = " ($out)"; + } + if($text ne "") { + $text .= "\n" + } + $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out; + + # Check if err return available + my $errvar = ""; + foreach my $p (@out) { + my ($name, $type) = parseparam($p); + if($type eq "error") { + $errvar = $name; + last; + } + } + + # Prepare arguments to Syscall. + my @args = (); + my $n = 0; + foreach my $p (@in) { + my ($name, $type) = parseparam($p); + if($type =~ /^\*/) { + push @args, "uintptr(unsafe.Pointer($name))"; + } elsif($type eq "string" && $errvar ne "") { + $text .= "\tvar _p$n $strconvtype\n"; + $text .= "\t_p$n, $errvar = $strconvfunc($name)\n"; + $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n"; + push @args, "uintptr(unsafe.Pointer(_p$n))"; + $n++; + } elsif($type eq "string") { + print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n"; + $text .= "\tvar _p$n $strconvtype\n"; + $text .= "\t_p$n, _ = $strconvfunc($name)\n"; + push @args, "uintptr(unsafe.Pointer(_p$n))"; + $n++; + } elsif($type =~ /^\[\](.*)/) { + # Convert slice into pointer, length. + # Have to be careful not to take address of &a[0] if len == 0: + # pass nil in that case. + $text .= "\tvar _p$n *$1\n"; + $text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n"; + push @args, "uintptr(unsafe.Pointer(_p$n))", "uintptr(len($name))"; + $n++; + } elsif($type eq "int64" && $_32bit ne "") { + if($_32bit eq "big-endian") { + push @args, "uintptr($name >> 32)", "uintptr($name)"; + } else { + push @args, "uintptr($name)", "uintptr($name >> 32)"; + } + } elsif($type eq "bool") { + $text .= "\tvar _p$n uint32\n"; + $text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n"; + push @args, "uintptr(_p$n)"; + $n++; + } else { + push @args, "uintptr($name)"; + } + } + my $nargs = @args; + + # Determine which form to use; pad args with zeros. + my $asm = "sysvicall6"; + if ($nonblock) { + $asm = "rawSysvicall6"; + } + if(@args <= 6) { + while(@args < 6) { + push @args, "0"; + } + } else { + print STDERR "$ARGV:$.: too many arguments to system call\n"; + } + + # Actual call. + my $args = join(', ', @args); + my $call = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)"; + + # Assign return values. + my $body = ""; + my $failexpr = ""; + my @ret = ("_", "_", "_"); + my @pout= (); + my $do_errno = 0; + for(my $i=0; $i<@out; $i++) { + my $p = $out[$i]; + my ($name, $type) = parseparam($p); + my $reg = ""; + if($name eq "err") { + $reg = "e1"; + $ret[2] = $reg; + $do_errno = 1; + } else { + $reg = sprintf("r%d", $i); + $ret[$i] = $reg; + } + if($type eq "bool") { + $reg = "$reg != 0"; + } + if($type eq "int64" && $_32bit ne "") { + # 64-bit number in r1:r0 or r0:r1. + if($i+2 > @out) { + print STDERR "$ARGV:$.: not enough registers for int64 return\n"; + } + if($_32bit eq "big-endian") { + $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1); + } else { + $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i); + } + $ret[$i] = sprintf("r%d", $i); + $ret[$i+1] = sprintf("r%d", $i+1); + } + if($reg ne "e1") { + $body .= "\t$name = $type($reg)\n"; + } + } + if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") { + $text .= "\t$call\n"; + } else { + $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n"; + } + $text .= $body; + + if ($do_errno) { + $text .= "\tif e1 != 0 {\n"; + $text .= "\t\terr = e1\n"; + $text .= "\t}\n"; + } + $text .= "\treturn\n"; + $text .= "}\n"; +} + +if($errors) { + exit 1; +} + +print < "net.inet", + "net.inet.ipproto" => "net.inet", + "net.inet6.ipv6proto" => "net.inet6", + "net.inet6.ipv6" => "net.inet6.ip6", + "net.inet.icmpv6" => "net.inet6.icmp6", + "net.inet6.divert6" => "net.inet6.divert", + "net.inet6.tcp6" => "net.inet.tcp", + "net.inet6.udp6" => "net.inet.udp", + "mpls" => "net.mpls", + "swpenc" => "vm.swapencrypt" +); + +# Node mappings +my %node_map = ( + "net.inet.ip.ifq" => "net.ifq", + "net.inet.pfsync" => "net.pfsync", + "net.mpls.ifq" => "net.ifq" +); + +my $ctlname; +my %mib = (); +my %sysctl = (); +my $node; + +sub debug() { + print STDERR "$_[0]\n" if $debug; +} + +# Walk the MIB and build a sysctl name to OID mapping. +sub build_sysctl() { + my ($node, $name, $oid) = @_; + my %node = %{$node}; + my @oid = @{$oid}; + + foreach my $key (sort keys %node) { + my @node = @{$node{$key}}; + my $nodename = $name.($name ne '' ? '.' : '').$key; + my @nodeoid = (@oid, $node[0]); + if ($node[1] eq 'CTLTYPE_NODE') { + if (exists $node_map{$nodename}) { + $node = \%mib; + $ctlname = $node_map{$nodename}; + foreach my $part (split /\./, $ctlname) { + $node = \%{@{$$node{$part}}[2]}; + } + } else { + $node = $node[2]; + } + &build_sysctl($node, $nodename, \@nodeoid); + } elsif ($node[1] ne '') { + $sysctl{$nodename} = \@nodeoid; + } + } +} + +foreach my $ctl (@ctls) { + $ctls{$ctl} = $ctl; +} + +# Build MIB +foreach my $header (@headers) { + &debug("Processing $header..."); + open HEADER, "/usr/include/$header" || + print STDERR "Failed to open $header\n"; + while (
) { + if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ || + $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ || + $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) { + if ($1 eq 'CTL_NAMES') { + # Top level. + $node = \%mib; + } else { + # Node. + my $nodename = lc($2); + if ($header =~ /^netinet\//) { + $ctlname = "net.inet.$nodename"; + } elsif ($header =~ /^netinet6\//) { + $ctlname = "net.inet6.$nodename"; + } elsif ($header =~ /^net\//) { + $ctlname = "net.$nodename"; + } else { + $ctlname = "$nodename"; + $ctlname =~ s/^(fs|net|kern)_/$1\./; + } + if (exists $ctl_map{$ctlname}) { + $ctlname = $ctl_map{$ctlname}; + } + if (not exists $ctls{$ctlname}) { + &debug("Ignoring $ctlname..."); + next; + } + + # Walk down from the top of the MIB. + $node = \%mib; + foreach my $part (split /\./, $ctlname) { + if (not exists $$node{$part}) { + &debug("Missing node $part"); + $$node{$part} = [ 0, '', {} ]; + } + $node = \%{@{$$node{$part}}[2]}; + } + } + + # Populate current node with entries. + my $i = -1; + while (defined($_) && $_ !~ /^}/) { + $_ =
; + $i++ if $_ =~ /{.*}/; + next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/; + $$node{$1} = [ $i, $2, {} ]; + } + } + } + close HEADER; +} + +&build_sysctl(\%mib, "", []); + +print <){ + if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){ + my $name = $1; + my $num = $2; + $name =~ y/a-z/A-Z/; + print " SYS_$name = $num;" + } +} + +print <){ + if(/^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$/){ + my $num = $1; + my $proto = $2; + my $name = "SYS_$3"; + $name =~ y/a-z/A-Z/; + + # There are multiple entries for enosys and nosys, so comment them out. + if($name =~ /^SYS_E?NOSYS$/){ + $name = "// $name"; + } + if($name eq 'SYS_SYS_EXIT'){ + $name = 'SYS_EXIT'; + } + + print " $name = $num; // $proto\n"; + } +} + +print <){ + if(/^([0-9]+)\s+\S+\s+STD\s+({ \S+\s+(\w+).*)$/){ + my $num = $1; + my $proto = $2; + my $name = "SYS_$3"; + $name =~ y/a-z/A-Z/; + + # There are multiple entries for enosys and nosys, so comment them out. + if($name =~ /^SYS_E?NOSYS$/){ + $name = "// $name"; + } + if($name eq 'SYS_SYS_EXIT'){ + $name = 'SYS_EXIT'; + } + + print " $name = $num; // $proto\n"; + } +} + +print <){ + if($line =~ /^(.*)\\$/) { + # Handle continuation + $line = $1; + $_ =~ s/^\s+//; + $line .= $_; + } else { + # New line + $line = $_; + } + next if $line =~ /\\$/; + if($line =~ /^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$/) { + my $num = $1; + my $proto = $6; + my $compat = $8; + my $name = "$7_$9"; + + $name = "$7_$11" if $11 ne ''; + $name =~ y/a-z/A-Z/; + + if($compat eq '' || $compat eq '13' || $compat eq '30' || $compat eq '50') { + print " $name = $num; // $proto\n"; + } + } +} + +print <){ + if(/^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$/){ + my $num = $1; + my $proto = $3; + my $name = $4; + $name =~ y/a-z/A-Z/; + + # There are multiple entries for enosys and nosys, so comment them out. + if($name =~ /^SYS_E?NOSYS$/){ + $name = "// $name"; + } + if($name eq 'SYS_SYS_EXIT'){ + $name = 'SYS_EXIT'; + } + + print " $name = $num; // $proto\n"; + } +} + +print < uint64(len(b)) { + return nil, nil, EINVAL + } + return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil +} + +// UnixRights encodes a set of open file descriptors into a socket +// control message for sending to another process. +func UnixRights(fds ...int) []byte { + datalen := len(fds) * 4 + b := make([]byte, CmsgSpace(datalen)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_RIGHTS + h.SetLen(CmsgLen(datalen)) + data := cmsgData(h) + for _, fd := range fds { + *(*int32)(data) = int32(fd) + data = unsafe.Pointer(uintptr(data) + 4) + } + return b +} + +// ParseUnixRights decodes a socket control message that contains an +// integer array of open file descriptors from another process. +func ParseUnixRights(m *SocketControlMessage) ([]int, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_RIGHTS { + return nil, EINVAL + } + fds := make([]int, len(m.Data)>>2) + for i, j := 0, 0; i < len(m.Data); i += 4 { + fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) + j++ + } + return fds, nil +} diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go new file mode 100644 index 000000000000..35ed6643536f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/str.go @@ -0,0 +1,26 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + uitoa(uint(-val)) + } + return uitoa(uint(val)) +} + +func uitoa(val uint) string { + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go new file mode 100644 index 000000000000..85e35020e274 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall.go @@ -0,0 +1,69 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +// Package unix contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display OS-specific documentation for the current +// system. If you want godoc to display OS documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package unix // import "golang.org/x/sys/unix" + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + for i := 0; i < len(s); i++ { + if s[i] == 0 { + return nil, EINVAL + } + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +// See mkunix.pl. +var _zero uintptr + +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} + +func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go new file mode 100644 index 000000000000..c2846b32d6cd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -0,0 +1,635 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +// BSD system call wrappers shared by *BSD based systems +// including OS X (Darwin) and FreeBSD. Like the other +// syscall_*.go files it is compiled as Go code but also +// used as input to mksyscall which parses the //sys +// lines and generates system call stubs. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // 64 bits should be enough. (32 bits isn't even on 386). Since the + // actual system call is getdirentries64, 64 is a good guess. + // TODO(rsc): Can we use a single global basep for all calls? + var base = (*uintptr)(unsafe.Pointer(new(uint64))) + return Getdirentries(fd, buf, base) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys Shutdown(s int, how int) (err error) + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Index == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = sa.Len + sa.raw.Family = AF_LINK + sa.raw.Index = sa.Index + sa.raw.Type = sa.Type + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil +} + +func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_LINK: + pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) + sa := new(SockaddrDatalink) + sa.Len = pp.Len + sa.Family = pp.Family + sa.Index = pp.Index + sa.Type = pp.Type + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + + // Some BSDs include the trailing NUL in the length, whereas + // others do not. Work around this by subtracting the leading + // family and len. The path is then scanned to see if a NUL + // terminator still exists within the length. + n := int(pp.Len) - 2 // subtract leading Family, Len + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len included the NUL + // or was overestimating. + n = i + break + } + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + if runtime.GOOS == "darwin" && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket + // is accepted, but has no address. + Close(nfd) + return 0, nil, ECONNABORTED + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be + // reported upstream. + if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + rsa.Addr.Family = AF_UNIX + rsa.Addr.Len = SizeofSockaddrUnix + } + return anyToSockaddr(&rsa) +} + +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(&rsa) + } + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { + var change, event unsafe.Pointer + if len(changes) > 0 { + change = unsafe.Pointer(&changes[0]) + } + if len(events) > 0 { + event = unsafe.Pointer(&events[0]) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// sysctlmib translates name to mib number and appends any additional args. +func sysctlmib(name string, args ...int) ([]_C_int, error) { + // Translate name to mib number. + mib, err := nametomib(name) + if err != nil { + return nil, err + } + + for _, a := range args { + mib = append(mib, _C_int(a)) + } + + return mib, nil +} + +func Sysctl(name string) (string, error) { + return SysctlArgs(name) +} + +func SysctlArgs(name string, args ...int) (string, error) { + buf, err := SysctlRaw(name, args...) + if err != nil { + return "", err + } + n := len(buf) + + // Throw away terminating NUL. + if n > 0 && buf[n-1] == '\x00' { + n-- + } + return string(buf[0:n]), nil +} + +func SysctlUint32(name string) (uint32, error) { + return SysctlUint32Args(name) +} + +func SysctlUint32Args(name string, args ...int) (uint32, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(4) + buf := make([]byte, 4) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 4 { + return 0, EIO + } + return *(*uint32)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlUint64(name string, args ...int) (uint64, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(8) + buf := make([]byte, 8) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 8 { + return 0, EIO + } + return *(*uint64)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlRaw(name string, args ...int) ([]byte, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return nil, err + } + + // Find size. + n := uintptr(0) + if err := sysctl(mib, nil, &n, nil, 0); err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Read into buffer of that size. + buf := make([]byte, n) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return nil, err + } + + // The actual call may return less than the original reported required + // size so ensure we deal with that. + return buf[:n], nil +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := [2]Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimes(fd int, timeval *[2]Timeval) (err error) + +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimes(fd, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// TODO: wrap +// Acct(name nil-string) (err error) +// Gethostuuid(uuid *byte, timeout *Timespec) (err error) +// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go new file mode 100644 index 000000000000..ad74a11fb3ea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -0,0 +1,536 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Darwin system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + errorspkg "errors" + "syscall" + "unsafe" +) + +const ImplementsGetwd = true + +func Getwd() (string, error) { + buf := make([]byte, 2048) + attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) + if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { + wd := string(attrs[0]) + // Sanity check that it's an absolute path and ends + // in a null byte, which we then strip. + if wd[0] == '/' && wd[len(wd)-1] == 0 { + return wd[:len(wd)-1], nil + } + } + // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the + // slow algorithm. + return "", ENOTSUP +} + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) +func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } +func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } + +const ( + attrBitMapCount = 5 + attrCmnFullpath = 0x08000000 +) + +type attrList struct { + bitmapCount uint16 + _ uint16 + CommonAttr uint32 + VolAttr uint32 + DirAttr uint32 + FileAttr uint32 + Forkattr uint32 +} + +func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { + if len(attrBuf) < 4 { + return nil, errorspkg.New("attrBuf too small") + } + attrList.bitmapCount = attrBitMapCount + + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return nil, err + } + + _, _, e1 := Syscall6( + SYS_GETATTRLIST, + uintptr(unsafe.Pointer(_p0)), + uintptr(unsafe.Pointer(&attrList)), + uintptr(unsafe.Pointer(&attrBuf[0])), + uintptr(len(attrBuf)), + uintptr(options), + 0, + ) + if e1 != 0 { + return nil, e1 + } + size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) + + // dat is the section of attrBuf that contains valid data, + // without the 4 byte length header. All attribute offsets + // are relative to dat. + dat := attrBuf + if int(size) < len(attrBuf) { + dat = dat[:size] + } + dat = dat[4:] // remove length prefix + + for i := uint32(0); int(i) < len(dat); { + header := dat[i:] + if len(header) < 8 { + return attrs, errorspkg.New("truncated attribute header") + } + datOff := *(*int32)(unsafe.Pointer(&header[0])) + attrLen := *(*uint32)(unsafe.Pointer(&header[4])) + if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { + return attrs, errorspkg.New("truncated results; attrBuf too small") + } + end := uint32(datOff) + attrLen + attrs = append(attrs, dat[datOff:end]) + i = end + if r := i % 4; r != 0 { + i += (4 - r) + } + } + return +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + +/* + * Wrapped + */ + +//sys kill(pid int, signum int, posix int) (err error) + +func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exchangedata(path1 string, path2 string, options int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Getuid() (uid int) +//sysnb Issetugid() (tainted bool) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sys Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setprivexec(flag int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Poll +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// sendfile +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go new file mode 100644 index 000000000000..76634f7ab148 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go @@ -0,0 +1,75 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,darwin + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int32(nsec / 1e9) + return +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var length = uint64(count) + + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) + + written = int(length) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go new file mode 100644 index 000000000000..7be02dab9d9b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -0,0 +1,75 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,darwin + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var length = uint64(count) + + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) + + written = int(length) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go new file mode 100644 index 000000000000..26b66972f013 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go @@ -0,0 +1,69 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int32(nsec / 1e9) + return +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var length = uint64(count) + + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) + + written = int(length) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go new file mode 100644 index 000000000000..4d67a874272a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -0,0 +1,75 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,darwin + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var length = uint64(count) + + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) + + written = int(length) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go new file mode 100644 index 000000000000..3a483373dce4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -0,0 +1,415 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DragonFly BSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import "unsafe" + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + namlen, ok := direntNamlen(buf) + if !ok { + return 0, false + } + return (16 + namlen + 1 + 7) &^ 7, true +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) +} + +//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + * TODO(jsing): Update this list for DragonFly. + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Poll +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go new file mode 100644 index 000000000000..6d8952d5a11e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -0,0 +1,59 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,dragonfly + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = nsec % 1e9 / 1e3 + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go new file mode 100644 index 000000000000..d26e52eaefe1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -0,0 +1,708 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// FreeBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import "unsafe" + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, errno +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// Derive extattr namespace and attribute name + +func xattrnamespace(fullattr string) (ns int, attr string, err error) { + s := -1 + for idx, val := range fullattr { + if val == '.' { + s = idx + break + } + } + + if s == -1 { + return -1, "", ENOATTR + } + + namespace := fullattr[0:s] + attr = fullattr[s+1:] + + switch namespace { + case "user": + return EXTATTR_NAMESPACE_USER, attr, nil + case "system": + return EXTATTR_NAMESPACE_SYSTEM, attr, nil + default: + return -1, "", ENOATTR + } +} + +func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { + if len(dest) > idx { + return unsafe.Pointer(&dest[idx]) + } else { + return unsafe.Pointer(_zero) + } +} + +// FreeBSD implements its own syscalls to handle extended attributes + +func Getxattr(file string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) +} + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) +} + +// flags are unused on FreeBSD + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + d := unsafe.Pointer(&data[0]) + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) + return +} + +func Setxattr(file string, attr string, data []byte, flags int) (err error) { + d := unsafe.Pointer(&data[0]) + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) + return +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + d := unsafe.Pointer(&data[0]) + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) + return +} + +func Removexattr(file string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFile(file, nsid, a) + return +} + +func Fremovexattr(fd int, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFd(fd, nsid, a) + return +} + +func Lremovexattr(link string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteLink(link, nsid, a) + return +} + +func Listxattr(file string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + // FreeBSD won't allow you to list xattrs from multiple namespaces + s := 0 + var e error + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) + + /* Errors accessing system attrs are ignored so that + * we can implement the Linux-like behavior of omitting errors that + * we don't have read permissions on + * + * Linux will still error if we ask for user attributes on a file that + * we don't have read permissions on, so don't ignore those errors + */ + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + e = nil + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, e +} + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + var e error + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + e = nil + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, e +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + var e error + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + e = nil + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, e +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Poll +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go new file mode 100644 index 000000000000..4cf5f453f526 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -0,0 +1,59 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int32(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go new file mode 100644 index 000000000000..b8036e7268ed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -0,0 +1,59 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = nsec % 1e9 / 1e3 + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go new file mode 100644 index 000000000000..5a3bb6a154a7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -0,0 +1,59 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = nsec / 1e9 + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go new file mode 100644 index 000000000000..1b7d59d8963b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -0,0 +1,1469 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Linux system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import ( + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +func Access(path string, mode uint32) (err error) { + return Faccessat(AT_FDCWD, path, mode, 0) +} + +func Chmod(path string, mode uint32) (err error) { + return Fchmodat(AT_FDCWD, path, mode, 0) +} + +func Chown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, 0) +} + +func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) +} + +//sys fchmodat(dirfd int, path string, mode uint32) (err error) + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior + // and check the flags. Otherwise the mode would be applied to the symlink + // destination which is not what the user expects. + if flags&^AT_SYMLINK_NOFOLLOW != 0 { + return EINVAL + } else if flags&AT_SYMLINK_NOFOLLOW != 0 { + return EOPNOTSUPP + } + return fchmodat(dirfd, path, mode) +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) + +func Link(oldpath string, newpath string) (err error) { + return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) +} + +func Mkdir(path string, mode uint32) (err error) { + return Mkdirat(AT_FDCWD, path, mode) +} + +func Mknod(path string, mode uint32, dev int) (err error) { + return Mknodat(AT_FDCWD, path, mode, dev) +} + +func Open(path string, mode int, perm uint32) (fd int, err error) { + return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) +} + +//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + return openat(dirfd, path, flags|O_LARGEFILE, mode) +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + +func Readlink(path string, buf []byte) (n int, err error) { + return Readlinkat(AT_FDCWD, path, buf) +} + +func Rename(oldpath string, newpath string) (err error) { + return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) +} + +func Rmdir(path string) error { + return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) +} + +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + +func Symlink(oldpath string, newpath string) (err error) { + return Symlinkat(oldpath, AT_FDCWD, newpath) +} + +func Unlink(path string) error { + return Unlinkat(AT_FDCWD, path, 0) +} + +//sys Unlinkat(dirfd int, path string, flags int) (err error) + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + var ts [2]Timespec + ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) + ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). + return Utimes("/proc/self/fd/"+itoa(fd), tv) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + n, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + // Getcwd returns the number of bytes written to buf, including the NUL. + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } + return string(buf[0 : n-1]), nil +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 1<<16 on Linux. + if n < 0 || n > 1<<20 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +type WaitStatus uint32 + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. At least that's the idea. +// There are various irregularities. For example, the +// "continued" status is 0xFFFF, distinguishing itself +// from stopped via the core dump bit. + +const ( + mask = 0x7F + core = 0x80 + exited = 0x00 + stopped = 0x7F + shift = 8 +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } + +func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } + +func (w WaitStatus) Continued() bool { return w == 0xFFFF } + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int(w>>shift) & 0xFF +} + +func (w WaitStatus) Signal() syscall.Signal { + if !w.Signaled() { + return -1 + } + return syscall.Signal(w & mask) +} + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { + if w.StopSignal() != SIGTRAP { + return -1 + } + return int(w>>shift) >> 8 +} + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) +} + +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +type SockaddrLinklayer struct { + Protocol uint16 + Ifindex int + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]byte + raw RawSockaddrLinklayer +} + +func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_PACKET + sa.raw.Protocol = sa.Protocol + sa.raw.Ifindex = int32(sa.Ifindex) + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil +} + +type SockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 + raw RawSockaddrNetlink +} + +func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_NETLINK + sa.raw.Pad = sa.Pad + sa.raw.Pid = sa.Pid + sa.raw.Groups = sa.Groups + return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil +} + +type SockaddrHCI struct { + Dev uint16 + Channel uint16 + raw RawSockaddrHCI +} + +func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Dev = sa.Dev + sa.raw.Channel = sa.Channel + return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil +} + +// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. +// The RxID and TxID fields are used for transport protocol addressing in +// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with +// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. +// +// The SockaddrCAN struct must be bound to the socket file descriptor +// using Bind before the CAN socket can be used. +// +// // Read one raw CAN frame +// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +// addr := &SockaddrCAN{Ifindex: index} +// Bind(fd, addr) +// frame := make([]byte, 16) +// Read(fd, frame) +// +// The full SocketCAN documentation can be found in the linux kernel +// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +type SockaddrCAN struct { + Ifindex int + RxID uint32 + TxID uint32 + raw RawSockaddrCAN +} + +func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_CAN + sa.raw.Ifindex = int32(sa.Ifindex) + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i] = rx[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+4] = tx[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil +} + +// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. +// SockaddrALG enables userspace access to the Linux kernel's cryptography +// subsystem. The Type and Name fields specify which type of hash or cipher +// should be used with a given socket. +// +// To create a file descriptor that provides access to a hash or cipher, both +// Bind and Accept must be used. Once the setup process is complete, input +// data can be written to the socket, processed by the kernel, and then read +// back as hash output or ciphertext. +// +// Here is an example of using an AF_ALG socket with SHA1 hashing. +// The initial socket setup process is as follows: +// +// // Open a socket to perform SHA1 hashing. +// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) +// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} +// unix.Bind(fd, addr) +// // Note: unix.Accept does not work at this time; must invoke accept() +// // manually using unix.Syscall. +// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) +// +// Once a file descriptor has been returned from Accept, it may be used to +// perform SHA1 hashing. The descriptor is not safe for concurrent use, but +// may be re-used repeatedly with subsequent Write and Read operations. +// +// When hashing a small byte slice or string, a single Write and Read may +// be used: +// +// // Assume hashfd is already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash an input string and read the results. Each Write discards +// // previous hash state. Read always reads the current state. +// b := make([]byte, 20) +// for i := 0; i < 2; i++ { +// io.WriteString(hash, "Hello, world.") +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// } +// // Output: +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// +// For hashing larger byte slices, or byte streams such as those read from +// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update +// the hash digest instead of creating a new one for a given chunk and finalizing it. +// +// // Assume hashfd and addr are already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash the contents of a file. +// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") +// b := make([]byte, 4096) +// for { +// n, err := f.Read(b) +// if err == io.EOF { +// break +// } +// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) +// } +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 +// +// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. +type SockaddrALG struct { + Type string + Name string + Feature uint32 + Mask uint32 + raw RawSockaddrALG +} + +func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { + // Leave room for NUL byte terminator. + if len(sa.Type) > 13 { + return nil, 0, EINVAL + } + if len(sa.Name) > 63 { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_ALG + sa.raw.Feat = sa.Feature + sa.raw.Mask = sa.Mask + + typ, err := ByteSliceFromString(sa.Type) + if err != nil { + return nil, 0, err + } + name, err := ByteSliceFromString(sa.Name) + if err != nil { + return nil, 0, err + } + + copy(sa.raw.Type[:], typ) + copy(sa.raw.Name[:], name) + + return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil +} + +// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. +// SockaddrVM provides access to Linux VM sockets: a mechanism that enables +// bidirectional communication between a hypervisor and its guest virtual +// machines. +type SockaddrVM struct { + // CID and Port specify a context ID and port address for a VM socket. + // Guests have a unique CID, and hosts may have a well-known CID of: + // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. + // - VMADDR_CID_HOST: refers to other processes on the host. + CID uint32 + Port uint32 + raw RawSockaddrVM +} + +func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_VSOCK + sa.raw.Port = sa.Port + sa.raw.Cid = sa.CID + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil +} + +func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: + pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) + sa := new(SockaddrNetlink) + sa.Family = pp.Family + sa.Pad = pp.Pad + sa.Pid = pp.Pid + sa.Groups = pp.Groups + return sa, nil + + case AF_PACKET: + pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) + sa := new(SockaddrLinklayer) + sa.Protocol = pp.Protocol + sa.Ifindex = int(pp.Ifindex) + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_VSOCK: + pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) + sa := &SockaddrVM{ + CID: pp.Cid, + Port: pp.Port, + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(&rsa) +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { + var value Ucred + vallen := _Socklen(SizeofUcred) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + var value TCPInfo + vallen := _Socklen(SizeofTCPInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + +// KeyctlInt calls keyctl commands in which each argument is an int. +// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, +// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, +// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, +// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. +//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlBuffer calls keyctl commands in which the third and fourth +// arguments are a buffer and its length, respectively. +// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. +//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlString calls keyctl commands which return a string. +// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. +func KeyctlString(cmd int, id int) (string, error) { + // We must loop as the string data may change in between the syscalls. + // We could allocate a large buffer here to reduce the chance that the + // syscall needs to be called twice; however, this is unnecessary as + // the performance loss is negligible. + var buffer []byte + for { + // Try to fill the buffer with data + length, err := KeyctlBuffer(cmd, id, buffer, 0) + if err != nil { + return "", err + } + + // Check if the data was written + if length <= len(buffer) { + // Exclude the null terminator + return string(buffer[:length-1]), nil + } + + // Make a bigger buffer if needed + buffer = make([]byte, length) + } +} + +// Keyctl commands with special signatures. + +// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html +func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { + createInt := 0 + if create { + createInt = 1 + } + return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) +} + +// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the +// key handle permission mask as described in the "keyctl setperm" section of +// http://man7.org/linux/man-pages/man1/keyctl.1.html. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html +func KeyctlSetperm(id int, perm uint32) error { + _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) + return err +} + +//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL + +// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html +func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { + return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) +} + +//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlSearch implements the KEYCTL_SEARCH command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_search.3.html +func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { + return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) +} + +//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL + +// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This +// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice +// of Iovec (each of which represents a buffer) instead of a single buffer. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html +func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { + return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) +} + +//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL + +// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command +// computes a Diffie-Hellman shared secret based on the provide params. The +// secret is written to the provided buffer and the returned size is the number +// of bytes written (returning an error if there is insufficient space in the +// buffer). If a nil buffer is passed in, this function returns the minimum +// buffer length needed to store the appropriate data. Note that this differs +// from KEYCTL_READ's behavior which always returns the requested payload size. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html +func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { + return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } + // receive at least one normal byte + if sockType != SOCK_DGRAM && len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(&rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } + // send at least one normal byte + if sockType != SOCK_DGRAM && len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +// BindToDevice binds the socket associated with fd to device. +func BindToDevice(fd int, device string) (err error) { + return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { + // The peek requests are machine-size oriented, so we wrap it + // to retrieve arbitrary-length data. + + // The ptrace syscall differs from glibc's ptrace. + // Peeks returns the word in *data, not as the return value. + + var buf [sizeofPtr]byte + + // Leading edge. PEEKTEXT/PEEKDATA don't require aligned + // access (PEEKUSER warns that it might), but if we don't + // align our reads, we might straddle an unmapped page + // boundary and not get the bytes leading up to the page + // boundary. + n := 0 + if addr%sizeofPtr != 0 { + err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(out, buf[addr%sizeofPtr:]) + out = out[n:] + } + + // Remainder. + for len(out) > 0 { + // We use an internal buffer to guarantee alignment. + // It's not documented if this is necessary, but we're paranoid. + err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copied := copy(out, buf[0:]) + n += copied + out = out[copied:] + } + + return n, nil +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) +} + +func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) +} + +func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { + // As for ptracePeek, we need to align our accesses to deal + // with the possibility of straddling an invalid page. + + // Leading edge. + n := 0 + if addr%sizeofPtr != 0 { + var buf [sizeofPtr]byte + err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(buf[addr%sizeofPtr:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word) + if err != nil { + return 0, err + } + data = data[n:] + } + + // Interior. + for len(data) > sizeofPtr { + word := *((*uintptr)(unsafe.Pointer(&data[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += sizeofPtr + data = data[sizeofPtr:] + } + + // Trailing edge. + if len(data) > 0 { + var buf [sizeofPtr]byte + err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copy(buf[0:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += len(data) + } + + return n, nil +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) +} + +func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +func PtraceSetOptions(pid int, options int) (err error) { + return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) +} + +func PtraceGetEventMsg(pid int) (msg uint, err error) { + var data _C_long + err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) + msg = uint(data) + return +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) +} + +func PtraceSyscall(pid int, signal int) (err error) { + return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) +} + +func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } + +func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } + +func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } + +//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) + +func Reboot(cmd int) (err error) { + return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + return Getdents(fd, buf) +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + // Certain file systems get rather angry and EINVAL if you give + // them an empty string of data, rather than NULL. + if data == "" { + return mount(source, target, fstype, flags, nil) + } + datap, err := BytePtrFromString(data) + if err != nil { + return err + } + return mount(source, target, fstype, flags, datap) +} + +// Sendto +// Recvfrom +// Socketpair + +/* + * Direct access + */ +//sys Acct(path string) (err error) +//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) +//sys Adjtimex(buf *Timex) (state int, err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys Close(fd int) (err error) +//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Dup3(oldfd int, newfd int, flags int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sysnb EpollCreate1(flag int) (fd int, err error) +//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 +//sys Exit(code int) = SYS_EXIT_GROUP +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fsync(fd int) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 +//sysnb Getpgid(pid int) (pgid int, err error) + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sys Getrandom(buf []byte, flags int) (n int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettid() (tid int) +//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) +//sysnb InotifyInit1(flags int) (fd int, err error) +//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) +//sysnb Kill(pid int, sig syscall.Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG +//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) +//sys Listxattr(path string, dest []byte) (sz int, err error) +//sys Llistxattr(path string, dest []byte) (sz int, err error) +//sys Lremovexattr(path string, attr string) (err error) +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Removexattr(path string, attr string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) +//sys Setns(fd int, nstype int) (err error) + +// issue 1435. +// On linux Setuid and Setgid only affects the current thread, not the process. +// This does not match what most callers expect so we must return an error +// here rather than letting the caller think that the call succeeded. + +func Setuid(uid int) (err error) { + return EOPNOTSUPP +} + +func Setgid(uid int) (err error) { + return EOPNOTSUPP +} + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setxattr(path string, attr string, data []byte, flags int) (err error) +//sys Sync() +//sys Syncfs(fd int) (err error) +//sysnb Sysinfo(info *Sysinfo_t) (err error) +//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) +//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 +//sys Unshare(flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys exitThread(code int) (err error) = SYS_EXIT +//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ +//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE + +// mmap varies by architecture; see syscall_linux_*.go. +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, +// using the specified flags. +func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + n, _, errno := Syscall6( + SYS_VMSPLICE, + uintptr(fd), + uintptr(unsafe.Pointer(&iovs[0])), + uintptr(len(iovs)), + uintptr(flags), + 0, + 0, + ) + if errno != 0 { + return 0, syscall.Errno(errno) + } + + return int(n), nil +} + +/* + * Unimplemented + */ +// AfsSyscall +// Alarm +// ArchPrctl +// Brk +// Capget +// Capset +// ClockGetres +// ClockNanosleep +// ClockSettime +// Clone +// CreateModule +// DeleteModule +// EpollCtlOld +// EpollPwait +// EpollWaitOld +// Execve +// Fgetxattr +// Flistxattr +// Fork +// Fremovexattr +// Fsetxattr +// Futex +// GetKernelSyms +// GetMempolicy +// GetRobustList +// GetThreadArea +// Getitimer +// Getpmsg +// IoCancel +// IoDestroy +// IoGetevents +// IoSetup +// IoSubmit +// IoprioGet +// IoprioSet +// KexecLoad +// LookupDcookie +// Mbind +// MigratePages +// Mincore +// ModifyLdt +// Mount +// MovePages +// MqGetsetattr +// MqNotify +// MqOpen +// MqTimedreceive +// MqTimedsend +// MqUnlink +// Mremap +// Msgctl +// Msgget +// Msgrcv +// Msgsnd +// Newfstatat +// Nfsservctl +// Personality +// Pselect6 +// Ptrace +// Putpmsg +// QueryModule +// Quotactl +// Readahead +// Readv +// RemapFilePages +// RestartSyscall +// RtSigaction +// RtSigpending +// RtSigprocmask +// RtSigqueueinfo +// RtSigreturn +// RtSigsuspend +// RtSigtimedwait +// SchedGetPriorityMax +// SchedGetPriorityMin +// SchedGetaffinity +// SchedGetparam +// SchedGetscheduler +// SchedRrGetInterval +// SchedSetaffinity +// SchedSetparam +// SchedYield +// Security +// Semctl +// Semget +// Semop +// Semtimedop +// SetMempolicy +// SetRobustList +// SetThreadArea +// SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget +// Sigaltstack +// Signalfd +// Swapoff +// Swapon +// Sysfs +// TimerCreate +// TimerDelete +// TimerGetoverrun +// TimerGettime +// TimerSettime +// Timerfd +// Tkill (obsolete) +// Tuxcall +// Umount2 +// Uselib +// Utimensat +// Vfork +// Vhangup +// Vserver +// Waitid +// _Sysctl diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go new file mode 100644 index 000000000000..f4c826a45617 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -0,0 +1,397 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) +// so that go vet can check that they are correct. + +// +build 386,linux + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = int32(nsec / 1e9) + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// 64-bit file system and 32-bit uid calls +// (386 default is 32-bit file system and 16-bit uid). +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Pause() (err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +// Vsyscalls on amd64. +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) + +//sys Utime(path string, buf *Utimbuf) (err error) + +// On x86 Linux, all the socket calls go through an extra indirection, +// I think because the 5-register system call interface can't handle +// the 6-argument calls like sendto and recvfrom. Instead the +// arguments to the underlying system call are the number below +// and a pointer to an array of uintptr. We hide the pointer in the +// socketcall assembly to avoid allocation on every system call. + +const ( + // see linux/net.h + _SOCKET = 1 + _BIND = 2 + _CONNECT = 3 + _LISTEN = 4 + _ACCEPT = 5 + _GETSOCKNAME = 6 + _GETPEERNAME = 7 + _SOCKETPAIR = 8 + _SEND = 9 + _RECV = 10 + _SENDTO = 11 + _RECVFROM = 12 + _SHUTDOWN = 13 + _SETSOCKOPT = 14 + _GETSOCKOPT = 15 + _SENDMSG = 16 + _RECVMSG = 17 + _ACCEPT4 = 18 + _RECVMMSG = 19 + _SENDMMSG = 20 +) + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e != 0 { + err = e + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e != 0 { + err = e + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) + if e != 0 { + err = e + } + return +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + if e != 0 { + err = e + } + return +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e != 0 { + err = e + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Listen(s int, n int) (err error) { + _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Shutdown(s, how int) (err error) { + _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go new file mode 100644 index 000000000000..0715200dcf43 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -0,0 +1,150 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Gettimeofday(tv *Timeval) (err error) { + errno := gettimeofday(tv) + if errno != 0 { + return errno + } + return nil +} + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + errno := gettimeofday(&tv) + if errno != 0 { + return 0, errno + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = nsec % 1e9 / 1e3 + return +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Rip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go new file mode 100644 index 000000000000..21a4946ba553 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go @@ -0,0 +1,13 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux +// +build !gccgo + +package unix + +import "syscall" + +//go:noescape +func gettimeofday(tv *Timeval) (err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go new file mode 100644 index 000000000000..2b79c84a6720 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -0,0 +1,261 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,linux + +package unix + +import ( + "syscall" + "unsafe" +) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = int32(nsec / 1e9) + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +// 64-bit file system and 32-bit uid calls +// (16-bit uid calls are not always supported in newer kernels) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +// Vsyscalls on amd64. +//sysnb Gettimeofday(tv *Timeval) (err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Pause() (err error) + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go new file mode 100644 index 000000000000..68cc975dbb08 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -0,0 +1,188 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = nsec % 1e9 / 1e3 + return +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() (err error) { + _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove +// these when the deprecated syscalls that the syscall package relies on +// are removed. +const ( + SYS_GETPGRP = 1060 + SYS_UTIMES = 1037 + SYS_FUTIMESAT = 1066 + SYS_PAUSE = 1061 + SYS_USTAT = 1070 + SYS_UTIME = 1063 + SYS_LCHOWN = 1032 + SYS_TIME = 1062 + SYS_EPOLL_CREATE = 1042 + SYS_EPOLL_WAIT = 1069 +) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go new file mode 100644 index 000000000000..977df441bef0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -0,0 +1,207 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = nsec % 1e9 / 1e3 + return +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +type stat_t struct { + Dev uint32 + Pad0 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad1 [3]uint32 + Size int64 + Atime uint32 + Atime_nsec uint32 + Mtime uint32 + Mtime_nsec uint32 + Ctime uint32 + Ctime_nsec uint32 + Blksize uint32 + Pad2 uint32 + Blocks int64 +} + +//sys fstat(fd int, st *stat_t) (err error) +//sys lstat(path string, st *stat_t) (err error) +//sys stat(path string, st *stat_t) (err error) + +func Fstat(fd int, s *Stat_t) (err error) { + st := &stat_t{} + err = fstat(fd, st) + fillStat_t(s, st) + return +} + +func Lstat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = lstat(path, st) + fillStat_t(s, st) + return +} + +func Stat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = stat(path, st) + fillStat_t(s, st) + return +} + +func fillStat_t(s *Stat_t, st *stat_t) { + s.Dev = st.Dev + s.Ino = st.Ino + s.Mode = st.Mode + s.Nlink = st.Nlink + s.Uid = st.Uid + s.Gid = st.Gid + s.Rdev = st.Rdev + s.Size = st.Size + s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} + s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} + s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} + s.Blksize = st.Blksize + s.Blocks = st.Blocks +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go new file mode 100644 index 000000000000..25a5a0da5a89 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -0,0 +1,237 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) + +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) + +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Pause() (err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + p, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) + if e != 0 { + err = errnoErr(e) + } + return +} + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int32(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = int32(nsec / 1e9) + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go new file mode 100644 index 000000000000..a4a8e4ee1ec1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -0,0 +1,133 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2 +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = nsec % 1e9 / 1e3 + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go new file mode 100644 index 000000000000..3845fc9c43af --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -0,0 +1,326 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,linux + +package unix + +import ( + "unsafe" +) + +//sys Dup2(oldfd int, newfd int) (err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = nsec % 1e9 / 1e3 + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. +// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} + r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// On s390x Linux, all the socket calls go through an extra indirection. +// The arguments to the underlying system call (SYS_SOCKETCALL) are the +// number below and a pointer to an array of uintptr. +const ( + // see linux/net.h + netSocket = 1 + netBind = 2 + netConnect = 3 + netListen = 4 + netAccept = 5 + netGetSockName = 6 + netGetPeerName = 7 + netSocketPair = 8 + netSend = 9 + netRecv = 10 + netSendTo = 11 + netRecvFrom = 12 + netShutdown = 13 + netSetSockOpt = 14 + netGetSockOpt = 15 + netSendMsg = 16 + netRecvMsg = 17 + netAccept4 = 18 + netRecvMMsg = 19 + netSendMMsg = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { + args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) error { + args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socket(domain int, typ int, proto int) (int, error) { + args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} + fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { + args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} + _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { + args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func Listen(s int, n int) error { + args := [2]uintptr{uintptr(s), uintptr(n)} + _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func Shutdown(s, how int) error { + args := [2]uintptr{uintptr(s), uintptr(how)} + _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go new file mode 100644 index 000000000000..bd9de3e9d05c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,149 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build sparc64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go new file mode 100644 index 000000000000..e12966845914 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -0,0 +1,472 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { + var olen uintptr + + // Get a list of all sysctl nodes below the given MIB by performing + // a sysctl for the given MIB with CTL_QUERY appended. + mib = append(mib, CTL_QUERY) + qnode := Sysctlnode{Flags: SYSCTL_VERS_1} + qp := (*byte)(unsafe.Pointer(&qnode)) + sz := unsafe.Sizeof(qnode) + if err = sysctl(mib, nil, &olen, qp, sz); err != nil { + return nil, err + } + + // Now that we know the size, get the actual nodes. + nodes = make([]Sysctlnode, olen/sz) + np := (*byte)(unsafe.Pointer(&nodes[0])) + if err = sysctl(mib, np, &olen, qp, sz); err != nil { + return nil, err + } + + return nodes, nil +} + +func nametomib(name string) (mib []_C_int, err error) { + + // Split name into components. + var parts []string + last := 0 + for i := 0; i < len(name); i++ { + if name[i] == '.' { + parts = append(parts, name[last:i]) + last = i + 1 + } + } + parts = append(parts, name[last:]) + + // Discover the nodes and construct the MIB OID. + for partno, part := range parts { + nodes, err := sysctlNodes(mib) + if err != nil { + return nil, err + } + for _, node := range nodes { + n := make([]byte, 0) + for i := range node.Name { + if node.Name[i] != 0 { + n = append(n, byte(node.Name[i])) + } + } + if string(n) == part { + mib = append(mib, _C_int(node.Num)) + break + } + } + if len(mib) != partno+1 { + return nil, EINVAL + } + } + + return mib, nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe() (fd1 int, fd2 int, err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return getdents(fd, buf) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// ____semctl13 +// __clone +// __fhopen40 +// __fhstat40 +// __fhstatvfs140 +// __fstat30 +// __getcwd +// __getfh30 +// __getlogin +// __lstat30 +// __mount50 +// __msgctl13 +// __msync13 +// __ntp_gettime30 +// __posix_chown +// __posix_fadvise50 +// __posix_fchown +// __posix_lchown +// __posix_rename +// __setlogin +// __shmctl13 +// __sigaction_sigtramp +// __sigaltstack14 +// __sigpending14 +// __sigprocmask14 +// __sigsuspend14 +// __sigtimedwait +// __stat30 +// __syscall +// __vfork14 +// _ksem_close +// _ksem_destroy +// _ksem_getvalue +// _ksem_init +// _ksem_open +// _ksem_post +// _ksem_trywait +// _ksem_unlink +// _ksem_wait +// _lwp_continue +// _lwp_create +// _lwp_ctl +// _lwp_detach +// _lwp_exit +// _lwp_getname +// _lwp_getprivate +// _lwp_kill +// _lwp_park +// _lwp_self +// _lwp_setname +// _lwp_setprivate +// _lwp_suspend +// _lwp_unpark +// _lwp_unpark_all +// _lwp_wait +// _lwp_wakeup +// _pset_bind +// _sched_getaffinity +// _sched_getparam +// _sched_setaffinity +// _sched_setparam +// acct +// aio_cancel +// aio_error +// aio_fsync +// aio_read +// aio_return +// aio_suspend +// aio_write +// break +// clock_getres +// clock_gettime +// clock_settime +// compat_09_ogetdomainname +// compat_09_osetdomainname +// compat_09_ouname +// compat_10_omsgsys +// compat_10_osemsys +// compat_10_oshmsys +// compat_12_fstat12 +// compat_12_getdirentries +// compat_12_lstat12 +// compat_12_msync +// compat_12_oreboot +// compat_12_oswapon +// compat_12_stat12 +// compat_13_sigaction13 +// compat_13_sigaltstack13 +// compat_13_sigpending13 +// compat_13_sigprocmask13 +// compat_13_sigreturn13 +// compat_13_sigsuspend13 +// compat_14___semctl +// compat_14_msgctl +// compat_14_shmctl +// compat_16___sigaction14 +// compat_16___sigreturn14 +// compat_20_fhstatfs +// compat_20_fstatfs +// compat_20_getfsstat +// compat_20_statfs +// compat_30___fhstat30 +// compat_30___fstat13 +// compat_30___lstat13 +// compat_30___stat13 +// compat_30_fhopen +// compat_30_fhstat +// compat_30_fhstatvfs1 +// compat_30_getdents +// compat_30_getfh +// compat_30_ntp_gettime +// compat_30_socket +// compat_40_mount +// compat_43_fstat43 +// compat_43_lstat43 +// compat_43_oaccept +// compat_43_ocreat +// compat_43_oftruncate +// compat_43_ogetdirentries +// compat_43_ogetdtablesize +// compat_43_ogethostid +// compat_43_ogethostname +// compat_43_ogetkerninfo +// compat_43_ogetpagesize +// compat_43_ogetpeername +// compat_43_ogetrlimit +// compat_43_ogetsockname +// compat_43_okillpg +// compat_43_olseek +// compat_43_ommap +// compat_43_oquota +// compat_43_orecv +// compat_43_orecvfrom +// compat_43_orecvmsg +// compat_43_osend +// compat_43_osendmsg +// compat_43_osethostid +// compat_43_osethostname +// compat_43_osetrlimit +// compat_43_osigblock +// compat_43_osigsetmask +// compat_43_osigstack +// compat_43_osigvec +// compat_43_otruncate +// compat_43_owait +// compat_43_stat43 +// execve +// extattr_delete_fd +// extattr_delete_file +// extattr_delete_link +// extattr_get_fd +// extattr_get_file +// extattr_get_link +// extattr_list_fd +// extattr_list_file +// extattr_list_link +// extattr_set_fd +// extattr_set_file +// extattr_set_link +// extattrctl +// fchroot +// fdatasync +// fgetxattr +// fktrace +// flistxattr +// fork +// fremovexattr +// fsetxattr +// fstatvfs1 +// fsync_range +// getcontext +// getitimer +// getvfsstat +// getxattr +// ioctl +// ktrace +// lchflags +// lchmod +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// lgetxattr +// lio_listio +// listxattr +// llistxattr +// lremovexattr +// lseek +// lsetxattr +// lutimes +// madvise +// mincore +// minherit +// modctl +// mq_close +// mq_getattr +// mq_notify +// mq_open +// mq_receive +// mq_send +// mq_setattr +// mq_timedreceive +// mq_timedsend +// mq_unlink +// mremap +// msgget +// msgrcv +// msgsnd +// nfssvc +// ntp_adjtime +// pmc_control +// pmc_get_info +// poll +// pollts +// preadv +// profil +// pselect +// pset_assign +// pset_create +// pset_destroy +// ptrace +// pwritev +// quotactl +// rasctl +// readv +// reboot +// removexattr +// sa_enable +// sa_preempt +// sa_register +// sa_setconcurrency +// sa_stacks +// sa_yield +// sbrk +// sched_yield +// semconfig +// semget +// semop +// setcontext +// setitimer +// setxattr +// shmat +// shmdt +// shmget +// sstk +// statvfs1 +// swapctl +// sysarch +// syscall +// timer_create +// timer_delete +// timer_getoverrun +// timer_gettime +// timer_settime +// undelete +// utrace +// uuidgen +// vadvise +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go new file mode 100644 index 000000000000..baefa411ec27 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -0,0 +1,40 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,netbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go new file mode 100644 index 000000000000..59c2ab7ebaf4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -0,0 +1,40 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,netbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int64(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go new file mode 100644 index 000000000000..7208108a31ad --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go @@ -0,0 +1,40 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,netbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go new file mode 100644 index 000000000000..530792ea93b5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go @@ -0,0 +1,11 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build dragonfly freebsd netbsd openbsd + +package unix + +const ImplementsGetwd = false + +func Getwd() (string, error) { return "", ENOTSUP } diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go new file mode 100644 index 000000000000..408e63081c06 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -0,0 +1,282 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// OpenBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func nametomib(name string) (mib []_C_int, err error) { + + // Perform lookup via a binary search + left := 0 + right := len(sysctlMib) - 1 + for { + idx := left + (right-left)/2 + switch { + case name == sysctlMib[idx].ctlname: + return sysctlMib[idx].ctloid, nil + case name > sysctlMib[idx].ctlname: + left = idx + 1 + default: + right = idx - 1 + } + if left > right { + break + } + } + return nil, EINVAL +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe(p *[2]_C_int) (err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return getdents(fd, buf) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// __getcwd +// __semctl +// __syscall +// __sysctl +// adjfreq +// break +// clock_getres +// clock_gettime +// clock_settime +// closefrom +// execve +// faccessat +// fchmodat +// fchownat +// fcntl +// fhopen +// fhstat +// fhstatfs +// fork +// fstatat +// futimens +// getfh +// getgid +// getitimer +// getlogin +// getresgid +// getresuid +// getrtable +// getthrid +// ioctl +// ktrace +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// linkat +// mincore +// minherit +// mkdirat +// mkfifoat +// mknodat +// mount +// mquery +// msgctl +// msgget +// msgrcv +// msgsnd +// nfssvc +// nnpfspioctl +// openat +// poll +// preadv +// profil +// pwritev +// quotactl +// readlinkat +// readv +// reboot +// renameat +// rfork +// sched_yield +// semget +// semop +// setgroups +// setitimer +// setrtable +// setsockopt +// shmat +// shmctl +// shmdt +// shmget +// sigaction +// sigaltstack +// sigpending +// sigprocmask +// sigreturn +// sigsuspend +// symlinkat +// sysarch +// syscall +// threxit +// thrsigdivert +// thrsleep +// thrwakeup +// unlinkat +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go new file mode 100644 index 000000000000..d3809b426cbc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -0,0 +1,40 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,openbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go new file mode 100644 index 000000000000..9a9dfceffd84 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -0,0 +1,40 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,openbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = nsec % 1e9 / 1e3 + tv.Sec = nsec / 1e9 + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go new file mode 100644 index 000000000000..ba8649056fba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go @@ -0,0 +1,40 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,openbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go new file mode 100644 index 000000000000..35e5d72baf3c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -0,0 +1,719 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Solaris system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_solaris.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Implemented in runtime/syscall_solaris.go. +type syscallFunc uintptr + +func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) + +type SockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 + raw RawSockaddrDatalink +} + +func clen(n []byte) int { + for i := 0; i < len(n); i++ { + if n[i] == 0 { + return i + } + } + return len(n) +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sysnb pipe(p *[2]_C_int) (n int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + n, err := pipe(&pp) + if n != 0 { + return err + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return nil +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(&rsa) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + // Getcwd will return an error if it failed for any reason. + _, err = Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + // Check for error and sanity check group count. Newer versions of + // Solaris allow up to 1024 (NGROUPS_MAX). + if n < 0 || n > 1024 { + if err != nil { + return nil, err + } + return nil, EINVAL + } else if n == 0 { + return nil, nil + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if n == -1 { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // TODO(rsc): Can we use a single global basep for all calls? + return Getdents(fd, buf, new(uintptr)) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { + var status _C_int + rpid, err := wait4(int32(pid), &status, options, rusage) + wpid := int(rpid) + if wpid == -1 { + return wpid, err + } + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return wpid, nil +} + +//sys gethostname(buf []byte) (n int, err error) + +func Gethostname() (name string, err error) { + var buf [MaxHostNameLen]byte + n, err := gethostname(buf[:]) + if n != 0 { + return "", err + } + n = clen(buf[:]) + if n < 1 { + return "", EFAULT + } + return string(buf[:n]), nil +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) + if e1 != 0 { + return e1 + } + return nil +} + +//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +// Solaris doesn't have an futimes function because it allows NULL to be +// specified as the path for futimesat. However, Go doesn't like +// NULL-style string interfaces, so this simple wrapper is provided. +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimesat(fd, nil, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // Assume path ends at NUL. + // This is not technically the Solaris semantics for + // abstract Unix domain sockets -- they are supposed + // to be uninterpreted fixed-size binary blobs -- but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(&rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(&rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys acct(path *byte) (err error) + +func Acct(path string) (err error) { + if len(path) == 0 { + // Assume caller wants to disable accounting. + return acct(nil) + } + + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + return acct(pathp) +} + +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + +/* + * Expose the ioctl function + */ + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func IoctlSetInt(fd int, req uint, value int) (err error) { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermio(fd int, req uint) (*Termio, error) { + var value Termio + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Creat(path string, mode uint32) (fd int, err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Exit(code int) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) +//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgid int, err error) +//sys Geteuid() (euid int) +//sys Getegid() (egid int) +//sys Getppid() (ppid int) +//sys Getpriority(which int, who int) (n int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Madvise(b []byte, advice int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Setuid(uid int) (err error) +//sys Shutdown(s int, how int) (err error) = libsocket.shutdown +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sys Truncate(path string, length int64) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = libc.umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto +//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair +//sys write(fd int, p []byte) (n int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go new file mode 100644 index 000000000000..5aff62c3bbea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go @@ -0,0 +1,35 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,solaris + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = nsec % 1e9 / 1e3 + tv.Sec = int64(nsec / 1e9) + return +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + // TODO(aram): implement this, see issue 5847. + panic("unimplemented") +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go new file mode 100644 index 000000000000..3ed8a91f5cbd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -0,0 +1,293 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "runtime" + "sync" + "syscall" + "unsafe" +) + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +const ( + darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8 + dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8 + netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4 + solaris64Bit = runtime.GOOS == "solaris" && sizeofPtr == 8 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Slice memory layout + var sl = struct { + addr uintptr + len int + cap int + }{addr, length, length} + + // Use unsafe to turn sl into a []byte. + b := *(*[]byte)(unsafe.Pointer(&sl)) + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(&rsa) +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(&rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go new file mode 100644 index 000000000000..4cb8e8edf1a1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build !gccgo + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go new file mode 100644 index 000000000000..415124d4a1a7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -0,0 +1,254 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define __DARWIN_UNIX03 0 +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat64 + +type Statfs_t C.struct_statfs64 + +type Flock_t C.struct_flock + +type Fstore_t C.struct_fstore + +type Radvisory_t C.struct_radvisory + +type Fbootstraptransfer_t C.struct_fbootstraptransfer + +type Log2phys_t C.struct_log2phys + +type Fsid C.struct_fsid + +type Dirent C.struct_dirent + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet4Pktinfo C.struct_in_pktinfo + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfmaMsghdr2 C.struct_ifma_msghdr2 + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go new file mode 100644 index 000000000000..80b27781d1e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go @@ -0,0 +1,249 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( // Directory mode bits + S_IFMT = C.S_IFMT + S_IFIFO = C.S_IFIFO + S_IFCHR = C.S_IFCHR + S_IFDIR = C.S_IFDIR + S_IFBLK = C.S_IFBLK + S_IFREG = C.S_IFREG + S_IFLNK = C.S_IFLNK + S_IFSOCK = C.S_IFSOCK + S_ISUID = C.S_ISUID + S_ISGID = C.S_ISGID + S_ISVTX = C.S_ISVTX + S_IRUSR = C.S_IRUSR + S_IWUSR = C.S_IWUSR + S_IXUSR = C.S_IXUSR +) + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.struct_fsid + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go new file mode 100644 index 000000000000..934fd7ace22d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_freebsd.go @@ -0,0 +1,372 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +// This structure is a duplicate of stat on FreeBSD 8-STABLE. +// See /usr/include/sys/stat.h. +struct stat8 { +#undef st_atimespec st_atim +#undef st_mtimespec st_mtim +#undef st_ctimespec st_ctim +#undef st_birthtimespec st_birthtim + __dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + __dev_t st_rdev; +#if __BSD_VISIBLE + struct timespec st_atimespec; + struct timespec st_mtimespec; + struct timespec st_ctimespec; +#else + time_t st_atime; + long __st_atimensec; + time_t st_mtime; + long __st_mtimensec; + time_t st_ctime; + long __st_ctimensec; +#endif + off_t st_size; + blkcnt_t st_blocks; + blksize_t st_blksize; + fflags_t st_flags; + __uint32_t st_gen; + __int32_t st_lspare; +#if __BSD_VISIBLE + struct timespec st_birthtimespec; + unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); + unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); +#else + time_t st_birthtime; + long st_birthtimensec; + unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); + unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); +#endif +}; + +// This structure is a duplicate of if_data on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_data8 { + u_char ifi_type; + u_char ifi_physical; + u_char ifi_addrlen; + u_char ifi_hdrlen; + u_char ifi_link_state; + u_char ifi_spare_char1; + u_char ifi_spare_char2; + u_char ifi_datalen; + u_long ifi_mtu; + u_long ifi_metric; + u_long ifi_baudrate; + u_long ifi_ipackets; + u_long ifi_ierrors; + u_long ifi_opackets; + u_long ifi_oerrors; + u_long ifi_collisions; + u_long ifi_ibytes; + u_long ifi_obytes; + u_long ifi_imcasts; + u_long ifi_omcasts; + u_long ifi_iqdrops; + u_long ifi_noproto; + u_long ifi_hwassist; +// FIXME: these are now unions, so maybe need to change definitions? +#undef ifi_epoch + time_t ifi_epoch; +#undef ifi_lastchange + struct timeval ifi_lastchange; +}; + +// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_msghdr8 { + u_short ifm_msglen; + u_char ifm_version; + u_char ifm_type; + int ifm_addrs; + int ifm_flags; + u_short ifm_index; + struct if_data8 ifm_data; +}; +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( // Directory mode bits + S_IFMT = C.S_IFMT + S_IFIFO = C.S_IFIFO + S_IFCHR = C.S_IFCHR + S_IFDIR = C.S_IFDIR + S_IFBLK = C.S_IFBLK + S_IFREG = C.S_IFREG + S_IFLNK = C.S_IFLNK + S_IFSOCK = C.S_IFSOCK + S_ISUID = C.S_ISUID + S_ISGID = C.S_ISGID + S_ISVTX = C.S_ISVTX + S_IRUSR = C.S_IRUSR + S_IWUSR = C.S_IWUSR + S_IXUSR = C.S_IXUSR +) + +type Stat_t C.struct_stat8 + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.struct_fsid + +// Advice to Fadvise + +const ( + FADV_NORMAL = C.POSIX_FADV_NORMAL + FADV_RANDOM = C.POSIX_FADV_RANDOM + FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL + FADV_WILLNEED = C.POSIX_FADV_WILLNEED + FADV_DONTNEED = C.POSIX_FADV_DONTNEED + FADV_NOREUSE = C.POSIX_FADV_NOREUSE +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPMreqn C.struct_ip_mreqn + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPMreqn = C.sizeof_struct_ip_mreqn + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + sizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 + sizeofIfData = C.sizeof_struct_if_data + SizeofIfData = C.sizeof_struct_if_data8 + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type ifMsghdr C.struct_if_msghdr + +type IfMsghdr C.struct_if_msghdr8 + +type ifData C.struct_if_data + +type IfData C.struct_if_data8 + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr + SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfZbuf C.struct_bpf_zbuf + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfZbufHeader C.struct_bpf_zbuf_header + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// Capabilities + +type CapRights C.struct_cap_rights diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go new file mode 100644 index 000000000000..cb95c80aabcb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_netbsd.go @@ -0,0 +1,239 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// Sysctl + +type Sysctlnode C.struct_sysctlnode diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go new file mode 100644 index 000000000000..392da69bf0a1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_openbsd.go @@ -0,0 +1,251 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( // Directory mode bits + S_IFMT = C.S_IFMT + S_IFIFO = C.S_IFIFO + S_IFCHR = C.S_IFCHR + S_IFDIR = C.S_IFDIR + S_IFBLK = C.S_IFBLK + S_IFREG = C.S_IFREG + S_IFLNK = C.S_IFLNK + S_IFSOCK = C.S_IFSOCK + S_ISUID = C.S_ISUID + S_ISGID = C.S_ISGID + S_ISVTX = C.S_ISVTX + S_IRUSR = C.S_IRUSR + S_IWUSR = C.S_IWUSR + S_IXUSR = C.S_IXUSR +) + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go new file mode 100644 index 000000000000..6d7461401c2e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_solaris.go @@ -0,0 +1,265 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +// These defines ensure that builds done on newer versions of Solaris are +// backwards-compatible with older versions of Solaris and +// OpenSolaris-based derivatives. +#define __USE_SUNOS_SOCKETS__ // msghdr +#define __USE_LEGACY_PROTOTYPES__ // iovec +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics; for internal use. + +const ( + sizeofPtr = C.sizeofPtr + sizeofShort = C.sizeof_short + sizeofInt = C.sizeof_int + sizeofLong = C.sizeof_long + sizeofLongLong = C.sizeof_longlong + PathMax = C.PATH_MAX + MaxHostNameLen = C.MAXHOSTNAMELEN +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +type Tms C.struct_tms + +type Utimbuf C.struct_utimbuf + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( // Directory mode bits + S_IFMT = C.S_IFMT + S_IFIFO = C.S_IFIFO + S_IFCHR = C.S_IFCHR + S_IFDIR = C.S_IFDIR + S_IFBLK = C.S_IFBLK + S_IFREG = C.S_IFREG + S_IFLNK = C.S_IFLNK + S_IFSOCK = C.S_IFSOCK + S_ISUID = C.S_ISUID + S_ISGID = C.S_ISGID + S_ISVTX = C.S_ISVTX + S_IRUSR = C.S_IRUSR + S_IWUSR = C.S_IWUSR + S_IXUSR = C.S_IXUSR +) + +type Stat_t C.struct_stat + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +// Filesystems + +type _Fsblkcnt_t C.fsblkcnt_t + +type Statvfs_t C.struct_statvfs + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Select + +type FdSet C.fd_set + +// Misc + +type Utsname C.struct_utsname + +type Ustat_t C.struct_ustat + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_EACCESS = C.AT_EACCESS +) + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfTimeval C.struct_bpf_timeval + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Termio C.struct_termio + +type Winsize C.struct_winsize diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go new file mode 100644 index 000000000000..1c68758b647f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go @@ -0,0 +1,1673 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x8008427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc0086924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6981 + SIOCRSLVMULTI = 0xc008693b + SIOCSDRVSPEC = 0x801c697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40087458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x20 + WSTOPPED = 0x8 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "resource busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "device power is off", + 83: "device error", + 84: "value too large to be stored in data type", + 85: "bad executable (or shared library)", + 86: "bad CPU type in executable", + 87: "shared library version mismatch", + 88: "malformed Mach-o file", + 89: "operation canceled", + 90: "identifier removed", + 91: "no message of desired type", + 92: "illegal byte sequence", + 93: "attribute not found", + 94: "bad message", + 95: "EMULTIHOP (Reserved)", + 96: "no message available on STREAM", + 97: "ENOLINK (Reserved)", + 98: "no STREAM resources", + 99: "not a STREAM", + 100: "protocol error", + 101: "STREAM ioctl timeout", + 102: "operation not supported on socket", + 103: "policy not found", + 104: "state not recoverable", + 105: "previous owner died", + 106: "interface output queue is full", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go new file mode 100644 index 000000000000..48f63d4f0c23 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -0,0 +1,1673 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "resource busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "device power is off", + 83: "device error", + 84: "value too large to be stored in data type", + 85: "bad executable (or shared library)", + 86: "bad CPU type in executable", + 87: "shared library version mismatch", + 88: "malformed Mach-o file", + 89: "operation canceled", + 90: "identifier removed", + 91: "no message of desired type", + 92: "illegal byte sequence", + 93: "attribute not found", + 94: "bad message", + 95: "EMULTIHOP (Reserved)", + 96: "no message available on STREAM", + 97: "ENOLINK (Reserved)", + 98: "no STREAM resources", + 99: "not a STREAM", + 100: "protocol error", + 101: "STREAM ioctl timeout", + 102: "operation not supported on socket", + 103: "policy not found", + 104: "state not recoverable", + 105: "previous owner died", + 106: "interface output queue is full", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go new file mode 100644 index 000000000000..24cb522d9b56 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go @@ -0,0 +1,1673 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "resource busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "device power is off", + 83: "device error", + 84: "value too large to be stored in data type", + 85: "bad executable (or shared library)", + 86: "bad CPU type in executable", + 87: "shared library version mismatch", + 88: "malformed Mach-o file", + 89: "operation canceled", + 90: "identifier removed", + 91: "no message of desired type", + 92: "illegal byte sequence", + 93: "attribute not found", + 94: "bad message", + 95: "EMULTIHOP (Reserved)", + 96: "no message available on STREAM", + 97: "ENOLINK (Reserved)", + 98: "no STREAM resources", + 99: "not a STREAM", + 100: "protocol error", + 101: "STREAM ioctl timeout", + 102: "operation not supported on socket", + 103: "policy not found", + 104: "state not recoverable", + 105: "previous owner died", + 106: "interface output queue is full", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go new file mode 100644 index 000000000000..cc8cc5b57c5a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -0,0 +1,1673 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "resource busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "device power is off", + 83: "device error", + 84: "value too large to be stored in data type", + 85: "bad executable (or shared library)", + 86: "bad CPU type in executable", + 87: "shared library version mismatch", + 88: "malformed Mach-o file", + 89: "operation canceled", + 90: "identifier removed", + 91: "no message of desired type", + 92: "illegal byte sequence", + 93: "attribute not found", + 94: "bad message", + 95: "EMULTIHOP (Reserved)", + 96: "no message available on STREAM", + 97: "ENOLINK (Reserved)", + 98: "no STREAM resources", + 99: "not a STREAM", + 100: "protocol error", + 101: "STREAM ioctl timeout", + 102: "operation not supported on socket", + 103: "policy not found", + 104: "state not recoverable", + 105: "previous owner died", + 106: "interface output queue is full", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go new file mode 100644 index 000000000000..8f40598bb355 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go @@ -0,0 +1,1568 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x21 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x23 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x22 + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DEFAULTBUFSIZE = 0x1000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MAX_CLONES = 0x80 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DBF = 0xf + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0x8 + EVFILT_FS = -0xa + EVFILT_MARKER = 0xf + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xa + EVFILT_TIMER = -0x7 + EVFILT_USER = -0x9 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 + EXTEXIT_PROC = 0x0 + EXTEXIT_SETINT = 0x1 + EXTEXIT_SIMPLE = 0x0 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x118e72 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NPOLLING = 0x100000 + IFF_OACTIVE = 0x400 + IFF_OACTIVE_COMPAT = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_POLLING = 0x10000 + IFF_POLLING_COMPAT = 0x10000 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SMART = 0x20 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xf3 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SKIP = 0x39 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UNKNOWN = 0x102 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHLIM = 0x28 + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PKTOPTIONS = 0x34 + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CONTROL_END = 0xb + MADV_CONTROL_START = 0xa + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_INVAL = 0xa + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SETMAP = 0xb + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_NOCORE = 0x20000 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_NOSYNC = 0x800 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SIZEALIGN = 0x40000 + MAP_STACK = 0x400 + MAP_TRYFIXED = 0x10000 + MAP_VPAGETABLE = 0x2000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x1000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FBLOCKING = 0x10000 + MSG_FMASK = 0xffff0000 + MSG_FNONBLOCKING = 0x20000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_SYNC = 0x800 + MSG_TRUNC = 0x10 + MSG_UNUSED09 = 0x200 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x20000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x8000000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FAPPEND = 0x100000 + O_FASYNCWRITE = 0x800000 + O_FBLOCKING = 0x40000 + O_FMASK = 0xfc0000 + O_FNONBLOCKING = 0x80000 + O_FOFFSET = 0x200000 + O_FSYNC = 0x80 + O_FSYNCWRITE = 0x400000 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0xb + RTAX_MPLS1 = 0x8 + RTAX_MPLS2 = 0x9 + RTAX_MPLS3 = 0xa + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_MPLS1 = 0x100 + RTA_MPLS2 = 0x200 + RTA_MPLS3 = 0x400 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPLSOPS = 0x1000000 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x6 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 + RTV_IWMAXSEGS = 0x200 + RTV_MSL = 0x100 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCADDRT = 0x8040720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDELRT = 0x8040720b + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc0206926 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPOLLCPU = 0xc020697e + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFTSOLEN = 0xc0206980 + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFPOLLCPU = 0x8020697d + SIOCSIFTSOLEN = 0x8020697f + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_CPUHINT = 0x1030 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDSPACE = 0x100a + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_FASTKEEP = 0x80 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x20 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0x100 + TCP_MIN_WINSHIFT = 0x5 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x0 + VM_SWZONE_SIZE_MAX = 0x4000000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EASYNC = syscall.Errno(0x63) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x63) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEDIUM = syscall.Errno(0x5d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUNUSED94 = syscall.Errno(0x5e) + EUNUSED95 = syscall.Errno(0x5f) + EUNUSED96 = syscall.Errno(0x60) + EUNUSED97 = syscall.Errno(0x61) + EUNUSED98 = syscall.Errno(0x62) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCKPT = syscall.Signal(0x21) + SIGCKPTEXIT = syscall.Signal(0x22) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "operation canceled", + 86: "illegal byte sequence", + 87: "attribute not found", + 88: "programming error", + 89: "bad message", + 90: "multihop attempted", + 91: "link has been severed", + 92: "protocol error", + 93: "no medium found", + 94: "unknown error: 94", + 95: "unknown error: 95", + 96: "unknown error: 96", + 97: "unknown error: 97", + 98: "unknown error: 98", + 99: "unknown error: 99", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "thread Scheduler", + 33: "checkPoint", + 34: "checkPointExit", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go new file mode 100644 index 000000000000..1d3eec44d492 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -0,0 +1,1706 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "operation canceled", + 86: "illegal byte sequence", + 87: "attribute not found", + 88: "programming error", + 89: "bad message", + 90: "multihop attempted", + 91: "link has been severed", + 92: "protocol error", + 93: "capabilities insufficient", + 94: "not permitted in capability mode", + 95: "state not recoverable", + 96: "previous owner died", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "unknown signal", + 33: "unknown signal", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go new file mode 100644 index 000000000000..ac094f9cf35a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -0,0 +1,1707 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "operation canceled", + 86: "illegal byte sequence", + 87: "attribute not found", + 88: "programming error", + 89: "bad message", + 90: "multihop attempted", + 91: "link has been severed", + 92: "protocol error", + 93: "capabilities insufficient", + 94: "not permitted in capability mode", + 95: "state not recoverable", + 96: "previous owner died", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "unknown signal", + 33: "unknown signal", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go new file mode 100644 index 000000000000..c5c6f13e530e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -0,0 +1,1715 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GUARD = 0x2000 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "operation canceled", + 86: "illegal byte sequence", + 87: "attribute not found", + 88: "programming error", + 89: "bad message", + 90: "multihop attempted", + 91: "link has been severed", + 92: "protocol error", + 93: "capabilities insufficient", + 94: "not permitted in capability mode", + 95: "state not recoverable", + 96: "previous owner died", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "unknown signal", + 33: "unknown signal", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go new file mode 100644 index 000000000000..4066ad1e0f7f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -0,0 +1,2231 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x8000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go new file mode 100644 index 000000000000..c9f53b0b37fb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -0,0 +1,2232 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ARCH_PRCTL = 0x1e + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go new file mode 100644 index 000000000000..3e8c2c7aa6af --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -0,0 +1,2236 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x20000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETCRUNCHREGS = 0x19 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETHBPREGS = 0x1d + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVFPREGS = 0x1b + PTRACE_GETWMMXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x16 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETCRUNCHREGS = 0x1a + PTRACE_SETFPREGS = 0xf + PTRACE_SETHBPREGS = 0x1e + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVFPREGS = 0x1c + PTRACE_SETWMMXREGS = 0x13 + PTRACE_SET_SYSCALL = 0x17 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PT_DATA_ADDR = 0x10004 + PT_TEXT_ADDR = 0x10000 + PT_TEXT_END_ADDR = 0x10008 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go new file mode 100644 index 000000000000..383453349ff8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -0,0 +1,2222 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ESR_MAGIC = 0x45535201 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go new file mode 100644 index 000000000000..bde8f7d023c4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -0,0 +1,2241 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "no message of desired type", + 36: "identifier removed", + 37: "channel number out of range", + 38: "level 2 not synchronized", + 39: "level 3 halted", + 40: "level 3 reset", + 41: "link number out of range", + 42: "protocol driver not attached", + 43: "no CSI structure available", + 44: "level 2 halted", + 45: "resource deadlock avoided", + 46: "no locks available", + 50: "invalid exchange", + 51: "invalid request descriptor", + 52: "exchange full", + 53: "no anode", + 54: "invalid request code", + 55: "invalid slot", + 56: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 73: "RFS specific error", + 74: "multihop attempted", + 77: "bad message", + 78: "file name too long", + 79: "value too large for defined data type", + 80: "name not unique on network", + 81: "file descriptor in bad state", + 82: "remote address changed", + 83: "can not access a needed shared library", + 84: "accessing a corrupted shared library", + 85: ".lib section in a.out corrupted", + 86: "attempting to link in too many shared libraries", + 87: "cannot exec a shared library directly", + 88: "invalid or incomplete multibyte or wide character", + 89: "function not implemented", + 90: "too many levels of symbolic links", + 91: "interrupted system call should be restarted", + 92: "streams pipe error", + 93: "directory not empty", + 94: "too many users", + 95: "socket operation on non-socket", + 96: "destination address required", + 97: "message too long", + 98: "protocol wrong type for socket", + 99: "protocol not available", + 120: "protocol not supported", + 121: "socket type not supported", + 122: "operation not supported", + 123: "protocol family not supported", + 124: "address family not supported by protocol", + 125: "address already in use", + 126: "cannot assign requested address", + 127: "network is down", + 128: "network is unreachable", + 129: "network dropped connection on reset", + 130: "software caused connection abort", + 131: "connection reset by peer", + 132: "no buffer space available", + 133: "transport endpoint is already connected", + 134: "transport endpoint is not connected", + 135: "structure needs cleaning", + 137: "not a XENIX named type file", + 138: "no XENIX semaphores available", + 139: "is a named type file", + 140: "remote I/O error", + 141: "unknown error 141", + 142: "unknown error 142", + 143: "cannot send after transport endpoint shutdown", + 144: "too many references: cannot splice", + 145: "connection timed out", + 146: "connection refused", + 147: "host is down", + 148: "no route to host", + 149: "operation already in progress", + 150: "operation now in progress", + 151: "stale file handle", + 158: "operation canceled", + 159: "no medium found", + 160: "wrong medium type", + 161: "required key not available", + 162: "key has expired", + 163: "key has been revoked", + 164: "key was rejected by service", + 165: "owner died", + 166: "state not recoverable", + 167: "operation not possible due to RF-kill", + 168: "memory page has hardware error", + 1133: "disk quota exceeded", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "user defined signal 1", + 17: "user defined signal 2", + 18: "child exited", + 19: "power failure", + 20: "window changed", + 21: "urgent I/O condition", + 22: "I/O possible", + 23: "stopped (signal)", + 24: "stopped", + 25: "continued", + 26: "stopped (tty input)", + 27: "stopped (tty output)", + 28: "virtual timer expired", + 29: "profiling timer expired", + 30: "CPU time limit exceeded", + 31: "file size limit exceeded", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go new file mode 100644 index 000000000000..42b6397d5d63 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -0,0 +1,2241 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "no message of desired type", + 36: "identifier removed", + 37: "channel number out of range", + 38: "level 2 not synchronized", + 39: "level 3 halted", + 40: "level 3 reset", + 41: "link number out of range", + 42: "protocol driver not attached", + 43: "no CSI structure available", + 44: "level 2 halted", + 45: "resource deadlock avoided", + 46: "no locks available", + 50: "invalid exchange", + 51: "invalid request descriptor", + 52: "exchange full", + 53: "no anode", + 54: "invalid request code", + 55: "invalid slot", + 56: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 73: "RFS specific error", + 74: "multihop attempted", + 77: "bad message", + 78: "file name too long", + 79: "value too large for defined data type", + 80: "name not unique on network", + 81: "file descriptor in bad state", + 82: "remote address changed", + 83: "can not access a needed shared library", + 84: "accessing a corrupted shared library", + 85: ".lib section in a.out corrupted", + 86: "attempting to link in too many shared libraries", + 87: "cannot exec a shared library directly", + 88: "invalid or incomplete multibyte or wide character", + 89: "function not implemented", + 90: "too many levels of symbolic links", + 91: "interrupted system call should be restarted", + 92: "streams pipe error", + 93: "directory not empty", + 94: "too many users", + 95: "socket operation on non-socket", + 96: "destination address required", + 97: "message too long", + 98: "protocol wrong type for socket", + 99: "protocol not available", + 120: "protocol not supported", + 121: "socket type not supported", + 122: "operation not supported", + 123: "protocol family not supported", + 124: "address family not supported by protocol", + 125: "address already in use", + 126: "cannot assign requested address", + 127: "network is down", + 128: "network is unreachable", + 129: "network dropped connection on reset", + 130: "software caused connection abort", + 131: "connection reset by peer", + 132: "no buffer space available", + 133: "transport endpoint is already connected", + 134: "transport endpoint is not connected", + 135: "structure needs cleaning", + 137: "not a XENIX named type file", + 138: "no XENIX semaphores available", + 139: "is a named type file", + 140: "remote I/O error", + 141: "unknown error 141", + 142: "unknown error 142", + 143: "cannot send after transport endpoint shutdown", + 144: "too many references: cannot splice", + 145: "connection timed out", + 146: "connection refused", + 147: "host is down", + 148: "no route to host", + 149: "operation already in progress", + 150: "operation now in progress", + 151: "stale file handle", + 158: "operation canceled", + 159: "no medium found", + 160: "wrong medium type", + 161: "required key not available", + 162: "key has expired", + 163: "key has been revoked", + 164: "key was rejected by service", + 165: "owner died", + 166: "state not recoverable", + 167: "operation not possible due to RF-kill", + 168: "memory page has hardware error", + 1133: "disk quota exceeded", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "user defined signal 1", + 17: "user defined signal 2", + 18: "child exited", + 19: "power failure", + 20: "window changed", + 21: "urgent I/O condition", + 22: "I/O possible", + 23: "stopped (signal)", + 24: "stopped", + 25: "continued", + 26: "stopped (tty input)", + 27: "stopped (tty output)", + 28: "virtual timer expired", + 29: "profiling timer expired", + 30: "CPU time limit exceeded", + 31: "file size limit exceeded", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go new file mode 100644 index 000000000000..bd4ff8147495 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -0,0 +1,2241 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "no message of desired type", + 36: "identifier removed", + 37: "channel number out of range", + 38: "level 2 not synchronized", + 39: "level 3 halted", + 40: "level 3 reset", + 41: "link number out of range", + 42: "protocol driver not attached", + 43: "no CSI structure available", + 44: "level 2 halted", + 45: "resource deadlock avoided", + 46: "no locks available", + 50: "invalid exchange", + 51: "invalid request descriptor", + 52: "exchange full", + 53: "no anode", + 54: "invalid request code", + 55: "invalid slot", + 56: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 73: "RFS specific error", + 74: "multihop attempted", + 77: "bad message", + 78: "file name too long", + 79: "value too large for defined data type", + 80: "name not unique on network", + 81: "file descriptor in bad state", + 82: "remote address changed", + 83: "can not access a needed shared library", + 84: "accessing a corrupted shared library", + 85: ".lib section in a.out corrupted", + 86: "attempting to link in too many shared libraries", + 87: "cannot exec a shared library directly", + 88: "invalid or incomplete multibyte or wide character", + 89: "function not implemented", + 90: "too many levels of symbolic links", + 91: "interrupted system call should be restarted", + 92: "streams pipe error", + 93: "directory not empty", + 94: "too many users", + 95: "socket operation on non-socket", + 96: "destination address required", + 97: "message too long", + 98: "protocol wrong type for socket", + 99: "protocol not available", + 120: "protocol not supported", + 121: "socket type not supported", + 122: "operation not supported", + 123: "protocol family not supported", + 124: "address family not supported by protocol", + 125: "address already in use", + 126: "cannot assign requested address", + 127: "network is down", + 128: "network is unreachable", + 129: "network dropped connection on reset", + 130: "software caused connection abort", + 131: "connection reset by peer", + 132: "no buffer space available", + 133: "transport endpoint is already connected", + 134: "transport endpoint is not connected", + 135: "structure needs cleaning", + 137: "not a XENIX named type file", + 138: "no XENIX semaphores available", + 139: "is a named type file", + 140: "remote I/O error", + 141: "unknown error 141", + 142: "unknown error 142", + 143: "cannot send after transport endpoint shutdown", + 144: "too many references: cannot splice", + 145: "connection timed out", + 146: "connection refused", + 147: "host is down", + 148: "no route to host", + 149: "operation already in progress", + 150: "operation now in progress", + 151: "stale file handle", + 158: "operation canceled", + 159: "no medium found", + 160: "wrong medium type", + 161: "required key not available", + 162: "key has expired", + 163: "key has been revoked", + 164: "key was rejected by service", + 165: "owner died", + 166: "state not recoverable", + 167: "operation not possible due to RF-kill", + 168: "memory page has hardware error", + 1133: "disk quota exceeded", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "user defined signal 1", + 17: "user defined signal 2", + 18: "child exited", + 19: "power failure", + 20: "window changed", + 21: "urgent I/O condition", + 22: "I/O possible", + 23: "stopped (signal)", + 24: "stopped", + 25: "continued", + 26: "stopped (tty input)", + 27: "stopped (tty output)", + 28: "virtual timer expired", + 29: "profiling timer expired", + 30: "CPU time limit exceeded", + 31: "file size limit exceeded", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go new file mode 100644 index 000000000000..6dfc95c40f77 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -0,0 +1,2241 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "no message of desired type", + 36: "identifier removed", + 37: "channel number out of range", + 38: "level 2 not synchronized", + 39: "level 3 halted", + 40: "level 3 reset", + 41: "link number out of range", + 42: "protocol driver not attached", + 43: "no CSI structure available", + 44: "level 2 halted", + 45: "resource deadlock avoided", + 46: "no locks available", + 50: "invalid exchange", + 51: "invalid request descriptor", + 52: "exchange full", + 53: "no anode", + 54: "invalid request code", + 55: "invalid slot", + 56: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 73: "RFS specific error", + 74: "multihop attempted", + 77: "bad message", + 78: "file name too long", + 79: "value too large for defined data type", + 80: "name not unique on network", + 81: "file descriptor in bad state", + 82: "remote address changed", + 83: "can not access a needed shared library", + 84: "accessing a corrupted shared library", + 85: ".lib section in a.out corrupted", + 86: "attempting to link in too many shared libraries", + 87: "cannot exec a shared library directly", + 88: "invalid or incomplete multibyte or wide character", + 89: "function not implemented", + 90: "too many levels of symbolic links", + 91: "interrupted system call should be restarted", + 92: "streams pipe error", + 93: "directory not empty", + 94: "too many users", + 95: "socket operation on non-socket", + 96: "destination address required", + 97: "message too long", + 98: "protocol wrong type for socket", + 99: "protocol not available", + 120: "protocol not supported", + 121: "socket type not supported", + 122: "operation not supported", + 123: "protocol family not supported", + 124: "address family not supported by protocol", + 125: "address already in use", + 126: "cannot assign requested address", + 127: "network is down", + 128: "network is unreachable", + 129: "network dropped connection on reset", + 130: "software caused connection abort", + 131: "connection reset by peer", + 132: "no buffer space available", + 133: "transport endpoint is already connected", + 134: "transport endpoint is not connected", + 135: "structure needs cleaning", + 137: "not a XENIX named type file", + 138: "no XENIX semaphores available", + 139: "is a named type file", + 140: "remote I/O error", + 141: "unknown error 141", + 142: "unknown error 142", + 143: "cannot send after transport endpoint shutdown", + 144: "too many references: cannot splice", + 145: "connection timed out", + 146: "connection refused", + 147: "host is down", + 148: "no route to host", + 149: "operation already in progress", + 150: "operation now in progress", + 151: "stale file handle", + 158: "operation canceled", + 159: "no medium found", + 160: "wrong medium type", + 161: "required key not available", + 162: "key has expired", + 163: "key has been revoked", + 164: "key was rejected by service", + 165: "owner died", + 166: "state not recoverable", + 167: "operation not possible due to RF-kill", + 168: "memory page has hardware error", + 1133: "disk quota exceeded", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "user defined signal 1", + 17: "user defined signal 2", + 18: "child exited", + 19: "power failure", + 20: "window changed", + 21: "urgent I/O condition", + 22: "I/O possible", + 23: "stopped (signal)", + 24: "stopped", + 25: "continued", + 26: "stopped (tty input)", + 27: "stopped (tty output)", + 28: "virtual timer expired", + 29: "profiling timer expired", + 30: "CPU time limit exceeded", + 31: "file size limit exceeded", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go new file mode 100644 index 000000000000..46b09d320de7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -0,0 +1,2294 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XTABS = 0xc00 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 58: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go new file mode 100644 index 000000000000..08adb1d8fc3e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -0,0 +1,2294 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XTABS = 0xc00 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 58: "file locking deadlock error", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go new file mode 100644 index 000000000000..70bc1a2fc5e3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -0,0 +1,2293 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2c + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_DISABLE_TE = 0x5010 + PTRACE_ENABLE_TE = 0x5009 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_LAST_BREAK = 0x5006 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_AREA = 0x5003 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_AREA = 0x5002 + PTRACE_PEEKUSR = 0x3 + PTRACE_PEEKUSR_AREA = 0x5000 + PTRACE_PEEK_SYSTEM_CALL = 0x5007 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_AREA = 0x5005 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_AREA = 0x5004 + PTRACE_POKEUSR = 0x6 + PTRACE_POKEUSR_AREA = 0x5001 + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLEBLOCK = 0xc + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TE_ABORT_RAND = 0x5011 + PTRACE_TRACEME = 0x0 + PT_ACR0 = 0x90 + PT_ACR1 = 0x94 + PT_ACR10 = 0xb8 + PT_ACR11 = 0xbc + PT_ACR12 = 0xc0 + PT_ACR13 = 0xc4 + PT_ACR14 = 0xc8 + PT_ACR15 = 0xcc + PT_ACR2 = 0x98 + PT_ACR3 = 0x9c + PT_ACR4 = 0xa0 + PT_ACR5 = 0xa4 + PT_ACR6 = 0xa8 + PT_ACR7 = 0xac + PT_ACR8 = 0xb0 + PT_ACR9 = 0xb4 + PT_CR_10 = 0x168 + PT_CR_11 = 0x170 + PT_CR_9 = 0x160 + PT_ENDREGS = 0x1af + PT_FPC = 0xd8 + PT_FPR0 = 0xe0 + PT_FPR1 = 0xe8 + PT_FPR10 = 0x130 + PT_FPR11 = 0x138 + PT_FPR12 = 0x140 + PT_FPR13 = 0x148 + PT_FPR14 = 0x150 + PT_FPR15 = 0x158 + PT_FPR2 = 0xf0 + PT_FPR3 = 0xf8 + PT_FPR4 = 0x100 + PT_FPR5 = 0x108 + PT_FPR6 = 0x110 + PT_FPR7 = 0x118 + PT_FPR8 = 0x120 + PT_FPR9 = 0x128 + PT_GPR0 = 0x10 + PT_GPR1 = 0x18 + PT_GPR10 = 0x60 + PT_GPR11 = 0x68 + PT_GPR12 = 0x70 + PT_GPR13 = 0x78 + PT_GPR14 = 0x80 + PT_GPR15 = 0x88 + PT_GPR2 = 0x20 + PT_GPR3 = 0x28 + PT_GPR4 = 0x30 + PT_GPR5 = 0x38 + PT_GPR6 = 0x40 + PT_GPR7 = 0x48 + PT_GPR8 = 0x50 + PT_GPR9 = 0x58 + PT_IEEE_IP = 0x1a8 + PT_LASTOFF = 0x1a8 + PT_ORIGGPR2 = 0xd0 + PT_PSWADDR = 0x8 + PT_PSWMASK = 0x0 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1a + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x63 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_WIFI_STATUS = 0x29 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TOSTOP = 0x100 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UMOUNT_NOFOLLOW = 0x8 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 35: "resource deadlock avoided", + 36: "file name too long", + 37: "no locks available", + 38: "function not implemented", + 39: "directory not empty", + 40: "too many levels of symbolic links", + 42: "no message of desired type", + 43: "identifier removed", + 44: "channel number out of range", + 45: "level 2 not synchronized", + 46: "level 3 halted", + 47: "level 3 reset", + 48: "link number out of range", + 49: "protocol driver not attached", + 50: "no CSI structure available", + 51: "level 2 halted", + 52: "invalid exchange", + 53: "invalid request descriptor", + 54: "exchange full", + 55: "no anode", + 56: "invalid request code", + 57: "invalid slot", + 59: "bad font file format", + 60: "device not a stream", + 61: "no data available", + 62: "timer expired", + 63: "out of streams resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "multihop attempted", + 73: "RFS specific error", + 74: "bad message", + 75: "value too large for defined data type", + 76: "name not unique on network", + 77: "file descriptor in bad state", + 78: "remote address changed", + 79: "can not access a needed shared library", + 80: "accessing a corrupted shared library", + 81: ".lib section in a.out corrupted", + 82: "attempting to link in too many shared libraries", + 83: "cannot exec a shared library directly", + 84: "invalid or incomplete multibyte or wide character", + 85: "interrupted system call should be restarted", + 86: "streams pipe error", + 87: "too many users", + 88: "socket operation on non-socket", + 89: "destination address required", + 90: "message too long", + 91: "protocol wrong type for socket", + 92: "protocol not available", + 93: "protocol not supported", + 94: "socket type not supported", + 95: "operation not supported", + 96: "protocol family not supported", + 97: "address family not supported by protocol", + 98: "address already in use", + 99: "cannot assign requested address", + 100: "network is down", + 101: "network is unreachable", + 102: "network dropped connection on reset", + 103: "software caused connection abort", + 104: "connection reset by peer", + 105: "no buffer space available", + 106: "transport endpoint is already connected", + 107: "transport endpoint is not connected", + 108: "cannot send after transport endpoint shutdown", + 109: "too many references: cannot splice", + 110: "connection timed out", + 111: "connection refused", + 112: "host is down", + 113: "no route to host", + 114: "operation already in progress", + 115: "operation now in progress", + 116: "stale file handle", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "disk quota exceeded", + 123: "no medium found", + 124: "wrong medium type", + 125: "operation canceled", + 126: "required key not available", + 127: "key has expired", + 128: "key has been revoked", + 129: "key was rejected by service", + 130: "owner died", + 131: "state not recoverable", + 132: "operation not possible due to RF-kill", + 133: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "stack fault", + 17: "child exited", + 18: "continued", + 19: "stopped (signal)", + 20: "stopped", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "urgent I/O condition", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "I/O possible", + 30: "power failure", + 31: "bad system call", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go new file mode 100644 index 000000000000..95de199fc4a6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -0,0 +1,2142 @@ +// mkerrors.sh -m64 +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build sparc64,linux + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_X25 = 0x10f + ASI_LEON_DFLUSH = 0x11 + ASI_LEON_IFLUSH = 0x10 + ASI_LEON_MMUFLUSH = 0x18 + B0 = 0x0 + B1000000 = 0x100c + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x100d + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100e + B153600 = 0x1006 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100f + B230400 = 0x1003 + B2400 = 0xb + B300 = 0x7 + B307200 = 0x1007 + B38400 = 0xf + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x100a + B57600 = 0x1001 + B576000 = 0x100b + B600 = 0x8 + B614400 = 0x1008 + B75 = 0x2 + B76800 = 0x1005 + B921600 = 0x1009 + B9600 = 0xd + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EMT_TAGOVF = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x400000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x7 + F_GETLK64 = 0x7 + F_GETOWN = 0x5 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x8 + F_SETLK64 = 0x8 + F_SETLKW = 0x9 + F_SETLKW64 = 0x9 + F_SETOWN = 0x6 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0x8 + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x400000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x4000 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_UNICAST_HOPS = 0x10 + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GROWSDOWN = 0x200 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x100 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + NAME_MAX = 0xff + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x100000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x2000 + O_EXCL = 0x800 + O_FSYNC = 0x802000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x4004 + O_NOATIME = 0x200000 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x4000 + O_PATH = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x802000 + O_SYNC = 0x802000 + O_TMPFILE = 0x2010000 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = -0x1 + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPAREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPREGS64 = 0x19 + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_READDATA = 0x10 + PTRACE_READTEXT = 0x12 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPAREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPREGS64 = 0x1a + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SPARC_DETACH = 0xb + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PTRACE_WRITEDATA = 0x11 + PTRACE_WRITETEXT = 0x13 + PT_FP = 0x48 + PT_G0 = 0x10 + PT_G1 = 0x14 + PT_G2 = 0x18 + PT_G3 = 0x1c + PT_G4 = 0x20 + PT_G5 = 0x24 + PT_G6 = 0x28 + PT_G7 = 0x2c + PT_I0 = 0x30 + PT_I1 = 0x34 + PT_I2 = 0x38 + PT_I3 = 0x3c + PT_I4 = 0x40 + PT_I5 = 0x44 + PT_I6 = 0x48 + PT_I7 = 0x4c + PT_NPC = 0x8 + PT_PC = 0x4 + PT_PSR = 0x0 + PT_REGS_MAGIC = 0x57ac6c00 + PT_TNPC = 0x90 + PT_TPC = 0x88 + PT_TSTATE = 0x80 + PT_V9_FP = 0x70 + PT_V9_G0 = 0x0 + PT_V9_G1 = 0x8 + PT_V9_G2 = 0x10 + PT_V9_G3 = 0x18 + PT_V9_G4 = 0x20 + PT_V9_G5 = 0x28 + PT_V9_G6 = 0x30 + PT_V9_G7 = 0x38 + PT_V9_I0 = 0x40 + PT_V9_I1 = 0x48 + PT_V9_I2 = 0x50 + PT_V9_I3 = 0x58 + PT_V9_I4 = 0x60 + PT_V9_I5 = 0x68 + PT_V9_I6 = 0x70 + PT_V9_I7 = 0x78 + PT_V9_MAGIC = 0x9c + PT_V9_TNPC = 0x90 + PT_V9_TPC = 0x88 + PT_V9_TSTATE = 0x80 + PT_V9_Y = 0x98 + PT_WIM = 0x10 + PT_Y = 0xc + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x6 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x1 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x10 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x18 + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x5f + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x14 + RTM_NR_MSGTYPES = 0x50 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x11 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_GATED = 0x8 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x23 + SCM_TIMESTAMPNS = 0x21 + SCM_WIFI_STATUS = 0x25 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGRARP = 0x8961 + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SOCK_CLOEXEC = 0x400000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_X25 = 0x106 + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x8000 + SO_ATTACH_BPF = 0x34 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x35 + SO_ATTACH_REUSEPORT_EBPF = 0x36 + SO_BINDTODEVICE = 0xd + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 + SO_BUSY_POLL = 0x30 + SO_CNX_ADVICE = 0x37 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x33 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x28 + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_NOFCS = 0x27 + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 + SO_PASSSEC = 0x1f + SO_PEEK_OFF = 0x26 + SO_PEERCRED = 0x40 + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 + SO_RCVTIMEO = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 + SO_SECURITY_AUTHENTICATION = 0x5001 + SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 + SO_SELECT_ERR_QUEUE = 0x29 + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x100a + SO_SNDLOWAT = 0x1000 + SO_SNDTIMEO = 0x4000 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPNS = 0x21 + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x25 + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x20005407 + TCGETA = 0x40125401 + TCGETS = 0x40245408 + TCGETS2 = 0x402c540c + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_INFO = 0xb + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCSAFLUSH = 0x2 + TCSBRK = 0x20005405 + TCSBRKP = 0x5425 + TCSETA = 0x80125402 + TCSETAF = 0x80125404 + TCSETAW = 0x80125403 + TCSETS = 0x80245409 + TCSETS2 = 0x802c540d + TCSETSF = 0x8024540b + TCSETSF2 = 0x802c540f + TCSETSW = 0x8024540a + TCSETSW2 = 0x802c540e + TCXONC = 0x20005406 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x40047400 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x40047483 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40047486 + TIOCGRS485 = 0x40205441 + TIOCGSERIAL = 0x541e + TIOCGSID = 0x40047485 + TIOCGSOFTCAR = 0x40047464 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x545c + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007484 + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x80047401 + TIOCSIG = 0x80047488 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x80047482 + TIOCSPTLCK = 0x80047487 + TIOCSRS485 = 0xc0205442 + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x80047465 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x20005437 + TOSTOP = 0x100 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WRAP = 0x20000 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XCASE = 0x4 + XTABS = 0x1800 + __TIOCFLUSH = 0x80047410 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EADV = syscall.Errno(0x53) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x25) + EBADE = syscall.Errno(0x66) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x5d) + EBADMSG = syscall.Errno(0x4c) + EBADR = syscall.Errno(0x67) + EBADRQC = syscall.Errno(0x6a) + EBADSLT = syscall.Errno(0x6b) + EBFONT = syscall.Errno(0x6d) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x5e) + ECOMM = syscall.Errno(0x55) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0x4e) + EDEADLOCK = syscall.Errno(0x6c) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EHWPOISON = syscall.Errno(0x87) + EIDRM = syscall.Errno(0x4d) + EILSEQ = syscall.Errno(0x7a) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x81) + EKEYREJECTED = syscall.Errno(0x83) + EKEYREVOKED = syscall.Errno(0x82) + EL2HLT = syscall.Errno(0x65) + EL2NSYNC = syscall.Errno(0x5f) + EL3HLT = syscall.Errno(0x60) + EL3RST = syscall.Errno(0x61) + ELIBACC = syscall.Errno(0x72) + ELIBBAD = syscall.Errno(0x70) + ELIBEXEC = syscall.Errno(0x6e) + ELIBMAX = syscall.Errno(0x7b) + ELIBSCN = syscall.Errno(0x7c) + ELNRNG = syscall.Errno(0x62) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x7e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x57) + ENAMETOOLONG = syscall.Errno(0x3f) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x69) + ENOBUFS = syscall.Errno(0x37) + ENOCSI = syscall.Errno(0x64) + ENODATA = syscall.Errno(0x6f) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x80) + ENOLCK = syscall.Errno(0x4f) + ENOLINK = syscall.Errno(0x52) + ENOMEDIUM = syscall.Errno(0x7d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x4b) + ENONET = syscall.Errno(0x50) + ENOPKG = syscall.Errno(0x71) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x4a) + ENOSTR = syscall.Errno(0x48) + ENOSYS = syscall.Errno(0x5a) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x85) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x73) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x5c) + EOWNERDEAD = syscall.Errno(0x84) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROTO = syscall.Errno(0x56) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x59) + EREMOTE = syscall.Errno(0x47) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x74) + ERFKILL = syscall.Errno(0x86) + EROFS = syscall.Errno(0x1e) + ERREMOTE = syscall.Errno(0x51) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x54) + ESTALE = syscall.Errno(0x46) + ESTRPIPE = syscall.Errno(0x5b) + ETIME = syscall.Errno(0x49) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x63) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x68) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x1d) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "no such device or address", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device or resource busy", + 17: "file exists", + 18: "invalid cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "numerical result out of range", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol", + 48: "address already in use", + 49: "cannot assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "transport endpoint is already connected", + 57: "transport endpoint is not connected", + 58: "cannot send after transport endpoint shutdown", + 59: "too many references: cannot splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disk quota exceeded", + 70: "stale file handle", + 71: "object is remote", + 72: "device not a stream", + 73: "timer expired", + 74: "out of streams resources", + 75: "no message of desired type", + 76: "bad message", + 77: "identifier removed", + 78: "resource deadlock avoided", + 79: "no locks available", + 80: "machine is not on the network", + 81: "unknown error 81", + 82: "link has been severed", + 83: "advertise error", + 84: "srmount error", + 85: "communication error on send", + 86: "protocol error", + 87: "multihop attempted", + 88: "RFS specific error", + 89: "remote address changed", + 90: "function not implemented", + 91: "streams pipe error", + 92: "value too large for defined data type", + 93: "file descriptor in bad state", + 94: "channel number out of range", + 95: "level 2 not synchronized", + 96: "level 3 halted", + 97: "level 3 reset", + 98: "link number out of range", + 99: "protocol driver not attached", + 100: "no CSI structure available", + 101: "level 2 halted", + 102: "invalid exchange", + 103: "invalid request descriptor", + 104: "exchange full", + 105: "no anode", + 106: "invalid request code", + 107: "invalid slot", + 108: "file locking deadlock error", + 109: "bad font file format", + 110: "cannot exec a shared library directly", + 111: "no data available", + 112: "accessing a corrupted shared library", + 113: "package not installed", + 114: "can not access a needed shared library", + 115: "name not unique on network", + 116: "interrupted system call should be restarted", + 117: "structure needs cleaning", + 118: "not a XENIX named type file", + 119: "no XENIX semaphores available", + 120: "is a named type file", + 121: "remote I/O error", + 122: "invalid or incomplete multibyte or wide character", + 123: "attempting to link in too many shared libraries", + 124: ".lib section in a.out corrupted", + 125: "no medium found", + 126: "wrong medium type", + 127: "operation canceled", + 128: "required key not available", + 129: "key has expired", + 130: "key has been revoked", + 131: "key was rejected by service", + 132: "owner died", + 133: "state not recoverable", + 134: "operation not possible due to RF-kill", + 135: "memory page has hardware error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "CPU time limit exceeded", + 25: "file size limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window changed", + 29: "resource lost", + 30: "user defined signal 1", + 31: "user defined signal 2", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go new file mode 100644 index 000000000000..b4338d5f2636 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go @@ -0,0 +1,1712 @@ +// mkerrors.sh -m32 +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build 386,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + EN_SW_CTL_INF = 0x1000 + EN_SW_CTL_PREC = 0x300 + EN_SW_CTL_ROUND = 0xc00 + EN_SW_DATACHAIN = 0x80 + EN_SW_DENORM = 0x2 + EN_SW_INVOP = 0x1 + EN_SW_OVERFLOW = 0x8 + EN_SW_PRECLOSS = 0x20 + EN_SW_UNDERFLOW = 0x10 + EN_SW_ZERODIV = 0x4 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large or too small", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol option not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "illegal byte sequence", + 86: "not supported", + 87: "operation Canceled", + 88: "bad or Corrupt message", + 89: "no message available", + 90: "no STREAM resources", + 91: "not a STREAM", + 92: "STREAM ioctl timeout", + 93: "attribute not found", + 94: "multihop attempted", + 95: "link has been severed", + 96: "protocol error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "power fail/restart", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go new file mode 100644 index 000000000000..4994437b63d0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go @@ -0,0 +1,1702 @@ +// mkerrors.sh -m64 +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build amd64,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large or too small", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol option not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "illegal byte sequence", + 86: "not supported", + 87: "operation Canceled", + 88: "bad or Corrupt message", + 89: "no message available", + 90: "no STREAM resources", + 91: "not a STREAM", + 92: "STREAM ioctl timeout", + 93: "attribute not found", + 94: "multihop attempted", + 95: "link has been severed", + 96: "protocol error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "power fail/restart", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go new file mode 100644 index 000000000000..206c75f094e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -0,0 +1,1691 @@ +// mkerrors.sh -marm +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build arm,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -marm _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PRI_IOFLUSH = 0x7c + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x48087446 + TIOCPTSNAME = 0x48087448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large or too small", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol option not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "identifier removed", + 83: "no message of desired type", + 84: "value too large to be stored in data type", + 85: "illegal byte sequence", + 86: "not supported", + 87: "operation Canceled", + 88: "bad or Corrupt message", + 89: "no message available", + 90: "no STREAM resources", + 91: "not a STREAM", + 92: "STREAM ioctl timeout", + 93: "attribute not found", + 94: "multihop attempted", + 95: "link has been severed", + 96: "protocol error", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "power fail/restart", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go new file mode 100644 index 000000000000..3322e998d301 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -0,0 +1,1584 @@ +// mkerrors.sh -m32 +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build 386,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_COPY = 0x4 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x1ff7 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_MASK = 0x3ff000 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "IPsec processing failure", + 83: "attribute not found", + 84: "illegal byte sequence", + 85: "no medium found", + 86: "wrong medium type", + 87: "value too large to be stored in data type", + 88: "operation canceled", + 89: "identifier removed", + 90: "no message of desired type", + 91: "not supported", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "thread AST", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go new file mode 100644 index 000000000000..1758ecca93e2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go @@ -0,0 +1,1583 @@ +// mkerrors.sh -m64 +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// +build amd64,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_COPY = 0x4 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x1ff7 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8058693c + SIOCBRDGADDS = 0x80586941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8058693d + SIOCBRDGDELS = 0x80586942 + SIOCBRDGFLUSH = 0x80586948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc058693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGSIFS = 0xc058693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0586942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80586955 + SIOCBRDGSIFFLGS = 0x8058693f + SIOCBRDGSIFPRIO = 0x80586954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "IPsec processing failure", + 83: "attribute not found", + 84: "illegal byte sequence", + 85: "no medium found", + 86: "wrong medium type", + 87: "value too large to be stored in data type", + 88: "operation canceled", + 89: "identifier removed", + 90: "no message of desired type", + 91: "not supported", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "thread AST", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go new file mode 100644 index 000000000000..3ed0b2602f94 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1586 @@ +// mkerrors.sh +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +// +build arm,openbsd + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x3ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "IPsec processing failure", + 83: "attribute not found", + 84: "illegal byte sequence", + 85: "no medium found", + 86: "wrong medium type", + 87: "value too large to be stored in data type", + 88: "operation canceled", + 89: "identifier removed", + 90: "no message of desired type", + 91: "not supported", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "thread AST", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go new file mode 100644 index 000000000000..09eedb009353 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -0,0 +1,1489 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_802 = 0x12 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_FILE = 0x1 + AF_GOSIP = 0x16 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1a + AF_INET_OFFLOAD = 0x1e + AF_IPX = 0x17 + AF_KEY = 0x1b + AF_LAT = 0xe + AF_LINK = 0x19 + AF_LOCAL = 0x1 + AF_MAX = 0x20 + AF_NBS = 0x7 + AF_NCA = 0x1c + AF_NIT = 0x11 + AF_NS = 0x6 + AF_OSI = 0x13 + AF_OSINET = 0x15 + AF_PACKET = 0x20 + AF_POLICY = 0x1d + AF_PUP = 0x4 + AF_ROUTE = 0x18 + AF_SNA = 0xb + AF_TRILL = 0x1f + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_X25 = 0x14 + ARPHRD_ARCNET = 0x7 + ARPHRD_ATM = 0x10 + ARPHRD_AX25 = 0x3 + ARPHRD_CHAOS = 0x5 + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_FC = 0x12 + ARPHRD_FRAME = 0xf + ARPHRD_HDLC = 0x11 + ARPHRD_IB = 0x20 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IPATM = 0x13 + ARPHRD_METRICOM = 0x17 + ARPHRD_TUNNEL = 0x1f + B0 = 0x0 + B110 = 0x3 + B115200 = 0x12 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B153600 = 0x13 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B230400 = 0x14 + B2400 = 0xb + B300 = 0x7 + B307200 = 0x15 + B38400 = 0xf + B460800 = 0x16 + B4800 = 0xc + B50 = 0x1 + B57600 = 0x10 + B600 = 0x8 + B75 = 0x2 + B76800 = 0x11 + B921600 = 0x17 + B9600 = 0xd + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = -0x3fefbd89 + BIOCGDLTLIST32 = -0x3ff7bd89 + BIOCGETIF = 0x4020426b + BIOCGETLIF = 0x4078426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGRTIMEOUT32 = 0x4008427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = -0x7ffbbd90 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = -0x3ffbbd9a + BIOCSDLT = -0x7ffbbd8a + BIOCSETF = -0x7fefbd99 + BIOCSETF32 = -0x7ff7bd99 + BIOCSETIF = -0x7fdfbd94 + BIOCSETLIF = -0x7f87bd94 + BIOCSHDRCMPLT = -0x7ffbbd8b + BIOCSRTIMEOUT = -0x7fefbd86 + BIOCSRTIMEOUT32 = -0x7ff7bd86 + BIOCSSEESENT = -0x7ffbbd87 + BIOCSTCPF = -0x7fefbd8e + BIOCSUDPF = -0x7fefbd8d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_HIGHRES = 0x4 + CLOCK_LEVEL = 0xa + CLOCK_MONOTONIC = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x5 + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x3 + CLOCK_THREAD_CPUTIME_ID = 0x2 + CLOCK_VIRTUAL = 0x1 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + CSWTCH = 0x1a + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_BACNET_MS_TP = 0xa5 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FRELAY = 0x6b + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xa2 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_PPPD = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EMPTY_SET = 0x0 + EMT_CPCOVF = 0x1 + EQUALITY_CHECK = 0x0 + EXTA = 0xe + EXTB = 0xf + FD_CLOEXEC = 0x1 + FD_NFDBITS = 0x40 + FD_SETSIZE = 0x10000 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHALL = 0x1 + FLUSHDATA = 0x0 + FLUSHO = 0x2000 + F_ALLOCSP = 0xa + F_ALLOCSP64 = 0xa + F_BADFD = 0x2e + F_BLKSIZE = 0x13 + F_BLOCKS = 0x12 + F_CHKFL = 0x8 + F_COMPAT = 0x8 + F_DUP2FD = 0x9 + F_DUP2FD_CLOEXEC = 0x24 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x25 + F_FLOCK = 0x35 + F_FLOCK64 = 0x35 + F_FLOCKW = 0x36 + F_FLOCKW64 = 0x36 + F_FREESP = 0xb + F_FREESP64 = 0xb + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETXFL = 0x2d + F_HASREMOTELOCKS = 0x1a + F_ISSTREAM = 0xd + F_MANDDNY = 0x10 + F_MDACC = 0x20 + F_NODNY = 0x0 + F_NPRIV = 0x10 + F_OFD_GETLK = 0x2f + F_OFD_GETLK64 = 0x2f + F_OFD_SETLK = 0x30 + F_OFD_SETLK64 = 0x30 + F_OFD_SETLKW = 0x31 + F_OFD_SETLKW64 = 0x31 + F_PRIV = 0xf + F_QUOTACTL = 0x11 + F_RDACC = 0x1 + F_RDDNY = 0x1 + F_RDLCK = 0x1 + F_REVOKE = 0x19 + F_RMACC = 0x4 + F_RMDNY = 0x4 + F_RWACC = 0x3 + F_RWDNY = 0x3 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLK64_NBMAND = 0x2a + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETLK_NBMAND = 0x2a + F_SETOWN = 0x18 + F_SHARE = 0x28 + F_SHARE_NBMAND = 0x2b + F_UNLCK = 0x3 + F_UNLKSYS = 0x4 + F_UNSHARE = 0x29 + F_WRACC = 0x2 + F_WRDNY = 0x2 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFF_ADDRCONF = 0x80000 + IFF_ALLMULTI = 0x200 + IFF_ANYCAST = 0x400000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x7f203003b5a + IFF_COS_ENABLED = 0x200000000 + IFF_DEBUG = 0x4 + IFF_DEPRECATED = 0x40000 + IFF_DHCPRUNNING = 0x4000 + IFF_DUPLICATE = 0x4000000000 + IFF_FAILED = 0x10000000 + IFF_FIXEDMTU = 0x1000000000 + IFF_INACTIVE = 0x40000000 + IFF_INTELLIGENT = 0x400 + IFF_IPMP = 0x8000000000 + IFF_IPMP_CANTCHANGE = 0x10000000 + IFF_IPMP_INVALID = 0x1ec200080 + IFF_IPV4 = 0x1000000 + IFF_IPV6 = 0x2000000 + IFF_L3PROTECT = 0x40000000000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x800 + IFF_MULTI_BCAST = 0x1000 + IFF_NOACCEPT = 0x4000000 + IFF_NOARP = 0x80 + IFF_NOFAILOVER = 0x8000000 + IFF_NOLINKLOCAL = 0x20000000000 + IFF_NOLOCAL = 0x20000 + IFF_NONUD = 0x200000 + IFF_NORTEXCH = 0x800000 + IFF_NOTRAILERS = 0x20 + IFF_NOXMIT = 0x10000 + IFF_OFFLINE = 0x80000000 + IFF_POINTOPOINT = 0x10 + IFF_PREFERRED = 0x400000000 + IFF_PRIVATE = 0x8000 + IFF_PROMISC = 0x100 + IFF_ROUTER = 0x100000 + IFF_RUNNING = 0x40 + IFF_STANDBY = 0x20000000 + IFF_TEMPORARY = 0x800000000 + IFF_UNNUMBERED = 0x2000 + IFF_UP = 0x1 + IFF_VIRTUAL = 0x2000000000 + IFF_VRRP = 0x10000000000 + IFF_XRESOLV = 0x100000000 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6TO4 = 0xca + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_IPV4 = 0xc8 + IFT_IPV6 = 0xc9 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_AUTOCONF_MASK = 0xffff0000 + IN_AUTOCONF_NET = 0xa9fe0000 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_CLASSE_NET = 0xffffffff + IN_LOOPBACKNET = 0x7f + IN_PRIVATE12_MASK = 0xfff00000 + IN_PRIVATE12_NET = 0xac100000 + IN_PRIVATE16_MASK = 0xffff0000 + IN_PRIVATE16_NET = 0xc0a80000 + IN_PRIVATE8_MASK = 0xff000000 + IN_PRIVATE8_NET = 0xa000000 + IPPROTO_AH = 0x33 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x4 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_HELLO = 0x3f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_ND = 0x4d + IPPROTO_NONE = 0x3b + IPPROTO_OSPF = 0x59 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_UDP = 0x11 + IPV6_ADD_MEMBERSHIP = 0x9 + IPV6_BOUND_IF = 0x41 + IPV6_CHECKSUM = 0x18 + IPV6_DONTFRAG = 0x21 + IPV6_DROP_MEMBERSHIP = 0xa + IPV6_DSTOPTS = 0xf + IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 + IPV6_FLOWINFO_TCLASS = 0xf00f + IPV6_HOPLIMIT = 0xc + IPV6_HOPOPTS = 0xe + IPV6_JOIN_GROUP = 0x9 + IPV6_LEAVE_GROUP = 0xa + IPV6_MULTICAST_HOPS = 0x7 + IPV6_MULTICAST_IF = 0x6 + IPV6_MULTICAST_LOOP = 0x8 + IPV6_NEXTHOP = 0xd + IPV6_PAD1_OPT = 0x0 + IPV6_PATHMTU = 0x25 + IPV6_PKTINFO = 0xb + IPV6_PREFER_SRC_CGA = 0x20 + IPV6_PREFER_SRC_CGADEFAULT = 0x10 + IPV6_PREFER_SRC_CGAMASK = 0x30 + IPV6_PREFER_SRC_COA = 0x2 + IPV6_PREFER_SRC_DEFAULT = 0x15 + IPV6_PREFER_SRC_HOME = 0x1 + IPV6_PREFER_SRC_MASK = 0x3f + IPV6_PREFER_SRC_MIPDEFAULT = 0x1 + IPV6_PREFER_SRC_MIPMASK = 0x3 + IPV6_PREFER_SRC_NONCGA = 0x10 + IPV6_PREFER_SRC_PUBLIC = 0x4 + IPV6_PREFER_SRC_TMP = 0x8 + IPV6_PREFER_SRC_TMPDEFAULT = 0x4 + IPV6_PREFER_SRC_TMPMASK = 0xc + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x13 + IPV6_RECVHOPOPTS = 0x14 + IPV6_RECVPATHMTU = 0x24 + IPV6_RECVPKTINFO = 0x12 + IPV6_RECVRTHDR = 0x16 + IPV6_RECVRTHDRDSTOPTS = 0x17 + IPV6_RECVTCLASS = 0x19 + IPV6_RTHDR = 0x10 + IPV6_RTHDRDSTOPTS = 0x11 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SEC_OPT = 0x22 + IPV6_SRC_PREFERENCES = 0x23 + IPV6_TCLASS = 0x26 + IPV6_UNICAST_HOPS = 0x5 + IPV6_UNSPEC_SRC = 0x42 + IPV6_USE_MIN_MTU = 0x20 + IPV6_V6ONLY = 0x27 + IP_ADD_MEMBERSHIP = 0x13 + IP_ADD_SOURCE_MEMBERSHIP = 0x17 + IP_BLOCK_SOURCE = 0x15 + IP_BOUND_IF = 0x41 + IP_BROADCAST = 0x106 + IP_BROADCAST_TTL = 0x43 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPINIT_IF = 0x45 + IP_DONTFRAG = 0x1b + IP_DONTROUTE = 0x105 + IP_DROP_MEMBERSHIP = 0x14 + IP_DROP_SOURCE_MEMBERSHIP = 0x18 + IP_HDRINCL = 0x2 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x10 + IP_MULTICAST_LOOP = 0x12 + IP_MULTICAST_TTL = 0x11 + IP_NEXTHOP = 0x19 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x9 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVSLLA = 0xa + IP_RECVTTL = 0xb + IP_RETOPTS = 0x8 + IP_REUSEADDR = 0x104 + IP_SEC_OPT = 0x22 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x16 + IP_UNSPEC_SRC = 0x42 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_ACCESS_DEFAULT = 0x6 + MADV_ACCESS_LWP = 0x7 + MADV_ACCESS_MANY = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NORMAL = 0x0 + MADV_PURGE = 0x9 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80 + MAP_ALIGN = 0x200 + MAP_ANON = 0x100 + MAP_ANONYMOUS = 0x100 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_INITDATA = 0x800 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TEXT = 0x400 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CTRUNC = 0x10 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_DUPCTRL = 0x800 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 0x10 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x20 + MSG_WAITALL = 0x40 + MSG_XPG4_2 = 0x8000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_OLDSYNC = 0x0 + MS_SYNC = 0x4 + M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 + NL0 = 0x0 + NL1 = 0x100 + NLDLY = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENFAIL = -0x1 + OPOST = 0x1 + O_ACCMODE = 0x600003 + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DSYNC = 0x40 + O_EXCL = 0x400 + O_EXEC = 0x400000 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x4 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NOLINKS = 0x40000 + O_NONBLOCK = 0x80 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x8000 + O_SEARCH = 0x200000 + O_SIOCGIFCONF = -0x3ff796ec + O_SIOCGLIFCONF = -0x3fef9688 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + O_XATTR = 0x4000 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x3 + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_NUMBITS = 0x9 + RTA_SRC = 0x100 + RTF_BLACKHOLE = 0x1000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INDIRECT = 0x40000 + RTF_KERNEL = 0x80000 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTIRT = 0x10000 + RTF_PRIVATE = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SETSRC = 0x20000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTF_ZONE = 0x100000 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0xf + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_FREEADDR = 0x10 + RTM_GET = 0x4 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_VERSION = 0x3 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_AWARE = 0x1 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_RIGHTS = 0x1010 + SCM_TIMESTAMP = 0x1013 + SCM_UCRED = 0x1012 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIG2STR_MAX = 0x20 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDRT = -0x7fcf8df6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fdb96e0 + SIOCDELMULTI = -0x7fdf96ce + SIOCDELRT = -0x7fcf8df5 + SIOCDXARP = -0x7fff9658 + SIOCGARP = -0x3fdb96e1 + SIOCGDSTINFO = -0x3fff965c + SIOCGENADDR = -0x3fdf96ab + SIOCGENPSTATS = -0x3fdf96c7 + SIOCGETLSGCNT = -0x3fef8deb + SIOCGETNAME = 0x40107334 + SIOCGETPEER = 0x40107335 + SIOCGETPROP = -0x3fff8f44 + SIOCGETSGCNT = -0x3feb8deb + SIOCGETSYNC = -0x3fdf96d3 + SIOCGETVIFCNT = -0x3feb8dec + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fdf96f3 + SIOCGIFBRDADDR = -0x3fdf96e9 + SIOCGIFCONF = -0x3ff796a4 + SIOCGIFDSTADDR = -0x3fdf96f1 + SIOCGIFFLAGS = -0x3fdf96ef + SIOCGIFHWADDR = -0x3fdf9647 + SIOCGIFINDEX = -0x3fdf96a6 + SIOCGIFMEM = -0x3fdf96ed + SIOCGIFMETRIC = -0x3fdf96e5 + SIOCGIFMTU = -0x3fdf96ea + SIOCGIFMUXID = -0x3fdf96a8 + SIOCGIFNETMASK = -0x3fdf96e7 + SIOCGIFNUM = 0x40046957 + SIOCGIP6ADDRPOLICY = -0x3fff965e + SIOCGIPMSFILTER = -0x3ffb964c + SIOCGLIFADDR = -0x3f87968f + SIOCGLIFBINDING = -0x3f879666 + SIOCGLIFBRDADDR = -0x3f879685 + SIOCGLIFCONF = -0x3fef965b + SIOCGLIFDADSTATE = -0x3f879642 + SIOCGLIFDSTADDR = -0x3f87968d + SIOCGLIFFLAGS = -0x3f87968b + SIOCGLIFGROUPINFO = -0x3f4b9663 + SIOCGLIFGROUPNAME = -0x3f879664 + SIOCGLIFHWADDR = -0x3f879640 + SIOCGLIFINDEX = -0x3f87967b + SIOCGLIFLNKINFO = -0x3f879674 + SIOCGLIFMETRIC = -0x3f879681 + SIOCGLIFMTU = -0x3f879686 + SIOCGLIFMUXID = -0x3f87967d + SIOCGLIFNETMASK = -0x3f879683 + SIOCGLIFNUM = -0x3ff3967e + SIOCGLIFSRCOF = -0x3fef964f + SIOCGLIFSUBNET = -0x3f879676 + SIOCGLIFTOKEN = -0x3f879678 + SIOCGLIFUSESRC = -0x3f879651 + SIOCGLIFZONE = -0x3f879656 + SIOCGLOWAT = 0x40047303 + SIOCGMSFILTER = -0x3ffb964e + SIOCGPGRP = 0x40047309 + SIOCGSTAMP = -0x3fef9646 + SIOCGXARP = -0x3fff9659 + SIOCIFDETACH = -0x7fdf96c8 + SIOCILB = -0x3ffb9645 + SIOCLIFADDIF = -0x3f879691 + SIOCLIFDELND = -0x7f879673 + SIOCLIFGETND = -0x3f879672 + SIOCLIFREMOVEIF = -0x7f879692 + SIOCLIFSETND = -0x7f879671 + SIOCLOWER = -0x7fdf96d7 + SIOCSARP = -0x7fdb96e2 + SIOCSCTPGOPT = -0x3fef9653 + SIOCSCTPPEELOFF = -0x3ffb9652 + SIOCSCTPSOPT = -0x7fef9654 + SIOCSENABLESDP = -0x3ffb9649 + SIOCSETPROP = -0x7ffb8f43 + SIOCSETSYNC = -0x7fdf96d4 + SIOCSHIWAT = -0x7ffb8d00 + SIOCSIFADDR = -0x7fdf96f4 + SIOCSIFBRDADDR = -0x7fdf96e8 + SIOCSIFDSTADDR = -0x7fdf96f2 + SIOCSIFFLAGS = -0x7fdf96f0 + SIOCSIFINDEX = -0x7fdf96a5 + SIOCSIFMEM = -0x7fdf96ee + SIOCSIFMETRIC = -0x7fdf96e4 + SIOCSIFMTU = -0x7fdf96eb + SIOCSIFMUXID = -0x7fdf96a7 + SIOCSIFNAME = -0x7fdf96b7 + SIOCSIFNETMASK = -0x7fdf96e6 + SIOCSIP6ADDRPOLICY = -0x7fff965d + SIOCSIPMSFILTER = -0x7ffb964b + SIOCSLGETREQ = -0x3fdf96b9 + SIOCSLIFADDR = -0x7f879690 + SIOCSLIFBRDADDR = -0x7f879684 + SIOCSLIFDSTADDR = -0x7f87968e + SIOCSLIFFLAGS = -0x7f87968c + SIOCSLIFGROUPNAME = -0x7f879665 + SIOCSLIFINDEX = -0x7f87967a + SIOCSLIFLNKINFO = -0x7f879675 + SIOCSLIFMETRIC = -0x7f879680 + SIOCSLIFMTU = -0x7f879687 + SIOCSLIFMUXID = -0x7f87967c + SIOCSLIFNAME = -0x3f87967f + SIOCSLIFNETMASK = -0x7f879682 + SIOCSLIFPREFIX = -0x3f879641 + SIOCSLIFSUBNET = -0x7f879677 + SIOCSLIFTOKEN = -0x7f879679 + SIOCSLIFUSESRC = -0x7f879650 + SIOCSLIFZONE = -0x7f879655 + SIOCSLOWAT = -0x7ffb8cfe + SIOCSLSTAT = -0x7fdf96b8 + SIOCSMSFILTER = -0x7ffb964d + SIOCSPGRP = -0x7ffb8cf8 + SIOCSPROMISC = -0x7ffb96d0 + SIOCSQPTR = -0x3ffb9648 + SIOCSSDSTATS = -0x3fdf96d2 + SIOCSSESTATS = -0x3fdf96d1 + SIOCSXARP = -0x7fff965a + SIOCTMYADDR = -0x3ff79670 + SIOCTMYSITE = -0x3ff7966e + SIOCTONLINK = -0x3ff7966f + SIOCUPPER = -0x7fdf96d8 + SIOCX25RCV = -0x3fdf96c4 + SIOCX25TBL = -0x3fdf96c3 + SIOCX25XMT = -0x3fdf96c5 + SIOCXPROTO = 0x20007337 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NDELAY = 0x200000 + SOCK_NONBLOCK = 0x100000 + SOCK_RAW = 0x4 + SOCK_RDM = 0x5 + SOCK_SEQPACKET = 0x6 + SOCK_STREAM = 0x2 + SOCK_TYPE_MASK = 0xffff + SOL_FILTER = 0xfffc + SOL_PACKET = 0xfffd + SOL_ROUTE = 0xfffe + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ALL = 0x3f + SO_ALLZONES = 0x1014 + SO_ANON_MLP = 0x100a + SO_ATTACH_FILTER = 0x40000001 + SO_BAND = 0x4000 + SO_BROADCAST = 0x20 + SO_COPYOPT = 0x80000 + SO_DEBUG = 0x1 + SO_DELIM = 0x8000 + SO_DETACH_FILTER = 0x40000002 + SO_DGRAM_ERRIND = 0x200 + SO_DOMAIN = 0x100c + SO_DONTLINGER = -0x81 + SO_DONTROUTE = 0x10 + SO_ERROPT = 0x40000 + SO_ERROR = 0x1007 + SO_EXCLBIND = 0x1015 + SO_HIWAT = 0x10 + SO_ISNTTY = 0x800 + SO_ISTTY = 0x400 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOWAT = 0x20 + SO_MAC_EXEMPT = 0x100b + SO_MAC_IMPLICIT = 0x1016 + SO_MAXBLK = 0x100000 + SO_MAXPSZ = 0x8 + SO_MINPSZ = 0x4 + SO_MREADOFF = 0x80 + SO_MREADON = 0x40 + SO_NDELOFF = 0x200 + SO_NDELON = 0x100 + SO_NODELIM = 0x10000 + SO_OOBINLINE = 0x100 + SO_PROTOTYPE = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVPSH = 0x100d + SO_RCVTIMEO = 0x1006 + SO_READOPT = 0x1 + SO_RECVUCRED = 0x400 + SO_REUSEADDR = 0x4 + SO_SECATTR = 0x1011 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STRHOLD = 0x20000 + SO_TAIL = 0x200000 + SO_TIMESTAMP = 0x1013 + SO_TONSTOP = 0x2000 + SO_TOSTOP = 0x1000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_VRRP = 0x1017 + SO_WROFF = 0x2 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 + TCP_CONN_ABORT_THRESHOLD = 0x13 + TCP_CONN_NOTIFY_THRESHOLD = 0x12 + TCP_CORK = 0x18 + TCP_EXCLBIND = 0x21 + TCP_INIT_CWND = 0x15 + TCP_KEEPALIVE = 0x8 + TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 + TCP_KEEPALIVE_THRESHOLD = 0x16 + TCP_KEEPCNT = 0x23 + TCP_KEEPIDLE = 0x22 + TCP_KEEPINTVL = 0x24 + TCP_LINGER2 = 0x1c + TCP_MAXSEG = 0x2 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOTIFY_THRESHOLD = 0x10 + TCP_RECVDSTADDR = 0x14 + TCP_RTO_INITIAL = 0x19 + TCP_RTO_MAX = 0x1b + TCP_RTO_MIN = 0x1a + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETSF = 0x5410 + TCSETSW = 0x540f + TCXONC = 0x5406 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 + TIOCCILOOP = 0x746c + TIOCEXCL = 0x740d + TIOCFLUSH = 0x7410 + TIOCGETC = 0x7412 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x7414 + TIOCGPPS = 0x547d + TIOCGPPSEV = 0x547f + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5469 + TIOCGWINSZ = 0x5468 + TIOCHPCL = 0x7402 + TIOCKBOF = 0x5409 + TIOCKBON = 0x5408 + TIOCLBIC = 0x747e + TIOCLBIS = 0x747f + TIOCLGET = 0x747c + TIOCLSET = 0x747d + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMSET = 0x741a + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x7471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7473 + TIOCREMOTE = 0x741e + TIOCSBRK = 0x747b + TIOCSCTTY = 0x7484 + TIOCSDTR = 0x7479 + TIOCSETC = 0x7411 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIGNAL = 0x741f + TIOCSILOOP = 0x746d + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x7415 + TIOCSPPS = 0x547e + TIOCSSOFTCAR = 0x546a + TIOCSTART = 0x746e + TIOCSTI = 0x7417 + TIOCSTOP = 0x746f + TIOCSWINSZ = 0x5467 + TOSTOP = 0x100 + VCEOF = 0x8 + VCEOL = 0x9 + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VERASE2 = 0x11 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTATUS = 0x10 + VSTOP = 0x9 + VSUSP = 0xa + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WCONTFLG = 0xffff + WCONTINUED = 0x8 + WCOREFLG = 0x80 + WEXITED = 0x1 + WNOHANG = 0x40 + WNOWAIT = 0x80 + WOPTMASK = 0xcf + WRAP = 0x20000 + WSIGMASK = 0x7f + WSTOPFLG = 0x7f + WSTOPPED = 0x4 + WTRAPPED = 0x2 + WUNTRACED = 0x4 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x39) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x2f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x31) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOCKUNMAPPED = syscall.Errno(0x48) + ELOOP = syscall.Errno(0x5a) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTACTIVE = syscall.Errno(0x49) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTRECOVERABLE = syscall.Errno(0x3b) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x30) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0x3a) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMOTE = syscall.Errno(0x42) + ERESTART = syscall.Errno(0x5b) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCANCEL = syscall.Signal(0x24) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGFREEZE = syscall.Signal(0x22) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x29) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGJVM1 = syscall.Signal(0x27) + SIGJVM2 = syscall.Signal(0x28) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x25) + SIGLWP = syscall.Signal(0x21) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHAW = syscall.Signal(0x23) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWAITING = syscall.Signal(0x20) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) + SIGXRES = syscall.Signal(0x26) +) + +// Error table +var errors = [...]string{ + 1: "not owner", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "I/O error", + 6: "no such device or address", + 7: "arg list too long", + 8: "exec format error", + 9: "bad file number", + 10: "no child processes", + 11: "resource temporarily unavailable", + 12: "not enough space", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "no such device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "file table overflow", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "argument out of domain", + 34: "result too large", + 35: "no message of desired type", + 36: "identifier removed", + 37: "channel number out of range", + 38: "level 2 not synchronized", + 39: "level 3 halted", + 40: "level 3 reset", + 41: "link number out of range", + 42: "protocol driver not attached", + 43: "no CSI structure available", + 44: "level 2 halted", + 45: "deadlock situation detected/avoided", + 46: "no record locks available", + 47: "operation canceled", + 48: "operation not supported", + 49: "disc quota exceeded", + 50: "bad exchange descriptor", + 51: "bad request descriptor", + 52: "message tables full", + 53: "anode table overflow", + 54: "bad request code", + 55: "invalid slot", + 56: "file locking deadlock", + 57: "bad font file format", + 58: "owner of the lock died", + 59: "lock is not recoverable", + 60: "not a stream device", + 61: "no data available", + 62: "timer expired", + 63: "out of stream resources", + 64: "machine is not on the network", + 65: "package not installed", + 66: "object is remote", + 67: "link has been severed", + 68: "advertise error", + 69: "srmount error", + 70: "communication error on send", + 71: "protocol error", + 72: "locked lock was unmapped ", + 73: "facility is not active", + 74: "multihop attempted", + 77: "not a data message", + 78: "file name too long", + 79: "value too large for defined data type", + 80: "name not unique on network", + 81: "file descriptor in bad state", + 82: "remote address changed", + 83: "can not access a needed shared library", + 84: "accessing a corrupted shared library", + 85: ".lib section in a.out corrupted", + 86: "attempting to link in more shared libraries than system limit", + 87: "can not exec a shared library directly", + 88: "illegal byte sequence", + 89: "operation not applicable", + 90: "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS", + 91: "error 91", + 92: "error 92", + 93: "directory not empty", + 94: "too many users", + 95: "socket operation on non-socket", + 96: "destination address required", + 97: "message too long", + 98: "protocol wrong type for socket", + 99: "option not supported by protocol", + 120: "protocol not supported", + 121: "socket type not supported", + 122: "operation not supported on transport endpoint", + 123: "protocol family not supported", + 124: "address family not supported by protocol family", + 125: "address already in use", + 126: "cannot assign requested address", + 127: "network is down", + 128: "network is unreachable", + 129: "network dropped connection because of reset", + 130: "software caused connection abort", + 131: "connection reset by peer", + 132: "no buffer space available", + 133: "transport endpoint is already connected", + 134: "transport endpoint is not connected", + 143: "cannot send after socket shutdown", + 144: "too many references: cannot splice", + 145: "connection timed out", + 146: "connection refused", + 147: "host is down", + 148: "no route to host", + 149: "operation already in progress", + 150: "operation now in progress", + 151: "stale NFS file handle", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal Instruction", + 5: "trace/Breakpoint Trap", + 6: "abort", + 7: "emulation Trap", + 8: "arithmetic Exception", + 9: "killed", + 10: "bus Error", + 11: "segmentation Fault", + 12: "bad System Call", + 13: "broken Pipe", + 14: "alarm Clock", + 15: "terminated", + 16: "user Signal 1", + 17: "user Signal 2", + 18: "child Status Changed", + 19: "power-Fail/Restart", + 20: "window Size Change", + 21: "urgent Socket Condition", + 22: "pollable Event", + 23: "stopped (signal)", + 24: "stopped (user)", + 25: "continued", + 26: "stopped (tty input)", + 27: "stopped (tty output)", + 28: "virtual Timer Expired", + 29: "profiling Timer Expired", + 30: "cpu Limit Exceeded", + 31: "file Size Limit Exceeded", + 32: "no runnable lwp", + 33: "inter-lwp signal", + 34: "checkpoint Freeze", + 35: "checkpoint Thaw", + 36: "thread Cancellation", + 37: "resource Lost", + 38: "resource Control Exceeded", + 39: "reserved for JVM 1", + 40: "reserved for JVM 2", + 41: "information Request", +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go new file mode 100644 index 000000000000..10491e9ed32d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -0,0 +1,1609 @@ +// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go new file mode 100644 index 000000000000..5f1f6bfef717 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -0,0 +1,1609 @@ +// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go new file mode 100644 index 000000000000..7a40974594f7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go @@ -0,0 +1,1609 @@ +// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go new file mode 100644 index 000000000000..07c6ebc9f4c9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -0,0 +1,1609 @@ +// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go new file mode 100644 index 000000000000..7fa205cd03b1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -0,0 +1,1440 @@ +// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build dragonfly,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go new file mode 100644 index 000000000000..1a0bb4cb0e2f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -0,0 +1,1877 @@ +// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go new file mode 100644 index 000000000000..ac1e8e013645 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -0,0 +1,1877 @@ +// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go new file mode 100644 index 000000000000..2b4e6acf042e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -0,0 +1,1877 @@ +// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go new file mode 100644 index 000000000000..000a46833f1b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -0,0 +1,1953 @@ +// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go new file mode 100644 index 000000000000..712dffde4eaf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -0,0 +1,2146 @@ +// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go new file mode 100644 index 000000000000..338796d909df --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -0,0 +1,2055 @@ +// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go new file mode 100644 index 000000000000..fc3006d97ca2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -0,0 +1,2029 @@ +// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go new file mode 100644 index 000000000000..4b0ef20762fa --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -0,0 +1,2111 @@ +// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r0)<<32 | int64(r1)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(int64(r0)<<32 | int64(r1)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go new file mode 100644 index 000000000000..31eb98c7d9d7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -0,0 +1,2105 @@ +// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go new file mode 100644 index 000000000000..875ffa33f593 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -0,0 +1,2105 @@ +// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go new file mode 100644 index 000000000000..6863e81aa6e9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -0,0 +1,2111 @@ +// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go new file mode 100644 index 000000000000..2a32c6b4145a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -0,0 +1,2157 @@ +// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go new file mode 100644 index 000000000000..8172d35587f4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -0,0 +1,2157 @@ +// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go new file mode 100644 index 000000000000..49021966f08e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -0,0 +1,1937 @@ +// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,s390x + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go new file mode 100644 index 000000000000..2dd98434ead5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -0,0 +1,1833 @@ +// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,sparc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + Syscall(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go new file mode 100644 index 000000000000..db99fd0c992d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -0,0 +1,1346 @@ +// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go new file mode 100644 index 000000000000..7b6c2c87e6ed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -0,0 +1,1346 @@ +// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go new file mode 100644 index 000000000000..0f4cc3b5284b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -0,0 +1,1346 @@ +// mksyscall.pl -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new file mode 100644 index 000000000000..7baea87c7b0d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -0,0 +1,1404 @@ +// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go new file mode 100644 index 000000000000..0d69ce6b5217 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -0,0 +1,1404 @@ +// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new file mode 100644 index 000000000000..41572c26e419 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1404 @@ +// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go new file mode 100644 index 000000000000..98b266550062 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -0,0 +1,1630 @@ +// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build solaris,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_pipe pipe "libc.so" +//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" +//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" +//go:cgo_import_dynamic libc_utimes utimes "libc.so" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" +//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" +//go:cgo_import_dynamic libc_accept accept "libsocket.so" +//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +//go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" +//go:cgo_import_dynamic libc_access access "libc.so" +//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" +//go:cgo_import_dynamic libc_chdir chdir "libc.so" +//go:cgo_import_dynamic libc_chmod chmod "libc.so" +//go:cgo_import_dynamic libc_chown chown "libc.so" +//go:cgo_import_dynamic libc_chroot chroot "libc.so" +//go:cgo_import_dynamic libc_close close "libc.so" +//go:cgo_import_dynamic libc_creat creat "libc.so" +//go:cgo_import_dynamic libc_dup dup "libc.so" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" +//go:cgo_import_dynamic libc_exit exit "libc.so" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" +//go:cgo_import_dynamic libc_fchown fchown "libc.so" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" +//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" +//go:cgo_import_dynamic libc_fstat fstat "libc.so" +//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" +//go:cgo_import_dynamic libc_getdents getdents "libc.so" +//go:cgo_import_dynamic libc_getgid getgid "libc.so" +//go:cgo_import_dynamic libc_getpid getpid "libc.so" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" +//go:cgo_import_dynamic libc_getegid getegid "libc.so" +//go:cgo_import_dynamic libc_getppid getppid "libc.so" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" +//go:cgo_import_dynamic libc_getuid getuid "libc.so" +//go:cgo_import_dynamic libc_kill kill "libc.so" +//go:cgo_import_dynamic libc_lchown lchown "libc.so" +//go:cgo_import_dynamic libc_link link "libc.so" +//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc_lstat lstat "libc.so" +//go:cgo_import_dynamic libc_madvise madvise "libc.so" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" +//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" +//go:cgo_import_dynamic libc_mknod mknod "libc.so" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" +//go:cgo_import_dynamic libc_mlock mlock "libc.so" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" +//go:cgo_import_dynamic libc_munlock munlock "libc.so" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" +//go:cgo_import_dynamic libc_open open "libc.so" +//go:cgo_import_dynamic libc_openat openat "libc.so" +//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" +//go:cgo_import_dynamic libc_pause pause "libc.so" +//go:cgo_import_dynamic libc_pread pread "libc.so" +//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" +//go:cgo_import_dynamic libc_read read "libc.so" +//go:cgo_import_dynamic libc_readlink readlink "libc.so" +//go:cgo_import_dynamic libc_rename rename "libc.so" +//go:cgo_import_dynamic libc_renameat renameat "libc.so" +//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" +//go:cgo_import_dynamic libc_lseek lseek "libc.so" +//go:cgo_import_dynamic libc_setegid setegid "libc.so" +//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" +//go:cgo_import_dynamic libc_setgid setgid "libc.so" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" +//go:cgo_import_dynamic libc_setregid setregid "libc.so" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" +//go:cgo_import_dynamic libc_setsid setsid "libc.so" +//go:cgo_import_dynamic libc_setuid setuid "libc.so" +//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" +//go:cgo_import_dynamic libc_stat stat "libc.so" +//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" +//go:cgo_import_dynamic libc_symlink symlink "libc.so" +//go:cgo_import_dynamic libc_sync sync "libc.so" +//go:cgo_import_dynamic libc_times times "libc.so" +//go:cgo_import_dynamic libc_truncate truncate "libc.so" +//go:cgo_import_dynamic libc_fsync fsync "libc.so" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" +//go:cgo_import_dynamic libc_umask umask "libc.so" +//go:cgo_import_dynamic libc_uname uname "libc.so" +//go:cgo_import_dynamic libc_umount umount "libc.so" +//go:cgo_import_dynamic libc_unlink unlink "libc.so" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" +//go:cgo_import_dynamic libc_ustat ustat "libc.so" +//go:cgo_import_dynamic libc_utime utime "libc.so" +//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" +//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" +//go:cgo_import_dynamic libc_mmap mmap "libc.so" +//go:cgo_import_dynamic libc_munmap munmap "libc.so" +//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" +//go:cgo_import_dynamic libc_write write "libc.so" +//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" + +//go:linkname procpipe libc_pipe +//go:linkname procgetsockname libc_getsockname +//go:linkname procGetcwd libc_getcwd +//go:linkname procgetgroups libc_getgroups +//go:linkname procsetgroups libc_setgroups +//go:linkname procwait4 libc_wait4 +//go:linkname procgethostname libc_gethostname +//go:linkname procutimes libc_utimes +//go:linkname procutimensat libc_utimensat +//go:linkname procfcntl libc_fcntl +//go:linkname procfutimesat libc_futimesat +//go:linkname procaccept libc_accept +//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg +//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg +//go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor +//go:linkname procioctl libc_ioctl +//go:linkname procAccess libc_access +//go:linkname procAdjtime libc_adjtime +//go:linkname procChdir libc_chdir +//go:linkname procChmod libc_chmod +//go:linkname procChown libc_chown +//go:linkname procChroot libc_chroot +//go:linkname procClose libc_close +//go:linkname procCreat libc_creat +//go:linkname procDup libc_dup +//go:linkname procDup2 libc_dup2 +//go:linkname procExit libc_exit +//go:linkname procFchdir libc_fchdir +//go:linkname procFchmod libc_fchmod +//go:linkname procFchmodat libc_fchmodat +//go:linkname procFchown libc_fchown +//go:linkname procFchownat libc_fchownat +//go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock +//go:linkname procFpathconf libc_fpathconf +//go:linkname procFstat libc_fstat +//go:linkname procFstatvfs libc_fstatvfs +//go:linkname procGetdents libc_getdents +//go:linkname procGetgid libc_getgid +//go:linkname procGetpid libc_getpid +//go:linkname procGetpgid libc_getpgid +//go:linkname procGetpgrp libc_getpgrp +//go:linkname procGeteuid libc_geteuid +//go:linkname procGetegid libc_getegid +//go:linkname procGetppid libc_getppid +//go:linkname procGetpriority libc_getpriority +//go:linkname procGetrlimit libc_getrlimit +//go:linkname procGetrusage libc_getrusage +//go:linkname procGettimeofday libc_gettimeofday +//go:linkname procGetuid libc_getuid +//go:linkname procKill libc_kill +//go:linkname procLchown libc_lchown +//go:linkname procLink libc_link +//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname procLstat libc_lstat +//go:linkname procMadvise libc_madvise +//go:linkname procMkdir libc_mkdir +//go:linkname procMkdirat libc_mkdirat +//go:linkname procMkfifo libc_mkfifo +//go:linkname procMkfifoat libc_mkfifoat +//go:linkname procMknod libc_mknod +//go:linkname procMknodat libc_mknodat +//go:linkname procMlock libc_mlock +//go:linkname procMlockall libc_mlockall +//go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync +//go:linkname procMunlock libc_munlock +//go:linkname procMunlockall libc_munlockall +//go:linkname procNanosleep libc_nanosleep +//go:linkname procOpen libc_open +//go:linkname procOpenat libc_openat +//go:linkname procPathconf libc_pathconf +//go:linkname procPause libc_pause +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite +//go:linkname procread libc_read +//go:linkname procReadlink libc_readlink +//go:linkname procRename libc_rename +//go:linkname procRenameat libc_renameat +//go:linkname procRmdir libc_rmdir +//go:linkname proclseek libc_lseek +//go:linkname procSetegid libc_setegid +//go:linkname procSeteuid libc_seteuid +//go:linkname procSetgid libc_setgid +//go:linkname procSethostname libc_sethostname +//go:linkname procSetpgid libc_setpgid +//go:linkname procSetpriority libc_setpriority +//go:linkname procSetregid libc_setregid +//go:linkname procSetreuid libc_setreuid +//go:linkname procSetrlimit libc_setrlimit +//go:linkname procSetsid libc_setsid +//go:linkname procSetuid libc_setuid +//go:linkname procshutdown libc_shutdown +//go:linkname procStat libc_stat +//go:linkname procStatvfs libc_statvfs +//go:linkname procSymlink libc_symlink +//go:linkname procSync libc_sync +//go:linkname procTimes libc_times +//go:linkname procTruncate libc_truncate +//go:linkname procFsync libc_fsync +//go:linkname procFtruncate libc_ftruncate +//go:linkname procUmask libc_umask +//go:linkname procUname libc_uname +//go:linkname procumount libc_umount +//go:linkname procUnlink libc_unlink +//go:linkname procUnlinkat libc_unlinkat +//go:linkname procUstat libc_ustat +//go:linkname procUtime libc_utime +//go:linkname proc__xnet_bind libc___xnet_bind +//go:linkname proc__xnet_connect libc___xnet_connect +//go:linkname procmmap libc_mmap +//go:linkname procmunmap libc_munmap +//go:linkname proc__xnet_sendto libc___xnet_sendto +//go:linkname proc__xnet_socket libc___xnet_socket +//go:linkname proc__xnet_socketpair libc___xnet_socketpair +//go:linkname procwrite libc_write +//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt +//go:linkname procgetpeername libc_getpeername +//go:linkname procsetsockopt libc_setsockopt +//go:linkname procrecvfrom libc_recvfrom + +var ( + procpipe, + procgetsockname, + procGetcwd, + procgetgroups, + procsetgroups, + procwait4, + procgethostname, + procutimes, + procutimensat, + procfcntl, + procfutimesat, + procaccept, + proc__xnet_recvmsg, + proc__xnet_sendmsg, + procacct, + proc__makedev, + proc__major, + proc__minor, + procioctl, + procAccess, + procAdjtime, + procChdir, + procChmod, + procChown, + procChroot, + procClose, + procCreat, + procDup, + procDup2, + procExit, + procFchdir, + procFchmod, + procFchmodat, + procFchown, + procFchownat, + procFdatasync, + procFlock, + procFpathconf, + procFstat, + procFstatvfs, + procGetdents, + procGetgid, + procGetpid, + procGetpgid, + procGetpgrp, + procGeteuid, + procGetegid, + procGetppid, + procGetpriority, + procGetrlimit, + procGetrusage, + procGettimeofday, + procGetuid, + procKill, + procLchown, + procLink, + proc__xnet_llisten, + procLstat, + procMadvise, + procMkdir, + procMkdirat, + procMkfifo, + procMkfifoat, + procMknod, + procMknodat, + procMlock, + procMlockall, + procMprotect, + procMsync, + procMunlock, + procMunlockall, + procNanosleep, + procOpen, + procOpenat, + procPathconf, + procPause, + procPread, + procPwrite, + procread, + procReadlink, + procRename, + procRenameat, + procRmdir, + proclseek, + procSetegid, + procSeteuid, + procSetgid, + procSethostname, + procSetpgid, + procSetpriority, + procSetregid, + procSetreuid, + procSetrlimit, + procSetsid, + procSetuid, + procshutdown, + procStat, + procStatvfs, + procSymlink, + procSync, + procTimes, + procTruncate, + procFsync, + procFtruncate, + procUmask, + procUname, + procumount, + procUnlink, + procUnlinkat, + procUstat, + procUtime, + proc__xnet_bind, + proc__xnet_connect, + procmmap, + procmunmap, + proc__xnet_sendto, + proc__xnet_socket, + proc__xnet_socketpair, + procwrite, + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, + procrecvfrom syscallFunc +) + +func pipe(p *[2]_C_int) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Getcwd(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int32(r0) + if e1 != 0 { + err = e1 + } + return +} + +func gethostname(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func acct(path *byte) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Close(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) + nfd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Exit(code int) { + sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +func Fchdir(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fdatasync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Getgid() (gid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) + gid = int(r0) + return +} + +func Getpid() (pid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + return +} + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Getpgrp() (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Geteuid() (euid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) + euid = int(r0) + return +} + +func Getegid() (egid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) + egid = int(r0) + return +} + +func Getppid() (ppid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) + ppid = int(r0) + return +} + +func Getpriority(which int, who int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Getuid() (uid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) + uid = int(r0) + return +} + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Listen(s int, backlog int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mlockall(flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Munlockall() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Pause() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Setegid(egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Seteuid(euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setgid(gid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Setsid() (pid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Setuid(uid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Shutdown(s int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Statvfs(path string, vfsstat *Statvfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Sync() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Fsync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Umask(mask int) (oldmask int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + oldmask = int(r0) + return +} + +func Uname(buf *Utsname) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = e1 + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = e1 + } + return +} + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = e1 + } + return +} + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go new file mode 100644 index 000000000000..83bb935b91c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go @@ -0,0 +1,270 @@ +// mksysctl_openbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go new file mode 100644 index 000000000000..2786773ba376 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go @@ -0,0 +1,398 @@ +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build 386,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_CHUD = 185 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_STACK_SNAPSHOT = 365 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS___MAC_GET_LCID = 391 + SYS___MAC_GET_LCTX = 392 + SYS___MAC_SET_LCTX = 393 + SYS_SETLCID = 394 + SYS_GETLCID = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAME_EXT = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_MAXSYSCALL = 490 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go new file mode 100644 index 000000000000..09de240c8f82 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -0,0 +1,398 @@ +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build amd64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_CHUD = 185 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_STACK_SNAPSHOT = 365 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS___MAC_GET_LCID = 391 + SYS___MAC_GET_LCTX = 392 + SYS___MAC_SET_LCTX = 393 + SYS_SETLCID = 394 + SYS_GETLCID = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAME_EXT = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_MAXSYSCALL = 490 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go new file mode 100644 index 000000000000..41cb6ed39944 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go @@ -0,0 +1,426 @@ +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_MAXSYSCALL = 522 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go new file mode 100644 index 000000000000..075816c3488e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -0,0 +1,426 @@ +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_MAXSYSCALL = 522 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go new file mode 100644 index 000000000000..b2c9ef81b819 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go @@ -0,0 +1,315 @@ +// mksysnum_dragonfly.pl +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, \ + SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } + SYS_ACCESS = 33 // { int access(char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { pid_t vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } + SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } + SYS_UNAME = 164 // { int uname(struct utsname *name); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, \ + SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, \ + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \ + // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, \ + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, \ + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ + SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \ + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \ + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \ + SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \ + SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \ + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \ + SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\ + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, \ + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,\ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,\ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, \ + SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } + SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } + SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } + SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } + SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } + SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } + SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } + SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } + SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } + SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } + SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_CLOSEFROM = 474 // { int closefrom(int fd); } + SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } + SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, \ + SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } + SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, \ + SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } + SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } + SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } + SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } + SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, \ + SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \ + SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, \ + SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, \ + SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, \ + SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \ + SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } + SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } + SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } + SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } + SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } + SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } + SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } + SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } + SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, \ + SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } + SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, \ + SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, \ + SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, \ + SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } + SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, \ + SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, \ + SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } + SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } + SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, \ + SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, \ + SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, \ + SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \ + SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ + SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, \ + SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \ + SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } + SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } + SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } + SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_SWAPOFF = 529 // { int swapoff(char *name); } + SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, \ + SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } + SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } + SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } + SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } + SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } + SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go new file mode 100644 index 000000000000..b64a8122ce4c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -0,0 +1,353 @@ +// mksysnum_freebsd.pl +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go new file mode 100644 index 000000000000..81722ac9f3bd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go @@ -0,0 +1,353 @@ +// mksysnum_freebsd.pl +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go new file mode 100644 index 000000000000..448831418165 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -0,0 +1,353 @@ +// mksysnum_freebsd.pl +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go new file mode 100644 index 000000000000..95ab12903ec5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -0,0 +1,390 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go new file mode 100644 index 000000000000..c5dabf2e4518 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -0,0 +1,342 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go new file mode 100644 index 000000000000..ab7fa5fd3939 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -0,0 +1,362 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go new file mode 100644 index 000000000000..b1c6b4bd3b39 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -0,0 +1,286 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go new file mode 100644 index 000000000000..2e9aa7a3e7ec --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -0,0 +1,375 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go new file mode 100644 index 000000000000..92827635aae4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -0,0 +1,335 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go new file mode 100644 index 000000000000..45bd3fd6c84b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -0,0 +1,335 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go new file mode 100644 index 000000000000..62ccac4b7421 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -0,0 +1,375 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go new file mode 100644 index 000000000000..dfe5dab67eee --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -0,0 +1,370 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go new file mode 100644 index 000000000000..eca97f738b73 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -0,0 +1,370 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go new file mode 100644 index 000000000000..8ea18e6c254e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -0,0 +1,333 @@ +// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_SELECT = 142 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_NEWFSTATAT = 293 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go new file mode 100644 index 000000000000..c9c129dc42a5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -0,0 +1,348 @@ +// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build sparc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go new file mode 100644 index 000000000000..8afda9c45121 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -0,0 +1,274 @@ +// mksysnum_netbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build 386,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go new file mode 100644 index 000000000000..aea8dbec43c8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -0,0 +1,274 @@ +// mksysnum_netbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build amd64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go new file mode 100644 index 000000000000..c6158a7ef92c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -0,0 +1,274 @@ +// mksysnum_netbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build arm,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go new file mode 100644 index 000000000000..3e8ce2a1ddff --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go @@ -0,0 +1,207 @@ +// mksysnum_openbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build 386,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int sys_open(const char *path, \ + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_KILL = 37 // { int sys_kill(int pid, int signum); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ + SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ + SYS_EXECVE = 59 // { int sys_execve(const char *path, \ + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ + SYS_STATFS = 63 // { int sys_statfs(const char *path, \ + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ + SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ + SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ + SYS_KEVENT = 72 // { int sys_kevent(int fd, \ + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ + SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ + SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t sys_readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go new file mode 100644 index 000000000000..bd28146ddd5e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go @@ -0,0 +1,207 @@ +// mksysnum_openbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build amd64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int sys_open(const char *path, \ + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_KILL = 37 // { int sys_kill(int pid, int signum); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ + SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ + SYS_EXECVE = 59 // { int sys_execve(const char *path, \ + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ + SYS_STATFS = 63 // { int sys_statfs(const char *path, \ + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ + SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ + SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ + SYS_KEVENT = 72 // { int sys_kevent(int fd, \ + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ + SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ + SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t sys_readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go new file mode 100644 index 000000000000..32653e53c706 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,213 @@ +// mksysnum_openbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int sys_open(const char *path, \ + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, \ + SYS_EXECVE = 59 // { int sys_execve(const char *path, \ + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ + SYS_STATFS = 63 // { int sys_statfs(const char *path, \ + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ + SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ + SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ + SYS_KEVENT = 72 // { int sys_kevent(int fd, \ + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ + SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ + SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_SENDSYSLOG = 83 // { int sys_sendsyslog(const void *buf, size_t nbyte); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, \ + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, \ + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t sys_readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go new file mode 100644 index 000000000000..c70865985902 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go @@ -0,0 +1,13 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,solaris + +package unix + +// TODO(aram): remove these before Go 1.3. +const ( + SYS_EXECVE = 59 + SYS_FCNTL = 62 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go new file mode 100644 index 000000000000..e61d78a54ff5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -0,0 +1,462 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct{} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + Pad_cgo_0 [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go new file mode 100644 index 000000000000..2619155ff8c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -0,0 +1,472 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Pad_cgo_0 [4]byte + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + Pad_cgo_0 [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Pad_cgo_0 [8]byte + Pad_cgo_1 [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + Pad_cgo_0 [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + Pad_cgo_0 [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go new file mode 100644 index 000000000000..4dca0d4db265 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -0,0 +1,463 @@ +// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_darwin.go + +// +build arm,darwin + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 [0]byte + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + Pad_cgo_0 [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go new file mode 100644 index 000000000000..f2881fd14277 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -0,0 +1,471 @@ +// +build arm64,darwin +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_darwin.go + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Pad_cgo_0 [4]byte + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + Pad_cgo_0 [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Pad_cgo_0 [8]byte + Pad_cgo_1 [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + Pad_cgo_0 [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + Pad_cgo_0 [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go new file mode 100644 index 000000000000..67c6bf883cbf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -0,0 +1,448 @@ +// cgo -godefs types_dragonfly.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + Padding1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare1 int64 + Qspare2 int64 +} + +type Statfs_t struct { + Spare2 int64 + Bsize int64 + Iosize int64 + Blocks int64 + Bfree int64 + Bavail int64 + Files int64 + Ffree int64 + Fsid Fsid + Owner uint32 + Type int32 + Flags int32 + Pad_cgo_0 [4]byte + Syncwrites int64 + Asyncwrites int64 + Fstypename [16]int8 + Mntonname [80]int8 + Syncreads int64 + Asyncreads int64 + Spares1 int16 + Mntfromname [80]int8 + Spares2 int16 + Pad_cgo_1 [4]byte + Spare [2]int64 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Namlen uint16 + Type uint8 + Unused1 uint8 + Unused2 uint32 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Pad_cgo_0 [2]byte + Mtu uint64 + Metric uint64 + Link_state uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Oqdrops uint64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Pksent uint64 + Expire uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Recvpipe uint64 + Hopcount uint64 + Mssopt uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go new file mode 100644 index 000000000000..5b28bcbbac9e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -0,0 +1,521 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtimespec Timespec + Pad_cgo_0 [8]byte +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 +} + +type Dirent struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + X__fds_bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x60 + sizeofIfData = 0x98 + SizeofIfData = 0x50 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + X__ifi_epoch [8]byte + X__ifi_lastchange [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Epoch int32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + X_bzh_pad [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type CapRights struct { + Rights [2]uint64 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go new file mode 100644 index 000000000000..c65d89e4972a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -0,0 +1,524 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtimespec Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + Pad_cgo_0 [4]byte +} + +type Dirent struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + X__fds_bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + X__ifi_epoch [8]byte + X__ifi_lastchange [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + X_bzh_pad [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type CapRights struct { + Rights [2]uint64 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go new file mode 100644 index 000000000000..42c0a502cf8f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -0,0 +1,524 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtimespec Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + Pad_cgo_0 [4]byte +} + +type Dirent struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + X__fds_bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x70 + sizeofIfData = 0x98 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + X__ifi_epoch [8]byte + X__ifi_lastchange [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Pad_cgo_0 [4]byte + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + X_bzh_pad [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type CapRights struct { + Rights [2]uint64 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go new file mode 100644 index 000000000000..8b30c69975e8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -0,0 +1,793 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + Pad_cgo_0 [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + X__pad1 uint16 + Pad_cgo_0 [2]byte + X__st_ino uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + X__pad2 uint16 + Pad_cgo_1 [2]byte + Size int64 + Blksize int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [1]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [2]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + X_f [8]int8 +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [32]uint32 +} + +const RNDGETENTCNT = 0x80045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go new file mode 100644 index 000000000000..cf0358986251 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -0,0 +1,811 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + X__pad0 int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [3]int64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]int8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x80045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go new file mode 100644 index 000000000000..8ef7d85f178b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -0,0 +1,782 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + Pad_cgo_0 [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + X__pad1 uint16 + Pad_cgo_0 [2]byte + X__st_ino uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + X__pad2 uint16 + Pad_cgo_1 [6]byte + Size int64 + Blksize int32 + Pad_cgo_2 [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + Pad_cgo_0 [4]byte +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [2]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Uregs [18]uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + X_f [8]uint8 +} + +type Utsname struct { + Sysname [65]uint8 + Nodename [65]uint8 + Release [65]uint8 + Version [65]uint8 + Machine [65]uint8 + Domainname [65]uint8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]uint8 + Fpack [6]uint8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [32]uint32 +} + +const RNDGETENTCNT = 0x80045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go new file mode 100644 index 000000000000..311026867301 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -0,0 +1,790 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + X__pad1 uint64 + Size int64 + Blksize int32 + X__pad2 int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]int8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x80045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go new file mode 100644 index 000000000000..d2c1bc2c83d5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -0,0 +1,787 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + Pad_cgo_0 [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + Pad_cgo_0 [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + Pad_cgo_1 [4]byte +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [2]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + X_f [8]int8 +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [32]uint32 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go new file mode 100644 index 000000000000..ec7a0cd2751f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -0,0 +1,792 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]int8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go new file mode 100644 index 000000000000..bbe08d7db767 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -0,0 +1,792 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]int8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go new file mode 100644 index 000000000000..75ee05ab4724 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -0,0 +1,787 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + Pad_cgo_0 [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + Pad_cgo_0 [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + Pad_cgo_1 [4]byte +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [2]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + X_f [8]int8 +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [32]uint32 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go new file mode 100644 index 000000000000..30a257f83ccd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -0,0 +1,800 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + X__pad2 int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]uint8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]uint8 + Nodename [65]uint8 + Release [65]uint8 + Version [65]uint8 + Machine [65]uint8 + Domainname [65]uint8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + X_padFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go new file mode 100644 index 000000000000..bebed6f11c8b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -0,0 +1,800 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + X__pad2 int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + Pad_cgo_1 [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]uint8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]uint8 + Nodename [65]uint8 + Release [65]uint8 + Version [65]uint8 + Machine [65]uint8 + Domainname [65]uint8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + X_padFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const RNDGETENTCNT = 0x40045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go new file mode 100644 index 000000000000..286661b35bf6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -0,0 +1,817 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + _ [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + _ [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + _ [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + _ [3]int64 +} + +type Statfs_t struct { + Type uint32 + Bsize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen uint32 + Frsize uint32 + Flags uint32 + Spare [4]uint32 + _ [4]byte +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + _ [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + _ [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + _ [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2c + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + _ [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Psw PtracePsw + Gprs [16]uint64 + Acrs [16]uint32 + Orig_gpr2 uint64 + Fp_regs PtraceFpregs + Per_info PtracePer + Ieee_instruction_pointer uint64 +} + +type PtracePsw struct { + Mask uint64 + Addr uint64 +} + +type PtraceFpregs struct { + Fpc uint32 + _ [4]byte + Fprs [16]float64 +} + +type PtracePer struct { + _ [0]uint64 + _ [24]byte + _ [8]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 + _ [6]byte + Address uint64 + Access_id uint8 + _ [7]byte +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + _ [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + _ [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + _ [16]uint64 +} + +const RNDGETENTCNT = 0x80045200 + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + _ [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go new file mode 100644 index 000000000000..22bdab961453 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -0,0 +1,666 @@ +// +build sparc64,linux +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_linux.go | go run mkpost.go + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Timex struct { + Modes uint32 + Pad_cgo_0 [4]byte + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Pad_cgo_1 [4]byte + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Pad_cgo_2 [4]byte + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + Pad_cgo_3 [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + X__pad1 uint16 + Pad_cgo_0 [6]byte + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + X__pad2 uint16 + Pad_cgo_1 [6]byte + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + X__glibc_reserved4 uint64 + X__glibc_reserved5 uint64 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + Pad_cgo_0 [5]byte +} + +type Fsid struct { + X__val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Pid int32 + X__glibc_reserved int16 + Pad_cgo_1 [2]byte +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrCAN struct { + Family uint16 + Pad_cgo_0 [2]byte + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + Pad_cgo_1 [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Pad_cgo_0 [2]byte + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_MAX = 0x2a + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + X__ifi_pad uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Pad_cgo_0 [6]byte + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [16]uint64 + Tstate uint64 + Tpc uint64 + Tnpc uint64 + Y uint32 + Magic uint32 +} + +type ptracePsw struct { +} + +type ptraceFpregs struct { +} + +type ptracePer struct { +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Pad_cgo_0 [4]byte + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + X_f [0]int8 + Pad_cgo_1 [4]byte +} + +type Utsname struct { + Sysname [65]int8 + Nodename [65]int8 + Release [65]int8 + Version [65]int8 + Machine [65]int8 + Domainname [65]int8 +} + +type Ustat_t struct { + Tfree int32 + Pad_cgo_0 [4]byte + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_1 [4]byte +} + +type EpollEvent struct { + Events uint32 + X_padFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x200 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x800 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + X__val [16]uint64 +} + +const _SC_PAGESIZE = 0x1e + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go new file mode 100644 index 000000000000..42f99c0a3096 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -0,0 +1,401 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_netbsd.go + +// +build 386,netbsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x84 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData + Pad_cgo_1 [4]byte +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go new file mode 100644 index 000000000000..ff290ba06974 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -0,0 +1,408 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_netbsd.go + +// +build amd64,netbsd + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Pad_cgo_0 [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Pad_cgo_1 [4]byte + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + Pad_cgo_2 [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go new file mode 100644 index 000000000000..66dbd7c0502f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -0,0 +1,406 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_netbsd.go + +// +build arm,netbsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Pad_cgo_0 [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Pad_cgo_1 [4]byte + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + Pad_cgo_2 [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 + Pad_cgo_0 [4]byte +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go new file mode 100644 index 000000000000..20fc9f450cb5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -0,0 +1,446 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +// +build 386,openbsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xec + SizeofIfData = 0xd4 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval + Mclpool [7]Mclpool +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go new file mode 100644 index 000000000000..46fe9490c8fd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -0,0 +1,453 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +// +build amd64,openbsd + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Pad_cgo_0 [4]byte + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + Pad_cgo_0 [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_1 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen uint32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xf8 + SizeofIfData = 0xe0 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Pad_cgo_0 [4]byte + Lastchange Timeval + Mclpool [7]Mclpool + Pad_cgo_1 [4]byte +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go new file mode 100644 index 000000000000..62e1f7c04d14 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,439 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +// +build arm,openbsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]uint8 + F_mntonname [90]uint8 + F_mntfromname [90]uint8 + F_mntfromspec [90]uint8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]uint8 +} + +type Fsid struct { + Val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x80 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]uint8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go new file mode 100644 index 000000000000..a979a33d51e0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -0,0 +1,440 @@ +// cgo -godefs types_solaris.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +package unix + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 + PathMax = 0x400 + MaxHostNameLen = 0x100 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad_cgo_0 [4]byte + Blocks int64 + Fstype [16]int8 +} + +type Flock_t struct { + Type int16 + Whence int16 + Pad_cgo_0 [4]byte + Start int64 + Len int64 + Sysid int32 + Pid int32 + Pad [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Name [1]int8 + Pad_cgo_0 [5]byte +} + +type _Fsblkcnt_t uint64 + +type Statvfs_t struct { + Bsize uint64 + Frsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fsid uint64 + Basetype [16]int8 + Flag uint64 + Namemax uint64 + Fstr [32]int8 +} + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + X__sin6_src_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [236]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *int8 + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Accrights *int8 + Accrightslen int32 + Pad_cgo_2 [4]byte +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + X__icmp6_filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x20 + SizeofSockaddrAny = 0xfc + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x24 + SizeofICMPv6Filter = 0x20 +) + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [257]int8 + Nodename [257]int8 + Release [257]int8 + Version [257]int8 + Machine [257]int8 +} + +type Ustat_t struct { + Tfree int64 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + Pad_cgo_0 [4]byte +} + +const ( + AT_FDCWD = 0xffd19553 + AT_SYMLINK_NOFOLLOW = 0x1000 + AT_SYMLINK_FOLLOW = 0x2000 + AT_REMOVEDIR = 0x1 + AT_EACCESS = 0x4 +) + +const ( + SizeofIfMsghdr = 0x54 + SizeofIfData = 0x44 + SizeofIfaMsghdr = 0x14 + SizeofRtMsghdr = 0x4c + SizeofRtMetrics = 0x28 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Lastchange Timeval32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Metric int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Pad_cgo_0 [1]byte +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line int8 + Cc [8]uint8 + Pad_cgo_0 [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE new file mode 100644 index 000000000000..6a66aea5eafe --- /dev/null +++ b/vendor/golang.org/x/text/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS new file mode 100644 index 000000000000..733099041f84 --- /dev/null +++ b/vendor/golang.org/x/text/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/text/collate/build/builder.go b/vendor/golang.org/x/text/collate/build/builder.go new file mode 100644 index 000000000000..11042841b110 --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/builder.go @@ -0,0 +1,702 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package build // import "golang.org/x/text/collate/build" + +import ( + "fmt" + "io" + "log" + "sort" + "strings" + "unicode/utf8" + + "golang.org/x/text/internal/colltab" + "golang.org/x/text/language" + "golang.org/x/text/unicode/norm" +) + +// TODO: optimizations: +// - expandElem is currently 20K. By putting unique colElems in a separate +// table and having a byte array of indexes into this table, we can reduce +// the total size to about 7K. By also factoring out the length bytes, we +// can reduce this to about 6K. +// - trie valueBlocks are currently 100K. There are a lot of sparse blocks +// and many consecutive values with the same stride. This can be further +// compacted. +// - Compress secondary weights into 8 bits. +// - Some LDML specs specify a context element. Currently we simply concatenate +// those. Context can be implemented using the contraction trie. If Builder +// could analyze and detect when using a context makes sense, there is no +// need to expose this construct in the API. + +// A Builder builds a root collation table. The user must specify the +// collation elements for each entry. A common use will be to base the weights +// on those specified in the allkeys* file as provided by the UCA or CLDR. +type Builder struct { + index *trieBuilder + root ordering + locale []*Tailoring + t *table + err error + built bool + + minNonVar int // lowest primary recorded for a variable + varTop int // highest primary recorded for a non-variable + + // indexes used for reusing expansions and contractions + expIndex map[string]int // positions of expansions keyed by their string representation + ctHandle map[string]ctHandle // contraction handles keyed by a concatenation of the suffixes + ctElem map[string]int // contraction elements keyed by their string representation +} + +// A Tailoring builds a collation table based on another collation table. +// The table is defined by specifying tailorings to the underlying table. +// See http://unicode.org/reports/tr35/ for an overview of tailoring +// collation tables. The CLDR contains pre-defined tailorings for a variety +// of languages (See http://www.unicode.org/Public/cldr//core.zip.) +type Tailoring struct { + id string + builder *Builder + index *ordering + + anchor *entry + before bool +} + +// NewBuilder returns a new Builder. +func NewBuilder() *Builder { + return &Builder{ + index: newTrieBuilder(), + root: makeRootOrdering(), + expIndex: make(map[string]int), + ctHandle: make(map[string]ctHandle), + ctElem: make(map[string]int), + } +} + +// Tailoring returns a Tailoring for the given locale. One should +// have completed all calls to Add before calling Tailoring. +func (b *Builder) Tailoring(loc language.Tag) *Tailoring { + t := &Tailoring{ + id: loc.String(), + builder: b, + index: b.root.clone(), + } + t.index.id = t.id + b.locale = append(b.locale, t) + return t +} + +// Add adds an entry to the collation element table, mapping +// a slice of runes to a sequence of collation elements. +// A collation element is specified as list of weights: []int{primary, secondary, ...}. +// The entries are typically obtained from a collation element table +// as defined in http://www.unicode.org/reports/tr10/#Data_Table_Format. +// Note that the collation elements specified by colelems are only used +// as a guide. The actual weights generated by Builder may differ. +// The argument variables is a list of indices into colelems that should contain +// a value for each colelem that is a variable. (See the reference above.) +func (b *Builder) Add(runes []rune, colelems [][]int, variables []int) error { + str := string(runes) + elems := make([]rawCE, len(colelems)) + for i, ce := range colelems { + if len(ce) == 0 { + break + } + elems[i] = makeRawCE(ce, 0) + if len(ce) == 1 { + elems[i].w[1] = defaultSecondary + } + if len(ce) <= 2 { + elems[i].w[2] = defaultTertiary + } + if len(ce) <= 3 { + elems[i].w[3] = ce[0] + } + } + for i, ce := range elems { + p := ce.w[0] + isvar := false + for _, j := range variables { + if i == j { + isvar = true + } + } + if isvar { + if p >= b.minNonVar && b.minNonVar > 0 { + return fmt.Errorf("primary value %X of variable is larger than the smallest non-variable %X", p, b.minNonVar) + } + if p > b.varTop { + b.varTop = p + } + } else if p > 1 { // 1 is a special primary value reserved for FFFE + if p <= b.varTop { + return fmt.Errorf("primary value %X of non-variable is smaller than the highest variable %X", p, b.varTop) + } + if b.minNonVar == 0 || p < b.minNonVar { + b.minNonVar = p + } + } + } + elems, err := convertLargeWeights(elems) + if err != nil { + return err + } + cccs := []uint8{} + nfd := norm.NFD.String(str) + for i := range nfd { + cccs = append(cccs, norm.NFD.PropertiesString(nfd[i:]).CCC()) + } + if len(cccs) < len(elems) { + if len(cccs) > 2 { + return fmt.Errorf("number of decomposed characters should be greater or equal to the number of collation elements for len(colelems) > 3 (%d < %d)", len(cccs), len(elems)) + } + p := len(elems) - 1 + for ; p > 0 && elems[p].w[0] == 0; p-- { + elems[p].ccc = cccs[len(cccs)-1] + } + for ; p >= 0; p-- { + elems[p].ccc = cccs[0] + } + } else { + for i := range elems { + elems[i].ccc = cccs[i] + } + } + // doNorm in collate.go assumes that the following conditions hold. + if len(elems) > 1 && len(cccs) > 1 && cccs[0] != 0 && cccs[0] != cccs[len(cccs)-1] { + return fmt.Errorf("incompatible CCC values for expansion %X (%d)", runes, cccs) + } + b.root.newEntry(str, elems) + return nil +} + +func (t *Tailoring) setAnchor(anchor string) error { + anchor = norm.NFC.String(anchor) + a := t.index.find(anchor) + if a == nil { + a = t.index.newEntry(anchor, nil) + a.implicit = true + a.modified = true + for _, r := range []rune(anchor) { + e := t.index.find(string(r)) + e.lock = true + } + } + t.anchor = a + return nil +} + +// SetAnchor sets the point after which elements passed in subsequent calls to +// Insert will be inserted. It is equivalent to the reset directive in an LDML +// specification. See Insert for an example. +// SetAnchor supports the following logical reset positions: +// , , , +// and . +func (t *Tailoring) SetAnchor(anchor string) error { + if err := t.setAnchor(anchor); err != nil { + return err + } + t.before = false + return nil +} + +// SetAnchorBefore is similar to SetAnchor, except that subsequent calls to +// Insert will insert entries before the anchor. +func (t *Tailoring) SetAnchorBefore(anchor string) error { + if err := t.setAnchor(anchor); err != nil { + return err + } + t.before = true + return nil +} + +// Insert sets the ordering of str relative to the entry set by the previous +// call to SetAnchor or Insert. The argument extend corresponds +// to the extend elements as defined in LDML. A non-empty value for extend +// will cause the collation elements corresponding to extend to be appended +// to the collation elements generated for the entry added by Insert. +// This has the same net effect as sorting str after the string anchor+extend. +// See http://www.unicode.org/reports/tr10/#Tailoring_Example for details +// on parametric tailoring and http://unicode.org/reports/tr35/#Collation_Elements +// for full details on LDML. +// +// Examples: create a tailoring for Swedish, where "ä" is ordered after "z" +// at the primary sorting level: +// t := b.Tailoring("se") +// t.SetAnchor("z") +// t.Insert(colltab.Primary, "ä", "") +// Order "ü" after "ue" at the secondary sorting level: +// t.SetAnchor("ue") +// t.Insert(colltab.Secondary, "ü","") +// or +// t.SetAnchor("u") +// t.Insert(colltab.Secondary, "ü", "e") +// Order "q" afer "ab" at the secondary level and "Q" after "q" +// at the tertiary level: +// t.SetAnchor("ab") +// t.Insert(colltab.Secondary, "q", "") +// t.Insert(colltab.Tertiary, "Q", "") +// Order "b" before "a": +// t.SetAnchorBefore("a") +// t.Insert(colltab.Primary, "b", "") +// Order "0" after the last primary ignorable: +// t.SetAnchor("") +// t.Insert(colltab.Primary, "0", "") +func (t *Tailoring) Insert(level colltab.Level, str, extend string) error { + if t.anchor == nil { + return fmt.Errorf("%s:Insert: no anchor point set for tailoring of %s", t.id, str) + } + str = norm.NFC.String(str) + e := t.index.find(str) + if e == nil { + e = t.index.newEntry(str, nil) + } else if e.logical != noAnchor { + return fmt.Errorf("%s:Insert: cannot reinsert logical reset position %q", t.id, e.str) + } + if e.lock { + return fmt.Errorf("%s:Insert: cannot reinsert element %q", t.id, e.str) + } + a := t.anchor + // Find the first element after the anchor which differs at a level smaller or + // equal to the given level. Then insert at this position. + // See http://unicode.org/reports/tr35/#Collation_Elements, Section 5.14.5 for details. + e.before = t.before + if t.before { + t.before = false + if a.prev == nil { + a.insertBefore(e) + } else { + for a = a.prev; a.level > level; a = a.prev { + } + a.insertAfter(e) + } + e.level = level + } else { + for ; a.level > level; a = a.next { + } + e.level = a.level + if a != e { + a.insertAfter(e) + a.level = level + } else { + // We don't set a to prev itself. This has the effect of the entry + // getting new collation elements that are an increment of itself. + // This is intentional. + a.prev.level = level + } + } + e.extend = norm.NFD.String(extend) + e.exclude = false + e.modified = true + e.elems = nil + t.anchor = e + return nil +} + +func (o *ordering) getWeight(e *entry) []rawCE { + if len(e.elems) == 0 && e.logical == noAnchor { + if e.implicit { + for _, r := range e.runes { + e.elems = append(e.elems, o.getWeight(o.find(string(r)))...) + } + } else if e.before { + count := [colltab.Identity + 1]int{} + a := e + for ; a.elems == nil && !a.implicit; a = a.next { + count[a.level]++ + } + e.elems = []rawCE{makeRawCE(a.elems[0].w, a.elems[0].ccc)} + for i := colltab.Primary; i < colltab.Quaternary; i++ { + if count[i] != 0 { + e.elems[0].w[i] -= count[i] + break + } + } + if e.prev != nil { + o.verifyWeights(e.prev, e, e.prev.level) + } + } else { + prev := e.prev + e.elems = nextWeight(prev.level, o.getWeight(prev)) + o.verifyWeights(e, e.next, e.level) + } + } + return e.elems +} + +func (o *ordering) addExtension(e *entry) { + if ex := o.find(e.extend); ex != nil { + e.elems = append(e.elems, ex.elems...) + } else { + for _, r := range []rune(e.extend) { + e.elems = append(e.elems, o.find(string(r)).elems...) + } + } + e.extend = "" +} + +func (o *ordering) verifyWeights(a, b *entry, level colltab.Level) error { + if level == colltab.Identity || b == nil || b.elems == nil || a.elems == nil { + return nil + } + for i := colltab.Primary; i < level; i++ { + if a.elems[0].w[i] < b.elems[0].w[i] { + return nil + } + } + if a.elems[0].w[level] >= b.elems[0].w[level] { + err := fmt.Errorf("%s:overflow: collation elements of %q (%X) overflows those of %q (%X) at level %d (%X >= %X)", o.id, a.str, a.runes, b.str, b.runes, level, a.elems, b.elems) + log.Println(err) + // TODO: return the error instead, or better, fix the conflicting entry by making room. + } + return nil +} + +func (b *Builder) error(e error) { + if e != nil { + b.err = e + } +} + +func (b *Builder) errorID(locale string, e error) { + if e != nil { + b.err = fmt.Errorf("%s:%v", locale, e) + } +} + +// patchNorm ensures that NFC and NFD counterparts are consistent. +func (o *ordering) patchNorm() { + // Insert the NFD counterparts, if necessary. + for _, e := range o.ordered { + nfd := norm.NFD.String(e.str) + if nfd != e.str { + if e0 := o.find(nfd); e0 != nil && !e0.modified { + e0.elems = e.elems + } else if e.modified && !equalCEArrays(o.genColElems(nfd), e.elems) { + e := o.newEntry(nfd, e.elems) + e.modified = true + } + } + } + // Update unchanged composed forms if one of their parts changed. + for _, e := range o.ordered { + nfd := norm.NFD.String(e.str) + if e.modified || nfd == e.str { + continue + } + if e0 := o.find(nfd); e0 != nil { + e.elems = e0.elems + } else { + e.elems = o.genColElems(nfd) + if norm.NFD.LastBoundary([]byte(nfd)) == 0 { + r := []rune(nfd) + head := string(r[0]) + tail := "" + for i := 1; i < len(r); i++ { + s := norm.NFC.String(head + string(r[i])) + if e0 := o.find(s); e0 != nil && e0.modified { + head = s + } else { + tail += string(r[i]) + } + } + e.elems = append(o.genColElems(head), o.genColElems(tail)...) + } + } + } + // Exclude entries for which the individual runes generate the same collation elements. + for _, e := range o.ordered { + if len(e.runes) > 1 && equalCEArrays(o.genColElems(e.str), e.elems) { + e.exclude = true + } + } +} + +func (b *Builder) buildOrdering(o *ordering) { + for _, e := range o.ordered { + o.getWeight(e) + } + for _, e := range o.ordered { + o.addExtension(e) + } + o.patchNorm() + o.sort() + simplify(o) + b.processExpansions(o) // requires simplify + b.processContractions(o) // requires simplify + + t := newNode() + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + if !e.skip() { + ce, err := e.encode() + b.errorID(o.id, err) + t.insert(e.runes[0], ce) + } + } + o.handle = b.index.addTrie(t) +} + +func (b *Builder) build() (*table, error) { + if b.built { + return b.t, b.err + } + b.built = true + b.t = &table{ + Table: colltab.Table{ + MaxContractLen: utf8.UTFMax, + VariableTop: uint32(b.varTop), + }, + } + + b.buildOrdering(&b.root) + b.t.root = b.root.handle + for _, t := range b.locale { + b.buildOrdering(t.index) + if b.err != nil { + break + } + } + i, err := b.index.generate() + b.t.trie = *i + b.t.Index = colltab.Trie{ + Index: i.index, + Values: i.values, + Index0: i.index[blockSize*b.t.root.lookupStart:], + Values0: i.values[blockSize*b.t.root.valueStart:], + } + b.error(err) + return b.t, b.err +} + +// Build builds the root Collator. +func (b *Builder) Build() (colltab.Weighter, error) { + table, err := b.build() + if err != nil { + return nil, err + } + return table, nil +} + +// Build builds a Collator for Tailoring t. +func (t *Tailoring) Build() (colltab.Weighter, error) { + // TODO: implement. + return nil, nil +} + +// Print prints the tables for b and all its Tailorings as a Go file +// that can be included in the Collate package. +func (b *Builder) Print(w io.Writer) (n int, err error) { + p := func(nn int, e error) { + n += nn + if err == nil { + err = e + } + } + t, err := b.build() + if err != nil { + return 0, err + } + p(fmt.Fprintf(w, `var availableLocales = "und`)) + for _, loc := range b.locale { + if loc.id != "und" { + p(fmt.Fprintf(w, ",%s", loc.id)) + } + } + p(fmt.Fprint(w, "\"\n\n")) + p(fmt.Fprintf(w, "const varTop = 0x%x\n\n", b.varTop)) + p(fmt.Fprintln(w, "var locales = [...]tableIndex{")) + for _, loc := range b.locale { + if loc.id == "und" { + p(t.fprintIndex(w, loc.index.handle, loc.id)) + } + } + for _, loc := range b.locale { + if loc.id != "und" { + p(t.fprintIndex(w, loc.index.handle, loc.id)) + } + } + p(fmt.Fprint(w, "}\n\n")) + n, _, err = t.fprint(w, "main") + return +} + +// reproducibleFromNFKD checks whether the given expansion could be generated +// from an NFKD expansion. +func reproducibleFromNFKD(e *entry, exp, nfkd []rawCE) bool { + // Length must be equal. + if len(exp) != len(nfkd) { + return false + } + for i, ce := range exp { + // Primary and secondary values should be equal. + if ce.w[0] != nfkd[i].w[0] || ce.w[1] != nfkd[i].w[1] { + return false + } + // Tertiary values should be equal to maxTertiary for third element onwards. + // TODO: there seem to be a lot of cases in CLDR (e.g. ㏭ in zh.xml) that can + // simply be dropped. Try this out by dropping the following code. + if i >= 2 && ce.w[2] != maxTertiary { + return false + } + if _, err := makeCE(ce); err != nil { + // Simply return false. The error will be caught elsewhere. + return false + } + } + return true +} + +func simplify(o *ordering) { + // Runes that are a starter of a contraction should not be removed. + // (To date, there is only Kannada character 0CCA.) + keep := make(map[rune]bool) + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + if len(e.runes) > 1 { + keep[e.runes[0]] = true + } + } + // Tag entries for which the runes NFKD decompose to identical values. + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + s := e.str + nfkd := norm.NFKD.String(s) + nfd := norm.NFD.String(s) + if e.decompose || len(e.runes) > 1 || len(e.elems) == 1 || keep[e.runes[0]] || nfkd == nfd { + continue + } + if reproducibleFromNFKD(e, e.elems, o.genColElems(nfkd)) { + e.decompose = true + } + } +} + +// appendExpansion converts the given collation sequence to +// collation elements and adds them to the expansion table. +// It returns an index to the expansion table. +func (b *Builder) appendExpansion(e *entry) int { + t := b.t + i := len(t.ExpandElem) + ce := uint32(len(e.elems)) + t.ExpandElem = append(t.ExpandElem, ce) + for _, w := range e.elems { + ce, err := makeCE(w) + if err != nil { + b.error(err) + return -1 + } + t.ExpandElem = append(t.ExpandElem, ce) + } + return i +} + +// processExpansions extracts data necessary to generate +// the extraction tables. +func (b *Builder) processExpansions(o *ordering) { + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + if !e.expansion() { + continue + } + key := fmt.Sprintf("%v", e.elems) + i, ok := b.expIndex[key] + if !ok { + i = b.appendExpansion(e) + b.expIndex[key] = i + } + e.expansionIndex = i + } +} + +func (b *Builder) processContractions(o *ordering) { + // Collate contractions per starter rune. + starters := []rune{} + cm := make(map[rune][]*entry) + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + if e.contraction() { + if len(e.str) > b.t.MaxContractLen { + b.t.MaxContractLen = len(e.str) + } + r := e.runes[0] + if _, ok := cm[r]; !ok { + starters = append(starters, r) + } + cm[r] = append(cm[r], e) + } + } + // Add entries of single runes that are at a start of a contraction. + for e := o.front(); e != nil; e, _ = e.nextIndexed() { + if !e.contraction() { + r := e.runes[0] + if _, ok := cm[r]; ok { + cm[r] = append(cm[r], e) + } + } + } + // Build the tries for the contractions. + t := b.t + for _, r := range starters { + l := cm[r] + // Compute suffix strings. There are 31 different contraction suffix + // sets for 715 contractions and 82 contraction starter runes as of + // version 6.0.0. + sufx := []string{} + hasSingle := false + for _, e := range l { + if len(e.runes) > 1 { + sufx = append(sufx, string(e.runes[1:])) + } else { + hasSingle = true + } + } + if !hasSingle { + b.error(fmt.Errorf("no single entry for starter rune %U found", r)) + continue + } + // Unique the suffix set. + sort.Strings(sufx) + key := strings.Join(sufx, "\n") + handle, ok := b.ctHandle[key] + if !ok { + var err error + handle, err = appendTrie(&t.ContractTries, sufx) + if err != nil { + b.error(err) + } + b.ctHandle[key] = handle + } + // Bucket sort entries in index order. + es := make([]*entry, len(l)) + for _, e := range l { + var p, sn int + if len(e.runes) > 1 { + str := []byte(string(e.runes[1:])) + p, sn = lookup(&t.ContractTries, handle, str) + if sn != len(str) { + log.Fatalf("%s: processContractions: unexpected length for '%X'; len=%d; want %d", o.id, e.runes, sn, len(str)) + } + } + if es[p] != nil { + log.Fatalf("%s: multiple contractions for position %d for rune %U", o.id, p, e.runes[0]) + } + es[p] = e + } + // Create collation elements for contractions. + elems := []uint32{} + for _, e := range es { + ce, err := e.encodeBase() + b.errorID(o.id, err) + elems = append(elems, ce) + } + key = fmt.Sprintf("%v", elems) + i, ok := b.ctElem[key] + if !ok { + i = len(t.ContractElem) + b.ctElem[key] = i + t.ContractElem = append(t.ContractElem, elems...) + } + // Store info in entry for starter rune. + es[0].contractionIndex = i + es[0].contractionHandle = handle + } +} diff --git a/vendor/golang.org/x/text/collate/build/colelem.go b/vendor/golang.org/x/text/collate/build/colelem.go new file mode 100644 index 000000000000..726fe5427a8c --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/colelem.go @@ -0,0 +1,294 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package build + +import ( + "fmt" + "unicode" + + "golang.org/x/text/internal/colltab" +) + +const ( + defaultSecondary = 0x20 + defaultTertiary = 0x2 + maxTertiary = 0x1F +) + +type rawCE struct { + w []int + ccc uint8 +} + +func makeRawCE(w []int, ccc uint8) rawCE { + ce := rawCE{w: make([]int, 4), ccc: ccc} + copy(ce.w, w) + return ce +} + +// A collation element is represented as an uint32. +// In the typical case, a rune maps to a single collation element. If a rune +// can be the start of a contraction or expands into multiple collation elements, +// then the collation element that is associated with a rune will have a special +// form to represent such m to n mappings. Such special collation elements +// have a value >= 0x80000000. + +const ( + maxPrimaryBits = 21 + maxSecondaryBits = 12 + maxTertiaryBits = 8 +) + +func makeCE(ce rawCE) (uint32, error) { + v, e := colltab.MakeElem(ce.w[0], ce.w[1], ce.w[2], ce.ccc) + return uint32(v), e +} + +// For contractions, collation elements are of the form +// 110bbbbb bbbbbbbb iiiiiiii iiiinnnn, where +// - n* is the size of the first node in the contraction trie. +// - i* is the index of the first node in the contraction trie. +// - b* is the offset into the contraction collation element table. +// See contract.go for details on the contraction trie. +const ( + contractID = 0xC0000000 + maxNBits = 4 + maxTrieIndexBits = 12 + maxContractOffsetBits = 13 +) + +func makeContractIndex(h ctHandle, offset int) (uint32, error) { + if h.n >= 1<= %d", h.n, 1<= 1<= %d", h.index, 1<= 1<= %x", offset, 1<= 1<= %x", index, 1<= 256 || t1 < 0 { + return 0, fmt.Errorf("first tertiary weight out of bounds: %d >= 256", t1) + } + if t2 >= 256 || t2 < 0 { + return 0, fmt.Errorf("second tertiary weight out of bounds: %d >= 256", t2) + } + return uint32(t2<<8+t1) + decompID, nil +} + +const ( + // These constants were taken from http://www.unicode.org/versions/Unicode6.0.0/ch12.pdf. + minUnified rune = 0x4E00 + maxUnified = 0x9FFF + minCompatibility = 0xF900 + maxCompatibility = 0xFAFF + minRare = 0x3400 + maxRare = 0x4DBF +) +const ( + commonUnifiedOffset = 0x10000 + rareUnifiedOffset = 0x20000 // largest rune in common is U+FAFF + otherOffset = 0x50000 // largest rune in rare is U+2FA1D + illegalOffset = otherOffset + int(unicode.MaxRune) + maxPrimary = illegalOffset + 1 +) + +// implicitPrimary returns the primary weight for the a rune +// for which there is no entry for the rune in the collation table. +// We take a different approach from the one specified in +// http://unicode.org/reports/tr10/#Implicit_Weights, +// but preserve the resulting relative ordering of the runes. +func implicitPrimary(r rune) int { + if unicode.Is(unicode.Ideographic, r) { + if r >= minUnified && r <= maxUnified { + // The most common case for CJK. + return int(r) + commonUnifiedOffset + } + if r >= minCompatibility && r <= maxCompatibility { + // This will typically not hit. The DUCET explicitly specifies mappings + // for all characters that do not decompose. + return int(r) + commonUnifiedOffset + } + return int(r) + rareUnifiedOffset + } + return int(r) + otherOffset +} + +// convertLargeWeights converts collation elements with large +// primaries (either double primaries or for illegal runes) +// to our own representation. +// A CJK character C is represented in the DUCET as +// [.FBxx.0020.0002.C][.BBBB.0000.0000.C] +// We will rewrite these characters to a single CE. +// We assume the CJK values start at 0x8000. +// See http://unicode.org/reports/tr10/#Implicit_Weights +func convertLargeWeights(elems []rawCE) (res []rawCE, err error) { + const ( + cjkPrimaryStart = 0xFB40 + rarePrimaryStart = 0xFB80 + otherPrimaryStart = 0xFBC0 + illegalPrimary = 0xFFFE + highBitsMask = 0x3F + lowBitsMask = 0x7FFF + lowBitsFlag = 0x8000 + shiftBits = 15 + ) + for i := 0; i < len(elems); i++ { + ce := elems[i].w + p := ce[0] + if p < cjkPrimaryStart { + continue + } + if p > 0xFFFF { + return elems, fmt.Errorf("found primary weight %X; should be <= 0xFFFF", p) + } + if p >= illegalPrimary { + ce[0] = illegalOffset + p - illegalPrimary + } else { + if i+1 >= len(elems) { + return elems, fmt.Errorf("second part of double primary weight missing: %v", elems) + } + if elems[i+1].w[0]&lowBitsFlag == 0 { + return elems, fmt.Errorf("malformed second part of double primary weight: %v", elems) + } + np := ((p & highBitsMask) << shiftBits) + elems[i+1].w[0]&lowBitsMask + switch { + case p < rarePrimaryStart: + np += commonUnifiedOffset + case p < otherPrimaryStart: + np += rareUnifiedOffset + default: + p += otherOffset + } + ce[0] = np + for j := i + 1; j+1 < len(elems); j++ { + elems[j] = elems[j+1] + } + elems = elems[:len(elems)-1] + } + } + return elems, nil +} + +// nextWeight computes the first possible collation weights following elems +// for the given level. +func nextWeight(level colltab.Level, elems []rawCE) []rawCE { + if level == colltab.Identity { + next := make([]rawCE, len(elems)) + copy(next, elems) + return next + } + next := []rawCE{makeRawCE(elems[0].w, elems[0].ccc)} + next[0].w[level]++ + if level < colltab.Secondary { + next[0].w[colltab.Secondary] = defaultSecondary + } + if level < colltab.Tertiary { + next[0].w[colltab.Tertiary] = defaultTertiary + } + // Filter entries that cannot influence ordering. + for _, ce := range elems[1:] { + skip := true + for i := colltab.Primary; i < level; i++ { + skip = skip && ce.w[i] == 0 + } + if !skip { + next = append(next, ce) + } + } + return next +} + +func nextVal(elems []rawCE, i int, level colltab.Level) (index, value int) { + for ; i < len(elems) && elems[i].w[level] == 0; i++ { + } + if i < len(elems) { + return i, elems[i].w[level] + } + return i, 0 +} + +// compareWeights returns -1 if a < b, 1 if a > b, or 0 otherwise. +// It also returns the collation level at which the difference is found. +func compareWeights(a, b []rawCE) (result int, level colltab.Level) { + for level := colltab.Primary; level < colltab.Identity; level++ { + var va, vb int + for ia, ib := 0, 0; ia < len(a) || ib < len(b); ia, ib = ia+1, ib+1 { + ia, va = nextVal(a, ia, level) + ib, vb = nextVal(b, ib, level) + if va != vb { + if va < vb { + return -1, level + } else { + return 1, level + } + } + } + } + return 0, colltab.Identity +} + +func equalCE(a, b rawCE) bool { + for i := 0; i < 3; i++ { + if b.w[i] != a.w[i] { + return false + } + } + return true +} + +func equalCEArrays(a, b []rawCE) bool { + if len(a) != len(b) { + return false + } + for i := range a { + if !equalCE(a[i], b[i]) { + return false + } + } + return true +} diff --git a/vendor/golang.org/x/text/collate/build/contract.go b/vendor/golang.org/x/text/collate/build/contract.go new file mode 100644 index 000000000000..a6a7e01f8d5d --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/contract.go @@ -0,0 +1,309 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package build + +import ( + "fmt" + "io" + "reflect" + "sort" + "strings" + + "golang.org/x/text/internal/colltab" +) + +// This file contains code for detecting contractions and generating +// the necessary tables. +// Any Unicode Collation Algorithm (UCA) table entry that has more than +// one rune one the left-hand side is called a contraction. +// See http://www.unicode.org/reports/tr10/#Contractions for more details. +// +// We define the following terms: +// initial: a rune that appears as the first rune in a contraction. +// suffix: a sequence of runes succeeding the initial rune +// in a given contraction. +// non-initial: a rune that appears in a suffix. +// +// A rune may be both an initial and a non-initial and may be so in +// many contractions. An initial may typically also appear by itself. +// In case of ambiguities, the UCA requires we match the longest +// contraction. +// +// Many contraction rules share the same set of possible suffixes. +// We store sets of suffixes in a trie that associates an index with +// each suffix in the set. This index can be used to look up a +// collation element associated with the (starter rune, suffix) pair. +// +// The trie is defined on a UTF-8 byte sequence. +// The overall trie is represented as an array of ctEntries. Each node of the trie +// is represented as a subsequence of ctEntries, where each entry corresponds to +// a possible match of a next character in the search string. An entry +// also includes the length and offset to the next sequence of entries +// to check in case of a match. + +const ( + final = 0 + noIndex = 0xFF +) + +// ctEntry associates to a matching byte an offset and/or next sequence of +// bytes to check. A ctEntry c is called final if a match means that the +// longest suffix has been found. An entry c is final if c.N == 0. +// A single final entry can match a range of characters to an offset. +// A non-final entry always matches a single byte. Note that a non-final +// entry might still resemble a completed suffix. +// Examples: +// The suffix strings "ab" and "ac" can be represented as: +// []ctEntry{ +// {'a', 1, 1, noIndex}, // 'a' by itself does not match, so i is 0xFF. +// {'b', 'c', 0, 1}, // "ab" -> 1, "ac" -> 2 +// } +// +// The suffix strings "ab", "abc", "abd", and "abcd" can be represented as: +// []ctEntry{ +// {'a', 1, 1, noIndex}, // 'a' must be followed by 'b'. +// {'b', 1, 2, 1}, // "ab" -> 1, may be followed by 'c' or 'd'. +// {'d', 'd', final, 3}, // "abd" -> 3 +// {'c', 4, 1, 2}, // "abc" -> 2, may be followed by 'd'. +// {'d', 'd', final, 4}, // "abcd" -> 4 +// } +// See genStateTests in contract_test.go for more examples. +type ctEntry struct { + L uint8 // non-final: byte value to match; final: lowest match in range. + H uint8 // non-final: relative index to next block; final: highest match in range. + N uint8 // non-final: length of next block; final: final + I uint8 // result offset. Will be noIndex if more bytes are needed to complete. +} + +// contractTrieSet holds a set of contraction tries. The tries are stored +// consecutively in the entry field. +type contractTrieSet []struct{ l, h, n, i uint8 } + +// ctHandle is used to identify a trie in the trie set, consisting in an offset +// in the array and the size of the first node. +type ctHandle struct { + index, n int +} + +// appendTrie adds a new trie for the given suffixes to the trie set and returns +// a handle to it. The handle will be invalid on error. +func appendTrie(ct *colltab.ContractTrieSet, suffixes []string) (ctHandle, error) { + es := make([]stridx, len(suffixes)) + for i, s := range suffixes { + es[i].str = s + } + sort.Sort(offsetSort(es)) + for i := range es { + es[i].index = i + 1 + } + sort.Sort(genidxSort(es)) + i := len(*ct) + n, err := genStates(ct, es) + if err != nil { + *ct = (*ct)[:i] + return ctHandle{}, err + } + return ctHandle{i, n}, nil +} + +// genStates generates ctEntries for a given suffix set and returns +// the number of entries for the first node. +func genStates(ct *colltab.ContractTrieSet, sis []stridx) (int, error) { + if len(sis) == 0 { + return 0, fmt.Errorf("genStates: list of suffices must be non-empty") + } + start := len(*ct) + // create entries for differing first bytes. + for _, si := range sis { + s := si.str + if len(s) == 0 { + continue + } + added := false + c := s[0] + if len(s) > 1 { + for j := len(*ct) - 1; j >= start; j-- { + if (*ct)[j].L == c { + added = true + break + } + } + if !added { + *ct = append(*ct, ctEntry{L: c, I: noIndex}) + } + } else { + for j := len(*ct) - 1; j >= start; j-- { + // Update the offset for longer suffixes with the same byte. + if (*ct)[j].L == c { + (*ct)[j].I = uint8(si.index) + added = true + } + // Extend range of final ctEntry, if possible. + if (*ct)[j].H+1 == c { + (*ct)[j].H = c + added = true + } + } + if !added { + *ct = append(*ct, ctEntry{L: c, H: c, N: final, I: uint8(si.index)}) + } + } + } + n := len(*ct) - start + // Append nodes for the remainder of the suffixes for each ctEntry. + sp := 0 + for i, end := start, len(*ct); i < end; i++ { + fe := (*ct)[i] + if fe.H == 0 { // uninitialized non-final + ln := len(*ct) - start - n + if ln > 0xFF { + return 0, fmt.Errorf("genStates: relative block offset too large: %d > 255", ln) + } + fe.H = uint8(ln) + // Find first non-final strings with same byte as current entry. + for ; sis[sp].str[0] != fe.L; sp++ { + } + se := sp + 1 + for ; se < len(sis) && len(sis[se].str) > 1 && sis[se].str[0] == fe.L; se++ { + } + sl := sis[sp:se] + sp = se + for i, si := range sl { + sl[i].str = si.str[1:] + } + nn, err := genStates(ct, sl) + if err != nil { + return 0, err + } + fe.N = uint8(nn) + (*ct)[i] = fe + } + } + sort.Sort(entrySort((*ct)[start : start+n])) + return n, nil +} + +// There may be both a final and non-final entry for a byte if the byte +// is implied in a range of matches in the final entry. +// We need to ensure that the non-final entry comes first in that case. +type entrySort colltab.ContractTrieSet + +func (fe entrySort) Len() int { return len(fe) } +func (fe entrySort) Swap(i, j int) { fe[i], fe[j] = fe[j], fe[i] } +func (fe entrySort) Less(i, j int) bool { + return fe[i].L > fe[j].L +} + +// stridx is used for sorting suffixes and their associated offsets. +type stridx struct { + str string + index int +} + +// For computing the offsets, we first sort by size, and then by string. +// This ensures that strings that only differ in the last byte by 1 +// are sorted consecutively in increasing order such that they can +// be packed as a range in a final ctEntry. +type offsetSort []stridx + +func (si offsetSort) Len() int { return len(si) } +func (si offsetSort) Swap(i, j int) { si[i], si[j] = si[j], si[i] } +func (si offsetSort) Less(i, j int) bool { + if len(si[i].str) != len(si[j].str) { + return len(si[i].str) > len(si[j].str) + } + return si[i].str < si[j].str +} + +// For indexing, we want to ensure that strings are sorted in string order, where +// for strings with the same prefix, we put longer strings before shorter ones. +type genidxSort []stridx + +func (si genidxSort) Len() int { return len(si) } +func (si genidxSort) Swap(i, j int) { si[i], si[j] = si[j], si[i] } +func (si genidxSort) Less(i, j int) bool { + if strings.HasPrefix(si[j].str, si[i].str) { + return false + } + if strings.HasPrefix(si[i].str, si[j].str) { + return true + } + return si[i].str < si[j].str +} + +// lookup matches the longest suffix in str and returns the associated offset +// and the number of bytes consumed. +func lookup(ct *colltab.ContractTrieSet, h ctHandle, str []byte) (index, ns int) { + states := (*ct)[h.index:] + p := 0 + n := h.n + for i := 0; i < n && p < len(str); { + e := states[i] + c := str[p] + if c >= e.L { + if e.L == c { + p++ + if e.I != noIndex { + index, ns = int(e.I), p + } + if e.N != final { + // set to new state + i, states, n = 0, states[int(e.H)+n:], int(e.N) + } else { + return + } + continue + } else if e.N == final && c <= e.H { + p++ + return int(c-e.L) + int(e.I), p + } + } + i++ + } + return +} + +// print writes the contractTrieSet t as compilable Go code to w. It returns +// the total number of bytes written and the size of the resulting data structure in bytes. +func print(t *colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) { + update3 := func(nn, sz int, e error) { + n += nn + if err == nil { + err = e + } + size += sz + } + update2 := func(nn int, e error) { update3(nn, 0, e) } + + update3(printArray(*t, w, name)) + update2(fmt.Fprintf(w, "var %sContractTrieSet = ", name)) + update3(printStruct(*t, w, name)) + update2(fmt.Fprintln(w)) + return +} + +func printArray(ct colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) { + p := func(f string, a ...interface{}) { + nn, e := fmt.Fprintf(w, f, a...) + n += nn + if err == nil { + err = e + } + } + size = len(ct) * 4 + p("// %sCTEntries: %d entries, %d bytes\n", name, len(ct), size) + p("var %sCTEntries = [%d]struct{L,H,N,I uint8}{\n", name, len(ct)) + for _, fe := range ct { + p("\t{0x%X, 0x%X, %d, %d},\n", fe.L, fe.H, fe.N, fe.I) + } + p("}\n") + return +} + +func printStruct(ct colltab.ContractTrieSet, w io.Writer, name string) (n, size int, err error) { + n, err = fmt.Fprintf(w, "colltab.ContractTrieSet( %sCTEntries[:] )", name) + size = int(reflect.TypeOf(ct).Size()) + return +} diff --git a/vendor/golang.org/x/text/collate/build/order.go b/vendor/golang.org/x/text/collate/build/order.go new file mode 100644 index 000000000000..2c568dbba3c5 --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/order.go @@ -0,0 +1,393 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package build + +import ( + "fmt" + "log" + "sort" + "strings" + "unicode" + + "golang.org/x/text/internal/colltab" + "golang.org/x/text/unicode/norm" +) + +type logicalAnchor int + +const ( + firstAnchor logicalAnchor = -1 + noAnchor = 0 + lastAnchor = 1 +) + +// entry is used to keep track of a single entry in the collation element table +// during building. Examples of entries can be found in the Default Unicode +// Collation Element Table. +// See http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt. +type entry struct { + str string // same as string(runes) + runes []rune + elems []rawCE // the collation elements + extend string // weights of extend to be appended to elems + before bool // weights relative to next instead of previous. + lock bool // entry is used in extension and can no longer be moved. + + // prev, next, and level are used to keep track of tailorings. + prev, next *entry + level colltab.Level // next differs at this level + skipRemove bool // do not unlink when removed + + decompose bool // can use NFKD decomposition to generate elems + exclude bool // do not include in table + implicit bool // derived, is not included in the list + modified bool // entry was modified in tailoring + logical logicalAnchor + + expansionIndex int // used to store index into expansion table + contractionHandle ctHandle + contractionIndex int // index into contraction elements +} + +func (e *entry) String() string { + return fmt.Sprintf("%X (%q) -> %X (ch:%x; ci:%d, ei:%d)", + e.runes, e.str, e.elems, e.contractionHandle, e.contractionIndex, e.expansionIndex) +} + +func (e *entry) skip() bool { + return e.contraction() +} + +func (e *entry) expansion() bool { + return !e.decompose && len(e.elems) > 1 +} + +func (e *entry) contraction() bool { + return len(e.runes) > 1 +} + +func (e *entry) contractionStarter() bool { + return e.contractionHandle.n != 0 +} + +// nextIndexed gets the next entry that needs to be stored in the table. +// It returns the entry and the collation level at which the next entry differs +// from the current entry. +// Entries that can be explicitly derived and logical reset positions are +// examples of entries that will not be indexed. +func (e *entry) nextIndexed() (*entry, colltab.Level) { + level := e.level + for e = e.next; e != nil && (e.exclude || len(e.elems) == 0); e = e.next { + if e.level < level { + level = e.level + } + } + return e, level +} + +// remove unlinks entry e from the sorted chain and clears the collation +// elements. e may not be at the front or end of the list. This should always +// be the case, as the front and end of the list are always logical anchors, +// which may not be removed. +func (e *entry) remove() { + if e.logical != noAnchor { + log.Fatalf("may not remove anchor %q", e.str) + } + // TODO: need to set e.prev.level to e.level if e.level is smaller? + e.elems = nil + if !e.skipRemove { + if e.prev != nil { + e.prev.next = e.next + } + if e.next != nil { + e.next.prev = e.prev + } + } + e.skipRemove = false +} + +// insertAfter inserts n after e. +func (e *entry) insertAfter(n *entry) { + if e == n { + panic("e == anchor") + } + if e == nil { + panic("unexpected nil anchor") + } + n.remove() + n.decompose = false // redo decomposition test + + n.next = e.next + n.prev = e + if e.next != nil { + e.next.prev = n + } + e.next = n +} + +// insertBefore inserts n before e. +func (e *entry) insertBefore(n *entry) { + if e == n { + panic("e == anchor") + } + if e == nil { + panic("unexpected nil anchor") + } + n.remove() + n.decompose = false // redo decomposition test + + n.prev = e.prev + n.next = e + if e.prev != nil { + e.prev.next = n + } + e.prev = n +} + +func (e *entry) encodeBase() (ce uint32, err error) { + switch { + case e.expansion(): + ce, err = makeExpandIndex(e.expansionIndex) + default: + if e.decompose { + log.Fatal("decompose should be handled elsewhere") + } + ce, err = makeCE(e.elems[0]) + } + return +} + +func (e *entry) encode() (ce uint32, err error) { + if e.skip() { + log.Fatal("cannot build colElem for entry that should be skipped") + } + switch { + case e.decompose: + t1 := e.elems[0].w[2] + t2 := 0 + if len(e.elems) > 1 { + t2 = e.elems[1].w[2] + } + ce, err = makeDecompose(t1, t2) + case e.contractionStarter(): + ce, err = makeContractIndex(e.contractionHandle, e.contractionIndex) + default: + if len(e.runes) > 1 { + log.Fatal("colElem: contractions are handled in contraction trie") + } + ce, err = e.encodeBase() + } + return +} + +// entryLess returns true if a sorts before b and false otherwise. +func entryLess(a, b *entry) bool { + if res, _ := compareWeights(a.elems, b.elems); res != 0 { + return res == -1 + } + if a.logical != noAnchor { + return a.logical == firstAnchor + } + if b.logical != noAnchor { + return b.logical == lastAnchor + } + return a.str < b.str +} + +type sortedEntries []*entry + +func (s sortedEntries) Len() int { + return len(s) +} + +func (s sortedEntries) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s sortedEntries) Less(i, j int) bool { + return entryLess(s[i], s[j]) +} + +type ordering struct { + id string + entryMap map[string]*entry + ordered []*entry + handle *trieHandle +} + +// insert inserts e into both entryMap and ordered. +// Note that insert simply appends e to ordered. To reattain a sorted +// order, o.sort() should be called. +func (o *ordering) insert(e *entry) { + if e.logical == noAnchor { + o.entryMap[e.str] = e + } else { + // Use key format as used in UCA rules. + o.entryMap[fmt.Sprintf("[%s]", e.str)] = e + // Also add index entry for XML format. + o.entryMap[fmt.Sprintf("<%s/>", strings.Replace(e.str, " ", "_", -1))] = e + } + o.ordered = append(o.ordered, e) +} + +// newEntry creates a new entry for the given info and inserts it into +// the index. +func (o *ordering) newEntry(s string, ces []rawCE) *entry { + e := &entry{ + runes: []rune(s), + elems: ces, + str: s, + } + o.insert(e) + return e +} + +// find looks up and returns the entry for the given string. +// It returns nil if str is not in the index and if an implicit value +// cannot be derived, that is, if str represents more than one rune. +func (o *ordering) find(str string) *entry { + e := o.entryMap[str] + if e == nil { + r := []rune(str) + if len(r) == 1 { + const ( + firstHangul = 0xAC00 + lastHangul = 0xD7A3 + ) + if r[0] >= firstHangul && r[0] <= lastHangul { + ce := []rawCE{} + nfd := norm.NFD.String(str) + for _, r := range nfd { + ce = append(ce, o.find(string(r)).elems...) + } + e = o.newEntry(nfd, ce) + } else { + e = o.newEntry(string(r[0]), []rawCE{ + {w: []int{ + implicitPrimary(r[0]), + defaultSecondary, + defaultTertiary, + int(r[0]), + }, + }, + }) + e.modified = true + } + e.exclude = true // do not index implicits + } + } + return e +} + +// makeRootOrdering returns a newly initialized ordering value and populates +// it with a set of logical reset points that can be used as anchors. +// The anchors first_tertiary_ignorable and __END__ will always sort at +// the beginning and end, respectively. This means that prev and next are non-nil +// for any indexed entry. +func makeRootOrdering() ordering { + const max = unicode.MaxRune + o := ordering{ + entryMap: make(map[string]*entry), + } + insert := func(typ logicalAnchor, s string, ce []int) { + e := &entry{ + elems: []rawCE{{w: ce}}, + str: s, + exclude: true, + logical: typ, + } + o.insert(e) + } + insert(firstAnchor, "first tertiary ignorable", []int{0, 0, 0, 0}) + insert(lastAnchor, "last tertiary ignorable", []int{0, 0, 0, max}) + insert(lastAnchor, "last primary ignorable", []int{0, defaultSecondary, defaultTertiary, max}) + insert(lastAnchor, "last non ignorable", []int{maxPrimary, defaultSecondary, defaultTertiary, max}) + insert(lastAnchor, "__END__", []int{1 << maxPrimaryBits, defaultSecondary, defaultTertiary, max}) + return o +} + +// patchForInsert eleminates entries from the list with more than one collation element. +// The next and prev fields of the eliminated entries still point to appropriate +// values in the newly created list. +// It requires that sort has been called. +func (o *ordering) patchForInsert() { + for i := 0; i < len(o.ordered)-1; { + e := o.ordered[i] + lev := e.level + n := e.next + for ; n != nil && len(n.elems) > 1; n = n.next { + if n.level < lev { + lev = n.level + } + n.skipRemove = true + } + for ; o.ordered[i] != n; i++ { + o.ordered[i].level = lev + o.ordered[i].next = n + o.ordered[i+1].prev = e + } + } +} + +// clone copies all ordering of es into a new ordering value. +func (o *ordering) clone() *ordering { + o.sort() + oo := ordering{ + entryMap: make(map[string]*entry), + } + for _, e := range o.ordered { + ne := &entry{ + runes: e.runes, + elems: e.elems, + str: e.str, + decompose: e.decompose, + exclude: e.exclude, + logical: e.logical, + } + oo.insert(ne) + } + oo.sort() // link all ordering. + oo.patchForInsert() + return &oo +} + +// front returns the first entry to be indexed. +// It assumes that sort() has been called. +func (o *ordering) front() *entry { + e := o.ordered[0] + if e.prev != nil { + log.Panicf("unexpected first entry: %v", e) + } + // The first entry is always a logical position, which should not be indexed. + e, _ = e.nextIndexed() + return e +} + +// sort sorts all ordering based on their collation elements and initializes +// the prev, next, and level fields accordingly. +func (o *ordering) sort() { + sort.Sort(sortedEntries(o.ordered)) + l := o.ordered + for i := 1; i < len(l); i++ { + k := i - 1 + l[k].next = l[i] + _, l[k].level = compareWeights(l[k].elems, l[i].elems) + l[i].prev = l[k] + } +} + +// genColElems generates a collation element array from the runes in str. This +// assumes that all collation elements have already been added to the Builder. +func (o *ordering) genColElems(str string) []rawCE { + elems := []rawCE{} + for _, r := range []rune(str) { + for _, ce := range o.find(string(r)).elems { + if ce.w[0] != 0 || ce.w[1] != 0 || ce.w[2] != 0 { + elems = append(elems, ce) + } + } + } + return elems +} diff --git a/vendor/golang.org/x/text/collate/build/table.go b/vendor/golang.org/x/text/collate/build/table.go new file mode 100644 index 000000000000..7eea7a63f44c --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/table.go @@ -0,0 +1,81 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package build + +import ( + "fmt" + "io" + "reflect" + + "golang.org/x/text/internal/colltab" +) + +// table is an intermediate structure that roughly resembles the table in collate. +type table struct { + colltab.Table + trie trie + root *trieHandle +} + +// print writes the table as Go compilable code to w. It prefixes the +// variable names with name. It returns the number of bytes written +// and the size of the resulting table. +func (t *table) fprint(w io.Writer, name string) (n, size int, err error) { + update := func(nn, sz int, e error) { + n += nn + if err == nil { + err = e + } + size += sz + } + // Write arrays needed for the structure. + update(printColElems(w, t.ExpandElem, name+"ExpandElem")) + update(printColElems(w, t.ContractElem, name+"ContractElem")) + update(t.trie.printArrays(w, name)) + update(printArray(t.ContractTries, w, name)) + + nn, e := fmt.Fprintf(w, "// Total size of %sTable is %d bytes\n", name, size) + update(nn, 0, e) + return +} + +func (t *table) fprintIndex(w io.Writer, h *trieHandle, id string) (n int, err error) { + p := func(f string, a ...interface{}) { + nn, e := fmt.Fprintf(w, f, a...) + n += nn + if err == nil { + err = e + } + } + p("\t{ // %s\n", id) + p("\t\tlookupOffset: 0x%x,\n", h.lookupStart) + p("\t\tvaluesOffset: 0x%x,\n", h.valueStart) + p("\t},\n") + return +} + +func printColElems(w io.Writer, a []uint32, name string) (n, sz int, err error) { + p := func(f string, a ...interface{}) { + nn, e := fmt.Fprintf(w, f, a...) + n += nn + if err == nil { + err = e + } + } + sz = len(a) * int(reflect.TypeOf(uint32(0)).Size()) + p("// %s: %d entries, %d bytes\n", name, len(a), sz) + p("var %s = [%d]uint32 {", name, len(a)) + for i, c := range a { + switch { + case i%64 == 0: + p("\n\t// Block %d, offset 0x%x\n", i/64, i) + case (i%64)%6 == 0: + p("\n\t") + } + p("0x%.8X, ", c) + } + p("\n}\n\n") + return +} diff --git a/vendor/golang.org/x/text/collate/build/trie.go b/vendor/golang.org/x/text/collate/build/trie.go new file mode 100644 index 000000000000..9404a3465bf4 --- /dev/null +++ b/vendor/golang.org/x/text/collate/build/trie.go @@ -0,0 +1,290 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The trie in this file is used to associate the first full character +// in a UTF-8 string to a collation element. +// All but the last byte in a UTF-8 byte sequence are +// used to look up offsets in the index table to be used for the next byte. +// The last byte is used to index into a table of collation elements. +// This file contains the code for the generation of the trie. + +package build + +import ( + "fmt" + "hash/fnv" + "io" + "reflect" +) + +const ( + blockSize = 64 + blockOffset = 2 // Subtract 2 blocks to compensate for the 0x80 added to continuation bytes. +) + +type trieHandle struct { + lookupStart uint16 // offset in table for first byte + valueStart uint16 // offset in table for first byte +} + +type trie struct { + index []uint16 + values []uint32 +} + +// trieNode is the intermediate trie structure used for generating a trie. +type trieNode struct { + index []*trieNode + value []uint32 + b byte + refValue uint16 + refIndex uint16 +} + +func newNode() *trieNode { + return &trieNode{ + index: make([]*trieNode, 64), + value: make([]uint32, 128), // root node size is 128 instead of 64 + } +} + +func (n *trieNode) isInternal() bool { + return n.value != nil +} + +func (n *trieNode) insert(r rune, value uint32) { + const maskx = 0x3F // mask out two most-significant bits + str := string(r) + if len(str) == 1 { + n.value[str[0]] = value + return + } + for i := 0; i < len(str)-1; i++ { + b := str[i] & maskx + if n.index == nil { + n.index = make([]*trieNode, blockSize) + } + nn := n.index[b] + if nn == nil { + nn = &trieNode{} + nn.b = b + n.index[b] = nn + } + n = nn + } + if n.value == nil { + n.value = make([]uint32, blockSize) + } + b := str[len(str)-1] & maskx + n.value[b] = value +} + +type trieBuilder struct { + t *trie + + roots []*trieHandle + + lookupBlocks []*trieNode + valueBlocks []*trieNode + + lookupBlockIdx map[uint32]*trieNode + valueBlockIdx map[uint32]*trieNode +} + +func newTrieBuilder() *trieBuilder { + index := &trieBuilder{} + index.lookupBlocks = make([]*trieNode, 0) + index.valueBlocks = make([]*trieNode, 0) + index.lookupBlockIdx = make(map[uint32]*trieNode) + index.valueBlockIdx = make(map[uint32]*trieNode) + // The third nil is the default null block. The other two blocks + // are used to guarantee an offset of at least 3 for each block. + index.lookupBlocks = append(index.lookupBlocks, nil, nil, nil) + index.t = &trie{} + return index +} + +func (b *trieBuilder) computeOffsets(n *trieNode) *trieNode { + hasher := fnv.New32() + if n.index != nil { + for i, nn := range n.index { + var vi, vv uint16 + if nn != nil { + nn = b.computeOffsets(nn) + n.index[i] = nn + vi = nn.refIndex + vv = nn.refValue + } + hasher.Write([]byte{byte(vi >> 8), byte(vi)}) + hasher.Write([]byte{byte(vv >> 8), byte(vv)}) + } + h := hasher.Sum32() + nn, ok := b.lookupBlockIdx[h] + if !ok { + n.refIndex = uint16(len(b.lookupBlocks)) - blockOffset + b.lookupBlocks = append(b.lookupBlocks, n) + b.lookupBlockIdx[h] = n + } else { + n = nn + } + } else { + for _, v := range n.value { + hasher.Write([]byte{byte(v >> 24), byte(v >> 16), byte(v >> 8), byte(v)}) + } + h := hasher.Sum32() + nn, ok := b.valueBlockIdx[h] + if !ok { + n.refValue = uint16(len(b.valueBlocks)) - blockOffset + n.refIndex = n.refValue + b.valueBlocks = append(b.valueBlocks, n) + b.valueBlockIdx[h] = n + } else { + n = nn + } + } + return n +} + +func (b *trieBuilder) addStartValueBlock(n *trieNode) uint16 { + hasher := fnv.New32() + for _, v := range n.value[:2*blockSize] { + hasher.Write([]byte{byte(v >> 24), byte(v >> 16), byte(v >> 8), byte(v)}) + } + h := hasher.Sum32() + nn, ok := b.valueBlockIdx[h] + if !ok { + n.refValue = uint16(len(b.valueBlocks)) + n.refIndex = n.refValue + b.valueBlocks = append(b.valueBlocks, n) + // Add a dummy block to accommodate the double block size. + b.valueBlocks = append(b.valueBlocks, nil) + b.valueBlockIdx[h] = n + } else { + n = nn + } + return n.refValue +} + +func genValueBlock(t *trie, n *trieNode) { + if n != nil { + for _, v := range n.value { + t.values = append(t.values, v) + } + } +} + +func genLookupBlock(t *trie, n *trieNode) { + for _, nn := range n.index { + v := uint16(0) + if nn != nil { + if n.index != nil { + v = nn.refIndex + } else { + v = nn.refValue + } + } + t.index = append(t.index, v) + } +} + +func (b *trieBuilder) addTrie(n *trieNode) *trieHandle { + h := &trieHandle{} + b.roots = append(b.roots, h) + h.valueStart = b.addStartValueBlock(n) + if len(b.roots) == 1 { + // We insert a null block after the first start value block. + // This ensures that continuation bytes UTF-8 sequences of length + // greater than 2 will automatically hit a null block if there + // was an undefined entry. + b.valueBlocks = append(b.valueBlocks, nil) + } + n = b.computeOffsets(n) + // Offset by one extra block as the first byte starts at 0xC0 instead of 0x80. + h.lookupStart = n.refIndex - 1 + return h +} + +// generate generates and returns the trie for n. +func (b *trieBuilder) generate() (t *trie, err error) { + t = b.t + if len(b.valueBlocks) >= 1<<16 { + return nil, fmt.Errorf("maximum number of value blocks exceeded (%d > %d)", len(b.valueBlocks), 1<<16) + } + if len(b.lookupBlocks) >= 1<<16 { + return nil, fmt.Errorf("maximum number of lookup blocks exceeded (%d > %d)", len(b.lookupBlocks), 1<<16) + } + genValueBlock(t, b.valueBlocks[0]) + genValueBlock(t, &trieNode{value: make([]uint32, 64)}) + for i := 2; i < len(b.valueBlocks); i++ { + genValueBlock(t, b.valueBlocks[i]) + } + n := &trieNode{index: make([]*trieNode, 64)} + genLookupBlock(t, n) + genLookupBlock(t, n) + genLookupBlock(t, n) + for i := 3; i < len(b.lookupBlocks); i++ { + genLookupBlock(t, b.lookupBlocks[i]) + } + return b.t, nil +} + +func (t *trie) printArrays(w io.Writer, name string) (n, size int, err error) { + p := func(f string, a ...interface{}) { + nn, e := fmt.Fprintf(w, f, a...) + n += nn + if err == nil { + err = e + } + } + nv := len(t.values) + p("// %sValues: %d entries, %d bytes\n", name, nv, nv*4) + p("// Block 2 is the null block.\n") + p("var %sValues = [%d]uint32 {", name, nv) + var printnewline bool + for i, v := range t.values { + if i%blockSize == 0 { + p("\n\t// Block %#x, offset %#x", i/blockSize, i) + } + if i%4 == 0 { + printnewline = true + } + if v != 0 { + if printnewline { + p("\n\t") + printnewline = false + } + p("%#04x:%#08x, ", i, v) + } + } + p("\n}\n\n") + ni := len(t.index) + p("// %sLookup: %d entries, %d bytes\n", name, ni, ni*2) + p("// Block 0 is the null block.\n") + p("var %sLookup = [%d]uint16 {", name, ni) + printnewline = false + for i, v := range t.index { + if i%blockSize == 0 { + p("\n\t// Block %#x, offset %#x", i/blockSize, i) + } + if i%8 == 0 { + printnewline = true + } + if v != 0 { + if printnewline { + p("\n\t") + printnewline = false + } + p("%#03x:%#02x, ", i, v) + } + } + p("\n}\n\n") + return n, nv*4 + ni*2, err +} + +func (t *trie) printStruct(w io.Writer, handle *trieHandle, name string) (n, sz int, err error) { + const msg = "trie{ %sLookup[%d:], %sValues[%d:], %sLookup[:], %sValues[:]}" + n, err = fmt.Fprintf(w, msg, name, handle.lookupStart*blockSize, name, handle.valueStart*blockSize, name, name) + sz += int(reflect.TypeOf(trie{}).Size()) + return +} diff --git a/vendor/golang.org/x/text/collate/collate.go b/vendor/golang.org/x/text/collate/collate.go new file mode 100644 index 000000000000..2ce96890740c --- /dev/null +++ b/vendor/golang.org/x/text/collate/collate.go @@ -0,0 +1,403 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO: remove hard-coded versions when we have implemented fractional weights. +// The current implementation is incompatible with later CLDR versions. +//go:generate go run maketables.go -cldr=23 -unicode=6.2.0 + +// Package collate contains types for comparing and sorting Unicode strings +// according to a given collation order. +package collate // import "golang.org/x/text/collate" + +import ( + "bytes" + "strings" + + "golang.org/x/text/internal/colltab" + "golang.org/x/text/language" +) + +// Collator provides functionality for comparing strings for a given +// collation order. +type Collator struct { + options + + sorter sorter + + _iter [2]iter +} + +func (c *Collator) iter(i int) *iter { + // TODO: evaluate performance for making the second iterator optional. + return &c._iter[i] +} + +// Supported returns the list of languages for which collating differs from its parent. +func Supported() []language.Tag { + // TODO: use language.Coverage instead. + + t := make([]language.Tag, len(tags)) + copy(t, tags) + return t +} + +func init() { + ids := strings.Split(availableLocales, ",") + tags = make([]language.Tag, len(ids)) + for i, s := range ids { + tags[i] = language.Raw.MustParse(s) + } +} + +var tags []language.Tag + +// New returns a new Collator initialized for the given locale. +func New(t language.Tag, o ...Option) *Collator { + index := colltab.MatchLang(t, tags) + c := newCollator(getTable(locales[index])) + + // Set options from the user-supplied tag. + c.setFromTag(t) + + // Set the user-supplied options. + c.setOptions(o) + + c.init() + return c +} + +// NewFromTable returns a new Collator for the given Weighter. +func NewFromTable(w colltab.Weighter, o ...Option) *Collator { + c := newCollator(w) + c.setOptions(o) + c.init() + return c +} + +func (c *Collator) init() { + if c.numeric { + c.t = colltab.NewNumericWeighter(c.t) + } + c._iter[0].init(c) + c._iter[1].init(c) +} + +// Buffer holds keys generated by Key and KeyString. +type Buffer struct { + buf [4096]byte + key []byte +} + +func (b *Buffer) init() { + if b.key == nil { + b.key = b.buf[:0] + } +} + +// Reset clears the buffer from previous results generated by Key and KeyString. +func (b *Buffer) Reset() { + b.key = b.key[:0] +} + +// Compare returns an integer comparing the two byte slices. +// The result will be 0 if a==b, -1 if a < b, and +1 if a > b. +func (c *Collator) Compare(a, b []byte) int { + // TODO: skip identical prefixes once we have a fast way to detect if a rune is + // part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest. + c.iter(0).SetInput(a) + c.iter(1).SetInput(b) + if res := c.compare(); res != 0 { + return res + } + if !c.ignore[colltab.Identity] { + return bytes.Compare(a, b) + } + return 0 +} + +// CompareString returns an integer comparing the two strings. +// The result will be 0 if a==b, -1 if a < b, and +1 if a > b. +func (c *Collator) CompareString(a, b string) int { + // TODO: skip identical prefixes once we have a fast way to detect if a rune is + // part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest. + c.iter(0).SetInputString(a) + c.iter(1).SetInputString(b) + if res := c.compare(); res != 0 { + return res + } + if !c.ignore[colltab.Identity] { + if a < b { + return -1 + } else if a > b { + return 1 + } + } + return 0 +} + +func compareLevel(f func(i *iter) int, a, b *iter) int { + a.pce = 0 + b.pce = 0 + for { + va := f(a) + vb := f(b) + if va != vb { + if va < vb { + return -1 + } + return 1 + } else if va == 0 { + break + } + } + return 0 +} + +func (c *Collator) compare() int { + ia, ib := c.iter(0), c.iter(1) + // Process primary level + if c.alternate != altShifted { + // TODO: implement script reordering + if res := compareLevel((*iter).nextPrimary, ia, ib); res != 0 { + return res + } + } else { + // TODO: handle shifted + } + if !c.ignore[colltab.Secondary] { + f := (*iter).nextSecondary + if c.backwards { + f = (*iter).prevSecondary + } + if res := compareLevel(f, ia, ib); res != 0 { + return res + } + } + // TODO: special case handling (Danish?) + if !c.ignore[colltab.Tertiary] || c.caseLevel { + if res := compareLevel((*iter).nextTertiary, ia, ib); res != 0 { + return res + } + if !c.ignore[colltab.Quaternary] { + if res := compareLevel((*iter).nextQuaternary, ia, ib); res != 0 { + return res + } + } + } + return 0 +} + +// Key returns the collation key for str. +// Passing the buffer buf may avoid memory allocations. +// The returned slice will point to an allocation in Buffer and will remain +// valid until the next call to buf.Reset(). +func (c *Collator) Key(buf *Buffer, str []byte) []byte { + // See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details. + buf.init() + return c.key(buf, c.getColElems(str)) +} + +// KeyFromString returns the collation key for str. +// Passing the buffer buf may avoid memory allocations. +// The returned slice will point to an allocation in Buffer and will retain +// valid until the next call to buf.ResetKeys(). +func (c *Collator) KeyFromString(buf *Buffer, str string) []byte { + // See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details. + buf.init() + return c.key(buf, c.getColElemsString(str)) +} + +func (c *Collator) key(buf *Buffer, w []colltab.Elem) []byte { + processWeights(c.alternate, c.t.Top(), w) + kn := len(buf.key) + c.keyFromElems(buf, w) + return buf.key[kn:] +} + +func (c *Collator) getColElems(str []byte) []colltab.Elem { + i := c.iter(0) + i.SetInput(str) + for i.Next() { + } + return i.Elems +} + +func (c *Collator) getColElemsString(str string) []colltab.Elem { + i := c.iter(0) + i.SetInputString(str) + for i.Next() { + } + return i.Elems +} + +type iter struct { + wa [512]colltab.Elem + + colltab.Iter + pce int +} + +func (i *iter) init(c *Collator) { + i.Weighter = c.t + i.Elems = i.wa[:0] +} + +func (i *iter) nextPrimary() int { + for { + for ; i.pce < i.N; i.pce++ { + if v := i.Elems[i.pce].Primary(); v != 0 { + i.pce++ + return v + } + } + if !i.Next() { + return 0 + } + } + panic("should not reach here") +} + +func (i *iter) nextSecondary() int { + for ; i.pce < len(i.Elems); i.pce++ { + if v := i.Elems[i.pce].Secondary(); v != 0 { + i.pce++ + return v + } + } + return 0 +} + +func (i *iter) prevSecondary() int { + for ; i.pce < len(i.Elems); i.pce++ { + if v := i.Elems[len(i.Elems)-i.pce-1].Secondary(); v != 0 { + i.pce++ + return v + } + } + return 0 +} + +func (i *iter) nextTertiary() int { + for ; i.pce < len(i.Elems); i.pce++ { + if v := i.Elems[i.pce].Tertiary(); v != 0 { + i.pce++ + return int(v) + } + } + return 0 +} + +func (i *iter) nextQuaternary() int { + for ; i.pce < len(i.Elems); i.pce++ { + if v := i.Elems[i.pce].Quaternary(); v != 0 { + i.pce++ + return v + } + } + return 0 +} + +func appendPrimary(key []byte, p int) []byte { + // Convert to variable length encoding; supports up to 23 bits. + if p <= 0x7FFF { + key = append(key, uint8(p>>8), uint8(p)) + } else { + key = append(key, uint8(p>>16)|0x80, uint8(p>>8), uint8(p)) + } + return key +} + +// keyFromElems converts the weights ws to a compact sequence of bytes. +// The result will be appended to the byte buffer in buf. +func (c *Collator) keyFromElems(buf *Buffer, ws []colltab.Elem) { + for _, v := range ws { + if w := v.Primary(); w > 0 { + buf.key = appendPrimary(buf.key, w) + } + } + if !c.ignore[colltab.Secondary] { + buf.key = append(buf.key, 0, 0) + // TODO: we can use one 0 if we can guarantee that all non-zero weights are > 0xFF. + if !c.backwards { + for _, v := range ws { + if w := v.Secondary(); w > 0 { + buf.key = append(buf.key, uint8(w>>8), uint8(w)) + } + } + } else { + for i := len(ws) - 1; i >= 0; i-- { + if w := ws[i].Secondary(); w > 0 { + buf.key = append(buf.key, uint8(w>>8), uint8(w)) + } + } + } + } else if c.caseLevel { + buf.key = append(buf.key, 0, 0) + } + if !c.ignore[colltab.Tertiary] || c.caseLevel { + buf.key = append(buf.key, 0, 0) + for _, v := range ws { + if w := v.Tertiary(); w > 0 { + buf.key = append(buf.key, uint8(w)) + } + } + // Derive the quaternary weights from the options and other levels. + // Note that we represent MaxQuaternary as 0xFF. The first byte of the + // representation of a primary weight is always smaller than 0xFF, + // so using this single byte value will compare correctly. + if !c.ignore[colltab.Quaternary] && c.alternate >= altShifted { + if c.alternate == altShiftTrimmed { + lastNonFFFF := len(buf.key) + buf.key = append(buf.key, 0) + for _, v := range ws { + if w := v.Quaternary(); w == colltab.MaxQuaternary { + buf.key = append(buf.key, 0xFF) + } else if w > 0 { + buf.key = appendPrimary(buf.key, w) + lastNonFFFF = len(buf.key) + } + } + buf.key = buf.key[:lastNonFFFF] + } else { + buf.key = append(buf.key, 0) + for _, v := range ws { + if w := v.Quaternary(); w == colltab.MaxQuaternary { + buf.key = append(buf.key, 0xFF) + } else if w > 0 { + buf.key = appendPrimary(buf.key, w) + } + } + } + } + } +} + +func processWeights(vw alternateHandling, top uint32, wa []colltab.Elem) { + ignore := false + vtop := int(top) + switch vw { + case altShifted, altShiftTrimmed: + for i := range wa { + if p := wa[i].Primary(); p <= vtop && p != 0 { + wa[i] = colltab.MakeQuaternary(p) + ignore = true + } else if p == 0 { + if ignore { + wa[i] = colltab.Ignore + } + } else { + ignore = false + } + } + case altBlanked: + for i := range wa { + if p := wa[i].Primary(); p <= vtop && (ignore || p != 0) { + wa[i] = colltab.Ignore + ignore = true + } else { + ignore = false + } + } + } +} diff --git a/vendor/golang.org/x/text/collate/index.go b/vendor/golang.org/x/text/collate/index.go new file mode 100644 index 000000000000..535fb5402a8c --- /dev/null +++ b/vendor/golang.org/x/text/collate/index.go @@ -0,0 +1,32 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package collate + +import "golang.org/x/text/internal/colltab" + +const blockSize = 64 + +func getTable(t tableIndex) *colltab.Table { + return &colltab.Table{ + Index: colltab.Trie{ + Index0: mainLookup[:][blockSize*t.lookupOffset:], + Values0: mainValues[:][blockSize*t.valuesOffset:], + Index: mainLookup[:], + Values: mainValues[:], + }, + ExpandElem: mainExpandElem[:], + ContractTries: colltab.ContractTrieSet(mainCTEntries[:]), + ContractElem: mainContractElem[:], + MaxContractLen: 18, + VariableTop: varTop, + } +} + +// tableIndex holds information for constructing a table +// for a certain locale based on the main table. +type tableIndex struct { + lookupOffset uint32 + valuesOffset uint32 +} diff --git a/vendor/golang.org/x/text/collate/maketables.go b/vendor/golang.org/x/text/collate/maketables.go new file mode 100644 index 000000000000..b4c835ed4d99 --- /dev/null +++ b/vendor/golang.org/x/text/collate/maketables.go @@ -0,0 +1,553 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// Collation table generator. +// Data read from the web. + +package main + +import ( + "archive/zip" + "bufio" + "bytes" + "flag" + "fmt" + "io" + "io/ioutil" + "log" + "os" + "regexp" + "sort" + "strconv" + "strings" + "unicode/utf8" + + "golang.org/x/text/collate" + "golang.org/x/text/collate/build" + "golang.org/x/text/internal/colltab" + "golang.org/x/text/internal/gen" + "golang.org/x/text/language" + "golang.org/x/text/unicode/cldr" +) + +var ( + test = flag.Bool("test", false, + "test existing tables; can be used to compare web data with package data.") + short = flag.Bool("short", false, `Use "short" alternatives, when available.`) + draft = flag.Bool("draft", false, `Use draft versions, when available.`) + tags = flag.String("tags", "", "build tags to be included after +build directive") + pkg = flag.String("package", "collate", + "the name of the package in which the generated file is to be included") + + tables = flagStringSetAllowAll("tables", "collate", "collate,chars", + "comma-spearated list of tables to generate.") + exclude = flagStringSet("exclude", "zh2", "", + "comma-separated list of languages to exclude.") + include = flagStringSet("include", "", "", + "comma-separated list of languages to include. Include trumps exclude.") + // TODO: Not included: unihan gb2312han zhuyin big5han (for size reasons) + // TODO: Not included: traditional (buggy for Bengali) + types = flagStringSetAllowAll("types", "standard,phonebook,phonetic,reformed,pinyin,stroke", "", + "comma-separated list of types that should be included.") +) + +// stringSet implements an ordered set based on a list. It implements flag.Value +// to allow a set to be specified as a comma-separated list. +type stringSet struct { + s []string + allowed *stringSet + dirty bool // needs compaction if true + all bool + allowAll bool +} + +func flagStringSet(name, def, allowed, usage string) *stringSet { + ss := &stringSet{} + if allowed != "" { + usage += fmt.Sprintf(" (allowed values: any of %s)", allowed) + ss.allowed = &stringSet{} + failOnError(ss.allowed.Set(allowed)) + } + ss.Set(def) + flag.Var(ss, name, usage) + return ss +} + +func flagStringSetAllowAll(name, def, allowed, usage string) *stringSet { + ss := &stringSet{allowAll: true} + if allowed == "" { + flag.Var(ss, name, usage+fmt.Sprintf(` Use "all" to select all.`)) + } else { + ss.allowed = &stringSet{} + failOnError(ss.allowed.Set(allowed)) + flag.Var(ss, name, usage+fmt.Sprintf(` (allowed values: "all" or any of %s)`, allowed)) + } + ss.Set(def) + return ss +} + +func (ss stringSet) Len() int { + return len(ss.s) +} + +func (ss stringSet) String() string { + return strings.Join(ss.s, ",") +} + +func (ss *stringSet) Set(s string) error { + if ss.allowAll && s == "all" { + ss.s = nil + ss.all = true + return nil + } + ss.s = ss.s[:0] + for _, s := range strings.Split(s, ",") { + if s := strings.TrimSpace(s); s != "" { + if ss.allowed != nil && !ss.allowed.contains(s) { + return fmt.Errorf("unsupported value %q; must be one of %s", s, ss.allowed) + } + ss.add(s) + } + } + ss.compact() + return nil +} + +func (ss *stringSet) add(s string) { + ss.s = append(ss.s, s) + ss.dirty = true +} + +func (ss *stringSet) values() []string { + ss.compact() + return ss.s +} + +func (ss *stringSet) contains(s string) bool { + if ss.all { + return true + } + for _, v := range ss.s { + if v == s { + return true + } + } + return false +} + +func (ss *stringSet) compact() { + if !ss.dirty { + return + } + a := ss.s + sort.Strings(a) + k := 0 + for i := 1; i < len(a); i++ { + if a[k] != a[i] { + a[k+1] = a[i] + k++ + } + } + ss.s = a[:k+1] + ss.dirty = false +} + +func skipLang(l string) bool { + if include.Len() > 0 { + return !include.contains(l) + } + return exclude.contains(l) +} + +// altInclude returns a list of alternatives (for the LDML alt attribute) +// in order of preference. An empty string in this list indicates the +// default entry. +func altInclude() []string { + l := []string{} + if *short { + l = append(l, "short") + } + l = append(l, "") + // TODO: handle draft using cldr.SetDraftLevel + if *draft { + l = append(l, "proposed") + } + return l +} + +func failOnError(e error) { + if e != nil { + log.Panic(e) + } +} + +func openArchive() *zip.Reader { + f := gen.OpenCLDRCoreZip() + buffer, err := ioutil.ReadAll(f) + f.Close() + failOnError(err) + archive, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer))) + failOnError(err) + return archive +} + +// parseUCA parses a Default Unicode Collation Element Table of the format +// specified in http://www.unicode.org/reports/tr10/#File_Format. +// It returns the variable top. +func parseUCA(builder *build.Builder) { + var r io.ReadCloser + var err error + for _, f := range openArchive().File { + if strings.HasSuffix(f.Name, "allkeys_CLDR.txt") { + r, err = f.Open() + } + } + if r == nil { + log.Fatal("File allkeys_CLDR.txt not found in archive.") + } + failOnError(err) + defer r.Close() + scanner := bufio.NewScanner(r) + colelem := regexp.MustCompile(`\[([.*])([0-9A-F.]+)\]`) + for i := 1; scanner.Scan(); i++ { + line := scanner.Text() + if len(line) == 0 || line[0] == '#' { + continue + } + if line[0] == '@' { + // parse properties + switch { + case strings.HasPrefix(line[1:], "version "): + a := strings.Split(line[1:], " ") + if a[1] != gen.UnicodeVersion() { + log.Fatalf("incompatible version %s; want %s", a[1], gen.UnicodeVersion()) + } + case strings.HasPrefix(line[1:], "backwards "): + log.Fatalf("%d: unsupported option backwards", i) + default: + log.Printf("%d: unknown option %s", i, line[1:]) + } + } else { + // parse entries + part := strings.Split(line, " ; ") + if len(part) != 2 { + log.Fatalf("%d: production rule without ';': %v", i, line) + } + lhs := []rune{} + for _, v := range strings.Split(part[0], " ") { + if v == "" { + continue + } + lhs = append(lhs, rune(convHex(i, v))) + } + var n int + var vars []int + rhs := [][]int{} + for i, m := range colelem.FindAllStringSubmatch(part[1], -1) { + n += len(m[0]) + elem := []int{} + for _, h := range strings.Split(m[2], ".") { + elem = append(elem, convHex(i, h)) + } + if m[1] == "*" { + vars = append(vars, i) + } + rhs = append(rhs, elem) + } + if len(part[1]) < n+3 || part[1][n+1] != '#' { + log.Fatalf("%d: expected comment; found %s", i, part[1][n:]) + } + if *test { + testInput.add(string(lhs)) + } + failOnError(builder.Add(lhs, rhs, vars)) + } + } + if scanner.Err() != nil { + log.Fatal(scanner.Err()) + } +} + +func convHex(line int, s string) int { + r, e := strconv.ParseInt(s, 16, 32) + if e != nil { + log.Fatalf("%d: %v", line, e) + } + return int(r) +} + +var testInput = stringSet{} + +var charRe = regexp.MustCompile(`&#x([0-9A-F]*);`) +var tagRe = regexp.MustCompile(`<([a-z_]*) */>`) + +var mainLocales = []string{} + +// charsets holds a list of exemplar characters per category. +type charSets map[string][]string + +func (p charSets) fprint(w io.Writer) { + fmt.Fprintln(w, "[exN]string{") + for i, k := range []string{"", "contractions", "punctuation", "auxiliary", "currencySymbol", "index"} { + if set := p[k]; len(set) != 0 { + fmt.Fprintf(w, "\t\t%d: %q,\n", i, strings.Join(set, " ")) + } + } + fmt.Fprintln(w, "\t},") +} + +var localeChars = make(map[string]charSets) + +const exemplarHeader = ` +type exemplarType int +const ( + exCharacters exemplarType = iota + exContractions + exPunctuation + exAuxiliary + exCurrency + exIndex + exN +) +` + +func printExemplarCharacters(w io.Writer) { + fmt.Fprintln(w, exemplarHeader) + fmt.Fprintln(w, "var exemplarCharacters = map[string][exN]string{") + for _, loc := range mainLocales { + fmt.Fprintf(w, "\t%q: ", loc) + localeChars[loc].fprint(w) + } + fmt.Fprintln(w, "}") +} + +func decodeCLDR(d *cldr.Decoder) *cldr.CLDR { + r := gen.OpenCLDRCoreZip() + data, err := d.DecodeZip(r) + failOnError(err) + return data +} + +// parseMain parses XML files in the main directory of the CLDR core.zip file. +func parseMain() { + d := &cldr.Decoder{} + d.SetDirFilter("main") + d.SetSectionFilter("characters") + data := decodeCLDR(d) + for _, loc := range data.Locales() { + x := data.RawLDML(loc) + if skipLang(x.Identity.Language.Type) { + continue + } + if x.Characters != nil { + x, _ = data.LDML(loc) + loc = language.Make(loc).String() + for _, ec := range x.Characters.ExemplarCharacters { + if ec.Draft != "" { + continue + } + if _, ok := localeChars[loc]; !ok { + mainLocales = append(mainLocales, loc) + localeChars[loc] = make(charSets) + } + localeChars[loc][ec.Type] = parseCharacters(ec.Data()) + } + } + } +} + +func parseCharacters(chars string) []string { + parseSingle := func(s string) (r rune, tail string, escaped bool) { + if s[0] == '\\' { + return rune(s[1]), s[2:], true + } + r, sz := utf8.DecodeRuneInString(s) + return r, s[sz:], false + } + chars = strings.TrimSpace(chars) + if n := len(chars) - 1; chars[n] == ']' && chars[0] == '[' { + chars = chars[1:n] + } + list := []string{} + var r, last, end rune + for len(chars) > 0 { + if chars[0] == '{' { // character sequence + buf := []rune{} + for chars = chars[1:]; len(chars) > 0; { + r, chars, _ = parseSingle(chars) + if r == '}' { + break + } + if r == ' ' { + log.Fatalf("space not supported in sequence %q", chars) + } + buf = append(buf, r) + } + list = append(list, string(buf)) + last = 0 + } else { // single character + escaped := false + r, chars, escaped = parseSingle(chars) + if r != ' ' { + if r == '-' && !escaped { + if last == 0 { + log.Fatal("'-' should be preceded by a character") + } + end, chars, _ = parseSingle(chars) + for ; last <= end; last++ { + list = append(list, string(last)) + } + last = 0 + } else { + list = append(list, string(r)) + last = r + } + } + } + } + return list +} + +var fileRe = regexp.MustCompile(`.*/collation/(.*)\.xml`) + +// typeMap translates legacy type keys to their BCP47 equivalent. +var typeMap = map[string]string{ + "phonebook": "phonebk", + "traditional": "trad", +} + +// parseCollation parses XML files in the collation directory of the CLDR core.zip file. +func parseCollation(b *build.Builder) { + d := &cldr.Decoder{} + d.SetDirFilter("collation") + data := decodeCLDR(d) + for _, loc := range data.Locales() { + x, err := data.LDML(loc) + failOnError(err) + if skipLang(x.Identity.Language.Type) { + continue + } + cs := x.Collations.Collation + sl := cldr.MakeSlice(&cs) + if len(types.s) == 0 { + sl.SelectAnyOf("type", x.Collations.Default()) + } else if !types.all { + sl.SelectAnyOf("type", types.s...) + } + sl.SelectOnePerGroup("alt", altInclude()) + + for _, c := range cs { + id, err := language.Parse(loc) + if err != nil { + fmt.Fprintf(os.Stderr, "invalid locale: %q", err) + continue + } + // Support both old- and new-style defaults. + d := c.Type + if x.Collations.DefaultCollation == nil { + d = x.Collations.Default() + } else { + d = x.Collations.DefaultCollation.Data() + } + // We assume tables are being built either for search or collation, + // but not both. For search the default is always "search". + if d != c.Type && c.Type != "search" { + typ := c.Type + if len(c.Type) > 8 { + typ = typeMap[c.Type] + } + id, err = id.SetTypeForKey("co", typ) + failOnError(err) + } + t := b.Tailoring(id) + c.Process(processor{t}) + } + } +} + +type processor struct { + t *build.Tailoring +} + +func (p processor) Reset(anchor string, before int) (err error) { + if before != 0 { + err = p.t.SetAnchorBefore(anchor) + } else { + err = p.t.SetAnchor(anchor) + } + failOnError(err) + return nil +} + +func (p processor) Insert(level int, str, context, extend string) error { + str = context + str + if *test { + testInput.add(str) + } + // TODO: mimic bug in old maketables: remove. + err := p.t.Insert(colltab.Level(level-1), str, context+extend) + failOnError(err) + return nil +} + +func (p processor) Index(id string) { +} + +func testCollator(c *collate.Collator) { + c0 := collate.New(language.Und) + + // iterator over all characters for all locales and check + // whether Key is equal. + buf := collate.Buffer{} + + // Add all common and not too uncommon runes to the test set. + for i := rune(0); i < 0x30000; i++ { + testInput.add(string(i)) + } + for i := rune(0xE0000); i < 0xF0000; i++ { + testInput.add(string(i)) + } + for _, str := range testInput.values() { + k0 := c0.KeyFromString(&buf, str) + k := c.KeyFromString(&buf, str) + if !bytes.Equal(k0, k) { + failOnError(fmt.Errorf("test:%U: keys differ (%x vs %x)", []rune(str), k0, k)) + } + buf.Reset() + } + fmt.Println("PASS") +} + +func main() { + gen.Init() + b := build.NewBuilder() + parseUCA(b) + if tables.contains("chars") { + parseMain() + } + parseCollation(b) + + c, err := b.Build() + failOnError(err) + + if *test { + testCollator(collate.NewFromTable(c)) + } else { + w := &bytes.Buffer{} + + gen.WriteUnicodeVersion(w) + gen.WriteCLDRVersion(w) + + if tables.contains("collate") { + _, err = b.Print(w) + failOnError(err) + } + if tables.contains("chars") { + printExemplarCharacters(w) + } + gen.WriteGoFile("tables.go", *pkg, w.Bytes()) + } +} diff --git a/vendor/golang.org/x/text/collate/option.go b/vendor/golang.org/x/text/collate/option.go new file mode 100644 index 000000000000..f39ef68417af --- /dev/null +++ b/vendor/golang.org/x/text/collate/option.go @@ -0,0 +1,239 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package collate + +import ( + "sort" + + "golang.org/x/text/internal/colltab" + "golang.org/x/text/language" + "golang.org/x/text/unicode/norm" +) + +// newCollator creates a new collator with default options configured. +func newCollator(t colltab.Weighter) *Collator { + // Initialize a collator with default options. + c := &Collator{ + options: options{ + ignore: [colltab.NumLevels]bool{ + colltab.Quaternary: true, + colltab.Identity: true, + }, + f: norm.NFD, + t: t, + }, + } + + // TODO: store vt in tags or remove. + c.variableTop = t.Top() + + return c +} + +// An Option is used to change the behavior of a Collator. Options override the +// settings passed through the locale identifier. +type Option struct { + priority int + f func(o *options) +} + +type prioritizedOptions []Option + +func (p prioritizedOptions) Len() int { + return len(p) +} + +func (p prioritizedOptions) Swap(i, j int) { + p[i], p[j] = p[j], p[i] +} + +func (p prioritizedOptions) Less(i, j int) bool { + return p[i].priority < p[j].priority +} + +type options struct { + // ignore specifies which levels to ignore. + ignore [colltab.NumLevels]bool + + // caseLevel is true if there is an additional level of case matching + // between the secondary and tertiary levels. + caseLevel bool + + // backwards specifies the order of sorting at the secondary level. + // This option exists predominantly to support reverse sorting of accents in French. + backwards bool + + // numeric specifies whether any sequence of decimal digits (category is Nd) + // is sorted at a primary level with its numeric value. + // For example, "A-21" < "A-123". + // This option is set by wrapping the main Weighter with NewNumericWeighter. + numeric bool + + // alternate specifies an alternative handling of variables. + alternate alternateHandling + + // variableTop is the largest primary value that is considered to be + // variable. + variableTop uint32 + + t colltab.Weighter + + f norm.Form +} + +func (o *options) setOptions(opts []Option) { + sort.Sort(prioritizedOptions(opts)) + for _, x := range opts { + x.f(o) + } +} + +// OptionsFromTag extracts the BCP47 collation options from the tag and +// configures a collator accordingly. These options are set before any other +// option. +func OptionsFromTag(t language.Tag) Option { + return Option{0, func(o *options) { + o.setFromTag(t) + }} +} + +func (o *options) setFromTag(t language.Tag) { + o.caseLevel = ldmlBool(t, o.caseLevel, "kc") + o.backwards = ldmlBool(t, o.backwards, "kb") + o.numeric = ldmlBool(t, o.numeric, "kn") + + // Extract settings from the BCP47 u extension. + switch t.TypeForKey("ks") { // strength + case "level1": + o.ignore[colltab.Secondary] = true + o.ignore[colltab.Tertiary] = true + case "level2": + o.ignore[colltab.Tertiary] = true + case "level3", "": + // The default. + case "level4": + o.ignore[colltab.Quaternary] = false + case "identic": + o.ignore[colltab.Quaternary] = false + o.ignore[colltab.Identity] = false + } + + switch t.TypeForKey("ka") { + case "shifted": + o.alternate = altShifted + // The following two types are not official BCP47, but we support them to + // give access to this otherwise hidden functionality. The name blanked is + // derived from the LDML name blanked and posix reflects the main use of + // the shift-trimmed option. + case "blanked": + o.alternate = altBlanked + case "posix": + o.alternate = altShiftTrimmed + } + + // TODO: caseFirst ("kf"), reorder ("kr"), and maybe variableTop ("vt"). + + // Not used: + // - normalization ("kk", not necessary for this implementation) + // - hiraganaQuatenary ("kh", obsolete) +} + +func ldmlBool(t language.Tag, old bool, key string) bool { + switch t.TypeForKey(key) { + case "true": + return true + case "false": + return false + default: + return old + } +} + +var ( + // IgnoreCase sets case-insensitive comparison. + IgnoreCase Option = ignoreCase + ignoreCase = Option{3, ignoreCaseF} + + // IgnoreDiacritics causes diacritical marks to be ignored. ("o" == "ö"). + IgnoreDiacritics Option = ignoreDiacritics + ignoreDiacritics = Option{3, ignoreDiacriticsF} + + // IgnoreWidth causes full-width characters to match their half-width + // equivalents. + IgnoreWidth Option = ignoreWidth + ignoreWidth = Option{2, ignoreWidthF} + + // Loose sets the collator to ignore diacritics, case and weight. + Loose Option = loose + loose = Option{4, looseF} + + // Force ordering if strings are equivalent but not equal. + Force Option = force + force = Option{5, forceF} + + // Numeric specifies that numbers should sort numerically ("2" < "12"). + Numeric Option = numeric + numeric = Option{5, numericF} +) + +func ignoreWidthF(o *options) { + o.ignore[colltab.Tertiary] = true + o.caseLevel = true +} + +func ignoreDiacriticsF(o *options) { + o.ignore[colltab.Secondary] = true +} + +func ignoreCaseF(o *options) { + o.ignore[colltab.Tertiary] = true + o.caseLevel = false +} + +func looseF(o *options) { + ignoreWidthF(o) + ignoreDiacriticsF(o) + ignoreCaseF(o) +} + +func forceF(o *options) { + o.ignore[colltab.Identity] = false +} + +func numericF(o *options) { o.numeric = true } + +// Reorder overrides the pre-defined ordering of scripts and character sets. +func Reorder(s ...string) Option { + // TODO: need fractional weights to implement this. + panic("TODO: implement") +} + +// TODO: consider making these public again. These options cannot be fully +// specified in BCP47, so an API interface seems warranted. Still a higher-level +// interface would be nice (e.g. a POSIX option for enabling altShiftTrimmed) + +// alternateHandling identifies the various ways in which variables are handled. +// A rune with a primary weight lower than the variable top is considered a +// variable. +// See http://www.unicode.org/reports/tr10/#Variable_Weighting for details. +type alternateHandling int + +const ( + // altNonIgnorable turns off special handling of variables. + altNonIgnorable alternateHandling = iota + + // altBlanked sets variables and all subsequent primary ignorables to be + // ignorable at all levels. This is identical to removing all variables + // and subsequent primary ignorables from the input. + altBlanked + + // altShifted sets variables to be ignorable for levels one through three and + // adds a fourth level based on the values of the ignored levels. + altShifted + + // altShiftTrimmed is a slight variant of altShifted that is used to + // emulate POSIX. + altShiftTrimmed +) diff --git a/vendor/golang.org/x/text/collate/sort.go b/vendor/golang.org/x/text/collate/sort.go new file mode 100644 index 000000000000..62f1e75a3c4e --- /dev/null +++ b/vendor/golang.org/x/text/collate/sort.go @@ -0,0 +1,81 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package collate + +import ( + "bytes" + "sort" +) + +const ( + maxSortBuffer = 40960 + maxSortEntries = 4096 +) + +type swapper interface { + Swap(i, j int) +} + +type sorter struct { + buf *Buffer + keys [][]byte + src swapper +} + +func (s *sorter) init(n int) { + if s.buf == nil { + s.buf = &Buffer{} + s.buf.init() + } + if cap(s.keys) < n { + s.keys = make([][]byte, n) + } + s.keys = s.keys[0:n] +} + +func (s *sorter) sort(src swapper) { + s.src = src + sort.Sort(s) +} + +func (s sorter) Len() int { + return len(s.keys) +} + +func (s sorter) Less(i, j int) bool { + return bytes.Compare(s.keys[i], s.keys[j]) == -1 +} + +func (s sorter) Swap(i, j int) { + s.keys[i], s.keys[j] = s.keys[j], s.keys[i] + s.src.Swap(i, j) +} + +// A Lister can be sorted by Collator's Sort method. +type Lister interface { + Len() int + Swap(i, j int) + // Bytes returns the bytes of the text at index i. + Bytes(i int) []byte +} + +// Sort uses sort.Sort to sort the strings represented by x using the rules of c. +func (c *Collator) Sort(x Lister) { + n := x.Len() + c.sorter.init(n) + for i := 0; i < n; i++ { + c.sorter.keys[i] = c.Key(c.sorter.buf, x.Bytes(i)) + } + c.sorter.sort(x) +} + +// SortStrings uses sort.Sort to sort the strings in x using the rules of c. +func (c *Collator) SortStrings(x []string) { + c.sorter.init(len(x)) + for i, s := range x { + c.sorter.keys[i] = c.KeyFromString(c.sorter.buf, s) + } + c.sorter.sort(sort.StringSlice(x)) +} diff --git a/vendor/golang.org/x/text/collate/tables.go b/vendor/golang.org/x/text/collate/tables.go new file mode 100644 index 000000000000..9ec4f3d49403 --- /dev/null +++ b/vendor/golang.org/x/text/collate/tables.go @@ -0,0 +1,73789 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package collate + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "6.2.0" + +// CLDRVersion is the CLDR version from which the tables in this package are derived. +const CLDRVersion = "23" + +var availableLocales = "und,aa,af,ar,as,az,be,bg,bn,bs,bs-Cyrl,ca,cs,cy,da,de-u-co-phonebk,de,dz,ee,el,en,en-US,en-US-u-va-posix,eo,es,et,fa,fa-AF,fi,fi-u-co-standard,fil,fo,fr,fr-CA,gu,ha,haw,he,hi,hr,hu,hy,ig,is,ja,kk,kl,km,kn,ko,kok,ln-u-co-phonetic,ln,lt,lv,mk,ml,mr,mt,my,nb,nn,nso,om,or,pa,pl,ps,ro,ru,se,si,sk,sl,sq,sr,sr-Latn,ssy,sv,sv-u-co-standard,ta,te,th,tn,to,tr,uk,ur,vi,wae,yo,zh,zh-u-co-stroke,zh-Hant-u-co-pinyin,zh-Hant" + +const varTop = 0x30e + +var locales = [...]tableIndex{ + { // und + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // aa + lookupOffset: 0x1c, + valuesOffset: 0x1b4, + }, + { // af + lookupOffset: 0x1d, + valuesOffset: 0x0, + }, + { // ar + lookupOffset: 0x1f, + valuesOffset: 0x0, + }, + { // as + lookupOffset: 0x21, + valuesOffset: 0x0, + }, + { // az + lookupOffset: 0x27, + valuesOffset: 0x1d7, + }, + { // be + lookupOffset: 0x28, + valuesOffset: 0x0, + }, + { // bg + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // bn + lookupOffset: 0x2a, + valuesOffset: 0x0, + }, + { // bs + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // bs-Cyrl + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // ca + lookupOffset: 0x2b, + valuesOffset: 0x1ec, + }, + { // cs + lookupOffset: 0x2d, + valuesOffset: 0x1f0, + }, + { // cy + lookupOffset: 0x15, + valuesOffset: 0x1f5, + }, + { // da + lookupOffset: 0x30, + valuesOffset: 0x1f7, + }, + { // de-u-co-phonebk + lookupOffset: 0x32, + valuesOffset: 0x201, + }, + { // de + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // dz + lookupOffset: 0x34, + valuesOffset: 0x0, + }, + { // ee + lookupOffset: 0x3a, + valuesOffset: 0x20a, + }, + { // el + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // en + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // en-US + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // en-US-u-va-posix + lookupOffset: 0x41, + valuesOffset: 0x219, + }, + { // eo + lookupOffset: 0x42, + valuesOffset: 0x23b, + }, + { // es + lookupOffset: 0x43, + valuesOffset: 0x23f, + }, + { // et + lookupOffset: 0x49, + valuesOffset: 0x242, + }, + { // fa + lookupOffset: 0x4b, + valuesOffset: 0x0, + }, + { // fa-AF + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // fi + lookupOffset: 0x4e, + valuesOffset: 0x25a, + }, + { // fi-u-co-standard + lookupOffset: 0x54, + valuesOffset: 0x265, + }, + { // fil + lookupOffset: 0x43, + valuesOffset: 0x272, + }, + { // fo + lookupOffset: 0x30, + valuesOffset: 0x1f7, + }, + { // fr + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // fr-CA + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // gu + lookupOffset: 0x56, + valuesOffset: 0x0, + }, + { // ha + lookupOffset: 0x57, + valuesOffset: 0x275, + }, + { // haw + lookupOffset: 0x5e, + valuesOffset: 0x27a, + }, + { // he + lookupOffset: 0x5f, + valuesOffset: 0x0, + }, + { // hi + lookupOffset: 0x61, + valuesOffset: 0x0, + }, + { // hr + lookupOffset: 0x63, + valuesOffset: 0x291, + }, + { // hu + lookupOffset: 0x65, + valuesOffset: 0x297, + }, + { // hy + lookupOffset: 0x66, + valuesOffset: 0x0, + }, + { // ig + lookupOffset: 0x68, + valuesOffset: 0x29f, + }, + { // is + lookupOffset: 0x6a, + valuesOffset: 0x2a3, + }, + { // ja + lookupOffset: 0x76, + valuesOffset: 0x0, + }, + { // kk + lookupOffset: 0x77, + valuesOffset: 0x0, + }, + { // kl + lookupOffset: 0x78, + valuesOffset: 0x414, + }, + { // km + lookupOffset: 0x7a, + valuesOffset: 0x0, + }, + { // kn + lookupOffset: 0x7c, + valuesOffset: 0x0, + }, + { // ko + lookupOffset: 0x88, + valuesOffset: 0x0, + }, + { // kok + lookupOffset: 0x8a, + valuesOffset: 0x0, + }, + { // ln-u-co-phonetic + lookupOffset: 0x8b, + valuesOffset: 0x570, + }, + { // ln + lookupOffset: 0x8b, + valuesOffset: 0x0, + }, + { // lt + lookupOffset: 0x91, + valuesOffset: 0x574, + }, + { // lv + lookupOffset: 0x93, + valuesOffset: 0x582, + }, + { // mk + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // ml + lookupOffset: 0x95, + valuesOffset: 0x0, + }, + { // mr + lookupOffset: 0x97, + valuesOffset: 0x0, + }, + { // mt + lookupOffset: 0x9a, + valuesOffset: 0x58a, + }, + { // my + lookupOffset: 0x9c, + valuesOffset: 0x0, + }, + { // nb + lookupOffset: 0x30, + valuesOffset: 0x593, + }, + { // nn + lookupOffset: 0x30, + valuesOffset: 0x593, + }, + { // nso + lookupOffset: 0x9e, + valuesOffset: 0x595, + }, + { // om + lookupOffset: 0x15, + valuesOffset: 0x59b, + }, + { // or + lookupOffset: 0xa0, + valuesOffset: 0x0, + }, + { // pa + lookupOffset: 0xa2, + valuesOffset: 0x0, + }, + { // pl + lookupOffset: 0xa4, + valuesOffset: 0x5a1, + }, + { // ps + lookupOffset: 0xa7, + valuesOffset: 0x0, + }, + { // ro + lookupOffset: 0xa9, + valuesOffset: 0x5b3, + }, + { // ru + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // se + lookupOffset: 0xab, + valuesOffset: 0x5ba, + }, + { // si + lookupOffset: 0xad, + valuesOffset: 0x0, + }, + { // sk + lookupOffset: 0xaf, + valuesOffset: 0x5c7, + }, + { // sl + lookupOffset: 0xb0, + valuesOffset: 0x5cc, + }, + { // sq + lookupOffset: 0xb2, + valuesOffset: 0x5cf, + }, + { // sr + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // sr-Latn + lookupOffset: 0x15, + valuesOffset: 0x0, + }, + { // ssy + lookupOffset: 0x1c, + valuesOffset: 0x1b4, + }, + { // sv + lookupOffset: 0xb4, + valuesOffset: 0x5d3, + }, + { // sv-u-co-standard + lookupOffset: 0xb6, + valuesOffset: 0x5d9, + }, + { // ta + lookupOffset: 0xb8, + valuesOffset: 0x0, + }, + { // te + lookupOffset: 0xba, + valuesOffset: 0x0, + }, + { // th + lookupOffset: 0xbc, + valuesOffset: 0x0, + }, + { // tn + lookupOffset: 0x9e, + valuesOffset: 0x595, + }, + { // to + lookupOffset: 0xbe, + valuesOffset: 0x5e1, + }, + { // tr + lookupOffset: 0xc4, + valuesOffset: 0x5ed, + }, + { // uk + lookupOffset: 0xc5, + valuesOffset: 0x0, + }, + { // ur + lookupOffset: 0xc7, + valuesOffset: 0x0, + }, + { // vi + lookupOffset: 0xc9, + valuesOffset: 0x5fc, + }, + { // wae + lookupOffset: 0xca, + valuesOffset: 0x610, + }, + { // yo + lookupOffset: 0xcc, + valuesOffset: 0x613, + }, + { // zh + lookupOffset: 0xe6, + valuesOffset: 0x618, + }, + { // zh-u-co-stroke + lookupOffset: 0xff, + valuesOffset: 0x618, + }, + { // zh-Hant-u-co-pinyin + lookupOffset: 0xe6, + valuesOffset: 0x618, + }, + { // zh-Hant + lookupOffset: 0xff, + valuesOffset: 0x618, + }, +} + +// mainExpandElem: 46864 entries, 187456 bytes +var mainExpandElem = [46864]uint32{ + // Block 0, offset 0x0 + 0x00000002, 0xAE604702, 0xAE603202, 0x00000002, 0xA000A51A, 0xA000BA1A, + 0x00000002, 0xA000A91A, 0xA000BA1A, 0x00000002, 0xA000AD1A, 0xA000BA1A, + 0x00000002, 0xA000B21A, 0xA000BA1A, 0x00000002, 0xA000B61A, 0xA000BA1A, + 0x00000002, 0xA000BA1A, 0xA000D11A, 0x00000004, 0x0003F484, 0x0029CE84, + 0x0029CC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029CE84, + 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029D084, 0x0003F69F, + 0x00000004, 0x0003F484, 0x0029CE84, 0x0029D284, 0x0003F69F, 0x00000004, + 0x0003F484, 0x0029CE84, 0x0029D484, 0x0003F69F, 0x00000004, 0x0003F484, + 0x0029CE84, 0x0029D684, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, + 0x0029D884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DA84, + 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, + // Block 1, offset 0x40 + 0x0029DC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DE84, + 0x0003F69F, 0x00000004, 0x0003F484, 0x0029D084, 0x0029CC84, 0x0003F69F, + 0x00000004, 0x0003F484, 0x0062AC84, 0x0063A884, 0x0003F69F, 0x00000004, + 0x0003F484, 0x0062B084, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, + 0x0062B284, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B684, + 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B884, 0x0063A884, + 0x0003F69F, 0x00000004, 0x0003F484, 0x0062BA84, 0x0063A884, 0x0003F69F, + 0x00000004, 0x0003F484, 0x0062BE84, 0x0063A884, 0x0003F69F, 0x00000004, + 0x0003F484, 0x0062C284, 0x0063A884, 0x0003F69F, 0x00000007, 0x0003F484, + 0x0062C284, 0x0063B884, 0x0062C484, 0x0063B084, 0x00646A84, 0x0003F69F, + 0x00000006, 0x0003F484, 0x0062C284, 0x0063B884, + // Block 2, offset 0x80 + 0x0062D084, 0x0063C284, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484, + 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484, 0x0063C284, + 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C884, 0x0063A884, 0x0003F69F, + 0x00000004, 0x0003F484, 0x0062CA84, 0x0063A884, 0x0003F69F, 0x00000004, + 0x0003F484, 0x0062CC84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, + 0x0062CE84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062D084, + 0x0063A884, 0x0003F69F, 0x00000004, 0x00050E84, 0x00050E84, 0x00050E84, + 0x00050E9F, 0x00000002, 0x40062C20, 0xAE603202, 0x00000002, 0x40062C20, + 0xAE603502, 0x00000002, 0x40062C20, 0xAE604502, 0x00000002, 0x40063620, + 0xAE603202, 0x00000002, 0x40063620, 0xAE603502, 0x00000002, 0x40063620, + 0xAE604502, 0x00000002, 0x40063820, 0xAE603202, + // Block 3, offset 0xc0 + 0x00000002, 0x40063820, 0xAE603502, 0x00000002, 0x40063820, 0xAE604502, + 0x00000002, 0x40084420, 0xA0105402, 0x00000002, 0x40084620, 0xA0105402, + 0x00000002, 0x40084C20, 0xA0105402, 0x00000002, 0x4008B820, 0xA0105402, + 0x00000002, 0x4008BC20, 0xA0105402, 0x00000002, 0x4008C020, 0xA0105402, + 0x00000002, 0x40091E20, 0xA0105402, 0x00000002, 0x40092620, 0xA0105402, + 0x00000002, 0x40092A20, 0xA0105402, 0x00000002, 0x40094020, 0xA0105402, + 0x00000002, 0x40094220, 0xA0105402, 0x00000002, 0x40094420, 0xA0105402, + 0x00000002, 0x40097820, 0xA0105402, 0x00000002, 0x40097A20, 0xA0105402, + 0x00000004, 0x00098484, 0x00098484, 0x00098484, 0x0009849F, 0x00000002, + 0x40099E20, 0xA0105402, 0x00000002, 0x4009AA20, 0xA0105402, 0x00000002, + 0x4009AC20, 0xA0105402, 0x00000002, 0x4009B020, + // Block 4, offset 0x100 + 0xA0105402, 0x00000002, 0x4009B820, 0xA0105402, 0x00000002, 0x4009DE20, + 0xA0105402, 0x00000002, 0x4009E220, 0xA0105402, 0x00000002, 0x4009E420, + 0xA0105402, 0x00000002, 0x4009F420, 0xA0105402, 0x00000002, 0x4009F620, + 0xA0105402, 0x00000002, 0x4009F820, 0xA0105402, 0x00000002, 0x4009FA20, + 0xA0105402, 0x00000002, 0x4009FC20, 0xA0105402, 0x00000002, 0x4009FE20, + 0xA0105402, 0x00000002, 0x400A0020, 0xA0105402, 0x00000002, 0x400A0220, + 0xA0105402, 0x00000002, 0x400A0820, 0xA0105402, 0x00000002, 0x400A0A20, + 0xA0105402, 0x00000002, 0x400A0C20, 0xA0105402, 0x00000002, 0x400A0E20, + 0xA0105402, 0x00000002, 0x400A1E20, 0xA0105402, 0x00000002, 0x400A2020, + 0xA0105402, 0x00000002, 0x400A4020, 0xA0105402, 0x00000002, 0x400A4C20, + 0xA0105402, 0x00000002, 0x400A4E20, 0xA0105402, + // Block 5, offset 0x140 + 0x00000002, 0x400A5220, 0xA0105402, 0x00000002, 0x400A5820, 0xA0105402, + 0x00000002, 0x400A5A20, 0xA0105402, 0x00000002, 0x400A5C20, 0xA0105402, + 0x00000002, 0x400A5E20, 0xA0105402, 0x00000002, 0x40164620, 0xA0105402, + 0x00000002, 0x4027CE20, 0xA0012802, 0x00000002, 0x4027D020, 0xA0012802, + 0x00000002, 0x4027D420, 0xA0812802, 0x00000002, 0x4027D820, 0xA0812802, + 0x00000002, 0x4029CC20, 0xA0013F02, 0x00000002, 0x4029CC20, 0xA0014002, + 0x00000002, 0x4029CC20, 0xA0014202, 0x00000002, 0x4029CC20, 0xA0014402, + 0x00000002, 0x4029CC20, 0xA0014502, 0x00000002, 0x4029CC20, 0xA0014602, + 0x00000002, 0x4029CC20, 0xA0014702, 0x00000002, 0x4029CC20, 0xA0014802, + 0x00000002, 0x4029CC20, 0xA0014902, 0x00000002, 0x4029CC20, 0xA0014A02, + 0x00000002, 0x4029CC20, 0xA0014B02, 0x00000002, + // Block 6, offset 0x180 + 0x4029CC20, 0xA0014B02, 0x00000002, 0x4029CC20, 0xA0014C02, 0x00000002, + 0x4029CC20, 0xA0014D02, 0x00000002, 0x4029CC20, 0xA0014E02, 0x00000002, + 0x4029CC20, 0xA0014F02, 0x00000002, 0x4029CC20, 0xA0015002, 0x00000002, + 0x4029CC20, 0xA0015102, 0x00000002, 0x4029CC20, 0xA0015202, 0x00000002, + 0x4029CC20, 0xA0015302, 0x00000002, 0x4029CC20, 0xA0015402, 0x00000002, + 0x4029CC20, 0xA0015502, 0x00000002, 0x4029CC20, 0xA0015602, 0x00000002, + 0x0029CC84, 0xA0015604, 0x00000002, 0x4029CC20, 0xA0015702, 0x00000002, + 0x4029CC20, 0xA0015802, 0x00000002, 0x4029CC20, 0xA0015902, 0x00000002, + 0x4029CC20, 0xA0015A02, 0x00000002, 0x4029CC20, 0xA0015B02, 0x00000002, + 0x4029CC20, 0xA0015C02, 0x00000002, 0x4029CC20, 0xA0015D02, 0x00000002, + 0x4029CC20, 0xA0015E02, 0x00000002, 0x4029CC20, + // Block 7, offset 0x1c0 + 0xA0015F02, 0x00000002, 0x4029CC20, 0xA0016002, 0x00000002, 0x4029CC20, + 0xA0016102, 0x00000002, 0x4029CC20, 0xA0016202, 0x00000002, 0x4029CC20, + 0xA0016302, 0x00000002, 0x4029CC20, 0xA0016402, 0x00000002, 0x4029CC20, + 0xA0016502, 0x00000002, 0x4029CC20, 0xA0016602, 0x00000002, 0x4029CC20, + 0xA0016802, 0x00000002, 0x4029CC20, 0xA0017202, 0x00000002, 0x4029CC20, + 0xA0017302, 0x00000002, 0x4029CC20, 0xA0017402, 0x00000003, 0x0029CC9E, + 0x0009589E, 0x0029D29E, 0x00000002, 0x4029CE20, 0xA0013F02, 0x00000002, + 0x4029CE20, 0xA0014002, 0x00000002, 0x4029CE20, 0xA0014102, 0x00000002, + 0x4029CE20, 0xA0014202, 0x00000002, 0x4029CE20, 0xA0014302, 0x00000002, + 0x4029CE20, 0xA0014402, 0x00000002, 0x4029CE20, 0xA0014502, 0x00000002, + 0x4029CE20, 0xA0014602, 0x00000002, 0x4029CE20, + // Block 8, offset 0x200 + 0xA0014702, 0x00000002, 0x4029CE20, 0xA0014802, 0x00000002, 0x4029CE20, + 0xA0014902, 0x00000002, 0x4029CE20, 0xA0014A02, 0x00000002, 0x4029CE20, + 0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014B02, 0x00000002, 0x4029CE20, + 0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014C02, 0x00000002, 0x4029CE20, + 0xA0014D02, 0x00000002, 0x4029CE20, 0xA0014E02, 0x00000002, 0x4029CE20, + 0xA0014F02, 0x00000002, 0x4029CE20, 0xA0015002, 0x00000002, 0x4029CE20, + 0xA0015102, 0x00000002, 0x4029CE20, 0xA0015102, 0x00000002, 0x4029CE20, + 0xA0015202, 0x00000002, 0x4029CE20, 0xA0015302, 0x00000002, 0x4029CE20, + 0xA0015402, 0x00000002, 0x4029CE20, 0xA0015502, 0x00000002, 0x4029CE20, + 0xA0015602, 0x00000002, 0x0029CE84, 0xA0015604, 0x00000002, 0x4029CE20, + 0xA0015702, 0x00000002, 0x4029CE20, 0xA0015802, + // Block 9, offset 0x240 + 0x00000002, 0x4029CE20, 0xA0015902, 0x00000002, 0x4029CE20, 0xA0015A02, + 0x00000002, 0x4029CE20, 0xA0015B02, 0x00000002, 0x4029CE20, 0xA0015C02, + 0x00000002, 0x4029CE20, 0xA0015D02, 0x00000002, 0x4029CE20, 0xA0015E02, + 0x00000002, 0x4029CE20, 0xA0015F02, 0x00000002, 0x4029CE20, 0xA0016002, + 0x00000002, 0x4029CE20, 0xA0016102, 0x00000002, 0x4029CE20, 0xA0016202, + 0x00000002, 0x4029CE20, 0xA0016302, 0x00000002, 0x4029CE20, 0xA0016402, + 0x00000002, 0x4029CE20, 0xA0016502, 0x00000002, 0x4029CE20, 0xA0016602, + 0x00000002, 0x4029CE20, 0xA0016702, 0x00000002, 0x4029CE20, 0xA0016802, + 0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016802, + 0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016A02, + 0x00000002, 0x4029CE20, 0xA0016B02, 0x00000002, + // Block 10, offset 0x280 + 0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002, + 0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002, + 0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002, + 0x4029CE20, 0xA0016D02, 0x00000002, 0x4029CE20, 0xA0016E02, 0x00000002, + 0x4029CE20, 0xA0016F02, 0x00000002, 0x4029CE20, 0xA0017002, 0x00000002, + 0x4029CE20, 0xA0017102, 0x00000002, 0x4029CE20, 0xA0017202, 0x00000002, + 0x4029CE20, 0xA0017302, 0x00000002, 0x4029CE20, 0xA0017402, 0x00000002, + 0x4029CE20, 0xA0017502, 0x00000002, 0x4029CE20, 0xA0017602, 0x00000002, + 0x4029CE20, 0xA0017702, 0x00000004, 0x0029CE9E, 0x0009589E, 0x0029CE9E, + 0x0029CC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D09E, 0x00000003, + 0x0029CE9E, 0x0009589E, 0x0029D29E, 0x00000003, + // Block 11, offset 0x2c0 + 0x0029CE9E, 0x0009589E, 0x0029D49E, 0x00000003, 0x0029CE9E, 0x0009589E, + 0x0029D69E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D89E, 0x00000003, + 0x0029CE9E, 0x0009589E, 0x0029DA9E, 0x00000003, 0x0029CE9E, 0x0009589E, + 0x0029DC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029DE9E, 0x00000002, + 0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002, + 0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002, + 0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CE86, 0x00000002, + 0x0029CE86, 0x0029D086, 0x00000002, 0x0029CE86, 0x0029D286, 0x00000002, + 0x0029CE86, 0x0029D486, 0x00000002, 0x0029CE86, 0x0029D686, 0x00000002, + 0x0029CE86, 0x0029D886, 0x00000002, 0x0029CE86, 0x0029DA86, 0x00000002, + 0x0029CE86, 0x0029DC86, 0x00000002, 0x0029CE86, + // Block 12, offset 0x300 + 0x0029DE86, 0x00000002, 0x4029D020, 0xA0013F02, 0x00000002, 0x4029D020, + 0xA0014002, 0x00000002, 0x4029D020, 0xA0014102, 0x00000002, 0x4029D020, + 0xA0014202, 0x00000002, 0x4029D020, 0xA0014302, 0x00000002, 0x4029D020, + 0xA0014402, 0x00000002, 0x4029D020, 0xA0014502, 0x00000002, 0x4029D020, + 0xA0014602, 0x00000002, 0x4029D020, 0xA0014702, 0x00000002, 0x4029D020, + 0xA0014802, 0x00000002, 0x4029D020, 0xA0014902, 0x00000002, 0x4029D020, + 0xA0014A02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020, + 0xA0014B02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020, + 0xA0014C02, 0x00000002, 0x4029D020, 0xA0014D02, 0x00000002, 0x4029D020, + 0xA0014E02, 0x00000002, 0x4029D020, 0xA0014F02, 0x00000002, 0x4029D020, + 0xA0015002, 0x00000002, 0x4029D020, 0xA0015102, + // Block 13, offset 0x340 + 0x00000002, 0x4029D020, 0xA0015202, 0x00000002, 0x4029D020, 0xA0015302, + 0x00000002, 0x4029D020, 0xA0015402, 0x00000002, 0x4029D020, 0xA0015502, + 0x00000002, 0x4029D020, 0xA0015602, 0x00000002, 0x0029D084, 0xA0015604, + 0x00000002, 0x4029D020, 0xA0015702, 0x00000002, 0x4029D020, 0xA0015802, + 0x00000002, 0x4029D020, 0xA0015902, 0x00000002, 0x4029D020, 0xA0015A02, + 0x00000002, 0x4029D020, 0xA0015B02, 0x00000002, 0x4029D020, 0xA0015C02, + 0x00000002, 0x4029D020, 0xA0015D02, 0x00000002, 0x4029D020, 0xA0015E02, + 0x00000002, 0x4029D020, 0xA0015F02, 0x00000002, 0x4029D020, 0xA0016002, + 0x00000002, 0x4029D020, 0xA0016102, 0x00000002, 0x4029D020, 0xA0016202, + 0x00000002, 0x4029D020, 0xA0016302, 0x00000002, 0x4029D020, 0xA0016402, + 0x00000002, 0x4029D020, 0xA0016502, 0x00000002, + // Block 14, offset 0x380 + 0x4029D020, 0xA0016602, 0x00000002, 0x4029D020, 0xA0016702, 0x00000002, + 0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002, + 0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002, + 0x4029D020, 0xA0016B02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002, + 0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002, + 0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002, + 0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002, + 0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002, + 0x4029D020, 0xA0016E02, 0x00000002, 0x4029D020, 0xA0016F02, 0x00000002, + 0x4029D020, 0xA0017002, 0x00000002, 0x4029D020, 0xA0017102, 0x00000002, + 0x4029D020, 0xA0017202, 0x00000002, 0x4029D020, + // Block 15, offset 0x3c0 + 0xA0017302, 0x00000002, 0x4029D020, 0xA0017402, 0x00000002, 0x4029D020, + 0xA0017502, 0x00000002, 0x4029D020, 0xA0017602, 0x00000002, 0x4029D020, + 0xA0017702, 0x00000003, 0x0029D09E, 0x0009589E, 0x0029D29E, 0x00000003, + 0x0029D09E, 0x0009589E, 0x0029D69E, 0x00000002, 0x0029D086, 0x0029CC86, + 0x00000002, 0x0029D086, 0x0029CC86, 0x00000002, 0x4029D220, 0xA0013F02, + 0x00000002, 0x4029D220, 0xA0014002, 0x00000002, 0x4029D220, 0xA0014102, + 0x00000002, 0x4029D220, 0xA0014202, 0x00000002, 0x4029D220, 0xA0014302, + 0x00000002, 0x4029D220, 0xA0014402, 0x00000002, 0x4029D220, 0xA0014502, + 0x00000002, 0x4029D220, 0xA0014602, 0x00000002, 0x4029D220, 0xA0014702, + 0x00000002, 0x4029D220, 0xA0014802, 0x00000002, 0x4029D220, 0xA0014902, + 0x00000002, 0x4029D220, 0xA0014A02, 0x00000002, + // Block 16, offset 0x400 + 0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014B02, 0x00000002, + 0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014C02, 0x00000002, + 0x4029D220, 0xA0014D02, 0x00000002, 0x4029D220, 0xA0014E02, 0x00000002, + 0x4029D220, 0xA0014F02, 0x00000002, 0x4029D220, 0xA0015002, 0x00000002, + 0x4029D220, 0xA0015102, 0x00000002, 0x4029D220, 0xA0015202, 0x00000002, + 0x4029D220, 0xA0015302, 0x00000002, 0x4029D220, 0xA0015402, 0x00000002, + 0x4029D220, 0xA0015502, 0x00000002, 0x4029D220, 0xA0015602, 0x00000002, + 0x0029D284, 0xA0015604, 0x00000002, 0x4029D220, 0xA0015702, 0x00000002, + 0x4029D220, 0xA0015802, 0x00000002, 0x4029D220, 0xA0015902, 0x00000002, + 0x4029D220, 0xA0015A02, 0x00000002, 0x4029D220, 0xA0015B02, 0x00000002, + 0x4029D220, 0xA0015C02, 0x00000002, 0x4029D220, + // Block 17, offset 0x440 + 0xA0015D02, 0x00000002, 0x4029D220, 0xA0015E02, 0x00000002, 0x4029D220, + 0xA0015F02, 0x00000002, 0x4029D220, 0xA0016002, 0x00000002, 0x4029D220, + 0xA0016102, 0x00000002, 0x4029D220, 0xA0016202, 0x00000002, 0x4029D220, + 0xA0016302, 0x00000002, 0x4029D220, 0xA0016402, 0x00000002, 0x4029D220, + 0xA0016502, 0x00000002, 0x4029D220, 0xA0016602, 0x00000002, 0x4029D220, + 0xA0016702, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, + 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, + 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, + 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, + 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, + 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, + // Block 18, offset 0x480 + 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, + 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016E02, + 0x00000002, 0x4029D220, 0xA0016F02, 0x00000002, 0x4029D220, 0xA0017002, + 0x00000002, 0x4029D220, 0xA0017102, 0x00000002, 0x4029D220, 0xA0017202, + 0x00000002, 0x4029D220, 0xA0017302, 0x00000002, 0x4029D220, 0xA0017402, + 0x00000002, 0x4029D220, 0xA0017502, 0x00000002, 0x4029D220, 0xA0017602, + 0x00000002, 0x4029D220, 0xA0017702, 0x00000003, 0x0029D29E, 0x0009589E, + 0x0029D49E, 0x00000003, 0x0029D29E, 0x0009589E, 0x0029D69E, 0x00000003, + 0x0029D29E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D286, 0x0029CC86, + 0x00000002, 0x4029D420, 0xA0013F02, 0x00000002, 0x4029D420, 0xA0014002, + 0x00000002, 0x4029D420, 0xA0014102, 0x00000002, + // Block 19, offset 0x4c0 + 0x4029D420, 0xA0014202, 0x00000002, 0x4029D420, 0xA0014302, 0x00000002, + 0x4029D420, 0xA0014402, 0x00000002, 0x4029D420, 0xA0014502, 0x00000002, + 0x4029D420, 0xA0014602, 0x00000002, 0x4029D420, 0xA0014702, 0x00000002, + 0x4029D420, 0xA0014802, 0x00000002, 0x4029D420, 0xA0014902, 0x00000002, + 0x4029D420, 0xA0014A02, 0x00000002, 0x4029D420, 0xA0014B02, 0x00000002, + 0x4029D420, 0xA0014C02, 0x00000002, 0x4029D420, 0xA0014D02, 0x00000002, + 0x4029D420, 0xA0014E02, 0x00000002, 0x4029D420, 0xA0014F02, 0x00000002, + 0x4029D420, 0xA0015002, 0x00000002, 0x4029D420, 0xA0015102, 0x00000002, + 0x4029D420, 0xA0015202, 0x00000002, 0x4029D420, 0xA0015302, 0x00000002, + 0x4029D420, 0xA0015402, 0x00000002, 0x4029D420, 0xA0015502, 0x00000002, + 0x4029D420, 0xA0015602, 0x00000002, 0x0029D484, + // Block 20, offset 0x500 + 0xA0015604, 0x00000002, 0x4029D420, 0xA0015702, 0x00000002, 0x4029D420, + 0xA0015802, 0x00000002, 0x4029D420, 0xA0015902, 0x00000002, 0x4029D420, + 0xA0015A02, 0x00000002, 0x4029D420, 0xA0015B02, 0x00000002, 0x4029D420, + 0xA0015C02, 0x00000002, 0x4029D420, 0xA0015D02, 0x00000002, 0x4029D420, + 0xA0015E02, 0x00000002, 0x4029D420, 0xA0015F02, 0x00000002, 0x4029D420, + 0xA0016002, 0x00000002, 0x4029D420, 0xA0016102, 0x00000002, 0x4029D420, + 0xA0016202, 0x00000002, 0x4029D420, 0xA0016302, 0x00000002, 0x4029D420, + 0xA0016402, 0x00000002, 0x4029D420, 0xA0016502, 0x00000002, 0x4029D420, + 0xA0016602, 0x00000002, 0x4029D420, 0xA0016702, 0x00000002, 0x4029D420, + 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, + 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + // Block 21, offset 0x540 + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, + 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0017002, + 0x00000002, 0x4029D420, 0xA0017102, 0x00000002, 0x4029D420, 0xA0017202, + 0x00000002, 0x4029D420, 0xA0017302, 0x00000002, 0x4029D420, 0xA0017402, + 0x00000002, 0x4029D420, 0xA0017502, 0x00000002, 0x4029D420, 0xA0017602, + 0x00000002, 0x4029D420, 0xA0017702, 0x00000003, 0x0029D49E, 0x0009589E, + 0x0029D69E, 0x00000002, 0x0029D486, 0x0029CC86, + // Block 22, offset 0x580 + 0x00000002, 0x4029D620, 0xA0013F02, 0x00000002, 0x4029D620, 0xA0014002, + 0x00000002, 0x4029D620, 0xA0014102, 0x00000002, 0x4029D620, 0xA0014202, + 0x00000002, 0x4029D620, 0xA0014302, 0x00000002, 0x4029D620, 0xA0014402, + 0x00000002, 0x4029D620, 0xA0014502, 0x00000002, 0x4029D620, 0xA0014602, + 0x00000002, 0x4029D620, 0xA0014702, 0x00000002, 0x4029D620, 0xA0014802, + 0x00000002, 0x4029D620, 0xA0014902, 0x00000002, 0x4029D620, 0xA0014A02, + 0x00000002, 0x4029D620, 0xA0014B02, 0x00000002, 0x4029D620, 0xA0014C02, + 0x00000002, 0x4029D620, 0xA0014D02, 0x00000002, 0x4029D620, 0xA0014E02, + 0x00000002, 0x4029D620, 0xA0014F02, 0x00000002, 0x4029D620, 0xA0015002, + 0x00000002, 0x4029D620, 0xA0015102, 0x00000002, 0x4029D620, 0xA0015202, + 0x00000002, 0x4029D620, 0xA0015302, 0x00000002, + // Block 23, offset 0x5c0 + 0x4029D620, 0xA0015402, 0x00000002, 0x4029D620, 0xA0015502, 0x00000002, + 0x4029D620, 0xA0015602, 0x00000002, 0x0029D684, 0xA0015604, 0x00000002, + 0x4029D620, 0xA0015702, 0x00000002, 0x4029D620, 0xA0015802, 0x00000002, + 0x4029D620, 0xA0015902, 0x00000002, 0x4029D620, 0xA0015A02, 0x00000002, + 0x4029D620, 0xA0015B02, 0x00000002, 0x4029D620, 0xA0015C02, 0x00000002, + 0x4029D620, 0xA0015D02, 0x00000002, 0x4029D620, 0xA0015E02, 0x00000002, + 0x4029D620, 0xA0015F02, 0x00000002, 0x4029D620, 0xA0016002, 0x00000002, + 0x4029D620, 0xA0016102, 0x00000002, 0x4029D620, 0xA0016202, 0x00000002, + 0x4029D620, 0xA0016302, 0x00000002, 0x4029D620, 0xA0016402, 0x00000002, + 0x4029D620, 0xA0016502, 0x00000002, 0x4029D620, 0xA0016602, 0x00000002, + 0x4029D620, 0xA0016702, 0x00000002, 0x4029D620, + // Block 24, offset 0x600 + 0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620, + 0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620, + 0xA0016802, 0x00000002, 0x4029D620, 0xA0016A02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620, + 0xA0016C02, 0x00000002, 0x4029D620, 0xA0017202, 0x00000002, 0x4029D620, + 0xA0017302, 0x00000002, 0x4029D620, 0xA0017402, 0x00000002, 0x4029D620, + 0xA0017502, 0x00000002, 0x4029D620, 0xA0017702, + // Block 25, offset 0x640 + 0x00000003, 0x0029D69E, 0x0009589E, 0x0029D89E, 0x00000003, 0x0029D69E, + 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D686, 0x0029CC86, 0x00000002, + 0x4029D820, 0xA0013F02, 0x00000002, 0x4029D820, 0xA0014002, 0x00000002, + 0x4029D820, 0xA0014102, 0x00000002, 0x4029D820, 0xA0014202, 0x00000002, + 0x4029D820, 0xA0014302, 0x00000002, 0x4029D820, 0xA0014402, 0x00000002, + 0x4029D820, 0xA0014502, 0x00000002, 0x4029D820, 0xA0014602, 0x00000002, + 0x4029D820, 0xA0014702, 0x00000002, 0x4029D820, 0xA0014802, 0x00000002, + 0x4029D820, 0xA0014902, 0x00000002, 0x4029D820, 0xA0014A02, 0x00000002, + 0x4029D820, 0xA0014B02, 0x00000002, 0x4029D820, 0xA0014C02, 0x00000002, + 0x4029D820, 0xA0014D02, 0x00000002, 0x4029D820, 0xA0014E02, 0x00000002, + 0x4029D820, 0xA0014F02, 0x00000002, 0x4029D820, + // Block 26, offset 0x680 + 0xA0015002, 0x00000002, 0x4029D820, 0xA0015102, 0x00000002, 0x4029D820, + 0xA0015202, 0x00000002, 0x4029D820, 0xA0015302, 0x00000002, 0x4029D820, + 0xA0015402, 0x00000002, 0x4029D820, 0xA0015502, 0x00000002, 0x4029D820, + 0xA0015602, 0x00000002, 0x0029D884, 0xA0015604, 0x00000002, 0x4029D820, + 0xA0015702, 0x00000002, 0x4029D820, 0xA0015802, 0x00000002, 0x4029D820, + 0xA0015902, 0x00000002, 0x4029D820, 0xA0015A02, 0x00000002, 0x4029D820, + 0xA0015B02, 0x00000002, 0x4029D820, 0xA0015C02, 0x00000002, 0x4029D820, + 0xA0015D02, 0x00000002, 0x4029D820, 0xA0015E02, 0x00000002, 0x4029D820, + 0xA0015F02, 0x00000002, 0x4029D820, 0xA0016002, 0x00000002, 0x4029D820, + 0xA0016102, 0x00000002, 0x4029D820, 0xA0016202, 0x00000002, 0x4029D820, + 0xA0016302, 0x00000002, 0x4029D820, 0xA0016402, + // Block 27, offset 0x6c0 + 0x00000002, 0x4029D820, 0xA0016502, 0x00000002, 0x4029D820, 0xA0016602, + 0x00000002, 0x4029D820, 0xA0016702, 0x00000002, 0x4029D820, 0xA0016902, + 0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02, + 0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02, + 0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02, + 0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0017202, + 0x00000002, 0x4029D820, 0xA0017302, 0x00000002, 0x4029D820, 0xA0017402, + 0x00000002, 0x4029D820, 0xA0017502, 0x00000002, 0x4029D820, 0xA0017702, + 0x00000002, 0x0029D886, 0x0029CC86, 0x00000002, 0x4029DA20, 0xA0013F02, + 0x00000002, 0x4029DA20, 0xA0014002, 0x00000002, 0x4029DA20, 0xA0014102, + 0x00000002, 0x4029DA20, 0xA0014202, 0x00000002, + // Block 28, offset 0x700 + 0x4029DA20, 0xA0014302, 0x00000002, 0x4029DA20, 0xA0014402, 0x00000002, + 0x4029DA20, 0xA0014502, 0x00000002, 0x4029DA20, 0xA0014602, 0x00000002, + 0x4029DA20, 0xA0014702, 0x00000002, 0x4029DA20, 0xA0014802, 0x00000002, + 0x4029DA20, 0xA0014902, 0x00000002, 0x4029DA20, 0xA0014A02, 0x00000002, + 0x4029DA20, 0xA0014B02, 0x00000002, 0x4029DA20, 0xA0014C02, 0x00000002, + 0x4029DA20, 0xA0014D02, 0x00000002, 0x4029DA20, 0xA0014E02, 0x00000002, + 0x4029DA20, 0xA0014F02, 0x00000002, 0x4029DA20, 0xA0015002, 0x00000002, + 0x4029DA20, 0xA0015102, 0x00000002, 0x4029DA20, 0xA0015202, 0x00000002, + 0x4029DA20, 0xA0015302, 0x00000002, 0x4029DA20, 0xA0015402, 0x00000002, + 0x4029DA20, 0xA0015502, 0x00000002, 0x4029DA20, 0xA0015602, 0x00000002, + 0x0029DA84, 0xA0015604, 0x00000002, 0x4029DA20, + // Block 29, offset 0x740 + 0xA0015702, 0x00000002, 0x4029DA20, 0xA0015802, 0x00000002, 0x4029DA20, + 0xA0015902, 0x00000002, 0x4029DA20, 0xA0015A02, 0x00000002, 0x4029DA20, + 0xA0015B02, 0x00000002, 0x4029DA20, 0xA0015C02, 0x00000002, 0x4029DA20, + 0xA0015D02, 0x00000002, 0x4029DA20, 0xA0015E02, 0x00000002, 0x4029DA20, + 0xA0015F02, 0x00000002, 0x4029DA20, 0xA0016002, 0x00000002, 0x4029DA20, + 0xA0016102, 0x00000002, 0x4029DA20, 0xA0016202, 0x00000002, 0x4029DA20, + 0xA0016302, 0x00000002, 0x4029DA20, 0xA0016402, 0x00000002, 0x4029DA20, + 0xA0016502, 0x00000002, 0x4029DA20, 0xA0016602, 0x00000002, 0x4029DA20, + 0xA0016702, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, + 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, + 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02, + // Block 30, offset 0x780 + 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02, + 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0017202, + 0x00000002, 0x4029DA20, 0xA0017302, 0x00000002, 0x4029DA20, 0xA0017402, + 0x00000002, 0x4029DA20, 0xA0017502, 0x00000002, 0x4029DA20, 0xA0017702, + 0x00000003, 0x0029DA9E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029DA86, + 0x0029CC86, 0x00000002, 0x4029DC20, 0xA0013F02, 0x00000002, 0x4029DC20, + 0xA0014002, 0x00000002, 0x4029DC20, 0xA0014102, 0x00000002, 0x4029DC20, + 0xA0014202, 0x00000002, 0x4029DC20, 0xA0014302, 0x00000002, 0x4029DC20, + 0xA0014402, 0x00000002, 0x4029DC20, 0xA0014502, 0x00000002, 0x4029DC20, + 0xA0014602, 0x00000002, 0x4029DC20, 0xA0014702, 0x00000002, 0x4029DC20, + 0xA0014802, 0x00000002, 0x4029DC20, 0xA0014902, + // Block 31, offset 0x7c0 + 0x00000002, 0x4029DC20, 0xA0014A02, 0x00000002, 0x4029DC20, 0xA0014B02, + 0x00000002, 0x4029DC20, 0xA0014C02, 0x00000002, 0x4029DC20, 0xA0014D02, + 0x00000002, 0x4029DC20, 0xA0014E02, 0x00000002, 0x4029DC20, 0xA0014F02, + 0x00000002, 0x4029DC20, 0xA0015002, 0x00000002, 0x4029DC20, 0xA0015102, + 0x00000002, 0x4029DC20, 0xA0015202, 0x00000002, 0x4029DC20, 0xA0015302, + 0x00000002, 0x4029DC20, 0xA0015402, 0x00000002, 0x4029DC20, 0xA0015502, + 0x00000002, 0x4029DC20, 0xA0015602, 0x00000002, 0x0029DC84, 0xA0015604, + 0x00000002, 0x4029DC20, 0xA0015702, 0x00000002, 0x4029DC20, 0xA0015802, + 0x00000002, 0x4029DC20, 0xA0015902, 0x00000002, 0x4029DC20, 0xA0015A02, + 0x00000002, 0x4029DC20, 0xA0015B02, 0x00000002, 0x4029DC20, 0xA0015C02, + 0x00000002, 0x4029DC20, 0xA0015D02, 0x00000002, + // Block 32, offset 0x800 + 0x4029DC20, 0xA0015E02, 0x00000002, 0x4029DC20, 0xA0015F02, 0x00000002, + 0x4029DC20, 0xA0016002, 0x00000002, 0x4029DC20, 0xA0016102, 0x00000002, + 0x4029DC20, 0xA0016202, 0x00000002, 0x4029DC20, 0xA0016302, 0x00000002, + 0x4029DC20, 0xA0016402, 0x00000002, 0x4029DC20, 0xA0016502, 0x00000002, + 0x4029DC20, 0xA0016602, 0x00000002, 0x4029DC20, 0xA0016702, 0x00000002, + 0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002, + 0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002, + 0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002, + 0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0017202, 0x00000002, + 0x4029DC20, 0xA0017302, 0x00000002, 0x4029DC20, 0xA0017402, 0x00000002, + 0x4029DC20, 0xA0017502, 0x00000002, 0x4029DC20, + // Block 33, offset 0x840 + 0xA0017702, 0x00000002, 0x0029DC86, 0x0029CC86, 0x00000002, 0x4029DE20, + 0xA0013F02, 0x00000002, 0x4029DE20, 0xA0014002, 0x00000002, 0x4029DE20, + 0xA0014102, 0x00000002, 0x4029DE20, 0xA0014202, 0x00000002, 0x4029DE20, + 0xA0014302, 0x00000002, 0x4029DE20, 0xA0014402, 0x00000002, 0x4029DE20, + 0xA0014502, 0x00000002, 0x4029DE20, 0xA0014602, 0x00000002, 0x4029DE20, + 0xA0014702, 0x00000002, 0x4029DE20, 0xA0014802, 0x00000002, 0x4029DE20, + 0xA0014902, 0x00000002, 0x4029DE20, 0xA0014A02, 0x00000002, 0x4029DE20, + 0xA0014B02, 0x00000002, 0x4029DE20, 0xA0014C02, 0x00000002, 0x4029DE20, + 0xA0014D02, 0x00000002, 0x4029DE20, 0xA0014E02, 0x00000002, 0x4029DE20, + 0xA0014F02, 0x00000002, 0x4029DE20, 0xA0015002, 0x00000002, 0x4029DE20, + 0xA0015102, 0x00000002, 0x4029DE20, 0xA0015202, + // Block 34, offset 0x880 + 0x00000002, 0x4029DE20, 0xA0015302, 0x00000002, 0x4029DE20, 0xA0015402, + 0x00000002, 0x4029DE20, 0xA0015502, 0x00000002, 0x4029DE20, 0xA0015602, + 0x00000002, 0x0029DE84, 0xA0015604, 0x00000002, 0x4029DE20, 0xA0015702, + 0x00000002, 0x4029DE20, 0xA0015802, 0x00000002, 0x4029DE20, 0xA0015902, + 0x00000002, 0x4029DE20, 0xA0015A02, 0x00000002, 0x4029DE20, 0xA0015B02, + 0x00000002, 0x4029DE20, 0xA0015C02, 0x00000002, 0x4029DE20, 0xA0015D02, + 0x00000002, 0x4029DE20, 0xA0015E02, 0x00000002, 0x4029DE20, 0xA0015F02, + 0x00000002, 0x4029DE20, 0xA0016002, 0x00000002, 0x4029DE20, 0xA0016102, + 0x00000002, 0x4029DE20, 0xA0016202, 0x00000002, 0x4029DE20, 0xA0016302, + 0x00000002, 0x4029DE20, 0xA0016402, 0x00000002, 0x4029DE20, 0xA0016502, + 0x00000002, 0x4029DE20, 0xA0016602, 0x00000002, + // Block 35, offset 0x8c0 + 0x4029DE20, 0xA0016702, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002, + 0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002, + 0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002, + 0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002, + 0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002, + 0x4029DE20, 0xA0017202, 0x00000002, 0x4029DE20, 0xA0017302, 0x00000002, + 0x4029DE20, 0xA0017402, 0x00000002, 0x4029DE20, 0xA0017502, 0x00000002, + 0x4029DE20, 0xA0017702, 0x00000002, 0x402BDE20, 0xAE603202, 0x00000002, + 0x002BDE88, 0xAE603202, 0x00000002, 0x402BDE20, 0xAE603502, 0x00000002, + 0x002BDE88, 0xAE603502, 0x00000002, 0x402BDE20, 0xAE603702, 0x00000002, + 0x002BDE88, 0xAE603702, 0x00000003, 0x402BDE20, + // Block 36, offset 0x900 + 0xAE603702, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE603202, + 0x00000003, 0x402BDE20, 0xAE603702, 0xAE603502, 0x00000003, 0x002BDE88, + 0xAE603702, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE603702, 0xAE604E02, + 0x00000003, 0x002BDE88, 0xAE603702, 0xAE604E02, 0x00000003, 0x402BDE20, + 0xAE603702, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE606402, + 0x00000002, 0x402BDE20, 0xAE603C02, 0x00000002, 0x002BDE88, 0xAE603C02, + 0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BDE88, + 0xAE603C02, 0xAE603202, 0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603502, + 0x00000003, 0x002BDE88, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BDE20, + 0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE88, 0xAE603C02, 0xAE604E02, + 0x00000003, 0x402BDE20, 0xAE603C02, 0xAE606402, + // Block 37, offset 0x940 + 0x00000003, 0x002BDE88, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BDE20, + 0xAE604102, 0x00000002, 0x002BDE88, 0xAE604102, 0x00000002, 0x402BDE20, + 0xAE604302, 0x00000002, 0x002BDE88, 0xAE604302, 0x00000003, 0x402BDE20, + 0xAE604302, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603202, + 0x00000002, 0x402BDE20, 0xAE604702, 0x00000002, 0x002BDE88, 0xAE604702, + 0x00000003, 0x402BDE20, 0xAE604702, 0xAE605B02, 0x00000003, 0x002BDE88, + 0xAE604702, 0xAE605B02, 0x00000002, 0x402BDE20, 0xAE604E02, 0x00000002, + 0x002BDE88, 0xAE604E02, 0x00000002, 0x402BDE20, 0xAE605202, 0x00000002, + 0x002BDE88, 0xAE605202, 0x00000003, 0x402BDE20, 0xAE605202, 0xAE605B02, + 0x00000003, 0x002BDE88, 0xAE605202, 0xAE605B02, 0x00000002, 0x402BDE20, + 0xACA05902, 0x00000002, 0x002BDE88, 0xACA05902, + // Block 38, offset 0x980 + 0x00000002, 0x402BDE20, 0xAE605B02, 0x00000002, 0x002BDE88, 0xAE605B02, + 0x00000002, 0x402BDE20, 0xAE606402, 0x00000002, 0x002BDE88, 0xAE606402, + 0x00000002, 0x402BDE20, 0xAE606502, 0x00000002, 0x002BDE88, 0xAE606502, + 0x00000002, 0x402BDE20, 0xAE606702, 0x00000002, 0x002BDE88, 0xAE606702, + 0x00000002, 0x402BDE20, 0xADC07002, 0x00000002, 0x002BDE88, 0xADC07002, + 0x00000003, 0x402BDE20, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE88, + 0xADC07002, 0xAE603702, 0x00000003, 0x402BDE20, 0xADC07002, 0xAE603C02, + 0x00000003, 0x002BDE88, 0xADC07002, 0xAE603C02, 0x00000002, 0x402BDE20, + 0xADC07602, 0x00000002, 0x002BDE88, 0xADC07602, 0x00000002, 0x84E615EF, + 0xAE613904, 0x00000004, 0x002BDE9C, 0x0002E49C, 0x002E829C, 0x0002E49C, + 0x00000003, 0x002BDE84, 0x0004E284, 0x002C3A84, + // Block 39, offset 0x9c0 + 0x00000003, 0x002BDE84, 0x0004E284, 0x002FE684, 0x00000003, 0x002BDE8A, + 0x0004E284, 0x002FE68A, 0x00000003, 0x002BDE9D, 0x0009569C, 0x002E829C, + 0x00000002, 0x002BDE84, 0x002BDE84, 0x00000002, 0x002BDE8A, 0x002BDE8A, + 0x00000002, 0x002BDE9D, 0x002C0A9D, 0x00000003, 0x002BDE84, 0xA0013904, + 0x002C9884, 0x00000003, 0x84E615EF, 0xAE613904, 0x84E6164C, 0x00000003, + 0x002BDE8A, 0xA0013904, 0x002C988A, 0x00000003, 0x002BDE94, 0xA0013914, + 0x002C9894, 0x00000004, 0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603202, + 0x00000004, 0x002BDE8A, 0xA0013904, 0x002C988A, 0xAE603202, 0x00000004, + 0x002BDE84, 0xA0013904, 0x002C9884, 0xAE605B02, 0x00000004, 0x002BDE8A, + 0xA0013904, 0x002C988A, 0xAE605B02, 0x00000002, 0x84E615EF, 0x84E61771, + 0x00000002, 0x002BDE84, 0x002EE284, 0x00000002, + // Block 40, offset 0xa00 + 0x002BDE8A, 0x002EE28A, 0x00000002, 0x002BDE84, 0x00306C84, 0x00000002, + 0x002BDE8A, 0x00306C8A, 0x00000002, 0x84E615EF, 0x84E6185F, 0x00000002, + 0x002BDE84, 0x0030BE84, 0x00000002, 0x002BDE8A, 0x0030BE8A, 0x00000003, + 0x002BDE84, 0xA0013904, 0x0030BE84, 0x00000003, 0x002BDE8A, 0xA0013904, + 0x0030BE8A, 0x00000002, 0x002BDE84, 0x00310084, 0x00000002, 0x002BDE8A, + 0x0031008A, 0x00000002, 0x402C0A20, 0xAE605202, 0x00000002, 0x002C0A88, + 0xAE605202, 0x00000002, 0x402C0A20, 0xADC07002, 0x00000002, 0x002C0A88, + 0xADC07002, 0x00000002, 0x402C0A20, 0xADC07B02, 0x00000002, 0x002C0A88, + 0xADC07B02, 0x00000003, 0x002C0A9C, 0x002BDE9C, 0x002F7A9C, 0x00000002, + 0x402C3A20, 0xAE603202, 0x00000002, 0x002C3A88, 0xAE603202, 0x00000002, + 0x402C3A20, 0xAE603C02, 0x00000002, 0x002C3A88, + // Block 41, offset 0xa40 + 0xAE603C02, 0x00000002, 0x402C3A20, 0xAE604102, 0x00000002, 0x002C3A88, + 0xAE604102, 0x00000002, 0x402C3A20, 0xAE605202, 0x00000002, 0x002C3A88, + 0xAE605202, 0x00000002, 0x402C3A20, 0xACA05602, 0x00000002, 0x84E6161D, + 0xAE605604, 0x00000002, 0x002C3A88, 0xACA05602, 0x00000003, 0x402C3A20, + 0xACA05602, 0xAE603202, 0x00000003, 0x002C3A88, 0xACA05602, 0xAE603202, + 0x00000003, 0x002C3A84, 0x0004E284, 0x002EE284, 0x00000003, 0x002C3A84, + 0x0004E284, 0x00306C84, 0x00000004, 0x002C3A9D, 0x0009569C, 0x002DFE9C, + 0x002D229C, 0x00000003, 0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000002, + 0x002C3A9D, 0x002E229D, 0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D09C, + 0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D29C, 0x00000003, 0x002C3A9D, + 0x002EE29C, 0x0002E49C, 0x00000004, 0x002C3A9D, + // Block 42, offset 0xa80 + 0x002EE29D, 0x002EE29D, 0x002E229D, 0x00000002, 0x402C6220, 0xAE604102, + 0x00000002, 0x002C6288, 0xAE604102, 0x00000002, 0x402C6220, 0xAE605202, + 0x00000002, 0x002C6288, 0xAE605202, 0x00000002, 0x402C6220, 0xACA05602, + 0x00000002, 0x002C6288, 0xACA05602, 0x00000002, 0x402C6220, 0xADC07002, + 0x00000002, 0x002C6288, 0xADC07002, 0x00000002, 0x402C6220, 0xADC07802, + 0x00000002, 0x002C6288, 0xADC07802, 0x00000002, 0x402C6220, 0xADC07B02, + 0x00000002, 0x002C6288, 0xADC07B02, 0x00000002, 0x402C6220, 0xA0007D02, + 0x00000002, 0x002C6288, 0xA0007D02, 0x00000002, 0x002C6284, 0xA0013904, + 0x00000002, 0x84E61631, 0xAE613904, 0x00000002, 0x002C628A, 0xA0013904, + 0x00000002, 0x84E61631, 0xAE613A04, 0x00000002, 0x002C6284, 0xA0013A04, + 0x00000002, 0x002C628A, 0xA0013A04, 0x00000002, + // Block 43, offset 0xac0 + 0x002C6284, 0x002C0A84, 0x00000003, 0x002C629C, 0x002E829C, 0x0029D09C, + 0x00000003, 0x002C629C, 0x002E829C, 0x0029D29C, 0x00000002, 0x002C6284, + 0x00312A84, 0x00000003, 0x002C6284, 0x00312A84, 0xA0004104, 0x00000003, + 0x002C628A, 0x00312A84, 0xA0004104, 0x00000003, 0x002C628A, 0x00312A8A, + 0xA0004104, 0x00000002, 0x002C6284, 0x00315084, 0x00000002, 0x002C6284, + 0x00316484, 0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x002C9888, + 0xAE603202, 0x00000002, 0x402C9820, 0xAE603502, 0x00000002, 0x002C9888, + 0xAE603502, 0x00000002, 0x402C9820, 0xAE603702, 0x00000002, 0x002C9888, + 0xAE603702, 0x00000002, 0x402C9820, 0xAE603C02, 0x00000002, 0x002C9888, + 0xAE603C02, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE603202, 0x00000003, + 0x002C9888, 0xAE603C02, 0xAE603202, 0x00000003, + // Block 44, offset 0xb00 + 0x402C9820, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE603C02, + 0xAE603502, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE604E02, 0x00000003, + 0x002C9888, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C9820, 0xAE603C02, + 0xAE606402, 0x00000003, 0x002C9888, 0xAE603C02, 0xAE606402, 0x00000002, + 0x402C9820, 0xAE604102, 0x00000002, 0x002C9888, 0xAE604102, 0x00000002, + 0x402C9820, 0xAE604702, 0x00000002, 0x002C9888, 0xAE604702, 0x00000002, + 0x402C9820, 0xAE604E02, 0x00000002, 0x002C9888, 0xAE604E02, 0x00000002, + 0x402C9820, 0xAE605202, 0x00000002, 0x002C9888, 0xAE605202, 0x00000002, + 0x402C9820, 0xACA05602, 0x00000002, 0x002C9888, 0xACA05602, 0x00000003, + 0x402C9820, 0xACA05602, 0xAE603702, 0x00000003, 0x002C9888, 0xACA05602, + 0xAE603702, 0x00000002, 0x402C9820, 0xACA05902, + // Block 45, offset 0xb40 + 0x00000002, 0x002C9888, 0xACA05902, 0x00000002, 0x402C9820, 0xAE605B02, + 0x00000002, 0x002C9888, 0xAE605B02, 0x00000003, 0x402C9820, 0xAE605B02, + 0xAE603202, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603202, 0x00000003, + 0x402C9820, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE605B02, + 0xAE603502, 0x00000002, 0x402C9820, 0xAE606402, 0x00000002, 0x002C9888, + 0xAE606402, 0x00000002, 0x402C9820, 0xAE606502, 0x00000002, 0x002C9888, + 0xAE606502, 0x00000002, 0x402C9820, 0xAE606702, 0x00000002, 0x002C9888, + 0xAE606702, 0x00000002, 0x402C9820, 0xADC07002, 0x00000002, 0x002C9888, + 0xADC07002, 0x00000003, 0x402C9820, 0xADC07002, 0xAE603C02, 0x00000003, + 0x002C9888, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C9820, 0xADC07802, + 0x00000002, 0x002C9888, 0xADC07802, 0x00000002, + // Block 46, offset 0xb80 + 0x402C9820, 0xADC07A02, 0x00000002, 0x002C9888, 0xADC07A02, 0x00000003, + 0x002C989C, 0x002F7A9C, 0x002D229C, 0x00000002, 0x402D0820, 0xAE605202, + 0x00000002, 0x002D0888, 0xAE605202, 0x00000002, 0x002D0884, 0xA0013A04, + 0x00000002, 0x002D088A, 0xA0013A04, 0x00000003, 0x002D088A, 0x002BDE8A, + 0x0030F68A, 0x00000003, 0x002D0884, 0x002D0884, 0x002D9A84, 0x00000003, + 0x002D0884, 0x002D0884, 0x002E2284, 0x00000002, 0x002D0884, 0x002EDA84, + 0x00000004, 0x002D089D, 0x002F7A9D, 0x002C989D, 0x002C989D, 0x00000002, + 0x402D2220, 0xAE603202, 0x00000002, 0x002D2288, 0xAE603202, 0x00000002, + 0x402D2220, 0xAE603702, 0x00000002, 0x002D2288, 0xAE603702, 0x00000002, + 0x402D2220, 0xAE603C02, 0x00000002, 0x002D2288, 0xAE603C02, 0x00000002, + 0x402D2220, 0xAE604102, 0x00000002, 0x002D2288, + // Block 47, offset 0xbc0 + 0xAE604102, 0x00000002, 0x402D2220, 0xAE605202, 0x00000002, 0x002D2288, + 0xAE605202, 0x00000002, 0x402D2220, 0xACA05602, 0x00000002, 0x002D2288, + 0xACA05602, 0x00000002, 0x402D2220, 0xAE605B02, 0x00000002, 0x002D2288, + 0xAE605B02, 0x00000002, 0x002D2284, 0xA0006104, 0x00000002, 0x002D228A, + 0xA0006104, 0x00000002, 0x002D2284, 0xA0013A04, 0x00000002, 0x002D228A, + 0xA0013A04, 0x00000003, 0x002D229C, 0x002BDE9C, 0x002E229C, 0x00000003, + 0x002D229D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002D229D, 0x002F2C9D, + 0x002BDE9C, 0x00000002, 0x402D6820, 0xAE603C02, 0x00000002, 0x002D6888, + 0xAE603C02, 0x00000002, 0x402D6820, 0xAE604102, 0x00000002, 0x002D6888, + 0xAE604102, 0x00000002, 0x402D6820, 0xAE604702, 0x00000002, 0x002D6888, + 0xAE604702, 0x00000002, 0x402D6820, 0xAE605202, + // Block 48, offset 0xc00 + 0x00000002, 0x002D6888, 0xAE605202, 0x00000002, 0x402D6820, 0xACA05602, + 0x00000002, 0x002D6888, 0xACA05602, 0x00000002, 0x402D6820, 0xADC07002, + 0x00000002, 0x002D6888, 0xADC07002, 0x00000002, 0x402D6820, 0xADC07902, + 0x00000002, 0x002D6888, 0xADC07902, 0x00000002, 0x402D6820, 0xADC07B02, + 0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6888, 0xA0007D02, + 0x00000003, 0x002D689C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402D9A20, + 0xAE603202, 0x00000002, 0x002D9A88, 0xAE603202, 0x00000002, 0x402D9A20, + 0xAE603502, 0x00000002, 0x002D9A88, 0xAE603502, 0x00000002, 0x402D9A20, + 0xAE603702, 0x00000002, 0x002D9A88, 0xAE603702, 0x00000002, 0x402D9A20, + 0xAE603C02, 0x00000002, 0x002D9A88, 0xAE603C02, 0x00000002, 0x402D9A20, + 0xAE604102, 0x00000002, 0x002D9A88, 0xAE604102, + // Block 49, offset 0xc40 + 0x00000002, 0x402D9A20, 0xAE604702, 0x00000002, 0x002D9A88, 0xAE604702, + 0x00000003, 0x402D9A20, 0xAE604702, 0xAE603202, 0x00000003, 0x002D9A88, + 0xAE604702, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE604E02, 0x00000002, + 0x002D9A88, 0xAE604E02, 0x00000002, 0x002D9A88, 0xAE605202, 0x00000002, + 0x402D9A20, 0xACA05902, 0x00000002, 0x002D9A88, 0xACA05902, 0x00000002, + 0x402D9A20, 0xAE605B02, 0x00000002, 0x002D9A88, 0xAE605B02, 0x00000002, + 0x402D9A20, 0xAE606402, 0x00000002, 0x002D9A88, 0xAE606402, 0x00000002, + 0x402D9A20, 0xAE606502, 0x00000002, 0x002D9A88, 0xAE606502, 0x00000002, + 0x402D9A20, 0xAE606702, 0x00000002, 0x002D9A88, 0xAE606702, 0x00000002, + 0x402D9A20, 0xADC07002, 0x00000002, 0x002D9A88, 0xADC07002, 0x00000002, + 0x402D9A20, 0xADC07A02, 0x00000002, 0x002D9A88, + // Block 50, offset 0xc80 + 0xADC07A02, 0x00000002, 0x002D9A9D, 0x002C3A9D, 0x00000002, 0x002D9A9D, + 0x002C629D, 0x00000002, 0x402DCC20, 0xAE603C02, 0x00000002, 0x002DCC88, + 0xAE603C02, 0x00000002, 0x402DCC20, 0xAE604102, 0x00000002, 0x402DFE20, + 0xAE603202, 0x00000002, 0x002DFE88, 0xAE603202, 0x00000002, 0x402DFE20, + 0xAE604102, 0x00000002, 0x002DFE88, 0xAE604102, 0x00000002, 0x402DFE20, + 0xACA05602, 0x00000002, 0x002DFE88, 0xACA05602, 0x00000002, 0x002DFE84, + 0xA0006104, 0x00000002, 0x002DFE8A, 0xA0006104, 0x00000002, 0x402DFE20, + 0xADC07002, 0x00000002, 0x002DFE88, 0xADC07002, 0x00000002, 0x402DFE20, + 0xADC07B02, 0x00000002, 0x002DFE88, 0xADC07B02, 0x00000004, 0x002DFE9C, + 0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000003, 0x002DFE9C, 0x002D689D, + 0x00312A9C, 0x00000003, 0x002DFE9C, 0x002E829C, + // Block 51, offset 0xcc0 + 0x0029D09C, 0x00000003, 0x002DFE9C, 0x002E829C, 0x0029D29C, 0x00000003, + 0x002DFE9C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E2220, 0xAE603202, + 0x00000002, 0x002E2288, 0xAE603202, 0x00000002, 0x402E2220, 0xAE604102, + 0x00000002, 0x002E2288, 0xAE604102, 0x00000002, 0x402E2220, 0xACA05602, + 0x00000002, 0x002E2288, 0xACA05602, 0x00000002, 0x402E2220, 0xADC07002, + 0x00000002, 0x002E2288, 0xADC07002, 0x00000003, 0x402E2220, 0xADC07002, + 0xAE605B02, 0x00000003, 0x002E2288, 0xADC07002, 0xAE605B02, 0x00000002, + 0x402E2220, 0xADC07802, 0x00000002, 0x002E2288, 0xADC07802, 0x00000002, + 0x402E2220, 0xADC07B02, 0x00000002, 0x002E2288, 0xADC07B02, 0x00000002, + 0x402E2220, 0xA0007D02, 0x00000002, 0x002E2288, 0xA0007D02, 0x00000002, + 0x402E2220, 0xA0013902, 0x00000002, 0x402E2220, + // Block 52, offset 0xd00 + 0xA0013902, 0x00000002, 0x002E2288, 0xA0013902, 0x00000002, 0x002E2288, + 0xA0013902, 0x00000002, 0x002E2284, 0x002E2284, 0x00000002, 0x002E228A, + 0x002E228A, 0x00000003, 0x002E229C, 0x002EE29C, 0x002D229C, 0x00000002, + 0x002E2284, 0x002FE684, 0x00000003, 0x002E229D, 0x00302C9D, 0x002C629D, + 0x00000002, 0x002E2284, 0x00312A84, 0x00000002, 0x402E8220, 0xAE603202, + 0x00000002, 0x002E8288, 0xAE603202, 0x00000002, 0x402E8220, 0xAE605202, + 0x00000002, 0x002E8288, 0xAE605202, 0x00000002, 0x402E8220, 0xADC07002, + 0x00000002, 0x002E8288, 0xADC07002, 0x00000003, 0x002E829C, 0x0009569C, + 0x002FE69C, 0x00000004, 0x002E829C, 0x0009569C, 0x002FE69C, 0x0029D09C, + 0x00000003, 0x002E829D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002E829C, + 0x002D9A9C, 0x002E229C, 0x00000003, 0x002E829C, + // Block 53, offset 0xd40 + 0x002E829C, 0x0029D09C, 0x00000003, 0x002E829C, 0x002E829C, 0x0029D29C, + 0x00000003, 0x002E829C, 0x002EE29C, 0x002E229C, 0x00000003, 0x002E829D, + 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E9E20, 0xAE603202, 0x00000002, + 0x002E9E88, 0xAE603202, 0x00000002, 0x402E9E20, 0xAE603502, 0x00000002, + 0x002E9E88, 0xAE603502, 0x00000002, 0x402E9E20, 0xAE604102, 0x00000002, + 0x002E9E88, 0xAE604102, 0x00000002, 0x402E9E20, 0xAE604E02, 0x00000002, + 0x002E9E88, 0xAE604E02, 0x00000002, 0x402E9E20, 0xAE605202, 0x00000002, + 0x002E9E88, 0xAE605202, 0x00000002, 0x402E9E20, 0xACA05602, 0x00000002, + 0x002E9E88, 0xACA05602, 0x00000002, 0x002E9E84, 0xA0006104, 0x00000002, + 0x002E9E8A, 0xA0006104, 0x00000002, 0x402E9E20, 0xADC07002, 0x00000002, + 0x002E9E88, 0xADC07002, 0x00000002, 0x402E9E20, + // Block 54, offset 0xd80 + 0xADC07802, 0x00000002, 0x002E9E88, 0xADC07802, 0x00000002, 0x402E9E20, + 0xADC07B02, 0x00000002, 0x002E9E88, 0xADC07B02, 0x00000003, 0x002E9E9D, + 0x002C989D, 0x0030E29D, 0x00000002, 0x002E9E9D, 0x002D229D, 0x00000002, + 0x402EE220, 0xAE603202, 0x00000002, 0x002EE288, 0xAE603202, 0x00000002, + 0x402EE220, 0xAE603502, 0x00000002, 0x002EE288, 0xAE603502, 0x00000002, + 0x402EE220, 0xAE603702, 0x00000002, 0x002EE288, 0xAE603702, 0x00000002, + 0x402EE220, 0xAE603C02, 0x00000002, 0x002EE288, 0xAE603C02, 0x00000003, + 0x402EE220, 0xAE603C02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE603C02, + 0xAE603202, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE603502, 0x00000003, + 0x002EE288, 0xAE603C02, 0xAE603502, 0x00000003, 0x402EE220, 0xAE603C02, + 0xAE604E02, 0x00000003, 0x002EE288, 0xAE603C02, + // Block 55, offset 0xdc0 + 0xAE604E02, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE606402, 0x00000003, + 0x002EE288, 0xAE603C02, 0xAE606402, 0x00000002, 0x402EE220, 0xAE604102, + 0x00000002, 0x002EE288, 0xAE604102, 0x00000002, 0x402EE220, 0xAE604702, + 0x00000002, 0x002EE288, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604702, + 0xAE605B02, 0x00000003, 0x002EE288, 0xAE604702, 0xAE605B02, 0x00000002, + 0x402EE220, 0xAE604D02, 0x00000002, 0x002EE288, 0xAE604D02, 0x00000002, + 0x402EE220, 0xAE604E02, 0x00000002, 0x002EE288, 0xAE604E02, 0x00000003, + 0x402EE220, 0xAE604E02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604E02, + 0xAE603202, 0x00000003, 0x402EE220, 0xAE604E02, 0xAE604702, 0x00000003, + 0x002EE288, 0xAE604E02, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604E02, + 0xAE605B02, 0x00000003, 0x002EE288, 0xAE604E02, + // Block 56, offset 0xe00 + 0xAE605B02, 0x00000002, 0x402EE220, 0xAE605202, 0x00000002, 0x002EE288, + 0xAE605202, 0x00000003, 0x402EE220, 0xAE605202, 0xAE605B02, 0x00000003, + 0x002EE288, 0xAE605202, 0xAE605B02, 0x00000002, 0x402EE220, 0xA0005402, + 0x00000002, 0x002EE288, 0xA0005402, 0x00000003, 0x402EE220, 0xA0005402, + 0xAE603202, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603202, 0x00000002, + 0x402EE220, 0xACA05902, 0x00000002, 0x002EE288, 0xACA05902, 0x00000003, + 0x402EE220, 0xACA05902, 0xAE605B02, 0x00000003, 0x002EE288, 0xACA05902, + 0xAE605B02, 0x00000002, 0x402EE220, 0xAE605B02, 0x00000002, 0x002EE288, + 0xAE605B02, 0x00000003, 0x402EE220, 0xAE605B02, 0xAE603202, 0x00000003, + 0x002EE288, 0xAE605B02, 0xAE603202, 0x00000003, 0x402EE220, 0xAE605B02, + 0xAE603502, 0x00000003, 0x002EE288, 0xAE605B02, + // Block 57, offset 0xe40 + 0xAE603502, 0x00000002, 0x402EE220, 0xAE606402, 0x00000002, 0x002EE288, + 0xAE606402, 0x00000002, 0x402EE220, 0xAE606502, 0x00000002, 0x002EE288, + 0xAE606502, 0x00000002, 0x402EE220, 0xAE606702, 0x00000002, 0x002EE288, + 0xAE606702, 0x00000002, 0x402EE220, 0xAD806802, 0x00000002, 0x002EE288, + 0xAD806802, 0x00000003, 0x402EE220, 0xAD806802, 0xAE603202, 0x00000003, + 0x002EE288, 0xAD806802, 0xAE603202, 0x00000003, 0x402EE220, 0xAD806802, + 0xAE603502, 0x00000003, 0x002EE288, 0xAD806802, 0xAE603502, 0x00000003, + 0x402EE220, 0xAD806802, 0xAE604E02, 0x00000003, 0x002EE288, 0xAD806802, + 0xAE604E02, 0x00000003, 0x402EE220, 0xAD806802, 0xAE606402, 0x00000003, + 0x002EE288, 0xAD806802, 0xAE606402, 0x00000003, 0x402EE220, 0xAD806802, + 0xADC07002, 0x00000003, 0x002EE288, 0xAD806802, + // Block 58, offset 0xe80 + 0xADC07002, 0x00000002, 0x402EE220, 0xADC07002, 0x00000002, 0x002EE288, + 0xADC07002, 0x00000003, 0x402EE220, 0xADC07002, 0xAE603C02, 0x00000003, + 0x002EE288, 0xADC07002, 0xAE603C02, 0x00000003, 0x002EE284, 0xA0013904, + 0x002C9884, 0x00000003, 0x002EE28A, 0xA0013904, 0x002C988A, 0x00000003, + 0x002EE294, 0xA0013914, 0x002C9894, 0x00000002, 0x002EE29D, 0x002DFE9D, + 0x00000002, 0x002EE284, 0x002EE284, 0x00000002, 0x002EE28A, 0x002EE28A, + 0x00000002, 0x402F2C20, 0xAE603202, 0x00000002, 0x002F2C88, 0xAE603202, + 0x00000002, 0x402F2C20, 0xAE605202, 0x00000002, 0x002F2C88, 0xAE605202, + 0x00000004, 0x002F2C9C, 0x0002E49C, 0x002E829C, 0x0002E49C, 0x00000002, + 0x002F2C9D, 0x002BDE9D, 0x00000003, 0x002F2C9D, 0x002F2C9D, 0x002E829D, + 0x00000003, 0x002F2C9D, 0x002F2C9D, 0x0030BE9D, + // Block 59, offset 0xec0 + 0x00000003, 0x002F2C9D, 0x00302C9D, 0x002C989D, 0x00000002, 0x002F5684, + 0x002F2C84, 0x00000002, 0x402F7A20, 0xAE603202, 0x00000002, 0x002F7A88, + 0xAE603202, 0x00000002, 0x402F7A20, 0xAE604102, 0x00000002, 0x002F7A88, + 0xAE604102, 0x00000002, 0x402F7A20, 0xAE605202, 0x00000002, 0x002F7A88, + 0xAE605202, 0x00000002, 0x402F7A20, 0xACA05602, 0x00000002, 0x002F7A88, + 0xACA05602, 0x00000002, 0x002F7A84, 0xA0006104, 0x00000002, 0x002F7A8A, + 0xA0006104, 0x00000002, 0x402F7A20, 0xAE606502, 0x00000002, 0x002F7A88, + 0xAE606502, 0x00000002, 0x402F7A20, 0xAE606702, 0x00000002, 0x002F7A88, + 0xAE606702, 0x00000002, 0x402F7A20, 0xADC07002, 0x00000002, 0x002F7A88, + 0xADC07002, 0x00000003, 0x402F7A20, 0xADC07002, 0xAE605B02, 0x00000003, + 0x002F7A88, 0xADC07002, 0xAE605B02, 0x00000002, + // Block 60, offset 0xf00 + 0x402F7A20, 0xADC07B02, 0x00000002, 0x002F7A88, 0xADC07B02, 0x00000002, + 0x002F7A84, 0xA0013A04, 0x00000002, 0x002F7A8A, 0xA0013A04, 0x00000003, + 0x002F7A9C, 0x002BDE9C, 0x002C629C, 0x00000005, 0x002F7A9C, 0x002BDE9C, + 0x002C629C, 0x0009569C, 0x002FE69C, 0x00000006, 0x002F7A9C, 0x002BDE9C, + 0x002C629C, 0x0009569C, 0x002FE69C, 0x0029D09C, 0x00000002, 0x402FE620, + 0xAE603202, 0x00000002, 0x002FE688, 0xAE603202, 0x00000003, 0x402FE620, + 0xAE603202, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603202, 0xAE605202, + 0x00000002, 0x402FE620, 0xAE603C02, 0x00000002, 0x002FE688, 0xAE603C02, + 0x00000002, 0x402FE620, 0xAE604102, 0x00000002, 0x002FE688, 0xAE604102, + 0x00000003, 0x402FE620, 0xAE604102, 0xAE605202, 0x00000003, 0x002FE688, + 0xAE604102, 0xAE605202, 0x00000002, 0x402FE620, + // Block 61, offset 0xf40 + 0xAE605202, 0x00000002, 0x002FE688, 0xAE605202, 0x00000002, 0x402FE620, + 0xACA05602, 0x00000002, 0x002FE688, 0xACA05602, 0x00000002, 0x002FE684, + 0xA0006104, 0x00000002, 0x002FE68A, 0xA0006104, 0x00000002, 0x402FE620, + 0xADC07002, 0x00000002, 0x002FE688, 0xADC07002, 0x00000003, 0x402FE620, + 0xADC07002, 0xAE605202, 0x00000003, 0x002FE688, 0xADC07002, 0xAE605202, + 0x00000002, 0x402FE620, 0xADC07702, 0x00000002, 0x002FE688, 0xADC07702, + 0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x84E617F3, 0xAE613A04, + 0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x002FE68A, 0xA0013A04, + 0x00000003, 0x002FE684, 0xA0013A04, 0xAE605202, 0x00000002, 0x002FE69D, + 0x002BDE9D, 0x00000003, 0x002FE69D, 0x002EE29D, 0x002FE69D, 0x00000003, + 0x002FE684, 0xA0013904, 0x002FE684, 0x00000003, + // Block 62, offset 0xf80 + 0x002FE68A, 0xA0013904, 0x002FE68A, 0x00000003, 0x002FE684, 0xA0013A04, + 0x00302C84, 0x00000002, 0x40302C20, 0xAE604102, 0x00000002, 0x00302C88, + 0xAE604102, 0x00000002, 0x40302C20, 0xAE604702, 0x00000002, 0x40302C20, + 0xAE605202, 0x00000002, 0x00302C88, 0xAE605202, 0x00000002, 0x40302C20, + 0xACA05602, 0x00000002, 0x00302C88, 0xACA05602, 0x00000002, 0x40302C20, + 0xADC07002, 0x00000002, 0x00302C88, 0xADC07002, 0x00000002, 0x40302C20, + 0xADC07702, 0x00000002, 0x00302C88, 0xADC07702, 0x00000002, 0x40302C20, + 0xADC07802, 0x00000002, 0x00302C88, 0xADC07802, 0x00000002, 0x40302C20, + 0xADC07B02, 0x00000002, 0x00302C88, 0xADC07B02, 0x00000002, 0x00302C84, + 0xA0013A04, 0x00000002, 0x00302C8A, 0xA0013A04, 0x00000002, 0x00302C84, + 0x002C5684, 0x00000003, 0x00302C8A, 0x002C988A, + // Block 63, offset 0xfc0 + 0x002E228A, 0x00000003, 0x00302C84, 0xA0013904, 0x002D6884, 0x00000003, + 0x00302C9D, 0x002D689D, 0x00312A9C, 0x00000002, 0x00302C84, 0x002FE684, + 0x00000002, 0x00302C84, 0x002FE684, 0x00000002, 0x00302C84, 0x00300884, + 0x00000002, 0x00302C84, 0x00312A84, 0x00000002, 0x00302C8A, 0x00312A84, + 0x00000002, 0x40306C20, 0xAE603202, 0x00000002, 0x00306C88, 0xAE603202, + 0x00000002, 0x40306C20, 0xAE603502, 0x00000002, 0x00306C88, 0xAE603502, + 0x00000002, 0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702, + 0x00000002, 0x40306C20, 0xAE603C02, 0x00000002, 0x00306C88, 0xAE603C02, + 0x00000002, 0x40306C20, 0xAE604102, 0x00000002, 0x00306C88, 0xAE604102, + 0x00000002, 0x40306C20, 0xAE604302, 0x00000002, 0x00306C88, 0xAE604302, + 0x00000002, 0x40306C20, 0xAE604702, 0x00000002, + // Block 64, offset 0x1000 + 0x00306C88, 0xAE604702, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603202, + 0x00000003, 0x00306C88, 0xAE604702, 0xAE603202, 0x00000003, 0x40306C20, + 0xAE604702, 0xAE603502, 0x00000003, 0x00306C88, 0xAE604702, 0xAE603502, + 0x00000003, 0x40306C20, 0xAE604702, 0xAE604102, 0x00000003, 0x00306C88, + 0xAE604702, 0xAE604102, 0x00000003, 0x40306C20, 0xAE604702, 0xAE605B02, + 0x00000003, 0x00306C88, 0xAE604702, 0xAE605B02, 0x00000002, 0x40306C20, + 0xAE604D02, 0x00000002, 0x00306C88, 0xAE604D02, 0x00000002, 0x40306C20, + 0xAE604E02, 0x00000002, 0x00306C88, 0xAE604E02, 0x00000003, 0x40306C20, + 0xAE604E02, 0xAE603202, 0x00000003, 0x00306C88, 0xAE604E02, 0xAE603202, + 0x00000002, 0x40306C20, 0xACA05902, 0x00000002, 0x00306C88, 0xACA05902, + 0x00000002, 0x40306C20, 0xAE605B02, 0x00000002, + // Block 65, offset 0x1040 + 0x00306C88, 0xAE605B02, 0x00000003, 0x40306C20, 0xAE605B02, 0xAE604702, + 0x00000003, 0x00306C88, 0xAE605B02, 0xAE604702, 0x00000002, 0x40306C20, + 0xAE606402, 0x00000002, 0x00306C88, 0xAE606402, 0x00000002, 0x40306C20, + 0xAE606502, 0x00000002, 0x00306C88, 0xAE606502, 0x00000002, 0x40306C20, + 0xAE606702, 0x00000002, 0x00306C88, 0xAE606702, 0x00000002, 0x40306C20, + 0xAD806802, 0x00000002, 0x00306C88, 0xAD806802, 0x00000003, 0x40306C20, + 0xAD806802, 0xAE603202, 0x00000003, 0x00306C88, 0xAD806802, 0xAE603202, + 0x00000003, 0x40306C20, 0xAD806802, 0xAE603502, 0x00000003, 0x00306C88, + 0xAD806802, 0xAE603502, 0x00000003, 0x40306C20, 0xAD806802, 0xAE604E02, + 0x00000003, 0x00306C88, 0xAD806802, 0xAE604E02, 0x00000003, 0x40306C20, + 0xAD806802, 0xAE606402, 0x00000003, 0x00306C88, + // Block 66, offset 0x1080 + 0xAD806802, 0xAE606402, 0x00000003, 0x40306C20, 0xAD806802, 0xADC07002, + 0x00000003, 0x00306C88, 0xAD806802, 0xADC07002, 0x00000002, 0x40306C20, + 0xADC07002, 0x00000002, 0x00306C88, 0xADC07002, 0x00000002, 0x40306C20, + 0xADC07502, 0x00000002, 0x00306C88, 0xADC07502, 0x00000002, 0x40306C20, + 0xADC07802, 0x00000002, 0x00306C88, 0xADC07802, 0x00000002, 0x40306C20, + 0xADC07A02, 0x00000002, 0x00306C88, 0xADC07A02, 0x00000003, 0x00306C9D, + 0x002F2C9D, 0x0002BA9C, 0x00000002, 0x4030BE20, 0xAE604E02, 0x00000002, + 0x0030BE88, 0xAE604E02, 0x00000002, 0x4030BE20, 0xADC07002, 0x00000002, + 0x0030BE88, 0xADC07002, 0x00000003, 0x0030BE9D, 0x0009569C, 0x002E829C, + 0x00000004, 0x0030BE84, 0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000004, + 0x0030BE8A, 0x002D9A8A, 0x002D9A8A, 0x002D9A9F, + // Block 67, offset 0x10c0 + 0x00000002, 0x0030BE9D, 0x002FE69D, 0x00000002, 0x0030BE84, 0x00310084, + 0x00000002, 0x0030BE8A, 0x0031008A, 0x00000002, 0x4030E220, 0xAE603202, + 0x00000002, 0x0030E288, 0xAE603202, 0x00000002, 0x4030E220, 0xAE603502, + 0x00000002, 0x0030E288, 0xAE603502, 0x00000002, 0x4030E220, 0xAE603C02, + 0x00000002, 0x0030E288, 0xAE603C02, 0x00000002, 0x4030E220, 0xAE604302, + 0x00000002, 0x4030E220, 0xAE604702, 0x00000002, 0x0030E288, 0xAE604702, + 0x00000002, 0x4030E220, 0xAE605202, 0x00000002, 0x0030E288, 0xAE605202, + 0x00000002, 0x4030E220, 0xADC07002, 0x00000002, 0x0030E288, 0xADC07002, + 0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x4030F620, 0xAE604702, + 0x00000002, 0x0030F688, 0xAE604702, 0x00000002, 0x4030F620, 0xAE605202, + 0x00000002, 0x0030F688, 0xAE605202, 0x00000002, + // Block 68, offset 0x1100 + 0x40310020, 0xAE603202, 0x00000002, 0x00310088, 0xAE603202, 0x00000002, + 0x40310020, 0xAE603502, 0x00000002, 0x00310088, 0xAE603502, 0x00000002, + 0x40310020, 0xAE603C02, 0x00000002, 0x00310088, 0xAE603C02, 0x00000002, + 0x40310020, 0xAE604302, 0x00000002, 0x40310020, 0xAE604702, 0x00000002, + 0x00310088, 0xAE604702, 0x00000002, 0x40310020, 0xAE604E02, 0x00000002, + 0x00310088, 0xAE604E02, 0x00000002, 0x40310020, 0xAE605202, 0x00000002, + 0x00310088, 0xAE605202, 0x00000002, 0x40310020, 0xAE605B02, 0x00000002, + 0x00310088, 0xAE605B02, 0x00000002, 0x40310020, 0xAE606402, 0x00000002, + 0x00310088, 0xAE606402, 0x00000002, 0x40310020, 0xADC07002, 0x00000002, + 0x00310088, 0xADC07002, 0x00000002, 0x40312A20, 0xAE603202, 0x00000002, + 0x00312A88, 0xAE603202, 0x00000002, 0x40312A20, + // Block 69, offset 0x1140 + 0xAE603C02, 0x00000002, 0x00312A88, 0xAE603C02, 0x00000002, 0x40312A20, + 0xAE604102, 0x00000002, 0x00312A88, 0xAE604102, 0x00000002, 0x40312A20, + 0xAE605202, 0x00000002, 0x00312A88, 0xAE605202, 0x00000002, 0x40312A20, + 0xADC07002, 0x00000002, 0x00312A88, 0xADC07002, 0x00000002, 0x40312A20, + 0xADC07B02, 0x00000002, 0x00312A88, 0xADC07B02, 0x00000002, 0x00312A84, + 0x0030E284, 0x00000002, 0x40316420, 0xAE604102, 0x00000002, 0x00316488, + 0xAE604102, 0x00000002, 0x40325220, 0xAE602202, 0x00000002, 0x00325288, + 0xAE602202, 0x00000003, 0x40325220, 0xAE602202, 0xAE603202, 0x00000003, + 0x00325288, 0xAE602202, 0xAE603202, 0x00000004, 0x40325220, 0xAE602202, + 0xAE603202, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603202, + 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202, + // Block 70, offset 0x1180 + 0xAE603502, 0x00000003, 0x00325288, 0xAE602202, 0xAE603502, 0x00000004, + 0x40325220, 0xAE602202, 0xAE603502, 0xAF007F02, 0x00000004, 0x00325288, + 0xAE602202, 0xAE603502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202, + 0xAE604502, 0x00000003, 0x00325288, 0xAE602202, 0xAE604502, 0x00000004, + 0x40325220, 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00325288, + 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202, + 0xAF007F02, 0x00000003, 0x00325288, 0xAE602202, 0xAF007F02, 0x00000002, + 0x40325220, 0xAE602A02, 0x00000002, 0x00325288, 0xAE602A02, 0x00000003, + 0x40325220, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325288, 0xAE602A02, + 0xAE603202, 0x00000004, 0x40325220, 0xAE602A02, 0xAE603202, 0xAF007F02, + 0x00000004, 0x00325288, 0xAE602A02, 0xAE603202, + // Block 71, offset 0x11c0 + 0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603502, 0x00000003, + 0x00325288, 0xAE602A02, 0xAE603502, 0x00000004, 0x40325220, 0xAE602A02, + 0xAE603502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603502, + 0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE604502, 0x00000003, + 0x00325288, 0xAE602A02, 0xAE604502, 0x00000004, 0x40325220, 0xAE602A02, + 0xAE604502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE604502, + 0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAF007F02, 0x00000003, + 0x00325288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x40325220, 0xAE603202, + 0x00000002, 0x00325288, 0xAE603202, 0x00000003, 0x40325220, 0xAE603202, + 0xAF007F02, 0x00000002, 0x40325220, 0xAE603502, 0x00000002, 0x00325288, + 0xAE603502, 0x00000003, 0x40325220, 0xAE603502, + // Block 72, offset 0x1200 + 0xAF007F02, 0x00000002, 0x40325220, 0xAE603702, 0x00000002, 0x00325288, + 0xAE603702, 0x00000002, 0x40325220, 0xAE604502, 0x00000003, 0x40325220, + 0xAE604502, 0xAF007F02, 0x00000002, 0x40325220, 0xAE605B02, 0x00000002, + 0x00325288, 0xAE605B02, 0x00000002, 0x40325220, 0xAF007F02, 0x00000002, + 0x00325288, 0xAF007F02, 0x00000002, 0x40325C20, 0xAE602202, 0x00000002, + 0x00325C88, 0xAE602202, 0x00000003, 0x40325C20, 0xAE602202, 0xAE603202, + 0x00000003, 0x00325C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40325C20, + 0xAE602202, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602202, 0xAE603502, + 0x00000002, 0x40325C20, 0xAE602A02, 0x00000002, 0x00325C88, 0xAE602A02, + 0x00000003, 0x40325C20, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325C88, + 0xAE602A02, 0xAE603202, 0x00000003, 0x40325C20, + // Block 73, offset 0x1240 + 0xAE602A02, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603502, + 0x00000002, 0x40325C20, 0xAE603202, 0x00000002, 0x00325C88, 0xAE603202, + 0x00000002, 0x40325C20, 0xAE603502, 0x00000002, 0x00325C88, 0xAE603502, + 0x00000002, 0x40326820, 0xAE602202, 0x00000002, 0x00326888, 0xAE602202, + 0x00000003, 0x40326820, 0xAE602202, 0xAE603202, 0x00000003, 0x00326888, + 0xAE602202, 0xAE603202, 0x00000004, 0x40326820, 0xAE602202, 0xAE603202, + 0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603202, 0xAF007F02, + 0x00000003, 0x40326820, 0xAE602202, 0xAE603502, 0x00000003, 0x00326888, + 0xAE602202, 0xAE603502, 0x00000004, 0x40326820, 0xAE602202, 0xAE603502, + 0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603502, 0xAF007F02, + 0x00000003, 0x40326820, 0xAE602202, 0xAE604502, + // Block 74, offset 0x1280 + 0x00000003, 0x00326888, 0xAE602202, 0xAE604502, 0x00000004, 0x40326820, + 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, + 0xAE604502, 0xAF007F02, 0x00000003, 0x40326820, 0xAE602202, 0xAF007F02, + 0x00000003, 0x00326888, 0xAE602202, 0xAF007F02, 0x00000002, 0x40326820, + 0xAE602A02, 0x00000002, 0x00326888, 0xAE602A02, 0x00000003, 0x40326820, + 0xAE602A02, 0xAE603202, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603202, + 0x00000004, 0x40326820, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000004, + 0x00326888, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003, 0x40326820, + 0xAE602A02, 0xAE603502, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603502, + 0x00000004, 0x40326820, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000004, + 0x00326888, 0xAE602A02, 0xAE603502, 0xAF007F02, + // Block 75, offset 0x12c0 + 0x00000003, 0x40326820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326888, + 0xAE602A02, 0xAE604502, 0x00000004, 0x40326820, 0xAE602A02, 0xAE604502, + 0xAF007F02, 0x00000004, 0x00326888, 0xAE602A02, 0xAE604502, 0xAF007F02, + 0x00000003, 0x40326820, 0xAE602A02, 0xAF007F02, 0x00000003, 0x00326888, + 0xAE602A02, 0xAF007F02, 0x00000002, 0x40326820, 0xAE603202, 0x00000002, + 0x00326888, 0xAE603202, 0x00000003, 0x40326820, 0xAE603202, 0xAF007F02, + 0x00000002, 0x40326820, 0xAE603502, 0x00000002, 0x00326888, 0xAE603502, + 0x00000003, 0x40326820, 0xAE603502, 0xAF007F02, 0x00000002, 0x40326820, + 0xAE604502, 0x00000003, 0x40326820, 0xAE604502, 0xAF007F02, 0x00000002, + 0x40326820, 0xAF007F02, 0x00000002, 0x00326888, 0xAF007F02, 0x00000002, + 0x40326C20, 0xAE602202, 0x00000002, 0x00326C88, + // Block 76, offset 0x1300 + 0xAE602202, 0x00000003, 0x40326C20, 0xAE602202, 0xAE603202, 0x00000003, + 0x00326C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602202, + 0xAE603502, 0x00000003, 0x00326C88, 0xAE602202, 0xAE603502, 0x00000003, + 0x40326C20, 0xAE602202, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602202, + 0xAE604502, 0x00000002, 0x40326C20, 0xAE602A02, 0x00000002, 0x00326C88, + 0xAE602A02, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603202, 0x00000003, + 0x00326C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602A02, + 0xAE603502, 0x00000003, 0x00326C88, 0xAE602A02, 0xAE603502, 0x00000003, + 0x40326C20, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602A02, + 0xAE604502, 0x00000002, 0x40326C20, 0xAE603202, 0x00000002, 0x00326C88, + 0xAE603202, 0x00000002, 0x40326C20, 0xAE603502, + // Block 77, offset 0x1340 + 0x00000002, 0x00326C88, 0xAE603502, 0x00000002, 0x40326C20, 0xAE603702, + 0x00000002, 0x00326C88, 0xAE603702, 0x00000002, 0x40326C20, 0xAE604502, + 0x00000002, 0x40326C20, 0xAE604702, 0x00000002, 0x00326C88, 0xAE604702, + 0x00000003, 0x40326C20, 0xAE604702, 0xAE603202, 0x00000003, 0x40326C20, + 0xAE604702, 0xAE603502, 0x00000003, 0x40326C20, 0xAE604702, 0xAE604502, + 0x00000002, 0x40326C20, 0xAE605B02, 0x00000002, 0x00326C88, 0xAE605B02, + 0x00000003, 0x00327084, 0x00325284, 0x00326C84, 0x00000003, 0x0032708A, + 0x00325284, 0x00326C84, 0x00000002, 0x40327C20, 0xAE602202, 0x00000002, + 0x00327C88, 0xAE602202, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603202, + 0x00000003, 0x00327C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40327C20, + 0xAE602202, 0xAE603502, 0x00000003, 0x00327C88, + // Block 78, offset 0x1380 + 0xAE602202, 0xAE603502, 0x00000002, 0x40327C20, 0xAE602A02, 0x00000002, + 0x00327C88, 0xAE602A02, 0x00000003, 0x40327C20, 0xAE602A02, 0xAE603202, + 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40327C20, + 0xAE602A02, 0xAE603502, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603502, + 0x00000002, 0x40327C20, 0xAE603202, 0x00000002, 0x00327C88, 0xAE603202, + 0x00000002, 0x40327C20, 0xAE603502, 0x00000002, 0x00327C88, 0xAE603502, + 0x00000002, 0x40328820, 0xAE602202, 0x00000002, 0x40328820, 0xAE602A02, + 0x00000002, 0x00328888, 0xAE602A02, 0x00000002, 0x40329820, 0xAE602202, + 0x00000003, 0x40329820, 0xAE602202, 0xAE603202, 0x00000003, 0x40329820, + 0xAE602202, 0xAE603502, 0x00000003, 0x40329820, 0xAE602202, 0xAE604502, + 0x00000002, 0x40329820, 0xAE602A02, 0x00000002, + // Block 79, offset 0x13c0 + 0x00329888, 0xAE602A02, 0x00000003, 0x40329820, 0xAE602A02, 0xAE603202, + 0x00000003, 0x00329888, 0xAE602A02, 0xAE603202, 0x00000003, 0x40329820, + 0xAE602A02, 0xAE603502, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603502, + 0x00000003, 0x40329820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00329888, + 0xAE602A02, 0xAE604502, 0x00000002, 0x40329820, 0xAE603202, 0x00000002, + 0x00329888, 0xAE603202, 0x00000002, 0x40329820, 0xAE603502, 0x00000002, + 0x00329888, 0xAE603502, 0x00000002, 0x40329820, 0xAE603702, 0x00000002, + 0x00329888, 0xAE603702, 0x00000002, 0x40329820, 0xAE604502, 0x00000002, + 0x40329820, 0xAE604702, 0x00000002, 0x00329888, 0xAE604702, 0x00000003, + 0x40329820, 0xAE604702, 0xAE603202, 0x00000003, 0x40329820, 0xAE604702, + 0xAE603502, 0x00000003, 0x40329820, 0xAE604702, + // Block 80, offset 0x1400 + 0xAE604502, 0x00000002, 0x40329820, 0xAE605B02, 0x00000002, 0x00329888, + 0xAE605B02, 0x00000002, 0x4032A220, 0xAE602202, 0x00000002, 0x0032A288, + 0xAE602202, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603202, 0x00000003, + 0x0032A288, 0xAE602202, 0xAE603202, 0x00000004, 0x4032A220, 0xAE602202, + 0xAE603202, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603202, + 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603502, 0x00000003, + 0x0032A288, 0xAE602202, 0xAE603502, 0x00000004, 0x4032A220, 0xAE602202, + 0xAE603502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603502, + 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE604502, 0x00000003, + 0x0032A288, 0xAE602202, 0xAE604502, 0x00000004, 0x4032A220, 0xAE602202, + 0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288, + // Block 81, offset 0x1440 + 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, + 0xAF007F02, 0x00000003, 0x0032A288, 0xAE602202, 0xAF007F02, 0x00000002, + 0x4032A220, 0xAE602A02, 0x00000002, 0x0032A288, 0xAE602A02, 0x00000003, + 0x4032A220, 0xAE602A02, 0xAE603202, 0x00000003, 0x0032A288, 0xAE602A02, + 0xAE603202, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603202, 0xAF007F02, + 0x00000004, 0x0032A288, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003, + 0x4032A220, 0xAE602A02, 0xAE603502, 0x00000003, 0x0032A288, 0xAE602A02, + 0xAE603502, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603502, 0xAF007F02, + 0x00000004, 0x0032A288, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000003, + 0x4032A220, 0xAE602A02, 0xAE604502, 0x00000003, 0x0032A288, 0xAE602A02, + 0xAE604502, 0x00000004, 0x4032A220, 0xAE602A02, + // Block 82, offset 0x1480 + 0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602A02, 0xAE604502, + 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602A02, 0xAF007F02, 0x00000003, + 0x0032A288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x4032A220, 0xAE603202, + 0x00000002, 0x0032A288, 0xAE603202, 0x00000003, 0x4032A220, 0xAE603202, + 0xAF007F02, 0x00000002, 0x4032A220, 0xAE603502, 0x00000002, 0x0032A288, + 0xAE603502, 0x00000003, 0x4032A220, 0xAE603502, 0xAF007F02, 0x00000002, + 0x4032A220, 0xAE604502, 0x00000003, 0x4032A220, 0xAE604502, 0xAF007F02, + 0x00000002, 0x4032A220, 0xAF007F02, 0x00000002, 0x0032A288, 0xAF007F02, + 0x00000003, 0x0032C084, 0x0032AA84, 0x0032BE84, 0x00000002, 0x00336284, + 0xA0013A04, 0x00000002, 0x0033628A, 0xA0013A04, 0x00000002, 0x4033B220, + 0xAE603502, 0x00000002, 0x0033B288, 0xAE603502, + // Block 83, offset 0x14c0 + 0x00000002, 0x4033B220, 0xAE604702, 0x00000002, 0x0033B288, 0xAE604702, + 0x00000002, 0x4033CA20, 0xAE603702, 0x00000002, 0x0033CA88, 0xAE603702, + 0x00000002, 0x40341420, 0xAE603502, 0x00000002, 0x00341488, 0xAE603502, + 0x00000002, 0x40341420, 0xAE605B02, 0x00000002, 0x00341488, 0xAE605B02, + 0x00000002, 0x84E61A9D, 0x84E61AA6, 0x00000002, 0x40357220, 0xAE605B02, + 0x00000002, 0x00357288, 0xAE605B02, 0x00000002, 0x40389020, 0xA1108C02, + 0x00000002, 0x40389020, 0xA1208D02, 0x00000002, 0x40389020, 0xA1509202, + 0x00000002, 0x40389220, 0xA1509202, 0x00000002, 0x40389220, 0xA1709502, + 0x00000002, 0x40389420, 0xA1509202, 0x00000002, 0x40389620, 0xA1509202, + 0x00000002, 0x40389820, 0xA1509202, 0x00000002, 0x40389A20, 0xA1308E02, + 0x00000002, 0x40389A20, 0xA1509202, 0x00000002, + // Block 84, offset 0x1500 + 0x00389A84, 0x00389A84, 0x00000002, 0x00389A84, 0x0038A284, 0x00000002, + 0x40389C20, 0xA1509202, 0x00000002, 0x4038A020, 0xA1509202, 0x00000002, + 0x4038A220, 0xA0E08902, 0x00000002, 0x4038A220, 0xA1509202, 0x00000002, + 0x0038A284, 0x0038A284, 0x00000003, 0x0038A284, 0x0038A284, 0xA1108C02, + 0x00000002, 0x4038A420, 0xA1509202, 0x00000002, 0x0038A499, 0xA1509202, + 0x00000002, 0x4038A420, 0xA1709502, 0x00000002, 0x4038A620, 0xA1509202, + 0x00000002, 0x4038A820, 0xA1509202, 0x00000002, 0x4038AA20, 0xA1509202, + 0x00000002, 0x4038AC20, 0xA1509202, 0x00000002, 0x4038B020, 0xA1509202, + 0x00000002, 0x0038B099, 0xA1509202, 0x00000002, 0x4038B020, 0xA1709502, + 0x00000002, 0x4038B220, 0xA1509202, 0x00000002, 0x4038B420, 0xA1509202, + 0x00000002, 0x4038B620, 0xA1509202, 0x00000002, + // Block 85, offset 0x1540 + 0x4038B820, 0xA1909002, 0x00000002, 0x4038B820, 0xA1809102, 0x00000002, + 0x4038B820, 0xA1509202, 0x00000003, 0x4038B820, 0xA1509202, 0xA1909002, + 0x00000003, 0x4038B820, 0xA1509202, 0xA1809102, 0x00000002, 0x4038BA20, + 0xA1509202, 0x00000002, 0x00391C84, 0xA0013A04, 0x00000002, 0x00393099, + 0x00393899, 0x00000002, 0x0039309A, 0x0039389A, 0x00000002, 0x00393097, + 0x00396497, 0x00000002, 0x0039309A, 0x0039649A, 0x00000002, 0x00393097, + 0x00397297, 0x00000002, 0x0039309A, 0x0039729A, 0x00000002, 0x00393097, + 0x00397497, 0x00000002, 0x00393099, 0x0039A499, 0x00000002, 0x00393099, + 0x0039A699, 0x00000002, 0x00393097, 0x003A4E97, 0x00000002, 0x00393098, + 0x003A4E98, 0x00000002, 0x00393099, 0x003A4E99, 0x00000002, 0x0039309A, + 0x003A4E9A, 0x00000002, 0x00393099, 0x003A5699, + // Block 86, offset 0x1580 + 0x00000002, 0x00393097, 0x003A6897, 0x00000002, 0x00393098, 0x003A6898, + 0x00000002, 0x00393099, 0x003A7299, 0x00000002, 0x0039309A, 0x003A729A, + 0x00000002, 0x00393099, 0x003A7499, 0x00000002, 0x0039309A, 0x003A749A, + 0x00000002, 0x00393099, 0x003A7A99, 0x00000002, 0x0039309A, 0x003A7A9A, + 0x00000002, 0x00393099, 0x003A7C99, 0x00000002, 0x0039309A, 0x003A7C9A, + 0x00000002, 0x00393099, 0x003A7E99, 0x00000002, 0x0039309A, 0x003A7E9A, + 0x00000002, 0x00393097, 0x003A8E97, 0x00000002, 0x00393099, 0x003A8E99, + 0x00000002, 0x00393099, 0x003A8E99, 0x00000002, 0x0039309A, 0x003A8E9A, + 0x00000002, 0x0039309A, 0x003A8E9A, 0x00000002, 0x00393099, 0x003A9099, + 0x00000002, 0x0039309A, 0x003A909A, 0x00000002, 0x00393097, 0x003A9897, + 0x00000002, 0x00393099, 0x003A9899, 0x00000002, + // Block 87, offset 0x15c0 + 0x0039309A, 0x003A989A, 0x00000004, 0x0039389A, 0x003A1A9A, 0x00393C9A, + 0x0039A49A, 0x00000004, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A, + 0x00000003, 0x00393C99, 0x00397299, 0x003A9099, 0x00000003, 0x00393C99, + 0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x00396497, 0x003A4E97, + 0x00000003, 0x00395699, 0x00396499, 0x003A8E99, 0x00000003, 0x00395699, + 0x00396499, 0x003A9099, 0x00000003, 0x00395697, 0x00397297, 0x00396497, + 0x00000003, 0x00395699, 0x00397299, 0x00396499, 0x00000003, 0x00395697, + 0x00397297, 0x003A4E97, 0x00000003, 0x00395697, 0x00397497, 0x003A4E97, + 0x00000003, 0x00395699, 0x00397499, 0x003A8E99, 0x00000003, 0x00395699, + 0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x003A4E97, 0x00396497, + 0x00000003, 0x00395697, 0x003A4E97, 0x00397297, + // Block 88, offset 0x1600 + 0x00000003, 0x00395697, 0x003A4E97, 0x00397497, 0x00000003, 0x00395699, + 0x003A4E99, 0x003A8E99, 0x00000003, 0x00395699, 0x003A4E99, 0x003A9099, + 0x00000003, 0x00396499, 0x00397299, 0x003A8E99, 0x00000003, 0x00396499, + 0x00397299, 0x003A9099, 0x00000008, 0x0039649A, 0x003A409A, 0x0002129A, + 0x0039649A, 0x003A409A, 0x0039389A, 0x003A409A, 0x003A689A, 0x00000003, + 0x00396497, 0x003A4E97, 0x00397297, 0x00000003, 0x00396499, 0x003A4E99, + 0x00397299, 0x00000003, 0x00396499, 0x003A4E99, 0x003A8E99, 0x00000003, + 0x00396499, 0x003A4E99, 0x003A9099, 0x00000003, 0x00397299, 0x00396499, + 0x003A9099, 0x00000003, 0x00397299, 0x003A4E99, 0x003A8E99, 0x00000003, + 0x00397299, 0x003A4E99, 0x003A9099, 0x00000004, 0x0039A49A, 0x0039C69A, + 0x003A749A, 0x003A409A, 0x00000003, 0x0039C697, + // Block 89, offset 0x1640 + 0x00396497, 0x00397297, 0x00000003, 0x0039C699, 0x00396499, 0x003A8E99, + 0x00000003, 0x0039C697, 0x00397297, 0x00396497, 0x00000003, 0x0039C699, + 0x00397499, 0x003A8E99, 0x00000003, 0x0039C699, 0x00397499, 0x003A9099, + 0x00000003, 0x0039C697, 0x003A4E97, 0x00396497, 0x00000003, 0x0039C697, + 0x003A4E97, 0x00397297, 0x00000003, 0x0039C699, 0x003A4E99, 0x00397299, + 0x00000003, 0x0039C697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C699, + 0x003A4E99, 0x003A4E99, 0x00000003, 0x0039C899, 0x00396499, 0x003A9099, + 0x00000003, 0x0039C897, 0x00397297, 0x003A4E97, 0x00000003, 0x0039C899, + 0x00397299, 0x003A4E99, 0x00000003, 0x0039C899, 0x00397299, 0x003A9099, + 0x00000003, 0x0039C897, 0x003A4E97, 0x00397497, 0x00000003, 0x0039C899, + 0x003A4E99, 0x00397499, 0x00000003, 0x0039C897, + // Block 90, offset 0x1680 + 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C899, 0x003A4E99, 0x003A4E99, + 0x00000003, 0x0039DC97, 0x00397297, 0x00397297, 0x00000003, 0x0039DC99, + 0x00397299, 0x00397299, 0x00000003, 0x0039DC99, 0x00397299, 0x003A9099, + 0x00000004, 0x0039DC9A, 0x003A409A, 0x0039EE9A, 0x003A4E9A, 0x00000003, + 0x0039DC9A, 0x003A409A, 0x003A8E9A, 0x00000012, 0x0039DC9A, 0x003A409A, + 0x003A8E9A, 0x0002129A, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A, + 0x0002129A, 0x0039EE9A, 0x003A409A, 0x003A909A, 0x003A689A, 0x0002129A, + 0x003A749A, 0x0039C69A, 0x003A409A, 0x003A4E9A, 0x00000003, 0x0039DC9A, + 0x003A409A, 0x003AAA9A, 0x00000003, 0x0039DC97, 0x003A4E97, 0x003A4E97, + 0x00000003, 0x0039DC99, 0x003A4E99, 0x003A4E99, 0x00000003, 0x0039DE99, + 0x00397299, 0x003A8E99, 0x00000003, 0x0039DE99, + // Block 91, offset 0x16c0 + 0x00397299, 0x003A9099, 0x00000003, 0x0039DE97, 0x00397497, 0x003A4E97, + 0x00000003, 0x0039DE99, 0x00397499, 0x003A4E99, 0x00000003, 0x0039E697, + 0x003A4E97, 0x00397297, 0x00000003, 0x0039E699, 0x003A4E99, 0x00397299, + 0x00000003, 0x0039E697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039E699, + 0x003A4E99, 0x003A9099, 0x00000003, 0x0039EE97, 0x00396497, 0x003A4E97, + 0x00000003, 0x0039EE99, 0x00396499, 0x003A4E99, 0x00000004, 0x0039EE9A, + 0x003A409A, 0x003A909A, 0x003A689A, 0x00000003, 0x0039EE97, 0x003A4E97, + 0x003A4E97, 0x00000003, 0x0039EE99, 0x003A4E99, 0x003A4E99, 0x00000003, + 0x0039EE99, 0x003A4E99, 0x003A8E99, 0x00000003, 0x0039EE99, 0x003A4E99, + 0x003A9099, 0x00000003, 0x0039F099, 0x003A4E99, 0x003A4E99, 0x00000003, + 0x0039F099, 0x003A4E99, 0x003A8E99, 0x00000003, + // Block 92, offset 0x1700 + 0x0039F099, 0x003A4E99, 0x003A9099, 0x00000003, 0x0039FC97, 0x00397497, + 0x003A4E97, 0x00000003, 0x0039FC99, 0x00397499, 0x003A4E99, 0x00000003, + 0x0039FC99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A129A, 0x003A409A, + 0x003AAA9A, 0x00000003, 0x003A1297, 0x003A4E97, 0x00397297, 0x00000003, + 0x003A1299, 0x003A4E99, 0x00397299, 0x00000003, 0x003A1299, 0x003A4E99, + 0x003A4E99, 0x00000003, 0x003A1299, 0x003A4E99, 0x003A9099, 0x00000003, + 0x003A1A97, 0x003A4E97, 0x003A4E97, 0x00000003, 0x003A1A99, 0x003A4E99, + 0x003A4E99, 0x00000003, 0x003A1A99, 0x003A4E99, 0x003A9099, 0x00000002, + 0x003A4099, 0x00391E99, 0x00000002, 0x003A409A, 0x00391E9A, 0x00000002, + 0x003A4099, 0x00392099, 0x00000002, 0x003A409A, 0x0039209A, 0x00000002, + 0x003A4099, 0x00392899, 0x00000002, 0x003A409A, + // Block 93, offset 0x1740 + 0x0039289A, 0x00000003, 0x003A4097, 0x00396497, 0x00396497, 0x00000003, + 0x003A4099, 0x00396499, 0x00396499, 0x00000003, 0x003A4097, 0x00396497, + 0x003A4E97, 0x00000003, 0x003A4099, 0x00396499, 0x003A4E99, 0x00000003, + 0x003A4099, 0x00396499, 0x003A9099, 0x00000003, 0x003A4097, 0x00397297, + 0x003A4E97, 0x00000003, 0x003A4099, 0x00397299, 0x003A4E99, 0x00000003, + 0x003A4099, 0x00397299, 0x003A8E99, 0x00000003, 0x003A4099, 0x00397299, + 0x003A9099, 0x00000003, 0x003A4097, 0x00397497, 0x003A4E97, 0x00000003, + 0x003A4099, 0x00397499, 0x003A4E99, 0x00000003, 0x003A4097, 0x003A4E97, + 0x00397297, 0x00000003, 0x003A4099, 0x003A4E99, 0x00397299, 0x00000003, + 0x003A4099, 0x003A4E99, 0x003A9099, 0x00000002, 0x003A4E84, 0xA0013A04, + 0x00000003, 0x003A4E97, 0x00396497, 0x00397297, + // Block 94, offset 0x1780 + 0x00000003, 0x003A4E97, 0x00396497, 0x00397497, 0x00000003, 0x003A4E97, + 0x00396497, 0x003A4E97, 0x00000003, 0x003A4E99, 0x00396499, 0x003A9099, + 0x00000003, 0x003A4E97, 0x00397297, 0x00396497, 0x00000003, 0x003A4E97, + 0x00397297, 0x003A4E97, 0x00000004, 0x003A4E9A, 0x0039729A, 0x003A4E9A, + 0x0039889A, 0x00000003, 0x003A4E99, 0x00397299, 0x003A9099, 0x00000003, + 0x003A4E97, 0x00397497, 0x00396497, 0x00000003, 0x003A4E97, 0x00397497, + 0x003A4E97, 0x00000003, 0x003A4E99, 0x00397499, 0x003A9099, 0x00000003, + 0x003A4E99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A5697, 0x00396497, + 0x00397297, 0x00000003, 0x003A5699, 0x00396499, 0x00397299, 0x00000003, + 0x003A5697, 0x00396497, 0x003A4E97, 0x00000003, 0x003A5699, 0x00396499, + 0x003A4E99, 0x00000003, 0x003A5699, 0x00396499, + // Block 95, offset 0x17c0 + 0x003A8E99, 0x00000003, 0x003A5699, 0x00396499, 0x003A9099, 0x00000003, + 0x003A5697, 0x00397297, 0x003A4E97, 0x00000003, 0x003A5699, 0x00397299, + 0x003A8E99, 0x00000003, 0x003A5699, 0x00397299, 0x003A9099, 0x00000003, + 0x003A5699, 0x003A4E99, 0x003A8E99, 0x00000003, 0x003A5699, 0x003A4E99, + 0x003A9099, 0x00000003, 0x003A6897, 0x003A4E97, 0x00396497, 0x00000003, + 0x003A6897, 0x003A4E97, 0x003A4E97, 0x00000002, 0x403A6C20, 0xAE60BE02, + 0x00000002, 0x403A7220, 0xAE60BE02, 0x00000004, 0x003A749A, 0x0039C69A, + 0x003A409A, 0x003A4E9A, 0x00000003, 0x003A9099, 0x00396499, 0x003A9099, + 0x00000003, 0x003A9099, 0x00397299, 0x003A9099, 0x00000003, 0x003A9097, + 0x003A4E97, 0x003A4E97, 0x00000003, 0x003A9099, 0x003A4E99, 0x003A4E99, + 0x00000003, 0x003A9099, 0x003A4E99, 0x003A9099, + // Block 96, offset 0x1800 + 0x00000002, 0x403AAA20, 0xAE60BE02, 0x00000002, 0x003AB284, 0xA0013C04, + 0x00000002, 0x003AB484, 0xA0013A04, 0x00000002, 0x003AB484, 0xA0013C04, + 0x00000002, 0x003AB884, 0xA0013C04, 0x00000002, 0x003AC484, 0xA0013A04, + 0x00000002, 0x003AD884, 0xA0013A04, 0x00000002, 0x003B9484, 0xA0013904, + 0x00000002, 0x003B9684, 0xA0013904, 0x00000002, 0x003B9A84, 0xA0013904, + 0x00000002, 0x403FEC20, 0xA070F102, 0x00000002, 0x403FEE20, 0xA070F102, + 0x00000002, 0x403FF020, 0xA070F102, 0x00000002, 0x403FFC20, 0xA070F102, + 0x00000002, 0x40400A20, 0xA070F102, 0x00000002, 0x40400E20, 0xA070F102, + 0x00000002, 0x40401A20, 0xA070F102, 0x00000002, 0x40401E20, 0xA070F102, + 0x00000002, 0x40402820, 0xA070F102, 0x00000002, 0x40402C20, 0xA070F102, + 0x00000002, 0x40403020, 0xA070F102, 0x00000002, + // Block 97, offset 0x1840 + 0x4040B020, 0xA070F102, 0x00000002, 0x4040B220, 0xA070F102, 0x00000002, + 0x0040B684, 0x0040F884, 0x00000002, 0x4040CA20, 0xA070F102, 0x00000002, + 0x40411620, 0xA070F102, 0x00000002, 0x40411E20, 0xA070F102, 0x00000002, + 0x40412020, 0xA070F102, 0x00000002, 0x40412A20, 0xA070F102, 0x00000002, + 0x40414620, 0xA070F102, 0x00000002, 0x40415420, 0xA070F102, 0x00000002, + 0x40422A20, 0xA070F102, 0x00000002, 0x40422C20, 0xA070F102, 0x00000002, + 0x00442284, 0x00449084, 0x00000002, 0x00443E84, 0x00449084, 0x00000002, + 0x00444884, 0x00449084, 0x00000002, 0x00445884, 0x00449084, 0x00000002, + 0x00445884, 0x00449084, 0x00000002, 0x00445A84, 0x00449084, 0x00000002, + 0x00446684, 0x00449084, 0x00000002, 0x4046AA20, 0xA070F102, 0x00000002, + 0x4046AC20, 0xA070F102, 0x00000002, 0x4046BE20, + // Block 98, offset 0x1880 + 0xA070F102, 0x00000002, 0x40491020, 0x40498420, 0x00000002, 0x40491020, + 0x40498620, 0x00000002, 0x40491020, 0x40498820, 0x00000002, 0x40491020, + 0x40498A20, 0x00000002, 0x40491020, 0x40498C20, 0x00000002, 0x40491220, + 0x40498420, 0x00000002, 0x40491220, 0x40498620, 0x00000002, 0x40491220, + 0x40498820, 0x00000002, 0x40491220, 0x40498A20, 0x00000002, 0x40491220, + 0x40498C20, 0x00000002, 0x40491420, 0x40498420, 0x00000002, 0x40491420, + 0x40498620, 0x00000002, 0x40491420, 0x40498820, 0x00000002, 0x40491420, + 0x40498A20, 0x00000002, 0x40491420, 0x40498C20, 0x00000002, 0x40491620, + 0x40498420, 0x00000002, 0x40491620, 0x40498620, 0x00000002, 0x40491620, + 0x40498820, 0x00000002, 0x40491620, 0x40498A20, 0x00000002, 0x40491620, + 0x40498C20, 0x00000002, 0x40491820, 0x40498420, + // Block 99, offset 0x18c0 + 0x00000002, 0x40491820, 0x40498620, 0x00000002, 0x40491820, 0x40498820, + 0x00000002, 0x40491820, 0x40498A20, 0x00000002, 0x40491820, 0x40498C20, + 0x00000002, 0x40491A20, 0x40498420, 0x00000002, 0x40491A20, 0x40498620, + 0x00000002, 0x40491A20, 0x40498820, 0x00000002, 0x40491A20, 0x40498A20, + 0x00000002, 0x40491A20, 0x40498C20, 0x00000002, 0x40491C20, 0x40498420, + 0x00000002, 0x40491C20, 0x40498620, 0x00000002, 0x40491C20, 0x40498820, + 0x00000002, 0x40491C20, 0x40498A20, 0x00000002, 0x40491C20, 0x40498C20, + 0x00000002, 0x40491E20, 0x40498420, 0x00000002, 0x40491E20, 0x40498620, + 0x00000002, 0x40491E20, 0x40498820, 0x00000002, 0x40491E20, 0x40498A20, + 0x00000002, 0x40491E20, 0x40498C20, 0x00000002, 0x40492020, 0x40498420, + 0x00000002, 0x40492020, 0x40498620, 0x00000002, + // Block 100, offset 0x1900 + 0x40492020, 0x40498820, 0x00000002, 0x40492020, 0x40498A20, 0x00000002, + 0x40492020, 0x40498C20, 0x00000002, 0x40492220, 0x40498420, 0x00000002, + 0x40492220, 0x40498620, 0x00000002, 0x40492220, 0x40498820, 0x00000002, + 0x40492220, 0x40498A20, 0x00000002, 0x40492220, 0x40498C20, 0x00000002, + 0x40492420, 0x40498420, 0x00000002, 0x40492420, 0x40498620, 0x00000002, + 0x40492420, 0x40498820, 0x00000002, 0x40492420, 0x40498A20, 0x00000002, + 0x40492420, 0x40498C20, 0x00000002, 0x40492620, 0x40498420, 0x00000002, + 0x40492620, 0x40498620, 0x00000002, 0x40492620, 0x40498820, 0x00000002, + 0x40492620, 0x40498A20, 0x00000002, 0x40492620, 0x40498C20, 0x00000002, + 0x40492820, 0x40498420, 0x00000002, 0x40492820, 0x40498620, 0x00000002, + 0x40492820, 0x40498820, 0x00000002, 0x40492820, + // Block 101, offset 0x1940 + 0x40498A20, 0x00000002, 0x40492820, 0x40498C20, 0x00000002, 0x40492A20, + 0x40498420, 0x00000002, 0x40492A20, 0x40498620, 0x00000002, 0x40492A20, + 0x40498820, 0x00000002, 0x40492A20, 0x40498A20, 0x00000002, 0x40492A20, + 0x40498C20, 0x00000002, 0x40492C20, 0x40498420, 0x00000002, 0x40492C20, + 0x40498620, 0x00000002, 0x40492C20, 0x40498820, 0x00000002, 0x40492C20, + 0x40498A20, 0x00000002, 0x40492C20, 0x40498C20, 0x00000002, 0x40492E20, + 0x40498420, 0x00000002, 0x40492E20, 0x40498620, 0x00000002, 0x40492E20, + 0x40498820, 0x00000002, 0x40492E20, 0x40498A20, 0x00000002, 0x40492E20, + 0x40498C20, 0x00000002, 0x40493020, 0x40498420, 0x00000002, 0x40493020, + 0x40498620, 0x00000002, 0x40493020, 0x40498820, 0x00000002, 0x40493020, + 0x40498A20, 0x00000002, 0x40493020, 0x40498C20, + // Block 102, offset 0x1980 + 0x00000002, 0x40493220, 0x40498420, 0x00000002, 0x40493220, 0x40498620, + 0x00000002, 0x40493220, 0x40498820, 0x00000002, 0x40493220, 0x40498A20, + 0x00000002, 0x40493220, 0x40498C20, 0x00000002, 0x40493420, 0x40498420, + 0x00000002, 0x40493420, 0x40498620, 0x00000002, 0x40493420, 0x40498820, + 0x00000002, 0x40493420, 0x40498A20, 0x00000002, 0x40493420, 0x40498C20, + 0x00000002, 0x40493620, 0x40498420, 0x00000002, 0x40493620, 0x40498620, + 0x00000002, 0x40493620, 0x40498820, 0x00000002, 0x40493620, 0x40498A20, + 0x00000002, 0x40493620, 0x40498C20, 0x00000002, 0x40493820, 0x40498420, + 0x00000002, 0x40493820, 0x40498620, 0x00000002, 0x40493820, 0x40498820, + 0x00000002, 0x40493820, 0x40498A20, 0x00000002, 0x40493820, 0x40498C20, + 0x00000002, 0x40493A20, 0x40498420, 0x00000002, + // Block 103, offset 0x19c0 + 0x40493A20, 0x40498620, 0x00000002, 0x40493A20, 0x40498820, 0x00000002, + 0x40493A20, 0x40498A20, 0x00000002, 0x40493A20, 0x40498C20, 0x00000002, + 0x40493C20, 0x40498420, 0x00000002, 0x40493C20, 0x40498620, 0x00000002, + 0x40493C20, 0x40498820, 0x00000002, 0x40493C20, 0x40498A20, 0x00000002, + 0x40493C20, 0x40498C20, 0x00000002, 0x40493E20, 0x40498420, 0x00000002, + 0x40493E20, 0x40498620, 0x00000002, 0x40493E20, 0x40498820, 0x00000002, + 0x40493E20, 0x40498A20, 0x00000002, 0x40493E20, 0x40498C20, 0x00000002, + 0x40494020, 0x40498420, 0x00000002, 0x40494020, 0x40498620, 0x00000002, + 0x40494020, 0x40498820, 0x00000002, 0x40494020, 0x40498A20, 0x00000002, + 0x40494020, 0x40498C20, 0x00000002, 0x40494220, 0x40498420, 0x00000002, + 0x40494220, 0x40498620, 0x00000002, 0x40494220, + // Block 104, offset 0x1a00 + 0x40498820, 0x00000002, 0x40494220, 0x40498A20, 0x00000002, 0x40494220, + 0x40498C20, 0x00000002, 0x40494420, 0x40498420, 0x00000002, 0x40494420, + 0x40498620, 0x00000002, 0x40494420, 0x40498820, 0x00000002, 0x40494420, + 0x40498A20, 0x00000002, 0x40494420, 0x40498C20, 0x00000002, 0x40494620, + 0x40498420, 0x00000002, 0x40494620, 0x40498620, 0x00000002, 0x40494620, + 0x40498820, 0x00000002, 0x40494620, 0x40498A20, 0x00000002, 0x40494620, + 0x40498C20, 0x00000002, 0x40494820, 0x40498420, 0x00000002, 0x40494820, + 0x40498620, 0x00000002, 0x40494820, 0x40498820, 0x00000002, 0x40494820, + 0x40498A20, 0x00000002, 0x40494820, 0x40498C20, 0x00000002, 0x40494A20, + 0x40498420, 0x00000002, 0x40494A20, 0x40498620, 0x00000002, 0x40494A20, + 0x40498820, 0x00000002, 0x40494A20, 0x40498A20, + // Block 105, offset 0x1a40 + 0x00000002, 0x40494A20, 0x40498C20, 0x00000002, 0x40494C20, 0x40498420, + 0x00000002, 0x40494C20, 0x40498620, 0x00000002, 0x40494C20, 0x40498820, + 0x00000002, 0x40494C20, 0x40498A20, 0x00000002, 0x40494C20, 0x40498C20, + 0x00000002, 0x40494E20, 0x40498420, 0x00000002, 0x40494E20, 0x40498620, + 0x00000002, 0x40494E20, 0x40498820, 0x00000002, 0x40494E20, 0x40498A20, + 0x00000002, 0x40494E20, 0x40498C20, 0x00000002, 0x40495020, 0x40498420, + 0x00000002, 0x40495020, 0x40498620, 0x00000002, 0x40495020, 0x40498820, + 0x00000002, 0x40495020, 0x40498A20, 0x00000002, 0x40495020, 0x40498C20, + 0x00000002, 0x40495220, 0x40498420, 0x00000002, 0x40495220, 0x40498620, + 0x00000002, 0x40495220, 0x40498820, 0x00000002, 0x40495220, 0x40498A20, + 0x00000002, 0x40495220, 0x40498C20, 0x00000002, + // Block 106, offset 0x1a80 + 0x40495420, 0x40498420, 0x00000002, 0x40495420, 0x40498620, 0x00000002, + 0x40495420, 0x40498820, 0x00000002, 0x40495420, 0x40498A20, 0x00000002, + 0x40495420, 0x40498C20, 0x00000002, 0x40495620, 0x40498420, 0x00000002, + 0x40495620, 0x40498620, 0x00000002, 0x40495620, 0x40498820, 0x00000002, + 0x40495620, 0x40498A20, 0x00000002, 0x40495620, 0x40498C20, 0x00000002, + 0x40495820, 0x40498420, 0x00000002, 0x40495820, 0x40498620, 0x00000002, + 0x40495820, 0x40498820, 0x00000002, 0x40495820, 0x40498A20, 0x00000002, + 0x40495820, 0x40498C20, 0x00000002, 0x40495A20, 0x40498420, 0x00000002, + 0x40495A20, 0x40498620, 0x00000002, 0x40495A20, 0x40498820, 0x00000002, + 0x40495A20, 0x40498A20, 0x00000002, 0x40495A20, 0x40498C20, 0x00000002, + 0x40495C20, 0x40498420, 0x00000002, 0x40495C20, + // Block 107, offset 0x1ac0 + 0x40498620, 0x00000002, 0x40495C20, 0x40498820, 0x00000002, 0x40495C20, + 0x40498A20, 0x00000002, 0x40495C20, 0x40498C20, 0x00000002, 0x40495E20, + 0x40498420, 0x00000002, 0x40495E20, 0x40498620, 0x00000002, 0x40495E20, + 0x40498820, 0x00000002, 0x40495E20, 0x40498A20, 0x00000002, 0x40495E20, + 0x40498C20, 0x00000002, 0x40496020, 0x40498420, 0x00000002, 0x40496020, + 0x40498620, 0x00000002, 0x40496020, 0x40498820, 0x00000002, 0x40496020, + 0x40498A20, 0x00000002, 0x40496020, 0x40498C20, 0x00000002, 0x40496220, + 0x40498420, 0x00000002, 0x40496220, 0x40498620, 0x00000002, 0x40496220, + 0x40498820, 0x00000002, 0x40496220, 0x40498A20, 0x00000002, 0x40496220, + 0x40498C20, 0x00000002, 0x40496420, 0x40498420, 0x00000002, 0x40496420, + 0x40498620, 0x00000002, 0x40496420, 0x40498820, + // Block 108, offset 0x1b00 + 0x00000002, 0x40496420, 0x40498A20, 0x00000002, 0x40496420, 0x40498C20, + 0x00000002, 0x40496620, 0x40498420, 0x00000002, 0x40496620, 0x40498620, + 0x00000002, 0x40496620, 0x40498820, 0x00000002, 0x40496620, 0x40498A20, + 0x00000002, 0x40496620, 0x40498C20, 0x00000002, 0x40496820, 0x40498420, + 0x00000002, 0x40496820, 0x40498620, 0x00000002, 0x40496820, 0x40498820, + 0x00000002, 0x40496820, 0x40498A20, 0x00000002, 0x40496820, 0x40498C20, + 0x00000002, 0x40496A20, 0x40498420, 0x00000002, 0x40496A20, 0x40498620, + 0x00000002, 0x40496A20, 0x40498820, 0x00000002, 0x40496A20, 0x40498A20, + 0x00000002, 0x40496A20, 0x40498C20, 0x00000002, 0x40499020, 0x4049E620, + 0x00000002, 0x40499020, 0x4049E820, 0x00000002, 0x40499020, 0x4049EA20, + 0x00000002, 0x40499020, 0x4049EC20, 0x00000002, + // Block 109, offset 0x1b40 + 0x40499020, 0x4049EE20, 0x00000002, 0x40499220, 0x4049E620, 0x00000002, + 0x40499220, 0x4049E820, 0x00000002, 0x40499220, 0x4049EA20, 0x00000002, + 0x40499220, 0x4049EC20, 0x00000002, 0x40499220, 0x4049EE20, 0x00000002, + 0x40499420, 0x4049E620, 0x00000002, 0x40499420, 0x4049E820, 0x00000002, + 0x40499420, 0x4049EA20, 0x00000002, 0x40499420, 0x4049EC20, 0x00000002, + 0x40499420, 0x4049EE20, 0x00000002, 0x40499620, 0x4049E620, 0x00000002, + 0x40499620, 0x4049E820, 0x00000002, 0x40499620, 0x4049EA20, 0x00000002, + 0x40499620, 0x4049EC20, 0x00000002, 0x40499620, 0x4049EE20, 0x00000002, + 0x40499820, 0x4049E620, 0x00000002, 0x40499820, 0x4049E820, 0x00000002, + 0x40499820, 0x4049EA20, 0x00000002, 0x40499820, 0x4049EC20, 0x00000002, + 0x40499820, 0x4049EE20, 0x00000002, 0x40499A20, + // Block 110, offset 0x1b80 + 0x4049E620, 0x00000002, 0x40499A20, 0x4049E820, 0x00000002, 0x40499A20, + 0x4049EA20, 0x00000002, 0x40499A20, 0x4049EC20, 0x00000002, 0x40499A20, + 0x4049EE20, 0x00000002, 0x40499C20, 0x4049E620, 0x00000002, 0x40499C20, + 0x4049E820, 0x00000002, 0x40499C20, 0x4049EA20, 0x00000002, 0x40499C20, + 0x4049EC20, 0x00000002, 0x40499C20, 0x4049EE20, 0x00000002, 0x40499E20, + 0x4049E620, 0x00000002, 0x40499E20, 0x4049E820, 0x00000002, 0x40499E20, + 0x4049EA20, 0x00000002, 0x40499E20, 0x4049EC20, 0x00000002, 0x40499E20, + 0x4049EE20, 0x00000002, 0x4049A020, 0x4049E620, 0x00000002, 0x4049A020, + 0x4049E820, 0x00000002, 0x4049A020, 0x4049EA20, 0x00000002, 0x4049A020, + 0x4049EC20, 0x00000002, 0x4049A020, 0x4049EE20, 0x00000002, 0x4049A220, + 0x4049E620, 0x00000002, 0x4049A220, 0x4049E820, + // Block 111, offset 0x1bc0 + 0x00000002, 0x4049A220, 0x4049EA20, 0x00000002, 0x4049A220, 0x4049EC20, + 0x00000002, 0x4049A220, 0x4049EE20, 0x00000002, 0x4049A420, 0x4049E620, + 0x00000002, 0x4049A420, 0x4049E820, 0x00000002, 0x4049A420, 0x4049EA20, + 0x00000002, 0x4049A420, 0x4049EC20, 0x00000002, 0x4049A420, 0x4049EE20, + 0x00000002, 0x4049A620, 0x4049E620, 0x00000002, 0x4049A620, 0x4049E820, + 0x00000002, 0x4049A620, 0x4049EA20, 0x00000002, 0x4049A620, 0x4049EC20, + 0x00000002, 0x4049A620, 0x4049EE20, 0x00000002, 0x4049A820, 0x4049E620, + 0x00000002, 0x4049A820, 0x4049E820, 0x00000002, 0x4049A820, 0x4049EA20, + 0x00000002, 0x4049A820, 0x4049EC20, 0x00000002, 0x4049A820, 0x4049EE20, + 0x00000002, 0x4049AA20, 0x4049E620, 0x00000002, 0x4049AA20, 0x4049E820, + 0x00000002, 0x4049AA20, 0x4049EA20, 0x00000002, + // Block 112, offset 0x1c00 + 0x4049AA20, 0x4049EC20, 0x00000002, 0x4049AA20, 0x4049EE20, 0x00000002, + 0x4049AC20, 0x4049E620, 0x00000002, 0x4049AC20, 0x4049E820, 0x00000002, + 0x4049AC20, 0x4049EA20, 0x00000002, 0x4049AC20, 0x4049EC20, 0x00000002, + 0x4049AC20, 0x4049EE20, 0x00000002, 0x4049AE20, 0x4049E620, 0x00000002, + 0x4049AE20, 0x4049E820, 0x00000002, 0x4049AE20, 0x4049EA20, 0x00000002, + 0x4049AE20, 0x4049EC20, 0x00000002, 0x4049AE20, 0x4049EE20, 0x00000002, + 0x4049B020, 0x4049E620, 0x00000002, 0x4049B020, 0x4049E820, 0x00000002, + 0x4049B020, 0x4049EA20, 0x00000002, 0x4049B020, 0x4049EC20, 0x00000002, + 0x4049B020, 0x4049EE20, 0x00000002, 0x4049B220, 0x4049E620, 0x00000002, + 0x4049B220, 0x4049E820, 0x00000002, 0x4049B220, 0x4049EA20, 0x00000002, + 0x4049B220, 0x4049EC20, 0x00000002, 0x4049B220, + // Block 113, offset 0x1c40 + 0x4049EE20, 0x00000002, 0x4049B420, 0x4049E620, 0x00000002, 0x4049B420, + 0x4049E820, 0x00000002, 0x4049B420, 0x4049EA20, 0x00000002, 0x4049B420, + 0x4049EC20, 0x00000002, 0x4049B420, 0x4049EE20, 0x00000002, 0x4049B620, + 0x4049E620, 0x00000002, 0x4049B620, 0x4049E820, 0x00000002, 0x4049B620, + 0x4049EA20, 0x00000002, 0x4049B620, 0x4049EC20, 0x00000002, 0x4049B620, + 0x4049EE20, 0x00000002, 0x4049B820, 0x4049E620, 0x00000002, 0x4049B820, + 0x4049E820, 0x00000002, 0x4049B820, 0x4049EA20, 0x00000002, 0x4049B820, + 0x4049EC20, 0x00000002, 0x4049B820, 0x4049EE20, 0x00000002, 0x4049BA20, + 0x4049E620, 0x00000002, 0x4049BA20, 0x4049E820, 0x00000002, 0x4049BA20, + 0x4049EA20, 0x00000002, 0x4049BA20, 0x4049EC20, 0x00000002, 0x4049BA20, + 0x4049EE20, 0x00000002, 0x4049BC20, 0x4049E620, + // Block 114, offset 0x1c80 + 0x00000002, 0x4049BC20, 0x4049E820, 0x00000002, 0x4049BC20, 0x4049EA20, + 0x00000002, 0x4049BC20, 0x4049EC20, 0x00000002, 0x4049BC20, 0x4049EE20, + 0x00000002, 0x4049BE20, 0x4049E620, 0x00000002, 0x4049BE20, 0x4049E820, + 0x00000002, 0x4049BE20, 0x4049EA20, 0x00000002, 0x4049BE20, 0x4049EC20, + 0x00000002, 0x4049BE20, 0x4049EE20, 0x00000002, 0x4049C020, 0x4049E620, + 0x00000002, 0x4049C020, 0x4049E820, 0x00000002, 0x4049C020, 0x4049EA20, + 0x00000002, 0x4049C020, 0x4049EC20, 0x00000002, 0x4049C020, 0x4049EE20, + 0x00000002, 0x4049C220, 0x4049E620, 0x00000002, 0x4049C220, 0x4049E820, + 0x00000002, 0x4049C220, 0x4049EA20, 0x00000002, 0x4049C220, 0x4049EC20, + 0x00000002, 0x4049C220, 0x4049EE20, 0x00000003, 0x0049C484, 0x0049AC84, + 0x4049E620, 0x00000003, 0x0049C484, 0x0049AC84, + // Block 115, offset 0x1cc0 + 0x4049E820, 0x00000003, 0x0049C484, 0x0049AC84, 0x4049EA20, 0x00000003, + 0x0049C484, 0x0049AC84, 0x4049EC20, 0x00000003, 0x0049C484, 0x0049AC84, + 0x4049EE20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049E620, 0x00000003, + 0x0049C484, 0x0049BA84, 0x4049E820, 0x00000003, 0x0049C484, 0x0049BA84, + 0x4049EA20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049EC20, 0x00000003, + 0x0049C484, 0x0049BA84, 0x4049EE20, 0x00000002, 0x4049C420, 0x4049E620, + 0x00000002, 0x4049C420, 0x4049E820, 0x00000002, 0x4049C420, 0x4049EA20, + 0x00000002, 0x4049C420, 0x4049EC20, 0x00000002, 0x4049C420, 0x4049EE20, + 0x00000002, 0x4049C620, 0x4049E620, 0x00000002, 0x4049C620, 0x4049E820, + 0x00000002, 0x4049C620, 0x4049EA20, 0x00000002, 0x4049C620, 0x4049EC20, + 0x00000002, 0x4049C620, 0x4049EE20, 0x00000002, + // Block 116, offset 0x1d00 + 0x4049C820, 0x4049E620, 0x00000002, 0x4049C820, 0x4049E820, 0x00000002, + 0x4049C820, 0x4049EA20, 0x00000002, 0x4049C820, 0x4049EC20, 0x00000002, + 0x4049C820, 0x4049EE20, 0x00000002, 0x4049F020, 0x404A5A20, 0x00000002, + 0x4049F020, 0x404A5C20, 0x00000002, 0x4049F020, 0x404A6220, 0x00000002, + 0x4049F020, 0x404A6620, 0x00000002, 0x4049F020, 0x404A6820, 0x00000002, + 0x4049F220, 0x404A5A20, 0x00000002, 0x4049F220, 0x404A5C20, 0x00000002, + 0x4049F220, 0x404A6220, 0x00000002, 0x4049F220, 0x404A6620, 0x00000002, + 0x4049F220, 0x404A6820, 0x00000002, 0x4049F420, 0x404A5A20, 0x00000002, + 0x4049F420, 0x404A5C20, 0x00000002, 0x4049F420, 0x404A6220, 0x00000002, + 0x4049F420, 0x404A6620, 0x00000002, 0x4049F420, 0x404A6820, 0x00000002, + 0x4049F620, 0x404A5A20, 0x00000002, 0x4049F620, + // Block 117, offset 0x1d40 + 0x404A5C20, 0x00000002, 0x4049F620, 0x404A6220, 0x00000002, 0x4049F620, + 0x404A6620, 0x00000002, 0x4049F620, 0x404A6820, 0x00000002, 0x4049F820, + 0x404A5A20, 0x00000002, 0x4049F820, 0x404A5C20, 0x00000002, 0x4049F820, + 0x404A6220, 0x00000002, 0x4049F820, 0x404A6620, 0x00000002, 0x4049F820, + 0x404A6820, 0x00000002, 0x4049FA20, 0x404A5A20, 0x00000002, 0x4049FA20, + 0x404A5C20, 0x00000002, 0x4049FA20, 0x404A6220, 0x00000002, 0x4049FA20, + 0x404A6620, 0x00000002, 0x4049FA20, 0x404A6820, 0x00000002, 0x4049FC20, + 0x404A5A20, 0x00000002, 0x4049FC20, 0x404A5C20, 0x00000002, 0x4049FC20, + 0x404A6220, 0x00000002, 0x4049FC20, 0x404A6620, 0x00000002, 0x4049FC20, + 0x404A6820, 0x00000002, 0x4049FE20, 0x404A5A20, 0x00000002, 0x4049FE20, + 0x404A5C20, 0x00000002, 0x4049FE20, 0x404A6220, + // Block 118, offset 0x1d80 + 0x00000002, 0x4049FE20, 0x404A6620, 0x00000002, 0x4049FE20, 0x404A6820, + 0x00000002, 0x404A0020, 0x404A5A20, 0x00000002, 0x404A0020, 0x404A5C20, + 0x00000002, 0x404A0020, 0x404A6220, 0x00000002, 0x404A0020, 0x404A6620, + 0x00000002, 0x404A0020, 0x404A6820, 0x00000002, 0x404A0220, 0x404A5A20, + 0x00000002, 0x404A0220, 0x404A5C20, 0x00000002, 0x404A0220, 0x404A6220, + 0x00000002, 0x404A0220, 0x404A6620, 0x00000002, 0x404A0220, 0x404A6820, + 0x00000002, 0x404A0420, 0x404A5A20, 0x00000002, 0x404A0420, 0x404A5C20, + 0x00000002, 0x404A0420, 0x404A6220, 0x00000002, 0x404A0420, 0x404A6620, + 0x00000002, 0x404A0420, 0x404A6820, 0x00000002, 0x404A0620, 0x404A5A20, + 0x00000002, 0x404A0620, 0x404A5C20, 0x00000002, 0x404A0620, 0x404A6220, + 0x00000002, 0x404A0620, 0x404A6620, 0x00000002, + // Block 119, offset 0x1dc0 + 0x404A0620, 0x404A6820, 0x00000002, 0x404A0820, 0x404A5A20, 0x00000002, + 0x404A0820, 0x404A5C20, 0x00000002, 0x404A0820, 0x404A6220, 0x00000002, + 0x404A0820, 0x404A6620, 0x00000002, 0x404A0820, 0x404A6820, 0x00000002, + 0x404A0A20, 0x404A5A20, 0x00000002, 0x404A0A20, 0x404A5C20, 0x00000002, + 0x404A0A20, 0x404A6220, 0x00000002, 0x404A0A20, 0x404A6620, 0x00000002, + 0x404A0A20, 0x404A6820, 0x00000002, 0x404A0C20, 0x404A5A20, 0x00000002, + 0x404A0C20, 0x404A5C20, 0x00000002, 0x404A0C20, 0x404A6220, 0x00000002, + 0x404A0C20, 0x404A6620, 0x00000002, 0x404A0C20, 0x404A6820, 0x00000002, + 0x404A0E20, 0x404A5A20, 0x00000002, 0x404A0E20, 0x404A5C20, 0x00000002, + 0x404A0E20, 0x404A6220, 0x00000002, 0x404A0E20, 0x404A6620, 0x00000002, + 0x404A0E20, 0x404A6820, 0x00000002, 0x404A1020, + // Block 120, offset 0x1e00 + 0x404A5A20, 0x00000002, 0x404A1020, 0x404A5C20, 0x00000002, 0x404A1020, + 0x404A6220, 0x00000002, 0x404A1020, 0x404A6620, 0x00000002, 0x404A1020, + 0x404A6820, 0x00000002, 0x404A1220, 0x404A5A20, 0x00000002, 0x404A1220, + 0x404A5C20, 0x00000002, 0x404A1220, 0x404A6220, 0x00000002, 0x404A1220, + 0x404A6620, 0x00000002, 0x404A1220, 0x404A6820, 0x00000002, 0x404A1420, + 0x404A5A20, 0x00000002, 0x404A1420, 0x404A5C20, 0x00000002, 0x404A1420, + 0x404A6220, 0x00000002, 0x404A1420, 0x404A6620, 0x00000002, 0x404A1420, + 0x404A6820, 0x00000002, 0x404A1620, 0x404A5A20, 0x00000002, 0x404A1620, + 0x404A5C20, 0x00000002, 0x404A1620, 0x404A6220, 0x00000002, 0x404A1620, + 0x404A6620, 0x00000002, 0x404A1620, 0x404A6820, 0x00000002, 0x404A1820, + 0x404A5A20, 0x00000002, 0x404A1820, 0x404A5C20, + // Block 121, offset 0x1e40 + 0x00000002, 0x404A1820, 0x404A6220, 0x00000002, 0x404A1820, 0x404A6620, + 0x00000002, 0x404A1820, 0x404A6820, 0x00000002, 0x404A1A20, 0x404A5A20, + 0x00000002, 0x404A1A20, 0x404A5C20, 0x00000002, 0x404A1A20, 0x404A6220, + 0x00000002, 0x404A1A20, 0x404A6620, 0x00000002, 0x404A1A20, 0x404A6820, + 0x00000002, 0x404A1C20, 0x404A5A20, 0x00000002, 0x404A1C20, 0x404A5C20, + 0x00000002, 0x404A1C20, 0x404A6220, 0x00000002, 0x404A1C20, 0x404A6620, + 0x00000002, 0x404A1C20, 0x404A6820, 0x00000002, 0x404A1E20, 0x404A5A20, + 0x00000002, 0x404A1E20, 0x404A5C20, 0x00000002, 0x404A1E20, 0x404A6220, + 0x00000002, 0x404A1E20, 0x404A6620, 0x00000002, 0x404A1E20, 0x404A6820, + 0x00000002, 0x404A2020, 0x404A5A20, 0x00000002, 0x404A2020, 0x404A5C20, + 0x00000002, 0x404A2020, 0x404A6220, 0x00000002, + // Block 122, offset 0x1e80 + 0x404A2020, 0x404A6620, 0x00000002, 0x404A2020, 0x404A6820, 0x00000002, + 0x404A2220, 0x404A5A20, 0x00000002, 0x404A2220, 0x404A5C20, 0x00000002, + 0x404A2220, 0x404A6220, 0x00000002, 0x404A2220, 0x404A6620, 0x00000002, + 0x404A2220, 0x404A6820, 0x00000002, 0x404A2420, 0x404A5A20, 0x00000002, + 0x404A2420, 0x404A5C20, 0x00000002, 0x404A2420, 0x404A6220, 0x00000002, + 0x404A2420, 0x404A6620, 0x00000002, 0x404A2420, 0x404A6820, 0x00000002, + 0x404A2620, 0x404A5A20, 0x00000002, 0x404A2620, 0x404A5C20, 0x00000002, + 0x404A2620, 0x404A6220, 0x00000002, 0x404A2620, 0x404A6620, 0x00000002, + 0x404A2620, 0x404A6820, 0x00000002, 0x404A2820, 0x404A5A20, 0x00000002, + 0x404A2820, 0x404A5C20, 0x00000002, 0x404A2820, 0x404A6220, 0x00000002, + 0x404A2820, 0x404A6620, 0x00000002, 0x404A2820, + // Block 123, offset 0x1ec0 + 0x404A6820, 0x00000002, 0x404A2A20, 0x404A5A20, 0x00000002, 0x404A2A20, + 0x404A5C20, 0x00000002, 0x404A2A20, 0x404A6220, 0x00000002, 0x404A2A20, + 0x404A6620, 0x00000002, 0x404A2A20, 0x404A6820, 0x00000002, 0x404A2C20, + 0x404A5A20, 0x00000002, 0x404A2C20, 0x404A5C20, 0x00000002, 0x404A2C20, + 0x404A6220, 0x00000002, 0x404A2C20, 0x404A6620, 0x00000002, 0x404A2C20, + 0x404A6820, 0x00000002, 0x404A2E20, 0x404A5A20, 0x00000002, 0x404A2E20, + 0x404A5C20, 0x00000002, 0x404A2E20, 0x404A6220, 0x00000002, 0x404A2E20, + 0x404A6620, 0x00000002, 0x404A2E20, 0x404A6820, 0x00000002, 0x404A3020, + 0x404A5A20, 0x00000002, 0x404A3020, 0x404A5C20, 0x00000002, 0x404A3020, + 0x404A6220, 0x00000002, 0x404A3020, 0x404A6620, 0x00000002, 0x404A3020, + 0x404A6820, 0x00000002, 0x404A3220, 0x404A5A20, + // Block 124, offset 0x1f00 + 0x00000002, 0x404A3220, 0x404A5C20, 0x00000002, 0x404A3220, 0x404A6220, + 0x00000002, 0x404A3220, 0x404A6620, 0x00000002, 0x404A3220, 0x404A6820, + 0x00000002, 0x404A3420, 0x404A5A20, 0x00000002, 0x404A3420, 0x404A5C20, + 0x00000002, 0x404A3420, 0x404A6220, 0x00000002, 0x404A3420, 0x404A6620, + 0x00000002, 0x404A3420, 0x404A6820, 0x00000002, 0x404A3620, 0x404A5A20, + 0x00000002, 0x404A3620, 0x404A5C20, 0x00000002, 0x404A3620, 0x404A6220, + 0x00000002, 0x404A3620, 0x404A6620, 0x00000002, 0x404A3620, 0x404A6820, + 0x00000002, 0x404A3820, 0x404A5A20, 0x00000002, 0x404A3820, 0x404A5C20, + 0x00000002, 0x404A3820, 0x404A6220, 0x00000002, 0x404A3820, 0x404A6620, + 0x00000002, 0x404A3820, 0x404A6820, 0x00000002, 0x404A3A20, 0x404A5A20, + 0x00000002, 0x404A3A20, 0x404A5C20, 0x00000002, + // Block 125, offset 0x1f40 + 0x404A3A20, 0x404A6220, 0x00000002, 0x404A3A20, 0x404A6620, 0x00000002, + 0x404A3A20, 0x404A6820, 0x00000002, 0x404A3C20, 0x404A5A20, 0x00000002, + 0x404A3C20, 0x404A5C20, 0x00000002, 0x404A3C20, 0x404A6220, 0x00000002, + 0x404A3C20, 0x404A6620, 0x00000002, 0x404A3C20, 0x404A6820, 0x00000002, + 0x404A3E20, 0x404A5A20, 0x00000002, 0x404A3E20, 0x404A5C20, 0x00000002, + 0x404A3E20, 0x404A6220, 0x00000002, 0x404A3E20, 0x404A6620, 0x00000002, + 0x404A3E20, 0x404A6820, 0x00000002, 0x404A4020, 0x404A5A20, 0x00000002, + 0x404A4020, 0x404A5C20, 0x00000002, 0x404A4020, 0x404A6220, 0x00000002, + 0x404A4020, 0x404A6620, 0x00000002, 0x404A4020, 0x404A6820, 0x00000002, + 0x404A4220, 0x404A5A20, 0x00000002, 0x404A4220, 0x404A5C20, 0x00000002, + 0x404A4220, 0x404A6220, 0x00000002, 0x404A4220, + // Block 126, offset 0x1f80 + 0x404A6620, 0x00000002, 0x404A4220, 0x404A6820, 0x00000002, 0x404A4420, + 0x404A5A20, 0x00000002, 0x404A4420, 0x404A5C20, 0x00000002, 0x404A4420, + 0x404A6220, 0x00000002, 0x404A4420, 0x404A6620, 0x00000002, 0x404A4420, + 0x404A6820, 0x00000002, 0x404A4620, 0x404A5A20, 0x00000002, 0x404A4620, + 0x404A5C20, 0x00000002, 0x404A4620, 0x404A6220, 0x00000002, 0x404A4620, + 0x404A6620, 0x00000002, 0x404A4620, 0x404A6820, 0x00000002, 0x404A4820, + 0x404A5A20, 0x00000002, 0x404A4820, 0x404A5C20, 0x00000002, 0x404A4820, + 0x404A6220, 0x00000002, 0x404A4820, 0x404A6620, 0x00000002, 0x404A4820, + 0x404A6820, 0x00000002, 0x404A4A20, 0x404A5A20, 0x00000002, 0x404A4A20, + 0x404A5C20, 0x00000002, 0x404A4A20, 0x404A6220, 0x00000002, 0x404A4A20, + 0x404A6620, 0x00000002, 0x404A4A20, 0x404A6820, + // Block 127, offset 0x1fc0 + 0x00000002, 0x404A4C20, 0x404A5A20, 0x00000002, 0x404A4C20, 0x404A5C20, + 0x00000002, 0x404A4C20, 0x404A6220, 0x00000002, 0x404A4C20, 0x404A6620, + 0x00000002, 0x404A4C20, 0x404A6820, 0x00000002, 0x404A4E20, 0x404A5A20, + 0x00000002, 0x404A4E20, 0x404A5C20, 0x00000002, 0x404A4E20, 0x404A6220, + 0x00000002, 0x404A4E20, 0x404A6620, 0x00000002, 0x404A4E20, 0x404A6820, + 0x00000002, 0x404A7620, 0x404AF820, 0x00000002, 0x404A7820, 0x404AF820, + 0x00000002, 0x404A8020, 0x404B0020, 0x00000002, 0x404A8220, 0x404B0020, + 0x00000002, 0x404AA020, 0x404B0020, 0x00000002, 0x404AA220, 0x404B0020, + 0x00000002, 0x404AB020, 0x404B0020, 0x00000002, 0x404AB220, 0x404B0020, + 0x00000002, 0x404AC020, 0x404B0020, 0x00000002, 0x404AC220, 0x404B0020, + 0x00000002, 0x404AD020, 0x404B0020, 0x00000002, + // Block 128, offset 0x2000 + 0x404AD220, 0x404B0020, 0x00000002, 0x004AD684, 0xA0013A04, 0x00000002, + 0x004AE684, 0xA0013A04, 0x00000002, 0x004AE884, 0xA0013A04, 0x00000002, + 0x004AEA84, 0xA0013A04, 0x00000002, 0x404AEA20, 0x8281258D, 0x00000002, + 0x404AEA20, 0x82812591, 0x00000002, 0x404AF020, 0x8281258D, 0x00000002, + 0x404AF020, 0x82812591, 0x00000003, 0x004B0284, 0x004B3084, 0xA000F304, + 0x00000003, 0x004EA684, 0x004F1484, 0x004EA684, 0x00000002, 0x0050AE84, + 0x0050DA84, 0x00000003, 0x0050AE84, 0x0050DA84, 0x0050F084, 0x00000003, + 0x00514E84, 0x00519A84, 0x00514E84, 0x00000002, 0x005ADA84, 0xA0013904, + 0x00000002, 0x005ADC84, 0xA0013904, 0x00000002, 0x005ADC84, 0xA0013A04, + 0x00000002, 0x005ADE84, 0xA0013904, 0x00000002, 0x005ADE84, 0x005ADE84, + 0x00000002, 0x005AE084, 0xA0013904, 0x00000002, + // Block 129, offset 0x2040 + 0x005AE084, 0xA0013A04, 0x00000002, 0x005AE084, 0xA0013C04, 0x00000002, + 0x005AE084, 0xA0013D04, 0x00000002, 0x005AE884, 0xA0013904, 0x00000002, + 0x005AE884, 0xA0013A04, 0x00000002, 0x005AE884, 0xA0013C04, 0x00000002, + 0x005AE884, 0xA0013D04, 0x00000002, 0x005AEC84, 0xA0013904, 0x00000002, + 0x005AEE84, 0xA0013904, 0x00000002, 0x005AEE84, 0xA0013A04, 0x00000002, + 0x005AEE84, 0xA0013C04, 0x00000002, 0x005AF084, 0xA0013904, 0x00000002, + 0x005AF084, 0xA0013A04, 0x00000002, 0x005AF284, 0xA0013904, 0x00000002, + 0x005AF484, 0xA0013904, 0x00000002, 0x005AF684, 0xA0013904, 0x00000002, + 0x005AF684, 0x005B0884, 0x00000002, 0x005AFA84, 0xA0013904, 0x00000002, + 0x005AFE84, 0xA0013904, 0x00000002, 0x005AFE84, 0xA0013A04, 0x00000002, + 0x005AFE84, 0xA0013C04, 0x00000002, 0x005AFE84, + // Block 130, offset 0x2080 + 0xA0013D04, 0x00000002, 0x005AFE84, 0xA0013E04, 0x00000002, 0x005B0084, + 0xA0013904, 0x00000002, 0x005B0084, 0xA0013A04, 0x00000002, 0x005B0284, + 0xA0013904, 0x00000002, 0x005B0284, 0xA0013A04, 0x00000002, 0x005B0684, + 0xA0013904, 0x00000002, 0x005B0684, 0xA0013A04, 0x00000004, 0x005B0684, + 0xA0013904, 0x005B0684, 0xA0013904, 0x00000002, 0x005B0884, 0xA0013904, + 0x00000002, 0x005B0A84, 0xA0013904, 0x00000002, 0x005B2484, 0xA0013904, + 0x00000002, 0x005B2484, 0xA0013A04, 0x00000002, 0x005B2684, 0xA0013904, + 0x00000002, 0x005B2A84, 0xA0013904, 0x00000002, 0x005B3084, 0xA0013904, + 0x00000002, 0x005B3284, 0xA0013904, 0x00000002, 0x005B3484, 0xA0013904, + 0x00000002, 0x005B3684, 0xA0013904, 0x00000002, 0x005B3884, 0xA0013904, + 0x00000002, 0x005B3A84, 0xA0013904, 0x00000002, + // Block 131, offset 0x20c0 + 0x005B3E84, 0xA0013904, 0x00000002, 0x005B4084, 0xA0013904, 0x00000002, + 0x005B4284, 0xA0013904, 0x00000002, 0x005B4484, 0xA0013904, 0x00000002, + 0x005B4684, 0xA0013904, 0x00000002, 0x005B4884, 0xA0013904, 0x00000002, + 0x005B5284, 0xA0013904, 0x00000002, 0x005B5484, 0xA0013904, 0x00000002, + 0x005B5684, 0xA0013904, 0x00000002, 0x005B5884, 0xA0013904, 0x00000002, + 0x005B5C84, 0xA0013904, 0x00000002, 0x005B6484, 0xA0013904, 0x00000002, + 0x005B6684, 0xA0013904, 0x00000002, 0x005B6884, 0xA0013904, 0x00000002, + 0x005B6A84, 0xA0013904, 0x00000002, 0x005B6C84, 0xA0013904, 0x00000002, + 0x005B7484, 0xA0013904, 0x00000002, 0x005B7684, 0xA0013904, 0x00000002, + 0x005B7884, 0xA0013904, 0x00000002, 0x005B7A84, 0xA0013904, 0x00000002, + 0x005B9884, 0x005D9684, 0x00000002, 0x005BBC84, + // Block 132, offset 0x2100 + 0x005D9684, 0x00000002, 0x005BE684, 0x005D9684, 0x00000002, 0x005C0E84, + 0x005D9884, 0x00000002, 0x005C2484, 0x005D9684, 0x00000002, 0x005C3084, + 0x005D9884, 0x00000002, 0x005C3484, 0x005D9884, 0x00000002, 0x005C4084, + 0x005D9684, 0x00000002, 0x005C8A84, 0x005D9684, 0x00000002, 0x005CE884, + 0x005D9684, 0x00000002, 0x005D1684, 0x005D9684, 0x00000002, 0x005D2284, + 0x005D9884, 0x00000002, 0x005D3084, 0x005D9684, 0x00000004, 0x0062C486, + 0x0063C286, 0x0062C286, 0x0063CE86, 0x00000005, 0x0062C886, 0x0063A886, + 0x00648286, 0x0062AC86, 0x0063B886, 0x00000003, 0x0065769C, 0x0027D69C, + 0x0065CA9C, 0x00000005, 0x0065769C, 0x0065AA9C, 0xA001291C, 0x0027D69C, + 0x00659E9C, 0x00000004, 0x0065769C, 0x0065CA9C, 0x0065AE9C, 0x0065769C, + 0x00000005, 0x0065769C, 0x0065D89C, 0x0065B09C, + // Block 133, offset 0x2140 + 0xA001291C, 0x0065769C, 0x00000005, 0x0065789C, 0x0065A29C, 0x0065D89C, + 0x0065869C, 0xA001281C, 0x00000003, 0x0065789C, 0x0065D89C, 0x0065989C, + 0x00000002, 0x00657A8E, 0xA0812802, 0x00000002, 0x00657A91, 0xA0812802, + 0x00000003, 0x00657A9C, 0x0065809C, 0x0065D89C, 0x00000004, 0x00657E9C, + 0x0027D69C, 0x0065829C, 0x0027D69C, 0x00000006, 0x00657E9C, 0x0065909C, + 0x0065869C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003, 0x0065809C, + 0x0027D69C, 0x0065B89C, 0x00000003, 0x0065809C, 0x0065D89C, 0x0065909C, + 0x00000002, 0x0065828E, 0xA0812802, 0x00000002, 0x00658291, 0xA0812802, + 0x00000003, 0x0065829C, 0x0065789C, 0x0065C89C, 0x00000004, 0x0065829C, + 0x0065C69C, 0x00659A9C, 0x00659E9C, 0x00000004, 0x0065829C, 0x0065CE9C, + 0x0065C89C, 0x0027D69C, 0x00000004, 0x0065829C, + // Block 134, offset 0x2180 + 0xA001281C, 0x0065CE9C, 0x0065D89C, 0x00000004, 0x0065829C, 0xA001281C, + 0x0065D89C, 0x0065B49C, 0x00000002, 0x0065848E, 0xA0812802, 0x00000002, + 0x00658491, 0xA0812802, 0x00000004, 0x0065849C, 0xA001281C, 0x0065829C, + 0xA001281C, 0x00000004, 0x0065849C, 0xA001281C, 0x0065A29C, 0x0027D69C, + 0x00000004, 0x0065849C, 0x0065C09C, 0x0065C89C, 0x0027D69C, 0x00000006, + 0x0065849C, 0xA001281C, 0x0065CA9C, 0x0065969C, 0xA001281C, 0x0027D69C, + 0x00000006, 0x0065849C, 0x0065CE9C, 0x0065869C, 0xA001281C, 0x0065C69C, + 0x0065B89C, 0x00000006, 0x0065849C, 0x0065CE9C, 0x0065BA9C, 0x0027D69C, + 0x00659E9C, 0x0065CA9C, 0x00000005, 0x0065849C, 0x0065CE9C, 0x0065D09C, + 0x00659A9C, 0x00659E9C, 0x00000002, 0x0065868E, 0xA0812802, 0x00000002, + 0x00658691, 0xA0812802, 0x00000004, 0x0065869C, + // Block 135, offset 0x21c0 + 0xA001281C, 0x0065C69C, 0x0065B89C, 0x00000006, 0x0065869C, 0xA001281C, + 0x0065C69C, 0x0065B89C, 0x00659E9C, 0x0065D89C, 0x00000006, 0x0065869C, + 0x0065CA9C, 0x0065929C, 0xA001281C, 0x0065789C, 0x0065CE9C, 0x00000004, + 0x0065869C, 0x0065CE9C, 0x0027D69C, 0x0065A69C, 0x00000002, 0x0065888E, + 0xA0812802, 0x00000002, 0x00658891, 0xA0812802, 0x00000003, 0x0065889C, + 0x0027D69C, 0x0065909C, 0x00000002, 0x00658A8E, 0xA0812802, 0x00000002, + 0x00658A91, 0xA0812802, 0x00000004, 0x00658A9C, 0x0027D69C, 0x0065B29C, + 0xA001291C, 0x00000003, 0x00658A9C, 0x0065CA9C, 0x0065A09C, 0x00000002, + 0x00658C8E, 0xA0812802, 0x00000002, 0x00658C91, 0xA0812802, 0x00000004, + 0x00658C9C, 0x0065789C, 0x0065869C, 0x0065CA9C, 0x00000005, 0x00658C9C, + 0x0065D89C, 0x0065989C, 0x0027D69C, 0x0065B89C, + // Block 136, offset 0x2200 + 0x00000002, 0x00658E8E, 0xA0812802, 0x00000002, 0x00658E91, 0xA0812802, + 0x00000002, 0x00658E84, 0x0065BA84, 0x00000005, 0x00658E9C, 0x0065C89C, + 0x0065D89C, 0x0065869C, 0xA001281C, 0x00000002, 0x0065908E, 0xA0812802, + 0x00000002, 0x00659091, 0xA0812802, 0x00000002, 0x0065928E, 0xA0812802, + 0x00000002, 0x00659291, 0xA0812802, 0x00000003, 0x0065929C, 0x0065D89C, + 0x0065989C, 0x00000003, 0x0065929C, 0x0065D89C, 0x00659E9C, 0x00000002, + 0x0065948E, 0xA0812802, 0x00000002, 0x00659491, 0xA0812802, 0x00000002, + 0x0065968E, 0xA0812802, 0x00000002, 0x00659691, 0xA0812802, 0x00000004, + 0x0065969C, 0xA001281C, 0x0027D69C, 0x0065909C, 0x00000002, 0x0065988E, + 0xA0812802, 0x00000002, 0x00659891, 0xA0812802, 0x00000002, 0x00659A8E, + 0xA0812802, 0x00000002, 0x00659A91, 0xA0812802, + // Block 137, offset 0x2240 + 0x00000002, 0x00659C8E, 0xA0812802, 0x00000002, 0x00659C91, 0xA0812802, + 0x00000003, 0x00659C9C, 0xA001281C, 0x00658E9C, 0x00000002, 0x00659E8E, + 0xA0812802, 0x00000002, 0x00659E91, 0xA0812802, 0x00000003, 0x00659E9C, + 0xA001281C, 0x0065CA9C, 0x00000003, 0x0065A89C, 0x00659A9C, 0x00659E9C, + 0x00000002, 0x0065AA8E, 0xA0812802, 0x00000002, 0x0065AA91, 0xA0812802, + 0x00000002, 0x0065AA8E, 0xA0812902, 0x00000002, 0x0065AA91, 0xA0812902, + 0x00000006, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x0065929C, 0x0065D89C, + 0x00659E9C, 0x00000004, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x00659A9C, + 0x00000005, 0x0065AA9C, 0xA001281C, 0x0027D69C, 0x0065CC9C, 0x0065CA9C, + 0x00000003, 0x0065AA9C, 0x0065789C, 0x00659A9C, 0x00000002, 0x0065AC8E, + 0xA0812802, 0x00000002, 0x0065AC91, 0xA0812802, + // Block 138, offset 0x2280 + 0x00000002, 0x0065AC8E, 0xA0812902, 0x00000002, 0x0065AC91, 0xA0812902, + 0x00000006, 0x0065AC9C, 0xA001291C, 0x0065769C, 0x0065909C, 0x00659E9C, + 0x0065CA9C, 0x00000004, 0x0065AC9C, 0xA001291C, 0x0065869C, 0x0065CA9C, + 0x00000003, 0x0065AC9C, 0xA001291C, 0x00658A9C, 0x00000003, 0x0065AC9C, + 0xA001281C, 0x0065CA9C, 0x00000002, 0x0065AE8E, 0xA0812802, 0x00000002, + 0x0065AE91, 0xA0812802, 0x00000002, 0x0065AE8E, 0xA0812902, 0x00000002, + 0x0065AE91, 0xA0812902, 0x00000006, 0x0065AE9C, 0x0065769C, 0x0065C69C, + 0x00659A9C, 0x00659E9C, 0xA001281C, 0x00000004, 0x0065AE9C, 0x0065789C, + 0x0027D69C, 0x00659E9C, 0x00000006, 0x0065AE9C, 0xA001281C, 0x00659A9C, + 0x00658E9C, 0x00657E9C, 0x0065CA9C, 0x00000003, 0x0065AE9C, 0x0065C69C, + 0x0065D89C, 0x00000002, 0x0065B08E, 0xA0812802, + // Block 139, offset 0x22c0 + 0x00000002, 0x0065B091, 0xA0812802, 0x00000002, 0x0065B08E, 0xA0812902, + 0x00000002, 0x0065B091, 0xA0812902, 0x00000005, 0x0065B09C, 0xA001291C, + 0x0027D69C, 0x00658E9C, 0xA001281C, 0x00000004, 0x0065B09C, 0xA001281C, + 0x0027D69C, 0x0065969C, 0x00000005, 0x0065B09C, 0x0065869C, 0x0065969C, + 0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065B09C, 0xA001291C, 0x0065949C, + 0x00000004, 0x0065B09C, 0xA001291C, 0x0065A29C, 0x0065AC9C, 0x00000003, + 0x0065B09C, 0x0065CA9C, 0x00659A9C, 0x00000004, 0x0065B09C, 0xA001291C, + 0x0065D89C, 0x0065909C, 0x00000002, 0x0065B28E, 0xA0812802, 0x00000002, + 0x0065B291, 0xA0812802, 0x00000002, 0x0065B28E, 0xA0812902, 0x00000002, + 0x0065B291, 0xA0812902, 0x00000003, 0x0065B29C, 0x0027D69C, 0x0065CA9C, + 0x00000003, 0x0065B29C, 0x0027D69C, 0x0065D89C, + // Block 140, offset 0x2300 + 0x00000005, 0x0065B29C, 0xA001291C, 0x0065789C, 0x0065D89C, 0x00659E9C, + 0x00000004, 0x0065B29C, 0xA001281C, 0x0065CA9C, 0x00659E9C, 0x00000005, + 0x0065B29C, 0xA001291C, 0x0065D89C, 0x00659E9C, 0xA001281C, 0x00000004, + 0x0065B49C, 0x0065789C, 0x0065869C, 0x0065CE9C, 0x00000003, 0x0065B49C, + 0x0065789C, 0x0065CA9C, 0x00000002, 0x0065B484, 0x00659084, 0x00000003, + 0x0065B49C, 0x00659A9C, 0x0065AA9C, 0x00000003, 0x0065B49C, 0x0065CA9C, + 0x0065869C, 0x00000005, 0x0065B49C, 0x0065D89C, 0x00658E9C, 0x0065C49C, + 0x0065D89C, 0x00000004, 0x0065B69C, 0x0065869C, 0x0065CE9C, 0x0065D89C, + 0x00000006, 0x0065B69C, 0x0065C89C, 0x0065AA9C, 0xA001281C, 0x0027D69C, + 0x0065CA9C, 0x00000004, 0x0065BA9C, 0x0027D69C, 0x00659E9C, 0x0065CA9C, + 0x00000003, 0x0065BA9C, 0x0065829C, 0xA001281C, + // Block 141, offset 0x2340 + 0x00000005, 0x0065BA9C, 0x0065829C, 0xA001281C, 0x00659E9C, 0x0065D89C, + 0x00000004, 0x0065BE9C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003, + 0x0065BE9C, 0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065C09C, 0x0065769C, + 0x0065D89C, 0x00000004, 0x0065C89C, 0x00659A9C, 0x00659E9C, 0x0065CA9C, + 0x00000005, 0x0065CA9C, 0x0027D69C, 0x0065AE9C, 0xA001281C, 0x0065CA9C, + 0x00000004, 0x0065CA9C, 0x0065AC9C, 0xA001291C, 0x0027D69C, 0x00000006, + 0x0065CC9C, 0x0065D89C, 0x00659E9C, 0x0065889C, 0xA001281C, 0x0065D89C, + 0x00000002, 0x0065D091, 0xA0812802, 0x00000003, 0x0065D09C, 0x00659A9C, + 0x00659E9C, 0x00000002, 0x0065D291, 0xA0812802, 0x00000002, 0x0065D491, + 0xA0812802, 0x00000002, 0x0065D691, 0xA0812802, 0x00000002, 0x0065DA84, + 0xA0013A04, 0x00000002, 0x0065EC84, 0xA0013A04, + // Block 142, offset 0x2380 + 0x00000002, 0x0065F684, 0xA0013A04, 0x00000002, 0x00660684, 0xA0013A04, + 0x00000002, 0x00661284, 0xA0013A04, 0x00000002, 0x00661484, 0xA0013A04, + 0x00000002, 0x00661C84, 0xA0013A04, 0x00000002, 0x00661E84, 0xA0013A04, + 0x00000002, 0x00662284, 0xA0013A04, 0x00000002, 0x00663884, 0xA0013A04, + 0x00000002, 0x00663896, 0xA0013A16, 0x00000002, 0x00663A84, 0xA0013A04, + 0x00000002, 0x00663A84, 0xA0013C04, 0x00000002, 0x0075C284, 0xA0013904, + 0x00000002, 0x00862084, 0xA0013904, 0x00000002, 0x00862284, 0xA0013904, + 0x00000002, 0x00862484, 0xA0013904, 0x00000002, 0x00862684, 0xA0013904, + 0x00000002, 0x00862884, 0xA0013904, 0x00000002, 0x00862A84, 0xA0013904, + 0x00000002, 0x00862C84, 0xA0013904, 0x00000002, 0x00862C84, 0xA0013A04, + 0x00000002, 0x00862E84, 0xA0013904, 0x00000002, + // Block 143, offset 0x23c0 + 0x00863084, 0xA0013904, 0x00000002, 0x00863284, 0xA0013904, 0x00000002, + 0x00863284, 0xA0013A04, 0x00000002, 0x00863484, 0xA0013904, 0x00000002, + 0x00863484, 0xA0013A04, 0x00000002, 0x00863684, 0xA0013904, 0x00000002, + 0x00863684, 0xA0013A04, 0x00000002, 0x00863884, 0xA0013904, 0x00000002, + 0x00863A84, 0xA0013904, 0x00000002, 0x00863C84, 0xA0013904, 0x00000002, + 0x00863E84, 0xA0013904, 0x00000002, 0x00863E84, 0xA0013A04, 0x00000002, + 0x00863E84, 0xA0013C04, 0x00000002, 0x00864084, 0xA0013904, 0x00000002, + 0x00864284, 0xA0013904, 0x00000002, 0x00864484, 0xA0013904, 0x00000002, + 0x00864684, 0xA0013904, 0x00000002, 0x00864684, 0xA0013A04, 0x00000002, + 0x00864884, 0xA0013904, 0x00000002, 0x00864884, 0xA0013A04, 0x00000002, + 0x00864A84, 0xA0013904, 0x00000002, 0x00864C84, + // Block 144, offset 0x2400 + 0xA0013904, 0x00000002, 0x029C6C84, 0xA0013904, 0x00000002, 0x029CB284, + 0xA0013904, 0x00000002, 0x02A30484, 0xA0013904, 0x00000002, 0x02A3C084, + 0xA0013904, 0x00000002, 0x02A40084, 0xA0013904, 0x00000002, 0x02A6B884, + 0xA0013904, 0x00000002, 0x02A6D284, 0xA0013904, 0x00000002, 0x02A70484, + 0xA0013904, 0x00000002, 0x02B81E84, 0xA0013904, 0x00000002, 0x02B81E84, + 0xA0013A04, 0x00000002, 0x02B84484, 0xA0013904, 0x00000002, 0x02B84684, + 0xA0013904, 0x00000002, 0x02BEA084, 0xA0013904, 0x00000002, 0x02BF8684, + 0xA0013904, 0x00000002, 0x02CBCA84, 0xA0013904, 0x00000002, 0x02CE1084, + 0xA0013904, 0x00000004, 0x02D0549C, 0x02BE1E9C, 0x029E349C, 0x02F27C9C, + 0x00000002, 0x02D6F484, 0xA0013904, 0x00000002, 0x02E45684, 0xA0013904, + 0x00000002, 0x02E4B684, 0xA0013904, 0x00000002, + // Block 145, offset 0x2440 + 0x02E71684, 0xA0013904, 0x00000002, 0x02EB1684, 0xA0013904, 0x00000002, + 0x02EDDC84, 0xA0013904, 0x00000002, 0x02F27484, 0xA0013904, 0x00000002, + 0x02F5F284, 0xA0013904, 0x00000002, 0x02FEA484, 0xA0013904, 0x00000002, + 0x02FEA684, 0xA0013904, 0x00000002, 0x02FEA684, 0xA0013A04, 0x00000002, + 0x02FF1484, 0xA0013904, 0x00000002, 0x02FF1484, 0xA0013A04, 0x00000002, + 0x0300FE84, 0xA0013904, 0x00000002, 0x03011284, 0xA0013904, 0x00000002, + 0x0303F884, 0xA0013904, 0x00000002, 0x0304F284, 0xA0013904, 0x00000002, + 0x0304F284, 0xA0013A04, 0x00000002, 0x0313A484, 0xA0013904, 0x00000002, + 0x031B6684, 0xA0013904, 0x00000002, 0x031F6C84, 0xA0013904, 0x00000002, + 0x031F6C84, 0xA0013A04, 0x00000002, 0x03212284, 0xA0013904, 0x00000002, + 0x032C3884, 0xA0013904, 0x00000002, 0x032DD084, + // Block 146, offset 0x2480 + 0xA0013904, 0x00000002, 0x0331C084, 0xA0013904, 0x00000002, 0x03332C84, + 0xA0013904, 0x00000002, 0x03355084, 0xA0013904, 0x00000002, 0x03367884, + 0xA0013904, 0x00000002, 0x033CEA84, 0xA0013904, 0x00000002, 0x033E9484, + 0xA0013904, 0x00000002, 0x033EA484, 0xA0013904, 0x00000002, 0x033F1A84, + 0xA0013904, 0x00000002, 0x033F3884, 0xA0013904, 0x00000002, 0x033F3884, + 0xA0013A04, 0x00000003, 0x0003F484, 0x002C9884, 0x0003F69F, 0x00000003, + 0x0003F484, 0x002C988A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D6884, + 0x0003F69F, 0x00000003, 0x0003F484, 0x002D688A, 0x0003F69F, 0x00000003, + 0x0003F484, 0x002D9A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D9A8A, + 0x0003F69F, 0x00000003, 0x0003F484, 0x002DFE84, 0x0003F69F, 0x00000003, + 0x0003F484, 0x002DFE8A, 0x0003F69F, 0x00000003, + // Block 147, offset 0x24c0 + 0x0003F484, 0x002EE284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002EE28A, + 0x0003F69F, 0x00000003, 0x0003F484, 0x002F5684, 0x0003F69F, 0x00000003, + 0x0003F484, 0x002F568A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A84, + 0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A8A, 0x0003F69F, 0x00000003, + 0x0003F484, 0x002FE684, 0x0003F69F, 0x00000003, 0x0003F484, 0x002FE68A, + 0x0003F69F, 0x00000003, 0x0003F484, 0x00302C84, 0x0003F69F, 0x00000003, + 0x0003F484, 0x00302C8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030F684, + 0x0003F69F, 0x00000003, 0x0003F484, 0x0030F68A, 0x0003F69F, 0x00000003, + 0x0004B084, 0x002FE68A, 0x0004B29F, 0x00000002, 0x002C0A9D, 0x002F569C, + 0x00000002, 0x402C0C20, 0xAE604102, 0x00000002, 0x002C0C83, 0xAE604102, + 0x00000002, 0x402C0C20, 0xAE604702, 0x00000002, + // Block 148, offset 0x2500 + 0x402C0C20, 0xAE605202, 0x00000002, 0x002C0C83, 0xAE605202, 0x00000002, + 0x402C0C20, 0xACA05602, 0x00000002, 0x002C0C83, 0xACA05602, 0x00000002, + 0x402C0C20, 0xADC07002, 0x00000002, 0x002C0C83, 0xADC07002, 0x00000002, + 0x402C0C20, 0xADC07702, 0x00000002, 0x002C0C83, 0xADC07702, 0x00000002, + 0x402C0C20, 0xADC07802, 0x00000002, 0x002C0C83, 0xADC07802, 0x00000002, + 0x402C0C20, 0xADC07B02, 0x00000002, 0x002C0C83, 0xADC07B02, 0x00000002, + 0x402C0E20, 0xAE603202, 0x00000002, 0x002C0E83, 0xAE603202, 0x00000003, + 0x402C0E20, 0xAE603202, 0xAE605202, 0x00000003, 0x002C0E83, 0xAE603202, + 0xAE605202, 0x00000002, 0x402C0E20, 0xAE603C02, 0x00000002, 0x002C0E83, + 0xAE603C02, 0x00000002, 0x402C0E20, 0xAE604102, 0x00000002, 0x002C0E83, + 0xAE604102, 0x00000003, 0x402C0E20, 0xAE604102, + // Block 149, offset 0x2540 + 0xAE605202, 0x00000003, 0x002C0E83, 0xAE604102, 0xAE605202, 0x00000002, + 0x402C0E20, 0xAE605202, 0x00000002, 0x002C0E83, 0xAE605202, 0x00000002, + 0x402C0E20, 0xACA05602, 0x00000002, 0x002C0E83, 0xACA05602, 0x00000002, + 0x402C0E20, 0xADC07002, 0x00000002, 0x002C0E83, 0xADC07002, 0x00000003, + 0x402C0E20, 0xADC07002, 0xAE605202, 0x00000003, 0x002C0E83, 0xADC07002, + 0xAE605202, 0x00000002, 0x402C0E20, 0xADC07702, 0x00000002, 0x002C0E83, + 0xADC07702, 0x00000002, 0x402C1020, 0xAE603202, 0x00000002, 0x002C1083, + 0xAE603202, 0x00000002, 0x402C1020, 0xAE603502, 0x00000002, 0x002C1083, + 0xAE603502, 0x00000002, 0x402C1020, 0xAE603702, 0x00000002, 0x002C1083, + 0xAE603702, 0x00000002, 0x402C1020, 0xAE603C02, 0x00000002, 0x002C1083, + 0xAE603C02, 0x00000003, 0x402C1020, 0xAE603C02, + // Block 150, offset 0x2580 + 0xAE603202, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE603202, 0x00000003, + 0x402C1020, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE603C02, + 0xAE603502, 0x00000003, 0x402C1020, 0xAE603C02, 0xAE604E02, 0x00000003, + 0x002C1083, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C1020, 0xAE603C02, + 0xAE606402, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE606402, 0x00000002, + 0x402C1020, 0xAE604102, 0x00000002, 0x002C1083, 0xAE604102, 0x00000002, + 0x402C1020, 0xAE604702, 0x00000002, 0x002C1083, 0xAE604702, 0x00000002, + 0x402C1020, 0xAE604E02, 0x00000002, 0x002C1083, 0xAE604E02, 0x00000002, + 0x402C1020, 0xAE605202, 0x00000002, 0x002C1083, 0xAE605202, 0x00000002, + 0x402C1020, 0xACA05602, 0x00000002, 0x002C1083, 0xACA05602, 0x00000003, + 0x402C1020, 0xACA05602, 0xAE603702, 0x00000003, + // Block 151, offset 0x25c0 + 0x002C1083, 0xACA05602, 0xAE603702, 0x00000002, 0x402C1020, 0xACA05902, + 0x00000002, 0x002C1083, 0xACA05902, 0x00000002, 0x402C1020, 0xAE605B02, + 0x00000002, 0x002C1083, 0xAE605B02, 0x00000003, 0x402C1020, 0xAE605B02, + 0xAE603202, 0x00000003, 0x002C1083, 0xAE605B02, 0xAE603202, 0x00000003, + 0x402C1020, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE605B02, + 0xAE603502, 0x00000002, 0x402C1020, 0xAE606402, 0x00000002, 0x002C1083, + 0xAE606402, 0x00000002, 0x402C1020, 0xAE606502, 0x00000002, 0x002C1083, + 0xAE606502, 0x00000002, 0x402C1020, 0xAE606702, 0x00000002, 0x002C1083, + 0xAE606702, 0x00000002, 0x402C1020, 0xADC07002, 0x00000002, 0x002C1083, + 0xADC07002, 0x00000003, 0x402C1020, 0xADC07002, 0xAE603C02, 0x00000003, + 0x002C1083, 0xADC07002, 0xAE603C02, 0x00000002, + // Block 152, offset 0x2600 + 0x402C1020, 0xADC07802, 0x00000002, 0x002C1083, 0xADC07802, 0x00000002, + 0x402C1020, 0xADC07A02, 0x00000002, 0x002C1083, 0xADC07A02, 0x00000002, + 0x402C3C20, 0xAE603202, 0x00000002, 0x002C3C83, 0xAE603202, 0x00000002, + 0x402C3C20, 0xAE604102, 0x00000002, 0x002C3C83, 0xAE604102, 0x00000002, + 0x402C3C20, 0xACA05602, 0x00000002, 0x002C3C83, 0xACA05602, 0x00000002, + 0x402C3C20, 0xADC07002, 0x00000002, 0x002C3C83, 0xADC07002, 0x00000002, + 0x402C3C20, 0xADC07B02, 0x00000002, 0x002C3C83, 0xADC07B02, 0x00000002, + 0x402C3E20, 0xAE604702, 0x00000002, 0x002C3E83, 0xAE604702, 0x00000002, + 0x402C3E20, 0xAE605202, 0x00000002, 0x002C3E83, 0xAE605202, 0x00000002, + 0x402C4020, 0xAE603202, 0x00000002, 0x002C4083, 0xAE603202, 0x00000002, + 0x402C4020, 0xAE603502, 0x00000002, 0x002C4083, + // Block 153, offset 0x2640 + 0xAE603502, 0x00000002, 0x402C4020, 0xAE603702, 0x00000002, 0x002C4083, + 0xAE603702, 0x00000002, 0x402C4020, 0xAE603C02, 0x00000002, 0x002C4083, + 0xAE603C02, 0x00000002, 0x402C4020, 0xAE604102, 0x00000002, 0x002C4083, + 0xAE604102, 0x00000002, 0x402C4020, 0xAE604702, 0x00000002, 0x002C4083, + 0xAE604702, 0x00000003, 0x402C4020, 0xAE604702, 0xAE603202, 0x00000003, + 0x002C4083, 0xAE604702, 0xAE603202, 0x00000002, 0x402C4020, 0xAE604E02, + 0x00000002, 0x002C4083, 0xAE604E02, 0x00000002, 0x002C4083, 0xAE605202, + 0x00000002, 0x402C4020, 0xACA05902, 0x00000002, 0x002C4083, 0xACA05902, + 0x00000002, 0x402C4020, 0xAE605B02, 0x00000002, 0x002C4083, 0xAE605B02, + 0x00000002, 0x402C4020, 0xAE606402, 0x00000002, 0x002C4083, 0xAE606402, + 0x00000002, 0x402C4020, 0xAE606502, 0x00000002, + // Block 154, offset 0x2680 + 0x002C4083, 0xAE606502, 0x00000002, 0x402C4020, 0xAE606702, 0x00000002, + 0x002C4083, 0xAE606702, 0x00000002, 0x402C4020, 0xADC07002, 0x00000002, + 0x002C4083, 0xADC07002, 0x00000002, 0x402C4020, 0xADC07A02, 0x00000002, + 0x002C4083, 0xADC07A02, 0x00000002, 0x402C6620, 0xAE603202, 0x00000002, + 0x002C6683, 0xAE603202, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002, + 0x002C6683, 0xAE604102, 0x00000002, 0x402C6620, 0xAE605202, 0x00000002, + 0x002C6683, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000002, + 0x002C6683, 0xACA05602, 0x00000002, 0x402C6620, 0xAE606502, 0x00000002, + 0x002C6683, 0xAE606502, 0x00000002, 0x402C6620, 0xAE606702, 0x00000002, + 0x002C6683, 0xAE606702, 0x00000002, 0x402C6620, 0xADC07002, 0x00000002, + 0x002C6683, 0xADC07002, 0x00000003, 0x402C6620, + // Block 155, offset 0x26c0 + 0xADC07002, 0xAE605B02, 0x00000003, 0x002C6683, 0xADC07002, 0xAE605B02, + 0x00000002, 0x402C6620, 0xADC07B02, 0x00000002, 0x002C6683, 0xADC07B02, + 0x00000002, 0x002C989C, 0x0030BE9D, 0x00000002, 0x002D0884, 0x002D9A84, + 0x00000002, 0x402D2420, 0xAE603202, 0x00000002, 0x002D2483, 0xAE603202, + 0x00000002, 0x402D2420, 0xAE603502, 0x00000002, 0x002D2483, 0xAE603502, + 0x00000002, 0x402D2420, 0xAE603702, 0x00000002, 0x002D2483, 0xAE603702, + 0x00000002, 0x402D2420, 0xAE603C02, 0x00000002, 0x002D2483, 0xAE603C02, + 0x00000003, 0x402D2420, 0xAE603C02, 0xAE603202, 0x00000003, 0x002D2483, + 0xAE603C02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE603502, + 0x00000003, 0x002D2483, 0xAE603C02, 0xAE603502, 0x00000003, 0x402D2420, + 0xAE603C02, 0xAE604E02, 0x00000003, 0x002D2483, + // Block 156, offset 0x2700 + 0xAE603C02, 0xAE604E02, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE606402, + 0x00000003, 0x002D2483, 0xAE603C02, 0xAE606402, 0x00000002, 0x402D2420, + 0xAE604102, 0x00000002, 0x002D2483, 0xAE604102, 0x00000002, 0x402D2420, + 0xAE604702, 0x00000002, 0x002D2483, 0xAE604702, 0x00000003, 0x402D2420, + 0xAE604702, 0xAE605B02, 0x00000003, 0x002D2483, 0xAE604702, 0xAE605B02, + 0x00000002, 0x402D2420, 0xAE604D02, 0x00000002, 0x002D2483, 0xAE604D02, + 0x00000002, 0x402D2420, 0xAE604E02, 0x00000002, 0x002D2483, 0xAE604E02, + 0x00000003, 0x402D2420, 0xAE604E02, 0xAE603202, 0x00000003, 0x002D2483, + 0xAE604E02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE604E02, 0xAE604702, + 0x00000003, 0x002D2483, 0xAE604E02, 0xAE604702, 0x00000003, 0x402D2420, + 0xAE604E02, 0xAE605B02, 0x00000003, 0x002D2483, + // Block 157, offset 0x2740 + 0xAE604E02, 0xAE605B02, 0x00000002, 0x402D2420, 0xAE605202, 0x00000002, + 0x002D2483, 0xAE605202, 0x00000003, 0x402D2420, 0xAE605202, 0xAE605B02, + 0x00000003, 0x002D2483, 0xAE605202, 0xAE605B02, 0x00000002, 0x402D2420, + 0xACA05902, 0x00000002, 0x002D2483, 0xACA05902, 0x00000003, 0x402D2420, + 0xACA05902, 0xAE605B02, 0x00000003, 0x002D2483, 0xACA05902, 0xAE605B02, + 0x00000002, 0x402D2420, 0xAE605B02, 0x00000002, 0x002D2483, 0xAE605B02, + 0x00000003, 0x402D2420, 0xAE605B02, 0xAE603202, 0x00000003, 0x002D2483, + 0xAE605B02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE605B02, 0xAE603502, + 0x00000003, 0x002D2483, 0xAE605B02, 0xAE603502, 0x00000002, 0x402D2420, + 0xAE606402, 0x00000002, 0x002D2483, 0xAE606402, 0x00000002, 0x402D2420, + 0xAE606502, 0x00000002, 0x002D2483, 0xAE606502, + // Block 158, offset 0x2780 + 0x00000002, 0x402D2420, 0xAE606702, 0x00000002, 0x002D2483, 0xAE606702, + 0x00000002, 0x402D2420, 0xAD806802, 0x00000002, 0x002D2483, 0xAD806802, + 0x00000003, 0x402D2420, 0xAD806802, 0xAE603202, 0x00000003, 0x002D2483, + 0xAD806802, 0xAE603202, 0x00000003, 0x402D2420, 0xAD806802, 0xAE603502, + 0x00000003, 0x002D2483, 0xAD806802, 0xAE603502, 0x00000003, 0x402D2420, + 0xAD806802, 0xAE604E02, 0x00000003, 0x002D2483, 0xAD806802, 0xAE604E02, + 0x00000003, 0x402D2420, 0xAD806802, 0xAE606402, 0x00000003, 0x002D2483, + 0xAD806802, 0xAE606402, 0x00000003, 0x402D2420, 0xAD806802, 0xADC07002, + 0x00000003, 0x002D2483, 0xAD806802, 0xADC07002, 0x00000002, 0x402D2420, + 0xADC07002, 0x00000002, 0x002D2483, 0xADC07002, 0x00000003, 0x402D2420, + 0xADC07002, 0xAE603C02, 0x00000003, 0x002D2483, + // Block 159, offset 0x27c0 + 0xADC07002, 0xAE603C02, 0x00000002, 0x002D689C, 0x002BDE9C, 0x00000002, + 0x002D689D, 0x002D229C, 0x00000002, 0x002D689D, 0x002F2C9D, 0x00000002, + 0x002D689D, 0x0030BE9D, 0x00000002, 0x002D689D, 0x00312A9C, 0x00000002, + 0x002D9A84, 0x002D9A9F, 0x00000002, 0x002D9A8A, 0x002D9A9F, 0x00000003, + 0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x002D9A8A, 0x002D9A8A, + 0x002D9A9F, 0x00000002, 0x002D9A84, 0x002DCC84, 0x00000002, 0x002D9A8A, + 0x002DCC8A, 0x00000002, 0x002D9A9C, 0x002E9E9C, 0x00000002, 0x002D9A9D, + 0x00306C9D, 0x00000002, 0x002D9A84, 0x0030BE9F, 0x00000002, 0x002D9A8A, + 0x0030BE9F, 0x00000002, 0x002D9A84, 0x0030F69F, 0x00000002, 0x002D9A8A, + 0x0030F69F, 0x00000002, 0x002DFE9C, 0x002BDE9D, 0x00000002, 0x002DFE9D, + 0x002C0A9D, 0x00000002, 0x002DFE9C, 0x002D229C, + // Block 160, offset 0x2800 + 0x00000002, 0x002DFE9D, 0x002DFE9D, 0x00000002, 0x002DFE9C, 0x002E229C, + 0x00000002, 0x002DFE9C, 0x002E829C, 0x00000002, 0x002DFE9D, 0x002E829D, + 0x00000002, 0x002DFE9C, 0x00302C9C, 0x00000002, 0x002DFE9C, 0x0030BE9D, + 0x00000002, 0x002DFE9C, 0x0030E29D, 0x00000002, 0x002DFE9C, 0x0032A29D, + 0x00000002, 0x002E229C, 0x0030F69C, 0x00000002, 0x002E829C, 0x002FE69C, + 0x00000002, 0x002E9E8A, 0x002EE284, 0x00000002, 0x002E9E9C, 0x002FE69C, + 0x00000002, 0x002EE29C, 0x0030BE9D, 0x00000002, 0x002F2C9D, 0x002D689D, + 0x00000002, 0x002F2C9D, 0x002F7A9D, 0x00000002, 0x002F2C9C, 0x002FE69C, + 0x00000002, 0x002FE69D, 0x002C629D, 0x00000002, 0x002FE694, 0x002E8294, + 0x00000002, 0x002FE69C, 0x002F7A9C, 0x00000002, 0x002FE69D, 0x002FE69D, + 0x00000002, 0x002FE684, 0x00302C84, 0x00000002, + // Block 161, offset 0x2840 + 0x002FE69D, 0x0030BE9C, 0x00000002, 0x00302C94, 0x002E8294, 0x00000002, + 0x0030BE84, 0x002D9A9F, 0x00000002, 0x0030BE8A, 0x002D9A9F, 0x00000003, + 0x0030BE84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030BE8A, 0x002D9A8A, + 0x002D9A9F, 0x00000002, 0x4030E420, 0xAE603C02, 0x00000002, 0x0030E483, + 0xAE603C02, 0x00000002, 0x4030E420, 0xAE604102, 0x00000002, 0x0030E483, + 0xAE604102, 0x00000002, 0x4030E420, 0xAE604702, 0x00000002, 0x0030E483, + 0xAE604702, 0x00000002, 0x4030E420, 0xAE605202, 0x00000002, 0x0030E483, + 0xAE605202, 0x00000002, 0x4030E420, 0xACA05602, 0x00000002, 0x0030E483, + 0xACA05602, 0x00000002, 0x4030E420, 0xADC07002, 0x00000002, 0x0030E483, + 0xADC07002, 0x00000002, 0x4030E420, 0xADC07902, 0x00000002, 0x0030E483, + 0xADC07902, 0x00000002, 0x4030E420, 0xADC07B02, + // Block 162, offset 0x2880 + 0x00000002, 0x0030F684, 0x002D9A9F, 0x00000002, 0x0030F68A, 0x002D9A9F, + 0x00000003, 0x0030F684, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030F68A, + 0x002D9A8A, 0x002D9A9F, 0x00000002, 0x0032769C, 0x002FE69C, 0x00000002, + 0x00393C99, 0x003A8E99, 0x00000002, 0x00393C9A, 0x003A8E9A, 0x00000002, + 0x00395699, 0x003A8E99, 0x00000002, 0x0039569A, 0x003A8E9A, 0x00000002, + 0x00395899, 0x003A8E99, 0x00000002, 0x0039589A, 0x003A8E9A, 0x00000002, + 0x00396499, 0x003A8E99, 0x00000002, 0x0039649A, 0x003A8E9A, 0x00000002, + 0x00397299, 0x003A8E99, 0x00000002, 0x0039729A, 0x003A8E9A, 0x00000002, + 0x00397499, 0x003A8E99, 0x00000002, 0x0039749A, 0x003A8E9A, 0x00000002, + 0x0039C699, 0x003A8E99, 0x00000002, 0x0039C69A, 0x003A8E9A, 0x00000002, + 0x0039C899, 0x003A8E99, 0x00000002, 0x0039C89A, + // Block 163, offset 0x28c0 + 0x003A8E9A, 0x00000002, 0x0039DC99, 0x003A8E99, 0x00000002, 0x0039DC9A, + 0x003A8E9A, 0x00000002, 0x0039DE99, 0x003A8E99, 0x00000002, 0x0039DE9A, + 0x003A8E9A, 0x00000002, 0x0039E699, 0x003A8E99, 0x00000002, 0x0039E69A, + 0x003A8E9A, 0x00000002, 0x0039EE99, 0x003A8E99, 0x00000002, 0x0039EE9A, + 0x003A8E9A, 0x00000002, 0x0039F099, 0x003A8E99, 0x00000002, 0x0039F09A, + 0x003A8E9A, 0x00000002, 0x0039FC99, 0x003A8E99, 0x00000002, 0x0039FC9A, + 0x003A8E9A, 0x00000002, 0x003A1299, 0x003A8E99, 0x00000002, 0x003A129A, + 0x003A8E9A, 0x00000002, 0x003A1A99, 0x003A8E99, 0x00000002, 0x003A1A9A, + 0x003A8E9A, 0x00000002, 0x003A4099, 0x003A8E99, 0x00000002, 0x003A409A, + 0x003A8E9A, 0x00000002, 0x003A4E9A, 0x003A8E9A, 0x00000002, 0x003A5699, + 0x003A8E99, 0x00000002, 0x003A569A, 0x003A8E9A, + // Block 164, offset 0x2900 + 0x00000002, 0x003A689A, 0x003A8E9A, 0x00000002, 0x003A9099, 0x003A8E99, + 0x00000002, 0x003A909A, 0x003A8E9A, 0x00000002, 0x402D6A20, 0xAE604702, + 0x00000002, 0x002D6A83, 0xAE604702, 0x00000002, 0x402D6A20, 0xAE605202, + 0x00000002, 0x002D6A83, 0xAE605202, 0x00000002, 0x002D9883, 0xAE603202, + 0x00000002, 0x002D9883, 0xAE603502, 0x00000002, 0x002D9883, 0xAE603702, + 0x00000002, 0x002D9883, 0xAE603C02, 0x00000002, 0x002D9883, 0xAE604102, + 0x00000002, 0x002D9883, 0xAE604702, 0x00000003, 0x002D9883, 0xAE604702, + 0xAE603202, 0x00000002, 0x002D9883, 0xAE604E02, 0x00000002, 0x002D9883, + 0xACA05902, 0x00000002, 0x002D9883, 0xAE605B02, 0x00000002, 0x002D9883, + 0xAE606402, 0x00000002, 0x002D9883, 0xAE606502, 0x00000002, 0x002D9883, + 0xAE606702, 0x00000002, 0x002D9883, 0xADC07002, + // Block 165, offset 0x2940 + 0x00000002, 0x002D9883, 0xADC07A02, 0x00000002, 0x402EE420, 0xAE604E02, + 0x00000002, 0x002EE483, 0xAE604E02, 0x00000002, 0x402EE420, 0xAE605B02, + 0x00000002, 0x002EE483, 0xAE605B02, 0x00000002, 0x40306E20, 0xAE603202, + 0x00000002, 0x00306E83, 0xAE603202, 0x00000002, 0x40306E20, 0xAE603502, + 0x00000002, 0x00306E83, 0xAE603502, 0x00000002, 0x40306E20, 0xAE604102, + 0x00000002, 0x00306E83, 0xAE604102, 0x00000002, 0x40306E20, 0xAE605B02, + 0x00000002, 0x00306E83, 0xAE605B02, 0x00000002, 0x402FE820, 0xAE605202, + 0x00000002, 0x002FE883, 0xAE605202, 0x00000002, 0x002C6294, 0xA0013914, + 0x00000002, 0x00302C83, 0x402D6820, 0x00000002, 0x00302C89, 0x002D6888, + 0x00000002, 0x40310021, 0xAE603202, 0x00000002, 0x003100A3, 0xAE603202, + 0x00000002, 0x40310021, 0xAE603502, 0x00000002, + // Block 166, offset 0x2980 + 0x003100A3, 0xAE603502, 0x00000002, 0x40310021, 0xAE604102, 0x00000002, + 0x003100A3, 0xAE604102, 0x00000002, 0x40310021, 0xAE605B02, 0x00000002, + 0x003100A3, 0xAE605B02, 0x00000002, 0x40320C20, 0xAE603202, 0x00000002, + 0x00320C83, 0xAE603202, 0x00000002, 0x40320C20, 0xAE605B02, 0x00000002, + 0x00320C83, 0xAE605B02, 0x00000002, 0x40320C21, 0xAE605B02, 0x00000002, + 0x00320CA3, 0xAE605B02, 0x00000002, 0x40320E20, 0xAE603202, 0x00000002, + 0x00320E83, 0xAE603202, 0x00000002, 0x40320E21, 0xAE604E02, 0x00000002, + 0x00320EA3, 0xAE604E02, 0x00000002, 0x40320E21, 0xAE605B02, 0x00000002, + 0x00320EA3, 0xAE605B02, 0x00000002, 0x40321020, 0xAE603202, 0x00000002, + 0x00321083, 0xAE603202, 0x00000002, 0x402BDE21, 0x002C9888, 0x00000002, + 0x002BDEA3, 0x002C9888, 0x00000003, 0x402BDE21, + // Block 167, offset 0x29c0 + 0x002C9888, 0xAE605B02, 0x00000003, 0x002BDEA3, 0x002C9888, 0xAE605B02, + 0x00000002, 0x402EE221, 0x002C9888, 0x00000002, 0x002EE2A3, 0x002C9888, + 0x00000003, 0x402EE221, 0x002C9888, 0xAE604E02, 0x00000003, 0x002EE2A3, + 0x002C9888, 0xAE604E02, 0x00000003, 0x402EE221, 0x002C9888, 0xAE605B02, + 0x00000003, 0x002EE2A3, 0x002C9888, 0xAE605B02, 0x00000002, 0x40306C21, + 0x002C9888, 0x00000002, 0x00306CA3, 0x002C9888, 0x00000003, 0x40306C21, + 0x002C9888, 0xAE603202, 0x00000003, 0x00306CA3, 0x002C9888, 0xAE603202, + 0x00000003, 0x40306C21, 0x002C9888, 0xAE603502, 0x00000003, 0x00306CA3, + 0x002C9888, 0xAE603502, 0x00000003, 0x40306C21, 0x002C9888, 0xAE604102, + 0x00000003, 0x00306CA3, 0x002C9888, 0xAE604102, 0x00000003, 0x40306C21, + 0x002C9888, 0xAE605B02, 0x00000003, 0x00306CA3, + // Block 168, offset 0x2a00 + 0x002C9888, 0xAE605B02, 0x00000002, 0x404A7620, 0x838225B3, 0x00000004, + 0x004A8083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084, + 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8083, 0x404AB420, + 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084, 0x404AB420, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004A8083, 0x404AFA20, 0x404A8020, 0x404AFA20, + 0x00000004, 0x004A8084, 0x404AFA20, 0x404A8020, 0x404AFA20, 0x00000002, + 0x404A8020, 0x828225B5, 0x00000004, 0x004AB083, 0x404A8020, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004AB084, 0x404A8020, 0x404A8020, 0x404AFA20, + 0x00000004, 0x004AB083, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, + 0x004AB084, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083, + 0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004, + // Block 169, offset 0x2a40 + 0x004AB084, 0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083, + 0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB084, 0x404AC020, + 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083, 0x404AC420, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004AB084, 0x404AC420, 0x404A8020, 0x404AFA20, + 0x00000002, 0x404AB020, 0x828225B5, 0x00000002, 0x004AB083, 0x828225B5, + 0x00000004, 0x004AC083, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004, + 0x004AC084, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083, + 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC084, 0x404AB020, + 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083, 0x404AFA20, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004AC084, 0x404AFA20, 0x404A8020, 0x404AFA20, + 0x00000002, 0x404AC020, 0x828225B5, 0x00000004, + // Block 170, offset 0x2a80 + 0x004AC483, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484, + 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC483, 0x404AB020, + 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484, 0x404AB020, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004AC483, 0x404AB420, 0x404A8020, 0x404AFA20, + 0x00000004, 0x004AC484, 0x404AB420, 0x404A8020, 0x404AFA20, 0x00000002, + 0x404AD020, 0x828225B5, 0x00000004, 0x004AE083, 0x404A8020, 0x404A8020, + 0x404AFA20, 0x00000004, 0x004AE084, 0x404A8020, 0x404A8020, 0x404AFA20, + 0x00000004, 0x004AE083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, + 0x004AE084, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE083, + 0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE084, 0x404AC020, + 0x404A8020, 0x404AFA20, 0x00000002, 0x404AEA20, + // Block 171, offset 0x2ac0 + 0x8281258B, 0x00000002, 0x404AF020, 0x8281258B, 0x00000002, 0x82822599, + 0x838225B3, 0x00000002, 0x8282259B, 0x828225B5, 0x00000002, 0x828225A3, + 0x828225B5, 0x00000002, 0x838225A3, 0x828225B5, 0x00000002, 0x828225A7, + 0x828225B5, 0x00000002, 0x828225AB, 0x828225B5, 0x00000002, 0x402BDE20, + 0xAE604202, 0x00000002, 0x002BDE88, 0xAE604202, 0x00000003, 0x402BDE20, + 0xAE604202, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE603202, + 0x00000003, 0x402BDE20, 0xAE604202, 0xAE603502, 0x00000003, 0x002BDE88, + 0xAE604202, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE604202, 0xAE604E02, + 0x00000003, 0x002BDE88, 0xAE604202, 0xAE604E02, 0x00000003, 0x402BDE20, + 0xAE604202, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE606402, + 0x00000003, 0x402BDE20, 0xADC07002, 0xAE604202, + // Block 172, offset 0x2b00 + 0x00000003, 0x002BDE88, 0xADC07002, 0xAE604202, 0x00000002, 0x402C3A20, + 0xAE604202, 0x00000002, 0x002C3A88, 0xAE604202, 0x00000002, 0x402C9820, + 0xAE604202, 0x00000002, 0x002C9888, 0xAE604202, 0x00000003, 0x402C9820, + 0xAE604202, 0xAE603202, 0x00000003, 0x002C9888, 0xAE604202, 0xAE603202, + 0x00000003, 0x402C9820, 0xAE604202, 0xAE603502, 0x00000003, 0x002C9888, + 0xAE604202, 0xAE603502, 0x00000003, 0x402C9820, 0xAE604202, 0xAE604E02, + 0x00000003, 0x002C9888, 0xAE604202, 0xAE604E02, 0x00000003, 0x402C9820, + 0xAE604202, 0xAE606402, 0x00000003, 0x002C9888, 0xAE604202, 0xAE606402, + 0x00000003, 0x402C9820, 0xADC07002, 0xAE604202, 0x00000003, 0x002C9888, + 0xADC07002, 0xAE604202, 0x00000002, 0x402D2220, 0xAE604202, 0x00000002, + 0x002D2288, 0xAE604202, 0x00000002, 0x402D6820, + // Block 173, offset 0x2b40 + 0xAE604202, 0x00000002, 0x002D6888, 0xAE604202, 0x00000002, 0x402D9A20, + 0xAE604202, 0x00000002, 0x002D9A88, 0xAE604202, 0x00000002, 0x402DCC20, + 0xAE604202, 0x00000002, 0x002DCC88, 0xAE604202, 0x00000002, 0x402EE220, + 0xAE604202, 0x00000002, 0x002EE288, 0xAE604202, 0x00000003, 0x402EE220, + 0xAE604202, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604202, 0xAE603202, + 0x00000003, 0x402EE220, 0xAE604202, 0xAE603502, 0x00000003, 0x002EE288, + 0xAE604202, 0xAE603502, 0x00000003, 0x402EE220, 0xAE604202, 0xAE604E02, + 0x00000003, 0x002EE288, 0xAE604202, 0xAE604E02, 0x00000003, 0x402EE220, + 0xAE604202, 0xAE606402, 0x00000003, 0x002EE288, 0xAE604202, 0xAE606402, + 0x00000003, 0x402EE220, 0xADC07002, 0xAE604202, 0x00000003, 0x002EE288, + 0xADC07002, 0xAE604202, 0x00000002, 0x402FE620, + // Block 174, offset 0x2b80 + 0xAE604202, 0x00000002, 0x002FE688, 0xAE604202, 0x00000002, 0x40306C20, + 0xAE604202, 0x00000002, 0x00306C88, 0xAE604202, 0x00000002, 0x4030E220, + 0xAE604202, 0x00000002, 0x0030E288, 0xAE604202, 0x00000002, 0x40310020, + 0xAE604202, 0x00000002, 0x00310088, 0xAE604202, 0x00000002, 0x40312A20, + 0xAE604202, 0x00000002, 0x00312A88, 0xAE604202, 0x00000003, 0x00026C84, + 0x00026C84, 0x0009429F, 0x00000002, 0x0002BA84, 0x0002BA9F, 0x00000002, + 0x0002BA84, 0x0002C49F, 0x00000002, 0x0002C484, 0x0002BA9F, 0x00000002, + 0x0002C484, 0x0002C49F, 0x00000002, 0x0002E484, 0x0002E49F, 0x00000002, + 0x0002E496, 0x0002E49F, 0x00000003, 0x0002E484, 0x0002E484, 0x0002E49F, + 0x00000003, 0x0002E496, 0x0002E496, 0x0002E49F, 0x00000003, 0x0003F484, + 0x0029CE84, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 175, offset 0x2bc0 + 0x0029D084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D284, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0029D484, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0029D684, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D884, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0029DA84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0029DC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029DE84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002BDE84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002BDE8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C0A84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002C0A8A, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002C3A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C3A8A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002C6284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002C628A, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 176, offset 0x2c00 + 0x002D0884, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D088A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002D2284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002D228A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002DCC84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002DCC8A, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002E2284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E228A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002E8284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002E828A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E9E84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x002E9E8A, 0x0003F69F, 0x00000003, 0x0003F484, + 0x002F2C84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F2C8A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x00306C84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x00306C8A, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 177, offset 0x2c40 + 0x0030BE84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030BE8A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0030E284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0030E28A, 0x0003F69F, 0x00000003, 0x0003F484, 0x00310084, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0031008A, 0x0003F69F, 0x00000003, 0x0003F484, + 0x00312A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x00312A8A, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0062AC84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0062B084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062B284, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0062B684, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0062B884, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062BA84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0062BE84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0062C284, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 178, offset 0x2c80 + 0x0062C484, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062C884, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0062CA84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0062CC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062CE84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0062D084, 0x0003F69F, 0x00000003, 0x0003F484, + 0x029C0084, 0x0003F69F, 0x00000003, 0x0003F484, 0x029C0684, 0x0003F69F, + 0x00000003, 0x0003F484, 0x029C1284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x029CBA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x029D1884, 0x0003F69F, + 0x00000003, 0x0003F484, 0x029D2884, 0x0003F69F, 0x00000003, 0x0003F484, + 0x029DC684, 0x0003F69F, 0x00000003, 0x0003F484, 0x029E0284, 0x0003F69F, + 0x00000003, 0x0003F484, 0x029E2284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02A2D684, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 179, offset 0x2cc0 + 0x02A2DA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A56884, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02A68284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02A6A884, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A81A84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02A8F884, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02ADB684, 0x0003F69F, 0x00000003, 0x0003F484, 0x02AE3E84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02B6CC84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02CBCA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02CE1084, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02CE1284, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02CE5084, 0x0003F69F, 0x00000003, 0x0003F484, 0x02D05484, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02D86884, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02E0D684, 0x0003F69F, 0x00000003, 0x0003F484, + // Block 180, offset 0x2d00 + 0x02E4F284, 0x0003F69F, 0x00000003, 0x0003F484, 0x02EDC684, 0x0003F69F, + 0x00000003, 0x0003F484, 0x02F27C84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x02F2BA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02F2DA84, 0x0003F69F, + 0x00000003, 0x0003F484, 0x0303D484, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0303E684, 0x0003F69F, 0x00000003, 0x0003F484, 0x03194284, 0x0003F69F, + 0x00000003, 0x0003F484, 0x03198E84, 0x0003F69F, 0x00000003, 0x0003F484, + 0x0323A284, 0x0003F69F, 0x00000002, 0x00070484, 0x002C3A8A, 0x00000002, + 0x00070484, 0x002D088A, 0x00000002, 0x00094284, 0x0009429F, 0x00000003, + 0x00094284, 0x00094284, 0x0009429F, 0x00000002, 0x0029CC84, 0x0002409F, + 0x00000002, 0x0029CC84, 0x0002E49F, 0x00000002, 0x0029CC84, 0x02E1729F, + 0x00000002, 0x0029CE84, 0x0002409F, 0x00000002, + // Block 181, offset 0x2d40 + 0x0029CE84, 0x0002E49F, 0x00000002, 0x0029CE9E, 0x0009589E, 0x00000002, + 0x0029CE86, 0x0029CC86, 0x00000003, 0x0029CE84, 0x0029CC84, 0x0002E49F, + 0x00000003, 0x0029CE84, 0x0029CC84, 0x02CBCA9F, 0x00000003, 0x0029CE84, + 0x0029CC84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CC84, 0x02E1729F, + 0x00000002, 0x0029CE86, 0x0029CE86, 0x00000003, 0x0029CE84, 0x0029CE84, + 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029CE84, 0x02CBCA9F, 0x00000003, + 0x0029CE84, 0x0029CE84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CE84, + 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D086, 0x00000003, 0x0029CE84, + 0x0029D084, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D084, 0x02CBCA9F, + 0x00000003, 0x0029CE84, 0x0029D084, 0x02CE109F, 0x00000003, 0x0029CE84, + 0x0029D084, 0x02E1729F, 0x00000002, 0x0029CE86, + // Block 182, offset 0x2d80 + 0x0029D286, 0x00000003, 0x0029CE84, 0x0029D284, 0x0002E49F, 0x00000003, + 0x0029CE84, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D284, + 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D486, 0x00000003, 0x0029CE84, + 0x0029D484, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D484, 0x02CBCA9F, + 0x00000003, 0x0029CE84, 0x0029D484, 0x02E1729F, 0x00000002, 0x0029CE86, + 0x0029D686, 0x00000003, 0x0029CE84, 0x0029D684, 0x0002E49F, 0x00000003, + 0x0029CE84, 0x0029D684, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D684, + 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D886, 0x00000003, 0x0029CE84, + 0x0029D884, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D884, 0x02CBCA9F, + 0x00000003, 0x0029CE84, 0x0029D884, 0x02E1729F, 0x00000002, 0x0029CE86, + 0x0029DA86, 0x00000003, 0x0029CE84, 0x0029DA84, + // Block 183, offset 0x2dc0 + 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DA84, 0x02CBCA9F, 0x00000003, + 0x0029CE84, 0x0029DA84, 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029DC86, + 0x00000003, 0x0029CE84, 0x0029DC84, 0x0002E49F, 0x00000003, 0x0029CE84, + 0x0029DC84, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029DC84, 0x02E1729F, + 0x00000002, 0x0029CE86, 0x0029DE86, 0x00000003, 0x0029CE84, 0x0029DE84, + 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DE84, 0x02CBCA9F, 0x00000003, + 0x0029CE84, 0x0029DE84, 0x02E1729F, 0x00000002, 0x0029CE84, 0x02CBCA9F, + 0x00000002, 0x0029CE84, 0x02CE109F, 0x00000002, 0x0029CE84, 0x02E1729F, + 0x00000002, 0x0029D084, 0x0002409F, 0x00000002, 0x0029D084, 0x0002E49F, + 0x00000002, 0x0029D086, 0x0029CC86, 0x00000003, 0x0029D084, 0x0029CC84, + 0x0002E49F, 0x00000003, 0x0029D084, 0x0029CC84, + // Block 184, offset 0x2e00 + 0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029CC84, 0x02E1729F, 0x00000002, + 0x0029D086, 0x0029CE86, 0x00000003, 0x0029D084, 0x0029CE84, 0x02CBCA9F, + 0x00000003, 0x0029D084, 0x0029CE84, 0x02E1729F, 0x00000002, 0x0029D086, + 0x0029D086, 0x00000003, 0x0029D084, 0x0029D084, 0x02CBCA9F, 0x00000003, + 0x0029D084, 0x0029D084, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D286, + 0x00000003, 0x0029D084, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029D084, + 0x0029D284, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D486, 0x00000003, + 0x0029D084, 0x0029D484, 0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029D484, + 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D686, 0x00000003, 0x0029D084, + 0x0029D684, 0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029D886, 0x00000003, + 0x0029D084, 0x0029D884, 0x02CBCA9F, 0x00000002, + // Block 185, offset 0x2e40 + 0x0029D086, 0x0029DA86, 0x00000003, 0x0029D084, 0x0029DA84, 0x02CBCA9F, + 0x00000002, 0x0029D086, 0x0029DC86, 0x00000003, 0x0029D084, 0x0029DC84, + 0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029DE86, 0x00000003, 0x0029D084, + 0x0029DE84, 0x02CBCA9F, 0x00000002, 0x0029D084, 0x02CBCA9F, 0x00000002, + 0x0029D084, 0x02CE109F, 0x00000002, 0x0029D084, 0x02E1729F, 0x00000002, + 0x0029D284, 0x0002409F, 0x00000002, 0x0029D284, 0x0002E49F, 0x00000002, + 0x0029D286, 0x0029CC86, 0x00000003, 0x0029D284, 0x0029CC84, 0x02CBCA9F, + 0x00000002, 0x0029D286, 0x0029CE86, 0x00000003, 0x0029D284, 0x0029CE84, + 0x02CBCA9F, 0x00000002, 0x0029D286, 0x0029D086, 0x00000002, 0x0029D286, + 0x0029D286, 0x00000002, 0x0029D286, 0x0029D486, 0x00000002, 0x0029D286, + 0x0029D686, 0x00000002, 0x0029D286, 0x0029D886, + // Block 186, offset 0x2e80 + 0x00000002, 0x0029D286, 0x0029DA86, 0x00000002, 0x0029D286, 0x0029DC86, + 0x00000002, 0x0029D286, 0x0029DE86, 0x00000002, 0x0029D284, 0x02CBCA9F, + 0x00000002, 0x0029D284, 0x02CE109F, 0x00000002, 0x0029D284, 0x02E1729F, + 0x00000002, 0x0029D484, 0x0002409F, 0x00000002, 0x0029D484, 0x0002E49F, + 0x00000002, 0x0029D486, 0x0029CC86, 0x00000002, 0x0029D486, 0x0029CE86, + 0x00000002, 0x0029D486, 0x0029D086, 0x00000002, 0x0029D486, 0x0029D286, + 0x00000002, 0x0029D486, 0x0029D486, 0x00000002, 0x0029D486, 0x0029D686, + 0x00000002, 0x0029D486, 0x0029D886, 0x00000002, 0x0029D486, 0x0029DA86, + 0x00000002, 0x0029D486, 0x0029DC86, 0x00000002, 0x0029D486, 0x0029DE86, + 0x00000002, 0x0029D484, 0x02CBCA9F, 0x00000002, 0x0029D484, 0x02CE109F, + 0x00000002, 0x0029D484, 0x02E1729F, 0x00000002, + // Block 187, offset 0x2ec0 + 0x0029D684, 0x0002409F, 0x00000002, 0x0029D684, 0x0002E49F, 0x00000002, + 0x0029D686, 0x0029CC86, 0x00000002, 0x0029D684, 0x02CBCA9F, 0x00000002, + 0x0029D684, 0x02CE109F, 0x00000002, 0x0029D684, 0x02E1729F, 0x00000002, + 0x0029D884, 0x0002409F, 0x00000002, 0x0029D884, 0x0002E49F, 0x00000002, + 0x0029D884, 0x02CBCA9F, 0x00000002, 0x0029D884, 0x02CE109F, 0x00000002, + 0x0029D884, 0x02E1729F, 0x00000002, 0x0029DA84, 0x0002409F, 0x00000002, + 0x0029DA84, 0x0002E49F, 0x00000002, 0x0029DA84, 0x02CBCA9F, 0x00000002, + 0x0029DA84, 0x02CE109F, 0x00000002, 0x0029DA84, 0x02E1729F, 0x00000002, + 0x0029DC84, 0x0002409F, 0x00000002, 0x0029DC84, 0x0002E49F, 0x00000002, + 0x0029DC84, 0x02CBCA9F, 0x00000002, 0x0029DC84, 0x02CE109F, 0x00000002, + 0x0029DC84, 0x02E1729F, 0x00000002, 0x0029DE84, + // Block 188, offset 0x2f00 + 0x0002409F, 0x00000002, 0x0029DE84, 0x0002E49F, 0x00000002, 0x0029DE84, + 0x02CBCA9F, 0x00000002, 0x0029DE84, 0x02CE109F, 0x00000002, 0x0029DE84, + 0x02E1729F, 0x00000002, 0x002BDE9D, 0x00306C9D, 0x00000002, 0x002BDE84, + 0x0031E284, 0x00000002, 0x402C1820, 0xA0105402, 0x00000002, 0x402C1A20, + 0xA0105402, 0x00000002, 0x402C1C20, 0xA0105402, 0x00000002, 0x402C2220, + 0xAE603202, 0x00000002, 0x402C2220, 0xAE603502, 0x00000002, 0x402C2220, + 0xAE603702, 0x00000003, 0x402C2220, 0xAE603702, 0xAE603202, 0x00000003, + 0x402C2220, 0xAE603702, 0xAE603502, 0x00000003, 0x402C2220, 0xAE603702, + 0xAE604E02, 0x00000003, 0x402C2220, 0xAE603702, 0xAE606402, 0x00000002, + 0x402C2220, 0xAE603C02, 0x00000003, 0x402C2220, 0xAE603C02, 0xAE603202, + 0x00000003, 0x402C2220, 0xAE603C02, 0xAE603502, + // Block 189, offset 0x2f40 + 0x00000003, 0x402C2220, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C2220, + 0xAE603C02, 0xAE606402, 0x00000002, 0x402C2220, 0xAE604102, 0x00000002, + 0x402C2220, 0xAE604302, 0x00000003, 0x402C2220, 0xAE604302, 0xAE603202, + 0x00000002, 0x402C2220, 0xAE604702, 0x00000003, 0x402C2220, 0xAE604702, + 0xAE605B02, 0x00000002, 0x402C2220, 0xAE604E02, 0x00000002, 0x402C2220, + 0xAE605202, 0x00000003, 0x402C2220, 0xAE605202, 0xAE605B02, 0x00000002, + 0x402C2220, 0xACA05902, 0x00000002, 0x402C2220, 0xAE605B02, 0x00000002, + 0x402C2220, 0xAE606402, 0x00000002, 0x402C2220, 0xAE606502, 0x00000002, + 0x402C2220, 0xAE606702, 0x00000002, 0x402C2220, 0xADC07002, 0x00000003, + 0x402C2220, 0xADC07002, 0xAE603702, 0x00000003, 0x402C2220, 0xADC07002, + 0xAE603C02, 0x00000002, 0x402C2220, 0xADC07602, + // Block 190, offset 0x2f80 + 0x00000002, 0x402C2420, 0xAE605202, 0x00000002, 0x402C2420, 0xADC07002, + 0x00000002, 0x402C2420, 0xADC07B02, 0x00000002, 0x402C2620, 0xAE603202, + 0x00000002, 0x402C2620, 0xAE603C02, 0x00000002, 0x402C2620, 0xAE604102, + 0x00000002, 0x402C2620, 0xAE605202, 0x00000002, 0x402C2620, 0xACA05602, + 0x00000003, 0x402C2620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C2820, + 0xAE604102, 0x00000002, 0x402C2820, 0xAE605202, 0x00000002, 0x402C2820, + 0xACA05602, 0x00000002, 0x402C2820, 0xADC07002, 0x00000002, 0x402C2820, + 0xADC07802, 0x00000002, 0x402C2820, 0xADC07B02, 0x00000002, 0x402C2A20, + 0xAE603202, 0x00000002, 0x402C2A20, 0xAE603502, 0x00000002, 0x402C2A20, + 0xAE603702, 0x00000002, 0x402C2A20, 0xAE603C02, 0x00000003, 0x402C2A20, + 0xAE603C02, 0xAE603202, 0x00000003, 0x402C2A20, + // Block 191, offset 0x2fc0 + 0xAE603C02, 0xAE603502, 0x00000003, 0x402C2A20, 0xAE603C02, 0xAE604E02, + 0x00000003, 0x402C2A20, 0xAE603C02, 0xAE606402, 0x00000002, 0x402C2A20, + 0xAE604102, 0x00000002, 0x402C2A20, 0xAE604702, 0x00000002, 0x402C2A20, + 0xAE604E02, 0x00000002, 0x402C2A20, 0xAE605202, 0x00000002, 0x402C2A20, + 0xACA05602, 0x00000003, 0x402C2A20, 0xACA05602, 0xAE603702, 0x00000002, + 0x402C2A20, 0xACA05902, 0x00000002, 0x402C2A20, 0xAE605B02, 0x00000003, + 0x402C2A20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C2A20, 0xAE605B02, + 0xAE603502, 0x00000002, 0x402C2A20, 0xAE606402, 0x00000002, 0x402C2A20, + 0xAE606502, 0x00000002, 0x402C2A20, 0xAE606702, 0x00000002, 0x402C2A20, + 0xADC07002, 0x00000003, 0x402C2A20, 0xADC07002, 0xAE603C02, 0x00000002, + 0x402C2A20, 0xADC07802, 0x00000002, 0x402C2A20, + // Block 192, offset 0x3000 + 0xADC07A02, 0x00000002, 0x402C2C20, 0xAE605202, 0x00000002, 0x402C2E20, + 0xAE603202, 0x00000002, 0x402C2E20, 0xAE603702, 0x00000002, 0x402C2E20, + 0xAE603C02, 0x00000002, 0x402C2E20, 0xAE604102, 0x00000002, 0x402C2E20, + 0xAE605202, 0x00000002, 0x402C2E20, 0xACA05602, 0x00000002, 0x402C2E20, + 0xAE605B02, 0x00000002, 0x402C3020, 0xAE603C02, 0x00000002, 0x402C3020, + 0xAE604102, 0x00000002, 0x402C3020, 0xAE604702, 0x00000002, 0x402C3020, + 0xAE605202, 0x00000002, 0x402C3020, 0xACA05602, 0x00000002, 0x402C3020, + 0xADC07002, 0x00000002, 0x402C3020, 0xADC07902, 0x00000002, 0x402C3220, + 0xAE603202, 0x00000002, 0x402C3220, 0xAE603502, 0x00000002, 0x402C3220, + 0xAE603702, 0x00000002, 0x402C3220, 0xAE603C02, 0x00000002, 0x402C3220, + 0xAE604102, 0x00000002, 0x402C3220, 0xAE604702, + // Block 193, offset 0x3040 + 0x00000003, 0x402C3220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C3220, + 0xAE604E02, 0x00000002, 0x402C3220, 0xAE605202, 0x00000002, 0x402C3220, + 0xACA05902, 0x00000002, 0x402C3220, 0xAE605B02, 0x00000002, 0x402C3220, + 0xAE606402, 0x00000002, 0x402C3220, 0xAE606502, 0x00000002, 0x402C3220, + 0xAE606702, 0x00000002, 0x402C3220, 0xADC07002, 0x00000002, 0x402C3220, + 0xADC07A02, 0x00000002, 0x402C3420, 0xAE603C02, 0x00000002, 0x402C3620, + 0xAE603202, 0x00000002, 0x402C3620, 0xAE604102, 0x00000002, 0x402C3620, + 0xACA05602, 0x00000002, 0x402C3620, 0xADC07002, 0x00000002, 0x402C3620, + 0xADC07B02, 0x00000002, 0x402C3820, 0xAE603202, 0x00000002, 0x402C3820, + 0xAE604102, 0x00000002, 0x402C3820, 0xACA05602, 0x00000002, 0x402C3820, + 0xADC07002, 0x00000003, 0x402C3820, 0xADC07002, + // Block 194, offset 0x3080 + 0xAE605B02, 0x00000002, 0x402C3820, 0xADC07802, 0x00000002, 0x402C3820, + 0xADC07B02, 0x00000002, 0x402C3A20, 0xAE603202, 0x00000002, 0x402C3A20, + 0xAE605202, 0x00000002, 0x402C3A20, 0xADC07002, 0x00000002, 0x002C3A9C, + 0x002C3A9C, 0x00000002, 0x002C3A8C, 0x002C628C, 0x00000002, 0x002C3A9C, + 0x002C629C, 0x00000002, 0x002C3A9C, 0x002E829C, 0x00000002, 0x402C3C20, + 0xAE603202, 0x00000002, 0x402C3C20, 0xAE603502, 0x00000002, 0x402C3C20, + 0xAE604102, 0x00000002, 0x402C3C20, 0xAE604E02, 0x00000002, 0x402C3C20, + 0xAE605202, 0x00000002, 0x402C3C20, 0xACA05602, 0x00000002, 0x402C3C20, + 0xADC07002, 0x00000002, 0x402C3C20, 0xADC07802, 0x00000002, 0x402C3C20, + 0xADC07B02, 0x00000002, 0x402C3E20, 0xAE603202, 0x00000002, 0x402C3E20, + 0xAE603502, 0x00000002, 0x402C3E20, 0xAE603702, + // Block 195, offset 0x30c0 + 0x00000002, 0x402C3E20, 0xAE603C02, 0x00000003, 0x402C3E20, 0xAE603C02, + 0xAE603202, 0x00000003, 0x402C3E20, 0xAE603C02, 0xAE603502, 0x00000003, + 0x402C3E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAE603C02, + 0xAE606402, 0x00000002, 0x402C3E20, 0xAE604102, 0x00000002, 0x402C3E20, + 0xAE604702, 0x00000003, 0x402C3E20, 0xAE604702, 0xAE605B02, 0x00000002, + 0x402C3E20, 0xAE604D02, 0x00000002, 0x402C3E20, 0xAE604E02, 0x00000003, + 0x402C3E20, 0xAE604E02, 0xAE603202, 0x00000003, 0x402C3E20, 0xAE604E02, + 0xAE604702, 0x00000003, 0x402C3E20, 0xAE604E02, 0xAE605B02, 0x00000002, + 0x402C3E20, 0xAE605202, 0x00000003, 0x402C3E20, 0xAE605202, 0xAE605B02, + 0x00000002, 0x402C3E20, 0xACA05902, 0x00000003, 0x402C3E20, 0xACA05902, + 0xAE605B02, 0x00000002, 0x402C3E20, 0xAE605B02, + // Block 196, offset 0x3100 + 0x00000003, 0x402C3E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C3E20, + 0xAE605B02, 0xAE603502, 0x00000002, 0x402C3E20, 0xAE606402, 0x00000002, + 0x402C3E20, 0xAE606502, 0x00000002, 0x402C3E20, 0xAE606702, 0x00000002, + 0x402C3E20, 0xAD806802, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE603202, + 0x00000003, 0x402C3E20, 0xAD806802, 0xAE603502, 0x00000003, 0x402C3E20, + 0xAD806802, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE606402, + 0x00000003, 0x402C3E20, 0xAD806802, 0xADC07002, 0x00000002, 0x402C3E20, + 0xADC07002, 0x00000003, 0x402C3E20, 0xADC07002, 0xAE603C02, 0x00000002, + 0x402C4020, 0xAE603202, 0x00000002, 0x402C4020, 0xAE605202, 0x00000002, + 0x402C4420, 0xAE603202, 0x00000002, 0x402C4420, 0xAE604102, 0x00000002, + 0x402C4420, 0xAE605202, 0x00000002, 0x402C4420, + // Block 197, offset 0x3140 + 0xACA05602, 0x00000002, 0x402C4420, 0xAE606502, 0x00000002, 0x402C4420, + 0xAE606702, 0x00000002, 0x402C4420, 0xADC07002, 0x00000003, 0x402C4420, + 0xADC07002, 0xAE605B02, 0x00000002, 0x402C4420, 0xADC07B02, 0x00000002, + 0x402C4620, 0xAE603202, 0x00000003, 0x402C4620, 0xAE603202, 0xAE605202, + 0x00000002, 0x402C4620, 0xAE603C02, 0x00000002, 0x402C4620, 0xAE604102, + 0x00000003, 0x402C4620, 0xAE604102, 0xAE605202, 0x00000002, 0x402C4620, + 0xAE605202, 0x00000002, 0x402C4620, 0xACA05602, 0x00000002, 0x402C4620, + 0xADC07002, 0x00000003, 0x402C4620, 0xADC07002, 0xAE605202, 0x00000002, + 0x402C4620, 0xADC07702, 0x00000002, 0x402C4820, 0xAE604102, 0x00000002, + 0x402C4820, 0xAE605202, 0x00000002, 0x402C4820, 0xACA05602, 0x00000002, + 0x402C4820, 0xADC07002, 0x00000002, 0x402C4820, + // Block 198, offset 0x3180 + 0xADC07702, 0x00000002, 0x402C4820, 0xADC07802, 0x00000002, 0x402C4820, + 0xADC07B02, 0x00000002, 0x402C4A20, 0xAE603202, 0x00000002, 0x402C4A20, + 0xAE603502, 0x00000002, 0x402C4A20, 0xAE603702, 0x00000002, 0x402C4A20, + 0xAE603C02, 0x00000002, 0x402C4A20, 0xAE604102, 0x00000002, 0x402C4A20, + 0xAE604302, 0x00000002, 0x402C4A20, 0xAE604702, 0x00000003, 0x402C4A20, + 0xAE604702, 0xAE603202, 0x00000003, 0x402C4A20, 0xAE604702, 0xAE603502, + 0x00000003, 0x402C4A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C4A20, + 0xAE604702, 0xAE605B02, 0x00000002, 0x402C4A20, 0xAE604D02, 0x00000002, + 0x402C4A20, 0xAE604E02, 0x00000003, 0x402C4A20, 0xAE604E02, 0xAE603202, + 0x00000002, 0x402C4A20, 0xACA05902, 0x00000002, 0x402C4A20, 0xAE605B02, + 0x00000003, 0x402C4A20, 0xAE605B02, 0xAE604702, + // Block 199, offset 0x31c0 + 0x00000002, 0x402C4A20, 0xAE606402, 0x00000002, 0x402C4A20, 0xAE606502, + 0x00000002, 0x402C4A20, 0xAE606702, 0x00000002, 0x402C4A20, 0xAD806802, + 0x00000003, 0x402C4A20, 0xAD806802, 0xAE603202, 0x00000003, 0x402C4A20, + 0xAD806802, 0xAE603502, 0x00000003, 0x402C4A20, 0xAD806802, 0xAE604E02, + 0x00000003, 0x402C4A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C4A20, + 0xAD806802, 0xADC07002, 0x00000002, 0x402C4A20, 0xADC07002, 0x00000002, + 0x402C4A20, 0xADC07502, 0x00000002, 0x402C4A20, 0xADC07802, 0x00000002, + 0x402C4A20, 0xADC07A02, 0x00000002, 0x402C4C20, 0xAE604E02, 0x00000002, + 0x402C4C20, 0xADC07002, 0x00000002, 0x402C4E20, 0xAE603202, 0x00000002, + 0x402C4E20, 0xAE603502, 0x00000002, 0x402C4E20, 0xAE603C02, 0x00000002, + 0x402C4E20, 0xAE604702, 0x00000002, 0x402C4E20, + // Block 200, offset 0x3200 + 0xAE605202, 0x00000002, 0x402C4E20, 0xADC07002, 0x00000002, 0x402C5020, + 0xAE604702, 0x00000002, 0x402C5020, 0xAE605202, 0x00000002, 0x402C5220, + 0xAE603202, 0x00000002, 0x402C5220, 0xAE603502, 0x00000002, 0x402C5220, + 0xAE603C02, 0x00000002, 0x402C5220, 0xAE604702, 0x00000002, 0x402C5220, + 0xAE604E02, 0x00000002, 0x402C5220, 0xAE605202, 0x00000002, 0x402C5220, + 0xAE605B02, 0x00000002, 0x402C5220, 0xAE606402, 0x00000002, 0x402C5220, + 0xADC07002, 0x00000002, 0x402C5420, 0xAE603202, 0x00000002, 0x402C5420, + 0xAE603C02, 0x00000002, 0x402C5420, 0xAE604102, 0x00000002, 0x402C5420, + 0xAE605202, 0x00000002, 0x402C5420, 0xADC07002, 0x00000002, 0x402C5420, + 0xADC07B02, 0x00000002, 0x402C6220, 0xAE603202, 0x00000002, 0x402C6220, + 0xAE603502, 0x00000002, 0x402C6220, 0xAE603702, + // Block 201, offset 0x3240 + 0x00000003, 0x402C6220, 0xAE603702, 0xAE603202, 0x00000003, 0x402C6220, + 0xAE603702, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603702, 0xAE604E02, + 0x00000003, 0x402C6220, 0xAE603702, 0xAE606402, 0x00000002, 0x402C6220, + 0xAE603C02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE603202, 0x00000003, + 0x402C6220, 0xAE603C02, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603C02, + 0xAE604E02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE606402, 0x00000002, + 0x402C6220, 0xAE604102, 0x00000002, 0x402C6220, 0xAE604302, 0x00000003, + 0x402C6220, 0xAE604302, 0xAE603202, 0x00000002, 0x402C6220, 0xAE604702, + 0x00000003, 0x402C6220, 0xAE604702, 0xAE605B02, 0x00000002, 0x402C6220, + 0xAE604E02, 0x00000002, 0x402C6220, 0xAE605202, 0x00000003, 0x402C6220, + 0xAE605202, 0xAE605B02, 0x00000002, 0x402C6220, + // Block 202, offset 0x3280 + 0xACA05902, 0x00000002, 0x402C6220, 0xAE605B02, 0x00000002, 0x402C6220, + 0xAE606402, 0x00000002, 0x402C6220, 0xAE606502, 0x00000002, 0x402C6220, + 0xAE606702, 0x00000002, 0x402C6220, 0xADC07002, 0x00000003, 0x402C6220, + 0xADC07002, 0xAE603702, 0x00000003, 0x402C6220, 0xADC07002, 0xAE603C02, + 0x00000002, 0x402C6220, 0xADC07602, 0x00000002, 0x002C629C, 0x002BDE9C, + 0x00000002, 0x002C629C, 0x002C0A9D, 0x00000002, 0x002C629D, 0x002DCC9D, + 0x00000002, 0x002C629C, 0x002E229C, 0x00000002, 0x002C629C, 0x002E829C, + 0x00000002, 0x002C6284, 0x00312A84, 0x00000002, 0x002C628A, 0x00312A84, + 0x00000002, 0x002C628A, 0x00312A8A, 0x00000002, 0x402C6420, 0xAE605202, + 0x00000002, 0x402C6420, 0xADC07002, 0x00000002, 0x402C6420, 0xADC07B02, + 0x00000002, 0x402C6620, 0xAE603202, 0x00000002, + // Block 203, offset 0x32c0 + 0x402C6620, 0xAE603C02, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002, + 0x402C6620, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000003, + 0x402C6620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C6820, 0xAE604102, + 0x00000002, 0x402C6820, 0xAE605202, 0x00000002, 0x402C6820, 0xACA05602, + 0x00000002, 0x402C6820, 0xADC07002, 0x00000002, 0x402C6820, 0xADC07802, + 0x00000002, 0x402C6820, 0xADC07B02, 0x00000002, 0x402C6A20, 0xAE603202, + 0x00000002, 0x402C6A20, 0xAE603502, 0x00000002, 0x402C6A20, 0xAE603702, + 0x00000002, 0x402C6A20, 0xAE603C02, 0x00000003, 0x402C6A20, 0xAE603C02, + 0xAE603202, 0x00000003, 0x402C6A20, 0xAE603C02, 0xAE603502, 0x00000003, + 0x402C6A20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C6A20, 0xAE603C02, + 0xAE606402, 0x00000002, 0x402C6A20, 0xAE604102, + // Block 204, offset 0x3300 + 0x00000002, 0x402C6A20, 0xAE604702, 0x00000002, 0x402C6A20, 0xAE604E02, + 0x00000002, 0x402C6A20, 0xAE605202, 0x00000002, 0x402C6A20, 0xACA05602, + 0x00000003, 0x402C6A20, 0xACA05602, 0xAE603702, 0x00000002, 0x402C6A20, + 0xACA05902, 0x00000002, 0x402C6A20, 0xAE605B02, 0x00000003, 0x402C6A20, + 0xAE605B02, 0xAE603202, 0x00000003, 0x402C6A20, 0xAE605B02, 0xAE603502, + 0x00000002, 0x402C6A20, 0xAE606402, 0x00000002, 0x402C6A20, 0xAE606502, + 0x00000002, 0x402C6A20, 0xAE606702, 0x00000002, 0x402C6A20, 0xADC07002, + 0x00000003, 0x402C6A20, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C6A20, + 0xADC07802, 0x00000002, 0x402C6A20, 0xADC07A02, 0x00000002, 0x402C6C20, + 0xAE605202, 0x00000002, 0x402C6E20, 0xAE603202, 0x00000002, 0x402C6E20, + 0xAE603702, 0x00000002, 0x402C6E20, 0xAE603C02, + // Block 205, offset 0x3340 + 0x00000002, 0x402C6E20, 0xAE604102, 0x00000002, 0x402C6E20, 0xAE605202, + 0x00000002, 0x402C6E20, 0xACA05602, 0x00000002, 0x402C6E20, 0xAE605B02, + 0x00000002, 0x402C7020, 0xAE603C02, 0x00000002, 0x402C7020, 0xAE604102, + 0x00000002, 0x402C7020, 0xAE604702, 0x00000002, 0x402C7020, 0xAE605202, + 0x00000002, 0x402C7020, 0xACA05602, 0x00000002, 0x402C7020, 0xADC07002, + 0x00000002, 0x402C7020, 0xADC07902, 0x00000002, 0x402C7020, 0xADC07B02, + 0x00000002, 0x402C7220, 0xAE603202, 0x00000002, 0x402C7220, 0xAE603502, + 0x00000002, 0x402C7220, 0xAE603702, 0x00000002, 0x402C7220, 0xAE603C02, + 0x00000002, 0x402C7220, 0xAE604102, 0x00000002, 0x402C7220, 0xAE604702, + 0x00000003, 0x402C7220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C7220, + 0xAE604E02, 0x00000002, 0x402C7220, 0xACA05902, + // Block 206, offset 0x3380 + 0x00000002, 0x402C7220, 0xAE605B02, 0x00000002, 0x402C7220, 0xAE606402, + 0x00000002, 0x402C7220, 0xAE606502, 0x00000002, 0x402C7220, 0xAE606702, + 0x00000002, 0x402C7220, 0xADC07002, 0x00000002, 0x402C7220, 0xADC07A02, + 0x00000002, 0x402C7420, 0xAE603C02, 0x00000002, 0x402C7420, 0xAE604102, + 0x00000002, 0x402C7620, 0xAE603202, 0x00000002, 0x402C7620, 0xAE604102, + 0x00000002, 0x402C7620, 0xACA05602, 0x00000002, 0x402C7620, 0xADC07002, + 0x00000002, 0x402C7620, 0xADC07B02, 0x00000002, 0x402C7820, 0xAE603202, + 0x00000002, 0x402C7820, 0xAE604102, 0x00000002, 0x402C7820, 0xACA05602, + 0x00000002, 0x402C7820, 0xADC07002, 0x00000003, 0x402C7820, 0xADC07002, + 0xAE605B02, 0x00000002, 0x402C7820, 0xADC07802, 0x00000002, 0x402C7820, + 0xADC07B02, 0x00000002, 0x402C7A20, 0xAE603202, + // Block 207, offset 0x33c0 + 0x00000002, 0x402C7A20, 0xAE605202, 0x00000002, 0x402C7A20, 0xADC07002, + 0x00000002, 0x402C7C20, 0xAE603202, 0x00000002, 0x402C7C20, 0xAE603502, + 0x00000002, 0x402C7C20, 0xAE604102, 0x00000002, 0x402C7C20, 0xAE604E02, + 0x00000002, 0x402C7C20, 0xAE605202, 0x00000002, 0x402C7C20, 0xACA05602, + 0x00000002, 0x402C7C20, 0xADC07002, 0x00000002, 0x402C7C20, 0xADC07802, + 0x00000002, 0x402C7C20, 0xADC07B02, 0x00000002, 0x402C7E20, 0xAE603202, + 0x00000002, 0x402C7E20, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE603702, + 0x00000002, 0x402C7E20, 0xAE603C02, 0x00000003, 0x402C7E20, 0xAE603C02, + 0xAE603202, 0x00000003, 0x402C7E20, 0xAE603C02, 0xAE603502, 0x00000003, + 0x402C7E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C7E20, 0xAE603C02, + 0xAE606402, 0x00000002, 0x402C7E20, 0xAE604102, + // Block 208, offset 0x3400 + 0x00000002, 0x402C7E20, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604702, + 0xAE605B02, 0x00000002, 0x402C7E20, 0xAE604D02, 0x00000002, 0x402C7E20, + 0xAE604E02, 0x00000003, 0x402C7E20, 0xAE604E02, 0xAE603202, 0x00000003, + 0x402C7E20, 0xAE604E02, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604E02, + 0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605202, 0x00000003, 0x402C7E20, + 0xAE605202, 0xAE605B02, 0x00000002, 0x402C7E20, 0xACA05902, 0x00000003, + 0x402C7E20, 0xACA05902, 0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605B02, + 0x00000003, 0x402C7E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C7E20, + 0xAE605B02, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE606402, 0x00000002, + 0x402C7E20, 0xAE606502, 0x00000002, 0x402C7E20, 0xAE606702, 0x00000002, + 0x402C7E20, 0xAD806802, 0x00000003, 0x402C7E20, + // Block 209, offset 0x3440 + 0xAD806802, 0xAE603202, 0x00000003, 0x402C7E20, 0xAD806802, 0xAE603502, + 0x00000003, 0x402C7E20, 0xAD806802, 0xAE604E02, 0x00000003, 0x402C7E20, + 0xAD806802, 0xAE606402, 0x00000003, 0x402C7E20, 0xAD806802, 0xADC07002, + 0x00000002, 0x402C7E20, 0xADC07002, 0x00000003, 0x402C7E20, 0xADC07002, + 0xAE603C02, 0x00000002, 0x402C8020, 0xAE603202, 0x00000002, 0x402C8020, + 0xAE605202, 0x00000002, 0x402C8420, 0xAE603202, 0x00000002, 0x402C8420, + 0xAE604102, 0x00000002, 0x402C8420, 0xAE605202, 0x00000002, 0x402C8420, + 0xACA05602, 0x00000002, 0x402C8420, 0xAE606502, 0x00000002, 0x402C8420, + 0xAE606702, 0x00000002, 0x402C8420, 0xADC07002, 0x00000003, 0x402C8420, + 0xADC07002, 0xAE605B02, 0x00000002, 0x402C8420, 0xADC07B02, 0x00000002, + 0x402C8620, 0xAE603202, 0x00000003, 0x402C8620, + // Block 210, offset 0x3480 + 0xAE603202, 0xAE605202, 0x00000002, 0x402C8620, 0xAE603C02, 0x00000002, + 0x402C8620, 0xAE604102, 0x00000003, 0x402C8620, 0xAE604102, 0xAE605202, + 0x00000002, 0x402C8620, 0xAE605202, 0x00000002, 0x402C8620, 0xACA05602, + 0x00000002, 0x402C8620, 0xADC07002, 0x00000003, 0x402C8620, 0xADC07002, + 0xAE605202, 0x00000002, 0x402C8620, 0xADC07702, 0x00000002, 0x402C8820, + 0xAE604102, 0x00000002, 0x402C8820, 0xAE604702, 0x00000002, 0x402C8820, + 0xAE605202, 0x00000002, 0x402C8820, 0xACA05602, 0x00000002, 0x402C8820, + 0xADC07002, 0x00000002, 0x402C8820, 0xADC07702, 0x00000002, 0x402C8820, + 0xADC07802, 0x00000002, 0x402C8820, 0xADC07B02, 0x00000002, 0x402C8A20, + 0xAE603202, 0x00000002, 0x402C8A20, 0xAE603502, 0x00000002, 0x402C8A20, + 0xAE603702, 0x00000002, 0x402C8A20, 0xAE603C02, + // Block 211, offset 0x34c0 + 0x00000002, 0x402C8A20, 0xAE604102, 0x00000002, 0x402C8A20, 0xAE604302, + 0x00000002, 0x402C8A20, 0xAE604702, 0x00000003, 0x402C8A20, 0xAE604702, + 0xAE603202, 0x00000003, 0x402C8A20, 0xAE604702, 0xAE603502, 0x00000003, + 0x402C8A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C8A20, 0xAE604702, + 0xAE605B02, 0x00000002, 0x402C8A20, 0xAE604D02, 0x00000002, 0x402C8A20, + 0xAE604E02, 0x00000003, 0x402C8A20, 0xAE604E02, 0xAE603202, 0x00000002, + 0x402C8A20, 0xACA05902, 0x00000002, 0x402C8A20, 0xAE605B02, 0x00000003, + 0x402C8A20, 0xAE605B02, 0xAE604702, 0x00000002, 0x402C8A20, 0xAE606402, + 0x00000002, 0x402C8A20, 0xAE606502, 0x00000002, 0x402C8A20, 0xAE606702, + 0x00000002, 0x402C8A20, 0xAD806802, 0x00000003, 0x402C8A20, 0xAD806802, + 0xAE603202, 0x00000003, 0x402C8A20, 0xAD806802, + // Block 212, offset 0x3500 + 0xAE603502, 0x00000003, 0x402C8A20, 0xAD806802, 0xAE604E02, 0x00000003, + 0x402C8A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C8A20, 0xAD806802, + 0xADC07002, 0x00000002, 0x402C8A20, 0xADC07002, 0x00000002, 0x402C8A20, + 0xADC07502, 0x00000002, 0x402C8A20, 0xADC07802, 0x00000002, 0x402C8A20, + 0xADC07A02, 0x00000002, 0x402C8C20, 0xAE604E02, 0x00000002, 0x402C8C20, + 0xADC07002, 0x00000002, 0x402C8E20, 0xAE603202, 0x00000002, 0x402C8E20, + 0xAE603502, 0x00000002, 0x402C8E20, 0xAE603C02, 0x00000002, 0x402C8E20, + 0xAE604302, 0x00000002, 0x402C8E20, 0xAE604702, 0x00000002, 0x402C8E20, + 0xAE605202, 0x00000002, 0x402C8E20, 0xADC07002, 0x00000002, 0x402C9020, + 0xAE604702, 0x00000002, 0x402C9020, 0xAE605202, 0x00000002, 0x402C9220, + 0xAE603202, 0x00000002, 0x402C9220, 0xAE603502, + // Block 213, offset 0x3540 + 0x00000002, 0x402C9220, 0xAE603C02, 0x00000002, 0x402C9220, 0xAE604302, + 0x00000002, 0x402C9220, 0xAE604702, 0x00000002, 0x402C9220, 0xAE604E02, + 0x00000002, 0x402C9220, 0xAE605202, 0x00000002, 0x402C9220, 0xAE605B02, + 0x00000002, 0x402C9220, 0xAE606402, 0x00000002, 0x402C9220, 0xADC07002, + 0x00000002, 0x402C9420, 0xAE603202, 0x00000002, 0x402C9420, 0xAE603C02, + 0x00000002, 0x402C9420, 0xAE604102, 0x00000002, 0x402C9420, 0xAE605202, + 0x00000002, 0x402C9420, 0xADC07002, 0x00000002, 0x402C9420, 0xADC07B02, + 0x00000002, 0x002D0884, 0x002D0884, 0x00000002, 0x002D0884, 0x002E2284, + 0x00000002, 0x002D089C, 0x002E829C, 0x00000002, 0x002D229D, 0x002C0A9D, + 0x00000002, 0x002D229D, 0x0031009C, 0x00000002, 0x002E2284, 0x002DCC84, + 0x00000002, 0x002E228A, 0x002DCC84, 0x00000002, + // Block 214, offset 0x3580 + 0x002E228A, 0x002DCC8A, 0x00000002, 0x002E229C, 0x002E829C, 0x00000002, + 0x002E229C, 0x002E9E9C, 0x00000002, 0x002E829C, 0x0029D09C, 0x00000002, + 0x002E829C, 0x0029D29C, 0x00000002, 0x002E829C, 0x002BDE9D, 0x00000002, + 0x002E829C, 0x002C0A9C, 0x00000002, 0x002E829D, 0x002C0A9D, 0x00000002, + 0x002E8294, 0x002C3A94, 0x00000002, 0x002E8294, 0x002C6294, 0x00000002, + 0x002E829C, 0x002D229C, 0x00000002, 0x002E829C, 0x002E229C, 0x00000002, + 0x002E829C, 0x002E829C, 0x00000002, 0x002E829C, 0x0030BE9D, 0x00000002, + 0x002E829D, 0x0030BE9D, 0x00000002, 0x002E829D, 0x0030BE9D, 0x00000002, + 0x002E829C, 0x0030E29D, 0x00000002, 0x002E829D, 0x0030E29D, 0x00000002, + 0x002E829D, 0x0032A29D, 0x00000002, 0x002E9E9C, 0x002BDE9D, 0x00000002, + 0x002E9E9C, 0x002D089D, 0x00000002, 0x002E9E84, + // Block 215, offset 0x35c0 + 0x002DCC84, 0x00000002, 0x002E9E8A, 0x002DCC84, 0x00000002, 0x002E9E8A, + 0x002DCC8A, 0x00000002, 0x002E9E9C, 0x002E829C, 0x00000002, 0x002E9E9C, + 0x0030BE9D, 0x00000002, 0x002E9E9C, 0x0030E29D, 0x00000002, 0x002F2C9C, + 0x002BDE9D, 0x00000002, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x002F2C9C, + 0x002C3A9C, 0x00000002, 0x002F2C9C, 0x002D089D, 0x00000002, 0x002F2C9C, + 0x0030BE9D, 0x00000002, 0x002F2C9C, 0x0030E29D, 0x00000002, 0x0030E29D, + 0x002C0A9C, 0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x0030E28C, + 0x00312A8C, 0x00000002, 0x0031DE84, 0x002E9E84, 0x00000002, 0x0032769C, + 0x002BDE9D, 0x00000002, 0x0032769C, 0x002D089D, 0x00000002, 0x0032769C, + 0x002D229C, 0x00000002, 0x0032769C, 0x002E229C, 0x00000002, 0x0032769C, + 0x002E829C, 0x00000002, 0x0032769C, 0x0030BE9D, + // Block 216, offset 0x3600 + 0x00000002, 0x0032769C, 0x0030E29D, 0x00000002, 0x40302620, 0xAE605202, + 0x00000002, 0x00302683, 0xAE605202, 0x00000002, 0x40302820, 0xAE603202, + 0x00000002, 0x00302883, 0xAE603202, 0x00000002, 0x40302820, 0xAE603C02, + 0x00000002, 0x00302883, 0xAE603C02, 0x00000002, 0x40302820, 0xAE605202, + 0x00000002, 0x00302883, 0xAE605202, 0x00000002, 0x40302820, 0xADC07002, + 0x00000002, 0x00302883, 0xADC07002, 0x00000002, 0x40302820, 0xADC07B02, + 0x00000002, 0x00302883, 0xADC07B02, 0x00000002, 0x4030BE21, 0xAE603202, + 0x00000002, 0x0030BEA3, 0xAE603202, 0x00000002, 0x4030BE21, 0xAE603502, + 0x00000002, 0x0030BEA3, 0xAE603502, 0x00000002, 0x4030BE21, 0xAE603C02, + 0x00000002, 0x0030BEA3, 0xAE603C02, 0x00000002, 0x4030BE21, 0xAE604302, + 0x00000002, 0x4030BE21, 0xAE604702, 0x00000002, + // Block 217, offset 0x3640 + 0x0030BEA3, 0xAE604702, 0x00000002, 0x4030BE21, 0xAE605202, 0x00000002, + 0x0030BEA3, 0xAE605202, 0x00000002, 0x4030BE21, 0xADC07002, 0x00000002, + 0x0030BEA3, 0xADC07002, 0x00000002, 0x4030EE20, 0xAE603202, 0x00000002, + 0x0030EE83, 0xAE603202, 0x00000002, 0x4030EE20, 0xAE603C02, 0x00000002, + 0x0030EE83, 0xAE603C02, 0x00000002, 0x4030EE20, 0xAE604702, 0x00000002, + 0x0030EE83, 0xAE604702, 0x00000002, 0x4030EE20, 0xAE605B02, 0x00000002, + 0x0030EE83, 0xAE605B02, 0x00000002, 0x4030EE20, 0xAD806802, 0x00000002, + 0x0030EE83, 0xAD806802, 0x00000002, 0x4030F020, 0xAE605B02, 0x00000002, + 0x0030F083, 0xAE605B02, 0x00000002, 0x4030F220, 0xAE605B02, 0x00000002, + 0x0030F283, 0xAE605B02, 0x00000002, 0x4030F420, 0xAE603202, 0x00000002, + 0x0030F483, 0xAE603202, 0x00000002, 0x4030F420, + // Block 218, offset 0x3680 + 0xAE603502, 0x00000002, 0x0030F483, 0xAE603502, 0x00000002, 0x4030F420, + 0xAE604102, 0x00000002, 0x0030F483, 0xAE604102, 0x00000002, 0x4030F420, + 0xAE605B02, 0x00000002, 0x0030F483, 0xAE605B02, 0x00000002, 0xA000B218, + 0xA000BA18, 0x00000002, 0xA000B618, 0xA000BA18, 0x00000002, 0x00393899, + 0xA000A219, 0x00000002, 0x0039389A, 0xA000A21A, 0x00000002, 0x00393C97, + 0x003A6897, 0x00000002, 0x00393C98, 0x003A6898, 0x00000002, 0x00393C99, + 0x003A9099, 0x00000002, 0x00393C9A, 0x003A909A, 0x00000002, 0x00395697, + 0x003A6897, 0x00000002, 0x00395698, 0x003A6898, 0x00000002, 0x00395699, + 0x003A9099, 0x00000002, 0x0039569A, 0x003A909A, 0x00000002, 0x00395898, + 0x003A6898, 0x00000002, 0x00395899, 0x003A9099, 0x00000002, 0x0039589A, + 0x003A909A, 0x00000002, 0x00396499, 0x003A9099, + // Block 219, offset 0x36c0 + 0x00000002, 0x0039649A, 0x003A909A, 0x00000002, 0x00397299, 0x003A9099, + 0x00000002, 0x0039729A, 0x003A909A, 0x00000002, 0x00397499, 0x003A9099, + 0x00000002, 0x0039749A, 0x003A909A, 0x00000002, 0x0039C697, 0x003A6897, + 0x00000002, 0x0039C698, 0x003A6898, 0x00000002, 0x0039C699, 0x003A9099, + 0x00000002, 0x0039C69A, 0x003A909A, 0x00000002, 0x0039C897, 0x003A6897, + 0x00000002, 0x0039C898, 0x003A6898, 0x00000002, 0x0039C899, 0x003A9099, + 0x00000002, 0x0039C89A, 0x003A909A, 0x00000002, 0x0039DC99, 0x003A9099, + 0x00000002, 0x0039DC9A, 0x003A909A, 0x00000002, 0x0039DE99, 0x003A9099, + 0x00000002, 0x0039DE9A, 0x003A909A, 0x00000002, 0x0039E699, 0x003A9099, + 0x00000002, 0x0039E69A, 0x003A909A, 0x00000002, 0x0039EE99, 0x003A9099, + 0x00000002, 0x0039EE9A, 0x003A909A, 0x00000002, + // Block 220, offset 0x3700 + 0x0039F099, 0x003A9099, 0x00000002, 0x0039F09A, 0x003A909A, 0x00000002, + 0x0039FC99, 0x003A9099, 0x00000002, 0x0039FC9A, 0x003A909A, 0x00000002, + 0x003A1299, 0x003A9099, 0x00000002, 0x003A129A, 0x003A909A, 0x00000002, + 0x003A1A99, 0x00393899, 0x00000002, 0x003A1A9A, 0x0039389A, 0x00000002, + 0x003A1A97, 0x00396497, 0x00000002, 0x003A1A9A, 0x0039649A, 0x00000002, + 0x003A1A97, 0x00397297, 0x00000002, 0x003A1A9A, 0x0039729A, 0x00000002, + 0x003A1A97, 0x00397497, 0x00000002, 0x003A1A9A, 0x0039749A, 0x00000002, + 0x003A1A97, 0x003A4097, 0x00000002, 0x003A1A98, 0x003A4098, 0x00000002, + 0x003A1A99, 0x003A4099, 0x00000002, 0x003A1A9A, 0x003A409A, 0x00000002, + 0x003A1A97, 0x003A4E97, 0x00000002, 0x003A1A98, 0x003A4E98, 0x00000002, + 0x003A1A99, 0x003A4E99, 0x00000002, 0x003A1A9A, + // Block 221, offset 0x3740 + 0x003A4E9A, 0x00000002, 0x003A1A99, 0x003A9099, 0x00000002, 0x003A1A9A, + 0x003A909A, 0x00000002, 0x003A4097, 0x003A6897, 0x00000002, 0x003A4099, + 0x003A9099, 0x00000002, 0x003A409A, 0x003A909A, 0x00000002, 0x003A4E9A, + 0x003A909A, 0x00000002, 0x003A5697, 0x003A6897, 0x00000002, 0x003A5698, + 0x003A6898, 0x00000002, 0x003A5699, 0x003A9099, 0x00000002, 0x003A569A, + 0x003A909A, 0x00000002, 0x003A6897, 0xA000D117, 0x00000002, 0x003A6897, + 0x00396497, 0x00000002, 0x003A689A, 0x0039649A, 0x00000002, 0x003A6897, + 0x003A4E97, 0x00000002, 0x003A689A, 0x003A4E9A, 0x00000002, 0x003A689A, + 0x003A909A, 0x00000002, 0x003A7299, 0xA000BE19, 0x00000002, 0x003A729A, + 0xA000BE1A, 0x00000002, 0x403A8822, 0xAE60BE02, 0x00000002, 0x003A8E99, + 0xA000D119, 0x00000002, 0x003A8E9A, 0xA000D11A, + // Block 222, offset 0x3780 + 0x00000002, 0x003A9084, 0x00391C84, 0x00000002, 0x003A9097, 0x00396497, + 0x00000002, 0x003A909A, 0x0039649A, 0x00000002, 0x003A9097, 0x00397297, + 0x00000002, 0x003A909A, 0x0039729A, 0x00000002, 0x003A9097, 0x00397497, + 0x00000002, 0x003A909A, 0x0039749A, 0x00000002, 0x003A9099, 0x0039A499, + 0x00000002, 0x003A9099, 0x0039A699, 0x00000002, 0x003A9097, 0x003A4E97, + 0x00000002, 0x003A9098, 0x003A4E98, 0x00000002, 0x003A9099, 0x003A4E99, + 0x00000002, 0x003A909A, 0x003A4E9A, 0x00000002, 0x003A9099, 0x003A5699, + 0x00000002, 0x003A9097, 0x003A6897, 0x00000002, 0x003A9098, 0x003A6898, + 0x00000002, 0x003A9099, 0x003A9099, 0x00000002, 0x003A909A, 0x003A909A, + 0x00000002, 0x403A9222, 0xAE60BE02, 0x00000002, 0x003AAA99, 0xA000BE19, + 0x00000002, 0x003AAA9A, 0xA000BE1A, 0x00000002, + // Block 223, offset 0x37c0 + 0x402C6221, 0x40021220, 0x00000002, 0x002C62A3, 0x40021220, 0x00000002, + 0x402D2221, 0x40021220, 0x00000002, 0x002D22A3, 0x40021220, 0x00000002, + 0x402E9E21, 0x40021220, 0x00000002, 0x002E9EA3, 0x40021220, 0x00000002, + 0x40302C21, 0x40021220, 0x00000002, 0x00302CA3, 0x40021220, 0x00000002, + 0x40312A21, 0x40021220, 0x00000002, 0x00312AA3, 0x40021220, 0x00000003, + 0x40312A21, 0x40021220, 0xAE604102, 0x00000003, 0x00312AA3, 0x40021220, + 0xAE604102, 0x00000002, 0x40320E20, 0xAE605B02, 0x00000002, 0x00320E83, + 0xAE605B02, 0x00000002, 0x40320E21, 0xAE603202, 0x00000002, 0x00320EA3, + 0xAE603202, 0x00000002, 0x40321020, 0xAE604E02, 0x00000002, 0x00321083, + 0xAE604E02, 0x00000002, 0x40321020, 0xAE605B02, 0x00000002, 0x00321083, + 0xAE605B02, 0x00000002, 0x40321021, 0xAE603202, + // Block 224, offset 0x3800 + 0x00000002, 0x003210A3, 0xAE603202, 0x00000002, 0x40302C21, 0x402D6820, + 0x00000002, 0x00302CA3, 0x402D6820, 0x00000002, 0x40321023, 0xAE603202, + 0x00000002, 0x003210E3, 0xAE603202, 0x00000002, 0x40321023, 0xAE603C02, + 0x00000002, 0x003210E3, 0xAE603C02, 0x00000002, 0x40321023, 0xAE604702, + 0x00000002, 0x003210E3, 0xAE604702, 0x00000002, 0x40321023, 0xAE605B02, + 0x00000002, 0x003210E3, 0xAE605B02, 0x00000002, 0x40321023, 0xAD806802, + 0x00000002, 0x003210E3, 0xAD806802, 0x00000002, 0x002BDE83, 0xAE603202, + 0x00000002, 0x002BDE83, 0xAE603502, 0x00000002, 0x002BDE83, 0xAE603702, + 0x00000003, 0x002BDE83, 0xAE603702, 0xAE603202, 0x00000003, 0x002BDE83, + 0xAE603702, 0xAE603502, 0x00000003, 0x002BDE83, 0xAE603702, 0xAE604E02, + 0x00000003, 0x002BDE83, 0xAE603702, 0xAE606402, + // Block 225, offset 0x3840 + 0x00000002, 0x002BDE83, 0xAE603C02, 0x00000003, 0x002BDE83, 0xAE603C02, + 0xAE603202, 0x00000003, 0x002BDE83, 0xAE603C02, 0xAE603502, 0x00000003, + 0x002BDE83, 0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE83, 0xAE603C02, + 0xAE606402, 0x00000002, 0x002BDE83, 0xAE604102, 0x00000002, 0x002BDE83, + 0xAE604302, 0x00000003, 0x002BDE83, 0xAE604302, 0xAE603202, 0x00000002, + 0x002BDE83, 0xAE604702, 0x00000003, 0x002BDE83, 0xAE604702, 0xAE605B02, + 0x00000002, 0x002BDE83, 0xAE604E02, 0x00000002, 0x002BDE83, 0xAE605202, + 0x00000003, 0x002BDE83, 0xAE605202, 0xAE605B02, 0x00000002, 0x002BDE83, + 0xACA05902, 0x00000002, 0x002BDE83, 0xAE605B02, 0x00000002, 0x002BDE83, + 0xAE606402, 0x00000002, 0x002BDE83, 0xAE606502, 0x00000002, 0x002BDE83, + 0xAE606702, 0x00000002, 0x002BDE83, 0xADC07002, + // Block 226, offset 0x3880 + 0x00000003, 0x002BDE83, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE83, + 0xADC07002, 0xAE603C02, 0x00000002, 0x002BDE83, 0xADC07602, 0x00000002, + 0x402BE020, 0xAE603202, 0x00000002, 0x002BE083, 0xAE603202, 0x00000002, + 0x402BE020, 0xAE603502, 0x00000002, 0x002BE083, 0xAE603502, 0x00000002, + 0x402BE020, 0xAE603702, 0x00000002, 0x002BE083, 0xAE603702, 0x00000002, + 0x402BE020, 0xAE603C02, 0x00000002, 0x002BE083, 0xAE603C02, 0x00000003, + 0x402BE020, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE603C02, + 0xAE603202, 0x00000003, 0x402BE020, 0xAE603C02, 0xAE603502, 0x00000003, + 0x002BE083, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BE020, 0xAE603C02, + 0xAE604E02, 0x00000003, 0x002BE083, 0xAE603C02, 0xAE604E02, 0x00000003, + 0x402BE020, 0xAE603C02, 0xAE606402, 0x00000003, + // Block 227, offset 0x38c0 + 0x002BE083, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BE020, 0xAE604102, + 0x00000002, 0x002BE083, 0xAE604102, 0x00000002, 0x402BE020, 0xAE604702, + 0x00000002, 0x002BE083, 0xAE604702, 0x00000002, 0x402BE020, 0xAE604E02, + 0x00000002, 0x002BE083, 0xAE604E02, 0x00000002, 0x402BE020, 0xAE605202, + 0x00000002, 0x002BE083, 0xAE605202, 0x00000002, 0x402BE020, 0xACA05602, + 0x00000002, 0x002BE083, 0xACA05602, 0x00000003, 0x402BE020, 0xACA05602, + 0xAE603702, 0x00000003, 0x002BE083, 0xACA05602, 0xAE603702, 0x00000002, + 0x402BE020, 0xACA05902, 0x00000002, 0x002BE083, 0xACA05902, 0x00000002, + 0x402BE020, 0xAE605B02, 0x00000002, 0x002BE083, 0xAE605B02, 0x00000003, + 0x402BE020, 0xAE605B02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE605B02, + 0xAE603202, 0x00000003, 0x402BE020, 0xAE605B02, + // Block 228, offset 0x3900 + 0xAE603502, 0x00000003, 0x002BE083, 0xAE605B02, 0xAE603502, 0x00000002, + 0x402BE020, 0xAE606402, 0x00000002, 0x002BE083, 0xAE606402, 0x00000002, + 0x402BE020, 0xAE606502, 0x00000002, 0x002BE083, 0xAE606502, 0x00000002, + 0x402BE020, 0xAE606702, 0x00000002, 0x002BE083, 0xAE606702, 0x00000002, + 0x402BE020, 0xADC07002, 0x00000002, 0x002BE083, 0xADC07002, 0x00000003, + 0x402BE020, 0xADC07002, 0xAE603C02, 0x00000003, 0x002BE083, 0xADC07002, + 0xAE603C02, 0x00000002, 0x402BE020, 0xADC07802, 0x00000002, 0x002BE083, + 0xADC07802, 0x00000002, 0x402BE020, 0xADC07A02, 0x00000002, 0x002BE083, + 0xADC07A02, 0x00000002, 0x402BE220, 0xAE603202, 0x00000002, 0x002BE283, + 0xAE603202, 0x00000002, 0x402BE220, 0xAE603502, 0x00000002, 0x002BE283, + 0xAE603502, 0x00000002, 0x402BE220, 0xAE603702, + // Block 229, offset 0x3940 + 0x00000002, 0x002BE283, 0xAE603702, 0x00000002, 0x402BE220, 0xAE603C02, + 0x00000002, 0x002BE283, 0xAE603C02, 0x00000002, 0x402BE220, 0xAE604102, + 0x00000002, 0x002BE283, 0xAE604102, 0x00000002, 0x402BE220, 0xAE604702, + 0x00000002, 0x002BE283, 0xAE604702, 0x00000003, 0x402BE220, 0xAE604702, + 0xAE603202, 0x00000003, 0x002BE283, 0xAE604702, 0xAE603202, 0x00000002, + 0x402BE220, 0xAE604E02, 0x00000002, 0x002BE283, 0xAE604E02, 0x00000002, + 0x002BE283, 0xAE605202, 0x00000002, 0x402BE220, 0xACA05902, 0x00000002, + 0x002BE283, 0xACA05902, 0x00000002, 0x402BE220, 0xAE605B02, 0x00000002, + 0x002BE283, 0xAE605B02, 0x00000002, 0x402BE220, 0xAE606402, 0x00000002, + 0x002BE283, 0xAE606402, 0x00000002, 0x402BE220, 0xAE606502, 0x00000002, + 0x002BE283, 0xAE606502, 0x00000002, 0x402BE220, + // Block 230, offset 0x3980 + 0xAE606702, 0x00000002, 0x002BE283, 0xAE606702, 0x00000002, 0x402BE220, + 0xADC07002, 0x00000002, 0x002BE283, 0xADC07002, 0x00000002, 0x402BE220, + 0xADC07A02, 0x00000002, 0x002BE283, 0xADC07A02, 0x00000002, 0x402BE420, + 0xAE603202, 0x00000002, 0x002BE483, 0xAE603202, 0x00000002, 0x402BE420, + 0xAE603502, 0x00000002, 0x002BE483, 0xAE603502, 0x00000002, 0x402BE420, + 0xAE603702, 0x00000002, 0x002BE483, 0xAE603702, 0x00000002, 0x402BE420, + 0xAE603C02, 0x00000002, 0x002BE483, 0xAE603C02, 0x00000003, 0x402BE420, + 0xAE603C02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE603C02, 0xAE603202, + 0x00000003, 0x402BE420, 0xAE603C02, 0xAE603502, 0x00000003, 0x002BE483, + 0xAE603C02, 0xAE603502, 0x00000003, 0x402BE420, 0xAE603C02, 0xAE604E02, + 0x00000003, 0x002BE483, 0xAE603C02, 0xAE604E02, + // Block 231, offset 0x39c0 + 0x00000003, 0x402BE420, 0xAE603C02, 0xAE606402, 0x00000003, 0x002BE483, + 0xAE603C02, 0xAE606402, 0x00000002, 0x402BE420, 0xAE604102, 0x00000002, + 0x002BE483, 0xAE604102, 0x00000002, 0x402BE420, 0xAE604702, 0x00000002, + 0x002BE483, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604702, 0xAE605B02, + 0x00000003, 0x002BE483, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE420, + 0xAE604D02, 0x00000002, 0x002BE483, 0xAE604D02, 0x00000002, 0x402BE420, + 0xAE604E02, 0x00000002, 0x002BE483, 0xAE604E02, 0x00000003, 0x402BE420, + 0xAE604E02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE604E02, 0xAE603202, + 0x00000003, 0x402BE420, 0xAE604E02, 0xAE604702, 0x00000003, 0x002BE483, + 0xAE604E02, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604E02, 0xAE605B02, + 0x00000003, 0x002BE483, 0xAE604E02, 0xAE605B02, + // Block 232, offset 0x3a00 + 0x00000002, 0x402BE420, 0xAE605202, 0x00000002, 0x002BE483, 0xAE605202, + 0x00000003, 0x402BE420, 0xAE605202, 0xAE605B02, 0x00000003, 0x002BE483, + 0xAE605202, 0xAE605B02, 0x00000002, 0x402BE420, 0xACA05902, 0x00000002, + 0x002BE483, 0xACA05902, 0x00000003, 0x402BE420, 0xACA05902, 0xAE605B02, + 0x00000003, 0x002BE483, 0xACA05902, 0xAE605B02, 0x00000002, 0x402BE420, + 0xAE605B02, 0x00000002, 0x002BE483, 0xAE605B02, 0x00000003, 0x402BE420, + 0xAE605B02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE605B02, 0xAE603202, + 0x00000003, 0x402BE420, 0xAE605B02, 0xAE603502, 0x00000003, 0x002BE483, + 0xAE605B02, 0xAE603502, 0x00000002, 0x402BE420, 0xAE606402, 0x00000002, + 0x002BE483, 0xAE606402, 0x00000002, 0x402BE420, 0xAE606502, 0x00000002, + 0x002BE483, 0xAE606502, 0x00000002, 0x402BE420, + // Block 233, offset 0x3a40 + 0xAE606702, 0x00000002, 0x002BE483, 0xAE606702, 0x00000002, 0x402BE420, + 0xAD806802, 0x00000002, 0x002BE483, 0xAD806802, 0x00000003, 0x402BE420, + 0xAD806802, 0xAE603202, 0x00000003, 0x002BE483, 0xAD806802, 0xAE603202, + 0x00000003, 0x402BE420, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE483, + 0xAD806802, 0xAE603502, 0x00000003, 0x402BE420, 0xAD806802, 0xAE604E02, + 0x00000003, 0x002BE483, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE420, + 0xAD806802, 0xAE606402, 0x00000003, 0x002BE483, 0xAD806802, 0xAE606402, + 0x00000003, 0x402BE420, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE483, + 0xAD806802, 0xADC07002, 0x00000002, 0x402BE420, 0xADC07002, 0x00000002, + 0x002BE483, 0xADC07002, 0x00000003, 0x402BE420, 0xADC07002, 0xAE603C02, + 0x00000003, 0x002BE483, 0xADC07002, 0xAE603C02, + // Block 234, offset 0x3a80 + 0x00000002, 0x402BE620, 0xAE603202, 0x00000002, 0x002BE683, 0xAE603202, + 0x00000002, 0x402BE620, 0xAE603502, 0x00000002, 0x002BE683, 0xAE603502, + 0x00000002, 0x402BE620, 0xAE603702, 0x00000002, 0x002BE683, 0xAE603702, + 0x00000002, 0x402BE620, 0xAE603C02, 0x00000002, 0x002BE683, 0xAE603C02, + 0x00000002, 0x402BE620, 0xAE604102, 0x00000002, 0x002BE683, 0xAE604102, + 0x00000002, 0x402BE620, 0xAE604302, 0x00000002, 0x002BE683, 0xAE604302, + 0x00000002, 0x402BE620, 0xAE604702, 0x00000002, 0x002BE683, 0xAE604702, + 0x00000003, 0x402BE620, 0xAE604702, 0xAE603202, 0x00000003, 0x002BE683, + 0xAE604702, 0xAE603202, 0x00000003, 0x402BE620, 0xAE604702, 0xAE603502, + 0x00000003, 0x002BE683, 0xAE604702, 0xAE603502, 0x00000003, 0x402BE620, + 0xAE604702, 0xAE604102, 0x00000003, 0x002BE683, + // Block 235, offset 0x3ac0 + 0xAE604702, 0xAE604102, 0x00000003, 0x402BE620, 0xAE604702, 0xAE605B02, + 0x00000003, 0x002BE683, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE620, + 0xAE604D02, 0x00000002, 0x002BE683, 0xAE604D02, 0x00000002, 0x402BE620, + 0xAE604E02, 0x00000002, 0x002BE683, 0xAE604E02, 0x00000003, 0x402BE620, + 0xAE604E02, 0xAE603202, 0x00000003, 0x002BE683, 0xAE604E02, 0xAE603202, + 0x00000002, 0x402BE620, 0xACA05902, 0x00000002, 0x002BE683, 0xACA05902, + 0x00000002, 0x402BE620, 0xAE605B02, 0x00000002, 0x002BE683, 0xAE605B02, + 0x00000003, 0x402BE620, 0xAE605B02, 0xAE604702, 0x00000003, 0x002BE683, + 0xAE605B02, 0xAE604702, 0x00000002, 0x402BE620, 0xAE606402, 0x00000002, + 0x002BE683, 0xAE606402, 0x00000002, 0x402BE620, 0xAE606502, 0x00000002, + 0x002BE683, 0xAE606502, 0x00000002, 0x402BE620, + // Block 236, offset 0x3b00 + 0xAE606702, 0x00000002, 0x002BE683, 0xAE606702, 0x00000002, 0x402BE620, + 0xAD806802, 0x00000002, 0x002BE683, 0xAD806802, 0x00000003, 0x402BE620, + 0xAD806802, 0xAE603202, 0x00000003, 0x002BE683, 0xAD806802, 0xAE603202, + 0x00000003, 0x402BE620, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE683, + 0xAD806802, 0xAE603502, 0x00000003, 0x402BE620, 0xAD806802, 0xAE604E02, + 0x00000003, 0x002BE683, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE620, + 0xAD806802, 0xAE606402, 0x00000003, 0x002BE683, 0xAD806802, 0xAE606402, + 0x00000003, 0x402BE620, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE683, + 0xAD806802, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07002, 0x00000002, + 0x002BE683, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07502, 0x00000002, + 0x002BE683, 0xADC07502, 0x00000002, 0x402BE620, + // Block 237, offset 0x3b40 + 0xADC07802, 0x00000002, 0x002BE683, 0xADC07802, 0x00000002, 0x402BE620, + 0xADC07A02, 0x00000002, 0x002BE683, 0xADC07A02, 0x00000002, 0x402BE820, + 0xAE603C02, 0x00000002, 0x002BE883, 0xAE603C02, 0x00000002, 0x402BE820, + 0xAE604102, 0x00000002, 0x002BE883, 0xAE604102, 0x00000002, 0x402BE820, + 0xAE604702, 0x00000002, 0x002BE883, 0xAE604702, 0x00000002, 0x402BE820, + 0xAE605202, 0x00000002, 0x002BE883, 0xAE605202, 0x00000002, 0x402BE820, + 0xACA05602, 0x00000002, 0x002BE883, 0xACA05602, 0x00000002, 0x402BE820, + 0xADC07002, 0x00000002, 0x002BE883, 0xADC07002, 0x00000002, 0x402BE820, + 0xADC07902, 0x00000002, 0x002BE883, 0xADC07902, 0x00000002, 0x402BE820, + 0xADC07B02, 0x00000002, 0x402BEA20, 0xAE603202, 0x00000002, 0x002BEA83, + 0xAE603202, 0x00000002, 0x402BEA20, 0xAE604102, + // Block 238, offset 0x3b80 + 0x00000002, 0x002BEA83, 0xAE604102, 0x00000002, 0x402BEA20, 0xACA05602, + 0x00000002, 0x002BEA83, 0xACA05602, 0x00000002, 0x402BEA20, 0xADC07002, + 0x00000002, 0x002BEA83, 0xADC07002, 0x00000002, 0x402BEA20, 0xADC07B02, + 0x00000002, 0x002BEA83, 0xADC07B02, 0x00000002, 0x402BEC20, 0xAE603202, + 0x00000002, 0x002BEC83, 0xAE603202, 0x00000002, 0x402BEC20, 0xAE604102, + 0x00000002, 0x002BEC83, 0xAE604102, 0x00000002, 0x402BEC20, 0xACA05602, + 0x00000002, 0x002BEC83, 0xACA05602, 0x00000002, 0x402BEC20, 0xADC07002, + 0x00000002, 0x002BEC83, 0xADC07002, 0x00000003, 0x402BEC20, 0xADC07002, + 0xAE605B02, 0x00000003, 0x002BEC83, 0xADC07002, 0xAE605B02, 0x00000002, + 0x402BEC20, 0xADC07802, 0x00000002, 0x002BEC83, 0xADC07802, 0x00000002, + 0x402BEC20, 0xADC07B02, 0x00000002, 0x002BEC83, + // Block 239, offset 0x3bc0 + 0xADC07B02, 0x00000002, 0x402BEE20, 0xAE603202, 0x00000002, 0x002BEE83, + 0xAE603202, 0x00000002, 0x402BEE20, 0xAE605202, 0x00000002, 0x002BEE83, + 0xAE605202, 0x00000002, 0x402BEE20, 0xADC07002, 0x00000002, 0x002BEE83, + 0xADC07002, 0x00000002, 0x402BF020, 0xAE603202, 0x00000002, 0x002BF083, + 0xAE603202, 0x00000002, 0x402BF020, 0xAE603502, 0x00000002, 0x002BF083, + 0xAE603502, 0x00000002, 0x402BF020, 0xAE604102, 0x00000002, 0x002BF083, + 0xAE604102, 0x00000002, 0x402BF020, 0xAE604E02, 0x00000002, 0x002BF083, + 0xAE604E02, 0x00000002, 0x402BF020, 0xAE605202, 0x00000002, 0x002BF083, + 0xAE605202, 0x00000002, 0x402BF020, 0xACA05602, 0x00000002, 0x002BF083, + 0xACA05602, 0x00000002, 0x402BF020, 0xADC07002, 0x00000002, 0x002BF083, + 0xADC07002, 0x00000002, 0x402BF020, 0xADC07802, + // Block 240, offset 0x3c00 + 0x00000002, 0x002BF083, 0xADC07802, 0x00000002, 0x402BF020, 0xADC07B02, + 0x00000002, 0x002BF083, 0xADC07B02, 0x00000002, 0x402BF220, 0xAE603202, + 0x00000002, 0x002BF283, 0xAE603202, 0x00000002, 0x402BF220, 0xAE605202, + 0x00000002, 0x002BF283, 0xAE605202, 0x00000002, 0x402BF420, 0xAE603202, + 0x00000002, 0x002BF483, 0xAE603202, 0x00000002, 0x402BF420, 0xAE603502, + 0x00000002, 0x002BF483, 0xAE603502, 0x00000002, 0x402BF420, 0xAE603C02, + 0x00000002, 0x002BF483, 0xAE603C02, 0x00000002, 0x402BF420, 0xAE604302, + 0x00000002, 0x402BF420, 0xAE604702, 0x00000002, 0x002BF483, 0xAE604702, + 0x00000002, 0x402BF420, 0xAE605202, 0x00000002, 0x002BF483, 0xAE605202, + 0x00000002, 0x402BF420, 0xADC07002, 0x00000002, 0x002BF483, 0xADC07002, + 0x00000002, 0x402C3E20, 0xACA05602, 0x00000002, + // Block 241, offset 0x3c40 + 0x002C3E83, 0xACA05602, 0x00000002, 0x002C3C83, 0x402C3C20, 0x00000002, + 0x002C3C85, 0x402C3C20, 0x00000002, 0x002C3C87, 0x002C3C86, 0x00000002, + 0x002C6483, 0x402C6420, 0x00000002, 0x002C6485, 0x402C6420, 0x00000002, + 0x002C6487, 0x002C6486, 0x00000002, 0x002C6683, 0x402C6620, 0x00000002, + 0x002C6685, 0x402C6620, 0x00000002, 0x002C6687, 0x002C6686, 0x00000002, + 0x002D2483, 0x402D2420, 0x00000002, 0x002D2485, 0x402D2420, 0x00000002, + 0x002D2487, 0x002D2486, 0x00000002, 0x002E2483, 0x402E2420, 0x00000002, + 0x002E2485, 0x402E2420, 0x00000002, 0x002E2487, 0x002E2486, 0x00000002, + 0x002EA083, 0x402EA020, 0x00000002, 0x002EA085, 0x402EA020, 0x00000002, + 0x002EA087, 0x002EA086, 0x00000002, 0x002FE883, 0x402FE820, 0x00000002, + 0x002FE885, 0x402FE820, 0x00000002, 0x002FE887, + // Block 242, offset 0x3c80 + 0x002FE886, 0x00000002, 0x00302E83, 0x40302E20, 0x00000002, 0x00302E85, + 0x40302E20, 0x00000002, 0x00302E87, 0x00302E86, 0x00000002, 0x00312C83, + 0x40312C20, 0x00000002, 0x00312C85, 0x40312C20, 0x00000002, 0x00312C87, + 0x00312C86, 0x00000002, 0x402EE420, 0xAE603C02, 0x00000002, 0x002EE483, + 0xAE603C02, 0x00000002, 0x402EE420, 0xAD806802, 0x00000002, 0x002EE483, + 0xAD806802, 0x00000002, 0x40306E20, 0xAD806802, 0x00000002, 0x00306E83, + 0xAD806802, 0x00000002, 0x402C0820, 0xAE603702, 0x00000002, 0x002C0883, + 0xAE603702, 0x00000002, 0x402C0820, 0xAE603C02, 0x00000002, 0x002C0883, + 0xAE603C02, 0x00000002, 0x402D0620, 0xAE603C02, 0x00000002, 0x002D0683, + 0xAE603C02, 0x00000002, 0x402D0620, 0xAE605B02, 0x00000002, 0x002D0683, + 0xAE605B02, 0x00000002, 0x402DCA20, 0xAE604702, + // Block 243, offset 0x3cc0 + 0x00000002, 0x002DCA83, 0xAE604702, 0x00000002, 0x402F2A20, 0xAE603C02, + 0x00000002, 0x002F2A83, 0xAE603C02, 0x00000002, 0x402F2A20, 0xAE604E02, + 0x00000002, 0x002F2A83, 0xAE604E02, 0x00000002, 0x402F2A20, 0xAE605B02, + 0x00000002, 0x002F2A83, 0xAE605B02, 0x00000002, 0x402F2A20, 0xAD806802, + 0x00000002, 0x002F2A83, 0xAD806802, 0x00000002, 0x4030BC20, 0xAE604702, + 0x00000002, 0x0030BC83, 0xAE604702, 0x00000002, 0x4030BC20, 0xAE604E02, + 0x00000002, 0x0030BC83, 0xAE604E02, 0x00000002, 0x4030BC20, 0xAD806802, + 0x00000002, 0x0030BC83, 0xAD806802, 0x00000002, 0x40320E20, 0xAE604E02, + 0x00000002, 0x00320E83, 0xAE604E02, 0x00000003, 0x0004B084, 0x029C1284, + 0x0004B29F, 0x00000003, 0x0004B084, 0x029D1884, 0x0004B29F, 0x00000003, + 0x0004B084, 0x02A5BA84, 0x0004B29F, 0x00000003, + // Block 244, offset 0x3d00 + 0x0004B084, 0x02B71284, 0x0004B29F, 0x00000003, 0x0004B084, 0x02C4A684, + 0x0004B29F, 0x00000003, 0x0004B084, 0x02CAAE84, 0x0004B29F, 0x00000003, + 0x0004B084, 0x02CE5884, 0x0004B29F, 0x00000003, 0x0004B084, 0x02E17284, + 0x0004B29F, 0x00000003, 0x0004B084, 0x02EDAE84, 0x0004B29F, 0x00000002, + 0x0065768E, 0x0065768F, 0x00000002, 0x0065768E, 0x00657691, 0x00000002, + 0x00657690, 0x0065768F, 0x00000002, 0x00657690, 0x00657691, 0x00000002, + 0x0065768E, 0x0065828F, 0x00000002, 0x0065768E, 0x00658291, 0x00000003, + 0x0065768E, 0x00658291, 0xA0812802, 0x00000002, 0x0065768E, 0x00658C91, + 0x00000003, 0x0065768E, 0x00658C91, 0xA0812802, 0x00000002, 0x0065768E, + 0x00659691, 0x00000003, 0x0065768E, 0x00659691, 0xA0812802, 0x00000002, + 0x0065768E, 0x0065A091, 0x00000002, 0x0065768E, + // Block 245, offset 0x3d40 + 0x0065AA8F, 0x00000002, 0x0065768E, 0x0065AA91, 0x00000003, 0x0065768E, + 0x0065AA91, 0xA0812802, 0x00000003, 0x0065768E, 0x0065AA91, 0xA0812902, + 0x00000002, 0x0065768E, 0x0065B491, 0x00000002, 0x0065768E, 0x0065BE8F, + 0x00000002, 0x0065768E, 0x0065BE91, 0x00000002, 0x0065768E, 0x0065C68F, + 0x00000002, 0x0065768E, 0x0065C691, 0x00000002, 0x0065768E, 0x0065D08F, + 0x00000002, 0x0065768E, 0x0065D091, 0x00000003, 0x0065768E, 0x0065D091, + 0xA0812802, 0x00000002, 0x0065788E, 0x0065788F, 0x00000002, 0x0065788E, + 0x00657891, 0x00000002, 0x00657890, 0x0065788F, 0x00000002, 0x00657890, + 0x00657891, 0x00000002, 0x0065788E, 0x00658491, 0x00000003, 0x0065788E, + 0x00658491, 0xA0812802, 0x00000002, 0x0065788E, 0x00658E8F, 0x00000002, + 0x0065788E, 0x00658E91, 0x00000003, 0x0065788E, + // Block 246, offset 0x3d80 + 0x00658E91, 0xA0812802, 0x00000002, 0x0065788E, 0x00659891, 0x00000003, + 0x0065788E, 0x00659891, 0xA0812802, 0x00000002, 0x0065788E, 0x0065A291, + 0x00000002, 0x0065788E, 0x0065AC8F, 0x00000002, 0x0065788E, 0x0065AC91, + 0x00000003, 0x0065788E, 0x0065AC91, 0xA0812802, 0x00000003, 0x0065788E, + 0x0065AC91, 0xA0812902, 0x00000002, 0x0065788E, 0x0065B691, 0x00000002, + 0x0065788E, 0x0065C88F, 0x00000002, 0x0065788E, 0x0065C891, 0x00000002, + 0x0065788E, 0x0065D291, 0x00000003, 0x0065788E, 0x0065D291, 0xA0812802, + 0x00000002, 0x00657A8E, 0x00657A8F, 0x00000002, 0x00657A8E, 0x00657A91, + 0x00000002, 0x00657A90, 0x00657A8F, 0x00000002, 0x00657A90, 0x00657A91, + 0x00000003, 0x00657A8E, 0x00657A91, 0xA0812802, 0x00000003, 0x00657A90, + 0x00657A8F, 0xA0812802, 0x00000003, 0x00657A90, + // Block 247, offset 0x3dc0 + 0x00657A91, 0xA0812802, 0x00000004, 0x00657A90, 0x00657A91, 0xA0812802, + 0xA0812802, 0x00000002, 0x00657A8E, 0x0065868F, 0x00000002, 0x00657A8E, + 0x00658691, 0x00000003, 0x00657A8E, 0x00658691, 0xA0812802, 0x00000002, + 0x00657A8E, 0x0065908F, 0x00000002, 0x00657A8E, 0x00659091, 0x00000003, + 0x00657A8E, 0x00659091, 0xA0812802, 0x00000002, 0x00657A8E, 0x00659A8F, + 0x00000002, 0x00657A8E, 0x00659A91, 0x00000003, 0x00657A8E, 0x00659A91, + 0xA0812802, 0x00000002, 0x00657A8E, 0x0065A48F, 0x00000002, 0x00657A8E, + 0x0065A491, 0x00000002, 0x00657A8E, 0x0065AE8F, 0x00000002, 0x00657A8E, + 0x0065AE91, 0x00000003, 0x00657A8E, 0x0065AE91, 0xA0812802, 0x00000003, + 0x00657A8E, 0x0065AE91, 0xA0812902, 0x00000002, 0x00657A8E, 0x0065B88F, + 0x00000002, 0x00657A8E, 0x0065B891, 0x00000002, + // Block 248, offset 0x3e00 + 0x00657A8E, 0x0065C08F, 0x00000002, 0x00657A8E, 0x0065C091, 0x00000002, + 0x00657A8E, 0x0065CA8F, 0x00000002, 0x00657A8E, 0x0065CA91, 0x00000002, + 0x00657E8E, 0x00657E8F, 0x00000002, 0x00657E8E, 0x00657E91, 0x00000002, + 0x00657E90, 0x00657E8F, 0x00000002, 0x00657E90, 0x00657E91, 0x00000002, + 0x00657E8E, 0x0065888F, 0x00000002, 0x00657E8E, 0x00658891, 0x00000003, + 0x00657E8E, 0x00658891, 0xA0812802, 0x00000002, 0x00657E8E, 0x00659291, + 0x00000003, 0x00657E8E, 0x00659291, 0xA0812802, 0x00000002, 0x00657E8E, + 0x00659C91, 0x00000003, 0x00657E8E, 0x00659C91, 0xA0812802, 0x00000002, + 0x00657E8E, 0x0065A691, 0x00000002, 0x00657E8E, 0x0065B08F, 0x00000002, + 0x00657E8E, 0x0065B091, 0x00000003, 0x00657E8E, 0x0065B091, 0xA0812802, + 0x00000003, 0x00657E8E, 0x0065B091, 0xA0812902, + // Block 249, offset 0x3e40 + 0x00000002, 0x00657E8E, 0x0065BA91, 0x00000002, 0x00657E8E, 0x0065CC8F, + 0x00000002, 0x00657E8E, 0x0065CC91, 0x00000002, 0x00657E8E, 0x0065D491, + 0x00000003, 0x00657E8E, 0x0065D491, 0xA0812802, 0x00000002, 0x0065808E, + 0x0065808F, 0x00000002, 0x0065808E, 0x00658091, 0x00000002, 0x00658090, + 0x0065808F, 0x00000002, 0x00658090, 0x00658091, 0x00000002, 0x0065808E, + 0x00658A91, 0x00000003, 0x0065808E, 0x00658A91, 0xA0812802, 0x00000002, + 0x0065808E, 0x00659491, 0x00000003, 0x0065808E, 0x00659491, 0xA0812802, + 0x00000002, 0x0065808E, 0x00659E8F, 0x00000002, 0x0065808E, 0x00659E91, + 0x00000003, 0x0065808E, 0x00659E91, 0xA0812802, 0x00000002, 0x0065808E, + 0x0065A891, 0x00000002, 0x0065808E, 0x0065B28F, 0x00000002, 0x0065808E, + 0x0065B291, 0x00000003, 0x0065808E, 0x0065B291, + // Block 250, offset 0x3e80 + 0xA0812802, 0x00000003, 0x0065808E, 0x0065B291, 0xA0812902, 0x00000002, + 0x0065808E, 0x0065BC91, 0x00000002, 0x0065808E, 0x0065C48F, 0x00000002, + 0x0065808E, 0x0065C491, 0x00000002, 0x0065808E, 0x0065CE8F, 0x00000002, + 0x0065808E, 0x0065CE91, 0x00000002, 0x0065808E, 0x0065D691, 0x00000003, + 0x0065808E, 0x0065D691, 0xA0812802, 0x00000002, 0x00658290, 0x0065828F, + 0x00000002, 0x00658290, 0x00658291, 0x00000003, 0x0065848F, 0x00658291, + 0xA0812802, 0x00000002, 0x00658490, 0x00658491, 0x00000003, 0x00658490, + 0x00658491, 0xA0812802, 0x00000004, 0x00658490, 0x00658491, 0xA0812802, + 0xA0812802, 0x00000002, 0x00658690, 0x0065868F, 0x00000002, 0x00658690, + 0x00658691, 0x00000003, 0x00658690, 0x0065868F, 0xA0812802, 0x00000003, + 0x00658690, 0x00658691, 0xA0812802, 0x00000004, + // Block 251, offset 0x3ec0 + 0x00658690, 0x00658691, 0xA0812802, 0xA0812802, 0x00000002, 0x00658890, + 0x0065888F, 0x00000002, 0x00658890, 0x00658891, 0x00000003, 0x00658A8F, + 0x00658891, 0xA0812802, 0x00000002, 0x00658A90, 0x00658A91, 0x00000003, + 0x00658A90, 0x00658A91, 0xA0812802, 0x00000004, 0x00658A90, 0x00658A91, + 0xA0812802, 0xA0812802, 0x00000002, 0x40658A21, 0x00659E91, 0x00000002, + 0x00658C90, 0x00658C91, 0x00000003, 0x00658C90, 0x00658C91, 0xA0812802, + 0x00000004, 0x00658C90, 0x00658C91, 0xA0812802, 0xA0812802, 0x00000002, + 0x00658E90, 0x00658E8F, 0x00000002, 0x00658E90, 0x00658E91, 0x00000003, + 0x00658E90, 0x00658E8F, 0xA0812802, 0x00000003, 0x00658E90, 0x00658E91, + 0xA0812802, 0x00000004, 0x00658E90, 0x00658E91, 0xA0812802, 0xA0812802, + 0x00000002, 0x00659090, 0x0065908F, 0x00000002, + // Block 252, offset 0x3f00 + 0x00659090, 0x00659091, 0x00000003, 0x00659090, 0x0065908F, 0xA0812802, + 0x00000003, 0x00659090, 0x00659091, 0xA0812802, 0x00000004, 0x00659090, + 0x00659091, 0xA0812802, 0xA0812802, 0x00000002, 0x00659290, 0x00659291, + 0x00000003, 0x00659290, 0x00659291, 0xA0812802, 0x00000004, 0x00659290, + 0x00659291, 0xA0812802, 0xA0812802, 0x00000002, 0x00659490, 0x00659491, + 0x00000003, 0x00659490, 0x00659491, 0xA0812802, 0x00000004, 0x00659490, + 0x00659491, 0xA0812802, 0xA0812802, 0x00000002, 0x00659690, 0x00659691, + 0x00000003, 0x00659690, 0x00659691, 0xA0812802, 0x00000004, 0x00659690, + 0x00659691, 0xA0812802, 0xA0812802, 0x00000002, 0x00659890, 0x00659891, + 0x00000003, 0x00659890, 0x00659891, 0xA0812802, 0x00000004, 0x00659890, + 0x00659891, 0xA0812802, 0xA0812802, 0x00000002, + // Block 253, offset 0x3f40 + 0x00659A90, 0x00659A8F, 0x00000002, 0x00659A90, 0x00659A91, 0x00000003, + 0x00659A90, 0x00659A8F, 0xA0812802, 0x00000003, 0x00659A90, 0x00659A91, + 0xA0812802, 0x00000004, 0x00659A90, 0x00659A91, 0xA0812802, 0xA0812802, + 0x00000002, 0x00659C90, 0x00659C91, 0x00000003, 0x00659C90, 0x00659C91, + 0xA0812802, 0x00000004, 0x00659C90, 0x00659C91, 0xA0812802, 0xA0812802, + 0x00000002, 0x00659E90, 0x00659E8F, 0x00000002, 0x00659E90, 0x00659E91, + 0x00000003, 0x00659E90, 0x00659E8F, 0xA0812802, 0x00000003, 0x00659E90, + 0x00659E91, 0xA0812802, 0x00000004, 0x00659E90, 0x00659E91, 0xA0812802, + 0xA0812802, 0x00000002, 0x0065A090, 0x0065A091, 0x00000002, 0x0065A290, + 0x0065A291, 0x00000002, 0x0065A490, 0x0065A48F, 0x00000002, 0x0065A490, + 0x0065A491, 0x00000002, 0x0065A690, 0x0065A691, + // Block 254, offset 0x3f80 + 0x00000002, 0x0065A890, 0x0065A891, 0x00000002, 0x0065AA90, 0x0065AA8F, + 0x00000002, 0x0065AA90, 0x0065AA91, 0x00000003, 0x0065AA90, 0x0065AA8F, + 0xA0812802, 0x00000003, 0x0065AA90, 0x0065AA91, 0xA0812802, 0x00000004, + 0x0065AA90, 0x0065AA91, 0xA0812802, 0xA0812802, 0x00000003, 0x0065AA90, + 0x0065AA91, 0xA0812902, 0x00000004, 0x0065AA90, 0x0065AA91, 0xA0812902, + 0xA0812802, 0x00000002, 0x0065AC90, 0x0065AC8F, 0x00000002, 0x0065AC90, + 0x0065AC91, 0x00000003, 0x0065AC90, 0x0065AC8F, 0xA0812802, 0x00000003, + 0x0065AC90, 0x0065AC91, 0xA0812802, 0x00000004, 0x0065AC90, 0x0065AC91, + 0xA0812802, 0xA0812802, 0x00000003, 0x0065AC90, 0x0065AC91, 0xA0812902, + 0x00000004, 0x0065AC90, 0x0065AC91, 0xA0812902, 0xA0812802, 0x00000002, + 0x0065AE90, 0x0065AE8F, 0x00000002, 0x0065AE90, + // Block 255, offset 0x3fc0 + 0x0065AE91, 0x00000003, 0x0065AE90, 0x0065AE8F, 0xA0812802, 0x00000003, + 0x0065AE90, 0x0065AE91, 0xA0812802, 0x00000004, 0x0065AE90, 0x0065AE91, + 0xA0812802, 0xA0812802, 0x00000003, 0x0065AE90, 0x0065AE91, 0xA0812902, + 0x00000004, 0x0065AE90, 0x0065AE91, 0xA0812902, 0xA0812802, 0x00000002, + 0x0065B090, 0x0065B08F, 0x00000002, 0x0065B090, 0x0065B091, 0x00000003, + 0x0065B090, 0x0065B08F, 0xA0812802, 0x00000003, 0x0065B090, 0x0065B091, + 0xA0812802, 0x00000004, 0x0065B090, 0x0065B091, 0xA0812802, 0xA0812802, + 0x00000003, 0x0065B090, 0x0065B091, 0xA0812902, 0x00000004, 0x0065B090, + 0x0065B091, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B290, 0x0065B28F, + 0x00000002, 0x0065B290, 0x0065B291, 0x00000003, 0x0065B290, 0x0065B28F, + 0xA0812802, 0x00000003, 0x0065B290, 0x0065B291, + // Block 256, offset 0x4000 + 0xA0812802, 0x00000004, 0x0065B290, 0x0065B291, 0xA0812802, 0xA0812802, + 0x00000003, 0x0065B290, 0x0065B291, 0xA0812902, 0x00000004, 0x0065B290, + 0x0065B291, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B490, 0x0065B491, + 0x00000002, 0x0065B690, 0x0065B691, 0x00000002, 0x0065B890, 0x0065B88F, + 0x00000002, 0x0065B890, 0x0065B891, 0x00000002, 0x0065BA90, 0x0065BA91, + 0x00000002, 0x0065BC90, 0x0065BC91, 0x00000002, 0x0065BE90, 0x0065BE8F, + 0x00000002, 0x0065BE90, 0x0065BE91, 0x00000002, 0x0065C090, 0x0065C08F, + 0x00000002, 0x0065C090, 0x0065C091, 0x00000002, 0x0065C490, 0x0065C48F, + 0x00000002, 0x0065C490, 0x0065C491, 0x00000002, 0x4065C421, 0x0065C891, + 0x00000002, 0x0065C690, 0x0065C68F, 0x00000002, 0x0065C690, 0x0065C691, + 0x00000002, 0x0065C890, 0x0065C88F, 0x00000002, + // Block 257, offset 0x4040 + 0x0065C890, 0x0065C891, 0x00000002, 0x0065CA90, 0x0065CA8F, 0x00000002, + 0x0065CA90, 0x0065CA91, 0x00000002, 0x0065CC90, 0x0065CC8F, 0x00000002, + 0x0065CC90, 0x0065CC91, 0x00000002, 0x0065CE90, 0x0065CE8F, 0x00000002, + 0x0065CE90, 0x0065CE91, 0x00000002, 0x0065D090, 0x0065D08F, 0x00000002, + 0x0065D090, 0x0065D091, 0x00000003, 0x0065D090, 0x0065D08F, 0xA0812802, + 0x00000003, 0x0065D090, 0x0065D091, 0xA0812802, 0x00000004, 0x0065D090, + 0x0065D091, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D290, 0x0065D291, + 0x00000003, 0x0065D290, 0x0065D291, 0xA0812802, 0x00000004, 0x0065D290, + 0x0065D291, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D490, 0x0065D491, + 0x00000003, 0x0065D490, 0x0065D491, 0xA0812802, 0x00000004, 0x0065D490, + 0x0065D491, 0xA0812802, 0xA0812802, 0x00000002, + // Block 258, offset 0x4080 + 0x0065D690, 0x0065D691, 0x00000003, 0x0065D690, 0x0065D691, 0xA0812802, + 0x00000004, 0x0065D690, 0x0065D691, 0xA0812802, 0xA0812802, 0x00000002, + 0x0065D890, 0x0065D891, 0x00000002, 0x02B24E9C, 0x02D6C69C, 0x00000002, + 0x02BCE69C, 0x02C4209C, 0x00000002, 0x02CC1C9C, 0x02D9769C, 0x00000002, + 0x02CC5A9C, 0x02A9189C, 0x00000003, 0x00032683, 0x404FDA20, 0x40032620, + 0x00000003, 0x404FD821, 0x82092817, 0x404FA420, 0x00000003, 0x404FD821, + 0x82092817, 0x404FA620, 0x00000003, 0x404FD821, 0x82092817, 0x404FA820, + 0x00000003, 0x404FD821, 0x82092817, 0x404FAA20, 0x00000003, 0x404FD821, + 0x82092817, 0x404FAC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FAE20, + 0x00000003, 0x404FD821, 0x82092817, 0x404FB020, 0x00000003, 0x404FD821, + 0x82092817, 0x404FB220, 0x00000003, 0x404FD821, + // Block 259, offset 0x40c0 + 0x82092817, 0x404FB420, 0x00000003, 0x404FD821, 0x82092817, 0x404FB620, + 0x00000003, 0x404FD821, 0x82092817, 0x404FB820, 0x00000003, 0x404FD821, + 0x82092817, 0x404FBA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FBC20, + 0x00000003, 0x404FD821, 0x82092817, 0x404FBE20, 0x00000003, 0x404FD821, + 0x82092817, 0x404FC020, 0x00000003, 0x404FD821, 0x82092817, 0x404FC220, + 0x00000003, 0x404FD821, 0x82092817, 0x404FC420, 0x00000003, 0x404FD821, + 0x82092817, 0x404FC620, 0x00000003, 0x404FD821, 0x82092817, 0x404FC820, + 0x00000003, 0x404FD821, 0x82092817, 0x404FCA20, 0x00000003, 0x404FD821, + 0x82092817, 0x404FCC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FCE20, + 0x00000003, 0x404FD821, 0x82092817, 0x404FD020, 0x00000003, 0x404FD821, + 0x82092817, 0x404FD220, 0x00000003, 0x404FD821, + // Block 260, offset 0x4100 + 0x82092817, 0x404FD420, 0x00000003, 0x404FD821, 0x82092817, 0x404FD620, + 0x00000003, 0x404FD821, 0x82092817, 0x404FD820, 0x00000003, 0x404FD821, + 0x82092817, 0x404FDA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDA20, + 0x00000003, 0x404FD821, 0x82092817, 0x404FDC20, 0x00000003, 0x404FD821, + 0x82092817, 0x404FDC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDC20, + 0x00000003, 0x404FD821, 0x82092817, 0x404FDE20, 0x00000003, 0x404FD821, + 0x82092817, 0x404FDE20, 0x00000003, 0x404FD821, 0x82092817, 0x404FE020, + 0x00000003, 0x404FD821, 0x82092817, 0x404FE220, 0x00000003, 0x404FD821, + 0x82092817, 0x404FE420, 0x00000003, 0x404FD821, 0x82092817, 0x404FE620, + 0x00000003, 0x404FD821, 0x82092817, 0x404FE820, 0x00000002, 0x404FE820, + 0x40500E20, 0x00000002, 0x404FE821, 0x40501020, + // Block 261, offset 0x4140 + 0x00000002, 0x404FE821, 0x40501220, 0x00000002, 0x404FE821, 0x40501820, + 0x00000003, 0x004FE8A3, 0x40501820, 0x404FA420, 0x00000002, 0x404FE821, + 0x40501A20, 0x00000003, 0x004FE8A3, 0x40501A20, 0x404FDC20, 0x00000002, + 0x404FE821, 0x40502620, 0x00000002, 0x404FE821, 0x40502820, 0x00000002, + 0x404FE821, 0x40502A20, 0x00000002, 0x004FE8A3, 0x40502A20, 0x00000002, + 0x404FE821, 0x40502C20, 0x00000002, 0x4062AC21, 0x4063A820, 0x00000002, + 0x4062AC22, 0x4063A820, 0x00000002, 0x4062AC23, 0x4063A820, 0x00000002, + 0x4062AC24, 0x4063A820, 0x00000002, 0x4062AC25, 0x4063A820, 0x00000002, + 0x4062AC26, 0x4063A820, 0x00000002, 0x4062AC27, 0x4063A820, 0x00000002, + 0x4062AC28, 0x4063A820, 0x00000002, 0x4062AC29, 0x4063A820, 0x00000002, + 0x4062AC2A, 0x4063A820, 0x00000002, 0x4062AC2B, + // Block 262, offset 0x4180 + 0x4063A820, 0x00000002, 0x4062AC2C, 0x4063A820, 0x00000002, 0x4062AC2D, + 0x4063A820, 0x00000002, 0x4062AC2E, 0x4063A820, 0x00000002, 0x4062AC2F, + 0x4063A820, 0x00000002, 0x4062AC30, 0x4063A820, 0x00000002, 0x4062AC31, + 0x4063A820, 0x00000002, 0x4062AC32, 0x4063A820, 0x00000002, 0x4062AC33, + 0x4063A820, 0x00000002, 0x4062AC34, 0x4063A820, 0x00000002, 0x4062AC35, + 0x4063A820, 0x00000002, 0x4062AC36, 0x4063A820, 0x00000002, 0x4062AC37, + 0x4063A820, 0x00000002, 0x4062AC38, 0x4063A820, 0x00000002, 0x4062AC39, + 0x4063A820, 0x00000002, 0x4062AC3A, 0x4063A820, 0x00000002, 0x4062AC3B, + 0x4063A820, 0x00000002, 0x4062AC3C, 0x4063A820, 0x00000002, 0x4062AC3D, + 0x4063A820, 0x00000002, 0x4062AC3E, 0x4063A820, 0x00000002, 0x4062AC3F, + 0x4063A820, 0x00000002, 0x4062AC40, 0x4063A820, + // Block 263, offset 0x41c0 + 0x00000002, 0x4062AC41, 0x4063A820, 0x00000002, 0x4062AC42, 0x4063A820, + 0x00000002, 0x4062AC43, 0x4063A820, 0x00000002, 0x4062AC44, 0x4063A820, + 0x00000002, 0x4062AC45, 0x4063A820, 0x00000002, 0x4062AC46, 0x4063A820, + 0x00000002, 0x4062AC47, 0x4063A820, 0x00000002, 0x4062AC48, 0x4063A820, + 0x00000002, 0x4062AC49, 0x4063A820, 0x00000002, 0x4062AC4A, 0x4063A820, + 0x00000002, 0x4062AC4B, 0x4063A820, 0x00000002, 0x4062AC4C, 0x4063A820, + 0x00000003, 0x4062AC21, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC22, + 0x4063A820, 0x40646420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40646420, + 0x00000003, 0x4062AC24, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC25, + 0x4063A820, 0x40646420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40646420, + 0x00000003, 0x4062AC27, 0x4063A820, 0x40646420, + // Block 264, offset 0x4200 + 0x00000003, 0x4062AC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC29, + 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063A820, 0x40646420, + 0x00000003, 0x4062AC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2C, + 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063A820, 0x40646420, + 0x00000003, 0x4062AC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2F, + 0x4063A820, 0x40646420, 0x00000003, 0x4062AC30, 0x4063A820, 0x40646420, + 0x00000003, 0x4062AC31, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC21, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC23, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC24, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC26, 0x4063A820, 0x40646A20, + // Block 265, offset 0x4240 + 0x00000003, 0x4062AC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC28, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC2A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2B, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC2D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2E, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC30, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC31, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC33, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC34, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC36, 0x4063A820, 0x40646A20, + // Block 266, offset 0x4280 + 0x00000003, 0x4062AC37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC38, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC3A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3B, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC3D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3E, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC40, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC41, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062AC43, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC21, + 0x4063A820, 0x40647220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40647220, + 0x00000003, 0x4062AC23, 0x4063A820, 0x40647220, + // Block 267, offset 0x42c0 + 0x00000003, 0x4062AC24, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC25, + 0x4063A820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40647220, + 0x00000003, 0x4062AC27, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC28, + 0x4063A820, 0x40647220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40647220, + 0x00000003, 0x4062AC2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2B, + 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40647220, + 0x00000003, 0x4062AC2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2E, + 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40647220, + 0x00000003, 0x4062AC30, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC21, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC23, 0x4063A820, 0x40648220, + // Block 268, offset 0x4300 + 0x00000003, 0x4062AC24, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC25, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC27, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC28, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2B, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC2D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2E, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC30, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC31, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC33, 0x4063A820, 0x40648220, + // Block 269, offset 0x4340 + 0x00000003, 0x4062AC34, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC35, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC36, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC37, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC38, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC39, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC3A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3B, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC3D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3E, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC40, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC41, + 0x4063A820, 0x40648220, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648220, + 0x00000003, 0x4062AC43, 0x4063A820, 0x40648220, + // Block 270, offset 0x4380 + 0x00000003, 0x4062AC21, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC22, + 0x4063A820, 0x40648420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40648420, + 0x00000003, 0x4062AC24, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC25, + 0x4063A820, 0x40648420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648420, + 0x00000003, 0x4062AC27, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC21, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC24, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC26, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC27, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC29, 0x4063A820, 0x40648C20, + // Block 271, offset 0x43c0 + 0x00000003, 0x4062AC2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2B, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2E, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC31, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC34, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC36, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC37, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC38, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC39, 0x4063A820, 0x40648C20, + // Block 272, offset 0x4400 + 0x00000003, 0x4062AC3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3B, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3E, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC41, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC44, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC45, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC46, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC47, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC48, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062AC49, 0x4063A820, 0x40648C20, + // Block 273, offset 0x4440 + 0x00000002, 0x4062AC21, 0x4063AA20, 0x00000002, 0x4062AC22, 0x4063AA20, + 0x00000002, 0x4062AC23, 0x4063AA20, 0x00000002, 0x4062AC24, 0x4063AA20, + 0x00000002, 0x4062AC25, 0x4063AA20, 0x00000002, 0x4062AC26, 0x4063AA20, + 0x00000002, 0x4062AC27, 0x4063AA20, 0x00000002, 0x4062AC28, 0x4063AA20, + 0x00000002, 0x4062AC29, 0x4063AA20, 0x00000002, 0x4062AC2A, 0x4063AA20, + 0x00000002, 0x4062AC2B, 0x4063AA20, 0x00000002, 0x4062AC2C, 0x4063AA20, + 0x00000002, 0x4062AC2D, 0x4063AA20, 0x00000002, 0x4062AC2E, 0x4063AA20, + 0x00000002, 0x4062AC2F, 0x4063AA20, 0x00000002, 0x4062AC30, 0x4063AA20, + 0x00000002, 0x4062AC31, 0x4063AA20, 0x00000002, 0x4062AC32, 0x4063AA20, + 0x00000002, 0x4062AC33, 0x4063AA20, 0x00000002, 0x4062AC34, 0x4063AA20, + 0x00000002, 0x4062AC35, 0x4063AA20, 0x00000002, + // Block 274, offset 0x4480 + 0x4062AC36, 0x4063AA20, 0x00000002, 0x4062AC37, 0x4063AA20, 0x00000002, + 0x4062AC38, 0x4063AA20, 0x00000002, 0x4062AC39, 0x4063AA20, 0x00000002, + 0x4062AC3A, 0x4063AA20, 0x00000003, 0x4062AC21, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062AC22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062AC21, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062AC23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC24, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062AC26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC21, + 0x4063AC20, 0x40646420, 0x00000002, 0x4062AC21, 0x4063B020, 0x00000002, + 0x4062AC22, 0x4063B020, 0x00000002, 0x4062AC23, 0x4063B020, 0x00000002, + 0x4062AC24, 0x4063B020, 0x00000002, 0x4062AC25, + // Block 275, offset 0x44c0 + 0x4063B020, 0x00000002, 0x4062AC26, 0x4063B020, 0x00000002, 0x4062AC27, + 0x4063B020, 0x00000002, 0x4062AC28, 0x4063B020, 0x00000002, 0x4062AC29, + 0x4063B020, 0x00000002, 0x4062AC2A, 0x4063B020, 0x00000002, 0x4062AC2B, + 0x4063B020, 0x00000002, 0x4062AC2C, 0x4063B020, 0x00000002, 0x4062AC2D, + 0x4063B020, 0x00000002, 0x4062AC2E, 0x4063B020, 0x00000002, 0x4062AC2F, + 0x4063B020, 0x00000002, 0x4062AC30, 0x4063B020, 0x00000002, 0x4062AC31, + 0x4063B020, 0x00000002, 0x4062AC32, 0x4063B020, 0x00000002, 0x4062AC33, + 0x4063B020, 0x00000002, 0x4062AC34, 0x4063B020, 0x00000002, 0x4062AC35, + 0x4063B020, 0x00000002, 0x4062AC36, 0x4063B020, 0x00000002, 0x4062AC37, + 0x4063B020, 0x00000002, 0x4062AC38, 0x4063B020, 0x00000002, 0x4062AC39, + 0x4063B020, 0x00000002, 0x4062AC3A, 0x4063B020, + // Block 276, offset 0x4500 + 0x00000002, 0x4062AC3B, 0x4063B020, 0x00000002, 0x4062AC3C, 0x4063B020, + 0x00000002, 0x4062AC3D, 0x4063B020, 0x00000002, 0x4062AC3E, 0x4063B020, + 0x00000003, 0x4062AC21, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC22, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062AC24, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC25, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062AC27, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC28, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062AC2A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2B, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062AC2D, 0x4063B020, 0x40646A20, + // Block 277, offset 0x4540 + 0x00000003, 0x4062AC2E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2F, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062AC31, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC32, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063B020, 0x40647220, + 0x00000003, 0x4062AC22, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC23, + 0x4063B020, 0x40647220, 0x00000003, 0x4062AC24, 0x4063B020, 0x40647220, + 0x00000003, 0x4062AC25, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC26, + 0x4063B020, 0x40647220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40647220, + 0x00000003, 0x4062AC21, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC22, + 0x4063B020, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B020, 0x40648220, + 0x00000003, 0x4062AC24, 0x4063B020, 0x40648220, + // Block 278, offset 0x4580 + 0x00000003, 0x4062AC25, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC26, + 0x4063B020, 0x40648220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40648220, + 0x00000003, 0x4062AC28, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC29, + 0x4063B020, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B020, 0x40648420, + 0x00000003, 0x4062AC22, 0x4063B020, 0x40648420, 0x00000003, 0x4062AC23, + 0x4063B020, 0x40648420, 0x00000003, 0x4062AC24, 0x4063B020, 0x40648420, + 0x00000003, 0x4062AC25, 0x4063B020, 0x40648420, 0x00000002, 0x4062AC21, + 0x4063B220, 0x00000002, 0x4062AC22, 0x4063B220, 0x00000002, 0x4062AC23, + 0x4063B220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646420, 0x00000003, + 0x4062AC22, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC23, 0x4063B420, + 0x40646420, 0x00000003, 0x4062AC24, 0x4063B420, + // Block 279, offset 0x45c0 + 0x40646420, 0x00000003, 0x4062AC25, 0x4063B420, 0x40646420, 0x00000003, + 0x4062AC26, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B420, + 0x40646420, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646420, 0x00000003, + 0x4062AC29, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B420, + 0x40646420, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646420, 0x00000003, + 0x4062AC2C, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063B420, + 0x40646420, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC22, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC24, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC25, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC27, 0x4063B420, + // Block 280, offset 0x4600 + 0x40646A20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC2F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC31, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC32, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062AC34, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062AC21, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC22, 0x4063B420, + 0x40647220, 0x00000003, 0x4062AC23, 0x4063B420, + // Block 281, offset 0x4640 + 0x40647220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40647220, 0x00000003, + 0x4062AC25, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B420, + 0x40647220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40647220, 0x00000003, + 0x4062AC28, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC29, 0x4063B420, + 0x40647220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40648220, 0x00000003, + 0x4062AC22, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B420, + 0x40648220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40648220, 0x00000003, + 0x4062AC25, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC26, 0x4063B420, + 0x40648220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40648220, 0x00000003, + 0x4062AC28, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC29, 0x4063B420, + 0x40648220, 0x00000003, 0x4062AC2A, 0x4063B420, + // Block 282, offset 0x4680 + 0x40648220, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40648220, 0x00000003, + 0x4062AC2C, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063B420, + 0x40648220, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40648220, 0x00000003, + 0x4062AC2F, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC22, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC23, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC25, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC26, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC29, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC2B, 0x4063B420, + // Block 283, offset 0x46c0 + 0x40648C20, 0x00000003, 0x4062AC2C, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC2D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2E, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC2F, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC30, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC31, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC32, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC33, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC35, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC36, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC38, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC39, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC3B, 0x4063B420, + // Block 284, offset 0x4700 + 0x40648C20, 0x00000003, 0x4062AC3C, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC3D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3E, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC3F, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC40, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC41, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC42, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC43, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC44, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC45, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC46, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC47, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC48, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC49, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4A, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC4B, 0x4063B420, + // Block 285, offset 0x4740 + 0x40648C20, 0x00000003, 0x4062AC4C, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC4D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4E, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC4F, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC50, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC51, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC52, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC53, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC54, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC55, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC56, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC57, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC58, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC59, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5A, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC5B, 0x4063B420, + // Block 286, offset 0x4780 + 0x40648C20, 0x00000003, 0x4062AC5C, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC5D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5E, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062AC5F, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062AC60, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC61, 0x4063B420, + 0x40648C20, 0x00000002, 0x4062AC21, 0x4063B620, 0x00000002, 0x4062AC22, + 0x4063B620, 0x00000002, 0x4062AC23, 0x4063B620, 0x00000002, 0x4062AC24, + 0x4063B620, 0x00000002, 0x4062AC25, 0x4063B620, 0x00000002, 0x4062AC26, + 0x4063B620, 0x00000002, 0x4062AC27, 0x4063B620, 0x00000002, 0x4062AC28, + 0x4063B620, 0x00000002, 0x4062AC29, 0x4063B620, 0x00000002, 0x4062AC2A, + 0x4063B620, 0x00000002, 0x4062AC2B, 0x4063B620, 0x00000002, 0x4062AC2C, + 0x4063B620, 0x00000002, 0x4062AC2D, 0x4063B620, + // Block 287, offset 0x47c0 + 0x00000002, 0x4062AC2E, 0x4063B620, 0x00000002, 0x4062AC2F, 0x4063B620, + 0x00000002, 0x4062AC30, 0x4063B620, 0x00000002, 0x4062AC31, 0x4063B620, + 0x00000002, 0x4062AC32, 0x4063B620, 0x00000002, 0x4062AC33, 0x4063B620, + 0x00000002, 0x4062AC34, 0x4063B620, 0x00000002, 0x4062AC35, 0x4063B620, + 0x00000002, 0x4062AC36, 0x4063B620, 0x00000002, 0x4062AC37, 0x4063B620, + 0x00000002, 0x4062AC38, 0x4063B620, 0x00000002, 0x4062AC39, 0x4063B620, + 0x00000002, 0x4062AC3A, 0x4063B620, 0x00000002, 0x4062AC3B, 0x4063B620, + 0x00000002, 0x4062AC3C, 0x4063B620, 0x00000002, 0x4062AC3D, 0x4063B620, + 0x00000002, 0x4062AC3E, 0x4063B620, 0x00000002, 0x4062AC3F, 0x4063B620, + 0x00000002, 0x4062AC40, 0x4063B620, 0x00000002, 0x4062AC41, 0x4063B620, + 0x00000002, 0x4062AC42, 0x4063B620, 0x00000002, + // Block 288, offset 0x4800 + 0x4062AC43, 0x4063B620, 0x00000002, 0x4062AC44, 0x4063B620, 0x00000002, + 0x4062AC21, 0x4063B820, 0x00000002, 0x4062AC22, 0x4063B820, 0x00000002, + 0x4062AC23, 0x4063B820, 0x00000002, 0x4062AC24, 0x4063B820, 0x00000002, + 0x4062AC25, 0x4063B820, 0x00000002, 0x4062AC26, 0x4063B820, 0x00000002, + 0x4062AC27, 0x4063B820, 0x00000002, 0x4062AC28, 0x4063B820, 0x00000002, + 0x4062AC29, 0x4063B820, 0x00000002, 0x4062AC2A, 0x4063B820, 0x00000002, + 0x4062AC2B, 0x4063B820, 0x00000002, 0x4062AC2C, 0x4063B820, 0x00000002, + 0x4062AC2D, 0x4063B820, 0x00000002, 0x4062AC2E, 0x4063B820, 0x00000002, + 0x4062AC2F, 0x4063B820, 0x00000002, 0x4062AC30, 0x4063B820, 0x00000002, + 0x4062AC31, 0x4063B820, 0x00000002, 0x4062AC32, 0x4063B820, 0x00000002, + 0x4062AC33, 0x4063B820, 0x00000002, 0x4062AC34, + // Block 289, offset 0x4840 + 0x4063B820, 0x00000002, 0x4062AC35, 0x4063B820, 0x00000002, 0x4062AC36, + 0x4063B820, 0x00000002, 0x4062AC37, 0x4063B820, 0x00000002, 0x4062AC38, + 0x4063B820, 0x00000002, 0x4062AC39, 0x4063B820, 0x00000002, 0x4062AC3A, + 0x4063B820, 0x00000002, 0x4062AC3B, 0x4063B820, 0x00000002, 0x4062AC3C, + 0x4063B820, 0x00000002, 0x4062AC3D, 0x4063B820, 0x00000002, 0x4062AC3E, + 0x4063B820, 0x00000002, 0x4062AC3F, 0x4063B820, 0x00000002, 0x4062AC40, + 0x4063B820, 0x00000002, 0x4062AC41, 0x4063B820, 0x00000002, 0x4062AC42, + 0x4063B820, 0x00000002, 0x4062AC43, 0x4063B820, 0x00000002, 0x4062AC44, + 0x4063B820, 0x00000002, 0x4062AC45, 0x4063B820, 0x00000002, 0x4062AC46, + 0x4063B820, 0x00000002, 0x4062AC47, 0x4063B820, 0x00000002, 0x4062AC48, + 0x4063B820, 0x00000002, 0x4062AC49, 0x4063B820, + // Block 290, offset 0x4880 + 0x00000002, 0x4062AC4A, 0x4063B820, 0x00000002, 0x4062AC4B, 0x4063B820, + 0x00000002, 0x4062AC4C, 0x4063B820, 0x00000002, 0x4062AC4D, 0x4063B820, + 0x00000002, 0x4062AC4E, 0x4063B820, 0x00000002, 0x4062AC4F, 0x4063B820, + 0x00000002, 0x4062AC50, 0x4063B820, 0x00000002, 0x4062AC51, 0x4063B820, + 0x00000002, 0x4062AC52, 0x4063B820, 0x00000002, 0x4062AC53, 0x4063B820, + 0x00000002, 0x4062AC54, 0x4063B820, 0x00000002, 0x4062AC55, 0x4063B820, + 0x00000002, 0x4062AC56, 0x4063B820, 0x00000002, 0x4062AC57, 0x4063B820, + 0x00000002, 0x4062AC58, 0x4063B820, 0x00000002, 0x4062AC59, 0x4063B820, + 0x00000002, 0x4062AC5A, 0x4063B820, 0x00000002, 0x4062AC5B, 0x4063B820, + 0x00000002, 0x4062AC5C, 0x4063B820, 0x00000002, 0x4062AC5D, 0x4063B820, + 0x00000002, 0x4062AC5E, 0x4063B820, 0x00000002, + // Block 291, offset 0x48c0 + 0x4062AC5F, 0x4063B820, 0x00000002, 0x4062AC60, 0x4063B820, 0x00000002, + 0x4062AC61, 0x4063B820, 0x00000002, 0x4062AC62, 0x4063B820, 0x00000002, + 0x4062AC63, 0x4063B820, 0x00000003, 0x4062AC21, 0x4063B820, 0x40646420, + 0x00000003, 0x4062AC22, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC23, + 0x4063B820, 0x40646420, 0x00000003, 0x4062AC24, 0x4063B820, 0x40646420, + 0x00000003, 0x4062AC25, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC26, + 0x4063B820, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B820, 0x40646420, + 0x00000003, 0x4062AC28, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC29, + 0x4063B820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40646420, + 0x00000003, 0x4062AC2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC2C, + 0x4063B820, 0x40646420, 0x00000003, 0x4062AC21, + // Block 292, offset 0x4900 + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC24, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC27, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC29, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2A, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC2C, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2D, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC2F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC30, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC31, + // Block 293, offset 0x4940 + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC33, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC34, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC36, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC37, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC38, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062AC21, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC22, + 0x4063B820, 0x40647220, 0x00000003, 0x4062AC23, 0x4063B820, 0x40647220, + 0x00000003, 0x4062AC24, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC25, + 0x4063B820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B820, 0x40647220, + 0x00000003, 0x4062AC21, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC22, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC23, + // Block 294, offset 0x4980 + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC26, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC29, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC2B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2C, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC2E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2F, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC31, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC32, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC33, + // Block 295, offset 0x49c0 + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC35, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC36, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC38, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC39, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062AC3B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3C, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC21, 0x4063B820, 0x40648E20, + 0x00000002, 0x4062AC21, 0x4063BA20, 0x00000002, 0x4062AC22, 0x4063BA20, + 0x00000002, 0x4062AC23, 0x4063BA20, 0x00000002, 0x4062AC24, 0x4063BA20, + 0x00000002, 0x4062AC25, 0x4063BA20, 0x00000002, 0x4062AC26, 0x4063BA20, + 0x00000002, 0x4062AC27, 0x4063BA20, 0x00000002, + // Block 296, offset 0x4a00 + 0x4062AC28, 0x4063BA20, 0x00000002, 0x4062AC29, 0x4063BA20, 0x00000002, + 0x4062AC2A, 0x4063BA20, 0x00000002, 0x4062AC2B, 0x4063BA20, 0x00000002, + 0x4062AC2C, 0x4063BA20, 0x00000002, 0x4062AC2D, 0x4063BA20, 0x00000002, + 0x4062AC2E, 0x4063BA20, 0x00000002, 0x4062AC2F, 0x4063BA20, 0x00000002, + 0x4062AC30, 0x4063BA20, 0x00000002, 0x4062AC31, 0x4063BA20, 0x00000002, + 0x4062AC32, 0x4063BA20, 0x00000002, 0x4062AC33, 0x4063BA20, 0x00000002, + 0x4062AC34, 0x4063BA20, 0x00000002, 0x4062AC35, 0x4063BA20, 0x00000002, + 0x4062AC36, 0x4063BA20, 0x00000002, 0x4062AC37, 0x4063BA20, 0x00000002, + 0x4062AC38, 0x4063BA20, 0x00000002, 0x4062AC39, 0x4063BA20, 0x00000003, + 0x4062AC21, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC22, 0x4063BA20, + 0x40646420, 0x00000003, 0x4062AC23, 0x4063BA20, + // Block 297, offset 0x4a40 + 0x40646420, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646420, 0x00000003, + 0x4062AC25, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC26, 0x4063BA20, + 0x40646420, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646420, 0x00000003, + 0x4062AC28, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC29, 0x4063BA20, + 0x40646420, 0x00000003, 0x4062AC21, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC22, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC25, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC28, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063BA20, + // Block 298, offset 0x4a80 + 0x40646A20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC2C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC2F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC31, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC32, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC34, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC35, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC37, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC38, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC3A, 0x4063BA20, + // Block 299, offset 0x4ac0 + 0x40646A20, 0x00000003, 0x4062AC3B, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC3C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC3D, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062AC3E, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062AC3F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063BA20, + 0x40647220, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40647220, 0x00000003, + 0x4062AC23, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC24, 0x4063BA20, + 0x40647220, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40647220, 0x00000003, + 0x4062AC26, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC27, 0x4063BA20, + 0x40647220, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40647220, 0x00000003, + 0x4062AC29, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC2A, 0x4063BA20, + 0x40647220, 0x00000003, 0x4062AC21, 0x4063BA20, + // Block 300, offset 0x4b00 + 0x40648C20, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC23, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC26, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC29, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC2C, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC2F, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC31, 0x4063BA20, + // Block 301, offset 0x4b40 + 0x40648C20, 0x00000003, 0x4062AC32, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC33, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC35, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062AC36, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062AC38, 0x4063BA20, 0x40648C20, 0x00000002, + 0x4062AC21, 0x4063BC20, 0x00000002, 0x4062AC22, 0x4063BC20, 0x00000002, + 0x4062AC23, 0x4063BC20, 0x00000002, 0x4062AC24, 0x4063BC20, 0x00000002, + 0x4062AC25, 0x4063BC20, 0x00000002, 0x4062AC26, 0x4063BC20, 0x00000002, + 0x4062AC27, 0x4063BC20, 0x00000002, 0x4062AC21, 0x4063BE20, 0x00000002, + 0x4062AC22, 0x4063BE20, 0x00000002, 0x4062AC23, 0x4063BE20, 0x00000002, + 0x4062AC24, 0x4063BE20, 0x00000002, 0x4062AC25, + // Block 302, offset 0x4b80 + 0x4063BE20, 0x00000002, 0x4062AC26, 0x4063BE20, 0x00000002, 0x4062AC27, + 0x4063BE20, 0x00000002, 0x4062AC28, 0x4063BE20, 0x00000002, 0x4062AC29, + 0x4063BE20, 0x00000002, 0x4062AC2A, 0x4063BE20, 0x00000002, 0x4062AC2B, + 0x4063BE20, 0x00000002, 0x4062AC2C, 0x4063BE20, 0x00000002, 0x4062AC2D, + 0x4063BE20, 0x00000002, 0x4062AC2E, 0x4063BE20, 0x00000002, 0x4062AC2F, + 0x4063BE20, 0x00000002, 0x4062AC30, 0x4063BE20, 0x00000003, 0x4062AC21, + 0x4063BE20, 0x40646420, 0x00000003, 0x4062AC21, 0x4063BE20, 0x40648C20, + 0x00000003, 0x4062AC22, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC23, + 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BE20, 0x40648C20, + 0x00000003, 0x4062AC25, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC26, + 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC27, + // Block 303, offset 0x4bc0 + 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063BE20, 0x40648C20, + 0x00000002, 0x4062AC21, 0x4063C020, 0x00000002, 0x4062AC22, 0x4063C020, + 0x00000002, 0x4062AC23, 0x4063C020, 0x00000002, 0x4062AC24, 0x4063C020, + 0x00000002, 0x4062AC25, 0x4063C020, 0x00000002, 0x4062AC26, 0x4063C020, + 0x00000002, 0x4062AC27, 0x4063C020, 0x00000002, 0x4062AC28, 0x4063C020, + 0x00000002, 0x4062AC29, 0x4063C020, 0x00000002, 0x4062AC2A, 0x4063C020, + 0x00000002, 0x4062AC2B, 0x4063C020, 0x00000002, 0x4062AC2C, 0x4063C020, + 0x00000002, 0x4062AC2D, 0x4063C020, 0x00000002, 0x4062AC2E, 0x4063C020, + 0x00000002, 0x4062AC2F, 0x4063C020, 0x00000002, 0x4062AC30, 0x4063C020, + 0x00000002, 0x4062AC31, 0x4063C020, 0x00000002, 0x4062AC32, 0x4063C020, + 0x00000002, 0x4062AC33, 0x4063C020, 0x00000002, + // Block 304, offset 0x4c00 + 0x4062AC34, 0x4063C020, 0x00000002, 0x4062AC35, 0x4063C020, 0x00000002, + 0x4062AC36, 0x4063C020, 0x00000002, 0x4062AC37, 0x4063C020, 0x00000002, + 0x4062AC38, 0x4063C020, 0x00000002, 0x4062AC39, 0x4063C020, 0x00000002, + 0x4062AC3A, 0x4063C020, 0x00000002, 0x4062AC3B, 0x4063C020, 0x00000002, + 0x4062AC3C, 0x4063C020, 0x00000002, 0x4062AC3D, 0x4063C020, 0x00000002, + 0x4062AC3E, 0x4063C020, 0x00000002, 0x4062AC3F, 0x4063C020, 0x00000002, + 0x4062AC40, 0x4063C020, 0x00000002, 0x4062AC41, 0x4063C020, 0x00000002, + 0x4062AC42, 0x4063C020, 0x00000002, 0x4062AC43, 0x4063C020, 0x00000002, + 0x4062AC44, 0x4063C020, 0x00000002, 0x4062AC45, 0x4063C020, 0x00000002, + 0x4062AC46, 0x4063C020, 0x00000002, 0x4062AC47, 0x4063C020, 0x00000002, + 0x4062AC48, 0x4063C020, 0x00000002, 0x4062AC49, + // Block 305, offset 0x4c40 + 0x4063C020, 0x00000002, 0x4062AC4A, 0x4063C020, 0x00000002, 0x4062AC4B, + 0x4063C020, 0x00000002, 0x4062AC4C, 0x4063C020, 0x00000002, 0x4062AC21, + 0x4063C220, 0x00000002, 0x4062AC22, 0x4063C220, 0x00000002, 0x4062AC23, + 0x4063C220, 0x00000002, 0x4062AC24, 0x4063C220, 0x00000002, 0x4062AC25, + 0x4063C220, 0x00000002, 0x4062AC26, 0x4063C220, 0x00000002, 0x4062AC27, + 0x4063C220, 0x00000002, 0x4062AC28, 0x4063C220, 0x00000002, 0x4062AC29, + 0x4063C220, 0x00000002, 0x4062AC2A, 0x4063C220, 0x00000002, 0x4062AC2B, + 0x4063C220, 0x00000002, 0x4062AC2C, 0x4063C220, 0x00000002, 0x4062AC2D, + 0x4063C220, 0x00000002, 0x4062AC2E, 0x4063C220, 0x00000002, 0x4062AC2F, + 0x4063C220, 0x00000002, 0x4062AC30, 0x4063C220, 0x00000002, 0x4062AC31, + 0x4063C220, 0x00000002, 0x4062AC32, 0x4063C220, + // Block 306, offset 0x4c80 + 0x00000002, 0x4062AC33, 0x4063C220, 0x00000002, 0x4062AC34, 0x4063C220, + 0x00000002, 0x4062AC35, 0x4063C220, 0x00000002, 0x4062AC36, 0x4063C220, + 0x00000002, 0x4062AC37, 0x4063C220, 0x00000002, 0x4062AC38, 0x4063C220, + 0x00000002, 0x4062AC39, 0x4063C220, 0x00000002, 0x4062AC3A, 0x4063C220, + 0x00000002, 0x4062AC3B, 0x4063C220, 0x00000002, 0x4062AC3C, 0x4063C220, + 0x00000002, 0x4062AC3D, 0x4063C220, 0x00000002, 0x4062AC3E, 0x4063C220, + 0x00000002, 0x4062AC3F, 0x4063C220, 0x00000002, 0x4062AC40, 0x4063C220, + 0x00000002, 0x4062AC41, 0x4063C220, 0x00000002, 0x4062AC42, 0x4063C220, + 0x00000002, 0x4062AC43, 0x4063C220, 0x00000002, 0x4062AC44, 0x4063C220, + 0x00000002, 0x4062AC45, 0x4063C220, 0x00000002, 0x4062AC46, 0x4063C220, + 0x00000002, 0x4062AC47, 0x4063C220, 0x00000002, + // Block 307, offset 0x4cc0 + 0x4062AC48, 0x4063C220, 0x00000002, 0x4062AC49, 0x4063C220, 0x00000002, + 0x4062AC4A, 0x4063C220, 0x00000002, 0x4062AC4B, 0x4063C220, 0x00000002, + 0x4062AC4C, 0x4063C220, 0x00000002, 0x4062AC4D, 0x4063C220, 0x00000002, + 0x4062AC4E, 0x4063C220, 0x00000002, 0x4062AC4F, 0x4063C220, 0x00000002, + 0x4062AC50, 0x4063C220, 0x00000002, 0x4062AC51, 0x4063C220, 0x00000002, + 0x4062AC52, 0x4063C220, 0x00000002, 0x4062AC53, 0x4063C220, 0x00000002, + 0x4062AC54, 0x4063C220, 0x00000002, 0x4062AC55, 0x4063C220, 0x00000002, + 0x4062AC56, 0x4063C220, 0x00000002, 0x4062AC57, 0x4063C220, 0x00000002, + 0x4062AC58, 0x4063C220, 0x00000002, 0x4062AC59, 0x4063C220, 0x00000002, + 0x4062AC5A, 0x4063C220, 0x00000002, 0x4062AC5B, 0x4063C220, 0x00000002, + 0x4062AC5C, 0x4063C220, 0x00000002, 0x4062AC5D, + // Block 308, offset 0x4d00 + 0x4063C220, 0x00000002, 0x4062AC5E, 0x4063C220, 0x00000002, 0x4062AC5F, + 0x4063C220, 0x00000002, 0x4062AC60, 0x4063C220, 0x00000002, 0x4062AC61, + 0x4063C220, 0x00000002, 0x4062AC62, 0x4063C220, 0x00000002, 0x4062AC63, + 0x4063C220, 0x00000002, 0x4062AC64, 0x4063C220, 0x00000002, 0x4062AC65, + 0x4063C220, 0x00000002, 0x4062AC66, 0x4063C220, 0x00000002, 0x4062AC67, + 0x4063C220, 0x00000002, 0x4062AC68, 0x4063C220, 0x00000002, 0x4062AC69, + 0x4063C220, 0x00000002, 0x4062AC6A, 0x4063C220, 0x00000002, 0x4062AC6B, + 0x4063C220, 0x00000002, 0x4062AC6C, 0x4063C220, 0x00000002, 0x4062AC6D, + 0x4063C220, 0x00000002, 0x4062AC6E, 0x4063C220, 0x00000002, 0x4062AC6F, + 0x4063C220, 0x00000002, 0x4062AC70, 0x4063C220, 0x00000002, 0x4062AC71, + 0x4063C220, 0x00000002, 0x4062AC72, 0x4063C220, + // Block 309, offset 0x4d40 + 0x00000002, 0x4062AC73, 0x4063C220, 0x00000002, 0x4062AC74, 0x4063C220, + 0x00000002, 0x4062AC75, 0x4063C220, 0x00000002, 0x4062AC76, 0x4063C220, + 0x00000002, 0x4062AC77, 0x4063C220, 0x00000002, 0x4062AC78, 0x4063C220, + 0x00000002, 0x4062AC79, 0x4063C220, 0x00000002, 0x4062AC7A, 0x4063C220, + 0x00000002, 0x4062AC7B, 0x4063C220, 0x00000002, 0x4062AC7C, 0x4063C220, + 0x00000002, 0x4062AC7D, 0x4063C220, 0x00000002, 0x4062AC7E, 0x4063C220, + 0x00000002, 0x4062AC7F, 0x4063C220, 0x00000002, 0x4062AC80, 0x4063C220, + 0x00000002, 0x4062AC81, 0x4063C220, 0x00000002, 0x4062AC82, 0x4063C220, + 0x00000002, 0x4062AC83, 0x4063C220, 0x00000002, 0x4062AC84, 0x4063C220, + 0x00000002, 0x4062AC85, 0x4063C220, 0x00000002, 0x4062AC86, 0x4063C220, + 0x00000002, 0x4062AC87, 0x4063C220, 0x00000003, + // Block 310, offset 0x4d80 + 0x4062AC21, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC22, 0x4063C220, + 0x40646420, 0x00000003, 0x4062AC23, 0x4063C220, 0x40646420, 0x00000003, + 0x4062AC24, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC25, 0x4063C220, + 0x40646420, 0x00000003, 0x4062AC26, 0x4063C220, 0x40646420, 0x00000003, + 0x4062AC27, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC28, 0x4063C220, + 0x40646420, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646420, 0x00000003, + 0x4062AC2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC21, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062AC22, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062AC23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062AC25, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062AC26, 0x4063C220, 0x40646A20, 0x00000003, + // Block 311, offset 0x4dc0 + 0x4062AC27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062AC21, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC22, 0x4063C220, + 0x40647220, 0x00000003, 0x4062AC23, 0x4063C220, 0x40647220, 0x00000003, + 0x4062AC24, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC25, 0x4063C220, + 0x40647220, 0x00000003, 0x4062AC26, 0x4063C220, 0x40647220, 0x00000003, + 0x4062AC27, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC28, 0x4063C220, + 0x40647220, 0x00000003, 0x4062AC21, 0x4063C220, 0x40648C20, 0x00000003, + 0x4062AC22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC23, 0x4063C220, + 0x40648C20, 0x00000003, 0x4062AC24, 0x4063C220, 0x40648C20, 0x00000003, + 0x4062AC25, 0x4063C220, 0x40648C20, 0x00000003, + // Block 312, offset 0x4e00 + 0x4062AC26, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063C220, + 0x40648C20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40646A20, 0x00000003, + 0x4062AC22, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063C420, + 0x40646A20, 0x00000003, 0x4062AC24, 0x4063C420, 0x40646A20, 0x00000003, + 0x4062AC25, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063C420, + 0x40646A20, 0x00000003, 0x4062AC27, 0x4063C420, 0x40646A20, 0x00000003, + 0x4062AC28, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063C420, + 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063C420, 0x40646A20, 0x00000003, + 0x4062AC2B, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063C420, + 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063C420, 0x40646A20, 0x00000003, + 0x4062AC2E, 0x4063C420, 0x40646A20, 0x00000003, + // Block 313, offset 0x4e40 + 0x4062AC2F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063C420, + 0x40646A20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40647220, 0x00000003, + 0x4062AC22, 0x4063C420, 0x40647220, 0x00000003, 0x4062AC23, 0x4063C420, + 0x40647220, 0x00000003, 0x4062AC24, 0x4063C420, 0x40647220, 0x00000003, + 0x4062AC25, 0x4063C420, 0x40647220, 0x00000002, 0x4062AC21, 0x4063C620, + 0x00000002, 0x4062AC22, 0x4063C620, 0x00000002, 0x4062AC23, 0x4063C620, + 0x00000002, 0x4062AC24, 0x4063C620, 0x00000002, 0x4062AC25, 0x4063C620, + 0x00000002, 0x4062AC26, 0x4063C620, 0x00000002, 0x4062AC27, 0x4063C620, + 0x00000002, 0x4062AC28, 0x4063C620, 0x00000002, 0x4062AC29, 0x4063C620, + 0x00000002, 0x4062AC2A, 0x4063C620, 0x00000002, 0x4062AC2B, 0x4063C620, + 0x00000002, 0x4062AC2C, 0x4063C620, 0x00000002, + // Block 314, offset 0x4e80 + 0x4062AC2D, 0x4063C620, 0x00000002, 0x4062AC2E, 0x4063C620, 0x00000002, + 0x4062AC2F, 0x4063C620, 0x00000002, 0x4062AC30, 0x4063C620, 0x00000002, + 0x4062AC31, 0x4063C620, 0x00000002, 0x4062AC32, 0x4063C620, 0x00000002, + 0x4062AC33, 0x4063C620, 0x00000002, 0x4062AC34, 0x4063C620, 0x00000002, + 0x4062AC21, 0x4063C820, 0x00000002, 0x4062AC22, 0x4063C820, 0x00000002, + 0x4062AC23, 0x4063C820, 0x00000002, 0x4062AC24, 0x4063C820, 0x00000002, + 0x4062AC21, 0x4063CA20, 0x00000002, 0x4062AC22, 0x4063CA20, 0x00000002, + 0x4062AC23, 0x4063CA20, 0x00000002, 0x4062AC24, 0x4063CA20, 0x00000002, + 0x4062AC25, 0x4063CA20, 0x00000002, 0x4062AC26, 0x4063CA20, 0x00000002, + 0x4062AC27, 0x4063CA20, 0x00000002, 0x4062AC28, 0x4063CA20, 0x00000002, + 0x4062AC29, 0x4063CA20, 0x00000002, 0x4062AC2A, + // Block 315, offset 0x4ec0 + 0x4063CA20, 0x00000002, 0x4062AC2B, 0x4063CA20, 0x00000002, 0x4062AC2C, + 0x4063CA20, 0x00000002, 0x4062AC2D, 0x4063CA20, 0x00000002, 0x4062AC2E, + 0x4063CA20, 0x00000002, 0x4062AC2F, 0x4063CA20, 0x00000002, 0x4062AC30, + 0x4063CA20, 0x00000002, 0x4062AC31, 0x4063CA20, 0x00000002, 0x4062AC32, + 0x4063CA20, 0x00000002, 0x4062AC33, 0x4063CA20, 0x00000002, 0x4062AC34, + 0x4063CA20, 0x00000002, 0x4062AC35, 0x4063CA20, 0x00000002, 0x4062AC36, + 0x4063CA20, 0x00000002, 0x4062AC37, 0x4063CA20, 0x00000002, 0x4062AC38, + 0x4063CA20, 0x00000002, 0x4062AC39, 0x4063CA20, 0x00000002, 0x4062AC3A, + 0x4063CA20, 0x00000002, 0x4062AC3B, 0x4063CA20, 0x00000002, 0x4062AC3C, + 0x4063CA20, 0x00000002, 0x4062AC3D, 0x4063CA20, 0x00000002, 0x4062AC3E, + 0x4063CA20, 0x00000002, 0x4062AC3F, 0x4063CA20, + // Block 316, offset 0x4f00 + 0x00000002, 0x4062AC40, 0x4063CA20, 0x00000003, 0x4062AC21, 0x4063CA20, + 0x40646A20, 0x00000003, 0x4062AC22, 0x4063CA20, 0x40646A20, 0x00000003, + 0x4062AC23, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063CA20, + 0x40646A20, 0x00000003, 0x4062AC25, 0x4063CA20, 0x40646A20, 0x00000003, + 0x4062AC26, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC27, 0x4063CA20, + 0x40646A20, 0x00000003, 0x4062AC28, 0x4063CA20, 0x40646A20, 0x00000003, + 0x4062AC21, 0x4063CA20, 0x40647220, 0x00000003, 0x4062AC21, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40646420, 0x00000003, + 0x4062AC23, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC24, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40646420, 0x00000003, + 0x4062AC26, 0x4063CC20, 0x40646420, 0x00000003, + // Block 317, offset 0x4f40 + 0x4062AC27, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC28, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40646420, 0x00000003, + 0x4062AC2A, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC2B, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC22, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC24, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC25, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC27, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC28, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC2B, 0x4063CC20, 0x40646A20, 0x00000003, + // Block 318, offset 0x4f80 + 0x4062AC2C, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC2F, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC32, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC34, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC35, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC37, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062AC38, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC22, 0x4063CC20, 0x40648220, 0x00000003, + // Block 319, offset 0x4fc0 + 0x4062AC23, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC24, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC26, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC27, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062AC28, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC29, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2A, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062AC2B, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC2C, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC2F, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC30, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062AC32, 0x4063CC20, 0x40648220, 0x00000003, + // Block 320, offset 0x5000 + 0x4062AC21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC22, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062AC23, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062AC24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC25, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062AC27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC28, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062AC2A, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC2B, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062AC2C, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062AC2D, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC21, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40648C20, 0x00000003, + 0x4062AC23, 0x4063CC20, 0x40648C20, 0x00000003, + // Block 321, offset 0x5040 + 0x4062AC24, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648C20, 0x00000002, + 0x4062AC21, 0x4063D020, 0x00000002, 0x4062AC22, 0x4063D020, 0x00000002, + 0x4062AC23, 0x4063D020, 0x00000002, 0x4062AC24, 0x4063D020, 0x00000002, + 0x4062AC25, 0x4063D020, 0x00000002, 0x4062AC26, 0x4063D020, 0x00000002, + 0x4062AC27, 0x4063D020, 0x00000002, 0x4062AC28, 0x4063D020, 0x00000002, + 0x4062AC29, 0x4063D020, 0x00000002, 0x4062AC2A, 0x4063D020, 0x00000002, + 0x4062AC2B, 0x4063D020, 0x00000002, 0x4062AC2C, 0x4063D020, 0x00000002, + 0x4062AC2D, 0x4063D020, 0x00000002, 0x4062AC2E, 0x4063D020, 0x00000002, + 0x4062AC2F, 0x4063D020, 0x00000002, 0x4062AC30, 0x4063D020, 0x00000002, + 0x4062AC31, 0x4063D020, 0x00000002, 0x4062AC32, + // Block 322, offset 0x5080 + 0x4063D020, 0x00000002, 0x4062AC33, 0x4063D020, 0x00000002, 0x4062AC34, + 0x4063D020, 0x00000002, 0x4062AC35, 0x4063D020, 0x00000002, 0x4062AC36, + 0x4063D020, 0x00000002, 0x4062AC37, 0x4063D020, 0x00000002, 0x4062AC38, + 0x4063D020, 0x00000002, 0x4062AC39, 0x4063D020, 0x00000002, 0x4062AC3A, + 0x4063D020, 0x00000002, 0x4062AC3B, 0x4063D020, 0x00000002, 0x4062AC3C, + 0x4063D020, 0x00000002, 0x4062AC3D, 0x4063D020, 0x00000002, 0x4062AC3E, + 0x4063D020, 0x00000002, 0x4062AC3F, 0x4063D020, 0x00000002, 0x4062AC40, + 0x4063D020, 0x00000002, 0x4062AC41, 0x4063D020, 0x00000002, 0x4062AC42, + 0x4063D020, 0x00000002, 0x4062AC43, 0x4063D020, 0x00000002, 0x4062AC44, + 0x4063D020, 0x00000002, 0x4062AC45, 0x4063D020, 0x00000002, 0x4062AC46, + 0x4063D020, 0x00000002, 0x4062AC47, 0x4063D020, + // Block 323, offset 0x50c0 + 0x00000002, 0x4062AC48, 0x4063D020, 0x00000002, 0x4062AC49, 0x4063D020, + 0x00000002, 0x4062AC4A, 0x4063D020, 0x00000002, 0x4062AC4B, 0x4063D020, + 0x00000002, 0x4062AC4C, 0x4063D020, 0x00000002, 0x4062AC4D, 0x4063D020, + 0x00000002, 0x4062AC4E, 0x4063D020, 0x00000002, 0x4062AC4F, 0x4063D020, + 0x00000002, 0x4062AC50, 0x4063D020, 0x00000002, 0x4062AC51, 0x4063D020, + 0x00000002, 0x4062AC52, 0x4063D020, 0x00000002, 0x4062AC53, 0x4063D020, + 0x00000002, 0x4062AC54, 0x4063D020, 0x00000002, 0x4062AC55, 0x4063D020, + 0x00000002, 0x4062AC56, 0x4063D020, 0x00000002, 0x4062AC57, 0x4063D020, + 0x00000002, 0x4062AC58, 0x4063D020, 0x00000002, 0x4062AC59, 0x4063D020, + 0x00000002, 0x4062AC5A, 0x4063D020, 0x00000002, 0x4062AC5B, 0x4063D020, + 0x00000002, 0x4062AC5C, 0x4063D020, 0x00000002, + // Block 324, offset 0x5100 + 0x4062AC5D, 0x4063D020, 0x00000002, 0x4062AC5E, 0x4063D020, 0x00000002, + 0x4062AC5F, 0x4063D020, 0x00000002, 0x4062AC60, 0x4063D020, 0x00000002, + 0x4062AC61, 0x4063D020, 0x00000002, 0x4062AC62, 0x4063D020, 0x00000002, + 0x4062AC63, 0x4063D020, 0x00000002, 0x4062AC64, 0x4063D020, 0x00000002, + 0x4062AC65, 0x4063D020, 0x00000002, 0x4062AC66, 0x4063D020, 0x00000002, + 0x4062AC67, 0x4063D020, 0x00000002, 0x4062AC68, 0x4063D020, 0x00000002, + 0x4062AC69, 0x4063D020, 0x00000002, 0x4062AC6A, 0x4063D020, 0x00000002, + 0x4062AC6B, 0x4063D020, 0x00000002, 0x4062AC6C, 0x4063D020, 0x00000002, + 0x4062AC6D, 0x4063D020, 0x00000002, 0x4062AC6E, 0x4063D020, 0x00000002, + 0x4062AC6F, 0x4063D020, 0x00000002, 0x4062AC70, 0x4063D020, 0x00000002, + 0x4062AC71, 0x4063D020, 0x00000002, 0x4062AC72, + // Block 325, offset 0x5140 + 0x4063D020, 0x00000002, 0x4062AC73, 0x4063D020, 0x00000002, 0x4062AC74, + 0x4063D020, 0x00000002, 0x4062AC75, 0x4063D020, 0x00000002, 0x4062AC76, + 0x4063D020, 0x00000002, 0x4062AC77, 0x4063D020, 0x00000002, 0x4062AC78, + 0x4063D020, 0x00000002, 0x4062AC79, 0x4063D020, 0x00000002, 0x4062AC7A, + 0x4063D020, 0x00000002, 0x4062AC7B, 0x4063D020, 0x00000002, 0x4062AC7C, + 0x4063D020, 0x00000002, 0x4062AC7D, 0x4063D020, 0x00000002, 0x4062AC7E, + 0x4063D020, 0x00000002, 0x4062AC7F, 0x4063D020, 0x00000002, 0x4062AC80, + 0x4063D020, 0x00000002, 0x4062AC81, 0x4063D020, 0x00000002, 0x4062AC82, + 0x4063D020, 0x00000002, 0x4062AC83, 0x4063D020, 0x00000002, 0x4062AC84, + 0x4063D020, 0x00000003, 0x4062AC21, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062AC21, 0x4063D020, 0x40647220, 0x00000003, + // Block 326, offset 0x5180 + 0x4062AC22, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC23, 0x4063D020, + 0x40647220, 0x00000003, 0x4062AC24, 0x4063D020, 0x40647220, 0x00000003, + 0x4062AC25, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC26, 0x4063D020, + 0x40647220, 0x00000003, 0x4062AC21, 0x4063D020, 0x40648220, 0x00000003, + 0x4062AE21, 0x4063D020, 0x40646420, 0x00000002, 0x4062B021, 0x4063A820, + 0x00000002, 0x4062B022, 0x4063A820, 0x00000002, 0x4062B023, 0x4063A820, + 0x00000002, 0x4062B024, 0x4063A820, 0x00000002, 0x4062B025, 0x4063A820, + 0x00000002, 0x4062B026, 0x4063A820, 0x00000002, 0x4062B027, 0x4063A820, + 0x00000002, 0x4062B028, 0x4063A820, 0x00000002, 0x4062B029, 0x4063A820, + 0x00000002, 0x4062B02A, 0x4063A820, 0x00000002, 0x4062B02B, 0x4063A820, + 0x00000003, 0x4062B021, 0x4063A820, 0x40646420, + // Block 327, offset 0x51c0 + 0x00000003, 0x4062B021, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B022, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B023, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B024, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B025, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B026, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B027, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B021, + 0x4063A820, 0x40647220, 0x00000003, 0x4062B022, 0x4063A820, 0x40647220, + 0x00000003, 0x4062B021, 0x4063A820, 0x40648220, 0x00000003, 0x4062B022, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B023, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B024, 0x4063A820, 0x40648220, 0x00000003, 0x4062B025, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B026, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B027, 0x4063A820, 0x40648220, + // Block 328, offset 0x5200 + 0x00000003, 0x4062B021, 0x4063A820, 0x40648420, 0x00000003, 0x4062B022, + 0x4063A820, 0x40648420, 0x00000003, 0x4062B021, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B022, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B023, + 0x4063A820, 0x40648C20, 0x00000002, 0x4062B021, 0x4063AA20, 0x00000002, + 0x4062B022, 0x4063AA20, 0x00000002, 0x4062B023, 0x4063AA20, 0x00000002, + 0x4062B024, 0x4063AA20, 0x00000002, 0x4062B025, 0x4063AA20, 0x00000002, + 0x4062B026, 0x4063AA20, 0x00000002, 0x4062B027, 0x4063AA20, 0x00000002, + 0x4062B028, 0x4063AA20, 0x00000002, 0x4062B029, 0x4063AA20, 0x00000002, + 0x4062B02A, 0x4063AA20, 0x00000002, 0x4062B021, 0x4063B420, 0x00000003, + 0x4062B021, 0x4063B420, 0x40646420, 0x00000003, 0x4062B021, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062B022, 0x4063B420, + // Block 329, offset 0x5240 + 0x40646A20, 0x00000003, 0x4062B023, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062B024, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B021, 0x4063B420, + 0x40648220, 0x00000003, 0x4062B022, 0x4063B420, 0x40648220, 0x00000003, + 0x4062B023, 0x4063B420, 0x40648220, 0x00000003, 0x4062B024, 0x4063B420, + 0x40648220, 0x00000003, 0x4062B021, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062B022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B023, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062B024, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062B025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B026, 0x4063B420, + 0x40648C20, 0x00000002, 0x4062B021, 0x4063B820, 0x00000002, 0x4062B022, + 0x4063B820, 0x00000002, 0x4062B023, 0x4063B820, 0x00000002, 0x4062B024, + 0x4063B820, 0x00000002, 0x4062B025, 0x4063B820, + // Block 330, offset 0x5280 + 0x00000002, 0x4062B026, 0x4063B820, 0x00000002, 0x4062B027, 0x4063B820, + 0x00000002, 0x4062B028, 0x4063B820, 0x00000002, 0x4062B029, 0x4063B820, + 0x00000002, 0x4062B02A, 0x4063B820, 0x00000002, 0x4062B02B, 0x4063B820, + 0x00000002, 0x4062B02C, 0x4063B820, 0x00000003, 0x4062B021, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B022, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B023, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B024, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B025, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B026, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B027, 0x4063B820, + 0x40648C20, 0x00000002, 0x4062B021, 0x4063BE20, 0x00000002, 0x4062B022, + 0x4063BE20, 0x00000002, 0x4062B023, 0x4063BE20, 0x00000002, 0x4062B021, + 0x4063C020, 0x00000002, 0x4062B022, 0x4063C020, + // Block 331, offset 0x52c0 + 0x00000002, 0x4062B023, 0x4063C020, 0x00000002, 0x4062B024, 0x4063C020, + 0x00000002, 0x4062B025, 0x4063C020, 0x00000002, 0x4062B026, 0x4063C020, + 0x00000002, 0x4062B027, 0x4063C020, 0x00000002, 0x4062B021, 0x4063C220, + 0x00000002, 0x4062B022, 0x4063C220, 0x00000003, 0x4062B021, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B021, 0x4063C220, 0x40647220, 0x00000003, + 0x4062B022, 0x4063C220, 0x40647220, 0x00000003, 0x4062B023, 0x4063C220, + 0x40647220, 0x00000002, 0x4062B021, 0x4063CA20, 0x00000002, 0x4062B022, + 0x4063CA20, 0x00000002, 0x4062B023, 0x4063CA20, 0x00000002, 0x4062B024, + 0x4063CA20, 0x00000003, 0x4062B021, 0x4063CA20, 0x40646420, 0x00000003, + 0x4062B021, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B021, 0x4063D020, + 0x00000002, 0x4062B022, 0x4063D020, 0x00000002, + // Block 332, offset 0x5300 + 0x4062B023, 0x4063D020, 0x00000002, 0x4062B024, 0x4063D020, 0x00000002, + 0x4062B025, 0x4063D020, 0x00000002, 0x4062B026, 0x4063D020, 0x00000002, + 0x4062B027, 0x4063D020, 0x00000002, 0x4062B028, 0x4063D020, 0x00000003, + 0x4062B021, 0x4063D020, 0x40646420, 0x00000003, 0x4062B022, 0x4063D020, + 0x40646420, 0x00000003, 0x4062B023, 0x4063D020, 0x40646420, 0x00000003, + 0x4062B024, 0x4063D020, 0x40646420, 0x00000002, 0x4062B221, 0x4063A820, + 0x00000002, 0x4062B222, 0x4063A820, 0x00000002, 0x4062B223, 0x4063A820, + 0x00000003, 0x4062B221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B222, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B223, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B225, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B226, + // Block 333, offset 0x5340 + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B227, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B229, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22F, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B230, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B231, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B232, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B233, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B234, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B235, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B236, + // Block 334, offset 0x5380 + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B237, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B238, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B239, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B23B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B23C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062B23D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062B221, 0x4063A820, 0x40647220, 0x00000003, 0x4062B222, + 0x4063A820, 0x40647220, 0x00000003, 0x4062B223, 0x4063A820, 0x40647220, + 0x00000003, 0x4062B224, 0x4063A820, 0x40647220, 0x00000003, 0x4062B225, + 0x4063A820, 0x40647220, 0x00000003, 0x4062B226, 0x4063A820, 0x40647220, + 0x00000003, 0x4062B227, 0x4063A820, 0x40647220, 0x00000003, 0x4062B228, + 0x4063A820, 0x40647220, 0x00000003, 0x4062B229, + // Block 335, offset 0x53c0 + 0x4063A820, 0x40647220, 0x00000003, 0x4062B22A, 0x4063A820, 0x40647220, + 0x00000003, 0x4062B221, 0x4063A820, 0x40648220, 0x00000003, 0x4062B222, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B223, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B224, 0x4063A820, 0x40648220, 0x00000003, 0x4062B225, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B226, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B227, 0x4063A820, 0x40648220, 0x00000003, 0x4062B228, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B229, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22B, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B22C, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B22D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22E, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B22F, + // Block 336, offset 0x5400 + 0x4063A820, 0x40648220, 0x00000003, 0x4062B230, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B231, 0x4063A820, 0x40648220, 0x00000003, 0x4062B232, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B233, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B234, 0x4063A820, 0x40648220, 0x00000003, 0x4062B235, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B236, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B237, 0x4063A820, 0x40648220, 0x00000003, 0x4062B238, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B239, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B23A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B23B, + 0x4063A820, 0x40648220, 0x00000003, 0x4062B23C, 0x4063A820, 0x40648220, + 0x00000003, 0x4062B23D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B221, + 0x4063A820, 0x40648420, 0x00000003, 0x4062B222, + // Block 337, offset 0x5440 + 0x4063A820, 0x40648420, 0x00000003, 0x4062B223, 0x4063A820, 0x40648420, + 0x00000003, 0x4062B224, 0x4063A820, 0x40648420, 0x00000003, 0x4062B225, + 0x4063A820, 0x40648420, 0x00000003, 0x4062B221, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B222, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B223, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B224, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B225, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B226, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B228, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B229, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B22B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22C, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22D, + // Block 338, offset 0x5480 + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22E, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B22F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B230, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B231, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B232, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B233, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B234, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B235, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B236, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B238, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B239, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062B23B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B23C, + 0x4063A820, 0x40648C20, 0x00000002, 0x4062B221, + // Block 339, offset 0x54c0 + 0x4063AA20, 0x00000002, 0x4062B222, 0x4063AA20, 0x00000002, 0x4062B223, + 0x4063AA20, 0x00000002, 0x4062B224, 0x4063AA20, 0x00000002, 0x4062B225, + 0x4063AA20, 0x00000002, 0x4062B226, 0x4063AA20, 0x00000002, 0x4062B227, + 0x4063AA20, 0x00000002, 0x4062B228, 0x4063AA20, 0x00000002, 0x4062B229, + 0x4063AA20, 0x00000002, 0x4062B22A, 0x4063AA20, 0x00000002, 0x4062B22B, + 0x4063AA20, 0x00000002, 0x4062B22C, 0x4063AA20, 0x00000002, 0x4062B22D, + 0x4063AA20, 0x00000002, 0x4062B22E, 0x4063AA20, 0x00000002, 0x4062B22F, + 0x4063AA20, 0x00000002, 0x4062B230, 0x4063AA20, 0x00000002, 0x4062B231, + 0x4063AA20, 0x00000002, 0x4062B232, 0x4063AA20, 0x00000002, 0x4062B233, + 0x4063AA20, 0x00000002, 0x4062B234, 0x4063AA20, 0x00000002, 0x4062B235, + 0x4063AA20, 0x00000002, 0x4062B236, 0x4063AA20, + // Block 340, offset 0x5500 + 0x00000003, 0x4062B221, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B221, + 0x4063B020, 0x40646420, 0x00000003, 0x4062B222, 0x4063B020, 0x40646420, + 0x00000002, 0x4062B221, 0x4063B820, 0x00000002, 0x4062B222, 0x4063B820, + 0x00000002, 0x4062B223, 0x4063B820, 0x00000002, 0x4062B224, 0x4063B820, + 0x00000002, 0x4062B225, 0x4063B820, 0x00000002, 0x4062B226, 0x4063B820, + 0x00000002, 0x4062B227, 0x4063B820, 0x00000002, 0x4062B228, 0x4063B820, + 0x00000002, 0x4062B229, 0x4063B820, 0x00000002, 0x4062B22A, 0x4063B820, + 0x00000002, 0x4062B22B, 0x4063B820, 0x00000002, 0x4062B22C, 0x4063B820, + 0x00000002, 0x4062B22D, 0x4063B820, 0x00000002, 0x4062B22E, 0x4063B820, + 0x00000002, 0x4062B22F, 0x4063B820, 0x00000002, 0x4062B230, 0x4063B820, + 0x00000002, 0x4062B231, 0x4063B820, 0x00000002, + // Block 341, offset 0x5540 + 0x4062B232, 0x4063B820, 0x00000002, 0x4062B233, 0x4063B820, 0x00000002, + 0x4062B234, 0x4063B820, 0x00000002, 0x4062B235, 0x4063B820, 0x00000002, + 0x4062B236, 0x4063B820, 0x00000002, 0x4062B237, 0x4063B820, 0x00000002, + 0x4062B238, 0x4063B820, 0x00000002, 0x4062B239, 0x4063B820, 0x00000002, + 0x4062B23A, 0x4063B820, 0x00000002, 0x4062B23B, 0x4063B820, 0x00000002, + 0x4062B23C, 0x4063B820, 0x00000002, 0x4062B23D, 0x4063B820, 0x00000002, + 0x4062B23E, 0x4063B820, 0x00000002, 0x4062B23F, 0x4063B820, 0x00000002, + 0x4062B240, 0x4063B820, 0x00000002, 0x4062B241, 0x4063B820, 0x00000002, + 0x4062B242, 0x4063B820, 0x00000002, 0x4062B243, 0x4063B820, 0x00000002, + 0x4062B244, 0x4063B820, 0x00000002, 0x4062B245, 0x4063B820, 0x00000002, + 0x4062B246, 0x4063B820, 0x00000002, 0x4062B247, + // Block 342, offset 0x5580 + 0x4063B820, 0x00000002, 0x4062B248, 0x4063B820, 0x00000002, 0x4062B249, + 0x4063B820, 0x00000002, 0x4062B24A, 0x4063B820, 0x00000002, 0x4062B24B, + 0x4063B820, 0x00000002, 0x4062B24C, 0x4063B820, 0x00000002, 0x4062B24D, + 0x4063B820, 0x00000002, 0x4062B24E, 0x4063B820, 0x00000002, 0x4062B24F, + 0x4063B820, 0x00000002, 0x4062B250, 0x4063B820, 0x00000002, 0x4062B251, + 0x4063B820, 0x00000002, 0x4062B252, 0x4063B820, 0x00000002, 0x4062B253, + 0x4063B820, 0x00000002, 0x4062B254, 0x4063B820, 0x00000002, 0x4062B255, + 0x4063B820, 0x00000002, 0x4062B256, 0x4063B820, 0x00000002, 0x4062B257, + 0x4063B820, 0x00000002, 0x4062B258, 0x4063B820, 0x00000002, 0x4062B259, + 0x4063B820, 0x00000002, 0x4062B25A, 0x4063B820, 0x00000002, 0x4062B25B, + 0x4063B820, 0x00000003, 0x4062B221, 0x4063B820, + // Block 343, offset 0x55c0 + 0x40646420, 0x00000003, 0x4062B222, 0x4063B820, 0x40646420, 0x00000003, + 0x4062B223, 0x4063B820, 0x40646420, 0x00000003, 0x4062B224, 0x4063B820, + 0x40646420, 0x00000003, 0x4062B225, 0x4063B820, 0x40646420, 0x00000003, + 0x4062B226, 0x4063B820, 0x40646420, 0x00000003, 0x4062B227, 0x4063B820, + 0x40646420, 0x00000003, 0x4062B228, 0x4063B820, 0x40646420, 0x00000003, + 0x4062B229, 0x4063B820, 0x40646420, 0x00000003, 0x4062B22A, 0x4063B820, + 0x40646420, 0x00000003, 0x4062B22B, 0x4063B820, 0x40646420, 0x00000003, + 0x4062B22C, 0x4063B820, 0x40646420, 0x00000003, 0x4062B221, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062B222, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062B223, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B224, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062B225, 0x4063B820, + // Block 344, offset 0x5600 + 0x40646A20, 0x00000003, 0x4062B226, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062B227, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B228, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062B229, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062B22A, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B22B, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062B22C, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062B22D, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B221, 0x4063B820, + 0x40647220, 0x00000003, 0x4062B222, 0x4063B820, 0x40647220, 0x00000003, + 0x4062B223, 0x4063B820, 0x40647220, 0x00000003, 0x4062B224, 0x4063B820, + 0x40647220, 0x00000003, 0x4062B221, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B222, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B223, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B224, 0x4063B820, + // Block 345, offset 0x5640 + 0x40648C20, 0x00000003, 0x4062B225, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B226, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B228, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B229, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B22B, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B22C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22D, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B22E, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B22F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B230, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B231, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B232, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B233, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B234, 0x4063B820, + // Block 346, offset 0x5680 + 0x40648C20, 0x00000003, 0x4062B235, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B236, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B238, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B239, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B23B, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B23C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23D, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B23E, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062B23F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B240, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062B241, 0x4063B820, 0x40648C20, 0x00000002, + 0x4062B221, 0x4063C220, 0x00000002, 0x4062B222, 0x4063C220, 0x00000002, + 0x4062B223, 0x4063C220, 0x00000002, 0x4062B224, + // Block 347, offset 0x56c0 + 0x4063C220, 0x00000002, 0x4062B225, 0x4063C220, 0x00000002, 0x4062B226, + 0x4063C220, 0x00000002, 0x4062B227, 0x4063C220, 0x00000002, 0x4062B228, + 0x4063C220, 0x00000002, 0x4062B229, 0x4063C220, 0x00000002, 0x4062B22A, + 0x4063C220, 0x00000002, 0x4062B22B, 0x4063C220, 0x00000002, 0x4062B22C, + 0x4063C220, 0x00000002, 0x4062B22D, 0x4063C220, 0x00000002, 0x4062B22E, + 0x4063C220, 0x00000002, 0x4062B22F, 0x4063C220, 0x00000002, 0x4062B230, + 0x4063C220, 0x00000002, 0x4062B231, 0x4063C220, 0x00000003, 0x4062B221, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062B222, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062B223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B224, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062B225, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062B226, 0x4063C220, 0x40646A20, + // Block 348, offset 0x5700 + 0x00000003, 0x4062B227, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B228, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062B221, 0x4063C220, 0x40647220, + 0x00000003, 0x4062B221, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B221, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B222, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B223, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B224, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B225, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B226, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B227, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B228, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B229, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22A, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22B, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B22C, 0x4063CC20, 0x40648C20, + // Block 349, offset 0x5740 + 0x00000003, 0x4062B22D, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22E, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22F, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B230, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B231, + 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621, 0x4063A820, 0x00000002, + 0x4062B622, 0x4063A820, 0x00000002, 0x4062B623, 0x4063A820, 0x00000002, + 0x4062B624, 0x4063A820, 0x00000002, 0x4062B625, 0x4063A820, 0x00000002, + 0x4062B626, 0x4063A820, 0x00000002, 0x4062B627, 0x4063A820, 0x00000002, + 0x4062B628, 0x4063A820, 0x00000002, 0x4062B629, 0x4063A820, 0x00000002, + 0x4062B62A, 0x4063A820, 0x00000002, 0x4062B62B, 0x4063A820, 0x00000002, + 0x4062B62C, 0x4063A820, 0x00000002, 0x4062B62D, 0x4063A820, 0x00000002, + 0x4062B62E, 0x4063A820, 0x00000002, 0x4062B62F, + // Block 350, offset 0x5780 + 0x4063A820, 0x00000002, 0x4062B630, 0x4063A820, 0x00000002, 0x4062B631, + 0x4063A820, 0x00000003, 0x4062B621, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B622, 0x4063A820, 0x40646420, 0x00000003, 0x4062B623, 0x4063A820, + 0x40646420, 0x00000003, 0x4062B624, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B625, 0x4063A820, 0x40646420, 0x00000003, 0x4062B626, 0x4063A820, + 0x40646420, 0x00000003, 0x4062B627, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B628, 0x4063A820, 0x40646420, 0x00000003, 0x4062B629, 0x4063A820, + 0x40646420, 0x00000003, 0x4062B621, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B622, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B623, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B624, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B625, 0x4063A820, 0x40646A20, 0x00000003, + // Block 351, offset 0x57c0 + 0x4062B626, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B627, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B628, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B629, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62A, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B62C, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62D, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B62F, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B621, 0x4063A820, + 0x40647220, 0x00000003, 0x4062B622, 0x4063A820, 0x40647220, 0x00000003, + 0x4062B623, 0x4063A820, 0x40647220, 0x00000003, 0x4062B624, 0x4063A820, + 0x40647220, 0x00000003, 0x4062B621, 0x4063A820, 0x40648220, 0x00000003, + 0x4062B622, 0x4063A820, 0x40648220, 0x00000003, + // Block 352, offset 0x5800 + 0x4062B623, 0x4063A820, 0x40648220, 0x00000003, 0x4062B624, 0x4063A820, + 0x40648220, 0x00000003, 0x4062B625, 0x4063A820, 0x40648220, 0x00000003, + 0x4062B626, 0x4063A820, 0x40648220, 0x00000003, 0x4062B627, 0x4063A820, + 0x40648220, 0x00000003, 0x4062B628, 0x4063A820, 0x40648220, 0x00000003, + 0x4062B629, 0x4063A820, 0x40648220, 0x00000003, 0x4062B62A, 0x4063A820, + 0x40648220, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648220, 0x00000003, + 0x4062B62C, 0x4063A820, 0x40648220, 0x00000003, 0x4062B621, 0x4063A820, + 0x40648420, 0x00000003, 0x4062B622, 0x4063A820, 0x40648420, 0x00000003, + 0x4062B623, 0x4063A820, 0x40648420, 0x00000003, 0x4062B624, 0x4063A820, + 0x40648420, 0x00000003, 0x4062B621, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B622, 0x4063A820, 0x40648C20, 0x00000003, + // Block 353, offset 0x5840 + 0x4062B623, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B624, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B625, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B626, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B628, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B629, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B62C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40648C20, 0x00000002, + 0x4062B621, 0x4063AA20, 0x00000002, 0x4062B622, 0x4063AA20, 0x00000002, + 0x4062B623, 0x4063AA20, 0x00000002, 0x4062B624, 0x4063AA20, 0x00000002, + 0x4062B625, 0x4063AA20, 0x00000002, 0x4062B626, + // Block 354, offset 0x5880 + 0x4063AA20, 0x00000003, 0x4062B621, 0x4063AA20, 0x40648C20, 0x00000003, + 0x4062B621, 0x4063AC20, 0x40646420, 0x00000003, 0x4062B622, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062B623, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062B621, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B622, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B623, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062B624, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B625, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B626, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062B627, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B628, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B629, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062B62A, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B62C, 0x4063AC20, + // Block 355, offset 0x58c0 + 0x40648C20, 0x00000003, 0x4062B62D, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062B62E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62F, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B630, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062B631, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B632, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062B633, 0x4063AC20, 0x40648C20, 0x00000002, + 0x4062B621, 0x4063B420, 0x00000002, 0x4062B622, 0x4063B420, 0x00000002, + 0x4062B623, 0x4063B420, 0x00000002, 0x4062B624, 0x4063B420, 0x00000002, + 0x4062B625, 0x4063B420, 0x00000002, 0x4062B626, 0x4063B420, 0x00000002, + 0x4062B627, 0x4063B420, 0x00000002, 0x4062B628, 0x4063B420, 0x00000002, + 0x4062B629, 0x4063B420, 0x00000002, 0x4062B62A, 0x4063B420, 0x00000002, + 0x4062B62B, 0x4063B420, 0x00000002, 0x4062B62C, + // Block 356, offset 0x5900 + 0x4063B420, 0x00000002, 0x4062B62D, 0x4063B420, 0x00000002, 0x4062B62E, + 0x4063B420, 0x00000002, 0x4062B62F, 0x4063B420, 0x00000002, 0x4062B630, + 0x4063B420, 0x00000002, 0x4062B631, 0x4063B420, 0x00000002, 0x4062B632, + 0x4063B420, 0x00000002, 0x4062B633, 0x4063B420, 0x00000002, 0x4062B634, + 0x4063B420, 0x00000002, 0x4062B635, 0x4063B420, 0x00000002, 0x4062B636, + 0x4063B420, 0x00000002, 0x4062B637, 0x4063B420, 0x00000002, 0x4062B638, + 0x4063B420, 0x00000002, 0x4062B639, 0x4063B420, 0x00000002, 0x4062B63A, + 0x4063B420, 0x00000002, 0x4062B63B, 0x4063B420, 0x00000002, 0x4062B63C, + 0x4063B420, 0x00000002, 0x4062B63D, 0x4063B420, 0x00000003, 0x4062B621, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B622, 0x4063B420, 0x40646420, + 0x00000003, 0x4062B623, 0x4063B420, 0x40646420, + // Block 357, offset 0x5940 + 0x00000003, 0x4062B624, 0x4063B420, 0x40646420, 0x00000003, 0x4062B625, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B626, 0x4063B420, 0x40646420, + 0x00000003, 0x4062B627, 0x4063B420, 0x40646420, 0x00000003, 0x4062B628, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B629, 0x4063B420, 0x40646420, + 0x00000003, 0x4062B62A, 0x4063B420, 0x40646420, 0x00000003, 0x4062B62B, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646420, + 0x00000003, 0x4062B62D, 0x4063B420, 0x40646420, 0x00000003, 0x4062B621, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B622, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B623, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B624, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B625, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B626, 0x4063B420, 0x40646A20, + // Block 358, offset 0x5980 + 0x00000003, 0x4062B627, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B628, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B629, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B62A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62B, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B62D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62E, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B630, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B631, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B632, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B633, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B621, + 0x4063B420, 0x40647220, 0x00000003, 0x4062B622, 0x4063B420, 0x40647220, + 0x00000003, 0x4062B623, 0x4063B420, 0x40647220, + // Block 359, offset 0x59c0 + 0x00000003, 0x4062B624, 0x4063B420, 0x40647220, 0x00000003, 0x4062B625, + 0x4063B420, 0x40647220, 0x00000003, 0x4062B626, 0x4063B420, 0x40647220, + 0x00000003, 0x4062B627, 0x4063B420, 0x40647220, 0x00000003, 0x4062B628, + 0x4063B420, 0x40647220, 0x00000003, 0x4062B629, 0x4063B420, 0x40647220, + 0x00000003, 0x4062B621, 0x4063B420, 0x40648220, 0x00000003, 0x4062B622, + 0x4063B420, 0x40648220, 0x00000003, 0x4062B623, 0x4063B420, 0x40648220, + 0x00000003, 0x4062B624, 0x4063B420, 0x40648220, 0x00000003, 0x4062B625, + 0x4063B420, 0x40648220, 0x00000003, 0x4062B626, 0x4063B420, 0x40648220, + 0x00000003, 0x4062B627, 0x4063B420, 0x40648220, 0x00000003, 0x4062B628, + 0x4063B420, 0x40648220, 0x00000003, 0x4062B621, 0x4063B420, 0x40648420, + 0x00000003, 0x4062B622, 0x4063B420, 0x40648420, + // Block 360, offset 0x5a00 + 0x00000003, 0x4062B623, 0x4063B420, 0x40648420, 0x00000003, 0x4062B621, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B622, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B623, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B624, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B625, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B626, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B627, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B628, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B629, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62A, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B62C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62D, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62E, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B62F, 0x4063B420, 0x40648C20, + // Block 361, offset 0x5a40 + 0x00000003, 0x4062B630, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B631, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B632, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B633, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B634, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B635, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B636, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B637, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B638, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B639, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63A, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63B, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B63C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63D, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63E, 0x4063B420, 0x40648C20, + 0x00000002, 0x4062B621, 0x4063B620, 0x00000002, + // Block 362, offset 0x5a80 + 0x4062B622, 0x4063B620, 0x00000002, 0x4062B623, 0x4063B620, 0x00000002, + 0x4062B624, 0x4063B620, 0x00000002, 0x4062B625, 0x4063B620, 0x00000002, + 0x4062B626, 0x4063B620, 0x00000002, 0x4062B627, 0x4063B620, 0x00000002, + 0x4062B621, 0x4063B820, 0x00000002, 0x4062B622, 0x4063B820, 0x00000002, + 0x4062B623, 0x4063B820, 0x00000002, 0x4062B624, 0x4063B820, 0x00000002, + 0x4062B625, 0x4063B820, 0x00000002, 0x4062B626, 0x4063B820, 0x00000002, + 0x4062B627, 0x4063B820, 0x00000002, 0x4062B628, 0x4063B820, 0x00000002, + 0x4062B629, 0x4063B820, 0x00000002, 0x4062B62A, 0x4063B820, 0x00000002, + 0x4062B62B, 0x4063B820, 0x00000002, 0x4062B62C, 0x4063B820, 0x00000002, + 0x4062B62D, 0x4063B820, 0x00000002, 0x4062B62E, 0x4063B820, 0x00000002, + 0x4062B62F, 0x4063B820, 0x00000002, 0x4062B630, + // Block 363, offset 0x5ac0 + 0x4063B820, 0x00000002, 0x4062B631, 0x4063B820, 0x00000002, 0x4062B632, + 0x4063B820, 0x00000002, 0x4062B633, 0x4063B820, 0x00000002, 0x4062B634, + 0x4063B820, 0x00000002, 0x4062B635, 0x4063B820, 0x00000002, 0x4062B636, + 0x4063B820, 0x00000002, 0x4062B637, 0x4063B820, 0x00000002, 0x4062B638, + 0x4063B820, 0x00000002, 0x4062B639, 0x4063B820, 0x00000002, 0x4062B63A, + 0x4063B820, 0x00000002, 0x4062B63B, 0x4063B820, 0x00000002, 0x4062B63C, + 0x4063B820, 0x00000002, 0x4062B63D, 0x4063B820, 0x00000002, 0x4062B63E, + 0x4063B820, 0x00000002, 0x4062B63F, 0x4063B820, 0x00000003, 0x4062B621, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B622, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B623, 0x4063B820, 0x40646420, 0x00000003, 0x4062B624, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B625, + // Block 364, offset 0x5b00 + 0x4063B820, 0x40646420, 0x00000003, 0x4062B626, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B627, 0x4063B820, 0x40646420, 0x00000003, 0x4062B628, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B629, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B62A, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62B, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B62D, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62E, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B621, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062B621, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B622, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B623, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B624, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B625, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B626, + // Block 365, offset 0x5b40 + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B628, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B629, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B62B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B62C, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B62E, 0x4063B820, 0x40648C20, 0x00000002, 0x4062B621, + 0x4063BE20, 0x00000002, 0x4062B622, 0x4063BE20, 0x00000002, 0x4062B623, + 0x4063BE20, 0x00000002, 0x4062B624, 0x4063BE20, 0x00000002, 0x4062B625, + 0x4063BE20, 0x00000002, 0x4062B626, 0x4063BE20, 0x00000002, 0x4062B627, + 0x4063BE20, 0x00000002, 0x4062B628, 0x4063BE20, 0x00000002, 0x4062B629, + 0x4063BE20, 0x00000002, 0x4062B62A, 0x4063BE20, + // Block 366, offset 0x5b80 + 0x00000002, 0x4062B62B, 0x4063BE20, 0x00000002, 0x4062B62C, 0x4063BE20, + 0x00000002, 0x4062B62D, 0x4063BE20, 0x00000002, 0x4062B62E, 0x4063BE20, + 0x00000002, 0x4062B62F, 0x4063BE20, 0x00000002, 0x4062B630, 0x4063BE20, + 0x00000002, 0x4062B631, 0x4063BE20, 0x00000002, 0x4062B632, 0x4063BE20, + 0x00000002, 0x4062B633, 0x4063BE20, 0x00000002, 0x4062B621, 0x4063C020, + 0x00000002, 0x4062B622, 0x4063C020, 0x00000002, 0x4062B623, 0x4063C020, + 0x00000002, 0x4062B624, 0x4063C020, 0x00000002, 0x4062B625, 0x4063C020, + 0x00000002, 0x4062B626, 0x4063C020, 0x00000002, 0x4062B627, 0x4063C020, + 0x00000002, 0x4062B628, 0x4063C020, 0x00000002, 0x4062B629, 0x4063C020, + 0x00000002, 0x4062B62A, 0x4063C020, 0x00000002, 0x4062B62B, 0x4063C020, + 0x00000002, 0x4062B62C, 0x4063C020, 0x00000002, + // Block 367, offset 0x5bc0 + 0x4062B62D, 0x4063C020, 0x00000002, 0x4062B62E, 0x4063C020, 0x00000002, + 0x4062B62F, 0x4063C020, 0x00000002, 0x4062B630, 0x4063C020, 0x00000002, + 0x4062B631, 0x4063C020, 0x00000002, 0x4062B632, 0x4063C020, 0x00000002, + 0x4062B633, 0x4063C020, 0x00000002, 0x4062B634, 0x4063C020, 0x00000002, + 0x4062B635, 0x4063C020, 0x00000002, 0x4062B636, 0x4063C020, 0x00000002, + 0x4062B637, 0x4063C020, 0x00000002, 0x4062B638, 0x4063C020, 0x00000003, + 0x4062B621, 0x4063C020, 0x40648C20, 0x00000003, 0x4062B622, 0x4063C020, + 0x40648C20, 0x00000002, 0x4062B621, 0x4063C220, 0x00000002, 0x4062B622, + 0x4063C220, 0x00000002, 0x4062B623, 0x4063C220, 0x00000002, 0x4062B624, + 0x4063C220, 0x00000002, 0x4062B625, 0x4063C220, 0x00000002, 0x4062B626, + 0x4063C220, 0x00000002, 0x4062B627, 0x4063C220, + // Block 368, offset 0x5c00 + 0x00000002, 0x4062B628, 0x4063C220, 0x00000002, 0x4062B629, 0x4063C220, + 0x00000002, 0x4062B62A, 0x4063C220, 0x00000002, 0x4062B62B, 0x4063C220, + 0x00000002, 0x4062B62C, 0x4063C220, 0x00000002, 0x4062B62D, 0x4063C220, + 0x00000002, 0x4062B62E, 0x4063C220, 0x00000002, 0x4062B62F, 0x4063C220, + 0x00000002, 0x4062B630, 0x4063C220, 0x00000002, 0x4062B631, 0x4063C220, + 0x00000002, 0x4062B632, 0x4063C220, 0x00000002, 0x4062B633, 0x4063C220, + 0x00000002, 0x4062B634, 0x4063C220, 0x00000002, 0x4062B621, 0x4063CA20, + 0x00000002, 0x4062B622, 0x4063CA20, 0x00000002, 0x4062B623, 0x4063CA20, + 0x00000002, 0x4062B624, 0x4063CA20, 0x00000002, 0x4062B625, 0x4063CA20, + 0x00000002, 0x4062B626, 0x4063CA20, 0x00000002, 0x4062B627, 0x4063CA20, + 0x00000002, 0x4062B628, 0x4063CA20, 0x00000002, + // Block 369, offset 0x5c40 + 0x4062B629, 0x4063CA20, 0x00000002, 0x4062B62A, 0x4063CA20, 0x00000002, + 0x4062B62B, 0x4063CA20, 0x00000002, 0x4062B62C, 0x4063CA20, 0x00000002, + 0x4062B62D, 0x4063CA20, 0x00000002, 0x4062B62E, 0x4063CA20, 0x00000002, + 0x4062B62F, 0x4063CA20, 0x00000002, 0x4062B630, 0x4063CA20, 0x00000002, + 0x4062B631, 0x4063CA20, 0x00000002, 0x4062B632, 0x4063CA20, 0x00000002, + 0x4062B633, 0x4063CA20, 0x00000003, 0x4062B621, 0x4063CA20, 0x40646420, + 0x00000003, 0x4062B622, 0x4063CA20, 0x40646420, 0x00000003, 0x4062B623, + 0x4063CA20, 0x40646420, 0x00000003, 0x4062B624, 0x4063CA20, 0x40646420, + 0x00000003, 0x4062B621, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B622, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B623, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062B624, 0x4063CA20, 0x40646A20, + // Block 370, offset 0x5c80 + 0x00000003, 0x4062B625, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B626, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B627, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062B621, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B622, + 0x4063CA20, 0x40647220, 0x00000003, 0x4062B623, 0x4063CA20, 0x40647220, + 0x00000003, 0x4062B624, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B625, + 0x4063CA20, 0x40647220, 0x00000003, 0x4062B621, 0x4063CA20, 0x40648C20, + 0x00000003, 0x4062B622, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062B623, + 0x4063CA20, 0x40648C20, 0x00000003, 0x4062B621, 0x4063CC20, 0x40646420, + 0x00000003, 0x4062B622, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B623, + 0x4063CC20, 0x40646420, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648220, + 0x00000003, 0x4062B622, 0x4063CC20, 0x40648220, + // Block 371, offset 0x5cc0 + 0x00000003, 0x4062B623, 0x4063CC20, 0x40648220, 0x00000003, 0x4062B624, + 0x4063CC20, 0x40648220, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B622, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B623, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B624, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B625, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B626, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B627, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062B628, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621, + 0x4063D020, 0x00000002, 0x4062B622, 0x4063D020, 0x00000002, 0x4062B623, + 0x4063D020, 0x00000002, 0x4062B624, 0x4063D020, 0x00000002, 0x4062B625, + 0x4063D020, 0x00000002, 0x4062B626, 0x4063D020, 0x00000002, 0x4062B627, + 0x4063D020, 0x00000002, 0x4062B628, 0x4063D020, + // Block 372, offset 0x5d00 + 0x00000002, 0x4062B629, 0x4063D020, 0x00000002, 0x4062B62A, 0x4063D020, + 0x00000002, 0x4062B62B, 0x4063D020, 0x00000002, 0x4062B62C, 0x4063D020, + 0x00000002, 0x4062B62D, 0x4063D020, 0x00000002, 0x4062B62E, 0x4063D020, + 0x00000002, 0x4062B62F, 0x4063D020, 0x00000002, 0x4062B630, 0x4063D020, + 0x00000002, 0x4062B631, 0x4063D020, 0x00000002, 0x4062B632, 0x4063D020, + 0x00000002, 0x4062B633, 0x4063D020, 0x00000002, 0x4062B634, 0x4063D020, + 0x00000002, 0x4062B635, 0x4063D020, 0x00000002, 0x4062B636, 0x4063D020, + 0x00000002, 0x4062B637, 0x4063D020, 0x00000002, 0x4062B638, 0x4063D020, + 0x00000002, 0x4062B639, 0x4063D020, 0x00000002, 0x4062B63A, 0x4063D020, + 0x00000002, 0x4062B63B, 0x4063D020, 0x00000002, 0x4062B63C, 0x4063D020, + 0x00000002, 0x4062B63D, 0x4063D020, 0x00000002, + // Block 373, offset 0x5d40 + 0x4062B63E, 0x4063D020, 0x00000002, 0x4062B63F, 0x4063D020, 0x00000002, + 0x4062B640, 0x4063D020, 0x00000002, 0x4062B641, 0x4063D020, 0x00000002, + 0x4062B642, 0x4063D020, 0x00000002, 0x4062B643, 0x4063D020, 0x00000002, + 0x4062B644, 0x4063D020, 0x00000002, 0x4062B645, 0x4063D020, 0x00000002, + 0x4062B646, 0x4063D020, 0x00000002, 0x4062B647, 0x4063D020, 0x00000003, + 0x4062B621, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B622, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B623, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B624, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B625, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B626, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B627, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B628, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B629, 0x4063D020, + // Block 374, offset 0x5d80 + 0x40646A20, 0x00000003, 0x4062B62A, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B62B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B62D, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B62E, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B630, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B631, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B632, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B633, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062B634, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B635, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062B621, 0x4063D020, 0x40648220, 0x00000003, + 0x4062B622, 0x4063D020, 0x40648220, 0x00000003, 0x4062B623, 0x4063D020, + 0x40648220, 0x00000003, 0x4062B624, 0x4063D020, + // Block 375, offset 0x5dc0 + 0x40648220, 0x00000003, 0x4062B625, 0x4063D020, 0x40648220, 0x00000003, + 0x4062B626, 0x4063D020, 0x40648220, 0x00000003, 0x4062B621, 0x4063D020, + 0x40648420, 0x00000003, 0x4062B622, 0x4063D020, 0x40648420, 0x00000003, + 0x4062B623, 0x4063D020, 0x40648420, 0x00000003, 0x4062B624, 0x4063D020, + 0x40648420, 0x00000003, 0x4062B625, 0x4063D020, 0x40648420, 0x00000002, + 0x4062B821, 0x4063A820, 0x00000002, 0x4062B822, 0x4063A820, 0x00000002, + 0x4062B823, 0x4063A820, 0x00000002, 0x4062B824, 0x4063A820, 0x00000002, + 0x4062B825, 0x4063A820, 0x00000002, 0x4062B826, 0x4063A820, 0x00000002, + 0x4062B827, 0x4063A820, 0x00000002, 0x4062B828, 0x4063A820, 0x00000002, + 0x4062B829, 0x4063A820, 0x00000002, 0x4062B82A, 0x4063A820, 0x00000002, + 0x4062B82B, 0x4063A820, 0x00000002, 0x4062B82C, + // Block 376, offset 0x5e00 + 0x4063A820, 0x00000002, 0x4062B82D, 0x4063A820, 0x00000002, 0x4062B82E, + 0x4063A820, 0x00000003, 0x4062B821, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B822, 0x4063A820, 0x40646420, 0x00000003, 0x4062B823, 0x4063A820, + 0x40646420, 0x00000003, 0x4062B824, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B825, 0x4063A820, 0x40646420, 0x00000003, 0x4062B826, 0x4063A820, + 0x40646420, 0x00000003, 0x4062B827, 0x4063A820, 0x40646420, 0x00000003, + 0x4062B828, 0x4063A820, 0x40646420, 0x00000003, 0x4062B821, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B822, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B823, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B824, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B825, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B826, 0x4063A820, 0x40646A20, 0x00000003, + // Block 377, offset 0x5e40 + 0x4062B827, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B828, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B829, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B82A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B82C, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B82D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B82F, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B830, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B831, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B832, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B833, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B834, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B835, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B836, 0x4063A820, 0x40646A20, 0x00000003, + // Block 378, offset 0x5e80 + 0x4062B837, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B838, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B839, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B83A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B83B, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062B83C, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062B821, 0x4063A820, 0x40647220, 0x00000003, 0x4062B822, 0x4063A820, + 0x40647220, 0x00000003, 0x4062B823, 0x4063A820, 0x40647220, 0x00000003, + 0x4062B824, 0x4063A820, 0x40647220, 0x00000003, 0x4062B825, 0x4063A820, + 0x40647220, 0x00000003, 0x4062B826, 0x4063A820, 0x40647220, 0x00000003, + 0x4062B827, 0x4063A820, 0x40647220, 0x00000003, 0x4062B828, 0x4063A820, + 0x40647220, 0x00000003, 0x4062B829, 0x4063A820, 0x40647220, 0x00000003, + 0x4062B821, 0x4063A820, 0x40648C20, 0x00000003, + // Block 379, offset 0x5ec0 + 0x4062B822, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B823, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B824, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B825, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B826, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B827, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B828, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B829, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B82A, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B82B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82C, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B82D, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B82E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82F, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062B830, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062B831, 0x4063A820, 0x40648C20, 0x00000003, + // Block 380, offset 0x5f00 + 0x4062B832, 0x4063A820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063AA20, + 0x00000002, 0x4062B822, 0x4063AA20, 0x00000002, 0x4062B823, 0x4063AA20, + 0x00000002, 0x4062B824, 0x4063AA20, 0x00000002, 0x4062B825, 0x4063AA20, + 0x00000002, 0x4062B826, 0x4063AA20, 0x00000002, 0x4062B827, 0x4063AA20, + 0x00000002, 0x4062B828, 0x4063AA20, 0x00000002, 0x4062B829, 0x4063AA20, + 0x00000002, 0x4062B82A, 0x4063AA20, 0x00000002, 0x4062B82B, 0x4063AA20, + 0x00000002, 0x4062B82C, 0x4063AA20, 0x00000002, 0x4062B82D, 0x4063AA20, + 0x00000002, 0x4062B82E, 0x4063AA20, 0x00000002, 0x4062B82F, 0x4063AA20, + 0x00000002, 0x4062B830, 0x4063AA20, 0x00000002, 0x4062B831, 0x4063AA20, + 0x00000002, 0x4062B832, 0x4063AA20, 0x00000002, 0x4062B833, 0x4063AA20, + 0x00000002, 0x4062B834, 0x4063AA20, 0x00000002, + // Block 381, offset 0x5f40 + 0x4062B835, 0x4063AA20, 0x00000002, 0x4062B836, 0x4063AA20, 0x00000002, + 0x4062B837, 0x4063AA20, 0x00000003, 0x4062B821, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062B822, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B823, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062B824, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062B825, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B826, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062B827, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062B828, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B821, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B822, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062B823, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B824, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B825, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062B826, 0x4063AA20, 0x40648C20, + // Block 382, offset 0x5f80 + 0x00000003, 0x4062B827, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B828, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B829, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062B82A, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B821, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B822, 0x4063B420, 0x40646420, + 0x00000003, 0x4062B823, 0x4063B420, 0x40646420, 0x00000003, 0x4062B824, + 0x4063B420, 0x40646420, 0x00000003, 0x4062B821, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B822, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B823, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B824, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B825, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B826, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B827, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B828, 0x4063B420, 0x40646A20, + // Block 383, offset 0x5fc0 + 0x00000003, 0x4062B829, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82A, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B82C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82D, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062B82F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B830, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062B821, 0x4063B420, 0x40647220, + 0x00000003, 0x4062B822, 0x4063B420, 0x40647220, 0x00000003, 0x4062B823, + 0x4063B420, 0x40647220, 0x00000003, 0x4062B824, 0x4063B420, 0x40647220, + 0x00000003, 0x4062B821, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B822, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B823, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B824, 0x4063B420, 0x40648C20, + // Block 384, offset 0x6000 + 0x00000003, 0x4062B825, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B826, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B828, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B829, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B82B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82C, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82D, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062B82E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82F, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062B830, 0x4063B420, 0x40648C20, + 0x00000002, 0x4062B821, 0x4063B620, 0x00000002, 0x4062B821, 0x4063B820, + 0x00000002, 0x4062B822, 0x4063B820, 0x00000002, 0x4062B823, 0x4063B820, + 0x00000002, 0x4062B824, 0x4063B820, 0x00000002, + // Block 385, offset 0x6040 + 0x4062B825, 0x4063B820, 0x00000002, 0x4062B826, 0x4063B820, 0x00000002, + 0x4062B827, 0x4063B820, 0x00000002, 0x4062B828, 0x4063B820, 0x00000002, + 0x4062B829, 0x4063B820, 0x00000002, 0x4062B82A, 0x4063B820, 0x00000002, + 0x4062B82B, 0x4063B820, 0x00000002, 0x4062B82C, 0x4063B820, 0x00000002, + 0x4062B82D, 0x4063B820, 0x00000002, 0x4062B82E, 0x4063B820, 0x00000002, + 0x4062B82F, 0x4063B820, 0x00000002, 0x4062B830, 0x4063B820, 0x00000002, + 0x4062B831, 0x4063B820, 0x00000002, 0x4062B832, 0x4063B820, 0x00000002, + 0x4062B833, 0x4063B820, 0x00000002, 0x4062B834, 0x4063B820, 0x00000002, + 0x4062B835, 0x4063B820, 0x00000002, 0x4062B836, 0x4063B820, 0x00000002, + 0x4062B837, 0x4063B820, 0x00000002, 0x4062B838, 0x4063B820, 0x00000002, + 0x4062B839, 0x4063B820, 0x00000002, 0x4062B83A, + // Block 386, offset 0x6080 + 0x4063B820, 0x00000002, 0x4062B83B, 0x4063B820, 0x00000002, 0x4062B83C, + 0x4063B820, 0x00000002, 0x4062B83D, 0x4063B820, 0x00000002, 0x4062B83E, + 0x4063B820, 0x00000002, 0x4062B83F, 0x4063B820, 0x00000002, 0x4062B840, + 0x4063B820, 0x00000002, 0x4062B841, 0x4063B820, 0x00000002, 0x4062B842, + 0x4063B820, 0x00000002, 0x4062B843, 0x4063B820, 0x00000002, 0x4062B844, + 0x4063B820, 0x00000002, 0x4062B845, 0x4063B820, 0x00000002, 0x4062B846, + 0x4063B820, 0x00000002, 0x4062B847, 0x4063B820, 0x00000003, 0x4062B821, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B822, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B823, 0x4063B820, 0x40646420, 0x00000003, 0x4062B824, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B825, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B826, 0x4063B820, 0x40646420, + // Block 387, offset 0x60c0 + 0x00000003, 0x4062B827, 0x4063B820, 0x40646420, 0x00000003, 0x4062B828, + 0x4063B820, 0x40646420, 0x00000003, 0x4062B829, 0x4063B820, 0x40646420, + 0x00000003, 0x4062B821, 0x4063B820, 0x40647220, 0x00000003, 0x4062B822, + 0x4063B820, 0x40647220, 0x00000003, 0x4062B821, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B823, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B824, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B826, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B829, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062B82B, 0x4063B820, 0x40648C20, + // Block 388, offset 0x6100 + 0x00000003, 0x4062B82C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B82D, + 0x4063B820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063C020, 0x00000002, + 0x4062B822, 0x4063C020, 0x00000002, 0x4062B823, 0x4063C020, 0x00000002, + 0x4062B824, 0x4063C020, 0x00000002, 0x4062B825, 0x4063C020, 0x00000002, + 0x4062B826, 0x4063C020, 0x00000002, 0x4062B827, 0x4063C020, 0x00000002, + 0x4062B828, 0x4063C020, 0x00000002, 0x4062B829, 0x4063C020, 0x00000002, + 0x4062B82A, 0x4063C020, 0x00000002, 0x4062B82B, 0x4063C020, 0x00000002, + 0x4062B82C, 0x4063C020, 0x00000002, 0x4062B82D, 0x4063C020, 0x00000002, + 0x4062B82E, 0x4063C020, 0x00000002, 0x4062B82F, 0x4063C020, 0x00000002, + 0x4062B830, 0x4063C020, 0x00000002, 0x4062B821, 0x4063C220, 0x00000002, + 0x4062B822, 0x4063C220, 0x00000002, 0x4062B823, + // Block 389, offset 0x6140 + 0x4063C220, 0x00000002, 0x4062B824, 0x4063C220, 0x00000002, 0x4062B825, + 0x4063C220, 0x00000002, 0x4062B826, 0x4063C220, 0x00000002, 0x4062B827, + 0x4063C220, 0x00000002, 0x4062B828, 0x4063C220, 0x00000002, 0x4062B829, + 0x4063C220, 0x00000002, 0x4062B82A, 0x4063C220, 0x00000002, 0x4062B82B, + 0x4063C220, 0x00000002, 0x4062B82C, 0x4063C220, 0x00000002, 0x4062B82D, + 0x4063C220, 0x00000002, 0x4062B82E, 0x4063C220, 0x00000002, 0x4062B82F, + 0x4063C220, 0x00000002, 0x4062B830, 0x4063C220, 0x00000002, 0x4062B831, + 0x4063C220, 0x00000002, 0x4062B832, 0x4063C220, 0x00000002, 0x4062B833, + 0x4063C220, 0x00000002, 0x4062B834, 0x4063C220, 0x00000002, 0x4062B835, + 0x4063C220, 0x00000002, 0x4062B836, 0x4063C220, 0x00000002, 0x4062B837, + 0x4063C220, 0x00000002, 0x4062B838, 0x4063C220, + // Block 390, offset 0x6180 + 0x00000002, 0x4062B839, 0x4063C220, 0x00000002, 0x4062B83A, 0x4063C220, + 0x00000002, 0x4062B83B, 0x4063C220, 0x00000003, 0x4062B821, 0x4063C220, + 0x40646420, 0x00000003, 0x4062B822, 0x4063C220, 0x40646420, 0x00000003, + 0x4062B823, 0x4063C220, 0x40646420, 0x00000003, 0x4062B821, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B822, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B823, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B824, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B825, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B826, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B827, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B828, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B829, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82A, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B82B, 0x4063C220, + // Block 391, offset 0x61c0 + 0x40646A20, 0x00000003, 0x4062B82C, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B82D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B82F, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B830, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B831, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062B832, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062B833, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B821, 0x4063C220, + 0x40647220, 0x00000003, 0x4062B822, 0x4063C220, 0x40647220, 0x00000003, + 0x4062B823, 0x4063C220, 0x40647220, 0x00000002, 0x4062B821, 0x4063D020, + 0x00000002, 0x4062B822, 0x4063D020, 0x00000002, 0x4062B823, 0x4063D020, + 0x00000002, 0x4062B824, 0x4063D020, 0x00000002, 0x4062B825, 0x4063D020, + 0x00000002, 0x4062B826, 0x4063D020, 0x00000002, + // Block 392, offset 0x6200 + 0x4062B827, 0x4063D020, 0x00000002, 0x4062B828, 0x4063D020, 0x00000002, + 0x4062B829, 0x4063D020, 0x00000002, 0x4062B82A, 0x4063D020, 0x00000002, + 0x4062B82B, 0x4063D020, 0x00000002, 0x4062B82C, 0x4063D020, 0x00000002, + 0x4062B82D, 0x4063D020, 0x00000002, 0x4062B82E, 0x4063D020, 0x00000002, + 0x4062B82F, 0x4063D020, 0x00000002, 0x4062B830, 0x4063D020, 0x00000002, + 0x4062B831, 0x4063D020, 0x00000002, 0x4062B832, 0x4063D020, 0x00000002, + 0x4062B833, 0x4063D020, 0x00000002, 0x4062B834, 0x4063D020, 0x00000002, + 0x4062B835, 0x4063D020, 0x00000002, 0x4062B836, 0x4063D020, 0x00000002, + 0x4062B837, 0x4063D020, 0x00000002, 0x4062B838, 0x4063D020, 0x00000002, + 0x4062B839, 0x4063D020, 0x00000002, 0x4062B83A, 0x4063D020, 0x00000002, + 0x4062B83B, 0x4063D020, 0x00000002, 0x4062B83C, + // Block 393, offset 0x6240 + 0x4063D020, 0x00000002, 0x4062B83D, 0x4063D020, 0x00000002, 0x4062B83E, + 0x4063D020, 0x00000002, 0x4062B83F, 0x4063D020, 0x00000002, 0x4062B840, + 0x4063D020, 0x00000002, 0x4062B841, 0x4063D020, 0x00000003, 0x4062B821, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B822, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B823, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B824, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B825, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B826, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B827, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B828, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B829, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82A, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B82C, 0x4063D020, 0x40646A20, + // Block 394, offset 0x6280 + 0x00000003, 0x4062B82D, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82E, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82F, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B830, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B831, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B832, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B833, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B834, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B835, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062B836, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B837, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062B821, 0x4063D020, 0x40647220, + 0x00000003, 0x4062B822, 0x4063D020, 0x40647220, 0x00000003, 0x4062B823, + 0x4063D020, 0x40647220, 0x00000003, 0x4062B824, 0x4063D020, 0x40647220, + 0x00000003, 0x4062B825, 0x4063D020, 0x40647220, + // Block 395, offset 0x62c0 + 0x00000003, 0x4062BA21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA22, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA25, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA27, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA28, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA2A, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2B, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA2D, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2E, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA30, 0x4063A820, 0x40646420, + // Block 396, offset 0x6300 + 0x00000003, 0x4062BA31, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA32, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA34, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA35, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA37, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA38, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BA21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA22, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA25, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA27, 0x4063A820, 0x40646A20, + // Block 397, offset 0x6340 + 0x00000003, 0x4062BA28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA29, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2A, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2F, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA32, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA35, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA37, 0x4063A820, 0x40646A20, + // Block 398, offset 0x6380 + 0x00000003, 0x4062BA38, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA39, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3A, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA3B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA3E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3F, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA40, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BA41, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA21, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BA22, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BA23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA24, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BA25, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BA26, 0x4063A820, 0x40647220, + // Block 399, offset 0x63c0 + 0x00000003, 0x4062BA27, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA28, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BA29, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BA2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2B, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BA2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2E, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BA30, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA21, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA22, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA24, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA26, 0x4063A820, 0x40648C20, + // Block 400, offset 0x6400 + 0x00000003, 0x4062BA27, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA28, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2B, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2E, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA31, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA32, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA34, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA35, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA36, 0x4063A820, 0x40648C20, + // Block 401, offset 0x6440 + 0x00000003, 0x4062BA37, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA38, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3B, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3C, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3E, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3F, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA41, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA42, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA44, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA45, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BA46, 0x4063A820, 0x40648C20, + // Block 402, offset 0x6480 + 0x00000003, 0x4062BA47, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA48, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA49, 0x4063A820, 0x40648C20, + 0x00000002, 0x4062BA21, 0x4063AA20, 0x00000002, 0x4062BA22, 0x4063AA20, + 0x00000002, 0x4062BA23, 0x4063AA20, 0x00000002, 0x4062BA24, 0x4063AA20, + 0x00000002, 0x4062BA25, 0x4063AA20, 0x00000002, 0x4062BA26, 0x4063AA20, + 0x00000002, 0x4062BA27, 0x4063AA20, 0x00000002, 0x4062BA28, 0x4063AA20, + 0x00000002, 0x4062BA29, 0x4063AA20, 0x00000002, 0x4062BA2A, 0x4063AA20, + 0x00000002, 0x4062BA2B, 0x4063AA20, 0x00000002, 0x4062BA2C, 0x4063AA20, + 0x00000002, 0x4062BA2D, 0x4063AA20, 0x00000002, 0x4062BA2E, 0x4063AA20, + 0x00000002, 0x4062BA2F, 0x4063AA20, 0x00000002, 0x4062BA30, 0x4063AA20, + 0x00000002, 0x4062BA31, 0x4063AA20, 0x00000002, + // Block 403, offset 0x64c0 + 0x4062BA32, 0x4063AA20, 0x00000002, 0x4062BA33, 0x4063AA20, 0x00000002, + 0x4062BA34, 0x4063AA20, 0x00000002, 0x4062BA35, 0x4063AA20, 0x00000002, + 0x4062BA36, 0x4063AA20, 0x00000002, 0x4062BA37, 0x4063AA20, 0x00000002, + 0x4062BA38, 0x4063AA20, 0x00000003, 0x4062BA21, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062BA22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA23, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA24, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062BA25, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA26, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA27, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062BA28, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA29, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA21, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BA22, 0x4063B020, 0x40646A20, + // Block 404, offset 0x6500 + 0x00000003, 0x4062BA23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA24, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BA26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA27, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BA29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2A, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BA2C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2D, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BA21, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA22, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BA24, 0x4063B020, 0x40647220, + // Block 405, offset 0x6540 + 0x00000003, 0x4062BA25, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA26, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BA22, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA23, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BA24, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BA25, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA26, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BA27, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BA28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA29, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BA2A, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BA2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA2C, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648420, + 0x00000003, 0x4062BA22, 0x4063B020, 0x40648420, + // Block 406, offset 0x6580 + 0x00000003, 0x4062BA21, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA22, + 0x4063B420, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B420, 0x40646420, + 0x00000003, 0x4062BA24, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA25, + 0x4063B420, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B420, 0x40646420, + 0x00000003, 0x4062BA27, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA28, + 0x4063B420, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B420, 0x40646420, + 0x00000003, 0x4062BA2A, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2B, + 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B420, 0x40646420, + 0x00000003, 0x4062BA2D, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2E, + 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B420, 0x40646420, + 0x00000003, 0x4062BA30, 0x4063B420, 0x40646420, + // Block 407, offset 0x65c0 + 0x00000003, 0x4062BA31, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA21, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062BA23, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA24, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062BA26, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA27, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062BA29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2A, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062BA2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2D, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062BA2F, 0x4063B420, 0x40646A20, + // Block 408, offset 0x6600 + 0x00000003, 0x4062BA21, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA22, + 0x4063B420, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B420, 0x40647220, + 0x00000003, 0x4062BA24, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA25, + 0x4063B420, 0x40647220, 0x00000003, 0x4062BA26, 0x4063B420, 0x40647220, + 0x00000003, 0x4062BA21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA22, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA25, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA28, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA2A, 0x4063B420, 0x40648C20, + // Block 409, offset 0x6640 + 0x00000003, 0x4062BA2B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2C, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA2E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2F, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA31, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA32, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA34, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA35, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA36, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062BA37, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA38, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063B420, 0x40648C20, + 0x00000002, 0x4062BA21, 0x4063B820, 0x00000002, + // Block 410, offset 0x6680 + 0x4062BA22, 0x4063B820, 0x00000002, 0x4062BA23, 0x4063B820, 0x00000002, + 0x4062BA24, 0x4063B820, 0x00000002, 0x4062BA25, 0x4063B820, 0x00000002, + 0x4062BA26, 0x4063B820, 0x00000002, 0x4062BA27, 0x4063B820, 0x00000002, + 0x4062BA28, 0x4063B820, 0x00000002, 0x4062BA29, 0x4063B820, 0x00000002, + 0x4062BA2A, 0x4063B820, 0x00000002, 0x4062BA2B, 0x4063B820, 0x00000002, + 0x4062BA2C, 0x4063B820, 0x00000002, 0x4062BA2D, 0x4063B820, 0x00000002, + 0x4062BA2E, 0x4063B820, 0x00000002, 0x4062BA2F, 0x4063B820, 0x00000002, + 0x4062BA30, 0x4063B820, 0x00000002, 0x4062BA31, 0x4063B820, 0x00000002, + 0x4062BA32, 0x4063B820, 0x00000002, 0x4062BA33, 0x4063B820, 0x00000002, + 0x4062BA34, 0x4063B820, 0x00000002, 0x4062BA35, 0x4063B820, 0x00000002, + 0x4062BA36, 0x4063B820, 0x00000002, 0x4062BA37, + // Block 411, offset 0x66c0 + 0x4063B820, 0x00000003, 0x4062BA21, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA22, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA24, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA27, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA2A, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA2D, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA2E, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA30, 0x4063B820, + // Block 412, offset 0x6700 + 0x40646420, 0x00000003, 0x4062BA31, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA32, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA34, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA35, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA37, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA38, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063B820, + 0x40646420, 0x00000003, 0x4062BA3A, 0x4063B820, 0x40646420, 0x00000003, + 0x4062BA21, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063B820, + 0x40647220, 0x00000003, 0x4062BA21, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA24, 0x4063B820, + // Block 413, offset 0x6740 + 0x40648C20, 0x00000003, 0x4062BA25, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA27, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA28, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA29, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2A, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA2B, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA2C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA2E, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA2F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA31, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA32, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062BA34, 0x4063B820, + // Block 414, offset 0x6780 + 0x40648C20, 0x00000003, 0x4062BA35, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062BA36, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063C220, + 0x00000002, 0x4062BA22, 0x4063C220, 0x00000002, 0x4062BA23, 0x4063C220, + 0x00000002, 0x4062BA24, 0x4063C220, 0x00000002, 0x4062BA25, 0x4063C220, + 0x00000002, 0x4062BA26, 0x4063C220, 0x00000002, 0x4062BA27, 0x4063C220, + 0x00000002, 0x4062BA28, 0x4063C220, 0x00000002, 0x4062BA29, 0x4063C220, + 0x00000002, 0x4062BA2A, 0x4063C220, 0x00000002, 0x4062BA2B, 0x4063C220, + 0x00000002, 0x4062BA2C, 0x4063C220, 0x00000002, 0x4062BA2D, 0x4063C220, + 0x00000002, 0x4062BA2E, 0x4063C220, 0x00000002, 0x4062BA2F, 0x4063C220, + 0x00000002, 0x4062BA30, 0x4063C220, 0x00000002, 0x4062BA31, 0x4063C220, + 0x00000002, 0x4062BA32, 0x4063C220, 0x00000002, + // Block 415, offset 0x67c0 + 0x4062BA33, 0x4063C220, 0x00000002, 0x4062BA34, 0x4063C220, 0x00000002, + 0x4062BA35, 0x4063C220, 0x00000002, 0x4062BA36, 0x4063C220, 0x00000002, + 0x4062BA37, 0x4063C220, 0x00000002, 0x4062BA38, 0x4063C220, 0x00000002, + 0x4062BA39, 0x4063C220, 0x00000002, 0x4062BA3A, 0x4063C220, 0x00000002, + 0x4062BA3B, 0x4063C220, 0x00000002, 0x4062BA3C, 0x4063C220, 0x00000002, + 0x4062BA3D, 0x4063C220, 0x00000002, 0x4062BA3E, 0x4063C220, 0x00000002, + 0x4062BA3F, 0x4063C220, 0x00000002, 0x4062BA40, 0x4063C220, 0x00000002, + 0x4062BA41, 0x4063C220, 0x00000002, 0x4062BA42, 0x4063C220, 0x00000002, + 0x4062BA43, 0x4063C220, 0x00000002, 0x4062BA44, 0x4063C220, 0x00000002, + 0x4062BA45, 0x4063C220, 0x00000002, 0x4062BA46, 0x4063C220, 0x00000002, + 0x4062BA47, 0x4063C220, 0x00000002, 0x4062BA48, + // Block 416, offset 0x6800 + 0x4063C220, 0x00000002, 0x4062BA49, 0x4063C220, 0x00000002, 0x4062BA4A, + 0x4063C220, 0x00000002, 0x4062BA4B, 0x4063C220, 0x00000002, 0x4062BA4C, + 0x4063C220, 0x00000002, 0x4062BA4D, 0x4063C220, 0x00000002, 0x4062BA4E, + 0x4063C220, 0x00000002, 0x4062BA4F, 0x4063C220, 0x00000002, 0x4062BA50, + 0x4063C220, 0x00000002, 0x4062BA51, 0x4063C220, 0x00000002, 0x4062BA52, + 0x4063C220, 0x00000002, 0x4062BA53, 0x4063C220, 0x00000002, 0x4062BA54, + 0x4063C220, 0x00000002, 0x4062BA55, 0x4063C220, 0x00000002, 0x4062BA56, + 0x4063C220, 0x00000002, 0x4062BA57, 0x4063C220, 0x00000002, 0x4062BA58, + 0x4063C220, 0x00000002, 0x4062BA59, 0x4063C220, 0x00000002, 0x4062BA5A, + 0x4063C220, 0x00000002, 0x4062BA5B, 0x4063C220, 0x00000002, 0x4062BA5C, + 0x4063C220, 0x00000002, 0x4062BA5D, 0x4063C220, + // Block 417, offset 0x6840 + 0x00000002, 0x4062BA5E, 0x4063C220, 0x00000002, 0x4062BA5F, 0x4063C220, + 0x00000002, 0x4062BA60, 0x4063C220, 0x00000002, 0x4062BA61, 0x4063C220, + 0x00000002, 0x4062BA62, 0x4063C220, 0x00000002, 0x4062BA63, 0x4063C220, + 0x00000002, 0x4062BA64, 0x4063C220, 0x00000002, 0x4062BA65, 0x4063C220, + 0x00000003, 0x4062BA21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BA21, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA24, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA26, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA27, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA29, 0x4063C220, 0x40646A20, + // Block 418, offset 0x6880 + 0x00000003, 0x4062BA2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2B, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA2D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2E, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2F, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA30, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA31, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA32, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA33, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA34, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA35, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA36, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA37, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA38, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA39, 0x4063C220, 0x40646A20, + // Block 419, offset 0x68c0 + 0x00000003, 0x4062BA3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3B, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3C, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA3D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3E, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3F, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA40, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA41, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA42, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA43, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA44, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA45, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062BA46, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA21, + 0x4063C220, 0x40647220, 0x00000003, 0x4062BA22, 0x4063C220, 0x40647220, + 0x00000003, 0x4062BA23, 0x4063C220, 0x40647220, + // Block 420, offset 0x6900 + 0x00000003, 0x4062BA24, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA25, + 0x4063C220, 0x40647220, 0x00000003, 0x4062BA26, 0x4063C220, 0x40647220, + 0x00000003, 0x4062BA27, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA28, + 0x4063C220, 0x40647220, 0x00000003, 0x4062BA29, 0x4063C220, 0x40647220, + 0x00000003, 0x4062BA2A, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA2B, + 0x4063C220, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40647220, + 0x00000003, 0x4062BA21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA22, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062BA24, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA25, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062BA27, 0x4063C220, 0x40648C20, + // Block 421, offset 0x6940 + 0x00000003, 0x4062BA28, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA29, + 0x4063C220, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063D020, 0x00000002, + 0x4062BA22, 0x4063D020, 0x00000002, 0x4062BA23, 0x4063D020, 0x00000002, + 0x4062BA24, 0x4063D020, 0x00000002, 0x4062BA25, 0x4063D020, 0x00000002, + 0x4062BA26, 0x4063D020, 0x00000002, 0x4062BA27, 0x4063D020, 0x00000002, + 0x4062BA28, 0x4063D020, 0x00000002, 0x4062BA29, 0x4063D020, 0x00000002, + 0x4062BA2A, 0x4063D020, 0x00000002, 0x4062BA2B, 0x4063D020, 0x00000002, + 0x4062BA2C, 0x4063D020, 0x00000002, 0x4062BA2D, 0x4063D020, 0x00000002, + 0x4062BA2E, 0x4063D020, 0x00000002, 0x4062BA2F, 0x4063D020, 0x00000002, + 0x4062BA30, 0x4063D020, 0x00000002, 0x4062BA31, 0x4063D020, 0x00000002, + 0x4062BA32, 0x4063D020, 0x00000002, 0x4062BA33, + // Block 422, offset 0x6980 + 0x4063D020, 0x00000002, 0x4062BA34, 0x4063D020, 0x00000002, 0x4062BA35, + 0x4063D020, 0x00000002, 0x4062BA36, 0x4063D020, 0x00000002, 0x4062BA37, + 0x4063D020, 0x00000002, 0x4062BA38, 0x4063D020, 0x00000002, 0x4062BA39, + 0x4063D020, 0x00000002, 0x4062BA3A, 0x4063D020, 0x00000002, 0x4062BA3B, + 0x4063D020, 0x00000002, 0x4062BA3C, 0x4063D020, 0x00000002, 0x4062BA3D, + 0x4063D020, 0x00000002, 0x4062BA3E, 0x4063D020, 0x00000002, 0x4062BA3F, + 0x4063D020, 0x00000002, 0x4062BA40, 0x4063D020, 0x00000002, 0x4062BA41, + 0x4063D020, 0x00000002, 0x4062BA42, 0x4063D020, 0x00000002, 0x4062BA43, + 0x4063D020, 0x00000002, 0x4062BA44, 0x4063D020, 0x00000002, 0x4062BA45, + 0x4063D020, 0x00000002, 0x4062BA46, 0x4063D020, 0x00000002, 0x4062BA47, + 0x4063D020, 0x00000002, 0x4062BA48, 0x4063D020, + // Block 423, offset 0x69c0 + 0x00000002, 0x4062BA49, 0x4063D020, 0x00000002, 0x4062BA4A, 0x4063D020, + 0x00000002, 0x4062BA4B, 0x4063D020, 0x00000002, 0x4062BA4C, 0x4063D020, + 0x00000002, 0x4062BA4D, 0x4063D020, 0x00000002, 0x4062BA4E, 0x4063D020, + 0x00000002, 0x4062BA4F, 0x4063D020, 0x00000002, 0x4062BA50, 0x4063D020, + 0x00000002, 0x4062BA51, 0x4063D020, 0x00000002, 0x4062BA52, 0x4063D020, + 0x00000002, 0x4062BA53, 0x4063D020, 0x00000002, 0x4062BA54, 0x4063D020, + 0x00000002, 0x4062BA55, 0x4063D020, 0x00000002, 0x4062BA56, 0x4063D020, + 0x00000002, 0x4062BA57, 0x4063D020, 0x00000002, 0x4062BA58, 0x4063D020, + 0x00000002, 0x4062BA59, 0x4063D020, 0x00000002, 0x4062BA5A, 0x4063D020, + 0x00000002, 0x4062BA5B, 0x4063D020, 0x00000002, 0x4062BA5C, 0x4063D020, + 0x00000002, 0x4062BA5D, 0x4063D020, 0x00000002, + // Block 424, offset 0x6a00 + 0x4062BA5E, 0x4063D020, 0x00000002, 0x4062BA5F, 0x4063D020, 0x00000002, + 0x4062BA60, 0x4063D020, 0x00000002, 0x4062BA61, 0x4063D020, 0x00000002, + 0x4062BA62, 0x4063D020, 0x00000002, 0x4062BA63, 0x4063D020, 0x00000002, + 0x4062BA64, 0x4063D020, 0x00000002, 0x4062BA65, 0x4063D020, 0x00000002, + 0x4062BA66, 0x4063D020, 0x00000002, 0x4062BA67, 0x4063D020, 0x00000002, + 0x4062BA68, 0x4063D020, 0x00000002, 0x4062BA69, 0x4063D020, 0x00000002, + 0x4062BA6A, 0x4063D020, 0x00000002, 0x4062BA6B, 0x4063D020, 0x00000002, + 0x4062BA6C, 0x4063D020, 0x00000002, 0x4062BA6D, 0x4063D020, 0x00000002, + 0x4062BA6E, 0x4063D020, 0x00000002, 0x4062BA6F, 0x4063D020, 0x00000002, + 0x4062BA70, 0x4063D020, 0x00000002, 0x4062BA71, 0x4063D020, 0x00000002, + 0x4062BA72, 0x4063D020, 0x00000002, 0x4062BA73, + // Block 425, offset 0x6a40 + 0x4063D020, 0x00000002, 0x4062BA74, 0x4063D020, 0x00000002, 0x4062BA75, + 0x4063D020, 0x00000003, 0x4062BA21, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA22, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA24, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA25, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA27, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA28, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA29, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA2A, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA2B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA2D, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA2E, 0x4063D020, 0x40646A20, 0x00000003, + // Block 426, offset 0x6a80 + 0x4062BA2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA31, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA32, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA34, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA35, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA37, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA38, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA39, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BA3A, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BA3B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063D020, + 0x40648C20, 0x00000003, 0x4062BA22, 0x4063D020, 0x40648C20, 0x00000003, + 0x4062BA23, 0x4063D020, 0x40648C20, 0x00000003, + // Block 427, offset 0x6ac0 + 0x4062BA24, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063D020, + 0x40648C20, 0x00000003, 0x4062BA26, 0x4063D020, 0x40648C20, 0x00000003, + 0x4062BA27, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA28, 0x4063D020, + 0x40648C20, 0x00000002, 0x4062BE21, 0x4063A820, 0x00000002, 0x4062BE22, + 0x4063A820, 0x00000002, 0x4062BE23, 0x4063A820, 0x00000002, 0x4062BE24, + 0x4063A820, 0x00000002, 0x4062BE25, 0x4063A820, 0x00000002, 0x4062BE26, + 0x4063A820, 0x00000002, 0x4062BE27, 0x4063A820, 0x00000002, 0x4062BE28, + 0x4063A820, 0x00000002, 0x4062BE29, 0x4063A820, 0x00000002, 0x4062BE2A, + 0x4063A820, 0x00000002, 0x4062BE2B, 0x4063A820, 0x00000002, 0x4062BE2C, + 0x4063A820, 0x00000002, 0x4062BE2D, 0x4063A820, 0x00000002, 0x4062BE2E, + 0x4063A820, 0x00000002, 0x4062BE2F, 0x4063A820, + // Block 428, offset 0x6b00 + 0x00000002, 0x4062BE30, 0x4063A820, 0x00000002, 0x4062BE31, 0x4063A820, + 0x00000002, 0x4062BE32, 0x4063A820, 0x00000002, 0x4062BE33, 0x4063A820, + 0x00000002, 0x4062BE34, 0x4063A820, 0x00000002, 0x4062BE35, 0x4063A820, + 0x00000002, 0x4062BE36, 0x4063A820, 0x00000002, 0x4062BE37, 0x4063A820, + 0x00000002, 0x4062BE38, 0x4063A820, 0x00000002, 0x4062BE39, 0x4063A820, + 0x00000002, 0x4062BE3A, 0x4063A820, 0x00000002, 0x4062BE3B, 0x4063A820, + 0x00000002, 0x4062BE3C, 0x4063A820, 0x00000002, 0x4062BE3D, 0x4063A820, + 0x00000002, 0x4062BE3E, 0x4063A820, 0x00000002, 0x4062BE3F, 0x4063A820, + 0x00000002, 0x4062BE40, 0x4063A820, 0x00000002, 0x4062BE41, 0x4063A820, + 0x00000002, 0x4062BE42, 0x4063A820, 0x00000002, 0x4062BE43, 0x4063A820, + 0x00000002, 0x4062BE44, 0x4063A820, 0x00000002, + // Block 429, offset 0x6b40 + 0x4062BE45, 0x4063A820, 0x00000002, 0x4062BE46, 0x4063A820, 0x00000002, + 0x4062BE47, 0x4063A820, 0x00000002, 0x4062BE48, 0x4063A820, 0x00000002, + 0x4062BE49, 0x4063A820, 0x00000002, 0x4062BE4A, 0x4063A820, 0x00000002, + 0x4062BE4B, 0x4063A820, 0x00000002, 0x4062BE4C, 0x4063A820, 0x00000002, + 0x4062BE4D, 0x4063A820, 0x00000002, 0x4062BE4E, 0x4063A820, 0x00000002, + 0x4062BE4F, 0x4063A820, 0x00000002, 0x4062BE50, 0x4063A820, 0x00000002, + 0x4062BE51, 0x4063A820, 0x00000002, 0x4062BE52, 0x4063A820, 0x00000002, + 0x4062BE53, 0x4063A820, 0x00000002, 0x4062BE54, 0x4063A820, 0x00000002, + 0x4062BE55, 0x4063A820, 0x00000002, 0x4062BE56, 0x4063A820, 0x00000002, + 0x4062BE57, 0x4063A820, 0x00000002, 0x4062BE58, 0x4063A820, 0x00000002, + 0x4062BE59, 0x4063A820, 0x00000002, 0x4062BE5A, + // Block 430, offset 0x6b80 + 0x4063A820, 0x00000002, 0x4062BE5B, 0x4063A820, 0x00000002, 0x4062BE5C, + 0x4063A820, 0x00000002, 0x4062BE5D, 0x4063A820, 0x00000002, 0x4062BE5E, + 0x4063A820, 0x00000002, 0x4062BE5F, 0x4063A820, 0x00000002, 0x4062BE60, + 0x4063A820, 0x00000002, 0x4062BE61, 0x4063A820, 0x00000002, 0x4062BE62, + 0x4063A820, 0x00000002, 0x4062BE63, 0x4063A820, 0x00000002, 0x4062BE64, + 0x4063A820, 0x00000002, 0x4062BE65, 0x4063A820, 0x00000002, 0x4062BE66, + 0x4063A820, 0x00000002, 0x4062BE67, 0x4063A820, 0x00000002, 0x4062BE68, + 0x4063A820, 0x00000002, 0x4062BE69, 0x4063A820, 0x00000002, 0x4062BE6A, + 0x4063A820, 0x00000002, 0x4062BE6B, 0x4063A820, 0x00000002, 0x4062BE6C, + 0x4063A820, 0x00000002, 0x4062BE6D, 0x4063A820, 0x00000002, 0x4062BE6E, + 0x4063A820, 0x00000002, 0x4062BE6F, 0x4063A820, + // Block 431, offset 0x6bc0 + 0x00000003, 0x4062BE21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE22, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BE24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE25, + 0x4063A820, 0x40646420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646420, + 0x00000003, 0x4062BE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE22, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE25, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE28, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE29, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE2A, 0x4063A820, 0x40646A20, + // Block 432, offset 0x6c00 + 0x00000003, 0x4062BE2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2F, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE32, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE33, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE35, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE36, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062BE37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE38, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BE22, 0x4063A820, 0x40647220, + // Block 433, offset 0x6c40 + 0x00000003, 0x4062BE23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BE24, + 0x4063A820, 0x40647220, 0x00000003, 0x4062BE25, 0x4063A820, 0x40647220, + 0x00000003, 0x4062BE21, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE22, + 0x4063A820, 0x40648220, 0x00000003, 0x4062BE23, 0x4063A820, 0x40648220, + 0x00000003, 0x4062BE24, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE25, + 0x4063A820, 0x40648220, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648220, + 0x00000003, 0x4062BE27, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE28, + 0x4063A820, 0x40648220, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648220, + 0x00000003, 0x4062BE2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE21, + 0x4063A820, 0x40648420, 0x00000003, 0x4062BE22, 0x4063A820, 0x40648420, + 0x00000003, 0x4062BE23, 0x4063A820, 0x40648420, + // Block 434, offset 0x6c80 + 0x00000003, 0x4062BE24, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE25, + 0x4063A820, 0x40648420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648420, + 0x00000003, 0x4062BE27, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE28, + 0x4063A820, 0x40648420, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648420, + 0x00000003, 0x4062BE2A, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE2B, + 0x4063A820, 0x40648420, 0x00000003, 0x4062BE21, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE23, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE26, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE28, 0x4063A820, 0x40648C20, + // Block 435, offset 0x6cc0 + 0x00000003, 0x4062BE29, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2A, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE2C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2D, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2E, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE2F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE30, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE32, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE33, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE35, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE36, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE37, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE38, 0x4063A820, 0x40648C20, + // Block 436, offset 0x6d00 + 0x00000003, 0x4062BE39, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3A, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3B, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE3C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3D, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3E, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE3F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE40, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE41, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE42, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE43, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE44, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE45, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE46, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE47, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062BE48, 0x4063A820, 0x40648C20, + // Block 437, offset 0x6d40 + 0x00000002, 0x4062BE21, 0x4063AA20, 0x00000002, 0x4062BE22, 0x4063AA20, + 0x00000002, 0x4062BE23, 0x4063AA20, 0x00000002, 0x4062BE24, 0x4063AA20, + 0x00000003, 0x4062BE21, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE22, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE23, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062BE24, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE25, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE26, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062BE27, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE21, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062BE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE24, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062BE26, 0x4063AA20, 0x40648C20, + // Block 438, offset 0x6d80 + 0x00000002, 0x4062BE21, 0x4063B020, 0x00000002, 0x4062BE22, 0x4063B020, + 0x00000002, 0x4062BE23, 0x4063B020, 0x00000002, 0x4062BE24, 0x4063B020, + 0x00000002, 0x4062BE25, 0x4063B020, 0x00000002, 0x4062BE26, 0x4063B020, + 0x00000002, 0x4062BE27, 0x4063B020, 0x00000002, 0x4062BE28, 0x4063B020, + 0x00000002, 0x4062BE29, 0x4063B020, 0x00000002, 0x4062BE2A, 0x4063B020, + 0x00000002, 0x4062BE2B, 0x4063B020, 0x00000002, 0x4062BE2C, 0x4063B020, + 0x00000002, 0x4062BE2D, 0x4063B020, 0x00000002, 0x4062BE2E, 0x4063B020, + 0x00000002, 0x4062BE2F, 0x4063B020, 0x00000002, 0x4062BE30, 0x4063B020, + 0x00000002, 0x4062BE31, 0x4063B020, 0x00000002, 0x4062BE32, 0x4063B020, + 0x00000002, 0x4062BE33, 0x4063B020, 0x00000002, 0x4062BE34, 0x4063B020, + 0x00000002, 0x4062BE35, 0x4063B020, 0x00000002, + // Block 439, offset 0x6dc0 + 0x4062BE36, 0x4063B020, 0x00000002, 0x4062BE37, 0x4063B020, 0x00000002, + 0x4062BE38, 0x4063B020, 0x00000002, 0x4062BE39, 0x4063B020, 0x00000002, + 0x4062BE3A, 0x4063B020, 0x00000002, 0x4062BE3B, 0x4063B020, 0x00000002, + 0x4062BE3C, 0x4063B020, 0x00000002, 0x4062BE3D, 0x4063B020, 0x00000002, + 0x4062BE3E, 0x4063B020, 0x00000002, 0x4062BE3F, 0x4063B020, 0x00000002, + 0x4062BE40, 0x4063B020, 0x00000002, 0x4062BE41, 0x4063B020, 0x00000002, + 0x4062BE42, 0x4063B020, 0x00000002, 0x4062BE43, 0x4063B020, 0x00000002, + 0x4062BE44, 0x4063B020, 0x00000002, 0x4062BE45, 0x4063B020, 0x00000002, + 0x4062BE46, 0x4063B020, 0x00000002, 0x4062BE47, 0x4063B020, 0x00000002, + 0x4062BE48, 0x4063B020, 0x00000003, 0x4062BE21, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE22, 0x4063B020, 0x40646420, + // Block 440, offset 0x6e00 + 0x00000003, 0x4062BE23, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE24, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE26, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE27, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE29, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2A, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE2C, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2D, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE2F, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE30, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE31, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE32, 0x4063B020, 0x40646420, + // Block 441, offset 0x6e40 + 0x00000003, 0x4062BE33, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE34, + 0x4063B020, 0x40646420, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646420, + 0x00000003, 0x4062BE36, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE21, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE24, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE27, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2A, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE2C, 0x4063B020, 0x40646A20, + // Block 442, offset 0x6e80 + 0x00000003, 0x4062BE2D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2E, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE30, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE31, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE33, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE34, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE36, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE37, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE39, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3A, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE3C, 0x4063B020, 0x40646A20, + // Block 443, offset 0x6ec0 + 0x00000003, 0x4062BE3D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3E, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE40, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE41, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE43, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE44, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE45, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE46, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE47, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE48, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE49, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4A, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4B, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE4C, 0x4063B020, 0x40646A20, + // Block 444, offset 0x6f00 + 0x00000003, 0x4062BE4D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4E, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4F, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062BE50, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE21, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE22, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE23, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE24, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE25, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE26, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE27, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE28, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE29, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2A, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE2C, 0x4063B020, 0x40647220, + // Block 445, offset 0x6f40 + 0x00000003, 0x4062BE2D, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2E, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE30, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE31, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE32, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE33, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE34, + 0x4063B020, 0x40647220, 0x00000003, 0x4062BE35, 0x4063B020, 0x40647220, + 0x00000003, 0x4062BE21, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE22, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BE24, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE25, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BE27, 0x4063B020, 0x40648220, + // Block 446, offset 0x6f80 + 0x00000003, 0x4062BE28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE29, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BE2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2C, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648220, + 0x00000003, 0x4062BE2E, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2F, + 0x4063B020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648420, + 0x00000003, 0x4062BE22, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE23, + 0x4063B020, 0x40648420, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648420, + 0x00000003, 0x4062BE25, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE26, + 0x4063B020, 0x40648420, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648420, + 0x00000003, 0x4062BE28, 0x4063B020, 0x40648420, + // Block 447, offset 0x6fc0 + 0x00000003, 0x4062BE29, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE2A, + 0x4063B020, 0x40648420, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE22, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE23, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE25, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE26, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE28, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE29, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE2B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2C, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE2E, 0x4063B020, 0x40648C20, + // Block 448, offset 0x7000 + 0x00000003, 0x4062BE2F, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE30, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062BE32, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE33, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063B020, 0x40648C20, + 0x00000002, 0x4062BE21, 0x4063B220, 0x00000002, 0x4062BE22, 0x4063B220, + 0x00000002, 0x4062BE23, 0x4063B220, 0x00000002, 0x4062BE24, 0x4063B220, + 0x00000002, 0x4062BE25, 0x4063B220, 0x00000002, 0x4062BE26, 0x4063B220, + 0x00000002, 0x4062BE27, 0x4063B220, 0x00000002, 0x4062BE28, 0x4063B220, + 0x00000002, 0x4062BE29, 0x4063B220, 0x00000002, 0x4062BE2A, 0x4063B220, + 0x00000002, 0x4062BE2B, 0x4063B220, 0x00000002, 0x4062BE2C, 0x4063B220, + 0x00000002, 0x4062BE21, 0x4063B820, 0x00000002, + // Block 449, offset 0x7040 + 0x4062BE22, 0x4063B820, 0x00000002, 0x4062BE23, 0x4063B820, 0x00000002, + 0x4062BE24, 0x4063B820, 0x00000002, 0x4062BE25, 0x4063B820, 0x00000002, + 0x4062BE26, 0x4063B820, 0x00000002, 0x4062BE27, 0x4063B820, 0x00000002, + 0x4062BE28, 0x4063B820, 0x00000002, 0x4062BE29, 0x4063B820, 0x00000002, + 0x4062BE2A, 0x4063B820, 0x00000002, 0x4062BE2B, 0x4063B820, 0x00000002, + 0x4062BE2C, 0x4063B820, 0x00000002, 0x4062BE2D, 0x4063B820, 0x00000002, + 0x4062BE2E, 0x4063B820, 0x00000002, 0x4062BE2F, 0x4063B820, 0x00000002, + 0x4062BE30, 0x4063B820, 0x00000002, 0x4062BE31, 0x4063B820, 0x00000002, + 0x4062BE32, 0x4063B820, 0x00000002, 0x4062BE33, 0x4063B820, 0x00000002, + 0x4062BE34, 0x4063B820, 0x00000002, 0x4062BE35, 0x4063B820, 0x00000002, + 0x4062BE36, 0x4063B820, 0x00000002, 0x4062BE37, + // Block 450, offset 0x7080 + 0x4063B820, 0x00000002, 0x4062BE38, 0x4063B820, 0x00000002, 0x4062BE39, + 0x4063B820, 0x00000002, 0x4062BE3A, 0x4063B820, 0x00000002, 0x4062BE3B, + 0x4063B820, 0x00000002, 0x4062BE3C, 0x4063B820, 0x00000002, 0x4062BE3D, + 0x4063B820, 0x00000002, 0x4062BE3E, 0x4063B820, 0x00000002, 0x4062BE3F, + 0x4063B820, 0x00000002, 0x4062BE40, 0x4063B820, 0x00000002, 0x4062BE41, + 0x4063B820, 0x00000002, 0x4062BE42, 0x4063B820, 0x00000002, 0x4062BE43, + 0x4063B820, 0x00000002, 0x4062BE44, 0x4063B820, 0x00000002, 0x4062BE45, + 0x4063B820, 0x00000002, 0x4062BE46, 0x4063B820, 0x00000002, 0x4062BE47, + 0x4063B820, 0x00000002, 0x4062BE48, 0x4063B820, 0x00000002, 0x4062BE49, + 0x4063B820, 0x00000002, 0x4062BE4A, 0x4063B820, 0x00000002, 0x4062BE4B, + 0x4063B820, 0x00000002, 0x4062BE4C, 0x4063B820, + // Block 451, offset 0x70c0 + 0x00000002, 0x4062BE4D, 0x4063B820, 0x00000002, 0x4062BE4E, 0x4063B820, + 0x00000002, 0x4062BE4F, 0x4063B820, 0x00000002, 0x4062BE50, 0x4063B820, + 0x00000002, 0x4062BE51, 0x4063B820, 0x00000002, 0x4062BE52, 0x4063B820, + 0x00000002, 0x4062BE53, 0x4063B820, 0x00000002, 0x4062BE54, 0x4063B820, + 0x00000002, 0x4062BE55, 0x4063B820, 0x00000002, 0x4062BE56, 0x4063B820, + 0x00000002, 0x4062BE57, 0x4063B820, 0x00000002, 0x4062BE58, 0x4063B820, + 0x00000002, 0x4062BE59, 0x4063B820, 0x00000002, 0x4062BE5A, 0x4063B820, + 0x00000002, 0x4062BE5B, 0x4063B820, 0x00000002, 0x4062BE5C, 0x4063B820, + 0x00000003, 0x4062BE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE22, + 0x4063B820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063B820, 0x40646420, + 0x00000003, 0x4062BE24, 0x4063B820, 0x40646420, + // Block 452, offset 0x7100 + 0x00000003, 0x4062BE25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE26, + 0x4063B820, 0x40646420, 0x00000003, 0x4062BE27, 0x4063B820, 0x40646420, + 0x00000003, 0x4062BE28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE29, + 0x4063B820, 0x40646420, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40646420, + 0x00000003, 0x4062BE2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE21, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062BE23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE24, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062BE26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE27, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062BE21, 0x4063B820, 0x40647220, + // Block 453, offset 0x7140 + 0x00000003, 0x4062BE22, 0x4063B820, 0x40647220, 0x00000003, 0x4062BE23, + 0x4063B820, 0x40647220, 0x00000003, 0x4062BE21, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062BE22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE23, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062BE25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE26, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062BE28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE29, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062BE2B, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BE21, + 0x4063BC20, 0x00000002, 0x4062BE22, 0x4063BC20, 0x00000002, 0x4062BE23, + 0x4063BC20, 0x00000002, 0x4062BE24, 0x4063BC20, + // Block 454, offset 0x7180 + 0x00000002, 0x4062BE25, 0x4063BC20, 0x00000002, 0x4062BE26, 0x4063BC20, + 0x00000002, 0x4062BE27, 0x4063BC20, 0x00000002, 0x4062BE21, 0x4063BE20, + 0x00000002, 0x4062BE22, 0x4063BE20, 0x00000002, 0x4062BE21, 0x4063C220, + 0x00000002, 0x4062BE22, 0x4063C220, 0x00000002, 0x4062BE23, 0x4063C220, + 0x00000002, 0x4062BE24, 0x4063C220, 0x00000002, 0x4062BE25, 0x4063C220, + 0x00000002, 0x4062BE26, 0x4063C220, 0x00000002, 0x4062BE27, 0x4063C220, + 0x00000002, 0x4062BE28, 0x4063C220, 0x00000002, 0x4062BE29, 0x4063C220, + 0x00000002, 0x4062BE2A, 0x4063C220, 0x00000002, 0x4062BE2B, 0x4063C220, + 0x00000002, 0x4062BE2C, 0x4063C220, 0x00000002, 0x4062BE2D, 0x4063C220, + 0x00000002, 0x4062BE2E, 0x4063C220, 0x00000002, 0x4062BE2F, 0x4063C220, + 0x00000002, 0x4062BE30, 0x4063C220, 0x00000002, + // Block 455, offset 0x71c0 + 0x4062BE31, 0x4063C220, 0x00000002, 0x4062BE32, 0x4063C220, 0x00000002, + 0x4062BE33, 0x4063C220, 0x00000002, 0x4062BE34, 0x4063C220, 0x00000002, + 0x4062BE35, 0x4063C220, 0x00000002, 0x4062BE36, 0x4063C220, 0x00000002, + 0x4062BE37, 0x4063C220, 0x00000002, 0x4062BE38, 0x4063C220, 0x00000002, + 0x4062BE39, 0x4063C220, 0x00000002, 0x4062BE3A, 0x4063C220, 0x00000002, + 0x4062BE3B, 0x4063C220, 0x00000002, 0x4062BE3C, 0x4063C220, 0x00000002, + 0x4062BE3D, 0x4063C220, 0x00000002, 0x4062BE3E, 0x4063C220, 0x00000002, + 0x4062BE3F, 0x4063C220, 0x00000002, 0x4062BE40, 0x4063C220, 0x00000002, + 0x4062BE41, 0x4063C220, 0x00000002, 0x4062BE42, 0x4063C220, 0x00000002, + 0x4062BE43, 0x4063C220, 0x00000002, 0x4062BE44, 0x4063C220, 0x00000002, + 0x4062BE45, 0x4063C220, 0x00000002, 0x4062BE46, + // Block 456, offset 0x7200 + 0x4063C220, 0x00000002, 0x4062BE47, 0x4063C220, 0x00000002, 0x4062BE48, + 0x4063C220, 0x00000002, 0x4062BE49, 0x4063C220, 0x00000002, 0x4062BE4A, + 0x4063C220, 0x00000002, 0x4062BE4B, 0x4063C220, 0x00000002, 0x4062BE4C, + 0x4063C220, 0x00000002, 0x4062BE4D, 0x4063C220, 0x00000002, 0x4062BE4E, + 0x4063C220, 0x00000002, 0x4062BE4F, 0x4063C220, 0x00000002, 0x4062BE50, + 0x4063C220, 0x00000002, 0x4062BE51, 0x4063C220, 0x00000002, 0x4062BE52, + 0x4063C220, 0x00000002, 0x4062BE53, 0x4063C220, 0x00000002, 0x4062BE54, + 0x4063C220, 0x00000002, 0x4062BE55, 0x4063C220, 0x00000002, 0x4062BE56, + 0x4063C220, 0x00000002, 0x4062BE57, 0x4063C220, 0x00000002, 0x4062BE58, + 0x4063C220, 0x00000002, 0x4062BE59, 0x4063C220, 0x00000002, 0x4062BE5A, + 0x4063C220, 0x00000002, 0x4062BE5B, 0x4063C220, + // Block 457, offset 0x7240 + 0x00000002, 0x4062BE5C, 0x4063C220, 0x00000002, 0x4062BE5D, 0x4063C220, + 0x00000002, 0x4062BE5E, 0x4063C220, 0x00000002, 0x4062BE5F, 0x4063C220, + 0x00000002, 0x4062BE60, 0x4063C220, 0x00000002, 0x4062BE61, 0x4063C220, + 0x00000002, 0x4062BE62, 0x4063C220, 0x00000002, 0x4062BE63, 0x4063C220, + 0x00000002, 0x4062BE64, 0x4063C220, 0x00000002, 0x4062BE65, 0x4063C220, + 0x00000002, 0x4062BE66, 0x4063C220, 0x00000002, 0x4062BE67, 0x4063C220, + 0x00000002, 0x4062BE68, 0x4063C220, 0x00000002, 0x4062BE69, 0x4063C220, + 0x00000002, 0x4062BE6A, 0x4063C220, 0x00000002, 0x4062BE6B, 0x4063C220, + 0x00000002, 0x4062BE6C, 0x4063C220, 0x00000002, 0x4062BE6D, 0x4063C220, + 0x00000002, 0x4062BE6E, 0x4063C220, 0x00000002, 0x4062BE6F, 0x4063C220, + 0x00000002, 0x4062BE70, 0x4063C220, 0x00000002, + // Block 458, offset 0x7280 + 0x4062BE71, 0x4063C220, 0x00000002, 0x4062BE72, 0x4063C220, 0x00000003, + 0x4062BE21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE22, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE24, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE25, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE27, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE28, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE2C, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE2D, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE2F, 0x4063C220, + // Block 459, offset 0x72c0 + 0x40646420, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE31, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE32, 0x4063C220, + 0x40646420, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646420, 0x00000003, + 0x4062BE21, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE24, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE2C, 0x4063C220, + // Block 460, offset 0x7300 + 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE2E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE31, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE34, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE36, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE37, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE39, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE3C, 0x4063C220, + // Block 461, offset 0x7340 + 0x40646A20, 0x00000003, 0x4062BE3D, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE3E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE40, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE41, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062BE43, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062BE44, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063C220, + 0x40647220, 0x00000003, 0x4062BE22, 0x4063C220, 0x40647220, 0x00000003, + 0x4062BE23, 0x4063C220, 0x40647220, 0x00000003, 0x4062BE24, 0x4063C220, + 0x40647220, 0x00000003, 0x4062BE25, 0x4063C220, 0x40647220, 0x00000003, + 0x4062BE21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063C220, + 0x40648C20, 0x00000003, 0x4062BE23, 0x4063C220, + // Block 462, offset 0x7380 + 0x40648C20, 0x00000003, 0x4062BE24, 0x4063C220, 0x40648C20, 0x00000002, + 0x4062BE21, 0x4063C820, 0x00000002, 0x4062BE22, 0x4063C820, 0x00000002, + 0x4062BE23, 0x4063C820, 0x00000003, 0x4062BE21, 0x4063CC20, 0x40647220, + 0x00000003, 0x4062BE22, 0x4063CC20, 0x40647220, 0x00000003, 0x4062BE23, + 0x4063CC20, 0x40647220, 0x00000003, 0x4062BE24, 0x4063CC20, 0x40647220, + 0x00000003, 0x4062BE21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE22, + 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE23, 0x4063CC20, 0x40648420, + 0x00000003, 0x4062BE24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE25, + 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE26, 0x4063CC20, 0x40648420, + 0x00000003, 0x4062BE27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE28, + 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE21, + // Block 463, offset 0x73c0 + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062BE23, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE24, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062BE26, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE27, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE28, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062BE29, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2A, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062BE2C, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062BE21, + 0x4063D020, 0x00000002, 0x4062BE22, 0x4063D020, 0x00000002, 0x4062BE23, + 0x4063D020, 0x00000002, 0x4062BE24, 0x4063D020, 0x00000002, 0x4062BE25, + 0x4063D020, 0x00000002, 0x4062BE26, 0x4063D020, + // Block 464, offset 0x7400 + 0x00000002, 0x4062BE27, 0x4063D020, 0x00000002, 0x4062BE28, 0x4063D020, + 0x00000002, 0x4062BE29, 0x4063D020, 0x00000002, 0x4062BE2A, 0x4063D020, + 0x00000002, 0x4062BE2B, 0x4063D020, 0x00000002, 0x4062BE2C, 0x4063D020, + 0x00000002, 0x4062BE2D, 0x4063D020, 0x00000002, 0x4062BE2E, 0x4063D020, + 0x00000002, 0x4062BE2F, 0x4063D020, 0x00000002, 0x4062BE30, 0x4063D020, + 0x00000002, 0x4062BE31, 0x4063D020, 0x00000002, 0x4062BE32, 0x4063D020, + 0x00000002, 0x4062BE33, 0x4063D020, 0x00000002, 0x4062BE34, 0x4063D020, + 0x00000002, 0x4062BE35, 0x4063D020, 0x00000002, 0x4062BE36, 0x4063D020, + 0x00000002, 0x4062BE37, 0x4063D020, 0x00000002, 0x4062BE38, 0x4063D020, + 0x00000002, 0x4062BE39, 0x4063D020, 0x00000002, 0x4062BE3A, 0x4063D020, + 0x00000002, 0x4062BE3B, 0x4063D020, 0x00000002, + // Block 465, offset 0x7440 + 0x4062BE3C, 0x4063D020, 0x00000002, 0x4062BE3D, 0x4063D020, 0x00000002, + 0x4062BE3E, 0x4063D020, 0x00000002, 0x4062BE3F, 0x4063D020, 0x00000002, + 0x4062BE40, 0x4063D020, 0x00000002, 0x4062BE41, 0x4063D020, 0x00000002, + 0x4062BE42, 0x4063D020, 0x00000002, 0x4062BE43, 0x4063D020, 0x00000002, + 0x4062BE44, 0x4063D020, 0x00000002, 0x4062BE45, 0x4063D020, 0x00000002, + 0x4062BE46, 0x4063D020, 0x00000002, 0x4062BE47, 0x4063D020, 0x00000002, + 0x4062BE48, 0x4063D020, 0x00000002, 0x4062BE49, 0x4063D020, 0x00000002, + 0x4062BE4A, 0x4063D020, 0x00000002, 0x4062BE4B, 0x4063D020, 0x00000002, + 0x4062BE4C, 0x4063D020, 0x00000002, 0x4062BE4D, 0x4063D020, 0x00000003, + 0x4062BE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE22, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE23, 0x4063D020, + // Block 466, offset 0x7480 + 0x40646420, 0x00000003, 0x4062BE24, 0x4063D020, 0x40646420, 0x00000003, + 0x4062BE25, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE26, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE27, 0x4063D020, 0x40646420, 0x00000003, + 0x4062BE28, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE29, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE2A, 0x4063D020, 0x40646420, 0x00000003, + 0x4062BE2B, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2C, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE2D, 0x4063D020, 0x40646420, 0x00000003, + 0x4062BE2E, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2F, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE30, 0x4063D020, 0x40646420, 0x00000003, + 0x4062BE31, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE32, 0x4063D020, + 0x40646420, 0x00000003, 0x4062BE21, 0x4063D020, + // Block 467, offset 0x74c0 + 0x40646A20, 0x00000003, 0x4062BE22, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE23, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE24, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE25, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE26, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE27, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE28, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE29, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2A, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE2C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE31, 0x4063D020, + // Block 468, offset 0x7500 + 0x40646A20, 0x00000003, 0x4062BE32, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE33, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE34, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE35, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE36, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE37, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE38, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE39, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3A, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE3C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3D, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE3E, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062BE3F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE40, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062BE41, 0x4063D020, + // Block 469, offset 0x7540 + 0x40646A20, 0x00000003, 0x4062BE21, 0x4063D020, 0x40647220, 0x00000003, + 0x4062BE22, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE23, 0x4063D020, + 0x40647220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40647220, 0x00000003, + 0x4062BE25, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE26, 0x4063D020, + 0x40647220, 0x00000003, 0x4062BE21, 0x4063D020, 0x40648220, 0x00000003, + 0x4062BE22, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063D020, + 0x40648220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40648220, 0x00000003, + 0x4062BE25, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063D020, + 0x40648220, 0x00000003, 0x4062BE27, 0x4063D020, 0x40648220, 0x00000003, + 0x4062BE28, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE29, 0x4063D020, + 0x40648220, 0x00000003, 0x4062BE2A, 0x4063D020, + // Block 470, offset 0x7580 + 0x40648220, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40648220, 0x00000003, + 0x4062BE2C, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063D020, + 0x40648220, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40648220, 0x00000003, + 0x4062BE2F, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063D020, + 0x40648420, 0x00000003, 0x4062BE22, 0x4063D020, 0x40648420, 0x00000003, + 0x4062BE23, 0x4063D020, 0x40648420, 0x00000003, 0x4062C021, 0x4063A820, + 0x40648C20, 0x00000002, 0x4062C021, 0x4063D020, 0x00000002, 0x4062C221, + 0x4063A820, 0x00000002, 0x4062C222, 0x4063A820, 0x00000002, 0x4062C223, + 0x4063A820, 0x00000002, 0x4062C224, 0x4063A820, 0x00000002, 0x4062C225, + 0x4063A820, 0x00000002, 0x4062C226, 0x4063A820, 0x00000002, 0x4062C227, + 0x4063A820, 0x00000002, 0x4062C228, 0x4063A820, + // Block 471, offset 0x75c0 + 0x00000002, 0x4062C229, 0x4063A820, 0x00000002, 0x4062C22A, 0x4063A820, + 0x00000002, 0x4062C22B, 0x4063A820, 0x00000002, 0x4062C22C, 0x4063A820, + 0x00000002, 0x4062C22D, 0x4063A820, 0x00000002, 0x4062C22E, 0x4063A820, + 0x00000002, 0x4062C22F, 0x4063A820, 0x00000002, 0x4062C230, 0x4063A820, + 0x00000002, 0x4062C231, 0x4063A820, 0x00000002, 0x4062C232, 0x4063A820, + 0x00000002, 0x4062C233, 0x4063A820, 0x00000002, 0x4062C234, 0x4063A820, + 0x00000002, 0x4062C235, 0x4063A820, 0x00000002, 0x4062C236, 0x4063A820, + 0x00000002, 0x4062C237, 0x4063A820, 0x00000002, 0x4062C238, 0x4063A820, + 0x00000002, 0x4062C239, 0x4063A820, 0x00000002, 0x4062C23A, 0x4063A820, + 0x00000002, 0x4062C23B, 0x4063A820, 0x00000002, 0x4062C23C, 0x4063A820, + 0x00000002, 0x4062C23D, 0x4063A820, 0x00000003, + // Block 472, offset 0x7600 + 0x4062C221, 0x4063A820, 0x40646420, 0x00000003, 0x4062C222, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C223, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C224, 0x4063A820, 0x40646420, 0x00000003, 0x4062C225, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C226, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C227, 0x4063A820, 0x40646420, 0x00000003, 0x4062C228, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C229, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C22A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22B, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C22C, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C22D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22E, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C22F, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C230, 0x4063A820, 0x40646420, 0x00000003, + // Block 473, offset 0x7640 + 0x4062C231, 0x4063A820, 0x40646420, 0x00000003, 0x4062C232, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C233, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C234, 0x4063A820, 0x40646420, 0x00000003, 0x4062C235, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C236, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C237, 0x4063A820, 0x40646420, 0x00000003, 0x4062C238, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C239, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C222, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C223, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C225, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C226, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C227, 0x4063A820, 0x40646A20, 0x00000003, + // Block 474, offset 0x7680 + 0x4062C228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C229, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C22A, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C22D, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C221, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C222, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C223, 0x4063A820, 0x40647220, 0x00000003, 0x4062C224, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C225, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C226, 0x4063A820, 0x40647220, 0x00000003, 0x4062C227, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C228, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C229, 0x4063A820, 0x40647220, 0x00000003, + // Block 475, offset 0x76c0 + 0x4062C22A, 0x4063A820, 0x40647220, 0x00000003, 0x4062C22B, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C221, 0x4063A820, 0x40648220, 0x00000003, 0x4062C222, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C223, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C224, 0x4063A820, 0x40648220, 0x00000003, 0x4062C225, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C226, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C227, 0x4063A820, 0x40648220, 0x00000003, 0x4062C228, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C229, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22B, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C22D, 0x4063A820, 0x40648220, 0x00000003, + // Block 476, offset 0x7700 + 0x4062C22E, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22F, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C230, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C231, 0x4063A820, 0x40648220, 0x00000003, 0x4062C232, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C233, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C221, 0x4063A820, 0x40648420, 0x00000003, 0x4062C222, 0x4063A820, + 0x40648420, 0x00000003, 0x4062C223, 0x4063A820, 0x40648420, 0x00000003, + 0x4062C224, 0x4063A820, 0x40648420, 0x00000003, 0x4062C221, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C222, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C223, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C224, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C225, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C226, 0x4063A820, 0x40648C20, 0x00000003, + // Block 477, offset 0x7740 + 0x4062C227, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C228, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C229, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C22A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C22B, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648C20, 0x00000002, + 0x4062C221, 0x4063AA20, 0x00000002, 0x4062C222, 0x4063AA20, 0x00000002, + 0x4062C223, 0x4063AA20, 0x00000002, 0x4062C224, 0x4063AA20, 0x00000002, + 0x4062C225, 0x4063AA20, 0x00000002, 0x4062C226, 0x4063AA20, 0x00000002, + 0x4062C227, 0x4063AA20, 0x00000002, 0x4062C228, 0x4063AA20, 0x00000002, + 0x4062C229, 0x4063AA20, 0x00000002, 0x4062C22A, 0x4063AA20, 0x00000002, + 0x4062C22B, 0x4063AA20, 0x00000002, 0x4062C22C, 0x4063AA20, 0x00000002, + 0x4062C22D, 0x4063AA20, 0x00000002, 0x4062C22E, + // Block 478, offset 0x7780 + 0x4063AA20, 0x00000002, 0x4062C22F, 0x4063AA20, 0x00000002, 0x4062C230, + 0x4063AA20, 0x00000002, 0x4062C231, 0x4063AA20, 0x00000002, 0x4062C232, + 0x4063AA20, 0x00000002, 0x4062C233, 0x4063AA20, 0x00000002, 0x4062C234, + 0x4063AA20, 0x00000002, 0x4062C235, 0x4063AA20, 0x00000002, 0x4062C236, + 0x4063AA20, 0x00000002, 0x4062C237, 0x4063AA20, 0x00000002, 0x4062C238, + 0x4063AA20, 0x00000002, 0x4062C239, 0x4063AA20, 0x00000002, 0x4062C23A, + 0x4063AA20, 0x00000002, 0x4062C23B, 0x4063AA20, 0x00000002, 0x4062C23C, + 0x4063AA20, 0x00000002, 0x4062C23D, 0x4063AA20, 0x00000002, 0x4062C23E, + 0x4063AA20, 0x00000002, 0x4062C23F, 0x4063AA20, 0x00000003, 0x4062C221, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062C222, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062C223, 0x4063AA20, 0x40646420, + // Block 479, offset 0x77c0 + 0x00000003, 0x4062C224, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C225, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062C226, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062C227, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C228, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062C229, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062C22A, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C22B, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062C221, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062C222, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C223, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062C225, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C226, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C227, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062C228, 0x4063AA20, 0x40648C20, + // Block 480, offset 0x7800 + 0x00000002, 0x4062C221, 0x4063AC20, 0x00000002, 0x4062C222, 0x4063AC20, + 0x00000002, 0x4062C223, 0x4063AC20, 0x00000002, 0x4062C224, 0x4063AC20, + 0x00000002, 0x4062C225, 0x4063AC20, 0x00000002, 0x4062C226, 0x4063AC20, + 0x00000002, 0x4062C227, 0x4063AC20, 0x00000002, 0x4062C228, 0x4063AC20, + 0x00000002, 0x4062C229, 0x4063AC20, 0x00000002, 0x4062C22A, 0x4063AC20, + 0x00000002, 0x4062C22B, 0x4063AC20, 0x00000003, 0x4062C221, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062C222, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062C223, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C224, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062C225, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062C226, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C227, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062C228, 0x4063AC20, + // Block 481, offset 0x7840 + 0x40646420, 0x00000003, 0x4062C229, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062C22A, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22B, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062C22C, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062C22D, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22E, 0x4063AC20, + 0x40646420, 0x00000003, 0x4062C22F, 0x4063AC20, 0x40646420, 0x00000003, + 0x4062C221, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C223, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C224, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C226, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C227, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C229, 0x4063AC20, + // Block 482, offset 0x7880 + 0x40648C20, 0x00000003, 0x4062C22A, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C22B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C22D, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C22E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22F, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C230, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C231, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C232, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C233, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C234, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C235, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C236, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C237, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C238, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C239, 0x4063AC20, + // Block 483, offset 0x78c0 + 0x40648C20, 0x00000003, 0x4062C23A, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C23B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C23D, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C23E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23F, 0x4063AC20, + 0x40648C20, 0x00000003, 0x4062C240, 0x4063AC20, 0x40648C20, 0x00000003, + 0x4062C241, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C242, 0x4063AC20, + 0x40648C20, 0x00000002, 0x4062C221, 0x4063B020, 0x00000002, 0x4062C222, + 0x4063B020, 0x00000002, 0x4062C223, 0x4063B020, 0x00000002, 0x4062C224, + 0x4063B020, 0x00000002, 0x4062C225, 0x4063B020, 0x00000002, 0x4062C226, + 0x4063B020, 0x00000002, 0x4062C227, 0x4063B020, 0x00000002, 0x4062C228, + 0x4063B020, 0x00000002, 0x4062C229, 0x4063B020, + // Block 484, offset 0x7900 + 0x00000002, 0x4062C22A, 0x4063B020, 0x00000002, 0x4062C22B, 0x4063B020, + 0x00000002, 0x4062C22C, 0x4063B020, 0x00000002, 0x4062C22D, 0x4063B020, + 0x00000002, 0x4062C22E, 0x4063B020, 0x00000003, 0x4062C221, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C222, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C223, 0x4063B020, 0x40646420, 0x00000003, 0x4062C224, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C225, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C226, 0x4063B020, 0x40646420, 0x00000003, 0x4062C221, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C222, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C223, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C225, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C226, 0x4063B020, 0x40646A20, 0x00000003, + // Block 485, offset 0x7940 + 0x4062C227, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C229, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C22A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C22C, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C22D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C221, 0x4063B020, + 0x40647220, 0x00000003, 0x4062C222, 0x4063B020, 0x40647220, 0x00000003, + 0x4062C223, 0x4063B020, 0x40647220, 0x00000003, 0x4062C221, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C222, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C223, 0x4063B020, 0x40648220, 0x00000003, 0x4062C224, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C225, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C226, 0x4063B020, 0x40648220, 0x00000003, + // Block 486, offset 0x7980 + 0x4062C227, 0x4063B020, 0x40648220, 0x00000003, 0x4062C228, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C229, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C22A, 0x4063B020, 0x40648220, 0x00000003, 0x4062C22B, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C22C, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C221, 0x4063B020, 0x40648420, 0x00000003, 0x4062C222, 0x4063B020, + 0x40648420, 0x00000003, 0x4062C223, 0x4063B020, 0x40648420, 0x00000003, + 0x4062C224, 0x4063B020, 0x40648420, 0x00000002, 0x4062C221, 0x4063B220, + 0x00000002, 0x4062C222, 0x4063B220, 0x00000003, 0x4062C221, 0x4063B220, + 0x40646A20, 0x00000002, 0x4062C221, 0x4063B420, 0x00000002, 0x4062C222, + 0x4063B420, 0x00000002, 0x4062C223, 0x4063B420, 0x00000002, 0x4062C224, + 0x4063B420, 0x00000002, 0x4062C225, 0x4063B420, + // Block 487, offset 0x79c0 + 0x00000002, 0x4062C226, 0x4063B420, 0x00000002, 0x4062C227, 0x4063B420, + 0x00000002, 0x4062C228, 0x4063B420, 0x00000002, 0x4062C229, 0x4063B420, + 0x00000002, 0x4062C22A, 0x4063B420, 0x00000002, 0x4062C22B, 0x4063B420, + 0x00000002, 0x4062C22C, 0x4063B420, 0x00000002, 0x4062C22D, 0x4063B420, + 0x00000002, 0x4062C22E, 0x4063B420, 0x00000003, 0x4062C221, 0x4063B420, + 0x40646420, 0x00000003, 0x4062C222, 0x4063B420, 0x40646420, 0x00000003, + 0x4062C223, 0x4063B420, 0x40646420, 0x00000003, 0x4062C224, 0x4063B420, + 0x40646420, 0x00000003, 0x4062C225, 0x4063B420, 0x40646420, 0x00000003, + 0x4062C226, 0x4063B420, 0x40646420, 0x00000003, 0x4062C227, 0x4063B420, + 0x40646420, 0x00000003, 0x4062C228, 0x4063B420, 0x40646420, 0x00000003, + 0x4062C229, 0x4063B420, 0x40646420, 0x00000003, + // Block 488, offset 0x7a00 + 0x4062C22A, 0x4063B420, 0x40646420, 0x00000003, 0x4062C22B, 0x4063B420, + 0x40646420, 0x00000003, 0x4062C22C, 0x4063B420, 0x40646420, 0x00000003, + 0x4062C22D, 0x4063B420, 0x40646420, 0x00000003, 0x4062C221, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C222, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C223, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C225, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C226, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C228, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C229, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C22B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C22C, 0x4063B420, 0x40646A20, 0x00000003, + // Block 489, offset 0x7a40 + 0x4062C22D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C22F, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C230, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C232, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C233, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C235, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C236, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C237, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C238, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C239, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23A, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C23B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C23C, 0x4063B420, 0x40646A20, 0x00000003, + // Block 490, offset 0x7a80 + 0x4062C23D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C23F, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C240, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C242, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C243, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C245, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C246, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C247, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C248, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C249, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C24A, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062C24B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062C24C, 0x4063B420, 0x40646A20, 0x00000003, + // Block 491, offset 0x7ac0 + 0x4062C221, 0x4063B420, 0x40647220, 0x00000003, 0x4062C222, 0x4063B420, + 0x40647220, 0x00000003, 0x4062C223, 0x4063B420, 0x40647220, 0x00000003, + 0x4062C224, 0x4063B420, 0x40647220, 0x00000003, 0x4062C225, 0x4063B420, + 0x40647220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C222, 0x4063B420, 0x40648220, 0x00000003, 0x4062C223, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C224, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C225, 0x4063B420, 0x40648220, 0x00000003, 0x4062C226, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C227, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C228, 0x4063B420, 0x40648220, 0x00000003, 0x4062C229, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C22B, 0x4063B420, 0x40648220, 0x00000003, + // Block 492, offset 0x7b00 + 0x4062C22C, 0x4063B420, 0x40648220, 0x00000003, 0x4062C22D, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C22E, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C22F, 0x4063B420, 0x40648220, 0x00000003, 0x4062C230, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C231, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C232, 0x4063B420, 0x40648220, 0x00000003, 0x4062C233, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C234, 0x4063B420, 0x40648220, 0x00000003, + 0x4062C235, 0x4063B420, 0x40648220, 0x00000003, 0x4062C236, 0x4063B420, + 0x40648220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648420, 0x00000003, + 0x4062C222, 0x4063B420, 0x40648420, 0x00000003, 0x4062C223, 0x4063B420, + 0x40648420, 0x00000003, 0x4062C224, 0x4063B420, 0x40648420, 0x00000003, + 0x4062C225, 0x4063B420, 0x40648420, 0x00000003, + // Block 493, offset 0x7b40 + 0x4062C226, 0x4063B420, 0x40648420, 0x00000003, 0x4062C227, 0x4063B420, + 0x40648420, 0x00000003, 0x4062C221, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C222, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C224, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C225, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C227, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C228, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C229, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C22B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C22D, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C22E, 0x4063B420, 0x40648C20, 0x00000003, + // Block 494, offset 0x7b80 + 0x4062C22F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C231, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C232, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C233, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C234, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C235, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C236, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C237, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C238, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C239, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C23A, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C23B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C23D, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C23E, 0x4063B420, 0x40648C20, 0x00000003, + // Block 495, offset 0x7bc0 + 0x4062C23F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C240, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C241, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C242, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C243, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C244, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062C245, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C246, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062C247, 0x4063B420, 0x40648C20, 0x00000002, + 0x4062C221, 0x4063B620, 0x00000002, 0x4062C222, 0x4063B620, 0x00000002, + 0x4062C223, 0x4063B620, 0x00000002, 0x4062C224, 0x4063B620, 0x00000002, + 0x4062C225, 0x4063B620, 0x00000002, 0x4062C226, 0x4063B620, 0x00000002, + 0x4062C227, 0x4063B620, 0x00000002, 0x4062C228, 0x4063B620, 0x00000002, + 0x4062C229, 0x4063B620, 0x00000002, 0x4062C22A, + // Block 496, offset 0x7c00 + 0x4063B620, 0x00000002, 0x4062C22B, 0x4063B620, 0x00000002, 0x4062C22C, + 0x4063B620, 0x00000002, 0x4062C22D, 0x4063B620, 0x00000002, 0x4062C22E, + 0x4063B620, 0x00000002, 0x4062C22F, 0x4063B620, 0x00000002, 0x4062C230, + 0x4063B620, 0x00000002, 0x4062C231, 0x4063B620, 0x00000002, 0x4062C232, + 0x4063B620, 0x00000002, 0x4062C233, 0x4063B620, 0x00000002, 0x4062C234, + 0x4063B620, 0x00000002, 0x4062C235, 0x4063B620, 0x00000002, 0x4062C236, + 0x4063B620, 0x00000002, 0x4062C237, 0x4063B620, 0x00000002, 0x4062C238, + 0x4063B620, 0x00000002, 0x4062C239, 0x4063B620, 0x00000002, 0x4062C23A, + 0x4063B620, 0x00000002, 0x4062C23B, 0x4063B620, 0x00000002, 0x4062C23C, + 0x4063B620, 0x00000002, 0x4062C23D, 0x4063B620, 0x00000002, 0x4062C23E, + 0x4063B620, 0x00000002, 0x4062C23F, 0x4063B620, + // Block 497, offset 0x7c40 + 0x00000002, 0x4062C240, 0x4063B620, 0x00000002, 0x4062C241, 0x4063B620, + 0x00000002, 0x4062C242, 0x4063B620, 0x00000002, 0x4062C243, 0x4063B620, + 0x00000002, 0x4062C244, 0x4063B620, 0x00000002, 0x4062C245, 0x4063B620, + 0x00000002, 0x4062C246, 0x4063B620, 0x00000002, 0x4062C247, 0x4063B620, + 0x00000002, 0x4062C221, 0x4063B820, 0x00000002, 0x4062C222, 0x4063B820, + 0x00000002, 0x4062C223, 0x4063B820, 0x00000002, 0x4062C224, 0x4063B820, + 0x00000002, 0x4062C225, 0x4063B820, 0x00000002, 0x4062C226, 0x4063B820, + 0x00000002, 0x4062C227, 0x4063B820, 0x00000002, 0x4062C228, 0x4063B820, + 0x00000002, 0x4062C229, 0x4063B820, 0x00000002, 0x4062C22A, 0x4063B820, + 0x00000002, 0x4062C22B, 0x4063B820, 0x00000002, 0x4062C22C, 0x4063B820, + 0x00000002, 0x4062C22D, 0x4063B820, 0x00000002, + // Block 498, offset 0x7c80 + 0x4062C22E, 0x4063B820, 0x00000002, 0x4062C22F, 0x4063B820, 0x00000002, + 0x4062C230, 0x4063B820, 0x00000002, 0x4062C231, 0x4063B820, 0x00000002, + 0x4062C232, 0x4063B820, 0x00000002, 0x4062C233, 0x4063B820, 0x00000002, + 0x4062C234, 0x4063B820, 0x00000002, 0x4062C235, 0x4063B820, 0x00000002, + 0x4062C236, 0x4063B820, 0x00000002, 0x4062C237, 0x4063B820, 0x00000002, + 0x4062C238, 0x4063B820, 0x00000002, 0x4062C239, 0x4063B820, 0x00000002, + 0x4062C23A, 0x4063B820, 0x00000002, 0x4062C23B, 0x4063B820, 0x00000002, + 0x4062C23C, 0x4063B820, 0x00000002, 0x4062C23D, 0x4063B820, 0x00000002, + 0x4062C23E, 0x4063B820, 0x00000002, 0x4062C23F, 0x4063B820, 0x00000002, + 0x4062C240, 0x4063B820, 0x00000002, 0x4062C241, 0x4063B820, 0x00000002, + 0x4062C242, 0x4063B820, 0x00000002, 0x4062C243, + // Block 499, offset 0x7cc0 + 0x4063B820, 0x00000002, 0x4062C244, 0x4063B820, 0x00000002, 0x4062C245, + 0x4063B820, 0x00000002, 0x4062C246, 0x4063B820, 0x00000002, 0x4062C247, + 0x4063B820, 0x00000002, 0x4062C248, 0x4063B820, 0x00000002, 0x4062C249, + 0x4063B820, 0x00000002, 0x4062C24A, 0x4063B820, 0x00000002, 0x4062C24B, + 0x4063B820, 0x00000002, 0x4062C24C, 0x4063B820, 0x00000002, 0x4062C24D, + 0x4063B820, 0x00000002, 0x4062C24E, 0x4063B820, 0x00000002, 0x4062C24F, + 0x4063B820, 0x00000002, 0x4062C250, 0x4063B820, 0x00000002, 0x4062C251, + 0x4063B820, 0x00000002, 0x4062C252, 0x4063B820, 0x00000002, 0x4062C253, + 0x4063B820, 0x00000002, 0x4062C254, 0x4063B820, 0x00000002, 0x4062C255, + 0x4063B820, 0x00000002, 0x4062C256, 0x4063B820, 0x00000003, 0x4062C221, + 0x4063B820, 0x40646420, 0x00000003, 0x4062C222, + // Block 500, offset 0x7d00 + 0x4063B820, 0x40646420, 0x00000003, 0x4062C223, 0x4063B820, 0x40646420, + 0x00000003, 0x4062C224, 0x4063B820, 0x40646420, 0x00000003, 0x4062C225, + 0x4063B820, 0x40646420, 0x00000003, 0x4062C221, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C222, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C223, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C225, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C226, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C228, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C229, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C22B, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22C, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22D, + // Block 501, offset 0x7d40 + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C22F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C230, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C221, 0x4063B820, 0x40647220, 0x00000003, 0x4062C222, + 0x4063B820, 0x40647220, 0x00000003, 0x4062C223, 0x4063B820, 0x40647220, + 0x00000003, 0x4062C221, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C222, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C224, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C225, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C227, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C228, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C229, + // Block 502, offset 0x7d80 + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C22B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22C, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C22E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22F, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C231, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C232, + 0x4063B820, 0x40648C20, 0x00000002, 0x4062C221, 0x4063BA20, 0x00000002, + 0x4062C222, 0x4063BA20, 0x00000002, 0x4062C223, 0x4063BA20, 0x00000002, + 0x4062C224, 0x4063BA20, 0x00000002, 0x4062C225, 0x4063BA20, 0x00000002, + 0x4062C226, 0x4063BA20, 0x00000002, 0x4062C227, 0x4063BA20, 0x00000002, + 0x4062C228, 0x4063BA20, 0x00000002, 0x4062C229, + // Block 503, offset 0x7dc0 + 0x4063BA20, 0x00000002, 0x4062C22A, 0x4063BA20, 0x00000002, 0x4062C22B, + 0x4063BA20, 0x00000002, 0x4062C22C, 0x4063BA20, 0x00000002, 0x4062C22D, + 0x4063BA20, 0x00000002, 0x4062C22E, 0x4063BA20, 0x00000002, 0x4062C22F, + 0x4063BA20, 0x00000002, 0x4062C230, 0x4063BA20, 0x00000002, 0x4062C231, + 0x4063BA20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C222, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C223, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C224, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C225, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C226, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C227, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C228, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C229, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C22A, 0x4063BA20, + // Block 504, offset 0x7e00 + 0x40646A20, 0x00000003, 0x4062C22B, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C22C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C22D, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C22E, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C22F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C230, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C231, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C232, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C233, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C234, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C235, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C236, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C237, 0x4063BA20, 0x40646A20, 0x00000003, + 0x4062C238, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C239, 0x4063BA20, + 0x40646A20, 0x00000003, 0x4062C23A, 0x4063BA20, + // Block 505, offset 0x7e40 + 0x40646A20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40647220, 0x00000003, + 0x4062C221, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062C223, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062C224, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063BA20, + 0x40648C20, 0x00000003, 0x4062C226, 0x4063BA20, 0x40648C20, 0x00000003, + 0x4062C227, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063BA20, + 0x40648C20, 0x00000002, 0x4062C221, 0x4063BC20, 0x00000002, 0x4062C222, + 0x4063BC20, 0x00000002, 0x4062C223, 0x4063BC20, 0x00000002, 0x4062C224, + 0x4063BC20, 0x00000002, 0x4062C225, 0x4063BC20, 0x00000002, 0x4062C221, + 0x4063BE20, 0x00000002, 0x4062C222, 0x4063BE20, 0x00000002, 0x4062C223, + 0x4063BE20, 0x00000002, 0x4062C224, 0x4063BE20, + // Block 506, offset 0x7e80 + 0x00000002, 0x4062C225, 0x4063BE20, 0x00000002, 0x4062C226, 0x4063BE20, + 0x00000002, 0x4062C227, 0x4063BE20, 0x00000002, 0x4062C228, 0x4063BE20, + 0x00000002, 0x4062C229, 0x4063BE20, 0x00000002, 0x4062C22A, 0x4063BE20, + 0x00000002, 0x4062C22B, 0x4063BE20, 0x00000002, 0x4062C22C, 0x4063BE20, + 0x00000002, 0x4062C22D, 0x4063BE20, 0x00000002, 0x4062C22E, 0x4063BE20, + 0x00000002, 0x4062C221, 0x4063C020, 0x00000002, 0x4062C222, 0x4063C020, + 0x00000002, 0x4062C223, 0x4063C020, 0x00000002, 0x4062C224, 0x4063C020, + 0x00000002, 0x4062C225, 0x4063C020, 0x00000002, 0x4062C226, 0x4063C020, + 0x00000002, 0x4062C227, 0x4063C020, 0x00000002, 0x4062C228, 0x4063C020, + 0x00000002, 0x4062C229, 0x4063C020, 0x00000002, 0x4062C22A, 0x4063C020, + 0x00000002, 0x4062C22B, 0x4063C020, 0x00000002, + // Block 507, offset 0x7ec0 + 0x4062C22C, 0x4063C020, 0x00000002, 0x4062C22D, 0x4063C020, 0x00000002, + 0x4062C22E, 0x4063C020, 0x00000002, 0x4062C22F, 0x4063C020, 0x00000002, + 0x4062C230, 0x4063C020, 0x00000002, 0x4062C231, 0x4063C020, 0x00000002, + 0x4062C232, 0x4063C020, 0x00000002, 0x4062C233, 0x4063C020, 0x00000002, + 0x4062C234, 0x4063C020, 0x00000002, 0x4062C235, 0x4063C020, 0x00000002, + 0x4062C236, 0x4063C020, 0x00000002, 0x4062C237, 0x4063C020, 0x00000002, + 0x4062C238, 0x4063C020, 0x00000002, 0x4062C239, 0x4063C020, 0x00000002, + 0x4062C23A, 0x4063C020, 0x00000002, 0x4062C23B, 0x4063C020, 0x00000002, + 0x4062C23C, 0x4063C020, 0x00000002, 0x4062C23D, 0x4063C020, 0x00000002, + 0x4062C23E, 0x4063C020, 0x00000002, 0x4062C23F, 0x4063C020, 0x00000002, + 0x4062C240, 0x4063C020, 0x00000002, 0x4062C241, + // Block 508, offset 0x7f00 + 0x4063C020, 0x00000002, 0x4062C242, 0x4063C020, 0x00000002, 0x4062C243, + 0x4063C020, 0x00000002, 0x4062C244, 0x4063C020, 0x00000002, 0x4062C245, + 0x4063C020, 0x00000002, 0x4062C246, 0x4063C020, 0x00000002, 0x4062C247, + 0x4063C020, 0x00000002, 0x4062C248, 0x4063C020, 0x00000002, 0x4062C249, + 0x4063C020, 0x00000002, 0x4062C24A, 0x4063C020, 0x00000002, 0x4062C24B, + 0x4063C020, 0x00000002, 0x4062C24C, 0x4063C020, 0x00000003, 0x4062C221, + 0x4063C020, 0x40646420, 0x00000003, 0x4062C222, 0x4063C020, 0x40646420, + 0x00000003, 0x4062C223, 0x4063C020, 0x40646420, 0x00000003, 0x4062C224, + 0x4063C020, 0x40646420, 0x00000003, 0x4062C225, 0x4063C020, 0x40646420, + 0x00000003, 0x4062C226, 0x4063C020, 0x40646420, 0x00000003, 0x4062C227, + 0x4063C020, 0x40646420, 0x00000003, 0x4062C228, + // Block 509, offset 0x7f40 + 0x4063C020, 0x40646420, 0x00000003, 0x4062C221, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C222, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C223, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C224, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C225, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C226, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C227, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C228, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C229, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C22B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22C, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C22E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22F, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C230, + // Block 510, offset 0x7f80 + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C231, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C232, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C233, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C234, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C235, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C236, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C237, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C238, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C239, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23A, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C23B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23C, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23D, 0x4063C020, 0x40648C20, + 0x00000003, 0x4062C23E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23F, + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C240, + // Block 511, offset 0x7fc0 + 0x4063C020, 0x40648C20, 0x00000003, 0x4062C241, 0x4063C020, 0x40648C20, + 0x00000002, 0x4062C221, 0x4063C220, 0x00000002, 0x4062C222, 0x4063C220, + 0x00000002, 0x4062C223, 0x4063C220, 0x00000002, 0x4062C224, 0x4063C220, + 0x00000002, 0x4062C225, 0x4063C220, 0x00000002, 0x4062C226, 0x4063C220, + 0x00000002, 0x4062C227, 0x4063C220, 0x00000002, 0x4062C228, 0x4063C220, + 0x00000002, 0x4062C229, 0x4063C220, 0x00000002, 0x4062C22A, 0x4063C220, + 0x00000002, 0x4062C22B, 0x4063C220, 0x00000002, 0x4062C22C, 0x4063C220, + 0x00000002, 0x4062C22D, 0x4063C220, 0x00000002, 0x4062C22E, 0x4063C220, + 0x00000002, 0x4062C22F, 0x4063C220, 0x00000002, 0x4062C230, 0x4063C220, + 0x00000002, 0x4062C231, 0x4063C220, 0x00000002, 0x4062C232, 0x4063C220, + 0x00000002, 0x4062C233, 0x4063C220, 0x00000002, + // Block 512, offset 0x8000 + 0x4062C234, 0x4063C220, 0x00000002, 0x4062C235, 0x4063C220, 0x00000002, + 0x4062C236, 0x4063C220, 0x00000002, 0x4062C237, 0x4063C220, 0x00000002, + 0x4062C238, 0x4063C220, 0x00000002, 0x4062C239, 0x4063C220, 0x00000002, + 0x4062C23A, 0x4063C220, 0x00000002, 0x4062C23B, 0x4063C220, 0x00000002, + 0x4062C23C, 0x4063C220, 0x00000002, 0x4062C23D, 0x4063C220, 0x00000002, + 0x4062C23E, 0x4063C220, 0x00000002, 0x4062C23F, 0x4063C220, 0x00000002, + 0x4062C240, 0x4063C220, 0x00000002, 0x4062C241, 0x4063C220, 0x00000002, + 0x4062C242, 0x4063C220, 0x00000002, 0x4062C243, 0x4063C220, 0x00000002, + 0x4062C244, 0x4063C220, 0x00000002, 0x4062C245, 0x4063C220, 0x00000002, + 0x4062C246, 0x4063C220, 0x00000002, 0x4062C247, 0x4063C220, 0x00000002, + 0x4062C248, 0x4063C220, 0x00000002, 0x4062C249, + // Block 513, offset 0x8040 + 0x4063C220, 0x00000002, 0x4062C24A, 0x4063C220, 0x00000002, 0x4062C24B, + 0x4063C220, 0x00000002, 0x4062C24C, 0x4063C220, 0x00000002, 0x4062C24D, + 0x4063C220, 0x00000002, 0x4062C24E, 0x4063C220, 0x00000002, 0x4062C24F, + 0x4063C220, 0x00000002, 0x4062C250, 0x4063C220, 0x00000002, 0x4062C251, + 0x4063C220, 0x00000002, 0x4062C252, 0x4063C220, 0x00000002, 0x4062C253, + 0x4063C220, 0x00000002, 0x4062C254, 0x4063C220, 0x00000003, 0x4062C221, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C222, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C223, 0x4063C220, 0x40646420, 0x00000003, 0x4062C224, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C225, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C226, 0x4063C220, 0x40646420, 0x00000003, 0x4062C227, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C228, + // Block 514, offset 0x8080 + 0x4063C220, 0x40646420, 0x00000003, 0x4062C229, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C22A, 0x4063C220, 0x40646420, 0x00000003, 0x4062C221, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C222, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C224, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C225, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C226, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C227, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C229, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22A, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C22C, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22D, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22E, + // Block 515, offset 0x80c0 + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C230, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C231, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C232, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C221, 0x4063C220, 0x40647220, 0x00000003, 0x4062C222, + 0x4063C220, 0x40647220, 0x00000003, 0x4062C223, 0x4063C220, 0x40647220, + 0x00000003, 0x4062C221, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C222, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062C221, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C222, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C223, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C225, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C226, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C227, + // Block 516, offset 0x8100 + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C229, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22A, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C22C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22D, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C22F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C230, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C232, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C233, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C235, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C236, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C237, + // Block 517, offset 0x8140 + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C238, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C239, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23A, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C23C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23D, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C23F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C240, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C242, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C243, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C245, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C246, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C247, + // Block 518, offset 0x8180 + 0x4063C420, 0x40646A20, 0x00000003, 0x4062C248, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062C221, 0x4063C420, 0x40647220, 0x00000003, 0x4062C222, + 0x4063C420, 0x40647220, 0x00000003, 0x4062C223, 0x4063C420, 0x40647220, + 0x00000003, 0x4062C224, 0x4063C420, 0x40647220, 0x00000003, 0x4062C225, + 0x4063C420, 0x40647220, 0x00000002, 0x4062C221, 0x4063C820, 0x00000002, + 0x4062C222, 0x4063C820, 0x00000002, 0x4062C223, 0x4063C820, 0x00000002, + 0x4062C224, 0x4063C820, 0x00000002, 0x4062C225, 0x4063C820, 0x00000002, + 0x4062C226, 0x4063C820, 0x00000002, 0x4062C227, 0x4063C820, 0x00000002, + 0x4062C228, 0x4063C820, 0x00000002, 0x4062C229, 0x4063C820, 0x00000002, + 0x4062C22A, 0x4063C820, 0x00000002, 0x4062C22B, 0x4063C820, 0x00000002, + 0x4062C22C, 0x4063C820, 0x00000002, 0x4062C22D, + // Block 519, offset 0x81c0 + 0x4063C820, 0x00000002, 0x4062C22E, 0x4063C820, 0x00000002, 0x4062C22F, + 0x4063C820, 0x00000002, 0x4062C230, 0x4063C820, 0x00000002, 0x4062C231, + 0x4063C820, 0x00000002, 0x4062C232, 0x4063C820, 0x00000002, 0x4062C233, + 0x4063C820, 0x00000002, 0x4062C234, 0x4063C820, 0x00000002, 0x4062C235, + 0x4063C820, 0x00000002, 0x4062C236, 0x4063C820, 0x00000002, 0x4062C237, + 0x4063C820, 0x00000002, 0x4062C238, 0x4063C820, 0x00000002, 0x4062C239, + 0x4063C820, 0x00000002, 0x4062C23A, 0x4063C820, 0x00000002, 0x4062C23B, + 0x4063C820, 0x00000002, 0x4062C23C, 0x4063C820, 0x00000002, 0x4062C23D, + 0x4063C820, 0x00000002, 0x4062C23E, 0x4063C820, 0x00000002, 0x4062C23F, + 0x4063C820, 0x00000002, 0x4062C240, 0x4063C820, 0x00000002, 0x4062C241, + 0x4063C820, 0x00000002, 0x4062C242, 0x4063C820, + // Block 520, offset 0x8200 + 0x00000002, 0x4062C243, 0x4063C820, 0x00000002, 0x4062C244, 0x4063C820, + 0x00000002, 0x4062C245, 0x4063C820, 0x00000002, 0x4062C246, 0x4063C820, + 0x00000002, 0x4062C247, 0x4063C820, 0x00000002, 0x4062C221, 0x4063CA20, + 0x00000002, 0x4062C222, 0x4063CA20, 0x00000002, 0x4062C223, 0x4063CA20, + 0x00000002, 0x4062C224, 0x4063CA20, 0x00000002, 0x4062C225, 0x4063CA20, + 0x00000002, 0x4062C226, 0x4063CA20, 0x00000002, 0x4062C227, 0x4063CA20, + 0x00000002, 0x4062C228, 0x4063CA20, 0x00000002, 0x4062C229, 0x4063CA20, + 0x00000002, 0x4062C22A, 0x4063CA20, 0x00000002, 0x4062C22B, 0x4063CA20, + 0x00000002, 0x4062C22C, 0x4063CA20, 0x00000002, 0x4062C22D, 0x4063CA20, + 0x00000002, 0x4062C22E, 0x4063CA20, 0x00000002, 0x4062C22F, 0x4063CA20, + 0x00000002, 0x4062C230, 0x4063CA20, 0x00000002, + // Block 521, offset 0x8240 + 0x4062C231, 0x4063CA20, 0x00000002, 0x4062C232, 0x4063CA20, 0x00000002, + 0x4062C233, 0x4063CA20, 0x00000002, 0x4062C234, 0x4063CA20, 0x00000002, + 0x4062C235, 0x4063CA20, 0x00000002, 0x4062C236, 0x4063CA20, 0x00000002, + 0x4062C237, 0x4063CA20, 0x00000002, 0x4062C238, 0x4063CA20, 0x00000002, + 0x4062C239, 0x4063CA20, 0x00000002, 0x4062C23A, 0x4063CA20, 0x00000002, + 0x4062C23B, 0x4063CA20, 0x00000002, 0x4062C23C, 0x4063CA20, 0x00000002, + 0x4062C23D, 0x4063CA20, 0x00000002, 0x4062C23E, 0x4063CA20, 0x00000002, + 0x4062C23F, 0x4063CA20, 0x00000002, 0x4062C240, 0x4063CA20, 0x00000002, + 0x4062C241, 0x4063CA20, 0x00000002, 0x4062C242, 0x4063CA20, 0x00000002, + 0x4062C243, 0x4063CA20, 0x00000002, 0x4062C244, 0x4063CA20, 0x00000002, + 0x4062C245, 0x4063CA20, 0x00000002, 0x4062C246, + // Block 522, offset 0x8280 + 0x4063CA20, 0x00000002, 0x4062C247, 0x4063CA20, 0x00000002, 0x4062C248, + 0x4063CA20, 0x00000002, 0x4062C249, 0x4063CA20, 0x00000002, 0x4062C24A, + 0x4063CA20, 0x00000002, 0x4062C24B, 0x4063CA20, 0x00000002, 0x4062C24C, + 0x4063CA20, 0x00000002, 0x4062C24D, 0x4063CA20, 0x00000002, 0x4062C24E, + 0x4063CA20, 0x00000002, 0x4062C24F, 0x4063CA20, 0x00000002, 0x4062C250, + 0x4063CA20, 0x00000002, 0x4062C251, 0x4063CA20, 0x00000002, 0x4062C252, + 0x4063CA20, 0x00000002, 0x4062C253, 0x4063CA20, 0x00000002, 0x4062C254, + 0x4063CA20, 0x00000002, 0x4062C255, 0x4063CA20, 0x00000002, 0x4062C256, + 0x4063CA20, 0x00000002, 0x4062C257, 0x4063CA20, 0x00000002, 0x4062C258, + 0x4063CA20, 0x00000002, 0x4062C259, 0x4063CA20, 0x00000002, 0x4062C25A, + 0x4063CA20, 0x00000002, 0x4062C25B, 0x4063CA20, + // Block 523, offset 0x82c0 + 0x00000002, 0x4062C25C, 0x4063CA20, 0x00000002, 0x4062C25D, 0x4063CA20, + 0x00000002, 0x4062C25E, 0x4063CA20, 0x00000002, 0x4062C25F, 0x4063CA20, + 0x00000002, 0x4062C260, 0x4063CA20, 0x00000002, 0x4062C261, 0x4063CA20, + 0x00000002, 0x4062C262, 0x4063CA20, 0x00000002, 0x4062C263, 0x4063CA20, + 0x00000002, 0x4062C264, 0x4063CA20, 0x00000002, 0x4062C265, 0x4063CA20, + 0x00000002, 0x4062C266, 0x4063CA20, 0x00000002, 0x4062C267, 0x4063CA20, + 0x00000002, 0x4062C268, 0x4063CA20, 0x00000002, 0x4062C269, 0x4063CA20, + 0x00000002, 0x4062C26A, 0x4063CA20, 0x00000002, 0x4062C26B, 0x4063CA20, + 0x00000002, 0x4062C26C, 0x4063CA20, 0x00000002, 0x4062C26D, 0x4063CA20, + 0x00000003, 0x4062C221, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C222, + 0x4063CA20, 0x40646420, 0x00000003, 0x4062C223, + // Block 524, offset 0x8300 + 0x4063CA20, 0x40646420, 0x00000003, 0x4062C224, 0x4063CA20, 0x40646420, + 0x00000003, 0x4062C225, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C221, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062C223, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C224, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062C226, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C227, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062C229, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22A, + 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063CA20, 0x40646A20, + 0x00000003, 0x4062C221, 0x4063CA20, 0x40647220, 0x00000003, 0x4062C222, + 0x4063CA20, 0x40647220, 0x00000003, 0x4062C223, + // Block 525, offset 0x8340 + 0x4063CA20, 0x40647220, 0x00000003, 0x4062C221, 0x4063CA20, 0x40648C20, + 0x00000003, 0x4062C222, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C223, + 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063CA20, 0x40648C20, + 0x00000003, 0x4062C225, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C221, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C223, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C224, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C226, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C227, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C229, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22A, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22B, + // Block 526, offset 0x8380 + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C22D, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22E, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C230, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C231, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C232, 0x4063CC20, 0x40646A20, + 0x00000003, 0x4062C233, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C234, + 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C221, 0x4063CC20, 0x40647220, + 0x00000003, 0x4062C222, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C221, + 0x4063CC20, 0x40648220, 0x00000003, 0x4062C222, 0x4063CC20, 0x40648220, + 0x00000003, 0x4062C223, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C224, + 0x4063CC20, 0x40648220, 0x00000003, 0x4062C225, + // Block 527, offset 0x83c0 + 0x4063CC20, 0x40648220, 0x00000003, 0x4062C226, 0x4063CC20, 0x40648220, + 0x00000003, 0x4062C227, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C228, + 0x4063CC20, 0x40648220, 0x00000003, 0x4062C229, 0x4063CC20, 0x40648220, + 0x00000003, 0x4062C22A, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C22B, + 0x4063CC20, 0x40648220, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648420, + 0x00000003, 0x4062C222, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C223, + 0x4063CC20, 0x40648420, 0x00000003, 0x4062C224, 0x4063CC20, 0x40648420, + 0x00000003, 0x4062C225, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C226, + 0x4063CC20, 0x40648420, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648C20, + 0x00000003, 0x4062C222, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C223, + 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C224, + // Block 528, offset 0x8400 + 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C221, 0x4063CE20, 0x00000002, + 0x4062C222, 0x4063CE20, 0x00000002, 0x4062C223, 0x4063CE20, 0x00000002, + 0x4062C224, 0x4063CE20, 0x00000002, 0x4062C225, 0x4063CE20, 0x00000002, + 0x4062C226, 0x4063CE20, 0x00000002, 0x4062C227, 0x4063CE20, 0x00000002, + 0x4062C228, 0x4063CE20, 0x00000002, 0x4062C229, 0x4063CE20, 0x00000002, + 0x4062C22A, 0x4063CE20, 0x00000002, 0x4062C22B, 0x4063CE20, 0x00000002, + 0x4062C22C, 0x4063CE20, 0x00000002, 0x4062C22D, 0x4063CE20, 0x00000002, + 0x4062C22E, 0x4063CE20, 0x00000002, 0x4062C22F, 0x4063CE20, 0x00000002, + 0x4062C230, 0x4063CE20, 0x00000002, 0x4062C231, 0x4063CE20, 0x00000002, + 0x4062C232, 0x4063CE20, 0x00000002, 0x4062C233, 0x4063CE20, 0x00000002, + 0x4062C234, 0x4063CE20, 0x00000002, 0x4062C235, + // Block 529, offset 0x8440 + 0x4063CE20, 0x00000002, 0x4062C236, 0x4063CE20, 0x00000002, 0x4062C237, + 0x4063CE20, 0x00000002, 0x4062C238, 0x4063CE20, 0x00000002, 0x4062C239, + 0x4063CE20, 0x00000002, 0x4062C23A, 0x4063CE20, 0x00000002, 0x4062C23B, + 0x4063CE20, 0x00000002, 0x4062C23C, 0x4063CE20, 0x00000002, 0x4062C23D, + 0x4063CE20, 0x00000002, 0x4062C221, 0x4063D020, 0x00000002, 0x4062C222, + 0x4063D020, 0x00000002, 0x4062C223, 0x4063D020, 0x00000002, 0x4062C224, + 0x4063D020, 0x00000002, 0x4062C225, 0x4063D020, 0x00000002, 0x4062C226, + 0x4063D020, 0x00000002, 0x4062C227, 0x4063D020, 0x00000002, 0x4062C228, + 0x4063D020, 0x00000002, 0x4062C229, 0x4063D020, 0x00000002, 0x4062C22A, + 0x4063D020, 0x00000002, 0x4062C22B, 0x4063D020, 0x00000002, 0x4062C22C, + 0x4063D020, 0x00000002, 0x4062C22D, 0x4063D020, + // Block 530, offset 0x8480 + 0x00000002, 0x4062C22E, 0x4063D020, 0x00000002, 0x4062C22F, 0x4063D020, + 0x00000002, 0x4062C230, 0x4063D020, 0x00000002, 0x4062C231, 0x4063D020, + 0x00000002, 0x4062C232, 0x4063D020, 0x00000002, 0x4062C233, 0x4063D020, + 0x00000002, 0x4062C234, 0x4063D020, 0x00000002, 0x4062C235, 0x4063D020, + 0x00000002, 0x4062C236, 0x4063D020, 0x00000002, 0x4062C237, 0x4063D020, + 0x00000002, 0x4062C238, 0x4063D020, 0x00000002, 0x4062C239, 0x4063D020, + 0x00000002, 0x4062C23A, 0x4063D020, 0x00000002, 0x4062C23B, 0x4063D020, + 0x00000002, 0x4062C23C, 0x4063D020, 0x00000002, 0x4062C23D, 0x4063D020, + 0x00000002, 0x4062C23E, 0x4063D020, 0x00000002, 0x4062C23F, 0x4063D020, + 0x00000002, 0x4062C240, 0x4063D020, 0x00000002, 0x4062C241, 0x4063D020, + 0x00000002, 0x4062C242, 0x4063D020, 0x00000002, + // Block 531, offset 0x84c0 + 0x4062C243, 0x4063D020, 0x00000003, 0x4062C221, 0x4063D020, 0x40646420, + 0x00000003, 0x4062C222, 0x4063D020, 0x40646420, 0x00000003, 0x4062C223, + 0x4063D020, 0x40646420, 0x00000003, 0x4062C224, 0x4063D020, 0x40646420, + 0x00000003, 0x4062C225, 0x4063D020, 0x40646420, 0x00000003, 0x4062C226, + 0x4063D020, 0x40646420, 0x00000003, 0x4062C227, 0x4063D020, 0x40646420, + 0x00000003, 0x4062C228, 0x4063D020, 0x40646420, 0x00000003, 0x4062C229, + 0x4063D020, 0x40646420, 0x00000003, 0x4062C221, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C222, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C223, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C225, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C226, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C227, + // Block 532, offset 0x8500 + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C229, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22A, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C22C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22D, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C22F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C230, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C231, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C232, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C233, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C234, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C235, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C236, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C237, + // Block 533, offset 0x8540 + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C238, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C239, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C23A, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C23C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C221, + 0x4063D020, 0x40647220, 0x00000003, 0x4062C222, 0x4063D020, 0x40647220, + 0x00000003, 0x4062C223, 0x4063D020, 0x40647220, 0x00000003, 0x4062C224, + 0x4063D020, 0x40647220, 0x00000003, 0x4062C225, 0x4063D020, 0x40647220, + 0x00000003, 0x4062C226, 0x4063D020, 0x40647220, 0x00000003, 0x4062C227, + 0x4063D020, 0x40647220, 0x00000003, 0x4062C228, 0x4063D020, 0x40647220, + 0x00000003, 0x4062C229, 0x4063D020, 0x40647220, 0x00000003, 0x4062C22A, + 0x4063D020, 0x40647220, 0x00000003, 0x4062C22B, + // Block 534, offset 0x8580 + 0x4063D020, 0x40647220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C222, 0x4063D020, 0x40648220, 0x00000003, 0x4062C223, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C224, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C225, 0x4063D020, 0x40648220, 0x00000003, 0x4062C226, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C227, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C228, 0x4063D020, 0x40648220, 0x00000003, 0x4062C229, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C22A, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C22B, 0x4063D020, 0x40648220, 0x00000003, 0x4062C22C, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648420, + 0x00000003, 0x4062C222, 0x4063D020, 0x40648420, 0x00000003, 0x4062C223, + 0x4063D020, 0x40648420, 0x00000003, 0x4062C221, + // Block 535, offset 0x85c0 + 0x4063D020, 0x40648C20, 0x00000003, 0x4062C222, 0x4063D020, 0x40648C20, + 0x00000003, 0x4062C223, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C224, + 0x4063D020, 0x40648C20, 0x00000003, 0x4062C225, 0x4063D020, 0x40648C20, + 0x00000002, 0x4062C421, 0x4063A820, 0x00000002, 0x4062C422, 0x4063A820, + 0x00000002, 0x4062C423, 0x4063A820, 0x00000002, 0x4062C424, 0x4063A820, + 0x00000002, 0x4062C425, 0x4063A820, 0x00000002, 0x4062C426, 0x4063A820, + 0x00000002, 0x4062C427, 0x4063A820, 0x00000002, 0x4062C428, 0x4063A820, + 0x00000002, 0x4062C429, 0x4063A820, 0x00000002, 0x4062C42A, 0x4063A820, + 0x00000002, 0x4062C42B, 0x4063A820, 0x00000002, 0x4062C42C, 0x4063A820, + 0x00000002, 0x4062C42D, 0x4063A820, 0x00000002, 0x4062C42E, 0x4063A820, + 0x00000002, 0x4062C42F, 0x4063A820, 0x00000002, + // Block 536, offset 0x8600 + 0x4062C430, 0x4063A820, 0x00000002, 0x4062C431, 0x4063A820, 0x00000002, + 0x4062C432, 0x4063A820, 0x00000002, 0x4062C433, 0x4063A820, 0x00000002, + 0x4062C434, 0x4063A820, 0x00000002, 0x4062C435, 0x4063A820, 0x00000002, + 0x4062C436, 0x4063A820, 0x00000002, 0x4062C437, 0x4063A820, 0x00000002, + 0x4062C438, 0x4063A820, 0x00000002, 0x4062C439, 0x4063A820, 0x00000002, + 0x4062C43A, 0x4063A820, 0x00000002, 0x4062C43B, 0x4063A820, 0x00000002, + 0x4062C43C, 0x4063A820, 0x00000002, 0x4062C43D, 0x4063A820, 0x00000002, + 0x4062C43E, 0x4063A820, 0x00000002, 0x4062C43F, 0x4063A820, 0x00000002, + 0x4062C440, 0x4063A820, 0x00000002, 0x4062C441, 0x4063A820, 0x00000002, + 0x4062C442, 0x4063A820, 0x00000002, 0x4062C443, 0x4063A820, 0x00000002, + 0x4062C444, 0x4063A820, 0x00000002, 0x4062C445, + // Block 537, offset 0x8640 + 0x4063A820, 0x00000002, 0x4062C446, 0x4063A820, 0x00000002, 0x4062C447, + 0x4063A820, 0x00000002, 0x4062C448, 0x4063A820, 0x00000002, 0x4062C449, + 0x4063A820, 0x00000002, 0x4062C44A, 0x4063A820, 0x00000002, 0x4062C44B, + 0x4063A820, 0x00000002, 0x4062C44C, 0x4063A820, 0x00000002, 0x4062C44D, + 0x4063A820, 0x00000002, 0x4062C44E, 0x4063A820, 0x00000002, 0x4062C44F, + 0x4063A820, 0x00000002, 0x4062C450, 0x4063A820, 0x00000002, 0x4062C451, + 0x4063A820, 0x00000002, 0x4062C452, 0x4063A820, 0x00000002, 0x4062C453, + 0x4063A820, 0x00000002, 0x4062C454, 0x4063A820, 0x00000003, 0x4062C421, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C422, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C423, 0x4063A820, 0x40646420, 0x00000003, 0x4062C424, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C425, + // Block 538, offset 0x8680 + 0x4063A820, 0x40646420, 0x00000003, 0x4062C426, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C427, 0x4063A820, 0x40646420, 0x00000003, 0x4062C428, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C429, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C42A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42B, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C42C, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C42D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42E, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C42F, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C430, 0x4063A820, 0x40646420, 0x00000003, 0x4062C431, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C432, 0x4063A820, 0x40646420, + 0x00000003, 0x4062C433, 0x4063A820, 0x40646420, 0x00000003, 0x4062C434, + 0x4063A820, 0x40646420, 0x00000003, 0x4062C435, + // Block 539, offset 0x86c0 + 0x4063A820, 0x40646420, 0x00000003, 0x4062C421, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062C422, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C423, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062C424, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062C425, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C426, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062C427, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062C428, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C421, + 0x4063A820, 0x40648220, 0x00000003, 0x4062C422, 0x4063A820, 0x40648220, + 0x00000003, 0x4062C423, 0x4063A820, 0x40648220, 0x00000003, 0x4062C424, + 0x4063A820, 0x40648220, 0x00000003, 0x4062C425, 0x4063A820, 0x40648220, + 0x00000003, 0x4062C426, 0x4063A820, 0x40648220, 0x00000003, 0x4062C427, + 0x4063A820, 0x40648220, 0x00000003, 0x4062C428, + // Block 540, offset 0x8700 + 0x4063A820, 0x40648220, 0x00000003, 0x4062C429, 0x4063A820, 0x40648220, + 0x00000003, 0x4062C421, 0x4063A820, 0x40648420, 0x00000003, 0x4062C422, + 0x4063A820, 0x40648420, 0x00000003, 0x4062C423, 0x4063A820, 0x40648420, + 0x00000003, 0x4062C424, 0x4063A820, 0x40648420, 0x00000003, 0x4062C425, + 0x4063A820, 0x40648420, 0x00000003, 0x4062C426, 0x4063A820, 0x40648420, + 0x00000003, 0x4062C421, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C422, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C423, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C424, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C425, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C426, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C427, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C428, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C429, + // Block 541, offset 0x8740 + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C42B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42C, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C42E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42F, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C430, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C431, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C432, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C433, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C434, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C435, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C436, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C437, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C438, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C439, + // Block 542, offset 0x8780 + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C43B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43C, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C43E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43F, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C440, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C441, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C442, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C443, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C444, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C445, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C446, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C447, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C448, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C449, + // Block 543, offset 0x87c0 + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C44B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44C, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C44E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44F, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C450, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C451, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C452, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C453, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C454, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C455, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062C456, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062C457, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C421, + 0x4063AA20, 0x00000002, 0x4062C422, 0x4063AA20, + // Block 544, offset 0x8800 + 0x00000002, 0x4062C423, 0x4063AA20, 0x00000002, 0x4062C424, 0x4063AA20, + 0x00000002, 0x4062C425, 0x4063AA20, 0x00000002, 0x4062C426, 0x4063AA20, + 0x00000002, 0x4062C427, 0x4063AA20, 0x00000002, 0x4062C428, 0x4063AA20, + 0x00000002, 0x4062C429, 0x4063AA20, 0x00000002, 0x4062C42A, 0x4063AA20, + 0x00000002, 0x4062C42B, 0x4063AA20, 0x00000002, 0x4062C42C, 0x4063AA20, + 0x00000002, 0x4062C42D, 0x4063AA20, 0x00000002, 0x4062C42E, 0x4063AA20, + 0x00000002, 0x4062C42F, 0x4063AA20, 0x00000002, 0x4062C430, 0x4063AA20, + 0x00000002, 0x4062C431, 0x4063AA20, 0x00000002, 0x4062C432, 0x4063AA20, + 0x00000002, 0x4062C433, 0x4063AA20, 0x00000002, 0x4062C434, 0x4063AA20, + 0x00000002, 0x4062C435, 0x4063AA20, 0x00000002, 0x4062C436, 0x4063AA20, + 0x00000002, 0x4062C437, 0x4063AA20, 0x00000003, + // Block 545, offset 0x8840 + 0x4062C421, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063AA20, + 0x40648C20, 0x00000003, 0x4062C423, 0x4063AA20, 0x40648C20, 0x00000003, + 0x4062C424, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063AA20, + 0x40648C20, 0x00000003, 0x4062C426, 0x4063AA20, 0x40648C20, 0x00000003, + 0x4062C427, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063AA20, + 0x40648C20, 0x00000002, 0x4062C421, 0x4063B020, 0x00000002, 0x4062C422, + 0x4063B020, 0x00000002, 0x4062C423, 0x4063B020, 0x00000002, 0x4062C424, + 0x4063B020, 0x00000002, 0x4062C425, 0x4063B020, 0x00000002, 0x4062C426, + 0x4063B020, 0x00000002, 0x4062C427, 0x4063B020, 0x00000002, 0x4062C428, + 0x4063B020, 0x00000002, 0x4062C429, 0x4063B020, 0x00000002, 0x4062C42A, + 0x4063B020, 0x00000002, 0x4062C42B, 0x4063B020, + // Block 546, offset 0x8880 + 0x00000002, 0x4062C42C, 0x4063B020, 0x00000002, 0x4062C42D, 0x4063B020, + 0x00000002, 0x4062C42E, 0x4063B020, 0x00000002, 0x4062C42F, 0x4063B020, + 0x00000002, 0x4062C430, 0x4063B020, 0x00000002, 0x4062C431, 0x4063B020, + 0x00000002, 0x4062C432, 0x4063B020, 0x00000002, 0x4062C433, 0x4063B020, + 0x00000002, 0x4062C434, 0x4063B020, 0x00000002, 0x4062C435, 0x4063B020, + 0x00000002, 0x4062C436, 0x4063B020, 0x00000002, 0x4062C437, 0x4063B020, + 0x00000002, 0x4062C438, 0x4063B020, 0x00000002, 0x4062C439, 0x4063B020, + 0x00000002, 0x4062C43A, 0x4063B020, 0x00000002, 0x4062C43B, 0x4063B020, + 0x00000002, 0x4062C43C, 0x4063B020, 0x00000002, 0x4062C43D, 0x4063B020, + 0x00000002, 0x4062C43E, 0x4063B020, 0x00000002, 0x4062C43F, 0x4063B020, + 0x00000002, 0x4062C440, 0x4063B020, 0x00000002, + // Block 547, offset 0x88c0 + 0x4062C441, 0x4063B020, 0x00000002, 0x4062C442, 0x4063B020, 0x00000002, + 0x4062C443, 0x4063B020, 0x00000002, 0x4062C444, 0x4063B020, 0x00000002, + 0x4062C445, 0x4063B020, 0x00000002, 0x4062C446, 0x4063B020, 0x00000002, + 0x4062C447, 0x4063B020, 0x00000002, 0x4062C448, 0x4063B020, 0x00000002, + 0x4062C449, 0x4063B020, 0x00000002, 0x4062C44A, 0x4063B020, 0x00000002, + 0x4062C44B, 0x4063B020, 0x00000002, 0x4062C44C, 0x4063B020, 0x00000002, + 0x4062C44D, 0x4063B020, 0x00000002, 0x4062C44E, 0x4063B020, 0x00000003, + 0x4062C421, 0x4063B020, 0x40646420, 0x00000003, 0x4062C422, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C423, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C424, 0x4063B020, 0x40646420, 0x00000003, 0x4062C425, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C426, 0x4063B020, + // Block 548, offset 0x8900 + 0x40646420, 0x00000003, 0x4062C427, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C428, 0x4063B020, 0x40646420, 0x00000003, 0x4062C429, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C42A, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C42B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42C, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C42D, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C42E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42F, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C430, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C431, 0x4063B020, 0x40646420, 0x00000003, 0x4062C432, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C433, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C434, 0x4063B020, 0x40646420, 0x00000003, 0x4062C435, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C436, 0x4063B020, + // Block 549, offset 0x8940 + 0x40646420, 0x00000003, 0x4062C437, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C438, 0x4063B020, 0x40646420, 0x00000003, 0x4062C439, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C43A, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C43B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43C, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C43D, 0x4063B020, 0x40646420, 0x00000003, + 0x4062C43E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43F, 0x4063B020, + 0x40646420, 0x00000003, 0x4062C421, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C422, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C423, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C424, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C425, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C426, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C427, 0x4063B020, + // Block 550, offset 0x8980 + 0x40646A20, 0x00000003, 0x4062C428, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C429, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C42C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C42E, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C42F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C431, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C432, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C433, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C434, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C435, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C436, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C437, 0x4063B020, + // Block 551, offset 0x89c0 + 0x40646A20, 0x00000003, 0x4062C438, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C439, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C43C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C43E, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C43F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C441, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C442, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C443, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C444, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C445, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C446, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C447, 0x4063B020, + // Block 552, offset 0x8a00 + 0x40646A20, 0x00000003, 0x4062C448, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C449, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C44C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44D, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C44E, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C44F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C450, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C451, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C452, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C453, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C454, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C455, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C456, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C457, 0x4063B020, + // Block 553, offset 0x8a40 + 0x40646A20, 0x00000003, 0x4062C458, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C459, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45A, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C45C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45D, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C45E, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C45F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C460, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C461, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C462, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C463, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C464, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C465, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C466, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C467, 0x4063B020, + // Block 554, offset 0x8a80 + 0x40646A20, 0x00000003, 0x4062C468, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C469, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46A, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C46B, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C46C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46D, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C46E, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C46F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C470, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062C471, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062C421, 0x4063B020, 0x40647220, 0x00000003, 0x4062C422, 0x4063B020, + 0x40647220, 0x00000003, 0x4062C423, 0x4063B020, 0x40647220, 0x00000003, + 0x4062C424, 0x4063B020, 0x40647220, 0x00000003, 0x4062C425, 0x4063B020, + 0x40647220, 0x00000003, 0x4062C426, 0x4063B020, + // Block 555, offset 0x8ac0 + 0x40647220, 0x00000003, 0x4062C427, 0x4063B020, 0x40647220, 0x00000003, + 0x4062C428, 0x4063B020, 0x40647220, 0x00000003, 0x4062C429, 0x4063B020, + 0x40647220, 0x00000003, 0x4062C42A, 0x4063B020, 0x40647220, 0x00000003, + 0x4062C42B, 0x4063B020, 0x40647220, 0x00000003, 0x4062C421, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C422, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C423, 0x4063B020, 0x40648220, 0x00000003, 0x4062C424, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C425, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C426, 0x4063B020, 0x40648220, 0x00000003, 0x4062C427, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C428, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C429, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42A, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C42B, 0x4063B020, + // Block 556, offset 0x8b00 + 0x40648220, 0x00000003, 0x4062C42C, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C42D, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42E, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C430, 0x4063B020, 0x40648220, 0x00000003, 0x4062C431, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C432, 0x4063B020, 0x40648220, 0x00000003, + 0x4062C433, 0x4063B020, 0x40648220, 0x00000003, 0x4062C434, 0x4063B020, + 0x40648220, 0x00000003, 0x4062C421, 0x4063B020, 0x40648420, 0x00000003, + 0x4062C422, 0x4063B020, 0x40648420, 0x00000003, 0x4062C423, 0x4063B020, + 0x40648420, 0x00000003, 0x4062C424, 0x4063B020, 0x40648420, 0x00000003, + 0x4062C425, 0x4063B020, 0x40648420, 0x00000003, 0x4062C426, 0x4063B020, + 0x40648420, 0x00000003, 0x4062C427, 0x4063B020, + // Block 557, offset 0x8b40 + 0x40648420, 0x00000003, 0x4062C428, 0x4063B020, 0x40648420, 0x00000003, + 0x4062C429, 0x4063B020, 0x40648420, 0x00000003, 0x4062C421, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C422, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C423, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C424, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C425, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C426, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C427, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C428, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C429, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C42C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C42E, 0x4063B020, + // Block 558, offset 0x8b80 + 0x40648C20, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C430, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C431, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C432, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C433, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C434, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C435, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C436, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C437, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C438, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C439, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C43C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C43E, 0x4063B020, + // Block 559, offset 0x8bc0 + 0x40648C20, 0x00000003, 0x4062C43F, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C440, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C441, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C442, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C443, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C444, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C445, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C446, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C447, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C448, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C449, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C44C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C44E, 0x4063B020, + // Block 560, offset 0x8c00 + 0x40648C20, 0x00000003, 0x4062C44F, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C450, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C451, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C452, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C453, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C454, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C455, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C456, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C457, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C458, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C459, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45A, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C45C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45D, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C45E, 0x4063B020, + // Block 561, offset 0x8c40 + 0x40648C20, 0x00000003, 0x4062C45F, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C460, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C461, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C462, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C463, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C464, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C465, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C466, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C467, 0x4063B020, + 0x40648C20, 0x00000003, 0x4062C468, 0x4063B020, 0x40648C20, 0x00000003, + 0x4062C469, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C46A, 0x4063B020, + 0x40648C20, 0x00000002, 0x4062C421, 0x4063B220, 0x00000002, 0x4062C422, + 0x4063B220, 0x00000002, 0x4062C423, 0x4063B220, 0x00000002, 0x4062C424, + 0x4063B220, 0x00000002, 0x4062C425, 0x4063B220, + // Block 562, offset 0x8c80 + 0x00000002, 0x4062C426, 0x4063B220, 0x00000002, 0x4062C427, 0x4063B220, + 0x00000002, 0x4062C428, 0x4063B220, 0x00000002, 0x4062C429, 0x4063B220, + 0x00000002, 0x4062C42A, 0x4063B220, 0x00000002, 0x4062C42B, 0x4063B220, + 0x00000002, 0x4062C42C, 0x4063B220, 0x00000002, 0x4062C42D, 0x4063B220, + 0x00000002, 0x4062C42E, 0x4063B220, 0x00000002, 0x4062C42F, 0x4063B220, + 0x00000002, 0x4062C430, 0x4063B220, 0x00000002, 0x4062C431, 0x4063B220, + 0x00000002, 0x4062C432, 0x4063B220, 0x00000002, 0x4062C433, 0x4063B220, + 0x00000002, 0x4062C434, 0x4063B220, 0x00000002, 0x4062C435, 0x4063B220, + 0x00000002, 0x4062C436, 0x4063B220, 0x00000002, 0x4062C437, 0x4063B220, + 0x00000002, 0x4062C438, 0x4063B220, 0x00000002, 0x4062C439, 0x4063B220, + 0x00000002, 0x4062C43A, 0x4063B220, 0x00000002, + // Block 563, offset 0x8cc0 + 0x4062C43B, 0x4063B220, 0x00000002, 0x4062C43C, 0x4063B220, 0x00000002, + 0x4062C43D, 0x4063B220, 0x00000002, 0x4062C43E, 0x4063B220, 0x00000002, + 0x4062C43F, 0x4063B220, 0x00000002, 0x4062C440, 0x4063B220, 0x00000002, + 0x4062C441, 0x4063B220, 0x00000002, 0x4062C442, 0x4063B220, 0x00000002, + 0x4062C443, 0x4063B220, 0x00000002, 0x4062C444, 0x4063B220, 0x00000002, + 0x4062C445, 0x4063B220, 0x00000002, 0x4062C446, 0x4063B220, 0x00000002, + 0x4062C447, 0x4063B220, 0x00000002, 0x4062C448, 0x4063B220, 0x00000002, + 0x4062C421, 0x4063B820, 0x00000002, 0x4062C422, 0x4063B820, 0x00000002, + 0x4062C423, 0x4063B820, 0x00000002, 0x4062C424, 0x4063B820, 0x00000002, + 0x4062C425, 0x4063B820, 0x00000002, 0x4062C426, 0x4063B820, 0x00000002, + 0x4062C427, 0x4063B820, 0x00000002, 0x4062C428, + // Block 564, offset 0x8d00 + 0x4063B820, 0x00000002, 0x4062C429, 0x4063B820, 0x00000002, 0x4062C42A, + 0x4063B820, 0x00000002, 0x4062C42B, 0x4063B820, 0x00000002, 0x4062C42C, + 0x4063B820, 0x00000002, 0x4062C42D, 0x4063B820, 0x00000002, 0x4062C42E, + 0x4063B820, 0x00000002, 0x4062C42F, 0x4063B820, 0x00000002, 0x4062C430, + 0x4063B820, 0x00000002, 0x4062C431, 0x4063B820, 0x00000002, 0x4062C432, + 0x4063B820, 0x00000002, 0x4062C433, 0x4063B820, 0x00000002, 0x4062C434, + 0x4063B820, 0x00000002, 0x4062C435, 0x4063B820, 0x00000002, 0x4062C436, + 0x4063B820, 0x00000002, 0x4062C437, 0x4063B820, 0x00000002, 0x4062C438, + 0x4063B820, 0x00000002, 0x4062C439, 0x4063B820, 0x00000002, 0x4062C43A, + 0x4063B820, 0x00000002, 0x4062C43B, 0x4063B820, 0x00000002, 0x4062C43C, + 0x4063B820, 0x00000002, 0x4062C43D, 0x4063B820, + // Block 565, offset 0x8d40 + 0x00000002, 0x4062C43E, 0x4063B820, 0x00000002, 0x4062C43F, 0x4063B820, + 0x00000002, 0x4062C440, 0x4063B820, 0x00000002, 0x4062C441, 0x4063B820, + 0x00000002, 0x4062C442, 0x4063B820, 0x00000002, 0x4062C443, 0x4063B820, + 0x00000002, 0x4062C444, 0x4063B820, 0x00000002, 0x4062C445, 0x4063B820, + 0x00000002, 0x4062C446, 0x4063B820, 0x00000002, 0x4062C447, 0x4063B820, + 0x00000002, 0x4062C448, 0x4063B820, 0x00000002, 0x4062C449, 0x4063B820, + 0x00000002, 0x4062C44A, 0x4063B820, 0x00000002, 0x4062C44B, 0x4063B820, + 0x00000002, 0x4062C44C, 0x4063B820, 0x00000002, 0x4062C44D, 0x4063B820, + 0x00000002, 0x4062C44E, 0x4063B820, 0x00000002, 0x4062C44F, 0x4063B820, + 0x00000002, 0x4062C450, 0x4063B820, 0x00000002, 0x4062C451, 0x4063B820, + 0x00000002, 0x4062C452, 0x4063B820, 0x00000002, + // Block 566, offset 0x8d80 + 0x4062C453, 0x4063B820, 0x00000002, 0x4062C454, 0x4063B820, 0x00000002, + 0x4062C455, 0x4063B820, 0x00000002, 0x4062C456, 0x4063B820, 0x00000002, + 0x4062C457, 0x4063B820, 0x00000002, 0x4062C458, 0x4063B820, 0x00000002, + 0x4062C459, 0x4063B820, 0x00000002, 0x4062C45A, 0x4063B820, 0x00000002, + 0x4062C45B, 0x4063B820, 0x00000002, 0x4062C45C, 0x4063B820, 0x00000002, + 0x4062C45D, 0x4063B820, 0x00000002, 0x4062C45E, 0x4063B820, 0x00000002, + 0x4062C45F, 0x4063B820, 0x00000002, 0x4062C460, 0x4063B820, 0x00000002, + 0x4062C461, 0x4063B820, 0x00000002, 0x4062C462, 0x4063B820, 0x00000002, + 0x4062C463, 0x4063B820, 0x00000002, 0x4062C464, 0x4063B820, 0x00000002, + 0x4062C465, 0x4063B820, 0x00000002, 0x4062C466, 0x4063B820, 0x00000002, + 0x4062C467, 0x4063B820, 0x00000002, 0x4062C468, + // Block 567, offset 0x8dc0 + 0x4063B820, 0x00000002, 0x4062C469, 0x4063B820, 0x00000002, 0x4062C46A, + 0x4063B820, 0x00000002, 0x4062C46B, 0x4063B820, 0x00000002, 0x4062C46C, + 0x4063B820, 0x00000002, 0x4062C46D, 0x4063B820, 0x00000002, 0x4062C46E, + 0x4063B820, 0x00000002, 0x4062C46F, 0x4063B820, 0x00000002, 0x4062C470, + 0x4063B820, 0x00000003, 0x4062C421, 0x4063B820, 0x40646420, 0x00000003, + 0x4062C422, 0x4063B820, 0x40646420, 0x00000003, 0x4062C423, 0x4063B820, + 0x40646420, 0x00000003, 0x4062C424, 0x4063B820, 0x40646420, 0x00000003, + 0x4062C425, 0x4063B820, 0x40646420, 0x00000003, 0x4062C421, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062C422, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062C423, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C421, 0x4063B820, + 0x40647220, 0x00000003, 0x4062C422, 0x4063B820, + // Block 568, offset 0x8e00 + 0x40647220, 0x00000003, 0x4062C423, 0x4063B820, 0x40647220, 0x00000003, + 0x4062C421, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C422, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C423, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C424, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C425, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C426, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C427, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C428, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C429, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C42A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42B, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C42C, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C42D, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42E, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C42F, 0x4063B820, + // Block 569, offset 0x8e40 + 0x40648C20, 0x00000003, 0x4062C430, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C431, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C432, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C433, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C434, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C435, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C436, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C437, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C438, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062C439, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062C43A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C43B, 0x4063B820, + 0x40648C20, 0x00000002, 0x4062C421, 0x4063BA20, 0x00000002, 0x4062C422, + 0x4063BA20, 0x00000002, 0x4062C423, 0x4063BA20, 0x00000002, 0x4062C424, + 0x4063BA20, 0x00000002, 0x4062C425, 0x4063BA20, + // Block 570, offset 0x8e80 + 0x00000002, 0x4062C426, 0x4063BA20, 0x00000002, 0x4062C427, 0x4063BA20, + 0x00000002, 0x4062C428, 0x4063BA20, 0x00000002, 0x4062C429, 0x4063BA20, + 0x00000002, 0x4062C421, 0x4063BE20, 0x00000002, 0x4062C421, 0x4063C220, + 0x00000002, 0x4062C422, 0x4063C220, 0x00000002, 0x4062C423, 0x4063C220, + 0x00000002, 0x4062C424, 0x4063C220, 0x00000002, 0x4062C425, 0x4063C220, + 0x00000002, 0x4062C426, 0x4063C220, 0x00000002, 0x4062C427, 0x4063C220, + 0x00000002, 0x4062C428, 0x4063C220, 0x00000002, 0x4062C429, 0x4063C220, + 0x00000002, 0x4062C42A, 0x4063C220, 0x00000002, 0x4062C42B, 0x4063C220, + 0x00000002, 0x4062C42C, 0x4063C220, 0x00000002, 0x4062C42D, 0x4063C220, + 0x00000002, 0x4062C42E, 0x4063C220, 0x00000002, 0x4062C42F, 0x4063C220, + 0x00000002, 0x4062C430, 0x4063C220, 0x00000002, + // Block 571, offset 0x8ec0 + 0x4062C431, 0x4063C220, 0x00000002, 0x4062C432, 0x4063C220, 0x00000002, + 0x4062C433, 0x4063C220, 0x00000002, 0x4062C434, 0x4063C220, 0x00000002, + 0x4062C435, 0x4063C220, 0x00000002, 0x4062C436, 0x4063C220, 0x00000002, + 0x4062C437, 0x4063C220, 0x00000002, 0x4062C438, 0x4063C220, 0x00000002, + 0x4062C439, 0x4063C220, 0x00000002, 0x4062C43A, 0x4063C220, 0x00000002, + 0x4062C43B, 0x4063C220, 0x00000002, 0x4062C43C, 0x4063C220, 0x00000002, + 0x4062C43D, 0x4063C220, 0x00000002, 0x4062C43E, 0x4063C220, 0x00000002, + 0x4062C43F, 0x4063C220, 0x00000002, 0x4062C440, 0x4063C220, 0x00000002, + 0x4062C441, 0x4063C220, 0x00000002, 0x4062C442, 0x4063C220, 0x00000002, + 0x4062C443, 0x4063C220, 0x00000002, 0x4062C444, 0x4063C220, 0x00000002, + 0x4062C445, 0x4063C220, 0x00000002, 0x4062C446, + // Block 572, offset 0x8f00 + 0x4063C220, 0x00000002, 0x4062C447, 0x4063C220, 0x00000002, 0x4062C448, + 0x4063C220, 0x00000002, 0x4062C449, 0x4063C220, 0x00000002, 0x4062C44A, + 0x4063C220, 0x00000002, 0x4062C44B, 0x4063C220, 0x00000002, 0x4062C44C, + 0x4063C220, 0x00000002, 0x4062C44D, 0x4063C220, 0x00000002, 0x4062C44E, + 0x4063C220, 0x00000002, 0x4062C44F, 0x4063C220, 0x00000002, 0x4062C450, + 0x4063C220, 0x00000002, 0x4062C451, 0x4063C220, 0x00000002, 0x4062C452, + 0x4063C220, 0x00000002, 0x4062C453, 0x4063C220, 0x00000002, 0x4062C454, + 0x4063C220, 0x00000002, 0x4062C455, 0x4063C220, 0x00000002, 0x4062C456, + 0x4063C220, 0x00000002, 0x4062C457, 0x4063C220, 0x00000002, 0x4062C458, + 0x4063C220, 0x00000002, 0x4062C459, 0x4063C220, 0x00000002, 0x4062C45A, + 0x4063C220, 0x00000002, 0x4062C45B, 0x4063C220, + // Block 573, offset 0x8f40 + 0x00000002, 0x4062C45C, 0x4063C220, 0x00000002, 0x4062C45D, 0x4063C220, + 0x00000002, 0x4062C45E, 0x4063C220, 0x00000003, 0x4062C421, 0x4063C220, + 0x40646420, 0x00000003, 0x4062C422, 0x4063C220, 0x40646420, 0x00000003, + 0x4062C421, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C422, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C423, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C424, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C425, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C426, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C427, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C428, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C429, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C42A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42B, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C42C, 0x4063C220, + // Block 574, offset 0x8f80 + 0x40646A20, 0x00000003, 0x4062C42D, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C42E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42F, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C430, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C431, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C432, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C433, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C434, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C435, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C436, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C437, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C438, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C439, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C43A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43B, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C43C, 0x4063C220, + // Block 575, offset 0x8fc0 + 0x40646A20, 0x00000003, 0x4062C43D, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C43E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43F, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C440, 0x4063C220, 0x40646A20, 0x00000003, + 0x4062C441, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C442, 0x4063C220, + 0x40646A20, 0x00000003, 0x4062C421, 0x4063C220, 0x40647220, 0x00000003, + 0x4062C422, 0x4063C220, 0x40647220, 0x00000003, 0x4062C421, 0x4063C220, + 0x40648C20, 0x00000003, 0x4062C422, 0x4063C220, 0x40648C20, 0x00000003, + 0x4062C423, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C424, 0x4063C220, + 0x40648C20, 0x00000003, 0x4062C425, 0x4063C220, 0x40648C20, 0x00000003, + 0x4062C421, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C422, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062C423, 0x4063CC20, + // Block 576, offset 0x9000 + 0x40646420, 0x00000003, 0x4062C421, 0x4063CC20, 0x40647220, 0x00000003, + 0x4062C422, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C421, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062C422, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062C423, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C424, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062C425, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062C421, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062C423, 0x4063CC20, 0x40648C20, 0x00000003, + 0x4062C424, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062C426, 0x4063CC20, 0x40648C20, 0x00000003, + 0x4062C427, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062C429, 0x4063CC20, + // Block 577, offset 0x9040 + 0x40648C20, 0x00000003, 0x4062C42A, 0x4063CC20, 0x40648C20, 0x00000003, + 0x4062C42B, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C42C, 0x4063CC20, + 0x40648C20, 0x00000003, 0x4062C42D, 0x4063CC20, 0x40648C20, 0x00000003, + 0x4062C42E, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C421, 0x4063D020, + 0x00000002, 0x4062C422, 0x4063D020, 0x00000002, 0x4062C423, 0x4063D020, + 0x00000002, 0x4062C424, 0x4063D020, 0x00000002, 0x4062C425, 0x4063D020, + 0x00000002, 0x4062C426, 0x4063D020, 0x00000002, 0x4062C427, 0x4063D020, + 0x00000002, 0x4062C428, 0x4063D020, 0x00000002, 0x4062C429, 0x4063D020, + 0x00000002, 0x4062C42A, 0x4063D020, 0x00000002, 0x4062C42B, 0x4063D020, + 0x00000002, 0x4062C42C, 0x4063D020, 0x00000002, 0x4062C42D, 0x4063D020, + 0x00000002, 0x4062C42E, 0x4063D020, 0x00000002, + // Block 578, offset 0x9080 + 0x4062C42F, 0x4063D020, 0x00000002, 0x4062C430, 0x4063D020, 0x00000002, + 0x4062C431, 0x4063D020, 0x00000002, 0x4062C432, 0x4063D020, 0x00000002, + 0x4062C433, 0x4063D020, 0x00000002, 0x4062C434, 0x4063D020, 0x00000002, + 0x4062C435, 0x4063D020, 0x00000002, 0x4062C436, 0x4063D020, 0x00000002, + 0x4062C437, 0x4063D020, 0x00000002, 0x4062C438, 0x4063D020, 0x00000002, + 0x4062C439, 0x4063D020, 0x00000002, 0x4062C43A, 0x4063D020, 0x00000002, + 0x4062C43B, 0x4063D020, 0x00000002, 0x4062C43C, 0x4063D020, 0x00000002, + 0x4062C43D, 0x4063D020, 0x00000002, 0x4062C43E, 0x4063D020, 0x00000002, + 0x4062C43F, 0x4063D020, 0x00000002, 0x4062C440, 0x4063D020, 0x00000002, + 0x4062C441, 0x4063D020, 0x00000002, 0x4062C442, 0x4063D020, 0x00000002, + 0x4062C443, 0x4063D020, 0x00000002, 0x4062C444, + // Block 579, offset 0x90c0 + 0x4063D020, 0x00000002, 0x4062C445, 0x4063D020, 0x00000002, 0x4062C446, + 0x4063D020, 0x00000002, 0x4062C447, 0x4063D020, 0x00000002, 0x4062C448, + 0x4063D020, 0x00000002, 0x4062C449, 0x4063D020, 0x00000002, 0x4062C44A, + 0x4063D020, 0x00000002, 0x4062C44B, 0x4063D020, 0x00000002, 0x4062C44C, + 0x4063D020, 0x00000002, 0x4062C44D, 0x4063D020, 0x00000002, 0x4062C44E, + 0x4063D020, 0x00000002, 0x4062C44F, 0x4063D020, 0x00000002, 0x4062C450, + 0x4063D020, 0x00000003, 0x4062C421, 0x4063D020, 0x40646420, 0x00000003, + 0x4062C422, 0x4063D020, 0x40646420, 0x00000003, 0x4062C423, 0x4063D020, + 0x40646420, 0x00000003, 0x4062C424, 0x4063D020, 0x40646420, 0x00000003, + 0x4062C425, 0x4063D020, 0x40646420, 0x00000003, 0x4062C426, 0x4063D020, + 0x40646420, 0x00000003, 0x4062C421, 0x4063D020, + // Block 580, offset 0x9100 + 0x40646A20, 0x00000003, 0x4062C422, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C423, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C424, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C425, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C426, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C427, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C428, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C429, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C42B, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C42C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C42E, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C42F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C431, 0x4063D020, + // Block 581, offset 0x9140 + 0x40646A20, 0x00000003, 0x4062C432, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C433, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C434, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C435, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C436, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C437, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C438, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C439, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C43B, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C43C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C43E, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C43F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C441, 0x4063D020, + // Block 582, offset 0x9180 + 0x40646A20, 0x00000003, 0x4062C442, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C443, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C444, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C445, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C446, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C447, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C448, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C449, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063D020, + 0x40646A20, 0x00000003, 0x4062C44B, 0x4063D020, 0x40646A20, 0x00000003, + 0x4062C44C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C421, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C422, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C423, 0x4063D020, 0x40647220, 0x00000003, 0x4062C424, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C425, 0x4063D020, + // Block 583, offset 0x91c0 + 0x40647220, 0x00000003, 0x4062C426, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C427, 0x4063D020, 0x40647220, 0x00000003, 0x4062C428, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C429, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C42A, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42B, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C42C, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C42D, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42E, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C42F, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C430, 0x4063D020, 0x40647220, 0x00000003, 0x4062C431, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C432, 0x4063D020, 0x40647220, 0x00000003, + 0x4062C433, 0x4063D020, 0x40647220, 0x00000003, 0x4062C434, 0x4063D020, + 0x40647220, 0x00000003, 0x4062C421, 0x4063D020, + // Block 584, offset 0x9200 + 0x40648220, 0x00000003, 0x4062C422, 0x4063D020, 0x40648220, 0x00000003, + 0x4062C423, 0x4063D020, 0x40648220, 0x00000003, 0x4062C421, 0x4063D020, + 0x40648420, 0x00000003, 0x4062C422, 0x4063D020, 0x40648420, 0x00000003, + 0x4062C423, 0x4063D020, 0x40648420, 0x00000003, 0x4062C424, 0x4063D020, + 0x40648420, 0x00000003, 0x4062C425, 0x4063D020, 0x40648420, 0x00000003, + 0x4062C426, 0x4063D020, 0x40648420, 0x00000003, 0x4062C427, 0x4063D020, + 0x40648420, 0x00000003, 0x4062C428, 0x4063D020, 0x40648420, 0x00000003, + 0x4062C421, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C422, 0x4063D020, + 0x40648C20, 0x00000003, 0x4062C423, 0x4063D020, 0x40648C20, 0x00000003, + 0x4062C424, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C425, 0x4063D020, + 0x40648C20, 0x00000003, 0x4062C426, 0x4063D020, + // Block 585, offset 0x9240 + 0x40648C20, 0x00000003, 0x4062C427, 0x4063D020, 0x40648C20, 0x00000002, + 0x4062C821, 0x4063A820, 0x00000002, 0x4062C822, 0x4063A820, 0x00000002, + 0x4062C823, 0x4063A820, 0x00000002, 0x4062C824, 0x4063A820, 0x00000002, + 0x4062C825, 0x4063A820, 0x00000002, 0x4062C826, 0x4063A820, 0x00000002, + 0x4062C827, 0x4063A820, 0x00000002, 0x4062C828, 0x4063A820, 0x00000002, + 0x4062C829, 0x4063A820, 0x00000002, 0x4062C82A, 0x4063A820, 0x00000002, + 0x4062C82B, 0x4063A820, 0x00000002, 0x4062C82C, 0x4063A820, 0x00000002, + 0x4062C82D, 0x4063A820, 0x00000002, 0x4062C82E, 0x4063A820, 0x00000002, + 0x4062C82F, 0x4063A820, 0x00000002, 0x4062C830, 0x4063A820, 0x00000002, + 0x4062C831, 0x4063A820, 0x00000002, 0x4062C832, 0x4063A820, 0x00000002, + 0x4062C833, 0x4063A820, 0x00000002, 0x4062C834, + // Block 586, offset 0x9280 + 0x4063A820, 0x00000002, 0x4062C835, 0x4063A820, 0x00000002, 0x4062C836, + 0x4063A820, 0x00000003, 0x4062C821, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C822, 0x4063A820, 0x40646420, 0x00000003, 0x4062C823, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C824, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C825, 0x4063A820, 0x40646420, 0x00000003, 0x4062C826, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C827, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C828, 0x4063A820, 0x40646420, 0x00000003, 0x4062C829, 0x4063A820, + 0x40646420, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646420, 0x00000003, + 0x4062C821, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C823, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C824, 0x4063A820, 0x40646A20, 0x00000003, + // Block 587, offset 0x92c0 + 0x4062C825, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C826, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C827, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C828, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C829, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C82B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82C, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C82D, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C82E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82F, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C830, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C831, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C832, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C833, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C834, 0x4063A820, 0x40646A20, 0x00000003, + // Block 588, offset 0x9300 + 0x4062C835, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C836, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062C837, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062C821, 0x4063A820, 0x40647220, 0x00000003, 0x4062C822, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C823, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C824, 0x4063A820, 0x40647220, 0x00000003, 0x4062C825, 0x4063A820, + 0x40647220, 0x00000003, 0x4062C826, 0x4063A820, 0x40647220, 0x00000003, + 0x4062C827, 0x4063A820, 0x40647220, 0x00000003, 0x4062C821, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C822, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C823, 0x4063A820, 0x40648220, 0x00000003, 0x4062C824, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C825, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C826, 0x4063A820, 0x40648220, 0x00000003, + // Block 589, offset 0x9340 + 0x4062C827, 0x4063A820, 0x40648220, 0x00000003, 0x4062C828, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C829, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C82A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82B, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C82C, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C82D, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82E, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C830, 0x4063A820, 0x40648220, 0x00000003, 0x4062C831, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C832, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C833, 0x4063A820, 0x40648220, 0x00000003, 0x4062C834, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C835, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C836, 0x4063A820, 0x40648220, 0x00000003, + // Block 590, offset 0x9380 + 0x4062C837, 0x4063A820, 0x40648220, 0x00000003, 0x4062C838, 0x4063A820, + 0x40648220, 0x00000003, 0x4062C839, 0x4063A820, 0x40648220, 0x00000003, + 0x4062C83A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C821, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C822, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C823, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C825, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C826, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C828, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C829, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C82B, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C82C, 0x4063A820, 0x40648C20, 0x00000003, + // Block 591, offset 0x93c0 + 0x4062C82D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82E, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C830, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C831, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C832, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C833, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C834, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C835, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C836, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C837, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C838, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C839, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83A, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C83B, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C83C, 0x4063A820, 0x40648C20, 0x00000003, + // Block 592, offset 0x9400 + 0x4062C83D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83E, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C83F, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C840, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C841, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C842, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C843, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C844, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C845, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C846, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C847, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062C848, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062C849, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C821, 0x4063AA20, + 0x00000002, 0x4062C822, 0x4063AA20, 0x00000002, 0x4062C823, 0x4063AA20, + 0x00000002, 0x4062C824, 0x4063AA20, 0x00000002, + // Block 593, offset 0x9440 + 0x4062C825, 0x4063AA20, 0x00000002, 0x4062C826, 0x4063AA20, 0x00000002, + 0x4062C827, 0x4063AA20, 0x00000002, 0x4062C828, 0x4063AA20, 0x00000002, + 0x4062C829, 0x4063AA20, 0x00000002, 0x4062C82A, 0x4063AA20, 0x00000002, + 0x4062C82B, 0x4063AA20, 0x00000002, 0x4062C82C, 0x4063AA20, 0x00000002, + 0x4062C82D, 0x4063AA20, 0x00000002, 0x4062C82E, 0x4063AA20, 0x00000003, + 0x4062C821, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C822, 0x4063AA20, + 0x40646420, 0x00000003, 0x4062C823, 0x4063AA20, 0x40646420, 0x00000003, + 0x4062C824, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C825, 0x4063AA20, + 0x40646420, 0x00000003, 0x4062C826, 0x4063AA20, 0x40646420, 0x00000003, + 0x4062C827, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C828, 0x4063AA20, + 0x40646420, 0x00000003, 0x4062C829, 0x4063AA20, + // Block 594, offset 0x9480 + 0x40646420, 0x00000003, 0x4062C82A, 0x4063AA20, 0x40646420, 0x00000002, + 0x4062C821, 0x4063B020, 0x00000002, 0x4062C822, 0x4063B020, 0x00000002, + 0x4062C823, 0x4063B020, 0x00000002, 0x4062C824, 0x4063B020, 0x00000002, + 0x4062C825, 0x4063B020, 0x00000002, 0x4062C826, 0x4063B020, 0x00000002, + 0x4062C827, 0x4063B020, 0x00000002, 0x4062C828, 0x4063B020, 0x00000002, + 0x4062C829, 0x4063B020, 0x00000003, 0x4062C821, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C822, 0x4063B020, 0x40646420, 0x00000003, 0x4062C823, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C824, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C825, 0x4063B020, 0x40646420, 0x00000003, 0x4062C826, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C827, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C828, 0x4063B020, 0x40646420, + // Block 595, offset 0x94c0 + 0x00000003, 0x4062C829, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82A, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C82C, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82D, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C82E, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C82F, 0x4063B020, 0x40646420, 0x00000003, 0x4062C830, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C831, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C832, 0x4063B020, 0x40646420, 0x00000003, 0x4062C833, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C834, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C835, 0x4063B020, 0x40646420, 0x00000003, 0x4062C836, + 0x4063B020, 0x40646420, 0x00000003, 0x4062C837, 0x4063B020, 0x40646420, + 0x00000003, 0x4062C821, 0x4063B020, 0x40646A20, + // Block 596, offset 0x9500 + 0x00000003, 0x4062C822, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C823, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C825, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C826, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C827, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C828, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C829, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C82B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82C, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82D, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C82E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82F, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C830, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C831, 0x4063B020, 0x40646A20, + // Block 597, offset 0x9540 + 0x00000003, 0x4062C832, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C833, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C834, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C835, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C836, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C837, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C838, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C839, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83A, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C83B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83C, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83D, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C83E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83F, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C840, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C841, 0x4063B020, 0x40646A20, + // Block 598, offset 0x9580 + 0x00000003, 0x4062C842, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C843, + 0x4063B020, 0x40646A20, 0x00000003, 0x4062C844, 0x4063B020, 0x40646A20, + 0x00000003, 0x4062C845, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C821, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C822, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C823, 0x4063B020, 0x40647220, 0x00000003, 0x4062C824, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C825, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C826, 0x4063B020, 0x40647220, 0x00000003, 0x4062C827, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C828, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C829, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82A, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C82C, 0x4063B020, 0x40647220, + // Block 599, offset 0x95c0 + 0x00000003, 0x4062C82D, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82E, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C82F, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C830, 0x4063B020, 0x40647220, 0x00000003, 0x4062C831, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C832, 0x4063B020, 0x40647220, + 0x00000003, 0x4062C833, 0x4063B020, 0x40647220, 0x00000003, 0x4062C834, + 0x4063B020, 0x40647220, 0x00000003, 0x4062C821, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C822, 0x4063B020, 0x40648220, 0x00000003, 0x4062C823, + 0x4063B020, 0x40648220, 0x00000003, 0x4062C824, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C825, 0x4063B020, 0x40648220, 0x00000003, 0x4062C826, + 0x4063B020, 0x40648220, 0x00000003, 0x4062C827, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C828, 0x4063B020, 0x40648220, + // Block 600, offset 0x9600 + 0x00000003, 0x4062C829, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82A, + 0x4063B020, 0x40648220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C82C, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82D, + 0x4063B020, 0x40648220, 0x00000003, 0x4062C82E, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C82F, 0x4063B020, 0x40648220, 0x00000003, 0x4062C830, + 0x4063B020, 0x40648220, 0x00000003, 0x4062C831, 0x4063B020, 0x40648220, + 0x00000003, 0x4062C832, 0x4063B020, 0x40648220, 0x00000003, 0x4062C821, + 0x4063B020, 0x40648420, 0x00000003, 0x4062C822, 0x4063B020, 0x40648420, + 0x00000003, 0x4062C823, 0x4063B020, 0x40648420, 0x00000003, 0x4062C824, + 0x4063B020, 0x40648420, 0x00000003, 0x4062C825, 0x4063B020, 0x40648420, + 0x00000003, 0x4062C826, 0x4063B020, 0x40648420, + // Block 601, offset 0x9640 + 0x00000003, 0x4062C827, 0x4063B020, 0x40648420, 0x00000003, 0x4062C828, + 0x4063B020, 0x40648420, 0x00000003, 0x4062C829, 0x4063B020, 0x40648420, + 0x00000003, 0x4062C82A, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82B, + 0x4063B020, 0x40648420, 0x00000003, 0x4062C82C, 0x4063B020, 0x40648420, + 0x00000003, 0x4062C82D, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82E, + 0x4063B020, 0x40648420, 0x00000003, 0x4062C82F, 0x4063B020, 0x40648420, + 0x00000003, 0x4062C821, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C822, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062C823, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062C824, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C825, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062C826, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062C827, 0x4063B020, 0x40648C20, + // Block 602, offset 0x9680 + 0x00000003, 0x4062C828, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C829, + 0x4063B020, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40648C20, + 0x00000003, 0x4062C82B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C82C, + 0x4063B020, 0x40648C20, 0x00000002, 0x4062C821, 0x4063B220, 0x00000002, + 0x4062C822, 0x4063B220, 0x00000002, 0x4062C823, 0x4063B220, 0x00000002, + 0x4062C824, 0x4063B220, 0x00000002, 0x4062C825, 0x4063B220, 0x00000002, + 0x4062C826, 0x4063B220, 0x00000002, 0x4062C827, 0x4063B220, 0x00000002, + 0x4062C828, 0x4063B220, 0x00000002, 0x4062C829, 0x4063B220, 0x00000002, + 0x4062C82A, 0x4063B220, 0x00000002, 0x4062C82B, 0x4063B220, 0x00000002, + 0x4062C82C, 0x4063B220, 0x00000002, 0x4062C82D, 0x4063B220, 0x00000002, + 0x4062C82E, 0x4063B220, 0x00000002, 0x4062C82F, + // Block 603, offset 0x96c0 + 0x4063B220, 0x00000002, 0x4062C830, 0x4063B220, 0x00000002, 0x4062C831, + 0x4063B220, 0x00000002, 0x4062C832, 0x4063B220, 0x00000002, 0x4062C833, + 0x4063B220, 0x00000002, 0x4062C834, 0x4063B220, 0x00000002, 0x4062C821, + 0x4063B820, 0x00000002, 0x4062C822, 0x4063B820, 0x00000002, 0x4062C823, + 0x4063B820, 0x00000002, 0x4062C824, 0x4063B820, 0x00000002, 0x4062C825, + 0x4063B820, 0x00000002, 0x4062C826, 0x4063B820, 0x00000002, 0x4062C827, + 0x4063B820, 0x00000002, 0x4062C828, 0x4063B820, 0x00000002, 0x4062C829, + 0x4063B820, 0x00000002, 0x4062C82A, 0x4063B820, 0x00000002, 0x4062C82B, + 0x4063B820, 0x00000002, 0x4062C82C, 0x4063B820, 0x00000002, 0x4062C82D, + 0x4063B820, 0x00000002, 0x4062C82E, 0x4063B820, 0x00000002, 0x4062C82F, + 0x4063B820, 0x00000002, 0x4062C830, 0x4063B820, + // Block 604, offset 0x9700 + 0x00000002, 0x4062C831, 0x4063B820, 0x00000002, 0x4062C832, 0x4063B820, + 0x00000002, 0x4062C833, 0x4063B820, 0x00000002, 0x4062C834, 0x4063B820, + 0x00000002, 0x4062C835, 0x4063B820, 0x00000002, 0x4062C836, 0x4063B820, + 0x00000002, 0x4062C837, 0x4063B820, 0x00000002, 0x4062C838, 0x4063B820, + 0x00000002, 0x4062C839, 0x4063B820, 0x00000002, 0x4062C83A, 0x4063B820, + 0x00000002, 0x4062C83B, 0x4063B820, 0x00000002, 0x4062C83C, 0x4063B820, + 0x00000002, 0x4062C83D, 0x4063B820, 0x00000002, 0x4062C83E, 0x4063B820, + 0x00000002, 0x4062C83F, 0x4063B820, 0x00000002, 0x4062C840, 0x4063B820, + 0x00000002, 0x4062C841, 0x4063B820, 0x00000002, 0x4062C842, 0x4063B820, + 0x00000002, 0x4062C843, 0x4063B820, 0x00000002, 0x4062C844, 0x4063B820, + 0x00000002, 0x4062C845, 0x4063B820, 0x00000002, + // Block 605, offset 0x9740 + 0x4062C846, 0x4063B820, 0x00000002, 0x4062C847, 0x4063B820, 0x00000002, + 0x4062C848, 0x4063B820, 0x00000002, 0x4062C849, 0x4063B820, 0x00000002, + 0x4062C84A, 0x4063B820, 0x00000002, 0x4062C84B, 0x4063B820, 0x00000002, + 0x4062C84C, 0x4063B820, 0x00000002, 0x4062C84D, 0x4063B820, 0x00000002, + 0x4062C84E, 0x4063B820, 0x00000002, 0x4062C84F, 0x4063B820, 0x00000002, + 0x4062C850, 0x4063B820, 0x00000002, 0x4062C851, 0x4063B820, 0x00000002, + 0x4062C852, 0x4063B820, 0x00000002, 0x4062C853, 0x4063B820, 0x00000002, + 0x4062C854, 0x4063B820, 0x00000002, 0x4062C855, 0x4063B820, 0x00000002, + 0x4062C856, 0x4063B820, 0x00000002, 0x4062C857, 0x4063B820, 0x00000002, + 0x4062C858, 0x4063B820, 0x00000003, 0x4062C821, 0x4063B820, 0x40646420, + 0x00000003, 0x4062C822, 0x4063B820, 0x40646420, + // Block 606, offset 0x9780 + 0x00000003, 0x4062C823, 0x4063B820, 0x40646420, 0x00000003, 0x4062C824, + 0x4063B820, 0x40646420, 0x00000003, 0x4062C825, 0x4063B820, 0x40646420, + 0x00000003, 0x4062C826, 0x4063B820, 0x40646420, 0x00000003, 0x4062C827, + 0x4063B820, 0x40646420, 0x00000003, 0x4062C828, 0x4063B820, 0x40646420, + 0x00000003, 0x4062C829, 0x4063B820, 0x40646420, 0x00000003, 0x4062C82A, + 0x4063B820, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B820, 0x40646420, + 0x00000003, 0x4062C82C, 0x4063B820, 0x40646420, 0x00000003, 0x4062C821, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C823, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C824, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062C825, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062C821, 0x4063B820, 0x40648C20, + // Block 607, offset 0x97c0 + 0x00000003, 0x4062C822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C823, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C826, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C829, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C82B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82C, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82D, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062C82E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82F, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062C821, 0x4063BA20, 0x40647220, + 0x00000002, 0x4062C821, 0x4063BE20, 0x00000002, + // Block 608, offset 0x9800 + 0x4062C822, 0x4063BE20, 0x00000002, 0x4062C823, 0x4063BE20, 0x00000002, + 0x4062C824, 0x4063BE20, 0x00000002, 0x4062C825, 0x4063BE20, 0x00000002, + 0x4062C826, 0x4063BE20, 0x00000002, 0x4062C827, 0x4063BE20, 0x00000002, + 0x4062C828, 0x4063BE20, 0x00000002, 0x4062C829, 0x4063BE20, 0x00000002, + 0x4062C82A, 0x4063BE20, 0x00000002, 0x4062C82B, 0x4063BE20, 0x00000002, + 0x4062C821, 0x4063C220, 0x00000002, 0x4062C822, 0x4063C220, 0x00000002, + 0x4062C823, 0x4063C220, 0x00000002, 0x4062C824, 0x4063C220, 0x00000002, + 0x4062C825, 0x4063C220, 0x00000002, 0x4062C826, 0x4063C220, 0x00000002, + 0x4062C827, 0x4063C220, 0x00000002, 0x4062C828, 0x4063C220, 0x00000002, + 0x4062C829, 0x4063C220, 0x00000002, 0x4062C82A, 0x4063C220, 0x00000002, + 0x4062C82B, 0x4063C220, 0x00000002, 0x4062C82C, + // Block 609, offset 0x9840 + 0x4063C220, 0x00000002, 0x4062C82D, 0x4063C220, 0x00000002, 0x4062C82E, + 0x4063C220, 0x00000002, 0x4062C82F, 0x4063C220, 0x00000002, 0x4062C830, + 0x4063C220, 0x00000002, 0x4062C831, 0x4063C220, 0x00000002, 0x4062C832, + 0x4063C220, 0x00000002, 0x4062C833, 0x4063C220, 0x00000002, 0x4062C834, + 0x4063C220, 0x00000002, 0x4062C835, 0x4063C220, 0x00000002, 0x4062C836, + 0x4063C220, 0x00000002, 0x4062C837, 0x4063C220, 0x00000002, 0x4062C838, + 0x4063C220, 0x00000002, 0x4062C839, 0x4063C220, 0x00000002, 0x4062C83A, + 0x4063C220, 0x00000002, 0x4062C83B, 0x4063C220, 0x00000002, 0x4062C83C, + 0x4063C220, 0x00000002, 0x4062C83D, 0x4063C220, 0x00000002, 0x4062C83E, + 0x4063C220, 0x00000002, 0x4062C83F, 0x4063C220, 0x00000002, 0x4062C840, + 0x4063C220, 0x00000002, 0x4062C841, 0x4063C220, + // Block 610, offset 0x9880 + 0x00000002, 0x4062C842, 0x4063C220, 0x00000002, 0x4062C843, 0x4063C220, + 0x00000002, 0x4062C844, 0x4063C220, 0x00000002, 0x4062C845, 0x4063C220, + 0x00000002, 0x4062C846, 0x4063C220, 0x00000002, 0x4062C847, 0x4063C220, + 0x00000002, 0x4062C848, 0x4063C220, 0x00000002, 0x4062C849, 0x4063C220, + 0x00000002, 0x4062C84A, 0x4063C220, 0x00000002, 0x4062C84B, 0x4063C220, + 0x00000002, 0x4062C84C, 0x4063C220, 0x00000002, 0x4062C84D, 0x4063C220, + 0x00000002, 0x4062C84E, 0x4063C220, 0x00000002, 0x4062C84F, 0x4063C220, + 0x00000002, 0x4062C850, 0x4063C220, 0x00000002, 0x4062C851, 0x4063C220, + 0x00000002, 0x4062C852, 0x4063C220, 0x00000002, 0x4062C853, 0x4063C220, + 0x00000003, 0x4062C821, 0x4063C220, 0x40646420, 0x00000003, 0x4062C822, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C823, + // Block 611, offset 0x98c0 + 0x4063C220, 0x40646420, 0x00000003, 0x4062C824, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C825, 0x4063C220, 0x40646420, 0x00000003, 0x4062C826, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C827, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C828, 0x4063C220, 0x40646420, 0x00000003, 0x4062C829, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C82A, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C82B, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82C, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C82D, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C82E, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82F, + 0x4063C220, 0x40646420, 0x00000003, 0x4062C830, 0x4063C220, 0x40646420, + 0x00000003, 0x4062C831, 0x4063C220, 0x40646420, 0x00000003, 0x4062C821, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C822, + // Block 612, offset 0x9900 + 0x4063C220, 0x40646A20, 0x00000003, 0x4062C823, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062C821, 0x4063C220, 0x40647220, 0x00000003, 0x4062C822, + 0x4063C220, 0x40647220, 0x00000003, 0x4062C823, 0x4063C220, 0x40647220, + 0x00000003, 0x4062C824, 0x4063C220, 0x40647220, 0x00000003, 0x4062C821, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062C822, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062C823, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C824, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062C825, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062C826, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C827, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062C828, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062C829, 0x4063C220, 0x40648C20, 0x00000002, 0x4062C821, + 0x4063C620, 0x00000002, 0x4062C822, 0x4063C620, + // Block 613, offset 0x9940 + 0x00000002, 0x4062C823, 0x4063C620, 0x00000002, 0x4062C824, 0x4063C620, + 0x00000002, 0x4062C825, 0x4063C620, 0x00000002, 0x4062C826, 0x4063C620, + 0x00000002, 0x4062C827, 0x4063C620, 0x00000002, 0x4062C828, 0x4063C620, + 0x00000002, 0x4062C829, 0x4063C620, 0x00000002, 0x4062C821, 0x4063C820, + 0x00000002, 0x4062C822, 0x4063C820, 0x00000002, 0x4062C823, 0x4063C820, + 0x00000002, 0x4062C824, 0x4063C820, 0x00000002, 0x4062C825, 0x4063C820, + 0x00000002, 0x4062C826, 0x4063C820, 0x00000002, 0x4062C827, 0x4063C820, + 0x00000002, 0x4062C828, 0x4063C820, 0x00000002, 0x4062C829, 0x4063C820, + 0x00000002, 0x4062C82A, 0x4063C820, 0x00000002, 0x4062C82B, 0x4063C820, + 0x00000002, 0x4062C82C, 0x4063C820, 0x00000002, 0x4062C82D, 0x4063C820, + 0x00000002, 0x4062C82E, 0x4063C820, 0x00000002, + // Block 614, offset 0x9980 + 0x4062C82F, 0x4063C820, 0x00000002, 0x4062C830, 0x4063C820, 0x00000002, + 0x4062C831, 0x4063C820, 0x00000003, 0x4062C821, 0x4063CC20, 0x40646420, + 0x00000003, 0x4062C822, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C823, + 0x4063CC20, 0x40646420, 0x00000003, 0x4062C824, 0x4063CC20, 0x40646420, + 0x00000003, 0x4062C825, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C826, + 0x4063CC20, 0x40646420, 0x00000003, 0x4062C827, 0x4063CC20, 0x40646420, + 0x00000003, 0x4062C821, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C821, + 0x4063D020, 0x00000002, 0x4062C822, 0x4063D020, 0x00000002, 0x4062C823, + 0x4063D020, 0x00000002, 0x4062C824, 0x4063D020, 0x00000002, 0x4062C825, + 0x4063D020, 0x00000002, 0x4062C826, 0x4063D020, 0x00000002, 0x4062C827, + 0x4063D020, 0x00000002, 0x4062C828, 0x4063D020, + // Block 615, offset 0x99c0 + 0x00000002, 0x4062C829, 0x4063D020, 0x00000002, 0x4062C82A, 0x4063D020, + 0x00000002, 0x4062C82B, 0x4063D020, 0x00000002, 0x4062C82C, 0x4063D020, + 0x00000002, 0x4062C82D, 0x4063D020, 0x00000002, 0x4062C82E, 0x4063D020, + 0x00000002, 0x4062C82F, 0x4063D020, 0x00000002, 0x4062C830, 0x4063D020, + 0x00000002, 0x4062C831, 0x4063D020, 0x00000002, 0x4062C832, 0x4063D020, + 0x00000002, 0x4062C833, 0x4063D020, 0x00000002, 0x4062C834, 0x4063D020, + 0x00000002, 0x4062C835, 0x4063D020, 0x00000002, 0x4062C836, 0x4063D020, + 0x00000002, 0x4062C837, 0x4063D020, 0x00000002, 0x4062C838, 0x4063D020, + 0x00000002, 0x4062C839, 0x4063D020, 0x00000002, 0x4062C83A, 0x4063D020, + 0x00000002, 0x4062C83B, 0x4063D020, 0x00000002, 0x4062C83C, 0x4063D020, + 0x00000002, 0x4062C83D, 0x4063D020, 0x00000002, + // Block 616, offset 0x9a00 + 0x4062C83E, 0x4063D020, 0x00000002, 0x4062C83F, 0x4063D020, 0x00000002, + 0x4062C840, 0x4063D020, 0x00000002, 0x4062C841, 0x4063D020, 0x00000002, + 0x4062C842, 0x4063D020, 0x00000002, 0x4062C843, 0x4063D020, 0x00000002, + 0x4062C844, 0x4063D020, 0x00000002, 0x4062C845, 0x4063D020, 0x00000002, + 0x4062C846, 0x4063D020, 0x00000002, 0x4062C847, 0x4063D020, 0x00000002, + 0x4062C848, 0x4063D020, 0x00000002, 0x4062C849, 0x4063D020, 0x00000002, + 0x4062C84A, 0x4063D020, 0x00000003, 0x4062C821, 0x4063D020, 0x40646420, + 0x00000003, 0x4062C822, 0x4063D020, 0x40646420, 0x00000003, 0x4062C823, + 0x4063D020, 0x40646420, 0x00000003, 0x4062C824, 0x4063D020, 0x40646420, + 0x00000003, 0x4062C821, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C822, + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C823, + // Block 617, offset 0x9a40 + 0x4063D020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063D020, 0x40646A20, + 0x00000003, 0x4062C825, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C821, + 0x4063D020, 0x40647220, 0x00000003, 0x4062C822, 0x4063D020, 0x40647220, + 0x00000003, 0x4062C823, 0x4063D020, 0x40647220, 0x00000003, 0x4062C821, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C822, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C823, 0x4063D020, 0x40648220, 0x00000003, 0x4062C824, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C825, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C826, 0x4063D020, 0x40648220, 0x00000003, 0x4062C827, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C828, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C829, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82A, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C82B, + // Block 618, offset 0x9a80 + 0x4063D020, 0x40648220, 0x00000003, 0x4062C82C, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C82D, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82E, + 0x4063D020, 0x40648220, 0x00000003, 0x4062C82F, 0x4063D020, 0x40648220, + 0x00000003, 0x4062C830, 0x4063D020, 0x40648220, 0x00000003, 0x4062C821, + 0x4063D020, 0x40648420, 0x00000003, 0x4062C821, 0x4063D020, 0x40648C20, + 0x00000003, 0x4062C822, 0x4063D020, 0x40648C20, 0x00000002, 0x4062CA21, + 0x4063BC20, 0x00000002, 0x4062CA22, 0x4063BC20, 0x00000002, 0x4062CA23, + 0x4063BC20, 0x00000002, 0x4062CC21, 0x4063A820, 0x00000002, 0x4062CC22, + 0x4063A820, 0x00000002, 0x4062CC23, 0x4063A820, 0x00000002, 0x4062CC24, + 0x4063A820, 0x00000002, 0x4062CC25, 0x4063A820, 0x00000002, 0x4062CC26, + 0x4063A820, 0x00000002, 0x4062CC27, 0x4063A820, + // Block 619, offset 0x9ac0 + 0x00000002, 0x4062CC28, 0x4063A820, 0x00000002, 0x4062CC29, 0x4063A820, + 0x00000002, 0x4062CC2A, 0x4063A820, 0x00000002, 0x4062CC2B, 0x4063A820, + 0x00000002, 0x4062CC2C, 0x4063A820, 0x00000002, 0x4062CC2D, 0x4063A820, + 0x00000002, 0x4062CC2E, 0x4063A820, 0x00000002, 0x4062CC2F, 0x4063A820, + 0x00000002, 0x4062CC30, 0x4063A820, 0x00000002, 0x4062CC31, 0x4063A820, + 0x00000002, 0x4062CC32, 0x4063A820, 0x00000002, 0x4062CC33, 0x4063A820, + 0x00000002, 0x4062CC34, 0x4063A820, 0x00000002, 0x4062CC35, 0x4063A820, + 0x00000002, 0x4062CC36, 0x4063A820, 0x00000002, 0x4062CC37, 0x4063A820, + 0x00000002, 0x4062CC38, 0x4063A820, 0x00000002, 0x4062CC39, 0x4063A820, + 0x00000002, 0x4062CC3A, 0x4063A820, 0x00000002, 0x4062CC3B, 0x4063A820, + 0x00000003, 0x4062CC21, 0x4063A820, 0x40646420, + // Block 620, offset 0x9b00 + 0x00000003, 0x4062CC22, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC23, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC25, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC26, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC27, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC29, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2A, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2C, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2F, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC30, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC31, 0x4063A820, 0x40646420, + // Block 621, offset 0x9b40 + 0x00000003, 0x4062CC32, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC33, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC34, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC35, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC36, + 0x4063A820, 0x40646420, 0x00000003, 0x4062CC37, 0x4063A820, 0x40646420, + 0x00000003, 0x4062CC21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC22, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC23, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CC24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC25, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC26, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC28, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC29, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CC2A, 0x4063A820, 0x40646A20, + // Block 622, offset 0x9b80 + 0x00000003, 0x4062CC2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2C, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CC2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2F, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC21, 0x4063A820, 0x40647220, + 0x00000003, 0x4062CC22, 0x4063A820, 0x40647220, 0x00000003, 0x4062CC23, + 0x4063A820, 0x40647220, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648220, + 0x00000003, 0x4062CC22, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC23, + 0x4063A820, 0x40648220, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648220, + 0x00000003, 0x4062CC25, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC26, + 0x4063A820, 0x40648220, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648220, + 0x00000003, 0x4062CC21, 0x4063A820, 0x40648420, + // Block 623, offset 0x9bc0 + 0x00000003, 0x4062CC22, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC23, + 0x4063A820, 0x40648420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648420, + 0x00000003, 0x4062CC25, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC26, + 0x4063A820, 0x40648420, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062CC22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC23, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062CC25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC26, + 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648C20, + 0x00000003, 0x4062CC28, 0x4063A820, 0x40648C20, 0x00000002, 0x4062CC21, + 0x4063AA20, 0x00000002, 0x4062CC22, 0x4063AA20, 0x00000002, 0x4062CC23, + 0x4063AA20, 0x00000002, 0x4062CC24, 0x4063AA20, + // Block 624, offset 0x9c00 + 0x00000002, 0x4062CC25, 0x4063AA20, 0x00000002, 0x4062CC26, 0x4063AA20, + 0x00000002, 0x4062CC27, 0x4063AA20, 0x00000002, 0x4062CC28, 0x4063AA20, + 0x00000002, 0x4062CC29, 0x4063AA20, 0x00000002, 0x4062CC2A, 0x4063AA20, + 0x00000002, 0x4062CC2B, 0x4063AA20, 0x00000002, 0x4062CC2C, 0x4063AA20, + 0x00000002, 0x4062CC2D, 0x4063AA20, 0x00000002, 0x4062CC2E, 0x4063AA20, + 0x00000002, 0x4062CC2F, 0x4063AA20, 0x00000002, 0x4062CC30, 0x4063AA20, + 0x00000002, 0x4062CC31, 0x4063AA20, 0x00000002, 0x4062CC32, 0x4063AA20, + 0x00000002, 0x4062CC33, 0x4063AA20, 0x00000002, 0x4062CC34, 0x4063AA20, + 0x00000002, 0x4062CC35, 0x4063AA20, 0x00000003, 0x4062CC21, 0x4063AA20, + 0x40646420, 0x00000003, 0x4062CC22, 0x4063AA20, 0x40646420, 0x00000003, + 0x4062CC21, 0x4063AA20, 0x40648C20, 0x00000003, + // Block 625, offset 0x9c40 + 0x4062CC22, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CC23, 0x4063AA20, + 0x40648C20, 0x00000002, 0x4062CC21, 0x4063B020, 0x00000002, 0x4062CC21, + 0x4063B820, 0x00000002, 0x4062CC22, 0x4063B820, 0x00000002, 0x4062CC23, + 0x4063B820, 0x00000002, 0x4062CC24, 0x4063B820, 0x00000003, 0x4062CC21, + 0x4063B820, 0x40646A20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40646A20, + 0x00000003, 0x4062CC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062CC21, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062CC23, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC24, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC25, 0x4063B820, 0x40648C20, + 0x00000003, 0x4062CC26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC27, + 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC28, + // Block 626, offset 0x9c80 + 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC29, 0x4063B820, 0x40648C20, + 0x00000002, 0x4062CC21, 0x4063BE20, 0x00000002, 0x4062CC22, 0x4063BE20, + 0x00000002, 0x4062CC23, 0x4063BE20, 0x00000002, 0x4062CC24, 0x4063BE20, + 0x00000002, 0x4062CC25, 0x4063BE20, 0x00000002, 0x4062CC26, 0x4063BE20, + 0x00000002, 0x4062CC27, 0x4063BE20, 0x00000002, 0x4062CC21, 0x4063C220, + 0x00000002, 0x4062CC22, 0x4063C220, 0x00000002, 0x4062CC23, 0x4063C220, + 0x00000002, 0x4062CC24, 0x4063C220, 0x00000002, 0x4062CC25, 0x4063C220, + 0x00000002, 0x4062CC26, 0x4063C220, 0x00000002, 0x4062CC27, 0x4063C220, + 0x00000002, 0x4062CC28, 0x4063C220, 0x00000002, 0x4062CC29, 0x4063C220, + 0x00000003, 0x4062CC21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CC21, + 0x4063CC20, 0x40646420, 0x00000003, 0x4062CC22, + // Block 627, offset 0x9cc0 + 0x4063CC20, 0x40646420, 0x00000003, 0x4062CC23, 0x4063CC20, 0x40646420, + 0x00000003, 0x4062CC21, 0x4063CC20, 0x40648220, 0x00000002, 0x4062CE21, + 0x4063A820, 0x00000002, 0x4062CE22, 0x4063A820, 0x00000002, 0x4062CE23, + 0x4063A820, 0x00000002, 0x4062CE24, 0x4063A820, 0x00000002, 0x4062CE25, + 0x4063A820, 0x00000002, 0x4062CE26, 0x4063A820, 0x00000002, 0x4062CE27, + 0x4063A820, 0x00000002, 0x4062CE28, 0x4063A820, 0x00000002, 0x4062CE29, + 0x4063A820, 0x00000002, 0x4062CE2A, 0x4063A820, 0x00000002, 0x4062CE2B, + 0x4063A820, 0x00000002, 0x4062CE2C, 0x4063A820, 0x00000002, 0x4062CE2D, + 0x4063A820, 0x00000002, 0x4062CE2E, 0x4063A820, 0x00000002, 0x4062CE2F, + 0x4063A820, 0x00000002, 0x4062CE30, 0x4063A820, 0x00000002, 0x4062CE31, + 0x4063A820, 0x00000002, 0x4062CE32, 0x4063A820, + // Block 628, offset 0x9d00 + 0x00000002, 0x4062CE33, 0x4063A820, 0x00000002, 0x4062CE34, 0x4063A820, + 0x00000002, 0x4062CE35, 0x4063A820, 0x00000002, 0x4062CE36, 0x4063A820, + 0x00000002, 0x4062CE37, 0x4063A820, 0x00000002, 0x4062CE38, 0x4063A820, + 0x00000002, 0x4062CE39, 0x4063A820, 0x00000002, 0x4062CE3A, 0x4063A820, + 0x00000002, 0x4062CE3B, 0x4063A820, 0x00000002, 0x4062CE3C, 0x4063A820, + 0x00000002, 0x4062CE3D, 0x4063A820, 0x00000002, 0x4062CE3E, 0x4063A820, + 0x00000003, 0x4062CE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE22, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE23, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE25, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CE27, 0x4063A820, 0x40646A20, + // Block 629, offset 0x9d40 + 0x00000003, 0x4062CE28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE29, + 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE2A, 0x4063A820, 0x40646A20, + 0x00000003, 0x4062CE21, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE22, + 0x4063A820, 0x40647220, 0x00000003, 0x4062CE23, 0x4063A820, 0x40647220, + 0x00000003, 0x4062CE24, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE25, + 0x4063A820, 0x40647220, 0x00000002, 0x4062CE21, 0x4063AA20, 0x00000002, + 0x4062CE22, 0x4063AA20, 0x00000002, 0x4062CE23, 0x4063AA20, 0x00000002, + 0x4062CE24, 0x4063AA20, 0x00000002, 0x4062CE25, 0x4063AA20, 0x00000002, + 0x4062CE26, 0x4063AA20, 0x00000002, 0x4062CE27, 0x4063AA20, 0x00000002, + 0x4062CE28, 0x4063AA20, 0x00000002, 0x4062CE29, 0x4063AA20, 0x00000002, + 0x4062CE2A, 0x4063AA20, 0x00000002, 0x4062CE2B, + // Block 630, offset 0x9d80 + 0x4063AA20, 0x00000002, 0x4062CE2C, 0x4063AA20, 0x00000002, 0x4062CE2D, + 0x4063AA20, 0x00000002, 0x4062CE2E, 0x4063AA20, 0x00000002, 0x4062CE2F, + 0x4063AA20, 0x00000002, 0x4062CE30, 0x4063AA20, 0x00000003, 0x4062CE21, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE22, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062CE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE24, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE25, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062CE26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE27, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE28, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062CE21, 0x4063AC20, 0x40646420, 0x00000003, 0x4062CE21, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE22, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE23, 0x4063B420, 0x40646A20, + // Block 631, offset 0x9dc0 + 0x00000003, 0x4062CE24, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE25, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE27, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE28, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE2A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2B, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2C, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE2D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2E, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2F, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE30, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE31, + 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE32, 0x4063B420, 0x40646A20, + 0x00000003, 0x4062CE33, 0x4063B420, 0x40646A20, + // Block 632, offset 0x9e00 + 0x00000003, 0x4062CE21, 0x4063B420, 0x40648220, 0x00000003, 0x4062CE22, + 0x4063B420, 0x40648220, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648220, + 0x00000003, 0x4062CE21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE22, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062CE24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE25, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062CE27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE28, + 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40648C20, + 0x00000003, 0x4062CE2A, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE2B, + 0x4063B420, 0x40648C20, 0x00000002, 0x4062CE21, 0x4063B620, 0x00000002, + 0x4062CE22, 0x4063B620, 0x00000002, 0x4062CE23, + // Block 633, offset 0x9e40 + 0x4063B620, 0x00000002, 0x4062CE24, 0x4063B620, 0x00000002, 0x4062CE25, + 0x4063B620, 0x00000002, 0x4062CE26, 0x4063B620, 0x00000002, 0x4062CE27, + 0x4063B620, 0x00000002, 0x4062CE28, 0x4063B620, 0x00000002, 0x4062CE29, + 0x4063B620, 0x00000002, 0x4062CE2A, 0x4063B620, 0x00000002, 0x4062CE2B, + 0x4063B620, 0x00000002, 0x4062CE2C, 0x4063B620, 0x00000002, 0x4062CE2D, + 0x4063B620, 0x00000002, 0x4062CE2E, 0x4063B620, 0x00000002, 0x4062CE21, + 0x4063B820, 0x00000002, 0x4062CE22, 0x4063B820, 0x00000002, 0x4062CE23, + 0x4063B820, 0x00000002, 0x4062CE24, 0x4063B820, 0x00000002, 0x4062CE25, + 0x4063B820, 0x00000002, 0x4062CE26, 0x4063B820, 0x00000002, 0x4062CE27, + 0x4063B820, 0x00000002, 0x4062CE28, 0x4063B820, 0x00000002, 0x4062CE29, + 0x4063B820, 0x00000002, 0x4062CE2A, 0x4063B820, + // Block 634, offset 0x9e80 + 0x00000002, 0x4062CE2B, 0x4063B820, 0x00000002, 0x4062CE2C, 0x4063B820, + 0x00000002, 0x4062CE2D, 0x4063B820, 0x00000002, 0x4062CE2E, 0x4063B820, + 0x00000002, 0x4062CE2F, 0x4063B820, 0x00000002, 0x4062CE30, 0x4063B820, + 0x00000002, 0x4062CE31, 0x4063B820, 0x00000002, 0x4062CE32, 0x4063B820, + 0x00000002, 0x4062CE33, 0x4063B820, 0x00000002, 0x4062CE34, 0x4063B820, + 0x00000002, 0x4062CE35, 0x4063B820, 0x00000002, 0x4062CE36, 0x4063B820, + 0x00000002, 0x4062CE37, 0x4063B820, 0x00000002, 0x4062CE38, 0x4063B820, + 0x00000002, 0x4062CE39, 0x4063B820, 0x00000002, 0x4062CE3A, 0x4063B820, + 0x00000002, 0x4062CE3B, 0x4063B820, 0x00000002, 0x4062CE3C, 0x4063B820, + 0x00000002, 0x4062CE3D, 0x4063B820, 0x00000002, 0x4062CE3E, 0x4063B820, + 0x00000002, 0x4062CE3F, 0x4063B820, 0x00000002, + // Block 635, offset 0x9ec0 + 0x4062CE40, 0x4063B820, 0x00000002, 0x4062CE41, 0x4063B820, 0x00000002, + 0x4062CE42, 0x4063B820, 0x00000002, 0x4062CE43, 0x4063B820, 0x00000002, + 0x4062CE44, 0x4063B820, 0x00000002, 0x4062CE45, 0x4063B820, 0x00000002, + 0x4062CE46, 0x4063B820, 0x00000002, 0x4062CE47, 0x4063B820, 0x00000003, + 0x4062CE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE22, 0x4063B820, + 0x40646420, 0x00000003, 0x4062CE23, 0x4063B820, 0x40646420, 0x00000003, + 0x4062CE24, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE25, 0x4063B820, + 0x40646420, 0x00000002, 0x4062CE21, 0x4063C020, 0x00000002, 0x4062CE22, + 0x4063C020, 0x00000002, 0x4062CE23, 0x4063C020, 0x00000002, 0x4062CE24, + 0x4063C020, 0x00000002, 0x4062CE25, 0x4063C020, 0x00000002, 0x4062CE26, + 0x4063C020, 0x00000002, 0x4062CE27, 0x4063C020, + // Block 636, offset 0x9f00 + 0x00000002, 0x4062CE28, 0x4063C020, 0x00000002, 0x4062CE29, 0x4063C020, + 0x00000002, 0x4062CE2A, 0x4063C020, 0x00000002, 0x4062CE2B, 0x4063C020, + 0x00000002, 0x4062CE2C, 0x4063C020, 0x00000002, 0x4062CE2D, 0x4063C020, + 0x00000002, 0x4062CE2E, 0x4063C020, 0x00000002, 0x4062CE2F, 0x4063C020, + 0x00000002, 0x4062CE30, 0x4063C020, 0x00000002, 0x4062CE31, 0x4063C020, + 0x00000002, 0x4062CE32, 0x4063C020, 0x00000002, 0x4062CE33, 0x4063C020, + 0x00000002, 0x4062CE34, 0x4063C020, 0x00000002, 0x4062CE35, 0x4063C020, + 0x00000002, 0x4062CE36, 0x4063C020, 0x00000002, 0x4062CE37, 0x4063C020, + 0x00000002, 0x4062CE38, 0x4063C020, 0x00000002, 0x4062CE39, 0x4063C020, + 0x00000002, 0x4062CE3A, 0x4063C020, 0x00000002, 0x4062CE3B, 0x4063C020, + 0x00000003, 0x4062CE21, 0x4063C220, 0x40648220, + // Block 637, offset 0x9f40 + 0x00000003, 0x4062CE22, 0x4063C220, 0x40648220, 0x00000003, 0x4062CE23, + 0x4063C220, 0x40648220, 0x00000003, 0x4062CE21, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062CE22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE23, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE24, 0x4063C220, 0x40648C20, + 0x00000003, 0x4062CE25, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE26, + 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE27, 0x4063C220, 0x40648C20, + 0x00000002, 0x4062CE21, 0x4063D020, 0x00000002, 0x4062CE22, 0x4063D020, + 0x00000002, 0x4062CE23, 0x4063D020, 0x00000002, 0x4062CE24, 0x4063D020, + 0x00000002, 0x4062CE25, 0x4063D020, 0x00000002, 0x4062CE26, 0x4063D020, + 0x00000002, 0x4062CE27, 0x4063D020, 0x00000002, 0x4062CE28, 0x4063D020, + 0x00000002, 0x4062CE29, 0x4063D020, 0x00000002, + // Block 638, offset 0x9f80 + 0x4062CE2A, 0x4063D020, 0x00000002, 0x4062CE2B, 0x4063D020, 0x00000003, + 0x4062CE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062CE21, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE22, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE23, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE24, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE25, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE26, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE27, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE28, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE29, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2A, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE2B, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE2C, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2D, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE2E, 0x4063D020, + // Block 639, offset 0x9fc0 + 0x40647220, 0x00000003, 0x4062CE2F, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE30, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE31, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE32, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE33, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE34, 0x4063D020, + 0x40647220, 0x00000003, 0x4062CE35, 0x4063D020, 0x40647220, 0x00000003, + 0x4062CE36, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE21, 0x4063D020, + 0x40648420, 0x00000003, 0x4062CE22, 0x4063D020, 0x40648420, 0x00000003, + 0x4062CE23, 0x4063D020, 0x40648420, 0x00000002, 0x4062D021, 0x4063A820, + 0x00000002, 0x4062D022, 0x4063A820, 0x00000002, 0x4062D023, 0x4063A820, + 0x00000002, 0x4062D024, 0x4063A820, 0x00000002, 0x4062D025, 0x4063A820, + 0x00000002, 0x4062D026, 0x4063A820, 0x00000002, + // Block 640, offset 0xa000 + 0x4062D027, 0x4063A820, 0x00000002, 0x4062D028, 0x4063A820, 0x00000002, + 0x4062D029, 0x4063A820, 0x00000002, 0x4062D02A, 0x4063A820, 0x00000002, + 0x4062D02B, 0x4063A820, 0x00000002, 0x4062D02C, 0x4063A820, 0x00000002, + 0x4062D02D, 0x4063A820, 0x00000002, 0x4062D02E, 0x4063A820, 0x00000002, + 0x4062D02F, 0x4063A820, 0x00000002, 0x4062D030, 0x4063A820, 0x00000002, + 0x4062D031, 0x4063A820, 0x00000002, 0x4062D032, 0x4063A820, 0x00000002, + 0x4062D033, 0x4063A820, 0x00000002, 0x4062D034, 0x4063A820, 0x00000002, + 0x4062D035, 0x4063A820, 0x00000002, 0x4062D036, 0x4063A820, 0x00000003, + 0x4062D021, 0x4063A820, 0x40646420, 0x00000003, 0x4062D022, 0x4063A820, + 0x40646420, 0x00000003, 0x4062D023, 0x4063A820, 0x40646420, 0x00000003, + 0x4062D024, 0x4063A820, 0x40646420, 0x00000003, + // Block 641, offset 0xa040 + 0x4062D025, 0x4063A820, 0x40646420, 0x00000003, 0x4062D026, 0x4063A820, + 0x40646420, 0x00000003, 0x4062D027, 0x4063A820, 0x40646420, 0x00000003, + 0x4062D028, 0x4063A820, 0x40646420, 0x00000003, 0x4062D029, 0x4063A820, + 0x40646420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40646420, 0x00000003, + 0x4062D02B, 0x4063A820, 0x40646420, 0x00000003, 0x4062D021, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D022, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D023, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D025, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D026, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D028, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D029, 0x4063A820, 0x40646A20, 0x00000003, + // Block 642, offset 0xa080 + 0x4062D02A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02B, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D02D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02E, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D030, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D031, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D032, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D033, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D034, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D035, 0x4063A820, 0x40646A20, 0x00000003, + 0x4062D036, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D037, 0x4063A820, + 0x40646A20, 0x00000003, 0x4062D021, 0x4063A820, 0x40647220, 0x00000003, + 0x4062D022, 0x4063A820, 0x40647220, 0x00000003, + // Block 643, offset 0xa0c0 + 0x4062D023, 0x4063A820, 0x40647220, 0x00000003, 0x4062D021, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D022, 0x4063A820, 0x40648220, 0x00000003, + 0x4062D023, 0x4063A820, 0x40648220, 0x00000003, 0x4062D024, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D025, 0x4063A820, 0x40648220, 0x00000003, + 0x4062D026, 0x4063A820, 0x40648220, 0x00000003, 0x4062D027, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D028, 0x4063A820, 0x40648220, 0x00000003, + 0x4062D029, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02A, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D02B, 0x4063A820, 0x40648220, 0x00000003, + 0x4062D02C, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02D, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D02E, 0x4063A820, 0x40648220, 0x00000003, + 0x4062D02F, 0x4063A820, 0x40648220, 0x00000003, + // Block 644, offset 0xa100 + 0x4062D030, 0x4063A820, 0x40648220, 0x00000003, 0x4062D031, 0x4063A820, + 0x40648220, 0x00000003, 0x4062D021, 0x4063A820, 0x40648420, 0x00000003, + 0x4062D022, 0x4063A820, 0x40648420, 0x00000003, 0x4062D023, 0x4063A820, + 0x40648420, 0x00000003, 0x4062D024, 0x4063A820, 0x40648420, 0x00000003, + 0x4062D025, 0x4063A820, 0x40648420, 0x00000003, 0x4062D026, 0x4063A820, + 0x40648420, 0x00000003, 0x4062D027, 0x4063A820, 0x40648420, 0x00000003, + 0x4062D028, 0x4063A820, 0x40648420, 0x00000003, 0x4062D029, 0x4063A820, + 0x40648420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40648420, 0x00000003, + 0x4062D02B, 0x4063A820, 0x40648420, 0x00000003, 0x4062D02C, 0x4063A820, + 0x40648420, 0x00000003, 0x4062D02D, 0x4063A820, 0x40648420, 0x00000003, + 0x4062D02E, 0x4063A820, 0x40648420, 0x00000003, + // Block 645, offset 0xa140 + 0x4062D021, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D023, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D024, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D026, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D027, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D029, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D02A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D02D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02E, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D030, 0x4063A820, 0x40648C20, 0x00000003, + // Block 646, offset 0xa180 + 0x4062D031, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D032, 0x4063A820, + 0x40648C20, 0x00000003, 0x4062D033, 0x4063A820, 0x40648C20, 0x00000003, + 0x4062D034, 0x4063A820, 0x40648C20, 0x00000002, 0x4062D021, 0x4063AA20, + 0x00000002, 0x4062D022, 0x4063AA20, 0x00000002, 0x4062D023, 0x4063AA20, + 0x00000002, 0x4062D024, 0x4063AA20, 0x00000002, 0x4062D025, 0x4063AA20, + 0x00000002, 0x4062D026, 0x4063AA20, 0x00000002, 0x4062D027, 0x4063AA20, + 0x00000002, 0x4062D028, 0x4063AA20, 0x00000002, 0x4062D029, 0x4063AA20, + 0x00000002, 0x4062D02A, 0x4063AA20, 0x00000002, 0x4062D02B, 0x4063AA20, + 0x00000002, 0x4062D02C, 0x4063AA20, 0x00000002, 0x4062D02D, 0x4063AA20, + 0x00000002, 0x4062D02E, 0x4063AA20, 0x00000002, 0x4062D02F, 0x4063AA20, + 0x00000002, 0x4062D030, 0x4063AA20, 0x00000002, + // Block 647, offset 0xa1c0 + 0x4062D031, 0x4063AA20, 0x00000002, 0x4062D032, 0x4063AA20, 0x00000002, + 0x4062D033, 0x4063AA20, 0x00000002, 0x4062D034, 0x4063AA20, 0x00000002, + 0x4062D035, 0x4063AA20, 0x00000002, 0x4062D036, 0x4063AA20, 0x00000002, + 0x4062D037, 0x4063AA20, 0x00000002, 0x4062D038, 0x4063AA20, 0x00000002, + 0x4062D039, 0x4063AA20, 0x00000002, 0x4062D03A, 0x4063AA20, 0x00000002, + 0x4062D03B, 0x4063AA20, 0x00000002, 0x4062D03C, 0x4063AA20, 0x00000002, + 0x4062D03D, 0x4063AA20, 0x00000003, 0x4062D021, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062D022, 0x4063AA20, 0x40646420, 0x00000003, 0x4062D023, + 0x4063AA20, 0x40646420, 0x00000003, 0x4062D024, 0x4063AA20, 0x40646420, + 0x00000003, 0x4062D021, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D022, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D023, + // Block 648, offset 0xa200 + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AA20, 0x40648C20, + 0x00000003, 0x4062D025, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D026, + 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063AC20, 0x40648C20, + 0x00000003, 0x4062D022, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D023, + 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AC20, 0x40648C20, + 0x00000003, 0x4062D025, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D026, + 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063AC20, 0x40648C20, + 0x00000003, 0x4062D028, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D029, + 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063AC20, 0x40648C20, + 0x00000002, 0x4062D021, 0x4063B020, 0x00000002, 0x4062D022, 0x4063B020, + 0x00000002, 0x4062D023, 0x4063B020, 0x00000002, + // Block 649, offset 0xa240 + 0x4062D024, 0x4063B020, 0x00000002, 0x4062D025, 0x4063B020, 0x00000003, + 0x4062D021, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D022, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062D023, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062D024, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D025, 0x4063B020, + 0x40646A20, 0x00000003, 0x4062D026, 0x4063B020, 0x40646A20, 0x00000003, + 0x4062D027, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D021, 0x4063B020, + 0x40647220, 0x00000003, 0x4062D021, 0x4063B020, 0x40648220, 0x00000003, + 0x4062D022, 0x4063B020, 0x40648220, 0x00000003, 0x4062D023, 0x4063B020, + 0x40648220, 0x00000003, 0x4062D024, 0x4063B020, 0x40648220, 0x00000003, + 0x4062D025, 0x4063B020, 0x40648220, 0x00000003, 0x4062D021, 0x4063B420, + 0x40646420, 0x00000003, 0x4062D022, 0x4063B420, + // Block 650, offset 0xa280 + 0x40646420, 0x00000003, 0x4062D023, 0x4063B420, 0x40646420, 0x00000003, + 0x4062D024, 0x4063B420, 0x40646420, 0x00000003, 0x4062D025, 0x4063B420, + 0x40646420, 0x00000003, 0x4062D026, 0x4063B420, 0x40646420, 0x00000003, + 0x4062D027, 0x4063B420, 0x40646420, 0x00000003, 0x4062D028, 0x4063B420, + 0x40646420, 0x00000003, 0x4062D021, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D022, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D023, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D024, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D025, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D026, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D027, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D028, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D029, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D02A, 0x4063B420, + // Block 651, offset 0xa2c0 + 0x40646A20, 0x00000003, 0x4062D02B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D02C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D02E, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D02F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D030, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D031, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D032, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D033, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D034, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D035, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D036, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D037, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D038, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D039, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D03A, 0x4063B420, + // Block 652, offset 0xa300 + 0x40646A20, 0x00000003, 0x4062D03B, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D03C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D03E, 0x4063B420, 0x40646A20, 0x00000003, + 0x4062D03F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D040, 0x4063B420, + 0x40646A20, 0x00000003, 0x4062D021, 0x4063B420, 0x40647220, 0x00000003, + 0x4062D022, 0x4063B420, 0x40647220, 0x00000003, 0x4062D023, 0x4063B420, + 0x40647220, 0x00000003, 0x4062D024, 0x4063B420, 0x40647220, 0x00000003, + 0x4062D025, 0x4063B420, 0x40647220, 0x00000003, 0x4062D026, 0x4063B420, + 0x40647220, 0x00000003, 0x4062D021, 0x4063B420, 0x40648220, 0x00000003, + 0x4062D021, 0x4063B420, 0x40648420, 0x00000003, 0x4062D022, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D023, 0x4063B420, + // Block 653, offset 0xa340 + 0x40648420, 0x00000003, 0x4062D024, 0x4063B420, 0x40648420, 0x00000003, + 0x4062D025, 0x4063B420, 0x40648420, 0x00000003, 0x4062D026, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D027, 0x4063B420, 0x40648420, 0x00000003, + 0x4062D028, 0x4063B420, 0x40648420, 0x00000003, 0x4062D029, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648420, 0x00000003, + 0x4062D02B, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02C, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648420, 0x00000003, + 0x4062D02E, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02F, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D030, 0x4063B420, 0x40648420, 0x00000003, + 0x4062D031, 0x4063B420, 0x40648420, 0x00000003, 0x4062D032, 0x4063B420, + 0x40648420, 0x00000003, 0x4062D033, 0x4063B420, + // Block 654, offset 0xa380 + 0x40648420, 0x00000003, 0x4062D021, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D023, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D024, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D026, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D027, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D028, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D029, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D02B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02C, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D02E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D030, 0x4063B420, + // Block 655, offset 0xa3c0 + 0x40648C20, 0x00000003, 0x4062D031, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D032, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D033, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D034, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D035, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D036, 0x4063B420, + 0x40648C20, 0x00000003, 0x4062D037, 0x4063B420, 0x40648C20, 0x00000003, + 0x4062D038, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D039, 0x4063B420, + 0x40648C20, 0x00000002, 0x4062D021, 0x4063B620, 0x00000002, 0x4062D022, + 0x4063B620, 0x00000002, 0x4062D023, 0x4063B620, 0x00000002, 0x4062D024, + 0x4063B620, 0x00000002, 0x4062D025, 0x4063B620, 0x00000002, 0x4062D026, + 0x4063B620, 0x00000002, 0x4062D027, 0x4063B620, 0x00000002, 0x4062D028, + 0x4063B620, 0x00000002, 0x4062D029, 0x4063B620, + // Block 656, offset 0xa400 + 0x00000002, 0x4062D02A, 0x4063B620, 0x00000002, 0x4062D02B, 0x4063B620, + 0x00000002, 0x4062D02C, 0x4063B620, 0x00000002, 0x4062D02D, 0x4063B620, + 0x00000002, 0x4062D02E, 0x4063B620, 0x00000002, 0x4062D02F, 0x4063B620, + 0x00000002, 0x4062D030, 0x4063B620, 0x00000002, 0x4062D031, 0x4063B620, + 0x00000002, 0x4062D021, 0x4063B820, 0x00000002, 0x4062D022, 0x4063B820, + 0x00000002, 0x4062D023, 0x4063B820, 0x00000002, 0x4062D024, 0x4063B820, + 0x00000002, 0x4062D025, 0x4063B820, 0x00000002, 0x4062D026, 0x4063B820, + 0x00000002, 0x4062D027, 0x4063B820, 0x00000002, 0x4062D028, 0x4063B820, + 0x00000002, 0x4062D029, 0x4063B820, 0x00000002, 0x4062D02A, 0x4063B820, + 0x00000002, 0x4062D02B, 0x4063B820, 0x00000002, 0x4062D02C, 0x4063B820, + 0x00000002, 0x4062D02D, 0x4063B820, 0x00000002, + // Block 657, offset 0xa440 + 0x4062D02E, 0x4063B820, 0x00000002, 0x4062D02F, 0x4063B820, 0x00000002, + 0x4062D030, 0x4063B820, 0x00000002, 0x4062D031, 0x4063B820, 0x00000002, + 0x4062D032, 0x4063B820, 0x00000002, 0x4062D033, 0x4063B820, 0x00000002, + 0x4062D034, 0x4063B820, 0x00000002, 0x4062D035, 0x4063B820, 0x00000002, + 0x4062D036, 0x4063B820, 0x00000002, 0x4062D037, 0x4063B820, 0x00000002, + 0x4062D038, 0x4063B820, 0x00000002, 0x4062D039, 0x4063B820, 0x00000002, + 0x4062D03A, 0x4063B820, 0x00000002, 0x4062D03B, 0x4063B820, 0x00000002, + 0x4062D03C, 0x4063B820, 0x00000002, 0x4062D03D, 0x4063B820, 0x00000002, + 0x4062D03E, 0x4063B820, 0x00000002, 0x4062D03F, 0x4063B820, 0x00000002, + 0x4062D040, 0x4063B820, 0x00000002, 0x4062D041, 0x4063B820, 0x00000002, + 0x4062D042, 0x4063B820, 0x00000002, 0x4062D043, + // Block 658, offset 0xa480 + 0x4063B820, 0x00000002, 0x4062D044, 0x4063B820, 0x00000002, 0x4062D045, + 0x4063B820, 0x00000002, 0x4062D046, 0x4063B820, 0x00000002, 0x4062D047, + 0x4063B820, 0x00000002, 0x4062D048, 0x4063B820, 0x00000002, 0x4062D049, + 0x4063B820, 0x00000002, 0x4062D04A, 0x4063B820, 0x00000002, 0x4062D04B, + 0x4063B820, 0x00000002, 0x4062D04C, 0x4063B820, 0x00000002, 0x4062D04D, + 0x4063B820, 0x00000002, 0x4062D04E, 0x4063B820, 0x00000002, 0x4062D04F, + 0x4063B820, 0x00000002, 0x4062D050, 0x4063B820, 0x00000002, 0x4062D051, + 0x4063B820, 0x00000002, 0x4062D052, 0x4063B820, 0x00000002, 0x4062D053, + 0x4063B820, 0x00000002, 0x4062D054, 0x4063B820, 0x00000002, 0x4062D055, + 0x4063B820, 0x00000002, 0x4062D056, 0x4063B820, 0x00000002, 0x4062D057, + 0x4063B820, 0x00000002, 0x4062D058, 0x4063B820, + // Block 659, offset 0xa4c0 + 0x00000002, 0x4062D059, 0x4063B820, 0x00000002, 0x4062D05A, 0x4063B820, + 0x00000002, 0x4062D05B, 0x4063B820, 0x00000003, 0x4062D021, 0x4063B820, + 0x40646420, 0x00000003, 0x4062D022, 0x4063B820, 0x40646420, 0x00000003, + 0x4062D023, 0x4063B820, 0x40646420, 0x00000003, 0x4062D021, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062D022, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062D023, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062D025, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062D026, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062D028, 0x4063B820, 0x40646A20, 0x00000003, + 0x4062D029, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063B820, + 0x40646A20, 0x00000003, 0x4062D02B, 0x4063B820, + // Block 660, offset 0xa500 + 0x40646A20, 0x00000003, 0x4062D021, 0x4063B820, 0x40647220, 0x00000003, + 0x4062D022, 0x4063B820, 0x40647220, 0x00000003, 0x4062D023, 0x4063B820, + 0x40647220, 0x00000003, 0x4062D024, 0x4063B820, 0x40647220, 0x00000003, + 0x4062D021, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062D023, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062D024, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062D026, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062D027, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062D029, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062D02A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063B820, + 0x40648C20, 0x00000003, 0x4062D02C, 0x4063B820, + // Block 661, offset 0xa540 + 0x40648C20, 0x00000003, 0x4062D02D, 0x4063B820, 0x40648C20, 0x00000003, + 0x4062D02E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B820, + 0x40648C20, 0x00000002, 0x4062D021, 0x4063BA20, 0x00000002, 0x4062D022, + 0x4063BA20, 0x00000002, 0x4062D023, 0x4063BA20, 0x00000002, 0x4062D024, + 0x4063BA20, 0x00000002, 0x4062D025, 0x4063BA20, 0x00000002, 0x4062D026, + 0x4063BA20, 0x00000002, 0x4062D027, 0x4063BA20, 0x00000002, 0x4062D028, + 0x4063BA20, 0x00000002, 0x4062D029, 0x4063BA20, 0x00000002, 0x4062D02A, + 0x4063BA20, 0x00000002, 0x4062D02B, 0x4063BA20, 0x00000002, 0x4062D02C, + 0x4063BA20, 0x00000002, 0x4062D02D, 0x4063BA20, 0x00000002, 0x4062D02E, + 0x4063BA20, 0x00000002, 0x4062D02F, 0x4063BA20, 0x00000002, 0x4062D030, + 0x4063BA20, 0x00000002, 0x4062D031, 0x4063BA20, + // Block 662, offset 0xa580 + 0x00000002, 0x4062D032, 0x4063BA20, 0x00000002, 0x4062D033, 0x4063BA20, + 0x00000002, 0x4062D034, 0x4063BA20, 0x00000002, 0x4062D035, 0x4063BA20, + 0x00000003, 0x4062D021, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D022, + 0x4063BA20, 0x40646420, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646420, + 0x00000003, 0x4062D024, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D025, + 0x4063BA20, 0x40646420, 0x00000003, 0x4062D026, 0x4063BA20, 0x40646420, + 0x00000003, 0x4062D027, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D028, + 0x4063BA20, 0x40646420, 0x00000003, 0x4062D029, 0x4063BA20, 0x40646420, + 0x00000003, 0x4062D021, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D022, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D024, 0x4063BA20, 0x40646A20, + // Block 663, offset 0xa5c0 + 0x00000003, 0x4062D025, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D026, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D028, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D029, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D02B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02C, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D02E, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02F, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D031, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D032, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D033, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D034, 0x4063BA20, 0x40646A20, + // Block 664, offset 0xa600 + 0x00000003, 0x4062D035, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D036, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D038, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D039, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D03B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03C, + 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40646A20, + 0x00000003, 0x4062D021, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D022, + 0x4063BA20, 0x40647220, 0x00000003, 0x4062D023, 0x4063BA20, 0x40647220, + 0x00000003, 0x4062D024, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D025, + 0x4063BA20, 0x40647220, 0x00000003, 0x4062D026, 0x4063BA20, 0x40647220, + 0x00000003, 0x4062D021, 0x4063BA20, 0x40648C20, + // Block 665, offset 0xa640 + 0x00000003, 0x4062D022, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D023, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D025, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D026, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D028, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D029, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D02B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02C, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D02E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02F, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D031, 0x4063BA20, 0x40648C20, + // Block 666, offset 0xa680 + 0x00000003, 0x4062D032, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D033, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D034, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D035, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D036, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D038, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D039, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D03B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03C, + 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40648C20, + 0x00000003, 0x4062D03E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03F, + 0x4063BA20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063BE20, 0x00000002, + 0x4062D022, 0x4063BE20, 0x00000002, 0x4062D023, + // Block 667, offset 0xa6c0 + 0x4063BE20, 0x00000002, 0x4062D024, 0x4063BE20, 0x00000002, 0x4062D025, + 0x4063BE20, 0x00000002, 0x4062D026, 0x4063BE20, 0x00000002, 0x4062D027, + 0x4063BE20, 0x00000002, 0x4062D028, 0x4063BE20, 0x00000002, 0x4062D029, + 0x4063BE20, 0x00000002, 0x4062D02A, 0x4063BE20, 0x00000002, 0x4062D02B, + 0x4063BE20, 0x00000002, 0x4062D02C, 0x4063BE20, 0x00000002, 0x4062D02D, + 0x4063BE20, 0x00000002, 0x4062D02E, 0x4063BE20, 0x00000002, 0x4062D02F, + 0x4063BE20, 0x00000002, 0x4062D030, 0x4063BE20, 0x00000002, 0x4062D031, + 0x4063BE20, 0x00000002, 0x4062D032, 0x4063BE20, 0x00000002, 0x4062D033, + 0x4063BE20, 0x00000002, 0x4062D034, 0x4063BE20, 0x00000002, 0x4062D035, + 0x4063BE20, 0x00000002, 0x4062D036, 0x4063BE20, 0x00000002, 0x4062D037, + 0x4063BE20, 0x00000002, 0x4062D038, 0x4063BE20, + // Block 668, offset 0xa700 + 0x00000002, 0x4062D039, 0x4063BE20, 0x00000002, 0x4062D03A, 0x4063BE20, + 0x00000002, 0x4062D03B, 0x4063BE20, 0x00000002, 0x4062D03C, 0x4063BE20, + 0x00000002, 0x4062D03D, 0x4063BE20, 0x00000003, 0x4062D021, 0x4063BE20, + 0x40646420, 0x00000003, 0x4062D022, 0x4063BE20, 0x40646420, 0x00000003, + 0x4062D023, 0x4063BE20, 0x40646420, 0x00000003, 0x4062D021, 0x4063BE20, + 0x40648C20, 0x00000003, 0x4062D022, 0x4063BE20, 0x40648C20, 0x00000003, + 0x4062D023, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BE20, + 0x40648C20, 0x00000003, 0x4062D025, 0x4063BE20, 0x40648C20, 0x00000003, + 0x4062D026, 0x4063BE20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063C020, + 0x00000002, 0x4062D022, 0x4063C020, 0x00000002, 0x4062D023, 0x4063C020, + 0x00000002, 0x4062D024, 0x4063C020, 0x00000002, + // Block 669, offset 0xa740 + 0x4062D025, 0x4063C020, 0x00000002, 0x4062D026, 0x4063C020, 0x00000002, + 0x4062D027, 0x4063C020, 0x00000002, 0x4062D028, 0x4063C020, 0x00000002, + 0x4062D029, 0x4063C020, 0x00000002, 0x4062D02A, 0x4063C020, 0x00000002, + 0x4062D02B, 0x4063C020, 0x00000002, 0x4062D02C, 0x4063C020, 0x00000002, + 0x4062D02D, 0x4063C020, 0x00000002, 0x4062D02E, 0x4063C020, 0x00000002, + 0x4062D02F, 0x4063C020, 0x00000002, 0x4062D030, 0x4063C020, 0x00000002, + 0x4062D031, 0x4063C020, 0x00000002, 0x4062D032, 0x4063C020, 0x00000002, + 0x4062D033, 0x4063C020, 0x00000002, 0x4062D034, 0x4063C020, 0x00000002, + 0x4062D035, 0x4063C020, 0x00000002, 0x4062D021, 0x4063C220, 0x00000002, + 0x4062D022, 0x4063C220, 0x00000002, 0x4062D023, 0x4063C220, 0x00000002, + 0x4062D024, 0x4063C220, 0x00000002, 0x4062D025, + // Block 670, offset 0xa780 + 0x4063C220, 0x00000002, 0x4062D026, 0x4063C220, 0x00000002, 0x4062D027, + 0x4063C220, 0x00000002, 0x4062D028, 0x4063C220, 0x00000002, 0x4062D029, + 0x4063C220, 0x00000002, 0x4062D02A, 0x4063C220, 0x00000002, 0x4062D02B, + 0x4063C220, 0x00000002, 0x4062D02C, 0x4063C220, 0x00000002, 0x4062D02D, + 0x4063C220, 0x00000002, 0x4062D02E, 0x4063C220, 0x00000002, 0x4062D02F, + 0x4063C220, 0x00000002, 0x4062D030, 0x4063C220, 0x00000002, 0x4062D031, + 0x4063C220, 0x00000002, 0x4062D032, 0x4063C220, 0x00000002, 0x4062D033, + 0x4063C220, 0x00000002, 0x4062D034, 0x4063C220, 0x00000002, 0x4062D035, + 0x4063C220, 0x00000002, 0x4062D036, 0x4063C220, 0x00000002, 0x4062D037, + 0x4063C220, 0x00000002, 0x4062D038, 0x4063C220, 0x00000003, 0x4062D021, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D022, + // Block 671, offset 0xa7c0 + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D023, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062D024, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D025, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D026, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062D027, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D028, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D029, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062D02A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02B, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02C, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062D02D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02E, + 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02F, 0x4063C220, 0x40646A20, + 0x00000003, 0x4062D030, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D021, + 0x4063C220, 0x40647220, 0x00000003, 0x4062D021, + // Block 672, offset 0xa800 + 0x4063C220, 0x40648C20, 0x00000003, 0x4062D021, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062D022, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D023, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062D024, 0x4063C420, 0x40646A20, + 0x00000003, 0x4062D025, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D026, + 0x4063C420, 0x40646A20, 0x00000003, 0x4062D027, 0x4063C420, 0x40646A20, + 0x00000002, 0x4062D021, 0x4063C620, 0x00000002, 0x4062D022, 0x4063C620, + 0x00000002, 0x4062D023, 0x4063C620, 0x00000002, 0x4062D024, 0x4063C620, + 0x00000002, 0x4062D025, 0x4063C620, 0x00000002, 0x4062D026, 0x4063C620, + 0x00000002, 0x4062D027, 0x4063C620, 0x00000002, 0x4062D021, 0x4063C820, + 0x00000002, 0x4062D022, 0x4063C820, 0x00000002, 0x4062D023, 0x4063C820, + 0x00000002, 0x4062D024, 0x4063C820, 0x00000002, + // Block 673, offset 0xa840 + 0x4062D025, 0x4063C820, 0x00000002, 0x4062D026, 0x4063C820, 0x00000002, + 0x4062D027, 0x4063C820, 0x00000002, 0x4062D028, 0x4063C820, 0x00000002, + 0x4062D029, 0x4063C820, 0x00000002, 0x4062D02A, 0x4063C820, 0x00000002, + 0x4062D021, 0x4063CA20, 0x00000002, 0x4062D022, 0x4063CA20, 0x00000002, + 0x4062D023, 0x4063CA20, 0x00000002, 0x4062D024, 0x4063CA20, 0x00000002, + 0x4062D025, 0x4063CA20, 0x00000002, 0x4062D026, 0x4063CA20, 0x00000002, + 0x4062D027, 0x4063CA20, 0x00000002, 0x4062D028, 0x4063CA20, 0x00000002, + 0x4062D029, 0x4063CA20, 0x00000002, 0x4062D02A, 0x4063CA20, 0x00000003, + 0x4062D021, 0x4063CA20, 0x40647220, 0x00000003, 0x4062D022, 0x4063CA20, + 0x40647220, 0x00000003, 0x4062D023, 0x4063CA20, 0x40647220, 0x00000003, + 0x4062D024, 0x4063CA20, 0x40647220, 0x00000003, + // Block 674, offset 0xa880 + 0x4062D021, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D022, 0x4063CA20, + 0x40648C20, 0x00000003, 0x4062D023, 0x4063CA20, 0x40648C20, 0x00000003, + 0x4062D024, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D025, 0x4063CA20, + 0x40648C20, 0x00000003, 0x4062D026, 0x4063CA20, 0x40648C20, 0x00000003, + 0x4062D027, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063CC20, + 0x40646420, 0x00000003, 0x4062D021, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062D022, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062D024, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062D025, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D026, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062D027, 0x4063CC20, 0x40646A20, 0x00000003, + 0x4062D028, 0x4063CC20, 0x40646A20, 0x00000003, + // Block 675, offset 0xa8c0 + 0x4062D029, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063CC20, + 0x40646A20, 0x00000003, 0x4062D021, 0x4063CC20, 0x40647220, 0x00000003, + 0x4062D022, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D023, 0x4063CC20, + 0x40647220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40647220, 0x00000003, + 0x4062D025, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D026, 0x4063CC20, + 0x40647220, 0x00000003, 0x4062D027, 0x4063CC20, 0x40647220, 0x00000003, + 0x4062D028, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D029, 0x4063CC20, + 0x40647220, 0x00000003, 0x4062D021, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062D022, 0x4063CC20, 0x40648220, 0x00000003, 0x4062D023, 0x4063CC20, + 0x40648220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648220, 0x00000003, + 0x4062D021, 0x4063CC20, 0x40648420, 0x00000003, + // Block 676, offset 0xa900 + 0x4062D022, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D023, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062D025, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D026, 0x4063CC20, + 0x40648420, 0x00000003, 0x4062D027, 0x4063CC20, 0x40648420, 0x00000003, + 0x4062D028, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D021, 0x4063CC20, + 0x40648C20, 0x00000002, 0x4062D021, 0x4063CE20, 0x00000002, 0x4062D022, + 0x4063CE20, 0x00000002, 0x4062D023, 0x4063CE20, 0x00000002, 0x4062D024, + 0x4063CE20, 0x00000002, 0x4062D025, 0x4063CE20, 0x00000002, 0x4062D026, + 0x4063CE20, 0x00000002, 0x4062D027, 0x4063CE20, 0x00000002, 0x4062D028, + 0x4063CE20, 0x00000002, 0x4062D029, 0x4063CE20, 0x00000002, 0x4062D02A, + 0x4063CE20, 0x00000002, 0x4062D02B, 0x4063CE20, + // Block 677, offset 0xa940 + 0x00000002, 0x4062D02C, 0x4063CE20, 0x00000002, 0x4062D02D, 0x4063CE20, + 0x00000002, 0x4062D02E, 0x4063CE20, 0x00000002, 0x4062D02F, 0x4063CE20, + 0x00000002, 0x4062D030, 0x4063CE20, 0x00000002, 0x4062D031, 0x4063CE20, + 0x00000002, 0x4062D032, 0x4063CE20, 0x00000002, 0x4062D033, 0x4063CE20, + 0x00000002, 0x4062D034, 0x4063CE20, 0x00000002, 0x4062D035, 0x4063CE20, + 0x00000002, 0x4062D036, 0x4063CE20, 0x00000002, 0x4062D037, 0x4063CE20, + 0x00000002, 0x4062D038, 0x4063CE20, 0x00000002, 0x4062D039, 0x4063CE20, + 0x00000002, 0x4062D03A, 0x4063CE20, 0x00000002, 0x4062D03B, 0x4063CE20, + 0x00000002, 0x4062D03C, 0x4063CE20, 0x00000002, 0x4062D03D, 0x4063CE20, + 0x00000002, 0x4062D03E, 0x4063CE20, 0x00000002, 0x4062D03F, 0x4063CE20, + 0x00000003, 0x4062D021, 0x4063D020, 0x40647220, + // Block 678, offset 0xa980 + 0x00000003, 0x4062D022, 0x4063D020, 0x40647220, 0x00000003, 0x4062D023, + 0x4063D020, 0x40647220, 0x00000003, 0x4062D024, 0x4063D020, 0x40647220, + 0x00000003, 0x4062D025, 0x4063D020, 0x40647220, 0x00000003, 0x4062D026, + 0x4063D020, 0x40647220, 0x00000002, 0x40403C20, 0xA070F102, 0x00000002, + 0x402D9A22, 0xAE603202, 0x00000002, 0x002D9AC3, 0xAE603202, 0x00000002, + 0x402D9A22, 0xAE603502, 0x00000002, 0x002D9AC3, 0xAE603502, 0x00000002, + 0x402D9A22, 0xAE603C02, 0x00000002, 0x002D9AC3, 0xAE603C02, 0x00000002, + 0x402D9A22, 0xAE604302, 0x00000002, 0x402D9A22, 0xAE604702, 0x00000002, + 0x002D9AC3, 0xAE604702, 0x00000002, 0x402D9A22, 0xAE604E02, 0x00000002, + 0x002D9AC3, 0xAE604E02, 0x00000002, 0x402D9A22, 0xAE605202, 0x00000002, + 0x002D9AC3, 0xAE605202, 0x00000002, 0x402D9A22, + // Block 679, offset 0xa9c0 + 0xAE605B02, 0x00000002, 0x002D9AC3, 0xAE605B02, 0x00000002, 0x402D9A22, + 0xAE606402, 0x00000002, 0x002D9AC3, 0xAE606402, 0x00000002, 0x402D9A22, + 0xADC07002, 0x00000002, 0x002D9AC3, 0xADC07002, 0x00000002, 0x40306C22, + 0xAE604702, 0x00000002, 0x00306CC3, 0xAE604702, 0x00000002, 0x40302A20, + 0xAE605202, 0x00000002, 0x00302A83, 0xAE605202, 0x00000002, 0x40442221, + 0x82092248, 0x00000002, 0x004422A3, 0x82092248, 0x00000002, 0x40443E21, + 0x82092248, 0x00000002, 0x00443EA3, 0x82092248, 0x00000002, 0x00444883, + 0x82092248, 0x00000002, 0x40444821, 0x82092248, 0x00000002, 0x004448A3, + 0x82092248, 0x00000002, 0x40445421, 0x82092248, 0x00000002, 0x40445821, + 0x82092248, 0x00000002, 0x004458A3, 0x82092248, 0x00000002, 0x40445A21, + 0x82092248, 0x00000002, 0x00445AA3, 0x82092248, + // Block 680, offset 0xaa00 + 0x00000002, 0x40446621, 0x82092248, 0x00000002, 0x004466A3, 0x82092248, + 0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6894, 0xA0007D14, + 0x00000005, 0x404E6020, 0x404E8420, 0x404E2420, 0x8209278B, 0x404F3020, + 0x00000006, 0x404E6A20, 0x8209278B, 0x404E6A20, 0x404EEE20, 0x404E7220, + 0x8209278B, 0x00000006, 0x404E6A21, 0x40510E20, 0x404EE620, 0x404EEE20, + 0x404E1420, 0x8209278B, 0x00000004, 0x404E8C21, 0x40510A20, 0x404EFE20, + 0x404F2E20, 0x00000006, 0x404E9420, 0x404E1420, 0x8209278B, 0x404E8220, + 0x404E1420, 0x8209278B, 0x00000005, 0x404E9420, 0x404E1420, 0x8209278B, + 0x404E8820, 0x404EDE20, 0x0000000A, 0x404E9421, 0x404E4820, 0x8209278B, + 0x404F3020, 0x404E1420, 0x404EFE20, 0x404EDE20, 0x404E2420, 0x8209278B, + 0x404F3020, 0x00000003, 0x404EA620, 0x404E8420, + // Block 681, offset 0xaa40 + 0x404EEA20, 0x00000003, 0x404EA620, 0x8209278A, 0x404EA620, 0x00000002, + 0x004EC283, 0x404EE620, 0x00000002, 0x404EC221, 0x404EE620, 0x00000002, + 0x004EC283, 0x404EEA20, 0x00000002, 0x004EC283, 0x404EEE20, 0x00000003, + 0x004EC283, 0x404EEE20, 0x404F0C20, 0x00000002, 0x004EC283, 0x404EF420, + 0x00000002, 0x004EC283, 0x404EFE20, 0x00000002, 0x004EC284, 0x404EFE20, + 0x00000003, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A, + // Block 682, offset 0xaa80 + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + // Block 683, offset 0xaac0 + 0x404E2220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E2420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E2420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E2420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E2420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E2820, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E2820, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E2820, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E2820, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E2E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E2E20, 0x8209278A, 0x00000005, 0x004EC283, + // Block 684, offset 0xab00 + 0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A, + // Block 685, offset 0xab40 + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + // Block 686, offset 0xab80 + 0x404E4E20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E5220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E5220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E5220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E5220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E5620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E5620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E5620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E5620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E5A20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E5A20, 0x8209278A, 0x00000005, 0x004EC283, + // Block 687, offset 0xabc0 + 0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A, + // Block 688, offset 0xac00 + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + // Block 689, offset 0xac40 + 0x404E6A20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E7220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E7220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E7220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E7220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E7420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E7420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E7420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E7420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404E7E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404E7E20, 0x8209278A, 0x00000005, 0x004EC283, + // Block 690, offset 0xac80 + 0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC284, + 0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC283, + 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A, + // Block 691, offset 0xacc0 + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A, + 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278B, + 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + // Block 692, offset 0xad00 + 0x404E9420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404EA620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404EA620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404EA620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404EA620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404EAA20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404EAA20, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x404EAA20, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, + 0x404EAA20, 0x8209278B, 0x00000004, 0x004EC283, 0x404EFE20, 0x404EDE20, + 0x8209278B, 0x00000006, 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, + 0x404E1420, 0x40510420, 0x00000002, 0x402C9A20, + // Block 693, offset 0xad40 + 0xAE603202, 0x00000002, 0x002C9A83, 0xAE603202, 0x00000002, 0x402C9A20, + 0xAE603502, 0x00000002, 0x002C9A83, 0xAE603502, 0x00000002, 0x402C9A20, + 0xAE604E02, 0x00000002, 0x002C9A83, 0xAE604E02, 0x00000002, 0x402C9A20, + 0xAE606402, 0x00000002, 0x002C9A83, 0xAE606402, 0x00000002, 0x402C9A20, + 0xADC07002, 0x00000002, 0x002C9A83, 0xADC07002, 0x00000002, 0x402EE420, + 0xAE603202, 0x00000002, 0x002EE483, 0xAE603202, 0x00000002, 0x402EE420, + 0xAE603502, 0x00000002, 0x002EE483, 0xAE603502, 0x00000002, 0x402EE420, + 0xAE606402, 0x00000002, 0x002EE483, 0xAE606402, 0x00000002, 0x402EE420, + 0xADC07002, 0x00000002, 0x002EE483, 0xADC07002, 0x00000002, 0x40411620, + 0xA000FA02, 0x00000002, 0x40411E20, 0xA000FA02, 0x00000002, 0x40412020, + 0xA000FA02, 0x00000002, 0x40412A20, 0xA000FA02, + // Block 694, offset 0xad80 + 0x00000002, 0x40414620, 0xA000FA02, 0x00000002, 0x40415420, 0xA000FA02, + 0x00000002, 0x403A6822, 0xAE60BE02, 0x00000002, 0x003A7C84, 0x00391C84, + 0x00000002, 0x003A7C9A, 0x00391C9A, 0x00000002, 0x40320820, 0xAE603202, + 0x00000002, 0x00320883, 0xAE603202, 0x00000002, 0x40320A20, 0xAE603202, + 0x00000002, 0x00320A83, 0xAE603202, 0x00000002, 0x40320A20, 0xAE605B02, + 0x00000002, 0x00320A83, 0xAE605B02, 0x00000002, 0x40320E21, 0xAE603702, + 0x00000002, 0x00320EA3, 0xAE603702, 0x00000002, 0x40320E21, 0xAE603C02, + 0x00000002, 0x00320EA3, 0xAE603C02, 0x00000002, 0x40321022, 0xAE603202, + 0x00000002, 0x003210C3, 0xAE603202, 0x00000002, 0x40321022, 0xAE604702, + 0x00000002, 0x003210C3, 0xAE604702, 0x00000002, 0x40321022, 0xAE605B02, + 0x00000002, 0x003210C3, 0xAE605B02, 0x00000002, + // Block 695, offset 0xadc0 + 0x40321022, 0xAD806802, 0x00000002, 0x003210C3, 0xAD806802, 0x00000002, + 0x40321023, 0xAE603502, 0x00000002, 0x003210E3, 0xAE603502, 0x00000002, + 0x40321023, 0xAE604E02, 0x00000002, 0x003210E3, 0xAE604E02, 0x00000002, + 0x40321023, 0xAE606402, 0x00000002, 0x003210E3, 0xAE606402, 0x00000002, + 0x40321023, 0xADC07002, 0x00000002, 0x003210E3, 0xADC07002, 0x00000002, + 0x40321024, 0xAE605B02, 0x00000002, 0x00321103, 0xAE605B02, 0x00000002, + 0x402C6020, 0xAE603202, 0x00000002, 0x002C6083, 0xAE603202, 0x00000002, + 0x40321024, 0xAE603202, 0x00000002, 0x00321103, 0xAE603202, 0x00000002, + 0x40321024, 0xAE603502, 0x00000002, 0x00321103, 0xAE603502, 0x00000002, + 0x40321024, 0xAE604E02, 0x00000002, 0x00321103, 0xAE604E02, 0x00000002, + 0x40321024, 0xAE606402, 0x00000002, 0x00321103, + // Block 696, offset 0xae00 + 0xAE606402, 0x00000002, 0x40321024, 0xADC07002, 0x00000002, 0x00321103, + 0xADC07002, 0x00000002, 0x0030BE83, 0xAE604E02, 0x00000002, 0x0030BE83, + 0xADC07002, 0x00000002, 0x00497283, 0x40496C20, 0x00000002, 0x00497284, + 0x40496C20, 0x00000002, 0x402BDE21, 0xAE603702, 0x00000002, 0x002BDEA3, + 0xAE603702, 0x00000002, 0x402BDE21, 0xAE603C02, 0x00000002, 0x002BDEA3, + 0xAE603C02, 0x00000002, 0x402BDE21, 0xAE604302, 0x00000002, 0x002BDEA3, + 0xAE604302, 0x00000002, 0x402BDE22, 0xAE604702, 0x00000002, 0x002BDEC3, + 0xAE604702, 0x00000002, 0x402BDE22, 0xAE605202, 0x00000002, 0x002BDEC3, + 0xAE605202, 0x00000002, 0x402C9821, 0xAE603C02, 0x00000002, 0x002C98A3, + 0xAE603C02, 0x00000002, 0x402C9822, 0xAE603202, 0x00000002, 0x002C98C3, + 0xAE603202, 0x00000002, 0x402C9822, 0xAE603502, + // Block 697, offset 0xae40 + 0x00000002, 0x002C98C3, 0xAE603502, 0x00000002, 0x402D9A21, 0xAE604702, + 0x00000002, 0x002D9AA3, 0xAE604702, 0x00000002, 0x402EE221, 0xAE603C02, + 0x00000002, 0x002EE2A3, 0xAE603C02, 0x00000002, 0x402EE221, 0xAE604E02, + 0x00000002, 0x002EE2A3, 0xAE604E02, 0x00000002, 0x402EE221, 0xAD806802, + 0x00000002, 0x002EE2A3, 0xAD806802, 0x00000002, 0x402EE222, 0xAE603202, + 0x00000002, 0x002EE2C3, 0xAE603202, 0x00000002, 0x402EE222, 0xAE603502, + 0x00000002, 0x002EE2C3, 0xAE603502, 0x00000002, 0x402EE222, 0xAE604702, + 0x00000002, 0x002EE2C3, 0xAE604702, 0x00000002, 0x402EE222, 0xAE604E02, + 0x00000002, 0x002EE2C3, 0xAE604E02, 0x00000002, 0x402EE222, 0xAE605202, + 0x00000002, 0x002EE2C3, 0xAE605202, 0x00000002, 0x402EE222, 0xACA05902, + 0x00000002, 0x002EE2C3, 0xACA05902, 0x00000002, + // Block 698, offset 0xae80 + 0x40306C21, 0xAE604702, 0x00000002, 0x00306CA3, 0xAE604702, 0x00000002, + 0x40306C21, 0xAE604E02, 0x00000002, 0x00306CA3, 0xAE604E02, 0x00000002, + 0x40306C21, 0xAD806802, 0x00000002, 0x00306CA3, 0xAD806802, 0x00000002, + 0xA000AD18, 0xA000BA18, 0x00000002, 0x00393C97, 0x00396497, 0x00000002, + 0x00393C9A, 0x0039649A, 0x00000002, 0x00393C97, 0x00397297, 0x00000002, + 0x00393C9A, 0x0039729A, 0x00000002, 0x00393C97, 0x00397497, 0x00000002, + 0x00393C9A, 0x0039749A, 0x00000002, 0x00393C99, 0x0039A499, 0x00000002, + 0x00393C99, 0x0039A699, 0x00000002, 0x00393C97, 0x003A4E97, 0x00000002, + 0x00393C98, 0x003A4E98, 0x00000002, 0x00393C99, 0x003A4E99, 0x00000002, + 0x00393C9A, 0x003A4E9A, 0x00000002, 0x00393C99, 0x003A5699, 0x00000002, + 0x00395697, 0x00396497, 0x00000002, 0x0039569A, + // Block 699, offset 0xaec0 + 0x0039649A, 0x00000002, 0x00395697, 0x00397297, 0x00000002, 0x0039569A, + 0x0039729A, 0x00000002, 0x00395697, 0x00397497, 0x00000002, 0x0039569A, + 0x0039749A, 0x00000002, 0x00395699, 0x0039A499, 0x00000002, 0x00395699, + 0x0039A699, 0x00000002, 0x00395697, 0x003A4E97, 0x00000002, 0x00395698, + 0x003A4E98, 0x00000002, 0x00395699, 0x003A4E99, 0x00000002, 0x0039569A, + 0x003A4E9A, 0x00000002, 0x00395699, 0x003A5699, 0x00000002, 0x0039589A, + 0x0039649A, 0x00000002, 0x00395899, 0x0039A499, 0x00000002, 0x00395899, + 0x0039A699, 0x00000002, 0x00395897, 0x003A4E97, 0x00000002, 0x00395898, + 0x003A4E98, 0x00000002, 0x00395899, 0x003A4E99, 0x00000002, 0x0039589A, + 0x003A4E9A, 0x00000002, 0x00395899, 0x003A5699, 0x00000002, 0x00396497, + 0x00397297, 0x00000002, 0x0039649A, 0x0039729A, + // Block 700, offset 0xaf00 + 0x00000002, 0x00396497, 0x003A4E97, 0x00000002, 0x0039649A, 0x003A4E9A, + 0x00000002, 0x00397297, 0x00396497, 0x00000002, 0x0039729A, 0x0039649A, + 0x00000002, 0x00397297, 0x003A4E97, 0x00000002, 0x0039729A, 0x003A4E9A, + 0x00000002, 0x00397497, 0x00396497, 0x00000002, 0x0039749A, 0x0039649A, + 0x00000002, 0x0039749A, 0x0039729A, 0x00000002, 0x00397497, 0x003A4E97, + 0x00000002, 0x0039749A, 0x003A4E9A, 0x00000002, 0x00398A9A, 0xA000D11A, + 0x00000002, 0x0039A49A, 0xA000D11A, 0x00000002, 0x0039C697, 0x00396497, + 0x00000002, 0x0039C698, 0x00396498, 0x00000002, 0x0039C69A, 0x0039649A, + 0x00000002, 0x0039C697, 0x00397297, 0x00000002, 0x0039C698, 0x00397298, + 0x00000002, 0x0039C69A, 0x0039729A, 0x00000002, 0x0039C697, 0x00397497, + 0x00000002, 0x0039C698, 0x00397498, 0x00000002, + // Block 701, offset 0xaf40 + 0x0039C69A, 0x0039749A, 0x00000002, 0x0039C699, 0x0039A499, 0x00000002, + 0x0039C69A, 0x0039A49A, 0x00000002, 0x0039C697, 0x003A4E97, 0x00000002, + 0x0039C698, 0x003A4E98, 0x00000002, 0x0039C69A, 0x003A4E9A, 0x00000002, + 0x0039C897, 0x00396497, 0x00000002, 0x0039C898, 0x00396498, 0x00000002, + 0x0039C899, 0x00396499, 0x00000002, 0x0039C89A, 0x0039649A, 0x00000002, + 0x0039C897, 0x00397297, 0x00000002, 0x0039C898, 0x00397298, 0x00000002, + 0x0039C899, 0x00397299, 0x00000002, 0x0039C89A, 0x0039729A, 0x00000002, + 0x0039C897, 0x00397497, 0x00000002, 0x0039C898, 0x00397498, 0x00000002, + 0x0039C899, 0x00397499, 0x00000002, 0x0039C89A, 0x0039749A, 0x00000002, + 0x0039C899, 0x0039A499, 0x00000002, 0x0039C89A, 0x0039A49A, 0x00000002, + 0x0039C897, 0x003A4E97, 0x00000002, 0x0039C898, + // Block 702, offset 0xaf80 + 0x003A4E98, 0x00000002, 0x0039C899, 0x003A4E99, 0x00000002, 0x0039C89A, + 0x003A4E9A, 0x00000002, 0x0039DC97, 0x00397297, 0x00000002, 0x0039DC9A, + 0x0039729A, 0x00000002, 0x0039DC97, 0x00397497, 0x00000002, 0x0039DC99, + 0x0039A499, 0x00000002, 0x0039DC9A, 0x0039A49A, 0x00000002, 0x0039DC97, + 0x003A4E97, 0x00000002, 0x0039DC9A, 0x003A4E9A, 0x00000002, 0x0039DE97, + 0x00396497, 0x00000002, 0x0039DE9A, 0x0039649A, 0x00000002, 0x0039DE97, + 0x00397297, 0x00000002, 0x0039DE9A, 0x0039729A, 0x00000002, 0x0039DE97, + 0x00397497, 0x00000002, 0x0039DE9A, 0x0039749A, 0x00000002, 0x0039DE99, + 0x0039A499, 0x00000002, 0x0039DE9A, 0x0039A49A, 0x00000002, 0x0039DE97, + 0x003A4E97, 0x00000002, 0x0039DE9A, 0x003A4E9A, 0x00000002, 0x0039E697, + 0x00397297, 0x00000002, 0x0039E69A, 0x0039729A, + // Block 703, offset 0xafc0 + 0x00000002, 0x0039E697, 0x003A4E97, 0x00000002, 0x0039E698, 0x003A4E98, + 0x00000002, 0x0039E69A, 0x003A4E9A, 0x00000002, 0x0039E897, 0x003A4E97, + 0x00000002, 0x0039E898, 0x003A4E98, 0x00000002, 0x0039E89A, 0x003A4E9A, + 0x00000002, 0x0039EE97, 0x00396497, 0x00000002, 0x0039EE9A, 0x0039649A, + 0x00000002, 0x0039EE97, 0x003A4E97, 0x00000002, 0x0039EE9A, 0x003A4E9A, + 0x00000002, 0x0039F097, 0x00396497, 0x00000002, 0x0039F09A, 0x0039649A, + 0x00000002, 0x0039F097, 0x003A4E97, 0x00000002, 0x0039F09A, 0x003A4E9A, + 0x00000002, 0x0039FC97, 0x00396497, 0x00000002, 0x0039FC9A, 0x0039649A, + 0x00000002, 0x0039FC97, 0x00397297, 0x00000002, 0x0039FC9A, 0x0039729A, + 0x00000002, 0x0039FC97, 0x00397497, 0x00000002, 0x0039FC9A, 0x0039749A, + 0x00000002, 0x0039FC97, 0x003A4E97, 0x00000002, + // Block 704, offset 0xb000 + 0x0039FC9A, 0x003A4E9A, 0x00000002, 0x003A1297, 0x00397297, 0x00000002, + 0x003A129A, 0x0039729A, 0x00000002, 0x003A1297, 0x003A4E97, 0x00000002, + 0x003A129A, 0x003A4E9A, 0x00000002, 0x003A4099, 0x00393899, 0x00000002, + 0x003A409A, 0x0039389A, 0x00000002, 0x003A4097, 0x00396497, 0x00000002, + 0x003A409A, 0x0039649A, 0x00000002, 0x003A4097, 0x00397297, 0x00000002, + 0x003A409A, 0x0039729A, 0x00000002, 0x003A4097, 0x00397497, 0x00000002, + 0x003A409A, 0x0039749A, 0x00000002, 0x003A4097, 0x003A4E97, 0x00000002, + 0x003A4098, 0x003A4E98, 0x00000002, 0x003A4099, 0x003A4E99, 0x00000002, + 0x003A409A, 0x003A4E9A, 0x00000002, 0x003A4E99, 0x00393899, 0x00000002, + 0x003A4E97, 0x00396497, 0x00000002, 0x003A4E9A, 0x0039649A, 0x00000002, + 0x003A4E97, 0x00397297, 0x00000002, 0x003A4E9A, + // Block 705, offset 0xb040 + 0x0039729A, 0x00000002, 0x003A4E97, 0x00397497, 0x00000002, 0x003A4E9A, + 0x0039749A, 0x00000002, 0x003A4E97, 0x003A4E97, 0x00000002, 0x003A4E99, + 0x003A4E99, 0x00000002, 0x003A4E9A, 0x003A4E9A, 0x00000002, 0x003A5697, + 0x00396497, 0x00000002, 0x003A569A, 0x0039649A, 0x00000002, 0x003A5697, + 0x00397297, 0x00000002, 0x003A569A, 0x0039729A, 0x00000002, 0x003A5697, + 0x00397497, 0x00000002, 0x003A569A, 0x0039749A, 0x00000002, 0x003A5699, + 0x0039A499, 0x00000002, 0x003A5699, 0x0039A699, 0x00000002, 0x003A5697, + 0x003A4E97, 0x00000002, 0x003A5698, 0x003A4E98, 0x00000002, 0x003A5699, + 0x003A4E99, 0x00000002, 0x003A569A, 0x003A4E9A, 0x00000002, 0x003A5699, + 0x003A5699, 0x00000002, 0x403A7220, 0xA000C602, 0x00000002, 0x003A7484, + 0x00391C84, 0x00000002, 0xAE604702, 0xAE603802, + // Block 706, offset 0xb080 + 0x00000002, 0x40062C20, 0xAE603802, 0x00000002, 0x40063620, 0xAE603802, + 0x00000002, 0x40063820, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603602, + 0x00000002, 0x002BDE88, 0xAE603602, 0x00000002, 0x402BDE20, 0xAE603702, + 0x00000002, 0x002BDE88, 0xAE603702, 0x00000002, 0x402BDE20, 0xAE603802, + 0x00000002, 0x002BDE88, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603902, + 0x00000002, 0x002BDE88, 0xAE603902, 0x00000003, 0x402BDE20, 0xAE604302, + 0xAE603802, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603802, 0x00000004, + 0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603802, 0x00000004, 0x002BDE8A, + 0xA0013904, 0x002C988A, 0xAE603802, 0x00000002, 0x402BE020, 0xAE603602, + 0x00000002, 0x002BE083, 0xAE603602, 0x00000002, 0x402BE020, 0xAE603702, + 0x00000002, 0x002BE083, 0xAE603702, 0x00000002, + // Block 707, offset 0xb0c0 + 0x402BE020, 0xAE603802, 0x00000002, 0x002BE083, 0xAE603802, 0x00000002, + 0x402BE020, 0xAE603902, 0x00000002, 0x002BE083, 0xAE603902, 0x00000002, + 0x402BE220, 0xAE603602, 0x00000002, 0x002BE283, 0xAE603602, 0x00000002, + 0x402BE220, 0xAE603702, 0x00000002, 0x002BE283, 0xAE603702, 0x00000002, + 0x402BE220, 0xAE603802, 0x00000002, 0x002BE283, 0xAE603802, 0x00000002, + 0x402BE220, 0xAE603902, 0x00000002, 0x002BE283, 0xAE603902, 0x00000002, + 0x402C0A20, 0xAE603902, 0x00000002, 0x002C0A88, 0xAE603902, 0x00000002, + 0x402C3A20, 0xAE603802, 0x00000002, 0x002C3A88, 0xAE603802, 0x00000003, + 0x402C3A20, 0xACA05602, 0xAE603802, 0x00000003, 0x002C3A88, 0xACA05602, + 0xAE603802, 0x00000002, 0x402C6220, 0xAE603902, 0x00000002, 0x002C6288, + 0xAE603902, 0x00000002, 0x402C9820, 0xAE603602, + // Block 708, offset 0xb100 + 0x00000002, 0x002C9888, 0xAE603602, 0x00000002, 0x402C9820, 0xAE603702, + 0x00000002, 0x002C9888, 0xAE603702, 0x00000002, 0x402C9820, 0xAE603802, + 0x00000002, 0x002C9888, 0xAE603802, 0x00000002, 0x402C9820, 0xAE603902, + 0x00000002, 0x002C9888, 0xAE603902, 0x00000003, 0x402C9820, 0xAE605B02, + 0xAE603802, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603802, 0x00000002, + 0x402C9A20, 0xAE603602, 0x00000002, 0x002C9A83, 0xAE603602, 0x00000002, + 0x402C9A20, 0xAE603702, 0x00000002, 0x002C9A83, 0xAE603702, 0x00000002, + 0x402C9A20, 0xAE603802, 0x00000002, 0x002C9A83, 0xAE603802, 0x00000002, + 0x402C9A20, 0xAE603902, 0x00000002, 0x002C9A83, 0xAE603902, 0x00000002, + 0x402D2220, 0xAE603802, 0x00000002, 0x002D2288, 0xAE603802, 0x00000002, + 0x402D6820, 0xAE603902, 0x00000002, 0x002D6888, + // Block 709, offset 0xb140 + 0xAE603902, 0x00000002, 0x402D9A20, 0xAE603602, 0x00000002, 0x002D9A88, + 0xAE603602, 0x00000002, 0x402D9A20, 0xAE603702, 0x00000002, 0x002D9A88, + 0xAE603702, 0x00000002, 0x402D9A20, 0xAE603802, 0x00000002, 0x002D9A88, + 0xAE603802, 0x00000002, 0x402D9A20, 0xAE603902, 0x00000002, 0x002D9A88, + 0xAE603902, 0x00000003, 0x402D9A20, 0xAE604702, 0xAE603802, 0x00000003, + 0x002D9A88, 0xAE604702, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603802, + 0x00000002, 0x002DFE88, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603902, + 0x00000002, 0x002DFE88, 0xAE603902, 0x00000002, 0x402E2220, 0xAE603802, + 0x00000002, 0x002E2288, 0xAE603802, 0x00000002, 0x402E2220, 0xAE603902, + 0x00000002, 0x002E2288, 0xAE603902, 0x00000003, 0x402E2220, 0xAE603902, + 0xAE605B02, 0x00000003, 0x002E2288, 0xAE603902, + // Block 710, offset 0xb180 + 0xAE605B02, 0x00000002, 0x402E8220, 0xAE603802, 0x00000002, 0x002E8288, + 0xAE603802, 0x00000002, 0x402E8220, 0xAE603902, 0x00000002, 0x002E8288, + 0xAE603902, 0x00000002, 0x402E9E20, 0xAE603702, 0x00000002, 0x002E9E88, + 0xAE603702, 0x00000002, 0x402E9E20, 0xAE603802, 0x00000002, 0x002E9E88, + 0xAE603802, 0x00000002, 0x402E9E20, 0xAE603902, 0x00000002, 0x002E9E88, + 0xAE603902, 0x00000002, 0x402EE220, 0xAE603602, 0x00000002, 0x002EE288, + 0xAE603602, 0x00000002, 0x402EE220, 0xAE603702, 0x00000002, 0x002EE288, + 0xAE603702, 0x00000003, 0x402EE220, 0xAE603702, 0xAE603802, 0x00000003, + 0x002EE288, 0xAE603702, 0xAE603802, 0x00000003, 0x402EE220, 0xAE603702, + 0xAE604702, 0x00000003, 0x002EE288, 0xAE603702, 0xAE604702, 0x00000003, + 0x402EE220, 0xAE603702, 0xAE605B02, 0x00000003, + // Block 711, offset 0xb1c0 + 0x002EE288, 0xAE603702, 0xAE605B02, 0x00000002, 0x402EE220, 0xAE603802, + 0x00000002, 0x002EE288, 0xAE603802, 0x00000002, 0x402EE220, 0xAE603902, + 0x00000002, 0x002EE288, 0xAE603902, 0x00000003, 0x402EE220, 0xA0005402, + 0xAE603802, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603802, 0x00000003, + 0x402EE220, 0xAE605B02, 0xAE603802, 0x00000003, 0x002EE288, 0xAE605B02, + 0xAE603802, 0x00000002, 0x402EE420, 0xAE603602, 0x00000002, 0x002EE483, + 0xAE603602, 0x00000002, 0x402EE420, 0xAE603702, 0x00000002, 0x002EE483, + 0xAE603702, 0x00000002, 0x402EE420, 0xAE603802, 0x00000002, 0x002EE483, + 0xAE603802, 0x00000002, 0x402EE420, 0xAE603902, 0x00000002, 0x002EE483, + 0xAE603902, 0x00000002, 0x402EE620, 0xAE603502, 0x00000002, 0x002EE683, + 0xAE603502, 0x00000002, 0x402EE620, 0xAE603602, + // Block 712, offset 0xb200 + 0x00000002, 0x002EE683, 0xAE603602, 0x00000002, 0x402EE620, 0xAE603702, + 0x00000002, 0x002EE683, 0xAE603702, 0x00000002, 0x402EE620, 0xAE603802, + 0x00000002, 0x002EE683, 0xAE603802, 0x00000002, 0x402EE620, 0xAE603902, + 0x00000002, 0x002EE683, 0xAE603902, 0x00000002, 0x402F2C20, 0xAE603802, + 0x00000002, 0x002F2C88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603802, + 0x00000002, 0x002F7A88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603902, + 0x00000002, 0x002F7A88, 0xAE603902, 0x00000003, 0x402F7A20, 0xAE603902, + 0xAE605B02, 0x00000003, 0x002F7A88, 0xAE603902, 0xAE605B02, 0x00000002, + 0x402FE620, 0xAE603802, 0x00000002, 0x002FE688, 0xAE603802, 0x00000003, + 0x402FE620, 0xAE603802, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603802, + 0xAE605202, 0x00000002, 0x402FE620, 0xAE603902, + // Block 713, offset 0xb240 + 0x00000002, 0x002FE688, 0xAE603902, 0x00000003, 0x402FE620, 0xAE603902, + 0xAE605202, 0x00000003, 0x002FE688, 0xAE603902, 0xAE605202, 0x00000002, + 0x40302C20, 0xAE603902, 0x00000002, 0x00302C88, 0xAE603902, 0x00000002, + 0x40306C20, 0xAE603602, 0x00000002, 0x00306C88, 0xAE603602, 0x00000002, + 0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702, 0x00000003, + 0x40306C20, 0xAE603702, 0xAE603802, 0x00000003, 0x00306C88, 0xAE603702, + 0xAE603802, 0x00000002, 0x40306C20, 0xAE603802, 0x00000002, 0x00306C88, + 0xAE603802, 0x00000002, 0x40306C20, 0xAE603902, 0x00000002, 0x00306C88, + 0xAE603902, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603802, 0x00000003, + 0x00306C88, 0xAE604702, 0xAE603802, 0x00000002, 0x40306E20, 0xAE603602, + 0x00000002, 0x00306E83, 0xAE603602, 0x00000002, + // Block 714, offset 0xb280 + 0x40306E20, 0xAE603702, 0x00000002, 0x00306E83, 0xAE603702, 0x00000002, + 0x40306E20, 0xAE603802, 0x00000002, 0x00306E83, 0xAE603802, 0x00000002, + 0x40306E20, 0xAE603902, 0x00000002, 0x00306E83, 0xAE603902, 0x00000002, + 0x4030BE20, 0xAE603702, 0x00000002, 0x0030BE88, 0xAE603702, 0x00000002, + 0x4030BE20, 0xAE603902, 0x00000002, 0x0030BE88, 0xAE603902, 0x00000002, + 0x4030E220, 0xAE603802, 0x00000002, 0x0030E288, 0xAE603802, 0x00000002, + 0x4030E220, 0xAE603902, 0x00000002, 0x0030E288, 0xAE603902, 0x00000002, + 0x40310020, 0xAE603602, 0x00000002, 0x00310088, 0xAE603602, 0x00000002, + 0x40310020, 0xAE603702, 0x00000002, 0x00310088, 0xAE603702, 0x00000002, + 0x40310020, 0xAE603802, 0x00000002, 0x00310088, 0xAE603802, 0x00000002, + 0x40310020, 0xAE603902, 0x00000002, 0x00310088, + // Block 715, offset 0xb2c0 + 0xAE603902, 0x00000002, 0x40312A20, 0xAE603802, 0x00000002, 0x00312A88, + 0xAE603802, 0x00000002, 0x40312A20, 0xAE603902, 0x00000002, 0x00312A88, + 0xAE603902, 0x00000003, 0x40325220, 0xAE602202, 0xAE603802, 0x00000003, + 0x00325288, 0xAE602202, 0xAE603802, 0x00000004, 0x40325220, 0xAE602202, + 0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603802, + 0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603802, 0x00000003, + 0x00325288, 0xAE602A02, 0xAE603802, 0x00000004, 0x40325220, 0xAE602A02, + 0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603802, + 0xAF007F02, 0x00000002, 0x40325220, 0xAE603802, 0x00000002, 0x00325288, + 0xAE603802, 0x00000003, 0x40325220, 0xAE603802, 0xAF007F02, 0x00000003, + 0x40325C20, 0xAE602202, 0xAE603802, 0x00000003, + // Block 716, offset 0xb300 + 0x00325C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40325C20, 0xAE602A02, + 0xAE603802, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603802, 0x00000002, + 0x40325C20, 0xAE603802, 0x00000002, 0x00325C88, 0xAE603802, 0x00000003, + 0x40326820, 0xAE602202, 0xAE603802, 0x00000003, 0x00326888, 0xAE602202, + 0xAE603802, 0x00000004, 0x40326820, 0xAE602202, 0xAE603802, 0xAF007F02, + 0x00000004, 0x00326888, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003, + 0x40326820, 0xAE602A02, 0xAE603802, 0x00000003, 0x00326888, 0xAE602A02, + 0xAE603802, 0x00000004, 0x40326820, 0xAE602A02, 0xAE603802, 0xAF007F02, + 0x00000004, 0x00326888, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002, + 0x40326820, 0xAE603802, 0x00000002, 0x00326888, 0xAE603802, 0x00000003, + 0x40326820, 0xAE603802, 0xAF007F02, 0x00000003, + // Block 717, offset 0xb340 + 0x40326C20, 0xAE602202, 0xAE603802, 0x00000003, 0x00326C88, 0xAE602202, + 0xAE603802, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603802, 0x00000003, + 0x00326C88, 0xAE602A02, 0xAE603802, 0x00000002, 0x40326C20, 0xAE603802, + 0x00000002, 0x00326C88, 0xAE603802, 0x00000003, 0x40326C20, 0xAE604702, + 0xAE603802, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603802, 0x00000003, + 0x00327C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40327C20, 0xAE602A02, + 0xAE603802, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603802, 0x00000002, + 0x40327C20, 0xAE603802, 0x00000002, 0x00327C88, 0xAE603802, 0x00000003, + 0x40329820, 0xAE602202, 0xAE603802, 0x00000003, 0x40329820, 0xAE602A02, + 0xAE603802, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603802, 0x00000002, + 0x40329820, 0xAE603802, 0x00000002, 0x00329888, + // Block 718, offset 0xb380 + 0xAE603802, 0x00000003, 0x40329820, 0xAE604702, 0xAE603802, 0x00000003, + 0x4032A220, 0xAE602202, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602202, + 0xAE603802, 0x00000004, 0x4032A220, 0xAE602202, 0xAE603802, 0xAF007F02, + 0x00000004, 0x0032A288, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003, + 0x4032A220, 0xAE602A02, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602A02, + 0xAE603802, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603802, 0xAF007F02, + 0x00000004, 0x0032A288, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002, + 0x4032A220, 0xAE603802, 0x00000002, 0x0032A288, 0xAE603802, 0x00000003, + 0x4032A220, 0xAE603802, 0xAF007F02, 0x00000002, 0x402BDE20, 0xAE603202, + 0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE603202, + 0x00000002, 0x402EE220, 0xAE603202, 0x00000002, + // Block 719, offset 0xb3c0 + 0x40306C20, 0xAE603202, 0x00000002, 0x402C9A20, 0xAE603C02, 0x00000002, + 0x002C9A83, 0xAE603C02, 0x00000003, 0x0003F483, 0x6C030A20, 0x4003F620, + 0x00000003, 0x0003F483, 0x6C110E20, 0x4003F620, 0x00000003, 0x0003F483, + 0x6C272220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C37B420, 0x4003F620, + 0x00000003, 0x0003F483, 0x6C549820, 0x4003F620, 0x00000003, 0x0003F483, + 0x6C5D8420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C61F420, 0x4003F620, + 0x00000003, 0x0003F483, 0x6C64CA20, 0x4003F620, 0x00000003, 0x0003F483, + 0x6C6C2E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C6F9A20, 0x4003F620, + 0x00000003, 0x0003F483, 0x6C814020, 0x4003F620, 0x00000003, 0x0003F483, + 0x6C8F2420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C9FE620, 0x4003F620, + 0x00000003, 0x0003F483, 0x6CA25C20, 0x4003F620, + // Block 720, offset 0xb400 + 0x00000003, 0x0003F483, 0x6CB4C620, 0x4003F620, 0x00000003, 0x0003F483, + 0x6CB6C820, 0x4003F620, 0x00000003, 0x0003F483, 0x6CC63620, 0x4003F620, + 0x00000003, 0x0003F483, 0x6CC9F220, 0x4003F620, 0x00000003, 0x0003F483, + 0x6CCF3620, 0x4003F620, 0x00000003, 0x0003F483, 0x6CD22420, 0x4003F620, + 0x00000003, 0x0003F483, 0x6CD70220, 0x4003F620, 0x00000003, 0x0003F483, + 0x6CD87420, 0x4003F620, 0x00000003, 0x0003F483, 0x6CE27020, 0x4003F620, + 0x00000003, 0x0003F483, 0x6CE91020, 0x4003F620, 0x00000003, 0x0003F483, + 0x6CF41420, 0x4003F620, 0x00000003, 0x0003F483, 0x6D007020, 0x4003F620, + 0x00000003, 0x0003F483, 0x6D04B220, 0x4003F620, 0x00000003, 0x0003F483, + 0x6D08F820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D13B620, 0x4003F620, + 0x00000003, 0x0003F483, 0x6D1F9820, 0x4003F620, + // Block 721, offset 0xb440 + 0x00000003, 0x0003F483, 0x6D266820, 0x4003F620, 0x00000003, 0x0003F483, + 0x6D357020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D399220, 0x4003F620, + 0x00000003, 0x0003F483, 0x6D3AC620, 0x4003F620, 0x00000003, 0x0003F483, + 0x6D3E6020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D3F2A20, 0x4003F620, + 0x00000003, 0x0004B083, 0x6C011220, 0x4004B220, 0x00000003, 0x0004B083, + 0x6C044020, 0x4004B220, 0x00000003, 0x0004B083, 0x6C079220, 0x4004B220, + 0x00000003, 0x0004B083, 0x6C26E020, 0x4004B220, 0x00000003, 0x0004B083, + 0x6C2A1220, 0x4004B220, 0x00000003, 0x0004B083, 0x6C2D0A20, 0x4004B220, + 0x00000003, 0x0004B083, 0x6C37B420, 0x4004B220, 0x00000003, 0x0004B083, + 0x6CC9F220, 0x4004B220, 0x00000003, 0x0004B083, 0x6CD16420, 0x4004B220, + 0x00000003, 0x0029CE83, 0x4029CC20, 0x6C2D0A20, + // Block 722, offset 0xb480 + 0x00000003, 0x0029CE83, 0x4029CC20, 0x6CC63620, 0x00000003, 0x0029CE83, + 0x4029CC20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C2D0A20, + 0x00000003, 0x0029CE83, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029CE83, + 0x4029CE20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C2D0A20, + 0x00000003, 0x0029CE83, 0x4029D020, 0x6CC63620, 0x00000003, 0x0029CE83, + 0x4029D020, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C2D0A20, + 0x00000003, 0x0029CE83, 0x4029D220, 0x6CC63620, 0x00000003, 0x0029CE83, + 0x4029D420, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029D420, 0x6CC63620, + 0x00000003, 0x0029CE83, 0x4029D620, 0x6C2D0A20, 0x00000003, 0x0029CE83, + 0x4029D620, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C2D0A20, + 0x00000003, 0x0029CE83, 0x4029D820, 0x6CC63620, + // Block 723, offset 0xb4c0 + 0x00000003, 0x0029CE83, 0x4029DA20, 0x6C2D0A20, 0x00000003, 0x0029CE83, + 0x4029DA20, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C2D0A20, + 0x00000003, 0x0029CE83, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029CE83, + 0x4029DE20, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029DE20, 0x6CC63620, + 0x00000003, 0x0029D083, 0x4029CC20, 0x6C2D0A20, 0x00000003, 0x0029D083, + 0x4029CC20, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C2D0A20, + 0x00000003, 0x0029D083, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029D083, + 0x4029D020, 0x6C2D0A20, 0x00000003, 0x0029D083, 0x4029D020, 0x6CC63620, + 0x00000003, 0x0029D083, 0x4029D220, 0x6C2D0A20, 0x00000003, 0x0029D083, + 0x4029D220, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C2D0A20, + 0x00000003, 0x0029D083, 0x4029D420, 0x6CC63620, + // Block 724, offset 0xb500 + 0x00000003, 0x0029D083, 0x4029D620, 0x6CC63620, 0x00000003, 0x0029D083, + 0x4029D820, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6CC63620, + 0x00000003, 0x0029D083, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029D083, + 0x4029DE20, 0x6CC63620, 0x00000003, 0x0029D283, 0x4029CC20, 0x6CC63620, + 0x00000003, 0x0029D283, 0x4029CE20, 0x6CC63620, 0x00000002, 0x402BDE1C, + 0xAE604702, 0x00000002, 0x002BDE03, 0xAE604702, 0x00000002, 0x402BDE1C, + 0xAE605202, 0x00000002, 0x002BDE03, 0xAE605202, 0x00000002, 0x402BDE1D, + 0xAE603702, 0x00000002, 0x002BDE23, 0xAE603702, 0x00000002, 0x402BDE1D, + 0xAE603C02, 0x00000002, 0x002BDE23, 0xAE603C02, 0x00000002, 0x402BDE1D, + 0xAE604302, 0x00000002, 0x002BDE23, 0xAE604302, 0x00000002, 0x402BDE1F, + 0xAE603702, 0x00000002, 0x002BDE63, 0xAE603702, + // Block 725, offset 0xb540 + 0x00000002, 0x402BDE1F, 0xAE603C02, 0x00000002, 0x002BDE63, 0xAE603C02, + 0x00000002, 0x402C981C, 0xAE603202, 0x00000002, 0x002C9803, 0xAE603202, + 0x00000002, 0x402C981C, 0xAE603502, 0x00000002, 0x002C9803, 0xAE603502, + 0x00000002, 0x402D9A1D, 0xAE604702, 0x00000002, 0x002D9A23, 0xAE604702, + 0x00000002, 0x402EE21C, 0xAE603202, 0x00000002, 0x002EE203, 0xAE603202, + 0x00000002, 0x402EE21C, 0xAE603502, 0x00000002, 0x002EE203, 0xAE603502, + 0x00000002, 0x402EE21C, 0xAE604702, 0x00000002, 0x002EE203, 0xAE604702, + 0x00000002, 0x402EE21C, 0xAE604E02, 0x00000002, 0x002EE203, 0xAE604E02, + 0x00000002, 0x402EE21C, 0xAE605202, 0x00000002, 0x002EE203, 0xAE605202, + 0x00000002, 0x402EE21C, 0xACA05902, 0x00000002, 0x002EE203, 0xACA05902, + 0x00000002, 0x402EE21D, 0xAE603C02, 0x00000002, + // Block 726, offset 0xb580 + 0x002EE223, 0xAE603C02, 0x00000002, 0x402EE21D, 0xAE604E02, 0x00000002, + 0x002EE223, 0xAE604E02, 0x00000002, 0x402EE21D, 0xAD806802, 0x00000002, + 0x002EE223, 0xAD806802, 0x00000002, 0x402EE21F, 0xAE603C02, 0x00000002, + 0x002EE263, 0xAE603C02, 0x00000002, 0x402EE21F, 0xAD806802, 0x00000002, + 0x002EE263, 0xAD806802, 0x00000002, 0x40306C1C, 0xAE604702, 0x00000002, + 0x00306C03, 0xAE604702, 0x00000002, 0x40306C1D, 0xAE604E02, 0x00000002, + 0x00306C23, 0xAE604E02, 0x00000002, 0x40306C1D, 0xAD806802, 0x00000002, + 0x00306C23, 0xAD806802, 0x00000002, 0x40306C1F, 0xAD806802, 0x00000002, + 0x00306C63, 0xAD806802, 0x00000004, 0x2D399283, 0x6CD2FC20, 0x6C5B8A20, + 0x6CCF3620, 0x00000003, 0x0003F483, 0x6C000220, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C003620, 0x4003F620, 0x00000003, + // Block 727, offset 0xb5c0 + 0x0003F483, 0x6C006220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C007420, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C008820, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C00B620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C00DC20, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C018420, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C028820, 0x4003F620, 0x00000003, 0x0003F483, 0x6C02D820, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C049620, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C049C20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C049E20, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C04C620, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C04D020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C05E620, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C079020, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C0BA020, 0x4003F620, 0x00000003, + // Block 728, offset 0xb600 + 0x0003F483, 0x6C0BC020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C0E3E20, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C127420, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C147E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C148220, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C185220, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C2BB220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C2CA220, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C2FD820, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C3CEE20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C41DC20, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C741620, 0x4003F620, 0x00000003, + 0x0003F483, 0x6C791620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C7DE020, + 0x4003F620, 0x00000003, 0x0003F483, 0x6C86F020, 0x4003F620, 0x00000003, + 0x0003F483, 0x6CA6A420, 0x4003F620, 0x00000003, + // Block 729, offset 0xb640 + 0x0003F483, 0x6D0F3820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D2EFA20, + 0x4003F620, 0x00000003, 0x0004B083, 0x6C007420, 0x4004B220, 0x00000003, + 0x0004B083, 0x6C00DC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6C093E20, + 0x4004B220, 0x00000003, 0x0004B083, 0x6C096620, 0x4004B220, 0x00000003, + 0x0004B083, 0x6C0FC420, 0x4004B220, 0x00000003, 0x0004B083, 0x6C555C20, + 0x4004B220, 0x00000003, 0x0004B083, 0x6C9AC020, 0x4004B220, 0x00000003, + 0x0004B083, 0x6CA4CC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6CB9B020, + 0x4004B220, 0x00000003, 0x0029CE83, 0x4029CC20, 0x6C049620, 0x00000003, + 0x0029CE83, 0x4029CC20, 0x6C049C20, 0x00000003, 0x0029CE83, 0x4029CC20, + 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C049620, 0x00000003, + 0x0029CE83, 0x4029CE20, 0x6C049C20, 0x00000003, + // Block 730, offset 0xb680 + 0x0029CE83, 0x4029CE20, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D020, + 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C049C20, 0x00000003, + 0x0029CE83, 0x4029D020, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D220, + 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C555C20, 0x00000003, + 0x0029CE83, 0x4029D420, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D420, + 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D620, 0x6C049620, 0x00000003, + 0x0029CE83, 0x4029D620, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D820, + 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C555C20, 0x00000003, + 0x0029CE83, 0x4029DA20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DA20, + 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C049620, 0x00000003, + 0x0029CE83, 0x4029DC20, 0x6C555C20, 0x00000003, + // Block 731, offset 0xb6c0 + 0x0029CE83, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DE20, + 0x6C555C20, 0x00000003, 0x0029D083, 0x4029CC20, 0x6C049620, 0x00000003, + 0x0029D083, 0x4029CC20, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029CE20, + 0x6C049620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C555C20, 0x00000003, + 0x0029D083, 0x4029D020, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D020, + 0x6C555C20, 0x00000003, 0x0029D083, 0x4029D220, 0x6C049620, 0x00000003, + 0x0029D083, 0x4029D220, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029D420, + 0x6C049620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C555C20, 0x00000003, + 0x0029D083, 0x4029D620, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D820, + 0x6C049620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6C049620, 0x00000003, + 0x0029D083, 0x4029DC20, 0x6C049620, 0x00000003, + // Block 732, offset 0xb700 + 0x0029D083, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029D283, 0x4029CC20, + 0x6C049620, 0x00000003, 0x0029D283, 0x4029CE20, 0x6C049620, 0x00000004, + 0x2C741683, 0x6C111820, 0x6C0BD220, 0x6C3CEE20, +} + +// mainContractElem: 4120 entries, 16480 bytes +var mainContractElem = [4120]uint32{ + // Block 0, offset 0x0 + 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x002E2288, 0xE0000D01, 0xE0000D01, + 0x40332220, 0x40332A20, 0x40333220, 0x00332288, 0x00332A88, 0x00333288, + 0x40333A20, 0x40334220, 0x00333A88, 0x00334288, 0x40336220, 0x4033A220, + 0x4033A220, 0x00336288, 0x0033A288, 0x0033A288, 0x4033B220, 0x4033BA20, + 0x0033B288, 0x0033BA88, 0x4033CA20, 0x4033D420, 0x0033CA88, 0x0033D488, + 0x4033E420, 0x4033F220, 0x0033E488, 0x0033F288, 0x40341420, 0x40343E20, + 0x40342420, 0x00341488, 0x00343E88, 0x00342488, 0x40342C20, 0x40343620, + 0x00342C88, 0x00343688, 0x4034EE20, 0x4034F620, 0x0034EE88, 0x0034F688, + 0x4034FE20, 0x40350620, 0x0034FE88, 0x00350688, 0x40345020, 0x40356A20, + 0x40356A20, 0x00345088, 0x00356A88, 0x00356A88, 0x40357220, 0x40357A20, + 0x40358220, 0x40358A20, 0x00357288, 0x00357A88, + // Block 1, offset 0x40 + 0x00358288, 0x00358A88, 0x40361820, 0x40362220, 0x00361888, 0x00362288, + 0x40367E20, 0x40368620, 0x00367E88, 0x00368688, 0x4036A820, 0x4036B020, + 0x0036A888, 0x0036B088, 0x40371420, 0x40371C20, 0x00371488, 0x00371C88, + 0x40393820, 0x40391E20, 0x40392020, 0x40392820, 0x403A7420, 0x40392620, + 0x403A9020, 0x40393020, 0x4040F020, 0x4040F420, 0x4040F620, 0x40426E20, + 0x40427220, 0x40427020, 0x40427420, 0x40429020, 0x40429420, 0x4042D020, + 0x4042D620, 0x4042DA20, 0x4042D220, 0x4042D820, 0x40435E20, 0x40436220, + 0x4043E020, 0x4043E220, 0x4043F020, 0x4043F820, 0x4043F620, 0x4043F220, + 0x4043F420, 0x4043F620, 0x4043F820, 0x40448220, 0x40448820, 0x40448C20, + 0x40448420, 0x40448A20, 0x40451E20, 0x40452620, 0x40452020, 0x40452420, + 0x40452820, 0x40452420, 0x40452620, 0x40498420, + // Block 2, offset 0x80 + 0xE0001881, 0xE0001890, 0xE000189F, 0xE00018AE, 0xE00018BD, 0xE00018CC, + 0xE00018DB, 0xE00018EA, 0xE00018F9, 0xE0001908, 0xE0001917, 0xE0001926, + 0xE0001935, 0xE0001944, 0xE0001953, 0xE0001962, 0xE0001971, 0xE0001980, + 0xE000198F, 0xE000199E, 0xE00019AD, 0xE00019BC, 0xE00019CB, 0xE00019DA, + 0xE00019E9, 0xE00019F8, 0xE0001A07, 0xE0001A16, 0xE0001A25, 0xE0001A34, + 0xE0001A43, 0xE0001A52, 0xE0001A61, 0xE0001A70, 0xE0001A7F, 0xE0001A8E, + 0xE0001A9D, 0xE0001AAC, 0xE0001ABB, 0xE0001ACA, 0xE0001AD9, 0xE0001AE8, + 0xE0001AF7, 0xE0001B06, 0xE0001B15, 0xE0001B24, 0x40498620, 0xE0001884, + 0xE0001893, 0xE00018A2, 0xE00018B1, 0xE00018C0, 0xE00018CF, 0xE00018DE, + 0xE00018ED, 0xE00018FC, 0xE000190B, 0xE000191A, 0xE0001929, 0xE0001938, + 0xE0001947, 0xE0001956, 0xE0001965, 0xE0001974, + // Block 3, offset 0xc0 + 0xE0001983, 0xE0001992, 0xE00019A1, 0xE00019B0, 0xE00019BF, 0xE00019CE, + 0xE00019DD, 0xE00019EC, 0xE00019FB, 0xE0001A0A, 0xE0001A19, 0xE0001A28, + 0xE0001A37, 0xE0001A46, 0xE0001A55, 0xE0001A64, 0xE0001A73, 0xE0001A82, + 0xE0001A91, 0xE0001AA0, 0xE0001AAF, 0xE0001ABE, 0xE0001ACD, 0xE0001ADC, + 0xE0001AEB, 0xE0001AFA, 0xE0001B09, 0xE0001B18, 0xE0001B27, 0x40498820, + 0xE0001887, 0xE0001896, 0xE00018A5, 0xE00018B4, 0xE00018C3, 0xE00018D2, + 0xE00018E1, 0xE00018F0, 0xE00018FF, 0xE000190E, 0xE000191D, 0xE000192C, + 0xE000193B, 0xE000194A, 0xE0001959, 0xE0001968, 0xE0001977, 0xE0001986, + 0xE0001995, 0xE00019A4, 0xE00019B3, 0xE00019C2, 0xE00019D1, 0xE00019E0, + 0xE00019EF, 0xE00019FE, 0xE0001A0D, 0xE0001A1C, 0xE0001A2B, 0xE0001A3A, + 0xE0001A49, 0xE0001A58, 0xE0001A67, 0xE0001A76, + // Block 4, offset 0x100 + 0xE0001A85, 0xE0001A94, 0xE0001AA3, 0xE0001AB2, 0xE0001AC1, 0xE0001AD0, + 0xE0001ADF, 0xE0001AEE, 0xE0001AFD, 0xE0001B0C, 0xE0001B1B, 0xE0001B2A, + 0x40498A20, 0xE000188A, 0xE0001899, 0xE00018A8, 0xE00018B7, 0xE00018C6, + 0xE00018D5, 0xE00018E4, 0xE00018F3, 0xE0001902, 0xE0001911, 0xE0001920, + 0xE000192F, 0xE000193E, 0xE000194D, 0xE000195C, 0xE000196B, 0xE000197A, + 0xE0001989, 0xE0001998, 0xE00019A7, 0xE00019B6, 0xE00019C5, 0xE00019D4, + 0xE00019E3, 0xE00019F2, 0xE0001A01, 0xE0001A10, 0xE0001A1F, 0xE0001A2E, + 0xE0001A3D, 0xE0001A4C, 0xE0001A5B, 0xE0001A6A, 0xE0001A79, 0xE0001A88, + 0xE0001A97, 0xE0001AA6, 0xE0001AB5, 0xE0001AC4, 0xE0001AD3, 0xE0001AE2, + 0xE0001AF1, 0xE0001B00, 0xE0001B0F, 0xE0001B1E, 0xE0001B2D, 0x40498C20, + 0xE000188D, 0xE000189C, 0xE00018AB, 0xE00018BA, + // Block 5, offset 0x140 + 0xE00018C9, 0xE00018D8, 0xE00018E7, 0xE00018F6, 0xE0001905, 0xE0001914, + 0xE0001923, 0xE0001932, 0xE0001941, 0xE0001950, 0xE000195F, 0xE000196E, + 0xE000197D, 0xE000198C, 0xE000199B, 0xE00019AA, 0xE00019B9, 0xE00019C8, + 0xE00019D7, 0xE00019E6, 0xE00019F5, 0xE0001A04, 0xE0001A13, 0xE0001A22, + 0xE0001A31, 0xE0001A40, 0xE0001A4F, 0xE0001A5E, 0xE0001A6D, 0xE0001A7C, + 0xE0001A8B, 0xE0001A9A, 0xE0001AA9, 0xE0001AB8, 0xE0001AC7, 0xE0001AD6, + 0xE0001AE5, 0xE0001AF4, 0xE0001B03, 0xE0001B12, 0xE0001B21, 0xE0001B30, + 0xA0010502, 0x40497420, 0x4049E620, 0xE0001B42, 0xE0001B51, 0xE0001B60, + 0xE0001B6F, 0xE0001B7E, 0xE0001B9C, 0xE0001BBA, 0xE0001BC9, 0xE0001BD8, + 0xE0001BE7, 0xE0001BF6, 0xE0001C05, 0xE0001C14, 0xE0001C23, 0xE0001C32, + 0xE0001C41, 0xE0001C50, 0xE0001C5F, 0xE0001C6E, + // Block 6, offset 0x180 + 0xE0001C7D, 0xE0001C8C, 0xE0001C9B, 0xE0001CAA, 0xE0001B8D, 0xE0001CE1, + 0xE0001CF0, 0xE0001CFF, 0xE0001CB9, 0xE0001CCD, 0xE0001B33, 0xE0001BAB, + 0x4049E820, 0xE0001B45, 0xE0001B54, 0xE0001B63, 0xE0001B72, 0xE0001B81, + 0xE0001B9F, 0xE0001BBD, 0xE0001BCC, 0xE0001BDB, 0xE0001BEA, 0xE0001BF9, + 0xE0001C08, 0xE0001C17, 0xE0001C26, 0xE0001C35, 0xE0001C44, 0xE0001C53, + 0xE0001C62, 0xE0001C71, 0xE0001C80, 0xE0001C8F, 0xE0001C9E, 0xE0001CAD, + 0xE0001B90, 0xE0001CE4, 0xE0001CF3, 0xE0001D02, 0xE0001CBD, 0xE0001CD1, + 0xE0001B36, 0xE0001BAE, 0x4049EA20, 0xE0001B48, 0xE0001B57, 0xE0001B66, + 0xE0001B75, 0xE0001B84, 0xE0001BA2, 0xE0001BC0, 0xE0001BCF, 0xE0001BDE, + 0xE0001BED, 0xE0001BFC, 0xE0001C0B, 0xE0001C1A, 0xE0001C29, 0xE0001C38, + 0xE0001C47, 0xE0001C56, 0xE0001C65, 0xE0001C74, + // Block 7, offset 0x1c0 + 0xE0001C83, 0xE0001C92, 0xE0001CA1, 0xE0001CB0, 0xE0001B93, 0xE0001CE7, + 0xE0001CF6, 0xE0001D05, 0xE0001CC1, 0xE0001CD5, 0xE0001B39, 0xE0001BB1, + 0x4049EC20, 0xE0001B4B, 0xE0001B5A, 0xE0001B69, 0xE0001B78, 0xE0001B87, + 0xE0001BA5, 0xE0001BC3, 0xE0001BD2, 0xE0001BE1, 0xE0001BF0, 0xE0001BFF, + 0xE0001C0E, 0xE0001C1D, 0xE0001C2C, 0xE0001C3B, 0xE0001C4A, 0xE0001C59, + 0xE0001C68, 0xE0001C77, 0xE0001C86, 0xE0001C95, 0xE0001CA4, 0xE0001CB3, + 0xE0001B96, 0xE0001CEA, 0xE0001CF9, 0xE0001D08, 0xE0001CC5, 0xE0001CD9, + 0xE0001B3C, 0xE0001BB4, 0x4049EE20, 0xE0001B4E, 0xE0001B5D, 0xE0001B6C, + 0xE0001B7B, 0xE0001B8A, 0xE0001BA8, 0xE0001BC6, 0xE0001BD5, 0xE0001BE4, + 0xE0001BF3, 0xE0001C02, 0xE0001C11, 0xE0001C20, 0xE0001C2F, 0xE0001C3E, + 0xE0001C4D, 0xE0001C5C, 0xE0001C6B, 0xE0001C7A, + // Block 8, offset 0x200 + 0xE0001C89, 0xE0001C98, 0xE0001CA7, 0xE0001CB6, 0xE0001B99, 0xE0001CED, + 0xE0001CFC, 0xE0001D0B, 0xE0001CC9, 0xE0001CDD, 0xE0001B3F, 0xE0001BB7, + 0xA0010B02, 0x4049D220, 0x404A5A20, 0xE0001D0E, 0xE0001D1D, 0xE0001D2C, + 0xE0001D3B, 0xE0001D4A, 0xE0001D59, 0xE0001D68, 0xE0001D77, 0xE0001D86, + 0xE0001D95, 0xE0001DA4, 0xE0001DB3, 0xE0001DC2, 0xE0001DD1, 0xE0001DE0, + 0xE0001DEF, 0xE0001DFE, 0xE0001E0D, 0xE0001E1C, 0xE0001E2B, 0xE0001E3A, + 0xE0001E49, 0xE0001E58, 0xE0001E67, 0xE0001E76, 0xE0001E85, 0xE0001E94, + 0xE0001EA3, 0xE0001EB2, 0xE0001EC1, 0xE0001ED0, 0xE0001EDF, 0xE0001EEE, + 0xE0001EFD, 0xE0001F0C, 0xE0001F1B, 0xE0001F2A, 0xE0001F39, 0xE0001F48, + 0xE0001F57, 0xE0001F66, 0xE0001F75, 0xE0001F84, 0xE0001F93, 0xE0001FA2, + 0xE0001FB1, 0xE0001FC0, 0xE0001FCF, 0x404A5C20, + // Block 9, offset 0x240 + 0xE0001D11, 0xE0001D20, 0xE0001D2F, 0xE0001D3E, 0xE0001D4D, 0xE0001D5C, + 0xE0001D6B, 0xE0001D7A, 0xE0001D89, 0xE0001D98, 0xE0001DA7, 0xE0001DB6, + 0xE0001DC5, 0xE0001DD4, 0xE0001DE3, 0xE0001DF2, 0xE0001E01, 0xE0001E10, + 0xE0001E1F, 0xE0001E2E, 0xE0001E3D, 0xE0001E4C, 0xE0001E5B, 0xE0001E6A, + 0xE0001E79, 0xE0001E88, 0xE0001E97, 0xE0001EA6, 0xE0001EB5, 0xE0001EC4, + 0xE0001ED3, 0xE0001EE2, 0xE0001EF1, 0xE0001F00, 0xE0001F0F, 0xE0001F1E, + 0xE0001F2D, 0xE0001F3C, 0xE0001F4B, 0xE0001F5A, 0xE0001F69, 0xE0001F78, + 0xE0001F87, 0xE0001F96, 0xE0001FA5, 0xE0001FB4, 0xE0001FC3, 0xE0001FD2, + 0x404A6220, 0xE0001D14, 0xE0001D23, 0xE0001D32, 0xE0001D41, 0xE0001D50, + 0xE0001D5F, 0xE0001D6E, 0xE0001D7D, 0xE0001D8C, 0xE0001D9B, 0xE0001DAA, + 0xE0001DB9, 0xE0001DC8, 0xE0001DD7, 0xE0001DE6, + // Block 10, offset 0x280 + 0xE0001DF5, 0xE0001E04, 0xE0001E13, 0xE0001E22, 0xE0001E31, 0xE0001E40, + 0xE0001E4F, 0xE0001E5E, 0xE0001E6D, 0xE0001E7C, 0xE0001E8B, 0xE0001E9A, + 0xE0001EA9, 0xE0001EB8, 0xE0001EC7, 0xE0001ED6, 0xE0001EE5, 0xE0001EF4, + 0xE0001F03, 0xE0001F12, 0xE0001F21, 0xE0001F30, 0xE0001F3F, 0xE0001F4E, + 0xE0001F5D, 0xE0001F6C, 0xE0001F7B, 0xE0001F8A, 0xE0001F99, 0xE0001FA8, + 0xE0001FB7, 0xE0001FC6, 0xE0001FD5, 0x404A6620, 0xE0001D17, 0xE0001D26, + 0xE0001D35, 0xE0001D44, 0xE0001D53, 0xE0001D62, 0xE0001D71, 0xE0001D80, + 0xE0001D8F, 0xE0001D9E, 0xE0001DAD, 0xE0001DBC, 0xE0001DCB, 0xE0001DDA, + 0xE0001DE9, 0xE0001DF8, 0xE0001E07, 0xE0001E16, 0xE0001E25, 0xE0001E34, + 0xE0001E43, 0xE0001E52, 0xE0001E61, 0xE0001E70, 0xE0001E7F, 0xE0001E8E, + 0xE0001E9D, 0xE0001EAC, 0xE0001EBB, 0xE0001ECA, + // Block 11, offset 0x2c0 + 0xE0001ED9, 0xE0001EE8, 0xE0001EF7, 0xE0001F06, 0xE0001F15, 0xE0001F24, + 0xE0001F33, 0xE0001F42, 0xE0001F51, 0xE0001F60, 0xE0001F6F, 0xE0001F7E, + 0xE0001F8D, 0xE0001F9C, 0xE0001FAB, 0xE0001FBA, 0xE0001FC9, 0xE0001FD8, + 0x404A6820, 0xE0001D1A, 0xE0001D29, 0xE0001D38, 0xE0001D47, 0xE0001D56, + 0xE0001D65, 0xE0001D74, 0xE0001D83, 0xE0001D92, 0xE0001DA1, 0xE0001DB0, + 0xE0001DBF, 0xE0001DCE, 0xE0001DDD, 0xE0001DEC, 0xE0001DFB, 0xE0001E0A, + 0xE0001E19, 0xE0001E28, 0xE0001E37, 0xE0001E46, 0xE0001E55, 0xE0001E64, + 0xE0001E73, 0xE0001E82, 0xE0001E91, 0xE0001EA0, 0xE0001EAF, 0xE0001EBE, + 0xE0001ECD, 0xE0001EDC, 0xE0001EEB, 0xE0001EFA, 0xE0001F09, 0xE0001F18, + 0xE0001F27, 0xE0001F36, 0xE0001F45, 0xE0001F54, 0xE0001F63, 0xE0001F72, + 0xE0001F81, 0xE0001F90, 0xE0001F9F, 0xE0001FAE, + // Block 12, offset 0x300 + 0xE0001FBD, 0xE0001FCC, 0xE0001FDB, 0x404AEA20, 0xE000200E, 0xE0002011, + 0x404B2620, 0x404B2420, 0x404B2620, 0x404AF020, 0xE0002014, 0xE0002017, + 0x404B2A20, 0x404B2820, 0x404B2A20, 0x8281258B, 0x8281258D, 0x82812591, + 0x8281258F, 0x404ECA20, 0x404ECC20, 0x404F9C20, 0x404F9620, 0x404F9E20, + 0x404F9820, 0x40522620, 0x40522820, 0x40522A20, 0x40522C20, 0x40522E20, + 0x40523020, 0x40523220, 0x40523420, 0x40523620, 0x40523820, 0x40523E20, + 0x40524020, 0x40529C20, 0x40529E20, 0x4052A020, 0x4052A220, 0x4052A420, + 0x4052A820, 0x4052A620, 0x4052AA20, 0x4052AC20, 0x4052AE20, 0x4040B620, + 0x4040B420, 0x40409820, 0x4040DC20, 0x402C3A20, 0x402C3C20, 0x002C3A88, + 0x002C3C83, 0x402D2220, 0x402D2420, 0x002D2288, 0x002D2483, 0x002D9883, + 0x002D9A83, 0x402EE220, 0x402EE420, 0x002EE288, + // Block 13, offset 0x340 + 0x002EE483, 0x402FE620, 0x402FE820, 0x002FE688, 0x002FE883, 0x40306C20, + 0x40306E20, 0x00306C88, 0x00306E83, 0x4033B220, 0x4033BA20, 0x4033B420, + 0x0033B288, 0x0033BA88, 0x0033B483, 0x402E2220, 0x402E2221, 0x402E2221, + 0x002E2288, 0x002E22A3, 0x002E22A3, 0x402C3A20, 0x402C3C20, 0x002D6A83, + 0x402D6A20, 0x002C3A88, 0x002C3C83, 0x002D6A85, 0x002D6A84, 0x402F7A20, + 0x402F7C20, 0x002F7A88, 0x002F7C83, 0x40312A20, 0x40312C20, 0x00312A88, + 0x00312C83, 0x002C3A88, 0x002C3C84, 0x002C3C83, 0x402C6220, 0x402C6420, + 0x002C6288, 0x002C6484, 0x002C6483, 0x402D0820, 0x402D0A20, 0x002D0888, + 0x002D0A84, 0x002D0A83, 0x402E9E20, 0x402D2420, 0x002E9E88, 0x002D2484, + 0x002D2483, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288, + 0xE0000D01, 0xE0000D01, 0x002E2484, 0x002E2483, + // Block 14, offset 0x380 + 0x402F2C20, 0x402F2E20, 0x002F2C88, 0x002F2E84, 0x002F2E83, 0x002F7A88, + 0x002F7C84, 0x002F7C83, 0x40302C20, 0x40302E20, 0x00302C88, 0x00302E84, + 0x00302E83, 0x40306C20, 0x40310021, 0x40310022, 0x00306C88, 0x003100A3, + 0x003100C3, 0x402BDE20, 0x40320C21, 0x40321020, 0x00321084, 0x002BDE88, + 0x00320CA3, 0x00321083, 0x00321086, 0x00321085, 0x402C9820, 0x40320C22, + 0x002C9888, 0x00320CC3, 0x402EE220, 0x40320E21, 0x40320E22, 0x002EE288, + 0x00320EA3, 0x00320EC3, 0x402BDE20, 0xE00029B8, 0x002BDE88, 0xE00029BB, + 0x402EE220, 0xE00029C6, 0x002EE288, 0xE00029C9, 0x40306C20, 0xE00029DC, + 0x00306C88, 0xE00029DF, 0xAE611302, 0x404A7621, 0x404A7C21, 0x404AB020, + 0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404ADA20, + 0x404A8220, 0x404A8420, 0xE0002A26, 0xE0002A2B, + // Block 15, offset 0x3c0 + 0x404A8620, 0x404A8820, 0x404A8A20, 0x404A8C20, 0x404A8E20, 0x404A9020, + 0x404A9220, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20, + 0x404A8620, 0x404A8820, 0xE0002A30, 0xE0002A35, 0x404A8A20, 0x404A8C20, + 0x404A8E20, 0x404A9020, 0x404ABA20, 0x404ABC20, 0xE0002A3A, 0xE0002A3F, + 0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820, + 0x404ACA20, 0x404AD620, 0x404AD820, 0x404AC220, 0x404AC420, 0xE0002A44, + 0xE0002A49, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20, 0x404ACE20, + 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20, + 0x404ADC20, 0x404AC620, 0x404AC820, 0xE0002A4E, 0xE0002A53, 0x404ACA20, + 0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, + 0x404AD820, 0x404ADC20, 0x404A7820, 0x404AC020, + // Block 16, offset 0x400 + 0x404A9E20, 0xE0002A5E, 0xE0002A63, 0x404AA020, 0x404AA220, 0x404AA420, + 0x404AA620, 0x404AA820, 0x404AAA20, 0x404AAC20, 0x004AA283, 0x404AAE20, + 0x404AB020, 0x404AB220, 0x404ACC20, 0xE0002A68, 0xE0002A6D, 0x404ACE20, + 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20, + 0x404ADC20, 0x004ACE83, 0x404A8220, 0x404AE820, 0x404AA420, 0x404A9A20, + 0x404A9E20, 0x404AB420, 0x404B1420, 0x404AE420, 0x404AD220, 0x404AD820, + 0x404AEA20, 0x404A9020, 0x404AB620, 0x404B1620, 0x404B1620, 0x404B1820, + 0xE0002A72, 0xE0002A77, 0x404B1A20, 0x404B1C20, 0x404B1E20, 0x404B2020, + 0x404B2220, 0x404B2420, 0x404B2620, 0x404B2820, 0x404B2A20, 0x004B1E83, + 0x404A8420, 0x404AEA20, 0x404AA620, 0x404AA020, 0x404AB820, 0x404B1820, + 0x404AE620, 0x404AD420, 0x404B2C20, 0x404B2E20, + // Block 17, offset 0x440 + 0x404B3020, 0x404A7A20, 0x404A8C20, 0x404AAC20, 0x404ACC20, 0x404ADC20, + 0x404AE020, 0x404AF620, 0x404AE820, 0x404A7C20, 0x404AE220, 0x404A9E20, + 0x404A9620, 0x404A9A20, 0x404AAE20, 0x404B0E20, 0x404AE020, 0x404AFC20, + 0x404ADE20, 0x404ACE20, 0x404AD620, 0x404AEE20, 0x404A7E20, 0x404AE420, + 0x404AA020, 0x404A8E20, 0x404A9820, 0x404AB020, 0x404B1020, 0x404ADA20, + 0x404AFE20, 0x404B0020, 0x404AC420, 0x404AB420, 0x404AB620, 0x404AB820, + 0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404A9220, 0xE0002A7F, + 0xE0002A84, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20, + 0x404ADE20, 0x404AE020, 0xE0002A89, 0xE0002A8E, 0x404AE220, 0x404AE420, + 0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20, 0x404ACA20, 0x404ACC20, + 0xE0002A93, 0xE0002A98, 0x404ACE20, 0x404AD020, + // Block 18, offset 0x480 + 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20, 0x404ADC20, + 0x404ADE20, 0x004AD283, 0x404A7E20, 0x404A8E20, 0x404A9220, 0x404A9820, + 0x404AAE20, 0x404ACE20, 0x404AD220, 0x404AFA20, 0x404A8020, 0x404AE620, + 0x404AA220, 0x404A9C20, 0x404AB220, 0x404B1220, 0x404AE220, 0x404ADC20, + 0x404B0020, 0x404AE020, 0x404AD020, 0x404AE020, 0x404AC220, 0x404AC420, + 0xE0002AA0, 0xE0002AA5, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20, + 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, + 0x404ADA20, 0x404ADC20, 0x004ACC83, 0x404ADE20, 0x404AE020, 0x404AEE20, + 0x404AF020, 0xE0002AAA, 0xE0002AAF, 0x404AF220, 0x404AF420, 0x404AF620, + 0x404AF820, 0x404AFA20, 0x404AFC20, 0x404AFE20, 0x404B0020, 0x404B0220, + 0x404B0420, 0x404B0620, 0x404B0820, 0x404B0A20, + // Block 19, offset 0x4c0 + 0x004AF883, 0x404B0C20, 0x404ADE20, 0x404AE020, 0xE0002AB4, 0xE0002AB9, + 0x404AE220, 0x404AE420, 0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20, + 0x404AEE20, 0x404AF020, 0x404AF220, 0x404AF420, 0x404AF620, 0x004AE883, + 0x404AF820, 0x404AFA20, 0x404A8020, 0x404A9020, 0x404A9420, 0x404AB020, + 0x404ABE20, 0x404AD020, 0x404AD420, 0x404A8020, 0x404AB220, 0x404AB420, + 0xE0002A05, 0xE0002A0A, 0x404AB620, 0x404AB820, 0x404ABA20, 0x404ABC20, + 0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820, + 0x404ACA20, 0x004ABA83, 0x404AB620, 0x404AB820, 0xE0002A0F, 0xE0002A14, + 0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, + 0x404AC620, 0x404AC820, 0x004ABE83, 0x404AFC20, 0x404AFE20, 0xE0002A19, + 0xE0002A1E, 0x404B0020, 0x404B0220, 0x404B0420, + // Block 20, offset 0x500 + 0x404B0620, 0x404B0820, 0x404B0A20, 0x404B0C20, 0x404B0E20, 0x404B1020, + 0x404B1220, 0x404B1420, 0x404A8A20, 0x404A9620, 0x404AAA20, 0x404ACA20, + 0x404ADA20, 0x404ADE20, 0x404AE620, 0x404AF420, 0xAE611602, 0x404A9421, + 0xAE611402, 0x404AB821, 0x404ABC21, 0x828225B1, 0xE000200E, 0xE0002011, + 0x404B2620, 0xE0002ABE, 0xE000200E, 0xE0002011, 0x404B2420, 0x404B2620, + 0x828225B2, 0xE0002014, 0xE0002017, 0x404B2A20, 0xE0002AC1, 0xE0002014, + 0xE0002017, 0x404B2820, 0x404B2A20, 0xAE610F02, 0x8281258D, 0x82812591, + 0x8281258F, 0x002D2288, 0x002D2484, 0x002D2483, 0x402DFE20, 0x402E0020, + 0x002DFE88, 0x002E0084, 0x002E0083, 0x402E9E20, 0x402EA020, 0x002E9E88, + 0x002EA084, 0x002EA083, 0x402C7820, 0xE0000CFB, 0xE0000CFB, 0x402C3820, + 0xE0000D01, 0xE0000D01, 0x402D6820, 0x402D6A20, + // Block 21, offset 0x540 + 0x002D6888, 0x002D6A83, 0x402DCC20, 0x402DCE20, 0x002DCC88, 0x002DCE83, + 0x002E9E88, 0x002EA083, 0x402FE620, 0x40302620, 0x002FE688, 0x00302683, + 0x40302820, 0x40302A20, 0x00302883, 0x00302A83, 0x402EE220, 0x4030EE20, + 0x4030F220, 0x002EE288, 0x0030EE83, 0x0030F283, 0x402BDE20, 0x4030F020, + 0x002BDE88, 0x0030F083, 0x40306C20, 0x4030F420, 0x00306C88, 0x0030F483, + 0x40393820, 0x40393620, 0x40393A21, 0x40393A23, 0x403A7420, 0x40393A25, + 0x403A9220, 0x40393A26, 0x403A9221, 0x00393B43, 0x403A9223, 0x00393B44, + 0x403A8821, 0x403A8825, 0x40306C20, 0x40310021, 0x00306C88, 0x003100A3, + 0x402BDE20, 0x40320E20, 0x40320C20, 0x002BDE88, 0x00320E83, 0x00320C83, + 0x402EE220, 0x40321020, 0x002EE288, 0x00321083, 0x402EE220, 0x40321023, + 0x40321020, 0x40321022, 0x002EE288, 0x003210E3, + // Block 22, offset 0x580 + 0x00321083, 0x003210C3, 0x402E9E20, 0x402EA020, 0x402EA220, 0x002E9E88, + 0x002EA083, 0x002EA284, 0x002EA283, 0x002FE688, 0x002FE884, 0x002FE883, + 0x4031DE20, 0x00310286, 0x00310283, 0x4003D220, 0x00310287, 0x00310284, + 0x402BEC20, 0xE0000CFB, 0xE0000CFB, 0x002BEC83, 0xE0000D01, 0xE0000D01, + 0x402C3A20, 0x402C3E20, 0x402C3C20, 0x002C3A88, 0x002C3E83, 0x002C3C83, + 0x402C6220, 0x402C6420, 0x402C6420, 0x002C6288, 0x002C6486, 0x002C6484, + 0x002C6486, 0x002C6484, 0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E2486, + 0x002E2484, 0x002E9E88, 0x002EA086, 0x002EA084, 0x402C3A20, 0xE0003C42, + 0x402C3C20, 0x002C3A88, 0xE0003C48, 0xE0003C45, 0x002C3C86, 0x002C3C84, + 0x402C6220, 0xE0003C54, 0xE0003C4B, 0x402C6620, 0x402C6420, 0x002C6288, + 0xE0003C5A, 0xE0003C57, 0xE0003C51, 0x002C6686, + // Block 23, offset 0x5c0 + 0xE0003C4E, 0x002C6684, 0x002C6486, 0x002C6484, 0x402D2220, 0xE0003C5D, + 0x402D2420, 0x002D2288, 0xE0003C63, 0xE0003C60, 0x002D2486, 0x002D2484, + 0x402E2220, 0xE0003C66, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288, + 0xE0003C6C, 0xE0003C69, 0xE0000D01, 0xE0000D01, 0x002E2486, 0x002E2484, + 0x402E9E20, 0xE0003C6F, 0x402EA020, 0x002E9E88, 0xE0003C75, 0xE0003C72, + 0x002EA086, 0x002EA084, 0x402EE220, 0x402EE420, 0x402EE421, 0x002EE288, + 0x002EE483, 0x002EE4A3, 0x402FE620, 0xE0003C78, 0x402FE820, 0x002FE688, + 0xE0003C7E, 0xE0003C7B, 0x002FE886, 0x002FE884, 0x40302C20, 0xE0003C81, + 0x40302E20, 0x00302C88, 0xE0003C87, 0xE0003C84, 0x00302E86, 0x00302E84, + 0x40306C20, 0x40306E20, 0x40306E21, 0x00306C88, 0x00306E83, 0x00306EA3, + 0x40312A20, 0xE0003C8A, 0x40312C20, 0x00312A88, + // Block 24, offset 0x600 + 0xE0003C90, 0xE0003C8D, 0x00312C86, 0x00312C84, 0x00384A88, 0x00388A83, + 0x402C3A20, 0x402C0C20, 0x002C3A88, 0x002C0C84, 0x002C0C83, 0x402D2220, + 0x402D2420, 0x402D2620, 0x402D2820, 0x002D2288, 0x002D2484, 0x002D2684, + 0x002D2884, 0x002D2483, 0x002D2683, 0x002D2883, 0x402D9A20, 0x402D9C20, + 0x002D9A88, 0x002D9C83, 0x402DFE20, 0x402E0020, 0x402E0220, 0x002DFE88, + 0x002E0084, 0x002E0284, 0x002E0083, 0x002E0283, 0x402E9E20, 0x402EA020, + 0x402EA220, 0x402EA420, 0x002E9E88, 0x002EA083, 0x002EA284, 0x002EA484, + 0x002EA283, 0x002EA483, 0x402BDE20, 0x402C0820, 0x40320C21, 0x40321020, + 0x002BDE88, 0x002C0883, 0x00320CA3, 0x00321083, 0x402C9820, 0x402D0620, + 0x002C9888, 0x002D0683, 0x402D9A20, 0x402DCA20, 0x002D9A88, 0x002DCA83, + 0x402EE220, 0x402F2A20, 0x40320E20, 0x002EE288, + // Block 25, offset 0x640 + 0x002F2A83, 0x00320E83, 0x40306C20, 0x4030BC20, 0x00306C88, 0x0030BC83, + 0x40310020, 0x40312820, 0x00310088, 0x00312883, 0x0065768F, 0xE0003D1D, + 0xE0003D17, 0x0065768F, 0xE0003D17, 0xE0003D1D, 0x00657691, 0xE0003D20, + 0xE0003D1A, 0x00657691, 0xE0003D1A, 0xE0003D20, 0x0065828F, 0xE0003E9B, + 0xE0003D23, 0x0065828F, 0xE0003D23, 0xE0003E9B, 0x00658291, 0xE0003EA1, + 0xE0003D29, 0xE0003E9E, 0xE0003D26, 0x00658291, 0xE0003D29, 0xE0003EA1, + 0xE0003D26, 0xE0003E9E, 0x00658291, 0xE0003D26, 0xE0003E9E, 0xE000216D, + 0xE0003EA1, 0xE0003D29, 0xE000216D, 0xE0003D29, 0xE0003EA1, 0x00658C91, + 0xE0003EE4, 0xE0003EE0, 0xE0003D30, 0xE0003EE0, 0xE0003EDD, 0xE0003EE0, + 0xE0003D2D, 0x00658C91, 0xE0003EE4, 0xE0003D30, 0xE0003EE0, 0xE0003EE0, + 0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0x00658C91, + // Block 26, offset 0x680 + 0xE0003EE0, 0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0xE00021F2, 0xE0003EE0, + 0xE0003EE4, 0xE0003D30, 0xE00021F2, 0xE0003D30, 0xE0003EE0, 0xE0003EE4, + 0x00659691, 0xE0003F2E, 0xE0003F2A, 0xE0003D37, 0xE0003F2A, 0xE0003F27, + 0xE0003F2A, 0xE0003D34, 0x00659691, 0xE0003F2E, 0xE0003D37, 0xE0003F2A, + 0xE0003F2A, 0xE0003D34, 0xE0003F27, 0xE0003F2A, 0x00659691, 0xE0003F2A, + 0xE0003D34, 0xE0003F27, 0xE0003F2A, 0xE000222C, 0xE0003F2A, 0xE0003F2E, + 0xE0003D37, 0xE000222C, 0xE0003D37, 0xE0003F2A, 0xE0003F2E, 0x0065A091, + 0xE0003F71, 0xE0003D3B, 0x0065A091, 0xE0003D3B, 0xE0003F71, 0x0065AA8F, + 0xE0003F89, 0xE0003D3E, 0xE0003F83, 0xE0003F89, 0x0065AA91, 0xE0003F91, + 0xE0003F9A, 0xE0003F8D, 0xE0003D44, 0xE0003F96, 0xE0003D48, 0xE0003F8D, + 0xE0003F86, 0xE0003F8D, 0xE0003D41, 0x0065AA91, + // Block 27, offset 0x6c0 + 0xE0003F91, 0xE0003F9A, 0xE0003D44, 0xE0003F8D, 0xE0003D48, 0xE0003F96, + 0xE0003F8D, 0xE0003D41, 0xE0003F86, 0xE0003F8D, 0x0065AA91, 0xE0003F8D, + 0xE0003D41, 0xE0003F86, 0xE0003F8D, 0xE000225B, 0xE0003F8D, 0xE0003F91, + 0xE0003D44, 0xE000225B, 0xE0003D44, 0xE0003F8D, 0xE0003F91, 0xE0002261, + 0xE0003F96, 0xE0003F9A, 0xE0003D48, 0xE0002261, 0xE0003D48, 0xE0003F96, + 0xE0003F9A, 0x0065B491, 0xE000400F, 0xE0003D4C, 0x0065B491, 0xE0003D4C, + 0xE000400F, 0x0065BE8F, 0xE0004021, 0xE0003D4F, 0x0065BE8F, 0xE0003D4F, + 0xE0004021, 0x0065BE91, 0xE0004024, 0xE0003D52, 0x0065BE91, 0xE0003D52, + 0xE0004024, 0x0065C68F, 0xE0003D55, 0xE0004036, 0x0065C691, 0xE0004039, + 0xE0003D58, 0x0065C691, 0xE0003D58, 0xE0004039, 0x0065D08F, 0xE000405A, + 0xE0004054, 0xE000405A, 0xE0003D5B, 0x0065D08F, + // Block 28, offset 0x700 + 0xE000405A, 0xE0003D5B, 0xE0004054, 0xE000405A, 0x0065D091, 0xE000405E, + 0xE0004057, 0xE000405E, 0xE0003D5E, 0x0065D091, 0xE0004062, 0xE0003D61, + 0xE000405E, 0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0x0065D091, + 0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0xE000236A, 0xE0003D61, + 0xE000405E, 0xE0004062, 0x0065788F, 0xE0003D6B, 0xE0003D65, 0x0065788F, + 0xE0003D65, 0xE0003D6B, 0x00657891, 0xE0003D6E, 0xE0003D68, 0x00657891, + 0xE0003D68, 0xE0003D6E, 0x00658491, 0xE0003EAC, 0xE0003EA8, 0xE0003D74, + 0xE0003EA8, 0xE0003EA5, 0xE0003EA8, 0xE0003D71, 0x00658491, 0xE0003EAC, + 0xE0003D74, 0xE0003EA8, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8, + 0x00658491, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8, 0xE000218B, + 0xE0003EA8, 0xE0003EAC, 0xE0003D74, 0xE000218B, + // Block 29, offset 0x740 + 0xE0003D74, 0xE0003EA8, 0xE0003EAC, 0x00658E8F, 0xE0003EEF, 0xE0003D78, + 0xE0003EE9, 0xE0003EEF, 0x00658E91, 0xE0003EF7, 0xE0003EF3, 0xE0003D7E, + 0xE0003EF3, 0xE0003EEC, 0xE0003EF3, 0xE0003D7B, 0x00658E91, 0xE0003EF7, + 0xE0003D7E, 0xE0003EF3, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3, + 0x00658E91, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3, 0xE0002203, + 0xE0003EF3, 0xE0003EF7, 0xE0003D7E, 0xE0002203, 0xE0003D7E, 0xE0003EF3, + 0xE0003EF7, 0x00659891, 0xE0003F3A, 0xE0003F36, 0xE0003D85, 0xE0003F36, + 0xE0003F33, 0xE0003F36, 0xE0003D82, 0x00659891, 0xE0003F3A, 0xE0003D85, + 0xE0003F36, 0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0x00659891, + 0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0xE0002237, 0xE0003F36, + 0xE0003F3A, 0xE0003D85, 0xE0002237, 0xE0003D85, + // Block 30, offset 0x780 + 0xE0003F36, 0xE0003F3A, 0x0065A291, 0xE0003F74, 0xE0003D89, 0x0065A291, + 0xE0003D89, 0xE0003F74, 0x0065AC8F, 0xE0003FA5, 0xE0003D8C, 0xE0003F9F, + 0xE0003FA5, 0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003FA9, 0xE0003D92, + 0xE0003FB2, 0xE0003D96, 0xE0003FA9, 0xE0003FA2, 0xE0003FA9, 0xE0003D8F, + 0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003D92, 0xE0003FA9, 0xE0003D96, + 0xE0003FB2, 0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0x0065AC91, + 0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0xE000227D, 0xE0003FA9, + 0xE0003FAD, 0xE0003D92, 0xE000227D, 0xE0003D92, 0xE0003FA9, 0xE0003FAD, + 0xE0002283, 0xE0003FB2, 0xE0003FB6, 0xE0003D96, 0xE0002283, 0xE0003D96, + 0xE0003FB2, 0xE0003FB6, 0x0065B691, 0xE0004012, 0xE0003D9A, 0x0065B691, + 0xE0003D9A, 0xE0004012, 0x0065C88F, 0xE0003D9D, + // Block 31, offset 0x7c0 + 0xE000403C, 0x0065C891, 0xE000403F, 0xE0003DA0, 0x0065C891, 0xE0003DA0, + 0xE000403F, 0x0065D291, 0xE000406A, 0xE0004067, 0xE000406A, 0xE0003DA3, + 0x0065D291, 0xE000406E, 0xE0003DA6, 0xE000406A, 0xE000406A, 0xE0003DA3, + 0xE0004067, 0xE000406A, 0xE0002371, 0xE0003DA6, 0xE000406A, 0xE000406E, + 0x00657A8F, 0xE0003DBA, 0xE0003DB0, 0xE0003DBA, 0xE0003DAA, 0x00657A8F, + 0xE0003DBA, 0xE0003DAA, 0xE0003DB0, 0xE0003DBA, 0x00657A91, 0xE0003DC2, + 0xE0003DBE, 0xE0003DB6, 0xE0003DBE, 0xE0003DB3, 0xE0003DBE, 0xE0003DAD, + 0x00657A91, 0xE0003DC2, 0xE0003DB6, 0xE0003DBE, 0xE0003DBE, 0xE0003DAD, + 0xE0003DB3, 0xE0003DBE, 0x00657A91, 0xE0003DBE, 0xE0003DAD, 0xE0003DB3, + 0xE0003DBE, 0xE000214F, 0xE0003DBE, 0xE0003DC2, 0xE0003DB6, 0xE000214F, + 0xE0003DB6, 0xE0003DBE, 0xE0003DC2, 0x0065868F, + // Block 32, offset 0x800 + 0xE0003EB7, 0xE0003DC7, 0xE0003EB1, 0xE0003EB7, 0x00658691, 0xE0003EBF, + 0xE0003EBB, 0xE0003DCD, 0xE0003EBB, 0xE0003EB4, 0xE0003EBB, 0xE0003DCA, + 0x00658691, 0xE0003EBF, 0xE0003DCD, 0xE0003EBB, 0xE0003EBB, 0xE0003DCA, + 0xE0003EB4, 0xE0003EBB, 0x00658691, 0xE0003EBB, 0xE0003DCA, 0xE0003EB4, + 0xE0003EBB, 0xE00021BB, 0xE0003EBB, 0xE0003EBF, 0xE0003DCD, 0xE00021BB, + 0xE0003DCD, 0xE0003EBB, 0xE0003EBF, 0x0065908F, 0xE0003F02, 0xE0003DD1, + 0xE0003EFC, 0xE0003F02, 0x00659091, 0xE0003F0A, 0xE0003F06, 0xE0003DD7, + 0xE0003F06, 0xE0003EFF, 0xE0003F06, 0xE0003DD4, 0x00659091, 0xE0003F0A, + 0xE0003DD7, 0xE0003F06, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06, + 0x00659091, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06, 0xE0002212, + 0xE0003F06, 0xE0003F0A, 0xE0003DD7, 0xE0002212, + // Block 33, offset 0x840 + 0xE0003DD7, 0xE0003F06, 0xE0003F0A, 0x00659A8F, 0xE0003F45, 0xE0003F3F, + 0xE0003F45, 0xE0003DDB, 0x00659A8F, 0xE0003F45, 0xE0003DDB, 0xE0003F3F, + 0xE0003F45, 0x00659A91, 0xE0003F4D, 0xE0003F49, 0xE0003DE1, 0xE0003F49, + 0xE0003F42, 0xE0003F49, 0xE0003DDE, 0x00659A91, 0xE0003F4D, 0xE0003DE1, + 0xE0003F49, 0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0x00659A91, + 0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0xE000223D, 0xE0003F49, + 0xE0003F4D, 0xE0003DE1, 0xE000223D, 0xE0003DE1, 0xE0003F49, 0xE0003F4D, + 0x0065A48F, 0xE0003DE5, 0xE0003F77, 0x0065A491, 0xE0003F7A, 0xE0003DE8, + 0x0065A491, 0xE0003DE8, 0xE0003F7A, 0x0065AE8F, 0xE0003FC1, 0xE0003DEB, + 0xE0003FBB, 0xE0003FC1, 0x0065AE91, 0xE0003FC9, 0xE0003FD2, 0xE0003FC5, + 0xE0003DF1, 0xE0003FCE, 0xE0003DF5, 0xE0003FC5, + // Block 34, offset 0x880 + 0xE0003FBE, 0xE0003FC5, 0xE0003DEE, 0x0065AE91, 0xE0003FC9, 0xE0003FD2, + 0xE0003DF1, 0xE0003FC5, 0xE0003DF5, 0xE0003FCE, 0xE0003FC5, 0xE0003DEE, + 0xE0003FBE, 0xE0003FC5, 0x0065AE91, 0xE0003FC5, 0xE0003DEE, 0xE0003FBE, + 0xE0003FC5, 0xE000229D, 0xE0003FC5, 0xE0003FC9, 0xE0003DF1, 0xE000229D, + 0xE0003DF1, 0xE0003FC5, 0xE0003FC9, 0xE00022A3, 0xE0003FCE, 0xE0003FD2, + 0xE0003DF5, 0xE00022A3, 0xE0003DF5, 0xE0003FCE, 0xE0003FD2, 0x0065B88F, + 0xE0003DF9, 0xE0004015, 0x0065B891, 0xE0004018, 0xE0003DFC, 0x0065B891, + 0xE0003DFC, 0xE0004018, 0x0065C08F, 0xE0004027, 0xE0003DFF, 0x0065C08F, + 0xE0003DFF, 0xE0004027, 0x0065C091, 0xE000402A, 0xE0003E02, 0x0065C091, + 0xE0003E02, 0xE000402A, 0x0065CA8F, 0xE0003E05, 0xE0004042, 0x0065CA91, + 0xE0004045, 0xE0003E08, 0x0065CA91, 0xE0003E08, + // Block 35, offset 0x8c0 + 0xE0004045, 0x00657E8F, 0xE0003E11, 0xE0003E0B, 0x00657E8F, 0xE0003E0B, + 0xE0003E11, 0x00657E91, 0xE0003E14, 0xE0003E0E, 0x00657E91, 0xE0003E0E, + 0xE0003E14, 0x0065888F, 0xE0003EC4, 0xE0003E17, 0x0065888F, 0xE0003E17, + 0xE0003EC4, 0x00658891, 0xE0003ECA, 0xE0003E1D, 0xE0003EC7, 0xE0003E1A, + 0x00658891, 0xE0003E1D, 0xE0003ECA, 0xE0003E1A, 0xE0003EC7, 0x00658891, + 0xE0003E1A, 0xE0003EC7, 0xE00021D9, 0xE0003ECA, 0xE0003E1D, 0xE00021D9, + 0xE0003E1D, 0xE0003ECA, 0x00659291, 0xE0003F16, 0xE0003F12, 0xE0003E24, + 0xE0003F12, 0xE0003F0F, 0xE0003F12, 0xE0003E21, 0x00659291, 0xE0003F16, + 0xE0003E24, 0xE0003F12, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12, + 0x00659291, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12, 0xE0002218, + 0xE0003F12, 0xE0003F16, 0xE0003E24, 0xE0002218, + // Block 36, offset 0x900 + 0xE0003E24, 0xE0003F12, 0xE0003F16, 0x00659C91, 0xE0003F59, 0xE0003F55, + 0xE0003E2B, 0xE0003F55, 0xE0003F52, 0xE0003F55, 0xE0003E28, 0x00659C91, + 0xE0003F59, 0xE0003E2B, 0xE0003F55, 0xE0003F55, 0xE0003E28, 0xE0003F52, + 0xE0003F55, 0x00659C91, 0xE0003F55, 0xE0003E28, 0xE0003F52, 0xE0003F55, + 0xE0002243, 0xE0003F55, 0xE0003F59, 0xE0003E2B, 0xE0002243, 0xE0003E2B, + 0xE0003F55, 0xE0003F59, 0x0065A691, 0xE0003F7D, 0xE0003E2F, 0x0065A691, + 0xE0003E2F, 0xE0003F7D, 0x0065B08F, 0xE0003FDD, 0xE0003E32, 0xE0003FD7, + 0xE0003FDD, 0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003FE1, 0xE0003E38, + 0xE0003FEA, 0xE0003E3C, 0xE0003FE1, 0xE0003FDA, 0xE0003FE1, 0xE0003E35, + 0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003E38, 0xE0003FE1, 0xE0003E3C, + 0xE0003FEA, 0xE0003FE1, 0xE0003E35, 0xE0003FDA, + // Block 37, offset 0x940 + 0xE0003FE1, 0x0065B091, 0xE0003FE1, 0xE0003E35, 0xE0003FDA, 0xE0003FE1, + 0xE00022C0, 0xE0003FE1, 0xE0003FE5, 0xE0003E38, 0xE00022C0, 0xE0003E38, + 0xE0003FE1, 0xE0003FE5, 0xE00022C6, 0xE0003FEA, 0xE0003FEE, 0xE0003E3C, + 0xE00022C6, 0xE0003E3C, 0xE0003FEA, 0xE0003FEE, 0x0065BA91, 0xE000401B, + 0xE0003E40, 0x0065BA91, 0xE0003E40, 0xE000401B, 0x0065CC8F, 0xE0003E43, + 0xE0004048, 0x0065CC91, 0xE000404B, 0xE0003E46, 0x0065CC91, 0xE0003E46, + 0xE000404B, 0x0065D491, 0xE0004076, 0xE0004073, 0xE0004076, 0xE0003E49, + 0x0065D491, 0xE000407A, 0xE0003E4C, 0xE0004076, 0xE0004076, 0xE0003E49, + 0xE0004073, 0xE0004076, 0xE0002374, 0xE0003E4C, 0xE0004076, 0xE000407A, + 0x0065808F, 0xE0003E56, 0xE0003E50, 0x0065808F, 0xE0003E50, 0xE0003E56, + 0x00658091, 0xE0003E59, 0xE0003E53, 0x00658091, + // Block 38, offset 0x980 + 0xE0003E53, 0xE0003E59, 0x00658A91, 0xE0003ED5, 0xE0003ED1, 0xE0003E5F, + 0xE0003ED1, 0xE0003ECE, 0xE0003ED1, 0xE0003E5C, 0x00658A91, 0xE0003ED5, + 0xE0003E5F, 0xE0003ED1, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1, + 0x00658A91, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1, 0xE00021E3, + 0xE0003ED1, 0xE0003ED5, 0xE0003E5F, 0xE00021E3, 0xE0003E5F, 0xE0003ED1, + 0xE0003ED5, 0x00659491, 0xE0003F22, 0xE0003F1E, 0xE0003E66, 0xE0003F1E, + 0xE0003F1B, 0xE0003F1E, 0xE0003E63, 0x00659491, 0xE0003F22, 0xE0003E66, + 0xE0003F1E, 0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0x00659491, + 0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0xE0002226, 0xE0003F1E, + 0xE0003F22, 0xE0003E66, 0xE0002226, 0xE0003E66, 0xE0003F1E, 0xE0003F22, + 0x00659E8F, 0xE0003F64, 0xE0003E6A, 0xE0003F5E, + // Block 39, offset 0x9c0 + 0xE0003F64, 0x00659E91, 0xE0003F6C, 0xE0003F68, 0xE0003E70, 0xE0003F68, + 0xE0003F61, 0xE0003F68, 0xE0003E6D, 0x00659E91, 0xE0003F6C, 0xE0003E70, + 0xE0003F68, 0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0x00659E91, + 0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0xE000224D, 0xE0003F68, + 0xE0003F6C, 0xE0003E70, 0xE000224D, 0xE0003E70, 0xE0003F68, 0xE0003F6C, + 0x0065A891, 0xE0003F80, 0xE0003E74, 0x0065A891, 0xE0003E74, 0xE0003F80, + 0x0065B28F, 0xE0003FF9, 0xE0003E77, 0xE0003FF3, 0xE0003FF9, 0x0065B291, + 0xE0004001, 0xE000400A, 0xE0003FFD, 0xE0003E7D, 0xE0004006, 0xE0003E81, + 0xE0003FFD, 0xE0003FF6, 0xE0003FFD, 0xE0003E7A, 0x0065B291, 0xE0004001, + 0xE000400A, 0xE0003E7D, 0xE0003FFD, 0xE0003E81, 0xE0004006, 0xE0003FFD, + 0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0x0065B291, + // Block 40, offset 0xa00 + 0xE0003FFD, 0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0xE00022EF, 0xE0003FFD, + 0xE0004001, 0xE0003E7D, 0xE00022EF, 0xE0003E7D, 0xE0003FFD, 0xE0004001, + 0xE00022F5, 0xE0004006, 0xE000400A, 0xE0003E81, 0xE00022F5, 0xE0003E81, + 0xE0004006, 0xE000400A, 0x0065BC91, 0xE000401E, 0xE0003E85, 0x0065BC91, + 0xE0003E85, 0xE000401E, 0x0065C48F, 0xE000402D, 0xE0003E88, 0x0065C48F, + 0xE0003E88, 0xE000402D, 0x0065C491, 0xE0004030, 0xE0003E8B, 0x0065C491, + 0xE0003E8B, 0xE0004030, 0x0065CE8F, 0xE0003E8E, 0xE000404E, 0x0065CE91, + 0xE0004051, 0xE0003E91, 0x0065CE91, 0xE0003E91, 0xE0004051, 0x0065D691, + 0xE0004082, 0xE000407F, 0xE0004082, 0xE0003E94, 0x0065D691, 0xE0004086, + 0xE0003E97, 0xE0004082, 0xE0004082, 0xE0003E94, 0xE000407F, 0xE0004082, + 0x0065D691, 0xE0004082, 0xE0003E94, 0xE000407F, + // Block 41, offset 0xa40 + 0xE0004082, 0xE0002377, 0xE0003E97, 0xE0004082, 0xE0004086, 0x0065D891, + 0xE000408B, 0x40368C20, 0x40343620, 0x00368C83, 0x00343688, 0x002DFE88, + 0x002F56A3, 0x402BDE20, 0x40320C21, 0x40321020, 0x002BDE88, 0x00320CA3, + 0x00321083, 0x404FA420, 0xE000409E, 0x404FA620, 0xE00040A2, 0x404FA820, + 0xE00040A6, 0x404FAA20, 0xE00040AA, 0x404FAC20, 0xE00040AE, 0x404FAE20, + 0xE00040B2, 0x404FB020, 0xE00040B6, 0x404FB220, 0xE00040BA, 0x404FB420, + 0xE00040BE, 0x404FB620, 0xE00040C2, 0x404FB820, 0xE00040C6, 0x404FBA20, + 0xE00040CA, 0x404FBC20, 0xE00040CE, 0x404FBE20, 0xE00040D2, 0x404FC020, + 0xE00040D6, 0x404FC220, 0xE00040DA, 0x404FC420, 0xE00040DE, 0x404FC620, + 0xE00040E2, 0x404FC820, 0xE00040E6, 0x404FCA20, 0xE00040EA, 0x404FCC20, + 0xE00040EE, 0x404FCE20, 0xE00040F2, 0x404FD020, + // Block 42, offset 0xa80 + 0xE00040F6, 0x404FD220, 0xE00040FA, 0x404FD420, 0xE00040FE, 0x404FD620, + 0xE0004102, 0x404FD820, 0xE0004106, 0x404FDA20, 0xE000410A, 0x404FDA20, + 0xE000410E, 0x404FDC20, 0xE0004112, 0x404FDC20, 0xE0004116, 0x404FDC20, + 0xE000411A, 0x404FDE20, 0xE000411E, 0x404FDE20, 0xE0004122, 0x404FE020, + 0xE0004126, 0x404FE220, 0xE000412A, 0x404FE420, 0xE000412E, 0x404FE620, + 0xE0004132, 0x404FE820, 0xE0004136, 0x40501820, 0x40502E20, 0x40503820, + 0x40500E20, 0x40503220, 0x40501020, 0x40503620, 0x40502420, 0x40503A20, + 0x40502A20, 0x40503C20, 0x403FEC20, 0x40403E20, 0x402D2220, 0x002D2483, + 0x402D2420, 0x002D2288, 0x002D2485, 0x002D2484, 0x402DFE20, 0x002E0083, + 0x402E0020, 0x002DFE88, 0x002E0085, 0x002E0084, 0x402E8220, 0x002E8483, + 0x002E8683, 0x002E8883, 0x002E8A83, 0x402E8420, + // Block 43, offset 0xac0 + 0x402E8620, 0x402E8820, 0x402E8A20, 0x002E8288, 0x002E8485, 0x002E8685, + 0x002E8885, 0x002E8A85, 0x002E8484, 0x002E8684, 0x002E8884, 0x002E8A84, + 0x402E9E20, 0x002EA485, 0x002EA484, 0x002EA483, 0x402EA420, 0x002EA083, + 0x002EA283, 0x002EA683, 0x002EA883, 0x002EAA83, 0x002EAC83, 0x002EAE83, + 0x402EA020, 0x402EA220, 0x402EA620, 0x402EA820, 0x402EAA20, 0x402EAC20, + 0x402EAE20, 0x002E9E88, 0x002EA488, 0x002EA487, 0x002EA486, 0x002EA085, + 0x002EA285, 0x002EA685, 0x002EA885, 0x002EAA85, 0x002EAC85, 0x002EAE85, + 0x002EA084, 0x002EA284, 0x002EA684, 0x002EA884, 0x002EAA84, 0x002EAC84, + 0x002EAE84, 0x402FE620, 0x002FE883, 0x402FE820, 0x002FE688, 0x002FE885, + 0x002FE884, 0x40302C20, 0x00302E83, 0x40302E20, 0x00302C88, 0x00302E85, + 0x00302E84, 0xAE605202, 0xAE603502, 0xAE603202, + // Block 44, offset 0xb00 + 0xAE604E02, 0x402BDE20, 0x402BDE21, 0x002BDE88, 0x002BDEA3, 0x402C9820, + 0x402C9822, 0x402C9821, 0x002C9888, 0x002C98C3, 0x002C98A3, 0x402D9A20, + 0x402D9A21, 0x002D9A88, 0x002D9AA3, 0x40306C20, 0x40306C22, 0x40306C21, + 0x00306C88, 0x00306CC3, 0x00306CA3, 0x402C3A20, 0x402C6020, 0x002C3A88, + 0x002C6083, 0x402D2220, 0x402D6620, 0x002D2288, 0x002D6683, 0x402DFE20, + 0x402E2020, 0x002DFE88, 0x002E2083, 0x402E2220, 0xE0000CFB, 0x402E8020, + 0xE0000CFB, 0x002E2288, 0xE0000D01, 0x002E8083, 0xE0000D01, 0x402E9E20, + 0x402EE020, 0x002E9E88, 0x002EE083, 0x402F7A20, 0x402FE420, 0x002F7A88, + 0x002FE483, 0x402FE620, 0x40302A20, 0x002FE688, 0x00302A83, 0x40312A20, + 0x40316220, 0x00312A88, 0x00316283, 0x40442220, 0xE000A9DC, 0x40443E20, + 0xE000A9E2, 0xE000A9EE, 0xE000A9E8, 0x40444820, + // Block 45, offset 0xb40 + 0xE000A9EB, 0x40445820, 0xE000A9F4, 0x40445A20, 0xE000A9FA, 0x40446620, + 0xE000AA00, 0x40448220, 0x40448820, 0x00448C83, 0x403FFC20, 0x40404020, + 0x002C3A88, 0x402C3820, 0x402C3A20, 0x002C3883, 0x002D2288, 0x402D6620, + 0x002D6683, 0x402D2020, 0x402D2220, 0x002D6684, 0x002D6685, 0x002D2083, + 0x00312A88, 0x40312820, 0x40312A20, 0x00312883, 0x404E6020, 0xE000AA0C, + 0x404FFE20, 0x404FFE21, 0x404E6A20, 0xE000AA12, 0x40502820, 0x40502821, + 0x404E9420, 0xE000AA2C, 0xE000AA25, 0x4050AC20, 0x4050AC21, 0x4005B820, + 0xE000AA32, 0x404EA620, 0xE000AA3D, 0x4050C820, 0x4050C821, 0xE000AA4E, + 0xE000AA51, 0xE000AA55, 0xE000AA5E, 0xE000AA62, 0xE000AA6E, 0xE000AA7A, + 0xE000AA86, 0xE000AA92, 0xE000AA9E, 0xE000AAAA, 0xE000AAB6, 0xE000AAC2, + 0xE000AACE, 0xE000AADA, 0xE000AAE6, 0xE000AAF2, + // Block 46, offset 0xb80 + 0xE000AAFE, 0xE000AB0A, 0xE000AB16, 0xE000AB22, 0xE000AB2E, 0xE000AB3A, + 0xE000AB46, 0xE000AB52, 0xE000AB5E, 0xE000AB6A, 0xE000AB76, 0xE000AB82, + 0xE000AB8E, 0xE000AB9A, 0xE000ABA6, 0xE000ABB2, 0xE000ABBE, 0xE000ABCA, + 0xE000ABD6, 0xE000ABE2, 0xE000ABEE, 0xE000ABFA, 0xE000AC06, 0xE000AC12, + 0xE000AC1E, 0xE000AC2A, 0xE000AC36, 0xE000AC42, 0xE000AC4E, 0xE000AC5A, + 0xE000AC66, 0xE000AC72, 0xE000AC7E, 0xE000AC8A, 0xE000AC96, 0xE000ACA2, + 0xE000ACAE, 0xE000ACBA, 0xE000ACC6, 0xE000ACD2, 0xE000ACDE, 0xE000ACEA, + 0xE000ACF6, 0xE000AD02, 0xE000AD0E, 0xE000AD1A, 0xE000AD26, 0xE000AA68, + 0xE000AA74, 0xE000AA80, 0xE000AA8C, 0xE000AA98, 0xE000AAA4, 0xE000AAB0, + 0xE000AABC, 0xE000AAC8, 0xE000AAD4, 0xE000AAE0, 0xE000AAEC, 0xE000AAF8, + 0xE000AB04, 0xE000AB10, 0xE000AB1C, 0xE000AB28, + // Block 47, offset 0xbc0 + 0xE000AB34, 0xE000AB40, 0xE000AB4C, 0xE000AB58, 0xE000AB64, 0xE000AB70, + 0xE000AB7C, 0xE000AB88, 0xE000AB94, 0xE000ABA0, 0xE000ABAC, 0xE000ABB8, + 0xE000ABC4, 0xE000ABD0, 0xE000ABDC, 0xE000ABE8, 0xE000ABF4, 0xE000AC00, + 0xE000AC0C, 0xE000AC18, 0xE000AC24, 0xE000AC30, 0xE000AC3C, 0xE000AC48, + 0xE000AC54, 0xE000AC60, 0xE000AC6C, 0xE000AC78, 0xE000AC84, 0xE000AC90, + 0xE000AC9C, 0xE000ACA8, 0xE000ACB4, 0xE000ACC0, 0xE000ACCC, 0xE000ACD8, + 0xE000ACE4, 0xE000ACF0, 0xE000ACFC, 0xE000AD08, 0xE000AD14, 0xE000AD20, + 0xE000AD2C, 0x404EFE20, 0x404F5222, 0xE000AD37, 0x404F5220, 0x404F5020, + 0x404F1A22, 0x404F1A23, 0x404F2822, 0x404F2823, 0x404F3622, 0x404F3623, + 0x404F4422, 0x404F4423, 0x404F5223, 0x404F6022, 0x404F6023, 0x404F6E22, + 0x404F6E23, 0x404F7C22, 0x404F7C23, 0x404F8A21, + // Block 48, offset 0xc00 + 0x404F9822, 0x404F9823, 0x404FA622, 0x404FA623, 0x404FB422, 0x404FB423, + 0x404FC222, 0x404FC223, 0x404FD022, 0x404FD023, 0x404FDE22, 0x404FDE23, + 0x404FEC22, 0x404FEC23, 0x404FFA22, 0x404FFA23, 0x40500822, 0x40500823, + 0x40501622, 0x40501623, 0x40502422, 0x40502423, 0x40503222, 0x40503223, + 0x40504022, 0x40504023, 0x40504E22, 0x40504E23, 0x40505C22, 0x40505C23, + 0x40506A22, 0x40506A23, 0x40508C22, 0x40508C23, 0x40509A22, 0x40509A23, + 0x4050A822, 0x4050A823, 0x4050B622, 0x4050B623, 0x4050C421, 0x4050D222, + 0x4050D223, 0x4050E022, 0x4050E023, 0x4050EE21, 0x4050FC21, 0x404F1A20, + 0x404F1A21, 0x404F2820, 0x404F2821, 0x404F3620, 0x404F3621, 0x404F4420, + 0x404F4421, 0x404F5221, 0x404F6020, 0x404F6021, 0x404F6E20, 0x404F6E21, + 0x404F7C20, 0x404F7C21, 0x404F8A20, 0x404F9820, + // Block 49, offset 0xc40 + 0x404F9821, 0x404FA620, 0x404FA621, 0x404FB420, 0x404FB421, 0x404FC220, + 0x404FC221, 0x404FD020, 0x404FD021, 0x404FDE20, 0x404FDE21, 0x404FEC20, + 0x404FEC21, 0x404FFA20, 0x404FFA21, 0x40500820, 0x40500821, 0x40501620, + 0x40501621, 0x40502420, 0x40502421, 0x40503220, 0x40503221, 0x40504020, + 0x40504021, 0x40504E20, 0x40504E21, 0x40505C20, 0x40505C21, 0x40506A20, + 0x40506A21, 0x40508C20, 0x40508C21, 0x40509A20, 0x40509A21, 0x4050A820, + 0x4050A821, 0x4050B620, 0x4050B621, 0x4050C420, 0x4050D220, 0x4050D221, + 0x4050E020, 0x4050E021, 0x4050EE20, 0x4050FC20, 0x404F1820, 0x404F1821, + 0x404F2620, 0x404F2621, 0x404F3420, 0x404F3421, 0x404F4220, 0x404F4221, + 0x404F5021, 0x404F5E20, 0x404F5E21, 0x404F6C20, 0x404F6C21, 0x404F7A20, + 0x404F7A21, 0x404F8820, 0x404F9620, 0x404F9621, + // Block 50, offset 0xc80 + 0x404FA420, 0x404FA421, 0x404FB220, 0x404FB221, 0x404FC020, 0x404FC021, + 0x404FCE20, 0x404FCE21, 0x404FDC20, 0x404FDC21, 0x404FEA20, 0x404FEA21, + 0x404FF820, 0x404FF821, 0x40500620, 0x40500621, 0x40501420, 0x40501421, + 0x40502220, 0x40502221, 0x40503020, 0x40503021, 0x40503E20, 0x40503E21, + 0x40504C20, 0x40504C21, 0x40505A20, 0x40505A21, 0x40506820, 0x40506821, + 0x40508A20, 0x40508A21, 0x40509820, 0x40509821, 0x4050A620, 0x4050A621, + 0x4050B420, 0x4050B421, 0x4050C220, 0x4050D020, 0x4050D021, 0x4050DE20, + 0x4050DE21, 0x4050EC20, 0x4050FA20, 0x404F0A21, 0x404F0A20, 0x404F0821, + 0x404F0820, 0x404EE620, 0x404F5420, 0x404F4C20, 0x40507620, 0x40507A20, + 0x404F1C20, 0x404F1C21, 0x404F2A20, 0x404F2A21, 0x404F3820, 0x404F3821, + 0x404F4620, 0x404F4621, 0x404F5421, 0x404F6220, + // Block 51, offset 0xcc0 + 0x404F6221, 0x404F7020, 0x404F7021, 0x404F7E20, 0x404F7E21, 0x404F8C20, + 0x404F9A20, 0x404F9A21, 0x404FA820, 0x404FA821, 0x404FB620, 0x404FB621, + 0x404FC420, 0x404FC421, 0x404FD220, 0x404FD221, 0x404FE020, 0x404FE021, + 0x404FEE20, 0x404FEE21, 0x404FFC20, 0x404FFC21, 0x40500A20, 0x40500A21, + 0x40501820, 0x40501821, 0x40502620, 0x40502621, 0x40503420, 0x40503421, + 0x40504220, 0x40504221, 0x40505020, 0x40505021, 0x40505E20, 0x40505E21, + 0x40506C20, 0x40506C21, 0x40508E20, 0x40508E21, 0x40509C20, 0x40509C21, + 0x4050AA20, 0x4050AA21, 0x4050B820, 0x4050B821, 0x4050C620, 0x4050D420, + 0x4050D421, 0x4050E220, 0x4050E221, 0x4050F020, 0x4050FE20, 0x404F1420, + 0x404F1421, 0x404F2220, 0x404F2221, 0x404F3020, 0x404F3021, 0x404F3E20, + 0x404F3E21, 0x404F4C21, 0x404F5A20, 0x404F5A21, + // Block 52, offset 0xd00 + 0x404F6820, 0x404F6821, 0x404F7620, 0x404F7621, 0x404F8420, 0x404F9220, + 0x404F9221, 0x404FA020, 0x404FA021, 0x404FAE20, 0x404FAE21, 0x404FBC20, + 0x404FBC21, 0x404FCA20, 0x404FCA21, 0x404FD820, 0x404FD821, 0x404FE620, + 0x404FE621, 0x404FF420, 0x404FF421, 0x40500220, 0x40500221, 0x40501020, + 0x40501021, 0x40501E20, 0x40501E21, 0x40502C20, 0x40502C21, 0x40503A20, + 0x40503A21, 0x40504820, 0x40504821, 0x40505620, 0x40505621, 0x40506420, + 0x40506421, 0x40507220, 0x40507221, 0x40509420, 0x40509421, 0x4050A220, + 0x4050A221, 0x4050B020, 0x4050B021, 0x4050BE20, 0x4050CC20, 0x4050CC21, + 0x4050DA20, 0x4050DA21, 0x4050E820, 0x4050F620, 0x40507820, 0x40507C20, + 0x404F0E20, 0x40507420, 0x404E1420, 0x404F1020, 0x404F1021, 0x404EDE20, + 0x404F4A20, 0x404F1220, 0x404F1221, 0x404F2020, + // Block 53, offset 0xd40 + 0x404F2021, 0x404F2E20, 0x404F2E21, 0x404F3C20, 0x404F3C21, 0x404F4A21, + 0x404F5820, 0x404F5821, 0x404F6620, 0x404F6621, 0x404F7420, 0x404F7421, + 0x404F8220, 0x404F9020, 0x404F9021, 0x404F9E20, 0x404F9E21, 0x404FAC20, + 0x404FAC21, 0x404FBA20, 0x404FBA21, 0x404FC820, 0x404FC821, 0x404FD620, + 0x404FD621, 0x404FE420, 0x404FE421, 0x404FF220, 0x404FF221, 0x40500020, + 0x40500021, 0x40500E20, 0x40500E21, 0x40501C20, 0x40501C21, 0x40502A20, + 0x40502A21, 0x40503820, 0x40503821, 0x40504620, 0x40504621, 0x40505420, + 0x40505421, 0x40506220, 0x40506221, 0x40507020, 0x40507021, 0x40509220, + 0x40509221, 0x4050A020, 0x4050A021, 0x4050AE20, 0x4050AE21, 0x4050BC20, + 0x4050CA20, 0x4050CA21, 0x4050D820, 0x4050D821, 0x4050E620, 0x4050F420, + 0x404EDE21, 0x404F4A22, 0x404F1222, 0x404F1223, + // Block 54, offset 0xd80 + 0x404F2022, 0x404F2023, 0x404F2E22, 0x404F2E23, 0x404F3C22, 0x404F3C23, + 0x404F4A23, 0x404F5822, 0x404F5823, 0x404F6622, 0x404F6623, 0x404F7422, + 0x404F7423, 0x404F8221, 0x404F9022, 0x404F9023, 0x404F9E22, 0x404F9E23, + 0x404FAC22, 0x404FAC23, 0x404FBA22, 0x404FBA23, 0x404FC822, 0x404FC823, + 0x404FD622, 0x404FD623, 0x404FE422, 0x404FE423, 0x404FF222, 0x404FF223, + 0x40500022, 0x40500023, 0x40500E22, 0x40500E23, 0x40501C22, 0x40501C23, + 0x40502A22, 0x40502A23, 0x40503822, 0x40503823, 0x40504622, 0x40504623, + 0x40505422, 0x40505423, 0x40506222, 0x40506223, 0x40507022, 0x40507023, + 0x40509222, 0x40509223, 0x4050A022, 0x4050A023, 0x4050AE22, 0x4050AE23, + 0x4050BC21, 0x4050CA22, 0x4050CA23, 0x4050D822, 0x4050D823, 0x4050E621, + 0x4050F421, 0x404EEE20, 0x404F4E20, 0x40508220, + // Block 55, offset 0xdc0 + 0x40508620, 0x404F1620, 0x404F1621, 0x404F2420, 0x404F2421, 0x404F3220, + 0x404F3221, 0x404F4020, 0x404F4021, 0x404F4E21, 0x404F5C20, 0x404F5C21, + 0x404F6A20, 0x404F6A21, 0x404F7820, 0x404F7821, 0x404F8620, 0x404F9420, + 0x404F9421, 0x404FA220, 0x404FA221, 0x404FB020, 0x404FB021, 0x404FBE20, + 0x404FBE21, 0x404FCC20, 0x404FCC21, 0x404FDA20, 0x404FDA21, 0x404FE820, + 0x404FE821, 0x404FF620, 0x404FF621, 0x40500420, 0x40500421, 0x40501220, + 0x40501221, 0x40502020, 0x40502021, 0x40502E20, 0x40502E21, 0x40503C20, + 0x40503C21, 0x40504A20, 0x40504A21, 0x40505820, 0x40505821, 0x40506620, + 0x40506621, 0x40507E20, 0x40507E21, 0x40509620, 0x40509621, 0x4050A420, + 0x4050A421, 0x4050B220, 0x4050B221, 0x4050C020, 0x4050CE20, 0x4050CE21, + 0x4050DC20, 0x4050DC21, 0x4050EA20, 0x4050F820, + // Block 56, offset 0xe00 + 0x40508420, 0x40508820, 0x40508020, 0x404E1820, 0x404F1E20, 0x404F1E21, + 0x404E1C20, 0x404F2C20, 0x404F2C21, 0x404F2E20, 0x404F3220, 0x404E2220, + 0x404F3A20, 0x404F3A21, 0x404E2420, 0x404F4820, 0x404F4821, 0x404E2820, + 0x404F5620, 0x404F5621, 0x404E2E20, 0x404F6420, 0x404F6421, 0x404E3220, + 0x404F7220, 0x404F7221, 0x404E3A20, 0x404F8020, 0x404E4220, 0x404F8E20, + 0x404F8E21, 0x404E4820, 0x404F9C20, 0x404F9C21, 0x404E4A20, 0x404FAA20, + 0x404FAA21, 0x404E4E20, 0x404FB820, 0x404FB821, 0x404E5220, 0x404FC620, + 0x404FC621, 0x404E5620, 0x404FD420, 0x404FD421, 0x404E5A20, 0x404FE220, + 0x404FE221, 0x404E5E20, 0x404FF020, 0x404FF021, 0x404E6220, 0x40500C20, + 0x40500C21, 0x404E6620, 0x40501A20, 0x40501A21, 0x404E7220, 0x40503620, + 0x40503621, 0x404E7420, 0x40504420, 0x40504421, + // Block 57, offset 0xe40 + 0x404E7E20, 0x40505220, 0x40505221, 0x404E8220, 0x40506020, 0x40506021, + 0x404E8420, 0x40506E20, 0x40506E21, 0x404E8820, 0x40509020, 0x40509021, + 0x404E8C20, 0x40509E20, 0x40509E21, 0x404E9820, 0x4050BA20, 0x404EAA20, + 0x4050D620, 0x4050D621, 0x404EB620, 0x4050E420, 0x404EC220, 0x4050F220, + 0x40510420, 0x40511A20, 0x40511020, 0x40511420, 0x40510620, 0x40511C20, + 0x40511220, 0x40511620, 0x40510A20, 0x40511820, 0x402BDE20, 0x40320C21, + 0x40321020, 0x40321021, 0x002BDE88, 0x00320CA3, 0x00321083, 0x003210A4, + 0x003210A3, 0x402C9820, 0x402C9A20, 0x002C9888, 0x002C9A83, 0x402C3A20, + 0x40312C20, 0x002C3A88, 0x00312C84, 0x00312C83, 0x402C6220, 0x40312E20, + 0x002C6288, 0x00312E84, 0x00312E83, 0x402DFE20, 0x40313020, 0x002DFE88, + 0x00313084, 0x00313083, 0x402E9E20, 0x40313220, + // Block 58, offset 0xe80 + 0x002E9E88, 0x00313284, 0x00313283, 0x402F2C20, 0x40313420, 0x002F2C88, + 0x00313484, 0x00313483, 0x402FE620, 0x40313620, 0x002FE688, 0x00313683, + 0x40421220, 0x40425A20, 0x402BDE20, 0x402BE020, 0x002BDE88, 0x002BE083, + 0x40312A20, 0x40312C20, 0x40312E20, 0x00312A88, 0x00312C83, 0x00312E83, + 0x40393820, 0x40393620, 0x40393821, 0x40393824, 0x40397220, 0x40396621, + 0x403A6821, 0x003A6883, 0x403A6820, 0x003A6884, 0x403A7420, 0x403A7421, + 0x403A9220, 0x403A9226, 0x403A9221, 0x003A9343, 0x403A9223, 0x003A9344, + 0x402BDE20, 0x402BE220, 0x402BE020, 0x002BDE88, 0x002BE283, 0x002BE083, + 0x402FE620, 0x402FE820, 0x402FE820, 0x002FE688, 0x002FE883, 0x002FE883, + 0x40302C20, 0x40302E20, 0x40302E20, 0x00302C88, 0x00302E83, 0x00302E83, + 0x402BDE20, 0x402C0820, 0x40320E21, 0x40320C21, + // Block 59, offset 0xec0 + 0x40320E20, 0x40320C20, 0x002BDE88, 0x002C0883, 0x00320EA3, 0x00320CA3, + 0x00320E83, 0x00320C83, 0x402C3A20, 0x402C5C20, 0x002C3A88, 0x002C5C83, + 0x402C5E20, 0x402C6020, 0x002C5E83, 0x002C6083, 0x402D2220, 0x402D6420, + 0x002D2288, 0x002D6483, 0x402E9E20, 0x402EE021, 0x402EE022, 0x002E9E88, + 0x002EE0A3, 0x002EE0C3, 0x40312A20, 0x40320620, 0x00312A88, 0x00320683, + 0x402EE220, 0x40321023, 0x40321022, 0x40321020, 0x40321021, 0x40321024, + 0x002EE288, 0x003210E3, 0x003210C3, 0x00321083, 0x003210A3, 0x00321103, + 0x402C6220, 0x402C9620, 0x002C6288, 0x002C9684, 0x002C9683, 0x002D2288, + 0x002D6684, 0x002D6683, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E8020, + 0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E8084, 0x002E8083, 0x002E9E88, + 0x002EE084, 0x002EE083, 0x002F7A88, 0x002FE484, + // Block 60, offset 0xf00 + 0x002FE483, 0x002FE688, 0x00302A84, 0x00302A83, 0x40302C20, 0x40306A20, + 0x00302C88, 0x00306A84, 0x00306A83, 0x4030F620, 0x4030FE20, 0x0030F688, + 0x0030FE84, 0x0030FE83, 0x00312A88, 0x00316284, 0x00316283, 0x402C9820, + 0x40320E22, 0x002C9888, 0x00320EC3, 0x402EE220, 0x40321024, 0x40321020, + 0x40321022, 0x002EE288, 0x00321103, 0x00321083, 0x003210C3, 0x40429820, + 0x4042C220, 0x4042C420, 0x40429620, 0x40429A20, 0x40429820, 0x40429C20, + 0x40429A20, 0x40429E20, 0x40429C20, 0x4042A020, 0x40429E20, 0x4042A220, + 0x4042A020, 0x4042A420, 0x4042A220, 0x4042A620, 0x4042A420, 0x4042A820, + 0x4042A620, 0x4042AA20, 0x4042A820, 0x4042AC20, 0x4042AA20, 0x4042AE20, + 0x4042AC20, 0x4042B020, 0x4042AE20, 0x4042B220, 0x4042B020, 0x4042B420, + 0x4042B220, 0x4042B620, 0x4042B420, 0x4042B820, + // Block 61, offset 0xf40 + 0x4042B620, 0x4042BA20, 0x4042B820, 0x4042BC20, 0x4042BA20, 0x4042BE20, + 0x4042BC20, 0x4042C020, 0x4042BE20, 0x4042C220, 0x4042C020, 0x4042C420, + 0x4042C220, 0x40496C20, 0xE000AE0D, 0xE000AE10, 0x402BDE20, 0x402BDE21, + 0x402BDE22, 0x002BDE88, 0x002BDEA3, 0x002BDEC3, 0x402C9820, 0x402C9821, + 0x402C9822, 0x002C9888, 0x002C98A3, 0x002C98C3, 0x402D9A20, 0x402D9A21, + 0x402D9A22, 0x002D9A88, 0x002D9AA3, 0x002D9AC3, 0x402EE220, 0x402EE221, + 0x402EE222, 0x002EE288, 0x002EE2A3, 0x002EE2C3, 0x40306C20, 0x40306C21, + 0x40306C22, 0x00306C88, 0x00306CA3, 0x00306CC3, 0x40393820, 0x40393A20, + 0x40393821, 0x40392820, 0x40393C20, 0x40393E20, 0x40394020, 0x40394220, + 0x40394420, 0x40394620, 0x40394820, 0x40394A20, 0x40394E20, 0x40395020, + 0x40395220, 0x40395420, 0x40395A20, 0x40395C20, + // Block 62, offset 0xf80 + 0x40395E20, 0x40396020, 0x40396420, 0x40396620, 0x40396820, 0x40396A20, + 0x40398420, 0x40398620, 0x40398820, 0x40398A20, 0x40398C20, 0x40398E20, + 0x40399020, 0x40399220, 0x40399420, 0x40399620, 0x40399820, 0x40399A20, + 0x40399C20, 0x40399C21, 0x40399E20, 0x4039A020, 0x4039A021, 0x403A9020, + 0x4039A821, 0x4039A820, 0x4039AA20, 0x4039AC20, 0x4039AC21, 0x402EE220, + 0x402EE420, 0x402EE620, 0x002EE288, 0x002EE483, 0x002EE683, 0x402BDE20, + 0xE0000966, 0xE000B3B3, 0xE0000958, 0xE0000966, 0x402C3A20, 0xE0000A41, + 0x402C9820, 0xE000B3B6, 0x402D9A20, 0xE000B3B9, 0x402EE220, 0xE0000DE3, + 0xE000B3BC, 0xE0000DCF, 0xE0000DE3, 0x402FE620, 0xE0000F30, 0x40306C20, + 0xE0001028, 0xE000B3BF, 0xE0000FFC, 0xE0001028, 0x402BDE20, 0x402BDE1F, + 0x402BDE1D, 0x402BDE1C, 0x402BDE1E, 0x002BDE88, + // Block 63, offset 0xfc0 + 0x002BDE63, 0x002BDE23, 0x002BDE03, 0x002BDE43, 0x402C9820, 0x402C9824, + 0x402C9822, 0x402C9821, 0x402C9823, 0x402C981F, 0x402C981D, 0x402C981C, + 0x402C981E, 0x002C9888, 0x002C9903, 0x002C98C3, 0x002C98A3, 0x002C98E3, + 0x002C9863, 0x002C9823, 0x002C9803, 0x002C9843, 0xE0000AF1, 0x402C9821, + 0x402C9823, 0xE0000AF4, 0x002C98A3, 0x002C98E3, 0x402D9A20, 0x402D9A1F, + 0x402D9A1D, 0x402D9A1C, 0x402D9A1E, 0x002D9A88, 0x002D9A63, 0x002D9A23, + 0x002D9A03, 0x002D9A43, 0x402E8220, 0x402E821F, 0x402E821D, 0x402E821C, + 0x402E821E, 0x002E8288, 0x002E8263, 0x002E8223, 0x002E8203, 0x002E8243, + 0x402E9E20, 0x402E9E1F, 0x402E9E1D, 0x402E9E1C, 0x402E9E1E, 0x002E9E88, + 0x002E9E63, 0x002E9E23, 0x002E9E03, 0x002E9E43, 0x402EE220, 0x402EE21F, + 0x402EE21D, 0x402EE21C, 0x402EE21E, 0x002EE288, + // Block 64, offset 0x1000 + 0x002EE263, 0x002EE223, 0x002EE203, 0x002EE243, 0x40306C20, 0x40306C24, + 0x40306C22, 0x40306C21, 0x40306C23, 0x40306C1F, 0x40306C1D, 0x40306C1C, + 0x40306C25, 0x40306C1E, 0x00306C88, 0x00306D03, 0x00306CC3, 0x00306CA3, + 0x00306CE3, 0x00306C63, 0x00306C23, 0x00306C03, 0x00306D23, 0x00306C43, +} + +// mainValues: 251456 entries, 1005824 bytes +// Block 2 is the null block. +var mainValues = [251456]uint32{ + // Block 0x0, offset 0x0 + 0x0000: 0xa0000000, 0x0001: 0xa0000000, 0x0002: 0xa0000000, 0x0003: 0xa0000000, + 0x0004: 0xa0000000, 0x0005: 0xa0000000, 0x0006: 0xa0000000, 0x0007: 0xa0000000, + 0x0008: 0xa0000000, 0x0009: 0x40020020, 0x000a: 0x40020220, 0x000b: 0x40020420, + 0x000c: 0x40020620, 0x000d: 0x40020820, 0x000e: 0xa0000000, 0x000f: 0xa0000000, + 0x0010: 0xa0000000, 0x0011: 0xa0000000, 0x0012: 0xa0000000, 0x0013: 0xa0000000, + 0x0014: 0xa0000000, 0x0015: 0xa0000000, 0x0016: 0xa0000000, 0x0017: 0xa0000000, + 0x0018: 0xa0000000, 0x0019: 0xa0000000, 0x001a: 0xa0000000, 0x001b: 0xa0000000, + 0x001c: 0xa0000000, 0x001d: 0xa0000000, 0x001e: 0xa0000000, 0x001f: 0xa0000000, + 0x0020: 0x40021220, 0x0021: 0x4002ba20, 0x0022: 0x4003e020, 0x0023: 0x4004ea20, + 0x0024: 0x4027de20, 0x0025: 0x4004ec20, 0x0026: 0x4004e620, 0x0027: 0x4003d220, + 0x0028: 0x4003f420, 0x0029: 0x4003f620, 0x002a: 0x4004d820, 0x002b: 0x40093820, + 0x002c: 0x40024020, 0x002d: 0x40021a20, 0x002e: 0x4002e420, 0x002f: 0x4004e220, + 0x0030: 0x4029cc20, 0x0031: 0x4029ce20, 0x0032: 0x4029d020, 0x0033: 0x4029d220, + 0x0034: 0x4029d420, 0x0035: 0x4029d620, 0x0036: 0x4029d820, 0x0037: 0x4029da20, + 0x0038: 0x4029dc20, 0x0039: 0x4029de20, 0x003a: 0x40026c20, 0x003b: 0x40026220, + 0x003c: 0x40094020, 0x003d: 0x40094220, 0x003e: 0x40094420, 0x003f: 0x4002c420, + // Block 0x1, offset 0x40 + 0x0040: 0x4004d620, 0x0041: 0x002bde88, 0x0042: 0x002c0a88, 0x0043: 0x002c3a88, + 0x0044: 0x002c6288, 0x0045: 0x002c9888, 0x0046: 0x002d0888, 0x0047: 0x002d2288, + 0x0048: 0x002d6888, 0x0049: 0x002d9a88, 0x004a: 0x002dcc88, 0x004b: 0x002dfe88, + 0x004c: 0xc0030002, 0x004d: 0x002e8288, 0x004e: 0x002e9e88, 0x004f: 0x002ee288, + 0x0050: 0x002f2c88, 0x0051: 0x002f5688, 0x0052: 0x002f7a88, 0x0053: 0x002fe688, + 0x0054: 0x00302c88, 0x0055: 0x00306c88, 0x0056: 0x0030be88, 0x0057: 0x0030e288, + 0x0058: 0x0030f688, 0x0059: 0x00310088, 0x005a: 0x00312a88, 0x005b: 0x4003f820, + 0x005c: 0x4004e420, 0x005d: 0x4003fa20, 0x005e: 0x40062420, 0x005f: 0x40021620, + 0x0060: 0x40061e20, 0x0061: 0x402bde20, 0x0062: 0x402c0a20, 0x0063: 0x402c3a20, + 0x0064: 0x402c6220, 0x0065: 0x402c9820, 0x0066: 0x402d0820, 0x0067: 0x402d2220, + 0x0068: 0x402d6820, 0x0069: 0x402d9a20, 0x006a: 0x402dcc20, 0x006b: 0x402dfe20, + 0x006c: 0xc0000002, 0x006d: 0x402e8220, 0x006e: 0x402e9e20, 0x006f: 0x402ee220, + 0x0070: 0x402f2c20, 0x0071: 0x402f5620, 0x0072: 0x402f7a20, 0x0073: 0x402fe620, + 0x0074: 0x40302c20, 0x0075: 0x40306c20, 0x0076: 0x4030be20, 0x0077: 0x4030e220, + 0x0078: 0x4030f620, 0x0079: 0x40310020, 0x007a: 0x40312a20, 0x007b: 0x4003fc20, + 0x007c: 0x40094820, 0x007d: 0x4003fe20, 0x007e: 0x40094c20, 0x007f: 0xa0000000, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0x00c0: 0xa0000000, 0x00c1: 0xa0000000, 0x00c2: 0xa0000000, 0x00c3: 0xa0000000, + 0x00c4: 0xa0000000, 0x00c5: 0x40020a20, 0x00c6: 0xa0000000, 0x00c7: 0xa0000000, + 0x00c8: 0xa0000000, 0x00c9: 0xa0000000, 0x00ca: 0xa0000000, 0x00cb: 0xa0000000, + 0x00cc: 0xa0000000, 0x00cd: 0xa0000000, 0x00ce: 0xa0000000, 0x00cf: 0xa0000000, + 0x00d0: 0xa0000000, 0x00d1: 0xa0000000, 0x00d2: 0xa0000000, 0x00d3: 0xa0000000, + 0x00d4: 0xa0000000, 0x00d5: 0xa0000000, 0x00d6: 0xa0000000, 0x00d7: 0xa0000000, + 0x00d8: 0xa0000000, 0x00d9: 0xa0000000, 0x00da: 0xa0000000, 0x00db: 0xa0000000, + 0x00dc: 0xa0000000, 0x00dd: 0xa0000000, 0x00de: 0xa0000000, 0x00df: 0xa0000000, + 0x00e0: 0x0002129b, 0x00e1: 0x4002bc20, 0x00e2: 0x4027dc20, 0x00e3: 0x4027e020, + 0x00e4: 0x4027da20, 0x00e5: 0x4027e220, 0x00e6: 0x40094a20, 0x00e7: 0x4004ce20, + 0x00e8: 0x40062c20, 0x00e9: 0x40081820, 0x00ea: 0x002bde94, 0x00eb: 0x4003f020, + 0x00ec: 0x40094620, 0x00ed: 0xa0000000, 0x00ee: 0x40081a20, 0x00ef: 0x40062620, + 0x00f0: 0x40070420, 0x00f1: 0x40093a20, 0x00f2: 0x0029d094, 0x00f3: 0x0029d294, + 0x00f4: 0x40062020, 0x00f5: 0x00327684, 0x00f6: 0x4004d220, 0x00f7: 0x40030620, + 0x00f8: 0x40063220, 0x00f9: 0x0029ce94, 0x00fa: 0x002ee294, 0x00fb: 0x4003f220, + 0x00fc: 0xe00002bf, 0x00fd: 0xe00002b7, 0x00fe: 0xe00004a7, 0x00ff: 0x4002c620, + // Block 0x4, offset 0x100 + 0x0100: 0xe00008f5, 0x0101: 0xe00008ef, 0x0102: 0xe0000921, 0x0103: 0xe0000969, + 0x0104: 0xe000095b, 0x0105: 0xe000094d, 0x0106: 0xe00009dd, 0x0107: 0xe0000a53, + 0x0108: 0xe0000ae8, 0x0109: 0xe0000ae2, 0x010a: 0xe0000af4, 0x010b: 0xe0000b20, + 0x010c: 0xe0000c2b, 0x010d: 0xe0000c25, 0x010e: 0xe0000c37, 0x010f: 0xe0000c43, + 0x0110: 0xe0000ab3, 0x0111: 0xe0000d63, 0x0112: 0xe0000d9a, 0x0113: 0xe0000d94, + 0x0114: 0xe0000da6, 0x0115: 0xe0000de6, 0x0116: 0xe0000dd2, 0x0117: 0x40093e20, + 0x0118: 0xe0000e12, 0x0119: 0xe0000fe1, 0x011a: 0xe0000fdb, 0x011b: 0xe0000fed, + 0x011c: 0xe0000fff, 0x011d: 0xe0001102, 0x011e: 0x00318888, 0x011f: 0xe0000f7b, + 0x0120: 0xe00008f2, 0x0121: 0xe00008ec, 0x0122: 0xe000091e, 0x0123: 0xe0000966, + 0x0124: 0xe0000958, 0x0125: 0xe000094a, 0x0126: 0xe00009d5, 0x0127: 0xe0000a4d, + 0x0128: 0xe0000ae5, 0x0129: 0xe0000adf, 0x012a: 0xe0000af1, 0x012b: 0xe0000b1d, + 0x012c: 0xe0000c28, 0x012d: 0xe0000c22, 0x012e: 0xe0000c34, 0x012f: 0xe0000c40, + 0x0130: 0xe0000aad, 0x0131: 0xe0000d60, 0x0132: 0xe0000d97, 0x0133: 0xe0000d91, + 0x0134: 0xe0000da3, 0x0135: 0xe0000de3, 0x0136: 0xe0000dcf, 0x0137: 0x40093c20, + 0x0138: 0xe0000e0f, 0x0139: 0xe0000fde, 0x013a: 0xe0000fd8, 0x013b: 0xe0000fea, + 0x013c: 0xe0000ffc, 0x013d: 0xe00010ff, 0x013e: 0x40318820, 0x013f: 0xe0001114, + // Block 0x5, offset 0x140 + 0x0140: 0xe0000983, 0x0141: 0xe0000980, 0x0142: 0xe00008fb, 0x0143: 0xe00008f8, + 0x0144: 0xe000097d, 0x0145: 0xe000097a, 0x0146: 0xe0000a38, 0x0147: 0xe0000a35, + 0x0148: 0xe0000a3e, 0x0149: 0xe0000a3b, 0x014a: 0xe0000a4a, 0x014b: 0xe0000a47, + 0x014c: 0xe0000a44, 0x014d: 0xe0000a41, 0x014e: 0xe0000a86, 0x014f: 0xe0000a83, + 0x0150: 0xe0000aaa, 0x0151: 0xe0000aa7, 0x0152: 0xe0000b46, 0x0153: 0xe0000b43, + 0x0154: 0xe0000aee, 0x0155: 0xe0000aeb, 0x0156: 0xe0000b2c, 0x0157: 0xe0000b29, + 0x0158: 0xe0000b40, 0x0159: 0xe0000b3d, 0x015a: 0xe0000b1a, 0x015b: 0xe0000b17, + 0x015c: 0xe0000bb8, 0x015d: 0xe0000bb5, 0x015e: 0xe0000bb2, 0x015f: 0xe0000baf, + 0x0160: 0xe0000bc4, 0x0161: 0xe0000bc1, 0x0162: 0xe0000bca, 0x0163: 0xe0000bc7, + 0x0164: 0xe0000bee, 0x0165: 0xe0000beb, 0x0166: 0xe0000c1b, 0x0167: 0xe0000c18, + 0x0168: 0xe0000c51, 0x0169: 0xe0000c4e, 0x016a: 0xe0000c60, 0x016b: 0xe0000c5d, + 0x016c: 0xe0000c31, 0x016d: 0xe0000c2e, 0x016e: 0xe0000c5a, 0x016f: 0xe0000c57, + 0x0170: 0xe0000c54, 0x0171: 0x402da220, 0x0172: 0xf0000a0a, 0x0173: 0xf0000404, + 0x0174: 0xe0000c8a, 0x0175: 0xe0000c87, 0x0176: 0xe0000c9f, 0x0177: 0xe0000c9c, + 0x0178: 0x402f7220, 0x0179: 0xe0000ccc, 0x017a: 0xe0000cc9, 0x017b: 0xe0000cd8, + 0x017c: 0xe0000cd5, 0x017d: 0xe0000cd2, 0x017e: 0xe0000ccf, 0x017f: 0xe0000d04, + // Block 0x6, offset 0x180 + 0x0180: 0xe0000cfe, 0x0181: 0xe0000cf8, 0x0182: 0xe0000cf5, 0x0183: 0xe0000d51, + 0x0184: 0xe0000d4e, 0x0185: 0xe0000d6f, 0x0186: 0xe0000d6c, 0x0187: 0xe0000d5d, + 0x0188: 0xe0000d5a, 0x0189: 0xf0000404, 0x018a: 0x002eda88, 0x018b: 0x402eda20, + 0x018c: 0xe0000e2e, 0x018d: 0xe0000e2b, 0x018e: 0xe0000da0, 0x018f: 0xe0000d9d, + 0x0190: 0xe0000de0, 0x0191: 0xe0000ddd, 0x0192: 0xe0000e93, 0x0193: 0xe0000e8f, + 0x0194: 0xe0000eca, 0x0195: 0xe0000ec7, 0x0196: 0xe0000edc, 0x0197: 0xe0000ed9, + 0x0198: 0xe0000ed0, 0x0199: 0xe0000ecd, 0x019a: 0xe0000f1f, 0x019b: 0xe0000f1c, + 0x019c: 0xe0000f2d, 0x019d: 0xe0000f2a, 0x019e: 0xe0000f47, 0x019f: 0xe0000f44, + 0x01a0: 0xe0000f33, 0x01a1: 0xe0000f30, 0x01a2: 0xe0000f99, 0x01a3: 0xe0000f96, + 0x01a4: 0xe0000f8a, 0x01a5: 0xe0000f87, 0x01a6: 0x00303688, 0x01a7: 0x40303620, + 0x01a8: 0xe000102b, 0x01a9: 0xe0001028, 0x01aa: 0xe000103f, 0x01ab: 0xe000103c, + 0x01ac: 0xe0000fe7, 0x01ad: 0xe0000fe4, 0x01ae: 0xe0000ff9, 0x01af: 0xe0000ff6, + 0x01b0: 0xe0001025, 0x01b1: 0xe0001022, 0x01b2: 0xe0001039, 0x01b3: 0xe0001036, + 0x01b4: 0xe00010d8, 0x01b5: 0xe00010d5, 0x01b6: 0xe000110e, 0x01b7: 0xe000110b, + 0x01b8: 0xe0001117, 0x01b9: 0xe000113b, 0x01ba: 0xe0001138, 0x01bb: 0xe000114d, + 0x01bc: 0xe000114a, 0x01bd: 0xe0001147, 0x01be: 0xe0001144, 0x01bf: 0xe0000f64, + // Block 0x7, offset 0x1c0 + 0x01c0: 0x402c1a20, 0x01c1: 0x002c2a88, 0x01c2: 0x002c3288, 0x01c3: 0x402c3220, + 0x01c4: 0x0031c488, 0x01c5: 0x4031c420, 0x01c6: 0x002efa88, 0x01c7: 0x002c4e88, + 0x01c8: 0x402c4e20, 0x01c9: 0x002c7288, 0x01ca: 0x002c7a88, 0x01cb: 0x002c8488, + 0x01cc: 0x402c8420, 0x01cd: 0xe000115c, 0x01ce: 0x002cae88, 0x01cf: 0x002cb888, + 0x01d0: 0x002cc288, 0x01d1: 0x002d1688, 0x01d2: 0x402d1620, 0x01d3: 0x002d4488, + 0x01d4: 0x002d5888, 0x01d5: 0x402d7820, 0x01d6: 0x002dc288, 0x01d7: 0x002db688, + 0x01d8: 0x002e0a88, 0x01d9: 0x402e0a20, 0x01da: 0x402e3820, 0x01db: 0x402e7220, + 0x01dc: 0x0030a088, 0x01dd: 0x002eb488, 0x01de: 0x402ebc20, 0x01df: 0x002f1088, + 0x01e0: 0xe0000e56, 0x01e1: 0xe0000e53, 0x01e2: 0x002d6088, 0x01e3: 0x402d6020, + 0x01e4: 0x002f3e88, 0x01e5: 0x402f3e20, 0x01e6: 0x002f8288, 0x01e7: 0x0031b488, + 0x01e8: 0x4031b420, 0x01e9: 0x00300888, 0x01ea: 0x40301220, 0x01eb: 0x40304220, + 0x01ec: 0x00304a88, 0x01ed: 0x40304a20, 0x01ee: 0x00305288, 0x01ef: 0xe000105f, + 0x01f0: 0xe000105c, 0x01f1: 0x0030b488, 0x01f2: 0x0030cc88, 0x01f3: 0x00311888, + 0x01f4: 0x40311820, 0x01f5: 0x00313488, 0x01f6: 0x40313420, 0x01f7: 0x00316488, + 0x01f8: 0x00316e88, 0x01f9: 0x40316e20, 0x01fa: 0x40317820, 0x01fb: 0x4031a620, + 0x01fc: 0x0031bc88, 0x01fd: 0x4031bc20, 0x01fe: 0xe0000fc9, 0x01ff: 0x40319420, + // Block 0x8, offset 0x200 + 0x0200: 0x40321220, 0x0201: 0x40321a20, 0x0202: 0x40322220, 0x0203: 0x40322a20, + 0x0204: 0xe0000ad5, 0x0205: 0xe0000ad1, 0x0206: 0xe0000acd, 0x0207: 0xf0000a0a, + 0x0208: 0xf000040a, 0x0209: 0xf0000404, 0x020a: 0xf0000a0a, 0x020b: 0xf000040a, + 0x020c: 0xf0000404, 0x020d: 0xe0000947, 0x020e: 0xe0000944, 0x020f: 0xe0000c3d, + 0x0210: 0xe0000c3a, 0x0211: 0xe0000dcc, 0x0212: 0xe0000dc9, 0x0213: 0xe0000ff3, + 0x0214: 0xe0000ff0, 0x0215: 0xe000101e, 0x0216: 0xe000101a, 0x0217: 0xe0001006, + 0x0218: 0xe0001002, 0x0219: 0xe0001016, 0x021a: 0xe0001012, 0x021b: 0xe000100e, + 0x021c: 0xe000100a, 0x021d: 0x402cae20, 0x021e: 0xe0000962, 0x021f: 0xe000095e, + 0x0220: 0xe0000976, 0x0221: 0xe0000972, 0x0222: 0xe00009f4, 0x0223: 0xe00009ef, + 0x0224: 0x002d3a88, 0x0225: 0x402d3a20, 0x0226: 0xe0000bbe, 0x0227: 0xe0000bbb, + 0x0228: 0xe0000c99, 0x0229: 0xe0000c96, 0x022a: 0xe0000e20, 0x022b: 0xe0000e1d, + 0x022c: 0xe0000e27, 0x022d: 0xe0000e23, 0x022e: 0xe0001162, 0x022f: 0xe000115f, + 0x0230: 0xe0000c8d, 0x0231: 0xf0000a0a, 0x0232: 0xf000040a, 0x0233: 0xf0000404, + 0x0234: 0xe0000bac, 0x0235: 0xe0000ba9, 0x0236: 0x002d7888, 0x0237: 0x00319488, + 0x0238: 0xe0000d57, 0x0239: 0xe0000d54, 0x023a: 0xe0000954, 0x023b: 0xe0000950, + 0x023c: 0xe00009ea, 0x023d: 0xe00009e5, 0x023e: 0xe0000e19, 0x023f: 0xe0000e15, + // Block 0x9, offset 0x240 + 0x0240: 0xe000098f, 0x0241: 0xe000098c, 0x0242: 0xe0000995, 0x0243: 0xe0000992, + 0x0244: 0xe0000b62, 0x0245: 0xe0000b5f, 0x0246: 0xe0000b68, 0x0247: 0xe0000b65, + 0x0248: 0xe0000c6c, 0x0249: 0xe0000c69, 0x024a: 0xe0000c72, 0x024b: 0xe0000c6f, + 0x024c: 0xe0000e4a, 0x024d: 0xe0000e47, 0x024e: 0xe0000e50, 0x024f: 0xe0000e4d, + 0x0250: 0xe0000ee8, 0x0251: 0xe0000ee5, 0x0252: 0xe0000eee, 0x0253: 0xe0000eeb, + 0x0254: 0xe0001053, 0x0255: 0xe0001050, 0x0256: 0xe0001059, 0x0257: 0xe0001056, + 0x0258: 0xe0000f61, 0x0259: 0xe0000f5e, 0x025a: 0xe0000fa5, 0x025b: 0xe0000fa2, + 0x025c: 0x00312288, 0x025d: 0x40312220, 0x025e: 0xe0000bf4, 0x025f: 0xe0000bf1, + 0x0260: 0x002ebc88, 0x0261: 0x402c8c20, 0x0262: 0x002f2288, 0x0263: 0x402f2220, + 0x0264: 0x00314088, 0x0265: 0x40314020, 0x0266: 0xe000096f, 0x0267: 0xe000096c, + 0x0268: 0xe0000b32, 0x0269: 0xe0000b2f, 0x026a: 0xe0000dd9, 0x026b: 0xe0000dd5, + 0x026c: 0xe0000dfd, 0x026d: 0xe0000df9, 0x026e: 0xe0000e04, 0x026f: 0xe0000e01, + 0x0270: 0xe0000e0b, 0x0271: 0xe0000e07, 0x0272: 0xe0001129, 0x0273: 0xe0001126, + 0x0274: 0x402e5e20, 0x0275: 0x402ed020, 0x0276: 0x40305a20, 0x0277: 0x402dd420, + 0x0278: 0xe0000abf, 0x0279: 0xe0000ec4, 0x027a: 0x002be888, 0x027b: 0x002c4488, + 0x027c: 0x402c4420, 0x027d: 0x002e3888, 0x027e: 0x00303e88, 0x027f: 0x402ffc20, + // Block 0xa, offset 0x280 + 0x0280: 0x40315820, 0x0281: 0x0031d488, 0x0282: 0x4031d420, 0x0283: 0x002c1a88, + 0x0284: 0x00307c88, 0x0285: 0x0030da88, 0x0286: 0x002ca288, 0x0287: 0x402ca220, + 0x0288: 0x002dde88, 0x0289: 0x402dde20, 0x028a: 0x002f6a88, 0x028b: 0x402f6a20, + 0x028c: 0x002f8e88, 0x028d: 0x402f8e20, 0x028e: 0x00311088, 0x028f: 0x40311020, + 0x0290: 0x402bf020, 0x0291: 0x402bf820, 0x0292: 0x402c0220, 0x0293: 0x402c2a20, + 0x0294: 0x402efa20, 0x0295: 0x402c5620, 0x0296: 0x402c7220, 0x0297: 0x402c7a20, + 0x0298: 0x402ccc20, 0x0299: 0x402cb820, 0x029a: 0x402cd420, 0x029b: 0x402cc220, + 0x029c: 0x402cdc20, 0x029d: 0x402ce820, 0x029e: 0x402cf020, 0x029f: 0x402dee20, + 0x02a0: 0x402d4420, 0x02a1: 0x402d2a20, 0x02a2: 0x402d3220, 0x02a3: 0x402d5820, + 0x02a4: 0x402d0020, 0x02a5: 0x40308820, 0x02a6: 0x402d8020, 0x02a7: 0x402d8e20, + 0x02a8: 0x402db620, 0x02a9: 0x402dc220, 0x02aa: 0x402daa20, 0x02ab: 0x402e4220, + 0x02ac: 0x402e4a20, 0x02ad: 0x402e5420, 0x02ae: 0x402e6820, 0x02af: 0x4030a020, + 0x02b0: 0x4030ac20, 0x02b1: 0x402e9020, 0x02b2: 0x402eb420, 0x02b3: 0x402ec820, + 0x02b4: 0x402ea620, 0x02b5: 0x402f1020, 0x02b6: 0x402eee20, 0x02b7: 0x402f1a20, + 0x02b8: 0x402f4c20, 0x02b9: 0x402f9820, 0x02ba: 0x402fa220, 0x02bb: 0x402fac20, + 0x02bc: 0x402fb620, 0x02bd: 0x402fbe20, 0x02be: 0x402fc620, 0x02bf: 0x402fd020, + // Block 0xb, offset 0x2c0 + 0x02c0: 0x402f8220, 0x02c1: 0x402fd820, 0x02c2: 0x402ff420, 0x02c3: 0x40300820, + 0x02c4: 0x402df620, 0x02c5: 0x40301a20, 0x02c6: 0x40302420, 0x02c7: 0x40306420, + 0x02c8: 0x40305220, 0x02c9: 0x40307c20, 0x02ca: 0x4030b420, 0x02cb: 0x4030cc20, + 0x02cc: 0x4030da20, 0x02cd: 0x4030ee20, 0x02ce: 0x402e7a20, 0x02cf: 0x40310820, + 0x02d0: 0x40314820, 0x02d1: 0x40315020, 0x02d2: 0x40316420, 0x02d3: 0x40318020, + 0x02d4: 0x4031cc20, 0x02d5: 0x4031e820, 0x02d6: 0x40320a20, 0x02d7: 0x40323220, + 0x02d8: 0x40323a20, 0x02d9: 0x402c1220, 0x02da: 0x402cf820, 0x02db: 0x402d4c20, + 0x02dc: 0x402d7020, 0x02dd: 0x402de620, 0x02de: 0x402e1a20, 0x02df: 0x402e2a20, + 0x02e0: 0x402f6220, 0x02e1: 0x4031fa20, 0x02e2: 0x40320220, 0x02e3: 0xe0000aca, + 0x02e4: 0xe0000adc, 0x02e5: 0xe0000ad9, 0x02e6: 0xe0000fcc, 0x02e7: 0xe0000fcf, + 0x02e8: 0xe0000fba, 0x02e9: 0xe0000ba1, 0x02ea: 0xe0000d11, 0x02eb: 0xe0000d18, + 0x02ec: 0x40324220, 0x02ed: 0x40324a20, 0x02ee: 0x40309020, 0x02ef: 0x40309820, + 0x02f0: 0x002d6894, 0x02f1: 0x002d8094, 0x02f2: 0x002dcc94, 0x02f3: 0x002f7a94, + 0x02f4: 0x002f9894, 0x02f5: 0x002fac94, 0x02f6: 0x002fd894, 0x02f7: 0x0030e294, + 0x02f8: 0x00310094, 0x02f9: 0x40064020, 0x02fa: 0x40064420, 0x02fb: 0x402d9620, + 0x02fc: 0x4031de20, 0x02fd: 0x402d9820, 0x02fe: 0x4031e220, 0x02ff: 0x4031f020, + // Block 0xc, offset 0x300 + 0x0300: 0x4031dc20, 0x0301: 0x4031f220, 0x0302: 0x40064620, 0x0303: 0x40064820, + 0x0304: 0x40064a20, 0x0305: 0x40064c20, 0x0306: 0x40064e20, 0x0307: 0x40065020, + 0x0308: 0x40065220, 0x0309: 0x40065420, 0x030a: 0x40065620, 0x030b: 0x40065820, + 0x030c: 0x40065a20, 0x030d: 0x40065c20, 0x030e: 0x40065e20, 0x030f: 0x40066020, + 0x0310: 0x4027b220, 0x0311: 0x4027b420, 0x0312: 0x40066220, 0x0313: 0x40066420, + 0x0314: 0x40066620, 0x0315: 0x40066820, 0x0316: 0x40066a20, 0x0317: 0x40066c20, + 0x0318: 0x40062820, 0x0319: 0x40062a20, 0x031a: 0x40062e20, 0x031b: 0x40063420, + 0x031c: 0x40062220, 0x031d: 0x40063020, 0x031e: 0x40066e20, 0x031f: 0x40067020, + 0x0320: 0x002d5894, 0x0321: 0x002e2294, 0x0322: 0x002fe694, 0x0323: 0x0030f694, + 0x0324: 0x0031e894, 0x0325: 0x40067220, 0x0326: 0x40067420, 0x0327: 0x40067620, + 0x0328: 0x40067820, 0x0329: 0x40067a20, 0x032a: 0x40067c20, 0x032b: 0x40067e20, + 0x032c: 0x40068020, 0x032d: 0x40068220, 0x032e: 0x4031e020, 0x032f: 0x40068420, + 0x0330: 0x40068620, 0x0331: 0x40068820, 0x0332: 0x40068a20, 0x0333: 0x40068c20, + 0x0334: 0x40068e20, 0x0335: 0x40069020, 0x0336: 0x40069220, 0x0337: 0x40069420, + 0x0338: 0x40069620, 0x0339: 0x40069820, 0x033a: 0x40069a20, 0x033b: 0x40069c20, + 0x033c: 0x40069e20, 0x033d: 0x4006a020, 0x033e: 0x4006a220, 0x033f: 0x4006a420, + // Block 0xd, offset 0x340 + 0x0340: 0xae603502, 0x0341: 0xae603202, 0x0342: 0xae603c02, 0x0343: 0xae604e02, + 0x0344: 0xae605b02, 0x0345: 0xae606302, 0x0346: 0xae603702, 0x0347: 0xae605202, + 0x0348: 0xae604702, 0x0349: 0xae606402, 0x034a: 0xae604302, 0x034b: 0xae604d02, + 0x034c: 0xae604102, 0x034d: 0xae605f02, 0x034e: 0xae605f02, 0x034f: 0xae606502, + 0x0350: 0xae606602, 0x0351: 0xae606702, 0x0352: 0xae605f02, 0x0353: 0xae602202, + 0x0354: 0xae602a02, 0x0355: 0xae805f02, 0x0356: 0xadc06002, 0x0357: 0xadc06002, + 0x0358: 0xadc06002, 0x0359: 0xadc06002, 0x035a: 0xae805f02, 0x035b: 0xad806802, + 0x035c: 0xadc06002, 0x035d: 0xadc06002, 0x035e: 0xadc06002, 0x035f: 0xadc06002, + 0x0360: 0xadc06002, 0x0361: 0xaca06e02, 0x0362: 0xaca06f02, 0x0363: 0xadc07002, + 0x0364: 0xadc07502, 0x0365: 0xadc07602, 0x0366: 0xadc07702, 0x0367: 0xaca05602, + 0x0368: 0xaca05902, 0x0369: 0xadc06002, 0x036a: 0xadc06002, 0x036b: 0xadc06002, + 0x036c: 0xadc06002, 0x036d: 0xadc07802, 0x036e: 0xadc07902, 0x036f: 0xadc06002, + 0x0370: 0xadc07a02, 0x0371: 0xadc07b02, 0x0372: 0xadc02102, 0x0373: 0xadc06002, + 0x0374: 0xa0107c02, 0x0375: 0xa0107d02, 0x0376: 0xa0106102, 0x0377: 0xa0106102, + 0x0378: 0xa0105402, 0x0379: 0xadc07e02, 0x037a: 0xadc06002, 0x037b: 0xadc06002, + 0x037c: 0xadc06002, 0x037d: 0xae605f02, 0x037e: 0xae605f02, 0x037f: 0xae605f02, + // Block 0xe, offset 0x380 + 0x0380: 0xae603502, 0x0381: 0xae603202, 0x0382: 0xae604502, 0x0383: 0xae602202, + 0x0384: 0xe0000000, 0x0385: 0xaf007f02, 0x0386: 0xae605f02, 0x0387: 0xadc06002, + 0x0388: 0xadc06002, 0x0389: 0xadc06002, 0x038a: 0xae605f02, 0x038b: 0xae605f02, + 0x038c: 0xae605f02, 0x038d: 0xadc06002, 0x038e: 0xadc06002, 0x038f: 0xa0000000, + 0x0390: 0xae605f02, 0x0391: 0xae605f02, 0x0392: 0xae605f02, 0x0393: 0xadc06002, + 0x0394: 0xadc06002, 0x0395: 0xadc06002, 0x0396: 0xadc06002, 0x0397: 0xae605f02, + 0x0398: 0xae808002, 0x0399: 0xadc06002, 0x039a: 0xadc06002, 0x039b: 0xae605f02, + 0x039c: 0xae906002, 0x039d: 0xaea05f02, 0x039e: 0xaea05f02, 0x039f: 0xae906002, + 0x03a0: 0xaea08102, 0x03a1: 0xaea08202, 0x03a2: 0xae906002, 0x03a3: 0x84e615ef, + 0x03a4: 0x84e6164c, 0x03a5: 0x84e616cd, 0x03a6: 0x84e61771, 0x03a7: 0x84e61836, + 0x03a8: 0x84e6161d, 0x03a9: 0x84e61631, 0x03aa: 0x84e616b4, 0x03ab: 0x84e61741, + 0x03ac: 0x84e617bd, 0x03ad: 0x84e61816, 0x03ae: 0x84e6185f, 0x03af: 0x84e6187b, + 0x03b0: 0x00326688, 0x03b1: 0x40326620, 0x03b2: 0x0032a688, 0x03b3: 0x4032a620, + 0x03b4: 0x40064020, 0x03b5: 0x40064220, 0x03b6: 0x00326088, 0x03b7: 0x40326020, + 0x03ba: 0x00326c84, 0x03bb: 0x40329220, + 0x03bc: 0x40329020, 0x03bd: 0x40329420, 0x03be: 0x40026220, + // Block 0xf, offset 0x3c0 + 0x03c4: 0x40062020, 0x03c5: 0xe00000ab, 0x03c6: 0xe00011f0, 0x03c7: 0x40030620, + 0x03c8: 0xe0001249, 0x03c9: 0xe00012dd, 0x03ca: 0xe000133a, + 0x03cc: 0xe000139b, 0x03ce: 0xe00013dd, 0x03cf: 0xe0001492, + 0x03d0: 0xe0001352, 0x03d1: 0x00325288, 0x03d2: 0x00325488, 0x03d3: 0x00325688, + 0x03d4: 0x00325a88, 0x03d5: 0x00325c88, 0x03d6: 0x00326488, 0x03d7: 0x00326888, + 0x03d8: 0x00326a88, 0x03d9: 0x00326c88, 0x03da: 0x00327088, 0x03db: 0x00327288, + 0x03dc: 0x00327688, 0x03dd: 0x00327888, 0x03de: 0x00327a88, 0x03df: 0x00327c88, + 0x03e0: 0x00327e88, 0x03e1: 0x00328888, 0x03e3: 0x00328e88, + 0x03e4: 0x00329688, 0x03e5: 0x00329888, 0x03e6: 0x00329a88, 0x03e7: 0x00329c88, + 0x03e8: 0x00329e88, 0x03e9: 0x0032a288, 0x03ea: 0xe000134f, 0x03eb: 0xe00013f2, + 0x03ec: 0xe00011ed, 0x03ed: 0xe0001246, 0x03ee: 0xe00012da, 0x03ef: 0xe0001337, + 0x03f0: 0xe00013f5, 0x03f1: 0x40325220, 0x03f2: 0x40325420, 0x03f3: 0x40325620, + 0x03f4: 0x40325a20, 0x03f5: 0x40325c20, 0x03f6: 0x40326420, 0x03f7: 0x40326820, + 0x03f8: 0x40326a20, 0x03f9: 0x40326c20, 0x03fa: 0x40327020, 0x03fb: 0x40327220, + 0x03fc: 0x40327620, 0x03fd: 0x40327820, 0x03fe: 0x40327a20, 0x03ff: 0x40327c20, + // Block 0x10, offset 0x400 + 0x0400: 0x40327e20, 0x0401: 0x40328820, 0x0402: 0x00328e99, 0x0403: 0x40328e20, + 0x0404: 0x40329620, 0x0405: 0x40329820, 0x0406: 0x40329a20, 0x0407: 0x40329c20, + 0x0408: 0x40329e20, 0x0409: 0x4032a220, 0x040a: 0xe000134c, 0x040b: 0xe00013ef, + 0x040c: 0xe0001398, 0x040d: 0xe00013da, 0x040e: 0xe000148f, 0x040f: 0xe0001368, + 0x0410: 0x00325484, 0x0411: 0x00326a84, 0x0412: 0x0032988a, 0x0413: 0xf000020a, + 0x0414: 0xf000020a, 0x0415: 0x00329a84, 0x0416: 0x00327e84, 0x0417: 0xe0001364, + 0x0418: 0x00328688, 0x0419: 0x40328620, 0x041a: 0x00326288, 0x041b: 0x40326220, + 0x041c: 0x00325e88, 0x041d: 0x40325e20, 0x041e: 0x00328488, 0x041f: 0x40328420, + 0x0420: 0x0032a488, 0x0421: 0x4032a420, 0x0422: 0x0032e888, 0x0423: 0x4032e820, + 0x0424: 0x0032f288, 0x0425: 0x4032f220, 0x0426: 0x0032f488, 0x0427: 0x4032f420, + 0x0428: 0x0032fa88, 0x0429: 0x4032fa20, 0x042a: 0x00330888, 0x042b: 0x40330820, + 0x042c: 0x00330e88, 0x042d: 0x40330e20, 0x042e: 0x00331688, 0x042f: 0x40331620, + 0x0430: 0x00327084, 0x0431: 0x00328884, 0x0432: 0x00328e84, 0x0433: 0x40326e20, + 0x0434: 0x00326a8a, 0x0435: 0x00325c84, 0x0436: 0x40092e20, 0x0437: 0x0032a888, + 0x0438: 0x4032a820, 0x0439: 0x00328e8a, 0x043a: 0x00328288, 0x043b: 0x40328220, + 0x043c: 0x40328c20, 0x043d: 0x00329288, 0x043e: 0x00329088, 0x043f: 0x00329488, + // Block 0x11, offset 0x440 + 0x0440: 0xe00014bd, 0x0441: 0xe00014c3, 0x0442: 0x00339688, 0x0443: 0x0033a288, + 0x0444: 0x0033c288, 0x0445: 0x0033fc88, 0x0446: 0xc02a0071, 0x0447: 0x00343688, + 0x0448: 0x00344688, 0x0449: 0x00349a88, 0x044a: 0x0034e488, 0x044b: 0x00356288, + 0x044c: 0x00356a88, 0x044d: 0xe00014cf, 0x044e: 0x00357a88, 0x044f: 0x00365488, + 0x0450: 0xc0090041, 0x0451: 0x00335288, 0x0452: 0x00335a88, 0x0453: 0xc0130092, + 0x0454: 0x00338a88, 0x0455: 0xc01800d1, 0x0456: 0xc01c0071, 0x0457: 0xc0200071, + 0x0458: 0xc0250041, 0x0459: 0x00343e88, 0x045a: 0xc0370092, 0x045b: 0x00348488, + 0x045c: 0x0034a888, 0x045d: 0x0034ba88, 0x045e: 0xc02e0071, 0x045f: 0x00350e88, + 0x0460: 0x00352888, 0x0461: 0x00353a88, 0x0462: 0x00354c88, 0x0463: 0xc03e00f1, + 0x0464: 0x0035ac88, 0x0465: 0x0035b488, 0x0466: 0x00360288, 0x0467: 0xc0440071, + 0x0468: 0x00365c88, 0x0469: 0x00366688, 0x046a: 0x00367488, 0x046b: 0xc0480071, + 0x046c: 0x00368e88, 0x046d: 0xc04c0071, 0x046e: 0x0036b888, 0x046f: 0x0036c488, + 0x0470: 0xc0060041, 0x0471: 0x40335220, 0x0472: 0x40335a20, 0x0473: 0xc0100092, + 0x0474: 0x40338a20, 0x0475: 0xc01600d1, 0x0476: 0xc01a0071, 0x0477: 0xc01e0071, + 0x0478: 0xc0220041, 0x0479: 0x40343e20, 0x047a: 0xc0340092, 0x047b: 0x40348420, + 0x047c: 0x4034a820, 0x047d: 0x4034ba20, 0x047e: 0xc02c0071, 0x047f: 0x40350e20, + // Block 0x12, offset 0x480 + 0x0480: 0x40352820, 0x0481: 0x40353a20, 0x0482: 0x40354c20, 0x0483: 0xc03a00f1, + 0x0484: 0x4035ac20, 0x0485: 0x4035b420, 0x0486: 0x40360220, 0x0487: 0xc0420071, + 0x0488: 0x40365c20, 0x0489: 0x40366620, 0x048a: 0x40367420, 0x048b: 0xc0460071, + 0x048c: 0x40368e20, 0x048d: 0xc04a0071, 0x048e: 0x4036b820, 0x048f: 0x4036c420, + 0x0490: 0xe00014ba, 0x0491: 0xe00014c0, 0x0492: 0x40339620, 0x0493: 0x4033a220, + 0x0494: 0x4033c220, 0x0495: 0x4033fc20, 0x0496: 0xc0280071, 0x0497: 0x40343620, + 0x0498: 0x40344620, 0x0499: 0x40349a20, 0x049a: 0x4034e420, 0x049b: 0x40356220, + 0x049c: 0x40356a20, 0x049d: 0xe00014cc, 0x049e: 0x40357a20, 0x049f: 0x40365420, + 0x04a0: 0x0035e088, 0x04a1: 0x4035e020, 0x04a2: 0x00369e88, 0x04a3: 0x40369e20, + 0x04a4: 0x0036ce88, 0x04a5: 0x4036ce20, 0x04a6: 0x0036d688, 0x04a7: 0x4036d620, + 0x04a8: 0x0036ea88, 0x04a9: 0x4036ea20, 0x04aa: 0x0036e088, 0x04ab: 0x4036e020, + 0x04ac: 0x0036f488, 0x04ad: 0x4036f420, 0x04ae: 0x0036fc88, 0x04af: 0x4036fc20, + 0x04b0: 0x00370488, 0x04b1: 0x40370420, 0x04b2: 0x00370c88, 0x04b3: 0x40370c20, + 0x04b4: 0xc0500131, 0x04b5: 0xc04e0131, 0x04b6: 0x00371c88, 0x04b7: 0x40371c20, + 0x04b8: 0x0035a488, 0x04b9: 0x4035a420, 0x04ba: 0x0035fa88, 0x04bb: 0x4035fa20, + 0x04bc: 0x0035f288, 0x04bd: 0x4035f220, 0x04be: 0x0035e888, 0x04bf: 0x4035e820, + // Block 0x13, offset 0x4c0 + 0x04c0: 0x00352088, 0x04c1: 0x40352020, 0x04c2: 0x40070620, 0x04c3: 0xae608302, + 0x04c4: 0xae605f02, 0x04c5: 0xae602a02, 0x04c6: 0xae602202, 0x04c7: 0xae605f02, + 0x04c8: 0xa0000000, 0x04c9: 0xa0000000, 0x04ca: 0x00341c88, 0x04cb: 0x40341c20, + 0x04cc: 0x00369688, 0x04cd: 0x40369620, 0x04ce: 0x00353088, 0x04cf: 0x40353020, + 0x04d0: 0xe00014b7, 0x04d1: 0xe00014b4, 0x04d2: 0x00336a88, 0x04d3: 0x40336a20, + 0x04d4: 0x00337a88, 0x04d5: 0x40337a20, 0x04d6: 0x0033dc88, 0x04d7: 0x4033dc20, + 0x04d8: 0x0033aa88, 0x04d9: 0x4033aa20, 0x04da: 0x00345888, 0x04db: 0x40345820, + 0x04dc: 0x00347888, 0x04dd: 0x40347820, 0x04de: 0x00347088, 0x04df: 0x40347020, + 0x04e0: 0x00346888, 0x04e1: 0x40346820, 0x04e2: 0x0034ca88, 0x04e3: 0x4034ca20, + 0x04e4: 0x0034dc88, 0x04e5: 0x4034dc20, 0x04e6: 0x00351888, 0x04e7: 0x40351820, + 0x04e8: 0x00372688, 0x04e9: 0x40372620, 0x04ea: 0x00354488, 0x04eb: 0x40354420, + 0x04ec: 0x00355888, 0x04ed: 0x40355820, 0x04ee: 0x00359288, 0x04ef: 0x40359220, + 0x04f0: 0x00359a88, 0x04f1: 0x40359a20, 0x04f2: 0x0035cc88, 0x04f3: 0x4035cc20, + 0x04f4: 0x00360e88, 0x04f5: 0x40360e20, 0x04f6: 0x00362a88, 0x04f7: 0x40362a20, + 0x04f8: 0x00363a88, 0x04f9: 0x40363a20, 0x04fa: 0x0035d488, 0x04fb: 0x4035d420, + 0x04fc: 0x00364488, 0x04fd: 0x40364420, 0x04fe: 0x00364c88, 0x04ff: 0x40364c20, + // Block 0x14, offset 0x500 + 0x0500: 0x00373088, 0x0501: 0xe00014c9, 0x0502: 0xe00014c6, 0x0503: 0x00346088, + 0x0504: 0x40346020, 0x0505: 0x00348e88, 0x0506: 0x40348e20, 0x0507: 0x0034d288, + 0x0508: 0x4034d220, 0x0509: 0x0034c288, 0x050a: 0x4034c220, 0x050b: 0x00363288, + 0x050c: 0x40363220, 0x050d: 0x0034b088, 0x050e: 0x4034b020, 0x050f: 0x40373020, + 0x0510: 0x00332a88, 0x0511: 0x40332a20, 0x0512: 0x00333288, 0x0513: 0x40333220, + 0x0514: 0x00334a88, 0x0515: 0x40334a20, 0x0516: 0x0033ba88, 0x0517: 0x4033ba20, + 0x0518: 0xc00e0071, 0x0519: 0xc00c0071, 0x051a: 0x00334288, 0x051b: 0x40334220, + 0x051c: 0x0033d488, 0x051d: 0x4033d420, 0x051e: 0x0033f288, 0x051f: 0x4033f220, + 0x0520: 0x00340688, 0x0521: 0x40340620, 0x0522: 0xe00014d5, 0x0523: 0xe00014d2, + 0x0524: 0x00342488, 0x0525: 0x40342420, 0x0526: 0x0034f688, 0x0527: 0x4034f620, + 0x0528: 0xc0320071, 0x0529: 0xc0300071, 0x052a: 0x00350688, 0x052b: 0x40350620, + 0x052c: 0x0036b088, 0x052d: 0x4036b020, 0x052e: 0xe00014de, 0x052f: 0xe00014db, + 0x0530: 0x00358288, 0x0531: 0x40358220, 0x0532: 0x00358a88, 0x0533: 0x40358a20, + 0x0534: 0x00362288, 0x0535: 0x40362220, 0x0536: 0x00338288, 0x0537: 0x40338220, + 0x0538: 0x00368688, 0x0539: 0x40368620, 0x053a: 0x00337288, 0x053b: 0x40337220, + 0x053c: 0x0035bc88, 0x053d: 0x4035bc20, 0x053e: 0x0035c488, 0x053f: 0x4035c420, + // Block 0x15, offset 0x540 + 0x0540: 0x00339288, 0x0541: 0x40339220, 0x0542: 0x0033a088, 0x0543: 0x4033a020, + 0x0544: 0x0033ee88, 0x0545: 0x4033ee20, 0x0546: 0x00341088, 0x0547: 0x40341020, + 0x0548: 0x0034a488, 0x0549: 0x4034a420, 0x054a: 0x0034ec88, 0x054b: 0x4034ec20, + 0x054c: 0x00354288, 0x054d: 0x40354220, 0x054e: 0x00355688, 0x054f: 0x40355620, + 0x0550: 0x0033f088, 0x0551: 0x4033f020, 0x0552: 0x00349688, 0x0553: 0x40349620, + 0x0554: 0x0034a688, 0x0555: 0x4034a620, 0x0556: 0x00353888, 0x0557: 0x40353820, + 0x0558: 0x0036cc88, 0x0559: 0x4036cc20, 0x055a: 0x00348288, 0x055b: 0x40348220, + 0x055c: 0x00372e88, 0x055d: 0x40372e20, 0x055e: 0x00348088, 0x055f: 0x40348020, + 0x0560: 0x00349888, 0x0561: 0x40349820, 0x0562: 0x0034da88, 0x0563: 0x4034da20, + 0x0564: 0x00351688, 0x0565: 0x40351620, 0x0566: 0x0035dc88, 0x0567: 0x4035dc20, + 0x0571: 0x00384288, 0x0572: 0x00384488, 0x0573: 0x00384688, + 0x0574: 0x00384888, 0x0575: 0x00384a88, 0x0576: 0x00384c88, 0x0577: 0x00384e88, + 0x0578: 0x00385088, 0x0579: 0x00385288, 0x057a: 0x00385488, 0x057b: 0x00385688, + 0x057c: 0x00385888, 0x057d: 0x00385a88, 0x057e: 0x00385c88, 0x057f: 0x00385e88, + // Block 0x16, offset 0x580 + 0x0580: 0x00386088, 0x0581: 0x00386288, 0x0582: 0x00386488, 0x0583: 0x00386688, + 0x0584: 0x00386888, 0x0585: 0x00386a88, 0x0586: 0x00386c88, 0x0587: 0x00386e88, + 0x0588: 0x00387088, 0x0589: 0x00387288, 0x058a: 0x00387488, 0x058b: 0x00387688, + 0x058c: 0x00387888, 0x058d: 0x00387a88, 0x058e: 0x00387c88, 0x058f: 0x00387e88, + 0x0590: 0x00388088, 0x0591: 0x00388288, 0x0592: 0x00388488, 0x0593: 0x00388688, + 0x0594: 0x00388888, 0x0595: 0x00388a88, 0x0596: 0x00388c88, + 0x0599: 0x40388e20, 0x059a: 0x40054e20, 0x059b: 0x40055020, + 0x059c: 0x4002be20, 0x059d: 0x40024620, 0x059e: 0x4002ca20, 0x059f: 0x40055220, + 0x05a1: 0x40384220, 0x05a2: 0x40384420, 0x05a3: 0x40384620, + 0x05a4: 0x40384820, 0x05a5: 0x40384a20, 0x05a6: 0x40384c20, 0x05a7: 0x40384e20, + 0x05a8: 0x40385020, 0x05a9: 0x40385220, 0x05aa: 0x40385420, 0x05ab: 0x40385620, + 0x05ac: 0x40385820, 0x05ad: 0x40385a20, 0x05ae: 0x40385c20, 0x05af: 0x40385e20, + 0x05b0: 0x40386020, 0x05b1: 0x40386220, 0x05b2: 0x40386420, 0x05b3: 0x40386620, + 0x05b4: 0x40386820, 0x05b5: 0x40386a20, 0x05b6: 0x40386c20, 0x05b7: 0x40386e20, + 0x05b8: 0x40387020, 0x05b9: 0x40387220, 0x05ba: 0x40387420, 0x05bb: 0x40387620, + 0x05bc: 0x40387820, 0x05bd: 0x40387a20, 0x05be: 0x40387c20, 0x05bf: 0x40387e20, + // Block 0x17, offset 0x5c0 + 0x05c0: 0x40388020, 0x05c1: 0x40388220, 0x05c2: 0x40388420, 0x05c3: 0x40388620, + 0x05c4: 0x40388820, 0x05c5: 0x40388a20, 0x05c6: 0x40388c20, 0x05c7: 0xf0000404, + 0x05c9: 0x40026e20, 0x05ca: 0x40021c20, + 0x05cf: 0x4027e420, + 0x05d1: 0xadc00000, 0x05d2: 0xae600000, 0x05d3: 0xae600000, + 0x05d4: 0xae600000, 0x05d5: 0xae600000, 0x05d6: 0xadc00000, 0x05d7: 0xae600000, + 0x05d8: 0xae600000, 0x05d9: 0xae600000, 0x05da: 0xade00000, 0x05db: 0xadc00000, + 0x05dc: 0xae600000, 0x05dd: 0xae600000, 0x05de: 0xae600000, 0x05df: 0xae600000, + 0x05e0: 0xae600000, 0x05e1: 0xae600000, 0x05e2: 0xadc00000, 0x05e3: 0xadc00000, + 0x05e4: 0xadc00000, 0x05e5: 0xadc00000, 0x05e6: 0xadc00000, 0x05e7: 0xadc00000, + 0x05e8: 0xae600000, 0x05e9: 0xae600000, 0x05ea: 0xadc00000, 0x05eb: 0xae600000, + 0x05ec: 0xae600000, 0x05ed: 0xade00000, 0x05ee: 0xae400000, 0x05ef: 0xae600000, + 0x05f0: 0xa0a08502, 0x05f1: 0xa0b08602, 0x05f2: 0xa0c08702, 0x05f3: 0xa0d08802, + 0x05f4: 0xa0e08902, 0x05f5: 0xa0f08a02, 0x05f6: 0xa1008b02, 0x05f7: 0xa1108c02, + 0x05f8: 0xa1208d02, 0x05f9: 0xa1308e02, 0x05fa: 0xa1308e02, 0x05fb: 0xa1408f02, + 0x05fc: 0xa1509202, 0x05fd: 0xa1600000, 0x05fe: 0x40055420, 0x05ff: 0xa1709502, + // Block 0x18, offset 0x600 + 0x0600: 0x40055620, 0x0601: 0xa1809102, 0x0602: 0xa1909002, 0x0603: 0x40055820, + 0x0604: 0xae600000, 0x0605: 0xadc00000, 0x0606: 0x40055a20, 0x0607: 0xa1208d02, + 0x0610: 0x40389020, 0x0611: 0x40389220, 0x0612: 0x40389420, 0x0613: 0x40389620, + 0x0614: 0x40389820, 0x0615: 0x40389a20, 0x0616: 0x40389c20, 0x0617: 0x40389e20, + 0x0618: 0x4038a020, 0x0619: 0x4038a220, 0x061a: 0x0038a499, 0x061b: 0x4038a420, + 0x061c: 0x4038a620, 0x061d: 0x0038a899, 0x061e: 0x4038a820, 0x061f: 0x0038aa99, + 0x0620: 0x4038aa20, 0x0621: 0x4038ac20, 0x0622: 0x4038ae20, 0x0623: 0x0038b099, + 0x0624: 0x4038b020, 0x0625: 0x0038b299, 0x0626: 0x4038b220, 0x0627: 0x4038b420, + 0x0628: 0x4038b620, 0x0629: 0x4038b820, 0x062a: 0x4038ba20, + 0x0630: 0xe00014ff, 0x0631: 0xe0001502, 0x0632: 0xe0001511, 0x0633: 0x40055c20, + 0x0634: 0x40055e20, + // Block 0x19, offset 0x640 + 0x0640: 0xa0000000, 0x0641: 0xa0000000, 0x0642: 0xa0000000, 0x0643: 0xa0000000, + 0x0644: 0xa0000000, 0x0646: 0x40096620, 0x0647: 0x40096a20, + 0x0648: 0x40070820, 0x0649: 0x4004f220, 0x064a: 0x4004f620, 0x064b: 0x4027e620, + 0x064c: 0x40024820, 0x064d: 0x40024a20, 0x064e: 0x40070e20, 0x064f: 0x40071020, + 0x0650: 0xae600000, 0x0651: 0xae600000, 0x0652: 0xae600000, 0x0653: 0xae600000, + 0x0654: 0xae600000, 0x0655: 0xae600000, 0x0656: 0xae600000, 0x0657: 0xae600000, + 0x0658: 0xa1e00000, 0x0659: 0xa1f00000, 0x065a: 0xa2000000, 0x065b: 0x40026420, + 0x065e: 0x40027020, 0x065f: 0x4002cc20, + 0x0660: 0x403aa220, 0x0661: 0x40391c20, 0x0662: 0x40391e20, 0x0663: 0x40392020, + 0x0664: 0x40392620, 0x0665: 0x40392820, 0x0666: 0x40393020, 0x0667: 0xc0520151, + 0x0668: 0x40393c20, 0x0669: 0x40395420, 0x066a: 0x40395620, 0x066b: 0x40395820, + 0x066c: 0x40396420, 0x066d: 0x40397220, 0x066e: 0x40397420, 0x066f: 0x40398820, + 0x0670: 0x40398a20, 0x0671: 0x4039a420, 0x0672: 0x4039a620, 0x0673: 0x4039c620, + 0x0674: 0x4039c820, 0x0675: 0x4039dc20, 0x0676: 0x4039de20, 0x0677: 0x4039e620, + 0x0678: 0x4039e820, 0x0679: 0x4039ee20, 0x067a: 0x4039f020, 0x067b: 0x403a3820, + 0x067c: 0x403a3a20, 0x067d: 0x403a9c20, 0x067e: 0x403a9e20, 0x067f: 0x403aa020, + // Block 0x1a, offset 0x680 + 0x0680: 0xa0000000, 0x0681: 0x4039fc20, 0x0682: 0x403a1220, 0x0683: 0x403a1a20, + 0x0684: 0x403a4020, 0x0685: 0x403a4e20, 0x0686: 0x403a5620, 0x0687: 0x403a6820, + 0x0688: 0xc0560171, 0x0689: 0x403a8e20, 0x068a: 0xc0580171, 0x068b: 0xa1b0a202, + 0x068c: 0xa1c0a502, 0x068d: 0xa1d0a902, 0x068e: 0xa1e0ad02, 0x068f: 0xa1f0b202, + 0x0690: 0xa200b602, 0x0691: 0xa210ba02, 0x0692: 0xa220bc02, 0x0693: 0xae60bd02, + 0x0694: 0xae60be02, 0x0695: 0xadc0bf02, 0x0696: 0xadc0c102, 0x0697: 0xae60c202, + 0x0698: 0xae60c302, 0x0699: 0xae60c402, 0x069a: 0xae60c502, 0x069b: 0xae60c602, + 0x069c: 0xadc0c702, 0x069d: 0xae60c802, 0x069e: 0xae60c902, 0x069f: 0xadc0c002, + 0x06a0: 0xe000015e, 0x06a1: 0xe00001e6, 0x06a2: 0xe0000301, 0x06a3: 0xe00003db, + 0x06a4: 0xe00004b6, 0x06a5: 0xe0000580, 0x06a6: 0xe000064b, 0x06a7: 0xe00006f3, + 0x06a8: 0xe000079f, 0x06a9: 0xe0000844, 0x06aa: 0x4004ee20, 0x06ab: 0x40024c20, + 0x06ac: 0x40024e20, 0x06ad: 0x4004de20, 0x06ae: 0x40393a20, 0x06af: 0x403a1020, + 0x06b0: 0xa230d102, 0x06b1: 0x40392420, 0x06b2: 0x40392220, 0x06b3: 0x40392a20, + 0x06b4: 0x00391c84, 0x06b5: 0xf0000404, 0x06b6: 0xf0000404, 0x06b7: 0xf0000404, + 0x06b8: 0xf0000404, 0x06b9: 0x40395a20, 0x06ba: 0x40395c20, 0x06bb: 0x40393e20, + 0x06bc: 0x40395e20, 0x06bd: 0x40396020, 0x06be: 0x40394020, 0x06bf: 0x40396220, + // Block 0x1b, offset 0x6c0 + 0x06c0: 0x40394220, 0x06c1: 0x40397620, 0x06c2: 0x40397820, 0x06c3: 0x40396620, + 0x06c4: 0x40396820, 0x06c5: 0x40397a20, 0x06c6: 0x40396a20, 0x06c7: 0x40396e20, + 0x06c8: 0x40398c20, 0x06c9: 0x40398e20, 0x06ca: 0x40399020, 0x06cb: 0x40399220, + 0x06cc: 0x40399420, 0x06cd: 0x40399620, 0x06ce: 0x40399820, 0x06cf: 0x40399a20, + 0x06d0: 0x40399c20, 0x06d1: 0x4039a820, 0x06d2: 0x4039aa20, 0x06d3: 0x4039ac20, + 0x06d4: 0x4039ae20, 0x06d5: 0x4039b020, 0x06d6: 0x4039b220, 0x06d7: 0x4039b420, + 0x06d8: 0x4039b620, 0x06d9: 0x4039b820, 0x06da: 0x4039ca20, 0x06db: 0x4039cc20, + 0x06dc: 0x4039ce20, 0x06dd: 0x4039e020, 0x06de: 0x4039e220, 0x06df: 0x4039ea20, + 0x06e0: 0x4039f220, 0x06e1: 0x4039fe20, 0x06e2: 0x403a0020, 0x06e3: 0x403a0220, + 0x06e4: 0x403a0420, 0x06e5: 0x403a0820, 0x06e6: 0x403a0a20, 0x06e7: 0x403a1420, + 0x06e8: 0x403a1620, 0x06e9: 0x403a1c20, 0x06ea: 0x403a1e20, 0x06eb: 0x403a2020, + 0x06ec: 0x403a2220, 0x06ed: 0x403a2620, 0x06ee: 0x403a2820, 0x06ef: 0x403a2a20, + 0x06f0: 0x403a2c20, 0x06f1: 0x403a2e20, 0x06f2: 0x403a3020, 0x06f3: 0x403a3220, + 0x06f4: 0x403a3420, 0x06f5: 0x403a4220, 0x06f6: 0x403a4420, 0x06f7: 0x403a4620, + 0x06f8: 0x403a4820, 0x06f9: 0x403a6020, 0x06fa: 0x403a5820, 0x06fb: 0x403a5a20, + 0x06fc: 0x403a5c20, 0x06fd: 0x403a5e20, 0x06fe: 0x403a6a20, 0x06ff: 0x40396c20, + // Block 0x1c, offset 0x700 + 0x0700: 0xe00017e4, 0x0701: 0x403a6c20, 0x0702: 0xe00017e1, 0x0703: 0x403a6e20, + 0x0704: 0x403a7620, 0x0705: 0x403a7820, 0x0706: 0x403a7a20, 0x0707: 0x403a7c20, + 0x0708: 0x403a7e20, 0x0709: 0x403a8020, 0x070a: 0x403a8220, 0x070b: 0x403a8420, + 0x070c: 0x403a9220, 0x070d: 0x403a9420, 0x070e: 0x403a9620, 0x070f: 0x403a8620, + 0x0710: 0x403a9820, 0x0711: 0x403a9a20, 0x0712: 0x403aaa20, 0x0713: 0xe0001800, + 0x0714: 0x4002e820, 0x0715: 0x403a7220, 0x0716: 0xae600000, 0x0717: 0xae600000, + 0x0718: 0xae600000, 0x0719: 0xae600000, 0x071a: 0xae600000, 0x071b: 0xae600000, + 0x071c: 0xae600000, 0x071d: 0xa0000000, 0x071e: 0x40071220, 0x071f: 0xae600000, + 0x0720: 0xae600000, 0x0721: 0xae600000, 0x0722: 0xae600000, 0x0723: 0xadc00000, + 0x0724: 0xae600000, 0x0725: 0x003a7484, 0x0726: 0x003a9084, 0x0727: 0xae600000, + 0x0728: 0xae600000, 0x0729: 0x40071420, 0x072a: 0xadc00000, 0x072b: 0xae600000, + 0x072c: 0xae600000, 0x072d: 0xadc00000, 0x072e: 0x40399e20, 0x072f: 0x4039ba20, + 0x0730: 0xe0000161, 0x0731: 0xe00001e9, 0x0732: 0xe0000304, 0x0733: 0xe00003de, + 0x0734: 0xe00004b9, 0x0735: 0xe0000583, 0x0736: 0xe000064e, 0x0737: 0xe00006f6, + 0x0738: 0xe00007a2, 0x0739: 0xe0000847, 0x073a: 0x4039d020, 0x073b: 0x4039e420, + 0x073c: 0x4039f420, 0x073d: 0xe0001553, 0x073e: 0xe0001779, 0x073f: 0x403a7020, + // Block 0x1d, offset 0x740 + 0x0740: 0x40035c20, 0x0741: 0x4002ea20, 0x0742: 0x4002ec20, 0x0743: 0x40027220, + 0x0744: 0x40027420, 0x0745: 0x40027620, 0x0746: 0x40027820, 0x0747: 0x40027a20, + 0x0748: 0x40027c20, 0x0749: 0x4002ce20, 0x074a: 0x40056020, 0x074b: 0x40056220, + 0x074c: 0x40056420, 0x074d: 0x40056620, 0x074f: 0xa0000000, + 0x0750: 0x403ab020, 0x0751: 0xa240d202, 0x0752: 0x403ab220, 0x0753: 0x403ab420, + 0x0754: 0xe0001806, 0x0755: 0x403ab820, 0x0756: 0x403ab620, 0x0757: 0x403aba20, + 0x0758: 0x403abc20, 0x0759: 0x403abe20, 0x075a: 0x403ac220, 0x075b: 0x403ac420, + 0x075c: 0xe000180f, 0x075d: 0x403ac620, 0x075e: 0x403ac820, 0x075f: 0x403aca20, + 0x0760: 0x403ace20, 0x0761: 0x403ad020, 0x0762: 0x403ad220, 0x0763: 0x403ad420, + 0x0764: 0x003ad499, 0x0765: 0x403ad620, 0x0766: 0x403ad820, 0x0767: 0xe0001812, + 0x0768: 0x403adc20, 0x0769: 0x403ade20, 0x076a: 0x403ae020, 0x076b: 0x403ae220, + 0x076c: 0x403ae420, 0x076d: 0xe0001803, 0x076e: 0xe0001809, 0x076f: 0xe000180c, + 0x0770: 0xae60d302, 0x0771: 0xadc0d402, 0x0772: 0xae60d502, 0x0773: 0xae60d602, + 0x0774: 0xadc0d702, 0x0775: 0xae60d802, 0x0776: 0xae60d902, 0x0777: 0xadc0da02, + 0x0778: 0xadc0db02, 0x0779: 0xadc0dc02, 0x077a: 0xae60dd02, 0x077b: 0xadc0de02, + 0x077c: 0xadc0df02, 0x077d: 0xae60e002, 0x077e: 0xadc0e102, 0x077f: 0xae60e202, + // Block 0x1e, offset 0x780 + 0x0780: 0xae600000, 0x0781: 0xae605f02, 0x0782: 0xadc06002, 0x0783: 0xae600000, + 0x0784: 0xadc00000, 0x0785: 0xae605f02, 0x0786: 0xadc06002, 0x0787: 0xae600000, + 0x0788: 0xadc00000, 0x0789: 0xae600000, 0x078a: 0xae600000, + 0x078d: 0x403ac020, 0x078e: 0x403acc20, 0x078f: 0x403ada20, + 0x0790: 0x40394420, 0x0791: 0x40394620, 0x0792: 0x40394820, 0x0793: 0x40394a20, + 0x0794: 0x40394c20, 0x0795: 0x40394e20, 0x0796: 0x40395220, 0x0797: 0x40397c20, + 0x0798: 0x40397e20, 0x0799: 0x4039a020, 0x079a: 0x4039a220, 0x079b: 0x4039bc20, + 0x079c: 0x4039d220, 0x079d: 0x4039f620, 0x079e: 0x4039f820, 0x079f: 0x4039fa20, + 0x07a0: 0x403a0c20, 0x07a1: 0x403a0e20, 0x07a2: 0x403a3620, 0x07a3: 0x403a3c20, + 0x07a4: 0x403a3e20, 0x07a5: 0x403a5020, 0x07a6: 0x403a5220, 0x07a7: 0x403a6220, + 0x07a8: 0x403a6420, 0x07a9: 0x403a6620, 0x07aa: 0x403a4a20, 0x07ab: 0x4039be20, + 0x07ac: 0x4039c020, 0x07ad: 0x4039d420, 0x07ae: 0x40398020, 0x07af: 0x40398220, + 0x07b0: 0x4039d620, 0x07b1: 0x4039c220, 0x07b2: 0x40398420, 0x07b3: 0x40392c20, + 0x07b4: 0x40392e20, 0x07b5: 0x403aa420, 0x07b6: 0x403aa620, 0x07b7: 0x403aa820, + 0x07b8: 0x403a8820, 0x07b9: 0x403a8a20, 0x07ba: 0x403aac20, 0x07bb: 0x403aae20, + 0x07bc: 0x40398620, 0x07bd: 0x4039d820, 0x07be: 0x4039da20, 0x07bf: 0x403a2420, + // Block 0x1f, offset 0x7c0 + 0x07c0: 0x403b1820, 0x07c1: 0x403b1e20, 0x07c2: 0x403b2020, 0x07c3: 0x403b2220, + 0x07c4: 0x403b2620, 0x07c5: 0x403b2820, 0x07c6: 0x403b2a20, 0x07c7: 0x403b2c20, + 0x07c8: 0x403b3220, 0x07c9: 0x403b3620, 0x07ca: 0x403b3820, 0x07cb: 0x403b3a20, + 0x07cc: 0x403b3e20, 0x07cd: 0x403b4620, 0x07ce: 0x403b4820, 0x07cf: 0x403b4c20, + 0x07d0: 0x403b4e20, 0x07d1: 0x403b5620, 0x07d2: 0x403b5820, 0x07d3: 0x403b5a20, + 0x07d4: 0x403b5c20, 0x07d5: 0x403b5e20, 0x07d6: 0x403b6020, 0x07d7: 0x403b6220, + 0x07d8: 0x403b4020, 0x07d9: 0x403b1a20, 0x07da: 0x403b1c20, 0x07db: 0x403b3c20, + 0x07dc: 0x403b2420, 0x07dd: 0x403b5020, 0x07de: 0x403b5220, 0x07df: 0x403b5420, + 0x07e0: 0x403b4220, 0x07e1: 0x403b4420, 0x07e2: 0x403b2e20, 0x07e3: 0x403b3020, + 0x07e4: 0x403b4a20, 0x07e5: 0x403b3420, 0x07e6: 0x403b6620, 0x07e7: 0x403b6820, + 0x07e8: 0x403b6a20, 0x07e9: 0x403b6c20, 0x07ea: 0x403b6e20, 0x07eb: 0x403b7020, + 0x07ec: 0x403b7220, 0x07ed: 0x403b7420, 0x07ee: 0x403b7620, 0x07ef: 0x403b7820, + 0x07f0: 0x403b7a20, 0x07f1: 0x403b6420, + // Block 0x20, offset 0x800 + 0x0800: 0xe0000164, 0x0801: 0xe00001ef, 0x0802: 0xe000030a, 0x0803: 0xe00003e4, + 0x0804: 0xe00004bf, 0x0805: 0xe0000589, 0x0806: 0xe0000654, 0x0807: 0xe00006fc, + 0x0808: 0xe00007a8, 0x0809: 0xe000084d, 0x080a: 0x403b7c20, 0x080b: 0x403b7e20, + 0x080c: 0x403b8020, 0x080d: 0x403b8220, 0x080e: 0x403b8420, 0x080f: 0x403b8620, + 0x0810: 0x403b8820, 0x0811: 0x403b8a20, 0x0812: 0x403b8c20, 0x0813: 0x403b8e20, + 0x0814: 0x403b9020, 0x0815: 0x403b9220, 0x0816: 0x403b9420, 0x0817: 0x403b9620, + 0x0818: 0x403b9820, 0x0819: 0x403b9a20, 0x081a: 0x403b9c20, 0x081b: 0x403b9e20, + 0x081c: 0x403ba020, 0x081d: 0x403ba220, 0x081e: 0x403ba420, 0x081f: 0x403ba620, + 0x0820: 0x403ba820, 0x0821: 0x403baa20, 0x0822: 0x403bac20, 0x0823: 0x403bae20, + 0x0824: 0x403bb020, 0x0825: 0x403bb220, 0x0826: 0x403bb420, 0x0827: 0x403bb620, + 0x0828: 0xe0001815, 0x0829: 0xe0001818, 0x082a: 0xe000181b, 0x082b: 0xae60e302, + 0x082c: 0xae60e402, 0x082d: 0xae60e502, 0x082e: 0xae60e602, 0x082f: 0xae60e702, + 0x0830: 0xae60e802, 0x0831: 0xae60e902, 0x0832: 0xadc0ea02, 0x0833: 0xae60eb02, + 0x0834: 0x403bb820, 0x0835: 0x403bba20, 0x0836: 0x40073820, 0x0837: 0x40035e20, + 0x0838: 0x40025020, 0x0839: 0x4002c020, 0x083a: 0xa0000000, + // Block 0x21, offset 0x840 + 0x0840: 0x4038e820, 0x0841: 0x4038ea20, 0x0842: 0x4038ec20, 0x0843: 0x4038ee20, + 0x0844: 0x4038f020, 0x0845: 0x4038f220, 0x0846: 0x4038f420, 0x0847: 0x4038f620, + 0x0848: 0x4038f820, 0x0849: 0x4038fa20, 0x084a: 0x4038fc20, 0x084b: 0x4038fe20, + 0x084c: 0x40390020, 0x084d: 0x40390220, 0x084e: 0x40390420, 0x084f: 0x40390620, + 0x0850: 0x40390820, 0x0851: 0x40390a20, 0x0852: 0x40390c20, 0x0853: 0x40390e20, + 0x0854: 0x40391020, 0x0855: 0x40391220, 0x0856: 0x82e61c8a, 0x0857: 0x82e61c8b, + 0x0858: 0xae609f02, 0x0859: 0xae60a002, 0x085a: 0x40391820, 0x085b: 0x82e61c8d, + 0x085c: 0xae609702, 0x085d: 0xae609702, 0x085e: 0xae609802, 0x085f: 0xae609802, + 0x0860: 0xae609802, 0x0861: 0xae609902, 0x0862: 0xae609902, 0x0863: 0xae609902, + 0x0864: 0xa0009a02, 0x0865: 0xae609a02, 0x0866: 0xae609b02, 0x0867: 0xae609b02, + 0x0868: 0xa0009c02, 0x0869: 0xae609c02, 0x086a: 0xae609c02, 0x086b: 0xae609d02, + 0x086c: 0xae609e02, 0x086d: 0xae60a102, + 0x0870: 0x40027e20, 0x0871: 0x40028020, 0x0872: 0x40028220, 0x0873: 0x40028420, + 0x0874: 0x40028620, 0x0875: 0x40028820, 0x0876: 0x40028a20, 0x0877: 0x40028c20, + 0x0878: 0x40028e20, 0x0879: 0x40029020, 0x087a: 0x40029220, 0x087b: 0x40029420, + 0x087c: 0x40029620, 0x087d: 0x40029820, 0x087e: 0x40029a20, + // Block 0x22, offset 0x880 + 0x0880: 0x403ae620, 0x0881: 0x403ae820, 0x0882: 0x403aea20, 0x0883: 0x403aec20, + 0x0884: 0x403aee20, 0x0885: 0x403af020, 0x0886: 0x403af220, 0x0887: 0x403af420, + 0x0888: 0x403af620, 0x0889: 0x403af820, 0x088a: 0x403afa20, 0x088b: 0x403afc20, + 0x088c: 0x403afe20, 0x088d: 0x403b0020, 0x088e: 0x403b0220, 0x088f: 0x403b0420, + 0x0890: 0x403b0620, 0x0891: 0x403b0820, 0x0892: 0x403b0a20, 0x0893: 0x403b0c20, + 0x0894: 0x403b0e20, 0x0895: 0x403b1020, 0x0896: 0x403b1220, 0x0897: 0x403b1420, + 0x0898: 0x403b1620, 0x0899: 0xadc06002, 0x089a: 0xadc06002, 0x089b: 0xadc06002, + 0x089e: 0x40056820, + // Block 0x23, offset 0x8c0 + 0x08e0: 0x40395020, 0x08e2: 0x40397020, 0x08e3: 0x4039ec20, + 0x08e4: 0x403a0620, 0x08e5: 0x403a1820, 0x08e6: 0x403a4c20, 0x08e7: 0x403a5420, + 0x08e8: 0x40393220, 0x08e9: 0x40393420, 0x08ea: 0x4039c420, 0x08eb: 0x403a8c20, + 0x08ec: 0x40393620, + // Block 0x24, offset 0x900 + 0x0924: 0xae60af02, 0x0925: 0xae60b402, 0x0926: 0xadc0b802, 0x0927: 0xae60a402, + 0x0928: 0xae60a802, 0x0929: 0xadc0ac02, 0x092a: 0xae600000, 0x092b: 0xae600000, + 0x092c: 0xae600000, 0x092d: 0xadc00000, 0x092e: 0xadc00000, 0x092f: 0xadc00000, + 0x0930: 0xa1b0a302, 0x0931: 0xa1c0a702, 0x0932: 0xa1d0ab02, 0x0933: 0xae600000, + 0x0934: 0xae60b002, 0x0935: 0xae60b102, 0x0936: 0xadc0b902, 0x0937: 0xae60ca02, + 0x0938: 0xae60cb02, 0x0939: 0xadc0cf02, 0x093a: 0xadc0d002, 0x093b: 0xae60cd02, + 0x093c: 0xae60ce02, 0x093d: 0xae60cc02, 0x093e: 0xae60b502, + // Block 0x25, offset 0x940 + 0x0940: 0xa000f202, 0x0941: 0xa000f202, 0x0942: 0xa000f302, 0x0943: 0xa000f402, + 0x0944: 0x403fbc20, 0x0945: 0x403fbe20, 0x0946: 0x403fc020, 0x0947: 0x403fcc20, + 0x0948: 0x403fce20, 0x0949: 0x403fd020, 0x094a: 0x403fd220, 0x094b: 0x403fd420, + 0x094c: 0x403fd820, 0x094d: 0x403fdc20, 0x094e: 0x403fde20, 0x094f: 0x403fe020, + 0x0950: 0x403fe220, 0x0951: 0x403fe420, 0x0952: 0x403fe620, 0x0953: 0x403fe820, + 0x0954: 0x403fea20, 0x0955: 0x403fec20, 0x0956: 0x403fee20, 0x0957: 0x403ff020, + 0x0958: 0x403ff420, 0x0959: 0x403ff620, 0x095a: 0x403ff820, 0x095b: 0x403ffa20, + 0x095c: 0x403ffc20, 0x095d: 0x40400220, 0x095e: 0x40400420, 0x095f: 0x40400620, + 0x0960: 0x40400820, 0x0961: 0x40400a20, 0x0962: 0x40400e20, 0x0963: 0x40401020, + 0x0964: 0x40401220, 0x0965: 0x40401420, 0x0966: 0x40401620, 0x0967: 0x40401820, + 0x0968: 0x40401a20, 0x0969: 0xe0001830, 0x096a: 0x40401c20, 0x096b: 0x40401e20, + 0x096c: 0x40402020, 0x096d: 0x40402420, 0x096e: 0x40402620, 0x096f: 0x40402820, + 0x0970: 0x40402c20, 0x0971: 0xe0001839, 0x0972: 0x40402e20, 0x0973: 0x40403020, + 0x0974: 0xe000183c, 0x0975: 0x40403220, 0x0976: 0x40403420, 0x0977: 0x40403620, + 0x0978: 0x40403820, 0x0979: 0x40403a20, 0x097a: 0x40404c20, 0x097b: 0x40404e20, + 0x097c: 0xa070f102, 0x097d: 0x40403c20, 0x097e: 0x40404a20, 0x097f: 0x40405620, + // Block 0x26, offset 0x980 + 0x0980: 0x40405820, 0x0981: 0x40405a20, 0x0982: 0x40405c20, 0x0983: 0x40405e20, + 0x0984: 0x40406020, 0x0985: 0x40406620, 0x0986: 0x40406a20, 0x0987: 0x40406c20, + 0x0988: 0x40407020, 0x0989: 0x40407220, 0x098a: 0x40407420, 0x098b: 0x40407620, + 0x098c: 0x40407820, 0x098d: 0x8209203d, 0x098e: 0x40406e20, 0x098f: 0x40405020, + 0x0990: 0x403fb820, 0x0991: 0xae600000, 0x0992: 0xadc00000, 0x0993: 0xae603502, + 0x0994: 0xae603202, 0x0995: 0x40406820, 0x0996: 0x40405220, 0x0997: 0x40405420, + 0x0998: 0xe000181e, 0x0999: 0xe0001821, 0x099a: 0xe0001824, 0x099b: 0xe0001827, + 0x099c: 0xe000182a, 0x099d: 0xe000182d, 0x099e: 0xe0001833, 0x099f: 0xe0001836, + 0x09a0: 0x403fd620, 0x09a1: 0x403fda20, 0x09a2: 0x40406220, 0x09a3: 0x40406420, + 0x09a4: 0x40030c20, 0x09a5: 0x40030e20, 0x09a6: 0xe000016a, 0x09a7: 0xe00001f8, + 0x09a8: 0xe0000313, 0x09a9: 0xe00003ed, 0x09aa: 0xe00004c8, 0x09ab: 0xe0000592, + 0x09ac: 0xe000065d, 0x09ad: 0xe0000705, 0x09ae: 0xe00007b1, 0x09af: 0xe0000856, + 0x09b0: 0x40056c20, 0x09b1: 0x4027b620, 0x09b2: 0x403fba20, 0x09b3: 0x403fc220, + 0x09b4: 0x403fc420, 0x09b5: 0x403fc620, 0x09b6: 0x403fc820, 0x09b7: 0x403fca20, + 0x09b9: 0x403ffe20, 0x09ba: 0x40402a20, 0x09bb: 0x403ff220, + 0x09bc: 0x40400020, 0x09bd: 0x40403e20, 0x09be: 0x40400c20, 0x09bf: 0x40402220, + // Block 0x27, offset 0x9c0 + 0x09c1: 0xa000f202, 0x09c2: 0xa000f302, 0x09c3: 0xa000f402, + 0x09c5: 0x40407c20, 0x09c6: 0x40407e20, 0x09c7: 0x40408020, + 0x09c8: 0x40408220, 0x09c9: 0x40408420, 0x09ca: 0x40408620, 0x09cb: 0x40408820, + 0x09cc: 0x40408c20, 0x09cf: 0x40409020, + 0x09d0: 0x40409220, 0x09d3: 0x40409420, + 0x09d4: 0x40409620, 0x09d5: 0x40409820, 0x09d6: 0x40409a20, 0x09d7: 0x40409c20, + 0x09d8: 0x40409e20, 0x09d9: 0x4040a020, 0x09da: 0x4040a220, 0x09db: 0x4040a420, + 0x09dc: 0x4040a620, 0x09dd: 0x4040a820, 0x09de: 0x4040aa20, 0x09df: 0x4040ac20, + 0x09e0: 0x4040ae20, 0x09e1: 0x4040b020, 0x09e2: 0x4040b220, 0x09e3: 0x4040b420, + 0x09e4: 0x4040b620, 0x09e5: 0x4040b820, 0x09e6: 0x4040ba20, 0x09e7: 0x4040bc20, + 0x09e8: 0x4040be20, 0x09ea: 0x4040c020, 0x09eb: 0x4040c220, + 0x09ec: 0x4040c420, 0x09ed: 0x4040c620, 0x09ee: 0x4040c820, 0x09ef: 0x4040ca20, + 0x09f0: 0x4040cc20, 0x09f2: 0x4040d020, + 0x09f6: 0x4040d420, 0x09f7: 0x4040d620, + 0x09f8: 0x4040d820, 0x09f9: 0x4040da20, + 0x09fc: 0xa070f102, 0x09fd: 0x4040dc20, 0x09fe: 0x4040de20, 0x09ff: 0x4040e020, + // Block 0x28, offset 0xa00 + 0x0a00: 0x4040e220, 0x0a01: 0x4040e420, 0x0a02: 0x4040e620, 0x0a03: 0x4040e820, + 0x0a04: 0x4040ea20, 0x0a07: 0xc05a0191, + 0x0a08: 0x4040f220, 0x0a0b: 0x4040f420, + 0x0a0c: 0x4040f620, 0x0a0d: 0x8209207c, 0x0a0e: 0xe0001845, + 0x0a17: 0x4040fa20, + 0x0a1c: 0xe000183f, 0x0a1d: 0xe0001842, 0x0a1f: 0xe0001848, + 0x0a20: 0x40408a20, 0x0a21: 0x40408e20, 0x0a22: 0x4040ec20, 0x0a23: 0x4040ee20, + 0x0a26: 0xe000016d, 0x0a27: 0xe00001fb, + 0x0a28: 0xe0000316, 0x0a29: 0xe00003f0, 0x0a2a: 0xe00004cb, 0x0a2b: 0xe0000595, + 0x0a2c: 0xe0000660, 0x0a2d: 0xe0000708, 0x0a2e: 0xe00007b4, 0x0a2f: 0xe0000859, + 0x0a30: 0x4040ce20, 0x0a31: 0x4040d220, 0x0a32: 0x4027e820, 0x0a33: 0x4027ea20, + 0x0a34: 0x40283020, 0x0a35: 0x40283220, 0x0a36: 0x40283420, 0x0a37: 0x40283620, + 0x0a38: 0x40283820, 0x0a39: 0x40283a20, 0x0a3a: 0x40073a20, 0x0a3b: 0x4027ec20, + // Block 0x29, offset 0xa40 + 0x0a41: 0xa000f202, 0x0a42: 0xa000f302, 0x0a43: 0xa000f402, + 0x0a45: 0x40410620, 0x0a46: 0x40410820, 0x0a47: 0x40411020, + 0x0a48: 0x40411220, 0x0a49: 0x40410020, 0x0a4a: 0x40410220, + 0x0a4f: 0x40411420, + 0x0a50: 0x40410a20, 0x0a53: 0x40410420, + 0x0a54: 0x40410c20, 0x0a55: 0x40411c20, 0x0a56: 0x40411e20, 0x0a57: 0x40412020, + 0x0a58: 0x40412220, 0x0a59: 0x40412420, 0x0a5a: 0x40412620, 0x0a5b: 0x40412820, + 0x0a5c: 0x40412a20, 0x0a5d: 0x40412c20, 0x0a5e: 0x40412e20, 0x0a5f: 0x40413020, + 0x0a60: 0x40413220, 0x0a61: 0x40413420, 0x0a62: 0x40413620, 0x0a63: 0x40413820, + 0x0a64: 0x40413a20, 0x0a65: 0x40413c20, 0x0a66: 0x40413e20, 0x0a67: 0x40414020, + 0x0a68: 0x40414220, 0x0a6a: 0x40414420, 0x0a6b: 0x40414620, + 0x0a6c: 0x40414820, 0x0a6d: 0x40414a20, 0x0a6e: 0x40414c20, 0x0a6f: 0x40414e20, + 0x0a70: 0x40415220, 0x0a72: 0x40415420, 0x0a73: 0xe000185a, + 0x0a75: 0x40415620, 0x0a76: 0xe000184b, + 0x0a78: 0x40411620, 0x0a79: 0x40411820, + 0x0a7c: 0xa070f102, 0x0a7e: 0x40415a20, 0x0a7f: 0x40415c20, + // Block 0x2a, offset 0xa80 + 0x0a80: 0x40415e20, 0x0a81: 0x40416020, 0x0a82: 0x40416220, + 0x0a87: 0x40416420, + 0x0a88: 0x40416620, 0x0a8b: 0x40416820, + 0x0a8c: 0x40416a20, 0x0a8d: 0x820920b6, + 0x0a91: 0x40411a20, + 0x0a99: 0xe000184e, 0x0a9a: 0xe0001851, 0x0a9b: 0xe0001854, + 0x0a9c: 0x40415820, 0x0a9e: 0xe0001857, + 0x0aa6: 0xe0000170, 0x0aa7: 0xe00001fe, + 0x0aa8: 0xe0000319, 0x0aa9: 0xe00003f3, 0x0aaa: 0xe00004ce, 0x0aab: 0xe0000598, + 0x0aac: 0xe0000663, 0x0aad: 0xe000070b, 0x0aae: 0xe00007b7, 0x0aaf: 0xe000085c, + 0x0ab0: 0xa000f502, 0x0ab1: 0xa000f602, 0x0ab2: 0x40410e20, 0x0ab3: 0x4040fe20, + 0x0ab4: 0x4040fc20, 0x0ab5: 0x40415020, + // Block 0x2b, offset 0xac0 + 0x0ac1: 0xa000f202, 0x0ac2: 0xa000f302, 0x0ac3: 0xa000f402, + 0x0ac5: 0x40417020, 0x0ac6: 0x40417220, 0x0ac7: 0x40417420, + 0x0ac8: 0x40417620, 0x0ac9: 0x40417820, 0x0aca: 0x40417a20, 0x0acb: 0x40417c20, + 0x0acc: 0x40418020, 0x0acd: 0x40418420, 0x0acf: 0x40418620, + 0x0ad0: 0x40418820, 0x0ad1: 0x40418a20, 0x0ad3: 0x40418c20, + 0x0ad4: 0x40418e20, 0x0ad5: 0x40419020, 0x0ad6: 0x40419220, 0x0ad7: 0x40419420, + 0x0ad8: 0x40419620, 0x0ad9: 0x40419820, 0x0ada: 0x40419a20, 0x0adb: 0x40419c20, + 0x0adc: 0x40419e20, 0x0add: 0x4041a020, 0x0ade: 0x4041a220, 0x0adf: 0x4041a420, + 0x0ae0: 0x4041a620, 0x0ae1: 0x4041a820, 0x0ae2: 0x4041aa20, 0x0ae3: 0x4041ac20, + 0x0ae4: 0x4041ae20, 0x0ae5: 0x4041b020, 0x0ae6: 0x4041b220, 0x0ae7: 0x4041b420, + 0x0ae8: 0x4041b620, 0x0aea: 0x4041b820, 0x0aeb: 0x4041ba20, + 0x0aec: 0x4041bc20, 0x0aed: 0x4041be20, 0x0aee: 0x4041c020, 0x0aef: 0x4041c220, + 0x0af0: 0x4041c420, 0x0af2: 0x4041c620, 0x0af3: 0x4041d220, + 0x0af5: 0x4041c820, 0x0af6: 0x4041ca20, 0x0af7: 0x4041cc20, + 0x0af8: 0x4041ce20, 0x0af9: 0x4041d020, + 0x0afc: 0xa070f102, 0x0afd: 0x4041d420, 0x0afe: 0x4041d620, 0x0aff: 0x4041d820, + // Block 0x2c, offset 0xb00 + 0x0b00: 0x4041da20, 0x0b01: 0x4041dc20, 0x0b02: 0x4041de20, 0x0b03: 0x4041e020, + 0x0b04: 0x4041e220, 0x0b05: 0x4041e820, 0x0b07: 0x4041ea20, + 0x0b08: 0x4041ec20, 0x0b09: 0x4041ee20, 0x0b0b: 0x4041f020, + 0x0b0c: 0x4041f220, 0x0b0d: 0x820920fa, + 0x0b10: 0x40416e20, + 0x0b20: 0x40417e20, 0x0b21: 0x40418220, 0x0b22: 0x4041e420, 0x0b23: 0x4041e620, + 0x0b26: 0xe0000173, 0x0b27: 0xe0000201, + 0x0b28: 0xe000031c, 0x0b29: 0xe00003f6, 0x0b2a: 0xe00004d1, 0x0b2b: 0xe000059b, + 0x0b2c: 0xe0000666, 0x0b2d: 0xe000070e, 0x0b2e: 0xe00007ba, 0x0b2f: 0xe000085f, + 0x0b30: 0x40057420, 0x0b31: 0x4027ee20, + // Block 0x2d, offset 0xb40 + 0x0b41: 0xa000f202, 0x0b42: 0xa000f302, 0x0b43: 0xa000f402, + 0x0b45: 0x4041f620, 0x0b46: 0x4041f820, 0x0b47: 0x4041fa20, + 0x0b48: 0x4041fc20, 0x0b49: 0x4041fe20, 0x0b4a: 0x40420020, 0x0b4b: 0x40420220, + 0x0b4c: 0x40420620, 0x0b4f: 0x40420a20, + 0x0b50: 0x40420c20, 0x0b53: 0x40420e20, + 0x0b54: 0x40421020, 0x0b55: 0x40421220, 0x0b56: 0x40421420, 0x0b57: 0x40421620, + 0x0b58: 0x40421820, 0x0b59: 0x40421a20, 0x0b5a: 0x40421c20, 0x0b5b: 0x40421e20, + 0x0b5c: 0x40422020, 0x0b5d: 0x40422220, 0x0b5e: 0x40422420, 0x0b5f: 0x40422620, + 0x0b60: 0x40422820, 0x0b61: 0x40422a20, 0x0b62: 0x40422c20, 0x0b63: 0x40422e20, + 0x0b64: 0x40423020, 0x0b65: 0x40423220, 0x0b66: 0x40423420, 0x0b67: 0x40423620, + 0x0b68: 0x40423820, 0x0b6a: 0x40423a20, 0x0b6b: 0x40423c20, + 0x0b6c: 0x40423e20, 0x0b6d: 0x40424020, 0x0b6e: 0x40424220, 0x0b6f: 0x40424420, + 0x0b70: 0x40424820, 0x0b72: 0x40424a20, 0x0b73: 0x40424c20, + 0x0b75: 0x40424e20, 0x0b76: 0x40425220, 0x0b77: 0x40425420, + 0x0b78: 0x40425620, 0x0b79: 0x40425820, + 0x0b7c: 0xa070f102, 0x0b7d: 0x40425a20, 0x0b7e: 0x40425c20, 0x0b7f: 0x40425e20, + // Block 0x2e, offset 0xb80 + 0x0b80: 0x40426020, 0x0b81: 0x40426220, 0x0b82: 0x40426420, 0x0b83: 0x40426620, + 0x0b84: 0x40426820, 0x0b87: 0xc05d01e1, + 0x0b88: 0x40427020, 0x0b8b: 0x40427220, + 0x0b8c: 0x40427420, 0x0b8d: 0x8209213b, + 0x0b96: 0x40427820, 0x0b97: 0x40427a20, + 0x0b9c: 0xe000185d, 0x0b9d: 0xe0001860, 0x0b9f: 0x40424620, + 0x0ba0: 0x40420420, 0x0ba1: 0x40420820, 0x0ba2: 0x40426a20, 0x0ba3: 0x40426c20, + 0x0ba6: 0xe0000176, 0x0ba7: 0xe0000204, + 0x0ba8: 0xe000031f, 0x0ba9: 0xe00003f9, 0x0baa: 0xe00004d4, 0x0bab: 0xe000059e, + 0x0bac: 0xe0000669, 0x0bad: 0xe0000711, 0x0bae: 0xe00007bd, 0x0baf: 0xe0000862, + 0x0bb0: 0x40073c20, 0x0bb1: 0x40425020, 0x0bb2: 0x40283c20, 0x0bb3: 0x40283e20, + 0x0bb4: 0x40284020, 0x0bb5: 0x40284220, 0x0bb6: 0x40284420, 0x0bb7: 0x40284620, + // Block 0x2f, offset 0xbc0 + 0x0bc2: 0xa000f302, 0x0bc3: 0x40429620, + 0x0bc5: 0x40427e20, 0x0bc6: 0x40428020, 0x0bc7: 0x40428220, + 0x0bc8: 0x40428420, 0x0bc9: 0x40428620, 0x0bca: 0x40428820, + 0x0bce: 0x40428a20, 0x0bcf: 0x40428c20, + 0x0bd0: 0x40428e20, 0x0bd2: 0xc0610231, 0x0bd3: 0x40429220, + 0x0bd4: 0x40429420, 0x0bd5: 0x40429820, + 0x0bd9: 0x40429a20, 0x0bda: 0x40429c20, + 0x0bdc: 0x4042bc20, 0x0bde: 0x40429e20, 0x0bdf: 0x4042a020, + 0x0be3: 0x4042a220, + 0x0be4: 0x4042a420, + 0x0be8: 0x4042a620, 0x0be9: 0x4042ba20, 0x0bea: 0x4042a820, + 0x0bee: 0x4042aa20, 0x0bef: 0x4042ac20, + 0x0bf0: 0x4042ae20, 0x0bf1: 0x4042b820, 0x0bf2: 0x4042b020, 0x0bf3: 0x4042b620, + 0x0bf4: 0x4042b420, 0x0bf5: 0x4042b220, 0x0bf6: 0x4042be20, 0x0bf7: 0x4042c020, + 0x0bf8: 0x4042c220, 0x0bf9: 0x4042c420, + 0x0bfe: 0x4042c620, 0x0bff: 0x4042c820, + // Block 0x30, offset 0xc00 + 0x0c00: 0x4042ca20, 0x0c01: 0x4042cc20, 0x0c02: 0x4042ce20, + 0x0c06: 0xc0630261, 0x0c07: 0xc06602b1, + 0x0c08: 0x4042d420, 0x0c0a: 0x4042d620, 0x0c0b: 0x4042d820, + 0x0c0c: 0x4042da20, 0x0c0d: 0x8209216e, + 0x0c10: 0x40427c20, + 0x0c17: 0x4042de20, + 0x0c26: 0xe0000179, 0x0c27: 0xe0000207, + 0x0c28: 0xe0000322, 0x0c29: 0xe00003fc, 0x0c2a: 0xe00004d7, 0x0c2b: 0xe00005a1, + 0x0c2c: 0xe000066c, 0x0c2d: 0xe0000714, 0x0c2e: 0xe00007c0, 0x0c2f: 0xe0000865, + 0x0c30: 0x40285420, 0x0c31: 0x40285620, 0x0c32: 0x40285820, 0x0c33: 0x40073e20, + 0x0c34: 0x40074020, 0x0c35: 0x40074220, 0x0c36: 0x40074420, 0x0c37: 0x40074620, + 0x0c38: 0x40074820, 0x0c39: 0x4027f220, 0x0c3a: 0x40074a20, + // Block 0x31, offset 0xc40 + 0x0c41: 0xa000f202, 0x0c42: 0xa000f302, 0x0c43: 0xa000f402, + 0x0c45: 0x4042e020, 0x0c46: 0x4042e220, 0x0c47: 0x4042e420, + 0x0c48: 0x4042e620, 0x0c49: 0x4042e820, 0x0c4a: 0x4042ea20, 0x0c4b: 0x4042ec20, + 0x0c4c: 0x4042f020, 0x0c4e: 0x4042f420, 0x0c4f: 0x4042f620, + 0x0c50: 0x4042f820, 0x0c52: 0x4042fa20, 0x0c53: 0x4042fc20, + 0x0c54: 0x4042fe20, 0x0c55: 0x40430020, 0x0c56: 0x40430220, 0x0c57: 0x40430420, + 0x0c58: 0x40430620, 0x0c59: 0x40430820, 0x0c5a: 0x40430a20, 0x0c5b: 0x40430e20, + 0x0c5c: 0x40431020, 0x0c5d: 0x40431420, 0x0c5e: 0x40431620, 0x0c5f: 0x40431820, + 0x0c60: 0x40431a20, 0x0c61: 0x40431c20, 0x0c62: 0x40431e20, 0x0c63: 0x40432020, + 0x0c64: 0x40432220, 0x0c65: 0x40432420, 0x0c66: 0x40432620, 0x0c67: 0x40432820, + 0x0c68: 0x40432a20, 0x0c6a: 0x40432c20, 0x0c6b: 0x40432e20, + 0x0c6c: 0x40433020, 0x0c6d: 0x40433220, 0x0c6e: 0x40433420, 0x0c6f: 0x40433620, + 0x0c70: 0x40433820, 0x0c71: 0x40433a20, 0x0c72: 0x40433c20, 0x0c73: 0x40434820, + 0x0c75: 0x40433e20, 0x0c76: 0x40434020, 0x0c77: 0x40434220, + 0x0c78: 0x40434420, 0x0c79: 0x40434620, + 0x0c7d: 0x40434a20, 0x0c7e: 0x40434c20, 0x0c7f: 0x40434e20, + // Block 0x32, offset 0xc80 + 0x0c80: 0x40435020, 0x0c81: 0x40435220, 0x0c82: 0x40435420, 0x0c83: 0x40435620, + 0x0c84: 0x40435820, 0x0c86: 0xc06802e1, 0x0c87: 0x40436020, + 0x0c88: 0x40436220, 0x0c8a: 0x40436420, 0x0c8b: 0x40436620, + 0x0c8c: 0x40436820, 0x0c8d: 0x820921b5, + 0x0c95: 0x825421b6, 0x0c96: 0x825b21b7, + 0x0c98: 0x40430c20, 0x0c99: 0x40431220, + 0x0ca0: 0x4042ee20, 0x0ca1: 0x4042f220, 0x0ca2: 0x40435a20, 0x0ca3: 0x40435c20, + 0x0ca6: 0xe000017c, 0x0ca7: 0xe000020a, + 0x0ca8: 0xe0000325, 0x0ca9: 0xe00003ff, 0x0caa: 0xe00004da, 0x0cab: 0xe00005a4, + 0x0cac: 0xe000066f, 0x0cad: 0xe0000717, 0x0cae: 0xe00007c3, 0x0caf: 0xe0000868, + 0x0cb8: 0xe000017f, 0x0cb9: 0xe000020d, 0x0cba: 0xe0000328, 0x0cbb: 0xe0000402, + 0x0cbc: 0xe0000210, 0x0cbd: 0xe000032b, 0x0cbe: 0xe0000405, 0x0cbf: 0x40074c20, + // Block 0x33, offset 0xcc0 + 0x0cc2: 0xa000f302, 0x0cc3: 0xa000f402, + 0x0cc5: 0x40437020, 0x0cc6: 0x40437220, 0x0cc7: 0x40437420, + 0x0cc8: 0x40437620, 0x0cc9: 0x40437820, 0x0cca: 0x40437a20, 0x0ccb: 0x40437c20, + 0x0ccc: 0x40438020, 0x0cce: 0x40438420, 0x0ccf: 0x40438620, + 0x0cd0: 0x40438820, 0x0cd2: 0x40438a20, 0x0cd3: 0x40438c20, + 0x0cd4: 0x40438e20, 0x0cd5: 0x40439020, 0x0cd6: 0x40439220, 0x0cd7: 0x40439420, + 0x0cd8: 0x40439620, 0x0cd9: 0x40439820, 0x0cda: 0x40439a20, 0x0cdb: 0x40439c20, + 0x0cdc: 0x40439e20, 0x0cdd: 0x4043a020, 0x0cde: 0x4043a220, 0x0cdf: 0x4043a420, + 0x0ce0: 0x4043a620, 0x0ce1: 0x4043a820, 0x0ce2: 0x4043aa20, 0x0ce3: 0x4043ac20, + 0x0ce4: 0x4043ae20, 0x0ce5: 0x4043b020, 0x0ce6: 0x4043b220, 0x0ce7: 0x4043b420, + 0x0ce8: 0x4043b620, 0x0cea: 0x4043b820, 0x0ceb: 0x4043ba20, + 0x0cec: 0x4043bc20, 0x0ced: 0x4043be20, 0x0cee: 0x4043c020, 0x0cef: 0x4043c220, + 0x0cf0: 0x4043c420, 0x0cf1: 0x4043c620, 0x0cf2: 0x4043c820, 0x0cf3: 0x4043d420, + 0x0cf5: 0x4043ca20, 0x0cf6: 0x4043cc20, 0x0cf7: 0x4043ce20, + 0x0cf8: 0x4043d020, 0x0cf9: 0x4043d220, + 0x0cfc: 0xa070f102, 0x0cfd: 0x4043d820, 0x0cfe: 0x4043de20, 0x0cff: 0xc06a0311, + // Block 0x34, offset 0xd00 + 0x0d00: 0x4043e220, 0x0d01: 0x4043e420, 0x0d02: 0x4043e620, 0x0d03: 0x4043e820, + 0x0d04: 0x4043ea20, 0x0d06: 0xc06c0341, 0x0d07: 0x4043f220, + 0x0d08: 0x4043f420, 0x0d0a: 0xc0710311, 0x0d0b: 0x4043f820, + 0x0d0c: 0x4043fa20, 0x0d0d: 0x820921fe, + 0x0d15: 0x4043fe20, 0x0d16: 0x40440020, + 0x0d1e: 0x4043d620, + 0x0d20: 0x40437e20, 0x0d21: 0x40438220, 0x0d22: 0x4043ec20, 0x0d23: 0x4043ee20, + 0x0d26: 0xe0000182, 0x0d27: 0xe0000213, + 0x0d28: 0xe000032e, 0x0d29: 0xe0000408, 0x0d2a: 0xe00004dd, 0x0d2b: 0xe00005a7, + 0x0d2c: 0xe0000672, 0x0d2d: 0xe000071a, 0x0d2e: 0xe00007c6, 0x0d2f: 0xe000086b, + 0x0d31: 0x4043da20, 0x0d32: 0x4043dc20, + // Block 0x35, offset 0xd40 + 0x0d42: 0xa000f302, 0x0d43: 0xa000f402, + 0x0d45: 0x40440220, 0x0d46: 0x40440420, 0x0d47: 0x40440620, + 0x0d48: 0x40440820, 0x0d49: 0x40440a20, 0x0d4a: 0x40440c20, 0x0d4b: 0x40440e20, + 0x0d4c: 0x40441220, 0x0d4e: 0x40441620, 0x0d4f: 0x40441820, + 0x0d50: 0x40441a20, 0x0d52: 0x40441c20, 0x0d53: 0x40441e20, + 0x0d54: 0x40442020, 0x0d55: 0x40442220, 0x0d56: 0x40442420, 0x0d57: 0x40442620, + 0x0d58: 0x40442820, 0x0d59: 0x40442a20, 0x0d5a: 0x40442c20, 0x0d5b: 0x40442e20, + 0x0d5c: 0x40443020, 0x0d5d: 0x40443220, 0x0d5e: 0x40443420, 0x0d5f: 0x40443620, + 0x0d60: 0x40443820, 0x0d61: 0x40443a20, 0x0d62: 0x40443c20, 0x0d63: 0x40443e20, + 0x0d64: 0x40444020, 0x0d65: 0x40444220, 0x0d66: 0x40444420, 0x0d67: 0x40444620, + 0x0d68: 0x40444820, 0x0d69: 0x40444a20, 0x0d6a: 0x40444c20, 0x0d6b: 0x40444e20, + 0x0d6c: 0x40445020, 0x0d6d: 0x40445220, 0x0d6e: 0x40445420, 0x0d6f: 0x40445620, + 0x0d70: 0x40445820, 0x0d71: 0x40446a20, 0x0d72: 0x40445a20, 0x0d73: 0x40446620, + 0x0d74: 0x40446820, 0x0d75: 0x40445c20, 0x0d76: 0x40445e20, 0x0d77: 0x40446020, + 0x0d78: 0x40446220, 0x0d79: 0x40446420, 0x0d7a: 0x40446c20, + 0x0d7d: 0x40446e20, 0x0d7e: 0x40447020, 0x0d7f: 0x40447220, + // Block 0x36, offset 0xd80 + 0x0d80: 0x40447420, 0x0d81: 0x40447620, 0x0d82: 0x40447820, 0x0d83: 0x40447a20, + 0x0d84: 0x40447c20, 0x0d86: 0xc07303b1, 0x0d87: 0xc0760401, + 0x0d88: 0x40448620, 0x0d8a: 0x40448820, 0x0d8b: 0x40448a20, + 0x0d8c: 0x40448c20, 0x0d8d: 0x82092248, 0x0d8e: 0xe000186c, + 0x0d97: 0x40448e20, + 0x0da0: 0x40441020, 0x0da1: 0x40441420, 0x0da2: 0x40447e20, 0x0da3: 0x40448020, + 0x0da6: 0xe0000185, 0x0da7: 0xe0000216, + 0x0da8: 0xe0000331, 0x0da9: 0xe000040b, 0x0daa: 0xe00004e0, 0x0dab: 0xe00005aa, + 0x0dac: 0xe0000675, 0x0dad: 0xe000071d, 0x0dae: 0xe00007c9, 0x0daf: 0xe000086e, + 0x0db0: 0x40285a20, 0x0db1: 0x40285c20, 0x0db2: 0x40285e20, 0x0db3: 0x40286020, + 0x0db4: 0x40286220, 0x0db5: 0x40286420, + 0x0db9: 0x40074e20, 0x0dba: 0xe0001866, 0x0dbb: 0xe0001869, + 0x0dbc: 0xe000186f, 0x0dbd: 0xe0001872, 0x0dbe: 0xe0001875, 0x0dbf: 0xe0001863, + // Block 0x37, offset 0xdc0 + 0x0dc2: 0xa000f302, 0x0dc3: 0xa000f402, + 0x0dc5: 0x40449220, 0x0dc6: 0x40449420, 0x0dc7: 0x40449620, + 0x0dc8: 0x40449820, 0x0dc9: 0x40449a20, 0x0dca: 0x40449c20, 0x0dcb: 0x40449e20, + 0x0dcc: 0x4044a020, 0x0dcd: 0x4044a220, 0x0dce: 0x4044a420, 0x0dcf: 0x4044a620, + 0x0dd0: 0x4044a820, 0x0dd1: 0x4044aa20, 0x0dd2: 0x4044ac20, 0x0dd3: 0x4044ae20, + 0x0dd4: 0x4044b020, 0x0dd5: 0x4044b220, 0x0dd6: 0x4044b420, + 0x0dda: 0x4044b620, 0x0ddb: 0x4044b820, + 0x0ddc: 0x4044ba20, 0x0ddd: 0x4044bc20, 0x0dde: 0x4044be20, 0x0ddf: 0x4044c020, + 0x0de0: 0x4044c220, 0x0de1: 0x4044c420, 0x0de2: 0x4044c620, 0x0de3: 0x4044c820, + 0x0de4: 0x4044ca20, 0x0de5: 0x4044cc20, 0x0de6: 0x4044ce20, 0x0de7: 0x4044d020, + 0x0de8: 0x4044d220, 0x0de9: 0x4044d420, 0x0dea: 0x4044d620, 0x0deb: 0x4044d820, + 0x0dec: 0x4044da20, 0x0ded: 0x4044dc20, 0x0dee: 0x4044de20, 0x0def: 0x4044e020, + 0x0df0: 0x4044e220, 0x0df1: 0x4044e420, 0x0df3: 0x4044e620, + 0x0df4: 0x4044e820, 0x0df5: 0x4044ea20, 0x0df6: 0x4044ec20, 0x0df7: 0x4044ee20, + 0x0df8: 0x4044f020, 0x0df9: 0x4044f220, 0x0dfa: 0x4044f420, 0x0dfb: 0x4044f620, + 0x0dfd: 0x4044f820, + // Block 0x38, offset 0xe00 + 0x0e00: 0x4044fa20, 0x0e01: 0x4044fc20, 0x0e02: 0x4044fe20, 0x0e03: 0x40450020, + 0x0e04: 0x40450220, 0x0e05: 0x40450420, 0x0e06: 0x40450620, + 0x0e0a: 0x82092295, + 0x0e0f: 0x40450820, + 0x0e10: 0x40450a20, 0x0e11: 0x40450c20, 0x0e12: 0x40450e20, 0x0e13: 0x40451020, + 0x0e14: 0x40451220, 0x0e16: 0x40451420, + 0x0e18: 0x40451620, 0x0e19: 0xc0780431, 0x0e1a: 0x40452020, 0x0e1b: 0x40452220, + 0x0e1c: 0xc07d04b1, 0x0e1d: 0x40452620, 0x0e1e: 0x40452820, 0x0e1f: 0x40451a20, + 0x0e32: 0x40451820, 0x0e33: 0x40451c20, + 0x0e34: 0x40057620, + // Block 0x39, offset 0xe40 + 0x0e41: 0x40491020, 0x0e42: 0x40491220, 0x0e43: 0x40491420, + 0x0e44: 0x40491620, 0x0e45: 0x40491820, 0x0e46: 0x40491a20, 0x0e47: 0x40491c20, + 0x0e48: 0x40491e20, 0x0e49: 0x40492020, 0x0e4a: 0x40492220, 0x0e4b: 0x40492420, + 0x0e4c: 0x40492620, 0x0e4d: 0x40492820, 0x0e4e: 0x40492a20, 0x0e4f: 0x40492c20, + 0x0e50: 0x40492e20, 0x0e51: 0x40493020, 0x0e52: 0x40493220, 0x0e53: 0x40493420, + 0x0e54: 0x40493620, 0x0e55: 0x40493820, 0x0e56: 0x40493a20, 0x0e57: 0x40493c20, + 0x0e58: 0x40493e20, 0x0e59: 0x40494020, 0x0e5a: 0x40494220, 0x0e5b: 0x40494420, + 0x0e5c: 0x40494620, 0x0e5d: 0x40494820, 0x0e5e: 0x40494a20, 0x0e5f: 0x40494c20, + 0x0e60: 0x40494e20, 0x0e61: 0x40495020, 0x0e62: 0x40495220, 0x0e63: 0x40495420, + 0x0e64: 0x40495620, 0x0e65: 0x40495820, 0x0e66: 0x40495a20, 0x0e67: 0x40495c20, + 0x0e68: 0x40495e20, 0x0e69: 0x40496020, 0x0e6a: 0x40496220, 0x0e6b: 0x40496420, + 0x0e6c: 0x40496620, 0x0e6d: 0x40496820, 0x0e6e: 0x40496a20, 0x0e6f: 0x40496c20, + 0x0e70: 0x40496e20, 0x0e71: 0x40497020, 0x0e72: 0x40497220, 0x0e73: 0x40497420, + 0x0e74: 0x40497620, 0x0e75: 0x40497820, 0x0e76: 0x40497a20, 0x0e77: 0x40497c20, + 0x0e78: 0x826724bf, 0x0e79: 0x826724c0, 0x0e7a: 0x820924c1, + 0x0e7f: 0x4027f420, + // Block 0x3a, offset 0xe80 + 0x0e80: 0xc07f04e1, 0x0e81: 0xc0ae04e1, 0x0e82: 0xc0dd04e1, 0x0e83: 0xc10c04e1, + 0x0e84: 0xc13b04e1, 0x0e85: 0x40498e20, 0x0e86: 0x4027b820, 0x0e87: 0xa000ff02, + 0x0e88: 0xa6b10002, 0x0e89: 0xa6b10102, 0x0e8a: 0xa6b10202, 0x0e8b: 0xa6b10302, + 0x0e8c: 0xa0010402, 0x0e8d: 0xc16a0511, 0x0e8e: 0xa000fe02, 0x0e8f: 0x40057820, + 0x0e90: 0xe000019a, 0x0e91: 0xe000022e, 0x0e92: 0xe0000346, 0x0e93: 0xe0000420, + 0x0e94: 0xe00004f5, 0x0e95: 0xe00005bf, 0x0e96: 0xe000068a, 0x0e97: 0xe0000732, + 0x0e98: 0xe00007de, 0x0e99: 0xe0000883, 0x0e9a: 0x40057a20, 0x0e9b: 0x40057c20, + // Block 0x3b, offset 0xec0 + 0x0ec1: 0x40499220, 0x0ec2: 0x40499420, + 0x0ec4: 0x40499620, 0x0ec7: 0x40499820, + 0x0ec8: 0x40499a20, 0x0eca: 0x40499e20, + 0x0ecd: 0x4049a220, + 0x0ed4: 0x4049a420, 0x0ed5: 0x4049a620, 0x0ed6: 0x4049a820, 0x0ed7: 0x4049aa20, + 0x0ed9: 0x4049ac20, 0x0eda: 0x4049ae20, 0x0edb: 0x4049b020, + 0x0edc: 0x4049b220, 0x0edd: 0x4049b420, 0x0ede: 0x4049b620, 0x0edf: 0x4049b820, + 0x0ee1: 0x4049ba20, 0x0ee2: 0x4049bc20, 0x0ee3: 0x4049be20, + 0x0ee5: 0x4049c020, 0x0ee7: 0x4049c220, + 0x0eea: 0x40499c20, 0x0eeb: 0x4049c420, + 0x0eed: 0x4049c620, 0x0eee: 0x4049c820, 0x0eef: 0x4049ca20, + 0x0ef0: 0x4049cc20, 0x0ef1: 0x4049ce20, 0x0ef2: 0x4049d020, 0x0ef3: 0x4049d220, + 0x0ef4: 0x4049d420, 0x0ef5: 0x4049d620, 0x0ef6: 0x4049d820, 0x0ef7: 0x4049da20, + 0x0ef8: 0x827624ee, 0x0ef9: 0x827624ef, 0x0efb: 0x4049e020, + 0x0efc: 0x4049e220, 0x0efd: 0x4049e420, + // Block 0x3c, offset 0xf00 + 0x0f00: 0xc16c0541, 0x0f01: 0xc18c0541, 0x0f02: 0xc1ac0541, 0x0f03: 0xc1cc0541, + 0x0f04: 0xc1ec0541, 0x0f06: 0x4027ba20, + 0x0f08: 0xa7a10602, 0x0f09: 0xa7a10702, 0x0f0a: 0xa7a10802, 0x0f0b: 0xa7a10902, + 0x0f0c: 0xa0010a02, 0x0f0d: 0xc20c0641, + 0x0f10: 0xe000019d, 0x0f11: 0xe0000231, 0x0f12: 0xe0000349, 0x0f13: 0xe0000423, + 0x0f14: 0xe00004f8, 0x0f15: 0xe00005c2, 0x0f16: 0xe000068d, 0x0f17: 0xe0000735, + 0x0f18: 0xe00007e1, 0x0f19: 0xe0000886, + 0x0f1c: 0xf0000404, 0x0f1d: 0xf0000404, 0x0f1e: 0x40499020, 0x0f1f: 0x4049a020, + // Block 0x3d, offset 0xf40 + 0x0f40: 0xe000201a, 0x0f41: 0x40075e20, 0x0f42: 0x40076020, 0x0f43: 0x40076220, + 0x0f44: 0x40058220, 0x0f45: 0x40058420, 0x0f46: 0x40058620, 0x0f47: 0x40058820, + 0x0f48: 0x40058a20, 0x0f49: 0x40058c20, 0x0f4a: 0x40058e20, 0x0f4b: 0x40059420, + 0x0f4c: 0x0005949b, 0x0f4d: 0x40059620, 0x0f4e: 0x40059820, 0x0f4f: 0x40059a20, + 0x0f50: 0x40059c20, 0x0f51: 0x40059e20, 0x0f52: 0x4005a020, 0x0f53: 0x40076420, + 0x0f54: 0x4002aa20, 0x0f55: 0x40076620, 0x0f56: 0x40076820, 0x0f57: 0x40076a20, + 0x0f58: 0xadc00000, 0x0f59: 0xadc00000, 0x0f5a: 0x40076c20, 0x0f5b: 0x40076e20, + 0x0f5c: 0x40077020, 0x0f5d: 0x40077220, 0x0f5e: 0x40077420, 0x0f5f: 0x40077620, + 0x0f60: 0xe00001a0, 0x0f61: 0xe0000234, 0x0f62: 0xe000034c, 0x0f63: 0xe0000426, + 0x0f64: 0xe00004fb, 0x0f65: 0xe00005c5, 0x0f66: 0xe0000690, 0x0f67: 0xe0000738, + 0x0f68: 0xe00007e4, 0x0f69: 0xe0000889, 0x0f6a: 0xe0000237, 0x0f6b: 0xe000034f, + 0x0f6c: 0xe0000429, 0x0f6d: 0xe00004fe, 0x0f6e: 0xe00005c8, 0x0f6f: 0xe0000693, + 0x0f70: 0xe000073b, 0x0f71: 0xe00007e7, 0x0f72: 0xe000088c, 0x0f73: 0xe00001a3, + 0x0f74: 0x40077820, 0x0f75: 0xadc00000, 0x0f76: 0x40077a20, 0x0f77: 0xadc00000, + 0x0f78: 0x40077c20, 0x0f79: 0xad810e02, 0x0f7a: 0x40040020, 0x0f7b: 0x40040220, + 0x0f7c: 0x40040420, 0x0f7d: 0x40040620, 0x0f7e: 0xa0000000, 0x0f7f: 0xa0000000, + // Block 0x3e, offset 0xf80 + 0x0f80: 0x404a7620, 0x0f81: 0x404a7c20, 0x0f82: 0x404a8020, 0x0f83: 0xe0001fe4, + 0x0f84: 0x404a8420, 0x0f85: 0x404a8820, 0x0f86: 0x404a8c20, 0x0f87: 0x404a9020, + 0x0f89: 0x404a9420, 0x0f8a: 0x404a9820, 0x0f8b: 0x404a9c20, + 0x0f8c: 0x404aa020, 0x0f8d: 0xe0001fea, 0x0f8e: 0x404aa420, 0x0f8f: 0x404aa820, + 0x0f90: 0x404aac20, 0x0f91: 0x404ab020, 0x0f92: 0xe0001ff0, 0x0f93: 0x404ab420, + 0x0f94: 0x404ab820, 0x0f95: 0x404abc20, 0x0f96: 0x404ac020, 0x0f97: 0xe0001ff6, + 0x0f98: 0x404ac420, 0x0f99: 0x404ac820, 0x0f9a: 0x404acc20, 0x0f9b: 0x404ad020, + 0x0f9c: 0xe0001ffc, 0x0f9d: 0x404ad420, 0x0f9e: 0x404ad820, 0x0f9f: 0x404adc20, + 0x0fa0: 0x404ae020, 0x0fa1: 0x404ae420, 0x0fa2: 0x404ae820, 0x0fa3: 0x404aee20, + 0x0fa4: 0x404af220, 0x0fa5: 0x404af620, 0x0fa6: 0x404afa20, 0x0fa7: 0x404afe20, + 0x0fa8: 0x404b0220, 0x0fa9: 0xe0001fde, 0x0faa: 0xe0002008, 0x0fab: 0x404a7a20, + 0x0fac: 0x404aec20, + 0x0fb1: 0xc30f0751, 0x0fb2: 0x8282258c, 0x0fb3: 0x8281258d, + 0x0fb4: 0x82842590, 0x0fb5: 0x82812591, 0x0fb6: 0x404b2420, 0x0fb7: 0x404b2620, + 0x0fb8: 0x404b2820, 0x0fb9: 0x404b2a20, 0x0fba: 0x82822596, 0x0fbb: 0x82822597, + 0x0fbc: 0x82822598, 0x0fbd: 0x82822599, 0x0fbe: 0xa000f302, 0x0fbf: 0xa000f402, + // Block 0x3f, offset 0xfc0 + 0x0fc0: 0x8282258e, 0x0fc1: 0x8281258f, 0x0fc2: 0xae600000, 0x0fc3: 0xae600000, + 0x0fc4: 0x8209259a, 0x0fc5: 0x4005a220, 0x0fc6: 0xae600000, 0x0fc7: 0xae600000, + 0x0fc8: 0x404b0620, 0x0fc9: 0x404b0a20, 0x0fca: 0x404b1220, 0x0fcb: 0x404b1420, + 0x0fcc: 0x404b0e20, 0x0fcd: 0x404b0820, 0x0fce: 0x404b0c20, 0x0fcf: 0x404b1020, + 0x0fd0: 0x404a7820, 0x0fd1: 0x404a7e20, 0x0fd2: 0x404a8220, 0x0fd3: 0xe0001fe7, + 0x0fd4: 0x404a8620, 0x0fd5: 0x404a8a20, 0x0fd6: 0x404a8e20, 0x0fd7: 0x404a9220, + 0x0fd9: 0x404a9620, 0x0fda: 0x404a9a20, 0x0fdb: 0x404a9e20, + 0x0fdc: 0x404aa220, 0x0fdd: 0xe0001fed, 0x0fde: 0x404aa620, 0x0fdf: 0x404aaa20, + 0x0fe0: 0x404aae20, 0x0fe1: 0x404ab220, 0x0fe2: 0xe0001ff3, 0x0fe3: 0x404ab620, + 0x0fe4: 0x404aba20, 0x0fe5: 0x404abe20, 0x0fe6: 0x404ac220, 0x0fe7: 0xe0001ff9, + 0x0fe8: 0x404ac620, 0x0fe9: 0x404aca20, 0x0fea: 0x404ace20, 0x0feb: 0x404ad220, + 0x0fec: 0xe0001fff, 0x0fed: 0x404ad620, 0x0fee: 0x404ada20, 0x0fef: 0x404ade20, + 0x0ff0: 0x404ae220, 0x0ff1: 0x404ae620, 0x0ff2: 0xc30306a1, 0x0ff3: 0xc30906a1, + 0x0ff4: 0x404af420, 0x0ff5: 0x404af820, 0x0ff6: 0x404afc20, 0x0ff7: 0x404b0020, + 0x0ff8: 0x404b0420, 0x0ff9: 0xe0001fe1, 0x0ffa: 0xe0002002, 0x0ffb: 0xe0002005, + 0x0ffc: 0xe000200b, 0x0ffe: 0x40077e20, 0x0fff: 0x40078020, + // Block 0x40, offset 0x1000 + 0x1000: 0x40078220, 0x1001: 0x40078420, 0x1002: 0x40078620, 0x1003: 0x40078820, + 0x1004: 0x40078a20, 0x1005: 0x40078c20, 0x1006: 0xadc00000, 0x1007: 0x40078e20, + 0x1008: 0x40079020, 0x1009: 0x40079220, 0x100a: 0x40079420, 0x100b: 0x40079620, + 0x100c: 0x40079820, 0x100e: 0x40079a20, 0x100f: 0x40079c20, + 0x1010: 0x40059020, 0x1011: 0x40059220, 0x1012: 0x4005a420, 0x1013: 0x4005a620, + 0x1014: 0x4005a820, 0x1015: 0x40079e20, 0x1016: 0x4007a020, 0x1017: 0x4007a220, + 0x1018: 0x4007a420, 0x1019: 0x4005aa20, 0x101a: 0x4005ac20, + // Block 0x41, offset 0x1040 + 0x1040: 0x404e1420, 0x1041: 0x404e1820, 0x1042: 0x404e1c20, 0x1043: 0x404e2220, + 0x1044: 0x404e2420, 0x1045: 0x404e2820, 0x1046: 0x404e2e20, 0x1047: 0x404e3220, + 0x1048: 0x404e3a20, 0x1049: 0x404e4220, 0x104a: 0x404e4820, 0x104b: 0x404e4a20, + 0x104c: 0x404e4e20, 0x104d: 0x404e5220, 0x104e: 0x404e5620, 0x104f: 0x404e5a20, + 0x1050: 0x404e5e20, 0x1051: 0x404e6020, 0x1052: 0x404e6220, 0x1053: 0x404e6620, + 0x1054: 0x404e6a20, 0x1055: 0x404e7220, 0x1056: 0x404e7420, 0x1057: 0x404e7e20, + 0x1058: 0x404e8220, 0x1059: 0x404e8420, 0x105a: 0x404e8820, 0x105b: 0x404e8c20, + 0x105c: 0x404e9420, 0x105d: 0x404e9820, 0x105e: 0x404ea620, 0x105f: 0x404eaa20, + 0x1060: 0x404eb620, 0x1061: 0x404ec220, 0x1062: 0x404ec420, 0x1063: 0x404ec620, + 0x1064: 0x404ec820, 0x1065: 0xc31307b1, 0x1066: 0x404ecc20, 0x1067: 0x404ed620, + 0x1068: 0x404ed820, 0x1069: 0x404eda20, 0x106a: 0x404edc20, 0x106b: 0x004ede84, + 0x106c: 0x404ede20, 0x106d: 0x404ee620, 0x106e: 0x404eea20, 0x106f: 0x404eee20, + 0x1070: 0x404ef420, 0x1071: 0x404efe20, 0x1072: 0x404f0620, 0x1073: 0x404eec20, + 0x1074: 0x404f0a20, 0x1075: 0x404f0220, 0x1076: 0xa000f302, 0x1077: 0xa0711202, + 0x1078: 0xa000f402, 0x1079: 0x8209278a, 0x107a: 0x8209278b, 0x107b: 0x404e8a20, + 0x107c: 0x404e9220, 0x107d: 0x404e9a20, 0x107e: 0x404eb020, 0x107f: 0xe000201e, + // Block 0x42, offset 0x1080 + 0x1080: 0xe00001ac, 0x1081: 0xe0000240, 0x1082: 0xe0000358, 0x1083: 0xe0000432, + 0x1084: 0xe0000507, 0x1085: 0xe00005d1, 0x1086: 0xe000069c, 0x1087: 0xe0000744, + 0x1088: 0xe00007f0, 0x1089: 0xe0000895, 0x108a: 0x40032220, 0x108b: 0x40032420, + 0x108c: 0x4005b420, 0x108d: 0x4005b620, 0x108e: 0x4005b820, 0x108f: 0x4005ba20, + 0x1090: 0x404ea020, 0x1091: 0x404ea220, 0x1092: 0x404ece20, 0x1093: 0x404ed020, + 0x1094: 0x404ed220, 0x1095: 0x404ed420, 0x1096: 0x404ef620, 0x1097: 0x404ef820, + 0x1098: 0x404efa20, 0x1099: 0x404efc20, 0x109a: 0x404e2620, 0x109b: 0x404e3c20, + 0x109c: 0x404eb820, 0x109d: 0x404eba20, 0x109e: 0x404e7020, 0x109f: 0x404e8620, + 0x10a0: 0x404e9620, 0x10a1: 0x404e4020, 0x10a2: 0x404f0c20, 0x10a3: 0x404f1820, + 0x10a4: 0x404f1a20, 0x10a5: 0x404ea420, 0x10a6: 0x404ec020, 0x10a7: 0x404f0e20, + 0x10a8: 0x404f1020, 0x10a9: 0x404f1c20, 0x10aa: 0x404f1e20, 0x10ab: 0x404f2020, + 0x10ac: 0x404f2220, 0x10ad: 0x404f2420, 0x10ae: 0x404e5c20, 0x10af: 0x404ebc20, + 0x10b0: 0x404ebe20, 0x10b1: 0x404ee820, 0x10b2: 0x404ee220, 0x10b3: 0x404ef020, + 0x10b4: 0x404ef220, 0x10b5: 0x404e1620, 0x10b6: 0x404e1a20, 0x10b7: 0x404e1e20, + 0x10b8: 0x404e2a20, 0x10b9: 0x404e3620, 0x10ba: 0x404e4420, 0x10bb: 0x404e6420, + 0x10bc: 0x404e6c20, 0x10bd: 0x404e7620, 0x10be: 0x404e7820, 0x10bf: 0x404e8020, + // Block 0x43, offset 0x10c0 + 0x10c0: 0x404e9e20, 0x10c1: 0x404eac20, 0x10c2: 0x404e9c20, 0x10c3: 0x404ee020, + 0x10c4: 0x404f0020, 0x10c5: 0x404f0420, 0x10c6: 0x404f1220, 0x10c7: 0x404f2620, + 0x10c8: 0x404f2a20, 0x10c9: 0x404f2e20, 0x10ca: 0x404f3020, 0x10cb: 0x404f2820, + 0x10cc: 0x404f2c20, 0x10cd: 0xadc11302, 0x10ce: 0x404e7c20, 0x10cf: 0x404f3220, + 0x10d0: 0xe00001af, 0x10d1: 0xe0000243, 0x10d2: 0xe000035b, 0x10d3: 0xe0000435, + 0x10d4: 0xe000050a, 0x10d5: 0xe00005d4, 0x10d6: 0xe000069f, 0x10d7: 0xe0000747, + 0x10d8: 0xe00007f3, 0x10d9: 0xe0000898, 0x10da: 0x404f3420, 0x10db: 0x404f3620, + 0x10dc: 0x404ee420, 0x10dd: 0x404f0820, 0x10de: 0x4007a820, 0x10df: 0x4007aa20, + 0x10e0: 0x00379888, 0x10e1: 0x00379c88, 0x10e2: 0x0037a088, 0x10e3: 0x0037a488, + 0x10e4: 0x0037a888, 0x10e5: 0x0037ac88, 0x10e6: 0x0037b088, 0x10e7: 0x0037b888, + 0x10e8: 0x0037bc88, 0x10e9: 0x0037c088, 0x10ea: 0x0037c488, 0x10eb: 0x0037c888, + 0x10ec: 0x0037cc88, 0x10ed: 0x0037d488, 0x10ee: 0x0037d888, 0x10ef: 0x0037dc88, + 0x10f0: 0x0037e088, 0x10f1: 0x0037e488, 0x10f2: 0x0037e888, 0x10f3: 0x0037f088, + 0x10f4: 0x0037f488, 0x10f5: 0x0037f888, 0x10f6: 0x0037fc88, 0x10f7: 0x00380088, + 0x10f8: 0x00380488, 0x10f9: 0x00380888, 0x10fa: 0x00380c88, 0x10fb: 0x00381088, + 0x10fc: 0x00381488, 0x10fd: 0x00381888, 0x10fe: 0x00381c88, 0x10ff: 0x00382488, + // Block 0x44, offset 0x1100 + 0x1100: 0x00382888, 0x1101: 0x0037b488, 0x1102: 0x0037d088, 0x1103: 0x0037ec88, + 0x1104: 0x00382088, 0x1105: 0x00382c88, 0x1107: 0x00383288, + 0x110d: 0x00383c88, + 0x1110: 0x40379620, 0x1111: 0x40379a20, 0x1112: 0x40379e20, 0x1113: 0x4037a220, + 0x1114: 0x4037a620, 0x1115: 0x4037aa20, 0x1116: 0x4037ae20, 0x1117: 0x4037b620, + 0x1118: 0x4037ba20, 0x1119: 0x4037be20, 0x111a: 0x4037c220, 0x111b: 0x4037c620, + 0x111c: 0x4037ca20, 0x111d: 0x4037d220, 0x111e: 0x4037d620, 0x111f: 0x4037da20, + 0x1120: 0x4037de20, 0x1121: 0x4037e220, 0x1122: 0x4037e620, 0x1123: 0x4037ee20, + 0x1124: 0x4037f220, 0x1125: 0x4037f620, 0x1126: 0x4037fa20, 0x1127: 0x4037fe20, + 0x1128: 0x40380220, 0x1129: 0x40380620, 0x112a: 0x40380a20, 0x112b: 0x40380e20, + 0x112c: 0x40381220, 0x112d: 0x40381620, 0x112e: 0x40381a20, 0x112f: 0x40382220, + 0x1130: 0x40382620, 0x1131: 0x4037b220, 0x1132: 0x4037ce20, 0x1133: 0x4037ea20, + 0x1134: 0x40381e20, 0x1135: 0x40382a20, 0x1136: 0x40382e20, 0x1137: 0x40383020, + 0x1138: 0x40383420, 0x1139: 0x40383620, 0x113a: 0x40383820, 0x113b: 0x40036020, + 0x113c: 0x0037ca94, 0x113d: 0x40383a20, 0x113e: 0x40383e20, 0x113f: 0x40384020, + // Block 0x45, offset 0x1140 + 0x1140: 0x4062ac20, 0x1141: 0x4062ae20, 0x1142: 0x4062b020, 0x1143: 0x4062b220, + 0x1144: 0x4062b420, 0x1145: 0x4062b620, 0x1146: 0x4062b820, 0x1147: 0x4062ba20, + 0x1148: 0x4062bc20, 0x1149: 0x4062be20, 0x114a: 0x4062c020, 0x114b: 0x4062c220, + 0x114c: 0x4062c420, 0x114d: 0x4062c620, 0x114e: 0x4062c820, 0x114f: 0x4062ca20, + 0x1150: 0x4062cc20, 0x1151: 0x4062ce20, 0x1152: 0x4062d020, 0x1153: 0x4062d220, + 0x1154: 0x4062d420, 0x1155: 0x4062d620, 0x1156: 0x4062d820, 0x1157: 0x4062da20, + 0x1158: 0x4062dc20, 0x1159: 0x4062de20, 0x115a: 0x4062e020, 0x115b: 0x4062e220, + 0x115c: 0x4062e420, 0x115d: 0x4062e620, 0x115e: 0x4062e820, 0x115f: 0x4062ea20, + 0x1160: 0x4062ec20, 0x1161: 0x4062ee20, 0x1162: 0x4062f020, 0x1163: 0x4062f220, + 0x1164: 0x4062f420, 0x1165: 0x4062f620, 0x1166: 0x4062f820, 0x1167: 0x4062fa20, + 0x1168: 0x4062fc20, 0x1169: 0x4062fe20, 0x116a: 0x40630020, 0x116b: 0x40630220, + 0x116c: 0x40630420, 0x116d: 0x40630620, 0x116e: 0x40630820, 0x116f: 0x40630a20, + 0x1170: 0x40630c20, 0x1171: 0x40630e20, 0x1172: 0x40631020, 0x1173: 0x40631220, + 0x1174: 0x40631420, 0x1175: 0x40631620, 0x1176: 0x40631820, 0x1177: 0x40631a20, + 0x1178: 0x40631c20, 0x1179: 0x40631e20, 0x117a: 0x40632020, 0x117b: 0x40632220, + 0x117c: 0x40632420, 0x117d: 0x40632620, 0x117e: 0x40632820, 0x117f: 0x40632a20, + // Block 0x46, offset 0x1180 + 0x1180: 0x40632c20, 0x1181: 0x40632e20, 0x1182: 0x40633020, 0x1183: 0x40633220, + 0x1184: 0x40633420, 0x1185: 0x40633620, 0x1186: 0x40633820, 0x1187: 0x40633a20, + 0x1188: 0x40633c20, 0x1189: 0x40633e20, 0x118a: 0x40634020, 0x118b: 0x40634220, + 0x118c: 0x40634420, 0x118d: 0x40634620, 0x118e: 0x40634820, 0x118f: 0x40634a20, + 0x1190: 0x40634c20, 0x1191: 0x40634e20, 0x1192: 0x40635020, 0x1193: 0x40635220, + 0x1194: 0x40635420, 0x1195: 0x40635620, 0x1196: 0x40635820, 0x1197: 0x40635a20, + 0x1198: 0x40635c20, 0x1199: 0x40635e20, 0x119a: 0x40636020, 0x119b: 0x40636220, + 0x119c: 0x40636420, 0x119d: 0x40636620, 0x119e: 0x40636820, 0x119f: 0x4063a420, + 0x11a0: 0x4063a620, 0x11a1: 0x4063a820, 0x11a2: 0x4063aa20, 0x11a3: 0x4063ac20, + 0x11a4: 0x4063ae20, 0x11a5: 0x4063b020, 0x11a6: 0x4063b220, 0x11a7: 0x4063b420, + 0x11a8: 0x4063b620, 0x11a9: 0x4063b820, 0x11aa: 0x4063ba20, 0x11ab: 0x4063bc20, + 0x11ac: 0x4063be20, 0x11ad: 0x4063c020, 0x11ae: 0x4063c220, 0x11af: 0x4063c420, + 0x11b0: 0x4063c620, 0x11b1: 0x4063c820, 0x11b2: 0x4063ca20, 0x11b3: 0x4063cc20, + 0x11b4: 0x4063ce20, 0x11b5: 0x4063d020, 0x11b6: 0x4063d220, 0x11b7: 0x4063d420, + 0x11b8: 0x4063d620, 0x11b9: 0x4063d820, 0x11ba: 0x4063da20, 0x11bb: 0x4063dc20, + 0x11bc: 0x4063de20, 0x11bd: 0x4063e020, 0x11be: 0x4063e220, 0x11bf: 0x4063e420, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x4063e620, 0x11c1: 0x4063e820, 0x11c2: 0x4063ea20, 0x11c3: 0x4063ec20, + 0x11c4: 0x4063ee20, 0x11c5: 0x4063f020, 0x11c6: 0x4063f220, 0x11c7: 0x4063f420, + 0x11c8: 0x4063f620, 0x11c9: 0x4063f820, 0x11ca: 0x4063fa20, 0x11cb: 0x4063fc20, + 0x11cc: 0x4063fe20, 0x11cd: 0x40640020, 0x11ce: 0x40640220, 0x11cf: 0x40640420, + 0x11d0: 0x40640620, 0x11d1: 0x40640820, 0x11d2: 0x40640a20, 0x11d3: 0x40640c20, + 0x11d4: 0x40640e20, 0x11d5: 0x40641020, 0x11d6: 0x40641220, 0x11d7: 0x40641420, + 0x11d8: 0x40641620, 0x11d9: 0x40641820, 0x11da: 0x40641a20, 0x11db: 0x40641c20, + 0x11dc: 0x40641e20, 0x11dd: 0x40642020, 0x11de: 0x40642220, 0x11df: 0x40642420, + 0x11e0: 0x40642620, 0x11e1: 0x40642820, 0x11e2: 0x40642a20, 0x11e3: 0x40642c20, + 0x11e4: 0x40642e20, 0x11e5: 0x40643020, 0x11e6: 0x40643220, 0x11e7: 0x40643420, + 0x11e8: 0x40646420, 0x11e9: 0x40646620, 0x11ea: 0x40646820, 0x11eb: 0x40646a20, + 0x11ec: 0x40646c20, 0x11ed: 0x40646e20, 0x11ee: 0x40647020, 0x11ef: 0x40647220, + 0x11f0: 0x40647420, 0x11f1: 0x40647620, 0x11f2: 0x40647820, 0x11f3: 0x40647a20, + 0x11f4: 0x40647c20, 0x11f5: 0x40647e20, 0x11f6: 0x40648020, 0x11f7: 0x40648220, + 0x11f8: 0x40648420, 0x11f9: 0x40648620, 0x11fa: 0x40648820, 0x11fb: 0x40648a20, + 0x11fc: 0x40648c20, 0x11fd: 0x40648e20, 0x11fe: 0x40649020, 0x11ff: 0x40649220, + // Block 0x48, offset 0x1200 + 0x1200: 0x40649420, 0x1201: 0x40649620, 0x1202: 0x40649820, 0x1203: 0x40649a20, + 0x1204: 0x40649c20, 0x1205: 0x40649e20, 0x1206: 0x4064a020, 0x1207: 0x4064a220, + 0x1208: 0x4064a420, 0x1209: 0x4064a620, 0x120a: 0x4064a820, 0x120b: 0x4064aa20, + 0x120c: 0x4064ac20, 0x120d: 0x4064ae20, 0x120e: 0x4064b020, 0x120f: 0x4064b220, + 0x1210: 0x4064b420, 0x1211: 0x4064b620, 0x1212: 0x4064b820, 0x1213: 0x4064ba20, + 0x1214: 0x4064bc20, 0x1215: 0x4064be20, 0x1216: 0x4064c020, 0x1217: 0x4064c220, + 0x1218: 0x4064c420, 0x1219: 0x4064c620, 0x121a: 0x4064c820, 0x121b: 0x4064ca20, + 0x121c: 0x4064cc20, 0x121d: 0x4064ce20, 0x121e: 0x4064d020, 0x121f: 0x4064d220, + 0x1220: 0x4064d420, 0x1221: 0x4064d620, 0x1222: 0x4064d820, 0x1223: 0x4064da20, + 0x1224: 0x4064dc20, 0x1225: 0x4064de20, 0x1226: 0x4064e020, 0x1227: 0x4064e220, + 0x1228: 0x4064e420, 0x1229: 0x4064e620, 0x122a: 0x4064e820, 0x122b: 0x4064ea20, + 0x122c: 0x4064ec20, 0x122d: 0x4064ee20, 0x122e: 0x4064f020, 0x122f: 0x4064f220, + 0x1230: 0x4064f420, 0x1231: 0x4064f620, 0x1232: 0x4064f820, 0x1233: 0x4064fa20, + 0x1234: 0x4064fc20, 0x1235: 0x4064fe20, 0x1236: 0x40650020, 0x1237: 0x40650220, + 0x1238: 0x40650420, 0x1239: 0x40650620, 0x123a: 0x40650820, 0x123b: 0x40650a20, + 0x123c: 0x40650c20, 0x123d: 0x40650e20, 0x123e: 0x40651020, 0x123f: 0x40651220, + // Block 0x49, offset 0x1240 + 0x1240: 0x403c2e20, 0x1241: 0x403c3020, 0x1242: 0x403c3220, 0x1243: 0x403c3420, + 0x1244: 0x403c3620, 0x1245: 0x403c3820, 0x1246: 0x403c3a20, 0x1247: 0x403c3c20, + 0x1248: 0x403c3e20, 0x1249: 0x403c4020, 0x124a: 0x403c4220, 0x124b: 0x403c4420, + 0x124c: 0x403c4620, 0x124d: 0x403c4820, 0x124e: 0x403c4a20, 0x124f: 0x403c4c20, + 0x1250: 0x403c5020, 0x1251: 0x403c5220, 0x1252: 0x403c5420, 0x1253: 0x403c5620, + 0x1254: 0x403c5820, 0x1255: 0x403c5a20, 0x1256: 0x403c5c20, 0x1257: 0x403c5e20, + 0x1258: 0x403c6020, 0x1259: 0x403c6220, 0x125a: 0x403c6420, 0x125b: 0x403c6620, + 0x125c: 0x403c6820, 0x125d: 0x403c6a20, 0x125e: 0x403c6c20, 0x125f: 0x403c6e20, + 0x1260: 0x403c7a20, 0x1261: 0x403c7c20, 0x1262: 0x403c7e20, 0x1263: 0x403c8020, + 0x1264: 0x403c8220, 0x1265: 0x403c8420, 0x1266: 0x403c8620, 0x1267: 0x403c8820, + 0x1268: 0x403c8a20, 0x1269: 0x403c8c20, 0x126a: 0x403c8e20, 0x126b: 0x403c9020, + 0x126c: 0x403c9220, 0x126d: 0x403c9420, 0x126e: 0x403c9620, 0x126f: 0x403c9820, + 0x1270: 0x403c9c20, 0x1271: 0x403c9e20, 0x1272: 0x403ca020, 0x1273: 0x403ca220, + 0x1274: 0x403ca420, 0x1275: 0x403ca620, 0x1276: 0x403ca820, 0x1277: 0x403caa20, + 0x1278: 0x403cba20, 0x1279: 0x403cbc20, 0x127a: 0x403cbe20, 0x127b: 0x403cc020, + 0x127c: 0x403cc220, 0x127d: 0x403cc420, 0x127e: 0x403cc620, 0x127f: 0x403cc820, + // Block 0x4a, offset 0x1280 + 0x1280: 0x403ccc20, 0x1281: 0x403cce20, 0x1282: 0x403cd020, 0x1283: 0x403cd220, + 0x1284: 0x403cd420, 0x1285: 0x403cd620, 0x1286: 0x403cd820, 0x1287: 0x403cda20, + 0x1288: 0x403cdc20, 0x128a: 0x403cde20, 0x128b: 0x403ce020, + 0x128c: 0x403ce220, 0x128d: 0x403ce420, + 0x1290: 0x403ce620, 0x1291: 0x403ce820, 0x1292: 0x403cea20, 0x1293: 0x403cec20, + 0x1294: 0x403cee20, 0x1295: 0x403cf020, 0x1296: 0x403cf220, + 0x1298: 0x403cf420, 0x129a: 0x403cf620, 0x129b: 0x403cf820, + 0x129c: 0x403cfa20, 0x129d: 0x403cfc20, + 0x12a0: 0x403cfe20, 0x12a1: 0x403d0020, 0x12a2: 0x403d0220, 0x12a3: 0x403d0420, + 0x12a4: 0x403d0620, 0x12a5: 0x403d0820, 0x12a6: 0x403d0a20, 0x12a7: 0x403d0c20, + 0x12a8: 0x403d1820, 0x12a9: 0x403d1a20, 0x12aa: 0x403d1c20, 0x12ab: 0x403d1e20, + 0x12ac: 0x403d2020, 0x12ad: 0x403d2220, 0x12ae: 0x403d2420, 0x12af: 0x403d2620, + 0x12b0: 0x403d2820, 0x12b1: 0x403d2a20, 0x12b2: 0x403d2c20, 0x12b3: 0x403d2e20, + 0x12b4: 0x403d3020, 0x12b5: 0x403d3220, 0x12b6: 0x403d3420, 0x12b7: 0x403d3620, + 0x12b8: 0x403d3a20, 0x12b9: 0x403d3c20, 0x12ba: 0x403d3e20, 0x12bb: 0x403d4020, + 0x12bc: 0x403d4220, 0x12bd: 0x403d4420, 0x12be: 0x403d4620, 0x12bf: 0x403d4820, + // Block 0x4b, offset 0x12c0 + 0x12c0: 0x403d4c20, 0x12c1: 0x403d4e20, 0x12c2: 0x403d5020, 0x12c3: 0x403d5220, + 0x12c4: 0x403d5420, 0x12c5: 0x403d5620, 0x12c6: 0x403d5820, 0x12c7: 0x403d5a20, + 0x12c8: 0x403d5c20, 0x12ca: 0x403d5e20, 0x12cb: 0x403d6020, + 0x12cc: 0x403d6220, 0x12cd: 0x403d6420, + 0x12d0: 0x403d6620, 0x12d1: 0x403d6820, 0x12d2: 0x403d6a20, 0x12d3: 0x403d6c20, + 0x12d4: 0x403d6e20, 0x12d5: 0x403d7020, 0x12d6: 0x403d7220, 0x12d7: 0x403d7420, + 0x12d8: 0x403d7820, 0x12d9: 0x403d7a20, 0x12da: 0x403d7c20, 0x12db: 0x403d7e20, + 0x12dc: 0x403d8020, 0x12dd: 0x403d8220, 0x12de: 0x403d8420, 0x12df: 0x403d8620, + 0x12e0: 0x403d8a20, 0x12e1: 0x403d8c20, 0x12e2: 0x403d8e20, 0x12e3: 0x403d9020, + 0x12e4: 0x403d9220, 0x12e5: 0x403d9420, 0x12e6: 0x403d9620, 0x12e7: 0x403d9820, + 0x12e8: 0x403d9c20, 0x12e9: 0x403d9e20, 0x12ea: 0x403da020, 0x12eb: 0x403da220, + 0x12ec: 0x403da420, 0x12ed: 0x403da620, 0x12ee: 0x403da820, 0x12ef: 0x403daa20, + 0x12f0: 0x403dac20, 0x12f2: 0x403dae20, 0x12f3: 0x403db020, + 0x12f4: 0x403db220, 0x12f5: 0x403db420, + 0x12f8: 0x403db620, 0x12f9: 0x403db820, 0x12fa: 0x403dba20, 0x12fb: 0x403dbc20, + 0x12fc: 0x403dbe20, 0x12fd: 0x403dc020, 0x12fe: 0x403dc220, + // Block 0x4c, offset 0x1300 + 0x1300: 0x403dc420, 0x1302: 0x403dc620, 0x1303: 0x403dc820, + 0x1304: 0x403dca20, 0x1305: 0x403dcc20, + 0x1308: 0x403dce20, 0x1309: 0x403dd020, 0x130a: 0x403dd220, 0x130b: 0x403dd420, + 0x130c: 0x403dd620, 0x130d: 0x403dd820, 0x130e: 0x403dda20, 0x130f: 0x403ddc20, + 0x1310: 0x403dde20, 0x1311: 0x403de020, 0x1312: 0x403de220, 0x1313: 0x403de420, + 0x1314: 0x403de620, 0x1315: 0x403de820, 0x1316: 0x403dea20, + 0x1318: 0x403dec20, 0x1319: 0x403dee20, 0x131a: 0x403df020, 0x131b: 0x403df220, + 0x131c: 0x403df420, 0x131d: 0x403df620, 0x131e: 0x403df820, 0x131f: 0x403dfa20, + 0x1320: 0x403e0a20, 0x1321: 0x403e0c20, 0x1322: 0x403e0e20, 0x1323: 0x403e1020, + 0x1324: 0x403e1220, 0x1325: 0x403e1420, 0x1326: 0x403e1620, 0x1327: 0x403e1820, + 0x1328: 0x403e1a20, 0x1329: 0x403e1c20, 0x132a: 0x403e1e20, 0x132b: 0x403e2020, + 0x132c: 0x403e2220, 0x132d: 0x403e2420, 0x132e: 0x403e2620, 0x132f: 0x403e2820, + 0x1330: 0x403e2a20, 0x1331: 0x403e2c20, 0x1332: 0x403e2e20, 0x1333: 0x403e3020, + 0x1334: 0x403e3220, 0x1335: 0x403e3420, 0x1336: 0x403e3620, 0x1337: 0x403e3820, + 0x1338: 0x403e4820, 0x1339: 0x403e4a20, 0x133a: 0x403e4c20, 0x133b: 0x403e4e20, + 0x133c: 0x403e5020, 0x133d: 0x403e5220, 0x133e: 0x403e5420, 0x133f: 0x403e5620, + // Block 0x4d, offset 0x1340 + 0x1340: 0x403e5a20, 0x1341: 0x403e5c20, 0x1342: 0x403e5e20, 0x1343: 0x403e6020, + 0x1344: 0x403e6220, 0x1345: 0x403e6420, 0x1346: 0x403e6620, 0x1347: 0x403e6820, + 0x1348: 0x403e6c20, 0x1349: 0x403e6e20, 0x134a: 0x403e7020, 0x134b: 0x403e7220, + 0x134c: 0x403e7420, 0x134d: 0x403e7620, 0x134e: 0x403e7820, 0x134f: 0x403e7a20, + 0x1350: 0x403e7c20, 0x1352: 0x403e7e20, 0x1353: 0x403e8020, + 0x1354: 0x403e8220, 0x1355: 0x403e8420, + 0x1358: 0x403e8620, 0x1359: 0x403e8820, 0x135a: 0x403e8a20, 0x135b: 0x403e8c20, + 0x135c: 0x403e8e20, 0x135d: 0x403e9020, 0x135e: 0x403e9220, 0x135f: 0x403e9420, + 0x1360: 0x403e9e20, 0x1361: 0x403ea020, 0x1362: 0x403ea220, 0x1363: 0x403ea420, + 0x1364: 0x403ea620, 0x1365: 0x403ea820, 0x1366: 0x403eaa20, 0x1367: 0x403eac20, + 0x1368: 0x403eb020, 0x1369: 0x403eb220, 0x136a: 0x403eb420, 0x136b: 0x403eb620, + 0x136c: 0x403eb820, 0x136d: 0x403eba20, 0x136e: 0x403ebc20, 0x136f: 0x403ebe20, + 0x1370: 0x403ed020, 0x1371: 0x403ed220, 0x1372: 0x403ed420, 0x1373: 0x403ed620, + 0x1374: 0x403ed820, 0x1375: 0x403eda20, 0x1376: 0x403edc20, 0x1377: 0x403ede20, + 0x1378: 0x403ee220, 0x1379: 0x403ee420, 0x137a: 0x403ee620, 0x137b: 0x403ee820, + 0x137c: 0x403eea20, 0x137d: 0x403eec20, 0x137e: 0x403eee20, 0x137f: 0x403ef020, + // Block 0x4e, offset 0x1380 + 0x1380: 0x403f0020, 0x1381: 0x403f0220, 0x1382: 0x403f0420, 0x1383: 0x403f0620, + 0x1384: 0x403f0820, 0x1385: 0x403f0a20, 0x1386: 0x403f0c20, 0x1387: 0x403f0e20, + 0x1388: 0x403f1020, 0x1389: 0x403f1220, 0x138a: 0x403f1420, 0x138b: 0x403f1620, + 0x138c: 0x403f1820, 0x138d: 0x403f1a20, 0x138e: 0x403f1c20, 0x138f: 0x403f1e20, + 0x1390: 0x403f2820, 0x1391: 0x403f2a20, 0x1392: 0x403f2c20, 0x1393: 0x403f2e20, + 0x1394: 0x403f3020, 0x1395: 0x403f3220, 0x1396: 0x403f3420, 0x1397: 0x403f3620, + 0x1398: 0x403f4220, 0x1399: 0x403f4420, 0x139a: 0x403f4620, + 0x139d: 0xae60ee02, 0x139e: 0xae60ed02, 0x139f: 0xae60ec02, + 0x13a0: 0x40036220, 0x13a1: 0x40029c20, 0x13a2: 0x4002ee20, 0x13a3: 0x40029e20, + 0x13a4: 0x4002a020, 0x13a5: 0x4002a220, 0x13a6: 0x4002a420, 0x13a7: 0x4002d020, + 0x13a8: 0x40036420, 0x13a9: 0xe00001f2, 0x13aa: 0xe000030d, 0x13ab: 0xe00003e7, + 0x13ac: 0xe00004c2, 0x13ad: 0xe000058c, 0x13ae: 0xe0000657, 0x13af: 0xe00006ff, + 0x13b0: 0xe00007ab, 0x13b1: 0xe0000850, 0x13b2: 0x40286620, 0x13b3: 0x40286820, + 0x13b4: 0x40286a20, 0x13b5: 0x40286c20, 0x13b6: 0x40286e20, 0x13b7: 0x40287020, + 0x13b8: 0x40287220, 0x13b9: 0x40287420, 0x13ba: 0x40287620, 0x13bb: 0x40287820, + 0x13bc: 0x40287a20, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x403c7020, 0x13c1: 0x403c7220, 0x13c2: 0x403c7420, 0x13c3: 0x403c7620, + 0x13c4: 0x403d0e20, 0x13c5: 0x403d1020, 0x13c6: 0x403d1220, 0x13c7: 0x403d1420, + 0x13c8: 0x403f2020, 0x13c9: 0x403f2220, 0x13ca: 0x403f2420, 0x13cb: 0x403f2620, + 0x13cc: 0x403f3820, 0x13cd: 0x403f3a20, 0x13ce: 0x403f3c20, 0x13cf: 0x403f3e20, + 0x13d0: 0x4006a620, 0x13d1: 0x4006a820, 0x13d2: 0x4006aa20, 0x13d3: 0x4006ac20, + 0x13d4: 0x4006ae20, 0x13d5: 0x4006b020, 0x13d6: 0x4006b220, 0x13d7: 0x4006b420, + 0x13d8: 0x4006b620, 0x13d9: 0x4006b820, + 0x13e0: 0x40547620, 0x13e1: 0x40547820, 0x13e2: 0x40547a20, 0x13e3: 0x40547c20, + 0x13e4: 0x40547e20, 0x13e5: 0x40548020, 0x13e6: 0x40548220, 0x13e7: 0x40548420, + 0x13e8: 0x40548620, 0x13e9: 0x40548820, 0x13ea: 0x40548a20, 0x13eb: 0x40548c20, + 0x13ec: 0x40548e20, 0x13ed: 0x40549020, 0x13ee: 0x40549220, 0x13ef: 0x40549420, + 0x13f0: 0x40549620, 0x13f1: 0x40549820, 0x13f2: 0x40549a20, 0x13f3: 0x40549c20, + 0x13f4: 0x40549e20, 0x13f5: 0x4054a020, 0x13f6: 0x4054a220, 0x13f7: 0x4054a420, + 0x13f8: 0x4054a620, 0x13f9: 0x4054a820, 0x13fa: 0x4054aa20, 0x13fb: 0x4054ac20, + 0x13fc: 0x4054ae20, 0x13fd: 0x4054b020, 0x13fe: 0x4054b220, 0x13ff: 0x4054b420, + // Block 0x50, offset 0x1400 + 0x1400: 0x4054b620, 0x1401: 0x4054b820, 0x1402: 0x4054ba20, 0x1403: 0x4054bc20, + 0x1404: 0x4054be20, 0x1405: 0x4054c020, 0x1406: 0x4054c220, 0x1407: 0x4054c420, + 0x1408: 0x4054c620, 0x1409: 0x4054c820, 0x140a: 0x4054ca20, 0x140b: 0x4054cc20, + 0x140c: 0x4054ce20, 0x140d: 0x4054d020, 0x140e: 0x4054d220, 0x140f: 0x4054d420, + 0x1410: 0x4054d620, 0x1411: 0x4054d820, 0x1412: 0x4054da20, 0x1413: 0x4054dc20, + 0x1414: 0x4054de20, 0x1415: 0x4054e020, 0x1416: 0x4054e220, 0x1417: 0x4054e420, + 0x1418: 0x4054e620, 0x1419: 0x4054e820, 0x141a: 0x4054ea20, 0x141b: 0x4054ec20, + 0x141c: 0x4054ee20, 0x141d: 0x4054f020, 0x141e: 0x4054f220, 0x141f: 0x4054f420, + 0x1420: 0x4054f620, 0x1421: 0x4054f820, 0x1422: 0x4054fa20, 0x1423: 0x4054fc20, + 0x1424: 0x4054fe20, 0x1425: 0x40550020, 0x1426: 0x40550220, 0x1427: 0x40550420, + 0x1428: 0x40550620, 0x1429: 0x40550820, 0x142a: 0x40550a20, 0x142b: 0x40550c20, + 0x142c: 0x40550e20, 0x142d: 0x40551020, 0x142e: 0x40551220, 0x142f: 0x40551420, + 0x1430: 0x40551620, 0x1431: 0x40551820, 0x1432: 0x40551a20, 0x1433: 0x40551c20, + 0x1434: 0x40551e20, + // Block 0x51, offset 0x1440 + 0x1440: 0x40021e20, 0x1441: 0x40552020, 0x1442: 0x40552220, 0x1443: 0x40552420, + 0x1444: 0x40552620, 0x1445: 0x40552820, 0x1446: 0x40552a20, 0x1447: 0x40552c20, + 0x1448: 0x40552e20, 0x1449: 0x40553020, 0x144a: 0x40553220, 0x144b: 0x40553420, + 0x144c: 0x40553620, 0x144d: 0x40553820, 0x144e: 0x40553a20, 0x144f: 0x40553c20, + 0x1450: 0x40553e20, 0x1451: 0x40554020, 0x1452: 0x40554220, 0x1453: 0x40554420, + 0x1454: 0x40554620, 0x1455: 0x40554820, 0x1456: 0x40554a20, 0x1457: 0x40554c20, + 0x1458: 0x40554e20, 0x1459: 0x40555020, 0x145a: 0x40555220, 0x145b: 0x40555420, + 0x145c: 0x40555620, 0x145d: 0x40555820, 0x145e: 0x40555a20, 0x145f: 0x40555c20, + 0x1460: 0x40555e20, 0x1461: 0x40556020, 0x1462: 0x40556220, 0x1463: 0x40556420, + 0x1464: 0x40556620, 0x1465: 0x40556820, 0x1466: 0x40556a20, 0x1467: 0x40556c20, + 0x1468: 0x40556e20, 0x1469: 0x40557020, 0x146a: 0x40557220, 0x146b: 0x40557420, + 0x146c: 0x40557620, 0x146d: 0x40557820, 0x146e: 0x40557a20, 0x146f: 0x40557c20, + 0x1470: 0x40557e20, 0x1471: 0x40558020, 0x1472: 0x40558220, 0x1473: 0x40558420, + 0x1474: 0x40558620, 0x1475: 0x40558820, 0x1476: 0x40558a20, 0x1477: 0x40558c20, + 0x1478: 0x40558e20, 0x1479: 0x40559020, 0x147a: 0x40559220, 0x147b: 0x40559420, + 0x147c: 0x40559620, 0x147d: 0x40559820, 0x147e: 0x40559a20, 0x147f: 0x40559c20, + // Block 0x52, offset 0x1480 + 0x1480: 0x40559e20, 0x1481: 0x4055a020, 0x1482: 0x4055a220, 0x1483: 0x4055a420, + 0x1484: 0x4055a620, 0x1485: 0x4055a820, 0x1486: 0x4055aa20, 0x1487: 0x4055ac20, + 0x1488: 0x4055ae20, 0x1489: 0x4055b020, 0x148a: 0x4055b220, 0x148b: 0x4055b420, + 0x148c: 0x4055b620, 0x148d: 0x4055b820, 0x148e: 0x4055ba20, 0x148f: 0x4055bc20, + 0x1490: 0x4055be20, 0x1491: 0x4055c020, 0x1492: 0x4055c220, 0x1493: 0x4055c420, + 0x1494: 0x4055c620, 0x1495: 0x4055c820, 0x1496: 0x4055ca20, 0x1497: 0x4055cc20, + 0x1498: 0x4055ce20, 0x1499: 0x4055d020, 0x149a: 0x4055d220, 0x149b: 0x4055d420, + 0x149c: 0x4055d620, 0x149d: 0x4055d820, 0x149e: 0x4055da20, 0x149f: 0x4055dc20, + 0x14a0: 0x4055de20, 0x14a1: 0x4055e020, 0x14a2: 0x4055e220, 0x14a3: 0x4055e420, + 0x14a4: 0x4055e620, 0x14a5: 0x4055e820, 0x14a6: 0x4055ea20, 0x14a7: 0x4055ec20, + 0x14a8: 0x4055ee20, 0x14a9: 0x4055f020, 0x14aa: 0x4055f220, 0x14ab: 0x4055f420, + 0x14ac: 0x4055f620, 0x14ad: 0x4055f820, 0x14ae: 0x4055fa20, 0x14af: 0x4055fc20, + 0x14b0: 0x4055fe20, 0x14b1: 0x40560020, 0x14b2: 0x40560220, 0x14b3: 0x40560420, + 0x14b4: 0x40560620, 0x14b5: 0x40560820, 0x14b6: 0x40560a20, 0x14b7: 0x40560c20, + 0x14b8: 0x40560e20, 0x14b9: 0x40561020, 0x14ba: 0x40561220, 0x14bb: 0x40561420, + 0x14bc: 0x40561620, 0x14bd: 0x40561820, 0x14be: 0x40561a20, 0x14bf: 0x40561c20, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x40561e20, 0x14c1: 0x40562020, 0x14c2: 0x40562220, 0x14c3: 0x40562420, + 0x14c4: 0x40562620, 0x14c5: 0x40562820, 0x14c6: 0x40562a20, 0x14c7: 0x40562c20, + 0x14c8: 0x40562e20, 0x14c9: 0x40563020, 0x14ca: 0x40563220, 0x14cb: 0x40563420, + 0x14cc: 0x40563620, 0x14cd: 0x40563820, 0x14ce: 0x40563a20, 0x14cf: 0x40563c20, + 0x14d0: 0x40563e20, 0x14d1: 0x40564020, 0x14d2: 0x40564220, 0x14d3: 0x40564420, + 0x14d4: 0x40564620, 0x14d5: 0x40564820, 0x14d6: 0x40564a20, 0x14d7: 0x40564c20, + 0x14d8: 0x40564e20, 0x14d9: 0x40565020, 0x14da: 0x40565220, 0x14db: 0x40565420, + 0x14dc: 0x40565620, 0x14dd: 0x40565820, 0x14de: 0x40565a20, 0x14df: 0x40565c20, + 0x14e0: 0x40565e20, 0x14e1: 0x40566020, 0x14e2: 0x40566220, 0x14e3: 0x40566420, + 0x14e4: 0x40566620, 0x14e5: 0x40566820, 0x14e6: 0x40566a20, 0x14e7: 0x40566c20, + 0x14e8: 0x40566e20, 0x14e9: 0x40567020, 0x14ea: 0x40567220, 0x14eb: 0x40567420, + 0x14ec: 0x40567620, 0x14ed: 0x40567820, 0x14ee: 0x40567a20, 0x14ef: 0x40567c20, + 0x14f0: 0x40567e20, 0x14f1: 0x40568020, 0x14f2: 0x40568220, 0x14f3: 0x40568420, + 0x14f4: 0x40568620, 0x14f5: 0x40568820, 0x14f6: 0x40568a20, 0x14f7: 0x40568c20, + 0x14f8: 0x40568e20, 0x14f9: 0x40569020, 0x14fa: 0x40569220, 0x14fb: 0x40569420, + 0x14fc: 0x40569620, 0x14fd: 0x40569820, 0x14fe: 0x40569a20, 0x14ff: 0x40569c20, + // Block 0x54, offset 0x1500 + 0x1500: 0x40569e20, 0x1501: 0x4056a020, 0x1502: 0x4056a220, 0x1503: 0x4056a420, + 0x1504: 0x4056a620, 0x1505: 0x4056a820, 0x1506: 0x4056aa20, 0x1507: 0x4056ac20, + 0x1508: 0x4056ae20, 0x1509: 0x4056b020, 0x150a: 0x4056b220, 0x150b: 0x4056b420, + 0x150c: 0x4056b620, 0x150d: 0x4056b820, 0x150e: 0x4056ba20, 0x150f: 0x4056bc20, + 0x1510: 0x4056be20, 0x1511: 0x4056c020, 0x1512: 0x4056c220, 0x1513: 0x4056c420, + 0x1514: 0x4056c620, 0x1515: 0x4056c820, 0x1516: 0x4056ca20, 0x1517: 0x4056cc20, + 0x1518: 0x4056ce20, 0x1519: 0x4056d020, 0x151a: 0x4056d220, 0x151b: 0x4056d420, + 0x151c: 0x4056d620, 0x151d: 0x4056d820, 0x151e: 0x4056da20, 0x151f: 0x4056dc20, + 0x1520: 0x4056de20, 0x1521: 0x4056e020, 0x1522: 0x4056e220, 0x1523: 0x4056e420, + 0x1524: 0x4056e620, 0x1525: 0x4056e820, 0x1526: 0x4056ea20, 0x1527: 0x4056ec20, + 0x1528: 0x4056ee20, 0x1529: 0x4056f020, 0x152a: 0x4056f220, 0x152b: 0x4056f420, + 0x152c: 0x4056f620, 0x152d: 0x4056f820, 0x152e: 0x4056fa20, 0x152f: 0x4056fc20, + 0x1530: 0x4056fe20, 0x1531: 0x40570020, 0x1532: 0x40570220, 0x1533: 0x40570420, + 0x1534: 0x40570620, 0x1535: 0x40570820, 0x1536: 0x40570a20, 0x1537: 0x40570c20, + 0x1538: 0x40570e20, 0x1539: 0x40571020, 0x153a: 0x40571220, 0x153b: 0x40571420, + 0x153c: 0x40571620, 0x153d: 0x40571820, 0x153e: 0x40571a20, 0x153f: 0x40571c20, + // Block 0x55, offset 0x1540 + 0x1540: 0x40571e20, 0x1541: 0x40572020, 0x1542: 0x40572220, 0x1543: 0x40572420, + 0x1544: 0x40572620, 0x1545: 0x40572820, 0x1546: 0x40572a20, 0x1547: 0x40572c20, + 0x1548: 0x40572e20, 0x1549: 0x40573020, 0x154a: 0x40573220, 0x154b: 0x40573420, + 0x154c: 0x40573620, 0x154d: 0x40573820, 0x154e: 0x40573a20, 0x154f: 0x40573c20, + 0x1550: 0x40573e20, 0x1551: 0x40574020, 0x1552: 0x40574220, 0x1553: 0x40574420, + 0x1554: 0x40574620, 0x1555: 0x40574820, 0x1556: 0x40574a20, 0x1557: 0x40574c20, + 0x1558: 0x40574e20, 0x1559: 0x40575020, 0x155a: 0x40575220, 0x155b: 0x40575420, + 0x155c: 0x40575620, 0x155d: 0x40575820, 0x155e: 0x40575a20, 0x155f: 0x40575c20, + 0x1560: 0x40575e20, 0x1561: 0x40576020, 0x1562: 0x40576220, 0x1563: 0x40576420, + 0x1564: 0x40576620, 0x1565: 0x40576820, 0x1566: 0x40576a20, 0x1567: 0x40576c20, + 0x1568: 0x40576e20, 0x1569: 0x40577020, 0x156a: 0x40577220, 0x156b: 0x40577420, + 0x156c: 0x40577620, 0x156d: 0x40577820, 0x156e: 0x40577a20, 0x156f: 0x40577c20, + 0x1570: 0x40577e20, 0x1571: 0x40578020, 0x1572: 0x40578220, 0x1573: 0x40578420, + 0x1574: 0x40578620, 0x1575: 0x40578820, 0x1576: 0x40578a20, 0x1577: 0x40578c20, + 0x1578: 0x40578e20, 0x1579: 0x40579020, 0x157a: 0x40579220, 0x157b: 0x40579420, + 0x157c: 0x40579620, 0x157d: 0x40579820, 0x157e: 0x40579a20, 0x157f: 0x40579c20, + // Block 0x56, offset 0x1580 + 0x1580: 0x40579e20, 0x1581: 0x4057a020, 0x1582: 0x4057a220, 0x1583: 0x4057a420, + 0x1584: 0x4057a620, 0x1585: 0x4057a820, 0x1586: 0x4057aa20, 0x1587: 0x4057ac20, + 0x1588: 0x4057ae20, 0x1589: 0x4057b020, 0x158a: 0x4057b220, 0x158b: 0x4057b420, + 0x158c: 0x4057b620, 0x158d: 0x4057b820, 0x158e: 0x4057ba20, 0x158f: 0x4057bc20, + 0x1590: 0x4057be20, 0x1591: 0x4057c020, 0x1592: 0x4057c220, 0x1593: 0x4057c420, + 0x1594: 0x4057c620, 0x1595: 0x4057c820, 0x1596: 0x4057ca20, 0x1597: 0x4057cc20, + 0x1598: 0x4057ce20, 0x1599: 0x4057d020, 0x159a: 0x4057d220, 0x159b: 0x4057d420, + 0x159c: 0x4057d620, 0x159d: 0x4057d820, 0x159e: 0x4057da20, 0x159f: 0x4057dc20, + 0x15a0: 0x4057de20, 0x15a1: 0x4057e020, 0x15a2: 0x4057e220, 0x15a3: 0x4057e420, + 0x15a4: 0x4057e620, 0x15a5: 0x4057e820, 0x15a6: 0x4057ea20, 0x15a7: 0x4057ec20, + 0x15a8: 0x4057ee20, 0x15a9: 0x4057f020, 0x15aa: 0x4057f220, 0x15ab: 0x4057f420, + 0x15ac: 0x4057f620, 0x15ad: 0x4057f820, 0x15ae: 0x4057fa20, 0x15af: 0x4057fc20, + 0x15b0: 0x4057fe20, 0x15b1: 0x40580020, 0x15b2: 0x40580220, 0x15b3: 0x40580420, + 0x15b4: 0x40580620, 0x15b5: 0x40580820, 0x15b6: 0x40580a20, 0x15b7: 0x40580c20, + 0x15b8: 0x40580e20, 0x15b9: 0x40581020, 0x15ba: 0x40581220, 0x15bb: 0x40581420, + 0x15bc: 0x40587a20, 0x15bd: 0x40581620, 0x15be: 0x40581a20, 0x15bf: 0x40581c20, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x40581e20, 0x15c1: 0x40582020, 0x15c2: 0x40582220, 0x15c3: 0x40582420, + 0x15c4: 0x40582620, 0x15c5: 0x40582820, 0x15c6: 0x40582a20, 0x15c7: 0x40582c20, + 0x15c8: 0x40582e20, 0x15c9: 0x40583020, 0x15ca: 0x40583220, 0x15cb: 0x40583420, + 0x15cc: 0x40583620, 0x15cd: 0x40583820, 0x15ce: 0x40583c20, 0x15cf: 0x40583e20, + 0x15d0: 0x40584020, 0x15d1: 0x40584220, 0x15d2: 0x40584420, 0x15d3: 0x40584620, + 0x15d4: 0x40584820, 0x15d5: 0x40584a20, 0x15d6: 0x40585820, 0x15d7: 0x40585a20, + 0x15d8: 0x40585c20, 0x15d9: 0x40585e20, 0x15da: 0x40586020, 0x15db: 0x40586220, + 0x15dc: 0x40586420, 0x15dd: 0x40586620, 0x15de: 0x40586820, 0x15df: 0x40586a20, + 0x15e0: 0x40586c20, 0x15e1: 0x40586e20, 0x15e2: 0x40587020, 0x15e3: 0x40587220, + 0x15e4: 0x40587420, 0x15e5: 0x40587620, 0x15e6: 0x40587820, 0x15e7: 0x40587c20, + 0x15e8: 0x40587e20, 0x15e9: 0x40588020, 0x15ea: 0x40588220, 0x15eb: 0x40588420, + 0x15ec: 0x40588620, 0x15ed: 0x40588820, 0x15ee: 0x40588a20, 0x15ef: 0x40588c20, + 0x15f0: 0x40588e20, 0x15f1: 0x40589020, 0x15f2: 0x40589220, 0x15f3: 0x40589420, + 0x15f4: 0x40589620, 0x15f5: 0x40589820, 0x15f6: 0x40589a20, 0x15f7: 0x40589c20, + 0x15f8: 0x40589e20, 0x15f9: 0x4058a020, 0x15fa: 0x4058a220, 0x15fb: 0x4058a420, + 0x15fc: 0x4058a620, 0x15fd: 0x4058a820, 0x15fe: 0x4058aa20, 0x15ff: 0x4058ac20, + // Block 0x58, offset 0x1600 + 0x1600: 0x4058ae20, 0x1601: 0x4058b020, 0x1602: 0x4058b220, 0x1603: 0x4058b420, + 0x1604: 0x4058b620, 0x1605: 0x4058b820, 0x1606: 0x4058ba20, 0x1607: 0x4058bc20, + 0x1608: 0x4058be20, 0x1609: 0x4058c020, 0x160a: 0x4058c220, 0x160b: 0x4058c420, + 0x160c: 0x4058c620, 0x160d: 0x4058c820, 0x160e: 0x4058ca20, 0x160f: 0x4058cc20, + 0x1610: 0x4058ce20, 0x1611: 0x4058d020, 0x1612: 0x4058d220, 0x1613: 0x4058d420, + 0x1614: 0x4058d620, 0x1615: 0x4058d820, 0x1616: 0x4058da20, 0x1617: 0x4058dc20, + 0x1618: 0x4058de20, 0x1619: 0x4058e020, 0x161a: 0x4058e220, 0x161b: 0x4058e420, + 0x161c: 0x4058e620, 0x161d: 0x4058e820, 0x161e: 0x4058ea20, 0x161f: 0x4058ec20, + 0x1620: 0x4058ee20, 0x1621: 0x4058f020, 0x1622: 0x4058f220, 0x1623: 0x4058f420, + 0x1624: 0x4058f620, 0x1625: 0x4058f820, 0x1626: 0x4058fa20, 0x1627: 0x4058fc20, + 0x1628: 0x4058fe20, 0x1629: 0x40590020, 0x162a: 0x40590220, 0x162b: 0x40590420, + 0x162c: 0x40590620, 0x162d: 0x40590820, 0x162e: 0x40590a20, 0x162f: 0x40590c20, + 0x1630: 0x40590e20, 0x1631: 0x40591020, 0x1632: 0x40591220, 0x1633: 0x40591420, + 0x1634: 0x40591620, 0x1635: 0x40591820, 0x1636: 0x40591a20, 0x1637: 0x40591c20, + 0x1638: 0x40591e20, 0x1639: 0x40592020, 0x163a: 0x40592220, 0x163b: 0x40592420, + 0x163c: 0x40592620, 0x163d: 0x40592820, 0x163e: 0x40592a20, 0x163f: 0x40592c20, + // Block 0x59, offset 0x1640 + 0x1640: 0x40592e20, 0x1641: 0x40593020, 0x1642: 0x40593220, 0x1643: 0x40593420, + 0x1644: 0x40593620, 0x1645: 0x40593820, 0x1646: 0x40593a20, 0x1647: 0x40593c20, + 0x1648: 0x40593e20, 0x1649: 0x40594020, 0x164a: 0x40594220, 0x164b: 0x40594420, + 0x164c: 0x40594620, 0x164d: 0x40594820, 0x164e: 0x40594a20, 0x164f: 0x40594c20, + 0x1650: 0x40594e20, 0x1651: 0x40595020, 0x1652: 0x40595220, 0x1653: 0x40595420, + 0x1654: 0x40595620, 0x1655: 0x40595820, 0x1656: 0x40595a20, 0x1657: 0x40595c20, + 0x1658: 0x40595e20, 0x1659: 0x40596020, 0x165a: 0x40596220, 0x165b: 0x40596420, + 0x165c: 0x40596620, 0x165d: 0x40596820, 0x165e: 0x40596a20, 0x165f: 0x40596c20, + 0x1660: 0x40596e20, 0x1661: 0x40597020, 0x1662: 0x40597220, 0x1663: 0x40597420, + 0x1664: 0x40597620, 0x1665: 0x40597820, 0x1666: 0x40597a20, 0x1667: 0x40597c20, + 0x1668: 0x40597e20, 0x1669: 0x40598020, 0x166a: 0x40598220, 0x166b: 0x40598420, + 0x166c: 0x40598620, 0x166d: 0x40598820, 0x166e: 0x40598a20, 0x166f: 0x40598c20, + 0x1670: 0x40598e20, 0x1671: 0x40599020, 0x1672: 0x40599220, 0x1673: 0x40599420, + 0x1674: 0x40599620, 0x1675: 0x40599820, 0x1676: 0x40599a20, 0x1677: 0x40599c20, + 0x1678: 0x40599e20, 0x1679: 0x4059a020, 0x167a: 0x4059a220, 0x167b: 0x4059a420, + 0x167c: 0x4059a620, 0x167d: 0x4059a820, 0x167e: 0x4059aa20, 0x167f: 0x4059ac20, + // Block 0x5a, offset 0x1680 + 0x1680: 0x4059ae20, 0x1681: 0x4059b020, 0x1682: 0x4059b220, 0x1683: 0x4059b420, + 0x1684: 0x4059b620, 0x1685: 0x4059b820, 0x1686: 0x4059ba20, 0x1687: 0x4059bc20, + 0x1688: 0x4059be20, 0x1689: 0x4059c020, 0x168a: 0x4059c220, 0x168b: 0x4059c420, + 0x168c: 0x4059c620, 0x168d: 0x4059c820, 0x168e: 0x4059ca20, 0x168f: 0x4059cc20, + 0x1690: 0x4059ce20, 0x1691: 0x4059d020, 0x1692: 0x4059d220, 0x1693: 0x4059d420, + 0x1694: 0x4059d620, 0x1695: 0x4059d820, 0x1696: 0x4059da20, 0x1697: 0x4059dc20, + 0x1698: 0x4059de20, 0x1699: 0x4059e020, 0x169a: 0x4059e220, 0x169b: 0x4059e420, + 0x169c: 0x4059e620, 0x169d: 0x4059e820, 0x169e: 0x4059ea20, 0x169f: 0x4059ec20, + 0x16a0: 0x4059ee20, 0x16a1: 0x4059f020, 0x16a2: 0x4059f220, 0x16a3: 0x4059f420, + 0x16a4: 0x4059f620, 0x16a5: 0x4059f820, 0x16a6: 0x4059fa20, 0x16a7: 0x4059fc20, + 0x16a8: 0x4059fe20, 0x16a9: 0x405a0020, 0x16aa: 0x405a0220, 0x16ab: 0x405a0420, + 0x16ac: 0x405a0620, 0x16ad: 0x4005d420, 0x16ae: 0x4002f420, 0x16af: 0x40581820, + 0x16b0: 0x40583a20, 0x16b1: 0x40584c20, 0x16b2: 0x40584e20, 0x16b3: 0x40585020, + 0x16b4: 0x40585220, 0x16b5: 0x40585420, 0x16b6: 0x40585620, 0x16b7: 0x405a0820, + 0x16b8: 0x405a0a20, 0x16b9: 0x405a0c20, 0x16ba: 0x405a0e20, 0x16bb: 0x405a1020, + 0x16bc: 0x405a1220, 0x16bd: 0x405a1420, 0x16be: 0x405a1620, 0x16bf: 0x405a1820, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x00021284, 0x16c1: 0x405aa620, 0x16c2: 0x405aa820, 0x16c3: 0x405aaa20, + 0x16c4: 0x405aac20, 0x16c5: 0x405aae20, 0x16c6: 0x405ab020, 0x16c7: 0x405ab220, + 0x16c8: 0x405ab420, 0x16c9: 0x405ab620, 0x16ca: 0x405ab820, 0x16cb: 0x405aba20, + 0x16cc: 0x405abc20, 0x16cd: 0x405abe20, 0x16ce: 0x405ac020, 0x16cf: 0x405ac220, + 0x16d0: 0x405ac420, 0x16d1: 0x405ac620, 0x16d2: 0x405ac820, 0x16d3: 0x405aca20, + 0x16d4: 0x405acc20, 0x16d5: 0x405ace20, 0x16d6: 0x405ad020, 0x16d7: 0x405ad220, + 0x16d8: 0x405ad420, 0x16d9: 0x405ad620, 0x16da: 0x405ad820, 0x16db: 0x40040820, + 0x16dc: 0x40040a20, + 0x16e0: 0x405ada20, 0x16e1: 0xe000202d, 0x16e2: 0x405adc20, 0x16e3: 0x405b1420, + 0x16e4: 0xe0002030, 0x16e5: 0xe0002033, 0x16e6: 0x405ade20, 0x16e7: 0xe0002036, + 0x16e8: 0x405ae020, 0x16e9: 0xe000203c, 0x16ea: 0x405b1020, 0x16eb: 0x405b1220, + 0x16ec: 0xe000203f, 0x16ed: 0xe0002042, 0x16ee: 0xe0002045, 0x16ef: 0x405ae220, + 0x16f0: 0x405ae420, 0x16f1: 0x405ae620, 0x16f2: 0x405ae820, 0x16f3: 0xe0002048, + 0x16f4: 0xe000204b, 0x16f5: 0xe000204e, 0x16f6: 0xe0002051, 0x16f7: 0x405aea20, + 0x16f8: 0x405b1a20, 0x16f9: 0x405aec20, 0x16fa: 0x405aee20, 0x16fb: 0xe0002057, + 0x16fc: 0xe000205a, 0x16fd: 0xe000205d, 0x16fe: 0x405af020, 0x16ff: 0xe0002060, + // Block 0x5c, offset 0x1700 + 0x1700: 0xe0002063, 0x1701: 0x405af220, 0x1702: 0xe0002066, 0x1703: 0x405af420, + 0x1704: 0xe0002069, 0x1705: 0x405af620, 0x1706: 0xe000206c, 0x1707: 0x405af820, + 0x1708: 0x405afa20, 0x1709: 0x405afc20, 0x170a: 0x405afe20, 0x170b: 0xe0002075, + 0x170c: 0xe000207b, 0x170d: 0xe000207e, 0x170e: 0xe0002081, 0x170f: 0x405b0020, + 0x1710: 0xe0002084, 0x1711: 0xe0002087, 0x1712: 0x405b0220, 0x1713: 0xe000208a, + 0x1714: 0xe000208d, 0x1715: 0xe0002072, 0x1716: 0x405b0420, 0x1717: 0x405b0620, + 0x1718: 0xe0002090, 0x1719: 0xe0002093, 0x171a: 0x405b0820, 0x171b: 0xe000209b, + 0x171c: 0x405b0a20, 0x171d: 0xe000209e, 0x171e: 0x405b0c20, 0x171f: 0x405b0e20, + 0x1720: 0x405b1620, 0x1721: 0x405b1e20, 0x1722: 0x405b2020, 0x1723: 0x405b1820, + 0x1724: 0x405b1c20, 0x1725: 0x405b2220, 0x1726: 0x405b2420, 0x1727: 0xe00020a1, + 0x1728: 0xe00020a4, 0x1729: 0xe0002054, 0x172a: 0xe0002078, 0x172b: 0x4002b220, + 0x172c: 0x4002b420, 0x172d: 0x4002b620, 0x172e: 0xe000206f, 0x172f: 0xe0002096, + 0x1730: 0xe0002039, + // Block 0x5d, offset 0x1740 + 0x1740: 0x404c7620, 0x1741: 0x404c7820, 0x1742: 0x404c7a20, 0x1743: 0x404c7c20, + 0x1744: 0x404c7e20, 0x1745: 0x404c8020, 0x1746: 0x404c8220, 0x1747: 0x404c8420, + 0x1748: 0x404c8620, 0x1749: 0x404c8820, 0x174a: 0x404c8a20, 0x174b: 0x404c8c20, + 0x174c: 0x404c8e20, 0x174e: 0x404c9020, 0x174f: 0x404c9220, + 0x1750: 0x404c9420, 0x1751: 0x404c9620, 0x1752: 0x404c9820, 0x1753: 0x404c9a20, + 0x1754: 0x8209264e, + 0x1760: 0x404c9e20, 0x1761: 0x404ca020, 0x1762: 0x404ca220, 0x1763: 0x404ca420, + 0x1764: 0x404ca620, 0x1765: 0x404ca820, 0x1766: 0x404caa20, 0x1767: 0x404cac20, + 0x1768: 0x404cae20, 0x1769: 0x404cb020, 0x176a: 0x404cb220, 0x176b: 0x404cb420, + 0x176c: 0x404cb620, 0x176d: 0x404cb820, 0x176e: 0x404cba20, 0x176f: 0x404cbc20, + 0x1770: 0x404cbe20, 0x1771: 0x404cc020, 0x1772: 0x404cc220, 0x1773: 0x404cc420, + 0x1774: 0x82092663, 0x1775: 0x40031c20, 0x1776: 0x40031e20, + // Block 0x5e, offset 0x1780 + 0x1780: 0x404cc820, 0x1781: 0x404cca20, 0x1782: 0x404ccc20, 0x1783: 0x404cce20, + 0x1784: 0x404cd020, 0x1785: 0x404cd220, 0x1786: 0x404cd420, 0x1787: 0x404cd620, + 0x1788: 0x404cd820, 0x1789: 0x404cda20, 0x178a: 0x404cdc20, 0x178b: 0x404cde20, + 0x178c: 0x404ce020, 0x178d: 0x404ce220, 0x178e: 0x404ce420, 0x178f: 0x404ce620, + 0x1790: 0x404ce820, 0x1791: 0x404cea20, 0x1792: 0x404cec20, 0x1793: 0x404cee20, + 0x17a0: 0x404cf020, 0x17a1: 0x404cf220, 0x17a2: 0x404cf420, 0x17a3: 0x404cf620, + 0x17a4: 0x404cf820, 0x17a5: 0x404cfa20, 0x17a6: 0x404cfc20, 0x17a7: 0x404cfe20, + 0x17a8: 0x404d0020, 0x17a9: 0x404d0220, 0x17aa: 0x404d0420, 0x17ab: 0x404d0620, + 0x17ac: 0x404d0820, 0x17ae: 0x404d0a20, 0x17af: 0x404d0c20, + 0x17b0: 0x404d0e20, 0x17b2: 0x404d1020, 0x17b3: 0x404d1220, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x404fa420, 0x17c1: 0x404fa620, 0x17c2: 0x404fa820, 0x17c3: 0x404faa20, + 0x17c4: 0x404fac20, 0x17c5: 0x404fae20, 0x17c6: 0x404fb020, 0x17c7: 0x404fb220, + 0x17c8: 0x404fb420, 0x17c9: 0x404fb620, 0x17ca: 0x404fb820, 0x17cb: 0x404fba20, + 0x17cc: 0x404fbc20, 0x17cd: 0x404fbe20, 0x17ce: 0x404fc020, 0x17cf: 0x404fc220, + 0x17d0: 0x404fc420, 0x17d1: 0x404fc620, 0x17d2: 0x404fc820, 0x17d3: 0x404fca20, + 0x17d4: 0x404fcc20, 0x17d5: 0x404fce20, 0x17d6: 0x404fd020, 0x17d7: 0x404fd220, + 0x17d8: 0x404fd420, 0x17d9: 0x404fd620, 0x17da: 0x404fd820, 0x17db: 0x404fda20, + 0x17dc: 0x404fdc20, 0x17dd: 0x404fde20, 0x17de: 0x404fe020, 0x17df: 0x404fe220, + 0x17e0: 0x404fe420, 0x17e1: 0x404fe620, 0x17e2: 0x404fe820, 0x17e3: 0x404fec20, + 0x17e4: 0x404fee20, 0x17e5: 0x404ff020, 0x17e6: 0x404ff220, 0x17e7: 0x404ff420, + 0x17e8: 0x404ff620, 0x17e9: 0x404ff820, 0x17ea: 0x404ffa20, 0x17eb: 0x404ffc20, + 0x17ec: 0x404ffe20, 0x17ed: 0x40500020, 0x17ee: 0x40500220, 0x17ef: 0x40500420, + 0x17f0: 0x40500620, 0x17f1: 0x40500820, 0x17f2: 0x40500a20, 0x17f3: 0x40500c20, + 0x17f4: 0xa0000000, 0x17f5: 0xa0000000, 0x17f6: 0x40500e20, 0x17f7: 0x40501020, + 0x17f8: 0x40501220, 0x17f9: 0x40501420, 0x17fa: 0x40501620, 0x17fb: 0x40501820, + 0x17fc: 0x40501a20, 0x17fd: 0x40501c20, 0x17fe: 0x40501e20, 0x17ff: 0x40502020, + // Block 0x60, offset 0x1800 + 0x1800: 0x40502220, 0x1801: 0x40502420, 0x1802: 0x40502620, 0x1803: 0x40502820, + 0x1804: 0x40502a20, 0x1805: 0x40502c20, 0x1806: 0xa000f302, 0x1807: 0xa000f402, + 0x1808: 0xa0011402, 0x1809: 0xa0011502, 0x180a: 0xa0011602, 0x180b: 0xa0005f02, + 0x180c: 0xa0005f02, 0x180d: 0xa0005f02, 0x180e: 0xa0005f02, 0x180f: 0xa0005f02, + 0x1810: 0xa0005f02, 0x1811: 0xa0005f02, 0x1812: 0x82092817, 0x1813: 0xa0000000, + 0x1814: 0x40032620, 0x1815: 0x40032820, 0x1816: 0x4002ac20, 0x1817: 0x4027bc20, + 0x1818: 0x4005bc20, 0x1819: 0x4005be20, 0x181a: 0x4005c020, 0x181b: 0x4027f620, + 0x181c: 0x404fea20, 0x181d: 0xae605f02, + 0x1820: 0xe00001b5, 0x1821: 0xe0000249, 0x1822: 0xe0000361, 0x1823: 0xe000043b, + 0x1824: 0xe0000510, 0x1825: 0xe00005da, 0x1826: 0xe00006a5, 0x1827: 0xe000074d, + 0x1828: 0xe00007f9, 0x1829: 0xe000089e, + 0x1830: 0xe00001b8, 0x1831: 0xe000024c, 0x1832: 0xe0000364, 0x1833: 0xe000043e, + 0x1834: 0xe0000513, 0x1835: 0xe00005dd, 0x1836: 0xe00006a8, 0x1837: 0xe0000750, + 0x1838: 0xe00007fc, 0x1839: 0xe00008a1, + // Block 0x61, offset 0x1840 + 0x1840: 0x40056a20, 0x1841: 0x4002e620, 0x1842: 0x40025220, 0x1843: 0x4002f020, + 0x1844: 0x4002a620, 0x1845: 0x4002a820, 0x1846: 0x40022220, 0x1847: 0x40022420, + 0x1848: 0x40025420, 0x1849: 0x4002f220, 0x184a: 0xa0000000, 0x184b: 0xa0000000, + 0x184c: 0xa0000000, 0x184d: 0xa0000000, 0x184e: 0x40020c20, + 0x1850: 0xe00001c7, 0x1851: 0xe000025b, 0x1852: 0xe0000373, 0x1853: 0xe000044d, + 0x1854: 0xe0000522, 0x1855: 0xe00005ec, 0x1856: 0xe00006b7, 0x1857: 0xe000075f, + 0x1858: 0xe000080b, 0x1859: 0xe00008b0, + 0x1860: 0x40533820, 0x1861: 0x40533c20, 0x1862: 0x40534220, 0x1863: 0x40534e20, + 0x1864: 0x40535220, 0x1865: 0x40535820, 0x1866: 0x40535c20, 0x1867: 0x40536220, + 0x1868: 0x40536420, 0x1869: 0x40536620, 0x186a: 0x40537020, 0x186b: 0x40537420, + 0x186c: 0x40537a20, 0x186d: 0x40537e20, 0x186e: 0x40538820, 0x186f: 0x40538c20, + 0x1870: 0x40538e20, 0x1871: 0x40539020, 0x1872: 0x40539e20, 0x1873: 0x4053a420, + 0x1874: 0x4053aa20, 0x1875: 0x4053b420, 0x1876: 0x4053bc20, 0x1877: 0x4053c220, + 0x1878: 0x4053c620, 0x1879: 0x4053ca20, 0x187a: 0x4053d020, 0x187b: 0x4053da20, + 0x187c: 0x4053dc20, 0x187d: 0x4053e220, 0x187e: 0x4053ea20, 0x187f: 0x4053f020, + // Block 0x62, offset 0x1880 + 0x1880: 0x4053f220, 0x1881: 0x4053f420, 0x1882: 0x4053f620, 0x1883: 0x40533620, + 0x1884: 0x40533e20, 0x1885: 0x40534420, 0x1886: 0x40535020, 0x1887: 0x40535420, + 0x1888: 0x40535a20, 0x1889: 0x40535e20, 0x188a: 0x40536820, 0x188b: 0x40537220, + 0x188c: 0x40537620, 0x188d: 0x40537c20, 0x188e: 0x40538020, 0x188f: 0x40538a20, + 0x1890: 0x4053a020, 0x1891: 0x4053a620, 0x1892: 0x4053ac20, 0x1893: 0x4053b620, + 0x1894: 0x4053de20, 0x1895: 0x4053be20, 0x1896: 0x4053c820, 0x1897: 0x4053d220, + 0x1898: 0x4053e620, 0x1899: 0x4053ec20, 0x189a: 0x4053f820, 0x189b: 0x4053fa20, + 0x189c: 0x4053b020, 0x189d: 0x40534020, 0x189e: 0x40534620, 0x189f: 0x40534c20, + 0x18a0: 0x40536020, 0x18a1: 0x40535620, 0x18a2: 0x40536a20, 0x18a3: 0x4053d420, + 0x18a4: 0x40538220, 0x18a5: 0x40538620, 0x18a6: 0x40537820, 0x18a7: 0x40539220, + 0x18a8: 0x4053a220, 0x18a9: 0x4053a820, 0x18aa: 0x4053b820, 0x18ab: 0x4053cc20, + 0x18ac: 0x4053e820, 0x18ad: 0x4053ee20, 0x18ae: 0x4053e020, 0x18af: 0x4053e420, + 0x18b0: 0x4053fc20, 0x18b1: 0x4053ae20, 0x18b2: 0x4053c020, 0x18b3: 0x40534820, + 0x18b4: 0x4053d620, 0x18b5: 0x4053c420, 0x18b6: 0x4053ce20, 0x18b7: 0x4053ba20, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x40532820, 0x18c1: 0x40532a20, 0x18c2: 0x40532c20, 0x18c3: 0x40532e20, + 0x18c4: 0x40533020, 0x18c5: 0x40533220, 0x18c6: 0x40533420, 0x18c7: 0x40533a20, + 0x18c8: 0x40534a20, 0x18c9: 0x4053d820, 0x18ca: 0x40536c20, 0x18cb: 0x4053b220, + 0x18cc: 0x4053fe20, 0x18cd: 0x40540220, 0x18ce: 0x40540420, 0x18cf: 0x40540820, + 0x18d0: 0x40540a20, 0x18d1: 0x40541020, 0x18d2: 0x40541420, 0x18d3: 0x40541620, + 0x18d4: 0x40541a20, 0x18d5: 0x40541e20, 0x18d6: 0x40542220, 0x18d7: 0x40542420, + 0x18d8: 0x40540c20, 0x18d9: 0x40542020, 0x18da: 0x40538420, 0x18db: 0x40536e20, + 0x18dc: 0x40539420, 0x18dd: 0x40539620, 0x18de: 0x40540020, 0x18df: 0x40540620, + 0x18e0: 0x40540e20, 0x18e1: 0x40541220, 0x18e2: 0x40539820, 0x18e3: 0x40541c20, + 0x18e4: 0x40539a20, 0x18e5: 0x40539c20, 0x18e6: 0x40542620, 0x18e7: 0x40542820, + 0x18e8: 0x40541820, 0x18e9: 0x82e42a16, 0x18ea: 0x40542a20, + 0x18f0: 0x405a1a20, 0x18f1: 0x405a1c20, 0x18f2: 0x405a1e20, 0x18f3: 0x405a2020, + 0x18f4: 0x405a2220, 0x18f5: 0x405a2420, 0x18f6: 0x405a2620, 0x18f7: 0x405a2820, + 0x18f8: 0x405a2a20, 0x18f9: 0x405a2c20, 0x18fa: 0x405a2e20, 0x18fb: 0x405a3020, + 0x18fc: 0x405a3220, 0x18fd: 0x405a3420, 0x18fe: 0x405a3620, 0x18ff: 0x405a3820, + // Block 0x64, offset 0x1900 + 0x1900: 0x405a3a20, 0x1901: 0x405a3c20, 0x1902: 0x405a3e20, 0x1903: 0x405a4020, + 0x1904: 0x405a4220, 0x1905: 0x405a4420, 0x1906: 0x405a4620, 0x1907: 0x405a4820, + 0x1908: 0x405a4a20, 0x1909: 0x405a4c20, 0x190a: 0x405a4e20, 0x190b: 0x405a5020, + 0x190c: 0x405a5220, 0x190d: 0x405a5420, 0x190e: 0x405a5620, 0x190f: 0x405a5820, + 0x1910: 0x405a5a20, 0x1911: 0x405a5c20, 0x1912: 0x405a5e20, 0x1913: 0x405a6020, + 0x1914: 0x405a6220, 0x1915: 0x405a6420, 0x1916: 0x405a6620, 0x1917: 0x405a6820, + 0x1918: 0x405a6a20, 0x1919: 0x405a6c20, 0x191a: 0x405a6e20, 0x191b: 0x405a7020, + 0x191c: 0x405a7220, 0x191d: 0x405a7420, 0x191e: 0x405a7620, 0x191f: 0x405a7820, + 0x1920: 0x405a7a20, 0x1921: 0x405a7c20, 0x1922: 0x405a7e20, 0x1923: 0x405a8020, + 0x1924: 0x405a8220, 0x1925: 0x405a8420, 0x1926: 0x405a8620, 0x1927: 0x405a8820, + 0x1928: 0x405a8a20, 0x1929: 0x405a8c20, 0x192a: 0x405a8e20, 0x192b: 0x405a9020, + 0x192c: 0x405a9220, 0x192d: 0x405a9420, 0x192e: 0x405a9620, 0x192f: 0x405a9820, + 0x1930: 0x405a9a20, 0x1931: 0x405a9c20, 0x1932: 0x405a9e20, 0x1933: 0x405aa020, + 0x1934: 0x405aa220, 0x1935: 0x405aa420, + // Block 0x65, offset 0x1940 + 0x1940: 0x404c1220, 0x1941: 0x404c1420, 0x1942: 0x404c1620, 0x1943: 0x404c1820, + 0x1944: 0x404c1a20, 0x1945: 0x404c1c20, 0x1946: 0x404c1e20, 0x1947: 0x404c2020, + 0x1948: 0x404c2220, 0x1949: 0x404c2420, 0x194a: 0x404c2620, 0x194b: 0x404c2820, + 0x194c: 0x404c2a20, 0x194d: 0x404c2c20, 0x194e: 0x404c2e20, 0x194f: 0x404c3020, + 0x1950: 0x404c3220, 0x1951: 0x404c3420, 0x1952: 0x404c3620, 0x1953: 0x404c3820, + 0x1954: 0x404c3a20, 0x1955: 0x404c3c20, 0x1956: 0x404c3e20, 0x1957: 0x404c4020, + 0x1958: 0x404c4220, 0x1959: 0x404c4420, 0x195a: 0x404c4620, 0x195b: 0x404c4820, + 0x195c: 0x404c4a20, + 0x1960: 0x404c4c20, 0x1961: 0x404c4e20, 0x1962: 0x404c5020, 0x1963: 0x404c5220, + 0x1964: 0x404c5420, 0x1965: 0x404c5620, 0x1966: 0x404c5820, 0x1967: 0x404c5a20, + 0x1968: 0x404c5c20, 0x1969: 0x404c5e20, 0x196a: 0x404c6020, 0x196b: 0x404c6220, + 0x1970: 0x404c6420, 0x1971: 0x404c6620, 0x1972: 0x404c6820, 0x1973: 0x404c6a20, + 0x1974: 0x404c6c20, 0x1975: 0x404c6e20, 0x1976: 0x404c7020, 0x1977: 0x404c7220, + 0x1978: 0x404c7420, 0x1979: 0xade11f02, 0x197a: 0xae612002, 0x197b: 0xadc12102, + // Block 0x66, offset 0x1980 + 0x1980: 0x4007a620, + 0x1984: 0x4002c220, 0x1985: 0x4002d220, 0x1986: 0xe000018e, 0x1987: 0xe000021f, + 0x1988: 0xe000033a, 0x1989: 0xe0000414, 0x198a: 0xe00004e9, 0x198b: 0xe00005b3, + 0x198c: 0xe000067e, 0x198d: 0xe0000726, 0x198e: 0xe00007d2, 0x198f: 0xe0000877, + 0x1990: 0x40503020, 0x1991: 0x40503220, 0x1992: 0x40503420, 0x1993: 0x40503620, + 0x1994: 0x40503820, 0x1995: 0x40503a20, 0x1996: 0x40503c20, 0x1997: 0x40503e20, + 0x1998: 0x40504020, 0x1999: 0x40504220, 0x199a: 0x40504420, 0x199b: 0x40504620, + 0x199c: 0x40504820, 0x199d: 0x40504a20, 0x199e: 0x40504c20, 0x199f: 0x40504e20, + 0x19a0: 0x40505020, 0x19a1: 0x40505220, 0x19a2: 0x40505420, 0x19a3: 0x40505620, + 0x19a4: 0x40505820, 0x19a5: 0x40505a20, 0x19a6: 0x40505c20, 0x19a7: 0x40505e20, + 0x19a8: 0x40506020, 0x19a9: 0x40506220, 0x19aa: 0x40506420, 0x19ab: 0x40506620, + 0x19ac: 0x40506820, 0x19ad: 0x40506a20, + 0x19b0: 0x40506c20, 0x19b1: 0x40506e20, 0x19b2: 0x40507020, 0x19b3: 0x40507220, + 0x19b4: 0x40507420, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x40507620, 0x19c1: 0x40507820, 0x19c2: 0x40507a20, 0x19c3: 0x40507c20, + 0x19c4: 0x40507e20, 0x19c5: 0x40508020, 0x19c6: 0x40508220, 0x19c7: 0x40508420, + 0x19c8: 0x40508620, 0x19c9: 0x40508820, 0x19ca: 0x40508a20, 0x19cb: 0x40508c20, + 0x19cc: 0x40508e20, 0x19cd: 0x40509020, 0x19ce: 0x40509220, 0x19cf: 0x40509420, + 0x19d0: 0x40509620, 0x19d1: 0x40509820, 0x19d2: 0x40509a20, 0x19d3: 0x40509c20, + 0x19d4: 0x40509e20, 0x19d5: 0x4050a020, 0x19d6: 0x4050a220, 0x19d7: 0x4050a420, + 0x19d8: 0x4050a620, 0x19d9: 0x4050a820, 0x19da: 0x4050aa20, 0x19db: 0x4050ac20, + 0x19dc: 0x4050ae20, 0x19dd: 0x4050b020, 0x19de: 0x4050b220, 0x19df: 0x4050b420, + 0x19e0: 0x4050b620, 0x19e1: 0x4050b820, 0x19e2: 0x4050ba20, 0x19e3: 0x4050bc20, + 0x19e4: 0x4050be20, 0x19e5: 0x4050c020, 0x19e6: 0x4050c220, 0x19e7: 0x4050c420, + 0x19e8: 0x4050c620, 0x19e9: 0x4050c820, 0x19ea: 0x4050ca20, 0x19eb: 0x4050cc20, + 0x19f0: 0x4050ce20, 0x19f1: 0x4050d020, 0x19f2: 0x4050d220, 0x19f3: 0x4050d420, + 0x19f4: 0x4050d620, 0x19f5: 0x4050d820, 0x19f6: 0x4050da20, 0x19f7: 0x4050dc20, + 0x19f8: 0x4050de20, 0x19f9: 0x4050e020, 0x19fa: 0x4050e220, 0x19fb: 0x4050e420, + 0x19fc: 0x4050e620, 0x19fd: 0x4050e820, 0x19fe: 0x4050ea20, 0x19ff: 0x4050ec20, + // Block 0x68, offset 0x1a00 + 0x1a00: 0x4050ee20, 0x1a01: 0x4050f020, 0x1a02: 0x4050f220, 0x1a03: 0x4050f420, + 0x1a04: 0x4050f620, 0x1a05: 0x4050f820, 0x1a06: 0x4050fa20, 0x1a07: 0x4050fc20, + 0x1a08: 0x4050fe20, 0x1a09: 0x40510020, + 0x1a10: 0xe0000191, 0x1a11: 0xe0000222, 0x1a12: 0xe000033d, 0x1a13: 0xe0000417, + 0x1a14: 0xe00004ec, 0x1a15: 0xe00005b6, 0x1a16: 0xe0000681, 0x1a17: 0xe0000729, + 0x1a18: 0xe00007d5, 0x1a19: 0xe000087a, 0x1a1a: 0xe0000225, + 0x1a1e: 0xe0002022, 0x1a1f: 0xe0002025, + 0x1a20: 0x4007b220, 0x1a21: 0x4007b420, 0x1a22: 0x4007b620, 0x1a23: 0x4007b820, + 0x1a24: 0x4007ba20, 0x1a25: 0x4007bc20, 0x1a26: 0x4007be20, 0x1a27: 0x4007c020, + 0x1a28: 0x4007c220, 0x1a29: 0x4007c420, 0x1a2a: 0x4007c620, 0x1a2b: 0x4007c820, + 0x1a2c: 0x4007ca20, 0x1a2d: 0x4007cc20, 0x1a2e: 0x4007ce20, 0x1a2f: 0x4007d020, + 0x1a30: 0x4007d220, 0x1a31: 0x4007d420, 0x1a32: 0x4007d620, 0x1a33: 0x4007d820, + 0x1a34: 0x4007da20, 0x1a35: 0x4007dc20, 0x1a36: 0x4007de20, 0x1a37: 0x4007e020, + 0x1a38: 0x4007e220, 0x1a39: 0x4007e420, 0x1a3a: 0x4007e620, 0x1a3b: 0x4007e820, + 0x1a3c: 0x4007ea20, 0x1a3d: 0x4007ec20, 0x1a3e: 0x4007ee20, 0x1a3f: 0x4007f020, + // Block 0x69, offset 0x1a40 + 0x1a40: 0x404d1420, 0x1a41: 0x404d1620, 0x1a42: 0x404d1820, 0x1a43: 0x404d1a20, + 0x1a44: 0x404d1c20, 0x1a45: 0x404d1e20, 0x1a46: 0x404d2020, 0x1a47: 0x404d2220, + 0x1a48: 0x404d2420, 0x1a49: 0x404d2620, 0x1a4a: 0x404d2820, 0x1a4b: 0x404d2a20, + 0x1a4c: 0x404d2c20, 0x1a4d: 0x404d2e20, 0x1a4e: 0x404d3020, 0x1a4f: 0x404d3220, + 0x1a50: 0x404d3420, 0x1a51: 0x404d3620, 0x1a52: 0x404d3820, 0x1a53: 0x404d3a20, + 0x1a54: 0x404d3c20, 0x1a55: 0x404d3e20, 0x1a56: 0x404d4020, 0x1a57: 0x82e626a1, + 0x1a58: 0x82dc26a2, 0x1a59: 0x404d4620, 0x1a5a: 0x404d4820, 0x1a5b: 0x404d4a20, + 0x1a5e: 0x40036620, 0x1a5f: 0x40036820, + 0x1a60: 0x40510220, 0x1a61: 0x40510420, 0x1a62: 0x40510620, 0x1a63: 0x40510820, + 0x1a64: 0x40510a20, 0x1a65: 0x40510c20, 0x1a66: 0x40510e20, 0x1a67: 0x40511020, + 0x1a68: 0x40511220, 0x1a69: 0x40511420, 0x1a6a: 0x40511620, 0x1a6b: 0x40511820, + 0x1a6c: 0x40511a20, 0x1a6d: 0x40511c20, 0x1a6e: 0x40511e20, 0x1a6f: 0x40512020, + 0x1a70: 0x40512220, 0x1a71: 0x40512420, 0x1a72: 0x40512620, 0x1a73: 0x40512820, + 0x1a74: 0x40512a20, 0x1a75: 0x40512c20, 0x1a76: 0x40512e20, 0x1a77: 0x40513020, + 0x1a78: 0x40513220, 0x1a79: 0x40513420, 0x1a7a: 0x40513620, 0x1a7b: 0x40513820, + 0x1a7c: 0x40513a20, 0x1a7d: 0x40513c20, 0x1a7e: 0x40513e20, 0x1a7f: 0x40514020, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x40514220, 0x1a81: 0x40514420, 0x1a82: 0x40514620, 0x1a83: 0x40514820, + 0x1a84: 0x40514a20, 0x1a85: 0x40514c20, 0x1a86: 0x40514e20, 0x1a87: 0x40515020, + 0x1a88: 0x40515220, 0x1a89: 0x40515420, 0x1a8a: 0x40515620, 0x1a8b: 0x40515820, + 0x1a8c: 0x40515a20, 0x1a8d: 0x40516c20, 0x1a8e: 0x40516e20, 0x1a8f: 0x40517020, + 0x1a90: 0x40517220, 0x1a91: 0x40517420, 0x1a92: 0x40517620, 0x1a93: 0x40515c20, + 0x1a94: 0xe0002029, 0x1a95: 0x40516020, 0x1a96: 0x40516220, 0x1a97: 0x40516420, + 0x1a98: 0x00510e84, 0x1a99: 0x00510e84, 0x1a9a: 0x00513884, 0x1a9b: 0x00513884, + 0x1a9c: 0x40516620, 0x1a9d: 0x40516820, 0x1a9e: 0x40516a20, + 0x1aa0: 0x820928cd, 0x1aa1: 0x40517820, 0x1aa2: 0x40517c20, 0x1aa3: 0x40517e20, + 0x1aa4: 0x00517e84, 0x1aa5: 0x40518020, 0x1aa6: 0x40518220, 0x1aa7: 0x40518420, + 0x1aa8: 0x40518620, 0x1aa9: 0x40518820, 0x1aaa: 0x40518a20, 0x1aab: 0x40515e20, + 0x1aac: 0x40517a20, 0x1aad: 0x40519820, 0x1aae: 0x40518c20, 0x1aaf: 0x40518e20, + 0x1ab0: 0x40519220, 0x1ab1: 0x40519420, 0x1ab2: 0x40519620, 0x1ab3: 0x40519020, + 0x1ab4: 0xa000f302, 0x1ab5: 0xae611702, 0x1ab6: 0xae611802, 0x1ab7: 0xae611902, + 0x1ab8: 0xae611a02, 0x1ab9: 0xae611b02, 0x1aba: 0xae611c02, 0x1abb: 0xae611d02, + 0x1abc: 0xae611e02, 0x1abf: 0xadc00000, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0xe0000194, 0x1ac1: 0xe0000228, 0x1ac2: 0xe0000340, 0x1ac3: 0xe000041a, + 0x1ac4: 0xe00004ef, 0x1ac5: 0xe00005b9, 0x1ac6: 0xe0000684, 0x1ac7: 0xe000072c, + 0x1ac8: 0xe00007d8, 0x1ac9: 0xe000087d, + 0x1ad0: 0xe0000197, 0x1ad1: 0xe000022b, 0x1ad2: 0xe0000343, 0x1ad3: 0xe000041d, + 0x1ad4: 0xe00004f2, 0x1ad5: 0xe00005bc, 0x1ad6: 0xe0000687, 0x1ad7: 0xe000072f, + 0x1ad8: 0xe00007db, 0x1ad9: 0xe0000880, + 0x1ae0: 0x4005c220, 0x1ae1: 0x4005c420, 0x1ae2: 0x4005c620, 0x1ae3: 0x4005c820, + 0x1ae4: 0x4005ca20, 0x1ae5: 0x4005cc20, 0x1ae6: 0x4005ce20, 0x1ae7: 0x4027be20, + 0x1ae8: 0x40032a20, 0x1ae9: 0x40032c20, 0x1aea: 0x40032e20, 0x1aeb: 0x40033020, + 0x1aec: 0x4005d020, 0x1aed: 0x4005d220, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0xa000f202, 0x1b01: 0xa000f202, 0x1b02: 0xa000f302, 0x1b03: 0xa000f702, + 0x1b04: 0xa000f402, 0x1b05: 0xc3190821, 0x1b06: 0x40522820, 0x1b07: 0xc31b0821, + 0x1b08: 0x40522c20, 0x1b09: 0xc31d0821, 0x1b0a: 0x40523020, 0x1b0b: 0xc31f0821, + 0x1b0c: 0x40523420, 0x1b0d: 0xc3210821, 0x1b0e: 0x40523820, 0x1b0f: 0x40523a20, + 0x1b10: 0x40523c20, 0x1b11: 0xc3230821, 0x1b12: 0x40524020, 0x1b13: 0x40524220, + 0x1b14: 0x40524820, 0x1b15: 0x40524a20, 0x1b16: 0x40524c20, 0x1b17: 0x40524e20, + 0x1b18: 0x40525020, 0x1b19: 0x40525220, 0x1b1a: 0x40525420, 0x1b1b: 0x40525620, + 0x1b1c: 0x40525820, 0x1b1d: 0x40525a20, 0x1b1e: 0x40525c20, 0x1b1f: 0x40525e20, + 0x1b20: 0x40526020, 0x1b21: 0x40526220, 0x1b22: 0x40526420, 0x1b23: 0x40526820, + 0x1b24: 0x40526a20, 0x1b25: 0x40526c20, 0x1b26: 0x40526e20, 0x1b27: 0x40527020, + 0x1b28: 0x40527420, 0x1b29: 0x40527620, 0x1b2a: 0x40527820, 0x1b2b: 0x40527a20, + 0x1b2c: 0x40527c20, 0x1b2d: 0x40527e20, 0x1b2e: 0x40528020, 0x1b2f: 0x40528220, + 0x1b30: 0x40528620, 0x1b31: 0x40528820, 0x1b32: 0x40528a20, 0x1b33: 0x40529020, + 0x1b34: 0xa070f102, 0x1b35: 0x40529220, 0x1b36: 0x40529420, 0x1b37: 0x40529620, + 0x1b38: 0x40529820, 0x1b39: 0x40529a20, 0x1b3a: 0xc3250821, 0x1b3b: 0x40529e20, + 0x1b3c: 0xc3270821, 0x1b3d: 0x4052a220, 0x1b3e: 0xc3290821, 0x1b3f: 0xc32b0821, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x4052a820, 0x1b41: 0x4052aa20, 0x1b42: 0xc32d0821, 0x1b43: 0x4052ae20, + 0x1b44: 0x82092958, 0x1b45: 0x40524420, 0x1b46: 0x40524620, 0x1b47: 0x40526620, + 0x1b48: 0x40527220, 0x1b49: 0x40528420, 0x1b4a: 0x40528c20, 0x1b4b: 0x40528e20, + 0x1b50: 0xe00001be, 0x1b51: 0xe0000252, 0x1b52: 0xe000036a, 0x1b53: 0xe0000444, + 0x1b54: 0xe0000519, 0x1b55: 0xe00005e3, 0x1b56: 0xe00006ae, 0x1b57: 0xe0000756, + 0x1b58: 0xe0000802, 0x1b59: 0xe00008a7, 0x1b5a: 0x40036a20, 0x1b5b: 0x40036c20, + 0x1b5c: 0x4002f620, 0x1b5d: 0x4002ae20, 0x1b5e: 0x40033220, 0x1b5f: 0x40033420, + 0x1b60: 0x40022020, 0x1b61: 0x4007f220, 0x1b62: 0x4007f420, 0x1b63: 0x4007f620, + 0x1b64: 0x4007f820, 0x1b65: 0x4007fa20, 0x1b66: 0x4007fc20, 0x1b67: 0x4007fe20, + 0x1b68: 0x40080020, 0x1b69: 0x40080220, 0x1b6a: 0x40080420, 0x1b6b: 0xae600000, + 0x1b6c: 0xadc00000, 0x1b6d: 0xae600000, 0x1b6e: 0xae600000, 0x1b6f: 0xae600000, + 0x1b70: 0xae600000, 0x1b71: 0xae600000, 0x1b72: 0xae600000, 0x1b73: 0xae600000, + 0x1b74: 0x40080620, 0x1b75: 0x40080820, 0x1b76: 0x40080a20, 0x1b77: 0x40080c20, + 0x1b78: 0x40080e20, 0x1b79: 0x40081020, 0x1b7a: 0x40081220, 0x1b7b: 0x40081420, + 0x1b7c: 0x40081620, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0xa000f302, 0x1b81: 0xa000f902, 0x1b82: 0xa000f402, 0x1b83: 0x4047d420, + 0x1b84: 0x4047d620, 0x1b85: 0x4047d820, 0x1b86: 0x4047da20, 0x1b87: 0x4047dc20, + 0x1b88: 0x4047de20, 0x1b89: 0x4047e020, 0x1b8a: 0x4047e220, 0x1b8b: 0x4047e620, + 0x1b8c: 0x4047e820, 0x1b8d: 0x4047ea20, 0x1b8e: 0x4047ec20, 0x1b8f: 0x4047ee20, + 0x1b90: 0x4047f020, 0x1b91: 0x4047f220, 0x1b92: 0x4047f420, 0x1b93: 0x4047f620, + 0x1b94: 0x4047f820, 0x1b95: 0x4047fa20, 0x1b96: 0x4047fc20, 0x1b97: 0x4047fe20, + 0x1b98: 0x40480020, 0x1b99: 0x40480420, 0x1b9a: 0x40480820, 0x1b9b: 0x40480c20, + 0x1b9c: 0x40481220, 0x1b9d: 0x40481820, 0x1b9e: 0x40481c20, 0x1b9f: 0x40481e20, + 0x1ba0: 0x40482220, 0x1ba1: 0x40480a20, 0x1ba2: 0x40480e20, 0x1ba3: 0x40481420, + 0x1ba4: 0x40482420, 0x1ba5: 0x40482620, 0x1ba6: 0x40482820, 0x1ba7: 0x40482a20, + 0x1ba8: 0x40482c20, 0x1ba9: 0x40482e20, 0x1baa: 0x82092418, 0x1bab: 0x82092419, + 0x1bac: 0x40480620, 0x1bad: 0x40481a20, 0x1bae: 0x4047e420, 0x1baf: 0x40482020, + 0x1bb0: 0xe00001c4, 0x1bb1: 0xe0000258, 0x1bb2: 0xe0000370, 0x1bb3: 0xe000044a, + 0x1bb4: 0xe000051f, 0x1bb5: 0xe00005e9, 0x1bb6: 0xe00006b4, 0x1bb7: 0xe000075c, + 0x1bb8: 0xe0000808, 0x1bb9: 0xe00008ad, 0x1bba: 0x0047d484, 0x1bbb: 0x40481020, + 0x1bbc: 0x40481620, 0x1bbd: 0x40480220, 0x1bbe: 0x0047e299, 0x1bbf: 0x00480499, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x404d4c20, 0x1bc1: 0x004d4c84, 0x1bc2: 0x404d4e20, 0x1bc3: 0x004d4e84, + 0x1bc4: 0x004d4e84, 0x1bc5: 0x404d5020, 0x1bc6: 0x004d5084, 0x1bc7: 0x404d5220, + 0x1bc8: 0x004d5284, 0x1bc9: 0x404d5420, 0x1bca: 0x004d5484, 0x1bcb: 0x404d5620, + 0x1bcc: 0x004d5684, 0x1bcd: 0x004d5684, 0x1bce: 0x404d5820, 0x1bcf: 0x004d5884, + 0x1bd0: 0x404d5a20, 0x1bd1: 0x404d5c20, 0x1bd2: 0x404d5e20, 0x1bd3: 0x004d5e84, + 0x1bd4: 0x404d6020, 0x1bd5: 0x004d6084, 0x1bd6: 0x404d6220, 0x1bd7: 0x004d6284, + 0x1bd8: 0x404d6420, 0x1bd9: 0x004d6484, 0x1bda: 0x004d6484, 0x1bdb: 0x404d6620, + 0x1bdc: 0x004d6684, 0x1bdd: 0x404d6820, 0x1bde: 0x404d6a20, 0x1bdf: 0x004d6a84, + 0x1be0: 0x404d6c20, 0x1be1: 0x404d6e20, 0x1be2: 0x404d7020, 0x1be3: 0x404d7220, + 0x1be4: 0x404d7420, 0x1be5: 0x404d7620, 0x1be6: 0xa070f102, 0x1be7: 0x404d7820, + 0x1be8: 0x004d7884, 0x1be9: 0x404d7a20, 0x1bea: 0x404d7c20, 0x1beb: 0x004d7c84, + 0x1bec: 0x404d7e20, 0x1bed: 0x004d7e84, 0x1bee: 0x404d8020, 0x1bef: 0x004d8084, + 0x1bf0: 0x404d8220, 0x1bf1: 0x404d8420, 0x1bf2: 0x820926c3, 0x1bf3: 0x820926c4, + 0x1bfc: 0x4005ec20, 0x1bfd: 0x4005ee20, 0x1bfe: 0x4005f020, 0x1bff: 0x4005f220, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x404b3620, 0x1c01: 0x404b3820, 0x1c02: 0x404b3a20, 0x1c03: 0x404b3c20, + 0x1c04: 0x404b3e20, 0x1c05: 0x404b4020, 0x1c06: 0x404b4220, 0x1c07: 0x404b4420, + 0x1c08: 0x404b4620, 0x1c09: 0x404b4820, 0x1c0a: 0x404b5020, 0x1c0b: 0x404b5220, + 0x1c0c: 0x404b5420, 0x1c0d: 0x404b5620, 0x1c0e: 0x404b5820, 0x1c0f: 0x404b5a20, + 0x1c10: 0x404b5c20, 0x1c11: 0x404b5e20, 0x1c12: 0x404b6020, 0x1c13: 0x404b6220, + 0x1c14: 0x404b6420, 0x1c15: 0x404b6620, 0x1c16: 0x404b6820, 0x1c17: 0x404b6a20, + 0x1c18: 0x404b6c20, 0x1c19: 0x404b6e20, 0x1c1a: 0x404b7020, 0x1c1b: 0x404b7420, + 0x1c1c: 0x404b7820, 0x1c1d: 0x404b7a20, 0x1c1e: 0x404b7c20, 0x1c1f: 0x404b7e20, + 0x1c20: 0x404b8020, 0x1c21: 0x404b8220, 0x1c22: 0x404b8420, 0x1c23: 0x404b8620, + 0x1c24: 0x404b7220, 0x1c25: 0x404b7620, 0x1c26: 0x404b8a20, 0x1c27: 0x404b8c20, + 0x1c28: 0x404b8e20, 0x1c29: 0x404b9020, 0x1c2a: 0x404b9220, 0x1c2b: 0x404b9420, + 0x1c2c: 0x404b9620, 0x1c2d: 0x404b9820, 0x1c2e: 0x404b9a20, 0x1c2f: 0x404b9c20, + 0x1c30: 0x404b9e20, 0x1c31: 0x404ba020, 0x1c32: 0x404ba220, 0x1c33: 0x404ba420, + 0x1c34: 0x404ba620, 0x1c35: 0x404ba820, 0x1c36: 0x404b8820, 0x1c37: 0xa070f102, + 0x1c3b: 0x40031420, + 0x1c3c: 0x40031620, 0x1c3d: 0x4005ae20, 0x1c3e: 0x4005b020, 0x1c3f: 0x4005b220, + // Block 0x71, offset 0x1c40 + 0x1c40: 0xe00001a6, 0x1c41: 0xe000023a, 0x1c42: 0xe0000352, 0x1c43: 0xe000042c, + 0x1c44: 0xe0000501, 0x1c45: 0xe00005cb, 0x1c46: 0xe0000696, 0x1c47: 0xe000073e, + 0x1c48: 0xe00007ea, 0x1c49: 0xe000088f, + 0x1c4d: 0x404b4a20, 0x1c4e: 0x404b4c20, 0x1c4f: 0x404b4e20, + 0x1c50: 0xe00001ca, 0x1c51: 0xe000025e, 0x1c52: 0xe0000376, 0x1c53: 0xe0000450, + 0x1c54: 0xe0000525, 0x1c55: 0xe00005ef, 0x1c56: 0xe00006ba, 0x1c57: 0xe0000762, + 0x1c58: 0xe000080e, 0x1c59: 0xe00008b3, 0x1c5a: 0x40542e20, 0x1c5b: 0x40543020, + 0x1c5c: 0x40543220, 0x1c5d: 0x40543420, 0x1c5e: 0x40543620, 0x1c5f: 0x40543820, + 0x1c60: 0x40543a20, 0x1c61: 0x40543c20, 0x1c62: 0x40543e20, 0x1c63: 0x40544020, + 0x1c64: 0x40544220, 0x1c65: 0x40544420, 0x1c66: 0x40544620, 0x1c67: 0x40544820, + 0x1c68: 0x40544a20, 0x1c69: 0x40544c20, 0x1c6a: 0x40544e20, 0x1c6b: 0x40545020, + 0x1c6c: 0x40545220, 0x1c6d: 0x40545420, 0x1c6e: 0x40545620, 0x1c6f: 0x40545820, + 0x1c70: 0x40545a20, 0x1c71: 0x40545c20, 0x1c72: 0x40545e20, 0x1c73: 0x40546020, + 0x1c74: 0x40546220, 0x1c75: 0x40546420, 0x1c76: 0x40546620, 0x1c77: 0x40546820, + 0x1c78: 0x40546a20, 0x1c79: 0x40546c20, 0x1c7a: 0x40546e20, 0x1c7b: 0x40547020, + 0x1c7c: 0x40547220, 0x1c7d: 0x40547420, 0x1c7e: 0x40035820, 0x1c7f: 0x40035a20, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x4005d620, 0x1c81: 0x4005d820, 0x1c82: 0x4005da20, 0x1c83: 0x4005dc20, + 0x1c84: 0x4005de20, 0x1c85: 0x4005e020, 0x1c86: 0x4005e220, 0x1c87: 0x4005e420, + 0x1c90: 0xae600000, 0x1c91: 0xae600000, 0x1c92: 0xae600000, 0x1c93: 0xa0000000, + 0x1c94: 0xa0100000, 0x1c95: 0xadc00000, 0x1c96: 0xadc00000, 0x1c97: 0xadc00000, + 0x1c98: 0xadc00000, 0x1c99: 0xadc00000, 0x1c9a: 0xae600000, 0x1c9b: 0xae600000, + 0x1c9c: 0xadc00000, 0x1c9d: 0xadc00000, 0x1c9e: 0xadc00000, 0x1c9f: 0xadc00000, + 0x1ca0: 0xae600000, 0x1ca1: 0xa0000000, 0x1ca2: 0xa0100000, 0x1ca3: 0xa0100000, + 0x1ca4: 0xa0100000, 0x1ca5: 0xa0100000, 0x1ca6: 0xa0100000, 0x1ca7: 0xa0100000, + 0x1ca8: 0xa0100000, 0x1ca9: 0x40404020, 0x1caa: 0x00404084, 0x1cab: 0x00404084, + 0x1cac: 0x00404084, 0x1cad: 0xadc0f302, 0x1cae: 0x00404084, 0x1caf: 0x00404084, + 0x1cb0: 0x00404084, 0x1cb1: 0x00404084, 0x1cb2: 0xa000f402, 0x1cb3: 0xa000f402, + 0x1cb4: 0xae600000, 0x1cb5: 0x40404220, 0x1cb6: 0x40404420, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x402be620, 0x1cc1: 0x402bec20, 0x1cc2: 0x402bee20, 0x1cc3: 0x402c2420, + 0x1cc4: 0x402c4220, 0x1cc5: 0x402c6a20, 0x1cc6: 0x402c6c20, 0x1cc7: 0x402ca020, + 0x1cc8: 0x402ce620, 0x1cc9: 0x402db420, 0x1cca: 0x402ddc20, 0x1ccb: 0x402e0620, + 0x1ccc: 0x402e3420, 0x1ccd: 0x402e8a20, 0x1cce: 0x402eb020, 0x1ccf: 0x402eea20, + 0x1cd0: 0x402f0220, 0x1cd1: 0x402eec20, 0x1cd2: 0x402f0420, 0x1cd3: 0x402ef820, + 0x1cd4: 0x402ef620, 0x1cd5: 0x402f2a20, 0x1cd6: 0x402f0a20, 0x1cd7: 0x402f0c20, + 0x1cd8: 0x402f3420, 0x1cd9: 0x402f8c20, 0x1cda: 0x402fa020, 0x1cdb: 0x40303420, + 0x1cdc: 0x40307420, 0x1cdd: 0x40307620, 0x1cde: 0x40307820, 0x1cdf: 0x4030aa20, + 0x1ce0: 0x4030c620, 0x1ce1: 0x4030ea20, 0x1ce2: 0x40313220, 0x1ce3: 0x40316c20, + 0x1ce4: 0x4031f420, 0x1ce5: 0x4031f620, 0x1ce6: 0x40325820, 0x1ce7: 0x40327420, + 0x1ce8: 0x40328020, 0x1ce9: 0x40328a20, 0x1cea: 0x4032a020, 0x1ceb: 0x40348c20, + 0x1cec: 0x002bde9d, 0x1ced: 0xe00009e1, 0x1cee: 0x002c0a9d, 0x1cef: 0x402c2220, + 0x1cf0: 0x002c629d, 0x1cf1: 0x002c989d, 0x1cf2: 0x002cae9d, 0x1cf3: 0x002d229d, + 0x1cf4: 0x002d689d, 0x1cf5: 0x002d9a9d, 0x1cf6: 0x002dcc9d, 0x1cf7: 0x002dfe9d, + 0x1cf8: 0x002e229d, 0x1cf9: 0x002e829d, 0x1cfa: 0x002e9e9d, 0x1cfb: 0x402eae20, + 0x1cfc: 0x002ee29d, 0x1cfd: 0x002f229d, 0x1cfe: 0x002f2c9d, 0x1cff: 0x002f7a9d, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x00302c9d, 0x1d01: 0x00306c9d, 0x1d02: 0x0030e29d, 0x1d03: 0x002bde94, + 0x1d04: 0x002bf094, 0x1d05: 0x002bf894, 0x1d06: 0x002bee94, 0x1d07: 0x002c0a94, + 0x1d08: 0x002c6294, 0x1d09: 0x002c9894, 0x1d0a: 0x002cb894, 0x1d0b: 0x002cc294, + 0x1d0c: 0x002ce694, 0x1d0d: 0x002d2294, 0x1d0e: 0x002db494, 0x1d0f: 0x002dfe94, + 0x1d10: 0x002e8294, 0x1d11: 0x002eda94, 0x1d12: 0x002ee294, 0x1d13: 0x002efa94, + 0x1d14: 0x002f0a94, 0x1d15: 0x002f0c94, 0x1d16: 0x002f2c94, 0x1d17: 0x00302c94, + 0x1d18: 0x00306c94, 0x1d19: 0x00307694, 0x1d1a: 0x0030a094, 0x1d1b: 0x0030be94, + 0x1d1c: 0x0031f694, 0x1d1d: 0x00325494, 0x1d1e: 0x00325694, 0x1d1f: 0x00325a94, + 0x1d20: 0x00329a94, 0x1d21: 0x00329c94, 0x1d22: 0x002d9a95, 0x1d23: 0x002f7a95, + 0x1d24: 0x00306c95, 0x1d25: 0x0030be95, 0x1d26: 0x00325495, 0x1d27: 0x00325695, + 0x1d28: 0x00328895, 0x1d29: 0x00329a95, 0x1d2a: 0x00329c95, 0x1d2b: 0x40307a20, + 0x1d2c: 0x402c2620, 0x1d2d: 0x402c6e20, 0x1d2e: 0x402d1220, 0x1d2f: 0x402e8c20, + 0x1d30: 0x402eb220, 0x1d31: 0x402f3a20, 0x1d32: 0x402f9620, 0x1d33: 0x402fce20, + 0x1d34: 0x402ff020, 0x1d35: 0x40304020, 0x1d36: 0x40313c20, 0x1d37: 0x402d5420, + 0x1d38: 0x0034ba94, 0x1d39: 0xe0000bd9, 0x1d3a: 0xe0000fc1, 0x1d3b: 0x402dbe20, + 0x1d3c: 0x402dca20, 0x1d3d: 0x402f3620, 0x1d3e: 0x40308420, 0x1d3f: 0x4030bc20, + // Block 0x75, offset 0x1d40 + 0x1d40: 0x402c2820, 0x1d41: 0x402c7020, 0x1d42: 0x402d1420, 0x1d43: 0x402d4220, + 0x1d44: 0x402e0820, 0x1d45: 0x402e5220, 0x1d46: 0x402e8e20, 0x1d47: 0x402ec620, + 0x1d48: 0x402f3c20, 0x1d49: 0x402faa20, 0x1d4a: 0x402ff220, 0x1d4b: 0x40301020, + 0x1d4c: 0x4030ca20, 0x1d4d: 0x4030fe20, 0x1d4e: 0x40313e20, 0x1d4f: 0x402bea20, + 0x1d50: 0x402c0020, 0x1d51: 0x402c8220, 0x1d52: 0x402caa20, 0x1d53: 0x402cca20, + 0x1d54: 0x402ce420, 0x1d55: 0x402cc020, 0x1d56: 0x402dc020, 0x1d57: 0x402f0620, + 0x1d58: 0x40302220, 0x1d59: 0x40308620, 0x1d5a: 0x40317620, 0x1d5b: 0x002c0294, + 0x1d5c: 0x002c3a94, 0x1d5d: 0x002c5694, 0x1d5e: 0xf0001414, 0x1d5f: 0x002cdc94, + 0x1d60: 0x002d0894, 0x1d61: 0x002dee94, 0x1d62: 0x002d2a94, 0x1d63: 0x00308894, + 0x1d64: 0x002db694, 0x1d65: 0x002dc294, 0x1d66: 0x002daa94, 0x1d67: 0x002dbe94, + 0x1d68: 0x002de694, 0x1d69: 0x002e5494, 0x1d6a: 0x002e5294, 0x1d6b: 0x002e2a94, + 0x1d6c: 0x002e9094, 0x1d6d: 0x0030ac94, 0x1d6e: 0x002eb494, 0x1d6f: 0x002ec894, + 0x1d70: 0x002ea694, 0x1d71: 0x002f1094, 0x1d72: 0x002f4c94, 0x1d73: 0x002ff494, + 0x1d74: 0x00300894, 0x1d75: 0x00304294, 0x1d76: 0x00307c94, 0x1d77: 0x0030b494, + 0x1d78: 0x00307494, 0x1d79: 0x0030cc94, 0x1d7a: 0x0030da94, 0x1d7b: 0x00312a94, + 0x1d7c: 0x00314894, 0x1d7d: 0x00315094, 0x1d7e: 0x00316494, 0x1d7f: 0x00326a94, + // Block 0x76, offset 0x1d80 + 0x1d80: 0xae605f02, 0x1d81: 0xae605f02, 0x1d82: 0xadc06002, 0x1d83: 0xae605f02, + 0x1d84: 0xae605f02, 0x1d85: 0xae605f02, 0x1d86: 0xae605f02, 0x1d87: 0xae605f02, + 0x1d88: 0xae605f02, 0x1d89: 0xae605f02, 0x1d8a: 0x84dc17bd, 0x1d8b: 0xae605f02, + 0x1d8c: 0xae605f02, 0x1d8d: 0xaea05f02, 0x1d8e: 0xad605f02, 0x1d8f: 0xadc06002, + 0x1d90: 0xaca06002, 0x1d91: 0xae605f02, 0x1d92: 0x84e618d1, 0x1d93: 0xe00009b4, + 0x1d94: 0xe00009d9, 0x1d95: 0xe00009f9, 0x1d96: 0xe0000a08, 0x1d97: 0xe0000a50, + 0x1d98: 0xe0000ab6, 0x1d99: 0xe0000ab0, 0x1d9a: 0x84e61691, 0x1d9b: 0x84e61699, + 0x1d9c: 0x84e616ff, 0x1d9d: 0x84e61711, 0x1d9e: 0x84e61715, 0x1d9f: 0x84e61745, + 0x1da0: 0x84e6174f, 0x1da1: 0x84e61753, 0x1da2: 0x84e617c1, 0x1da3: 0x84e617c5, + 0x1da4: 0x84e617f3, 0x1da5: 0xe0000f67, 0x1da6: 0x84e61895, + 0x1dbc: 0xae906002, 0x1dbd: 0xadc06002, 0x1dbe: 0xae605f02, 0x1dbf: 0xadc06002, + // Block 0x77, offset 0x1dc0 + 0x1dc0: 0xe00009b1, 0x1dc1: 0xe00009ae, 0x1dc2: 0xe0000a22, 0x1dc3: 0xe0000a1f, + 0x1dc4: 0xe0000a28, 0x1dc5: 0xe0000a25, 0x1dc6: 0xe0000a2e, 0x1dc7: 0xe0000a2b, + 0x1dc8: 0xe0000a5a, 0x1dc9: 0xe0000a56, 0x1dca: 0xe0000a8c, 0x1dcb: 0xe0000a89, + 0x1dcc: 0xe0000a98, 0x1dcd: 0xe0000a95, 0x1dce: 0xe0000aa4, 0x1dcf: 0xe0000aa1, + 0x1dd0: 0xe0000a92, 0x1dd1: 0xe0000a8f, 0x1dd2: 0xe0000a9e, 0x1dd3: 0xe0000a9b, + 0x1dd4: 0xe0000b55, 0x1dd5: 0xe0000b51, 0x1dd6: 0xe0000b4d, 0x1dd7: 0xe0000b49, + 0x1dd8: 0xe0000b7c, 0x1dd9: 0xe0000b79, 0x1dda: 0xe0000b82, 0x1ddb: 0xe0000b7f, + 0x1ddc: 0xe0000b39, 0x1ddd: 0xe0000b35, 0x1dde: 0xe0000b8c, 0x1ddf: 0xe0000b89, + 0x1de0: 0xe0000bd0, 0x1de1: 0xe0000bcd, 0x1de2: 0xe0000c00, 0x1de3: 0xe0000bfd, + 0x1de4: 0xe0000c0c, 0x1de5: 0xe0000c09, 0x1de6: 0xe0000bfa, 0x1de7: 0xe0000bf7, + 0x1de8: 0xe0000c06, 0x1de9: 0xe0000c03, 0x1dea: 0xe0000c12, 0x1deb: 0xe0000c0f, + 0x1dec: 0xe0000c7e, 0x1ded: 0xe0000c7b, 0x1dee: 0xe0000c4a, 0x1def: 0xe0000c46, + 0x1df0: 0xe0000c93, 0x1df1: 0xe0000c90, 0x1df2: 0xe0000cab, 0x1df3: 0xe0000ca8, + 0x1df4: 0xe0000cb1, 0x1df5: 0xe0000cae, 0x1df6: 0xe0000cde, 0x1df7: 0xe0000cdb, + 0x1df8: 0xe0000ce5, 0x1df9: 0xe0000ce1, 0x1dfa: 0xe0000cf2, 0x1dfb: 0xe0000cef, + 0x1dfc: 0xe0000cec, 0x1dfd: 0xe0000ce9, 0x1dfe: 0xe0000d1e, 0x1dff: 0xe0000d1b, + // Block 0x78, offset 0x1e00 + 0x1e00: 0xe0000d24, 0x1e01: 0xe0000d21, 0x1e02: 0xe0000d2a, 0x1e03: 0xe0000d27, + 0x1e04: 0xe0000d69, 0x1e05: 0xe0000d66, 0x1e06: 0xe0000d7b, 0x1e07: 0xe0000d78, + 0x1e08: 0xe0000d87, 0x1e09: 0xe0000d84, 0x1e0a: 0xe0000d81, 0x1e0b: 0xe0000d7e, + 0x1e0c: 0xe0000ded, 0x1e0d: 0xe0000de9, 0x1e0e: 0xe0000df5, 0x1e0f: 0xe0000df1, + 0x1e10: 0xe0000e3d, 0x1e11: 0xe0000e39, 0x1e12: 0xe0000e35, 0x1e13: 0xe0000e31, + 0x1e14: 0xe0000ea7, 0x1e15: 0xe0000ea4, 0x1e16: 0xe0000ead, 0x1e17: 0xe0000eaa, + 0x1e18: 0xe0000ed6, 0x1e19: 0xe0000ed3, 0x1e1a: 0xe0000ef4, 0x1e1b: 0xe0000ef1, + 0x1e1c: 0xe0000efb, 0x1e1d: 0xe0000ef7, 0x1e1e: 0xe0000f02, 0x1e1f: 0xe0000eff, + 0x1e20: 0xe0000f41, 0x1e21: 0xe0000f3e, 0x1e22: 0xe0000f53, 0x1e23: 0xe0000f50, + 0x1e24: 0xe0000f26, 0x1e25: 0xe0000f22, 0x1e26: 0xe0000f3a, 0x1e27: 0xe0000f36, + 0x1e28: 0xe0000f5a, 0x1e29: 0xe0000f56, 0x1e2a: 0xe0000f93, 0x1e2b: 0xe0000f90, + 0x1e2c: 0xe0000f9f, 0x1e2d: 0xe0000f9c, 0x1e2e: 0xe0000fb1, 0x1e2f: 0xe0000fae, + 0x1e30: 0xe0000fab, 0x1e31: 0xe0000fa8, 0x1e32: 0xe0001093, 0x1e33: 0xe0001090, + 0x1e34: 0xe000109f, 0x1e35: 0xe000109c, 0x1e36: 0xe0001099, 0x1e37: 0xe0001096, + 0x1e38: 0xe0001032, 0x1e39: 0xe000102e, 0x1e3a: 0xe0001046, 0x1e3b: 0xe0001042, + 0x1e3c: 0xe00010a9, 0x1e3d: 0xe00010a6, 0x1e3e: 0xe00010af, 0x1e3f: 0xe00010ac, + // Block 0x79, offset 0x1e40 + 0x1e40: 0xe00010d2, 0x1e41: 0xe00010cf, 0x1e42: 0xe00010cc, 0x1e43: 0xe00010c9, + 0x1e44: 0xe00010e1, 0x1e45: 0xe00010de, 0x1e46: 0xe00010e7, 0x1e47: 0xe00010e4, + 0x1e48: 0xe00010ed, 0x1e49: 0xe00010ea, 0x1e4a: 0xe00010fc, 0x1e4b: 0xe00010f9, + 0x1e4c: 0xe00010f6, 0x1e4d: 0xe00010f3, 0x1e4e: 0xe0001123, 0x1e4f: 0xe0001120, + 0x1e50: 0xe0001141, 0x1e51: 0xe000113e, 0x1e52: 0xe0001153, 0x1e53: 0xe0001150, + 0x1e54: 0xe0001159, 0x1e55: 0xe0001156, 0x1e56: 0xe0000c15, 0x1e57: 0xe0000f8d, + 0x1e58: 0xe00010db, 0x1e59: 0xe0001111, 0x1e5a: 0xf0000404, 0x1e5b: 0xe0000f70, + 0x1e5c: 0x40300420, 0x1e5d: 0x40300620, 0x1e5e: 0xe0000f7f, 0x1e5f: 0x402c9620, + 0x1e60: 0xe000099b, 0x1e61: 0xe0000998, 0x1e62: 0xe0000989, 0x1e63: 0xe0000986, + 0x1e64: 0xe0000928, 0x1e65: 0xe0000924, 0x1e66: 0xe0000930, 0x1e67: 0xe000092c, + 0x1e68: 0xe0000940, 0x1e69: 0xe000093c, 0x1e6a: 0xe0000938, 0x1e6b: 0xe0000934, + 0x1e6c: 0xe00009aa, 0x1e6d: 0xe00009a6, 0x1e6e: 0xe0000902, 0x1e6f: 0xe00008fe, + 0x1e70: 0xe000090a, 0x1e71: 0xe0000906, 0x1e72: 0xe000091a, 0x1e73: 0xe0000916, + 0x1e74: 0xe0000912, 0x1e75: 0xe000090e, 0x1e76: 0xe00009a2, 0x1e77: 0xe000099e, + 0x1e78: 0xe0000b6e, 0x1e79: 0xe0000b6b, 0x1e7a: 0xe0000b5c, 0x1e7b: 0xe0000b59, + 0x1e7c: 0xe0000b26, 0x1e7d: 0xe0000b23, 0x1e7e: 0xe0000afb, 0x1e7f: 0xe0000af7, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0xe0000b03, 0x1e81: 0xe0000aff, 0x1e82: 0xe0000b13, 0x1e83: 0xe0000b0f, + 0x1e84: 0xe0000b0b, 0x1e85: 0xe0000b07, 0x1e86: 0xe0000b75, 0x1e87: 0xe0000b71, + 0x1e88: 0xe0000c66, 0x1e89: 0xe0000c63, 0x1e8a: 0xe0000c78, 0x1e8b: 0xe0000c75, + 0x1e8c: 0xe0000e84, 0x1e8d: 0xe0000e81, 0x1e8e: 0xe0000e44, 0x1e8f: 0xe0000e41, + 0x1e90: 0xe0000dad, 0x1e91: 0xe0000da9, 0x1e92: 0xe0000db5, 0x1e93: 0xe0000db1, + 0x1e94: 0xe0000dc5, 0x1e95: 0xe0000dc1, 0x1e96: 0xe0000dbd, 0x1e97: 0xe0000db9, + 0x1e98: 0xe0000e8b, 0x1e99: 0xe0000e87, 0x1e9a: 0xe0000e5d, 0x1e9b: 0xe0000e59, + 0x1e9c: 0xe0000e65, 0x1e9d: 0xe0000e61, 0x1e9e: 0xe0000e75, 0x1e9f: 0xe0000e71, + 0x1ea0: 0xe0000e6d, 0x1ea1: 0xe0000e69, 0x1ea2: 0xe0000e7d, 0x1ea3: 0xe0000e79, + 0x1ea4: 0xe000108d, 0x1ea5: 0xe000108a, 0x1ea6: 0xe000104d, 0x1ea7: 0xe000104a, + 0x1ea8: 0xe0001066, 0x1ea9: 0xe0001062, 0x1eaa: 0xe000106e, 0x1eab: 0xe000106a, + 0x1eac: 0xe000107e, 0x1ead: 0xe000107a, 0x1eae: 0xe0001076, 0x1eaf: 0xe0001072, + 0x1eb0: 0xe0001086, 0x1eb1: 0xe0001082, 0x1eb2: 0xe0001108, 0x1eb3: 0xe0001105, + 0x1eb4: 0xe0001135, 0x1eb5: 0xe0001132, 0x1eb6: 0xe000112f, 0x1eb7: 0xe000112c, + 0x1eb8: 0xe000111d, 0x1eb9: 0xe000111a, 0x1eba: 0xe0000d0a, 0x1ebb: 0xe0000d07, + 0x1ebc: 0x0030d888, 0x1ebd: 0x4030d820, 0x1ebe: 0x00312088, 0x1ebf: 0x40312020, + // Block 0x7b, offset 0x1ec0 + 0x1ec0: 0xe0001165, 0x1ec1: 0xe00011a9, 0x1ec2: 0xe000117d, 0x1ec3: 0xe00011c1, + 0x1ec4: 0xe000116b, 0x1ec5: 0xe00011af, 0x1ec6: 0xe000118f, 0x1ec7: 0xe00011d3, + 0x1ec8: 0xe0001168, 0x1ec9: 0xe00011ac, 0x1eca: 0xe0001181, 0x1ecb: 0xe00011c5, + 0x1ecc: 0xe000116f, 0x1ecd: 0xe00011b3, 0x1ece: 0xe0001193, 0x1ecf: 0xe00011d7, + 0x1ed0: 0xe000121a, 0x1ed1: 0xe0001230, 0x1ed2: 0xe0001228, 0x1ed3: 0xe000123e, + 0x1ed4: 0xe0001220, 0x1ed5: 0xe0001236, + 0x1ed8: 0xe000121d, 0x1ed9: 0xe0001233, 0x1eda: 0xe000122c, 0x1edb: 0xe0001242, + 0x1edc: 0xe0001224, 0x1edd: 0xe000123a, + 0x1ee0: 0xe0001252, 0x1ee1: 0xe0001296, 0x1ee2: 0xe000126a, 0x1ee3: 0xe00012ae, + 0x1ee4: 0xe0001258, 0x1ee5: 0xe000129c, 0x1ee6: 0xe000127c, 0x1ee7: 0xe00012c0, + 0x1ee8: 0xe0001255, 0x1ee9: 0xe0001299, 0x1eea: 0xe000126e, 0x1eeb: 0xe00012b2, + 0x1eec: 0xe000125c, 0x1eed: 0xe00012a0, 0x1eee: 0xe0001280, 0x1eef: 0xe00012c4, + 0x1ef0: 0xe00012fb, 0x1ef1: 0xe0001319, 0x1ef2: 0xe0001309, 0x1ef3: 0xe0001327, + 0x1ef4: 0xe0001301, 0x1ef5: 0xe000131f, 0x1ef6: 0xe0001311, 0x1ef7: 0xe000132f, + 0x1ef8: 0xe00012fe, 0x1ef9: 0xe000131c, 0x1efa: 0xe000130d, 0x1efb: 0xe000132b, + 0x1efc: 0xe0001305, 0x1efd: 0xe0001323, 0x1efe: 0xe0001315, 0x1eff: 0xe0001333, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0xe000136c, 0x1f01: 0xe0001382, 0x1f02: 0xe000137a, 0x1f03: 0xe0001390, + 0x1f04: 0xe0001372, 0x1f05: 0xe0001388, + 0x1f08: 0xe000136f, 0x1f09: 0xe0001385, 0x1f0a: 0xe000137e, 0x1f0b: 0xe0001394, + 0x1f0c: 0xe0001376, 0x1f0d: 0xe000138c, + 0x1f10: 0xe00013ad, 0x1f11: 0xe00013bc, 0x1f12: 0xe00013b4, 0x1f13: 0xe00013ca, + 0x1f14: 0xe00013b0, 0x1f15: 0xe00013c2, 0x1f16: 0xe00013b8, 0x1f17: 0xe00013d2, + 0x1f19: 0xe00013bf, 0x1f1b: 0xe00013ce, + 0x1f1d: 0xe00013c6, 0x1f1f: 0xe00013d6, + 0x1f20: 0xe0001407, 0x1f21: 0xe000144b, 0x1f22: 0xe000141f, 0x1f23: 0xe0001463, + 0x1f24: 0xe000140d, 0x1f25: 0xe0001451, 0x1f26: 0xe0001431, 0x1f27: 0xe0001475, + 0x1f28: 0xe000140a, 0x1f29: 0xe000144e, 0x1f2a: 0xe0001423, 0x1f2b: 0xe0001467, + 0x1f2c: 0xe0001411, 0x1f2d: 0xe0001455, 0x1f2e: 0xe0001435, 0x1f2f: 0xe0001479, + 0x1f30: 0xe00011f7, 0x1f31: 0xe00011ed, 0x1f32: 0xe000124c, 0x1f33: 0xe0001246, + 0x1f34: 0xe00012e4, 0x1f35: 0xe00012da, 0x1f36: 0xe000133d, 0x1f37: 0xe0001337, + 0x1f38: 0xe000139e, 0x1f39: 0xe0001398, 0x1f3a: 0xe00013e0, 0x1f3b: 0xe00013da, + 0x1f3c: 0xe0001499, 0x1f3d: 0xe000148f, + // Block 0x7d, offset 0x1f40 + 0x1f40: 0xe00011a1, 0x1f41: 0xe00011e5, 0x1f42: 0xe0001185, 0x1f43: 0xe00011c9, + 0x1f44: 0xe0001173, 0x1f45: 0xe00011b7, 0x1f46: 0xe0001197, 0x1f47: 0xe00011db, + 0x1f48: 0xe00011a5, 0x1f49: 0xe00011e9, 0x1f4a: 0xe000118a, 0x1f4b: 0xe00011ce, + 0x1f4c: 0xe0001178, 0x1f4d: 0xe00011bc, 0x1f4e: 0xe000119c, 0x1f4f: 0xe00011e0, + 0x1f50: 0xe000128e, 0x1f51: 0xe00012d2, 0x1f52: 0xe0001272, 0x1f53: 0xe00012b6, + 0x1f54: 0xe0001260, 0x1f55: 0xe00012a4, 0x1f56: 0xe0001284, 0x1f57: 0xe00012c8, + 0x1f58: 0xe0001292, 0x1f59: 0xe00012d6, 0x1f5a: 0xe0001277, 0x1f5b: 0xe00012bb, + 0x1f5c: 0xe0001265, 0x1f5d: 0xe00012a9, 0x1f5e: 0xe0001289, 0x1f5f: 0xe00012cd, + 0x1f60: 0xe0001443, 0x1f61: 0xe0001487, 0x1f62: 0xe0001427, 0x1f63: 0xe000146b, + 0x1f64: 0xe0001415, 0x1f65: 0xe0001459, 0x1f66: 0xe0001439, 0x1f67: 0xe000147d, + 0x1f68: 0xe0001447, 0x1f69: 0xe000148b, 0x1f6a: 0xe000142c, 0x1f6b: 0xe0001470, + 0x1f6c: 0xe000141a, 0x1f6d: 0xe000145e, 0x1f6e: 0xe000143e, 0x1f6f: 0xe0001482, + 0x1f70: 0xe0001201, 0x1f71: 0xe000120e, 0x1f72: 0xe00011fd, 0x1f73: 0xe0001214, + 0x1f74: 0xe00011f3, 0x1f76: 0xe0001207, 0x1f77: 0xe000120a, + 0x1f78: 0xe0001204, 0x1f79: 0xe0001211, 0x1f7a: 0xe00011fa, 0x1f7b: 0xe00011f0, + 0x1f7c: 0xe0001217, 0x1f7d: 0x40063620, 0x1f7e: 0x40326c20, 0x1f7f: 0x40063620, + // Block 0x7e, offset 0x1f80 + 0x1f80: 0x40063a20, 0x1f81: 0xe00000b1, 0x1f82: 0xe00012ea, 0x1f83: 0xe00012f5, + 0x1f84: 0xe00012e0, 0x1f86: 0xe00012ee, 0x1f87: 0xe00012f1, + 0x1f88: 0xe000124f, 0x1f89: 0xe0001249, 0x1f8a: 0xe00012e7, 0x1f8b: 0xe00012dd, + 0x1f8c: 0xe00012f8, 0x1f8d: 0xe00000b7, 0x1f8e: 0xe00000b4, 0x1f8f: 0xe00000ba, + 0x1f90: 0xe0001343, 0x1f91: 0xe000135e, 0x1f92: 0xe0001356, 0x1f93: 0xe0001352, + 0x1f96: 0xe0001349, 0x1f97: 0xe000135a, + 0x1f98: 0xe0001346, 0x1f99: 0xe0001361, 0x1f9a: 0xe0001340, 0x1f9b: 0xe000133a, + 0x1f9d: 0xe00000c0, 0x1f9e: 0xe00000bd, 0x1f9f: 0xe00000c3, + 0x1fa0: 0xe00013e6, 0x1fa1: 0xe0001401, 0x1fa2: 0xe00013f9, 0x1fa3: 0xe00013f5, + 0x1fa4: 0xe00013a4, 0x1fa5: 0xe00013a7, 0x1fa6: 0xe00013ec, 0x1fa7: 0xe00013fd, + 0x1fa8: 0xe00013e9, 0x1fa9: 0xe0001404, 0x1faa: 0xe00013e3, 0x1fab: 0xe00013dd, + 0x1fac: 0xe00013aa, 0x1fad: 0xe00000ae, 0x1fae: 0xe00000ab, 0x1faf: 0x40061e20, + 0x1fb2: 0xe000149f, 0x1fb3: 0xe00014aa, + 0x1fb4: 0xe0001495, 0x1fb6: 0xe00014a3, 0x1fb7: 0xe00014a6, + 0x1fb8: 0xe00013a1, 0x1fb9: 0xe000139b, 0x1fba: 0xe000149c, 0x1fbb: 0xe0001492, + 0x1fbc: 0xe00014ad, 0x1fbd: 0x40062020, 0x1fbe: 0x40063820, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x00021284, 0x1fc1: 0x00021284, 0x1fc2: 0x00021284, 0x1fc3: 0x00021284, + 0x1fc4: 0x00021284, 0x1fc5: 0x00021284, 0x1fc6: 0x00021284, 0x1fc7: 0x0002129b, + 0x1fc8: 0x00021284, 0x1fc9: 0x00021284, 0x1fca: 0x00021284, 0x1fcb: 0xa0000000, + 0x1fcc: 0xa0000000, 0x1fcd: 0xa0000000, 0x1fce: 0xa0000000, 0x1fcf: 0xa0000000, + 0x1fd0: 0x40022620, 0x1fd1: 0x0002269b, 0x1fd2: 0x40022820, 0x1fd3: 0x40022a20, + 0x1fd4: 0x40022c20, 0x1fd5: 0x40022e20, 0x1fd6: 0x4004c420, 0x1fd7: 0x40021820, + 0x1fd8: 0x4003d420, 0x1fd9: 0x4003d620, 0x1fda: 0x4003d820, 0x1fdb: 0x4003da20, + 0x1fdc: 0x4003e220, 0x1fdd: 0x4003e420, 0x1fde: 0x4003e620, 0x1fdf: 0x4003e820, + 0x1fe0: 0x4004f820, 0x1fe1: 0x4004fa20, 0x1fe2: 0x40050220, 0x1fe3: 0x40050420, + 0x1fe4: 0x0002e484, 0x1fe5: 0xf0001f04, 0x1fe6: 0xf0000404, 0x1fe7: 0x40050620, + 0x1fe8: 0x40020e20, 0x1fe9: 0x40021020, 0x1fea: 0xa0000000, 0x1feb: 0xa0000000, + 0x1fec: 0xa0000000, 0x1fed: 0xa0000000, 0x1fee: 0xa0000000, 0x1fef: 0x0002129b, + 0x1ff0: 0x4004f020, 0x1ff1: 0x4004f420, 0x1ff2: 0x40050e20, 0x1ff3: 0xf0001f04, + 0x1ff4: 0xf0000404, 0x1ff5: 0x40051020, 0x1ff6: 0xf0001f04, 0x1ff7: 0xf0000404, + 0x1ff8: 0x40051620, 0x1ff9: 0x4003dc20, 0x1ffa: 0x4003de20, 0x1ffb: 0x40051820, + 0x1ffc: 0xf0001f04, 0x1ffd: 0x4002e020, 0x1ffe: 0x40021420, 0x1fff: 0x40051a20, + // Block 0x80, offset 0x2000 + 0x2000: 0x40051e20, 0x2001: 0x40052220, 0x2002: 0x40052420, 0x2003: 0x40050820, + 0x2004: 0x40095820, 0x2005: 0x40040c20, 0x2006: 0x40040e20, 0x2007: 0xf0001f04, + 0x2008: 0xf0001f04, 0x2009: 0xf0001f04, 0x200a: 0x4004e820, 0x200b: 0x4004d420, + 0x200c: 0x40050a20, 0x200d: 0x40050c20, 0x200e: 0x4004da20, 0x200f: 0x40026620, + 0x2010: 0x40052020, 0x2011: 0x4004dc20, 0x2012: 0x40095020, 0x2013: 0x40023420, + 0x2014: 0x40051c20, 0x2015: 0x40039c20, 0x2016: 0x40039e20, 0x2017: 0xe00000a6, + 0x2018: 0x4003a020, 0x2019: 0x4003a220, 0x201a: 0x4003a420, 0x201b: 0x4003a620, + 0x201c: 0x4003a820, 0x201d: 0x4003aa20, 0x201e: 0x4003ac20, 0x201f: 0x00021284, + 0x2020: 0xa0000000, 0x2021: 0xa0000000, 0x2022: 0xa0000000, 0x2023: 0xa0000000, + 0x2024: 0xa0000000, + 0x202a: 0xa0000000, 0x202b: 0xa0000000, + 0x202c: 0xa0000000, 0x202d: 0xa0000000, 0x202e: 0xa0000000, 0x202f: 0xa0000000, + 0x2030: 0x0029cc94, 0x2031: 0x002d9a94, + 0x2034: 0x0029d494, 0x2035: 0x0029d694, 0x2036: 0x0029d894, 0x2037: 0x0029da94, + 0x2038: 0x0029dc94, 0x2039: 0x0029de94, 0x203a: 0x00093894, 0x203b: 0x00094e94, + 0x203c: 0x00094294, 0x203d: 0x0003f494, 0x203e: 0x0003f694, 0x203f: 0x002e9e94, + // Block 0x81, offset 0x2040 + 0x2040: 0x0029cc95, 0x2041: 0x0029ce95, 0x2042: 0x0029d095, 0x2043: 0x0029d295, + 0x2044: 0x0029d495, 0x2045: 0x0029d695, 0x2046: 0x0029d895, 0x2047: 0x0029da95, + 0x2048: 0x0029dc95, 0x2049: 0x0029de95, 0x204a: 0x00093895, 0x204b: 0x00094e95, + 0x204c: 0x00094295, 0x204d: 0x0003f495, 0x204e: 0x0003f695, + 0x2050: 0x002bde95, 0x2051: 0x002c9895, 0x2052: 0x002ee295, 0x2053: 0x0030f695, + 0x2054: 0x002cb895, 0x2055: 0x002d6895, 0x2056: 0x002dfe95, 0x2057: 0x002e2295, + 0x2058: 0x002e8295, 0x2059: 0x002e9e95, 0x205a: 0x002f2c95, 0x205b: 0x002fe695, + 0x205c: 0x00302c95, + 0x2060: 0x4027f820, 0x2061: 0x4027fa20, 0x2062: 0x4027fc20, 0x2063: 0x4027fe20, + 0x2064: 0x40280020, 0x2065: 0x40280220, 0x2066: 0x40280420, 0x2067: 0x40280620, + 0x2068: 0x40282c20, 0x2069: 0x40280820, 0x206a: 0x40280a20, 0x206b: 0x40280c20, + 0x206c: 0x40280e20, 0x206d: 0x40281020, 0x206e: 0x40281220, 0x206f: 0x40281420, + 0x2070: 0x40281620, 0x2071: 0x40281820, 0x2072: 0x40281a20, 0x2073: 0x40281c20, + 0x2074: 0x40281e20, 0x2075: 0x40282020, 0x2076: 0x40282220, 0x2077: 0x40282420, + 0x2078: 0x40282620, 0x2079: 0x40282820, 0x207a: 0x40282a20, + // Block 0x82, offset 0x2080 + 0x2090: 0xae612a02, 0x2091: 0xae612b02, 0x2092: 0xa0112c02, 0x2093: 0xa0112c02, + 0x2094: 0xae612d02, 0x2095: 0xae612e02, 0x2096: 0xae612f02, 0x2097: 0xae613002, + 0x2098: 0xa0106102, 0x2099: 0xa0106102, 0x209a: 0xa0106102, 0x209b: 0xae613102, + 0x209c: 0xae613202, 0x209d: 0xa0006202, 0x209e: 0xa0006202, 0x209f: 0xa0006202, + 0x20a0: 0xa0006202, 0x20a1: 0xae613302, 0x20a2: 0xa0006202, 0x20a3: 0xa0006202, + 0x20a4: 0xa0006202, 0x20a5: 0xa0106102, 0x20a6: 0xa0113402, 0x20a7: 0xae613502, + 0x20a8: 0xadc13602, 0x20a9: 0xae613702, 0x20aa: 0xa0106102, 0x20ab: 0xa0106102, + 0x20ac: 0xadc06002, 0x20ad: 0xadc06002, 0x20ae: 0xadc06002, 0x20af: 0xadc06002, + 0x20b0: 0xae605f02, + // Block 0x83, offset 0x20c0 + 0x20c0: 0xe00009bc, 0x20c1: 0xe00009c0, 0x20c2: 0x002c3a8b, 0x20c3: 0xf0000a04, + 0x20c4: 0x40081c20, 0x20c5: 0xe0000a5e, 0x20c6: 0xe0000a62, 0x20c7: 0x002cc28a, + 0x20c8: 0x40081e20, 0x20c9: 0xf0000a04, 0x20ca: 0x002d2285, 0x20cb: 0x002d688b, + 0x20cc: 0x002d688b, 0x20cd: 0x002d688b, 0x20ce: 0x002d6885, 0x20cf: 0xf0000202, + 0x20d0: 0x002d9a8b, 0x20d1: 0x002d9a8b, 0x20d2: 0x002e228b, 0x20d3: 0x002e2285, + 0x20d4: 0x40082020, 0x20d5: 0x002e9e8b, 0x20d6: 0xf000040a, 0x20d7: 0x40082220, + 0x20d8: 0x40082420, 0x20d9: 0x002f2c8b, 0x20da: 0x002f568b, 0x20db: 0x002f7a8b, + 0x20dc: 0x002f7a8b, 0x20dd: 0x002f7a8b, 0x20de: 0x40082620, 0x20df: 0x40082820, + 0x20e0: 0xf0001414, 0x20e1: 0xe0000fbd, 0x20e2: 0xf0001414, 0x20e3: 0x40082a20, + 0x20e4: 0x00312a8b, 0x20e5: 0x40082c20, 0x20e6: 0x0032a288, 0x20e7: 0x40082e20, + 0x20e8: 0x00312a8b, 0x20e9: 0x40083020, 0x20ea: 0x002dfe88, 0x20eb: 0xe000094d, + 0x20ec: 0x002c0a8b, 0x20ed: 0x002c3a8b, 0x20ee: 0x40083220, 0x20ef: 0x002c9885, + 0x20f0: 0x002c988b, 0x20f1: 0x002d088b, 0x20f2: 0x002d1e88, 0x20f3: 0x002e828b, + 0x20f4: 0x002ee285, 0x20f5: 0x00389084, 0x20f6: 0x00389284, 0x20f7: 0x00389484, + 0x20f8: 0x00389684, 0x20f9: 0x002d9a85, 0x20fa: 0x40083420, 0x20fb: 0xe0000b95, + 0x20fc: 0x00327e85, 0x20fd: 0x00325685, 0x20fe: 0x0032568b, 0x20ff: 0x00327e8b, + // Block 0x84, offset 0x2100 + 0x2100: 0x00093685, 0x2101: 0x40083620, 0x2102: 0x40083820, 0x2103: 0x40083a20, + 0x2104: 0x40083c20, 0x2105: 0x002c628b, 0x2106: 0x002c6285, 0x2107: 0x002c9885, + 0x2108: 0x002d9a85, 0x2109: 0x002dcc85, 0x210a: 0x40083e20, 0x210b: 0x400a6e20, + 0x210c: 0x40084020, 0x210d: 0xe00009c4, 0x210e: 0x402d1e20, 0x210f: 0x40084220, + 0x2110: 0xe00002cb, 0x2111: 0xe00002d3, 0x2112: 0xe00002b2, 0x2113: 0xe00002bb, + 0x2114: 0xe00003cd, 0x2115: 0xe00002c3, 0x2116: 0xe00003d1, 0x2117: 0xe00004ab, + 0x2118: 0xe0000579, 0x2119: 0xe00002c7, 0x211a: 0xe0000640, 0x211b: 0xe00002cf, + 0x211c: 0xe00004af, 0x211d: 0xe0000644, 0x211e: 0xe0000798, 0x211f: 0xf0001e1e, + 0x2120: 0x002d9a8a, 0x2121: 0xf0001f0a, 0x2122: 0xf0000a0a, 0x2123: 0xf0001f0a, + 0x2124: 0x0030be8a, 0x2125: 0xf0001f0a, 0x2126: 0xf0000a0a, 0x2127: 0xe00010bb, + 0x2128: 0xf0001f0a, 0x2129: 0x0030f68a, 0x212a: 0xf0001f0a, 0x212b: 0xf0000a0a, + 0x212c: 0x002e228a, 0x212d: 0x002c3a8a, 0x212e: 0x002c628a, 0x212f: 0x002e828a, + 0x2130: 0x002d9a84, 0x2131: 0xf0001f04, 0x2132: 0xf0000404, 0x2133: 0xf0001f04, + 0x2134: 0x0030be84, 0x2135: 0xf0001f04, 0x2136: 0xf0000404, 0x2137: 0xe00010b6, + 0x2138: 0xf0001f04, 0x2139: 0x0030f684, 0x213a: 0xf0001f04, 0x213b: 0xf0000404, + 0x213c: 0x002e2284, 0x213d: 0x002c3a84, 0x213e: 0x002c6284, 0x213f: 0x002e8284, + // Block 0x85, offset 0x2140 + 0x2140: 0x40287c20, 0x2141: 0x40287e20, 0x2142: 0x40288020, 0x2143: 0x002c5e88, + 0x2144: 0x402c5e20, 0x2145: 0xe00006c9, 0x2146: 0x40288220, 0x2147: 0x40288420, + 0x2148: 0x40288620, 0x2149: 0xe00001e2, + 0x2150: 0x40084420, 0x2151: 0x40084820, 0x2152: 0x40084620, 0x2153: 0x40084a20, + 0x2154: 0x40084c20, 0x2155: 0x40084e20, 0x2156: 0x40085020, 0x2157: 0x40085220, + 0x2158: 0x40085420, 0x2159: 0x40085620, 0x215a: 0xe00000c6, 0x215b: 0xe00000c9, + 0x215c: 0x40085820, 0x215d: 0x40085a20, 0x215e: 0x40085c20, 0x215f: 0x40085e20, + 0x2160: 0x40086020, 0x2161: 0x40086220, 0x2162: 0x40086420, 0x2163: 0x40086620, + 0x2164: 0x40086820, 0x2165: 0x40086a20, 0x2166: 0x40086c20, 0x2167: 0x40086e20, + 0x2168: 0x40087020, 0x2169: 0x40087220, 0x216a: 0x40087420, 0x216b: 0x40087620, + 0x216c: 0x40087820, 0x216d: 0x40087a20, 0x216e: 0xe00000cc, 0x216f: 0x40087c20, + 0x2170: 0x40087e20, 0x2171: 0x40088020, 0x2172: 0x40088220, 0x2173: 0x40088420, + 0x2174: 0x40088620, 0x2175: 0x40088820, 0x2176: 0x40088a20, 0x2177: 0x40088c20, + 0x2178: 0x40088e20, 0x2179: 0x40089020, 0x217a: 0x40089220, 0x217b: 0x40089420, + 0x217c: 0x40089620, 0x217d: 0x40089820, 0x217e: 0x40089a20, 0x217f: 0x40089c20, + // Block 0x86, offset 0x2180 + 0x2180: 0x40089e20, 0x2181: 0x4008a020, 0x2182: 0x4008a220, 0x2183: 0x4008a420, + 0x2184: 0x4008a620, 0x2185: 0x4008a820, 0x2186: 0x4008aa20, 0x2187: 0x4008ac20, + 0x2188: 0x4008ae20, 0x2189: 0x4008b020, 0x218a: 0x4008b220, 0x218b: 0x4008b420, + 0x218c: 0x4008b620, 0x218d: 0xe00000cf, 0x218e: 0xe00000d5, 0x218f: 0xe00000d2, + 0x2190: 0x4008b820, 0x2191: 0x4008ba20, 0x2192: 0x4008bc20, 0x2193: 0x4008be20, + 0x2194: 0x4008c020, 0x2195: 0x4008c220, 0x2196: 0x4008c420, 0x2197: 0x4008c620, + 0x2198: 0x4008c820, 0x2199: 0x4008ca20, 0x219a: 0x4008cc20, 0x219b: 0x4008ce20, + 0x219c: 0x4008d020, 0x219d: 0x4008d220, 0x219e: 0x4008d420, 0x219f: 0x4008d620, + 0x21a0: 0x4008d820, 0x21a1: 0x4008da20, 0x21a2: 0x4008dc20, 0x21a3: 0x4008de20, + 0x21a4: 0x4008e020, 0x21a5: 0x4008e220, 0x21a6: 0x4008e420, 0x21a7: 0x4008e620, + 0x21a8: 0x4008e820, 0x21a9: 0x4008ea20, 0x21aa: 0x4008ec20, 0x21ab: 0x4008ee20, + 0x21ac: 0x4008f020, 0x21ad: 0x4008f220, 0x21ae: 0x4008f420, 0x21af: 0x4008f620, + 0x21b0: 0x4008f820, 0x21b1: 0x4008fa20, 0x21b2: 0x4008fc20, 0x21b3: 0x4008fe20, + 0x21b4: 0x40090020, 0x21b5: 0x40090220, 0x21b6: 0x40090420, 0x21b7: 0x40090620, + 0x21b8: 0x40090820, 0x21b9: 0x40090a20, 0x21ba: 0x40090c20, 0x21bb: 0x40090e20, + 0x21bc: 0x40091020, 0x21bd: 0x40091220, 0x21be: 0x40091420, 0x21bf: 0x40091620, + // Block 0x87, offset 0x21c0 + 0x21c0: 0x40091820, 0x21c1: 0x40091a20, 0x21c2: 0x40091c20, 0x21c3: 0x40091e20, + 0x21c4: 0xe00000d8, 0x21c5: 0x40092020, 0x21c6: 0x40092220, 0x21c7: 0x40092420, + 0x21c8: 0x40092620, 0x21c9: 0xe00000db, 0x21ca: 0x40092820, 0x21cb: 0x40092a20, + 0x21cc: 0xe00000de, 0x21cd: 0x40092c20, 0x21ce: 0x40093020, 0x21cf: 0x40093220, + 0x21d0: 0x40093420, 0x21d1: 0x40093620, 0x21d2: 0x40094e20, 0x21d3: 0x40095220, + 0x21d4: 0x40095420, 0x21d5: 0x40095620, 0x21d6: 0x40095a20, 0x21d7: 0x40095c20, + 0x21d8: 0x40095e20, 0x21d9: 0x40096020, 0x21da: 0x40096220, 0x21db: 0x40096420, + 0x21dc: 0x40096820, 0x21dd: 0x40096c20, 0x21de: 0x40096e20, 0x21df: 0x40097020, + 0x21e0: 0x40097220, 0x21e1: 0x40097420, 0x21e2: 0x40097620, 0x21e3: 0x40097820, + 0x21e4: 0xe00000ea, 0x21e5: 0x40097a20, 0x21e6: 0xe00000ed, 0x21e7: 0x40097c20, + 0x21e8: 0x40097e20, 0x21e9: 0x40098020, 0x21ea: 0x40098220, 0x21eb: 0x40098420, + 0x21ec: 0xf0001f04, 0x21ed: 0xf0000404, 0x21ee: 0x40098620, 0x21ef: 0xf0001f04, + 0x21f0: 0xf0000404, 0x21f1: 0x40098820, 0x21f2: 0x40098a20, 0x21f3: 0x40098c20, + 0x21f4: 0x40098e20, 0x21f5: 0x40099020, 0x21f6: 0x40099220, 0x21f7: 0x40099420, + 0x21f8: 0x40099620, 0x21f9: 0x40099820, 0x21fa: 0x40099a20, 0x21fb: 0x40099c20, + 0x21fc: 0x40099e20, 0x21fd: 0x4009a020, 0x21fe: 0x4009a220, 0x21ff: 0x4009a420, + // Block 0x88, offset 0x2200 + 0x2200: 0x4009a620, 0x2201: 0xe00000f5, 0x2202: 0x4009a820, 0x2203: 0x4009aa20, + 0x2204: 0xe00000f8, 0x2205: 0x4009ac20, 0x2206: 0x4009ae20, 0x2207: 0xe00000fb, + 0x2208: 0x4009b020, 0x2209: 0xe00000fe, 0x220a: 0x4009b220, 0x220b: 0x4009b420, + 0x220c: 0x4009b620, 0x220d: 0x4009b820, 0x220e: 0x4009ba20, 0x220f: 0x4009bc20, + 0x2210: 0x4009be20, 0x2211: 0x4009c020, 0x2212: 0x4009c220, 0x2213: 0x4009c420, + 0x2214: 0x4009c620, 0x2215: 0x4009c820, 0x2216: 0x4009ca20, 0x2217: 0x4009cc20, + 0x2218: 0x4009ce20, 0x2219: 0x4009d020, 0x221a: 0x4009d220, 0x221b: 0x4009d420, + 0x221c: 0x4009d620, 0x221d: 0x4009d820, 0x221e: 0x4009da20, 0x221f: 0x4009dc20, + 0x2220: 0xe00000e4, 0x2221: 0x4009de20, 0x2222: 0xe0000104, 0x2223: 0x4009e020, + 0x2224: 0x4009e220, 0x2225: 0x4009e420, 0x2226: 0x4009e620, 0x2227: 0x4009e820, + 0x2228: 0x4009ea20, 0x2229: 0x4009ec20, 0x222a: 0x4009ee20, 0x222b: 0x4009f020, + 0x222c: 0x4009f220, 0x222d: 0xe0000101, 0x222e: 0xe00000e1, 0x222f: 0xe00000e7, + 0x2230: 0xe0000107, 0x2231: 0xe000010a, 0x2232: 0x4009f420, 0x2233: 0x4009f620, + 0x2234: 0xe000010d, 0x2235: 0xe0000110, 0x2236: 0x4009f820, 0x2237: 0x4009fa20, + 0x2238: 0xe0000113, 0x2239: 0xe0000116, 0x223a: 0x4009fc20, 0x223b: 0x4009fe20, + 0x223c: 0x400a0020, 0x223d: 0x400a0220, 0x223e: 0x400a0420, 0x223f: 0x400a0620, + // Block 0x89, offset 0x2240 + 0x2240: 0xe0000119, 0x2241: 0xe000011c, 0x2242: 0x400a0820, 0x2243: 0x400a0a20, + 0x2244: 0xe0000125, 0x2245: 0xe0000128, 0x2246: 0x400a0c20, 0x2247: 0x400a0e20, + 0x2248: 0xe000012b, 0x2249: 0xe000012e, 0x224a: 0x400a1020, 0x224b: 0x400a1220, + 0x224c: 0x400a1420, 0x224d: 0x400a1620, 0x224e: 0x400a1820, 0x224f: 0x400a1a20, + 0x2250: 0x400a1c20, 0x2251: 0x400a1e20, 0x2252: 0x400a2020, 0x2253: 0x400a2220, + 0x2254: 0x400a2420, 0x2255: 0x400a2620, 0x2256: 0x400a2820, 0x2257: 0x400a2a20, + 0x2258: 0x400a2c20, 0x2259: 0x400a2e20, 0x225a: 0x400a3020, 0x225b: 0x400a3220, + 0x225c: 0x400a3420, 0x225d: 0x400a3620, 0x225e: 0x400a3820, 0x225f: 0x400a3a20, + 0x2260: 0x400a3c20, 0x2261: 0x400a3e20, 0x2262: 0x400a4020, 0x2263: 0x400a4220, + 0x2264: 0x400a4420, 0x2265: 0x400a4620, 0x2266: 0x400a4820, 0x2267: 0x400a4a20, + 0x2268: 0x400a4c20, 0x2269: 0x400a4e20, 0x226a: 0x400a5020, 0x226b: 0x400a5220, + 0x226c: 0xe0000137, 0x226d: 0xe000013a, 0x226e: 0xe000013d, 0x226f: 0xe0000140, + 0x2270: 0x400a5420, 0x2271: 0x400a5620, 0x2272: 0x400a5820, 0x2273: 0x400a5a20, + 0x2274: 0x400a5c20, 0x2275: 0x400a5e20, 0x2276: 0x400a6020, 0x2277: 0x400a6220, + 0x2278: 0x400a6420, 0x2279: 0x400a6620, 0x227a: 0x400a6820, 0x227b: 0x400a6a20, + 0x227c: 0x400a6c20, 0x227d: 0x400a7020, 0x227e: 0x400a7220, 0x227f: 0x400a7420, + // Block 0x8a, offset 0x2280 + 0x2280: 0x400a7620, 0x2281: 0x400a7820, 0x2282: 0x400a7a20, 0x2283: 0x400a7c20, + 0x2284: 0x400a7e20, 0x2285: 0x400a8020, 0x2286: 0x400a8220, 0x2287: 0x400a8420, + 0x2288: 0x400a8620, 0x2289: 0x400a8820, 0x228a: 0x400a8a20, 0x228b: 0x400a8c20, + 0x228c: 0x400a8e20, 0x228d: 0x400a9020, 0x228e: 0x400a9220, 0x228f: 0x400a9420, + 0x2290: 0x400a9620, 0x2291: 0x400a9820, 0x2292: 0x400a9a20, 0x2293: 0x400a9c20, + 0x2294: 0x400a9e20, 0x2295: 0x400aa020, 0x2296: 0x400aa220, 0x2297: 0x400aa420, + 0x2298: 0x400aa620, 0x2299: 0x400aa820, 0x229a: 0x400aaa20, 0x229b: 0x400aac20, + 0x229c: 0x400aae20, 0x229d: 0x400ab020, 0x229e: 0x400ab220, 0x229f: 0x400ab420, + 0x22a0: 0xe000011f, 0x22a1: 0xe0000122, 0x22a2: 0xe0000131, 0x22a3: 0xe0000134, + 0x22a4: 0x400ab620, 0x22a5: 0x400ab820, 0x22a6: 0x400aba20, 0x22a7: 0x400abc20, + 0x22a8: 0x400abe20, 0x22a9: 0x400ac020, 0x22aa: 0xe0000143, 0x22ab: 0xe0000146, + 0x22ac: 0xe0000149, 0x22ad: 0xe000014c, 0x22ae: 0x400ac220, 0x22af: 0x400ac420, + 0x22b0: 0x400ac620, 0x22b1: 0x400ac820, 0x22b2: 0x400aca20, 0x22b3: 0x400acc20, + 0x22b4: 0x400ace20, 0x22b5: 0x400ad020, 0x22b6: 0x400ad220, 0x22b7: 0x400ad420, + 0x22b8: 0x400ad620, 0x22b9: 0x400ad820, 0x22ba: 0x400ada20, 0x22bb: 0x400adc20, + 0x22bc: 0x400ade20, 0x22bd: 0x400ae020, 0x22be: 0x400ae220, 0x22bf: 0x400ae420, + // Block 0x8b, offset 0x22c0 + 0x22c0: 0x400ae620, 0x22c1: 0x400ae820, 0x22c2: 0x400aea20, 0x22c3: 0x400aec20, + 0x22c4: 0x400aee20, 0x22c5: 0x400af020, 0x22c6: 0x400af220, 0x22c7: 0x400af420, + 0x22c8: 0x400af620, 0x22c9: 0x400af820, 0x22ca: 0x400afa20, 0x22cb: 0x400afc20, + 0x22cc: 0x400afe20, 0x22cd: 0x400b0020, 0x22ce: 0x400b0220, 0x22cf: 0x400b0420, + 0x22d0: 0x400b0620, 0x22d1: 0x400b0820, 0x22d2: 0x400b0a20, 0x22d3: 0x400b0c20, + 0x22d4: 0x400b0e20, 0x22d5: 0x400b1020, 0x22d6: 0x400b1220, 0x22d7: 0x400b1420, + 0x22d8: 0x400b1620, 0x22d9: 0x400b1820, 0x22da: 0x400b1a20, 0x22db: 0x400b1c20, + 0x22dc: 0x400b1e20, 0x22dd: 0x400b2020, 0x22de: 0x400b2220, 0x22df: 0x400b2420, + 0x22e0: 0x400b2620, 0x22e1: 0x400b2820, 0x22e2: 0x400b2a20, 0x22e3: 0x400b2c20, + 0x22e4: 0x400b2e20, 0x22e5: 0x400b3020, 0x22e6: 0x400b3220, 0x22e7: 0x400b3420, + 0x22e8: 0x400b3620, 0x22e9: 0x40049c20, 0x22ea: 0x40049e20, 0x22eb: 0x400b3820, + 0x22ec: 0x400b3a20, 0x22ed: 0x400b3c20, 0x22ee: 0x400b3e20, 0x22ef: 0x400b4020, + 0x22f0: 0x400b4220, 0x22f1: 0x400b4420, 0x22f2: 0x400b4620, 0x22f3: 0x400b4820, + 0x22f4: 0x400b4a20, 0x22f5: 0x400b4c20, 0x22f6: 0x400b4e20, 0x22f7: 0x400b5020, + 0x22f8: 0x400b5220, 0x22f9: 0x400b5420, 0x22fa: 0x400b5620, 0x22fb: 0x400b5820, + 0x22fc: 0x400b5a20, 0x22fd: 0x400b5c20, 0x22fe: 0x400b5e20, 0x22ff: 0x400b6020, + // Block 0x8c, offset 0x2300 + 0x2300: 0x400b6220, 0x2301: 0x400b6420, 0x2302: 0x400b6620, 0x2303: 0x400b6820, + 0x2304: 0x400b6a20, 0x2305: 0x400b6c20, 0x2306: 0x400b6e20, 0x2307: 0x400b7020, + 0x2308: 0x400b7220, 0x2309: 0x400b7420, 0x230a: 0x400b7620, 0x230b: 0x400b7820, + 0x230c: 0x400b7a20, 0x230d: 0x400b7c20, 0x230e: 0x400b7e20, 0x230f: 0x400b8020, + 0x2310: 0x400b8220, 0x2311: 0x400b8420, 0x2312: 0x400b8620, 0x2313: 0x400b8820, + 0x2314: 0x400b8a20, 0x2315: 0x400b8c20, 0x2316: 0x400b8e20, 0x2317: 0x400b9020, + 0x2318: 0x400b9220, 0x2319: 0x400b9420, 0x231a: 0x400b9620, 0x231b: 0x400b9820, + 0x231c: 0x400b9a20, 0x231d: 0x400b9c20, 0x231e: 0x400b9e20, 0x231f: 0x400ba020, + 0x2320: 0x400ba220, 0x2321: 0x400ba420, 0x2322: 0x400ba620, 0x2323: 0x400ba820, + 0x2324: 0x400baa20, 0x2325: 0x400bac20, 0x2326: 0x400bae20, 0x2327: 0x400bb020, + 0x2328: 0x400bb220, 0x2329: 0x400bb420, 0x232a: 0x400bb620, 0x232b: 0x400bb820, + 0x232c: 0x400bba20, 0x232d: 0x400bbc20, 0x232e: 0x400bbe20, 0x232f: 0x400bc020, + 0x2330: 0x400bc220, 0x2331: 0x400bc420, 0x2332: 0x400bc620, 0x2333: 0x400bc820, + 0x2334: 0x400bca20, 0x2335: 0x400bcc20, 0x2336: 0x400bce20, 0x2337: 0x400bd020, + 0x2338: 0x400bd220, 0x2339: 0x400bd420, 0x233a: 0x400bd620, 0x233b: 0x400bd820, + 0x233c: 0x400bda20, 0x233d: 0x400bdc20, 0x233e: 0x400bde20, 0x233f: 0x400be020, + // Block 0x8d, offset 0x2340 + 0x2340: 0x400be220, 0x2341: 0x400be420, 0x2342: 0x400be620, 0x2343: 0x400be820, + 0x2344: 0x400bea20, 0x2345: 0x400bec20, 0x2346: 0x400bee20, 0x2347: 0x400bf020, + 0x2348: 0x400bf220, 0x2349: 0x400bf420, 0x234a: 0x400bf620, 0x234b: 0x400bf820, + 0x234c: 0x400bfa20, 0x234d: 0x400bfc20, 0x234e: 0x400bfe20, 0x234f: 0x400c0020, + 0x2350: 0x400c0220, 0x2351: 0x400c0420, 0x2352: 0x400c0620, 0x2353: 0x400c0820, + 0x2354: 0x400c0a20, 0x2355: 0x400c0c20, 0x2356: 0x400c0e20, 0x2357: 0x400c1020, + 0x2358: 0x400c1220, 0x2359: 0x400c1420, 0x235a: 0x400c1620, 0x235b: 0x400c1820, + 0x235c: 0x400c1a20, 0x235d: 0x400c1c20, 0x235e: 0x400c1e20, 0x235f: 0x400c2020, + 0x2360: 0x400c2220, 0x2361: 0x400c2420, 0x2362: 0x400c2620, 0x2363: 0x400c2820, + 0x2364: 0x400c2a20, 0x2365: 0x400c2c20, 0x2366: 0x400c2e20, 0x2367: 0x400c3020, + 0x2368: 0x400c3220, 0x2369: 0x400c3420, 0x236a: 0x400c3620, 0x236b: 0x400c3820, + 0x236c: 0x400c3a20, 0x236d: 0x400c3c20, 0x236e: 0x400c3e20, 0x236f: 0x400c4020, + 0x2370: 0x400c4220, 0x2371: 0x400c4420, 0x2372: 0x400c4620, 0x2373: 0x400c4820, + 0x2374: 0x400c4a20, 0x2375: 0x400c4c20, 0x2376: 0x400c4e20, 0x2377: 0x400c5020, + 0x2378: 0x400c5220, 0x2379: 0x400c5420, 0x237a: 0x400c5620, 0x237b: 0x400c5820, + 0x237c: 0x400c5a20, 0x237d: 0x400c5c20, 0x237e: 0x400c5e20, 0x237f: 0x400c6020, + // Block 0x8e, offset 0x2380 + 0x2380: 0x400c6220, 0x2381: 0x400c6420, 0x2382: 0x400c6620, 0x2383: 0x400c6820, + 0x2384: 0x400c6a20, 0x2385: 0x400c6c20, 0x2386: 0x400c6e20, 0x2387: 0x400c7020, + 0x2388: 0x400c7220, 0x2389: 0x400c7420, 0x238a: 0x400c7620, 0x238b: 0x400c7820, + 0x238c: 0x400c7a20, 0x238d: 0x400c7c20, 0x238e: 0x400c7e20, 0x238f: 0x400c8020, + 0x2390: 0x400c8220, 0x2391: 0x400c8420, 0x2392: 0x400c8620, 0x2393: 0x400c8820, + 0x2394: 0x400c8a20, 0x2395: 0x400c8c20, 0x2396: 0x400c8e20, 0x2397: 0x400c9020, + 0x2398: 0x400c9220, 0x2399: 0x400c9420, 0x239a: 0x400c9620, 0x239b: 0x400c9820, + 0x239c: 0x400c9a20, 0x239d: 0x400c9c20, 0x239e: 0x400c9e20, 0x239f: 0x400ca020, + 0x23a0: 0x400ca220, 0x23a1: 0x400ca420, 0x23a2: 0x400ca620, 0x23a3: 0x400ca820, + 0x23a4: 0x400caa20, 0x23a5: 0x400cac20, 0x23a6: 0x400cae20, 0x23a7: 0x400cb020, + 0x23a8: 0x400cb220, 0x23a9: 0x400cb420, 0x23aa: 0x400cb620, 0x23ab: 0x400cb820, + 0x23ac: 0x400cba20, 0x23ad: 0x400cbc20, 0x23ae: 0x400cbe20, 0x23af: 0x400cc020, + 0x23b0: 0x400cc220, 0x23b1: 0x400cc420, 0x23b2: 0x400cc620, 0x23b3: 0x400cc820, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x400cca20, 0x23c1: 0x400ccc20, 0x23c2: 0x400cce20, 0x23c3: 0x400cd020, + 0x23c4: 0x400cd220, 0x23c5: 0x400cd420, 0x23c6: 0x400cd620, 0x23c7: 0x400cd820, + 0x23c8: 0x400cda20, 0x23c9: 0x400cdc20, 0x23ca: 0x400cde20, 0x23cb: 0x400ce020, + 0x23cc: 0x400ce220, 0x23cd: 0x400ce420, 0x23ce: 0x400ce620, 0x23cf: 0x400ce820, + 0x23d0: 0x400cea20, 0x23d1: 0x400cec20, 0x23d2: 0x400cee20, 0x23d3: 0x400cf020, + 0x23d4: 0x400cf220, 0x23d5: 0x400cf420, 0x23d6: 0x400cf620, 0x23d7: 0x400cf820, + 0x23d8: 0x400cfa20, 0x23d9: 0x400cfc20, 0x23da: 0x400cfe20, 0x23db: 0x400d0020, + 0x23dc: 0x400d0220, 0x23dd: 0x400d0420, 0x23de: 0x400d0620, 0x23df: 0x400d0820, + 0x23e0: 0x400d0a20, 0x23e1: 0x400d0c20, 0x23e2: 0x400d0e20, 0x23e3: 0x400d1020, + 0x23e4: 0x400d1220, 0x23e5: 0x400d1420, 0x23e6: 0x400d1620, + // Block 0x90, offset 0x2400 + 0x2400: 0x400d1820, 0x2401: 0x400d1a20, 0x2402: 0x400d1c20, 0x2403: 0x400d1e20, + 0x2404: 0x400d2020, 0x2405: 0x400d2220, 0x2406: 0x400d2420, 0x2407: 0x400d2620, + 0x2408: 0x400d2820, 0x2409: 0x400d2a20, 0x240a: 0x400d2c20, + 0x2420: 0x0029ce86, 0x2421: 0x0029d086, 0x2422: 0x0029d286, 0x2423: 0x0029d486, + 0x2424: 0x0029d686, 0x2425: 0x0029d886, 0x2426: 0x0029da86, 0x2427: 0x0029dc86, + 0x2428: 0x0029de86, 0x2429: 0xf0000606, 0x242a: 0xf0000606, 0x242b: 0xf0000606, + 0x242c: 0xf0000606, 0x242d: 0xf0000606, 0x242e: 0xf0000606, 0x242f: 0xf0000606, + 0x2430: 0xf0000606, 0x2431: 0xf0000606, 0x2432: 0xf0000606, 0x2433: 0xf0000606, + 0x2434: 0xf0000404, 0x2435: 0xf0000404, 0x2436: 0xf0000404, 0x2437: 0xf0000404, + 0x2438: 0xf0000404, 0x2439: 0xf0000404, 0x243a: 0xf0000404, 0x243b: 0xf0000404, + 0x243c: 0xf0000404, 0x243d: 0xe0000015, 0x243e: 0xe000001a, 0x243f: 0xe000001f, + // Block 0x91, offset 0x2440 + 0x2440: 0xe0000024, 0x2441: 0xe0000029, 0x2442: 0xe000002e, 0x2443: 0xe0000033, + 0x2444: 0xe0000038, 0x2445: 0xe000003d, 0x2446: 0xe0000042, 0x2447: 0xe0000047, + 0x2448: 0xf0001f04, 0x2449: 0xf0001f04, 0x244a: 0xf0001f04, 0x244b: 0xf0001f04, + 0x244c: 0xf0001f04, 0x244d: 0xf0001f04, 0x244e: 0xf0001f04, 0x244f: 0xf0001f04, + 0x2450: 0xf0001f04, 0x2451: 0xf0000404, 0x2452: 0xf0000404, 0x2453: 0xf0000404, + 0x2454: 0xf0000404, 0x2455: 0xf0000404, 0x2456: 0xf0000404, 0x2457: 0xf0000404, + 0x2458: 0xf0000404, 0x2459: 0xf0000404, 0x245a: 0xf0000404, 0x245b: 0xf0000404, + 0x245c: 0xf0000404, 0x245d: 0xf0000404, 0x245e: 0xf0000404, 0x245f: 0xf0000404, + 0x2460: 0xf0000404, 0x2461: 0xf0000404, 0x2462: 0xf0000404, 0x2463: 0xf0000404, + 0x2464: 0xf0000404, 0x2465: 0xf0000404, 0x2466: 0xf0000404, 0x2467: 0xf0000404, + 0x2468: 0xf0000404, 0x2469: 0xf0000404, 0x246a: 0xf0000404, 0x246b: 0xf0000404, + 0x246c: 0xf0000404, 0x246d: 0xf0000404, 0x246e: 0xf0000404, 0x246f: 0xf0000404, + 0x2470: 0xf0000404, 0x2471: 0xf0000404, 0x2472: 0xf0000404, 0x2473: 0xf0000404, + 0x2474: 0xf0000404, 0x2475: 0xf0000404, 0x2476: 0x002bde8c, 0x2477: 0x002c0a8c, + 0x2478: 0x002c3a8c, 0x2479: 0x002c628c, 0x247a: 0x002c988c, 0x247b: 0x002d088c, + 0x247c: 0x002d228c, 0x247d: 0x002d688c, 0x247e: 0x002d9a8c, 0x247f: 0x002dcc8c, + // Block 0x92, offset 0x2480 + 0x2480: 0x002dfe8c, 0x2481: 0x002e228c, 0x2482: 0x002e828c, 0x2483: 0x002e9e8c, + 0x2484: 0x002ee28c, 0x2485: 0x002f2c8c, 0x2486: 0x002f568c, 0x2487: 0x002f7a8c, + 0x2488: 0x002fe68c, 0x2489: 0x00302c8c, 0x248a: 0x00306c8c, 0x248b: 0x0030be8c, + 0x248c: 0x0030e28c, 0x248d: 0x0030f68c, 0x248e: 0x0031008c, 0x248f: 0x00312a8c, + 0x2490: 0x002bde86, 0x2491: 0x002c0a86, 0x2492: 0x002c3a86, 0x2493: 0x002c6286, + 0x2494: 0x002c9886, 0x2495: 0x002d0886, 0x2496: 0x002d2286, 0x2497: 0x002d6886, + 0x2498: 0x002d9a86, 0x2499: 0x002dcc86, 0x249a: 0x002dfe86, 0x249b: 0x002e2286, + 0x249c: 0x002e8286, 0x249d: 0x002e9e86, 0x249e: 0x002ee286, 0x249f: 0x002f2c86, + 0x24a0: 0x002f5686, 0x24a1: 0x002f7a86, 0x24a2: 0x002fe686, 0x24a3: 0x00302c86, + 0x24a4: 0x00306c86, 0x24a5: 0x0030be86, 0x24a6: 0x0030e286, 0x24a7: 0x0030f686, + 0x24a8: 0x00310086, 0x24a9: 0x00312a86, 0x24aa: 0x0029cc86, 0x24ab: 0xe00002e6, + 0x24ac: 0xe00002e9, 0x24ad: 0xe00002ec, 0x24ae: 0xe00002ef, 0x24af: 0xe00002f2, + 0x24b0: 0xe00002f5, 0x24b1: 0xe00002f8, 0x24b2: 0xe00002fb, 0x24b3: 0xe00002fe, + 0x24b4: 0xe00003d5, 0x24b5: 0x0029ce86, 0x24b6: 0x0029d086, 0x24b7: 0x0029d286, + 0x24b8: 0x0029d486, 0x24b9: 0x0029d686, 0x24ba: 0x0029d886, 0x24bb: 0x0029da86, + 0x24bc: 0x0029dc86, 0x24bd: 0x0029de86, 0x24be: 0xe00002d7, 0x24bf: 0x0029cc86, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x400d2e20, 0x24c1: 0x400d3020, 0x24c2: 0x400d3220, 0x24c3: 0x400d3420, + 0x24c4: 0x400d3620, 0x24c5: 0x400d3820, 0x24c6: 0x400d3a20, 0x24c7: 0x400d3c20, + 0x24c8: 0x400d3e20, 0x24c9: 0x400d4020, 0x24ca: 0x400d4220, 0x24cb: 0x400d4420, + 0x24cc: 0x400d4620, 0x24cd: 0x400d4820, 0x24ce: 0x400d4a20, 0x24cf: 0x400d4c20, + 0x24d0: 0x400d4e20, 0x24d1: 0x400d5020, 0x24d2: 0x400d5220, 0x24d3: 0x400d5420, + 0x24d4: 0x400d5620, 0x24d5: 0x400d5820, 0x24d6: 0x400d5a20, 0x24d7: 0x400d5c20, + 0x24d8: 0x400d5e20, 0x24d9: 0x400d6020, 0x24da: 0x400d6220, 0x24db: 0x400d6420, + 0x24dc: 0x400d6620, 0x24dd: 0x400d6820, 0x24de: 0x400d6a20, 0x24df: 0x400d6c20, + 0x24e0: 0x400d6e20, 0x24e1: 0x400d7020, 0x24e2: 0x400d7220, 0x24e3: 0x400d7420, + 0x24e4: 0x400d7620, 0x24e5: 0x400d7820, 0x24e6: 0x400d7a20, 0x24e7: 0x400d7c20, + 0x24e8: 0x400d7e20, 0x24e9: 0x400d8020, 0x24ea: 0x400d8220, 0x24eb: 0x400d8420, + 0x24ec: 0x400d8620, 0x24ed: 0x400d8820, 0x24ee: 0x400d8a20, 0x24ef: 0x400d8c20, + 0x24f0: 0x400d8e20, 0x24f1: 0x400d9020, 0x24f2: 0x400d9220, 0x24f3: 0x400d9420, + 0x24f4: 0x400d9620, 0x24f5: 0x400d9820, 0x24f6: 0x400d9a20, 0x24f7: 0x400d9c20, + 0x24f8: 0x400d9e20, 0x24f9: 0x400da020, 0x24fa: 0x400da220, 0x24fb: 0x400da420, + 0x24fc: 0x400da620, 0x24fd: 0x400da820, 0x24fe: 0x400daa20, 0x24ff: 0x400dac20, + // Block 0x94, offset 0x2500 + 0x2500: 0x400dae20, 0x2501: 0x400db020, 0x2502: 0x400db220, 0x2503: 0x400db420, + 0x2504: 0x400db620, 0x2505: 0x400db820, 0x2506: 0x400dba20, 0x2507: 0x400dbc20, + 0x2508: 0x400dbe20, 0x2509: 0x400dc020, 0x250a: 0x400dc220, 0x250b: 0x400dc420, + 0x250c: 0x400dc620, 0x250d: 0x400dc820, 0x250e: 0x400dca20, 0x250f: 0x400dcc20, + 0x2510: 0x400dce20, 0x2511: 0x400dd020, 0x2512: 0x400dd220, 0x2513: 0x400dd420, + 0x2514: 0x400dd620, 0x2515: 0x400dd820, 0x2516: 0x400dda20, 0x2517: 0x400ddc20, + 0x2518: 0x400dde20, 0x2519: 0x400de020, 0x251a: 0x400de220, 0x251b: 0x400de420, + 0x251c: 0x400de620, 0x251d: 0x400de820, 0x251e: 0x400dea20, 0x251f: 0x400dec20, + 0x2520: 0x400dee20, 0x2521: 0x400df020, 0x2522: 0x400df220, 0x2523: 0x400df420, + 0x2524: 0x400df620, 0x2525: 0x400df820, 0x2526: 0x400dfa20, 0x2527: 0x400dfc20, + 0x2528: 0x400dfe20, 0x2529: 0x400e0020, 0x252a: 0x400e0220, 0x252b: 0x400e0420, + 0x252c: 0x400e0620, 0x252d: 0x400e0820, 0x252e: 0x400e0a20, 0x252f: 0x400e0c20, + 0x2530: 0x400e0e20, 0x2531: 0x400e1020, 0x2532: 0x400e1220, 0x2533: 0x400e1420, + 0x2534: 0x400e1620, 0x2535: 0x400e1820, 0x2536: 0x400e1a20, 0x2537: 0x400e1c20, + 0x2538: 0x400e1e20, 0x2539: 0x400e2020, 0x253a: 0x400e2220, 0x253b: 0x400e2420, + 0x253c: 0x400e2620, 0x253d: 0x400e2820, 0x253e: 0x400e2a20, 0x253f: 0x400e2c20, + // Block 0x95, offset 0x2540 + 0x2540: 0x400e2e20, 0x2541: 0x400e3020, 0x2542: 0x400e3220, 0x2543: 0x400e3420, + 0x2544: 0x400e3620, 0x2545: 0x400e3820, 0x2546: 0x400e3a20, 0x2547: 0x400e3c20, + 0x2548: 0x400e3e20, 0x2549: 0x400e4020, 0x254a: 0x400e4220, 0x254b: 0x400e4420, + 0x254c: 0x400e4620, 0x254d: 0x400e4820, 0x254e: 0x400e4a20, 0x254f: 0x400e4c20, + 0x2550: 0x400e4e20, 0x2551: 0x400e5020, 0x2552: 0x400e5220, 0x2553: 0x400e5420, + 0x2554: 0x400e5620, 0x2555: 0x400e5820, 0x2556: 0x400e5a20, 0x2557: 0x400e5c20, + 0x2558: 0x400e5e20, 0x2559: 0x400e6020, 0x255a: 0x400e6220, 0x255b: 0x400e6420, + 0x255c: 0x400e6620, 0x255d: 0x400e6820, 0x255e: 0x400e6a20, 0x255f: 0x400e6c20, + 0x2560: 0x400e6e20, 0x2561: 0x400e7020, 0x2562: 0x400e7220, 0x2563: 0x400e7420, + 0x2564: 0x400e7620, 0x2565: 0x400e7820, 0x2566: 0x400e7a20, 0x2567: 0x400e7c20, + 0x2568: 0x400e7e20, 0x2569: 0x400e8020, 0x256a: 0x400e8220, 0x256b: 0x400e8420, + 0x256c: 0x400e8620, 0x256d: 0x400e8820, 0x256e: 0x400e8a20, 0x256f: 0x400e8c20, + 0x2570: 0x400e8e20, 0x2571: 0x400e9020, 0x2572: 0x400e9220, 0x2573: 0x400e9420, + 0x2574: 0x400e9620, 0x2575: 0x400e9820, 0x2576: 0x400e9a20, 0x2577: 0x400e9c20, + 0x2578: 0x400e9e20, 0x2579: 0x400ea020, 0x257a: 0x400ea220, 0x257b: 0x400ea420, + 0x257c: 0x400ea620, 0x257d: 0x400ea820, 0x257e: 0x400eaa20, 0x257f: 0x400eac20, + // Block 0x96, offset 0x2580 + 0x2580: 0x400eae20, 0x2581: 0x400eb020, 0x2582: 0x400eb220, 0x2583: 0x400eb420, + 0x2584: 0x400eb620, 0x2585: 0x400eb820, 0x2586: 0x400eba20, 0x2587: 0x400ebc20, + 0x2588: 0x400ebe20, 0x2589: 0x400ec020, 0x258a: 0x400ec220, 0x258b: 0x400ec420, + 0x258c: 0x400ec620, 0x258d: 0x400ec820, 0x258e: 0x400eca20, 0x258f: 0x400ecc20, + 0x2590: 0x400ece20, 0x2591: 0x400ed020, 0x2592: 0x400ed220, 0x2593: 0x400ed420, + 0x2594: 0x400ed620, 0x2595: 0x400ed820, 0x2596: 0x400eda20, 0x2597: 0x400edc20, + 0x2598: 0x400ede20, 0x2599: 0x400ee020, 0x259a: 0x400ee220, 0x259b: 0x400ee420, + 0x259c: 0x400ee620, 0x259d: 0x400ee820, 0x259e: 0x400eea20, 0x259f: 0x400eec20, + 0x25a0: 0x400eee20, 0x25a1: 0x400ef020, 0x25a2: 0x400ef220, 0x25a3: 0x400ef420, + 0x25a4: 0x400ef620, 0x25a5: 0x400ef820, 0x25a6: 0x400efa20, 0x25a7: 0x400efc20, + 0x25a8: 0x400efe20, 0x25a9: 0x400f0020, 0x25aa: 0x400f0220, 0x25ab: 0x400f0420, + 0x25ac: 0x400f0620, 0x25ad: 0x400f0820, 0x25ae: 0x400f0a20, 0x25af: 0x400f0c20, + 0x25b0: 0x400f0e20, 0x25b1: 0x400f1020, 0x25b2: 0x400f1220, 0x25b3: 0x400f1420, + 0x25b4: 0x400f1620, 0x25b5: 0x400f1820, 0x25b6: 0x400f1a20, 0x25b7: 0x400f1c20, + 0x25b8: 0x400f1e20, 0x25b9: 0x400f2020, 0x25ba: 0x400f2220, 0x25bb: 0x400f2420, + 0x25bc: 0x400f2620, 0x25bd: 0x400f2820, 0x25be: 0x400f2a20, 0x25bf: 0x400f2c20, + // Block 0x97, offset 0x25c0 + 0x25c0: 0x400f2e20, 0x25c1: 0x400f3020, 0x25c2: 0x400f3220, 0x25c3: 0x400f3420, + 0x25c4: 0x400f3620, 0x25c5: 0x400f3820, 0x25c6: 0x400f3a20, 0x25c7: 0x400f3c20, + 0x25c8: 0x400f3e20, 0x25c9: 0x400f4020, 0x25ca: 0x400f4220, 0x25cb: 0x400f4420, + 0x25cc: 0x400f4620, 0x25cd: 0x400f4820, 0x25ce: 0x400f4a20, 0x25cf: 0x400f4c20, + 0x25d0: 0x400f4e20, 0x25d1: 0x400f5020, 0x25d2: 0x400f5220, 0x25d3: 0x400f5420, + 0x25d4: 0x400f5620, 0x25d5: 0x400f5820, 0x25d6: 0x400f5a20, 0x25d7: 0x400f5c20, + 0x25d8: 0x400f5e20, 0x25d9: 0x400f6020, 0x25da: 0x400f6220, 0x25db: 0x400f6420, + 0x25dc: 0x400f6620, 0x25dd: 0x400f6820, 0x25de: 0x400f6a20, 0x25df: 0x400f6c20, + 0x25e0: 0x400f6e20, 0x25e1: 0x400f7020, 0x25e2: 0x400f7220, 0x25e3: 0x400f7420, + 0x25e4: 0x400f7620, 0x25e5: 0x400f7820, 0x25e6: 0x400f7a20, 0x25e7: 0x400f7c20, + 0x25e8: 0x400f7e20, 0x25e9: 0x400f8020, 0x25ea: 0x400f8220, 0x25eb: 0x400f8420, + 0x25ec: 0x400f8620, 0x25ed: 0x400f8820, 0x25ee: 0x400f8a20, 0x25ef: 0x400f8c20, + 0x25f0: 0x40195220, 0x25f1: 0x40195420, 0x25f2: 0x40195620, 0x25f3: 0x40195820, + 0x25f4: 0x40195a20, 0x25f5: 0x40195c20, 0x25f6: 0x40195e20, 0x25f7: 0x40196020, + 0x25f8: 0x400f8e20, 0x25f9: 0x400f9020, 0x25fa: 0x400f9220, 0x25fb: 0x400f9420, + 0x25fc: 0x400f9620, 0x25fd: 0x400f9820, 0x25fe: 0x400f9a20, 0x25ff: 0x400f9c20, + // Block 0x98, offset 0x2600 + 0x2600: 0x400f9e20, 0x2601: 0x400fa020, 0x2602: 0x400fa220, 0x2603: 0x400fa420, + 0x2604: 0x400fa620, 0x2605: 0x400fa820, 0x2606: 0x400faa20, 0x2607: 0x400fac20, + 0x2608: 0x400fae20, 0x2609: 0x400fb020, 0x260a: 0x400fb220, 0x260b: 0x400fb420, + 0x260c: 0x400fb620, 0x260d: 0x400fb820, 0x260e: 0x400fba20, 0x260f: 0x400fbc20, + 0x2610: 0x400fbe20, 0x2611: 0x400fc020, 0x2612: 0x400fc220, 0x2613: 0x400fc420, + 0x2614: 0x400fc620, 0x2615: 0x400fc820, 0x2616: 0x400fca20, 0x2617: 0x400fcc20, + 0x2618: 0x400fce20, 0x2619: 0x400fd020, 0x261a: 0x400fd220, 0x261b: 0x400fd420, + 0x261c: 0x400fd620, 0x261d: 0x400fd820, 0x261e: 0x400fda20, 0x261f: 0x400fdc20, + 0x2620: 0x400fde20, 0x2621: 0x400fe020, 0x2622: 0x400fe220, 0x2623: 0x400fe420, + 0x2624: 0x400fe620, 0x2625: 0x400fe820, 0x2626: 0x400fea20, 0x2627: 0x400fec20, + 0x2628: 0x400fee20, 0x2629: 0x400ff020, 0x262a: 0x400ff220, 0x262b: 0x400ff420, + 0x262c: 0x400ff620, 0x262d: 0x401dde20, 0x262e: 0x401de020, 0x262f: 0x401de220, + 0x2630: 0x400ff820, 0x2631: 0x400ffa20, 0x2632: 0x400ffc20, 0x2633: 0x400ffe20, + 0x2634: 0x40100020, 0x2635: 0x40100220, 0x2636: 0x40100420, 0x2637: 0x40100620, + 0x2638: 0x40100820, 0x2639: 0x40100a20, 0x263a: 0x40100c20, 0x263b: 0x40100e20, + 0x263c: 0x40101020, 0x263d: 0x40101220, 0x263e: 0x40101420, 0x263f: 0x40101620, + // Block 0x99, offset 0x2640 + 0x2640: 0x40101820, 0x2641: 0x40101a20, 0x2642: 0x40101c20, 0x2643: 0x40101e20, + 0x2644: 0x40102020, 0x2645: 0x40102220, 0x2646: 0x40102420, 0x2647: 0x40102620, + 0x2648: 0x40102820, 0x2649: 0x40102a20, 0x264a: 0x40194620, 0x264b: 0x40194820, + 0x264c: 0x40194a20, 0x264d: 0x40194c20, 0x264e: 0x40194e20, 0x264f: 0x40195020, + 0x2650: 0x40102c20, 0x2651: 0x40102e20, 0x2652: 0x40103020, 0x2653: 0x40103220, + 0x2654: 0x40103420, 0x2655: 0x40103620, 0x2656: 0x40103820, 0x2657: 0x40103a20, + 0x2658: 0x40103c20, 0x2659: 0x40103e20, 0x265a: 0x40104020, 0x265b: 0x40104220, + 0x265c: 0x40104420, 0x265d: 0x40104620, 0x265e: 0x40104820, 0x265f: 0x40104a20, + 0x2660: 0x40104c20, 0x2661: 0x40104e20, 0x2662: 0x40105020, 0x2663: 0x40105220, + 0x2664: 0x40105420, 0x2665: 0x40105620, 0x2666: 0x40105820, 0x2667: 0x40105a20, + 0x2668: 0x40105c20, 0x2669: 0x40105e20, 0x266a: 0x40106020, 0x266b: 0x40106220, + 0x266c: 0x40106420, 0x266d: 0x40106620, 0x266e: 0x40106820, 0x266f: 0x40106a20, + 0x2670: 0x40106c20, 0x2671: 0x40106e20, 0x2672: 0x40107020, 0x2673: 0x40107220, + 0x2674: 0x40107420, 0x2675: 0x40107620, 0x2676: 0x40107820, 0x2677: 0x40107a20, + 0x2678: 0x40107c20, 0x2679: 0x40107e20, 0x267a: 0x40108020, 0x267b: 0x40108220, + 0x267c: 0x40108420, 0x267d: 0x40108620, 0x267e: 0x40108820, 0x267f: 0x40108a20, + // Block 0x9a, offset 0x2680 + 0x2680: 0x40108c20, 0x2681: 0x40108e20, 0x2682: 0x40109020, 0x2683: 0x40109220, + 0x2684: 0x40109420, 0x2685: 0x40109620, 0x2686: 0x40109820, 0x2687: 0x40109a20, + 0x2688: 0x40109c20, 0x2689: 0x40109e20, 0x268a: 0x4010a020, 0x268b: 0x4010a220, + 0x268c: 0x4010a420, 0x268d: 0x4010a620, 0x268e: 0x4010a820, 0x268f: 0x4010aa20, + 0x2690: 0x4010ac20, 0x2691: 0x4010ae20, 0x2692: 0x4010b020, 0x2693: 0x4010b220, + 0x2694: 0x4010b420, 0x2695: 0x4010b620, 0x2696: 0x4010b820, 0x2697: 0x4010ba20, + 0x2698: 0x4010bc20, 0x2699: 0x4010be20, 0x269a: 0x4010c020, 0x269b: 0x4010c220, + 0x269c: 0x4010c420, 0x269d: 0x4010c620, 0x269e: 0x4010c820, 0x269f: 0x4010ca20, + 0x26a0: 0x4010cc20, 0x26a1: 0x4010ce20, 0x26a2: 0x4010d020, 0x26a3: 0x4010d220, + 0x26a4: 0x4010d420, 0x26a5: 0x4010d620, 0x26a6: 0x4010d820, 0x26a7: 0x4010da20, + 0x26a8: 0x4010dc20, 0x26a9: 0x4010de20, 0x26aa: 0x4010e020, 0x26ab: 0x4010e220, + 0x26ac: 0x4010e420, 0x26ad: 0x4010e620, 0x26ae: 0x4010e820, 0x26af: 0x4010ea20, + 0x26b0: 0x4010ec20, 0x26b1: 0x4010ee20, 0x26b2: 0x4010f020, 0x26b3: 0x4010f220, + 0x26b4: 0x4010f420, 0x26b5: 0x4010f620, 0x26b6: 0x4010f820, 0x26b7: 0x4010fa20, + 0x26b8: 0x4010fc20, 0x26b9: 0x4010fe20, 0x26ba: 0x40110020, 0x26bb: 0x40110220, + 0x26bc: 0x40110420, 0x26bd: 0x40110620, 0x26be: 0x40110820, 0x26bf: 0x40110a20, + // Block 0x9b, offset 0x26c0 + 0x26c1: 0x40114020, 0x26c2: 0x40114220, 0x26c3: 0x40114420, + 0x26c4: 0x40114620, 0x26c5: 0x40114820, 0x26c6: 0x40114a20, 0x26c7: 0x40114c20, + 0x26c8: 0x40114e20, 0x26c9: 0x40115020, 0x26ca: 0x40115220, 0x26cb: 0x40115420, + 0x26cc: 0x40115620, 0x26cd: 0x40115820, 0x26ce: 0x40115a20, 0x26cf: 0x40115c20, + 0x26d0: 0x40115e20, 0x26d1: 0x40116020, 0x26d2: 0x40116220, 0x26d3: 0x40116420, + 0x26d4: 0x40116620, 0x26d5: 0x40116820, 0x26d6: 0x40116a20, 0x26d7: 0x40116c20, + 0x26d8: 0x40116e20, 0x26d9: 0x40117020, 0x26da: 0x40117220, 0x26db: 0x40117420, + 0x26dc: 0x40117620, 0x26dd: 0x40117820, 0x26de: 0x40117a20, 0x26df: 0x40117c20, + 0x26e0: 0x40117e20, 0x26e1: 0x40118020, 0x26e2: 0x40118220, 0x26e3: 0x40118420, + 0x26e4: 0x40118620, 0x26e5: 0x40118820, 0x26e6: 0x40118a20, 0x26e7: 0x40118c20, + 0x26e8: 0x40118e20, 0x26e9: 0x40119020, 0x26ea: 0x40119220, 0x26eb: 0x40119420, + 0x26ec: 0x40119620, 0x26ed: 0x40119820, 0x26ee: 0x40119a20, 0x26ef: 0x40119c20, + 0x26f0: 0x40119e20, 0x26f1: 0x4011a020, 0x26f2: 0x4011a220, 0x26f3: 0x4011a420, + 0x26f4: 0x4011a620, 0x26f5: 0x4011a820, 0x26f6: 0x4011aa20, 0x26f7: 0x4011ac20, + 0x26f8: 0x4011ae20, 0x26f9: 0x4011b020, 0x26fa: 0x4011b220, 0x26fb: 0x4011b420, + 0x26fc: 0x4011b620, 0x26fd: 0x4011b820, 0x26fe: 0x4011ba20, 0x26ff: 0x4011bc20, + // Block 0x9c, offset 0x2700 + 0x2700: 0x4011be20, 0x2701: 0x4011c020, 0x2702: 0x4011c220, 0x2703: 0x4011c420, + 0x2704: 0x4011c620, 0x2705: 0x4011c820, 0x2706: 0x4011ca20, 0x2707: 0x4011cc20, + 0x2708: 0x4011ce20, 0x2709: 0x4011d020, 0x270a: 0x4011d220, 0x270b: 0x4011d420, + 0x270c: 0x4011d620, 0x270d: 0x4011d820, 0x270e: 0x4011da20, 0x270f: 0x4011dc20, + 0x2710: 0x4011de20, 0x2711: 0x4011e020, 0x2712: 0x4011e220, 0x2713: 0x4011e420, + 0x2714: 0x4011e620, 0x2715: 0x4011e820, 0x2716: 0x4011ea20, 0x2717: 0x4011ec20, + 0x2718: 0x4011ee20, 0x2719: 0x4011f020, 0x271a: 0x4011f220, 0x271b: 0x4011f420, + 0x271c: 0x4011f620, 0x271d: 0x4011f820, 0x271e: 0x4011fa20, 0x271f: 0x4011fc20, + 0x2720: 0x4011fe20, 0x2721: 0x40120020, 0x2722: 0x40120220, 0x2723: 0x40120420, + 0x2724: 0x40120620, 0x2725: 0x40120820, 0x2726: 0x40120a20, 0x2727: 0x40120c20, + 0x2728: 0x40045820, 0x2729: 0x40045a20, 0x272a: 0x40045c20, 0x272b: 0x40045e20, + 0x272c: 0x40046020, 0x272d: 0x40046220, 0x272e: 0x40046420, 0x272f: 0x40046620, + 0x2730: 0x40046820, 0x2731: 0x40046a20, 0x2732: 0x40046c20, 0x2733: 0x40046e20, + 0x2734: 0x40047020, 0x2735: 0x40047220, 0x2736: 0x0029ce86, 0x2737: 0x0029d086, + 0x2738: 0x0029d286, 0x2739: 0x0029d486, 0x273a: 0x0029d686, 0x273b: 0x0029d886, + 0x273c: 0x0029da86, 0x273d: 0x0029dc86, 0x273e: 0x0029de86, 0x273f: 0xe00002da, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0029ce86, 0x2741: 0x0029d086, 0x2742: 0x0029d286, 0x2743: 0x0029d486, + 0x2744: 0x0029d686, 0x2745: 0x0029d886, 0x2746: 0x0029da86, 0x2747: 0x0029dc86, + 0x2748: 0x0029de86, 0x2749: 0xe00002dd, 0x274a: 0x0029ce86, 0x274b: 0x0029d086, + 0x274c: 0x0029d286, 0x274d: 0x0029d486, 0x274e: 0x0029d686, 0x274f: 0x0029d886, + 0x2750: 0x0029da86, 0x2751: 0x0029dc86, 0x2752: 0x0029de86, 0x2753: 0xe00002e0, + 0x2754: 0x40120e20, 0x2755: 0x40121020, 0x2756: 0x40121220, 0x2757: 0x40121420, + 0x2758: 0x40121620, 0x2759: 0x40121820, 0x275a: 0x40121a20, 0x275b: 0x40121c20, + 0x275c: 0x40121e20, 0x275d: 0x40122020, 0x275e: 0x40122220, 0x275f: 0x40122420, + 0x2760: 0x40122620, 0x2761: 0x40122820, 0x2762: 0x40122a20, 0x2763: 0x40122c20, + 0x2764: 0x40122e20, 0x2765: 0x40123020, 0x2766: 0x40123220, 0x2767: 0x40123420, + 0x2768: 0x40123620, 0x2769: 0x40123820, 0x276a: 0x40123a20, 0x276b: 0x40123c20, + 0x276c: 0x40123e20, 0x276d: 0x40124020, 0x276e: 0x40124220, 0x276f: 0x40124420, + 0x2770: 0x40124620, 0x2771: 0x40124820, 0x2772: 0x40124a20, 0x2773: 0x40124c20, + 0x2774: 0x40124e20, 0x2775: 0x40125020, 0x2776: 0x40125220, 0x2777: 0x40125420, + 0x2778: 0x40125620, 0x2779: 0x40125820, 0x277a: 0x40125a20, 0x277b: 0x40125c20, + 0x277c: 0x40125e20, 0x277d: 0x40126020, 0x277e: 0x40126220, 0x277f: 0x40126420, + // Block 0x9e, offset 0x2780 + 0x2780: 0x40126620, 0x2781: 0x40126820, 0x2782: 0x40126a20, 0x2783: 0x40126c20, + 0x2784: 0x40126e20, 0x2785: 0x40044020, 0x2786: 0x40044220, 0x2787: 0x40127020, + 0x2788: 0x40127220, 0x2789: 0x40127420, 0x278a: 0x40127620, 0x278b: 0x40127820, + 0x278c: 0x40127a20, 0x278d: 0x40127c20, 0x278e: 0x40127e20, 0x278f: 0x40128020, + 0x2790: 0x40128220, 0x2791: 0x40128420, 0x2792: 0x40128620, 0x2793: 0x40128820, + 0x2794: 0x40128a20, 0x2795: 0x40128c20, 0x2796: 0x40128e20, 0x2797: 0x40129020, + 0x2798: 0x40129220, 0x2799: 0x40129420, 0x279a: 0x40129620, 0x279b: 0x40129820, + 0x279c: 0x40129a20, 0x279d: 0x40129c20, 0x279e: 0x40129e20, 0x279f: 0x4012a020, + 0x27a0: 0x4012a220, 0x27a1: 0x4012a420, 0x27a2: 0x4012a620, 0x27a3: 0x4012a820, + 0x27a4: 0x4012aa20, 0x27a5: 0x4012ac20, 0x27a6: 0x40044420, 0x27a7: 0x40044620, + 0x27a8: 0x40044820, 0x27a9: 0x40044a20, 0x27aa: 0x40044c20, 0x27ab: 0x40044e20, + 0x27ac: 0x40045020, 0x27ad: 0x40045220, 0x27ae: 0x40045420, 0x27af: 0x40045620, + 0x27b0: 0x4012ae20, 0x27b1: 0x4012b020, 0x27b2: 0x4012b220, 0x27b3: 0x4012b420, + 0x27b4: 0x4012b620, 0x27b5: 0x4012b820, 0x27b6: 0x4012ba20, 0x27b7: 0x4012bc20, + 0x27b8: 0x4012be20, 0x27b9: 0x4012c020, 0x27ba: 0x4012c220, 0x27bb: 0x4012c420, + 0x27bc: 0x4012c620, 0x27bd: 0x4012c820, 0x27be: 0x4012ca20, 0x27bf: 0x4012cc20, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x40174620, 0x27c1: 0x40174820, 0x27c2: 0x40174a20, 0x27c3: 0x40174c20, + 0x27c4: 0x40174e20, 0x27c5: 0x40175020, 0x27c6: 0x40175220, 0x27c7: 0x40175420, + 0x27c8: 0x40175620, 0x27c9: 0x40175820, 0x27ca: 0x40175a20, 0x27cb: 0x40175c20, + 0x27cc: 0x40175e20, 0x27cd: 0x40176020, 0x27ce: 0x40176220, 0x27cf: 0x40176420, + 0x27d0: 0x40176620, 0x27d1: 0x40176820, 0x27d2: 0x40176a20, 0x27d3: 0x40176c20, + 0x27d4: 0x40176e20, 0x27d5: 0x40177020, 0x27d6: 0x40177220, 0x27d7: 0x40177420, + 0x27d8: 0x40177620, 0x27d9: 0x40177820, 0x27da: 0x40177a20, 0x27db: 0x40177c20, + 0x27dc: 0x40177e20, 0x27dd: 0x40178020, 0x27de: 0x40178220, 0x27df: 0x40178420, + 0x27e0: 0x40178620, 0x27e1: 0x40178820, 0x27e2: 0x40178a20, 0x27e3: 0x40178c20, + 0x27e4: 0x40178e20, 0x27e5: 0x40179020, 0x27e6: 0x40179220, 0x27e7: 0x40179420, + 0x27e8: 0x40179620, 0x27e9: 0x40179820, 0x27ea: 0x40179a20, 0x27eb: 0x40179c20, + 0x27ec: 0x40179e20, 0x27ed: 0x4017a020, 0x27ee: 0x4017a220, 0x27ef: 0x4017a420, + 0x27f0: 0x4017a620, 0x27f1: 0x4017a820, 0x27f2: 0x4017aa20, 0x27f3: 0x4017ac20, + 0x27f4: 0x4017ae20, 0x27f5: 0x4017b020, 0x27f6: 0x4017b220, 0x27f7: 0x4017b420, + 0x27f8: 0x4017b620, 0x27f9: 0x4017b820, 0x27fa: 0x4017ba20, 0x27fb: 0x4017bc20, + 0x27fc: 0x4017be20, 0x27fd: 0x4017c020, 0x27fe: 0x4017c220, 0x27ff: 0x4017c420, + // Block 0xa0, offset 0x2800 + 0x2800: 0x4017c620, 0x2801: 0x4017c820, 0x2802: 0x4017ca20, 0x2803: 0x4017cc20, + 0x2804: 0x4017ce20, 0x2805: 0x4017d020, 0x2806: 0x4017d220, 0x2807: 0x4017d420, + 0x2808: 0x4017d620, 0x2809: 0x4017d820, 0x280a: 0x4017da20, 0x280b: 0x4017dc20, + 0x280c: 0x4017de20, 0x280d: 0x4017e020, 0x280e: 0x4017e220, 0x280f: 0x4017e420, + 0x2810: 0x4017e620, 0x2811: 0x4017e820, 0x2812: 0x4017ea20, 0x2813: 0x4017ec20, + 0x2814: 0x4017ee20, 0x2815: 0x4017f020, 0x2816: 0x4017f220, 0x2817: 0x4017f420, + 0x2818: 0x4017f620, 0x2819: 0x4017f820, 0x281a: 0x4017fa20, 0x281b: 0x4017fc20, + 0x281c: 0x4017fe20, 0x281d: 0x40180020, 0x281e: 0x40180220, 0x281f: 0x40180420, + 0x2820: 0x40180620, 0x2821: 0x40180820, 0x2822: 0x40180a20, 0x2823: 0x40180c20, + 0x2824: 0x40180e20, 0x2825: 0x40181020, 0x2826: 0x40181220, 0x2827: 0x40181420, + 0x2828: 0x40181620, 0x2829: 0x40181820, 0x282a: 0x40181a20, 0x282b: 0x40181c20, + 0x282c: 0x40181e20, 0x282d: 0x40182020, 0x282e: 0x40182220, 0x282f: 0x40182420, + 0x2830: 0x40182620, 0x2831: 0x40182820, 0x2832: 0x40182a20, 0x2833: 0x40182c20, + 0x2834: 0x40182e20, 0x2835: 0x40183020, 0x2836: 0x40183220, 0x2837: 0x40183420, + 0x2838: 0x40183620, 0x2839: 0x40183820, 0x283a: 0x40183a20, 0x283b: 0x40183c20, + 0x283c: 0x40183e20, 0x283d: 0x40184020, 0x283e: 0x40184220, 0x283f: 0x40184420, + // Block 0xa1, offset 0x2840 + 0x2840: 0x40184620, 0x2841: 0x40184820, 0x2842: 0x40184a20, 0x2843: 0x40184c20, + 0x2844: 0x40184e20, 0x2845: 0x40185020, 0x2846: 0x40185220, 0x2847: 0x40185420, + 0x2848: 0x40185620, 0x2849: 0x40185820, 0x284a: 0x40185a20, 0x284b: 0x40185c20, + 0x284c: 0x40185e20, 0x284d: 0x40186020, 0x284e: 0x40186220, 0x284f: 0x40186420, + 0x2850: 0x40186620, 0x2851: 0x40186820, 0x2852: 0x40186a20, 0x2853: 0x40186c20, + 0x2854: 0x40186e20, 0x2855: 0x40187020, 0x2856: 0x40187220, 0x2857: 0x40187420, + 0x2858: 0x40187620, 0x2859: 0x40187820, 0x285a: 0x40187a20, 0x285b: 0x40187c20, + 0x285c: 0x40187e20, 0x285d: 0x40188020, 0x285e: 0x40188220, 0x285f: 0x40188420, + 0x2860: 0x40188620, 0x2861: 0x40188820, 0x2862: 0x40188a20, 0x2863: 0x40188c20, + 0x2864: 0x40188e20, 0x2865: 0x40189020, 0x2866: 0x40189220, 0x2867: 0x40189420, + 0x2868: 0x40189620, 0x2869: 0x40189820, 0x286a: 0x40189a20, 0x286b: 0x40189c20, + 0x286c: 0x40189e20, 0x286d: 0x4018a020, 0x286e: 0x4018a220, 0x286f: 0x4018a420, + 0x2870: 0x4018a620, 0x2871: 0x4018a820, 0x2872: 0x4018aa20, 0x2873: 0x4018ac20, + 0x2874: 0x4018ae20, 0x2875: 0x4018b020, 0x2876: 0x4018b220, 0x2877: 0x4018b420, + 0x2878: 0x4018b620, 0x2879: 0x4018b820, 0x287a: 0x4018ba20, 0x287b: 0x4018bc20, + 0x287c: 0x4018be20, 0x287d: 0x4018c020, 0x287e: 0x4018c220, 0x287f: 0x4018c420, + // Block 0xa2, offset 0x2880 + 0x2880: 0x4018c620, 0x2881: 0x4018c820, 0x2882: 0x4018ca20, 0x2883: 0x4018cc20, + 0x2884: 0x4018ce20, 0x2885: 0x4018d020, 0x2886: 0x4018d220, 0x2887: 0x4018d420, + 0x2888: 0x4018d620, 0x2889: 0x4018d820, 0x288a: 0x4018da20, 0x288b: 0x4018dc20, + 0x288c: 0x4018de20, 0x288d: 0x4018e020, 0x288e: 0x4018e220, 0x288f: 0x4018e420, + 0x2890: 0x4018e620, 0x2891: 0x4018e820, 0x2892: 0x4018ea20, 0x2893: 0x4018ec20, + 0x2894: 0x4018ee20, 0x2895: 0x4018f020, 0x2896: 0x4018f220, 0x2897: 0x4018f420, + 0x2898: 0x4018f620, 0x2899: 0x4018f820, 0x289a: 0x4018fa20, 0x289b: 0x4018fc20, + 0x289c: 0x4018fe20, 0x289d: 0x40190020, 0x289e: 0x40190220, 0x289f: 0x40190420, + 0x28a0: 0x40190620, 0x28a1: 0x40190820, 0x28a2: 0x40190a20, 0x28a3: 0x40190c20, + 0x28a4: 0x40190e20, 0x28a5: 0x40191020, 0x28a6: 0x40191220, 0x28a7: 0x40191420, + 0x28a8: 0x40191620, 0x28a9: 0x40191820, 0x28aa: 0x40191a20, 0x28ab: 0x40191c20, + 0x28ac: 0x40191e20, 0x28ad: 0x40192020, 0x28ae: 0x40192220, 0x28af: 0x40192420, + 0x28b0: 0x40192620, 0x28b1: 0x40192820, 0x28b2: 0x40192a20, 0x28b3: 0x40192c20, + 0x28b4: 0x40192e20, 0x28b5: 0x40193020, 0x28b6: 0x40193220, 0x28b7: 0x40193420, + 0x28b8: 0x40193620, 0x28b9: 0x40193820, 0x28ba: 0x40193a20, 0x28bb: 0x40193c20, + 0x28bc: 0x40193e20, 0x28bd: 0x40194020, 0x28be: 0x40194220, 0x28bf: 0x40194420, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x4012ce20, 0x28c1: 0x4012d020, 0x28c2: 0x4012d220, 0x28c3: 0x4012d420, + 0x28c4: 0x4012d620, 0x28c5: 0x4012d820, 0x28c6: 0x4012da20, 0x28c7: 0x4012dc20, + 0x28c8: 0x4012de20, 0x28c9: 0x4012e020, 0x28ca: 0x4012e220, 0x28cb: 0x4012e420, + 0x28cc: 0x4012e620, 0x28cd: 0x4012e820, 0x28ce: 0x4012ea20, 0x28cf: 0x4012ec20, + 0x28d0: 0x4012ee20, 0x28d1: 0x4012f020, 0x28d2: 0x4012f220, 0x28d3: 0x4012f420, + 0x28d4: 0x4012f620, 0x28d5: 0x4012f820, 0x28d6: 0x4012fa20, 0x28d7: 0x4012fc20, + 0x28d8: 0x4012fe20, 0x28d9: 0x40130020, 0x28da: 0x40130220, 0x28db: 0x40130420, + 0x28dc: 0x40130620, 0x28dd: 0x40130820, 0x28de: 0x40130a20, 0x28df: 0x40130c20, + 0x28e0: 0x40130e20, 0x28e1: 0x40131020, 0x28e2: 0x40131220, 0x28e3: 0x40131420, + 0x28e4: 0x40131620, 0x28e5: 0x40131820, 0x28e6: 0x40131a20, 0x28e7: 0x40131c20, + 0x28e8: 0x40131e20, 0x28e9: 0x40132020, 0x28ea: 0x40132220, 0x28eb: 0x40132420, + 0x28ec: 0x40132620, 0x28ed: 0x40132820, 0x28ee: 0x40132a20, 0x28ef: 0x40132c20, + 0x28f0: 0x40132e20, 0x28f1: 0x40133020, 0x28f2: 0x40133220, 0x28f3: 0x40133420, + 0x28f4: 0x40133620, 0x28f5: 0x40133820, 0x28f6: 0x40133a20, 0x28f7: 0x40133c20, + 0x28f8: 0x40133e20, 0x28f9: 0x40134020, 0x28fa: 0x40134220, 0x28fb: 0x40134420, + 0x28fc: 0x40134620, 0x28fd: 0x40134820, 0x28fe: 0x40134a20, 0x28ff: 0x40134c20, + // Block 0xa4, offset 0x2900 + 0x2900: 0x40134e20, 0x2901: 0x40135020, 0x2902: 0x40135220, 0x2903: 0x40135420, + 0x2904: 0x40135620, 0x2905: 0x40135820, 0x2906: 0x40135a20, 0x2907: 0x40135c20, + 0x2908: 0x40135e20, 0x2909: 0x40136020, 0x290a: 0x40136220, 0x290b: 0x40136420, + 0x290c: 0x40136620, 0x290d: 0x40136820, 0x290e: 0x40136a20, 0x290f: 0x40136c20, + 0x2910: 0x40136e20, 0x2911: 0x40137020, 0x2912: 0x40137220, 0x2913: 0x40137420, + 0x2914: 0x40137620, 0x2915: 0x40137820, 0x2916: 0x40137a20, 0x2917: 0x40137c20, + 0x2918: 0x40137e20, 0x2919: 0x40138020, 0x291a: 0x40138220, 0x291b: 0x40138420, + 0x291c: 0x40138620, 0x291d: 0x40138820, 0x291e: 0x40138a20, 0x291f: 0x40138c20, + 0x2920: 0x40138e20, 0x2921: 0x40139020, 0x2922: 0x40139220, 0x2923: 0x40139420, + 0x2924: 0x40139620, 0x2925: 0x40139820, 0x2926: 0x40139a20, 0x2927: 0x40139c20, + 0x2928: 0x40139e20, 0x2929: 0x4013a020, 0x292a: 0x4013a220, 0x292b: 0x4013a420, + 0x292c: 0x4013a620, 0x292d: 0x4013a820, 0x292e: 0x4013aa20, 0x292f: 0x4013ac20, + 0x2930: 0x4013ae20, 0x2931: 0x4013b020, 0x2932: 0x4013b220, 0x2933: 0x4013b420, + 0x2934: 0x4013b620, 0x2935: 0x4013b820, 0x2936: 0x4013ba20, 0x2937: 0x4013bc20, + 0x2938: 0x4013be20, 0x2939: 0x4013c020, 0x293a: 0x4013c220, 0x293b: 0x4013c420, + 0x293c: 0x4013c620, 0x293d: 0x4013c820, 0x293e: 0x4013ca20, 0x293f: 0x4013cc20, + // Block 0xa5, offset 0x2940 + 0x2940: 0x4013ce20, 0x2941: 0x4013d020, 0x2942: 0x4013d220, 0x2943: 0x40041420, + 0x2944: 0x40041620, 0x2945: 0x40041820, 0x2946: 0x40041a20, 0x2947: 0x40041c20, + 0x2948: 0x40041e20, 0x2949: 0x40042020, 0x294a: 0x40042220, 0x294b: 0x40042420, + 0x294c: 0x40042620, 0x294d: 0x40042820, 0x294e: 0x40042a20, 0x294f: 0x40042c20, + 0x2950: 0x40042e20, 0x2951: 0x40043020, 0x2952: 0x40043220, 0x2953: 0x40043420, + 0x2954: 0x40043620, 0x2955: 0x40043820, 0x2956: 0x40043a20, 0x2957: 0x40043c20, + 0x2958: 0x40043e20, 0x2959: 0x4013d420, 0x295a: 0x4013d620, 0x295b: 0x4013d820, + 0x295c: 0x4013da20, 0x295d: 0x4013dc20, 0x295e: 0x4013de20, 0x295f: 0x4013e020, + 0x2960: 0x4013e220, 0x2961: 0x4013e420, 0x2962: 0x4013e620, 0x2963: 0x4013e820, + 0x2964: 0x4013ea20, 0x2965: 0x4013ec20, 0x2966: 0x4013ee20, 0x2967: 0x4013f020, + 0x2968: 0x4013f220, 0x2969: 0x4013f420, 0x296a: 0x4013f620, 0x296b: 0x4013f820, + 0x296c: 0x4013fa20, 0x296d: 0x4013fc20, 0x296e: 0x4013fe20, 0x296f: 0x40140020, + 0x2970: 0x40140220, 0x2971: 0x40140420, 0x2972: 0x40140620, 0x2973: 0x40140820, + 0x2974: 0x40140a20, 0x2975: 0x40140c20, 0x2976: 0x40140e20, 0x2977: 0x40141020, + 0x2978: 0x40141220, 0x2979: 0x40141420, 0x297a: 0x40141620, 0x297b: 0x40141820, + 0x297c: 0x40141a20, 0x297d: 0x40141c20, 0x297e: 0x40141e20, 0x297f: 0x40142020, + // Block 0xa6, offset 0x2980 + 0x2980: 0x40142220, 0x2981: 0x40142420, 0x2982: 0x40142620, 0x2983: 0x40142820, + 0x2984: 0x40142a20, 0x2985: 0x40142c20, 0x2986: 0x40142e20, 0x2987: 0x40143020, + 0x2988: 0x40143220, 0x2989: 0x40143420, 0x298a: 0x40143620, 0x298b: 0x40143820, + 0x298c: 0x40143a20, 0x298d: 0x40143c20, 0x298e: 0x40143e20, 0x298f: 0x40144020, + 0x2990: 0x40144220, 0x2991: 0x40144420, 0x2992: 0x40144620, 0x2993: 0x40144820, + 0x2994: 0x40144a20, 0x2995: 0x40144c20, 0x2996: 0x40144e20, 0x2997: 0x40145020, + 0x2998: 0x4004c620, 0x2999: 0x4004c820, 0x299a: 0x4004ca20, 0x299b: 0x4004cc20, + 0x299c: 0x40145220, 0x299d: 0x40145420, 0x299e: 0x40145620, 0x299f: 0x40145820, + 0x29a0: 0x40145a20, 0x29a1: 0x40145c20, 0x29a2: 0x40145e20, 0x29a3: 0x40146020, + 0x29a4: 0x40146220, 0x29a5: 0x40146420, 0x29a6: 0x40146620, 0x29a7: 0x40146820, + 0x29a8: 0x40146a20, 0x29a9: 0x40146c20, 0x29aa: 0x40146e20, 0x29ab: 0x40147020, + 0x29ac: 0x40147220, 0x29ad: 0x40147420, 0x29ae: 0x40147620, 0x29af: 0x40147820, + 0x29b0: 0x40147a20, 0x29b1: 0x40147c20, 0x29b2: 0x40147e20, 0x29b3: 0x40148020, + 0x29b4: 0x40148220, 0x29b5: 0x40148420, 0x29b6: 0x40148620, 0x29b7: 0x40148820, + 0x29b8: 0x40148a20, 0x29b9: 0x40148c20, 0x29ba: 0x40148e20, 0x29bb: 0x40149020, + 0x29bc: 0x40041020, 0x29bd: 0x40041220, 0x29be: 0x40149220, 0x29bf: 0x40149420, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x40149620, 0x29c1: 0x40149820, 0x29c2: 0x40149a20, 0x29c3: 0x40149c20, + 0x29c4: 0x40149e20, 0x29c5: 0x4014a020, 0x29c6: 0x4014a220, 0x29c7: 0x4014a420, + 0x29c8: 0x4014a620, 0x29c9: 0x4014a820, 0x29ca: 0x4014aa20, 0x29cb: 0x4014ac20, + 0x29cc: 0xe00000f0, 0x29cd: 0x4014ae20, 0x29ce: 0x4014b020, 0x29cf: 0x4014b220, + 0x29d0: 0x4014b420, 0x29d1: 0x4014b620, 0x29d2: 0x4014b820, 0x29d3: 0x4014ba20, + 0x29d4: 0x4014bc20, 0x29d5: 0x4014be20, 0x29d6: 0x4014c020, 0x29d7: 0x4014c220, + 0x29d8: 0x4014c420, 0x29d9: 0x4014c620, 0x29da: 0x4014c820, 0x29db: 0x4014ca20, + 0x29dc: 0x4014cc20, 0x29dd: 0x4014ce20, 0x29de: 0x4014d020, 0x29df: 0x4014d220, + 0x29e0: 0x4014d420, 0x29e1: 0x4014d620, 0x29e2: 0x4014d820, 0x29e3: 0x4014da20, + 0x29e4: 0x4014dc20, 0x29e5: 0x4014de20, 0x29e6: 0x4014e020, 0x29e7: 0x4014e220, + 0x29e8: 0x4014e420, 0x29e9: 0x4014e620, 0x29ea: 0x4014e820, 0x29eb: 0x4014ea20, + 0x29ec: 0x4014ec20, 0x29ed: 0x4014ee20, 0x29ee: 0x4014f020, 0x29ef: 0x4014f220, + 0x29f0: 0x4014f420, 0x29f1: 0x4014f620, 0x29f2: 0x4014f820, 0x29f3: 0x4014fa20, + 0x29f4: 0x4014fc20, 0x29f5: 0x4014fe20, 0x29f6: 0x40150020, 0x29f7: 0x40150220, + 0x29f8: 0x40150420, 0x29f9: 0x40150620, 0x29fa: 0x40150820, 0x29fb: 0x40150a20, + 0x29fc: 0x40150c20, 0x29fd: 0x40150e20, 0x29fe: 0x40151020, 0x29ff: 0x40151220, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x40151420, 0x2a01: 0x40151620, 0x2a02: 0x40151820, 0x2a03: 0x40151a20, + 0x2a04: 0x40151c20, 0x2a05: 0x40151e20, 0x2a06: 0x40152020, 0x2a07: 0x40152220, + 0x2a08: 0x40152420, 0x2a09: 0x40152620, 0x2a0a: 0x40152820, 0x2a0b: 0x40152a20, + 0x2a0c: 0x40152c20, 0x2a0d: 0x40152e20, 0x2a0e: 0x40153020, 0x2a0f: 0x40153220, + 0x2a10: 0x40153420, 0x2a11: 0x40153620, 0x2a12: 0x40153820, 0x2a13: 0x40153a20, + 0x2a14: 0x40153c20, 0x2a15: 0x40153e20, 0x2a16: 0x40154020, 0x2a17: 0x40154220, + 0x2a18: 0x40154420, 0x2a19: 0x40154620, 0x2a1a: 0x40154820, 0x2a1b: 0x40154a20, + 0x2a1c: 0x40154c20, 0x2a1d: 0x40154e20, 0x2a1e: 0x40155020, 0x2a1f: 0x40155220, + 0x2a20: 0x40155420, 0x2a21: 0x40155620, 0x2a22: 0x40155820, 0x2a23: 0x40155a20, + 0x2a24: 0x40155c20, 0x2a25: 0x40155e20, 0x2a26: 0x40156020, 0x2a27: 0x40156220, + 0x2a28: 0x40156420, 0x2a29: 0x40156620, 0x2a2a: 0x40156820, 0x2a2b: 0x40156a20, + 0x2a2c: 0x40156c20, 0x2a2d: 0x40156e20, 0x2a2e: 0x40157020, 0x2a2f: 0x40157220, + 0x2a30: 0x40157420, 0x2a31: 0x40157620, 0x2a32: 0x40157820, 0x2a33: 0x40157a20, + 0x2a34: 0xf0000404, 0x2a35: 0xf0001f04, 0x2a36: 0xf0000404, 0x2a37: 0x40157c20, + 0x2a38: 0x40157e20, 0x2a39: 0x40158020, 0x2a3a: 0x40158220, 0x2a3b: 0x40158420, + 0x2a3c: 0x40158620, 0x2a3d: 0x40158820, 0x2a3e: 0x40158a20, 0x2a3f: 0x40158c20, + // Block 0xa9, offset 0x2a40 + 0x2a40: 0x40158e20, 0x2a41: 0x40159020, 0x2a42: 0x40159220, 0x2a43: 0x40159420, + 0x2a44: 0x40159620, 0x2a45: 0x40159820, 0x2a46: 0x40159a20, 0x2a47: 0x40159c20, + 0x2a48: 0x40159e20, 0x2a49: 0x4015a020, 0x2a4a: 0x4015a220, 0x2a4b: 0x4015a420, + 0x2a4c: 0x4015a620, 0x2a4d: 0x4015a820, 0x2a4e: 0x4015aa20, 0x2a4f: 0x4015ac20, + 0x2a50: 0x4015ae20, 0x2a51: 0x4015b020, 0x2a52: 0x4015b220, 0x2a53: 0x4015b420, + 0x2a54: 0x4015b620, 0x2a55: 0x4015b820, 0x2a56: 0x4015ba20, 0x2a57: 0x4015bc20, + 0x2a58: 0x4015be20, 0x2a59: 0x4015c020, 0x2a5a: 0x4015c220, 0x2a5b: 0x4015c420, + 0x2a5c: 0x4015c620, 0x2a5d: 0x4015c820, 0x2a5e: 0x4015ca20, 0x2a5f: 0x4015cc20, + 0x2a60: 0x4015ce20, 0x2a61: 0x4015d020, 0x2a62: 0x4015d220, 0x2a63: 0x4015d420, + 0x2a64: 0x4015d620, 0x2a65: 0x4015d820, 0x2a66: 0x4015da20, 0x2a67: 0x4015dc20, + 0x2a68: 0x4015de20, 0x2a69: 0x4015e020, 0x2a6a: 0x4015e220, 0x2a6b: 0x4015e420, + 0x2a6c: 0x4015e620, 0x2a6d: 0x4015e820, 0x2a6e: 0x4015ea20, 0x2a6f: 0x4015ec20, + 0x2a70: 0x4015ee20, 0x2a71: 0x4015f020, 0x2a72: 0x4015f220, 0x2a73: 0x4015f420, + 0x2a74: 0x4015f620, 0x2a75: 0x4015f820, 0x2a76: 0x4015fa20, 0x2a77: 0x4015fc20, + 0x2a78: 0x4015fe20, 0x2a79: 0x40160020, 0x2a7a: 0x40160220, 0x2a7b: 0x40160420, + 0x2a7c: 0x40160620, 0x2a7d: 0x40160820, 0x2a7e: 0x40160a20, 0x2a7f: 0x40160c20, + // Block 0xaa, offset 0x2a80 + 0x2a80: 0x40160e20, 0x2a81: 0x40161020, 0x2a82: 0x40161220, 0x2a83: 0x40161420, + 0x2a84: 0x40161620, 0x2a85: 0x40161820, 0x2a86: 0x40161a20, 0x2a87: 0x40161c20, + 0x2a88: 0x40161e20, 0x2a89: 0x40162020, 0x2a8a: 0x40162220, 0x2a8b: 0x40162420, + 0x2a8c: 0x40162620, 0x2a8d: 0x40162820, 0x2a8e: 0x40162a20, 0x2a8f: 0x40162c20, + 0x2a90: 0x40162e20, 0x2a91: 0x40163020, 0x2a92: 0x40163220, 0x2a93: 0x40163420, + 0x2a94: 0x40163620, 0x2a95: 0x40163820, 0x2a96: 0x40163a20, 0x2a97: 0x40163c20, + 0x2a98: 0x40163e20, 0x2a99: 0x40164020, 0x2a9a: 0x40164220, 0x2a9b: 0x40164420, + 0x2a9c: 0xe000014f, 0x2a9d: 0x40164620, 0x2a9e: 0x40164820, 0x2a9f: 0x40164a20, + 0x2aa0: 0x40164c20, 0x2aa1: 0x40164e20, 0x2aa2: 0x40165020, 0x2aa3: 0x40165220, + 0x2aa4: 0x40165420, 0x2aa5: 0x40165620, 0x2aa6: 0x40165820, 0x2aa7: 0x40165a20, + 0x2aa8: 0x40165c20, 0x2aa9: 0x40165e20, 0x2aaa: 0x40166020, 0x2aab: 0x40166220, + 0x2aac: 0x40166420, 0x2aad: 0x40166620, 0x2aae: 0x40166820, 0x2aaf: 0x40166a20, + 0x2ab0: 0x40166c20, 0x2ab1: 0x40166e20, 0x2ab2: 0x40167020, 0x2ab3: 0x40167220, + 0x2ab4: 0x40167420, 0x2ab5: 0x40167620, 0x2ab6: 0x40167820, 0x2ab7: 0x40167a20, + 0x2ab8: 0x40167c20, 0x2ab9: 0x40167e20, 0x2aba: 0x40168020, 0x2abb: 0x40168220, + 0x2abc: 0x40168420, 0x2abd: 0x40168620, 0x2abe: 0x40168820, 0x2abf: 0x40168a20, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x40168c20, 0x2ac1: 0x40168e20, 0x2ac2: 0x40169020, 0x2ac3: 0x40169220, + 0x2ac4: 0x40169420, 0x2ac5: 0x40169620, 0x2ac6: 0x40169820, 0x2ac7: 0x40169a20, + 0x2ac8: 0x40169c20, 0x2ac9: 0x40169e20, 0x2aca: 0x4016a020, 0x2acb: 0x4016a220, + 0x2acc: 0x4016a420, 0x2acd: 0x4016a620, 0x2ace: 0x4016a820, 0x2acf: 0x4016aa20, + 0x2ad0: 0x4016ac20, 0x2ad1: 0x4016ae20, 0x2ad2: 0x4016b020, 0x2ad3: 0x4016b220, + 0x2ad4: 0x4016b420, 0x2ad5: 0x4016b620, 0x2ad6: 0x4016b820, 0x2ad7: 0x4016ba20, + 0x2ad8: 0x4016bc20, 0x2ad9: 0x4016be20, 0x2ada: 0x4016c020, 0x2adb: 0x4016c220, + 0x2adc: 0x4016c420, 0x2add: 0x4016c620, 0x2ade: 0x4016c820, 0x2adf: 0x4016ca20, + 0x2ae0: 0x4016cc20, 0x2ae1: 0x4016ce20, 0x2ae2: 0x4016d020, 0x2ae3: 0x4016d220, + 0x2ae4: 0x4016d420, 0x2ae5: 0x4016d620, 0x2ae6: 0x4016d820, 0x2ae7: 0x4016da20, + 0x2ae8: 0x4016dc20, 0x2ae9: 0x4016de20, 0x2aea: 0x4016e020, 0x2aeb: 0x4016e220, + 0x2aec: 0x4016e420, 0x2aed: 0x4016e620, 0x2aee: 0x4016e820, 0x2aef: 0x4016ea20, + 0x2af0: 0x4016ec20, 0x2af1: 0x4016ee20, 0x2af2: 0x4016f020, 0x2af3: 0x4016f220, + 0x2af4: 0x4016f420, 0x2af5: 0x4016f620, 0x2af6: 0x4016f820, 0x2af7: 0x4016fa20, + 0x2af8: 0x4016fc20, 0x2af9: 0x4016fe20, 0x2afa: 0x40170020, 0x2afb: 0x40170220, + 0x2afc: 0x40170420, 0x2afd: 0x40170620, 0x2afe: 0x40170820, 0x2aff: 0x40170a20, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x40170c20, 0x2b01: 0x40170e20, 0x2b02: 0x40171020, 0x2b03: 0x40171220, + 0x2b04: 0x40171420, 0x2b05: 0x40171620, 0x2b06: 0x40171820, 0x2b07: 0x40171a20, + 0x2b08: 0x40171c20, 0x2b09: 0x40171e20, 0x2b0a: 0x40172020, 0x2b0b: 0x40172220, + 0x2b0c: 0x40172420, + 0x2b10: 0x40172620, 0x2b11: 0x40172820, 0x2b12: 0x40172a20, 0x2b13: 0x40172c20, + 0x2b14: 0x40172e20, 0x2b15: 0x40173020, 0x2b16: 0x40173220, 0x2b17: 0x40173420, + 0x2b18: 0x40173620, 0x2b19: 0x40173820, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x00373888, 0x2b41: 0x00373a88, 0x2b42: 0x00373c88, 0x2b43: 0x00373e88, + 0x2b44: 0x00374088, 0x2b45: 0x00374288, 0x2b46: 0x00374488, 0x2b47: 0x00374688, + 0x2b48: 0x00374888, 0x2b49: 0x00374a88, 0x2b4a: 0x00374c88, 0x2b4b: 0x00374e88, + 0x2b4c: 0x00375088, 0x2b4d: 0x00375288, 0x2b4e: 0x00375488, 0x2b4f: 0x00375688, + 0x2b50: 0x00375888, 0x2b51: 0x00375a88, 0x2b52: 0x00375c88, 0x2b53: 0x00375e88, + 0x2b54: 0x00376088, 0x2b55: 0x00376288, 0x2b56: 0x00376488, 0x2b57: 0x00376688, + 0x2b58: 0x00376888, 0x2b59: 0x00376a88, 0x2b5a: 0x00376c88, 0x2b5b: 0x00376e88, + 0x2b5c: 0x00377088, 0x2b5d: 0x00377288, 0x2b5e: 0x00377488, 0x2b5f: 0x00377688, + 0x2b60: 0x00377888, 0x2b61: 0x00377a88, 0x2b62: 0x00377c88, 0x2b63: 0x00377e88, + 0x2b64: 0x00378088, 0x2b65: 0x00378288, 0x2b66: 0x00378488, 0x2b67: 0x00378688, + 0x2b68: 0x00378888, 0x2b69: 0x00378a88, 0x2b6a: 0x00378c88, 0x2b6b: 0x00378e88, + 0x2b6c: 0x00379088, 0x2b6d: 0x00379288, 0x2b6e: 0x00379488, + 0x2b70: 0x40373820, 0x2b71: 0x40373a20, 0x2b72: 0x40373c20, 0x2b73: 0x40373e20, + 0x2b74: 0x40374020, 0x2b75: 0x40374220, 0x2b76: 0x40374420, 0x2b77: 0x40374620, + 0x2b78: 0x40374820, 0x2b79: 0x40374a20, 0x2b7a: 0x40374c20, 0x2b7b: 0x40374e20, + 0x2b7c: 0x40375020, 0x2b7d: 0x40375220, 0x2b7e: 0x40375420, 0x2b7f: 0x40375620, + // Block 0xae, offset 0x2b80 + 0x2b80: 0x40375820, 0x2b81: 0x40375a20, 0x2b82: 0x40375c20, 0x2b83: 0x40375e20, + 0x2b84: 0x40376020, 0x2b85: 0x40376220, 0x2b86: 0x40376420, 0x2b87: 0x40376620, + 0x2b88: 0x40376820, 0x2b89: 0x40376a20, 0x2b8a: 0x40376c20, 0x2b8b: 0x40376e20, + 0x2b8c: 0x40377020, 0x2b8d: 0x40377220, 0x2b8e: 0x40377420, 0x2b8f: 0x40377620, + 0x2b90: 0x40377820, 0x2b91: 0x40377a20, 0x2b92: 0x40377c20, 0x2b93: 0x40377e20, + 0x2b94: 0x40378020, 0x2b95: 0x40378220, 0x2b96: 0x40378420, 0x2b97: 0x40378620, + 0x2b98: 0x40378820, 0x2b99: 0x40378a20, 0x2b9a: 0x40378c20, 0x2b9b: 0x40378e20, + 0x2b9c: 0x40379020, 0x2b9d: 0x40379220, 0x2b9e: 0x40379420, + 0x2ba0: 0x002e4088, 0x2ba1: 0x402e4020, 0x2ba2: 0x002e4288, 0x2ba3: 0x002f3688, + 0x2ba4: 0x002fbe88, 0x2ba5: 0x402be820, 0x2ba6: 0x40303e20, 0x2ba7: 0x002d8888, + 0x2ba8: 0x402d8820, 0x2ba9: 0x002e1288, 0x2baa: 0x402e1220, 0x2bab: 0x00316088, + 0x2bac: 0x40316020, 0x2bad: 0x002bf888, 0x2bae: 0x002e9088, 0x2baf: 0x002bf088, + 0x2bb0: 0x002c0288, 0x2bb1: 0x4030d420, 0x2bb2: 0x0030ec88, 0x2bb3: 0x4030ec20, + 0x2bb4: 0x4030d620, 0x2bb5: 0x002d8a88, 0x2bb6: 0x402d8a20, 0x2bb7: 0x402f5420, + 0x2bb8: 0x402cac20, 0x2bb9: 0x402fb420, 0x2bba: 0x402f0e20, 0x2bbb: 0x402cb620, + 0x2bbc: 0x002dcc95, 0x2bbd: 0x0030be9d, 0x2bbe: 0x002ffc88, 0x2bbf: 0x00315888, + // Block 0xaf, offset 0x2bc0 + 0x2bc0: 0x0032aa88, 0x2bc1: 0x4032aa20, 0x2bc2: 0x0032ac88, 0x2bc3: 0x4032ac20, + 0x2bc4: 0x0032ae88, 0x2bc5: 0x4032ae20, 0x2bc6: 0x0032b088, 0x2bc7: 0x4032b020, + 0x2bc8: 0x0032b288, 0x2bc9: 0x4032b220, 0x2bca: 0x0032b688, 0x2bcb: 0x4032b620, + 0x2bcc: 0x0032b888, 0x2bcd: 0x4032b820, 0x2bce: 0x0032ba88, 0x2bcf: 0x4032ba20, + 0x2bd0: 0x0032bc88, 0x2bd1: 0x4032bc20, 0x2bd2: 0x0032be88, 0x2bd3: 0x4032be20, + 0x2bd4: 0x0032c088, 0x2bd5: 0x4032c020, 0x2bd6: 0x0032c488, 0x2bd7: 0x4032c420, + 0x2bd8: 0x0032c688, 0x2bd9: 0x4032c620, 0x2bda: 0x0032c888, 0x2bdb: 0x4032c820, + 0x2bdc: 0x0032ce88, 0x2bdd: 0x4032ce20, 0x2bde: 0x0032d088, 0x2bdf: 0x4032d020, + 0x2be0: 0x0032d288, 0x2be1: 0x4032d220, 0x2be2: 0x0032d488, 0x2be3: 0x4032d420, + 0x2be4: 0x0032d688, 0x2be5: 0x4032d620, 0x2be6: 0x0032d888, 0x2be7: 0x4032d820, + 0x2be8: 0x0032da88, 0x2be9: 0x4032da20, 0x2bea: 0x0032dc88, 0x2beb: 0x4032dc20, + 0x2bec: 0x0032de88, 0x2bed: 0x4032de20, 0x2bee: 0x0032e088, 0x2bef: 0x4032e020, + 0x2bf0: 0x0032e288, 0x2bf1: 0x4032e220, 0x2bf2: 0x00331888, 0x2bf3: 0x40331820, + 0x2bf4: 0x00331a88, 0x2bf5: 0x40331a20, 0x2bf6: 0x0032b488, 0x2bf7: 0x4032b420, + 0x2bf8: 0x0032c288, 0x2bf9: 0x4032c220, 0x2bfa: 0x0032ca88, 0x2bfb: 0x4032ca20, + 0x2bfc: 0x0032cc88, 0x2bfd: 0x4032cc20, 0x2bfe: 0x0032e488, 0x2bff: 0x4032e420, + // Block 0xb0, offset 0x2c00 + 0x2c00: 0x0032e688, 0x2c01: 0x4032e620, 0x2c02: 0x0032ec88, 0x2c03: 0x4032ec20, + 0x2c04: 0x0032ee88, 0x2c05: 0x4032ee20, 0x2c06: 0x0032f088, 0x2c07: 0x4032f020, + 0x2c08: 0x0032f888, 0x2c09: 0x4032f820, 0x2c0a: 0x0032fc88, 0x2c0b: 0x4032fc20, + 0x2c0c: 0x0032fe88, 0x2c0d: 0x4032fe20, 0x2c0e: 0x00330088, 0x2c0f: 0x40330020, + 0x2c10: 0x00330288, 0x2c11: 0x40330220, 0x2c12: 0x00330488, 0x2c13: 0x40330420, + 0x2c14: 0x00330688, 0x2c15: 0x40330620, 0x2c16: 0x00330c88, 0x2c17: 0x40330c20, + 0x2c18: 0x00331088, 0x2c19: 0x40331020, 0x2c1a: 0x00331288, 0x2c1b: 0x40331220, + 0x2c1c: 0x00331488, 0x2c1d: 0x40331420, 0x2c1e: 0x00331c88, 0x2c1f: 0x40331c20, + 0x2c20: 0x00331e88, 0x2c21: 0x40331e20, 0x2c22: 0x00332088, 0x2c23: 0x40332020, + 0x2c24: 0xe00014b0, 0x2c25: 0x40173a20, 0x2c26: 0x40173c20, 0x2c27: 0x40173e20, + 0x2c28: 0x40174020, 0x2c29: 0x40174220, 0x2c2a: 0x40174420, 0x2c2b: 0x0032ea88, + 0x2c2c: 0x4032ea20, 0x2c2d: 0x00330a88, 0x2c2e: 0x40330a20, 0x2c2f: 0xae605f02, + 0x2c30: 0xae602a02, 0x2c31: 0xae602202, 0x2c32: 0x0032f688, 0x2c33: 0x4032f620, + 0x2c39: 0x4002f820, 0x2c3a: 0x4002d420, 0x2c3b: 0x4002d620, + 0x2c3c: 0x4003b620, 0x2c3d: 0x4028b420, 0x2c3e: 0x4002fa20, 0x2c3f: 0x4003b820, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x40379820, 0x2c41: 0x40379c20, 0x2c42: 0x4037a020, 0x2c43: 0x4037a420, + 0x2c44: 0x4037a820, 0x2c45: 0x4037ac20, 0x2c46: 0x4037b020, 0x2c47: 0x4037b820, + 0x2c48: 0x4037bc20, 0x2c49: 0x4037c020, 0x2c4a: 0x4037c420, 0x2c4b: 0x4037c820, + 0x2c4c: 0x4037cc20, 0x2c4d: 0x4037d420, 0x2c4e: 0x4037d820, 0x2c4f: 0x4037dc20, + 0x2c50: 0x4037e020, 0x2c51: 0x4037e420, 0x2c52: 0x4037e820, 0x2c53: 0x4037f020, + 0x2c54: 0x4037f420, 0x2c55: 0x4037f820, 0x2c56: 0x4037fc20, 0x2c57: 0x40380020, + 0x2c58: 0x40380420, 0x2c59: 0x40380820, 0x2c5a: 0x40380c20, 0x2c5b: 0x40381020, + 0x2c5c: 0x40381420, 0x2c5d: 0x40381820, 0x2c5e: 0x40381c20, 0x2c5f: 0x40382420, + 0x2c60: 0x40382820, 0x2c61: 0x4037b420, 0x2c62: 0x4037d020, 0x2c63: 0x4037ec20, + 0x2c64: 0x40382020, 0x2c65: 0x40382c20, 0x2c67: 0x40383220, + 0x2c6d: 0x40383c20, + 0x2c70: 0x403bbc20, 0x2c71: 0x403bbe20, 0x2c72: 0x403bc020, 0x2c73: 0x403bc220, + 0x2c74: 0x403bc420, 0x2c75: 0x403bc620, 0x2c76: 0x403bc820, 0x2c77: 0x403bca20, + 0x2c78: 0x403bcc20, 0x2c79: 0x403bce20, 0x2c7a: 0x403bd020, 0x2c7b: 0x403bd220, + 0x2c7c: 0x403bd620, 0x2c7d: 0x403bd820, 0x2c7e: 0x403bda20, 0x2c7f: 0x403bdc20, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x403bde20, 0x2c81: 0x403be020, 0x2c82: 0x403be220, 0x2c83: 0x403be420, + 0x2c84: 0x403be620, 0x2c85: 0x403be820, 0x2c86: 0x403bea20, 0x2c87: 0x403bec20, + 0x2c88: 0x403bee20, 0x2c89: 0x403bf020, 0x2c8a: 0x403bf220, 0x2c8b: 0x403bf420, + 0x2c8c: 0x403bf620, 0x2c8d: 0x403bf820, 0x2c8e: 0x403bfa20, 0x2c8f: 0x403bfc20, + 0x2c90: 0x403bfe20, 0x2c91: 0x403c0020, 0x2c92: 0x403c0220, 0x2c93: 0x403c0420, + 0x2c94: 0x403c0820, 0x2c95: 0x403c0a20, 0x2c96: 0x403c0c20, 0x2c97: 0x403c0e20, + 0x2c98: 0x403c1020, 0x2c99: 0x403c1220, 0x2c9a: 0x403c1420, 0x2c9b: 0x403c1620, + 0x2c9c: 0x403c1820, 0x2c9d: 0x403c1a20, 0x2c9e: 0x403c1c20, 0x2c9f: 0x403c1e20, + 0x2ca0: 0x403c2020, 0x2ca1: 0x403c2220, 0x2ca2: 0x403c2420, 0x2ca3: 0x403c2620, + 0x2ca4: 0x403c2820, 0x2ca5: 0x403c2a20, 0x2ca6: 0x403bd420, 0x2ca7: 0x403c0620, + 0x2caf: 0x403c2c20, + 0x2cb0: 0x4005e620, + 0x2cbf: 0xa0900000, + // Block 0xb3, offset 0x2cc0 + 0x2cc0: 0x403c4e20, 0x2cc1: 0x403c7820, 0x2cc2: 0x403c9a20, 0x2cc3: 0x403cac20, + 0x2cc4: 0x403cca20, 0x2cc5: 0x403d1620, 0x2cc6: 0x403d3820, 0x2cc7: 0x403d4a20, + 0x2cc8: 0x403d7620, 0x2cc9: 0x403d8820, 0x2cca: 0x403d9a20, 0x2ccb: 0x403dfc20, + 0x2ccc: 0x403e3a20, 0x2ccd: 0x403e5820, 0x2cce: 0x403e6a20, 0x2ccf: 0x403eae20, + 0x2cd0: 0x403ec020, 0x2cd1: 0x403ee020, 0x2cd2: 0x403f4020, 0x2cd3: 0x403e9620, + 0x2cd4: 0x403e9820, 0x2cd5: 0x403e9a20, 0x2cd6: 0x403e9c20, + 0x2ce0: 0x403f4820, 0x2ce1: 0x403f4a20, 0x2ce2: 0x403f4c20, 0x2ce3: 0x403f4e20, + 0x2ce4: 0x403f5020, 0x2ce5: 0x403f5220, 0x2ce6: 0x403f5420, + 0x2ce8: 0x403f5620, 0x2ce9: 0x403f5820, 0x2cea: 0x403f5a20, 0x2ceb: 0x403f5c20, + 0x2cec: 0x403f5e20, 0x2ced: 0x403f6020, 0x2cee: 0x403f6220, + 0x2cf0: 0x403f6420, 0x2cf1: 0x403f6620, 0x2cf2: 0x403f6820, 0x2cf3: 0x403f6a20, + 0x2cf4: 0x403f6c20, 0x2cf5: 0x403f6e20, 0x2cf6: 0x403f7020, + 0x2cf8: 0x403f7220, 0x2cf9: 0x403f7420, 0x2cfa: 0x403f7620, 0x2cfb: 0x403f7820, + 0x2cfc: 0x403f7a20, 0x2cfd: 0x403f7c20, 0x2cfe: 0x403f7e20, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x403f8020, 0x2d01: 0x403f8220, 0x2d02: 0x403f8420, 0x2d03: 0x403f8620, + 0x2d04: 0x403f8820, 0x2d05: 0x403f8a20, 0x2d06: 0x403f8c20, + 0x2d08: 0x403f8e20, 0x2d09: 0x403f9020, 0x2d0a: 0x403f9220, 0x2d0b: 0x403f9420, + 0x2d0c: 0x403f9620, 0x2d0d: 0x403f9820, 0x2d0e: 0x403f9a20, + 0x2d10: 0x403f9c20, 0x2d11: 0x403f9e20, 0x2d12: 0x403fa020, 0x2d13: 0x403fa220, + 0x2d14: 0x403fa420, 0x2d15: 0x403fa620, 0x2d16: 0x403fa820, + 0x2d18: 0x403faa20, 0x2d19: 0x403fac20, 0x2d1a: 0x403fae20, 0x2d1b: 0x403fb020, + 0x2d1c: 0x403fb220, 0x2d1d: 0x403fb420, 0x2d1e: 0x403fb620, + 0x2d20: 0x84e619a9, 0x2d21: 0x84e619ad, 0x2d22: 0x84e619b1, 0x2d23: 0x84e619c5, + 0x2d24: 0x84e619e5, 0x2d25: 0x84e619f2, 0x2d26: 0x84e61a28, 0x2d27: 0x84e61a42, + 0x2d28: 0x84e61a54, 0x2d29: 0x84e61a5d, 0x2d2a: 0x84e61a77, 0x2d2b: 0x84e61a87, + 0x2d2c: 0x84e61a94, 0x2d2d: 0x84e61a9d, 0x2d2e: 0x84e61aa6, 0x2d2f: 0x84e61ada, + 0x2d30: 0x84e61b01, 0x2d31: 0x84e61b0c, 0x2d32: 0x84e61b2e, 0x2d33: 0x84e61b33, + 0x2d34: 0x84e61b86, 0x2d35: 0xe00014d8, 0x2d36: 0x84e61991, 0x2d37: 0x84e619d9, + 0x2d38: 0x84e61a27, 0x2d39: 0x84e61ad1, 0x2d3a: 0x84e61b4f, 0x2d3b: 0x84e61b5c, + 0x2d3c: 0x84e61b61, 0x2d3d: 0x84e61b6b, 0x2d3e: 0x84e61b70, 0x2d3f: 0x84e61b7a, + // Block 0xb5, offset 0x2d40 + 0x2d40: 0x40052620, 0x2d41: 0x40052820, 0x2d42: 0x40047420, 0x2d43: 0x40047620, + 0x2d44: 0x40047820, 0x2d45: 0x40047a20, 0x2d46: 0x40052a20, 0x2d47: 0x40052c20, + 0x2d48: 0x40052e20, 0x2d49: 0x40047c20, 0x2d4a: 0x40047e20, 0x2d4b: 0x40053020, + 0x2d4c: 0x40048020, 0x2d4d: 0x40048220, 0x2d4e: 0x40053220, 0x2d4f: 0x40053420, + 0x2d50: 0x40053620, 0x2d51: 0x40053820, 0x2d52: 0x40053a20, 0x2d53: 0x40053c20, + 0x2d54: 0x40053e20, 0x2d55: 0x40054020, 0x2d56: 0x40054220, 0x2d57: 0x40023620, + 0x2d58: 0x4002e220, 0x2d59: 0x4003ba20, 0x2d5a: 0x40054420, 0x2d5b: 0x40054620, + 0x2d5c: 0x40048420, 0x2d5d: 0x40048620, 0x2d5e: 0x40054820, 0x2d5f: 0x40054a20, + 0x2d60: 0x40048820, 0x2d61: 0x40048a20, 0x2d62: 0x40048c20, 0x2d63: 0x40048e20, + 0x2d64: 0x40049020, 0x2d65: 0x40049220, 0x2d66: 0x40049420, 0x2d67: 0x40049620, + 0x2d68: 0x40049820, 0x2d69: 0x40049a20, 0x2d6a: 0x4003ae20, 0x2d6b: 0x4003b020, + 0x2d6c: 0x4003b220, 0x2d6d: 0x4003b420, 0x2d6e: 0x4002c820, 0x2d6f: 0x40367020, + 0x2d70: 0x4002fc20, 0x2d71: 0x40030820, 0x2d72: 0x40024420, 0x2d73: 0x40030a20, + 0x2d74: 0x40024220, 0x2d75: 0x40026820, 0x2d76: 0x4004fc20, 0x2d77: 0x4004fe20, + 0x2d78: 0x40050020, 0x2d79: 0x4004d020, 0x2d7a: 0x40023020, 0x2d7b: 0x40023220, + // Block 0xb6, offset 0x2d80 + 0x2d80: 0xe0002401, 0x2d81: 0xe0002416, 0x2d82: 0x029cb684, 0x2d83: 0x029cb484, + 0x2d84: 0xe0002404, 0x2d85: 0x029d7684, 0x2d86: 0xe0002407, 0x2d87: 0xe000240a, + 0x2d88: 0xe000240d, 0x2d89: 0x02a40484, 0x2d8a: 0xe0002410, 0x2d8b: 0xe0002413, + 0x2d8c: 0xe0002419, 0x2d8d: 0xe000241c, 0x2d8e: 0xe000241f, 0x2d8f: 0x02b84684, + 0x2d90: 0x02b84484, 0x2d91: 0xe0002422, 0x2d92: 0x02bbe684, 0x2d93: 0x02bcf484, + 0x2d94: 0x02bea284, 0x2d95: 0xe0002425, 0x2d96: 0x02bf8884, 0x2d97: 0xe0002428, + 0x2d98: 0x02c49884, 0x2d99: 0x02ca6a84, 0x2d9b: 0x02cbc284, + 0x2d9c: 0xe000242b, 0x2d9d: 0xe000242e, 0x2d9e: 0xe0002436, 0x2d9f: 0x02d79a84, + 0x2da0: 0x02d82284, 0x2da1: 0x02d86a84, 0x2da2: 0x02d87484, 0x2da3: 0x02e0d884, + 0x2da4: 0x02e45684, 0x2da5: 0xe0002439, 0x2da6: 0x029c5884, 0x2da7: 0xe000243c, + 0x2da8: 0x02e55a84, 0x2da9: 0xe000243f, 0x2daa: 0xe0002442, 0x2dab: 0xe0002445, + 0x2dac: 0xe0002448, 0x2dad: 0x02f27684, 0x2dae: 0xe000244b, 0x2daf: 0x02f9f284, + 0x2db0: 0x02fd3e84, 0x2db1: 0x02fea684, 0x2db2: 0x02fea484, 0x2db3: 0xe0002451, + 0x2db4: 0xe0002454, 0x2db5: 0xe000244e, 0x2db6: 0xe0002457, 0x2db7: 0xe000245a, + 0x2db8: 0x02ff1684, 0x2db9: 0x03000484, 0x2dba: 0x03010084, 0x2dbb: 0xe000245d, + 0x2dbc: 0xe0002460, 0x2dbd: 0xe0002463, 0x2dbe: 0x0304f284, 0x2dbf: 0xe0002466, + // Block 0xb7, offset 0x2dc0 + 0x2dc0: 0xe0002469, 0x2dc1: 0x030c9c84, 0x2dc2: 0x0310c884, 0x2dc3: 0x03130084, + 0x2dc4: 0x0312fe84, 0x2dc5: 0x03138284, 0x2dc6: 0x0313a484, 0x2dc7: 0xe000246c, + 0x2dc8: 0x03174084, 0x2dc9: 0x031a3a84, 0x2dca: 0xe000246f, 0x2dcb: 0x031ecc84, + 0x2dcc: 0x031f6c84, 0x2dcd: 0xe0002472, 0x2dce: 0xe0002475, 0x2dcf: 0xe0002478, + 0x2dd0: 0x03290a84, 0x2dd1: 0x032aee84, 0x2dd2: 0x032af084, 0x2dd3: 0x032afe84, + 0x2dd4: 0x032bd084, 0x2dd5: 0xe000247b, 0x2dd6: 0x032c3a84, 0x2dd7: 0xe000247e, + 0x2dd8: 0x032ea484, 0x2dd9: 0x032fcc84, 0x2dda: 0x0330ea84, 0x2ddb: 0x03319c84, + 0x2ddc: 0x0331bc84, 0x2ddd: 0x0331be84, 0x2dde: 0xe0002481, 0x2ddf: 0x0331c084, + 0x2de0: 0x0332c684, 0x2de1: 0xe0002484, 0x2de2: 0x0334d884, 0x2de3: 0xe0002487, + 0x2de4: 0xe000248a, 0x2de5: 0x0338f884, 0x2de6: 0x033c3e84, 0x2de7: 0xe000248d, + 0x2de8: 0x033d4c84, 0x2de9: 0x033d8884, 0x2dea: 0x033dfc84, 0x2deb: 0xe0002490, + 0x2dec: 0x033ea084, 0x2ded: 0xe0002493, 0x2dee: 0x033efe84, 0x2def: 0xe0002496, + 0x2df0: 0x033f3284, 0x2df1: 0xe0002499, 0x2df2: 0xe000249c, 0x2df3: 0x033f3e84, + // Block 0xb8, offset 0x2e00 + 0x2e00: 0x029c0084, 0x2e01: 0x029c5084, 0x2e02: 0x029c6c84, 0x2e03: 0x029c7e84, + 0x2e04: 0x029cb284, 0x2e05: 0x029d0a84, 0x2e06: 0x029d1884, 0x2e07: 0x029d4084, + 0x2e08: 0x029d7484, 0x2e09: 0x02a27e84, 0x2e0a: 0x02a2ca84, 0x2e0b: 0x02a2d684, + 0x2e0c: 0x02a30484, 0x2e0d: 0x02a32c84, 0x2e0e: 0x02a35684, 0x2e0f: 0x02a3c084, + 0x2e10: 0x02a3ea84, 0x2e11: 0x02a40084, 0x2e12: 0x02a53684, 0x2e13: 0x02a5f284, + 0x2e14: 0x02a62a84, 0x2e15: 0x02a63484, 0x2e16: 0x02a67084, 0x2e17: 0x02a68284, + 0x2e18: 0x02a6b884, 0x2e19: 0x02a6d284, 0x2e1a: 0x02a70484, 0x2e1b: 0x02a76c84, + 0x2e1c: 0x02a79084, 0x2e1d: 0x02a7c684, 0x2e1e: 0x02adae84, 0x2e1f: 0x02ae3e84, + 0x2e20: 0x02b1d684, 0x2e21: 0x02b20484, 0x2e22: 0x02b21484, 0x2e23: 0x02b22a84, + 0x2e24: 0x02b24e84, 0x2e25: 0x02b2e684, 0x2e26: 0x02b6a084, 0x2e27: 0x02b70084, + 0x2e28: 0x02b7f084, 0x2e29: 0x02b81e84, 0x2e2a: 0x02b84484, 0x2e2b: 0x02b87084, + 0x2e2c: 0x02b8dc84, 0x2e2d: 0x02b8e284, 0x2e2e: 0x02bbb684, 0x2e2f: 0x02bbca84, + 0x2e30: 0x02bbe284, 0x2e31: 0x02bbfc84, 0x2e32: 0x02bce484, 0x2e33: 0x02bcf484, + 0x2e34: 0x02bcfe84, 0x2e35: 0x02bde884, 0x2e36: 0x02bdfc84, 0x2e37: 0x02be1684, + 0x2e38: 0x02be2684, 0x2e39: 0x02bea084, 0x2e3a: 0x02bec284, 0x2e3b: 0x02bee684, + 0x2e3c: 0x02bf8684, 0x2e3d: 0x02c41084, 0x2e3e: 0x02c46c84, 0x2e3f: 0x02c49684, + // Block 0xb9, offset 0x2e40 + 0x2e40: 0x02ca5e84, 0x2e41: 0x02ca6884, 0x2e42: 0x02cb0e84, 0x2e43: 0x02cb2e84, + 0x2e44: 0x02cb4884, 0x2e45: 0x02cb7284, 0x2e46: 0x02cbc084, 0x2e47: 0x02cbca84, + 0x2e48: 0x02cde084, 0x2e49: 0x02ce1084, 0x2e4a: 0x02ce5084, 0x2e4b: 0x02d64084, + 0x2e4c: 0x02d6c484, 0x2e4d: 0x02d6f284, 0x2e4e: 0x02d76684, 0x2e4f: 0x02d79684, + 0x2e50: 0x02d7a884, 0x2e51: 0x02d7b684, 0x2e52: 0x02d81e84, 0x2e53: 0x02d82884, + 0x2e54: 0x02d86884, 0x2e55: 0x02e0d684, 0x2e56: 0x02e45484, 0x2e57: 0x02e46c84, + 0x2e58: 0x02e47684, 0x2e59: 0x02e47e84, 0x2e5a: 0x02e48e84, 0x2e5b: 0x02e4b284, + 0x2e5c: 0x02e4b684, 0x2e5d: 0x02e55884, 0x2e5e: 0x02e70884, 0x2e5f: 0x02e71284, + 0x2e60: 0x02e9b884, 0x2e61: 0x02e9cc84, 0x2e62: 0x02ea3084, 0x2e63: 0x02ea3e84, + 0x2e64: 0x02ea5084, 0x2e65: 0x02ea6084, 0x2e66: 0x02eb1684, 0x2e67: 0x02eb2484, + 0x2e68: 0x02ecec84, 0x2e69: 0x02ecfa84, 0x2e6a: 0x02ed5c84, 0x2e6b: 0x02ed7e84, + 0x2e6c: 0x02eddc84, 0x2e6d: 0x02efb684, 0x2e6e: 0x02efc484, 0x2e6f: 0x02efe684, + 0x2e70: 0x02f27484, 0x2e71: 0x02f37084, 0x2e72: 0x02f37c84, 0x2e73: 0x02f4e884, + 0x2e74: 0x02f59684, 0x2e75: 0x02f5f284, 0x2e76: 0x02f8e684, 0x2e77: 0x02f9f084, + 0x2e78: 0x02fe6c84, 0x2e79: 0x02fea284, 0x2e7a: 0x02ff1484, 0x2e7b: 0x02ff7a84, + 0x2e7c: 0x03000284, 0x2e7d: 0x03001884, 0x2e7e: 0x03002484, 0x2e7f: 0x03006684, + // Block 0xba, offset 0x2e80 + 0x2e80: 0x0300fe84, 0x2e81: 0x03011284, 0x2e82: 0x0303c684, 0x2e83: 0x0303d484, + 0x2e84: 0x0303e684, 0x2e85: 0x0303f884, 0x2e86: 0x03041884, 0x2e87: 0x03043684, + 0x2e88: 0x03043e84, 0x2e89: 0x0304dc84, 0x2e8a: 0x0304e484, 0x2e8b: 0x0304f084, + 0x2e8c: 0x030c9a84, 0x2e8d: 0x030cd684, 0x2e8e: 0x03108084, 0x2e8f: 0x03109884, + 0x2e90: 0x0310c684, 0x2e91: 0x0312fc84, 0x2e92: 0x03131684, 0x2e93: 0x0313a484, + 0x2e94: 0x03140084, 0x2e95: 0x03186e84, 0x2e96: 0x03188c84, 0x2e97: 0x0318aa84, + 0x2e98: 0x0318f084, 0x2e99: 0x03193a84, 0x2e9a: 0x031ac884, 0x2e9b: 0x031ae084, + 0x2e9c: 0x031b6684, 0x2e9d: 0x031d5684, 0x2e9e: 0x031d9484, 0x2e9f: 0x031f3684, + 0x2ea0: 0x031f6084, 0x2ea1: 0x031f6a84, 0x2ea2: 0x03212284, 0x2ea3: 0x03229284, + 0x2ea4: 0x03238c84, 0x2ea5: 0x03239884, 0x2ea6: 0x0323a284, 0x2ea7: 0x032aee84, + 0x2ea8: 0x032b0084, 0x2ea9: 0x032c3884, 0x2eaa: 0x032d6c84, 0x2eab: 0x032d7284, + 0x2eac: 0x032dd084, 0x2ead: 0x032ea284, 0x2eae: 0x032ebc84, 0x2eaf: 0x032ec484, + 0x2eb0: 0x032ed284, 0x2eb1: 0x032f9684, 0x2eb2: 0x032fda84, 0x2eb3: 0x032fe684, + 0x2eb4: 0x03300284, 0x2eb5: 0x03315084, 0x2eb6: 0x0331b684, 0x2eb7: 0x0331be84, + 0x2eb8: 0x03332c84, 0x2eb9: 0x03333284, 0x2eba: 0x03335884, 0x2ebb: 0x03355084, + 0x2ebc: 0x0335b084, 0x2ebd: 0x0335be84, 0x2ebe: 0x03364a84, 0x2ebf: 0x03365e84, + // Block 0xbb, offset 0x2ec0 + 0x2ec0: 0x03366484, 0x2ec1: 0x03367884, 0x2ec2: 0x0336b484, 0x2ec3: 0x0339ca84, + 0x2ec4: 0x033cea84, 0x2ec5: 0x033cfe84, 0x2ec6: 0x033d4a84, 0x2ec7: 0x033d7684, + 0x2ec8: 0x033d8684, 0x2ec9: 0x033d9a84, 0x2eca: 0x033da284, 0x2ecb: 0x033df284, + 0x2ecc: 0x033dfa84, 0x2ecd: 0x033e1c84, 0x2ece: 0x033e2684, 0x2ecf: 0x033e4084, + 0x2ed0: 0x033e7684, 0x2ed1: 0x033e9484, 0x2ed2: 0x033ea484, 0x2ed3: 0x033f1a84, + 0x2ed4: 0x033f3884, 0x2ed5: 0x033f4084, + 0x2ef0: 0x40273a20, 0x2ef1: 0x40273c20, 0x2ef2: 0x40273e20, 0x2ef3: 0x40274020, + 0x2ef4: 0x40274220, 0x2ef5: 0x40274420, 0x2ef6: 0x40274620, 0x2ef7: 0x40274820, + 0x2ef8: 0x40274a20, 0x2ef9: 0x40274c20, 0x2efa: 0x40274e20, 0x2efb: 0x40275020, + // Block 0xbc, offset 0x2f00 + 0x2f00: 0x00021283, 0x2f01: 0x40025c20, 0x2f02: 0x40030420, 0x2f03: 0x40051220, + 0x2f04: 0x40279a20, 0x2f05: 0x4027ca20, 0x2f06: 0xe0002206, 0x2f07: 0xe00001d3, + 0x2f08: 0x40049c20, 0x2f09: 0x40049e20, 0x2f0a: 0x4004a020, 0x2f0b: 0x4004a220, + 0x2f0c: 0x4004a420, 0x2f0d: 0x4004a620, 0x2f0e: 0x4004a820, 0x2f0f: 0x4004aa20, + 0x2f10: 0x4004ac20, 0x2f11: 0x4004ae20, 0x2f12: 0x40279c20, 0x2f13: 0x40279e20, + 0x2f14: 0x4004b020, 0x2f15: 0x4004b220, 0x2f16: 0x4004b420, 0x2f17: 0x4004b620, + 0x2f18: 0x4004b820, 0x2f19: 0x4004ba20, 0x2f1a: 0x4004bc20, 0x2f1b: 0x4004be20, + 0x2f1c: 0x40023820, 0x2f1d: 0x4003ea20, 0x2f1e: 0x4003ec20, 0x2f1f: 0x4003ee20, + 0x2f20: 0x4027a020, 0x2f21: 0xe0000267, 0x2f22: 0xe000037f, 0x2f23: 0xe0000459, + 0x2f24: 0xe000052e, 0x2f25: 0xe00005f8, 0x2f26: 0xe00006c3, 0x2f27: 0xe000076b, + 0x2f28: 0xe0000817, 0x2f29: 0xe00008bc, 0x2f2a: 0xada12202, 0x2f2b: 0xae412302, + 0x2f2c: 0xae812402, 0x2f2d: 0xade12502, 0x2f2e: 0xae012602, 0x2f2f: 0xae012702, + 0x2f30: 0x40023a20, 0x2f31: 0x4027ce20, 0x2f32: 0xe0000152, 0x2f33: 0x4027d020, + 0x2f34: 0xe0000155, 0x2f35: 0x4027d220, 0x2f36: 0x00279c84, 0x2f37: 0x4027a220, + 0x2f38: 0x02a68284, 0x2f39: 0x02a68884, 0x2f3a: 0x02a68a84, 0x2f3b: 0x4027cc20, + 0x2f3c: 0xe000231a, 0x2f3d: 0x40051420, 0x2f3e: 0x4027a420, 0x2f3f: 0x4027a620, + // Block 0xbd, offset 0x2f40 + 0x2f41: 0x0065768d, 0x2f42: 0x0065768e, 0x2f43: 0x0065788d, + 0x2f44: 0x0065788e, 0x2f45: 0x00657a8d, 0x2f46: 0x00657a8e, 0x2f47: 0x00657e8d, + 0x2f48: 0x00657e8e, 0x2f49: 0x0065808d, 0x2f4a: 0x0065808e, 0x2f4b: 0x0065828e, + 0x2f4c: 0xe000216a, 0x2f4d: 0x0065848e, 0x2f4e: 0xe0002188, 0x2f4f: 0x0065868e, + 0x2f50: 0xe00021b8, 0x2f51: 0x0065888e, 0x2f52: 0xe00021d6, 0x2f53: 0x00658a8e, + 0x2f54: 0xe00021e0, 0x2f55: 0x00658c8e, 0x2f56: 0xe00021ef, 0x2f57: 0x00658e8e, + 0x2f58: 0xe0002200, 0x2f59: 0x0065908e, 0x2f5a: 0xe000220f, 0x2f5b: 0x0065928e, + 0x2f5c: 0xe0002215, 0x2f5d: 0x0065948e, 0x2f5e: 0xe0002223, 0x2f5f: 0x0065968e, + 0x2f60: 0xe0002229, 0x2f61: 0x0065988e, 0x2f62: 0xe0002234, 0x2f63: 0x00659a8d, + 0x2f64: 0x00659a8e, 0x2f65: 0xe000223a, 0x2f66: 0x00659c8e, 0x2f67: 0xe0002240, + 0x2f68: 0x00659e8e, 0x2f69: 0xe000224a, 0x2f6a: 0x0065a08e, 0x2f6b: 0x0065a28e, + 0x2f6c: 0x0065a48e, 0x2f6d: 0x0065a68e, 0x2f6e: 0x0065a88e, 0x2f6f: 0x0065aa8e, + 0x2f70: 0xe0002258, 0x2f71: 0xe000225e, 0x2f72: 0x0065ac8e, 0x2f73: 0xe000227a, + 0x2f74: 0xe0002280, 0x2f75: 0x0065ae8e, 0x2f76: 0xe000229a, 0x2f77: 0xe00022a0, + 0x2f78: 0x0065b08e, 0x2f79: 0xe00022bd, 0x2f7a: 0xe00022c3, 0x2f7b: 0x0065b28e, + 0x2f7c: 0xe00022ec, 0x2f7d: 0xe00022f2, 0x2f7e: 0x0065b48e, 0x2f7f: 0x0065b68e, + // Block 0xbe, offset 0x2f80 + 0x2f80: 0x0065b88e, 0x2f81: 0x0065ba8e, 0x2f82: 0x0065bc8e, 0x2f83: 0x0065be8d, + 0x2f84: 0x0065be8e, 0x2f85: 0x0065c08d, 0x2f86: 0x0065c08e, 0x2f87: 0x0065c48d, + 0x2f88: 0x0065c48e, 0x2f89: 0x0065c68e, 0x2f8a: 0x0065c88e, 0x2f8b: 0x0065ca8e, + 0x2f8c: 0x0065cc8e, 0x2f8d: 0x0065ce8e, 0x2f8e: 0x0065d08d, 0x2f8f: 0x0065d08e, + 0x2f90: 0x0065d28e, 0x2f91: 0x0065d48e, 0x2f92: 0x0065d68e, 0x2f93: 0x0065d88e, + 0x2f94: 0xe000214c, 0x2f95: 0x0065828d, 0x2f96: 0x0065888d, + 0x2f99: 0xa0812802, 0x2f9a: 0xa0812902, 0x2f9b: 0x40063c20, + 0x2f9c: 0x40063e20, 0x2f9d: 0x4027d420, 0x2f9e: 0xe0000158, 0x2f9f: 0xf0001616, + 0x2fa0: 0x40023c20, 0x2fa1: 0x0065768f, 0x2fa2: 0x00657691, 0x2fa3: 0x0065788f, + 0x2fa4: 0x00657891, 0x2fa5: 0x00657a8f, 0x2fa6: 0x00657a91, 0x2fa7: 0x00657e8f, + 0x2fa8: 0x00657e91, 0x2fa9: 0x0065808f, 0x2faa: 0x00658091, 0x2fab: 0x00658291, + 0x2fac: 0xe000216d, 0x2fad: 0x00658491, 0x2fae: 0xe000218b, 0x2faf: 0x00658691, + 0x2fb0: 0xe00021bb, 0x2fb1: 0x00658891, 0x2fb2: 0xe00021d9, 0x2fb3: 0x00658a91, + 0x2fb4: 0xe00021e3, 0x2fb5: 0x00658c91, 0x2fb6: 0xe00021f2, 0x2fb7: 0x00658e91, + 0x2fb8: 0xe0002203, 0x2fb9: 0x00659091, 0x2fba: 0xe0002212, 0x2fbb: 0x00659291, + 0x2fbc: 0xe0002218, 0x2fbd: 0x00659491, 0x2fbe: 0xe0002226, 0x2fbf: 0x00659691, + // Block 0xbf, offset 0x2fc0 + 0x2fc0: 0xe000222c, 0x2fc1: 0x00659891, 0x2fc2: 0xe0002237, 0x2fc3: 0x00659a8f, + 0x2fc4: 0x00659a91, 0x2fc5: 0xe000223d, 0x2fc6: 0x00659c91, 0x2fc7: 0xe0002243, + 0x2fc8: 0x00659e91, 0x2fc9: 0xe000224d, 0x2fca: 0x0065a091, 0x2fcb: 0x0065a291, + 0x2fcc: 0x0065a491, 0x2fcd: 0x0065a691, 0x2fce: 0x0065a891, 0x2fcf: 0x0065aa91, + 0x2fd0: 0xe000225b, 0x2fd1: 0xe0002261, 0x2fd2: 0x0065ac91, 0x2fd3: 0xe000227d, + 0x2fd4: 0xe0002283, 0x2fd5: 0x0065ae91, 0x2fd6: 0xe000229d, 0x2fd7: 0xe00022a3, + 0x2fd8: 0x0065b091, 0x2fd9: 0xe00022c0, 0x2fda: 0xe00022c6, 0x2fdb: 0x0065b291, + 0x2fdc: 0xe00022ef, 0x2fdd: 0xe00022f5, 0x2fde: 0x0065b491, 0x2fdf: 0x0065b691, + 0x2fe0: 0x0065b891, 0x2fe1: 0x0065ba91, 0x2fe2: 0x0065bc91, 0x2fe3: 0x0065be8f, + 0x2fe4: 0x0065be91, 0x2fe5: 0x0065c08f, 0x2fe6: 0x0065c091, 0x2fe7: 0x0065c48f, + 0x2fe8: 0x0065c491, 0x2fe9: 0x0065c691, 0x2fea: 0x0065c891, 0x2feb: 0x0065ca91, + 0x2fec: 0x0065cc91, 0x2fed: 0x0065ce91, 0x2fee: 0x0065d08f, 0x2fef: 0x0065d091, + 0x2ff0: 0x0065d291, 0x2ff1: 0x0065d491, 0x2ff2: 0x0065d691, 0x2ff3: 0x0065d891, + 0x2ff4: 0xe000214f, 0x2ff5: 0x0065828f, 0x2ff6: 0x0065888f, 0x2ff7: 0xe000236a, + 0x2ff8: 0xe0002371, 0x2ff9: 0xe0002374, 0x2ffa: 0xe0002377, 0x2ffb: 0x40023e20, + 0x2ffc: 0x4027d620, 0x2ffd: 0x4027d820, 0x2ffe: 0xe000015b, 0x2fff: 0xf0001616, + // Block 0xc0, offset 0x3000 + 0x3005: 0x4065da20, 0x3006: 0x4065dc20, 0x3007: 0x4065de20, + 0x3008: 0x4065e020, 0x3009: 0x4065e420, 0x300a: 0x4065e620, 0x300b: 0x4065e820, + 0x300c: 0x4065ea20, 0x300d: 0x4065ec20, 0x300e: 0x4065ee20, 0x300f: 0x4065f420, + 0x3010: 0x4065f620, 0x3011: 0x4065f820, 0x3012: 0x4065fa20, 0x3013: 0x4065fe20, + 0x3014: 0x40660020, 0x3015: 0x40660220, 0x3016: 0x40660420, 0x3017: 0x40660620, + 0x3018: 0x40660820, 0x3019: 0x40660a20, 0x301a: 0x40661220, 0x301b: 0x40661420, + 0x301c: 0x40661820, 0x301d: 0x40661a20, 0x301e: 0x40661e20, 0x301f: 0x40662020, + 0x3020: 0x40662220, 0x3021: 0x40662420, 0x3022: 0x40662620, 0x3023: 0x40662820, + 0x3024: 0x40662a20, 0x3025: 0x40662e20, 0x3026: 0x40663620, 0x3027: 0x40663820, + 0x3028: 0x40663a20, 0x3029: 0x40663c20, 0x302a: 0x4065e220, 0x302b: 0x4065f020, + 0x302c: 0x4065fc20, 0x302d: 0x40663e20, + 0x3031: 0x0062ac84, 0x3032: 0x0062ae84, 0x3033: 0x00646884, + 0x3034: 0x0062b084, 0x3035: 0x00646c84, 0x3036: 0x00646e84, 0x3037: 0x0062b284, + 0x3038: 0x0062b484, 0x3039: 0x0062b684, 0x303a: 0x00647484, 0x303b: 0x00647684, + 0x303c: 0x00647884, 0x303d: 0x00647a84, 0x303e: 0x00647c84, 0x303f: 0x00647e84, + // Block 0xc1, offset 0x3040 + 0x3040: 0x0062e084, 0x3041: 0x0062b884, 0x3042: 0x0062ba84, 0x3043: 0x0062bc84, + 0x3044: 0x0062ee84, 0x3045: 0x0062be84, 0x3046: 0x0062c084, 0x3047: 0x0062c284, + 0x3048: 0x0062c484, 0x3049: 0x0062c684, 0x304a: 0x0062c884, 0x304b: 0x0062ca84, + 0x304c: 0x0062cc84, 0x304d: 0x0062ce84, 0x304e: 0x0062d084, 0x304f: 0x0063a884, + 0x3050: 0x0063aa84, 0x3051: 0x0063ac84, 0x3052: 0x0063ae84, 0x3053: 0x0063b084, + 0x3054: 0x0063b284, 0x3055: 0x0063b484, 0x3056: 0x0063b684, 0x3057: 0x0063b884, + 0x3058: 0x0063ba84, 0x3059: 0x0063bc84, 0x305a: 0x0063be84, 0x305b: 0x0063c084, + 0x305c: 0x0063c284, 0x305d: 0x0063c484, 0x305e: 0x0063c684, 0x305f: 0x0063c884, + 0x3060: 0x0063ca84, 0x3061: 0x0063cc84, 0x3062: 0x0063ce84, 0x3063: 0x0063d084, + 0x3064: 0x0063a684, 0x3065: 0x0062d484, 0x3066: 0x0062d684, 0x3067: 0x0064a284, + 0x3068: 0x0064a484, 0x3069: 0x0064ac84, 0x306a: 0x0064b084, 0x306b: 0x0064ba84, + 0x306c: 0x0064c284, 0x306d: 0x0064c684, 0x306e: 0x0062e484, 0x306f: 0x0064ce84, + 0x3070: 0x0064d284, 0x3071: 0x0062e684, 0x3072: 0x0062e884, 0x3073: 0x0062ec84, + 0x3074: 0x0062f084, 0x3075: 0x0062f284, 0x3076: 0x0062fa84, 0x3077: 0x0062fe84, + 0x3078: 0x00630284, 0x3079: 0x00630484, 0x307a: 0x00630684, 0x307b: 0x00630884, + 0x307c: 0x00630a84, 0x307d: 0x00631084, 0x307e: 0x00631884, 0x307f: 0x00632c84, + // Block 0xc2, offset 0x3080 + 0x3080: 0x00633a84, 0x3081: 0x00634484, 0x3082: 0x0064f684, 0x3083: 0x0064f884, + 0x3084: 0x00635a84, 0x3085: 0x00635c84, 0x3086: 0x00635e84, 0x3087: 0x0063ee84, + 0x3088: 0x0063f084, 0x3089: 0x0063f684, 0x308a: 0x00640884, 0x308b: 0x00640a84, + 0x308c: 0x00640e84, 0x308d: 0x00642284, 0x308e: 0x00642884, + 0x3090: 0x4027a820, 0x3091: 0x4027aa20, 0x3092: 0x029c0094, 0x3093: 0x029d1894, + 0x3094: 0x029c1294, 0x3095: 0x02adb694, 0x3096: 0x029c1494, 0x3097: 0x029c5a94, + 0x3098: 0x029c1694, 0x3099: 0x02ea6494, 0x309a: 0x029cb294, 0x309b: 0x029c3294, + 0x309c: 0x029c0294, 0x309d: 0x02b25294, 0x309e: 0x02ae6094, 0x309f: 0x029d7494, + 0x30a0: 0xe000237a, 0x30a1: 0xe0002383, 0x30a2: 0xe0002380, 0x30a3: 0xe000237d, + 0x30a4: 0x40661c20, 0x30a5: 0xe000238c, 0x30a6: 0x40661620, 0x30a7: 0xe0002389, + 0x30a8: 0xe000239e, 0x30a9: 0xe0002386, 0x30aa: 0xe0002395, 0x30ab: 0xe000239b, + 0x30ac: 0x40663420, 0x30ad: 0x4065f220, 0x30ae: 0xe000238f, 0x30af: 0xe0002392, + 0x30b0: 0x40663020, 0x30b1: 0x40663220, 0x30b2: 0x40662c20, 0x30b3: 0xe0002398, + 0x30b4: 0x0065dc99, 0x30b5: 0x0065e699, 0x30b6: 0x0065ee99, 0x30b7: 0x0065f499, + 0x30b8: 0x40660c20, 0x30b9: 0x40660e20, 0x30ba: 0x40661020, + // Block 0xc3, offset 0x30c0 + 0x30c0: 0x40275220, 0x30c1: 0x40275420, 0x30c2: 0x40275620, 0x30c3: 0x40275820, + 0x30c4: 0x40275a20, 0x30c5: 0x40275c20, 0x30c6: 0x40275e20, 0x30c7: 0x40276020, + 0x30c8: 0x40276220, 0x30c9: 0x40276420, 0x30ca: 0x40276620, 0x30cb: 0x40276820, + 0x30cc: 0x40276a20, 0x30cd: 0x40276c20, 0x30ce: 0x40276e20, 0x30cf: 0x40277020, + 0x30d0: 0x40277220, 0x30d1: 0x40277420, 0x30d2: 0x40277620, 0x30d3: 0x40277820, + 0x30d4: 0x40277a20, 0x30d5: 0x40277c20, 0x30d6: 0x40277e20, 0x30d7: 0x40278020, + 0x30d8: 0x40278220, 0x30d9: 0x40278420, 0x30da: 0x40278620, 0x30db: 0x40278820, + 0x30dc: 0x40278a20, 0x30dd: 0x40278c20, 0x30de: 0x40278e20, 0x30df: 0x40279020, + 0x30e0: 0x40279220, 0x30e1: 0x40279420, 0x30e2: 0x40279620, 0x30e3: 0x40279820, + 0x30f0: 0x0065868f, 0x30f1: 0x00658e8f, 0x30f2: 0x0065908f, 0x30f3: 0x00659e8f, + 0x30f4: 0x0065a48f, 0x30f5: 0x0065aa8f, 0x30f6: 0x0065ac8f, 0x30f7: 0x0065ae8f, + 0x30f8: 0x0065b08f, 0x30f9: 0x0065b28f, 0x30fa: 0x0065b88f, 0x30fb: 0x0065c68f, + 0x30fc: 0x0065c88f, 0x30fd: 0x0065ca8f, 0x30fe: 0x0065cc8f, 0x30ff: 0x0065ce8f, + // Block 0xc4, offset 0x3100 + 0x3100: 0xf0000404, 0x3101: 0xf0000404, 0x3102: 0xf0000404, 0x3103: 0xf0000404, + 0x3104: 0xf0000404, 0x3105: 0xf0000404, 0x3106: 0xf0000404, 0x3107: 0xf0000404, + 0x3108: 0xf0000404, 0x3109: 0xf0000404, 0x310a: 0xf0000404, 0x310b: 0xf0000404, + 0x310c: 0xf0000404, 0x310d: 0xf0000404, 0x310e: 0xe000004c, 0x310f: 0xe0000051, + 0x3110: 0xe0000056, 0x3111: 0xe000005b, 0x3112: 0xe0000060, 0x3113: 0xe0000065, + 0x3114: 0xe000006a, 0x3115: 0xe000006f, 0x3116: 0xe0000083, 0x3117: 0xe000008d, + 0x3118: 0xe0000092, 0x3119: 0xe0000097, 0x311a: 0xe000009c, 0x311b: 0xe00000a1, + 0x311c: 0xe0000088, 0x311d: 0xe0000074, 0x311e: 0xe000007c, + 0x3120: 0xf0000404, 0x3121: 0xf0000404, 0x3122: 0xf0000404, 0x3123: 0xf0000404, + 0x3124: 0xf0000404, 0x3125: 0xf0000404, 0x3126: 0xf0000404, 0x3127: 0xf0000404, + 0x3128: 0xf0000404, 0x3129: 0xf0000404, 0x312a: 0xf0000404, 0x312b: 0xf0000404, + 0x312c: 0xf0000404, 0x312d: 0xf0000404, 0x312e: 0xf0000404, 0x312f: 0xf0000404, + 0x3130: 0xf0000404, 0x3131: 0xf0000404, 0x3132: 0xf0000404, 0x3133: 0xf0000404, + 0x3134: 0xf0000404, 0x3135: 0xf0000404, 0x3136: 0xf0000404, 0x3137: 0xf0000404, + 0x3138: 0xf0000404, 0x3139: 0xf0000404, 0x313a: 0xf0000404, 0x313b: 0xf0000404, + 0x313c: 0xf0000404, 0x313d: 0xf0000404, 0x313e: 0xf0000404, 0x313f: 0xf0000404, + // Block 0xc5, offset 0x3140 + 0x3140: 0xf0000404, 0x3141: 0xf0000404, 0x3142: 0xf0000404, 0x3143: 0xf0000404, + 0x3144: 0x02aa9e86, 0x3145: 0x02bcf886, 0x3146: 0x02cb0e86, 0x3147: 0x02f71e86, + 0x3148: 0xe00002e3, 0x3149: 0xe00003d8, 0x314a: 0xe00004b3, 0x314b: 0xe000057d, + 0x314c: 0xe0000648, 0x314d: 0xe00006f0, 0x314e: 0xe000079c, 0x314f: 0xe0000841, + 0x3150: 0xe0000ec0, 0x3151: 0xf0000606, 0x3152: 0xf0000606, 0x3153: 0xf0000606, + 0x3154: 0xf0000606, 0x3155: 0xf0000606, 0x3156: 0xf0000606, 0x3157: 0xf0000606, + 0x3158: 0xf0000606, 0x3159: 0xf0000606, 0x315a: 0xf0000606, 0x315b: 0xf0000606, + 0x315c: 0xf0000606, 0x315d: 0xf0000606, 0x315e: 0xf0000606, 0x315f: 0xf0000606, + 0x3160: 0x0062ac86, 0x3161: 0x0062b086, 0x3162: 0x0062b286, 0x3163: 0x0062b686, + 0x3164: 0x0062b886, 0x3165: 0x0062ba86, 0x3166: 0x0062be86, 0x3167: 0x0062c286, + 0x3168: 0x0062c486, 0x3169: 0x0062c886, 0x316a: 0x0062ca86, 0x316b: 0x0062cc86, + 0x316c: 0x0062ce86, 0x316d: 0x0062d086, 0x316e: 0xf0000606, 0x316f: 0xf0000606, + 0x3170: 0xf0000606, 0x3171: 0xf0000606, 0x3172: 0xf0000606, 0x3173: 0xf0000606, + 0x3174: 0xf0000606, 0x3175: 0xf0000606, 0x3176: 0xf0000606, 0x3177: 0xf0000606, + 0x3178: 0xf0000606, 0x3179: 0xf0000606, 0x317a: 0xf0000606, 0x317b: 0xf0000606, + 0x317c: 0xe0002127, 0x317d: 0xe0002122, 0x317e: 0xf0000606, 0x317f: 0x4027ac20, + // Block 0xc6, offset 0x3180 + 0x3180: 0x029c0086, 0x3181: 0x029d1886, 0x3182: 0x029c1286, 0x3183: 0x02adb686, + 0x3184: 0x029d2886, 0x3185: 0x02a2da86, 0x3186: 0x029c0686, 0x3187: 0x02a2d686, + 0x3188: 0x029cba86, 0x3189: 0x02a68286, 0x318a: 0x02ce1086, 0x318b: 0x02e0d686, + 0x318c: 0x02d86886, 0x318d: 0x02ce5086, 0x318e: 0x0323a286, 0x318f: 0x02ae3e86, + 0x3190: 0x02cbca86, 0x3191: 0x02d05486, 0x3192: 0x02ce1286, 0x3193: 0x02f27c86, + 0x3194: 0x02a81a86, 0x3195: 0x02e4f286, 0x3196: 0x03194286, 0x3197: 0x02f2ba86, + 0x3198: 0x02a56886, 0x3199: 0x02f3b086, 0x319a: 0x02ea6e86, 0x319b: 0x02b2e686, + 0x319c: 0x0320d286, 0x319d: 0x02a25486, 0x319e: 0x02a6e086, 0x319f: 0x02d9d086, + 0x31a0: 0x03300a86, 0x31a1: 0x029e2286, 0x31a2: 0x02a33286, 0x31a3: 0x02d6c686, + 0x31a4: 0x029c1486, 0x31a5: 0x029c5a86, 0x31a6: 0x029c1686, 0x31a7: 0x02bbcc86, + 0x31a8: 0x02a7e686, 0x31a9: 0x02a67686, 0x31aa: 0x02b72e86, 0x31ab: 0x02b6cc86, + 0x31ac: 0x02edc686, 0x31ad: 0x029e0286, 0x31ae: 0x03198e86, 0x31af: 0x02a6a886, + 0x31b0: 0x02b23886, 0x31b1: 0xf0000606, 0x31b2: 0xf0000606, 0x31b3: 0xf0000606, + 0x31b4: 0xf0000606, 0x31b5: 0xf0000606, 0x31b6: 0xf0000606, 0x31b7: 0xf0000606, + 0x31b8: 0xf0000606, 0x31b9: 0xf0000606, 0x31ba: 0xf0000606, 0x31bb: 0xf0000606, + 0x31bc: 0xf0000606, 0x31bd: 0xf0000606, 0x31be: 0xf0000606, 0x31bf: 0xf0000606, + // Block 0xc7, offset 0x31c0 + 0x31c0: 0xf0001f04, 0x31c1: 0xf0001f04, 0x31c2: 0xf0001f04, 0x31c3: 0xf0001f04, + 0x31c4: 0xf0001f04, 0x31c5: 0xf0001f04, 0x31c6: 0xf0001f04, 0x31c7: 0xf0001f04, + 0x31c8: 0xf0001f04, 0x31c9: 0xf0000404, 0x31ca: 0xf0000404, 0x31cb: 0xf0000404, + 0x31cc: 0xf0001c1d, 0x31cd: 0xe0000b85, 0x31ce: 0xf0001d1c, 0x31cf: 0xe0000d14, + 0x31d0: 0x00657693, 0x31d1: 0x00657893, 0x31d2: 0x00657a93, 0x31d3: 0x00657e93, + 0x31d4: 0x00658093, 0x31d5: 0x00658293, 0x31d6: 0x00658493, 0x31d7: 0x00658693, + 0x31d8: 0x00658893, 0x31d9: 0x00658a93, 0x31da: 0x00658c93, 0x31db: 0x00658e93, + 0x31dc: 0x00659093, 0x31dd: 0x00659293, 0x31de: 0x00659493, 0x31df: 0x00659693, + 0x31e0: 0x00659893, 0x31e1: 0x00659a93, 0x31e2: 0x00659c93, 0x31e3: 0x00659e93, + 0x31e4: 0x0065a093, 0x31e5: 0x0065a293, 0x31e6: 0x0065a493, 0x31e7: 0x0065a693, + 0x31e8: 0x0065a893, 0x31e9: 0x0065aa93, 0x31ea: 0x0065ac93, 0x31eb: 0x0065ae93, + 0x31ec: 0x0065b093, 0x31ed: 0x0065b293, 0x31ee: 0x0065b493, 0x31ef: 0x0065b693, + 0x31f0: 0x0065b893, 0x31f1: 0x0065ba93, 0x31f2: 0x0065bc93, 0x31f3: 0x0065be93, + 0x31f4: 0x0065c093, 0x31f5: 0x0065c493, 0x31f6: 0x0065c693, 0x31f7: 0x0065c893, + 0x31f8: 0x0065ca93, 0x31f9: 0x0065cc93, 0x31fa: 0x0065ce93, 0x31fb: 0x0065d093, + 0x31fc: 0x0065d293, 0x31fd: 0x0065d493, 0x31fe: 0x0065d693, + // Block 0xc8, offset 0x3200 + 0x3200: 0xe0002131, 0x3201: 0xe0002137, 0x3202: 0xe000213c, 0x3203: 0xe000212d, + 0x3204: 0xe0002142, 0x3205: 0xe0002148, 0x3206: 0xe0002152, 0x3207: 0xe000215b, + 0x3208: 0xe0002156, 0x3209: 0xe0002166, 0x320a: 0xe0002162, 0x320b: 0xe0002170, + 0x320c: 0xe0002174, 0x320d: 0xe0002179, 0x320e: 0xe000217e, 0x320f: 0xe0002183, + 0x3210: 0xe000218e, 0x3211: 0xe0002193, 0x3212: 0xe0002198, 0x3213: 0xe000219d, + 0x3214: 0xf0001c1c, 0x3215: 0xe00021a4, 0x3216: 0xe00021ab, 0x3217: 0xe00021b2, + 0x3218: 0xe00021be, 0x3219: 0xe00021c3, 0x321a: 0xe00021ca, 0x321b: 0xe00021d1, + 0x321c: 0xe00021dc, 0x321d: 0xe00021eb, 0x321e: 0xe00021e6, 0x321f: 0xe00021f5, + 0x3220: 0xe00021fa, 0x3221: 0xe0002209, 0x3222: 0xe000221b, 0x3223: 0xe000221f, + 0x3224: 0xe000222f, 0x3225: 0xe0002246, 0x3226: 0xe0002250, 0x3227: 0xf0001c1c, + 0x3228: 0xf0001c1c, 0x3229: 0xe0002254, 0x322a: 0xe0002276, 0x322b: 0xe0002264, + 0x322c: 0xe000226b, 0x322d: 0xe0002270, 0x322e: 0xe0002286, 0x322f: 0xe000228d, + 0x3230: 0xe0002292, 0x3231: 0xe0002296, 0x3232: 0xe00022a6, 0x3233: 0xe00022ad, + 0x3234: 0xe00022b2, 0x3235: 0xe00022b9, 0x3236: 0xe00022d4, 0x3237: 0xe00022da, + 0x3238: 0xe00022de, 0x3239: 0xe00022e3, 0x323a: 0xe00022e7, 0x323b: 0xe00022c9, + 0x323c: 0xe00022cf, 0x323d: 0xe0002300, 0x323e: 0xe0002306, 0x323f: 0xf0001c1c, + // Block 0xc9, offset 0x3240 + 0x3240: 0xe000230b, 0x3241: 0xe00022f8, 0x3242: 0xe00022fc, 0x3243: 0xe0002311, + 0x3244: 0xe0002316, 0x3245: 0xe000231d, 0x3246: 0xe0002321, 0x3247: 0xe0002325, + 0x3248: 0xe000232b, 0x3249: 0xf0001c1c, 0x324a: 0xe0002330, 0x324b: 0xe000233c, + 0x324c: 0xe0002340, 0x324d: 0xe0002337, 0x324e: 0xe0002346, 0x324f: 0xe000234b, + 0x3250: 0xe000234f, 0x3251: 0xe0002353, 0x3252: 0xf0001c1c, 0x3253: 0xe000235e, + 0x3254: 0xe0002358, 0x3255: 0xf0001c1c, 0x3256: 0xe0002363, 0x3257: 0xe000236d, + 0x3258: 0xf0001f04, 0x3259: 0xf0001f04, 0x325a: 0xf0001f04, 0x325b: 0xf0001f04, + 0x325c: 0xf0001f04, 0x325d: 0xf0001f04, 0x325e: 0xf0001f04, 0x325f: 0xf0001f04, + 0x3260: 0xf0001f04, 0x3261: 0xf0001f04, 0x3262: 0xf0000404, 0x3263: 0xf0000404, + 0x3264: 0xf0000404, 0x3265: 0xf0000404, 0x3266: 0xf0000404, 0x3267: 0xf0000404, + 0x3268: 0xf0000404, 0x3269: 0xf0000404, 0x326a: 0xf0000404, 0x326b: 0xf0000404, + 0x326c: 0xf0000404, 0x326d: 0xf0000404, 0x326e: 0xf0000404, 0x326f: 0xf0000404, + 0x3270: 0xf0000404, 0x3271: 0xe0000c1e, 0x3272: 0xf0001c1c, 0x3273: 0xf0001d1d, + 0x3274: 0xe0000a31, 0x3275: 0xf0001d1c, 0x3276: 0xf0001c1c, 0x3277: 0xf0001c1c, + 0x3278: 0xe0000ac2, 0x3279: 0xe0000ac6, 0x327a: 0xf0001d1d, 0x327b: 0xf0001c1c, + 0x327c: 0xf0001c1c, 0x327d: 0xf0001c1c, 0x327e: 0xf0001c1c, 0x327f: 0xe0002431, + // Block 0xca, offset 0x3280 + 0x3280: 0xf0001d1c, 0x3281: 0xf0001d1c, 0x3282: 0xf0001d1c, 0x3283: 0xf0001d1c, + 0x3284: 0xf0001d1c, 0x3285: 0xf0001d1d, 0x3286: 0xf0001d1d, 0x3287: 0xf0001d1d, + 0x3288: 0xe0000a6b, 0x3289: 0xe0000cb4, 0x328a: 0xf0001d1c, 0x328b: 0xf0001d1c, + 0x328c: 0xf0001d1c, 0x328d: 0xf0001c1c, 0x328e: 0xf0001c1c, 0x328f: 0xf0001c1c, + 0x3290: 0xf0001c1d, 0x3291: 0xe0000cb9, 0x3292: 0xe0000d36, 0x3293: 0xe0000be3, + 0x3294: 0xe0000fc5, 0x3295: 0xf0001c1c, 0x3296: 0xf0001c1c, 0x3297: 0xf0001c1c, + 0x3298: 0xf0001c1c, 0x3299: 0xf0001c1c, 0x329a: 0xf0001c1c, 0x329b: 0xf0001c1c, + 0x329c: 0xf0001c1c, 0x329d: 0xf0001c1c, 0x329e: 0xf0001c1c, 0x329f: 0xe0000d3e, + 0x32a0: 0xe0000a72, 0x32a1: 0xf0001c1c, 0x32a2: 0xe0000cbd, 0x32a3: 0xe0000d42, + 0x32a4: 0xe0000a76, 0x32a5: 0xf0001c1c, 0x32a6: 0xe0000cc1, 0x32a7: 0xe0000d2d, + 0x32a8: 0xe0000d31, 0x32a9: 0xf0001c1d, 0x32aa: 0xe0000cc5, 0x32ab: 0xe0000d4a, + 0x32ac: 0xe0000be7, 0x32ad: 0xe0000f0b, 0x32ae: 0xe0000f0f, 0x32af: 0xe0000f15, + 0x32b0: 0xf0001c1c, 0x32b1: 0xf0001c1c, 0x32b2: 0xf0001c1c, 0x32b3: 0xf0001c1c, + 0x32b4: 0xf0001d1c, 0x32b5: 0xf0001d1c, 0x32b6: 0xf0001d1c, 0x32b7: 0xf0001d1c, + 0x32b8: 0xf0001d1c, 0x32b9: 0xf0001d1d, 0x32ba: 0xf0001d1c, 0x32bb: 0xf0001d1c, + 0x32bc: 0xf0001d1c, 0x32bd: 0xf0001d1c, 0x32be: 0xf0001d1c, 0x32bf: 0xf0001d1d, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0xf0001d1c, 0x32c1: 0xf0001d1d, 0x32c2: 0xe00009b7, 0x32c3: 0xf0001c1d, + 0x32c4: 0xf0001c1c, 0x32c5: 0xf0001c1c, 0x32c6: 0xe0000a66, 0x32c7: 0xe0000a7a, + 0x32c8: 0xf0001d1c, 0x32c9: 0xf0001c1d, 0x32ca: 0xf0001c1c, 0x32cb: 0xf0001d1d, + 0x32cc: 0xf0001c1c, 0x32cd: 0xf0001d1d, 0x32ce: 0xf0001d1d, 0x32cf: 0xf0001c1c, + 0x32d0: 0xf0001c1c, 0x32d1: 0xf0001c1c, 0x32d2: 0xe0000d0d, 0x32d3: 0xf0001c1c, + 0x32d4: 0xf0001c1c, 0x32d5: 0xe0000d3a, 0x32d6: 0xe0000d46, 0x32d7: 0xf0001d1d, + 0x32d8: 0xe0000eb0, 0x32d9: 0xe0000eb8, 0x32da: 0xf0001d1d, 0x32db: 0xf0001c1c, + 0x32dc: 0xf0001c1d, 0x32dd: 0xf0001c1d, 0x32de: 0xe00010b2, 0x32df: 0xe00009c8, + 0x32e0: 0xf0001f04, 0x32e1: 0xf0001f04, 0x32e2: 0xf0001f04, 0x32e3: 0xf0001f04, + 0x32e4: 0xf0001f04, 0x32e5: 0xf0001f04, 0x32e6: 0xf0001f04, 0x32e7: 0xf0001f04, + 0x32e8: 0xf0001f04, 0x32e9: 0xf0000404, 0x32ea: 0xf0000404, 0x32eb: 0xf0000404, + 0x32ec: 0xf0000404, 0x32ed: 0xf0000404, 0x32ee: 0xf0000404, 0x32ef: 0xf0000404, + 0x32f0: 0xf0000404, 0x32f1: 0xf0000404, 0x32f2: 0xf0000404, 0x32f3: 0xf0000404, + 0x32f4: 0xf0000404, 0x32f5: 0xf0000404, 0x32f6: 0xf0000404, 0x32f7: 0xf0000404, + 0x32f8: 0xf0000404, 0x32f9: 0xf0000404, 0x32fa: 0xf0000404, 0x32fb: 0xf0000404, + 0x32fc: 0xf0000404, 0x32fd: 0xf0000404, 0x32fe: 0xf0000404, 0x32ff: 0xe0000bdf, + // Block 0xcc, offset 0x3300 + 0x3300: 0x40196220, 0x3301: 0x40196420, 0x3302: 0x40196620, 0x3303: 0x40196820, + 0x3304: 0x40196a20, 0x3305: 0x40196c20, 0x3306: 0x40196e20, 0x3307: 0x40197020, + 0x3308: 0x40197220, 0x3309: 0x40197420, 0x330a: 0x40197620, 0x330b: 0x40197820, + 0x330c: 0x40197a20, 0x330d: 0x40197c20, 0x330e: 0x40197e20, 0x330f: 0x40198020, + 0x3310: 0x40198220, 0x3311: 0x40198420, 0x3312: 0x40198620, 0x3313: 0x40198820, + 0x3314: 0x40198a20, 0x3315: 0x40198c20, 0x3316: 0x40198e20, 0x3317: 0x40199020, + 0x3318: 0x40199220, 0x3319: 0x40199420, 0x331a: 0x40199620, 0x331b: 0x40199820, + 0x331c: 0x40199a20, 0x331d: 0x40199c20, 0x331e: 0x40199e20, 0x331f: 0x4019a020, + 0x3320: 0x4019a220, 0x3321: 0x4019a420, 0x3322: 0x4019a620, 0x3323: 0x4019a820, + 0x3324: 0x4019aa20, 0x3325: 0x4019ac20, 0x3326: 0x4019ae20, 0x3327: 0x4019b020, + 0x3328: 0x4019b220, 0x3329: 0x4019b420, 0x332a: 0x4019b620, 0x332b: 0x4019b820, + 0x332c: 0x4019ba20, 0x332d: 0x4019bc20, 0x332e: 0x4019be20, 0x332f: 0x4019c020, + 0x3330: 0x4019c220, 0x3331: 0x4019c420, 0x3332: 0x4019c620, 0x3333: 0x4019c820, + 0x3334: 0x4019ca20, 0x3335: 0x4019cc20, 0x3336: 0x4019ce20, 0x3337: 0x4019d020, + 0x3338: 0x4019d220, 0x3339: 0x4019d420, 0x333a: 0x4019d620, 0x333b: 0x4019d820, + 0x333c: 0x4019da20, 0x333d: 0x4019dc20, 0x333e: 0x4019de20, 0x333f: 0x4019e020, + // Block 0xcd, offset 0x3340 + 0x3340: 0x40664020, 0x3341: 0x40664220, 0x3342: 0x40664420, 0x3343: 0x40664620, + 0x3344: 0x40664820, 0x3345: 0x40664a20, 0x3346: 0x40664c20, 0x3347: 0x40664e20, + 0x3348: 0x40665020, 0x3349: 0x40665220, 0x334a: 0x40665420, 0x334b: 0x40665620, + 0x334c: 0x40665820, 0x334d: 0x40665a20, 0x334e: 0x40665c20, 0x334f: 0x40665e20, + 0x3350: 0x40666020, 0x3351: 0x40666220, 0x3352: 0x40666420, 0x3353: 0x40666620, + 0x3354: 0x40666820, 0x3355: 0x40666a20, 0x3356: 0x40666c20, 0x3357: 0x40666e20, + 0x3358: 0x40667020, 0x3359: 0x40667220, 0x335a: 0x40667420, 0x335b: 0x40667620, + 0x335c: 0x40667820, 0x335d: 0x40667a20, 0x335e: 0x40667c20, 0x335f: 0x40667e20, + 0x3360: 0x40668020, 0x3361: 0x40668220, 0x3362: 0x40668420, 0x3363: 0x40668620, + 0x3364: 0x40668820, 0x3365: 0x40668a20, 0x3366: 0x40668c20, 0x3367: 0x40668e20, + 0x3368: 0x40669020, 0x3369: 0x40669220, 0x336a: 0x40669420, 0x336b: 0x40669620, + 0x336c: 0x40669820, 0x336d: 0x40669a20, 0x336e: 0x40669c20, 0x336f: 0x40669e20, + 0x3370: 0x4066a020, 0x3371: 0x4066a220, 0x3372: 0x4066a420, 0x3373: 0x4066a620, + 0x3374: 0x4066a820, 0x3375: 0x4066aa20, 0x3376: 0x4066ac20, 0x3377: 0x4066ae20, + 0x3378: 0x4066b020, 0x3379: 0x4066b220, 0x337a: 0x4066b420, 0x337b: 0x4066b620, + 0x337c: 0x4066b820, 0x337d: 0x4066ba20, 0x337e: 0x4066bc20, 0x337f: 0x4066be20, + // Block 0xce, offset 0x3380 + 0x3380: 0x4066c020, 0x3381: 0x4066c220, 0x3382: 0x4066c420, 0x3383: 0x4066c620, + 0x3384: 0x4066c820, 0x3385: 0x4066ca20, 0x3386: 0x4066cc20, 0x3387: 0x4066ce20, + 0x3388: 0x4066d020, 0x3389: 0x4066d220, 0x338a: 0x4066d420, 0x338b: 0x4066d620, + 0x338c: 0x4066d820, 0x338d: 0x4066da20, 0x338e: 0x4066dc20, 0x338f: 0x4066de20, + 0x3390: 0x4066e020, 0x3391: 0x4066e220, 0x3392: 0x4066e420, 0x3393: 0x4066e620, + 0x3394: 0x4066e820, 0x3395: 0x4066ea20, 0x3396: 0x4066ec20, 0x3397: 0x4066ee20, + 0x3398: 0x4066f020, 0x3399: 0x4066f220, 0x339a: 0x4066f420, 0x339b: 0x4066f620, + 0x339c: 0x4066f820, 0x339d: 0x4066fa20, 0x339e: 0x4066fc20, 0x339f: 0x4066fe20, + 0x33a0: 0x40670020, 0x33a1: 0x40670220, 0x33a2: 0x40670420, 0x33a3: 0x40670620, + 0x33a4: 0x40670820, 0x33a5: 0x40670a20, 0x33a6: 0x40670c20, 0x33a7: 0x40670e20, + 0x33a8: 0x40671020, 0x33a9: 0x40671220, 0x33aa: 0x40671420, 0x33ab: 0x40671620, + 0x33ac: 0x40671820, 0x33ad: 0x40671a20, 0x33ae: 0x40671c20, 0x33af: 0x40671e20, + 0x33b0: 0x40672020, 0x33b1: 0x40672220, 0x33b2: 0x40672420, 0x33b3: 0x40672620, + 0x33b4: 0x40672820, 0x33b5: 0x40672a20, 0x33b6: 0x40672c20, 0x33b7: 0x40672e20, + 0x33b8: 0x40673020, 0x33b9: 0x40673220, 0x33ba: 0x40673420, 0x33bb: 0x40673620, + 0x33bc: 0x40673820, 0x33bd: 0x40673a20, 0x33be: 0x40673c20, 0x33bf: 0x40673e20, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x40674020, 0x33c1: 0x40674220, 0x33c2: 0x40674420, 0x33c3: 0x40674620, + 0x33c4: 0x40674820, 0x33c5: 0x40674a20, 0x33c6: 0x40674c20, 0x33c7: 0x40674e20, + 0x33c8: 0x40675020, 0x33c9: 0x40675220, 0x33ca: 0x40675420, 0x33cb: 0x40675620, + 0x33cc: 0x40675820, 0x33cd: 0x40675a20, 0x33ce: 0x40675c20, 0x33cf: 0x40675e20, + 0x33d0: 0x40676020, 0x33d1: 0x40676220, 0x33d2: 0x40676420, 0x33d3: 0x40676620, + 0x33d4: 0x40676820, 0x33d5: 0x40676a20, 0x33d6: 0x40676c20, 0x33d7: 0x40676e20, + 0x33d8: 0x40677020, 0x33d9: 0x40677220, 0x33da: 0x40677420, 0x33db: 0x40677620, + 0x33dc: 0x40677820, 0x33dd: 0x40677a20, 0x33de: 0x40677c20, 0x33df: 0x40677e20, + 0x33e0: 0x40678020, 0x33e1: 0x40678220, 0x33e2: 0x40678420, 0x33e3: 0x40678620, + 0x33e4: 0x40678820, 0x33e5: 0x40678a20, 0x33e6: 0x40678c20, 0x33e7: 0x40678e20, + 0x33e8: 0x40679020, 0x33e9: 0x40679220, 0x33ea: 0x40679420, 0x33eb: 0x40679620, + 0x33ec: 0x40679820, 0x33ed: 0x40679a20, 0x33ee: 0x40679c20, 0x33ef: 0x40679e20, + 0x33f0: 0x4067a020, 0x33f1: 0x4067a220, 0x33f2: 0x4067a420, 0x33f3: 0x4067a620, + 0x33f4: 0x4067a820, 0x33f5: 0x4067aa20, 0x33f6: 0x4067ac20, 0x33f7: 0x4067ae20, + 0x33f8: 0x4067b020, 0x33f9: 0x4067b220, 0x33fa: 0x4067b420, 0x33fb: 0x4067b620, + 0x33fc: 0x4067b820, 0x33fd: 0x4067ba20, 0x33fe: 0x4067bc20, 0x33ff: 0x4067be20, + // Block 0xd0, offset 0x3400 + 0x3400: 0x4067c020, 0x3401: 0x4067c220, 0x3402: 0x4067c420, 0x3403: 0x4067c620, + 0x3404: 0x4067c820, 0x3405: 0x4067ca20, 0x3406: 0x4067cc20, 0x3407: 0x4067ce20, + 0x3408: 0x4067d020, 0x3409: 0x4067d220, 0x340a: 0x4067d420, 0x340b: 0x4067d620, + 0x340c: 0x4067d820, 0x340d: 0x4067da20, 0x340e: 0x4067dc20, 0x340f: 0x4067de20, + 0x3410: 0x4067e020, 0x3411: 0x4067e220, 0x3412: 0x4067e420, 0x3413: 0x4067e620, + 0x3414: 0x4067e820, 0x3415: 0x4067ea20, 0x3416: 0x4067ec20, 0x3417: 0x4067ee20, + 0x3418: 0x4067f020, 0x3419: 0x4067f220, 0x341a: 0x4067f420, 0x341b: 0x4067f620, + 0x341c: 0x4067f820, 0x341d: 0x4067fa20, 0x341e: 0x4067fc20, 0x341f: 0x4067fe20, + 0x3420: 0x40680020, 0x3421: 0x40680220, 0x3422: 0x40680420, 0x3423: 0x40680620, + 0x3424: 0x40680820, 0x3425: 0x40680a20, 0x3426: 0x40680c20, 0x3427: 0x40680e20, + 0x3428: 0x40681020, 0x3429: 0x40681220, 0x342a: 0x40681420, 0x342b: 0x40681620, + 0x342c: 0x40681820, 0x342d: 0x40681a20, 0x342e: 0x40681c20, 0x342f: 0x40681e20, + 0x3430: 0x40682020, 0x3431: 0x40682220, 0x3432: 0x40682420, 0x3433: 0x40682620, + 0x3434: 0x40682820, 0x3435: 0x40682a20, 0x3436: 0x40682c20, 0x3437: 0x40682e20, + 0x3438: 0x40683020, 0x3439: 0x40683220, 0x343a: 0x40683420, 0x343b: 0x40683620, + 0x343c: 0x40683820, 0x343d: 0x40683a20, 0x343e: 0x40683c20, 0x343f: 0x40683e20, + // Block 0xd1, offset 0x3440 + 0x3440: 0x40684020, 0x3441: 0x40684220, 0x3442: 0x40684420, 0x3443: 0x40684620, + 0x3444: 0x40684820, 0x3445: 0x40684a20, 0x3446: 0x40684c20, 0x3447: 0x40684e20, + 0x3448: 0x40685020, 0x3449: 0x40685220, 0x344a: 0x40685420, 0x344b: 0x40685620, + 0x344c: 0x40685820, 0x344d: 0x40685a20, 0x344e: 0x40685c20, 0x344f: 0x40685e20, + 0x3450: 0x40686020, 0x3451: 0x40686220, 0x3452: 0x40686420, 0x3453: 0x40686620, + 0x3454: 0x40686820, 0x3455: 0x40686a20, 0x3456: 0x40686c20, 0x3457: 0x40686e20, + 0x3458: 0x40687020, 0x3459: 0x40687220, 0x345a: 0x40687420, 0x345b: 0x40687620, + 0x345c: 0x40687820, 0x345d: 0x40687a20, 0x345e: 0x40687c20, 0x345f: 0x40687e20, + 0x3460: 0x40688020, 0x3461: 0x40688220, 0x3462: 0x40688420, 0x3463: 0x40688620, + 0x3464: 0x40688820, 0x3465: 0x40688a20, 0x3466: 0x40688c20, 0x3467: 0x40688e20, + 0x3468: 0x40689020, 0x3469: 0x40689220, 0x346a: 0x40689420, 0x346b: 0x40689620, + 0x346c: 0x40689820, 0x346d: 0x40689a20, 0x346e: 0x40689c20, 0x346f: 0x40689e20, + 0x3470: 0x4068a020, 0x3471: 0x4068a220, 0x3472: 0x4068a420, 0x3473: 0x4068a620, + 0x3474: 0x4068a820, 0x3475: 0x4068aa20, 0x3476: 0x4068ac20, 0x3477: 0x4068ae20, + 0x3478: 0x4068b020, 0x3479: 0x4068b220, 0x347a: 0x4068b420, 0x347b: 0x4068b620, + 0x347c: 0x4068b820, 0x347d: 0x4068ba20, 0x347e: 0x4068bc20, 0x347f: 0x4068be20, + // Block 0xd2, offset 0x3480 + 0x3480: 0x4068c020, 0x3481: 0x4068c220, 0x3482: 0x4068c420, 0x3483: 0x4068c620, + 0x3484: 0x4068c820, 0x3485: 0x4068ca20, 0x3486: 0x4068cc20, 0x3487: 0x4068ce20, + 0x3488: 0x4068d020, 0x3489: 0x4068d220, 0x348a: 0x4068d420, 0x348b: 0x4068d620, + 0x348c: 0x4068d820, 0x348d: 0x4068da20, 0x348e: 0x4068dc20, 0x348f: 0x4068de20, + 0x3490: 0x4068e020, 0x3491: 0x4068e220, 0x3492: 0x4068e420, 0x3493: 0x4068e620, + 0x3494: 0x4068e820, 0x3495: 0x4068ea20, 0x3496: 0x4068ec20, 0x3497: 0x4068ee20, + 0x3498: 0x4068f020, 0x3499: 0x4068f220, 0x349a: 0x4068f420, 0x349b: 0x4068f620, + 0x349c: 0x4068f820, 0x349d: 0x4068fa20, 0x349e: 0x4068fc20, 0x349f: 0x4068fe20, + 0x34a0: 0x40690020, 0x34a1: 0x40690220, 0x34a2: 0x40690420, 0x34a3: 0x40690620, + 0x34a4: 0x40690820, 0x34a5: 0x40690a20, 0x34a6: 0x40690c20, 0x34a7: 0x40690e20, + 0x34a8: 0x40691020, 0x34a9: 0x40691220, 0x34aa: 0x40691420, 0x34ab: 0x40691620, + 0x34ac: 0x40691820, 0x34ad: 0x40691a20, 0x34ae: 0x40691c20, 0x34af: 0x40691e20, + 0x34b0: 0x40692020, 0x34b1: 0x40692220, 0x34b2: 0x40692420, 0x34b3: 0x40692620, + 0x34b4: 0x40692820, 0x34b5: 0x40692a20, 0x34b6: 0x40692c20, 0x34b7: 0x40692e20, + 0x34b8: 0x40693020, 0x34b9: 0x40693220, 0x34ba: 0x40693420, 0x34bb: 0x40693620, + 0x34bc: 0x40693820, 0x34bd: 0x40693a20, 0x34be: 0x40693c20, 0x34bf: 0x40693e20, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x40694020, 0x34c1: 0x40694220, 0x34c2: 0x40694420, 0x34c3: 0x40694620, + 0x34c4: 0x40694820, 0x34c5: 0x40694a20, 0x34c6: 0x40694c20, 0x34c7: 0x40694e20, + 0x34c8: 0x40695020, 0x34c9: 0x40695220, 0x34ca: 0x40695420, 0x34cb: 0x40695620, + 0x34cc: 0x40695820, 0x34cd: 0x40695a20, 0x34ce: 0x40695c20, 0x34cf: 0x40695e20, + 0x34d0: 0x40696020, 0x34d1: 0x40696220, 0x34d2: 0x40696420, 0x34d3: 0x40696620, + 0x34d4: 0x40696820, 0x34d5: 0x40696a20, 0x34d6: 0x40696c20, 0x34d7: 0x40696e20, + 0x34d8: 0x40697020, 0x34d9: 0x40697220, 0x34da: 0x40697420, 0x34db: 0x40697620, + 0x34dc: 0x40697820, 0x34dd: 0x40697a20, 0x34de: 0x40697c20, 0x34df: 0x40697e20, + 0x34e0: 0x40698020, 0x34e1: 0x40698220, 0x34e2: 0x40698420, 0x34e3: 0x40698620, + 0x34e4: 0x40698820, 0x34e5: 0x40698a20, 0x34e6: 0x40698c20, 0x34e7: 0x40698e20, + 0x34e8: 0x40699020, 0x34e9: 0x40699220, 0x34ea: 0x40699420, 0x34eb: 0x40699620, + 0x34ec: 0x40699820, 0x34ed: 0x40699a20, 0x34ee: 0x40699c20, 0x34ef: 0x40699e20, + 0x34f0: 0x4069a020, 0x34f1: 0x4069a220, 0x34f2: 0x4069a420, 0x34f3: 0x4069a620, + 0x34f4: 0x4069a820, 0x34f5: 0x4069aa20, 0x34f6: 0x4069ac20, 0x34f7: 0x4069ae20, + 0x34f8: 0x4069b020, 0x34f9: 0x4069b220, 0x34fa: 0x4069b420, 0x34fb: 0x4069b620, + 0x34fc: 0x4069b820, 0x34fd: 0x4069ba20, 0x34fe: 0x4069bc20, 0x34ff: 0x4069be20, + // Block 0xd4, offset 0x3500 + 0x3500: 0x4069c020, 0x3501: 0x4069c220, 0x3502: 0x4069c420, 0x3503: 0x4069c620, + 0x3504: 0x4069c820, 0x3505: 0x4069ca20, 0x3506: 0x4069cc20, 0x3507: 0x4069ce20, + 0x3508: 0x4069d020, 0x3509: 0x4069d220, 0x350a: 0x4069d420, 0x350b: 0x4069d620, + 0x350c: 0x4069d820, 0x350d: 0x4069da20, 0x350e: 0x4069dc20, 0x350f: 0x4069de20, + 0x3510: 0x4069e020, 0x3511: 0x4069e220, 0x3512: 0x4069e420, 0x3513: 0x4069e620, + 0x3514: 0x4069e820, 0x3515: 0x4069ea20, 0x3516: 0x4069ec20, 0x3517: 0x4069ee20, + 0x3518: 0x4069f020, 0x3519: 0x4069f220, 0x351a: 0x4069f420, 0x351b: 0x4069f620, + 0x351c: 0x4069f820, 0x351d: 0x4069fa20, 0x351e: 0x4069fc20, 0x351f: 0x4069fe20, + 0x3520: 0x406a0020, 0x3521: 0x406a0220, 0x3522: 0x406a0420, 0x3523: 0x406a0620, + 0x3524: 0x406a0820, 0x3525: 0x406a0a20, 0x3526: 0x406a0c20, 0x3527: 0x406a0e20, + 0x3528: 0x406a1020, 0x3529: 0x406a1220, 0x352a: 0x406a1420, 0x352b: 0x406a1620, + 0x352c: 0x406a1820, 0x352d: 0x406a1a20, 0x352e: 0x406a1c20, 0x352f: 0x406a1e20, + 0x3530: 0x406a2020, 0x3531: 0x406a2220, 0x3532: 0x406a2420, 0x3533: 0x406a2620, + 0x3534: 0x406a2820, 0x3535: 0x406a2a20, 0x3536: 0x406a2c20, 0x3537: 0x406a2e20, + 0x3538: 0x406a3020, 0x3539: 0x406a3220, 0x353a: 0x406a3420, 0x353b: 0x406a3620, + 0x353c: 0x406a3820, 0x353d: 0x406a3a20, 0x353e: 0x406a3c20, 0x353f: 0x406a3e20, + // Block 0xd5, offset 0x3540 + 0x3540: 0x406a4020, 0x3541: 0x406a4220, 0x3542: 0x406a4420, 0x3543: 0x406a4620, + 0x3544: 0x406a4820, 0x3545: 0x406a4a20, 0x3546: 0x406a4c20, 0x3547: 0x406a4e20, + 0x3548: 0x406a5020, 0x3549: 0x406a5220, 0x354a: 0x406a5420, 0x354b: 0x406a5620, + 0x354c: 0x406a5820, 0x354d: 0x406a5a20, 0x354e: 0x406a5c20, 0x354f: 0x406a5e20, + 0x3550: 0x406a6020, 0x3551: 0x406a6220, 0x3552: 0x406a6420, 0x3553: 0x406a6620, + 0x3554: 0x406a6820, 0x3555: 0x406a6a20, 0x3556: 0x406a6c20, 0x3557: 0x406a6e20, + 0x3558: 0x406a7020, 0x3559: 0x406a7220, 0x355a: 0x406a7420, 0x355b: 0x406a7620, + 0x355c: 0x406a7820, 0x355d: 0x406a7a20, 0x355e: 0x406a7c20, 0x355f: 0x406a7e20, + 0x3560: 0x406a8020, 0x3561: 0x406a8220, 0x3562: 0x406a8420, 0x3563: 0x406a8620, + 0x3564: 0x406a8820, 0x3565: 0x406a8a20, 0x3566: 0x406a8c20, 0x3567: 0x406a8e20, + 0x3568: 0x406a9020, 0x3569: 0x406a9220, 0x356a: 0x406a9420, 0x356b: 0x406a9620, + 0x356c: 0x406a9820, 0x356d: 0x406a9a20, 0x356e: 0x406a9c20, 0x356f: 0x406a9e20, + 0x3570: 0x406aa020, 0x3571: 0x406aa220, 0x3572: 0x406aa420, 0x3573: 0x406aa620, + 0x3574: 0x406aa820, 0x3575: 0x406aaa20, 0x3576: 0x406aac20, 0x3577: 0x406aae20, + 0x3578: 0x406ab020, 0x3579: 0x406ab220, 0x357a: 0x406ab420, 0x357b: 0x406ab620, + 0x357c: 0x406ab820, 0x357d: 0x406aba20, 0x357e: 0x406abc20, 0x357f: 0x406abe20, + // Block 0xd6, offset 0x3580 + 0x3580: 0x406ac020, 0x3581: 0x406ac220, 0x3582: 0x406ac420, 0x3583: 0x406ac620, + 0x3584: 0x406ac820, 0x3585: 0x406aca20, 0x3586: 0x406acc20, 0x3587: 0x406ace20, + 0x3588: 0x406ad020, 0x3589: 0x406ad220, 0x358a: 0x406ad420, 0x358b: 0x406ad620, + 0x358c: 0x406ad820, 0x358d: 0x406ada20, 0x358e: 0x406adc20, 0x358f: 0x406ade20, + 0x3590: 0x406ae020, 0x3591: 0x406ae220, 0x3592: 0x406ae420, 0x3593: 0x406ae620, + 0x3594: 0x406ae820, 0x3595: 0x406aea20, 0x3596: 0x406aec20, 0x3597: 0x406aee20, + 0x3598: 0x406af020, 0x3599: 0x406af220, 0x359a: 0x406af420, 0x359b: 0x406af620, + 0x359c: 0x406af820, 0x359d: 0x406afa20, 0x359e: 0x406afc20, 0x359f: 0x406afe20, + 0x35a0: 0x406b0020, 0x35a1: 0x406b0220, 0x35a2: 0x406b0420, 0x35a3: 0x406b0620, + 0x35a4: 0x406b0820, 0x35a5: 0x406b0a20, 0x35a6: 0x406b0c20, 0x35a7: 0x406b0e20, + 0x35a8: 0x406b1020, 0x35a9: 0x406b1220, 0x35aa: 0x406b1420, 0x35ab: 0x406b1620, + 0x35ac: 0x406b1820, 0x35ad: 0x406b1a20, 0x35ae: 0x406b1c20, 0x35af: 0x406b1e20, + 0x35b0: 0x406b2020, 0x35b1: 0x406b2220, 0x35b2: 0x406b2420, 0x35b3: 0x406b2620, + 0x35b4: 0x406b2820, 0x35b5: 0x406b2a20, 0x35b6: 0x406b2c20, 0x35b7: 0x406b2e20, + 0x35b8: 0x406b3020, 0x35b9: 0x406b3220, 0x35ba: 0x406b3420, 0x35bb: 0x406b3620, + 0x35bc: 0x406b3820, 0x35bd: 0x406b3a20, 0x35be: 0x406b3c20, 0x35bf: 0x406b3e20, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x406b4020, 0x35c1: 0x406b4220, 0x35c2: 0x406b4420, 0x35c3: 0x406b4620, + 0x35c4: 0x406b4820, 0x35c5: 0x406b4a20, 0x35c6: 0x406b4c20, 0x35c7: 0x406b4e20, + 0x35c8: 0x406b5020, 0x35c9: 0x406b5220, 0x35ca: 0x406b5420, 0x35cb: 0x406b5620, + 0x35cc: 0x406b5820, 0x35cd: 0x406b5a20, 0x35ce: 0x406b5c20, 0x35cf: 0x406b5e20, + 0x35d0: 0x406b6020, 0x35d1: 0x406b6220, 0x35d2: 0x406b6420, 0x35d3: 0x406b6620, + 0x35d4: 0x406b6820, 0x35d5: 0x406b6a20, 0x35d6: 0x406b6c20, 0x35d7: 0x406b6e20, + 0x35d8: 0x406b7020, 0x35d9: 0x406b7220, 0x35da: 0x406b7420, 0x35db: 0x406b7620, + 0x35dc: 0x406b7820, 0x35dd: 0x406b7a20, 0x35de: 0x406b7c20, 0x35df: 0x406b7e20, + 0x35e0: 0x406b8020, 0x35e1: 0x406b8220, 0x35e2: 0x406b8420, 0x35e3: 0x406b8620, + 0x35e4: 0x406b8820, 0x35e5: 0x406b8a20, 0x35e6: 0x406b8c20, 0x35e7: 0x406b8e20, + 0x35e8: 0x406b9020, 0x35e9: 0x406b9220, 0x35ea: 0x406b9420, 0x35eb: 0x406b9620, + 0x35ec: 0x406b9820, 0x35ed: 0x406b9a20, 0x35ee: 0x406b9c20, 0x35ef: 0x406b9e20, + 0x35f0: 0x406ba020, 0x35f1: 0x406ba220, 0x35f2: 0x406ba420, 0x35f3: 0x406ba620, + 0x35f4: 0x406ba820, 0x35f5: 0x406baa20, 0x35f6: 0x406bac20, 0x35f7: 0x406bae20, + 0x35f8: 0x406bb020, 0x35f9: 0x406bb220, 0x35fa: 0x406bb420, 0x35fb: 0x406bb620, + 0x35fc: 0x406bb820, 0x35fd: 0x406bba20, 0x35fe: 0x406bbc20, 0x35ff: 0x406bbe20, + // Block 0xd8, offset 0x3600 + 0x3600: 0x406bc020, 0x3601: 0x406bc220, 0x3602: 0x406bc420, 0x3603: 0x406bc620, + 0x3604: 0x406bc820, 0x3605: 0x406bca20, 0x3606: 0x406bcc20, 0x3607: 0x406bce20, + 0x3608: 0x406bd020, 0x3609: 0x406bd220, 0x360a: 0x406bd420, 0x360b: 0x406bd620, + 0x360c: 0x406bd820, 0x360d: 0x406bda20, 0x360e: 0x406bdc20, 0x360f: 0x406bde20, + 0x3610: 0x406be020, 0x3611: 0x406be220, 0x3612: 0x406be420, 0x3613: 0x406be620, + 0x3614: 0x406be820, 0x3615: 0x406bea20, 0x3616: 0x406bec20, 0x3617: 0x406bee20, + 0x3618: 0x406bf020, 0x3619: 0x406bf220, 0x361a: 0x406bf420, 0x361b: 0x406bf620, + 0x361c: 0x406bf820, 0x361d: 0x406bfa20, 0x361e: 0x406bfc20, 0x361f: 0x406bfe20, + 0x3620: 0x406c0020, 0x3621: 0x406c0220, 0x3622: 0x406c0420, 0x3623: 0x406c0620, + 0x3624: 0x406c0820, 0x3625: 0x406c0a20, 0x3626: 0x406c0c20, 0x3627: 0x406c0e20, + 0x3628: 0x406c1020, 0x3629: 0x406c1220, 0x362a: 0x406c1420, 0x362b: 0x406c1620, + 0x362c: 0x406c1820, 0x362d: 0x406c1a20, 0x362e: 0x406c1c20, 0x362f: 0x406c1e20, + 0x3630: 0x406c2020, 0x3631: 0x406c2220, 0x3632: 0x406c2420, 0x3633: 0x406c2620, + 0x3634: 0x406c2820, 0x3635: 0x406c2a20, 0x3636: 0x406c2c20, 0x3637: 0x406c2e20, + 0x3638: 0x406c3020, 0x3639: 0x406c3220, 0x363a: 0x406c3420, 0x363b: 0x406c3620, + 0x363c: 0x406c3820, 0x363d: 0x406c3a20, 0x363e: 0x406c3c20, 0x363f: 0x406c3e20, + // Block 0xd9, offset 0x3640 + 0x3640: 0x406c4020, 0x3641: 0x406c4220, 0x3642: 0x406c4420, 0x3643: 0x406c4620, + 0x3644: 0x406c4820, 0x3645: 0x406c4a20, 0x3646: 0x406c4c20, 0x3647: 0x406c4e20, + 0x3648: 0x406c5020, 0x3649: 0x406c5220, 0x364a: 0x406c5420, 0x364b: 0x406c5620, + 0x364c: 0x406c5820, 0x364d: 0x406c5a20, 0x364e: 0x406c5c20, 0x364f: 0x406c5e20, + 0x3650: 0x406c6020, 0x3651: 0x406c6220, 0x3652: 0x406c6420, 0x3653: 0x406c6620, + 0x3654: 0x406c6820, 0x3655: 0x406c6a20, 0x3656: 0x406c6c20, 0x3657: 0x406c6e20, + 0x3658: 0x406c7020, 0x3659: 0x406c7220, 0x365a: 0x406c7420, 0x365b: 0x406c7620, + 0x365c: 0x406c7820, 0x365d: 0x406c7a20, 0x365e: 0x406c7c20, 0x365f: 0x406c7e20, + 0x3660: 0x406c8020, 0x3661: 0x406c8220, 0x3662: 0x406c8420, 0x3663: 0x406c8620, + 0x3664: 0x406c8820, 0x3665: 0x406c8a20, 0x3666: 0x406c8c20, 0x3667: 0x406c8e20, + 0x3668: 0x406c9020, 0x3669: 0x406c9220, 0x366a: 0x406c9420, 0x366b: 0x406c9620, + 0x366c: 0x406c9820, 0x366d: 0x406c9a20, 0x366e: 0x406c9c20, 0x366f: 0x406c9e20, + 0x3670: 0x406ca020, 0x3671: 0x406ca220, 0x3672: 0x406ca420, 0x3673: 0x406ca620, + 0x3674: 0x406ca820, 0x3675: 0x406caa20, 0x3676: 0x406cac20, 0x3677: 0x406cae20, + 0x3678: 0x406cb020, 0x3679: 0x406cb220, 0x367a: 0x406cb420, 0x367b: 0x406cb620, + 0x367c: 0x406cb820, 0x367d: 0x406cba20, 0x367e: 0x406cbc20, 0x367f: 0x406cbe20, + // Block 0xda, offset 0x3680 + 0x3680: 0x406cc020, 0x3681: 0x406cc220, 0x3682: 0x406cc420, 0x3683: 0x406cc620, + 0x3684: 0x406cc820, 0x3685: 0x406cca20, 0x3686: 0x406ccc20, 0x3687: 0x406cce20, + 0x3688: 0x406cd020, 0x3689: 0x406cd220, 0x368a: 0x406cd420, 0x368b: 0x406cd620, + 0x368c: 0x406cd820, 0x368d: 0x406cda20, 0x368e: 0x406cdc20, 0x368f: 0x406cde20, + 0x3690: 0x406ce020, 0x3691: 0x406ce220, 0x3692: 0x406ce420, 0x3693: 0x406ce620, + 0x3694: 0x406ce820, 0x3695: 0x406cea20, 0x3696: 0x406cec20, 0x3697: 0x406cee20, + 0x3698: 0x406cf020, 0x3699: 0x406cf220, 0x369a: 0x406cf420, 0x369b: 0x406cf620, + 0x369c: 0x406cf820, 0x369d: 0x406cfa20, 0x369e: 0x406cfc20, 0x369f: 0x406cfe20, + 0x36a0: 0x406d0020, 0x36a1: 0x406d0220, 0x36a2: 0x406d0420, 0x36a3: 0x406d0620, + 0x36a4: 0x406d0820, 0x36a5: 0x406d0a20, 0x36a6: 0x406d0c20, 0x36a7: 0x406d0e20, + 0x36a8: 0x406d1020, 0x36a9: 0x406d1220, 0x36aa: 0x406d1420, 0x36ab: 0x406d1620, + 0x36ac: 0x406d1820, 0x36ad: 0x406d1a20, 0x36ae: 0x406d1c20, 0x36af: 0x406d1e20, + 0x36b0: 0x406d2020, 0x36b1: 0x406d2220, 0x36b2: 0x406d2420, 0x36b3: 0x406d2620, + 0x36b4: 0x406d2820, 0x36b5: 0x406d2a20, 0x36b6: 0x406d2c20, 0x36b7: 0x406d2e20, + 0x36b8: 0x406d3020, 0x36b9: 0x406d3220, 0x36ba: 0x406d3420, 0x36bb: 0x406d3620, + 0x36bc: 0x406d3820, 0x36bd: 0x406d3a20, 0x36be: 0x406d3c20, 0x36bf: 0x406d3e20, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x406d4020, 0x36c1: 0x406d4220, 0x36c2: 0x406d4420, 0x36c3: 0x406d4620, + 0x36c4: 0x406d4820, 0x36c5: 0x406d4a20, 0x36c6: 0x406d4c20, 0x36c7: 0x406d4e20, + 0x36c8: 0x406d5020, 0x36c9: 0x406d5220, 0x36ca: 0x406d5420, 0x36cb: 0x406d5620, + 0x36cc: 0x406d5820, 0x36cd: 0x406d5a20, 0x36ce: 0x406d5c20, 0x36cf: 0x406d5e20, + 0x36d0: 0x406d6020, 0x36d1: 0x406d6220, 0x36d2: 0x406d6420, 0x36d3: 0x406d6620, + 0x36d4: 0x406d6820, 0x36d5: 0x406d6a20, 0x36d6: 0x406d6c20, 0x36d7: 0x406d6e20, + 0x36d8: 0x406d7020, 0x36d9: 0x406d7220, 0x36da: 0x406d7420, 0x36db: 0x406d7620, + 0x36dc: 0x406d7820, 0x36dd: 0x406d7a20, 0x36de: 0x406d7c20, 0x36df: 0x406d7e20, + 0x36e0: 0x406d8020, 0x36e1: 0x406d8220, 0x36e2: 0x406d8420, 0x36e3: 0x406d8620, + 0x36e4: 0x406d8820, 0x36e5: 0x406d8a20, 0x36e6: 0x406d8c20, 0x36e7: 0x406d8e20, + 0x36e8: 0x406d9020, 0x36e9: 0x406d9220, 0x36ea: 0x406d9420, 0x36eb: 0x406d9620, + 0x36ec: 0x406d9820, 0x36ed: 0x406d9a20, 0x36ee: 0x406d9c20, 0x36ef: 0x406d9e20, + 0x36f0: 0x406da020, 0x36f1: 0x406da220, 0x36f2: 0x406da420, 0x36f3: 0x406da620, + 0x36f4: 0x406da820, 0x36f5: 0x406daa20, 0x36f6: 0x406dac20, 0x36f7: 0x406dae20, + 0x36f8: 0x406db020, 0x36f9: 0x406db220, 0x36fa: 0x406db420, 0x36fb: 0x406db620, + 0x36fc: 0x406db820, 0x36fd: 0x406dba20, 0x36fe: 0x406dbc20, 0x36ff: 0x406dbe20, + // Block 0xdc, offset 0x3700 + 0x3700: 0x406dc020, 0x3701: 0x406dc220, 0x3702: 0x406dc420, 0x3703: 0x406dc620, + 0x3704: 0x406dc820, 0x3705: 0x406dca20, 0x3706: 0x406dcc20, 0x3707: 0x406dce20, + 0x3708: 0x406dd020, 0x3709: 0x406dd220, 0x370a: 0x406dd420, 0x370b: 0x406dd620, + 0x370c: 0x406dd820, 0x370d: 0x406dda20, 0x370e: 0x406ddc20, 0x370f: 0x406dde20, + 0x3710: 0x406de020, 0x3711: 0x406de220, 0x3712: 0x406de420, 0x3713: 0x406de620, + 0x3714: 0x406de820, 0x3715: 0x406dea20, 0x3716: 0x406dec20, 0x3717: 0x406dee20, + 0x3718: 0x406df020, 0x3719: 0x406df220, 0x371a: 0x406df420, 0x371b: 0x406df620, + 0x371c: 0x406df820, 0x371d: 0x406dfa20, 0x371e: 0x406dfc20, 0x371f: 0x406dfe20, + 0x3720: 0x406e0020, 0x3721: 0x406e0220, 0x3722: 0x406e0420, 0x3723: 0x406e0620, + 0x3724: 0x406e0820, 0x3725: 0x406e0a20, 0x3726: 0x406e0c20, 0x3727: 0x406e0e20, + 0x3728: 0x406e1020, 0x3729: 0x406e1220, 0x372a: 0x406e1420, 0x372b: 0x406e1620, + 0x372c: 0x406e1820, 0x372d: 0x406e1a20, 0x372e: 0x406e1c20, 0x372f: 0x406e1e20, + 0x3730: 0x406e2020, 0x3731: 0x406e2220, 0x3732: 0x406e2420, 0x3733: 0x406e2620, + 0x3734: 0x406e2820, 0x3735: 0x406e2a20, 0x3736: 0x406e2c20, 0x3737: 0x406e2e20, + 0x3738: 0x406e3020, 0x3739: 0x406e3220, 0x373a: 0x406e3420, 0x373b: 0x406e3620, + 0x373c: 0x406e3820, 0x373d: 0x406e3a20, 0x373e: 0x406e3c20, 0x373f: 0x406e3e20, + // Block 0xdd, offset 0x3740 + 0x3740: 0x406e4020, 0x3741: 0x406e4220, 0x3742: 0x406e4420, 0x3743: 0x406e4620, + 0x3744: 0x406e4820, 0x3745: 0x406e4a20, 0x3746: 0x406e4c20, 0x3747: 0x406e4e20, + 0x3748: 0x406e5020, 0x3749: 0x406e5220, 0x374a: 0x406e5420, 0x374b: 0x406e5620, + 0x374c: 0x406e5820, 0x374d: 0x406e5a20, 0x374e: 0x406e5c20, 0x374f: 0x406e5e20, + 0x3750: 0x406e6020, 0x3751: 0x406e6220, 0x3752: 0x406e6420, 0x3753: 0x406e6620, + 0x3754: 0x406e6820, 0x3755: 0x406e6a20, 0x3756: 0x406e6c20, 0x3757: 0x406e6e20, + 0x3758: 0x406e7020, 0x3759: 0x406e7220, 0x375a: 0x406e7420, 0x375b: 0x406e7620, + 0x375c: 0x406e7820, 0x375d: 0x406e7a20, 0x375e: 0x406e7c20, 0x375f: 0x406e7e20, + 0x3760: 0x406e8020, 0x3761: 0x406e8220, 0x3762: 0x406e8420, 0x3763: 0x406e8620, + 0x3764: 0x406e8820, 0x3765: 0x406e8a20, 0x3766: 0x406e8c20, 0x3767: 0x406e8e20, + 0x3768: 0x406e9020, 0x3769: 0x406e9220, 0x376a: 0x406e9420, 0x376b: 0x406e9620, + 0x376c: 0x406e9820, 0x376d: 0x406e9a20, 0x376e: 0x406e9c20, 0x376f: 0x406e9e20, + 0x3770: 0x406ea020, 0x3771: 0x406ea220, 0x3772: 0x406ea420, 0x3773: 0x406ea620, + 0x3774: 0x406ea820, 0x3775: 0x406eaa20, 0x3776: 0x406eac20, 0x3777: 0x406eae20, + 0x3778: 0x406eb020, 0x3779: 0x406eb220, 0x377a: 0x406eb420, 0x377b: 0x406eb620, + 0x377c: 0x406eb820, 0x377d: 0x406eba20, 0x377e: 0x406ebc20, 0x377f: 0x406ebe20, + // Block 0xde, offset 0x3780 + 0x3780: 0x406ec020, 0x3781: 0x406ec220, 0x3782: 0x406ec420, 0x3783: 0x406ec620, + 0x3784: 0x406ec820, 0x3785: 0x406eca20, 0x3786: 0x406ecc20, 0x3787: 0x406ece20, + 0x3788: 0x406ed020, 0x3789: 0x406ed220, 0x378a: 0x406ed420, 0x378b: 0x406ed620, + 0x378c: 0x406ed820, 0x378d: 0x406eda20, 0x378e: 0x406edc20, 0x378f: 0x406ede20, + 0x3790: 0x406ee020, 0x3791: 0x406ee220, 0x3792: 0x406ee420, 0x3793: 0x406ee620, + 0x3794: 0x406ee820, 0x3795: 0x406eea20, 0x3796: 0x406eec20, 0x3797: 0x406eee20, + 0x3798: 0x406ef020, 0x3799: 0x406ef220, 0x379a: 0x406ef420, 0x379b: 0x406ef620, + 0x379c: 0x406ef820, 0x379d: 0x406efa20, 0x379e: 0x406efc20, 0x379f: 0x406efe20, + 0x37a0: 0x406f0020, 0x37a1: 0x406f0220, 0x37a2: 0x406f0420, 0x37a3: 0x406f0620, + 0x37a4: 0x406f0820, 0x37a5: 0x406f0a20, 0x37a6: 0x406f0c20, 0x37a7: 0x406f0e20, + 0x37a8: 0x406f1020, 0x37a9: 0x406f1220, 0x37aa: 0x406f1420, 0x37ab: 0x406f1620, + 0x37ac: 0x406f1820, 0x37ad: 0x406f1a20, 0x37ae: 0x406f1c20, 0x37af: 0x406f1e20, + 0x37b0: 0x406f2020, 0x37b1: 0x406f2220, 0x37b2: 0x406f2420, 0x37b3: 0x406f2620, + 0x37b4: 0x406f2820, 0x37b5: 0x406f2a20, 0x37b6: 0x406f2c20, 0x37b7: 0x406f2e20, + 0x37b8: 0x406f3020, 0x37b9: 0x406f3220, 0x37ba: 0x406f3420, 0x37bb: 0x406f3620, + 0x37bc: 0x406f3820, 0x37bd: 0x406f3a20, 0x37be: 0x406f3c20, 0x37bf: 0x406f3e20, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x406f4020, 0x37c1: 0x406f4220, 0x37c2: 0x406f4420, 0x37c3: 0x406f4620, + 0x37c4: 0x406f4820, 0x37c5: 0x406f4a20, 0x37c6: 0x406f4c20, 0x37c7: 0x406f4e20, + 0x37c8: 0x406f5020, 0x37c9: 0x406f5220, 0x37ca: 0x406f5420, 0x37cb: 0x406f5620, + 0x37cc: 0x406f5820, + 0x37d0: 0x401a9020, 0x37d1: 0x401a9220, 0x37d2: 0x401a9420, 0x37d3: 0x401a9620, + 0x37d4: 0x401a9820, 0x37d5: 0x401a9a20, 0x37d6: 0x401a9c20, 0x37d7: 0x401a9e20, + 0x37d8: 0x401aa020, 0x37d9: 0x401aa220, 0x37da: 0x401aa420, 0x37db: 0x401aa620, + 0x37dc: 0x401aa820, 0x37dd: 0x401aaa20, 0x37de: 0x401aac20, 0x37df: 0x401aae20, + 0x37e0: 0x401ab020, 0x37e1: 0x401ab220, 0x37e2: 0x401ab420, 0x37e3: 0x401ab620, + 0x37e4: 0x401ab820, 0x37e5: 0x401aba20, 0x37e6: 0x401abc20, 0x37e7: 0x401abe20, + 0x37e8: 0x401ac020, 0x37e9: 0x401ac220, 0x37ea: 0x401ac420, 0x37eb: 0x401ac620, + 0x37ec: 0x401ac820, 0x37ed: 0x401aca20, 0x37ee: 0x401acc20, 0x37ef: 0x401ace20, + 0x37f0: 0x401ad020, 0x37f1: 0x401ad220, 0x37f2: 0x401ad420, 0x37f3: 0x401ad620, + 0x37f4: 0x401ad820, 0x37f5: 0x401ada20, 0x37f6: 0x401adc20, 0x37f7: 0x401ade20, + 0x37f8: 0x401ae020, 0x37f9: 0x401ae220, 0x37fa: 0x401ae420, 0x37fb: 0x401ae620, + 0x37fc: 0x401ae820, 0x37fd: 0x401aea20, 0x37fe: 0x401aec20, 0x37ff: 0x401aee20, + // Block 0xe0, offset 0x3800 + 0x3800: 0x401af020, 0x3801: 0x401af220, 0x3802: 0x401af420, 0x3803: 0x401af620, + 0x3804: 0x401af820, 0x3805: 0x401afa20, 0x3806: 0x401afc20, + 0x3810: 0x406f6620, 0x3811: 0x406f6820, 0x3812: 0x406f6a20, 0x3813: 0x406f6c20, + 0x3814: 0x406f6e20, 0x3815: 0x406f7020, 0x3816: 0x406f7220, 0x3817: 0x406f7420, + 0x3818: 0x406f7620, 0x3819: 0x406f7820, 0x381a: 0x406f7a20, 0x381b: 0x406f7c20, + 0x381c: 0x406f7e20, 0x381d: 0x406f8020, 0x381e: 0x406f8220, 0x381f: 0x406f8420, + 0x3820: 0x406f8620, 0x3821: 0x406f8820, 0x3822: 0x406f8a20, 0x3823: 0x406f8c20, + 0x3824: 0x406f8e20, 0x3825: 0x406f9020, 0x3826: 0x406f9220, 0x3827: 0x406f9420, + 0x3828: 0x406f9620, 0x3829: 0x406f9820, 0x382a: 0x406f9e20, 0x382b: 0x406f9a20, + 0x382c: 0x406fa020, 0x382d: 0x406f9c20, 0x382e: 0x406fa220, 0x382f: 0x406fa420, + 0x3830: 0x406fa620, 0x3831: 0x406fa820, 0x3832: 0x406faa20, 0x3833: 0x406fac20, + 0x3834: 0x406fae20, 0x3835: 0x406fb020, 0x3836: 0x406fb220, 0x3837: 0x406fb420, + 0x3838: 0x406f5a20, 0x3839: 0x406f5c20, 0x383a: 0x406f5e20, 0x383b: 0x406f6020, + 0x383c: 0x406f6420, 0x383d: 0x406f6220, 0x383e: 0x40025620, 0x383f: 0x4002fe20, + // Block 0xe1, offset 0x3840 + 0x3840: 0x405b8020, 0x3841: 0x405b8220, 0x3842: 0x405b8420, 0x3843: 0x405b8620, + 0x3844: 0x405b8820, 0x3845: 0x405b8a20, 0x3846: 0x405b8c20, 0x3847: 0x405b8e20, + 0x3848: 0x405b9020, 0x3849: 0x405b9220, 0x384a: 0x405b9420, 0x384b: 0x405b9620, + 0x384c: 0x405b9820, 0x384d: 0x405b9a20, 0x384e: 0x405b9c20, 0x384f: 0x405b9e20, + 0x3850: 0x405ba020, 0x3851: 0x405ba220, 0x3852: 0x405ba420, 0x3853: 0x405ba620, + 0x3854: 0x405ba820, 0x3855: 0x405baa20, 0x3856: 0x405bac20, 0x3857: 0x405bae20, + 0x3858: 0x405bb020, 0x3859: 0x405bb220, 0x385a: 0x405bb420, 0x385b: 0x405bb620, + 0x385c: 0x405bb820, 0x385d: 0x405bba20, 0x385e: 0x405bbc20, 0x385f: 0x405bbe20, + 0x3860: 0x405bc020, 0x3861: 0x405bc220, 0x3862: 0x405bc420, 0x3863: 0x405bc620, + 0x3864: 0x405bc820, 0x3865: 0x405bca20, 0x3866: 0x405bcc20, 0x3867: 0x405bce20, + 0x3868: 0x405bd020, 0x3869: 0x405bd220, 0x386a: 0x405bd420, 0x386b: 0x405bd620, + 0x386c: 0x405bd820, 0x386d: 0x405bda20, 0x386e: 0x405bdc20, 0x386f: 0x405bde20, + 0x3870: 0x405be020, 0x3871: 0x405be220, 0x3872: 0x405be420, 0x3873: 0x405be620, + 0x3874: 0x405be820, 0x3875: 0x405bea20, 0x3876: 0x405bec20, 0x3877: 0x405bee20, + 0x3878: 0x405bf020, 0x3879: 0x405bf220, 0x387a: 0x405bf420, 0x387b: 0x405bf620, + 0x387c: 0x405bf820, 0x387d: 0x405bfa20, 0x387e: 0x405bfc20, 0x387f: 0x405bfe20, + // Block 0xe2, offset 0x3880 + 0x3880: 0x405c0020, 0x3881: 0x405c0220, 0x3882: 0x405c0420, 0x3883: 0x405c0620, + 0x3884: 0x405c0820, 0x3885: 0x405c0a20, 0x3886: 0x405c0c20, 0x3887: 0x405c0e20, + 0x3888: 0x405c1020, 0x3889: 0x405c1220, 0x388a: 0x405c1420, 0x388b: 0x405c1620, + 0x388c: 0x405c1820, 0x388d: 0x405c1a20, 0x388e: 0x405c1c20, 0x388f: 0x405c1e20, + 0x3890: 0x405c2020, 0x3891: 0x405c2220, 0x3892: 0x405c2420, 0x3893: 0x405c2620, + 0x3894: 0x405c2820, 0x3895: 0x405c2a20, 0x3896: 0x405c2c20, 0x3897: 0x405c2e20, + 0x3898: 0x405c3020, 0x3899: 0x405c3220, 0x389a: 0x405c3420, 0x389b: 0x405c3620, + 0x389c: 0x405c3820, 0x389d: 0x405c3a20, 0x389e: 0x405c3c20, 0x389f: 0x405c3e20, + 0x38a0: 0x405c4020, 0x38a1: 0x405c4220, 0x38a2: 0x405c4420, 0x38a3: 0x405c4620, + 0x38a4: 0x405c4820, 0x38a5: 0x405c4a20, 0x38a6: 0x405c4c20, 0x38a7: 0x405c4e20, + 0x38a8: 0x405c5020, 0x38a9: 0x405c5220, 0x38aa: 0x405c5420, 0x38ab: 0x405c5620, + 0x38ac: 0x405c5820, 0x38ad: 0x405c5a20, 0x38ae: 0x405c5c20, 0x38af: 0x405c5e20, + 0x38b0: 0x405c6020, 0x38b1: 0x405c6220, 0x38b2: 0x405c6420, 0x38b3: 0x405c6620, + 0x38b4: 0x405c6820, 0x38b5: 0x405c6a20, 0x38b6: 0x405c6c20, 0x38b7: 0x405c6e20, + 0x38b8: 0x405c7020, 0x38b9: 0x405c7220, 0x38ba: 0x405c7420, 0x38bb: 0x405c7620, + 0x38bc: 0x405c7820, 0x38bd: 0x405c7a20, 0x38be: 0x405c7c20, 0x38bf: 0x405c7e20, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x405c8020, 0x38c1: 0x405c8220, 0x38c2: 0x405c8420, 0x38c3: 0x405c8620, + 0x38c4: 0x405c8820, 0x38c5: 0x405c8a20, 0x38c6: 0x405c8c20, 0x38c7: 0x405c8e20, + 0x38c8: 0x405c9020, 0x38c9: 0x405c9220, 0x38ca: 0x405c9420, 0x38cb: 0x405c9620, + 0x38cc: 0x405c9820, 0x38cd: 0x405c9a20, 0x38ce: 0x405c9c20, 0x38cf: 0x405c9e20, + 0x38d0: 0x405ca020, 0x38d1: 0x405ca220, 0x38d2: 0x405ca420, 0x38d3: 0x405ca620, + 0x38d4: 0x405ca820, 0x38d5: 0x405caa20, 0x38d6: 0x405cac20, 0x38d7: 0x405cae20, + 0x38d8: 0x405cb020, 0x38d9: 0x405cb220, 0x38da: 0x405cb420, 0x38db: 0x405cb620, + 0x38dc: 0x405cb820, 0x38dd: 0x405cba20, 0x38de: 0x405cbc20, 0x38df: 0x405cbe20, + 0x38e0: 0x405cc020, 0x38e1: 0x405cc220, 0x38e2: 0x405cc420, 0x38e3: 0x405cc620, + 0x38e4: 0x405cc820, 0x38e5: 0x405cca20, 0x38e6: 0x405ccc20, 0x38e7: 0x405cce20, + 0x38e8: 0x405cd020, 0x38e9: 0x405cd220, 0x38ea: 0x405cd420, 0x38eb: 0x405cd620, + 0x38ec: 0x405cd820, 0x38ed: 0x405cda20, 0x38ee: 0x405cdc20, 0x38ef: 0x405cde20, + 0x38f0: 0x405ce020, 0x38f1: 0x405ce220, 0x38f2: 0x405ce420, 0x38f3: 0x405ce620, + 0x38f4: 0x405ce820, 0x38f5: 0x405cea20, 0x38f6: 0x405cec20, 0x38f7: 0x405cee20, + 0x38f8: 0x405cf020, 0x38f9: 0x405cf220, 0x38fa: 0x405cf420, 0x38fb: 0x405cf620, + 0x38fc: 0x405cf820, 0x38fd: 0x405cfa20, 0x38fe: 0x405cfc20, 0x38ff: 0x405cfe20, + // Block 0xe4, offset 0x3900 + 0x3900: 0x405d0020, 0x3901: 0x405d0220, 0x3902: 0x405d0420, 0x3903: 0x405d0620, + 0x3904: 0x405d0820, 0x3905: 0x405d0a20, 0x3906: 0x405d0c20, 0x3907: 0x405d0e20, + 0x3908: 0x405d1020, 0x3909: 0x405d1220, 0x390a: 0x405d1420, 0x390b: 0x405d1620, + 0x390c: 0x405d1820, 0x390d: 0x405d1a20, 0x390e: 0x405d1c20, 0x390f: 0x405d1e20, + 0x3910: 0x405d2020, 0x3911: 0x405d2220, 0x3912: 0x405d2420, 0x3913: 0x405d2620, + 0x3914: 0x405d2820, 0x3915: 0x405d2a20, 0x3916: 0x405d2c20, 0x3917: 0x405d2e20, + 0x3918: 0x405d3020, 0x3919: 0x405d3220, 0x391a: 0x405d3420, 0x391b: 0x405d3620, + 0x391c: 0x405d3820, 0x391d: 0x405d3a20, 0x391e: 0x405d3c20, 0x391f: 0x405d3e20, + 0x3920: 0x405d4020, 0x3921: 0x405d4220, 0x3922: 0x405d4420, 0x3923: 0x405d4620, + 0x3924: 0x405d4820, 0x3925: 0x405d4a20, 0x3926: 0x405d4c20, 0x3927: 0x405d4e20, + 0x3928: 0x405d5020, 0x3929: 0x405d5220, 0x392a: 0x405d5420, 0x392b: 0x405d5620, + 0x392c: 0x405d5820, 0x392d: 0x405d5a20, 0x392e: 0x405d5c20, 0x392f: 0x405d5e20, + 0x3930: 0x405d6020, 0x3931: 0x405d6220, 0x3932: 0x405d6420, 0x3933: 0x405d6620, + 0x3934: 0x405d6820, 0x3935: 0x405d6a20, 0x3936: 0x405d6c20, 0x3937: 0x405d6e20, + 0x3938: 0x405d7020, 0x3939: 0x405d7220, 0x393a: 0x405d7420, 0x393b: 0x405d7620, + 0x393c: 0x405d7820, 0x393d: 0x405d7a20, 0x393e: 0x405d7c20, 0x393f: 0x405d7e20, + // Block 0xe5, offset 0x3940 + 0x3940: 0x405d8020, 0x3941: 0x405d8220, 0x3942: 0x405d8420, 0x3943: 0x405d8620, + 0x3944: 0x405d8820, 0x3945: 0x405d8a20, 0x3946: 0x405d8c20, 0x3947: 0x405d8e20, + 0x3948: 0x405d9020, 0x3949: 0x405d9220, 0x394a: 0x405d9420, 0x394b: 0x405d9620, + 0x394c: 0x405d9820, 0x394d: 0x40025820, 0x394e: 0x40030020, 0x394f: 0x4002d820, + 0x3950: 0x005c3084, 0x3951: 0x005c5484, 0x3952: 0x005c8e84, 0x3953: 0xe00020fb, + 0x3954: 0xe00020fe, 0x3955: 0xe0002101, 0x3956: 0xe0002104, 0x3957: 0xe0002107, + 0x3958: 0xe000210a, 0x3959: 0xe000210d, 0x395a: 0xe0002110, 0x395b: 0xe0002113, + 0x395c: 0xe0002116, 0x395d: 0xe0002119, 0x395e: 0xe000211c, 0x395f: 0xe000211f, + 0x3960: 0xe00001cd, 0x3961: 0xe0000261, 0x3962: 0xe0000379, 0x3963: 0xe0000453, + 0x3964: 0xe0000528, 0x3965: 0xe00005f2, 0x3966: 0xe00006bd, 0x3967: 0xe0000765, + 0x3968: 0xe0000811, 0x3969: 0xe00008b6, 0x396a: 0x005c5c84, 0x396b: 0x005d2284, + // Block 0xe6, offset 0x3980 + 0x3980: 0x0033ec88, 0x3981: 0x4033ec20, 0x3982: 0x0033fa88, 0x3983: 0x4033fa20, + 0x3984: 0x00340488, 0x3985: 0x40340420, 0x3986: 0x00343488, 0x3987: 0x40343420, + 0x3988: 0x00344e88, 0x3989: 0x40344e20, 0x398a: 0x0035a288, 0x398b: 0x4035a220, + 0x398c: 0x0035f088, 0x398d: 0x4035f020, 0x398e: 0x00366e88, 0x398f: 0x40366e20, + 0x3990: 0x00367c88, 0x3991: 0x40367c20, 0x3992: 0x0036a688, 0x3993: 0x4036a620, + 0x3994: 0x0036c088, 0x3995: 0x4036c020, 0x3996: 0x0036c288, 0x3997: 0x4036c220, + 0x3998: 0x0036de88, 0x3999: 0x4036de20, 0x399a: 0x0036e888, 0x399b: 0x4036e820, + 0x399c: 0x0036f288, 0x399d: 0x4036f220, 0x399e: 0x00372488, 0x399f: 0x40372420, + 0x39a0: 0x00360a88, 0x39a1: 0x40360a20, 0x39a2: 0x00339e88, 0x39a3: 0x40339e20, + 0x39a4: 0x0034a288, 0x39a5: 0x4034a220, 0x39a6: 0x0034b888, 0x39a7: 0x4034b820, + 0x39a8: 0x0034ee8a, 0x39a9: 0x0034ee84, 0x39aa: 0x0034ee8a, 0x39ab: 0x0034ee84, + 0x39ac: 0x0034ee8a, 0x39ad: 0x0034ee84, 0x39ae: 0x0034ee84, 0x39af: 0xae608402, + 0x39b0: 0xa0000000, 0x39b1: 0xa0000000, 0x39b2: 0xa0000000, 0x39b3: 0x4004e020, + 0x39b4: 0x84e619e1, 0x39b5: 0x84e61a0a, 0x39b6: 0x84e61a1b, 0x39b7: 0x84e61ab9, + 0x39b8: 0x84e61b3a, 0x39b9: 0x84e61b3f, 0x39ba: 0x84e61b47, 0x39bb: 0x84e61af0, + 0x39bc: 0xae605f02, 0x39bd: 0xae605f02, 0x39be: 0x40054c20, 0x39bf: 0x40367220, + // Block 0xe7, offset 0x39c0 + 0x39c0: 0x00339488, 0x39c1: 0x40339420, 0x39c2: 0x00341288, 0x39c3: 0x40341220, + 0x39c4: 0x0033d288, 0x39c5: 0x4033d220, 0x39c6: 0x00364288, 0x39c7: 0x40364220, + 0x39c8: 0x00340e88, 0x39c9: 0x40340e20, 0x39ca: 0x00356088, 0x39cb: 0x40356020, + 0x39cc: 0x00355488, 0x39cd: 0x40355420, 0x39ce: 0x00360c88, 0x39cf: 0x40360c20, + 0x39d0: 0x00361688, 0x39d1: 0x40361620, 0x39d2: 0x00362088, 0x39d3: 0x40362020, + 0x39d4: 0x0035de88, 0x39d5: 0x4035de20, 0x39d6: 0x00366488, 0x39d7: 0x40366420, + 0x39df: 0x84e61b67, + 0x39e0: 0x405d9a20, 0x39e1: 0x405d9c20, 0x39e2: 0x405d9e20, 0x39e3: 0x405da020, + 0x39e4: 0x405da220, 0x39e5: 0x405da420, 0x39e6: 0x405da620, 0x39e7: 0x405da820, + 0x39e8: 0x405daa20, 0x39e9: 0x405dac20, 0x39ea: 0x405dae20, 0x39eb: 0x405db020, + 0x39ec: 0x405db220, 0x39ed: 0x405db420, 0x39ee: 0x405db620, 0x39ef: 0x405db820, + 0x39f0: 0x405dba20, 0x39f1: 0x405dbc20, 0x39f2: 0x405dbe20, 0x39f3: 0x405dc020, + 0x39f4: 0x405dc220, 0x39f5: 0x405dc420, 0x39f6: 0x405dc620, 0x39f7: 0x405dc820, + 0x39f8: 0x405dca20, 0x39f9: 0x405dcc20, 0x39fa: 0x405dce20, 0x39fb: 0x405dd020, + 0x39fc: 0x405dd220, 0x39fd: 0x405dd420, 0x39fe: 0x405dd620, 0x39ff: 0x405dd820, + // Block 0xe8, offset 0x3a00 + 0x3a00: 0x405dda20, 0x3a01: 0x405ddc20, 0x3a02: 0x405dde20, 0x3a03: 0x405de020, + 0x3a04: 0x405de220, 0x3a05: 0x405de420, 0x3a06: 0x405de620, 0x3a07: 0x405de820, + 0x3a08: 0x405dea20, 0x3a09: 0x405dec20, 0x3a0a: 0x405dee20, 0x3a0b: 0x405df020, + 0x3a0c: 0x405df220, 0x3a0d: 0x405df420, 0x3a0e: 0x405df620, 0x3a0f: 0x405df820, + 0x3a10: 0x405dfa20, 0x3a11: 0x405dfc20, 0x3a12: 0x405dfe20, 0x3a13: 0x405e0020, + 0x3a14: 0x405e0220, 0x3a15: 0x405e0420, 0x3a16: 0x405e0620, 0x3a17: 0x405e0820, + 0x3a18: 0x405e0a20, 0x3a19: 0x405e0c20, 0x3a1a: 0x405e0e20, 0x3a1b: 0x405e1020, + 0x3a1c: 0x405e1220, 0x3a1d: 0x405e1420, 0x3a1e: 0x405e1620, 0x3a1f: 0x405e1820, + 0x3a20: 0x405e1a20, 0x3a21: 0x405e1c20, 0x3a22: 0x405e1e20, 0x3a23: 0x405e2020, + 0x3a24: 0x405e2220, 0x3a25: 0x405e2420, 0x3a26: 0x405e2620, 0x3a27: 0x405e2820, + 0x3a28: 0x405e2a20, 0x3a29: 0x405e2c20, 0x3a2a: 0x405e2e20, 0x3a2b: 0x405e3020, + 0x3a2c: 0x405e3220, 0x3a2d: 0x405e3420, 0x3a2e: 0x405e3620, 0x3a2f: 0x405e3820, + 0x3a30: 0xae60ef02, 0x3a31: 0xae60f002, 0x3a32: 0x40038220, 0x3a33: 0x40030220, + 0x3a34: 0x4002b820, 0x3a35: 0x40025a20, 0x3a36: 0x40026a20, 0x3a37: 0x4002da20, + // Block 0xe9, offset 0x3a40 + 0x3a40: 0x4006ba20, 0x3a41: 0x4006bc20, 0x3a42: 0x4006be20, 0x3a43: 0x4006c020, + 0x3a44: 0x4006c220, 0x3a45: 0x4006c420, 0x3a46: 0x4006c620, 0x3a47: 0x4006c820, + 0x3a48: 0x4006ca20, 0x3a49: 0x4006cc20, 0x3a4a: 0x4006ce20, 0x3a4b: 0x4006d020, + 0x3a4c: 0x4006d220, 0x3a4d: 0x4006d420, 0x3a4e: 0x4006d620, 0x3a4f: 0x4006d820, + 0x3a50: 0x4006da20, 0x3a51: 0x4006dc20, 0x3a52: 0x4006de20, 0x3a53: 0x4006e020, + 0x3a54: 0x4006e220, 0x3a55: 0x4006e420, 0x3a56: 0x4006e620, 0x3a57: 0x4006e820, + 0x3a58: 0x4006ea20, 0x3a59: 0x4006ec20, 0x3a5a: 0x4006ee20, 0x3a5b: 0x4006f020, + 0x3a5c: 0x4006f220, 0x3a5d: 0x4006f420, 0x3a5e: 0x4006f620, 0x3a5f: 0x4006f820, + 0x3a60: 0x4006fa20, 0x3a61: 0x4006fc20, 0x3a62: 0x0031e488, 0x3a63: 0x4031e420, + 0x3a64: 0x0031f888, 0x3a65: 0x4031f820, 0x3a66: 0x002d8c88, 0x3a67: 0x402d8c20, + 0x3a68: 0xe0000fd5, 0x3a69: 0xe0000fd2, 0x3a6a: 0x0031ae88, 0x3a6b: 0x4031ae20, + 0x3a6c: 0x0031b088, 0x3a6d: 0x4031b020, 0x3a6e: 0x0031b288, 0x3a6f: 0x4031b220, + 0x3a70: 0x402d1020, 0x3a71: 0x402fee20, 0x3a72: 0xe00009cf, 0x3a73: 0xe00009cc, + 0x3a74: 0xe00009ff, 0x3a75: 0xe00009fc, 0x3a76: 0xe0000a05, 0x3a77: 0xe0000a02, + 0x3a78: 0xe0000a0e, 0x3a79: 0xe0000a0b, 0x3a7a: 0xe0000a15, 0x3a7b: 0xe0000a11, + 0x3a7c: 0xe0000a1c, 0x3a7d: 0xe0000a19, 0x3a7e: 0x002c6088, 0x3a7f: 0x402c6020, + // Block 0xea, offset 0x3a80 + 0x3a80: 0x002e1488, 0x3a81: 0x402e1420, 0x3a82: 0x002e1688, 0x3a83: 0x402e1620, + 0x3a84: 0x002e1888, 0x3a85: 0x402e1820, 0x3a86: 0x002e3288, 0x3a87: 0x402e3220, + 0x3a88: 0x002e3688, 0x3a89: 0x402e3620, 0x3a8a: 0x002f1888, 0x3a8b: 0x402f1820, + 0x3a8c: 0x002f0888, 0x3a8d: 0x402f0820, 0x3a8e: 0xe0000ea1, 0x3a8f: 0xe0000e9e, + 0x3a90: 0x002f3888, 0x3a91: 0x402f3820, 0x3a92: 0x002f4688, 0x3a93: 0x402f4620, + 0x3a94: 0x002f4888, 0x3a95: 0x402f4820, 0x3a96: 0x002f5e88, 0x3a97: 0x402f5e20, + 0x3a98: 0x002f6088, 0x3a99: 0x402f6020, 0x3a9a: 0x002f8a88, 0x3a9b: 0x402f8a20, + 0x3a9c: 0x002fe488, 0x3a9d: 0x402fe420, 0x3a9e: 0x0030c888, 0x3a9f: 0x4030c820, + 0x3aa0: 0xe00010c6, 0x3aa1: 0xe00010c3, 0x3aa2: 0x00316288, 0x3aa3: 0x40316220, + 0x3aa4: 0x00319088, 0x3aa5: 0x40319020, 0x3aa6: 0x00319288, 0x3aa7: 0x40319220, + 0x3aa8: 0x00319c88, 0x3aa9: 0x40319c20, 0x3aaa: 0x00319e88, 0x3aab: 0x40319e20, + 0x3aac: 0x0031a088, 0x3aad: 0x4031a020, 0x3aae: 0x0031a288, 0x3aaf: 0x4031a220, + 0x3ab0: 0x0031a294, 0x3ab1: 0x402c9420, 0x3ab2: 0x402e6620, 0x3ab3: 0x402e9c20, + 0x3ab4: 0x402ed820, 0x3ab5: 0x402fe020, 0x3ab6: 0x402fe220, 0x3ab7: 0x40306220, + 0x3ab8: 0x4031a420, 0x3ab9: 0xe0000abc, 0x3aba: 0xe0000ab9, 0x3abb: 0xe0000b92, + 0x3abc: 0xe0000b8f, 0x3abd: 0xe0000bdc, 0x3abe: 0x002d5688, 0x3abf: 0x402d5620, + // Block 0xeb, offset 0x3ac0 + 0x3ac0: 0x002e7088, 0x3ac1: 0x402e7020, 0x3ac2: 0xe0000f08, 0x3ac3: 0xe0000f05, + 0x3ac4: 0xe0000f6d, 0x3ac5: 0xe0000f6a, 0x3ac6: 0xe0000fb7, 0x3ac7: 0xe0000fb4, + 0x3ac8: 0x4006fe20, 0x3ac9: 0x40070020, 0x3aca: 0x40070220, 0x3acb: 0x0031e688, + 0x3acc: 0x4031e620, 0x3acd: 0x00308888, 0x3ace: 0x402e5c20, + 0x3ad0: 0x002ec488, 0x3ad1: 0x402ec420, 0x3ad2: 0x002c4c88, 0x3ad3: 0x402c4c20, + 0x3ae0: 0xe0000bd6, 0x3ae1: 0xe0000bd3, 0x3ae2: 0xe0000ca5, 0x3ae3: 0xe0000ca2, + 0x3ae4: 0xe0000d75, 0x3ae5: 0xe0000d72, 0x3ae6: 0xe0000ee2, 0x3ae7: 0xe0000edf, + 0x3ae8: 0xe0000f4d, 0x3ae9: 0xe0000f4a, 0x3aea: 0x002d8088, + // Block 0xec, offset 0x3b00 + 0x3b38: 0xf0001414, 0x3b39: 0xe0000e97, 0x3b3a: 0x4030a820, 0x3b3b: 0x402d2020, + 0x3b3c: 0x402f4a20, 0x3b3d: 0x402e9820, 0x3b3e: 0x402db220, 0x3b3f: 0x402e9a20, + // Block 0xed, offset 0x3b40 + 0x3b40: 0x4045aa20, 0x3b41: 0x4045ac20, 0x3b42: 0x4045ae20, 0x3b43: 0x4045b020, + 0x3b44: 0x4045b220, 0x3b45: 0x4045b420, 0x3b46: 0x820922db, 0x3b47: 0x4045b820, + 0x3b48: 0x4045ba20, 0x3b49: 0x4045bc20, 0x3b4a: 0x4045be20, 0x3b4b: 0xa000f302, + 0x3b4c: 0x4045c020, 0x3b4d: 0x4045c220, 0x3b4e: 0x4045c420, 0x3b4f: 0x4045c620, + 0x3b50: 0x4045c820, 0x3b51: 0x4045ca20, 0x3b52: 0x4045cc20, 0x3b53: 0x4045ce20, + 0x3b54: 0x4045d020, 0x3b55: 0x4045d220, 0x3b56: 0x4045d420, 0x3b57: 0x4045d620, + 0x3b58: 0x4045d820, 0x3b59: 0x4045da20, 0x3b5a: 0x4045dc20, 0x3b5b: 0x4045de20, + 0x3b5c: 0x4045e020, 0x3b5d: 0x4045e220, 0x3b5e: 0x4045e420, 0x3b5f: 0x4045e620, + 0x3b60: 0x4045e820, 0x3b61: 0x4045ea20, 0x3b62: 0x4045ec20, 0x3b63: 0x4045ee20, + 0x3b64: 0x4045f020, 0x3b65: 0x4045f220, 0x3b66: 0x4045f420, 0x3b67: 0x4045f620, + 0x3b68: 0x40075020, 0x3b69: 0x40075220, 0x3b6a: 0x40075420, 0x3b6b: 0x40075620, + 0x3b70: 0x40284820, 0x3b71: 0x40284a20, 0x3b72: 0x40284c20, 0x3b73: 0x40284e20, + 0x3b74: 0x40285020, 0x3b75: 0x40285220, 0x3b76: 0x40075820, 0x3b77: 0x40075a20, + 0x3b78: 0x4027f020, 0x3b79: 0x40075c20, + // Block 0xee, offset 0x3b80 + 0x3b80: 0x404baa20, 0x3b81: 0x404bac20, 0x3b82: 0x404bae20, 0x3b83: 0x404bb020, + 0x3b84: 0x404bb220, 0x3b85: 0x404bb420, 0x3b86: 0x404bb620, 0x3b87: 0x404bb820, + 0x3b88: 0x404bc220, 0x3b89: 0x404bc420, 0x3b8a: 0x404bc620, 0x3b8b: 0x404bc820, + 0x3b8c: 0x404bca20, 0x3b8d: 0x404bcc20, 0x3b8e: 0x404bce20, 0x3b8f: 0x404bd020, + 0x3b90: 0x404bd220, 0x3b91: 0x404bd420, 0x3b92: 0x404bd620, 0x3b93: 0x404bd820, + 0x3b94: 0x404bdc20, 0x3b95: 0x404bde20, 0x3b96: 0x404be020, 0x3b97: 0x404be220, + 0x3b98: 0x404be820, 0x3b99: 0x404bee20, 0x3b9a: 0x404bf020, 0x3b9b: 0x404bf420, + 0x3b9c: 0x404bf620, 0x3b9d: 0x404bfc20, 0x3b9e: 0x404c0620, 0x3b9f: 0x404c0820, + 0x3ba0: 0x404c0a20, 0x3ba1: 0x404c0c20, 0x3ba2: 0x404bfe20, 0x3ba3: 0x404c0020, + 0x3ba4: 0x404c0220, 0x3ba5: 0x404c0420, 0x3ba6: 0x404c0e20, 0x3ba7: 0x404bda20, + 0x3ba8: 0x404be420, 0x3ba9: 0x404bba20, 0x3baa: 0x404bbc20, 0x3bab: 0x404bbe20, + 0x3bac: 0x404bc020, 0x3bad: 0x404be620, 0x3bae: 0x404bf220, 0x3baf: 0x404bf820, + 0x3bb0: 0x404bfa20, 0x3bb1: 0x404bea20, 0x3bb2: 0x404bec20, 0x3bb3: 0x404c1020, + 0x3bb4: 0x4005e820, 0x3bb5: 0x4005ea20, 0x3bb6: 0x40031820, 0x3bb7: 0x40031a20, + // Block 0xef, offset 0x3bc0 + 0x3bc0: 0xa000f302, 0x3bc1: 0xa000f402, 0x3bc2: 0x4045f820, 0x3bc3: 0x4045fa20, + 0x3bc4: 0x4045fc20, 0x3bc5: 0x4045fe20, 0x3bc6: 0x40460020, 0x3bc7: 0x40460220, + 0x3bc8: 0x40460420, 0x3bc9: 0x40460620, 0x3bca: 0x40460820, 0x3bcb: 0x40460a20, + 0x3bcc: 0x40460c20, 0x3bcd: 0x40460e20, 0x3bce: 0x40461020, 0x3bcf: 0x40461220, + 0x3bd0: 0x40461420, 0x3bd1: 0x40461620, 0x3bd2: 0x40461820, 0x3bd3: 0x40461a20, + 0x3bd4: 0x40461c20, 0x3bd5: 0x40461e20, 0x3bd6: 0x40462020, 0x3bd7: 0x40462220, + 0x3bd8: 0x40462420, 0x3bd9: 0x40462620, 0x3bda: 0x40462820, 0x3bdb: 0x40462a20, + 0x3bdc: 0x40462c20, 0x3bdd: 0x40462e20, 0x3bde: 0x40463020, 0x3bdf: 0x40463220, + 0x3be0: 0x40463420, 0x3be1: 0x40463620, 0x3be2: 0x40463820, 0x3be3: 0x40463a20, + 0x3be4: 0x40463c20, 0x3be5: 0x40463e20, 0x3be6: 0x40464020, 0x3be7: 0x40464220, + 0x3be8: 0x40464420, 0x3be9: 0x40464620, 0x3bea: 0x40464820, 0x3beb: 0x40464a20, + 0x3bec: 0x40464c20, 0x3bed: 0x40464e20, 0x3bee: 0x40465020, 0x3bef: 0x40465220, + 0x3bf0: 0x40465420, 0x3bf1: 0x40465620, 0x3bf2: 0x40465820, 0x3bf3: 0x40465a20, + 0x3bf4: 0x40465c20, 0x3bf5: 0x40465e20, 0x3bf6: 0x40466020, 0x3bf7: 0x40466220, + 0x3bf8: 0x40466420, 0x3bf9: 0x40466620, 0x3bfa: 0x40466820, 0x3bfb: 0x40466a20, + 0x3bfc: 0x40466c20, 0x3bfd: 0x40466e20, 0x3bfe: 0x40467020, 0x3bff: 0x40467220, + // Block 0xf0, offset 0x3c00 + 0x3c00: 0x40467420, 0x3c01: 0x40467620, 0x3c02: 0x40467820, 0x3c03: 0x40467a20, + 0x3c04: 0x8209233e, + 0x3c0e: 0x40031020, 0x3c0f: 0x40031220, + 0x3c10: 0xe000018b, 0x3c11: 0xe000021c, 0x3c12: 0xe0000337, 0x3c13: 0xe0000411, + 0x3c14: 0xe00004e6, 0x3c15: 0xe00005b0, 0x3c16: 0xe000067b, 0x3c17: 0xe0000723, + 0x3c18: 0xe00007cf, 0x3c19: 0xe0000874, + 0x3c20: 0xae600000, 0x3c21: 0xae600000, 0x3c22: 0xae600000, 0x3c23: 0xae600000, + 0x3c24: 0xae600000, 0x3c25: 0xae600000, 0x3c26: 0xae600000, 0x3c27: 0xae600000, + 0x3c28: 0xae600000, 0x3c29: 0xae600000, 0x3c2a: 0xae600000, 0x3c2b: 0xae600000, + 0x3c2c: 0xae600000, 0x3c2d: 0xae600000, 0x3c2e: 0xae600000, 0x3c2f: 0xae600000, + 0x3c30: 0xae600000, 0x3c31: 0xae600000, 0x3c32: 0x40404620, 0x3c33: 0x00404684, + 0x3c34: 0x00404684, 0x3c35: 0x00404684, 0x3c36: 0x00404684, 0x3c37: 0x00404684, + 0x3c38: 0x40056e20, 0x3c39: 0x40057020, 0x3c3a: 0x40057220, 0x3c3b: 0x40404820, + // Block 0xf1, offset 0x3c40 + 0x3c40: 0xe00001a9, 0x3c41: 0xe000023d, 0x3c42: 0xe0000355, 0x3c43: 0xe000042f, + 0x3c44: 0xe0000504, 0x3c45: 0xe00005ce, 0x3c46: 0xe0000699, 0x3c47: 0xe0000741, + 0x3c48: 0xe00007ed, 0x3c49: 0xe0000892, 0x3c4a: 0x404dd220, 0x3c4b: 0x404dd420, + 0x3c4c: 0x404dd620, 0x3c4d: 0x404dd820, 0x3c4e: 0x404dda20, 0x3c4f: 0x404ddc20, + 0x3c50: 0x404dde20, 0x3c51: 0x404de020, 0x3c52: 0x404de220, 0x3c53: 0x404de420, + 0x3c54: 0x404de620, 0x3c55: 0x404de820, 0x3c56: 0x404dea20, 0x3c57: 0x404dec20, + 0x3c58: 0x404dee20, 0x3c59: 0x404df020, 0x3c5a: 0x404df220, 0x3c5b: 0x404df420, + 0x3c5c: 0x404df620, 0x3c5d: 0x404df820, 0x3c5e: 0x404dfa20, 0x3c5f: 0x404dfc20, + 0x3c60: 0x404dfe20, 0x3c61: 0x404e0020, 0x3c62: 0x404e0220, 0x3c63: 0x404e0420, + 0x3c64: 0x404e0620, 0x3c65: 0x404e0820, 0x3c66: 0x404e0a20, 0x3c67: 0x404e0c20, + 0x3c68: 0x404e0e20, 0x3c69: 0x404e1020, 0x3c6a: 0x404e1220, 0x3c6b: 0xadc10f02, + 0x3c6c: 0xadc11002, 0x3c6d: 0xadc11102, 0x3c6e: 0x4005f420, 0x3c6f: 0x40032020, + 0x3c70: 0x404d8a20, 0x3c71: 0x404d8c20, 0x3c72: 0x404d8e20, 0x3c73: 0x404d9020, + 0x3c74: 0x404d9220, 0x3c75: 0x404d9420, 0x3c76: 0x404d9620, 0x3c77: 0x404d9820, + 0x3c78: 0x404d9a20, 0x3c79: 0x404d9c20, 0x3c7a: 0x404d9e20, 0x3c7b: 0x404da020, + 0x3c7c: 0x404da220, 0x3c7d: 0x404da420, 0x3c7e: 0x404da620, 0x3c7f: 0x404da820, + // Block 0xf2, offset 0x3c80 + 0x3c80: 0x404daa20, 0x3c81: 0x404dac20, 0x3c82: 0x404dae20, 0x3c83: 0x404db020, + 0x3c84: 0x404db220, 0x3c85: 0x404db420, 0x3c86: 0x404db620, 0x3c87: 0x404db820, + 0x3c88: 0x404dba20, 0x3c89: 0x404dbc20, 0x3c8a: 0x404dbe20, 0x3c8b: 0x404dc020, + 0x3c8c: 0x404dc220, 0x3c8d: 0x404dc420, 0x3c8e: 0x404dc620, 0x3c8f: 0x404dc820, + 0x3c90: 0x404dca20, 0x3c91: 0x404dcc20, 0x3c92: 0x404dce20, 0x3c93: 0x820926e8, + 0x3c9f: 0x40038420, + 0x3ca0: 0x40636a20, 0x3ca1: 0x40636c20, 0x3ca2: 0x40636e20, 0x3ca3: 0x40637020, + 0x3ca4: 0x40637220, 0x3ca5: 0x40637420, 0x3ca6: 0x40637620, 0x3ca7: 0x40637820, + 0x3ca8: 0x40637a20, 0x3ca9: 0x40637c20, 0x3caa: 0x40637e20, 0x3cab: 0x40638020, + 0x3cac: 0x40638220, 0x3cad: 0x40638420, 0x3cae: 0x40638620, 0x3caf: 0x40638820, + 0x3cb0: 0x40638a20, 0x3cb1: 0x40638c20, 0x3cb2: 0x40638e20, 0x3cb3: 0x40639020, + 0x3cb4: 0x40639220, 0x3cb5: 0x40639420, 0x3cb6: 0x40639620, 0x3cb7: 0x40639820, + 0x3cb8: 0x40639a20, 0x3cb9: 0x40639c20, 0x3cba: 0x40639e20, 0x3cbb: 0x4063a020, + 0x3cbc: 0x4063a220, + // Block 0xf3, offset 0x3cc0 + 0x3cc0: 0xa000f202, 0x3cc1: 0xa000f302, 0x3cc2: 0xa000f802, 0x3cc3: 0xa000f402, + 0x3cc4: 0x4052b220, 0x3cc5: 0x4052b420, 0x3cc6: 0x4052b620, 0x3cc7: 0x4052b820, + 0x3cc8: 0x4052ba20, 0x3cc9: 0x4052bc20, 0x3cca: 0x4052be20, 0x3ccb: 0x4052c020, + 0x3ccc: 0x4052c220, 0x3ccd: 0x4052c420, 0x3cce: 0x4052c620, 0x3ccf: 0x4052c820, + 0x3cd0: 0x4052ca20, 0x3cd1: 0x4052cc20, 0x3cd2: 0x4052ce20, 0x3cd3: 0x4052d020, + 0x3cd4: 0x4052d220, 0x3cd5: 0x4052d420, 0x3cd6: 0x4052d620, 0x3cd7: 0x4052d820, + 0x3cd8: 0x4052da20, 0x3cd9: 0x4052dc20, 0x3cda: 0x4052de20, 0x3cdb: 0x4052e020, + 0x3cdc: 0x4052e220, 0x3cdd: 0x4052e420, 0x3cde: 0x4052e620, 0x3cdf: 0x4052e820, + 0x3ce0: 0x4052ea20, 0x3ce1: 0x4052ec20, 0x3ce2: 0x4052ee20, 0x3ce3: 0x4052f020, + 0x3ce4: 0x4052f220, 0x3ce5: 0x4052f420, 0x3ce6: 0x4052f620, 0x3ce7: 0x4052f820, + 0x3ce8: 0x4052fa20, 0x3ce9: 0x4052fc20, 0x3cea: 0x4052fe20, 0x3ceb: 0x40530220, + 0x3cec: 0x00530284, 0x3ced: 0x40530620, 0x3cee: 0x40530820, 0x3cef: 0x40530a20, + 0x3cf0: 0x40530c20, 0x3cf1: 0x40530e20, 0x3cf2: 0x40531020, 0x3cf3: 0xa070f102, + 0x3cf4: 0x40531220, 0x3cf5: 0x40532420, 0x3cf6: 0x40531620, 0x3cf7: 0x40531820, + 0x3cf8: 0x40531a20, 0x3cf9: 0x40531c20, 0x3cfa: 0x40532020, 0x3cfb: 0x40532220, + 0x3cfc: 0x40531420, 0x3cfd: 0x40531e20, 0x3cfe: 0x40530020, 0x3cff: 0x40530420, + // Block 0xf4, offset 0x3d00 + 0x3d00: 0x82092993, 0x3d01: 0x40036e20, 0x3d02: 0x40037020, 0x3d03: 0x40037220, + 0x3d04: 0x40037420, 0x3d05: 0x40037620, 0x3d06: 0x40037820, 0x3d07: 0x4002b020, + 0x3d08: 0x40033620, 0x3d09: 0x40033820, 0x3d0a: 0x40037a20, 0x3d0b: 0x40037c20, + 0x3d0c: 0x40037e20, 0x3d0d: 0x40038020, 0x3d0f: 0x4027c020, + 0x3d10: 0xe00001c1, 0x3d11: 0xe0000255, 0x3d12: 0xe000036d, 0x3d13: 0xe0000447, + 0x3d14: 0xe000051c, 0x3d15: 0xe00005e6, 0x3d16: 0xe00006b1, 0x3d17: 0xe0000759, + 0x3d18: 0xe0000805, 0x3d19: 0xe00008aa, + 0x3d1e: 0x4005f620, 0x3d1f: 0x4005f820, + // Block 0xf5, offset 0x3d40 + 0x3d40: 0x40519c20, 0x3d41: 0x40519e20, 0x3d42: 0x4051a020, 0x3d43: 0x4051a220, + 0x3d44: 0x4051a420, 0x3d45: 0x4051a620, 0x3d46: 0x4051a820, 0x3d47: 0x4051aa20, + 0x3d48: 0x4051ac20, 0x3d49: 0x4051ae20, 0x3d4a: 0x4051b020, 0x3d4b: 0x4051b220, + 0x3d4c: 0x4051b420, 0x3d4d: 0x4051b620, 0x3d4e: 0x4051b820, 0x3d4f: 0x4051ba20, + 0x3d50: 0x4051bc20, 0x3d51: 0x4051be20, 0x3d52: 0x4051c020, 0x3d53: 0x4051c220, + 0x3d54: 0x4051c420, 0x3d55: 0x4051c620, 0x3d56: 0x4051c820, 0x3d57: 0x4051ca20, + 0x3d58: 0x4051cc20, 0x3d59: 0x4051ce20, 0x3d5a: 0x4051d020, 0x3d5b: 0x4051d220, + 0x3d5c: 0x4051d420, 0x3d5d: 0x4051d620, 0x3d5e: 0x4051d820, 0x3d5f: 0x4051da20, + 0x3d60: 0x4051dc20, 0x3d61: 0x4051de20, 0x3d62: 0x4051e020, 0x3d63: 0x4051e220, + 0x3d64: 0x4051e420, 0x3d65: 0x4051e620, 0x3d66: 0x4051e820, 0x3d67: 0x4051ea20, + 0x3d68: 0x4051ec20, 0x3d69: 0x4051f620, 0x3d6a: 0x4051f820, 0x3d6b: 0x4051fa20, + 0x3d6c: 0x4051fc20, 0x3d6d: 0x4051fe20, 0x3d6e: 0x40520020, 0x3d6f: 0x40520220, + 0x3d70: 0x40520420, 0x3d71: 0x40520620, 0x3d72: 0x40520820, 0x3d73: 0x4051ee20, + 0x3d74: 0x4051f020, 0x3d75: 0x4051f220, 0x3d76: 0x4051f420, + // Block 0xf6, offset 0x3d80 + 0x3d80: 0x40520a20, 0x3d81: 0x40520c20, 0x3d82: 0x40520e20, 0x3d83: 0x40521020, + 0x3d84: 0x40521220, 0x3d85: 0x40521420, 0x3d86: 0x40521620, 0x3d87: 0x40521820, + 0x3d88: 0x40521a20, 0x3d89: 0x40521c20, 0x3d8a: 0x40521e20, 0x3d8b: 0x40522020, + 0x3d8c: 0x40522220, 0x3d8d: 0x40522420, + 0x3d90: 0xe00001bb, 0x3d91: 0xe000024f, 0x3d92: 0xe0000367, 0x3d93: 0xe0000441, + 0x3d94: 0xe0000516, 0x3d95: 0xe00005e0, 0x3d96: 0xe00006ab, 0x3d97: 0xe0000753, + 0x3d98: 0xe00007ff, 0x3d99: 0xe00008a4, + 0x3d9c: 0x4005fa20, 0x3d9d: 0x40033a20, 0x3d9e: 0x40033c20, 0x3d9f: 0x40033e20, + 0x3da0: 0x404e2020, 0x3da1: 0x404e2c20, 0x3da2: 0x404e3020, 0x3da3: 0x404e3420, + 0x3da4: 0x404e3e20, 0x3da5: 0x404e4620, 0x3da6: 0x404e4c20, 0x3da7: 0x404e5020, + 0x3da8: 0x404e5420, 0x3da9: 0x404e5820, 0x3daa: 0x404e6820, 0x3dab: 0x404e6e20, + 0x3dac: 0x404ea820, 0x3dad: 0x404eae20, 0x3dae: 0x404eb220, 0x3daf: 0x404e7a20, + 0x3db0: 0x4027c220, 0x3db1: 0x404eb420, 0x3db2: 0x404e3820, 0x3db3: 0x404e8e20, + 0x3db4: 0x404f3a20, 0x3db5: 0x404f3c20, 0x3db6: 0x404f3e20, 0x3db7: 0x4007ac20, + 0x3db8: 0x4007ae20, 0x3db9: 0x4007b020, 0x3dba: 0x404e9020, 0x3dbb: 0x404f3820, + // Block 0xf7, offset 0x3dc0 + 0x3dc0: 0x4049f020, 0x3dc1: 0x4049f220, 0x3dc2: 0x4049f420, 0x3dc3: 0x4049f620, + 0x3dc4: 0x4049f820, 0x3dc5: 0x4049fa20, 0x3dc6: 0x4049fc20, 0x3dc7: 0x4049fe20, + 0x3dc8: 0x404a0020, 0x3dc9: 0x404a0220, 0x3dca: 0x404a0420, 0x3dcb: 0x404a0620, + 0x3dcc: 0x404a0820, 0x3dcd: 0x404a0a20, 0x3dce: 0x404a0c20, 0x3dcf: 0x404a0e20, + 0x3dd0: 0x404a1020, 0x3dd1: 0x404a1220, 0x3dd2: 0x404a1420, 0x3dd3: 0x404a1620, + 0x3dd4: 0x404a1820, 0x3dd5: 0x404a1a20, 0x3dd6: 0x404a1c20, 0x3dd7: 0x404a1e20, + 0x3dd8: 0x404a2020, 0x3dd9: 0x404a2220, 0x3dda: 0x404a2420, 0x3ddb: 0x404a2620, + 0x3ddc: 0x404a2820, 0x3ddd: 0x404a2a20, 0x3dde: 0x404a2c20, 0x3ddf: 0x404a2e20, + 0x3de0: 0x404a3020, 0x3de1: 0x404a3220, 0x3de2: 0x404a3420, 0x3de3: 0x404a3620, + 0x3de4: 0x404a3820, 0x3de5: 0x404a3a20, 0x3de6: 0x404a3c20, 0x3de7: 0x404a3e20, + 0x3de8: 0x404a4020, 0x3de9: 0x404a4220, 0x3dea: 0x404a4420, 0x3deb: 0x404a4620, + 0x3dec: 0x404a4820, 0x3ded: 0x404a4a20, 0x3dee: 0x404a4c20, 0x3def: 0x404a4e20, + 0x3df0: 0x82e62528, 0x3df1: 0x404a5220, 0x3df2: 0x82e6252a, 0x3df3: 0x82e6252b, + 0x3df4: 0x82dc252c, 0x3df5: 0xc20e0671, 0x3df6: 0xc23f0671, 0x3df7: 0x82e6252f, + 0x3df8: 0x82e62530, 0x3df9: 0xc2700671, 0x3dfa: 0x404a6420, 0x3dfb: 0xc2a10671, + 0x3dfc: 0xc2d20671, 0x3dfd: 0x404a6a20, 0x3dfe: 0x82e62536, 0x3dff: 0xae610c02, + // Block 0xf8, offset 0x3e00 + 0x3e00: 0x404a6e20, 0x3e01: 0xae610d02, 0x3e02: 0x404a7020, + 0x3e1b: 0x404a7220, + 0x3e1c: 0x404a7420, 0x3e1d: 0x4027c420, 0x3e1e: 0x40057e20, 0x3e1f: 0x40058020, + 0x3e20: 0x40456420, 0x3e21: 0x40456620, 0x3e22: 0x40456820, 0x3e23: 0x40456a20, + 0x3e24: 0x40456c20, 0x3e25: 0x40456e20, 0x3e26: 0x40457020, 0x3e27: 0x40457220, + 0x3e28: 0x40457420, 0x3e29: 0x40457620, 0x3e2a: 0x40457820, 0x3e2b: 0x40458a20, + 0x3e2c: 0x40458c20, 0x3e2d: 0x40458e20, 0x3e2e: 0x40459020, 0x3e2f: 0x40459220, + 0x3e30: 0x40034020, 0x3e31: 0x4002dc20, 0x3e32: 0x40452c20, 0x3e33: 0x4027c620, + 0x3e34: 0x4027c820, 0x3e35: 0x40459420, 0x3e36: 0x820922d4, + // Block 0xf9, offset 0x3e40 + 0x3e41: 0x403cae20, 0x3e42: 0x403cb020, 0x3e43: 0x403cb220, + 0x3e44: 0x403cb420, 0x3e45: 0x403cb620, 0x3e46: 0x403cb820, + 0x3e49: 0x403e3c20, 0x3e4a: 0x403e3e20, 0x3e4b: 0x403e4020, + 0x3e4c: 0x403e4220, 0x3e4d: 0x403e4420, 0x3e4e: 0x403e4620, + 0x3e51: 0x403dfe20, 0x3e52: 0x403e0020, 0x3e53: 0x403e0220, + 0x3e54: 0x403e0420, 0x3e55: 0x403e0620, 0x3e56: 0x403e0820, + 0x3e60: 0x403ec220, 0x3e61: 0x403ec420, 0x3e62: 0x403ec620, 0x3e63: 0x403ec820, + 0x3e64: 0x403eca20, 0x3e65: 0x403ecc20, 0x3e66: 0x403ece20, + 0x3e68: 0x403ef220, 0x3e69: 0x403ef420, 0x3e6a: 0x403ef620, 0x3e6b: 0x403ef820, + 0x3e6c: 0x403efa20, 0x3e6d: 0x403efc20, 0x3e6e: 0x403efe20, + // Block 0xfa, offset 0x3e80 + 0x3e80: 0x40452e20, 0x3e81: 0x40453020, 0x3e82: 0x40453220, 0x3e83: 0x40453420, + 0x3e84: 0x40453620, 0x3e85: 0x40453820, 0x3e86: 0x40453a20, 0x3e87: 0x40453c20, + 0x3e88: 0x40453e20, 0x3e89: 0x40454020, 0x3e8a: 0x40454220, 0x3e8b: 0x40454420, + 0x3e8c: 0x40454620, 0x3e8d: 0x40454820, 0x3e8e: 0x40454a20, 0x3e8f: 0x40454c20, + 0x3e90: 0x40454e20, 0x3e91: 0x40455020, 0x3e92: 0x40455220, 0x3e93: 0x40455420, + 0x3e94: 0x40455620, 0x3e95: 0x40455820, 0x3e96: 0x40455a20, 0x3e97: 0x40455c20, + 0x3e98: 0x40455e20, 0x3e99: 0x40456020, 0x3e9a: 0x40456220, 0x3e9b: 0x40459620, + 0x3e9c: 0x40459820, 0x3e9d: 0x40459a20, 0x3e9e: 0x40459c20, 0x3e9f: 0x40459e20, + 0x3ea0: 0x4045a020, 0x3ea1: 0x4045a220, 0x3ea2: 0x4045a420, 0x3ea3: 0x40457a20, + 0x3ea4: 0x40457c20, 0x3ea5: 0x40457e20, 0x3ea6: 0x40458020, 0x3ea7: 0x40458220, + 0x3ea8: 0x40458420, 0x3ea9: 0x40458620, 0x3eaa: 0x40458820, 0x3eab: 0x40034220, + 0x3eac: 0xa000fa02, 0x3ead: 0x820922d3, + 0x3eb0: 0xe0000188, 0x3eb1: 0xe0000219, 0x3eb2: 0xe0000334, 0x3eb3: 0xe000040e, + 0x3eb4: 0xe00004e3, 0x3eb5: 0xe00005ad, 0x3eb6: 0xe0000678, 0x3eb7: 0xe0000720, + 0x3eb8: 0xe00007cc, 0x3eb9: 0xe0000871, + // Block 0xfb, offset 0x3ec0 + 0x3ef0: 0x40643620, 0x3ef1: 0x40643820, 0x3ef2: 0x40643a20, 0x3ef3: 0x40643c20, + 0x3ef4: 0x40643e20, 0x3ef5: 0x40644020, 0x3ef6: 0x40644220, 0x3ef7: 0x40644420, + 0x3ef8: 0x40644620, 0x3ef9: 0x40644820, 0x3efa: 0x40644a20, 0x3efb: 0x40644c20, + 0x3efc: 0x40644e20, 0x3efd: 0x40645020, 0x3efe: 0x40645220, 0x3eff: 0x40645420, + // Block 0xfc, offset 0x3f00 + 0x3f00: 0x40645620, 0x3f01: 0x40645820, 0x3f02: 0x40645a20, 0x3f03: 0x40645c20, + 0x3f04: 0x40645e20, 0x3f05: 0x40646020, 0x3f06: 0x40646220, + 0x3f0b: 0x40651420, + 0x3f0c: 0x40651620, 0x3f0d: 0x40651820, 0x3f0e: 0x40651a20, 0x3f0f: 0x40651c20, + 0x3f10: 0x40651e20, 0x3f11: 0x40652020, 0x3f12: 0x40652220, 0x3f13: 0x40652420, + 0x3f14: 0x40652620, 0x3f15: 0x40652820, 0x3f16: 0x40652a20, 0x3f17: 0x40652c20, + 0x3f18: 0x40652e20, 0x3f19: 0x40653020, 0x3f1a: 0x40653220, 0x3f1b: 0x40653420, + 0x3f1c: 0x40653620, 0x3f1d: 0x40653820, 0x3f1e: 0x40653a20, 0x3f1f: 0x40653c20, + 0x3f20: 0x40653e20, 0x3f21: 0x40654020, 0x3f22: 0x40654220, 0x3f23: 0x40654420, + 0x3f24: 0x40654620, 0x3f25: 0x40654820, 0x3f26: 0x40654a20, 0x3f27: 0x40654c20, + 0x3f28: 0x40654e20, 0x3f29: 0x40655020, 0x3f2a: 0x40655220, 0x3f2b: 0x40655420, + 0x3f2c: 0x40655620, 0x3f2d: 0x40655820, 0x3f2e: 0x40655a20, 0x3f2f: 0x40655c20, + 0x3f30: 0x40655e20, 0x3f31: 0x40656020, 0x3f32: 0x40656220, 0x3f33: 0x40656420, + 0x3f34: 0x40656620, 0x3f35: 0x40656820, 0x3f36: 0x40656a20, 0x3f37: 0x40656c20, + 0x3f38: 0x40656e20, 0x3f39: 0x40657020, 0x3f3a: 0x40657220, 0x3f3b: 0x40657420, + // Block 0xfd, offset 0x3f40 + 0x3f40: 0x43189020, 0x3f41: 0x42cde820, 0x3f42: 0x431d9420, 0x3f43: 0x43199020, + 0x3f44: 0x42dda220, 0x3f45: 0x429c6420, 0x3f46: 0x42a7ca20, 0x3f47: 0x433f3820, + 0x3f48: 0x433f3820, 0x3f49: 0x42b2a220, 0x3f4a: 0x4323a220, 0x3f4b: 0x42ab0e20, + 0x3f4c: 0x42b29020, 0x3f4d: 0x42c3ec20, 0x3f4e: 0x42ecd220, 0x3f4f: 0x42ff0a20, + 0x3f50: 0x430c7e20, 0x3f51: 0x430f7420, 0x3f52: 0x4311f020, 0x3f53: 0x43211e20, + 0x3f54: 0x42d40420, 0x3f55: 0x42da3620, 0x3f56: 0x42e1b220, 0x3f57: 0x42e7bc20, + 0x3f58: 0x43087a20, 0x3f59: 0x4322d420, 0x3f5a: 0x4333e220, 0x3f5b: 0x429d0420, + 0x3f5c: 0x42a6ea20, 0x3f5d: 0x42d60820, 0x3f5e: 0x42e43620, 0x3f5f: 0x430c5a20, + 0x3f60: 0x433c3c20, 0x3f61: 0x42baa020, 0x3f62: 0x42dfd620, 0x3f63: 0x430b9a20, + 0x3f64: 0x4312c820, 0x3f65: 0x42c59220, 0x3f66: 0x4303b020, 0x3f67: 0x43103e20, + 0x3f68: 0x42bd9420, 0x3f69: 0x42ce2e20, 0x3f6a: 0x42dad420, 0x3f6b: 0x42e5f820, + 0x3f6c: 0x43219c20, 0x3f6d: 0x429f0c20, 0x3f6e: 0x42a36e20, 0x3f6f: 0x42a5bc20, + 0x3f70: 0x42c98820, 0x3f71: 0x42d5a620, 0x3f72: 0x42e42020, 0x3f73: 0x42edce20, + 0x3f74: 0x43000220, 0x3f75: 0x430c0c20, 0x3f76: 0x430cb820, 0x3f77: 0x431bde20, + 0x3f78: 0x432e6420, 0x3f79: 0x4336de20, 0x3f7a: 0x433bf420, 0x3f7b: 0x42f11820, + 0x3f7c: 0x42f2fe20, 0x3f7d: 0x42fb4020, 0x3f7e: 0x43079220, 0x3f7f: 0x43260820, + // Block 0xfe, offset 0x3f80 + 0x3f80: 0x433cfe20, 0x3f81: 0x4315ac20, 0x3f82: 0x42b1be20, 0x3f83: 0x42be0820, + 0x3f84: 0x42f8c020, 0x3f85: 0x4300fc20, 0x3f86: 0x42e4c420, 0x3f87: 0x42f19420, + 0x3f88: 0x43198420, 0x3f89: 0x432dee20, 0x3f8a: 0x42b1b020, 0x3f8b: 0x42b8c420, + 0x3f8c: 0x42d42620, 0x3f8d: 0x42dbb420, 0x3f8e: 0x42de1e20, 0x3f8f: 0x42fa5e20, + 0x3f90: 0x42fc6e20, 0x3f91: 0x432c9620, 0x3f92: 0x42a5a420, 0x3f93: 0x43011620, + 0x3f94: 0x42a3b820, 0x3f95: 0x42a39820, 0x3f96: 0x42f43820, 0x3f97: 0x42fb7c20, + 0x3f98: 0x4307e220, 0x3f99: 0x432cea20, 0x3f9a: 0x43170020, 0x3f9b: 0x42c59e20, + 0x3f9c: 0x42d40420, 0x3f9d: 0x4315fc20, 0x3f9e: 0x429c7220, 0x3f9f: 0x42b7ce20, + 0x3fa0: 0x42c02420, 0x3fa1: 0x42e70e20, 0x3fa2: 0x42eae020, 0x3fa3: 0x42a62e20, + 0x3fa4: 0x42f1f620, 0x3fa5: 0x429f7e20, 0x3fa6: 0x42bf5220, 0x3fa7: 0x429c1a20, + 0x3fa8: 0x42d99820, 0x3fa9: 0x42caf020, 0x3faa: 0x42fa4420, 0x3fab: 0x42a78620, + 0x3fac: 0x42b0bc20, 0x3fad: 0x42ee0220, 0x3fae: 0x43089220, 0x3faf: 0x43155420, + 0x3fb0: 0x42d77420, 0x3fb1: 0x431f6020, 0x3fb2: 0x42d91020, 0x3fb3: 0x42c5fc20, + 0x3fb4: 0x4305ca20, 0x3fb5: 0x42c74020, 0x3fb6: 0x42eaca20, 0x3fb7: 0x429d5c20, + 0x3fb8: 0x42a2d220, 0x3fb9: 0x42a39220, 0x3fba: 0x42d10220, 0x3fbb: 0x42f9ce20, + 0x3fbc: 0x4304de20, 0x3fbd: 0x4315a420, 0x3fbe: 0x43239e20, 0x3fbf: 0x42a5ea20, + // Block 0xff, offset 0x3fc0 + 0x3fc0: 0x42a88420, 0x3fc1: 0x42b2e620, 0x3fc2: 0x42bdd820, 0x3fc3: 0x42cb8a20, + 0x3fc4: 0x42dffc20, 0x3fc5: 0x42f25420, 0x3fc6: 0x432b5a20, 0x3fc7: 0x4334d420, + 0x3fc8: 0x433d2e20, 0x3fc9: 0x433d9c20, 0x3fca: 0x42a53620, 0x3fcb: 0x42cd8c20, + 0x3fcc: 0x42d6ee20, 0x3fcd: 0x431ec420, 0x3fce: 0x42bce820, 0x3fcf: 0x42c32020, + 0x3fd0: 0x42c40020, 0x3fd1: 0x42c93420, 0x3fd2: 0x42de4620, 0x3fd3: 0x42e29220, + 0x3fd4: 0x42e91220, 0x3fd5: 0x42f39420, 0x3fd6: 0x42fbe820, 0x3fd7: 0x4300de20, + 0x3fd8: 0x431e4c20, 0x3fd9: 0x4309dc20, 0x3fda: 0x43204620, 0x3fdb: 0x43269420, + 0x3fdc: 0x42a42e20, 0x3fdd: 0x42a54620, 0x3fde: 0x42a97a20, 0x3fdf: 0x42e19020, + 0x3fe0: 0x43118420, 0x3fe1: 0x43155420, 0x3fe2: 0x42bd9220, 0x3fe3: 0x42bfea20, + 0x3fe4: 0x42c6f620, 0x3fe5: 0x42d75c20, 0x3fe6: 0x42f87c20, 0x3fe7: 0x42e6ea20, + 0x3fe8: 0x429dc820, 0x3fe9: 0x42adf220, 0x3fea: 0x42b7ce20, 0x3feb: 0x42bb7420, + 0x3fec: 0x42c03820, 0x3fed: 0x42e76420, 0x3fee: 0x42e8d220, 0x3fef: 0x42ff3420, + 0x3ff0: 0x43008c20, 0x3ff1: 0x43246820, 0x3ff2: 0x432dec20, 0x3ff3: 0x432e9020, + 0x3ff4: 0x43303020, 0x3ff5: 0x429f1620, 0x3ff6: 0x42f35c20, 0x3ff7: 0x43236820, + 0x3ff8: 0x432d7020, 0x3ff9: 0x42c1c220, 0x3ffa: 0x429d0c20, 0x3ffb: 0x42a1b420, + 0x3ffc: 0x42b7dc20, 0x3ffd: 0x42b87e20, 0x3ffe: 0x42cb3220, 0x3fff: 0x42d40420, + // Block 0x100, offset 0x4000 + 0x4000: 0x42e39c20, 0x4001: 0x42ec8420, 0x4002: 0x4309f820, 0x4003: 0x4320f820, + 0x4004: 0x433f1a20, 0x4005: 0x42cd1020, 0x4006: 0x432c5c20, 0x4007: 0x42a51220, + 0x4008: 0x42cef620, 0x4009: 0x42cfe620, 0x400a: 0x42da8220, 0x400b: 0x42dd3820, + 0x400c: 0x42e81220, 0x400d: 0x42eab220, 0x400e: 0x42f0d620, 0x400f: 0x42fa2020, + 0x4010: 0x4330bc20, 0x4011: 0x42a2da20, 0x4012: 0x42c45c20, 0x4013: 0x432cf020, + 0x4014: 0x42a05620, 0x4015: 0x42ba3220, 0x4016: 0x42dbd420, 0x4017: 0x431e5420, + 0x4018: 0x42bf1620, 0x4019: 0x42c28820, 0x401a: 0x42d02e20, 0x401b: 0x42e70e20, + 0x401c: 0x432d0c20, 0x401d: 0x42a45220, 0x401e: 0x42a81e20, 0x401f: 0x42b8ca20, + 0x4020: 0x42cc2620, 0x4021: 0x42ce9c20, 0x4022: 0x42d15020, 0x4023: 0x42d9ca20, + 0x4024: 0x42e80c20, 0x4025: 0x42ebc420, 0x4026: 0x42fef220, 0x4027: 0x43119e20, + 0x4028: 0x4311c220, 0x4029: 0x43239820, 0x402a: 0x432dc420, 0x402b: 0x42a67e20, + 0x402c: 0x42dd7420, 0x402d: 0x42a83a20, 0x402e: 0x42e3a020, 0x402f: 0x42e93020, + 0x4030: 0x430bf420, 0x4031: 0x432d4620, 0x4032: 0x4338ae20, 0x4033: 0x433d3e20, + 0x4034: 0x42cf2e20, 0x4035: 0x42db9620, 0x4036: 0x4303d020, 0x4037: 0x42f59620, + 0x4038: 0x42f64020, 0x4039: 0x42f92420, 0x403a: 0x42e58020, 0x403b: 0x42e13220, + 0x403c: 0x4316b020, 0x403d: 0x429d8020, 0x403e: 0x43066c20, 0x403f: 0x42a47420, + // Block 0x101, offset 0x4040 + 0x4040: 0x42a40e20, 0x4041: 0x42bd4c20, 0x4042: 0x42c5a620, 0x4043: 0x42f9ac20, + 0x4044: 0x42b70a20, 0x4045: 0x42da3c20, 0x4046: 0x42cd6820, 0x4047: 0x431e7620, + 0x4048: 0x43109820, 0x4049: 0x432c9a20, 0x404a: 0x43131620, 0x404b: 0x42bda620, + 0x404c: 0x42a28020, 0x404d: 0x42ab8020, 0x404e: 0x43f41c20, 0x404f: 0x43f41e20, + 0x4050: 0x42b0b420, 0x4051: 0x43f42220, 0x4052: 0x42cce820, 0x4053: 0x43f42620, + 0x4054: 0x43f42820, 0x4055: 0x42a3bc20, 0x4056: 0x42e65420, 0x4057: 0x42ed9420, + 0x4058: 0x42f27820, 0x4059: 0x42f2bc20, 0x405a: 0x42f2ca20, 0x405b: 0x42f31e20, + 0x405c: 0x432eac20, 0x405d: 0x42f97c20, 0x405e: 0x42ff7a20, 0x405f: 0x43f43e20, + 0x4060: 0x430c2420, 0x4061: 0x43f44220, 0x4062: 0x4315f020, 0x4063: 0x43f44620, + 0x4064: 0x43f44820, 0x4065: 0x43207020, 0x4066: 0x4321fa20, 0x4067: 0x43f44e20, + 0x4068: 0x43f45020, 0x4069: 0x43f45220, 0x406a: 0x4331de20, 0x406b: 0x4331f820, + 0x406c: 0x43325020, 0x406d: 0x433b6820, 0x406e: 0x4321bc20, 0x406f: 0x432d6e20, + 0x4070: 0x429f5c20, 0x4071: 0x42a1ce20, 0x4072: 0x42a29a20, 0x4073: 0x42a59220, + 0x4074: 0x42a5c820, 0x4075: 0x42a6a220, 0x4076: 0x42ab3a20, 0x4077: 0x42ac0c20, + 0x4078: 0x42acd020, 0x4079: 0x42b08020, 0x407a: 0x42b15020, 0x407b: 0x42b8c820, + 0x407c: 0x42b8dc20, 0x407d: 0x42c12820, 0x407e: 0x42c2d020, 0x407f: 0x42c31c20, + // Block 0x102, offset 0x4080 + 0x4080: 0x42c3e420, 0x4081: 0x42ca9e20, 0x4082: 0x42cbc420, 0x4083: 0x42cd2220, + 0x4084: 0x42d10a20, 0x4085: 0x42daee20, 0x4086: 0x42dc3420, 0x4087: 0x42de4420, + 0x4088: 0x42e2dc20, 0x4089: 0x42e45620, 0x408a: 0x42e84420, 0x408b: 0x42f12220, + 0x408c: 0x42f27c20, 0x408d: 0x42f29220, 0x408e: 0x42f29020, 0x408f: 0x42f2a020, + 0x4090: 0x42f2ac20, 0x4091: 0x42f2ba20, 0x4092: 0x42f31a20, 0x4093: 0x42f31c20, + 0x4094: 0x42f48020, 0x4095: 0x42f50220, 0x4096: 0x42f78020, 0x4097: 0x42fbe820, + 0x4098: 0x42fc1220, 0x4099: 0x42fc8220, 0x409a: 0x42fee420, 0x409b: 0x43000a20, + 0x409c: 0x4303da20, 0x409d: 0x4304f220, 0x409e: 0x4304f220, 0x409f: 0x4308ae20, + 0x40a0: 0x43122020, 0x40a1: 0x43132c20, 0x40a2: 0x43160220, 0x40a3: 0x43167220, + 0x40a4: 0x4319a620, 0x40a5: 0x431a1020, 0x40a6: 0x431f6c20, 0x40a7: 0x43207020, + 0x40a8: 0x432dc620, 0x40a9: 0x432ffe20, 0x40aa: 0x43307620, 0x40ab: 0x42c0ea20, + 0x40ac: 0x4885dc20, 0x40ad: 0x43043020, + 0x40b0: 0x429c4c20, 0x40b1: 0x42a36a20, 0x40b2: 0x42a2d020, 0x40b3: 0x429f0020, + 0x40b4: 0x42a28a20, 0x40b5: 0x42a30020, 0x40b6: 0x42a58e20, 0x40b7: 0x42a5f420, + 0x40b8: 0x42ab3a20, 0x40b9: 0x42aaaa20, 0x40ba: 0x42ab3220, 0x40bb: 0x42abc420, + 0x40bc: 0x42b0b420, 0x40bd: 0x42b16620, 0x40be: 0x42b28820, 0x40bf: 0x42b2a820, + // Block 0x103, offset 0x40c0 + 0x40c0: 0x42b4c420, 0x40c1: 0x42b65020, 0x40c2: 0x42bda420, 0x40c3: 0x42bdb220, + 0x40c4: 0x42bed220, 0x40c5: 0x42bf5a20, 0x40c6: 0x42c1b020, 0x40c7: 0x42c29c20, + 0x40c8: 0x42c21020, 0x40c9: 0x42c31c20, 0x40ca: 0x42c2c020, 0x40cb: 0x42c3e420, + 0x40cc: 0x42c46820, 0x40cd: 0x42c78820, 0x40ce: 0x42c83820, 0x40cf: 0x42c8a420, + 0x40d0: 0x42caac20, 0x40d1: 0x42cce820, 0x40d2: 0x42ce2e20, 0x40d3: 0x42ce3620, + 0x40d4: 0x42ceac20, 0x40d5: 0x42d6f220, 0x40d6: 0x42d77420, 0x40d7: 0x42da8220, + 0x40d8: 0x42ddb620, 0x40d9: 0x42dd9620, 0x40da: 0x42de4420, 0x40db: 0x42e03c20, + 0x40dc: 0x42e2dc20, 0x40dd: 0x42ef4e20, 0x40de: 0x42e46a20, 0x40df: 0x42e55e20, + 0x40e0: 0x42e65420, 0x40e1: 0x42e8e220, 0x40e2: 0x42ea0c20, 0x40e3: 0x42ea7620, + 0x40e4: 0x42ec3a20, 0x40e5: 0x42ec3e20, 0x40e6: 0x42ed9420, 0x40e7: 0x42edb620, + 0x40e8: 0x42ede820, 0x40e9: 0x42ee9420, 0x40ea: 0x42ee8020, 0x40eb: 0x42f19820, + 0x40ec: 0x42f56220, 0x40ed: 0x42f78020, 0x40ee: 0x42f8f620, 0x40ef: 0x42fab620, + 0x40f0: 0x42fbe820, 0x40f1: 0x42fe7c20, 0x40f2: 0x43000a20, 0x40f3: 0x4306a420, + 0x40f4: 0x4307de20, 0x40f5: 0x430ef220, 0x40f6: 0x43128220, 0x40f7: 0x43130c20, + 0x40f8: 0x43132c20, 0x40f9: 0x43157e20, 0x40fa: 0x4315f020, 0x40fb: 0x43159620, + 0x40fc: 0x43160220, 0x40fd: 0x4315fc20, 0x40fe: 0x4315da20, 0x40ff: 0x43167220, + // Block 0x104, offset 0x4100 + 0x4100: 0x43171420, 0x4101: 0x431a1020, 0x4102: 0x431e7020, 0x4103: 0x4320e420, + 0x4104: 0x43233220, 0x4105: 0x4324ec20, 0x4106: 0x432cf820, 0x4107: 0x432dc620, + 0x4108: 0x432eac20, 0x4109: 0x432fb620, 0x410a: 0x432ffe20, 0x410b: 0x43301620, + 0x410c: 0x43307620, 0x410d: 0x43362420, 0x410e: 0x433f3820, 0x410f: 0x48509420, + 0x4110: 0x48508820, 0x4111: 0x4867aa20, 0x4112: 0x44773a20, 0x4113: 0x44803020, + 0x4114: 0x44807220, 0x4115: 0x48a49220, 0x4116: 0x48b9a020, 0x4117: 0x48fda620, + 0x4118: 0x433e8620, 0x4119: 0x433f1c20, + // Block 0x105, offset 0x4140 + 0x4140: 0xf0000404, 0x4141: 0xf0000404, 0x4142: 0xf0000404, 0x4143: 0xe0000b99, + 0x4144: 0xe0000b9d, 0x4145: 0xe0000f83, 0x4146: 0xf0000404, + 0x4153: 0xf0000404, + 0x4154: 0xf0000404, 0x4155: 0xf0000404, 0x4156: 0xf0000404, 0x4157: 0xf0000404, + 0x415d: 0xe000150b, 0x415e: 0xa1a09602, 0x415f: 0xe0001514, + 0x4160: 0x0038ae85, 0x4161: 0x00389085, 0x4162: 0x00389685, 0x4163: 0x00389885, + 0x4164: 0x0038a485, 0x4165: 0x0038a685, 0x4166: 0x0038a885, 0x4167: 0x0038b685, + 0x4168: 0x0038ba85, 0x4169: 0x00093885, 0x416a: 0xe0001542, 0x416b: 0xe000153f, + 0x416c: 0xe000154c, 0x416d: 0xe0001548, 0x416e: 0xe00014e1, 0x416f: 0xe00014e4, + 0x4170: 0xe00014e7, 0x4171: 0xe00014ea, 0x4172: 0xe00014f0, 0x4173: 0xe00014f3, + 0x4174: 0xe00014f6, 0x4175: 0xe00014fc, 0x4176: 0xe0001505, + 0x4178: 0xe0001508, 0x4179: 0xe000150e, 0x417a: 0xe000151b, 0x417b: 0xe0001518, + 0x417c: 0xe0001521, 0x417e: 0xe0001524, + // Block 0x106, offset 0x4180 + 0x4180: 0xe0001527, 0x4181: 0xe000152a, 0x4183: 0xe0001530, + 0x4184: 0xe000152d, 0x4186: 0xe0001536, 0x4187: 0xe0001539, + 0x4188: 0xe000153c, 0x4189: 0xe0001545, 0x418a: 0xe0001550, 0x418b: 0xe00014f9, + 0x418c: 0xe00014ed, 0x418d: 0xe000151e, 0x418e: 0xe0001533, 0x418f: 0xf0000404, + 0x4190: 0x0039249a, 0x4191: 0x00392499, 0x4192: 0x00393e9a, 0x4193: 0x00393e99, + 0x4194: 0x00393e97, 0x4195: 0x00393e98, 0x4196: 0x0039409a, 0x4197: 0x00394099, + 0x4198: 0x00394097, 0x4199: 0x00394098, 0x419a: 0x0039429a, 0x419b: 0x00394299, + 0x419c: 0x00394297, 0x419d: 0x00394298, 0x419e: 0x00395c9a, 0x419f: 0x00395c99, + 0x41a0: 0x00395c97, 0x41a1: 0x00395c98, 0x41a2: 0x0039629a, 0x41a3: 0x00396299, + 0x41a4: 0x00396297, 0x41a5: 0x00396298, 0x41a6: 0x00395a9a, 0x41a7: 0x00395a99, + 0x41a8: 0x00395a97, 0x41a9: 0x00395a98, 0x41aa: 0x003a049a, 0x41ab: 0x003a0499, + 0x41ac: 0x003a0497, 0x41ad: 0x003a0498, 0x41ae: 0x003a0a9a, 0x41af: 0x003a0a99, + 0x41b0: 0x003a0a97, 0x41b1: 0x003a0a98, 0x41b2: 0x0039689a, 0x41b3: 0x00396899, + 0x41b4: 0x00396897, 0x41b5: 0x00396898, 0x41b6: 0x0039669a, 0x41b7: 0x00396699, + 0x41b8: 0x00396697, 0x41b9: 0x00396698, 0x41ba: 0x00396a9a, 0x41bb: 0x00396a99, + 0x41bc: 0x00396a97, 0x41bd: 0x00396a98, 0x41be: 0x00396e9a, 0x41bf: 0x00396e99, + // Block 0x107, offset 0x41c0 + 0x41c0: 0x00396e97, 0x41c1: 0x00396e98, 0x41c2: 0x0039969a, 0x41c3: 0x00399699, + 0x41c4: 0x0039949a, 0x41c5: 0x00399499, 0x41c6: 0x0039989a, 0x41c7: 0x00399899, + 0x41c8: 0x00398c9a, 0x41c9: 0x00398c99, 0x41ca: 0x0039b69a, 0x41cb: 0x0039b699, + 0x41cc: 0x0039a89a, 0x41cd: 0x0039a899, 0x41ce: 0x003a1c9a, 0x41cf: 0x003a1c99, + 0x41d0: 0x003a1c97, 0x41d1: 0x003a1c98, 0x41d2: 0x003a2a9a, 0x41d3: 0x003a2a99, + 0x41d4: 0x003a2a97, 0x41d5: 0x003a2a98, 0x41d6: 0x003a329a, 0x41d7: 0x003a3299, + 0x41d8: 0x003a3297, 0x41d9: 0x003a3298, 0x41da: 0x003a2e9a, 0x41db: 0x003a2e99, + 0x41dc: 0x003a2e97, 0x41dd: 0x003a2e98, 0x41de: 0x003a589a, 0x41df: 0x003a5899, + 0x41e0: 0x003a5a9a, 0x41e1: 0x003a5a99, 0x41e2: 0x003a5a97, 0x41e3: 0x003a5a98, + 0x41e4: 0xf0001a1a, 0x41e5: 0xf0001919, 0x41e6: 0x003a6c9a, 0x41e7: 0x003a6c99, + 0x41e8: 0x003a6c97, 0x41e9: 0x003a6c98, 0x41ea: 0x003a6a9a, 0x41eb: 0x003a6a99, + 0x41ec: 0x003a6a97, 0x41ed: 0x003a6a98, 0x41ee: 0x003aaa9a, 0x41ef: 0x003aaa99, + 0x41f0: 0xf0001a1a, 0x41f1: 0xf0001919, 0x41f2: 0x40071820, 0x41f3: 0x40071a20, + 0x41f4: 0x40071c20, 0x41f5: 0x40071e20, 0x41f6: 0x40072020, 0x41f7: 0x40072220, + 0x41f8: 0x40072420, 0x41f9: 0x40072620, 0x41fa: 0x40072820, 0x41fb: 0x40072a20, + 0x41fc: 0x40072c20, 0x41fd: 0x40072e20, 0x41fe: 0x40073020, 0x41ff: 0x40073220, + // Block 0x108, offset 0x4200 + 0x4200: 0x40073420, 0x4201: 0x40073620, + 0x4213: 0x003a269a, + 0x4214: 0x003a2699, 0x4215: 0x003a2697, 0x4216: 0x003a2698, 0x4217: 0x003a7c9a, + 0x4218: 0x003a7c99, 0x4219: 0x003a7a9a, 0x421a: 0x003a7a99, 0x421b: 0x003a7e9a, + 0x421c: 0x003a7e99, 0x421d: 0xf0001a1a, 0x421e: 0x003a849a, 0x421f: 0x003a8499, + 0x4220: 0x003a789a, 0x4221: 0x003a7899, 0x4222: 0x003a809a, 0x4223: 0x003a8099, + 0x4224: 0x003a989a, 0x4225: 0x003a9899, 0x4226: 0x003a9897, 0x4227: 0x003a9898, + 0x4228: 0x003a8e97, 0x4229: 0x003a8e98, 0x422a: 0xe0001559, 0x422b: 0xe0001556, + 0x422c: 0xe0001589, 0x422d: 0xe0001586, 0x422e: 0xe000158f, 0x422f: 0xe000158c, + 0x4230: 0xe000159b, 0x4231: 0xe0001598, 0x4232: 0xe0001595, 0x4233: 0xe0001592, + 0x4234: 0xe00015a1, 0x4235: 0xe000159e, 0x4236: 0xe00015bf, 0x4237: 0xe00015bc, + 0x4238: 0xe00015b9, 0x4239: 0xe00015ad, 0x423a: 0xe00015a7, 0x423b: 0xe00015a4, + 0x423c: 0x003a929a, 0x423d: 0x003a9299, 0x423e: 0x003a9297, 0x423f: 0x003a9298, + // Block 0x109, offset 0x4240 + 0x4240: 0xe000155f, 0x4241: 0xe0001565, 0x4242: 0xe000157a, 0x4243: 0xe00015b0, + 0x4244: 0xe00015b6, 0x4245: 0xf0001a1a, 0x4246: 0xf0001a1a, 0x4247: 0xf0001a1a, + 0x4248: 0xf0001a1a, 0x4249: 0xf0001a1a, 0x424a: 0xf0001a1a, 0x424b: 0xf0001a1a, + 0x424c: 0xf0001a1a, 0x424d: 0xf0001a1a, 0x424e: 0xf0001a1a, 0x424f: 0xf0001a1a, + 0x4250: 0xf0001a1a, 0x4251: 0xf0001a1a, 0x4252: 0xf0001a1a, 0x4253: 0xf0001a1a, + 0x4254: 0xf0001a1a, 0x4255: 0xf0001a1a, 0x4256: 0xf0001a1a, 0x4257: 0xf0001a1a, + 0x4258: 0xf0001a1a, 0x4259: 0xf0001a1a, 0x425a: 0xf0001a1a, 0x425b: 0xf0001a1a, + 0x425c: 0xf0001a1a, 0x425d: 0xf0001a1a, 0x425e: 0xf0001a1a, 0x425f: 0xf0001a1a, + 0x4260: 0xf0001a1a, 0x4261: 0xf0001a1a, 0x4262: 0xf0001a1a, 0x4263: 0xf0001a1a, + 0x4264: 0xf0001a1a, 0x4265: 0xf0001a1a, 0x4266: 0xf0001a1a, 0x4267: 0xf0001a1a, + 0x4268: 0xf0001a1a, 0x4269: 0xf0001a1a, 0x426a: 0xf0001a1a, 0x426b: 0xf0001a1a, + 0x426c: 0xf0001a1a, 0x426d: 0xf0001a1a, 0x426e: 0xf0001a1a, 0x426f: 0xf0001a1a, + 0x4270: 0xf0001a1a, 0x4271: 0xf0001a1a, 0x4272: 0xf0001a1a, 0x4273: 0xf0001a1a, + 0x4274: 0xf0001a1a, 0x4275: 0xf0001a1a, 0x4276: 0xf0001a1a, 0x4277: 0xf0001a1a, + 0x4278: 0xf0001a1a, 0x4279: 0xf0001a1a, 0x427a: 0xf0001a1a, 0x427b: 0xf0001a1a, + 0x427c: 0xf0001a1a, 0x427d: 0xf0001a1a, 0x427e: 0xf0001a1a, 0x427f: 0xf0001a1a, + // Block 0x10a, offset 0x4280 + 0x4280: 0xf0001a1a, 0x4281: 0xf0001a1a, 0x4282: 0xf0001a1a, 0x4283: 0xf0001a1a, + 0x4284: 0xf0001a1a, 0x4285: 0xf0001a1a, 0x4286: 0xf0001a1a, 0x4287: 0xf0001a1a, + 0x4288: 0xf0001a1a, 0x4289: 0xf0001a1a, 0x428a: 0xf0001a1a, 0x428b: 0xf0001a1a, + 0x428c: 0xf0001a1a, 0x428d: 0xf0001a1a, 0x428e: 0xf0001a1a, 0x428f: 0xf0001a1a, + 0x4290: 0xf0001a1a, 0x4291: 0xf0001a1a, 0x4292: 0xf0001a1a, 0x4293: 0xf0001a1a, + 0x4294: 0xf0001a1a, 0x4295: 0xf0001a1a, 0x4296: 0xf0001a1a, 0x4297: 0xf0001a1a, + 0x4298: 0xf0001a1a, 0x4299: 0xf0001a1a, 0x429a: 0xf0001a1a, 0x429b: 0xf0001a1a, + 0x429c: 0xf0001a1a, 0x429d: 0xf0001a1a, 0x429e: 0xe0000003, 0x429f: 0xe0000006, + 0x42a0: 0xe0000009, 0x42a1: 0xe000000c, 0x42a2: 0xe000000f, 0x42a3: 0xe0000012, + 0x42a4: 0xe000156b, 0x42a5: 0xe000156e, 0x42a6: 0xe0001577, 0x42a7: 0xe000157d, + 0x42a8: 0xe00015aa, 0x42a9: 0xe00015b3, 0x42aa: 0xf0001919, 0x42ab: 0xf0001919, + 0x42ac: 0xf0001919, 0x42ad: 0xf0001919, 0x42ae: 0xf0001919, 0x42af: 0xf0001919, + 0x42b0: 0xf0001919, 0x42b1: 0xf0001919, 0x42b2: 0xf0001919, 0x42b3: 0xf0001919, + 0x42b4: 0xf0001919, 0x42b5: 0xf0001919, 0x42b6: 0xf0001919, 0x42b7: 0xf0001919, + 0x42b8: 0xf0001919, 0x42b9: 0xf0001919, 0x42ba: 0xf0001919, 0x42bb: 0xf0001919, + 0x42bc: 0xf0001919, 0x42bd: 0xf0001919, 0x42be: 0xf0001919, 0x42bf: 0xf0001919, + // Block 0x10b, offset 0x42c0 + 0x42c0: 0xf0001919, 0x42c1: 0xf0001919, 0x42c2: 0xf0001919, 0x42c3: 0xf0001919, + 0x42c4: 0xf0001919, 0x42c5: 0xf0001919, 0x42c6: 0xf0001919, 0x42c7: 0xf0001919, + 0x42c8: 0xf0001919, 0x42c9: 0xf0001919, 0x42ca: 0xf0001919, 0x42cb: 0xf0001919, + 0x42cc: 0xf0001919, 0x42cd: 0xf0001919, 0x42ce: 0xf0001919, 0x42cf: 0xf0001919, + 0x42d0: 0xf0001919, 0x42d1: 0xf0001919, 0x42d2: 0xf0001919, 0x42d3: 0xf0001919, + 0x42d4: 0xf0001919, 0x42d5: 0xf0001919, 0x42d6: 0xf0001919, 0x42d7: 0xe000155c, + 0x42d8: 0xe0001562, 0x42d9: 0xe0001568, 0x42da: 0xe0001571, 0x42db: 0xe0001580, + 0x42dc: 0xf0001717, 0x42dd: 0xf0001717, 0x42de: 0xf0001717, 0x42df: 0xf0001717, + 0x42e0: 0xf0001717, 0x42e1: 0xf0001717, 0x42e2: 0xf0001717, 0x42e3: 0xf0001717, + 0x42e4: 0xf0001717, 0x42e5: 0xf0001717, 0x42e6: 0xf0001717, 0x42e7: 0xf0001717, + 0x42e8: 0xf0001717, 0x42e9: 0xf0001717, 0x42ea: 0xf0001717, 0x42eb: 0xf0001717, + 0x42ec: 0xf0001717, 0x42ed: 0xf0001717, 0x42ee: 0xf0001717, 0x42ef: 0xf0001717, + 0x42f0: 0xf0001717, 0x42f1: 0xf0001717, 0x42f2: 0xf0001717, 0x42f3: 0xf0001717, + 0x42f4: 0xf0001717, 0x42f5: 0xf0001717, 0x42f6: 0xf0001717, 0x42f7: 0xf0001717, + 0x42f8: 0xf0001717, 0x42f9: 0xf0001717, 0x42fa: 0xf0001717, 0x42fb: 0xf0001717, + 0x42fc: 0xf0001717, 0x42fd: 0xf0001717, 0x42fe: 0xf0001717, 0x42ff: 0xf0001717, + // Block 0x10c, offset 0x4300 + 0x4300: 0xf0001717, 0x4301: 0xf0001717, 0x4302: 0xf0001717, 0x4303: 0xf0001717, + 0x4304: 0xf0001717, 0x4305: 0xf0001717, 0x4306: 0xf0001717, 0x4307: 0xf0001717, + 0x4308: 0xf0001717, 0x4309: 0xf0001717, 0x430a: 0xf0001717, 0x430b: 0xf0001717, + 0x430c: 0xf0001717, 0x430d: 0xf0001717, 0x430e: 0xf0001717, 0x430f: 0xf0001717, + 0x4310: 0xf0001717, 0x4311: 0xf0001717, 0x4312: 0xf0001717, 0x4313: 0xf0001717, + 0x4314: 0xf0001717, 0x4315: 0xf0001717, 0x4316: 0xf0001717, 0x4317: 0xf0001717, + 0x4318: 0xf0001717, 0x4319: 0xf0001717, 0x431a: 0xf0001717, 0x431b: 0xf0001717, + 0x431c: 0xf0001717, 0x431d: 0xf0001717, 0x431e: 0xf0001717, 0x431f: 0xe0001574, + 0x4320: 0xe0001583, 0x4321: 0xf0001818, 0x4322: 0xf0001818, 0x4323: 0xf0001818, + 0x4324: 0xf0001818, 0x4325: 0xf0001818, 0x4326: 0xf0001818, 0x4327: 0xf0001818, + 0x4328: 0xf0001818, 0x4329: 0xf0001818, 0x432a: 0xf0001818, 0x432b: 0xf0001818, + 0x432c: 0xf0001818, 0x432d: 0xf0001818, 0x432e: 0xf0001818, 0x432f: 0xf0001818, + 0x4330: 0xf0001818, 0x4331: 0xf0001818, 0x4332: 0xf0001818, 0x4333: 0xf0001818, + 0x4334: 0xf0001818, 0x4335: 0xf0001a1a, 0x4336: 0xf0001a1a, 0x4337: 0xf0001a1a, + 0x4338: 0xf0001a1a, 0x4339: 0xf0001a1a, 0x433a: 0xf0001a1a, 0x433b: 0xf0001a1a, + 0x433c: 0xf0001a1a, 0x433d: 0xf0001a1a, 0x433e: 0xf0001a1a, 0x433f: 0xf0001a1a, + // Block 0x10d, offset 0x4340 + 0x4340: 0xf0001a1a, 0x4341: 0xf0001a1a, 0x4342: 0xf0001a1a, 0x4343: 0xf0001a1a, + 0x4344: 0xf0001a1a, 0x4345: 0xf0001a1a, 0x4346: 0xf0001a1a, 0x4347: 0xf0001a1a, + 0x4348: 0xf0001a1a, 0x4349: 0xf0001a1a, 0x434a: 0xf0001a1a, 0x434b: 0xf0001a1a, + 0x434c: 0xf0001a1a, 0x434d: 0xf0001a1a, 0x434e: 0xf0001a1a, 0x434f: 0xf0001a1a, + 0x4350: 0xf0001a1a, 0x4351: 0xf0001919, 0x4352: 0xf0001919, 0x4353: 0xf0001919, + 0x4354: 0xf0001919, 0x4355: 0xf0001919, 0x4356: 0xf0001919, 0x4357: 0xf0001919, + 0x4358: 0xf0001919, 0x4359: 0xf0001919, 0x435a: 0xf0001919, 0x435b: 0xf0001919, + 0x435c: 0xf0001919, 0x435d: 0xf0001919, 0x435e: 0xf0001919, 0x435f: 0xf0001919, + 0x4360: 0xf0001919, 0x4361: 0xf0001919, 0x4362: 0xf0001919, 0x4363: 0xf0001919, + 0x4364: 0xf0001919, 0x4365: 0xf0001919, 0x4366: 0xf0001919, 0x4367: 0xf0001919, + 0x4368: 0xf0001919, 0x4369: 0xf0001919, 0x436a: 0xf0001919, 0x436b: 0xf0001919, + 0x436c: 0xf0001919, 0x436d: 0xf0001717, 0x436e: 0xf0001717, 0x436f: 0xf0001717, + 0x4370: 0xf0001717, 0x4371: 0xf0001717, 0x4372: 0xf0001717, 0x4373: 0xf0001717, + 0x4374: 0xf0001818, 0x4375: 0xf0001818, 0x4376: 0xf0001818, 0x4377: 0xf0001818, + 0x4378: 0xf0001818, 0x4379: 0xf0001818, 0x437a: 0xf0001818, 0x437b: 0xf0001818, + 0x437c: 0xf0001919, 0x437d: 0xf0001a1a, 0x437e: 0x4004c020, 0x437f: 0x4004c220, + // Block 0x10e, offset 0x4380 + 0x4390: 0xe00015d4, 0x4391: 0xe00015e4, 0x4392: 0xe00015e0, 0x4393: 0xe00015e8, + 0x4394: 0xe00015ec, 0x4395: 0xe00015f8, 0x4396: 0xe00015fc, 0x4397: 0xe0001600, + 0x4398: 0xe0001621, 0x4399: 0xe000161d, 0x439a: 0xe0001635, 0x439b: 0xe0001631, + 0x439c: 0xe0001646, 0x439d: 0xe000163e, 0x439e: 0xe0001642, 0x439f: 0xe000165a, + 0x43a0: 0xe0001656, 0x43a1: 0xe0001652, 0x43a2: 0xe0001662, 0x43a3: 0xe000165e, + 0x43a4: 0xe000168a, 0x43a5: 0xe0001686, 0x43a6: 0xe00016b6, 0x43a7: 0xe000166e, + 0x43a8: 0xe000166a, 0x43a9: 0xe0001666, 0x43aa: 0xe000167a, 0x43ab: 0xe0001676, + 0x43ac: 0xe0001682, 0x43ad: 0xe000167e, 0x43ae: 0xe00016ba, 0x43af: 0xe00016c6, + 0x43b0: 0xe00016c2, 0x43b1: 0xe00016ce, 0x43b2: 0xe00016ca, 0x43b3: 0xe00016d2, + 0x43b4: 0xe00016d6, 0x43b5: 0xe00016de, 0x43b6: 0xe00016eb, 0x43b7: 0xe00016e7, + 0x43b8: 0xe00016ef, 0x43b9: 0xe00016f7, 0x43ba: 0xe00016ff, 0x43bb: 0xe00016fb, + 0x43bc: 0xe0001707, 0x43bd: 0xe0001703, 0x43be: 0xe0001717, 0x43bf: 0xe000171b, + // Block 0x10f, offset 0x43c0 + 0x43c0: 0xe0001759, 0x43c1: 0xe0001761, 0x43c2: 0xe000175d, 0x43c3: 0xe0001741, + 0x43c4: 0xe0001745, 0x43c5: 0xe0001769, 0x43c6: 0xe0001765, 0x43c7: 0xe0001771, + 0x43c8: 0xe000176d, 0x43c9: 0xe000178c, 0x43ca: 0xe0001790, 0x43cb: 0xe0001799, + 0x43cc: 0xe000177c, 0x43cd: 0xe0001784, 0x43ce: 0xe000179d, 0x43cf: 0xe00017a1, + 0x43d2: 0xe0001780, 0x43d3: 0xe00017d9, + 0x43d4: 0xe00017dd, 0x43d5: 0xe00017c5, 0x43d6: 0xe00017c9, 0x43d7: 0xe00017b9, + 0x43d8: 0xe00017b5, 0x43d9: 0xe00017bd, 0x43da: 0xe00017d5, 0x43db: 0xe00017d1, + 0x43dc: 0xe00017f8, 0x43dd: 0xe00017f4, 0x43de: 0xe00015d0, 0x43df: 0xe00015dc, + 0x43e0: 0xe00015d8, 0x43e1: 0xe00015f4, 0x43e2: 0xe00015f0, 0x43e3: 0xe0001608, + 0x43e4: 0xe0001604, 0x43e5: 0xe0001629, 0x43e6: 0xe000160c, 0x43e7: 0xe0001625, + 0x43e8: 0xe000164a, 0x43e9: 0xe000168e, 0x43ea: 0xe0001672, 0x43eb: 0xe00016be, + 0x43ec: 0xe0001751, 0x43ed: 0xe0001775, 0x43ee: 0xe00017f0, 0x43ef: 0xe00017ec, + 0x43f0: 0xe00017fc, 0x43f1: 0xe00017a9, 0x43f2: 0xe000171f, 0x43f3: 0xe00017cd, + 0x43f4: 0xe0001713, 0x43f5: 0xe0001755, 0x43f6: 0xe00016f3, 0x43f7: 0xe000172b, + 0x43f8: 0xe00017ad, 0x43f9: 0xe00017a5, 0x43fa: 0xe0001749, 0x43fb: 0xe0001727, + 0x43fc: 0xe000174d, 0x43fd: 0xe00017b1, 0x43fe: 0xe0001610, 0x43ff: 0xe000162d, + // Block 0x110, offset 0x4400 + 0x4400: 0xe0001788, 0x4401: 0xe000170b, 0x4402: 0xe00015cc, 0x4403: 0xe0001723, + 0x4404: 0xe00016da, 0x4405: 0xe00016b2, 0x4406: 0xe000164e, 0x4407: 0xe00017c1, + 0x4430: 0xe00016ae, 0x4431: 0xe000170f, 0x4432: 0xe00015c7, 0x4433: 0xe00015c2, + 0x4434: 0xe0001794, 0x4435: 0xe0001692, 0x4436: 0xe0001639, 0x4437: 0xe00016e2, + 0x4438: 0xe00017e7, 0x4439: 0xe0001697, 0x443a: 0xe000169b, 0x443b: 0xe0001614, + 0x443c: 0x40282e20, 0x443d: 0x40071620, + // Block 0x111, offset 0x4440 + 0x4440: 0xa0000000, 0x4441: 0xa0000000, 0x4442: 0xa0000000, 0x4443: 0xa0000000, + 0x4444: 0xa0000000, 0x4445: 0xa0000000, 0x4446: 0xa0000000, 0x4447: 0xa0000000, + 0x4448: 0xa0000000, 0x4449: 0xa0000000, 0x444a: 0xa0000000, 0x444b: 0xa0000000, + 0x444c: 0xa0000000, 0x444d: 0xa0000000, 0x444e: 0xa0000000, 0x444f: 0xa0000000, + 0x4450: 0x00024096, 0x4451: 0x00025c96, 0x4452: 0x00030496, 0x4453: 0x00026c96, + 0x4454: 0x00026296, 0x4455: 0x0002ba96, 0x4456: 0x0002c496, 0x4457: 0x0004b496, + 0x4458: 0x0004b696, 0x4459: 0xf0001616, + 0x4460: 0xae608202, 0x4461: 0xae600000, 0x4462: 0xae608102, 0x4463: 0xae600000, + 0x4464: 0xae600000, 0x4465: 0xae600000, 0x4466: 0xae600000, + 0x4470: 0xf0001f16, 0x4471: 0x00022c96, 0x4472: 0x00022a96, 0x4473: 0x00021696, + 0x4474: 0x00021696, 0x4475: 0x0003f496, 0x4476: 0x0003f696, 0x4477: 0x0003fc96, + 0x4478: 0x0003fe96, 0x4479: 0x0004b096, 0x447a: 0x0004b296, 0x447b: 0x0004ac96, + 0x447c: 0x0004ae96, 0x447d: 0x0004a096, 0x447e: 0x0004a296, 0x447f: 0x00049c96, + // Block 0x112, offset 0x4480 + 0x4480: 0x00049e96, 0x4481: 0x0004a496, 0x4482: 0x0004a696, 0x4483: 0x0004a896, + 0x4484: 0x0004aa96, 0x4485: 0x40025e20, 0x4486: 0x40026020, 0x4487: 0x0003f896, + 0x4488: 0x0003fa96, 0x4489: 0x00021484, 0x448a: 0x00021484, 0x448b: 0x00021484, + 0x448c: 0x00021484, 0x448d: 0x00021684, 0x448e: 0x00021684, 0x448f: 0x00021684, + 0x4490: 0x0002408f, 0x4491: 0x00025c8f, 0x4492: 0x0002e48f, + 0x4494: 0x0002628f, 0x4495: 0x00026c8f, 0x4496: 0x0002c48f, 0x4497: 0x0002ba8f, + 0x4498: 0x00022c8f, 0x4499: 0x0003f48f, 0x449a: 0x0003f68f, 0x449b: 0x0003fc8f, + 0x449c: 0x0003fe8f, 0x449d: 0x0004b08f, 0x449e: 0x0004b28f, 0x449f: 0x0004ea8f, + 0x44a0: 0x0004e68f, 0x44a1: 0x0004d88f, 0x44a2: 0x0009388f, 0x44a3: 0x00021a8f, + 0x44a4: 0x0009408f, 0x44a5: 0x0009448f, 0x44a6: 0x0009428f, + 0x44a8: 0x0004e48f, 0x44a9: 0x0027de8f, 0x44aa: 0x0004ec8f, 0x44ab: 0x0004d68f, + 0x44b0: 0xa000a21a, 0x44b1: 0xa000a218, 0x44b2: 0xa000a51a, 0x44b3: 0xa0000000, + 0x44b4: 0xa000a91a, 0x44b6: 0xa000ad1a, 0x44b7: 0xa000ad18, + 0x44b8: 0xa000b21a, 0x44b9: 0xa000b218, 0x44ba: 0xa000b61a, 0x44bb: 0xa000b618, + 0x44bc: 0xa000ba1a, 0x44bd: 0xa000ba18, 0x44be: 0xa000bc1a, 0x44bf: 0xa000bc18, + // Block 0x113, offset 0x44c0 + 0x44c0: 0x00391c9a, 0x44c1: 0x00391e9a, 0x44c2: 0x00391e99, 0x44c3: 0x0039209a, + 0x44c4: 0x00392099, 0x44c5: 0x0039269a, 0x44c6: 0x00392699, 0x44c7: 0x0039289a, + 0x44c8: 0x00392899, 0x44c9: 0x0039309a, 0x44ca: 0x00393099, 0x44cb: 0x00393097, + 0x44cc: 0x00393098, 0x44cd: 0x0039389a, 0x44ce: 0x00393899, 0x44cf: 0x00393c9a, + 0x44d0: 0x00393c99, 0x44d1: 0x00393c97, 0x44d2: 0x00393c98, 0x44d3: 0x0039549a, + 0x44d4: 0x00395499, 0x44d5: 0x0039569a, 0x44d6: 0x00395699, 0x44d7: 0x00395697, + 0x44d8: 0x00395698, 0x44d9: 0x0039589a, 0x44da: 0x00395899, 0x44db: 0x00395897, + 0x44dc: 0x00395898, 0x44dd: 0x0039649a, 0x44de: 0x00396499, 0x44df: 0x00396497, + 0x44e0: 0x00396498, 0x44e1: 0x0039729a, 0x44e2: 0x00397299, 0x44e3: 0x00397297, + 0x44e4: 0x00397298, 0x44e5: 0x0039749a, 0x44e6: 0x00397499, 0x44e7: 0x00397497, + 0x44e8: 0x00397498, 0x44e9: 0x0039889a, 0x44ea: 0x00398899, 0x44eb: 0x00398a9a, + 0x44ec: 0x00398a99, 0x44ed: 0x0039a49a, 0x44ee: 0x0039a499, 0x44ef: 0x0039a69a, + 0x44f0: 0x0039a699, 0x44f1: 0x0039c69a, 0x44f2: 0x0039c699, 0x44f3: 0x0039c697, + 0x44f4: 0x0039c698, 0x44f5: 0x0039c89a, 0x44f6: 0x0039c899, 0x44f7: 0x0039c897, + 0x44f8: 0x0039c898, 0x44f9: 0x0039dc9a, 0x44fa: 0x0039dc99, 0x44fb: 0x0039dc97, + 0x44fc: 0x0039dc98, 0x44fd: 0x0039de9a, 0x44fe: 0x0039de99, 0x44ff: 0x0039de97, + // Block 0x114, offset 0x4500 + 0x4500: 0x0039de98, 0x4501: 0x0039e69a, 0x4502: 0x0039e699, 0x4503: 0x0039e697, + 0x4504: 0x0039e698, 0x4505: 0x0039e89a, 0x4506: 0x0039e899, 0x4507: 0x0039e897, + 0x4508: 0x0039e898, 0x4509: 0x0039ee9a, 0x450a: 0x0039ee99, 0x450b: 0x0039ee97, + 0x450c: 0x0039ee98, 0x450d: 0x0039f09a, 0x450e: 0x0039f099, 0x450f: 0x0039f097, + 0x4510: 0x0039f098, 0x4511: 0x0039fc9a, 0x4512: 0x0039fc99, 0x4513: 0x0039fc97, + 0x4514: 0x0039fc98, 0x4515: 0x003a129a, 0x4516: 0x003a1299, 0x4517: 0x003a1297, + 0x4518: 0x003a1298, 0x4519: 0x003a1a9a, 0x451a: 0x003a1a99, 0x451b: 0x003a1a97, + 0x451c: 0x003a1a98, 0x451d: 0x003a409a, 0x451e: 0x003a4099, 0x451f: 0x003a4097, + 0x4520: 0x003a4098, 0x4521: 0x003a4e9a, 0x4522: 0x003a4e99, 0x4523: 0x003a4e97, + 0x4524: 0x003a4e98, 0x4525: 0x003a569a, 0x4526: 0x003a5699, 0x4527: 0x003a5697, + 0x4528: 0x003a5698, 0x4529: 0x003a689a, 0x452a: 0x003a6899, 0x452b: 0x003a6897, + 0x452c: 0x003a6898, 0x452d: 0x003a749a, 0x452e: 0x003a7499, 0x452f: 0x003a8e9a, + 0x4530: 0x003a8e99, 0x4531: 0x003a909a, 0x4532: 0x003a9099, 0x4533: 0x003a9097, + 0x4534: 0x003a9098, 0x4535: 0xe0001732, 0x4536: 0xe000172f, 0x4537: 0xe0001738, + 0x4538: 0xe0001735, 0x4539: 0xe000173e, 0x453a: 0xe000173b, 0x453b: 0xf0001a1a, + 0x453c: 0xf0001919, 0x453f: 0xa0000000, + // Block 0x115, offset 0x4540 + 0x4541: 0x0002ba83, 0x4542: 0x0003e083, 0x4543: 0x0004ea83, + 0x4544: 0x0027de83, 0x4545: 0x0004ec83, 0x4546: 0x0004e683, 0x4547: 0x0003d283, + 0x4548: 0x0003f483, 0x4549: 0x0003f683, 0x454a: 0x0004d883, 0x454b: 0x00093883, + 0x454c: 0x00024083, 0x454d: 0x00021a83, 0x454e: 0x0002e483, 0x454f: 0x0004e283, + 0x4550: 0x0029cc83, 0x4551: 0x0029ce83, 0x4552: 0x0029d083, 0x4553: 0x0029d283, + 0x4554: 0x0029d483, 0x4555: 0x0029d683, 0x4556: 0x0029d883, 0x4557: 0x0029da83, + 0x4558: 0x0029dc83, 0x4559: 0x0029de83, 0x455a: 0x00026c83, 0x455b: 0x00026283, + 0x455c: 0x00094083, 0x455d: 0x00094283, 0x455e: 0x00094483, 0x455f: 0x0002c483, + 0x4560: 0x0004d683, 0x4561: 0x002bde89, 0x4562: 0x002c0a89, 0x4563: 0x002c3a89, + 0x4564: 0x002c6289, 0x4565: 0x002c9889, 0x4566: 0x002d0889, 0x4567: 0x002d2289, + 0x4568: 0x002d6889, 0x4569: 0x002d9a89, 0x456a: 0x002dcc89, 0x456b: 0x002dfe89, + 0x456c: 0x002e2289, 0x456d: 0x002e8289, 0x456e: 0x002e9e89, 0x456f: 0x002ee289, + 0x4570: 0x002f2c89, 0x4571: 0x002f5689, 0x4572: 0x002f7a89, 0x4573: 0x002fe689, + 0x4574: 0x00302c89, 0x4575: 0x00306c89, 0x4576: 0x0030be89, 0x4577: 0x0030e289, + 0x4578: 0x0030f689, 0x4579: 0x00310089, 0x457a: 0x00312a89, 0x457b: 0x0003f883, + 0x457c: 0x0004e483, 0x457d: 0x0003fa83, 0x457e: 0x00062483, 0x457f: 0x00021683, + // Block 0x116, offset 0x4580 + 0x4580: 0x00061e83, 0x4581: 0x002bde83, 0x4582: 0x002c0a83, 0x4583: 0x002c3a83, + 0x4584: 0x002c6283, 0x4585: 0x002c9883, 0x4586: 0x002d0883, 0x4587: 0x002d2283, + 0x4588: 0x002d6883, 0x4589: 0x002d9a83, 0x458a: 0x002dcc83, 0x458b: 0x002dfe83, + 0x458c: 0x002e2283, 0x458d: 0x002e8283, 0x458e: 0x002e9e83, 0x458f: 0x002ee283, + 0x4590: 0x002f2c83, 0x4591: 0x002f5683, 0x4592: 0x002f7a83, 0x4593: 0x002fe683, + 0x4594: 0x00302c83, 0x4595: 0x00306c83, 0x4596: 0x0030be83, 0x4597: 0x0030e283, + 0x4598: 0x0030f683, 0x4599: 0x00310083, 0x459a: 0x00312a83, 0x459b: 0x0003fc83, + 0x459c: 0x00094883, 0x459d: 0x0003fe83, 0x459e: 0x00094c83, 0x459f: 0x00041883, + 0x45a0: 0x00041a83, 0x45a1: 0x00030492, 0x45a2: 0x0004a492, 0x45a3: 0x0004a692, + 0x45a4: 0x00025c92, 0x45a5: 0x00023e92, 0x45a6: 0x0065d692, 0x45a7: 0x00657690, + 0x45a8: 0x00657890, 0x45a9: 0x00657a90, 0x45aa: 0x00657e90, 0x45ab: 0x00658090, + 0x45ac: 0x0065be90, 0x45ad: 0x0065c090, 0x45ae: 0x0065c490, 0x45af: 0x00659a90, + 0x45b0: 0x0027d692, 0x45b1: 0x00657692, 0x45b2: 0x00657892, 0x45b3: 0x00657a92, + 0x45b4: 0x00657e92, 0x45b5: 0x00658092, 0x45b6: 0x00658292, 0x45b7: 0x00658492, + 0x45b8: 0x00658692, 0x45b9: 0x00658892, 0x45ba: 0x00658a92, 0x45bb: 0x00658c92, + 0x45bc: 0x00658e92, 0x45bd: 0x00659092, 0x45be: 0x00659292, 0x45bf: 0x00659492, + // Block 0x117, offset 0x45c0 + 0x45c0: 0x00659692, 0x45c1: 0x00659892, 0x45c2: 0x00659a92, 0x45c3: 0x00659c92, + 0x45c4: 0x00659e92, 0x45c5: 0x0065a092, 0x45c6: 0x0065a292, 0x45c7: 0x0065a492, + 0x45c8: 0x0065a692, 0x45c9: 0x0065a892, 0x45ca: 0x0065aa92, 0x45cb: 0x0065ac92, + 0x45cc: 0x0065ae92, 0x45cd: 0x0065b092, 0x45ce: 0x0065b292, 0x45cf: 0x0065b492, + 0x45d0: 0x0065b692, 0x45d1: 0x0065b892, 0x45d2: 0x0065ba92, 0x45d3: 0x0065bc92, + 0x45d4: 0x0065be92, 0x45d5: 0x0065c092, 0x45d6: 0x0065c492, 0x45d7: 0x0065c692, + 0x45d8: 0x0065c892, 0x45d9: 0x0065ca92, 0x45da: 0x0065cc92, 0x45db: 0x0065ce92, + 0x45dc: 0x0065d092, 0x45dd: 0x0065d892, 0x45de: 0xa0012812, 0x45df: 0xa0012912, + 0x45e0: 0x0063a692, 0x45e1: 0x0062ac92, 0x45e2: 0x0062ae92, 0x45e3: 0x00646892, + 0x45e4: 0x0062b092, 0x45e5: 0x00646c92, 0x45e6: 0x00646e92, 0x45e7: 0x0062b292, + 0x45e8: 0x0062b492, 0x45e9: 0x0062b692, 0x45ea: 0x00647492, 0x45eb: 0x00647692, + 0x45ec: 0x00647892, 0x45ed: 0x00647a92, 0x45ee: 0x00647c92, 0x45ef: 0x00647e92, + 0x45f0: 0x0062e092, 0x45f1: 0x0062b892, 0x45f2: 0x0062ba92, 0x45f3: 0x0062bc92, + 0x45f4: 0x0062ee92, 0x45f5: 0x0062be92, 0x45f6: 0x0062c092, 0x45f7: 0x0062c292, + 0x45f8: 0x0062c492, 0x45f9: 0x0062c692, 0x45fa: 0x0062c892, 0x45fb: 0x0062ca92, + 0x45fc: 0x0062cc92, 0x45fd: 0x0062ce92, 0x45fe: 0x0062d092, + // Block 0x118, offset 0x4600 + 0x4602: 0x0063a892, 0x4603: 0x0063aa92, + 0x4604: 0x0063ac92, 0x4605: 0x0063ae92, 0x4606: 0x0063b092, 0x4607: 0x0063b292, + 0x460a: 0x0063b492, 0x460b: 0x0063b692, + 0x460c: 0x0063b892, 0x460d: 0x0063ba92, 0x460e: 0x0063bc92, 0x460f: 0x0063be92, + 0x4612: 0x0063c092, 0x4613: 0x0063c292, + 0x4614: 0x0063c492, 0x4615: 0x0063c692, 0x4616: 0x0063c892, 0x4617: 0x0063ca92, + 0x461a: 0x0063cc92, 0x461b: 0x0063ce92, + 0x461c: 0x0063d092, + 0x4620: 0x0027dc83, 0x4621: 0x0027e083, 0x4622: 0x00094683, 0x4623: 0x00062683, + 0x4624: 0x00094a83, 0x4625: 0x0027e283, 0x4626: 0x00280883, + 0x4628: 0x000d3292, 0x4629: 0x00084492, 0x462a: 0x00084892, 0x462b: 0x00084692, + 0x462c: 0x00084a92, 0x462d: 0x000e6e92, 0x462e: 0x000ec492, + 0x4639: 0xa0000000, 0x463a: 0xa0000000, 0x463b: 0xa0000000, + 0x463c: 0x4027ae20, 0x463d: 0x4027b020, 0x463e: 0x00000285, 0x463f: 0x2bfffe85, + // Block 0x119, offset 0x4640 + 0x4640: 0x40731a20, 0x4641: 0x40731c20, 0x4642: 0x40731e20, 0x4643: 0x40732020, + 0x4644: 0x40732220, 0x4645: 0x40732420, 0x4646: 0x40732620, 0x4647: 0x40732820, + 0x4648: 0x40732a20, 0x4649: 0x40732c20, 0x464a: 0x40732e20, 0x464b: 0x40733020, + 0x464d: 0x40733220, 0x464e: 0x40733420, 0x464f: 0x40733620, + 0x4650: 0x40733820, 0x4651: 0x40733a20, 0x4652: 0x40733c20, 0x4653: 0x40733e20, + 0x4654: 0x40734020, 0x4655: 0x40734220, 0x4656: 0x40734420, 0x4657: 0x40734620, + 0x4658: 0x40734820, 0x4659: 0x40734a20, 0x465a: 0x40734c20, 0x465b: 0x40734e20, + 0x465c: 0x40735020, 0x465d: 0x40735220, 0x465e: 0x40735420, 0x465f: 0x40735620, + 0x4660: 0x40735820, 0x4661: 0x40735a20, 0x4662: 0x40735c20, 0x4663: 0x40735e20, + 0x4664: 0x40736020, 0x4665: 0x40736220, 0x4666: 0x40736420, + 0x4668: 0x40736620, 0x4669: 0x40736820, 0x466a: 0x40736a20, 0x466b: 0x40736c20, + 0x466c: 0x40736e20, 0x466d: 0x40737020, 0x466e: 0x40737220, 0x466f: 0x40737420, + 0x4670: 0x40737620, 0x4671: 0x40737820, 0x4672: 0x40737a20, 0x4673: 0x40737c20, + 0x4674: 0x40737e20, 0x4675: 0x40738020, 0x4676: 0x40738220, 0x4677: 0x40738420, + 0x4678: 0x40738620, 0x4679: 0x40738820, 0x467a: 0x40738a20, + 0x467c: 0x40738c20, 0x467d: 0x40738e20, 0x467f: 0x40739020, + // Block 0x11a, offset 0x4680 + 0x4680: 0x40739220, 0x4681: 0x40739420, 0x4682: 0x40739620, 0x4683: 0x40739820, + 0x4684: 0x40739a20, 0x4685: 0x40739c20, 0x4686: 0x40739e20, 0x4687: 0x4073a020, + 0x4688: 0x4073a220, 0x4689: 0x4073a420, 0x468a: 0x4073a620, 0x468b: 0x4073a820, + 0x468c: 0x4073aa20, 0x468d: 0x4073ac20, + 0x4690: 0x4073ae20, 0x4691: 0x4073b020, 0x4692: 0x4073b220, 0x4693: 0x4073b420, + 0x4694: 0x4073b620, 0x4695: 0x4073b820, 0x4696: 0x4073ba20, 0x4697: 0x4073bc20, + 0x4698: 0x4073be20, 0x4699: 0x4073c020, 0x469a: 0x4073c220, 0x469b: 0x4073c420, + 0x469c: 0x4073c620, 0x469d: 0x4073c820, + // Block 0x11b, offset 0x46c0 + 0x46c0: 0x4073ca20, 0x46c1: 0x4073cc20, 0x46c2: 0x4073ce20, 0x46c3: 0x4073d020, + 0x46c4: 0x4073d220, 0x46c5: 0x4073d420, 0x46c6: 0x4073d620, 0x46c7: 0x4073d820, + 0x46c8: 0x4073da20, 0x46c9: 0x4073dc20, 0x46ca: 0x4073de20, 0x46cb: 0x4073e020, + 0x46cc: 0x4073e220, 0x46cd: 0x4073e420, 0x46ce: 0x4073e620, 0x46cf: 0x4073e820, + 0x46d0: 0x4073ea20, 0x46d1: 0x4073ec20, 0x46d2: 0x4073ee20, 0x46d3: 0x4073f020, + 0x46d4: 0x4073f220, 0x46d5: 0x4073f420, 0x46d6: 0x4073f620, 0x46d7: 0x4073f820, + 0x46d8: 0x4073fa20, 0x46d9: 0x4073fc20, 0x46da: 0x4073fe20, 0x46db: 0x40740020, + 0x46dc: 0x40740220, 0x46dd: 0x40740420, 0x46de: 0x40740620, 0x46df: 0x40740820, + 0x46e0: 0x40740a20, 0x46e1: 0x40740c20, 0x46e2: 0x40740e20, 0x46e3: 0x40741020, + 0x46e4: 0x40741220, 0x46e5: 0x40741420, 0x46e6: 0x40741620, 0x46e7: 0x40741820, + 0x46e8: 0x40741a20, 0x46e9: 0x40741c20, 0x46ea: 0x40741e20, 0x46eb: 0x40742020, + 0x46ec: 0x40742220, 0x46ed: 0x40742420, 0x46ee: 0x40742620, 0x46ef: 0x40742820, + 0x46f0: 0x40742a20, 0x46f1: 0x40742c20, 0x46f2: 0x40742e20, 0x46f3: 0x40743020, + 0x46f4: 0x40743220, 0x46f5: 0x40743420, 0x46f6: 0x40743620, 0x46f7: 0x40743820, + 0x46f8: 0x40743a20, 0x46f9: 0x40743c20, 0x46fa: 0x40743e20, 0x46fb: 0x40744020, + 0x46fc: 0x40744220, 0x46fd: 0x40744420, 0x46fe: 0x40744620, 0x46ff: 0x40744820, + // Block 0x11c, offset 0x4700 + 0x4700: 0x40744a20, 0x4701: 0x40744c20, 0x4702: 0x40744e20, 0x4703: 0x40745020, + 0x4704: 0x40745220, 0x4705: 0x40745420, 0x4706: 0x40745620, 0x4707: 0x40745820, + 0x4708: 0x40745a20, 0x4709: 0x40745c20, 0x470a: 0x40745e20, 0x470b: 0x40746020, + 0x470c: 0x40746220, 0x470d: 0x40746420, 0x470e: 0x40746620, 0x470f: 0x40746820, + 0x4710: 0x40746a20, 0x4711: 0x40746c20, 0x4712: 0x40746e20, 0x4713: 0x40747020, + 0x4714: 0x40747220, 0x4715: 0x40747420, 0x4716: 0x40747620, 0x4717: 0x40747820, + 0x4718: 0x40747a20, 0x4719: 0x40747c20, 0x471a: 0x40747e20, 0x471b: 0x40748020, + 0x471c: 0x40748220, 0x471d: 0x40748420, 0x471e: 0x40748620, 0x471f: 0x40748820, + 0x4720: 0x40748a20, 0x4721: 0x40748c20, 0x4722: 0x40748e20, 0x4723: 0x40749020, + 0x4724: 0x40749220, 0x4725: 0x40749420, 0x4726: 0x40749620, 0x4727: 0x40749820, + 0x4728: 0x40749a20, 0x4729: 0x40749c20, 0x472a: 0x40749e20, 0x472b: 0x4074a020, + 0x472c: 0x4074a220, 0x472d: 0x4074a420, 0x472e: 0x4074a620, 0x472f: 0x4074a820, + 0x4730: 0x4074aa20, 0x4731: 0x4074ac20, 0x4732: 0x4074ae20, 0x4733: 0x4074b020, + 0x4734: 0x4074b220, 0x4735: 0x4074b420, 0x4736: 0x4074b620, 0x4737: 0x4074b820, + 0x4738: 0x4074ba20, 0x4739: 0x4074bc20, 0x473a: 0x4074be20, + // Block 0x11d, offset 0x4740 + 0x4740: 0x4003be20, 0x4741: 0x4003c020, 0x4742: 0x4003c220, + 0x4747: 0xe000026a, + 0x4748: 0xe0000382, 0x4749: 0xe000045c, 0x474a: 0xe0000531, 0x474b: 0xe00005fb, + 0x474c: 0xe00006c6, 0x474d: 0xe000076e, 0x474e: 0xe000081a, 0x474f: 0xe00008bf, + 0x4750: 0x4028ba20, 0x4751: 0x4028bc20, 0x4752: 0x4028be20, 0x4753: 0x4028c020, + 0x4754: 0x4028c220, 0x4755: 0x4028c420, 0x4756: 0x4028c620, 0x4757: 0x4028c820, + 0x4758: 0x4028ca20, 0x4759: 0x4028cc20, 0x475a: 0x4028ce20, 0x475b: 0x4028d020, + 0x475c: 0x4028d220, 0x475d: 0x4028d420, 0x475e: 0x4028d620, 0x475f: 0x4028d820, + 0x4760: 0x4028da20, 0x4761: 0x4028dc20, 0x4762: 0x4028de20, 0x4763: 0x4028e020, + 0x4764: 0x4028e220, 0x4765: 0x4028e420, 0x4766: 0x4028e620, 0x4767: 0x4028e820, + 0x4768: 0x4028ea20, 0x4769: 0x4028ec20, 0x476a: 0x4028ee20, 0x476b: 0x4028f020, + 0x476c: 0x4028f220, 0x476d: 0x4028f420, 0x476e: 0x4028f620, 0x476f: 0x4028f820, + 0x4770: 0x4028fa20, 0x4771: 0x4028fc20, 0x4772: 0x4028fe20, 0x4773: 0x40290020, + 0x4777: 0x401afe20, + 0x4778: 0x401b0020, 0x4779: 0x401b0220, 0x477a: 0x401b0420, 0x477b: 0x401b0620, + 0x477c: 0x401b0820, 0x477d: 0x401b0a20, 0x477e: 0x401b0c20, 0x477f: 0x401b0e20, + // Block 0x11e, offset 0x4780 + 0x4780: 0x40290220, 0x4781: 0x40290420, 0x4782: 0xe000026d, 0x4783: 0xe00005fe, + 0x4784: 0x40290620, 0x4785: 0x40290820, 0x4786: 0x40290a20, 0x4787: 0x40290c20, + 0x4788: 0xe0000601, 0x4789: 0x40290e20, 0x478a: 0x40291020, 0x478b: 0x40291220, + 0x478c: 0x40291420, 0x478d: 0x40291620, 0x478e: 0x40291820, 0x478f: 0xe0000604, + 0x4790: 0x40291a20, 0x4791: 0x40291c20, 0x4792: 0x40291e20, 0x4793: 0x40292020, + 0x4794: 0x40292220, 0x4795: 0x40292420, 0x4796: 0x40292620, 0x4797: 0x40292820, + 0x4798: 0xe0000270, 0x4799: 0xe0000273, 0x479a: 0xe0000276, 0x479b: 0xe0000385, + 0x479c: 0xe0000388, 0x479d: 0xe000038b, 0x479e: 0xe000038e, 0x479f: 0xe0000607, + 0x47a0: 0x40292a20, 0x47a1: 0x40292c20, 0x47a2: 0x40292e20, 0x47a3: 0x40293020, + 0x47a4: 0x40293220, 0x47a5: 0x40293420, 0x47a6: 0x40293620, 0x47a7: 0x40293820, + 0x47a8: 0x40293a20, 0x47a9: 0x40293c20, 0x47aa: 0x40293e20, 0x47ab: 0x40294020, + 0x47ac: 0x40294220, 0x47ad: 0x40294420, 0x47ae: 0x40294620, 0x47af: 0x40294820, + 0x47b0: 0x40294a20, 0x47b1: 0x40294c20, 0x47b2: 0x40294e20, 0x47b3: 0xe000060a, + 0x47b4: 0x40295020, 0x47b5: 0x40295220, 0x47b6: 0x40295420, 0x47b7: 0x40295620, + 0x47b8: 0x40295820, 0x47b9: 0x401b1020, 0x47ba: 0x401b1220, 0x47bb: 0x401b1420, + 0x47bc: 0x401b1620, 0x47bd: 0x401b1820, 0x47be: 0x401b1a20, 0x47bf: 0x401b1c20, + // Block 0x11f, offset 0x47c0 + 0x47c0: 0x401b1e20, 0x47c1: 0x401b2020, 0x47c2: 0x401b2220, 0x47c3: 0x401b2420, + 0x47c4: 0x401b2620, 0x47c5: 0x401b2820, 0x47c6: 0x401b2a20, 0x47c7: 0x401b2c20, + 0x47c8: 0x401b2e20, 0x47c9: 0x401b3020, 0x47ca: 0xe00001d6, + 0x47d0: 0x401b3220, 0x47d1: 0x401b3420, 0x47d2: 0x401b3620, 0x47d3: 0x401b3820, + 0x47d4: 0x401b3a20, 0x47d5: 0x401b3c20, 0x47d6: 0x401b3e20, 0x47d7: 0x401b4020, + 0x47d8: 0x401b4220, 0x47d9: 0x401b4420, 0x47da: 0x401b4620, 0x47db: 0x401b4820, + // Block 0x120, offset 0x4800 + 0x4810: 0x401b4a20, 0x4811: 0x401b4c20, 0x4812: 0x401b4e20, 0x4813: 0x401b5020, + 0x4814: 0x401b5220, 0x4815: 0x401b5420, 0x4816: 0x401b5620, 0x4817: 0x401b5820, + 0x4818: 0x401b5a20, 0x4819: 0x401b5c20, 0x481a: 0x401b5e20, 0x481b: 0x401b6020, + 0x481c: 0x401b6220, 0x481d: 0x401b6420, 0x481e: 0x401b6620, 0x481f: 0x401b6820, + 0x4820: 0x401b6a20, 0x4821: 0x401b6c20, 0x4822: 0x401b6e20, 0x4823: 0x401b7020, + 0x4824: 0x401b7220, 0x4825: 0x401b7420, 0x4826: 0x401b7620, 0x4827: 0x401b7820, + 0x4828: 0x401b7a20, 0x4829: 0x401b7c20, 0x482a: 0x401b7e20, 0x482b: 0x401b8020, + 0x482c: 0x401b8220, 0x482d: 0x401b8420, 0x482e: 0x401b8620, 0x482f: 0x401b8820, + 0x4830: 0x401b8a20, 0x4831: 0x401b8c20, 0x4832: 0x401b8e20, 0x4833: 0x401b9020, + 0x4834: 0x401b9220, 0x4835: 0x401b9420, 0x4836: 0x401b9620, 0x4837: 0x401b9820, + 0x4838: 0x401b9a20, 0x4839: 0x401b9c20, 0x483a: 0x401b9e20, 0x483b: 0x401ba020, + 0x483c: 0x401ba220, 0x483d: 0xadc13802, + // Block 0x121, offset 0x4840 + 0x4840: 0x4070b820, 0x4841: 0x4070ba20, 0x4842: 0x4070bc20, 0x4843: 0x4070be20, + 0x4844: 0x4070c020, 0x4845: 0x4070c220, 0x4846: 0x4070c420, 0x4847: 0x4070c620, + 0x4848: 0x4070c820, 0x4849: 0x4070ca20, 0x484a: 0x4070cc20, 0x484b: 0x4070ce20, + 0x484c: 0x4070d020, 0x484d: 0x4070d220, 0x484e: 0x4070d420, 0x484f: 0x4070d620, + 0x4850: 0x4070d820, 0x4851: 0x4070da20, 0x4852: 0x4070dc20, 0x4853: 0x4070de20, + 0x4854: 0x4070e020, 0x4855: 0x4070e220, 0x4856: 0x4070e420, 0x4857: 0x4070e620, + 0x4858: 0x4070e820, 0x4859: 0x4070ea20, 0x485a: 0x4070ec20, 0x485b: 0x4070ee20, + 0x485c: 0x4070f020, + 0x4860: 0x4070f220, 0x4861: 0x4070f420, 0x4862: 0x4070f620, 0x4863: 0x4070f820, + 0x4864: 0x4070fa20, 0x4865: 0x4070fc20, 0x4866: 0x4070fe20, 0x4867: 0x40710020, + 0x4868: 0x40710220, 0x4869: 0x40710420, 0x486a: 0x40710620, 0x486b: 0x40710820, + 0x486c: 0x40710a20, 0x486d: 0x40710c20, 0x486e: 0x40710e20, 0x486f: 0x40711020, + 0x4870: 0x40711220, 0x4871: 0x40711420, 0x4872: 0x40711620, 0x4873: 0x40711820, + 0x4874: 0x40711a20, 0x4875: 0x40711c20, 0x4876: 0x40711e20, 0x4877: 0x40712020, + 0x4878: 0x40712220, 0x4879: 0x40712420, 0x487a: 0x40712620, 0x487b: 0x40712820, + 0x487c: 0x40712a20, 0x487d: 0x40712c20, 0x487e: 0x40712e20, 0x487f: 0x40713020, + // Block 0x122, offset 0x4880 + 0x4880: 0x40713220, 0x4881: 0x40713420, 0x4882: 0x40713620, 0x4883: 0x40713820, + 0x4884: 0x40713a20, 0x4885: 0x40713c20, 0x4886: 0x40713e20, 0x4887: 0x40714020, + 0x4888: 0x40714220, 0x4889: 0x40714420, 0x488a: 0x40714620, 0x488b: 0x40714820, + 0x488c: 0x40714a20, 0x488d: 0x40714c20, 0x488e: 0x40714e20, 0x488f: 0x40715020, + 0x4890: 0x40715220, + // Block 0x123, offset 0x48c0 + 0x48c0: 0x40718820, 0x48c1: 0x40718a20, 0x48c2: 0x40718c20, 0x48c3: 0x40718e20, + 0x48c4: 0x40719020, 0x48c5: 0x40719220, 0x48c6: 0x40719420, 0x48c7: 0x40719620, + 0x48c8: 0x40719820, 0x48c9: 0x40719a20, 0x48ca: 0x40719c20, 0x48cb: 0x40719e20, + 0x48cc: 0x4071a020, 0x48cd: 0x4071a220, 0x48ce: 0x4071a420, 0x48cf: 0x4071a620, + 0x48d0: 0x4071a820, 0x48d1: 0x4071aa20, 0x48d2: 0x4071ac20, 0x48d3: 0x4071ae20, + 0x48d4: 0x4071b020, 0x48d5: 0x4071b220, 0x48d6: 0x4071b420, 0x48d7: 0x4071b620, + 0x48d8: 0x4071b820, 0x48d9: 0x4071ba20, 0x48da: 0x4071bc20, 0x48db: 0x4071be20, + 0x48dc: 0x4071c020, 0x48dd: 0x4071c220, 0x48de: 0x4071c420, + 0x48e0: 0xe0000279, 0x48e1: 0xe000060d, 0x48e2: 0x4028b620, 0x48e3: 0x4028b820, + 0x48f0: 0x4071c620, 0x48f1: 0x4071c820, 0x48f2: 0x4071ca20, 0x48f3: 0x4071cc20, + 0x48f4: 0x4071ce20, 0x48f5: 0x4071d020, 0x48f6: 0x4071d220, 0x48f7: 0x4071d420, + 0x48f8: 0x4071d620, 0x48f9: 0x4071d820, 0x48fa: 0x4071da20, 0x48fb: 0x4071dc20, + 0x48fc: 0x4071de20, 0x48fd: 0x4071e020, 0x48fe: 0x4071e220, 0x48ff: 0x4071e420, + // Block 0x124, offset 0x4900 + 0x4900: 0x4071e620, 0x4901: 0x4071e820, 0x4902: 0x4071ea20, 0x4903: 0x4071ec20, + 0x4904: 0x4071ee20, 0x4905: 0x4071f020, 0x4906: 0x4071f220, 0x4907: 0x4071f420, + 0x4908: 0x4071f620, 0x4909: 0x4071f820, 0x490a: 0x4071fa20, + // Block 0x125, offset 0x4940 + 0x4940: 0x40765020, 0x4941: 0x40765220, 0x4942: 0x40765420, 0x4943: 0x40765620, + 0x4944: 0x40765820, 0x4945: 0x40765a20, 0x4946: 0x40765c20, 0x4947: 0x40765e20, + 0x4948: 0x40766020, 0x4949: 0x40766220, 0x494a: 0x40766420, 0x494b: 0x40766620, + 0x494c: 0x40766820, 0x494d: 0x40766a20, 0x494e: 0x40766c20, 0x494f: 0x40766e20, + 0x4950: 0x40767020, 0x4951: 0x40767220, 0x4952: 0x40767420, 0x4953: 0x40767620, + 0x4954: 0x40767820, 0x4955: 0x40767a20, 0x4956: 0x40767c20, 0x4957: 0x40767e20, + 0x4958: 0x40768020, 0x4959: 0x40768220, 0x495a: 0x40768420, 0x495b: 0x40768620, + 0x495c: 0x40768820, 0x495d: 0x40768a20, 0x495f: 0x4003c420, + 0x4960: 0x40768c20, 0x4961: 0x40768e20, 0x4962: 0x40769020, 0x4963: 0x40769220, + 0x4964: 0x40769420, 0x4965: 0x40769620, 0x4966: 0x40769820, 0x4967: 0x40769a20, + 0x4968: 0x40769c20, 0x4969: 0x40769e20, 0x496a: 0x4076a020, 0x496b: 0x4076a220, + 0x496c: 0x4076a420, 0x496d: 0x4076a620, 0x496e: 0x4076a820, 0x496f: 0x4076aa20, + 0x4970: 0x4076ac20, 0x4971: 0x4076ae20, 0x4972: 0x4076b020, 0x4973: 0x4076b220, + 0x4974: 0x4076b420, 0x4975: 0x4076b620, 0x4976: 0x4076b820, 0x4977: 0x4076ba20, + 0x4978: 0x4076bc20, 0x4979: 0x4076be20, 0x497a: 0x4076c020, 0x497b: 0x4076c220, + 0x497c: 0x4076c420, 0x497d: 0x4076c620, 0x497e: 0x4076c820, 0x497f: 0x4076ca20, + // Block 0x126, offset 0x4980 + 0x4980: 0x4076cc20, 0x4981: 0x4076ce20, 0x4982: 0x4076d020, 0x4983: 0x4076d220, + 0x4988: 0x4076d420, 0x4989: 0x4076d620, 0x498a: 0x4076d820, 0x498b: 0x4076da20, + 0x498c: 0x4076dc20, 0x498d: 0x4076de20, 0x498e: 0x4076e020, 0x498f: 0x4076e220, + 0x4990: 0x4003c620, 0x4991: 0xe000027c, 0x4992: 0xe0000391, 0x4993: 0x40295a20, + 0x4994: 0x40295c20, 0x4995: 0x40295e20, + // Block 0x127, offset 0x49c0 + 0x49c0: 0x0071fc88, 0x49c1: 0x0071fe88, 0x49c2: 0x00720088, 0x49c3: 0x00720288, + 0x49c4: 0x00720488, 0x49c5: 0x00720688, 0x49c6: 0x00720888, 0x49c7: 0x00720a88, + 0x49c8: 0x00720c88, 0x49c9: 0x00720e88, 0x49ca: 0x00721088, 0x49cb: 0x00721288, + 0x49cc: 0x00721488, 0x49cd: 0x00721688, 0x49ce: 0x00721888, 0x49cf: 0x00721a88, + 0x49d0: 0x00721c88, 0x49d1: 0x00721e88, 0x49d2: 0x00722088, 0x49d3: 0x00722288, + 0x49d4: 0x00722488, 0x49d5: 0x00722688, 0x49d6: 0x00722888, 0x49d7: 0x00722a88, + 0x49d8: 0x00722c88, 0x49d9: 0x00722e88, 0x49da: 0x00723088, 0x49db: 0x00723288, + 0x49dc: 0x00723488, 0x49dd: 0x00723688, 0x49de: 0x00723888, 0x49df: 0x00723a88, + 0x49e0: 0x00723c88, 0x49e1: 0x00723e88, 0x49e2: 0x00724088, 0x49e3: 0x00724288, + 0x49e4: 0x00724488, 0x49e5: 0x00724688, 0x49e6: 0x00724888, 0x49e7: 0x00724a88, + 0x49e8: 0x4071fc20, 0x49e9: 0x4071fe20, 0x49ea: 0x40720020, 0x49eb: 0x40720220, + 0x49ec: 0x40720420, 0x49ed: 0x40720620, 0x49ee: 0x40720820, 0x49ef: 0x40720a20, + 0x49f0: 0x40720c20, 0x49f1: 0x40720e20, 0x49f2: 0x40721020, 0x49f3: 0x40721220, + 0x49f4: 0x40721420, 0x49f5: 0x40721620, 0x49f6: 0x40721820, 0x49f7: 0x40721a20, + 0x49f8: 0x40721c20, 0x49f9: 0x40721e20, 0x49fa: 0x40722020, 0x49fb: 0x40722220, + 0x49fc: 0x40722420, 0x49fd: 0x40722620, 0x49fe: 0x40722820, 0x49ff: 0x40722a20, + // Block 0x128, offset 0x4a00 + 0x4a00: 0x40722c20, 0x4a01: 0x40722e20, 0x4a02: 0x40723020, 0x4a03: 0x40723220, + 0x4a04: 0x40723420, 0x4a05: 0x40723620, 0x4a06: 0x40723820, 0x4a07: 0x40723a20, + 0x4a08: 0x40723c20, 0x4a09: 0x40723e20, 0x4a0a: 0x40724020, 0x4a0b: 0x40724220, + 0x4a0c: 0x40724420, 0x4a0d: 0x40724620, 0x4a0e: 0x40724820, 0x4a0f: 0x40724a20, + 0x4a10: 0x40724c20, 0x4a11: 0x40724e20, 0x4a12: 0x40725020, 0x4a13: 0x40725220, + 0x4a14: 0x40725420, 0x4a15: 0x40725620, 0x4a16: 0x40725820, 0x4a17: 0x40725a20, + 0x4a18: 0x40725c20, 0x4a19: 0x40725e20, 0x4a1a: 0x40726020, 0x4a1b: 0x40726220, + 0x4a1c: 0x40726420, 0x4a1d: 0x40726620, 0x4a1e: 0x40726820, 0x4a1f: 0x40726a20, + 0x4a20: 0x40726c20, 0x4a21: 0x40726e20, 0x4a22: 0x40727020, 0x4a23: 0x40727220, + 0x4a24: 0x40727420, 0x4a25: 0x40727620, 0x4a26: 0x40727820, 0x4a27: 0x40727a20, + 0x4a28: 0x40727c20, 0x4a29: 0x40727e20, 0x4a2a: 0x40728020, 0x4a2b: 0x40728220, + 0x4a2c: 0x40728420, 0x4a2d: 0x40728620, 0x4a2e: 0x40728820, 0x4a2f: 0x40728a20, + 0x4a30: 0x40728c20, 0x4a31: 0x40728e20, 0x4a32: 0x40729020, 0x4a33: 0x40729220, + 0x4a34: 0x40729420, 0x4a35: 0x40729620, 0x4a36: 0x40729820, 0x4a37: 0x40729a20, + 0x4a38: 0x40729c20, 0x4a39: 0x40729e20, 0x4a3a: 0x4072a020, 0x4a3b: 0x4072a220, + 0x4a3c: 0x4072a420, 0x4a3d: 0x4072a620, 0x4a3e: 0x4072a820, 0x4a3f: 0x4072aa20, + // Block 0x129, offset 0x4a40 + 0x4a40: 0x4072ac20, 0x4a41: 0x4072ae20, 0x4a42: 0x4072b020, 0x4a43: 0x4072b220, + 0x4a44: 0x4072b420, 0x4a45: 0x4072b620, 0x4a46: 0x4072b820, 0x4a47: 0x4072ba20, + 0x4a48: 0x4072bc20, 0x4a49: 0x4072be20, 0x4a4a: 0x4072c020, 0x4a4b: 0x4072c220, + 0x4a4c: 0x4072c420, 0x4a4d: 0x4072c620, 0x4a4e: 0x4072c820, 0x4a4f: 0x4072ca20, + 0x4a50: 0x4072cc20, 0x4a51: 0x4072ce20, 0x4a52: 0x4072d020, 0x4a53: 0x4072d220, + 0x4a54: 0x4072d420, 0x4a55: 0x4072d620, 0x4a56: 0x4072d820, 0x4a57: 0x4072da20, + 0x4a58: 0x4072dc20, 0x4a59: 0x4072de20, 0x4a5a: 0x4072e020, 0x4a5b: 0x4072e220, + 0x4a5c: 0x4072e420, 0x4a5d: 0x4072e620, + 0x4a60: 0xe0000167, 0x4a61: 0xe00001f5, 0x4a62: 0xe0000310, 0x4a63: 0xe00003ea, + 0x4a64: 0xe00004c5, 0x4a65: 0xe000058f, 0x4a66: 0xe000065a, 0x4a67: 0xe0000702, + 0x4a68: 0xe00007ae, 0x4a69: 0xe0000853, + // Block 0x12a, offset 0x4a80 + 0x4a80: 0x4074c020, 0x4a81: 0x4074c220, 0x4a82: 0x4074c420, 0x4a83: 0x4074c620, + 0x4a84: 0x4074c820, 0x4a85: 0x4074ca20, + 0x4a88: 0x4074cc20, 0x4a8a: 0x4074ce20, 0x4a8b: 0x4074d020, + 0x4a8c: 0x4074d220, 0x4a8d: 0x4074d420, 0x4a8e: 0x4074d620, 0x4a8f: 0x4074d820, + 0x4a90: 0x4074da20, 0x4a91: 0x4074dc20, 0x4a92: 0x4074de20, 0x4a93: 0x4074e020, + 0x4a94: 0x4074e220, 0x4a95: 0x4074e420, 0x4a96: 0x4074e620, 0x4a97: 0x4074e820, + 0x4a98: 0x4074ea20, 0x4a99: 0x4074ec20, 0x4a9a: 0x4074ee20, 0x4a9b: 0x4074f020, + 0x4a9c: 0x4074f220, 0x4a9d: 0x4074f420, 0x4a9e: 0x4074f620, 0x4a9f: 0x4074f820, + 0x4aa0: 0x4074fa20, 0x4aa1: 0x4074fc20, 0x4aa2: 0x4074fe20, 0x4aa3: 0x40750020, + 0x4aa4: 0x40750220, 0x4aa5: 0x40750420, 0x4aa6: 0x40750620, 0x4aa7: 0x40750820, + 0x4aa8: 0x40750a20, 0x4aa9: 0x40750c20, 0x4aaa: 0x40750e20, 0x4aab: 0x40751020, + 0x4aac: 0x40751220, 0x4aad: 0x40751420, 0x4aae: 0x40751620, 0x4aaf: 0x40751820, + 0x4ab0: 0x40751a20, 0x4ab1: 0x40751c20, 0x4ab2: 0x40751e20, 0x4ab3: 0x40752020, + 0x4ab4: 0x40752220, 0x4ab5: 0x40752420, 0x4ab7: 0x40752620, + 0x4ab8: 0x40752820, + 0x4abc: 0x40752a20, 0x4abf: 0x40752c20, + // Block 0x12b, offset 0x4ac0 + 0x4ac0: 0x4075d220, 0x4ac1: 0x4075d420, 0x4ac2: 0x4075d620, 0x4ac3: 0x4075d820, + 0x4ac4: 0x4075da20, 0x4ac5: 0x4075dc20, 0x4ac6: 0x4075de20, 0x4ac7: 0x4075e020, + 0x4ac8: 0x4075e220, 0x4ac9: 0x4075e420, 0x4aca: 0x4075e620, 0x4acb: 0x4075e820, + 0x4acc: 0x4075ea20, 0x4acd: 0x4075ec20, 0x4ace: 0x4075ee20, 0x4acf: 0x4075f020, + 0x4ad0: 0x4075f220, 0x4ad1: 0x4075f420, 0x4ad2: 0x4075f620, 0x4ad3: 0x4075f820, + 0x4ad4: 0x4075fa20, 0x4ad5: 0x4075fc20, 0x4ad7: 0x40038620, + 0x4ad8: 0xe0000297, 0x4ad9: 0xe00003b2, 0x4ada: 0xe000048c, 0x4adb: 0x40296820, + 0x4adc: 0x40296a20, 0x4add: 0x40296c20, 0x4ade: 0x40296e20, 0x4adf: 0x40297020, + // Block 0x12c, offset 0x4b00 + 0x4b00: 0x4038bc20, 0x4b01: 0x4038be20, 0x4b02: 0x4038c020, 0x4b03: 0x4038c220, + 0x4b04: 0x4038c420, 0x4b05: 0x4038c620, 0x4b06: 0x4038c820, 0x4b07: 0x4038ca20, + 0x4b08: 0x4038cc20, 0x4b09: 0x4038ce20, 0x4b0a: 0x4038d020, 0x4b0b: 0x4038d220, + 0x4b0c: 0x4038d420, 0x4b0d: 0x4038d620, 0x4b0e: 0x4038d820, 0x4b0f: 0x4038da20, + 0x4b10: 0x4038dc20, 0x4b11: 0x4038de20, 0x4b12: 0x4038e020, 0x4b13: 0x4038e220, + 0x4b14: 0x4038e420, 0x4b15: 0x4038e620, 0x4b16: 0xe0000294, 0x4b17: 0x40296220, + 0x4b18: 0x40296420, 0x4b19: 0x40296620, 0x4b1a: 0xe00003af, 0x4b1b: 0xe0000489, + 0x4b1f: 0x4003c820, + 0x4b20: 0x40715420, 0x4b21: 0x40715620, 0x4b22: 0x40715820, 0x4b23: 0x40715a20, + 0x4b24: 0x40715c20, 0x4b25: 0x40715e20, 0x4b26: 0x40716020, 0x4b27: 0x40716220, + 0x4b28: 0x40716420, 0x4b29: 0x40716620, 0x4b2a: 0x40716820, 0x4b2b: 0x40716a20, + 0x4b2c: 0x40716c20, 0x4b2d: 0x40716e20, 0x4b2e: 0x40717020, 0x4b2f: 0x40717220, + 0x4b30: 0x40717420, 0x4b31: 0x40717620, 0x4b32: 0x40717820, 0x4b33: 0x40717a20, + 0x4b34: 0x40717c20, 0x4b35: 0x40717e20, 0x4b36: 0x40718020, 0x4b37: 0x40718220, + 0x4b38: 0x40718420, 0x4b39: 0x40718620, + 0x4b3f: 0x4003bc20, + // Block 0x12d, offset 0x4b40 + 0x4b40: 0xe00023a4, 0x4b41: 0xe00023a7, 0x4b42: 0xe00023aa, 0x4b43: 0xe00023ad, + 0x4b44: 0xe00023b0, 0x4b45: 0xe00023b3, 0x4b46: 0xe00023b6, 0x4b47: 0xe00023b9, + 0x4b48: 0xe00023bc, 0x4b49: 0xe00023bf, 0x4b4a: 0xe00023c2, 0x4b4b: 0xe00023c5, + 0x4b4c: 0xe00023c8, 0x4b4d: 0xe00023cb, 0x4b4e: 0xe00023ce, 0x4b4f: 0xe00023d1, + 0x4b50: 0xe00023d4, 0x4b51: 0xe00023d7, 0x4b52: 0xe00023da, 0x4b53: 0xe00023e0, + 0x4b54: 0xe00023e3, 0x4b55: 0xe00023e6, 0x4b56: 0xe00023e9, 0x4b57: 0xe00023ec, + 0x4b58: 0xe00023ef, 0x4b59: 0xe00023f2, 0x4b5a: 0xe00023f5, 0x4b5b: 0xe00023f8, + 0x4b5c: 0xe00023fb, 0x4b5d: 0xe00023fe, 0x4b5e: 0x40865220, 0x4b5f: 0x40865420, + 0x4b60: 0x40862020, 0x4b61: 0x40862220, 0x4b62: 0x40862420, 0x4b63: 0x40862620, + 0x4b64: 0x40862820, 0x4b65: 0x40862a20, 0x4b66: 0x40862c20, 0x4b67: 0x40862e20, + 0x4b68: 0x40863020, 0x4b69: 0x40863220, 0x4b6a: 0x40863420, 0x4b6b: 0x40863620, + 0x4b6c: 0x40863820, 0x4b6d: 0x40863a20, 0x4b6e: 0x40863c20, 0x4b6f: 0x40863e20, + 0x4b70: 0xe00023dd, 0x4b71: 0x40864020, 0x4b72: 0x40864220, 0x4b73: 0x40864420, + 0x4b74: 0x40864620, 0x4b75: 0x40864820, 0x4b76: 0x40864a20, 0x4b77: 0x40864c20, + 0x4b7e: 0x40864e20, 0x4b7f: 0x40865020, + // Block 0x12e, offset 0x4b80 + 0x4b80: 0x4048bc20, 0x4b81: 0x4048be20, 0x4b82: 0x4048c020, 0x4b83: 0x4048c220, + 0x4b85: 0x4048c420, 0x4b86: 0x4048c620, + 0x4b8c: 0x4048c820, 0x4b8d: 0xadc06002, 0x4b8e: 0xa000f302, 0x4b8f: 0xae60f402, + 0x4b90: 0x4048ca20, 0x4b91: 0x4048cc20, 0x4b92: 0x4048ce20, 0x4b93: 0x4048d020, + 0x4b95: 0x4048d220, 0x4b96: 0x4048d420, 0x4b97: 0x4048d620, + 0x4b99: 0x4048d820, 0x4b9a: 0x4048da20, 0x4b9b: 0x4048dc20, + 0x4b9c: 0x4048de20, 0x4b9d: 0x4048e020, 0x4b9e: 0x4048e220, 0x4b9f: 0x4048e420, + 0x4ba0: 0x4048e620, 0x4ba1: 0x4048e820, 0x4ba2: 0x4048ea20, 0x4ba3: 0x4048ec20, + 0x4ba4: 0x4048ee20, 0x4ba5: 0x4048f020, 0x4ba6: 0x4048f220, 0x4ba7: 0x4048f420, + 0x4ba8: 0x4048f620, 0x4ba9: 0x4048f820, 0x4baa: 0x4048fa20, 0x4bab: 0x4048fc20, + 0x4bac: 0x4048fe20, 0x4bad: 0x40490020, 0x4bae: 0x40490220, 0x4baf: 0x40490420, + 0x4bb0: 0x40490620, 0x4bb1: 0x40490820, 0x4bb2: 0x40490a20, 0x4bb3: 0x40490c20, + 0x4bb8: 0xae60fb02, 0x4bb9: 0xa010fc02, 0x4bba: 0xadc0fd02, + 0x4bbf: 0x82092487, + // Block 0x12f, offset 0x4bc0 + 0x4bc0: 0xe00002ac, 0x4bc1: 0xe00003c7, 0x4bc2: 0xe00004a1, 0x4bc3: 0xe0000573, + 0x4bc4: 0x40299820, 0x4bc5: 0x40299a20, 0x4bc6: 0x40299c20, 0x4bc7: 0x40299e20, + 0x4bd0: 0x40060620, 0x4bd1: 0x40060820, 0x4bd2: 0x40060a20, 0x4bd3: 0x40060c20, + 0x4bd4: 0x40060e20, 0x4bd5: 0x40061020, 0x4bd6: 0x40034420, 0x4bd7: 0x40034620, + 0x4bd8: 0x40061220, + 0x4be0: 0x40752e20, 0x4be1: 0x40753020, 0x4be2: 0x40753220, 0x4be3: 0x40753420, + 0x4be4: 0x40753620, 0x4be5: 0x40753820, 0x4be6: 0x40753a20, 0x4be7: 0x40753c20, + 0x4be8: 0x40753e20, 0x4be9: 0x40754020, 0x4bea: 0x40754220, 0x4beb: 0x40754420, + 0x4bec: 0x40754620, 0x4bed: 0x40754820, 0x4bee: 0x40754a20, 0x4bef: 0x40754c20, + 0x4bf0: 0x40754e20, 0x4bf1: 0x40755020, 0x4bf2: 0x40755220, 0x4bf3: 0x40755420, + 0x4bf4: 0x40755620, 0x4bf5: 0x40755820, 0x4bf6: 0x40755a20, 0x4bf7: 0x40755c20, + 0x4bf8: 0x40755e20, 0x4bf9: 0x40756020, 0x4bfa: 0x40756220, 0x4bfb: 0x40756420, + 0x4bfc: 0x40756620, 0x4bfd: 0xe0000291, 0x4bfe: 0x40296020, 0x4bff: 0x40061c20, + // Block 0x130, offset 0x4c00 + 0x4c00: 0x40756820, 0x4c01: 0x40756a20, 0x4c02: 0x40756c20, 0x4c03: 0x40756e20, + 0x4c04: 0x40757020, 0x4c05: 0x40757220, 0x4c06: 0x40757420, 0x4c07: 0x40757620, + 0x4c08: 0x40757820, 0x4c09: 0x40757a20, 0x4c0a: 0x40757c20, 0x4c0b: 0x40757e20, + 0x4c0c: 0x40758020, 0x4c0d: 0x40758220, 0x4c0e: 0x40758420, 0x4c0f: 0x40758620, + 0x4c10: 0x40758820, 0x4c11: 0x40758a20, 0x4c12: 0x40758c20, 0x4c13: 0x40758e20, + 0x4c14: 0x40759020, 0x4c15: 0x40759220, 0x4c16: 0x40759420, 0x4c17: 0x40759620, + 0x4c18: 0x40759820, 0x4c19: 0x40759a20, 0x4c1a: 0x40759c20, 0x4c1b: 0x40759e20, + 0x4c1c: 0x4075a020, 0x4c1d: 0x4075a220, 0x4c1e: 0x4075a420, 0x4c1f: 0x4075a620, + 0x4c20: 0x4075a820, 0x4c21: 0x4075aa20, 0x4c22: 0x4075ac20, 0x4c23: 0x4075ae20, + 0x4c24: 0x4075b020, 0x4c25: 0x4075b220, 0x4c26: 0x4075b420, 0x4c27: 0x4075b620, + 0x4c28: 0x4075b820, 0x4c29: 0x4075ba20, 0x4c2a: 0x4075bc20, 0x4c2b: 0x4075be20, + 0x4c2c: 0x4075c020, 0x4c2d: 0x4075c220, 0x4c2e: 0xe00023a1, 0x4c2f: 0x4075c420, + 0x4c30: 0x4075c620, 0x4c31: 0x4075c820, 0x4c32: 0x4075ca20, 0x4c33: 0x4075cc20, + 0x4c34: 0x4075ce20, 0x4c35: 0x4075d020, + 0x4c39: 0x40061420, 0x4c3a: 0x40038820, 0x4c3b: 0x40038a20, + 0x4c3c: 0x40038c20, 0x4c3d: 0x40038e20, 0x4c3e: 0x40039020, 0x4c3f: 0x40039220, + // Block 0x131, offset 0x4c40 + 0x4c40: 0x4075fe20, 0x4c41: 0x40760020, 0x4c42: 0x40760220, 0x4c43: 0x40760420, + 0x4c44: 0x40760620, 0x4c45: 0x40760820, 0x4c46: 0x40760a20, 0x4c47: 0x40760c20, + 0x4c48: 0x40760e20, 0x4c49: 0x40761020, 0x4c4a: 0x40761220, 0x4c4b: 0x40761420, + 0x4c4c: 0x40761620, 0x4c4d: 0x40761820, 0x4c4e: 0x40761a20, 0x4c4f: 0x40761c20, + 0x4c50: 0x40761e20, 0x4c51: 0x40762020, 0x4c52: 0x40762220, 0x4c53: 0x40762420, + 0x4c54: 0x40762620, 0x4c55: 0x40762820, + 0x4c58: 0xe000029a, 0x4c59: 0xe00003b5, 0x4c5a: 0xe000048f, 0x4c5b: 0xe0000561, + 0x4c5c: 0x40297220, 0x4c5d: 0x40297420, 0x4c5e: 0x40297620, 0x4c5f: 0x40297820, + 0x4c60: 0x40762a20, 0x4c61: 0x40762c20, 0x4c62: 0x40762e20, 0x4c63: 0x40763020, + 0x4c64: 0x40763220, 0x4c65: 0x40763420, 0x4c66: 0x40763620, 0x4c67: 0x40763820, + 0x4c68: 0x40763a20, 0x4c69: 0x40763c20, 0x4c6a: 0x40763e20, 0x4c6b: 0x40764020, + 0x4c6c: 0x40764220, 0x4c6d: 0x40764420, 0x4c6e: 0x40764620, 0x4c6f: 0x40764820, + 0x4c70: 0x40764a20, 0x4c71: 0x40764c20, 0x4c72: 0x40764e20, + 0x4c78: 0xe000029d, 0x4c79: 0xe00003b8, 0x4c7a: 0xe0000492, 0x4c7b: 0xe0000564, + 0x4c7c: 0x40297a20, 0x4c7d: 0x40297c20, 0x4c7e: 0x40297e20, 0x4c7f: 0x40298020, + // Block 0x132, offset 0x4c80 + 0x4c80: 0x405b2620, 0x4c81: 0xe00020a7, 0x4c82: 0x405b2820, 0x4c83: 0x405b2a20, + 0x4c84: 0xe00020aa, 0x4c85: 0x405b2c20, 0x4c86: 0x405b2e20, 0x4c87: 0x405b3020, + 0x4c88: 0xe00020ad, 0x4c89: 0x405b3220, 0x4c8a: 0xe00020b0, 0x4c8b: 0x405b3420, + 0x4c8c: 0xe00020b3, 0x4c8d: 0x405b3620, 0x4c8e: 0xe00020b6, 0x4c8f: 0x405b3820, + 0x4c90: 0xe00020b9, 0x4c91: 0x405b3a20, 0x4c92: 0xe00020bc, 0x4c93: 0x405b3c20, + 0x4c94: 0x405b3e20, 0x4c95: 0xe00020bf, 0x4c96: 0x405b4020, 0x4c97: 0xe00020c2, + 0x4c98: 0x405b4220, 0x4c99: 0xe00020c5, 0x4c9a: 0x405b4420, 0x4c9b: 0xe00020c8, + 0x4c9c: 0x405b4620, 0x4c9d: 0xe00020cb, 0x4c9e: 0x405b4820, 0x4c9f: 0xe00020ce, + 0x4ca0: 0x405b4a20, 0x4ca1: 0x405b4c20, 0x4ca2: 0x405b4e20, 0x4ca3: 0x405b5020, + 0x4ca4: 0x405b5220, 0x4ca5: 0xe00020d1, 0x4ca6: 0x405b5420, 0x4ca7: 0xe00020d4, + 0x4ca8: 0x405b5620, 0x4ca9: 0xe00020d7, 0x4caa: 0x405b5820, 0x4cab: 0xe00020da, + 0x4cac: 0x405b5a20, 0x4cad: 0x405b5c20, 0x4cae: 0xe00020dd, 0x4caf: 0x405b5e20, + 0x4cb0: 0x405b6020, 0x4cb1: 0x405b6220, 0x4cb2: 0x405b6420, 0x4cb3: 0xe00020e0, + 0x4cb4: 0x405b6620, 0x4cb5: 0xe00020e3, 0x4cb6: 0x405b6820, 0x4cb7: 0xe00020e6, + 0x4cb8: 0x405b6a20, 0x4cb9: 0xe00020e9, 0x4cba: 0x405b6c20, 0x4cbb: 0xe00020ec, + 0x4cbc: 0x405b6e20, 0x4cbd: 0x405b7020, 0x4cbe: 0x405b7220, 0x4cbf: 0x405b7420, + // Block 0x133, offset 0x4cc0 + 0x4cc0: 0xe00020ef, 0x4cc1: 0x405b7620, 0x4cc2: 0xe00020f2, 0x4cc3: 0x405b7820, + 0x4cc4: 0xe00020f5, 0x4cc5: 0x405b7a20, 0x4cc6: 0xe00020f8, 0x4cc7: 0x405b7c20, + 0x4cc8: 0x405b7e20, + // Block 0x134, offset 0x4d00 + 0x4d20: 0xe00001ec, 0x4d21: 0xe0000307, 0x4d22: 0xe00003e1, 0x4d23: 0xe00004bc, + 0x4d24: 0xe0000586, 0x4d25: 0xe0000651, 0x4d26: 0xe00006f9, 0x4d27: 0xe00007a5, + 0x4d28: 0xe000084a, 0x4d29: 0x40288820, 0x4d2a: 0x40288a20, 0x4d2b: 0x40288c20, + 0x4d2c: 0x40288e20, 0x4d2d: 0x40289020, 0x4d2e: 0x40289220, 0x4d2f: 0x40289420, + 0x4d30: 0x40289620, 0x4d31: 0x40289820, 0x4d32: 0x40289a20, 0x4d33: 0x40289c20, + 0x4d34: 0x40289e20, 0x4d35: 0x4028a020, 0x4d36: 0x4028a220, 0x4d37: 0x4028a420, + 0x4d38: 0x4028a620, 0x4d39: 0x4028a820, 0x4d3a: 0x4028aa20, 0x4d3b: 0x4028ac20, + 0x4d3c: 0x4028ae20, 0x4d3d: 0x4028b020, 0x4d3e: 0x4028b220, + // Block 0x135, offset 0x4d40 + 0x4d40: 0xa000f202, 0x4d41: 0xa000f302, 0x4d42: 0xa000f402, 0x4d43: 0x40489220, + 0x4d44: 0x40489420, 0x4d45: 0x40483420, 0x4d46: 0x40483620, 0x4d47: 0x40483820, + 0x4d48: 0x40483a20, 0x4d49: 0x40483c20, 0x4d4a: 0x40483e20, 0x4d4b: 0x40484020, + 0x4d4c: 0x40484220, 0x4d4d: 0x40484420, 0x4d4e: 0x40484620, 0x4d4f: 0x40484820, + 0x4d50: 0x40484a20, 0x4d51: 0x40484c20, 0x4d52: 0x40484e20, 0x4d53: 0x40485020, + 0x4d54: 0x40485220, 0x4d55: 0x40485420, 0x4d56: 0x40485620, 0x4d57: 0x40485820, + 0x4d58: 0x40485a20, 0x4d59: 0x40485c20, 0x4d5a: 0x40485e20, 0x4d5b: 0x40486020, + 0x4d5c: 0x40486220, 0x4d5d: 0x40486420, 0x4d5e: 0x40486620, 0x4d5f: 0x40486820, + 0x4d60: 0x40486a20, 0x4d61: 0x40486c20, 0x4d62: 0x40486e20, 0x4d63: 0x40487020, + 0x4d64: 0x40487220, 0x4d65: 0x40487420, 0x4d66: 0x40487620, 0x4d67: 0x40487820, + 0x4d68: 0x40487a20, 0x4d69: 0x40487c20, 0x4d6a: 0x40487e20, 0x4d6b: 0x40488020, + 0x4d6c: 0x40488220, 0x4d6d: 0x40488420, 0x4d6e: 0x40488620, 0x4d6f: 0x40488820, + 0x4d70: 0x40488a20, 0x4d71: 0x40488c20, 0x4d72: 0x40488e20, 0x4d73: 0x40489020, + 0x4d74: 0x40489620, 0x4d75: 0x40489820, 0x4d76: 0x40489a20, 0x4d77: 0x40489c20, + 0x4d78: 0x40489e20, 0x4d79: 0x4048a020, 0x4d7a: 0x4048a220, 0x4d7b: 0x4048a420, + 0x4d7c: 0x4048a620, 0x4d7d: 0x4048a820, 0x4d7e: 0x4048aa20, 0x4d7f: 0x4048ac20, + // Block 0x136, offset 0x4d80 + 0x4d80: 0x4048ae20, 0x4d81: 0x4048b020, 0x4d82: 0x4048b220, 0x4d83: 0x4048b420, + 0x4d84: 0x4048b620, 0x4d85: 0x4048b820, 0x4d86: 0x8209245d, 0x4d87: 0x40034820, + 0x4d88: 0x40034a20, 0x4d89: 0x4005fc20, 0x4d8a: 0x4005fe20, 0x4d8b: 0x40060020, + 0x4d8c: 0x40060220, 0x4d8d: 0x40060420, + 0x4d92: 0xe00002a9, 0x4d93: 0xe00003c4, + 0x4d94: 0xe000049e, 0x4d95: 0xe0000570, 0x4d96: 0xe000063a, 0x4d97: 0xe00006ea, + 0x4d98: 0xe0000792, 0x4d99: 0xe000083b, 0x4d9a: 0xe00008e6, 0x4d9b: 0x40298220, + 0x4d9c: 0x40298420, 0x4d9d: 0x40298620, 0x4d9e: 0x40298820, 0x4d9f: 0x40298a20, + 0x4da0: 0x40298c20, 0x4da1: 0x40298e20, 0x4da2: 0x40299020, 0x4da3: 0x40299220, + 0x4da4: 0x40299420, 0x4da5: 0x40299620, 0x4da6: 0xe00001df, 0x4da7: 0xe00002a6, + 0x4da8: 0xe00003c1, 0x4da9: 0xe000049b, 0x4daa: 0xe000056d, 0x4dab: 0xe0000637, + 0x4dac: 0xe00006e7, 0x4dad: 0xe000078f, 0x4dae: 0xe0000838, 0x4daf: 0xe00008e3, + // Block 0x137, offset 0x4dc0 + 0x4dc0: 0xa000f202, 0x4dc1: 0xa000f302, 0x4dc2: 0xa000f402, 0x4dc3: 0x40467e20, + 0x4dc4: 0x40468020, 0x4dc5: 0x40468220, 0x4dc6: 0x40468420, 0x4dc7: 0x40468620, + 0x4dc8: 0x40468820, 0x4dc9: 0x40468a20, 0x4dca: 0x40468c20, 0x4dcb: 0x40468e20, + 0x4dcc: 0x40469020, 0x4dcd: 0x40469220, 0x4dce: 0x40469420, 0x4dcf: 0x40469620, + 0x4dd0: 0x40469820, 0x4dd1: 0x40469a20, 0x4dd2: 0x40469c20, 0x4dd3: 0x40469e20, + 0x4dd4: 0x4046a020, 0x4dd5: 0x4046a220, 0x4dd6: 0x4046a420, 0x4dd7: 0x4046a620, + 0x4dd8: 0x4046a820, 0x4dd9: 0x4046aa20, 0x4dda: 0xe0001878, 0x4ddb: 0x4046ac20, + 0x4ddc: 0xe000187b, 0x4ddd: 0x4046ae20, 0x4dde: 0x4046b020, 0x4ddf: 0x4046b220, + 0x4de0: 0x4046b420, 0x4de1: 0x4046b620, 0x4de2: 0x4046b820, 0x4de3: 0x4046ba20, + 0x4de4: 0x4046bc20, 0x4de5: 0x4046be20, 0x4de6: 0x4046c020, 0x4de7: 0x4046c220, + 0x4de8: 0x4046c420, 0x4de9: 0x4046c620, 0x4dea: 0x4046c820, 0x4deb: 0xe000187e, + 0x4dec: 0x4046ca20, 0x4ded: 0x4046cc20, 0x4dee: 0x4046ce20, 0x4def: 0x4046d020, + 0x4df0: 0x4046d220, 0x4df1: 0x4046d420, 0x4df2: 0x4046d620, 0x4df3: 0x4046d820, + 0x4df4: 0x4046da20, 0x4df5: 0x4046dc20, 0x4df6: 0x4046de20, 0x4df7: 0x4046e020, + 0x4df8: 0x4046e220, 0x4df9: 0x82092372, 0x4dfa: 0xa070f102, 0x4dfb: 0x40061620, + 0x4dfc: 0x40061820, 0x4dfd: 0xa0000000, 0x4dfe: 0x40039420, 0x4dff: 0x40039620, + // Block 0x138, offset 0x4e00 + 0x4e00: 0x40034c20, 0x4e01: 0x40034e20, + 0x4e10: 0x4072e820, 0x4e11: 0x4072ea20, 0x4e12: 0x4072ec20, 0x4e13: 0x4072ee20, + 0x4e14: 0x4072f020, 0x4e15: 0x4072f220, 0x4e16: 0x4072f420, 0x4e17: 0x4072f620, + 0x4e18: 0x4072f820, 0x4e19: 0x4072fa20, 0x4e1a: 0x4072fc20, 0x4e1b: 0x4072fe20, + 0x4e1c: 0x40730020, 0x4e1d: 0x40730220, 0x4e1e: 0x40730420, 0x4e1f: 0x40730620, + 0x4e20: 0x40730820, 0x4e21: 0x40730a20, 0x4e22: 0x40730c20, 0x4e23: 0x40730e20, + 0x4e24: 0x40731020, 0x4e25: 0x40731220, 0x4e26: 0x40731420, 0x4e27: 0x40731620, + 0x4e28: 0x40731820, + 0x4e30: 0xe00001d0, 0x4e31: 0xe0000264, 0x4e32: 0xe000037c, 0x4e33: 0xe0000456, + 0x4e34: 0xe000052b, 0x4e35: 0xe00005f5, 0x4e36: 0xe00006c0, 0x4e37: 0xe0000768, + 0x4e38: 0xe0000814, 0x4e39: 0xe00008b9, + // Block 0x139, offset 0x4e40 + 0x4e40: 0xae60f202, 0x4e41: 0xae60f302, 0x4e42: 0xae60f402, 0x4e43: 0x404f4020, + 0x4e44: 0x404f4220, 0x4e45: 0x404f4420, 0x4e46: 0x404f4620, 0x4e47: 0x404f4820, + 0x4e48: 0x404f4a20, 0x4e49: 0x404f4c20, 0x4e4a: 0x404f4e20, 0x4e4b: 0x404f5020, + 0x4e4c: 0x404f5220, 0x4e4d: 0x404f5420, 0x4e4e: 0x404f5620, 0x4e4f: 0x404f5820, + 0x4e50: 0x404f5a20, 0x4e51: 0x404f5c20, 0x4e52: 0x404f5e20, 0x4e53: 0x404f6020, + 0x4e54: 0x404f6220, 0x4e55: 0x404f6420, 0x4e56: 0x404f6620, 0x4e57: 0x404f6820, + 0x4e58: 0x404f6a20, 0x4e59: 0x404f6c20, 0x4e5a: 0x404f6e20, 0x4e5b: 0x404f7020, + 0x4e5c: 0x404f7220, 0x4e5d: 0x404f7420, 0x4e5e: 0x404f7620, 0x4e5f: 0x404f7820, + 0x4e60: 0x404f7a20, 0x4e61: 0x404f7c20, 0x4e62: 0x404f7e20, 0x4e63: 0x404f8020, + 0x4e64: 0x404f8220, 0x4e65: 0x404f8420, 0x4e66: 0x404f8620, 0x4e67: 0x404f8820, + 0x4e68: 0x404f8a20, 0x4e69: 0x404f8c20, 0x4e6a: 0x404f8e20, 0x4e6b: 0x404f9020, + 0x4e6c: 0x404f9220, 0x4e6d: 0x404f9420, 0x4e6e: 0x404f9620, 0x4e6f: 0x404f9820, + 0x4e70: 0x404f9a20, 0x4e71: 0xc31507e1, 0x4e72: 0xc31707e1, 0x4e73: 0x820927d0, + 0x4e74: 0x820927d1, 0x4e76: 0xe00001b2, 0x4e77: 0xe0000246, + 0x4e78: 0xe000035e, 0x4e79: 0xe0000438, 0x4e7a: 0xe000050d, 0x4e7b: 0xe00005d7, + 0x4e7c: 0xe00006a2, 0x4e7d: 0xe000074a, 0x4e7e: 0xe00007f6, 0x4e7f: 0xe000089b, + // Block 0x13a, offset 0x4e80 + 0x4e80: 0x40039820, 0x4e81: 0x40035020, 0x4e82: 0x40035220, 0x4e83: 0x4002de20, + // Block 0x13b, offset 0x4ec0 + 0x4ec0: 0xa000f202, 0x4ec1: 0xa000f302, 0x4ec2: 0xa000f402, 0x4ec3: 0x4046e820, + 0x4ec4: 0x4046ea20, 0x4ec5: 0x4046ec20, 0x4ec6: 0x4046ee20, 0x4ec7: 0x4046f020, + 0x4ec8: 0x4046f220, 0x4ec9: 0x4046f420, 0x4eca: 0x4046f620, 0x4ecb: 0x4046f820, + 0x4ecc: 0x4046fa20, 0x4ecd: 0x4046fc20, 0x4ece: 0x4046fe20, 0x4ecf: 0x40470020, + 0x4ed0: 0x40470220, 0x4ed1: 0x40470420, 0x4ed2: 0x40470620, 0x4ed3: 0x40470820, + 0x4ed4: 0x40470a20, 0x4ed5: 0x40470c20, 0x4ed6: 0x40470e20, 0x4ed7: 0x40471020, + 0x4ed8: 0x40471220, 0x4ed9: 0x40471420, 0x4eda: 0x40471620, 0x4edb: 0x40471820, + 0x4edc: 0x40471a20, 0x4edd: 0x40471c20, 0x4ede: 0x40471e20, 0x4edf: 0x40472020, + 0x4ee0: 0x40472220, 0x4ee1: 0x40472420, 0x4ee2: 0x40472620, 0x4ee3: 0x40472820, + 0x4ee4: 0x40472a20, 0x4ee5: 0x40472c20, 0x4ee6: 0x40472e20, 0x4ee7: 0x40473020, + 0x4ee8: 0x40473220, 0x4ee9: 0x40473420, 0x4eea: 0x40473620, 0x4eeb: 0x40473820, + 0x4eec: 0x40473a20, 0x4eed: 0x40473c20, 0x4eee: 0x40473e20, 0x4eef: 0x40474020, + 0x4ef0: 0x40474220, 0x4ef1: 0x40474420, 0x4ef2: 0x40474620, 0x4ef3: 0x40474820, + 0x4ef4: 0x40474a20, 0x4ef5: 0x40474c20, 0x4ef6: 0x40474e20, 0x4ef7: 0x40475020, + 0x4ef8: 0x40475220, 0x4ef9: 0x40475420, 0x4efa: 0x40475620, 0x4efb: 0x40475820, + 0x4efc: 0x40475a20, 0x4efd: 0x40475c20, 0x4efe: 0x40475e20, 0x4eff: 0x40476020, + // Block 0x13c, offset 0x4f00 + 0x4f00: 0x820923b1, 0x4f01: 0x40476420, 0x4f02: 0x40476620, 0x4f03: 0x40476820, + 0x4f04: 0x4046e620, 0x4f05: 0x40035420, 0x4f06: 0x40035620, 0x4f07: 0x40061a20, + 0x4f08: 0x40039a20, + 0x4f10: 0xe00001d9, 0x4f11: 0xe00002a0, 0x4f12: 0xe00003bb, 0x4f13: 0xe0000495, + 0x4f14: 0xe0000567, 0x4f15: 0xe0000631, 0x4f16: 0xe00006e1, 0x4f17: 0xe0000789, + 0x4f18: 0xe0000832, 0x4f19: 0xe00008dd, + // Block 0x13d, offset 0x4f40 + 0x4f40: 0x40476a20, 0x4f41: 0x40476c20, 0x4f42: 0x40476e20, 0x4f43: 0x40477020, + 0x4f44: 0x40477220, 0x4f45: 0x40477420, 0x4f46: 0x40477620, 0x4f47: 0x40477820, + 0x4f48: 0x40477a20, 0x4f49: 0x40477c20, 0x4f4a: 0x40478420, 0x4f4b: 0x40478620, + 0x4f4c: 0x40478820, 0x4f4d: 0x40478a20, 0x4f4e: 0x40478c20, 0x4f4f: 0x40478e20, + 0x4f50: 0x40479020, 0x4f51: 0x40479220, 0x4f52: 0x40479420, 0x4f53: 0x40479620, + 0x4f54: 0x40479820, 0x4f55: 0x40479a20, 0x4f56: 0x40479c20, 0x4f57: 0x40479e20, + 0x4f58: 0x4047a020, 0x4f59: 0x4047a220, 0x4f5a: 0x4047a420, 0x4f5b: 0x4047a620, + 0x4f5c: 0x4047a820, 0x4f5d: 0x4047aa20, 0x4f5e: 0x4047ac20, 0x4f5f: 0x4047ae20, + 0x4f60: 0x4047b020, 0x4f61: 0x4047b220, 0x4f62: 0x4047b420, 0x4f63: 0x4047b620, + 0x4f64: 0x4047b820, 0x4f65: 0x4047ba20, 0x4f66: 0x4047bc20, 0x4f67: 0x40478020, + 0x4f68: 0x40477e20, 0x4f69: 0x40478220, 0x4f6a: 0x4047be20, 0x4f6b: 0xa000f302, + 0x4f6c: 0xa000f402, 0x4f6d: 0x4047c020, 0x4f6e: 0x4047c220, 0x4f6f: 0x4047c420, + 0x4f70: 0x4047c620, 0x4f71: 0x4047c820, 0x4f72: 0x4047ca20, 0x4f73: 0x4047cc20, + 0x4f74: 0x4047ce20, 0x4f75: 0x4047d020, 0x4f76: 0x820923e9, 0x4f77: 0xa070f102, + // Block 0x13e, offset 0x4f80 + 0x4f80: 0xe00001dc, 0x4f81: 0xe00002a3, 0x4f82: 0xe00003be, 0x4f83: 0xe0000498, + 0x4f84: 0xe000056a, 0x4f85: 0xe0000634, 0x4f86: 0xe00006e4, 0x4f87: 0xe000078c, + 0x4f88: 0xe0000835, 0x4f89: 0xe00008e0, + // Block 0x13f, offset 0x4fc0 + 0x4fc0: 0x4076e420, 0x4fc1: 0x4076e620, 0x4fc2: 0x4076e820, 0x4fc3: 0x4076ea20, + 0x4fc4: 0x4076ec20, 0x4fc5: 0x4076ee20, 0x4fc6: 0x4076f020, 0x4fc7: 0x4076f220, + 0x4fc8: 0x4076f420, 0x4fc9: 0x4076f620, 0x4fca: 0x4076f820, 0x4fcb: 0x4076fa20, + 0x4fcc: 0x4076fc20, 0x4fcd: 0x4076fe20, 0x4fce: 0x40770020, 0x4fcf: 0x40770220, + 0x4fd0: 0x40770420, 0x4fd1: 0x40770620, 0x4fd2: 0x40770820, 0x4fd3: 0x40770a20, + 0x4fd4: 0x40770c20, 0x4fd5: 0x40770e20, 0x4fd6: 0x40771020, 0x4fd7: 0x40771220, + 0x4fd8: 0x40771420, 0x4fd9: 0x40771620, 0x4fda: 0x40771820, 0x4fdb: 0x40771a20, + 0x4fdc: 0x40771c20, 0x4fdd: 0x40771e20, 0x4fde: 0x40772020, 0x4fdf: 0x40772220, + 0x4fe0: 0x40772420, 0x4fe1: 0x40772620, 0x4fe2: 0x40772820, 0x4fe3: 0x40772a20, + 0x4fe4: 0x40772c20, 0x4fe5: 0x40772e20, 0x4fe6: 0x40773020, 0x4fe7: 0x40773220, + 0x4fe8: 0x40773420, 0x4fe9: 0x40773620, 0x4fea: 0x40773820, 0x4feb: 0x40773a20, + 0x4fec: 0x40773c20, 0x4fed: 0x40773e20, 0x4fee: 0x40774020, 0x4fef: 0x40774220, + 0x4ff0: 0x40774420, 0x4ff1: 0x40774620, 0x4ff2: 0x40774820, 0x4ff3: 0x40774a20, + 0x4ff4: 0x40774c20, 0x4ff5: 0x40774e20, 0x4ff6: 0x40775020, 0x4ff7: 0x40775220, + 0x4ff8: 0x40775420, 0x4ff9: 0x40775620, 0x4ffa: 0x40775820, 0x4ffb: 0x40775a20, + 0x4ffc: 0x40775c20, 0x4ffd: 0x40775e20, 0x4ffe: 0x40776020, 0x4fff: 0x40776220, + // Block 0x140, offset 0x5000 + 0x5000: 0x40776420, 0x5001: 0x40776620, 0x5002: 0x40776820, 0x5003: 0x40776a20, + 0x5004: 0x40776c20, 0x5005: 0x40776e20, 0x5006: 0x40777020, 0x5007: 0x40777220, + 0x5008: 0x40777420, 0x5009: 0x40777620, 0x500a: 0x40777820, 0x500b: 0x40777a20, + 0x500c: 0x40777c20, 0x500d: 0x40777e20, 0x500e: 0x40778020, 0x500f: 0x40778220, + 0x5010: 0x40778420, 0x5011: 0x40778620, 0x5012: 0x40778820, 0x5013: 0x40778a20, + 0x5014: 0x40778c20, 0x5015: 0x40778e20, 0x5016: 0x40779020, 0x5017: 0x40779220, + 0x5018: 0x40779420, 0x5019: 0x40779620, 0x501a: 0x40779820, 0x501b: 0x40779a20, + 0x501c: 0x40779c20, 0x501d: 0x40779e20, 0x501e: 0x4077a020, 0x501f: 0x4077a220, + 0x5020: 0x4077a420, 0x5021: 0x4077a620, 0x5022: 0x4077a820, 0x5023: 0x4077aa20, + 0x5024: 0x4077ac20, 0x5025: 0x4077ae20, 0x5026: 0x4077b020, 0x5027: 0x4077b220, + 0x5028: 0x4077b420, 0x5029: 0x4077b620, 0x502a: 0x4077b820, 0x502b: 0x4077ba20, + 0x502c: 0x4077bc20, 0x502d: 0x4077be20, 0x502e: 0x4077c020, 0x502f: 0x4077c220, + 0x5030: 0x4077c420, 0x5031: 0x4077c620, 0x5032: 0x4077c820, 0x5033: 0x4077ca20, + 0x5034: 0x4077cc20, 0x5035: 0x4077ce20, 0x5036: 0x4077d020, 0x5037: 0x4077d220, + 0x5038: 0x4077d420, 0x5039: 0x4077d620, 0x503a: 0x4077d820, 0x503b: 0x4077da20, + 0x503c: 0x4077dc20, 0x503d: 0x4077de20, 0x503e: 0x4077e020, 0x503f: 0x4077e220, + // Block 0x141, offset 0x5040 + 0x5040: 0x4077e420, 0x5041: 0x4077e620, 0x5042: 0x4077e820, 0x5043: 0x4077ea20, + 0x5044: 0x4077ec20, 0x5045: 0x4077ee20, 0x5046: 0x4077f020, 0x5047: 0x4077f220, + 0x5048: 0x4077f420, 0x5049: 0x4077f620, 0x504a: 0x4077f820, 0x504b: 0x4077fa20, + 0x504c: 0x4077fc20, 0x504d: 0x4077fe20, 0x504e: 0x40780020, 0x504f: 0x40780220, + 0x5050: 0x40780420, 0x5051: 0x40780620, 0x5052: 0x40780820, 0x5053: 0x40780a20, + 0x5054: 0x40780c20, 0x5055: 0x40780e20, 0x5056: 0x40781020, 0x5057: 0x40781220, + 0x5058: 0x40781420, 0x5059: 0x40781620, 0x505a: 0x40781820, 0x505b: 0x40781a20, + 0x505c: 0x40781c20, 0x505d: 0x40781e20, 0x505e: 0x40782020, 0x505f: 0x40782220, + 0x5060: 0x40782420, 0x5061: 0x40782620, 0x5062: 0x40782820, 0x5063: 0x40782a20, + 0x5064: 0x40782c20, 0x5065: 0x40782e20, 0x5066: 0x40783020, 0x5067: 0x40783220, + 0x5068: 0x40783420, 0x5069: 0x40783620, 0x506a: 0x40783820, 0x506b: 0x40783a20, + 0x506c: 0x40783c20, 0x506d: 0x40783e20, 0x506e: 0x40784020, 0x506f: 0x40784220, + 0x5070: 0x40784420, 0x5071: 0x40784620, 0x5072: 0x40784820, 0x5073: 0x40784a20, + 0x5074: 0x40784c20, 0x5075: 0x40784e20, 0x5076: 0x40785020, 0x5077: 0x40785220, + 0x5078: 0x40785420, 0x5079: 0x40785620, 0x507a: 0x40785820, 0x507b: 0x40785a20, + 0x507c: 0x40785c20, 0x507d: 0x40785e20, 0x507e: 0x40786020, 0x507f: 0x40786220, + // Block 0x142, offset 0x5080 + 0x5080: 0x40786420, 0x5081: 0x40786620, 0x5082: 0x40786820, 0x5083: 0x40786a20, + 0x5084: 0x40786c20, 0x5085: 0x40786e20, 0x5086: 0x40787020, 0x5087: 0x40787220, + 0x5088: 0x40787420, 0x5089: 0x40787620, 0x508a: 0x40787820, 0x508b: 0x40787a20, + 0x508c: 0x40787c20, 0x508d: 0x40787e20, 0x508e: 0x40788020, 0x508f: 0x40788220, + 0x5090: 0x40788420, 0x5091: 0x40788620, 0x5092: 0x40788820, 0x5093: 0x40788a20, + 0x5094: 0x40788c20, 0x5095: 0x40788e20, 0x5096: 0x40789020, 0x5097: 0x40789220, + 0x5098: 0x40789420, 0x5099: 0x40789620, 0x509a: 0x40789820, 0x509b: 0x40789a20, + 0x509c: 0x40789c20, 0x509d: 0x40789e20, 0x509e: 0x4078a020, 0x509f: 0x4078a220, + 0x50a0: 0x4078a420, 0x50a1: 0x4078a620, 0x50a2: 0x4078a820, 0x50a3: 0x4078aa20, + 0x50a4: 0x4078ac20, 0x50a5: 0x4078ae20, 0x50a6: 0x4078b020, 0x50a7: 0x4078b220, + 0x50a8: 0x4078b420, 0x50a9: 0x4078b620, 0x50aa: 0x4078b820, 0x50ab: 0x4078ba20, + 0x50ac: 0x4078bc20, 0x50ad: 0x4078be20, 0x50ae: 0x4078c020, 0x50af: 0x4078c220, + 0x50b0: 0x4078c420, 0x50b1: 0x4078c620, 0x50b2: 0x4078c820, 0x50b3: 0x4078ca20, + 0x50b4: 0x4078cc20, 0x50b5: 0x4078ce20, 0x50b6: 0x4078d020, 0x50b7: 0x4078d220, + 0x50b8: 0x4078d420, 0x50b9: 0x4078d620, 0x50ba: 0x4078d820, 0x50bb: 0x4078da20, + 0x50bc: 0x4078dc20, 0x50bd: 0x4078de20, 0x50be: 0x4078e020, 0x50bf: 0x4078e220, + // Block 0x143, offset 0x50c0 + 0x50c0: 0x4078e420, 0x50c1: 0x4078e620, 0x50c2: 0x4078e820, 0x50c3: 0x4078ea20, + 0x50c4: 0x4078ec20, 0x50c5: 0x4078ee20, 0x50c6: 0x4078f020, 0x50c7: 0x4078f220, + 0x50c8: 0x4078f420, 0x50c9: 0x4078f620, 0x50ca: 0x4078f820, 0x50cb: 0x4078fa20, + 0x50cc: 0x4078fc20, 0x50cd: 0x4078fe20, 0x50ce: 0x40790020, 0x50cf: 0x40790220, + 0x50d0: 0x40790420, 0x50d1: 0x40790620, 0x50d2: 0x40790820, 0x50d3: 0x40790a20, + 0x50d4: 0x40790c20, 0x50d5: 0x40790e20, 0x50d6: 0x40791020, 0x50d7: 0x40791220, + 0x50d8: 0x40791420, 0x50d9: 0x40791620, 0x50da: 0x40791820, 0x50db: 0x40791a20, + 0x50dc: 0x40791c20, 0x50dd: 0x40791e20, 0x50de: 0x40792020, 0x50df: 0x40792220, + 0x50e0: 0x40792420, 0x50e1: 0x40792620, 0x50e2: 0x40792820, 0x50e3: 0x40792a20, + 0x50e4: 0x40792c20, 0x50e5: 0x40792e20, 0x50e6: 0x40793020, 0x50e7: 0x40793220, + 0x50e8: 0x40793420, 0x50e9: 0x40793620, 0x50ea: 0x40793820, 0x50eb: 0x40793a20, + 0x50ec: 0x40793c20, 0x50ed: 0x40793e20, 0x50ee: 0x40794020, 0x50ef: 0x40794220, + 0x50f0: 0x40794420, 0x50f1: 0x40794620, 0x50f2: 0x40794820, 0x50f3: 0x40794a20, + 0x50f4: 0x40794c20, 0x50f5: 0x40794e20, 0x50f6: 0x40795020, 0x50f7: 0x40795220, + 0x50f8: 0x40795420, 0x50f9: 0x40795620, 0x50fa: 0x40795820, 0x50fb: 0x40795a20, + 0x50fc: 0x40795c20, 0x50fd: 0x40795e20, 0x50fe: 0x40796020, 0x50ff: 0x40796220, + // Block 0x144, offset 0x5100 + 0x5100: 0x40796420, 0x5101: 0x40796620, 0x5102: 0x40796820, 0x5103: 0x40796a20, + 0x5104: 0x40796c20, 0x5105: 0x40796e20, 0x5106: 0x40797020, 0x5107: 0x40797220, + 0x5108: 0x40797420, 0x5109: 0x40797620, 0x510a: 0x40797820, 0x510b: 0x40797a20, + 0x510c: 0x40797c20, 0x510d: 0x40797e20, 0x510e: 0x40798020, 0x510f: 0x40798220, + 0x5110: 0x40798420, 0x5111: 0x40798620, 0x5112: 0x40798820, 0x5113: 0x40798a20, + 0x5114: 0x40798c20, 0x5115: 0x40798e20, 0x5116: 0x40799020, 0x5117: 0x40799220, + 0x5118: 0x40799420, 0x5119: 0x40799620, 0x511a: 0x40799820, 0x511b: 0x40799a20, + 0x511c: 0x40799c20, 0x511d: 0x40799e20, 0x511e: 0x4079a020, 0x511f: 0x4079a220, + 0x5120: 0x4079a420, 0x5121: 0x4079a620, 0x5122: 0x4079a820, 0x5123: 0x4079aa20, + 0x5124: 0x4079ac20, 0x5125: 0x4079ae20, 0x5126: 0x4079b020, 0x5127: 0x4079b220, + 0x5128: 0x4079b420, 0x5129: 0x4079b620, 0x512a: 0x4079b820, 0x512b: 0x4079ba20, + 0x512c: 0x4079bc20, 0x512d: 0x4079be20, 0x512e: 0x4079c020, 0x512f: 0x4079c220, + 0x5130: 0x4079c420, 0x5131: 0x4079c620, 0x5132: 0x4079c820, 0x5133: 0x4079ca20, + 0x5134: 0x4079cc20, 0x5135: 0x4079ce20, 0x5136: 0x4079d020, 0x5137: 0x4079d220, + 0x5138: 0x4079d420, 0x5139: 0x4079d620, 0x513a: 0x4079d820, 0x513b: 0x4079da20, + 0x513c: 0x4079dc20, 0x513d: 0x4079de20, 0x513e: 0x4079e020, 0x513f: 0x4079e220, + // Block 0x145, offset 0x5140 + 0x5140: 0x4079e420, 0x5141: 0x4079e620, 0x5142: 0x4079e820, 0x5143: 0x4079ea20, + 0x5144: 0x4079ec20, 0x5145: 0x4079ee20, 0x5146: 0x4079f020, 0x5147: 0x4079f220, + 0x5148: 0x4079f420, 0x5149: 0x4079f620, 0x514a: 0x4079f820, 0x514b: 0x4079fa20, + 0x514c: 0x4079fc20, 0x514d: 0x4079fe20, 0x514e: 0x407a0020, 0x514f: 0x407a0220, + 0x5150: 0x407a0420, 0x5151: 0x407a0620, 0x5152: 0x407a0820, 0x5153: 0x407a0a20, + 0x5154: 0x407a0c20, 0x5155: 0x407a0e20, 0x5156: 0x407a1020, 0x5157: 0x407a1220, + 0x5158: 0x407a1420, 0x5159: 0x407a1620, 0x515a: 0x407a1820, 0x515b: 0x407a1a20, + 0x515c: 0x407a1c20, 0x515d: 0x407a1e20, 0x515e: 0x407a2020, 0x515f: 0x407a2220, + 0x5160: 0x407a2420, 0x5161: 0x407a2620, 0x5162: 0x407a2820, 0x5163: 0x407a2a20, + 0x5164: 0x407a2c20, 0x5165: 0x407a2e20, 0x5166: 0x407a3020, 0x5167: 0x407a3220, + 0x5168: 0x407a3420, 0x5169: 0x407a3620, 0x516a: 0x407a3820, 0x516b: 0x407a3a20, + 0x516c: 0x407a3c20, 0x516d: 0x407a3e20, 0x516e: 0x407a4020, 0x516f: 0x407a4220, + 0x5170: 0x407a4420, 0x5171: 0x407a4620, 0x5172: 0x407a4820, 0x5173: 0x407a4a20, + 0x5174: 0x407a4c20, 0x5175: 0x407a4e20, 0x5176: 0x407a5020, 0x5177: 0x407a5220, + 0x5178: 0x407a5420, 0x5179: 0x407a5620, 0x517a: 0x407a5820, 0x517b: 0x407a5a20, + 0x517c: 0x407a5c20, 0x517d: 0x407a5e20, 0x517e: 0x407a6020, 0x517f: 0x407a6220, + // Block 0x146, offset 0x5180 + 0x5180: 0x407a6420, 0x5181: 0x407a6620, 0x5182: 0x407a6820, 0x5183: 0x407a6a20, + 0x5184: 0x407a6c20, 0x5185: 0x407a6e20, 0x5186: 0x407a7020, 0x5187: 0x407a7220, + 0x5188: 0x407a7420, 0x5189: 0x407a7620, 0x518a: 0x407a7820, 0x518b: 0x407a7a20, + 0x518c: 0x407a7c20, 0x518d: 0x407a7e20, 0x518e: 0x407a8020, 0x518f: 0x407a8220, + 0x5190: 0x407a8420, 0x5191: 0x407a8620, 0x5192: 0x407a8820, 0x5193: 0x407a8a20, + 0x5194: 0x407a8c20, 0x5195: 0x407a8e20, 0x5196: 0x407a9020, 0x5197: 0x407a9220, + 0x5198: 0x407a9420, 0x5199: 0x407a9620, 0x519a: 0x407a9820, 0x519b: 0x407a9a20, + 0x519c: 0x407a9c20, 0x519d: 0x407a9e20, 0x519e: 0x407aa020, 0x519f: 0x407aa220, + 0x51a0: 0x407aa420, 0x51a1: 0x407aa620, 0x51a2: 0x407aa820, 0x51a3: 0x407aaa20, + 0x51a4: 0x407aac20, 0x51a5: 0x407aae20, 0x51a6: 0x407ab020, 0x51a7: 0x407ab220, + 0x51a8: 0x407ab420, 0x51a9: 0x407ab620, 0x51aa: 0x407ab820, 0x51ab: 0x407aba20, + 0x51ac: 0x407abc20, 0x51ad: 0x407abe20, 0x51ae: 0x407ac020, 0x51af: 0x407ac220, + 0x51b0: 0x407ac420, 0x51b1: 0x407ac620, 0x51b2: 0x407ac820, 0x51b3: 0x407aca20, + 0x51b4: 0x407acc20, 0x51b5: 0x407ace20, 0x51b6: 0x407ad020, 0x51b7: 0x407ad220, + 0x51b8: 0x407ad420, 0x51b9: 0x407ad620, 0x51ba: 0x407ad820, 0x51bb: 0x407ada20, + 0x51bc: 0x407adc20, 0x51bd: 0x407ade20, 0x51be: 0x407ae020, 0x51bf: 0x407ae220, + // Block 0x147, offset 0x51c0 + 0x51c0: 0x407ae420, 0x51c1: 0x407ae620, 0x51c2: 0x407ae820, 0x51c3: 0x407aea20, + 0x51c4: 0x407aec20, 0x51c5: 0x407aee20, 0x51c6: 0x407af020, 0x51c7: 0x407af220, + 0x51c8: 0x407af420, 0x51c9: 0x407af620, 0x51ca: 0x407af820, 0x51cb: 0x407afa20, + 0x51cc: 0x407afc20, 0x51cd: 0x407afe20, 0x51ce: 0x407b0020, 0x51cf: 0x407b0220, + 0x51d0: 0x407b0420, 0x51d1: 0x407b0620, 0x51d2: 0x407b0820, 0x51d3: 0x407b0a20, + 0x51d4: 0x407b0c20, 0x51d5: 0x407b0e20, 0x51d6: 0x407b1020, 0x51d7: 0x407b1220, + 0x51d8: 0x407b1420, 0x51d9: 0x407b1620, 0x51da: 0x407b1820, 0x51db: 0x407b1a20, + 0x51dc: 0x407b1c20, 0x51dd: 0x407b1e20, 0x51de: 0x407b2020, 0x51df: 0x407b2220, + 0x51e0: 0x407b2420, 0x51e1: 0x407b2620, 0x51e2: 0x407b2820, 0x51e3: 0x407b2a20, + 0x51e4: 0x407b2c20, 0x51e5: 0x407b2e20, 0x51e6: 0x407b3020, 0x51e7: 0x407b3220, + 0x51e8: 0x407b3420, 0x51e9: 0x407b3620, 0x51ea: 0x407b3820, 0x51eb: 0x407b3a20, + 0x51ec: 0x407b3c20, 0x51ed: 0x407b3e20, 0x51ee: 0x407b4020, 0x51ef: 0x407b4220, + 0x51f0: 0x407b4420, 0x51f1: 0x407b4620, 0x51f2: 0x407b4820, 0x51f3: 0x407b4a20, + 0x51f4: 0x407b4c20, 0x51f5: 0x407b4e20, 0x51f6: 0x407b5020, 0x51f7: 0x407b5220, + 0x51f8: 0x407b5420, 0x51f9: 0x407b5620, 0x51fa: 0x407b5820, 0x51fb: 0x407b5a20, + 0x51fc: 0x407b5c20, 0x51fd: 0x407b5e20, 0x51fe: 0x407b6020, 0x51ff: 0x407b6220, + // Block 0x148, offset 0x5200 + 0x5200: 0x407b6420, 0x5201: 0x407b6620, 0x5202: 0x407b6820, 0x5203: 0x407b6a20, + 0x5204: 0x407b6c20, 0x5205: 0x407b6e20, 0x5206: 0x407b7020, 0x5207: 0x407b7220, + 0x5208: 0x407b7420, 0x5209: 0x407b7620, 0x520a: 0x407b7820, 0x520b: 0x407b7a20, + 0x520c: 0x407b7c20, 0x520d: 0x407b7e20, 0x520e: 0x407b8020, 0x520f: 0x407b8220, + 0x5210: 0x407b8420, 0x5211: 0x407b8620, 0x5212: 0x407b8820, 0x5213: 0x407b8a20, + 0x5214: 0x407b8c20, 0x5215: 0x407b8e20, 0x5216: 0x407b9020, 0x5217: 0x407b9220, + 0x5218: 0x407b9420, 0x5219: 0x407b9620, 0x521a: 0x407b9820, 0x521b: 0x407b9a20, + 0x521c: 0x407b9c20, 0x521d: 0x407b9e20, 0x521e: 0x407ba020, 0x521f: 0x407ba220, + 0x5220: 0x407ba420, 0x5221: 0x407ba620, 0x5222: 0x407ba820, 0x5223: 0x407baa20, + 0x5224: 0x407bac20, 0x5225: 0x407bae20, 0x5226: 0x407bb020, 0x5227: 0x407bb220, + 0x5228: 0x407bb420, 0x5229: 0x407bb620, 0x522a: 0x407bb820, 0x522b: 0x407bba20, + 0x522c: 0x407bbc20, 0x522d: 0x407bbe20, 0x522e: 0x407bc020, 0x522f: 0x407bc220, + 0x5230: 0x407bc420, 0x5231: 0x407bc620, 0x5232: 0x407bc820, 0x5233: 0x407bca20, + 0x5234: 0x407bcc20, 0x5235: 0x407bce20, 0x5236: 0x407bd020, 0x5237: 0x407bd220, + 0x5238: 0x407bd420, 0x5239: 0x407bd620, 0x523a: 0x407bd820, 0x523b: 0x407bda20, + 0x523c: 0x407bdc20, 0x523d: 0x407bde20, 0x523e: 0x407be020, 0x523f: 0x407be220, + // Block 0x149, offset 0x5240 + 0x5240: 0x407be420, 0x5241: 0x407be620, 0x5242: 0x407be820, 0x5243: 0x407bea20, + 0x5244: 0x407bec20, 0x5245: 0x407bee20, 0x5246: 0x407bf020, 0x5247: 0x407bf220, + 0x5248: 0x407bf420, 0x5249: 0x407bf620, 0x524a: 0x407bf820, 0x524b: 0x407bfa20, + 0x524c: 0x407bfc20, 0x524d: 0x407bfe20, 0x524e: 0x407c0020, 0x524f: 0x407c0220, + 0x5250: 0x407c0420, 0x5251: 0x407c0620, 0x5252: 0x407c0820, 0x5253: 0x407c0a20, + 0x5254: 0x407c0c20, 0x5255: 0x407c0e20, 0x5256: 0x407c1020, 0x5257: 0x407c1220, + 0x5258: 0x407c1420, 0x5259: 0x407c1620, 0x525a: 0x407c1820, 0x525b: 0x407c1a20, + 0x525c: 0x407c1c20, 0x525d: 0x407c1e20, 0x525e: 0x407c2020, 0x525f: 0x407c2220, + 0x5260: 0x407c2420, 0x5261: 0x407c2620, 0x5262: 0x407c2820, 0x5263: 0x407c2a20, + 0x5264: 0x407c2c20, 0x5265: 0x407c2e20, 0x5266: 0x407c3020, 0x5267: 0x407c3220, + 0x5268: 0x407c3420, 0x5269: 0x407c3620, 0x526a: 0x407c3820, 0x526b: 0x407c3a20, + 0x526c: 0x407c3c20, 0x526d: 0x407c3e20, 0x526e: 0x407c4020, 0x526f: 0x407c4220, + 0x5270: 0x407c4420, 0x5271: 0x407c4620, 0x5272: 0x407c4820, 0x5273: 0x407c4a20, + 0x5274: 0x407c4c20, 0x5275: 0x407c4e20, 0x5276: 0x407c5020, 0x5277: 0x407c5220, + 0x5278: 0x407c5420, 0x5279: 0x407c5620, 0x527a: 0x407c5820, 0x527b: 0x407c5a20, + 0x527c: 0x407c5c20, 0x527d: 0x407c5e20, 0x527e: 0x407c6020, 0x527f: 0x407c6220, + // Block 0x14a, offset 0x5280 + 0x5280: 0x407c6420, 0x5281: 0x407c6620, 0x5282: 0x407c6820, 0x5283: 0x407c6a20, + 0x5284: 0x407c6c20, 0x5285: 0x407c6e20, 0x5286: 0x407c7020, 0x5287: 0x407c7220, + 0x5288: 0x407c7420, 0x5289: 0x407c7620, 0x528a: 0x407c7820, 0x528b: 0x407c7a20, + 0x528c: 0x407c7c20, 0x528d: 0x407c7e20, 0x528e: 0x407c8020, 0x528f: 0x407c8220, + 0x5290: 0x407c8420, 0x5291: 0x407c8620, 0x5292: 0x407c8820, 0x5293: 0x407c8a20, + 0x5294: 0x407c8c20, 0x5295: 0x407c8e20, 0x5296: 0x407c9020, 0x5297: 0x407c9220, + 0x5298: 0x407c9420, 0x5299: 0x407c9620, 0x529a: 0x407c9820, 0x529b: 0x407c9a20, + 0x529c: 0x407c9c20, 0x529d: 0x407c9e20, 0x529e: 0x407ca020, 0x529f: 0x407ca220, + 0x52a0: 0x407ca420, 0x52a1: 0x407ca620, 0x52a2: 0x407ca820, 0x52a3: 0x407caa20, + 0x52a4: 0x407cac20, 0x52a5: 0x407cae20, 0x52a6: 0x407cb020, 0x52a7: 0x407cb220, + 0x52a8: 0x407cb420, 0x52a9: 0x407cb620, 0x52aa: 0x407cb820, 0x52ab: 0x407cba20, + 0x52ac: 0x407cbc20, 0x52ad: 0x407cbe20, 0x52ae: 0x407cc020, 0x52af: 0x407cc220, + 0x52b0: 0x407cc420, 0x52b1: 0x407cc620, 0x52b2: 0x407cc820, 0x52b3: 0x407cca20, + 0x52b4: 0x407ccc20, 0x52b5: 0x407cce20, 0x52b6: 0x407cd020, 0x52b7: 0x407cd220, + 0x52b8: 0x407cd420, 0x52b9: 0x407cd620, 0x52ba: 0x407cd820, 0x52bb: 0x407cda20, + 0x52bc: 0x407cdc20, 0x52bd: 0x407cde20, 0x52be: 0x407ce020, 0x52bf: 0x407ce220, + // Block 0x14b, offset 0x52c0 + 0x52c0: 0x407ce420, 0x52c1: 0x407ce620, 0x52c2: 0x407ce820, 0x52c3: 0x407cea20, + 0x52c4: 0x407cec20, 0x52c5: 0x407cee20, 0x52c6: 0x407cf020, 0x52c7: 0x407cf220, + 0x52c8: 0x407cf420, 0x52c9: 0x407cf620, 0x52ca: 0x407cf820, 0x52cb: 0x407cfa20, + 0x52cc: 0x407cfc20, 0x52cd: 0x407cfe20, 0x52ce: 0x407d0020, 0x52cf: 0x407d0220, + 0x52d0: 0x407d0420, 0x52d1: 0x407d0620, 0x52d2: 0x407d0820, 0x52d3: 0x407d0a20, + 0x52d4: 0x407d0c20, 0x52d5: 0x407d0e20, 0x52d6: 0x407d1020, 0x52d7: 0x407d1220, + 0x52d8: 0x407d1420, 0x52d9: 0x407d1620, 0x52da: 0x407d1820, 0x52db: 0x407d1a20, + 0x52dc: 0x407d1c20, 0x52dd: 0x407d1e20, 0x52de: 0x407d2020, 0x52df: 0x407d2220, + 0x52e0: 0x407d2420, 0x52e1: 0x407d2620, 0x52e2: 0x407d2820, 0x52e3: 0x407d2a20, + 0x52e4: 0x407d2c20, 0x52e5: 0x407d2e20, 0x52e6: 0x407d3020, 0x52e7: 0x407d3220, + 0x52e8: 0x407d3420, 0x52e9: 0x407d3620, 0x52ea: 0x407d3820, 0x52eb: 0x407d3a20, + 0x52ec: 0x407d3c20, 0x52ed: 0x407d3e20, 0x52ee: 0x407d4020, 0x52ef: 0x407d4220, + 0x52f0: 0x407d4420, 0x52f1: 0x407d4620, 0x52f2: 0x407d4820, 0x52f3: 0x407d4a20, + 0x52f4: 0x407d4c20, 0x52f5: 0x407d4e20, 0x52f6: 0x407d5020, 0x52f7: 0x407d5220, + 0x52f8: 0x407d5420, 0x52f9: 0x407d5620, 0x52fa: 0x407d5820, 0x52fb: 0x407d5a20, + 0x52fc: 0x407d5c20, 0x52fd: 0x407d5e20, 0x52fe: 0x407d6020, 0x52ff: 0x407d6220, + // Block 0x14c, offset 0x5300 + 0x5300: 0x407d6420, 0x5301: 0x407d6620, 0x5302: 0x407d6820, 0x5303: 0x407d6a20, + 0x5304: 0x407d6c20, 0x5305: 0x407d6e20, 0x5306: 0x407d7020, 0x5307: 0x407d7220, + 0x5308: 0x407d7420, 0x5309: 0x407d7620, 0x530a: 0x407d7820, 0x530b: 0x407d7a20, + 0x530c: 0x407d7c20, 0x530d: 0x407d7e20, 0x530e: 0x407d8020, 0x530f: 0x407d8220, + 0x5310: 0x407d8420, 0x5311: 0x407d8620, 0x5312: 0x407d8820, 0x5313: 0x407d8a20, + 0x5314: 0x407d8c20, 0x5315: 0x407d8e20, 0x5316: 0x407d9020, 0x5317: 0x407d9220, + 0x5318: 0x407d9420, 0x5319: 0x407d9620, 0x531a: 0x407d9820, 0x531b: 0x407d9a20, + 0x531c: 0x407d9c20, 0x531d: 0x407d9e20, 0x531e: 0x407da020, 0x531f: 0x407da220, + 0x5320: 0x407da420, 0x5321: 0x407da620, 0x5322: 0x407da820, 0x5323: 0x407daa20, + 0x5324: 0x407dac20, 0x5325: 0x407dae20, 0x5326: 0x407db020, 0x5327: 0x407db220, + 0x5328: 0x407db420, 0x5329: 0x407db620, 0x532a: 0x407db820, 0x532b: 0x407dba20, + 0x532c: 0x407dbc20, 0x532d: 0x407dbe20, 0x532e: 0x407dc020, + // Block 0x14d, offset 0x5340 + 0x5340: 0xe0000394, 0x5341: 0xe000045f, 0x5342: 0xe0000534, 0x5343: 0xe0000610, + 0x5344: 0xe00006cc, 0x5345: 0xe0000771, 0x5346: 0xe000081d, 0x5347: 0xe00008c2, + 0x5348: 0xe0000462, 0x5349: 0xe0000537, 0x534a: 0xe0000613, 0x534b: 0xe00006cf, + 0x534c: 0xe0000774, 0x534d: 0xe0000820, 0x534e: 0xe00008c5, 0x534f: 0xe000053a, + 0x5350: 0xe0000616, 0x5351: 0xe00006d2, 0x5352: 0xe0000777, 0x5353: 0xe0000823, + 0x5354: 0xe00008c8, 0x5355: 0xe000027f, 0x5356: 0xe0000397, 0x5357: 0xe0000465, + 0x5358: 0xe000053d, 0x5359: 0xe0000619, 0x535a: 0xe00006d5, 0x535b: 0xe000077a, + 0x535c: 0xe0000826, 0x535d: 0xe00008cb, 0x535e: 0xe0000282, 0x535f: 0xe000039a, + 0x5360: 0xe0000468, 0x5361: 0xe0000540, 0x5362: 0xe000061c, 0x5363: 0xe000039d, + 0x5364: 0xe000046b, 0x5365: 0xe000046e, 0x5366: 0xe0000543, 0x5367: 0xe000061f, + 0x5368: 0xe00006d8, 0x5369: 0xe000077d, 0x536a: 0xe0000829, 0x536b: 0xe00008ce, + 0x536c: 0xe0000285, 0x536d: 0xe00003a0, 0x536e: 0xe0000471, 0x536f: 0xe0000474, + 0x5370: 0xe0000546, 0x5371: 0xe0000622, 0x5372: 0x4029a020, 0x5373: 0x4029a220, + 0x5374: 0xe0000288, 0x5375: 0xe00003a3, 0x5376: 0xe0000477, 0x5377: 0xe000047a, + 0x5378: 0xe0000549, 0x5379: 0xe0000625, 0x537a: 0xe000047d, 0x537b: 0xe0000480, + 0x537c: 0xe000054c, 0x537d: 0xe000054f, 0x537e: 0xe0000552, 0x537f: 0xe0000555, + // Block 0x14e, offset 0x5380 + 0x5380: 0xe00006db, 0x5381: 0xe0000780, 0x5382: 0xe0000783, 0x5383: 0xe0000786, + 0x5384: 0xe000082c, 0x5385: 0xe000082f, 0x5386: 0xe00008d1, 0x5387: 0xe00008d4, + 0x5388: 0xe00008d7, 0x5389: 0xe00008da, 0x538a: 0xe00003a6, 0x538b: 0xe0000483, + 0x538c: 0xe0000558, 0x538d: 0xe0000628, 0x538e: 0xe00006de, 0x538f: 0xe000028b, + 0x5390: 0xe00003a9, 0x5391: 0xe0000486, 0x5392: 0xe000055b, 0x5393: 0xe000055e, + 0x5394: 0xe000062b, 0x5395: 0xe000062e, 0x5396: 0x4029a420, 0x5397: 0x4029a620, + 0x5398: 0xe000028e, 0x5399: 0xe00003ac, 0x539a: 0x4029a820, 0x539b: 0x4029aa20, + 0x539c: 0x4029ac20, 0x539d: 0x4029ae20, 0x539e: 0x4029b020, 0x539f: 0x4029b220, + 0x53a0: 0x4029b420, 0x53a1: 0x4029b620, 0x53a2: 0x4029b820, + 0x53b0: 0x4003ca20, 0x53b1: 0x4003cc20, 0x53b2: 0x4003ce20, 0x53b3: 0x4003d020, + // Block 0x14f, offset 0x53c0 + 0x53c0: 0x407dc220, 0x53c1: 0x407dc420, 0x53c2: 0x407dc620, 0x53c3: 0x407dc820, + 0x53c4: 0x407dca20, 0x53c5: 0x407dcc20, 0x53c6: 0x407dce20, 0x53c7: 0x407dd020, + 0x53c8: 0x407dd220, 0x53c9: 0x407dd420, 0x53ca: 0x407dd620, 0x53cb: 0x407dd820, + 0x53cc: 0x407dda20, 0x53cd: 0x407ddc20, 0x53ce: 0x407dde20, 0x53cf: 0x407de020, + 0x53d0: 0x407de220, 0x53d1: 0x407de420, 0x53d2: 0x407de620, 0x53d3: 0x407de820, + 0x53d4: 0x407dea20, 0x53d5: 0x407dec20, 0x53d6: 0x407dee20, 0x53d7: 0x407df020, + 0x53d8: 0x407df220, 0x53d9: 0x407df420, 0x53da: 0x407df620, 0x53db: 0x407df820, + 0x53dc: 0x407dfa20, 0x53dd: 0x407dfc20, 0x53de: 0x407dfe20, 0x53df: 0x407e0020, + 0x53e0: 0x407e0220, 0x53e1: 0x407e0420, 0x53e2: 0x407e0620, 0x53e3: 0x407e0820, + 0x53e4: 0x407e0a20, 0x53e5: 0x407e0c20, 0x53e6: 0x407e0e20, 0x53e7: 0x407e1020, + 0x53e8: 0x407e1220, 0x53e9: 0x407e1420, 0x53ea: 0x407e1620, 0x53eb: 0x407e1820, + 0x53ec: 0x407e1a20, 0x53ed: 0x407e1c20, 0x53ee: 0x407e1e20, 0x53ef: 0x407e2020, + 0x53f0: 0x407e2220, 0x53f1: 0x407e2420, 0x53f2: 0x407e2620, 0x53f3: 0x407e2820, + 0x53f4: 0x407e2a20, 0x53f5: 0x407e2c20, 0x53f6: 0x407e2e20, 0x53f7: 0x407e3020, + 0x53f8: 0x407e3220, 0x53f9: 0x407e3420, 0x53fa: 0x407e3620, 0x53fb: 0x407e3820, + 0x53fc: 0x407e3a20, 0x53fd: 0x407e3c20, 0x53fe: 0x407e3e20, 0x53ff: 0x407e4020, + // Block 0x150, offset 0x5400 + 0x5400: 0x407e4220, 0x5401: 0x407e4420, 0x5402: 0x407e4620, 0x5403: 0x407e4820, + 0x5404: 0x407e4a20, 0x5405: 0x407e4c20, 0x5406: 0x407e4e20, 0x5407: 0x407e5020, + 0x5408: 0x407e5220, 0x5409: 0x407e5420, 0x540a: 0x407e5620, 0x540b: 0x407e5820, + 0x540c: 0x407e5a20, 0x540d: 0x407e5c20, 0x540e: 0x407e5e20, 0x540f: 0x407e6020, + 0x5410: 0x407e6220, 0x5411: 0x407e6420, 0x5412: 0x407e6620, 0x5413: 0x407e6820, + 0x5414: 0x407e6a20, 0x5415: 0x407e6c20, 0x5416: 0x407e6e20, 0x5417: 0x407e7020, + 0x5418: 0x407e7220, 0x5419: 0x407e7420, 0x541a: 0x407e7620, 0x541b: 0x407e7820, + 0x541c: 0x407e7a20, 0x541d: 0x407e7c20, 0x541e: 0x407e7e20, 0x541f: 0x407e8020, + 0x5420: 0x407e8220, 0x5421: 0x407e8420, 0x5422: 0x407e8620, 0x5423: 0x407e8820, + 0x5424: 0x407e8a20, 0x5425: 0x407e8c20, 0x5426: 0x407e8e20, 0x5427: 0x407e9020, + 0x5428: 0x407e9220, 0x5429: 0x407e9420, 0x542a: 0x407e9620, 0x542b: 0x407e9820, + 0x542c: 0x407e9a20, 0x542d: 0x407e9c20, 0x542e: 0x407e9e20, 0x542f: 0x407ea020, + 0x5430: 0x407ea220, 0x5431: 0x407ea420, 0x5432: 0x407ea620, 0x5433: 0x407ea820, + 0x5434: 0x407eaa20, 0x5435: 0x407eac20, 0x5436: 0x407eae20, 0x5437: 0x407eb020, + 0x5438: 0x407eb220, 0x5439: 0x407eb420, 0x543a: 0x407eb620, 0x543b: 0x407eb820, + 0x543c: 0x407eba20, 0x543d: 0x407ebc20, 0x543e: 0x407ebe20, 0x543f: 0x407ec020, + // Block 0x151, offset 0x5440 + 0x5440: 0x407ec220, 0x5441: 0x407ec420, 0x5442: 0x407ec620, 0x5443: 0x407ec820, + 0x5444: 0x407eca20, 0x5445: 0x407ecc20, 0x5446: 0x407ece20, 0x5447: 0x407ed020, + 0x5448: 0x407ed220, 0x5449: 0x407ed420, 0x544a: 0x407ed620, 0x544b: 0x407ed820, + 0x544c: 0x407eda20, 0x544d: 0x407edc20, 0x544e: 0x407ede20, 0x544f: 0x407ee020, + 0x5450: 0x407ee220, 0x5451: 0x407ee420, 0x5452: 0x407ee620, 0x5453: 0x407ee820, + 0x5454: 0x407eea20, 0x5455: 0x407eec20, 0x5456: 0x407eee20, 0x5457: 0x407ef020, + 0x5458: 0x407ef220, 0x5459: 0x407ef420, 0x545a: 0x407ef620, 0x545b: 0x407ef820, + 0x545c: 0x407efa20, 0x545d: 0x407efc20, 0x545e: 0x407efe20, 0x545f: 0x407f0020, + 0x5460: 0x407f0220, 0x5461: 0x407f0420, 0x5462: 0x407f0620, 0x5463: 0x407f0820, + 0x5464: 0x407f0a20, 0x5465: 0x407f0c20, 0x5466: 0x407f0e20, 0x5467: 0x407f1020, + 0x5468: 0x407f1220, 0x5469: 0x407f1420, 0x546a: 0x407f1620, 0x546b: 0x407f1820, + 0x546c: 0x407f1a20, 0x546d: 0x407f1c20, 0x546e: 0x407f1e20, 0x546f: 0x407f2020, + 0x5470: 0x407f2220, 0x5471: 0x407f2420, 0x5472: 0x407f2620, 0x5473: 0x407f2820, + 0x5474: 0x407f2a20, 0x5475: 0x407f2c20, 0x5476: 0x407f2e20, 0x5477: 0x407f3020, + 0x5478: 0x407f3220, 0x5479: 0x407f3420, 0x547a: 0x407f3620, 0x547b: 0x407f3820, + 0x547c: 0x407f3a20, 0x547d: 0x407f3c20, 0x547e: 0x407f3e20, 0x547f: 0x407f4020, + // Block 0x152, offset 0x5480 + 0x5480: 0x407f4220, 0x5481: 0x407f4420, 0x5482: 0x407f4620, 0x5483: 0x407f4820, + 0x5484: 0x407f4a20, 0x5485: 0x407f4c20, 0x5486: 0x407f4e20, 0x5487: 0x407f5020, + 0x5488: 0x407f5220, 0x5489: 0x407f5420, 0x548a: 0x407f5620, 0x548b: 0x407f5820, + 0x548c: 0x407f5a20, 0x548d: 0x407f5c20, 0x548e: 0x407f5e20, 0x548f: 0x407f6020, + 0x5490: 0x407f6220, 0x5491: 0x407f6420, 0x5492: 0x407f6620, 0x5493: 0x407f6820, + 0x5494: 0x407f6a20, 0x5495: 0x407f6c20, 0x5496: 0x407f6e20, 0x5497: 0x407f7020, + 0x5498: 0x407f7220, 0x5499: 0x407f7420, 0x549a: 0x407f7620, 0x549b: 0x407f7820, + 0x549c: 0x407f7a20, 0x549d: 0x407f7c20, 0x549e: 0x407f7e20, 0x549f: 0x407f8020, + 0x54a0: 0x407f8220, 0x54a1: 0x407f8420, 0x54a2: 0x407f8620, 0x54a3: 0x407f8820, + 0x54a4: 0x407f8a20, 0x54a5: 0x407f8c20, 0x54a6: 0x407f8e20, 0x54a7: 0x407f9020, + 0x54a8: 0x407f9220, 0x54a9: 0x407f9420, 0x54aa: 0x407f9620, 0x54ab: 0x407f9820, + 0x54ac: 0x407f9a20, 0x54ad: 0x407f9c20, 0x54ae: 0x407f9e20, 0x54af: 0x407fa020, + 0x54b0: 0x407fa220, 0x54b1: 0x407fa420, 0x54b2: 0x407fa620, 0x54b3: 0x407fa820, + 0x54b4: 0x407faa20, 0x54b5: 0x407fac20, 0x54b6: 0x407fae20, 0x54b7: 0x407fb020, + 0x54b8: 0x407fb220, 0x54b9: 0x407fb420, 0x54ba: 0x407fb620, 0x54bb: 0x407fb820, + 0x54bc: 0x407fba20, 0x54bd: 0x407fbc20, 0x54be: 0x407fbe20, 0x54bf: 0x407fc020, + // Block 0x153, offset 0x54c0 + 0x54c0: 0x407fc220, 0x54c1: 0x407fc420, 0x54c2: 0x407fc620, 0x54c3: 0x407fc820, + 0x54c4: 0x407fca20, 0x54c5: 0x407fcc20, 0x54c6: 0x407fce20, 0x54c7: 0x407fd020, + 0x54c8: 0x407fd220, 0x54c9: 0x407fd420, 0x54ca: 0x407fd620, 0x54cb: 0x407fd820, + 0x54cc: 0x407fda20, 0x54cd: 0x407fdc20, 0x54ce: 0x407fde20, 0x54cf: 0x407fe020, + 0x54d0: 0x407fe220, 0x54d1: 0x407fe420, 0x54d2: 0x407fe620, 0x54d3: 0x407fe820, + 0x54d4: 0x407fea20, 0x54d5: 0x407fec20, 0x54d6: 0x407fee20, 0x54d7: 0x407ff020, + 0x54d8: 0x407ff220, 0x54d9: 0x407ff420, 0x54da: 0x407ff620, 0x54db: 0x407ff820, + 0x54dc: 0x407ffa20, 0x54dd: 0x407ffc20, 0x54de: 0x407ffe20, 0x54df: 0x40800020, + 0x54e0: 0x40800220, 0x54e1: 0x40800420, 0x54e2: 0x40800620, 0x54e3: 0x40800820, + 0x54e4: 0x40800a20, 0x54e5: 0x40800c20, 0x54e6: 0x40800e20, 0x54e7: 0x40801020, + 0x54e8: 0x40801220, 0x54e9: 0x40801420, 0x54ea: 0x40801620, 0x54eb: 0x40801820, + 0x54ec: 0x40801a20, 0x54ed: 0x40801c20, 0x54ee: 0x40801e20, 0x54ef: 0x40802020, + 0x54f0: 0x40802220, 0x54f1: 0x40802420, 0x54f2: 0x40802620, 0x54f3: 0x40802820, + 0x54f4: 0x40802a20, 0x54f5: 0x40802c20, 0x54f6: 0x40802e20, 0x54f7: 0x40803020, + 0x54f8: 0x40803220, 0x54f9: 0x40803420, 0x54fa: 0x40803620, 0x54fb: 0x40803820, + 0x54fc: 0x40803a20, 0x54fd: 0x40803c20, 0x54fe: 0x40803e20, 0x54ff: 0x40804020, + // Block 0x154, offset 0x5500 + 0x5500: 0x40804220, 0x5501: 0x40804420, 0x5502: 0x40804620, 0x5503: 0x40804820, + 0x5504: 0x40804a20, 0x5505: 0x40804c20, 0x5506: 0x40804e20, 0x5507: 0x40805020, + 0x5508: 0x40805220, 0x5509: 0x40805420, 0x550a: 0x40805620, 0x550b: 0x40805820, + 0x550c: 0x40805a20, 0x550d: 0x40805c20, 0x550e: 0x40805e20, 0x550f: 0x40806020, + 0x5510: 0x40806220, 0x5511: 0x40806420, 0x5512: 0x40806620, 0x5513: 0x40806820, + 0x5514: 0x40806a20, 0x5515: 0x40806c20, 0x5516: 0x40806e20, 0x5517: 0x40807020, + 0x5518: 0x40807220, 0x5519: 0x40807420, 0x551a: 0x40807620, 0x551b: 0x40807820, + 0x551c: 0x40807a20, 0x551d: 0x40807c20, 0x551e: 0x40807e20, 0x551f: 0x40808020, + 0x5520: 0x40808220, 0x5521: 0x40808420, 0x5522: 0x40808620, 0x5523: 0x40808820, + 0x5524: 0x40808a20, 0x5525: 0x40808c20, 0x5526: 0x40808e20, 0x5527: 0x40809020, + 0x5528: 0x40809220, 0x5529: 0x40809420, 0x552a: 0x40809620, 0x552b: 0x40809820, + 0x552c: 0x40809a20, 0x552d: 0x40809c20, 0x552e: 0x40809e20, 0x552f: 0x4080a020, + 0x5530: 0x4080a220, 0x5531: 0x4080a420, 0x5532: 0x4080a620, 0x5533: 0x4080a820, + 0x5534: 0x4080aa20, 0x5535: 0x4080ac20, 0x5536: 0x4080ae20, 0x5537: 0x4080b020, + 0x5538: 0x4080b220, 0x5539: 0x4080b420, 0x553a: 0x4080b620, 0x553b: 0x4080b820, + 0x553c: 0x4080ba20, 0x553d: 0x4080bc20, 0x553e: 0x4080be20, 0x553f: 0x4080c020, + // Block 0x155, offset 0x5540 + 0x5540: 0x4080c220, 0x5541: 0x4080c420, 0x5542: 0x4080c620, 0x5543: 0x4080c820, + 0x5544: 0x4080ca20, 0x5545: 0x4080cc20, 0x5546: 0x4080ce20, 0x5547: 0x4080d020, + 0x5548: 0x4080d220, 0x5549: 0x4080d420, 0x554a: 0x4080d620, 0x554b: 0x4080d820, + 0x554c: 0x4080da20, 0x554d: 0x4080dc20, 0x554e: 0x4080de20, 0x554f: 0x4080e020, + 0x5550: 0x4080e220, 0x5551: 0x4080e420, 0x5552: 0x4080e620, 0x5553: 0x4080e820, + 0x5554: 0x4080ea20, 0x5555: 0x4080ec20, 0x5556: 0x4080ee20, 0x5557: 0x4080f020, + 0x5558: 0x4080f220, 0x5559: 0x4080f420, 0x555a: 0x4080f620, 0x555b: 0x4080f820, + 0x555c: 0x4080fa20, 0x555d: 0x4080fc20, 0x555e: 0x4080fe20, 0x555f: 0x40810020, + 0x5560: 0x40810220, 0x5561: 0x40810420, 0x5562: 0x40810620, 0x5563: 0x40810820, + 0x5564: 0x40810a20, 0x5565: 0x40810c20, 0x5566: 0x40810e20, 0x5567: 0x40811020, + 0x5568: 0x40811220, 0x5569: 0x40811420, 0x556a: 0x40811620, 0x556b: 0x40811820, + 0x556c: 0x40811a20, 0x556d: 0x40811c20, 0x556e: 0x40811e20, 0x556f: 0x40812020, + 0x5570: 0x40812220, 0x5571: 0x40812420, 0x5572: 0x40812620, 0x5573: 0x40812820, + 0x5574: 0x40812a20, 0x5575: 0x40812c20, 0x5576: 0x40812e20, 0x5577: 0x40813020, + 0x5578: 0x40813220, 0x5579: 0x40813420, 0x557a: 0x40813620, 0x557b: 0x40813820, + 0x557c: 0x40813a20, 0x557d: 0x40813c20, 0x557e: 0x40813e20, 0x557f: 0x40814020, + // Block 0x156, offset 0x5580 + 0x5580: 0x40814220, 0x5581: 0x40814420, 0x5582: 0x40814620, 0x5583: 0x40814820, + 0x5584: 0x40814a20, 0x5585: 0x40814c20, 0x5586: 0x40814e20, 0x5587: 0x40815020, + 0x5588: 0x40815220, 0x5589: 0x40815420, 0x558a: 0x40815620, 0x558b: 0x40815820, + 0x558c: 0x40815a20, 0x558d: 0x40815c20, 0x558e: 0x40815e20, 0x558f: 0x40816020, + 0x5590: 0x40816220, 0x5591: 0x40816420, 0x5592: 0x40816620, 0x5593: 0x40816820, + 0x5594: 0x40816a20, 0x5595: 0x40816c20, 0x5596: 0x40816e20, 0x5597: 0x40817020, + 0x5598: 0x40817220, 0x5599: 0x40817420, 0x559a: 0x40817620, 0x559b: 0x40817820, + 0x559c: 0x40817a20, 0x559d: 0x40817c20, 0x559e: 0x40817e20, 0x559f: 0x40818020, + 0x55a0: 0x40818220, 0x55a1: 0x40818420, 0x55a2: 0x40818620, 0x55a3: 0x40818820, + 0x55a4: 0x40818a20, 0x55a5: 0x40818c20, 0x55a6: 0x40818e20, 0x55a7: 0x40819020, + 0x55a8: 0x40819220, 0x55a9: 0x40819420, 0x55aa: 0x40819620, 0x55ab: 0x40819820, + 0x55ac: 0x40819a20, 0x55ad: 0x40819c20, 0x55ae: 0x40819e20, 0x55af: 0x4081a020, + 0x55b0: 0x4081a220, 0x55b1: 0x4081a420, 0x55b2: 0x4081a620, 0x55b3: 0x4081a820, + 0x55b4: 0x4081aa20, 0x55b5: 0x4081ac20, 0x55b6: 0x4081ae20, 0x55b7: 0x4081b020, + 0x55b8: 0x4081b220, 0x55b9: 0x4081b420, 0x55ba: 0x4081b620, 0x55bb: 0x4081b820, + 0x55bc: 0x4081ba20, 0x55bd: 0x4081bc20, 0x55be: 0x4081be20, 0x55bf: 0x4081c020, + // Block 0x157, offset 0x55c0 + 0x55c0: 0x4081c220, 0x55c1: 0x4081c420, 0x55c2: 0x4081c620, 0x55c3: 0x4081c820, + 0x55c4: 0x4081ca20, 0x55c5: 0x4081cc20, 0x55c6: 0x4081ce20, 0x55c7: 0x4081d020, + 0x55c8: 0x4081d220, 0x55c9: 0x4081d420, 0x55ca: 0x4081d620, 0x55cb: 0x4081d820, + 0x55cc: 0x4081da20, 0x55cd: 0x4081dc20, 0x55ce: 0x4081de20, 0x55cf: 0x4081e020, + 0x55d0: 0x4081e220, 0x55d1: 0x4081e420, 0x55d2: 0x4081e620, 0x55d3: 0x4081e820, + 0x55d4: 0x4081ea20, 0x55d5: 0x4081ec20, 0x55d6: 0x4081ee20, 0x55d7: 0x4081f020, + 0x55d8: 0x4081f220, 0x55d9: 0x4081f420, 0x55da: 0x4081f620, 0x55db: 0x4081f820, + 0x55dc: 0x4081fa20, 0x55dd: 0x4081fc20, 0x55de: 0x4081fe20, 0x55df: 0x40820020, + 0x55e0: 0x40820220, 0x55e1: 0x40820420, 0x55e2: 0x40820620, 0x55e3: 0x40820820, + 0x55e4: 0x40820a20, 0x55e5: 0x40820c20, 0x55e6: 0x40820e20, 0x55e7: 0x40821020, + 0x55e8: 0x40821220, 0x55e9: 0x40821420, 0x55ea: 0x40821620, 0x55eb: 0x40821820, + 0x55ec: 0x40821a20, 0x55ed: 0x40821c20, 0x55ee: 0x40821e20, 0x55ef: 0x40822020, + 0x55f0: 0x40822220, 0x55f1: 0x40822420, 0x55f2: 0x40822620, 0x55f3: 0x40822820, + 0x55f4: 0x40822a20, 0x55f5: 0x40822c20, 0x55f6: 0x40822e20, 0x55f7: 0x40823020, + 0x55f8: 0x40823220, 0x55f9: 0x40823420, 0x55fa: 0x40823620, 0x55fb: 0x40823820, + 0x55fc: 0x40823a20, 0x55fd: 0x40823c20, 0x55fe: 0x40823e20, 0x55ff: 0x40824020, + // Block 0x158, offset 0x5600 + 0x5600: 0x40824220, 0x5601: 0x40824420, 0x5602: 0x40824620, 0x5603: 0x40824820, + 0x5604: 0x40824a20, 0x5605: 0x40824c20, 0x5606: 0x40824e20, 0x5607: 0x40825020, + 0x5608: 0x40825220, 0x5609: 0x40825420, 0x560a: 0x40825620, 0x560b: 0x40825820, + 0x560c: 0x40825a20, 0x560d: 0x40825c20, 0x560e: 0x40825e20, 0x560f: 0x40826020, + 0x5610: 0x40826220, 0x5611: 0x40826420, 0x5612: 0x40826620, 0x5613: 0x40826820, + 0x5614: 0x40826a20, 0x5615: 0x40826c20, 0x5616: 0x40826e20, 0x5617: 0x40827020, + 0x5618: 0x40827220, 0x5619: 0x40827420, 0x561a: 0x40827620, 0x561b: 0x40827820, + 0x561c: 0x40827a20, 0x561d: 0x40827c20, 0x561e: 0x40827e20, 0x561f: 0x40828020, + 0x5620: 0x40828220, 0x5621: 0x40828420, 0x5622: 0x40828620, 0x5623: 0x40828820, + 0x5624: 0x40828a20, 0x5625: 0x40828c20, 0x5626: 0x40828e20, 0x5627: 0x40829020, + 0x5628: 0x40829220, 0x5629: 0x40829420, 0x562a: 0x40829620, 0x562b: 0x40829820, + 0x562c: 0x40829a20, 0x562d: 0x40829c20, 0x562e: 0x40829e20, 0x562f: 0x4082a020, + 0x5630: 0x4082a220, 0x5631: 0x4082a420, 0x5632: 0x4082a620, 0x5633: 0x4082a820, + 0x5634: 0x4082aa20, 0x5635: 0x4082ac20, 0x5636: 0x4082ae20, 0x5637: 0x4082b020, + 0x5638: 0x4082b220, 0x5639: 0x4082b420, 0x563a: 0x4082b620, 0x563b: 0x4082b820, + 0x563c: 0x4082ba20, 0x563d: 0x4082bc20, 0x563e: 0x4082be20, 0x563f: 0x4082c020, + // Block 0x159, offset 0x5640 + 0x5640: 0x4082c220, 0x5641: 0x4082c420, 0x5642: 0x4082c620, 0x5643: 0x4082c820, + 0x5644: 0x4082ca20, 0x5645: 0x4082cc20, 0x5646: 0x4082ce20, 0x5647: 0x4082d020, + 0x5648: 0x4082d220, 0x5649: 0x4082d420, 0x564a: 0x4082d620, 0x564b: 0x4082d820, + 0x564c: 0x4082da20, 0x564d: 0x4082dc20, 0x564e: 0x4082de20, 0x564f: 0x4082e020, + 0x5650: 0x4082e220, 0x5651: 0x4082e420, 0x5652: 0x4082e620, 0x5653: 0x4082e820, + 0x5654: 0x4082ea20, 0x5655: 0x4082ec20, 0x5656: 0x4082ee20, 0x5657: 0x4082f020, + 0x5658: 0x4082f220, 0x5659: 0x4082f420, 0x565a: 0x4082f620, 0x565b: 0x4082f820, + 0x565c: 0x4082fa20, 0x565d: 0x4082fc20, 0x565e: 0x4082fe20, 0x565f: 0x40830020, + 0x5660: 0x40830220, 0x5661: 0x40830420, 0x5662: 0x40830620, 0x5663: 0x40830820, + 0x5664: 0x40830a20, 0x5665: 0x40830c20, 0x5666: 0x40830e20, 0x5667: 0x40831020, + 0x5668: 0x40831220, 0x5669: 0x40831420, 0x566a: 0x40831620, 0x566b: 0x40831820, + 0x566c: 0x40831a20, 0x566d: 0x40831c20, 0x566e: 0x40831e20, 0x566f: 0x40832020, + 0x5670: 0x40832220, 0x5671: 0x40832420, 0x5672: 0x40832620, 0x5673: 0x40832820, + 0x5674: 0x40832a20, 0x5675: 0x40832c20, 0x5676: 0x40832e20, 0x5677: 0x40833020, + 0x5678: 0x40833220, 0x5679: 0x40833420, 0x567a: 0x40833620, 0x567b: 0x40833820, + 0x567c: 0x40833a20, 0x567d: 0x40833c20, 0x567e: 0x40833e20, 0x567f: 0x40834020, + // Block 0x15a, offset 0x5680 + 0x5680: 0x40834220, 0x5681: 0x40834420, 0x5682: 0x40834620, 0x5683: 0x40834820, + 0x5684: 0x40834a20, 0x5685: 0x40834c20, 0x5686: 0x40834e20, 0x5687: 0x40835020, + 0x5688: 0x40835220, 0x5689: 0x40835420, 0x568a: 0x40835620, 0x568b: 0x40835820, + 0x568c: 0x40835a20, 0x568d: 0x40835c20, 0x568e: 0x40835e20, 0x568f: 0x40836020, + 0x5690: 0x40836220, 0x5691: 0x40836420, 0x5692: 0x40836620, 0x5693: 0x40836820, + 0x5694: 0x40836a20, 0x5695: 0x40836c20, 0x5696: 0x40836e20, 0x5697: 0x40837020, + 0x5698: 0x40837220, 0x5699: 0x40837420, 0x569a: 0x40837620, 0x569b: 0x40837820, + 0x569c: 0x40837a20, 0x569d: 0x40837c20, 0x569e: 0x40837e20, 0x569f: 0x40838020, + 0x56a0: 0x40838220, 0x56a1: 0x40838420, 0x56a2: 0x40838620, 0x56a3: 0x40838820, + 0x56a4: 0x40838a20, 0x56a5: 0x40838c20, 0x56a6: 0x40838e20, 0x56a7: 0x40839020, + 0x56a8: 0x40839220, 0x56a9: 0x40839420, 0x56aa: 0x40839620, 0x56ab: 0x40839820, + 0x56ac: 0x40839a20, 0x56ad: 0x40839c20, 0x56ae: 0x40839e20, 0x56af: 0x4083a020, + 0x56b0: 0x4083a220, 0x56b1: 0x4083a420, 0x56b2: 0x4083a620, 0x56b3: 0x4083a820, + 0x56b4: 0x4083aa20, 0x56b5: 0x4083ac20, 0x56b6: 0x4083ae20, 0x56b7: 0x4083b020, + 0x56b8: 0x4083b220, 0x56b9: 0x4083b420, 0x56ba: 0x4083b620, 0x56bb: 0x4083b820, + 0x56bc: 0x4083ba20, 0x56bd: 0x4083bc20, 0x56be: 0x4083be20, 0x56bf: 0x4083c020, + // Block 0x15b, offset 0x56c0 + 0x56c0: 0x4083c220, 0x56c1: 0x4083c420, 0x56c2: 0x4083c620, 0x56c3: 0x4083c820, + 0x56c4: 0x4083ca20, 0x56c5: 0x4083cc20, 0x56c6: 0x4083ce20, 0x56c7: 0x4083d020, + 0x56c8: 0x4083d220, 0x56c9: 0x4083d420, 0x56ca: 0x4083d620, 0x56cb: 0x4083d820, + 0x56cc: 0x4083da20, 0x56cd: 0x4083dc20, 0x56ce: 0x4083de20, 0x56cf: 0x4083e020, + 0x56d0: 0x4083e220, 0x56d1: 0x4083e420, 0x56d2: 0x4083e620, 0x56d3: 0x4083e820, + 0x56d4: 0x4083ea20, 0x56d5: 0x4083ec20, 0x56d6: 0x4083ee20, 0x56d7: 0x4083f020, + 0x56d8: 0x4083f220, 0x56d9: 0x4083f420, 0x56da: 0x4083f620, 0x56db: 0x4083f820, + 0x56dc: 0x4083fa20, 0x56dd: 0x4083fc20, 0x56de: 0x4083fe20, 0x56df: 0x40840020, + 0x56e0: 0x40840220, 0x56e1: 0x40840420, 0x56e2: 0x40840620, 0x56e3: 0x40840820, + 0x56e4: 0x40840a20, 0x56e5: 0x40840c20, 0x56e6: 0x40840e20, 0x56e7: 0x40841020, + 0x56e8: 0x40841220, 0x56e9: 0x40841420, 0x56ea: 0x40841620, 0x56eb: 0x40841820, + 0x56ec: 0x40841a20, 0x56ed: 0x40841c20, 0x56ee: 0x40841e20, 0x56ef: 0x40842020, + 0x56f0: 0x40842220, 0x56f1: 0x40842420, 0x56f2: 0x40842620, 0x56f3: 0x40842820, + 0x56f4: 0x40842a20, 0x56f5: 0x40842c20, 0x56f6: 0x40842e20, 0x56f7: 0x40843020, + 0x56f8: 0x40843220, 0x56f9: 0x40843420, 0x56fa: 0x40843620, 0x56fb: 0x40843820, + 0x56fc: 0x40843a20, 0x56fd: 0x40843c20, 0x56fe: 0x40843e20, 0x56ff: 0x40844020, + // Block 0x15c, offset 0x5700 + 0x5700: 0x40844220, 0x5701: 0x40844420, 0x5702: 0x40844620, 0x5703: 0x40844820, + 0x5704: 0x40844a20, 0x5705: 0x40844c20, 0x5706: 0x40844e20, 0x5707: 0x40845020, + 0x5708: 0x40845220, 0x5709: 0x40845420, 0x570a: 0x40845620, 0x570b: 0x40845820, + 0x570c: 0x40845a20, 0x570d: 0x40845c20, 0x570e: 0x40845e20, 0x570f: 0x40846020, + 0x5710: 0x40846220, 0x5711: 0x40846420, 0x5712: 0x40846620, 0x5713: 0x40846820, + 0x5714: 0x40846a20, 0x5715: 0x40846c20, 0x5716: 0x40846e20, 0x5717: 0x40847020, + 0x5718: 0x40847220, 0x5719: 0x40847420, 0x571a: 0x40847620, 0x571b: 0x40847820, + 0x571c: 0x40847a20, 0x571d: 0x40847c20, 0x571e: 0x40847e20, 0x571f: 0x40848020, + 0x5720: 0x40848220, 0x5721: 0x40848420, 0x5722: 0x40848620, 0x5723: 0x40848820, + 0x5724: 0x40848a20, 0x5725: 0x40848c20, 0x5726: 0x40848e20, 0x5727: 0x40849020, + 0x5728: 0x40849220, 0x5729: 0x40849420, 0x572a: 0x40849620, 0x572b: 0x40849820, + 0x572c: 0x40849a20, 0x572d: 0x40849c20, 0x572e: 0x40849e20, 0x572f: 0x4084a020, + 0x5730: 0x4084a220, 0x5731: 0x4084a420, 0x5732: 0x4084a620, 0x5733: 0x4084a820, + 0x5734: 0x4084aa20, 0x5735: 0x4084ac20, 0x5736: 0x4084ae20, 0x5737: 0x4084b020, + 0x5738: 0x4084b220, 0x5739: 0x4084b420, 0x573a: 0x4084b620, 0x573b: 0x4084b820, + 0x573c: 0x4084ba20, 0x573d: 0x4084bc20, 0x573e: 0x4084be20, 0x573f: 0x4084c020, + // Block 0x15d, offset 0x5740 + 0x5740: 0x4084c220, 0x5741: 0x4084c420, 0x5742: 0x4084c620, 0x5743: 0x4084c820, + 0x5744: 0x4084ca20, 0x5745: 0x4084cc20, 0x5746: 0x4084ce20, 0x5747: 0x4084d020, + 0x5748: 0x4084d220, 0x5749: 0x4084d420, 0x574a: 0x4084d620, 0x574b: 0x4084d820, + 0x574c: 0x4084da20, 0x574d: 0x4084dc20, 0x574e: 0x4084de20, 0x574f: 0x4084e020, + 0x5750: 0x4084e220, 0x5751: 0x4084e420, 0x5752: 0x4084e620, 0x5753: 0x4084e820, + 0x5754: 0x4084ea20, 0x5755: 0x4084ec20, 0x5756: 0x4084ee20, 0x5757: 0x4084f020, + 0x5758: 0x4084f220, 0x5759: 0x4084f420, 0x575a: 0x4084f620, 0x575b: 0x4084f820, + 0x575c: 0x4084fa20, 0x575d: 0x4084fc20, 0x575e: 0x4084fe20, 0x575f: 0x40850020, + 0x5760: 0x40850220, 0x5761: 0x40850420, 0x5762: 0x40850620, 0x5763: 0x40850820, + 0x5764: 0x40850a20, 0x5765: 0x40850c20, 0x5766: 0x40850e20, 0x5767: 0x40851020, + 0x5768: 0x40851220, 0x5769: 0x40851420, 0x576a: 0x40851620, 0x576b: 0x40851820, + 0x576c: 0x40851a20, 0x576d: 0x40851c20, 0x576e: 0x40851e20, 0x576f: 0x40852020, + 0x5770: 0x40852220, 0x5771: 0x40852420, 0x5772: 0x40852620, 0x5773: 0x40852820, + 0x5774: 0x40852a20, 0x5775: 0x40852c20, 0x5776: 0x40852e20, 0x5777: 0x40853020, + 0x5778: 0x40853220, 0x5779: 0x40853420, 0x577a: 0x40853620, 0x577b: 0x40853820, + 0x577c: 0x40853a20, 0x577d: 0x40853c20, 0x577e: 0x40853e20, 0x577f: 0x40854020, + // Block 0x15e, offset 0x5780 + 0x5780: 0x40854220, 0x5781: 0x40854420, 0x5782: 0x40854620, 0x5783: 0x40854820, + 0x5784: 0x40854a20, 0x5785: 0x40854c20, 0x5786: 0x40854e20, 0x5787: 0x40855020, + 0x5788: 0x40855220, 0x5789: 0x40855420, 0x578a: 0x40855620, 0x578b: 0x40855820, + 0x578c: 0x40855a20, 0x578d: 0x40855c20, 0x578e: 0x40855e20, 0x578f: 0x40856020, + 0x5790: 0x40856220, 0x5791: 0x40856420, 0x5792: 0x40856620, 0x5793: 0x40856820, + 0x5794: 0x40856a20, 0x5795: 0x40856c20, 0x5796: 0x40856e20, 0x5797: 0x40857020, + 0x5798: 0x40857220, 0x5799: 0x40857420, 0x579a: 0x40857620, 0x579b: 0x40857820, + 0x579c: 0x40857a20, 0x579d: 0x40857c20, 0x579e: 0x40857e20, 0x579f: 0x40858020, + 0x57a0: 0x40858220, 0x57a1: 0x40858420, 0x57a2: 0x40858620, 0x57a3: 0x40858820, + 0x57a4: 0x40858a20, 0x57a5: 0x40858c20, 0x57a6: 0x40858e20, 0x57a7: 0x40859020, + 0x57a8: 0x40859220, 0x57a9: 0x40859420, 0x57aa: 0x40859620, 0x57ab: 0x40859820, + 0x57ac: 0x40859a20, 0x57ad: 0x40859c20, 0x57ae: 0x40859e20, 0x57af: 0x4085a020, + 0x57b0: 0x4085a220, 0x57b1: 0x4085a420, 0x57b2: 0x4085a620, 0x57b3: 0x4085a820, + 0x57b4: 0x4085aa20, 0x57b5: 0x4085ac20, 0x57b6: 0x4085ae20, 0x57b7: 0x4085b020, + 0x57b8: 0x4085b220, 0x57b9: 0x4085b420, 0x57ba: 0x4085b620, 0x57bb: 0x4085b820, + 0x57bc: 0x4085ba20, 0x57bd: 0x4085bc20, 0x57be: 0x4085be20, 0x57bf: 0x4085c020, + // Block 0x15f, offset 0x57c0 + 0x57c0: 0x4085c220, 0x57c1: 0x4085c420, 0x57c2: 0x4085c620, 0x57c3: 0x4085c820, + 0x57c4: 0x4085ca20, 0x57c5: 0x4085cc20, 0x57c6: 0x4085ce20, 0x57c7: 0x4085d020, + 0x57c8: 0x4085d220, 0x57c9: 0x4085d420, 0x57ca: 0x4085d620, 0x57cb: 0x4085d820, + 0x57cc: 0x4085da20, 0x57cd: 0x4085dc20, 0x57ce: 0x4085de20, 0x57cf: 0x4085e020, + 0x57d0: 0x4085e220, 0x57d1: 0x4085e420, 0x57d2: 0x4085e620, 0x57d3: 0x4085e820, + 0x57d4: 0x4085ea20, 0x57d5: 0x4085ec20, 0x57d6: 0x4085ee20, 0x57d7: 0x4085f020, + 0x57d8: 0x4085f220, 0x57d9: 0x4085f420, 0x57da: 0x4085f620, 0x57db: 0x4085f820, + 0x57dc: 0x4085fa20, 0x57dd: 0x4085fc20, 0x57de: 0x4085fe20, 0x57df: 0x40860020, + 0x57e0: 0x40860220, 0x57e1: 0x40860420, 0x57e2: 0x40860620, 0x57e3: 0x40860820, + 0x57e4: 0x40860a20, 0x57e5: 0x40860c20, 0x57e6: 0x40860e20, 0x57e7: 0x40861020, + 0x57e8: 0x40861220, 0x57e9: 0x40861420, 0x57ea: 0x40861620, 0x57eb: 0x40861820, + 0x57ec: 0x40861a20, 0x57ed: 0x40861c20, 0x57ee: 0x40861e20, + // Block 0x160, offset 0x5800 + 0x5800: 0x405e3a20, 0x5801: 0x405e3c20, 0x5802: 0x405e3e20, 0x5803: 0x405e4020, + 0x5804: 0x405e4220, 0x5805: 0x405e4420, 0x5806: 0x405e4620, 0x5807: 0x405e4820, + 0x5808: 0x405e4a20, 0x5809: 0x405e4c20, 0x580a: 0x405e4e20, 0x580b: 0x405e5020, + 0x580c: 0x405e5220, 0x580d: 0x405e5420, 0x580e: 0x405e5620, 0x580f: 0x405e5820, + 0x5810: 0x405e5a20, 0x5811: 0x405e5c20, 0x5812: 0x405e5e20, 0x5813: 0x405e6020, + 0x5814: 0x405e6220, 0x5815: 0x405e6420, 0x5816: 0x405e6620, 0x5817: 0x405e6820, + 0x5818: 0x405e6a20, 0x5819: 0x405e6c20, 0x581a: 0x405e6e20, 0x581b: 0x405e7020, + 0x581c: 0x405e7220, 0x581d: 0x405e7420, 0x581e: 0x405e7620, 0x581f: 0x405e7820, + 0x5820: 0x405e7a20, 0x5821: 0x405e7c20, 0x5822: 0x405e7e20, 0x5823: 0x405e8020, + 0x5824: 0x405e8220, 0x5825: 0x405e8420, 0x5826: 0x405e8620, 0x5827: 0x405e8820, + 0x5828: 0x405e8a20, 0x5829: 0x405e8c20, 0x582a: 0x405e8e20, 0x582b: 0x405e9020, + 0x582c: 0x405e9220, 0x582d: 0x405e9420, 0x582e: 0x405e9620, 0x582f: 0x405e9820, + 0x5830: 0x405e9a20, 0x5831: 0x405e9c20, 0x5832: 0x405e9e20, 0x5833: 0x405ea020, + 0x5834: 0x405ea220, 0x5835: 0x405ea420, 0x5836: 0x405ea620, 0x5837: 0x405ea820, + 0x5838: 0x405eaa20, 0x5839: 0x405eac20, 0x583a: 0x405eae20, 0x583b: 0x405eb020, + 0x583c: 0x405eb220, 0x583d: 0x405eb420, 0x583e: 0x405eb620, 0x583f: 0x405eb820, + // Block 0x161, offset 0x5840 + 0x5840: 0x405eba20, 0x5841: 0x405ebc20, 0x5842: 0x405ebe20, 0x5843: 0x405ec020, + 0x5844: 0x405ec220, 0x5845: 0x405ec420, 0x5846: 0x405ec620, 0x5847: 0x405ec820, + 0x5848: 0x405eca20, 0x5849: 0x405ecc20, 0x584a: 0x405ece20, 0x584b: 0x405ed020, + 0x584c: 0x405ed220, 0x584d: 0x405ed420, 0x584e: 0x405ed620, 0x584f: 0x405ed820, + 0x5850: 0x405eda20, 0x5851: 0x405edc20, 0x5852: 0x405ede20, 0x5853: 0x405ee020, + 0x5854: 0x405ee220, 0x5855: 0x405ee420, 0x5856: 0x405ee620, 0x5857: 0x405ee820, + 0x5858: 0x405eea20, 0x5859: 0x405eec20, 0x585a: 0x405eee20, 0x585b: 0x405ef020, + 0x585c: 0x405ef220, 0x585d: 0x405ef420, 0x585e: 0x405ef620, 0x585f: 0x405ef820, + 0x5860: 0x405efa20, 0x5861: 0x405efc20, 0x5862: 0x405efe20, 0x5863: 0x405f0020, + 0x5864: 0x405f0220, 0x5865: 0x405f0420, 0x5866: 0x405f0620, 0x5867: 0x405f0820, + 0x5868: 0x405f0a20, 0x5869: 0x405f0c20, 0x586a: 0x405f0e20, 0x586b: 0x405f1020, + 0x586c: 0x405f1220, 0x586d: 0x405f1420, 0x586e: 0x405f1620, 0x586f: 0x405f1820, + 0x5870: 0x405f1a20, 0x5871: 0x405f1c20, 0x5872: 0x405f1e20, 0x5873: 0x405f2020, + 0x5874: 0x405f2220, 0x5875: 0x405f2420, 0x5876: 0x405f2620, 0x5877: 0x405f2820, + 0x5878: 0x405f2a20, 0x5879: 0x405f2c20, 0x587a: 0x405f2e20, 0x587b: 0x405f3020, + 0x587c: 0x405f3220, 0x587d: 0x405f3420, 0x587e: 0x405f3620, 0x587f: 0x405f3820, + // Block 0x162, offset 0x5880 + 0x5880: 0x405f3a20, 0x5881: 0x405f3c20, 0x5882: 0x405f3e20, 0x5883: 0x405f4020, + 0x5884: 0x405f4220, 0x5885: 0x405f4420, 0x5886: 0x405f4620, 0x5887: 0x405f4820, + 0x5888: 0x405f4a20, 0x5889: 0x405f4c20, 0x588a: 0x405f4e20, 0x588b: 0x405f5020, + 0x588c: 0x405f5220, 0x588d: 0x405f5420, 0x588e: 0x405f5620, 0x588f: 0x405f5820, + 0x5890: 0x405f5a20, 0x5891: 0x405f5c20, 0x5892: 0x405f5e20, 0x5893: 0x405f6020, + 0x5894: 0x405f6220, 0x5895: 0x405f6420, 0x5896: 0x405f6620, 0x5897: 0x405f6820, + 0x5898: 0x405f6a20, 0x5899: 0x405f6c20, 0x589a: 0x405f6e20, 0x589b: 0x405f7020, + 0x589c: 0x405f7220, 0x589d: 0x405f7420, 0x589e: 0x405f7620, 0x589f: 0x405f7820, + 0x58a0: 0x405f7a20, 0x58a1: 0x405f7c20, 0x58a2: 0x405f7e20, 0x58a3: 0x405f8020, + 0x58a4: 0x405f8220, 0x58a5: 0x405f8420, 0x58a6: 0x405f8620, 0x58a7: 0x405f8820, + 0x58a8: 0x405f8a20, 0x58a9: 0x405f8c20, 0x58aa: 0x405f8e20, 0x58ab: 0x405f9020, + 0x58ac: 0x405f9220, 0x58ad: 0x405f9420, 0x58ae: 0x405f9620, 0x58af: 0x405f9820, + 0x58b0: 0x405f9a20, 0x58b1: 0x405f9c20, 0x58b2: 0x405f9e20, 0x58b3: 0x405fa020, + 0x58b4: 0x405fa220, 0x58b5: 0x405fa420, 0x58b6: 0x405fa620, 0x58b7: 0x405fa820, + 0x58b8: 0x405faa20, 0x58b9: 0x405fac20, 0x58ba: 0x405fae20, 0x58bb: 0x405fb020, + 0x58bc: 0x405fb220, 0x58bd: 0x405fb420, 0x58be: 0x405fb620, 0x58bf: 0x405fb820, + // Block 0x163, offset 0x58c0 + 0x58c0: 0x405fba20, 0x58c1: 0x405fbc20, 0x58c2: 0x405fbe20, 0x58c3: 0x405fc020, + 0x58c4: 0x405fc220, 0x58c5: 0x405fc420, 0x58c6: 0x405fc620, 0x58c7: 0x405fc820, + 0x58c8: 0x405fca20, 0x58c9: 0x405fcc20, 0x58ca: 0x405fce20, 0x58cb: 0x405fd020, + 0x58cc: 0x405fd220, 0x58cd: 0x405fd420, 0x58ce: 0x405fd620, 0x58cf: 0x405fd820, + 0x58d0: 0x405fda20, 0x58d1: 0x405fdc20, 0x58d2: 0x405fde20, 0x58d3: 0x405fe020, + 0x58d4: 0x405fe220, 0x58d5: 0x405fe420, 0x58d6: 0x405fe620, 0x58d7: 0x405fe820, + 0x58d8: 0x405fea20, 0x58d9: 0x405fec20, 0x58da: 0x405fee20, 0x58db: 0x405ff020, + 0x58dc: 0x405ff220, 0x58dd: 0x405ff420, 0x58de: 0x405ff620, 0x58df: 0x405ff820, + 0x58e0: 0x405ffa20, 0x58e1: 0x405ffc20, 0x58e2: 0x405ffe20, 0x58e3: 0x40600020, + 0x58e4: 0x40600220, 0x58e5: 0x40600420, 0x58e6: 0x40600620, 0x58e7: 0x40600820, + 0x58e8: 0x40600a20, 0x58e9: 0x40600c20, 0x58ea: 0x40600e20, 0x58eb: 0x40601020, + 0x58ec: 0x40601220, 0x58ed: 0x40601420, 0x58ee: 0x40601620, 0x58ef: 0x40601820, + 0x58f0: 0x40601a20, 0x58f1: 0x40601c20, 0x58f2: 0x40601e20, 0x58f3: 0x40602020, + 0x58f4: 0x40602220, 0x58f5: 0x40602420, 0x58f6: 0x40602620, 0x58f7: 0x40602820, + 0x58f8: 0x40602a20, 0x58f9: 0x40602c20, 0x58fa: 0x40602e20, 0x58fb: 0x40603020, + 0x58fc: 0x40603220, 0x58fd: 0x40603420, 0x58fe: 0x40603620, 0x58ff: 0x40603820, + // Block 0x164, offset 0x5900 + 0x5900: 0x40603a20, 0x5901: 0x40603c20, 0x5902: 0x40603e20, 0x5903: 0x40604020, + 0x5904: 0x40604220, 0x5905: 0x40604420, 0x5906: 0x40604620, 0x5907: 0x40604820, + 0x5908: 0x40604a20, 0x5909: 0x40604c20, 0x590a: 0x40604e20, 0x590b: 0x40605020, + 0x590c: 0x40605220, 0x590d: 0x40605420, 0x590e: 0x40605620, 0x590f: 0x40605820, + 0x5910: 0x40605a20, 0x5911: 0x40605c20, 0x5912: 0x40605e20, 0x5913: 0x40606020, + 0x5914: 0x40606220, 0x5915: 0x40606420, 0x5916: 0x40606620, 0x5917: 0x40606820, + 0x5918: 0x40606a20, 0x5919: 0x40606c20, 0x591a: 0x40606e20, 0x591b: 0x40607020, + 0x591c: 0x40607220, 0x591d: 0x40607420, 0x591e: 0x40607620, 0x591f: 0x40607820, + 0x5920: 0x40607a20, 0x5921: 0x40607c20, 0x5922: 0x40607e20, 0x5923: 0x40608020, + 0x5924: 0x40608220, 0x5925: 0x40608420, 0x5926: 0x40608620, 0x5927: 0x40608820, + 0x5928: 0x40608a20, 0x5929: 0x40608c20, 0x592a: 0x40608e20, 0x592b: 0x40609020, + 0x592c: 0x40609220, 0x592d: 0x40609420, 0x592e: 0x40609620, 0x592f: 0x40609820, + 0x5930: 0x40609a20, 0x5931: 0x40609c20, 0x5932: 0x40609e20, 0x5933: 0x4060a020, + 0x5934: 0x4060a220, 0x5935: 0x4060a420, 0x5936: 0x4060a620, 0x5937: 0x4060a820, + 0x5938: 0x4060aa20, 0x5939: 0x4060ac20, 0x593a: 0x4060ae20, 0x593b: 0x4060b020, + 0x593c: 0x4060b220, 0x593d: 0x4060b420, 0x593e: 0x4060b620, 0x593f: 0x4060b820, + // Block 0x165, offset 0x5940 + 0x5940: 0x4060ba20, 0x5941: 0x4060bc20, 0x5942: 0x4060be20, 0x5943: 0x4060c020, + 0x5944: 0x4060c220, 0x5945: 0x4060c420, 0x5946: 0x4060c620, 0x5947: 0x4060c820, + 0x5948: 0x4060ca20, 0x5949: 0x4060cc20, 0x594a: 0x4060ce20, 0x594b: 0x4060d020, + 0x594c: 0x4060d220, 0x594d: 0x4060d420, 0x594e: 0x4060d620, 0x594f: 0x4060d820, + 0x5950: 0x4060da20, 0x5951: 0x4060dc20, 0x5952: 0x4060de20, 0x5953: 0x4060e020, + 0x5954: 0x4060e220, 0x5955: 0x4060e420, 0x5956: 0x4060e620, 0x5957: 0x4060e820, + 0x5958: 0x4060ea20, 0x5959: 0x4060ec20, 0x595a: 0x4060ee20, 0x595b: 0x4060f020, + 0x595c: 0x4060f220, 0x595d: 0x4060f420, 0x595e: 0x4060f620, 0x595f: 0x4060f820, + 0x5960: 0x4060fa20, 0x5961: 0x4060fc20, 0x5962: 0x4060fe20, 0x5963: 0x40610020, + 0x5964: 0x40610220, 0x5965: 0x40610420, 0x5966: 0x40610620, 0x5967: 0x40610820, + 0x5968: 0x40610a20, 0x5969: 0x40610c20, 0x596a: 0x40610e20, 0x596b: 0x40611020, + 0x596c: 0x40611220, 0x596d: 0x40611420, 0x596e: 0x40611620, 0x596f: 0x40611820, + 0x5970: 0x40611a20, 0x5971: 0x40611c20, 0x5972: 0x40611e20, 0x5973: 0x40612020, + 0x5974: 0x40612220, 0x5975: 0x40612420, 0x5976: 0x40612620, 0x5977: 0x40612820, + 0x5978: 0x40612a20, 0x5979: 0x40612c20, 0x597a: 0x40612e20, 0x597b: 0x40613020, + 0x597c: 0x40613220, 0x597d: 0x40613420, 0x597e: 0x40613620, 0x597f: 0x40613820, + // Block 0x166, offset 0x5980 + 0x5980: 0x40613a20, 0x5981: 0x40613c20, 0x5982: 0x40613e20, 0x5983: 0x40614020, + 0x5984: 0x40614220, 0x5985: 0x40614420, 0x5986: 0x40614620, 0x5987: 0x40614820, + 0x5988: 0x40614a20, 0x5989: 0x40614c20, 0x598a: 0x40614e20, 0x598b: 0x40615020, + 0x598c: 0x40615220, 0x598d: 0x40615420, 0x598e: 0x40615620, 0x598f: 0x40615820, + 0x5990: 0x40615a20, 0x5991: 0x40615c20, 0x5992: 0x40615e20, 0x5993: 0x40616020, + 0x5994: 0x40616220, 0x5995: 0x40616420, 0x5996: 0x40616620, 0x5997: 0x40616820, + 0x5998: 0x40616a20, 0x5999: 0x40616c20, 0x599a: 0x40616e20, 0x599b: 0x40617020, + 0x599c: 0x40617220, 0x599d: 0x40617420, 0x599e: 0x40617620, 0x599f: 0x40617820, + 0x59a0: 0x40617a20, 0x59a1: 0x40617c20, 0x59a2: 0x40617e20, 0x59a3: 0x40618020, + 0x59a4: 0x40618220, 0x59a5: 0x40618420, 0x59a6: 0x40618620, 0x59a7: 0x40618820, + 0x59a8: 0x40618a20, 0x59a9: 0x40618c20, 0x59aa: 0x40618e20, 0x59ab: 0x40619020, + 0x59ac: 0x40619220, 0x59ad: 0x40619420, 0x59ae: 0x40619620, 0x59af: 0x40619820, + 0x59b0: 0x40619a20, 0x59b1: 0x40619c20, 0x59b2: 0x40619e20, 0x59b3: 0x4061a020, + 0x59b4: 0x4061a220, 0x59b5: 0x4061a420, 0x59b6: 0x4061a620, 0x59b7: 0x4061a820, + 0x59b8: 0x4061aa20, 0x59b9: 0x4061ac20, 0x59ba: 0x4061ae20, 0x59bb: 0x4061b020, + 0x59bc: 0x4061b220, 0x59bd: 0x4061b420, 0x59be: 0x4061b620, 0x59bf: 0x4061b820, + // Block 0x167, offset 0x59c0 + 0x59c0: 0x4061ba20, 0x59c1: 0x4061bc20, 0x59c2: 0x4061be20, 0x59c3: 0x4061c020, + 0x59c4: 0x4061c220, 0x59c5: 0x4061c420, 0x59c6: 0x4061c620, 0x59c7: 0x4061c820, + 0x59c8: 0x4061ca20, 0x59c9: 0x4061cc20, 0x59ca: 0x4061ce20, 0x59cb: 0x4061d020, + 0x59cc: 0x4061d220, 0x59cd: 0x4061d420, 0x59ce: 0x4061d620, 0x59cf: 0x4061d820, + 0x59d0: 0x4061da20, 0x59d1: 0x4061dc20, 0x59d2: 0x4061de20, 0x59d3: 0x4061e020, + 0x59d4: 0x4061e220, 0x59d5: 0x4061e420, 0x59d6: 0x4061e620, 0x59d7: 0x4061e820, + 0x59d8: 0x4061ea20, 0x59d9: 0x4061ec20, 0x59da: 0x4061ee20, 0x59db: 0x4061f020, + 0x59dc: 0x4061f220, 0x59dd: 0x4061f420, 0x59de: 0x4061f620, 0x59df: 0x4061f820, + 0x59e0: 0x4061fa20, 0x59e1: 0x4061fc20, 0x59e2: 0x4061fe20, 0x59e3: 0x40620020, + 0x59e4: 0x40620220, 0x59e5: 0x40620420, 0x59e6: 0x40620620, 0x59e7: 0x40620820, + 0x59e8: 0x40620a20, 0x59e9: 0x40620c20, 0x59ea: 0x40620e20, 0x59eb: 0x40621020, + 0x59ec: 0x40621220, 0x59ed: 0x40621420, 0x59ee: 0x40621620, 0x59ef: 0x40621820, + 0x59f0: 0x40621a20, 0x59f1: 0x40621c20, 0x59f2: 0x40621e20, 0x59f3: 0x40622020, + 0x59f4: 0x40622220, 0x59f5: 0x40622420, 0x59f6: 0x40622620, 0x59f7: 0x40622820, + 0x59f8: 0x40622a20, 0x59f9: 0x40622c20, 0x59fa: 0x40622e20, 0x59fb: 0x40623020, + 0x59fc: 0x40623220, 0x59fd: 0x40623420, 0x59fe: 0x40623620, 0x59ff: 0x40623820, + // Block 0x168, offset 0x5a00 + 0x5a00: 0x40623a20, 0x5a01: 0x40623c20, 0x5a02: 0x40623e20, 0x5a03: 0x40624020, + 0x5a04: 0x40624220, 0x5a05: 0x40624420, 0x5a06: 0x40624620, 0x5a07: 0x40624820, + 0x5a08: 0x40624a20, 0x5a09: 0x40624c20, 0x5a0a: 0x40624e20, 0x5a0b: 0x40625020, + 0x5a0c: 0x40625220, 0x5a0d: 0x40625420, 0x5a0e: 0x40625620, 0x5a0f: 0x40625820, + 0x5a10: 0x40625a20, 0x5a11: 0x40625c20, 0x5a12: 0x40625e20, 0x5a13: 0x40626020, + 0x5a14: 0x40626220, 0x5a15: 0x40626420, 0x5a16: 0x40626620, 0x5a17: 0x40626820, + 0x5a18: 0x40626a20, 0x5a19: 0x40626c20, 0x5a1a: 0x40626e20, 0x5a1b: 0x40627020, + 0x5a1c: 0x40627220, 0x5a1d: 0x40627420, 0x5a1e: 0x40627620, 0x5a1f: 0x40627820, + 0x5a20: 0x40627a20, 0x5a21: 0x40627c20, 0x5a22: 0x40627e20, 0x5a23: 0x40628020, + 0x5a24: 0x40628220, 0x5a25: 0x40628420, 0x5a26: 0x40628620, 0x5a27: 0x40628820, + 0x5a28: 0x40628a20, 0x5a29: 0x40628c20, 0x5a2a: 0x40628e20, 0x5a2b: 0x40629020, + 0x5a2c: 0x40629220, 0x5a2d: 0x40629420, 0x5a2e: 0x40629620, 0x5a2f: 0x40629820, + 0x5a30: 0x40629a20, 0x5a31: 0x40629c20, 0x5a32: 0x40629e20, 0x5a33: 0x4062a020, + 0x5a34: 0x4062a220, 0x5a35: 0x4062a420, 0x5a36: 0x4062a620, 0x5a37: 0x4062a820, + 0x5a38: 0x4062aa20, + // Block 0x169, offset 0x5a40 + 0x5a40: 0x406fb620, 0x5a41: 0x406fb820, 0x5a42: 0x406fba20, 0x5a43: 0x406fbc20, + 0x5a44: 0x406fbe20, 0x5a45: 0x406fc020, 0x5a46: 0x006fbe84, 0x5a47: 0x406fc220, + 0x5a48: 0x406fc420, 0x5a49: 0x406fc620, 0x5a4a: 0x406fc820, 0x5a4b: 0x406fca20, + 0x5a4c: 0x406fcc20, 0x5a4d: 0x406fce20, 0x5a4e: 0x406fd020, 0x5a4f: 0x406fd220, + 0x5a50: 0x406fd420, 0x5a51: 0x406fd620, 0x5a52: 0x406fd820, 0x5a53: 0x006fd484, + 0x5a54: 0x406fda20, 0x5a55: 0x406fdc20, 0x5a56: 0x406fde20, 0x5a57: 0x406fe020, + 0x5a58: 0x406fe220, 0x5a59: 0x406fe420, 0x5a5a: 0x406fe620, 0x5a5b: 0x406fe820, + 0x5a5c: 0x406fea20, 0x5a5d: 0x406fec20, 0x5a5e: 0x406fee20, 0x5a5f: 0x406ff020, + 0x5a60: 0x406ff220, 0x5a61: 0x406ff420, 0x5a62: 0x406ff620, 0x5a63: 0x406ff820, + 0x5a64: 0x406ffa20, 0x5a65: 0x006ff884, 0x5a66: 0x406ffc20, 0x5a67: 0x406ffe20, + 0x5a68: 0x40700020, 0x5a69: 0x40700220, 0x5a6a: 0x40700420, 0x5a6b: 0x40700620, + 0x5a6c: 0x40700820, 0x5a6d: 0x40700a20, 0x5a6e: 0x40700c20, 0x5a6f: 0x40700e20, + 0x5a70: 0x40701020, 0x5a71: 0x40701220, 0x5a72: 0x40701420, 0x5a73: 0x40701620, + 0x5a74: 0x40701820, 0x5a75: 0x40701a20, 0x5a76: 0x40701c20, 0x5a77: 0x40701e20, + 0x5a78: 0x40702020, 0x5a79: 0x40702220, 0x5a7a: 0x40702420, 0x5a7b: 0x40702620, + 0x5a7c: 0x40702820, 0x5a7d: 0x40702a20, 0x5a7e: 0x40702c20, 0x5a7f: 0x00702a84, + // Block 0x16a, offset 0x5a80 + 0x5a80: 0x40702e20, 0x5a81: 0x40703020, 0x5a82: 0x40703220, 0x5a83: 0x40703420, + 0x5a84: 0x40703620, + 0x5a90: 0x40703820, 0x5a91: 0x40703a20, 0x5a92: 0x40703c20, 0x5a93: 0x40703e20, + 0x5a94: 0x40704020, 0x5a95: 0x40704220, 0x5a96: 0x40704420, 0x5a97: 0x40704620, + 0x5a98: 0x40704820, 0x5a99: 0x40704a20, 0x5a9a: 0x40704c20, 0x5a9b: 0x40704e20, + 0x5a9c: 0x40705020, 0x5a9d: 0x40705220, 0x5a9e: 0x40705420, 0x5a9f: 0x40705620, + 0x5aa0: 0x40705820, 0x5aa1: 0x40705a20, 0x5aa2: 0x40705c20, 0x5aa3: 0x40705e20, + 0x5aa4: 0x40706020, 0x5aa5: 0x40706220, 0x5aa6: 0x40706420, 0x5aa7: 0x40706620, + 0x5aa8: 0x40706820, 0x5aa9: 0x40706a20, 0x5aaa: 0x40706c20, 0x5aab: 0x40706e20, + 0x5aac: 0x40707020, 0x5aad: 0x40707220, 0x5aae: 0x40707420, 0x5aaf: 0x40707620, + 0x5ab0: 0x40707820, 0x5ab1: 0x40707a20, 0x5ab2: 0x40707c20, 0x5ab3: 0x40707e20, + 0x5ab4: 0x40708020, 0x5ab5: 0x40708220, 0x5ab6: 0x40708420, 0x5ab7: 0x40708620, + 0x5ab8: 0x40708820, 0x5ab9: 0x40708a20, 0x5aba: 0x40708c20, 0x5abb: 0x40708e20, + 0x5abc: 0x40709020, 0x5abd: 0x40709220, 0x5abe: 0x40709420, + // Block 0x16b, offset 0x5ac0 + 0x5acf: 0x40709620, + 0x5ad0: 0x40709820, 0x5ad1: 0x40709a20, 0x5ad2: 0x40709c20, 0x5ad3: 0x40709e20, + 0x5ad4: 0x4070a020, 0x5ad5: 0x4070a220, 0x5ad6: 0x4070a420, 0x5ad7: 0x4070a620, + 0x5ad8: 0x4070a820, 0x5ad9: 0x4070aa20, 0x5ada: 0x4070ac20, 0x5adb: 0x4070ae20, + 0x5adc: 0x4070b020, 0x5add: 0x4070b220, 0x5ade: 0x4070b420, 0x5adf: 0x4070b620, + // Block 0x16c, offset 0x5b00 + 0x5b00: 0x00657c91, 0x5b01: 0x0065c28e, + // Block 0x16d, offset 0x5b40 + 0x5b40: 0x401ba420, 0x5b41: 0x401ba620, 0x5b42: 0x401ba820, 0x5b43: 0x401baa20, + 0x5b44: 0x401bac20, 0x5b45: 0x401bae20, 0x5b46: 0x401bb020, 0x5b47: 0x401bb220, + 0x5b48: 0x401bb420, 0x5b49: 0x401bb620, 0x5b4a: 0x401bb820, 0x5b4b: 0x401bba20, + 0x5b4c: 0x401bbc20, 0x5b4d: 0x401bbe20, 0x5b4e: 0x401bc020, 0x5b4f: 0x401bc220, + 0x5b50: 0x401bc420, 0x5b51: 0x401bc620, 0x5b52: 0x401bc820, 0x5b53: 0x401bca20, + 0x5b54: 0x401bcc20, 0x5b55: 0x401bce20, 0x5b56: 0x401bd020, 0x5b57: 0x401bd220, + 0x5b58: 0x401bd420, 0x5b59: 0x401bd620, 0x5b5a: 0x401bd820, 0x5b5b: 0x401bda20, + 0x5b5c: 0x401bdc20, 0x5b5d: 0x401bde20, 0x5b5e: 0x401be020, 0x5b5f: 0x401be220, + 0x5b60: 0x401be420, 0x5b61: 0x401be620, 0x5b62: 0x401be820, 0x5b63: 0x401bea20, + 0x5b64: 0x401bec20, 0x5b65: 0x401bee20, 0x5b66: 0x401bf020, 0x5b67: 0x401bf220, + 0x5b68: 0x401bf420, 0x5b69: 0x401bf620, 0x5b6a: 0x401bf820, 0x5b6b: 0x401bfa20, + 0x5b6c: 0x401bfc20, 0x5b6d: 0x401bfe20, 0x5b6e: 0x401c0020, 0x5b6f: 0x401c0220, + 0x5b70: 0x401c0420, 0x5b71: 0x401c0620, 0x5b72: 0x401c0820, 0x5b73: 0x401c0a20, + 0x5b74: 0x401c0c20, 0x5b75: 0x401c0e20, 0x5b76: 0x401c1020, 0x5b77: 0x401c1220, + 0x5b78: 0x401c1420, 0x5b79: 0x401c1620, 0x5b7a: 0x401c1820, 0x5b7b: 0x401c1a20, + 0x5b7c: 0x401c1c20, 0x5b7d: 0x401c1e20, 0x5b7e: 0x401c2020, 0x5b7f: 0x401c2220, + // Block 0x16e, offset 0x5b80 + 0x5b80: 0x401c2420, 0x5b81: 0x401c2620, 0x5b82: 0x401c2820, 0x5b83: 0x401c2a20, + 0x5b84: 0x401c2c20, 0x5b85: 0x401c2e20, 0x5b86: 0x401c3020, 0x5b87: 0x401c3220, + 0x5b88: 0x401c3420, 0x5b89: 0x401c3620, 0x5b8a: 0x401c3820, 0x5b8b: 0x401c3a20, + 0x5b8c: 0x401c3c20, 0x5b8d: 0x401c3e20, 0x5b8e: 0x401c4020, 0x5b8f: 0x401c4220, + 0x5b90: 0x401c4420, 0x5b91: 0x401c4620, 0x5b92: 0x401c4820, 0x5b93: 0x401c4a20, + 0x5b94: 0x401c4c20, 0x5b95: 0x401c4e20, 0x5b96: 0x401c5020, 0x5b97: 0x401c5220, + 0x5b98: 0x401c5420, 0x5b99: 0x401c5620, 0x5b9a: 0x401c5820, 0x5b9b: 0x401c5a20, + 0x5b9c: 0x401c5c20, 0x5b9d: 0x401c5e20, 0x5b9e: 0x401c6020, 0x5b9f: 0x401c6220, + 0x5ba0: 0x401c6420, 0x5ba1: 0x401c6620, 0x5ba2: 0x401c6820, 0x5ba3: 0x401c6a20, + 0x5ba4: 0x401c6c20, 0x5ba5: 0x401c6e20, 0x5ba6: 0x401c7020, 0x5ba7: 0x401c7220, + 0x5ba8: 0x401c7420, 0x5ba9: 0x401c7620, 0x5baa: 0x401c7820, 0x5bab: 0x401c7a20, + 0x5bac: 0x401c7c20, 0x5bad: 0x401c7e20, 0x5bae: 0x401c8020, 0x5baf: 0x401c8220, + 0x5bb0: 0x401c8420, 0x5bb1: 0x401c8620, 0x5bb2: 0x401c8820, 0x5bb3: 0x401c8a20, + 0x5bb4: 0x401c8c20, 0x5bb5: 0x401c8e20, 0x5bb6: 0x401c9020, 0x5bb7: 0x401c9220, + 0x5bb8: 0x401c9420, 0x5bb9: 0x401c9620, 0x5bba: 0x401c9820, 0x5bbb: 0x401c9a20, + 0x5bbc: 0x401c9c20, 0x5bbd: 0x401c9e20, 0x5bbe: 0x401ca020, 0x5bbf: 0x401ca220, + // Block 0x16f, offset 0x5bc0 + 0x5bc0: 0x401ca420, 0x5bc1: 0x401ca620, 0x5bc2: 0x401ca820, 0x5bc3: 0x401caa20, + 0x5bc4: 0x401cac20, 0x5bc5: 0x401cae20, 0x5bc6: 0x401cb020, 0x5bc7: 0x401cb220, + 0x5bc8: 0x401cb420, 0x5bc9: 0x401cb620, 0x5bca: 0x401cb820, 0x5bcb: 0x401cba20, + 0x5bcc: 0x401cbc20, 0x5bcd: 0x401cbe20, 0x5bce: 0x401cc020, 0x5bcf: 0x401cc220, + 0x5bd0: 0x401cc420, 0x5bd1: 0x401cc620, 0x5bd2: 0x401cc820, 0x5bd3: 0x401cca20, + 0x5bd4: 0x401ccc20, 0x5bd5: 0x401cce20, 0x5bd6: 0x401cd020, 0x5bd7: 0x401cd220, + 0x5bd8: 0x401cd420, 0x5bd9: 0x401cd620, 0x5bda: 0x401cd820, 0x5bdb: 0x401cda20, + 0x5bdc: 0x401cdc20, 0x5bdd: 0x401cde20, 0x5bde: 0x401ce020, 0x5bdf: 0x401ce220, + 0x5be0: 0x401ce420, 0x5be1: 0x401ce620, 0x5be2: 0x401ce820, 0x5be3: 0x401cea20, + 0x5be4: 0x401cec20, 0x5be5: 0x401cee20, 0x5be6: 0x401cf020, 0x5be7: 0x401cf220, + 0x5be8: 0x401cf420, 0x5be9: 0x401cf620, 0x5bea: 0x401cf820, 0x5beb: 0x401cfa20, + 0x5bec: 0x401cfc20, 0x5bed: 0x401cfe20, 0x5bee: 0x401d0020, 0x5bef: 0x401d0220, + 0x5bf0: 0x401d0420, 0x5bf1: 0x401d0620, 0x5bf2: 0x401d0820, 0x5bf3: 0x401d0a20, + 0x5bf4: 0x401d0c20, 0x5bf5: 0x401d0e20, 0x5bf6: 0x401d1020, 0x5bf7: 0x401d1220, + 0x5bf8: 0x401d1420, 0x5bf9: 0x401d1620, 0x5bfa: 0x401d1820, 0x5bfb: 0x401d1a20, + 0x5bfc: 0x401d1c20, 0x5bfd: 0x401d1e20, 0x5bfe: 0x401d2020, 0x5bff: 0x401d2220, + // Block 0x170, offset 0x5c00 + 0x5c00: 0x401d2420, 0x5c01: 0x401d2620, 0x5c02: 0x401d2820, 0x5c03: 0x401d2a20, + 0x5c04: 0x401d2c20, 0x5c05: 0x401d2e20, 0x5c06: 0x401d3020, 0x5c07: 0x401d3220, + 0x5c08: 0x401d3420, 0x5c09: 0x401d3620, 0x5c0a: 0x401d3820, 0x5c0b: 0x401d3a20, + 0x5c0c: 0x401d3c20, 0x5c0d: 0x401d3e20, 0x5c0e: 0x401d4020, 0x5c0f: 0x401d4220, + 0x5c10: 0x401d4420, 0x5c11: 0x401d4620, 0x5c12: 0x401d4820, 0x5c13: 0x401d4a20, + 0x5c14: 0x401d4c20, 0x5c15: 0x401d4e20, 0x5c16: 0x401d5020, 0x5c17: 0x401d5220, + 0x5c18: 0x401d5420, 0x5c19: 0x401d5620, 0x5c1a: 0x401d5820, 0x5c1b: 0x401d5a20, + 0x5c1c: 0x401d5c20, 0x5c1d: 0x401d5e20, 0x5c1e: 0x401d6020, 0x5c1f: 0x401d6220, + 0x5c20: 0x401d6420, 0x5c21: 0x401d6620, 0x5c22: 0x401d6820, 0x5c23: 0x401d6a20, + 0x5c24: 0x401d6c20, 0x5c25: 0x401d6e20, 0x5c26: 0x401d7020, 0x5c27: 0x401d7220, + 0x5c28: 0x401d7420, 0x5c29: 0x401d7620, 0x5c2a: 0x401d7820, 0x5c2b: 0x401d7a20, + 0x5c2c: 0x401d7c20, 0x5c2d: 0x401d7e20, 0x5c2e: 0x401d8020, 0x5c2f: 0x401d8220, + 0x5c30: 0x401d8420, 0x5c31: 0x401d8620, 0x5c32: 0x401d8820, 0x5c33: 0x401d8a20, + 0x5c34: 0x401d8c20, 0x5c35: 0x401d8e20, + // Block 0x171, offset 0x5c40 + 0x5c40: 0x401d9020, 0x5c41: 0x401d9220, 0x5c42: 0x401d9420, 0x5c43: 0x401d9620, + 0x5c44: 0x401d9820, 0x5c45: 0x401d9a20, 0x5c46: 0x401d9c20, 0x5c47: 0x401d9e20, + 0x5c48: 0x401da020, 0x5c49: 0x401da220, 0x5c4a: 0x401da420, 0x5c4b: 0x401da620, + 0x5c4c: 0x401da820, 0x5c4d: 0x401daa20, 0x5c4e: 0x401dac20, 0x5c4f: 0x401dae20, + 0x5c50: 0x401db020, 0x5c51: 0x401db220, 0x5c52: 0x401db420, 0x5c53: 0x401db620, + 0x5c54: 0x401db820, 0x5c55: 0x401dba20, 0x5c56: 0x401dbc20, 0x5c57: 0x401dbe20, + 0x5c58: 0x401dc020, 0x5c59: 0x401dc220, 0x5c5a: 0x401dc420, 0x5c5b: 0x401dc620, + 0x5c5c: 0x401dc820, 0x5c5d: 0x401dca20, 0x5c5e: 0x401dcc20, 0x5c5f: 0x401dce20, + 0x5c60: 0x401dd020, 0x5c61: 0x401dd220, 0x5c62: 0x401dd420, 0x5c63: 0x401dd620, + 0x5c64: 0x401dd820, 0x5c65: 0x401dda20, 0x5c66: 0x401ddc20, + 0x5c69: 0x401e0420, 0x5c6a: 0x401de420, 0x5c6b: 0x401de620, + 0x5c6c: 0x401de820, 0x5c6d: 0x401dea20, 0x5c6e: 0x401dec20, 0x5c6f: 0x401dee20, + 0x5c70: 0x401df020, 0x5c71: 0x401df220, 0x5c72: 0x401df420, 0x5c73: 0x401df620, + 0x5c74: 0x401df820, 0x5c75: 0x401dfa20, 0x5c76: 0x401dfc20, 0x5c77: 0x401dfe20, + 0x5c78: 0x401e0020, 0x5c79: 0x401e0220, 0x5c7a: 0x401e0620, 0x5c7b: 0x401e0820, + 0x5c7c: 0x401e0a20, 0x5c7d: 0x401e0c20, 0x5c7e: 0x401e0e20, 0x5c7f: 0x401e1020, + // Block 0x172, offset 0x5c80 + 0x5c80: 0x401e1220, 0x5c81: 0x401e1420, 0x5c82: 0x401e1620, 0x5c83: 0x401e1820, + 0x5c84: 0x401e1a20, 0x5c85: 0x401e1c20, 0x5c86: 0x401e1e20, 0x5c87: 0x401e2020, + 0x5c88: 0x401e2220, 0x5c89: 0x401e2420, 0x5c8a: 0x401e2620, 0x5c8b: 0x401e2820, + 0x5c8c: 0x401e2a20, 0x5c8d: 0x401e2c20, 0x5c8e: 0x401e2e20, 0x5c8f: 0x401e3020, + 0x5c90: 0x401e3220, 0x5c91: 0x401e3420, 0x5c92: 0x401e3620, 0x5c93: 0x401e3820, + 0x5c94: 0x401e3a20, 0x5c95: 0x401e3c20, 0x5c96: 0x401e3e20, 0x5c97: 0x401e4020, + 0x5c98: 0x401e4220, 0x5c99: 0x401e4420, 0x5c9a: 0x401e4620, 0x5c9b: 0x401e4820, + 0x5c9c: 0x401e4a20, 0x5c9d: 0x401e4c20, 0x5c9e: 0x401e4020, 0x5c9f: 0x401e4220, + 0x5ca0: 0x401e4220, 0x5ca1: 0x401e4220, 0x5ca2: 0x401e4220, 0x5ca3: 0x401e4220, + 0x5ca4: 0x401e4220, 0x5ca5: 0xad800000, 0x5ca6: 0xad800000, 0x5ca7: 0xa0100000, + 0x5ca8: 0xa0100000, 0x5ca9: 0xa0100000, 0x5caa: 0x401e4e20, 0x5cab: 0x401e5020, + 0x5cac: 0x401e5220, 0x5cad: 0xae200000, 0x5cae: 0xad800000, 0x5caf: 0xad800000, + 0x5cb0: 0xad800000, 0x5cb1: 0xad800000, 0x5cb2: 0xad800000, 0x5cb3: 0xa0000000, + 0x5cb4: 0xa0000000, 0x5cb5: 0xa0000000, 0x5cb6: 0xa0000000, 0x5cb7: 0xa0000000, + 0x5cb8: 0xa0000000, 0x5cb9: 0xa0000000, 0x5cba: 0xa0000000, 0x5cbb: 0xadc00000, + 0x5cbc: 0xadc00000, 0x5cbd: 0xadc00000, 0x5cbe: 0xadc00000, 0x5cbf: 0xadc00000, + // Block 0x173, offset 0x5cc0 + 0x5cc0: 0xadc00000, 0x5cc1: 0xadc00000, 0x5cc2: 0xadc00000, 0x5cc3: 0x401e5420, + 0x5cc4: 0x401e5620, 0x5cc5: 0xae600000, 0x5cc6: 0xae600000, 0x5cc7: 0xae600000, + 0x5cc8: 0xae600000, 0x5cc9: 0xae600000, 0x5cca: 0xadc00000, 0x5ccb: 0xadc00000, + 0x5ccc: 0x401e5820, 0x5ccd: 0x401e5a20, 0x5cce: 0x401e5c20, 0x5ccf: 0x401e5e20, + 0x5cd0: 0x401e6020, 0x5cd1: 0x401e6220, 0x5cd2: 0x401e6420, 0x5cd3: 0x401e6620, + 0x5cd4: 0x401e6820, 0x5cd5: 0x401e6a20, 0x5cd6: 0x401e6c20, 0x5cd7: 0x401e6e20, + 0x5cd8: 0x401e7020, 0x5cd9: 0x401e7220, 0x5cda: 0x401e7420, 0x5cdb: 0x401e7620, + 0x5cdc: 0x401e7820, 0x5cdd: 0x401e7a20, 0x5cde: 0x401e7c20, 0x5cdf: 0x401e7e20, + 0x5ce0: 0x401e8020, 0x5ce1: 0x401e8220, 0x5ce2: 0x401e8420, 0x5ce3: 0x401e8620, + 0x5ce4: 0x401e8820, 0x5ce5: 0x401e8a20, 0x5ce6: 0x401e8c20, 0x5ce7: 0x401e8e20, + 0x5ce8: 0x401e9020, 0x5ce9: 0x401e9220, 0x5cea: 0xae600000, 0x5ceb: 0xae600000, + 0x5cec: 0xae600000, 0x5ced: 0xae600000, 0x5cee: 0x401e9420, 0x5cef: 0x401e9620, + 0x5cf0: 0x401e9820, 0x5cf1: 0x401e9a20, 0x5cf2: 0x401e9c20, 0x5cf3: 0x401e9e20, + 0x5cf4: 0x401ea020, 0x5cf5: 0x401ea220, 0x5cf6: 0x401ea420, 0x5cf7: 0x401ea620, + 0x5cf8: 0x401ea820, 0x5cf9: 0x401eaa20, 0x5cfa: 0x401eac20, 0x5cfb: 0x401eaa20, + 0x5cfc: 0x401eac20, 0x5cfd: 0x401eaa20, 0x5cfe: 0x401eac20, 0x5cff: 0x401eaa20, + // Block 0x174, offset 0x5d00 + 0x5d00: 0x401eac20, 0x5d01: 0x401eae20, 0x5d02: 0x401eb020, 0x5d03: 0x401eb220, + 0x5d04: 0x401eb420, 0x5d05: 0x401eb620, 0x5d06: 0x401eb820, 0x5d07: 0x401eba20, + 0x5d08: 0x401ebc20, 0x5d09: 0x401ebe20, 0x5d0a: 0x401ec020, 0x5d0b: 0x401ec220, + 0x5d0c: 0x401ec420, 0x5d0d: 0x401ec620, 0x5d0e: 0x401ec820, 0x5d0f: 0x401eca20, + 0x5d10: 0x401ecc20, 0x5d11: 0x401ece20, 0x5d12: 0x401ed020, 0x5d13: 0x401ed220, + 0x5d14: 0x401ed420, 0x5d15: 0x401ed620, 0x5d16: 0x401ed820, 0x5d17: 0x401eda20, + 0x5d18: 0x401edc20, 0x5d19: 0x401ede20, 0x5d1a: 0x401ee020, 0x5d1b: 0x401ee220, + 0x5d1c: 0x401ee420, 0x5d1d: 0x401ee620, + // Block 0x175, offset 0x5d40 + 0x5d40: 0x401ee820, 0x5d41: 0x401eea20, 0x5d42: 0x401eec20, 0x5d43: 0x401eee20, + 0x5d44: 0x401ef020, 0x5d45: 0x401ef220, 0x5d46: 0x401ef420, 0x5d47: 0x401ef620, + 0x5d48: 0x401ef820, 0x5d49: 0x401efa20, 0x5d4a: 0x401efc20, 0x5d4b: 0x401efe20, + 0x5d4c: 0x401f0020, 0x5d4d: 0x401f0220, 0x5d4e: 0x401f0420, 0x5d4f: 0x401f0620, + 0x5d50: 0x401f0820, 0x5d51: 0x401f0a20, 0x5d52: 0x401f0c20, 0x5d53: 0x401f0e20, + 0x5d54: 0x401f1020, 0x5d55: 0x401f1220, 0x5d56: 0x401f1420, 0x5d57: 0x401f1620, + 0x5d58: 0x401f1820, 0x5d59: 0x401f1a20, 0x5d5a: 0x401f1c20, 0x5d5b: 0x401f1e20, + 0x5d5c: 0x401f2020, 0x5d5d: 0x401f2220, 0x5d5e: 0x401f2420, 0x5d5f: 0x401f2620, + 0x5d60: 0x401f2820, 0x5d61: 0x401f2a20, 0x5d62: 0x401f2c20, 0x5d63: 0x401f2e20, + 0x5d64: 0x401f3020, 0x5d65: 0x401f3220, 0x5d66: 0x401f3420, 0x5d67: 0x401f3620, + 0x5d68: 0x401f3820, 0x5d69: 0x401f3a20, 0x5d6a: 0x401f3c20, 0x5d6b: 0x401f3e20, + 0x5d6c: 0x401f4020, 0x5d6d: 0x401f4220, 0x5d6e: 0x401f4420, 0x5d6f: 0x401f4620, + 0x5d70: 0x401f4820, 0x5d71: 0x401f4a20, 0x5d72: 0x401f4c20, 0x5d73: 0x401f4e20, + 0x5d74: 0x401f5020, 0x5d75: 0x401f5220, 0x5d76: 0x401f5420, 0x5d77: 0x401f5620, + 0x5d78: 0x401f5820, 0x5d79: 0x401f5a20, 0x5d7a: 0x401f5c20, 0x5d7b: 0x401f5e20, + 0x5d7c: 0x401f6020, 0x5d7d: 0x401f6220, 0x5d7e: 0x401f6420, 0x5d7f: 0x401f6620, + // Block 0x176, offset 0x5d80 + 0x5d80: 0x401f6820, 0x5d81: 0x401f6a20, 0x5d82: 0xae600000, 0x5d83: 0xae600000, + 0x5d84: 0xae600000, 0x5d85: 0x401f6c20, + // Block 0x177, offset 0x5dc0 + 0x5dc0: 0x4019e220, 0x5dc1: 0x4019e420, 0x5dc2: 0x4019e620, 0x5dc3: 0x4019e820, + 0x5dc4: 0x4019ea20, 0x5dc5: 0x4019ec20, 0x5dc6: 0x4019ee20, 0x5dc7: 0x4019f020, + 0x5dc8: 0x4019f220, 0x5dc9: 0x4019f420, 0x5dca: 0x4019f620, 0x5dcb: 0x4019f820, + 0x5dcc: 0x4019fa20, 0x5dcd: 0x4019fc20, 0x5dce: 0x4019fe20, 0x5dcf: 0x401a0020, + 0x5dd0: 0x401a0220, 0x5dd1: 0x401a0420, 0x5dd2: 0x401a0620, 0x5dd3: 0x401a0820, + 0x5dd4: 0x401a0a20, 0x5dd5: 0x401a0c20, 0x5dd6: 0x401a0e20, 0x5dd7: 0x401a1020, + 0x5dd8: 0x401a1220, 0x5dd9: 0x401a1420, 0x5dda: 0x401a1620, 0x5ddb: 0x401a1820, + 0x5ddc: 0x401a1a20, 0x5ddd: 0x401a1c20, 0x5dde: 0x401a1e20, 0x5ddf: 0x401a2020, + 0x5de0: 0x401a2220, 0x5de1: 0x401a2420, 0x5de2: 0x401a2620, 0x5de3: 0x401a2820, + 0x5de4: 0x401a2a20, 0x5de5: 0x401a2c20, 0x5de6: 0x401a2e20, 0x5de7: 0x401a3020, + 0x5de8: 0x401a3220, 0x5de9: 0x401a3420, 0x5dea: 0x401a3620, 0x5deb: 0x401a3820, + 0x5dec: 0x401a3a20, 0x5ded: 0x401a3c20, 0x5dee: 0x401a3e20, 0x5def: 0x401a4020, + 0x5df0: 0x401a4220, 0x5df1: 0x401a4420, 0x5df2: 0x401a4620, 0x5df3: 0x401a4820, + 0x5df4: 0x401a4a20, 0x5df5: 0x401a4c20, 0x5df6: 0x401a4e20, 0x5df7: 0x401a5020, + 0x5df8: 0x401a5220, 0x5df9: 0x401a5420, 0x5dfa: 0x401a5620, 0x5dfb: 0x401a5820, + 0x5dfc: 0x401a5a20, 0x5dfd: 0x401a5c20, 0x5dfe: 0x401a5e20, 0x5dff: 0x401a6020, + // Block 0x178, offset 0x5e00 + 0x5e00: 0x401a6220, 0x5e01: 0x401a6420, 0x5e02: 0x401a6620, 0x5e03: 0x401a6820, + 0x5e04: 0x401a6a20, 0x5e05: 0x401a6c20, 0x5e06: 0x401a6e20, 0x5e07: 0x401a7020, + 0x5e08: 0x401a7220, 0x5e09: 0x401a7420, 0x5e0a: 0x401a7620, 0x5e0b: 0x401a7820, + 0x5e0c: 0x401a7a20, 0x5e0d: 0x401a7c20, 0x5e0e: 0x401a7e20, 0x5e0f: 0x401a8020, + 0x5e10: 0x401a8220, 0x5e11: 0x401a8420, 0x5e12: 0x401a8620, 0x5e13: 0x401a8820, + 0x5e14: 0x401a8a20, 0x5e15: 0x401a8c20, 0x5e16: 0x401a8e20, + 0x5e20: 0xe00002af, 0x5e21: 0xe00003ca, 0x5e22: 0xe00004a4, 0x5e23: 0xe0000576, + 0x5e24: 0xe000063d, 0x5e25: 0xe00006ed, 0x5e26: 0xe0000795, 0x5e27: 0xe000083e, + 0x5e28: 0xe00008e9, 0x5e29: 0x4029ba20, 0x5e2a: 0x4029bc20, 0x5e2b: 0x4029be20, + 0x5e2c: 0x4029c020, 0x5e2d: 0x4029c220, 0x5e2e: 0x4029c420, 0x5e2f: 0x4029c620, + 0x5e30: 0x4029c820, 0x5e31: 0x4029ca20, + // Block 0x179, offset 0x5e40 + 0x5e40: 0x002bde8b, 0x5e41: 0x002c0a8b, 0x5e42: 0x002c3a8b, 0x5e43: 0x002c628b, + 0x5e44: 0x002c988b, 0x5e45: 0x002d088b, 0x5e46: 0x002d228b, 0x5e47: 0x002d688b, + 0x5e48: 0x002d9a8b, 0x5e49: 0x002dcc8b, 0x5e4a: 0x002dfe8b, 0x5e4b: 0x002e228b, + 0x5e4c: 0x002e828b, 0x5e4d: 0x002e9e8b, 0x5e4e: 0x002ee28b, 0x5e4f: 0x002f2c8b, + 0x5e50: 0x002f568b, 0x5e51: 0x002f7a8b, 0x5e52: 0x002fe68b, 0x5e53: 0x00302c8b, + 0x5e54: 0x00306c8b, 0x5e55: 0x0030be8b, 0x5e56: 0x0030e28b, 0x5e57: 0x0030f68b, + 0x5e58: 0x0031008b, 0x5e59: 0x00312a8b, 0x5e5a: 0x002bde85, 0x5e5b: 0x002c0a85, + 0x5e5c: 0x002c3a85, 0x5e5d: 0x002c6285, 0x5e5e: 0x002c9885, 0x5e5f: 0x002d0885, + 0x5e60: 0x002d2285, 0x5e61: 0x002d6885, 0x5e62: 0x002d9a85, 0x5e63: 0x002dcc85, + 0x5e64: 0x002dfe85, 0x5e65: 0x002e2285, 0x5e66: 0x002e8285, 0x5e67: 0x002e9e85, + 0x5e68: 0x002ee285, 0x5e69: 0x002f2c85, 0x5e6a: 0x002f5685, 0x5e6b: 0x002f7a85, + 0x5e6c: 0x002fe685, 0x5e6d: 0x00302c85, 0x5e6e: 0x00306c85, 0x5e6f: 0x0030be85, + 0x5e70: 0x0030e285, 0x5e71: 0x0030f685, 0x5e72: 0x00310085, 0x5e73: 0x00312a85, + 0x5e74: 0x002bde8b, 0x5e75: 0x002c0a8b, 0x5e76: 0x002c3a8b, 0x5e77: 0x002c628b, + 0x5e78: 0x002c988b, 0x5e79: 0x002d088b, 0x5e7a: 0x002d228b, 0x5e7b: 0x002d688b, + 0x5e7c: 0x002d9a8b, 0x5e7d: 0x002dcc8b, 0x5e7e: 0x002dfe8b, 0x5e7f: 0x002e228b, + // Block 0x17a, offset 0x5e80 + 0x5e80: 0x002e828b, 0x5e81: 0x002e9e8b, 0x5e82: 0x002ee28b, 0x5e83: 0x002f2c8b, + 0x5e84: 0x002f568b, 0x5e85: 0x002f7a8b, 0x5e86: 0x002fe68b, 0x5e87: 0x00302c8b, + 0x5e88: 0x00306c8b, 0x5e89: 0x0030be8b, 0x5e8a: 0x0030e28b, 0x5e8b: 0x0030f68b, + 0x5e8c: 0x0031008b, 0x5e8d: 0x00312a8b, 0x5e8e: 0x002bde85, 0x5e8f: 0x002c0a85, + 0x5e90: 0x002c3a85, 0x5e91: 0x002c6285, 0x5e92: 0x002c9885, 0x5e93: 0x002d0885, + 0x5e94: 0x002d2285, 0x5e96: 0x002d9a85, 0x5e97: 0x002dcc85, + 0x5e98: 0x002dfe85, 0x5e99: 0x002e2285, 0x5e9a: 0x002e8285, 0x5e9b: 0x002e9e85, + 0x5e9c: 0x002ee285, 0x5e9d: 0x002f2c85, 0x5e9e: 0x002f5685, 0x5e9f: 0x002f7a85, + 0x5ea0: 0x002fe685, 0x5ea1: 0x00302c85, 0x5ea2: 0x00306c85, 0x5ea3: 0x0030be85, + 0x5ea4: 0x0030e285, 0x5ea5: 0x0030f685, 0x5ea6: 0x00310085, 0x5ea7: 0x00312a85, + 0x5ea8: 0x002bde8b, 0x5ea9: 0x002c0a8b, 0x5eaa: 0x002c3a8b, 0x5eab: 0x002c628b, + 0x5eac: 0x002c988b, 0x5ead: 0x002d088b, 0x5eae: 0x002d228b, 0x5eaf: 0x002d688b, + 0x5eb0: 0x002d9a8b, 0x5eb1: 0x002dcc8b, 0x5eb2: 0x002dfe8b, 0x5eb3: 0x002e228b, + 0x5eb4: 0x002e828b, 0x5eb5: 0x002e9e8b, 0x5eb6: 0x002ee28b, 0x5eb7: 0x002f2c8b, + 0x5eb8: 0x002f568b, 0x5eb9: 0x002f7a8b, 0x5eba: 0x002fe68b, 0x5ebb: 0x00302c8b, + 0x5ebc: 0x00306c8b, 0x5ebd: 0x0030be8b, 0x5ebe: 0x0030e28b, 0x5ebf: 0x0030f68b, + // Block 0x17b, offset 0x5ec0 + 0x5ec0: 0x0031008b, 0x5ec1: 0x00312a8b, 0x5ec2: 0x002bde85, 0x5ec3: 0x002c0a85, + 0x5ec4: 0x002c3a85, 0x5ec5: 0x002c6285, 0x5ec6: 0x002c9885, 0x5ec7: 0x002d0885, + 0x5ec8: 0x002d2285, 0x5ec9: 0x002d6885, 0x5eca: 0x002d9a85, 0x5ecb: 0x002dcc85, + 0x5ecc: 0x002dfe85, 0x5ecd: 0x002e2285, 0x5ece: 0x002e8285, 0x5ecf: 0x002e9e85, + 0x5ed0: 0x002ee285, 0x5ed1: 0x002f2c85, 0x5ed2: 0x002f5685, 0x5ed3: 0x002f7a85, + 0x5ed4: 0x002fe685, 0x5ed5: 0x00302c85, 0x5ed6: 0x00306c85, 0x5ed7: 0x0030be85, + 0x5ed8: 0x0030e285, 0x5ed9: 0x0030f685, 0x5eda: 0x00310085, 0x5edb: 0x00312a85, + 0x5edc: 0x002bde8b, 0x5ede: 0x002c3a8b, 0x5edf: 0x002c628b, + 0x5ee2: 0x002d228b, + 0x5ee5: 0x002dcc8b, 0x5ee6: 0x002dfe8b, + 0x5ee9: 0x002e9e8b, 0x5eea: 0x002ee28b, 0x5eeb: 0x002f2c8b, + 0x5eec: 0x002f568b, 0x5eee: 0x002fe68b, 0x5eef: 0x00302c8b, + 0x5ef0: 0x00306c8b, 0x5ef1: 0x0030be8b, 0x5ef2: 0x0030e28b, 0x5ef3: 0x0030f68b, + 0x5ef4: 0x0031008b, 0x5ef5: 0x00312a8b, 0x5ef6: 0x002bde85, 0x5ef7: 0x002c0a85, + 0x5ef8: 0x002c3a85, 0x5ef9: 0x002c6285, 0x5efb: 0x002d0885, + 0x5efd: 0x002d6885, 0x5efe: 0x002d9a85, 0x5eff: 0x002dcc85, + // Block 0x17c, offset 0x5f00 + 0x5f00: 0x002dfe85, 0x5f01: 0x002e2285, 0x5f02: 0x002e8285, 0x5f03: 0x002e9e85, + 0x5f05: 0x002f2c85, 0x5f06: 0x002f5685, 0x5f07: 0x002f7a85, + 0x5f08: 0x002fe685, 0x5f09: 0x00302c85, 0x5f0a: 0x00306c85, 0x5f0b: 0x0030be85, + 0x5f0c: 0x0030e285, 0x5f0d: 0x0030f685, 0x5f0e: 0x00310085, 0x5f0f: 0x00312a85, + 0x5f10: 0x002bde8b, 0x5f11: 0x002c0a8b, 0x5f12: 0x002c3a8b, 0x5f13: 0x002c628b, + 0x5f14: 0x002c988b, 0x5f15: 0x002d088b, 0x5f16: 0x002d228b, 0x5f17: 0x002d688b, + 0x5f18: 0x002d9a8b, 0x5f19: 0x002dcc8b, 0x5f1a: 0x002dfe8b, 0x5f1b: 0x002e228b, + 0x5f1c: 0x002e828b, 0x5f1d: 0x002e9e8b, 0x5f1e: 0x002ee28b, 0x5f1f: 0x002f2c8b, + 0x5f20: 0x002f568b, 0x5f21: 0x002f7a8b, 0x5f22: 0x002fe68b, 0x5f23: 0x00302c8b, + 0x5f24: 0x00306c8b, 0x5f25: 0x0030be8b, 0x5f26: 0x0030e28b, 0x5f27: 0x0030f68b, + 0x5f28: 0x0031008b, 0x5f29: 0x00312a8b, 0x5f2a: 0x002bde85, 0x5f2b: 0x002c0a85, + 0x5f2c: 0x002c3a85, 0x5f2d: 0x002c6285, 0x5f2e: 0x002c9885, 0x5f2f: 0x002d0885, + 0x5f30: 0x002d2285, 0x5f31: 0x002d6885, 0x5f32: 0x002d9a85, 0x5f33: 0x002dcc85, + 0x5f34: 0x002dfe85, 0x5f35: 0x002e2285, 0x5f36: 0x002e8285, 0x5f37: 0x002e9e85, + 0x5f38: 0x002ee285, 0x5f39: 0x002f2c85, 0x5f3a: 0x002f5685, 0x5f3b: 0x002f7a85, + 0x5f3c: 0x002fe685, 0x5f3d: 0x00302c85, 0x5f3e: 0x00306c85, 0x5f3f: 0x0030be85, + // Block 0x17d, offset 0x5f40 + 0x5f40: 0x0030e285, 0x5f41: 0x0030f685, 0x5f42: 0x00310085, 0x5f43: 0x00312a85, + 0x5f44: 0x002bde8b, 0x5f45: 0x002c0a8b, 0x5f47: 0x002c628b, + 0x5f48: 0x002c988b, 0x5f49: 0x002d088b, 0x5f4a: 0x002d228b, + 0x5f4d: 0x002dcc8b, 0x5f4e: 0x002dfe8b, 0x5f4f: 0x002e228b, + 0x5f50: 0x002e828b, 0x5f51: 0x002e9e8b, 0x5f52: 0x002ee28b, 0x5f53: 0x002f2c8b, + 0x5f54: 0x002f568b, 0x5f56: 0x002fe68b, 0x5f57: 0x00302c8b, + 0x5f58: 0x00306c8b, 0x5f59: 0x0030be8b, 0x5f5a: 0x0030e28b, 0x5f5b: 0x0030f68b, + 0x5f5c: 0x0031008b, 0x5f5e: 0x002bde85, 0x5f5f: 0x002c0a85, + 0x5f60: 0x002c3a85, 0x5f61: 0x002c6285, 0x5f62: 0x002c9885, 0x5f63: 0x002d0885, + 0x5f64: 0x002d2285, 0x5f65: 0x002d6885, 0x5f66: 0x002d9a85, 0x5f67: 0x002dcc85, + 0x5f68: 0x002dfe85, 0x5f69: 0x002e2285, 0x5f6a: 0x002e8285, 0x5f6b: 0x002e9e85, + 0x5f6c: 0x002ee285, 0x5f6d: 0x002f2c85, 0x5f6e: 0x002f5685, 0x5f6f: 0x002f7a85, + 0x5f70: 0x002fe685, 0x5f71: 0x00302c85, 0x5f72: 0x00306c85, 0x5f73: 0x0030be85, + 0x5f74: 0x0030e285, 0x5f75: 0x0030f685, 0x5f76: 0x00310085, 0x5f77: 0x00312a85, + 0x5f78: 0x002bde8b, 0x5f79: 0x002c0a8b, 0x5f7b: 0x002c628b, + 0x5f7c: 0x002c988b, 0x5f7d: 0x002d088b, 0x5f7e: 0x002d228b, + // Block 0x17e, offset 0x5f80 + 0x5f80: 0x002d9a8b, 0x5f81: 0x002dcc8b, 0x5f82: 0x002dfe8b, 0x5f83: 0x002e228b, + 0x5f84: 0x002e828b, 0x5f86: 0x002ee28b, + 0x5f8a: 0x002fe68b, 0x5f8b: 0x00302c8b, + 0x5f8c: 0x00306c8b, 0x5f8d: 0x0030be8b, 0x5f8e: 0x0030e28b, 0x5f8f: 0x0030f68b, + 0x5f90: 0x0031008b, 0x5f92: 0x002bde85, 0x5f93: 0x002c0a85, + 0x5f94: 0x002c3a85, 0x5f95: 0x002c6285, 0x5f96: 0x002c9885, 0x5f97: 0x002d0885, + 0x5f98: 0x002d2285, 0x5f99: 0x002d6885, 0x5f9a: 0x002d9a85, 0x5f9b: 0x002dcc85, + 0x5f9c: 0x002dfe85, 0x5f9d: 0x002e2285, 0x5f9e: 0x002e8285, 0x5f9f: 0x002e9e85, + 0x5fa0: 0x002ee285, 0x5fa1: 0x002f2c85, 0x5fa2: 0x002f5685, 0x5fa3: 0x002f7a85, + 0x5fa4: 0x002fe685, 0x5fa5: 0x00302c85, 0x5fa6: 0x00306c85, 0x5fa7: 0x0030be85, + 0x5fa8: 0x0030e285, 0x5fa9: 0x0030f685, 0x5faa: 0x00310085, 0x5fab: 0x00312a85, + 0x5fac: 0x002bde8b, 0x5fad: 0x002c0a8b, 0x5fae: 0x002c3a8b, 0x5faf: 0x002c628b, + 0x5fb0: 0x002c988b, 0x5fb1: 0x002d088b, 0x5fb2: 0x002d228b, 0x5fb3: 0x002d688b, + 0x5fb4: 0x002d9a8b, 0x5fb5: 0x002dcc8b, 0x5fb6: 0x002dfe8b, 0x5fb7: 0x002e228b, + 0x5fb8: 0x002e828b, 0x5fb9: 0x002e9e8b, 0x5fba: 0x002ee28b, 0x5fbb: 0x002f2c8b, + 0x5fbc: 0x002f568b, 0x5fbd: 0x002f7a8b, 0x5fbe: 0x002fe68b, 0x5fbf: 0x00302c8b, + // Block 0x17f, offset 0x5fc0 + 0x5fc0: 0x00306c8b, 0x5fc1: 0x0030be8b, 0x5fc2: 0x0030e28b, 0x5fc3: 0x0030f68b, + 0x5fc4: 0x0031008b, 0x5fc5: 0x00312a8b, 0x5fc6: 0x002bde85, 0x5fc7: 0x002c0a85, + 0x5fc8: 0x002c3a85, 0x5fc9: 0x002c6285, 0x5fca: 0x002c9885, 0x5fcb: 0x002d0885, + 0x5fcc: 0x002d2285, 0x5fcd: 0x002d6885, 0x5fce: 0x002d9a85, 0x5fcf: 0x002dcc85, + 0x5fd0: 0x002dfe85, 0x5fd1: 0x002e2285, 0x5fd2: 0x002e8285, 0x5fd3: 0x002e9e85, + 0x5fd4: 0x002ee285, 0x5fd5: 0x002f2c85, 0x5fd6: 0x002f5685, 0x5fd7: 0x002f7a85, + 0x5fd8: 0x002fe685, 0x5fd9: 0x00302c85, 0x5fda: 0x00306c85, 0x5fdb: 0x0030be85, + 0x5fdc: 0x0030e285, 0x5fdd: 0x0030f685, 0x5fde: 0x00310085, 0x5fdf: 0x00312a85, + 0x5fe0: 0x002bde8b, 0x5fe1: 0x002c0a8b, 0x5fe2: 0x002c3a8b, 0x5fe3: 0x002c628b, + 0x5fe4: 0x002c988b, 0x5fe5: 0x002d088b, 0x5fe6: 0x002d228b, 0x5fe7: 0x002d688b, + 0x5fe8: 0x002d9a8b, 0x5fe9: 0x002dcc8b, 0x5fea: 0x002dfe8b, 0x5feb: 0x002e228b, + 0x5fec: 0x002e828b, 0x5fed: 0x002e9e8b, 0x5fee: 0x002ee28b, 0x5fef: 0x002f2c8b, + 0x5ff0: 0x002f568b, 0x5ff1: 0x002f7a8b, 0x5ff2: 0x002fe68b, 0x5ff3: 0x00302c8b, + 0x5ff4: 0x00306c8b, 0x5ff5: 0x0030be8b, 0x5ff6: 0x0030e28b, 0x5ff7: 0x0030f68b, + 0x5ff8: 0x0031008b, 0x5ff9: 0x00312a8b, 0x5ffa: 0x002bde85, 0x5ffb: 0x002c0a85, + 0x5ffc: 0x002c3a85, 0x5ffd: 0x002c6285, 0x5ffe: 0x002c9885, 0x5fff: 0x002d0885, + // Block 0x180, offset 0x6000 + 0x6000: 0x002d2285, 0x6001: 0x002d6885, 0x6002: 0x002d9a85, 0x6003: 0x002dcc85, + 0x6004: 0x002dfe85, 0x6005: 0x002e2285, 0x6006: 0x002e8285, 0x6007: 0x002e9e85, + 0x6008: 0x002ee285, 0x6009: 0x002f2c85, 0x600a: 0x002f5685, 0x600b: 0x002f7a85, + 0x600c: 0x002fe685, 0x600d: 0x00302c85, 0x600e: 0x00306c85, 0x600f: 0x0030be85, + 0x6010: 0x0030e285, 0x6011: 0x0030f685, 0x6012: 0x00310085, 0x6013: 0x00312a85, + 0x6014: 0x002bde8b, 0x6015: 0x002c0a8b, 0x6016: 0x002c3a8b, 0x6017: 0x002c628b, + 0x6018: 0x002c988b, 0x6019: 0x002d088b, 0x601a: 0x002d228b, 0x601b: 0x002d688b, + 0x601c: 0x002d9a8b, 0x601d: 0x002dcc8b, 0x601e: 0x002dfe8b, 0x601f: 0x002e228b, + 0x6020: 0x002e828b, 0x6021: 0x002e9e8b, 0x6022: 0x002ee28b, 0x6023: 0x002f2c8b, + 0x6024: 0x002f568b, 0x6025: 0x002f7a8b, 0x6026: 0x002fe68b, 0x6027: 0x00302c8b, + 0x6028: 0x00306c8b, 0x6029: 0x0030be8b, 0x602a: 0x0030e28b, 0x602b: 0x0030f68b, + 0x602c: 0x0031008b, 0x602d: 0x00312a8b, 0x602e: 0x002bde85, 0x602f: 0x002c0a85, + 0x6030: 0x002c3a85, 0x6031: 0x002c6285, 0x6032: 0x002c9885, 0x6033: 0x002d0885, + 0x6034: 0x002d2285, 0x6035: 0x002d6885, 0x6036: 0x002d9a85, 0x6037: 0x002dcc85, + 0x6038: 0x002dfe85, 0x6039: 0x002e2285, 0x603a: 0x002e8285, 0x603b: 0x002e9e85, + 0x603c: 0x002ee285, 0x603d: 0x002f2c85, 0x603e: 0x002f5685, 0x603f: 0x002f7a85, + // Block 0x181, offset 0x6040 + 0x6040: 0x002fe685, 0x6041: 0x00302c85, 0x6042: 0x00306c85, 0x6043: 0x0030be85, + 0x6044: 0x0030e285, 0x6045: 0x0030f685, 0x6046: 0x00310085, 0x6047: 0x00312a85, + 0x6048: 0x002bde8b, 0x6049: 0x002c0a8b, 0x604a: 0x002c3a8b, 0x604b: 0x002c628b, + 0x604c: 0x002c988b, 0x604d: 0x002d088b, 0x604e: 0x002d228b, 0x604f: 0x002d688b, + 0x6050: 0x002d9a8b, 0x6051: 0x002dcc8b, 0x6052: 0x002dfe8b, 0x6053: 0x002e228b, + 0x6054: 0x002e828b, 0x6055: 0x002e9e8b, 0x6056: 0x002ee28b, 0x6057: 0x002f2c8b, + 0x6058: 0x002f568b, 0x6059: 0x002f7a8b, 0x605a: 0x002fe68b, 0x605b: 0x00302c8b, + 0x605c: 0x00306c8b, 0x605d: 0x0030be8b, 0x605e: 0x0030e28b, 0x605f: 0x0030f68b, + 0x6060: 0x0031008b, 0x6061: 0x00312a8b, 0x6062: 0x002bde85, 0x6063: 0x002c0a85, + 0x6064: 0x002c3a85, 0x6065: 0x002c6285, 0x6066: 0x002c9885, 0x6067: 0x002d0885, + 0x6068: 0x002d2285, 0x6069: 0x002d6885, 0x606a: 0x002d9a85, 0x606b: 0x002dcc85, + 0x606c: 0x002dfe85, 0x606d: 0x002e2285, 0x606e: 0x002e8285, 0x606f: 0x002e9e85, + 0x6070: 0x002ee285, 0x6071: 0x002f2c85, 0x6072: 0x002f5685, 0x6073: 0x002f7a85, + 0x6074: 0x002fe685, 0x6075: 0x00302c85, 0x6076: 0x00306c85, 0x6077: 0x0030be85, + 0x6078: 0x0030e285, 0x6079: 0x0030f685, 0x607a: 0x00310085, 0x607b: 0x00312a85, + 0x607c: 0x002bde8b, 0x607d: 0x002c0a8b, 0x607e: 0x002c3a8b, 0x607f: 0x002c628b, + // Block 0x182, offset 0x6080 + 0x6080: 0x002c988b, 0x6081: 0x002d088b, 0x6082: 0x002d228b, 0x6083: 0x002d688b, + 0x6084: 0x002d9a8b, 0x6085: 0x002dcc8b, 0x6086: 0x002dfe8b, 0x6087: 0x002e228b, + 0x6088: 0x002e828b, 0x6089: 0x002e9e8b, 0x608a: 0x002ee28b, 0x608b: 0x002f2c8b, + 0x608c: 0x002f568b, 0x608d: 0x002f7a8b, 0x608e: 0x002fe68b, 0x608f: 0x00302c8b, + 0x6090: 0x00306c8b, 0x6091: 0x0030be8b, 0x6092: 0x0030e28b, 0x6093: 0x0030f68b, + 0x6094: 0x0031008b, 0x6095: 0x00312a8b, 0x6096: 0x002bde85, 0x6097: 0x002c0a85, + 0x6098: 0x002c3a85, 0x6099: 0x002c6285, 0x609a: 0x002c9885, 0x609b: 0x002d0885, + 0x609c: 0x002d2285, 0x609d: 0x002d6885, 0x609e: 0x002d9a85, 0x609f: 0x002dcc85, + 0x60a0: 0x002dfe85, 0x60a1: 0x002e2285, 0x60a2: 0x002e8285, 0x60a3: 0x002e9e85, + 0x60a4: 0x002ee285, 0x60a5: 0x002f2c85, 0x60a6: 0x002f5685, 0x60a7: 0x002f7a85, + 0x60a8: 0x002fe685, 0x60a9: 0x00302c85, 0x60aa: 0x00306c85, 0x60ab: 0x0030be85, + 0x60ac: 0x0030e285, 0x60ad: 0x0030f685, 0x60ae: 0x00310085, 0x60af: 0x00312a85, + 0x60b0: 0x002bde8b, 0x60b1: 0x002c0a8b, 0x60b2: 0x002c3a8b, 0x60b3: 0x002c628b, + 0x60b4: 0x002c988b, 0x60b5: 0x002d088b, 0x60b6: 0x002d228b, 0x60b7: 0x002d688b, + 0x60b8: 0x002d9a8b, 0x60b9: 0x002dcc8b, 0x60ba: 0x002dfe8b, 0x60bb: 0x002e228b, + 0x60bc: 0x002e828b, 0x60bd: 0x002e9e8b, 0x60be: 0x002ee28b, 0x60bf: 0x002f2c8b, + // Block 0x183, offset 0x60c0 + 0x60c0: 0x002f568b, 0x60c1: 0x002f7a8b, 0x60c2: 0x002fe68b, 0x60c3: 0x00302c8b, + 0x60c4: 0x00306c8b, 0x60c5: 0x0030be8b, 0x60c6: 0x0030e28b, 0x60c7: 0x0030f68b, + 0x60c8: 0x0031008b, 0x60c9: 0x00312a8b, 0x60ca: 0x002bde85, 0x60cb: 0x002c0a85, + 0x60cc: 0x002c3a85, 0x60cd: 0x002c6285, 0x60ce: 0x002c9885, 0x60cf: 0x002d0885, + 0x60d0: 0x002d2285, 0x60d1: 0x002d6885, 0x60d2: 0x002d9a85, 0x60d3: 0x002dcc85, + 0x60d4: 0x002dfe85, 0x60d5: 0x002e2285, 0x60d6: 0x002e8285, 0x60d7: 0x002e9e85, + 0x60d8: 0x002ee285, 0x60d9: 0x002f2c85, 0x60da: 0x002f5685, 0x60db: 0x002f7a85, + 0x60dc: 0x002fe685, 0x60dd: 0x00302c85, 0x60de: 0x00306c85, 0x60df: 0x0030be85, + 0x60e0: 0x0030e285, 0x60e1: 0x0030f685, 0x60e2: 0x00310085, 0x60e3: 0x00312a85, + 0x60e4: 0x002da285, 0x60e5: 0x002dd485, + 0x60e8: 0x0032528b, 0x60e9: 0x0032548b, 0x60ea: 0x0032568b, 0x60eb: 0x00325a8b, + 0x60ec: 0x00325c8b, 0x60ed: 0x0032648b, 0x60ee: 0x0032688b, 0x60ef: 0x00326a8b, + 0x60f0: 0x00326c8b, 0x60f1: 0x0032708b, 0x60f2: 0x0032728b, 0x60f3: 0x0032768b, + 0x60f4: 0x0032788b, 0x60f5: 0x00327a8b, 0x60f6: 0x00327c8b, 0x60f7: 0x00327e8b, + 0x60f8: 0x0032888b, 0x60f9: 0x00326a8b, 0x60fa: 0x00328e8b, 0x60fb: 0x0032968b, + 0x60fc: 0x0032988b, 0x60fd: 0x00329a8b, 0x60fe: 0x00329c8b, 0x60ff: 0x00329e8b, + // Block 0x184, offset 0x6100 + 0x6100: 0x0032a28b, 0x6101: 0x00092485, 0x6102: 0x00325285, 0x6103: 0x00325485, + 0x6104: 0x00325685, 0x6105: 0x00325a85, 0x6106: 0x00325c85, 0x6107: 0x00326485, + 0x6108: 0x00326885, 0x6109: 0x00326a85, 0x610a: 0x00326c85, 0x610b: 0x00327085, + 0x610c: 0x00327285, 0x610d: 0x00327685, 0x610e: 0x00327885, 0x610f: 0x00327a85, + 0x6110: 0x00327c85, 0x6111: 0x00327e85, 0x6112: 0x00328885, 0x6113: 0x00328e85, + 0x6114: 0x00328e85, 0x6115: 0x00329685, 0x6116: 0x00329885, 0x6117: 0x00329a85, + 0x6118: 0x00329c85, 0x6119: 0x00329e85, 0x611a: 0x0032a285, 0x611b: 0x00091c85, + 0x611c: 0x00325c85, 0x611d: 0x00326a85, 0x611e: 0x00327085, 0x611f: 0x00329a85, + 0x6120: 0x00328885, 0x6121: 0x00327e85, 0x6122: 0x0032528b, 0x6123: 0x0032548b, + 0x6124: 0x0032568b, 0x6125: 0x00325a8b, 0x6126: 0x00325c8b, 0x6127: 0x0032648b, + 0x6128: 0x0032688b, 0x6129: 0x00326a8b, 0x612a: 0x00326c8b, 0x612b: 0x0032708b, + 0x612c: 0x0032728b, 0x612d: 0x0032768b, 0x612e: 0x0032788b, 0x612f: 0x00327a8b, + 0x6130: 0x00327c8b, 0x6131: 0x00327e8b, 0x6132: 0x0032888b, 0x6133: 0x00326a8b, + 0x6134: 0x00328e8b, 0x6135: 0x0032968b, 0x6136: 0x0032988b, 0x6137: 0x00329a8b, + 0x6138: 0x00329c8b, 0x6139: 0x00329e8b, 0x613a: 0x0032a28b, 0x613b: 0x00092485, + 0x613c: 0x00325285, 0x613d: 0x00325485, 0x613e: 0x00325685, 0x613f: 0x00325a85, + // Block 0x185, offset 0x6140 + 0x6140: 0x00325c85, 0x6141: 0x00326485, 0x6142: 0x00326885, 0x6143: 0x00326a85, + 0x6144: 0x00326c85, 0x6145: 0x00327085, 0x6146: 0x00327285, 0x6147: 0x00327685, + 0x6148: 0x00327885, 0x6149: 0x00327a85, 0x614a: 0x00327c85, 0x614b: 0x00327e85, + 0x614c: 0x00328885, 0x614d: 0x00328e85, 0x614e: 0x00328e85, 0x614f: 0x00329685, + 0x6150: 0x00329885, 0x6151: 0x00329a85, 0x6152: 0x00329c85, 0x6153: 0x00329e85, + 0x6154: 0x0032a285, 0x6155: 0x00091c85, 0x6156: 0x00325c85, 0x6157: 0x00326a85, + 0x6158: 0x00327085, 0x6159: 0x00329a85, 0x615a: 0x00328885, 0x615b: 0x00327e85, + 0x615c: 0x0032528b, 0x615d: 0x0032548b, 0x615e: 0x0032568b, 0x615f: 0x00325a8b, + 0x6160: 0x00325c8b, 0x6161: 0x0032648b, 0x6162: 0x0032688b, 0x6163: 0x00326a8b, + 0x6164: 0x00326c8b, 0x6165: 0x0032708b, 0x6166: 0x0032728b, 0x6167: 0x0032768b, + 0x6168: 0x0032788b, 0x6169: 0x00327a8b, 0x616a: 0x00327c8b, 0x616b: 0x00327e8b, + 0x616c: 0x0032888b, 0x616d: 0x00326a8b, 0x616e: 0x00328e8b, 0x616f: 0x0032968b, + 0x6170: 0x0032988b, 0x6171: 0x00329a8b, 0x6172: 0x00329c8b, 0x6173: 0x00329e8b, + 0x6174: 0x0032a28b, 0x6175: 0x00092485, 0x6176: 0x00325285, 0x6177: 0x00325485, + 0x6178: 0x00325685, 0x6179: 0x00325a85, 0x617a: 0x00325c85, 0x617b: 0x00326485, + 0x617c: 0x00326885, 0x617d: 0x00326a85, 0x617e: 0x00326c85, 0x617f: 0x00327085, + // Block 0x186, offset 0x6180 + 0x6180: 0x00327285, 0x6181: 0x00327685, 0x6182: 0x00327885, 0x6183: 0x00327a85, + 0x6184: 0x00327c85, 0x6185: 0x00327e85, 0x6186: 0x00328885, 0x6187: 0x00328e85, + 0x6188: 0x00328e85, 0x6189: 0x00329685, 0x618a: 0x00329885, 0x618b: 0x00329a85, + 0x618c: 0x00329c85, 0x618d: 0x00329e85, 0x618e: 0x0032a285, 0x618f: 0x00091c85, + 0x6190: 0x00325c85, 0x6191: 0x00326a85, 0x6192: 0x00327085, 0x6193: 0x00329a85, + 0x6194: 0x00328885, 0x6195: 0x00327e85, 0x6196: 0x0032528b, 0x6197: 0x0032548b, + 0x6198: 0x0032568b, 0x6199: 0x00325a8b, 0x619a: 0x00325c8b, 0x619b: 0x0032648b, + 0x619c: 0x0032688b, 0x619d: 0x00326a8b, 0x619e: 0x00326c8b, 0x619f: 0x0032708b, + 0x61a0: 0x0032728b, 0x61a1: 0x0032768b, 0x61a2: 0x0032788b, 0x61a3: 0x00327a8b, + 0x61a4: 0x00327c8b, 0x61a5: 0x00327e8b, 0x61a6: 0x0032888b, 0x61a7: 0x00326a8b, + 0x61a8: 0x00328e8b, 0x61a9: 0x0032968b, 0x61aa: 0x0032988b, 0x61ab: 0x00329a8b, + 0x61ac: 0x00329c8b, 0x61ad: 0x00329e8b, 0x61ae: 0x0032a28b, 0x61af: 0x00092485, + 0x61b0: 0x00325285, 0x61b1: 0x00325485, 0x61b2: 0x00325685, 0x61b3: 0x00325a85, + 0x61b4: 0x00325c85, 0x61b5: 0x00326485, 0x61b6: 0x00326885, 0x61b7: 0x00326a85, + 0x61b8: 0x00326c85, 0x61b9: 0x00327085, 0x61ba: 0x00327285, 0x61bb: 0x00327685, + 0x61bc: 0x00327885, 0x61bd: 0x00327a85, 0x61be: 0x00327c85, 0x61bf: 0x00327e85, + // Block 0x187, offset 0x61c0 + 0x61c0: 0x00328885, 0x61c1: 0x00328e85, 0x61c2: 0x00328e85, 0x61c3: 0x00329685, + 0x61c4: 0x00329885, 0x61c5: 0x00329a85, 0x61c6: 0x00329c85, 0x61c7: 0x00329e85, + 0x61c8: 0x0032a285, 0x61c9: 0x00091c85, 0x61ca: 0x00325c85, 0x61cb: 0x00326a85, + 0x61cc: 0x00327085, 0x61cd: 0x00329a85, 0x61ce: 0x00328885, 0x61cf: 0x00327e85, + 0x61d0: 0x0032528b, 0x61d1: 0x0032548b, 0x61d2: 0x0032568b, 0x61d3: 0x00325a8b, + 0x61d4: 0x00325c8b, 0x61d5: 0x0032648b, 0x61d6: 0x0032688b, 0x61d7: 0x00326a8b, + 0x61d8: 0x00326c8b, 0x61d9: 0x0032708b, 0x61da: 0x0032728b, 0x61db: 0x0032768b, + 0x61dc: 0x0032788b, 0x61dd: 0x00327a8b, 0x61de: 0x00327c8b, 0x61df: 0x00327e8b, + 0x61e0: 0x0032888b, 0x61e1: 0x00326a8b, 0x61e2: 0x00328e8b, 0x61e3: 0x0032968b, + 0x61e4: 0x0032988b, 0x61e5: 0x00329a8b, 0x61e6: 0x00329c8b, 0x61e7: 0x00329e8b, + 0x61e8: 0x0032a28b, 0x61e9: 0x00092485, 0x61ea: 0x00325285, 0x61eb: 0x00325485, + 0x61ec: 0x00325685, 0x61ed: 0x00325a85, 0x61ee: 0x00325c85, 0x61ef: 0x00326485, + 0x61f0: 0x00326885, 0x61f1: 0x00326a85, 0x61f2: 0x00326c85, 0x61f3: 0x00327085, + 0x61f4: 0x00327285, 0x61f5: 0x00327685, 0x61f6: 0x00327885, 0x61f7: 0x00327a85, + 0x61f8: 0x00327c85, 0x61f9: 0x00327e85, 0x61fa: 0x00328885, 0x61fb: 0x00328e85, + 0x61fc: 0x00328e85, 0x61fd: 0x00329685, 0x61fe: 0x00329885, 0x61ff: 0x00329a85, + // Block 0x188, offset 0x6200 + 0x6200: 0x00329c85, 0x6201: 0x00329e85, 0x6202: 0x0032a285, 0x6203: 0x00091c85, + 0x6204: 0x00325c85, 0x6205: 0x00326a85, 0x6206: 0x00327085, 0x6207: 0x00329a85, + 0x6208: 0x00328885, 0x6209: 0x00327e85, 0x620a: 0x00325e8b, 0x620b: 0x00325e85, + 0x620e: 0x0029cc85, 0x620f: 0x0029ce85, + 0x6210: 0x0029d085, 0x6211: 0x0029d285, 0x6212: 0x0029d485, 0x6213: 0x0029d685, + 0x6214: 0x0029d885, 0x6215: 0x0029da85, 0x6216: 0x0029dc85, 0x6217: 0x0029de85, + 0x6218: 0x0029cc85, 0x6219: 0x0029ce85, 0x621a: 0x0029d085, 0x621b: 0x0029d285, + 0x621c: 0x0029d485, 0x621d: 0x0029d685, 0x621e: 0x0029d885, 0x621f: 0x0029da85, + 0x6220: 0x0029dc85, 0x6221: 0x0029de85, 0x6222: 0x0029cc85, 0x6223: 0x0029ce85, + 0x6224: 0x0029d085, 0x6225: 0x0029d285, 0x6226: 0x0029d485, 0x6227: 0x0029d685, + 0x6228: 0x0029d885, 0x6229: 0x0029da85, 0x622a: 0x0029dc85, 0x622b: 0x0029de85, + 0x622c: 0x0029cc85, 0x622d: 0x0029ce85, 0x622e: 0x0029d085, 0x622f: 0x0029d285, + 0x6230: 0x0029d485, 0x6231: 0x0029d685, 0x6232: 0x0029d885, 0x6233: 0x0029da85, + 0x6234: 0x0029dc85, 0x6235: 0x0029de85, 0x6236: 0x0029cc85, 0x6237: 0x0029ce85, + 0x6238: 0x0029d085, 0x6239: 0x0029d285, 0x623a: 0x0029d485, 0x623b: 0x0029d685, + 0x623c: 0x0029d885, 0x623d: 0x0029da85, 0x623e: 0x0029dc85, 0x623f: 0x0029de85, + // Block 0x189, offset 0x6240 + 0x6240: 0x00393885, 0x6241: 0x00393c85, 0x6242: 0x00396485, 0x6243: 0x00398885, + 0x6245: 0x003a7485, 0x6246: 0x0039a685, 0x6247: 0x00397285, + 0x6248: 0x0039e685, 0x6249: 0x003a9085, 0x624a: 0x003a1a85, 0x624b: 0x003a4085, + 0x624c: 0x003a4e85, 0x624d: 0x003a5685, 0x624e: 0x0039c685, 0x624f: 0x0039ee85, + 0x6250: 0x0039fc85, 0x6251: 0x0039dc85, 0x6252: 0x003a1285, 0x6253: 0x0039a485, + 0x6254: 0x0039c885, 0x6255: 0x00395685, 0x6256: 0x00395885, 0x6257: 0x00397485, + 0x6258: 0x00398a85, 0x6259: 0x0039de85, 0x625a: 0x0039e885, 0x625b: 0x0039f085, + 0x625c: 0x00393a85, 0x625d: 0x003a5885, 0x625e: 0x0039fe85, 0x625f: 0x003a1085, + 0x6261: 0x00393c85, 0x6262: 0x00396485, + 0x6264: 0x003a6885, 0x6267: 0x00397285, + 0x6269: 0x003a9085, 0x626a: 0x003a1a85, 0x626b: 0x003a4085, + 0x626c: 0x003a4e85, 0x626d: 0x003a5685, 0x626e: 0x0039c685, 0x626f: 0x0039ee85, + 0x6270: 0x0039fc85, 0x6271: 0x0039dc85, 0x6272: 0x003a1285, + 0x6274: 0x0039c885, 0x6275: 0x00395685, 0x6276: 0x00395885, 0x6277: 0x00397485, + 0x6279: 0x0039de85, 0x627b: 0x0039f085, + // Block 0x18a, offset 0x6280 + 0x6282: 0x00396485, + 0x6287: 0x00397285, + 0x6289: 0x003a9085, 0x628b: 0x003a4085, + 0x628d: 0x003a5685, 0x628e: 0x0039c685, 0x628f: 0x0039ee85, + 0x6291: 0x0039dc85, 0x6292: 0x003a1285, + 0x6294: 0x0039c885, 0x6297: 0x00397485, + 0x6299: 0x0039de85, 0x629b: 0x0039f085, + 0x629d: 0x003a5885, 0x629f: 0x003a1085, + 0x62a1: 0x00393c85, 0x62a2: 0x00396485, + 0x62a4: 0x003a6885, 0x62a7: 0x00397285, + 0x62a8: 0x0039e685, 0x62a9: 0x003a9085, 0x62aa: 0x003a1a85, + 0x62ac: 0x003a4e85, 0x62ad: 0x003a5685, 0x62ae: 0x0039c685, 0x62af: 0x0039ee85, + 0x62b0: 0x0039fc85, 0x62b1: 0x0039dc85, 0x62b2: 0x003a1285, + 0x62b4: 0x0039c885, 0x62b5: 0x00395685, 0x62b6: 0x00395885, 0x62b7: 0x00397485, + 0x62b9: 0x0039de85, 0x62ba: 0x0039e885, 0x62bb: 0x0039f085, + 0x62bc: 0x00393a85, 0x62be: 0x0039fe85, + // Block 0x18b, offset 0x62c0 + 0x62c0: 0x00393885, 0x62c1: 0x00393c85, 0x62c2: 0x00396485, 0x62c3: 0x00398885, + 0x62c4: 0x003a6885, 0x62c5: 0x003a7485, 0x62c6: 0x0039a685, 0x62c7: 0x00397285, + 0x62c8: 0x0039e685, 0x62c9: 0x003a9085, 0x62cb: 0x003a4085, + 0x62cc: 0x003a4e85, 0x62cd: 0x003a5685, 0x62ce: 0x0039c685, 0x62cf: 0x0039ee85, + 0x62d0: 0x0039fc85, 0x62d1: 0x0039dc85, 0x62d2: 0x003a1285, 0x62d3: 0x0039a485, + 0x62d4: 0x0039c885, 0x62d5: 0x00395685, 0x62d6: 0x00395885, 0x62d7: 0x00397485, + 0x62d8: 0x00398a85, 0x62d9: 0x0039de85, 0x62da: 0x0039e885, 0x62db: 0x0039f085, + 0x62e1: 0x00393c85, 0x62e2: 0x00396485, 0x62e3: 0x00398885, + 0x62e5: 0x003a7485, 0x62e6: 0x0039a685, 0x62e7: 0x00397285, + 0x62e8: 0x0039e685, 0x62e9: 0x003a9085, 0x62eb: 0x003a4085, + 0x62ec: 0x003a4e85, 0x62ed: 0x003a5685, 0x62ee: 0x0039c685, 0x62ef: 0x0039ee85, + 0x62f0: 0x0039fc85, 0x62f1: 0x0039dc85, 0x62f2: 0x003a1285, 0x62f3: 0x0039a485, + 0x62f4: 0x0039c885, 0x62f5: 0x00395685, 0x62f6: 0x00395885, 0x62f7: 0x00397485, + 0x62f8: 0x00398a85, 0x62f9: 0x0039de85, 0x62fa: 0x0039e885, 0x62fb: 0x0039f085, + // Block 0x18c, offset 0x6300 + 0x6330: 0x40070a20, 0x6331: 0x40070c20, + // Block 0x18d, offset 0x6340 + 0x6340: 0x401f6e20, 0x6341: 0x401f7020, 0x6342: 0x401f7220, 0x6343: 0x401f7420, + 0x6344: 0x401f7620, 0x6345: 0x401f7820, 0x6346: 0x401f7a20, 0x6347: 0x401f7c20, + 0x6348: 0x401f7e20, 0x6349: 0x401f8020, 0x634a: 0x401f8220, 0x634b: 0x401f8420, + 0x634c: 0x401f8620, 0x634d: 0x401f8820, 0x634e: 0x401f8a20, 0x634f: 0x401f8c20, + 0x6350: 0x401f8e20, 0x6351: 0x401f9020, 0x6352: 0x401f9220, 0x6353: 0x401f9420, + 0x6354: 0x401f9620, 0x6355: 0x401f9820, 0x6356: 0x401f9a20, 0x6357: 0x401f9c20, + 0x6358: 0x401f9e20, 0x6359: 0x401fa020, 0x635a: 0x401fa220, 0x635b: 0x401fa420, + 0x635c: 0x401fa620, 0x635d: 0x401fa820, 0x635e: 0x401faa20, 0x635f: 0x401fac20, + 0x6360: 0x401fae20, 0x6361: 0x401fb020, 0x6362: 0x401fb220, 0x6363: 0x401fb420, + 0x6364: 0x401fb620, 0x6365: 0x401fb820, 0x6366: 0x401fba20, 0x6367: 0x401fbc20, + 0x6368: 0x401fbe20, 0x6369: 0x401fc020, 0x636a: 0x401fc220, 0x636b: 0x401fc420, + 0x6370: 0x401fc620, 0x6371: 0x401fc820, 0x6372: 0x401fca20, 0x6373: 0x401fcc20, + 0x6374: 0x401fce20, 0x6375: 0x401fd020, 0x6376: 0x401fd220, 0x6377: 0x401fd420, + 0x6378: 0x401fd620, 0x6379: 0x401fd820, 0x637a: 0x401fda20, 0x637b: 0x401fdc20, + 0x637c: 0x401fde20, 0x637d: 0x401fe020, 0x637e: 0x401fe220, 0x637f: 0x401fe420, + // Block 0x18e, offset 0x6380 + 0x6380: 0x401fe620, 0x6381: 0x401fe820, 0x6382: 0x401fea20, 0x6383: 0x401fec20, + 0x6384: 0x401fee20, 0x6385: 0x401ff020, 0x6386: 0x401ff220, 0x6387: 0x401ff420, + 0x6388: 0x401ff620, 0x6389: 0x401ff820, 0x638a: 0x401ffa20, 0x638b: 0x401ffc20, + 0x638c: 0x401ffe20, 0x638d: 0x40200020, 0x638e: 0x40200220, 0x638f: 0x40200420, + 0x6390: 0x40200620, 0x6391: 0x40200820, 0x6392: 0x40200a20, 0x6393: 0x40200c20, + 0x6394: 0x40200e20, 0x6395: 0x40201020, 0x6396: 0x40201220, 0x6397: 0x40201420, + 0x6398: 0x40201620, 0x6399: 0x40201820, 0x639a: 0x40201a20, 0x639b: 0x40201c20, + 0x639c: 0x40201e20, 0x639d: 0x40202020, 0x639e: 0x40202220, 0x639f: 0x40202420, + 0x63a0: 0x40202620, 0x63a1: 0x40202820, 0x63a2: 0x40202a20, 0x63a3: 0x40202c20, + 0x63a4: 0x40202e20, 0x63a5: 0x40203020, 0x63a6: 0x40203220, 0x63a7: 0x40203420, + 0x63a8: 0x40203620, 0x63a9: 0x40203820, 0x63aa: 0x40203a20, 0x63ab: 0x40203c20, + 0x63ac: 0x40203e20, 0x63ad: 0x40204020, 0x63ae: 0x40204220, 0x63af: 0x40204420, + 0x63b0: 0x40204620, 0x63b1: 0x40204820, 0x63b2: 0x40204a20, 0x63b3: 0x40204c20, + 0x63b4: 0x40204e20, 0x63b5: 0x40205020, 0x63b6: 0x40205220, 0x63b7: 0x40205420, + 0x63b8: 0x40205620, 0x63b9: 0x40205820, 0x63ba: 0x40205a20, 0x63bb: 0x40205c20, + 0x63bc: 0x40205e20, 0x63bd: 0x40206020, 0x63be: 0x40206220, 0x63bf: 0x40206420, + // Block 0x18f, offset 0x63c0 + 0x63c0: 0x40206620, 0x63c1: 0x40206820, 0x63c2: 0x40206a20, 0x63c3: 0x40206c20, + 0x63c4: 0x40206e20, 0x63c5: 0x40207020, 0x63c6: 0x40207220, 0x63c7: 0x40207420, + 0x63c8: 0x40207620, 0x63c9: 0x40207820, 0x63ca: 0x40207a20, 0x63cb: 0x40207c20, + 0x63cc: 0x40207e20, 0x63cd: 0x40208020, 0x63ce: 0x40208220, 0x63cf: 0x40208420, + 0x63d0: 0x40208620, 0x63d1: 0x40208820, 0x63d2: 0x40208a20, 0x63d3: 0x40208c20, + 0x63e0: 0x40208e20, 0x63e1: 0x40209020, 0x63e2: 0x40209220, 0x63e3: 0x40209420, + 0x63e4: 0x40209620, 0x63e5: 0x40209820, 0x63e6: 0x40209a20, 0x63e7: 0x40209c20, + 0x63e8: 0x40209e20, 0x63e9: 0x4020a020, 0x63ea: 0x4020a220, 0x63eb: 0x4020a420, + 0x63ec: 0x4020a620, 0x63ed: 0x4020a820, 0x63ee: 0x4020aa20, + 0x63f1: 0x4020ac20, 0x63f2: 0x4020ae20, 0x63f3: 0x4020b020, + 0x63f4: 0x4020b220, 0x63f5: 0x4020b420, 0x63f6: 0x4020b620, 0x63f7: 0x4020b820, + 0x63f8: 0x4020ba20, 0x63f9: 0x4020bc20, 0x63fa: 0x4020be20, 0x63fb: 0x4020c020, + 0x63fc: 0x4020c220, 0x63fd: 0x4020c420, 0x63fe: 0x4020c620, + // Block 0x190, offset 0x6400 + 0x6401: 0x4020c820, 0x6402: 0x4020ca20, 0x6403: 0x4020cc20, + 0x6404: 0x4020ce20, 0x6405: 0x4020d020, 0x6406: 0x4020d220, 0x6407: 0x4020d420, + 0x6408: 0x4020d620, 0x6409: 0x4020d820, 0x640a: 0x4020da20, 0x640b: 0x4020dc20, + 0x640c: 0x4020de20, 0x640d: 0x4020e020, 0x640e: 0x4020e220, 0x640f: 0x4020e420, + 0x6411: 0x4020e620, 0x6412: 0x4020e820, 0x6413: 0x4020ea20, + 0x6414: 0x4020ec20, 0x6415: 0x4020ee20, 0x6416: 0x4020f020, 0x6417: 0x4020f220, + 0x6418: 0x4020f420, 0x6419: 0x4020f620, 0x641a: 0x4020f820, 0x641b: 0x4020fa20, + 0x641c: 0x4020fc20, 0x641d: 0x4020fe20, 0x641e: 0x40210020, 0x641f: 0x40210220, + // Block 0x191, offset 0x6440 + 0x6440: 0xf0001f04, 0x6441: 0xf0001f04, 0x6442: 0xf0001f04, 0x6443: 0xf0001f04, + 0x6444: 0xf0001f04, 0x6445: 0xf0001f04, 0x6446: 0xf0001f04, 0x6447: 0xf0001f04, + 0x6448: 0xf0001f04, 0x6449: 0xf0001f04, 0x644a: 0xf0001f04, + 0x6450: 0xf0000a04, 0x6451: 0xf0000a04, 0x6452: 0xf0000a04, 0x6453: 0xf0000a04, + 0x6454: 0xf0000a04, 0x6455: 0xf0000a04, 0x6456: 0xf0000a04, 0x6457: 0xf0000a04, + 0x6458: 0xf0000a04, 0x6459: 0xf0000a04, 0x645a: 0xf0000a04, 0x645b: 0xf0000a04, + 0x645c: 0xf0000a04, 0x645d: 0xf0000a04, 0x645e: 0xf0000a04, 0x645f: 0xf0000a04, + 0x6460: 0xf0000a04, 0x6461: 0xf0000a04, 0x6462: 0xf0000a04, 0x6463: 0xf0000a04, + 0x6464: 0xf0000a04, 0x6465: 0xf0000a04, 0x6466: 0xf0000a04, 0x6467: 0xf0000a04, + 0x6468: 0xf0000a04, 0x6469: 0xf0000a04, 0x646a: 0xf0000a04, 0x646b: 0x002c3a8c, + 0x646c: 0x002f7a8c, 0x646d: 0xf0000c0c, 0x646e: 0xf0000c0c, + 0x6470: 0x002bde9d, 0x6471: 0x002c0a9d, 0x6472: 0x002c3a9d, 0x6473: 0x002c629d, + 0x6474: 0x002c989d, 0x6475: 0x002d089d, 0x6476: 0x002d229d, 0x6477: 0x002d689d, + 0x6478: 0x002d9a9d, 0x6479: 0x002dcc9d, 0x647a: 0x002dfe9d, 0x647b: 0x002e229d, + 0x647c: 0x002e829d, 0x647d: 0x002e9e9d, 0x647e: 0x002ee29d, 0x647f: 0x002f2c9d, + // Block 0x192, offset 0x6480 + 0x6480: 0x002f569d, 0x6481: 0x002f7a9d, 0x6482: 0x002fe69d, 0x6483: 0x00302c9d, + 0x6484: 0x00306c9d, 0x6485: 0x0030be9d, 0x6486: 0x0030e29d, 0x6487: 0x0030f69d, + 0x6488: 0x0031009d, 0x6489: 0x00312a9d, 0x648a: 0xf0001d1d, 0x648b: 0xf0001d1d, + 0x648c: 0xf0001d1d, 0x648d: 0xf0001d1d, 0x648e: 0xe0000ebc, 0x648f: 0xf0001d1d, + 0x6490: 0x002bde8c, 0x6491: 0x002c0a8c, 0x6492: 0x002c3a8c, 0x6493: 0x002c628c, + 0x6494: 0x002c988c, 0x6495: 0x002d088c, 0x6496: 0x002d228c, 0x6497: 0x002d688c, + 0x6498: 0x002d9a8c, 0x6499: 0x002dcc8c, 0x649a: 0x002dfe8c, 0x649b: 0x002e228c, + 0x649c: 0x002e828c, 0x649d: 0x002e9e8c, 0x649e: 0x002ee28c, 0x649f: 0x002f2c8c, + 0x64a0: 0x002f568c, 0x64a1: 0x002f7a8c, 0x64a2: 0x002fe68c, 0x64a3: 0x00302c8c, + 0x64a4: 0x00306c8c, 0x64a5: 0x0030be8c, 0x64a6: 0x0030e28c, 0x64a7: 0x0030f68c, + 0x64a8: 0x0031008c, 0x64a9: 0x00312a8c, 0x64aa: 0xf0001414, 0x64ab: 0xf0001414, + 0x64b0: 0x002bde9d, 0x64b1: 0x002c0a9d, 0x64b2: 0x002c3a9d, 0x64b3: 0x002c629d, + 0x64b4: 0x002c989d, 0x64b5: 0x002d089d, 0x64b6: 0x002d229d, 0x64b7: 0x002d689d, + 0x64b8: 0x002d9a9d, 0x64b9: 0x002dcc9d, 0x64ba: 0x002dfe9d, 0x64bb: 0x002e229d, + 0x64bc: 0x002e829d, 0x64bd: 0x002e9e9d, 0x64be: 0x002ee29d, 0x64bf: 0x002f2c9d, + // Block 0x193, offset 0x64c0 + 0x64c0: 0x002f569d, 0x64c1: 0x002f7a9d, 0x64c2: 0x002fe69d, 0x64c3: 0x00302c9d, + 0x64c4: 0x00306c9d, 0x64c5: 0x0030be9d, 0x64c6: 0x0030e29d, 0x64c7: 0x0030f69d, + 0x64c8: 0x0031009d, 0x64c9: 0x00312a9d, 0x64ca: 0x002f2c9d, 0x64cb: 0xe0000c81, + 0x64cc: 0xe0000eb5, 0x64cd: 0xe0000f74, 0x64ce: 0xe00009d2, 0x64cf: 0xe00010f0, + 0x64d0: 0xf0001d1d, 0x64d1: 0xe0000a6f, 0x64d2: 0xe0000a7e, 0x64d3: 0xe0000ba4, + 0x64d4: 0xe0000c84, 0x64d5: 0xe0000d8a, 0x64d6: 0xe0000d8e, 0x64d7: 0xe0000e9b, + 0x64d8: 0xe0000f77, 0x64d9: 0xe00010a2, 0x64da: 0xe00010c0, + // Block 0x194, offset 0x6500 + 0x6526: 0x40110c20, 0x6527: 0x40110e20, + 0x6528: 0x40111020, 0x6529: 0x40111220, 0x652a: 0x40111420, 0x652b: 0x40111620, + 0x652c: 0x40111820, 0x652d: 0x40111a20, 0x652e: 0x40111c20, 0x652f: 0x40111e20, + 0x6530: 0x40112020, 0x6531: 0x40112220, 0x6532: 0x40112420, 0x6533: 0x40112620, + 0x6534: 0x40112820, 0x6535: 0x40112a20, 0x6536: 0x40112c20, 0x6537: 0x40112e20, + 0x6538: 0x40113020, 0x6539: 0x40113220, 0x653a: 0x40113420, 0x653b: 0x40113620, + 0x653c: 0x40113820, 0x653d: 0x40113a20, 0x653e: 0x40113c20, 0x653f: 0x40113e20, + // Block 0x195, offset 0x6540 + 0x6540: 0xf0001c1c, 0x6541: 0xf0001c1c, 0x6542: 0x00658c9c, + 0x6550: 0x02c4969c, 0x6551: 0x02b6ae9c, 0x6552: 0x02a7989c, 0x6553: 0xf0001c1c, + 0x6554: 0x029d189c, 0x6555: 0x02b2349c, 0x6556: 0x0313c69c, 0x6557: 0x02b2529c, + 0x6558: 0x029d489c, 0x6559: 0x02cc409c, 0x655a: 0x02e2429c, 0x655b: 0x02cb329c, + 0x655c: 0x02a49a9c, 0x655d: 0x02bf189c, 0x655e: 0x02a31a9c, 0x655f: 0x02cb609c, + 0x6560: 0x02a43a9c, 0x6561: 0x02fa849c, 0x6562: 0x02ea3e9c, 0x6563: 0x0319529c, + 0x6564: 0x02b1e09c, 0x6565: 0x02a8729c, 0x6566: 0x02de289c, 0x6567: 0x02c52a9c, + 0x6568: 0x02c6aa9c, 0x6569: 0x029c009c, 0x656a: 0x029c129c, 0x656b: 0x0320949c, + 0x656c: 0x02bbcc9c, 0x656d: 0x029c5a9c, 0x656e: 0x02a7e69c, 0x656f: 0x02c60e9c, + 0x6570: 0x031ae09c, 0x6571: 0x02c4a69c, 0x6572: 0x02f3029c, 0x6573: 0x02f4f49c, + 0x6574: 0x02a8109c, 0x6575: 0x02dd009c, 0x6576: 0x02ce129c, 0x6577: 0x02ce109c, + 0x6578: 0x02ea669c, 0x6579: 0x02a4e49c, 0x657a: 0x02ab6c9c, + // Block 0x196, offset 0x6580 + 0x6580: 0xf0000404, 0x6581: 0xf0000404, 0x6582: 0xf0000404, 0x6583: 0xf0000404, + 0x6584: 0xf0000404, 0x6585: 0xf0000404, 0x6586: 0xf0000404, 0x6587: 0xf0000404, + 0x6588: 0xf0000404, + 0x6590: 0x02bf2e86, 0x6591: 0x02a7de86, + // Block 0x197, offset 0x65c0 + 0x65c0: 0x40210420, 0x65c1: 0x40210620, 0x65c2: 0x40210820, 0x65c3: 0x40210a20, + 0x65c4: 0x40210c20, 0x65c5: 0x40210e20, 0x65c6: 0x40211020, 0x65c7: 0x40211220, + 0x65c8: 0x40211420, 0x65c9: 0x40211620, 0x65ca: 0x40211820, 0x65cb: 0x40211a20, + 0x65cc: 0x40211c20, 0x65cd: 0x40211e20, 0x65ce: 0x40212020, 0x65cf: 0x40212220, + 0x65d0: 0x40212420, 0x65d1: 0x40212620, 0x65d2: 0x40212820, 0x65d3: 0x40212a20, + 0x65d4: 0x40212c20, 0x65d5: 0x40212e20, 0x65d6: 0x40213020, 0x65d7: 0x40213220, + 0x65d8: 0x40213420, 0x65d9: 0x40213620, 0x65da: 0x40213820, 0x65db: 0x40213a20, + 0x65dc: 0x40213c20, 0x65dd: 0x40213e20, 0x65de: 0x40214020, 0x65df: 0x40214220, + 0x65e0: 0x40214420, + 0x65f0: 0x40214620, 0x65f1: 0x40214820, 0x65f2: 0x40214a20, 0x65f3: 0x40214c20, + 0x65f4: 0x40214e20, 0x65f5: 0x40215020, 0x65f7: 0x40215220, + 0x65f8: 0x40215420, 0x65f9: 0x40215620, 0x65fa: 0x40215820, 0x65fb: 0x40215a20, + 0x65fc: 0x40215c20, 0x65fd: 0x40215e20, 0x65fe: 0x40216020, 0x65ff: 0x40216220, + // Block 0x198, offset 0x6600 + 0x6600: 0x40216420, 0x6601: 0x40216620, 0x6602: 0x40216820, 0x6603: 0x40216a20, + 0x6604: 0x40216c20, 0x6605: 0x40216e20, 0x6606: 0x40217020, 0x6607: 0x40217220, + 0x6608: 0x40217420, 0x6609: 0x40217620, 0x660a: 0x40217820, 0x660b: 0x40217a20, + 0x660c: 0x40217c20, 0x660d: 0x40217e20, 0x660e: 0x40218020, 0x660f: 0x40218220, + 0x6610: 0x40218420, 0x6611: 0x40218620, 0x6612: 0x40218820, 0x6613: 0x40218a20, + 0x6614: 0x40218c20, 0x6615: 0x40218e20, 0x6616: 0x40219020, 0x6617: 0x40219220, + 0x6618: 0x40219420, 0x6619: 0x40219620, 0x661a: 0x40219820, 0x661b: 0x40219a20, + 0x661c: 0x40219c20, 0x661d: 0x40219e20, 0x661e: 0x4021a020, 0x661f: 0x4021a220, + 0x6620: 0x4021a420, 0x6621: 0x4021a620, 0x6622: 0x4021a820, 0x6623: 0x4021aa20, + 0x6624: 0x4021ac20, 0x6625: 0x4021ae20, 0x6626: 0x4021b020, 0x6627: 0x4021b220, + 0x6628: 0x4021b420, 0x6629: 0x4021b620, 0x662a: 0x4021b820, 0x662b: 0x4021ba20, + 0x662c: 0x4021bc20, 0x662d: 0x4021be20, 0x662e: 0x4021c020, 0x662f: 0x4021c220, + 0x6630: 0x4021c420, 0x6631: 0x4021c620, 0x6632: 0x4021c820, 0x6633: 0x4021ca20, + 0x6634: 0x4021cc20, 0x6635: 0x4021ce20, 0x6636: 0x4021d020, 0x6637: 0x4021d220, + 0x6638: 0x4021d420, 0x6639: 0x4021d620, 0x663a: 0x4021d820, 0x663b: 0x4021da20, + 0x663c: 0x4021dc20, + // Block 0x199, offset 0x6640 + 0x6640: 0x4021de20, 0x6641: 0x4021e020, 0x6642: 0x4021e220, 0x6643: 0x4021e420, + 0x6644: 0x4021e620, 0x6645: 0x4021e820, 0x6646: 0x4021ea20, 0x6647: 0x4021ec20, + 0x6648: 0x4021ee20, 0x6649: 0x4021f020, 0x664a: 0x4021f220, 0x664b: 0x4021f420, + 0x664c: 0x4021f620, 0x664d: 0x4021f820, 0x664e: 0x4021fa20, 0x664f: 0x4021fc20, + 0x6650: 0x4021fe20, 0x6651: 0x40220020, 0x6652: 0x40220220, 0x6653: 0x40220420, + 0x6660: 0x40220620, 0x6661: 0x40220820, 0x6662: 0x40220a20, 0x6663: 0x40220c20, + 0x6664: 0x40220e20, 0x6665: 0x40221020, 0x6666: 0x40221220, 0x6667: 0x40221420, + 0x6668: 0x40221620, 0x6669: 0x40221820, 0x666a: 0x40221a20, 0x666b: 0x40221c20, + 0x666c: 0x40221e20, 0x666d: 0x40222020, 0x666e: 0x40222220, 0x666f: 0x40222420, + 0x6670: 0x40222620, 0x6671: 0x40222820, 0x6672: 0x40222a20, 0x6673: 0x40222c20, + 0x6674: 0x40222e20, 0x6675: 0x40223020, 0x6676: 0x40223220, 0x6677: 0x40223420, + 0x6678: 0x40223620, 0x6679: 0x40223820, 0x667a: 0x40223a20, 0x667b: 0x40223c20, + 0x667c: 0x40223e20, 0x667d: 0x40224020, 0x667e: 0x40224220, 0x667f: 0x40224420, + // Block 0x19a, offset 0x6680 + 0x6680: 0x40224620, 0x6681: 0x40224820, 0x6682: 0x40224a20, 0x6683: 0x40224c20, + 0x6684: 0x40224e20, 0x6686: 0x40225020, 0x6687: 0x40225220, + 0x6688: 0x40225420, 0x6689: 0x40225620, 0x668a: 0x40225820, + 0x66a0: 0x40225a20, 0x66a1: 0x40225c20, 0x66a2: 0x40225e20, 0x66a3: 0x40226020, + 0x66a4: 0x40226220, 0x66a5: 0x40226420, 0x66a6: 0x40226620, 0x66a7: 0x40226820, + 0x66a8: 0x40226a20, 0x66a9: 0x40226c20, 0x66aa: 0x40226e20, 0x66ab: 0x40227020, + 0x66ac: 0x40227220, 0x66ad: 0x40227420, 0x66ae: 0x40227620, 0x66af: 0x40227820, + 0x66b0: 0x40227a20, + // Block 0x19b, offset 0x66c0 + 0x66c0: 0x40227c20, 0x66c1: 0x40227e20, 0x66c2: 0x40228020, 0x66c3: 0x40228220, + 0x66c4: 0x40228420, 0x66c5: 0x40228620, 0x66c6: 0x40228820, 0x66c7: 0x40228a20, + 0x66c8: 0x40228c20, 0x66c9: 0x40228e20, 0x66ca: 0x40229020, 0x66cb: 0x40229220, + 0x66cc: 0x40229420, 0x66cd: 0x40229620, 0x66ce: 0x40229820, 0x66cf: 0x40229a20, + 0x66d0: 0x40229c20, 0x66d1: 0x40229e20, 0x66d2: 0x4022a020, 0x66d3: 0x4022a220, + 0x66d4: 0x4022a420, 0x66d5: 0x4022a620, 0x66d6: 0x4022a820, 0x66d7: 0x4022aa20, + 0x66d8: 0x4022ac20, 0x66d9: 0x4022ae20, 0x66da: 0x4022b020, 0x66db: 0x4022b220, + 0x66dc: 0x4022b420, 0x66dd: 0x4022b620, 0x66de: 0x4022b820, 0x66df: 0x4022ba20, + 0x66e0: 0x4022bc20, 0x66e1: 0x4022be20, 0x66e2: 0x4022c020, 0x66e3: 0x4022c220, + 0x66e4: 0x4022c420, 0x66e5: 0x4022c620, 0x66e6: 0x4022c820, 0x66e7: 0x4022ca20, + 0x66e8: 0x4022cc20, 0x66e9: 0x4022ce20, 0x66ea: 0x4022d020, 0x66eb: 0x4022d220, + 0x66ec: 0x4022d420, 0x66ed: 0x4022d620, 0x66ee: 0x4022d820, 0x66ef: 0x4022da20, + 0x66f0: 0x4022dc20, 0x66f1: 0x4022de20, 0x66f2: 0x4022e020, 0x66f3: 0x4022e220, + 0x66f4: 0x4022e420, 0x66f5: 0x4022e620, 0x66f6: 0x4022e820, 0x66f7: 0x4022ea20, + 0x66f8: 0x4022ec20, 0x66f9: 0x4022ee20, 0x66fa: 0x4022f020, 0x66fb: 0x4022f220, + 0x66fc: 0x4022f420, 0x66fd: 0x4022f620, 0x66fe: 0x4022f820, + // Block 0x19c, offset 0x6700 + 0x6700: 0x4022fa20, 0x6702: 0x4022fc20, 0x6703: 0x4022fe20, + 0x6704: 0x40230020, 0x6705: 0x40230220, 0x6706: 0x40230420, 0x6707: 0x40230620, + 0x6708: 0x40230820, 0x6709: 0x40230a20, 0x670a: 0x40230c20, 0x670b: 0x40230e20, + 0x670c: 0x40231020, 0x670d: 0x40231220, 0x670e: 0x40231420, 0x670f: 0x40231620, + 0x6710: 0x40231820, 0x6711: 0x40231a20, 0x6712: 0x40231c20, 0x6713: 0x40231e20, + 0x6714: 0x40232020, 0x6715: 0x40232220, 0x6716: 0x40232420, 0x6717: 0x40232620, + 0x6718: 0x40232820, 0x6719: 0x40232a20, 0x671a: 0x40232c20, 0x671b: 0x40232e20, + 0x671c: 0x40233020, 0x671d: 0x40233220, 0x671e: 0x40233420, 0x671f: 0x40233620, + 0x6720: 0x40233820, 0x6721: 0x40233a20, 0x6722: 0x40233c20, 0x6723: 0x40233e20, + 0x6724: 0x40234020, 0x6725: 0x40234220, 0x6726: 0x40234420, 0x6727: 0x40234620, + 0x6728: 0x40234820, 0x6729: 0x40234a20, 0x672a: 0x40234c20, 0x672b: 0x40234e20, + 0x672c: 0x40235020, 0x672d: 0x40235220, 0x672e: 0x40235420, 0x672f: 0x40235620, + 0x6730: 0x40235820, 0x6731: 0x40235a20, 0x6732: 0x40235c20, 0x6733: 0x40235e20, + 0x6734: 0x40236020, 0x6735: 0x40236220, 0x6736: 0x40236420, 0x6737: 0x40236620, + 0x6738: 0x40236820, 0x6739: 0x40236a20, 0x673a: 0x40236c20, 0x673b: 0x40236e20, + 0x673c: 0x40237020, 0x673d: 0x40237220, 0x673e: 0x40237420, 0x673f: 0x40237620, + // Block 0x19d, offset 0x6740 + 0x6740: 0x40237820, 0x6741: 0x40237a20, 0x6742: 0x40237c20, 0x6743: 0x40237e20, + 0x6744: 0x40238020, 0x6745: 0x40238220, 0x6746: 0x40238420, 0x6747: 0x40238620, + 0x6748: 0x40238820, 0x6749: 0x40238a20, 0x674a: 0x40238c20, 0x674b: 0x40238e20, + 0x674c: 0x40239020, 0x674d: 0x40239220, 0x674e: 0x40239420, 0x674f: 0x40239620, + 0x6750: 0x40239820, 0x6751: 0x40239a20, 0x6752: 0x40239c20, 0x6753: 0x40239e20, + 0x6754: 0x4023a020, 0x6755: 0x4023a220, 0x6756: 0x4023a420, 0x6757: 0x4023a620, + 0x6758: 0x4023a820, 0x6759: 0x4023aa20, 0x675a: 0x4023ac20, 0x675b: 0x4023ae20, + 0x675c: 0x4023b020, 0x675d: 0x4023b220, 0x675e: 0x4023b420, 0x675f: 0x4023b620, + 0x6760: 0x4023b820, 0x6761: 0x4023ba20, 0x6762: 0x4023bc20, 0x6763: 0x4023be20, + 0x6764: 0x4023c020, 0x6765: 0x4023c220, 0x6766: 0x4023c420, 0x6767: 0x4023c620, + 0x6768: 0x4023c820, 0x6769: 0x4023ca20, 0x676a: 0x4023cc20, 0x676b: 0x4023ce20, + 0x676c: 0x4023d020, 0x676d: 0x4023d220, 0x676e: 0x4023d420, 0x676f: 0x4023d620, + 0x6770: 0x4023d820, 0x6771: 0x4023da20, 0x6772: 0x4023dc20, 0x6773: 0x4023de20, + 0x6774: 0x4023e020, 0x6775: 0x4023e220, 0x6776: 0x4023e420, 0x6777: 0x4023e620, + 0x6778: 0x4023e820, 0x6779: 0x4023ea20, 0x677a: 0x4023ec20, 0x677b: 0x4023ee20, + 0x677c: 0x4023f020, 0x677d: 0x4023f220, 0x677e: 0x4023f420, 0x677f: 0x4023f620, + // Block 0x19e, offset 0x6780 + 0x6780: 0x4023f820, 0x6781: 0x4023fa20, 0x6782: 0x4023fc20, 0x6783: 0x4023fe20, + 0x6784: 0x40240020, 0x6785: 0x40240220, 0x6786: 0x40240420, 0x6787: 0x40240620, + 0x6788: 0x40240820, 0x6789: 0x40240a20, 0x678a: 0x40240c20, 0x678b: 0x40240e20, + 0x678c: 0x40241020, 0x678d: 0x40241220, 0x678e: 0x40241420, 0x678f: 0x40241620, + 0x6790: 0x40241820, 0x6791: 0x40241a20, 0x6792: 0x40241c20, 0x6793: 0x40241e20, + 0x6794: 0x40242020, 0x6795: 0x40242220, 0x6796: 0x40242420, 0x6797: 0x40242620, + 0x6798: 0x40242820, 0x6799: 0x40242a20, 0x679a: 0x40242c20, 0x679b: 0x40242e20, + 0x679c: 0x40243020, 0x679d: 0x40243220, 0x679e: 0x40243420, 0x679f: 0x40243620, + 0x67a0: 0x40243820, 0x67a1: 0x40243a20, 0x67a2: 0x40243c20, 0x67a3: 0x40243e20, + 0x67a4: 0x40244020, 0x67a5: 0x40244220, 0x67a6: 0x40244420, 0x67a7: 0x40244620, + 0x67a8: 0x40244820, 0x67a9: 0x40244a20, 0x67aa: 0x40244c20, 0x67ab: 0x40244e20, + 0x67ac: 0x40245020, 0x67ad: 0x40245220, 0x67ae: 0x40245420, 0x67af: 0x40245620, + 0x67b0: 0x40245820, 0x67b1: 0x40245a20, 0x67b2: 0x40245c20, 0x67b3: 0x40245e20, + 0x67b4: 0x40246020, 0x67b5: 0x40246220, 0x67b6: 0x40246420, 0x67b7: 0x40246620, + 0x67b9: 0x40246820, 0x67ba: 0x40246a20, 0x67bb: 0x40246c20, + 0x67bc: 0x40246e20, + // Block 0x19f, offset 0x67c0 + 0x67c0: 0x40247020, 0x67c1: 0x40247220, 0x67c2: 0x40247420, 0x67c3: 0x40247620, + 0x67c4: 0x40247820, 0x67c5: 0x40247a20, 0x67c6: 0x40247c20, 0x67c7: 0x40247e20, + 0x67c8: 0x40248020, 0x67c9: 0x40248220, 0x67ca: 0x40248420, 0x67cb: 0x40248620, + 0x67cc: 0x40248820, 0x67cd: 0x40248a20, 0x67ce: 0x40248c20, 0x67cf: 0x40248e20, + 0x67d0: 0x40249020, 0x67d1: 0x40249220, 0x67d2: 0x40249420, 0x67d3: 0x40249620, + 0x67d4: 0x40249820, 0x67d5: 0x40249a20, 0x67d6: 0x40249c20, 0x67d7: 0x40249e20, + 0x67d8: 0x4024a020, 0x67d9: 0x4024a220, 0x67da: 0x4024a420, 0x67db: 0x4024a620, + 0x67dc: 0x4024a820, 0x67dd: 0x4024aa20, 0x67de: 0x4024ac20, 0x67df: 0x4024ae20, + 0x67e0: 0x4024b020, 0x67e1: 0x4024b220, 0x67e2: 0x4024b420, 0x67e3: 0x4024b620, + 0x67e4: 0x4024b820, 0x67e5: 0x4024ba20, 0x67e6: 0x4024bc20, 0x67e7: 0x4024be20, + 0x67e8: 0x4024c020, 0x67e9: 0x4024c220, 0x67ea: 0x4024c420, 0x67eb: 0x4024c620, + 0x67ec: 0x4024c820, 0x67ed: 0x4024ca20, 0x67ee: 0x4024cc20, 0x67ef: 0x4024ce20, + 0x67f0: 0x4024d020, 0x67f1: 0x4024d220, 0x67f2: 0x4024d420, 0x67f3: 0x4024d620, + 0x67f4: 0x4024d820, 0x67f5: 0x4024da20, 0x67f6: 0x4024dc20, 0x67f7: 0x4024de20, + 0x67f8: 0x4024e020, 0x67f9: 0x4024e220, 0x67fa: 0x4024e420, 0x67fb: 0x4024e620, + 0x67fc: 0x4024e820, 0x67fd: 0x4024ea20, + // Block 0x1a0, offset 0x6800 + 0x6800: 0x4024ec20, 0x6801: 0x4024ee20, 0x6802: 0x4024f020, 0x6803: 0x4024f220, + 0x6810: 0x4024f420, 0x6811: 0x4024f620, 0x6812: 0x4024f820, 0x6813: 0x4024fa20, + 0x6814: 0x4024fc20, 0x6815: 0x4024fe20, 0x6816: 0x40250020, 0x6817: 0x40250220, + 0x6818: 0x40250420, 0x6819: 0x40250620, 0x681a: 0x40250820, 0x681b: 0x40250a20, + 0x681c: 0x40250c20, 0x681d: 0x40250e20, 0x681e: 0x40251020, 0x681f: 0x40251220, + 0x6820: 0x40251420, 0x6821: 0x40251620, 0x6822: 0x40251820, 0x6823: 0x40251a20, + 0x6824: 0x40251c20, 0x6825: 0x40251e20, 0x6826: 0x40252020, 0x6827: 0x40252220, + // Block 0x1a1, offset 0x6840 + 0x687b: 0x40252420, + 0x687c: 0x40252620, 0x687d: 0x40252820, 0x687e: 0x40252a20, 0x687f: 0x40252c20, + // Block 0x1a2, offset 0x6880 + 0x6880: 0x40252e20, 0x6881: 0x40253020, 0x6882: 0x40253220, 0x6883: 0x40253420, + 0x6884: 0x40253620, 0x6885: 0x40253820, 0x6886: 0x40253a20, 0x6887: 0x40253c20, + 0x6888: 0x40253e20, 0x6889: 0x40254020, 0x688a: 0x40254220, 0x688b: 0x40254420, + 0x688c: 0x40254620, 0x688d: 0x40254820, 0x688e: 0x40254a20, 0x688f: 0x40254c20, + 0x6890: 0x40254e20, 0x6891: 0x40255020, 0x6892: 0x40255220, 0x6893: 0x40255420, + 0x6894: 0x40255620, 0x6895: 0x40255820, 0x6896: 0x40255a20, 0x6897: 0x40255c20, + 0x6898: 0x40255e20, 0x6899: 0x40256020, 0x689a: 0x40256220, 0x689b: 0x40256420, + 0x689c: 0x40256620, 0x689d: 0x40256820, 0x689e: 0x40256a20, 0x689f: 0x40256c20, + 0x68a0: 0x40256e20, 0x68a1: 0x40257020, 0x68a2: 0x40257220, 0x68a3: 0x40257420, + 0x68a4: 0x40257620, 0x68a5: 0x40257820, 0x68a6: 0x40257a20, 0x68a7: 0x40257c20, + 0x68a8: 0x40257e20, 0x68a9: 0x40258020, 0x68aa: 0x40258220, 0x68ab: 0x40258420, + 0x68ac: 0x40258620, 0x68ad: 0x40258820, 0x68ae: 0x40258a20, 0x68af: 0x40258c20, + 0x68b0: 0x40258e20, 0x68b1: 0x40259020, 0x68b2: 0x40259220, 0x68b3: 0x40259420, + 0x68b4: 0x40259620, 0x68b5: 0x40259820, 0x68b6: 0x40259a20, 0x68b7: 0x40259c20, + 0x68b8: 0x40259e20, 0x68b9: 0x4025a020, 0x68ba: 0x4025a220, 0x68bb: 0x4025a420, + 0x68bc: 0x4025a620, 0x68bd: 0x4025a820, 0x68be: 0x4025aa20, 0x68bf: 0x4025ac20, + // Block 0x1a3, offset 0x68c0 + 0x68c0: 0x4025ae20, + 0x68c5: 0x4025b020, 0x68c6: 0x4025b220, 0x68c7: 0x4025b420, + 0x68c8: 0x4025b620, 0x68c9: 0x4025b820, 0x68ca: 0x4025ba20, 0x68cb: 0x4025bc20, + 0x68cc: 0x4025be20, 0x68cd: 0x4025c020, 0x68ce: 0x4025c220, 0x68cf: 0x4025c420, + // Block 0x1a4, offset 0x6900 + 0x6900: 0x4025c620, 0x6901: 0x4025c820, 0x6902: 0x4025ca20, 0x6903: 0x4025cc20, + 0x6904: 0x4025ce20, 0x6905: 0x4025d020, 0x6906: 0x4025d220, 0x6907: 0x4025d420, + 0x6908: 0x4025d620, 0x6909: 0x4025d820, 0x690a: 0x4025da20, 0x690b: 0x4025dc20, + 0x690c: 0x4025de20, 0x690d: 0x4025e020, 0x690e: 0x4025e220, 0x690f: 0x4025e420, + 0x6910: 0x4025e620, 0x6911: 0x4025e820, 0x6912: 0x4025ea20, 0x6913: 0x4025ec20, + 0x6914: 0x4025ee20, 0x6915: 0x4025f020, 0x6916: 0x4025f220, 0x6917: 0x4025f420, + 0x6918: 0x4025f620, 0x6919: 0x4025f820, 0x691a: 0x4025fa20, 0x691b: 0x4025fc20, + 0x691c: 0x4025fe20, 0x691d: 0x40260020, 0x691e: 0x40260220, 0x691f: 0x40260420, + 0x6920: 0x40260620, 0x6921: 0x40260820, 0x6922: 0x40260a20, 0x6923: 0x40260c20, + 0x6924: 0x40260e20, 0x6925: 0x40261020, 0x6926: 0x40261220, 0x6927: 0x40261420, + 0x6928: 0x40261620, 0x6929: 0x40261820, 0x692a: 0x40261a20, 0x692b: 0x40261c20, + 0x692c: 0x40261e20, 0x692d: 0x40262020, 0x692e: 0x40262220, 0x692f: 0x40262420, + 0x6930: 0x40262620, 0x6931: 0x40262820, 0x6932: 0x40262a20, 0x6933: 0x40262c20, + 0x6934: 0x40262e20, 0x6935: 0x40263020, 0x6936: 0x40263220, 0x6937: 0x40263420, + 0x6938: 0x40263620, 0x6939: 0x40263820, 0x693a: 0x40263a20, 0x693b: 0x40263c20, + 0x693c: 0x40263e20, 0x693d: 0x40264020, 0x693e: 0x40264220, 0x693f: 0x40264420, + // Block 0x1a5, offset 0x6940 + 0x6940: 0x40264620, 0x6941: 0x40264820, 0x6942: 0x40264a20, 0x6943: 0x40264c20, + 0x6944: 0x40264e20, 0x6945: 0x40265020, + // Block 0x1a6, offset 0x6980 + 0x6980: 0x40265220, 0x6981: 0x40265420, 0x6982: 0x40265620, 0x6983: 0x40265820, + 0x6984: 0x40265a20, 0x6985: 0x40265c20, 0x6986: 0x40265e20, 0x6987: 0x40266020, + 0x6988: 0x40266220, 0x6989: 0x40266420, 0x698a: 0x40266620, 0x698b: 0x40266820, + 0x698c: 0x40266a20, 0x698d: 0x40266c20, 0x698e: 0x40266e20, 0x698f: 0x40267020, + 0x6990: 0x40267220, 0x6991: 0x40267420, 0x6992: 0x40267620, 0x6993: 0x40267820, + 0x6994: 0x40267a20, 0x6995: 0x40267c20, 0x6996: 0x40267e20, 0x6997: 0x40268020, + 0x6998: 0x40268220, 0x6999: 0x40268420, 0x699a: 0x40268620, 0x699b: 0x40268820, + 0x699c: 0x40268a20, 0x699d: 0x40268c20, 0x699e: 0x40268e20, 0x699f: 0x40269020, + 0x69a0: 0x40269220, 0x69a1: 0x40269420, 0x69a2: 0x40269620, 0x69a3: 0x40269820, + 0x69a4: 0x40269a20, 0x69a5: 0x40269c20, 0x69a6: 0x40269e20, 0x69a7: 0x4026a020, + 0x69a8: 0x4026a220, 0x69a9: 0x4026a420, 0x69aa: 0x4026a620, 0x69ab: 0x4026a820, + 0x69ac: 0x4026aa20, 0x69ad: 0x4026ac20, 0x69ae: 0x4026ae20, 0x69af: 0x4026b020, + 0x69b0: 0x4026b220, 0x69b1: 0x4026b420, 0x69b2: 0x4026b620, 0x69b3: 0x4026b820, + 0x69b4: 0x4026ba20, 0x69b5: 0x4026bc20, 0x69b6: 0x4026be20, 0x69b7: 0x4026c020, + 0x69b8: 0x4026c220, 0x69b9: 0x4026c420, 0x69ba: 0x4026c620, 0x69bb: 0x4026c820, + 0x69bc: 0x4026ca20, 0x69bd: 0x4026cc20, 0x69be: 0x4026ce20, 0x69bf: 0x4026d020, + // Block 0x1a7, offset 0x69c0 + 0x69c0: 0x4026d220, 0x69c1: 0x4026d420, 0x69c2: 0x4026d620, 0x69c3: 0x4026d820, + 0x69c4: 0x4026da20, 0x69c5: 0x4026dc20, 0x69c6: 0x4026de20, 0x69c7: 0x4026e020, + 0x69c8: 0x4026e220, 0x69c9: 0x4026e420, 0x69ca: 0x4026e620, 0x69cb: 0x4026e820, + 0x69cc: 0x4026ea20, 0x69cd: 0x4026ec20, 0x69ce: 0x4026ee20, 0x69cf: 0x4026f020, + 0x69d0: 0x4026f220, 0x69d1: 0x4026f420, 0x69d2: 0x4026f620, 0x69d3: 0x4026f820, + 0x69d4: 0x4026fa20, 0x69d5: 0x4026fc20, 0x69d6: 0x4026fe20, 0x69d7: 0x40270020, + 0x69d8: 0x40270220, 0x69d9: 0x40270420, 0x69da: 0x40270620, 0x69db: 0x40270820, + 0x69dc: 0x40270a20, 0x69dd: 0x40270c20, 0x69de: 0x40270e20, 0x69df: 0x40271020, + 0x69e0: 0x40271220, 0x69e1: 0x40271420, 0x69e2: 0x40271620, 0x69e3: 0x40271820, + 0x69e4: 0x40271a20, 0x69e5: 0x40271c20, 0x69e6: 0x40271e20, 0x69e7: 0x40272020, + 0x69e8: 0x40272220, 0x69e9: 0x40272420, 0x69ea: 0x40272620, 0x69eb: 0x40272820, + 0x69ec: 0x40272a20, 0x69ed: 0x40272c20, 0x69ee: 0x40272e20, 0x69ef: 0x40273020, + 0x69f0: 0x40273220, 0x69f1: 0x40273420, 0x69f2: 0x40273620, 0x69f3: 0x40273820, + // Block 0x1a8, offset 0x6a00 + 0x6a00: 0x429c7a20, 0x6a01: 0x429c7020, 0x6a02: 0x429c8220, 0x6a03: 0x48024420, + 0x6a04: 0x429ec020, 0x6a05: 0x429f5c20, 0x6a06: 0x429f7620, 0x6a07: 0x42a00420, + 0x6a08: 0x42a0f420, 0x6a09: 0x42a13220, 0x6a0a: 0x42a1ce20, 0x6a0b: 0x42a19e20, + 0x6a0c: 0x44693c20, 0x6a0d: 0x480c7420, 0x6a0e: 0x42a29a20, 0x6a0f: 0x42a2a820, + 0x6a10: 0x42a2c820, 0x6a11: 0x42a2ee20, 0x6a12: 0x480a3820, 0x6a13: 0x44697220, + 0x6a14: 0x42a2ce20, 0x6a15: 0x42a31a20, 0x6a16: 0x480a9620, 0x6a17: 0x42a32e20, + 0x6a18: 0x42a34820, 0x6a19: 0x429d9820, 0x6a1a: 0x42a35820, 0x6a1b: 0x42a36a20, + 0x6a1c: 0x4923be20, 0x6a1d: 0x42a3ea20, 0x6a1e: 0x42a40620, 0x6a1f: 0x4469be20, + 0x6a20: 0x42a47620, 0x6a21: 0x42a48c20, 0x6a22: 0x42a4e420, 0x6a23: 0x42a4ee20, + 0x6a24: 0x446a2a20, 0x6a25: 0x42a58e20, 0x6a26: 0x42a59220, 0x6a27: 0x42a5c820, + 0x6a28: 0x42a5f420, 0x6a29: 0x42a60a20, 0x6a2a: 0x42a60c20, 0x6a2b: 0x42a62e20, + 0x6a2c: 0x42a69220, 0x6a2d: 0x42a6a220, 0x6a2e: 0x42a6b420, 0x6a2f: 0x42a6e620, + 0x6a30: 0x42a6fa20, 0x6a31: 0x42a6fe20, 0x6a32: 0x42a6fe20, 0x6a33: 0x42a6fe20, + 0x6a34: 0x48145820, 0x6a35: 0x42e0e020, 0x6a36: 0x42a79420, 0x6a37: 0x42a7be20, + 0x6a38: 0x4816c620, 0x6a39: 0x42a7d620, 0x6a3a: 0x42a7e220, 0x6a3b: 0x42a80c20, + 0x6a3c: 0x42a93c20, 0x6a3d: 0x42a87020, 0x6a3e: 0x42a89020, 0x6a3f: 0x42a8d020, + // Block 0x1a9, offset 0x6a40 + 0x6a40: 0x42a94420, 0x6a41: 0x42a9ec20, 0x6a42: 0x42aa2020, 0x6a43: 0x42aaa620, + 0x6a44: 0x42aac620, 0x6a45: 0x42ab0820, 0x6a46: 0x42ab0820, 0x6a47: 0x42ab3220, + 0x6a48: 0x42ab5620, 0x6a49: 0x42ab6620, 0x6a4a: 0x42ab8420, 0x6a4b: 0x42ae2c20, + 0x6a4c: 0x42ac0c20, 0x6a4d: 0x42ae2e20, 0x6a4e: 0x42aca220, 0x6a4f: 0x42ace820, + 0x6a50: 0x42a40e20, 0x6a51: 0x42b1dc20, 0x6a52: 0x42af9c20, 0x6a53: 0x42afe820, + 0x6a54: 0x42b01a20, 0x6a55: 0x42af1620, 0x6a56: 0x42b06420, 0x6a57: 0x42b06220, + 0x6a58: 0x42b15820, 0x6a59: 0x4829c820, 0x6a5a: 0x42b1e420, 0x6a5b: 0x42b1ee20, + 0x6a5c: 0x42b20c20, 0x6a5d: 0x42b23420, 0x6a5e: 0x42b24420, 0x6a5f: 0x42b2c420, + 0x6a60: 0x482d5020, 0x6a61: 0x482dd420, 0x6a62: 0x42b3d820, 0x6a63: 0x42b43620, + 0x6a64: 0x42b44e20, 0x6a65: 0x42b3b020, 0x6a66: 0x42b4cc20, 0x6a67: 0x446ddc20, + 0x6a68: 0x446df820, 0x6a69: 0x42b61020, 0x6a6a: 0x42b67c20, 0x6a6b: 0x42b67c20, + 0x6a6c: 0x48339020, 0x6a6d: 0x42b78620, 0x6a6e: 0x42b7b020, 0x6a6f: 0x42b7ce20, + 0x6a70: 0x42b7e620, 0x6a71: 0x48363020, 0x6a72: 0x42b7fe20, 0x6a73: 0x42b80c20, + 0x6a74: 0x42bea620, 0x6a75: 0x42b84420, 0x6a76: 0x446f0220, 0x6a77: 0x42b8c020, + 0x6a78: 0x42b8dc20, 0x6a79: 0x42b98020, 0x6a7a: 0x42b91a20, 0x6a7b: 0x483bc820, + 0x6a7c: 0x42ba8620, 0x6a7d: 0x483bcc20, 0x6a7e: 0x42badc20, 0x6a7f: 0x42bad620, + // Block 0x1aa, offset 0x6a80 + 0x6a80: 0x42baf820, 0x6a81: 0x42bbc220, 0x6a82: 0x42bbc420, 0x6a83: 0x44705e20, + 0x6a84: 0x42bbfa20, 0x6a85: 0x42bc5020, 0x6a86: 0x42bc7a20, 0x6a87: 0x42bcd220, + 0x6a88: 0x4470c420, 0x6a89: 0x48430620, 0x6a8a: 0x4470f820, 0x6a8b: 0x42bd6020, + 0x6a8c: 0x42bd6620, 0x6a8d: 0x42bd6c20, 0x6a8e: 0x42bd9420, 0x6a8f: 0x49472420, + 0x6a90: 0x42bdfc20, 0x6a91: 0x48466220, 0x6a92: 0x48466220, 0x6a93: 0x43040220, + 0x6a94: 0x42be4420, 0x6a95: 0x42be4420, 0x6a96: 0x44718e20, 0x6a97: 0x48657020, + 0x6a98: 0x48c3b420, 0x6a99: 0x42bec420, 0x6a9a: 0x42bed620, 0x6a9b: 0x4471c620, + 0x6a9c: 0x42bf3420, 0x6a9d: 0x42bf9a20, 0x6a9e: 0x42bfae20, 0x6a9f: 0x42bff220, + 0x6aa0: 0x42c10220, 0x6aa1: 0x44727420, 0x6aa2: 0x44723820, 0x6aa3: 0x42c12820, + 0x6aa4: 0x484da820, 0x6aa5: 0x42c18e20, 0x6aa6: 0x42c29020, 0x6aa7: 0x42c29820, + 0x6aa8: 0x42c29c20, 0x6aa9: 0x42c29820, 0x6aaa: 0x42c2f420, 0x6aab: 0x42c31c20, + 0x6aac: 0x42c36420, 0x6aad: 0x42c34820, 0x6aae: 0x42c35e20, 0x6aaf: 0x42c3bc20, + 0x6ab0: 0x42c3e420, 0x6ab1: 0x42c3ec20, 0x6ab2: 0x42c42020, 0x6ab3: 0x42c43620, + 0x6ab4: 0x42c4ba20, 0x6ab5: 0x42c56220, 0x6ab6: 0x42c5a820, 0x6ab7: 0x42c6a020, + 0x6ab8: 0x48561820, 0x6ab9: 0x42c67a20, 0x6aba: 0x42c5f820, 0x6abb: 0x42c6d020, + 0x6abc: 0x42c70620, 0x6abd: 0x42c7c820, 0x6abe: 0x4857e220, 0x6abf: 0x42c84420, + // Block 0x1ab, offset 0x6ac0 + 0x6ac0: 0x42c78a20, 0x6ac1: 0x42c75220, 0x6ac2: 0x44745c20, 0x6ac3: 0x42c8d220, + 0x6ac4: 0x42c8fc20, 0x6ac5: 0x42c93a20, 0x6ac6: 0x42c8ee20, 0x6ac7: 0x4474d820, + 0x6ac8: 0x42ca9e20, 0x6ac9: 0x42cad820, 0x6aca: 0x48601420, 0x6acb: 0x42cbc620, + 0x6acc: 0x42cdf020, 0x6acd: 0x42cc9220, 0x6ace: 0x44763220, 0x6acf: 0x42cd2220, + 0x6ad0: 0x44761020, 0x6ad1: 0x4475c820, 0x6ad2: 0x42a32420, 0x6ad3: 0x42a32a20, + 0x6ad4: 0x42ce0020, 0x6ad5: 0x42cd3820, 0x6ad6: 0x43015a20, 0x6ad7: 0x4487b220, + 0x6ad8: 0x42ce2e20, 0x6ad9: 0x42ce3620, 0x6ada: 0x42ce4220, 0x6adb: 0x42cebc20, + 0x6adc: 0x42cea620, 0x6add: 0x48678620, 0x6ade: 0x44769220, 0x6adf: 0x42cff420, + 0x6ae0: 0x42cf0a20, 0x6ae1: 0x42d0a420, 0x6ae2: 0x42d10a20, 0x6ae3: 0x4868da20, + 0x6ae4: 0x42d11c20, 0x6ae5: 0x42d03e20, 0x6ae6: 0x42d22820, 0x6ae7: 0x44773a20, + 0x6ae8: 0x42d28420, 0x6ae9: 0x42d34620, 0x6aea: 0x42d3d420, 0x6aeb: 0x42d55020, + 0x6aec: 0x486d4620, 0x6aed: 0x42d5b620, 0x6aee: 0x44783020, 0x6aef: 0x42d64220, + 0x6af0: 0x48714e20, 0x6af1: 0x42d6a820, 0x6af2: 0x44789c20, 0x6af3: 0x42d6e420, + 0x6af4: 0x42d73e20, 0x6af5: 0x42d77420, 0x6af6: 0x42d77620, 0x6af7: 0x48751a20, + 0x6af8: 0x483a1620, 0x6af9: 0x4875f420, 0x6afa: 0x42d89c20, 0x6afb: 0x48797820, + 0x6afc: 0x42d97e20, 0x6afd: 0x42d99a20, 0x6afe: 0x42d8ce20, 0x6aff: 0x42da2c20, + // Block 0x1ac, offset 0x6b00 + 0x6b00: 0x42da7c20, 0x6b01: 0x42daee20, 0x6b02: 0x42da8220, 0x6b03: 0x42dad220, + 0x6b04: 0x42daf020, 0x6b05: 0x42db0a20, 0x6b06: 0x487a3c20, 0x6b07: 0x42da6820, + 0x6b08: 0x42dc5e20, 0x6b09: 0x42dcdc20, 0x6b0a: 0x447a6620, 0x6b0b: 0x42dd9620, + 0x6b0c: 0x42dd8e20, 0x6b0d: 0x487da220, 0x6b0e: 0x42dbf220, 0x6b0f: 0x42dedc20, + 0x6b10: 0x487ebc20, 0x6b11: 0x487f1c20, 0x6b12: 0x42df8c20, 0x6b13: 0x42e07220, + 0x6b14: 0x42e03c20, 0x6b15: 0x42e03620, 0x6b16: 0x447b2c20, 0x6b17: 0x42e09420, + 0x6b18: 0x42e0fa20, 0x6b19: 0x42e0ee20, 0x6b1a: 0x42e15a20, 0x6b1b: 0x480a4a20, + 0x6b1c: 0x42e28a20, 0x6b1d: 0x4884c620, 0x6b1e: 0x42e33820, 0x6b1f: 0x48875620, + 0x6b20: 0x42e45020, 0x6b21: 0x42e46a20, 0x6b22: 0x42e4a020, 0x6b23: 0x488c1020, + 0x6b24: 0x42e50020, 0x6b25: 0x42e52a20, 0x6b26: 0x488e6a20, 0x6b27: 0x48902820, + 0x6b28: 0x42e6f420, 0x6b29: 0x42e71620, 0x6b2a: 0x447d5820, 0x6b2b: 0x42e74a20, + 0x6b2c: 0x447d7020, 0x6b2d: 0x447d7020, 0x6b2e: 0x42e88e20, 0x6b2f: 0x42e8b820, + 0x6b30: 0x42e8e220, 0x6b31: 0x42e90a20, 0x6b32: 0x42e99420, 0x6b33: 0x447e3620, + 0x6b34: 0x42ea4820, 0x6b35: 0x48986c20, 0x6b36: 0x42ea7c20, 0x6b37: 0x48992420, + 0x6b38: 0x42eae020, 0x6b39: 0x48433e20, 0x6b3a: 0x42ec2020, 0x6b3b: 0x489f4220, + 0x6b3c: 0x489f7020, 0x6b3d: 0x48a08820, 0x6b3e: 0x447ff820, 0x6b3f: 0x44801020, + // Block 0x1ad, offset 0x6b40 + 0x6b40: 0x42ede820, 0x6b41: 0x48a1e620, 0x6b42: 0x48a1e420, 0x6b43: 0x48a23220, + 0x6b44: 0x48a26620, 0x6b45: 0x42ee3c20, 0x6b46: 0x42ee3e20, 0x6b47: 0x42ee3e20, + 0x6b48: 0x42ee9420, 0x6b49: 0x44807220, 0x6b4a: 0x42ef1620, 0x6b4b: 0x44808c20, + 0x6b4c: 0x44812c20, 0x6b4d: 0x48a83a20, 0x6b4e: 0x42f09c20, 0x6b4f: 0x42f11820, + 0x6b50: 0x42f19820, 0x6b51: 0x4481c620, 0x6b52: 0x48ac4c20, 0x6b53: 0x42f2ac20, + 0x6b54: 0x48ad3420, 0x6b55: 0x48ad8a20, 0x6b56: 0x42f31e20, 0x6b57: 0x42f3d620, + 0x6b58: 0x44825e20, 0x6b59: 0x42f48020, 0x6b5a: 0x42f49420, 0x6b5b: 0x42f49e20, + 0x6b5c: 0x48b2f820, 0x6b5d: 0x48b54e20, 0x6b5e: 0x48b54e20, 0x6b5f: 0x42f5dc20, + 0x6b60: 0x44840420, 0x6b61: 0x48b75620, 0x6b62: 0x42f78c20, 0x6b63: 0x42f79220, + 0x6b64: 0x44844e20, 0x6b65: 0x48b90020, 0x6b66: 0x42f9a420, 0x6b67: 0x44854020, + 0x6b68: 0x42f9d020, 0x6b69: 0x42f9c620, 0x6b6a: 0x42fa0020, 0x6b6b: 0x48bf0c20, + 0x6b6c: 0x42fac620, 0x6b6d: 0x44860220, 0x6b6e: 0x42fb8e20, 0x6b6f: 0x42fc0420, + 0x6b70: 0x42fc8a20, 0x6b71: 0x44866820, 0x6b72: 0x48c45020, 0x6b73: 0x48c48e20, + 0x6b74: 0x4486b220, 0x6b75: 0x48c5b220, 0x6b76: 0x42fef420, 0x6b77: 0x48c67c20, + 0x6b78: 0x42ff2a20, 0x6b79: 0x42fff420, 0x6b7a: 0x43000a20, 0x6b7b: 0x48c9b420, + 0x6b7c: 0x48ca4620, 0x6b7d: 0x4300c020, 0x6b7e: 0x48cb5020, 0x6b7f: 0x4300e020, + // Block 0x1ae, offset 0x6b80 + 0x6b80: 0x4866be20, 0x6b81: 0x4487aa20, 0x6b82: 0x43016420, 0x6b83: 0x43020620, + 0x6b84: 0x44881620, 0x6b85: 0x43027c20, 0x6b86: 0x42b56a20, 0x6b87: 0x48cf4e20, + 0x6b88: 0x48cf6a20, 0x6b89: 0x48672620, 0x6b8a: 0x48673820, 0x6b8b: 0x43040220, + 0x6b8c: 0x43040820, 0x6b8d: 0x431f3c20, 0x6b8e: 0x4488d620, 0x6b8f: 0x43052220, + 0x6b90: 0x43051620, 0x6b91: 0x43053a20, 0x6b92: 0x42a56620, 0x6b93: 0x43056220, + 0x6b94: 0x43056620, 0x6b95: 0x43057a20, 0x6b96: 0x4305cc20, 0x6b97: 0x48d67820, + 0x6b98: 0x4305ca20, 0x6b99: 0x43063a20, 0x6b9a: 0x4306c620, 0x6b9b: 0x43075a20, + 0x6b9c: 0x43064620, 0x6b9d: 0x43077a20, 0x6b9e: 0x4307ce20, 0x6b9f: 0x4308ae20, + 0x6ba0: 0x4306a620, 0x6ba1: 0x43079420, 0x6ba2: 0x43079820, 0x6ba3: 0x4307b820, + 0x6ba4: 0x48d86c20, 0x6ba5: 0x48dad620, 0x6ba6: 0x48d9aa20, 0x6ba7: 0x448a5620, + 0x6ba8: 0x4309e220, 0x6ba9: 0x4309e620, 0x6baa: 0x430a2c20, 0x6bab: 0x48e79420, + 0x6bac: 0x430ac820, 0x6bad: 0x48de5820, 0x6bae: 0x448aba20, 0x6baf: 0x448ac220, + 0x6bb0: 0x48df6220, 0x6bb1: 0x48e1a420, 0x6bb2: 0x448ad620, 0x6bb3: 0x430ca020, + 0x6bb4: 0x430cb820, 0x6bb5: 0x430cce20, 0x6bb6: 0x430cd220, 0x6bb7: 0x430d5220, + 0x6bb8: 0x430d1020, 0x6bb9: 0x430e1c20, 0x6bba: 0x430dc420, 0x6bbb: 0x430ef220, + 0x6bbc: 0x430e5020, 0x6bbd: 0x430ed620, 0x6bbe: 0x430f0c20, 0x6bbf: 0x448bae20, + // Block 0x1af, offset 0x6bc0 + 0x6bc0: 0x430fc220, 0x6bc1: 0x43100220, 0x6bc2: 0x448bf220, 0x6bc3: 0x4310c020, + 0x6bc4: 0x4310c620, 0x6bc5: 0x48ecce20, 0x6bc6: 0x4311ae20, 0x6bc7: 0x4311bc20, + 0x6bc8: 0x448c6a20, 0x6bc9: 0x4311f420, 0x6bca: 0x44697620, 0x6bcb: 0x48f15c20, + 0x6bcc: 0x48f2cc20, 0x6bcd: 0x448d7c20, 0x6bce: 0x448d8e20, 0x6bcf: 0x43154020, + 0x6bd0: 0x4315da20, 0x6bd1: 0x43171420, 0x6bd2: 0x4318aa20, 0x6bd3: 0x48f95020, + 0x6bd4: 0x43195620, 0x6bd5: 0x43198220, 0x6bd6: 0x431a3620, 0x6bd7: 0x431aee20, + 0x6bd8: 0x48fe5e20, 0x6bd9: 0x48100820, 0x6bda: 0x431b9620, 0x6bdb: 0x431b7820, + 0x6bdc: 0x431be020, 0x6bdd: 0x4811bc20, 0x6bde: 0x431da820, 0x6bdf: 0x431e7020, + 0x6be0: 0x490ba420, 0x6be1: 0x490bda20, 0x6be2: 0x43212820, 0x6be3: 0x4321e220, + 0x6be4: 0x43222220, 0x6be5: 0x490e5c20, 0x6be6: 0x43223620, 0x6be7: 0x43247020, + 0x6be8: 0x4325ae20, 0x6be9: 0x4325b020, 0x6bea: 0x4324f820, 0x6beb: 0x4327f220, + 0x6bec: 0x43282a20, 0x6bed: 0x4917f420, 0x6bee: 0x432b1620, 0x6bef: 0x44932a20, + 0x6bf0: 0x432b6e20, 0x6bf1: 0x491aee20, 0x6bf2: 0x4493cc20, 0x6bf3: 0x432d8620, + 0x6bf4: 0x42bb6420, 0x6bf5: 0x432e4620, 0x6bf6: 0x49228a20, 0x6bf7: 0x49243420, + 0x6bf8: 0x4494dc20, 0x6bf9: 0x4494ec20, 0x6bfa: 0x432fc020, 0x6bfb: 0x49281420, + 0x6bfc: 0x44956420, 0x6bfd: 0x49292c20, 0x6bfe: 0x43301620, 0x6bff: 0x43301620, + // Block 0x1b0, offset 0x6c00 + 0x6c00: 0x43305220, 0x6c01: 0x492b6c20, 0x6c02: 0x4331c420, 0x6c03: 0x44966620, + 0x6c04: 0x43325220, 0x6c05: 0x43334e20, 0x6c06: 0x43338420, 0x6c07: 0x4333fc20, + 0x6c08: 0x44979c20, 0x6c09: 0x49366020, 0x6c0a: 0x43362420, 0x6c0b: 0x43388020, + 0x6c0c: 0x4339fa20, 0x6c0d: 0x44999c20, 0x6c0e: 0x4499da20, 0x6c0f: 0x433ace20, + 0x6c10: 0x49419c20, 0x6c11: 0x4499f020, 0x6c12: 0x49420a20, 0x6c13: 0x49441c20, + 0x6c14: 0x49452220, 0x6c15: 0x433d7620, 0x6c16: 0x449aac20, 0x6c17: 0x433df220, + 0x6c18: 0x433dfc20, 0x6c19: 0x433e0a20, 0x6c1a: 0x433e1e20, 0x6c1b: 0x433e2c20, + 0x6c1c: 0x433e7620, 0x6c1d: 0x494c0020, + // Block 0x1b1, offset 0x6c40 + 0x6c41: 0xa0000000, + 0x6c60: 0xa0000000, 0x6c61: 0xa0000000, 0x6c62: 0xa0000000, 0x6c63: 0xa0000000, + 0x6c64: 0xa0000000, 0x6c65: 0xa0000000, 0x6c66: 0xa0000000, 0x6c67: 0xa0000000, + 0x6c68: 0xa0000000, 0x6c69: 0xa0000000, 0x6c6a: 0xa0000000, 0x6c6b: 0xa0000000, + 0x6c6c: 0xa0000000, 0x6c6d: 0xa0000000, 0x6c6e: 0xa0000000, 0x6c6f: 0xa0000000, + 0x6c70: 0xa0000000, 0x6c71: 0xa0000000, 0x6c72: 0xa0000000, 0x6c73: 0xa0000000, + 0x6c74: 0xa0000000, 0x6c75: 0xa0000000, 0x6c76: 0xa0000000, 0x6c77: 0xa0000000, + 0x6c78: 0xa0000000, 0x6c79: 0xa0000000, 0x6c7a: 0xa0000000, 0x6c7b: 0xa0000000, + 0x6c7c: 0xa0000000, 0x6c7d: 0xa0000000, 0x6c7e: 0xa0000000, 0x6c7f: 0xa0000000, + // Block 0x1b2, offset 0x6c80 + 0x6c80: 0xa0000000, 0x6c81: 0xa0000000, 0x6c82: 0xa0000000, 0x6c83: 0xa0000000, + 0x6c84: 0xa0000000, 0x6c85: 0xa0000000, 0x6c86: 0xa0000000, 0x6c87: 0xa0000000, + 0x6c88: 0xa0000000, 0x6c89: 0xa0000000, 0x6c8a: 0xa0000000, 0x6c8b: 0xa0000000, + 0x6c8c: 0xa0000000, 0x6c8d: 0xa0000000, 0x6c8e: 0xa0000000, 0x6c8f: 0xa0000000, + 0x6c90: 0xa0000000, 0x6c91: 0xa0000000, 0x6c92: 0xa0000000, 0x6c93: 0xa0000000, + 0x6c94: 0xa0000000, 0x6c95: 0xa0000000, 0x6c96: 0xa0000000, 0x6c97: 0xa0000000, + 0x6c98: 0xa0000000, 0x6c99: 0xa0000000, 0x6c9a: 0xa0000000, 0x6c9b: 0xa0000000, + 0x6c9c: 0xa0000000, 0x6c9d: 0xa0000000, 0x6c9e: 0xa0000000, 0x6c9f: 0xa0000000, + 0x6ca0: 0xa0000000, 0x6ca1: 0xa0000000, 0x6ca2: 0xa0000000, 0x6ca3: 0xa0000000, + 0x6ca4: 0xa0000000, 0x6ca5: 0xa0000000, 0x6ca6: 0xa0000000, 0x6ca7: 0xa0000000, + 0x6ca8: 0xa0000000, 0x6ca9: 0xa0000000, 0x6caa: 0xa0000000, 0x6cab: 0xa0000000, + 0x6cac: 0xa0000000, 0x6cad: 0xa0000000, 0x6cae: 0xa0000000, 0x6caf: 0xa0000000, + 0x6cb0: 0xa0000000, 0x6cb1: 0xa0000000, 0x6cb2: 0xa0000000, 0x6cb3: 0xa0000000, + 0x6cb4: 0xa0000000, 0x6cb5: 0xa0000000, 0x6cb6: 0xa0000000, 0x6cb7: 0xa0000000, + 0x6cb8: 0xa0000000, 0x6cb9: 0xa0000000, 0x6cba: 0xa0000000, 0x6cbb: 0xa0000000, + 0x6cbc: 0xa0000000, 0x6cbd: 0xa0000000, 0x6cbe: 0xa0000000, 0x6cbf: 0xa0000000, + // Block 0x1b3, offset 0x6cc0 + 0x6cc0: 0xa0000000, 0x6cc1: 0xa0000000, 0x6cc2: 0xa0000000, 0x6cc3: 0xa0000000, + 0x6cc4: 0xa0000000, 0x6cc5: 0xa0000000, 0x6cc6: 0xa0000000, 0x6cc7: 0xa0000000, + 0x6cc8: 0xa0000000, 0x6cc9: 0xa0000000, 0x6cca: 0xa0000000, 0x6ccb: 0xa0000000, + 0x6ccc: 0xa0000000, 0x6ccd: 0xa0000000, 0x6cce: 0xa0000000, 0x6ccf: 0xa0000000, + 0x6cd0: 0xa0000000, 0x6cd1: 0xa0000000, 0x6cd2: 0xa0000000, 0x6cd3: 0xa0000000, + 0x6cd4: 0xa0000000, 0x6cd5: 0xa0000000, 0x6cd6: 0xa0000000, 0x6cd7: 0xa0000000, + 0x6cd8: 0xa0000000, 0x6cd9: 0xa0000000, 0x6cda: 0xa0000000, 0x6cdb: 0xa0000000, + 0x6cdc: 0xa0000000, 0x6cdd: 0xa0000000, 0x6cde: 0xa0000000, 0x6cdf: 0xa0000000, + 0x6ce0: 0xa0000000, 0x6ce1: 0xa0000000, 0x6ce2: 0xa0000000, 0x6ce3: 0xa0000000, + 0x6ce4: 0xa0000000, 0x6ce5: 0xa0000000, 0x6ce6: 0xa0000000, 0x6ce7: 0xa0000000, + 0x6ce8: 0xa0000000, 0x6ce9: 0xa0000000, 0x6cea: 0xa0000000, 0x6ceb: 0xa0000000, + 0x6cec: 0xa0000000, 0x6ced: 0xa0000000, 0x6cee: 0xa0000000, 0x6cef: 0xa0000000, + // Block 0x1b4, offset 0x6d00 + 0x6d00: 0xa0000000, 0x6d01: 0xa0000000, 0x6d02: 0xa0000000, 0x6d03: 0xa0000000, + 0x6d04: 0xa0000000, 0x6d05: 0xa0000000, 0x6d06: 0xa0000000, 0x6d07: 0xa0000000, + 0x6d08: 0xa0000000, 0x6d09: 0x40020020, 0x6d0a: 0x40020220, 0x6d0b: 0x40020420, + 0x6d0c: 0x40020620, 0x6d0d: 0x40020820, 0x6d0e: 0xa0000000, 0x6d0f: 0xa0000000, + 0x6d10: 0xa0000000, 0x6d11: 0xa0000000, 0x6d12: 0xa0000000, 0x6d13: 0xa0000000, + 0x6d14: 0xa0000000, 0x6d15: 0xa0000000, 0x6d16: 0xa0000000, 0x6d17: 0xa0000000, + 0x6d18: 0xa0000000, 0x6d19: 0xa0000000, 0x6d1a: 0xa0000000, 0x6d1b: 0xa0000000, + 0x6d1c: 0xa0000000, 0x6d1d: 0xa0000000, 0x6d1e: 0xa0000000, 0x6d1f: 0xa0000000, + 0x6d20: 0x40021220, 0x6d21: 0x4002ba20, 0x6d22: 0x4003e020, 0x6d23: 0x4004ea20, + 0x6d24: 0x4027de20, 0x6d25: 0x4004ec20, 0x6d26: 0x4004e620, 0x6d27: 0x4003d220, + 0x6d28: 0x4003f420, 0x6d29: 0x4003f620, 0x6d2a: 0x4004d820, 0x6d2b: 0x40093820, + 0x6d2c: 0x40024020, 0x6d2d: 0x40021a20, 0x6d2e: 0x4002e420, 0x6d2f: 0x4004e220, + 0x6d30: 0x4029cc20, 0x6d31: 0x4029ce20, 0x6d32: 0x4029d020, 0x6d33: 0x4029d220, + 0x6d34: 0x4029d420, 0x6d35: 0x4029d620, 0x6d36: 0x4029d820, 0x6d37: 0x4029da20, + 0x6d38: 0x4029dc20, 0x6d39: 0x4029de20, 0x6d3a: 0x40026c20, 0x6d3b: 0x40026220, + 0x6d3c: 0x40094020, 0x6d3d: 0x40094220, 0x6d3e: 0x40094420, 0x6d3f: 0x4002c420, + // Block 0x1b5, offset 0x6d40 + 0x6d40: 0x4004d620, 0x6d41: 0x002bde88, 0x6d42: 0x002c0a88, 0x6d43: 0x002c3a88, + 0x6d44: 0x002c6288, 0x6d45: 0x002c1083, 0x6d46: 0x002d0888, 0x6d47: 0x002d2288, + 0x6d48: 0x0030e483, 0x6d49: 0x002c4083, 0x6d4a: 0x002dcc88, 0x6d4b: 0x002c3c83, + 0x6d4c: 0xc0030002, 0x6d4d: 0x002e8288, 0x6d4e: 0x002e9e88, 0x6d4f: 0x002d2483, + 0x6d50: 0x002f2c88, 0x6d51: 0x002c6483, 0x6d52: 0x002c6683, 0x6d53: 0x002c0e83, + 0x6d54: 0x002c0c83, 0x6d55: 0x00306c88, 0x6d56: 0x0030be88, 0x6d57: 0x0030e288, + 0x6d58: 0x002c3e83, 0x6d59: 0x00310088, 0x6d5a: 0x00312a88, 0x6d5b: 0x4003f820, + 0x6d5c: 0x4004e420, 0x6d5d: 0x4003fa20, 0x6d5e: 0x40062420, 0x6d5f: 0x40021620, + 0x6d60: 0x40061e20, 0x6d61: 0x402bde20, 0x6d62: 0x402c0a20, 0x6d63: 0x402c3a20, + 0x6d64: 0x402c6220, 0x6d65: 0x402c1020, 0x6d66: 0x402d0820, 0x6d67: 0x402d2220, + 0x6d68: 0x4030e420, 0x6d69: 0x402c4020, 0x6d6a: 0x402dcc20, 0x6d6b: 0x402c3c20, + 0x6d6c: 0xc0000002, 0x6d6d: 0x402e8220, 0x6d6e: 0x402e9e20, 0x6d6f: 0x402d2420, + 0x6d70: 0x402f2c20, 0x6d71: 0x402c6420, 0x6d72: 0x402c6620, 0x6d73: 0x402c0e20, + 0x6d74: 0x402c0c20, 0x6d75: 0x40306c20, 0x6d76: 0x4030be20, 0x6d77: 0x4030e220, + 0x6d78: 0x402c3e20, 0x6d79: 0x40310020, 0x6d7a: 0x40312a20, 0x6d7b: 0x4003fc20, + 0x6d7c: 0x40094820, 0x6d7d: 0x4003fe20, 0x6d7e: 0x40094c20, 0x6d7f: 0xa0000000, + // Block 0x1b6, offset 0x6d80 + 0x6d80: 0xe00008f5, 0x6d81: 0xe00008ef, 0x6d82: 0xe0000921, 0x6d83: 0xe0000969, + 0x6d84: 0xe000095b, 0x6d85: 0xe000094d, 0x6d86: 0xe00009dd, 0x6d87: 0xe0000a53, + 0x6d88: 0xe000256e, 0x6d89: 0xe0002568, 0x6d8a: 0xe000257a, 0x6d8b: 0xe00025a6, + 0x6d8c: 0xe000263e, 0x6d8d: 0xe0002638, 0x6d8e: 0xe000264a, 0x6d8f: 0xe0002656, + 0x6d90: 0xe0000ab3, 0x6d91: 0xe0000d63, 0x6d92: 0xe00026db, 0x6d93: 0xe00026d5, + 0x6d94: 0xe00026e7, 0x6d95: 0xe0002727, 0x6d96: 0xe0002713, 0x6d97: 0x40093e20, + 0x6d98: 0xe0000e12, 0x6d99: 0xe0000fe1, 0x6d9a: 0xe0000fdb, 0x6d9b: 0xe0000fed, + 0x6d9c: 0xe0000fff, 0x6d9d: 0xe0001102, 0x6d9e: 0x00318888, 0x6d9f: 0xe0000f7b, + 0x6da0: 0xe00008f2, 0x6da1: 0xe00008ec, 0x6da2: 0xe000091e, 0x6da3: 0xe0000966, + 0x6da4: 0xe0000958, 0x6da5: 0xe000094a, 0x6da6: 0xe00009d5, 0x6da7: 0xe0000a4d, + 0x6da8: 0xe000256b, 0x6da9: 0xe0002565, 0x6daa: 0xe0002577, 0x6dab: 0xe00025a3, + 0x6dac: 0xe000263b, 0x6dad: 0xe0002635, 0x6dae: 0xe0002647, 0x6daf: 0xe0002653, + 0x6db0: 0xe0000aad, 0x6db1: 0xe0000d60, 0x6db2: 0xe00026d8, 0x6db3: 0xe00026d2, + 0x6db4: 0xe00026e4, 0x6db5: 0xe0002724, 0x6db6: 0xe0002710, 0x6db7: 0x40093c20, + 0x6db8: 0xe0000e0f, 0x6db9: 0xe0000fde, 0x6dba: 0xe0000fd8, 0x6dbb: 0xe0000fea, + 0x6dbc: 0xe0000ffc, 0x6dbd: 0xe00010ff, 0x6dbe: 0x40318820, 0x6dbf: 0xe0001114, + // Block 0x1b7, offset 0x6dc0 + 0x6dc0: 0xe0000983, 0x6dc1: 0xe0000980, 0x6dc2: 0xe00008fb, 0x6dc3: 0xe00008f8, + 0x6dc4: 0xe000097d, 0x6dc5: 0xe000097a, 0x6dc6: 0xe0000a38, 0x6dc7: 0xe0000a35, + 0x6dc8: 0xe0000a3e, 0x6dc9: 0xe0000a3b, 0x6dca: 0xe0000a4a, 0x6dcb: 0xe0000a47, + 0x6dcc: 0xe0000a44, 0x6dcd: 0xe0000a41, 0x6dce: 0xe0000a86, 0x6dcf: 0xe0000a83, + 0x6dd0: 0xe0000aaa, 0x6dd1: 0xe0000aa7, 0x6dd2: 0xe00025cc, 0x6dd3: 0xe00025c9, + 0x6dd4: 0xe0002574, 0x6dd5: 0xe0002571, 0x6dd6: 0xe00025b2, 0x6dd7: 0xe00025af, + 0x6dd8: 0xe00025c6, 0x6dd9: 0xe00025c3, 0x6dda: 0xe00025a0, 0x6ddb: 0xe000259d, + 0x6ddc: 0xe0000bb8, 0x6ddd: 0xe0000bb5, 0x6dde: 0xe0000bb2, 0x6ddf: 0xe0000baf, + 0x6de0: 0xe0000bc4, 0x6de1: 0xe0000bc1, 0x6de2: 0xe0000bca, 0x6de3: 0xe0000bc7, + 0x6de4: 0xe0002856, 0x6de5: 0xe0002853, 0x6de6: 0xe0000c1b, 0x6de7: 0xe0000c18, + 0x6de8: 0xe0002664, 0x6de9: 0xe0002661, 0x6dea: 0xe0002673, 0x6deb: 0xe0002670, + 0x6dec: 0xe0002644, 0x6ded: 0xe0002641, 0x6dee: 0xe000266d, 0x6def: 0xe000266a, + 0x6df0: 0xe0002667, 0x6df1: 0x402da220, 0x6df2: 0xe00027e2, 0x6df3: 0xe00027df, + 0x6df4: 0xe0000c8a, 0x6df5: 0xe0000c87, 0x6df6: 0xe000261a, 0x6df7: 0xe0002617, + 0x6df8: 0x402f7220, 0x6df9: 0xe0000ccc, 0x6dfa: 0xe0000cc9, 0x6dfb: 0xe0000cd8, + 0x6dfc: 0xe0000cd5, 0x6dfd: 0xe0000cd2, 0x6dfe: 0xe0000ccf, 0x6dff: 0xe0000d04, + // Block 0x1b8, offset 0x6e00 + 0x6e00: 0xe0000cfe, 0x6e01: 0xe0000cf8, 0x6e02: 0xe0000cf5, 0x6e03: 0xe0000d51, + 0x6e04: 0xe0000d4e, 0x6e05: 0xe0000d6f, 0x6e06: 0xe0000d6c, 0x6e07: 0xe0000d5d, + 0x6e08: 0xe0000d5a, 0x6e09: 0xf0000404, 0x6e0a: 0x002eda88, 0x6e0b: 0x402eda20, + 0x6e0c: 0xe0002761, 0x6e0d: 0xe000275e, 0x6e0e: 0xe00026e1, 0x6e0f: 0xe00026de, + 0x6e10: 0xe0002721, 0x6e11: 0xe000271e, 0x6e12: 0xe0000e93, 0x6e13: 0xe0000e8f, + 0x6e14: 0xe0002697, 0x6e15: 0xe0002694, 0x6e16: 0xe00026a9, 0x6e17: 0xe00026a6, + 0x6e18: 0xe000269d, 0x6e19: 0xe000269a, 0x6e1a: 0xe0002526, 0x6e1b: 0xe0002523, + 0x6e1c: 0xe0002534, 0x6e1d: 0xe0002531, 0x6e1e: 0xe000254e, 0x6e1f: 0xe000254b, + 0x6e20: 0xe000253a, 0x6e21: 0xe0002537, 0x6e22: 0xe0002508, 0x6e23: 0xe0002505, + 0x6e24: 0xe00024f9, 0x6e25: 0xe00024f6, 0x6e26: 0x00303688, 0x6e27: 0x40303620, + 0x6e28: 0xe000102b, 0x6e29: 0xe0001028, 0x6e2a: 0xe000103f, 0x6e2b: 0xe000103c, + 0x6e2c: 0xe0000fe7, 0x6e2d: 0xe0000fe4, 0x6e2e: 0xe0000ff9, 0x6e2f: 0xe0000ff6, + 0x6e30: 0xe0001025, 0x6e31: 0xe0001022, 0x6e32: 0xe0001039, 0x6e33: 0xe0001036, + 0x6e34: 0xe00010d8, 0x6e35: 0xe00010d5, 0x6e36: 0xe000110e, 0x6e37: 0xe000110b, + 0x6e38: 0xe0001117, 0x6e39: 0xe000113b, 0x6e3a: 0xe0001138, 0x6e3b: 0xe000114d, + 0x6e3c: 0xe000114a, 0x6e3d: 0xe0001147, 0x6e3e: 0xe0001144, 0x6e3f: 0xe0000f64, + // Block 0x1b9, offset 0x6e40 + 0x6e40: 0x402c1a20, 0x6e41: 0x002c2a88, 0x6e42: 0x002c3288, 0x6e43: 0x402c3220, + 0x6e44: 0x0031c488, 0x6e45: 0x4031c420, 0x6e46: 0x002efa88, 0x6e47: 0x002c4e88, + 0x6e48: 0x402c4e20, 0x6e49: 0x002c7288, 0x6e4a: 0x002c7a88, 0x6e4b: 0x002c8488, + 0x6e4c: 0x402c8420, 0x6e4d: 0xe000115c, 0x6e4e: 0x002cae88, 0x6e4f: 0x002cb888, + 0x6e50: 0x002cc288, 0x6e51: 0x002d1688, 0x6e52: 0x402d1620, 0x6e53: 0x002d4488, + 0x6e54: 0x002d5888, 0x6e55: 0x402d7820, 0x6e56: 0x002dc288, 0x6e57: 0x002db688, + 0x6e58: 0x002e0a88, 0x6e59: 0x402e0a20, 0x6e5a: 0x402e3820, 0x6e5b: 0x402e7220, + 0x6e5c: 0x0030a088, 0x6e5d: 0x002eb488, 0x6e5e: 0x402ebc20, 0x6e5f: 0x002f1088, + 0x6e60: 0xe0002789, 0x6e61: 0xe0002786, 0x6e62: 0x002d6088, 0x6e63: 0x402d6020, + 0x6e64: 0x002f3e88, 0x6e65: 0x402f3e20, 0x6e66: 0x002f8288, 0x6e67: 0x0031b488, + 0x6e68: 0x4031b420, 0x6e69: 0x00300888, 0x6e6a: 0x40301220, 0x6e6b: 0x40304220, + 0x6e6c: 0x00304a88, 0x6e6d: 0x40304a20, 0x6e6e: 0x00305288, 0x6e6f: 0xe000105f, + 0x6e70: 0xe000105c, 0x6e71: 0x0030b488, 0x6e72: 0x0030cc88, 0x6e73: 0x00311888, + 0x6e74: 0x40311820, 0x6e75: 0x00313488, 0x6e76: 0x40313420, 0x6e77: 0x00316488, + 0x6e78: 0x00316e88, 0x6e79: 0x40316e20, 0x6e7a: 0x40317820, 0x6e7b: 0x4031a620, + 0x6e7c: 0x0031bc88, 0x6e7d: 0x4031bc20, 0x6e7e: 0xe0000fc9, 0x6e7f: 0x40319420, + // Block 0x1ba, offset 0x6e80 + 0x6e80: 0x40321220, 0x6e81: 0x40321a20, 0x6e82: 0x40322220, 0x6e83: 0x40322a20, + 0x6e84: 0xe0000ad5, 0x6e85: 0xe0000ad1, 0x6e86: 0xe0000acd, 0x6e87: 0xf0000a0a, + 0x6e88: 0xf000040a, 0x6e89: 0xf0000404, 0x6e8a: 0xf0000a0a, 0x6e8b: 0xf000040a, + 0x6e8c: 0xf0000404, 0x6e8d: 0xe0000947, 0x6e8e: 0xe0000944, 0x6e8f: 0xe0002650, + 0x6e90: 0xe000264d, 0x6e91: 0xe000270d, 0x6e92: 0xe000270a, 0x6e93: 0xe0000ff3, + 0x6e94: 0xe0000ff0, 0x6e95: 0xe000101e, 0x6e96: 0xe000101a, 0x6e97: 0xe0001006, + 0x6e98: 0xe0001002, 0x6e99: 0xe0001016, 0x6e9a: 0xe0001012, 0x6e9b: 0xe000100e, + 0x6e9c: 0xe000100a, 0x6e9d: 0x402cae20, 0x6e9e: 0xe0000962, 0x6e9f: 0xe000095e, + 0x6ea0: 0xe0000976, 0x6ea1: 0xe0000972, 0x6ea2: 0xe00009f4, 0x6ea3: 0xe00009ef, + 0x6ea4: 0x002d3a88, 0x6ea5: 0x402d3a20, 0x6ea6: 0xe0000bbe, 0x6ea7: 0xe0000bbb, + 0x6ea8: 0xe0002614, 0x6ea9: 0xe0002611, 0x6eaa: 0xe0002753, 0x6eab: 0xe0002750, + 0x6eac: 0xe000275a, 0x6ead: 0xe0002756, 0x6eae: 0xe0001162, 0x6eaf: 0xe000115f, + 0x6eb0: 0xe0000c8d, 0x6eb1: 0xf0000a0a, 0x6eb2: 0xf000040a, 0x6eb3: 0xf0000404, + 0x6eb4: 0xe0000bac, 0x6eb5: 0xe0000ba9, 0x6eb6: 0x002d7888, 0x6eb7: 0x00319488, + 0x6eb8: 0xe0000d57, 0x6eb9: 0xe0000d54, 0x6eba: 0xe0000954, 0x6ebb: 0xe0000950, + 0x6ebc: 0xe00009ea, 0x6ebd: 0xe00009e5, 0x6ebe: 0xe0000e19, 0x6ebf: 0xe0000e15, + // Block 0x1bb, offset 0x6ec0 + 0x6ec0: 0xe000098f, 0x6ec1: 0xe000098c, 0x6ec2: 0xe0000995, 0x6ec3: 0xe0000992, + 0x6ec4: 0xe00025e8, 0x6ec5: 0xe00025e5, 0x6ec6: 0xe00025ee, 0x6ec7: 0xe00025eb, + 0x6ec8: 0xe000267f, 0x6ec9: 0xe000267c, 0x6eca: 0xe0002685, 0x6ecb: 0xe0002682, + 0x6ecc: 0xe000277d, 0x6ecd: 0xe000277a, 0x6ece: 0xe0002783, 0x6ecf: 0xe0002780, + 0x6ed0: 0xe00026af, 0x6ed1: 0xe00026ac, 0x6ed2: 0xe00026b5, 0x6ed3: 0xe00026b2, + 0x6ed4: 0xe0001053, 0x6ed5: 0xe0001050, 0x6ed6: 0xe0001059, 0x6ed7: 0xe0001056, + 0x6ed8: 0xe0002562, 0x6ed9: 0xe000255f, 0x6eda: 0xe0002514, 0x6edb: 0xe0002511, + 0x6edc: 0x00312288, 0x6edd: 0x40312220, 0x6ede: 0xe000285c, 0x6edf: 0xe0002859, + 0x6ee0: 0x002ebc88, 0x6ee1: 0x402c8c20, 0x6ee2: 0x002f2288, 0x6ee3: 0x402f2220, + 0x6ee4: 0x00314088, 0x6ee5: 0x40314020, 0x6ee6: 0xe000096f, 0x6ee7: 0xe000096c, + 0x6ee8: 0xe00025b8, 0x6ee9: 0xe00025b5, 0x6eea: 0xe000271a, 0x6eeb: 0xe0002716, + 0x6eec: 0xe000273e, 0x6eed: 0xe000273a, 0x6eee: 0xe0002745, 0x6eef: 0xe0002742, + 0x6ef0: 0xe000274c, 0x6ef1: 0xe0002748, 0x6ef2: 0xe0001129, 0x6ef3: 0xe0001126, + 0x6ef4: 0x402e5e20, 0x6ef5: 0x402ed020, 0x6ef6: 0x40305a20, 0x6ef7: 0x402dd420, + 0x6ef8: 0xe0000abf, 0x6ef9: 0xe0000ec4, 0x6efa: 0x002be888, 0x6efb: 0x002c4488, + 0x6efc: 0x402c4420, 0x6efd: 0x002e3888, 0x6efe: 0x00303e88, 0x6eff: 0x402ffc20, + // Block 0x1bc, offset 0x6f00 + 0x6f00: 0xe00009b1, 0x6f01: 0xe00009ae, 0x6f02: 0xe0000a22, 0x6f03: 0xe0000a1f, + 0x6f04: 0xe0000a28, 0x6f05: 0xe0000a25, 0x6f06: 0xe0000a2e, 0x6f07: 0xe0000a2b, + 0x6f08: 0xe0000a5a, 0x6f09: 0xe0000a56, 0x6f0a: 0xe0000a8c, 0x6f0b: 0xe0000a89, + 0x6f0c: 0xe0000a98, 0x6f0d: 0xe0000a95, 0x6f0e: 0xe0000aa4, 0x6f0f: 0xe0000aa1, + 0x6f10: 0xe0000a92, 0x6f11: 0xe0000a8f, 0x6f12: 0xe0000a9e, 0x6f13: 0xe0000a9b, + 0x6f14: 0xe00025db, 0x6f15: 0xe00025d7, 0x6f16: 0xe00025d3, 0x6f17: 0xe00025cf, + 0x6f18: 0xe0002602, 0x6f19: 0xe00025ff, 0x6f1a: 0xe0002608, 0x6f1b: 0xe0002605, + 0x6f1c: 0xe00025bf, 0x6f1d: 0xe00025bb, 0x6f1e: 0xe0000b8c, 0x6f1f: 0xe0000b89, + 0x6f20: 0xe0000bd0, 0x6f21: 0xe0000bcd, 0x6f22: 0xe0002868, 0x6f23: 0xe0002865, + 0x6f24: 0xe0002874, 0x6f25: 0xe0002871, 0x6f26: 0xe0002862, 0x6f27: 0xe000285f, + 0x6f28: 0xe000286e, 0x6f29: 0xe000286b, 0x6f2a: 0xe000287a, 0x6f2b: 0xe0002877, + 0x6f2c: 0xe0002691, 0x6f2d: 0xe000268e, 0x6f2e: 0xe000265d, 0x6f2f: 0xe0002659, + 0x6f30: 0xe000260e, 0x6f31: 0xe000260b, 0x6f32: 0xe0002620, 0x6f33: 0xe000261d, + 0x6f34: 0xe0002626, 0x6f35: 0xe0002623, 0x6f36: 0xe0000cde, 0x6f37: 0xe0000cdb, + 0x6f38: 0xe0000ce5, 0x6f39: 0xe0000ce1, 0x6f3a: 0xe0000cf2, 0x6f3b: 0xe0000cef, + 0x6f3c: 0xe0000cec, 0x6f3d: 0xe0000ce9, 0x6f3e: 0xe0000d1e, 0x6f3f: 0xe0000d1b, + // Block 0x1bd, offset 0x6f40 + 0x6f40: 0xe0000d24, 0x6f41: 0xe0000d21, 0x6f42: 0xe0000d2a, 0x6f43: 0xe0000d27, + 0x6f44: 0xe0000d69, 0x6f45: 0xe0000d66, 0x6f46: 0xe0000d7b, 0x6f47: 0xe0000d78, + 0x6f48: 0xe0000d87, 0x6f49: 0xe0000d84, 0x6f4a: 0xe0000d81, 0x6f4b: 0xe0000d7e, + 0x6f4c: 0xe000272e, 0x6f4d: 0xe000272a, 0x6f4e: 0xe0002736, 0x6f4f: 0xe0002732, + 0x6f50: 0xe0002770, 0x6f51: 0xe000276c, 0x6f52: 0xe0002768, 0x6f53: 0xe0002764, + 0x6f54: 0xe0000ea7, 0x6f55: 0xe0000ea4, 0x6f56: 0xe0000ead, 0x6f57: 0xe0000eaa, + 0x6f58: 0xe00026a3, 0x6f59: 0xe00026a0, 0x6f5a: 0xe00026bb, 0x6f5b: 0xe00026b8, + 0x6f5c: 0xe00026c2, 0x6f5d: 0xe00026be, 0x6f5e: 0xe00026c9, 0x6f5f: 0xe00026c6, + 0x6f60: 0xe0002548, 0x6f61: 0xe0002545, 0x6f62: 0xe0002554, 0x6f63: 0xe0002551, + 0x6f64: 0xe000252d, 0x6f65: 0xe0002529, 0x6f66: 0xe0002541, 0x6f67: 0xe000253d, + 0x6f68: 0xe000255b, 0x6f69: 0xe0002557, 0x6f6a: 0xe0002502, 0x6f6b: 0xe00024ff, + 0x6f6c: 0xe000250e, 0x6f6d: 0xe000250b, 0x6f6e: 0xe0002520, 0x6f6f: 0xe000251d, + 0x6f70: 0xe000251a, 0x6f71: 0xe0002517, 0x6f72: 0xe0001093, 0x6f73: 0xe0001090, + 0x6f74: 0xe000109f, 0x6f75: 0xe000109c, 0x6f76: 0xe0001099, 0x6f77: 0xe0001096, + 0x6f78: 0xe0001032, 0x6f79: 0xe000102e, 0x6f7a: 0xe0001046, 0x6f7b: 0xe0001042, + 0x6f7c: 0xe00010a9, 0x6f7d: 0xe00010a6, 0x6f7e: 0xe00010af, 0x6f7f: 0xe00010ac, + // Block 0x1be, offset 0x6f80 + 0x6f80: 0xe00010d2, 0x6f81: 0xe00010cf, 0x6f82: 0xe00010cc, 0x6f83: 0xe00010c9, + 0x6f84: 0xe00010e1, 0x6f85: 0xe00010de, 0x6f86: 0xe00010e7, 0x6f87: 0xe00010e4, + 0x6f88: 0xe00010ed, 0x6f89: 0xe00010ea, 0x6f8a: 0xe0002632, 0x6f8b: 0xe000262f, + 0x6f8c: 0xe000262c, 0x6f8d: 0xe0002629, 0x6f8e: 0xe0001123, 0x6f8f: 0xe0001120, + 0x6f90: 0xe0001141, 0x6f91: 0xe000113e, 0x6f92: 0xe0001153, 0x6f93: 0xe0001150, + 0x6f94: 0xe0001159, 0x6f95: 0xe0001156, 0x6f96: 0xe000287d, 0x6f97: 0xe00024fc, + 0x6f98: 0xe00010db, 0x6f99: 0xe0001111, 0x6f9a: 0xf0000404, 0x6f9b: 0xe0000f70, + 0x6f9c: 0x40300420, 0x6f9d: 0x40300620, 0x6f9e: 0xe0000f7f, 0x6f9f: 0x402c9620, + 0x6fa0: 0xe000099b, 0x6fa1: 0xe0000998, 0x6fa2: 0xe0000989, 0x6fa3: 0xe0000986, + 0x6fa4: 0xe0000928, 0x6fa5: 0xe0000924, 0x6fa6: 0xe0000930, 0x6fa7: 0xe000092c, + 0x6fa8: 0xe0000940, 0x6fa9: 0xe000093c, 0x6faa: 0xe0000938, 0x6fab: 0xe0000934, + 0x6fac: 0xe00009aa, 0x6fad: 0xe00009a6, 0x6fae: 0xe0000902, 0x6faf: 0xe00008fe, + 0x6fb0: 0xe000090a, 0x6fb1: 0xe0000906, 0x6fb2: 0xe000091a, 0x6fb3: 0xe0000916, + 0x6fb4: 0xe0000912, 0x6fb5: 0xe000090e, 0x6fb6: 0xe00009a2, 0x6fb7: 0xe000099e, + 0x6fb8: 0xe00025f4, 0x6fb9: 0xe00025f1, 0x6fba: 0xe00025e2, 0x6fbb: 0xe00025df, + 0x6fbc: 0xe00025ac, 0x6fbd: 0xe00025a9, 0x6fbe: 0xe0002581, 0x6fbf: 0xe000257d, + // Block 0x1bf, offset 0x6fc0 + 0x6fc0: 0xe0002589, 0x6fc1: 0xe0002585, 0x6fc2: 0xe0002599, 0x6fc3: 0xe0002595, + 0x6fc4: 0xe0002591, 0x6fc5: 0xe000258d, 0x6fc6: 0xe00025fb, 0x6fc7: 0xe00025f7, + 0x6fc8: 0xe0002679, 0x6fc9: 0xe0002676, 0x6fca: 0xe000268b, 0x6fcb: 0xe0002688, + 0x6fcc: 0xe00027b7, 0x6fcd: 0xe00027b4, 0x6fce: 0xe0002777, 0x6fcf: 0xe0002774, + 0x6fd0: 0xe00026ee, 0x6fd1: 0xe00026ea, 0x6fd2: 0xe00026f6, 0x6fd3: 0xe00026f2, + 0x6fd4: 0xe0002706, 0x6fd5: 0xe0002702, 0x6fd6: 0xe00026fe, 0x6fd7: 0xe00026fa, + 0x6fd8: 0xe00027be, 0x6fd9: 0xe00027ba, 0x6fda: 0xe0002790, 0x6fdb: 0xe000278c, + 0x6fdc: 0xe0002798, 0x6fdd: 0xe0002794, 0x6fde: 0xe00027a8, 0x6fdf: 0xe00027a4, + 0x6fe0: 0xe00027a0, 0x6fe1: 0xe000279c, 0x6fe2: 0xe00027b0, 0x6fe3: 0xe00027ac, + 0x6fe4: 0xe000108d, 0x6fe5: 0xe000108a, 0x6fe6: 0xe000104d, 0x6fe7: 0xe000104a, + 0x6fe8: 0xe0001066, 0x6fe9: 0xe0001062, 0x6fea: 0xe000106e, 0x6feb: 0xe000106a, + 0x6fec: 0xe000107e, 0x6fed: 0xe000107a, 0x6fee: 0xe0001076, 0x6fef: 0xe0001072, + 0x6ff0: 0xe0001086, 0x6ff1: 0xe0001082, 0x6ff2: 0xe0001108, 0x6ff3: 0xe0001105, + 0x6ff4: 0xe0001135, 0x6ff5: 0xe0001132, 0x6ff6: 0xe000112f, 0x6ff7: 0xe000112c, + 0x6ff8: 0xe000111d, 0x6ff9: 0xe000111a, 0x6ffa: 0xe0000d0a, 0x6ffb: 0xe0000d07, + 0x6ffc: 0x0030d888, 0x6ffd: 0x4030d820, 0x6ffe: 0x00312088, 0x6fff: 0x40312020, + // Block 0x1c0, offset 0x7000 + 0x7000: 0xe00009bc, 0x7001: 0xe00009c0, 0x7002: 0x002c3a8b, 0x7003: 0xf0000a04, + 0x7004: 0x40081c20, 0x7005: 0xe0000a5e, 0x7006: 0xe0000a62, 0x7007: 0x002cc28a, + 0x7008: 0x40081e20, 0x7009: 0xf0000a04, 0x700a: 0x002d2285, 0x700b: 0x002d688b, + 0x700c: 0x002d688b, 0x700d: 0x002d688b, 0x700e: 0x002d6885, 0x700f: 0xf0000202, + 0x7010: 0x002d9a8b, 0x7011: 0x002d9a8b, 0x7012: 0x002e228b, 0x7013: 0x002e2285, + 0x7014: 0x40082020, 0x7015: 0x002e9e8b, 0x7016: 0xe000281e, 0x7017: 0x40082220, + 0x7018: 0x40082420, 0x7019: 0x002f2c8b, 0x701a: 0x002f568b, 0x701b: 0x002f7a8b, + 0x701c: 0x002f7a8b, 0x701d: 0x002f7a8b, 0x701e: 0x40082620, 0x701f: 0x40082820, + 0x7020: 0xe0002833, 0x7021: 0xe0000fbd, 0x7022: 0xe0002842, 0x7023: 0x40082a20, + 0x7024: 0x00312a8b, 0x7025: 0x40082c20, 0x7026: 0x0032a288, 0x7027: 0x40082e20, + 0x7028: 0x00312a8b, 0x7029: 0x40083020, 0x702a: 0x002c3c83, 0x702b: 0xe000094d, + 0x702c: 0x002c0a8b, 0x702d: 0x002c3a8b, 0x702e: 0x40083220, 0x702f: 0x002c9885, + 0x7030: 0x002c988b, 0x7031: 0x002d088b, 0x7032: 0x002d1e88, 0x7033: 0x002e828b, + 0x7034: 0x002ee285, 0x7035: 0x00389084, 0x7036: 0x00389284, 0x7037: 0x00389484, + 0x7038: 0x00389684, 0x7039: 0x002d9a85, 0x703a: 0x40083420, 0x703b: 0xe0000b95, + 0x703c: 0x00327e85, 0x703d: 0x00325685, 0x703e: 0x0032568b, 0x703f: 0x00327e8b, + // Block 0x1c1, offset 0x7040 + 0x7040: 0x00093685, 0x7041: 0x40083620, 0x7042: 0x40083820, 0x7043: 0x40083a20, + 0x7044: 0x40083c20, 0x7045: 0x002c628b, 0x7046: 0x002c6285, 0x7047: 0x002c9885, + 0x7048: 0x002d9a85, 0x7049: 0x002dcc85, 0x704a: 0x40083e20, 0x704b: 0x400a6e20, + 0x704c: 0x40084020, 0x704d: 0xe00009c4, 0x704e: 0x402d1e20, 0x704f: 0x40084220, + 0x7050: 0xe00002cb, 0x7051: 0xe00002d3, 0x7052: 0xe00002b2, 0x7053: 0xe00002bb, + 0x7054: 0xe00003cd, 0x7055: 0xe00002c3, 0x7056: 0xe00003d1, 0x7057: 0xe00004ab, + 0x7058: 0xe0000579, 0x7059: 0xe00002c7, 0x705a: 0xe0000640, 0x705b: 0xe00002cf, + 0x705c: 0xe00004af, 0x705d: 0xe0000644, 0x705e: 0xe0000798, 0x705f: 0xf0001e1e, + 0x7060: 0x002d9a8a, 0x7061: 0xe00027d4, 0x7062: 0xe00027db, 0x7063: 0xe00027ee, + 0x7064: 0x0030be8a, 0x7065: 0xe0002848, 0x7066: 0xe000284f, 0x7067: 0xe00010bb, + 0x7068: 0xe00027f4, 0x7069: 0x0030f68a, 0x706a: 0xe0002883, 0x706b: 0xe000288a, + 0x706c: 0x002e228a, 0x706d: 0x002c3a8a, 0x706e: 0x002c628a, 0x706f: 0x002e828a, + 0x7070: 0x002d9a84, 0x7071: 0xe00027d1, 0x7072: 0xe00027d7, 0x7073: 0xe00027eb, + 0x7074: 0x0030be84, 0x7075: 0xe0002845, 0x7076: 0xe000284b, 0x7077: 0xe00010b6, + 0x7078: 0xe00027f1, 0x7079: 0x0030f684, 0x707a: 0xe0002880, 0x707b: 0xe0002886, + 0x707c: 0x002e2284, 0x707d: 0x002c3a84, 0x707e: 0x002c6284, 0x707f: 0x002e8284, + // Block 0x1c2, offset 0x7080 + 0x7080: 0xe0000024, 0x7081: 0xe0000029, 0x7082: 0xe000002e, 0x7083: 0xe0000033, + 0x7084: 0xe0000038, 0x7085: 0xe000003d, 0x7086: 0xe0000042, 0x7087: 0xe0000047, + 0x7088: 0xf0001f04, 0x7089: 0xf0001f04, 0x708a: 0xf0001f04, 0x708b: 0xf0001f04, + 0x708c: 0xf0001f04, 0x708d: 0xf0001f04, 0x708e: 0xf0001f04, 0x708f: 0xf0001f04, + 0x7090: 0xf0001f04, 0x7091: 0xf0000404, 0x7092: 0xf0000404, 0x7093: 0xf0000404, + 0x7094: 0xf0000404, 0x7095: 0xf0000404, 0x7096: 0xf0000404, 0x7097: 0xf0000404, + 0x7098: 0xf0000404, 0x7099: 0xf0000404, 0x709a: 0xf0000404, 0x709b: 0xf0000404, + 0x709c: 0xf0000404, 0x709d: 0xf0000404, 0x709e: 0xf0000404, 0x709f: 0xf0000404, + 0x70a0: 0xe000249f, 0x70a1: 0xf0000404, 0x70a2: 0xf0000404, 0x70a3: 0xe00024a7, + 0x70a4: 0xe00024af, 0x70a5: 0xf0000404, 0x70a6: 0xe00024b7, 0x70a7: 0xf0000404, + 0x70a8: 0xf0000404, 0x70a9: 0xf0000404, 0x70aa: 0xe00024bf, 0x70ab: 0xf0000404, + 0x70ac: 0xe00024c7, 0x70ad: 0xe00024cf, 0x70ae: 0xe00024d7, 0x70af: 0xe00024df, + 0x70b0: 0xf0000404, 0x70b1: 0xf0000404, 0x70b2: 0xf0000404, 0x70b3: 0xe00024e7, + 0x70b4: 0xf0000404, 0x70b5: 0xf0000404, 0x70b6: 0x002bde8c, 0x70b7: 0x002c0a8c, + 0x70b8: 0x002c3a8c, 0x70b9: 0x002c628c, 0x70ba: 0x002c988c, 0x70bb: 0x002d088c, + 0x70bc: 0x002d228c, 0x70bd: 0x002d688c, 0x70be: 0x002d9a8c, 0x70bf: 0x002dcc8c, + // Block 0x1c3, offset 0x70c0 + 0x70c0: 0xf0001f04, 0x70c1: 0xf0001f04, 0x70c2: 0xf0001f04, 0x70c3: 0xf0001f04, + 0x70c4: 0xf0001f04, 0x70c5: 0xf0001f04, 0x70c6: 0xf0001f04, 0x70c7: 0xf0001f04, + 0x70c8: 0xf0001f04, 0x70c9: 0xf0000404, 0x70ca: 0xf0000404, 0x70cb: 0xf0000404, + 0x70cc: 0xe00027c5, 0x70cd: 0xe0000b85, 0x70ce: 0xe00026cc, 0x70cf: 0xe0000d14, + 0x70d0: 0x00657693, 0x70d1: 0x00657893, 0x70d2: 0x00657a93, 0x70d3: 0x00657e93, + 0x70d4: 0x00658093, 0x70d5: 0x00658293, 0x70d6: 0x00658493, 0x70d7: 0x00658693, + 0x70d8: 0x00658893, 0x70d9: 0x00658a93, 0x70da: 0x00658c93, 0x70db: 0x00658e93, + 0x70dc: 0x00659093, 0x70dd: 0x00659293, 0x70de: 0x00659493, 0x70df: 0x00659693, + 0x70e0: 0x00659893, 0x70e1: 0x00659a93, 0x70e2: 0x00659c93, 0x70e3: 0x00659e93, + 0x70e4: 0x0065a093, 0x70e5: 0x0065a293, 0x70e6: 0x0065a493, 0x70e7: 0x0065a693, + 0x70e8: 0x0065a893, 0x70e9: 0x0065aa93, 0x70ea: 0x0065ac93, 0x70eb: 0x0065ae93, + 0x70ec: 0x0065b093, 0x70ed: 0x0065b293, 0x70ee: 0x0065b493, 0x70ef: 0x0065b693, + 0x70f0: 0x0065b893, 0x70f1: 0x0065ba93, 0x70f2: 0x0065bc93, 0x70f3: 0x0065be93, + 0x70f4: 0x0065c093, 0x70f5: 0x0065c493, 0x70f6: 0x0065c693, 0x70f7: 0x0065c893, + 0x70f8: 0x0065ca93, 0x70f9: 0x0065cc93, 0x70fa: 0x0065ce93, 0x70fb: 0x0065d093, + 0x70fc: 0x0065d293, 0x70fd: 0x0065d493, 0x70fe: 0x0065d693, + // Block 0x1c4, offset 0x7100 + 0x7100: 0xe000230b, 0x7101: 0xe00022f8, 0x7102: 0xe00022fc, 0x7103: 0xe0002311, + 0x7104: 0xe0002316, 0x7105: 0xe000231d, 0x7106: 0xe0002321, 0x7107: 0xe0002325, + 0x7108: 0xe000232b, 0x7109: 0xf0001c1c, 0x710a: 0xe0002330, 0x710b: 0xe000233c, + 0x710c: 0xe0002340, 0x710d: 0xe0002337, 0x710e: 0xe0002346, 0x710f: 0xe000234b, + 0x7110: 0xe000234f, 0x7111: 0xe0002353, 0x7112: 0xf0001c1c, 0x7113: 0xe000235e, + 0x7114: 0xe0002358, 0x7115: 0xf0001c1c, 0x7116: 0xe0002363, 0x7117: 0xe000236d, + 0x7118: 0xf0001f04, 0x7119: 0xf0001f04, 0x711a: 0xf0001f04, 0x711b: 0xf0001f04, + 0x711c: 0xf0001f04, 0x711d: 0xf0001f04, 0x711e: 0xf0001f04, 0x711f: 0xf0001f04, + 0x7120: 0xf0001f04, 0x7121: 0xf0001f04, 0x7122: 0xf0000404, 0x7123: 0xf0000404, + 0x7124: 0xf0000404, 0x7125: 0xf0000404, 0x7126: 0xf0000404, 0x7127: 0xf0000404, + 0x7128: 0xf0000404, 0x7129: 0xf0000404, 0x712a: 0xf0000404, 0x712b: 0xf0000404, + 0x712c: 0xf0000404, 0x712d: 0xf0000404, 0x712e: 0xf0000404, 0x712f: 0xf0000404, + 0x7130: 0xf0000404, 0x7131: 0xe0000c1e, 0x7132: 0xf0001c1c, 0x7133: 0xf0001d1d, + 0x7134: 0xe0000a31, 0x7135: 0xe0002824, 0x7136: 0xf0001c1c, 0x7137: 0xf0001c1c, + 0x7138: 0xe0000ac2, 0x7139: 0xe0000ac6, 0x713a: 0xe00027e8, 0x713b: 0xf0001c1c, + 0x713c: 0xf0001c1c, 0x713d: 0xf0001c1c, 0x713e: 0xf0001c1c, 0x713f: 0xe0002431, + // Block 0x1c5, offset 0x7140 + 0x7140: 0xf0001d1c, 0x7141: 0xf0001d1c, 0x7142: 0xf0001d1c, 0x7143: 0xf0001d1c, + 0x7144: 0xe00027f7, 0x7145: 0xe00027fa, 0x7146: 0xf0001d1d, 0x7147: 0xf0001d1d, + 0x7148: 0xe0000a6b, 0x7149: 0xe0000cb4, 0x714a: 0xf0001d1c, 0x714b: 0xf0001d1c, + 0x714c: 0xf0001d1c, 0x714d: 0xf0001c1c, 0x714e: 0xf0001c1c, 0x714f: 0xe00027fd, + 0x7150: 0xe00027ce, 0x7151: 0xe0000cb9, 0x7152: 0xe0000d36, 0x7153: 0xe0000be3, + 0x7154: 0xe0000fc5, 0x7155: 0xf0001c1c, 0x7156: 0xf0001c1c, 0x7157: 0xf0001c1c, + 0x7158: 0xe0002803, 0x7159: 0xf0001c1c, 0x715a: 0xf0001c1c, 0x715b: 0xf0001c1c, + 0x715c: 0xf0001c1c, 0x715d: 0xf0001c1c, 0x715e: 0xe0002806, 0x715f: 0xe0000d3e, + 0x7160: 0xe0000a72, 0x7161: 0xf0001c1c, 0x7162: 0xe0000cbd, 0x7163: 0xe0000d42, + 0x7164: 0xe0000a76, 0x7165: 0xf0001c1c, 0x7166: 0xe0000cc1, 0x7167: 0xe0000d2d, + 0x7168: 0xe0000d31, 0x7169: 0xf0001c1d, 0x716a: 0xe0000cc5, 0x716b: 0xe0000d4a, + 0x716c: 0xe0000be7, 0x716d: 0xe0000f0b, 0x716e: 0xe0000f0f, 0x716f: 0xe0000f15, + 0x7170: 0xe000282d, 0x7171: 0xe0002821, 0x7172: 0xe000288e, 0x7173: 0xe000281b, + 0x7174: 0xf0001d1c, 0x7175: 0xf0001d1c, 0x7176: 0xf0001d1c, 0x7177: 0xf0001d1c, + 0x7178: 0xe000280f, 0x7179: 0xf0001d1d, 0x717a: 0xf0001d1c, 0x717b: 0xf0001d1c, + 0x717c: 0xf0001d1c, 0x717d: 0xf0001d1c, 0x717e: 0xe0002812, 0x717f: 0xf0001d1d, + // Block 0x1c6, offset 0x7180 + 0x7180: 0xe0002815, 0x7181: 0xf0001d1d, 0x7182: 0xe00009b7, 0x7183: 0xe00024f3, + 0x7184: 0xf0001c1c, 0x7185: 0xf0001c1c, 0x7186: 0xe0000a66, 0x7187: 0xe0000a7a, + 0x7188: 0xf0001d1c, 0x7189: 0xf0001c1d, 0x718a: 0xe00027c2, 0x718b: 0xe00027c8, + 0x718c: 0xe00027e5, 0x718d: 0xe0002800, 0x718e: 0xe0002809, 0x718f: 0xe000280c, + 0x7190: 0xf0001c1c, 0x7191: 0xf0001c1c, 0x7192: 0xe0000d0d, 0x7193: 0xe0002818, + 0x7194: 0xf0001c1c, 0x7195: 0xe0000d3a, 0x7196: 0xe0000d46, 0x7197: 0xe0002827, + 0x7198: 0xe0000eb0, 0x7199: 0xe0000eb8, 0x719a: 0xe000282a, 0x719b: 0xe0002836, + 0x719c: 0xe000283f, 0x719d: 0xf0001c1d, 0x719e: 0xe00010b2, 0x719f: 0xe00009c8, + 0x71a0: 0xf0001f04, 0x71a1: 0xf0001f04, 0x71a2: 0xf0001f04, 0x71a3: 0xf0001f04, + 0x71a4: 0xf0001f04, 0x71a5: 0xf0001f04, 0x71a6: 0xf0001f04, 0x71a7: 0xf0001f04, + 0x71a8: 0xf0001f04, 0x71a9: 0xf0000404, 0x71aa: 0xf0000404, 0x71ab: 0xf0000404, + 0x71ac: 0xf0000404, 0x71ad: 0xf0000404, 0x71ae: 0xf0000404, 0x71af: 0xf0000404, + 0x71b0: 0xf0000404, 0x71b1: 0xf0000404, 0x71b2: 0xf0000404, 0x71b3: 0xf0000404, + 0x71b4: 0xf0000404, 0x71b5: 0xf0000404, 0x71b6: 0xf0000404, 0x71b7: 0xf0000404, + 0x71b8: 0xf0000404, 0x71b9: 0xf0000404, 0x71ba: 0xf0000404, 0x71bb: 0xf0000404, + 0x71bc: 0xf0000404, 0x71bd: 0xf0000404, 0x71be: 0xf0000404, 0x71bf: 0xe0000bdf, + // Block 0x1c7, offset 0x71c0 + 0x71c0: 0xf0000404, 0x71c1: 0xe00026cf, 0x71c2: 0xf0000404, 0x71c3: 0xe0000b99, + 0x71c4: 0xe0000b9d, 0x71c5: 0xe0000f83, 0x71c6: 0xe000283c, + 0x71d3: 0xf0000404, + 0x71d4: 0xf0000404, 0x71d5: 0xf0000404, 0x71d6: 0xf0000404, 0x71d7: 0xf0000404, + 0x71dd: 0xe000150b, 0x71de: 0xa1a09602, 0x71df: 0xe0001514, + 0x71e0: 0x0038ae85, 0x71e1: 0x00389085, 0x71e2: 0x00389685, 0x71e3: 0x00389885, + 0x71e4: 0x0038a485, 0x71e5: 0x0038a685, 0x71e6: 0x0038a885, 0x71e7: 0x0038b685, + 0x71e8: 0x0038ba85, 0x71e9: 0x00093885, 0x71ea: 0xe0001542, 0x71eb: 0xe000153f, + 0x71ec: 0xe000154c, 0x71ed: 0xe0001548, 0x71ee: 0xe00014e1, 0x71ef: 0xe00014e4, + 0x71f0: 0xe00014e7, 0x71f1: 0xe00014ea, 0x71f2: 0xe00014f0, 0x71f3: 0xe00014f3, + 0x71f4: 0xe00014f6, 0x71f5: 0xe00014fc, 0x71f6: 0xe0001505, + 0x71f8: 0xe0001508, 0x71f9: 0xe000150e, 0x71fa: 0xe000151b, 0x71fb: 0xe0001518, + 0x71fc: 0xe0001521, 0x71fe: 0xe0001524, + // Block 0x1c8, offset 0x7200 + 0x7200: 0xf0001f04, 0x7201: 0xf0001f04, 0x7202: 0xf0001f04, 0x7203: 0xf0001f04, + 0x7204: 0xf0001f04, 0x7205: 0xf0001f04, 0x7206: 0xf0001f04, 0x7207: 0xf0001f04, + 0x7208: 0xf0001f04, 0x7209: 0xf0001f04, 0x720a: 0xf0001f04, + 0x7210: 0xf0000a04, 0x7211: 0xf0000a04, 0x7212: 0xf0000a04, 0x7213: 0xf0000a04, + 0x7214: 0xe00024a3, 0x7215: 0xf0000a04, 0x7216: 0xf0000a04, 0x7217: 0xe00024ab, + 0x7218: 0xe00024b3, 0x7219: 0xf0000a04, 0x721a: 0xe00024bb, 0x721b: 0xf0000a04, + 0x721c: 0xf0000a04, 0x721d: 0xf0000a04, 0x721e: 0xe00024c3, 0x721f: 0xf0000a04, + 0x7220: 0xe00024cb, 0x7221: 0xe00024d3, 0x7222: 0xe00024db, 0x7223: 0xe00024e3, + 0x7224: 0xf0000a04, 0x7225: 0xf0000a04, 0x7226: 0xf0000a04, 0x7227: 0xe00024eb, + 0x7228: 0xf0000a04, 0x7229: 0xf0000a04, 0x722a: 0xe00024ef, 0x722b: 0x002c3a8c, + 0x722c: 0x002f7a8c, 0x722d: 0xf0000c0c, 0x722e: 0xf0000c0c, + 0x7230: 0x002bde9d, 0x7231: 0x002c0a9d, 0x7232: 0x002c3a9d, 0x7233: 0x002c629d, + 0x7234: 0x002c989d, 0x7235: 0x002d089d, 0x7236: 0x002d229d, 0x7237: 0x002d689d, + 0x7238: 0x002d9a9d, 0x7239: 0x002dcc9d, 0x723a: 0x002dfe9d, 0x723b: 0x002e229d, + 0x723c: 0x002e829d, 0x723d: 0x002e9e9d, 0x723e: 0x002ee29d, 0x723f: 0x002f2c9d, + // Block 0x1c9, offset 0x7240 + 0x7240: 0x002f569d, 0x7241: 0x002f7a9d, 0x7242: 0x002fe69d, 0x7243: 0x00302c9d, + 0x7244: 0x00306c9d, 0x7245: 0x0030be9d, 0x7246: 0x0030e29d, 0x7247: 0x0030f69d, + 0x7248: 0x0031009d, 0x7249: 0x00312a9d, 0x724a: 0xe00027cb, 0x724b: 0xf0001d1d, + 0x724c: 0xe0002830, 0x724d: 0xe0002839, 0x724e: 0xe0000ebc, 0x724f: 0xf0001d1d, + 0x7250: 0x002bde8c, 0x7251: 0x002c0a8c, 0x7252: 0x002c3a8c, 0x7253: 0x002c628c, + 0x7254: 0x002c988c, 0x7255: 0x002d088c, 0x7256: 0x002d228c, 0x7257: 0x002d688c, + 0x7258: 0x002d9a8c, 0x7259: 0x002dcc8c, 0x725a: 0x002dfe8c, 0x725b: 0x002e228c, + 0x725c: 0x002e828c, 0x725d: 0x002e9e8c, 0x725e: 0x002ee28c, 0x725f: 0x002f2c8c, + 0x7260: 0x002f568c, 0x7261: 0x002f7a8c, 0x7262: 0x002fe68c, 0x7263: 0x00302c8c, + 0x7264: 0x00306c8c, 0x7265: 0x0030be8c, 0x7266: 0x0030e28c, 0x7267: 0x0030f68c, + 0x7268: 0x0031008c, 0x7269: 0x00312a8c, 0x726a: 0xf0001414, 0x726b: 0xf0001414, + 0x7270: 0x002bde9d, 0x7271: 0x002c0a9d, 0x7272: 0x002c3a9d, 0x7273: 0x002c629d, + 0x7274: 0x002c989d, 0x7275: 0x002d089d, 0x7276: 0x002d229d, 0x7277: 0x002d689d, + 0x7278: 0x002d9a9d, 0x7279: 0x002dcc9d, 0x727a: 0x002dfe9d, 0x727b: 0x002e229d, + 0x727c: 0x002e829d, 0x727d: 0x002e9e9d, 0x727e: 0x002ee29d, 0x727f: 0x002f2c9d, + // Block 0x1ca, offset 0x7280 + 0x7280: 0xe0000cfe, 0x7281: 0xe0000cf8, 0x7282: 0xe0000cf5, 0x7283: 0xe0000d51, + 0x7284: 0xe0000d4e, 0x7285: 0xe0000d6f, 0x7286: 0xe0000d6c, 0x7287: 0xe0000d5d, + 0x7288: 0xe0000d5a, 0x7289: 0x002e9e89, 0x728a: 0x002eda88, 0x728b: 0x402eda20, + 0x728c: 0xe0000e2e, 0x728d: 0xe0000e2b, 0x728e: 0xe0000da0, 0x728f: 0xe0000d9d, + 0x7290: 0xe0000de0, 0x7291: 0xe0000ddd, 0x7292: 0xe0000e93, 0x7293: 0xe0000e8f, + 0x7294: 0xe0000eca, 0x7295: 0xe0000ec7, 0x7296: 0xe0000edc, 0x7297: 0xe0000ed9, + 0x7298: 0xe0000ed0, 0x7299: 0xe0000ecd, 0x729a: 0xe0000f1f, 0x729b: 0xe0000f1c, + 0x729c: 0xe0000f2d, 0x729d: 0xe0000f2a, 0x729e: 0xe0000f47, 0x729f: 0xe0000f44, + 0x72a0: 0xe0000f33, 0x72a1: 0xe0000f30, 0x72a2: 0xe0000f99, 0x72a3: 0xe0000f96, + 0x72a4: 0xe0000f8a, 0x72a5: 0xe0000f87, 0x72a6: 0x00303688, 0x72a7: 0x40303620, + 0x72a8: 0xe000102b, 0x72a9: 0xe0001028, 0x72aa: 0xe000103f, 0x72ab: 0xe000103c, + 0x72ac: 0xe0000fe7, 0x72ad: 0xe0000fe4, 0x72ae: 0xe0000ff9, 0x72af: 0xe0000ff6, + 0x72b0: 0xe0001025, 0x72b1: 0xe0001022, 0x72b2: 0xe0001039, 0x72b3: 0xe0001036, + 0x72b4: 0xe00010d8, 0x72b5: 0xe00010d5, 0x72b6: 0xe000110e, 0x72b7: 0xe000110b, + 0x72b8: 0xe0001117, 0x72b9: 0xe000113b, 0x72ba: 0xe0001138, 0x72bb: 0xe000114d, + 0x72bc: 0xe000114a, 0x72bd: 0xe0001147, 0x72be: 0xe0001144, 0x72bf: 0xe0000f64, + // Block 0x1cb, offset 0x72c0 + 0x72c0: 0xa0000000, 0x72c1: 0xa0000000, 0x72c2: 0xa0000000, 0x72c3: 0xa0000000, + 0x72c4: 0xa0000000, 0x72c6: 0x40096620, 0x72c7: 0x40096a20, + 0x72c8: 0x40070820, 0x72c9: 0x4004f220, 0x72ca: 0x4004f620, 0x72cb: 0x4027e620, + 0x72cc: 0x40024820, 0x72cd: 0x40024a20, 0x72ce: 0x40070e20, 0x72cf: 0x40071020, + 0x72d0: 0xae600000, 0x72d1: 0xae600000, 0x72d2: 0xae600000, 0x72d3: 0xae600000, + 0x72d4: 0xae600000, 0x72d5: 0xae600000, 0x72d6: 0xae600000, 0x72d7: 0xae600000, + 0x72d8: 0xa1e00000, 0x72d9: 0xa1f00000, 0x72da: 0xa2000000, 0x72db: 0x40026420, + 0x72de: 0x40027020, 0x72df: 0x4002cc20, + 0x72e0: 0x403aa220, 0x72e1: 0x40391c20, 0x72e2: 0x40391e20, 0x72e3: 0x40392020, + 0x72e4: 0x40392620, 0x72e5: 0x40392820, 0x72e6: 0x40393020, 0x72e7: 0xc0520151, + 0x72e8: 0x40393c20, 0x72e9: 0x40395621, 0x72ea: 0x40395620, 0x72eb: 0x40395820, + 0x72ec: 0x40396420, 0x72ed: 0x40397220, 0x72ee: 0x40397420, 0x72ef: 0x40398820, + 0x72f0: 0x40398a20, 0x72f1: 0x4039a420, 0x72f2: 0x4039a620, 0x72f3: 0x4039c620, + 0x72f4: 0x4039c820, 0x72f5: 0x4039dc20, 0x72f6: 0x4039de20, 0x72f7: 0x4039e620, + 0x72f8: 0x4039e820, 0x72f9: 0x4039ee20, 0x72fa: 0x4039f020, 0x72fb: 0x403a3820, + 0x72fc: 0x403a3a20, 0x72fd: 0x403a9c20, 0x72fe: 0x403a9e20, 0x72ff: 0x403aa020, + // Block 0x1cc, offset 0x7300 + 0x7300: 0xa0000000, 0x7301: 0x4039fc20, 0x7302: 0x403a1220, 0x7303: 0x403a1a20, + 0x7304: 0x403a4020, 0x7305: 0x403a4e20, 0x7306: 0x403a5620, 0x7307: 0x403a6820, + 0x7308: 0xc0560171, 0x7309: 0x403a9021, 0x730a: 0xc0580171, 0x730b: 0xa1b0a202, + 0x730c: 0xa1c0a502, 0x730d: 0xa1d0a902, 0x730e: 0xa1e0ad02, 0x730f: 0xa1f0b202, + 0x7310: 0xa200b602, 0x7311: 0xa210ba02, 0x7312: 0xa220bc02, 0x7313: 0xae60bd02, + 0x7314: 0xae60be02, 0x7315: 0xadc0bf02, 0x7316: 0xadc0c102, 0x7317: 0xae60c202, + 0x7318: 0xae60c302, 0x7319: 0xae60c402, 0x731a: 0xae60c502, 0x731b: 0xae60c602, + 0x731c: 0xadc0c702, 0x731d: 0xae60c802, 0x731e: 0xae60c902, 0x731f: 0xadc0c002, + 0x7320: 0xe000015e, 0x7321: 0xe00001e6, 0x7322: 0xe0000301, 0x7323: 0xe00003db, + 0x7324: 0xe00004b6, 0x7325: 0xe0000580, 0x7326: 0xe000064b, 0x7327: 0xe00006f3, + 0x7328: 0xe000079f, 0x7329: 0xe0000844, 0x732a: 0x4004ee20, 0x732b: 0x40024c20, + 0x732c: 0x40024e20, 0x732d: 0x4004de20, 0x732e: 0x40393a20, 0x732f: 0x403a1020, + 0x7330: 0xa230d102, 0x7331: 0x40392420, 0x7332: 0x40392220, 0x7333: 0x40392a20, + 0x7334: 0x00391c84, 0x7335: 0xf0000404, 0x7336: 0xf0000404, 0x7337: 0xf0000404, + 0x7338: 0xf0000404, 0x7339: 0x40395a20, 0x733a: 0x40395c20, 0x733b: 0x40393e20, + 0x733c: 0x40395e20, 0x733d: 0x40396020, 0x733e: 0x40394020, 0x733f: 0x40396220, + // Block 0x1cd, offset 0x7340 + 0x7340: 0x40073420, 0x7341: 0x40073620, + 0x7353: 0x003a269a, + 0x7354: 0x003a2699, 0x7355: 0x003a2697, 0x7356: 0x003a2698, 0x7357: 0x003a7c9a, + 0x7358: 0x003a7c99, 0x7359: 0x003a7a9a, 0x735a: 0x003a7a99, 0x735b: 0x003a7e9a, + 0x735c: 0x003a7e99, 0x735d: 0xf0001a1a, 0x735e: 0x003a849a, 0x735f: 0x003a8499, + 0x7360: 0x003a789a, 0x7361: 0x003a7899, 0x7362: 0x003a809a, 0x7363: 0x003a8099, + 0x7364: 0x003a989a, 0x7365: 0x003a9899, 0x7366: 0x003a9897, 0x7367: 0x003a9898, + 0x7368: 0x003a90a3, 0x7369: 0x003a90a4, 0x736a: 0xe0001559, 0x736b: 0xe0001556, + 0x736c: 0xe0001589, 0x736d: 0xe0001586, 0x736e: 0xe000158f, 0x736f: 0xe000158c, + 0x7370: 0xe000159b, 0x7371: 0xe0001598, 0x7372: 0xe0001595, 0x7373: 0xe0001592, + 0x7374: 0xe00015a1, 0x7375: 0xe000159e, 0x7376: 0xe00015bf, 0x7377: 0xe00015bc, + 0x7378: 0xe00015b9, 0x7379: 0xe00015ad, 0x737a: 0xe00015a7, 0x737b: 0xe00015a4, + 0x737c: 0x003a929a, 0x737d: 0x003a9299, 0x737e: 0x003a9297, 0x737f: 0x003a9298, + // Block 0x1ce, offset 0x7380 + 0x7380: 0xe000155f, 0x7381: 0xe0001565, 0x7382: 0xe000157a, 0x7383: 0xe00015b0, + 0x7384: 0xe00015b6, 0x7385: 0xf0001a1a, 0x7386: 0xf0001a1a, 0x7387: 0xf0001a1a, + 0x7388: 0xf0001a1a, 0x7389: 0xe0002894, 0x738a: 0xf0001a1a, 0x738b: 0xf0001a1a, + 0x738c: 0xf0001a1a, 0x738d: 0xf0001a1a, 0x738e: 0xf0001a1a, 0x738f: 0xe000289a, + 0x7390: 0xf0001a1a, 0x7391: 0xf0001a1a, 0x7392: 0xf0001a1a, 0x7393: 0xe00028a0, + 0x7394: 0xf0001a1a, 0x7395: 0xf0001a1a, 0x7396: 0xf0001a1a, 0x7397: 0xf0001a1a, + 0x7398: 0xf0001a1a, 0x7399: 0xf0001a1a, 0x739a: 0xf0001a1a, 0x739b: 0xf0001a1a, + 0x739c: 0xf0001a1a, 0x739d: 0xf0001a1a, 0x739e: 0xf0001a1a, 0x739f: 0xf0001a1a, + 0x73a0: 0xf0001a1a, 0x73a1: 0xf0001a1a, 0x73a2: 0xf0001a1a, 0x73a3: 0xf0001a1a, + 0x73a4: 0xf0001a1a, 0x73a5: 0xf0001a1a, 0x73a6: 0xf0001a1a, 0x73a7: 0xf0001a1a, + 0x73a8: 0xf0001a1a, 0x73a9: 0xf0001a1a, 0x73aa: 0xf0001a1a, 0x73ab: 0xf0001a1a, + 0x73ac: 0xf0001a1a, 0x73ad: 0xf0001a1a, 0x73ae: 0xf0001a1a, 0x73af: 0xf0001a1a, + 0x73b0: 0xf0001a1a, 0x73b1: 0xe00028e2, 0x73b2: 0xf0001a1a, 0x73b3: 0xf0001a1a, + 0x73b4: 0xf0001a1a, 0x73b5: 0xe00028e8, 0x73b6: 0xf0001a1a, 0x73b7: 0xf0001a1a, + 0x73b8: 0xf0001a1a, 0x73b9: 0xf0001a1a, 0x73ba: 0xf0001a1a, 0x73bb: 0xf0001a1a, + 0x73bc: 0xf0001a1a, 0x73bd: 0xe00028ee, 0x73be: 0xf0001a1a, 0x73bf: 0xf0001a1a, + // Block 0x1cf, offset 0x73c0 + 0x73c0: 0xf0001a1a, 0x73c1: 0xf0001a1a, 0x73c2: 0xf0001a1a, 0x73c3: 0xe00028f4, + 0x73c4: 0xf0001a1a, 0x73c5: 0xf0001a1a, 0x73c6: 0xf0001a1a, 0x73c7: 0xf0001a1a, + 0x73c8: 0xf0001a1a, 0x73c9: 0xe00028f7, 0x73ca: 0xf0001a1a, 0x73cb: 0xf0001a1a, + 0x73cc: 0xf0001a1a, 0x73cd: 0xf0001a1a, 0x73ce: 0xf0001a1a, 0x73cf: 0xe00028fd, + 0x73d0: 0xf0001a1a, 0x73d1: 0xf0001a1a, 0x73d2: 0xf0001a1a, 0x73d3: 0xe0002900, + 0x73d4: 0xf0001a1a, 0x73d5: 0xf0001a1a, 0x73d6: 0xf0001a1a, 0x73d7: 0xf0001a1a, + 0x73d8: 0xf0001a1a, 0x73d9: 0xe0002906, 0x73da: 0xf0001a1a, 0x73db: 0xf0001a1a, + 0x73dc: 0xf0001a1a, 0x73dd: 0x003a90a8, 0x73de: 0xe0000003, 0x73df: 0xe0000006, + 0x73e0: 0xe0000009, 0x73e1: 0xe000000c, 0x73e2: 0xe000000f, 0x73e3: 0xe0000012, + 0x73e4: 0xe000156b, 0x73e5: 0xe000156e, 0x73e6: 0xe0001577, 0x73e7: 0xe000157d, + 0x73e8: 0xe00015aa, 0x73e9: 0xe00015b3, 0x73ea: 0xf0001919, 0x73eb: 0xf0001919, + 0x73ec: 0xf0001919, 0x73ed: 0xf0001919, 0x73ee: 0xe0002891, 0x73ef: 0xf0001919, + 0x73f0: 0xf0001919, 0x73f1: 0xf0001919, 0x73f2: 0xf0001919, 0x73f3: 0xf0001919, + 0x73f4: 0xe0002897, 0x73f5: 0xf0001919, 0x73f6: 0xf0001919, 0x73f7: 0xf0001919, + 0x73f8: 0xf0001919, 0x73f9: 0xf0001919, 0x73fa: 0xe000289d, 0x73fb: 0xf0001919, + 0x73fc: 0xe00028df, 0x73fd: 0xf0001919, 0x73fe: 0xe00028e5, 0x73ff: 0xf0001919, + // Block 0x1d0, offset 0x7400 + 0x7400: 0xf0001919, 0x7401: 0xf0001919, 0x7402: 0xf0001919, 0x7403: 0xe00028eb, + 0x7404: 0xf0001919, 0x7405: 0xf0001919, 0x7406: 0xe00028f1, 0x7407: 0xf0001919, + 0x7408: 0xf0001919, 0x7409: 0xf0001919, 0x740a: 0xf0001919, 0x740b: 0xf0001919, + 0x740c: 0xf0001919, 0x740d: 0xf0001919, 0x740e: 0xe00028fa, 0x740f: 0xf0001919, + 0x7410: 0x003a90a7, 0x7411: 0xf0001919, 0x7412: 0xf0001919, 0x7413: 0xf0001919, + 0x7414: 0xf0001919, 0x7415: 0xe0002903, 0x7416: 0xf0001919, 0x7417: 0xe000155c, + 0x7418: 0xe0001562, 0x7419: 0xe0001568, 0x741a: 0xe0001571, 0x741b: 0xe0001580, + 0x741c: 0xf0001717, 0x741d: 0xf0001717, 0x741e: 0xf0001717, 0x741f: 0xf0001717, + 0x7420: 0xf0001717, 0x7421: 0xf0001717, 0x7422: 0xf0001717, 0x7423: 0xf0001717, + 0x7424: 0xf0001717, 0x7425: 0xf0001717, 0x7426: 0xf0001717, 0x7427: 0xf0001717, + 0x7428: 0xf0001717, 0x7429: 0xf0001717, 0x742a: 0xf0001717, 0x742b: 0xf0001717, + 0x742c: 0xf0001717, 0x742d: 0xf0001717, 0x742e: 0xf0001717, 0x742f: 0xf0001717, + 0x7430: 0xf0001717, 0x7431: 0xf0001717, 0x7432: 0xf0001717, 0x7433: 0xf0001717, + 0x7434: 0xf0001717, 0x7435: 0xf0001717, 0x7436: 0xf0001717, 0x7437: 0xf0001717, + 0x7438: 0xf0001717, 0x7439: 0xf0001717, 0x743a: 0xf0001717, 0x743b: 0xf0001717, + 0x743c: 0xf0001717, 0x743d: 0xf0001717, 0x743e: 0xf0001717, 0x743f: 0xf0001717, + // Block 0x1d1, offset 0x7440 + 0x7440: 0xf0001717, 0x7441: 0xf0001717, 0x7442: 0xf0001717, 0x7443: 0xf0001717, + 0x7444: 0xf0001717, 0x7445: 0xf0001717, 0x7446: 0xf0001717, 0x7447: 0xf0001717, + 0x7448: 0xf0001717, 0x7449: 0xf0001717, 0x744a: 0xf0001717, 0x744b: 0xf0001717, + 0x744c: 0xf0001717, 0x744d: 0xf0001717, 0x744e: 0xf0001717, 0x744f: 0xf0001717, + 0x7450: 0xf0001717, 0x7451: 0xf0001717, 0x7452: 0xf0001717, 0x7453: 0xf0001717, + 0x7454: 0xf0001717, 0x7455: 0xf0001717, 0x7456: 0xf0001717, 0x7457: 0xf0001717, + 0x7458: 0xf0001717, 0x7459: 0xf0001717, 0x745a: 0xf0001717, 0x745b: 0xf0001717, + 0x745c: 0xf0001717, 0x745d: 0xf0001717, 0x745e: 0xf0001717, 0x745f: 0xe0001574, + 0x7460: 0xe0001583, 0x7461: 0xf0001818, 0x7462: 0xf0001818, 0x7463: 0xf0001818, + 0x7464: 0xf0001818, 0x7465: 0xf0001818, 0x7466: 0xf0001818, 0x7467: 0xf0001818, + 0x7468: 0xf0001818, 0x7469: 0xf0001818, 0x746a: 0xf0001818, 0x746b: 0xf0001818, + 0x746c: 0xf0001818, 0x746d: 0xf0001818, 0x746e: 0xf0001818, 0x746f: 0xf0001818, + 0x7470: 0xf0001818, 0x7471: 0xf0001818, 0x7472: 0xf0001818, 0x7473: 0xf0001818, + 0x7474: 0xf0001818, 0x7475: 0xe00028d0, 0x7476: 0xf0001a1a, 0x7477: 0xe00028d6, + 0x7478: 0xf0001a1a, 0x7479: 0xe00028dc, 0x747a: 0xf0001a1a, 0x747b: 0xe00028b8, + 0x747c: 0xf0001a1a, 0x747d: 0xe00028be, 0x747e: 0xf0001a1a, 0x747f: 0xe00028ac, + // Block 0x1d2, offset 0x7480 + 0x7480: 0xf0001a1a, 0x7481: 0xe00028a6, 0x7482: 0xf0001a1a, 0x7483: 0xe00028b2, + 0x7484: 0xf0001a1a, 0x7485: 0xe00028c4, 0x7486: 0xf0001a1a, 0x7487: 0xe00028ca, + 0x7488: 0xf0001a1a, 0x7489: 0xf0001a1a, 0x748a: 0xf0001a1a, 0x748b: 0xf0001a1a, + 0x748c: 0xf0001a1a, 0x748d: 0xf0001a1a, 0x748e: 0xf0001a1a, 0x748f: 0xf0001a1a, + 0x7490: 0xf0001a1a, 0x7491: 0xe00028cd, 0x7492: 0xf0001919, 0x7493: 0xe00028d3, + 0x7494: 0xf0001919, 0x7495: 0xe00028d9, 0x7496: 0xf0001919, 0x7497: 0xe00028b5, + 0x7498: 0xf0001919, 0x7499: 0xe00028bb, 0x749a: 0xf0001919, 0x749b: 0xe00028a9, + 0x749c: 0xf0001919, 0x749d: 0xe00028a3, 0x749e: 0xf0001919, 0x749f: 0xe00028af, + 0x74a0: 0xf0001919, 0x74a1: 0xe00028c1, 0x74a2: 0xf0001919, 0x74a3: 0xe00028c7, + 0x74a4: 0xf0001919, 0x74a5: 0xf0001919, 0x74a6: 0xf0001919, 0x74a7: 0xf0001919, + 0x74a8: 0xf0001919, 0x74a9: 0xf0001919, 0x74aa: 0xf0001919, 0x74ab: 0xf0001919, + 0x74ac: 0xf0001919, 0x74ad: 0xf0001717, 0x74ae: 0xf0001717, 0x74af: 0xf0001717, + 0x74b0: 0xf0001717, 0x74b1: 0xf0001717, 0x74b2: 0xf0001717, 0x74b3: 0xf0001717, + 0x74b4: 0xf0001818, 0x74b5: 0xf0001818, 0x74b6: 0xf0001818, 0x74b7: 0xf0001818, + 0x74b8: 0xf0001818, 0x74b9: 0xf0001818, 0x74ba: 0xf0001818, 0x74bb: 0xf0001818, + 0x74bc: 0xf0001919, 0x74bd: 0xf0001a1a, 0x74be: 0x4004c020, 0x74bf: 0x4004c220, + // Block 0x1d3, offset 0x74c0 + 0x74c0: 0x00391c9a, 0x74c1: 0x00391e9a, 0x74c2: 0x00391e99, 0x74c3: 0x0039209a, + 0x74c4: 0x00392099, 0x74c5: 0x0039269a, 0x74c6: 0x00392699, 0x74c7: 0x0039289a, + 0x74c8: 0x00392899, 0x74c9: 0x0039309a, 0x74ca: 0x00393099, 0x74cb: 0x00393097, + 0x74cc: 0x00393098, 0x74cd: 0x0039389a, 0x74ce: 0x00393899, 0x74cf: 0x00393c9a, + 0x74d0: 0x00393c99, 0x74d1: 0x00393c97, 0x74d2: 0x00393c98, 0x74d3: 0x003956a4, + 0x74d4: 0x003956a3, 0x74d5: 0x0039569a, 0x74d6: 0x00395699, 0x74d7: 0x00395697, + 0x74d8: 0x00395698, 0x74d9: 0x0039589a, 0x74da: 0x00395899, 0x74db: 0x00395897, + 0x74dc: 0x00395898, 0x74dd: 0x0039649a, 0x74de: 0x00396499, 0x74df: 0x00396497, + 0x74e0: 0x00396498, 0x74e1: 0x0039729a, 0x74e2: 0x00397299, 0x74e3: 0x00397297, + 0x74e4: 0x00397298, 0x74e5: 0x0039749a, 0x74e6: 0x00397499, 0x74e7: 0x00397497, + 0x74e8: 0x00397498, 0x74e9: 0x0039889a, 0x74ea: 0x00398899, 0x74eb: 0x00398a9a, + 0x74ec: 0x00398a99, 0x74ed: 0x0039a49a, 0x74ee: 0x0039a499, 0x74ef: 0x0039a69a, + 0x74f0: 0x0039a699, 0x74f1: 0x0039c69a, 0x74f2: 0x0039c699, 0x74f3: 0x0039c697, + 0x74f4: 0x0039c698, 0x74f5: 0x0039c89a, 0x74f6: 0x0039c899, 0x74f7: 0x0039c897, + 0x74f8: 0x0039c898, 0x74f9: 0x0039dc9a, 0x74fa: 0x0039dc99, 0x74fb: 0x0039dc97, + 0x74fc: 0x0039dc98, 0x74fd: 0x0039de9a, 0x74fe: 0x0039de99, 0x74ff: 0x0039de97, + // Block 0x1d4, offset 0x7500 + 0x7500: 0x0039de98, 0x7501: 0x0039e69a, 0x7502: 0x0039e699, 0x7503: 0x0039e697, + 0x7504: 0x0039e698, 0x7505: 0x0039e89a, 0x7506: 0x0039e899, 0x7507: 0x0039e897, + 0x7508: 0x0039e898, 0x7509: 0x0039ee9a, 0x750a: 0x0039ee99, 0x750b: 0x0039ee97, + 0x750c: 0x0039ee98, 0x750d: 0x0039f09a, 0x750e: 0x0039f099, 0x750f: 0x0039f097, + 0x7510: 0x0039f098, 0x7511: 0x0039fc9a, 0x7512: 0x0039fc99, 0x7513: 0x0039fc97, + 0x7514: 0x0039fc98, 0x7515: 0x003a129a, 0x7516: 0x003a1299, 0x7517: 0x003a1297, + 0x7518: 0x003a1298, 0x7519: 0x003a1a9a, 0x751a: 0x003a1a99, 0x751b: 0x003a1a97, + 0x751c: 0x003a1a98, 0x751d: 0x003a409a, 0x751e: 0x003a4099, 0x751f: 0x003a4097, + 0x7520: 0x003a4098, 0x7521: 0x003a4e9a, 0x7522: 0x003a4e99, 0x7523: 0x003a4e97, + 0x7524: 0x003a4e98, 0x7525: 0x003a569a, 0x7526: 0x003a5699, 0x7527: 0x003a5697, + 0x7528: 0x003a5698, 0x7529: 0x003a689a, 0x752a: 0x003a6899, 0x752b: 0x003a6897, + 0x752c: 0x003a6898, 0x752d: 0x003a749a, 0x752e: 0x003a7499, 0x752f: 0x003a90a6, + 0x7530: 0x003a90a5, 0x7531: 0x003a909a, 0x7532: 0x003a9099, 0x7533: 0x003a9097, + 0x7534: 0x003a9098, 0x7535: 0xe0001732, 0x7536: 0xe000172f, 0x7537: 0xe0001738, + 0x7538: 0xe0001735, 0x7539: 0xe000173e, 0x753a: 0xe000173b, 0x753b: 0xf0001a1a, + 0x753c: 0xf0001919, 0x753f: 0xa0000000, + // Block 0x1d5, offset 0x7540 + 0x7541: 0x40409a20, 0x7542: 0x40409820, 0x7543: 0x40409c20, + 0x7545: 0x40407c20, 0x7546: 0x40407e20, 0x7547: 0x40408020, + 0x7548: 0x40408220, 0x7549: 0x40408420, 0x754a: 0x40408620, 0x754b: 0x40408820, + 0x754c: 0x40408c20, 0x754f: 0x40409020, + 0x7550: 0x40409220, 0x7553: 0x40409420, + 0x7554: 0x40409620, 0x7555: 0xc33108b1, 0x7556: 0x40409a20, 0x7557: 0x40409c20, + 0x7558: 0x40409e20, 0x7559: 0x4040a020, 0x755a: 0x4040a220, 0x755b: 0x4040a420, + 0x755c: 0x4040a620, 0x755d: 0x4040a820, 0x755e: 0x4040aa20, 0x755f: 0x4040ac20, + 0x7560: 0x4040ae20, 0x7561: 0x4040b020, 0x7562: 0x4040b220, 0x7563: 0x4040b420, + 0x7564: 0xc32f0851, 0x7565: 0x4040b820, 0x7566: 0x4040ba20, 0x7567: 0x4040bc20, + 0x7568: 0x4040be20, 0x756a: 0x4040c020, 0x756b: 0x4040c220, + 0x756c: 0x4040c420, 0x756d: 0x4040c620, 0x756e: 0x4040c820, 0x756f: 0x4040ca20, + 0x7570: 0x4040cc20, 0x7572: 0x4040d020, + 0x7576: 0x4040d420, 0x7577: 0x4040d620, + 0x7578: 0x4040d820, 0x7579: 0x4040da20, + 0x757c: 0xa070f102, 0x757d: 0x4040dc20, 0x757e: 0x4040de20, 0x757f: 0x4040e020, + // Block 0x1d6, offset 0x7580 + 0x7580: 0x4040e220, 0x7581: 0x4040e420, 0x7582: 0x4040e620, 0x7583: 0x4040e820, + 0x7584: 0x4040ea20, 0x7587: 0xc05a0191, + 0x7588: 0x4040f220, 0x758b: 0x4040f420, + 0x758c: 0x4040f620, 0x758d: 0x8209207c, 0x758e: 0x4040b420, + 0x7597: 0x4040fa20, + 0x759c: 0xe000183f, 0x759d: 0xe0001842, 0x759f: 0xe0001848, + 0x75a0: 0x40408a20, 0x75a1: 0x40408e20, 0x75a2: 0x4040ec20, 0x75a3: 0x4040ee20, + 0x75a6: 0xe000016d, 0x75a7: 0xe00001fb, + 0x75a8: 0xe0000316, 0x75a9: 0xe00003f0, 0x75aa: 0xe00004cb, 0x75ab: 0xe0000595, + 0x75ac: 0xe0000660, 0x75ad: 0xe0000708, 0x75ae: 0xe00007b4, 0x75af: 0xe0000859, + 0x75b0: 0x4040ce20, 0x75b1: 0x4040d220, 0x75b2: 0x4027e820, 0x75b3: 0x4027ea20, + 0x75b4: 0x40283020, 0x75b5: 0x40283220, 0x75b6: 0x40283420, 0x75b7: 0x40283620, + 0x75b8: 0x40283820, 0x75b9: 0x40283a20, 0x75ba: 0x40073a20, 0x75bb: 0x4027ec20, + // Block 0x1d7, offset 0x75c0 + 0x75c0: 0xa0000000, 0x75c1: 0xa0000000, 0x75c2: 0xa0000000, 0x75c3: 0xa0000000, + 0x75c4: 0xa0000000, 0x75c5: 0xa0000000, 0x75c6: 0xa0000000, 0x75c7: 0xa0000000, + 0x75c8: 0xa0000000, 0x75c9: 0x40020020, 0x75ca: 0x40020220, 0x75cb: 0x40020420, + 0x75cc: 0x40020620, 0x75cd: 0x40020820, 0x75ce: 0xa0000000, 0x75cf: 0xa0000000, + 0x75d0: 0xa0000000, 0x75d1: 0xa0000000, 0x75d2: 0xa0000000, 0x75d3: 0xa0000000, + 0x75d4: 0xa0000000, 0x75d5: 0xa0000000, 0x75d6: 0xa0000000, 0x75d7: 0xa0000000, + 0x75d8: 0xa0000000, 0x75d9: 0xa0000000, 0x75da: 0xa0000000, 0x75db: 0xa0000000, + 0x75dc: 0xa0000000, 0x75dd: 0xa0000000, 0x75de: 0xa0000000, 0x75df: 0xa0000000, + 0x75e0: 0x40021220, 0x75e1: 0x4002ba20, 0x75e2: 0x4003e020, 0x75e3: 0x4004ea20, + 0x75e4: 0x4027de20, 0x75e5: 0x4004ec20, 0x75e6: 0x4004e620, 0x75e7: 0x4003d220, + 0x75e8: 0x4003f420, 0x75e9: 0x4003f620, 0x75ea: 0x4004d820, 0x75eb: 0x40093820, + 0x75ec: 0x40024020, 0x75ed: 0x40021a20, 0x75ee: 0x4002e420, 0x75ef: 0x4004e220, + 0x75f0: 0x4029cc20, 0x75f1: 0x4029ce20, 0x75f2: 0x4029d020, 0x75f3: 0x4029d220, + 0x75f4: 0x4029d420, 0x75f5: 0x4029d620, 0x75f6: 0x4029d820, 0x75f7: 0x4029da20, + 0x75f8: 0x4029dc20, 0x75f9: 0x4029de20, 0x75fa: 0x40026c20, 0x75fb: 0x40026220, + 0x75fc: 0x40094020, 0x75fd: 0x40094220, 0x75fe: 0x40094420, 0x75ff: 0x4002c420, + // Block 0x1d8, offset 0x7600 + 0x7600: 0x4004d620, 0x7601: 0x002bde88, 0x7602: 0x002c0a88, 0x7603: 0xc3350911, + 0x7604: 0x002c6288, 0x7605: 0x002c9888, 0x7606: 0x002d0888, 0x7607: 0xc33900d1, + 0x7608: 0x002d6888, 0x7609: 0xc33b0931, 0x760a: 0x002dcc88, 0x760b: 0x002dfe88, + 0x760c: 0xc0030002, 0x760d: 0x002e8288, 0x760e: 0x002e9e88, 0x760f: 0xc33f0071, + 0x7610: 0x002f2c88, 0x7611: 0x002e0083, 0x7612: 0x002f7a88, 0x7613: 0xc3430911, + 0x7614: 0x00302c88, 0x7615: 0xc3470071, 0x7616: 0x0030be88, 0x7617: 0x0030e288, + 0x7618: 0x002d6a83, 0x7619: 0x00310088, 0x761a: 0x00312a88, 0x761b: 0x4003f820, + 0x761c: 0x4004e420, 0x761d: 0x4003fa20, 0x761e: 0x40062420, 0x761f: 0x40021620, + 0x7620: 0x40061e20, 0x7621: 0x402bde20, 0x7622: 0x402c0a20, 0x7623: 0xc3330911, + 0x7624: 0x402c6220, 0x7625: 0x402c9820, 0x7626: 0x402d0820, 0x7627: 0xc33700d1, + 0x7628: 0x402d6820, 0x7629: 0x402d9a20, 0x762a: 0x402dcc20, 0x762b: 0x402dfe20, + 0x762c: 0xc0000002, 0x762d: 0x402e8220, 0x762e: 0x402e9e20, 0x762f: 0xc33d0071, + 0x7630: 0x402f2c20, 0x7631: 0x402e0020, 0x7632: 0x402f7a20, 0x7633: 0xc3410911, + 0x7634: 0x40302c20, 0x7635: 0xc3450071, 0x7636: 0x4030be20, 0x7637: 0x4030e220, + 0x7638: 0x402d6a20, 0x7639: 0x40310020, 0x763a: 0x40312a20, 0x763b: 0x4003fc20, + 0x763c: 0x40094820, 0x763d: 0x4003fe20, 0x763e: 0x40094c20, 0x763f: 0xa0000000, + // Block 0x1d9, offset 0x7640 + 0x7640: 0xe00008f5, 0x7641: 0xe00008ef, 0x7642: 0xe0000921, 0x7643: 0xe0000969, + 0x7644: 0xe000095b, 0x7645: 0xe000094d, 0x7646: 0xe00009dd, 0x7647: 0x002c3c83, + 0x7648: 0xe0000ae8, 0x7649: 0xe0000ae2, 0x764a: 0xe0000af4, 0x764b: 0xe0000b20, + 0x764c: 0xe0002918, 0x764d: 0xe0002915, 0x764e: 0xe000291e, 0x764f: 0xe0002924, + 0x7650: 0xe0000ab3, 0x7651: 0xe0000d63, 0x7652: 0xe0000d9a, 0x7653: 0xe0000d94, + 0x7654: 0xe0000da6, 0x7655: 0xe0000de6, 0x7656: 0x002ee483, 0x7657: 0x40093e20, + 0x7658: 0xe0000e12, 0x7659: 0xe0000fe1, 0x765a: 0xe0000fdb, 0x765b: 0xe0000fed, + 0x765c: 0x00306e83, 0x765d: 0xe0001102, 0x765e: 0x00318888, 0x765f: 0xe0000f7b, + 0x7660: 0xe00008f2, 0x7661: 0xe00008ec, 0x7662: 0xe000091e, 0x7663: 0xe0000966, + 0x7664: 0xe0000958, 0x7665: 0xe000094a, 0x7666: 0xe00009d5, 0x7667: 0x402c3c20, + 0x7668: 0xe0000ae5, 0x7669: 0xe0000adf, 0x766a: 0xe0000af1, 0x766b: 0xe0000b1d, + 0x766c: 0xe0000c28, 0x766d: 0xe0000c22, 0x766e: 0xe0000c34, 0x766f: 0xe0000c40, + 0x7670: 0xe0000aad, 0x7671: 0xe0000d60, 0x7672: 0xe0000d97, 0x7673: 0xe0000d91, + 0x7674: 0xe0000da3, 0x7675: 0xe0000de3, 0x7676: 0x402ee420, 0x7677: 0x40093c20, + 0x7678: 0xe0000e0f, 0x7679: 0xe0000fde, 0x767a: 0xe0000fd8, 0x767b: 0xe0000fea, + 0x767c: 0x40306e20, 0x767d: 0xe00010ff, 0x767e: 0x40318820, 0x767f: 0xe0001114, + // Block 0x1da, offset 0x7680 + 0x7680: 0xe0000983, 0x7681: 0xe0000980, 0x7682: 0xe00008fb, 0x7683: 0xe00008f8, + 0x7684: 0xe000097d, 0x7685: 0xe000097a, 0x7686: 0xe0000a38, 0x7687: 0xe0000a35, + 0x7688: 0xe0000a3e, 0x7689: 0xe0000a3b, 0x768a: 0xe0000a4a, 0x768b: 0xe0000a47, + 0x768c: 0xe0000a44, 0x768d: 0xe0000a41, 0x768e: 0xe0000a86, 0x768f: 0xe0000a83, + 0x7690: 0xe0000aaa, 0x7691: 0xe0000aa7, 0x7692: 0xe0000b46, 0x7693: 0xe0000b43, + 0x7694: 0xe0000aee, 0x7695: 0xe0000aeb, 0x7696: 0xe0000b2c, 0x7697: 0xe0000b29, + 0x7698: 0xe0000b40, 0x7699: 0xe0000b3d, 0x769a: 0xe0000b1a, 0x769b: 0xe0000b17, + 0x769c: 0xe0000bb8, 0x769d: 0xe0000bb5, 0x769e: 0x002d2483, 0x769f: 0x402d2420, + 0x76a0: 0xe0000bc4, 0x76a1: 0xe0000bc1, 0x76a2: 0xe0000bca, 0x76a3: 0xe0000bc7, + 0x76a4: 0xe0000bee, 0x76a5: 0xe0000beb, 0x76a6: 0xe0000c1b, 0x76a7: 0xe0000c18, + 0x76a8: 0xe000292b, 0x76a9: 0xe0000c4e, 0x76aa: 0xe0002931, 0x76ab: 0xe0000c5d, + 0x76ac: 0xe000291b, 0x76ad: 0xe0000c2e, 0x76ae: 0xe000292e, 0x76af: 0xe0000c57, + 0x76b0: 0x002d9a83, 0x76b1: 0x402d9820, 0x76b2: 0xe00027e2, 0x76b3: 0xf0000404, + 0x76b4: 0xe0000c8a, 0x76b5: 0xe0000c87, 0x76b6: 0xe0000c9f, 0x76b7: 0xe0000c9c, + 0x76b8: 0x402f7220, 0x76b9: 0xe0000ccc, 0x76ba: 0xe0000cc9, 0x76bb: 0xe0000cd8, + 0x76bc: 0xe0000cd5, 0x76bd: 0xe0000cd2, 0x76be: 0xe0000ccf, 0x76bf: 0xe0000d04, + // Block 0x1db, offset 0x76c0 + 0x76c0: 0xe0000cfe, 0x76c1: 0xe0000cf8, 0x76c2: 0xe0000cf5, 0x76c3: 0xe0000d51, + 0x76c4: 0xe0000d4e, 0x76c5: 0xe0000d6f, 0x76c6: 0xe0000d6c, 0x76c7: 0xe0000d5d, + 0x76c8: 0xe0000d5a, 0x76c9: 0xf0000404, 0x76ca: 0x002eda88, 0x76cb: 0x402eda20, + 0x76cc: 0xe0000e2e, 0x76cd: 0xe0000e2b, 0x76ce: 0xe0000da0, 0x76cf: 0xe0000d9d, + 0x76d0: 0xe0000de0, 0x76d1: 0xe0000ddd, 0x76d2: 0xe0000e93, 0x76d3: 0xe0000e8f, + 0x76d4: 0xe0000eca, 0x76d5: 0xe0000ec7, 0x76d6: 0xe0000edc, 0x76d7: 0xe0000ed9, + 0x76d8: 0xe0000ed0, 0x76d9: 0xe0000ecd, 0x76da: 0xe0000f1f, 0x76db: 0xe0000f1c, + 0x76dc: 0xe0000f2d, 0x76dd: 0xe0000f2a, 0x76de: 0x002fe883, 0x76df: 0x402fe820, + 0x76e0: 0xe0000f33, 0x76e1: 0xe0000f30, 0x76e2: 0xe0000f99, 0x76e3: 0xe0000f96, + 0x76e4: 0xe0000f8a, 0x76e5: 0xe0000f87, 0x76e6: 0x00303688, 0x76e7: 0x40303620, + 0x76e8: 0xe000102b, 0x76e9: 0xe0001028, 0x76ea: 0xe000103f, 0x76eb: 0xe000103c, + 0x76ec: 0xe0000fe7, 0x76ed: 0xe0000fe4, 0x76ee: 0xe0000ff9, 0x76ef: 0xe0000ff6, + 0x76f0: 0xe0001025, 0x76f1: 0xe0001022, 0x76f2: 0xe0001039, 0x76f3: 0xe0001036, + 0x76f4: 0xe00010d8, 0x76f5: 0xe00010d5, 0x76f6: 0xe000110e, 0x76f7: 0xe000110b, + 0x76f8: 0xe0001117, 0x76f9: 0xe000113b, 0x76fa: 0xe0001138, 0x76fb: 0xe000114d, + 0x76fc: 0xe000114a, 0x76fd: 0xe0001147, 0x76fe: 0xe0001144, 0x76ff: 0xe0000f64, + // Block 0x1dc, offset 0x7700 + 0x7700: 0x402c1a20, 0x7701: 0x002c2a88, 0x7702: 0x002c3288, 0x7703: 0x402c3220, + 0x7704: 0x0031c488, 0x7705: 0x4031c420, 0x7706: 0x002efa88, 0x7707: 0x002c4e88, + 0x7708: 0x402c4e20, 0x7709: 0x002c7288, 0x770a: 0x002c7a88, 0x770b: 0x002c8488, + 0x770c: 0x402c8420, 0x770d: 0xe000115c, 0x770e: 0x002cae88, 0x770f: 0x002c9a83, + 0x7710: 0x002cc288, 0x7711: 0x002d1688, 0x7712: 0x402d1620, 0x7713: 0x002d4488, + 0x7714: 0x002d5888, 0x7715: 0x402d7820, 0x7716: 0x002dc288, 0x7717: 0x002db688, + 0x7718: 0x002e0a88, 0x7719: 0x402e0a20, 0x771a: 0x402e3820, 0x771b: 0x402e7220, + 0x771c: 0x0030a088, 0x771d: 0x002eb488, 0x771e: 0x402ebc20, 0x771f: 0x002f1088, + 0x7720: 0xe0000e56, 0x7721: 0xe0000e53, 0x7722: 0x002d6088, 0x7723: 0x402d6020, + 0x7724: 0x002f3e88, 0x7725: 0x402f3e20, 0x7726: 0x002f8288, 0x7727: 0x0031b488, + 0x7728: 0x4031b420, 0x7729: 0x00300888, 0x772a: 0x40301220, 0x772b: 0x40304220, + 0x772c: 0x00304a88, 0x772d: 0x40304a20, 0x772e: 0x00305288, 0x772f: 0xe000105f, + 0x7730: 0xe000105c, 0x7731: 0x0030b488, 0x7732: 0x0030cc88, 0x7733: 0x00311888, + 0x7734: 0x40311820, 0x7735: 0x00313488, 0x7736: 0x40313420, 0x7737: 0x00316488, + 0x7738: 0x00316e88, 0x7739: 0x40316e20, 0x773a: 0x40317820, 0x773b: 0x4031a620, + 0x773c: 0x0031bc88, 0x773d: 0x4031bc20, 0x773e: 0xe0000fc9, 0x773f: 0x40319420, + // Block 0x1dd, offset 0x7740 + 0x7740: 0x40321220, 0x7741: 0x40321a20, 0x7742: 0x40322220, 0x7743: 0x40322a20, + 0x7744: 0xe0000ad5, 0x7745: 0xe0000ad1, 0x7746: 0xe0000acd, 0x7747: 0xf0000a0a, + 0x7748: 0xf000040a, 0x7749: 0xf0000404, 0x774a: 0xf0000a0a, 0x774b: 0xf000040a, + 0x774c: 0xf0000404, 0x774d: 0xe0000947, 0x774e: 0xe0000944, 0x774f: 0xe0002921, + 0x7750: 0xe0000c3a, 0x7751: 0xe0000dcc, 0x7752: 0xe0000dc9, 0x7753: 0xe0000ff3, + 0x7754: 0xe0000ff0, 0x7755: 0xe0002964, 0x7756: 0xe0002961, 0x7757: 0xe0002952, + 0x7758: 0xe000294f, 0x7759: 0xe000295e, 0x775a: 0xe000295b, 0x775b: 0xe0002958, + 0x775c: 0xe0002955, 0x775d: 0x402cae20, 0x775e: 0xe0000962, 0x775f: 0xe000095e, + 0x7760: 0xe0000976, 0x7761: 0xe0000972, 0x7762: 0xe00009f4, 0x7763: 0xe00009ef, + 0x7764: 0x002d3a88, 0x7765: 0x402d3a20, 0x7766: 0xe0000bbe, 0x7767: 0xe0000bbb, + 0x7768: 0xe0000c99, 0x7769: 0xe0000c96, 0x776a: 0xe0000e20, 0x776b: 0xe0000e1d, + 0x776c: 0xe0000e27, 0x776d: 0xe0000e23, 0x776e: 0xe0001162, 0x776f: 0xe000115f, + 0x7770: 0xe0000c8d, 0x7771: 0xf0000a0a, 0x7772: 0xf000040a, 0x7773: 0xf0000404, + 0x7774: 0xe0000bac, 0x7775: 0xe0000ba9, 0x7776: 0x002d7888, 0x7777: 0x00319488, + 0x7778: 0xe0000d57, 0x7779: 0xe0000d54, 0x777a: 0xe0000954, 0x777b: 0xe0000950, + 0x777c: 0xe00009ea, 0x777d: 0xe00009e5, 0x777e: 0xe0000e19, 0x777f: 0xe0000e15, + // Block 0x1de, offset 0x7780 + 0x7780: 0xe000098f, 0x7781: 0xe000098c, 0x7782: 0xe0000995, 0x7783: 0xe0000992, + 0x7784: 0xe0000b62, 0x7785: 0xe0000b5f, 0x7786: 0xe0000b68, 0x7787: 0xe0000b65, + 0x7788: 0xe0002937, 0x7789: 0xe0000c69, 0x778a: 0xe000293a, 0x778b: 0xe0000c6f, + 0x778c: 0xe0000e4a, 0x778d: 0xe0000e47, 0x778e: 0xe0000e50, 0x778f: 0xe0000e4d, + 0x7790: 0xe0000ee8, 0x7791: 0xe0000ee5, 0x7792: 0xe0000eee, 0x7793: 0xe0000eeb, + 0x7794: 0xe0001053, 0x7795: 0xe0001050, 0x7796: 0xe0001059, 0x7797: 0xe0001056, + 0x7798: 0xe0000f61, 0x7799: 0xe0000f5e, 0x779a: 0xe0000fa5, 0x779b: 0xe0000fa2, + 0x779c: 0x00312288, 0x779d: 0x40312220, 0x779e: 0xe0000bf4, 0x779f: 0xe0000bf1, + 0x77a0: 0x002ebc88, 0x77a1: 0x402c8c20, 0x77a2: 0x002f2288, 0x77a3: 0x402f2220, + 0x77a4: 0x00314088, 0x77a5: 0x40314020, 0x77a6: 0xe000096f, 0x77a7: 0xe000096c, + 0x77a8: 0xe0000b32, 0x77a9: 0xe0000b2f, 0x77aa: 0xe000294c, 0x77ab: 0xe0002949, + 0x77ac: 0xe0000dfd, 0x77ad: 0xe0000df9, 0x77ae: 0xe0000e04, 0x77af: 0xe0000e01, + 0x77b0: 0xe0000e0b, 0x77b1: 0xe0000e07, 0x77b2: 0xe0001129, 0x77b3: 0xe0001126, + 0x77b4: 0x402e5e20, 0x77b5: 0x402ed020, 0x77b6: 0x40305a20, 0x77b7: 0x402dd420, + 0x77b8: 0xe0000abf, 0x77b9: 0xe0000ec4, 0x77ba: 0x002be888, 0x77bb: 0x002c4488, + 0x77bc: 0x402c4420, 0x77bd: 0x002e3888, 0x77be: 0x00303e88, 0x77bf: 0x402ffc20, + // Block 0x1df, offset 0x77c0 + 0x77c0: 0x40315820, 0x77c1: 0x0031d488, 0x77c2: 0x4031d420, 0x77c3: 0x002c1a88, + 0x77c4: 0x00307c88, 0x77c5: 0x0030da88, 0x77c6: 0x002ca288, 0x77c7: 0x402ca220, + 0x77c8: 0x002dde88, 0x77c9: 0x402dde20, 0x77ca: 0x002f6a88, 0x77cb: 0x402f6a20, + 0x77cc: 0x002f8e88, 0x77cd: 0x402f8e20, 0x77ce: 0x00311088, 0x77cf: 0x40311020, + 0x77d0: 0x402bf020, 0x77d1: 0x402bf820, 0x77d2: 0x402c0220, 0x77d3: 0x402c2a20, + 0x77d4: 0x402efa20, 0x77d5: 0x402c5620, 0x77d6: 0x402c7220, 0x77d7: 0x402c7a20, + 0x77d8: 0x402ccc20, 0x77d9: 0x402c9a20, 0x77da: 0x402cd420, 0x77db: 0x402cc220, + 0x77dc: 0x402cdc20, 0x77dd: 0x402ce820, 0x77de: 0x402cf020, 0x77df: 0x402dee20, + 0x77e0: 0x402d4420, 0x77e1: 0x402d2a20, 0x77e2: 0x402d3220, 0x77e3: 0x402d5820, + 0x77e4: 0x402d0020, 0x77e5: 0x40308820, 0x77e6: 0x402d8020, 0x77e7: 0x402d8e20, + 0x77e8: 0x402db620, 0x77e9: 0x402dc220, 0x77ea: 0x402daa20, 0x77eb: 0x402e4220, + 0x77ec: 0x402e4a20, 0x77ed: 0x402e5420, 0x77ee: 0x402e6820, 0x77ef: 0x4030a020, + 0x77f0: 0x4030ac20, 0x77f1: 0x402e9020, 0x77f2: 0x402eb420, 0x77f3: 0x402ec820, + 0x77f4: 0x402ea620, 0x77f5: 0x402f1020, 0x77f6: 0x402eee20, 0x77f7: 0x402f1a20, + 0x77f8: 0x402f4c20, 0x77f9: 0x402f9820, 0x77fa: 0x402fa220, 0x77fb: 0x402fac20, + 0x77fc: 0x402fb620, 0x77fd: 0x402fbe20, 0x77fe: 0x402fc620, 0x77ff: 0x402fd020, + // Block 0x1e0, offset 0x7800 + 0x7800: 0xe00009b1, 0x7801: 0xe00009ae, 0x7802: 0xe0000a22, 0x7803: 0xe0000a1f, + 0x7804: 0xe0000a28, 0x7805: 0xe0000a25, 0x7806: 0xe0000a2e, 0x7807: 0xe0000a2b, + 0x7808: 0xe000260e, 0x7809: 0xe000260b, 0x780a: 0xe0000a8c, 0x780b: 0xe0000a89, + 0x780c: 0xe0000a98, 0x780d: 0xe0000a95, 0x780e: 0xe0000aa4, 0x780f: 0xe0000aa1, + 0x7810: 0xe0000a92, 0x7811: 0xe0000a8f, 0x7812: 0xe0000a9e, 0x7813: 0xe0000a9b, + 0x7814: 0xe0000b55, 0x7815: 0xe0000b51, 0x7816: 0xe0000b4d, 0x7817: 0xe0000b49, + 0x7818: 0xe0000b7c, 0x7819: 0xe0000b79, 0x781a: 0xe0000b82, 0x781b: 0xe0000b7f, + 0x781c: 0xe0000b39, 0x781d: 0xe0000b35, 0x781e: 0xe0000b8c, 0x781f: 0xe0000b89, + 0x7820: 0xe0000bd0, 0x7821: 0xe0000bcd, 0x7822: 0xe0000c00, 0x7823: 0xe0000bfd, + 0x7824: 0xe0000c0c, 0x7825: 0xe0000c09, 0x7826: 0xe0000bfa, 0x7827: 0xe0000bf7, + 0x7828: 0xe0000c06, 0x7829: 0xe0000c03, 0x782a: 0xe0000c12, 0x782b: 0xe0000c0f, + 0x782c: 0xe0002940, 0x782d: 0xe0000c7b, 0x782e: 0xe0002927, 0x782f: 0xe0000c46, + 0x7830: 0xe0000c93, 0x7831: 0xe0000c90, 0x7832: 0xe0000cab, 0x7833: 0xe0000ca8, + 0x7834: 0xe0000cb1, 0x7835: 0xe0000cae, 0x7836: 0xe0000cde, 0x7837: 0xe0000cdb, + 0x7838: 0xe0000ce5, 0x7839: 0xe0000ce1, 0x783a: 0xe0000cf2, 0x783b: 0xe0000cef, + 0x783c: 0xe0000cec, 0x783d: 0xe0000ce9, 0x783e: 0xe0000d1e, 0x783f: 0xe0000d1b, + // Block 0x1e1, offset 0x7840 + 0x7840: 0xe0000d24, 0x7841: 0xe0000d21, 0x7842: 0xe0000d2a, 0x7843: 0xe0000d27, + 0x7844: 0xe0000d69, 0x7845: 0xe0000d66, 0x7846: 0xe0000d7b, 0x7847: 0xe0000d78, + 0x7848: 0xe0000d87, 0x7849: 0xe0000d84, 0x784a: 0xe0000d81, 0x784b: 0xe0000d7e, + 0x784c: 0xe0000ded, 0x784d: 0xe0000de9, 0x784e: 0xe0002946, 0x784f: 0xe0002943, + 0x7850: 0xe0000e3d, 0x7851: 0xe0000e39, 0x7852: 0xe0000e35, 0x7853: 0xe0000e31, + 0x7854: 0xe0000ea7, 0x7855: 0xe0000ea4, 0x7856: 0xe0000ead, 0x7857: 0xe0000eaa, + 0x7858: 0xe0000ed6, 0x7859: 0xe0000ed3, 0x785a: 0xe0000ef4, 0x785b: 0xe0000ef1, + 0x785c: 0xe0000efb, 0x785d: 0xe0000ef7, 0x785e: 0xe0000f02, 0x785f: 0xe0000eff, + 0x7860: 0xe0000f41, 0x7861: 0xe0000f3e, 0x7862: 0xe0000f53, 0x7863: 0xe0000f50, + 0x7864: 0xe0000f26, 0x7865: 0xe0000f22, 0x7866: 0xe0000f3a, 0x7867: 0xe0000f36, + 0x7868: 0xe0000f5a, 0x7869: 0xe0000f56, 0x786a: 0xe0000f93, 0x786b: 0xe0000f90, + 0x786c: 0xe0000f9f, 0x786d: 0xe0000f9c, 0x786e: 0xe0000fb1, 0x786f: 0xe0000fae, + 0x7870: 0xe0000fab, 0x7871: 0xe0000fa8, 0x7872: 0xe0001093, 0x7873: 0xe0001090, + 0x7874: 0xe000109f, 0x7875: 0xe000109c, 0x7876: 0xe0001099, 0x7877: 0xe0001096, + 0x7878: 0xe0001032, 0x7879: 0xe000102e, 0x787a: 0xe0002964, 0x787b: 0xe0002961, + 0x787c: 0xe00010a9, 0x787d: 0xe00010a6, 0x787e: 0xe00010af, 0x787f: 0xe00010ac, + // Block 0x1e2, offset 0x7880 + 0x7880: 0xe00010d2, 0x7881: 0xe00010cf, 0x7882: 0xe00010cc, 0x7883: 0xe00010c9, + 0x7884: 0xe00010e1, 0x7885: 0xe00010de, 0x7886: 0xe00010e7, 0x7887: 0xe00010e4, + 0x7888: 0xe00010ed, 0x7889: 0xe00010ea, 0x788a: 0xe0002912, 0x788b: 0xe000290f, + 0x788c: 0xe000290c, 0x788d: 0xe0002909, 0x788e: 0xe0001123, 0x788f: 0xe0001120, + 0x7890: 0xe0001141, 0x7891: 0xe000113e, 0x7892: 0xe0001153, 0x7893: 0xe0001150, + 0x7894: 0xe0001159, 0x7895: 0xe0001156, 0x7896: 0xe0000c15, 0x7897: 0xe0000f8d, + 0x7898: 0xe00010db, 0x7899: 0xe0001111, 0x789a: 0xf0000404, 0x789b: 0xe0000f70, + 0x789c: 0x40300420, 0x789d: 0x40300620, 0x789e: 0xe0000f7f, 0x789f: 0x402c9620, + 0x78a0: 0xe000099b, 0x78a1: 0xe0000998, 0x78a2: 0xe0000989, 0x78a3: 0xe0000986, + 0x78a4: 0xe0000928, 0x78a5: 0xe0000924, 0x78a6: 0xe0000930, 0x78a7: 0xe000092c, + 0x78a8: 0xe0000940, 0x78a9: 0xe000093c, 0x78aa: 0xe0000938, 0x78ab: 0xe0000934, + 0x78ac: 0xe00009aa, 0x78ad: 0xe00009a6, 0x78ae: 0xe0000902, 0x78af: 0xe00008fe, + 0x78b0: 0xe000090a, 0x78b1: 0xe0000906, 0x78b2: 0xe000091a, 0x78b3: 0xe0000916, + 0x78b4: 0xe0000912, 0x78b5: 0xe000090e, 0x78b6: 0xe00009a2, 0x78b7: 0xe000099e, + 0x78b8: 0xe0000b6e, 0x78b9: 0xe0000b6b, 0x78ba: 0xe0000b5c, 0x78bb: 0xe0000b59, + 0x78bc: 0xe0000b26, 0x78bd: 0xe0000b23, 0x78be: 0xe0000afb, 0x78bf: 0xe0000af7, + // Block 0x1e3, offset 0x78c0 + 0x78c0: 0xe0000b03, 0x78c1: 0xe0000aff, 0x78c2: 0xe0000b13, 0x78c3: 0xe0000b0f, + 0x78c4: 0xe0000b0b, 0x78c5: 0xe0000b07, 0x78c6: 0xe0000b75, 0x78c7: 0xe0000b71, + 0x78c8: 0xe0002934, 0x78c9: 0xe0000c63, 0x78ca: 0xe000293d, 0x78cb: 0xe0000c75, + 0x78cc: 0xe0000e84, 0x78cd: 0xe0000e81, 0x78ce: 0xe0000e44, 0x78cf: 0xe0000e41, + 0x78d0: 0xe0000dad, 0x78d1: 0xe0000da9, 0x78d2: 0xe0000db5, 0x78d3: 0xe0000db1, + 0x78d4: 0xe0000dc5, 0x78d5: 0xe0000dc1, 0x78d6: 0xe0000dbd, 0x78d7: 0xe0000db9, + 0x78d8: 0xe0000e8b, 0x78d9: 0xe0000e87, 0x78da: 0xe0000e5d, 0x78db: 0xe0000e59, + 0x78dc: 0xe0000e65, 0x78dd: 0xe0000e61, 0x78de: 0xe0000e75, 0x78df: 0xe0000e71, + 0x78e0: 0xe0000e6d, 0x78e1: 0xe0000e69, 0x78e2: 0xe0000e7d, 0x78e3: 0xe0000e79, + 0x78e4: 0xe000108d, 0x78e5: 0xe000108a, 0x78e6: 0xe000104d, 0x78e7: 0xe000104a, + 0x78e8: 0xe0001066, 0x78e9: 0xe0001062, 0x78ea: 0xe000106e, 0x78eb: 0xe000106a, + 0x78ec: 0xe000107e, 0x78ed: 0xe000107a, 0x78ee: 0xe0001076, 0x78ef: 0xe0001072, + 0x78f0: 0xe0001086, 0x78f1: 0xe0001082, 0x78f2: 0xe0001108, 0x78f3: 0xe0001105, + 0x78f4: 0xe0001135, 0x78f5: 0xe0001132, 0x78f6: 0xe000112f, 0x78f7: 0xe000112c, + 0x78f8: 0xe000111d, 0x78f9: 0xe000111a, 0x78fa: 0xe0000d0a, 0x78fb: 0xe0000d07, + 0x78fc: 0x0030d888, 0x78fd: 0x4030d820, 0x78fe: 0x00312088, 0x78ff: 0x40312020, + // Block 0x1e4, offset 0x7900 + 0x7900: 0x00093685, 0x7901: 0x40083620, 0x7902: 0x40083820, 0x7903: 0x40083a20, + 0x7904: 0x40083c20, 0x7905: 0x002c628b, 0x7906: 0x002c6285, 0x7907: 0x002c9885, + 0x7908: 0x002d9a85, 0x7909: 0x002dcc85, 0x790a: 0x40083e20, 0x790b: 0x400a6e20, + 0x790c: 0x40084020, 0x790d: 0xe00009c4, 0x790e: 0x402d1e20, 0x790f: 0x40084220, + 0x7910: 0xe00002cb, 0x7911: 0xe00002d3, 0x7912: 0xe00002b2, 0x7913: 0xe00002bb, + 0x7914: 0xe00003cd, 0x7915: 0xe00002c3, 0x7916: 0xe00003d1, 0x7917: 0xe00004ab, + 0x7918: 0xe0000579, 0x7919: 0xe00002c7, 0x791a: 0xe0000640, 0x791b: 0xe00002cf, + 0x791c: 0xe00004af, 0x791d: 0xe0000644, 0x791e: 0xe0000798, 0x791f: 0xf0001e1e, + 0x7920: 0x002d9a8a, 0x7921: 0xe00027d4, 0x7922: 0xe00027db, 0x7923: 0xe00027ee, + 0x7924: 0x0030be8a, 0x7925: 0xe0002848, 0x7926: 0xe000284f, 0x7927: 0xe00010bb, + 0x7928: 0xe00027f4, 0x7929: 0x0030f68a, 0x792a: 0xe0002883, 0x792b: 0xe000288a, + 0x792c: 0x002e228a, 0x792d: 0x002c3a8a, 0x792e: 0x002c628a, 0x792f: 0x002e828a, + 0x7930: 0x002d9a84, 0x7931: 0xf0001f04, 0x7932: 0xf0000404, 0x7933: 0xf0001f04, + 0x7934: 0x0030be84, 0x7935: 0xf0001f04, 0x7936: 0xf0000404, 0x7937: 0xe00010b6, + 0x7938: 0xe00027f1, 0x7939: 0x0030f684, 0x793a: 0xe0002880, 0x793b: 0xe0002886, + 0x793c: 0x002e2284, 0x793d: 0x002c3a84, 0x793e: 0x002c6284, 0x793f: 0x002e8284, + // Block 0x1e5, offset 0x7940 + 0x7940: 0xe0000024, 0x7941: 0xe0000029, 0x7942: 0xe000002e, 0x7943: 0xe0000033, + 0x7944: 0xe0000038, 0x7945: 0xe000003d, 0x7946: 0xe0000042, 0x7947: 0xe0000047, + 0x7948: 0xf0001f04, 0x7949: 0xf0001f04, 0x794a: 0xf0001f04, 0x794b: 0xf0001f04, + 0x794c: 0xf0001f04, 0x794d: 0xf0001f04, 0x794e: 0xf0001f04, 0x794f: 0xf0001f04, + 0x7950: 0xf0001f04, 0x7951: 0xf0000404, 0x7952: 0xf0000404, 0x7953: 0xf0000404, + 0x7954: 0xf0000404, 0x7955: 0xf0000404, 0x7956: 0xf0000404, 0x7957: 0xf0000404, + 0x7958: 0xf0000404, 0x7959: 0xf0000404, 0x795a: 0xf0000404, 0x795b: 0xf0000404, + 0x795c: 0xf0000404, 0x795d: 0xf0000404, 0x795e: 0xf0000404, 0x795f: 0xf0000404, + 0x7960: 0xf0000404, 0x7961: 0xf0000404, 0x7962: 0xf0000404, 0x7963: 0xf0000404, + 0x7964: 0xf0000404, 0x7965: 0xf0000404, 0x7966: 0xf0000404, 0x7967: 0xf0000404, + 0x7968: 0xf0000404, 0x7969: 0xf0000404, 0x796a: 0xf0000404, 0x796b: 0xf0000404, + 0x796c: 0xe00024c7, 0x796d: 0xf0000404, 0x796e: 0xf0000404, 0x796f: 0xf0000404, + 0x7970: 0xf0000404, 0x7971: 0xf0000404, 0x7972: 0xf0000404, 0x7973: 0xe00024e7, + 0x7974: 0xf0000404, 0x7975: 0xf0000404, 0x7976: 0x002bde8c, 0x7977: 0x002c0a8c, + 0x7978: 0x002c3a8c, 0x7979: 0x002c628c, 0x797a: 0x002c988c, 0x797b: 0x002d088c, + 0x797c: 0x002d228c, 0x797d: 0x002d688c, 0x797e: 0x002d9a8c, 0x797f: 0x002dcc8c, + // Block 0x1e6, offset 0x7980 + 0x7980: 0xe000230b, 0x7981: 0xe00022f8, 0x7982: 0xe00022fc, 0x7983: 0xe0002311, + 0x7984: 0xe0002316, 0x7985: 0xe000231d, 0x7986: 0xe0002321, 0x7987: 0xe0002325, + 0x7988: 0xe000232b, 0x7989: 0xf0001c1c, 0x798a: 0xe0002330, 0x798b: 0xe000233c, + 0x798c: 0xe0002340, 0x798d: 0xe0002337, 0x798e: 0xe0002346, 0x798f: 0xe000234b, + 0x7990: 0xe000234f, 0x7991: 0xe0002353, 0x7992: 0xf0001c1c, 0x7993: 0xe000235e, + 0x7994: 0xe0002358, 0x7995: 0xf0001c1c, 0x7996: 0xe0002363, 0x7997: 0xe000236d, + 0x7998: 0xf0001f04, 0x7999: 0xf0001f04, 0x799a: 0xf0001f04, 0x799b: 0xf0001f04, + 0x799c: 0xf0001f04, 0x799d: 0xf0001f04, 0x799e: 0xf0001f04, 0x799f: 0xf0001f04, + 0x79a0: 0xf0001f04, 0x79a1: 0xf0001f04, 0x79a2: 0xf0000404, 0x79a3: 0xf0000404, + 0x79a4: 0xf0000404, 0x79a5: 0xf0000404, 0x79a6: 0xf0000404, 0x79a7: 0xf0000404, + 0x79a8: 0xf0000404, 0x79a9: 0xf0000404, 0x79aa: 0xf0000404, 0x79ab: 0xf0000404, + 0x79ac: 0xf0000404, 0x79ad: 0xf0000404, 0x79ae: 0xf0000404, 0x79af: 0xf0000404, + 0x79b0: 0xf0000404, 0x79b1: 0xe0000c1e, 0x79b2: 0xf0001c1c, 0x79b3: 0xf0001d1d, + 0x79b4: 0xe0000a31, 0x79b5: 0xf0001d1c, 0x79b6: 0xf0001c1c, 0x79b7: 0xf0001c1c, + 0x79b8: 0xe0000ac2, 0x79b9: 0xe0000ac6, 0x79ba: 0xe00027e8, 0x79bb: 0xf0001c1c, + 0x79bc: 0xf0001c1c, 0x79bd: 0xf0001c1c, 0x79be: 0xf0001c1c, 0x79bf: 0xe0002431, + // Block 0x1e7, offset 0x79c0 + 0x79c0: 0xf0001d1c, 0x79c1: 0xf0001d1d, 0x79c2: 0xe00009b7, 0x79c3: 0xe00024f3, + 0x79c4: 0xf0001c1c, 0x79c5: 0xf0001c1c, 0x79c6: 0xe0000a66, 0x79c7: 0xe0000a7a, + 0x79c8: 0xf0001d1c, 0x79c9: 0xf0001c1d, 0x79ca: 0xf0001c1c, 0x79cb: 0xf0001d1d, + 0x79cc: 0xf0001c1c, 0x79cd: 0xf0001d1d, 0x79ce: 0xf0001d1d, 0x79cf: 0xf0001c1c, + 0x79d0: 0xf0001c1c, 0x79d1: 0xf0001c1c, 0x79d2: 0xe0000d0d, 0x79d3: 0xe0002818, + 0x79d4: 0xf0001c1c, 0x79d5: 0xe0000d3a, 0x79d6: 0xe0000d46, 0x79d7: 0xf0001d1d, + 0x79d8: 0xe0000eb0, 0x79d9: 0xe0000eb8, 0x79da: 0xf0001d1d, 0x79db: 0xf0001c1c, + 0x79dc: 0xf0001c1d, 0x79dd: 0xf0001c1d, 0x79de: 0xe00010b2, 0x79df: 0xe00009c8, + 0x79e0: 0xf0001f04, 0x79e1: 0xf0001f04, 0x79e2: 0xf0001f04, 0x79e3: 0xf0001f04, + 0x79e4: 0xf0001f04, 0x79e5: 0xf0001f04, 0x79e6: 0xf0001f04, 0x79e7: 0xf0001f04, + 0x79e8: 0xf0001f04, 0x79e9: 0xf0000404, 0x79ea: 0xf0000404, 0x79eb: 0xf0000404, + 0x79ec: 0xf0000404, 0x79ed: 0xf0000404, 0x79ee: 0xf0000404, 0x79ef: 0xf0000404, + 0x79f0: 0xf0000404, 0x79f1: 0xf0000404, 0x79f2: 0xf0000404, 0x79f3: 0xf0000404, + 0x79f4: 0xf0000404, 0x79f5: 0xf0000404, 0x79f6: 0xf0000404, 0x79f7: 0xf0000404, + 0x79f8: 0xf0000404, 0x79f9: 0xf0000404, 0x79fa: 0xf0000404, 0x79fb: 0xf0000404, + 0x79fc: 0xf0000404, 0x79fd: 0xf0000404, 0x79fe: 0xf0000404, 0x79ff: 0xe0000bdf, + // Block 0x1e8, offset 0x7a00 + 0x7a00: 0xf0001f04, 0x7a01: 0xf0001f04, 0x7a02: 0xf0001f04, 0x7a03: 0xf0001f04, + 0x7a04: 0xf0001f04, 0x7a05: 0xf0001f04, 0x7a06: 0xf0001f04, 0x7a07: 0xf0001f04, + 0x7a08: 0xf0001f04, 0x7a09: 0xf0001f04, 0x7a0a: 0xf0001f04, + 0x7a10: 0xf0000a04, 0x7a11: 0xf0000a04, 0x7a12: 0xf0000a04, 0x7a13: 0xf0000a04, + 0x7a14: 0xf0000a04, 0x7a15: 0xf0000a04, 0x7a16: 0xf0000a04, 0x7a17: 0xf0000a04, + 0x7a18: 0xe00024b3, 0x7a19: 0xf0000a04, 0x7a1a: 0xf0000a04, 0x7a1b: 0xf0000a04, + 0x7a1c: 0xf0000a04, 0x7a1d: 0xf0000a04, 0x7a1e: 0xf0000a04, 0x7a1f: 0xf0000a04, + 0x7a20: 0xe00024cb, 0x7a21: 0xf0000a04, 0x7a22: 0xf0000a04, 0x7a23: 0xf0000a04, + 0x7a24: 0xf0000a04, 0x7a25: 0xf0000a04, 0x7a26: 0xf0000a04, 0x7a27: 0xe00024eb, + 0x7a28: 0xf0000a04, 0x7a29: 0xf0000a04, 0x7a2a: 0xf0000a04, 0x7a2b: 0x002c3a8c, + 0x7a2c: 0x002f7a8c, 0x7a2d: 0xf0000c0c, 0x7a2e: 0xf0000c0c, + 0x7a30: 0x002bde9d, 0x7a31: 0x002c0a9d, 0x7a32: 0x002c3a9d, 0x7a33: 0x002c629d, + 0x7a34: 0x002c989d, 0x7a35: 0x002d089d, 0x7a36: 0x002d229d, 0x7a37: 0x002d689d, + 0x7a38: 0x002d9a9d, 0x7a39: 0x002dcc9d, 0x7a3a: 0x002dfe9d, 0x7a3b: 0x002e229d, + 0x7a3c: 0x002e829d, 0x7a3d: 0x002e9e9d, 0x7a3e: 0x002ee29d, 0x7a3f: 0x002f2c9d, + // Block 0x1e9, offset 0x7a40 + 0x7a40: 0xe00014bd, 0x7a41: 0x0033b483, 0x7a42: 0x00339688, 0x7a43: 0x0033a288, + 0x7a44: 0x0033c288, 0x7a45: 0x0033fc88, 0x7a46: 0xc02a0071, 0x7a47: 0x00343688, + 0x7a48: 0x00344688, 0x7a49: 0x00349a88, 0x7a4a: 0x0034e488, 0x7a4b: 0x00356288, + 0x7a4c: 0x00356a88, 0x7a4d: 0xe00014cf, 0x7a4e: 0x00357a88, 0x7a4f: 0x00365488, + 0x7a50: 0xc0090041, 0x7a51: 0x00335288, 0x7a52: 0x00335a88, 0x7a53: 0xc0130092, + 0x7a54: 0x00338a88, 0x7a55: 0xc34c0041, 0x7a56: 0xc01c0071, 0x7a57: 0xc0200071, + 0x7a58: 0xc0250041, 0x7a59: 0x00343e88, 0x7a5a: 0xc0370092, 0x7a5b: 0x00348488, + 0x7a5c: 0x0034a888, 0x7a5d: 0x0034ba88, 0x7a5e: 0xc02e0071, 0x7a5f: 0x00350e88, + 0x7a60: 0x00352888, 0x7a61: 0x00353a88, 0x7a62: 0x00354c88, 0x7a63: 0xc03e00f1, + 0x7a64: 0x0035ac88, 0x7a65: 0x0035b488, 0x7a66: 0x00360288, 0x7a67: 0xc0440071, + 0x7a68: 0x00365c88, 0x7a69: 0x00366688, 0x7a6a: 0x00367488, 0x7a6b: 0xc0480071, + 0x7a6c: 0x00368e88, 0x7a6d: 0xc04c0071, 0x7a6e: 0x0036b888, 0x7a6f: 0x0036c488, + 0x7a70: 0xc0060041, 0x7a71: 0x40335220, 0x7a72: 0x40335a20, 0x7a73: 0xc0100092, + 0x7a74: 0x40338a20, 0x7a75: 0xc3490041, 0x7a76: 0xc01a0071, 0x7a77: 0xc01e0071, + 0x7a78: 0xc0220041, 0x7a79: 0x40343e20, 0x7a7a: 0xc0340092, 0x7a7b: 0x40348420, + 0x7a7c: 0x4034a820, 0x7a7d: 0x4034ba20, 0x7a7e: 0xc02c0071, 0x7a7f: 0x40350e20, + // Block 0x1ea, offset 0x7a80 + 0x7a80: 0x40352820, 0x7a81: 0x40353a20, 0x7a82: 0x40354c20, 0x7a83: 0xc03a00f1, + 0x7a84: 0x4035ac20, 0x7a85: 0x4035b420, 0x7a86: 0x40360220, 0x7a87: 0xc0420071, + 0x7a88: 0x40365c20, 0x7a89: 0x40366620, 0x7a8a: 0x40367420, 0x7a8b: 0xc0460071, + 0x7a8c: 0x40368e20, 0x7a8d: 0xc04a0071, 0x7a8e: 0x4036b820, 0x7a8f: 0x4036c420, + 0x7a90: 0xe00014ba, 0x7a91: 0x4033b420, 0x7a92: 0x40339620, 0x7a93: 0x4033a220, + 0x7a94: 0x4033c220, 0x7a95: 0x4033fc20, 0x7a96: 0xc0280071, 0x7a97: 0x40343620, + 0x7a98: 0x40344620, 0x7a99: 0x40349a20, 0x7a9a: 0x4034e420, 0x7a9b: 0x40356220, + 0x7a9c: 0x40356a20, 0x7a9d: 0xe00014cc, 0x7a9e: 0x40357a20, 0x7a9f: 0x40365420, + 0x7aa0: 0x0035e088, 0x7aa1: 0x4035e020, 0x7aa2: 0x00369e88, 0x7aa3: 0x40369e20, + 0x7aa4: 0x0036ce88, 0x7aa5: 0x4036ce20, 0x7aa6: 0x0036d688, 0x7aa7: 0x4036d620, + 0x7aa8: 0x0036ea88, 0x7aa9: 0x4036ea20, 0x7aaa: 0x0036e088, 0x7aab: 0x4036e020, + 0x7aac: 0x0036f488, 0x7aad: 0x4036f420, 0x7aae: 0x0036fc88, 0x7aaf: 0x4036fc20, + 0x7ab0: 0x00370488, 0x7ab1: 0x40370420, 0x7ab2: 0x00370c88, 0x7ab3: 0x40370c20, + 0x7ab4: 0xc0500131, 0x7ab5: 0xc04e0131, 0x7ab6: 0x00371c88, 0x7ab7: 0x40371c20, + 0x7ab8: 0x0035a488, 0x7ab9: 0x4035a420, 0x7aba: 0x0035fa88, 0x7abb: 0x4035fa20, + 0x7abc: 0x0035f288, 0x7abd: 0x4035f220, 0x7abe: 0x0035e888, 0x7abf: 0x4035e820, + // Block 0x1eb, offset 0x7ac0 + 0x7ac1: 0x40409c20, 0x7ac2: 0x40409820, 0x7ac3: 0x40409a20, + 0x7ac5: 0x40407c20, 0x7ac6: 0x40407e20, 0x7ac7: 0x40408020, + 0x7ac8: 0x40408220, 0x7ac9: 0x40408420, 0x7aca: 0x40408620, 0x7acb: 0x40408820, + 0x7acc: 0x40408c20, 0x7acf: 0x40409020, + 0x7ad0: 0x40409220, 0x7ad3: 0x40409420, + 0x7ad4: 0x40409620, 0x7ad5: 0x40409820, 0x7ad6: 0x40409a20, 0x7ad7: 0x40409c20, + 0x7ad8: 0x40409e20, 0x7ad9: 0x4040a020, 0x7ada: 0x4040a220, 0x7adb: 0x4040a420, + 0x7adc: 0x4040a620, 0x7add: 0x4040a820, 0x7ade: 0x4040aa20, 0x7adf: 0x4040ac20, + 0x7ae0: 0x4040ae20, 0x7ae1: 0x4040b020, 0x7ae2: 0x4040b220, 0x7ae3: 0x4040b420, + 0x7ae4: 0x4040b620, 0x7ae5: 0x4040b820, 0x7ae6: 0x4040ba20, 0x7ae7: 0x4040bc20, + 0x7ae8: 0x4040be20, 0x7aea: 0x4040c020, 0x7aeb: 0x4040c220, + 0x7aec: 0x4040c420, 0x7aed: 0x4040c620, 0x7aee: 0x4040c820, 0x7aef: 0x4040ca20, + 0x7af0: 0x4040cc20, 0x7af2: 0x4040d020, + 0x7af6: 0x4040d420, 0x7af7: 0x4040d620, + 0x7af8: 0x4040d820, 0x7af9: 0x4040da20, + 0x7afc: 0xa070f102, 0x7afd: 0x4040dc20, 0x7afe: 0x4040de20, 0x7aff: 0x4040e020, + // Block 0x1ec, offset 0x7b00 + 0x7b00: 0xa0000000, 0x7b01: 0xa0000000, 0x7b02: 0xa0000000, 0x7b03: 0xa0000000, + 0x7b04: 0xa0000000, 0x7b05: 0xa0000000, 0x7b06: 0xa0000000, 0x7b07: 0xa0000000, + 0x7b08: 0xa0000000, 0x7b09: 0x40020020, 0x7b0a: 0x40020220, 0x7b0b: 0x40020420, + 0x7b0c: 0x40020620, 0x7b0d: 0x40020820, 0x7b0e: 0xa0000000, 0x7b0f: 0xa0000000, + 0x7b10: 0xa0000000, 0x7b11: 0xa0000000, 0x7b12: 0xa0000000, 0x7b13: 0xa0000000, + 0x7b14: 0xa0000000, 0x7b15: 0xa0000000, 0x7b16: 0xa0000000, 0x7b17: 0xa0000000, + 0x7b18: 0xa0000000, 0x7b19: 0xa0000000, 0x7b1a: 0xa0000000, 0x7b1b: 0xa0000000, + 0x7b1c: 0xa0000000, 0x7b1d: 0xa0000000, 0x7b1e: 0xa0000000, 0x7b1f: 0xa0000000, + 0x7b20: 0x40021220, 0x7b21: 0x4002ba20, 0x7b22: 0x4003e020, 0x7b23: 0x4004ea20, + 0x7b24: 0x4027de20, 0x7b25: 0x4004ec20, 0x7b26: 0x4004e620, 0x7b27: 0x4003d220, + 0x7b28: 0x4003f420, 0x7b29: 0x4003f620, 0x7b2a: 0x4004d820, 0x7b2b: 0x40093820, + 0x7b2c: 0x40024020, 0x7b2d: 0x40021a20, 0x7b2e: 0x4002e420, 0x7b2f: 0x4004e220, + 0x7b30: 0x4029cc20, 0x7b31: 0x4029ce20, 0x7b32: 0x4029d020, 0x7b33: 0x4029d220, + 0x7b34: 0x4029d420, 0x7b35: 0x4029d620, 0x7b36: 0x4029d820, 0x7b37: 0x4029da20, + 0x7b38: 0x4029dc20, 0x7b39: 0x4029de20, 0x7b3a: 0x40026c20, 0x7b3b: 0x40026220, + 0x7b3c: 0x40094020, 0x7b3d: 0x40094220, 0x7b3e: 0x40094420, 0x7b3f: 0x4002c420, + // Block 0x1ed, offset 0x7b40 + 0x7b40: 0x4004d620, 0x7b41: 0x002bde88, 0x7b42: 0x002c0a88, 0x7b43: 0x002c3a88, + 0x7b44: 0x002c6288, 0x7b45: 0x002c9888, 0x7b46: 0x002d0888, 0x7b47: 0x002d2288, + 0x7b48: 0x002d6888, 0x7b49: 0x002d9a88, 0x7b4a: 0x002dcc88, 0x7b4b: 0x002dfe88, + 0x7b4c: 0xc3520002, 0x7b4d: 0x002e8288, 0x7b4e: 0x002e9e88, 0x7b4f: 0x002ee288, + 0x7b50: 0x002f2c88, 0x7b51: 0x002f5688, 0x7b52: 0x002f7a88, 0x7b53: 0x002fe688, + 0x7b54: 0x00302c88, 0x7b55: 0x00306c88, 0x7b56: 0x0030be88, 0x7b57: 0x0030e288, + 0x7b58: 0x0030f688, 0x7b59: 0x00310088, 0x7b5a: 0x00312a88, 0x7b5b: 0x4003f820, + 0x7b5c: 0x4004e420, 0x7b5d: 0x4003fa20, 0x7b5e: 0x40062420, 0x7b5f: 0x40021620, + 0x7b60: 0x40061e20, 0x7b61: 0x402bde20, 0x7b62: 0x402c0a20, 0x7b63: 0x402c3a20, + 0x7b64: 0x402c6220, 0x7b65: 0x402c9820, 0x7b66: 0x402d0820, 0x7b67: 0x402d2220, + 0x7b68: 0x402d6820, 0x7b69: 0x402d9a20, 0x7b6a: 0x402dcc20, 0x7b6b: 0x402dfe20, + 0x7b6c: 0xc34f0002, 0x7b6d: 0x402e8220, 0x7b6e: 0x402e9e20, 0x7b6f: 0x402ee220, + 0x7b70: 0x402f2c20, 0x7b71: 0x402f5620, 0x7b72: 0x402f7a20, 0x7b73: 0x402fe620, + 0x7b74: 0x40302c20, 0x7b75: 0x40306c20, 0x7b76: 0x4030be20, 0x7b77: 0x4030e220, + 0x7b78: 0x4030f620, 0x7b79: 0x40310020, 0x7b7a: 0x40312a20, 0x7b7b: 0x4003fc20, + 0x7b7c: 0x40094820, 0x7b7d: 0x4003fe20, 0x7b7e: 0x40094c20, 0x7b7f: 0xa0000000, + // Block 0x1ee, offset 0x7b80 + 0x7b80: 0xe0000983, 0x7b81: 0xe0000980, 0x7b82: 0xe00008fb, 0x7b83: 0xe00008f8, + 0x7b84: 0xe000097d, 0x7b85: 0xe000097a, 0x7b86: 0xe0000a38, 0x7b87: 0xe0000a35, + 0x7b88: 0xe0000a3e, 0x7b89: 0xe0000a3b, 0x7b8a: 0xe0000a4a, 0x7b8b: 0xe0000a47, + 0x7b8c: 0xe0000a44, 0x7b8d: 0xe0000a41, 0x7b8e: 0xe0000a86, 0x7b8f: 0xe0000a83, + 0x7b90: 0xe0000aaa, 0x7b91: 0xe0000aa7, 0x7b92: 0xe0000b46, 0x7b93: 0xe0000b43, + 0x7b94: 0xe0000aee, 0x7b95: 0xe0000aeb, 0x7b96: 0xe0000b2c, 0x7b97: 0xe0000b29, + 0x7b98: 0xe0000b40, 0x7b99: 0xe0000b3d, 0x7b9a: 0xe0000b1a, 0x7b9b: 0xe0000b17, + 0x7b9c: 0xe0000bb8, 0x7b9d: 0xe0000bb5, 0x7b9e: 0xe0000bb2, 0x7b9f: 0xe0000baf, + 0x7ba0: 0xe0000bc4, 0x7ba1: 0xe0000bc1, 0x7ba2: 0xe0000bca, 0x7ba3: 0xe0000bc7, + 0x7ba4: 0xe0000bee, 0x7ba5: 0xe0000beb, 0x7ba6: 0xe0000c1b, 0x7ba7: 0xe0000c18, + 0x7ba8: 0xe0000c51, 0x7ba9: 0xe0000c4e, 0x7baa: 0xe0000c60, 0x7bab: 0xe0000c5d, + 0x7bac: 0xe0000c31, 0x7bad: 0xe0000c2e, 0x7bae: 0xe0000c5a, 0x7baf: 0xe0000c57, + 0x7bb0: 0xe0000c54, 0x7bb1: 0x402da220, 0x7bb2: 0xf0000a0a, 0x7bb3: 0xf0000404, + 0x7bb4: 0xe0000c8a, 0x7bb5: 0xe0000c87, 0x7bb6: 0xe0000c9f, 0x7bb7: 0xe0000c9c, + 0x7bb8: 0x402f7220, 0x7bb9: 0xe0000ccc, 0x7bba: 0xe0000cc9, 0x7bbb: 0xe0000cd8, + 0x7bbc: 0xe0000cd5, 0x7bbd: 0xe0000cd2, 0x7bbe: 0xe0000ccf, 0x7bbf: 0x002e22a3, + // Block 0x1ef, offset 0x7bc0 + 0x7bc0: 0x402e2221, 0x7bc1: 0xe0000cf8, 0x7bc2: 0xe0000cf5, 0x7bc3: 0xe0000d51, + 0x7bc4: 0xe0000d4e, 0x7bc5: 0xe0000d6f, 0x7bc6: 0xe0000d6c, 0x7bc7: 0xe0000d5d, + 0x7bc8: 0xe0000d5a, 0x7bc9: 0xf0000404, 0x7bca: 0x002eda88, 0x7bcb: 0x402eda20, + 0x7bcc: 0xe0000e2e, 0x7bcd: 0xe0000e2b, 0x7bce: 0xe0000da0, 0x7bcf: 0xe0000d9d, + 0x7bd0: 0xe0000de0, 0x7bd1: 0xe0000ddd, 0x7bd2: 0xe0000e93, 0x7bd3: 0xe0000e8f, + 0x7bd4: 0xe0000eca, 0x7bd5: 0xe0000ec7, 0x7bd6: 0xe0000edc, 0x7bd7: 0xe0000ed9, + 0x7bd8: 0xe0000ed0, 0x7bd9: 0xe0000ecd, 0x7bda: 0xe0000f1f, 0x7bdb: 0xe0000f1c, + 0x7bdc: 0xe0000f2d, 0x7bdd: 0xe0000f2a, 0x7bde: 0xe0000f47, 0x7bdf: 0xe0000f44, + 0x7be0: 0xe0000f33, 0x7be1: 0xe0000f30, 0x7be2: 0xe0000f99, 0x7be3: 0xe0000f96, + 0x7be4: 0xe0000f8a, 0x7be5: 0xe0000f87, 0x7be6: 0x00303688, 0x7be7: 0x40303620, + 0x7be8: 0xe000102b, 0x7be9: 0xe0001028, 0x7bea: 0xe000103f, 0x7beb: 0xe000103c, + 0x7bec: 0xe0000fe7, 0x7bed: 0xe0000fe4, 0x7bee: 0xe0000ff9, 0x7bef: 0xe0000ff6, + 0x7bf0: 0xe0001025, 0x7bf1: 0xe0001022, 0x7bf2: 0xe0001039, 0x7bf3: 0xe0001036, + 0x7bf4: 0xe00010d8, 0x7bf5: 0xe00010d5, 0x7bf6: 0xe000110e, 0x7bf7: 0xe000110b, + 0x7bf8: 0xe0001117, 0x7bf9: 0xe000113b, 0x7bfa: 0xe0001138, 0x7bfb: 0xe000114d, + 0x7bfc: 0xe000114a, 0x7bfd: 0xe0001147, 0x7bfe: 0xe0001144, 0x7bff: 0xe0000f64, + // Block 0x1f0, offset 0x7c00 + 0x7c00: 0xa0000000, 0x7c01: 0xa0000000, 0x7c02: 0xa0000000, 0x7c03: 0xa0000000, + 0x7c04: 0xa0000000, 0x7c05: 0xa0000000, 0x7c06: 0xa0000000, 0x7c07: 0xa0000000, + 0x7c08: 0xa0000000, 0x7c09: 0x40020020, 0x7c0a: 0x40020220, 0x7c0b: 0x40020420, + 0x7c0c: 0x40020620, 0x7c0d: 0x40020820, 0x7c0e: 0xa0000000, 0x7c0f: 0xa0000000, + 0x7c10: 0xa0000000, 0x7c11: 0xa0000000, 0x7c12: 0xa0000000, 0x7c13: 0xa0000000, + 0x7c14: 0xa0000000, 0x7c15: 0xa0000000, 0x7c16: 0xa0000000, 0x7c17: 0xa0000000, + 0x7c18: 0xa0000000, 0x7c19: 0xa0000000, 0x7c1a: 0xa0000000, 0x7c1b: 0xa0000000, + 0x7c1c: 0xa0000000, 0x7c1d: 0xa0000000, 0x7c1e: 0xa0000000, 0x7c1f: 0xa0000000, + 0x7c20: 0x40021220, 0x7c21: 0x4002ba20, 0x7c22: 0x4003e020, 0x7c23: 0x4004ea20, + 0x7c24: 0x4027de20, 0x7c25: 0x4004ec20, 0x7c26: 0x4004e620, 0x7c27: 0x4003d220, + 0x7c28: 0x4003f420, 0x7c29: 0x4003f620, 0x7c2a: 0x4004d820, 0x7c2b: 0x40093820, + 0x7c2c: 0x40024020, 0x7c2d: 0x40021a20, 0x7c2e: 0x4002e420, 0x7c2f: 0x4004e220, + 0x7c30: 0x4029cc20, 0x7c31: 0x4029ce20, 0x7c32: 0x4029d020, 0x7c33: 0x4029d220, + 0x7c34: 0x4029d420, 0x7c35: 0x4029d620, 0x7c36: 0x4029d820, 0x7c37: 0x4029da20, + 0x7c38: 0x4029dc20, 0x7c39: 0x4029de20, 0x7c3a: 0x40026c20, 0x7c3b: 0x40026220, + 0x7c3c: 0x40094020, 0x7c3d: 0x40094220, 0x7c3e: 0x40094420, 0x7c3f: 0x4002c420, + // Block 0x1f1, offset 0x7c40 + 0x7c40: 0x4004d620, 0x7c41: 0x002bde88, 0x7c42: 0x002c0a88, 0x7c43: 0xc3590953, + 0x7c44: 0x002c6288, 0x7c45: 0x002c9888, 0x7c46: 0x002d0888, 0x7c47: 0x002d2288, + 0x7c48: 0x002d6888, 0x7c49: 0x002d9a88, 0x7c4a: 0x002dcc88, 0x7c4b: 0x002dfe88, + 0x7c4c: 0xc0030002, 0x7c4d: 0x002e8288, 0x7c4e: 0x002e9e88, 0x7c4f: 0x002ee288, + 0x7c50: 0x002f2c88, 0x7c51: 0x002f5688, 0x7c52: 0xc35f0991, 0x7c53: 0xc3430991, + 0x7c54: 0x00302c88, 0x7c55: 0x00306c88, 0x7c56: 0x0030be88, 0x7c57: 0x0030e288, + 0x7c58: 0x0030f688, 0x7c59: 0x00310088, 0x7c5a: 0xc3630991, 0x7c5b: 0x4003f820, + 0x7c5c: 0x4004e420, 0x7c5d: 0x4003fa20, 0x7c5e: 0x40062420, 0x7c5f: 0x40021620, + 0x7c60: 0x40061e20, 0x7c61: 0x402bde20, 0x7c62: 0x402c0a20, 0x7c63: 0xc3550953, + 0x7c64: 0x402c6220, 0x7c65: 0x402c9820, 0x7c66: 0x402d0820, 0x7c67: 0x402d2220, + 0x7c68: 0x402d6820, 0x7c69: 0x402d9a20, 0x7c6a: 0x402dcc20, 0x7c6b: 0x402dfe20, + 0x7c6c: 0xc0000002, 0x7c6d: 0x402e8220, 0x7c6e: 0x402e9e20, 0x7c6f: 0x402ee220, + 0x7c70: 0x402f2c20, 0x7c71: 0x402f5620, 0x7c72: 0xc35d0991, 0x7c73: 0xc3410991, + 0x7c74: 0x40302c20, 0x7c75: 0x40306c20, 0x7c76: 0x4030be20, 0x7c77: 0x4030e220, + 0x7c78: 0x4030f620, 0x7c79: 0x40310020, 0x7c7a: 0xc3610991, 0x7c7b: 0x4003fc20, + 0x7c7c: 0x40094820, 0x7c7d: 0x4003fe20, 0x7c7e: 0x40094c20, 0x7c7f: 0xa0000000, + // Block 0x1f2, offset 0x7c80 + 0x7c80: 0xe0000983, 0x7c81: 0xe0000980, 0x7c82: 0xe00008fb, 0x7c83: 0xe00008f8, + 0x7c84: 0xe000097d, 0x7c85: 0xe000097a, 0x7c86: 0xe0000a38, 0x7c87: 0xe0000a35, + 0x7c88: 0xe0000a3e, 0x7c89: 0xe0000a3b, 0x7c8a: 0xe0000a4a, 0x7c8b: 0xe0000a47, + 0x7c8c: 0x002c3c83, 0x7c8d: 0x402c3c20, 0x7c8e: 0xe0000a86, 0x7c8f: 0xe0000a83, + 0x7c90: 0xe0000aaa, 0x7c91: 0xe0000aa7, 0x7c92: 0xe0000b46, 0x7c93: 0xe0000b43, + 0x7c94: 0xe0000aee, 0x7c95: 0xe0000aeb, 0x7c96: 0xe0000b2c, 0x7c97: 0xe0000b29, + 0x7c98: 0xe0000b40, 0x7c99: 0xe0000b3d, 0x7c9a: 0xe0000b1a, 0x7c9b: 0xe0000b17, + 0x7c9c: 0xe0000bb8, 0x7c9d: 0xe0000bb5, 0x7c9e: 0xe0000bb2, 0x7c9f: 0xe0000baf, + 0x7ca0: 0xe0000bc4, 0x7ca1: 0xe0000bc1, 0x7ca2: 0xe0000bca, 0x7ca3: 0xe0000bc7, + 0x7ca4: 0xe0000bee, 0x7ca5: 0xe0000beb, 0x7ca6: 0xe0000c1b, 0x7ca7: 0xe0000c18, + 0x7ca8: 0xe0000c51, 0x7ca9: 0xe0000c4e, 0x7caa: 0xe0000c60, 0x7cab: 0xe0000c5d, + 0x7cac: 0xe0000c31, 0x7cad: 0xe0000c2e, 0x7cae: 0xe0000c5a, 0x7caf: 0xe0000c57, + 0x7cb0: 0xe0000c54, 0x7cb1: 0x402da220, 0x7cb2: 0xf0000a0a, 0x7cb3: 0xf0000404, + 0x7cb4: 0xe0000c8a, 0x7cb5: 0xe0000c87, 0x7cb6: 0xe0000c9f, 0x7cb7: 0xe0000c9c, + 0x7cb8: 0x402f7220, 0x7cb9: 0xe0000ccc, 0x7cba: 0xe0000cc9, 0x7cbb: 0xe0000cd8, + 0x7cbc: 0xe0000cd5, 0x7cbd: 0xe0000cd2, 0x7cbe: 0xe0000ccf, 0x7cbf: 0xe0000d04, + // Block 0x1f3, offset 0x7cc0 + 0x7cc0: 0xe0000cfe, 0x7cc1: 0xe0000cf8, 0x7cc2: 0xe0000cf5, 0x7cc3: 0xe0000d51, + 0x7cc4: 0xe0000d4e, 0x7cc5: 0xe0000d6f, 0x7cc6: 0xe0000d6c, 0x7cc7: 0xe0000d5d, + 0x7cc8: 0xe0000d5a, 0x7cc9: 0xf0000404, 0x7cca: 0x002eda88, 0x7ccb: 0x402eda20, + 0x7ccc: 0xe0000e2e, 0x7ccd: 0xe0000e2b, 0x7cce: 0xe0000da0, 0x7ccf: 0xe0000d9d, + 0x7cd0: 0xe0000de0, 0x7cd1: 0xe0000ddd, 0x7cd2: 0xe0000e93, 0x7cd3: 0xe0000e8f, + 0x7cd4: 0xe0000eca, 0x7cd5: 0xe0000ec7, 0x7cd6: 0xe0000edc, 0x7cd7: 0xe0000ed9, + 0x7cd8: 0x002f7c83, 0x7cd9: 0x402f7c20, 0x7cda: 0xe0000f1f, 0x7cdb: 0xe0000f1c, + 0x7cdc: 0xe0000f2d, 0x7cdd: 0xe0000f2a, 0x7cde: 0xe0000f47, 0x7cdf: 0xe0000f44, + 0x7ce0: 0x002fe883, 0x7ce1: 0x402fe820, 0x7ce2: 0xe0000f99, 0x7ce3: 0xe0000f96, + 0x7ce4: 0xe0000f8a, 0x7ce5: 0xe0000f87, 0x7ce6: 0x00303688, 0x7ce7: 0x40303620, + 0x7ce8: 0xe000102b, 0x7ce9: 0xe0001028, 0x7cea: 0xe000103f, 0x7ceb: 0xe000103c, + 0x7cec: 0xe0000fe7, 0x7ced: 0xe0000fe4, 0x7cee: 0xe0000ff9, 0x7cef: 0xe0000ff6, + 0x7cf0: 0xe0001025, 0x7cf1: 0xe0001022, 0x7cf2: 0xe0001039, 0x7cf3: 0xe0001036, + 0x7cf4: 0xe00010d8, 0x7cf5: 0xe00010d5, 0x7cf6: 0xe000110e, 0x7cf7: 0xe000110b, + 0x7cf8: 0xe0001117, 0x7cf9: 0xe000113b, 0x7cfa: 0xe0001138, 0x7cfb: 0xe000114d, + 0x7cfc: 0xe000114a, 0x7cfd: 0x00312c83, 0x7cfe: 0x40312c20, 0x7cff: 0xe0000f64, + // Block 0x1f4, offset 0x7d00 + 0x7d00: 0xe0000d24, 0x7d01: 0xe0000d21, 0x7d02: 0xe0000d2a, 0x7d03: 0xe0000d27, + 0x7d04: 0xe0000d69, 0x7d05: 0xe0000d66, 0x7d06: 0xe0000d7b, 0x7d07: 0xe0000d78, + 0x7d08: 0xe0000d87, 0x7d09: 0xe0000d84, 0x7d0a: 0xe0000d81, 0x7d0b: 0xe0000d7e, + 0x7d0c: 0xe0000ded, 0x7d0d: 0xe0000de9, 0x7d0e: 0xe0000df5, 0x7d0f: 0xe0000df1, + 0x7d10: 0xe0000e3d, 0x7d11: 0xe0000e39, 0x7d12: 0xe0000e35, 0x7d13: 0xe0000e31, + 0x7d14: 0xe0000ea7, 0x7d15: 0xe0000ea4, 0x7d16: 0xe0000ead, 0x7d17: 0xe0000eaa, + 0x7d18: 0xe0000ed6, 0x7d19: 0xe0000ed3, 0x7d1a: 0xe0000ef4, 0x7d1b: 0xe0000ef1, + 0x7d1c: 0xe0000efb, 0x7d1d: 0xe0000ef7, 0x7d1e: 0xe0000f02, 0x7d1f: 0xe0000eff, + 0x7d20: 0xe0000f41, 0x7d21: 0xe0000f3e, 0x7d22: 0xe0000f53, 0x7d23: 0xe0000f50, + 0x7d24: 0xe0000f26, 0x7d25: 0xe0000f22, 0x7d26: 0xe000296a, 0x7d27: 0xe0002967, + 0x7d28: 0xe0000f5a, 0x7d29: 0xe0000f56, 0x7d2a: 0xe0000f93, 0x7d2b: 0xe0000f90, + 0x7d2c: 0xe0000f9f, 0x7d2d: 0xe0000f9c, 0x7d2e: 0xe0000fb1, 0x7d2f: 0xe0000fae, + 0x7d30: 0xe0000fab, 0x7d31: 0xe0000fa8, 0x7d32: 0xe0001093, 0x7d33: 0xe0001090, + 0x7d34: 0xe000109f, 0x7d35: 0xe000109c, 0x7d36: 0xe0001099, 0x7d37: 0xe0001096, + 0x7d38: 0xe0001032, 0x7d39: 0xe000102e, 0x7d3a: 0xe0001046, 0x7d3b: 0xe0001042, + 0x7d3c: 0xe00010a9, 0x7d3d: 0xe00010a6, 0x7d3e: 0xe00010af, 0x7d3f: 0xe00010ac, + // Block 0x1f5, offset 0x7d40 + 0x7d40: 0xa0000000, 0x7d41: 0xa0000000, 0x7d42: 0xa0000000, 0x7d43: 0xa0000000, + 0x7d44: 0xa0000000, 0x7d45: 0xa0000000, 0x7d46: 0xa0000000, 0x7d47: 0xa0000000, + 0x7d48: 0xa0000000, 0x7d49: 0x40020020, 0x7d4a: 0x40020220, 0x7d4b: 0x40020420, + 0x7d4c: 0x40020620, 0x7d4d: 0x40020820, 0x7d4e: 0xa0000000, 0x7d4f: 0xa0000000, + 0x7d50: 0xa0000000, 0x7d51: 0xa0000000, 0x7d52: 0xa0000000, 0x7d53: 0xa0000000, + 0x7d54: 0xa0000000, 0x7d55: 0xa0000000, 0x7d56: 0xa0000000, 0x7d57: 0xa0000000, + 0x7d58: 0xa0000000, 0x7d59: 0xa0000000, 0x7d5a: 0xa0000000, 0x7d5b: 0xa0000000, + 0x7d5c: 0xa0000000, 0x7d5d: 0xa0000000, 0x7d5e: 0xa0000000, 0x7d5f: 0xa0000000, + 0x7d60: 0x40021220, 0x7d61: 0x4002ba20, 0x7d62: 0x4003e020, 0x7d63: 0x4004ea20, + 0x7d64: 0x4027de20, 0x7d65: 0x4004ec20, 0x7d66: 0x4004e620, 0x7d67: 0x4003d220, + 0x7d68: 0x4003f420, 0x7d69: 0x4003f620, 0x7d6a: 0x4004d820, 0x7d6b: 0x40093820, + 0x7d6c: 0x40024020, 0x7d6d: 0x40021a20, 0x7d6e: 0x4002e420, 0x7d6f: 0x4004e220, + 0x7d70: 0x4029cc20, 0x7d71: 0x4029ce20, 0x7d72: 0x4029d020, 0x7d73: 0x4029d220, + 0x7d74: 0x4029d420, 0x7d75: 0x4029d620, 0x7d76: 0x4029d820, 0x7d77: 0x4029da20, + 0x7d78: 0x4029dc20, 0x7d79: 0x4029de20, 0x7d7a: 0x40026c20, 0x7d7b: 0x40026220, + 0x7d7c: 0x40094020, 0x7d7d: 0x40094220, 0x7d7e: 0x40094420, 0x7d7f: 0x4002c420, + // Block 0x1f6, offset 0x7d80 + 0x7d80: 0x4004d620, 0x7d81: 0x002bde88, 0x7d82: 0x002c0a88, 0x7d83: 0xc36509c2, + 0x7d84: 0xc36a09f2, 0x7d85: 0x002c9888, 0x7d86: 0xc36f0a22, 0x7d87: 0x002d2288, + 0x7d88: 0x002d6888, 0x7d89: 0x002d9a88, 0x7d8a: 0x002dcc88, 0x7d8b: 0x002dfe88, + 0x7d8c: 0xc37b0ac4, 0x7d8d: 0x002e8288, 0x7d8e: 0xc3740a52, 0x7d8f: 0x002ee288, + 0x7d90: 0xc38209c2, 0x7d91: 0x002f5688, 0x7d92: 0xc38509c2, 0x7d93: 0x002fe688, + 0x7d94: 0xc38a09c2, 0x7d95: 0x00306c88, 0x7d96: 0x0030be88, 0x7d97: 0x0030e288, + 0x7d98: 0x0030f688, 0x7d99: 0x00310088, 0x7d9a: 0x00312a88, 0x7d9b: 0x4003f820, + 0x7d9c: 0x4004e420, 0x7d9d: 0x4003fa20, 0x7d9e: 0x40062420, 0x7d9f: 0x40021620, + 0x7da0: 0x40061e20, 0x7da1: 0x402bde20, 0x7da2: 0x402c0a20, 0x7da3: 0xc33309b1, + 0x7da4: 0xc36809e1, 0x7da5: 0x402c9820, 0x7da6: 0xc36d0a11, 0x7da7: 0x402d2220, + 0x7da8: 0x402d6820, 0x7da9: 0x402d9a20, 0x7daa: 0x402dcc20, 0x7dab: 0x402dfe20, + 0x7dac: 0xc3770a73, 0x7dad: 0x402e8220, 0x7dae: 0xc3720a41, 0x7daf: 0x402ee220, + 0x7db0: 0xc38009b1, 0x7db1: 0x402f5620, 0x7db2: 0xc35d09b1, 0x7db3: 0x402fe620, + 0x7db4: 0xc38809b1, 0x7db5: 0x40306c20, 0x7db6: 0x4030be20, 0x7db7: 0x4030e220, + 0x7db8: 0x4030f620, 0x7db9: 0x40310020, 0x7dba: 0x40312a20, 0x7dbb: 0x4003fc20, + 0x7dbc: 0x40094820, 0x7dbd: 0x4003fe20, 0x7dbe: 0x40094c20, 0x7dbf: 0xa0000000, + // Block 0x1f7, offset 0x7dc0 + 0x7dc0: 0xa0000000, 0x7dc1: 0xa0000000, 0x7dc2: 0xa0000000, 0x7dc3: 0xa0000000, + 0x7dc4: 0xa0000000, 0x7dc5: 0xa0000000, 0x7dc6: 0xa0000000, 0x7dc7: 0xa0000000, + 0x7dc8: 0xa0000000, 0x7dc9: 0x40020020, 0x7dca: 0x40020220, 0x7dcb: 0x40020420, + 0x7dcc: 0x40020620, 0x7dcd: 0x40020820, 0x7dce: 0xa0000000, 0x7dcf: 0xa0000000, + 0x7dd0: 0xa0000000, 0x7dd1: 0xa0000000, 0x7dd2: 0xa0000000, 0x7dd3: 0xa0000000, + 0x7dd4: 0xa0000000, 0x7dd5: 0xa0000000, 0x7dd6: 0xa0000000, 0x7dd7: 0xa0000000, + 0x7dd8: 0xa0000000, 0x7dd9: 0xa0000000, 0x7dda: 0xa0000000, 0x7ddb: 0xa0000000, + 0x7ddc: 0xa0000000, 0x7ddd: 0xa0000000, 0x7dde: 0xa0000000, 0x7ddf: 0xa0000000, + 0x7de0: 0x40021220, 0x7de1: 0x4002ba20, 0x7de2: 0x4003e020, 0x7de3: 0x4004ea20, + 0x7de4: 0x4027de20, 0x7de5: 0x4004ec20, 0x7de6: 0x4004e620, 0x7de7: 0x4003d220, + 0x7de8: 0x4003f420, 0x7de9: 0x4003f620, 0x7dea: 0x4004d820, 0x7deb: 0x40093820, + 0x7dec: 0x40024020, 0x7ded: 0x40021a20, 0x7dee: 0x4002e420, 0x7def: 0x4004e220, + 0x7df0: 0x4029cc20, 0x7df1: 0x4029ce20, 0x7df2: 0x4029d020, 0x7df3: 0x4029d220, + 0x7df4: 0x4029d420, 0x7df5: 0x4029d620, 0x7df6: 0x4029d820, 0x7df7: 0x4029da20, + 0x7df8: 0x4029dc20, 0x7df9: 0x4029de20, 0x7dfa: 0x40026c20, 0x7dfb: 0x40026220, + 0x7dfc: 0x40094020, 0x7dfd: 0x40094220, 0x7dfe: 0x40094420, 0x7dff: 0x4002c420, + // Block 0x1f8, offset 0x7e00 + 0x7e00: 0x4004d620, 0x7e01: 0xc3970b93, 0x7e02: 0x002c0a88, 0x7e03: 0x002c3a88, + 0x7e04: 0x002c6288, 0x7e05: 0xc39e0be1, 0x7e06: 0x002d0888, 0x7e07: 0x002d2288, + 0x7e08: 0x002d6888, 0x7e09: 0x002d9a88, 0x7e0a: 0x002dcc88, 0x7e0b: 0x002dfe88, + 0x7e0c: 0xc0030002, 0x7e0d: 0x002e8288, 0x7e0e: 0x002e9e88, 0x7e0f: 0xc3a30b21, + 0x7e10: 0x002f2c88, 0x7e11: 0x002f5688, 0x7e12: 0x002f7a88, 0x7e13: 0x002fe688, + 0x7e14: 0x00302c88, 0x7e15: 0xc3900b21, 0x7e16: 0x0030be88, 0x7e17: 0x0030e288, + 0x7e18: 0x0030f688, 0x7e19: 0x00310088, 0x7e1a: 0x00312a88, 0x7e1b: 0x4003f820, + 0x7e1c: 0x4004e420, 0x7e1d: 0x4003fa20, 0x7e1e: 0x40062420, 0x7e1f: 0x40021620, + 0x7e20: 0x40061e20, 0x7e21: 0xc3930b52, 0x7e22: 0x402c0a20, 0x7e23: 0x402c3a20, + 0x7e24: 0x402c6220, 0x7e25: 0xc39c0be1, 0x7e26: 0x402d0820, 0x7e27: 0x402d2220, + 0x7e28: 0x402d6820, 0x7e29: 0x402d9a20, 0x7e2a: 0x402dcc20, 0x7e2b: 0x402dfe20, + 0x7e2c: 0xc0000002, 0x7e2d: 0x402e8220, 0x7e2e: 0x402e9e20, 0x7e2f: 0xc3a00b21, + 0x7e30: 0x402f2c20, 0x7e31: 0x402f5620, 0x7e32: 0x402f7a20, 0x7e33: 0x402fe620, + 0x7e34: 0x40302c20, 0x7e35: 0xc38d0b21, 0x7e36: 0x4030be20, 0x7e37: 0x4030e220, + 0x7e38: 0x4030f620, 0x7e39: 0x40310020, 0x7e3a: 0x40312a20, 0x7e3b: 0x4003fc20, + 0x7e3c: 0x40094820, 0x7e3d: 0x4003fe20, 0x7e3e: 0x40094c20, 0x7e3f: 0xa0000000, + // Block 0x1f9, offset 0x7e40 + 0x7e40: 0xe00008f5, 0x7e41: 0xe00008ef, 0x7e42: 0xe0000921, 0x7e43: 0xe0000969, + 0x7e44: 0x00320ca3, 0x7e45: 0x00321083, 0x7e46: 0x00320c83, 0x7e47: 0xe0000a53, + 0x7e48: 0xe0000ae8, 0x7e49: 0xe0000ae2, 0x7e4a: 0xe0000af4, 0x7e4b: 0xe0000b20, + 0x7e4c: 0xe0000c2b, 0x7e4d: 0xe0000c25, 0x7e4e: 0xe0000c37, 0x7e4f: 0xe0000c43, + 0x7e50: 0x002c62c3, 0x7e51: 0xe0000d63, 0x7e52: 0xe0000d9a, 0x7e53: 0xe0000d94, + 0x7e54: 0xe0000da6, 0x7e55: 0xe0000de6, 0x7e56: 0x00320ea3, 0x7e57: 0x40093e20, + 0x7e58: 0x00320e83, 0x7e59: 0xe0000fe1, 0x7e5a: 0xe0000fdb, 0x7e5b: 0xe0000fed, + 0x7e5c: 0x003100a3, 0x7e5d: 0xe0001102, 0x7e5e: 0xe0002973, 0x7e5f: 0xe0000f7b, + 0x7e60: 0xe00008f2, 0x7e61: 0xe00008ec, 0x7e62: 0xe000091e, 0x7e63: 0xe0000966, + 0x7e64: 0x40320c21, 0x7e65: 0x40321020, 0x7e66: 0x40320c20, 0x7e67: 0xe0000a4d, + 0x7e68: 0xe0000ae5, 0x7e69: 0xe0000adf, 0x7e6a: 0xe0000af1, 0x7e6b: 0xe0000b1d, + 0x7e6c: 0xe0000c28, 0x7e6d: 0xe0000c22, 0x7e6e: 0xe0000c34, 0x7e6f: 0xe0000c40, + 0x7e70: 0x402c6222, 0x7e71: 0xe0000d60, 0x7e72: 0xe0000d97, 0x7e73: 0xe0000d91, + 0x7e74: 0xe0000da3, 0x7e75: 0xe0000de3, 0x7e76: 0x40320e21, 0x7e77: 0x40093c20, + 0x7e78: 0x40320e20, 0x7e79: 0xe0000fde, 0x7e7a: 0xe0000fd8, 0x7e7b: 0xe0000fea, + 0x7e7c: 0x40310021, 0x7e7d: 0xe00010ff, 0x7e7e: 0xe0002970, 0x7e7f: 0xe0001114, + // Block 0x1fa, offset 0x7e80 + 0x7e80: 0xe0000983, 0x7e81: 0xe0000980, 0x7e82: 0xe00008fb, 0x7e83: 0xe00008f8, + 0x7e84: 0xe000097d, 0x7e85: 0xe000097a, 0x7e86: 0xe0000a38, 0x7e87: 0xe0000a35, + 0x7e88: 0xe0000a3e, 0x7e89: 0xe0000a3b, 0x7e8a: 0xe0000a4a, 0x7e8b: 0xe0000a47, + 0x7e8c: 0xe0000a44, 0x7e8d: 0xe0000a41, 0x7e8e: 0xe0000a86, 0x7e8f: 0xe0000a83, + 0x7e90: 0x002c62a3, 0x7e91: 0x402c6221, 0x7e92: 0xe0000b46, 0x7e93: 0xe0000b43, + 0x7e94: 0xe0000aee, 0x7e95: 0xe0000aeb, 0x7e96: 0xe0000b2c, 0x7e97: 0xe0000b29, + 0x7e98: 0x00320cc3, 0x7e99: 0x40320c22, 0x7e9a: 0xe0000b1a, 0x7e9b: 0xe0000b17, + 0x7e9c: 0xe0000bb8, 0x7e9d: 0xe0000bb5, 0x7e9e: 0xe0000bb2, 0x7e9f: 0xe0000baf, + 0x7ea0: 0xe0000bc4, 0x7ea1: 0xe0000bc1, 0x7ea2: 0xe0000bca, 0x7ea3: 0xe0000bc7, + 0x7ea4: 0xe0000bee, 0x7ea5: 0xe0000beb, 0x7ea6: 0xe0000c1b, 0x7ea7: 0xe0000c18, + 0x7ea8: 0xe0000c51, 0x7ea9: 0xe0000c4e, 0x7eaa: 0xe0000c60, 0x7eab: 0xe0000c5d, + 0x7eac: 0xe0000c31, 0x7ead: 0xe0000c2e, 0x7eae: 0xe0000c5a, 0x7eaf: 0xe0000c57, + 0x7eb0: 0xe0000c54, 0x7eb1: 0x402da220, 0x7eb2: 0xf0000a0a, 0x7eb3: 0xf0000404, + 0x7eb4: 0xe0000c8a, 0x7eb5: 0xe0000c87, 0x7eb6: 0xe0000c9f, 0x7eb7: 0xe0000c9c, + 0x7eb8: 0x402f7220, 0x7eb9: 0xe0000ccc, 0x7eba: 0xe0000cc9, 0x7ebb: 0xe0000cd8, + 0x7ebc: 0xe0000cd5, 0x7ebd: 0xe0000cd2, 0x7ebe: 0xe0000ccf, 0x7ebf: 0xe0000d04, + // Block 0x1fb, offset 0x7ec0 + 0x7ec0: 0xe0000cfe, 0x7ec1: 0xe0000cf8, 0x7ec2: 0xe0000cf5, 0x7ec3: 0xe0000d51, + 0x7ec4: 0xe0000d4e, 0x7ec5: 0xe0000d6f, 0x7ec6: 0xe0000d6c, 0x7ec7: 0xe0000d5d, + 0x7ec8: 0xe0000d5a, 0x7ec9: 0xf0000404, 0x7eca: 0x002eda88, 0x7ecb: 0x402eda20, + 0x7ecc: 0xe0000e2e, 0x7ecd: 0xe0000e2b, 0x7ece: 0xe0000da0, 0x7ecf: 0xe0000d9d, + 0x7ed0: 0x00320ec3, 0x7ed1: 0x40320e22, 0x7ed2: 0x00320ee3, 0x7ed3: 0x40320e23, + 0x7ed4: 0xe0000eca, 0x7ed5: 0xe0000ec7, 0x7ed6: 0xe0000edc, 0x7ed7: 0xe0000ed9, + 0x7ed8: 0xe0000ed0, 0x7ed9: 0xe0000ecd, 0x7eda: 0xe0000f1f, 0x7edb: 0xe0000f1c, + 0x7edc: 0xe0000f2d, 0x7edd: 0xe0000f2a, 0x7ede: 0xe0000f47, 0x7edf: 0xe0000f44, + 0x7ee0: 0xe0000f33, 0x7ee1: 0xe0000f30, 0x7ee2: 0xe0000f99, 0x7ee3: 0xe0000f96, + 0x7ee4: 0xe0000f8a, 0x7ee5: 0xe0000f87, 0x7ee6: 0x00303688, 0x7ee7: 0x40303620, + 0x7ee8: 0xe000102b, 0x7ee9: 0xe0001028, 0x7eea: 0xe000103f, 0x7eeb: 0xe000103c, + 0x7eec: 0xe0000fe7, 0x7eed: 0xe0000fe4, 0x7eee: 0xe0000ff9, 0x7eef: 0xe0000ff6, + 0x7ef0: 0x003100c3, 0x7ef1: 0x40310022, 0x7ef2: 0xe0001039, 0x7ef3: 0xe0001036, + 0x7ef4: 0xe00010d8, 0x7ef5: 0xe00010d5, 0x7ef6: 0xe000110e, 0x7ef7: 0xe000110b, + 0x7ef8: 0xe0001117, 0x7ef9: 0xe000113b, 0x7efa: 0xe0001138, 0x7efb: 0xe000114d, + 0x7efc: 0xe000114a, 0x7efd: 0xe0001147, 0x7efe: 0xe0001144, 0x7eff: 0xe0000f64, + // Block 0x1fc, offset 0x7f00 + 0x7f00: 0x40321220, 0x7f01: 0x40321a20, 0x7f02: 0x40322220, 0x7f03: 0x40322a20, + 0x7f04: 0xe0000ad5, 0x7f05: 0xe0000ad1, 0x7f06: 0xe0000acd, 0x7f07: 0xf0000a0a, + 0x7f08: 0xf000040a, 0x7f09: 0xf0000404, 0x7f0a: 0xf0000a0a, 0x7f0b: 0xf000040a, + 0x7f0c: 0xf0000404, 0x7f0d: 0xe0000947, 0x7f0e: 0xe0000944, 0x7f0f: 0xe0000c3d, + 0x7f10: 0xe0000c3a, 0x7f11: 0xe0000dcc, 0x7f12: 0xe0000dc9, 0x7f13: 0xe0000ff3, + 0x7f14: 0xe0000ff0, 0x7f15: 0xe000298b, 0x7f16: 0xe0002988, 0x7f17: 0xe0002979, + 0x7f18: 0xe0002976, 0x7f19: 0xe0002985, 0x7f1a: 0xe0002982, 0x7f1b: 0xe000297f, + 0x7f1c: 0xe000297c, 0x7f1d: 0x402cae20, 0x7f1e: 0xe000299d, 0x7f1f: 0xe000299a, + 0x7f20: 0xe0000976, 0x7f21: 0xe0000972, 0x7f22: 0xe0002997, 0x7f23: 0xe0002994, + 0x7f24: 0x002d3a88, 0x7f25: 0x402d3a20, 0x7f26: 0xe0000bbe, 0x7f27: 0xe0000bbb, + 0x7f28: 0xe0000c99, 0x7f29: 0xe0000c96, 0x7f2a: 0xe0000e20, 0x7f2b: 0xe0000e1d, + 0x7f2c: 0xe0000e27, 0x7f2d: 0xe0000e23, 0x7f2e: 0xe0001162, 0x7f2f: 0xe000115f, + 0x7f30: 0xe0000c8d, 0x7f31: 0xf0000a0a, 0x7f32: 0xf000040a, 0x7f33: 0xf0000404, + 0x7f34: 0xe0000bac, 0x7f35: 0xe0000ba9, 0x7f36: 0x002d7888, 0x7f37: 0x00319488, + 0x7f38: 0xe0000d57, 0x7f39: 0xe0000d54, 0x7f3a: 0xe00029b5, 0x7f3b: 0xe00029b2, + 0x7f3c: 0xe0002991, 0x7f3d: 0xe000298e, 0x7f3e: 0xe00029a3, 0x7f3f: 0xe00029a0, + // Block 0x1fd, offset 0x7f40 + 0x7f40: 0xe000098f, 0x7f41: 0xe000098c, 0x7f42: 0xe0000995, 0x7f43: 0xe0000992, + 0x7f44: 0xe0000b62, 0x7f45: 0xe0000b5f, 0x7f46: 0xe0000b68, 0x7f47: 0xe0000b65, + 0x7f48: 0xe0000c6c, 0x7f49: 0xe0000c69, 0x7f4a: 0xe0000c72, 0x7f4b: 0xe0000c6f, + 0x7f4c: 0xe0000e4a, 0x7f4d: 0xe0000e47, 0x7f4e: 0xe0000e50, 0x7f4f: 0xe0000e4d, + 0x7f50: 0xe0000ee8, 0x7f51: 0xe0000ee5, 0x7f52: 0xe0000eee, 0x7f53: 0xe0000eeb, + 0x7f54: 0xe0001053, 0x7f55: 0xe0001050, 0x7f56: 0xe0001059, 0x7f57: 0xe0001056, + 0x7f58: 0xe0000f61, 0x7f59: 0xe0000f5e, 0x7f5a: 0xe0000fa5, 0x7f5b: 0xe0000fa2, + 0x7f5c: 0x00312288, 0x7f5d: 0x40312220, 0x7f5e: 0xe0000bf4, 0x7f5f: 0xe0000bf1, + 0x7f60: 0x002ebc88, 0x7f61: 0x402c8c20, 0x7f62: 0x002f2288, 0x7f63: 0x402f2220, + 0x7f64: 0x00314088, 0x7f65: 0x40314020, 0x7f66: 0xe000096f, 0x7f67: 0xe000096c, + 0x7f68: 0xe0000b32, 0x7f69: 0xe0000b2f, 0x7f6a: 0xe00029af, 0x7f6b: 0xe00029ac, + 0x7f6c: 0xe0000dfd, 0x7f6d: 0xe0000df9, 0x7f6e: 0xe0000e04, 0x7f6f: 0xe0000e01, + 0x7f70: 0xe0000e0b, 0x7f71: 0xe0000e07, 0x7f72: 0xe0001129, 0x7f73: 0xe0001126, + 0x7f74: 0x402e5e20, 0x7f75: 0x402ed020, 0x7f76: 0x40305a20, 0x7f77: 0x402dd420, + 0x7f78: 0xe0000abf, 0x7f79: 0xe0000ec4, 0x7f7a: 0x002be888, 0x7f7b: 0x002c4488, + 0x7f7c: 0x402c4420, 0x7f7d: 0x002e3888, 0x7f7e: 0x00303e88, 0x7f7f: 0x402ffc20, + // Block 0x1fe, offset 0x7f80 + 0x7f80: 0x402c2820, 0x7f81: 0x402c7020, 0x7f82: 0x402d1420, 0x7f83: 0x402d4220, + 0x7f84: 0x402e0820, 0x7f85: 0x402e5220, 0x7f86: 0x402e8e20, 0x7f87: 0x402ec620, + 0x7f88: 0x402f3c20, 0x7f89: 0x402faa20, 0x7f8a: 0x402ff220, 0x7f8b: 0x40301020, + 0x7f8c: 0x4030ca20, 0x7f8d: 0x4030fe20, 0x7f8e: 0x40313e20, 0x7f8f: 0x402bea20, + 0x7f90: 0x402c0020, 0x7f91: 0x402c8220, 0x7f92: 0x402caa20, 0x7f93: 0x402cca20, + 0x7f94: 0x402ce420, 0x7f95: 0x402cc020, 0x7f96: 0x402dc020, 0x7f97: 0x402f0620, + 0x7f98: 0x40302220, 0x7f99: 0x40308620, 0x7f9a: 0x40317620, 0x7f9b: 0x002c0294, + 0x7f9c: 0x002c3a94, 0x7f9d: 0x002c5694, 0x7f9e: 0xe000296d, 0x7f9f: 0x002cdc94, + 0x7fa0: 0x002d0894, 0x7fa1: 0x002dee94, 0x7fa2: 0x002d2a94, 0x7fa3: 0x00308894, + 0x7fa4: 0x002db694, 0x7fa5: 0x002dc294, 0x7fa6: 0x002daa94, 0x7fa7: 0x002dbe94, + 0x7fa8: 0x002de694, 0x7fa9: 0x002e5494, 0x7faa: 0x002e5294, 0x7fab: 0x002e2a94, + 0x7fac: 0x002e9094, 0x7fad: 0x0030ac94, 0x7fae: 0x002eb494, 0x7faf: 0x002ec894, + 0x7fb0: 0x002ea694, 0x7fb1: 0x002f1094, 0x7fb2: 0x002f4c94, 0x7fb3: 0x002ff494, + 0x7fb4: 0x00300894, 0x7fb5: 0x00304294, 0x7fb6: 0x00307c94, 0x7fb7: 0x0030b494, + 0x7fb8: 0x00307494, 0x7fb9: 0x0030cc94, 0x7fba: 0x0030da94, 0x7fbb: 0x00312a94, + 0x7fbc: 0x00314894, 0x7fbd: 0x00315094, 0x7fbe: 0x00316494, 0x7fbf: 0x00326a94, + // Block 0x1ff, offset 0x7fc0 + 0x7fc0: 0xe0000d24, 0x7fc1: 0xe0000d21, 0x7fc2: 0xe0000d2a, 0x7fc3: 0xe0000d27, + 0x7fc4: 0xe0000d69, 0x7fc5: 0xe0000d66, 0x7fc6: 0xe0000d7b, 0x7fc7: 0xe0000d78, + 0x7fc8: 0xe0000d87, 0x7fc9: 0xe0000d84, 0x7fca: 0xe0000d81, 0x7fcb: 0xe0000d7e, + 0x7fcc: 0xe0000ded, 0x7fcd: 0xe0000de9, 0x7fce: 0xe00029a9, 0x7fcf: 0xe00029a6, + 0x7fd0: 0xe0000e3d, 0x7fd1: 0xe0000e39, 0x7fd2: 0xe0000e35, 0x7fd3: 0xe0000e31, + 0x7fd4: 0xe0000ea7, 0x7fd5: 0xe0000ea4, 0x7fd6: 0xe0000ead, 0x7fd7: 0xe0000eaa, + 0x7fd8: 0xe0000ed6, 0x7fd9: 0xe0000ed3, 0x7fda: 0xe0000ef4, 0x7fdb: 0xe0000ef1, + 0x7fdc: 0xe0000efb, 0x7fdd: 0xe0000ef7, 0x7fde: 0xe0000f02, 0x7fdf: 0xe0000eff, + 0x7fe0: 0xe0000f41, 0x7fe1: 0xe0000f3e, 0x7fe2: 0xe0000f53, 0x7fe3: 0xe0000f50, + 0x7fe4: 0xe0000f26, 0x7fe5: 0xe0000f22, 0x7fe6: 0xe0000f3a, 0x7fe7: 0xe0000f36, + 0x7fe8: 0xe0000f5a, 0x7fe9: 0xe0000f56, 0x7fea: 0xe0000f93, 0x7feb: 0xe0000f90, + 0x7fec: 0xe0000f9f, 0x7fed: 0xe0000f9c, 0x7fee: 0xe0000fb1, 0x7fef: 0xe0000fae, + 0x7ff0: 0xe0000fab, 0x7ff1: 0xe0000fa8, 0x7ff2: 0xe0001093, 0x7ff3: 0xe0001090, + 0x7ff4: 0xe000109f, 0x7ff5: 0xe000109c, 0x7ff6: 0xe0001099, 0x7ff7: 0xe0001096, + 0x7ff8: 0xe0001032, 0x7ff9: 0xe000102e, 0x7ffa: 0xe000298b, 0x7ffb: 0xe0002988, + 0x7ffc: 0xe00010a9, 0x7ffd: 0xe00010a6, 0x7ffe: 0xe00010af, 0x7fff: 0xe00010ac, + // Block 0x200, offset 0x8000 + 0x8000: 0xe00009bc, 0x8001: 0xe00009c0, 0x8002: 0x002c3a8b, 0x8003: 0xf0000a04, + 0x8004: 0x40081c20, 0x8005: 0xe0000a5e, 0x8006: 0xe0000a62, 0x8007: 0x002cc28a, + 0x8008: 0x40081e20, 0x8009: 0xf0000a04, 0x800a: 0x002d2285, 0x800b: 0x002d688b, + 0x800c: 0x002d688b, 0x800d: 0x002d688b, 0x800e: 0x002d6885, 0x800f: 0xf0000202, + 0x8010: 0x002d9a8b, 0x8011: 0x002d9a8b, 0x8012: 0x002e228b, 0x8013: 0x002e2285, + 0x8014: 0x40082020, 0x8015: 0x002e9e8b, 0x8016: 0xf000040a, 0x8017: 0x40082220, + 0x8018: 0x40082420, 0x8019: 0x002f2c8b, 0x801a: 0x002f568b, 0x801b: 0x002f7a8b, + 0x801c: 0x002f7a8b, 0x801d: 0x002f7a8b, 0x801e: 0x40082620, 0x801f: 0x40082820, + 0x8020: 0xf0001414, 0x8021: 0xe0000fbd, 0x8022: 0xf0001414, 0x8023: 0x40082a20, + 0x8024: 0x00312a8b, 0x8025: 0x40082c20, 0x8026: 0x0032a288, 0x8027: 0x40082e20, + 0x8028: 0x00312a8b, 0x8029: 0x40083020, 0x802a: 0x002dfe88, 0x802b: 0x00321083, + 0x802c: 0x002c0a8b, 0x802d: 0x002c3a8b, 0x802e: 0x40083220, 0x802f: 0x002c9885, + 0x8030: 0x002c988b, 0x8031: 0x002d088b, 0x8032: 0x002d1e88, 0x8033: 0x002e828b, + 0x8034: 0x002ee285, 0x8035: 0x00389084, 0x8036: 0x00389284, 0x8037: 0x00389484, + 0x8038: 0x00389684, 0x8039: 0x002d9a85, 0x803a: 0x40083420, 0x803b: 0xe0000b95, + 0x803c: 0x00327e85, 0x803d: 0x00325685, 0x803e: 0x0032568b, 0x803f: 0x00327e8b, + // Block 0x201, offset 0x8040 + 0x8040: 0xa0000000, 0x8041: 0xa0000000, 0x8042: 0xa0000000, 0x8043: 0xa0000000, + 0x8044: 0xa0000000, 0x8045: 0xa0000000, 0x8046: 0xa0000000, 0x8047: 0xa0000000, + 0x8048: 0xa0000000, 0x8049: 0x40020020, 0x804a: 0x40020220, 0x804b: 0x40020420, + 0x804c: 0x40020620, 0x804d: 0x40020820, 0x804e: 0xa0000000, 0x804f: 0xa0000000, + 0x8050: 0xa0000000, 0x8051: 0xa0000000, 0x8052: 0xa0000000, 0x8053: 0xa0000000, + 0x8054: 0xa0000000, 0x8055: 0xa0000000, 0x8056: 0xa0000000, 0x8057: 0xa0000000, + 0x8058: 0xa0000000, 0x8059: 0xa0000000, 0x805a: 0xa0000000, 0x805b: 0xa0000000, + 0x805c: 0xa0000000, 0x805d: 0xa0000000, 0x805e: 0xa0000000, 0x805f: 0xa0000000, + 0x8060: 0x40021220, 0x8061: 0x4002ba20, 0x8062: 0x4003e020, 0x8063: 0x4004ea20, + 0x8064: 0x4027de20, 0x8065: 0x4004ec20, 0x8066: 0x4004e620, 0x8067: 0x4003d220, + 0x8068: 0x4003f420, 0x8069: 0x4003f620, 0x806a: 0x4004d820, 0x806b: 0x40093820, + 0x806c: 0x40024020, 0x806d: 0x40021a20, 0x806e: 0x4002e420, 0x806f: 0x4004e220, + 0x8070: 0x4029cc20, 0x8071: 0x4029ce20, 0x8072: 0x4029d020, 0x8073: 0x4029d220, + 0x8074: 0x4029d420, 0x8075: 0x4029d620, 0x8076: 0x4029d820, 0x8077: 0x4029da20, + 0x8078: 0x4029dc20, 0x8079: 0x4029de20, 0x807a: 0x40026c20, 0x807b: 0x40026220, + 0x807c: 0x40094020, 0x807d: 0x40094220, 0x807e: 0x40094420, 0x807f: 0x4002c420, + // Block 0x202, offset 0x8080 + 0x8080: 0x4004d620, 0x8081: 0xc3a80071, 0x8082: 0x002c0a88, 0x8083: 0x002c3a88, + 0x8084: 0x002c6288, 0x8085: 0x002c9888, 0x8086: 0x002d0888, 0x8087: 0x002d2288, + 0x8088: 0x002d6888, 0x8089: 0x002d9a88, 0x808a: 0x002dcc88, 0x808b: 0x002dfe88, + 0x808c: 0xc0030002, 0x808d: 0x002e8288, 0x808e: 0x002e9e88, 0x808f: 0xc3ac0071, + 0x8090: 0x002f2c88, 0x8091: 0x002f5688, 0x8092: 0x002f7a88, 0x8093: 0x002fe688, + 0x8094: 0x00302c88, 0x8095: 0xc3b00071, 0x8096: 0x0030be88, 0x8097: 0x0030e288, + 0x8098: 0x0030f688, 0x8099: 0x00310088, 0x809a: 0x00312a88, 0x809b: 0x4003f820, + 0x809c: 0x4004e420, 0x809d: 0x4003fa20, 0x809e: 0x40062420, 0x809f: 0x40021620, + 0x80a0: 0x40061e20, 0x80a1: 0xc3a60071, 0x80a2: 0x402c0a20, 0x80a3: 0x402c3a20, + 0x80a4: 0x402c6220, 0x80a5: 0x402c9820, 0x80a6: 0x402d0820, 0x80a7: 0x402d2220, + 0x80a8: 0x402d6820, 0x80a9: 0x402d9a20, 0x80aa: 0x402dcc20, 0x80ab: 0x402dfe20, + 0x80ac: 0xc0000002, 0x80ad: 0x402e8220, 0x80ae: 0x402e9e20, 0x80af: 0xc3aa0071, + 0x80b0: 0x402f2c20, 0x80b1: 0x402f5620, 0x80b2: 0x402f7a20, 0x80b3: 0x402fe620, + 0x80b4: 0x40302c20, 0x80b5: 0xc3ae0071, 0x80b6: 0x4030be20, 0x80b7: 0x4030e220, + 0x80b8: 0x4030f620, 0x80b9: 0x40310020, 0x80ba: 0x40312a20, 0x80bb: 0x4003fc20, + 0x80bc: 0x40094820, 0x80bd: 0x4003fe20, 0x80be: 0x40094c20, 0x80bf: 0xa0000000, + // Block 0x203, offset 0x80c0 + 0x80c0: 0xe00008f5, 0x80c1: 0xe00008ef, 0x80c2: 0xe0000921, 0x80c3: 0xe0000969, + 0x80c4: 0xe00029bb, 0x80c5: 0xe000094d, 0x80c6: 0xe00009dd, 0x80c7: 0xe0000a53, + 0x80c8: 0xe0000ae8, 0x80c9: 0xe0000ae2, 0x80ca: 0xe0000af4, 0x80cb: 0xe0000b20, + 0x80cc: 0xe0000c2b, 0x80cd: 0xe0000c25, 0x80ce: 0xe0000c37, 0x80cf: 0xe0000c43, + 0x80d0: 0xe0000ab3, 0x80d1: 0xe0000d63, 0x80d2: 0xe0000d9a, 0x80d3: 0xe0000d94, + 0x80d4: 0xe0000da6, 0x80d5: 0xe0000de6, 0x80d6: 0xe00029c9, 0x80d7: 0x40093e20, + 0x80d8: 0xe0000e12, 0x80d9: 0xe0000fe1, 0x80da: 0xe0000fdb, 0x80db: 0xe0000fed, + 0x80dc: 0xe00029df, 0x80dd: 0xe0001102, 0x80de: 0x00318888, 0x80df: 0xe0000f7b, + 0x80e0: 0xe00008f2, 0x80e1: 0xe00008ec, 0x80e2: 0xe000091e, 0x80e3: 0xe0000966, + 0x80e4: 0xe00029b8, 0x80e5: 0xe000094a, 0x80e6: 0xe00009d5, 0x80e7: 0xe0000a4d, + 0x80e8: 0xe0000ae5, 0x80e9: 0xe0000adf, 0x80ea: 0xe0000af1, 0x80eb: 0xe0000b1d, + 0x80ec: 0xe0000c28, 0x80ed: 0xe0000c22, 0x80ee: 0xe0000c34, 0x80ef: 0xe0000c40, + 0x80f0: 0xe0000aad, 0x80f1: 0xe0000d60, 0x80f2: 0xe0000d97, 0x80f3: 0xe0000d91, + 0x80f4: 0xe0000da3, 0x80f5: 0xe0000de3, 0x80f6: 0xe00029c6, 0x80f7: 0x40093c20, + 0x80f8: 0xe0000e0f, 0x80f9: 0xe0000fde, 0x80fa: 0xe0000fd8, 0x80fb: 0xe0000fea, + 0x80fc: 0xe00029dc, 0x80fd: 0xe00010ff, 0x80fe: 0x40318820, 0x80ff: 0xe0001114, + // Block 0x204, offset 0x8100 + 0x8100: 0x40321220, 0x8101: 0x40321a20, 0x8102: 0x40322220, 0x8103: 0x40322a20, + 0x8104: 0xe0000ad5, 0x8105: 0xe0000ad1, 0x8106: 0xe0000acd, 0x8107: 0xf0000a0a, + 0x8108: 0xf000040a, 0x8109: 0xf0000404, 0x810a: 0xf0000a0a, 0x810b: 0xf000040a, + 0x810c: 0xf0000404, 0x810d: 0xe0000947, 0x810e: 0xe0000944, 0x810f: 0xe0000c3d, + 0x8110: 0xe0000c3a, 0x8111: 0xe0000dcc, 0x8112: 0xe0000dc9, 0x8113: 0xe0000ff3, + 0x8114: 0xe0000ff0, 0x8115: 0xe00029fe, 0x8116: 0xe00029fa, 0x8117: 0xe00029e6, + 0x8118: 0xe00029e2, 0x8119: 0xe00029f6, 0x811a: 0xe00029f2, 0x811b: 0xe00029ee, + 0x811c: 0xe00029ea, 0x811d: 0x402cae20, 0x811e: 0xe00029c2, 0x811f: 0xe00029be, + 0x8120: 0xe0000976, 0x8121: 0xe0000972, 0x8122: 0xe00009f4, 0x8123: 0xe00009ef, + 0x8124: 0x002d3a88, 0x8125: 0x402d3a20, 0x8126: 0xe0000bbe, 0x8127: 0xe0000bbb, + 0x8128: 0xe0000c99, 0x8129: 0xe0000c96, 0x812a: 0xe0000e20, 0x812b: 0xe0000e1d, + 0x812c: 0xe0000e27, 0x812d: 0xe0000e23, 0x812e: 0xe0001162, 0x812f: 0xe000115f, + 0x8130: 0xe0000c8d, 0x8131: 0xf0000a0a, 0x8132: 0xf000040a, 0x8133: 0xf0000404, + 0x8134: 0xe0000bac, 0x8135: 0xe0000ba9, 0x8136: 0x002d7888, 0x8137: 0x00319488, + 0x8138: 0xe0000d57, 0x8139: 0xe0000d54, 0x813a: 0xe0000954, 0x813b: 0xe0000950, + 0x813c: 0xe00009ea, 0x813d: 0xe00009e5, 0x813e: 0xe0000e19, 0x813f: 0xe0000e15, + // Block 0x205, offset 0x8140 + 0x8140: 0xe000098f, 0x8141: 0xe000098c, 0x8142: 0xe0000995, 0x8143: 0xe0000992, + 0x8144: 0xe0000b62, 0x8145: 0xe0000b5f, 0x8146: 0xe0000b68, 0x8147: 0xe0000b65, + 0x8148: 0xe0000c6c, 0x8149: 0xe0000c69, 0x814a: 0xe0000c72, 0x814b: 0xe0000c6f, + 0x814c: 0xe0000e4a, 0x814d: 0xe0000e47, 0x814e: 0xe0000e50, 0x814f: 0xe0000e4d, + 0x8150: 0xe0000ee8, 0x8151: 0xe0000ee5, 0x8152: 0xe0000eee, 0x8153: 0xe0000eeb, + 0x8154: 0xe0001053, 0x8155: 0xe0001050, 0x8156: 0xe0001059, 0x8157: 0xe0001056, + 0x8158: 0xe0000f61, 0x8159: 0xe0000f5e, 0x815a: 0xe0000fa5, 0x815b: 0xe0000fa2, + 0x815c: 0x00312288, 0x815d: 0x40312220, 0x815e: 0xe0000bf4, 0x815f: 0xe0000bf1, + 0x8160: 0x002ebc88, 0x8161: 0x402c8c20, 0x8162: 0x002f2288, 0x8163: 0x402f2220, + 0x8164: 0x00314088, 0x8165: 0x40314020, 0x8166: 0xe000096f, 0x8167: 0xe000096c, + 0x8168: 0xe0000b32, 0x8169: 0xe0000b2f, 0x816a: 0xe00029d8, 0x816b: 0xe00029d4, + 0x816c: 0xe0000dfd, 0x816d: 0xe0000df9, 0x816e: 0xe0000e04, 0x816f: 0xe0000e01, + 0x8170: 0xe0000e0b, 0x8171: 0xe0000e07, 0x8172: 0xe0001129, 0x8173: 0xe0001126, + 0x8174: 0x402e5e20, 0x8175: 0x402ed020, 0x8176: 0x40305a20, 0x8177: 0x402dd420, + 0x8178: 0xe0000abf, 0x8179: 0xe0000ec4, 0x817a: 0x002be888, 0x817b: 0x002c4488, + 0x817c: 0x402c4420, 0x817d: 0x002e3888, 0x817e: 0x00303e88, 0x817f: 0x402ffc20, + // Block 0x206, offset 0x8180 + 0x8180: 0xe0000d24, 0x8181: 0xe0000d21, 0x8182: 0xe0000d2a, 0x8183: 0xe0000d27, + 0x8184: 0xe0000d69, 0x8185: 0xe0000d66, 0x8186: 0xe0000d7b, 0x8187: 0xe0000d78, + 0x8188: 0xe0000d87, 0x8189: 0xe0000d84, 0x818a: 0xe0000d81, 0x818b: 0xe0000d7e, + 0x818c: 0xe0000ded, 0x818d: 0xe0000de9, 0x818e: 0xe00029d0, 0x818f: 0xe00029cc, + 0x8190: 0xe0000e3d, 0x8191: 0xe0000e39, 0x8192: 0xe0000e35, 0x8193: 0xe0000e31, + 0x8194: 0xe0000ea7, 0x8195: 0xe0000ea4, 0x8196: 0xe0000ead, 0x8197: 0xe0000eaa, + 0x8198: 0xe0000ed6, 0x8199: 0xe0000ed3, 0x819a: 0xe0000ef4, 0x819b: 0xe0000ef1, + 0x819c: 0xe0000efb, 0x819d: 0xe0000ef7, 0x819e: 0xe0000f02, 0x819f: 0xe0000eff, + 0x81a0: 0xe0000f41, 0x81a1: 0xe0000f3e, 0x81a2: 0xe0000f53, 0x81a3: 0xe0000f50, + 0x81a4: 0xe0000f26, 0x81a5: 0xe0000f22, 0x81a6: 0xe0000f3a, 0x81a7: 0xe0000f36, + 0x81a8: 0xe0000f5a, 0x81a9: 0xe0000f56, 0x81aa: 0xe0000f93, 0x81ab: 0xe0000f90, + 0x81ac: 0xe0000f9f, 0x81ad: 0xe0000f9c, 0x81ae: 0xe0000fb1, 0x81af: 0xe0000fae, + 0x81b0: 0xe0000fab, 0x81b1: 0xe0000fa8, 0x81b2: 0xe0001093, 0x81b3: 0xe0001090, + 0x81b4: 0xe000109f, 0x81b5: 0xe000109c, 0x81b6: 0xe0001099, 0x81b7: 0xe0001096, + 0x81b8: 0xe0001032, 0x81b9: 0xe000102e, 0x81ba: 0xe00029fe, 0x81bb: 0xe00029fa, + 0x81bc: 0xe00010a9, 0x81bd: 0xe00010a6, 0x81be: 0xe00010af, 0x81bf: 0xe00010ac, + // Block 0x207, offset 0x81c0 + 0x81c0: 0x40078220, 0x81c1: 0x40075e20, 0x81c2: 0x40076020, 0x81c3: 0x40076220, + 0x81c4: 0x40058220, 0x81c5: 0x40058420, 0x81c6: 0x40058620, 0x81c7: 0x40058820, + 0x81c8: 0x40058a20, 0x81c9: 0x40058c20, 0x81ca: 0x40058e20, 0x81cb: 0x4027bc20, + 0x81cc: 0x0027bc83, 0x81cd: 0x4027bc21, 0x81ce: 0x4027bc22, 0x81cf: 0x4027bc23, + 0x81d0: 0x4027bc24, 0x81d1: 0x4027bc25, 0x81d2: 0x4005a020, 0x81d3: 0x40076420, + 0x81d4: 0x4027bc26, 0x81d5: 0x40076620, 0x81d6: 0x40076820, 0x81d7: 0x40076a20, + 0x81d8: 0xadc00000, 0x81d9: 0xadc00000, 0x81da: 0x40076c20, 0x81db: 0x40076e20, + 0x81dc: 0x40077020, 0x81dd: 0x40077220, 0x81de: 0x40077420, 0x81df: 0x40077620, + 0x81e0: 0xe00001a0, 0x81e1: 0xe0000234, 0x81e2: 0xe000034c, 0x81e3: 0xe0000426, + 0x81e4: 0xe00004fb, 0x81e5: 0xe00005c5, 0x81e6: 0xe0000690, 0x81e7: 0xe0000738, + 0x81e8: 0xe00007e4, 0x81e9: 0xe0000889, 0x81ea: 0xe0000237, 0x81eb: 0xe000034f, + 0x81ec: 0xe0000429, 0x81ed: 0xe00004fe, 0x81ee: 0xe00005c8, 0x81ef: 0xe0000693, + 0x81f0: 0xe000073b, 0x81f1: 0xe00007e7, 0x81f2: 0xe000088c, 0x81f3: 0xe00001a3, + 0x81f4: 0x4027bc27, 0x81f5: 0xadc00000, 0x81f6: 0x40077a20, 0x81f7: 0xadc00000, + 0x81f8: 0x40077c20, 0x81f9: 0xae611002, 0x81fa: 0x40040020, 0x81fb: 0x40040220, + 0x81fc: 0x40040420, 0x81fd: 0x40040620, 0x81fe: 0xa0000000, 0x81ff: 0xa0000000, + // Block 0x208, offset 0x8200 + 0x8200: 0x404a7620, 0x8201: 0x404a7c20, 0x8202: 0xc4db2161, 0x8203: 0xe0002a23, + 0x8204: 0x404a8420, 0x8205: 0x404a8820, 0x8206: 0x404a8c20, 0x8207: 0x404a9020, + 0x8209: 0x404a9420, 0x820a: 0x004aa883, 0x820b: 0x004aac83, + 0x820c: 0x004ab083, 0x820d: 0xe0002a5b, 0x820e: 0x004ab483, 0x820f: 0x404aa820, + 0x8210: 0x404aac20, 0x8211: 0xc3b50c31, 0x8212: 0xe0002a58, 0x8213: 0x404ab420, + 0x8214: 0x404ab820, 0x8215: 0x404abc20, 0x8216: 0xc3ff1211, 0x8217: 0xe0002a7c, + 0x8218: 0xc46018e1, 0x8219: 0x404ac820, 0x821a: 0x404acc20, 0x821b: 0x404ad020, + 0x821c: 0xe0002a9d, 0x821d: 0x404ad420, 0x821e: 0x404ad820, 0x821f: 0x404adc20, + 0x8220: 0xc49b1d01, 0x8221: 0x404ae420, 0x8222: 0xc4481761, 0x8223: 0xc4551831, + 0x8224: 0x404af220, 0x8225: 0x004af283, 0x8226: 0xc48f1c51, 0x8227: 0x404afe20, + 0x8228: 0x404b0220, 0x8229: 0xe0002a02, 0x822a: 0x004ae883, 0x822b: 0x404a7a20, + 0x822c: 0x404aec20, + 0x8231: 0xc5270751, 0x8232: 0x8282258c, 0x8233: 0x8281258d, + 0x8234: 0x82842590, 0x8235: 0x82812591, 0x8236: 0x404b2420, 0x8237: 0x404b2620, + 0x8238: 0x404b2820, 0x8239: 0x404b2a20, 0x823a: 0x82822596, 0x823b: 0x83822596, + 0x823c: 0x82822598, 0x823d: 0x83822598, 0x823e: 0x004ac483, 0x823f: 0xae611102, + // Block 0x209, offset 0x8240 + 0x8240: 0x8382258c, 0x8241: 0x8281258f, 0x8242: 0x004ac484, 0x8243: 0x004ac485, + 0x8244: 0xae610e02, 0x8245: 0xae611202, 0x8246: 0xae600000, 0x8247: 0xae600000, + 0x8248: 0xc3b20c01, 0x8249: 0xc5122551, 0x824a: 0xae611502, 0x824b: 0xc5102521, + 0x824c: 0x404b0e20, 0x824d: 0x404b0820, 0x824e: 0x404b0c20, 0x824f: 0x404b1020, + 0x8250: 0x82822599, 0x8251: 0x8282259a, 0x8252: 0x8282259b, 0x8253: 0xe0002ac7, + 0x8254: 0x8282259c, 0x8255: 0x8282259d, 0x8256: 0x8282259e, 0x8257: 0x8282259f, + 0x8259: 0x828225a0, 0x825a: 0x838225a1, 0x825b: 0x838225a2, + 0x825c: 0x838225a3, 0x825d: 0xe0002acd, 0x825e: 0x838225a4, 0x825f: 0x828225a1, + 0x8260: 0x828225a2, 0x8261: 0x828225a3, 0x8262: 0xe0002aca, 0x8263: 0x828225a4, + 0x8264: 0x828225a5, 0x8265: 0x828225a6, 0x8266: 0x828225a7, 0x8267: 0xe0002ad0, + 0x8268: 0x828225a8, 0x8269: 0x828225a9, 0x826a: 0x828225aa, 0x826b: 0x828225ab, + 0x826c: 0xe0002ad3, 0x826d: 0x828225ac, 0x826e: 0x828225ad, 0x826f: 0x828225ae, + 0x8270: 0x828225af, 0x8271: 0x828225b0, 0x8272: 0xc5152581, 0x8273: 0xc51e2581, + 0x8274: 0x828225b3, 0x8275: 0x838225b3, 0x8276: 0x828225b4, 0x8277: 0x828225b5, + 0x8278: 0x828225b6, 0x8279: 0xe0002ac4, 0x827a: 0x838225ac, 0x827b: 0x838225b0, + 0x827c: 0x838225b1, 0x827e: 0x40077e20, 0x827f: 0x40078020, + // Block 0x20a, offset 0x8280 + 0x8280: 0xa0000000, 0x8281: 0xa0000000, 0x8282: 0xa0000000, 0x8283: 0xa0000000, + 0x8284: 0xa0000000, 0x8285: 0xa0000000, 0x8286: 0xa0000000, 0x8287: 0xa0000000, + 0x8288: 0xa0000000, 0x8289: 0x40020020, 0x828a: 0x40020220, 0x828b: 0x40020420, + 0x828c: 0x40020620, 0x828d: 0x40020820, 0x828e: 0xa0000000, 0x828f: 0xa0000000, + 0x8290: 0xa0000000, 0x8291: 0xa0000000, 0x8292: 0xa0000000, 0x8293: 0xa0000000, + 0x8294: 0xa0000000, 0x8295: 0xa0000000, 0x8296: 0xa0000000, 0x8297: 0xa0000000, + 0x8298: 0xa0000000, 0x8299: 0xa0000000, 0x829a: 0xa0000000, 0x829b: 0xa0000000, + 0x829c: 0xa0000000, 0x829d: 0xa0000000, 0x829e: 0xa0000000, 0x829f: 0xa0000000, + 0x82a0: 0x40021220, 0x82a1: 0x4002ba20, 0x82a2: 0x4003e020, 0x82a3: 0x4004ea20, + 0x82a4: 0x4027de20, 0x82a5: 0x4004ec20, 0x82a6: 0x4004e620, 0x82a7: 0x4003d220, + 0x82a8: 0x4003f420, 0x82a9: 0x4003f620, 0x82aa: 0x4004d820, 0x82ab: 0x40093820, + 0x82ac: 0x40024020, 0x82ad: 0x40021a20, 0x82ae: 0x4002e420, 0x82af: 0x4004e220, + 0x82b0: 0x4029cc20, 0x82b1: 0x4029ce20, 0x82b2: 0x4029d020, 0x82b3: 0x4029d220, + 0x82b4: 0x4029d420, 0x82b5: 0x4029d620, 0x82b6: 0x4029d820, 0x82b7: 0x4029da20, + 0x82b8: 0x4029dc20, 0x82b9: 0x4029de20, 0x82ba: 0x40026c20, 0x82bb: 0x40026220, + 0x82bc: 0x40094020, 0x82bd: 0x40094220, 0x82be: 0x40094420, 0x82bf: 0x4002c420, + // Block 0x20b, offset 0x82c0 + 0x82c0: 0x4004d620, 0x82c1: 0x002bde88, 0x82c2: 0x002c0a88, 0x82c3: 0x002c3a88, + 0x82c4: 0xc36a2662, 0x82c5: 0x002c9888, 0x82c6: 0x002d0888, 0x82c7: 0xc52b2692, + 0x82c8: 0x002d6888, 0x82c9: 0x002d9a88, 0x82ca: 0x002dcc88, 0x82cb: 0xc53026c2, + 0x82cc: 0xc0030002, 0x82cd: 0x002e8288, 0x82ce: 0xc53526f2, 0x82cf: 0x002ee288, + 0x82d0: 0x002f2c88, 0x82d1: 0x002f5688, 0x82d2: 0x002f7a88, 0x82d3: 0x002fe688, + 0x82d4: 0xc38a2722, 0x82d5: 0x00306c88, 0x82d6: 0x0030be88, 0x82d7: 0x0030e288, + 0x82d8: 0x002d6a83, 0x82d9: 0x00310088, 0x82da: 0x00312a88, 0x82db: 0x4003f820, + 0x82dc: 0x4004e420, 0x82dd: 0x4003fa20, 0x82de: 0x40062420, 0x82df: 0x40021620, + 0x82e0: 0x40061e20, 0x82e1: 0x402bde20, 0x82e2: 0x402c0a20, 0x82e3: 0x402c3a20, + 0x82e4: 0xc3682651, 0x82e5: 0x402c9820, 0x82e6: 0x402d0820, 0x82e7: 0xc3372681, + 0x82e8: 0x402d6820, 0x82e9: 0x402d9a20, 0x82ea: 0x402dcc20, 0x82eb: 0xc52e26b1, + 0x82ec: 0xc0000002, 0x82ed: 0x402e8220, 0x82ee: 0xc53326e1, 0x82ef: 0x402ee220, + 0x82f0: 0x402f2c20, 0x82f1: 0x402f5620, 0x82f2: 0x402f7a20, 0x82f3: 0x402fe620, + 0x82f4: 0xc3882711, 0x82f5: 0x40306c20, 0x82f6: 0x4030be20, 0x82f7: 0x4030e220, + 0x82f8: 0x402d6a20, 0x82f9: 0x40310020, 0x82fa: 0x40312a20, 0x82fb: 0x4003fc20, + 0x82fc: 0x40094820, 0x82fd: 0x4003fe20, 0x82fe: 0x40094c20, 0x82ff: 0xa0000000, + // Block 0x20c, offset 0x8300 + 0x8300: 0xe00008f5, 0x8301: 0xe00008ef, 0x8302: 0xe0002ad9, 0x8303: 0xe0000969, + 0x8304: 0xe000095b, 0x8305: 0xe000094d, 0x8306: 0xe00009dd, 0x8307: 0xe0000a53, + 0x8308: 0xe0000ae8, 0x8309: 0xe0000ae2, 0x830a: 0xe0002b0d, 0x830b: 0xe0000b20, + 0x830c: 0xe0000c2b, 0x830d: 0xe0000c25, 0x830e: 0xe0002b47, 0x830f: 0xe0000c43, + 0x8310: 0xe0000ab3, 0x8311: 0xe0000d63, 0x8312: 0xe0000d9a, 0x8313: 0xe0000d94, + 0x8314: 0xe0002b53, 0x8315: 0xe0000de6, 0x8316: 0xe0000dd2, 0x8317: 0x40093e20, + 0x8318: 0xe0000e12, 0x8319: 0xe0000fe1, 0x831a: 0xe0000fdb, 0x831b: 0xe0002b87, + 0x831c: 0xe0000fff, 0x831d: 0xe0001102, 0x831e: 0x00318888, 0x831f: 0xe0000f7b, + 0x8320: 0xe00008f2, 0x8321: 0xe00008ec, 0x8322: 0xe0002ad6, 0x8323: 0xe0000966, + 0x8324: 0xe0000958, 0x8325: 0xe000094a, 0x8326: 0xe00009d5, 0x8327: 0xe0000a4d, + 0x8328: 0xe0000ae5, 0x8329: 0xe0000adf, 0x832a: 0xe0002b0a, 0x832b: 0xe0000b1d, + 0x832c: 0xe0000c28, 0x832d: 0xe0000c22, 0x832e: 0xe0002b44, 0x832f: 0xe0000c40, + 0x8330: 0xe0000aad, 0x8331: 0xe0000d60, 0x8332: 0xe0000d97, 0x8333: 0xe0000d91, + 0x8334: 0xe0002b50, 0x8335: 0xe0000de3, 0x8336: 0xe0000dcf, 0x8337: 0x40093c20, + 0x8338: 0xe0000e0f, 0x8339: 0xe0000fde, 0x833a: 0xe0000fd8, 0x833b: 0xe0002b84, + 0x833c: 0xe0000ffc, 0x833d: 0xe00010ff, 0x833e: 0x40318820, 0x833f: 0xe0001114, + // Block 0x20d, offset 0x8340 + 0x8340: 0xe0000983, 0x8341: 0xe0000980, 0x8342: 0xe00008fb, 0x8343: 0xe00008f8, + 0x8344: 0xe000097d, 0x8345: 0xe000097a, 0x8346: 0xe0000a38, 0x8347: 0xe0000a35, + 0x8348: 0xe0002b07, 0x8349: 0xe0002b04, 0x834a: 0xe0000a4a, 0x834b: 0xe0000a47, + 0x834c: 0xe0000a44, 0x834d: 0xe0000a41, 0x834e: 0xe0000a86, 0x834f: 0xe0000a83, + 0x8350: 0xe0000aaa, 0x8351: 0xe0000aa7, 0x8352: 0xe0000b46, 0x8353: 0xe0000b43, + 0x8354: 0xe0000aee, 0x8355: 0xe0000aeb, 0x8356: 0xe0000b2c, 0x8357: 0xe0000b29, + 0x8358: 0xe0000b40, 0x8359: 0xe0000b3d, 0x835a: 0xe0000b1a, 0x835b: 0xe0000b17, + 0x835c: 0xe0002b3b, 0x835d: 0xe0002b38, 0x835e: 0xe0000bb2, 0x835f: 0xe0000baf, + 0x8360: 0xe0000bc4, 0x8361: 0xe0000bc1, 0x8362: 0xe0000bca, 0x8363: 0xe0000bc7, + 0x8364: 0xe0002b41, 0x8365: 0xe0002b3e, 0x8366: 0xe0000c1b, 0x8367: 0xe0000c18, + 0x8368: 0xe0000c51, 0x8369: 0xe0000c4e, 0x836a: 0xe0000c60, 0x836b: 0xe0000c5d, + 0x836c: 0xe0000c31, 0x836d: 0xe0000c2e, 0x836e: 0xe0000c5a, 0x836f: 0xe0000c57, + 0x8370: 0xe0000c54, 0x8371: 0x402da220, 0x8372: 0xf0000a0a, 0x8373: 0xf0000404, + 0x8374: 0xe0002b4d, 0x8375: 0xe0002b4a, 0x8376: 0xe0000c9f, 0x8377: 0xe0000c9c, + 0x8378: 0x402f7220, 0x8379: 0xe0000ccc, 0x837a: 0xe0000cc9, 0x837b: 0xe0000cd8, + 0x837c: 0xe0000cd5, 0x837d: 0xe0000cd2, 0x837e: 0xe0000ccf, 0x837f: 0xe0000d04, + // Block 0x20e, offset 0x8380 + 0x8380: 0xe0000cfe, 0x8381: 0xe0000cf8, 0x8382: 0xe0000cf5, 0x8383: 0xe0000d51, + 0x8384: 0xe0000d4e, 0x8385: 0xe0000d6f, 0x8386: 0xe0000d6c, 0x8387: 0xe0000d5d, + 0x8388: 0xe0000d5a, 0x8389: 0xf0000404, 0x838a: 0x002ea283, 0x838b: 0x402ea220, + 0x838c: 0xe0000e2e, 0x838d: 0xe0000e2b, 0x838e: 0xe0000da0, 0x838f: 0xe0000d9d, + 0x8390: 0xe0000de0, 0x8391: 0xe0000ddd, 0x8392: 0xe0000e93, 0x8393: 0xe0000e8f, + 0x8394: 0xe0000eca, 0x8395: 0xe0000ec7, 0x8396: 0xe0000edc, 0x8397: 0xe0000ed9, + 0x8398: 0xe0000ed0, 0x8399: 0xe0000ecd, 0x839a: 0xe0000f1f, 0x839b: 0xe0000f1c, + 0x839c: 0xe0002b81, 0x839d: 0xe0002b7e, 0x839e: 0xe0000f47, 0x839f: 0xe0000f44, + 0x83a0: 0xe0000f33, 0x83a1: 0xe0000f30, 0x83a2: 0xe0000f99, 0x83a3: 0xe0000f96, + 0x83a4: 0xe0000f8a, 0x83a5: 0xe0000f87, 0x83a6: 0x00303688, 0x83a7: 0x40303620, + 0x83a8: 0xe000102b, 0x83a9: 0xe0001028, 0x83aa: 0xe000103f, 0x83ab: 0xe000103c, + 0x83ac: 0xe0000fe7, 0x83ad: 0xe0000fe4, 0x83ae: 0xe0000ff9, 0x83af: 0xe0000ff6, + 0x83b0: 0xe0001025, 0x83b1: 0xe0001022, 0x83b2: 0xe0001039, 0x83b3: 0xe0001036, + 0x83b4: 0xe0002b8d, 0x83b5: 0xe0002b8a, 0x83b6: 0xe0002b93, 0x83b7: 0xe0002b90, + 0x83b8: 0xe0001117, 0x83b9: 0xe000113b, 0x83ba: 0xe0001138, 0x83bb: 0xe000114d, + 0x83bc: 0xe000114a, 0x83bd: 0xe0001147, 0x83be: 0xe0001144, 0x83bf: 0xe0000f64, + // Block 0x20f, offset 0x83c0 + 0x83c0: 0x402c1a20, 0x83c1: 0x002c2a88, 0x83c2: 0x002c3288, 0x83c3: 0x402c3220, + 0x83c4: 0x0031c488, 0x83c5: 0x4031c420, 0x83c6: 0x002ee483, 0x83c7: 0x002c4e88, + 0x83c8: 0x402c4e20, 0x83c9: 0x002c6683, 0x83ca: 0x002c7a88, 0x83cb: 0x002c8488, + 0x83cc: 0x402c8420, 0x83cd: 0xe000115c, 0x83ce: 0x002cae88, 0x83cf: 0x002cb888, + 0x83d0: 0x002c9a83, 0x83d1: 0x002d0a83, 0x83d2: 0x402d0a20, 0x83d3: 0x002d4488, + 0x83d4: 0x002d2683, 0x83d5: 0x402d7820, 0x83d6: 0x002dc288, 0x83d7: 0x002db688, + 0x83d8: 0x002e0a88, 0x83d9: 0x402e0a20, 0x83da: 0x402e3820, 0x83db: 0x402e7220, + 0x83dc: 0x0030a088, 0x83dd: 0x002eb488, 0x83de: 0x402ebc20, 0x83df: 0x002f1088, + 0x83e0: 0xe0000e56, 0x83e1: 0xe0000e53, 0x83e2: 0x002d6088, 0x83e3: 0x402d6020, + 0x83e4: 0x002f3e88, 0x83e5: 0x402f3e20, 0x83e6: 0x002f8288, 0x83e7: 0x0031b488, + 0x83e8: 0x4031b420, 0x83e9: 0x00300888, 0x83ea: 0x40301220, 0x83eb: 0x40304220, + 0x83ec: 0x00304a88, 0x83ed: 0x40304a20, 0x83ee: 0x00305288, 0x83ef: 0xe000105f, + 0x83f0: 0xe000105c, 0x83f1: 0x0030b488, 0x83f2: 0x0030c083, 0x83f3: 0x00311888, + 0x83f4: 0x40311820, 0x83f5: 0x00313488, 0x83f6: 0x40313420, 0x83f7: 0x00316488, + 0x83f8: 0x00316e88, 0x83f9: 0x40316e20, 0x83fa: 0x40317820, 0x83fb: 0x4031a620, + 0x83fc: 0x0031bc88, 0x83fd: 0x4031bc20, 0x83fe: 0xe0000fc9, 0x83ff: 0x40319420, + // Block 0x210, offset 0x8400 + 0x8400: 0x40315820, 0x8401: 0x0031d488, 0x8402: 0x4031d420, 0x8403: 0x002c1a88, + 0x8404: 0x00307c88, 0x8405: 0x0030da88, 0x8406: 0x002ca288, 0x8407: 0x402ca220, + 0x8408: 0x002dde88, 0x8409: 0x402dde20, 0x840a: 0x002f6a88, 0x840b: 0x402f6a20, + 0x840c: 0x002f8e88, 0x840d: 0x402f8e20, 0x840e: 0x00311088, 0x840f: 0x40311020, + 0x8410: 0x402bf020, 0x8411: 0x402bf820, 0x8412: 0x402c0220, 0x8413: 0x402c2a20, + 0x8414: 0x402ee420, 0x8415: 0x402c5620, 0x8416: 0x402c6620, 0x8417: 0x402c7a20, + 0x8418: 0x402ccc20, 0x8419: 0x402cb820, 0x841a: 0x402cd420, 0x841b: 0x402c9a20, + 0x841c: 0x402cdc20, 0x841d: 0x402ce820, 0x841e: 0x402cf020, 0x841f: 0x402dee20, + 0x8420: 0x402d4420, 0x8421: 0x402d2a20, 0x8422: 0x402d3220, 0x8423: 0x402d2620, + 0x8424: 0x402d0020, 0x8425: 0x40308820, 0x8426: 0x402d8020, 0x8427: 0x402d8e20, + 0x8428: 0x402db620, 0x8429: 0x402dc220, 0x842a: 0x402daa20, 0x842b: 0x402e4220, + 0x842c: 0x402e4a20, 0x842d: 0x402e5420, 0x842e: 0x402e6820, 0x842f: 0x4030a020, + 0x8430: 0x4030ac20, 0x8431: 0x402e9020, 0x8432: 0x402eb420, 0x8433: 0x402ec820, + 0x8434: 0x402ea620, 0x8435: 0x402f1020, 0x8436: 0x402eee20, 0x8437: 0x402f1a20, + 0x8438: 0x402f4c20, 0x8439: 0x402f9820, 0x843a: 0x402fa220, 0x843b: 0x402fac20, + 0x843c: 0x402fb620, 0x843d: 0x402fbe20, 0x843e: 0x402fc620, 0x843f: 0x402fd020, + // Block 0x211, offset 0x8440 + 0x8440: 0x402f8220, 0x8441: 0x402fd820, 0x8442: 0x402ff420, 0x8443: 0x40300820, + 0x8444: 0x402df620, 0x8445: 0x40301a20, 0x8446: 0x40302420, 0x8447: 0x40306420, + 0x8448: 0x40305220, 0x8449: 0x40307c20, 0x844a: 0x4030b420, 0x844b: 0x4030c020, + 0x844c: 0x4030da20, 0x844d: 0x4030ee20, 0x844e: 0x402e7a20, 0x844f: 0x40310820, + 0x8450: 0x40314820, 0x8451: 0x40315020, 0x8452: 0x40316420, 0x8453: 0x40318020, + 0x8454: 0x4031cc20, 0x8455: 0x4031e820, 0x8456: 0x40320a20, 0x8457: 0x40323220, + 0x8458: 0x40323a20, 0x8459: 0x402c1220, 0x845a: 0x402cf820, 0x845b: 0x402d4c20, + 0x845c: 0x402d7020, 0x845d: 0x402de620, 0x845e: 0x402e1a20, 0x845f: 0x402e2a20, + 0x8460: 0x402f6220, 0x8461: 0x4031fa20, 0x8462: 0x40320220, 0x8463: 0xe0000aca, + 0x8464: 0xe0000adc, 0x8465: 0xe0000ad9, 0x8466: 0xe0000fcc, 0x8467: 0xe0000fcf, + 0x8468: 0xe0000fba, 0x8469: 0xe0000ba1, 0x846a: 0xe0000d11, 0x846b: 0xe0000d18, + 0x846c: 0x40324220, 0x846d: 0x40324a20, 0x846e: 0x40309020, 0x846f: 0x40309820, + 0x8470: 0x002d6894, 0x8471: 0x002d8094, 0x8472: 0x002dcc94, 0x8473: 0x002f7a94, + 0x8474: 0x002f9894, 0x8475: 0x002fac94, 0x8476: 0x002fd894, 0x8477: 0x0030e294, + 0x8478: 0x00310094, 0x8479: 0x40064020, 0x847a: 0x40064420, 0x847b: 0x402d9620, + 0x847c: 0x4031de20, 0x847d: 0x402d9820, 0x847e: 0x4031e220, 0x847f: 0x4031f020, + // Block 0x212, offset 0x8480 + 0x8480: 0xae603502, 0x8481: 0xae603202, 0x8482: 0xae604202, 0x8483: 0xae604e02, + 0x8484: 0xae605b02, 0x8485: 0xae606302, 0x8486: 0xae603702, 0x8487: 0xae605202, + 0x8488: 0xae604702, 0x8489: 0xae606402, 0x848a: 0xae604302, 0x848b: 0xae604d02, + 0x848c: 0xae604102, 0x848d: 0xae605f02, 0x848e: 0xae605f02, 0x848f: 0xae606502, + 0x8490: 0xae606602, 0x8491: 0xae606702, 0x8492: 0xae605f02, 0x8493: 0xae602202, + 0x8494: 0xae602a02, 0x8495: 0xae805f02, 0x8496: 0xadc06002, 0x8497: 0xadc06002, + 0x8498: 0xadc06002, 0x8499: 0xadc06002, 0x849a: 0xae805f02, 0x849b: 0xad806802, + 0x849c: 0xadc06002, 0x849d: 0xadc06002, 0x849e: 0xadc06002, 0x849f: 0xadc06002, + 0x84a0: 0xadc06002, 0x84a1: 0xaca06e02, 0x84a2: 0xaca06f02, 0x84a3: 0xadc07002, + 0x84a4: 0xadc07502, 0x84a5: 0xadc07602, 0x84a6: 0xadc07702, 0x84a7: 0xaca05602, + 0x84a8: 0xaca05902, 0x84a9: 0xadc06002, 0x84aa: 0xadc06002, 0x84ab: 0xadc06002, + 0x84ac: 0xadc06002, 0x84ad: 0xadc07802, 0x84ae: 0xadc07902, 0x84af: 0xadc06002, + 0x84b0: 0xadc07a02, 0x84b1: 0xadc07b02, 0x84b2: 0xadc02102, 0x84b3: 0xadc06002, + 0x84b4: 0xa0107c02, 0x84b5: 0xa0107d02, 0x84b6: 0xa0106102, 0x84b7: 0xa0106102, + 0x84b8: 0xa0105402, 0x84b9: 0xadc07e02, 0x84ba: 0xadc06002, 0x84bb: 0xadc06002, + 0x84bc: 0xadc06002, 0x84bd: 0xae605f02, 0x84be: 0xae605f02, 0x84bf: 0xae605f02, + // Block 0x213, offset 0x84c0 + 0x84c0: 0xe00010d2, 0x84c1: 0xe00010cf, 0x84c2: 0xe00010cc, 0x84c3: 0xe00010c9, + 0x84c4: 0xe00010e1, 0x84c5: 0xe00010de, 0x84c6: 0xe00010e7, 0x84c7: 0xe00010e4, + 0x84c8: 0xe00010ed, 0x84c9: 0xe00010ea, 0x84ca: 0xe0002912, 0x84cb: 0xe000290f, + 0x84cc: 0xe000290c, 0x84cd: 0xe0002909, 0x84ce: 0xe0001123, 0x84cf: 0xe0001120, + 0x84d0: 0xe0002b99, 0x84d1: 0xe0002b96, 0x84d2: 0xe0001153, 0x84d3: 0xe0001150, + 0x84d4: 0xe0001159, 0x84d5: 0xe0001156, 0x84d6: 0xe0000c15, 0x84d7: 0xe0000f8d, + 0x84d8: 0xe00010db, 0x84d9: 0xe0001111, 0x84da: 0xf0000404, 0x84db: 0xe0000f70, + 0x84dc: 0x40300420, 0x84dd: 0x40300620, 0x84de: 0xe0000f7f, 0x84df: 0x402c9620, + 0x84e0: 0xe000099b, 0x84e1: 0xe0000998, 0x84e2: 0xe0000989, 0x84e3: 0xe0000986, + 0x84e4: 0xe0002ae0, 0x84e5: 0xe0002adc, 0x84e6: 0xe0002ae8, 0x84e7: 0xe0002ae4, + 0x84e8: 0xe0002af8, 0x84e9: 0xe0002af4, 0x84ea: 0xe0002af0, 0x84eb: 0xe0002aec, + 0x84ec: 0xe0002b00, 0x84ed: 0xe0002afc, 0x84ee: 0xe0000902, 0x84ef: 0xe00008fe, + 0x84f0: 0xe000090a, 0x84f1: 0xe0000906, 0x84f2: 0xe000091a, 0x84f3: 0xe0000916, + 0x84f4: 0xe0000912, 0x84f5: 0xe000090e, 0x84f6: 0xe00009a2, 0x84f7: 0xe000099e, + 0x84f8: 0xe0000b6e, 0x84f9: 0xe0000b6b, 0x84fa: 0xe0000b5c, 0x84fb: 0xe0000b59, + 0x84fc: 0xe0000b26, 0x84fd: 0xe0000b23, 0x84fe: 0xe0002b14, 0x84ff: 0xe0002b10, + // Block 0x214, offset 0x8500 + 0x8500: 0xe0002b1c, 0x8501: 0xe0002b18, 0x8502: 0xe0002b2c, 0x8503: 0xe0002b28, + 0x8504: 0xe0002b24, 0x8505: 0xe0002b20, 0x8506: 0xe0002b34, 0x8507: 0xe0002b30, + 0x8508: 0xe0000c66, 0x8509: 0xe0000c63, 0x850a: 0xe0000c78, 0x850b: 0xe0000c75, + 0x850c: 0xe0000e84, 0x850d: 0xe0000e81, 0x850e: 0xe0000e44, 0x850f: 0xe0000e41, + 0x8510: 0xe0002b5a, 0x8511: 0xe0002b56, 0x8512: 0xe0002b62, 0x8513: 0xe0002b5e, + 0x8514: 0xe0002b72, 0x8515: 0xe0002b6e, 0x8516: 0xe0002b6a, 0x8517: 0xe0002b66, + 0x8518: 0xe0002b7a, 0x8519: 0xe0002b76, 0x851a: 0xe0000e5d, 0x851b: 0xe0000e59, + 0x851c: 0xe0000e65, 0x851d: 0xe0000e61, 0x851e: 0xe0000e75, 0x851f: 0xe0000e71, + 0x8520: 0xe0000e6d, 0x8521: 0xe0000e69, 0x8522: 0xe0000e7d, 0x8523: 0xe0000e79, + 0x8524: 0xe000108d, 0x8525: 0xe000108a, 0x8526: 0xe000104d, 0x8527: 0xe000104a, + 0x8528: 0xe0001066, 0x8529: 0xe0001062, 0x852a: 0xe000106e, 0x852b: 0xe000106a, + 0x852c: 0xe000107e, 0x852d: 0xe000107a, 0x852e: 0xe0001076, 0x852f: 0xe0001072, + 0x8530: 0xe0001086, 0x8531: 0xe0001082, 0x8532: 0xe0001108, 0x8533: 0xe0001105, + 0x8534: 0xe0001135, 0x8535: 0xe0001132, 0x8536: 0xe000112f, 0x8537: 0xe000112c, + 0x8538: 0xe000111d, 0x8539: 0xe000111a, 0x853a: 0xe0000d0a, 0x853b: 0xe0000d07, + 0x853c: 0x0030d888, 0x853d: 0x4030d820, 0x853e: 0x00312088, 0x853f: 0x40312020, + // Block 0x215, offset 0x8540 + 0x8540: 0x00093685, 0x8541: 0x40083620, 0x8542: 0x40083820, 0x8543: 0x40083a20, + 0x8544: 0x40083c20, 0x8545: 0x002c628b, 0x8546: 0x002c6285, 0x8547: 0x002c9885, + 0x8548: 0x002d9a85, 0x8549: 0x002dcc85, 0x854a: 0x40083e20, 0x854b: 0x400a6e20, + 0x854c: 0x40084020, 0x854d: 0xe00009c4, 0x854e: 0x402d1e20, 0x854f: 0x40084220, + 0x8550: 0xe00002cb, 0x8551: 0xe00002d3, 0x8552: 0xe00002b2, 0x8553: 0xe00002bb, + 0x8554: 0xe00003cd, 0x8555: 0xe00002c3, 0x8556: 0xe00003d1, 0x8557: 0xe00004ab, + 0x8558: 0xe0000579, 0x8559: 0xe00002c7, 0x855a: 0xe0000640, 0x855b: 0xe00002cf, + 0x855c: 0xe00004af, 0x855d: 0xe0000644, 0x855e: 0xe0000798, 0x855f: 0xf0001e1e, + 0x8560: 0x002d9a8a, 0x8561: 0xf0001f0a, 0x8562: 0xf0000a0a, 0x8563: 0xf0001f0a, + 0x8564: 0x0030be8a, 0x8565: 0xf0001f0a, 0x8566: 0xf0000a0a, 0x8567: 0xe00010bb, + 0x8568: 0xe00027f4, 0x8569: 0x0030f68a, 0x856a: 0xe0002883, 0x856b: 0xe000288a, + 0x856c: 0x002e228a, 0x856d: 0x002c3a8a, 0x856e: 0x002c628a, 0x856f: 0x002e828a, + 0x8570: 0x002d9a84, 0x8571: 0xf0001f04, 0x8572: 0xf0000404, 0x8573: 0xf0001f04, + 0x8574: 0x0030be84, 0x8575: 0xf0001f04, 0x8576: 0xf0000404, 0x8577: 0xe00010b6, + 0x8578: 0xe00027f1, 0x8579: 0x0030f684, 0x857a: 0xe0002880, 0x857b: 0xe0002886, + 0x857c: 0x002e2284, 0x857d: 0x002c3a84, 0x857e: 0x002c6284, 0x857f: 0x002e8284, + // Block 0x216, offset 0x8580 + 0x8580: 0xe0000024, 0x8581: 0xe0000029, 0x8582: 0xe000002e, 0x8583: 0xe0000033, + 0x8584: 0xe0000038, 0x8585: 0xe000003d, 0x8586: 0xe0000042, 0x8587: 0xe0000047, + 0x8588: 0xf0001f04, 0x8589: 0xf0001f04, 0x858a: 0xf0001f04, 0x858b: 0xf0001f04, + 0x858c: 0xf0001f04, 0x858d: 0xf0001f04, 0x858e: 0xf0001f04, 0x858f: 0xf0001f04, + 0x8590: 0xf0001f04, 0x8591: 0xf0000404, 0x8592: 0xf0000404, 0x8593: 0xf0000404, + 0x8594: 0xf0000404, 0x8595: 0xf0000404, 0x8596: 0xf0000404, 0x8597: 0xf0000404, + 0x8598: 0xf0000404, 0x8599: 0xf0000404, 0x859a: 0xf0000404, 0x859b: 0xf0000404, + 0x859c: 0xf0000404, 0x859d: 0xf0000404, 0x859e: 0xf0000404, 0x859f: 0xf0000404, + 0x85a0: 0xf0000404, 0x85a1: 0xf0000404, 0x85a2: 0xf0000404, 0x85a3: 0xf0000404, + 0x85a4: 0xf0000404, 0x85a5: 0xf0000404, 0x85a6: 0xf0000404, 0x85a7: 0xf0000404, + 0x85a8: 0xf0000404, 0x85a9: 0xf0000404, 0x85aa: 0xf0000404, 0x85ab: 0xf0000404, + 0x85ac: 0xf0000404, 0x85ad: 0xf0000404, 0x85ae: 0xf0000404, 0x85af: 0xf0000404, + 0x85b0: 0xf0000404, 0x85b1: 0xf0000404, 0x85b2: 0xf0000404, 0x85b3: 0xe00024e7, + 0x85b4: 0xf0000404, 0x85b5: 0xf0000404, 0x85b6: 0x002bde8c, 0x85b7: 0x002c0a8c, + 0x85b8: 0x002c3a8c, 0x85b9: 0x002c628c, 0x85ba: 0x002c988c, 0x85bb: 0x002d088c, + 0x85bc: 0x002d228c, 0x85bd: 0x002d688c, 0x85be: 0x002d9a8c, 0x85bf: 0x002dcc8c, + // Block 0x217, offset 0x85c0 + 0x85c0: 0xf0001d1c, 0x85c1: 0xf0001d1d, 0x85c2: 0xe00009b7, 0x85c3: 0xf0001c1d, + 0x85c4: 0xf0001c1c, 0x85c5: 0xf0001c1c, 0x85c6: 0xe0000a66, 0x85c7: 0xe0000a7a, + 0x85c8: 0xf0001d1c, 0x85c9: 0xf0001c1d, 0x85ca: 0xf0001c1c, 0x85cb: 0xf0001d1d, + 0x85cc: 0xf0001c1c, 0x85cd: 0xf0001d1d, 0x85ce: 0xf0001d1d, 0x85cf: 0xf0001c1c, + 0x85d0: 0xf0001c1c, 0x85d1: 0xf0001c1c, 0x85d2: 0xe0000d0d, 0x85d3: 0xe0002818, + 0x85d4: 0xf0001c1c, 0x85d5: 0xe0000d3a, 0x85d6: 0xe0000d46, 0x85d7: 0xf0001d1d, + 0x85d8: 0xe0000eb0, 0x85d9: 0xe0000eb8, 0x85da: 0xf0001d1d, 0x85db: 0xf0001c1c, + 0x85dc: 0xf0001c1d, 0x85dd: 0xf0001c1d, 0x85de: 0xe00010b2, 0x85df: 0xe00009c8, + 0x85e0: 0xf0001f04, 0x85e1: 0xf0001f04, 0x85e2: 0xf0001f04, 0x85e3: 0xf0001f04, + 0x85e4: 0xf0001f04, 0x85e5: 0xf0001f04, 0x85e6: 0xf0001f04, 0x85e7: 0xf0001f04, + 0x85e8: 0xf0001f04, 0x85e9: 0xf0000404, 0x85ea: 0xf0000404, 0x85eb: 0xf0000404, + 0x85ec: 0xf0000404, 0x85ed: 0xf0000404, 0x85ee: 0xf0000404, 0x85ef: 0xf0000404, + 0x85f0: 0xf0000404, 0x85f1: 0xf0000404, 0x85f2: 0xf0000404, 0x85f3: 0xf0000404, + 0x85f4: 0xf0000404, 0x85f5: 0xf0000404, 0x85f6: 0xf0000404, 0x85f7: 0xf0000404, + 0x85f8: 0xf0000404, 0x85f9: 0xf0000404, 0x85fa: 0xf0000404, 0x85fb: 0xf0000404, + 0x85fc: 0xf0000404, 0x85fd: 0xf0000404, 0x85fe: 0xf0000404, 0x85ff: 0xe0000bdf, + // Block 0x218, offset 0x8600 + 0x8600: 0xf0001f04, 0x8601: 0xf0001f04, 0x8602: 0xf0001f04, 0x8603: 0xf0001f04, + 0x8604: 0xf0001f04, 0x8605: 0xf0001f04, 0x8606: 0xf0001f04, 0x8607: 0xf0001f04, + 0x8608: 0xf0001f04, 0x8609: 0xf0001f04, 0x860a: 0xf0001f04, + 0x8610: 0xf0000a04, 0x8611: 0xf0000a04, 0x8612: 0xf0000a04, 0x8613: 0xf0000a04, + 0x8614: 0xf0000a04, 0x8615: 0xf0000a04, 0x8616: 0xf0000a04, 0x8617: 0xf0000a04, + 0x8618: 0xf0000a04, 0x8619: 0xf0000a04, 0x861a: 0xf0000a04, 0x861b: 0xf0000a04, + 0x861c: 0xf0000a04, 0x861d: 0xf0000a04, 0x861e: 0xf0000a04, 0x861f: 0xf0000a04, + 0x8620: 0xf0000a04, 0x8621: 0xf0000a04, 0x8622: 0xf0000a04, 0x8623: 0xf0000a04, + 0x8624: 0xf0000a04, 0x8625: 0xf0000a04, 0x8626: 0xf0000a04, 0x8627: 0xe00024eb, + 0x8628: 0xf0000a04, 0x8629: 0xf0000a04, 0x862a: 0xf0000a04, 0x862b: 0x002c3a8c, + 0x862c: 0x002f7a8c, 0x862d: 0xf0000c0c, 0x862e: 0xf0000c0c, + 0x8630: 0x002bde9d, 0x8631: 0x002c0a9d, 0x8632: 0x002c3a9d, 0x8633: 0x002c629d, + 0x8634: 0x002c989d, 0x8635: 0x002d089d, 0x8636: 0x002d229d, 0x8637: 0x002d689d, + 0x8638: 0x002d9a9d, 0x8639: 0x002dcc9d, 0x863a: 0x002dfe9d, 0x863b: 0x002e229d, + 0x863c: 0x002e829d, 0x863d: 0x002e9e9d, 0x863e: 0x002ee29d, 0x863f: 0x002f2c9d, + // Block 0x219, offset 0x8640 + 0x8640: 0xa0000000, 0x8641: 0xa0000000, 0x8642: 0xa0000000, 0x8643: 0xa0000000, + 0x8644: 0xa0000000, 0x8645: 0xa0000000, 0x8646: 0xa0000000, 0x8647: 0xa0000000, + 0x8648: 0xa0000000, 0x8649: 0x40020020, 0x864a: 0x40020220, 0x864b: 0x40020420, + 0x864c: 0x40020620, 0x864d: 0x40020820, 0x864e: 0xa0000000, 0x864f: 0xa0000000, + 0x8650: 0xa0000000, 0x8651: 0xa0000000, 0x8652: 0xa0000000, 0x8653: 0xa0000000, + 0x8654: 0xa0000000, 0x8655: 0xa0000000, 0x8656: 0xa0000000, 0x8657: 0xa0000000, + 0x8658: 0xa0000000, 0x8659: 0xa0000000, 0x865a: 0xa0000000, 0x865b: 0xa0000000, + 0x865c: 0xa0000000, 0x865d: 0xa0000000, 0x865e: 0xa0000000, 0x865f: 0xa0000000, + 0x8660: 0x402be020, 0x8661: 0x402be220, 0x8662: 0x402be420, 0x8663: 0x402be620, + 0x8664: 0x402be820, 0x8665: 0x402bea20, 0x8666: 0x402bec20, 0x8667: 0x402bee20, + 0x8668: 0x402bf020, 0x8669: 0x402bf220, 0x866a: 0x402bf420, 0x866b: 0x402bf620, + 0x866c: 0x402bf820, 0x866d: 0x402bfa20, 0x866e: 0x402bfc20, 0x866f: 0x402bfe20, + 0x8670: 0x402c0020, 0x8671: 0x402c0220, 0x8672: 0x402c0420, 0x8673: 0x402c0620, + 0x8674: 0x402c0820, 0x8675: 0x402c0a20, 0x8676: 0x402c0c20, 0x8677: 0x402c0e20, + 0x8678: 0x402c1020, 0x8679: 0x402c1220, 0x867a: 0x402c1420, 0x867b: 0x402c1620, + 0x867c: 0x402c1820, 0x867d: 0x402c1a20, 0x867e: 0x402c1c20, 0x867f: 0x402c1e20, + // Block 0x21a, offset 0x8680 + 0x8680: 0x402c2020, 0x8681: 0x402c2220, 0x8682: 0x402c2420, 0x8683: 0x402c2620, + 0x8684: 0x402c2820, 0x8685: 0x402c2a20, 0x8686: 0x402c2c20, 0x8687: 0x402c2e20, + 0x8688: 0x402c3020, 0x8689: 0x402c3220, 0x868a: 0x402c3420, 0x868b: 0x402c3620, + 0x868c: 0xc53b0002, 0x868d: 0x402c3a20, 0x868e: 0x402c3c20, 0x868f: 0x402c3e20, + 0x8690: 0x402c4020, 0x8691: 0x402c4220, 0x8692: 0x402c4420, 0x8693: 0x402c4620, + 0x8694: 0x402c4820, 0x8695: 0x402c4a20, 0x8696: 0x402c4c20, 0x8697: 0x402c4e20, + 0x8698: 0x402c5020, 0x8699: 0x402c5220, 0x869a: 0x402c5420, 0x869b: 0x402c5620, + 0x869c: 0x402c5820, 0x869d: 0x402c5a20, 0x869e: 0x402c5c20, 0x869f: 0x402c5e20, + 0x86a0: 0x402c6020, 0x86a1: 0x402c6220, 0x86a2: 0x402c6420, 0x86a3: 0x402c6620, + 0x86a4: 0x402c6820, 0x86a5: 0x402c6a20, 0x86a6: 0x402c6c20, 0x86a7: 0x402c6e20, + 0x86a8: 0x402c7020, 0x86a9: 0x402c7220, 0x86aa: 0x402c7420, 0x86ab: 0x402c7620, + 0x86ac: 0xc5380002, 0x86ad: 0x402c7a20, 0x86ae: 0x402c7c20, 0x86af: 0x402c7e20, + 0x86b0: 0x402c8020, 0x86b1: 0x402c8220, 0x86b2: 0x402c8420, 0x86b3: 0x402c8620, + 0x86b4: 0x402c8820, 0x86b5: 0x402c8a20, 0x86b6: 0x402c8c20, 0x86b7: 0x402c8e20, + 0x86b8: 0x402c9020, 0x86b9: 0x402c9220, 0x86ba: 0x402c9420, 0x86bb: 0x402c9620, + 0x86bc: 0x402c9820, 0x86bd: 0x402c9a20, 0x86be: 0x402c9c20, 0x86bf: 0x402c9e20, + // Block 0x21b, offset 0x86c0 + 0x86c0: 0xe0002f1f, 0x86c1: 0xe0002f1c, 0x86c2: 0xe0002f35, 0x86c3: 0xe0002f59, + 0x86c4: 0xe0002f52, 0x86c5: 0xe0002f4b, 0x86c6: 0xe00009dd, 0x86c7: 0xe0002f95, + 0x86c8: 0xe0002fb1, 0x86c9: 0xe0002fae, 0x86ca: 0xe0002fb7, 0x86cb: 0xe0002fcd, + 0x86cc: 0xe0003031, 0x86cd: 0xe000302e, 0x86ce: 0xe0003037, 0x86cf: 0xe000303d, + 0x86d0: 0xe0000ab3, 0x86d1: 0xe00030a5, 0x86d2: 0xe00030ba, 0x86d3: 0xe00030b7, + 0x86d4: 0xe00030c0, 0x86d5: 0xe00030e0, 0x86d6: 0xe00030d6, 0x86d7: 0x40093e20, + 0x86d8: 0xe0000e12, 0x86d9: 0xe000318a, 0x86da: 0xe0003187, 0x86db: 0xe0003190, + 0x86dc: 0xe0003199, 0x86dd: 0xe000320a, 0x86de: 0x00318888, 0x86df: 0xe0000f7b, + 0x86e0: 0xe000323a, 0x86e1: 0xe0003237, 0x86e2: 0xe0003250, 0x86e3: 0xe0003274, + 0x86e4: 0xe000326d, 0x86e5: 0xe0003266, 0x86e6: 0xe00009d5, 0x86e7: 0xe00032c8, + 0x86e8: 0xe00032e4, 0x86e9: 0xe00032e1, 0x86ea: 0xe00032ea, 0x86eb: 0xe0003300, + 0x86ec: 0xe0003367, 0x86ed: 0xe0003364, 0x86ee: 0xe000336d, 0x86ef: 0xe0003373, + 0x86f0: 0xe0000aad, 0x86f1: 0xe00033cf, 0x86f2: 0xe00033e4, 0x86f3: 0xe00033e1, + 0x86f4: 0xe00033ea, 0x86f5: 0xe000340a, 0x86f6: 0xe0003400, 0x86f7: 0x40093c20, + 0x86f8: 0xe0000e0f, 0x86f9: 0xe00034b7, 0x86fa: 0xe00034b4, 0x86fb: 0xe00034bd, + 0x86fc: 0xe00034c6, 0x86fd: 0xe000353a, 0x86fe: 0x40318820, 0x86ff: 0xe0003546, + // Block 0x21c, offset 0x8700 + 0x8700: 0xe0002f66, 0x8701: 0xe0003281, 0x8702: 0xe0002f22, 0x8703: 0xe000323d, + 0x8704: 0xe0002f63, 0x8705: 0xe000327e, 0x8706: 0xe0002f89, 0x8707: 0xe00032bc, + 0x8708: 0xe0002f8c, 0x8709: 0xe00032bf, 0x870a: 0xe0002f92, 0x870b: 0xe00032c5, + 0x870c: 0xe0002f8f, 0x870d: 0xe00032c2, 0x870e: 0xe0002f9c, 0x870f: 0xe00032cf, + 0x8710: 0xe0000aaa, 0x8711: 0xe0000aa7, 0x8712: 0xe0002fe0, 0x8713: 0xe0003313, + 0x8714: 0xe0002fb4, 0x8715: 0xe00032e7, 0x8716: 0xe0002fd3, 0x8717: 0xe0003306, + 0x8718: 0xe0002fdd, 0x8719: 0xe0003310, 0x871a: 0xe0002fca, 0x871b: 0xe00032fd, + 0x871c: 0xe000300a, 0x871d: 0xe000333d, 0x871e: 0xe0003007, 0x871f: 0xe000333a, + 0x8720: 0xe0003010, 0x8721: 0xe0003343, 0x8722: 0xe0003013, 0x8723: 0xe0003346, + 0x8724: 0xe0003019, 0x8725: 0xe000334c, 0x8726: 0xe0000c1b, 0x8727: 0xe0000c18, + 0x8728: 0xe0003044, 0x8729: 0xe000337a, 0x872a: 0xe000304d, 0x872b: 0xe0003380, + 0x872c: 0xe0003034, 0x872d: 0xe000336a, 0x872e: 0xe000304a, 0x872f: 0xe000337d, + 0x8730: 0xe0003047, 0x8731: 0x402da220, 0x8732: 0xe00027e2, 0x8733: 0xe00027df, + 0x8734: 0xe000305f, 0x8735: 0xe0003392, 0x8736: 0xe0003068, 0x8737: 0xe000339e, + 0x8738: 0x402f7220, 0x8739: 0xe0003071, 0x873a: 0xe00033a7, 0x873b: 0xe0003077, + 0x873c: 0xe00033ad, 0x873d: 0xe0003074, 0x873e: 0xe00033aa, 0x873f: 0xe0000d04, + // Block 0x21d, offset 0x8740 + 0x8740: 0xe0000cfe, 0x8741: 0xe0000cf8, 0x8742: 0xe0000cf5, 0x8743: 0xe000309c, + 0x8744: 0xe00033c6, 0x8745: 0xe00030ab, 0x8746: 0xe00033d5, 0x8747: 0xe00030a2, + 0x8748: 0xe00033cc, 0x8749: 0xe00035eb, 0x874a: 0x002eda88, 0x874b: 0x402eda20, + 0x874c: 0xe00030fd, 0x874d: 0xe0003427, 0x874e: 0xe00030bd, 0x874f: 0xe00033e7, + 0x8750: 0xe00030dd, 0x8751: 0xe0003407, 0x8752: 0xe0000e93, 0x8753: 0xe0000e8f, + 0x8754: 0xe0003135, 0x8755: 0xe000345f, 0x8756: 0xe000313e, 0x8757: 0xe0003468, + 0x8758: 0xe0003138, 0x8759: 0xe0003462, 0x875a: 0xe0003151, 0x875b: 0xe000347b, + 0x875c: 0xe0003158, 0x875d: 0xe0003482, 0x875e: 0xe0003165, 0x875f: 0xe000348f, + 0x8760: 0xe000315b, 0x8761: 0xe0003485, 0x8762: 0xe0003178, 0x8763: 0xe00034a5, + 0x8764: 0xe0003172, 0x8765: 0xe000349c, 0x8766: 0x00303688, 0x8767: 0x40303620, + 0x8768: 0xe00031af, 0x8769: 0xe00034dc, 0x876a: 0xe00031b9, 0x876b: 0xe00034e6, + 0x876c: 0xe000318d, 0x876d: 0xe00034ba, 0x876e: 0xe0003196, 0x876f: 0xe00034c3, + 0x8770: 0xe00031ac, 0x8771: 0xe00034d9, 0x8772: 0xe00031b6, 0x8773: 0xe00034e3, + 0x8774: 0xe00031f8, 0x8775: 0xe0003525, 0x8776: 0xe0003210, 0x8777: 0xe0003540, + 0x8778: 0xe0003213, 0x8779: 0xe0003225, 0x877a: 0xe0003558, 0x877b: 0xe000322e, + 0x877c: 0xe0003561, 0x877d: 0xe000322b, 0x877e: 0xe000355e, 0x877f: 0xe0000f64, + // Block 0x21e, offset 0x8780 + 0x8780: 0x402c1a20, 0x8781: 0x002c2a88, 0x8782: 0x002c3288, 0x8783: 0x402c3220, + 0x8784: 0x0031c488, 0x8785: 0x4031c420, 0x8786: 0x002efa88, 0x8787: 0x002c4e88, + 0x8788: 0x402c4e20, 0x8789: 0x002c7288, 0x878a: 0x002c7a88, 0x878b: 0x002c8488, + 0x878c: 0x402c8420, 0x878d: 0xe000115c, 0x878e: 0x002cae88, 0x878f: 0x002cb888, + 0x8790: 0x002cc288, 0x8791: 0x002d1688, 0x8792: 0x402d1620, 0x8793: 0x002d4488, + 0x8794: 0x002d5888, 0x8795: 0x402d7820, 0x8796: 0x002dc288, 0x8797: 0x002db688, + 0x8798: 0x002e0a88, 0x8799: 0x402e0a20, 0x879a: 0x402e3820, 0x879b: 0x402e7220, + 0x879c: 0x0030a088, 0x879d: 0x002eb488, 0x879e: 0x402ebc20, 0x879f: 0x002f1088, + 0x87a0: 0xe0003111, 0x87a1: 0xe000343b, 0x87a2: 0x002d6088, 0x87a3: 0x402d6020, + 0x87a4: 0x002f3e88, 0x87a5: 0x402f3e20, 0x87a6: 0x002f8288, 0x87a7: 0x0031b488, + 0x87a8: 0x4031b420, 0x87a9: 0x00300888, 0x87aa: 0x40301220, 0x87ab: 0x40304220, + 0x87ac: 0x00304a88, 0x87ad: 0x40304a20, 0x87ae: 0x00305288, 0x87af: 0xe00031c9, + 0x87b0: 0xe00034f6, 0x87b1: 0x0030b488, 0x87b2: 0x0030cc88, 0x87b3: 0x00311888, + 0x87b4: 0x40311820, 0x87b5: 0x00313488, 0x87b6: 0x40313420, 0x87b7: 0x00316488, + 0x87b8: 0x00316e88, 0x87b9: 0x40316e20, 0x87ba: 0x40317820, 0x87bb: 0x4031a620, + 0x87bc: 0x0031bc88, 0x87bd: 0x4031bc20, 0x87be: 0xe0000fc9, 0x87bf: 0x40319420, + // Block 0x21f, offset 0x87c0 + 0x87c0: 0x40321220, 0x87c1: 0x40321a20, 0x87c2: 0x40322220, 0x87c3: 0x40322a20, + 0x87c4: 0xe0000ad5, 0x87c5: 0xe0000ad1, 0x87c6: 0xe0000acd, 0x87c7: 0xe000357f, + 0x87c8: 0xe000357c, 0x87c9: 0xe0003579, 0x87ca: 0xe00035c4, 0x87cb: 0xe00035c1, + 0x87cc: 0xe00035be, 0x87cd: 0xe0002f48, 0x87ce: 0xe0003263, 0x87cf: 0xe000303a, + 0x87d0: 0xe0003370, 0x87d1: 0xe00030d3, 0x87d2: 0xe00033fd, 0x87d3: 0xe0003193, + 0x87d4: 0xe00034c0, 0x87d5: 0xe00031a8, 0x87d6: 0xe00034d5, 0x87d7: 0xe000319c, + 0x87d8: 0xe00034c9, 0x87d9: 0xe00031a4, 0x87da: 0xe00034d1, 0x87db: 0xe00031a0, + 0x87dc: 0xe00034cd, 0x87dd: 0x402cae20, 0x87de: 0xe0002f55, 0x87df: 0xe0003270, + 0x87e0: 0xe0002f5f, 0x87e1: 0xe000327a, 0x87e2: 0xe00009f4, 0x87e3: 0xe00009ef, + 0x87e4: 0x002d3a88, 0x87e5: 0x402d3a20, 0x87e6: 0xe000300d, 0x87e7: 0xe0003340, + 0x87e8: 0xe0003065, 0x87e9: 0xe000339b, 0x87ea: 0xe00030f6, 0x87eb: 0xe0003420, + 0x87ec: 0xe00030f9, 0x87ed: 0xe0003423, 0x87ee: 0xe0001162, 0x87ef: 0xe000115f, + 0x87f0: 0xe0003395, 0x87f1: 0xe00032b0, 0x87f2: 0xe00032ad, 0x87f3: 0xe00032aa, + 0x87f4: 0xe0003004, 0x87f5: 0xe0003337, 0x87f6: 0x002d7888, 0x87f7: 0x00319488, + 0x87f8: 0xe000309f, 0x87f9: 0xe00033c9, 0x87fa: 0xe0002f4e, 0x87fb: 0xe0003269, + 0x87fc: 0xe00009ea, 0x87fd: 0xe00009e5, 0x87fe: 0xe0000e19, 0x87ff: 0xe0000e15, + // Block 0x220, offset 0x8800 + 0x8800: 0xe0002f6c, 0x8801: 0xe0003287, 0x8802: 0xe0002f6f, 0x8803: 0xe000328a, + 0x8804: 0xe0002fee, 0x8805: 0xe0003321, 0x8806: 0xe0002ff1, 0x8807: 0xe0003324, + 0x8808: 0xe0003053, 0x8809: 0xe0003386, 0x880a: 0xe0003056, 0x880b: 0xe0003389, + 0x880c: 0xe000310b, 0x880d: 0xe0003435, 0x880e: 0xe000310e, 0x880f: 0xe0003438, + 0x8810: 0xe0003141, 0x8811: 0xe000346b, 0x8812: 0xe0003144, 0x8813: 0xe000346e, + 0x8814: 0xe00031c3, 0x8815: 0xe00034f0, 0x8816: 0xe00031c6, 0x8817: 0xe00034f3, + 0x8818: 0xe000316f, 0x8819: 0xe0003499, 0x881a: 0xe000317e, 0x881b: 0xe00034ab, + 0x881c: 0x00312288, 0x881d: 0x40312220, 0x881e: 0xe000301c, 0x881f: 0xe000334f, + 0x8820: 0x002ebc88, 0x8821: 0x402c8c20, 0x8822: 0x002f2288, 0x8823: 0x402f2220, + 0x8824: 0x00314088, 0x8825: 0x40314020, 0x8826: 0xe0002f5c, 0x8827: 0xe0003277, + 0x8828: 0xe0002fd6, 0x8829: 0xe0003309, 0x882a: 0xe00030d9, 0x882b: 0xe0003403, + 0x882c: 0xe00030eb, 0x882d: 0xe0003415, 0x882e: 0xe00030ef, 0x882f: 0xe0003419, + 0x8830: 0xe00030f2, 0x8831: 0xe000341c, 0x8832: 0xe000321c, 0x8833: 0xe000354f, + 0x8834: 0x402e5e20, 0x8835: 0x402ed020, 0x8836: 0x40305a20, 0x8837: 0x402dd420, + 0x8838: 0xe0000abf, 0x8839: 0xe0000ec4, 0x883a: 0x002be888, 0x883b: 0x002c4488, + 0x883c: 0x402c4420, 0x883d: 0x002e3888, 0x883e: 0x00303e88, 0x883f: 0x402ffc20, + // Block 0x221, offset 0x8840 + 0x8840: 0xae603502, 0x8841: 0xae603202, 0x8842: 0xae604502, 0x8843: 0xae602202, + 0x8844: 0xe0000000, 0x8845: 0xaf007f02, 0x8846: 0xae605f02, 0x8847: 0xadc06002, + 0x8848: 0xadc06002, 0x8849: 0xadc06002, 0x884a: 0xae605f02, 0x884b: 0xae605f02, + 0x884c: 0xae605f02, 0x884d: 0xadc06002, 0x884e: 0xadc06002, 0x884f: 0xa0000000, + 0x8850: 0xae605f02, 0x8851: 0xae605f02, 0x8852: 0xae605f02, 0x8853: 0xadc06002, + 0x8854: 0xadc06002, 0x8855: 0xadc06002, 0x8856: 0xadc06002, 0x8857: 0xae605f02, + 0x8858: 0xae808002, 0x8859: 0xadc06002, 0x885a: 0xadc06002, 0x885b: 0xae605f02, + 0x885c: 0xae906002, 0x885d: 0xaea05f02, 0x885e: 0xaea05f02, 0x885f: 0xae906002, + 0x8860: 0xaea08102, 0x8861: 0xaea08202, 0x8862: 0xae906002, 0x8863: 0x84e615ef, + 0x8864: 0x84e6164c, 0x8865: 0x84e616cd, 0x8866: 0x84e61771, 0x8867: 0x84e61836, + 0x8868: 0x84e6161d, 0x8869: 0x84e61631, 0x886a: 0x84e616b4, 0x886b: 0x84e61741, + 0x886c: 0x84e617bd, 0x886d: 0x84e61816, 0x886e: 0x84e6185f, 0x886f: 0x84e6187b, + 0x8870: 0x00326688, 0x8871: 0x40326620, 0x8872: 0x0032a688, 0x8873: 0x4032a620, + 0x8874: 0x40064020, 0x8875: 0x40064220, 0x8876: 0x00326088, 0x8877: 0x40326020, + 0x887a: 0x00326c84, 0x887b: 0x40329220, + 0x887c: 0x40329020, 0x887d: 0x40329420, 0x887e: 0x402c1620, + // Block 0x222, offset 0x8880 + 0x8880: 0xe0002f7d, 0x8881: 0xe0003298, 0x8882: 0xe0002f80, 0x8883: 0xe00032b3, + 0x8884: 0xe0002f83, 0x8885: 0xe00032b6, 0x8886: 0xe0002f86, 0x8887: 0xe00032b9, + 0x8888: 0xe0002f98, 0x8889: 0xe00032cb, 0x888a: 0xe0002f9f, 0x888b: 0xe00032d2, + 0x888c: 0xe0002fa5, 0x888d: 0xe00032d8, 0x888e: 0xe0002fab, 0x888f: 0xe00032de, + 0x8890: 0xe0002fa2, 0x8891: 0xe00032d5, 0x8892: 0xe0002fa8, 0x8893: 0xe00032db, + 0x8894: 0xe0002fe7, 0x8895: 0xe000331a, 0x8896: 0xe0002fe3, 0x8897: 0xe0003316, + 0x8898: 0xe0002ffb, 0x8899: 0xe000332e, 0x889a: 0xe0002ffe, 0x889b: 0xe0003331, + 0x889c: 0xe0002fd9, 0x889d: 0xe000330c, 0x889e: 0xe0003001, 0x889f: 0xe0003334, + 0x88a0: 0xe0003016, 0x88a1: 0xe0003349, 0x88a2: 0xe0003022, 0x88a3: 0xe0003355, + 0x88a4: 0xe0003028, 0x88a5: 0xe000335b, 0x88a6: 0xe000301f, 0x88a7: 0xe0003352, + 0x88a8: 0xe0003025, 0x88a9: 0xe0003358, 0x88aa: 0xe000302b, 0x88ab: 0xe000335e, + 0x88ac: 0xe000305c, 0x88ad: 0xe000338f, 0x88ae: 0xe0003040, 0x88af: 0xe0003376, + 0x88b0: 0xe0003062, 0x88b1: 0xe0003398, 0x88b2: 0xe000306b, 0x88b3: 0xe00033a1, + 0x88b4: 0xe000306e, 0x88b5: 0xe00033a4, 0x88b6: 0xe000307a, 0x88b7: 0xe00033b0, + 0x88b8: 0xe000307d, 0x88b9: 0xe00033b3, 0x88ba: 0xe0003084, 0x88bb: 0xe00033ba, + 0x88bc: 0xe0003081, 0x88bd: 0xe00033b7, 0x88be: 0xe0003087, 0x88bf: 0xe00033bd, + // Block 0x223, offset 0x88c0 + 0x88c0: 0xe000308a, 0x88c1: 0xe00033c0, 0x88c2: 0xe000308d, 0x88c3: 0xe00033c3, + 0x88c4: 0xe00030a8, 0x88c5: 0xe00033d2, 0x88c6: 0xe00030ae, 0x88c7: 0xe00033d8, + 0x88c8: 0xe00030b4, 0x88c9: 0xe00033de, 0x88ca: 0xe00030b1, 0x88cb: 0xe00033db, + 0x88cc: 0xe00030e3, 0x88cd: 0xe000340d, 0x88ce: 0xe00030e7, 0x88cf: 0xe0003411, + 0x88d0: 0xe0003104, 0x88d1: 0xe000342e, 0x88d2: 0xe0003100, 0x88d3: 0xe000342a, + 0x88d4: 0xe000312f, 0x88d5: 0xe0003459, 0x88d6: 0xe0003132, 0x88d7: 0xe000345c, + 0x88d8: 0xe000313b, 0x88d9: 0xe0003465, 0x88da: 0xe0003147, 0x88db: 0xe0003471, + 0x88dc: 0xe000314a, 0x88dd: 0xe0003474, 0x88de: 0xe000314e, 0x88df: 0xe0003478, + 0x88e0: 0xe0003162, 0x88e1: 0xe000348c, 0x88e2: 0xe0003168, 0x88e3: 0xe0003492, + 0x88e4: 0xe0003154, 0x88e5: 0xe000347e, 0x88e6: 0xe000315e, 0x88e7: 0xe0003488, + 0x88e8: 0xe000316b, 0x88e9: 0xe0003495, 0x88ea: 0xe0003175, 0x88eb: 0xe00034a2, + 0x88ec: 0xe000317b, 0x88ed: 0xe00034a8, 0x88ee: 0xe0003184, 0x88ef: 0xe00034b1, + 0x88f0: 0xe0003181, 0x88f1: 0xe00034ae, 0x88f2: 0xe00031e3, 0x88f3: 0xe0003510, + 0x88f4: 0xe00031e9, 0x88f5: 0xe0003516, 0x88f6: 0xe00031e6, 0x88f7: 0xe0003513, + 0x88f8: 0xe00031b2, 0x88f9: 0xe00034df, 0x88fa: 0xe00031bc, 0x88fb: 0xe00034e9, + 0x88fc: 0xe00031ec, 0x88fd: 0xe0003519, 0x88fe: 0xe00031ef, 0x88ff: 0xe000351c, + // Block 0x224, offset 0x8900 + 0x8900: 0xe00031f5, 0x8901: 0xe0003522, 0x8902: 0xe00031f2, 0x8903: 0xe000351f, + 0x8904: 0xe00031fb, 0x8905: 0xe000352b, 0x8906: 0xe00031fe, 0x8907: 0xe000352e, + 0x8908: 0xe0003201, 0x8909: 0xe0003531, 0x890a: 0xe0003207, 0x890b: 0xe0003537, + 0x890c: 0xe0003204, 0x890d: 0xe0003534, 0x890e: 0xe0003219, 0x890f: 0xe000354c, + 0x8910: 0xe0003228, 0x8911: 0xe000355b, 0x8912: 0xe0003231, 0x8913: 0xe0003564, + 0x8914: 0xe0003234, 0x8915: 0xe0003567, 0x8916: 0xe0003361, 0x8917: 0xe000349f, + 0x8918: 0xe0003528, 0x8919: 0xe0003543, 0x891a: 0xe0002f10, 0x891b: 0xe0000f70, + 0x891c: 0x40300420, 0x891d: 0x40300620, 0x891e: 0xe0000f7f, 0x891f: 0x402c9620, + 0x8920: 0xe0002f72, 0x8921: 0xe000328d, 0x8922: 0xe0002f69, 0x8923: 0xe0003284, + 0x8924: 0xe0002f38, 0x8925: 0xe0003253, 0x8926: 0xe0002f3c, 0x8927: 0xe0003257, + 0x8928: 0xe0002f44, 0x8929: 0xe000325f, 0x892a: 0xe0002f40, 0x892b: 0xe000325b, + 0x892c: 0xe0002f79, 0x892d: 0xe0003294, 0x892e: 0xe0002f25, 0x892f: 0xe0003240, + 0x8930: 0xe0002f29, 0x8931: 0xe0003244, 0x8932: 0xe0002f31, 0x8933: 0xe000324c, + 0x8934: 0xe0002f2d, 0x8935: 0xe0003248, 0x8936: 0xe0002f75, 0x8937: 0xe0003290, + 0x8938: 0xe0002ff4, 0x8939: 0xe0003327, 0x893a: 0xe0002feb, 0x893b: 0xe000331e, + 0x893c: 0xe0002fd0, 0x893d: 0xe0003303, 0x893e: 0xe0002fba, 0x893f: 0xe00032ed, + // Block 0x225, offset 0x8940 + 0x8940: 0xe0002fbe, 0x8941: 0xe00032f1, 0x8942: 0xe0002fc6, 0x8943: 0xe00032f9, + 0x8944: 0xe0002fc2, 0x8945: 0xe00032f5, 0x8946: 0xe0002ff7, 0x8947: 0xe000332a, + 0x8948: 0xe0003050, 0x8949: 0xe0003383, 0x894a: 0xe0003059, 0x894b: 0xe000338c, + 0x894c: 0xe0003128, 0x894d: 0xe0003452, 0x894e: 0xe0003108, 0x894f: 0xe0003432, + 0x8950: 0xe00030c3, 0x8951: 0xe00033ed, 0x8952: 0xe00030c7, 0x8953: 0xe00033f1, + 0x8954: 0xe00030cf, 0x8955: 0xe00033f9, 0x8956: 0xe00030cb, 0x8957: 0xe00033f5, + 0x8958: 0xe000312b, 0x8959: 0xe0003455, 0x895a: 0xe0003114, 0x895b: 0xe000343e, + 0x895c: 0xe0003118, 0x895d: 0xe0003442, 0x895e: 0xe0003120, 0x895f: 0xe000344a, + 0x8960: 0xe000311c, 0x8961: 0xe0003446, 0x8962: 0xe0003124, 0x8963: 0xe000344e, + 0x8964: 0xe00031e0, 0x8965: 0xe000350d, 0x8966: 0xe00031c0, 0x8967: 0xe00034ed, + 0x8968: 0xe00031cc, 0x8969: 0xe00034f9, 0x896a: 0xe00031d0, 0x896b: 0xe00034fd, + 0x896c: 0xe00031d8, 0x896d: 0xe0003505, 0x896e: 0xe00031d4, 0x896f: 0xe0003501, + 0x8970: 0xe00031dc, 0x8971: 0xe0003509, 0x8972: 0xe000320d, 0x8973: 0xe000353d, + 0x8974: 0xe0003222, 0x8975: 0xe0003555, 0x8976: 0xe000321f, 0x8977: 0xe0003552, + 0x8978: 0xe0003216, 0x8979: 0xe0003549, 0x897a: 0xe0000d0a, 0x897b: 0xe0000d07, + 0x897c: 0x0030d888, 0x897d: 0x4030d820, 0x897e: 0x00312088, 0x897f: 0x40312020, + // Block 0x226, offset 0x8980 + 0x8980: 0x40063a20, 0x8981: 0xe00000b1, 0x8982: 0xe00012ea, 0x8983: 0xe00012f5, + 0x8984: 0xe00012e0, 0x8986: 0xe00012ee, 0x8987: 0xe00012f1, + 0x8988: 0xe000124f, 0x8989: 0xe0001249, 0x898a: 0xe00012e7, 0x898b: 0xe00012dd, + 0x898c: 0xe00012f8, 0x898d: 0xe00000b7, 0x898e: 0xe00000b4, 0x898f: 0xe00000ba, + 0x8990: 0xe0001343, 0x8991: 0xe000135e, 0x8992: 0xe0001356, 0x8993: 0xe0001352, + 0x8996: 0xe0001349, 0x8997: 0xe000135a, + 0x8998: 0xe0001346, 0x8999: 0xe0001361, 0x899a: 0xe0001340, 0x899b: 0xe000133a, + 0x899d: 0xe00000c0, 0x899e: 0xe00000bd, 0x899f: 0xe00000c3, + 0x89a0: 0xe00013e6, 0x89a1: 0xe0001401, 0x89a2: 0xe00013f9, 0x89a3: 0xe00013f5, + 0x89a4: 0xe00013a4, 0x89a5: 0xe00013a7, 0x89a6: 0xe00013ec, 0x89a7: 0xe00013fd, + 0x89a8: 0xe00013e9, 0x89a9: 0xe0001404, 0x89aa: 0xe00013e3, 0x89ab: 0xe00013dd, + 0x89ac: 0xe00013aa, 0x89ad: 0xe00000ae, 0x89ae: 0xe00000ab, 0x89af: 0x402c6020, + 0x89b2: 0xe000149f, 0x89b3: 0xe00014aa, + 0x89b4: 0xe0001495, 0x89b6: 0xe00014a3, 0x89b7: 0xe00014a6, + 0x89b8: 0xe00013a1, 0x89b9: 0xe000139b, 0x89ba: 0xe000149c, 0x89bb: 0xe0001492, + 0x89bc: 0xe00014ad, 0x89bd: 0x40062020, 0x89be: 0x40063820, + // Block 0x227, offset 0x89c0 + 0x89c0: 0x00021284, 0x89c1: 0x00021284, 0x89c2: 0x00021284, 0x89c3: 0x00021284, + 0x89c4: 0x00021284, 0x89c5: 0x00021284, 0x89c6: 0x00021284, 0x89c7: 0x0002129b, + 0x89c8: 0x00021284, 0x89c9: 0x00021284, 0x89ca: 0x00021284, 0x89cb: 0xa0000000, + 0x89cc: 0xa0000000, 0x89cd: 0xa0000000, 0x89ce: 0xa0000000, 0x89cf: 0xa0000000, + 0x89d0: 0x40022620, 0x89d1: 0x0002269b, 0x89d2: 0x40022820, 0x89d3: 0x40022a20, + 0x89d4: 0x40022c20, 0x89d5: 0x40022e20, 0x89d6: 0x4004c420, 0x89d7: 0x40021820, + 0x89d8: 0x4003d420, 0x89d9: 0x4003d620, 0x89da: 0x4003d820, 0x89db: 0x4003da20, + 0x89dc: 0x4003e220, 0x89dd: 0x4003e420, 0x89de: 0x4003e620, 0x89df: 0x4003e820, + 0x89e0: 0x4004f820, 0x89e1: 0x4004fa20, 0x89e2: 0x40050220, 0x89e3: 0x40050420, + 0x89e4: 0x0002e484, 0x89e5: 0xe0002bac, 0x89e6: 0xe0002bb2, 0x89e7: 0x40050620, + 0x89e8: 0x40020e20, 0x89e9: 0x40021020, 0x89ea: 0xa0000000, 0x89eb: 0xa0000000, + 0x89ec: 0xa0000000, 0x89ed: 0xa0000000, 0x89ee: 0xa0000000, 0x89ef: 0x0002129b, + 0x89f0: 0x4004f020, 0x89f1: 0x4004f420, 0x89f2: 0x40050e20, 0x89f3: 0xf0001f04, + 0x89f4: 0xf0000404, 0x89f5: 0x40051020, 0x89f6: 0xf0001f04, 0x89f7: 0xf0000404, + 0x89f8: 0x40051620, 0x89f9: 0x4003dc20, 0x89fa: 0x4003de20, 0x89fb: 0x40051820, + 0x89fc: 0xe0002ba0, 0x89fd: 0x4002e020, 0x89fe: 0x40021420, 0x89ff: 0x40051a20, + // Block 0x228, offset 0x8a00 + 0x8a00: 0x40051e20, 0x8a01: 0x40052220, 0x8a02: 0x40052420, 0x8a03: 0x40050820, + 0x8a04: 0x40095820, 0x8a05: 0x40040c20, 0x8a06: 0x40040e20, 0x8a07: 0xe0002ba9, + 0x8a08: 0xe0002ba6, 0x8a09: 0xe0002ba3, 0x8a0a: 0x4004e820, 0x8a0b: 0x4004d420, + 0x8a0c: 0x40050a20, 0x8a0d: 0x40050c20, 0x8a0e: 0x4004da20, 0x8a0f: 0x40026620, + 0x8a10: 0x40052020, 0x8a11: 0x4004dc20, 0x8a12: 0x40095020, 0x8a13: 0x40023420, + 0x8a14: 0x40051c20, 0x8a15: 0x40039c20, 0x8a16: 0x40039e20, 0x8a17: 0xe00000a6, + 0x8a18: 0x4003a020, 0x8a19: 0x4003a220, 0x8a1a: 0x4003a420, 0x8a1b: 0x4003a620, + 0x8a1c: 0x4003a820, 0x8a1d: 0x4003aa20, 0x8a1e: 0x4003ac20, 0x8a1f: 0x00021284, + 0x8a20: 0xa0000000, 0x8a21: 0xa0000000, 0x8a22: 0xa0000000, 0x8a23: 0xa0000000, + 0x8a24: 0xa0000000, + 0x8a2a: 0xa0000000, 0x8a2b: 0xa0000000, + 0x8a2c: 0xa0000000, 0x8a2d: 0xa0000000, 0x8a2e: 0xa0000000, 0x8a2f: 0xa0000000, + 0x8a30: 0x0029cc94, 0x8a31: 0x002d9a94, + 0x8a34: 0x0029d494, 0x8a35: 0x0029d694, 0x8a36: 0x0029d894, 0x8a37: 0x0029da94, + 0x8a38: 0x0029dc94, 0x8a39: 0x0029de94, 0x8a3a: 0x00093894, 0x8a3b: 0x00094e94, + 0x8a3c: 0x00094294, 0x8a3d: 0x0003f494, 0x8a3e: 0x0003f694, 0x8a3f: 0x002e9e94, + // Block 0x229, offset 0x8a40 + 0x8a40: 0xe00009bc, 0x8a41: 0xe00009c0, 0x8a42: 0x002c3a8b, 0x8a43: 0xe0002d26, + 0x8a44: 0x40081c20, 0x8a45: 0xe0000a5e, 0x8a46: 0xe0000a62, 0x8a47: 0x002cc28a, + 0x8a48: 0x40081e20, 0x8a49: 0xe0002d29, 0x8a4a: 0x002d2285, 0x8a4b: 0x002d688b, + 0x8a4c: 0x002d688b, 0x8a4d: 0x002d688b, 0x8a4e: 0x002d6885, 0x8a4f: 0xf0000202, + 0x8a50: 0x002d9a8b, 0x8a51: 0x002d9a8b, 0x8a52: 0x002e228b, 0x8a53: 0x002e2285, + 0x8a54: 0x40082020, 0x8a55: 0x002e9e8b, 0x8a56: 0xe000281e, 0x8a57: 0x40082220, + 0x8a58: 0x40082420, 0x8a59: 0x002f2c8b, 0x8a5a: 0x002f568b, 0x8a5b: 0x002f7a8b, + 0x8a5c: 0x002f7a8b, 0x8a5d: 0x002f7a8b, 0x8a5e: 0x40082620, 0x8a5f: 0x40082820, + 0x8a60: 0xe0002833, 0x8a61: 0xe0000fbd, 0x8a62: 0xe0002842, 0x8a63: 0x40082a20, + 0x8a64: 0x00312a8b, 0x8a65: 0x40082c20, 0x8a66: 0x0032a288, 0x8a67: 0x40082e20, + 0x8a68: 0x00312a8b, 0x8a69: 0x40083020, 0x8a6a: 0x402c3620, 0x8a6b: 0xe0002f4b, + 0x8a6c: 0x002c0a8b, 0x8a6d: 0x002c3a8b, 0x8a6e: 0x40083220, 0x8a6f: 0x002c9885, + 0x8a70: 0x002c988b, 0x8a71: 0x002d088b, 0x8a72: 0x002d1e88, 0x8a73: 0x002e828b, + 0x8a74: 0x002ee285, 0x8a75: 0x00389084, 0x8a76: 0x00389284, 0x8a77: 0x00389484, + 0x8a78: 0x00389684, 0x8a79: 0x002d9a85, 0x8a7a: 0x40083420, 0x8a7b: 0xe0000b95, + 0x8a7c: 0x00327e85, 0x8a7d: 0x00325685, 0x8a7e: 0x0032568b, 0x8a7f: 0x00327e8b, + // Block 0x22a, offset 0x8a80 + 0x8a80: 0x00093685, 0x8a81: 0x40083620, 0x8a82: 0x40083820, 0x8a83: 0x40083a20, + 0x8a84: 0x40083c20, 0x8a85: 0x002c628b, 0x8a86: 0x002c6285, 0x8a87: 0x002c9885, + 0x8a88: 0x002d9a85, 0x8a89: 0x002dcc85, 0x8a8a: 0x40083e20, 0x8a8b: 0x400a6e20, + 0x8a8c: 0x40084020, 0x8a8d: 0xe00009c4, 0x8a8e: 0x402d1e20, 0x8a8f: 0x40084220, + 0x8a90: 0xe00002cb, 0x8a91: 0xe00002d3, 0x8a92: 0xe00002b2, 0x8a93: 0xe00002bb, + 0x8a94: 0xe00003cd, 0x8a95: 0xe00002c3, 0x8a96: 0xe00003d1, 0x8a97: 0xe00004ab, + 0x8a98: 0xe0000579, 0x8a99: 0xe00002c7, 0x8a9a: 0xe0000640, 0x8a9b: 0xe00002cf, + 0x8a9c: 0xe00004af, 0x8a9d: 0xe0000644, 0x8a9e: 0xe0000798, 0x8a9f: 0xe0002d42, + 0x8aa0: 0x002d9a8a, 0x8aa1: 0xe00027d4, 0x8aa2: 0xe00027db, 0x8aa3: 0xe00027ee, + 0x8aa4: 0x0030be8a, 0x8aa5: 0xe0002848, 0x8aa6: 0xe000284f, 0x8aa7: 0xe00010bb, + 0x8aa8: 0xe00027f4, 0x8aa9: 0x0030f68a, 0x8aaa: 0xe0002883, 0x8aab: 0xe000288a, + 0x8aac: 0x002e228a, 0x8aad: 0x002c3a8a, 0x8aae: 0x002c628a, 0x8aaf: 0x002e828a, + 0x8ab0: 0x002d9a84, 0x8ab1: 0xe00027d1, 0x8ab2: 0xe00027d7, 0x8ab3: 0xe00027eb, + 0x8ab4: 0x0030be84, 0x8ab5: 0xe0002845, 0x8ab6: 0xe000284b, 0x8ab7: 0xe00010b6, + 0x8ab8: 0xe00027f1, 0x8ab9: 0x0030f684, 0x8aba: 0xe0002880, 0x8abb: 0xe0002886, + 0x8abc: 0x002e2284, 0x8abd: 0x002c3a84, 0x8abe: 0x002c6284, 0x8abf: 0x002e8284, + // Block 0x22b, offset 0x8ac0 + 0x8ac0: 0x4009a620, 0x8ac1: 0xe00000f5, 0x8ac2: 0x4009a820, 0x8ac3: 0x4009aa20, + 0x8ac4: 0xe00000f8, 0x8ac5: 0x4009ac20, 0x8ac6: 0x4009ae20, 0x8ac7: 0xe00000fb, + 0x8ac8: 0x4009b020, 0x8ac9: 0xe00000fe, 0x8aca: 0x4009b220, 0x8acb: 0x4009b420, + 0x8acc: 0x4009b620, 0x8acd: 0x4009b820, 0x8ace: 0x4009ba20, 0x8acf: 0x4009bc20, + 0x8ad0: 0x4009be20, 0x8ad1: 0x4009c020, 0x8ad2: 0x4009c220, 0x8ad3: 0x4009c420, + 0x8ad4: 0x4009c620, 0x8ad5: 0x4009c820, 0x8ad6: 0x4009ca20, 0x8ad7: 0x4009cc20, + 0x8ad8: 0x4009ce20, 0x8ad9: 0x4009d020, 0x8ada: 0x4009d220, 0x8adb: 0x4009d420, + 0x8adc: 0x4009d620, 0x8add: 0x4009d820, 0x8ade: 0x4009da20, 0x8adf: 0x4009dc20, + 0x8ae0: 0xe0002f16, 0x8ae1: 0x4009de20, 0x8ae2: 0xe0000104, 0x8ae3: 0x4009e020, + 0x8ae4: 0x4009e220, 0x8ae5: 0x4009e420, 0x8ae6: 0x4009e620, 0x8ae7: 0x4009e820, + 0x8ae8: 0x4009ea20, 0x8ae9: 0x4009ec20, 0x8aea: 0x4009ee20, 0x8aeb: 0x4009f020, + 0x8aec: 0x4009f220, 0x8aed: 0xe0000101, 0x8aee: 0xe0002f13, 0x8aef: 0xe0002f19, + 0x8af0: 0xe0000107, 0x8af1: 0xe000010a, 0x8af2: 0x4009f420, 0x8af3: 0x4009f620, + 0x8af4: 0xe000010d, 0x8af5: 0xe0000110, 0x8af6: 0x4009f820, 0x8af7: 0x4009fa20, + 0x8af8: 0xe0000113, 0x8af9: 0xe0000116, 0x8afa: 0x4009fc20, 0x8afb: 0x4009fe20, + 0x8afc: 0x400a0020, 0x8afd: 0x400a0220, 0x8afe: 0x400a0420, 0x8aff: 0x400a0620, + // Block 0x22c, offset 0x8b00 + 0x8b00: 0x400d1820, 0x8b01: 0x400d1a20, 0x8b02: 0x400d1c20, 0x8b03: 0x400d1e20, + 0x8b04: 0x400d2020, 0x8b05: 0x400d2220, 0x8b06: 0x400d2420, 0x8b07: 0x400d2620, + 0x8b08: 0x400d2820, 0x8b09: 0x400d2a20, 0x8b0a: 0x400d2c20, + 0x8b20: 0x0029ce86, 0x8b21: 0x0029d086, 0x8b22: 0x0029d286, 0x8b23: 0x0029d486, + 0x8b24: 0x0029d686, 0x8b25: 0x0029d886, 0x8b26: 0x0029da86, 0x8b27: 0x0029dc86, + 0x8b28: 0x0029de86, 0x8b29: 0xe0002d45, 0x8b2a: 0xe0002d58, 0x8b2b: 0xe0002d6b, + 0x8b2c: 0xe0002d7e, 0x8b2d: 0xe0002d8d, 0x8b2e: 0xe0002d9c, 0x8b2f: 0xe0002dab, + 0x8b30: 0xe0002dba, 0x8b31: 0xe0002dc9, 0x8b32: 0xe0002dd8, 0x8b33: 0xe0002df6, + 0x8b34: 0xe0002bba, 0x8b35: 0xe0002bbe, 0x8b36: 0xe0002bc2, 0x8b37: 0xe0002bc6, + 0x8b38: 0xe0002bca, 0x8b39: 0xe0002bce, 0x8b3a: 0xe0002bd2, 0x8b3b: 0xe0002bd6, + 0x8b3c: 0xe0002bda, 0x8b3d: 0xe0000015, 0x8b3e: 0xe000001a, 0x8b3f: 0xe000001f, + // Block 0x22d, offset 0x8b40 + 0x8b40: 0xe0000024, 0x8b41: 0xe0000029, 0x8b42: 0xe000002e, 0x8b43: 0xe0000033, + 0x8b44: 0xe0000038, 0x8b45: 0xe000003d, 0x8b46: 0xe0000042, 0x8b47: 0xe0000047, + 0x8b48: 0xe0002d3f, 0x8b49: 0xe0002df3, 0x8b4a: 0xe0002e60, 0x8b4b: 0xe0002e95, + 0x8b4c: 0xe0002ec2, 0x8b4d: 0xe0002ed4, 0x8b4e: 0xe0002ee3, 0x8b4f: 0xe0002ef2, + 0x8b50: 0xe0002f01, 0x8b51: 0xe0002d48, 0x8b52: 0xe0002d5b, 0x8b53: 0xe0002d6e, + 0x8b54: 0xe0002d81, 0x8b55: 0xe0002d90, 0x8b56: 0xe0002d9f, 0x8b57: 0xe0002dae, + 0x8b58: 0xe0002dbd, 0x8b59: 0xe0002dcc, 0x8b5a: 0xe0002ddb, 0x8b5b: 0xe0002df9, + 0x8b5c: 0xe0002bde, 0x8b5d: 0xe0002be6, 0x8b5e: 0xe0002bee, 0x8b5f: 0xe0002bf6, + 0x8b60: 0xe000249f, 0x8b61: 0xe0002bfe, 0x8b62: 0xe0002c06, 0x8b63: 0xe00024a7, + 0x8b64: 0xe00024af, 0x8b65: 0xe0002c0e, 0x8b66: 0xe00024b7, 0x8b67: 0xe0002c16, + 0x8b68: 0xe0002c1e, 0x8b69: 0xe0002c26, 0x8b6a: 0xe00024bf, 0x8b6b: 0xe0002c2e, + 0x8b6c: 0xe00024c7, 0x8b6d: 0xe00024cf, 0x8b6e: 0xe00024d7, 0x8b6f: 0xe00024df, + 0x8b70: 0xe0002c36, 0x8b71: 0xe0002c3e, 0x8b72: 0xe0002c46, 0x8b73: 0xe00024e7, + 0x8b74: 0xe0002c4e, 0x8b75: 0xe0002c56, 0x8b76: 0x002bde8c, 0x8b77: 0x002c0a8c, + 0x8b78: 0x002c3a8c, 0x8b79: 0x002c628c, 0x8b7a: 0x002c988c, 0x8b7b: 0x002d088c, + 0x8b7c: 0x002d228c, 0x8b7d: 0x002d688c, 0x8b7e: 0x002d9a8c, 0x8b7f: 0x002dcc8c, + // Block 0x22e, offset 0x8b80 + 0x8b80: 0x40151420, 0x8b81: 0x40151620, 0x8b82: 0x40151820, 0x8b83: 0x40151a20, + 0x8b84: 0x40151c20, 0x8b85: 0x40151e20, 0x8b86: 0x40152020, 0x8b87: 0x40152220, + 0x8b88: 0x40152420, 0x8b89: 0x40152620, 0x8b8a: 0x40152820, 0x8b8b: 0x40152a20, + 0x8b8c: 0x40152c20, 0x8b8d: 0x40152e20, 0x8b8e: 0x40153020, 0x8b8f: 0x40153220, + 0x8b90: 0x40153420, 0x8b91: 0x40153620, 0x8b92: 0x40153820, 0x8b93: 0x40153a20, + 0x8b94: 0x40153c20, 0x8b95: 0x40153e20, 0x8b96: 0x40154020, 0x8b97: 0x40154220, + 0x8b98: 0x40154420, 0x8b99: 0x40154620, 0x8b9a: 0x40154820, 0x8b9b: 0x40154a20, + 0x8b9c: 0x40154c20, 0x8b9d: 0x40154e20, 0x8b9e: 0x40155020, 0x8b9f: 0x40155220, + 0x8ba0: 0x40155420, 0x8ba1: 0x40155620, 0x8ba2: 0x40155820, 0x8ba3: 0x40155a20, + 0x8ba4: 0x40155c20, 0x8ba5: 0x40155e20, 0x8ba6: 0x40156020, 0x8ba7: 0x40156220, + 0x8ba8: 0x40156420, 0x8ba9: 0x40156620, 0x8baa: 0x40156820, 0x8bab: 0x40156a20, + 0x8bac: 0x40156c20, 0x8bad: 0x40156e20, 0x8bae: 0x40157020, 0x8baf: 0x40157220, + 0x8bb0: 0x40157420, 0x8bb1: 0x40157620, 0x8bb2: 0x40157820, 0x8bb3: 0x40157a20, + 0x8bb4: 0xe0002b9c, 0x8bb5: 0xe0002d2c, 0x8bb6: 0xe0002d2f, 0x8bb7: 0x40157c20, + 0x8bb8: 0x40157e20, 0x8bb9: 0x40158020, 0x8bba: 0x40158220, 0x8bbb: 0x40158420, + 0x8bbc: 0x40158620, 0x8bbd: 0x40158820, 0x8bbe: 0x40158a20, 0x8bbf: 0x40158c20, + // Block 0x22f, offset 0x8bc0 + 0x8bc0: 0xe0002c5e, 0x8bc1: 0xe0002c62, 0x8bc2: 0xe0002c66, 0x8bc3: 0xe0002c6a, + 0x8bc4: 0xe0002c6e, 0x8bc5: 0xe0002c72, 0x8bc6: 0xe0002c76, 0x8bc7: 0xe0002c7a, + 0x8bc8: 0xe0002c7e, 0x8bc9: 0xe0002c82, 0x8bca: 0xe0002c86, 0x8bcb: 0xe0002c8a, + 0x8bcc: 0xe0002c8e, 0x8bcd: 0xe0002c92, 0x8bce: 0xe000004c, 0x8bcf: 0xe0000051, + 0x8bd0: 0xe0000056, 0x8bd1: 0xe000005b, 0x8bd2: 0xe0000060, 0x8bd3: 0xe0000065, + 0x8bd4: 0xe000006a, 0x8bd5: 0xe000006f, 0x8bd6: 0xe0000083, 0x8bd7: 0xe000008d, + 0x8bd8: 0xe0000092, 0x8bd9: 0xe0000097, 0x8bda: 0xe000009c, 0x8bdb: 0xe00000a1, + 0x8bdc: 0xe0000088, 0x8bdd: 0xe0000074, 0x8bde: 0xe000007c, + 0x8be0: 0xe0002c96, 0x8be1: 0xe0002ca6, 0x8be2: 0xe0002c9e, 0x8be3: 0xe0002cd6, + 0x8be4: 0xe0002caa, 0x8be5: 0xe0002cbe, 0x8be6: 0xe0002c9a, 0x8be7: 0xe0002cba, + 0x8be8: 0xe0002ca2, 0x8be9: 0xe0002cc6, 0x8bea: 0xe0002ce6, 0x8beb: 0xe0002cfa, + 0x8bec: 0xe0002cf6, 0x8bed: 0xe0002cee, 0x8bee: 0xe0002d22, 0x8bef: 0xe0002cda, + 0x8bf0: 0xe0002ce2, 0x8bf1: 0xe0002cf2, 0x8bf2: 0xe0002cea, 0x8bf3: 0xe0002d06, + 0x8bf4: 0xe0002cce, 0x8bf5: 0xe0002cfe, 0x8bf6: 0xe0002d1a, 0x8bf7: 0xe0002d0a, + 0x8bf8: 0xe0002cc2, 0x8bf9: 0xe0002cae, 0x8bfa: 0xe0002cd2, 0x8bfb: 0xe0002cde, + 0x8bfc: 0xe0002d02, 0x8bfd: 0xe0002cb2, 0x8bfe: 0xe0002d1e, 0x8bff: 0xe0002cca, + // Block 0x230, offset 0x8c00 + 0x8c00: 0xe0002d0e, 0x8c01: 0xe0002cb6, 0x8c02: 0xe0002d12, 0x8c03: 0xe0002d16, + 0x8c04: 0x02aa9e86, 0x8c05: 0x02bcf886, 0x8c06: 0x02cb0e86, 0x8c07: 0x02f71e86, + 0x8c08: 0xe00002e3, 0x8c09: 0xe00003d8, 0x8c0a: 0xe00004b3, 0x8c0b: 0xe000057d, + 0x8c0c: 0xe0000648, 0x8c0d: 0xe00006f0, 0x8c0e: 0xe000079c, 0x8c0f: 0xe0000841, + 0x8c10: 0xe0000ec0, 0x8c11: 0xe0002e05, 0x8c12: 0xe0002e10, 0x8c13: 0xe0002e1b, + 0x8c14: 0xe0002e26, 0x8c15: 0xe0002e31, 0x8c16: 0xe0002e38, 0x8c17: 0xe0002e3f, + 0x8c18: 0xe0002e46, 0x8c19: 0xe0002e4d, 0x8c1a: 0xe0002e63, 0x8c1b: 0xe0002e6a, + 0x8c1c: 0xe0002e71, 0x8c1d: 0xe0002e74, 0x8c1e: 0xe0002e77, 0x8c1f: 0xe0002e7a, + 0x8c20: 0x0062ac86, 0x8c21: 0x0062b086, 0x8c22: 0x0062b286, 0x8c23: 0x0062b686, + 0x8c24: 0x0062b886, 0x8c25: 0x0062ba86, 0x8c26: 0x0062be86, 0x8c27: 0x0062c286, + 0x8c28: 0x0062c486, 0x8c29: 0x0062c886, 0x8c2a: 0x0062ca86, 0x8c2b: 0x0062cc86, + 0x8c2c: 0x0062ce86, 0x8c2d: 0x0062d086, 0x8c2e: 0xf0000606, 0x8c2f: 0xf0000606, + 0x8c30: 0xf0000606, 0x8c31: 0xf0000606, 0x8c32: 0xf0000606, 0x8c33: 0xf0000606, + 0x8c34: 0xf0000606, 0x8c35: 0xf0000606, 0x8c36: 0xf0000606, 0x8c37: 0xf0000606, + 0x8c38: 0xf0000606, 0x8c39: 0xf0000606, 0x8c3a: 0xf0000606, 0x8c3b: 0xf0000606, + 0x8c3c: 0xe0002127, 0x8c3d: 0xe0002122, 0x8c3e: 0xf0000606, 0x8c3f: 0x4027ac20, + // Block 0x231, offset 0x8c40 + 0x8c40: 0x029c0086, 0x8c41: 0x029d1886, 0x8c42: 0x029c1286, 0x8c43: 0x02adb686, + 0x8c44: 0x029d2886, 0x8c45: 0x02a2da86, 0x8c46: 0x029c0686, 0x8c47: 0x02a2d686, + 0x8c48: 0x029cba86, 0x8c49: 0x02a68286, 0x8c4a: 0x02ce1086, 0x8c4b: 0x02e0d686, + 0x8c4c: 0x02d86886, 0x8c4d: 0x02ce5086, 0x8c4e: 0x0323a286, 0x8c4f: 0x02ae3e86, + 0x8c50: 0x02cbca86, 0x8c51: 0x02d05486, 0x8c52: 0x02ce1286, 0x8c53: 0x02f27c86, + 0x8c54: 0x02a81a86, 0x8c55: 0x02e4f286, 0x8c56: 0x03194286, 0x8c57: 0x02f2ba86, + 0x8c58: 0x02a56886, 0x8c59: 0x02f3b086, 0x8c5a: 0x02ea6e86, 0x8c5b: 0x02b2e686, + 0x8c5c: 0x0320d286, 0x8c5d: 0x02a25486, 0x8c5e: 0x02a6e086, 0x8c5f: 0x02d9d086, + 0x8c60: 0x03300a86, 0x8c61: 0x029e2286, 0x8c62: 0x02a33286, 0x8c63: 0x02d6c686, + 0x8c64: 0x029c1486, 0x8c65: 0x029c5a86, 0x8c66: 0x029c1686, 0x8c67: 0x02bbcc86, + 0x8c68: 0x02a7e686, 0x8c69: 0x02a67686, 0x8c6a: 0x02b72e86, 0x8c6b: 0x02b6cc86, + 0x8c6c: 0x02edc686, 0x8c6d: 0x029e0286, 0x8c6e: 0x03198e86, 0x8c6f: 0x02a6a886, + 0x8c70: 0x02b23886, 0x8c71: 0xe0002e7d, 0x8c72: 0xe0002e80, 0x8c73: 0xe0002e83, + 0x8c74: 0xe0002e86, 0x8c75: 0xe0002e98, 0x8c76: 0xe0002e9b, 0x8c77: 0xe0002e9e, + 0x8c78: 0xe0002ea1, 0x8c79: 0xe0002ea4, 0x8c7a: 0xe0002ea7, 0x8c7b: 0xe0002eaa, + 0x8c7c: 0xe0002ead, 0x8c7d: 0xe0002eb0, 0x8c7e: 0xe0002eb3, 0x8c7f: 0xe0002ec5, + // Block 0x232, offset 0x8c80 + 0x8c80: 0xe0002dea, 0x8c81: 0xe0002e57, 0x8c82: 0xe0002e8c, 0x8c83: 0xe0002eb9, + 0x8c84: 0xe0002ecb, 0x8c85: 0xe0002eda, 0x8c86: 0xe0002ee9, 0x8c87: 0xe0002ef8, + 0x8c88: 0xe0002f07, 0x8c89: 0xe0002d50, 0x8c8a: 0xe0002d63, 0x8c8b: 0xe0002d76, + 0x8c8c: 0xe00027c5, 0x8c8d: 0xe0000b85, 0x8c8e: 0xe00026cc, 0x8c8f: 0xe0000d14, + 0x8c90: 0x00657693, 0x8c91: 0x00657893, 0x8c92: 0x00657a93, 0x8c93: 0x00657e93, + 0x8c94: 0x00658093, 0x8c95: 0x00658293, 0x8c96: 0x00658493, 0x8c97: 0x00658693, + 0x8c98: 0x00658893, 0x8c99: 0x00658a93, 0x8c9a: 0x00658c93, 0x8c9b: 0x00658e93, + 0x8c9c: 0x00659093, 0x8c9d: 0x00659293, 0x8c9e: 0x00659493, 0x8c9f: 0x00659693, + 0x8ca0: 0x00659893, 0x8ca1: 0x00659a93, 0x8ca2: 0x00659c93, 0x8ca3: 0x00659e93, + 0x8ca4: 0x0065a093, 0x8ca5: 0x0065a293, 0x8ca6: 0x0065a493, 0x8ca7: 0x0065a693, + 0x8ca8: 0x0065a893, 0x8ca9: 0x0065aa93, 0x8caa: 0x0065ac93, 0x8cab: 0x0065ae93, + 0x8cac: 0x0065b093, 0x8cad: 0x0065b293, 0x8cae: 0x0065b493, 0x8caf: 0x0065b693, + 0x8cb0: 0x0065b893, 0x8cb1: 0x0065ba93, 0x8cb2: 0x0065bc93, 0x8cb3: 0x0065be93, + 0x8cb4: 0x0065c093, 0x8cb5: 0x0065c493, 0x8cb6: 0x0065c693, 0x8cb7: 0x0065c893, + 0x8cb8: 0x0065ca93, 0x8cb9: 0x0065cc93, 0x8cba: 0x0065ce93, 0x8cbb: 0x0065d093, + 0x8cbc: 0x0065d293, 0x8cbd: 0x0065d493, 0x8cbe: 0x0065d693, + // Block 0x233, offset 0x8cc0 + 0x8cc0: 0xe000230b, 0x8cc1: 0xe00022f8, 0x8cc2: 0xe00022fc, 0x8cc3: 0xe0002311, + 0x8cc4: 0xe0002316, 0x8cc5: 0xe000231d, 0x8cc6: 0xe0002321, 0x8cc7: 0xe0002325, + 0x8cc8: 0xe000232b, 0x8cc9: 0xf0001c1c, 0x8cca: 0xe0002330, 0x8ccb: 0xe000233c, + 0x8ccc: 0xe0002340, 0x8ccd: 0xe0002337, 0x8cce: 0xe0002346, 0x8ccf: 0xe000234b, + 0x8cd0: 0xe000234f, 0x8cd1: 0xe0002353, 0x8cd2: 0xf0001c1c, 0x8cd3: 0xe000235e, + 0x8cd4: 0xe0002358, 0x8cd5: 0xf0001c1c, 0x8cd6: 0xe0002363, 0x8cd7: 0xe000236d, + 0x8cd8: 0xe0002d39, 0x8cd9: 0xe0002ded, 0x8cda: 0xe0002e5a, 0x8cdb: 0xe0002e8f, + 0x8cdc: 0xe0002ebc, 0x8cdd: 0xe0002ece, 0x8cde: 0xe0002edd, 0x8cdf: 0xe0002eec, + 0x8ce0: 0xe0002efb, 0x8ce1: 0xe0002f0a, 0x8ce2: 0xe0002d54, 0x8ce3: 0xe0002d67, + 0x8ce4: 0xe0002d7a, 0x8ce5: 0xe0002d89, 0x8ce6: 0xe0002d98, 0x8ce7: 0xe0002da7, + 0x8ce8: 0xe0002db6, 0x8ce9: 0xe0002dc5, 0x8cea: 0xe0002dd4, 0x8ceb: 0xe0002de3, + 0x8cec: 0xe0002e01, 0x8ced: 0xe0002e0c, 0x8cee: 0xe0002e17, 0x8cef: 0xe0002e22, + 0x8cf0: 0xe0002e2d, 0x8cf1: 0xe0000c1e, 0x8cf2: 0xe000329b, 0x8cf3: 0xe0002f0d, + 0x8cf4: 0xe0000a31, 0x8cf5: 0xe0002824, 0x8cf6: 0xe00035d6, 0x8cf7: 0xe00032a7, + 0x8cf8: 0xe0000ac2, 0x8cf9: 0xe0000ac6, 0x8cfa: 0xe00027e8, 0x8cfb: 0xf0001c1c, + 0x8cfc: 0xf0001c1c, 0x8cfd: 0xf0001c1c, 0x8cfe: 0xf0001c1c, 0x8cff: 0xe0002431, + // Block 0x234, offset 0x8d00 + 0x8d00: 0xe00035d0, 0x8d01: 0xe00035b8, 0x8d02: 0xe00035ee, 0x8d03: 0xe000358e, + 0x8d04: 0xe00027f7, 0x8d05: 0xe00027fa, 0x8d06: 0xe0003594, 0x8d07: 0xe0003573, + 0x8d08: 0xe0000a6b, 0x8d09: 0xe0000cb4, 0x8d0a: 0xe00035d9, 0x8d0b: 0xe00035bb, + 0x8d0c: 0xe00035f1, 0x8d0d: 0xe00035f4, 0x8d0e: 0xe000359d, 0x8d0f: 0xe00027fd, + 0x8d10: 0xe00027ce, 0x8d11: 0xe0000cb9, 0x8d12: 0xe0000d36, 0x8d13: 0xe0000be3, + 0x8d14: 0xe0000fc5, 0x8d15: 0xe00035f7, 0x8d16: 0xe00035a0, 0x8d17: 0xe00032a4, + 0x8d18: 0xe0002803, 0x8d19: 0xe0003570, 0x8d1a: 0xe00035c7, 0x8d1b: 0xe00035fa, + 0x8d1c: 0xe00035a3, 0x8d1d: 0xe0003099, 0x8d1e: 0xe0002806, 0x8d1f: 0xe0000d3e, + 0x8d20: 0xe0000a72, 0x8d21: 0xe0003588, 0x8d22: 0xe0000cbd, 0x8d23: 0xe0000d42, + 0x8d24: 0xe0000a76, 0x8d25: 0xe000358b, 0x8d26: 0xe0000cc1, 0x8d27: 0xe0000d2d, + 0x8d28: 0xe0000d31, 0x8d29: 0xe00035d3, 0x8d2a: 0xe0000cc5, 0x8d2b: 0xe0000d4a, + 0x8d2c: 0xe0000be7, 0x8d2d: 0xe0000f0b, 0x8d2e: 0xe0000f0f, 0x8d2f: 0xe0000f15, + 0x8d30: 0xe000282d, 0x8d31: 0xe0002821, 0x8d32: 0xe000288e, 0x8d33: 0xe000281b, + 0x8d34: 0xe00035dc, 0x8d35: 0xe00035ca, 0x8d36: 0xe00035fd, 0x8d37: 0xe00035a6, + 0x8d38: 0xe000280f, 0x8d39: 0xe00035a9, 0x8d3a: 0xe00035df, 0x8d3b: 0xe00035cd, + 0x8d3c: 0xe0003600, 0x8d3d: 0xe00035af, 0x8d3e: 0xe0002812, 0x8d3f: 0xe00035b2, + // Block 0x235, offset 0x8d40 + 0x8d40: 0xe0002815, 0x8d41: 0xe00035b5, 0x8d42: 0xe00009b7, 0x8d43: 0xe00024f3, + 0x8d44: 0xe0003090, 0x8d45: 0xe0003096, 0x8d46: 0xe0000a66, 0x8d47: 0xe0000a7a, + 0x8d48: 0xe000329e, 0x8d49: 0xe0003576, 0x8d4a: 0xe00027c2, 0x8d4b: 0xe00027c8, + 0x8d4c: 0xe00027e5, 0x8d4d: 0xe0002800, 0x8d4e: 0xe0002809, 0x8d4f: 0xe000280c, + 0x8d50: 0xe0003582, 0x8d51: 0xe0003585, 0x8d52: 0xe0000d0d, 0x8d53: 0xe0002818, + 0x8d54: 0xe0003591, 0x8d55: 0xe0000d3a, 0x8d56: 0xe0000d46, 0x8d57: 0xe0002827, + 0x8d58: 0xe0000eb0, 0x8d59: 0xe0000eb8, 0x8d5a: 0xe000282a, 0x8d5b: 0xe0002836, + 0x8d5c: 0xe000283f, 0x8d5d: 0xe00035e2, 0x8d5e: 0xe00010b2, 0x8d5f: 0xe00009c8, + 0x8d60: 0xe0002de7, 0x8d61: 0xe0002e54, 0x8d62: 0xe0002e89, 0x8d63: 0xe0002eb6, + 0x8d64: 0xe0002ec8, 0x8d65: 0xe0002ed7, 0x8d66: 0xe0002ee6, 0x8d67: 0xe0002ef5, + 0x8d68: 0xe0002f04, 0x8d69: 0xe0002d4c, 0x8d6a: 0xe0002d5f, 0x8d6b: 0xe0002d72, + 0x8d6c: 0xe0002d85, 0x8d6d: 0xe0002d94, 0x8d6e: 0xe0002da3, 0x8d6f: 0xe0002db2, + 0x8d70: 0xe0002dc1, 0x8d71: 0xe0002dd0, 0x8d72: 0xe0002ddf, 0x8d73: 0xe0002dfd, + 0x8d74: 0xe0002e08, 0x8d75: 0xe0002e13, 0x8d76: 0xe0002e1e, 0x8d77: 0xe0002e29, + 0x8d78: 0xe0002e34, 0x8d79: 0xe0002e3b, 0x8d7a: 0xe0002e42, 0x8d7b: 0xe0002e49, + 0x8d7c: 0xe0002e50, 0x8d7d: 0xe0002e66, 0x8d7e: 0xe0002e6d, 0x8d7f: 0xe0000bdf, + // Block 0x236, offset 0x8d80 + 0x8d80: 0xe000356a, 0x8d81: 0xe00026cf, 0x8d82: 0xe000356d, 0x8d83: 0xe0000b99, + 0x8d84: 0xe0000b9d, 0x8d85: 0xe0000f83, 0x8d86: 0xe000283c, + 0x8d93: 0xf0000404, + 0x8d94: 0xf0000404, 0x8d95: 0xf0000404, 0x8d96: 0xf0000404, 0x8d97: 0xf0000404, + 0x8d9d: 0xe000150b, 0x8d9e: 0xa1a09602, 0x8d9f: 0xe0001514, + 0x8da0: 0x0038ae85, 0x8da1: 0x00389085, 0x8da2: 0x00389685, 0x8da3: 0x00389885, + 0x8da4: 0x0038a485, 0x8da5: 0x0038a685, 0x8da6: 0x0038a885, 0x8da7: 0x0038b685, + 0x8da8: 0x0038ba85, 0x8da9: 0x00093885, 0x8daa: 0xe0001542, 0x8dab: 0xe000153f, + 0x8dac: 0xe000154c, 0x8dad: 0xe0001548, 0x8dae: 0xe00014e1, 0x8daf: 0xe00014e4, + 0x8db0: 0xe00014e7, 0x8db1: 0xe00014ea, 0x8db2: 0xe00014f0, 0x8db3: 0xe00014f3, + 0x8db4: 0xe00014f6, 0x8db5: 0xe00014fc, 0x8db6: 0xe0001505, + 0x8db8: 0xe0001508, 0x8db9: 0xe000150e, 0x8dba: 0xe000151b, 0x8dbb: 0xe0001518, + 0x8dbc: 0xe0001521, 0x8dbe: 0xe0001524, + // Block 0x237, offset 0x8dc0 + 0x8dc0: 0xa0000000, 0x8dc1: 0xa0000000, 0x8dc2: 0xa0000000, 0x8dc3: 0xa0000000, + 0x8dc4: 0xa0000000, 0x8dc5: 0xa0000000, 0x8dc6: 0xa0000000, 0x8dc7: 0xa0000000, + 0x8dc8: 0xa0000000, 0x8dc9: 0xa0000000, 0x8dca: 0xa0000000, 0x8dcb: 0xa0000000, + 0x8dcc: 0xa0000000, 0x8dcd: 0xa0000000, 0x8dce: 0xa0000000, 0x8dcf: 0xa0000000, + 0x8dd0: 0x00024096, 0x8dd1: 0x00025c96, 0x8dd2: 0x00030496, 0x8dd3: 0x00026c96, + 0x8dd4: 0x00026296, 0x8dd5: 0x0002ba96, 0x8dd6: 0x0002c496, 0x8dd7: 0x0004b496, + 0x8dd8: 0x0004b696, 0x8dd9: 0xe0002bb6, + 0x8de0: 0xae608202, 0x8de1: 0xae600000, 0x8de2: 0xae608102, 0x8de3: 0xae600000, + 0x8de4: 0xae600000, 0x8de5: 0xae600000, 0x8de6: 0xae600000, + 0x8df0: 0xe0002baf, 0x8df1: 0x00022c96, 0x8df2: 0x00022a96, 0x8df3: 0x00021696, + 0x8df4: 0x00021696, 0x8df5: 0x0003f496, 0x8df6: 0x0003f696, 0x8df7: 0x0003fc96, + 0x8df8: 0x0003fe96, 0x8df9: 0x0004b096, 0x8dfa: 0x0004b296, 0x8dfb: 0x0004ac96, + 0x8dfc: 0x0004ae96, 0x8dfd: 0x0004a096, 0x8dfe: 0x0004a296, 0x8dff: 0x00049c96, + // Block 0x238, offset 0x8e00 + 0x8e00: 0xe0002d36, 0x8e01: 0xe0002d33, 0x8e02: 0xe0002d3c, 0x8e03: 0xe0002df0, + 0x8e04: 0xe0002e5d, 0x8e05: 0xe0002e92, 0x8e06: 0xe0002ebf, 0x8e07: 0xe0002ed1, + 0x8e08: 0xe0002ee0, 0x8e09: 0xe0002eef, 0x8e0a: 0xe0002efe, + 0x8e10: 0xe0002be2, 0x8e11: 0xe0002bea, 0x8e12: 0xe0002bf2, 0x8e13: 0xe0002bfa, + 0x8e14: 0xe00024a3, 0x8e15: 0xe0002c02, 0x8e16: 0xe0002c0a, 0x8e17: 0xe00024ab, + 0x8e18: 0xe00024b3, 0x8e19: 0xe0002c12, 0x8e1a: 0xe00024bb, 0x8e1b: 0xe0002c1a, + 0x8e1c: 0xe0002c22, 0x8e1d: 0xe0002c2a, 0x8e1e: 0xe00024c3, 0x8e1f: 0xe0002c32, + 0x8e20: 0xe00024cb, 0x8e21: 0xe00024d3, 0x8e22: 0xe00024db, 0x8e23: 0xe00024e3, + 0x8e24: 0xe0002c3a, 0x8e25: 0xe0002c42, 0x8e26: 0xe0002c4a, 0x8e27: 0xe00024eb, + 0x8e28: 0xe0002c52, 0x8e29: 0xe0002c5a, 0x8e2a: 0xe00024ef, 0x8e2b: 0x002c3a8c, + 0x8e2c: 0x002f7a8c, 0x8e2d: 0xe0003093, 0x8e2e: 0xe00035e8, + 0x8e30: 0x002bde9d, 0x8e31: 0x002c0a9d, 0x8e32: 0x002c3a9d, 0x8e33: 0x002c629d, + 0x8e34: 0x002c989d, 0x8e35: 0x002d089d, 0x8e36: 0x002d229d, 0x8e37: 0x002d689d, + 0x8e38: 0x002d9a9d, 0x8e39: 0x002dcc9d, 0x8e3a: 0x002dfe9d, 0x8e3b: 0x002e229d, + 0x8e3c: 0x002e829d, 0x8e3d: 0x002e9e9d, 0x8e3e: 0x002ee29d, 0x8e3f: 0x002f2c9d, + // Block 0x239, offset 0x8e40 + 0x8e40: 0x002f569d, 0x8e41: 0x002f7a9d, 0x8e42: 0x002fe69d, 0x8e43: 0x00302c9d, + 0x8e44: 0x00306c9d, 0x8e45: 0x0030be9d, 0x8e46: 0x0030e29d, 0x8e47: 0x0030f69d, + 0x8e48: 0x0031009d, 0x8e49: 0x00312a9d, 0x8e4a: 0xe00027cb, 0x8e4b: 0xe00035ac, + 0x8e4c: 0xe0002830, 0x8e4d: 0xe0002839, 0x8e4e: 0xe0000ebc, 0x8e4f: 0xe00035e5, + 0x8e50: 0x002bde8c, 0x8e51: 0x002c0a8c, 0x8e52: 0x002c3a8c, 0x8e53: 0x002c628c, + 0x8e54: 0x002c988c, 0x8e55: 0x002d088c, 0x8e56: 0x002d228c, 0x8e57: 0x002d688c, + 0x8e58: 0x002d9a8c, 0x8e59: 0x002dcc8c, 0x8e5a: 0x002dfe8c, 0x8e5b: 0x002e228c, + 0x8e5c: 0x002e828c, 0x8e5d: 0x002e9e8c, 0x8e5e: 0x002ee28c, 0x8e5f: 0x002f2c8c, + 0x8e60: 0x002f568c, 0x8e61: 0x002f7a8c, 0x8e62: 0x002fe68c, 0x8e63: 0x00302c8c, + 0x8e64: 0x00306c8c, 0x8e65: 0x0030be8c, 0x8e66: 0x0030e28c, 0x8e67: 0x0030f68c, + 0x8e68: 0x0031008c, 0x8e69: 0x00312a8c, 0x8e6a: 0xe0003597, 0x8e6b: 0xe000359a, + 0x8e70: 0x002bde9d, 0x8e71: 0x002c0a9d, 0x8e72: 0x002c3a9d, 0x8e73: 0x002c629d, + 0x8e74: 0x002c989d, 0x8e75: 0x002d089d, 0x8e76: 0x002d229d, 0x8e77: 0x002d689d, + 0x8e78: 0x002d9a9d, 0x8e79: 0x002dcc9d, 0x8e7a: 0x002dfe9d, 0x8e7b: 0x002e229d, + 0x8e7c: 0x002e829d, 0x8e7d: 0x002e9e9d, 0x8e7e: 0x002ee29d, 0x8e7f: 0x002f2c9d, + // Block 0x23a, offset 0x8e80 + 0x8e80: 0x002f569d, 0x8e81: 0x002f7a9d, 0x8e82: 0x002fe69d, 0x8e83: 0x00302c9d, + 0x8e84: 0x00306c9d, 0x8e85: 0x0030be9d, 0x8e86: 0x0030e29d, 0x8e87: 0x0030f69d, + 0x8e88: 0x0031009d, 0x8e89: 0x00312a9d, 0x8e8a: 0x002f2c9d, 0x8e8b: 0xe0000c81, + 0x8e8c: 0xe0000eb5, 0x8e8d: 0xe0000f74, 0x8e8e: 0xe00009d2, 0x8e8f: 0xe00010f0, + 0x8e90: 0xe00032a1, 0x8e91: 0xe0000a6f, 0x8e92: 0xe0000a7e, 0x8e93: 0xe0000ba4, + 0x8e94: 0xe0000c84, 0x8e95: 0xe0000d8a, 0x8e96: 0xe0000d8e, 0x8e97: 0xe0000e9b, + 0x8e98: 0xe0000f77, 0x8e99: 0xe00010a2, 0x8e9a: 0xe00010c0, + // Block 0x23b, offset 0x8ec0 + 0x8ec0: 0xa0000000, 0x8ec1: 0xa0000000, 0x8ec2: 0xa0000000, 0x8ec3: 0xa0000000, + 0x8ec4: 0xa0000000, 0x8ec5: 0xa0000000, 0x8ec6: 0xa0000000, 0x8ec7: 0xa0000000, + 0x8ec8: 0xa0000000, 0x8ec9: 0x40020020, 0x8eca: 0x40020220, 0x8ecb: 0x40020420, + 0x8ecc: 0x40020620, 0x8ecd: 0x40020820, 0x8ece: 0xa0000000, 0x8ecf: 0xa0000000, + 0x8ed0: 0xa0000000, 0x8ed1: 0xa0000000, 0x8ed2: 0xa0000000, 0x8ed3: 0xa0000000, + 0x8ed4: 0xa0000000, 0x8ed5: 0xa0000000, 0x8ed6: 0xa0000000, 0x8ed7: 0xa0000000, + 0x8ed8: 0xa0000000, 0x8ed9: 0xa0000000, 0x8eda: 0xa0000000, 0x8edb: 0xa0000000, + 0x8edc: 0xa0000000, 0x8edd: 0xa0000000, 0x8ede: 0xa0000000, 0x8edf: 0xa0000000, + 0x8ee0: 0x40021220, 0x8ee1: 0x4002ba20, 0x8ee2: 0x4003e020, 0x8ee3: 0x4004ea20, + 0x8ee4: 0x4027de20, 0x8ee5: 0x4004ec20, 0x8ee6: 0x4004e620, 0x8ee7: 0x4003d220, + 0x8ee8: 0x4003f420, 0x8ee9: 0x4003f620, 0x8eea: 0x4004d820, 0x8eeb: 0x40093820, + 0x8eec: 0x40024020, 0x8eed: 0x40021a20, 0x8eee: 0x4002e420, 0x8eef: 0x4004e220, + 0x8ef0: 0x4029cc20, 0x8ef1: 0x4029ce20, 0x8ef2: 0x4029d020, 0x8ef3: 0x4029d220, + 0x8ef4: 0x4029d420, 0x8ef5: 0x4029d620, 0x8ef6: 0x4029d820, 0x8ef7: 0x4029da20, + 0x8ef8: 0x4029dc20, 0x8ef9: 0x4029de20, 0x8efa: 0x40026c20, 0x8efb: 0x40026220, + 0x8efc: 0x40094020, 0x8efd: 0x40094220, 0x8efe: 0x40094420, 0x8eff: 0x4002c420, + // Block 0x23c, offset 0x8f00 + 0x8f00: 0x4004d620, 0x8f01: 0x002bde88, 0x8f02: 0x002c0a88, 0x8f03: 0xc3352741, + 0x8f04: 0x002c6288, 0x8f05: 0x002c9888, 0x8f06: 0x002d0888, 0x8f07: 0xc3392741, + 0x8f08: 0xc5402741, 0x8f09: 0x002d9a88, 0x8f0a: 0xc5442741, 0x8f0b: 0x002dfe88, + 0x8f0c: 0xc0030002, 0x8f0d: 0x002e8288, 0x8f0e: 0x002e9e88, 0x8f0f: 0x002ee288, + 0x8f10: 0x002f2c88, 0x8f11: 0x002f5688, 0x8f12: 0x002f7a88, 0x8f13: 0xc3432741, + 0x8f14: 0x00302c88, 0x8f15: 0xc34700d1, 0x8f16: 0x0030be88, 0x8f17: 0x0030e288, + 0x8f18: 0x0030f688, 0x8f19: 0x00310088, 0x8f1a: 0x00312a88, 0x8f1b: 0x4003f820, + 0x8f1c: 0x4004e420, 0x8f1d: 0x4003fa20, 0x8f1e: 0x40062420, 0x8f1f: 0x40021620, + 0x8f20: 0x40061e20, 0x8f21: 0x402bde20, 0x8f22: 0x402c0a20, 0x8f23: 0xc3332741, + 0x8f24: 0x402c6220, 0x8f25: 0x402c9820, 0x8f26: 0x402d0820, 0x8f27: 0xc3372741, + 0x8f28: 0xc53e2741, 0x8f29: 0x402d9a20, 0x8f2a: 0xc5422741, 0x8f2b: 0x402dfe20, + 0x8f2c: 0xc0000002, 0x8f2d: 0x402e8220, 0x8f2e: 0x402e9e20, 0x8f2f: 0x402ee220, + 0x8f30: 0x402f2c20, 0x8f31: 0x402f5620, 0x8f32: 0x402f7a20, 0x8f33: 0xc3412741, + 0x8f34: 0x40302c20, 0x8f35: 0xc34500d1, 0x8f36: 0x4030be20, 0x8f37: 0x4030e220, + 0x8f38: 0x4030f620, 0x8f39: 0x40310020, 0x8f3a: 0x40312a20, 0x8f3b: 0x4003fc20, + 0x8f3c: 0x40094820, 0x8f3d: 0x4003fe20, 0x8f3e: 0x40094c20, 0x8f3f: 0xa0000000, + // Block 0x23d, offset 0x8f40 + 0x8f40: 0xe0000983, 0x8f41: 0xe0000980, 0x8f42: 0xe00008fb, 0x8f43: 0xe00008f8, + 0x8f44: 0xe000097d, 0x8f45: 0xe000097a, 0x8f46: 0xe0000a38, 0x8f47: 0xe0000a35, + 0x8f48: 0x002c3c83, 0x8f49: 0x402c3c20, 0x8f4a: 0xe0000a4a, 0x8f4b: 0xe0000a47, + 0x8f4c: 0xe0000a44, 0x8f4d: 0xe0000a41, 0x8f4e: 0xe0000a86, 0x8f4f: 0xe0000a83, + 0x8f50: 0xe0000aaa, 0x8f51: 0xe0000aa7, 0x8f52: 0xe0000b46, 0x8f53: 0xe0000b43, + 0x8f54: 0xe0000aee, 0x8f55: 0xe0000aeb, 0x8f56: 0xe0000b2c, 0x8f57: 0xe0000b29, + 0x8f58: 0xe0000b40, 0x8f59: 0xe0000b3d, 0x8f5a: 0xe0000b1a, 0x8f5b: 0xe0000b17, + 0x8f5c: 0x002d2483, 0x8f5d: 0x402d2420, 0x8f5e: 0xe0000bb2, 0x8f5f: 0xe0000baf, + 0x8f60: 0xe0000bc4, 0x8f61: 0xe0000bc1, 0x8f62: 0xe0000bca, 0x8f63: 0xe0000bc7, + 0x8f64: 0x002d6a83, 0x8f65: 0x402d6a20, 0x8f66: 0xe0000c1b, 0x8f67: 0xe0000c18, + 0x8f68: 0xe0000c51, 0x8f69: 0xe0000c4e, 0x8f6a: 0xe0000c60, 0x8f6b: 0xe0000c5d, + 0x8f6c: 0xe0000c31, 0x8f6d: 0xe0000c2e, 0x8f6e: 0xe0000c5a, 0x8f6f: 0xe0000c57, + 0x8f70: 0xe0000c54, 0x8f71: 0x402da220, 0x8f72: 0xf0000a0a, 0x8f73: 0xf0000404, + 0x8f74: 0x002dce83, 0x8f75: 0x402dce20, 0x8f76: 0xe0000c9f, 0x8f77: 0xe0000c9c, + 0x8f78: 0x402f7220, 0x8f79: 0xe0000ccc, 0x8f7a: 0xe0000cc9, 0x8f7b: 0xe0000cd8, + 0x8f7c: 0xe0000cd5, 0x8f7d: 0xe0000cd2, 0x8f7e: 0xe0000ccf, 0x8f7f: 0xe0000d04, + // Block 0x23e, offset 0x8f80 + 0x8f80: 0xe0000cfe, 0x8f81: 0xe0000cf8, 0x8f82: 0xe0000cf5, 0x8f83: 0xe0000d51, + 0x8f84: 0xe0000d4e, 0x8f85: 0xe0000d6f, 0x8f86: 0xe0000d6c, 0x8f87: 0xe0000d5d, + 0x8f88: 0xe0000d5a, 0x8f89: 0xf0000404, 0x8f8a: 0x002eda88, 0x8f8b: 0x402eda20, + 0x8f8c: 0xe0000e2e, 0x8f8d: 0xe0000e2b, 0x8f8e: 0xe0000da0, 0x8f8f: 0xe0000d9d, + 0x8f90: 0xe0000de0, 0x8f91: 0xe0000ddd, 0x8f92: 0xe0000e93, 0x8f93: 0xe0000e8f, + 0x8f94: 0xe0000eca, 0x8f95: 0xe0000ec7, 0x8f96: 0xe0000edc, 0x8f97: 0xe0000ed9, + 0x8f98: 0xe0000ed0, 0x8f99: 0xe0000ecd, 0x8f9a: 0xe0000f1f, 0x8f9b: 0xe0000f1c, + 0x8f9c: 0x002fe883, 0x8f9d: 0x402fe820, 0x8f9e: 0xe0000f47, 0x8f9f: 0xe0000f44, + 0x8fa0: 0xe0000f33, 0x8fa1: 0xe0000f30, 0x8fa2: 0xe0000f99, 0x8fa3: 0xe0000f96, + 0x8fa4: 0xe0000f8a, 0x8fa5: 0xe0000f87, 0x8fa6: 0x00303688, 0x8fa7: 0x40303620, + 0x8fa8: 0xe000102b, 0x8fa9: 0xe0001028, 0x8faa: 0xe000103f, 0x8fab: 0xe000103c, + 0x8fac: 0x00306e83, 0x8fad: 0x40306e20, 0x8fae: 0xe0000ff9, 0x8faf: 0xe0000ff6, + 0x8fb0: 0xe0001025, 0x8fb1: 0xe0001022, 0x8fb2: 0xe0001039, 0x8fb3: 0xe0001036, + 0x8fb4: 0xe00010d8, 0x8fb5: 0xe00010d5, 0x8fb6: 0xe000110e, 0x8fb7: 0xe000110b, + 0x8fb8: 0xe0001117, 0x8fb9: 0xe000113b, 0x8fba: 0xe0001138, 0x8fbb: 0xe000114d, + 0x8fbc: 0xe000114a, 0x8fbd: 0xe0001147, 0x8fbe: 0xe0001144, 0x8fbf: 0xe0000f64, + // Block 0x23f, offset 0x8fc0 + 0x8fc0: 0xa0000000, 0x8fc1: 0xa0000000, 0x8fc2: 0xa0000000, 0x8fc3: 0xa0000000, + 0x8fc4: 0xa0000000, 0x8fc5: 0xa0000000, 0x8fc6: 0xa0000000, 0x8fc7: 0xa0000000, + 0x8fc8: 0xa0000000, 0x8fc9: 0x40020020, 0x8fca: 0x40020220, 0x8fcb: 0x40020420, + 0x8fcc: 0x40020620, 0x8fcd: 0x40020820, 0x8fce: 0xa0000000, 0x8fcf: 0xa0000000, + 0x8fd0: 0xa0000000, 0x8fd1: 0xa0000000, 0x8fd2: 0xa0000000, 0x8fd3: 0xa0000000, + 0x8fd4: 0xa0000000, 0x8fd5: 0xa0000000, 0x8fd6: 0xa0000000, 0x8fd7: 0xa0000000, + 0x8fd8: 0xa0000000, 0x8fd9: 0xa0000000, 0x8fda: 0xa0000000, 0x8fdb: 0xa0000000, + 0x8fdc: 0xa0000000, 0x8fdd: 0xa0000000, 0x8fde: 0xa0000000, 0x8fdf: 0xa0000000, + 0x8fe0: 0x40021220, 0x8fe1: 0x4002ba20, 0x8fe2: 0x4003e020, 0x8fe3: 0x4004ea20, + 0x8fe4: 0x4027de20, 0x8fe5: 0x4004ec20, 0x8fe6: 0x4004e620, 0x8fe7: 0x4003d220, + 0x8fe8: 0x4003f420, 0x8fe9: 0x4003f620, 0x8fea: 0x4004d820, 0x8feb: 0x40093820, + 0x8fec: 0x40024020, 0x8fed: 0x40021a20, 0x8fee: 0x4002e420, 0x8fef: 0x4004e220, + 0x8ff0: 0x4029cc20, 0x8ff1: 0x4029ce20, 0x8ff2: 0x4029d020, 0x8ff3: 0x4029d220, + 0x8ff4: 0x4029d420, 0x8ff5: 0x4029d620, 0x8ff6: 0x4029d820, 0x8ff7: 0x4029da20, + 0x8ff8: 0x4029dc20, 0x8ff9: 0x4029de20, 0x8ffa: 0x40026c20, 0x8ffb: 0x40026220, + 0x8ffc: 0x40094020, 0x8ffd: 0x40094220, 0x8ffe: 0x40094420, 0x8fff: 0x4002c420, + // Block 0x240, offset 0x9000 + 0x9000: 0x4004d620, 0x9001: 0x002bde88, 0x9002: 0x002c0a88, 0x9003: 0x002c3a88, + 0x9004: 0x002c6288, 0x9005: 0x002c9888, 0x9006: 0x002d0888, 0x9007: 0x002d2288, + 0x9008: 0x002d6888, 0x9009: 0x002d9a88, 0x900a: 0x002dcc88, 0x900b: 0x002dfe88, + 0x900c: 0xc0030002, 0x900d: 0x002e8288, 0x900e: 0xc5462761, 0x900f: 0x002ee288, + 0x9010: 0x002f2c88, 0x9011: 0x002f5688, 0x9012: 0x002f7a88, 0x9013: 0x002fe688, + 0x9014: 0x00302c88, 0x9015: 0x00306c88, 0x9016: 0x0030be88, 0x9017: 0x0030e288, + 0x9018: 0x0030f688, 0x9019: 0x00310088, 0x901a: 0x00312a88, 0x901b: 0x4003f820, + 0x901c: 0x4004e420, 0x901d: 0x4003fa20, 0x901e: 0x40062420, 0x901f: 0x40021620, + 0x9020: 0x40061e20, 0x9021: 0x402bde20, 0x9022: 0x402c0a20, 0x9023: 0x402c3a20, + 0x9024: 0x402c6220, 0x9025: 0x402c9820, 0x9026: 0x402d0820, 0x9027: 0x402d2220, + 0x9028: 0x402d6820, 0x9029: 0x402d9a20, 0x902a: 0x402dcc20, 0x902b: 0x402dfe20, + 0x902c: 0xc0000002, 0x902d: 0x402e8220, 0x902e: 0xc5332761, 0x902f: 0x402ee220, + 0x9030: 0x402f2c20, 0x9031: 0x402f5620, 0x9032: 0x402f7a20, 0x9033: 0x402fe620, + 0x9034: 0x40302c20, 0x9035: 0x40306c20, 0x9036: 0x4030be20, 0x9037: 0x4030e220, + 0x9038: 0x4030f620, 0x9039: 0x40310020, 0x903a: 0x40312a20, 0x903b: 0x4003fc20, + 0x903c: 0x40094820, 0x903d: 0x4003fe20, 0x903e: 0x40094c20, 0x903f: 0xa0000000, + // Block 0x241, offset 0x9040 + 0x9040: 0xe00008f5, 0x9041: 0xe00008ef, 0x9042: 0xe0000921, 0x9043: 0xe0000969, + 0x9044: 0xe000095b, 0x9045: 0xe000094d, 0x9046: 0xe00009dd, 0x9047: 0xe0000a53, + 0x9048: 0xe0000ae8, 0x9049: 0xe0000ae2, 0x904a: 0xe0000af4, 0x904b: 0xe0000b20, + 0x904c: 0xe0000c2b, 0x904d: 0xe0000c25, 0x904e: 0xe0000c37, 0x904f: 0xe0000c43, + 0x9050: 0xe0000ab3, 0x9051: 0x002ea083, 0x9052: 0xe0000d9a, 0x9053: 0xe0000d94, + 0x9054: 0xe0000da6, 0x9055: 0xe0000de6, 0x9056: 0xe0000dd2, 0x9057: 0x40093e20, + 0x9058: 0xe0000e12, 0x9059: 0xe0000fe1, 0x905a: 0xe0000fdb, 0x905b: 0xe0000fed, + 0x905c: 0xe0000fff, 0x905d: 0xe0001102, 0x905e: 0x00318888, 0x905f: 0xe0000f7b, + 0x9060: 0xe00008f2, 0x9061: 0xe00008ec, 0x9062: 0xe000091e, 0x9063: 0xe0000966, + 0x9064: 0xe0000958, 0x9065: 0xe000094a, 0x9066: 0xe00009d5, 0x9067: 0xe0000a4d, + 0x9068: 0xe0000ae5, 0x9069: 0xe0000adf, 0x906a: 0xe0000af1, 0x906b: 0xe0000b1d, + 0x906c: 0xe0000c28, 0x906d: 0xe0000c22, 0x906e: 0xe0000c34, 0x906f: 0xe0000c40, + 0x9070: 0xe0000aad, 0x9071: 0x402ea020, 0x9072: 0xe0000d97, 0x9073: 0xe0000d91, + 0x9074: 0xe0000da3, 0x9075: 0xe0000de3, 0x9076: 0xe0000dcf, 0x9077: 0x40093c20, + 0x9078: 0xe0000e0f, 0x9079: 0xe0000fde, 0x907a: 0xe0000fd8, 0x907b: 0xe0000fea, + 0x907c: 0xe0000ffc, 0x907d: 0xe00010ff, 0x907e: 0x40318820, 0x907f: 0xe0001114, + // Block 0x242, offset 0x9080 + 0x9080: 0xa0000000, 0x9081: 0xa0000000, 0x9082: 0xa0000000, 0x9083: 0xa0000000, + 0x9084: 0xa0000000, 0x9085: 0xa0000000, 0x9086: 0xa0000000, 0x9087: 0xa0000000, + 0x9088: 0xa0000000, 0x9089: 0x40020020, 0x908a: 0x40020220, 0x908b: 0x40020420, + 0x908c: 0x40020620, 0x908d: 0x40020820, 0x908e: 0xa0000000, 0x908f: 0xa0000000, + 0x9090: 0xa0000000, 0x9091: 0xa0000000, 0x9092: 0xa0000000, 0x9093: 0xa0000000, + 0x9094: 0xa0000000, 0x9095: 0xa0000000, 0x9096: 0xa0000000, 0x9097: 0xa0000000, + 0x9098: 0xa0000000, 0x9099: 0xa0000000, 0x909a: 0xa0000000, 0x909b: 0xa0000000, + 0x909c: 0xa0000000, 0x909d: 0xa0000000, 0x909e: 0xa0000000, 0x909f: 0xa0000000, + 0x90a0: 0x40021220, 0x90a1: 0x4002ba20, 0x90a2: 0x4003e020, 0x90a3: 0x4004ea20, + 0x90a4: 0x4027de20, 0x90a5: 0x4004ec20, 0x90a6: 0x4004e620, 0x90a7: 0x4003d220, + 0x90a8: 0x4003f420, 0x90a9: 0x4003f620, 0x90aa: 0x4004d820, 0x90ab: 0x40093820, + 0x90ac: 0x40024020, 0x90ad: 0x40021a20, 0x90ae: 0x4002e420, 0x90af: 0x4004e220, + 0x90b0: 0x4029cc20, 0x90b1: 0x4029ce20, 0x90b2: 0x4029d020, 0x90b3: 0x4029d220, + 0x90b4: 0x4029d420, 0x90b5: 0x4029d620, 0x90b6: 0x4029d820, 0x90b7: 0x4029da20, + 0x90b8: 0x4029dc20, 0x90b9: 0x4029de20, 0x90ba: 0x40026c20, 0x90bb: 0x40026220, + 0x90bc: 0x40094020, 0x90bd: 0x40094220, 0x90be: 0x40094420, 0x90bf: 0x4002c420, + // Block 0x243, offset 0x90c0 + 0x90c0: 0x4004d620, 0x90c1: 0xc5580071, 0x90c2: 0x002c0a88, 0x90c3: 0x002c3a88, + 0x90c4: 0x002c6288, 0x90c5: 0x002c9888, 0x90c6: 0x002d0888, 0x90c7: 0x002d2288, + 0x90c8: 0x002d6888, 0x90c9: 0x002d9a88, 0x90ca: 0x002dcc88, 0x90cb: 0x002dfe88, + 0x90cc: 0xc0030002, 0x90cd: 0x002e8288, 0x90ce: 0x002e9e88, 0x90cf: 0xc5532781, + 0x90d0: 0x002f2c88, 0x90d1: 0x002f5688, 0x90d2: 0x002f7a88, 0x90d3: 0xc54a0991, + 0x90d4: 0x00302c88, 0x90d5: 0xc55c0071, 0x90d6: 0x0030be88, 0x90d7: 0x0030bea3, + 0x90d8: 0x0030f688, 0x90d9: 0x00310088, 0x90da: 0xc54e0991, 0x90db: 0x4003f820, + 0x90dc: 0x4004e420, 0x90dd: 0x4003fa20, 0x90de: 0x40062420, 0x90df: 0x40021620, + 0x90e0: 0x40061e20, 0x90e1: 0xc5560071, 0x90e2: 0x402c0a20, 0x90e3: 0x402c3a20, + 0x90e4: 0x402c6220, 0x90e5: 0x402c9820, 0x90e6: 0x402d0820, 0x90e7: 0x402d2220, + 0x90e8: 0x402d6820, 0x90e9: 0x402d9a20, 0x90ea: 0x402dcc20, 0x90eb: 0x402dfe20, + 0x90ec: 0xc0000002, 0x90ed: 0x402e8220, 0x90ee: 0x402e9e20, 0x90ef: 0xc5502781, + 0x90f0: 0x402f2c20, 0x90f1: 0x402f5620, 0x90f2: 0x402f7a20, 0x90f3: 0xc5480991, + 0x90f4: 0x40302c20, 0x90f5: 0xc55a0071, 0x90f6: 0x4030be20, 0x90f7: 0x4030be21, + 0x90f8: 0x4030f620, 0x90f9: 0x40310020, 0x90fa: 0xc54c0991, 0x90fb: 0x4003fc20, + 0x90fc: 0x40094820, 0x90fd: 0x4003fe20, 0x90fe: 0x40094c20, 0x90ff: 0xa0000000, + // Block 0x244, offset 0x9100 + 0x9100: 0xe00008f5, 0x9101: 0xe00008ef, 0x9102: 0xe0000921, 0x9103: 0xe0000969, + 0x9104: 0x0030f083, 0x9105: 0xe000094d, 0x9106: 0xe00009dd, 0x9107: 0xe0000a53, + 0x9108: 0xe0000ae8, 0x9109: 0xe0000ae2, 0x910a: 0xe0000af4, 0x910b: 0xe0000b20, + 0x910c: 0xe0000c2b, 0x910d: 0xe0000c25, 0x910e: 0xe0000c37, 0x910f: 0xe0000c43, + 0x9110: 0xe0000ab3, 0x9111: 0xe0000d63, 0x9112: 0xe0000d9a, 0x9113: 0xe0000d94, + 0x9114: 0xe0000da6, 0x9115: 0x0030ee83, 0x9116: 0x0030f283, 0x9117: 0x40093e20, + 0x9118: 0xe0000e12, 0x9119: 0xe0000fe1, 0x911a: 0xe0000fdb, 0x911b: 0xe0000fed, + 0x911c: 0x0030f483, 0x911d: 0xe0001102, 0x911e: 0x00318888, 0x911f: 0xe0000f7b, + 0x9120: 0xe00008f2, 0x9121: 0xe00008ec, 0x9122: 0xe000091e, 0x9123: 0xe0000966, + 0x9124: 0x4030f020, 0x9125: 0xe000094a, 0x9126: 0xe00009d5, 0x9127: 0xe0000a4d, + 0x9128: 0xe0000ae5, 0x9129: 0xe0000adf, 0x912a: 0xe0000af1, 0x912b: 0xe0000b1d, + 0x912c: 0xe0000c28, 0x912d: 0xe0000c22, 0x912e: 0xe0000c34, 0x912f: 0xe0000c40, + 0x9130: 0xe0000aad, 0x9131: 0xe0000d60, 0x9132: 0xe0000d97, 0x9133: 0xe0000d91, + 0x9134: 0xe0000da3, 0x9135: 0x4030ee20, 0x9136: 0x4030f220, 0x9137: 0x40093c20, + 0x9138: 0xe0000e0f, 0x9139: 0xe0000fde, 0x913a: 0xe0000fd8, 0x913b: 0xe0000fea, + 0x913c: 0x4030f420, 0x913d: 0xe00010ff, 0x913e: 0x40318820, 0x913f: 0xe0001114, + // Block 0x245, offset 0x9140 + 0x9140: 0xe0000cfe, 0x9141: 0xe0000cf8, 0x9142: 0xe0000cf5, 0x9143: 0xe0000d51, + 0x9144: 0xe0000d4e, 0x9145: 0xe0000d6f, 0x9146: 0xe0000d6c, 0x9147: 0xe0000d5d, + 0x9148: 0xe0000d5a, 0x9149: 0xf0000404, 0x914a: 0x002eda88, 0x914b: 0x402eda20, + 0x914c: 0xe0000e2e, 0x914d: 0xe0000e2b, 0x914e: 0xe0000da0, 0x914f: 0xe0000d9d, + 0x9150: 0xe0000de0, 0x9151: 0xe0000ddd, 0x9152: 0xe0000e93, 0x9153: 0xe0000e8f, + 0x9154: 0xe0000eca, 0x9155: 0xe0000ec7, 0x9156: 0xe0000edc, 0x9157: 0xe0000ed9, + 0x9158: 0xe0000ed0, 0x9159: 0xe0000ecd, 0x915a: 0xe0000f1f, 0x915b: 0xe0000f1c, + 0x915c: 0xe0000f2d, 0x915d: 0xe0000f2a, 0x915e: 0xe0000f47, 0x915f: 0xe0000f44, + 0x9160: 0x00302683, 0x9161: 0x40302620, 0x9162: 0xe0000f99, 0x9163: 0xe0000f96, + 0x9164: 0xe0000f8a, 0x9165: 0xe0000f87, 0x9166: 0x00303688, 0x9167: 0x40303620, + 0x9168: 0xe000102b, 0x9169: 0xe0001028, 0x916a: 0xe000103f, 0x916b: 0xe000103c, + 0x916c: 0xe0000fe7, 0x916d: 0xe0000fe4, 0x916e: 0xe0000ff9, 0x916f: 0xe0000ff6, + 0x9170: 0xe0001025, 0x9171: 0xe0001022, 0x9172: 0xe0001039, 0x9173: 0xe0001036, + 0x9174: 0xe0003636, 0x9175: 0xe0003633, 0x9176: 0xe000110e, 0x9177: 0xe000110b, + 0x9178: 0xe0001117, 0x9179: 0xe000360c, 0x917a: 0xe0003609, 0x917b: 0xe0003618, + 0x917c: 0xe0003615, 0x917d: 0x00302a83, 0x917e: 0x40302a20, 0x917f: 0xe0000f64, + // Block 0x246, offset 0x9180 + 0x9180: 0x40321220, 0x9181: 0x40321a20, 0x9182: 0x40322220, 0x9183: 0x40322a20, + 0x9184: 0xe0000ad5, 0x9185: 0xe0000ad1, 0x9186: 0xe0000acd, 0x9187: 0xf0000a0a, + 0x9188: 0xf000040a, 0x9189: 0xf0000404, 0x918a: 0xf0000a0a, 0x918b: 0xf000040a, + 0x918c: 0xf0000404, 0x918d: 0xe0000947, 0x918e: 0xe0000944, 0x918f: 0xe0000c3d, + 0x9190: 0xe0000c3a, 0x9191: 0xe0000dcc, 0x9192: 0xe0000dc9, 0x9193: 0xe0000ff3, + 0x9194: 0xe0000ff0, 0x9195: 0xe000368d, 0x9196: 0xe000368a, 0x9197: 0xe000367b, + 0x9198: 0xe0003678, 0x9199: 0xe0003687, 0x919a: 0xe0003684, 0x919b: 0xe0003681, + 0x919c: 0xe000367e, 0x919d: 0x402cae20, 0x919e: 0xe000366f, 0x919f: 0xe000366c, + 0x91a0: 0xe0000976, 0x91a1: 0xe0000972, 0x91a2: 0xe00009f4, 0x91a3: 0xe00009ef, + 0x91a4: 0x002d3a88, 0x91a5: 0x402d3a20, 0x91a6: 0xe0000bbe, 0x91a7: 0xe0000bbb, + 0x91a8: 0xe0000c99, 0x91a9: 0xe0000c96, 0x91aa: 0xe0000e20, 0x91ab: 0xe0000e1d, + 0x91ac: 0xe0000e27, 0x91ad: 0xe0000e23, 0x91ae: 0xe0001162, 0x91af: 0xe000115f, + 0x91b0: 0xe0000c8d, 0x91b1: 0xe00032b0, 0x91b2: 0xe00032ad, 0x91b3: 0xe00032aa, + 0x91b4: 0xe0000bac, 0x91b5: 0xe0000ba9, 0x91b6: 0x002d7888, 0x91b7: 0x00319488, + 0x91b8: 0xe0000d57, 0x91b9: 0xe0000d54, 0x91ba: 0xe0000954, 0x91bb: 0xe0000950, + 0x91bc: 0xe00009ea, 0x91bd: 0xe00009e5, 0x91be: 0xe0000e19, 0x91bf: 0xe0000e15, + // Block 0x247, offset 0x91c0 + 0x91c0: 0xe000098f, 0x91c1: 0xe000098c, 0x91c2: 0xe0000995, 0x91c3: 0xe0000992, + 0x91c4: 0xe0000b62, 0x91c5: 0xe0000b5f, 0x91c6: 0xe0000b68, 0x91c7: 0xe0000b65, + 0x91c8: 0xe0000c6c, 0x91c9: 0xe0000c69, 0x91ca: 0xe0000c72, 0x91cb: 0xe0000c6f, + 0x91cc: 0xe0000e4a, 0x91cd: 0xe0000e47, 0x91ce: 0xe0000e50, 0x91cf: 0xe0000e4d, + 0x91d0: 0xe0000ee8, 0x91d1: 0xe0000ee5, 0x91d2: 0xe0000eee, 0x91d3: 0xe0000eeb, + 0x91d4: 0xe0001053, 0x91d5: 0xe0001050, 0x91d6: 0xe0001059, 0x91d7: 0xe0001056, + 0x91d8: 0xe0000f61, 0x91d9: 0xe0000f5e, 0x91da: 0xe0000fa5, 0x91db: 0xe0000fa2, + 0x91dc: 0x00312288, 0x91dd: 0x40312220, 0x91de: 0xe0000bf4, 0x91df: 0xe0000bf1, + 0x91e0: 0x002ebc88, 0x91e1: 0x402c8c20, 0x91e2: 0x002f2288, 0x91e3: 0x402f2220, + 0x91e4: 0x00314088, 0x91e5: 0x40314020, 0x91e6: 0xe000096f, 0x91e7: 0xe000096c, + 0x91e8: 0xe0000b32, 0x91e9: 0xe0000b2f, 0x91ea: 0xe0003675, 0x91eb: 0xe0003672, + 0x91ec: 0xe0003663, 0x91ed: 0xe0003660, 0x91ee: 0xe0000e04, 0x91ef: 0xe0000e01, + 0x91f0: 0xe0000e0b, 0x91f1: 0xe0000e07, 0x91f2: 0xe0001129, 0x91f3: 0xe0001126, + 0x91f4: 0x402e5e20, 0x91f5: 0x402ed020, 0x91f6: 0x40305a20, 0x91f7: 0x402dd420, + 0x91f8: 0xe0000abf, 0x91f9: 0xe0000ec4, 0x91fa: 0x002be888, 0x91fb: 0x002c4488, + 0x91fc: 0x402c4420, 0x91fd: 0x002e3888, 0x91fe: 0x00303e88, 0x91ff: 0x402ffc20, + // Block 0x248, offset 0x9200 + 0x9200: 0xe0000d24, 0x9201: 0xe0000d21, 0x9202: 0xe0000d2a, 0x9203: 0xe0000d27, + 0x9204: 0xe0000d69, 0x9205: 0xe0000d66, 0x9206: 0xe0000d7b, 0x9207: 0xe0000d78, + 0x9208: 0xe0000d87, 0x9209: 0xe0000d84, 0x920a: 0xe0000d81, 0x920b: 0xe0000d7e, + 0x920c: 0xe0003651, 0x920d: 0xe000364e, 0x920e: 0xe000365d, 0x920f: 0xe000365a, + 0x9210: 0xe0000e3d, 0x9211: 0xe0000e39, 0x9212: 0xe0000e35, 0x9213: 0xe0000e31, + 0x9214: 0xe0000ea7, 0x9215: 0xe0000ea4, 0x9216: 0xe0000ead, 0x9217: 0xe0000eaa, + 0x9218: 0xe0000ed6, 0x9219: 0xe0000ed3, 0x921a: 0xe0000ef4, 0x921b: 0xe0000ef1, + 0x921c: 0xe0000efb, 0x921d: 0xe0000ef7, 0x921e: 0xe0000f02, 0x921f: 0xe0000eff, + 0x9220: 0xe0000f41, 0x9221: 0xe0000f3e, 0x9222: 0xe0000f53, 0x9223: 0xe0000f50, + 0x9224: 0xe0000f26, 0x9225: 0xe0000f22, 0x9226: 0xe0003606, 0x9227: 0xe0003603, + 0x9228: 0xe0000f5a, 0x9229: 0xe0000f56, 0x922a: 0xe0000f93, 0x922b: 0xe0000f90, + 0x922c: 0xe0000f9f, 0x922d: 0xe0000f9c, 0x922e: 0xe0000fb1, 0x922f: 0xe0000fae, + 0x9230: 0xe0000fab, 0x9231: 0xe0000fa8, 0x9232: 0xe0001093, 0x9233: 0xe0001090, + 0x9234: 0xe000109f, 0x9235: 0xe000109c, 0x9236: 0xe0001099, 0x9237: 0xe0001096, + 0x9238: 0xe0001032, 0x9239: 0xe000102e, 0x923a: 0xe000368d, 0x923b: 0xe000368a, + 0x923c: 0xe00010a9, 0x923d: 0xe00010a6, 0x923e: 0xe00010af, 0x923f: 0xe00010ac, + // Block 0x249, offset 0x9240 + 0x9240: 0xe0003630, 0x9241: 0xe000362d, 0x9242: 0xe000362a, 0x9243: 0xe0003627, + 0x9244: 0xe000363f, 0x9245: 0xe000363c, 0x9246: 0xe0003645, 0x9247: 0xe0003642, + 0x9248: 0xe000364b, 0x9249: 0xe0003648, 0x924a: 0xe00010fc, 0x924b: 0xe00010f9, + 0x924c: 0xe00010f6, 0x924d: 0xe00010f3, 0x924e: 0xe0001123, 0x924f: 0xe0001120, + 0x9250: 0xe0003612, 0x9251: 0xe000360f, 0x9252: 0xe000361e, 0x9253: 0xe000361b, + 0x9254: 0xe0003624, 0x9255: 0xe0003621, 0x9256: 0xe0000c15, 0x9257: 0xe0000f8d, + 0x9258: 0xe0003639, 0x9259: 0xe0001111, 0x925a: 0xf0000404, 0x925b: 0xe0000f70, + 0x925c: 0x40300420, 0x925d: 0x40300620, 0x925e: 0xe0000f7f, 0x925f: 0x402c9620, + 0x9260: 0xe000099b, 0x9261: 0xe0000998, 0x9262: 0xe0000989, 0x9263: 0xe0000986, + 0x9264: 0xe0000928, 0x9265: 0xe0000924, 0x9266: 0xe0000930, 0x9267: 0xe000092c, + 0x9268: 0xe0000940, 0x9269: 0xe000093c, 0x926a: 0xe0000938, 0x926b: 0xe0000934, + 0x926c: 0xe00009aa, 0x926d: 0xe00009a6, 0x926e: 0xe0000902, 0x926f: 0xe00008fe, + 0x9270: 0xe000090a, 0x9271: 0xe0000906, 0x9272: 0xe000091a, 0x9273: 0xe0000916, + 0x9274: 0xe0000912, 0x9275: 0xe000090e, 0x9276: 0xe00009a2, 0x9277: 0xe000099e, + 0x9278: 0xe0000b6e, 0x9279: 0xe0000b6b, 0x927a: 0xe0000b5c, 0x927b: 0xe0000b59, + 0x927c: 0xe0000b26, 0x927d: 0xe0000b23, 0x927e: 0xe0000afb, 0x927f: 0xe0000af7, + // Block 0x24a, offset 0x9280 + 0x9280: 0xe0000b03, 0x9281: 0xe0000aff, 0x9282: 0xe0000b13, 0x9283: 0xe0000b0f, + 0x9284: 0xe0000b0b, 0x9285: 0xe0000b07, 0x9286: 0xe0000b75, 0x9287: 0xe0000b71, + 0x9288: 0xe0000c66, 0x9289: 0xe0000c63, 0x928a: 0xe0000c78, 0x928b: 0xe0000c75, + 0x928c: 0xe0000e84, 0x928d: 0xe0000e81, 0x928e: 0xe0000e44, 0x928f: 0xe0000e41, + 0x9290: 0xe0000dad, 0x9291: 0xe0000da9, 0x9292: 0xe0000db5, 0x9293: 0xe0000db1, + 0x9294: 0xe0000dc5, 0x9295: 0xe0000dc1, 0x9296: 0xe0003657, 0x9297: 0xe0003654, + 0x9298: 0xe0000e8b, 0x9299: 0xe0000e87, 0x929a: 0xe0000e5d, 0x929b: 0xe0000e59, + 0x929c: 0xe0000e65, 0x929d: 0xe0000e61, 0x929e: 0xe0000e75, 0x929f: 0xe0000e71, + 0x92a0: 0xe0003669, 0x92a1: 0xe0003666, 0x92a2: 0xe0000e7d, 0x92a3: 0xe0000e79, + 0x92a4: 0xe000108d, 0x92a5: 0xe000108a, 0x92a6: 0xe000104d, 0x92a7: 0xe000104a, + 0x92a8: 0xe0001066, 0x92a9: 0xe0001062, 0x92aa: 0xe000106e, 0x92ab: 0xe000106a, + 0x92ac: 0xe000107e, 0x92ad: 0xe000107a, 0x92ae: 0xe0001076, 0x92af: 0xe0001072, + 0x92b0: 0xe0001086, 0x92b1: 0xe0001082, 0x92b2: 0xe0001108, 0x92b3: 0xe0001105, + 0x92b4: 0xe0001135, 0x92b5: 0xe0001132, 0x92b6: 0xe000112f, 0x92b7: 0xe000112c, + 0x92b8: 0xe000111d, 0x92b9: 0xe000111a, 0x92ba: 0xe0000d0a, 0x92bb: 0xe0000d07, + 0x92bc: 0x0030d888, 0x92bd: 0x4030d820, 0x92be: 0x00312088, 0x92bf: 0x40312020, + // Block 0x24b, offset 0x92c0 + 0x92c0: 0xe0000024, 0x92c1: 0xe0000029, 0x92c2: 0xe000002e, 0x92c3: 0xe0000033, + 0x92c4: 0xe0000038, 0x92c5: 0xe000003d, 0x92c6: 0xe0000042, 0x92c7: 0xe0000047, + 0x92c8: 0xf0001f04, 0x92c9: 0xf0001f04, 0x92ca: 0xf0001f04, 0x92cb: 0xf0001f04, + 0x92cc: 0xf0001f04, 0x92cd: 0xf0001f04, 0x92ce: 0xf0001f04, 0x92cf: 0xf0001f04, + 0x92d0: 0xf0001f04, 0x92d1: 0xf0000404, 0x92d2: 0xf0000404, 0x92d3: 0xf0000404, + 0x92d4: 0xf0000404, 0x92d5: 0xf0000404, 0x92d6: 0xf0000404, 0x92d7: 0xf0000404, + 0x92d8: 0xf0000404, 0x92d9: 0xf0000404, 0x92da: 0xf0000404, 0x92db: 0xf0000404, + 0x92dc: 0xf0000404, 0x92dd: 0xf0000404, 0x92de: 0xf0000404, 0x92df: 0xf0000404, + 0x92e0: 0xf0000404, 0x92e1: 0xf0000404, 0x92e2: 0xf0000404, 0x92e3: 0xf0000404, + 0x92e4: 0xf0000404, 0x92e5: 0xf0000404, 0x92e6: 0xf0000404, 0x92e7: 0xf0000404, + 0x92e8: 0xf0000404, 0x92e9: 0xf0000404, 0x92ea: 0xf0000404, 0x92eb: 0xf0000404, + 0x92ec: 0xf0000404, 0x92ed: 0xf0000404, 0x92ee: 0xf0000404, 0x92ef: 0xf0000404, + 0x92f0: 0xf0000404, 0x92f1: 0xf0000404, 0x92f2: 0xe0002c46, 0x92f3: 0xf0000404, + 0x92f4: 0xf0000404, 0x92f5: 0xe0002c56, 0x92f6: 0x002bde8c, 0x92f7: 0x002c0a8c, + 0x92f8: 0x002c3a8c, 0x92f9: 0x002c628c, 0x92fa: 0x002c988c, 0x92fb: 0x002d088c, + 0x92fc: 0x002d228c, 0x92fd: 0x002d688c, 0x92fe: 0x002d9a8c, 0x92ff: 0x002dcc8c, + // Block 0x24c, offset 0x9300 + 0x9300: 0xf0001d1c, 0x9301: 0xf0001d1c, 0x9302: 0xf0001d1c, 0x9303: 0xf0001d1c, + 0x9304: 0xf0001d1c, 0x9305: 0xf0001d1d, 0x9306: 0xf0001d1d, 0x9307: 0xf0001d1d, + 0x9308: 0xe0000a6b, 0x9309: 0xe0000cb4, 0x930a: 0xf0001d1c, 0x930b: 0xf0001d1c, + 0x930c: 0xf0001d1c, 0x930d: 0xf0001c1c, 0x930e: 0xf0001c1c, 0x930f: 0xf0001c1c, + 0x9310: 0xe00027ce, 0x9311: 0xe0000cb9, 0x9312: 0xe0000d36, 0x9313: 0xe0000be3, + 0x9314: 0xe0000fc5, 0x9315: 0xf0001c1c, 0x9316: 0xf0001c1c, 0x9317: 0xf0001c1c, + 0x9318: 0xf0001c1c, 0x9319: 0xf0001c1c, 0x931a: 0xf0001c1c, 0x931b: 0xf0001c1c, + 0x931c: 0xf0001c1c, 0x931d: 0xf0001c1c, 0x931e: 0xf0001c1c, 0x931f: 0xe0000d3e, + 0x9320: 0xe0000a72, 0x9321: 0xf0001c1c, 0x9322: 0xe0000cbd, 0x9323: 0xe0000d42, + 0x9324: 0xe0000a76, 0x9325: 0xf0001c1c, 0x9326: 0xe0000cc1, 0x9327: 0xe0000d2d, + 0x9328: 0xe0000d31, 0x9329: 0xf0001c1d, 0x932a: 0xe0000cc5, 0x932b: 0xe0000d4a, + 0x932c: 0xe0000be7, 0x932d: 0xe0000f0b, 0x932e: 0xe0000f0f, 0x932f: 0xe0000f15, + 0x9330: 0xf0001c1c, 0x9331: 0xf0001c1c, 0x9332: 0xf0001c1c, 0x9333: 0xf0001c1c, + 0x9334: 0xf0001d1c, 0x9335: 0xf0001d1c, 0x9336: 0xf0001d1c, 0x9337: 0xf0001d1c, + 0x9338: 0xf0001d1c, 0x9339: 0xf0001d1d, 0x933a: 0xe00035df, 0x933b: 0xe00035cd, + 0x933c: 0xe0003600, 0x933d: 0xe00035af, 0x933e: 0xe0002812, 0x933f: 0xe00035b2, + // Block 0x24d, offset 0x9340 + 0x9340: 0xf0001d1c, 0x9341: 0xf0001d1d, 0x9342: 0xe00009b7, 0x9343: 0xf0001c1d, + 0x9344: 0xf0001c1c, 0x9345: 0xf0001c1c, 0x9346: 0xe0000a66, 0x9347: 0xe0000a7a, + 0x9348: 0xf0001d1c, 0x9349: 0xf0001c1d, 0x934a: 0xf0001c1c, 0x934b: 0xf0001d1d, + 0x934c: 0xf0001c1c, 0x934d: 0xf0001d1d, 0x934e: 0xf0001d1d, 0x934f: 0xf0001c1c, + 0x9350: 0xf0001c1c, 0x9351: 0xf0001c1c, 0x9352: 0xe0000d0d, 0x9353: 0xf0001c1c, + 0x9354: 0xf0001c1c, 0x9355: 0xe0000d3a, 0x9356: 0xe0000d46, 0x9357: 0xf0001d1d, + 0x9358: 0xe0000eb0, 0x9359: 0xe0000eb8, 0x935a: 0xf0001d1d, 0x935b: 0xf0001c1c, + 0x935c: 0xf0001c1d, 0x935d: 0xe00035e2, 0x935e: 0xe00010b2, 0x935f: 0xe00009c8, + 0x9360: 0xf0001f04, 0x9361: 0xf0001f04, 0x9362: 0xf0001f04, 0x9363: 0xf0001f04, + 0x9364: 0xf0001f04, 0x9365: 0xf0001f04, 0x9366: 0xf0001f04, 0x9367: 0xf0001f04, + 0x9368: 0xf0001f04, 0x9369: 0xf0000404, 0x936a: 0xf0000404, 0x936b: 0xf0000404, + 0x936c: 0xf0000404, 0x936d: 0xf0000404, 0x936e: 0xf0000404, 0x936f: 0xf0000404, + 0x9370: 0xf0000404, 0x9371: 0xf0000404, 0x9372: 0xf0000404, 0x9373: 0xf0000404, + 0x9374: 0xf0000404, 0x9375: 0xf0000404, 0x9376: 0xf0000404, 0x9377: 0xf0000404, + 0x9378: 0xf0000404, 0x9379: 0xf0000404, 0x937a: 0xf0000404, 0x937b: 0xf0000404, + 0x937c: 0xf0000404, 0x937d: 0xf0000404, 0x937e: 0xf0000404, 0x937f: 0xe0000bdf, + // Block 0x24e, offset 0x9380 + 0x9380: 0xf0001f04, 0x9381: 0xf0001f04, 0x9382: 0xf0001f04, 0x9383: 0xf0001f04, + 0x9384: 0xf0001f04, 0x9385: 0xf0001f04, 0x9386: 0xf0001f04, 0x9387: 0xf0001f04, + 0x9388: 0xf0001f04, 0x9389: 0xf0001f04, 0x938a: 0xf0001f04, + 0x9390: 0xf0000a04, 0x9391: 0xf0000a04, 0x9392: 0xf0000a04, 0x9393: 0xf0000a04, + 0x9394: 0xf0000a04, 0x9395: 0xf0000a04, 0x9396: 0xf0000a04, 0x9397: 0xf0000a04, + 0x9398: 0xf0000a04, 0x9399: 0xf0000a04, 0x939a: 0xf0000a04, 0x939b: 0xf0000a04, + 0x939c: 0xf0000a04, 0x939d: 0xf0000a04, 0x939e: 0xf0000a04, 0x939f: 0xf0000a04, + 0x93a0: 0xf0000a04, 0x93a1: 0xf0000a04, 0x93a2: 0xf0000a04, 0x93a3: 0xf0000a04, + 0x93a4: 0xf0000a04, 0x93a5: 0xf0000a04, 0x93a6: 0xe0002c4a, 0x93a7: 0xf0000a04, + 0x93a8: 0xf0000a04, 0x93a9: 0xe0002c5a, 0x93aa: 0xf0000a04, 0x93ab: 0x002c3a8c, + 0x93ac: 0x002f7a8c, 0x93ad: 0xf0000c0c, 0x93ae: 0xe00035e8, + 0x93b0: 0x002bde9d, 0x93b1: 0x002c0a9d, 0x93b2: 0x002c3a9d, 0x93b3: 0x002c629d, + 0x93b4: 0x002c989d, 0x93b5: 0x002d089d, 0x93b6: 0x002d229d, 0x93b7: 0x002d689d, + 0x93b8: 0x002d9a9d, 0x93b9: 0x002dcc9d, 0x93ba: 0x002dfe9d, 0x93bb: 0x002e229d, + 0x93bc: 0x002e829d, 0x93bd: 0x002e9e9d, 0x93be: 0x002ee29d, 0x93bf: 0x002f2c9d, + // Block 0x24f, offset 0x93c0 + 0x93c0: 0x002f569d, 0x93c1: 0x002f7a9d, 0x93c2: 0x002fe69d, 0x93c3: 0x00302c9d, + 0x93c4: 0x00306c9d, 0x93c5: 0x0030be9d, 0x93c6: 0x0030e29d, 0x93c7: 0x0030f69d, + 0x93c8: 0x0031009d, 0x93c9: 0x00312a9d, 0x93ca: 0xf0001d1d, 0x93cb: 0xf0001d1d, + 0x93cc: 0xf0001d1d, 0x93cd: 0xf0001d1d, 0x93ce: 0xe0000ebc, 0x93cf: 0xe00035e5, + 0x93d0: 0x002bde8c, 0x93d1: 0x002c0a8c, 0x93d2: 0x002c3a8c, 0x93d3: 0x002c628c, + 0x93d4: 0x002c988c, 0x93d5: 0x002d088c, 0x93d6: 0x002d228c, 0x93d7: 0x002d688c, + 0x93d8: 0x002d9a8c, 0x93d9: 0x002dcc8c, 0x93da: 0x002dfe8c, 0x93db: 0x002e228c, + 0x93dc: 0x002e828c, 0x93dd: 0x002e9e8c, 0x93de: 0x002ee28c, 0x93df: 0x002f2c8c, + 0x93e0: 0x002f568c, 0x93e1: 0x002f7a8c, 0x93e2: 0x002fe68c, 0x93e3: 0x00302c8c, + 0x93e4: 0x00306c8c, 0x93e5: 0x0030be8c, 0x93e6: 0x0030e28c, 0x93e7: 0x0030f68c, + 0x93e8: 0x0031008c, 0x93e9: 0x00312a8c, 0x93ea: 0xf0001414, 0x93eb: 0xf0001414, + 0x93f0: 0x002bde9d, 0x93f1: 0x002c0a9d, 0x93f2: 0x002c3a9d, 0x93f3: 0x002c629d, + 0x93f4: 0x002c989d, 0x93f5: 0x002d089d, 0x93f6: 0x002d229d, 0x93f7: 0x002d689d, + 0x93f8: 0x002d9a9d, 0x93f9: 0x002dcc9d, 0x93fa: 0x002dfe9d, 0x93fb: 0x002e229d, + 0x93fc: 0x002e829d, 0x93fd: 0x002e9e9d, 0x93fe: 0x002ee29d, 0x93ff: 0x002f2c9d, + // Block 0x250, offset 0x9400 + 0x9400: 0xa0000000, 0x9401: 0xa0000000, 0x9402: 0xa0000000, 0x9403: 0xa0000000, + 0x9404: 0xa0000000, 0x9406: 0x40096620, 0x9407: 0x40096a20, + 0x9408: 0x40070820, 0x9409: 0x4004f220, 0x940a: 0x4004f620, 0x940b: 0x4027e620, + 0x940c: 0x40024820, 0x940d: 0x40024a20, 0x940e: 0x40070e20, 0x940f: 0x40071020, + 0x9410: 0xae600000, 0x9411: 0xae600000, 0x9412: 0xae600000, 0x9413: 0xae600000, + 0x9414: 0xae600000, 0x9415: 0xae600000, 0x9416: 0xae600000, 0x9417: 0xae600000, + 0x9418: 0xa1e00000, 0x9419: 0xa1f00000, 0x941a: 0xa2000000, 0x941b: 0x40026420, + 0x941e: 0x40027020, 0x941f: 0x4002cc20, + 0x9420: 0x403aa220, 0x9421: 0x40393a20, 0x9422: 0x40393620, 0x9423: 0x40393a21, + 0x9424: 0x40393a25, 0x9425: 0x40393a23, 0x9426: 0x00393b44, 0x9427: 0xc55e0151, + 0x9428: 0x40393c20, 0x9429: 0x403a8823, 0x942a: 0x40395620, 0x942b: 0x40395820, + 0x942c: 0x40396420, 0x942d: 0x40397220, 0x942e: 0x40397420, 0x942f: 0x40398820, + 0x9430: 0x40398a20, 0x9431: 0x4039a420, 0x9432: 0x4039a620, 0x9433: 0x4039c620, + 0x9434: 0x4039c820, 0x9435: 0x4039dc20, 0x9436: 0x4039de20, 0x9437: 0x4039e620, + 0x9438: 0x4039e820, 0x9439: 0x4039ee20, 0x943a: 0x4039f020, 0x943b: 0x403a3820, + 0x943c: 0x403a3a20, 0x943d: 0x403a9c20, 0x943e: 0x403a9e20, 0x943f: 0x403aa020, + // Block 0x251, offset 0x9440 + 0x9440: 0xa0000000, 0x9441: 0x4039fc20, 0x9442: 0x403a1220, 0x9443: 0x403a1c23, + 0x9444: 0x403a4020, 0x9445: 0x403a4e20, 0x9446: 0x403a5620, 0x9447: 0x403a8820, + 0x9448: 0xc5620171, 0x9449: 0xc5660171, 0x944a: 0xc5680171, 0x944b: 0xa000b002, + 0x944c: 0xa000b202, 0x944d: 0xa000b102, 0x944e: 0xa1e0ad02, 0x944f: 0xa000af02, + 0x9450: 0xa000ae02, 0x9451: 0xa210ba02, 0x9452: 0xa220bc02, 0x9453: 0xae60bd02, + 0x9454: 0xae60be02, 0x9455: 0xadc0bf02, 0x9456: 0xadc0c102, 0x9457: 0xae60c202, + 0x9458: 0xae60c302, 0x9459: 0xae60c402, 0x945a: 0xae60c502, 0x945b: 0xae60c602, + 0x945c: 0xadc0c702, 0x945d: 0xae60c802, 0x945e: 0xae60c902, 0x945f: 0xadc0c002, + 0x9460: 0xe000015e, 0x9461: 0xe00001e6, 0x9462: 0xe0000301, 0x9463: 0xe00003db, + 0x9464: 0xe00004b6, 0x9465: 0xe0000580, 0x9466: 0xe000064b, 0x9467: 0xe00006f3, + 0x9468: 0xe000079f, 0x9469: 0xe0000844, 0x946a: 0x4004ee20, 0x946b: 0x40024c20, + 0x946c: 0x40024e20, 0x946d: 0x4004de20, 0x946e: 0x40393a20, 0x946f: 0x403a1020, + 0x9470: 0xa230d102, 0x9471: 0x40393821, 0x9472: 0x40393a22, 0x9473: 0x40393a24, + 0x9474: 0x00391c84, 0x9475: 0xf0000404, 0x9476: 0xf0000404, 0x9477: 0xf0000404, + 0x9478: 0xe0003780, 0x9479: 0x40395a20, 0x947a: 0x40395c20, 0x947b: 0x40393e20, + 0x947c: 0x40395e20, 0x947d: 0x40396020, 0x947e: 0x40394020, 0x947f: 0x40396220, + // Block 0x252, offset 0x9480 + 0x9480: 0x40394220, 0x9481: 0x40397620, 0x9482: 0x40397820, 0x9483: 0x40396620, + 0x9484: 0x40396820, 0x9485: 0x40397a20, 0x9486: 0x40396a20, 0x9487: 0x40396e20, + 0x9488: 0x40398c20, 0x9489: 0x40398e20, 0x948a: 0x40399020, 0x948b: 0x40399220, + 0x948c: 0x40399420, 0x948d: 0x40399620, 0x948e: 0x40399820, 0x948f: 0x40399a20, + 0x9490: 0x40399c20, 0x9491: 0x4039a820, 0x9492: 0x4039aa20, 0x9493: 0x4039ac20, + 0x9494: 0x4039ae20, 0x9495: 0x4039b020, 0x9496: 0x4039b220, 0x9497: 0x4039b420, + 0x9498: 0x4039b620, 0x9499: 0x4039b820, 0x949a: 0x4039ca20, 0x949b: 0x4039cc20, + 0x949c: 0x4039ce20, 0x949d: 0x4039e020, 0x949e: 0x4039e220, 0x949f: 0x4039ea20, + 0x94a0: 0x4039f220, 0x94a1: 0x4039fe20, 0x94a2: 0x403a0020, 0x94a3: 0x403a0220, + 0x94a4: 0x403a0420, 0x94a5: 0x403a0820, 0x94a6: 0x403a0a20, 0x94a7: 0x403a1420, + 0x94a8: 0x403a1620, 0x94a9: 0x403a1c20, 0x94aa: 0x403a1c21, 0x94ab: 0x403a1c22, + 0x94ac: 0x403a1c24, 0x94ad: 0x403a1c25, 0x94ae: 0x403a1c26, 0x94af: 0x403a2a20, + 0x94b0: 0x403a2c20, 0x94b1: 0x403a2e20, 0x94b2: 0x403a3020, 0x94b3: 0x403a3220, + 0x94b4: 0x403a3420, 0x94b5: 0x403a4220, 0x94b6: 0x403a4420, 0x94b7: 0x403a4620, + 0x94b8: 0x403a4820, 0x94b9: 0x403a6020, 0x94ba: 0x403a5820, 0x94bb: 0x403a5a20, + 0x94bc: 0x403a5c20, 0x94bd: 0x403a5e20, 0x94be: 0x403a8826, 0x94bf: 0x40396c20, + // Block 0x253, offset 0x94c0 + 0x94c0: 0x403a8825, 0x94c1: 0x403a8822, 0x94c2: 0xe0003777, 0x94c3: 0x403a8824, + 0x94c4: 0x403a7620, 0x94c5: 0x403a7820, 0x94c6: 0x403a7a20, 0x94c7: 0x403a7c20, + 0x94c8: 0x403a7e20, 0x94c9: 0x403a8020, 0x94ca: 0x403a8220, 0x94cb: 0x403a8420, + 0x94cc: 0xc5640171, 0x94cd: 0x403a9226, 0x94ce: 0x403a9227, 0x94cf: 0x403a8620, + 0x94d0: 0x403a9224, 0x94d1: 0x403a9225, 0x94d2: 0x403a9222, 0x94d3: 0xe00037b6, + 0x94d4: 0x4002e820, 0x94d5: 0xc56a0171, 0x94d6: 0xae600000, 0x94d7: 0xae600000, + 0x94d8: 0xae600000, 0x94d9: 0xae600000, 0x94da: 0xae600000, 0x94db: 0xae600000, + 0x94dc: 0xae600000, 0x94dd: 0xa0000000, 0x94de: 0x40071220, 0x94df: 0xae600000, + 0x94e0: 0xae600000, 0x94e1: 0xae600000, 0x94e2: 0xae600000, 0x94e3: 0xadc00000, + 0x94e4: 0xae600000, 0x94e5: 0x003a7484, 0x94e6: 0x003a9084, 0x94e7: 0xae600000, + 0x94e8: 0xae600000, 0x94e9: 0x40071420, 0x94ea: 0xadc00000, 0x94eb: 0xae600000, + 0x94ec: 0xae600000, 0x94ed: 0xadc00000, 0x94ee: 0x40399e20, 0x94ef: 0x4039ba20, + 0x94f0: 0xe0000161, 0x94f1: 0xe00001e9, 0x94f2: 0xe0000304, 0x94f3: 0xe00003de, + 0x94f4: 0xe00004b9, 0x94f5: 0xe0000583, 0x94f6: 0xe000064e, 0x94f7: 0xe00006f6, + 0x94f8: 0xe00007a2, 0x94f9: 0xe0000847, 0x94fa: 0x4039d020, 0x94fb: 0x4039e420, + 0x94fc: 0x4039f420, 0x94fd: 0xe0001553, 0x94fe: 0xe0001779, 0x94ff: 0x403a7020, + // Block 0x254, offset 0x9500 + 0x9500: 0x00396e97, 0x9501: 0x00396e98, 0x9502: 0x0039969a, 0x9503: 0x00399699, + 0x9504: 0x0039949a, 0x9505: 0x00399499, 0x9506: 0x0039989a, 0x9507: 0x00399899, + 0x9508: 0x00398c9a, 0x9509: 0x00398c99, 0x950a: 0x0039b69a, 0x950b: 0x0039b699, + 0x950c: 0x0039a89a, 0x950d: 0x0039a899, 0x950e: 0x003a1c9a, 0x950f: 0x003a1c99, + 0x9510: 0x003a1c97, 0x9511: 0x003a1c98, 0x9512: 0x003a2a9a, 0x9513: 0x003a2a99, + 0x9514: 0x003a2a97, 0x9515: 0x003a2a98, 0x9516: 0x003a329a, 0x9517: 0x003a3299, + 0x9518: 0x003a3297, 0x9519: 0x003a3298, 0x951a: 0x003a2e9a, 0x951b: 0x003a2e99, + 0x951c: 0x003a2e97, 0x951d: 0x003a2e98, 0x951e: 0x003a589a, 0x951f: 0x003a5899, + 0x9520: 0x003a5a9a, 0x9521: 0x003a5a99, 0x9522: 0x003a5a97, 0x9523: 0x003a5a98, + 0x9524: 0xe0003774, 0x9525: 0xe0003771, 0x9526: 0x003a6c9a, 0x9527: 0x003a6c99, + 0x9528: 0x003a6c97, 0x9529: 0x003a6c98, 0x952a: 0x003a6a9a, 0x952b: 0x003a6a99, + 0x952c: 0x003a6a97, 0x952d: 0x003a6a98, 0x952e: 0x003aaa9a, 0x952f: 0x003aaa99, + 0x9530: 0xe00037bc, 0x9531: 0xe00037b9, 0x9532: 0x40071820, 0x9533: 0x40071a20, + 0x9534: 0x40071c20, 0x9535: 0x40071e20, 0x9536: 0x40072020, 0x9537: 0x40072220, + 0x9538: 0x40072420, 0x9539: 0x40072620, 0x953a: 0x40072820, 0x953b: 0x40072a20, + 0x953c: 0x40072c20, 0x953d: 0x40072e20, 0x953e: 0x40073020, 0x953f: 0x40073220, + // Block 0x255, offset 0x9540 + 0x9540: 0xe000155f, 0x9541: 0xe0001565, 0x9542: 0xe000157a, 0x9543: 0xe00015b0, + 0x9544: 0xe00015b6, 0x9545: 0xf0001a1a, 0x9546: 0xf0001a1a, 0x9547: 0xf0001a1a, + 0x9548: 0xf0001a1a, 0x9549: 0xe0002894, 0x954a: 0xe00036a5, 0x954b: 0xf0001a1a, + 0x954c: 0xf0001a1a, 0x954d: 0xf0001a1a, 0x954e: 0xf0001a1a, 0x954f: 0xe000289a, + 0x9550: 0xe00036b1, 0x9551: 0xf0001a1a, 0x9552: 0xf0001a1a, 0x9553: 0xe00028a0, + 0x9554: 0xe00036ba, 0x9555: 0xf0001a1a, 0x9556: 0xf0001a1a, 0x9557: 0xf0001a1a, + 0x9558: 0xf0001a1a, 0x9559: 0xf0001a1a, 0x955a: 0xf0001a1a, 0x955b: 0xf0001a1a, + 0x955c: 0xf0001a1a, 0x955d: 0xf0001a1a, 0x955e: 0xf0001a1a, 0x955f: 0xf0001a1a, + 0x9560: 0xf0001a1a, 0x9561: 0xf0001a1a, 0x9562: 0xf0001a1a, 0x9563: 0xf0001a1a, + 0x9564: 0xf0001a1a, 0x9565: 0xf0001a1a, 0x9566: 0xf0001a1a, 0x9567: 0xf0001a1a, + 0x9568: 0xf0001a1a, 0x9569: 0xf0001a1a, 0x956a: 0xf0001a1a, 0x956b: 0xf0001a1a, + 0x956c: 0xf0001a1a, 0x956d: 0xf0001a1a, 0x956e: 0xf0001a1a, 0x956f: 0xf0001a1a, + 0x9570: 0xf0001a1a, 0x9571: 0xe00028e2, 0x9572: 0xe0003708, 0x9573: 0xf0001a1a, + 0x9574: 0xf0001a1a, 0x9575: 0xe00028e8, 0x9576: 0xe000370e, 0x9577: 0xe0003714, + 0x9578: 0xe000371a, 0x9579: 0xe0003720, 0x957a: 0xe0003726, 0x957b: 0xe0003732, + 0x957c: 0xe000373e, 0x957d: 0xe00028ee, 0x957e: 0xe0003744, 0x957f: 0xf0001a1a, + // Block 0x256, offset 0x9580 + 0x9580: 0xf0001a1a, 0x9581: 0xf0001a1a, 0x9582: 0xf0001a1a, 0x9583: 0xe00028f4, + 0x9584: 0xe000374d, 0x9585: 0xf0001a1a, 0x9586: 0xf0001a1a, 0x9587: 0xf0001a1a, + 0x9588: 0xf0001a1a, 0x9589: 0xe00028f7, 0x958a: 0xe0003750, 0x958b: 0xf0001a1a, + 0x958c: 0xf0001a1a, 0x958d: 0xf0001a1a, 0x958e: 0xf0001a1a, 0x958f: 0xe00028fd, + 0x9590: 0xe000375c, 0x9591: 0xe0003765, 0x9592: 0xe000376b, 0x9593: 0xe0002900, + 0x9594: 0xe000376e, 0x9595: 0xe0003786, 0x9596: 0xe000378c, 0x9597: 0xe0003792, + 0x9598: 0xe00037a4, 0x9599: 0xe0002906, 0x959a: 0xe00037b3, 0x959b: 0xf0001a1a, + 0x959c: 0xf0001a1a, 0x959d: 0xe000377d, 0x959e: 0xe0000003, 0x959f: 0xe0000006, + 0x95a0: 0xe0000009, 0x95a1: 0xe000000c, 0x95a2: 0xe000000f, 0x95a3: 0xe0000012, + 0x95a4: 0xe000156b, 0x95a5: 0xe000156e, 0x95a6: 0xe0001577, 0x95a7: 0xe000157d, + 0x95a8: 0xe00015aa, 0x95a9: 0xe00015b3, 0x95aa: 0xf0001919, 0x95ab: 0xf0001919, + 0x95ac: 0xf0001919, 0x95ad: 0xf0001919, 0x95ae: 0xe0002891, 0x95af: 0xe00036a2, + 0x95b0: 0xf0001919, 0x95b1: 0xf0001919, 0x95b2: 0xf0001919, 0x95b3: 0xf0001919, + 0x95b4: 0xe0002897, 0x95b5: 0xe00036ae, 0x95b6: 0xf0001919, 0x95b7: 0xf0001919, + 0x95b8: 0xf0001919, 0x95b9: 0xf0001919, 0x95ba: 0xe000289d, 0x95bb: 0xe00036b7, + 0x95bc: 0xe00028df, 0x95bd: 0xe0003705, 0x95be: 0xe00028e5, 0x95bf: 0xe000370b, + // Block 0x257, offset 0x95c0 + 0x95c0: 0xe0003711, 0x95c1: 0xe000372f, 0x95c2: 0xe000373b, 0x95c3: 0xe00028eb, + 0x95c4: 0xe0003741, 0x95c5: 0xf0001919, 0x95c6: 0xe00028f1, 0x95c7: 0xe000374a, + 0x95c8: 0xf0001919, 0x95c9: 0xf0001919, 0x95ca: 0xf0001919, 0x95cb: 0xf0001919, + 0x95cc: 0xf0001919, 0x95cd: 0xf0001919, 0x95ce: 0xe00028fa, 0x95cf: 0xe0003759, + 0x95d0: 0xe000377a, 0x95d1: 0xe0003795, 0x95d2: 0xe0003798, 0x95d3: 0xe00037a1, + 0x95d4: 0xe00037a7, 0x95d5: 0xe0002903, 0x95d6: 0xe00037b0, 0x95d7: 0xe000155c, + 0x95d8: 0xe0001562, 0x95d9: 0xe0001568, 0x95da: 0xe0001571, 0x95db: 0xe0001580, + 0x95dc: 0xf0001717, 0x95dd: 0xf0001717, 0x95de: 0xf0001717, 0x95df: 0xf0001717, + 0x95e0: 0xe000369c, 0x95e1: 0xf0001717, 0x95e2: 0xf0001717, 0x95e3: 0xf0001717, + 0x95e4: 0xf0001717, 0x95e5: 0xe00036a8, 0x95e6: 0xf0001717, 0x95e7: 0xf0001717, + 0x95e8: 0xf0001717, 0x95e9: 0xf0001717, 0x95ea: 0xf0001717, 0x95eb: 0xf0001717, + 0x95ec: 0xf0001717, 0x95ed: 0xf0001717, 0x95ee: 0xf0001717, 0x95ef: 0xf0001717, + 0x95f0: 0xf0001717, 0x95f1: 0xf0001717, 0x95f2: 0xf0001717, 0x95f3: 0xf0001717, + 0x95f4: 0xf0001717, 0x95f5: 0xf0001717, 0x95f6: 0xf0001717, 0x95f7: 0xf0001717, + 0x95f8: 0xf0001717, 0x95f9: 0xf0001717, 0x95fa: 0xf0001717, 0x95fb: 0xf0001717, + 0x95fc: 0xf0001717, 0x95fd: 0xf0001717, 0x95fe: 0xf0001717, 0x95ff: 0xf0001717, + // Block 0x258, offset 0x9600 + 0x9600: 0xf0001717, 0x9601: 0xf0001717, 0x9602: 0xf0001717, 0x9603: 0xf0001717, + 0x9604: 0xe0003717, 0x9605: 0xe000371d, 0x9606: 0xe0003723, 0x9607: 0xe0003729, + 0x9608: 0xe0003735, 0x9609: 0xf0001717, 0x960a: 0xf0001717, 0x960b: 0xf0001717, + 0x960c: 0xf0001717, 0x960d: 0xe0003747, 0x960e: 0xf0001717, 0x960f: 0xf0001717, + 0x9610: 0xf0001717, 0x9611: 0xf0001717, 0x9612: 0xf0001717, 0x9613: 0xf0001717, + 0x9614: 0xf0001717, 0x9615: 0xf0001717, 0x9616: 0xe0003753, 0x9617: 0xe0003762, + 0x9618: 0xe0003768, 0x9619: 0xe000375f, 0x961a: 0xe0003783, 0x961b: 0xe0003789, + 0x961c: 0xe000378f, 0x961d: 0xe000379b, 0x961e: 0xe00037aa, 0x961f: 0xe0001574, + 0x9620: 0xe0001583, 0x9621: 0xf0001818, 0x9622: 0xe000369f, 0x9623: 0xf0001818, + 0x9624: 0xe00036ab, 0x9625: 0xf0001818, 0x9626: 0xe00036b4, 0x9627: 0xf0001818, + 0x9628: 0xe00036d2, 0x9629: 0xf0001818, 0x962a: 0xe00036de, 0x962b: 0xe000372c, + 0x962c: 0xe0003738, 0x962d: 0xf0001818, 0x962e: 0xf0001818, 0x962f: 0xe0003756, + 0x9630: 0xe000379e, 0x9631: 0xe00037ad, 0x9632: 0xf0001818, 0x9633: 0xe0003690, + 0x9634: 0xe0003693, 0x9635: 0xe00028d0, 0x9636: 0xe00036f6, 0x9637: 0xe00028d6, + 0x9638: 0xe00036fc, 0x9639: 0xe00028dc, 0x963a: 0xe0003702, 0x963b: 0xe00028b8, + 0x963c: 0xe00036d8, 0x963d: 0xe00028be, 0x963e: 0xe00036e4, 0x963f: 0xe00028ac, + // Block 0x259, offset 0x9640 + 0x9640: 0xe00036c6, 0x9641: 0xe00028a6, 0x9642: 0xe00036c0, 0x9643: 0xe00028b2, + 0x9644: 0xe00036cc, 0x9645: 0xe00028c4, 0x9646: 0xe00036ea, 0x9647: 0xe00028ca, + 0x9648: 0xe00036f0, 0x9649: 0xf0001a1a, 0x964a: 0xf0001a1a, 0x964b: 0xf0001a1a, + 0x964c: 0xf0001a1a, 0x964d: 0xf0001a1a, 0x964e: 0xf0001a1a, 0x964f: 0xf0001a1a, + 0x9650: 0xf0001a1a, 0x9651: 0xe00028cd, 0x9652: 0xe00036f3, 0x9653: 0xe00028d3, + 0x9654: 0xe00036f9, 0x9655: 0xe00028d9, 0x9656: 0xe00036ff, 0x9657: 0xe00028b5, + 0x9658: 0xe00036d5, 0x9659: 0xe00028bb, 0x965a: 0xe00036e1, 0x965b: 0xe00028a9, + 0x965c: 0xe00036c3, 0x965d: 0xe00028a3, 0x965e: 0xe00036bd, 0x965f: 0xe00028af, + 0x9660: 0xe00036c9, 0x9661: 0xe00028c1, 0x9662: 0xe00036e7, 0x9663: 0xe00028c7, + 0x9664: 0xe00036ed, 0x9665: 0xf0001919, 0x9666: 0xf0001919, 0x9667: 0xf0001919, + 0x9668: 0xf0001919, 0x9669: 0xf0001919, 0x966a: 0xf0001919, 0x966b: 0xf0001919, + 0x966c: 0xf0001919, 0x966d: 0xf0001717, 0x966e: 0xf0001717, 0x966f: 0xf0001717, + 0x9670: 0xf0001717, 0x9671: 0xe00036cf, 0x9672: 0xe00036db, 0x9673: 0xf0001717, + 0x9674: 0xf0001818, 0x9675: 0xf0001818, 0x9676: 0xf0001818, 0x9677: 0xf0001818, + 0x9678: 0xf0001818, 0x9679: 0xf0001818, 0x967a: 0xf0001818, 0x967b: 0xf0001818, + 0x967c: 0xe0003696, 0x967d: 0xe0003699, 0x967e: 0x4004c020, 0x967f: 0x4004c220, + // Block 0x25a, offset 0x9680 + 0x9680: 0xa0000000, 0x9681: 0xa0000000, 0x9682: 0xa0000000, 0x9683: 0xa0000000, + 0x9684: 0xa0000000, 0x9685: 0xa0000000, 0x9686: 0xa0000000, 0x9687: 0xa0000000, + 0x9688: 0xa0000000, 0x9689: 0x40020020, 0x968a: 0x40020220, 0x968b: 0x40020420, + 0x968c: 0x40020620, 0x968d: 0x40020820, 0x968e: 0xa0000000, 0x968f: 0xa0000000, + 0x9690: 0xa0000000, 0x9691: 0xa0000000, 0x9692: 0xa0000000, 0x9693: 0xa0000000, + 0x9694: 0xa0000000, 0x9695: 0xa0000000, 0x9696: 0xa0000000, 0x9697: 0xa0000000, + 0x9698: 0xa0000000, 0x9699: 0xa0000000, 0x969a: 0xa0000000, 0x969b: 0xa0000000, + 0x969c: 0xa0000000, 0x969d: 0xa0000000, 0x969e: 0xa0000000, 0x969f: 0xa0000000, + 0x96a0: 0x40021220, 0x96a1: 0x4002ba20, 0x96a2: 0x4003e020, 0x96a3: 0x4004ea20, + 0x96a4: 0x4027de20, 0x96a5: 0x4004ec20, 0x96a6: 0x4004e620, 0x96a7: 0x4003d220, + 0x96a8: 0x4003f420, 0x96a9: 0x4003f620, 0x96aa: 0x4004d820, 0x96ab: 0x40093820, + 0x96ac: 0x40024020, 0x96ad: 0x40021a20, 0x96ae: 0x4002e420, 0x96af: 0x4004e220, + 0x96b0: 0x4029cc20, 0x96b1: 0x4029ce20, 0x96b2: 0x4029d020, 0x96b3: 0x4029d220, + 0x96b4: 0x4029d420, 0x96b5: 0x4029d620, 0x96b6: 0x4029d820, 0x96b7: 0x4029da20, + 0x96b8: 0x4029dc20, 0x96b9: 0x4029de20, 0x96ba: 0x40026c20, 0x96bb: 0x40026220, + 0x96bc: 0x40094020, 0x96bd: 0x40094220, 0x96be: 0x40094420, 0x96bf: 0x4002c420, + // Block 0x25b, offset 0x96c0 + 0x96c0: 0x4004d620, 0x96c1: 0xc57327b1, 0x96c2: 0x002c0a88, 0x96c3: 0x002c3a88, + 0x96c4: 0x002c6288, 0x96c5: 0x002c9888, 0x96c6: 0x002d0888, 0x96c7: 0x002d2288, + 0x96c8: 0x002d6888, 0x96c9: 0x002d9a88, 0x96ca: 0x002dcc88, 0x96cb: 0x002dfe88, + 0x96cc: 0xc0030002, 0x96cd: 0x002e8288, 0x96ce: 0x002e9e88, 0x96cf: 0xc5780071, + 0x96d0: 0x002f2c88, 0x96d1: 0x002f5688, 0x96d2: 0x002f7a88, 0x96d3: 0x002fe688, + 0x96d4: 0x00302c88, 0x96d5: 0xc56e0071, 0x96d6: 0x0030be88, 0x96d7: 0x0030e288, + 0x96d8: 0x0030f688, 0x96d9: 0x00310088, 0x96da: 0x00312a88, 0x96db: 0x4003f820, + 0x96dc: 0x4004e420, 0x96dd: 0x4003fa20, 0x96de: 0x40062420, 0x96df: 0x40021620, + 0x96e0: 0x40061e20, 0x96e1: 0xc57027b1, 0x96e2: 0x402c0a20, 0x96e3: 0x402c3a20, + 0x96e4: 0x402c6220, 0x96e5: 0x402c9820, 0x96e6: 0x402d0820, 0x96e7: 0x402d2220, + 0x96e8: 0x402d6820, 0x96e9: 0x402d9a20, 0x96ea: 0x402dcc20, 0x96eb: 0x402dfe20, + 0x96ec: 0xc0000002, 0x96ed: 0x402e8220, 0x96ee: 0x402e9e20, 0x96ef: 0xc5760071, + 0x96f0: 0x402f2c20, 0x96f1: 0x402f5620, 0x96f2: 0x402f7a20, 0x96f3: 0x402fe620, + 0x96f4: 0x40302c20, 0x96f5: 0xc56c0071, 0x96f6: 0x4030be20, 0x96f7: 0x4030e220, + 0x96f8: 0x4030f620, 0x96f9: 0x40310020, 0x96fa: 0x40312a20, 0x96fb: 0x4003fc20, + 0x96fc: 0x40094820, 0x96fd: 0x4003fe20, 0x96fe: 0x40094c20, 0x96ff: 0xa0000000, + // Block 0x25c, offset 0x9700 + 0x9700: 0xe00008f5, 0x9701: 0xe00008ef, 0x9702: 0xe0000921, 0x9703: 0xe0000969, + 0x9704: 0x00320e83, 0x9705: 0x00320c83, 0x9706: 0x00320ea3, 0x9707: 0xe0000a53, + 0x9708: 0xe0000ae8, 0x9709: 0xe0000ae2, 0x970a: 0xe0000af4, 0x970b: 0xe0000b20, + 0x970c: 0xe0000c2b, 0x970d: 0xe0000c25, 0x970e: 0xe0000c37, 0x970f: 0xe0000c43, + 0x9710: 0xe0000ab3, 0x9711: 0xe0000d63, 0x9712: 0xe0000d9a, 0x9713: 0xe0000d94, + 0x9714: 0xe0000da6, 0x9715: 0xe0000de6, 0x9716: 0x00321083, 0x9717: 0x40093e20, + 0x9718: 0x003210a3, 0x9719: 0xe0000fe1, 0x971a: 0xe0000fdb, 0x971b: 0xe0000fed, + 0x971c: 0x003100a3, 0x971d: 0xe0001102, 0x971e: 0x00318888, 0x971f: 0xe0000f7b, + 0x9720: 0xe00008f2, 0x9721: 0xe00008ec, 0x9722: 0xe000091e, 0x9723: 0xe0000966, + 0x9724: 0x40320e20, 0x9725: 0x40320c20, 0x9726: 0x40320e21, 0x9727: 0xe0000a4d, + 0x9728: 0xe0000ae5, 0x9729: 0xe0000adf, 0x972a: 0xe0000af1, 0x972b: 0xe0000b1d, + 0x972c: 0xe0000c28, 0x972d: 0xe0000c22, 0x972e: 0xe0000c34, 0x972f: 0xe0000c40, + 0x9730: 0xe0000aad, 0x9731: 0xe0000d60, 0x9732: 0xe0000d97, 0x9733: 0xe0000d91, + 0x9734: 0xe0000da3, 0x9735: 0xe0000de3, 0x9736: 0x40321020, 0x9737: 0x40093c20, + 0x9738: 0x40321021, 0x9739: 0xe0000fde, 0x973a: 0xe0000fd8, 0x973b: 0xe0000fea, + 0x973c: 0x40310021, 0x973d: 0xe00010ff, 0x973e: 0x40318820, 0x973f: 0xe0001114, + // Block 0x25d, offset 0x9740 + 0x9740: 0xe0000983, 0x9741: 0xe0000980, 0x9742: 0xe00008fb, 0x9743: 0xe00008f8, + 0x9744: 0xe000097d, 0x9745: 0xe000097a, 0x9746: 0xe0000a38, 0x9747: 0xe0000a35, + 0x9748: 0xe0000a3e, 0x9749: 0xe0000a3b, 0x974a: 0xe0000a4a, 0x974b: 0xe0000a47, + 0x974c: 0xe0000a44, 0x974d: 0xe0000a41, 0x974e: 0xe0000a86, 0x974f: 0xe0000a83, + 0x9750: 0xe00037c2, 0x9751: 0xe00037bf, 0x9752: 0xe0000b46, 0x9753: 0xe0000b43, + 0x9754: 0xe0000aee, 0x9755: 0xe0000aeb, 0x9756: 0xe0000b2c, 0x9757: 0xe0000b29, + 0x9758: 0xe0000b40, 0x9759: 0xe0000b3d, 0x975a: 0xe0000b1a, 0x975b: 0xe0000b17, + 0x975c: 0xe0000bb8, 0x975d: 0xe0000bb5, 0x975e: 0xe0000bb2, 0x975f: 0xe0000baf, + 0x9760: 0xe0000bc4, 0x9761: 0xe0000bc1, 0x9762: 0xe0000bca, 0x9763: 0xe0000bc7, + 0x9764: 0xe0000bee, 0x9765: 0xe0000beb, 0x9766: 0xe0000c1b, 0x9767: 0xe0000c18, + 0x9768: 0xe0000c51, 0x9769: 0xe0000c4e, 0x976a: 0xe0000c60, 0x976b: 0xe0000c5d, + 0x976c: 0xe0000c31, 0x976d: 0xe0000c2e, 0x976e: 0xe0000c5a, 0x976f: 0xe0000c57, + 0x9770: 0xe0000c54, 0x9771: 0x402da220, 0x9772: 0xf0000a0a, 0x9773: 0xf0000404, + 0x9774: 0xe0000c8a, 0x9775: 0xe0000c87, 0x9776: 0xe0000c9f, 0x9777: 0xe0000c9c, + 0x9778: 0x402f7220, 0x9779: 0xe0000ccc, 0x977a: 0xe0000cc9, 0x977b: 0xe0000cd8, + 0x977c: 0xe0000cd5, 0x977d: 0xe0000cd2, 0x977e: 0xe0000ccf, 0x977f: 0xe0000d04, + // Block 0x25e, offset 0x9780 + 0x9780: 0xe0000cfe, 0x9781: 0xe0000cf8, 0x9782: 0xe0000cf5, 0x9783: 0xe0000d51, + 0x9784: 0xe0000d4e, 0x9785: 0xe0000d6f, 0x9786: 0xe0000d6c, 0x9787: 0xe0000d5d, + 0x9788: 0xe0000d5a, 0x9789: 0xf0000404, 0x978a: 0xe00037ce, 0x978b: 0xe00037cb, + 0x978c: 0xe0000e2e, 0x978d: 0xe0000e2b, 0x978e: 0xe0000da0, 0x978f: 0xe0000d9d, + 0x9790: 0xe0000de0, 0x9791: 0xe0000ddd, 0x9792: 0xe0000e93, 0x9793: 0xe0000e8f, + 0x9794: 0xe0000eca, 0x9795: 0xe0000ec7, 0x9796: 0xe0000edc, 0x9797: 0xe0000ed9, + 0x9798: 0xe0000ed0, 0x9799: 0xe0000ecd, 0x979a: 0xe0000f1f, 0x979b: 0xe0000f1c, + 0x979c: 0xe0000f2d, 0x979d: 0xe0000f2a, 0x979e: 0xe0000f47, 0x979f: 0xe0000f44, + 0x97a0: 0xe0000f33, 0x97a1: 0xe0000f30, 0x97a2: 0xe0000f99, 0x97a3: 0xe0000f96, + 0x97a4: 0xe0000f8a, 0x97a5: 0xe0000f87, 0x97a6: 0xe00037d4, 0x97a7: 0xe00037d1, + 0x97a8: 0xe000102b, 0x97a9: 0xe0001028, 0x97aa: 0xe000103f, 0x97ab: 0xe000103c, + 0x97ac: 0xe0000fe7, 0x97ad: 0xe0000fe4, 0x97ae: 0xe0000ff9, 0x97af: 0xe0000ff6, + 0x97b0: 0xe0001025, 0x97b1: 0xe0001022, 0x97b2: 0xe0001039, 0x97b3: 0xe0001036, + 0x97b4: 0xe00010d8, 0x97b5: 0xe00010d5, 0x97b6: 0xe000110e, 0x97b7: 0xe000110b, + 0x97b8: 0xe0001117, 0x97b9: 0xe000113b, 0x97ba: 0xe0001138, 0x97bb: 0xe000114d, + 0x97bc: 0xe000114a, 0x97bd: 0xe0001147, 0x97be: 0xe0001144, 0x97bf: 0xe0000f64, + // Block 0x25f, offset 0x97c0 + 0x97c0: 0x402c1a20, 0x97c1: 0x002c2a88, 0x97c2: 0x002c3288, 0x97c3: 0x402c3220, + 0x97c4: 0x0031c488, 0x97c5: 0x4031c420, 0x97c6: 0x002efa88, 0x97c7: 0x002c4e88, + 0x97c8: 0x402c4e20, 0x97c9: 0x002c7288, 0x97ca: 0x002c7a88, 0x97cb: 0x002c8488, + 0x97cc: 0x402c8420, 0x97cd: 0xe000115c, 0x97ce: 0x002cae88, 0x97cf: 0x002cb888, + 0x97d0: 0x002cc288, 0x97d1: 0x002d1688, 0x97d2: 0x402d1620, 0x97d3: 0x002d4488, + 0x97d4: 0x002d5888, 0x97d5: 0x402d7820, 0x97d6: 0x002dc288, 0x97d7: 0x002db688, + 0x97d8: 0x002e0a88, 0x97d9: 0x402e0a20, 0x97da: 0x402e3820, 0x97db: 0x402e7220, + 0x97dc: 0x0030a088, 0x97dd: 0x002eb488, 0x97de: 0x402ebc20, 0x97df: 0x002f1088, + 0x97e0: 0xe0000e56, 0x97e1: 0xe0000e53, 0x97e2: 0x002d6088, 0x97e3: 0x402d6020, + 0x97e4: 0x002f3e88, 0x97e5: 0x402f3e20, 0x97e6: 0x002f8288, 0x97e7: 0x0031b488, + 0x97e8: 0x4031b420, 0x97e9: 0x00300888, 0x97ea: 0x40301220, 0x97eb: 0x40304220, + 0x97ec: 0x00304a88, 0x97ed: 0x40304a20, 0x97ee: 0x00305288, 0x97ef: 0xe000105f, + 0x97f0: 0xe000105c, 0x97f1: 0x0030b488, 0x97f2: 0x0030cc88, 0x97f3: 0x00311888, + 0x97f4: 0x40311820, 0x97f5: 0x00313488, 0x97f6: 0x40313420, 0x97f7: 0xe00037da, + 0x97f8: 0x00316e88, 0x97f9: 0x40316e20, 0x97fa: 0x40317820, 0x97fb: 0x4031a620, + 0x97fc: 0x0031bc88, 0x97fd: 0x4031bc20, 0x97fe: 0xe0000fc9, 0x97ff: 0x40319420, + // Block 0x260, offset 0x9800 + 0x9800: 0x40321220, 0x9801: 0x40321a20, 0x9802: 0x40322220, 0x9803: 0x40322a20, + 0x9804: 0xe0000ad5, 0x9805: 0xe0000ad1, 0x9806: 0xe0000acd, 0x9807: 0xf0000a0a, + 0x9808: 0xf000040a, 0x9809: 0xf0000404, 0x980a: 0xf0000a0a, 0x980b: 0xf000040a, + 0x980c: 0xf0000404, 0x980d: 0xe0000947, 0x980e: 0xe0000944, 0x980f: 0xe0000c3d, + 0x9810: 0xe0000c3a, 0x9811: 0xe0000dcc, 0x9812: 0xe0000dc9, 0x9813: 0xe0000ff3, + 0x9814: 0xe0000ff0, 0x9815: 0xe000298b, 0x9816: 0xe0002988, 0x9817: 0xe0002979, + 0x9818: 0xe0002976, 0x9819: 0xe0002985, 0x981a: 0xe0002982, 0x981b: 0xe000297f, + 0x981c: 0xe000297c, 0x981d: 0x402cae20, 0x981e: 0xe00037e8, 0x981f: 0xe00037e5, + 0x9820: 0xe0000976, 0x9821: 0xe0000972, 0x9822: 0xe00029af, 0x9823: 0xe00029ac, + 0x9824: 0xe00037c8, 0x9825: 0xe00037c5, 0x9826: 0xe0000bbe, 0x9827: 0xe0000bbb, + 0x9828: 0xe0000c99, 0x9829: 0xe0000c96, 0x982a: 0xe0000e20, 0x982b: 0xe0000e1d, + 0x982c: 0xe0000e27, 0x982d: 0xe0000e23, 0x982e: 0xe00037e1, 0x982f: 0xe00037dd, + 0x9830: 0xe0000c8d, 0x9831: 0xf0000a0a, 0x9832: 0xf000040a, 0x9833: 0xf0000404, + 0x9834: 0xe0000bac, 0x9835: 0xe0000ba9, 0x9836: 0x002d7888, 0x9837: 0x00319488, + 0x9838: 0xe0000d57, 0x9839: 0xe0000d54, 0x983a: 0xe0002991, 0x983b: 0xe000298e, + 0x983c: 0xe00037ee, 0x983d: 0xe00037eb, 0x983e: 0xe0003800, 0x983f: 0xe00037fd, + // Block 0x261, offset 0x9840 + 0x9840: 0xe000098f, 0x9841: 0xe000098c, 0x9842: 0xe0000995, 0x9843: 0xe0000992, + 0x9844: 0xe0000b62, 0x9845: 0xe0000b5f, 0x9846: 0xe0000b68, 0x9847: 0xe0000b65, + 0x9848: 0xe0000c6c, 0x9849: 0xe0000c69, 0x984a: 0xe0000c72, 0x984b: 0xe0000c6f, + 0x984c: 0xe0000e4a, 0x984d: 0xe0000e47, 0x984e: 0xe0000e50, 0x984f: 0xe0000e4d, + 0x9850: 0xe0000ee8, 0x9851: 0xe0000ee5, 0x9852: 0xe0000eee, 0x9853: 0xe0000eeb, + 0x9854: 0xe0001053, 0x9855: 0xe0001050, 0x9856: 0xe0001059, 0x9857: 0xe0001056, + 0x9858: 0xe0000f61, 0x9859: 0xe0000f5e, 0x985a: 0xe0000fa5, 0x985b: 0xe0000fa2, + 0x985c: 0x00312288, 0x985d: 0x40312220, 0x985e: 0xe0000bf4, 0x985f: 0xe0000bf1, + 0x9860: 0x002ebc88, 0x9861: 0x402c8c20, 0x9862: 0x002f2288, 0x9863: 0x402f2220, + 0x9864: 0x00314088, 0x9865: 0x40314020, 0x9866: 0xe000096f, 0x9867: 0xe000096c, + 0x9868: 0xe0000b32, 0x9869: 0xe0000b2f, 0x986a: 0xe00037fa, 0x986b: 0xe00037f7, + 0x986c: 0xe0000dfd, 0x986d: 0xe0000df9, 0x986e: 0xe0000e04, 0x986f: 0xe0000e01, + 0x9870: 0xe0000e0b, 0x9871: 0xe0000e07, 0x9872: 0xe0001129, 0x9873: 0xe0001126, + 0x9874: 0x402e5e20, 0x9875: 0x402ed020, 0x9876: 0x40305a20, 0x9877: 0x402dd420, + 0x9878: 0xe0000abf, 0x9879: 0xe0000ec4, 0x987a: 0x002be888, 0x987b: 0x002c4488, + 0x987c: 0x402c4420, 0x987d: 0x002e3888, 0x987e: 0x00303e88, 0x987f: 0x402ffc20, + // Block 0x262, offset 0x9880 + 0x9880: 0x402f8220, 0x9881: 0x402fd820, 0x9882: 0x402ff420, 0x9883: 0x40300820, + 0x9884: 0x402df620, 0x9885: 0x40301a20, 0x9886: 0x40302420, 0x9887: 0x40306420, + 0x9888: 0x40305220, 0x9889: 0x40307c20, 0x988a: 0x4030b420, 0x988b: 0x4030cc20, + 0x988c: 0x4030da20, 0x988d: 0x4030ee20, 0x988e: 0x402e7a20, 0x988f: 0x40310820, + 0x9890: 0x40314820, 0x9891: 0x40315020, 0x9892: 0xe00037d7, 0x9893: 0x40318020, + 0x9894: 0x4031cc20, 0x9895: 0x4031e820, 0x9896: 0x40320a20, 0x9897: 0x40323220, + 0x9898: 0x40323a20, 0x9899: 0x402c1220, 0x989a: 0x402cf820, 0x989b: 0x402d4c20, + 0x989c: 0x402d7020, 0x989d: 0x402de620, 0x989e: 0x402e1a20, 0x989f: 0x402e2a20, + 0x98a0: 0x402f6220, 0x98a1: 0x4031fa20, 0x98a2: 0x40320220, 0x98a3: 0xe0000aca, + 0x98a4: 0xe0000adc, 0x98a5: 0xe0000ad9, 0x98a6: 0xe0000fcc, 0x98a7: 0xe0000fcf, + 0x98a8: 0xe0000fba, 0x98a9: 0xe0000ba1, 0x98aa: 0xe0000d11, 0x98ab: 0xe0000d18, + 0x98ac: 0x40324220, 0x98ad: 0x40324a20, 0x98ae: 0x40309020, 0x98af: 0x40309820, + 0x98b0: 0x002d6894, 0x98b1: 0x002d8094, 0x98b2: 0x002dcc94, 0x98b3: 0x002f7a94, + 0x98b4: 0x002f9894, 0x98b5: 0x002fac94, 0x98b6: 0x002fd894, 0x98b7: 0x0030e294, + 0x98b8: 0x00310094, 0x98b9: 0x40064020, 0x98ba: 0x40064420, 0x98bb: 0x402d9620, + 0x98bc: 0x4031de20, 0x98bd: 0x402d9820, 0x98be: 0x4031e220, 0x98bf: 0x4031f020, + // Block 0x263, offset 0x98c0 + 0x98c0: 0xe0000d24, 0x98c1: 0xe0000d21, 0x98c2: 0xe0000d2a, 0x98c3: 0xe0000d27, + 0x98c4: 0xe0000d69, 0x98c5: 0xe0000d66, 0x98c6: 0xe0000d7b, 0x98c7: 0xe0000d78, + 0x98c8: 0xe0000d87, 0x98c9: 0xe0000d84, 0x98ca: 0xe0000d81, 0x98cb: 0xe0000d7e, + 0x98cc: 0xe0000ded, 0x98cd: 0xe0000de9, 0x98ce: 0xe00037f4, 0x98cf: 0xe00037f1, + 0x98d0: 0xe0000e3d, 0x98d1: 0xe0000e39, 0x98d2: 0xe0000e35, 0x98d3: 0xe0000e31, + 0x98d4: 0xe0000ea7, 0x98d5: 0xe0000ea4, 0x98d6: 0xe0000ead, 0x98d7: 0xe0000eaa, + 0x98d8: 0xe0000ed6, 0x98d9: 0xe0000ed3, 0x98da: 0xe0000ef4, 0x98db: 0xe0000ef1, + 0x98dc: 0xe0000efb, 0x98dd: 0xe0000ef7, 0x98de: 0xe0000f02, 0x98df: 0xe0000eff, + 0x98e0: 0xe0000f41, 0x98e1: 0xe0000f3e, 0x98e2: 0xe0000f53, 0x98e3: 0xe0000f50, + 0x98e4: 0xe0000f26, 0x98e5: 0xe0000f22, 0x98e6: 0xe0000f3a, 0x98e7: 0xe0000f36, + 0x98e8: 0xe0000f5a, 0x98e9: 0xe0000f56, 0x98ea: 0xe0000f93, 0x98eb: 0xe0000f90, + 0x98ec: 0xe0000f9f, 0x98ed: 0xe0000f9c, 0x98ee: 0xe0000fb1, 0x98ef: 0xe0000fae, + 0x98f0: 0xe0000fab, 0x98f1: 0xe0000fa8, 0x98f2: 0xe0001093, 0x98f3: 0xe0001090, + 0x98f4: 0xe000109f, 0x98f5: 0xe000109c, 0x98f6: 0xe0001099, 0x98f7: 0xe0001096, + 0x98f8: 0xe0001032, 0x98f9: 0xe000102e, 0x98fa: 0xe000298b, 0x98fb: 0xe0002988, + 0x98fc: 0xe00010a9, 0x98fd: 0xe00010a6, 0x98fe: 0xe00010af, 0x98ff: 0xe00010ac, + // Block 0x264, offset 0x9900 + 0x9900: 0xe00009bc, 0x9901: 0xe00009c0, 0x9902: 0x002c3a8b, 0x9903: 0xf0000a04, + 0x9904: 0x40081c20, 0x9905: 0xe0000a5e, 0x9906: 0xe0000a62, 0x9907: 0x002cc28a, + 0x9908: 0x40081e20, 0x9909: 0xf0000a04, 0x990a: 0x002d2285, 0x990b: 0x002d688b, + 0x990c: 0x002d688b, 0x990d: 0x002d688b, 0x990e: 0x002d6885, 0x990f: 0xf0000202, + 0x9910: 0x002d9a8b, 0x9911: 0x002d9a8b, 0x9912: 0x002e228b, 0x9913: 0x002e2285, + 0x9914: 0x40082020, 0x9915: 0x002e9e8b, 0x9916: 0xf000040a, 0x9917: 0x40082220, + 0x9918: 0x40082420, 0x9919: 0x002f2c8b, 0x991a: 0x002f568b, 0x991b: 0x002f7a8b, + 0x991c: 0x002f7a8b, 0x991d: 0x002f7a8b, 0x991e: 0x40082620, 0x991f: 0x40082820, + 0x9920: 0xf0001414, 0x9921: 0xe0000fbd, 0x9922: 0xf0001414, 0x9923: 0x40082a20, + 0x9924: 0x00312a8b, 0x9925: 0x40082c20, 0x9926: 0x0032a288, 0x9927: 0x40082e20, + 0x9928: 0x00312a8b, 0x9929: 0x40083020, 0x992a: 0x002dfe88, 0x992b: 0x00320c83, + 0x992c: 0x002c0a8b, 0x992d: 0x002c3a8b, 0x992e: 0x40083220, 0x992f: 0x002c9885, + 0x9930: 0x002c988b, 0x9931: 0x002d088b, 0x9932: 0x002d1e88, 0x9933: 0x002e828b, + 0x9934: 0x002ee285, 0x9935: 0x00389084, 0x9936: 0x00389284, 0x9937: 0x00389484, + 0x9938: 0x00389684, 0x9939: 0x002d9a85, 0x993a: 0x40083420, 0x993b: 0xe0000b95, + 0x993c: 0x00327e85, 0x993d: 0x00325685, 0x993e: 0x0032568b, 0x993f: 0x00327e8b, + // Block 0x265, offset 0x9940 + 0x9940: 0xa0000000, 0x9941: 0xa0000000, 0x9942: 0xa0000000, 0x9943: 0xa0000000, + 0x9944: 0xa0000000, 0x9945: 0xa0000000, 0x9946: 0xa0000000, 0x9947: 0xa0000000, + 0x9948: 0xa0000000, 0x9949: 0x40020020, 0x994a: 0x40020220, 0x994b: 0x40020420, + 0x994c: 0x40020620, 0x994d: 0x40020820, 0x994e: 0xa0000000, 0x994f: 0xa0000000, + 0x9950: 0xa0000000, 0x9951: 0xa0000000, 0x9952: 0xa0000000, 0x9953: 0xa0000000, + 0x9954: 0xa0000000, 0x9955: 0xa0000000, 0x9956: 0xa0000000, 0x9957: 0xa0000000, + 0x9958: 0xa0000000, 0x9959: 0xa0000000, 0x995a: 0xa0000000, 0x995b: 0xa0000000, + 0x995c: 0xa0000000, 0x995d: 0xa0000000, 0x995e: 0xa0000000, 0x995f: 0xa0000000, + 0x9960: 0x40021220, 0x9961: 0x4002ba20, 0x9962: 0x4003e020, 0x9963: 0x4004ea20, + 0x9964: 0x4027de20, 0x9965: 0x4004ec20, 0x9966: 0x4004e620, 0x9967: 0x4003d220, + 0x9968: 0x4003f420, 0x9969: 0x4003f620, 0x996a: 0x4004d820, 0x996b: 0x40093820, + 0x996c: 0x40024020, 0x996d: 0x40021a20, 0x996e: 0x4002e420, 0x996f: 0x4004e220, + 0x9970: 0x4029cc20, 0x9971: 0x4029ce20, 0x9972: 0x4029d020, 0x9973: 0x4029d220, + 0x9974: 0x4029d420, 0x9975: 0x4029d620, 0x9976: 0x4029d820, 0x9977: 0x4029da20, + 0x9978: 0x4029dc20, 0x9979: 0x4029de20, 0x997a: 0x40026c20, 0x997b: 0x40026220, + 0x997c: 0x40094020, 0x997d: 0x40094220, 0x997e: 0x40094420, 0x997f: 0x4002c420, + // Block 0x266, offset 0x9980 + 0x9980: 0x4004d620, 0x9981: 0xc57327b1, 0x9982: 0x002c0a88, 0x9983: 0x002c3a88, + 0x9984: 0x002c6288, 0x9985: 0x002c9888, 0x9986: 0x002d0888, 0x9987: 0x002d2288, + 0x9988: 0x002d6888, 0x9989: 0x002d9a88, 0x998a: 0x002dcc88, 0x998b: 0x002dfe88, + 0x998c: 0xc0030002, 0x998d: 0x002e8288, 0x998e: 0x002e9e88, 0x998f: 0xc57e27e1, + 0x9990: 0x002f2c88, 0x9991: 0x002f5688, 0x9992: 0x002f7a88, 0x9993: 0x002fe688, + 0x9994: 0x00302c88, 0x9995: 0xc3900b21, 0x9996: 0x0030be88, 0x9997: 0x0030bea3, + 0x9998: 0x0030f688, 0x9999: 0x00310088, 0x999a: 0x00312a88, 0x999b: 0x4003f820, + 0x999c: 0x4004e420, 0x999d: 0x4003fa20, 0x999e: 0x40062420, 0x999f: 0x40021620, + 0x99a0: 0x40061e20, 0x99a1: 0xc57027b1, 0x99a2: 0x402c0a20, 0x99a3: 0x402c3a20, + 0x99a4: 0x402c6220, 0x99a5: 0x402c9820, 0x99a6: 0x402d0820, 0x99a7: 0x402d2220, + 0x99a8: 0x402d6820, 0x99a9: 0x402d9a20, 0x99aa: 0x402dcc20, 0x99ab: 0x402dfe20, + 0x99ac: 0xc0000002, 0x99ad: 0x402e8220, 0x99ae: 0x402e9e20, 0x99af: 0xc57a27e1, + 0x99b0: 0x402f2c20, 0x99b1: 0x402f5620, 0x99b2: 0x402f7a20, 0x99b3: 0x402fe620, + 0x99b4: 0x40302c20, 0x99b5: 0xc38d0b21, 0x99b6: 0x4030be20, 0x99b7: 0x4030be21, + 0x99b8: 0x4030f620, 0x99b9: 0x40310020, 0x99ba: 0x40312a20, 0x99bb: 0x4003fc20, + 0x99bc: 0x40094820, 0x99bd: 0x4003fe20, 0x99be: 0x40094c20, 0x99bf: 0xa0000000, + // Block 0x267, offset 0x99c0 + 0x99c0: 0xe00008f5, 0x99c1: 0xe00008ef, 0x99c2: 0xe0000921, 0x99c3: 0xe0000969, + 0x99c4: 0x00320e83, 0x99c5: 0x00320c83, 0x99c6: 0x00320ea3, 0x99c7: 0xe0000a53, + 0x99c8: 0xe0000ae8, 0x99c9: 0xe0000ae2, 0x99ca: 0xe0000af4, 0x99cb: 0xe0000b20, + 0x99cc: 0xe0000c2b, 0x99cd: 0xe0000c25, 0x99ce: 0xe0000c37, 0x99cf: 0xe0000c43, + 0x99d0: 0x002c62a3, 0x99d1: 0xe0000d63, 0x99d2: 0xe0000d9a, 0x99d3: 0xe0000d94, + 0x99d4: 0xe0000da6, 0x99d5: 0x003210e3, 0x99d6: 0x00321083, 0x99d7: 0x40093e20, + 0x99d8: 0x003210a3, 0x99d9: 0xe0000fe1, 0x99da: 0xe0000fdb, 0x99db: 0xe0000fed, + 0x99dc: 0x003100a3, 0x99dd: 0xe0001102, 0x99de: 0xe0003806, 0x99df: 0xe0000f7b, + 0x99e0: 0xe00008f2, 0x99e1: 0xe00008ec, 0x99e2: 0xe000091e, 0x99e3: 0xe0000966, + 0x99e4: 0x40320e20, 0x99e5: 0x40320c20, 0x99e6: 0x40320e21, 0x99e7: 0xe0000a4d, + 0x99e8: 0xe0000ae5, 0x99e9: 0xe0000adf, 0x99ea: 0xe0000af1, 0x99eb: 0xe0000b1d, + 0x99ec: 0xe0000c28, 0x99ed: 0xe0000c22, 0x99ee: 0xe0000c34, 0x99ef: 0xe0000c40, + 0x99f0: 0x402c6221, 0x99f1: 0xe0000d60, 0x99f2: 0xe0000d97, 0x99f3: 0xe0000d91, + 0x99f4: 0xe0000da3, 0x99f5: 0x40321023, 0x99f6: 0x40321020, 0x99f7: 0x40093c20, + 0x99f8: 0x40321021, 0x99f9: 0xe0000fde, 0x99fa: 0xe0000fd8, 0x99fb: 0xe0000fea, + 0x99fc: 0x40310021, 0x99fd: 0xe00010ff, 0x99fe: 0xe0003803, 0x99ff: 0xe0001114, + // Block 0x268, offset 0x9a00 + 0x9a00: 0xe0000983, 0x9a01: 0xe0000980, 0x9a02: 0xe00008fb, 0x9a03: 0xe00008f8, + 0x9a04: 0xe000097d, 0x9a05: 0xe000097a, 0x9a06: 0xe0000a38, 0x9a07: 0xe0000a35, + 0x9a08: 0xe0000a3e, 0x9a09: 0xe0000a3b, 0x9a0a: 0xe0000a4a, 0x9a0b: 0xe0000a47, + 0x9a0c: 0xe0000a44, 0x9a0d: 0xe0000a41, 0x9a0e: 0xe0000a86, 0x9a0f: 0xe0000a83, + 0x9a10: 0x002c62c3, 0x9a11: 0x402c6222, 0x9a12: 0xe0000b46, 0x9a13: 0xe0000b43, + 0x9a14: 0xe0000aee, 0x9a15: 0xe0000aeb, 0x9a16: 0xe0000b2c, 0x9a17: 0xe0000b29, + 0x9a18: 0xe0000b40, 0x9a19: 0xe0000b3d, 0x9a1a: 0xe0000b1a, 0x9a1b: 0xe0000b17, + 0x9a1c: 0xe0000bb8, 0x9a1d: 0xe0000bb5, 0x9a1e: 0xe0000bb2, 0x9a1f: 0xe0000baf, + 0x9a20: 0xe0000bc4, 0x9a21: 0xe0000bc1, 0x9a22: 0xe0000bca, 0x9a23: 0xe0000bc7, + 0x9a24: 0xe0000bee, 0x9a25: 0xe0000beb, 0x9a26: 0xe0000c1b, 0x9a27: 0xe0000c18, + 0x9a28: 0xe0000c51, 0x9a29: 0xe0000c4e, 0x9a2a: 0xe0000c60, 0x9a2b: 0xe0000c5d, + 0x9a2c: 0xe0000c31, 0x9a2d: 0xe0000c2e, 0x9a2e: 0xe0000c5a, 0x9a2f: 0xe0000c57, + 0x9a30: 0xe0000c54, 0x9a31: 0x402da220, 0x9a32: 0xf0000a0a, 0x9a33: 0xf0000404, + 0x9a34: 0xe0000c8a, 0x9a35: 0xe0000c87, 0x9a36: 0xe0000c9f, 0x9a37: 0xe0000c9c, + 0x9a38: 0x402f7220, 0x9a39: 0xe0000ccc, 0x9a3a: 0xe0000cc9, 0x9a3b: 0xe0000cd8, + 0x9a3c: 0xe0000cd5, 0x9a3d: 0xe0000cd2, 0x9a3e: 0xe0000ccf, 0x9a3f: 0xe0000d04, + // Block 0x269, offset 0x9a40 + 0x9a40: 0xe0000cfe, 0x9a41: 0xe0000cf8, 0x9a42: 0xe0000cf5, 0x9a43: 0xe0000d51, + 0x9a44: 0xe0000d4e, 0x9a45: 0xe0000d6f, 0x9a46: 0xe0000d6c, 0x9a47: 0xe0000d5d, + 0x9a48: 0xe0000d5a, 0x9a49: 0xf0000404, 0x9a4a: 0x002e9ea3, 0x9a4b: 0x402e9e21, + 0x9a4c: 0xe0000e2e, 0x9a4d: 0xe0000e2b, 0x9a4e: 0xe0000da0, 0x9a4f: 0xe0000d9d, + 0x9a50: 0x003210c3, 0x9a51: 0x40321022, 0x9a52: 0x00321103, 0x9a53: 0x40321024, + 0x9a54: 0xe0000eca, 0x9a55: 0xe0000ec7, 0x9a56: 0xe0000edc, 0x9a57: 0xe0000ed9, + 0x9a58: 0xe0000ed0, 0x9a59: 0xe0000ecd, 0x9a5a: 0xe0000f1f, 0x9a5b: 0xe0000f1c, + 0x9a5c: 0xe0000f2d, 0x9a5d: 0xe0000f2a, 0x9a5e: 0xe0000f47, 0x9a5f: 0xe0000f44, + 0x9a60: 0xe0000f33, 0x9a61: 0xe0000f30, 0x9a62: 0xe0000f99, 0x9a63: 0xe0000f96, + 0x9a64: 0xe0000f8a, 0x9a65: 0xe0000f87, 0x9a66: 0x00303688, 0x9a67: 0x40303620, + 0x9a68: 0xe000102b, 0x9a69: 0xe0001028, 0x9a6a: 0xe000103f, 0x9a6b: 0xe000103c, + 0x9a6c: 0xe0000fe7, 0x9a6d: 0xe0000fe4, 0x9a6e: 0xe0000ff9, 0x9a6f: 0xe0000ff6, + 0x9a70: 0x003100c3, 0x9a71: 0x40310022, 0x9a72: 0xe0001039, 0x9a73: 0xe0001036, + 0x9a74: 0xe0003636, 0x9a75: 0xe0003633, 0x9a76: 0xe000110e, 0x9a77: 0xe000110b, + 0x9a78: 0xe0001117, 0x9a79: 0xe000113b, 0x9a7a: 0xe0001138, 0x9a7b: 0xe000114d, + 0x9a7c: 0xe000114a, 0x9a7d: 0xe0001147, 0x9a7e: 0xe0001144, 0x9a7f: 0xe0000f64, + // Block 0x26a, offset 0x9a80 + 0x9a80: 0x40321220, 0x9a81: 0x40321a20, 0x9a82: 0x40322220, 0x9a83: 0x40322a20, + 0x9a84: 0xe0000ad5, 0x9a85: 0xe0000ad1, 0x9a86: 0xe0000acd, 0x9a87: 0xf0000a0a, + 0x9a88: 0xf000040a, 0x9a89: 0xf0000404, 0x9a8a: 0xf0000a0a, 0x9a8b: 0xf000040a, + 0x9a8c: 0xf0000404, 0x9a8d: 0xe0000947, 0x9a8e: 0xe0000944, 0x9a8f: 0xe0000c3d, + 0x9a90: 0xe0000c3a, 0x9a91: 0xe0000dcc, 0x9a92: 0xe0000dc9, 0x9a93: 0xe0000ff3, + 0x9a94: 0xe0000ff0, 0x9a95: 0xe000298b, 0x9a96: 0xe0002988, 0x9a97: 0xe0002979, + 0x9a98: 0xe0002976, 0x9a99: 0xe0002985, 0x9a9a: 0xe0002982, 0x9a9b: 0xe000297f, + 0x9a9c: 0xe000297c, 0x9a9d: 0x402cae20, 0x9a9e: 0xe00037e8, 0x9a9f: 0xe00037e5, + 0x9aa0: 0xe0000976, 0x9aa1: 0xe0000972, 0x9aa2: 0xe00029af, 0x9aa3: 0xe00029ac, + 0x9aa4: 0x002d3a88, 0x9aa5: 0x402d3a20, 0x9aa6: 0xe0000bbe, 0x9aa7: 0xe0000bbb, + 0x9aa8: 0xe0000c99, 0x9aa9: 0xe0000c96, 0x9aaa: 0xe0000e20, 0x9aab: 0xe0000e1d, + 0x9aac: 0xe0000e27, 0x9aad: 0xe0000e23, 0x9aae: 0xe0001162, 0x9aaf: 0xe000115f, + 0x9ab0: 0xe0000c8d, 0x9ab1: 0xf0000a0a, 0x9ab2: 0xf000040a, 0x9ab3: 0xf0000404, + 0x9ab4: 0xe0000bac, 0x9ab5: 0xe0000ba9, 0x9ab6: 0x002d7888, 0x9ab7: 0x00319488, + 0x9ab8: 0xe0000d57, 0x9ab9: 0xe0000d54, 0x9aba: 0xe0002991, 0x9abb: 0xe000298e, + 0x9abc: 0xe00037ee, 0x9abd: 0xe00037eb, 0x9abe: 0xe0003800, 0x9abf: 0xe00037fd, + // Block 0x26b, offset 0x9ac0 + 0x9ac0: 0xe000098f, 0x9ac1: 0xe000098c, 0x9ac2: 0xe0000995, 0x9ac3: 0xe0000992, + 0x9ac4: 0xe0000b62, 0x9ac5: 0xe0000b5f, 0x9ac6: 0xe0000b68, 0x9ac7: 0xe0000b65, + 0x9ac8: 0xe0000c6c, 0x9ac9: 0xe0000c69, 0x9aca: 0xe0000c72, 0x9acb: 0xe0000c6f, + 0x9acc: 0xe0000e4a, 0x9acd: 0xe0000e47, 0x9ace: 0xe0000e50, 0x9acf: 0xe0000e4d, + 0x9ad0: 0xe0000ee8, 0x9ad1: 0xe0000ee5, 0x9ad2: 0xe0000eee, 0x9ad3: 0xe0000eeb, + 0x9ad4: 0xe0001053, 0x9ad5: 0xe0001050, 0x9ad6: 0xe0001059, 0x9ad7: 0xe0001056, + 0x9ad8: 0xe0000f61, 0x9ad9: 0xe0000f5e, 0x9ada: 0xe0000fa5, 0x9adb: 0xe0000fa2, + 0x9adc: 0x00312288, 0x9add: 0x40312220, 0x9ade: 0xe0000bf4, 0x9adf: 0xe0000bf1, + 0x9ae0: 0x002ebc88, 0x9ae1: 0x402c8c20, 0x9ae2: 0x002f2288, 0x9ae3: 0x402f2220, + 0x9ae4: 0x00314088, 0x9ae5: 0x40314020, 0x9ae6: 0xe000096f, 0x9ae7: 0xe000096c, + 0x9ae8: 0xe0000b32, 0x9ae9: 0xe0000b2f, 0x9aea: 0xe00037fa, 0x9aeb: 0xe00037f7, + 0x9aec: 0xe000381e, 0x9aed: 0xe000381b, 0x9aee: 0xe0000e04, 0x9aef: 0xe0000e01, + 0x9af0: 0xe0000e0b, 0x9af1: 0xe0000e07, 0x9af2: 0xe0001129, 0x9af3: 0xe0001126, + 0x9af4: 0x402e5e20, 0x9af5: 0x402ed020, 0x9af6: 0x40305a20, 0x9af7: 0x402dd420, + 0x9af8: 0xe0000abf, 0x9af9: 0xe0000ec4, 0x9afa: 0x002be888, 0x9afb: 0x002c4488, + 0x9afc: 0x402c4420, 0x9afd: 0x002e3888, 0x9afe: 0x00303e88, 0x9aff: 0x402ffc20, + // Block 0x26c, offset 0x9b00 + 0x9b00: 0xe0000d24, 0x9b01: 0xe0000d21, 0x9b02: 0xe0000d2a, 0x9b03: 0xe0000d27, + 0x9b04: 0xe0000d69, 0x9b05: 0xe0000d66, 0x9b06: 0xe0000d7b, 0x9b07: 0xe0000d78, + 0x9b08: 0xe0000d87, 0x9b09: 0xe0000d84, 0x9b0a: 0xe0000d81, 0x9b0b: 0xe0000d7e, + 0x9b0c: 0xe000380c, 0x9b0d: 0xe0003809, 0x9b0e: 0xe0003818, 0x9b0f: 0xe0003815, + 0x9b10: 0xe0000e3d, 0x9b11: 0xe0000e39, 0x9b12: 0xe0000e35, 0x9b13: 0xe0000e31, + 0x9b14: 0xe0000ea7, 0x9b15: 0xe0000ea4, 0x9b16: 0xe0000ead, 0x9b17: 0xe0000eaa, + 0x9b18: 0xe0000ed6, 0x9b19: 0xe0000ed3, 0x9b1a: 0xe0000ef4, 0x9b1b: 0xe0000ef1, + 0x9b1c: 0xe0000efb, 0x9b1d: 0xe0000ef7, 0x9b1e: 0xe0000f02, 0x9b1f: 0xe0000eff, + 0x9b20: 0xe0000f41, 0x9b21: 0xe0000f3e, 0x9b22: 0xe0000f53, 0x9b23: 0xe0000f50, + 0x9b24: 0xe0000f26, 0x9b25: 0xe0000f22, 0x9b26: 0xe0000f3a, 0x9b27: 0xe0000f36, + 0x9b28: 0xe0000f5a, 0x9b29: 0xe0000f56, 0x9b2a: 0xe0000f93, 0x9b2b: 0xe0000f90, + 0x9b2c: 0xe0000f9f, 0x9b2d: 0xe0000f9c, 0x9b2e: 0xe0000fb1, 0x9b2f: 0xe0000fae, + 0x9b30: 0xe0000fab, 0x9b31: 0xe0000fa8, 0x9b32: 0xe0001093, 0x9b33: 0xe0001090, + 0x9b34: 0xe000109f, 0x9b35: 0xe000109c, 0x9b36: 0xe0001099, 0x9b37: 0xe0001096, + 0x9b38: 0xe0001032, 0x9b39: 0xe000102e, 0x9b3a: 0xe000298b, 0x9b3b: 0xe0002988, + 0x9b3c: 0xe00010a9, 0x9b3d: 0xe00010a6, 0x9b3e: 0xe00010af, 0x9b3f: 0xe00010ac, + // Block 0x26d, offset 0x9b40 + 0x9b40: 0xe0003630, 0x9b41: 0xe000362d, 0x9b42: 0xe000362a, 0x9b43: 0xe0003627, + 0x9b44: 0xe000363f, 0x9b45: 0xe000363c, 0x9b46: 0xe0003645, 0x9b47: 0xe0003642, + 0x9b48: 0xe000364b, 0x9b49: 0xe0003648, 0x9b4a: 0xe00010fc, 0x9b4b: 0xe00010f9, + 0x9b4c: 0xe00010f6, 0x9b4d: 0xe00010f3, 0x9b4e: 0xe0001123, 0x9b4f: 0xe0001120, + 0x9b50: 0xe0001141, 0x9b51: 0xe000113e, 0x9b52: 0xe0001153, 0x9b53: 0xe0001150, + 0x9b54: 0xe0001159, 0x9b55: 0xe0001156, 0x9b56: 0xe0000c15, 0x9b57: 0xe0000f8d, + 0x9b58: 0xe0003639, 0x9b59: 0xe0001111, 0x9b5a: 0xf0000404, 0x9b5b: 0xe0000f70, + 0x9b5c: 0x40300420, 0x9b5d: 0x40300620, 0x9b5e: 0xe0000f7f, 0x9b5f: 0x402c9620, + 0x9b60: 0xe000099b, 0x9b61: 0xe0000998, 0x9b62: 0xe0000989, 0x9b63: 0xe0000986, + 0x9b64: 0xe0000928, 0x9b65: 0xe0000924, 0x9b66: 0xe0000930, 0x9b67: 0xe000092c, + 0x9b68: 0xe0000940, 0x9b69: 0xe000093c, 0x9b6a: 0xe0000938, 0x9b6b: 0xe0000934, + 0x9b6c: 0xe00009aa, 0x9b6d: 0xe00009a6, 0x9b6e: 0xe0000902, 0x9b6f: 0xe00008fe, + 0x9b70: 0xe000090a, 0x9b71: 0xe0000906, 0x9b72: 0xe000091a, 0x9b73: 0xe0000916, + 0x9b74: 0xe0000912, 0x9b75: 0xe000090e, 0x9b76: 0xe00009a2, 0x9b77: 0xe000099e, + 0x9b78: 0xe0000b6e, 0x9b79: 0xe0000b6b, 0x9b7a: 0xe0000b5c, 0x9b7b: 0xe0000b59, + 0x9b7c: 0xe0000b26, 0x9b7d: 0xe0000b23, 0x9b7e: 0xe0000afb, 0x9b7f: 0xe0000af7, + // Block 0x26e, offset 0x9b80 + 0x9b80: 0xe0000b03, 0x9b81: 0xe0000aff, 0x9b82: 0xe0000b13, 0x9b83: 0xe0000b0f, + 0x9b84: 0xe0000b0b, 0x9b85: 0xe0000b07, 0x9b86: 0xe0000b75, 0x9b87: 0xe0000b71, + 0x9b88: 0xe0000c66, 0x9b89: 0xe0000c63, 0x9b8a: 0xe0000c78, 0x9b8b: 0xe0000c75, + 0x9b8c: 0xe0000e84, 0x9b8d: 0xe0000e81, 0x9b8e: 0xe0000e44, 0x9b8f: 0xe0000e41, + 0x9b90: 0xe0000dad, 0x9b91: 0xe0000da9, 0x9b92: 0xe0000db5, 0x9b93: 0xe0000db1, + 0x9b94: 0xe0000dc5, 0x9b95: 0xe0000dc1, 0x9b96: 0xe0003812, 0x9b97: 0xe000380f, + 0x9b98: 0xe0000e8b, 0x9b99: 0xe0000e87, 0x9b9a: 0xe0000e5d, 0x9b9b: 0xe0000e59, + 0x9b9c: 0xe0000e65, 0x9b9d: 0xe0000e61, 0x9b9e: 0xe0000e75, 0x9b9f: 0xe0000e71, + 0x9ba0: 0xe0003824, 0x9ba1: 0xe0003821, 0x9ba2: 0xe0000e7d, 0x9ba3: 0xe0000e79, + 0x9ba4: 0xe000108d, 0x9ba5: 0xe000108a, 0x9ba6: 0xe000104d, 0x9ba7: 0xe000104a, + 0x9ba8: 0xe0001066, 0x9ba9: 0xe0001062, 0x9baa: 0xe000106e, 0x9bab: 0xe000106a, + 0x9bac: 0xe000107e, 0x9bad: 0xe000107a, 0x9bae: 0xe0001076, 0x9baf: 0xe0001072, + 0x9bb0: 0xe0001086, 0x9bb1: 0xe0001082, 0x9bb2: 0xe0001108, 0x9bb3: 0xe0001105, + 0x9bb4: 0xe0001135, 0x9bb5: 0xe0001132, 0x9bb6: 0xe000112f, 0x9bb7: 0xe000112c, + 0x9bb8: 0xe000111d, 0x9bb9: 0xe000111a, 0x9bba: 0xe0000d0a, 0x9bbb: 0xe0000d07, + 0x9bbc: 0x0030d888, 0x9bbd: 0x4030d820, 0x9bbe: 0x00312088, 0x9bbf: 0x40312020, + // Block 0x26f, offset 0x9bc0 + 0x9bc0: 0xe0000024, 0x9bc1: 0xe0000029, 0x9bc2: 0xe000002e, 0x9bc3: 0xe0000033, + 0x9bc4: 0xe0000038, 0x9bc5: 0xe000003d, 0x9bc6: 0xe0000042, 0x9bc7: 0xe0000047, + 0x9bc8: 0xf0001f04, 0x9bc9: 0xf0001f04, 0x9bca: 0xf0001f04, 0x9bcb: 0xf0001f04, + 0x9bcc: 0xf0001f04, 0x9bcd: 0xf0001f04, 0x9bce: 0xf0001f04, 0x9bcf: 0xf0001f04, + 0x9bd0: 0xf0001f04, 0x9bd1: 0xf0000404, 0x9bd2: 0xf0000404, 0x9bd3: 0xf0000404, + 0x9bd4: 0xf0000404, 0x9bd5: 0xf0000404, 0x9bd6: 0xf0000404, 0x9bd7: 0xf0000404, + 0x9bd8: 0xf0000404, 0x9bd9: 0xf0000404, 0x9bda: 0xf0000404, 0x9bdb: 0xf0000404, + 0x9bdc: 0xf0000404, 0x9bdd: 0xf0000404, 0x9bde: 0xf0000404, 0x9bdf: 0xf0000404, + 0x9be0: 0xf0000404, 0x9be1: 0xf0000404, 0x9be2: 0xf0000404, 0x9be3: 0xf0000404, + 0x9be4: 0xf0000404, 0x9be5: 0xf0000404, 0x9be6: 0xf0000404, 0x9be7: 0xf0000404, + 0x9be8: 0xf0000404, 0x9be9: 0xf0000404, 0x9bea: 0xf0000404, 0x9beb: 0xf0000404, + 0x9bec: 0xf0000404, 0x9bed: 0xf0000404, 0x9bee: 0xf0000404, 0x9bef: 0xf0000404, + 0x9bf0: 0xf0000404, 0x9bf1: 0xf0000404, 0x9bf2: 0xe0002c46, 0x9bf3: 0xf0000404, + 0x9bf4: 0xf0000404, 0x9bf5: 0xf0000404, 0x9bf6: 0x002bde8c, 0x9bf7: 0x002c0a8c, + 0x9bf8: 0x002c3a8c, 0x9bf9: 0x002c628c, 0x9bfa: 0x002c988c, 0x9bfb: 0x002d088c, + 0x9bfc: 0x002d228c, 0x9bfd: 0x002d688c, 0x9bfe: 0x002d9a8c, 0x9bff: 0x002dcc8c, + // Block 0x270, offset 0x9c00 + 0x9c00: 0xf0001d1c, 0x9c01: 0xf0001d1c, 0x9c02: 0xf0001d1c, 0x9c03: 0xf0001d1c, + 0x9c04: 0xf0001d1c, 0x9c05: 0xf0001d1d, 0x9c06: 0xf0001d1d, 0x9c07: 0xf0001d1d, + 0x9c08: 0xe0000a6b, 0x9c09: 0xe0000cb4, 0x9c0a: 0xf0001d1c, 0x9c0b: 0xf0001d1c, + 0x9c0c: 0xf0001d1c, 0x9c0d: 0xf0001c1c, 0x9c0e: 0xf0001c1c, 0x9c0f: 0xf0001c1c, + 0x9c10: 0xf0001c1d, 0x9c11: 0xe0000cb9, 0x9c12: 0xe0000d36, 0x9c13: 0xe0000be3, + 0x9c14: 0xe0000fc5, 0x9c15: 0xf0001c1c, 0x9c16: 0xf0001c1c, 0x9c17: 0xf0001c1c, + 0x9c18: 0xf0001c1c, 0x9c19: 0xf0001c1c, 0x9c1a: 0xf0001c1c, 0x9c1b: 0xf0001c1c, + 0x9c1c: 0xf0001c1c, 0x9c1d: 0xf0001c1c, 0x9c1e: 0xf0001c1c, 0x9c1f: 0xe0000d3e, + 0x9c20: 0xe0000a72, 0x9c21: 0xf0001c1c, 0x9c22: 0xe0000cbd, 0x9c23: 0xe0000d42, + 0x9c24: 0xe0000a76, 0x9c25: 0xf0001c1c, 0x9c26: 0xe0000cc1, 0x9c27: 0xe0000d2d, + 0x9c28: 0xe0000d31, 0x9c29: 0xf0001c1d, 0x9c2a: 0xe0000cc5, 0x9c2b: 0xe0000d4a, + 0x9c2c: 0xe0000be7, 0x9c2d: 0xe0000f0b, 0x9c2e: 0xe0000f0f, 0x9c2f: 0xe0000f15, + 0x9c30: 0xf0001c1c, 0x9c31: 0xf0001c1c, 0x9c32: 0xf0001c1c, 0x9c33: 0xf0001c1c, + 0x9c34: 0xf0001d1c, 0x9c35: 0xf0001d1c, 0x9c36: 0xf0001d1c, 0x9c37: 0xf0001d1c, + 0x9c38: 0xf0001d1c, 0x9c39: 0xf0001d1d, 0x9c3a: 0xe00035df, 0x9c3b: 0xe00035cd, + 0x9c3c: 0xe0003600, 0x9c3d: 0xe00035af, 0x9c3e: 0xe0002812, 0x9c3f: 0xe00035b2, + // Block 0x271, offset 0x9c40 + 0x9c40: 0xf0001f04, 0x9c41: 0xf0001f04, 0x9c42: 0xf0001f04, 0x9c43: 0xf0001f04, + 0x9c44: 0xf0001f04, 0x9c45: 0xf0001f04, 0x9c46: 0xf0001f04, 0x9c47: 0xf0001f04, + 0x9c48: 0xf0001f04, 0x9c49: 0xf0001f04, 0x9c4a: 0xf0001f04, + 0x9c50: 0xf0000a04, 0x9c51: 0xf0000a04, 0x9c52: 0xf0000a04, 0x9c53: 0xf0000a04, + 0x9c54: 0xf0000a04, 0x9c55: 0xf0000a04, 0x9c56: 0xf0000a04, 0x9c57: 0xf0000a04, + 0x9c58: 0xf0000a04, 0x9c59: 0xf0000a04, 0x9c5a: 0xf0000a04, 0x9c5b: 0xf0000a04, + 0x9c5c: 0xf0000a04, 0x9c5d: 0xf0000a04, 0x9c5e: 0xf0000a04, 0x9c5f: 0xf0000a04, + 0x9c60: 0xf0000a04, 0x9c61: 0xf0000a04, 0x9c62: 0xf0000a04, 0x9c63: 0xf0000a04, + 0x9c64: 0xf0000a04, 0x9c65: 0xf0000a04, 0x9c66: 0xe0002c4a, 0x9c67: 0xf0000a04, + 0x9c68: 0xf0000a04, 0x9c69: 0xf0000a04, 0x9c6a: 0xf0000a04, 0x9c6b: 0x002c3a8c, + 0x9c6c: 0x002f7a8c, 0x9c6d: 0xf0000c0c, 0x9c6e: 0xe00035e8, + 0x9c70: 0x002bde9d, 0x9c71: 0x002c0a9d, 0x9c72: 0x002c3a9d, 0x9c73: 0x002c629d, + 0x9c74: 0x002c989d, 0x9c75: 0x002d089d, 0x9c76: 0x002d229d, 0x9c77: 0x002d689d, + 0x9c78: 0x002d9a9d, 0x9c79: 0x002dcc9d, 0x9c7a: 0x002dfe9d, 0x9c7b: 0x002e229d, + 0x9c7c: 0x002e829d, 0x9c7d: 0x002e9e9d, 0x9c7e: 0x002ee29d, 0x9c7f: 0x002f2c9d, + // Block 0x272, offset 0x9c80 + 0x9c80: 0xa0000000, 0x9c81: 0xa0000000, 0x9c82: 0xa0000000, 0x9c83: 0xa0000000, + 0x9c84: 0xa0000000, 0x9c85: 0xa0000000, 0x9c86: 0xa0000000, 0x9c87: 0xa0000000, + 0x9c88: 0xa0000000, 0x9c89: 0x40020020, 0x9c8a: 0x40020220, 0x9c8b: 0x40020420, + 0x9c8c: 0x40020620, 0x9c8d: 0x40020820, 0x9c8e: 0xa0000000, 0x9c8f: 0xa0000000, + 0x9c90: 0xa0000000, 0x9c91: 0xa0000000, 0x9c92: 0xa0000000, 0x9c93: 0xa0000000, + 0x9c94: 0xa0000000, 0x9c95: 0xa0000000, 0x9c96: 0xa0000000, 0x9c97: 0xa0000000, + 0x9c98: 0xa0000000, 0x9c99: 0xa0000000, 0x9c9a: 0xa0000000, 0x9c9b: 0xa0000000, + 0x9c9c: 0xa0000000, 0x9c9d: 0xa0000000, 0x9c9e: 0xa0000000, 0x9c9f: 0xa0000000, + 0x9ca0: 0x40021220, 0x9ca1: 0x4002ba20, 0x9ca2: 0x4003e020, 0x9ca3: 0x4004ea20, + 0x9ca4: 0x4027de20, 0x9ca5: 0x4004ec20, 0x9ca6: 0x4004e620, 0x9ca7: 0x4003d220, + 0x9ca8: 0x4003f420, 0x9ca9: 0x4003f620, 0x9caa: 0x4004d820, 0x9cab: 0x40093820, + 0x9cac: 0x40024020, 0x9cad: 0x40021a20, 0x9cae: 0x4002e420, 0x9caf: 0x4004e220, + 0x9cb0: 0x4029cc20, 0x9cb1: 0x4029ce20, 0x9cb2: 0x4029d020, 0x9cb3: 0x4029d220, + 0x9cb4: 0x4029d420, 0x9cb5: 0x4029d620, 0x9cb6: 0x4029d820, 0x9cb7: 0x4029da20, + 0x9cb8: 0x4029dc20, 0x9cb9: 0x4029de20, 0x9cba: 0x40026c20, 0x9cbb: 0x40026220, + 0x9cbc: 0x40094020, 0x9cbd: 0x40094220, 0x9cbe: 0x40094420, 0x9cbf: 0x4002c420, + // Block 0x273, offset 0x9cc0 + 0x9cc0: 0x4004d620, 0x9cc1: 0x002bde88, 0x9cc2: 0x002c0a88, 0x9cc3: 0x002c3a88, + 0x9cc4: 0x002c6288, 0x9cc5: 0x002c9888, 0x9cc6: 0x002d0888, 0x9cc7: 0x002d2288, + 0x9cc8: 0x002d6888, 0x9cc9: 0x002d9a88, 0x9cca: 0x002dcc88, 0x9ccb: 0x002dfe88, + 0x9ccc: 0xc0030002, 0x9ccd: 0x002e8288, 0x9cce: 0xc5852853, 0x9ccf: 0x002ee288, + 0x9cd0: 0x002f2c88, 0x9cd1: 0x002f5688, 0x9cd2: 0x002f7a88, 0x9cd3: 0x002fe688, + 0x9cd4: 0x00302c88, 0x9cd5: 0x00306c88, 0x9cd6: 0x0030be88, 0x9cd7: 0x0030e288, + 0x9cd8: 0x0030f688, 0x9cd9: 0x00310088, 0x9cda: 0x00312a88, 0x9cdb: 0x4003f820, + 0x9cdc: 0x4004e420, 0x9cdd: 0x4003fa20, 0x9cde: 0x40062420, 0x9cdf: 0x40021620, + 0x9ce0: 0x40061e20, 0x9ce1: 0x402bde20, 0x9ce2: 0x402c0a20, 0x9ce3: 0x402c3a20, + 0x9ce4: 0x402c6220, 0x9ce5: 0x402c9820, 0x9ce6: 0x402d0820, 0x9ce7: 0x402d2220, + 0x9ce8: 0x402d6820, 0x9ce9: 0x402d9a20, 0x9cea: 0x402dcc20, 0x9ceb: 0x402dfe20, + 0x9cec: 0xc0000002, 0x9ced: 0x402e8220, 0x9cee: 0xc5822822, 0x9cef: 0x402ee220, + 0x9cf0: 0x402f2c20, 0x9cf1: 0x402f5620, 0x9cf2: 0x402f7a20, 0x9cf3: 0x402fe620, + 0x9cf4: 0x40302c20, 0x9cf5: 0x40306c20, 0x9cf6: 0x4030be20, 0x9cf7: 0x4030e220, + 0x9cf8: 0x4030f620, 0x9cf9: 0x40310020, 0x9cfa: 0x40312a20, 0x9cfb: 0x4003fc20, + 0x9cfc: 0x40094820, 0x9cfd: 0x4003fe20, 0x9cfe: 0x40094c20, 0x9cff: 0xa0000000, + // Block 0x274, offset 0x9d00 + 0x9d01: 0x40417021, 0x9d02: 0x40417020, 0x9d03: 0x40417220, + 0x9d05: 0x40417020, 0x9d06: 0x40417220, 0x9d07: 0x40417420, + 0x9d08: 0x40417620, 0x9d09: 0x40417820, 0x9d0a: 0x40417a20, 0x9d0b: 0x40417c20, + 0x9d0c: 0x40418020, 0x9d0d: 0x40418420, 0x9d0f: 0x40418620, + 0x9d10: 0x40418820, 0x9d11: 0x40418a20, 0x9d13: 0x40418c20, + 0x9d14: 0x40418e20, 0x9d15: 0x40419020, 0x9d16: 0x40419220, 0x9d17: 0x40419420, + 0x9d18: 0x40419620, 0x9d19: 0x40419820, 0x9d1a: 0x40419a20, 0x9d1b: 0x40419c20, + 0x9d1c: 0x40419e20, 0x9d1d: 0x4041a020, 0x9d1e: 0x4041a220, 0x9d1f: 0x4041a420, + 0x9d20: 0x4041a620, 0x9d21: 0x4041a820, 0x9d22: 0x4041aa20, 0x9d23: 0x4041ac20, + 0x9d24: 0x4041ae20, 0x9d25: 0x4041b020, 0x9d26: 0x4041b220, 0x9d27: 0x4041b420, + 0x9d28: 0x4041b620, 0x9d2a: 0x4041b820, 0x9d2b: 0x4041ba20, + 0x9d2c: 0x4041bc20, 0x9d2d: 0x4041be20, 0x9d2e: 0x4041c020, 0x9d2f: 0x4041c220, + 0x9d30: 0x4041c420, 0x9d32: 0x4041c620, 0x9d33: 0x4041d220, + 0x9d35: 0x4041c820, 0x9d36: 0x4041ca20, 0x9d37: 0x4041cc20, + 0x9d38: 0x4041ce20, 0x9d39: 0x4041d020, + 0x9d3c: 0xa070f102, 0x9d3d: 0x4041d420, 0x9d3e: 0x4041d620, 0x9d3f: 0x4041d820, + // Block 0x275, offset 0x9d40 + 0x9d40: 0xa0000000, 0x9d41: 0xa0000000, 0x9d42: 0xa0000000, 0x9d43: 0xa0000000, + 0x9d44: 0xa0000000, 0x9d45: 0xa0000000, 0x9d46: 0xa0000000, 0x9d47: 0xa0000000, + 0x9d48: 0xa0000000, 0x9d49: 0x40020020, 0x9d4a: 0x40020220, 0x9d4b: 0x40020420, + 0x9d4c: 0x40020620, 0x9d4d: 0x40020820, 0x9d4e: 0xa0000000, 0x9d4f: 0xa0000000, + 0x9d50: 0xa0000000, 0x9d51: 0xa0000000, 0x9d52: 0xa0000000, 0x9d53: 0xa0000000, + 0x9d54: 0xa0000000, 0x9d55: 0xa0000000, 0x9d56: 0xa0000000, 0x9d57: 0xa0000000, + 0x9d58: 0xa0000000, 0x9d59: 0xa0000000, 0x9d5a: 0xa0000000, 0x9d5b: 0xa0000000, + 0x9d5c: 0xa0000000, 0x9d5d: 0xa0000000, 0x9d5e: 0xa0000000, 0x9d5f: 0xa0000000, + 0x9d60: 0x40021220, 0x9d61: 0x4002ba20, 0x9d62: 0x4003e020, 0x9d63: 0x4004ea20, + 0x9d64: 0x4027de20, 0x9d65: 0x4004ec20, 0x9d66: 0x4004e620, 0x9d67: 0xc58f26f2, + 0x9d68: 0x4003f420, 0x9d69: 0x4003f620, 0x9d6a: 0x4004d820, 0x9d6b: 0x40093820, + 0x9d6c: 0x40024020, 0x9d6d: 0x40021a20, 0x9d6e: 0x4002e420, 0x9d6f: 0x4004e220, + 0x9d70: 0x4029cc20, 0x9d71: 0x4029ce20, 0x9d72: 0x4029d020, 0x9d73: 0x4029d220, + 0x9d74: 0x4029d420, 0x9d75: 0x4029d620, 0x9d76: 0x4029d820, 0x9d77: 0x4029da20, + 0x9d78: 0x4029dc20, 0x9d79: 0x4029de20, 0x9d7a: 0x40026c20, 0x9d7b: 0x40026220, + 0x9d7c: 0x40094020, 0x9d7d: 0x40094220, 0x9d7e: 0x40094420, 0x9d7f: 0x4002c420, + // Block 0x276, offset 0x9d80 + 0x9d80: 0x4004d620, 0x9d81: 0x002bde88, 0x9d82: 0x002c0a88, 0x9d83: 0x002c3a88, + 0x9d84: 0x002c6288, 0x9d85: 0x002c9888, 0x9d86: 0x002d0888, 0x9d87: 0x002d2288, + 0x9d88: 0x002d6888, 0x9d89: 0x002d9a88, 0x9d8a: 0x002dcc88, 0x9d8b: 0x002dfe88, + 0x9d8c: 0xc0030002, 0x9d8d: 0x002e8288, 0x9d8e: 0x002e9e88, 0x9d8f: 0x002ee288, + 0x9d90: 0x002f2c88, 0x9d91: 0x002f5688, 0x9d92: 0x002f7a88, 0x9d93: 0xc58909c2, + 0x9d94: 0xc38a2722, 0x9d95: 0x00306c88, 0x9d96: 0x0030be88, 0x9d97: 0x0030e288, + 0x9d98: 0x0030f688, 0x9d99: 0x00310088, 0x9d9a: 0x00312a88, 0x9d9b: 0x4003f820, + 0x9d9c: 0x4004e420, 0x9d9d: 0x4003fa20, 0x9d9e: 0x40062420, 0x9d9f: 0x40021620, + 0x9da0: 0x40061e20, 0x9da1: 0x402bde20, 0x9da2: 0x402c0a20, 0x9da3: 0x402c3a20, + 0x9da4: 0x402c6220, 0x9da5: 0x402c9820, 0x9da6: 0x402d0820, 0x9da7: 0x402d2220, + 0x9da8: 0x402d6820, 0x9da9: 0x402d9a20, 0x9daa: 0x402dcc20, 0x9dab: 0x402dfe20, + 0x9dac: 0xc0000002, 0x9dad: 0x402e8220, 0x9dae: 0x402e9e20, 0x9daf: 0x402ee220, + 0x9db0: 0x402f2c20, 0x9db1: 0x402f5620, 0x9db2: 0x402f7a20, 0x9db3: 0xc34109b1, + 0x9db4: 0xc3882711, 0x9db5: 0x40306c20, 0x9db6: 0x4030be20, 0x9db7: 0x4030e220, + 0x9db8: 0x4030f620, 0x9db9: 0x40310020, 0x9dba: 0x40312a20, 0x9dbb: 0x4003fc20, + 0x9dbc: 0x40094820, 0x9dbd: 0x4003fe20, 0x9dbe: 0x40094c20, 0x9dbf: 0xa0000000, + // Block 0x277, offset 0x9dc0 + 0x9dc0: 0x402c1a20, 0x9dc1: 0x002c0c83, 0x9dc2: 0x002c3288, 0x9dc3: 0x402c3220, + 0x9dc4: 0x0031c488, 0x9dc5: 0x4031c420, 0x9dc6: 0x002efa88, 0x9dc7: 0x002c4e88, + 0x9dc8: 0x402c4e20, 0x9dc9: 0x002c7288, 0x9dca: 0x002c6483, 0x9dcb: 0x002c8488, + 0x9dcc: 0x402c8420, 0x9dcd: 0xe000115c, 0x9dce: 0x002cae88, 0x9dcf: 0x002cb888, + 0x9dd0: 0x002cc288, 0x9dd1: 0x002d1688, 0x9dd2: 0x402d1620, 0x9dd3: 0x002d4488, + 0x9dd4: 0x002d5888, 0x9dd5: 0x402d7820, 0x9dd6: 0x002dc288, 0x9dd7: 0x002db688, + 0x9dd8: 0x002e0083, 0x9dd9: 0x402e0020, 0x9dda: 0x402e3820, 0x9ddb: 0x402e7220, + 0x9ddc: 0x0030a088, 0x9ddd: 0x002eb488, 0x9dde: 0x402ebc20, 0x9ddf: 0x002f1088, + 0x9de0: 0xe0000e56, 0x9de1: 0xe0000e53, 0x9de2: 0x002d6088, 0x9de3: 0x402d6020, + 0x9de4: 0x002f3e88, 0x9de5: 0x402f3e20, 0x9de6: 0x002f8288, 0x9de7: 0x0031b488, + 0x9de8: 0x4031b420, 0x9de9: 0x00300888, 0x9dea: 0x40301220, 0x9deb: 0x40304220, + 0x9dec: 0x00304a88, 0x9ded: 0x40304a20, 0x9dee: 0x00305288, 0x9def: 0xe000105f, + 0x9df0: 0xe000105c, 0x9df1: 0x0030b488, 0x9df2: 0x0030cc88, 0x9df3: 0x00310285, + 0x9df4: 0x40310220, 0x9df5: 0x00313488, 0x9df6: 0x40313420, 0x9df7: 0x00316488, + 0x9df8: 0x00316e88, 0x9df9: 0x40316e20, 0x9dfa: 0x40317820, 0x9dfb: 0x4031a620, + 0x9dfc: 0x0031bc88, 0x9dfd: 0x4031bc20, 0x9dfe: 0xe0000fc9, 0x9dff: 0x40319420, + // Block 0x278, offset 0x9e00 + 0x9e00: 0x40315820, 0x9e01: 0x0031d488, 0x9e02: 0x4031d420, 0x9e03: 0x002c1a88, + 0x9e04: 0x00307c88, 0x9e05: 0x0030da88, 0x9e06: 0x002ca288, 0x9e07: 0x402ca220, + 0x9e08: 0x002dde88, 0x9e09: 0x402dde20, 0x9e0a: 0x002f6a88, 0x9e0b: 0x402f6a20, + 0x9e0c: 0x002f8e88, 0x9e0d: 0x402f8e20, 0x9e0e: 0x00311088, 0x9e0f: 0x40311020, + 0x9e10: 0x402bf020, 0x9e11: 0x402bf820, 0x9e12: 0x402c0220, 0x9e13: 0x402c0c20, + 0x9e14: 0x402efa20, 0x9e15: 0x402c5620, 0x9e16: 0x402c7220, 0x9e17: 0x402c6420, + 0x9e18: 0x402ccc20, 0x9e19: 0x402cb820, 0x9e1a: 0x402cd420, 0x9e1b: 0x402cc220, + 0x9e1c: 0x402cdc20, 0x9e1d: 0x402ce820, 0x9e1e: 0x402cf020, 0x9e1f: 0x402dee20, + 0x9e20: 0x402d4420, 0x9e21: 0x402d2a20, 0x9e22: 0x402d3220, 0x9e23: 0x402d5820, + 0x9e24: 0x402d0020, 0x9e25: 0x40308820, 0x9e26: 0x402d8020, 0x9e27: 0x402d8e20, + 0x9e28: 0x402db620, 0x9e29: 0x402dc220, 0x9e2a: 0x402daa20, 0x9e2b: 0x402e4220, + 0x9e2c: 0x402e4a20, 0x9e2d: 0x402e5420, 0x9e2e: 0x402e6820, 0x9e2f: 0x4030a020, + 0x9e30: 0x4030ac20, 0x9e31: 0x402e9020, 0x9e32: 0x402eb420, 0x9e33: 0x402ec820, + 0x9e34: 0x402ea620, 0x9e35: 0x402f1020, 0x9e36: 0x402eee20, 0x9e37: 0x402f1a20, + 0x9e38: 0x402f4c20, 0x9e39: 0x402f9820, 0x9e3a: 0x402fa220, 0x9e3b: 0x402fac20, + 0x9e3c: 0x402fb620, 0x9e3d: 0x402fbe20, 0x9e3e: 0x402fc620, 0x9e3f: 0x402fd020, + // Block 0x279, offset 0x9e40 + 0x9e40: 0x402f8220, 0x9e41: 0x402fd820, 0x9e42: 0x402ff420, 0x9e43: 0x40300820, + 0x9e44: 0x402df620, 0x9e45: 0x40301a20, 0x9e46: 0x40302420, 0x9e47: 0x40306420, + 0x9e48: 0x40305220, 0x9e49: 0x40307c20, 0x9e4a: 0x4030b420, 0x9e4b: 0x4030cc20, + 0x9e4c: 0x4030da20, 0x9e4d: 0x4030ee20, 0x9e4e: 0x402e7a20, 0x9e4f: 0x40310820, + 0x9e50: 0x40314820, 0x9e51: 0x40315020, 0x9e52: 0x40316420, 0x9e53: 0x40318020, + 0x9e54: 0x4031cc20, 0x9e55: 0x4031e820, 0x9e56: 0x40320a20, 0x9e57: 0x40323220, + 0x9e58: 0x40323a20, 0x9e59: 0x402c1220, 0x9e5a: 0x402cf820, 0x9e5b: 0x402d4c20, + 0x9e5c: 0x402d7020, 0x9e5d: 0x402de620, 0x9e5e: 0x402e1a20, 0x9e5f: 0x402e2a20, + 0x9e60: 0x402f6220, 0x9e61: 0x4031fa20, 0x9e62: 0x40320220, 0x9e63: 0xe0000aca, + 0x9e64: 0xe0000adc, 0x9e65: 0xe0000ad9, 0x9e66: 0xe0000fcc, 0x9e67: 0xe0000fcf, + 0x9e68: 0xe0000fba, 0x9e69: 0xe0000ba1, 0x9e6a: 0xe0000d11, 0x9e6b: 0xe0000d18, + 0x9e6c: 0x40324220, 0x9e6d: 0x40324a20, 0x9e6e: 0x40309020, 0x9e6f: 0x40309820, + 0x9e70: 0x002d6894, 0x9e71: 0x002d8094, 0x9e72: 0x002dcc94, 0x9e73: 0x002f7a94, + 0x9e74: 0x002f9894, 0x9e75: 0x002fac94, 0x9e76: 0x002fd894, 0x9e77: 0x0030e294, + 0x9e78: 0x00310094, 0x9e79: 0x40064020, 0x9e7a: 0x40064420, 0x9e7b: 0x402d9620, + 0x9e7c: 0xc58c26f2, 0x9e7d: 0x402d9820, 0x9e7e: 0x4031e220, 0x9e7f: 0x4031f020, + // Block 0x27a, offset 0x9e80 + 0x9e80: 0xa0000000, 0x9e81: 0xa0000000, 0x9e82: 0xa0000000, 0x9e83: 0xa0000000, + 0x9e84: 0xa0000000, 0x9e85: 0xa0000000, 0x9e86: 0xa0000000, 0x9e87: 0xa0000000, + 0x9e88: 0xa0000000, 0x9e89: 0x40020020, 0x9e8a: 0x40020220, 0x9e8b: 0x40020420, + 0x9e8c: 0x40020620, 0x9e8d: 0x40020820, 0x9e8e: 0xa0000000, 0x9e8f: 0xa0000000, + 0x9e90: 0xa0000000, 0x9e91: 0xa0000000, 0x9e92: 0xa0000000, 0x9e93: 0xa0000000, + 0x9e94: 0xa0000000, 0x9e95: 0xa0000000, 0x9e96: 0xa0000000, 0x9e97: 0xa0000000, + 0x9e98: 0xa0000000, 0x9e99: 0xa0000000, 0x9e9a: 0xa0000000, 0x9e9b: 0xa0000000, + 0x9e9c: 0xa0000000, 0x9e9d: 0xa0000000, 0x9e9e: 0xa0000000, 0x9e9f: 0xa0000000, + 0x9ea0: 0x40021220, 0x9ea1: 0x4002ba20, 0x9ea2: 0x4003e020, 0x9ea3: 0x4004ea20, + 0x9ea4: 0x4027de20, 0x9ea5: 0x4004ec20, 0x9ea6: 0x4004e620, 0x9ea7: 0x4003d220, + 0x9ea8: 0x4003f420, 0x9ea9: 0x4003f620, 0x9eaa: 0x4004d820, 0x9eab: 0x40093820, + 0x9eac: 0x40024020, 0x9ead: 0x40021a20, 0x9eae: 0x4002e420, 0x9eaf: 0x4004e220, + 0x9eb0: 0x4029cc20, 0x9eb1: 0x4029ce20, 0x9eb2: 0x4029d020, 0x9eb3: 0x4029d220, + 0x9eb4: 0x4029d420, 0x9eb5: 0x4029d620, 0x9eb6: 0x4029d820, 0x9eb7: 0x4029da20, + 0x9eb8: 0x4029dc20, 0x9eb9: 0x4029de20, 0x9eba: 0x40026c20, 0x9ebb: 0x40026220, + 0x9ebc: 0x40094020, 0x9ebd: 0x40094220, 0x9ebe: 0x40094420, 0x9ebf: 0x4002c420, + // Block 0x27b, offset 0x9ec0 + 0x9ec0: 0x4004d620, 0x9ec1: 0x002bde83, 0x9ec2: 0x002c0a88, 0x9ec3: 0x002c3a88, + 0x9ec4: 0x002c6288, 0x9ec5: 0x002be083, 0x9ec6: 0x002d0888, 0x9ec7: 0x002d2288, + 0x9ec8: 0x002be883, 0x9ec9: 0x002be283, 0x9eca: 0x002dcc88, 0x9ecb: 0x002bea83, + 0x9ecc: 0xc5950002, 0x9ecd: 0x002bee83, 0x9ece: 0x002bf083, 0x9ecf: 0x002be483, + 0x9ed0: 0x002bf283, 0x9ed1: 0x002f5688, 0x9ed2: 0x002f7a88, 0x9ed3: 0x002fe688, + 0x9ed4: 0x00302c88, 0x9ed5: 0x002be683, 0x9ed6: 0x0030be88, 0x9ed7: 0x002bf483, + 0x9ed8: 0x0030f688, 0x9ed9: 0x00310088, 0x9eda: 0x00312a88, 0x9edb: 0x4003f820, + 0x9edc: 0x4004e420, 0x9edd: 0x4003fa20, 0x9ede: 0x40062420, 0x9edf: 0x40021620, + 0x9ee0: 0x40061e20, 0x9ee1: 0x402bde20, 0x9ee2: 0x402c0a20, 0x9ee3: 0x402c3a20, + 0x9ee4: 0x402c6220, 0x9ee5: 0x402be020, 0x9ee6: 0x402d0820, 0x9ee7: 0x402d2220, + 0x9ee8: 0x402be820, 0x9ee9: 0x402be220, 0x9eea: 0x402dcc20, 0x9eeb: 0x402bea20, + 0x9eec: 0xc5920002, 0x9eed: 0x402bee20, 0x9eee: 0x402bf020, 0x9eef: 0x402be420, + 0x9ef0: 0x402bf220, 0x9ef1: 0x402f5620, 0x9ef2: 0x402f7a20, 0x9ef3: 0x402fe620, + 0x9ef4: 0x40302c20, 0x9ef5: 0x402be620, 0x9ef6: 0x4030be20, 0x9ef7: 0x402bf420, + 0x9ef8: 0x4030f620, 0x9ef9: 0x40310020, 0x9efa: 0x40312a20, 0x9efb: 0x4003fc20, + 0x9efc: 0x40094820, 0x9efd: 0x4003fe20, 0x9efe: 0x40094c20, 0x9eff: 0xa0000000, + // Block 0x27c, offset 0x9f00 + 0x9f00: 0xe000382a, 0x9f01: 0xe0003827, 0x9f02: 0xe0003840, 0x9f03: 0xe0003864, + 0x9f04: 0xe000385d, 0x9f05: 0xe0003856, 0x9f06: 0xe00009dd, 0x9f07: 0xe0000a53, + 0x9f08: 0xe0003894, 0x9f09: 0xe000388e, 0x9f0a: 0xe00038a0, 0x9f0b: 0xe00038cc, + 0x9f0c: 0xe000393a, 0x9f0d: 0xe0003934, 0x9f0e: 0xe0003946, 0x9f0f: 0xe0003952, + 0x9f10: 0xe0000ab3, 0x9f11: 0xe0003be8, 0x9f12: 0xe0003999, 0x9f13: 0xe0003993, + 0x9f14: 0xe00039a5, 0x9f15: 0xe00039e5, 0x9f16: 0xe00039d1, 0x9f17: 0x40093e20, + 0x9f18: 0xe0000e12, 0x9f19: 0xe0003a89, 0x9f1a: 0xe0003a83, 0x9f1b: 0xe0003a95, + 0x9f1c: 0xe0003aa7, 0x9f1d: 0xe0001102, 0x9f1e: 0x00318888, 0x9f1f: 0xe0000f7b, + 0x9f20: 0xe00008f2, 0x9f21: 0xe00008ec, 0x9f22: 0xe000091e, 0x9f23: 0xe0000966, + 0x9f24: 0xe0000958, 0x9f25: 0xe000094a, 0x9f26: 0xe00009d5, 0x9f27: 0xe0000a4d, + 0x9f28: 0xe0003891, 0x9f29: 0xe000388b, 0x9f2a: 0xe000389d, 0x9f2b: 0xe00038c9, + 0x9f2c: 0xe0003937, 0x9f2d: 0xe0003931, 0x9f2e: 0xe0003943, 0x9f2f: 0xe000394f, + 0x9f30: 0xe0000aad, 0x9f31: 0xe0003be5, 0x9f32: 0xe0003996, 0x9f33: 0xe0003990, + 0x9f34: 0xe00039a2, 0x9f35: 0xe00039e2, 0x9f36: 0xe00039ce, 0x9f37: 0x40093c20, + 0x9f38: 0xe0000e0f, 0x9f39: 0xe0003a86, 0x9f3a: 0xe0003a80, 0x9f3b: 0xe0003a92, + 0x9f3c: 0xe0003aa4, 0x9f3d: 0xe00010ff, 0x9f3e: 0x40318820, 0x9f3f: 0xe0001114, + // Block 0x27d, offset 0x9f40 + 0x9f40: 0xe0003871, 0x9f41: 0xe0000980, 0x9f42: 0xe000382d, 0x9f43: 0xe00008f8, + 0x9f44: 0xe000386e, 0x9f45: 0xe000097a, 0x9f46: 0xe0000a38, 0x9f47: 0xe0000a35, + 0x9f48: 0xe0000a3e, 0x9f49: 0xe0000a3b, 0x9f4a: 0xe0000a4a, 0x9f4b: 0xe0000a47, + 0x9f4c: 0xe0000a44, 0x9f4d: 0xe0000a41, 0x9f4e: 0xe0000a86, 0x9f4f: 0xe0000a83, + 0x9f50: 0xe0000aaa, 0x9f51: 0xe0000aa7, 0x9f52: 0xe00038f2, 0x9f53: 0xe00038ef, + 0x9f54: 0xe000389a, 0x9f55: 0xe0003897, 0x9f56: 0xe00038d8, 0x9f57: 0xe00038d5, + 0x9f58: 0xe00038ec, 0x9f59: 0xe00038e9, 0x9f5a: 0xe00038c6, 0x9f5b: 0xe00038c3, + 0x9f5c: 0xe0000bb8, 0x9f5d: 0xe0000bb5, 0x9f5e: 0xe0000bb2, 0x9f5f: 0xe0000baf, + 0x9f60: 0xe0000bc4, 0x9f61: 0xe0000bc1, 0x9f62: 0xe0000bca, 0x9f63: 0xe0000bc7, + 0x9f64: 0xe0003b4d, 0x9f65: 0xe0003b4a, 0x9f66: 0xe0000c1b, 0x9f67: 0xe0000c18, + 0x9f68: 0xe0003960, 0x9f69: 0xe000395d, 0x9f6a: 0xe000396f, 0x9f6b: 0xe000396c, + 0x9f6c: 0xe0003940, 0x9f6d: 0xe000393d, 0x9f6e: 0xe0003969, 0x9f6f: 0xe0003966, + 0x9f70: 0xe0003963, 0x9f71: 0x402da220, 0x9f72: 0xe00027e2, 0x9f73: 0xe00027df, + 0x9f74: 0xe0000c8a, 0x9f75: 0xe0000c87, 0x9f76: 0xe0003b86, 0x9f77: 0xe0003b83, + 0x9f78: 0x402f7220, 0x9f79: 0xe0003b98, 0x9f7a: 0xe0003b95, 0x9f7b: 0xe0003ba4, + 0x9f7c: 0xe0003ba1, 0x9f7d: 0xe0003b9e, 0x9f7e: 0xe0003b9b, 0x9f7f: 0xe0000d04, + // Block 0x27e, offset 0x9f80 + 0x9f80: 0xe0000cfe, 0x9f81: 0xe0000cf8, 0x9f82: 0xe0000cf5, 0x9f83: 0xe0003bd6, + 0x9f84: 0xe0003bd3, 0x9f85: 0xe0003bf4, 0x9f86: 0xe0003bf1, 0x9f87: 0xe0003be2, + 0x9f88: 0xe0003bdf, 0x9f89: 0xe00035eb, 0x9f8a: 0x002eda88, 0x9f8b: 0x402eda20, + 0x9f8c: 0xe0003a1f, 0x9f8d: 0xe0003a1c, 0x9f8e: 0xe000399f, 0x9f8f: 0xe000399c, + 0x9f90: 0xe00039df, 0x9f91: 0xe00039dc, 0x9f92: 0xe0000e93, 0x9f93: 0xe0000e8f, + 0x9f94: 0xe0000eca, 0x9f95: 0xe0000ec7, 0x9f96: 0xe0000edc, 0x9f97: 0xe0000ed9, + 0x9f98: 0xe0000ed0, 0x9f99: 0xe0000ecd, 0x9f9a: 0xe0000f1f, 0x9f9b: 0xe0000f1c, + 0x9f9c: 0xe0000f2d, 0x9f9d: 0xe0000f2a, 0x9f9e: 0xe0000f47, 0x9f9f: 0xe0000f44, + 0x9fa0: 0xe0000f33, 0x9fa1: 0xe0000f30, 0x9fa2: 0xe0000f99, 0x9fa3: 0xe0000f96, + 0x9fa4: 0xe0000f8a, 0x9fa5: 0xe0000f87, 0x9fa6: 0x00303688, 0x9fa7: 0x40303620, + 0x9fa8: 0xe0003ad3, 0x9fa9: 0xe0003ad0, 0x9faa: 0xe0003ae7, 0x9fab: 0xe0003ae4, + 0x9fac: 0xe0003a8f, 0x9fad: 0xe0003a8c, 0x9fae: 0xe0003aa1, 0x9faf: 0xe0003a9e, + 0x9fb0: 0xe0003acd, 0x9fb1: 0xe0003aca, 0x9fb2: 0xe0003ae1, 0x9fb3: 0xe0003ade, + 0x9fb4: 0xe0003c24, 0x9fb5: 0xe0003c21, 0x9fb6: 0xe000110e, 0x9fb7: 0xe000110b, + 0x9fb8: 0xe0001117, 0x9fb9: 0xe000113b, 0x9fba: 0xe0001138, 0x9fbb: 0xe000114d, + 0x9fbc: 0xe000114a, 0x9fbd: 0xe0001147, 0x9fbe: 0xe0001144, 0x9fbf: 0xe0000f64, + // Block 0x27f, offset 0x9fc0 + 0x9fc0: 0x402c1a20, 0x9fc1: 0x002c2a88, 0x9fc2: 0x002c3288, 0x9fc3: 0x402c3220, + 0x9fc4: 0x0031c488, 0x9fc5: 0x4031c420, 0x9fc6: 0x002efa88, 0x9fc7: 0x002c4e88, + 0x9fc8: 0x402c4e20, 0x9fc9: 0x002c7288, 0x9fca: 0x002c7a88, 0x9fcb: 0x002c8488, + 0x9fcc: 0x402c8420, 0x9fcd: 0xe000115c, 0x9fce: 0x002cae88, 0x9fcf: 0x002cb888, + 0x9fd0: 0x002cc288, 0x9fd1: 0x002d1688, 0x9fd2: 0x402d1620, 0x9fd3: 0x002d4488, + 0x9fd4: 0x002d5888, 0x9fd5: 0x402d7820, 0x9fd6: 0x002dc288, 0x9fd7: 0x002db688, + 0x9fd8: 0x002e0a88, 0x9fd9: 0x402e0a20, 0x9fda: 0x402e3820, 0x9fdb: 0x402e7220, + 0x9fdc: 0x0030a088, 0x9fdd: 0x002eb488, 0x9fde: 0x402ebc20, 0x9fdf: 0x002f1088, + 0x9fe0: 0xe0003a47, 0x9fe1: 0xe0003a44, 0x9fe2: 0x002d6088, 0x9fe3: 0x402d6020, + 0x9fe4: 0x002f3e88, 0x9fe5: 0x402f3e20, 0x9fe6: 0x002f8288, 0x9fe7: 0x0031b488, + 0x9fe8: 0x4031b420, 0x9fe9: 0x00300888, 0x9fea: 0x40301220, 0x9feb: 0x40304220, + 0x9fec: 0x00304a88, 0x9fed: 0x40304a20, 0x9fee: 0x00305288, 0x9fef: 0xe0003b07, + 0x9ff0: 0xe0003b04, 0x9ff1: 0x0030b488, 0x9ff2: 0x0030cc88, 0x9ff3: 0x00311888, + 0x9ff4: 0x40311820, 0x9ff5: 0x00313488, 0x9ff6: 0x40313420, 0x9ff7: 0x00316488, + 0x9ff8: 0x00316e88, 0x9ff9: 0x40316e20, 0x9ffa: 0x40317820, 0x9ffb: 0x4031a620, + 0x9ffc: 0x0031bc88, 0x9ffd: 0x4031bc20, 0x9ffe: 0xe0000fc9, 0x9fff: 0x40319420, + // Block 0x280, offset 0xa000 + 0xa000: 0x40321220, 0xa001: 0x40321a20, 0xa002: 0x40322220, 0xa003: 0x40322a20, + 0xa004: 0xe0000ad5, 0xa005: 0xe0000ad1, 0xa006: 0xe0000acd, 0xa007: 0xe000357f, + 0xa008: 0xe000357c, 0xa009: 0xe0003579, 0xa00a: 0xe00035c4, 0xa00b: 0xe00035c1, + 0xa00c: 0xe00035be, 0xa00d: 0xe0003853, 0xa00e: 0xe0000944, 0xa00f: 0xe000394c, + 0xa010: 0xe0003949, 0xa011: 0xe00039cb, 0xa012: 0xe00039c8, 0xa013: 0xe0003a9b, + 0xa014: 0xe0003a98, 0xa015: 0xe0003ac6, 0xa016: 0xe0003ac2, 0xa017: 0xe0003aae, + 0xa018: 0xe0003aaa, 0xa019: 0xe0003abe, 0xa01a: 0xe0003aba, 0xa01b: 0xe0003ab6, + 0xa01c: 0xe0003ab2, 0xa01d: 0x402cae20, 0xa01e: 0xe0003860, 0xa01f: 0xe000095e, + 0xa020: 0xe000386a, 0xa021: 0xe0000972, 0xa022: 0xe00009f4, 0xa023: 0xe00009ef, + 0xa024: 0x002d3a88, 0xa025: 0x402d3a20, 0xa026: 0xe0000bbe, 0xa027: 0xe0000bbb, + 0xa028: 0xe0003b80, 0xa029: 0xe0003b7d, 0xa02a: 0xe0003a11, 0xa02b: 0xe0003a0e, + 0xa02c: 0xe0003a18, 0xa02d: 0xe0003a14, 0xa02e: 0xe0001162, 0xa02f: 0xe000115f, + 0xa030: 0xe0000c8d, 0xa031: 0xf0000a0a, 0xa032: 0xf000040a, 0xa033: 0xf0000404, + 0xa034: 0xe0000bac, 0xa035: 0xe0000ba9, 0xa036: 0x002d7888, 0xa037: 0x00319488, + 0xa038: 0xe0003bdc, 0xa039: 0xe0003bd9, 0xa03a: 0xe0003859, 0xa03b: 0xe0000950, + 0xa03c: 0xe00009ea, 0xa03d: 0xe00009e5, 0xa03e: 0xe0000e19, 0xa03f: 0xe0000e15, + // Block 0x281, offset 0xa040 + 0xa040: 0xe0003877, 0xa041: 0xe000098c, 0xa042: 0xe000387a, 0xa043: 0xe0000992, + 0xa044: 0xe000390e, 0xa045: 0xe000390b, 0xa046: 0xe0003914, 0xa047: 0xe0003911, + 0xa048: 0xe000397b, 0xa049: 0xe0003978, 0xa04a: 0xe0003981, 0xa04b: 0xe000397e, + 0xa04c: 0xe0003a3b, 0xa04d: 0xe0003a38, 0xa04e: 0xe0003a41, 0xa04f: 0xe0003a3e, + 0xa050: 0xe0000ee8, 0xa051: 0xe0000ee5, 0xa052: 0xe0000eee, 0xa053: 0xe0000eeb, + 0xa054: 0xe0003afb, 0xa055: 0xe0003af8, 0xa056: 0xe0003b01, 0xa057: 0xe0003afe, + 0xa058: 0xe0000f61, 0xa059: 0xe0000f5e, 0xa05a: 0xe0000fa5, 0xa05b: 0xe0000fa2, + 0xa05c: 0x00312288, 0xa05d: 0x40312220, 0xa05e: 0xe0003b53, 0xa05f: 0xe0003b50, + 0xa060: 0x002ebc88, 0xa061: 0x402c8c20, 0xa062: 0x002f2288, 0xa063: 0x402f2220, + 0xa064: 0x00314088, 0xa065: 0x40314020, 0xa066: 0xe0003867, 0xa067: 0xe000096c, + 0xa068: 0xe00038de, 0xa069: 0xe00038db, 0xa06a: 0xe00039d8, 0xa06b: 0xe00039d4, + 0xa06c: 0xe00039fc, 0xa06d: 0xe00039f8, 0xa06e: 0xe0003a03, 0xa06f: 0xe0003a00, + 0xa070: 0xe0003a0a, 0xa071: 0xe0003a06, 0xa072: 0xe0001129, 0xa073: 0xe0001126, + 0xa074: 0x402e5e20, 0xa075: 0x402ed020, 0xa076: 0x40305a20, 0xa077: 0x402dd420, + 0xa078: 0xe0000abf, 0xa079: 0xe0000ec4, 0xa07a: 0x002be888, 0xa07b: 0x002c4488, + 0xa07c: 0x402c4420, 0xa07d: 0x002e3888, 0xa07e: 0x00303e88, 0xa07f: 0x402ffc20, + // Block 0x282, offset 0xa080 + 0xa080: 0x402f8220, 0xa081: 0x402fd820, 0xa082: 0x402ff420, 0xa083: 0x40300820, + 0xa084: 0x402df620, 0xa085: 0x40301a20, 0xa086: 0x40302420, 0xa087: 0x40306420, + 0xa088: 0x40305220, 0xa089: 0x40307c20, 0xa08a: 0x4030b420, 0xa08b: 0x4030cc20, + 0xa08c: 0x4030da20, 0xa08d: 0x4030ee20, 0xa08e: 0x402e7a20, 0xa08f: 0x40310820, + 0xa090: 0x40314820, 0xa091: 0x40315020, 0xa092: 0x40316420, 0xa093: 0x40318020, + 0xa094: 0x4031cc20, 0xa095: 0x4031e820, 0xa096: 0x40320a20, 0xa097: 0x40323220, + 0xa098: 0x40323a20, 0xa099: 0x402c1220, 0xa09a: 0x402cf820, 0xa09b: 0x402d4c20, + 0xa09c: 0x402d7020, 0xa09d: 0x402de620, 0xa09e: 0x402e1a20, 0xa09f: 0x402e2a20, + 0xa0a0: 0x402f6220, 0xa0a1: 0x4031fa20, 0xa0a2: 0x40320220, 0xa0a3: 0xe0000aca, + 0xa0a4: 0xe0000adc, 0xa0a5: 0xe0000ad9, 0xa0a6: 0xe0000fcc, 0xa0a7: 0xe0000fcf, + 0xa0a8: 0xe0000fba, 0xa0a9: 0xe0000ba1, 0xa0aa: 0xe0000d11, 0xa0ab: 0xe0000d18, + 0xa0ac: 0x40324220, 0xa0ad: 0x40324a20, 0xa0ae: 0x40309020, 0xa0af: 0x40309820, + 0xa0b0: 0x002d6894, 0xa0b1: 0x002d8094, 0xa0b2: 0x002dcc94, 0xa0b3: 0x002f7a94, + 0xa0b4: 0x002f9894, 0xa0b5: 0x002fac94, 0xa0b6: 0x002fd894, 0xa0b7: 0x0030e294, + 0xa0b8: 0x00310094, 0xa0b9: 0x40064020, 0xa0ba: 0x40064420, 0xa0bb: 0x402bf620, + 0xa0bc: 0x4031de20, 0xa0bd: 0x402d9820, 0xa0be: 0x4031e220, 0xa0bf: 0x4031f020, + // Block 0x283, offset 0xa0c0 + 0xa0c0: 0xe0003888, 0xa0c1: 0xe00009ae, 0xa0c2: 0xe0000a22, 0xa0c3: 0xe0000a1f, + 0xa0c4: 0xe0000a28, 0xa0c5: 0xe0000a25, 0xa0c6: 0xe0000a2e, 0xa0c7: 0xe0000a2b, + 0xa0c8: 0xe0000a5a, 0xa0c9: 0xe0000a56, 0xa0ca: 0xe0000a8c, 0xa0cb: 0xe0000a89, + 0xa0cc: 0xe0000a98, 0xa0cd: 0xe0000a95, 0xa0ce: 0xe0000aa4, 0xa0cf: 0xe0000aa1, + 0xa0d0: 0xe0000a92, 0xa0d1: 0xe0000a8f, 0xa0d2: 0xe0000a9e, 0xa0d3: 0xe0000a9b, + 0xa0d4: 0xe0003901, 0xa0d5: 0xe00038fd, 0xa0d6: 0xe00038f9, 0xa0d7: 0xe00038f5, + 0xa0d8: 0xe0003928, 0xa0d9: 0xe0003925, 0xa0da: 0xe000392e, 0xa0db: 0xe000392b, + 0xa0dc: 0xe00038e5, 0xa0dd: 0xe00038e1, 0xa0de: 0xe0000b8c, 0xa0df: 0xe0000b89, + 0xa0e0: 0xe0000bd0, 0xa0e1: 0xe0000bcd, 0xa0e2: 0xe0003b5f, 0xa0e3: 0xe0003b5c, + 0xa0e4: 0xe0003b6b, 0xa0e5: 0xe0003b68, 0xa0e6: 0xe0003b59, 0xa0e7: 0xe0003b56, + 0xa0e8: 0xe0003b65, 0xa0e9: 0xe0003b62, 0xa0ea: 0xe0003b71, 0xa0eb: 0xe0003b6e, + 0xa0ec: 0xe000398d, 0xa0ed: 0xe000398a, 0xa0ee: 0xe0003959, 0xa0ef: 0xe0003955, + 0xa0f0: 0xe0003b7a, 0xa0f1: 0xe0003b77, 0xa0f2: 0xe0003b8c, 0xa0f3: 0xe0003b89, + 0xa0f4: 0xe0003b92, 0xa0f5: 0xe0003b8f, 0xa0f6: 0xe0003baa, 0xa0f7: 0xe0003ba7, + 0xa0f8: 0xe0003bb1, 0xa0f9: 0xe0003bad, 0xa0fa: 0xe0003bbe, 0xa0fb: 0xe0003bbb, + 0xa0fc: 0xe0003bb8, 0xa0fd: 0xe0003bb5, 0xa0fe: 0xe0003bc4, 0xa0ff: 0xe0003bc1, + // Block 0x284, offset 0xa100 + 0xa100: 0xe0003bca, 0xa101: 0xe0003bc7, 0xa102: 0xe0003bd0, 0xa103: 0xe0003bcd, + 0xa104: 0xe0003bee, 0xa105: 0xe0003beb, 0xa106: 0xe0003bfa, 0xa107: 0xe0003bf7, + 0xa108: 0xe0003c06, 0xa109: 0xe0003c03, 0xa10a: 0xe0003c00, 0xa10b: 0xe0003bfd, + 0xa10c: 0xe00039ec, 0xa10d: 0xe00039e8, 0xa10e: 0xe00039f4, 0xa10f: 0xe00039f0, + 0xa110: 0xe0003a2e, 0xa111: 0xe0003a2a, 0xa112: 0xe0003a26, 0xa113: 0xe0003a22, + 0xa114: 0xe0003c0c, 0xa115: 0xe0003c09, 0xa116: 0xe0003c12, 0xa117: 0xe0003c0f, + 0xa118: 0xe0000ed6, 0xa119: 0xe0000ed3, 0xa11a: 0xe0000ef4, 0xa11b: 0xe0000ef1, + 0xa11c: 0xe0000efb, 0xa11d: 0xe0000ef7, 0xa11e: 0xe0000f02, 0xa11f: 0xe0000eff, + 0xa120: 0xe0000f41, 0xa121: 0xe0000f3e, 0xa122: 0xe0000f53, 0xa123: 0xe0000f50, + 0xa124: 0xe0000f26, 0xa125: 0xe0000f22, 0xa126: 0xe0000f3a, 0xa127: 0xe0000f36, + 0xa128: 0xe0000f5a, 0xa129: 0xe0000f56, 0xa12a: 0xe0000f93, 0xa12b: 0xe0000f90, + 0xa12c: 0xe0000f9f, 0xa12d: 0xe0000f9c, 0xa12e: 0xe0000fb1, 0xa12f: 0xe0000fae, + 0xa130: 0xe0000fab, 0xa131: 0xe0000fa8, 0xa132: 0xe0003b3b, 0xa133: 0xe0003b38, + 0xa134: 0xe0003b47, 0xa135: 0xe0003b44, 0xa136: 0xe0003b41, 0xa137: 0xe0003b3e, + 0xa138: 0xe0003ada, 0xa139: 0xe0003ad6, 0xa13a: 0xe0003aee, 0xa13b: 0xe0003aea, + 0xa13c: 0xe00010a9, 0xa13d: 0xe00010a6, 0xa13e: 0xe00010af, 0xa13f: 0xe00010ac, + // Block 0x285, offset 0xa140 + 0xa140: 0xe0003c1e, 0xa141: 0xe0003c1b, 0xa142: 0xe0003c18, 0xa143: 0xe0003c15, + 0xa144: 0xe0003c2d, 0xa145: 0xe0003c2a, 0xa146: 0xe0003c33, 0xa147: 0xe0003c30, + 0xa148: 0xe0003c39, 0xa149: 0xe0003c36, 0xa14a: 0xe00010fc, 0xa14b: 0xe00010f9, + 0xa14c: 0xe00010f6, 0xa14d: 0xe00010f3, 0xa14e: 0xe0001123, 0xa14f: 0xe0001120, + 0xa150: 0xe0001141, 0xa151: 0xe000113e, 0xa152: 0xe0001153, 0xa153: 0xe0001150, + 0xa154: 0xe0001159, 0xa155: 0xe0001156, 0xa156: 0xe0003b74, 0xa157: 0xe0000f8d, + 0xa158: 0xe0003c27, 0xa159: 0xe0001111, 0xa15a: 0xf0000404, 0xa15b: 0xe0000f70, + 0xa15c: 0x40300420, 0xa15d: 0x40300620, 0xa15e: 0xe0000f7f, 0xa15f: 0x402c9620, + 0xa160: 0xe000387d, 0xa161: 0xe0000998, 0xa162: 0xe0003874, 0xa163: 0xe0000986, + 0xa164: 0xe0003843, 0xa165: 0xe0000924, 0xa166: 0xe0003847, 0xa167: 0xe000092c, + 0xa168: 0xe000384f, 0xa169: 0xe000093c, 0xa16a: 0xe000384b, 0xa16b: 0xe0000934, + 0xa16c: 0xe0003884, 0xa16d: 0xe00009a6, 0xa16e: 0xe0003830, 0xa16f: 0xe00008fe, + 0xa170: 0xe0003834, 0xa171: 0xe0000906, 0xa172: 0xe000383c, 0xa173: 0xe0000916, + 0xa174: 0xe0003838, 0xa175: 0xe000090e, 0xa176: 0xe0003880, 0xa177: 0xe000099e, + 0xa178: 0xe000391a, 0xa179: 0xe0003917, 0xa17a: 0xe0003908, 0xa17b: 0xe0003905, + 0xa17c: 0xe00038d2, 0xa17d: 0xe00038cf, 0xa17e: 0xe00038a7, 0xa17f: 0xe00038a3, + // Block 0x286, offset 0xa180 + 0xa180: 0xe00038af, 0xa181: 0xe00038ab, 0xa182: 0xe00038bf, 0xa183: 0xe00038bb, + 0xa184: 0xe00038b7, 0xa185: 0xe00038b3, 0xa186: 0xe0003921, 0xa187: 0xe000391d, + 0xa188: 0xe0003975, 0xa189: 0xe0003972, 0xa18a: 0xe0003987, 0xa18b: 0xe0003984, + 0xa18c: 0xe0003a75, 0xa18d: 0xe0003a72, 0xa18e: 0xe0003a35, 0xa18f: 0xe0003a32, + 0xa190: 0xe00039ac, 0xa191: 0xe00039a8, 0xa192: 0xe00039b4, 0xa193: 0xe00039b0, + 0xa194: 0xe00039c4, 0xa195: 0xe00039c0, 0xa196: 0xe00039bc, 0xa197: 0xe00039b8, + 0xa198: 0xe0003a7c, 0xa199: 0xe0003a78, 0xa19a: 0xe0003a4e, 0xa19b: 0xe0003a4a, + 0xa19c: 0xe0003a56, 0xa19d: 0xe0003a52, 0xa19e: 0xe0003a66, 0xa19f: 0xe0003a62, + 0xa1a0: 0xe0003a5e, 0xa1a1: 0xe0003a5a, 0xa1a2: 0xe0003a6e, 0xa1a3: 0xe0003a6a, + 0xa1a4: 0xe0003b35, 0xa1a5: 0xe0003b32, 0xa1a6: 0xe0003af5, 0xa1a7: 0xe0003af2, + 0xa1a8: 0xe0003b0e, 0xa1a9: 0xe0003b0a, 0xa1aa: 0xe0003b16, 0xa1ab: 0xe0003b12, + 0xa1ac: 0xe0003b26, 0xa1ad: 0xe0003b22, 0xa1ae: 0xe0003b1e, 0xa1af: 0xe0003b1a, + 0xa1b0: 0xe0003b2e, 0xa1b1: 0xe0003b2a, 0xa1b2: 0xe0001108, 0xa1b3: 0xe0001105, + 0xa1b4: 0xe0001135, 0xa1b5: 0xe0001132, 0xa1b6: 0xe000112f, 0xa1b7: 0xe000112c, + 0xa1b8: 0xe000111d, 0xa1b9: 0xe000111a, 0xa1ba: 0xe0000d0a, 0xa1bb: 0xe0000d07, + 0xa1bc: 0x0030d888, 0xa1bd: 0x4030d820, 0xa1be: 0x00312088, 0xa1bf: 0x40312020, + // Block 0x287, offset 0xa1c0 + 0xa1c0: 0xe00009bc, 0xa1c1: 0xe00009c0, 0xa1c2: 0x002c3a8b, 0xa1c3: 0xf0000a04, + 0xa1c4: 0x40081c20, 0xa1c5: 0xe0000a5e, 0xa1c6: 0xe0000a62, 0xa1c7: 0x002cc28a, + 0xa1c8: 0x40081e20, 0xa1c9: 0xf0000a04, 0xa1ca: 0x002d2285, 0xa1cb: 0x002d688b, + 0xa1cc: 0x002d688b, 0xa1cd: 0x002d688b, 0xa1ce: 0x002d6885, 0xa1cf: 0xf0000202, + 0xa1d0: 0x002d9a8b, 0xa1d1: 0x002d9a8b, 0xa1d2: 0x002e228b, 0xa1d3: 0x002e2285, + 0xa1d4: 0x40082020, 0xa1d5: 0x002e9e8b, 0xa1d6: 0xe000281e, 0xa1d7: 0x40082220, + 0xa1d8: 0x40082420, 0xa1d9: 0x002f2c8b, 0xa1da: 0x002f568b, 0xa1db: 0x002f7a8b, + 0xa1dc: 0x002f7a8b, 0xa1dd: 0x002f7a8b, 0xa1de: 0x40082620, 0xa1df: 0x40082820, + 0xa1e0: 0xe0002833, 0xa1e1: 0xe0000fbd, 0xa1e2: 0xe0002842, 0xa1e3: 0x40082a20, + 0xa1e4: 0x00312a8b, 0xa1e5: 0x40082c20, 0xa1e6: 0x0032a288, 0xa1e7: 0x40082e20, + 0xa1e8: 0x00312a8b, 0xa1e9: 0x40083020, 0xa1ea: 0x002bea83, 0xa1eb: 0xe0003856, + 0xa1ec: 0x002c0a8b, 0xa1ed: 0x002c3a8b, 0xa1ee: 0x40083220, 0xa1ef: 0x002c9885, + 0xa1f0: 0x002c988b, 0xa1f1: 0x002d088b, 0xa1f2: 0x002d1e88, 0xa1f3: 0x002e828b, + 0xa1f4: 0x002ee285, 0xa1f5: 0x00389084, 0xa1f6: 0x00389284, 0xa1f7: 0x00389484, + 0xa1f8: 0x00389684, 0xa1f9: 0x002d9a85, 0xa1fa: 0x40083420, 0xa1fb: 0xe0000b95, + 0xa1fc: 0x00327e85, 0xa1fd: 0x00325685, 0xa1fe: 0x0032568b, 0xa1ff: 0x00327e8b, + // Block 0x288, offset 0xa200 + 0xa200: 0xe0000024, 0xa201: 0xe0000029, 0xa202: 0xe000002e, 0xa203: 0xe0000033, + 0xa204: 0xe0000038, 0xa205: 0xe000003d, 0xa206: 0xe0000042, 0xa207: 0xe0000047, + 0xa208: 0xf0001f04, 0xa209: 0xf0001f04, 0xa20a: 0xf0001f04, 0xa20b: 0xf0001f04, + 0xa20c: 0xf0001f04, 0xa20d: 0xf0001f04, 0xa20e: 0xf0001f04, 0xa20f: 0xf0001f04, + 0xa210: 0xf0001f04, 0xa211: 0xf0000404, 0xa212: 0xf0000404, 0xa213: 0xf0000404, + 0xa214: 0xf0000404, 0xa215: 0xf0000404, 0xa216: 0xf0000404, 0xa217: 0xf0000404, + 0xa218: 0xf0000404, 0xa219: 0xf0000404, 0xa21a: 0xf0000404, 0xa21b: 0xf0000404, + 0xa21c: 0xf0000404, 0xa21d: 0xf0000404, 0xa21e: 0xf0000404, 0xa21f: 0xf0000404, + 0xa220: 0xe000249f, 0xa221: 0xf0000404, 0xa222: 0xf0000404, 0xa223: 0xe00024a7, + 0xa224: 0xe00024af, 0xa225: 0xf0000404, 0xa226: 0xe00024b7, 0xa227: 0xe0002c16, + 0xa228: 0xe0002c1e, 0xa229: 0xe0002c26, 0xa22a: 0xe00024bf, 0xa22b: 0xe0002c2e, + 0xa22c: 0xf0000404, 0xa22d: 0xf0000404, 0xa22e: 0xf0000404, 0xa22f: 0xf0000404, + 0xa230: 0xe0002c36, 0xa231: 0xf0000404, 0xa232: 0xe0002c46, 0xa233: 0xf0000404, + 0xa234: 0xf0000404, 0xa235: 0xf0000404, 0xa236: 0x002bde8c, 0xa237: 0x002c0a8c, + 0xa238: 0x002c3a8c, 0xa239: 0x002c628c, 0xa23a: 0x002c988c, 0xa23b: 0x002d088c, + 0xa23c: 0x002d228c, 0xa23d: 0x002d688c, 0xa23e: 0x002d9a8c, 0xa23f: 0x002dcc8c, + // Block 0x289, offset 0xa240 + 0xa240: 0xe000230b, 0xa241: 0xe00022f8, 0xa242: 0xe00022fc, 0xa243: 0xe0002311, + 0xa244: 0xe0002316, 0xa245: 0xe000231d, 0xa246: 0xe0002321, 0xa247: 0xe0002325, + 0xa248: 0xe000232b, 0xa249: 0xf0001c1c, 0xa24a: 0xe0002330, 0xa24b: 0xe000233c, + 0xa24c: 0xe0002340, 0xa24d: 0xe0002337, 0xa24e: 0xe0002346, 0xa24f: 0xe000234b, + 0xa250: 0xe000234f, 0xa251: 0xe0002353, 0xa252: 0xf0001c1c, 0xa253: 0xe000235e, + 0xa254: 0xe0002358, 0xa255: 0xf0001c1c, 0xa256: 0xe0002363, 0xa257: 0xe000236d, + 0xa258: 0xf0001f04, 0xa259: 0xf0001f04, 0xa25a: 0xf0001f04, 0xa25b: 0xf0001f04, + 0xa25c: 0xf0001f04, 0xa25d: 0xf0001f04, 0xa25e: 0xf0001f04, 0xa25f: 0xf0001f04, + 0xa260: 0xf0001f04, 0xa261: 0xf0001f04, 0xa262: 0xf0000404, 0xa263: 0xf0000404, + 0xa264: 0xf0000404, 0xa265: 0xf0000404, 0xa266: 0xf0000404, 0xa267: 0xf0000404, + 0xa268: 0xf0000404, 0xa269: 0xf0000404, 0xa26a: 0xf0000404, 0xa26b: 0xf0000404, + 0xa26c: 0xf0000404, 0xa26d: 0xf0000404, 0xa26e: 0xf0000404, 0xa26f: 0xf0000404, + 0xa270: 0xf0000404, 0xa271: 0xe0000c1e, 0xa272: 0xf0001c1c, 0xa273: 0xe0002f0d, + 0xa274: 0xe0000a31, 0xa275: 0xe0002824, 0xa276: 0xe00035d6, 0xa277: 0xe00032a7, + 0xa278: 0xe0000ac2, 0xa279: 0xe0000ac6, 0xa27a: 0xe00027e8, 0xa27b: 0xf0001c1c, + 0xa27c: 0xf0001c1c, 0xa27d: 0xf0001c1c, 0xa27e: 0xf0001c1c, 0xa27f: 0xe0002431, + // Block 0x28a, offset 0xa280 + 0xa280: 0xe00035d0, 0xa281: 0xe00035b8, 0xa282: 0xf0001d1c, 0xa283: 0xe000358e, + 0xa284: 0xe00027f7, 0xa285: 0xe00027fa, 0xa286: 0xe0003594, 0xa287: 0xf0001d1d, + 0xa288: 0xe0000a6b, 0xa289: 0xe0000cb4, 0xa28a: 0xe00035d9, 0xa28b: 0xe00035bb, + 0xa28c: 0xf0001d1c, 0xa28d: 0xf0001c1c, 0xa28e: 0xe000359d, 0xa28f: 0xe00027fd, + 0xa290: 0xe00027ce, 0xa291: 0xe0000cb9, 0xa292: 0xe0000d36, 0xa293: 0xe0000be3, + 0xa294: 0xe0000fc5, 0xa295: 0xe00035f7, 0xa296: 0xe00035a0, 0xa297: 0xe00032a4, + 0xa298: 0xe0002803, 0xa299: 0xe0003570, 0xa29a: 0xe00035c7, 0xa29b: 0xe00035fa, + 0xa29c: 0xe00035a3, 0xa29d: 0xe0003099, 0xa29e: 0xe0002806, 0xa29f: 0xe0000d3e, + 0xa2a0: 0xe0000a72, 0xa2a1: 0xe0003588, 0xa2a2: 0xe0000cbd, 0xa2a3: 0xe0000d42, + 0xa2a4: 0xe0000a76, 0xa2a5: 0xe000358b, 0xa2a6: 0xe0000cc1, 0xa2a7: 0xe0000d2d, + 0xa2a8: 0xe0000d31, 0xa2a9: 0xe00035d3, 0xa2aa: 0xe0000cc5, 0xa2ab: 0xe0000d4a, + 0xa2ac: 0xe0000be7, 0xa2ad: 0xe0000f0b, 0xa2ae: 0xe0000f0f, 0xa2af: 0xe0000f15, + 0xa2b0: 0xe000282d, 0xa2b1: 0xe0002821, 0xa2b2: 0xf0001c1c, 0xa2b3: 0xe000281b, + 0xa2b4: 0xe00035dc, 0xa2b5: 0xe00035ca, 0xa2b6: 0xf0001d1c, 0xa2b7: 0xe00035a6, + 0xa2b8: 0xe000280f, 0xa2b9: 0xe00035a9, 0xa2ba: 0xe00035df, 0xa2bb: 0xe00035cd, + 0xa2bc: 0xe0003600, 0xa2bd: 0xe00035af, 0xa2be: 0xe0002812, 0xa2bf: 0xe00035b2, + // Block 0x28b, offset 0xa2c0 + 0xa2c0: 0xe0002815, 0xa2c1: 0xe00035b5, 0xa2c2: 0xe00009b7, 0xa2c3: 0xf0001c1d, + 0xa2c4: 0xf0001c1c, 0xa2c5: 0xf0001c1c, 0xa2c6: 0xe0000a66, 0xa2c7: 0xe0000a7a, + 0xa2c8: 0xf0001d1c, 0xa2c9: 0xf0001c1d, 0xa2ca: 0xe00027c2, 0xa2cb: 0xe00027c8, + 0xa2cc: 0xe00027e5, 0xa2cd: 0xe0002800, 0xa2ce: 0xe0002809, 0xa2cf: 0xe000280c, + 0xa2d0: 0xe0003582, 0xa2d1: 0xe0003585, 0xa2d2: 0xe0000d0d, 0xa2d3: 0xe0002818, + 0xa2d4: 0xe0003591, 0xa2d5: 0xe0000d3a, 0xa2d6: 0xe0000d46, 0xa2d7: 0xe0002827, + 0xa2d8: 0xe0000eb0, 0xa2d9: 0xe0000eb8, 0xa2da: 0xe000282a, 0xa2db: 0xf0001c1c, + 0xa2dc: 0xf0001c1d, 0xa2dd: 0xe00035e2, 0xa2de: 0xe00010b2, 0xa2df: 0xe00009c8, + 0xa2e0: 0xf0001f04, 0xa2e1: 0xf0001f04, 0xa2e2: 0xf0001f04, 0xa2e3: 0xf0001f04, + 0xa2e4: 0xf0001f04, 0xa2e5: 0xf0001f04, 0xa2e6: 0xf0001f04, 0xa2e7: 0xf0001f04, + 0xa2e8: 0xf0001f04, 0xa2e9: 0xf0000404, 0xa2ea: 0xf0000404, 0xa2eb: 0xf0000404, + 0xa2ec: 0xf0000404, 0xa2ed: 0xf0000404, 0xa2ee: 0xf0000404, 0xa2ef: 0xf0000404, + 0xa2f0: 0xf0000404, 0xa2f1: 0xf0000404, 0xa2f2: 0xf0000404, 0xa2f3: 0xf0000404, + 0xa2f4: 0xf0000404, 0xa2f5: 0xf0000404, 0xa2f6: 0xf0000404, 0xa2f7: 0xf0000404, + 0xa2f8: 0xf0000404, 0xa2f9: 0xf0000404, 0xa2fa: 0xf0000404, 0xa2fb: 0xf0000404, + 0xa2fc: 0xf0000404, 0xa2fd: 0xf0000404, 0xa2fe: 0xf0000404, 0xa2ff: 0xe0000bdf, + // Block 0x28c, offset 0xa300 + 0xa300: 0xf0000404, 0xa301: 0xe00026cf, 0xa302: 0xe000356d, 0xa303: 0xe0000b99, + 0xa304: 0xe0000b9d, 0xa305: 0xe0000f83, 0xa306: 0xf0000404, + 0xa313: 0xf0000404, + 0xa314: 0xf0000404, 0xa315: 0xf0000404, 0xa316: 0xf0000404, 0xa317: 0xf0000404, + 0xa31d: 0xe000150b, 0xa31e: 0xa1a09602, 0xa31f: 0xe0001514, + 0xa320: 0x0038ae85, 0xa321: 0x00389085, 0xa322: 0x00389685, 0xa323: 0x00389885, + 0xa324: 0x0038a485, 0xa325: 0x0038a685, 0xa326: 0x0038a885, 0xa327: 0x0038b685, + 0xa328: 0x0038ba85, 0xa329: 0x00093885, 0xa32a: 0xe0001542, 0xa32b: 0xe000153f, + 0xa32c: 0xe000154c, 0xa32d: 0xe0001548, 0xa32e: 0xe00014e1, 0xa32f: 0xe00014e4, + 0xa330: 0xe00014e7, 0xa331: 0xe00014ea, 0xa332: 0xe00014f0, 0xa333: 0xe00014f3, + 0xa334: 0xe00014f6, 0xa335: 0xe00014fc, 0xa336: 0xe0001505, + 0xa338: 0xe0001508, 0xa339: 0xe000150e, 0xa33a: 0xe000151b, 0xa33b: 0xe0001518, + 0xa33c: 0xe0001521, 0xa33e: 0xe0001524, + // Block 0x28d, offset 0xa340 + 0xa340: 0xf0001f04, 0xa341: 0xf0001f04, 0xa342: 0xf0001f04, 0xa343: 0xf0001f04, + 0xa344: 0xf0001f04, 0xa345: 0xf0001f04, 0xa346: 0xf0001f04, 0xa347: 0xf0001f04, + 0xa348: 0xf0001f04, 0xa349: 0xf0001f04, 0xa34a: 0xf0001f04, + 0xa350: 0xf0000a04, 0xa351: 0xf0000a04, 0xa352: 0xf0000a04, 0xa353: 0xf0000a04, + 0xa354: 0xe00024a3, 0xa355: 0xf0000a04, 0xa356: 0xf0000a04, 0xa357: 0xe00024ab, + 0xa358: 0xe00024b3, 0xa359: 0xf0000a04, 0xa35a: 0xe00024bb, 0xa35b: 0xe0002c1a, + 0xa35c: 0xe0002c22, 0xa35d: 0xe0002c2a, 0xa35e: 0xe00024c3, 0xa35f: 0xe0002c32, + 0xa360: 0xf0000a04, 0xa361: 0xf0000a04, 0xa362: 0xf0000a04, 0xa363: 0xf0000a04, + 0xa364: 0xe0002c3a, 0xa365: 0xf0000a04, 0xa366: 0xe0002c4a, 0xa367: 0xf0000a04, + 0xa368: 0xf0000a04, 0xa369: 0xf0000a04, 0xa36a: 0xf0000a04, 0xa36b: 0x002c3a8c, + 0xa36c: 0x002f7a8c, 0xa36d: 0xf0000c0c, 0xa36e: 0xe00035e8, + 0xa370: 0x002bde9d, 0xa371: 0x002c0a9d, 0xa372: 0x002c3a9d, 0xa373: 0x002c629d, + 0xa374: 0x002c989d, 0xa375: 0x002d089d, 0xa376: 0x002d229d, 0xa377: 0x002d689d, + 0xa378: 0x002d9a9d, 0xa379: 0x002dcc9d, 0xa37a: 0x002dfe9d, 0xa37b: 0x002e229d, + 0xa37c: 0x002e829d, 0xa37d: 0x002e9e9d, 0xa37e: 0x002ee29d, 0xa37f: 0x002f2c9d, + // Block 0x28e, offset 0xa380 + 0xa380: 0x002f569d, 0xa381: 0x002f7a9d, 0xa382: 0x002fe69d, 0xa383: 0x00302c9d, + 0xa384: 0x00306c9d, 0xa385: 0x0030be9d, 0xa386: 0x0030e29d, 0xa387: 0x0030f69d, + 0xa388: 0x0031009d, 0xa389: 0x00312a9d, 0xa38a: 0xe00027cb, 0xa38b: 0xe00035ac, + 0xa38c: 0xf0001d1d, 0xa38d: 0xf0001d1d, 0xa38e: 0xe0000ebc, 0xa38f: 0xe00035e5, + 0xa390: 0x002bde8c, 0xa391: 0x002c0a8c, 0xa392: 0x002c3a8c, 0xa393: 0x002c628c, + 0xa394: 0x002c988c, 0xa395: 0x002d088c, 0xa396: 0x002d228c, 0xa397: 0x002d688c, + 0xa398: 0x002d9a8c, 0xa399: 0x002dcc8c, 0xa39a: 0x002dfe8c, 0xa39b: 0x002e228c, + 0xa39c: 0x002e828c, 0xa39d: 0x002e9e8c, 0xa39e: 0x002ee28c, 0xa39f: 0x002f2c8c, + 0xa3a0: 0x002f568c, 0xa3a1: 0x002f7a8c, 0xa3a2: 0x002fe68c, 0xa3a3: 0x00302c8c, + 0xa3a4: 0x00306c8c, 0xa3a5: 0x0030be8c, 0xa3a6: 0x0030e28c, 0xa3a7: 0x0030f68c, + 0xa3a8: 0x0031008c, 0xa3a9: 0x00312a8c, 0xa3aa: 0xe0003597, 0xa3ab: 0xe000359a, + 0xa3b0: 0x002bde9d, 0xa3b1: 0x002c0a9d, 0xa3b2: 0x002c3a9d, 0xa3b3: 0x002c629d, + 0xa3b4: 0x002c989d, 0xa3b5: 0x002d089d, 0xa3b6: 0x002d229d, 0xa3b7: 0x002d689d, + 0xa3b8: 0x002d9a9d, 0xa3b9: 0x002dcc9d, 0xa3ba: 0x002dfe9d, 0xa3bb: 0x002e229d, + 0xa3bc: 0x002e829d, 0xa3bd: 0x002e9e9d, 0xa3be: 0x002ee29d, 0xa3bf: 0x002f2c9d, + // Block 0x28f, offset 0xa3c0 + 0xa3c0: 0x40055620, 0xa3c1: 0xa1809102, 0xa3c2: 0xa1909002, 0xa3c3: 0x40055820, + 0xa3c4: 0xae600000, 0xa3c5: 0xadc00000, 0xa3c6: 0x40055a20, 0xa3c7: 0xa1208d02, + 0xa3d0: 0x40389020, 0xa3d1: 0x40389220, 0xa3d2: 0x40389420, 0xa3d3: 0x40389620, + 0xa3d4: 0x40389820, 0xa3d5: 0x40389a20, 0xa3d6: 0x40389c20, 0xa3d7: 0x40389e20, + 0xa3d8: 0x4038a020, 0xa3d9: 0x4038a220, 0xa3da: 0x0038a499, 0xa3db: 0x4038a420, + 0xa3dc: 0x4038a620, 0xa3dd: 0x0038a899, 0xa3de: 0x4038a820, 0xa3df: 0x0038aa99, + 0xa3e0: 0x4038aa20, 0xa3e1: 0x4038ac20, 0xa3e2: 0x4038ae20, 0xa3e3: 0x0038b099, + 0xa3e4: 0x4038b020, 0xa3e5: 0x0038b299, 0xa3e6: 0x4038b220, 0xa3e7: 0x4038b420, + 0xa3e8: 0x4038b620, 0xa3e9: 0x4038b820, 0xa3ea: 0x4038ba20, + 0xa3f0: 0xe00014ff, 0xa3f1: 0xe0001502, 0xa3f2: 0xe0001511, 0xa3f3: 0x4003d21f, + 0xa3f4: 0x4003e01f, + // Block 0x290, offset 0xa400 + 0xa400: 0xa000f202, 0xa401: 0x403fba21, 0xa402: 0x403fba20, 0xa403: 0x403fbc20, + 0xa404: 0x403fbc20, 0xa405: 0x403fbe20, 0xa406: 0x403fc020, 0xa407: 0x403fcc20, + 0xa408: 0x403fce20, 0xa409: 0x403fd020, 0xa40a: 0x403fd220, 0xa40b: 0x403fd420, + 0xa40c: 0x403fd820, 0xa40d: 0x403fdc20, 0xa40e: 0x403fde20, 0xa40f: 0x403fe020, + 0xa410: 0x403fe220, 0xa411: 0x403fe420, 0xa412: 0x403fe620, 0xa413: 0x403fe820, + 0xa414: 0x403fea20, 0xa415: 0x403fec20, 0xa416: 0x403fee20, 0xa417: 0x403ff020, + 0xa418: 0x403ff420, 0xa419: 0x403ff620, 0xa41a: 0x403ff820, 0xa41b: 0x403ffa20, + 0xa41c: 0x403ffc20, 0xa41d: 0x40400220, 0xa41e: 0x40400420, 0xa41f: 0x40400620, + 0xa420: 0x40400820, 0xa421: 0x40400a20, 0xa422: 0x40400e20, 0xa423: 0x40401020, + 0xa424: 0x40401220, 0xa425: 0x40401420, 0xa426: 0x40401620, 0xa427: 0x40401820, + 0xa428: 0x40401a20, 0xa429: 0xe0001830, 0xa42a: 0x40401c20, 0xa42b: 0x40401e20, + 0xa42c: 0x40402020, 0xa42d: 0x40402420, 0xa42e: 0x40402620, 0xa42f: 0x40402820, + 0xa430: 0x40402c20, 0xa431: 0xe0001839, 0xa432: 0x40402e20, 0xa433: 0x40403020, + 0xa434: 0xe000183c, 0xa435: 0x40403220, 0xa436: 0x40403420, 0xa437: 0x40403620, + 0xa438: 0x40403820, 0xa439: 0x40403a20, 0xa43a: 0x40404c20, 0xa43b: 0x40404e20, + 0xa43c: 0xa070f102, 0xa43d: 0x40403c20, 0xa43e: 0x40404a20, 0xa43f: 0x40405620, + // Block 0x291, offset 0xa440 + 0xa440: 0xa0000000, 0xa441: 0xa0000000, 0xa442: 0xa0000000, 0xa443: 0xa0000000, + 0xa444: 0xa0000000, 0xa445: 0xa0000000, 0xa446: 0xa0000000, 0xa447: 0xa0000000, + 0xa448: 0xa0000000, 0xa449: 0x40020020, 0xa44a: 0x40020220, 0xa44b: 0x40020420, + 0xa44c: 0x40020620, 0xa44d: 0x40020820, 0xa44e: 0xa0000000, 0xa44f: 0xa0000000, + 0xa450: 0xa0000000, 0xa451: 0xa0000000, 0xa452: 0xa0000000, 0xa453: 0xa0000000, + 0xa454: 0xa0000000, 0xa455: 0xa0000000, 0xa456: 0xa0000000, 0xa457: 0xa0000000, + 0xa458: 0xa0000000, 0xa459: 0xa0000000, 0xa45a: 0xa0000000, 0xa45b: 0xa0000000, + 0xa45c: 0xa0000000, 0xa45d: 0xa0000000, 0xa45e: 0xa0000000, 0xa45f: 0xa0000000, + 0xa460: 0x40021220, 0xa461: 0x4002ba20, 0xa462: 0x4003e020, 0xa463: 0x4004ea20, + 0xa464: 0x4027de20, 0xa465: 0x4004ec20, 0xa466: 0x4004e620, 0xa467: 0x4003d220, + 0xa468: 0x4003f420, 0xa469: 0x4003f620, 0xa46a: 0x4004d820, 0xa46b: 0x40093820, + 0xa46c: 0x40024020, 0xa46d: 0x40021a20, 0xa46e: 0x4002e420, 0xa46f: 0x4004e220, + 0xa470: 0x4029cc20, 0xa471: 0x4029ce20, 0xa472: 0x4029d020, 0xa473: 0x4029d220, + 0xa474: 0x4029d420, 0xa475: 0x4029d620, 0xa476: 0x4029d820, 0xa477: 0x4029da20, + 0xa478: 0x4029dc20, 0xa479: 0x4029de20, 0xa47a: 0x40026c20, 0xa47b: 0x40026220, + 0xa47c: 0x40094020, 0xa47d: 0x40094220, 0xa47e: 0x40094420, 0xa47f: 0x4002c420, + // Block 0x292, offset 0xa480 + 0xa480: 0x4004d620, 0xa481: 0x002bde88, 0xa482: 0x002c0a88, 0xa483: 0xc59b2891, + 0xa484: 0xc5a12913, 0xa485: 0x002c9888, 0xa486: 0x002d0888, 0xa487: 0x002d2288, + 0xa488: 0x002d6888, 0xa489: 0x002d9a88, 0xa48a: 0x002dcc88, 0xa48b: 0x002dfe88, + 0xa48c: 0xc5a629e4, 0xa48d: 0x002e8288, 0xa48e: 0xc5ab2a52, 0xa48f: 0x002ee288, + 0xa490: 0x002f2c88, 0xa491: 0x002f5688, 0xa492: 0x002f7a88, 0xa493: 0xc3430991, + 0xa494: 0x00302c88, 0xa495: 0x00306c88, 0xa496: 0x0030be88, 0xa497: 0x0030e288, + 0xa498: 0x0030f688, 0xa499: 0x00310088, 0xa49a: 0xc3630991, 0xa49b: 0x4003f820, + 0xa49c: 0x4004e420, 0xa49d: 0x4003fa20, 0xa49e: 0x40062420, 0xa49f: 0x40021620, + 0xa4a0: 0x40061e20, 0xa4a1: 0x402bde20, 0xa4a2: 0x402c0a20, 0xa4a3: 0xc5982891, + 0xa4a4: 0xc59e28c2, 0xa4a5: 0x402c9820, 0xa4a6: 0x402d0820, 0xa4a7: 0x402d2220, + 0xa4a8: 0x402d6820, 0xa4a9: 0x402d9a20, 0xa4aa: 0x402dcc20, 0xa4ab: 0x402dfe20, + 0xa4ac: 0xc3772993, 0xa4ad: 0x402e8220, 0xa4ae: 0xc5332a41, 0xa4af: 0x402ee220, + 0xa4b0: 0x402f2c20, 0xa4b1: 0x402f5620, 0xa4b2: 0x402f7a20, 0xa4b3: 0xc3410991, + 0xa4b4: 0x40302c20, 0xa4b5: 0x40306c20, 0xa4b6: 0x4030be20, 0xa4b7: 0x4030e220, + 0xa4b8: 0x4030f620, 0xa4b9: 0x40310020, 0xa4ba: 0xc3610991, 0xa4bb: 0x4003fc20, + 0xa4bc: 0x40094820, 0xa4bd: 0x4003fe20, 0xa4be: 0x40094c20, 0xa4bf: 0xa0000000, + // Block 0x293, offset 0xa4c0 + 0xa4c0: 0xe0000983, 0xa4c1: 0xe0000980, 0xa4c2: 0xe00008fb, 0xa4c3: 0xe00008f8, + 0xa4c4: 0xe000097d, 0xa4c5: 0xe000097a, 0xa4c6: 0x002c3e83, 0xa4c7: 0x402c3e20, + 0xa4c8: 0xe0000a3e, 0xa4c9: 0xe0000a3b, 0xa4ca: 0xe0000a4a, 0xa4cb: 0xe0000a47, + 0xa4cc: 0x002c3c83, 0xa4cd: 0x402c3c20, 0xa4ce: 0xe0000a86, 0xa4cf: 0xe0000a83, + 0xa4d0: 0x002c6683, 0xa4d1: 0x402c6620, 0xa4d2: 0xe0000b46, 0xa4d3: 0xe0000b43, + 0xa4d4: 0xe0000aee, 0xa4d5: 0xe0000aeb, 0xa4d6: 0xe0000b2c, 0xa4d7: 0xe0000b29, + 0xa4d8: 0xe0000b40, 0xa4d9: 0xe0000b3d, 0xa4da: 0xe0000b1a, 0xa4db: 0xe0000b17, + 0xa4dc: 0xe0000bb8, 0xa4dd: 0xe0000bb5, 0xa4de: 0xe0000bb2, 0xa4df: 0xe0000baf, + 0xa4e0: 0xe0000bc4, 0xa4e1: 0xe0000bc1, 0xa4e2: 0xe0000bca, 0xa4e3: 0xe0000bc7, + 0xa4e4: 0xe0000bee, 0xa4e5: 0xe0000beb, 0xa4e6: 0xe0000c1b, 0xa4e7: 0xe0000c18, + 0xa4e8: 0xe0000c51, 0xa4e9: 0xe0000c4e, 0xa4ea: 0xe0000c60, 0xa4eb: 0xe0000c5d, + 0xa4ec: 0xe0000c31, 0xa4ed: 0xe0000c2e, 0xa4ee: 0xe0000c5a, 0xa4ef: 0xe0000c57, + 0xa4f0: 0xe0000c54, 0xa4f1: 0x402da220, 0xa4f2: 0xf0000a0a, 0xa4f3: 0xf0000404, + 0xa4f4: 0xe0000c8a, 0xa4f5: 0xe0000c87, 0xa4f6: 0xe0000c9f, 0xa4f7: 0xe0000c9c, + 0xa4f8: 0x402f7220, 0xa4f9: 0xe0000ccc, 0xa4fa: 0xe0000cc9, 0xa4fb: 0xe0000cd8, + 0xa4fc: 0xe0000cd5, 0xa4fd: 0xe0000cd2, 0xa4fe: 0xe0000ccf, 0xa4ff: 0xe0000d04, + // Block 0x294, offset 0xa500 + 0xa500: 0xe0000cfe, 0xa501: 0xe0000cf8, 0xa502: 0xe0000cf5, 0xa503: 0xe0000d51, + 0xa504: 0xe0000d4e, 0xa505: 0xe0000d6f, 0xa506: 0xe0000d6c, 0xa507: 0xe0000d5d, + 0xa508: 0xe0000d5a, 0xa509: 0xf0000404, 0xa50a: 0x002eda88, 0xa50b: 0x402eda20, + 0xa50c: 0xe0000e2e, 0xa50d: 0xe0000e2b, 0xa50e: 0xe0000da0, 0xa50f: 0xe0000d9d, + 0xa510: 0xe0000de0, 0xa511: 0xe0000ddd, 0xa512: 0xe0000e93, 0xa513: 0xe0000e8f, + 0xa514: 0xe0000eca, 0xa515: 0xe0000ec7, 0xa516: 0xe0000edc, 0xa517: 0xe0000ed9, + 0xa518: 0xe0000ed0, 0xa519: 0xe0000ecd, 0xa51a: 0xe0000f1f, 0xa51b: 0xe0000f1c, + 0xa51c: 0xe0000f2d, 0xa51d: 0xe0000f2a, 0xa51e: 0xe0000f47, 0xa51f: 0xe0000f44, + 0xa520: 0x002fe883, 0xa521: 0x402fe820, 0xa522: 0xe0000f99, 0xa523: 0xe0000f96, + 0xa524: 0xe0000f8a, 0xa525: 0xe0000f87, 0xa526: 0x00303688, 0xa527: 0x40303620, + 0xa528: 0xe000102b, 0xa529: 0xe0001028, 0xa52a: 0xe000103f, 0xa52b: 0xe000103c, + 0xa52c: 0xe0000fe7, 0xa52d: 0xe0000fe4, 0xa52e: 0xe0000ff9, 0xa52f: 0xe0000ff6, + 0xa530: 0xe0001025, 0xa531: 0xe0001022, 0xa532: 0xe0001039, 0xa533: 0xe0001036, + 0xa534: 0xe00010d8, 0xa535: 0xe00010d5, 0xa536: 0xe000110e, 0xa537: 0xe000110b, + 0xa538: 0xe0001117, 0xa539: 0xe000113b, 0xa53a: 0xe0001138, 0xa53b: 0xe000114d, + 0xa53c: 0xe000114a, 0xa53d: 0x00312c83, 0xa53e: 0x40312c20, 0xa53f: 0xe0000f64, + // Block 0x295, offset 0xa540 + 0xa540: 0x40321220, 0xa541: 0x40321a20, 0xa542: 0x40322220, 0xa543: 0x40322a20, + 0xa544: 0x002c6487, 0xa545: 0x002c6485, 0xa546: 0x002c6483, 0xa547: 0x002e2487, + 0xa548: 0x002e2485, 0xa549: 0x002e2483, 0xa54a: 0x002ea087, 0xa54b: 0x002ea085, + 0xa54c: 0x002ea083, 0xa54d: 0xe0000947, 0xa54e: 0xe0000944, 0xa54f: 0xe0000c3d, + 0xa550: 0xe0000c3a, 0xa551: 0xe0000dcc, 0xa552: 0xe0000dc9, 0xa553: 0xe0000ff3, + 0xa554: 0xe0000ff0, 0xa555: 0xe000101e, 0xa556: 0xe000101a, 0xa557: 0xe0001006, + 0xa558: 0xe0001002, 0xa559: 0xe0001016, 0xa55a: 0xe0001012, 0xa55b: 0xe000100e, + 0xa55c: 0xe000100a, 0xa55d: 0x402cae20, 0xa55e: 0xe0000962, 0xa55f: 0xe000095e, + 0xa560: 0xe0000976, 0xa561: 0xe0000972, 0xa562: 0xe00009f4, 0xa563: 0xe00009ef, + 0xa564: 0x002d3a88, 0xa565: 0x402d3a20, 0xa566: 0xe0000bbe, 0xa567: 0xe0000bbb, + 0xa568: 0xe0000c99, 0xa569: 0xe0000c96, 0xa56a: 0xe0000e20, 0xa56b: 0xe0000e1d, + 0xa56c: 0xe0000e27, 0xa56d: 0xe0000e23, 0xa56e: 0xe0001162, 0xa56f: 0xe000115f, + 0xa570: 0xe0000c8d, 0xa571: 0xf0000a0a, 0xa572: 0xf000040a, 0xa573: 0xf0000404, + 0xa574: 0xe0000bac, 0xa575: 0xe0000ba9, 0xa576: 0x002d7888, 0xa577: 0x00319488, + 0xa578: 0xe0000d57, 0xa579: 0xe0000d54, 0xa57a: 0xe0000954, 0xa57b: 0xe0000950, + 0xa57c: 0xe00009ea, 0xa57d: 0xe00009e5, 0xa57e: 0xe0000e19, 0xa57f: 0xe0000e15, + // Block 0x296, offset 0xa580 + 0xa580: 0xe00009b1, 0xa581: 0xe00009ae, 0xa582: 0xe0000a22, 0xa583: 0xe0000a1f, + 0xa584: 0xe0000a28, 0xa585: 0xe0000a25, 0xa586: 0xe0000a2e, 0xa587: 0xe0000a2b, + 0xa588: 0xe0003c3f, 0xa589: 0xe0003c3c, 0xa58a: 0xe0000a8c, 0xa58b: 0xe0000a89, + 0xa58c: 0xe0000a98, 0xa58d: 0xe0000a95, 0xa58e: 0xe0000aa4, 0xa58f: 0xe0000aa1, + 0xa590: 0xe0000a92, 0xa591: 0xe0000a8f, 0xa592: 0xe0000a9e, 0xa593: 0xe0000a9b, + 0xa594: 0xe0000b55, 0xa595: 0xe0000b51, 0xa596: 0xe0000b4d, 0xa597: 0xe0000b49, + 0xa598: 0xe0000b7c, 0xa599: 0xe0000b79, 0xa59a: 0xe0000b82, 0xa59b: 0xe0000b7f, + 0xa59c: 0xe0000b39, 0xa59d: 0xe0000b35, 0xa59e: 0xe0000b8c, 0xa59f: 0xe0000b89, + 0xa5a0: 0xe0000bd0, 0xa5a1: 0xe0000bcd, 0xa5a2: 0xe0000c00, 0xa5a3: 0xe0000bfd, + 0xa5a4: 0xe0000c0c, 0xa5a5: 0xe0000c09, 0xa5a6: 0xe0000bfa, 0xa5a7: 0xe0000bf7, + 0xa5a8: 0xe0000c06, 0xa5a9: 0xe0000c03, 0xa5aa: 0xe0000c12, 0xa5ab: 0xe0000c0f, + 0xa5ac: 0xe0000c7e, 0xa5ad: 0xe0000c7b, 0xa5ae: 0xe0000c4a, 0xa5af: 0xe0000c46, + 0xa5b0: 0xe0000c93, 0xa5b1: 0xe0000c90, 0xa5b2: 0xe0000cab, 0xa5b3: 0xe0000ca8, + 0xa5b4: 0xe0000cb1, 0xa5b5: 0xe0000cae, 0xa5b6: 0xe0000cde, 0xa5b7: 0xe0000cdb, + 0xa5b8: 0xe0000ce5, 0xa5b9: 0xe0000ce1, 0xa5ba: 0xe0000cf2, 0xa5bb: 0xe0000cef, + 0xa5bc: 0xe0000cec, 0xa5bd: 0xe0000ce9, 0xa5be: 0xe0000d1e, 0xa5bf: 0xe0000d1b, + // Block 0x297, offset 0xa5c0 + 0xa5c0: 0xa0000000, 0xa5c1: 0xa0000000, 0xa5c2: 0xa0000000, 0xa5c3: 0xa0000000, + 0xa5c4: 0xa0000000, 0xa5c5: 0xa0000000, 0xa5c6: 0xa0000000, 0xa5c7: 0xa0000000, + 0xa5c8: 0xa0000000, 0xa5c9: 0x40020020, 0xa5ca: 0x40020220, 0xa5cb: 0x40020420, + 0xa5cc: 0x40020620, 0xa5cd: 0x40020820, 0xa5ce: 0xa0000000, 0xa5cf: 0xa0000000, + 0xa5d0: 0xa0000000, 0xa5d1: 0xa0000000, 0xa5d2: 0xa0000000, 0xa5d3: 0xa0000000, + 0xa5d4: 0xa0000000, 0xa5d5: 0xa0000000, 0xa5d6: 0xa0000000, 0xa5d7: 0xa0000000, + 0xa5d8: 0xa0000000, 0xa5d9: 0xa0000000, 0xa5da: 0xa0000000, 0xa5db: 0xa0000000, + 0xa5dc: 0xa0000000, 0xa5dd: 0xa0000000, 0xa5de: 0xa0000000, 0xa5df: 0xa0000000, + 0xa5e0: 0x40021220, 0xa5e1: 0x4002ba20, 0xa5e2: 0x4003e020, 0xa5e3: 0x4004ea20, + 0xa5e4: 0x4027de20, 0xa5e5: 0x4004ec20, 0xa5e6: 0x4004e620, 0xa5e7: 0x4003d220, + 0xa5e8: 0x4003f420, 0xa5e9: 0x4003f620, 0xa5ea: 0x4004d820, 0xa5eb: 0x40093820, + 0xa5ec: 0x40024020, 0xa5ed: 0x40021a20, 0xa5ee: 0x4002e420, 0xa5ef: 0x4004e220, + 0xa5f0: 0x4029cc20, 0xa5f1: 0x4029ce20, 0xa5f2: 0x4029d020, 0xa5f3: 0x4029d220, + 0xa5f4: 0x4029d420, 0xa5f5: 0x4029d620, 0xa5f6: 0x4029d820, 0xa5f7: 0x4029da20, + 0xa5f8: 0x4029dc20, 0xa5f9: 0x4029de20, 0xa5fa: 0x40026c20, 0xa5fb: 0x40026220, + 0xa5fc: 0x40094020, 0xa5fd: 0x40094220, 0xa5fe: 0x40094420, 0xa5ff: 0x4002c420, + // Block 0x298, offset 0xa600 + 0xa600: 0x4004d620, 0xa601: 0x002bde88, 0xa602: 0x002c0a88, 0xa603: 0xc5b12aa4, + 0xa604: 0xc5bb2b54, 0xa605: 0x002c9888, 0xa606: 0x002d0888, 0xa607: 0xc5c72c24, + 0xa608: 0x002d6888, 0xa609: 0x002d9a88, 0xa60a: 0x002dcc88, 0xa60b: 0x002dfe88, + 0xa60c: 0xc5d12cf6, 0xa60d: 0x002e8288, 0xa60e: 0xc5db2dc4, 0xa60f: 0xc5e30b21, + 0xa610: 0x002f2c88, 0xa611: 0x002f5688, 0xa612: 0x002f7a88, 0xa613: 0xc5e92e54, + 0xa614: 0xc5f12ee4, 0xa615: 0xc5f90b21, 0xa616: 0x0030be88, 0xa617: 0x0030e288, + 0xa618: 0x0030f688, 0xa619: 0x00310088, 0xa61a: 0xc5ff2f74, 0xa61b: 0x4003f820, + 0xa61c: 0x4004e420, 0xa61d: 0x4003fa20, 0xa61e: 0x40062420, 0xa61f: 0x40021620, + 0xa620: 0x40061e20, 0xa621: 0x402bde20, 0xa622: 0x402c0a20, 0xa623: 0xc5ae2a72, + 0xa624: 0xc5b62b02, 0xa625: 0x402c9820, 0xa626: 0x402d0820, 0xa627: 0xc5c42bf2, + 0xa628: 0x402d6820, 0xa629: 0x402d9a20, 0xa62a: 0x402dcc20, 0xa62b: 0x402dfe20, + 0xa62c: 0xc5cc2c84, 0xa62d: 0x402e8220, 0xa62e: 0xc5d82d92, 0xa62f: 0xc5e00b21, + 0xa630: 0x402f2c20, 0xa631: 0x402f5620, 0xa632: 0x402f7a20, 0xa633: 0xc5e62e22, + 0xa634: 0xc5ee2eb2, 0xa635: 0xc5f60b21, 0xa636: 0x4030be20, 0xa637: 0x4030e220, + 0xa638: 0x4030f620, 0xa639: 0x40310020, 0xa63a: 0xc5fc2f42, 0xa63b: 0x4003fc20, + 0xa63c: 0x40094820, 0xa63d: 0x4003fe20, 0xa63e: 0x40094c20, 0xa63f: 0xa0000000, + // Block 0x299, offset 0xa640 + 0xa640: 0xe00008f5, 0xa641: 0xe00008ef, 0xa642: 0xe0000921, 0xa643: 0xe0000969, + 0xa644: 0xe000095b, 0xa645: 0xe000094d, 0xa646: 0xe00009dd, 0xa647: 0xe0000a53, + 0xa648: 0xe0000ae8, 0xa649: 0xe0000ae2, 0xa64a: 0xe0000af4, 0xa64b: 0xe0000b20, + 0xa64c: 0xe0000c2b, 0xa64d: 0xe0000c25, 0xa64e: 0xe0000c37, 0xa64f: 0xe0000c43, + 0xa650: 0xe0000ab3, 0xa651: 0xe0000d63, 0xa652: 0xe0000d9a, 0xa653: 0xe0000d94, + 0xa654: 0xe0000da6, 0xa655: 0xe0000de6, 0xa656: 0x002ee483, 0xa657: 0x40093e20, + 0xa658: 0xe0000e12, 0xa659: 0xe0000fe1, 0xa65a: 0xe0000fdb, 0xa65b: 0xe0000fed, + 0xa65c: 0x00306e83, 0xa65d: 0xe0001102, 0xa65e: 0x00318888, 0xa65f: 0xe0000f7b, + 0xa660: 0xe00008f2, 0xa661: 0xe00008ec, 0xa662: 0xe000091e, 0xa663: 0xe0000966, + 0xa664: 0xe0000958, 0xa665: 0xe000094a, 0xa666: 0xe00009d5, 0xa667: 0xe0000a4d, + 0xa668: 0xe0000ae5, 0xa669: 0xe0000adf, 0xa66a: 0xe0000af1, 0xa66b: 0xe0000b1d, + 0xa66c: 0xe0000c28, 0xa66d: 0xe0000c22, 0xa66e: 0xe0000c34, 0xa66f: 0xe0000c40, + 0xa670: 0xe0000aad, 0xa671: 0xe0000d60, 0xa672: 0xe0000d97, 0xa673: 0xe0000d91, + 0xa674: 0xe0000da3, 0xa675: 0xe0000de3, 0xa676: 0x402ee420, 0xa677: 0x40093c20, + 0xa678: 0xe0000e0f, 0xa679: 0xe0000fde, 0xa67a: 0xe0000fd8, 0xa67b: 0xe0000fea, + 0xa67c: 0x40306e20, 0xa67d: 0xe00010ff, 0xa67e: 0x40318820, 0xa67f: 0xe0001114, + // Block 0x29a, offset 0xa680 + 0xa680: 0xe0000cfe, 0xa681: 0xe0000cf8, 0xa682: 0xe0000cf5, 0xa683: 0xe0000d51, + 0xa684: 0xe0000d4e, 0xa685: 0xe0000d6f, 0xa686: 0xe0000d6c, 0xa687: 0xe0000d5d, + 0xa688: 0xe0000d5a, 0xa689: 0xf0000404, 0xa68a: 0x002eda88, 0xa68b: 0x402eda20, + 0xa68c: 0xe0000e2e, 0xa68d: 0xe0000e2b, 0xa68e: 0xe0000da0, 0xa68f: 0xe0000d9d, + 0xa690: 0x002ee4a3, 0xa691: 0x402ee421, 0xa692: 0xe0000e93, 0xa693: 0xe0000e8f, + 0xa694: 0xe0000eca, 0xa695: 0xe0000ec7, 0xa696: 0xe0000edc, 0xa697: 0xe0000ed9, + 0xa698: 0xe0000ed0, 0xa699: 0xe0000ecd, 0xa69a: 0xe0000f1f, 0xa69b: 0xe0000f1c, + 0xa69c: 0xe0000f2d, 0xa69d: 0xe0000f2a, 0xa69e: 0xe0000f47, 0xa69f: 0xe0000f44, + 0xa6a0: 0xe0000f33, 0xa6a1: 0xe0000f30, 0xa6a2: 0xe0000f99, 0xa6a3: 0xe0000f96, + 0xa6a4: 0xe0000f8a, 0xa6a5: 0xe0000f87, 0xa6a6: 0x00303688, 0xa6a7: 0x40303620, + 0xa6a8: 0xe000102b, 0xa6a9: 0xe0001028, 0xa6aa: 0xe000103f, 0xa6ab: 0xe000103c, + 0xa6ac: 0xe0000fe7, 0xa6ad: 0xe0000fe4, 0xa6ae: 0xe0000ff9, 0xa6af: 0xe0000ff6, + 0xa6b0: 0x00306ea3, 0xa6b1: 0x40306e21, 0xa6b2: 0xe0001039, 0xa6b3: 0xe0001036, + 0xa6b4: 0xe00010d8, 0xa6b5: 0xe00010d5, 0xa6b6: 0xe000110e, 0xa6b7: 0xe000110b, + 0xa6b8: 0xe0001117, 0xa6b9: 0xe000113b, 0xa6ba: 0xe0001138, 0xa6bb: 0xe000114d, + 0xa6bc: 0xe000114a, 0xa6bd: 0xe0001147, 0xa6be: 0xe0001144, 0xa6bf: 0xe0000f64, + // Block 0x29b, offset 0xa6c0 + 0xa6c0: 0x40321220, 0xa6c1: 0x40321a20, 0xa6c2: 0x40322220, 0xa6c3: 0x40322a20, + 0xa6c4: 0xe0000ad5, 0xa6c5: 0xe0000ad1, 0xa6c6: 0xe0000acd, 0xa6c7: 0xf0000a0a, + 0xa6c8: 0xf000040a, 0xa6c9: 0xf0000404, 0xa6ca: 0xf0000a0a, 0xa6cb: 0xf000040a, + 0xa6cc: 0xf0000404, 0xa6cd: 0xe0000947, 0xa6ce: 0xe0000944, 0xa6cf: 0xe0000c3d, + 0xa6d0: 0xe0000c3a, 0xa6d1: 0xe0000dcc, 0xa6d2: 0xe0000dc9, 0xa6d3: 0xe0000ff3, + 0xa6d4: 0xe0000ff0, 0xa6d5: 0xe0002964, 0xa6d6: 0xe0002961, 0xa6d7: 0xe0002952, + 0xa6d8: 0xe000294f, 0xa6d9: 0xe000295e, 0xa6da: 0xe000295b, 0xa6db: 0xe0002958, + 0xa6dc: 0xe0002955, 0xa6dd: 0x402cae20, 0xa6de: 0xe0000962, 0xa6df: 0xe000095e, + 0xa6e0: 0xe0000976, 0xa6e1: 0xe0000972, 0xa6e2: 0xe00009f4, 0xa6e3: 0xe00009ef, + 0xa6e4: 0x002d3a88, 0xa6e5: 0x402d3a20, 0xa6e6: 0xe0000bbe, 0xa6e7: 0xe0000bbb, + 0xa6e8: 0xe0000c99, 0xa6e9: 0xe0000c96, 0xa6ea: 0xe0000e20, 0xa6eb: 0xe0000e1d, + 0xa6ec: 0xe0000e27, 0xa6ed: 0xe0000e23, 0xa6ee: 0xe0001162, 0xa6ef: 0xe000115f, + 0xa6f0: 0xe0000c8d, 0xa6f1: 0xf0000a0a, 0xa6f2: 0xf000040a, 0xa6f3: 0xf0000404, + 0xa6f4: 0xe0000bac, 0xa6f5: 0xe0000ba9, 0xa6f6: 0x002d7888, 0xa6f7: 0x00319488, + 0xa6f8: 0xe0000d57, 0xa6f9: 0xe0000d54, 0xa6fa: 0xe0000954, 0xa6fb: 0xe0000950, + 0xa6fc: 0xe00009ea, 0xa6fd: 0xe00009e5, 0xa6fe: 0xe0000e19, 0xa6ff: 0xe0000e15, + // Block 0x29c, offset 0xa700 + 0xa700: 0xe000098f, 0xa701: 0xe000098c, 0xa702: 0xe0000995, 0xa703: 0xe0000992, + 0xa704: 0xe0000b62, 0xa705: 0xe0000b5f, 0xa706: 0xe0000b68, 0xa707: 0xe0000b65, + 0xa708: 0xe0000c6c, 0xa709: 0xe0000c69, 0xa70a: 0xe0000c72, 0xa70b: 0xe0000c6f, + 0xa70c: 0xe0000e4a, 0xa70d: 0xe0000e47, 0xa70e: 0xe0000e50, 0xa70f: 0xe0000e4d, + 0xa710: 0xe0000ee8, 0xa711: 0xe0000ee5, 0xa712: 0xe0000eee, 0xa713: 0xe0000eeb, + 0xa714: 0xe0001053, 0xa715: 0xe0001050, 0xa716: 0xe0001059, 0xa717: 0xe0001056, + 0xa718: 0xe0000f61, 0xa719: 0xe0000f5e, 0xa71a: 0xe0000fa5, 0xa71b: 0xe0000fa2, + 0xa71c: 0x00312288, 0xa71d: 0x40312220, 0xa71e: 0xe0000bf4, 0xa71f: 0xe0000bf1, + 0xa720: 0x002ebc88, 0xa721: 0x402c8c20, 0xa722: 0x002f2288, 0xa723: 0x402f2220, + 0xa724: 0x00314088, 0xa725: 0x40314020, 0xa726: 0xe000096f, 0xa727: 0xe000096c, + 0xa728: 0xe0000b32, 0xa729: 0xe0000b2f, 0xa72a: 0xe000294c, 0xa72b: 0xe0002949, + 0xa72c: 0xe0000dfd, 0xa72d: 0xe0000df9, 0xa72e: 0xe0000e04, 0xa72f: 0xe0000e01, + 0xa730: 0xe0000e0b, 0xa731: 0xe0000e07, 0xa732: 0xe0001129, 0xa733: 0xe0001126, + 0xa734: 0x402e5e20, 0xa735: 0x402ed020, 0xa736: 0x40305a20, 0xa737: 0x402dd420, + 0xa738: 0xe0000abf, 0xa739: 0xe0000ec4, 0xa73a: 0x002be888, 0xa73b: 0x002c4488, + 0xa73c: 0x402c4420, 0xa73d: 0x002e3888, 0xa73e: 0x00303e88, 0xa73f: 0x402ffc20, + // Block 0x29d, offset 0xa740 + 0xa740: 0x00339288, 0xa741: 0x40339220, 0xa742: 0x0033a088, 0xa743: 0x4033a020, + 0xa744: 0x0033ee88, 0xa745: 0x4033ee20, 0xa746: 0x00341088, 0xa747: 0x40341020, + 0xa748: 0x0034a488, 0xa749: 0x4034a420, 0xa74a: 0x0034ec88, 0xa74b: 0x4034ec20, + 0xa74c: 0x00354288, 0xa74d: 0x40354220, 0xa74e: 0x00355688, 0xa74f: 0x40355620, + 0xa750: 0x0033f088, 0xa751: 0x4033f020, 0xa752: 0x00349688, 0xa753: 0x40349620, + 0xa754: 0x0034a688, 0xa755: 0x4034a620, 0xa756: 0x00353888, 0xa757: 0x40353820, + 0xa758: 0x0036cc88, 0xa759: 0x4036cc20, 0xa75a: 0x00348288, 0xa75b: 0x40348220, + 0xa75c: 0x00372e88, 0xa75d: 0x40372e20, 0xa75e: 0x00348088, 0xa75f: 0x40348020, + 0xa760: 0x00349888, 0xa761: 0x40349820, 0xa762: 0x0034da88, 0xa763: 0x4034da20, + 0xa764: 0x00351688, 0xa765: 0x40351620, 0xa766: 0x0035dc88, 0xa767: 0x4035dc20, + 0xa771: 0x00384288, 0xa772: 0x00384488, 0xa773: 0x00384688, + 0xa774: 0x00384888, 0xa775: 0xc6042fd1, 0xa776: 0x00384c88, 0xa777: 0x00384e88, + 0xa778: 0x00385088, 0xa779: 0x00385288, 0xa77a: 0x00385488, 0xa77b: 0x00385688, + 0xa77c: 0x00385888, 0xa77d: 0x00385a88, 0xa77e: 0x00385c88, 0xa77f: 0x00385e88, + // Block 0x29e, offset 0xa780 + 0xa780: 0x40388020, 0xa781: 0x40388220, 0xa782: 0x40388420, 0xa783: 0x40388620, + 0xa784: 0x40388820, 0xa785: 0x40388a20, 0xa786: 0x40388c20, 0xa787: 0x40388a20, + 0xa789: 0x40026e20, 0xa78a: 0x40021c20, + 0xa78f: 0x4027e420, + 0xa791: 0xadc00000, 0xa792: 0xae600000, 0xa793: 0xae600000, + 0xa794: 0xae600000, 0xa795: 0xae600000, 0xa796: 0xadc00000, 0xa797: 0xae600000, + 0xa798: 0xae600000, 0xa799: 0xae600000, 0xa79a: 0xade00000, 0xa79b: 0xadc00000, + 0xa79c: 0xae600000, 0xa79d: 0xae600000, 0xa79e: 0xae600000, 0xa79f: 0xae600000, + 0xa7a0: 0xae600000, 0xa7a1: 0xae600000, 0xa7a2: 0xadc00000, 0xa7a3: 0xadc00000, + 0xa7a4: 0xadc00000, 0xa7a5: 0xadc00000, 0xa7a6: 0xadc00000, 0xa7a7: 0xadc00000, + 0xa7a8: 0xae600000, 0xa7a9: 0xae600000, 0xa7aa: 0xadc00000, 0xa7ab: 0xae600000, + 0xa7ac: 0xae600000, 0xa7ad: 0xade00000, 0xa7ae: 0xae400000, 0xa7af: 0xae600000, + 0xa7b0: 0xa0a08502, 0xa7b1: 0xa0b08602, 0xa7b2: 0xa0c08702, 0xa7b3: 0xa0d08802, + 0xa7b4: 0xa0e08902, 0xa7b5: 0xa0f08a02, 0xa7b6: 0xa1008b02, 0xa7b7: 0xa1108c02, + 0xa7b8: 0xa1208d02, 0xa7b9: 0xa1308e02, 0xa7ba: 0xa1308e02, 0xa7bb: 0xa1408f02, + 0xa7bc: 0xa1509202, 0xa7bd: 0xa1600000, 0xa7be: 0x40055420, 0xa7bf: 0xa1709502, + // Block 0x29f, offset 0xa7c0 + 0xa7c0: 0xa0000000, 0xa7c1: 0xa0000000, 0xa7c2: 0xa0000000, 0xa7c3: 0xa0000000, + 0xa7c4: 0xa0000000, 0xa7c5: 0xa0000000, 0xa7c6: 0xa0000000, 0xa7c7: 0xa0000000, + 0xa7c8: 0xa0000000, 0xa7c9: 0x40020020, 0xa7ca: 0x40020220, 0xa7cb: 0x40020420, + 0xa7cc: 0x40020620, 0xa7cd: 0x40020820, 0xa7ce: 0xa0000000, 0xa7cf: 0xa0000000, + 0xa7d0: 0xa0000000, 0xa7d1: 0xa0000000, 0xa7d2: 0xa0000000, 0xa7d3: 0xa0000000, + 0xa7d4: 0xa0000000, 0xa7d5: 0xa0000000, 0xa7d6: 0xa0000000, 0xa7d7: 0xa0000000, + 0xa7d8: 0xa0000000, 0xa7d9: 0xa0000000, 0xa7da: 0xa0000000, 0xa7db: 0xa0000000, + 0xa7dc: 0xa0000000, 0xa7dd: 0xa0000000, 0xa7de: 0xa0000000, 0xa7df: 0xa0000000, + 0xa7e0: 0x40021220, 0xa7e1: 0x4002ba20, 0xa7e2: 0x4003e020, 0xa7e3: 0x4004ea20, + 0xa7e4: 0x4027de20, 0xa7e5: 0x4004ec20, 0xa7e6: 0x4004e620, 0xa7e7: 0x4003d220, + 0xa7e8: 0x4003f420, 0xa7e9: 0x4003f620, 0xa7ea: 0x4004d820, 0xa7eb: 0x40093820, + 0xa7ec: 0x40024020, 0xa7ed: 0x40021a20, 0xa7ee: 0x4002e420, 0xa7ef: 0x4004e220, + 0xa7f0: 0x4029cc20, 0xa7f1: 0x4029ce20, 0xa7f2: 0x4029d020, 0xa7f3: 0x4029d220, + 0xa7f4: 0x4029d420, 0xa7f5: 0x4029d620, 0xa7f6: 0x4029d820, 0xa7f7: 0x4029da20, + 0xa7f8: 0x4029dc20, 0xa7f9: 0x4029de20, 0xa7fa: 0x40026c20, 0xa7fb: 0x40026220, + 0xa7fc: 0x40094020, 0xa7fd: 0x40094220, 0xa7fe: 0x40094420, 0xa7ff: 0x4002c420, + // Block 0x2a0, offset 0xa800 + 0xa800: 0x4004d620, 0xa801: 0x002bde88, 0xa802: 0x002c0a88, 0xa803: 0xc60809c2, + 0xa804: 0x002c6288, 0xa805: 0x002c9888, 0xa806: 0x002d0888, 0xa807: 0xc60f3026, + 0xa808: 0x002d6888, 0xa809: 0xc6183081, 0xa80a: 0x002dcc88, 0xa80b: 0xc61d30c4, + 0xa80c: 0xc0030002, 0xa80d: 0x002e8288, 0xa80e: 0xc6263145, 0xa80f: 0xc33f3081, + 0xa810: 0x002f2c88, 0xa811: 0x002f5688, 0xa812: 0x002f7a88, 0xa813: 0xc58909c2, + 0xa814: 0x00302c88, 0xa815: 0xc3473081, 0xa816: 0x0030be88, 0xa817: 0x0030e288, + 0xa818: 0x0030f688, 0xa819: 0x00310088, 0xa81a: 0x00312a88, 0xa81b: 0x4003f820, + 0xa81c: 0x4004e420, 0xa81d: 0x4003fa20, 0xa81e: 0x40062420, 0xa81f: 0x40021620, + 0xa820: 0x40061e20, 0xa821: 0x402bde20, 0xa822: 0x402c0a20, 0xa823: 0xc60609b1, + 0xa824: 0x402c6220, 0xa825: 0x402c9820, 0xa826: 0x402d0820, 0xa827: 0xc60b2ff3, + 0xa828: 0x402d6820, 0xa829: 0xc6163081, 0xa82a: 0x402dcc20, 0xa82b: 0xc61a30a2, + 0xa82c: 0xc0000002, 0xa82d: 0x402e8220, 0xa82e: 0xc6223103, 0xa82f: 0xc33d3081, + 0xa830: 0x402f2c20, 0xa831: 0x402f5620, 0xa832: 0x402f7a20, 0xa833: 0xc34109b1, + 0xa834: 0x40302c20, 0xa835: 0xc3453081, 0xa836: 0x4030be20, 0xa837: 0x4030e220, + 0xa838: 0x4030f620, 0xa839: 0x40310020, 0xa83a: 0x40312a20, 0xa83b: 0x4003fc20, + 0xa83c: 0x40094820, 0xa83d: 0x4003fe20, 0xa83e: 0x40094c20, 0xa83f: 0xa0000000, + // Block 0x2a1, offset 0xa840 + 0xa840: 0xe0000d24, 0xa841: 0xe0000d21, 0xa842: 0xe0000d2a, 0xa843: 0xe0000d27, + 0xa844: 0x002ea083, 0xa845: 0x402ea020, 0xa846: 0xe0000d7b, 0xa847: 0xe0000d78, + 0xa848: 0xe0000d87, 0xa849: 0xe0000d84, 0xa84a: 0xe0000d81, 0xa84b: 0xe0000d7e, + 0xa84c: 0xe0000ded, 0xa84d: 0xe0000de9, 0xa84e: 0xe0000df5, 0xa84f: 0xe0000df1, + 0xa850: 0xe0000e3d, 0xa851: 0xe0000e39, 0xa852: 0xe0000e35, 0xa853: 0xe0000e31, + 0xa854: 0xe0000ea7, 0xa855: 0xe0000ea4, 0xa856: 0xe0000ead, 0xa857: 0xe0000eaa, + 0xa858: 0xe0000ed6, 0xa859: 0xe0000ed3, 0xa85a: 0xe0000ef4, 0xa85b: 0xe0000ef1, + 0xa85c: 0xe0000efb, 0xa85d: 0xe0000ef7, 0xa85e: 0xe0000f02, 0xa85f: 0xe0000eff, + 0xa860: 0xe0000f41, 0xa861: 0xe0000f3e, 0xa862: 0xe0000f53, 0xa863: 0xe0000f50, + 0xa864: 0xe0000f26, 0xa865: 0xe0000f22, 0xa866: 0xe0000f3a, 0xa867: 0xe0000f36, + 0xa868: 0xe0000f5a, 0xa869: 0xe0000f56, 0xa86a: 0xe0000f93, 0xa86b: 0xe0000f90, + 0xa86c: 0xe0000f9f, 0xa86d: 0xe0000f9c, 0xa86e: 0xe0000fb1, 0xa86f: 0xe0000fae, + 0xa870: 0xe0000fab, 0xa871: 0xe0000fa8, 0xa872: 0xe0001093, 0xa873: 0xe0001090, + 0xa874: 0xe000109f, 0xa875: 0xe000109c, 0xa876: 0xe0001099, 0xa877: 0xe0001096, + 0xa878: 0xe0001032, 0xa879: 0xe000102e, 0xa87a: 0xe0001046, 0xa87b: 0xe0001042, + 0xa87c: 0xe00010a9, 0xa87d: 0xe00010a6, 0xa87e: 0xe00010af, 0xa87f: 0xe00010ac, + // Block 0x2a2, offset 0xa880 + 0xa880: 0xe0000b03, 0xa881: 0xe0000aff, 0xa882: 0xe0000b13, 0xa883: 0xe0000b0f, + 0xa884: 0xe0000b0b, 0xa885: 0xe0000b07, 0xa886: 0xe0000b75, 0xa887: 0xe0000b71, + 0xa888: 0xe0000c66, 0xa889: 0xe0000c63, 0xa88a: 0x002d9c83, 0xa88b: 0x402d9c20, + 0xa88c: 0x002ee483, 0xa88d: 0x402ee420, 0xa88e: 0xe0000e44, 0xa88f: 0xe0000e41, + 0xa890: 0xe0000dad, 0xa891: 0xe0000da9, 0xa892: 0xe0000db5, 0xa893: 0xe0000db1, + 0xa894: 0xe0000dc5, 0xa895: 0xe0000dc1, 0xa896: 0xe0000dbd, 0xa897: 0xe0000db9, + 0xa898: 0xe0003c96, 0xa899: 0xe0003c93, 0xa89a: 0xe0000e5d, 0xa89b: 0xe0000e59, + 0xa89c: 0xe0000e65, 0xa89d: 0xe0000e61, 0xa89e: 0xe0000e75, 0xa89f: 0xe0000e71, + 0xa8a0: 0xe0000e6d, 0xa8a1: 0xe0000e69, 0xa8a2: 0xe0003c9c, 0xa8a3: 0xe0003c99, + 0xa8a4: 0x00306e83, 0xa8a5: 0x40306e20, 0xa8a6: 0xe000104d, 0xa8a7: 0xe000104a, + 0xa8a8: 0xe0001066, 0xa8a9: 0xe0001062, 0xa8aa: 0xe000106e, 0xa8ab: 0xe000106a, + 0xa8ac: 0xe000107e, 0xa8ad: 0xe000107a, 0xa8ae: 0xe0001076, 0xa8af: 0xe0001072, + 0xa8b0: 0xe0003ca2, 0xa8b1: 0xe0003c9f, 0xa8b2: 0xe0001108, 0xa8b3: 0xe0001105, + 0xa8b4: 0xe0001135, 0xa8b5: 0xe0001132, 0xa8b6: 0xe000112f, 0xa8b7: 0xe000112c, + 0xa8b8: 0xe000111d, 0xa8b9: 0xe000111a, 0xa8ba: 0xe0000d0a, 0xa8bb: 0xe0000d07, + 0xa8bc: 0x0030d888, 0xa8bd: 0x4030d820, 0xa8be: 0x00312088, 0xa8bf: 0x40312020, + // Block 0x2a3, offset 0xa8c0 + 0xa8c0: 0xa0000000, 0xa8c1: 0xa0000000, 0xa8c2: 0xa0000000, 0xa8c3: 0xa0000000, + 0xa8c4: 0xa0000000, 0xa8c5: 0xa0000000, 0xa8c6: 0xa0000000, 0xa8c7: 0xa0000000, + 0xa8c8: 0xa0000000, 0xa8c9: 0x40020020, 0xa8ca: 0x40020220, 0xa8cb: 0x40020420, + 0xa8cc: 0x40020620, 0xa8cd: 0x40020820, 0xa8ce: 0xa0000000, 0xa8cf: 0xa0000000, + 0xa8d0: 0xa0000000, 0xa8d1: 0xa0000000, 0xa8d2: 0xa0000000, 0xa8d3: 0xa0000000, + 0xa8d4: 0xa0000000, 0xa8d5: 0xa0000000, 0xa8d6: 0xa0000000, 0xa8d7: 0xa0000000, + 0xa8d8: 0xa0000000, 0xa8d9: 0xa0000000, 0xa8da: 0xa0000000, 0xa8db: 0xa0000000, + 0xa8dc: 0xa0000000, 0xa8dd: 0xa0000000, 0xa8de: 0xa0000000, 0xa8df: 0xa0000000, + 0xa8e0: 0x40021220, 0xa8e1: 0x4002ba20, 0xa8e2: 0x4003e020, 0xa8e3: 0x4004ea20, + 0xa8e4: 0x4027de20, 0xa8e5: 0x4004ec20, 0xa8e6: 0x4004e620, 0xa8e7: 0x4003d220, + 0xa8e8: 0x4003f420, 0xa8e9: 0x4003f620, 0xa8ea: 0x4004d820, 0xa8eb: 0x40093820, + 0xa8ec: 0x40024020, 0xa8ed: 0x40021a20, 0xa8ee: 0x4002e420, 0xa8ef: 0x4004e220, + 0xa8f0: 0x4029cc20, 0xa8f1: 0x4029ce20, 0xa8f2: 0x4029d020, 0xa8f3: 0x4029d220, + 0xa8f4: 0x4029d420, 0xa8f5: 0x4029d620, 0xa8f6: 0x4029d820, 0xa8f7: 0x4029da20, + 0xa8f8: 0x4029dc20, 0xa8f9: 0x4029de20, 0xa8fa: 0x40026c20, 0xa8fb: 0x40026220, + 0xa8fc: 0x40094020, 0xa8fd: 0x40094220, 0xa8fe: 0x40094420, 0xa8ff: 0x4002c420, + // Block 0x2a4, offset 0xa900 + 0xa900: 0x4004d620, 0xa901: 0xc63031a1, 0xa902: 0x002c0a88, 0xa903: 0x002c3a88, + 0xa904: 0x002c6288, 0xa905: 0xc63631e1, 0xa906: 0x002d0888, 0xa907: 0x002d2288, + 0xa908: 0x002d6888, 0xa909: 0xc63a31e1, 0xa90a: 0x002dcc88, 0xa90b: 0x002dfe88, + 0xa90c: 0xc0030002, 0xa90d: 0x002e8288, 0xa90e: 0x002e9e88, 0xa90f: 0xc63f3201, + 0xa910: 0x002f2c88, 0xa911: 0x002f5688, 0xa912: 0x002f7a88, 0xa913: 0x002fe688, + 0xa914: 0x00302c88, 0xa915: 0xc64431e1, 0xa916: 0x0030be88, 0xa917: 0x0030e288, + 0xa918: 0x0030f688, 0xa919: 0xc64831e1, 0xa91a: 0x00312a88, 0xa91b: 0x4003f820, + 0xa91c: 0x4004e420, 0xa91d: 0x4003fa20, 0xa91e: 0x40062420, 0xa91f: 0x40021620, + 0xa920: 0x40061e20, 0xa921: 0xc62c31a1, 0xa922: 0x402c0a20, 0xa923: 0x402c3a20, + 0xa924: 0x402c6220, 0xa925: 0xc63431e1, 0xa926: 0x402d0820, 0xa927: 0x402d2220, + 0xa928: 0x402d6820, 0xa929: 0xc63831e1, 0xa92a: 0x402dcc20, 0xa92b: 0x402dfe20, + 0xa92c: 0xc0000002, 0xa92d: 0x402e8220, 0xa92e: 0x402e9e20, 0xa92f: 0xc63c3201, + 0xa930: 0x402f2c20, 0xa931: 0x402f5620, 0xa932: 0x402f7a20, 0xa933: 0x402fe620, + 0xa934: 0x40302c20, 0xa935: 0xc64231e1, 0xa936: 0x4030be20, 0xa937: 0x4030e220, + 0xa938: 0x4030f620, 0xa939: 0xc64631e1, 0xa93a: 0x40312a20, 0xa93b: 0x4003fc20, + 0xa93c: 0x40094820, 0xa93d: 0x4003fe20, 0xa93e: 0x40094c20, 0xa93f: 0xa0000000, + // Block 0x2a5, offset 0xa940 + 0xa940: 0xe00008f5, 0xa941: 0x002c0883, 0xa942: 0xe0000921, 0xa943: 0xe0000969, + 0xa944: 0x00320ca3, 0xa945: 0x00321083, 0xa946: 0x00320c83, 0xa947: 0xe0000a53, + 0xa948: 0xe0000ae8, 0xa949: 0x002d0683, 0xa94a: 0xe0000af4, 0xa94b: 0xe0000b20, + 0xa94c: 0xe0000c2b, 0xa94d: 0x002dca83, 0xa94e: 0xe0000c37, 0xa94f: 0xe0000c43, + 0xa950: 0x002c6483, 0xa951: 0xe0000d63, 0xa952: 0xe0000d9a, 0xa953: 0x002f2a83, + 0xa954: 0xe0000da6, 0xa955: 0xe0000de6, 0xa956: 0x00320e83, 0xa957: 0x40093e20, + 0xa958: 0x00320ea3, 0xa959: 0xe0000fe1, 0xa95a: 0x0030bc83, 0xa95b: 0xe0000fed, + 0xa95c: 0xe0000fff, 0xa95d: 0x00312883, 0xa95e: 0x00318888, 0xa95f: 0xe0000f7b, + 0xa960: 0xe00008f2, 0xa961: 0x402c0820, 0xa962: 0xe000091e, 0xa963: 0xe0000966, + 0xa964: 0x40320c21, 0xa965: 0x40321020, 0xa966: 0x40320c20, 0xa967: 0xe0000a4d, + 0xa968: 0xe0000ae5, 0xa969: 0x402d0620, 0xa96a: 0xe0000af1, 0xa96b: 0xe0000b1d, + 0xa96c: 0xe0000c28, 0xa96d: 0x402dca20, 0xa96e: 0xe0000c34, 0xa96f: 0xe0000c40, + 0xa970: 0x402c6420, 0xa971: 0xe0000d60, 0xa972: 0xe0000d97, 0xa973: 0x402f2a20, + 0xa974: 0xe0000da3, 0xa975: 0xe0000de3, 0xa976: 0x40320e20, 0xa977: 0x40093c20, + 0xa978: 0x40320e21, 0xa979: 0xe0000fde, 0xa97a: 0x4030bc20, 0xa97b: 0xe0000fea, + 0xa97c: 0xe0000ffc, 0xa97d: 0x40312820, 0xa97e: 0x40318820, 0xa97f: 0xe0001114, + // Block 0x2a6, offset 0xa980 + 0xa980: 0xe0000983, 0xa981: 0xe0000980, 0xa982: 0xe00008fb, 0xa983: 0xe00008f8, + 0xa984: 0xe000097d, 0xa985: 0xe000097a, 0xa986: 0xe0000a38, 0xa987: 0xe0000a35, + 0xa988: 0xe0000a3e, 0xa989: 0xe0000a3b, 0xa98a: 0xe0000a4a, 0xa98b: 0xe0000a47, + 0xa98c: 0xe0000a44, 0xa98d: 0xe0000a41, 0xa98e: 0xe0000a86, 0xa98f: 0xe0000a83, + 0xa990: 0x002c62a3, 0xa991: 0x402c6221, 0xa992: 0xe0000b46, 0xa993: 0xe0000b43, + 0xa994: 0xe0000aee, 0xa995: 0xe0000aeb, 0xa996: 0xe0000b2c, 0xa997: 0xe0000b29, + 0xa998: 0xe0000b40, 0xa999: 0xe0000b3d, 0xa99a: 0xe0000b1a, 0xa99b: 0xe0000b17, + 0xa99c: 0xe0000bb8, 0xa99d: 0xe0000bb5, 0xa99e: 0xe0000bb2, 0xa99f: 0xe0000baf, + 0xa9a0: 0xe0000bc4, 0xa9a1: 0xe0000bc1, 0xa9a2: 0xe0000bca, 0xa9a3: 0xe0000bc7, + 0xa9a4: 0xe0000bee, 0xa9a5: 0xe0000beb, 0xa9a6: 0xe0000c1b, 0xa9a7: 0xe0000c18, + 0xa9a8: 0xe0000c51, 0xa9a9: 0xe0000c4e, 0xa9aa: 0xe0000c60, 0xa9ab: 0xe0000c5d, + 0xa9ac: 0xe0000c31, 0xa9ad: 0xe0000c2e, 0xa9ae: 0xe0000c5a, 0xa9af: 0xe0000c57, + 0xa9b0: 0xe0000c54, 0xa9b1: 0x402da220, 0xa9b2: 0xf0000a0a, 0xa9b3: 0xf0000404, + 0xa9b4: 0xe0000c8a, 0xa9b5: 0xe0000c87, 0xa9b6: 0xe0000c9f, 0xa9b7: 0xe0000c9c, + 0xa9b8: 0x402f7220, 0xa9b9: 0xe0000ccc, 0xa9ba: 0xe0000cc9, 0xa9bb: 0xe0000cd8, + 0xa9bc: 0xe0000cd5, 0xa9bd: 0xe0000cd2, 0xa9be: 0xe0000ccf, 0xa9bf: 0xe0000d04, + // Block 0x2a7, offset 0xa9c0 + 0xa9c0: 0x40321220, 0xa9c1: 0x40321a20, 0xa9c2: 0x40322220, 0xa9c3: 0x40322a20, + 0xa9c4: 0xe0000ad5, 0xa9c5: 0xe0000ad1, 0xa9c6: 0xe0000acd, 0xa9c7: 0xf0000a0a, + 0xa9c8: 0xf000040a, 0xa9c9: 0xf0000404, 0xa9ca: 0xf0000a0a, 0xa9cb: 0xf000040a, + 0xa9cc: 0xf0000404, 0xa9cd: 0xe0000947, 0xa9ce: 0xe0000944, 0xa9cf: 0xe0000c3d, + 0xa9d0: 0xe0000c3a, 0xa9d1: 0xe0000dcc, 0xa9d2: 0xe0000dc9, 0xa9d3: 0xe0000ff3, + 0xa9d4: 0xe0000ff0, 0xa9d5: 0xe000101e, 0xa9d6: 0xe000101a, 0xa9d7: 0xe0003cde, + 0xa9d8: 0xe0003cdb, 0xa9d9: 0xe0001016, 0xa9da: 0xe0001012, 0xa9db: 0xe000100e, + 0xa9dc: 0xe000100a, 0xa9dd: 0x402cae20, 0xa9de: 0xe000299d, 0xa9df: 0xe000299a, + 0xa9e0: 0xe0000976, 0xa9e1: 0xe0000972, 0xa9e2: 0xe0002997, 0xa9e3: 0xe0002994, + 0xa9e4: 0x002d3a88, 0xa9e5: 0x402d3a20, 0xa9e6: 0xe0000bbe, 0xa9e7: 0xe0000bbb, + 0xa9e8: 0xe0000c99, 0xa9e9: 0xe0000c96, 0xa9ea: 0xe0000e20, 0xa9eb: 0xe0000e1d, + 0xa9ec: 0xe0000e27, 0xa9ed: 0xe0000e23, 0xa9ee: 0xe0001162, 0xa9ef: 0xe000115f, + 0xa9f0: 0xe0000c8d, 0xa9f1: 0xf0000a0a, 0xa9f2: 0xf000040a, 0xa9f3: 0xf0000404, + 0xa9f4: 0xe0000bac, 0xa9f5: 0xe0000ba9, 0xa9f6: 0x002d7888, 0xa9f7: 0x00319488, + 0xa9f8: 0xe0000d57, 0xa9f9: 0xe0000d54, 0xa9fa: 0xe00029b5, 0xa9fb: 0xe00029b2, + 0xa9fc: 0xe0002991, 0xa9fd: 0xe000298e, 0xa9fe: 0xe00037ee, 0xa9ff: 0xe00037eb, + // Block 0x2a8, offset 0xaa00 + 0xaa00: 0xe000098f, 0xaa01: 0xe000098c, 0xaa02: 0xe0000995, 0xaa03: 0xe0000992, + 0xaa04: 0xe0000b62, 0xaa05: 0xe0000b5f, 0xaa06: 0xe0000b68, 0xaa07: 0xe0000b65, + 0xaa08: 0xe0000c6c, 0xaa09: 0xe0000c69, 0xaa0a: 0xe0000c72, 0xaa0b: 0xe0000c6f, + 0xaa0c: 0xe0000e4a, 0xaa0d: 0xe0000e47, 0xaa0e: 0xe0000e50, 0xaa0f: 0xe0000e4d, + 0xaa10: 0xe0000ee8, 0xaa11: 0xe0000ee5, 0xaa12: 0xe0000eee, 0xaa13: 0xe0000eeb, + 0xaa14: 0xe0001053, 0xaa15: 0xe0001050, 0xaa16: 0xe0001059, 0xaa17: 0xe0001056, + 0xaa18: 0xe0000f61, 0xaa19: 0xe0000f5e, 0xaa1a: 0xe0000fa5, 0xaa1b: 0xe0000fa2, + 0xaa1c: 0x00312288, 0xaa1d: 0x40312220, 0xaa1e: 0xe0000bf4, 0xaa1f: 0xe0000bf1, + 0xaa20: 0x002ebc88, 0xaa21: 0x402c8c20, 0xaa22: 0x002f2288, 0xaa23: 0x402f2220, + 0xaa24: 0x00314088, 0xaa25: 0x40314020, 0xaa26: 0xe000096f, 0xaa27: 0xe000096c, + 0xaa28: 0xe0000b32, 0xaa29: 0xe0000b2f, 0xaa2a: 0xe00037e8, 0xaa2b: 0xe00037e5, + 0xaa2c: 0xe0000dfd, 0xaa2d: 0xe0000df9, 0xaa2e: 0xe0000e04, 0xaa2f: 0xe0000e01, + 0xaa30: 0xe0000e0b, 0xaa31: 0xe0000e07, 0xaa32: 0xe0001129, 0xaa33: 0xe0001126, + 0xaa34: 0x402e5e20, 0xaa35: 0x402ed020, 0xaa36: 0x40305a20, 0xaa37: 0x402dd420, + 0xaa38: 0xe0000abf, 0xaa39: 0xe0000ec4, 0xaa3a: 0x002be888, 0xaa3b: 0x002c4488, + 0xaa3c: 0x402c4420, 0xaa3d: 0x002e3888, 0xaa3e: 0x00303e88, 0xaa3f: 0x402ffc20, + // Block 0x2a9, offset 0xaa40 + 0xaa40: 0xe00009b1, 0xaa41: 0xe00009ae, 0xaa42: 0xe0000a22, 0xaa43: 0xe0000a1f, + 0xaa44: 0xe0000a28, 0xaa45: 0xe0000a25, 0xaa46: 0xe0000a2e, 0xaa47: 0xe0000a2b, + 0xaa48: 0xe0000a5a, 0xaa49: 0xe0000a56, 0xaa4a: 0xe0000a8c, 0xaa4b: 0xe0000a89, + 0xaa4c: 0xe0000a98, 0xaa4d: 0xe0000a95, 0xaa4e: 0xe0000aa4, 0xaa4f: 0xe0000aa1, + 0xaa50: 0xe0000a92, 0xaa51: 0xe0000a8f, 0xaa52: 0xe0000a9e, 0xaa53: 0xe0000a9b, + 0xaa54: 0xe0000b55, 0xaa55: 0xe0000b51, 0xaa56: 0xe0003cba, 0xaa57: 0xe0003cb7, + 0xaa58: 0xe0000b7c, 0xaa59: 0xe0000b79, 0xaa5a: 0xe0000b82, 0xaa5b: 0xe0000b7f, + 0xaa5c: 0xe0000b39, 0xaa5d: 0xe0000b35, 0xaa5e: 0xe0000b8c, 0xaa5f: 0xe0000b89, + 0xaa60: 0xe0000bd0, 0xaa61: 0xe0000bcd, 0xaa62: 0xe0000c00, 0xaa63: 0xe0000bfd, + 0xaa64: 0xe0000c0c, 0xaa65: 0xe0000c09, 0xaa66: 0xe0000bfa, 0xaa67: 0xe0000bf7, + 0xaa68: 0xe0000c06, 0xaa69: 0xe0000c03, 0xaa6a: 0xe0000c12, 0xaa6b: 0xe0000c0f, + 0xaa6c: 0xe0000c7e, 0xaa6d: 0xe0000c7b, 0xaa6e: 0xe0003cc0, 0xaa6f: 0xe0003cbd, + 0xaa70: 0xe0000c93, 0xaa71: 0xe0000c90, 0xaa72: 0xe0000cab, 0xaa73: 0xe0000ca8, + 0xaa74: 0xe0000cb1, 0xaa75: 0xe0000cae, 0xaa76: 0xe0000cde, 0xaa77: 0xe0000cdb, + 0xaa78: 0xe0000ce5, 0xaa79: 0xe0000ce1, 0xaa7a: 0xe0000cf2, 0xaa7b: 0xe0000cef, + 0xaa7c: 0xe0000cec, 0xaa7d: 0xe0000ce9, 0xaa7e: 0xe0000d1e, 0xaa7f: 0xe0000d1b, + // Block 0x2aa, offset 0xaa80 + 0xaa80: 0xe0000d24, 0xaa81: 0xe0000d21, 0xaa82: 0xe0000d2a, 0xaa83: 0xe0000d27, + 0xaa84: 0xe0000d69, 0xaa85: 0xe0000d66, 0xaa86: 0xe0000d7b, 0xaa87: 0xe0000d78, + 0xaa88: 0xe0000d87, 0xaa89: 0xe0000d84, 0xaa8a: 0xe0000d81, 0xaa8b: 0xe0000d7e, + 0xaa8c: 0xe0003ccc, 0xaa8d: 0xe0003cc9, 0xaa8e: 0xe0003cf0, 0xaa8f: 0xe0003ced, + 0xaa90: 0xe0000e3d, 0xaa91: 0xe0000e39, 0xaa92: 0xe0003cd2, 0xaa93: 0xe0003ccf, + 0xaa94: 0xe0000ea7, 0xaa95: 0xe0000ea4, 0xaa96: 0xe0000ead, 0xaa97: 0xe0000eaa, + 0xaa98: 0xe0000ed6, 0xaa99: 0xe0000ed3, 0xaa9a: 0xe0000ef4, 0xaa9b: 0xe0000ef1, + 0xaa9c: 0xe0000efb, 0xaa9d: 0xe0000ef7, 0xaa9e: 0xe0000f02, 0xaa9f: 0xe0000eff, + 0xaaa0: 0xe0000f41, 0xaaa1: 0xe0000f3e, 0xaaa2: 0xe0000f53, 0xaaa3: 0xe0000f50, + 0xaaa4: 0xe0000f26, 0xaaa5: 0xe0000f22, 0xaaa6: 0xe0000f3a, 0xaaa7: 0xe0000f36, + 0xaaa8: 0xe0000f5a, 0xaaa9: 0xe0000f56, 0xaaaa: 0xe0000f93, 0xaaab: 0xe0000f90, + 0xaaac: 0xe0000f9f, 0xaaad: 0xe0000f9c, 0xaaae: 0xe0000fb1, 0xaaaf: 0xe0000fae, + 0xaab0: 0xe0000fab, 0xaab1: 0xe0000fa8, 0xaab2: 0xe0001093, 0xaab3: 0xe0001090, + 0xaab4: 0xe000109f, 0xaab5: 0xe000109c, 0xaab6: 0xe0001099, 0xaab7: 0xe0001096, + 0xaab8: 0xe0003ce4, 0xaab9: 0xe0003ce1, 0xaaba: 0xe0001046, 0xaabb: 0xe0001042, + 0xaabc: 0xe00010a9, 0xaabd: 0xe00010a6, 0xaabe: 0xe00010af, 0xaabf: 0xe00010ac, + // Block 0x2ab, offset 0xaac0 + 0xaac0: 0xe00010d2, 0xaac1: 0xe00010cf, 0xaac2: 0xe00010cc, 0xaac3: 0xe00010c9, + 0xaac4: 0xe00010e1, 0xaac5: 0xe00010de, 0xaac6: 0xe00010e7, 0xaac7: 0xe00010e4, + 0xaac8: 0xe00010ed, 0xaac9: 0xe00010ea, 0xaaca: 0xe00010fc, 0xaacb: 0xe00010f9, + 0xaacc: 0xe00010f6, 0xaacd: 0xe00010f3, 0xaace: 0xe0001123, 0xaacf: 0xe0001120, + 0xaad0: 0xe0001141, 0xaad1: 0xe000113e, 0xaad2: 0xe0001153, 0xaad3: 0xe0001150, + 0xaad4: 0xe0001159, 0xaad5: 0xe0001156, 0xaad6: 0xe0000c15, 0xaad7: 0xe0000f8d, + 0xaad8: 0xe00010db, 0xaad9: 0xe0001111, 0xaada: 0xf0000404, 0xaadb: 0xe0000f70, + 0xaadc: 0x40300420, 0xaadd: 0x40300620, 0xaade: 0xe0000f7f, 0xaadf: 0x402c9620, + 0xaae0: 0xe000099b, 0xaae1: 0xe0000998, 0xaae2: 0xe0000989, 0xaae3: 0xe0000986, + 0xaae4: 0xe0003cae, 0xaae5: 0xe0003cab, 0xaae6: 0xe0000930, 0xaae7: 0xe000092c, + 0xaae8: 0xe0000940, 0xaae9: 0xe000093c, 0xaaea: 0xe0000938, 0xaaeb: 0xe0000934, + 0xaaec: 0xe00009aa, 0xaaed: 0xe00009a6, 0xaaee: 0xe0003ca8, 0xaaef: 0xe0003ca5, + 0xaaf0: 0xe000090a, 0xaaf1: 0xe0000906, 0xaaf2: 0xe000091a, 0xaaf3: 0xe0000916, + 0xaaf4: 0xe0000912, 0xaaf5: 0xe000090e, 0xaaf6: 0xe00009a2, 0xaaf7: 0xe000099e, + 0xaaf8: 0xe0000b6e, 0xaaf9: 0xe0000b6b, 0xaafa: 0xe0000b5c, 0xaafb: 0xe0000b59, + 0xaafc: 0xe0000b26, 0xaafd: 0xe0000b23, 0xaafe: 0xe0003cb4, 0xaaff: 0xe0003cb1, + // Block 0x2ac, offset 0xab00 + 0xab00: 0xe0000b03, 0xab01: 0xe0000aff, 0xab02: 0xe0000b13, 0xab03: 0xe0000b0f, + 0xab04: 0xe0000b0b, 0xab05: 0xe0000b07, 0xab06: 0xe0000b75, 0xab07: 0xe0000b71, + 0xab08: 0xe0000c66, 0xab09: 0xe0000c63, 0xab0a: 0xe0000c78, 0xab0b: 0xe0000c75, + 0xab0c: 0xe0000e84, 0xab0d: 0xe0000e81, 0xab0e: 0xe0000e44, 0xab0f: 0xe0000e41, + 0xab10: 0xe0003cc6, 0xab11: 0xe0003cc3, 0xab12: 0xe0000db5, 0xab13: 0xe0000db1, + 0xab14: 0xe0000dc5, 0xab15: 0xe0000dc1, 0xab16: 0xe0000dbd, 0xab17: 0xe0000db9, + 0xab18: 0xe0000e8b, 0xab19: 0xe0000e87, 0xab1a: 0xe0003cd8, 0xab1b: 0xe0003cd5, + 0xab1c: 0xe0000e65, 0xab1d: 0xe0000e61, 0xab1e: 0xe0000e75, 0xab1f: 0xe0000e71, + 0xab20: 0xe0000e6d, 0xab21: 0xe0000e69, 0xab22: 0xe0000e7d, 0xab23: 0xe0000e79, + 0xab24: 0xe000108d, 0xab25: 0xe000108a, 0xab26: 0xe000104d, 0xab27: 0xe000104a, + 0xab28: 0xe0003cea, 0xab29: 0xe0003ce7, 0xab2a: 0xe000106e, 0xab2b: 0xe000106a, + 0xab2c: 0xe000107e, 0xab2d: 0xe000107a, 0xab2e: 0xe0001076, 0xab2f: 0xe0001072, + 0xab30: 0xe0001086, 0xab31: 0xe0001082, 0xab32: 0xe0001108, 0xab33: 0xe0001105, + 0xab34: 0xe0001135, 0xab35: 0xe0001132, 0xab36: 0xe000112f, 0xab37: 0xe000112c, + 0xab38: 0xe000111d, 0xab39: 0xe000111a, 0xab3a: 0xe0000d0a, 0xab3b: 0xe0000d07, + 0xab3c: 0x0030d888, 0xab3d: 0x4030d820, 0xab3e: 0x00312088, 0xab3f: 0x40312020, + // Block 0x2ad, offset 0xab40 + 0xab40: 0x40021220, 0xab41: 0x40025c20, 0xab42: 0x40030420, 0xab43: 0x40051220, + 0xab44: 0x40279a20, 0xab45: 0x4027ca20, 0xab46: 0xe0002206, 0xab47: 0xe00001d3, + 0xab48: 0x40049c20, 0xab49: 0x40049e20, 0xab4a: 0x4004a020, 0xab4b: 0x4004a220, + 0xab4c: 0x4004a420, 0xab4d: 0x4004a620, 0xab4e: 0x4004a820, 0xab4f: 0x4004aa20, + 0xab50: 0x4004ac20, 0xab51: 0x4004ae20, 0xab52: 0x40279c20, 0xab53: 0x40279e20, + 0xab54: 0x4004b020, 0xab55: 0x4004b220, 0xab56: 0x4004b420, 0xab57: 0x4004b620, + 0xab58: 0x4004b820, 0xab59: 0x4004ba20, 0xab5a: 0x4004bc20, 0xab5b: 0x4004be20, + 0xab5c: 0x40023820, 0xab5d: 0x4003ea20, 0xab5e: 0x4003ec20, 0xab5f: 0x4003ee20, + 0xab60: 0x4027a020, 0xab61: 0xe0000267, 0xab62: 0xe000037f, 0xab63: 0xe0000459, + 0xab64: 0xe000052e, 0xab65: 0xe00005f8, 0xab66: 0xe00006c3, 0xab67: 0xe000076b, + 0xab68: 0xe0000817, 0xab69: 0xe00008bc, 0xab6a: 0xada12202, 0xab6b: 0xae412302, + 0xab6c: 0xae812402, 0xab6d: 0xade12502, 0xab6e: 0xae012602, 0xab6f: 0xae012702, + 0xab70: 0x40023a20, 0xab71: 0x4027ce20, 0xab72: 0xe0000152, 0xab73: 0x4027d020, + 0xab74: 0xe0000155, 0xab75: 0x4027d220, 0xab76: 0x00279c84, 0xab77: 0x4027a220, + 0xab78: 0x02a68284, 0xab79: 0x02a68884, 0xab7a: 0x02a68a84, 0xab7b: 0x4027cc20, + 0xab7c: 0xe000231a, 0xab7d: 0x40051420, 0xab7e: 0x4027a420, 0xab7f: 0x4027a620, + // Block 0x2ae, offset 0xab80 + 0xab81: 0xc64a3231, 0xab82: 0xc6503231, 0xab83: 0xc71a3231, + 0xab84: 0xc7203231, 0xab85: 0xc7d83a21, 0xab86: 0xc7e233e1, 0xab87: 0xc8c13231, + 0xab88: 0xc8c73231, 0xab89: 0xc9763231, 0xab8a: 0xc97c3231, 0xab8b: 0xc65c32b1, + 0xab8c: 0xc6693231, 0xab8d: 0xc72633e1, 0xab8e: 0xc73b3671, 0xab8f: 0xc80433e1, + 0xab90: 0xc8193671, 0xab91: 0xc8d332b1, 0xab92: 0xc8e03231, 0xab93: 0xc98233e1, + 0xab94: 0xc9973671, 0xab95: 0xc66f33e1, 0xab96: 0xc6843671, 0xab97: 0xc74833e1, + 0xab98: 0xc75d3671, 0xab99: 0xc82633e1, 0xab9a: 0xc83b3671, 0xab9b: 0xc8e633e1, + 0xab9c: 0xc8fb3671, 0xab9d: 0xc99f33e1, 0xab9e: 0xc9b43671, 0xab9f: 0xc68c33e1, + 0xaba0: 0xc6a13671, 0xaba1: 0xc76533e1, 0xaba2: 0xc77a3671, 0xaba3: 0xc8433a21, + 0xaba4: 0xc84d33e1, 0xaba5: 0xc8623671, 0xaba6: 0xc90333e1, 0xaba7: 0xc9183671, + 0xaba8: 0xc9c133e1, 0xaba9: 0xc9d63671, 0xabaa: 0xc6a93231, 0xabab: 0xc7823231, + 0xabac: 0xc86d3231, 0xabad: 0xc9203231, 0xabae: 0xc9de3231, 0xabaf: 0xc6b436f1, + 0xabb0: 0xc6cf3671, 0xabb1: 0xc6d73671, 0xabb2: 0xc78d36f1, 0xabb3: 0xc7a83671, + 0xabb4: 0xc7b03671, 0xabb5: 0xc87836f1, 0xabb6: 0xc8933671, 0xabb7: 0xc89b3671, + 0xabb8: 0xc92b36f1, 0xabb9: 0xc9463671, 0xabba: 0xc94e3671, 0xabbb: 0xc9e936f1, + 0xabbc: 0xca043671, 0xabbd: 0xca0c3671, 0xabbe: 0xc6df3231, 0xabbf: 0xc7b83231, + // Block 0x2af, offset 0xabc0 + 0xabc0: 0xc8a63231, 0xabc1: 0xc9563231, 0xabc2: 0xca143231, 0xabc3: 0xc6e53231, + 0xabc4: 0xc6eb3231, 0xabc5: 0xc8ac3231, 0xabc6: 0xc8b23231, 0xabc7: 0xca1a3231, + 0xabc8: 0xca203231, 0xabc9: 0xc6f43231, 0xabca: 0xc7c13231, 0xabcb: 0xc8bb3231, + 0xabcc: 0xc95f3231, 0xabcd: 0xca293231, 0xabce: 0xc6fa3a21, 0xabcf: 0xc7043a21, + 0xabd0: 0xc7c73a21, 0xabd1: 0xc9653a21, 0xabd2: 0xca2f3a21, 0xabd3: 0xca453ab1, + 0xabd4: 0xc7f73671, 0xabd5: 0xc6563231, 0xabd6: 0xc8cd3231, + 0xabd9: 0xa0812802, 0xabda: 0xa0812902, 0xabdb: 0x40063c20, + 0xabdc: 0x40063e20, 0xabdd: 0x4027d820, 0xabde: 0xe000015b, 0xabdf: 0xe0004033, + 0xabe0: 0x40023c20, 0xabe1: 0xc64d3281, 0xabe2: 0xc6533281, 0xabe3: 0xc71d3281, + 0xabe4: 0xc7233281, 0xabe5: 0xc7dd3601, 0xabe6: 0xc7ea3501, 0xabe7: 0xc8c43281, + 0xabe8: 0xc8ca3281, 0xabe9: 0xc9793281, 0xabea: 0xc97f3281, 0xabeb: 0xc6613361, + 0xabec: 0xc66c3281, 0xabed: 0xc72e3501, 0xabee: 0xc73f36c1, 0xabef: 0xc80c3501, + 0xabf0: 0xc81d36c1, 0xabf1: 0xc8d83361, 0xabf2: 0xc8e33281, 0xabf3: 0xc98a3501, + 0xabf4: 0xc99b36c1, 0xabf5: 0xc6773501, 0xabf6: 0xc68836c1, 0xabf7: 0xc7503501, + 0xabf8: 0xc76136c1, 0xabf9: 0xc82e3501, 0xabfa: 0xc83f36c1, 0xabfb: 0xc8ee3501, + 0xabfc: 0xc8ff36c1, 0xabfd: 0xc9a73501, 0xabfe: 0xc9b836c1, 0xabff: 0xc6943501, + // Block 0x2b0, offset 0xac00 + 0xac00: 0xc6a536c1, 0xac01: 0xc76d3501, 0xac02: 0xc77e36c1, 0xac03: 0xc8483601, + 0xac04: 0xc8553501, 0xac05: 0xc86636c1, 0xac06: 0xc90b3501, 0xac07: 0xc91c36c1, + 0xac08: 0xc9c93501, 0xac09: 0xc9da36c1, 0xac0a: 0xc6ac3281, 0xac0b: 0xc7853281, + 0xac0c: 0xc8703281, 0xac0d: 0xc9233281, 0xac0e: 0xc9e13281, 0xac0f: 0xc6bf38a1, + 0xac10: 0xc6d336c1, 0xac11: 0xc6db36c1, 0xac12: 0xc79838a1, 0xac13: 0xc7ac36c1, + 0xac14: 0xc7b436c1, 0xac15: 0xc88338a1, 0xac16: 0xc89736c1, 0xac17: 0xc89f36c1, + 0xac18: 0xc93638a1, 0xac19: 0xc94a36c1, 0xac1a: 0xc95236c1, 0xac1b: 0xc9f438a1, + 0xac1c: 0xca0836c1, 0xac1d: 0xca1036c1, 0xac1e: 0xc6e23281, 0xac1f: 0xc7bb3281, + 0xac20: 0xc8a93281, 0xac21: 0xc9593281, 0xac22: 0xca173281, 0xac23: 0xc6e83281, + 0xac24: 0xc6ee3281, 0xac25: 0xc8af3281, 0xac26: 0xc8b53281, 0xac27: 0xca1d3281, + 0xac28: 0xca233281, 0xac29: 0xc6f73281, 0xac2a: 0xc7c43281, 0xac2b: 0xc8be3281, + 0xac2c: 0xc9623281, 0xac2d: 0xca2c3281, 0xac2e: 0xc6ff3601, 0xac2f: 0xc7093501, + 0xac30: 0xc7cc3501, 0xac31: 0xc96a3501, 0xac32: 0xca343501, 0xac33: 0xca453ae1, + 0xac34: 0xc7fb36c1, 0xac35: 0xc6593281, 0xac36: 0xc8d03281, 0xac37: 0xc71636c1, + 0xac38: 0xc7d436c1, 0xac39: 0xc97236c1, 0xac3a: 0xca4136c1, 0xac3b: 0x40023e20, + 0xac3c: 0x4027d620, 0xac3d: 0x4027d820, 0xac3e: 0xe000015b, 0xac3f: 0xe0003eda, + // Block 0x2b1, offset 0xac40 + 0xac45: 0x4065da20, 0xac46: 0x4065dc20, 0xac47: 0x4065de20, + 0xac48: 0x4065e020, 0xac49: 0x4065e420, 0xac4a: 0x4065e620, 0xac4b: 0x4065e820, + 0xac4c: 0x4065ea20, 0xac4d: 0x4065ec20, 0xac4e: 0x4065ee20, 0xac4f: 0x4065f420, + 0xac50: 0x4065f620, 0xac51: 0x4065f820, 0xac52: 0x4065fa20, 0xac53: 0x4065fe20, + 0xac54: 0x40660020, 0xac55: 0x40660220, 0xac56: 0x40660420, 0xac57: 0x40660620, + 0xac58: 0x40660820, 0xac59: 0x40660a20, 0xac5a: 0x40661220, 0xac5b: 0x40661420, + 0xac5c: 0x40661820, 0xac5d: 0x40661a20, 0xac5e: 0x40661e20, 0xac5f: 0x40662020, + 0xac60: 0x40662220, 0xac61: 0x40662420, 0xac62: 0x40662620, 0xac63: 0x40662820, + 0xac64: 0x40662a20, 0xac65: 0x40662e20, 0xac66: 0x40663620, 0xac67: 0x40663820, + 0xac68: 0x40663a20, 0xac69: 0x40663c20, 0xac6a: 0x4065e220, 0xac6b: 0x4065f020, + 0xac6c: 0x4065fc20, 0xac6d: 0x40663e20, + 0xac71: 0x4062ac20, 0xac72: 0x4062ae20, 0xac73: 0x40646820, + 0xac74: 0x4062b020, 0xac75: 0x40646c20, 0xac76: 0x40646e20, 0xac77: 0x4062b220, + 0xac78: 0x4062b420, 0xac79: 0x4062b620, 0xac7a: 0x40647420, 0xac7b: 0x40647620, + 0xac7c: 0x40647820, 0xac7d: 0x40647a20, 0xac7e: 0x40647c20, 0xac7f: 0x40647e20, + // Block 0x2b2, offset 0xac80 + 0xac80: 0x4062e020, 0xac81: 0x4062b820, 0xac82: 0x4062ba20, 0xac83: 0x4062bc20, + 0xac84: 0x4062ee20, 0xac85: 0x4062be20, 0xac86: 0x4062c020, 0xac87: 0x4062c220, + 0xac88: 0x4062c420, 0xac89: 0x4062c620, 0xac8a: 0x4062c820, 0xac8b: 0x4062ca20, + 0xac8c: 0x4062cc20, 0xac8d: 0x4062ce20, 0xac8e: 0x4062d020, 0xac8f: 0x4063a820, + 0xac90: 0x4063aa20, 0xac91: 0x4063ac20, 0xac92: 0x4063ae20, 0xac93: 0x4063b020, + 0xac94: 0x4063b220, 0xac95: 0x4063b420, 0xac96: 0x4063b620, 0xac97: 0x4063b820, + 0xac98: 0x4063ba20, 0xac99: 0x4063bc20, 0xac9a: 0x4063be20, 0xac9b: 0x4063c020, + 0xac9c: 0x4063c220, 0xac9d: 0x4063c420, 0xac9e: 0x4063c620, 0xac9f: 0x4063c820, + 0xaca0: 0x4063ca20, 0xaca1: 0x4063cc20, 0xaca2: 0x4063ce20, 0xaca3: 0x4063d020, + 0xaca4: 0x4063a620, 0xaca5: 0x0062d484, 0xaca6: 0x0062d684, 0xaca7: 0x0064a284, + 0xaca8: 0x0064a484, 0xaca9: 0x0064ac84, 0xacaa: 0x0064b084, 0xacab: 0x0064ba84, + 0xacac: 0x0064c284, 0xacad: 0x0064c684, 0xacae: 0x0062e484, 0xacaf: 0x0064ce84, + 0xacb0: 0x0064d284, 0xacb1: 0x0062e684, 0xacb2: 0x0062e884, 0xacb3: 0x0062ec84, + 0xacb4: 0x0062f084, 0xacb5: 0x0062f284, 0xacb6: 0x0062fa84, 0xacb7: 0x0062fe84, + 0xacb8: 0x00630284, 0xacb9: 0x00630484, 0xacba: 0x00630684, 0xacbb: 0x00630884, + 0xacbc: 0x00630a84, 0xacbd: 0x00631084, 0xacbe: 0x00631884, 0xacbf: 0x00632c84, + // Block 0x2b3, offset 0xacc0 + 0xacc0: 0x40275220, 0xacc1: 0x40275420, 0xacc2: 0x40275620, 0xacc3: 0x40275820, + 0xacc4: 0x40275a20, 0xacc5: 0x40275c20, 0xacc6: 0x40275e20, 0xacc7: 0x40276020, + 0xacc8: 0x40276220, 0xacc9: 0x40276420, 0xacca: 0x40276620, 0xaccb: 0x40276820, + 0xaccc: 0x40276a20, 0xaccd: 0x40276c20, 0xacce: 0x40276e20, 0xaccf: 0x40277020, + 0xacd0: 0x40277220, 0xacd1: 0x40277420, 0xacd2: 0x40277620, 0xacd3: 0x40277820, + 0xacd4: 0x40277a20, 0xacd5: 0x40277c20, 0xacd6: 0x40277e20, 0xacd7: 0x40278020, + 0xacd8: 0x40278220, 0xacd9: 0x40278420, 0xacda: 0x40278620, 0xacdb: 0x40278820, + 0xacdc: 0x40278a20, 0xacdd: 0x40278c20, 0xacde: 0x40278e20, 0xacdf: 0x40279020, + 0xace0: 0x40279220, 0xace1: 0x40279420, 0xace2: 0x40279620, 0xace3: 0x40279820, + 0xacf0: 0xc7ff3601, 0xacf1: 0xc7433601, 0xacf2: 0xc8213601, 0xacf3: 0xc9bc3601, + 0xacf4: 0xc86a3281, 0xacf5: 0xc6af3601, 0xacf6: 0xc7883601, 0xacf7: 0xc8733601, + 0xacf8: 0xc9263601, 0xacf9: 0xc9e43601, 0xacfa: 0xc8a33281, 0xacfb: 0xc6f13281, + 0xacfc: 0xc7be3281, 0xacfd: 0xc8b83281, 0xacfe: 0xc95c3281, 0xacff: 0xca263281, + // Block 0x2b4, offset 0xad00 + 0xad00: 0xf0000404, 0xad01: 0xf0000404, 0xad02: 0xf0000404, 0xad03: 0xf0000404, + 0xad04: 0xf0000404, 0xad05: 0xf0000404, 0xad06: 0xf0000404, 0xad07: 0xf0000404, + 0xad08: 0xf0000404, 0xad09: 0xf0000404, 0xad0a: 0xf0000404, 0xad0b: 0xf0000404, + 0xad0c: 0xf0000404, 0xad0d: 0xf0000404, 0xad0e: 0xe000004c, 0xad0f: 0xe0000051, + 0xad10: 0xe0000056, 0xad11: 0xe000005b, 0xad12: 0xe0000060, 0xad13: 0xe0000065, + 0xad14: 0xe000006a, 0xad15: 0xe000006f, 0xad16: 0xe0000083, 0xad17: 0xe000008d, + 0xad18: 0xe0000092, 0xad19: 0xe0000097, 0xad1a: 0xe000009c, 0xad1b: 0xe00000a1, + 0xad1c: 0xe0000088, 0xad1d: 0xe0000074, 0xad1e: 0xe000007c, + 0xad20: 0xe0002c96, 0xad21: 0xe0002ca6, 0xad22: 0xe0002c9e, 0xad23: 0xe0002cd6, + 0xad24: 0xe0002caa, 0xad25: 0xe0002cbe, 0xad26: 0xe0002c9a, 0xad27: 0xe0002cba, + 0xad28: 0xe0002ca2, 0xad29: 0xe0002cc6, 0xad2a: 0xe0002ce6, 0xad2b: 0xe0002cfa, + 0xad2c: 0xe0002cf6, 0xad2d: 0xe0002cee, 0xad2e: 0xe0002d22, 0xad2f: 0xe0002cda, + 0xad30: 0xe0002ce2, 0xad31: 0xe0002cf2, 0xad32: 0xe0002cea, 0xad33: 0xe0002d06, + 0xad34: 0xe0002cce, 0xad35: 0xe0002cfe, 0xad36: 0xe0002d1a, 0xad37: 0xe0002d0a, + 0xad38: 0xe0002cc2, 0xad39: 0xe0002cae, 0xad3a: 0xe0002cd2, 0xad3b: 0xe0002cde, + 0xad3c: 0xe0002d02, 0xad3d: 0xe0002cb2, 0xad3e: 0xe0002d1e, 0xad3f: 0xe0002cca, + // Block 0x2b5, offset 0xad40 + 0xad40: 0xe0002d0e, 0xad41: 0xe0002cb6, 0xad42: 0xe0002d12, 0xad43: 0xe0002d16, + 0xad44: 0x02aa9e86, 0xad45: 0x02bcf886, 0xad46: 0x02cb0e86, 0xad47: 0x02f71e86, + 0xad48: 0xe00002e3, 0xad49: 0xe00003d8, 0xad4a: 0xe00004b3, 0xad4b: 0xe000057d, + 0xad4c: 0xe0000648, 0xad4d: 0xe00006f0, 0xad4e: 0xe000079c, 0xad4f: 0xe0000841, + 0xad50: 0xe0000ec0, 0xad51: 0xf0000606, 0xad52: 0xf0000606, 0xad53: 0xf0000606, + 0xad54: 0xf0000606, 0xad55: 0xf0000606, 0xad56: 0xf0000606, 0xad57: 0xf0000606, + 0xad58: 0xf0000606, 0xad59: 0xf0000606, 0xad5a: 0xf0000606, 0xad5b: 0xf0000606, + 0xad5c: 0xf0000606, 0xad5d: 0xf0000606, 0xad5e: 0xf0000606, 0xad5f: 0xf0000606, + 0xad60: 0x0062ac86, 0xad61: 0x0062b086, 0xad62: 0x0062b286, 0xad63: 0x0062b686, + 0xad64: 0x0062b886, 0xad65: 0x0062ba86, 0xad66: 0x0062be86, 0xad67: 0x0062c286, + 0xad68: 0x0062c486, 0xad69: 0x0062c886, 0xad6a: 0x0062ca86, 0xad6b: 0x0062cc86, + 0xad6c: 0x0062ce86, 0xad6d: 0x0062d086, 0xad6e: 0xf0000606, 0xad6f: 0xf0000606, + 0xad70: 0xf0000606, 0xad71: 0xf0000606, 0xad72: 0xf0000606, 0xad73: 0xf0000606, + 0xad74: 0xf0000606, 0xad75: 0xf0000606, 0xad76: 0xf0000606, 0xad77: 0xf0000606, + 0xad78: 0xf0000606, 0xad79: 0xf0000606, 0xad7a: 0xf0000606, 0xad7b: 0xf0000606, + 0xad7c: 0xe0002127, 0xad7d: 0xe0002122, 0xad7e: 0xf0000606, 0xad7f: 0x4027ac20, + // Block 0x2b6, offset 0xad80 + 0xad80: 0xe0002dea, 0xad81: 0xe0002e57, 0xad82: 0xe0002e8c, 0xad83: 0xe0002eb9, + 0xad84: 0xe0002ecb, 0xad85: 0xe0002eda, 0xad86: 0xe0002ee9, 0xad87: 0xe0002ef8, + 0xad88: 0xe0002f07, 0xad89: 0xe0002d50, 0xad8a: 0xe0002d63, 0xad8b: 0xe0002d76, + 0xad8c: 0xf0001c1d, 0xad8d: 0xe0000b85, 0xad8e: 0xf0001d1c, 0xad8f: 0xe0000d14, + 0xad90: 0x00657693, 0xad91: 0x00657893, 0xad92: 0x00657a93, 0xad93: 0x00657e93, + 0xad94: 0x00658093, 0xad95: 0x00658293, 0xad96: 0x00658493, 0xad97: 0x00658693, + 0xad98: 0x00658893, 0xad99: 0x00658a93, 0xad9a: 0x00658c93, 0xad9b: 0x00658e93, + 0xad9c: 0x00659093, 0xad9d: 0x00659293, 0xad9e: 0x00659493, 0xad9f: 0x00659693, + 0xada0: 0x00659893, 0xada1: 0x00659a93, 0xada2: 0x00659c93, 0xada3: 0x00659e93, + 0xada4: 0x0065a093, 0xada5: 0x0065a293, 0xada6: 0x0065a493, 0xada7: 0x0065a693, + 0xada8: 0x0065a893, 0xada9: 0x0065aa93, 0xadaa: 0x0065ac93, 0xadab: 0x0065ae93, + 0xadac: 0x0065b093, 0xadad: 0x0065b293, 0xadae: 0x0065b493, 0xadaf: 0x0065b693, + 0xadb0: 0x0065b893, 0xadb1: 0x0065ba93, 0xadb2: 0x0065bc93, 0xadb3: 0x0065be93, + 0xadb4: 0x0065c093, 0xadb5: 0x0065c493, 0xadb6: 0x0065c693, 0xadb7: 0x0065c893, + 0xadb8: 0x0065ca93, 0xadb9: 0x0065cc93, 0xadba: 0x0065ce93, 0xadbb: 0x0065d093, + 0xadbc: 0x0065d293, 0xadbd: 0x0065d493, 0xadbe: 0x0065d693, + // Block 0x2b7, offset 0xadc0 + 0xadc0: 0xe000230b, 0xadc1: 0xe00022f8, 0xadc2: 0xe00022fc, 0xadc3: 0xe0002311, + 0xadc4: 0xe0002316, 0xadc5: 0xe000231d, 0xadc6: 0xe0002321, 0xadc7: 0xe0002325, + 0xadc8: 0xe000232b, 0xadc9: 0xf0001c1c, 0xadca: 0xe0002330, 0xadcb: 0xe000233c, + 0xadcc: 0xe0002340, 0xadcd: 0xe0002337, 0xadce: 0xe0002346, 0xadcf: 0xe000234b, + 0xadd0: 0xe000234f, 0xadd1: 0xe0002353, 0xadd2: 0xf0001c1c, 0xadd3: 0xe000235e, + 0xadd4: 0xe0002358, 0xadd5: 0xf0001c1c, 0xadd6: 0xe0002363, 0xadd7: 0xe000236d, + 0xadd8: 0xe0002d39, 0xadd9: 0xe0002ded, 0xadda: 0xe0002e5a, 0xaddb: 0xe0002e8f, + 0xaddc: 0xe0002ebc, 0xaddd: 0xe0002ece, 0xadde: 0xe0002edd, 0xaddf: 0xe0002eec, + 0xade0: 0xe0002efb, 0xade1: 0xe0002f0a, 0xade2: 0xe0002d54, 0xade3: 0xe0002d67, + 0xade4: 0xe0002d7a, 0xade5: 0xe0002d89, 0xade6: 0xe0002d98, 0xade7: 0xe0002da7, + 0xade8: 0xe0002db6, 0xade9: 0xe0002dc5, 0xadea: 0xe0002dd4, 0xadeb: 0xe0002de3, + 0xadec: 0xe0002e01, 0xaded: 0xe0002e0c, 0xadee: 0xe0002e17, 0xadef: 0xe0002e22, + 0xadf0: 0xe0002e2d, 0xadf1: 0xe0000c1e, 0xadf2: 0xf0001c1c, 0xadf3: 0xf0001d1d, + 0xadf4: 0xe0000a31, 0xadf5: 0xf0001d1c, 0xadf6: 0xf0001c1c, 0xadf7: 0xf0001c1c, + 0xadf8: 0xe0000ac2, 0xadf9: 0xe0000ac6, 0xadfa: 0xf0001d1d, 0xadfb: 0xe0004091, + 0xadfc: 0xe0004097, 0xadfd: 0xe000408e, 0xadfe: 0xe0004094, 0xadff: 0xe0002431, + // Block 0x2b8, offset 0xae00 + 0xae00: 0xf0001d1c, 0xae01: 0xf0001d1d, 0xae02: 0xe00009b7, 0xae03: 0xf0001c1d, + 0xae04: 0xf0001c1c, 0xae05: 0xf0001c1c, 0xae06: 0xe0000a66, 0xae07: 0xe0000a7a, + 0xae08: 0xf0001d1c, 0xae09: 0xf0001c1d, 0xae0a: 0xf0001c1c, 0xae0b: 0xf0001d1d, + 0xae0c: 0xf0001c1c, 0xae0d: 0xf0001d1d, 0xae0e: 0xf0001d1d, 0xae0f: 0xf0001c1c, + 0xae10: 0xf0001c1c, 0xae11: 0xf0001c1c, 0xae12: 0xe0000d0d, 0xae13: 0xf0001c1c, + 0xae14: 0xf0001c1c, 0xae15: 0xe0000d3a, 0xae16: 0xe0000d46, 0xae17: 0xf0001d1d, + 0xae18: 0xe0000eb0, 0xae19: 0xe0000eb8, 0xae1a: 0xf0001d1d, 0xae1b: 0xf0001c1c, + 0xae1c: 0xf0001c1d, 0xae1d: 0xf0001c1d, 0xae1e: 0xe00010b2, 0xae1f: 0xe00009c8, + 0xae20: 0xe0002de7, 0xae21: 0xe0002e54, 0xae22: 0xe0002e89, 0xae23: 0xe0002eb6, + 0xae24: 0xe0002ec8, 0xae25: 0xe0002ed7, 0xae26: 0xe0002ee6, 0xae27: 0xe0002ef5, + 0xae28: 0xe0002f04, 0xae29: 0xe0002d4c, 0xae2a: 0xe0002d5f, 0xae2b: 0xe0002d72, + 0xae2c: 0xe0002d85, 0xae2d: 0xe0002d94, 0xae2e: 0xe0002da3, 0xae2f: 0xe0002db2, + 0xae30: 0xe0002dc1, 0xae31: 0xe0002dd0, 0xae32: 0xe0002ddf, 0xae33: 0xe0002dfd, + 0xae34: 0xe0002e08, 0xae35: 0xe0002e13, 0xae36: 0xe0002e1e, 0xae37: 0xe0002e29, + 0xae38: 0xe0002e34, 0xae39: 0xe0002e3b, 0xae3a: 0xe0002e42, 0xae3b: 0xe0002e49, + 0xae3c: 0xe0002e50, 0xae3d: 0xe0002e66, 0xae3e: 0xe0002e6d, 0xae3f: 0xe0000bdf, + // Block 0x2b9, offset 0xae40 + 0xae40: 0x6c009820, 0xae41: 0x6c0ea820, 0xae43: 0x6c08fe20, + 0xae47: 0x6c148c20, + 0xae48: 0x6c0ad420, 0xae49: 0x6c083420, 0xae4a: 0x6c0ad220, 0xae4b: 0x6c01b020, + 0xae4d: 0x6c12c420, 0xae4e: 0x6c158a20, + 0xae50: 0x6c172e20, 0xae51: 0x6c00da20, + 0xae54: 0x6c02d020, 0xae55: 0x6c173020, 0xae56: 0x6c0bc820, 0xae57: 0x6c18e620, + 0xae58: 0x6c041820, 0xae59: 0x6c134c20, + 0xae5e: 0x6c0ad620, + 0xae61: 0x6c164420, + 0xae66: 0x6c135c20, + 0xae6a: 0x6c173220, + 0xae6d: 0x6c0e8020, + 0xae71: 0x6c173420, 0xae72: 0x6c051c20, + 0xae76: 0x6c173620, + 0xae78: 0x6c036a20, 0xae79: 0x6c0e1420, 0xae7b: 0x6c095e20, + 0xae7c: 0x6c173820, 0xae7f: 0x6c173a20, + // Block 0x2ba, offset 0xae80 + 0xae82: 0x6c173c20, 0xae83: 0x6c110e20, + 0xae85: 0x6c041a20, + 0xae8b: 0x6c111220, + 0xae8d: 0x6c10ae20, 0xae8e: 0x6c062620, 0xae8f: 0x6c13fa20, + 0xae95: 0x6c29d820, 0xae96: 0x6c173e20, 0xae97: 0x6c0ad820, + 0xae98: 0x6c174020, 0xae99: 0x6c01a220, + 0xae9d: 0x6c04f220, 0xae9e: 0x6c068020, 0xae9f: 0x6c152220, + 0xaea2: 0x6c1b9e20, + 0xaeb1: 0x6c15ec20, 0xaeb3: 0x6c10e220, + 0xaebe: 0x6c02fa20, + // Block 0x2bb, offset 0xaec0 + 0xaec0: 0x6c03d620, 0xaec2: 0x6c174220, + 0xaec5: 0x6c174420, 0xaec6: 0x6c163e20, + 0xaec8: 0x6c158620, 0xaec9: 0x6c0d0c20, 0xaeca: 0x6c174820, 0xaecb: 0x6c08c020, + 0xaecc: 0x6c10ce20, 0xaece: 0x6c174e20, + 0xaed1: 0x6c00f820, 0xaed2: 0x6c065e20, + 0xaed4: 0x6c065c20, 0xaed5: 0x6c008c20, + 0xaed8: 0x6c171a20, 0xaed9: 0x6c171820, 0xaedb: 0x6c077e20, + 0xaedc: 0x6c000220, 0xaede: 0x6c175020, 0xaedf: 0x6c175220, + 0xaee0: 0x6c175420, 0xaee1: 0x6c13fc20, 0xaee2: 0x6c175620, + 0xaee4: 0x6c068420, 0xaee5: 0x6c008e20, 0xaee6: 0x6c147820, + 0xaee8: 0x6c046420, 0xaeeb: 0x6c046620, + 0xaeec: 0x6c046820, 0xaeed: 0x6c0f3420, 0xaeee: 0x6c164020, + 0xaef0: 0x6c175820, 0xaef3: 0x6c175a20, + 0xaef6: 0x6c175c20, + 0xaefa: 0x6c0b5e20, + // Block 0x2bc, offset 0xaf00 + 0xaf00: 0x6c09c020, 0xaf01: 0x6c0b6020, 0xaf02: 0x6c176620, + 0xaf04: 0x6c176220, 0xaf06: 0x6c176420, 0xaf07: 0x6c041c20, + 0xaf0a: 0x6c075e20, 0xaf0b: 0x6c021820, + 0xaf0d: 0x6c176020, 0xaf0e: 0x6c175e20, 0xaf0f: 0x6c132a20, + 0xaf14: 0x6c086020, 0xaf15: 0x6c085e20, 0xaf16: 0x6c0d7420, 0xaf17: 0x6c176820, + 0xaf18: 0x6c12c620, 0xaf19: 0x6c0c4e20, + 0xaf1e: 0x6c176a20, 0xaf1f: 0x6c176e20, + 0xaf23: 0x6c0dc220, + 0xaf24: 0x6c168a20, 0xaf25: 0x6c005420, + 0xaf2d: 0x6c176c20, 0xaf2e: 0x6c01b420, + 0xaf30: 0x6c04b020, 0xaf32: 0x6c0e8220, + 0xaf36: 0x6c05c220, 0xaf37: 0x6c177020, + 0xaf3b: 0x6c10ec20, + // Block 0x2bd, offset 0xaf40 + 0xaf41: 0x6c038620, + 0xaf49: 0x6c177220, 0xaf4a: 0x6c005620, + 0xaf4d: 0x6c066020, 0xaf4e: 0x6c038820, 0xaf4f: 0x6c131020, + 0xaf50: 0x6c11c420, 0xaf51: 0x6c041e20, + 0xaf5a: 0x6c021a20, + 0xaf5c: 0x6c17b820, 0xaf5d: 0x6c0fae20, + 0xaf6f: 0x6c117c20, + 0xaf70: 0x6c177620, + 0xaf74: 0x6c11d820, 0xaf76: 0x6c168c20, + 0xaf78: 0x6c0b1e20, 0xaf7a: 0x6c086220, + 0xaf7c: 0x6c08c220, 0xaf7d: 0x6c01b820, + // Block 0x2be, offset 0xaf80 + 0xaf83: 0x6c0f1220, + 0xaf86: 0x6c0df820, 0xaf87: 0x6c177e20, + 0xaf8d: 0x6c005820, 0xaf8e: 0x6c0f3620, 0xaf8f: 0x6c09c220, + 0xaf90: 0x6c078020, 0xaf91: 0x6c155420, 0xaf93: 0x6c0d9420, + 0xaf95: 0x6c01b620, 0xaf97: 0x6c177c20, + 0xaf99: 0x6c158820, 0xaf9a: 0x6c177420, 0xaf9b: 0x6c177820, + 0xaf9c: 0x6c07f420, 0xaf9d: 0x6c177a20, 0xaf9e: 0x6c1ade20, + 0xafa9: 0x6c178a20, + 0xafaf: 0x6c179020, + 0xafb0: 0x6c178c20, 0xafb3: 0x6c01bc20, + 0xafb5: 0x6c134e20, 0xafb6: 0x6c178020, + 0xafbb: 0x6c178820, + 0xafbc: 0x6c068620, 0xafbf: 0x6c086420, + // Block 0x2bf, offset 0xafc0 + 0xafc3: 0x6c02fc20, + 0xafc6: 0x6c179220, + 0xafc8: 0x6c178220, 0xafcb: 0x6c168e20, + 0xafcd: 0x6c08c420, 0xafcf: 0x6c178420, + 0xafd1: 0x6c178e20, + 0xafd6: 0x6c179420, + 0xafd8: 0x6c178620, 0xafdb: 0x6c046a20, + 0xafdd: 0x6c005a20, + 0xafe0: 0x6c046c20, 0xafe1: 0x6c01ba20, + 0xafeb: 0x6c1ae020, + 0xafed: 0x6c148620, 0xafee: 0x6c12f820, 0xafef: 0x6c068820, + 0xaff5: 0x6c0b2220, 0xaff6: 0x6c163620, + 0xafff: 0x6c138820, + // Block 0x2c0, offset 0xb000 + 0xb002: 0x6c055420, 0xb003: 0x6c0d4220, + 0xb004: 0x6c020020, + 0xb00a: 0x6c09f220, + 0xb00e: 0x6c179c20, + 0xb010: 0x6c17a620, 0xb011: 0x6c17a220, + 0xb014: 0x6c179820, 0xb017: 0x6c0d5620, + 0xb018: 0x6c179e20, 0xb01a: 0x6c17a420, 0xb01b: 0x6c17a020, + 0xb01d: 0x6c139220, 0xb01f: 0x6c179a20, + 0xb021: 0x6c0b2020, 0xb023: 0x6c147a20, + 0xb024: 0x6c17a820, 0xb025: 0x6c17aa20, + 0xb02e: 0x6c099420, 0xb02f: 0x6c17c420, + 0xb033: 0x6c114420, + 0xb035: 0x6c128820, 0xb036: 0x6c17ba20, + 0xb038: 0x6c13b820, 0xb03a: 0x6c01a420, + 0xb03e: 0x6c17c220, + // Block 0x2c1, offset 0xb040 + 0xb045: 0x6c17b620, 0xb046: 0x6c17c820, + 0xb049: 0x6c0ce020, 0xb04b: 0x6c062820, + 0xb04d: 0x6c115c20, 0xb04f: 0x6c233820, + 0xb051: 0x6c17c620, 0xb052: 0x6c0fe620, + 0xb054: 0x6c17b020, 0xb056: 0x6c068c20, + 0xb059: 0x6c068a20, 0xb05a: 0x6c17ac20, + 0xb05f: 0x6c094420, + 0xb061: 0x6c17bc20, 0xb063: 0x6c13b620, + 0xb064: 0x6c0e4e20, 0xb065: 0x6c17b420, 0xb066: 0x6c05c620, + 0xb068: 0x6c17ae20, 0xb069: 0x6c17be20, 0xb06a: 0x6c17b220, 0xb06b: 0x6c166a20, + 0xb06c: 0x6c17c020, 0xb06d: 0x6c170620, + 0xb076: 0x6c04f420, + 0xb079: 0x6c05c420, + // Block 0x2c2, offset 0xb080 + 0xb083: 0x6c17ca20, + 0xb087: 0x6c17cc20, + 0xb088: 0x6c17d420, 0xb089: 0x6c005c20, + 0xb08f: 0x6c137820, + 0xb090: 0x6c17d220, + 0xb095: 0x6c17d020, 0xb096: 0x6c17d820, + 0xb09a: 0x6c17d620, + 0xb09c: 0x6c0f3820, + 0xb0a5: 0x6c05c820, + 0xb0ac: 0x6c17da20, + 0xb0b2: 0x6c091a20, + 0xb0b4: 0x6c0d4420, 0xb0b5: 0x6c0f3a20, 0xb0b6: 0x6c051420, + 0xb0b8: 0x6c17dc20, + 0xb0bd: 0x6c03d820, + // Block 0x2c3, offset 0xb0c0 + 0xb0c0: 0x6c17de20, + 0xb0c5: 0x6c17e220, + 0xb0cd: 0x6c13fe20, + 0xb0d1: 0x6c05b020, + 0xb0d8: 0x6c083620, 0xb0d9: 0x6c124e20, 0xb0da: 0x6c17e020, + 0xb0ec: 0x6c07a220, 0xb0ed: 0x6c159220, + 0xb0f2: 0x6c17e620, 0xb0f3: 0x6c17ec20, + 0xb0f4: 0x6c17e420, 0xb0f5: 0x6c07a020, 0xb0f7: 0x6c0a4620, + 0xb0fe: 0x6c055620, + // Block 0x2c4, offset 0xb100 + 0xb102: 0x6c17ee20, + 0xb105: 0x6c04c620, + 0xb109: 0x6c17e820, 0xb10a: 0x6c17ea20, + 0xb10d: 0x6c104620, 0xb10f: 0x6c0d3420, + 0xb111: 0x6c046e20, + 0xb115: 0x6c142e20, 0xb116: 0x6c17f020, + 0xb11a: 0x6c164220, + 0xb11e: 0x6c17f220, + 0xb123: 0x6c17f820, + 0xb125: 0x6c17f420, 0xb127: 0x6c0cd820, + 0xb12d: 0x6c17f620, 0xb12e: 0x6c17fa20, + 0xb135: 0x6c17fe20, + 0xb139: 0x6c17fc20, 0xb13b: 0x6c136820, + // Block 0x2c5, offset 0xb140 + 0xb140: 0x6c03da20, 0xb141: 0x6c180220, 0xb142: 0x6c180420, + 0xb144: 0x6c019620, + 0xb149: 0x6c180020, + 0xb152: 0x6c097820, + 0xb154: 0x6c180a20, 0xb155: 0x6c180820, 0xb156: 0x6c180620, + 0xb158: 0x6c179620, 0xb15a: 0x6c180c20, + 0xb15f: 0x6c0a4820, + 0xb161: 0x6c180e20, + 0xb16a: 0x6c155620, + 0xb172: 0x6c150220, + 0xb177: 0x6c181220, + 0xb17a: 0x6c181020, 0xb17b: 0x6c181620, + 0xb17c: 0x6c181420, 0xb17f: 0x6c181820, + // Block 0x2c6, offset 0xb180 + 0xb180: 0x6c181a20, 0xb181: 0x6c00a820, 0xb183: 0x6c060a20, + 0xb184: 0x6c055a20, 0xb185: 0x6c09c420, 0xb186: 0x6c0eaa20, 0xb187: 0x6c047020, + 0xb188: 0x6c0c5020, 0xb189: 0x6c068e20, 0xb18b: 0x6c073820, + 0xb18c: 0x6c181e20, 0xb18d: 0x6c14e020, 0xb18e: 0x6c0fb820, + 0xb190: 0x6c08c620, 0xb192: 0x6c181c20, + 0xb194: 0x6c182020, + 0xb19a: 0x6c0fe820, + 0xb19c: 0x6c02de20, + 0xb1a2: 0x6c182220, + 0xb1a5: 0x6c10e420, + 0xb1a8: 0x6c0ca420, 0xb1a9: 0x6c182620, 0xb1aa: 0x6c182820, 0xb1ab: 0x6c11b820, + 0xb1ac: 0x6c069020, 0xb1ad: 0x6c16fa20, 0xb1ae: 0x6c182a20, + 0xb1b1: 0x6c047420, + 0xb1b5: 0x6c135020, 0xb1b6: 0x6c0d6420, 0xb1b7: 0x6c050a20, + 0xb1b8: 0x6c0f9620, + 0xb1bc: 0x6c05ca20, + // Block 0x2c7, offset 0xb1c0 + 0xb1c0: 0x6c182c20, 0xb1c2: 0x6c182e20, + 0xb1c5: 0x6c10ac20, 0xb1c6: 0x6c013a20, + 0xb1c9: 0x6c183420, 0xb1ca: 0x6c081220, + 0xb1cc: 0x6c183220, 0xb1cd: 0x6c07a420, 0xb1cf: 0x6c183620, + 0xb1d0: 0x6c27ee20, 0xb1d1: 0x6c183820, 0xb1d2: 0x6c141620, 0xb1d3: 0x6c183a20, + 0xb1d5: 0x6c183c20, 0xb1d6: 0x6c183e20, 0xb1d7: 0x6c0ada20, + 0xb1d9: 0x6c092820, + 0xb1e0: 0x6c02fe20, 0xb1e2: 0x6c184420, + 0xb1e4: 0x6c184020, 0xb1e5: 0x6c14ca20, 0xb1e6: 0x6c184220, + 0xb1e8: 0x6c12d020, 0xb1e9: 0x6c184620, 0xb1ea: 0x6c184820, 0xb1eb: 0x6c184a20, + 0xb1ec: 0x6c0fea20, + 0xb1f0: 0x6c185220, 0xb1f1: 0x6c184e20, 0xb1f2: 0x6c185020, 0xb1f3: 0x6c184c20, + 0xb1f4: 0x6c07de20, 0xb1f5: 0x6c185420, 0xb1f6: 0x6c152420, 0xb1f7: 0x6c169020, + 0xb1fd: 0x6c185620, + // Block 0x2c8, offset 0xb200 + 0xb204: 0x6c0bd020, 0xb205: 0x6c185820, 0xb206: 0x6c0a0020, + 0xb209: 0x6c185a20, 0xb20b: 0x6c0eac20, + 0xb20c: 0x6c164620, 0xb20d: 0x6c0fec20, + 0xb216: 0x6c18ec20, + 0xb21b: 0x6c185c20, + 0xb21c: 0x6c31a420, 0xb21d: 0x6c04b220, + 0xb220: 0x6c185e20, 0xb221: 0x6c145020, + 0xb226: 0x6c0a1c20, 0xb227: 0x6c0df020, + 0xb229: 0x6c186220, 0xb22a: 0x6c10b020, + 0xb22d: 0x6c186420, + 0xb230: 0x6c186620, 0xb231: 0x6c025020, + 0xb235: 0x6c186820, 0xb236: 0x6c047620, + 0xb238: 0x6c108020, 0xb239: 0x6c017020, 0xb23a: 0x6c09ec20, + 0xb23d: 0x6c11a220, 0xb23e: 0x6c186a20, + // Block 0x2c9, offset 0xb240 + 0xb240: 0x6c0fee20, 0xb243: 0x6c0b6220, + 0xb244: 0x6c186c20, 0xb246: 0x6c133020, 0xb247: 0x6c0c3420, + 0xb248: 0x6c02f420, 0xb24a: 0x6c030220, 0xb24b: 0x6c186e20, + 0xb24e: 0x6c187220, + 0xb251: 0x6c055820, + 0xb254: 0x6c187020, 0xb257: 0x6c16ae20, + 0xb25d: 0x6c0a1e20, + 0xb264: 0x6c11da20, 0xb265: 0x6c137020, 0xb267: 0x6c187420, + 0xb269: 0x6c15fc20, 0xb26a: 0x6c187620, + 0xb26e: 0x6c187820, + 0xb270: 0x6c102820, 0xb273: 0x6c187a20, + 0xb276: 0x6c0bd220, 0xb277: 0x6c081420, + 0xb278: 0x6c05cc20, 0xb279: 0x6c187c20, 0xb27a: 0x6c086620, 0xb27b: 0x6c073a20, + // Block 0x2ca, offset 0xb280 + 0xb283: 0x6c0f3c20, + 0xb284: 0x6c188020, 0xb287: 0x6c0d4620, + 0xb28a: 0x6c07f620, 0xb28b: 0x6c188220, + 0xb28c: 0x6c188420, 0xb28d: 0x6c0c9c20, 0xb28f: 0x6c187e20, + 0xb294: 0x6c188820, 0xb296: 0x6c140020, + 0xb29b: 0x6c072420, + 0xb29e: 0x6c188620, + 0xb2a3: 0x6c05ce20, + 0xb2a4: 0x6c07d420, 0xb2a5: 0x6c117e20, + 0xb2a9: 0x6c188e20, 0xb2aa: 0x6c188a20, + 0xb2af: 0x6c131220, + 0xb2b0: 0x6c0adc20, 0xb2b1: 0x6c189c20, 0xb2b2: 0x6c02bc20, 0xb2b3: 0x6c189020, + 0xb2b4: 0x6c188c20, 0xb2b5: 0x6c0cda20, + 0xb2bd: 0x6c189420, 0xb2bf: 0x6c189220, + // Block 0x2cb, offset 0xb2c0 + 0xb2c3: 0x6c027c20, + 0xb2c7: 0x6c05a420, + 0xb2c8: 0x6c189e20, 0xb2c9: 0x6c162220, + 0xb2cd: 0x6c189620, + 0xb2d1: 0x6c18a020, 0xb2d2: 0x6c189a20, + 0xb2d4: 0x6c189820, + 0xb2db: 0x6c166620, + 0xb2df: 0x6c069220, + 0xb2e0: 0x6c01be20, 0xb2e3: 0x6c16b020, + 0xb2e9: 0x6c0a3620, 0xb2ea: 0x6c0fdc20, 0xb2eb: 0x6c072620, + 0xb2ec: 0x6c18a620, 0xb2ed: 0x6c18a820, + 0xb2f1: 0x6c169220, + 0xb2f4: 0x6c16da20, 0xb2f5: 0x6c18ac20, + 0xb2f9: 0x6c069420, + 0xb2fc: 0x6c18aa20, 0xb2fe: 0x6c025220, + // Block 0x2cc, offset 0xb300 + 0xb301: 0x6c18ae20, 0xb303: 0x6c144020, + 0xb305: 0x6c0ee820, 0xb307: 0x6c155820, + 0xb309: 0x6c138a20, + 0xb30d: 0x6c18b020, + 0xb312: 0x6c2f1420, + 0xb315: 0x6c104820, 0xb317: 0x6c18b220, + 0xb318: 0x6c030420, 0xb319: 0x6c14b620, + 0xb31d: 0x6c0a4a20, 0xb31e: 0x6c18b420, 0xb31f: 0x6c13a620, + 0xb320: 0x6c18bc20, 0xb322: 0x6c0bd420, 0xb323: 0x6c18b620, + 0xb324: 0x6c04c820, 0xb326: 0x6c18b820, 0xb327: 0x6c030620, + 0xb332: 0x6c054020, 0xb333: 0x6c18be20, + 0xb335: 0x6c18c020, + 0xb338: 0x6c18c220, 0xb339: 0x6c18c420, 0xb33a: 0x6c094620, + 0xb33e: 0x6c069620, 0xb33f: 0x6c150c20, + // Block 0x2cd, offset 0xb340 + 0xb341: 0x6c152020, 0xb342: 0x6c10d620, + 0xb345: 0x6c13ba20, 0xb346: 0x6c18c620, + 0xb348: 0x6c18c820, + 0xb34d: 0x6c18cc20, 0xb34f: 0x6c18d020, + 0xb350: 0x6c18ce20, + 0xb355: 0x6c18d220, 0xb356: 0x6c01b220, 0xb357: 0x6c142c20, + 0xb359: 0x6c081020, 0xb35a: 0x6c18d420, + 0xb35d: 0x6c0cee20, + 0xb360: 0x6c0a4c20, 0xb361: 0x6c047a20, 0xb363: 0x6c18d620, + 0xb36a: 0x6c121620, + 0xb36f: 0x6c18d820, + 0xb371: 0x6c18da20, 0xb373: 0x6c18dc20, + 0xb378: 0x6c18de20, 0xb379: 0x6c126420, 0xb37a: 0x6c04f820, 0xb37b: 0x6c008a20, + 0xb37f: 0x6c106620, + // Block 0x2ce, offset 0xb380 + 0xb380: 0x6c18e020, 0xb381: 0x6c09c620, 0xb383: 0x6c0c5220, + 0xb385: 0x6c18e420, 0xb386: 0x6c18e220, 0xb387: 0x6c0a4e20, + 0xb388: 0x6c066220, 0xb389: 0x6c18e820, 0xb38a: 0x6c11dc20, + 0xb38d: 0x6c18ea20, + 0xb391: 0x6c121820, 0xb392: 0x6c0d6020, 0xb393: 0x6c0dd420, + 0xb394: 0x6c047820, 0xb397: 0x6c10c420, + 0xb398: 0x6c0e1620, 0xb39a: 0x6c118020, + 0xb39c: 0x6c143020, 0xb39e: 0x6c18ee20, + 0xb3a0: 0x6c0c5420, + 0xb3a6: 0x6c054e20, + 0xb3a9: 0x6c18f020, + 0xb3ae: 0x6c18f220, 0xb3af: 0x6c00d420, + 0xb3b0: 0x6c00aa20, 0xb3b1: 0x6c038a20, 0xb3b3: 0x6c0d4820, + 0xb3b4: 0x6c040e20, 0xb3b5: 0x6c15ee20, 0xb3b7: 0x6c18f820, + 0xb3b8: 0x6c01a620, 0xb3bb: 0x6c18f620, + 0xb3bf: 0x6c047c20, + // Block 0x2cf, offset 0xb3c0 + 0xb3c2: 0x6c18fa20, + 0xb3c4: 0x6c153220, + 0xb3d6: 0x6c18fc20, + 0xb3d8: 0x6c166c20, 0xb3da: 0x6c069820, + 0xb3df: 0x6c060c20, + 0xb3e0: 0x6c18fe20, + 0xb3e5: 0x6c190220, 0xb3e6: 0x6c190020, + 0xb3e8: 0x6c0b8220, 0xb3e9: 0x6c00ee20, + 0xb3ed: 0x6c013820, 0xb3ee: 0x6c190420, + 0xb3f0: 0x6c190620, 0xb3f3: 0x6c060e20, + 0xb3f6: 0x6c190820, + 0xb3fb: 0x6c044820, + // Block 0x2d0, offset 0xb400 + 0xb402: 0x6c083820, 0xb403: 0x6c190a20, + 0xb408: 0x6c147c20, 0xb409: 0x6c078220, 0xb40a: 0x6c042020, 0xb40b: 0x6c155a20, + 0xb40c: 0x6c0cdc20, 0xb40d: 0x6c11de20, 0xb40e: 0x6c098a20, + 0xb414: 0x6c09da20, 0xb416: 0x6c096020, 0xb417: 0x6c097a20, + 0xb419: 0x6c0a3820, 0xb41b: 0x6c11e020, + 0xb41f: 0x6c191020, + 0xb421: 0x6c010220, 0xb422: 0x6c0cde20, 0xb423: 0x6c069a20, + 0xb424: 0x6c062a20, 0xb425: 0x6c04f620, + 0xb428: 0x6c191820, 0xb429: 0x6c0df620, 0xb42a: 0x6c0df420, 0xb42b: 0x6c047e20, + 0xb42c: 0x6c0a5020, 0xb42d: 0x6c191a20, 0xb42e: 0x6c191620, 0xb42f: 0x6c01c020, + 0xb430: 0x6c0dc420, 0xb431: 0x6c090020, 0xb432: 0x6c086a20, 0xb433: 0x6c00c820, + 0xb436: 0x6c02d420, 0xb437: 0x6c072820, + 0xb438: 0x6c086820, 0xb43a: 0x6c191c20, + // Block 0x2d1, offset 0xb440 + 0xb441: 0x6c191e20, 0xb443: 0x6c03fe20, + 0xb444: 0x6c028020, + 0xb448: 0x6c072a20, 0xb449: 0x6c03fc20, 0xb44a: 0x6c0f2e20, 0xb44b: 0x6c00c620, + 0xb44c: 0x6c104a20, 0xb44d: 0x6c14cc20, 0xb44e: 0x6c069e20, 0xb44f: 0x6c15fe20, + 0xb450: 0x6c0fba20, 0xb451: 0x6c069c20, + 0xb45b: 0x6c054220, + 0xb45d: 0x6c193020, 0xb45f: 0x6c04ee20, + 0xb460: 0x6c142820, + 0xb466: 0x6c121a20, + 0xb469: 0x6c192e20, 0xb46b: 0x6c036c20, + 0xb46c: 0x6c192420, 0xb46d: 0x6c192620, 0xb46e: 0x6c192a20, + 0xb476: 0x6c192c20, + 0xb478: 0x6c042220, 0xb479: 0x6c0b8620, 0xb47b: 0x6c133220, + 0xb47c: 0x6c192820, 0xb47d: 0x6c192020, 0xb47e: 0x6c066620, + // Block 0x2d2, offset 0xb480 + 0xb480: 0x6c192220, 0xb482: 0x6c16cc20, + 0xb486: 0x6c13bc20, + 0xb488: 0x6c0f4020, 0xb489: 0x6c066420, 0xb48a: 0x6c073c20, + 0xb48e: 0x6c193220, + 0xb491: 0x6c10a220, + 0xb49f: 0x6c193a20, + 0xb4a8: 0x6c098c20, 0xb4aa: 0x6c097c20, + 0xb4b0: 0x6c194020, 0xb4b1: 0x6c193c20, 0xb4b3: 0x6c149620, + 0xb4b5: 0x6c193620, 0xb4b6: 0x6c194820, 0xb4b7: 0x6c193e20, + 0xb4bb: 0x6c194420, + 0xb4bc: 0x6c062c20, 0xb4bd: 0x6c14ce20, + // Block 0x2d3, offset 0xb4c0 + 0xb4c0: 0x6c194620, + 0xb4c4: 0x6c194a20, 0xb4c6: 0x6c194e20, + 0xb4cb: 0x6c07f820, + 0xb4cc: 0x6c170820, 0xb4ce: 0x6c193820, 0xb4cf: 0x6c193420, + 0xb4d0: 0x6c194c20, 0xb4d2: 0x6c194220, + 0xb4e2: 0x6c195220, + 0xb4e4: 0x6c196420, 0xb4e5: 0x6c195620, + 0xb4e8: 0x6c195e20, 0xb4eb: 0x6c196020, + 0xb4ec: 0x6c195820, 0xb4ef: 0x6c199a20, + 0xb4f2: 0x6c07ea20, 0xb4f3: 0x6c025620, + 0xb4f8: 0x6c195420, + 0xb4fc: 0x6c196820, 0xb4fd: 0x6c00ac20, 0xb4fe: 0x6c196620, + // Block 0x2d4, offset 0xb500 + 0xb500: 0x6c000a20, 0xb501: 0x6c12b020, 0xb502: 0x6c196220, + 0xb504: 0x6c195a20, 0xb507: 0x6c195020, + 0xb508: 0x6c195c20, 0xb509: 0x6c07a820, + 0xb518: 0x6c196a20, + 0xb521: 0x6c00ae20, 0xb522: 0x6c197c20, + 0xb525: 0x6c196c20, 0xb526: 0x6c196e20, + 0xb528: 0x6c0a5220, 0xb529: 0x6c146620, + 0xb52d: 0x6c197820, 0xb52e: 0x6c197620, + 0xb532: 0x6c0f8a20, + 0xb53a: 0x6c197a20, + 0xb53d: 0x6c197420, + // Block 0x2d5, offset 0xb540 + 0xb544: 0x6c00e420, 0xb546: 0x6c078420, 0xb547: 0x6c0b2420, + 0xb54f: 0x6c197020, + 0xb550: 0x6c0ff020, + 0xb554: 0x6c197220, 0xb556: 0x6c000420, + 0xb56e: 0x6c198620, 0xb56f: 0x6c155220, + 0xb571: 0x6c0a5620, 0xb573: 0x6c199220, + 0xb578: 0x6c199020, 0xb579: 0x6c197e20, + 0xb57e: 0x6c0d7e20, + // Block 0x2d6, offset 0xb580 + 0xb580: 0x6c198020, + 0xb584: 0x6c0dd620, 0xb585: 0x6c198a20, 0xb586: 0x6c0a5420, + 0xb58c: 0x6c198420, 0xb58f: 0x6c151820, + 0xb593: 0x6c055c20, + 0xb596: 0x6c198c20, 0xb597: 0x6c198e20, + 0xb59c: 0x6c198820, 0xb59d: 0x6c199420, + 0xb5a3: 0x6c198220, + 0xb5bb: 0x6c19a020, + 0xb5bc: 0x6c19aa20, 0xb5be: 0x6c19a220, + // Block 0x2d7, offset 0xb5c0 + 0xb5c0: 0x6c199820, 0xb5c3: 0x6c19ac20, + 0xb5c4: 0x6c0c9e20, 0xb5c7: 0x6c19b020, + 0xb5c9: 0x6c06a020, 0xb5ca: 0x6c199c20, 0xb5cb: 0x6c0eae20, + 0xb5d8: 0x6c19a420, 0xb5d9: 0x6c199620, 0xb5da: 0x6c030a20, + 0xb5dc: 0x6c038c20, 0xb5dd: 0x6c02be20, 0xb5de: 0x6c19a620, 0xb5df: 0x6c199e20, + 0xb5e7: 0x6c05d020, + 0xb5e8: 0x6c19b220, 0xb5e9: 0x6c19ae20, 0xb5ea: 0x6c0ce220, 0xb5eb: 0x6c040020, + 0xb5ec: 0x6c048020, 0xb5ee: 0x6c19a820, + 0xb5f0: 0x6c051020, + 0xb5f6: 0x6c010420, + // Block 0x2d8, offset 0xb600 + 0xb604: 0x6c19ba20, 0xb605: 0x6c19b620, 0xb607: 0x6c1a2820, + 0xb614: 0x6c19c020, + 0xb61a: 0x6c19b420, + 0xb61c: 0x6c19bc20, 0xb61f: 0x6c19b820, + 0xb623: 0x6c086c20, + 0xb624: 0x6c19be20, + 0xb637: 0x6c19c420, + 0xb639: 0x6c19ce20, + 0xb63d: 0x6c19ca20, 0xb63e: 0x6c19c820, + // Block 0x2d9, offset 0xb640 + 0xb646: 0x6c0e1820, + 0xb649: 0x6c01c220, + 0xb654: 0x6c19c220, 0xb656: 0x6c19c620, 0xb657: 0x6c0a5820, + 0xb658: 0x6c00e220, 0xb65b: 0x6c19cc20, + 0xb669: 0x6c01f420, + 0xb66f: 0x6c19e220, + 0xb671: 0x6c0b0020, 0xb672: 0x6c19da20, + 0xb674: 0x6c19d620, 0xb676: 0x6c19d820, + 0xb678: 0x6c19dc20, + // Block 0x2da, offset 0xb680 + 0xb682: 0x6c00f620, + 0xb68c: 0x6c0cae20, 0xb68e: 0x6c19d020, + 0xb690: 0x6c19d220, + 0xb69b: 0x6c02e820, + 0xb6a4: 0x6c19e020, + 0xb6a8: 0x6c038e20, 0xb6aa: 0x6c19e620, 0xb6ab: 0x6c19de20, + 0xb6ac: 0x6c19e420, + 0xb6b4: 0x6c133420, + 0xb6b8: 0x6c109220, 0xb6ba: 0x6c11d020, + // Block 0x2db, offset 0xb6c0 + 0xb6c0: 0x6c19ea20, + 0xb6c6: 0x6c19e820, 0xb6c7: 0x6c027e20, + 0xb6ca: 0x6c19ec20, + 0xb6cf: 0x6c19f220, + 0xb6d4: 0x6c19f020, + 0xb6e0: 0x6c19ee20, 0xb6e2: 0x6c111620, + 0xb6e5: 0x6c19f420, + 0xb6ee: 0x6c19f620, + 0xb6f4: 0x6c19fa20, 0xb6f6: 0x6c19f820, + 0xb6fc: 0x6c19fe20, + // Block 0x2dc, offset 0xb700 + 0xb700: 0x6c1a0420, 0xb701: 0x6c1a0020, 0xb702: 0x6c19fc20, 0xb703: 0x6c1a0220, + 0xb708: 0x6c1a0620, + 0xb70e: 0x6c1a0820, + 0xb711: 0x6c1a0a20, 0xb713: 0x6c1a0c20, + 0xb717: 0x6c1a0e20, + 0xb718: 0x6c183020, 0xb71a: 0x6c098820, 0xb71b: 0x6c086e20, + 0xb71e: 0x6c021e20, + 0xb720: 0x6c00b020, 0xb723: 0x6c0e3c20, + 0xb72e: 0x6c1a1020, + 0xb730: 0x6c076020, 0xb732: 0x6c005e20, 0xb733: 0x6c0b8020, + 0xb739: 0x6c1a1220, 0xb73a: 0x6c062e20, + 0xb73d: 0x6c073e20, 0xb73f: 0x6c1a1620, + // Block 0x2dd, offset 0xb740 + 0xb740: 0x6c1a1420, 0xb743: 0x6c139820, + 0xb744: 0x6c1a1820, + 0xb748: 0x6c1a1c20, 0xb749: 0x6c1a1a20, 0xb74b: 0x6c1a1e20, + 0xb74d: 0x6c1a2020, 0xb74f: 0x6c05d220, + 0xb752: 0x6c013c20, 0xb753: 0x6c1a2220, + 0xb756: 0x6c1a2620, + 0xb758: 0x6c1a2420, + 0xb75c: 0x6c1a2a20, 0xb75f: 0x6c0fe020, + 0xb766: 0x6c1a2c20, 0xb767: 0x6c002a20, + 0xb768: 0x6c07d620, + 0xb76d: 0x6c055e20, + 0xb770: 0x6c0e5220, + 0xb777: 0x6c1a2e20, + 0xb778: 0x6c1a3020, 0xb77b: 0x6c1a3420, + // Block 0x2de, offset 0xb780 + 0xb780: 0x6c1a3620, 0xb782: 0x6c07e020, + 0xb787: 0x6c04ca20, + 0xb78a: 0x6c140220, + 0xb78e: 0x6c1a3220, 0xb78f: 0x6c1a3820, + 0xb790: 0x6c079a20, 0xb791: 0x6c06a220, + 0xb7a1: 0x6c1a4020, + 0xb7a4: 0x6c076220, 0xb7a6: 0x6c0e1a20, + 0xb7a9: 0x6c1a3a20, 0xb7aa: 0x6c0f2420, + 0xb7bf: 0x6c1a4220, + // Block 0x2df, offset 0xb7c0 + 0xb7c2: 0x6c0b8820, + 0xb7c8: 0x6c1a3e20, 0xb7c9: 0x6c1a4420, 0xb7cb: 0x6c056220, + 0xb7d3: 0x6c1a4620, + 0xb7e0: 0x6c1a4820, 0xb7e2: 0x6c06a420, 0xb7e3: 0x6c027420, + 0xb7e4: 0x6c1a4c20, + 0xb7ea: 0x6c1a4e20, + 0xb7f0: 0x6c1a5020, 0xb7f3: 0x6c1a4a20, + // Block 0x2e0, offset 0xb800 + 0xb800: 0x6c1a3c20, 0xb803: 0x6c1a5220, + 0xb806: 0x6c1a5420, + 0xb80b: 0x6c145c20, + 0xb80e: 0x6c0ade20, + 0xb812: 0x6c1a5820, 0xb813: 0x6c1a5a20, + 0xb814: 0x6c1a5620, 0xb816: 0x6c1a5e20, + 0xb81c: 0x6c111420, 0xb81f: 0x6c009020, + 0xb820: 0x6c12c820, 0xb823: 0x6c1a6020, + 0xb834: 0x6c0b0220, 0xb837: 0x6c090220, + 0xb839: 0x6c115e20, 0xb83a: 0x6c039020, + 0xb83c: 0x6c07ee20, + // Block 0x2e1, offset 0xb840 + 0xb840: 0x6c144620, 0xb842: 0x6c104c20, + 0xb845: 0x6c05d420, 0xb846: 0x6c0d9620, + 0xb84a: 0x6c1a5c20, 0xb84b: 0x6c1a6220, + 0xb855: 0x6c0d8020, + 0xb859: 0x6c1a6420, + 0xb85d: 0x6c1a6620, + 0xb861: 0x6c1a6a20, + 0xb864: 0x6c0f4220, + 0xb86a: 0x6c030c20, + 0xb86f: 0x6c319c20, + 0xb870: 0x6c013e20, 0xb871: 0x6c13be20, + 0xb874: 0x6c0ae020, 0xb875: 0x6c0fbc20, + 0xb87a: 0x6c07e420, + 0xb87d: 0x6c1a7620, + // Block 0x2e2, offset 0xb880 + 0xb880: 0x6c135220, 0xb881: 0x6c168220, + 0xb88a: 0x6c022020, 0xb88b: 0x6c1a6e20, + 0xb891: 0x6c0cb020, 0xb892: 0x6c1a7420, + 0xb894: 0x6c0ff220, 0xb897: 0x6c0fbe20, + 0xb898: 0x6c0ff420, 0xb899: 0x6c11d220, 0xb89a: 0x6c0f0a20, + 0xb89e: 0x6c07aa20, + 0xb8a2: 0x6c1a6c20, + 0xb8a9: 0x6c016820, 0xb8ab: 0x6c0f9820, + 0xb8b0: 0x6c1a7020, 0xb8b2: 0x6c1a6820, + 0xb8b5: 0x6c0b6420, + 0xb8b9: 0x6c1a7820, + 0xb8be: 0x6c09e820, + // Block 0x2e3, offset 0xb8c0 + 0xb8c3: 0x6c048220, + 0xb8c5: 0x6c1a7a20, + 0xb8d3: 0x6c13a820, + 0xb8d7: 0x6c0d3620, + 0xb8dc: 0x6c0efc20, 0xb8df: 0x6c1a7e20, + 0xb8e8: 0x6c143220, 0xb8eb: 0x6c1a8020, + 0xb8ee: 0x6c1a8a20, + 0xb8f3: 0x6c133620, + 0xb8f8: 0x6c1a8820, 0xb8f9: 0x6c1a7c20, 0xb8fa: 0x6c1a8220, 0xb8fb: 0x6c1a8620, + 0xb8fe: 0x6c076420, + // Block 0x2e4, offset 0xb900 + 0xb901: 0x6c136a20, + 0xb905: 0x6c1a8c20, 0xb907: 0x6c0e3e20, + 0xb90a: 0x6c022220, + 0xb90c: 0x6c0ae220, + 0xb911: 0x6c1a9020, 0xb913: 0x6c1a8e20, + 0xb915: 0x6c072c20, 0xb917: 0x6c1a9220, + 0xb918: 0x6c1a9620, 0xb919: 0x6c1a9420, + 0xb91c: 0x6c1a9a20, 0xb91e: 0x6c1a8420, 0xb91f: 0x6c1a9e20, + 0xb924: 0x6c1a9c20, 0xb925: 0x6c1a9820, + 0xb92b: 0x6c087020, + 0xb92c: 0x6c0b6620, 0xb92e: 0x6c0ce420, 0xb92f: 0x6c1aa020, + 0xb930: 0x6c0bf820, 0xb931: 0x6c009a20, 0xb932: 0x6c116c20, + 0xb937: 0x6c0f2620, + 0xb939: 0x6c1aa420, 0xb93a: 0x6c1aa220, 0xb93b: 0x6c1aa620, + 0xb93c: 0x6c1aa820, 0xb93d: 0x6c1aaa20, + // Block 0x2e5, offset 0xb940 + 0xb942: 0x6c1aac20, + 0xb949: 0x6c137a20, 0xb94a: 0x6c1aae20, + 0xb94f: 0x6c01c420, + 0xb950: 0x6c1ab020, + 0xb955: 0x6c158420, 0xb956: 0x6c025420, + 0xb958: 0x6c18f420, 0xb959: 0x6c09dc20, 0xb95a: 0x6c0d7620, 0xb95b: 0x6c1ab220, + 0xb95c: 0x6c152620, + 0xb962: 0x6c14b820, + 0xb965: 0x6c1ab620, 0xb967: 0x6c0dc620, + 0xb969: 0x6c0f9a20, 0xb96a: 0x6c0d7820, 0xb96b: 0x6c12ca20, + 0xb96c: 0x6c1ab820, 0xb96d: 0x6c1aba20, 0xb96e: 0x6c017220, + 0xb971: 0x6c090420, 0xb972: 0x6c1abc20, + 0xb977: 0x6c006020, + 0xb978: 0x6c1abe20, + 0xb97e: 0x6c1ac020, + // Block 0x2e6, offset 0xb980 + 0xb984: 0x6c014020, 0xb987: 0x6c039220, + 0xb988: 0x6c10a820, 0xb989: 0x6c13c020, + 0xb98e: 0x6c1ac820, 0xb98f: 0x6c0ce620, + 0xb990: 0x6c1ac620, 0xb991: 0x6c056420, + 0xb994: 0x6c144a20, 0xb995: 0x6c1ac420, 0xb997: 0x6c0ff620, + 0xb998: 0x6c1acc20, 0xb99a: 0x6c1aca20, + 0xb9a0: 0x6c1ad020, 0xb9a2: 0x6c1ace20, + 0xb9a5: 0x6c017420, 0xb9a7: 0x6c1ad220, + 0xb9a8: 0x6c0a5a20, 0xb9a9: 0x6c1ad620, 0xb9aa: 0x6c0dfe20, + 0xb9ac: 0x6c1ad420, 0xb9ae: 0x6c133e20, + 0xb9b3: 0x6c0a3a20, + 0xb9b4: 0x6c0fe220, + 0xb9b8: 0x6c1ad820, + 0xb9bd: 0x6c06a620, + // Block 0x2e7, offset 0xb9c0 + 0xb9c1: 0x6c1ada20, 0xb9c2: 0x6c10e620, 0xb9c3: 0x6c121c20, + 0xb9c4: 0x6c14f220, + 0xb9ca: 0x6c10ee20, + 0xb9cd: 0x6c1aec20, + 0xb9d3: 0x6c03dc20, + 0xb9d6: 0x6c159620, + 0xb9d9: 0x6c14ae20, 0xb9db: 0x6c1baa20, + 0xb9dd: 0x6c1adc20, + 0xb9e3: 0x6c1ae220, + 0xb9e5: 0x6c0d8220, + 0xb9e8: 0x6c140420, + 0xb9ec: 0x6c0fc020, + 0xb9f2: 0x6c1ae420, + 0xb9f9: 0x6c145e20, 0xb9fb: 0x6c07ac20, + 0xb9fe: 0x6c0a5c20, + // Block 0x2e8, offset 0xba00 + 0xba06: 0x6c1ae620, + 0xba09: 0x6c087420, 0xba0b: 0x6c087220, + 0xba10: 0x6c003220, 0xba11: 0x6c063020, 0xba13: 0x6c0bd620, + 0xba14: 0x6c006220, + 0xba19: 0x6c1aee20, 0xba1a: 0x6c1af020, + 0xba1c: 0x6c1aea20, + 0xba25: 0x6c00ec20, 0xba26: 0x6c030e20, + 0xba28: 0x6c1ae820, 0xba2a: 0x6c14da20, 0xba2b: 0x6c127e20, + 0xba36: 0x6c001020, + 0xba3b: 0x6c00b220, + 0xba3f: 0x6c087620, + // Block 0x2e9, offset 0xba40 + 0xba41: 0x6c006420, 0xba43: 0x6c000620, + 0xba49: 0x6c1afa20, + 0xba51: 0x6c1af620, + 0xba58: 0x6c14c820, 0xba5a: 0x6c1afc20, + 0xba5c: 0x6c1af820, 0xba5f: 0x6c1af420, + 0xba60: 0x6c0b2620, + 0xba65: 0x6c1af220, + 0xba69: 0x6c138c20, + 0xba6f: 0x6c066820, + 0xba75: 0x6c1b0420, 0xba76: 0x6c1b0620, + 0xba7c: 0x6c0a5e20, + // Block 0x2ea, offset 0xba80 + 0xba80: 0x6c1afe20, 0xba81: 0x6c16dc20, + 0xba86: 0x6c113c20, + 0xba89: 0x6c1b0220, + 0xba9a: 0x6c076620, + 0xbaa2: 0x6c1b0820, + 0xbaa6: 0x6c12cc20, + 0xbaaa: 0x6c1b0a20, + 0xbaac: 0x6c1b0020, + 0xbabf: 0x6c14c620, + // Block 0x2eb, offset 0xbac0 + 0xbad2: 0x6c116020, + 0xbada: 0x6c1b0c20, 0xbadb: 0x6c128020, + 0xbafc: 0x6c1b0e20, 0xbafd: 0x6c1b1620, 0xbafe: 0x6c1b1020, + // Block 0x2ec, offset 0xbb00 + 0xbb01: 0x6c01c620, 0xbb02: 0x6c1b1420, + 0xbb09: 0x6c090620, 0xbb0b: 0x6c1b1220, + 0xbb0c: 0x6c05d620, + 0xbb10: 0x6c1b2e20, + 0xbb16: 0x6c1b2020, 0xbb17: 0x6c1b1a20, + 0xbb21: 0x6c0e7c20, 0xbb23: 0x6c1b1820, + 0xbb26: 0x6c1b1c20, + 0xbb29: 0x6c1b1e20, + 0xbb3a: 0x6c1b2220, 0xbb3b: 0x6c1b2420, + // Block 0x2ed, offset 0xbb40 + 0xbb49: 0x6c039420, 0xbb4b: 0x6c1b2820, + 0xbb4c: 0x6c1b2620, + 0xbb56: 0x6c1b2a20, + 0xbb62: 0x6c0ae420, + 0xbb6a: 0x6c1b3020, + 0xbb6c: 0x6c0f2820, + 0xbb70: 0x6c010620, 0xbb72: 0x6c1b2c20, + 0xbb76: 0x6c1b3220, + 0xbb7e: 0x6c1b3420, + // Block 0x2ee, offset 0xbb80 + 0xbb80: 0x6c1b3a20, 0xbb83: 0x6c1b3620, + 0xbb85: 0x6c1b3820, + 0xbb90: 0x6c087820, 0xbb91: 0x6c1b3c20, + 0xbb94: 0x6c06a820, 0xbb95: 0x6c1b3e20, 0xbb97: 0x6c08c820, + 0xbb98: 0x6c0d6820, 0xbb9a: 0x6c1b4020, 0xbb9b: 0x6c1b4220, + 0xbb9c: 0x6c088820, 0xbb9d: 0x6c06aa20, 0xbb9f: 0x6c14f420, + 0xbba3: 0x6c03bc20, + 0xbba4: 0x6c063220, 0xbba5: 0x6c1b4420, 0xbba6: 0x6c02a420, + 0xbba9: 0x6c1b4620, 0xbbab: 0x6c0d6a20, + 0xbbb0: 0x6c1b4820, 0xbbb1: 0x6c1b9820, 0xbbb3: 0x6c1b4a20, + 0xbbb5: 0x6c1b4c20, + 0xbbb8: 0x6c1b4e20, 0xbbba: 0x6c1b5220, + // Block 0x2ef, offset 0xbbc0 + 0xbbc0: 0x6c1b5420, 0xbbc3: 0x6c1b5620, + 0xbbc5: 0x6c0dd820, 0xbbc7: 0x6c00ca20, + 0xbbc8: 0x6c096220, 0xbbc9: 0x6c004420, 0xbbcb: 0x6c0cea20, + 0xbbcc: 0x6c031020, 0xbbcd: 0x6c08fa20, 0xbbcf: 0x6c06ac20, + 0xbbd5: 0x6c0ff820, 0xbbd7: 0x6c098e20, + 0xbbd8: 0x6c031220, 0xbbd9: 0x6c0e8420, 0xbbda: 0x6c0f4420, 0xbbdb: 0x6c003020, + 0xbbdc: 0x6c03de20, 0xbbdd: 0x6c13c220, 0xbbdf: 0x6c091420, + 0xbbe2: 0x6c041020, 0xbbe3: 0x6c0c5620, + 0xbbe4: 0x6c090820, 0xbbe5: 0x6c155c20, 0xbbe6: 0x6c1b5820, + 0xbbee: 0x6c042420, + 0xbbf0: 0x6c07ae20, 0xbbf3: 0x6c025820, + 0xbbf4: 0x6c014220, 0xbbf5: 0x6c0a6020, 0xbbf6: 0x6c01c820, + 0xbbf8: 0x6c1b5a20, 0xbbf9: 0x6c159820, + 0xbbff: 0x6c09de20, + // Block 0x2f0, offset 0xbc00 + 0xbc02: 0x6c095820, 0xbc03: 0x6c1b5c20, + 0xbc04: 0x6c039620, 0xbc05: 0x6c108c20, 0xbc06: 0x6c14a220, 0xbc07: 0x6c1b5e20, + 0xbc09: 0x6c1b6020, + 0xbc0c: 0x6c12ce20, + 0xbc10: 0x6c1b6420, 0xbc12: 0x6c030020, 0xbc13: 0x6c051620, + 0xbc14: 0x6c1b6220, + 0xbc1b: 0x6c031420, + 0xbc1d: 0x6c0b2820, 0xbc1e: 0x6c1b6c20, 0xbc1f: 0x6c081620, + 0xbc21: 0x6c01ca20, 0xbc22: 0x6c1b6a20, + 0xbc24: 0x6c1b6620, 0xbc25: 0x6c1b6e20, 0xbc26: 0x6c1b6820, 0xbc27: 0x6c10fa20, + 0xbc28: 0x6c205420, 0xbc29: 0x6c0b2a20, 0xbc2b: 0x6c1b7020, + 0xbc2e: 0x6c164820, + 0xbc30: 0x6c1b7220, 0xbc33: 0x6c1b7620, + 0xbc35: 0x6c0eb020, 0xbc36: 0x6c1b7420, + 0xbc38: 0x6c0bc620, 0xbc3a: 0x6c08ca20, + 0xbc3e: 0x6c0d9820, 0xbc3f: 0x6c097e20, + // Block 0x2f1, offset 0xbc40 + 0xbc41: 0x6c130620, 0xbc42: 0x6c0c5820, + 0xbc44: 0x6c092a20, 0xbc45: 0x6c1b7820, 0xbc46: 0x6c0a6220, 0xbc47: 0x6c1b7a20, + 0xbc48: 0x6c1b7c20, 0xbc49: 0x6c006620, 0xbc4a: 0x6c0d6c20, 0xbc4b: 0x6c0b6820, + 0xbc4d: 0x6c1b7e20, 0xbc4e: 0x6c104e20, 0xbc4f: 0x6c0a6420, + 0xbc51: 0x6c0a6620, 0xbc53: 0x6c1b8020, + 0xbc56: 0x6c0c5a20, + 0xbc5a: 0x6c0a6820, + 0xbc60: 0x6c1b8220, 0xbc62: 0x6c1b8420, + 0xbc64: 0x6c151020, + 0xbc68: 0x6c1b8620, + 0xbc6d: 0x6c04b420, + 0xbc71: 0x6c099020, + 0xbc78: 0x6c1b8820, 0xbc79: 0x6c1b8a20, 0xbc7a: 0x6c094820, 0xbc7b: 0x6c0b1c20, + 0xbc7c: 0x6c10d020, 0xbc7d: 0x6c0b6c20, 0xbc7e: 0x6c125020, 0xbc7f: 0x6c10e820, + // Block 0x2f2, offset 0xbc80 + 0xbc80: 0x6c04ba20, 0xbc81: 0x6c1b8c20, + 0xbc85: 0x6c044a20, 0xbc86: 0x6c1b8e20, + 0xbc88: 0x6c052420, 0xbc8a: 0x6c108620, 0xbc8b: 0x6c019820, + 0xbc8d: 0x6c087a20, 0xbc8e: 0x6c1b9020, 0xbc8f: 0x6c1b9620, + 0xbc90: 0x6c1b9420, 0xbc91: 0x6c052220, 0xbc93: 0x6c1b9220, + 0xbc95: 0x6c0f9c20, + 0xbc9e: 0x6c0d5820, + 0xbca0: 0x6c0fc220, 0xbca1: 0x6c092020, + 0xbca4: 0x6c0cec20, 0xbca5: 0x6c160020, + 0xbcac: 0x6c1b9a20, 0xbcae: 0x6c1b9c20, 0xbcaf: 0x6c109420, + 0xbcb1: 0x6c083a20, + 0xbcb6: 0x6c1ba020, + 0xbcb9: 0x6c1ba220, + // Block 0x2f3, offset 0xbcc0 + 0xbccc: 0x6c1ba420, + 0xbcd0: 0x6c039820, 0xbcd1: 0x6c1ba620, + 0xbcd4: 0x6c1ba820, + 0xbce1: 0x6c019020, + 0xbce8: 0x6c0cb220, 0xbce9: 0x6c037820, 0xbceb: 0x6c1bac20, + 0xbcec: 0x6c14a020, + 0xbcf1: 0x6c0d9c20, 0xbcf3: 0x6c02a620, + 0xbcf6: 0x6c1bb020, 0xbcf7: 0x6c1bb420, + 0xbcf8: 0x6c036e20, 0xbcfb: 0x6c1bae20, + 0xbcfc: 0x6c1bb220, 0xbcfe: 0x6c1bb820, + // Block 0x2f4, offset 0xbd00 + 0xbd05: 0x6c1bb620, 0xbd07: 0x6c1bba20, + 0xbd19: 0x6c1bbc20, + 0xbd20: 0x6c106220, 0xbd21: 0x6c048420, + 0xbd28: 0x6c020220, 0xbd29: 0x6c1bbe20, 0xbd2a: 0x6c1bc820, + 0xbd2d: 0x6c1bc420, 0xbd2f: 0x6c13c620, + 0xbd30: 0x6c13c420, + 0xbd36: 0x6c0ffa20, + 0xbd3a: 0x6c1bc220, 0xbd3b: 0x6c09f420, + 0xbd3d: 0x6c1bc020, + // Block 0x2f5, offset 0xbd40 + 0xbd47: 0x6c0ba820, + 0xbd4b: 0x6c1bca20, + 0xbd4e: 0x6c07ec20, + 0xbd51: 0x6c1bd620, + 0xbd54: 0x6c1bd820, 0xbd55: 0x6c1bcc20, 0xbd56: 0x6c025a20, 0xbd57: 0x6c1bce20, + 0xbd58: 0x6c1be020, 0xbd59: 0x6c1bde20, 0xbd5a: 0x6c1bdc20, 0xbd5b: 0x6c1bd420, + 0xbd5f: 0x6c1bd220, + 0xbd62: 0x6c1bda20, + 0xbd69: 0x6c13c820, + // Block 0x2f6, offset 0xbd80 + 0xbd8b: 0x6c1be820, + 0xbd8c: 0x6c1be220, 0xbd8e: 0x6c1be620, + 0xbd90: 0x6c15f020, 0xbd92: 0x6c1be420, + 0xbd9c: 0x6c1bd020, + 0xbda9: 0x6c0baa20, + 0xbdac: 0x6c1bea20, 0xbdaf: 0x6c078620, + 0xbdb3: 0x6c1bec20, + 0xbdb6: 0x6c1bee20, + // Block 0x2f7, offset 0xbdc0 + 0xbdc2: 0x6c1bf420, + 0xbdc4: 0x6c1bf220, 0xbdc7: 0x6c1bf020, + 0xbdcb: 0x6c0ffc20, + 0xbdcc: 0x6c1bc620, + 0xbdd0: 0x6c1c0020, + 0xbddd: 0x6c1bf820, + 0xbde2: 0x6c1bf620, + 0xbdec: 0x6c1bfa20, 0xbdee: 0x6c1bfc20, + 0xbdf7: 0x6c1c0220, + 0xbdfa: 0x6c169420, + 0xbdfc: 0x6c1c0420, 0xbdfd: 0x6c1bfe20, + // Block 0x2f8, offset 0xbe00 + 0xbe09: 0x6c1c0620, + 0xbe0c: 0x6c037020, 0xbe0d: 0x6c1c0820, + 0xbe12: 0x6c1c0c20, 0xbe13: 0x6c1c0a20, + 0xbe16: 0x6c1c0e20, + 0xbe1b: 0x6c1c1020, + 0xbe1d: 0x6c0c5c20, 0xbe1e: 0x6c099220, + 0xbe21: 0x6c0a1420, 0xbe23: 0x6c0d0220, + 0xbe25: 0x6c06ae20, 0xbe26: 0x6c078820, 0xbe27: 0x6c06b020, + 0xbe28: 0x6c044c20, 0xbe2b: 0x6c1c1220, + 0xbe2e: 0x6c078a20, + 0xbe31: 0x6c063420, 0xbe32: 0x6c1c1420, 0xbe33: 0x6c149c20, + 0xbe34: 0x6c112a20, 0xbe35: 0x6c1c1620, 0xbe37: 0x6c06b220, + 0xbe3b: 0x6c030820, + 0xbe3d: 0x6c0e0220, 0xbe3e: 0x6c04cc20, + // Block 0x2f9, offset 0xbe40 + 0xbe42: 0x6c087c20, 0xbe43: 0x6c12d220, + 0xbe46: 0x6c11e220, + 0xbe4b: 0x6c1c1820, + 0xbe4c: 0x6c039a20, + 0xbe51: 0x6c1c1e20, + 0xbe56: 0x6c0eb220, + 0xbe59: 0x6c1c1c20, 0xbe5a: 0x6c1c1a20, 0xbe5b: 0x6c1c2020, + 0xbe5d: 0x6c0f4620, + 0xbe65: 0x6c0b8a20, + 0xbe6b: 0x6c087e20, + 0xbe6d: 0x6c0c1420, 0xbe6f: 0x6c0d9e20, + 0xbe70: 0x6c03b020, 0xbe73: 0x6c0eb420, + 0xbe76: 0x6c1c2220, 0xbe77: 0x6c1c2420, + 0xbe78: 0x6c0ae620, + 0xbe7d: 0x6c140620, + // Block 0x2fa, offset 0xbe80 + 0xbe80: 0x6c1c2a20, 0xbe83: 0x6c1c2820, + 0xbe84: 0x6c1c2620, 0xbe85: 0x6c131620, 0xbe87: 0x6c1c3820, + 0xbe8c: 0x6c144820, 0xbe8e: 0x6c1c2c20, + 0xbe94: 0x6c1c3020, 0xbe95: 0x6c146a20, 0xbe97: 0x6c1c2e20, + 0xbe9f: 0x6c1c3220, + 0xbea1: 0x6c11b020, 0xbea2: 0x6c1c3420, 0xbea3: 0x6c135420, + 0xbea4: 0x6c1c3620, + 0xbeb2: 0x6c031620, 0xbeb3: 0x6c135620, + 0xbeb4: 0x6c110220, 0xbeb5: 0x6c1c3a20, 0xbeb6: 0x6c1c3c20, + 0xbeb8: 0x6c06b420, 0xbeb9: 0x6c031820, 0xbeba: 0x6c1c3e20, 0xbebb: 0x6c061020, + 0xbebc: 0x6c159420, 0xbebd: 0x6c155e20, 0xbebe: 0x6c039c20, 0xbebf: 0x6c1c4220, + // Block 0x2fb, offset 0xbec0 + 0xbec1: 0x6c0eb620, 0xbec3: 0x6c06b620, + 0xbec4: 0x6c0a6a20, 0xbec7: 0x6c121e20, + 0xbeca: 0x6c0a6c20, + 0xbecf: 0x6c0a3c20, + 0xbed5: 0x6c0f4820, 0xbed6: 0x6c13ca20, 0xbed7: 0x6c0f9e20, + 0xbeda: 0x6c06b820, + 0xbedc: 0x6c12d420, + 0xbee0: 0x6c1c4420, + 0xbee6: 0x6c0fde20, 0xbee7: 0x6c079c20, + 0xbeeb: 0x6c063620, + 0xbeed: 0x6c0f4a20, + 0xbef5: 0x6c004620, 0xbef6: 0x6c0a2820, 0xbef7: 0x6c06ba20, + 0xbef8: 0x6c159a20, + // Block 0x2fc, offset 0xbf00 + 0xbf01: 0x6c1c4620, 0xbf02: 0x6c1c4820, 0xbf03: 0x6c114620, + 0xbf08: 0x6c1c4a20, 0xbf09: 0x6c16b620, 0xbf0a: 0x6c16de20, + 0xbf0f: 0x6c1c4e20, + 0xbf10: 0x6c1c4c20, 0xbf13: 0x6c028220, + 0xbf16: 0x6c1c5020, + 0xbf1a: 0x6c1c5620, 0xbf1b: 0x6c1c5820, + 0xbf1d: 0x6c1c5420, 0xbf1f: 0x6c129c20, + 0xbf20: 0x6c0a6e20, 0xbf21: 0x6c1c5c20, 0xbf22: 0x6c1c5a20, 0xbf23: 0x6c1c5220, + 0xbf28: 0x6c1c5e20, 0xbf29: 0x6c1c6020, + 0xbf2c: 0x6c1c6220, + 0xbf30: 0x6c1c6820, 0xbf31: 0x6c1c6420, 0xbf33: 0x6c1c6620, + 0xbf34: 0x6c1c6a20, 0xbf36: 0x6c014420, 0xbf37: 0x6c0f4c20, + 0xbf38: 0x6c1c6c20, 0xbf3a: 0x6c05d820, 0xbf3b: 0x6c022420, + 0xbf3c: 0x6c111020, 0xbf3e: 0x6c1c6e20, 0xbf3f: 0x6c10de20, + // Block 0x2fd, offset 0xbf40 + 0xbf41: 0x6c138e20, 0xbf43: 0x6c1c7020, + 0xbf44: 0x6c16e020, + 0xbf49: 0x6c1c7220, 0xbf4a: 0x6c135820, 0xbf4b: 0x6c1c7820, + 0xbf4c: 0x6c172c20, 0xbf4d: 0x6c174c20, 0xbf4f: 0x6c08f020, + 0xbf50: 0x6c10d220, 0xbf51: 0x6c1c7a20, 0xbf53: 0x6c042620, + 0xbf54: 0x6c0eb820, 0xbf55: 0x6c00b420, 0xbf56: 0x6c1c7c20, 0xbf57: 0x6c132420, + 0xbf58: 0x6c06bc20, 0xbf5b: 0x6c0e5420, + 0xbf5f: 0x6c0f4e20, + 0xbf65: 0x6c152e20, 0xbf66: 0x6c061220, 0xbf67: 0x6c063820, + 0xbf69: 0x6c1c7e20, + 0xbf6d: 0x6c1c8020, 0xbf6f: 0x6c1c8c20, + 0xbf71: 0x6c095a20, + 0xbf75: 0x6c0eba20, 0xbf77: 0x6c048620, + 0xbf78: 0x6c1c8220, + 0xbf7c: 0x6c127220, 0xbf7e: 0x6c0e4020, + // Block 0x2fe, offset 0xbf80 + 0xbf81: 0x6c1c8420, + 0xbf88: 0x6c1c8620, 0xbf8a: 0x6c048820, + 0xbf8c: 0x6c1c8820, 0xbf8e: 0x6c1c8a20, + 0xbf91: 0x6c1c8e20, 0xbf93: 0x6c101820, + 0xbf96: 0x6c1c9020, 0xbf97: 0x6c1c9220, + 0xbf99: 0x6c1c9420, + 0xbf9c: 0x6c1c7620, 0xbf9d: 0x6c1c7420, + 0xbfa1: 0x6c1c9620, 0xbfa2: 0x6c056620, + 0xbfa6: 0x6c126a20, + 0xbfa9: 0x6c07b020, 0xbfaa: 0x6c128a20, 0xbfab: 0x6c0ebc20, + 0xbfac: 0x6c12b220, 0xbfad: 0x6c1c9820, + 0xbfb0: 0x6c0a7020, 0xbfb1: 0x6c010820, 0xbfb3: 0x6c1c9a20, + 0xbfb7: 0x6c1c9c20, + 0xbfb9: 0x6c153420, + 0xbfbc: 0x6c122020, 0xbfbf: 0x6c1ca220, + // Block 0x2ff, offset 0xbfc0 + 0xbfc0: 0x6c017620, 0xbfc1: 0x6c0bd820, 0xbfc2: 0x6c1ca020, 0xbfc3: 0x6c1c9e20, + 0xbfc4: 0x6c056820, 0xbfc5: 0x6c0da020, 0xbfc7: 0x6c1caa20, + 0xbfc8: 0x6c1ca620, 0xbfca: 0x6c1ca420, 0xbfcb: 0x6c161620, + 0xbfcc: 0x6c066a20, + 0xbfd0: 0x6c0a3e20, 0xbfd1: 0x6c1ca820, 0xbfd2: 0x6c0fc420, 0xbfd3: 0x6c09c820, + 0xbfd7: 0x6c106820, + 0xbfd8: 0x6c1cb020, 0xbfd9: 0x6c1cae20, + 0xbfde: 0x6c1cac20, + 0xbfe0: 0x6c1cb220, 0xbfe1: 0x6c066c20, + 0xbfe8: 0x6c1cb420, 0xbfe9: 0x6c131420, 0xbfea: 0x6c0a0220, + 0xbfed: 0x6c1cb620, 0xbfee: 0x6c125220, + 0xbff3: 0x6c106a20, + 0xbff4: 0x6c0ebe20, + 0xbff9: 0x6c0f8c20, + 0xbffc: 0x6c1cb820, 0xbffd: 0x6c03c220, + // Block 0x300, offset 0xc000 + 0xc003: 0x6c0b2c20, + 0xc005: 0x6c127420, + 0xc00c: 0x6c039e20, 0xc00d: 0x6c10f020, + 0xc016: 0x6c1cba20, 0xc017: 0x6c088020, + 0xc018: 0x6c140820, 0xc019: 0x6c140a20, + 0xc01c: 0x6c017820, 0xc01d: 0x6c1cc420, + 0xc020: 0x6c0e8620, + 0xc024: 0x6c1cbe20, + 0xc02b: 0x6c022620, + 0xc030: 0x6c1d2420, 0xc031: 0x6c1cc220, + 0xc035: 0x6c110420, + 0xc038: 0x6c1cc020, 0xc03b: 0x6c1cbc20, + 0xc03d: 0x6c075020, 0xc03f: 0x6c1cc820, + // Block 0x301, offset 0xc040 + 0xc04e: 0x6c1cd420, 0xc04f: 0x6c1ce020, + 0xc050: 0x6c1cd020, 0xc052: 0x6c0fe420, + 0xc055: 0x6c1cda20, 0xc056: 0x6c12d620, + 0xc059: 0x6c1cce20, 0xc05b: 0x6c1cd820, + 0xc05c: 0x6c169620, 0xc05d: 0x6c088220, + 0xc060: 0x6c0da220, 0xc061: 0x6c1cca20, + 0xc065: 0x6c042820, 0xc066: 0x6c1cde20, 0xc067: 0x6c0bda20, + 0xc068: 0x6c014620, 0xc069: 0x6c1cd220, 0xc06a: 0x6c022820, 0xc06b: 0x6c1cdc20, + 0xc06f: 0x6c048a20, + 0xc071: 0x6c1cd620, + 0xc07a: 0x6c1ce220, + // Block 0x302, offset 0xc080 + 0xc081: 0x6c1ce620, 0xc082: 0x6c1cfa20, 0xc083: 0x6c1cf620, + 0xc086: 0x6c1cf020, + 0xc08a: 0x6c1cee20, 0xc08b: 0x6c16b820, + 0xc08d: 0x6c1cf220, + 0xc090: 0x6c048c20, 0xc092: 0x6c06be20, + 0xc095: 0x6c0a4020, + 0xc099: 0x6c1d0020, 0xc09a: 0x6c1ce420, + 0xc09f: 0x6c1cec20, + 0xc0a0: 0x6c1ccc20, 0xc0a2: 0x6c022c20, 0xc0a3: 0x6c1cf420, + 0xc0a4: 0x6c1cf820, 0xc0a5: 0x6c0e5620, + 0xc0a8: 0x6c076820, 0xc0a9: 0x6c01a820, 0xc0aa: 0x6c1ce820, 0xc0ab: 0x6c1cfe20, + 0xc0ac: 0x6c1cfc20, 0xc0ad: 0x6c048e20, 0xc0af: 0x6c0d4a20, + 0xc0b0: 0x6c02c020, + 0xc0b5: 0x6c056a20, 0xc0b7: 0x6c1cea20, + // Block 0x303, offset 0xc0c0 + 0xc0c1: 0x6c1d0220, 0xc0c3: 0x6c1d0820, + 0xc0c4: 0x6c1d0c20, + 0xc0c9: 0x6c090a20, 0xc0cb: 0x6c1d1820, + 0xc0cc: 0x6c0f5020, 0xc0cd: 0x6c1d0420, + 0xc0d2: 0x6c1d1420, + 0xc0d4: 0x6c022a20, 0xc0d6: 0x6c1d1020, 0xc0d7: 0x6c1d1220, + 0xc0da: 0x6c1d0a20, 0xc0db: 0x6c1d0e20, + 0xc0df: 0x6c066e20, + 0xc0e0: 0x6c156020, 0xc0e3: 0x6c031a20, + 0xc0e6: 0x6c012e20, 0xc0e7: 0x6c1d1620, + 0xc0e9: 0x6c111820, 0xc0ea: 0x6c001a20, + 0xc0f2: 0x6c122220, 0xc0f3: 0x6c1cc620, + 0xc0f4: 0x6c1d2220, 0xc0f5: 0x6c1d2a20, 0xc0f6: 0x6c151a20, + 0xc0f8: 0x6c1d1c20, + 0xc0fc: 0x6c0ffe20, 0xc0fd: 0x6c1d2620, + // Block 0x304, offset 0xc100 + 0xc105: 0x6c0ae820, 0xc106: 0x6c1d2820, 0xc107: 0x6c109620, + 0xc111: 0x6c171220, 0xc113: 0x6c1d2020, + 0xc118: 0x6c1d2c20, 0xc11a: 0x6c075220, + 0xc11c: 0x6c0c1620, 0xc11f: 0x6c006820, + 0xc120: 0x6c1d1e20, 0xc121: 0x6c1d1a20, 0xc123: 0x6c0cf020, + 0xc127: 0x6c1d0620, + 0xc128: 0x6c083c20, + 0xc130: 0x6c0d8420, 0xc131: 0x6c1d4420, 0xc133: 0x6c0cf220, + 0xc134: 0x6c1d3a20, 0xc136: 0x6c1d3420, 0xc137: 0x6c1d3620, + 0xc139: 0x6c095c20, 0xc13a: 0x6c1d3c20, 0xc13b: 0x6c1d4220, + // Block 0x305, offset 0xc140 + 0xc140: 0x6c1d3820, 0xc141: 0x6c099620, 0xc143: 0x6c1d3e20, + 0xc146: 0x6c1d3220, + 0xc148: 0x6c154820, 0xc149: 0x6c154620, + 0xc14d: 0x6c1d4620, 0xc14e: 0x6c1d4820, 0xc14f: 0x6c006a20, + 0xc155: 0x6c1d3020, + 0xc15a: 0x6c050c20, 0xc15b: 0x6c000c20, + 0xc15f: 0x6c031c20, + 0xc161: 0x6c1d4020, + 0xc167: 0x6c1d5020, + 0xc168: 0x6c1d4e20, + 0xc16c: 0x6c1d5820, + 0xc174: 0x6c1d5a20, + 0xc17c: 0x6c1d5620, 0xc17d: 0x6c1d5c20, 0xc17e: 0x6c1d4c20, 0xc17f: 0x6c1d5420, + // Block 0x306, offset 0xc180 + 0xc182: 0x6c1d5e20, + 0xc184: 0x6c1d6020, 0xc187: 0x6c1d4a20, + 0xc188: 0x6c08cc20, 0xc18a: 0x6c1d5220, 0xc18b: 0x6c0da420, + 0xc18c: 0x6c06c020, 0xc18d: 0x6c1d2e20, 0xc18e: 0x6c0b2e20, + 0xc193: 0x6c1d7a20, + 0xc195: 0x6c13aa20, + 0xc198: 0x6c1d6620, 0xc199: 0x6c1d6820, 0xc19a: 0x6c1d6a20, + 0xc19d: 0x6c1d7820, 0xc19f: 0x6c1d7620, + 0xc1a2: 0x6c148e20, 0xc1a3: 0x6c031e20, + 0xc1a5: 0x6c1d7220, 0xc1a7: 0x6c056e20, + 0xc1a8: 0x6c025c20, 0xc1ab: 0x6c1d6c20, + 0xc1ae: 0x6c163820, 0xc1af: 0x6c1d7020, + 0xc1b0: 0x6c006c20, 0xc1b1: 0x6c1d7420, 0xc1b3: 0x6c1d6220, + 0xc1b4: 0x6c1d6e20, 0xc1b5: 0x6c1d7c20, 0xc1b6: 0x6c056c20, 0xc1b7: 0x6c1d6420, + 0xc1be: 0x6c15c620, + // Block 0x307, offset 0xc1c0 + 0xc1c2: 0x6c156220, + 0xc1c7: 0x6c1d8220, + 0xc1ca: 0x6c1d8a20, + 0xc1ce: 0x6c0d3820, + 0xc1d0: 0x6c16ba20, 0xc1d1: 0x6c1d8c20, + 0xc1d4: 0x6c1d8620, 0xc1d6: 0x6c1d8020, + 0xc1d9: 0x6c1d7e20, 0xc1da: 0x6c1d8820, + 0xc1e4: 0x6c133820, 0xc1e7: 0x6c105020, + 0xc1e9: 0x6c057020, 0xc1eb: 0x6c1d8e20, + 0xc1ec: 0x6c1d8420, 0xc1ee: 0x6c1d9020, + 0xc1f2: 0x6c05da20, + 0xc1f6: 0x6c019a20, + 0xc1fa: 0x6c1da020, + 0xc1fe: 0x6c032020, + // Block 0x308, offset 0xc200 + 0xc203: 0x6c1d9c20, + 0xc206: 0x6c1d9e20, 0xc207: 0x6c076a20, + 0xc208: 0x6c1d9a20, 0xc209: 0x6c1d9620, 0xc20a: 0x6c1d9420, 0xc20b: 0x6c1da220, + 0xc20c: 0x6c1d9220, 0xc20d: 0x6c1da620, + 0xc210: 0x6c022e20, + 0xc223: 0x6c1daa20, + 0xc226: 0x6c1da820, + 0xc232: 0x6c0ec020, + 0xc234: 0x6c1db020, 0xc236: 0x6c1dac20, 0xc237: 0x6c1d9820, + 0xc238: 0x6c05dc20, 0xc23a: 0x6c1dae20, + 0xc23c: 0x6c1db620, 0xc23d: 0x6c1db420, 0xc23e: 0x6c1db820, 0xc23f: 0x6c1db220, + // Block 0x309, offset 0xc240 + 0xc240: 0x6c1dba20, + 0xc248: 0x6c1dbc20, 0xc249: 0x6c1dbe20, 0xc24a: 0x6c13ac20, + 0xc24c: 0x6c1dc220, 0xc24d: 0x6c1dc020, 0xc24e: 0x6c09ca20, + 0xc250: 0x6c0bdc20, 0xc251: 0x6c020420, 0xc252: 0x6c023020, + 0xc254: 0x6c1dc420, 0xc256: 0x6c003e20, + 0xc25a: 0x6c0c1820, 0xc25b: 0x6c1dc620, + 0xc25d: 0x6c2c0020, 0xc25e: 0x6c1dc820, 0xc25f: 0x6c05a620, + 0xc261: 0x6c1dca20, + 0xc266: 0x6c0c5e20, + 0xc26a: 0x6c1dcc20, + 0xc26e: 0x6c1dce20, 0xc26f: 0x6c03e020, + 0xc270: 0x6c1dd020, 0xc272: 0x6c1dd220, 0xc273: 0x6c1dd420, + 0xc274: 0x6c0da620, + 0xc278: 0x6c063a20, 0xc27b: 0x6c151220, + 0xc27f: 0x6c140c20, + // Block 0x30a, offset 0xc280 + 0xc280: 0x6c0a2020, 0xc281: 0x6c1dd620, + 0xc287: 0x6c0c6020, + 0xc288: 0x6c2d6c20, 0xc289: 0x6c122420, 0xc28b: 0x6c096420, + 0xc28d: 0x6c07b220, 0xc28e: 0x6c1dd820, + 0xc293: 0x6c0d8620, + 0xc295: 0x6c132620, + 0xc298: 0x6c0dda20, 0xc29b: 0x6c1dde20, + 0xc29e: 0x6c1dda20, + 0xc2a0: 0x6c1de020, 0xc2a3: 0x6c1ddc20, + 0xc2a8: 0x6c1de220, + 0xc2ae: 0x6c133a20, + 0xc2b1: 0x6c002e20, + 0xc2b6: 0x6c12d820, + 0xc2b9: 0x6c122620, + 0xc2bc: 0x6c1de420, 0xc2be: 0x6c1dea20, 0xc2bf: 0x6c0a7220, + // Block 0x30b, offset 0xc2c0 + 0xc2c0: 0x6c03e220, 0xc2c2: 0x6c1de620, 0xc2c3: 0x6c1df420, + 0xc2c4: 0x6c0a7420, + 0xc2c9: 0x6c1de820, 0xc2ca: 0x6c112c20, + 0xc2d1: 0x6c15c820, 0xc2d2: 0x6c1dec20, 0xc2d3: 0x6c1dee20, + 0xc2d4: 0x6c1df620, 0xc2d5: 0x6c100020, 0xc2d6: 0x6c1df020, 0xc2d7: 0x6c06c220, + 0xc2d8: 0x6c0c3c20, 0xc2db: 0x6c1e1220, + 0xc2dc: 0x6c11c820, 0xc2de: 0x6c0ddc20, + 0xc2eb: 0x6c122820, + 0xc2ec: 0x6c1e9c20, + 0xc2f1: 0x6c13cc20, + 0xc2f5: 0x6c0f5220, + 0xc2f9: 0x6c147e20, 0xc2fb: 0x6c1dfc20, + 0xc2fc: 0x6c017a20, 0xc2fd: 0x6c0e8820, + // Block 0x30c, offset 0xc300 + 0xc302: 0x6c1e0e20, + 0xc305: 0x6c0e1c20, 0xc306: 0x6c1e0220, 0xc307: 0x6c1e1020, + 0xc308: 0x6c1e0620, 0xc309: 0x6c1e1420, 0xc30a: 0x6c1e0c20, + 0xc30c: 0x6c1e0a20, 0xc30d: 0x6c118220, 0xc30f: 0x6c1dfe20, + 0xc310: 0x6c023220, 0xc311: 0x6c1dfa20, 0xc312: 0x6c044e20, 0xc313: 0x6c0dde20, + 0xc314: 0x6c1df220, 0xc317: 0x6c1df820, + 0xc318: 0x6c06c420, 0xc319: 0x6c0c3620, 0xc31b: 0x6c0a7620, + 0xc31c: 0x6c1e0820, 0xc31d: 0x6c114820, + 0xc320: 0x6c045020, 0xc321: 0x6c028420, + 0xc32c: 0x6c02c220, 0xc32d: 0x6c0b0620, 0xc32e: 0x6c1e1820, 0xc32f: 0x6c1e2220, + 0xc331: 0x6c1e1a20, 0xc333: 0x6c05de20, + 0xc335: 0x6c1e2420, 0xc336: 0x6c081820, 0xc337: 0x6c072e20, + 0xc33e: 0x6c099820, 0xc33f: 0x6c1e0020, + // Block 0x30d, offset 0xc340 + 0xc341: 0x6c08ce20, 0xc342: 0x6c1e1e20, + 0xc347: 0x6c088420, + 0xc348: 0x6c1e2020, 0xc349: 0x6c004820, + 0xc34c: 0x6c1e1620, + 0xc351: 0x6c0ec220, + 0xc359: 0x6c045220, + 0xc35f: 0x6c049020, + 0xc367: 0x6c1e1c20, + 0xc368: 0x6c000e20, 0xc36b: 0x6c079e20, + 0xc36f: 0x6c0b3020, + 0xc37a: 0x6c0f5420, + 0xc37d: 0x6c120820, 0xc37e: 0x6c1e2820, 0xc37f: 0x6c0cf820, + // Block 0x30e, offset 0xc380 + 0xc389: 0x6c0d4c20, + 0xc38c: 0x6c082a20, 0xc38d: 0x6c1e2a20, 0xc38f: 0x6c1e2e20, + 0xc390: 0x6c1e2620, + 0xc395: 0x6c139a20, 0xc397: 0x6c0eea20, + 0xc39c: 0x6c0cf420, + 0xc3a7: 0x6c13ce20, + 0xc3a8: 0x6c092c20, 0xc3a9: 0x6c1e4620, 0xc3ab: 0x6c1e4420, + 0xc3ae: 0x6c0bb420, + 0xc3b2: 0x6c05e020, + 0xc3b6: 0x6c1e3820, 0xc3b7: 0x6c0a7a20, + 0xc3ba: 0x6c10b820, 0xc3bb: 0x6c110620, + // Block 0x30f, offset 0xc3c0 + 0xc3c0: 0x6c1e3420, 0xc3c3: 0x6c0cf620, + 0xc3c8: 0x6c098020, 0xc3c9: 0x6c1e3e20, + 0xc3cc: 0x6c0a7820, 0xc3ce: 0x6c1e3220, 0xc3cf: 0x6c1e3c20, + 0xc3d2: 0x6c114a20, + 0xc3d6: 0x6c1e3020, + 0xc3d8: 0x6c052620, 0xc3db: 0x6c02ae20, + 0xc3df: 0x6c1e4020, + 0xc3e0: 0x6c161e20, 0xc3e1: 0x6c07b420, 0xc3e2: 0x6c0e1e20, 0xc3e3: 0x6c1e3a20, + 0xc3e5: 0x6c0c3820, 0xc3e7: 0x6c06c620, + 0xc3e8: 0x6c0b8c20, 0xc3e9: 0x6c014820, 0xc3ea: 0x6c0cb420, 0xc3eb: 0x6c1e3620, + 0xc3ec: 0x6c03f620, + 0xc3f2: 0x6c057220, + 0xc3f4: 0x6c0f0e20, 0xc3f5: 0x6c1e4220, + 0xc3fb: 0x6c0cfa20, + 0xc3fe: 0x6c1e4820, + // Block 0x310, offset 0xc400 + 0xc400: 0x6c1e4c20, 0xc403: 0x6c0d6620, + 0xc404: 0x6c1e5820, 0xc406: 0x6c1e4e20, + 0xc409: 0x6c1e5220, + 0xc40f: 0x6c129e20, + 0xc410: 0x6c0f5620, 0xc412: 0x6c1e5420, + 0xc416: 0x6c156420, + 0xc41a: 0x6c159c20, 0xc41b: 0x6c032220, + 0xc421: 0x6c001c20, 0xc423: 0x6c1e5020, + 0xc429: 0x6c1e4a20, + 0xc42e: 0x6c03a020, + 0xc434: 0x6c014a20, 0xc436: 0x6c1e5620, + 0xc43a: 0x6c159e20, + // Block 0x311, offset 0xc440 + 0xc446: 0x6c1e5e20, + 0xc44d: 0x6c0d6e20, 0xc44f: 0x6c1e6c20, + 0xc453: 0x6c1e6020, + 0xc456: 0x6c1e5a20, 0xc457: 0x6c1e6820, + 0xc45c: 0x6c1e2c20, + 0xc466: 0x6c1e6220, + 0xc468: 0x6c1e6a20, + 0xc46c: 0x6c11e420, 0xc46d: 0x6c100220, + 0xc474: 0x6c1e5c20, 0xc476: 0x6c1e6420, + 0xc47a: 0x6c057420, + 0xc47e: 0x6c07fa20, + // Block 0x312, offset 0xc480 + 0xc482: 0x6c0c3a20, + 0xc48e: 0x6c1e7420, + 0xc498: 0x6c0f7820, + 0xc4a7: 0x6c1e6e20, + 0xc4a9: 0x6c145420, + 0xc4af: 0x6c1e7020, + 0xc4b6: 0x6c1e7220, + 0xc4b8: 0x6c14ec20, 0xc4ba: 0x6c0bc420, + // Block 0x313, offset 0xc4c0 + 0xc4c3: 0x6c05a820, + 0xc4c8: 0x6c1e8020, + 0xc4d2: 0x6c083e20, 0xc4d3: 0x6c1e7a20, + 0xc4d5: 0x6c1e7820, + 0xc4da: 0x6c110820, + 0xc4de: 0x6c105220, + 0xc4e4: 0x6c0f8e20, 0xc4e5: 0x6c1e7c20, + 0xc4e9: 0x6c1e7e20, 0xc4eb: 0x6c12fa20, + 0xc4ed: 0x6c112e20, 0xc4ee: 0x6c081a20, + 0xc4f0: 0x6c0c6220, 0xc4f2: 0x6c143420, + 0xc4f9: 0x6c028620, 0xc4fb: 0x6c1e8c20, + 0xc4fc: 0x6c1e8220, + // Block 0x314, offset 0xc500 + 0xc501: 0x6c15a020, 0xc502: 0x6c1e9020, + 0xc505: 0x6c1e8820, 0xc507: 0x6c1e8a20, + 0xc50d: 0x6c0cfc20, + 0xc512: 0x6c1e8620, + 0xc514: 0x6c1e0420, + 0xc518: 0x6c1e8e20, 0xc51a: 0x6c1e8420, + 0xc520: 0x6c1e9820, 0xc521: 0x6c1e9a20, 0xc522: 0x6c0f7a20, 0xc523: 0x6c1e9e20, + 0xc526: 0x6c081c20, 0xc527: 0x6c1e9420, + 0xc52c: 0x6c03e420, 0xc52f: 0x6c1ea020, + 0xc531: 0x6c1e9220, 0xc532: 0x6c1ea820, + 0xc534: 0x6c1ea620, 0xc536: 0x6c1ea420, + 0xc53a: 0x6c1eaa20, + 0xc53d: 0x6c1eae20, 0xc53e: 0x6c0aea20, + // Block 0x315, offset 0xc540 + 0xc540: 0x6c1eac20, + 0xc545: 0x6c1eb420, + 0xc558: 0x6c1eb020, + 0xc55c: 0x6c1eb220, 0xc55d: 0x6c1e6620, + 0xc563: 0x6c1eb820, + 0xc564: 0x6c1eb620, + 0xc56a: 0x6c1e7620, 0xc56b: 0x6c1eba20, + 0xc56c: 0x6c1ea220, 0xc56f: 0x6c088620, + 0xc574: 0x6c1ebc20, 0xc575: 0x6c1ebe20, 0xc576: 0x6c1ec220, 0xc577: 0x6c1ec020, + 0xc578: 0x6c1ec420, 0xc579: 0x6c023420, 0xc57b: 0x6c06c820, + 0xc57e: 0x6c13d020, 0xc57f: 0x6c0bde20, + // Block 0x316, offset 0xc580 + 0xc585: 0x6c063c20, + 0xc588: 0x6c1ec820, + 0xc58d: 0x6c1ece20, 0xc58f: 0x6c12c020, + 0xc591: 0x6c042a20, + 0xc595: 0x6c1ecc20, 0xc596: 0x6c1eca20, 0xc597: 0x6c114c20, + 0xc598: 0x6c1ed020, 0xc599: 0x6c049220, + 0xc59d: 0x6c1ed420, 0xc59e: 0x6c1ed220, + 0xc5a2: 0x6c032420, 0xc5a3: 0x6c084020, + 0xc5a6: 0x6c109820, + 0xc5ac: 0x6c057620, + 0xc5b0: 0x6c0bac20, 0xc5b2: 0x6c1ed620, + 0xc5b4: 0x6c0be020, 0xc5b5: 0x6c0f7c20, 0xc5b7: 0x6c12da20, + 0xc5b8: 0x6c1ed820, + // Block 0x317, offset 0xc5c0 + 0xc5c2: 0x6c1eda20, 0xc5c3: 0x6c1edc20, + 0xc5c7: 0x6c134820, + 0xc5c8: 0x6c1b5020, 0xc5c9: 0x6c0c0c20, + 0xc5cc: 0x6c12b420, 0xc5ce: 0x6c07c820, + 0xc5d0: 0x6c122a20, 0xc5d1: 0x6c11e620, + 0xc5d7: 0x6c0fc620, + 0xc5d9: 0x6c164a20, 0xc5db: 0x6c1ee020, + 0xc5dc: 0x6c093020, 0xc5df: 0x6c1ee220, + 0xc5e1: 0x6c002c20, + 0xc5e4: 0x6c04d020, 0xc5e5: 0x6c0c1a20, 0xc5e7: 0x6c12dc20, + 0xc5eb: 0x6c1ee420, + 0xc5ec: 0x6c085820, 0xc5ed: 0x6c0e4220, 0xc5ef: 0x6c088a20, + 0xc5f0: 0x6c0b3220, + 0xc5f7: 0x6c1ee620, + 0xc5f9: 0x6c13d220, + 0xc5fc: 0x6c016a20, 0xc5fd: 0x6c088c20, + // Block 0x318, offset 0xc600 + 0xc601: 0x6c1eec20, 0xc603: 0x6c1ee820, + 0xc604: 0x6c1eee20, 0xc605: 0x6c163a20, 0xc606: 0x6c1eea20, + 0xc60b: 0x6c0c7620, + 0xc60c: 0x6c1ef020, 0xc60f: 0x6c0d5c20, + 0xc612: 0x6c1ef220, + 0xc617: 0x6c03a420, + 0xc619: 0x6c1ef620, 0xc61b: 0x6c1ef420, + 0xc620: 0x6c1ef820, 0xc621: 0x6c1efa20, 0xc622: 0x6c03a620, + 0xc625: 0x6c10e020, 0xc626: 0x6c0e2020, 0xc627: 0x6c044420, + 0xc628: 0x6c088e20, 0xc629: 0x6c0cfe20, + 0xc62c: 0x6c0a0420, 0xc62d: 0x6c002020, + 0xc631: 0x6c1efc20, + 0xc63a: 0x6c017c20, 0xc63b: 0x6c1f0420, + // Block 0x319, offset 0xc640 + 0xc642: 0x6c06ca20, 0xc643: 0x6c1f0220, + 0xc646: 0x6c076e20, 0xc647: 0x6c0a7c20, + 0xc64a: 0x6c1f0020, + 0xc64c: 0x6c0a7e20, 0xc64e: 0x6c14d020, 0xc64f: 0x6c076c20, + 0xc653: 0x6c006e20, + 0xc654: 0x6c0c1c20, + 0xc65c: 0x6c1f0e20, 0xc65f: 0x6c0be220, + 0xc660: 0x6c010a20, + 0xc665: 0x6c09f620, 0xc667: 0x6c146020, + 0xc668: 0x6c07fc20, + 0xc66d: 0x6c0a8020, 0xc66f: 0x6c0bce20, + 0xc674: 0x6c1f0c20, 0xc675: 0x6c1f0820, 0xc676: 0x6c1f0a20, + 0xc67c: 0x6c0e8a20, 0xc67f: 0x6c1f4a20, + // Block 0x31a, offset 0xc680 + 0xc681: 0x6c1f1620, 0xc682: 0x6c08d020, 0xc683: 0x6c06cc20, + 0xc684: 0x6c1f1220, + 0xc689: 0x6c1f1420, 0xc68b: 0x6c0b3420, + 0xc68f: 0x6c1f1020, + 0xc692: 0x6c083220, + 0xc69d: 0x6c1f1a20, 0xc69e: 0x6c1f1820, 0xc69f: 0x6c1f2220, + 0xc6a2: 0x6c1f2420, + 0xc6a4: 0x6c1f1c20, 0xc6a6: 0x6c023820, 0xc6a7: 0x6c1f1e20, + 0xc6a8: 0x6c1f2020, 0xc6a9: 0x6c120a20, + 0xc6ae: 0x6c12de20, 0xc6af: 0x6c057820, + 0xc6b0: 0x6c1f2620, + 0xc6b4: 0x6c0be420, 0xc6b6: 0x6c0a8220, + 0xc6ba: 0x6c0e5820, + // Block 0x31b, offset 0xc6c0 + 0xc6c1: 0x6c04b620, 0xc6c3: 0x6c1f2820, + 0xc6c4: 0x6c1f3020, 0xc6c7: 0x6c01ce20, + 0xc6c8: 0x6c1f2a20, 0xc6c9: 0x6c1f2e20, + 0xc6ce: 0x6c1f2c20, + 0xc6d1: 0x6c0a2220, + 0xc6d6: 0x6c0e4420, 0xc6d7: 0x6c004a20, + 0xc6d8: 0x6c1f3220, + 0xc6dd: 0x6c1f3420, + 0xc6e2: 0x6c0ec420, + 0xc6e6: 0x6c16aa20, + 0xc6eb: 0x6c085a20, + 0xc6ee: 0x6c13ae20, + 0xc6f4: 0x6c140e20, + 0xc6f8: 0x6c1f4220, 0xc6f9: 0x6c1f3820, + 0xc6fc: 0x6c1f3e20, 0xc6fe: 0x6c1f3c20, + // Block 0x31c, offset 0xc700 + 0xc701: 0x6c1f3620, + 0xc704: 0x6c1f4020, 0xc707: 0x6c10a420, + 0xc709: 0x6c1f3a20, + 0xc716: 0x6c1f4420, + 0xc719: 0x6c0a2420, 0xc71a: 0x6c1f4620, + 0xc71c: 0x6c15a220, 0xc71d: 0x6c119420, + 0xc720: 0x6c1f4820, + 0xc726: 0x6c1f4c20, + 0xc729: 0x6c1f4e20, + 0xc730: 0x6c1f5020, 0xc732: 0x6c04bc20, 0xc733: 0x6c010c20, + 0xc734: 0x6c06ce20, 0xc735: 0x6c1f5220, 0xc737: 0x6c1f5420, + 0xc738: 0x6c0a2e20, 0xc739: 0x6c0d0020, + 0xc73c: 0x6c191220, 0xc73d: 0x6c0cb820, 0xc73e: 0x6c0cb620, 0xc73f: 0x6c0da820, + // Block 0x31d, offset 0xc740 + 0xc740: 0x6c07a620, 0xc743: 0x6c17ce20, + 0xc748: 0x6c05c020, 0xc749: 0x6c156620, 0xc74b: 0x6c13d420, + 0xc74d: 0x6c131820, 0xc74f: 0x6c1f5620, + 0xc754: 0x6c07fe20, 0xc755: 0x6c0eee20, 0xc756: 0x6c1f5820, 0xc757: 0x6c16e220, + 0xc75b: 0x6c141020, + 0xc75d: 0x6c0ec620, 0xc75e: 0x6c1f5a20, 0xc75f: 0x6c03a820, + 0xc766: 0x6c1f5c20, 0xc767: 0x6c1f5e20, + 0xc768: 0x6c150420, 0xc76a: 0x6c149820, 0xc76b: 0x6c148020, + 0xc76c: 0x6c144c20, 0xc76d: 0x6c081e20, 0xc76e: 0x6c1f6220, + 0xc771: 0x6c096620, + 0xc774: 0x6c143620, 0xc776: 0x6c1f6620, 0xc777: 0x6c1f6c20, + 0xc778: 0x6c1f6a20, 0xc77a: 0x6c03a220, + 0xc77d: 0x6c042c20, 0xc77f: 0x6c1f6420, + // Block 0x31e, offset 0xc780 + 0xc781: 0x6c1f6820, + 0xc786: 0x6c1f6e20, + 0xc789: 0x6c0bb620, + 0xc78e: 0x6c160220, 0xc78f: 0x6c005220, + 0xc790: 0x6c07d820, 0xc791: 0x6c0d7020, 0xc793: 0x6c094a20, + 0xc796: 0x6c0aee20, + 0xc799: 0x6c1f7420, + 0xc79c: 0x6c0fc820, 0xc79e: 0x6c1f7020, 0xc79f: 0x6c0d4e20, + 0xc7a0: 0x6c1f7220, 0xc7a1: 0x6c0aec20, 0xc7a2: 0x6c150a20, 0xc7a3: 0x6c1f7620, + 0xc7a4: 0x6c1f7820, 0xc7a5: 0x6c15dc20, + 0xc7aa: 0x6c1f8220, + 0xc7ad: 0x6c06d020, 0xc7af: 0x6c114e20, + 0xc7b0: 0x6c1f7c20, 0xc7b1: 0x6c100420, 0xc7b2: 0x6c1efe20, 0xc7b3: 0x6c1f0620, + 0xc7b5: 0x6c040a20, 0xc7b7: 0x6c113220, + 0xc7bc: 0x6c1f8020, 0xc7be: 0x6c0a8420, 0xc7bf: 0x6c11e820, + // Block 0x31f, offset 0xc7c0 + 0xc7c5: 0x6c1f8c20, 0xc7c7: 0x6c125420, + 0xc7c9: 0x6c1f7a20, 0xc7cb: 0x6c1f8620, + 0xc7cc: 0x6c1f8420, + 0xc7d0: 0x6c0c1e20, + 0xc7d5: 0x6c146e20, 0xc7d7: 0x6c166e20, + 0xc7da: 0x6c146220, + 0xc7dc: 0x6c01d020, 0xc7dd: 0x6c089020, + 0xc7e0: 0x6c171420, 0xc7e1: 0x6c1f8a20, 0xc7e2: 0x6c0bae20, + 0xc7e6: 0x6c1f8820, + 0xc7e9: 0x6c1f7e20, + 0xc7ef: 0x6c063e20, + 0xc7f3: 0x6c1f9620, + 0xc7f4: 0x6c1f9220, 0xc7f6: 0x6c01d220, 0xc7f7: 0x6c1f8e20, + 0xc7f8: 0x6c1f9a20, 0xc7f9: 0x6c1fa620, + // Block 0x320, offset 0xc800 + 0xc801: 0x6c0d8820, + 0xc804: 0x6c135a20, 0xc806: 0x6c1faa20, + 0xc80a: 0x6c126020, + 0xc80e: 0x6c1fa820, 0xc80f: 0x6c118420, + 0xc810: 0x6c141220, 0xc811: 0x6c032620, 0xc813: 0x6c0c6e20, + 0xc814: 0x6c09cc20, + 0xc818: 0x6c0f1620, 0xc81a: 0x6c156820, + 0xc81d: 0x6c1fa020, 0xc81e: 0x6c1f9e20, + 0xc822: 0x6c1fa220, + 0xc824: 0x6c1f9c20, 0xc827: 0x6c1fac20, + 0xc829: 0x6c1f9820, + 0xc82c: 0x6c1f9420, 0xc82e: 0x6c1fa420, 0xc82f: 0x6c1f9020, + 0xc831: 0x6c0e8c20, 0xc833: 0x6c154020, + 0xc834: 0x6c091c20, 0xc835: 0x6c080020, + 0xc83b: 0x6c078c20, + 0xc83e: 0x6c147220, 0xc83f: 0x6c027620, + // Block 0x321, offset 0xc840 + 0xc842: 0x6c0f0c20, 0xc843: 0x6c107c20, + 0xc844: 0x6c010e20, + 0xc853: 0x6c0c6420, + 0xc856: 0x6c0be820, 0xc857: 0x6c053820, + 0xc85e: 0x6c1fb020, + 0xc861: 0x6c06d220, 0xc862: 0x6c02ec20, + 0xc869: 0x6c1fb420, 0xc86a: 0x6c02dc20, 0xc86b: 0x6c1fc020, + 0xc872: 0x6c1fba20, + 0xc874: 0x6c0c6620, + 0xc878: 0x6c028a20, 0xc879: 0x6c077020, + 0xc87c: 0x6c028820, 0xc87d: 0x6c07b620, + // Block 0x322, offset 0xc880 + 0xc880: 0x6c1fb620, 0xc881: 0x6c05ae20, 0xc882: 0x6c057a20, 0xc883: 0x6c100620, + 0xc886: 0x6c1fb220, + 0xc888: 0x6c004c20, + 0xc88d: 0x6c1fb820, 0xc88e: 0x6c1fbc20, + 0xc890: 0x6c04c220, 0xc891: 0x6c053c20, 0xc893: 0x6c032820, + 0xc894: 0x6c040220, + 0xc899: 0x6c1fc220, + 0xc89c: 0x6c080a20, 0xc89d: 0x6c147620, 0xc89f: 0x6c084220, + 0xc8a3: 0x6c1fc420, + 0xc8a7: 0x6c127c20, + 0xc8b4: 0x6c1fdc20, 0xc8b6: 0x6c019e20, 0xc8b7: 0x6c1fc620, + 0xc8be: 0x6c1fe820, 0xc8bf: 0x6c1fc820, + // Block 0x323, offset 0xc8c0 + 0xc8c1: 0x6c164c20, 0xc8c3: 0x6c1fd620, + 0xc8c5: 0x6c116220, + 0xc8cd: 0x6c1fe620, 0xc8cf: 0x6c1fcc20, + 0xc8d3: 0x6c002820, + 0xc8d4: 0x6c1fd020, 0xc8d7: 0x6c06d420, + 0xc8db: 0x6c1fd420, + 0xc8dd: 0x6c1fd220, 0xc8df: 0x6c1fca20, + 0xc8e0: 0x6c1fe020, 0xc8e2: 0x6c0a8620, + 0xc8e6: 0x6c1ab420, 0xc8e7: 0x6c067020, + 0xc8e8: 0x6c160420, + 0xc8ed: 0x6c1fce20, 0xc8ef: 0x6c0f5820, + 0xc8f0: 0x6c023a20, 0xc8f1: 0x6c077220, 0xc8f3: 0x6c1fbe20, + 0xc8f5: 0x6c1fde20, 0xc8f6: 0x6c02b620, + 0xc8f9: 0x6c1fda20, 0xc8fa: 0x6c1fe220, + 0xc8fc: 0x6c100820, + // Block 0x324, offset 0xc900 + 0xc904: 0x6c03ac20, 0xc906: 0x6c201e20, + 0xc909: 0x6c14e220, 0xc90a: 0x6c1fec20, 0xc90b: 0x6c03aa20, + 0xc90d: 0x6c1ffa20, + 0xc912: 0x6c141420, + 0xc914: 0x6c1ffc20, 0xc915: 0x6c200020, 0xc917: 0x6c200820, + 0xc918: 0x6c1ff020, 0xc91a: 0x6c0e0820, + 0xc91f: 0x6c100a20, + 0xc920: 0x6c201020, 0xc921: 0x6c1ff620, 0xc923: 0x6c200a20, + 0xc927: 0x6c1ffe20, + 0xc92e: 0x6c0b3620, 0xc92f: 0x6c201220, + 0xc932: 0x6c0be620, + 0xc939: 0x6c200e20, 0xc93a: 0x6c032a20, + // Block 0x325, offset 0xc940 + 0xc940: 0x6c172420, 0xc941: 0x6c1fea20, + 0xc944: 0x6c200620, 0xc945: 0x6c007020, + 0xc948: 0x6c1fee20, 0xc94b: 0x6c14c420, + 0xc94c: 0x6c1ff820, 0xc94d: 0x6c0b0820, 0xc94e: 0x6c0efe20, 0xc94f: 0x6c1fe420, + 0xc952: 0x6c200420, + 0xc959: 0x6c0bb820, 0xc95a: 0x6c201820, 0xc95b: 0x6c02d620, + 0xc95c: 0x6c05e220, + 0xc961: 0x6c201c20, 0xc962: 0x6c1ff220, 0xc963: 0x6c201a20, + 0xc965: 0x6c200c20, 0xc966: 0x6c1ff420, + 0xc968: 0x6c201420, 0xc96a: 0x6c201620, + 0xc970: 0x6c203820, + 0xc974: 0x6c108420, 0xc976: 0x6c200220, + 0xc979: 0x6c203020, + 0xc97d: 0x6c203420, 0xc97f: 0x6c0f2020, + // Block 0x326, offset 0xc980 + 0xc98a: 0x6c15a420, + 0xc993: 0x6c130820, + 0xc994: 0x6c202a20, 0xc995: 0x6c0d8c20, + 0xc999: 0x6c203620, 0xc99a: 0x6c0cba20, + 0xc99c: 0x6c202420, 0xc99d: 0x6c203e20, 0xc99e: 0x6c203c20, + 0xc9a0: 0x6c10c620, 0xc9a1: 0x6c203a20, 0xc9a2: 0x6c10bc20, + 0xc9aa: 0x6c204220, 0xc9ab: 0x6c202820, + 0xc9ad: 0x6c04b820, 0xc9ae: 0x6c202e20, 0xc9af: 0x6c0a0620, + 0xc9b3: 0x6c116420, + 0xc9b4: 0x6c203220, 0xc9b5: 0x6c04be20, 0xc9b7: 0x6c202220, + 0xc9b8: 0x6c202620, 0xc9b9: 0x6c202020, + 0xc9bc: 0x6c16e420, 0xc9bd: 0x6c02a820, 0xc9be: 0x6c202c20, + // Block 0x327, offset 0xc9c0 + 0xc9c1: 0x6c204020, 0xc9c2: 0x6c025e20, + 0xc9ca: 0x6c07e620, + 0xc9ce: 0x6c013620, + 0xc9d1: 0x6c206220, + 0xc9d4: 0x6c16e620, 0xc9d5: 0x6c206820, + 0xc9db: 0x6c0b3820, + 0xc9dc: 0x6c206620, + 0xc9e0: 0x6c206420, + 0xc9e7: 0x6c205e20, + 0xc9ee: 0x6c204620, + 0xc9f1: 0x6c208020, 0xc9f2: 0x6c204420, + 0xc9f4: 0x6c206a20, + 0xc9fb: 0x6c205a20, + 0xc9fe: 0x6c205020, 0xc9ff: 0x6c204a20, + // Block 0x328, offset 0xca00 + 0xca01: 0x6c204c20, 0xca03: 0x6c205c20, + 0xca07: 0x6c319e20, + 0xca0a: 0x6c205620, 0xca0b: 0x6c06d620, + 0xca0c: 0x6c0f0020, 0xca0d: 0x6c0d0420, 0xca0e: 0x6c205220, + 0xca10: 0x6c204820, 0xca13: 0x6c204e20, + 0xca18: 0x6c15a620, 0xca19: 0x6c146820, + 0xca1d: 0x6c205820, 0xca1e: 0x6c206c20, + 0xca27: 0x6c207c20, + 0xca28: 0x6c206e20, 0xca2b: 0x6c208820, + 0xca2d: 0x6c208420, + 0xca32: 0x6c207a20, + 0xca39: 0x6c207820, 0xca3b: 0x6c0f1020, + 0xca3d: 0x6c0d0620, 0xca3f: 0x6c207420, + // Block 0x329, offset 0xca40 + 0xca42: 0x6c207020, + 0xca45: 0x6c207e20, + 0xca4a: 0x6c208a20, 0xca4b: 0x6c124a20, + 0xca4c: 0x6c209620, + 0xca52: 0x6c208c20, 0xca53: 0x6c209220, + 0xca54: 0x6c208620, 0xca57: 0x6c0e9c20, + 0xca59: 0x6c128c20, 0xca5b: 0x6c207220, + 0xca5e: 0x6c208220, 0xca5f: 0x6c0a8820, + 0xca61: 0x6c14ee20, 0xca62: 0x6c20aa20, 0xca63: 0x6c209020, + 0xca69: 0x6c05e420, 0xca6a: 0x6c017e20, 0xca6b: 0x6c02b220, + 0xca6e: 0x6c206020, + 0xca75: 0x6c0a8a20, 0xca76: 0x6c209a20, + 0xca78: 0x6c20a820, 0xca79: 0x6c098220, 0xca7a: 0x6c02d820, + 0xca7d: 0x6c0e1020, + // Block 0x32a, offset 0xca80 + 0xca84: 0x6c209420, 0xca87: 0x6c209e20, + 0xca88: 0x6c20a620, 0xca8b: 0x6c049420, + 0xca98: 0x6c040420, 0xca99: 0x6c20a220, + 0xca9f: 0x6c03ae20, + 0xcaa1: 0x6c107e20, 0xcaa2: 0x6c20a020, + 0xcaa6: 0x6c20a420, + 0xcab2: 0x6c209820, + 0xcab8: 0x6c209c20, + 0xcabf: 0x6c02b420, + // Block 0x32b, offset 0xcac0 + 0xcac0: 0x6c0e4620, + 0xcac4: 0x6c20b220, + 0xcacd: 0x6c20ae20, 0xcace: 0x6c067220, + 0xcad0: 0x6c20ac20, + 0xcad7: 0x6c20b820, + 0xcadc: 0x6c1fae20, + 0xcae0: 0x6c20b020, 0xcae2: 0x6c20b420, 0xcae3: 0x6c20b620, + 0xcaea: 0x6c20ce20, + 0xcaec: 0x6c20c620, 0xcaee: 0x6c1fd820, + 0xcaf3: 0x6c20c420, + 0xcaf8: 0x6c20c220, 0xcafb: 0x6c20bc20, + // Block 0x32c, offset 0xcb00 + 0xcb01: 0x6c208e20, 0xcb02: 0x6c20c020, 0xcb03: 0x6c20be20, + 0xcb11: 0x6c20ca20, 0xcb13: 0x6c16d020, + 0xcb1a: 0x6c20d020, 0xcb1b: 0x6c051e20, + 0xcb1e: 0x6c20c820, 0xcb1f: 0x6c20cc20, + 0xcb28: 0x6c11ae20, 0xcb2a: 0x6c20d220, + 0xcb3a: 0x6c20da20, 0xcb3b: 0x6c20d420, + // Block 0x32d, offset 0xcb40 + 0xcb44: 0x6c15f220, 0xcb45: 0x6c20d620, + 0xcb4a: 0x6c207620, + 0xcb52: 0x6c20dc20, + 0xcb56: 0x6c20de20, + 0xcb5d: 0x6c00e620, 0xcb5f: 0x6c20e220, + 0xcb60: 0x6c05b220, 0xcb61: 0x6c08d220, 0xcb63: 0x6c04d220, + 0xcb67: 0x6c018020, + 0xcb72: 0x6c15ca20, + 0xcb77: 0x6c20e620, + 0xcb78: 0x6c20e420, 0xcb79: 0x6c20ea20, 0xcb7a: 0x6c03e620, + 0xcb7d: 0x6c04d420, 0xcb7e: 0x6c032c20, + // Block 0x32e, offset 0xcb80 + 0xcb83: 0x6c20f020, + 0xcb87: 0x6c20ee20, + 0xcb89: 0x6c20f220, + 0xcb8c: 0x6c01d420, 0xcb8e: 0x6c0e2220, + 0xcb90: 0x6c20f420, 0xcb93: 0x6c032e20, + 0xcb94: 0x6c20f820, + 0xcb99: 0x6c20f620, 0xcb9b: 0x6c20fa20, + 0xcb9f: 0x6c20fc20, + 0xcba1: 0x6c20fe20, 0xcba2: 0x6c089220, 0xcba3: 0x6c0bea20, + 0xcba4: 0x6c075a20, 0xcba6: 0x6c12fc20, + 0xcba9: 0x6c139c20, 0xcbaa: 0x6c170c20, + 0xcbaf: 0x6c08be20, + 0xcbb3: 0x6c07b820, + 0xcbb4: 0x6c16ac20, + 0xcbb8: 0x6c210020, 0xcbb9: 0x6c210220, 0xcbbb: 0x6c089420, + 0xcbbf: 0x6c210420, + // Block 0x32f, offset 0xcbc0 + 0xcbc0: 0x6c210620, 0xcbc3: 0x6c210a20, + 0xcbc4: 0x6c210820, 0xcbc6: 0x6c144420, + 0xcbc9: 0x6c0a0820, 0xcbca: 0x6c096820, 0xcbcb: 0x6c085c20, + 0xcbcd: 0x6c210c20, + 0xcbd5: 0x6c211020, 0xcbd6: 0x6c0b0a20, + 0xcbd8: 0x6c210e20, + 0xcbde: 0x6c211220, + 0xcbe4: 0x6c211420, + 0xcbea: 0x6c211620, 0xcbeb: 0x6c211820, + 0xcbef: 0x6c211a20, + 0xcbf1: 0x6c211e20, 0xcbf2: 0x6c211c20, 0xcbf3: 0x6c212020, + 0xcbf4: 0x6c018220, 0xcbf5: 0x6c0e4820, 0xcbf7: 0x6c212220, + 0xcbfa: 0x6c082020, 0xcbfb: 0x6c028c20, + 0xcbfc: 0x6c212420, 0xcbff: 0x6c0fb020, + // Block 0x330, offset 0xcc00 + 0xcc00: 0x6c1a7220, + 0xcc05: 0x6c03b220, 0xcc06: 0x6c212620, + 0xcc0b: 0x6c212820, + 0xcc0d: 0x6c13b020, 0xcc0e: 0x6c146420, + 0xcc12: 0x6c107620, 0xcc13: 0x6c212a20, + 0xcc14: 0x6c122c20, + 0xcc18: 0x6c125620, 0xcc1b: 0x6c14f620, + 0xcc1f: 0x6c212c20, + 0xcc2b: 0x6c213020, + 0xcc2c: 0x6c212e20, 0xcc2f: 0x6c213420, + 0xcc33: 0x6c213220, + // Block 0x331, offset 0xcc40 + 0xcc48: 0x6c213820, + 0xcc4f: 0x6c089620, + 0xcc51: 0x6c14b220, 0xcc53: 0x6c213a20, + 0xcc54: 0x6c213c20, 0xcc57: 0x6c03b420, + 0xcc5b: 0x6c213e20, + 0xcc63: 0x6c214220, + 0xcc64: 0x6c214020, + 0xcc74: 0x6c0b8e20, 0xcc77: 0x6c128e20, + 0xcc78: 0x6c011020, + 0xcc7e: 0x6c11ea20, + // Block 0x332, offset 0xcc80 + 0xcc80: 0x6c0f5a20, 0xcc81: 0x6c09ce20, 0xcc82: 0x6c042e20, + 0xcc8e: 0x6c11ec20, + 0xcc90: 0x6c08ec20, + 0xcc95: 0x6c214620, 0xcc97: 0x6c033020, + 0xcc9a: 0x6c016c20, + 0xcc9d: 0x6c10cc20, 0xcc9e: 0x6c214420, 0xcc9f: 0x6c06d820, + 0xcca0: 0x6c0e5a20, 0xcca2: 0x6c214820, + 0xcca8: 0x6c215820, 0xccaa: 0x6c214a20, + 0xccb0: 0x6c0d7a20, 0xccb2: 0x6c043020, 0xccb3: 0x6c215a20, + 0xccba: 0x6c05b420, + 0xccbd: 0x6c03b620, 0xccbe: 0x6c215620, + // Block 0x333, offset 0xccc0 + 0xccc1: 0x6c215220, 0xccc2: 0x6c214c20, 0xccc3: 0x6c15cc20, + 0xccc8: 0x6c0ef020, + 0xcccc: 0x6c109a20, 0xcccd: 0x6c214e20, + 0xccd0: 0x6c215e20, 0xccd2: 0x6c215c20, 0xccd3: 0x6c052a20, + 0xccd6: 0x6c019220, + 0xccd9: 0x6c078e20, 0xccda: 0x6c215020, 0xccdb: 0x6c215420, + 0xcce1: 0x6c144220, 0xcce2: 0x6c0de020, + 0xcceb: 0x6c148220, + 0xccee: 0x6c216e20, + 0xccf1: 0x6c217020, 0xccf3: 0x6c01d620, + 0xccf8: 0x6c132820, 0xccf9: 0x6c154a20, 0xccfa: 0x6c217420, 0xccfb: 0x6c08d620, + 0xccfc: 0x6c0a8c20, 0xccfd: 0x6c216620, 0xccfe: 0x6c217220, 0xccff: 0x6c014c20, + // Block 0x334, offset 0xcd00 + 0xcd01: 0x6c049620, + 0xcd04: 0x6c216020, 0xcd05: 0x6c216a20, + 0xcd09: 0x6c0c6820, 0xcd0a: 0x6c118620, + 0xcd0c: 0x6c122e20, + 0xcd13: 0x6c216420, + 0xcd15: 0x6c13d620, 0xcd17: 0x6c216820, + 0xcd19: 0x6c217a20, 0xcd1b: 0x6c217620, + 0xcd1d: 0x6c216c20, + 0xcd21: 0x6c13d820, 0xcd22: 0x6c113420, 0xcd23: 0x6c043220, + 0xcd25: 0x6c0f7620, + 0xcd28: 0x6c0e8e20, 0xcd2a: 0x6c217c20, + 0xcd2f: 0x6c217820, + 0xcd30: 0x6c0daa20, 0xcd31: 0x6c216220, 0xcd33: 0x6c011220, + // Block 0x335, offset 0xcd40 + 0xcd4b: 0x6c15a820, + 0xcd4c: 0x6c219220, + 0xcd52: 0x6c219020, + 0xcd57: 0x6c0c6c20, + 0xcd59: 0x6c218a20, 0xcd5b: 0x6c15e420, + 0xcd5e: 0x6c105420, 0xcd5f: 0x6c217e20, + 0xcd65: 0x6c0efa20, + 0xcd69: 0x6c011420, 0xcd6a: 0x6c06da20, 0xcd6b: 0x6c218420, + 0xcd72: 0x6c099a20, 0xcd73: 0x6c218e20, + 0xcd75: 0x6c218c20, 0xcd76: 0x6c218220, + 0xcd78: 0x6c218820, 0xcd7b: 0x6c02c420, + 0xcd7d: 0x6c218620, 0xcd7e: 0x6c113620, + // Block 0x336, offset 0xcd80 + 0xcd81: 0x6c162420, + 0xcd84: 0x6c0af020, 0xcd85: 0x6c0c6a20, + 0xcd99: 0x6c219e20, 0xcd9a: 0x6c219a20, + 0xcd9c: 0x6c12b620, + 0xcda3: 0x6c219420, + 0xcda4: 0x6c219820, 0xcda6: 0x6c00f020, + 0xcda9: 0x6c06dc20, 0xcdaa: 0x6c16e820, + 0xcdac: 0x6c026e20, 0xcdae: 0x6c12e020, + 0xcdb4: 0x6c15ce20, 0xcdb7: 0x6c023c20, + 0xcdb8: 0x6c0b3a20, 0xcdb9: 0x6c219c20, + // Block 0x337, offset 0xcdc0 + 0xcdc5: 0x6c21a620, + 0xcdc8: 0x6c0a8e20, + 0xcdcc: 0x6c156c20, 0xcdce: 0x6c21a020, + 0xcdd3: 0x6c219620, + 0xcdd5: 0x6c21a220, + 0xcdd9: 0x6c168420, 0xcddb: 0x6c101220, + 0xcddc: 0x6c106c20, + 0xcdef: 0x6c026020, + 0xcdf2: 0x6c012620, + 0xcdf5: 0x6c21ae20, + 0xcdf8: 0x6c21b420, + 0xcdfc: 0x6c164e20, + // Block 0x338, offset 0xce00 + 0xce00: 0x6c15d420, + 0xce05: 0x6c21c220, 0xce06: 0x6c21b620, 0xce07: 0x6c21b020, + 0xce0b: 0x6c167020, + 0xce0c: 0x6c21bc20, + 0xce11: 0x6c09e020, 0xce12: 0x6c21c020, + 0xce15: 0x6c21ca20, + 0xce18: 0x6c100e20, 0xce19: 0x6c21c620, + 0xce1e: 0x6c21ba20, + 0xce21: 0x6c0e2420, + 0xce24: 0x6c21c820, 0xce26: 0x6c21b220, + 0xce28: 0x6c21be20, 0xce2a: 0x6c21cc20, 0xce2b: 0x6c00b820, + 0xce2c: 0x6c21b820, 0xce2e: 0x6c21ce20, + 0xce31: 0x6c0b3c20, 0xce33: 0x6c0a0a20, + 0xce35: 0x6c132220, 0xce37: 0x6c077420, + 0xce39: 0x6c21a820, 0xce3a: 0x6c21c420, 0xce3b: 0x6c0fa020, + // Block 0x339, offset 0xce40 + 0xce45: 0x6c0bec20, 0xce47: 0x6c02c620, + 0xce48: 0x6c07ba20, 0xce49: 0x6c0a9020, 0xce4a: 0x6c21ac20, 0xce4b: 0x6c09d020, + 0xce53: 0x6c057c20, + 0xce55: 0x6c21aa20, + 0xce59: 0x6c21d620, 0xce5a: 0x6c0a2620, 0xce5b: 0x6c061420, + 0xce5d: 0x6c21f420, 0xce5f: 0x6c21e820, + 0xce60: 0x6c045420, 0xce61: 0x6c0fca20, 0xce63: 0x6c21de20, + 0xce64: 0x6c21f020, 0xce65: 0x6c001e20, 0xce66: 0x6c00e020, + 0xce69: 0x6c01aa20, 0xce6b: 0x6c21e220, + 0xce6c: 0x6c0d5020, 0xce6d: 0x6c21d020, 0xce6e: 0x6c21d420, 0xce6f: 0x6c06de20, + 0xce78: 0x6c21f620, 0xce7a: 0x6c21ec20, + 0xce7e: 0x6c21dc20, + // Block 0x33a, offset 0xce80 + 0xce83: 0x6c21ea20, + 0xce8a: 0x6c14a620, + 0xce8d: 0x6c21e620, 0xce8e: 0x6c21ee20, + 0xce96: 0x6c064020, + 0xce98: 0x6c0a9220, 0xce9b: 0x6c0e2620, + 0xce9f: 0x6c21da20, + 0xcea7: 0x6c156a20, + 0xceab: 0x6c21e020, + 0xceae: 0x6c21d220, 0xceaf: 0x6c101020, + 0xceb2: 0x6c21d820, + 0xceb6: 0x6c21e420, + 0xcebe: 0x6c172620, 0xcebf: 0x6c090c20, + // Block 0x33b, offset 0xcec0 + 0xcec0: 0x6c149020, 0xcec2: 0x6c21f820, + 0xcecc: 0x6c11bc20, 0xcecf: 0x6c221020, + 0xced0: 0x6c061620, + 0xced6: 0x6c0a0c20, + 0xced8: 0x6c21fc20, + 0xcedc: 0x6c162620, 0xcedd: 0x6c06e020, 0xcedf: 0x6c221620, + 0xcee2: 0x6c009c20, + 0xcee5: 0x6c221220, + 0xceea: 0x6c21fa20, + 0xceef: 0x6c220620, + 0xcef2: 0x6c220a20, + 0xcef6: 0x6c15aa20, 0xcef7: 0x6c220020, + 0xcefa: 0x6c0f8820, + 0xcefd: 0x6c220420, + // Block 0x33c, offset 0xcf00 + 0xcf02: 0x6c221420, + 0xcf04: 0x6c220820, 0xcf05: 0x6c14de20, + 0xcf09: 0x6c21fe20, 0xcf0b: 0x6c08d420, + 0xcf0c: 0x6c222e20, + 0xcf11: 0x6c02c820, 0xcf13: 0x6c220220, + 0xcf14: 0x6c220c20, 0xcf15: 0x6c220e20, + 0xcf1d: 0x6c0dd020, 0xcf1e: 0x6c0dac20, + 0xcf2c: 0x6c221e20, 0xcf2f: 0x6c222a20, + 0xcf32: 0x6c222620, + 0xcf34: 0x6c0f7e20, 0xcf37: 0x6c223420, + 0xcf38: 0x6c222020, + 0xcf3e: 0x6c222220, 0xcf3f: 0x6c21f220, + // Block 0x33d, offset 0xcf40 + 0xcf41: 0x6c045e20, 0xcf42: 0x6c129020, + 0xcf46: 0x6c090e20, + 0xcf49: 0x6c074a20, + 0xcf4f: 0x6c16ea20, + 0xcf51: 0x6c221a20, 0xcf53: 0x6c223220, + 0xcf54: 0x6c014e20, 0xcf55: 0x6c0d0820, + 0xcf60: 0x6c119620, 0xcf62: 0x6c033220, 0xcf63: 0x6c16bc20, + 0xcf6b: 0x6c149220, + 0xcf6c: 0x6c0f1420, + 0xcf71: 0x6c222820, 0xcf72: 0x6c222c20, + 0xcf78: 0x6c0ca020, + 0xcf7e: 0x6c223020, 0xcf7f: 0x6c222420, + // Block 0x33e, offset 0xcf80 + 0xcf81: 0x6c221820, + 0xcf85: 0x6c033620, + 0xcf94: 0x6c05b620, + 0xcf98: 0x6c224c20, 0xcf9b: 0x6c224220, + 0xcf9c: 0x6c0c7020, 0xcf9f: 0x6c02ba20, + 0xcfa4: 0x6c0a0e20, 0xcfa6: 0x6c225420, + 0xcfad: 0x6c224620, 0xcfae: 0x6c0ec820, 0xcfaf: 0x6c224020, + 0xcfb0: 0x6c0f2220, + 0xcfb4: 0x6c228620, + 0xcfb8: 0x6c223a20, 0xcfba: 0x6c223820, + 0xcfbc: 0x6c224a20, + // Block 0x33f, offset 0xcfc0 + 0xcfc0: 0x6c223e20, 0xcfc1: 0x6c223c20, 0xcfc2: 0x6c224820, + 0xcfc4: 0x6c0bc220, 0xcfc6: 0x6c223620, + 0xcfce: 0x6c224e20, + 0xcfd1: 0x6c225020, + 0xcfd7: 0x6c033420, + 0xcfe1: 0x6c225a20, 0xcfe3: 0x6c225820, + 0xcfe4: 0x6c225c20, + 0xcfea: 0x6c226220, + 0xcff1: 0x6c0fb220, 0xcff3: 0x6c225620, + 0xcff9: 0x6c225e20, + // Block 0x340, offset 0xd000 + 0xd000: 0x6c05aa20, 0xd001: 0x6c0dea20, 0xd002: 0x6c225220, 0xd003: 0x6c111a20, + 0xd006: 0x6c226020, + 0xd014: 0x6c226a20, 0xd015: 0x6c226620, + 0xd018: 0x6c226c20, 0xd01b: 0x6c227220, + 0xd01f: 0x6c226420, + 0xd020: 0x6c073020, 0xd021: 0x6c10f420, + 0xd024: 0x6c21a420, + 0xd02b: 0x6c15f420, + 0xd02c: 0x6c226820, 0xd02e: 0x6c227020, 0xd02f: 0x6c0de220, + 0xd031: 0x6c226e20, 0xd033: 0x6c224420, + 0xd036: 0x6c2e8020, + 0xd03a: 0x6c227820, + 0xd03e: 0x6c228020, + // Block 0x341, offset 0xd040 + 0xd041: 0x6c227c20, + 0xd049: 0x6c227420, 0xd04b: 0x6c227620, + 0xd04f: 0x6c227e20, + 0xd051: 0x6c227a20, + 0xd055: 0x6c12b820, + 0xd058: 0x6c228a20, 0xd05a: 0x6c228420, 0xd05b: 0x6c228220, + 0xd05d: 0x6c228820, 0xd05e: 0x6c109020, 0xd05f: 0x6c228c20, + 0xd066: 0x6c0e9e20, 0xd067: 0x6c0dd220, + 0xd06c: 0x6c0bca20, + 0xd070: 0x6c228e20, 0xd072: 0x6c229220, + 0xd07e: 0x6c229020, + // Block 0x342, offset 0xd080 + 0xd08c: 0x6c221c20, + 0xd091: 0x6c229420, + 0xd098: 0x6c10b620, + 0xd0a3: 0x6c229620, + 0xd0ab: 0x6c01d820, + 0xd0af: 0x6c101420, + 0xd0b0: 0x6c023e20, + 0xd0b8: 0x6c043420, + 0xd0bc: 0x6c094c20, 0xd0bd: 0x6c07bc20, + // Block 0x343, offset 0xd0c0 + 0xd0c9: 0x6c16d220, 0xd0ca: 0x6c0b9020, + 0xd0ce: 0x6c015020, + 0xd0d2: 0x6c229a20, + 0xd0d9: 0x6c229820, + 0xd0ec: 0x6c22a020, 0xd0ed: 0x6c0e2820, 0xd0ee: 0x6c22a620, 0xd0ef: 0x6c229c20, + 0xd0f3: 0x6c22a420, + 0xd0f8: 0x6c22a220, 0xd0f9: 0x6c0fac20, 0xd0fa: 0x6c007220, + // Block 0x344, offset 0xd100 + 0xd108: 0x6c16b220, 0xd10b: 0x6c22aa20, + 0xd10f: 0x6c00cc20, + 0xd119: 0x6c22ae20, + 0xd11d: 0x6c22ac20, 0xd11f: 0x6c22a820, + 0xd131: 0x6c229e20, + 0xd139: 0x6c13da20, + 0xd13d: 0x6c22b220, + // Block 0x345, offset 0xd140 + 0xd149: 0x6c22b020, + 0xd154: 0x6c015220, + 0xd159: 0x6c22b620, 0xd15a: 0x6c133c20, + 0xd15c: 0x6c22b420, + 0xd161: 0x6c14ba20, + 0xd166: 0x6c0a9620, + 0xd176: 0x6c0ca220, + 0xd17c: 0x6c0a9420, + // Block 0x346, offset 0xd180 + 0xd189: 0x6c16be20, + 0xd18c: 0x6c22c220, 0xd18e: 0x6c0c7220, + 0xd195: 0x6c22ba20, 0xd196: 0x6c22c420, + 0xd199: 0x6c015420, + 0xd1a2: 0x6c22c020, + 0xd1a4: 0x6c116620, 0xd1a5: 0x6c22b820, 0xd1a6: 0x6c22be20, 0xd1a7: 0x6c0a9820, + 0xd1a9: 0x6c120220, + 0xd1ac: 0x6c22c620, 0xd1ae: 0x6c093220, + 0xd1bd: 0x6c0c7420, + // Block 0x347, offset 0xd1c0 + 0xd1c4: 0x6c22cc20, + 0xd1c8: 0x6c22bc20, 0xd1ca: 0x6c053220, + 0xd1cf: 0x6c22c820, + 0xd1d4: 0x6c15ac20, 0xd1d5: 0x6c22ce20, + 0xd1d9: 0x6c31a620, + 0xd1df: 0x6c09ea20, + 0xd1e8: 0x6c22d020, + 0xd1ec: 0x6c22d220, + 0xd1f1: 0x6c110020, + 0xd1f9: 0x6c22d620, + 0xd1fe: 0x6c22d820, + // Block 0x348, offset 0xd200 + 0xd203: 0x6c110a20, + 0xd208: 0x6c101620, 0xd209: 0x6c22dc20, + 0xd20e: 0x6c22e020, + 0xd210: 0x6c167220, 0xd212: 0x6c22da20, + 0xd214: 0x6c22de20, 0xd215: 0x6c015620, 0xd217: 0x6c22d420, + 0xd21f: 0x6c19d420, + 0xd220: 0x6c22e220, + 0xd225: 0x6c0d0a20, 0xd226: 0x6c084420, 0xd227: 0x6c22e620, + 0xd22c: 0x6c22e420, 0xd22d: 0x6c0b0c20, 0xd22e: 0x6c191420, + 0xd235: 0x6c22e820, + 0xd239: 0x6c22ec20, 0xd23b: 0x6c22ca20, + 0xd23c: 0x6c22ea20, 0xd23f: 0x6c22ee20, + // Block 0x349, offset 0xd240 + 0xd246: 0x6c119820, + 0xd24d: 0x6c22f020, + 0xd250: 0x6c22f220, + 0xd25b: 0x6c22f420, + 0xd268: 0x6c22f620, 0xd26a: 0x6c0f2c20, + 0xd26c: 0x6c22fa20, 0xd26d: 0x6c22f820, + 0xd270: 0x6c22fc20, 0xd272: 0x6c22fe20, + 0xd275: 0x6c094e20, 0xd276: 0x6c12e220, + 0xd27a: 0x6c152820, 0xd27b: 0x6c230020, + 0xd27c: 0x6c230220, 0xd27d: 0x6c0ce820, 0xd27e: 0x6c08d820, 0xd27f: 0x6c230420, + // Block 0x34a, offset 0xd280 + 0xd280: 0x6c230620, + 0xd286: 0x6c230820, 0xd287: 0x6c137c20, + 0xd288: 0x6c11ee20, 0xd28b: 0x6c230a20, + 0xd28c: 0x6c115220, + 0xd292: 0x6c0eca20, + 0xd298: 0x6c230c20, 0xd299: 0x6c020620, 0xd29b: 0x6c044620, + 0xd29d: 0x6c14dc20, 0xd29f: 0x6c14bc20, + 0xd2a1: 0x6c01a020, 0xd2a2: 0x6c16ec20, + 0xd2a7: 0x6c143820, + 0xd2a9: 0x6c132c20, + 0xd2b2: 0x6c0bee20, + 0xd2b4: 0x6c230e20, + 0xd2b9: 0x6c106e20, + 0xd2bd: 0x6c05e620, 0xd2be: 0x6c231020, + // Block 0x34b, offset 0xd2c0 + 0xd2c0: 0x6c07c020, 0xd2c1: 0x6c231420, 0xd2c2: 0x6c231220, + 0xd2c7: 0x6c231620, + 0xd2d2: 0x6c231820, + 0xd2d6: 0x6c231a20, + 0xd2e0: 0x6c03e820, 0xd2e2: 0x6c231c20, + 0xd2e7: 0x6c231e20, + 0xd2ec: 0x6c05e820, 0xd2ef: 0x6c11f020, + 0xd2f2: 0x6c232220, + 0xd2f6: 0x6c0af220, + 0xd2f9: 0x6c232020, + // Block 0x34c, offset 0xd300 + 0xd302: 0x6c049820, 0xd303: 0x6c232420, + 0xd304: 0x6c232820, 0xd306: 0x6c232620, + 0xd30e: 0x6c232a20, + 0xd310: 0x6c064220, 0xd312: 0x6c232c20, + 0xd317: 0x6c04fa20, + 0xd319: 0x6c0cbc20, 0xd31b: 0x6c075620, + 0xd320: 0x6c233020, 0xd321: 0x6c233220, 0xd322: 0x6c232e20, + 0xd329: 0x6c096a20, + 0xd32c: 0x6c107820, 0xd32d: 0x6c049a20, + 0xd337: 0x6c233620, + 0xd338: 0x6c0e0c20, 0xd339: 0x6c233420, + 0xd33c: 0x6c16ee20, 0xd33d: 0x6c116820, + // Block 0x34d, offset 0xd340 + 0xd34a: 0x6c233c20, + 0xd356: 0x6c234020, 0xd357: 0x6c233a20, + 0xd35b: 0x6c14f820, + 0xd35c: 0x6c233e20, 0xd35d: 0x6c234220, 0xd35f: 0x6c165020, + 0xd365: 0x6c234a20, + 0xd369: 0x6c234820, 0xd36a: 0x6c0ea020, 0xd36b: 0x6c10fe20, + 0xd36e: 0x6c05ea20, 0xd36f: 0x6c234620, + 0xd374: 0x6c234420, 0xd376: 0x6c156e20, 0xd377: 0x6c157020, + 0xd37e: 0x6c234c20, 0xd37f: 0x6c015820, + // Block 0x34e, offset 0xd380 + 0xd384: 0x6c074820, 0xd385: 0x6c089820, + 0xd38e: 0x6c234e20, 0xd38f: 0x6c235020, + 0xd397: 0x6c235420, + 0xd3a3: 0x6c09d220, + 0xd3a8: 0x6c235820, 0xd3aa: 0x6c235620, + 0xd3b0: 0x6c235a20, 0xd3b2: 0x6c028e20, + 0xd3b5: 0x6c235e20, + 0xd3b8: 0x6c235c20, 0xd3ba: 0x6c236220, 0xd3bb: 0x6c236020, + // Block 0x34f, offset 0xd3c0 + 0xd3c4: 0x6c061820, 0xd3c7: 0x6c161820, + 0xd3c9: 0x6c04c020, 0xd3cb: 0x6c018420, + 0xd3d6: 0x6c04fc20, + 0xd3e9: 0x6c037220, + 0xd3f2: 0x6c169820, 0xd3f3: 0x6c236620, + 0xd3fb: 0x6c236a20, + // Block 0x350, offset 0xd400 + 0xd400: 0x6c236c20, 0xd402: 0x6c01da20, + 0xd408: 0x6c236420, 0xd40a: 0x6c084620, + 0xd40d: 0x6c0ef220, 0xd40e: 0x6c236820, + 0xd41e: 0x6c237220, + 0xd420: 0x6c096c20, + 0xd425: 0x6c236e20, + 0xd42a: 0x6c056020, + 0xd42d: 0x6c11f220, 0xd42e: 0x6c237020, + 0xd431: 0x6c23a620, + 0xd438: 0x6c237c20, + 0xd43e: 0x6c061a20, + // Block 0x351, offset 0xd440 + 0xd443: 0x6c043620, + 0xd445: 0x6c237620, 0xd446: 0x6c160620, + 0xd449: 0x6c162820, + 0xd462: 0x6c0de420, + 0xd465: 0x6c237a20, + 0xd472: 0x6c237e20, 0xd473: 0x6c167420, + 0xd474: 0x6c04d620, 0xd475: 0x6c125820, 0xd476: 0x6c113820, + 0xd47a: 0x6c238020, + 0xd47f: 0x6c238420, + // Block 0x352, offset 0xd480 + 0xd481: 0x6c238a20, + 0xd495: 0x6c238220, + 0xd499: 0x6c238820, 0xd49a: 0x6c067420, 0xd49b: 0x6c011620, + 0xd49c: 0x6c238c20, 0xd49e: 0x6c0ba420, 0xd49f: 0x6c238620, + 0xd4a0: 0x6c168020, 0xd4a3: 0x6c239220, + 0xd4a4: 0x6c31a220, + 0xd4a9: 0x6c238e20, 0xd4aa: 0x6c239420, + 0xd4af: 0x6c237820, + 0xd4b0: 0x6c239020, 0xd4b3: 0x6c079020, + 0xd4b6: 0x6c239620, + 0xd4be: 0x6c239820, + // Block 0x353, offset 0xd4c0 + 0xd4c3: 0x6c160820, + 0xd4cb: 0x6c239a20, + 0xd4de: 0x6c239c20, + 0xd4e2: 0x6c237420, + 0xd4e7: 0x6c239e20, + 0xd4f0: 0x6c033820, + 0xd4fd: 0x6c08da20, + // Block 0x354, offset 0xd500 + 0xd50a: 0x6c23a020, + 0xd50f: 0x6c23a220, + 0xd514: 0x6c23a420, + 0xd51c: 0x6c00f220, + 0xd520: 0x6c23a820, 0xd522: 0x6c129220, 0xd523: 0x6c23aa20, + 0xd526: 0x6c02f820, 0xd527: 0x6c23ac20, + 0xd529: 0x6c23ae20, + 0xd52e: 0x6c23b020, + 0xd530: 0x6c23b420, 0xd531: 0x6c23b620, 0xd532: 0x6c23b220, + 0xd536: 0x6c12c220, 0xd537: 0x6c23ba20, + 0xd538: 0x6c23b820, + // Block 0x355, offset 0xd540 + 0xd543: 0x6c23be20, + 0xd544: 0x6c23bc20, 0xd545: 0x6c23c020, + 0xd54c: 0x6c23c220, 0xd54d: 0x6c23c620, 0xd54e: 0x6c23c420, + 0xd551: 0x6c074e20, 0xd553: 0x6c23ca20, + 0xd555: 0x6c23c820, + 0xd558: 0x6c033a20, 0xd55a: 0x6c0b6a20, + 0xd55c: 0x6c0fa420, 0xd55e: 0x6c23cc20, 0xd55f: 0x6c0bf020, + 0xd563: 0x6c084820, + 0xd565: 0x6c016e20, 0xd566: 0x6c23ce20, + 0xd568: 0x6c15ae20, 0xd56b: 0x6c139e20, + 0xd56c: 0x6c23d020, + 0xd570: 0x6c0fb420, 0xd571: 0x6c157220, 0xd572: 0x6c06e220, 0xd573: 0x6c0b3e20, + 0xd577: 0x6c0e4a20, + 0xd578: 0x6c18ca20, 0xd57a: 0x6c0ecc20, 0xd57b: 0x6c020820, + 0xd57c: 0x6c23d220, + // Block 0x356, offset 0xd580 + 0xd584: 0x6c23d420, 0xd586: 0x6c23de20, + 0xd589: 0x6c23da20, 0xd58a: 0x6c23d820, 0xd58b: 0x6c1ec620, + 0xd58c: 0x6c024020, 0xd58d: 0x6c23d620, 0xd58f: 0x6c007420, + 0xd591: 0x6c11b420, + 0xd594: 0x6c11f420, + 0xd599: 0x6c162a20, 0xd59a: 0x6c23e020, 0xd59b: 0x6c23dc20, + 0xd59c: 0x6c0e6c20, 0xd59d: 0x6c0bcc20, + 0xd5a0: 0x6c11b620, 0xd5a2: 0x6c127620, + 0xd5a4: 0x6c23e420, 0xd5a5: 0x6c162020, 0xd5a6: 0x6c057e20, 0xd5a7: 0x6c23e620, + 0xd5a9: 0x6c23e220, 0xd5aa: 0x6c120c20, 0xd5ab: 0x6c23e820, + 0xd5ad: 0x6c23ea20, + 0xd5b0: 0x6c007620, 0xd5b3: 0x6c0af420, + 0xd5b4: 0x6c23f420, 0xd5b6: 0x6c23ee20, 0xd5b7: 0x6c10c220, + 0xd5b8: 0x6c23ec20, + 0xd5bf: 0x6c03b820, + // Block 0x357, offset 0xd5c0 + 0xd5c2: 0x6c23fa20, + 0xd5c6: 0x6c23f020, 0xd5c7: 0x6c23f220, + 0xd5c9: 0x6c23f820, 0xd5ca: 0x6c23f620, 0xd5cb: 0x6c126620, + 0xd5ce: 0x6c0cc020, 0xd5cf: 0x6c0cbe20, + 0xd5d1: 0x6c03ea20, + 0xd5d4: 0x6c23fc20, + 0xd5da: 0x6c23fe20, + 0xd5dd: 0x6c240020, + 0xd5e3: 0x6c240420, + 0xd5e5: 0x6c240220, + 0xd5eb: 0x6c012820, + 0xd5f1: 0x6c241420, 0xd5f2: 0x6c123020, 0xd5f3: 0x6c240820, + 0xd5f5: 0x6c240c20, + 0xd5f8: 0x6c241020, 0xd5f9: 0x6c0b4020, + 0xd5fc: 0x6c241220, 0xd5fd: 0x6c240e20, 0xd5fe: 0x6c091020, + // Block 0x358, offset 0xd600 + 0xd602: 0x6c240620, 0xd603: 0x6c240a20, + 0xd605: 0x6c12a020, 0xd607: 0x6c0a9a20, + 0xd60a: 0x6c241820, + 0xd60d: 0x6c241620, + 0xd612: 0x6c241a20, + 0xd614: 0x6c08dc20, 0xd615: 0x6c077620, + 0xd618: 0x6c101a20, 0xd619: 0x6c241c20, 0xd61b: 0x6c0f0620, + 0xd61e: 0x6c242020, + 0xd622: 0x6c160a20, 0xd623: 0x6c241e20, + 0xd629: 0x6c0d0e20, + 0xd630: 0x6c242a20, 0xd632: 0x6c242e20, 0xd633: 0x6c243020, + 0xd634: 0x6c0e5c20, + 0xd63a: 0x6c242c20, + 0xd63c: 0x6c242620, 0xd63e: 0x6c242220, 0xd63f: 0x6c242420, + // Block 0x359, offset 0xd640 + 0xd641: 0x6c242820, + 0xd649: 0x6c243620, 0xd64b: 0x6c243220, + 0xd64d: 0x6c243420, + 0xd65f: 0x6c243820, + 0xd660: 0x6c243c20, 0xd661: 0x6c243e20, 0xd662: 0x6c244020, + 0xd664: 0x6c244220, 0xd667: 0x6c243a20, + 0xd670: 0x6c244620, + 0xd674: 0x6c244420, + 0xd67b: 0x6c244820, + // Block 0x35a, offset 0xd680 + 0xd682: 0x6c165220, + 0xd686: 0x6c244e20, 0xd687: 0x6c244a20, + 0xd688: 0x6c244c20, + 0xd68c: 0x6c037420, + 0xd692: 0x6c154c20, + 0xd696: 0x6c136c20, + 0xd698: 0x6c245220, + 0xd69c: 0x6c245020, + 0xd6a1: 0x6c245420, 0xd6a2: 0x6c245620, + 0xd6a7: 0x6c245e20, + 0xd6a8: 0x6c245820, 0xd6a9: 0x6c245a20, 0xd6aa: 0x6c245c20, + 0xd6ac: 0x6c246020, + 0xd6b0: 0x6c246220, 0xd6b2: 0x6c246420, + 0xd6b6: 0x6c246620, + 0xd6b8: 0x6c246820, 0xd6ba: 0x6c11be20, 0xd6bb: 0x6c0fcc20, + 0xd6bc: 0x6c246a20, 0xd6bd: 0x6c118820, 0xd6be: 0x6c128420, + // Block 0x35b, offset 0xd6c0 + 0xd6c0: 0x6c246c20, 0xd6c3: 0x6c246e20, + 0xd6c4: 0x6c0f8020, 0xd6c6: 0x6c024220, 0xd6c7: 0x6c06e420, + 0xd6c8: 0x6c247020, 0xd6cb: 0x6c247220, + 0xd6ce: 0x6c247420, + 0xd6d0: 0x6c082620, 0xd6d3: 0x6c247820, + 0xd6d6: 0x6c247620, + 0xd6d9: 0x6c247a20, 0xd6da: 0x6c247c20, + 0xd6ee: 0x6c123220, + 0xd6f0: 0x6c247e20, + 0xd6f4: 0x6c248020, 0xd6f7: 0x6c317020, + 0xd6f8: 0x6c248220, 0xd6f9: 0x6c248420, 0xd6fa: 0x6c248620, + 0xd6ff: 0x6c083020, + // Block 0x35c, offset 0xd700 + 0xd702: 0x6c248820, 0xd703: 0x6c115020, + 0xd706: 0x6c145220, + 0xd708: 0x6c011820, 0xd70a: 0x6c012a20, + 0xd70d: 0x6c248a20, + 0xd712: 0x6c248e20, + 0xd716: 0x6c248c20, 0xd717: 0x6c100c20, + 0xd71b: 0x6c0bf220, + 0xd71c: 0x6c20e820, 0xd71e: 0x6c249020, 0xd71f: 0x6c14d220, + 0xd721: 0x6c249220, 0xd723: 0x6c033c20, + 0xd724: 0x6c120e20, 0xd725: 0x6c249420, 0xd727: 0x6c249620, + 0xd72a: 0x6c249820, + 0xd72e: 0x6c150820, + 0xd732: 0x6c14fa20, + 0xd734: 0x6c0eec20, + 0xd738: 0x6c0d1020, 0xd73b: 0x6c249c20, + 0xd73e: 0x6c0a1020, + // Block 0x35d, offset 0xd740 + 0xd741: 0x6c0a9c20, + 0xd744: 0x6c24a220, 0xd747: 0x6c24a020, + 0xd748: 0x6c249e20, 0xd749: 0x6c125a20, 0xd74b: 0x6c033e20, + 0xd74c: 0x6c05f220, + 0xd75b: 0x6c24ae20, + 0xd75e: 0x6c24a820, 0xd75f: 0x6c0b4220, + 0xd760: 0x6c14b420, + 0xd764: 0x6c24a620, 0xd765: 0x6c24aa20, 0xd766: 0x6c24ac20, + 0xd769: 0x6c24a420, + 0xd777: 0x6c24b020, + 0xd778: 0x6c24b220, 0xd77a: 0x6c0ece20, + 0xd77c: 0x6c037620, + // Block 0x35e, offset 0xd780 + 0xd780: 0x6c0e7e20, + 0xd787: 0x6c24b420, + 0xd79a: 0x6c24b620, 0xd79b: 0x6c24bc20, + 0xd7a1: 0x6c0b9220, 0xd7a3: 0x6c107020, + 0xd7a5: 0x6c24be20, 0xd7a6: 0x6c143a20, + 0xd7a8: 0x6c24b820, 0xd7ab: 0x6c24ba20, + 0xd7b9: 0x6c24c420, + 0xd7be: 0x6c24c220, 0xd7bf: 0x6c24c020, + // Block 0x35f, offset 0xd7c0 + 0xd7cb: 0x6c24c820, + 0xd7ce: 0x6c24c620, + 0xd7d1: 0x6c24ca20, + 0xd7de: 0x6c24ce20, + 0xd7e0: 0x6c24cc20, + 0xd7e5: 0x6c137220, + 0xd7ec: 0x6c09f820, 0xd7ed: 0x6c165420, + 0xd7f0: 0x6c24d020, 0xd7f3: 0x6c105620, + 0xd7f6: 0x6c24d220, + 0xd7f9: 0x6c24d420, 0xd7fb: 0x6c24dc20, + 0xd7fc: 0x6c24d820, 0xd7fd: 0x6c24da20, 0xd7ff: 0x6c24d620, + // Block 0x360, offset 0xd800 + 0xd807: 0x6c24de20, + 0xd80d: 0x6c24e020, + 0xd817: 0x6c24e220, + 0xd81a: 0x6c24e420, 0xd81b: 0x6c14be20, + 0xd81c: 0x6c24e620, + 0xd822: 0x6c153020, 0xd823: 0x6c24e820, + 0xd825: 0x6c0e5020, 0xd827: 0x6c117820, + 0xd829: 0x6c04fe20, + 0xd82d: 0x6c0e2a20, 0xd82e: 0x6c24ea20, 0xd82f: 0x6c049c20, + 0xd833: 0x6c0c2020, + 0xd83c: 0x6c24ec20, + // Block 0x361, offset 0xd840 + 0xd842: 0x6c079220, + 0xd84c: 0x6c24ee20, + 0xd852: 0x6c24f020, + 0xd854: 0x6c05ec20, 0xd855: 0x6c07c220, + 0xd860: 0x6c24f420, + 0xd865: 0x6c0fd820, 0xd866: 0x6c07c420, 0xd867: 0x6c040820, + 0xd872: 0x6c13dc20, + 0xd874: 0x6c113a20, + 0xd87a: 0x6c0fda20, + 0xd87f: 0x6c071420, + // Block 0x362, offset 0xd880 + 0xd885: 0x6c24f820, + 0xd89d: 0x6c0a9e20, + 0xd8ab: 0x6c162c20, + 0xd8ac: 0x6c06e620, 0xd8af: 0x6c05ee20, + 0xd8b2: 0x6c11a620, + 0xd8b4: 0x6c24fc20, + 0xd8bc: 0x6c250020, + // Block 0x363, offset 0xd8c0 + 0xd8c1: 0x6c067620, + 0xd8c6: 0x6c24fe20, 0xd8c7: 0x6c0f5c20, + 0xd8cc: 0x6c250420, 0xd8cd: 0x6c026220, 0xd8ce: 0x6c24fa20, + 0xd8d1: 0x6c123420, 0xd8d3: 0x6c00dc20, + 0xd8d5: 0x6c07f020, 0xd8d7: 0x6c172820, + 0xd8da: 0x6c250220, + 0xd8e3: 0x6c250620, + 0xd8e7: 0x6c136e20, + 0xd8e9: 0x6c0c3220, 0xd8ea: 0x6c250a20, + 0xd8ef: 0x6c250c20, + 0xd8f5: 0x6c250820, + 0xd8fa: 0x6c029020, + 0xd8fc: 0x6c251820, 0xd8fe: 0x6c251620, + // Block 0x364, offset 0xd900 + 0xd901: 0x6c08de20, + 0xd905: 0x6c251a20, 0xd906: 0x6c251020, + 0xd90a: 0x6c251c20, 0xd90b: 0x6c251220, + 0xd910: 0x6c121020, 0xd911: 0x6c250e20, + 0xd914: 0x6c251420, + 0xd91a: 0x6c252220, + 0xd927: 0x6c252020, + 0xd928: 0x6c145620, + 0xd92c: 0x6c251e20, 0xd92f: 0x6c009620, + 0xd934: 0x6c252620, + 0xd93d: 0x6c252420, + // Block 0x365, offset 0xd940 + 0xd941: 0x6c0aa020, + 0xd947: 0x6c252820, + 0xd94e: 0x6c0cc220, + 0xd951: 0x6c252c20, 0xd952: 0x6c252a20, + 0xd959: 0x6c252e20, + 0xd966: 0x6c24f220, + 0xd96a: 0x6c24f620, 0xd96b: 0x6c253220, + 0xd96c: 0x6c253020, + 0xd97a: 0x6c08e020, + 0xd97c: 0x6c169a20, 0xd97e: 0x6c093420, + // Block 0x366, offset 0xd980 + 0xd980: 0x6c253420, 0xd981: 0x6c055220, + 0xd987: 0x6c03ec20, + 0xd988: 0x6c03ba20, 0xd989: 0x6c089a20, + 0xd990: 0x6c157420, 0xd993: 0x6c254020, + 0xd995: 0x6c253e20, 0xd996: 0x6c0cc420, 0xd997: 0x6c253820, + 0xd99a: 0x6c253c20, + 0xd99d: 0x6c09e220, 0xd99e: 0x6c0b4420, 0xd99f: 0x6c253a20, + 0xd9a0: 0x6c253620, 0xd9a2: 0x6c10f820, + 0xd9a5: 0x6c0aa220, + 0xd9a8: 0x6c129420, + 0xd9ad: 0x6c07c620, + 0xd9b7: 0x6c101c20, + 0xd9ba: 0x6c254220, + 0xd9bf: 0x6c254420, + // Block 0x367, offset 0xd9c0 + 0xd9c0: 0x6c257020, 0xd9c1: 0x6c04d820, + 0xd9c4: 0x6c16fe20, 0xd9c5: 0x6c0ca620, + 0xd9ca: 0x6c254620, + 0xd9cd: 0x6c01dc20, 0xd9ce: 0x6c0f5e20, 0xd9cf: 0x6c131a20, + 0xd9dd: 0x6c254820, + 0xd9e6: 0x6c046020, 0xd9e7: 0x6c254a20, + 0xd9ea: 0x6c254e20, + 0xd9ee: 0x6c255020, + 0xd9f0: 0x6c10f620, 0xd9f3: 0x6c255220, + 0xd9f9: 0x6c255420, 0xd9fa: 0x6c255620, + 0xd9fd: 0x6c04da20, 0xd9fe: 0x6c01de20, 0xd9ff: 0x6c107220, + // Block 0x368, offset 0xda00 + 0xda00: 0x6c099c20, 0xda01: 0x6c089c20, + 0xda09: 0x6c255820, 0xda0b: 0x6c099e20, + 0xda11: 0x6c01cc20, 0xda12: 0x6c12a220, + 0xda15: 0x6c255a20, + 0xda18: 0x6c123620, + 0xda1f: 0x6c0cc620, + 0xda21: 0x6c256020, 0xda23: 0x6c256220, + 0xda24: 0x6c117620, 0xda26: 0x6c0b4620, 0xda27: 0x6c255c20, + 0xda29: 0x6c0e7620, + 0xda2c: 0x6c255e20, + 0xda30: 0x6c0aa420, + 0xda3b: 0x6c007820, + // Block 0x369, offset 0xda40 + 0xda40: 0x6c03be20, + 0xda48: 0x6c256420, 0xda4b: 0x6c0f6020, + 0xda4d: 0x6c256620, 0xda4e: 0x6c0c0e20, + 0xda54: 0x6c14aa20, 0xda57: 0x6c126220, + 0xda58: 0x6c256820, 0xda59: 0x6c256a20, 0xda5a: 0x6c0e5e20, + 0xda5c: 0x6c165620, 0xda5f: 0x6c256e20, + 0xda60: 0x6c256c20, + 0xda6e: 0x6c096e20, + 0xda71: 0x6c257220, 0xda72: 0x6c00a020, + 0xda77: 0x6c257820, + 0xda7b: 0x6c257420, + 0xda7c: 0x6c01e020, 0xda7d: 0x6c058020, 0xda7e: 0x6c257620, 0xda7f: 0x6c06e820, + // Block 0x36a, offset 0xda80 + 0xda80: 0x6c074020, 0xda82: 0x6c13a420, 0xda83: 0x6c257a20, + 0xda86: 0x6c143c20, + 0xda89: 0x6c257e20, + 0xda8d: 0x6c0c2220, 0xda8e: 0x6c011a20, 0xda8f: 0x6c01ac20, + 0xda90: 0x6c001820, + 0xda97: 0x6c257c20, + 0xdaa1: 0x6c258020, 0xdaa2: 0x6c258220, 0xdaa3: 0x6c0af620, + 0xdaa9: 0x6c258420, 0xdaab: 0x6c029220, + 0xdab0: 0x6c258820, + 0xdab4: 0x6c05b820, 0xdab6: 0x6c043820, + 0xdab9: 0x6c258a20, 0xdaba: 0x6c051220, + 0xdabd: 0x6c258c20, 0xdabf: 0x6c0c7820, + // Block 0x36b, offset 0xdac0 + 0xdac1: 0x6c108220, 0xdac3: 0x6c0c4020, + 0xdac4: 0x6c080220, + 0xdac8: 0x6c258e20, + 0xdad2: 0x6c0e7820, 0xdad3: 0x6c0d1220, + 0xdad5: 0x6c259220, 0xdad6: 0x6c259620, 0xdad7: 0x6c259020, + 0xdad8: 0x6c259420, + 0xdadf: 0x6c052820, + 0xdae9: 0x6c259820, 0xdaea: 0x6c053020, + 0xdaee: 0x6c043a20, 0xdaef: 0x6c15b020, + 0xdaf0: 0x6c259c20, + 0xdaf6: 0x6c259e20, + 0xdafa: 0x6c00d820, + 0xdaff: 0x6c25a420, + // Block 0x36c, offset 0xdb00 + 0xdb03: 0x6c02e020, + 0xdb04: 0x6c25a220, 0xdb05: 0x6c25a020, 0xdb07: 0x6c25a820, + 0xdb08: 0x6c259a20, 0xdb0a: 0x6c25aa20, 0xdb0b: 0x6c161a20, + 0xdb0d: 0x6c25ac20, 0xdb0f: 0x6c25ae20, + 0xdb12: 0x6c1ac220, 0xdb13: 0x6c25b220, + 0xdb15: 0x6c25b020, + 0xdb19: 0x6c25b420, 0xdb1a: 0x6c25b620, + 0xdb1c: 0x6c163220, 0xdb1d: 0x6c25b820, 0xdb1f: 0x6c2f4820, + 0xdb20: 0x6c0aa620, 0xdb21: 0x6c25ba20, 0xdb22: 0x6c25bc20, 0xdb23: 0x6c09fa20, + 0xdb25: 0x6c105820, 0xdb26: 0x6c25be20, + 0xdb2a: 0x6c0e0420, + 0xdb2d: 0x6c25c020, 0xdb2f: 0x6c0e2c20, + 0xdb30: 0x6c25c220, + 0xdb36: 0x6c047220, + 0xdb38: 0x6c182420, 0xdb39: 0x6c0e6e20, 0xdb3a: 0x6c08f620, + 0xdb3f: 0x6c034020, + // Block 0x36d, offset 0xdb40 + 0xdb42: 0x6c25c420, + 0xdb44: 0x6c25de20, 0xdb46: 0x6c25ca20, + 0xdb48: 0x6c043c20, 0xdb4a: 0x6c25c820, 0xdb4b: 0x6c25e220, + 0xdb4f: 0x6c25c620, + 0xdb51: 0x6c0aa820, + 0xdb58: 0x6c25ce20, 0xdb59: 0x6c25d020, 0xdb5b: 0x6c0f8220, + 0xdb5e: 0x6c25d220, + 0xdb60: 0x6c02b020, + 0xdb65: 0x6c0b7820, 0xdb66: 0x6c12e420, + 0xdb68: 0x6c25d620, + 0xdb6c: 0x6c0dc820, + 0xdb73: 0x6c25cc20, + 0xdb75: 0x6c25d420, 0xdb76: 0x6c25d820, + 0xdb79: 0x6c080e20, + // Block 0x36e, offset 0xdb80 + 0xdb85: 0x6c25e620, 0xdb86: 0x6c127820, + 0xdb88: 0x6c11ac20, 0xdb89: 0x6c101e20, 0xdb8b: 0x6c04dc20, + 0xdb8c: 0x6c25e420, 0xdb8d: 0x6c25e020, 0xdb8f: 0x6c11ca20, + 0xdb90: 0x6c25da20, 0xdb91: 0x6c0e7020, 0xdb92: 0x6c102220, + 0xdb94: 0x6c102020, 0xdb96: 0x6c080420, + 0xdb9d: 0x6c260a20, + 0xdba5: 0x6c25ea20, 0xdba7: 0x6c25ee20, + 0xdbac: 0x6c25f420, 0xdbae: 0x6c25f620, + 0xdbb0: 0x6c25f020, 0xdbb1: 0x6c25f220, + 0xdbb4: 0x6c25ec20, 0xdbb5: 0x6c25e820, + 0xdbba: 0x6c25dc20, + // Block 0x36f, offset 0xdbc0 + 0xdbc6: 0x6c137620, 0xdbc7: 0x6c01e220, + 0xdbcb: 0x6c260420, + 0xdbcd: 0x6c25fe20, 0xdbcf: 0x6c260820, + 0xdbd2: 0x6c260620, + 0xdbd4: 0x6c118a20, 0xdbd5: 0x6c149e20, 0xdbd7: 0x6c084a20, + 0xdbd8: 0x6c25fa20, 0xdbd9: 0x6c260c20, 0xdbda: 0x6c260220, + 0xdbdc: 0x6c260020, 0xdbdd: 0x6c25f820, 0xdbdf: 0x6c25fc20, + 0xdbe1: 0x6c034220, + 0xdbea: 0x6c0e2e20, + 0xdbed: 0x6c0c7a20, + 0xdbf1: 0x6c11a420, + 0xdbf4: 0x6c261620, + 0xdbf8: 0x6c11a820, + // Block 0x370, offset 0xdc00 + 0xdc00: 0x6c0c4220, 0xdc01: 0x6c261020, + 0xdc04: 0x6c11fe20, 0xdc06: 0x6c261820, 0xdc07: 0x6c137e20, + 0xdc09: 0x6c0e6a20, 0xdc0b: 0x6c260e20, + 0xdc0c: 0x6c261220, 0xdc0f: 0x6c261420, + 0xdc1d: 0x6c261a20, + 0xdc20: 0x6c091820, + 0xdc24: 0x6c107420, 0xdc25: 0x6c262420, 0xdc26: 0x6c262220, + 0xdc29: 0x6c261c20, + 0xdc2d: 0x6c16f020, + 0xdc33: 0x6c262e20, + 0xdc36: 0x6c263620, 0xdc37: 0x6c263020, + // Block 0x371, offset 0xdc40 + 0xdc40: 0x6c262820, + 0xdc47: 0x6c262a20, + 0xdc4d: 0x6c263420, + 0xdc51: 0x6c261e20, 0xdc52: 0x6c190c20, 0xdc53: 0x6c262c20, + 0xdc54: 0x6c262020, 0xdc57: 0x6c263220, + 0xdc5f: 0x6c263e20, + 0xdc61: 0x6c034420, 0xdc63: 0x6c263820, + 0xdc67: 0x6c263a20, + 0xdc6a: 0x6c263c20, 0xdc6b: 0x6c264220, + 0xdc77: 0x6c264020, + 0xdc78: 0x6c124c20, + 0xdc7d: 0x6c264420, 0xdc7e: 0x6c16c020, 0xdc7f: 0x6c13b220, + // Block 0x372, offset 0xdc80 + 0xdc80: 0x6c264e20, 0xdc83: 0x6c264820, + 0xdc8c: 0x6c264620, 0xdc8d: 0x6c0c2420, 0xdc8f: 0x6c264c20, + 0xdc90: 0x6c265020, + 0xdc94: 0x6c264a20, 0xdc96: 0x6c265820, + 0xdc98: 0x6c265220, + 0xdc9f: 0x6c265420, + 0xdca0: 0x6c262620, + 0xdca4: 0x6c265620, 0xdca5: 0x6c265a20, + 0xdcac: 0x6c265c20, + 0xdcb3: 0x6c136420, + 0xdcb5: 0x6c265e20, + 0xdcbe: 0x6c151420, + // Block 0x373, offset 0xdcc0 + 0xdcc1: 0x6c04c420, 0xdcc2: 0x6c053620, 0xdcc3: 0x6c266020, + 0xdcc9: 0x6c134020, 0xdccb: 0x6c0b9420, + 0xdccd: 0x6c14b020, + 0xdcd0: 0x6c266220, 0xdcd2: 0x6c162e20, + 0xdcd5: 0x6c118c20, 0xdcd7: 0x6c0cc820, + 0xdcd8: 0x6c110c20, 0xdcdb: 0x6c09e620, + 0xdcdf: 0x6c004020, + 0xdce1: 0x6c266c20, 0xdce2: 0x6c266820, + 0xdce4: 0x6c266420, 0xdce5: 0x6c02f220, 0xdce7: 0x6c0aaa20, + 0xdce8: 0x6c266e20, 0xdceb: 0x6c266a20, + 0xdced: 0x6c266620, 0xdcee: 0x6c267620, + 0xdcf1: 0x6c267420, 0xdcf2: 0x6c267220, 0xdcf3: 0x6c267020, + 0xdcf9: 0x6c267820, + 0xdcfd: 0x6c267a20, 0xdcfe: 0x6c0bf420, + // Block 0x374, offset 0xdd00 + 0xdd00: 0x6c267c20, 0xdd02: 0x6c268020, + 0xdd05: 0x6c267e20, + 0xdd0a: 0x6c064420, + 0xdd0e: 0x6c0cac20, + 0xdd12: 0x6c268420, + 0xdd16: 0x6c102420, + 0xdd18: 0x6c268220, + 0xdd1c: 0x6c268620, 0xdd1e: 0x6c134220, 0xdd1f: 0x6c0d1420, + 0xdd20: 0x6c06ea20, 0xdd22: 0x6c268820, + 0xdd27: 0x6c165820, + 0xdd2f: 0x6c268c20, + 0xdd32: 0x6c268e20, + 0xdd34: 0x6c269020, 0xdd36: 0x6c269220, + 0xdd38: 0x6c089e20, 0xdd3a: 0x6c269420, 0xdd3b: 0x6c058220, + 0xdd3e: 0x6c044020, + // Block 0x375, offset 0xdd40 + 0xdd40: 0x6c03c020, 0xdd42: 0x6c269820, + 0xdd44: 0x6c153620, 0xdd45: 0x6c06ec20, 0xdd46: 0x6c269620, + 0xdd4a: 0x6c269e20, 0xdd4b: 0x6c151c20, + 0xdd4d: 0x6c111c20, + 0xdd50: 0x6c128220, + 0xdd54: 0x6c0a1220, 0xdd55: 0x6c269c20, 0xdd57: 0x6c093620, + 0xdd58: 0x6c06ee20, 0xdd59: 0x6c08a020, 0xdd5a: 0x6c043e20, 0xdd5b: 0x6c134420, + 0xdd5c: 0x6c269a20, + 0xdd60: 0x6c0cca20, 0xdd61: 0x6c141820, 0xdd62: 0x6c080620, + 0xdd6b: 0x6c08a220, + 0xdd6c: 0x6c0f2a20, 0xdd6e: 0x6c26a420, 0xdd6f: 0x6c168620, + 0xdd70: 0x6c07ca20, 0xdd72: 0x6c26a620, 0xdd73: 0x6c0b4820, + 0xdd75: 0x6c26aa20, + 0xdd79: 0x6c0aac20, 0xdd7a: 0x6c077820, + 0xdd7f: 0x6c26a820, + // Block 0x376, offset 0xdd80 + 0xdd82: 0x6c09a020, 0xdd83: 0x6c061c20, + 0xdd84: 0x6c0ccc20, 0xdd85: 0x6c26a020, 0xdd86: 0x6c26ac20, + 0xdd8b: 0x6c26a220, + 0xdd8c: 0x6c058420, 0xdd8e: 0x6c26b220, 0xdd8f: 0x6c26ba20, + 0xdd90: 0x6c05ba20, + 0xdd96: 0x6c26b020, + 0xdd9b: 0x6c26c220, + 0xdd9e: 0x6c06f020, + 0xdda1: 0x6c15e620, 0xdda2: 0x6c003820, 0xdda3: 0x6c26bc20, + 0xdda6: 0x6c044220, + 0xdda8: 0x6c26b620, + 0xddae: 0x6c26b820, + 0xddb1: 0x6c102620, 0xddb2: 0x6c26b420, 0xddb3: 0x6c26ae20, + 0xddb5: 0x6c024420, 0xddb6: 0x6c0c4820, + 0xddb9: 0x6c05f020, + 0xddbd: 0x6c26c620, + // Block 0x377, offset 0xddc0 + 0xddc9: 0x6c26c020, + 0xddcf: 0x6c26c420, + 0xddd3: 0x6c26be20, + 0xddd9: 0x6c058620, 0xddda: 0x6c0d5e20, 0xdddb: 0x6c26c820, + 0xdddc: 0x6c0d1820, 0xdddf: 0x6c26e220, + 0xdde2: 0x6c26da20, 0xdde3: 0x6c26ce20, + 0xddeb: 0x6c26d620, + 0xddec: 0x6c098420, 0xdded: 0x6c007a20, 0xddee: 0x6c26cc20, 0xddef: 0x6c26dc20, + 0xddf0: 0x6c26e420, 0xddf1: 0x6c06f220, 0xddf2: 0x6c14fc20, + 0xddf4: 0x6c0f1c20, 0xddf5: 0x6c26d020, + 0xddf8: 0x6c26e020, 0xddfa: 0x6c26ca20, 0xddfb: 0x6c0e3020, + 0xddfd: 0x6c26d420, 0xddfe: 0x6c003a20, 0xddff: 0x6c14e420, + // Block 0x378, offset 0xde00 + 0xde07: 0x6c26d220, + 0xde0a: 0x6c04de20, 0xde0b: 0x6c123820, + 0xde0f: 0x6c0d1620, + 0xde11: 0x6c166820, 0xde12: 0x6c0a2a20, + 0xde15: 0x6c273220, + 0xde18: 0x6c26e620, 0xde1a: 0x6c0c7c20, + 0xde1c: 0x6c26de20, 0xde1d: 0x6c26e820, 0xde1e: 0x6c26ec20, + 0xde20: 0x6c0f6220, 0xde21: 0x6c26f220, + 0xde24: 0x6c26ea20, + 0xde28: 0x6c138020, 0xde29: 0x6c034620, + 0xde2c: 0x6c14e620, 0xde2f: 0x6c007c20, + 0xde32: 0x6c26f020, + 0xde34: 0x6c16c220, + 0xde3b: 0x6c26ee20, + // Block 0x379, offset 0xde40 + 0xde41: 0x6c015a20, + 0xde44: 0x6c10c020, 0xde45: 0x6c26f420, + 0xde49: 0x6c270220, 0xde4a: 0x6c26f620, 0xde4b: 0x6c270420, + 0xde52: 0x6c26fc20, + 0xde5b: 0x6c119a20, + 0xde5e: 0x6c092420, 0xde5f: 0x6c270020, + 0xde61: 0x6c26fa20, 0xde62: 0x6c270620, 0xde63: 0x6c26f820, + 0xde66: 0x6c09d420, + 0xde6b: 0x6c13de20, + 0xde6e: 0x6c09e420, + 0xde71: 0x6c26fe20, 0xde72: 0x6c271620, + 0xde75: 0x6c270e20, 0xde77: 0x6c271420, + 0xde79: 0x6c271020, 0xde7a: 0x6c271820, 0xde7b: 0x6c270c20, + 0xde7d: 0x6c26d820, 0xde7e: 0x6c0c2620, + // Block 0x37a, offset 0xde80 + 0xde81: 0x6c11f620, 0xde83: 0x6c271220, + 0xde86: 0x6c270820, + 0xde8a: 0x6c0c7e20, 0xde8b: 0x6c058820, + 0xde8d: 0x6c09a220, + 0xde94: 0x6c0b0e20, 0xde95: 0x6c0ca820, 0xde96: 0x6c271e20, + 0xde99: 0x6c272220, 0xde9a: 0x6c272420, + 0xde9d: 0x6c271c20, 0xde9e: 0x6c272020, + 0xdea6: 0x6c270a20, 0xdea7: 0x6c271a20, + 0xdea9: 0x6c272a20, 0xdeaa: 0x6c272820, + 0xdead: 0x6c148820, + 0xdeb0: 0x6c053a20, + 0xdeb9: 0x6c272620, 0xdebb: 0x6c272e20, + 0xdebc: 0x6c272c20, 0xdebd: 0x6c273420, 0xdebf: 0x6c273820, + // Block 0x37b, offset 0xdec0 + 0xdec2: 0x6c084c20, 0xdec3: 0x6c273020, + 0xdec8: 0x6c273a20, 0xdec9: 0x6c273c20, + 0xdecc: 0x6c273e20, 0xdece: 0x6c274a20, 0xdecf: 0x6c0fa220, + 0xded0: 0x6c274220, 0xded2: 0x6c274020, 0xded3: 0x6c274420, + 0xded4: 0x6c274620, 0xded6: 0x6c274820, + 0xdedb: 0x6c274c20, + 0xdedc: 0x6c274e20, + // Block 0x37c, offset 0xdf00 + 0xdf36: 0x6c034820, + 0xdf38: 0x6c275020, 0xdf3a: 0x6c275220, + // Block 0x37d, offset 0xdf40 + 0xdf45: 0x6c275420, + 0xdf4c: 0x6c275620, 0xdf4d: 0x6c275820, 0xdf4e: 0x6c275a20, + 0xdf50: 0x6c275c20, 0xdf51: 0x6c275e20, + 0xdf54: 0x6c276220, 0xdf55: 0x6c276020, + 0xdf58: 0x6c276420, + 0xdf5f: 0x6c276620, + 0xdf60: 0x6c276820, + 0xdf67: 0x6c276e20, + 0xdf68: 0x6c276a20, 0xdf69: 0x6c276c20, 0xdf6a: 0x6c07da20, 0xdf6b: 0x6c058a20, + 0xdf6e: 0x6c0e6020, + 0xdf70: 0x6c11c620, 0xdf72: 0x6c0a2c20, + 0xdf75: 0x6c113e20, 0xdf77: 0x6c123a20, + 0xdf78: 0x6c277020, 0xdf79: 0x6c1da420, + // Block 0x37e, offset 0xdf80 + 0xdf82: 0x6c277220, 0xdf83: 0x6c277620, + 0xdf85: 0x6c15d620, 0xdf86: 0x6c277420, 0xdf87: 0x6c277a20, + 0xdf88: 0x6c277820, 0xdf8a: 0x6c15b220, + 0xdf8c: 0x6c277c20, 0xdf8e: 0x6c125c20, + 0xdf94: 0x6c277e20, + 0xdf9a: 0x6c278420, + 0xdf9d: 0x6c278220, 0xdf9e: 0x6c278020, + 0xdfa3: 0x6c278620, + 0xdfa4: 0x6c054820, + 0xdfa8: 0x6c0c8020, 0xdfa9: 0x6c03ee20, + 0xdfae: 0x6c278e20, 0xdfaf: 0x6c278820, + 0xdfb2: 0x6c278a20, + 0xdfb6: 0x6c279020, + 0xdfb8: 0x6c279220, 0xdfb9: 0x6c278c20, + 0xdfbd: 0x6c00ce20, + // Block 0x37f, offset 0xdfc0 + 0xdfc1: 0x6c018620, + 0xdfc5: 0x6c279620, 0xdfc6: 0x6c279820, + 0xdfca: 0x6c279a20, + 0xdfcc: 0x6c15d020, + 0xdfd2: 0x6c09a420, + 0xdfd4: 0x6c279e20, 0xdfd5: 0x6c279c20, + 0xdfe0: 0x6c0b9620, 0xdfe1: 0x6c27a020, + 0xdfe6: 0x6c27a220, + 0xdfe9: 0x6c27a420, 0xdfeb: 0x6c037a20, + 0xdff0: 0x6c034a20, 0xdff3: 0x6c27a620, + 0xdff9: 0x6c27a820, 0xdffb: 0x6c144e20, + 0xdffc: 0x6c15d220, + // Block 0x380, offset 0xe000 + 0xe000: 0x6c15b420, 0xe001: 0x6c16f220, 0xe003: 0x6c06f620, + 0xe004: 0x6c27ae20, 0xe005: 0x6c093820, 0xe006: 0x6c27ac20, + 0xe00b: 0x6c27b020, + 0xe00c: 0x6c08e220, + 0xe010: 0x6c0d9a20, 0xe012: 0x6c27b220, + 0xe015: 0x6c06f420, 0xe017: 0x6c14fe20, + 0xe018: 0x6c27b420, 0xe019: 0x6c27b620, + 0xe01c: 0x6c27b820, + 0xe021: 0x6c27ba20, + 0xe028: 0x6c27bc20, + 0xe033: 0x6c08e420, + 0xe036: 0x6c152a20, + 0xe03b: 0x6c27c020, + 0xe03d: 0x6c0e3220, 0xe03f: 0x6c27be20, + // Block 0x381, offset 0xe040 + 0xe046: 0x6c27c420, + 0xe04a: 0x6c27c220, + 0xe052: 0x6c27c620, + 0xe056: 0x6c0bf620, + 0xe058: 0x6c27c820, 0xe05a: 0x6c27ca20, + 0xe05e: 0x6c134a20, 0xe05f: 0x6c27cc20, + 0xe061: 0x6c0d1a20, 0xe062: 0x6c27ce20, + 0xe068: 0x6c27d020, + 0xe06f: 0x6c16c420, + 0xe070: 0x6c27d620, 0xe072: 0x6c27d420, 0xe073: 0x6c27d220, + 0xe074: 0x6c0ed020, 0xe076: 0x6c27d820, 0xe077: 0x6c0b1020, + 0xe079: 0x6c27da20, + 0xe07d: 0x6c27dc20, 0xe07e: 0x6c16f420, 0xe07f: 0x6c27de20, + // Block 0x382, offset 0xe080 + 0xe084: 0x6c27e020, 0xe085: 0x6c27e420, 0xe086: 0x6c27e220, 0xe087: 0x6c11aa20, + 0xe089: 0x6c10da20, 0xe08b: 0x6c170020, + 0xe08c: 0x6c11b220, + 0xe093: 0x6c27e820, + 0xe096: 0x6c0aae20, + 0xe098: 0x6c127020, 0xe09a: 0x6c27ea20, 0xe09b: 0x6c27e620, + 0xe09d: 0x6c034c20, + 0xe0a1: 0x6c064820, 0xe0a2: 0x6c08a420, + 0xe0a5: 0x6c123c20, + 0xe0a9: 0x6c05f420, 0xe0aa: 0x6c141a20, + 0xe0ac: 0x6c27f020, 0xe0ad: 0x6c27ec20, 0xe0af: 0x6c06f820, + 0xe0b1: 0x6c06fa20, 0xe0b2: 0x6c009220, + 0xe0b4: 0x6c07e820, + 0xe0ba: 0x6c115620, + // Block 0x383, offset 0xe0c0 + 0xe0c3: 0x6c007e20, + 0xe0c4: 0x6c27fa20, 0xe0c6: 0x6c0e3420, + 0xe0cc: 0x6c115420, 0xe0ce: 0x6c0dae20, + 0xe0d6: 0x6c27fe20, + 0xe0d9: 0x6c27f620, 0xe0da: 0x6c27fc20, 0xe0db: 0x6c27f220, + 0xe0dd: 0x6c27f820, 0xe0de: 0x6c13e020, + 0xe0e1: 0x6c064a20, + 0xe0e4: 0x6c00ba20, 0xe0e5: 0x6c27f420, + 0xe0ef: 0x6c280220, + 0xe0f1: 0x6c280420, + 0xe0f4: 0x6c105a20, + 0xe0f8: 0x6c049e20, + 0xe0fc: 0x6c281a20, 0xe0fd: 0x6c111e20, + // Block 0x384, offset 0xe100 + 0xe102: 0x6c08a620, + 0xe105: 0x6c04a020, 0xe106: 0x6c0c1020, 0xe107: 0x6c171020, + 0xe108: 0x6c14ac20, 0xe109: 0x6c280020, 0xe10a: 0x6c0c2820, + 0xe11a: 0x6c041220, 0xe11b: 0x6c280620, + 0xe123: 0x6c280a20, + 0xe129: 0x6c280820, + 0xe12f: 0x6c280c20, + 0xe131: 0x6c0e0020, 0xe133: 0x6c112020, + 0xe139: 0x6c0ed220, + 0xe13e: 0x6c281420, + // Block 0x385, offset 0xe140 + 0xe146: 0x6c281220, + 0xe14b: 0x6c280e20, + 0xe14e: 0x6c0b6e20, + 0xe150: 0x6c12e620, 0xe151: 0x6c281820, 0xe153: 0x6c281620, + 0xe154: 0x6c06fc20, 0xe155: 0x6c172a20, + 0xe15f: 0x6c283820, + 0xe165: 0x6c282020, 0xe166: 0x6c282220, + 0xe16b: 0x6c097020, + 0xe16e: 0x6c281e20, + 0xe170: 0x6c074c20, 0xe171: 0x6c281c20, + 0xe174: 0x6c282420, + 0xe178: 0x6c0ed420, 0xe179: 0x6c131c20, 0xe17a: 0x6c0c8220, + 0xe17f: 0x6c0db020, + // Block 0x386, offset 0xe180 + 0xe180: 0x6c282c20, 0xe182: 0x6c282e20, 0xe183: 0x6c282620, + 0xe188: 0x6c282820, 0xe18a: 0x6c282a20, + 0xe18f: 0x6c06fe20, + 0xe193: 0x6c283a20, + 0xe195: 0x6c283220, + 0xe19a: 0x6c12e820, + 0xe19c: 0x6c146c20, 0xe19d: 0x6c126c20, + 0xe1a0: 0x6c283020, 0xe1a3: 0x6c283620, + 0xe1a4: 0x6c283420, + 0xe1a8: 0x6c141c20, 0xe1a9: 0x6c283c20, + 0xe1b0: 0x6c283e20, 0xe1b3: 0x6c0caa20, + 0xe1b5: 0x6c284020, + 0xe1b8: 0x6c284420, 0xe1ba: 0x6c284c20, + 0xe1bd: 0x6c284620, 0xe1be: 0x6c284220, 0xe1bf: 0x6c112220, + // Block 0x387, offset 0xe1c0 + 0xe1c0: 0x6c284820, 0xe1c2: 0x6c284a20, + 0xe1c6: 0x6c019c20, + 0xe1c8: 0x6c285820, 0xe1c9: 0x6c284e20, + 0xe1cd: 0x6c285020, + 0xe1d1: 0x6c285220, 0xe1d3: 0x6c0d3a20, + 0xe1d8: 0x6c285620, 0xe1d9: 0x6c285420, 0xe1da: 0x6c285a20, + 0xe1df: 0x6c285c20, + 0xe1e0: 0x6c285e20, 0xe1e3: 0x6c0b4a20, + 0xe1e5: 0x6c020a20, 0xe1e7: 0x6c286020, + 0xe1e8: 0x6c167620, 0xe1ea: 0x6c08e620, + 0xe1ed: 0x6c09a620, + 0xe1f3: 0x6c08a820, + 0xe1f4: 0x6c0e6220, + 0xe1fa: 0x6c286220, 0xe1fb: 0x6c286420, + 0xe1fc: 0x6c00de20, 0xe1fe: 0x6c286620, + // Block 0x388, offset 0xe200 + 0xe201: 0x6c286820, 0xe202: 0x6c286a20, + 0xe205: 0x6c286c20, 0xe207: 0x6c286e20, + 0xe208: 0x6c04a220, 0xe209: 0x6c1e9620, 0xe20a: 0x6c287020, + 0xe20c: 0x6c0c4a20, 0xe20d: 0x6c287220, 0xe20e: 0x6c092620, + 0xe210: 0x6c287420, 0xe212: 0x6c174a20, + 0xe216: 0x6c287620, 0xe217: 0x6c139420, + 0xe218: 0x6c036820, 0xe21b: 0x6c0c8420, + 0xe21c: 0x6c09fc20, 0xe21e: 0x6c12fe20, 0xe21f: 0x6c09a820, + 0xe229: 0x6c287820, 0xe22a: 0x6c070020, 0xe22b: 0x6c287a20, + 0xe22c: 0x6c11f820, 0xe22e: 0x6c289620, + 0xe233: 0x6c287e20, + 0xe235: 0x6c0d8a20, 0xe236: 0x6c118e20, 0xe237: 0x6c061e20, + 0xe238: 0x6c287c20, 0xe239: 0x6c0c8620, + // Block 0x389, offset 0xe240 + 0xe240: 0x6c288020, + 0xe247: 0x6c0f6420, + 0xe258: 0x6c288420, 0xe259: 0x6c288220, 0xe25a: 0x6c288820, + 0xe25d: 0x6c288620, 0xe25f: 0x6c288a20, + 0xe262: 0x6c288e20, + 0xe264: 0x6c288c20, 0xe266: 0x6c034e20, + 0xe268: 0x6c289020, 0xe26a: 0x6c289220, 0xe26b: 0x6c289420, + 0xe26e: 0x6c077a20, 0xe26f: 0x6c165a20, + 0xe271: 0x6c289820, 0xe272: 0x6c0b1220, + 0xe276: 0x6c015c20, 0xe277: 0x6c289a20, + 0xe278: 0x6c289c20, + 0xe27e: 0x6c289e20, + // Block 0x38a, offset 0xe280 + 0xe28b: 0x6c00a420, + 0xe28d: 0x6c28a020, + 0xe292: 0x6c28a220, + 0xe299: 0x6c12ea20, + 0xe29d: 0x6c091e20, 0xe29f: 0x6c28a620, + 0xe2a5: 0x6c024620, 0xe2a6: 0x6c002420, + 0xe2ab: 0x6c28a420, + 0xe2ac: 0x6c28aa20, 0xe2ad: 0x6c114020, 0xe2af: 0x6c0b4c20, + 0xe2b1: 0x6c01e420, 0xe2b3: 0x6c13e220, + 0xe2b8: 0x6c059e20, 0xe2b9: 0x6c04e020, 0xe2bb: 0x6c28a820, + 0xe2bd: 0x6c020c20, + // Block 0x38b, offset 0xe2c0 + 0xe2c5: 0x6c02f620, + 0xe2d1: 0x6c015e20, 0xe2d2: 0x6c28b220, 0xe2d3: 0x6c169c20, + 0xe2d4: 0x6c0db220, 0xe2d7: 0x6c12a420, + 0xe2d9: 0x6c28ca20, 0xe2db: 0x6c01e620, + 0xe2dc: 0x6c28c620, 0xe2de: 0x6c28c220, 0xe2df: 0x6c28b020, + 0xe2e1: 0x6c28ac20, 0xe2e3: 0x6c28ae20, + 0xe2e5: 0x6c095620, 0xe2e6: 0x6c050020, 0xe2e7: 0x6c0ea220, + 0xe2eb: 0x6c108a20, + 0xe2f1: 0x6c011e20, 0xe2f3: 0x6c28b620, + 0xe2f4: 0x6c28b420, + 0xe2f9: 0x6c28c020, 0xe2fa: 0x6c28b820, 0xe2fb: 0x6c28be20, + // Block 0x38c, offset 0xe300 + 0xe302: 0x6c14f020, 0xe303: 0x6c28bc20, + 0xe304: 0x6c01e820, 0xe305: 0x6c02ee20, 0xe306: 0x6c28c420, + 0xe309: 0x6c28c820, + 0xe30e: 0x6c058c20, + 0xe316: 0x6c28d020, 0xe317: 0x6c28e220, + 0xe318: 0x6c28e420, + 0xe31c: 0x6c001620, + 0xe323: 0x6c28f220, + 0xe328: 0x6c00a220, 0xe32b: 0x6c28e020, + 0xe32f: 0x6c28de20, + 0xe331: 0x6c28d420, 0xe332: 0x6c28d220, + 0xe334: 0x6c28ce20, 0xe335: 0x6c28cc20, 0xe336: 0x6c0e7a20, + 0xe338: 0x6c0dee20, 0xe339: 0x6c28d820, + // Block 0x38d, offset 0xe340 + 0xe340: 0x6c28d620, + 0xe345: 0x6c28dc20, + 0xe349: 0x6c0d1c20, 0xe34a: 0x6c058e20, + 0xe34f: 0x6c00fe20, + 0xe350: 0x6c28da20, 0xe352: 0x6c070220, + 0xe358: 0x6c0d1e20, + 0xe373: 0x6c28fe20, + 0xe375: 0x6c290020, 0xe377: 0x6c01ea20, + 0xe37b: 0x6c019420, + 0xe37c: 0x6c28fa20, + // Block 0x38e, offset 0xe380 + 0xe385: 0x6c28e620, 0xe387: 0x6c28f620, + 0xe389: 0x6c290420, 0xe38a: 0x6c28f820, + 0xe38e: 0x6c28f420, + 0xe393: 0x6c28ba20, + 0xe396: 0x6c28f020, + 0xe39a: 0x6c28e820, + 0xe39e: 0x6c035020, 0xe39f: 0x6c28ec20, + 0xe3a0: 0x6c290220, 0xe3a2: 0x6c28ee20, + 0xe3a8: 0x6c290620, 0xe3aa: 0x6c28ea20, 0xe3ab: 0x6c119c20, + 0xe3b1: 0x6c15de20, + 0xe3b5: 0x6c28fc20, + 0xe3bd: 0x6c292820, + // Block 0x38f, offset 0xe3c0 + 0xe3c1: 0x6c291820, + 0xe3c5: 0x6c0bba20, + 0xe3ca: 0x6c03f820, + 0xe3cc: 0x6c04e220, 0xe3ce: 0x6c290e20, + 0xe3d3: 0x6c01ee20, + 0xe3d6: 0x6c0ab020, + 0xe3d8: 0x6c291420, + 0xe3dc: 0x6c07cc20, 0xe3df: 0x6c0fce20, + 0xe3e0: 0x6c291e20, + 0xe3e9: 0x6c13b420, 0xe3eb: 0x6c290c20, + 0xe3ef: 0x6c01ec20, + 0xe3f0: 0x6c064c20, 0xe3f1: 0x6c126e20, 0xe3f2: 0x6c292020, + 0xe3f4: 0x6c290820, 0xe3f7: 0x6c291a20, + 0xe3fb: 0x6c292e20, + 0xe3fd: 0x6c291020, + // Block 0x390, offset 0xe400 + 0xe403: 0x6c291220, + 0xe404: 0x6c105c20, 0xe407: 0x6c291c20, + 0xe40b: 0x6c291620, + 0xe40c: 0x6c13e420, 0xe40d: 0x6c292220, 0xe40e: 0x6c008020, + 0xe413: 0x6c290a20, + 0xe420: 0x6c292620, 0xe422: 0x6c292420, + 0xe429: 0x6c117a20, 0xe42a: 0x6c293220, + 0xe42c: 0x6c294820, + 0xe431: 0x6c02f020, + 0xe435: 0x6c294e20, + 0xe438: 0x6c292a20, + 0xe43c: 0x6c293420, 0xe43d: 0x6c15e820, + // Block 0x391, offset 0xe440 + 0xe446: 0x6c294620, + 0xe449: 0x6c15b620, + 0xe44e: 0x6c161c20, + 0xe457: 0x6c0ea420, + 0xe45b: 0x6c02ca20, + 0xe461: 0x6c130020, 0xe462: 0x6c295220, 0xe463: 0x6c102a20, + 0xe466: 0x6c002220, + 0xe469: 0x6c294420, 0xe46b: 0x6c293c20, + 0xe46c: 0x6c0d2020, 0xe46d: 0x6c293020, 0xe46e: 0x6c294020, 0xe46f: 0x6c294a20, + 0xe471: 0x6c10fc20, + 0xe475: 0x6c001420, 0xe477: 0x6c293a20, + 0xe479: 0x6c294c20, 0xe47a: 0x6c130c20, + // Block 0x392, offset 0xe480 + 0xe482: 0x6c294220, + 0xe484: 0x6c293820, + 0xe48b: 0x6c0ab220, + 0xe490: 0x6c09aa20, + 0xe494: 0x6c08e820, + 0xe499: 0x6c150020, + 0xe49c: 0x6c12aa20, 0xe49f: 0x6c295820, + 0xe4a1: 0x6c296a20, + 0xe4ad: 0x6c293e20, + 0xe4b2: 0x6c02e220, + 0xe4b8: 0x6c0af820, 0xe4b9: 0x6c295420, 0xe4bb: 0x6c295e20, + 0xe4bc: 0x6c0d2220, 0xe4bf: 0x6c295620, + // Block 0x393, offset 0xe4c0 + 0xe4c1: 0x6c296420, + 0xe4c4: 0x6c0e7220, 0xe4c6: 0x6c296620, + 0xe4c9: 0x6c15b820, 0xe4ca: 0x6c295020, 0xe4cb: 0x6c026420, + 0xe4cd: 0x6c295c20, + 0xe4d0: 0x6c296220, 0xe4d1: 0x6c14a820, + 0xe4d6: 0x6c296820, + 0xe4d9: 0x6c295a20, 0xe4da: 0x6c296020, + 0xe4ec: 0x6c13e620, 0xe4ee: 0x6c16c620, + 0xe4f4: 0x6c297020, + 0xe4fc: 0x6c297e20, 0xe4ff: 0x6c296e20, + // Block 0x394, offset 0xe500 + 0xe500: 0x6c091620, + 0xe506: 0x6c292c20, + 0xe511: 0x6c137420, 0xe513: 0x6c149420, + 0xe514: 0x6c297c20, 0xe515: 0x6c297a20, 0xe517: 0x6c297220, + 0xe518: 0x6c297420, 0xe51a: 0x6c00e820, + 0xe51f: 0x6c297820, + 0xe521: 0x6c296c20, + 0xe526: 0x6c0f1a20, + 0xe52c: 0x6c297620, 0xe52d: 0x6c00bc20, + 0xe535: 0x6c0d3c20, + 0xe53d: 0x6c135e20, + // Block 0x395, offset 0xe540 + 0xe540: 0x6c298020, 0xe541: 0x6c298820, 0xe543: 0x6c121220, + 0xe548: 0x6c298620, 0xe549: 0x6c0ab420, 0xe54a: 0x6c092220, 0xe54b: 0x6c298c20, + 0xe54e: 0x6c04a420, + 0xe555: 0x6c298e20, 0xe557: 0x6c130e20, + 0xe558: 0x6c298420, 0xe55a: 0x6c293620, + 0xe563: 0x6c298220, + 0xe568: 0x6c172220, 0xe569: 0x6c102c20, 0xe56a: 0x6c130220, + 0xe56d: 0x6c299c20, + 0xe577: 0x6c29a820, + 0xe57e: 0x6c29aa20, + // Block 0x396, offset 0xe580 + 0xe580: 0x6c299020, + 0xe584: 0x6c119020, 0xe587: 0x6c29a420, + 0xe588: 0x6c299420, 0xe58a: 0x6c299820, + 0xe590: 0x6c29ac20, 0xe591: 0x6c299620, + 0xe594: 0x6c299e20, 0xe597: 0x6c016020, + 0xe599: 0x6c10b220, 0xe59b: 0x6c29a020, + 0xe59c: 0x6c29a620, + 0xe5a4: 0x6c299220, 0xe5a6: 0x6c0c8820, + 0xe5a8: 0x6c299a20, 0xe5a9: 0x6c082220, 0xe5aa: 0x6c0b4e20, 0xe5ab: 0x6c054420, + 0xe5ac: 0x6c153820, 0xe5ae: 0x6c154220, 0xe5af: 0x6c0a3020, + 0xe5b9: 0x6c29b420, 0xe5ba: 0x6c29b020, + // Block 0x397, offset 0xe5c0 + 0xe5c1: 0x6c172020, + 0xe5c9: 0x6c29ae20, + 0xe5cd: 0x6c15f620, 0xe5cf: 0x6c29b220, + 0xe5d0: 0x6c29b620, + 0xe5d5: 0x6c29b820, + 0xe5dc: 0x6c29be20, 0xe5dd: 0x6c29ba20, + 0xe5e4: 0x6c102e20, 0xe5e5: 0x6c29bc20, + 0xe5e9: 0x6c11fa20, 0xe5ea: 0x6c29a220, + 0xe5f7: 0x6c0a3220, + 0xe5f9: 0x6c29c020, 0xe5fa: 0x6c29ca20, 0xe5fb: 0x6c0d2420, + 0xe5fe: 0x6c29c820, + // Block 0x398, offset 0xe600 + 0xe602: 0x6c298a20, + 0xe606: 0x6c29cc20, 0xe607: 0x6c0cce20, + 0xe60a: 0x6c29c220, 0xe60b: 0x6c29c620, + 0xe613: 0x6c29c420, + 0xe616: 0x6c20d820, 0xe617: 0x6c20ba20, + 0xe61a: 0x6c29d020, + 0xe622: 0x6c29ce20, + 0xe62d: 0x6c15f820, 0xe62f: 0x6c249a20, + 0xe630: 0x6c29d220, + 0xe63f: 0x6c29d420, + // Block 0x399, offset 0xe640 + 0xe64d: 0x6c29d620, 0xe64e: 0x6c064e20, + 0xe650: 0x6c041420, + 0xe654: 0x6c29da20, 0xe655: 0x6c186020, + 0xe65a: 0x6c045620, + 0xe65c: 0x6c163c20, 0xe65e: 0x6c050e20, 0xe65f: 0x6c29dc20, + 0xe667: 0x6c29de20, + 0xe66b: 0x6c0e9020, + 0xe671: 0x6c29e020, + 0xe679: 0x6c10dc20, 0xe67b: 0x6c003420, + // Block 0x39a, offset 0xe680 + 0xe68a: 0x6c01fe20, 0xe68b: 0x6c29ea20, + 0xe68c: 0x6c29ec20, + 0xe693: 0x6c29e220, + 0xe695: 0x6c084e20, + 0xe6a3: 0x6c29e420, + 0xe6a4: 0x6c112820, + 0xe6a9: 0x6c29e620, 0xe6aa: 0x6c29e820, 0xe6ab: 0x6c29fc20, + 0xe6af: 0x6c29f020, + 0xe6b0: 0x6c29f620, + 0xe6b6: 0x6c29ee20, + // Block 0x39b, offset 0xe6c0 + 0xe6c4: 0x6c29f220, 0xe6c6: 0x6c29f420, 0xe6c7: 0x6c094020, + 0xe6c9: 0x6c29f820, 0xe6cb: 0x6c0e3620, + 0xe6cd: 0x6c059020, 0xe6ce: 0x6c027820, + 0xe6d4: 0x6c29fe20, + 0xe6d9: 0x6c027220, 0xe6db: 0x6c2a0820, + 0xe6de: 0x6c2a0020, 0xe6df: 0x6c2a0620, + 0xe6e4: 0x6c11d420, + 0xe6e9: 0x6c2a0220, + 0xe6ec: 0x6c2a0420, 0xe6ed: 0x6c12ac20, 0xe6ee: 0x6c121420, 0xe6ef: 0x6c2a0a20, + 0xe6f8: 0x6c0df220, 0xe6f9: 0x6c2a1e20, 0xe6fb: 0x6c2a1620, + 0xe6fe: 0x6c020e20, + // Block 0x39c, offset 0xe700 + 0xe700: 0x6c2a1220, 0xe702: 0x6c13e820, 0xe703: 0x6c2a1420, + 0xe706: 0x6c2a0e20, + 0xe708: 0x6c2a1020, 0xe709: 0x6c2a1a20, 0xe70a: 0x6c2a2020, + 0xe70d: 0x6c2a1c20, + 0xe711: 0x6c2a1820, 0xe712: 0x6c2a0c20, + 0xe718: 0x6c0e6420, 0xe71a: 0x6c2a2e20, + 0xe71c: 0x6c14a420, + 0xe725: 0x6c2a2a20, + 0xe729: 0x6c2a2c20, + 0xe734: 0x6c2a2220, 0xe737: 0x6c2a2620, + 0xe73b: 0x6c2a2820, + 0xe73f: 0x6c2a2420, + // Block 0x39d, offset 0xe740 + 0xe749: 0x6c0c4c20, 0xe74b: 0x6c16f620, + 0xe74c: 0x6c2a3620, 0xe74e: 0x6c2a3820, + 0xe753: 0x6c2a4420, + 0xe755: 0x6c0b1820, 0xe757: 0x6c2a3c20, + 0xe759: 0x6c2a4220, + 0xe75f: 0x6c2a3220, + 0xe760: 0x6c2a3020, 0xe763: 0x6c2a4620, + 0xe766: 0x6c01f020, + 0xe768: 0x6c2a3e20, 0xe76a: 0x6c2a4820, + 0xe76e: 0x6c2a4020, + 0xe774: 0x6c2a3a20, 0xe776: 0x6c0ed620, + 0xe778: 0x6c2a3420, + 0xe77f: 0x6c117420, + // Block 0x39e, offset 0xe780 + 0xe782: 0x6c2a5020, + 0xe78d: 0x6c158220, + 0xe79f: 0x6c2a4e20, + 0xe7a2: 0x6c2a4c20, + 0xe7ab: 0x6c2a5e20, + 0xe7af: 0x6c2a5220, + 0xe7b3: 0x6c2a6220, + 0xe7ba: 0x6c15d820, 0xe7bb: 0x6c2a6820, + 0xe7bd: 0x6c2a5620, + // Block 0x39f, offset 0xe7c0 + 0xe7c0: 0x6c2a5820, + 0xe7c4: 0x6c2a6020, 0xe7c6: 0x6c2a6620, 0xe7c7: 0x6c2a6420, + 0xe7cb: 0x6c2a5420, + 0xe7d0: 0x6c2a5a20, 0xe7d2: 0x6c2a7c20, + 0xe7e0: 0x6c2a6e20, + 0xe7ef: 0x6c2a6a20, + 0xe7f2: 0x6c2a6c20, + 0xe7f6: 0x6c2a7620, 0xe7f7: 0x6c2a7820, + 0xe7f9: 0x6c024820, 0xe7fb: 0x6c03f020, + 0xe7fe: 0x6c2a7420, + // Block 0x3a0, offset 0xe800 + 0xe805: 0x6c2a4a20, + 0xe80d: 0x6c2a7220, 0xe80e: 0x6c2a7a20, 0xe80f: 0x6c2a7020, + 0xe811: 0x6c2a7e20, + 0xe815: 0x6c2a8220, 0xe816: 0x6c2a8020, + 0xe821: 0x6c2a8620, 0xe822: 0x6c2a8420, 0xe823: 0x6c29fa20, + 0xe827: 0x6c2a8e20, + 0xe831: 0x6c2a8820, + 0xe836: 0x6c2a8a20, + 0xe839: 0x6c2a8c20, 0xe83b: 0x6c2a9020, + // Block 0x3a1, offset 0xe840 + 0xe840: 0x6c05bc20, 0xe842: 0x6c2a9420, + 0xe844: 0x6c2a9220, 0xe846: 0x6c09ac20, + 0xe84c: 0x6c070420, 0xe84d: 0x6c218020, + 0xe852: 0x6c2a9620, 0xe853: 0x6c09ee20, + 0xe857: 0x6c026620, + 0xe859: 0x6c2a9820, 0xe85b: 0x6c012020, + 0xe85d: 0x6c0ab620, 0xe85e: 0x6c2a9a20, + 0xe861: 0x6c070620, 0xe862: 0x6c2a9c20, 0xe863: 0x6c008220, + 0xe868: 0x6c129620, 0xe86b: 0x6c2a9e20, + 0xe870: 0x6c0b9820, 0xe872: 0x6c2aac20, + 0xe875: 0x6c2aa620, 0xe877: 0x6c0e9220, + 0xe87d: 0x6c2aa820, 0xe87e: 0x6c2aa220, 0xe87f: 0x6c04e420, + // Block 0x3a2, offset 0xe880 + 0xe881: 0x6c2aa020, 0xe882: 0x6c2aae20, + 0xe888: 0x6c055020, 0xe88b: 0x6c0db420, + 0xe88d: 0x6c2aba20, + 0xe892: 0x6c2ab220, + 0xe896: 0x6c0d6220, 0xe897: 0x6c2ab020, + 0xe899: 0x6c2ab620, + 0xe89e: 0x6c2aa420, + 0xe8a2: 0x6c2ab820, + 0xe8a4: 0x6c2abc20, + 0xe8ab: 0x6c123e20, + 0xe8ae: 0x6c2ab420, + 0xe8b0: 0x6c2abe20, 0xe8b1: 0x6c2ac220, + 0xe8b4: 0x6c064620, 0xe8b5: 0x6c2aaa20, 0xe8b7: 0x6c004220, + 0xe8bf: 0x6c2ac020, + // Block 0x3a3, offset 0xe8c0 + 0xe8c1: 0x6c07ce20, 0xe8c2: 0x6c16b420, 0xe8c3: 0x6c2ac420, + 0xe8c4: 0x6c2ac620, 0xe8c5: 0x6c0d2620, + 0xe8cf: 0x6c160c20, + 0xe8d4: 0x6c2ac820, 0xe8d5: 0x6c157620, + 0xe8d8: 0x6c2aca20, 0xe8d9: 0x6c2acc20, + 0xe8dc: 0x6c13a020, 0xe8dd: 0x6c2ace20, 0xe8df: 0x6c079820, + 0xe8e1: 0x6c160e20, + 0xe8e8: 0x6c2ad820, + 0xe8f2: 0x6c2ada20, 0xe8f3: 0x6c0ab820, + 0xe8f4: 0x6c2ad620, + 0xe8f8: 0x6c15da20, 0xe8f9: 0x6c2ad020, + 0xe8fc: 0x6c2ad420, 0xe8fd: 0x6c0bfa20, 0xe8fe: 0x6c0bc020, + // Block 0x3a4, offset 0xe900 + 0xe902: 0x6c2ad220, + 0xe904: 0x6c2adc20, 0xe907: 0x6c131e20, + 0xe90a: 0x6c2ae020, + 0xe90c: 0x6c2ade20, + 0xe910: 0x6c02cc20, 0xe912: 0x6c13ea20, 0xe913: 0x6c2ae220, + 0xe91d: 0x6c2afa20, 0xe91e: 0x6c2ae620, + 0xe925: 0x6c2ae820, + 0xe92a: 0x6c2aea20, 0xe92b: 0x6c2aec20, + 0xe936: 0x6c2af420, + 0xe938: 0x6c2af620, 0xe93b: 0x6c2af220, + // Block 0x3a5, offset 0xe940 + 0xe941: 0x6c2aee20, 0xe943: 0x6c2ae420, + 0xe944: 0x6c2af020, + 0xe94c: 0x6c2af820, 0xe94d: 0x6c2ed820, + 0xe956: 0x6c018820, + 0xe95e: 0x6c2afe20, 0xe95f: 0x6c04e620, + 0xe960: 0x6c2afc20, + 0xe964: 0x6c2b0220, 0xe966: 0x6c2b0020, + 0xe96a: 0x6c2b0620, + 0xe96d: 0x6c2b0420, 0xe96f: 0x6c2b0820, + 0xe972: 0x6c09ae20, + 0xe974: 0x6c2b0a20, 0xe977: 0x6c2b0c20, + 0xe97e: 0x6c2b0e20, 0xe97f: 0x6c0bfc20, + // Block 0x3a6, offset 0xe980 + 0xe981: 0x6c15ba20, 0xe983: 0x6c2b1020, + 0xe986: 0x6c132020, 0xe987: 0x6c113020, + 0xe988: 0x6c2b1220, 0xe98a: 0x6c2b1420, 0xe98b: 0x6c05f620, + 0xe98f: 0x6c03c420, + 0xe993: 0x6c2b1620, + 0xe996: 0x6c08aa20, 0xe997: 0x6c112620, + 0xe998: 0x6c2b1820, 0xe99a: 0x6c029420, + 0xe9a1: 0x6c2b1a20, + 0xe9a6: 0x6c2b1e20, 0xe9a7: 0x6c15fa20, + 0xe9a9: 0x6c2b1c20, 0xe9aa: 0x6c0b5020, + 0xe9ac: 0x6c2b2020, 0xe9af: 0x6c2b2220, + 0xe9b2: 0x6c2b2420, 0xe9b3: 0x6c035220, + 0xe9ba: 0x6c2b2620, + 0xe9bd: 0x6c2b2820, 0xe9bf: 0x6c2b2a20, + // Block 0x3a7, offset 0xe9c0 + 0xe9c0: 0x6c2b2c20, + 0xe9d2: 0x6c029620, + 0xe9da: 0x6c2b2e20, + 0xe9dc: 0x6c2b3020, 0xe9dd: 0x6c2b3220, + 0xe9e3: 0x6c021c20, + 0xe9e6: 0x6c0b1420, 0xe9e7: 0x6c2b3420, + 0xe9f4: 0x6c2b3620, + 0xe9f8: 0x6c2b3820, + // Block 0x3a8, offset 0xea00 + 0xea00: 0x6c062020, 0xea02: 0x6c0f6620, 0xea03: 0x6c2b3a20, + 0xea08: 0x6c059220, 0xea0a: 0x6c0b7020, + 0xea0c: 0x6c2b4020, 0xea0e: 0x6c103020, + 0xea10: 0x6c2b3e20, 0xea13: 0x6c054620, + 0xea16: 0x6c2b3c20, 0xea17: 0x6c0de620, + 0xea18: 0x6c03c620, 0xea1b: 0x6c2b4220, + 0xea1d: 0x6c2b4420, 0xea1f: 0x6c0aba20, + 0xea23: 0x6c05be20, + 0xea25: 0x6c2b4620, + 0xea2a: 0x6c13ec20, + 0xea2d: 0x6c0c3e20, + 0xea31: 0x6c045820, 0xea33: 0x6c153a20, + 0xea34: 0x6c0cd020, 0xea36: 0x6c2b4820, + 0xea3a: 0x6c0b5220, 0xea3b: 0x6c0e9420, + 0xea3c: 0x6c0abc20, + // Block 0x3a9, offset 0xea40 + 0xea41: 0x6c2b4a20, + 0xea46: 0x6c2b5020, + 0xea48: 0x6c2b5220, + 0xea50: 0x6c079420, 0xea51: 0x6c0d7c20, 0xea52: 0x6c2b4e20, + 0xea54: 0x6c0abe20, 0xea55: 0x6c129820, + 0xea5b: 0x6c2b4c20, + 0xea5e: 0x6c08ac20, + 0xea60: 0x6c012220, 0xea62: 0x6c2b5a20, 0xea63: 0x6c059420, + 0xea66: 0x6c08b020, + 0xea69: 0x6c08ae20, 0xea6b: 0x6c171e20, + 0xea6c: 0x6c2b5820, 0xea6d: 0x6c2b5620, 0xea6e: 0x6c0c8a20, + 0xea70: 0x6c040620, 0xea71: 0x6c170a20, 0xea72: 0x6c026820, 0xea73: 0x6c0ac020, + 0xea7c: 0x6c2b5420, + // Block 0x3aa, offset 0xea80 + 0xea82: 0x6c2b5e20, + 0xea84: 0x6c2b6020, 0xea85: 0x6c2b5c20, 0xea87: 0x6c065020, + 0xea89: 0x6c158c20, + 0xea8c: 0x6c08b220, 0xea8d: 0x6c10f220, + 0xea91: 0x6c2b6620, 0xea93: 0x6c0c0020, + 0xea95: 0x6c0e3820, + 0xea98: 0x6c157820, 0xea9a: 0x6c2b6c20, + 0xea9e: 0x6c067820, + 0xeaa0: 0x6c0bfe20, 0xeaa1: 0x6c2b6420, 0xeaa3: 0x6c2b6e20, + 0xeaa4: 0x6c067a20, 0xeaa5: 0x6c2b6820, 0xeaa6: 0x6c2b6a20, + 0xeaa8: 0x6c2b6220, + 0xeaac: 0x6c0c4420, 0xeaad: 0x6c107a20, + 0xeab0: 0x6c0e1220, 0xeab2: 0x6c01f220, + 0xeab9: 0x6c124020, + 0xeabc: 0x6c03f220, 0xeabf: 0x6c0ed820, + // Block 0x3ab, offset 0xeac0 + 0xeac2: 0x6c2b7420, + 0xeac4: 0x6c2b7020, 0xeac7: 0x6c0e4c20, + 0xeacb: 0x6c0c0220, + 0xeacc: 0x6c035420, 0xeacd: 0x6c2b7220, 0xeacf: 0x6c0b7a20, + 0xead2: 0x6c165c20, + 0xead6: 0x6c170420, + 0xeada: 0x6c2b7620, 0xeadb: 0x6c2b8c20, + 0xeadc: 0x6c0eda20, 0xeade: 0x6c2b8a20, + 0xeae0: 0x6c2b8420, 0xeae1: 0x6c2b9420, 0xeae2: 0x6c2b8620, + 0xeae4: 0x6c2b7e20, 0xeae6: 0x6c0f6820, 0xeae7: 0x6c2b7c20, + 0xeaeb: 0x6c2b7820, + 0xeaed: 0x6c154e20, 0xeaee: 0x6c08b420, + 0xeaf1: 0x6c2b8020, 0xeaf3: 0x6c2b7a20, + 0xeaf7: 0x6c2b8820, + 0xeaf8: 0x6c0a3420, 0xeafa: 0x6c062220, + 0xeafe: 0x6c0dec20, + // Block 0x3ac, offset 0xeb00 + 0xeb00: 0x6c141e20, 0xeb01: 0x6c013020, 0xeb02: 0x6c008420, + 0xeb04: 0x6c103220, 0xeb07: 0x6c2b9020, + 0xeb0c: 0x6c2b8e20, 0xeb0e: 0x6c10b420, + 0xeb10: 0x6c2b9820, + 0xeb14: 0x6c2b8220, 0xeb16: 0x6c2b9620, 0xeb17: 0x6c2b9a20, + 0xeb19: 0x6c05f820, 0xeb1a: 0x6c2b9220, 0xeb1b: 0x6c070820, + 0xeb1d: 0x6c093a20, + 0xeb20: 0x6c2b9c20, 0xeb21: 0x6c15bc20, + 0xeb26: 0x6c2ba220, + 0xeb28: 0x6c2ba820, 0xeb2b: 0x6c2ba420, + 0xeb2c: 0x6c128620, + 0xeb33: 0x6c2b9e20, + 0xeb39: 0x6c04e820, + 0xeb3e: 0x6c2ba620, + // Block 0x3ad, offset 0xeb40 + 0xeb41: 0x6c2baa20, + 0xeb49: 0x6c2bb220, + 0xeb4c: 0x6c2bac20, 0xeb4e: 0x6c2bb020, 0xeb4f: 0x6c2bae20, + 0xeb56: 0x6c2bb420, + 0xeb58: 0x6c08f220, 0xeb5a: 0x6c2bb820, 0xeb5b: 0x6c2bb620, + 0xeb5c: 0x6c12ec20, 0xeb5f: 0x6c2bbc20, + 0xeb66: 0x6c059620, + 0xeb6b: 0x6c2bba20, + 0xeb6c: 0x6c2bbe20, 0xeb6f: 0x6c2bc020, + 0xeb70: 0x6c03f420, 0xeb71: 0x6c279420, 0xeb72: 0x6c0afa20, + 0xeb74: 0x6c2bc220, 0xeb77: 0x6c067c20, + 0xeb7d: 0x6c2bc420, + // Block 0x3ae, offset 0xeb80 + 0xeb80: 0x6c2bc620, 0xeb83: 0x6c085020, + 0xeb8a: 0x6c1ede20, + 0xeb8c: 0x6c2bc820, 0xeb8e: 0x6c2bca20, + 0xeb90: 0x6c09b020, 0xeb92: 0x6c2bcc20, 0xeb93: 0x6c2bce20, + 0xeb96: 0x6c2bd020, + 0xeb99: 0x6c2bd220, 0xeb9a: 0x6c2bd420, + // Block 0x3af, offset 0xebc0 + 0xebf7: 0x6c0e0a20, + 0xebfa: 0x6c2bd620, + 0xebff: 0x6c2bda20, + // Block 0x3b0, offset 0xec00 + 0xec01: 0x6c2bd820, + 0xec06: 0x6c103420, + 0xec08: 0x6c2bdc20, 0xec0a: 0x6c13ee20, + 0xec0c: 0x6c2bde20, 0xec0e: 0x6c2be020, + 0xec10: 0x6c2be220, + 0xec15: 0x6c2be420, + 0xec1a: 0x6c109c20, + 0xec21: 0x6c0ac220, 0xec22: 0x6c2be620, + 0xec2a: 0x6c073220, 0xec2b: 0x6c174620, + 0xec2c: 0x6c2be820, + 0xec38: 0x6c2bea20, 0xec39: 0x6c129a20, 0xec3a: 0x6c2bec20, + 0xec3c: 0x6c2bfc20, + // Block 0x3b1, offset 0xec40 + 0xec42: 0x6c2bee20, + 0xec45: 0x6c2bf220, + 0xec49: 0x6c2bf020, 0xec4a: 0x6c2bf420, + 0xec4c: 0x6c142020, 0xec4d: 0x6c2bf620, 0xec4e: 0x6c2bf820, + 0xec54: 0x6c2bfa20, + 0xec58: 0x6c2bfe20, + 0xec5d: 0x6c024e20, 0xec5e: 0x6c0f3e20, + 0xec60: 0x6c12ee20, 0xec61: 0x6c07dc20, 0xec62: 0x6c070a20, + 0xec67: 0x6c12ba20, + 0xec68: 0x6c01f620, 0xec69: 0x6c11fc20, 0xec6a: 0x6c2c0420, 0xec6b: 0x6c035620, + 0xec6c: 0x6c0c2a20, 0xec6d: 0x6c2c0220, 0xec6e: 0x6c2c0c20, 0xec6f: 0x6c0ea620, + 0xec70: 0x6c151620, 0xec72: 0x6c2c0820, 0xec73: 0x6c2c0a20, + 0xec74: 0x6c03c820, 0xec76: 0x6c2c0e20, 0xec77: 0x6c116a20, + 0xec78: 0x6c0db620, 0xec7b: 0x6c124220, + 0xec7c: 0x6c0fa620, 0xec7d: 0x6c2c0620, 0xec7f: 0x6c142220, + // Block 0x3b2, offset 0xec80 + 0xec80: 0x6c021020, 0xec81: 0x6c2c1220, 0xec82: 0x6c16d420, 0xec83: 0x6c0ef420, + 0xec84: 0x6c170e20, 0xec87: 0x6c08b620, + 0xec88: 0x6c2c1020, 0xec8a: 0x6c0d5a20, + 0xec8d: 0x6c2c3220, 0xec8e: 0x6c0c8c20, + 0xec91: 0x6c10d820, 0xec93: 0x6c12bc20, + 0xec9a: 0x6c2c1820, 0xec9b: 0x6c085220, + 0xec9c: 0x6c08b820, 0xec9e: 0x6c0ac420, + 0xeca0: 0x6c116e20, 0xeca2: 0x6c05fa20, 0xeca3: 0x6c2c1620, + 0xeca4: 0x6c2c1420, 0xeca6: 0x6c12f020, + 0xecaa: 0x6c091220, + 0xecad: 0x6c0fd020, + 0xecba: 0x6c2c1c20, 0xecbb: 0x6c2c1e20, + 0xecbc: 0x6c070c20, 0xecbd: 0x6c2c1a20, + // Block 0x3b3, offset 0xecc0 + 0xecc4: 0x6c2c2020, 0xecc5: 0x6c2c2220, 0xecc7: 0x6c2c2620, + 0xecc8: 0x6c0d3e20, 0xecca: 0x6c2c2420, 0xeccb: 0x6c037c20, + 0xeccd: 0x6c2c2a20, 0xeccf: 0x6c2c2820, + 0xecd0: 0x6c2c2c20, 0xecd3: 0x6c2c3020, + 0xecd4: 0x6c2c3420, 0xecd6: 0x6c2c3620, + // Block 0x3b4, offset 0xed00 + 0xed24: 0x6c0c2c20, 0xed26: 0x6c092e20, 0xed27: 0x6c2c3820, + 0xed2b: 0x6c029820, + 0xed2d: 0x6c2c3a20, + 0xed30: 0x6c0d2820, 0xed31: 0x6c2c3c20, 0xed33: 0x6c2c3e20, + 0xed34: 0x6c12f220, 0xed37: 0x6c03ca20, + // Block 0x3b5, offset 0xed40 + 0xed41: 0x6c2c4020, + 0xed45: 0x6c0edc20, + 0xed4a: 0x6c013220, + 0xed59: 0x6c2c4220, + 0xed63: 0x6c097220, + 0xed68: 0x6c0bb020, + 0xed73: 0x6c0d5220, + 0xed7a: 0x6c2c4820, + 0xed7e: 0x6c2c4620, + // Block 0x3b6, offset 0xed80 + 0xed82: 0x6c2c4420, + 0xed8b: 0x6c2c5420, + 0xed8c: 0x6c2c5020, 0xed8f: 0x6c2c4a20, + 0xed96: 0x6c2c4e20, + 0xed9a: 0x6c2c4c20, 0xed9b: 0x6c2c5220, + 0xed9d: 0x6c045a20, 0xed9f: 0x6c2c5a20, + 0xeda1: 0x6c0c2e20, 0xeda3: 0x6c2c5c20, + 0xeda8: 0x6c065220, 0xedaa: 0x6c2c5620, 0xedab: 0x6c2c5820, + 0xedaf: 0x6c16d620, + 0xedb3: 0x6c0ede20, + 0xedb5: 0x6c0c8e20, + 0xedbc: 0x6c2c5e20, 0xedbf: 0x6c2c6420, + // Block 0x3b7, offset 0xedc0 + 0xedc8: 0x6c2c6020, 0xedc9: 0x6c2c6220, 0xedca: 0x6c15be20, + 0xedcf: 0x6c103620, + 0xedd0: 0x6c2c6a20, + 0xeddd: 0x6c2c6620, 0xedde: 0x6c2c6820, 0xeddf: 0x6c2c6c20, + 0xedea: 0x6c2c8820, + 0xedf0: 0x6c2c7220, + 0xedf4: 0x6c2c7420, 0xedf5: 0x6c2c7020, + // Block 0x3b8, offset 0xee00 + 0xee02: 0x6c2c6e20, + 0xee04: 0x6c0f6a20, 0xee07: 0x6c2c7820, + 0xee08: 0x6c2c8020, 0xee09: 0x6c2c7a20, 0xee0a: 0x6c2c7620, + 0xee0c: 0x6c2c7c20, + 0xee10: 0x6c2c7e20, + 0xee15: 0x6c2c8c20, + 0xee19: 0x6c2c8220, + 0xee1f: 0x6c0c3020, + 0xee20: 0x6c2c8620, 0xee23: 0x6c2c8a20, + 0xee24: 0x6c2c8420, + 0xee32: 0x6c2c9020, + 0xee34: 0x6c09b220, 0xee36: 0x6c2c8e20, + 0xee3c: 0x6c2c9220, + // Block 0x3b9, offset 0xee40 + 0xee41: 0x6c2c9420, + 0xee44: 0x6c2c9a20, 0xee45: 0x6c2c9820, 0xee47: 0x6c2c9620, + 0xee4a: 0x6c2c9e20, 0xee4b: 0x6c2c9c20, + 0xee4d: 0x6c153c20, + 0xee51: 0x6c2ca220, 0xee53: 0x6c2ca020, + 0xee54: 0x6c2ca420, + 0xee59: 0x6c2ca620, + 0xee61: 0x6c2caa20, + 0xee6a: 0x6c2ca820, 0xee6b: 0x6c0b5420, + 0xee6c: 0x6c2cac20, 0xee6f: 0x6c050220, + 0xee70: 0x6c2cae20, 0xee71: 0x6c2cb220, + 0xee7e: 0x6c2cb420, + // Block 0x3ba, offset 0xee80 + 0xee85: 0x6c2cb620, 0xee86: 0x6c2cb020, + 0xee88: 0x6c2cb820, 0xee8a: 0x6c093c20, 0xee8b: 0x6c2cba20, + 0xee8c: 0x6c03cc20, 0xee8d: 0x6c054a20, + 0xee92: 0x6c05fc20, + 0xee9b: 0x6c2cbc20, + 0xee9f: 0x6c10c820, + 0xeea2: 0x6c0fa820, 0xeea3: 0x6c2cbe20, + 0xeeab: 0x6c2cc420, + 0xeeb8: 0x6c08f820, 0xeebb: 0x6c2cc220, + 0xeebc: 0x6c2cc020, 0xeebd: 0x6c059820, 0xeebe: 0x6c2cc620, + // Block 0x3bb, offset 0xeec0 + 0xeec3: 0x6c029a20, + 0xeec5: 0x6c2cca20, + 0xeec9: 0x6c07d020, 0xeeca: 0x6c2cc820, + 0xeecc: 0x6c2cda20, + 0xeed2: 0x6c2cce20, 0xeed3: 0x6c2cd220, + 0xeed4: 0x6c13a220, 0xeed5: 0x6c2ccc20, + 0xeed9: 0x6c2cd020, 0xeedb: 0x6c2cd820, + 0xeedc: 0x6c2cd420, 0xeedd: 0x6c03ce20, 0xeedf: 0x6c2cd620, + 0xeee6: 0x6c2cdc20, + 0xeee9: 0x6c115820, 0xeeea: 0x6c167820, + 0xeeef: 0x6c09b420, + 0xeef3: 0x6c2cde20, + 0xeef8: 0x6c155020, 0xeef9: 0x6c2ce220, 0xeefb: 0x6c2ce020, + 0xeefe: 0x6c2ce820, 0xeeff: 0x6c158e20, + // Block 0x3bc, offset 0xef00 + 0xef02: 0x6c2ce620, + 0xef04: 0x6c02ce20, 0xef05: 0x6c2ce420, 0xef06: 0x6c2cee20, + 0xef09: 0x6c2cec20, + 0xef0c: 0x6c2cea20, 0xef0d: 0x6c0f9020, 0xef0e: 0x6c2cf020, + 0xef17: 0x6c2cf220, + 0xef1c: 0x6c2cf420, 0xef1f: 0x6c073420, + 0xef21: 0x6c052e20, 0xef22: 0x6c2cf620, 0xef23: 0x6c2cf820, + 0xef24: 0x6c2cfa20, + // Block 0x3bd, offset 0xef40 + 0xef5b: 0x6c0b5620, + 0xef5c: 0x6c2cfc20, 0xef5e: 0x6c08ea20, 0xef5f: 0x6c2cfe20, + 0xef63: 0x6c2d0020, + 0xef67: 0x6c18a420, + 0xef68: 0x6c18a220, + 0xef6d: 0x6c2d0220, 0xef6e: 0x6c273620, 0xef6f: 0x6c2d0420, + 0xef70: 0x6c0dfc20, 0xef71: 0x6c0b1a20, 0xef72: 0x6c112420, + 0xef77: 0x6c2d0620, + 0xef7a: 0x6c138220, 0xef7b: 0x6c0f1820, + 0xef7c: 0x6c075820, 0xef7f: 0x6c0e0620, + // Block 0x3be, offset 0xef80 + 0xef82: 0x6c00d020, + 0xef84: 0x6c148420, 0xef85: 0x6c0b7220, + 0xef8e: 0x6c05a020, + 0xef91: 0x6c04ea20, + 0xef94: 0x6c138420, + 0xef9a: 0x6c2d0820, + 0xefa2: 0x6c2d0c20, + 0xefa5: 0x6c2d0a20, 0xefa6: 0x6c01f820, + 0xefa9: 0x6c10d420, 0xefaa: 0x6c2d0e20, 0xefab: 0x6c119220, + 0xefad: 0x6c0f9220, 0xefaf: 0x6c2d1020, + 0xefb0: 0x6c09f020, + 0xefb4: 0x6c2d1420, 0xefb7: 0x6c14d420, + 0xefb8: 0x6c2d3220, 0xefb9: 0x6c2d1820, 0xefba: 0x6c2d1a20, + 0xefbd: 0x6c0f0220, + // Block 0x3bf, offset 0xefc0 + 0xefc0: 0x6c0db820, 0xefc1: 0x6c0d2a20, 0xefc3: 0x6c103820, + 0xefc5: 0x6c2d1620, 0xefc6: 0x6c041620, + 0xefcb: 0x6c2d2820, + 0xefcd: 0x6c2d2220, 0xefce: 0x6c2d3c20, 0xefcf: 0x6c103a20, + 0xefd0: 0x6c0e7420, 0xefd1: 0x6c2d1c20, 0xefd3: 0x6c0f6c20, + 0xefd4: 0x6c0fd220, 0xefd5: 0x6c2d1e20, 0xefd6: 0x6c2d2620, 0xefd7: 0x6c0b8420, + 0xefd9: 0x6c117220, 0xefda: 0x6c0f0820, + 0xefdd: 0x6c0c0420, 0xefde: 0x6c2d2420, 0xefdf: 0x6c0d5420, + 0xefe0: 0x6c0d4020, 0xefe1: 0x6c2d2020, 0xefe2: 0x6c001220, 0xefe3: 0x6c16c820, + 0xefe7: 0x6c2d2a20, + 0xefee: 0x6c0dba20, + 0xeff1: 0x6c09b620, 0xeff2: 0x6c0b5820, + 0xeff5: 0x6c2d2e20, 0xeff6: 0x6c2d2c20, + 0xeff8: 0x6c009e20, 0xeff9: 0x6c2d3020, + 0xeffc: 0x6c127a20, 0xeffe: 0x6c2d4020, + // Block 0x3c0, offset 0xf000 + 0xf001: 0x6c109e20, 0xf002: 0x6c0b9a20, + 0xf005: 0x6c0e6620, 0xf007: 0x6c051820, + 0xf009: 0x6c2d3e20, 0xf00a: 0x6c157a20, 0xf00b: 0x6c00fa20, + 0xf00d: 0x6c138620, 0xf00e: 0x6c01fa20, 0xf00f: 0x6c2d3420, + 0xf010: 0x6c2d3620, 0xf011: 0x6c2d3820, 0xf012: 0x6c2d3a20, 0xf013: 0x6c105e20, + 0xf014: 0x6c0dfa20, 0xf015: 0x6c008620, 0xf016: 0x6c2d4220, + 0xf018: 0x6c2d4420, 0xf019: 0x6c31a020, + 0xf01c: 0x6c0d7220, 0xf01e: 0x6c2d4620, + 0xf020: 0x6c016220, 0xf021: 0x6c0cd420, 0xf023: 0x6c05fe20, + 0xf025: 0x6c15c020, + 0xf028: 0x6c2d4820, 0xf029: 0x6c0f8420, + 0xf02d: 0x6c0d2c20, 0xf02e: 0x6c093e20, 0xf02f: 0x6c2d4a20, + 0xf032: 0x6c2d5020, + 0xf035: 0x6c0a1620, 0xf036: 0x6c2d4c20, 0xf037: 0x6c0c9220, + 0xf038: 0x6c0c9020, 0xf03a: 0x6c008820, + 0xf03c: 0x6c165e20, 0xf03d: 0x6c2d5420, 0xf03f: 0x6c124420, + // Block 0x3c1, offset 0xf040 + 0xf040: 0x6c2d5820, 0xf041: 0x6c2d5620, 0xf042: 0x6c2d5220, 0xf043: 0x6c25a620, + 0xf044: 0x6c035820, 0xf047: 0x6c2d1220, + 0xf049: 0x6c2d5c20, 0xf04a: 0x6c2d5a20, + 0xf04f: 0x6c2d5e20, + 0xf051: 0x6c157c20, + 0xf063: 0x6c10aa20, + 0xf066: 0x6c13f020, + 0xf068: 0x6c2d6020, 0xf06a: 0x6c094220, + 0xf06f: 0x6c2d6220, + 0xf071: 0x6c2d6420, + 0xf075: 0x6c2d6620, + 0xf078: 0x6c0f6e20, + // Block 0x3c2, offset 0xf080 + 0xf081: 0x6c009420, + 0xf08a: 0x6c070e20, + 0xf08e: 0x6c16f820, + 0xf09b: 0x6c2d6e20, + 0xf0a1: 0x6c054c20, 0xf0a2: 0x6c2d6820, + 0xf0a4: 0x6c2d6a20, + 0xf0a8: 0x6c130420, + 0xf0ad: 0x6c029c20, + 0xf0b5: 0x6c157e20, 0xf0b7: 0x6c04a620, + 0xf0bd: 0x6c0fd420, + // Block 0x3c3, offset 0xf0c0 + 0xf0c2: 0x6c2d7020, + 0xf0d2: 0x6c2d7220, + 0xf0d9: 0x6c2d7420, + 0xf0ed: 0x6c0f7020, + 0xf0f0: 0x6c2d7820, 0xf0f2: 0x6c2d7620, + // Block 0x3c4, offset 0xf100 + 0xf109: 0x6c108e20, 0xf10a: 0x6c2d7a20, 0xf10b: 0x6c09b820, + 0xf10c: 0x6c095020, 0xf10d: 0x6c115a20, 0xf10e: 0x6c0e9620, + 0xf112: 0x6c097420, + 0xf114: 0x6c0b9c20, 0xf116: 0x6c2d7c20, + 0xf118: 0x6c2d7e20, + 0xf122: 0x6c0b7e20, 0xf123: 0x6c2d8020, + 0xf125: 0x6c2d8220, + 0xf129: 0x6c2d8420, 0xf12a: 0x6c15ea20, + 0xf12c: 0x6c09ba20, + 0xf132: 0x6c2d8820, 0xf133: 0x6c2d8620, + 0xf135: 0x6c071020, 0xf137: 0x6c074220, + 0xf138: 0x6c085420, + // Block 0x3c5, offset 0xf140 + 0xf142: 0x6c2d8e20, + 0xf147: 0x6c0a1820, + 0xf149: 0x6c2d8c20, 0xf14b: 0x6c2d8a20, + 0xf14d: 0x6c0dca20, + 0xf150: 0x6c067e20, 0xf152: 0x6c0c0620, + 0xf157: 0x6c11c020, + 0xf15c: 0x6c09be20, + 0xf162: 0x6c2d9020, + 0xf164: 0x6c0ac620, + 0xf16a: 0x6c2d9620, 0xf16b: 0x6c2d9220, + 0xf16f: 0x6c2d9420, + 0xf174: 0x6c2d9a20, 0xf175: 0x6c2d9820, + 0xf178: 0x6c0afc20, 0xf17a: 0x6c2d9c20, + // Block 0x3c6, offset 0xf180 + 0xf180: 0x6c2d9e20, 0xf181: 0x6c2da020, + 0xf186: 0x6c120020, 0xf187: 0x6c07be20, + 0xf188: 0x6c095220, 0xf189: 0x6c2da220, 0xf18b: 0x6c2da420, + 0xf18c: 0x6c161020, 0xf18d: 0x6c09d620, 0xf18e: 0x6c152c20, 0xf18f: 0x6c166020, + 0xf190: 0x6c2da620, 0xf191: 0x6c04ec20, + 0xf196: 0x6c2da820, + 0xf198: 0x6c0f7220, 0xf19b: 0x6c2dae20, + 0xf19c: 0x6c02e420, 0xf19d: 0x6c0b5a20, 0xf19f: 0x6c2daa20, + 0xf1a1: 0x6c2dac20, 0xf1a3: 0x6c0f3020, + 0xf1a6: 0x6c143e20, 0xf1a7: 0x6c052020, + 0xf1b5: 0x6c2db220, 0xf1b6: 0x6c2db420, + 0xf1bc: 0x6c2db020, 0xf1bf: 0x6c2db820, + // Block 0x3c7, offset 0xf1c0 + 0xf1cd: 0x6c10a620, 0xf1ce: 0x6c027a20, + 0xf1d1: 0x6c2dc020, + 0xf1d4: 0x6c2dba20, 0xf1d5: 0x6c2dbe20, + 0xf1de: 0x6c2db620, + 0xf1e9: 0x6c2e4c20, + 0xf1ec: 0x6c2dbc20, + 0xf1f4: 0x6c169e20, 0xf1f7: 0x6c065420, + 0xf1ff: 0x6c2dd020, + // Block 0x3c8, offset 0xf200 + 0xf204: 0x6c0f9420, 0xf205: 0x6c2dc620, + 0xf208: 0x6c2dcc20, 0xf209: 0x6c2dc820, 0xf20b: 0x6c2dd220, + 0xf210: 0x6c2dd420, + 0xf217: 0x6c2dc420, + 0xf21a: 0x6c2dde20, 0xf21b: 0x6c016420, + 0xf21e: 0x6c2dc220, + 0xf222: 0x6c11ba20, + 0xf224: 0x6c2dca20, 0xf226: 0x6c0ac820, + 0xf231: 0x6c071220, + 0xf23e: 0x6c142420, + // Block 0x3c9, offset 0xf240 + 0xf240: 0x6c04f020, 0xf243: 0x6c09d820, + 0xf245: 0x6c106020, + 0xf251: 0x6c0c9620, 0xf253: 0x6c2dda20, + 0xf255: 0x6c2dce20, 0xf256: 0x6c2dd820, + 0xf258: 0x6c14d620, 0xf25a: 0x6c0ee020, 0xf25b: 0x6c2ddc20, + 0xf25c: 0x6c2dd620, + 0xf26d: 0x6c0c9420, + 0xf277: 0x6c2de420, + 0xf279: 0x6c2de220, + // Block 0x3ca, offset 0xf280 + 0xf28f: 0x6c2de020, + 0xf292: 0x6c13f220, + 0xf2a4: 0x6c0a4220, + 0xf2a9: 0x6c2de620, 0xf2aa: 0x6c139620, + 0xf2ad: 0x6c012420, + 0xf2b2: 0x6c12a820, 0xf2b3: 0x6c0e9820, + 0xf2b8: 0x6c045c20, 0xf2ba: 0x6c2dea20, + 0xf2bc: 0x6c071620, + // Block 0x3cb, offset 0xf2c0 + 0xf2c6: 0x6c082c20, + 0xf2cf: 0x6c2de820, + 0xf2d0: 0x6c0b9e20, + 0xf2d8: 0x6c0ba020, 0xf2d9: 0x6c2df020, 0xf2da: 0x6c2df420, + 0xf2e0: 0x6c0afe20, 0xf2e2: 0x6c2df220, 0xf2e3: 0x6c2df620, + 0xf2e6: 0x6c04ce20, + 0xf2e8: 0x6c12a620, 0xf2eb: 0x6c095420, + 0xf2ec: 0x6c16ca20, 0xf2ee: 0x6c2dee20, 0xf2ef: 0x6c080820, + 0xf2f2: 0x6c170220, + 0xf2f5: 0x6c2dfa20, + 0xf2fa: 0x6c2df820, 0xf2fb: 0x6c2dfc20, + // Block 0x3cc, offset 0xf300 + 0xf304: 0x6c2dec20, + 0xf30b: 0x6c10ba20, + 0xf30d: 0x6c0fd620, + 0xf314: 0x6c0f1e20, 0xf316: 0x6c2e0620, + 0xf31b: 0x6c0e3a20, + 0xf31c: 0x6c2dfe20, + 0xf320: 0x6c2e0020, + 0xf32c: 0x6c053e20, 0xf32e: 0x6c2e0420, + 0xf335: 0x6c060020, + 0xf33c: 0x6c2e0220, 0xf33e: 0x6c0aca20, + // Block 0x3cd, offset 0xf340 + 0xf34c: 0x6c02e620, + 0xf354: 0x6c2e0e20, 0xf356: 0x6c079620, 0xf357: 0x6c0d2e20, + 0xf35a: 0x6c0f0420, + 0xf367: 0x6c026a20, + 0xf36c: 0x6c2e0a20, 0xf36d: 0x6c2e0c20, 0xf36e: 0x6c0ef620, + 0xf370: 0x6c2e0820, + 0xf379: 0x6c2e1020, + // Block 0x3ce, offset 0xf380 + 0xf383: 0x6c2e1c20, + 0xf388: 0x6c2e2220, + 0xf390: 0x6c2e2020, 0xf391: 0x6c0f8620, + 0xf396: 0x6c2e1220, 0xf397: 0x6c2e1420, + 0xf398: 0x6c2e1a20, + 0xf39d: 0x6c2e1e20, + 0xf3a1: 0x6c04a820, + 0xf3a4: 0x6c2e2420, 0xf3a5: 0x6c2e1820, + 0xf3a8: 0x6c2e1620, + // Block 0x3cf, offset 0xf3c0 + 0xf3c3: 0x6c2e2c20, + 0xf3c7: 0x6c2e2e20, + 0xf3d0: 0x6c2e3020, 0xf3d3: 0x6c2e2a20, + 0xf3d4: 0x6c2e2820, + 0xf3d8: 0x6c0acc20, 0xf3d9: 0x6c103c20, 0xf3da: 0x6c2e2620, + 0xf3e1: 0x6c2e3820, + 0xf3eb: 0x6c2e3420, + 0xf3f5: 0x6c2e3620, 0xf3f6: 0x6c2e3220, + 0xf3f8: 0x6c0de820, 0xf3fa: 0x6c2e3a20, + // Block 0x3d0, offset 0xf400 + 0xf401: 0x6c2e3c20, + 0xf404: 0x6c2e4020, + 0xf411: 0x6c035a20, 0xf412: 0x6c2e3e20, 0xf413: 0x6c154420, + 0xf41a: 0x6c2e5620, 0xf41b: 0x6c2e4220, + 0xf41e: 0x6c2e4820, + 0xf420: 0x6c2e4420, 0xf422: 0x6c2e4620, + 0xf42a: 0x6c2e4a20, + 0xf430: 0x6c2e4e20, + 0xf435: 0x6c2e5020, 0xf437: 0x6c2e5220, + 0xf43c: 0x6c2e5820, 0xf43d: 0x6c2e5420, 0xf43e: 0x6c2e5a20, 0xf43f: 0x6c2e5e20, + // Block 0x3d1, offset 0xf440 + 0xf441: 0x6c2e5c20, + // Block 0x3d2, offset 0xf480 + 0xf4b7: 0x6c0ee220, + // Block 0x3d3, offset 0xf4c0 + 0xf4c0: 0x6c151e20, 0xf4c2: 0x6c2e6020, 0xf4c3: 0x6c0c9820, + 0xf4c7: 0x6c2e6220, + 0xf4c9: 0x6c136020, 0xf4ca: 0x6c2e6420, 0xf4cb: 0x6c024a20, + 0xf4cf: 0x6c00f420, + 0xf4d1: 0x6c035e20, 0xf4d3: 0x6c035c20, + 0xf4d4: 0x6c2e6620, 0xf4d6: 0x6c2e6820, + 0xf4d8: 0x6c2e6a20, 0xf4d9: 0x6c2e6c20, + 0xf4e0: 0x6c2e6e20, 0xf4e2: 0x6c036020, 0xf4e3: 0x6c029e20, + 0xf4e4: 0x6c071820, 0xf4e5: 0x6c11cc20, 0xf4e7: 0x6c2e7220, + 0xf4e8: 0x6c2e7020, + 0xf4ed: 0x6c2e7420, + 0xf4f2: 0x6c013420, + 0xf4f9: 0x6c2e7a20, 0xf4fb: 0x6c2e7820, + 0xf4fc: 0x6c2e7620, 0xf4fe: 0x6c2e7c20, + // Block 0x3d4, offset 0xf500 + 0xf503: 0x6c2e8220, + 0xf507: 0x6c004e20, + 0xf50a: 0x6c2e7e20, + 0xf50c: 0x6c2e8620, 0xf50d: 0x6c2e8420, + 0xf514: 0x6c2e8a20, 0xf515: 0x6c2e8820, 0xf516: 0x6c2e8c20, + 0xf518: 0x6c104420, + 0xf51c: 0x6c2e8e20, + 0xf521: 0x6c2e9020, 0xf522: 0x6c2e9420, + 0xf525: 0x6c2e9220, + // Block 0x3d5, offset 0xf540 + 0xf55c: 0x6c12f420, + 0xf561: 0x6c2e9620, + 0xf568: 0x6c2e9820, 0xf56a: 0x6c07e220, + 0xf56e: 0x6c2e9a20, 0xf56f: 0x6c2e9c20, + 0xf572: 0x6c142620, + 0xf57b: 0x6c0cd220, + 0xf57f: 0x6c000820, + // Block 0x3d6, offset 0xf580 + 0xf580: 0x6c0d8e20, 0xf582: 0x6c2e9e20, + 0xf584: 0x6c12f620, + 0xf58b: 0x6c2ea420, + 0xf58c: 0x6c2ea020, 0xf58d: 0x6c071a20, 0xf58f: 0x6c2ea220, + 0xf590: 0x6c062420, + 0xf59b: 0x6c136220, + 0xf59c: 0x6c2ea820, 0xf59d: 0x6c2eac20, 0xf59e: 0x6c2eaa20, 0xf59f: 0x6c2eae20, + 0xf5a2: 0x6c00be20, 0xf5a3: 0x6c0b7420, + 0xf5a4: 0x6c0a4420, 0xf5a5: 0x6c036220, 0xf5a6: 0x6c2eb020, + 0xf5aa: 0x6c117020, + 0xf5ac: 0x6c2eb420, + 0xf5b0: 0x6c00c020, 0xf5b2: 0x6c2eb220, 0xf5b3: 0x6c0ef820, + 0xf5b5: 0x6c166220, 0xf5b6: 0x6c103e20, 0xf5b7: 0x6c2ea620, + 0xf5b8: 0x6c161420, 0xf5ba: 0x6c060220, + 0xf5bd: 0x6c15c220, + // Block 0x3d7, offset 0xf5c0 + 0xf5c5: 0x6c051a20, 0xf5c6: 0x6c163020, + 0xf5c8: 0x6c053420, 0xf5ca: 0x6c0dbc20, 0xf5cb: 0x6c281020, + 0xf5cd: 0x6c2eb620, 0xf5ce: 0x6c024c20, 0xf5cf: 0x6c0ba220, + 0xf5d4: 0x6c02a020, 0xf5d5: 0x6c2eba20, 0xf5d7: 0x6c2ebc20, + 0xf5d8: 0x6c2eb820, 0xf5d9: 0x6c05ac20, 0xf5db: 0x6c07d220, + 0xf5dc: 0x6c0ace20, + 0xf5e0: 0x6c00c220, 0xf5e3: 0x6c167a20, + 0xf5e7: 0x6c2ec020, + 0xf5e8: 0x6c2d4e20, 0xf5ea: 0x6c2ebe20, + 0xf5f0: 0x6c2ec620, 0xf5f1: 0x6c2ec220, 0xf5f2: 0x6c2ec420, + 0xf5f4: 0x6c2ec820, 0xf5f6: 0x6c2eca20, 0xf5f7: 0x6c16a020, + 0xf5f8: 0x6c2ecc20, 0xf5f9: 0x6c2ece20, 0xf5fb: 0x6c0c1220, + 0xf5fc: 0x6c11d620, + // Block 0x3d8, offset 0xf600 + 0xf600: 0x6c0bbe20, 0xf601: 0x6c037e20, + 0xf604: 0x6c158020, 0xf605: 0x6c021220, 0xf606: 0x6c09bc20, 0xf607: 0x6c065620, + 0xf609: 0x6c2ed420, 0xf60b: 0x6c2ed220, + 0xf60c: 0x6c08ba20, 0xf60d: 0x6c2ed620, 0xf60e: 0x6c2ed020, + 0xf611: 0x6c082420, + 0xf615: 0x6c2ede20, 0xf616: 0x6c2a5c20, + 0xf619: 0x6c190e20, 0xf61b: 0x6c0bb220, + 0xf61c: 0x6c2eda20, + 0xf622: 0x6c161220, 0xf623: 0x6c10ca20, + 0xf628: 0x6c00d220, 0xf62a: 0x6c0c4620, 0xf62b: 0x6c08fc20, + 0xf630: 0x6c134620, 0xf632: 0x6c00fc20, + 0xf636: 0x6c16a220, 0xf637: 0x6c15e220, + 0xf639: 0x6c2ee020, 0xf63b: 0x6c0fb620, + // Block 0x3d9, offset 0xf640 + 0xf640: 0x6c098620, + 0xf644: 0x6c2ee220, 0xf646: 0x6c2ee420, 0xf647: 0x6c0b5c20, + 0xf648: 0x6c2ee620, 0xf64a: 0x6c16a420, + 0xf64d: 0x6c2edc20, 0xf64e: 0x6c2eea20, 0xf64f: 0x6c2eee20, + 0xf651: 0x6c2eec20, 0xf653: 0x6c2ee820, + 0xf656: 0x6c2ef020, + 0xf659: 0x6c2ef220, + 0xf65c: 0x6c0d3020, 0xf65e: 0x6c01fc20, + 0xf664: 0x6c2ef420, 0xf667: 0x6c14c020, + 0xf66a: 0x6c2ef620, + 0xf670: 0x6c2ef820, 0xf672: 0x6c16d820, + 0xf678: 0x6c1f6020, 0xf679: 0x6c2efa20, + 0xf67d: 0x6c2efc20, 0xf67e: 0x6c2efe20, + // Block 0x3da, offset 0xf680 + 0xf682: 0x6c2f0620, + 0xf684: 0x6c2f0020, 0xf686: 0x6c2f0220, + 0xf688: 0x6c2f0420, 0xf689: 0x6c2f0820, + 0xf692: 0x6c0c0820, + 0xf696: 0x6c153e20, + 0xf699: 0x6c0c0a20, + 0xf69c: 0x6c2f0a20, 0xf69e: 0x6c124620, + 0xf6a0: 0x6c2f0c20, 0xf6a1: 0x6c314420, 0xf6a2: 0x6c14e820, + 0xf6a4: 0x6c2f0e20, 0xf6a6: 0x6c2f1020, + 0xf6a8: 0x6c2f1220, 0xf6a9: 0x6c02a220, 0xf6ab: 0x6c2f1620, + 0xf6ad: 0x6c0b7620, + 0xf6b1: 0x6c2f1820, + 0xf6b4: 0x6c052c20, + 0xf6b9: 0x6c2f1a20, 0xf6ba: 0x6c2f2220, + 0xf6bc: 0x6c2f1e20, + // Block 0x3db, offset 0xf6c0 + 0xf6c1: 0x6c2f2020, + 0xf6c4: 0x6c02da20, 0xf6c5: 0x6c2f1c20, 0xf6c6: 0x6c2f2420, + 0xf6cb: 0x6c2f2620, + 0xf6cd: 0x6c005020, 0xf6cf: 0x6c2f2820, + 0xf6d0: 0x6c2f2a20, + 0xf6d8: 0x6c0ad020, + 0xf6dc: 0x6c2f2c20, + 0xf6e0: 0x6c03fa20, 0xf6e3: 0x6c2f3220, + 0xf6e6: 0x6c2f3020, + 0xf6e8: 0x6c2f2e20, 0xf6eb: 0x6c2ba020, + 0xf6ed: 0x6c139020, + 0xf6f3: 0x6c2f3420, + 0xf6f4: 0x6c2f3620, + // Block 0x3dc, offset 0xf700 + 0xf703: 0x6c2f3820, + 0xf706: 0x6c2f3a20, + 0xf708: 0x6c2f3c20, 0xf70b: 0x6c2f3e20, + 0xf713: 0x6c036420, + 0xf71c: 0x6c2f4020, + 0xf72d: 0x6c2f4220, 0xf72e: 0x6c10ea20, + 0xf732: 0x6c2f4620, 0xf733: 0x6c01ae20, + 0xf735: 0x6c2f4c20, 0xf736: 0x6c2f4a20, + 0xf73b: 0x6c00c420, + 0xf73f: 0x6c04aa20, + // Block 0x3dd, offset 0xf740 + 0xf741: 0x6c136620, 0xf742: 0x6c0ee420, 0xf743: 0x6c075c20, + 0xf745: 0x6c071c20, 0xf746: 0x6c0a1a20, + 0xf748: 0x6c0b7c20, + 0xf74c: 0x6c2f5020, 0xf74f: 0x6c2f4e20, + 0xf750: 0x6c159020, 0xf751: 0x6c038020, 0xf752: 0x6c120420, 0xf753: 0x6c10a020, + 0xf757: 0x6c0bbc20, + 0xf758: 0x6c166420, 0xf75a: 0x6c059a20, + 0xf761: 0x6c2f5620, + 0xf764: 0x6c2f5420, + 0xf76c: 0x6c142a20, 0xf76d: 0x6c104020, + 0xf774: 0x6c011c20, 0xf777: 0x6c2f5820, + 0xf778: 0x6c2f5220, 0xf77b: 0x6c12be20, + 0xf77c: 0x6c15e020, 0xf77d: 0x6c2f5a20, + // Block 0x3de, offset 0xf780 + 0xf786: 0x6c2f5c20, + 0xf78b: 0x6c2f6020, + 0xf78c: 0x6c0dcc20, 0xf78d: 0x6c02aa20, 0xf78e: 0x6c02ac20, 0xf78f: 0x6c2f5e20, + 0xf794: 0x6c038220, 0xf795: 0x6c060420, + 0xf798: 0x6c038420, 0xf79b: 0x6c0faa20, + 0xf79e: 0x6c168820, + 0xf7a7: 0x6c065820, + 0xf7ab: 0x6c2f6220, + 0xf7af: 0x6c2f6420, + 0xf7b0: 0x6c2f6620, 0xf7b1: 0x6c2f6820, 0xf7b3: 0x6c2f6c20, + 0xf7b4: 0x6c2f6a20, + // Block 0x3df, offset 0xf7c0 + 0xf7e8: 0x6c130a20, 0xf7ea: 0x6c2f6e20, + 0xf7ef: 0x6c2f7020, + 0xf7f1: 0x6c2f7220, + 0xf7f6: 0x6c2f7420, + // Block 0x3e0, offset 0xf800 + 0xf803: 0x6c2f7820, + 0xf804: 0x6c2f7620, 0xf806: 0x6c2f7a20, + 0xf81b: 0x6c124820, + 0xf81c: 0x6c27aa20, 0xf81f: 0x6c0b1620, + 0xf822: 0x6c03d020, + 0xf829: 0x6c2f7c20, 0xf82b: 0x6c2f7e20, + 0xf82d: 0x6c18ba20, 0xf82e: 0x6c20ec20, 0xf82f: 0x6c120620, + 0xf832: 0x6c00b620, + 0xf834: 0x6c003620, + 0xf83c: 0x6c08bc20, 0xf83d: 0x6c13f420, 0xf83e: 0x6c0b0420, + // Block 0x3e1, offset 0xf840 + 0xf843: 0x6c2f8020, + 0xf845: 0x6c150e20, + 0xf849: 0x6c2f8220, 0xf84a: 0x6c15c420, + 0xf84c: 0x6c010020, + 0xf850: 0x6c085620, 0xf852: 0x6c2f8420, 0xf853: 0x6c021420, + 0xf854: 0x6c2f8620, + 0xf858: 0x6c2f8820, + 0xf85d: 0x6c2f8c20, 0xf85e: 0x6c2f8e20, + 0xf860: 0x6c2f9220, 0xf861: 0x6c2f8a20, + 0xf864: 0x6c2f9020, + 0xf868: 0x6c036620, + 0xf86c: 0x6c2f9420, 0xf86e: 0x6c2f9620, + 0xf87d: 0x6c2f9820, 0xf87e: 0x6c2f9a20, + // Block 0x3e2, offset 0xf880 + 0xf882: 0x6c2f9c20, + 0xf885: 0x6c2fa020, + 0xf889: 0x6c2f9e20, 0xf88b: 0x6c2fa420, + 0xf88c: 0x6c2faa20, + 0xf890: 0x6c2fa220, 0xf891: 0x6c2fa620, 0xf892: 0x6c2fa820, + 0xf895: 0x6c2fac20, 0xf897: 0x6c04ac20, + // Block 0x3e3, offset 0xf8c0 + 0xf8d6: 0x6c097620, 0xf8d7: 0x6c2fae20, + 0xf8d8: 0x6c2fb020, 0xf8d9: 0x6c071e20, + 0xf8e5: 0x6c2fb220, + 0xf8e8: 0x6c027020, + 0xf8ec: 0x6c114220, 0xf8ed: 0x6c2fb420, 0xf8ee: 0x6c2fb620, + 0xf8f3: 0x6c0e6820, + 0xf8f4: 0x6c10be20, + 0xf8fc: 0x6c2fb820, + // Block 0x3e4, offset 0xf900 + 0xf901: 0x6c119e20, + 0xf904: 0x6c0d9020, 0xf905: 0x6c012c20, 0xf906: 0x6c050420, + 0xf908: 0x6c050620, + 0xf910: 0x6c0e9a20, 0xf911: 0x6c2fc220, 0xf912: 0x6c050820, + 0xf915: 0x6c021620, + 0xf918: 0x6c2fc020, 0xf91b: 0x6c2fbc20, + 0xf91d: 0x6c2fbe20, 0xf91f: 0x6c2fba20, + 0xf922: 0x6c2fd620, + 0xf92d: 0x6c2fc420, 0xf92e: 0x6c2fc620, + 0xf931: 0x6c2fc820, 0xf932: 0x6c2fca20, + 0xf938: 0x6c2fce20, 0xf93b: 0x6c2fcc20, + 0xf93f: 0x6c09fe20, + // Block 0x3e5, offset 0xf940 + 0xf941: 0x6c2fd020, + 0xf945: 0x6c2fd420, + 0xf94e: 0x6c03d220, 0xf94f: 0x6c2fd220, + 0xf952: 0x6c0d3220, 0xf953: 0x6c060620, + 0xf959: 0x6c2fd820, + 0xf968: 0x6c0d9220, 0xf96b: 0x6c2fda20, + 0xf970: 0x6c104220, + 0xf977: 0x6c2fdc20, + 0xf97e: 0x6c2fe620, + // Block 0x3e6, offset 0xf980 + 0xf980: 0x6c2fe220, 0xf982: 0x6c2fe020, 0xf983: 0x6c2fe420, + 0xf985: 0x6c2fde20, + 0xf98d: 0x6c2fea20, + 0xf995: 0x6c2fe820, 0xf997: 0x6c2fee20, + 0xf99a: 0x6c04ae20, 0xf99b: 0x6c2fec20, + 0xf99f: 0x6c2ff020, + 0xf9a2: 0x6c2ff220, + 0xf9a4: 0x6c2ff620, 0xf9a5: 0x6c2ff420, + 0xf9a9: 0x6c2ff820, 0xf9aa: 0x6c2ffc20, 0xf9ab: 0x6c2ffa20, + // Block 0x3e7, offset 0xf9c0 + 0xf9e8: 0x6c075420, + 0xf9ed: 0x6c2ffe20, + 0xf9f0: 0x6c300020, + 0xf9f8: 0x6c026c20, + 0xf9fc: 0x6c300220, + // Block 0x3e8, offset 0xfa00 + 0xfa00: 0x6c300420, + 0xfa04: 0x6c0ba620, + 0xfa0f: 0x6c300620, + 0xfa11: 0x6c300820, 0xfa13: 0x6c300a20, + 0xfa14: 0x6c300c20, + 0xfa18: 0x6c072020, + 0xfa1e: 0x6c300e20, 0xfa1f: 0x6c301020, + 0xfa22: 0x6c301220, 0xfa23: 0x6c301420, + 0xfa26: 0x6c301620, + 0xfa2a: 0x6c11c220, 0xfa2b: 0x6c301a20, + 0xfa2d: 0x6c126820, 0xfa2e: 0x6c301c20, 0xfa2f: 0x6c301820, + 0xfa31: 0x6c302020, + 0xfa34: 0x6c301e20, 0xfa37: 0x6c302220, + 0xfa3b: 0x6c302420, + // Block 0x3e9, offset 0xfa40 + 0xfa46: 0x6c302620, + 0xfa58: 0x6c302820, 0xfa5a: 0x6c302a20, + 0xfa5f: 0x6c302c20, + 0xfa62: 0x6c302e20, 0xfa63: 0x6c303020, + 0xfa65: 0x6c303220, 0xfa67: 0x6c303420, + 0xfa68: 0x6c303620, 0xfa69: 0x6c303820, 0xfa6a: 0x6c303a20, + 0xfa6e: 0x6c303c20, 0xfa6f: 0x6c303e20, + 0xfa71: 0x6c20e020, 0xfa72: 0x6c304020, + 0xfa7b: 0x6c268a20, + 0xfa7c: 0x6c03d420, + // Block 0x3ea, offset 0xfa80 + 0xfa81: 0x6c023620, 0xfa82: 0x6c077c20, 0xfa83: 0x6c304420, + 0xfa84: 0x6c304220, 0xfa85: 0x6c149a20, + 0xfa8d: 0x6c304820, 0xfa8e: 0x6c304a20, 0xfa8f: 0x6c304620, + 0xfa91: 0x6c304c20, + 0xfa94: 0x6c145820, + 0xfa98: 0x6c304e20, 0xfa9a: 0x6c046220, + 0xfaaf: 0x6c16ce20, + 0xfab4: 0x6c305020, + // Block 0x3eb, offset 0xfac0 + 0xfac3: 0x6c305420, + 0xface: 0x6c003c20, + 0xfad1: 0x6c305620, 0xfad2: 0x6c132e20, 0xfad3: 0x6c305220, + 0xfad6: 0x6c305820, 0xfad7: 0x6c305a20, + 0xfadf: 0x6c305c20, + 0xfae0: 0x6c305e20, + 0xfae8: 0x6c306020, 0xfaea: 0x6c147020, 0xfaeb: 0x6c082e20, + 0xfaed: 0x6c080c20, 0xfaee: 0x6c0c9a20, + 0xfaf4: 0x6c306220, + 0xfaf9: 0x6c306820, + // Block 0x3ec, offset 0xfb00 + 0xfb00: 0x6c306420, + 0xfb06: 0x6c306a20, + 0xfb09: 0x6c068220, 0xfb0a: 0x6c306620, + 0xfb0f: 0x6c306c20, + 0xfb11: 0x6c306e20, 0xfb12: 0x6c307020, + 0xfb14: 0x6c307820, 0xfb16: 0x6c082820, + 0xfb1b: 0x6c0dc020, + 0xfb21: 0x6c307a20, 0xfb22: 0x6c307420, 0xfb23: 0x6c307220, + 0xfb24: 0x6c307620, + 0xfb28: 0x6c05a220, + 0xfb30: 0x6c308220, 0xfb31: 0x6c308020, 0xfb32: 0x6c307e20, + 0xfb35: 0x6c002620, + // Block 0x3ed, offset 0xfb40 + 0xfb44: 0x6c309620, 0xfb46: 0x6c308e20, + 0xfb48: 0x6c309020, 0xfb49: 0x6c308820, 0xfb4a: 0x6c309420, + 0xfb4c: 0x6c308c20, 0xfb4d: 0x6c02b820, + 0xfb50: 0x6c171c20, 0xfb52: 0x6c309220, 0xfb53: 0x6c308a20, + 0xfb54: 0x6c308620, 0xfb55: 0x6c308420, + 0xfb5b: 0x6c309a20, + 0xfb61: 0x6c30a020, + 0xfb64: 0x6c309e20, 0xfb65: 0x6c309c20, + 0xfb6d: 0x6c12ae20, 0xfb6e: 0x6c309820, 0xfb6f: 0x6c00a620, + 0xfb70: 0x6c30a220, 0xfb72: 0x6c30a620, + 0xfb79: 0x6c02d220, 0xfb7a: 0x6c307c20, 0xfb7b: 0x6c00ea20, + 0xfb7e: 0x6c30aa20, + // Block 0x3ee, offset 0xfb80 + 0xfb86: 0x6c30a820, 0xfb87: 0x6c30a420, + 0xfb88: 0x6c0e0e20, + 0xfb92: 0x6c147420, + 0xfb97: 0x6c167c20, + 0xfb9a: 0x6c30ac20, + 0xfba0: 0x6c30ae20, + 0xfba7: 0x6c30b020, + 0xfbb6: 0x6c30b220, + 0xfbb8: 0x6c30b420, + // Block 0x3ef, offset 0xfbc0 + 0xfbe5: 0x6c0ee620, 0xfbe7: 0x6c30b620, + 0xfbe9: 0x6c11ce20, 0xfbeb: 0x6c30c020, + 0xfbec: 0x6c30b820, + 0xfbf0: 0x6c30ba20, 0xfbf3: 0x6c13f620, + 0xfbf4: 0x6c14d820, 0xfbf6: 0x6c108820, + // Block 0x3f0, offset 0xfc00 + 0xfc03: 0x6c30c220, + 0xfc06: 0x6c30c420, 0xfc07: 0x6c106420, + 0xfc08: 0x6c30be20, 0xfc09: 0x6c30bc20, + 0xfc0e: 0x6c018c20, + 0xfc12: 0x6c30d420, + 0xfc15: 0x6c30d220, + 0xfc1b: 0x6c016620, + 0xfc1f: 0x6c30ce20, + 0xfc23: 0x6c30cc20, + 0xfc26: 0x6c30c820, + 0xfc28: 0x6c02ea20, 0xfc2a: 0x6c30c620, 0xfc2b: 0x6c08f420, + 0xfc2c: 0x6c018a20, + 0xfc3b: 0x6c072220, + 0xfc3e: 0x6c30da20, 0xfc3f: 0x6c30d820, + // Block 0x3f1, offset 0xfc40 + 0xfc41: 0x6c30d620, + 0xfc44: 0x6c30d020, 0xfc46: 0x6c30dc20, + 0xfc48: 0x6c30de20, + 0xfc50: 0x6c30e820, 0xfc51: 0x6c30e620, + 0xfc59: 0x6c30ea20, + 0xfc5c: 0x6c00d620, 0xfc5d: 0x6c30e020, 0xfc5e: 0x6c30e220, + 0xfc60: 0x6c074420, 0xfc61: 0x6c14c220, + 0xfc64: 0x6c30e420, + 0xfc6c: 0x6c13f820, 0xfc6f: 0x6c30f420, + 0xfc72: 0x6c30ec20, + 0xfc7a: 0x6c30f620, + // Block 0x3f2, offset 0xfc80 + 0xfc87: 0x6c30f020, + 0xfc89: 0x6c30ee20, + 0xfc8f: 0x6c059c20, + 0xfc9a: 0x6c30f820, + 0xfca4: 0x6c30fa20, + 0xfca9: 0x6c30fc20, 0xfcab: 0x6c30f220, + 0xfcaf: 0x6c30ca20, + 0xfcb2: 0x6c30fe20, + 0xfcb4: 0x6c0f3220, + 0xfcb8: 0x6c310620, 0xfcba: 0x6c310820, 0xfcbb: 0x6c310420, + // Block 0x3f3, offset 0xfcc0 + 0xfcc1: 0x6c310220, 0xfcc2: 0x6c310e20, + 0xfcc4: 0x6c310020, 0xfcc6: 0x6c310a20, + 0xfccf: 0x6c310c20, + 0xfcd3: 0x6c311220, + 0xfcd9: 0x6c311020, + 0xfce6: 0x6c311620, + 0xfced: 0x6c311820, 0xfcef: 0x6c311a20, + 0xfcf2: 0x6c171620, + 0xfcf8: 0x6c311420, 0xfcf9: 0x6c0dce20, 0xfcfa: 0x6c07f220, + 0xfcfd: 0x6c311c20, + // Block 0x3f4, offset 0xfd00 + 0xfd1a: 0x6c311e20, 0xfd1b: 0x6c312020, + 0xfd1e: 0x6c312220, + // Block 0x3f5, offset 0xfd40 + 0xfd75: 0x6c312420, + 0xfd78: 0x6c060820, 0xfd79: 0x6c312620, + 0xfd7d: 0x6c312820, 0xfd7f: 0x6c08ee20, + // Block 0x3f6, offset 0xfd80 + 0xfd81: 0x6c312a20, + 0xfd88: 0x6c312c20, 0xfd8b: 0x6c312e20, + 0xfd8c: 0x6c313020, + 0xfd91: 0x6c313620, 0xfd92: 0x6c313220, 0xfd93: 0x6c16fc20, + 0xfd95: 0x6c313420, 0xfd97: 0x6c16a620, + 0xfd9d: 0x6c313820, 0xfd9f: 0x6c167e20, + 0xfda5: 0x6c313a20, 0xfda6: 0x6c11a020, + 0xfda9: 0x6c313c20, 0xfdaa: 0x6c314020, + 0xfdad: 0x6c314220, + 0xfdb8: 0x6c313e20, 0xfdb9: 0x6c073620, 0xfdba: 0x6c14ea20, 0xfdbb: 0x6c145a20, + 0xfdbc: 0x6c1c4020, 0xfdbe: 0x6c213620, 0xfdbf: 0x6c148a20, + // Block 0x3f7, offset 0xfdc0 + 0xfdc4: 0x6c018e20, + 0xfdcc: 0x6c314620, 0xfdcd: 0x6c040c20, 0xfdce: 0x6c314820, 0xfdcf: 0x6c314a20, + 0xfdd0: 0x6c314c20, 0xfdd2: 0x6c074620, + 0xfdd4: 0x6c314e20, + 0xfdd8: 0x6c235220, 0xfdd9: 0x6c150620, 0xfddb: 0x6c0dbe20, + 0xfddc: 0x6c315020, 0xfddd: 0x6c315420, 0xfdde: 0x6c315220, + 0xfde0: 0x6c315620, + 0xfde5: 0x6c315820, + 0xfde8: 0x6c315a20, + 0xfdef: 0x6c315c20, + 0xfdf4: 0x6c315e20, 0xfdf6: 0x6c316020, 0xfdf7: 0x6c316220, + 0xfdf9: 0x6c316420, 0xfdfb: 0x6c316620, + 0xfdfc: 0x6c316820, 0xfdfd: 0x6c316a20, + // Block 0x3f8, offset 0xfe00 + 0xfe07: 0x6c316c20, + 0xfe08: 0x6c316e20, + 0xfe0e: 0x6c0f7420, + 0xfe13: 0x6c065a20, + 0xfe15: 0x6c317220, + 0xfe20: 0x6c0cd620, 0xfe21: 0x6c317420, + 0xfe2c: 0x6c317620, + 0xfe3b: 0x6c125e20, + 0xfe3e: 0x6c317820, + // Block 0x3f9, offset 0xfe40 + 0xfe4a: 0x6c317a20, 0xfe4b: 0x6c254c20, + 0xfe4e: 0x6c2c2e20, 0xfe4f: 0x6c2f4420, + 0xfe52: 0x6c317c20, + 0xfe54: 0x6c317e20, + 0xfe5f: 0x6c318220, + 0xfe60: 0x6c318420, 0xfe61: 0x6c318620, 0xfe62: 0x6c16a820, 0xfe63: 0x6c318020, + 0xfe66: 0x6c318820, 0xfe67: 0x6c318a20, + 0xfe6a: 0x6c318e20, + 0xfe6c: 0x6c318c20, + 0xfe72: 0x6c319220, + 0xfe76: 0x6c319420, 0xfe77: 0x6c319020, + // Block 0x3fa, offset 0xfe80 + 0xfe8d: 0x6c163420, + 0xfe95: 0x6c319620, + 0xfe9c: 0x6c319820, 0xfe9d: 0x6c258620, + 0xfea0: 0x6c319a20, + // Block 0x3fb, offset 0xfec0 + 0xfec0: 0x6c2bdc20, 0xfec1: 0x6c06ce20, 0xfec2: 0x6c093c20, 0xfec3: 0x6c2c1020, + 0xfec4: 0x6c02c820, 0xfec5: 0x6c051c20, 0xfec6: 0x6c04f620, 0xfec7: 0x6c319820, + 0xfec8: 0x6c319820, 0xfec9: 0x6c056420, 0xfeca: 0x6c04ec20, 0xfecb: 0x6c19b020, + 0xfecc: 0x6c10a820, 0xfecd: 0x6c1dac20, 0xfece: 0x6c245a20, 0xfecf: 0x6c15d620, + 0xfed0: 0x6c29d420, 0xfed1: 0x6c15d820, 0xfed2: 0x6c15da20, 0xfed3: 0x6c2d5e20, + 0xfed4: 0x6c207020, 0xfed5: 0x6c15e420, 0xfed6: 0x6c22ae20, 0xfed7: 0x6c237220, + 0xfed8: 0x6c15e820, 0xfed9: 0x6c15ea20, 0xfeda: 0x6c2fc820, 0xfedb: 0x6c174220, + 0xfedc: 0x6c15ee20, 0xfedd: 0x6c15f220, 0xfede: 0x6c22f420, 0xfedf: 0x6c15f820, + 0xfee0: 0x6c312220, 0xfee1: 0x6c15f020, 0xfee2: 0x6c15f420, 0xfee3: 0x6c15f620, + 0xfee4: 0x6c2b0220, 0xfee5: 0x6c1e1420, 0xfee6: 0x6c285620, 0xfee7: 0x43103e20, + 0xfee8: 0x6c16de20, 0xfee9: 0x6c16e220, 0xfeea: 0x6c16e820, 0xfeeb: 0x6c16ee20, + 0xfeec: 0x6c16f820, 0xfeed: 0x6c179220, 0xfeee: 0x6c169020, 0xfeef: 0x6c18b420, + 0xfef0: 0x42c98820, 0xfef1: 0x6c16d020, 0xfef2: 0x6c22f220, 0xfef3: 0x6c249620, + 0xfef4: 0x6c16f220, 0xfef5: 0x6c29cc20, 0xfef6: 0x6c163c20, 0xfef7: 0x6c16d620, + 0xfef8: 0x6c16d820, 0xfef9: 0x6c16ce20, 0xfefa: 0x6c07f220, 0xfefb: 0x6c250420, + 0xfefc: 0x6c254420, 0xfefd: 0x42fb4020, 0xfefe: 0x43079220, 0xfeff: 0x43260820, + // Block 0x3fc, offset 0xff00 + 0xff00: 0x6c08ee20, 0xff01: 0x6c170420, 0xff02: 0x6c1a9e20, 0xff03: 0x6c16e020, + 0xff04: 0x6c262620, 0xff05: 0x6c16f420, 0xff06: 0x6c16ec20, 0xff07: 0x6c251c20, + 0xff08: 0x6c16d420, 0xff09: 0x6c15e220, 0xff0a: 0x6c1a9620, 0xff0b: 0x42b8c420, + 0xff0c: 0x6c209220, 0xff0d: 0x42dbb420, 0xff0e: 0x6c16ea20, 0xff0f: 0x6c168620, + 0xff10: 0x6c271420, 0xff11: 0x6c2ea420, 0xff12: 0x6c2f1420, 0xff13: 0x6c170020, + 0xff14: 0x6c31a420, 0xff15: 0x6c164620, 0xff16: 0x6c165620, 0xff17: 0x6c003a20, + 0xff18: 0x6c126e20, 0xff19: 0x6c166220, 0xff1a: 0x6c2bc620, 0xff1b: 0x6c1dfe20, + 0xff1c: 0x6c207020, 0xff1d: 0x6c0dec20, 0xff1e: 0x6c0e1420, 0xff1f: 0x6c10fa20, + 0xff20: 0x6c0fe420, 0xff21: 0x6c161820, 0xff22: 0x6c007620, 0xff23: 0x6c142c20, + 0xff24: 0x42f1f620, 0xff25: 0x6c138820, 0xff26: 0x6c131420, 0xff27: 0x6c12c420, + 0xff28: 0x6c122e20, 0xff29: 0x6c1ed820, 0xff2a: 0x6c080620, 0xff2b: 0x6c190a20, + 0xff2c: 0x6c07aa20, 0xff2d: 0x6c0a9c20, 0xff2e: 0x6c15b620, 0xff2f: 0x43155420, + 0xff30: 0x6c082020, 0xff31: 0x6c0dfc20, 0xff32: 0x6c0ef020, 0xff33: 0x6c099820, + 0xff34: 0x6c095620, 0xff35: 0x6c161e20, 0xff36: 0x6c162020, 0xff37: 0x6c164020, + 0xff38: 0x6c182620, 0xff39: 0x6c185a20, 0xff3a: 0x6c164c20, 0xff3b: 0x6c165820, + 0xff3c: 0x6c165a20, 0xff3d: 0x6c165c20, 0xff3e: 0x6c166020, 0xff3f: 0x6c18c020, + // Block 0x3fd, offset 0xff40 + 0xff40: 0x6c16cc20, 0xff41: 0x6c0a3a20, 0xff42: 0x6c1c6220, 0xff43: 0x6c163a20, + 0xff44: 0x6c228020, 0xff45: 0x6c24f620, 0xff46: 0x6c2e7420, 0xff47: 0x6c2ffc20, + 0xff48: 0x6c16a620, 0xff49: 0x6c314820, 0xff4a: 0x6c166620, 0xff4b: 0x42cd8c20, + 0xff4c: 0x42d6ee20, 0xff4d: 0x6c2cf620, 0xff4e: 0x6c110220, 0xff4f: 0x6c16ba20, + 0xff50: 0x6c1dba20, 0xff51: 0x6c110820, 0xff52: 0x6c16bc20, 0xff53: 0x6c16be20, + 0xff54: 0x42e91220, 0xff55: 0x42f39420, 0xff56: 0x6c16c220, 0xff57: 0x6c16c420, + 0xff58: 0x6c2cdc20, 0xff59: 0x6c16c620, 0xff5a: 0x6c16c820, 0xff5b: 0x43269420, + 0xff5c: 0x6c16ae20, 0xff5d: 0x6c16b020, 0xff5e: 0x6c00ac20, 0xff5f: 0x6c16b220, + 0xff60: 0x6c16b420, 0xff61: 0x43155420, 0xff62: 0x6c16b620, 0xff63: 0x6c110420, + 0xff64: 0x6c110620, 0xff65: 0x42d75c20, 0xff66: 0x6c16c020, 0xff67: 0x6c235e20, + 0xff68: 0x6c168a20, 0xff69: 0x6c1a1220, 0xff6a: 0x6c10fa20, 0xff6b: 0x6c169420, + 0xff6c: 0x6c169620, 0xff6d: 0x6c169820, 0xff6e: 0x6c238e20, 0xff6f: 0x6c278420, + 0xff70: 0x6c27c420, 0xff71: 0x6c169e20, 0xff72: 0x6c16a220, 0xff73: 0x6c2f0420, + 0xff74: 0x6c166420, 0xff75: 0x6c168e20, 0xff76: 0x6c255020, 0xff77: 0x6c2d9a20, + 0xff78: 0x6c2ecc20, 0xff79: 0x6c1d1a20, 0xff7a: 0x6c163e20, 0xff7b: 0x6c164220, + 0xff7c: 0x6c164820, 0xff7d: 0x6c10e820, 0xff7e: 0x6c164a20, 0xff7f: 0x6c207020, + // Block 0x3fe, offset 0xff80 + 0xff80: 0x6c22e020, 0xff81: 0x6c165220, 0xff82: 0x6c297e20, 0xff83: 0x6c165e20, + 0xff84: 0x6c163420, 0xff85: 0x6c1f2a20, 0xff86: 0x6c2e9a20, 0xff87: 0x6c162220, + 0xff88: 0x42cef620, 0xff89: 0x6c154020, 0xff8a: 0x6c162420, 0xff8b: 0x6c162620, + 0xff8c: 0x6c162820, 0xff8d: 0x6c162a20, 0xff8e: 0x6c162c20, 0xff8f: 0x6c128220, + 0xff90: 0x6c168820, 0xff91: 0x6c16fa20, 0xff92: 0x6c1dce20, 0xff93: 0x6c161420, + 0xff94: 0x6c166a20, 0xff95: 0x6c1bde20, 0xff96: 0x6c21cc20, 0xff97: 0x6c167820, + 0xff98: 0x6c161620, 0xff99: 0x6c1d6020, 0xff9a: 0x6c053820, 0xff9b: 0x6c161820, + 0xff9c: 0x6c163020, 0xff9d: 0x6c15fc20, 0xff9e: 0x6c15fe20, 0xff9f: 0x6c160020, + 0xffa0: 0x6c006e20, 0xffa1: 0x6c160220, 0xffa2: 0x6c160420, 0xffa3: 0x6c0f7620, + 0xffa4: 0x6c160620, 0xffa5: 0x6c160a20, 0xffa6: 0x6c1da420, 0xffa7: 0x6c160c20, + 0xffa8: 0x6c160e20, 0xffa9: 0x6c161020, 0xffaa: 0x6c161220, 0xffab: 0x6c106620, + 0xffac: 0x6c0f8820, 0xffad: 0x6c193020, 0xffae: 0x6c167220, 0xffaf: 0x42e93020, + 0xffb0: 0x6c29ca20, 0xffb1: 0x6c167a20, 0xffb2: 0x6c167c20, 0xffb3: 0x6c167e20, + 0xffb4: 0x6c166e20, 0xffb5: 0x6c167020, 0xffb6: 0x6c167620, 0xffb7: 0x6c161a20, + 0xffb8: 0x6c02b020, 0xffb9: 0x6c162e20, 0xffba: 0x42e58020, 0xffbb: 0x6c229820, + 0xffbc: 0x6c08f220, 0xffbd: 0x6c09c020, 0xffbe: 0x6c0e7a20, 0xffbf: 0x6c086620, + // Block 0x3ff, offset 0xffc0 + 0xffc0: 0x6c0c3420, 0xffc1: 0x6c0fde20, 0xffc2: 0x6c0dde20, 0xffc3: 0x6c102420, + 0xffc4: 0x6c0dd820, 0xffc5: 0x6c105420, 0xffc6: 0x6c140e20, 0xffc7: 0x6c2ce020, + 0xffc8: 0x6c070420, 0xffc9: 0x6c071a20, 0xffca: 0x6c05f620, 0xffcb: 0x6c028220, + 0xffcc: 0x6c181a20, 0xffcd: 0x42ab8020, 0xffce: 0x43f41c20, 0xffcf: 0x43f41e20, + 0xffd0: 0x6c0f0a20, 0xffd1: 0x43f42220, 0xffd2: 0x6c0be420, 0xffd3: 0x43f42620, + 0xffd4: 0x43f42820, 0xffd5: 0x42a3bc20, 0xffd6: 0x6c0ea020, 0xffd7: 0x6c012a20, + 0xffd8: 0x6c169a20, 0xffd9: 0x6c0b4420, 0xffda: 0x6c0aa220, 0xffdb: 0x6c131a20, + 0xffdc: 0x6c153e20, 0xffdd: 0x6c0bf420, 0xffde: 0x6c00ce20, 0xffdf: 0x43f43e20, + 0xffe0: 0x430c2420, 0xffe1: 0x43f44220, 0xffe2: 0x6c0a3420, 0xffe3: 0x43f44620, + 0xffe4: 0x43f44820, 0xffe5: 0x6c009e20, 0xffe6: 0x6c0fd420, 0xffe7: 0x43f44e20, + 0xffe8: 0x43f45020, 0xffe9: 0x43f45220, 0xffea: 0x6c120620, 0xffeb: 0x6c08bc20, + 0xffec: 0x6c036620, 0xffed: 0x6c0f3220, 0xffee: 0x4321bc20, 0xffef: 0x6c16a020, + 0xfff0: 0x6c12f820, 0xfff1: 0x6c0cd820, 0xfff2: 0x6c14e020, 0xfff3: 0x6c138a20, + 0xfff4: 0x6c04c820, 0xfff5: 0x6c121820, 0xfff6: 0x6c02be20, 0xfff7: 0x6c0e1820, + 0xfff8: 0x6c038e20, 0xfff9: 0x6c135220, 0xfffa: 0x6c143220, 0xfffb: 0x6c0cec20, + 0xfffc: 0x6c1b9c20, 0xfffd: 0x6c022a20, 0xfffe: 0x6c025c20, 0xffff: 0x6c0d3820, + // Block 0x400, offset 0x10000 + 0x10000: 0x6c0ec020, 0x10001: 0x6c12c020, 0x10002: 0x6c03a620, 0x10003: 0x6c0a2220, + 0x10004: 0x6c116220, 0x10005: 0x6c023c20, 0x10006: 0x6c0a2620, 0x10007: 0x6c033220, + 0x10008: 0x6c093220, 0x10009: 0x42e45620, 0x1000a: 0x6c0de420, 0x1000b: 0x6c123420, + 0x1000c: 0x6c093420, 0x1000d: 0x6c089a20, 0x1000e: 0x6c03ba20, 0x1000f: 0x6c157420, + 0x10010: 0x6c0cc420, 0x10011: 0x6c09e220, 0x10012: 0x6c01dc20, 0x10013: 0x6c0f5e20, + 0x10014: 0x6c074020, 0x10015: 0x6c108220, 0x10016: 0x6c0c4220, 0x10017: 0x6c16c220, + 0x10018: 0x6c270220, 0x10019: 0x6c11f620, 0x1001a: 0x6c0a2c20, 0x1001b: 0x6c093820, + 0x1001c: 0x6c09a620, 0x1001d: 0x4304f220, 0x1001e: 0x4304f220, 0x1001f: 0x6c0ea420, + 0x10020: 0x6c02cc20, 0x10021: 0x6c08aa20, 0x10022: 0x6c013020, 0x10023: 0x6c04e820, + 0x10024: 0x6c12bc20, 0x10025: 0x6c0d3e20, 0x10026: 0x431f6c20, 0x10027: 0x6c009e20, + 0x10028: 0x6c10ca20, 0x10029: 0x6c04aa20, 0x1002a: 0x6c12be20, 0x1002b: 0x6c056a20, + 0x1002c: 0x4885dc20, 0x1002d: 0x6c036820, + 0x10030: 0x6c135c20, 0x10031: 0x6c185420, 0x10032: 0x6c0ca420, 0x10033: 0x429f0020, + 0x10034: 0x6c09c420, 0x10035: 0x6c182c20, 0x10036: 0x6c155820, 0x10037: 0x6c094620, + 0x10038: 0x6c02be20, 0x10039: 0x42aaaa20, 0x1003a: 0x6c199620, 0x1003b: 0x42abc420, + 0x1003c: 0x6c0f0a20, 0x1003d: 0x6c133620, 0x1003e: 0x6c014020, 0x1003f: 0x6c144a20, + // Block 0x401, offset 0x10040 + 0x10040: 0x6c1b0820, 0x10041: 0x42b65020, 0x10042: 0x42bda420, 0x10043: 0x42bdb220, + 0x10044: 0x6c07b020, 0x10045: 0x6c1cb620, 0x10046: 0x6c1d2c20, 0x10047: 0x6c0b2e20, + 0x10048: 0x6c154820, 0x10049: 0x6c0d3820, 0x1004a: 0x42c2c020, 0x1004b: 0x6c0ec020, + 0x1004c: 0x6c0da620, 0x1004d: 0x6c1e5820, 0x1004e: 0x6c1e2c20, 0x1004f: 0x42c8a420, + 0x10050: 0x6c1eca20, 0x10051: 0x6c0be420, 0x10052: 0x6c16e220, 0x10053: 0x6c141020, + 0x10054: 0x6c0aee20, 0x10055: 0x6c210220, 0x10056: 0x6c082020, 0x10057: 0x6c162420, + 0x10058: 0x42ddb620, 0x10059: 0x6c08d420, 0x1005a: 0x6c033220, 0x1005b: 0x6c109020, + 0x1005c: 0x6c093220, 0x1005d: 0x42ef4e20, 0x1005e: 0x6c094e20, 0x1005f: 0x6c11f020, + 0x10060: 0x6c0ea020, 0x10061: 0x42e8e220, 0x10062: 0x42ea0c20, 0x10063: 0x6c020820, + 0x10064: 0x42ec3a20, 0x10065: 0x6c243820, 0x10066: 0x6c012a20, 0x10067: 0x6c0bf220, + 0x10068: 0x6c0eec20, 0x10069: 0x42ee9420, 0x1006a: 0x6c0e7e20, 0x1006b: 0x42f19820, + 0x1006c: 0x42f56220, 0x1006d: 0x6c0c4220, 0x1006e: 0x42f8f620, 0x1006f: 0x6c26c220, + 0x10070: 0x6c16c220, 0x10071: 0x42fe7c20, 0x10072: 0x6c093820, 0x10073: 0x6c070220, + 0x10074: 0x6c01ec20, 0x10075: 0x430ef220, 0x10076: 0x6c2aee20, 0x10077: 0x6c132020, + 0x10078: 0x6c08aa20, 0x10079: 0x6c0ed820, 0x1007a: 0x6c0a3420, 0x1007b: 0x6c0c0220, + 0x1007c: 0x6c013020, 0x1007d: 0x6c0dec20, 0x1007e: 0x6c154e20, 0x1007f: 0x6c04e820, + // Block 0x402, offset 0x10080 + 0x10080: 0x6c1ede20, 0x10081: 0x6c0d3e20, 0x10082: 0x6c155020, 0x10083: 0x6c2d5020, + 0x10084: 0x43233220, 0x10085: 0x4324ec20, 0x10086: 0x432cf820, 0x10087: 0x6c10ca20, + 0x10088: 0x6c153e20, 0x10089: 0x432fb620, 0x1008a: 0x6c04aa20, 0x1008b: 0x43301620, + 0x1008c: 0x6c12be20, 0x1008d: 0x43362420, 0x1008e: 0x6c319820, 0x1008f: 0x48509420, + 0x10090: 0x48508820, 0x10091: 0x4867aa20, 0x10092: 0x44773a20, 0x10093: 0x44803020, + 0x10094: 0x44807220, 0x10095: 0x48a49220, 0x10096: 0x48b9a020, 0x10097: 0x48fda620, + 0x10098: 0x433e8620, 0x10099: 0x433f1c20, + // Block 0x403, offset 0x100c0 + 0x100c1: 0x4002ba20, 0x100c2: 0x4003e020, 0x100c3: 0x4004ea20, + 0x100c4: 0x4027de20, 0x100c5: 0x4004ec20, 0x100c6: 0x4004e620, 0x100c7: 0x4003d220, + 0x100c8: 0x4003f420, 0x100c9: 0x4003f620, 0x100ca: 0x4004d820, 0x100cb: 0x40093820, + 0x100cc: 0x40024020, 0x100cd: 0x40021a20, 0x100ce: 0x4002e420, 0x100cf: 0x4004e220, + 0x100d0: 0x4029cc20, 0x100d1: 0x4029ce20, 0x100d2: 0x4029d020, 0x100d3: 0x4029d220, + 0x100d4: 0x4029d420, 0x100d5: 0x4029d620, 0x100d6: 0x4029d820, 0x100d7: 0x4029da20, + 0x100d8: 0x4029dc20, 0x100d9: 0x4029de20, 0x100da: 0x40026c20, 0x100db: 0x40026220, + 0x100dc: 0x40094020, 0x100dd: 0x40094220, 0x100de: 0x40094420, 0x100df: 0x4002c420, + 0x100e0: 0x4004d620, 0x100e1: 0x002bde88, 0x100e2: 0x002c0a88, 0x100e3: 0x002c3a88, + 0x100e4: 0x002c6288, 0x100e5: 0x002c9888, 0x100e6: 0x002d0888, 0x100e7: 0x002d2288, + 0x100e8: 0x002d6888, 0x100e9: 0x002d9a88, 0x100ea: 0x002dcc88, 0x100eb: 0x002dfe88, + 0x100ec: 0x002e2288, 0x100ed: 0x002e8288, 0x100ee: 0x002e9e88, 0x100ef: 0x002ee288, + 0x100f0: 0x002f2c88, 0x100f1: 0x002f5688, 0x100f2: 0x002f7a88, 0x100f3: 0x002fe688, + 0x100f4: 0x00302c88, 0x100f5: 0x00306c88, 0x100f6: 0x0030be88, 0x100f7: 0x0030e288, + 0x100f8: 0x0030f688, 0x100f9: 0x00310088, 0x100fa: 0x00312a88, 0x100fb: 0x4003f820, + 0x100fc: 0x4003d220, 0x100fd: 0x4003fa20, 0x100fe: 0x40062420, 0x100ff: 0x40021620, + // Block 0x404, offset 0x10100 + 0x10100: 0x40061e20, 0x10101: 0x402bde20, 0x10102: 0x402c0a20, 0x10103: 0x402c3a20, + 0x10104: 0x402c6220, 0x10105: 0x402c9820, 0x10106: 0x402d0820, 0x10107: 0x402d2220, + 0x10108: 0x402d6820, 0x10109: 0x402d9a20, 0x1010a: 0x402dcc20, 0x1010b: 0x402dfe20, + 0x1010c: 0x402e2220, 0x1010d: 0x402e8220, 0x1010e: 0x402e9e20, 0x1010f: 0x402ee220, + 0x10110: 0x402f2c20, 0x10111: 0x402f5620, 0x10112: 0x402f7a20, 0x10113: 0x402fe620, + 0x10114: 0x40302c20, 0x10115: 0x40306c20, 0x10116: 0x4030be20, 0x10117: 0x4030e220, + 0x10118: 0x4030f620, 0x10119: 0x40310020, 0x1011a: 0x40312a20, 0x1011b: 0x4003fc20, + 0x1011c: 0x40094820, 0x1011d: 0x4003fe20, 0x1011e: 0x40094c20, 0x1011f: 0x00041883, + 0x10120: 0x00041a83, 0x10121: 0x40030420, 0x10122: 0x4004a420, 0x10123: 0x4004a620, + 0x10124: 0x40025c20, 0x10125: 0x00023e92, 0x10126: 0xca3c3601, 0x10127: 0xc64d3281, + 0x10128: 0xc71d3281, 0x10129: 0xc7dd3601, 0x1012a: 0xc8c43281, 0x1012b: 0xc9793281, + 0x1012c: 0xc6e83281, 0x1012d: 0xc8af3281, 0x1012e: 0xca1d3281, 0x1012f: 0xc8483601, + 0x10130: 0x0027d692, 0x10131: 0xc6533281, 0x10132: 0xc7233281, 0x10133: 0xc7f23601, + 0x10134: 0xc8ca3281, 0x10135: 0xc97f3281, 0x10136: 0xc6663281, 0x10137: 0xc7363601, + 0x10138: 0xc8143601, 0x10139: 0xc8dd3281, 0x1013a: 0xc9923601, 0x1013b: 0xc67f3601, + 0x1013c: 0xc7583601, 0x1013d: 0xc8363601, 0x1013e: 0xc8f63601, 0x1013f: 0xc9af3601, + // Block 0x405, offset 0x10140 + 0x10140: 0xc69c3601, 0x10141: 0xc7753601, 0x10142: 0xc85d3601, 0x10143: 0xc9133601, + 0x10144: 0xc9d13601, 0x10145: 0xc6ac3281, 0x10146: 0xc7853281, 0x10147: 0xc8703281, + 0x10148: 0xc9233281, 0x10149: 0xc9e13281, 0x1014a: 0xc6ca3601, 0x1014b: 0xc7a33601, + 0x1014c: 0xc88e3601, 0x1014d: 0xc9413601, 0x1014e: 0xc9ff3601, 0x1014f: 0xc6e23281, + 0x10150: 0xc7bb3281, 0x10151: 0xc8a93281, 0x10152: 0xc9593281, 0x10153: 0xca173281, + 0x10154: 0xc6ee3281, 0x10155: 0xc8b53281, 0x10156: 0xca233281, 0x10157: 0xc6f73281, + 0x10158: 0xc7c43281, 0x10159: 0xc8be3281, 0x1015a: 0xc9623281, 0x1015b: 0xca2c3281, + 0x1015c: 0xc7113601, 0x1015d: 0xca453ae1, 0x1015e: 0xa0012812, 0x1015f: 0xa0012912, + 0x10160: 0x4063a620, 0x10161: 0x4062ac20, 0x10162: 0x4062ae20, 0x10163: 0x40646820, + 0x10164: 0x4062b020, 0x10165: 0x40646c20, 0x10166: 0x40646e20, 0x10167: 0x4062b220, + 0x10168: 0x4062b420, 0x10169: 0x4062b620, 0x1016a: 0x40647420, 0x1016b: 0x40647620, + 0x1016c: 0x40647820, 0x1016d: 0x40647a20, 0x1016e: 0x40647c20, 0x1016f: 0x40647e20, + 0x10170: 0x4062e020, 0x10171: 0x4062b820, 0x10172: 0x4062ba20, 0x10173: 0x4062bc20, + 0x10174: 0x4062ee20, 0x10175: 0x4062be20, 0x10176: 0x4062c020, 0x10177: 0x4062c220, + 0x10178: 0x4062c420, 0x10179: 0x4062c620, 0x1017a: 0x4062c820, 0x1017b: 0x4062ca20, + 0x1017c: 0x4062cc20, 0x1017d: 0x4062ce20, 0x1017e: 0x4062d020, + // Block 0x406, offset 0x10180 + 0x10182: 0x4063a820, 0x10183: 0x4063aa20, + 0x10184: 0x4063ac20, 0x10185: 0x4063ae20, 0x10186: 0x4063b020, 0x10187: 0x4063b220, + 0x1018a: 0x4063b420, 0x1018b: 0x4063b620, + 0x1018c: 0x4063b820, 0x1018d: 0x4063ba20, 0x1018e: 0x4063bc20, 0x1018f: 0x4063be20, + 0x10192: 0x4063c020, 0x10193: 0x4063c220, + 0x10194: 0x4063c420, 0x10195: 0x4063c620, 0x10196: 0x4063c820, 0x10197: 0x4063ca20, + 0x1019a: 0x4063cc20, 0x1019b: 0x4063ce20, + 0x1019c: 0x4063d020, + 0x101a0: 0x4027dc20, 0x101a1: 0x4027e020, 0x101a2: 0x40094620, 0x101a3: 0x40021220, + 0x101a4: 0x40094a20, 0x101a5: 0x4027e220, 0x101a6: 0x40280820, + 0x101a8: 0x400d3220, 0x101a9: 0x40084420, 0x101aa: 0x40084820, 0x101ab: 0x40084620, + 0x101ac: 0x40084a20, 0x101ad: 0x400e6e20, 0x101ae: 0x400ec420, + 0x101b9: 0xa0000000, 0x101ba: 0xa0000000, 0x101bb: 0xa0000000, + 0x101bc: 0x4027ae20, 0x101bd: 0x4027b020, 0x101be: 0x00000285, 0x101bf: 0x2bfffe85, + // Block 0x407, offset 0x101c0 + 0x101c0: 0xe0003d0b, 0x101c1: 0xe0003cf3, 0x101c2: 0xe0003cf7, 0x101c3: 0xe0003cff, + 0x101c4: 0xe0003d0f, 0x101c5: 0xe0003d03, 0x101c6: 0xe0003d13, 0x101c7: 0xe0003cfb, + 0x101c8: 0xe0003d07, + 0x101d0: 0x02bf2e86, 0x101d1: 0x02a7de86, + // Block 0x408, offset 0x10200 + 0x10200: 0x429c7a20, 0x10201: 0x6c036a20, 0x10202: 0x429c8220, 0x10203: 0x48024420, + 0x10204: 0x429ec020, 0x10205: 0x6c12f820, 0x10206: 0x429f7620, 0x10207: 0x42a00420, + 0x10208: 0x42a0f420, 0x10209: 0x6c124e20, 0x1020a: 0x6c0cd820, 0x1020b: 0x6c0d3420, + 0x1020c: 0x44693c20, 0x1020d: 0x480c7420, 0x1020e: 0x6c14e020, 0x1020f: 0x6c182020, + 0x10210: 0x42a2c820, 0x10211: 0x6c050a20, 0x10212: 0x480a3820, 0x10213: 0x44697220, + 0x10214: 0x42a2ce20, 0x10215: 0x6c07a420, 0x10216: 0x480a9620, 0x10217: 0x6c0ada20, + 0x10218: 0x6c184020, 0x10219: 0x429d9820, 0x1021a: 0x6c0fea20, 0x1021b: 0x6c185420, + 0x1021c: 0x4923be20, 0x1021d: 0x6c186820, 0x1021e: 0x6c0b6220, 0x1021f: 0x4469be20, + 0x10220: 0x6c073a20, 0x10221: 0x42a48c20, 0x10222: 0x6c02bc20, 0x10223: 0x42a4ee20, + 0x10224: 0x446a2a20, 0x10225: 0x6c155820, 0x10226: 0x6c138a20, 0x10227: 0x6c04c820, + 0x10228: 0x6c094620, 0x10229: 0x6c13ba20, 0x1022a: 0x6c18c620, 0x1022b: 0x6c142c20, + 0x1022c: 0x6c18e820, 0x1022d: 0x6c121820, 0x1022e: 0x6c118020, 0x1022f: 0x6c0d4820, + 0x10230: 0x42a6fa20, 0x10231: 0x6c047c20, 0x10232: 0x6c047c20, 0x10233: 0x6c047c20, + 0x10234: 0x48145820, 0x10235: 0x6c023e20, 0x10236: 0x6c042020, 0x10237: 0x6c191020, + 0x10238: 0x4816c620, 0x10239: 0x6c047e20, 0x1023a: 0x6c090020, 0x1023b: 0x42a80c20, + 0x1023c: 0x42a93c20, 0x1023d: 0x6c042220, 0x1023e: 0x6c0f4020, 0x1023f: 0x6c098c20, + // Block 0x409, offset 0x10240 + 0x10240: 0x6c195220, 0x10241: 0x42a9ec20, 0x10242: 0x6c0ff020, 0x10243: 0x6c055c20, + 0x10244: 0x6c198220, 0x10245: 0x6c0c9e20, 0x10246: 0x6c0c9e20, 0x10247: 0x6c199620, + 0x10248: 0x6c040020, 0x10249: 0x42ab6620, 0x1024a: 0x42ab8420, 0x1024b: 0x6c1a2620, + 0x1024c: 0x6c0e1820, 0x1024d: 0x42ae2e20, 0x1024e: 0x42aca220, 0x1024f: 0x6c133420, + 0x10250: 0x6c0c3420, 0x10251: 0x6c0ce420, 0x10252: 0x6c0ade20, 0x10253: 0x6c0b0220, + 0x10254: 0x42b01a20, 0x10255: 0x6c056220, 0x10256: 0x42b06420, 0x10257: 0x6c13be20, + 0x10258: 0x42b15820, 0x10259: 0x4829c820, 0x1025a: 0x6c116c20, 0x1025b: 0x6c0f2620, + 0x1025c: 0x42b20c20, 0x1025d: 0x6c0d7620, 0x1025e: 0x6c14b820, 0x1025f: 0x6c1ace20, + 0x10260: 0x482d5020, 0x10261: 0x482dd420, 0x10262: 0x42b3d820, 0x10263: 0x42b43620, + 0x10264: 0x42b44e20, 0x10265: 0x42b3b020, 0x10266: 0x6c12cc20, 0x10267: 0x446ddc20, + 0x10268: 0x446df820, 0x10269: 0x42b61020, 0x1026a: 0x6c1b3420, 0x1026b: 0x6c1b3420, + 0x1026c: 0x48339020, 0x1026d: 0x6c1b5c20, 0x1026e: 0x42b7b020, 0x1026f: 0x6c10fa20, + 0x10270: 0x6c1b7620, 0x10271: 0x48363020, 0x10272: 0x6c097e20, 0x10273: 0x6c0a6220, + 0x10274: 0x6c101820, 0x10275: 0x6c1b8420, 0x10276: 0x446f0220, 0x10277: 0x6c0fc220, + 0x10278: 0x6c1b9c20, 0x10279: 0x42b98020, 0x1027a: 0x42b91a20, 0x1027b: 0x483bc820, + 0x1027c: 0x42ba8620, 0x1027d: 0x483bcc20, 0x1027e: 0x42badc20, 0x1027f: 0x42bad620, + // Block 0x40a, offset 0x10280 + 0x10280: 0x42baf820, 0x10281: 0x6c0a1420, 0x10282: 0x42bbc420, 0x10283: 0x44705e20, + 0x10284: 0x6c0e0220, 0x10285: 0x42bc5020, 0x10286: 0x6c140620, 0x10287: 0x42bcd220, + 0x10288: 0x4470c420, 0x10289: 0x48430620, 0x1028a: 0x4470f820, 0x1028b: 0x42bd6020, + 0x1028c: 0x42bd6620, 0x1028d: 0x6c0a2820, 0x1028e: 0x6c16de20, 0x1028f: 0x49472420, + 0x10290: 0x6c1c6e20, 0x10291: 0x48466220, 0x10292: 0x48466220, 0x10293: 0x6c286820, + 0x10294: 0x42be4420, 0x10295: 0x42be4420, 0x10296: 0x44718e20, 0x10297: 0x48657020, + 0x10298: 0x48c3b420, 0x10299: 0x6c056620, 0x1029a: 0x6c0ebc20, 0x1029b: 0x4471c620, + 0x1029c: 0x42bf3420, 0x1029d: 0x6c10f020, 0x1029e: 0x6c088020, 0x1029f: 0x42bff220, + 0x102a0: 0x6c1d0220, 0x102a1: 0x44727420, 0x102a2: 0x44723820, 0x102a3: 0x6c022a20, + 0x102a4: 0x484da820, 0x102a5: 0x6c109620, 0x102a6: 0x6c08cc20, 0x102a7: 0x6c06c020, + 0x102a8: 0x6c0b2e20, 0x102a9: 0x6c06c020, 0x102aa: 0x42c2f420, 0x102ab: 0x6c0d3820, + 0x102ac: 0x6c05da20, 0x102ad: 0x6c133820, 0x102ae: 0x42c35e20, 0x102af: 0x42c3bc20, + 0x102b0: 0x6c0ec020, 0x102b1: 0x6c1dac20, 0x102b2: 0x6c0bdc20, 0x102b3: 0x6c1dc620, + 0x102b4: 0x42c4ba20, 0x102b5: 0x6c13cc20, 0x102b6: 0x6c1df220, 0x102b7: 0x6c1e2620, + 0x102b8: 0x48561820, 0x102b9: 0x6c120820, 0x102ba: 0x42c5f820, 0x102bb: 0x6c092c20, + 0x102bc: 0x6c0cf620, 0x102bd: 0x42c7c820, 0x102be: 0x4857e220, 0x102bf: 0x42c84420, + // Block 0x40b, offset 0x102c0 + 0x102c0: 0x42c78a20, 0x102c1: 0x6c014820, 0x102c2: 0x44745c20, 0x102c3: 0x6c145420, + 0x102c4: 0x42c8fc20, 0x102c5: 0x42c93a20, 0x102c6: 0x42c8ee20, 0x102c7: 0x4474d820, + 0x102c8: 0x6c12c020, 0x102c9: 0x6c057620, 0x102ca: 0x48601420, 0x102cb: 0x42cbc620, + 0x102cc: 0x6c0a2e20, 0x102cd: 0x6c1f1420, 0x102ce: 0x44763220, 0x102cf: 0x6c0a2220, + 0x102d0: 0x44761020, 0x102d1: 0x4475c820, 0x102d2: 0x6c141620, 0x102d3: 0x6c183c20, + 0x102d4: 0x6c07a620, 0x102d5: 0x42cd3820, 0x102d6: 0x6c27ec20, 0x102d7: 0x4487b220, + 0x102d8: 0x6c16e220, 0x102d9: 0x6c141020, 0x102da: 0x42ce4220, 0x102db: 0x6c1f7020, + 0x102dc: 0x6c094a20, 0x102dd: 0x48678620, 0x102de: 0x44769220, 0x102df: 0x42cff420, + 0x102e0: 0x6c1f8c20, 0x102e1: 0x42d0a420, 0x102e2: 0x6c116220, 0x102e3: 0x4868da20, + 0x102e4: 0x42d11c20, 0x102e5: 0x42d03e20, 0x102e6: 0x42d22820, 0x102e7: 0x44773a20, + 0x102e8: 0x42d28420, 0x102e9: 0x42d34620, 0x102ea: 0x42d3d420, 0x102eb: 0x42d55020, + 0x102ec: 0x486d4620, 0x102ed: 0x6c051e20, 0x102ee: 0x44783020, 0x102ef: 0x6c08d220, + 0x102f0: 0x48714e20, 0x102f1: 0x6c20f820, 0x102f2: 0x44789c20, 0x102f3: 0x42d6e420, + 0x102f4: 0x42d73e20, 0x102f5: 0x6c082020, 0x102f6: 0x6c028c20, 0x102f7: 0x48751a20, + 0x102f8: 0x483a1620, 0x102f9: 0x4875f420, 0x102fa: 0x6c11ec20, 0x102fb: 0x48797820, + 0x102fc: 0x6c014c20, 0x102fd: 0x42d99a20, 0x102fe: 0x42d8ce20, 0x102ff: 0x42da2c20, + // Block 0x40c, offset 0x10300 + 0x10300: 0x6c113620, 0x10301: 0x6c023c20, 0x10302: 0x6c162420, 0x10303: 0x6c06dc20, + 0x10304: 0x6c0b3a20, 0x10305: 0x6c21a620, 0x10306: 0x487a3c20, 0x10307: 0x42da6820, + 0x10308: 0x6c06de20, 0x10309: 0x6c21d220, 0x1030a: 0x447a6620, 0x1030b: 0x6c08d420, + 0x1030c: 0x42dd8e20, 0x1030d: 0x487da220, 0x1030e: 0x6c21a820, 0x1030f: 0x6c0ec820, + 0x10310: 0x487ebc20, 0x10311: 0x487f1c20, 0x10312: 0x6c226020, 0x10313: 0x42e07220, + 0x10314: 0x6c109020, 0x10315: 0x6c228220, 0x10316: 0x447b2c20, 0x10317: 0x42e09420, + 0x10318: 0x6c07bc20, 0x10319: 0x42e0ee20, 0x1031a: 0x6c0e2820, 0x1031b: 0x480a4a20, + 0x1031c: 0x42e28a20, 0x1031d: 0x4884c620, 0x1031e: 0x42e33820, 0x1031f: 0x48875620, + 0x10320: 0x6c22f620, 0x10321: 0x6c094e20, 0x10322: 0x42e4a020, 0x10323: 0x488c1020, + 0x10324: 0x6c07c020, 0x10325: 0x42e52a20, 0x10326: 0x488e6a20, 0x10327: 0x48902820, + 0x10328: 0x6c236220, 0x10329: 0x6c018420, 0x1032a: 0x447d5820, 0x1032b: 0x42e74a20, + 0x1032c: 0x447d7020, 0x1032d: 0x447d7020, 0x1032e: 0x42e88e20, 0x1032f: 0x6c238c20, + 0x10330: 0x42e8e220, 0x10331: 0x42e90a20, 0x10332: 0x6c23a020, 0x10333: 0x447e3620, + 0x10334: 0x42ea4820, 0x10335: 0x48986c20, 0x10336: 0x42ea7c20, 0x10337: 0x48992420, + 0x10338: 0x6c007620, 0x10339: 0x48433e20, 0x1033a: 0x42ec2020, 0x1033b: 0x489f4220, + 0x1033c: 0x489f7020, 0x1033d: 0x48a08820, 0x1033e: 0x447ff820, 0x1033f: 0x44801020, + // Block 0x40d, offset 0x10340 + 0x10340: 0x6c0eec20, 0x10341: 0x48a1e620, 0x10342: 0x48a1e420, 0x10343: 0x48a23220, + 0x10344: 0x48a26620, 0x10345: 0x6c24a820, 0x10346: 0x6c0b4220, 0x10347: 0x6c0b4220, + 0x10348: 0x42ee9420, 0x10349: 0x44807220, 0x1034a: 0x6c24c820, 0x1034b: 0x44808c20, + 0x1034c: 0x44812c20, 0x1034d: 0x48a83a20, 0x1034e: 0x42f09c20, 0x1034f: 0x6c250420, + 0x10350: 0x42f19820, 0x10351: 0x4481c620, 0x10352: 0x48ac4c20, 0x10353: 0x6c0cc420, + 0x10354: 0x48ad3420, 0x10355: 0x48ad8a20, 0x10356: 0x6c131a20, 0x10357: 0x42f3d620, + 0x10358: 0x44825e20, 0x10359: 0x6c074020, 0x1035a: 0x42f49420, 0x1035b: 0x6c01ac20, + 0x1035c: 0x48b2f820, 0x1035d: 0x48b54e20, 0x1035e: 0x48b54e20, 0x1035f: 0x42f5dc20, + 0x10360: 0x44840420, 0x10361: 0x48b75620, 0x10362: 0x6c261820, 0x10363: 0x6c0e6a20, + 0x10364: 0x44844e20, 0x10365: 0x48b90020, 0x10366: 0x6c268420, 0x10367: 0x44854020, + 0x10368: 0x42f9d020, 0x10369: 0x42f9c620, 0x1036a: 0x6c03c020, 0x1036b: 0x48bf0c20, + 0x1036c: 0x6c26bc20, 0x1036d: 0x44860220, 0x1036e: 0x6c26d220, 0x1036f: 0x42fc0420, + 0x10370: 0x42fc8a20, 0x10371: 0x44866820, 0x10372: 0x48c45020, 0x10373: 0x48c48e20, + 0x10374: 0x4486b220, 0x10375: 0x48c5b220, 0x10376: 0x42fef420, 0x10377: 0x48c67c20, + 0x10378: 0x42ff2a20, 0x10379: 0x42fff420, 0x1037a: 0x6c093820, 0x1037b: 0x48c9b420, + 0x1037c: 0x48ca4620, 0x1037d: 0x4300c020, 0x1037e: 0x48cb5020, 0x1037f: 0x6c27d620, + // Block 0x40e, offset 0x10380 + 0x10380: 0x4866be20, 0x10381: 0x4487aa20, 0x10382: 0x6c009220, 0x10383: 0x43020620, + 0x10384: 0x44881620, 0x10385: 0x6c281420, 0x10386: 0x42b56a20, 0x10387: 0x48cf4e20, + 0x10388: 0x48cf6a20, 0x10389: 0x48672620, 0x1038a: 0x48673820, 0x1038b: 0x6c286820, + 0x1038c: 0x43040820, 0x1038d: 0x6c08ea20, 0x1038e: 0x4488d620, 0x1038f: 0x43052220, + 0x10390: 0x6c00a420, 0x10391: 0x6c091e20, 0x10392: 0x42a56620, 0x10393: 0x6c01e420, + 0x10394: 0x6c13e220, 0x10395: 0x6c020c20, 0x10396: 0x6c050020, 0x10397: 0x48d67820, + 0x10398: 0x6c095620, 0x10399: 0x43063a20, 0x1039a: 0x4306c620, 0x1039b: 0x43075a20, + 0x1039c: 0x6c28f220, 0x1039d: 0x6c292820, 0x1039e: 0x4307ce20, 0x1039f: 0x6c0ea420, + 0x103a0: 0x4306a620, 0x103a1: 0x6c03f820, 0x103a2: 0x6c04e220, 0x103a3: 0x6c07cc20, + 0x103a4: 0x48d86c20, 0x103a5: 0x48dad620, 0x103a6: 0x48d9aa20, 0x103a7: 0x448a5620, + 0x103a8: 0x4309e220, 0x103a9: 0x4309e620, 0x103aa: 0x430a2c20, 0x103ab: 0x48e79420, + 0x103ac: 0x430ac820, 0x103ad: 0x48de5820, 0x103ae: 0x448aba20, 0x103af: 0x448ac220, + 0x103b0: 0x48df6220, 0x103b1: 0x48e1a420, 0x103b2: 0x448ad620, 0x103b3: 0x6c041420, + 0x103b4: 0x6c163c20, 0x103b5: 0x6c29de20, 0x103b6: 0x430cd220, 0x103b7: 0x6c29e620, + 0x103b8: 0x430d1020, 0x103b9: 0x430e1c20, 0x103ba: 0x430dc420, 0x103bb: 0x430ef220, + 0x103bc: 0x430e5020, 0x103bd: 0x430ed620, 0x103be: 0x430f0c20, 0x103bf: 0x448bae20, + // Block 0x40f, offset 0x103c0 + 0x103c0: 0x430fc220, 0x103c1: 0x43100220, 0x103c2: 0x448bf220, 0x103c3: 0x4310c020, + 0x103c4: 0x6c008220, 0x103c5: 0x48ecce20, 0x103c6: 0x4311ae20, 0x103c7: 0x4311bc20, + 0x103c8: 0x448c6a20, 0x103c9: 0x4311f420, 0x103ca: 0x44697620, 0x103cb: 0x48f15c20, + 0x103cc: 0x48f2cc20, 0x103cd: 0x448d7c20, 0x103ce: 0x448d8e20, 0x103cf: 0x6c0bfe20, + 0x103d0: 0x6c154e20, 0x103d1: 0x6c1ede20, 0x103d2: 0x6c2be420, 0x103d3: 0x48f95020, + 0x103d4: 0x6c035620, 0x103d5: 0x6c2c1220, 0x103d6: 0x431a3620, 0x103d7: 0x6c03ca20, + 0x103d8: 0x48fe5e20, 0x103d9: 0x48100820, 0x103da: 0x6c2c5420, 0x103db: 0x431b7820, + 0x103dc: 0x431be020, 0x103dd: 0x4811bc20, 0x103de: 0x431da820, 0x103df: 0x6c155020, + 0x103e0: 0x490ba420, 0x103e1: 0x490bda20, 0x103e2: 0x43212820, 0x103e3: 0x4321e220, + 0x103e4: 0x43222220, 0x103e5: 0x490e5c20, 0x103e6: 0x43223620, 0x103e7: 0x43247020, + 0x103e8: 0x4325ae20, 0x103e9: 0x4325b020, 0x103ea: 0x4324f820, 0x103eb: 0x4327f220, + 0x103ec: 0x43282a20, 0x103ed: 0x4917f420, 0x103ee: 0x6c024a20, 0x103ef: 0x44932a20, + 0x103f0: 0x432b6e20, 0x103f1: 0x491aee20, 0x103f2: 0x4493cc20, 0x103f3: 0x432d8620, + 0x103f4: 0x42bb6420, 0x103f5: 0x432e4620, 0x103f6: 0x49228a20, 0x103f7: 0x49243420, + 0x103f8: 0x4494dc20, 0x103f9: 0x4494ec20, 0x103fa: 0x432fc020, 0x103fb: 0x49281420, + 0x103fc: 0x44956420, 0x103fd: 0x49292c20, 0x103fe: 0x43301620, 0x103ff: 0x43301620, + // Block 0x410, offset 0x10400 + 0x10400: 0x43305220, 0x10401: 0x492b6c20, 0x10402: 0x6c03d020, 0x10403: 0x44966620, + 0x10404: 0x43325220, 0x10405: 0x43334e20, 0x10406: 0x43338420, 0x10407: 0x4333fc20, + 0x10408: 0x44979c20, 0x10409: 0x49366020, 0x1040a: 0x43362420, 0x1040b: 0x43388020, + 0x1040c: 0x4339fa20, 0x1040d: 0x44999c20, 0x1040e: 0x4499da20, 0x1040f: 0x433ace20, + 0x10410: 0x49419c20, 0x10411: 0x4499f020, 0x10412: 0x49420a20, 0x10413: 0x49441c20, + 0x10414: 0x49452220, 0x10415: 0x6c145a20, 0x10416: 0x449aac20, 0x10417: 0x6c316420, + 0x10418: 0x433dfc20, 0x10419: 0x433e0a20, 0x1041a: 0x433e1e20, 0x1041b: 0x433e2c20, + 0x1041c: 0x6c125e20, 0x1041d: 0x494c0020, + // Block 0x411, offset 0x10440 + 0x10440: 0xe00014bd, 0x10441: 0x0033b483, 0x10442: 0x00339688, 0x10443: 0x0033a288, + 0x10444: 0x0033c288, 0x10445: 0x0033fc88, 0x10446: 0xca490071, 0x10447: 0x00343688, + 0x10448: 0x00344688, 0x10449: 0x00349a88, 0x1044a: 0x0034e488, 0x1044b: 0x00356288, + 0x1044c: 0x00356a88, 0x1044d: 0xe00014cf, 0x1044e: 0x00357a88, 0x1044f: 0x00365488, + 0x10450: 0xc0090041, 0x10451: 0x00335288, 0x10452: 0x00335a88, 0x10453: 0xc0130092, + 0x10454: 0x00338a88, 0x10455: 0xc34c0041, 0x10456: 0xc01c0071, 0x10457: 0xc0200071, + 0x10458: 0xc0250041, 0x10459: 0x00343e88, 0x1045a: 0xc0370092, 0x1045b: 0x00348488, + 0x1045c: 0x0034a888, 0x1045d: 0x0034ba88, 0x1045e: 0xc02e0071, 0x1045f: 0x00350e88, + 0x10460: 0x00352888, 0x10461: 0x00353a88, 0x10462: 0x00354c88, 0x10463: 0xc03e00f1, + 0x10464: 0x0035ac88, 0x10465: 0x0035b488, 0x10466: 0x00360288, 0x10467: 0xc0440071, + 0x10468: 0x00365c88, 0x10469: 0x00366688, 0x1046a: 0x00367488, 0x1046b: 0xc0480071, + 0x1046c: 0x00368e88, 0x1046d: 0xc04c0071, 0x1046e: 0x0036b888, 0x1046f: 0x0036c488, + 0x10470: 0xc0060041, 0x10471: 0x40335220, 0x10472: 0x40335a20, 0x10473: 0xc0100092, + 0x10474: 0x40338a20, 0x10475: 0xc3490041, 0x10476: 0xc01a0071, 0x10477: 0xc01e0071, + 0x10478: 0xc0220041, 0x10479: 0x40343e20, 0x1047a: 0xc0340092, 0x1047b: 0x40348420, + 0x1047c: 0x4034a820, 0x1047d: 0x4034ba20, 0x1047e: 0xc02c0071, 0x1047f: 0x40350e20, + // Block 0x412, offset 0x10480 + 0x10480: 0x40352820, 0x10481: 0x40353a20, 0x10482: 0x40354c20, 0x10483: 0xc03a00f1, + 0x10484: 0x4035ac20, 0x10485: 0x4035b420, 0x10486: 0x40360220, 0x10487: 0xc0420071, + 0x10488: 0x40365c20, 0x10489: 0x40366620, 0x1048a: 0x40367420, 0x1048b: 0xc0460071, + 0x1048c: 0x40368e20, 0x1048d: 0xc04a0071, 0x1048e: 0x4036b820, 0x1048f: 0x4036c420, + 0x10490: 0xe00014ba, 0x10491: 0x4033b420, 0x10492: 0x40339620, 0x10493: 0x4033a220, + 0x10494: 0x4033c220, 0x10495: 0x4033fc20, 0x10496: 0xca470071, 0x10497: 0x40343620, + 0x10498: 0x40344620, 0x10499: 0x40349a20, 0x1049a: 0x4034e420, 0x1049b: 0x40356220, + 0x1049c: 0x40356a20, 0x1049d: 0xe00014cc, 0x1049e: 0x40357a20, 0x1049f: 0x40365420, + 0x104a0: 0x0035e088, 0x104a1: 0x4035e020, 0x104a2: 0x00369e88, 0x104a3: 0x40369e20, + 0x104a4: 0x0036ce88, 0x104a5: 0x4036ce20, 0x104a6: 0x0036d688, 0x104a7: 0x4036d620, + 0x104a8: 0x0036ea88, 0x104a9: 0x4036ea20, 0x104aa: 0x0036e088, 0x104ab: 0x4036e020, + 0x104ac: 0x0036f488, 0x104ad: 0x4036f420, 0x104ae: 0x0036fc88, 0x104af: 0x4036fc20, + 0x104b0: 0x00370488, 0x104b1: 0x40370420, 0x104b2: 0x00370c88, 0x104b3: 0x40370c20, + 0x104b4: 0xc0500131, 0x104b5: 0xc04e0131, 0x104b6: 0x00371c88, 0x104b7: 0x40371c20, + 0x104b8: 0x0035a488, 0x104b9: 0x4035a420, 0x104ba: 0x0035fa88, 0x104bb: 0x4035fa20, + 0x104bc: 0x0035f288, 0x104bd: 0x4035f220, 0x104be: 0x0035e888, 0x104bf: 0x4035e820, + // Block 0x413, offset 0x104c0 + 0x104c0: 0x00352088, 0x104c1: 0x40352020, 0x104c2: 0x40070620, 0x104c3: 0xae608302, + 0x104c4: 0xae605f02, 0x104c5: 0xae602a02, 0x104c6: 0xae602202, 0x104c7: 0xae605f02, + 0x104c8: 0xa0000000, 0x104c9: 0xa0000000, 0x104ca: 0x00341c88, 0x104cb: 0x40341c20, + 0x104cc: 0x00369688, 0x104cd: 0x40369620, 0x104ce: 0x00353088, 0x104cf: 0x40353020, + 0x104d0: 0xe00014b7, 0x104d1: 0xe00014b4, 0x104d2: 0x00336a88, 0x104d3: 0x40336a20, + 0x104d4: 0x00337a88, 0x104d5: 0x40337a20, 0x104d6: 0x0033dc88, 0x104d7: 0x4033dc20, + 0x104d8: 0x0033aa88, 0x104d9: 0x4033aa20, 0x104da: 0x00345888, 0x104db: 0x40345820, + 0x104dc: 0x00347888, 0x104dd: 0x40347820, 0x104de: 0x00347088, 0x104df: 0x40347020, + 0x104e0: 0x00346888, 0x104e1: 0x40346820, 0x104e2: 0x0034ca88, 0x104e3: 0x4034ca20, + 0x104e4: 0x0034dc88, 0x104e5: 0x4034dc20, 0x104e6: 0x00351888, 0x104e7: 0x40351820, + 0x104e8: 0x00372688, 0x104e9: 0x40372620, 0x104ea: 0x00354488, 0x104eb: 0x40354420, + 0x104ec: 0x00355888, 0x104ed: 0x40355820, 0x104ee: 0x00359c83, 0x104ef: 0x40359c20, + 0x104f0: 0x00359a88, 0x104f1: 0x40359a20, 0x104f2: 0x0035cc88, 0x104f3: 0x4035cc20, + 0x104f4: 0x00360e88, 0x104f5: 0x40360e20, 0x104f6: 0x00362a88, 0x104f7: 0x40362a20, + 0x104f8: 0x00363a88, 0x104f9: 0x40363a20, 0x104fa: 0x0035d488, 0x104fb: 0x4035d420, + 0x104fc: 0x00364488, 0x104fd: 0x40364420, 0x104fe: 0x00364c88, 0x104ff: 0x40364c20, + // Block 0x414, offset 0x10500 + 0x10500: 0xa0000000, 0x10501: 0xa0000000, 0x10502: 0xa0000000, 0x10503: 0xa0000000, + 0x10504: 0xa0000000, 0x10505: 0xa0000000, 0x10506: 0xa0000000, 0x10507: 0xa0000000, + 0x10508: 0xa0000000, 0x10509: 0x40020020, 0x1050a: 0x40020220, 0x1050b: 0x40020420, + 0x1050c: 0x40020620, 0x1050d: 0x40020820, 0x1050e: 0xa0000000, 0x1050f: 0xa0000000, + 0x10510: 0xa0000000, 0x10511: 0xa0000000, 0x10512: 0xa0000000, 0x10513: 0xa0000000, + 0x10514: 0xa0000000, 0x10515: 0xa0000000, 0x10516: 0xa0000000, 0x10517: 0xa0000000, + 0x10518: 0xa0000000, 0x10519: 0xa0000000, 0x1051a: 0xa0000000, 0x1051b: 0xa0000000, + 0x1051c: 0xa0000000, 0x1051d: 0xa0000000, 0x1051e: 0xa0000000, 0x1051f: 0xa0000000, + 0x10520: 0x40021220, 0x10521: 0x4002ba20, 0x10522: 0x4003e020, 0x10523: 0x4004ea20, + 0x10524: 0x4027de20, 0x10525: 0x4004ec20, 0x10526: 0x4004e620, 0x10527: 0x4003d220, + 0x10528: 0x4003f420, 0x10529: 0x4003f620, 0x1052a: 0x4004d820, 0x1052b: 0x40093820, + 0x1052c: 0x40024020, 0x1052d: 0x40021a20, 0x1052e: 0x4002e420, 0x1052f: 0x4004e220, + 0x10530: 0x4029cc20, 0x10531: 0x4029ce20, 0x10532: 0x4029d020, 0x10533: 0x4029d220, + 0x10534: 0x4029d420, 0x10535: 0x4029d620, 0x10536: 0x4029d820, 0x10537: 0x4029da20, + 0x10538: 0x4029dc20, 0x10539: 0x4029de20, 0x1053a: 0x40026c20, 0x1053b: 0x40026220, + 0x1053c: 0x40094020, 0x1053d: 0x40094220, 0x1053e: 0x40094420, 0x1053f: 0x4002c420, + // Block 0x415, offset 0x10540 + 0x10540: 0x4004d620, 0x10541: 0xca5027b1, 0x10542: 0x002c0a88, 0x10543: 0x002c3a88, + 0x10544: 0x002c6288, 0x10545: 0xc39e0be1, 0x10546: 0x002d0888, 0x10547: 0x002d2288, + 0x10548: 0x002d6888, 0x10549: 0x002d9a88, 0x1054a: 0x002dcc88, 0x1054b: 0xca4b3b11, + 0x1054c: 0xc0030002, 0x1054d: 0x002e8288, 0x1054e: 0x002e9e88, 0x1054f: 0xc3a30b21, + 0x10550: 0x002f2c88, 0x10551: 0x002f5688, 0x10552: 0x002f7a88, 0x10553: 0x002fe688, + 0x10554: 0x00302c88, 0x10555: 0xc3900b21, 0x10556: 0x0030be88, 0x10557: 0x0030e288, + 0x10558: 0x0030f688, 0x10559: 0x00310088, 0x1055a: 0x00312a88, 0x1055b: 0x4003f820, + 0x1055c: 0x4004e420, 0x1055d: 0x4003fa20, 0x1055e: 0x40062420, 0x1055f: 0x40021620, + 0x10560: 0x40061e20, 0x10561: 0xca4d27b1, 0x10562: 0x402c0a20, 0x10563: 0x402c3a20, + 0x10564: 0x402c6220, 0x10565: 0xc39c0be1, 0x10566: 0x402d0820, 0x10567: 0x402d2220, + 0x10568: 0x402d6820, 0x10569: 0x402d9a20, 0x1056a: 0x402dcc20, 0x1056b: 0x402dfe20, + 0x1056c: 0xc0000002, 0x1056d: 0x402e8220, 0x1056e: 0x402e9e20, 0x1056f: 0xc3a00b21, + 0x10570: 0x402f2c20, 0x10571: 0x402f5620, 0x10572: 0x402f7a20, 0x10573: 0x402fe620, + 0x10574: 0x40302c20, 0x10575: 0xc38d0b21, 0x10576: 0x4030be20, 0x10577: 0x4030e220, + 0x10578: 0x4030f620, 0x10579: 0x40310020, 0x1057a: 0x40312a20, 0x1057b: 0x4003fc20, + 0x1057c: 0x40094820, 0x1057d: 0x4003fe20, 0x1057e: 0x40094c20, 0x1057f: 0xa0000000, + // Block 0x416, offset 0x10580 + 0x10580: 0xe0000983, 0x10581: 0xe0000980, 0x10582: 0xe00008fb, 0x10583: 0xe00008f8, + 0x10584: 0xe000097d, 0x10585: 0xe000097a, 0x10586: 0xe0000a38, 0x10587: 0xe0000a35, + 0x10588: 0xe0000a3e, 0x10589: 0xe0000a3b, 0x1058a: 0xe0000a4a, 0x1058b: 0xe0000a47, + 0x1058c: 0xe0000a44, 0x1058d: 0xe0000a41, 0x1058e: 0xe0000a86, 0x1058f: 0xe0000a83, + 0x10590: 0x002c62a3, 0x10591: 0x402c6221, 0x10592: 0xe0000b46, 0x10593: 0xe0000b43, + 0x10594: 0xe0000aee, 0x10595: 0xe0000aeb, 0x10596: 0xe0000b2c, 0x10597: 0xe0000b29, + 0x10598: 0x00320cc3, 0x10599: 0x40320c22, 0x1059a: 0xe0000b1a, 0x1059b: 0xe0000b17, + 0x1059c: 0xe0000bb8, 0x1059d: 0xe0000bb5, 0x1059e: 0xe0000bb2, 0x1059f: 0xe0000baf, + 0x105a0: 0xe0000bc4, 0x105a1: 0xe0000bc1, 0x105a2: 0xe0000bca, 0x105a3: 0xe0000bc7, + 0x105a4: 0xe0000bee, 0x105a5: 0xe0000beb, 0x105a6: 0xe0000c1b, 0x105a7: 0xe0000c18, + 0x105a8: 0xe0000c51, 0x105a9: 0xe0000c4e, 0x105aa: 0xe0000c60, 0x105ab: 0xe0000c5d, + 0x105ac: 0xe0000c31, 0x105ad: 0xe0000c2e, 0x105ae: 0xe0000c5a, 0x105af: 0xe0000c57, + 0x105b0: 0xe0000c54, 0x105b1: 0x402da220, 0x105b2: 0xf0000a0a, 0x105b3: 0xf0000404, + 0x105b4: 0xe0000c8a, 0x105b5: 0xe0000c87, 0x105b6: 0xe0000c9f, 0x105b7: 0xe0000c9c, + 0x105b8: 0x402f5621, 0x105b9: 0xe0000ccc, 0x105ba: 0xe0000cc9, 0x105bb: 0xe0000cd8, + 0x105bc: 0xe0000cd5, 0x105bd: 0xe0000cd2, 0x105be: 0xe0000ccf, 0x105bf: 0xe0000d04, + // Block 0x417, offset 0x105c0 + 0x105c0: 0xca533b21, 0x105c1: 0xca553b21, 0x105c2: 0xca573b21, 0x105c3: 0xca593b21, + 0x105c4: 0xca5b3b21, 0x105c5: 0xca5d3b21, 0x105c6: 0xca5f3b21, 0x105c7: 0xca613b21, + 0x105c8: 0xca633b21, 0x105c9: 0xca653b21, 0x105ca: 0xca673b21, 0x105cb: 0xca693b21, + 0x105cc: 0xca6b3b21, 0x105cd: 0xca6d3b21, 0x105ce: 0xca6f3b21, 0x105cf: 0xca713b21, + 0x105d0: 0xca733b21, 0x105d1: 0xca753b21, 0x105d2: 0xca773b21, 0x105d3: 0xca793b21, + 0x105d4: 0xca7b3b21, 0x105d5: 0xca7d3b21, 0x105d6: 0xca7f3b21, 0x105d7: 0xca813b21, + 0x105d8: 0xca833b21, 0x105d9: 0xca853b21, 0x105da: 0xca873b21, 0x105db: 0xca8b3b21, + 0x105dc: 0xca913b21, 0x105dd: 0xca953b21, 0x105de: 0xca973b21, 0x105df: 0xca993b21, + 0x105e0: 0xca9b3b21, 0x105e1: 0xca9d3b21, 0x105e2: 0xca9f3b21, 0x105e3: 0xca9f3b21, + 0x105e4: 0xe000413a, 0x105e5: 0xe000413d, 0x105e6: 0xe0004140, 0x105e7: 0xe0004143, + 0x105e8: 0xe0004146, 0x105e9: 0xe000414a, 0x105ea: 0xe000414d, 0x105eb: 0xca893b21, + 0x105ec: 0xca8d3b21, 0x105ed: 0xca8f3b21, 0x105ee: 0xca933b21, 0x105ef: 0xe0004151, + 0x105f0: 0xe0004154, 0x105f1: 0xe0004157, 0x105f2: 0xe000415a, 0x105f3: 0xe000415d, + 0x105f4: 0xa0000000, 0x105f5: 0xa0000000, 0x105f6: 0xcaa43b81, 0x105f7: 0xcaa63bb1, + 0x105f8: 0x40501220, 0x105f9: 0x40501420, 0x105fa: 0x40501620, 0x105fb: 0xcaa13b51, + 0x105fc: 0x40501a20, 0x105fd: 0x40501c20, 0x105fe: 0x40501e20, 0x105ff: 0x40502020, + // Block 0x418, offset 0x10600 + 0x10600: 0x40502220, 0x10601: 0xcaa83bb1, 0x10602: 0x40502620, 0x10603: 0x40502820, + 0x10604: 0xcaaa3bb1, 0x10605: 0x40502c20, 0x10606: 0x40503020, 0x10607: 0x40503420, + 0x10608: 0xadc11802, 0x10609: 0xadc11b02, 0x1060a: 0xadc11c02, 0x1060b: 0xadc11a02, + 0x1060c: 0xa0005f02, 0x1060d: 0xadc11d02, 0x1060e: 0xadc11402, 0x1060f: 0xadc11502, + 0x10610: 0xadc11702, 0x10611: 0xadc11602, 0x10612: 0x82092817, 0x10613: 0xa0000000, + 0x10614: 0x40032620, 0x10615: 0x40032820, 0x10616: 0x4002ac20, 0x10617: 0x4027bc20, + 0x10618: 0xe000409a, 0x10619: 0x4005be20, 0x1061a: 0x4005c020, 0x1061b: 0x4027f620, + 0x1061c: 0x404fea20, 0x1061d: 0xadc11902, + 0x10620: 0xe00001b5, 0x10621: 0xe0000249, 0x10622: 0xe0000361, 0x10623: 0xe000043b, + 0x10624: 0xe0000510, 0x10625: 0xe00005da, 0x10626: 0xe00006a5, 0x10627: 0xe000074d, + 0x10628: 0xe00007f9, 0x10629: 0xe000089e, + 0x10630: 0xe00001b8, 0x10631: 0xe000024c, 0x10632: 0xe0000364, 0x10633: 0xe000043e, + 0x10634: 0xe0000513, 0x10635: 0xe00005dd, 0x10636: 0xe00006a8, 0x10637: 0xe0000750, + 0x10638: 0xe00007fc, 0x10639: 0xe00008a1, + // Block 0x419, offset 0x10640 + 0x10642: 0x40439020, 0x10643: 0x40439220, + 0x10645: 0x40437020, 0x10646: 0x40437220, 0x10647: 0x40437420, + 0x10648: 0x40437620, 0x10649: 0x40437820, 0x1064a: 0x40437a20, 0x1064b: 0x40437c20, + 0x1064c: 0x40438020, 0x1064e: 0x40438420, 0x1064f: 0x40438620, + 0x10650: 0x40438820, 0x10652: 0x40438a20, 0x10653: 0x40438c20, + 0x10654: 0x40438e20, 0x10655: 0x40439020, 0x10656: 0x40439220, 0x10657: 0x40439420, + 0x10658: 0x40439620, 0x10659: 0x40439820, 0x1065a: 0x40439a20, 0x1065b: 0x40439c20, + 0x1065c: 0x40439e20, 0x1065d: 0x4043a020, 0x1065e: 0x4043a220, 0x1065f: 0x4043a420, + 0x10660: 0x4043a620, 0x10661: 0x4043a820, 0x10662: 0x4043aa20, 0x10663: 0x4043ac20, + 0x10664: 0x4043ae20, 0x10665: 0x4043b020, 0x10666: 0x4043b220, 0x10667: 0x4043b420, + 0x10668: 0x4043b620, 0x1066a: 0x4043b820, 0x1066b: 0x4043ba20, + 0x1066c: 0x4043bc20, 0x1066d: 0x4043be20, 0x1066e: 0x4043c020, 0x1066f: 0x4043c220, + 0x10670: 0x4043c420, 0x10671: 0x4043c620, 0x10672: 0x4043c820, 0x10673: 0x4043d420, + 0x10675: 0x4043ca20, 0x10676: 0x4043cc20, 0x10677: 0x4043ce20, + 0x10678: 0x4043d020, 0x10679: 0x4043d220, + 0x1067c: 0xa070f102, 0x1067d: 0x4043d820, 0x1067e: 0x4043de20, 0x1067f: 0xc06a0311, + // Block 0x41a, offset 0x10680 + 0x10680: 0x4043e220, 0x10681: 0x4043e420, 0x10682: 0x4043e620, 0x10683: 0x4043e820, + 0x10684: 0x4043ea20, 0x10686: 0xc06c0341, 0x10687: 0x4043f220, + 0x10688: 0x4043f420, 0x1068a: 0xc0710311, 0x1068b: 0x4043f820, + 0x1068c: 0x4043fa20, 0x1068d: 0x820921fe, + 0x10695: 0x4043fe20, 0x10696: 0x40440020, + 0x1069e: 0x4043d620, + 0x106a0: 0x40437e20, 0x106a1: 0x40438220, 0x106a2: 0x4043ec20, 0x106a3: 0x4043ee20, + 0x106a6: 0xe0000182, 0x106a7: 0xe0000213, + 0x106a8: 0xe000032e, 0x106a9: 0xe0000408, 0x106aa: 0xe00004dd, 0x106ab: 0xe00005a7, + 0x106ac: 0xe0000672, 0x106ad: 0xe000071a, 0x106ae: 0xe00007c6, 0x106af: 0xe000086b, + 0x106b1: 0x40439420, 0x106b2: 0x40439620, + // Block 0x41b, offset 0x106c0 + 0x106c0: 0xf0000404, 0x106c1: 0xf0000404, 0x106c2: 0xf0000404, 0x106c3: 0xf0000404, + 0x106c4: 0xf0000404, 0x106c5: 0xf0000404, 0x106c6: 0xf0000404, 0x106c7: 0xf0000404, + 0x106c8: 0xf0000404, 0x106c9: 0xf0000404, 0x106ca: 0xf0000404, 0x106cb: 0xf0000404, + 0x106cc: 0xf0000404, 0x106cd: 0xf0000404, 0x106ce: 0xe000004c, 0x106cf: 0xe0000051, + 0x106d0: 0xe0000056, 0x106d1: 0xe000005b, 0x106d2: 0xe0000060, 0x106d3: 0xe0000065, + 0x106d4: 0xe000006a, 0x106d5: 0xe000006f, 0x106d6: 0xe0000083, 0x106d7: 0xe000008d, + 0x106d8: 0xe0000092, 0x106d9: 0xe0000097, 0x106da: 0xe000009c, 0x106db: 0xe00000a1, + 0x106dc: 0xe0000088, 0x106dd: 0xe0000074, 0x106de: 0xe000007c, + 0x106e0: 0xe0002c96, 0x106e1: 0xe0002ca6, 0x106e2: 0xe0002c9e, 0x106e3: 0xe0002cd6, + 0x106e4: 0xe0002caa, 0x106e5: 0xe0002cbe, 0x106e6: 0xe0002c9a, 0x106e7: 0xe0002cba, + 0x106e8: 0xe0002ca2, 0x106e9: 0xe0002cc6, 0x106ea: 0xe0002ce6, 0x106eb: 0xe0002cfa, + 0x106ec: 0xe0002cf6, 0x106ed: 0xe0002cee, 0x106ee: 0xe0002d22, 0x106ef: 0xe0002cda, + 0x106f0: 0xe0002ce2, 0x106f1: 0xe0002cf2, 0x106f2: 0xe0002cea, 0x106f3: 0xe0002d06, + 0x106f4: 0xe0002cce, 0x106f5: 0xe0002cfe, 0x106f6: 0xe0002d1a, 0x106f7: 0xe0002d0a, + 0x106f8: 0xf0000404, 0x106f9: 0xe0002cae, 0x106fa: 0xe0002cd2, 0x106fb: 0xf0000404, + 0x106fc: 0xe0002d02, 0x106fd: 0xe0002cb2, 0x106fe: 0xe0002d1e, 0x106ff: 0xe0002cca, + // Block 0x41c, offset 0x10700 + 0x10700: 0xe0008556, 0x10701: 0xe0008b49, 0x10703: 0xe0009a4a, + 0x10707: 0xe0005e27, + 0x10708: 0xe000871e, 0x10709: 0xe0006c4c, 0x1070a: 0xe0006ca0, 0x1070b: 0xe0009fed, + 0x1070d: 0xe0006789, + 0x10711: 0xe00098b6, + 0x10714: 0xe0009245, 0x10715: 0xe0006948, 0x10716: 0xe0007018, + 0x10718: 0xe0004c4a, 0x10719: 0xe0006618, + 0x1071e: 0xe00073be, 0x1071f: 0xe0008f07, + 0x10726: 0xe000665c, + 0x1072b: 0xe00075de, + 0x1072d: 0xe0008fe1, + 0x10730: 0xe0006771, 0x10731: 0xe0004a99, 0x10732: 0xe00049e6, + 0x10738: 0xe000a5b0, 0x10739: 0xe000532a, 0x1073b: 0xe0008e8f, + // Block 0x41d, offset 0x10740 + 0x10742: 0xe0007be3, 0x10743: 0xe0005214, + 0x10745: 0xe0004c4d, + 0x1074b: 0xe0009055, + 0x1074d: 0xe0006ad3, 0x1074e: 0xe000a418, 0x1074f: 0xe0009fe1, + 0x10756: 0xe0004b72, + 0x10758: 0xe00073c2, 0x10759: 0xe00083a6, + 0x1075d: 0xe0004c50, 0x1075e: 0xe0004554, 0x1075f: 0xe0007800, + 0x10767: 0xe0005708, + 0x1076b: 0xe00042b4, + 0x1076c: 0xe0004564, 0x1076d: 0xe0005621, + 0x10773: 0xe000820f, + 0x10776: 0xe000672d, 0x10777: 0xe0006c38, + 0x1077c: 0xe0008fdd, 0x1077e: 0xe000450c, + // Block 0x41e, offset 0x10780 + 0x10782: 0xe00057ab, + 0x10786: 0xe0005b9b, + 0x10788: 0xe00079b1, 0x1078b: 0xe0006ad6, + 0x1078c: 0xe0008459, 0x1078e: 0xe0007fc6, 0x1078f: 0xe0008026, + 0x10790: 0xe00080da, 0x10791: 0xe000808a, 0x10792: 0xe000a41b, + 0x10794: 0xe0007c58, 0x10795: 0xe0008b4d, + 0x10798: 0xe0005033, 0x10799: 0xe0005043, 0x1079b: 0xe0006ad9, + 0x1079e: 0xe00075a8, 0x1079f: 0xe0004f43, + 0x107a1: 0xe0005ebb, 0x107a2: 0xe000a13f, + 0x107a4: 0xe0004bc6, 0x107a5: 0xe000a18f, 0x107a6: 0xe00079db, + 0x107a8: 0xe000a381, 0x107ab: 0xe000a20e, + 0x107ac: 0xe0004695, 0x107ad: 0xe0008b51, 0x107ae: 0xe0005891, + 0x107b3: 0xe000630c, + 0x107b4: 0xe0008029, 0x107b6: 0xe000532e, + 0x107b9: 0xe0006226, 0x107ba: 0xe00084e6, + // Block 0x41f, offset 0x107c0 + 0x107c0: 0xe0007595, 0x107c1: 0xe00084ea, + 0x107c4: 0xe000998c, 0x107c6: 0xe0006807, 0x107c7: 0xe0004c53, + 0x107ca: 0xe0004fb7, 0x107cb: 0xe0004440, + 0x107cd: 0xe00085be, + 0x107d4: 0xe00085d2, 0x107d5: 0xe0006adc, 0x107d6: 0xe0009aab, 0x107d7: 0xe0008722, + 0x107d8: 0xe000678c, 0x107d9: 0xe0006e50, + 0x107dd: 0xe0005631, 0x107de: 0xe000852a, 0x107df: 0xe00094fc, + 0x107e1: 0xe000a8d7, 0x107e3: 0xe00054be, + 0x107e4: 0xe0005a04, 0x107e5: 0xe000845c, + 0x107ee: 0xe00041b7, + 0x107f0: 0xe0007727, 0x107f2: 0xe0008fe5, 0x107f3: 0xe00069c6, + 0x107f5: 0xe0007caf, 0x107f6: 0xe0004510, 0x107f7: 0xe0004443, + 0x107fb: 0xe0008582, + 0x107ff: 0xe0006458, + // Block 0x420, offset 0x10800 + 0x10800: 0xe0008e49, 0x10801: 0xe000504b, + 0x10809: 0xe000a143, 0x1080a: 0xe000845f, 0x1080b: 0xe0004fff, + 0x1080d: 0xe0007c5b, 0x1080e: 0xe000504e, 0x1080f: 0xe00066c1, + 0x10810: 0xe0006530, 0x10811: 0xe000a851, + 0x1082f: 0xe00064d4, + 0x10830: 0xe0004877, + 0x10834: 0xe0006324, 0x10836: 0xe0005a08, + 0x10838: 0xe00074bd, 0x1083a: 0xe0006adf, + 0x1083c: 0xe0006ae2, 0x1083d: 0xe0004160, + // Block 0x421, offset 0x10840 + 0x10842: 0xe0008c25, 0x10843: 0xe0008965, + 0x10846: 0xe0005332, 0x10847: 0xe000885f, + 0x10848: 0xe0009e62, 0x10849: 0xe0004cec, 0x1084b: 0xe00070ab, + 0x1084d: 0xe000819a, 0x1084e: 0xe0008862, 0x1084f: 0xe0008e92, + 0x10850: 0xe0008e71, 0x10851: 0xe0007fc9, 0x10853: 0xe00068a8, + 0x10854: 0xe0008af9, 0x10855: 0xe0009ff0, 0x10856: 0xe0009fb1, 0x10857: 0xe0009ad5, + 0x10859: 0xe00079b4, 0x1085a: 0xe000855a, 0x1085b: 0xe00068f4, + 0x1085c: 0xe000866e, 0x1085d: 0xe0004cef, 0x1085e: 0xe0005261, 0x1085f: 0xe0009cb6, + 0x10869: 0xe0009d60, 0x1086a: 0xe000a6f4, + 0x1086f: 0xe000785d, + 0x10870: 0xe00064d8, 0x10873: 0xe0004163, + 0x10876: 0xe000517b, + 0x10878: 0xe0004ae5, 0x10879: 0xe0004e6d, 0x1087a: 0xe0008969, 0x1087b: 0xe0008d73, + 0x1087c: 0xe0004c11, 0x1087d: 0xe000926f, 0x1087e: 0xe000855e, 0x1087f: 0xe0006ae5, + // Block 0x422, offset 0x10880 + 0x10881: 0xe00074c1, 0x10883: 0xe0004228, + 0x10884: 0xe00091ad, 0x10886: 0xe000586f, + 0x10888: 0xe00099a8, 0x10889: 0xe0004a0e, 0x1088a: 0xe0004afd, 0x1088b: 0xe0005a7c, + 0x1088d: 0xe00073ee, 0x1088f: 0xe0008e95, + 0x10891: 0xe0008212, + 0x10894: 0xe000607b, 0x10896: 0xe0005c70, 0x10897: 0xe0005675, + 0x10898: 0xe0009248, 0x1089a: 0xe000733d, 0x1089b: 0xe0004976, + 0x1089c: 0xe0008f0a, 0x1089d: 0xe0008402, + 0x108ae: 0xe0006033, 0x108af: 0xe000a772, + 0x108b2: 0xe0009189, + 0x108b5: 0xe0009a56, 0x108b6: 0xe00058dd, + 0x108bb: 0xe0009b9c, + 0x108bf: 0xe0009db4, + // Block 0x423, offset 0x108c0 + 0x108c1: 0xe000802c, 0x108c2: 0xe0004799, 0x108c3: 0xe0009778, + 0x108c4: 0xe00075ab, 0x108c5: 0xe0004cf2, + 0x108c9: 0xe0007c5e, 0x108ca: 0xe0008f51, + 0x108cc: 0xe00066ac, 0x108ce: 0xe0008ce9, 0x108cf: 0xe00070ae, + 0x108d0: 0xe0005d33, 0x108d1: 0xe0007f42, 0x108d3: 0xe0004699, + 0x108d4: 0xe000a299, 0x108d7: 0xe00070f0, + 0x108d8: 0xe000680a, 0x108da: 0xe0005ce8, 0x108db: 0xe0005fcc, + 0x108dd: 0xe000667c, 0x108df: 0xe0006ae8, + 0x108e0: 0xe000a335, 0x108e1: 0xe00074c5, 0x108e3: 0xe0007cb2, + 0x108ee: 0xe000718f, 0x108ef: 0xe000678f, + 0x108f0: 0xe000a577, 0x108f1: 0xe0004c56, 0x108f3: 0xe000648f, + 0x108f4: 0xe0009548, 0x108f5: 0xe0009eeb, 0x108f6: 0xe00072b5, + 0x108f8: 0xe0006731, 0x108fa: 0xe0007967, + 0x108fe: 0xe00069c9, + // Block 0x424, offset 0x10900 + 0x10900: 0xe00093e7, 0x10902: 0xe000661c, + 0x10905: 0xe0007385, 0x10906: 0xe0005895, + 0x10909: 0xe000938f, 0x1090b: 0xe0004446, + 0x1090d: 0xe000648c, 0x1090f: 0xe00072b9, + 0x10911: 0xe0006195, 0x10912: 0xe000550c, + 0x10914: 0xe0004ddb, 0x10916: 0xe000a1f6, + 0x10918: 0xe000547a, 0x10919: 0xe000a775, 0x1091a: 0xe0008405, + 0x1091c: 0xe00094a0, 0x1091e: 0xe000469d, 0x1091f: 0xe000924b, + 0x10921: 0xe0009393, 0x10922: 0xe0009650, 0x10923: 0xe00063e8, + 0x10924: 0xe00099ab, 0x10925: 0xe00049b6, 0x10926: 0xe0004e07, 0x10927: 0xe0008e05, + 0x10928: 0xe00044b2, 0x10929: 0xe000954c, 0x1092a: 0xe0007be6, 0x1092b: 0xe0005c74, + 0x1092c: 0xe0009afc, 0x1092d: 0xe0007e65, 0x1092e: 0xe000576c, + 0x10930: 0xe0005ce0, + 0x1093b: 0xe0007803, + // Block 0x425, offset 0x10940 + 0x10943: 0xe0007927, + 0x10944: 0xe00051cc, 0x10947: 0xe0004166, + 0x10948: 0xe00045a8, 0x10949: 0xe000819d, 0x1094a: 0xe000802f, + 0x1094e: 0xe0007e83, 0x1094f: 0xe0009db8, + 0x10953: 0xe0007637, + 0x10955: 0xe000a192, 0x10956: 0xe0009272, + 0x10958: 0xe0004288, 0x1095a: 0xe0008e98, + 0x1095c: 0xe0008b55, + 0x10960: 0xe0007ef2, 0x10962: 0xe0009721, + 0x10965: 0xe0004514, + 0x1096a: 0xe0009fe9, + 0x10970: 0xe0006f44, 0x10972: 0xe0007442, + 0x10974: 0xe0009988, 0x10975: 0xe0008b59, 0x10976: 0xe0007fcc, + 0x10978: 0xe0009c9b, + // Block 0x426, offset 0x10980 + 0x10980: 0xe0004b75, + 0x10985: 0xe0006792, + 0x1098b: 0xe00043fc, + 0x1098d: 0xe00063ec, + 0x10991: 0xe0004558, 0x10992: 0xe000a400, + 0x10994: 0xe0004671, 0x10996: 0xe00093eb, + 0x10998: 0xe0006bd8, 0x10999: 0xe000694b, 0x1099a: 0xe000a75a, 0x1099b: 0xe0007f9e, + 0x1099d: 0xe0009bc8, 0x1099e: 0xe0006b87, + 0x109a2: 0xe00041ba, + 0x109ac: 0xe00097fc, 0x109ad: 0xe0007f46, 0x109ae: 0xe0008d76, + 0x109b2: 0xe0007c61, 0x109b3: 0xe000896d, + 0x109b4: 0xe0004cf5, 0x109b5: 0xe0009433, 0x109b7: 0xe0006ca4, + 0x109bd: 0xe00087ae, 0x109be: 0xe00046a1, 0x109bf: 0xe000793f, + // Block 0x427, offset 0x109c0 + 0x109c2: 0xe0005c12, + 0x109c4: 0xe0009f15, 0x109c5: 0xe0004f53, + 0x109c9: 0xe00095e0, 0x109ca: 0xe0006e54, + 0x109cf: 0xe0006ca8, + 0x109d1: 0xe0004bc9, + 0x109d5: 0xe00066c5, 0x109d6: 0xe000a91f, + 0x109da: 0xe0005b9e, 0x109db: 0xe000510b, + 0x109de: 0xe00081a0, + 0x109e2: 0xe0009550, + 0x109e5: 0xe0007e9e, 0x109e6: 0xe0009862, 0x109e7: 0xe00073c6, + 0x109e9: 0xe000a093, + 0x109ec: 0xe0009724, 0x109ed: 0xe0009327, 0x109ee: 0xe0005679, + 0x109f5: 0xe0004400, + 0x109f9: 0xe0004169, 0x109fb: 0xe0006580, + 0x109fe: 0xe0007778, 0x109ff: 0xe0006aeb, + // Block 0x428, offset 0x10a00 + 0x10a00: 0xe0008408, 0x10a01: 0xe0008f55, 0x10a02: 0xe00052a1, 0x10a03: 0xe0009554, + 0x10a04: 0xe000790f, 0x10a06: 0xe00046a5, 0x10a07: 0xe000a2e9, + 0x10a09: 0xe0004570, 0x10a0b: 0xe000540a, + 0x10a10: 0xe0006a7f, 0x10a12: 0xe0008215, 0x10a13: 0xe00054ee, + 0x10a14: 0xe0008f0d, 0x10a15: 0xe0008cb6, 0x10a17: 0xe000843b, + 0x10a18: 0xe000918d, 0x10a1a: 0xe0005f80, 0x10a1b: 0xe000617a, + 0x10a1c: 0xe0005265, 0x10a1f: 0xe0006cac, + 0x10a21: 0xe0005b62, 0x10a22: 0xe0005913, + 0x10a24: 0xe0009eb3, 0x10a25: 0xe0008306, 0x10a27: 0xe00092eb, + 0x10a2a: 0xe0007fcf, 0x10a2b: 0xe000a493, + 0x10a31: 0xe0005b46, 0x10a32: 0xe0008865, 0x10a33: 0xe000934f, + 0x10a35: 0xe00072bd, 0x10a37: 0xe00058e0, + 0x10a39: 0xe00092ef, 0x10a3a: 0xe000519b, 0x10a3b: 0xe000547e, + 0x10a3c: 0xe000796b, + // Block 0x429, offset 0x10a40 + 0x10a40: 0xe0007d52, 0x10a41: 0xe000830a, 0x10a43: 0xe00080e6, + 0x10a44: 0xe000a385, 0x10a45: 0xe0009916, 0x10a46: 0xe0008cec, 0x10a47: 0xe000a87f, + 0x10a48: 0xe0006e58, 0x10a49: 0xe0004b01, 0x10a4b: 0xe0004f27, + 0x10a4c: 0xe0009bf4, 0x10a4d: 0xe0005fa0, 0x10a4e: 0xe0009c4a, + 0x10a52: 0xe00075ae, + 0x10a55: 0xe0007445, 0x10a57: 0xe0007a83, + 0x10a5a: 0xe0005482, + 0x10a5c: 0xe00056b5, + 0x10a62: 0xe0005037, + 0x10a65: 0xe00085b2, 0x10a67: 0xe0005217, + 0x10a68: 0xe0008971, 0x10a69: 0xe0005899, 0x10a6a: 0xe0008218, 0x10a6b: 0xe0009d4c, + 0x10a6c: 0xe000497a, 0x10a6d: 0xe0005c60, 0x10a6e: 0xe000a3e5, + 0x10a71: 0xe000497e, + 0x10a75: 0xe0006620, 0x10a76: 0xe0005051, 0x10a77: 0xe0004c59, + 0x10a78: 0xe0008975, + 0x10a7c: 0xe0004659, + // Block 0x42a, offset 0x10a80 + 0x10a80: 0xe0005054, + 0x10a86: 0xe00079ad, + 0x10a89: 0xe0007afb, 0x10a8a: 0xe000945d, + 0x10a8d: 0xe00087fa, 0x10a8f: 0xe0004749, + 0x10a92: 0xe0006036, 0x10a93: 0xe0004cf8, + 0x10a95: 0xe0005fa4, 0x10a97: 0xe0007f4a, + 0x10a98: 0xe0008299, + 0x10aa0: 0xe0004a59, 0x10aa3: 0xe000997f, + 0x10aa4: 0xe000814e, 0x10aa5: 0xe0005ff0, + 0x10aaa: 0xe0005f90, + 0x10aac: 0xe0005635, + 0x10ab0: 0xe0006ac3, 0x10ab1: 0xe000a496, 0x10ab2: 0xe000992e, + 0x10ab6: 0xe0007806, 0x10ab7: 0xe0005881, + 0x10abd: 0xe00059b4, + // Block 0x42b, offset 0x10ac0 + 0x10ac4: 0xe0009485, 0x10ac5: 0xe000487a, 0x10ac6: 0xe0008f59, + 0x10ac9: 0xe000589d, 0x10aca: 0xe0009684, 0x10acb: 0xe0008cef, + 0x10acc: 0xe0005cc8, 0x10acd: 0xe0005639, + 0x10ad2: 0xe000843e, + 0x10ad4: 0xe00093ef, + 0x10adb: 0xe0005cbc, + 0x10adc: 0xe0005cb8, 0x10add: 0xe00083f2, 0x10ade: 0xe000a922, + 0x10ae0: 0xe0004e70, 0x10ae1: 0xe0006548, + 0x10ae9: 0xe00060c4, + 0x10aed: 0xe0006ac7, + 0x10af0: 0xe000a63c, 0x10af1: 0xe0004449, 0x10af3: 0xe0005734, + 0x10af4: 0xe0006acb, 0x10af6: 0xe000a883, + 0x10af8: 0xe0009590, 0x10af9: 0xe0007ea1, 0x10afa: 0xe0009906, + 0x10afd: 0xe000a0c3, + // Block 0x42c, offset 0x10b00 + 0x10b00: 0xe000550f, 0x10b01: 0xe0008d79, 0x10b03: 0xe00084ee, + 0x10b06: 0xe000685c, 0x10b07: 0xe0008aa9, + 0x10b08: 0xe0007be9, 0x10b0a: 0xe000422c, + 0x10b0e: 0xe0006199, + 0x10b11: 0xe000a389, 0x10b13: 0xe0007e21, + 0x10b16: 0xe0008192, 0x10b17: 0xe00059b8, + 0x10b1d: 0xe00096d0, + 0x10b24: 0xe0009d24, 0x10b25: 0xe0006600, 0x10b26: 0xe00045a0, 0x10b27: 0xe00045a4, + 0x10b29: 0xe0005ceb, 0x10b2a: 0xe0006bdc, + 0x10b2e: 0xe0004ad5, + 0x10b30: 0xe0005512, 0x10b31: 0xe00093f3, 0x10b32: 0xe0004ed0, 0x10b33: 0xe000487d, + 0x10b36: 0xe0008c71, 0x10b37: 0xe0007174, + 0x10b38: 0xe0004e0b, 0x10b39: 0xe000930b, 0x10b3a: 0xe00085d5, 0x10b3b: 0xe00041e4, + // Block 0x42d, offset 0x10b40 + 0x10b43: 0xe0009694, + 0x10b44: 0xe000474d, 0x10b47: 0xe0009a26, + 0x10b49: 0xe0008e80, 0x10b4a: 0xe0006bc0, 0x10b4b: 0xe0004f2b, + 0x10b4c: 0xe00057e7, 0x10b4d: 0xe0008979, + 0x10b54: 0xe00094a4, 0x10b55: 0xe00069cc, 0x10b56: 0xe0006795, 0x10b57: 0xe00086d6, + 0x10b5a: 0xe0006b8a, 0x10b5b: 0xe000439c, + 0x10b5d: 0xe00062c0, 0x10b5e: 0xe000510e, 0x10b5f: 0xe00095b8, + 0x10b61: 0xe0006f64, + 0x10b69: 0xe00085c2, 0x10b6a: 0xe000897d, + 0x10b6f: 0xe0006798, + 0x10b72: 0xe000a0b7, + 0x10b74: 0xe0004479, 0x10b75: 0xe0009397, 0x10b77: 0xe0006c08, + 0x10b7a: 0xe0005d36, + 0x10b7d: 0xe0009eee, 0x10b7f: 0xe00096d3, + // Block 0x42e, offset 0x10b80 + 0x10b82: 0xe0004e73, 0x10b83: 0xe000a70f, + 0x10b87: 0xe0004f2f, + 0x10b88: 0xe0006584, 0x10b89: 0xe0005c27, + 0x10b8d: 0xe0004574, + 0x10b91: 0xe0008c74, 0x10b92: 0xe0004578, 0x10b93: 0xe0008441, + 0x10b97: 0xe00092f3, + 0x10b98: 0xe0005df5, 0x10b9b: 0xe0005934, + 0x10b9f: 0xe0004982, + 0x10ba0: 0xe000416c, 0x10ba3: 0xe00059bc, + 0x10ba4: 0xe0004f57, + 0x10ba9: 0xe0008cf2, 0x10baa: 0xe0005271, 0x10bab: 0xe0004594, + 0x10bac: 0xe0004cfb, 0x10bad: 0xe0009727, + 0x10bbe: 0xe000a1e6, + // Block 0x42f, offset 0x10bc0 + 0x10bc1: 0xe00046a9, 0x10bc3: 0xe00063a8, + 0x10bc5: 0xe0009a2a, 0x10bc7: 0xe0007f4e, + 0x10bc9: 0xe0005fa8, + 0x10bcc: 0xe0004e2f, 0x10bcd: 0xe00046ad, + 0x10bd2: 0xe0005cac, + 0x10bd5: 0xe000563d, 0x10bd6: 0xe0008062, + 0x10bd8: 0xe00042f4, 0x10bd9: 0xe0006138, 0x10bdb: 0xe000a7ba, + 0x10bdd: 0xe00073ca, 0x10bde: 0xe0005a91, 0x10bdf: 0xe0006039, + 0x10be0: 0xe0005c6c, 0x10be1: 0xe0009f18, 0x10be2: 0xe000701b, 0x10be3: 0xe00088e9, + 0x10be4: 0xe0004f5b, 0x10be6: 0xe000972a, + 0x10bf3: 0xe000a7be, + 0x10bf5: 0xe00058e3, + 0x10bf8: 0xe0004e0f, 0x10bfa: 0xe0008672, 0x10bfb: 0xe0004f03, + 0x10bfe: 0xe0004c5c, 0x10bff: 0xe00061e1, + // Block 0x430, offset 0x10c00 + 0x10c01: 0xe00061c5, 0x10c02: 0xe0005223, 0x10c03: 0xe000447c, + 0x10c05: 0xe0009e65, + 0x10c08: 0xe000a887, 0x10c0a: 0xe0004d97, + 0x10c0c: 0xe000a123, 0x10c0d: 0xe0009e68, 0x10c0f: 0xe0009e6b, + 0x10c10: 0xe00066c9, + 0x10c15: 0xe000694e, 0x10c16: 0xe000a54d, 0x10c17: 0xe0006858, + 0x10c19: 0xe00073f1, + 0x10c20: 0xe0008726, 0x10c21: 0xe0004b05, 0x10c23: 0xe0004380, + 0x10c27: 0xe000a365, + 0x10c2a: 0xe0006951, + 0x10c2f: 0xe000a6b8, + 0x10c31: 0xe0004e76, + 0x10c36: 0xe0004cfe, + 0x10c39: 0xe0009f89, + 0x10c3d: 0xe0007943, 0x10c3e: 0xe0009ddc, 0x10c3f: 0xe0005311, + // Block 0x431, offset 0x10c40 + 0x10c40: 0xe0004c5f, 0x10c41: 0xe0007599, 0x10c43: 0xe0009500, + 0x10c44: 0xe00085b6, 0x10c45: 0xe0006c84, 0x10c47: 0xe00073ce, + 0x10c48: 0xe0007c64, 0x10c49: 0xe000a81e, 0x10c4a: 0xe0006328, + 0x10c4d: 0xe0005e2b, + 0x10c51: 0xe0006954, 0x10c52: 0xe0008df9, 0x10c53: 0xe0009b00, + 0x10c54: 0xe000a339, 0x10c57: 0xe00051e4, + 0x10c5a: 0xe00062c4, + 0x10c5c: 0xe00066cd, 0x10c5e: 0xe00065c4, + 0x10c60: 0xe0008ad5, 0x10c61: 0xe000870a, + 0x10c66: 0xe0004b5d, + 0x10c68: 0xe0006f10, + 0x10c6c: 0xe0007743, 0x10c6e: 0xe00099f0, 0x10c6f: 0xe0006108, + 0x10c70: 0xe00084f2, 0x10c71: 0xe00081a3, 0x10c72: 0xe00070b1, 0x10c73: 0xe0008ff9, + 0x10c74: 0xe00041e8, 0x10c75: 0xe00057af, 0x10c77: 0xe0004e13, + 0x10c78: 0xe0006b8d, 0x10c79: 0xe000a87b, 0x10c7a: 0xe0004f8f, 0x10c7b: 0xe0004210, + 0x10c7d: 0xe0008ff5, 0x10c7e: 0xe000763b, 0x10c7f: 0xe00046b1, + // Block 0x432, offset 0x10c80 + 0x10c84: 0xe00077b4, + 0x10c93: 0xe0007757, + 0x10c96: 0xe000645c, + 0x10c98: 0xe0005cee, 0x10c9a: 0xe000a778, + 0x10c9d: 0xe0008d7c, 0x10c9f: 0xe00080ea, + 0x10ca0: 0xe0009990, + 0x10ca5: 0xe0004e47, 0x10ca6: 0xe0009ff3, + 0x10caa: 0xe0004f93, + 0x10cad: 0xe0007ad3, 0x10cae: 0xe0007448, + 0x10cb2: 0xe0005916, + 0x10cb9: 0xe0004d01, 0x10cbb: 0xe00044b5, + // Block 0x433, offset 0x10cc0 + 0x10cc3: 0xe000932b, + 0x10cc5: 0xe0009353, + 0x10cc8: 0xe0007fd2, 0x10cc9: 0xe000924e, 0x10cca: 0xe0005003, 0x10ccb: 0xe0007fd5, + 0x10ccd: 0xe000632c, + 0x10cd4: 0xe0007285, 0x10cd6: 0xe0009955, 0x10cd7: 0xe0007192, + 0x10cdb: 0xe0006330, + 0x10cdf: 0xe0007246, + 0x10ce1: 0xe0007bec, 0x10ce2: 0xe00097bc, 0x10ce3: 0xe0004c62, + 0x10ce4: 0xe0004805, 0x10ce5: 0xe0004c65, 0x10ce6: 0xe0005a48, + 0x10ce8: 0xe0005584, 0x10ce9: 0xe0004808, 0x10cea: 0xe0009058, 0x10ceb: 0xe0004ea3, + 0x10cec: 0xe000703c, 0x10ced: 0xe0009d50, 0x10cee: 0xe0008c29, 0x10cef: 0xe000416f, + 0x10cf0: 0xe0009bf7, 0x10cf1: 0xe00091b1, 0x10cf2: 0xe0006aee, 0x10cf3: 0xe0007fd8, + 0x10cf4: 0xe0004d04, 0x10cf5: 0xe0009cfa, 0x10cf6: 0xe000a369, + 0x10cf8: 0xe0006af1, + // Block 0x434, offset 0x10d00 + 0x10d01: 0xe0008032, 0x10d03: 0xe000a8c7, + 0x10d04: 0xe00041ec, + 0x10d08: 0xe000a107, 0x10d09: 0xe000517f, 0x10d0a: 0xe00088ed, 0x10d0b: 0xe00097b8, + 0x10d0c: 0xe0005641, 0x10d0d: 0xe0005ff4, 0x10d0e: 0xe000a77b, 0x10d0f: 0xe0005cf1, + 0x10d10: 0xe0009c4d, 0x10d11: 0xe000a212, + 0x10d1b: 0xe0004da7, + 0x10d1d: 0xe0005d5d, 0x10d1f: 0xe00083ae, + 0x10d20: 0xe0009e38, + 0x10d26: 0xe000679b, + 0x10d29: 0xe0006860, 0x10d2b: 0xe000a0c7, + 0x10d2c: 0xe0008372, 0x10d2e: 0xe0008a09, + 0x10d33: 0xe0007c6a, + 0x10d36: 0xe00052dd, + 0x10d38: 0xe000a8fb, 0x10d39: 0xe0009958, 0x10d3b: 0xe000619d, + 0x10d3c: 0xe000a77e, 0x10d3d: 0xe000a799, 0x10d3e: 0xe0007c67, + // Block 0x435, offset 0x10d40 + 0x10d40: 0xe000a017, 0x10d42: 0xe00058e6, + 0x10d46: 0xe0005f2d, + 0x10d48: 0xe0008b5d, 0x10d4a: 0xe000480b, + 0x10d4e: 0xe00094d8, + 0x10d51: 0xe0009b58, + 0x10d5d: 0xe00077d0, + 0x10d62: 0xe00052ff, + 0x10d64: 0xe0005a4c, 0x10d66: 0xe000829c, + 0x10d68: 0xe0008ea4, 0x10d6a: 0xe0008ea1, 0x10d6b: 0xe0009654, + 0x10d70: 0xe0008620, 0x10d71: 0xe000480e, 0x10d73: 0xe00061ed, + 0x10d75: 0xe0004172, 0x10d76: 0xe0005283, + 0x10d7b: 0xe00074c9, + 0x10d7c: 0xe000a41e, 0x10d7d: 0xe0005ff8, 0x10d7f: 0xe00044e2, + // Block 0x436, offset 0x10d80 + 0x10d80: 0xe0008868, + 0x10d84: 0xe0005629, 0x10d86: 0xe0009e6e, 0x10d87: 0xe0009fb5, + 0x10d8b: 0xe0006b90, + 0x10d8c: 0xe000a550, 0x10d8d: 0xe000a1c5, 0x10d8e: 0xe0004c68, 0x10d8f: 0xe0007bb3, + 0x10d90: 0xe000679e, + 0x10d96: 0xe00041bd, + 0x10da0: 0xe0009221, 0x10da2: 0xe000763f, + 0x10da4: 0xe0009aae, 0x10da5: 0xe000a95b, + 0x10da8: 0xe00085d8, 0x10dab: 0xe000905b, + 0x10dac: 0xe0004bcc, 0x10daf: 0xe0004214, + 0x10db3: 0xe000a195, + 0x10db8: 0xe000a0cb, 0x10dbb: 0xe000a860, + 0x10dbc: 0xe0004b66, 0x10dbd: 0xe00084f6, 0x10dbf: 0xe00084a1, + // Block 0x437, offset 0x10dc0 + 0x10dc0: 0xe000775a, 0x10dc1: 0xe0009f3c, 0x10dc2: 0xe0007519, 0x10dc3: 0xe000567d, + 0x10dc4: 0xe000a511, 0x10dc6: 0xe00099f3, 0x10dc7: 0xe0007dbe, + 0x10dc8: 0xe000a10b, 0x10dc9: 0xe00087fd, + 0x10de1: 0xe00080ee, + 0x10de5: 0xe0004175, 0x10de6: 0xe00075e1, + 0x10de8: 0xe00096d6, 0x10de9: 0xe0005d39, + 0x10ded: 0xe00048ce, 0x10dee: 0xe000a733, + 0x10df1: 0xe00063d4, 0x10df2: 0xe0009594, + 0x10dfa: 0xe0009e71, + 0x10dfd: 0xe0004751, 0x10dff: 0xe00041c0, + // Block 0x438, offset 0x10e00 + 0x10e04: 0xe0009d63, 0x10e06: 0xe0006af4, 0x10e07: 0xe00090fd, + 0x10e09: 0xe000777b, + 0x10e0e: 0xe0005cf4, 0x10e0f: 0xe000a95e, + 0x10e10: 0xe000544e, + 0x10e14: 0xe0007cb5, + 0x10e1c: 0xe0005e97, + 0x10e2b: 0xe0004feb, + 0x10e2e: 0xe0007249, 0x10e2f: 0xe000821b, + 0x10e31: 0xe000939b, 0x10e33: 0xe0005919, + 0x10e35: 0xe00076cb, + 0x10e3c: 0xe0006c88, 0x10e3e: 0xe0009ab1, + // Block 0x439, offset 0x10e40 + 0x10e40: 0xe000777e, 0x10e42: 0xe00052cf, + 0x10e44: 0xe0009b04, 0x10e46: 0xe0006cb0, + 0x10e4f: 0xe00061a1, + 0x10e53: 0xe000479c, + 0x10e56: 0xe00053c6, 0x10e57: 0xe000540e, + 0x10e5c: 0xe00095bc, 0x10e5e: 0xe00075b1, + 0x10e63: 0xe000a0cf, + 0x10e7b: 0xe000744b, + 0x10e7c: 0xe0008c77, 0x10e7d: 0xe00076eb, 0x10e7e: 0xe0009865, + // Block 0x43a, offset 0x10e80 + 0x10e80: 0xe000448e, 0x10e81: 0xe0007d82, 0x10e83: 0xe00051f8, + 0x10e84: 0xe0006e5c, 0x10e86: 0xe0009598, 0x10e87: 0xe0005754, + 0x10e89: 0xe000a781, 0x10e8a: 0xe000a0d3, 0x10e8b: 0xe0009658, + 0x10e91: 0xe00083c6, 0x10e93: 0xe0007ef5, + 0x10e94: 0xe0007643, + 0x10e98: 0xe0009504, 0x10e99: 0xe000a821, 0x10e9a: 0xe000a5b4, + 0x10e9c: 0xe000a925, 0x10e9d: 0xe00042b8, 0x10e9e: 0xe0008ffd, 0x10e9f: 0xe00081e5, + 0x10ea3: 0xe000a79c, + 0x10ea4: 0xe000a69c, 0x10ea7: 0xe000a802, + 0x10ea8: 0xe00058c5, 0x10ea9: 0xe000821e, 0x10eaa: 0xe0006cb4, 0x10eab: 0xe0005197, + 0x10eac: 0xe0004bcf, 0x10eae: 0xe0005336, + 0x10eb0: 0xe00074b1, + // Block 0x43b, offset 0x10ec0 + 0x10ec5: 0xe000a784, 0x10ec7: 0xe0006d4c, + 0x10ec9: 0xe00070b4, + 0x10ed1: 0xe000a127, + 0x10ed4: 0xe0009101, + 0x10eda: 0xe0007c6d, 0x10edb: 0xe0004675, + 0x10edc: 0xe0005057, 0x10edf: 0xe0009251, + 0x10ee0: 0xe00057a3, 0x10ee2: 0xe0007d56, 0x10ee3: 0xe0006af7, + 0x10ee4: 0xe00099ae, + 0x10ef7: 0xe0007cb8, + 0x10efd: 0xe0007195, 0x10efe: 0xe0008ea7, 0x10eff: 0xe0009bb0, + // Block 0x43c, offset 0x10f00 + 0x10f04: 0xe0004c14, 0x10f06: 0xe0009b5c, + 0x10f08: 0xe0008d7f, 0x10f09: 0xe0004178, + 0x10f0c: 0xe0009f1b, 0x10f0d: 0xe0005c15, 0x10f0e: 0xe00076ab, + 0x10f10: 0xe0004c17, 0x10f12: 0xe000a403, + 0x10f14: 0xe0004c6b, 0x10f16: 0xe000946d, 0x10f17: 0xe0006cb8, + 0x10f29: 0xe000a57a, + 0x10f2c: 0xe0009805, 0x10f2f: 0xe000703f, + 0x10f32: 0xe0008cf5, + 0x10f34: 0xe000995b, 0x10f36: 0xe00073f4, 0x10f37: 0xe000a499, + 0x10f38: 0xe000617d, 0x10f39: 0xe0005bbf, 0x10f3b: 0xe000a961, + 0x10f3f: 0xe0006191, + // Block 0x43d, offset 0x10f40 + 0x10f41: 0xe0007cbb, 0x10f42: 0xe0008f9d, + 0x10f49: 0xe0005412, 0x10f4b: 0xe0009c56, + 0x10f4d: 0xe000972d, 0x10f4e: 0xe0007acf, 0x10f4f: 0xe000a90b, + 0x10f53: 0xe000a236, + 0x10f64: 0xe0004fef, 0x10f65: 0xe00052a5, + 0x10f68: 0xe000505a, 0x10f69: 0xe0007647, 0x10f6a: 0xe0008d82, 0x10f6b: 0xe000a928, + 0x10f6c: 0xe0006dda, 0x10f6d: 0xe0004c1a, 0x10f6f: 0xe0007781, + 0x10f72: 0xe0009aa5, + 0x10f74: 0xe0006864, 0x10f76: 0xe00042dc, + 0x10f78: 0xe0009c5a, 0x10f7a: 0xe000751d, + // Block 0x43e, offset 0x10f80 + 0x10f80: 0xe0005269, + 0x10f84: 0xe000a717, 0x10f86: 0xe000a736, 0x10f87: 0xe000a01a, + 0x10f8f: 0xe00096af, + 0x10f99: 0xe0004c1d, 0x10f9a: 0xe0008376, + 0x10fa5: 0xe0007a0f, + 0x10fac: 0xe0006a47, 0x10fae: 0xe000a216, + 0x10fb3: 0xe00048ea, + 0x10fb4: 0xe000796f, 0x10fb6: 0xe00077f0, + 0x10fbc: 0xe0008676, + // Block 0x43f, offset 0x10fc0 + 0x10fc0: 0xe0008a0d, 0x10fc1: 0xe0006fac, 0x10fc2: 0xe000a75d, 0x10fc3: 0xe000870e, + 0x10fc8: 0xe0007c1f, 0x10fc9: 0xe000576f, 0x10fca: 0xe0005208, + 0x10fcd: 0xe000a92b, + 0x10fd1: 0xe000977c, + 0x10fda: 0xe0007198, 0x10fdb: 0xe0006afa, + 0x10fde: 0xe000a6bb, 0x10fdf: 0xe0007521, + 0x10fe0: 0xe00084fa, + 0x10fe6: 0xe0007a87, + 0x10feb: 0xe000a50d, + 0x10fee: 0xe0007dc1, + 0x10ff0: 0xe00048fe, + 0x10ff7: 0xe0004f1b, + 0x10ff9: 0xe0005a0c, 0x10ffa: 0xe0004811, + 0x10fff: 0xe000829f, + // Block 0x440, offset 0x11000 + 0x11001: 0xe000837a, 0x11002: 0xe000a4ed, 0x11003: 0xe0009e74, + 0x11004: 0xe00078e5, + 0x11008: 0xe0004e17, 0x11009: 0xe0007903, 0x1100a: 0xe0009688, 0x1100b: 0xe0004d7f, + 0x1100d: 0xe00081a6, + 0x11012: 0xe00080f6, 0x11013: 0xe00080f2, + 0x11016: 0xe0005515, + 0x11018: 0xe000533a, + 0x1101c: 0xe0008152, 0x1101f: 0xe0009c50, + 0x11025: 0xe0005b0a, + 0x11028: 0xe0008800, + 0x1102c: 0xe0007cbe, 0x1102d: 0xe0004ea6, 0x1102e: 0xe00069cf, + 0x11030: 0xe000905e, + 0x1103b: 0xe000505d, + 0x1103e: 0xe000501b, + // Block 0x441, offset 0x11040 + 0x11040: 0xe0009061, 0x11042: 0xe0009d28, + 0x11047: 0xe0004f07, + 0x1104a: 0xe00063f0, + 0x1104c: 0xe00068ac, 0x1104d: 0xe00053ca, 0x1104e: 0xe00042f8, 0x1104f: 0xe00064c5, + 0x11050: 0xe0008e74, 0x11051: 0xe0004496, + 0x11061: 0xe0009cca, + 0x11064: 0xe0004902, 0x11066: 0xe0009b60, 0x11067: 0xe00094dc, + 0x11068: 0xe00084a4, 0x11069: 0xe0004344, 0x1106a: 0xe0009e0c, + 0x1106e: 0xe00054c4, 0x1106f: 0xe00064c8, + 0x11070: 0xe00046b5, 0x11071: 0xe0007747, 0x11073: 0xe0007ef8, + 0x11075: 0xe0004c6e, 0x11077: 0xe00041c3, + 0x11078: 0xe0004d07, 0x1107b: 0xe00090b8, + 0x1107c: 0xe0009b08, + // Block 0x442, offset 0x11080 + 0x11082: 0xe000719b, + 0x11088: 0xe00054c1, 0x1108b: 0xe000a38d, + 0x1108c: 0xe0005681, + 0x11093: 0xe000a198, + 0x11095: 0xe000a79f, + 0x1109e: 0xe0009ad8, + 0x110a0: 0xe0008356, 0x110a2: 0xe0004c71, 0x110a3: 0xe00080fa, + 0x110a4: 0xe00091e9, + 0x110b8: 0xe0007e25, + 0x110bd: 0xe000837e, + // Block 0x443, offset 0x110c0 + 0x110c3: 0xe000775d, + 0x110c6: 0xe0004218, 0x110c7: 0xe0007f52, + 0x110c8: 0xe0008f5d, 0x110c9: 0xe000a36d, 0x110cb: 0xe0005f03, + 0x110ce: 0xe0006fc8, 0x110cf: 0xe0007a8b, + 0x110d1: 0xe00095c0, 0x110d2: 0xe00057ef, + 0x110dc: 0xe000781e, 0x110df: 0xe00079df, + 0x110e0: 0xe00067a1, + 0x110e4: 0xe00069d2, + 0x110ed: 0xe0009c1e, + 0x110f0: 0xe0009436, 0x110f3: 0xe0004348, + 0x110f4: 0xe0007475, 0x110f7: 0xe0009209, + 0x110f9: 0xe0006492, 0x110fa: 0xe0005060, 0x110fb: 0xe0008fa1, + 0x110fc: 0xe0005063, 0x110fd: 0xe00070b7, + // Block 0x444, offset 0x11100 + 0x11100: 0xe0004dcb, 0x11102: 0xe0005452, 0x11103: 0xe0004926, + 0x11105: 0xe00045e5, 0x11106: 0xe0009c86, + 0x11108: 0xe00043a0, 0x11109: 0xe00082f6, 0x1110a: 0xe00075ff, 0x1110b: 0xe000693c, + 0x11117: 0xe000562d, + 0x11119: 0xe000852e, + 0x1111d: 0xe0004a11, 0x1111e: 0xe0009628, + 0x11120: 0xe000a7a2, 0x11121: 0xe000667f, 0x11123: 0xe0008035, + 0x11124: 0xe0008c7a, 0x11126: 0xe00047e1, 0x11127: 0xe0007a13, + 0x1112a: 0xe00042fc, + 0x1112f: 0xe0007ea4, + 0x11130: 0xe000792b, 0x11131: 0xe0006682, + 0x11134: 0xe000872a, 0x11135: 0xe0005518, + 0x1113a: 0xe000479f, + // Block 0x445, offset 0x11140 + 0x11140: 0xe0006660, + 0x11149: 0xe00094e0, 0x1114a: 0xe0004b78, 0x1114b: 0xe0007b47, + 0x1114c: 0xe0009bcc, 0x1114d: 0xe00073e6, 0x1114f: 0xe000444c, + 0x11150: 0xe00070ba, 0x11151: 0xe0007042, 0x11152: 0xe000744e, + 0x11154: 0xe0009bbc, 0x11157: 0xe000551b, + 0x11158: 0xe0005456, 0x11159: 0xe0004880, 0x1115a: 0xe00097c0, + 0x1115e: 0xe0006d40, + 0x11161: 0xe0008981, 0x11162: 0xe0007c70, + 0x11164: 0xe000a7c2, + 0x11169: 0xe0007aff, + 0x11175: 0xe0009105, + 0x11179: 0xe000932f, + 0x1117c: 0xe0008985, 0x1117d: 0xe0006d1c, 0x1117e: 0xe0007289, + // Block 0x446, offset 0x11180 + 0x11180: 0xe00090bb, 0x11181: 0xe0005e73, 0x11183: 0xe00046b9, + 0x11185: 0xe0006d80, + 0x11189: 0xe0007f56, 0x1118a: 0xe0008afd, + 0x1118d: 0xe0005111, + 0x11190: 0xe0004f97, 0x11193: 0xe000610b, + 0x1119c: 0xe000981d, 0x1119d: 0xe0007efb, 0x1119e: 0xe000901d, 0x1119f: 0xe000a239, + 0x111a1: 0xe0006ed0, 0x111a3: 0xe0006705, + 0x111a8: 0xe0006189, 0x111a9: 0xe00055ed, 0x111ab: 0xe0008fa5, + 0x111ae: 0xe0009ab4, + 0x111b0: 0xe0005416, 0x111b1: 0xe0005738, 0x111b3: 0xe0006868, + 0x111ba: 0xe0007c73, 0x111bb: 0xe000872e, + 0x111be: 0xe0004230, + // Block 0x447, offset 0x111c0 + 0x111c1: 0xe0006588, 0x111c3: 0xe0004404, + 0x111c5: 0xe0007d5e, 0x111c7: 0xe000533e, + 0x111ce: 0xe000a7c6, + 0x111d1: 0xe000a02f, 0x111d3: 0xe0007717, + 0x111d4: 0xe0005587, 0x111d5: 0xe000a421, + 0x111d8: 0xe0005beb, 0x111d9: 0xe0004b09, 0x111da: 0xe0005ac4, + 0x111dc: 0xe000541a, 0x111dd: 0xe00082a2, 0x111de: 0xe0004b7b, 0x111df: 0xe0005b2a, + 0x111e4: 0xe0007861, + 0x111eb: 0xe0006afd, + 0x111ec: 0xe0008586, 0x111ef: 0xe0008732, + 0x111f9: 0xe0008562, 0x111fa: 0xe000a424, 0x111fb: 0xe0006d83, + 0x111fd: 0xe000719e, + // Block 0x448, offset 0x11200 + 0x11206: 0xe0006775, + 0x11208: 0xe000882d, + 0x1120f: 0xe0009ff6, + 0x11210: 0xe000a3d1, + 0x11214: 0xe0005066, 0x11215: 0xe0006df8, 0x11216: 0xe0007e74, + 0x11219: 0xe000728d, 0x1121a: 0xe0005321, + 0x1121c: 0xe0007809, + 0x11222: 0xe00060d4, + 0x11224: 0xe0008532, 0x11225: 0xe0004a14, 0x11227: 0xe00054c7, + 0x11229: 0xe0009508, 0x1122a: 0xe0009bfa, 0x1122b: 0xe00067a4, + 0x1122c: 0xe0009aa8, 0x1122d: 0xe0007ea7, 0x1122e: 0xe000772b, 0x1122f: 0xe000a17b, + 0x11231: 0xe0007541, + 0x11237: 0xe0008462, + 0x11238: 0xe0004a17, + 0x1123e: 0xe000a33d, + // Block 0x449, offset 0x11240 + 0x11244: 0xe0007973, 0x11247: 0xe0005069, + 0x11248: 0xe000521a, 0x11249: 0xe0006735, + 0x1124e: 0xe0004ea9, 0x1124f: 0xe0008eaa, + 0x11250: 0xe000a5b8, 0x11251: 0xe00047a2, 0x11253: 0xe0009275, + 0x11254: 0xe000686c, 0x11255: 0xe000a279, 0x11257: 0xe0009c9e, + 0x11258: 0xe00087b2, 0x1125a: 0xe000a19b, + 0x11260: 0xe0008989, 0x11262: 0xe0006b00, + 0x11267: 0xe0007c76, + 0x11269: 0xe00059ec, 0x1126a: 0xe0009b94, 0x1126b: 0xe000830e, + 0x1126c: 0xe0008736, 0x1126d: 0xe0006dfc, 0x1126e: 0xe0006870, + 0x11273: 0xe0005232, + 0x11274: 0xe0005274, 0x11276: 0xe0005226, + 0x11278: 0xe0004234, + 0x1127d: 0xe000a427, + // Block 0x44a, offset 0x11280 + 0x11282: 0xe00079b7, 0x11283: 0xe0006957, + 0x11284: 0xe0005ebf, + 0x1128a: 0xe000858a, + 0x11291: 0xe0009cfd, 0x11292: 0xe0009cad, 0x11293: 0xe000506c, + 0x11296: 0xe0007eaa, 0x11297: 0xe0004fbb, + 0x11299: 0xe000610e, + 0x1129d: 0xe00087b6, + 0x112a3: 0xe00069d5, + 0x112a5: 0xe0009ab7, 0x112a7: 0xe0007e29, + 0x112a8: 0xe00063f4, + 0x112ac: 0xe0009ca1, 0x112af: 0xe00098e6, + 0x112b2: 0xe00053b2, + 0x112b9: 0xe0005f06, 0x112bb: 0xe0009488, + 0x112be: 0xe000962c, + // Block 0x44b, offset 0x112c0 + 0x112c3: 0xe0008b61, + 0x112c6: 0xe000603c, + 0x112c8: 0xe0005a50, 0x112c9: 0xe00085db, 0x112cb: 0xe00073f7, + 0x112cd: 0xe0006c0c, + 0x112d0: 0xe000886b, 0x112d1: 0xe0004814, 0x112d2: 0xe0006b93, 0x112d3: 0xe0006fcc, + 0x112d4: 0xe00081a9, + 0x112d9: 0xe000858e, 0x112da: 0xe0007ead, + 0x112dc: 0xe00043a4, 0x112dd: 0xe0008e9b, 0x112de: 0xe000518b, + 0x112e3: 0xe0004c20, + 0x112e4: 0xe0004d0a, 0x112e5: 0xe000607e, 0x112e6: 0xe0004238, + 0x112e8: 0xe0008465, 0x112ea: 0xe00091b5, + 0x112ec: 0xe000a92e, 0x112ee: 0xe000a147, + 0x112f8: 0xe0007a17, 0x112fa: 0xe0007525, 0x112fb: 0xe00084fe, + 0x112ff: 0xe00085de, + // Block 0x44c, offset 0x11300 + 0x11301: 0xe00081ac, 0x11303: 0xe0007e68, + 0x11309: 0xe0006acf, + 0x11311: 0xe0006b03, 0x11313: 0xe0006229, + 0x11318: 0xe000520c, 0x11319: 0xe000a3d5, 0x1131b: 0xe0007c79, + 0x1131c: 0xe000519e, 0x1131f: 0xe0007a1b, + 0x11320: 0xe00074cd, 0x11323: 0xe0008cb9, + 0x11325: 0xe00075b4, 0x11327: 0xe0009c21, + 0x11329: 0xe0005e2f, + 0x1132d: 0xe0007784, + 0x11335: 0xe0009868, 0x11336: 0xe000995e, + 0x1133c: 0xe000939f, 0x1133f: 0xe00075e4, + // Block 0x44d, offset 0x11340 + 0x11340: 0xe00075e7, 0x11341: 0xe0005bee, + 0x11346: 0xe0009ccd, + 0x11349: 0xe0007dd9, + 0x1134c: 0xe00072c1, + 0x11350: 0xe0007dc4, + 0x1135a: 0xe000a4d5, + 0x11362: 0xe000695a, 0x11363: 0xe0008536, + 0x11366: 0xe00067a7, 0x11367: 0xe0008c2d, + 0x1136a: 0xe000581f, + 0x11372: 0xe000a57d, + 0x11377: 0xe0008c31, + 0x1137f: 0xe0006ddd, + // Block 0x44e, offset 0x11380 + 0x11384: 0xe000622c, + 0x1138d: 0xe000680d, + 0x11392: 0xe0005f09, 0x11393: 0xe000a6a0, + 0x11395: 0xe00076ef, + 0x1139a: 0xe00061f0, 0x1139b: 0xe00080fe, + 0x1139f: 0xe0006f48, + 0x113a2: 0xe0006081, + 0x113a4: 0xe00073fa, 0x113a7: 0xe0007e71, + 0x113aa: 0xe0007cc1, + 0x113b3: 0xe00074b5, + 0x113b5: 0xe00085ce, + 0x113ba: 0xe000622f, 0x113bb: 0xe0006388, + 0x113bc: 0xe0007d26, 0x113bd: 0xe0005df8, 0x113be: 0xe0004d0d, 0x113bf: 0xe0004b8d, + // Block 0x44f, offset 0x113c0 + 0x113c1: 0xe000417b, 0x113c2: 0xe00071a1, + 0x113c4: 0xe0008102, + 0x113c8: 0xe00077f4, 0x113c9: 0xe00091b9, 0x113cb: 0xe00052bd, + 0x113cc: 0xe000a331, + 0x113d6: 0xe0009f1e, 0x113d7: 0xe0004d10, + 0x113d9: 0xe0006ed4, 0x113da: 0xe0005e77, 0x113db: 0xe0007c22, + 0x113e0: 0xe0005d3c, 0x113e1: 0xe00088f1, 0x113e2: 0xe0004ed3, 0x113e3: 0xe0007947, + 0x113e5: 0xe0008a11, 0x113e6: 0xe000a14b, + 0x113e9: 0xe00052d5, 0x113eb: 0xe0006084, + 0x113ed: 0xe000a49c, 0x113ee: 0xe000a49f, 0x113ef: 0xe0007cc4, + 0x113f6: 0xe0009730, + 0x113fa: 0xe000a097, 0x113fb: 0xe000a09b, + 0x113fd: 0xe0005bc2, + // Block 0x450, offset 0x11400 + 0x11400: 0xe0004ed6, + 0x11405: 0xe000a553, + 0x11408: 0xe0007efe, 0x11409: 0xe000a931, 0x1140b: 0xe0006e60, + 0x1140c: 0xe0004bd2, + 0x11416: 0xe0009e3b, + 0x11419: 0xe00087ba, 0x1141b: 0xe000a2ed, + 0x11425: 0xe0008d85, + 0x11428: 0xe0008623, 0x1142a: 0xe0006a4b, + 0x1142d: 0xe0005229, + 0x11430: 0xe0007bbb, 0x11432: 0xe00052c0, + 0x11434: 0xe0007bb7, + 0x1143e: 0xe00057cb, 0x1143f: 0xe0007a8f, + // Block 0x451, offset 0x11440 + 0x11440: 0xe0006cbc, 0x11443: 0xe0007865, + 0x11445: 0xe0006f84, + 0x1144c: 0xe0005998, + 0x11450: 0xe00085e1, 0x11451: 0xe000a319, + 0x11454: 0xe0004986, 0x11455: 0xe00085c6, 0x11456: 0xe0008626, 0x11457: 0xe00085e4, + 0x11458: 0xe0008ded, 0x1145a: 0xe00067aa, 0x1145b: 0xe0009d81, + 0x1145c: 0xe00085e7, 0x1145d: 0xe000a739, 0x1145f: 0xe0005f68, + 0x11461: 0xe0009c24, 0x11463: 0xe00047a5, + 0x11464: 0xe0004817, 0x11465: 0xe0005286, + 0x11469: 0xe000a19e, 0x1146b: 0xe000711c, + 0x11470: 0xe0007291, 0x11471: 0xe00086c2, + 0x11475: 0xe00067ad, 0x11476: 0xe0008629, + 0x11478: 0xe000a033, 0x1147a: 0xe0008221, + 0x1147c: 0xe000795b, 0x1147f: 0xe0006c10, + // Block 0x452, offset 0x11480 + 0x11481: 0xe00088b3, 0x11482: 0xe0007fa2, + 0x11485: 0xe0005500, 0x11487: 0xe0007fdb, + 0x11488: 0xe00071a4, 0x11489: 0xe0007663, 0x1148a: 0xe00041c6, 0x1148b: 0xe0007148, + 0x1148c: 0xe0007ddd, 0x1148f: 0xe0004ba6, + 0x11493: 0xe00066d1, + 0x11495: 0xe0009bd4, 0x11496: 0xe000a71b, 0x11497: 0xe0008e09, + 0x11498: 0xe0004a5d, 0x11499: 0xe0008ead, 0x1149a: 0xe0008b65, 0x1149b: 0xe0007de1, + 0x1149c: 0xe000840b, + 0x114a2: 0xe0004492, 0x114a3: 0xe0006e64, + 0x114a4: 0xe0007545, 0x114a5: 0xe0008224, 0x114a6: 0xe000a5bc, + 0x114ac: 0xe0006fd0, 0x114ae: 0xe0004deb, + 0x114b0: 0xe0008803, 0x114b3: 0xe000a1a1, + 0x114b4: 0xe0007a1f, 0x114b5: 0xe0007045, 0x114b6: 0xe000417e, + 0x114b8: 0xe00074d1, 0x114b9: 0xe0007f5a, + 0x114bf: 0xe0007295, + // Block 0x453, offset 0x114c0 + 0x114c0: 0xe0009439, 0x114c2: 0xe00088f5, 0x114c3: 0xe0008106, + 0x114c4: 0xe000506f, 0x114c5: 0xe0008502, 0x114c6: 0xe00062ac, 0x114c7: 0xe0004c74, + 0x114cc: 0xe00067b0, + 0x114d0: 0xe0005f0c, 0x114d2: 0xe000a05b, 0x114d3: 0xe0007fde, + 0x114d4: 0xe0007479, 0x114d6: 0xe0009a7a, 0x114d7: 0xe000525d, + 0x114d8: 0xe00099f6, + 0x114de: 0xe0005e07, 0x114df: 0xe000930f, + 0x114e1: 0xe00049ea, 0x114e2: 0xe0009a5a, + 0x114e4: 0xe0007c7c, 0x114e5: 0xe0007eb0, 0x114e6: 0xe0007549, 0x114e7: 0xe0005259, + 0x114e8: 0xe000943c, 0x114e9: 0xe0007559, 0x114eb: 0xe0006b06, + 0x114ec: 0xe0004a61, 0x114ed: 0xe000a406, 0x114ee: 0xe0005ba1, 0x114ef: 0xe0008f61, + 0x114f0: 0xe000a5f4, + 0x114f5: 0xe00097c4, 0x114f6: 0xe0006685, + 0x114f8: 0xe00097a8, 0x114fa: 0xe0006b09, + // Block 0x454, offset 0x11500 + 0x11501: 0xe0006739, + 0x11504: 0xe0006b0c, 0x11505: 0xe0004f47, 0x11507: 0xe000873a, + 0x11508: 0xe000898d, 0x11509: 0xe00081af, 0x1150a: 0xe0008df1, 0x1150b: 0xe000755d, + 0x1150c: 0xe0008f10, 0x1150d: 0xe00054ca, 0x1150e: 0xe000551e, 0x1150f: 0xe0007048, + 0x11511: 0xe000704b, + 0x11514: 0xe00084a7, 0x11516: 0xe00095e4, + 0x11519: 0xe0006cc0, + 0x1151f: 0xe0006ed8, + 0x11520: 0xe0006edc, + 0x11524: 0xe0007fe1, + 0x11528: 0xe00063f8, 0x1152b: 0xe0007e59, + 0x11531: 0xe0009961, + 0x11538: 0xe00073fd, 0x11539: 0xe0008312, 0x1153a: 0xe00094a8, 0x1153b: 0xe000481a, + 0x1153c: 0xe00052f9, 0x1153e: 0xe00061f3, 0x1153f: 0xe00052ba, + // Block 0x455, offset 0x11540 + 0x11540: 0xe0004d83, 0x11541: 0xe00069d8, + 0x11545: 0xe00044b8, 0x11546: 0xe00047a8, 0x11547: 0xe0008a15, + 0x11548: 0xe0004dcf, 0x1154b: 0xe0007cfa, + 0x1154d: 0xe0007403, 0x1154e: 0xe0007400, + 0x11550: 0xe0004f4b, 0x11551: 0xe0006f14, + 0x11555: 0xe0008991, + 0x1155b: 0xe0006624, + 0x11560: 0xe0005521, 0x11562: 0xe0005bf1, + 0x11564: 0xe00099a4, 0x11565: 0xe0005cf7, + 0x11568: 0xe0004d13, + 0x1156c: 0xe00070f4, 0x1156f: 0xe00056e8, + 0x11571: 0xe0006be0, 0x11573: 0xe0006ee0, + 0x11579: 0xe000a8cb, 0x1157a: 0xe0005114, + // Block 0x456, offset 0x11580 + 0x11588: 0xe000a01d, 0x1158a: 0xe0008ac9, + 0x1158c: 0xe000501f, 0x1158f: 0xe0007e2d, + 0x11590: 0xe0005072, 0x11591: 0xe00086e2, 0x11592: 0xe0004679, + 0x11594: 0xe0009278, + 0x1159d: 0xe00086a2, + 0x115a1: 0xe00043a8, 0x115a3: 0xe0004d16, + 0x115a5: 0xe0009d00, 0x115a6: 0xe0005dd9, 0x115a7: 0xe0009733, + 0x115a8: 0xe00088b6, 0x115a9: 0xe00076cf, 0x115aa: 0xe0006904, 0x115ab: 0xe00071a7, + 0x115ac: 0xe0004384, 0x115ad: 0xe0005a54, + 0x115b1: 0xe00054cd, 0x115b3: 0xe0007603, + 0x115b5: 0xe000a42a, 0x115b7: 0xe0006250, + 0x115b8: 0xe0007667, 0x115ba: 0xe0005a10, + 0x115be: 0xe0008ad9, + // Block 0x457, offset 0x115c0 + 0x115c0: 0xe00071aa, + 0x115d2: 0xe0005685, + 0x115d9: 0xe00099b1, + 0x115e0: 0xe0006cc4, + 0x115e8: 0xe00075b7, 0x115e9: 0xe00075ea, + 0x115ed: 0xe0009736, 0x115ef: 0xe000673d, + 0x115f0: 0xe0006741, 0x115f1: 0xe0005289, + 0x115f4: 0xe000a29d, 0x115f6: 0xe0005524, + 0x115fb: 0xe0008f65, + 0x115fd: 0xe000a341, + // Block 0x458, offset 0x11600 + 0x11606: 0xe00049ba, 0x11607: 0xe0007375, + 0x1160d: 0xe0005872, 0x1160e: 0xe0005075, + 0x11610: 0xe000492a, 0x11611: 0xe0004906, + 0x11614: 0xe00097ff, 0x11615: 0xe0007787, 0x11616: 0xe0007760, 0x11617: 0xe00043ac, + 0x11619: 0xe0005c78, 0x1161b: 0xe0004ddf, + 0x1161f: 0xe00083ca, + 0x11622: 0xe000884f, + 0x11624: 0xe000a760, 0x11626: 0xe000797f, 0x11627: 0xe0007379, + 0x11629: 0xe0006924, + 0x11634: 0xe0007e86, + 0x1163d: 0xe0008830, + // Block 0x459, offset 0x11640 + 0x11641: 0xe000434c, 0x11642: 0xe0005c98, + 0x1164b: 0xe00061f6, + 0x1164c: 0xe0004300, 0x1164e: 0xe0008038, + 0x11650: 0xe00057f7, 0x11653: 0xe00076f3, + 0x11654: 0xe0007e89, + 0x11669: 0xe000737d, + 0x1166c: 0xe0007e77, 0x1166f: 0xe0009254, + 0x11671: 0xe0007fa6, + // Block 0x45a, offset 0x11680 + 0x11681: 0xe0005c18, 0x11682: 0xe00087be, + 0x11684: 0xe0009357, 0x11687: 0xe0004c77, + 0x1168b: 0xe0005527, + 0x11692: 0xe0009049, + 0x11694: 0xe0004ff3, 0x11695: 0xe0009739, + 0x11699: 0xe0005d81, + 0x1169d: 0xe0005710, + 0x116a0: 0xe0004bd5, 0x116a2: 0xe0007eb3, + 0x116a7: 0xe00079ff, + 0x116aa: 0xe0007997, 0x116ab: 0xe000799f, + 0x116ae: 0xe000a26d, + 0x116b0: 0xe000a1c8, + 0x116b7: 0xe0008444, + 0x116b8: 0xe0007b4b, 0x116ba: 0xe0005a14, + 0x116bc: 0xe0006d86, 0x116bd: 0xe0007607, + // Block 0x45b, offset 0x116c0 + 0x116c9: 0xe000935b, 0x116cb: 0xe0004ed9, + 0x116cd: 0xe0007e7a, + 0x116d1: 0xe00092f7, 0x116d2: 0xe0005e33, 0x116d3: 0xe0008a19, + 0x116d6: 0xe00076d3, + 0x116da: 0xe000a255, + 0x116dd: 0xe000950c, 0x116de: 0xe0008eb0, + 0x116e1: 0xe00072d1, 0x116e2: 0xe000704e, + 0x116e5: 0xe000498a, 0x116e6: 0xe0008e77, 0x116e7: 0xe0004bd8, + 0x116e8: 0xe00044bb, 0x116eb: 0xe000613b, + 0x116ee: 0xe0009257, + 0x116f1: 0xe0005078, 0x116f2: 0xe0008468, 0x116f3: 0xe0006b0f, + 0x116f4: 0xe0009cd0, 0x116f5: 0xe00099f9, 0x116f7: 0xe000a14f, + 0x116f9: 0xe0004f9b, + 0x116fd: 0xe0007120, 0x116fe: 0xe0004518, + // Block 0x45c, offset 0x11700 + 0x11702: 0xe0007406, 0x11703: 0xe0009e77, + 0x11706: 0xe000654c, + 0x11709: 0xe00068b0, + 0x1170c: 0xe000a934, + 0x11711: 0xe0009bd8, + 0x11715: 0xe0005eb3, 0x11716: 0xe0009630, + 0x11719: 0xe00091bd, 0x1171a: 0xe000986b, 0x1171b: 0xe00064dc, + 0x1171d: 0xe0008c7d, + 0x11725: 0xe00071ad, + 0x11728: 0xe0007030, 0x1172b: 0xe0006b12, + 0x1172d: 0xe0006e00, + 0x11733: 0xe000873e, + 0x11736: 0xe00054d0, 0x11737: 0xe00082a5, + 0x11738: 0xe0006cc8, + 0x1173d: 0xe000603f, 0x1173f: 0xe000a787, + // Block 0x45d, offset 0x11740 + 0x11740: 0xe0008b69, 0x11743: 0xe00081e8, + 0x11744: 0xe000760b, 0x11745: 0xe0009ed7, 0x11747: 0xe00063fc, + 0x1174c: 0xe000a640, 0x1174e: 0xe0005f98, + 0x11754: 0xe0005e7b, 0x11755: 0xe0005e0b, + 0x11758: 0xe0009471, + 0x1175e: 0xe0006709, 0x1175f: 0xe00099b4, + 0x11761: 0xe00064f8, 0x11762: 0xe000545a, 0x11763: 0xe0009e3e, + 0x11768: 0xe0009608, 0x1176a: 0xe00060e0, 0x1176b: 0xe0006460, + 0x1176c: 0xe0008f13, + 0x11770: 0xe000a259, 0x11771: 0xe00057cf, 0x11772: 0xe000423c, 0x11773: 0xe0009e10, + 0x11774: 0xe0005239, 0x11777: 0xe0006628, + 0x11778: 0xe000a1fa, 0x11779: 0xe0004240, 0x1177a: 0xe0007f01, 0x1177b: 0xe000a5c0, + 0x1177c: 0xe0008227, 0x1177d: 0xe000822a, 0x1177e: 0xe000507b, 0x1177f: 0xe0007983, + // Block 0x45e, offset 0x11780 + 0x11784: 0xe0008742, 0x11787: 0xe000695d, + 0x1178a: 0xe0006ccc, 0x1178b: 0xe0005117, + 0x1178f: 0xe0006d89, + 0x11795: 0xe000886e, 0x11796: 0xe0009eb6, 0x11797: 0xe0008add, + 0x1179a: 0xe00046bd, + 0x1179c: 0xe00067b3, + 0x117a0: 0xe0006cd0, + 0x117a6: 0xe000552a, 0x117a7: 0xe0008e7a, + 0x117ab: 0xe000481d, + 0x117ad: 0xe0008b6d, + 0x117b3: 0xe00069db, + 0x117b5: 0xe00076d7, 0x117b6: 0xe0006d8c, 0x117b7: 0xe00043b0, + 0x117b8: 0xe0007f5e, + 0x117bd: 0xe000803b, 0x117be: 0xe000822d, + // Block 0x45f, offset 0x117c0 + 0x117c1: 0xe000999c, 0x117c2: 0xe0006cd4, + 0x117c8: 0xe0009ff9, 0x117c9: 0xe00059d8, 0x117ca: 0xe0005837, 0x117cb: 0xe000724c, + 0x117d0: 0xe0004c7a, 0x117d1: 0xe0004f9f, 0x117d3: 0xe0004a35, + 0x117d5: 0xe00083ce, 0x117d6: 0xe0005ba4, + 0x117da: 0xe0008eb3, 0x117db: 0xe0008995, + 0x117dd: 0xe0007451, 0x117de: 0xe000a8f7, 0x117df: 0xe0006111, + 0x117e0: 0xe00093a3, 0x117e1: 0xe0006180, 0x117e2: 0xe0009e41, 0x117e3: 0xe0004b0d, + 0x117e5: 0xe0004b90, 0x117e7: 0xe00087c2, + 0x117e8: 0xe000a1cb, 0x117e9: 0xe0005cc0, + 0x117ec: 0xe00058e9, + 0x117f1: 0xe0007d86, 0x117f3: 0xe0009664, + 0x117f6: 0xe0007a23, 0x117f7: 0xe0008b71, + 0x117fa: 0xe000451c, 0x117fb: 0xe000a6be, + 0x117ff: 0xe00085ba, + // Block 0x460, offset 0x11800 + 0x11801: 0xe00065c8, 0x11803: 0xe000511a, + 0x11804: 0xe0005b2e, 0x11807: 0xe0004350, + 0x11808: 0xe000a289, 0x1180a: 0xe0009e44, 0x1180b: 0xe00084da, + 0x1180f: 0xe000747d, + 0x11811: 0xe0007409, 0x11813: 0xe0004def, + 0x11814: 0xe0008cf8, 0x11815: 0xe0008506, 0x11817: 0xe00068f8, + 0x11818: 0xe000a515, 0x1181b: 0xe000846b, + 0x1181f: 0xe0008c80, + 0x11822: 0xe000558a, + 0x11825: 0xe0006232, 0x11826: 0xe000a2a1, 0x11827: 0xe000a42d, + 0x11829: 0xe0005277, + 0x1182d: 0xe0006235, + 0x11831: 0xe0007821, + 0x11834: 0xe0005615, 0x11835: 0xe0008746, + 0x1183a: 0xe00043b4, + 0x1183c: 0xe0009f8d, + // Block 0x461, offset 0x11840 + 0x11840: 0xe0004d19, + 0x11846: 0xe0006610, + 0x11848: 0xe0009b64, 0x1184a: 0xe00043b8, + 0x1184c: 0xe00061f9, 0x1184e: 0xe0005e37, + 0x11854: 0xe0005b0e, 0x11856: 0xe0005342, 0x11857: 0xe000a3e8, + 0x11858: 0xe00096b2, 0x11859: 0xe000a833, 0x1185b: 0xe000846e, + 0x1185d: 0xe00084aa, + 0x11862: 0xe000a391, + 0x11864: 0xe0005689, 0x11866: 0xe000792f, 0x11867: 0xe0008066, + 0x11869: 0xe000943f, 0x1186a: 0xe0009ef1, 0x1186b: 0xe0008cfb, + 0x1186c: 0xe0006a4f, 0x1186d: 0xe0009d90, + 0x11870: 0xe00093a7, 0x11871: 0xe0007b4f, + 0x11877: 0xe0006400, + 0x11879: 0xe00079e3, + 0x1187c: 0xe0009f64, 0x1187f: 0xe00068fc, + // Block 0x462, offset 0x11880 + 0x11880: 0xe0007e45, 0x11881: 0xe0008b75, 0x11882: 0xe0008d88, + 0x11885: 0xe00054d3, 0x11887: 0xe00072d5, + 0x11888: 0xe000a8af, 0x11889: 0xe00078b9, 0x1188a: 0xe000a6c1, 0x1188b: 0xe0005c8c, + 0x1188c: 0xe000a78a, + 0x11890: 0xe0006d8f, 0x11891: 0xe00046c1, 0x11892: 0xe000552d, + 0x11897: 0xe000570c, + 0x11898: 0xe0006495, 0x11899: 0xe0006b15, + 0x1189c: 0xe0006d20, 0x1189e: 0xe0008e0d, + 0x118a0: 0xe0005875, 0x118a1: 0xe00078e8, 0x118a3: 0xe000927b, + 0x118a7: 0xe0009de0, + 0x118a8: 0xe000a644, 0x118a9: 0xe00066d5, 0x118aa: 0xe00072d9, + 0x118ac: 0xe0006464, 0x118ad: 0xe0007f04, 0x118ae: 0xe00061fc, 0x118af: 0xe000a409, + 0x118b5: 0xe0009229, 0x118b7: 0xe0005504, + 0x118b9: 0xe000959c, + 0x118bc: 0xe0007f07, 0x118bd: 0xe000a836, + // Block 0x463, offset 0x118c0 + 0x118c3: 0xe0007561, + 0x118c5: 0xe0009f91, + 0x118c9: 0xe000558d, + 0x118cc: 0xe000507e, 0x118cd: 0xe000850a, + 0x118d0: 0xe0009bb4, 0x118d2: 0xe0009cc2, + 0x118d6: 0xe00097ac, 0x118d7: 0xe0009064, + 0x118d8: 0xe0005ec3, 0x118d9: 0xe0005ec7, + 0x118dd: 0xe000960c, 0x118de: 0xe0006284, 0x118df: 0xe0006288, + 0x118e0: 0xe000991a, 0x118e1: 0xe0009932, + 0x118e4: 0xe0007cc7, + 0x118e8: 0xe0007e31, 0x118eb: 0xe0009aa2, + 0x118ed: 0xe00065dc, 0x118ee: 0xe000511d, + 0x118f1: 0xe0009a7e, + 0x118f5: 0xe0005249, + 0x118f8: 0xe00052eb, 0x118fb: 0xe000a8b3, + 0x118fc: 0xe0004408, 0x118fd: 0xe000a501, 0x118ff: 0xe0006874, + // Block 0x464, offset 0x11900 + 0x1190a: 0xe000973c, + 0x1190d: 0xe00086a6, 0x1190f: 0xe000772f, + 0x11912: 0xe000527a, + 0x11914: 0xe0008c35, 0x11915: 0xe0009d03, 0x11916: 0xe0009e7a, 0x11917: 0xe000965c, + 0x11919: 0xe000a4a2, 0x1191b: 0xe00053b6, + 0x1191c: 0xe0005a18, 0x1191d: 0xe0006b18, + 0x11920: 0xe0009bfd, 0x11921: 0xe0008471, + 0x11925: 0xe0005007, 0x11926: 0xe0009e20, 0x11927: 0xe0006fd4, + 0x11928: 0xe000810a, 0x11929: 0xe0005302, 0x1192a: 0xe0004b7e, + 0x1192f: 0xe0004598, + 0x11933: 0xe000a6a4, + // Block 0x465, offset 0x11940 + 0x11941: 0xe0008592, 0x11942: 0xe00072dd, 0x11943: 0xe000740c, + 0x11946: 0xe000a17f, 0x11947: 0xe0004b31, + 0x11948: 0xe0006087, 0x1194a: 0xe000a371, + 0x1194d: 0xe000a648, + 0x11950: 0xe000498e, 0x11952: 0xe000a153, + 0x11955: 0xe0006d92, + 0x11959: 0xe0007869, 0x1195a: 0xe00079a7, + 0x1195d: 0xe0004ad9, 0x1195f: 0xe000a893, + 0x11960: 0xe0004b93, 0x11962: 0xe000a6c4, 0x11963: 0xe00085ea, + 0x11964: 0xe000a86f, 0x11965: 0xe00099b7, + 0x11968: 0xe000a05f, 0x11969: 0xe000835a, 0x1196a: 0xe00041f0, 0x1196b: 0xe0009c7a, + 0x1196c: 0xe000524d, 0x1196d: 0xe0004992, 0x1196f: 0xe0007481, + 0x11970: 0xe000a8ff, + // Block 0x466, offset 0x11980 + 0x11981: 0xe0007a93, 0x11983: 0xe000492e, + 0x11984: 0xe000973f, 0x11985: 0xe0007abf, + 0x11989: 0xe000754d, 0x1198b: 0xe0005d85, + 0x1198c: 0xe0008c83, 0x1198d: 0xe000a063, 0x1198f: 0xe000a375, + 0x11992: 0xe00083e6, + 0x11994: 0xe000a6c7, 0x11995: 0xe000a964, 0x11996: 0xe0009d66, 0x11997: 0xe00061c9, + 0x1199a: 0xe000714c, 0x1199b: 0xe0008999, + 0x1199f: 0xe0007c7f, + 0x119a0: 0xe0008230, 0x119a2: 0xe00058c9, 0x119a3: 0xe000a5c4, + 0x119a4: 0xe00097c8, 0x119a7: 0xe0005cfa, + 0x119b0: 0xe0008e11, 0x119b1: 0xe00069de, 0x119b2: 0xe0006960, 0x119b3: 0xe0005508, + 0x119b4: 0xe000993a, 0x119b5: 0xe00093f7, 0x119b6: 0xe0006254, + 0x119b8: 0xe00047ab, 0x119bb: 0xe000a20a, + 0x119bc: 0xe0005530, 0x119bd: 0xe000948b, 0x119be: 0xe00049be, + // Block 0x467, offset 0x119c0 + 0x119c4: 0xe0005235, 0x119c5: 0xe0008b79, 0x119c6: 0xe000986e, 0x119c7: 0xe00055f1, + 0x119c9: 0xe0009610, 0x119cb: 0xe0007e35, + 0x119cf: 0xe0005823, + 0x119d1: 0xe000a4c9, 0x119d3: 0xe0004e33, + 0x119d5: 0xe00094e4, + 0x119d8: 0xe0005eeb, 0x119d9: 0xe00095c4, 0x119da: 0xe000a505, 0x119db: 0xe000a4f1, + 0x119dc: 0xe0006e04, 0x119dd: 0xe00093fb, 0x119df: 0xe0008233, + 0x119e0: 0xe000a3eb, 0x119e1: 0xe000760f, 0x119e2: 0xe0007180, + 0x119f0: 0xe0009aba, 0x119f1: 0xe00052b1, 0x119f2: 0xe00080ba, 0x119f3: 0xe0006cd8, + 0x119f4: 0xe0009946, 0x119f6: 0xe000a64c, 0x119f7: 0xe0008fa9, + 0x119f8: 0xe0004755, 0x119f9: 0xe000780c, 0x119fa: 0xe0006fd8, 0x119fb: 0xe0009994, + 0x119fc: 0xe0009de4, + // Block 0x468, offset 0x11a00 + 0x11a00: 0xe0009742, 0x11a01: 0xe00071b0, 0x11a03: 0xe0006ee4, + 0x11a06: 0xe0004520, + 0x11a08: 0xe0008236, 0x11a09: 0xe0008239, + 0x11a0d: 0xe0006258, 0x11a0e: 0xe0009db0, 0x11a0f: 0xe000840e, + 0x11a14: 0xe00083d2, 0x11a15: 0xe0007613, + 0x11a1a: 0xe0007fe4, 0x11a1b: 0xe0007763, + 0x11a1c: 0xe000a379, 0x11a1f: 0xe0004304, + 0x11a27: 0xe0004b81, + 0x11a2c: 0xe00070bd, 0x11a2d: 0xe0005120, + 0x11a30: 0xe000a650, + 0x11a34: 0xe00093ab, 0x11a37: 0xe000444f, + 0x11a3c: 0xe00074d5, 0x11a3e: 0xe0004452, 0x11a3f: 0xe000810e, + // Block 0x469, offset 0x11a40 + 0x11a42: 0xe0007f62, + 0x11a44: 0xe0005c90, 0x11a46: 0xe0005590, 0x11a47: 0xe000835e, + 0x11a48: 0xe00085ed, 0x11a4a: 0xe000465d, 0x11a4b: 0xe0009c00, + 0x11a4c: 0xe000a654, 0x11a4d: 0xe0007d2a, + 0x11a52: 0xe0008e4d, 0x11a53: 0xe0009ef4, + 0x11a55: 0xe0006042, + 0x11a58: 0xe0009333, 0x11a59: 0xe0009337, 0x11a5a: 0xe000935f, + 0x11a5d: 0xe0009cba, 0x11a5f: 0xe0009c62, + 0x11a60: 0xe0007cca, 0x11a62: 0xe0005e3b, 0x11a63: 0xe0004a65, + 0x11a64: 0xe00041f4, 0x11a67: 0xe000a3ee, + 0x11a68: 0xe0004455, 0x11a6b: 0xe0008e15, + 0x11a6e: 0xe00058ec, + 0x11a70: 0xe00081b2, 0x11a71: 0xe000537a, 0x11a73: 0xe000428c, + 0x11a74: 0xe00073b2, 0x11a75: 0xe0007faa, 0x11a76: 0xe00046c5, 0x11a77: 0xe00043bc, + 0x11a7a: 0xe0005c1b, + 0x11a7d: 0xe00094ac, 0x11a7e: 0xe0007f22, + // Block 0x46a, offset 0x11a80 + 0x11a81: 0xe00097cc, 0x11a82: 0xe0007fe7, 0x11a83: 0xe0007fae, + 0x11a8a: 0xe0006963, + 0x11a8d: 0xe0004c23, 0x11a8e: 0xe0009021, + 0x11a90: 0xe0005968, 0x11a91: 0xe0006ab3, 0x11a92: 0xe0004e79, + 0x11a94: 0xe00096d9, 0x11a96: 0xe0008382, + 0x11a98: 0xe000a93a, 0x11a99: 0xe000a937, 0x11a9a: 0xe0009b68, + 0x11aa4: 0xe0006878, 0x11aa7: 0xe0005645, + 0x11aa8: 0xe0004354, 0x11aa9: 0xe00045ab, 0x11aab: 0xe000625c, + 0x11aac: 0xe00046c9, 0x11aae: 0xe000613e, 0x11aaf: 0xe0009363, + 0x11ab2: 0xe000a245, + 0x11ab6: 0xe0007913, + 0x11ab8: 0xe0006f88, 0x11aba: 0xe00053ce, 0x11abb: 0xe0009b80, + 0x11abc: 0xe0004759, 0x11abe: 0xe0004308, + // Block 0x46b, offset 0x11ac0 + 0x11ac3: 0xe0004f5f, + 0x11ac6: 0xe0008d8b, 0x11ac7: 0xe0004244, + 0x11ac8: 0xe000a1a4, 0x11ac9: 0xe00083f6, 0x11aca: 0xe0007c82, 0x11acb: 0xe0006141, + 0x11acc: 0xe0007a03, + 0x11ad5: 0xe0007b03, 0x11ad7: 0xe000a020, + 0x11ade: 0xe00060e4, 0x11adf: 0xe00054f1, + 0x11ae3: 0xe00061cd, + 0x11ae6: 0xe00051a1, + 0x11af2: 0xe000922d, + 0x11af6: 0xe0005757, 0x11af7: 0xe000a6ca, + 0x11af8: 0xe000a2a5, 0x11afa: 0xe000933b, + 0x11afc: 0xe0004c7d, 0x11afd: 0xe000a5f8, 0x11afe: 0xe0006fb0, 0x11aff: 0xe0008411, + // Block 0x46c, offset 0x11b00 + 0x11b00: 0xe000596c, + 0x11b07: 0xe000545e, + 0x11b08: 0xe00049ed, 0x11b0a: 0xe0006144, + 0x11b0c: 0xe0007361, 0x11b0d: 0xe00071b3, 0x11b0e: 0xe0008342, + 0x11b10: 0xe0006fdc, 0x11b11: 0xe00075ba, 0x11b12: 0xe00047ae, + 0x11b14: 0xe00086da, 0x11b15: 0xe00087c6, 0x11b16: 0xe000a4cd, + 0x11b1a: 0xe00094b0, + 0x11b1e: 0xe00076af, 0x11b1f: 0xe0004f33, + 0x11b21: 0xe000430c, 0x11b22: 0xe0009225, + 0x11b27: 0xe00093ff, + 0x11b29: 0xe0008a1d, 0x11b2a: 0xe0008aad, + 0x11b2e: 0xe0005c64, + 0x11b30: 0xe000899d, 0x11b31: 0xe000a93d, 0x11b32: 0xe000a967, 0x11b33: 0xe00092a3, + 0x11b34: 0xe00054d6, 0x11b35: 0xe0004d1c, 0x11b36: 0xe000a430, + 0x11b39: 0xe00077d4, + 0x11b3e: 0xe00058ef, 0x11b3f: 0xe0006404, + // Block 0x46d, offset 0x11b40 + 0x11b40: 0xe0007051, 0x11b41: 0xe0009dbc, 0x11b43: 0xe000475d, + 0x11b47: 0xe0006e68, + 0x11b48: 0xe000a433, 0x11b49: 0xe0006966, 0x11b4a: 0xe0007b07, 0x11b4b: 0xe00071b6, + 0x11b4d: 0xe0008806, 0x11b4e: 0xe000931f, + 0x11b51: 0xe000670d, 0x11b52: 0xe00064cb, 0x11b53: 0xe0009abd, + 0x11b57: 0xe0008833, + 0x11b58: 0xe0009b0c, 0x11b5b: 0xe000440c, + 0x11b63: 0xe0004d1f, + 0x11b68: 0xe000853a, + 0x11b6e: 0xe000687c, + 0x11b71: 0xe000500b, 0x11b73: 0xe000638c, + 0x11b76: 0xe00067b6, + 0x11b79: 0xe0006969, 0x11b7a: 0xe00090be, + 0x11b7c: 0xe00077b8, 0x11b7e: 0xe0008d8e, 0x11b7f: 0xe00073d2, + // Block 0x46e, offset 0x11b80 + 0x11b80: 0xe0005081, 0x11b83: 0xe00065e0, + 0x11b84: 0xe00096dc, 0x11b86: 0xe00061d1, + 0x11b89: 0xe0004635, 0x11b8a: 0xe0009cd3, + 0x11b91: 0xe0007917, 0x11b92: 0xe0006d95, + 0x11b94: 0xe0006810, 0x11b95: 0xe0009ca4, 0x11b96: 0xe00056d3, 0x11b97: 0xe000a157, + 0x11b98: 0xe0008ab1, 0x11b9b: 0xe0009e7d, + 0x11ba8: 0xe0009e24, 0x11bab: 0xe0009f67, + 0x11bac: 0xe0009c27, + 0x11bb1: 0xe0009e80, + 0x11bb5: 0xe0008871, + 0x11bb9: 0xe0005e9b, + 0x11bbc: 0xe000771b, 0x11bbd: 0xe0009820, + // Block 0x46f, offset 0x11bc0 + 0x11bc2: 0xe0006900, + 0x11bc4: 0xe0008f16, 0x11bc5: 0xe000537e, 0x11bc6: 0xe0009b34, 0x11bc7: 0xe0006147, + 0x11bc8: 0xe0005251, 0x11bc9: 0xe0005827, 0x11bca: 0xe0006813, + 0x11bcc: 0xe0006334, 0x11bcd: 0xe00062c8, 0x11bcf: 0xe00051a4, + 0x11bd0: 0xe0004b84, 0x11bd1: 0xe000467d, 0x11bd2: 0xe00044be, 0x11bd3: 0xe00094b4, + 0x11bd4: 0xe00063ac, 0x11bd5: 0xe0009adb, 0x11bd6: 0xe0009ac0, 0x11bd7: 0xe0007eb6, + 0x11bd8: 0xe0004c80, 0x11bd9: 0xe0008dfd, 0x11bdb: 0xe00096df, + 0x11bdc: 0xe0006498, + 0x11bec: 0xe0004add, 0x11bed: 0xe0007485, 0x11bee: 0xe0005183, 0x11bef: 0xe0009029, + 0x11bf1: 0xe0004996, 0x11bf3: 0xe0004e1b, + 0x11bf5: 0xe0008df5, 0x11bf6: 0xe0009323, 0x11bf7: 0xe0004820, + 0x11bfd: 0xe0007c25, 0x11bfe: 0xe00073a2, 0x11bff: 0xe00051a7, + // Block 0x470, offset 0x11c00 + 0x11c01: 0xe0009067, 0x11c02: 0xe0004b69, + 0x11c07: 0xe000906a, + 0x11c09: 0xe000766b, + 0x11c0c: 0xe00045cd, + 0x11c10: 0xe00051ad, 0x11c11: 0xe0005533, 0x11c12: 0xe00059cc, + 0x11c28: 0xe000778a, 0x11c2a: 0xe00051b0, 0x11c2b: 0xe0008e7d, + 0x11c2f: 0xe0009109, + 0x11c39: 0xe00083ea, 0x11c3a: 0xe0008b7d, 0x11c3b: 0xe0007a2b, + 0x11c3d: 0xe0005e3f, 0x11c3e: 0xe000a345, + // Block 0x471, offset 0x11c40 + 0x11c42: 0xe0007ccd, 0x11c43: 0xe0004dbf, + 0x11c44: 0xe0004d22, 0x11c46: 0xe0004932, + 0x11c49: 0xe0009287, + 0x11c4c: 0xe0009d54, 0x11c4d: 0xe000a09f, 0x11c4e: 0xe00070c0, 0x11c4f: 0xe00051dc, + 0x11c50: 0xe0007a27, + 0x11c55: 0xe0009e83, 0x11c57: 0xe00094e8, + 0x11c67: 0xe0006745, + 0x11c68: 0xe0006b1b, 0x11c69: 0xe00059d0, 0x11c6b: 0xe00061d5, + 0x11c6e: 0xe00044c1, + 0x11c71: 0xe000778d, 0x11c72: 0xe0004e1f, + 0x11c76: 0xe0009871, 0x11c77: 0xe0009634, + 0x11c7a: 0xe00051e0, 0x11c7b: 0xe0005255, + 0x11c7f: 0xe0006d98, + // Block 0x472, offset 0x11c80 + 0x11c80: 0xe000a8b7, 0x11c83: 0xe0007054, + 0x11c84: 0xe0005c88, 0x11c87: 0xe00095c8, + 0x11c88: 0xe00071b9, 0x11c89: 0xe0005536, 0x11c8a: 0xe0006816, + 0x11c8c: 0xe000874a, 0x11c8e: 0xe0005123, 0x11c8f: 0xe0005593, + 0x11c92: 0xe000649b, + 0x11c96: 0xe00077bc, + 0x11c98: 0xe0004dd3, 0x11c9b: 0xe0004b60, + 0x11c9c: 0xe0007c28, 0x11c9f: 0xe0008c39, + 0x11ca0: 0xe0005885, 0x11ca1: 0xe0009442, 0x11ca2: 0xe0009ba0, + 0x11ca5: 0xe0008b25, 0x11ca7: 0xe000499a, + 0x11ca8: 0xe0009823, 0x11ca9: 0xe0007977, 0x11caa: 0xe0008cfe, + 0x11cac: 0xe0004d9b, + 0x11cbe: 0xe0007a97, + // Block 0x473, offset 0x11cc0 + 0x11cc0: 0xe0004248, 0x11cc3: 0xe0008a21, + 0x11cc4: 0xe000823c, 0x11cc6: 0xe0004eac, + 0x11cc9: 0xe00082a8, + 0x11ccf: 0xe0006114, + 0x11cd0: 0xe0008c86, + 0x11cd6: 0xe00083da, + 0x11cda: 0xe000786d, 0x11cdb: 0xe000a5c8, + 0x11cdf: 0xe0006de0, + 0x11ce0: 0xe00076b3, 0x11ce1: 0xe0007617, 0x11ce3: 0xe0009949, + 0x11ce9: 0xe000447f, 0x11ceb: 0xe0009874, + 0x11ced: 0xe00045ae, 0x11cee: 0xe000a839, + 0x11cf2: 0xe0006f4c, + 0x11cf4: 0xe0008112, 0x11cf5: 0xe000453c, 0x11cf6: 0xe000780f, 0x11cf7: 0xe0006c74, + // Block 0x474, offset 0x11d00 + 0x11d06: 0xe0004d25, + 0x11d09: 0xe000421c, + 0x11d0d: 0xe0007124, 0x11d0f: 0xe00062cc, + 0x11d12: 0xe0006468, + 0x11d14: 0xe0007057, 0x11d16: 0xe0007eb9, 0x11d17: 0xe0005539, + 0x11d1c: 0xe00071bc, + 0x11d22: 0xe000910d, + 0x11d24: 0xe00077d8, 0x11d25: 0xe0009877, + 0x11d28: 0xe0009bd0, 0x11d2a: 0xe0005486, 0x11d2b: 0xe0006390, + 0x11d2c: 0xe0006338, 0x11d2d: 0xe0009bc0, 0x11d2f: 0xe0005596, + 0x11d30: 0xe0004966, + 0x11d36: 0xe0009403, + 0x11d3a: 0xe000a854, + 0x11d3e: 0xe000928b, + // Block 0x475, offset 0x11d40 + 0x11d58: 0xe00088f9, + 0x11d60: 0xe00097d0, + 0x11d67: 0xe0009808, + 0x11d69: 0xe0005ddd, + 0x11d6d: 0xe00094ec, 0x11d6f: 0xe000906d, + 0x11d73: 0xe0004d28, + 0x11d78: 0xe0006045, 0x11d79: 0xe0006048, 0x11d7a: 0xe0008b29, 0x11d7b: 0xe0006f8c, + 0x11d7d: 0xe0009f21, + // Block 0x476, offset 0x11d80 + 0x11d85: 0xe0004e7c, + 0x11d88: 0xe0005a94, + 0x11d90: 0xe0009c3f, 0x11d91: 0xe0009c3b, 0x11d92: 0xe0006c3c, 0x11d93: 0xe0007ebc, + 0x11d95: 0xe0006de3, + 0x11d99: 0xe0008fad, 0x11d9a: 0xe000523d, + 0x11d9d: 0xe000a84b, 0x11d9e: 0xe0005462, 0x11d9f: 0xe0004c26, + 0x11da4: 0xe00095a0, 0x11da5: 0xe00063b0, + 0x11da9: 0xe0005bc5, 0x11dab: 0xe000614a, + 0x11dad: 0xe0009cd6, 0x11dae: 0xe00097f8, + 0x11db0: 0xe00092af, 0x11db2: 0xe00062d0, + 0x11dbb: 0xe000539e, + 0x11dbc: 0xe0004358, 0x11dbe: 0xe0004a1a, 0x11dbf: 0xe000458c, + // Block 0x477, offset 0x11dc0 + 0x11dc1: 0xe0007d62, + 0x11dc4: 0xe0005a97, 0x11dc5: 0xe0009510, 0x11dc7: 0xe0009c33, + 0x11dc9: 0xe00092a7, 0x11dca: 0xe00045b1, + 0x11dcd: 0xe0008d01, 0x11dce: 0xe00046cd, + 0x11dd0: 0xe000a5fc, 0x11dd2: 0xe0004fbf, + 0x11dd4: 0xe00053d2, 0x11dd5: 0xe000a863, 0x11dd7: 0xe00065ac, + 0x11dd8: 0xe000658c, 0x11dda: 0xe00044c4, + 0x11de0: 0xe0008cbc, 0x11de1: 0xe00054d9, 0x11de2: 0xe0009b10, 0x11de3: 0xe0005599, + 0x11de5: 0xe00057fb, 0x11de6: 0xe0009313, 0x11de7: 0xe00044c7, + 0x11dec: 0xe0008414, 0x11ded: 0xe000a580, 0x11def: 0xe0006a83, + 0x11df1: 0xe0004220, 0x11df2: 0xe00094b8, + 0x11df4: 0xe000a58c, + 0x11dfa: 0xe0009cd9, + 0x11dfe: 0xe0007ebf, + // Block 0x478, offset 0x11e00 + 0x11e00: 0xe000633c, 0x11e02: 0xe0005b7a, + 0x11e04: 0xe0009c47, 0x11e07: 0xe000a25d, + 0x11e0a: 0xe0005950, + 0x11e0f: 0xe0005b4a, + 0x11e14: 0xe00057d3, + 0x11e18: 0xe0007871, 0x11e19: 0xe0009367, + 0x11e1d: 0xe0006fa0, + 0x11e22: 0xe00092fb, 0x11e23: 0xe0005970, + 0x11e24: 0xe0009b84, + 0x11e2a: 0xe0004bdb, 0x11e2b: 0xe000a590, + 0x11e2c: 0xe00057ff, 0x11e2f: 0xe0009070, + 0x11e32: 0xe0005126, + 0x11e36: 0xe00071bf, 0x11e37: 0xe0004823, + 0x11e38: 0xe000823f, 0x11e39: 0xe0004458, 0x11e3b: 0xe000499e, + 0x11e3d: 0xe0006394, 0x11e3e: 0xe0006408, 0x11e3f: 0xe0008b81, + // Block 0x479, offset 0x11e40 + 0x11e45: 0xe0004826, + 0x11e48: 0xe000a73c, 0x11e49: 0xe0006238, + 0x11e4d: 0xe0006d9b, 0x11e4e: 0xe0004bde, 0x11e4f: 0xe0006260, + 0x11e51: 0xe0004c83, + 0x11e54: 0xe0007906, 0x11e55: 0xe0009a32, 0x11e56: 0xe0007c85, 0x11e57: 0xe0009d69, + 0x11e5d: 0xe0009e56, 0x11e5e: 0xe00093af, + 0x11e62: 0xe0004310, 0x11e63: 0xe0006be4, + 0x11e66: 0xe00055f5, + 0x11e6c: 0xe00046d1, 0x11e6d: 0xe0007875, + 0x11e72: 0xe0004829, + 0x11e74: 0xe0008b85, 0x11e75: 0xe00088fd, 0x11e77: 0xe00067b9, + 0x11e78: 0xe00071c2, + 0x11e7e: 0xe0006e6c, + // Block 0x47a, offset 0x11e80 + 0x11e81: 0xe00056d6, 0x11e82: 0xe00059dc, 0x11e83: 0xe0009e47, + 0x11e85: 0xe000a73f, 0x11e87: 0xe00061a5, + 0x11e8c: 0xe0006a53, + 0x11e90: 0xe000696c, 0x11e91: 0xe0006340, + 0x11e97: 0xe00056b8, + 0x11e99: 0xe0005ba7, 0x11e9b: 0xe00048d2, + 0x11e9c: 0xe0006b1e, 0x11e9d: 0xe00041c9, 0x11e9f: 0xe00091fd, + 0x11ea1: 0xe000769b, + 0x11ea4: 0xe0004f63, 0x11ea5: 0xe00094bc, 0x11ea7: 0xe00067bc, + 0x11eab: 0xe000867a, + 0x11eac: 0xe000933f, 0x11eaf: 0xe0006b21, + 0x11eb0: 0xe00074d9, 0x11eb1: 0xe00086aa, 0x11eb2: 0xe00092ab, + 0x11eb7: 0xe0005346, + 0x11eb9: 0xe000640c, + 0x11ebc: 0xe00078eb, 0x11ebd: 0xe000740f, 0x11ebf: 0xe00082ab, + // Block 0x47b, offset 0x11ec0 + 0x11ec1: 0xe0006410, 0x11ec2: 0xe0005129, 0x11ec3: 0xe0008a25, + 0x11ec4: 0xe000608a, 0x11ec5: 0xe00058f2, 0x11ec6: 0xe0009d84, + 0x11eca: 0xe000646c, 0x11ecb: 0xe0006e70, + 0x11ecc: 0xe0008b89, 0x11ecf: 0xe0008dd9, + 0x11ed2: 0xe0005c2a, + 0x11ed7: 0xe0005084, + 0x11ee0: 0xe000614d, 0x11ee3: 0xe0005087, + 0x11ee5: 0xe0008566, 0x11ee6: 0xe000534a, + 0x11ee8: 0xe0009073, 0x11ee9: 0xe0008d04, + 0x11eec: 0xe00072e1, 0x11eed: 0xe000806a, + 0x11ef1: 0xe000a067, 0x11ef2: 0xe00054f4, + 0x11ef4: 0xe0007fea, + 0x11efa: 0xe0007e49, 0x11efb: 0xe0006264, + 0x11efc: 0xe0006268, 0x11efd: 0xe00055f9, 0x11eff: 0xe0007c88, + // Block 0x47c, offset 0x11f00 + 0x11f00: 0xe000832e, 0x11f03: 0xe00099a0, + 0x11f06: 0xe000490a, 0x11f07: 0xe00073d6, + 0x11f09: 0xe0006414, 0x11f0a: 0xe000a436, + 0x11f0c: 0xe00093b3, 0x11f0e: 0xe0005ffc, 0x11f0f: 0xe000a4d9, + 0x11f10: 0xe0006880, 0x11f11: 0xe0004fc3, 0x11f13: 0xe00079e7, + 0x11f14: 0xe0006e08, 0x11f15: 0xe000a89f, + 0x11f1b: 0xe00044e5, + 0x11f1e: 0xe000662c, 0x11f1f: 0xe0006fe0, + 0x11f20: 0xe0007b53, 0x11f21: 0xe000a2f1, + 0x11f24: 0xe0005a58, 0x11f25: 0xe00098fa, 0x11f27: 0xe0005f0f, + 0x11f28: 0xe000867e, 0x11f2b: 0xe0004d2b, + 0x11f2d: 0xe000705a, 0x11f2f: 0xe0007412, + 0x11f30: 0xe0009ffc, 0x11f31: 0xe000806e, + 0x11f34: 0xe0006117, 0x11f35: 0xe0005319, 0x11f36: 0xe00093b7, 0x11f37: 0xe0007d2e, + 0x11f3a: 0xe0006630, 0x11f3b: 0xe0007733, + // Block 0x47d, offset 0x11f40 + 0x11f41: 0xe0008d07, 0x11f42: 0xe0007415, 0x11f43: 0xe000a658, + 0x11f44: 0xe000a65c, + 0x11f48: 0xe0004c29, 0x11f49: 0xe0009111, 0x11f4b: 0xe0009115, + 0x11f4c: 0xe0006d24, 0x11f4e: 0xe000a539, 0x11f4f: 0xe000766f, + 0x11f59: 0xe0008f69, 0x11f5b: 0xe000a2a9, + 0x11f5d: 0xe0008eb6, 0x11f5e: 0xe000a940, 0x11f5f: 0xe0006fe4, + 0x11f61: 0xe0009eb9, 0x11f62: 0xe0008acd, + 0x11f64: 0xe0007c8b, 0x11f65: 0xe000a5d0, 0x11f66: 0xe000a6cd, 0x11f67: 0xe000a439, + 0x11f68: 0xe00074dd, 0x11f69: 0xe0005e43, 0x11f6b: 0xe0009b14, + 0x11f6c: 0xe000724f, 0x11f6e: 0xe0006688, 0x11f6f: 0xe00046d5, + 0x11f70: 0xe0006e34, 0x11f73: 0xe0006e0c, + 0x11f74: 0xe0009668, 0x11f76: 0xe0008b8d, 0x11f77: 0xe0004e97, + 0x11f78: 0xe0008b91, 0x11f7a: 0xe0009076, 0x11f7b: 0xe00076f7, + // Block 0x47e, offset 0x11f80 + 0x11f84: 0xe000a806, 0x11f87: 0xe0004181, + 0x11f88: 0xe000a7de, 0x11f89: 0xe000a83c, 0x11f8b: 0xe000628c, + 0x11f8c: 0xe0004edc, 0x11f8e: 0xe0007b57, + 0x11f90: 0xe00081b5, 0x11f91: 0xe0006d9e, + 0x11f96: 0xe00051c0, 0x11f97: 0xe00076db, + 0x11f98: 0xe0007879, + 0x11f9d: 0xe0006000, 0x11f9e: 0xe0004c2c, + 0x11fa0: 0xe000482c, 0x11fa2: 0xe00093bb, 0x11fa3: 0xe000512c, + 0x11fab: 0xe00086e6, + 0x11fac: 0xe0006f50, 0x11fae: 0xe000604b, + 0x11fb1: 0xe000531d, 0x11fb2: 0xe000874e, 0x11fb3: 0xe000a3f1, + 0x11fb4: 0xe0009edb, 0x11fb5: 0xe000a0a3, + 0x11fb8: 0xe0005bc8, 0x11fb9: 0xe0006f68, 0x11fbb: 0xe00046d9, + 0x11fbe: 0xe00055fd, 0x11fbf: 0xe000a96a, + // Block 0x47f, offset 0x11fc0 + 0x11fc0: 0xe00079aa, 0x11fc1: 0xe000512f, + 0x11fc4: 0xe0007b2b, 0x11fc5: 0xe0007b37, 0x11fc6: 0xe0005938, 0x11fc7: 0xe00053d6, + 0x11fc9: 0xe000a742, + 0x11fd3: 0xe0009ebc, + 0x11fd6: 0xe0007766, + 0x11fd9: 0xe0006da1, 0x11fda: 0xe00060e8, 0x11fdb: 0xe000a7e2, + 0x11fdc: 0xe0007ec2, 0x11fdd: 0xe0009edf, + 0x11fe0: 0xe0004b11, 0x11fe3: 0xe0007a9b, + 0x11fe6: 0xe000a943, + 0x11fe8: 0xe0005b4e, 0x11fe9: 0xe0005210, 0x11fea: 0xe0005772, + 0x11fec: 0xe0007183, 0x11fee: 0xe0007987, 0x11fef: 0xe0009790, + 0x11ff0: 0xe0007e41, 0x11ff2: 0xe00048d6, 0x11ff3: 0xe0007bef, + 0x11ff4: 0xe00046dd, 0x11ff7: 0xe00042bc, + 0x11ff8: 0xe0006da4, 0x11ff9: 0xe0008d0d, 0x11ffa: 0xe0008d0a, + 0x11ffc: 0xe0005e47, 0x11ffe: 0xe0009025, 0x11fff: 0xe0009697, + // Block 0x480, offset 0x12000 + 0x12000: 0xe0009802, 0x12003: 0xe000a6d0, + 0x12005: 0xe0004568, + 0x12008: 0xe0008186, 0x12009: 0xe0008242, 0x1200b: 0xe0006928, + 0x1200c: 0xe0006398, 0x1200d: 0xe00066d9, + 0x12014: 0xe0006bc4, 0x12015: 0xe0009201, 0x12017: 0xe000583b, + 0x1201b: 0xe0005ecb, + 0x1201d: 0xe0008d10, 0x1201e: 0xe000508a, 0x1201f: 0xe000508d, + 0x12023: 0xe000568d, + 0x12026: 0xe00060d8, 0x12027: 0xe0005b32, + 0x12028: 0xe00060a8, 0x1202a: 0xe00061ff, 0x1202b: 0xe0005e9f, + 0x1202c: 0xe0006729, 0x1202d: 0xe0009317, 0x1202e: 0xe000990a, + 0x12031: 0xe0008eb9, 0x12033: 0xe0009d58, + 0x12034: 0xe00062d4, 0x12036: 0xe0009ac3, + 0x1203a: 0xe0004e5b, + 0x1203d: 0xe000a78d, + // Block 0x481, offset 0x12040 + 0x12045: 0xe000803e, 0x12046: 0xe000424c, + 0x12049: 0xe0006c50, + 0x1204e: 0xe0005cfd, 0x1204f: 0xe000a1fe, + 0x12050: 0xe0008809, 0x12051: 0xe00097b0, 0x12053: 0xe0009ef7, + 0x12056: 0xe0008752, + 0x1205c: 0xe00056bb, 0x1205e: 0xe0005090, 0x1205f: 0xe00070f8, + 0x12060: 0xe0004410, + 0x1206a: 0xe0009745, + 0x1206c: 0xe0008156, 0x1206d: 0xe000a15b, 0x1206f: 0xe000649e, + 0x12070: 0xe000455c, 0x12071: 0xe0005649, 0x12072: 0xe0004883, 0x12073: 0xe000611a, + 0x12075: 0xe0008874, 0x12077: 0xe0009cdc, + 0x1207b: 0xe00052e5, + 0x1207c: 0xe00088b9, 0x1207e: 0xe0007150, 0x1207f: 0xe0009d2c, + // Block 0x482, offset 0x12080 + 0x12087: 0xe000696f, + 0x12089: 0xe0007e4d, 0x1208b: 0xe0006418, + 0x1208c: 0xe00068b4, 0x1208f: 0xe00051e8, + 0x12090: 0xe0006e10, 0x12093: 0xe00056be, + 0x12095: 0xe0009a5e, 0x12097: 0xe0005db1, + 0x12098: 0xe0007c2b, 0x12099: 0xe0007dc7, 0x1209a: 0xe0005f12, + 0x1209c: 0xe00049f0, 0x1209d: 0xe0009079, + 0x120af: 0xe000482f, + 0x120b0: 0xe0009e14, 0x120b2: 0xe0007454, 0x120b3: 0xe000907c, + 0x120b6: 0xe0004184, 0x120b7: 0xe0004187, + 0x120b8: 0xe0004c86, + 0x120be: 0xe0007418, + // Block 0x483, offset 0x120c0 + 0x120c1: 0xe0009ade, + 0x120c4: 0xe0006634, 0x120c5: 0xe0005305, + 0x120ca: 0xe0008e51, + 0x120cf: 0xe00064e0, + 0x120d0: 0xe000604e, 0x120d1: 0xe0004314, 0x120d2: 0xe0009a4e, 0x120d3: 0xe0007ad7, + 0x120d4: 0xe0008245, 0x120d7: 0xe0007168, + 0x120d8: 0xe000862c, 0x120d9: 0xe000a12b, 0x120da: 0xe0008248, + 0x120dd: 0xe0009b18, 0x120de: 0xe00086ae, 0x120df: 0xe00051fc, + 0x120e2: 0xe00088bc, + 0x120e9: 0xe0004c89, + 0x120ec: 0xe0004250, 0x120ef: 0xe000418a, + 0x120f0: 0xe000521d, 0x120f1: 0xe0008ebc, 0x120f3: 0xe0005c2d, + 0x120f4: 0xe000741b, 0x120f5: 0xe0009461, 0x120f6: 0xe0006b24, + 0x120f9: 0xe0007457, 0x120fb: 0xe0006b27, + 0x120fe: 0xe0008b95, + // Block 0x484, offset 0x12100 + 0x12103: 0xe000a6f7, + 0x12112: 0xe00072e5, 0x12113: 0xe00089a1, + 0x12116: 0xe0006da7, 0x12117: 0xe0005c94, + 0x1211d: 0xe0004ae9, 0x1211e: 0xe0004290, + 0x12121: 0xe0004be1, 0x12122: 0xe00064e4, + 0x1212a: 0xe0008ebf, + 0x1212e: 0xe00084ad, 0x1212f: 0xe0008072, + 0x12131: 0xe00049c2, 0x12132: 0xe0004886, + 0x12134: 0xe0008a29, + 0x12138: 0xe000a1ea, 0x12139: 0xe0004f67, 0x1213b: 0xe00074b9, + 0x1213c: 0xe00045b5, 0x1213d: 0xe000880c, + // Block 0x485, offset 0x12140 + 0x12140: 0xe0004560, 0x12141: 0xe000a15f, 0x12142: 0xe00047b1, 0x12143: 0xe000553c, + 0x12144: 0xe0004b35, 0x12146: 0xe0004b39, + 0x12148: 0xe0007673, 0x12149: 0xe000768b, + 0x1214e: 0xe00091c1, + 0x12150: 0xe000564d, 0x12151: 0xe0006cdc, 0x12153: 0xe000a5d4, + 0x12154: 0xe0005187, + 0x1216d: 0xe0009119, 0x1216f: 0xe0008c3d, + 0x12174: 0xe0006819, 0x12176: 0xe0009c66, 0x12177: 0xe0004224, + 0x1217e: 0xe0004dc3, 0x1217f: 0xe0004254, + // Block 0x486, offset 0x12180 + 0x12181: 0xe00058a1, 0x12183: 0xe0008c41, + 0x12185: 0xe0005f15, 0x12186: 0xe0006470, + 0x1218f: 0xe00048da, + 0x12193: 0xe000880f, + 0x12194: 0xe00099ba, 0x12197: 0xe00046e1, + 0x1219b: 0xe00051b3, + 0x1219d: 0xe0008d13, 0x1219f: 0xe000a745, + 0x121a0: 0xe000591c, 0x121a1: 0xe0007de5, 0x121a2: 0xe00096e2, 0x121a3: 0xe000757d, + 0x121a7: 0xe0007c8e, + 0x121a8: 0xe0005d00, + 0x121ad: 0xe0006b2a, 0x121af: 0xe0008c89, + 0x121b0: 0xe00047b4, 0x121b1: 0xe000490e, 0x121b3: 0xe000705d, + 0x121b5: 0xe0006550, 0x121b6: 0xe0006202, + // Block 0x487, offset 0x121c0 + 0x121c4: 0xe0005096, 0x121c5: 0xe0006638, + 0x121c9: 0xe0005fac, 0x121ca: 0xe0005132, 0x121cb: 0xe0005093, + 0x121cc: 0xe0009457, 0x121cd: 0xe0004912, + 0x121d0: 0xe00069e1, 0x121d2: 0xe0006749, + 0x121d5: 0xe0008e19, 0x121d6: 0xe0008c45, 0x121d7: 0xe0008d16, + 0x121d8: 0xe0004f37, 0x121da: 0xe000692c, + 0x121df: 0xe0005651, + 0x121e0: 0xe0005466, 0x121e3: 0xe00096b5, + 0x121e7: 0xe00086c6, + 0x121e8: 0xe00047b7, + 0x121ec: 0xe0004e37, 0x121ee: 0xe0006c54, + 0x121f2: 0xe0006daa, + 0x121f9: 0xe000553f, 0x121fa: 0xe0004a69, 0x121fb: 0xe00068b8, + 0x121fc: 0xe00068bc, + // Block 0x488, offset 0x12200 + 0x12200: 0xe0007de9, 0x12201: 0xe0004a45, + 0x12204: 0xe0008b31, 0x12205: 0xe0008417, + 0x1220b: 0xe00058cd, + 0x1220d: 0xe0007489, 0x1220e: 0xe0009826, + 0x12211: 0xe00069e4, 0x12212: 0xe00096e5, + 0x12219: 0xe0009407, + 0x12227: 0xe0006004, + 0x12230: 0xe0007812, + 0x12234: 0xe0005382, 0x12236: 0xe0008e55, + 0x12239: 0xe0009a82, + 0x1223d: 0xe0007a2f, 0x1223f: 0xe00098fe, + // Block 0x489, offset 0x12240 + 0x12242: 0xe0006b96, + 0x1224a: 0xe000787d, + 0x1224f: 0xe0004edf, + 0x12253: 0xe0009f48, + 0x12254: 0xe0006f18, 0x12255: 0xe0009ac6, 0x12257: 0xe0004524, + 0x12259: 0xe0006150, 0x1225a: 0xe00096e8, + 0x1225d: 0xe000599c, 0x1225e: 0xe0005ccc, + 0x12260: 0xe00051ec, 0x12261: 0xe000824b, 0x12262: 0xe000824e, 0x12263: 0xe0006205, + 0x12265: 0xe000815a, + 0x12268: 0xe0008b99, 0x1226a: 0xe0008b35, 0x1226b: 0xe0009009, + 0x1226c: 0xe00042e0, 0x1226d: 0xe000799b, 0x1226e: 0xe0008877, 0x1226f: 0xe00072e9, + 0x12273: 0xe0005f30, + 0x12275: 0xe0004f3b, 0x12277: 0xe000a1a7, + 0x12278: 0xe0009829, 0x12279: 0xe0007b5b, + // Block 0x48a, offset 0x12280 + 0x1228e: 0xe00041cc, + 0x12291: 0xe000681c, + 0x12294: 0xe0005857, 0x12295: 0xe0007f66, + 0x12298: 0xe0004d2e, 0x1229b: 0xe000911d, + 0x1229c: 0xe000641c, 0x1229f: 0xe0008836, + 0x122a4: 0xe000456c, 0x122a5: 0xe000a660, 0x122a6: 0xe0004294, 0x122a7: 0xe0006972, + 0x122ad: 0xe0006b99, 0x122ae: 0xe0007b5f, + 0x122b0: 0xe00090c1, 0x122b1: 0xe000980b, + 0x122b4: 0xe0005c30, 0x122b7: 0xe0004c2f, + 0x122bb: 0xe0009bc4, + 0x122bc: 0xe000a12f, 0x122be: 0xe000496a, + // Block 0x48b, offset 0x122c0 + 0x122c0: 0xe0004889, 0x122c1: 0xe0004832, 0x122c3: 0xe0006344, + 0x122c7: 0xe0008a2d, + 0x122ca: 0xe0006bc8, 0x122cb: 0xe0004c8c, + 0x122cc: 0xe0009c89, 0x122cd: 0xe00093bf, 0x122ce: 0xe000927e, + 0x122d0: 0xe0004b87, 0x122d3: 0xe00049c6, + 0x122e5: 0xe000a40c, 0x122e6: 0xe0007fb2, 0x122e7: 0xe000936b, + 0x122e8: 0xe0004a39, 0x122e9: 0xe0004482, 0x122ea: 0xe000445b, + 0x122ed: 0xe0006d5c, + 0x122f2: 0xe00048ee, + 0x122f9: 0xe000488c, 0x122fb: 0xe0004eaf, + 0x122fd: 0xe0008d19, 0x122ff: 0xe0004f6b, + // Block 0x48c, offset 0x12300 + 0x12300: 0xe0008949, 0x12302: 0xe000761b, + 0x12305: 0xe0008e59, + 0x1230a: 0xe00064fc, 0x1230b: 0xe0009c7e, + 0x12311: 0xe00058a5, 0x12312: 0xe00062b8, 0x12313: 0xe0005bf4, + 0x12314: 0xe00070c3, 0x12317: 0xe000887a, + 0x12319: 0xe0009efa, 0x1231b: 0xe0004ee2, + 0x1231e: 0xe000982c, 0x1231f: 0xe0008756, + 0x12321: 0xe0006051, 0x12323: 0xe0007881, + 0x1232b: 0xe0004611, + 0x12335: 0xe00096eb, + 0x12338: 0xe00062d8, 0x12339: 0xe00071c5, 0x1233a: 0xe000a556, 0x1233b: 0xe0004e7f, + 0x1233d: 0xe0008f6d, + // Block 0x48d, offset 0x12340 + 0x12343: 0xe0006540, + 0x12344: 0xe0004318, 0x12347: 0xe0009982, + 0x12348: 0xe0007ec5, 0x1234a: 0xe0005c51, 0x1234b: 0xe0004be4, + 0x12350: 0xe0009b38, 0x12352: 0xe000808e, 0x12353: 0xe00072ed, + 0x12358: 0xe0004f23, 0x12359: 0xe0005714, 0x1235a: 0xe00072c5, + 0x1235f: 0xe0005099, + 0x12361: 0xe0006ce0, 0x12362: 0xe0009ae1, + 0x12366: 0xe0005691, + 0x1236b: 0xe000a71f, + 0x12375: 0xe0006c14, + 0x1237f: 0xe0004414, + // Block 0x48e, offset 0x12380 + 0x12380: 0xe000534e, + 0x12384: 0xe00045b9, + 0x12389: 0xe0008b9d, + 0x1238d: 0xe000791b, 0x1238e: 0xe0004fc7, + 0x12390: 0xe0009614, + 0x12394: 0xe000548a, 0x12397: 0xe0006590, + 0x1239c: 0xe000a6d3, 0x1239d: 0xe0009015, 0x1239f: 0xe00041cf, + 0x123a0: 0xe0004761, 0x123a2: 0xe000457c, 0x123a3: 0xe000875a, + 0x123ae: 0xe000559c, + 0x123b3: 0xe0006a57, + 0x123b6: 0xe0007b0f, + 0x123bb: 0xe000a0d7, + 0x123bc: 0xe0008386, 0x123bf: 0xe0007b0b, + // Block 0x48f, offset 0x123c0 + 0x123c2: 0xe0005542, 0x123c3: 0xe0004e5e, + 0x123d3: 0xe0005a9a, + 0x123da: 0xe00058f5, 0x123db: 0xe0009001, + 0x123dc: 0xe000488f, 0x123dd: 0xe00055e5, 0x123de: 0xe0007a9f, 0x123df: 0xe0005954, + 0x123ea: 0xe0005958, + 0x123ec: 0xe0009a3a, + 0x123f6: 0xe000a249, + 0x123fb: 0xe00077e0, + 0x123fc: 0xe0009618, + // Block 0x490, offset 0x12400 + 0x12402: 0xe0006310, 0x12403: 0xe000936f, + 0x12404: 0xe00057b3, + 0x1240a: 0xe0004e23, + 0x1240c: 0xe000875e, + 0x12411: 0xe00092ff, 0x12412: 0xe00057b7, + 0x12416: 0xe0005803, + 0x1241e: 0xe0005a5c, + 0x12420: 0xe000a8eb, 0x12421: 0xe000925a, 0x12423: 0xe000a8a3, + 0x1242c: 0xe000a1ce, + 0x12432: 0xe0007f26, + 0x12437: 0xe000a96d, + 0x12438: 0xe0007790, 0x12439: 0xe0008447, 0x1243a: 0xe000509c, 0x1243b: 0xe000a7fa, + 0x1243d: 0xe000a8ef, 0x1243e: 0xe0004a6d, 0x1243f: 0xe000435c, + // Block 0x491, offset 0x12440 + 0x12443: 0xe0006c8c, + 0x12446: 0xe000a8f3, 0x12447: 0xe000a261, + 0x12449: 0xe0004681, + 0x1244c: 0xe000418d, 0x1244e: 0xe0009b6c, + 0x12450: 0xe0004c8f, + 0x12454: 0xe000a242, + 0x12459: 0xe000a90f, 0x1245a: 0xe0006ee8, 0x1245b: 0xe0004360, + 0x1245f: 0xe00079ba, + 0x12460: 0xe00095cc, 0x12461: 0xe000a5cc, 0x12462: 0xe000907f, 0x12463: 0xe0008ba1, + 0x12464: 0xe000925d, 0x12465: 0xe000668b, 0x12466: 0xe0006153, 0x12467: 0xe0005135, + 0x1246a: 0xe0007e6b, + 0x12472: 0xe000701e, + 0x12477: 0xe000593c, + 0x12478: 0xe0004e9a, 0x1247b: 0xe0006b2d, + 0x1247f: 0xe00060cc, + // Block 0x492, offset 0x12480 + 0x12480: 0xe0007f0a, 0x12482: 0xe0008d91, 0x12483: 0xe0007737, + 0x12484: 0xe0009121, 0x12486: 0xe0009c03, + 0x12489: 0xe00072f1, 0x1248a: 0xe00071c8, + 0x1248d: 0xe0009f24, + 0x12491: 0xe0005047, + 0x12496: 0xe000748d, + 0x12498: 0xe00086ca, + 0x1249e: 0xe0008092, + 0x124a2: 0xe00096b8, + 0x124a4: 0xe0006d28, + 0x124ab: 0xe0009b88, + 0x124ad: 0xe0004418, 0x124ae: 0xe00059e0, 0x124af: 0xe0006a5b, + 0x124b2: 0xe0006f6c, 0x124b3: 0xe0007252, + 0x124b5: 0xe0005352, 0x124b7: 0xe0008362, + 0x124ba: 0xe0006c40, + 0x124bc: 0xe00041f8, 0x124bd: 0xe000a763, 0x124bf: 0xe00089a5, + // Block 0x493, offset 0x124c0 + 0x124c1: 0xe000a824, + 0x124c4: 0xe00045d1, 0x124c5: 0xe000841a, 0x124c6: 0xe0004c92, + 0x124cb: 0xe0006156, + 0x124cd: 0xe0006054, 0x124cf: 0xe0005f18, + 0x124d2: 0xe00055bd, 0x124d3: 0xe00082fa, + 0x124d4: 0xe0006975, 0x124d6: 0xe0006978, 0x124d7: 0xe000697b, + 0x124d8: 0xe000697e, 0x124da: 0xe0009373, 0x124db: 0xe0006057, + 0x124eb: 0xe000a43c, + 0x124ec: 0xe0004c95, 0x124ef: 0xe000541e, + 0x124f3: 0xe0009985, + 0x124ff: 0xe0006c34, + // Block 0x494, offset 0x12500 + 0x12505: 0xe000940b, + 0x12508: 0xe00089a9, + 0x1250f: 0xe00075a5, + 0x12510: 0xe00088bf, 0x12511: 0xe000626c, 0x12513: 0xe0005f6c, + 0x1251b: 0xe00068c0, + 0x12523: 0xe000509f, + 0x12524: 0xe000853e, + 0x12533: 0xe0007d32, + 0x12534: 0xe00071cb, 0x12537: 0xe0006ab7, + 0x12538: 0xe0007b63, + 0x1253e: 0xe0006554, 0x1253f: 0xe0004e82, + // Block 0x495, offset 0x12540 + 0x12540: 0xe0008ba5, 0x12541: 0xe000900d, 0x12542: 0xe0004c98, 0x12543: 0xe0009d5c, + 0x1254b: 0xe00086b2, + 0x1254e: 0xe0006558, 0x1254f: 0xe00054f7, + 0x12550: 0xe0006e14, 0x12552: 0xe0005eef, + 0x12554: 0xe000a8db, 0x12555: 0xe0006be8, 0x12557: 0xe000a06b, + 0x12559: 0xe0007cd0, 0x1255a: 0xe0007c91, 0x1255b: 0xe0007529, + 0x1255c: 0xe0006b9c, 0x1255d: 0xe00079bd, 0x1255e: 0xe000a519, 0x1255f: 0xe00043c0, + 0x12560: 0xe0009082, + 0x12568: 0xe000495e, 0x1256a: 0xe0007e51, + 0x1256d: 0xe0007bf2, + 0x12570: 0xe0009c06, 0x12572: 0xe000500f, + 0x12574: 0xe0009d48, 0x12576: 0xe00061a9, + 0x1257a: 0xe0004639, + 0x1257d: 0xe00050a2, 0x1257e: 0xe0006884, + // Block 0x496, offset 0x12580 + 0x12581: 0xe0007565, 0x12582: 0xe00050a5, 0x12583: 0xe0007cfe, + 0x12584: 0xe00080be, 0x12585: 0xe0008116, 0x12586: 0xe000a163, 0x12587: 0xe0007a33, + 0x12588: 0xe0009a62, 0x12589: 0xe0009a86, + 0x1258c: 0xe0005601, 0x1258d: 0xe000a4a5, + 0x12590: 0xe00060ac, 0x12592: 0xe00060d0, 0x12593: 0xe000543a, + 0x12594: 0xe0005fb0, 0x12595: 0xe00061e5, 0x12596: 0xe000991e, + 0x12598: 0xe00069e7, 0x12599: 0xe0006b30, 0x1259a: 0xe0009085, 0x1259b: 0xe0009d6c, + 0x125ab: 0xe0005ea3, + 0x125ac: 0xe0005f33, 0x125ae: 0xe000887d, + 0x125b0: 0xe0009b3c, 0x125b1: 0xe0009ae4, 0x125b3: 0xe0009fff, + 0x125b8: 0xe0006981, 0x125b9: 0xe0008251, 0x125bb: 0xe00099bd, + 0x125bc: 0xe0007060, 0x125bd: 0xe0004835, 0x125be: 0xe00095e8, 0x125bf: 0xe0007a37, + // Block 0x497, offset 0x125c0 + 0x125c1: 0xe000a664, 0x125c2: 0xe000a395, + 0x125c4: 0xe0006f1c, 0x125c5: 0xe0007255, 0x125c6: 0xe000857a, + 0x125c9: 0xe0009514, 0x125ca: 0xe00062dc, + 0x125cc: 0xe0009f95, + 0x125d0: 0xe0005cb4, 0x125d1: 0xe00082ae, 0x125d3: 0xe000a51d, + 0x125d4: 0xe0004364, 0x125d5: 0xe0006578, 0x125d7: 0xe0006b33, + 0x125d9: 0xe0009e28, 0x125da: 0xe000862f, 0x125db: 0xe000655c, + 0x125dc: 0xe00090c4, 0x125dd: 0xe00070c6, + 0x125e0: 0xe0005a60, 0x125e1: 0xe0009e86, 0x125e2: 0xe0009cdf, 0x125e3: 0xe00083de, + 0x125e5: 0xe00052fc, + 0x125e8: 0xe0008ec2, 0x125eb: 0xe000a2ad, + 0x125ee: 0xe0006348, 0x125ef: 0xe0006270, + 0x125f0: 0xe0009c09, 0x125f1: 0xe000774b, 0x125f3: 0xe0007b67, + // Block 0x498, offset 0x12600 + 0x12604: 0xe000a6fa, 0x12607: 0xe0008542, + 0x1260a: 0xe0009558, 0x1260b: 0xe0007885, + 0x1260c: 0xe00059c0, + 0x12611: 0xe000668e, 0x12612: 0xe0007033, + 0x12617: 0xe0007021, + 0x12619: 0xe00071ce, 0x1261b: 0xe0005787, + 0x1261e: 0xe0005655, 0x1261f: 0xe00084b0, + 0x12625: 0xe0009125, 0x12627: 0xe0008254, + 0x12629: 0xe0006f20, 0x1262a: 0xe000a521, 0x1262b: 0xe000a28d, + 0x1262c: 0xe0007114, 0x1262e: 0xe000559f, + 0x12632: 0xe0008ec5, + 0x12635: 0xe00072f5, 0x12636: 0xe000a88b, + 0x12638: 0xe0004b15, 0x12639: 0xe000811a, 0x1263a: 0xe000602c, 0x1263b: 0xe000a624, + 0x1263c: 0xe0007dca, 0x1263d: 0xe000a903, 0x1263e: 0xe0009ce2, + // Block 0x499, offset 0x12640 + 0x12641: 0xe0005c33, + 0x12659: 0xe0008ab5, 0x1265a: 0xe0008f71, + 0x1265c: 0xe0006a5f, + 0x12661: 0xe00063d8, 0x12663: 0xe0007ded, + 0x12664: 0xe0004bb6, 0x12665: 0xe00083ee, 0x12666: 0xe0009e89, 0x12667: 0xe0007bbf, + 0x12669: 0xe000a43f, 0x1266a: 0xe000583f, + 0x1266c: 0xe0005d03, 0x1266e: 0xe00067bf, + 0x12674: 0xe0007f2a, 0x12677: 0xe000a1aa, + 0x12678: 0xe0009a66, 0x12679: 0xe000a349, + 0x1267f: 0xe0009d6f, + // Block 0x49a, offset 0x12680 + 0x12682: 0xe00055a2, + 0x12685: 0xe0007ac3, 0x12687: 0xe00046e5, + 0x12688: 0xe0007063, 0x12689: 0xe0006fa4, + 0x1268c: 0xe0007f6a, 0x1268d: 0xe000a748, 0x1268e: 0xe0007a3b, + 0x12691: 0xe00070fc, 0x12693: 0xe0007a3f, + 0x12694: 0xe00086fa, 0x12695: 0xe000969a, 0x12696: 0xe0005d3f, + 0x126aa: 0xe000681f, 0x126ab: 0xe0004a9d, + 0x126af: 0xe0007769, + 0x126b2: 0xe00077c0, + 0x126b4: 0xe0007e39, 0x126b5: 0xe000a0db, 0x126b7: 0xe0005695, + 0x126b8: 0xe000a7a5, + 0x126bc: 0xe00058d1, 0x126bf: 0xe0009b40, + // Block 0x49b, offset 0x126c0 + 0x126c0: 0xe0008ba9, 0x126c3: 0xe0004e27, + 0x126c4: 0xe00099c0, 0x126c5: 0xe0006e18, 0x126c6: 0xe000a74b, 0x126c7: 0xe00050a8, + 0x126c8: 0xe0004de3, 0x126cb: 0xe0005db5, + 0x126cf: 0xe000a442, + 0x126d1: 0xe0007299, 0x126d2: 0xe0009491, + 0x126d6: 0xe00052c3, + 0x126d8: 0xe0005545, 0x126d9: 0xe0008e1d, 0x126da: 0xe0005bf7, + 0x126dd: 0xe00069ea, 0x126de: 0xe0007154, + 0x126e0: 0xe00069ed, 0x126e1: 0xe00053da, 0x126e2: 0xe0007a07, + 0x126e4: 0xe0007909, 0x126e5: 0xe0005b12, 0x126e6: 0xe0004368, + 0x126e8: 0xe0008bad, 0x126ea: 0xe0005c7c, 0x126eb: 0xe00083b2, + 0x126ec: 0xe0007388, 0x126ee: 0xe000a6d6, + 0x126f1: 0xe0007569, 0x126f3: 0xe00072f9, + 0x126f5: 0xe0007a43, 0x126f6: 0xe000587b, 0x126f7: 0xe000a4dd, + 0x126f8: 0xe000966c, 0x126f9: 0xe000797b, 0x126fa: 0xe0009518, 0x126fb: 0xe00095ec, + 0x126fc: 0xe000612c, + // Block 0x49c, offset 0x12700 + 0x12717: 0xe0006c58, + 0x12719: 0xe000a5d8, 0x1271a: 0xe0008880, 0x1271b: 0xe000431c, + 0x1271d: 0xe0009cb0, 0x1271f: 0xe0008bb1, + 0x12720: 0xe00044ca, 0x12721: 0xe0005548, 0x12723: 0xe0006b36, + 0x12724: 0xe00063b4, 0x12725: 0xe000761f, 0x12726: 0xe0007da6, + 0x12728: 0xe0007e8c, 0x1272b: 0xe0006f24, + 0x1272c: 0xe0009998, 0x1272d: 0xe00081b8, 0x1272f: 0xe000a167, + 0x12732: 0xe0006e74, + 0x12734: 0xe00042c0, 0x12736: 0xe0007b6b, 0x12737: 0xe0007aa3, + 0x12738: 0xe0008257, 0x1273a: 0xe000611d, + 0x1273c: 0xe0006208, 0x1273d: 0xe0008812, 0x1273e: 0xe000a4e1, + // Block 0x49d, offset 0x12740 + 0x12743: 0xe00064a1, + 0x12744: 0xe000620b, 0x12745: 0xe00059a0, + 0x1274a: 0xe0008ec8, + 0x1274d: 0xe0005356, 0x1274e: 0xe0005fd0, + 0x12751: 0xe0006de6, 0x12753: 0xe00068c4, + 0x12754: 0xe0008a31, 0x12756: 0xe000a445, + 0x12758: 0xe0006ce4, 0x1275b: 0xe00053de, + 0x1275c: 0xe0007491, 0x1275e: 0xe0008bb5, 0x1275f: 0xe000a668, + 0x12763: 0xe0006290, + 0x12767: 0xe0007f6e, + 0x1276b: 0xe000982f, + 0x1276e: 0xe000850e, 0x1276f: 0xe0009bdc, + 0x12772: 0xe000811e, 0x12773: 0xe00051f0, + 0x1277a: 0xe0006691, + // Block 0x49e, offset 0x12780 + 0x1278f: 0xe000548e, + 0x12790: 0xe0008122, + 0x12795: 0xe00060ec, 0x12796: 0xe0008f75, + 0x12798: 0xe000a133, + 0x1279c: 0xe0005c36, 0x1279d: 0xe0004c9b, 0x1279f: 0xe0006008, + 0x127a2: 0xe000856a, + 0x127a5: 0xe00067c2, 0x127a7: 0xe0005c9c, + 0x127aa: 0xe00047ba, 0x127ab: 0xe0007d0e, + 0x127af: 0xe0007066, + 0x127b1: 0xe0009129, 0x127b2: 0xe0007258, + 0x127b5: 0xe000838a, 0x127b6: 0xe0007f72, 0x127b7: 0xe000a4f5, + 0x127ba: 0xe0005315, + 0x127bd: 0xe0007f3a, + // Block 0x49f, offset 0x127c0 + 0x127c2: 0xe0006420, 0x127c3: 0xe0007d8a, + 0x127c4: 0xe00093c3, 0x127c5: 0xe0005fe0, + 0x127c8: 0xe000a4a8, 0x127c9: 0xe000a66c, 0x127cb: 0xe00085f0, + 0x127cc: 0xe00094c0, 0x127ce: 0xe000a399, + 0x127d1: 0xe000a628, 0x127d3: 0xe0008815, + 0x127d4: 0xe000554b, 0x127d5: 0xe000573c, + 0x127d9: 0xe000a6fd, + 0x127ec: 0xe000a4ab, 0x127ed: 0xe0009fb9, 0x127ef: 0xe000969d, + 0x127f4: 0xe0008901, 0x127f5: 0xe00062bc, 0x127f7: 0xe0005ac7, + 0x127f8: 0xe000a448, + 0x127fe: 0xe0004916, 0x127ff: 0xe0005e4b, + // Block 0x4a0, offset 0x12800 + 0x12801: 0xe00078ee, 0x12802: 0xe0009efd, + 0x12804: 0xe0007793, 0x12806: 0xe0009a52, + 0x12809: 0xe0005b16, + 0x1280c: 0xe0004fa3, 0x1280f: 0xe0005bfa, + 0x12811: 0xe000445e, 0x12813: 0xe0005d42, + 0x12814: 0xe0007a47, 0x12815: 0xe0008d1c, + 0x12819: 0xe0005386, 0x1281a: 0xe0004d31, + 0x12820: 0xe0005e0f, 0x12822: 0xe000a06f, 0x12823: 0xe0005974, + 0x1282a: 0xe000844a, 0x1282b: 0xe0005e4f, + 0x1282c: 0xe0009088, 0x1282d: 0xe0005ef3, + 0x12830: 0xe0006940, 0x12831: 0xe00071d1, 0x12832: 0xe00093c7, 0x12833: 0xe00087ca, + 0x12838: 0xe0008ae1, + 0x1283c: 0xe000980e, 0x1283e: 0xe00078bd, 0x1283f: 0xe0008762, + // Block 0x4a1, offset 0x12840 + 0x12841: 0xe0007b6f, + 0x1284f: 0xe000833a, + 0x12851: 0xe00063b8, + 0x12854: 0xe000463d, 0x12857: 0xe000920d, + 0x12858: 0xe000634c, 0x12859: 0xe0004ee5, 0x1285a: 0xe000729d, 0x1285b: 0xe00086ea, + 0x1285c: 0xe00086fe, 0x1285d: 0xe000a913, 0x1285e: 0xe0005a9d, 0x1285f: 0xe0006e1c, + 0x12861: 0xe0005619, 0x12862: 0xe000a670, + 0x12864: 0xe0008316, 0x12866: 0xe0005bcb, + 0x1286d: 0xe00053e2, 0x1286e: 0xe0008d1f, 0x1286f: 0xe0007581, + 0x12870: 0xe0004e61, + 0x12874: 0xe00088c2, + 0x12878: 0xe0006c18, 0x1287a: 0xe00086ce, + 0x1287c: 0xe0005659, 0x1287d: 0xe0006694, 0x1287e: 0xe0005d61, + // Block 0x4a2, offset 0x12880 + 0x12881: 0xe0006c78, 0x12882: 0xe0009235, + 0x12884: 0xe0009231, 0x12886: 0xe0007f0d, + 0x12888: 0xe00095a4, 0x12889: 0xe000436c, 0x1288b: 0xe000a727, + 0x1288c: 0xe000745a, 0x1288d: 0xe0008ecb, 0x1288e: 0xe0009d94, + 0x12890: 0xe0008096, 0x12892: 0xe000a53d, + 0x12894: 0xe000a44b, 0x12897: 0xe0004258, + 0x12898: 0xe0006c1c, + 0x1289f: 0xe0005cc4, + 0x128a1: 0xe0008d94, 0x128a3: 0xe000a073, + 0x128a4: 0xe0009c37, 0x128a7: 0xe0005a7f, + 0x128a8: 0xe0006de9, + 0x128ae: 0xe000a6d9, 0x128af: 0xe00092b3, + 0x128b1: 0xe00089ad, 0x128b3: 0xe0007c94, + 0x128b6: 0xe0008a35, + 0x128b9: 0xe00053e6, + 0x128be: 0xe00053a2, + // Block 0x4a3, offset 0x128c0 + 0x128c0: 0xe00045bd, 0x128c1: 0xe0009b1c, 0x128c2: 0xe00059e4, 0x128c3: 0xe0005295, + 0x128c6: 0xe00068c8, 0x128c7: 0xe0006d60, + 0x128c9: 0xe000725b, 0x128ca: 0xe0007bf5, + 0x128d5: 0xe000739e, + 0x128d8: 0xe000526d, 0x128da: 0xe0007b73, 0x128db: 0xe00060f0, + 0x128de: 0xe00069f0, 0x128df: 0xe0008c8c, + 0x128e0: 0xe000a44e, 0x128e1: 0xe000825a, + 0x128e4: 0xe000554e, + 0x128e9: 0xe000a451, 0x128eb: 0xe0005807, + 0x128ec: 0xe0008f79, 0x128ee: 0xe0006711, 0x128ef: 0xe0009b20, + 0x128f1: 0xe0006a63, 0x128f3: 0xe0008702, + 0x128f4: 0xe0007bc3, + 0x128fa: 0xe000955c, + 0x128fe: 0xe00058f8, + // Block 0x4a4, offset 0x12900 + 0x12901: 0xe0007889, + 0x12905: 0xe000a39d, 0x12906: 0xe00055c1, 0x12907: 0xe0007e5d, + 0x12909: 0xe0006b39, 0x1290b: 0xe000756d, + 0x1290f: 0xe0005c39, + 0x12911: 0xe0009ee3, 0x12912: 0xe0006d64, 0x12913: 0xe0009239, + 0x12915: 0xe0006a67, + 0x12918: 0xe0005aa0, 0x1291a: 0xe000a077, 0x1291b: 0xe0007b77, + 0x1291c: 0xe0008346, 0x1291d: 0xe0005940, 0x1291e: 0xe0008bb9, 0x1291f: 0xe0007069, + 0x12923: 0xe000a1ad, + 0x12926: 0xe00088c5, 0x12927: 0xe0005b36, + 0x12928: 0xe0005b65, + 0x1292f: 0xe0007b7b, + 0x12930: 0xe000623b, 0x12932: 0xe00059f0, + 0x12937: 0xe00084c2, + 0x12938: 0xe000961c, + 0x1293c: 0xe00078c1, 0x1293e: 0xe00057bb, + // Block 0x4a5, offset 0x12940 + 0x12944: 0xe0006fb4, + 0x1294c: 0xe0004a71, 0x1294e: 0xe0007b13, + 0x12950: 0xe000a3a1, 0x12951: 0xe0007177, 0x12953: 0xe00057d7, + 0x12958: 0xe0009b70, + 0x1295d: 0xe000a454, 0x1295e: 0xe0009d06, + 0x12963: 0xe0005e53, + 0x12969: 0xe0007b17, 0x1296b: 0xe000a559, + 0x1296f: 0xe0008c49, + 0x12970: 0xe000a6dc, + 0x12978: 0xe0004c9e, + 0x1297c: 0xe0008682, 0x1297d: 0xe0008818, 0x1297e: 0xe0008839, + // Block 0x4a6, offset 0x12980 + 0x12981: 0xe0005138, + 0x12985: 0xe00046e9, 0x12986: 0xe00061d9, + 0x1298a: 0xe0009964, + 0x1298e: 0xe0007adb, + 0x12992: 0xe00096ee, + 0x12995: 0xe000a183, + 0x12998: 0xe000a8a7, 0x12999: 0xe00085f3, 0x1299a: 0xe0004b19, + 0x129a1: 0xe0008bbd, + 0x129a4: 0xe000706c, + 0x129ab: 0xe000a2b1, + 0x129ac: 0xe00044cd, 0x129ad: 0xe0009b74, 0x129ae: 0xe0009ebf, 0x129af: 0xe000a3a5, + 0x129b0: 0xe0009ec2, 0x129b3: 0xe000663c, + 0x129b7: 0xe0008ece, + 0x129b8: 0xe0008686, 0x129b9: 0xe0008ae5, + // Block 0x4a7, offset 0x129c0 + 0x129c8: 0xe00059c4, 0x129ca: 0xe00078c5, 0x129cb: 0xe000a857, + 0x129cf: 0xe0007c97, + 0x129d3: 0xe00047e4, + 0x129d8: 0xe000a525, 0x129d9: 0xe000578b, + 0x129dc: 0xe000a812, 0x129dd: 0xe000902d, 0x129df: 0xe0007a4b, + 0x129f1: 0xe00046ed, + 0x129f9: 0xe0009d98, + 0x129fd: 0xe000674d, + // Block 0x4a8, offset 0x12a00 + 0x12a04: 0xe000a7ca, + 0x12a09: 0xe0007933, + 0x12a0c: 0xe0008f7d, + 0x12a19: 0xe00064a4, 0x12a1a: 0xe0006888, + 0x12a1c: 0xe000a4f9, 0x12a1e: 0xe0005605, + 0x12a20: 0xe000738b, 0x12a21: 0xe0006159, + 0x12a26: 0xe00096f1, + 0x12a2d: 0xe0004769, 0x12a2e: 0xe000a8bb, 0x12a2f: 0xe00086b6, + 0x12a30: 0xe0007adf, 0x12a31: 0xe000a291, + 0x12a36: 0xe0007a4f, + // Block 0x4a9, offset 0x12a40 + 0x12a46: 0xe000a023, 0x12a47: 0xe000a83f, + 0x12a49: 0xe0005978, 0x12a4a: 0xe000a80a, + 0x12a4c: 0xe000a674, 0x12a4e: 0xe00089b1, + 0x12a50: 0xe0007b7f, 0x12a52: 0xe00081eb, + 0x12a56: 0xe00051c4, 0x12a57: 0xe00051d0, + 0x12a59: 0xe0007a53, + 0x12a5c: 0xe0008076, 0x12a5e: 0xe0006c44, + 0x12a62: 0xe0004765, + 0x12a64: 0xe0005f1b, 0x12a65: 0xe000a5dc, 0x12a66: 0xe000a790, 0x12a67: 0xe0008d22, + 0x12a68: 0xe0007e8f, 0x12a69: 0xe0006500, + 0x12a6c: 0xe000788d, 0x12a6e: 0xe00085f6, + 0x12a7d: 0xe0006e78, + // Block 0x4aa, offset 0x12a80 + 0x12a80: 0xe0007b3b, + 0x12a84: 0xe0007495, 0x12a85: 0xe0007d36, 0x12a87: 0xe000a766, + 0x12a89: 0xe000809a, 0x12a8a: 0xe00080de, + 0x12a8f: 0xe000a7ce, + 0x12a92: 0xe000a3a9, + 0x12a94: 0xe0007f76, + 0x12a99: 0xe000a946, 0x12a9b: 0xe0009f27, + 0x12a9f: 0xe00072a1, + 0x12aa0: 0xe00073b6, 0x12aa2: 0xe0006751, + 0x12aa4: 0xe00084de, + 0x12aa8: 0xe00081ee, + 0x12aac: 0xe0007c9a, 0x12aaf: 0xe0006eec, + 0x12ab1: 0xe0007ac7, 0x12ab2: 0xe000476d, + 0x12ab9: 0xe000a949, 0x12aba: 0xe000a94c, + 0x12abe: 0xe00099c3, + // Block 0x4ab, offset 0x12ac0 + 0x12ac1: 0xe0007b2f, 0x12ac3: 0xe0007a57, + 0x12ac8: 0xe0005718, 0x12ac9: 0xe0005609, 0x12acb: 0xe0009748, + 0x12ace: 0xe0005baa, + 0x12ad0: 0xe0005d65, 0x12ad2: 0xe000706f, + 0x12ad4: 0xe0006504, 0x12ad5: 0xe0007a5b, 0x12ad6: 0xe0007585, + 0x12ad9: 0xe0009be4, + 0x12adf: 0xe0007b83, + 0x12ae0: 0xe0008086, + 0x12ae5: 0xe0008d25, 0x12ae6: 0xe00092b7, 0x12ae7: 0xe00071d4, + 0x12aec: 0xe000a827, 0x12aed: 0xe0009780, 0x12aee: 0xe0006fa8, + 0x12af9: 0xe000a970, 0x12afb: 0xe000a7d2, + 0x12afc: 0xe00074e1, 0x12afe: 0xe0005551, 0x12aff: 0xe0007ec8, + // Block 0x4ac, offset 0x12b00 + 0x12b00: 0xe000a27d, + 0x12b06: 0xe0009ee7, 0x12b07: 0xe0006f54, + 0x12b0b: 0xe000a7e6, + 0x12b0c: 0xe0004b3d, 0x12b0d: 0xe0006bcc, + 0x12b10: 0xe0005aa3, + 0x12b14: 0xe000a973, 0x12b17: 0xe0007b3f, + 0x12b1a: 0xe000783d, 0x12b1b: 0xe00057bf, + 0x12b1f: 0xe0004aa1, + 0x12b25: 0xe0009794, + 0x12b28: 0xe0009303, 0x12b2a: 0xe0008d28, + 0x12b2c: 0xe0009ce5, 0x12b2d: 0xe000883f, + 0x12b30: 0xe0008126, 0x12b32: 0xe00081bb, + 0x12b35: 0xe000868a, 0x12b36: 0xe00067c5, + 0x12b38: 0xe0009d09, 0x12b39: 0xe0005327, 0x12b3a: 0xe0007815, 0x12b3b: 0xe000a74e, + 0x12b3d: 0xe0006ce8, 0x12b3e: 0xe0008474, + // Block 0x4ad, offset 0x12b40 + 0x12b40: 0xe0006cec, 0x12b42: 0xe00087ce, + 0x12b46: 0xe0008766, 0x12b47: 0xe0009dc0, + 0x12b48: 0xe0009d30, 0x12b4b: 0xe0008a39, + 0x12b4c: 0xe0009d72, + 0x12b52: 0xe0009638, 0x12b53: 0xe0006474, + 0x12b54: 0xe0006314, 0x12b56: 0xe00082b1, + 0x12b58: 0xe00055c5, 0x12b59: 0xe00075bd, 0x12b5a: 0xe0009c43, 0x12b5b: 0xe0007fed, + 0x12b5d: 0xe0006a6b, 0x12b5f: 0xe000605a, + 0x12b61: 0xe000605d, 0x12b62: 0xe0005b68, + 0x12b67: 0xe00060b0, + 0x12b69: 0xe00061e9, + 0x12b6f: 0xe0004892, + 0x12b72: 0xe0006d68, + 0x12b74: 0xe00088c8, + 0x12b78: 0xe0008632, 0x12b79: 0xe0009cbe, + 0x12b7d: 0xe00045e9, + // Block 0x4ae, offset 0x12b80 + 0x12b80: 0xe0006dad, 0x12b81: 0xe0005d06, + 0x12b87: 0xe00068cc, + 0x12b8d: 0xe0004540, + 0x12b92: 0xe000a4ae, + 0x12b96: 0xe00057a7, + 0x12ba2: 0xe00055c9, + 0x12ba7: 0xe000a94f, + 0x12bac: 0xe00045ed, 0x12baf: 0xe0006560, + 0x12bb3: 0xe00086ba, + 0x12bb4: 0xe000768f, 0x12bb5: 0xe000a980, + // Block 0x4af, offset 0x12bc0 + 0x12bc0: 0xe0006cf0, 0x12bc2: 0xe0004b1d, + 0x12bc4: 0xe0008905, + 0x12bc9: 0xe00069f3, + 0x12bce: 0xe000771f, + 0x12bd0: 0xe000a457, 0x12bd2: 0xe00069f6, + 0x12bd7: 0xe0004ca1, + 0x12bd9: 0xe0008883, + 0x12be1: 0xe0004be7, 0x12be2: 0xe000a043, + 0x12be5: 0xe0007341, + 0x12be8: 0xe0008352, 0x12be9: 0xe00071d7, + 0x12bf4: 0xe0009e59, 0x12bf7: 0xe0004615, + 0x12bf8: 0xe0005d09, 0x12bf9: 0xe000a34d, 0x12bfa: 0xe000838e, 0x12bfb: 0xe0006c20, + 0x12bfc: 0xe0005843, 0x12bfd: 0xe0009d75, + // Block 0x4b0, offset 0x12c00 + 0x12c09: 0xe000513b, 0x12c0a: 0xe0007bf8, + 0x12c13: 0xe0004a1d, + 0x12c16: 0xe00093cb, 0x12c17: 0xe000844d, + 0x12c18: 0xe0008cbf, 0x12c19: 0xe0008853, 0x12c1b: 0xe0005f70, + 0x12c1c: 0xe000741e, 0x12c1d: 0xe0008e01, + 0x12c22: 0xe000a4b1, + 0x12c25: 0xe0007e7d, 0x12c27: 0xe0007dcd, + 0x12c28: 0xe000815e, 0x12c29: 0xe0006fe8, 0x12c2a: 0xe0008886, 0x12c2b: 0xe0006120, + 0x12c31: 0xe000528c, + 0x12c34: 0xe000a7a8, 0x12c36: 0xe000825d, 0x12c37: 0xe0008260, + 0x12c3e: 0xe000a62c, 0x12c3f: 0xe000812a, + // Block 0x4b1, offset 0x12c40 + 0x12c43: 0xe0007796, + 0x12c44: 0xe0007d02, 0x12c45: 0xe0006b3c, + 0x12c50: 0xe000876a, 0x12c52: 0xe0007c9d, + 0x12c57: 0xe0004e4b, + 0x12c58: 0xe0009e5c, + 0x12c5c: 0xe0005d89, + 0x12c60: 0xe0005bce, + 0x12c68: 0xe00055cd, 0x12c69: 0xe0007c2e, 0x12c6a: 0xe000a6df, 0x12c6b: 0xe000a271, + 0x12c6c: 0xe000a1d1, 0x12c6f: 0xe000a7ea, + 0x12c70: 0xe0007b87, 0x12c72: 0xe000a713, + 0x12c75: 0xe00059f8, 0x12c77: 0xe0004b41, + 0x12c78: 0xe00071da, 0x12c7a: 0xe00053a6, 0x12c7b: 0xe000a24d, + 0x12c7c: 0xe000623e, + // Block 0x4b2, offset 0x12c80 + 0x12c81: 0xe000a275, + 0x12c84: 0xe000a2b5, 0x12c86: 0xe00085f9, 0x12c87: 0xe000713c, + 0x12c88: 0xe0005aca, 0x12c89: 0xe0007d06, 0x12c8b: 0xe0007e55, + 0x12c8e: 0xe0008bc1, + 0x12c94: 0xe000951c, 0x12c95: 0xe0004298, 0x12c96: 0xe0004ca4, 0x12c97: 0xe0007ff0, + 0x12c98: 0xe00050ab, + 0x12c9e: 0xe0006822, 0x12c9f: 0xe0006274, + 0x12ca0: 0xe0004485, + 0x12ca6: 0xe000464d, 0x12ca7: 0xe000831a, + 0x12ca9: 0xe0007df1, 0x12cab: 0xe0005f36, + 0x12cad: 0xe0006a6f, + 0x12cb2: 0xe0005a1c, 0x12cb3: 0xe00054dc, + 0x12cb7: 0xe0008b01, + 0x12cb9: 0xe000a2b9, 0x12cbb: 0xe0009d0c, + // Block 0x4b3, offset 0x12cc0 + 0x12cc0: 0xe00062e0, 0x12cc2: 0xe0004190, + 0x12cc6: 0xe00084b3, + 0x12cc8: 0xe00041d2, 0x12cc9: 0xe0006278, 0x12cca: 0xe0006bec, + 0x12ccc: 0xe0009f99, 0x12ccd: 0xe000912d, 0x12ccf: 0xe00041fc, + 0x12cd2: 0xe0009191, + 0x12cd6: 0xe0004b21, + 0x12cd9: 0xe00049a2, + 0x12cdd: 0xe000a793, 0x12cde: 0xe000578f, + 0x12ce0: 0xe0008ed1, 0x12ce2: 0xe0008392, 0x12ce3: 0xe00072fd, + 0x12ce4: 0xe0006697, 0x12ce5: 0xe0008477, 0x12ce6: 0xe000a21a, + 0x12ce9: 0xe000a3ad, 0x12cea: 0xe0004eb2, 0x12ceb: 0xe0009936, + 0x12ced: 0xe0006350, 0x12cee: 0xe0009d87, + 0x12cf5: 0xe0008c4d, 0x12cf7: 0xe000615c, + 0x12cf9: 0xe0006fec, + 0x12cfd: 0xe0008bc5, 0x12cfe: 0xe000a2bd, + // Block 0x4b4, offset 0x12d00 + 0x12d01: 0xe0006e7c, 0x12d03: 0xe0004ca7, + 0x12d04: 0xe000a2f5, 0x12d05: 0xe0005847, 0x12d06: 0xe0005d0c, 0x12d07: 0xe00071dd, + 0x12d09: 0xe0005c3c, + 0x12d13: 0xe0007df5, + 0x12d1b: 0xe0009a6a, + 0x12d20: 0xe00089b5, 0x12d21: 0xe00072a5, 0x12d22: 0xe0009b24, + 0x12d24: 0xe0008857, 0x12d25: 0xe000a45a, 0x12d26: 0xe00050ae, + 0x12d28: 0xe000491a, 0x12d2a: 0xe00050b1, 0x12d2b: 0xe0006755, + 0x12d2c: 0xe0007df9, 0x12d2e: 0xe0008e21, 0x12d2f: 0xe0004a75, + 0x12d30: 0xe0007ae3, 0x12d31: 0xe0008d97, 0x12d32: 0xe00064ce, 0x12d33: 0xe0005db9, + 0x12d34: 0xe0004fcb, 0x12d35: 0xe0006984, 0x12d36: 0xe0009ce8, + 0x12d38: 0xe0009b28, 0x12d3a: 0xe000657c, + 0x12d3f: 0xe000a4e5, + // Block 0x4b5, offset 0x12d40 + 0x12d40: 0xe0007ff3, 0x12d41: 0xe0006060, 0x12d43: 0xe0009902, + 0x12d44: 0xe0006e80, 0x12d45: 0xe0008cc2, 0x12d46: 0xe0007010, + 0x12d4b: 0xe00081be, + 0x12d4e: 0xe000a1d4, + 0x12d55: 0xe000a002, 0x12d57: 0xe000812e, + 0x12d59: 0xe000527d, 0x12d5a: 0xe000a45d, 0x12d5b: 0xe0007b8b, + 0x12d5c: 0xe0008263, 0x12d5d: 0xe000a6a8, 0x12d5e: 0xe0006db0, 0x12d5f: 0xe000738e, + 0x12d60: 0xe0005c3f, 0x12d62: 0xe0007f7a, 0x12d63: 0xe0007186, + 0x12d64: 0xe0007ecb, 0x12d65: 0xe0007d12, + 0x12d68: 0xe0009131, 0x12d69: 0xe000a3b1, 0x12d6a: 0xe0005de0, + 0x12d6d: 0xe0005492, 0x12d6f: 0xe000584b, + 0x12d70: 0xe0004b96, 0x12d71: 0xe0008a3d, 0x12d72: 0xe000940f, 0x12d73: 0xe0009281, + 0x12d7d: 0xe0008e5d, 0x12d7e: 0xe0004f6f, + // Block 0x4b6, offset 0x12d80 + 0x12d80: 0xe0009811, 0x12d82: 0xe00050b4, 0x12d83: 0xe0005d0f, + 0x12d86: 0xe0004d34, 0x12d87: 0xe0006e84, + 0x12d89: 0xe000597c, 0x12d8a: 0xe00061dd, 0x12d8b: 0xe000876e, + 0x12d98: 0xe0005d69, + 0x12d9c: 0xe000a678, 0x12d9d: 0xe0004b99, 0x12d9e: 0xe00062e4, 0x12d9f: 0xe00046f1, + 0x12da1: 0xe0009135, 0x12da3: 0xe00050b7, + 0x12da5: 0xe00046f5, 0x12da7: 0xe0006594, + 0x12da8: 0xe00092bb, 0x12daa: 0xe0008d2b, 0x12dab: 0xe0005496, + 0x12db0: 0xe000a5e0, 0x12db2: 0xe00071e0, + 0x12db5: 0xe00079c0, + 0x12db9: 0xe00072a9, + 0x12dbd: 0xe0006d43, 0x12dbf: 0xe0006e88, + // Block 0x4b7, offset 0x12dc0 + 0x12dc6: 0xe00091c5, + 0x12dca: 0xe00046f9, + 0x12dcf: 0xe0005b3a, + 0x12dd4: 0xe0007b8f, + 0x12dd8: 0xe0004a79, 0x12dda: 0xe00092bf, 0x12ddb: 0xe000a600, + 0x12ddc: 0xe00049f3, + 0x12de0: 0xe000a460, 0x12de2: 0xe0009f00, 0x12de3: 0xe0009d34, + 0x12de6: 0xe0007da9, + 0x12de9: 0xe0009560, + 0x12dee: 0xe0007d66, + 0x12df2: 0xe0009c5e, + 0x12df7: 0xe00085fc, + // Block 0x4b8, offset 0x12e00 + 0x12e01: 0xe0006640, 0x12e03: 0xe000987a, + 0x12e04: 0xe00045f1, + 0x12e0c: 0xe0004d37, 0x12e0d: 0xe0005f84, 0x12e0e: 0xe0008a41, + 0x12e11: 0xe0009031, 0x12e13: 0xe00065b0, + 0x12e15: 0xe0007d6a, + 0x12e18: 0xe0004320, 0x12e1a: 0xe0007571, 0x12e1b: 0xe00095f0, + 0x12e1e: 0xe0006d2c, 0x12e1f: 0xe0006d6c, + 0x12e23: 0xe0006bf0, + 0x12e25: 0xe0006d70, 0x12e26: 0xe0007072, + 0x12e28: 0xe0007f7e, 0x12e2b: 0xe000669a, + 0x12e2c: 0xe0007f82, + 0x12e30: 0xe00089b9, 0x12e31: 0xe0008266, 0x12e32: 0xe0004388, 0x12e33: 0xe00074e5, + 0x12e37: 0xe00051f4, + 0x12e38: 0xe00089bd, 0x12e3a: 0xe0008bc9, + 0x12e3f: 0xe0005f88, + // Block 0x4b9, offset 0x12e40 + 0x12e47: 0xe0004f0b, + 0x12e4a: 0xe0004771, 0x12e4b: 0xe0008a45, + 0x12e4c: 0xe00047bd, 0x12e4e: 0xe0004619, 0x12e4f: 0xe0007e80, + 0x12e51: 0xe00089c1, 0x12e53: 0xe000543e, + 0x12e54: 0xe0006354, + 0x12e59: 0xe0005c42, 0x12e5a: 0xe00068d0, 0x12e5b: 0xe0009139, + 0x12e5c: 0xe00098ba, 0x12e5d: 0xe000615f, + 0x12e60: 0xe0008a49, 0x12e62: 0xe0009f9d, + 0x12e64: 0xe00099fc, 0x12e65: 0xe0005889, 0x12e66: 0xe000a85a, 0x12e67: 0xe000588d, + 0x12e6a: 0xe0006508, 0x12e6b: 0xe000a583, + 0x12e6f: 0xe0008f81, + 0x12e70: 0xe000847a, + 0x12e75: 0xe000a55c, 0x12e76: 0xe000546a, + 0x12e78: 0xe00050ba, 0x12e7a: 0xe00043c4, + 0x12e7f: 0xe00050bd, + // Block 0x4ba, offset 0x12e80 + 0x12e86: 0xe00043c8, 0x12e87: 0xe0008ed4, + 0x12e88: 0xe00065b4, 0x12e8a: 0xe000963c, 0x12e8b: 0xe0009fa1, + 0x12e8e: 0xe0007078, 0x12e8f: 0xe0007075, + 0x12e91: 0xe000841d, + 0x12e94: 0xe0008c51, + 0x12e99: 0xe000a8df, 0x12e9a: 0xe0004d3a, + 0x12e9d: 0xe0006bf4, + 0x12ea3: 0xe0008041, + 0x12ea5: 0xe0004461, + 0x12ea9: 0xe000994c, 0x12eab: 0xe00079eb, + 0x12eb1: 0xe0009e8c, 0x12eb2: 0xe0009f6a, 0x12eb3: 0xe0004324, + 0x12eb4: 0xe00075ed, 0x12eb5: 0xe00085ff, + 0x12eb8: 0xe00053aa, 0x12eb9: 0xe000913d, + 0x12ebc: 0xe000565d, 0x12ebd: 0xe0008889, 0x12ebe: 0xe00091c9, + // Block 0x4bb, offset 0x12ec0 + 0x12ec0: 0xe0004d3d, 0x12ec2: 0xe0004193, 0x12ec3: 0xe000a2f9, + 0x12ec5: 0xe0006644, 0x12ec7: 0xe0009035, + 0x12eca: 0xe0008a4d, + 0x12ecd: 0xe000847d, 0x12ece: 0xe000a1d7, + 0x12ed2: 0xe0007891, 0x12ed3: 0xe00099ff, + 0x12ed4: 0xe00099c6, 0x12ed5: 0xe000a8ab, + 0x12ed8: 0xe00056c1, 0x12ed9: 0xe00046fd, 0x12edb: 0xe0009c6a, + 0x12ede: 0xe00069f9, + 0x12ee2: 0xe0005d12, 0x12ee3: 0xe00090c7, + 0x12ee4: 0xe0008e83, 0x12ee7: 0xe0006b9f, + 0x12ef0: 0xe00053ea, 0x12ef2: 0xe0005de3, 0x12ef3: 0xe0005dc5, + 0x12ef4: 0xe00099c9, + 0x12ef9: 0xe00069fc, 0x12efa: 0xe0006987, + 0x12efc: 0xe0004838, 0x12eff: 0xe00081f1, + // Block 0x4bc, offset 0x12f00 + 0x12f00: 0xe00078f1, 0x12f01: 0xe000994f, + 0x12f07: 0xe0008e61, + 0x12f08: 0xe00047e7, 0x12f09: 0xe00082b4, 0x12f0b: 0xe0009f5c, + 0x12f0d: 0xe0007895, + 0x12f10: 0xe00082b7, + 0x12f15: 0xe000a026, + 0x12f19: 0xe000707b, + 0x12f1f: 0xe0007d16, + 0x12f20: 0xe00094c4, 0x12f21: 0xe00093cf, 0x12f22: 0xe0006358, + 0x12f24: 0xe0005c45, 0x12f26: 0xe00071e3, 0x12f27: 0xe000a047, + 0x12f2f: 0xe0008de9, + 0x12f30: 0xe0005775, 0x12f33: 0xe000987d, + 0x12f34: 0xe00087d2, + 0x12f3b: 0xe0005bfd, + // Block 0x4bd, offset 0x12f40 + 0x12f42: 0xe0005bad, 0x12f43: 0xe0005ca4, + 0x12f46: 0xe0005acd, + 0x12f48: 0xe0009e5f, 0x12f49: 0xe000538a, + 0x12f4c: 0xe00076df, 0x12f4e: 0xe000425c, + 0x12f52: 0xe0008269, + 0x12f55: 0xe0007d8e, 0x12f56: 0xe0006598, + 0x12f58: 0xe000591f, + 0x12f5c: 0xe0008a51, + 0x12f61: 0xe00099cc, 0x12f62: 0xe00078c9, + 0x12f64: 0xe0008ab9, 0x12f65: 0xe000923d, 0x12f67: 0xe000595c, + 0x12f68: 0xe0004a49, 0x12f69: 0xe000575a, + 0x12f6c: 0xe0006e8c, 0x12f6d: 0xe0007bc7, 0x12f6e: 0xe0008396, 0x12f6f: 0xe0004d40, + 0x12f70: 0xe0007d6e, 0x12f71: 0xe0009b8c, 0x12f72: 0xe00089c5, + 0x12f78: 0xe00047c0, 0x12f7b: 0xe000571c, + 0x12f7c: 0xe00063bc, 0x12f7d: 0xe00064e8, 0x12f7e: 0xe00064ec, + // Block 0x4be, offset 0x12f80 + 0x12f80: 0xe0005023, 0x12f81: 0xe0008d9a, 0x12f83: 0xe000608d, + 0x12f84: 0xe0008909, 0x12f86: 0xe0004464, 0x12f87: 0xe000a67c, + 0x12f8b: 0xe0004895, + 0x12f8e: 0xe0004bea, + 0x12f90: 0xe000483b, 0x12f93: 0xe000a463, + 0x12f96: 0xe000a604, + 0x12f9a: 0xe0007799, 0x12f9b: 0xe000a769, + 0x12f9c: 0xe000a4b4, 0x12f9e: 0xe000a4b7, + 0x12fa4: 0xe0009d0f, + 0x12fac: 0xe000a04b, 0x12fae: 0xe0009f6d, + 0x12fb4: 0xe0008fb1, 0x12fb6: 0xe0006ba2, + 0x12fb8: 0xe0004dc7, 0x12fba: 0xe0009832, + 0x12fbf: 0xe000600c, + // Block 0x4bf, offset 0x12fc0 + 0x12fc2: 0xe0007ff6, 0x12fc3: 0xe00064a7, + 0x12fc6: 0xe000688c, + 0x12fc8: 0xe0007b93, 0x12fca: 0xe00084c6, + 0x12fcc: 0xe0007e3d, 0x12fcd: 0xe000a137, 0x12fce: 0xe000774f, + 0x12fd2: 0xe000a10f, + 0x12fd4: 0xe000a700, 0x12fd6: 0xe0004467, + 0x12fd9: 0xe00066af, 0x12fdb: 0xe0006ff0, + 0x12fdc: 0xe0005554, 0x12fde: 0xe00086d2, 0x12fdf: 0xe0005f78, + 0x12fe1: 0xe0009141, 0x12fe3: 0xe0004328, + 0x12fe4: 0xe000635c, 0x12fe5: 0xe0004aa5, 0x12fe7: 0xe0005aa6, + 0x12fea: 0xe0009be8, + 0x12fec: 0xe0004898, 0x12fee: 0xe00060b4, + 0x12ff1: 0xe0008044, 0x12ff2: 0xe0005f74, + 0x12ff4: 0xe00090e5, + 0x12ff8: 0xe0006cf4, 0x12ff9: 0xe0007345, 0x12ffb: 0xe000a40f, + 0x12ffc: 0xe0006360, 0x12ffe: 0xe0007301, + // Block 0x4c0, offset 0x13000 + 0x13001: 0xe0006ff4, + 0x13004: 0xe0005fb4, 0x13007: 0xe000612f, + 0x13008: 0xe0009ba4, 0x13009: 0xe000620e, 0x1300a: 0xe0006090, 0x1300b: 0xe0004260, + 0x1300c: 0xe000a2fd, + 0x1301a: 0xe0006d78, 0x1301b: 0xe0005f39, + 0x1301e: 0xe0009145, + 0x13020: 0xe0005fb8, + 0x13025: 0xe0008635, 0x13026: 0xe0008638, + 0x13028: 0xe0008712, 0x13029: 0xe000a2c1, + 0x13034: 0xe0007349, 0x13037: 0xe0004e2b, + 0x13038: 0xe0006063, 0x1303a: 0xe0008d2e, 0x1303b: 0xe00078cd, + 0x1303c: 0xe0007677, 0x1303e: 0xe0008ff1, + // Block 0x4c1, offset 0x13040 + 0x13040: 0xe000928f, + 0x13046: 0xe000a608, 0x13047: 0xe0008cc5, + 0x1304d: 0xe000a2c5, + 0x13052: 0xe0006f90, + 0x1305a: 0xe000779c, 0x1305b: 0xe0008bcd, + 0x1305f: 0xe000725e, + 0x13060: 0xe0004e3b, 0x13061: 0xe00071e6, 0x13062: 0xe0007261, 0x13063: 0xe00055d1, + 0x13065: 0xe00069ff, 0x13066: 0xe00060b8, + 0x13068: 0xe0007c31, 0x1306b: 0xe0009640, + 0x13077: 0xe0004544, + 0x13079: 0xe0005557, + 0x1307d: 0xe0004ee8, 0x1307e: 0xe000483e, 0x1307f: 0xe0007bfb, + // Block 0x4c2, offset 0x13080 + 0x1308b: 0xe0009149, + 0x1308d: 0xe0007264, 0x1308e: 0xe000a0bf, + 0x13091: 0xe0006010, + 0x13096: 0xe0007c34, + 0x13099: 0xe0005e1f, + 0x1309e: 0xe0005e57, + 0x130a0: 0xe000549a, 0x130a2: 0xe00060f4, + 0x130a5: 0xe0006604, + 0x130aa: 0xe0009241, + 0x130ac: 0xe0007305, 0x130ad: 0xe0005bb0, + 0x130b0: 0xe000432c, 0x130b3: 0xe0005661, + 0x130b9: 0xe000779f, 0x130bb: 0xe00095f4, + 0x130bc: 0xe0004580, 0x130bd: 0xe000489b, 0x130bf: 0xe0004caa, + // Block 0x4c3, offset 0x130c0 + 0x130c7: 0xe00060f8, + 0x130c9: 0xe0006a87, + 0x130cd: 0xe000a5a0, + 0x130d7: 0xe0009784, + 0x130d9: 0xe0004370, 0x130da: 0xe0009798, 0x130db: 0xe0006066, + 0x130dc: 0xe000503b, 0x130de: 0xe000833e, + 0x130e1: 0xe000a5a4, 0x130e2: 0xe0007421, 0x130e3: 0xe0008420, + 0x130e5: 0xe000908b, 0x130e7: 0xe000752d, + 0x130e9: 0xe0004cad, + 0x130ed: 0xe000535a, 0x130ee: 0xe0007e6e, 0x130ef: 0xe0004bed, + 0x130f0: 0xe000904d, 0x130f3: 0xe0006e20, + 0x130fa: 0xe0009b44, 0x130fb: 0xe000496e, + 0x130fc: 0xe000441c, 0x130fd: 0xe0006e38, + // Block 0x4c4, offset 0x13100 + 0x13102: 0xe0006b3f, + 0x1310c: 0xe00096bb, 0x1310f: 0xe00068d4, + 0x13111: 0xe00075f0, 0x13112: 0xe000698a, + 0x13122: 0xe0005778, + 0x13125: 0xe000908e, 0x13126: 0xe0009445, 0x13127: 0xe0009a6e, + 0x1312c: 0xe0005dc9, 0x1312d: 0xe0009e04, + 0x13130: 0xe0009da0, 0x13132: 0xe0009e8f, + 0x13134: 0xe0009ceb, + // Block 0x4c5, offset 0x13140 + 0x13143: 0xe0008f19, + 0x13145: 0xe0004eb5, + 0x1314f: 0xe0007a5f, + 0x1315c: 0xe00044a2, 0x1315d: 0xe00096f4, + 0x13160: 0xe000585b, + 0x13167: 0xe0007fb6, + 0x13168: 0xe0009284, 0x1316b: 0xe0005c48, + 0x1316c: 0xe0004701, 0x1316e: 0xe000a04f, 0x1316f: 0xe0007a63, + 0x1317c: 0xe0006930, + // Block 0x4c6, offset 0x13180 + 0x13181: 0xe00050c0, + 0x13187: 0xe0008bd1, + 0x1318c: 0xe0005aee, 0x1318d: 0xe000776c, 0x1318e: 0xe000717a, 0x1318f: 0xe00086be, + 0x13191: 0xe000698d, 0x13193: 0xe00054fa, + 0x13197: 0xe0007dfd, + 0x1319f: 0xe0006f58, + 0x131a3: 0xe00042c4, + 0x131a4: 0xe0007bcb, 0x131a7: 0xe000659c, + 0x131a8: 0xe0007e92, 0x131a9: 0xe0006e24, + 0x131ad: 0xe0009bec, + 0x131ba: 0xe000a594, 0x131bb: 0xe000a598, + 0x131bc: 0xe0005de6, 0x131be: 0xe0005245, + // Block 0x4c7, offset 0x131c0 + 0x131c1: 0xe0008602, + 0x131c5: 0xe0006424, + 0x131c8: 0xe0007e95, 0x131ca: 0xe0005b6b, 0x131cb: 0xe0009260, + 0x131ce: 0xe00047c3, 0x131cf: 0xe00059f4, + 0x131d0: 0xe0006364, 0x131d1: 0xe00077a2, + 0x131d4: 0xe0009475, 0x131d5: 0xe0004488, + 0x131da: 0xe0008a55, + 0x131e0: 0xe00052c6, + 0x131e7: 0xe000894d, + 0x131e8: 0xe0005de9, 0x131ea: 0xe0009814, + 0x131ec: 0xe0004705, 0x131ef: 0xe00050c3, + 0x131f4: 0xe0005740, 0x131f5: 0xe0004264, 0x131f7: 0xe0005d8d, + 0x131fa: 0xe0004b45, 0x131fb: 0xe0006368, + 0x131fc: 0xe0008716, 0x131fd: 0xe0004c32, + // Block 0x4c8, offset 0x13200 + 0x13201: 0xe00096f7, + 0x1320c: 0xe0005b7d, 0x1320e: 0xe00096fa, 0x1320f: 0xe0005027, + 0x13211: 0xe000549e, 0x13212: 0xe0008450, + 0x13216: 0xe00079c3, + 0x13219: 0xe00077a5, + 0x13227: 0xe0005b80, + 0x1322a: 0xe00058fb, 0x1322b: 0xe0005944, + 0x1322c: 0xe000636c, 0x1322d: 0xe000a5a8, + 0x13231: 0xe0005b52, + 0x1323a: 0xe0007424, + 0x1323e: 0xe0006b42, + // Block 0x4c9, offset 0x13240 + 0x13240: 0xe0006b45, 0x13241: 0xe00050c6, + 0x13245: 0xe0007f10, 0x13246: 0xe0009564, 0x13247: 0xe00050c9, + 0x13248: 0xe00050cc, 0x13249: 0xe0009091, 0x1324a: 0xe0009da4, + 0x13250: 0xe0007ff9, 0x13253: 0xe0006908, + 0x13254: 0xe0006825, 0x13255: 0xe0006a02, 0x13256: 0xe0008d31, 0x13257: 0xe0009094, + 0x1325a: 0xe0008d34, 0x1325b: 0xe00044d0, + 0x1325c: 0xe000a466, 0x1325d: 0xe00098be, 0x1325e: 0xe00074e9, 0x1325f: 0xe0007267, + 0x13260: 0xe0006b48, 0x13262: 0xe0005308, + 0x13265: 0xe0006cf8, 0x13267: 0xe0008d9d, + 0x13268: 0xe0009f03, + 0x1326d: 0xe0008c8f, + 0x1327a: 0xe00050cf, + 0x1327c: 0xe0004aa9, 0x1327f: 0xe0005af2, + // Block 0x4ca, offset 0x13280 + 0x13280: 0xe0009f44, 0x13281: 0xe0004fcf, + 0x1328a: 0xe00047ea, 0x1328b: 0xe0008546, + 0x1328d: 0xe000a55f, 0x1328e: 0xe0008bd5, 0x1328f: 0xe00066dd, + 0x13291: 0xe0007ffc, + 0x13294: 0xe0008cc8, + 0x1329d: 0xe00090f9, + 0x132a6: 0xe00078f4, 0x132a7: 0xe000a952, + 0x132a8: 0xe000513e, 0x132aa: 0xe0006e90, 0x132ab: 0xe0005422, + 0x132ae: 0xe0005a82, + 0x132b0: 0xe000530b, 0x132b1: 0xe000555a, 0x132b3: 0xe0007899, + 0x132b4: 0xe0007841, + 0x132b9: 0xe0007fff, 0x132ba: 0xe0007d92, 0x132bb: 0xe0005d45, + 0x132bd: 0xe0004fd3, 0x132be: 0xe000a562, 0x132bf: 0xe00055d5, + // Block 0x4cb, offset 0x132c0 + 0x132c0: 0xe00071e9, 0x132c1: 0xe0006b4b, + 0x132c6: 0xe000429c, + 0x132c9: 0xe0006648, 0x132ca: 0xe0005241, 0x132cb: 0xe0009835, + 0x132d1: 0xe00049f6, 0x132d2: 0xe00096fd, + 0x132d5: 0xe0006990, + 0x132d8: 0xe0006993, + 0x132df: 0xe0008d37, + 0x132e2: 0xe0005a64, 0x132e3: 0xe0005eb7, + 0x132e4: 0xe0009a9a, 0x132e6: 0xe000914d, 0x132e7: 0xe000773b, + 0x132e9: 0xe00091cd, 0x132ea: 0xe00090ca, 0x132eb: 0xe0009912, + 0x132ec: 0xe00044e8, + 0x132f8: 0xe00042e4, 0x132fb: 0xe0008480, + // Block 0x4cc, offset 0x13300 + 0x13300: 0xe000a955, 0x13301: 0xe000489e, 0x13302: 0xe000585f, + 0x13305: 0xe0007024, + 0x13308: 0xe0004268, 0x1330a: 0xe0008ccb, 0x1330b: 0xe0008bd9, + 0x1330c: 0xe00055a5, 0x1330d: 0xe0009700, + 0x13314: 0xe0008596, 0x13317: 0xe0009d78, + 0x13319: 0xe00090e9, 0x1331a: 0xe00099cf, + 0x1331c: 0xe0005cd0, 0x1331e: 0xe0004a20, 0x1331f: 0xe0009f40, + 0x13320: 0xe0008d3a, + 0x13327: 0xe0006f5c, + 0x1332e: 0xe0008e25, + 0x13331: 0xe0009a9e, + 0x13336: 0xe000807a, 0x13337: 0xe00090ed, + 0x13339: 0xe0009195, 0x1333b: 0xe000555d, + 0x1333c: 0xe0004196, 0x1333d: 0xe00047c6, 0x1333f: 0xe0004841, + // Block 0x4cd, offset 0x13340 + 0x13340: 0xe00048de, + 0x13345: 0xe0004420, 0x13346: 0xe00060bc, + 0x13349: 0xe00099d2, + 0x1334d: 0xe000890d, 0x1334e: 0xe0007b97, + 0x13357: 0xe00071ec, + 0x13360: 0xe00052a9, 0x13361: 0xe0006d50, 0x13362: 0xe0007bfe, + 0x13369: 0xe0007d1a, 0x1336b: 0xe000a59c, + 0x13370: 0xe000789d, + 0x13374: 0xe000a31d, 0x13375: 0xe00076b7, 0x13376: 0xe0004cb0, + 0x13379: 0xe0004df3, 0x1337a: 0xe00049a6, + 0x1337d: 0xe0008bdd, 0x1337e: 0xe0007f13, 0x1337f: 0xe0009520, + // Block 0x4ce, offset 0x13380 + 0x13380: 0xe0005700, 0x13381: 0xe0005625, 0x13382: 0xe0005ad0, 0x13383: 0xe0008ad1, + 0x13384: 0xe0009293, 0x13385: 0xe0007f16, 0x13386: 0xe0009e08, + 0x13388: 0xe0007ece, 0x1338a: 0xe0007dd0, + 0x13392: 0xe00091d1, 0x13393: 0xe00093d3, + 0x13395: 0xe0008d3d, 0x13396: 0xe0004c35, 0x13397: 0xe0009413, + 0x13398: 0xe0004dab, 0x1339b: 0xe0004d43, + 0x1339f: 0xe0004dd7, + 0x133a0: 0xe0004a23, 0x133a3: 0xe0007140, + 0x133a9: 0xe0007dac, 0x133aa: 0xe0007daf, + 0x133ac: 0xe00082ba, 0x133ae: 0xe0004df7, 0x133af: 0xe0007ed1, + 0x133b3: 0xe00082bd, + 0x133b6: 0xe0004d46, + 0x133b9: 0xe0007cd3, 0x133ba: 0xe0004eb8, 0x133bb: 0xe0009417, + 0x133be: 0xe0004aad, 0x133bf: 0xe0005ca8, + // Block 0x4cf, offset 0x133c0 + 0x133c4: 0xe00092c3, 0x133c5: 0xe0004ebb, 0x133c7: 0xe00056c4, + 0x133c8: 0xe0008da0, 0x133ca: 0xe0008abd, 0x133cb: 0xe0005dcd, + 0x133d7: 0xe0006123, + 0x133d9: 0xe0009343, + 0x133dd: 0xe000664c, 0x133df: 0xe0004709, + 0x133e0: 0xe0008772, 0x133e2: 0xe0006ba5, 0x133e3: 0xe0008f85, + 0x133e5: 0xe0005665, 0x133e6: 0xe000716c, + 0x133ea: 0xe00071ef, + 0x133ed: 0xe00042c8, 0x133ef: 0xe000535e, + 0x133f6: 0xe000470d, + 0x133f8: 0xe0004775, 0x133f9: 0xe0008f49, 0x133fa: 0xe00098c2, + 0x133fd: 0xe0008047, 0x133ff: 0xe000426c, + // Block 0x4d0, offset 0x13400 + 0x13406: 0xe0009d12, + 0x13408: 0xe000502b, 0x1340a: 0xe0008da3, + 0x1340c: 0xe00075f3, 0x1340f: 0xe000a509, + 0x13411: 0xe000707e, 0x13412: 0xe0004ff7, + 0x13418: 0xe0008b05, 0x13419: 0xe0006d74, 0x1341b: 0xe0008911, + 0x1341e: 0xe0009c0c, + 0x13420: 0xe0005dd1, + 0x13425: 0xe0006ba8, 0x13426: 0xe00067c8, 0x13427: 0xe0009479, + 0x13428: 0xe00068d8, + 0x1342c: 0xe0008c92, 0x1342d: 0xe0005a20, 0x1342f: 0xe000528f, + 0x13433: 0xe00041d5, + 0x13435: 0xe000656c, + 0x13439: 0xe0007027, + // Block 0x4d1, offset 0x13440 + 0x13445: 0xe0006ef0, 0x13446: 0xe0009fa5, + 0x13448: 0xe0004aed, 0x13449: 0xe0005720, 0x1344b: 0xe0004f73, + 0x1344c: 0xe00089c9, 0x1344d: 0xe0007309, 0x1344f: 0xe0006534, + 0x13450: 0xe0004b25, 0x13451: 0xe00098c6, 0x13452: 0xe0009c6e, 0x13453: 0xe00047ed, + 0x13454: 0xe0005442, 0x13456: 0xe0009465, + 0x1345f: 0xe0006828, + 0x13460: 0xe0004f0f, + 0x13465: 0xe00044eb, 0x13466: 0xe0004ab1, 0x13467: 0xe000461d, + 0x13469: 0xe0009c82, + 0x1346c: 0xe0006ff8, 0x1346e: 0xe0006db3, + 0x13471: 0xe00070c9, 0x13473: 0xe0008c55, + 0x13475: 0xe0007a67, + 0x1347d: 0xe0007ca0, + // Block 0x4d2, offset 0x13480 + 0x13487: 0xe000446a, + 0x1348b: 0xe00089cd, + 0x1348d: 0xe00048a1, 0x1348e: 0xe000a4ba, 0x1348f: 0xe0008843, + 0x13492: 0xe0009883, + 0x13494: 0xe00062e8, 0x13495: 0xe00050d2, 0x13497: 0xe0006bf8, + 0x13499: 0xe0006715, 0x1349a: 0xe0009263, + 0x1349c: 0xe00049ca, 0x1349d: 0xe0004661, + 0x134a0: 0xe0009886, 0x134a1: 0xe0004a7d, + 0x134ad: 0xe00089d1, + 0x134b1: 0xe0006cfc, + 0x134b4: 0xe00086ee, + 0x134b8: 0xe000888c, + 0x134be: 0xe00070cc, + // Block 0x4d3, offset 0x134c0 + 0x134c0: 0xe0008ac1, 0x134c1: 0xe000a680, + 0x134c4: 0xe0006564, 0x134c6: 0xe00089d5, 0x134c7: 0xe0009dc4, + 0x134c9: 0xe00098ca, 0x134ca: 0xe000a541, 0x134cb: 0xe000a37d, + 0x134cc: 0xe000a7ab, + 0x134d2: 0xe0007499, + 0x134d4: 0xe00080c2, + 0x134d9: 0xe00048a4, 0x134db: 0xe0007845, + 0x134dd: 0xe0004d49, + 0x134e0: 0xe0007081, + 0x134e4: 0xe00055d9, 0x134e6: 0xe0006a05, + 0x134e9: 0xe0006b4e, 0x134ea: 0xe00090cd, + 0x134f3: 0xe0009fbd, + 0x134f7: 0xe0006779, + 0x134fe: 0xe0005fe8, + // Block 0x4d4, offset 0x13500 + 0x13500: 0xe000947d, + 0x13507: 0xe0008ddd, + 0x13509: 0xe0009889, 0x1350b: 0xe0004e85, + 0x1350f: 0xe0005b1a, + 0x13512: 0xe00092c7, + 0x1351e: 0xe0005362, 0x1351f: 0xe0008b09, + 0x13520: 0xe00066b2, 0x13521: 0xe0004270, + 0x13527: 0xe000a684, + 0x1352a: 0xe00086f2, 0x1352b: 0xe0007084, + 0x13537: 0xe0009620, + 0x13538: 0xe0009d15, + 0x1353d: 0xe00095f8, 0x1353e: 0xe00059e8, 0x1353f: 0xe00067cb, + // Block 0x4d5, offset 0x13540 + 0x13543: 0xe000580b, + 0x1354c: 0xe0008ed7, 0x1354d: 0xe0008915, + 0x13550: 0xe0005744, 0x13552: 0xe0008f1c, + 0x13554: 0xe000726a, + 0x1355b: 0xe0008a59, + 0x1355c: 0xe0009b48, 0x1355f: 0xe0005b83, + 0x13560: 0xe0005b3e, + 0x13564: 0xe00095fc, 0x13565: 0xe0007849, 0x13567: 0xe00044ee, + 0x13569: 0xe00065e4, + 0x1356c: 0xe0005d15, + 0x13572: 0xe00082c0, 0x13573: 0xe0006211, + 0x1357e: 0xe000854a, + // Block 0x4d6, offset 0x13580 + 0x13581: 0xe0009568, 0x13583: 0xe0006996, + 0x13589: 0xe0006890, + 0x1358d: 0xe0006093, + 0x13592: 0xe0005dd5, + 0x13595: 0xe00062ec, 0x13597: 0xe0008d40, + 0x13598: 0xe0008ae9, + 0x1359f: 0xe0007100, + 0x135a2: 0xe000863b, + 0x135a4: 0xe0008196, 0x135a5: 0xe0008f4d, 0x135a6: 0xe0005d91, 0x135a7: 0xe0008776, + 0x135a8: 0xe00064f4, + 0x135ae: 0xe00058a9, + 0x135b1: 0xe00058ad, 0x135b2: 0xe00092cf, 0x135b3: 0xe000449a, + 0x135b9: 0xe00071f2, + 0x135bc: 0xe0005d95, 0x135bd: 0xe0008e65, 0x135be: 0xe0008be1, + // Block 0x4d7, offset 0x135c0 + 0x135c5: 0xe00082c3, 0x135c6: 0xe0005fd4, + 0x135ca: 0xe000a469, + 0x135d5: 0xe00048a7, 0x135d6: 0xe000546e, 0x135d7: 0xe0004d4c, + 0x135d9: 0xe0008da6, 0x135da: 0xe00087d6, + 0x135dc: 0xe0006241, 0x135dd: 0xe0006c68, 0x135de: 0xe0006894, 0x135df: 0xe0008d43, + 0x135e0: 0xe00043cc, 0x135e2: 0xe0006096, + 0x135e5: 0xe00051b6, 0x135e7: 0xe00058b1, + 0x135ef: 0xe00051b9, + 0x135f2: 0xe0005922, + 0x135f4: 0xe0008951, 0x135f6: 0xe0008da9, + 0x135f8: 0xe0005f9c, 0x135fa: 0xe0004eeb, 0x135fb: 0xe00047c9, + 0x135fe: 0xe0004ebe, + // Block 0x4d8, offset 0x13600 + 0x13600: 0xe00050d5, 0x13602: 0xe0008eda, 0x13603: 0xe000734d, + 0x13604: 0xe0007825, 0x13605: 0xe000a529, 0x13606: 0xe0008002, 0x13607: 0xe000a8cf, + 0x13608: 0xe000a5e4, 0x1360a: 0xe00061ad, 0x1360b: 0xe00061b1, + 0x1360d: 0xe0005200, + 0x13610: 0xe00052e8, 0x13613: 0xe0006dec, + 0x13614: 0xe000730d, 0x13615: 0xe0006a08, 0x13617: 0xe0006b51, + 0x13618: 0xe0004baa, 0x13619: 0xe0009097, 0x1361a: 0xe0005013, 0x1361b: 0xe0006898, + 0x1361c: 0xe00080c6, + 0x13620: 0xe0007087, 0x13621: 0xe0006428, 0x13622: 0xe0006d54, + 0x1362b: 0xe0008605, + 0x1362c: 0xe0008edd, 0x1362e: 0xe000931b, 0x1362f: 0xe0005c00, + 0x13630: 0xe000702a, 0x13631: 0xe000690c, 0x13632: 0xe0006f60, 0x13633: 0xe00074ed, + 0x13635: 0xe000888f, + 0x13639: 0xe000708a, 0x1363a: 0xe0004330, + // Block 0x4d9, offset 0x13640 + 0x13642: 0xe0008e29, 0x13643: 0xe000a2c9, + 0x13644: 0xe0008d46, 0x13645: 0xe0004711, 0x13646: 0xe0006370, + 0x13649: 0xe0007371, + 0x1364d: 0xe00085a2, + 0x13650: 0xe0004641, + 0x13656: 0xe0004b49, + 0x13659: 0xe000a60c, 0x1365b: 0xe0008daf, + 0x1365c: 0xe000a329, 0x1365e: 0xe0004bf0, + 0x13661: 0xe0005793, 0x13662: 0xe000a2cd, 0x13663: 0xe0006664, + 0x13666: 0xe0005017, + 0x13668: 0xe000834a, 0x13669: 0xe0008dac, 0x1366a: 0xe0008512, + 0x1366e: 0xe0006db6, + 0x13670: 0xe00091ed, 0x13671: 0xe0009c72, 0x13672: 0xe0006b54, 0x13673: 0xe00043d0, + 0x13676: 0xe0008ac5, + 0x13679: 0xe00045f5, 0x1367a: 0xe0009a02, + 0x1367f: 0xe0004cb3, + // Block 0x4da, offset 0x13680 + 0x13683: 0xe000974b, + 0x13686: 0xe0004779, + 0x1368e: 0xe0008be5, 0x1368f: 0xe00071f5, + 0x13693: 0xe0004715, + 0x13698: 0xe000677d, + 0x1369c: 0xe0008e2d, + 0x136a0: 0xe0005af6, 0x136a2: 0xe0008ee0, 0x136a3: 0xe0004e3f, + 0x136a5: 0xe0005141, 0x136a6: 0xe0005144, 0x136a7: 0xe0008fb5, + 0x136a9: 0xe0008162, 0x136ab: 0xe0006ef4, + 0x136ac: 0xe00071f8, 0x136ad: 0xe000826c, 0x136ae: 0xe00047f0, + 0x136b0: 0xe0004ab5, 0x136b1: 0xe00043d4, 0x136b2: 0xe0005ecf, + 0x136b4: 0xe00095a8, 0x136b5: 0xe0009448, + 0x136b8: 0xe0005c80, 0x136ba: 0xe00050d8, 0x136bb: 0xe0009b78, + 0x136bd: 0xe000868e, 0x136be: 0xe0005cd4, 0x136bf: 0xe0005fbc, + // Block 0x4db, offset 0x136c0 + 0x136c4: 0xe0004936, 0x136c7: 0xe00099d5, + 0x136ca: 0xe0005177, 0x136cb: 0xe0006999, + 0x136cc: 0xe00082c6, 0x136cd: 0xe0006294, + 0x136d6: 0xe0006db9, 0x136d7: 0xe0006d30, + 0x136d8: 0xe000a0df, 0x136da: 0xe0006e94, + 0x136dc: 0xe0005fd8, 0x136dd: 0xe0009211, 0x136de: 0xe0005366, + 0x136e0: 0xe00096a0, 0x136e1: 0xe000627c, 0x136e3: 0xe0007a6b, + 0x136e6: 0xe000745d, + 0x136e8: 0xe0009dc8, 0x136e9: 0xe0007e01, + 0x136ec: 0xe0005fc0, 0x136ef: 0xe00081c1, + 0x136f4: 0xe0005980, 0x136f6: 0xe0009de8, + 0x136f9: 0xe0008cce, 0x136fb: 0xe00099d8, + // Block 0x4dc, offset 0x13700 + 0x13708: 0xe0007bcf, 0x13709: 0xe0009151, 0x1370a: 0xe00077c4, 0x1370b: 0xe000988c, + 0x13710: 0xe000988f, 0x13711: 0xe0004685, + 0x13715: 0xe0007d1e, 0x13717: 0xe0009817, + 0x13718: 0xe00047f3, 0x1371b: 0xe00062f0, + 0x1371d: 0xe0009155, 0x1371e: 0xe000a46c, 0x1371f: 0xe0007f2e, + 0x13720: 0xe00048f2, 0x13721: 0xe000881b, 0x13722: 0xe0005748, 0x13723: 0xe000a2d1, + 0x1372b: 0xe0006759, + 0x1372e: 0xe00098ce, 0x1372f: 0xe0007a6f, + 0x13731: 0xe0008e31, 0x13732: 0xe0005c54, 0x13733: 0xe0004621, + 0x13735: 0xe0005e7f, 0x13737: 0xe0005c03, + 0x13739: 0xe0009f2a, 0x1373b: 0xe0006244, + 0x1373d: 0xe00097d4, 0x1373e: 0xe0008919, + // Block 0x4dd, offset 0x13740 + 0x13741: 0xe000650c, 0x13743: 0xe0006934, + 0x13744: 0xe0007c37, 0x13745: 0xe00070cf, 0x13746: 0xe0006162, 0x13747: 0xe0007ed4, + 0x13748: 0xe0004424, + 0x13750: 0xe0007036, 0x13752: 0xe0009039, + 0x13754: 0xe00090f1, 0x13755: 0xe0006e98, 0x13756: 0xe0006c24, 0x13757: 0xe0005d99, + 0x13759: 0xe000651c, 0x1375a: 0xe0005bd1, + 0x1375e: 0xe0007ed7, + 0x13761: 0xe00071fb, 0x13762: 0xe0004e88, + 0x13769: 0xe00073da, 0x1376a: 0xe000a6e2, 0x1376b: 0xe00047cc, + 0x1376d: 0xe00045f9, 0x1376f: 0xe000a301, + 0x13770: 0xe0008d49, + 0x13776: 0xe0007923, + 0x13779: 0xe00079ef, + 0x1377c: 0xe00047cf, 0x1377d: 0xe0006a8b, 0x1377e: 0xe0004625, + // Block 0x4de, offset 0x13780 + 0x13781: 0xe000a7ee, 0x13782: 0xe00092cb, + 0x13787: 0xe0005b86, + 0x13788: 0xe000a984, 0x1378a: 0xe0004b4d, + 0x1378c: 0xe0007104, 0x1378d: 0xe0005c57, 0x1378f: 0xe00089d9, + 0x13793: 0xe0007b9b, + 0x13794: 0xe000883c, 0x13796: 0xe0006f70, + 0x13798: 0xe00092d3, 0x1379b: 0xe00055dd, + 0x1379c: 0xe000580f, + // Block 0x4df, offset 0x137c0 + 0x137f6: 0xe00067ce, 0x137f7: 0xe0006bab, + 0x137f8: 0xe000a16b, 0x137fa: 0xe0004645, + 0x137fe: 0xe0006668, 0x137ff: 0xe000a187, + // Block 0x4e0, offset 0x13800 + 0x13803: 0xe00077f8, + 0x13804: 0xe0004781, 0x13805: 0xe000a029, 0x13807: 0xe0008fb9, + 0x1380b: 0xe0007d96, + 0x1380c: 0xe00077e4, 0x1380d: 0xe0005b89, 0x1380e: 0xe0005426, + 0x13810: 0xe0004a81, + 0x13814: 0xe0005ed3, 0x13815: 0xe000a07b, + 0x13818: 0xe000682b, + 0x1381d: 0xe00088cb, 0x1381f: 0xe00048aa, + 0x13820: 0xe0006298, 0x13821: 0xe0004428, 0x13823: 0xe0004b6c, + 0x13826: 0xe000682e, + 0x13828: 0xe000798b, 0x1382a: 0xe0008e8c, 0x1382b: 0xe0004b63, + 0x1382e: 0xe00099db, + 0x13830: 0xe0006538, 0x13832: 0xe0006dbc, + 0x13835: 0xe0005f1e, 0x13837: 0xe0009cee, + 0x13838: 0xe0006544, 0x13839: 0xe0005d18, + 0x1383c: 0xe0009fc1, 0x1383d: 0xe00047f6, 0x1383e: 0xe0009051, + // Block 0x4e1, offset 0x13840 + 0x13842: 0xe0004629, + 0x13845: 0xe000575d, 0x13846: 0xe0006a0b, 0x13847: 0xe0005147, + 0x13848: 0xe00050db, 0x1384a: 0xe00078a1, + 0x1384c: 0xe00043d8, 0x1384e: 0xe0006214, + 0x13854: 0xe0004844, 0x13856: 0xe00048ad, 0x13857: 0xe000442c, + 0x13858: 0xe00087da, 0x1385a: 0xe0005a24, + 0x1385d: 0xe00088ce, 0x1385e: 0xe00071fe, + 0x13864: 0xe0004daf, + 0x13868: 0xe0006e9c, 0x13869: 0xe0008423, 0x1386b: 0xe0004430, + 0x1386f: 0xe00042e8, + 0x13872: 0xe000a958, + 0x13876: 0xe0008a5d, + 0x13878: 0xe0005d1b, 0x13879: 0xe000449e, + 0x1387d: 0xe0008005, + // Block 0x4e2, offset 0x13880 + 0x13881: 0xe0007d72, + 0x13885: 0xe0007427, + 0x1388a: 0xe00084ca, + 0x1388c: 0xe00084ce, 0x1388e: 0xe0005a28, + 0x13892: 0xe00073a6, + 0x13894: 0xe0006d00, 0x13895: 0xe000a907, 0x13896: 0xe000a917, + 0x1389b: 0xe00070d2, + 0x1389f: 0xe000891d, + 0x138a0: 0xe0009967, 0x138a1: 0xe000699c, 0x138a3: 0xe0006c90, + 0x138a4: 0xe0007460, 0x138a6: 0xe0008a61, + 0x138a9: 0xe0009dcc, 0x138ab: 0xe0007e05, + 0x138ac: 0xe000a84e, 0x138ae: 0xe000a1ee, + 0x138b0: 0xe000a07f, 0x138b3: 0xe0007c3a, + 0x138b9: 0xe0004bf3, 0x138ba: 0xe00048b0, 0x138bb: 0xe0006520, + 0x138bc: 0xe00084d2, 0x138be: 0xe000a305, + // Block 0x4e3, offset 0x138c0 + 0x138c0: 0xe0007eda, 0x138c1: 0xe0005aa9, 0x138c3: 0xe0004847, + 0x138c4: 0xe0006099, 0x138c5: 0xe0008608, 0x138c6: 0xe00050de, + 0x138c9: 0xe0004cb6, + 0x138cc: 0xe0008483, + 0x138d0: 0xe0005220, 0x138d1: 0xe000538e, 0x138d2: 0xe0005b8c, + 0x138d4: 0xe000863e, 0x138d5: 0xe0004719, 0x138d6: 0xe000974e, 0x138d7: 0xe0006069, + 0x138d8: 0xe000809e, 0x138d9: 0xe0009d18, + 0x138de: 0xe00041d8, + 0x138e1: 0xe0006def, + 0x138e6: 0xe000804a, + 0x138e8: 0xe00052d2, + 0x138ec: 0xe0005c1e, 0x138ed: 0xe00050e1, + 0x138f0: 0xe000804d, 0x138f3: 0xe0008486, + 0x138f6: 0xe0007818, + 0x138fd: 0xe0009ba8, 0x138ff: 0xe000471d, + // Block 0x4e4, offset 0x13900 + 0x13903: 0xe00053ee, + 0x13906: 0xe0005a2c, + 0x1390a: 0xe0005bb3, + 0x13912: 0xe0004af1, + 0x13915: 0xe000a4bd, 0x13916: 0xe0006ffc, + 0x13918: 0xe0006abb, 0x1391a: 0xe000996a, + 0x1391e: 0xe00061b5, + 0x1392f: 0xe0005984, + 0x13930: 0xe00097d8, 0x13931: 0xe0007cd6, 0x13932: 0xe0007000, 0x13933: 0xe0007f86, + 0x13935: 0xe0007e98, 0x13936: 0xe0006fb8, 0x13937: 0xe00090f5, + 0x1393d: 0xe0009670, 0x1393e: 0xe0005b42, 0x1393f: 0xe0008336, + // Block 0x4e5, offset 0x13940 + 0x13944: 0xe0008489, 0x13945: 0xe00072ad, 0x13946: 0xe0006b57, 0x13947: 0xe0008d4c, + 0x13949: 0xe00082fe, 0x1394b: 0xe0005cb0, + 0x1394c: 0xe00050e4, + 0x13953: 0xe000a6ac, + 0x13956: 0xe0009703, + 0x13958: 0xe0008f1f, 0x1395a: 0xe00056d9, 0x1395b: 0xe000a16f, + 0x1395d: 0xe0004274, + 0x13961: 0xe000484a, 0x13962: 0xe000909a, + 0x13965: 0xe000699f, 0x13966: 0xe00068dc, + 0x13969: 0xe00045fd, 0x1396a: 0xe000642c, 0x1396b: 0xe0007351, + 0x1396d: 0xe00052e1, 0x1396f: 0xe000503f, + 0x13971: 0xe0004bae, 0x13972: 0xe0008302, + 0x13974: 0xe000a751, 0x13975: 0xe000514a, + 0x1397a: 0xe0009e4a, + // Block 0x4e6, offset 0x13980 + 0x13983: 0xe00081c4, + 0x13984: 0xe0008e9e, 0x13986: 0xe0005392, + 0x1398a: 0xe0004d4f, + 0x1398c: 0xe00064aa, 0x1398e: 0xe0009c0f, + 0x13995: 0xe0006831, 0x13996: 0xe000639c, + 0x13999: 0xe0008db2, 0x1399a: 0xe00064ad, 0x1399b: 0xe000438c, + 0x1399e: 0xe0009e92, + 0x139a0: 0xe00044f1, 0x139a1: 0xe000a46f, + 0x139a4: 0xe000831e, 0x139a5: 0xe0006dbf, + 0x139af: 0xe00048b3, + 0x139b1: 0xe0004b29, + 0x139b4: 0xe0005669, 0x139b7: 0xe000a897, + 0x139b8: 0xe000a88f, + 0x139bd: 0xe00052f5, 0x139be: 0xe0008641, + // Block 0x4e7, offset 0x139c0 + 0x139c2: 0xe000909d, + 0x139c5: 0xe000a351, 0x139c6: 0xe000996d, 0x139c7: 0xe000a355, + 0x139c8: 0xe0005f48, 0x139c9: 0xe0005f5c, 0x139ca: 0xe00094c8, + 0x139d6: 0xe00063dc, + 0x139d8: 0xe0007e09, 0x139da: 0xe0004200, 0x139db: 0xe0004721, + 0x139e3: 0xe0007311, + 0x139e4: 0xe0007531, 0x139e7: 0xe000981a, + 0x139e9: 0xe0007201, 0x139eb: 0xe0009b98, + 0x139ef: 0xe0009e95, + 0x139f0: 0xe00056dc, + 0x139f9: 0xe00093d7, 0x139fa: 0xe000726d, + 0x139fe: 0xe00069a2, + // Block 0x4e8, offset 0x13a00 + 0x13a01: 0xe00065ec, + 0x13a06: 0xe0008a65, + 0x13a0a: 0xe0006e3c, 0x13a0b: 0xe00077c8, + 0x13a0e: 0xe00074f1, + 0x13a10: 0xe00067d1, 0x13a11: 0xe00067d4, 0x13a12: 0xe00044f4, 0x13a13: 0xe0006a0e, + 0x13a14: 0xe00043dc, 0x13a15: 0xe0007e0d, + 0x13a20: 0xe0008f22, + 0x13a24: 0xe00076fb, 0x13a25: 0xe0007004, 0x13a26: 0xe00052b4, + 0x13a2b: 0xe0008e35, + 0x13a2d: 0xe000764b, + 0x13a30: 0xe0007edd, 0x13a31: 0xe0004528, + 0x13a34: 0xe00082c9, 0x13a36: 0xe0005396, 0x13a37: 0xe0009f85, + 0x13a38: 0xe000877a, 0x13a39: 0xe00066e1, 0x13a3a: 0xe0006ea0, + 0x13a3f: 0xe0009c8c, + // Block 0x4e9, offset 0x13a40 + 0x13a40: 0xe0006430, 0x13a42: 0xe0005925, 0x13a43: 0xe0007d5a, + 0x13a44: 0xe0007270, 0x13a46: 0xe00070d5, + 0x13a48: 0xe00045c1, 0x13a4a: 0xe00062f4, 0x13a4b: 0xe0005bd4, + 0x13a4f: 0xe000484d, + 0x13a5a: 0xe00067d7, + 0x13a5c: 0xe0005e13, 0x13a5d: 0xe0007392, 0x13a5e: 0xe0008a69, + 0x13a60: 0xe0004bf6, 0x13a63: 0xe00091d5, + 0x13a68: 0xe0009d9c, 0x13a69: 0xe000530e, + 0x13a70: 0xe0006524, 0x13a73: 0xe0006ea4, + 0x13a74: 0xe0006183, 0x13a75: 0xe000993d, + 0x13a78: 0xe0007273, 0x13a79: 0xe00068e0, 0x13a7a: 0xe00083fa, + 0x13a7d: 0xe00053f2, 0x13a7e: 0xe000a6e5, 0x13a7f: 0xe0005299, + // Block 0x4ea, offset 0x13a80 + 0x13a80: 0xe00056ec, 0x13a82: 0xe00069a5, + 0x13a86: 0xe000791f, + 0x13a8a: 0xe0008db5, + 0x13a8d: 0xe0008c95, 0x13a8f: 0xe0006a8f, + 0x13a91: 0xe0005292, + 0x13a98: 0xe000582b, 0x13a99: 0xe0007aa7, 0x13a9a: 0xe0005928, + 0x13a9d: 0xe000577b, 0x13a9f: 0xe000877e, + 0x13aa0: 0xe00059a4, 0x13aa3: 0xe00074f5, + 0x13aa5: 0xe0007db2, 0x13aa7: 0xe0008782, + 0x13aa8: 0xe0005dbd, 0x13aaa: 0xe000860b, + 0x13aac: 0xe0007963, 0x13aad: 0xe0009970, + 0x13ab3: 0xe00090a0, + 0x13ab4: 0xe00099de, 0x13ab6: 0xe000956c, + 0x13aba: 0xe00054df, 0x13abb: 0xe0009159, + 0x13abc: 0xe0004cb9, 0x13abe: 0xe000826f, + // Block 0x4eb, offset 0x13ac0 + 0x13ac1: 0xe00079d8, 0x13ac2: 0xe0007fba, 0x13ac3: 0xe0006e40, + 0x13ac5: 0xe0004cbc, 0x13ac7: 0xe00079c6, + 0x13ac8: 0xe000a91b, 0x13aca: 0xe0004cbf, + 0x13acc: 0xe0006f28, 0x13acd: 0xe0006b5a, + 0x13ad0: 0xe00090d0, 0x13ad2: 0xe0006dc2, + 0x13ad6: 0xe0009ec5, + 0x13adb: 0xe0009524, + 0x13adc: 0xe0007315, 0x13ade: 0xe0006165, 0x13adf: 0xe0008ee3, + 0x13ae1: 0xe00043e0, + 0x13aea: 0xe000a173, 0x13aeb: 0xe0006434, + 0x13aec: 0xe0006374, + 0x13af3: 0xe00098ea, + 0x13af5: 0xe0009ac9, 0x13af6: 0xe00062f8, 0x13af7: 0xe000a2d5, + 0x13af8: 0xe00041db, 0x13af9: 0xe0006ea8, + 0x13afd: 0xe0006478, + // Block 0x4ec, offset 0x13b00 + 0x13b00: 0xe00067da, + 0x13b05: 0xe00079c9, 0x13b07: 0xe0008be9, + 0x13b11: 0xe0009dec, + 0x13b18: 0xe00070d8, 0x13b19: 0xe00093db, 0x13b1a: 0xe0008db8, + 0x13b1f: 0xe0005699, + 0x13b24: 0xe0008426, 0x13b26: 0xe000a0e3, + 0x13b28: 0xe00060fc, 0x13b2a: 0xe0005ad3, 0x13b2b: 0xe0005ad6, + 0x13b2e: 0xe0004278, 0x13b2f: 0xe00058b5, + 0x13b31: 0xe000427c, 0x13b32: 0xe0006d58, + 0x13b34: 0xe0006910, 0x13b36: 0xe0007ae7, + 0x13b38: 0xe0009706, + 0x13b3e: 0xe000776f, + // Block 0x4ed, offset 0x13b40 + 0x13b4a: 0xe0009570, 0x13b4b: 0xe0008008, + 0x13b4d: 0xe0008692, 0x13b4e: 0xe0004dfb, + 0x13b52: 0xe0005ed7, + 0x13b54: 0xe000a82a, + 0x13b58: 0xe0006a11, 0x13b59: 0xe00067dd, 0x13b5a: 0xe00056f0, + 0x13b5d: 0xe00090a3, 0x13b5f: 0xe0006c5c, + 0x13b61: 0xe0004590, 0x13b62: 0xe000854e, 0x13b63: 0xe0006834, + 0x13b65: 0xe000446d, 0x13b66: 0xe000a472, 0x13b67: 0xe0006df2, + 0x13b68: 0xe000502f, 0x13b69: 0xe0004fd7, 0x13b6a: 0xe000514d, 0x13b6b: 0xe0008166, + 0x13b6c: 0xe000689c, 0x13b6d: 0xe0009cf1, 0x13b6e: 0xe0007c01, 0x13b6f: 0xe0007575, + 0x13b70: 0xe0005150, 0x13b71: 0xe000a565, 0x13b73: 0xe0006438, + 0x13b77: 0xe00090a6, + 0x13b78: 0xe00080a2, 0x13b79: 0xe0004f77, 0x13b7b: 0xe0009838, + 0x13b7c: 0xe000606c, 0x13b7d: 0xe00075c0, 0x13b7e: 0xe0006a14, 0x13b7f: 0xe00085ca, + // Block 0x4ee, offset 0x13b80 + 0x13b85: 0xe0007c3d, + 0x13b91: 0xe0008132, 0x13b92: 0xe0007aeb, 0x13b93: 0xe0005a68, + 0x13b94: 0xe0009c12, 0x13b95: 0xe0009709, 0x13b97: 0xe0006126, + 0x13b9b: 0xe0004199, + 0x13b9c: 0xe00060c8, 0x13b9e: 0xe0009e98, 0x13b9f: 0xe0004cc2, + 0x13ba0: 0xe000629c, 0x13ba1: 0xe000848c, 0x13ba3: 0xe00044f7, + 0x13ba5: 0xe0007829, 0x13ba6: 0xe0004850, 0x13ba7: 0xe0008892, + 0x13bab: 0xe0008b0d, + 0x13bb1: 0xe0007b9f, 0x13bb3: 0xe000569d, + 0x13bb4: 0xe00088d1, + 0x13bb9: 0xe0009e2c, 0x13bba: 0xe0005f3c, 0x13bbb: 0xe0006837, + 0x13bbd: 0xe0004853, 0x13bbe: 0xe0009fa9, 0x13bbf: 0xe0006247, + // Block 0x4ef, offset 0x13bc0 + 0x13bc0: 0xe0006914, 0x13bc1: 0xe0008fd9, 0x13bc2: 0xe0006168, 0x13bc3: 0xe0006568, + 0x13bc4: 0xe000419c, 0x13bc5: 0xe000606f, + 0x13bc8: 0xe0008644, 0x13bc9: 0xe0005ea7, + 0x13bd7: 0xe0006014, + 0x13bdb: 0xe00042a0, + 0x13bdc: 0xe0009574, 0x13bdd: 0xe000945a, + 0x13be3: 0xe0007cd9, + 0x13be8: 0xe000860e, 0x13bea: 0xe0004b51, 0x13beb: 0xe0005edb, + 0x13bef: 0xe00066e5, + 0x13bf1: 0xe0007204, 0x13bf2: 0xe0008647, 0x13bf3: 0xe0004434, + 0x13bf4: 0xe000a6e8, 0x13bf5: 0xe0008516, 0x13bf6: 0xe0005324, + 0x13bf8: 0xe0007f8a, 0x13bf9: 0xe00079cc, + 0x13bfc: 0xe00056a1, + // Block 0x4f0, offset 0x13c00 + 0x13c00: 0xe0007319, 0x13c03: 0xe0008a6d, + 0x13c07: 0xe000a202, + 0x13c09: 0xe000970c, 0x13c0a: 0xe000a3b5, + 0x13c0f: 0xe000859a, + 0x13c10: 0xe0009578, 0x13c11: 0xe000848f, 0x13c12: 0xe000a688, + 0x13c33: 0xe00056c7, + 0x13c37: 0xe000a005, + 0x13c3b: 0xe0008921, + // Block 0x4f1, offset 0x13c40 + 0x13c45: 0xe0005d48, + 0x13c49: 0xe0005d1e, 0x13c4a: 0xe0008786, + 0x13c4e: 0xe0006b5d, + 0x13c52: 0xe00044fa, 0x13c53: 0xe0005f3f, + 0x13c56: 0xe0004725, + 0x13c58: 0xe00074f9, 0x13c5a: 0xe0007aab, 0x13c5b: 0xe0008c59, + 0x13c5d: 0xe0008e86, 0x13c5e: 0xe0007e11, 0x13c5f: 0xe000a0f3, + 0x13c60: 0xe00082cc, 0x13c62: 0xe000a359, + 0x13c68: 0xe0005863, 0x13c69: 0xe00067e0, 0x13c6a: 0xe00075c3, 0x13c6b: 0xe0005e17, + 0x13c7d: 0xe0005edf, 0x13c7e: 0xe0005ef7, 0x13c7f: 0xe000864a, + // Block 0x4f2, offset 0x13c80 + 0x13c81: 0xe0009674, 0x13c82: 0xe0008955, + 0x13c85: 0xe0004a85, + 0x13c89: 0xe0005afa, 0x13c8a: 0xe0004d87, + 0x13c8c: 0xe0004f13, + 0x13c91: 0xe0009a05, 0x13c93: 0xe00049f9, + 0x13c94: 0xe0006719, 0x13c96: 0xe00093df, + 0x13c98: 0xe0007381, + 0x13c9c: 0xe000944b, 0x13c9f: 0xe00055a8, + 0x13ca0: 0xe0009d1b, 0x13ca1: 0xe000a0f7, + 0x13ca9: 0xe000669d, 0x13cab: 0xe0004f7b, + 0x13caf: 0xe000a568, + 0x13cb0: 0xe0004856, 0x13cb1: 0xe0005cd8, 0x13cb2: 0xe00069a8, + 0x13cb4: 0xe00076e3, 0x13cb6: 0xe0006781, + 0x13cb9: 0xe0008895, + 0x13cbd: 0xe00072b1, + // Block 0x4f3, offset 0x13cc0 + 0x13cc3: 0xe0009940, + 0x13cc4: 0xe0005560, 0x13cc6: 0xe0006a17, 0x13cc7: 0xe00087de, + 0x13cca: 0xe0005878, 0x13ccb: 0xe0009494, + 0x13ccc: 0xe0005f7c, 0x13ccd: 0xe0009e18, 0x13cce: 0xe00081c7, + 0x13ce9: 0xe000983b, + 0x13cec: 0xe0005e5b, + 0x13cf1: 0xe000a80e, + 0x13cf5: 0xe0007dd3, + 0x13cf8: 0xe0008272, 0x13cf9: 0xe0009df0, + 0x13cfc: 0xe000764f, 0x13cfd: 0xe0005797, + // Block 0x4f4, offset 0x13d00 + 0x13d06: 0xe00066b5, + 0x13d09: 0xe0007b33, 0x13d0a: 0xe00076ff, + 0x13d11: 0xe0009f60, + 0x13d17: 0xe0008898, + 0x13d1a: 0xe0007589, 0x13d1b: 0xe00042cc, + 0x13d21: 0xe0009e9b, 0x13d23: 0xe000566d, + 0x13d26: 0xe00081ca, + 0x13d29: 0xe0009d1e, 0x13d2a: 0xe00047f9, 0x13d2b: 0xe000a475, + 0x13d2c: 0xe000878a, 0x13d2d: 0xe00041de, 0x13d2f: 0xe000782d, + 0x13d31: 0xe00097e4, 0x13d33: 0xe00081f4, + 0x13d35: 0xe0004ec1, 0x13d37: 0xe000a7f2, + 0x13d3a: 0xe0009011, + // Block 0x4f5, offset 0x13d40 + 0x13d42: 0xe00096be, + 0x13d50: 0xe0007207, + 0x13d54: 0xe000742a, + 0x13d59: 0xe00060dc, + 0x13d5c: 0xe0006bfc, 0x13d5f: 0xe0004d52, + 0x13d61: 0xe000643c, + 0x13d68: 0xe000957c, + 0x13d6d: 0xe0009892, 0x13d6f: 0xe0004b9c, + 0x13d72: 0xe0009e9e, + 0x13d74: 0xe0006bd0, + 0x13d78: 0xe000903d, 0x13d79: 0xe0004689, 0x13d7a: 0xe00091f1, 0x13d7b: 0xe0007831, + 0x13d7c: 0xe00093e3, 0x13d7f: 0xe000a478, + // Block 0x4f6, offset 0x13d80 + 0x13d80: 0xe0007128, 0x13d81: 0xe0009199, 0x13d82: 0xe0006018, + 0x13d84: 0xe00098d2, 0x13d86: 0xe0006e28, + 0x13d89: 0xe0007f8e, 0x13d8a: 0xe0007d9a, 0x13d8b: 0xe0004470, + 0x13d8d: 0xe000742d, + 0x13d90: 0xe0007f3e, 0x13d91: 0xe0006b60, 0x13d93: 0xe00064d1, + 0x13d96: 0xe0006a1a, + 0x13d9a: 0xe000720a, + 0x13dac: 0xe000675d, 0x13dad: 0xe0007703, 0x13dae: 0xe0005988, 0x13daf: 0xe00097e8, + 0x13db1: 0xe0009e30, + 0x13db4: 0xe000731d, + 0x13dbc: 0xe0005bb6, 0x13dbd: 0xe0009fc5, + // Block 0x4f7, offset 0x13dc0 + 0x13dc0: 0xe000683a, + 0x13dc6: 0xe0005ce4, + 0x13dd1: 0xe0005fe4, 0x13dd3: 0xe0005e5f, + 0x13dd4: 0xe00066e9, 0x13dd5: 0xe00096c1, 0x13dd7: 0xe0008611, + 0x13dd8: 0xe0006c60, 0x13dda: 0xe00080d2, + 0x13dde: 0xe0005c06, 0x13ddf: 0xe0008f25, + 0x13de1: 0xe000944e, 0x13de3: 0xe000878e, + 0x13de5: 0xe00097dc, 0x13de6: 0xe0008dbb, + 0x13dea: 0xe0008b11, + 0x13dec: 0xe000708d, 0x13ded: 0xe00083b6, 0x13def: 0xe000915d, + 0x13dfd: 0xe0009e4d, 0x13dff: 0xe00081cd, + // Block 0x4f8, offset 0x13e00 + 0x13e01: 0xe00053f6, 0x13e03: 0xe0006510, + 0x13e06: 0xe0009580, + 0x13e09: 0xe000970f, 0x13e0a: 0xe0007c40, 0x13e0b: 0xe0007c43, + 0x13e0e: 0xe0004bf9, + 0x13e13: 0xe00080a6, + 0x13e15: 0xe00082cf, 0x13e16: 0xe00044fd, + 0x13e18: 0xe0007f19, 0x13e19: 0xe000a3f4, + 0x13e1e: 0xe00096c4, + 0x13e21: 0xe00068e4, 0x13e23: 0xe0007321, + 0x13e24: 0xe00082d2, + 0x13e28: 0xe0004e4f, 0x13e29: 0xe0009be0, 0x13e2a: 0xe000616b, 0x13e2b: 0xe00056a5, + 0x13e2d: 0xe0007090, + 0x13e3a: 0xe0009019, + 0x13e3e: 0xe0005b8f, + // Block 0x4f9, offset 0x13e40 + 0x13e40: 0xe0007d3a, + 0x13e44: 0xe00062fc, 0x13e46: 0xe00077a8, 0x13e47: 0xe0006217, + 0x13e49: 0xe0007c46, 0x13e4a: 0xe00047fc, + 0x13e4c: 0xe000a232, 0x13e4f: 0xe0008429, + 0x13e51: 0xe00043e4, + 0x13e54: 0xe0008792, 0x13e57: 0xe000816a, + 0x13e59: 0xe0009a08, 0x13e5b: 0xe0006f2c, + 0x13e5d: 0xe000542a, + 0x13e64: 0xe000a1da, 0x13e65: 0xe000979c, 0x13e66: 0xe0009528, + 0x13e68: 0xe000a7fe, 0x13e69: 0xe0006c48, 0x13e6a: 0xe00074fd, + 0x13e6f: 0xe0006dc5, + 0x13e70: 0xe000a7d6, + 0x13e7a: 0xe0008c98, + // Block 0x4fa, offset 0x13e80 + 0x13e81: 0xe0004859, + 0x13e89: 0xe0008614, + 0x13e8d: 0xe0005813, 0x13e8e: 0xe0007501, 0x13e8f: 0xe0008796, + 0x13e90: 0xe0006132, + 0x13e95: 0xe000800b, + 0x13e9c: 0xe00058fe, 0x13e9d: 0xe0007c04, + 0x13ea4: 0xe0005724, 0x13ea5: 0xe0007835, + 0x13ea9: 0xe0006514, 0x13eaa: 0xe000720d, + 0x13eb7: 0xe000889b, + 0x13eb9: 0xe00077ab, 0x13eba: 0xe0005d6d, 0x13ebb: 0xe0008d4f, + 0x13ebd: 0xe0009a3e, 0x13ebf: 0xe0004a3d, + // Block 0x4fb, offset 0x13ec0 + 0x13ec0: 0xe0009b4c, 0x13ec2: 0xe0007c07, + 0x13ec4: 0xe0005153, 0x13ec6: 0xe0005aac, 0x13ec7: 0xe0007093, + 0x13eca: 0xe0007d22, 0x13ecb: 0xe0006a93, + 0x13ed6: 0xe000795f, 0x13ed7: 0xe00065a0, + 0x13ed8: 0xe00078d1, 0x13eda: 0xe0006eac, + 0x13ee2: 0xe0005b56, + 0x13ee7: 0xe0004500, + 0x13ee9: 0xe0006528, + 0x13eed: 0xe00057c3, 0x13eef: 0xe0009bf0, + 0x13efc: 0xe000624a, 0x13eff: 0xe0005760, + // Block 0x4fc, offset 0x13f00 + 0x13f01: 0xe0005156, + 0x13f0e: 0xe000a47b, + 0x13f10: 0xe000a037, 0x13f13: 0xe000a76c, + 0x13f14: 0xe000452c, 0x13f15: 0xe000948e, + 0x13f1b: 0xe000a23c, + 0x13f1c: 0xe0005aaf, 0x13f1e: 0xe000800e, 0x13f1f: 0xe000a47e, + 0x13f27: 0xe000a85d, + 0x13f2b: 0xe000a82d, + 0x13f2c: 0xe0004eee, 0x13f2f: 0xe0004ef1, + 0x13f31: 0xe000739a, + 0x13f38: 0xe000864d, 0x13f39: 0xe000a52d, 0x13f3a: 0xe000a830, 0x13f3b: 0xe0005f8c, + // Block 0x4fd, offset 0x13f40 + 0x13f4a: 0xe00061b9, 0x13f4b: 0xe0007c49, + 0x13f4c: 0xe0006440, 0x13f4d: 0xe0006a1d, + 0x13f53: 0xe000851a, + 0x13f55: 0xe0009584, + 0x13f63: 0xe00049aa, + 0x13f64: 0xe0008d52, + 0x13f68: 0xe000683d, 0x13f69: 0xe00099e1, 0x13f6a: 0xe00056df, + 0x13f6f: 0xe0004d55, + 0x13f70: 0xe00082d5, 0x13f71: 0xe0009481, + 0x13f74: 0xe00082d8, + // Block 0x4fe, offset 0x13f80 + 0x13f80: 0xe0008f28, + 0x13f85: 0xe0008b15, 0x13f86: 0xe00088d4, 0x13f87: 0xe0006b63, + 0x13f89: 0xe0005a6c, 0x13f8b: 0xe000536a, + 0x13f94: 0xe000a6eb, + 0x13f99: 0xe0007db5, 0x13f9b: 0xe0008ee6, + 0x13f9e: 0xe000a638, 0x13f9f: 0xe0004bfc, + 0x13fa3: 0xe000518f, + 0x13fa4: 0xe000a113, + 0x13fa9: 0xe00049ce, + 0x13fac: 0xe00049d2, 0x13fad: 0xe00091d9, + 0x13fb8: 0xe00070db, 0x13fb9: 0xe0007fbe, 0x13fbb: 0xe0007039, + 0x13fbe: 0xe00075c6, + // Block 0x4ff, offset 0x13fc0 + 0x13fc0: 0xe0009788, 0x13fc2: 0xe0006761, 0x13fc3: 0xe0007505, + 0x13fc6: 0xe000a309, + 0x13fc8: 0xe0007ca3, 0x13fc9: 0xe0006840, 0x13fca: 0xe0005d4b, 0x13fcb: 0xe0005867, + 0x13fd1: 0xe000539a, + 0x13fd8: 0xe00090a9, 0x13fda: 0xe00069ab, + 0x13fdc: 0xe00062b0, 0x13fdd: 0xe0005159, + 0x13fe1: 0xe0006bae, + 0x13fe5: 0xe0006e44, + 0x13fe8: 0xe0008b39, 0x13fe9: 0xe0008dbe, + 0x13ff4: 0xe00094f0, 0x13ff5: 0xe0007aaf, 0x13ff7: 0xe0004e43, + 0x13ffa: 0xe0007c4c, 0x13ffb: 0xe000968c, + 0x13fff: 0xe000816e, + // Block 0x500, offset 0x14000 + 0x14000: 0xe00056a9, + 0x1400c: 0xe0004a26, 0x1400e: 0xe00042d4, + 0x14015: 0xe000749d, 0x14017: 0xe000a68c, + 0x14019: 0xe0009df4, + 0x1401f: 0xe00081d0, + 0x14020: 0xe000671d, + 0x14024: 0xe00082db, 0x14025: 0xe000609c, 0x14026: 0xe000a008, + 0x14028: 0xe0007396, + 0x1402e: 0xe0006721, + 0x14034: 0xe000a481, 0x14036: 0xe0008b2d, + 0x14038: 0xe0007db8, + // Block 0x501, offset 0x14040 + 0x14042: 0xe000584f, 0x14043: 0xe000647c, + 0x1404c: 0xe00063a0, 0x1404d: 0xe000834e, + 0x14058: 0xe0008453, + 0x1405e: 0xe0005dfb, 0x1405f: 0xe000601c, + 0x14062: 0xe000a3b9, 0x14063: 0xe000574c, + 0x1406d: 0xe0005d4e, + 0x14073: 0xe0005472, + 0x14074: 0xe000919d, + 0x1407a: 0xe0005763, 0x1407b: 0xe0005c21, + 0x1407d: 0xe0008e69, + // Block 0x502, offset 0x14080 + 0x14080: 0xe0007144, + 0x14084: 0xe0009a96, 0x14087: 0xe0005dfe, + 0x1408a: 0xe000609f, 0x1408b: 0xe0007551, + 0x14092: 0xe0005efb, + 0x1409a: 0xe0009da8, 0x1409b: 0xe0009dac, + 0x140a0: 0xe0006378, 0x140a3: 0xe000515c, + 0x140ac: 0xe0006eb0, 0x140af: 0xe0007ee0, + 0x140b2: 0xe0009922, + 0x140b7: 0xe00054a2, + 0x140b9: 0xe000a1b0, 0x140bb: 0xe000842c, + 0x140be: 0xe0006f74, + // Block 0x503, offset 0x140c0 + 0x140c5: 0xe00073de, + 0x140cd: 0xe00042ec, + 0x140d1: 0xe0007bd3, + 0x140d5: 0xe0007ab3, + 0x140df: 0xe000582f, + 0x140e1: 0xe000592b, 0x140e2: 0xe0008f89, 0x140e3: 0xe0005901, + 0x140f1: 0xe000485c, 0x140f2: 0xe000462d, + 0x140f6: 0xe00086f6, + 0x140f9: 0xe00056e2, 0x140fb: 0xe0005e63, + // Block 0x504, offset 0x14100 + 0x14100: 0xe000a321, + 0x14104: 0xe00052f1, 0x14106: 0xe0008fe9, + 0x1410a: 0xe0005fec, + 0x1410c: 0xe000a206, 0x1410d: 0xe0007a73, 0x1410e: 0xe00042a4, + 0x14112: 0xe000a2d9, 0x14113: 0xe0007365, + 0x14117: 0xe000419f, + 0x14119: 0xe00075c9, 0x1411b: 0xe00081d3, + 0x1411d: 0xe0009926, 0x1411e: 0xe00081f7, + 0x14121: 0xe000a3bd, 0x14122: 0xe0004cc5, 0x14123: 0xe000842f, + 0x14128: 0xe0009f06, 0x1412b: 0xe0006c64, + 0x1412e: 0xe000493a, + 0x14130: 0xe0007189, 0x14132: 0xe0005204, + 0x14137: 0xe000992a, + 0x1413d: 0xe00085a6, 0x1413e: 0xe0004fdb, 0x1413f: 0xe0004fdf, + // Block 0x505, offset 0x14140 + 0x14141: 0xe0008136, 0x14142: 0xe0006030, + 0x14148: 0xe00041a2, 0x1414b: 0xe00054e2, + 0x1414d: 0xe0009ea1, + 0x14152: 0xe000536e, + 0x14156: 0xe0007210, 0x14157: 0xe0009161, + 0x1415b: 0xe00088d7, + 0x1415d: 0xe0006843, 0x1415e: 0xe000491e, + 0x14162: 0xe000652c, + 0x1416a: 0xe0004503, 0x1416b: 0xe0009f70, + 0x14174: 0xe000485f, + // Block 0x506, offset 0x14180 + 0x14180: 0xe0008552, 0x14181: 0xe000881e, 0x14182: 0xe00059c8, + 0x14185: 0xe00087e2, + 0x1418a: 0xe00052c9, + 0x1418d: 0xe000493e, 0x1418f: 0xe0005d21, + 0x14192: 0xe0006846, + 0x14194: 0xe0007c0a, 0x14195: 0xe0008275, + 0x14198: 0xe0004d58, 0x14199: 0xe0004db3, + 0x1419c: 0xe00066a0, 0x1419d: 0xe000879a, 0x1419f: 0xe0006b66, + 0x141a1: 0xe0005d24, + 0x141a8: 0xe00069ae, + 0x141af: 0xe0008f2b, + 0x141b1: 0xe0009f2d, 0x141b3: 0xe0006d04, + 0x141b4: 0xe00064b0, 0x141b5: 0xe00064b3, + 0x141b8: 0xe0005766, 0x141b9: 0xe0004a29, + 0x141bd: 0xe0008c9b, 0x141be: 0xe0004506, + // Block 0x507, offset 0x141c0 + 0x141c4: 0xe0009497, 0x141c7: 0xe00066ed, + 0x141ca: 0xe0009df8, + 0x141cc: 0xe0004942, + 0x141d0: 0xe00042d0, 0x141d2: 0xe0009ea4, 0x141d3: 0xe00066a3, + 0x141d5: 0xe00082de, + 0x141d8: 0xe00081d6, 0x141d9: 0xe00064b6, 0x141da: 0xe00088da, + 0x141e5: 0xe0007f32, 0x141e7: 0xe0004785, + 0x141ea: 0xe0009c8f, 0x141eb: 0xe0009a0b, + 0x141f0: 0xe0004548, + 0x141f6: 0xe00073aa, + 0x141f8: 0xe0005c09, 0x141fa: 0xe0009660, 0x141fb: 0xe0006f30, + // Block 0x508, offset 0x14200 + 0x14201: 0xe00043e8, + 0x14204: 0xe00078a5, + 0x1420d: 0xe000871a, + 0x14216: 0xe0007cdc, + 0x14218: 0xe0004b9f, + 0x1421c: 0xe0009624, 0x1421e: 0xe00065b8, 0x1421f: 0xe0004fe3, + 0x14220: 0xe00054a6, + 0x14224: 0xe0005817, + 0x1422a: 0xe0005eab, + 0x1422d: 0xe000a988, 0x1422f: 0xe0009a42, + 0x14232: 0xe00073ae, + 0x14234: 0xe00057db, + 0x1423f: 0xe0006dc8, + // Block 0x509, offset 0x14240 + 0x14241: 0xe0007ee3, 0x14243: 0xe00053fa, + 0x14246: 0xe00066f1, 0x14247: 0xe0009d7b, + 0x14248: 0xe000a1f2, 0x14249: 0xe000515f, 0x1424b: 0xe0004601, + 0x1424f: 0xe0004ec4, + 0x14253: 0xe0005f94, + 0x14256: 0xe0007430, 0x14257: 0xe0006bb1, + 0x14258: 0xe0008b19, + 0x14261: 0xe00045c5, + 0x14268: 0xe0007653, 0x14269: 0xe0005563, 0x1426a: 0xe0009a36, + 0x1426c: 0xe0005162, 0x1426f: 0xe0004d5b, + 0x14272: 0xe0004f7f, + 0x14277: 0xe000949a, + 0x1427a: 0xe0004204, + 0x1427d: 0xe000581b, 0x1427f: 0xe0008959, + // Block 0x50a, offset 0x14280 + 0x14280: 0xe0004a89, + 0x14292: 0xe0004208, + 0x14294: 0xe0004fa7, 0x14296: 0xe0004651, + 0x1429a: 0xe00048b6, + 0x1429c: 0xe0008650, 0x1429d: 0xe00088dd, + 0x142a3: 0xe000a1b3, + 0x142a5: 0xe0004bba, + 0x142b1: 0xe0009fc9, 0x142b3: 0xe00048f6, + 0x142b4: 0xe0006d08, + 0x142b8: 0xe000978c, + // Block 0x50b, offset 0x142c0 + 0x142c0: 0xe0007937, 0x142c2: 0xe0008bed, 0x142c3: 0xe00067e3, + 0x142c7: 0xe0004bbe, + 0x142c8: 0xe00047d2, 0x142c9: 0xe0006570, 0x142ca: 0xe0007509, + 0x142cc: 0xe000a531, 0x142ce: 0xe0009c53, + 0x142d0: 0xe00076bb, 0x142d1: 0xe00084b6, 0x142d3: 0xe000a7da, + 0x142d4: 0xe000839a, 0x142d5: 0xe0006c28, 0x142d6: 0xe000a8d3, 0x142d7: 0xe0009b2c, + 0x142d8: 0xe00050e7, 0x142db: 0xe0007dbb, + 0x142dd: 0xe00075cc, 0x142df: 0xe0007158, + 0x142e2: 0xe000a8bf, 0x142e3: 0xe0004649, + 0x142e5: 0xe00052d9, + 0x142ea: 0xe0006444, + 0x142ed: 0xe0006f34, + 0x142f1: 0xe000a23f, + 0x142f4: 0xe0007096, 0x142f6: 0xe00041a5, + 0x142fa: 0xe0009165, 0x142fb: 0xe0008ee9, + 0x142fc: 0xe0008c5d, 0x142fe: 0xe0008653, + // Block 0x50c, offset 0x14300 + 0x14301: 0xe00048b9, + 0x14306: 0xe00088e0, + 0x1430b: 0xe0008f2e, + 0x14310: 0xe0006b69, 0x14311: 0xe00084b9, + 0x14314: 0xe0008d55, 0x14315: 0xe0009e1c, 0x14316: 0xe0009f79, 0x14317: 0xe000a3d9, + 0x14318: 0xe0004de7, 0x1431b: 0xe000889e, + 0x1431e: 0xe0006b6c, + 0x14320: 0xe0007ba3, 0x14321: 0xe000a7ae, 0x14322: 0xe0007325, 0x14323: 0xe0007c0d, + 0x14326: 0xe0007433, + 0x14329: 0xe0007436, 0x1432b: 0xe0009ae7, + 0x1432c: 0xe0004d5e, 0x1432d: 0xe0004e64, 0x1432e: 0xe00089dd, + 0x14330: 0xe000a97c, 0x14331: 0xe000a56b, 0x14332: 0xe000a1b6, 0x14333: 0xe0006d0c, + 0x14335: 0xe0006eb4, + 0x14339: 0xe0009600, + 0x1433c: 0xe000a703, 0x1433f: 0xe0004b6f, + // Block 0x50d, offset 0x14340 + 0x14342: 0xe0008dc1, + 0x14344: 0xe0005b92, 0x14345: 0xe0008eec, 0x14346: 0xe0004b55, 0x14347: 0xe00049fc, + 0x1434c: 0xe00090ac, 0x1434d: 0xe000851e, + 0x14351: 0xe0004b59, 0x14353: 0xe0006dcb, + 0x14355: 0xe0009b7c, + 0x14358: 0xe0008278, 0x1435a: 0xe0009751, + 0x1435e: 0xe00078f7, + 0x14360: 0xe0007008, 0x14361: 0xe00047d5, 0x14362: 0xe000a30d, 0x14363: 0xe000616e, + 0x14364: 0xe0007ca6, 0x14365: 0xe0004862, 0x14366: 0xe000715c, 0x14367: 0xe0009ec8, + 0x14368: 0xe000a6ee, 0x1436a: 0xe0006f38, + 0x14370: 0xe0007213, 0x14372: 0xe00049ff, + 0x14379: 0xe00069b1, + 0x1437c: 0xe0008432, 0x1437e: 0xe0008366, 0x1437f: 0xe0008d58, + // Block 0x50e, offset 0x14380 + 0x14382: 0xe0009604, + 0x14384: 0xe0007329, 0x14387: 0xe00053fe, + 0x14389: 0xe00081fa, 0x1438b: 0xe0009678, + 0x1438d: 0xe0008847, 0x1438f: 0xe000983e, + 0x14392: 0xe00058b9, + 0x14396: 0xe0005b26, + 0x1439b: 0xe000827b, + 0x1439c: 0xe0009644, 0x1439e: 0xe0009dfc, 0x1439f: 0xe0007463, + 0x143a0: 0xe000a816, 0x143a1: 0xe0007439, + 0x143a4: 0xe0007657, 0x143a6: 0xe00096a3, 0x143a7: 0xe000a1b9, + 0x143aa: 0xe0008bf1, 0x143ab: 0xe0004280, + 0x143ad: 0xe000827e, 0x143ae: 0xe0008617, + 0x143b0: 0xe0007466, 0x143b1: 0xe000a842, 0x143b3: 0xe0007707, + 0x143b4: 0xe000a0fb, 0x143b6: 0xe0007579, 0x143b7: 0xe0009f4c, + 0x143b8: 0xe0008c9e, 0x143ba: 0xe000793b, + 0x143bc: 0xe000a81a, 0x143be: 0xe00051bc, + // Block 0x50f, offset 0x143c0 + 0x143c0: 0xe0006072, 0x143c1: 0xe000769f, 0x143c2: 0xe00081d9, + 0x143c4: 0xe0005728, 0x143c7: 0xe000454c, + 0x143cc: 0xe00041e1, 0x143ce: 0xe000621a, + 0x143d0: 0xe00062b4, 0x143d1: 0xe000a412, + 0x143d4: 0xe000a03b, 0x143d6: 0xe0007108, 0x143d7: 0xe0006448, + 0x143d9: 0xe0004665, 0x143da: 0xe00084d6, 0x143db: 0xe00043ec, + 0x143dc: 0xe0008172, 0x143dd: 0xe0006b6f, + 0x143e0: 0xe0007ee6, 0x143e3: 0xe0008050, + 0x143e6: 0xe0004789, + 0x143e8: 0xe0006075, 0x143eb: 0xe0008925, + 0x143ec: 0xe0005c4b, + 0x143f3: 0xe0004cc8, + 0x143f7: 0xe0007cdf, + 0x143f9: 0xe0004f83, + 0x143fe: 0xe0005e83, + // Block 0x510, offset 0x14400 + 0x14401: 0xe000a56e, 0x14403: 0xe000a7b1, + 0x14409: 0xe0009041, + 0x1440c: 0xe0007dd6, 0x1440e: 0xe000a873, 0x1440f: 0xe00050ea, + 0x14414: 0xe0006ef8, 0x14416: 0xe0009377, + 0x14418: 0xe00074a1, 0x14419: 0xe0009754, 0x1441a: 0xe0005402, + 0x1441c: 0xe00066a6, 0x1441f: 0xe0008dc4, + 0x14426: 0xe0004729, + 0x1442b: 0xe0006f94, + 0x1442c: 0xe00069b4, 0x1442f: 0xe00079f3, + 0x14430: 0xe0008435, 0x14431: 0xe0006efc, + 0x14434: 0xe0004605, 0x14437: 0xe000a484, + 0x1443d: 0xe0007c10, 0x1443f: 0xe000a415, + // Block 0x511, offset 0x14440 + 0x14440: 0xe00055e1, + 0x14449: 0xe00082e1, 0x1444a: 0xe00065cc, + 0x1444c: 0xe0007ab7, 0x1444e: 0xe0007276, + 0x14450: 0xe0007216, 0x14452: 0xe0009347, 0x14453: 0xe00078a9, + 0x14456: 0xe000934b, + 0x1445a: 0xe00092d7, + 0x1445c: 0xe00054aa, 0x1445e: 0xe000794b, + // Block 0x512, offset 0x14480 + 0x144b7: 0xe00048e2, + 0x144bf: 0xe00047d8, + // Block 0x513, offset 0x144c0 + 0x144c1: 0xe000a630, + 0x144c6: 0xe00056ca, 0x144c7: 0xe0004438, + 0x144c8: 0xe00050ed, 0x144c9: 0xe0007469, 0x144ca: 0xe0009f50, + 0x144cc: 0xe0007e15, 0x144ce: 0xe0007279, + 0x144d5: 0xe000743c, 0x144d6: 0xe00098ee, + 0x144da: 0xe000560d, + 0x144e1: 0xe0006d10, 0x144e2: 0xe000a610, + 0x144e8: 0xe000a976, 0x144ea: 0xe000a487, 0x144eb: 0xe0007c13, + 0x144ec: 0xe00088e3, + 0x144f3: 0xe0006a97, + 0x144f8: 0xe0009a0e, 0x144f9: 0xe0009f09, 0x144fa: 0xe000743f, + // Block 0x514, offset 0x14500 + 0x14502: 0xe0009712, 0x14503: 0xe0005f60, + 0x1450a: 0xe0005f4c, + 0x1450c: 0xe0006078, 0x1450d: 0xe0005d51, + 0x14513: 0xe0006135, + 0x14514: 0xe0006a20, + 0x14518: 0xe0005f64, + 0x1451d: 0xe0009d7e, 0x1451e: 0xe0008bf5, + 0x14520: 0xe00067e6, 0x14521: 0xe0008821, 0x14522: 0xe00049ae, + 0x14527: 0xe0006a73, + 0x14528: 0xe000a571, 0x14529: 0xe0009d38, 0x1452a: 0xe0009bac, 0x1452b: 0xe0004a8d, + 0x1452c: 0xe0009469, 0x1452f: 0xe00088a1, + 0x14530: 0xe000702d, 0x14532: 0xe0008656, 0x14533: 0xe0008495, + 0x14534: 0xe0004e9d, 0x14536: 0xe0009e00, 0x14537: 0xe0005f21, + 0x14538: 0xe00054e5, 0x1453a: 0xe000a6b0, 0x1453b: 0xe00069b7, + 0x1453c: 0xe0009648, 0x1453d: 0xe0008492, 0x1453f: 0xe0006171, + // Block 0x515, offset 0x14540 + 0x14540: 0xe000a00b, 0x14541: 0xe00068a0, 0x14542: 0xe0005b6e, 0x14543: 0xe000859e, + 0x14544: 0xe000a6f1, 0x14546: 0xe00065f0, 0x14547: 0xe000861a, + 0x14548: 0xe00041a8, 0x1454a: 0xe0008929, + 0x14551: 0xe0009169, 0x14553: 0xe0006a77, + 0x14559: 0xe0008f31, 0x1455a: 0xe0005b71, + 0x1455c: 0xe0006b72, 0x1455e: 0xe0006d14, + 0x14560: 0xe00064b9, 0x14561: 0xe00044a6, 0x14562: 0xe000a2dd, 0x14563: 0xe0005f24, + 0x14564: 0xe000952c, 0x14566: 0xe00067e9, + 0x1456a: 0xe00091dd, + 0x1456c: 0xe00087e6, 0x1456d: 0xe0005566, + 0x14574: 0xe0005b74, + 0x1457b: 0xe00067ec, + 0x1457c: 0xe0004ccb, 0x1457d: 0xe0006d46, + // Block 0x516, offset 0x14580 + 0x14584: 0xe00090af, 0x14585: 0xe0009943, 0x14587: 0xe0008322, + 0x14588: 0xe0009045, 0x1458a: 0xe00092db, 0x1458b: 0xe0007693, + 0x1458d: 0xe0006f78, 0x1458f: 0xe0007bd7, + 0x14590: 0xe0007535, 0x14593: 0xe000879e, + 0x14594: 0xe0006a23, 0x14596: 0xe000710c, + 0x1459b: 0xe00049d6, + // Block 0x517, offset 0x145c0 + 0x145e4: 0xe000892d, 0x145e6: 0xe0006b75, 0x145e7: 0xe00051d4, + 0x145eb: 0xe000a281, + 0x145ed: 0xe0008659, + 0x145f0: 0xe0008eef, 0x145f3: 0xe0004ec7, + 0x145f4: 0xe00067ef, 0x145f6: 0xe00042a8, 0x145f7: 0xe00050f0, + // Block 0x518, offset 0x14600 + 0x14601: 0xe00091a1, + 0x14605: 0xe0009715, + 0x1460a: 0xe000818a, + 0x1460e: 0xe0008f34, + 0x14610: 0xe000a32d, + 0x14619: 0xe0008d5b, + 0x14620: 0xe0009757, 0x14623: 0xe0009973, + 0x14628: 0xe0009841, 0x1462b: 0xe0004c38, + 0x14632: 0xe0009307, 0x14633: 0xe0008de1, + 0x1463a: 0xe00067f2, + 0x1463e: 0xe00090b2, + // Block 0x519, offset 0x14640 + 0x14642: 0xe0005165, + 0x14646: 0xe0009c15, + 0x1464b: 0xe00063c0, + 0x1464c: 0xe00091e1, 0x1464e: 0xe0009aea, 0x1464f: 0xe00041ab, + 0x14655: 0xe0008b3d, 0x14656: 0xe00094f4, 0x14657: 0xe0006849, + 0x1465b: 0xe0009cf4, + 0x1465d: 0xe00044d3, 0x1465f: 0xe0004fab, + 0x14661: 0xe0008931, 0x14663: 0xe0006eb8, + 0x14668: 0xe0004a02, 0x1466a: 0xe0004e8b, 0x1466b: 0xe00049da, + 0x1466c: 0xe0004ef4, 0x1466f: 0xe0005ab2, + 0x14671: 0xe0009a11, 0x14673: 0xe0005569, + 0x1467c: 0xe0004d9f, + // Block 0x51a, offset 0x14680 + 0x14686: 0xe0008fbd, + 0x14688: 0xe00070de, 0x14689: 0xe00058d5, 0x1468a: 0xe0007f92, + 0x1468f: 0xe0005446, + 0x14690: 0xe0009530, + 0x14694: 0xe0009b50, + 0x1469d: 0xe0004a2c, 0x1469e: 0xe00044d6, 0x1469f: 0xe00090d3, + 0x146aa: 0xe0008e39, + 0x146b0: 0xe0008281, + 0x146b4: 0xe0007fc2, 0x146b5: 0xe0008e3d, 0x146b6: 0xe0008cd1, + 0x146bd: 0xe0008053, + // Block 0x51b, offset 0x146c0 + 0x146c0: 0xe0008b41, 0x146c2: 0xe0008284, + 0x146c4: 0xe0008ca1, 0x146c7: 0xe0004530, + 0x146c8: 0xe000556c, 0x146c9: 0xe0009266, 0x146ca: 0xe000a3f7, + 0x146cc: 0xe000941b, 0x146cf: 0xe0008cd4, + 0x146d5: 0xe0009fcd, + 0x146d9: 0xe00098d6, + 0x146dc: 0xe00098f2, 0x146df: 0xe0008935, + 0x146e0: 0xe00094cc, 0x146e3: 0xe0005e87, + 0x146e4: 0xe0008e6d, + 0x146f2: 0xe0008fc1, + 0x146f4: 0xe00098da, 0x146f6: 0xe0004e53, + 0x146fb: 0xe0004c3b, + // Block 0x51c, offset 0x14700 + 0x14701: 0xe0008d5e, + 0x14705: 0xe00097a0, 0x14707: 0xe00088a4, + 0x14709: 0xe000561d, 0x1470a: 0xe0008ef2, 0x1470b: 0xe0008cd7, + 0x1470d: 0xe0007839, + 0x14710: 0xe00059fc, 0x14711: 0xe00094f8, 0x14713: 0xe00090d6, + 0x14714: 0xe0008a71, + 0x14719: 0xe0005d9d, + 0x14721: 0xe0006fbc, + 0x14729: 0xe0004a4d, 0x1472a: 0xe0005d71, 0x1472b: 0xe000750d, + 0x1472c: 0xe0004dff, + 0x14731: 0xe0009aed, 0x14733: 0xe0004e03, + // Block 0x51d, offset 0x14740 + 0x14740: 0xe0004cce, + 0x14746: 0xe00096c7, + 0x1474a: 0xe0009269, 0x1474b: 0xe00076a3, + 0x1474c: 0xe0004e67, 0x1474d: 0xe0004db7, + 0x14752: 0xe000a251, + 0x1475f: 0xe0007a77, + 0x14768: 0xe0005a70, 0x1476b: 0xe000916d, + 0x14778: 0xe00098de, 0x14779: 0xe00090d9, 0x1477a: 0xe000975a, 0x1477b: 0xe00041ae, + 0x1477c: 0xe000857e, 0x1477e: 0xe00074a5, + // Block 0x51e, offset 0x14780 + 0x14783: 0xe0004bff, + 0x14785: 0xe0005ab5, 0x14787: 0xe0008a75, + 0x14788: 0xe0008f37, 0x14789: 0xe0008824, + 0x14792: 0xe000964c, 0x14793: 0xe0005e67, + 0x14794: 0xe00066a9, 0x14795: 0xe000472d, + 0x1479b: 0xe00058bd, + 0x1479c: 0xe00099e4, 0x1479d: 0xe000a845, 0x1479e: 0xe0005ee3, 0x1479f: 0xe00095ac, + 0x147a6: 0xe000598c, 0x147a7: 0xe0006650, + 0x147a8: 0xe0004ab9, 0x147a9: 0xe00064bc, 0x147aa: 0xe0005c84, + 0x147af: 0xe0009215, + 0x147b0: 0xe00078d5, 0x147b3: 0xe0008ef5, + 0x147b8: 0xe0007219, 0x147b9: 0xe00066f5, 0x147bb: 0xe00066f9, + 0x147be: 0xe00089e1, 0x147bf: 0xe00079cf, + // Block 0x51f, offset 0x147c0 + 0x147c0: 0xe0007d3e, 0x147c2: 0xe00048fa, + 0x147c4: 0xe000a0bb, 0x147c5: 0xe000813a, 0x147c6: 0xe0005b1e, + 0x147c9: 0xe00089e5, + 0x147cd: 0xe00095b0, 0x147ce: 0xe0004c02, + 0x147d2: 0xe00068e8, + 0x147d4: 0xe0005da1, 0x147d7: 0xe0004374, + 0x147d8: 0xe000a614, + 0x147dd: 0xe00079d2, 0x147de: 0xe000a0ff, 0x147df: 0xe0004bb2, + 0x147e1: 0xe0006a26, 0x147e2: 0xe0005948, 0x147e3: 0xe0005960, + 0x147e4: 0xe0005ad9, + // Block 0x520, offset 0x14800 + 0x1481b: 0xe0007511, + 0x1481c: 0xe0004865, 0x1481f: 0xe0009f7c, + 0x14822: 0xe00057f3, 0x14823: 0xe00057eb, + 0x14826: 0xe0009d3c, + 0x14828: 0xe00065d0, + 0x1482d: 0xe0006b78, 0x1482e: 0xe00065e8, 0x1482f: 0xe00065d4, + 0x14830: 0xe0009171, 0x14831: 0xe0007f36, 0x14832: 0xe000529d, + 0x1483b: 0xe000759d, + 0x1483f: 0xe0009588, + // Block 0x521, offset 0x14840 + 0x14840: 0xe00042ac, 0x14842: 0xe0008011, 0x14843: 0xe0007ce2, + 0x14844: 0xe000a8e3, 0x14845: 0xe0007515, + 0x1484d: 0xe0005704, 0x1484e: 0xe0007ba7, + 0x14851: 0xe0004f87, 0x14853: 0xe00075f6, + 0x14854: 0xe000637c, 0x14855: 0xe0007ce5, + 0x14862: 0xe000975d, + 0x14864: 0xe00084bc, 0x14865: 0xe000a3dd, 0x14866: 0xe00041b1, + 0x14868: 0xe0009c2a, 0x1486a: 0xe0008939, 0x1486b: 0xe0006300, + 0x1486c: 0xe0007e61, 0x1486d: 0xe00091e5, + 0x14870: 0xe0007369, 0x14872: 0xe000459c, + 0x14874: 0xe000a706, 0x14877: 0xe000621d, + 0x14878: 0xe000666c, 0x14879: 0xe000893d, 0x1487a: 0xe000522c, + 0x1487d: 0xe0009844, + // Block 0x522, offset 0x14880 + 0x14880: 0xe0009c92, 0x14881: 0xe0007160, 0x14882: 0xe0004ae1, 0x14883: 0xe000556f, + 0x14885: 0xe000a796, 0x14886: 0xe00079f7, + 0x14888: 0xe000a3c1, 0x1488b: 0xe0009ea7, + 0x1488c: 0xe00082e4, 0x1488d: 0xe0007099, 0x1488f: 0xe0009ca7, + 0x14890: 0xe00098e2, 0x14891: 0xe0004cd1, + 0x14894: 0xe0005572, 0x14895: 0xe0004731, 0x14896: 0xe000895d, 0x14897: 0xe00056cd, + 0x14899: 0xe00088a7, 0x1489a: 0xe0009c76, + 0x1489d: 0xe0006dce, 0x1489e: 0xe0005a30, 0x1489f: 0xe0007110, + 0x148a0: 0xe0008d61, 0x148a1: 0xe0008f8d, 0x148a2: 0xe0006765, 0x148a3: 0xe0005990, + 0x148ae: 0xe00096a6, + 0x148b1: 0xe0008ef8, 0x148b2: 0xe0009175, + 0x148b4: 0xe0009b54, 0x148b5: 0xe0004eca, 0x148b6: 0xe00081fd, + 0x148b8: 0xe000856e, + 0x148bc: 0xe0009fe5, 0x148be: 0xe000828a, + // Block 0x523, offset 0x148c0 + 0x148c1: 0xe00056f4, 0x148c2: 0xe000721c, + 0x148c7: 0xe0008014, + 0x148c9: 0xe0008c61, 0x148ca: 0xe0008287, 0x148cb: 0xe00080aa, + 0x148cd: 0xe0009dd0, 0x148ce: 0xe0004a05, 0x148cf: 0xe00076bf, + 0x148d0: 0xe000a00e, 0x148d1: 0xe000a690, 0x148d2: 0xe0008f3a, 0x148d3: 0xe0005575, + 0x148d4: 0xe00053ae, 0x148d5: 0xe00081dc, + 0x148d8: 0xe0004d61, 0x148d9: 0xe0007ee9, 0x148db: 0xe0005c5a, + 0x148dc: 0xe000712c, 0x148dd: 0xe000544a, 0x148de: 0xe00096a9, + 0x148e0: 0xe000813e, 0x148e1: 0xe000709c, 0x148e3: 0xe0004609, + 0x148e8: 0xe0007ce8, 0x148e9: 0xe0008941, + 0x148ec: 0xe0007118, 0x148ed: 0xe0008d64, 0x148ee: 0xe000926c, 0x148ef: 0xe00056f8, + 0x148f2: 0xe00090b5, + 0x148f5: 0xe0008f91, 0x148f6: 0xe0007f1c, 0x148f7: 0xe0009534, + 0x148f8: 0xe0006ebc, 0x148fa: 0xe000828d, + 0x148fc: 0xe0005bb9, 0x148fd: 0xe00044d9, 0x148ff: 0xe0009f73, + // Block 0x524, offset 0x14900 + 0x14900: 0xe0007eec, 0x14901: 0xe0005f27, 0x14902: 0xe000a1bc, 0x14903: 0xe000721f, + 0x14904: 0xe000a5e8, 0x14905: 0xe0008a79, 0x14907: 0xe0008498, + 0x14908: 0xe0005e1b, 0x1490a: 0xe00065d8, + 0x1490c: 0xe000592e, 0x1490f: 0xe0005769, + 0x14910: 0xe0005d54, 0x14911: 0xe00083e2, + 0x14915: 0xe0007d76, + 0x14919: 0xe0005ee7, + 0x14920: 0xe0006a9b, 0x14922: 0xe000a3c5, 0x14923: 0xe00051aa, + 0x14926: 0xe000644c, + 0x14928: 0xe00097b4, 0x1492a: 0xe0006b7b, + 0x1492f: 0xe0004334, + 0x14930: 0xe0009c18, 0x14931: 0xe0004cd4, 0x14933: 0xe0006a29, + 0x14935: 0xe000709f, + 0x14938: 0xe00088aa, + 0x1493d: 0xe0004ef7, + // Block 0x525, offset 0x14940 + 0x14941: 0xe000807e, 0x14943: 0xe000a13b, + 0x14944: 0xe0004f4f, 0x14945: 0xe00091f5, + 0x1494a: 0xe0004c05, + 0x1495c: 0xe00048bc, 0x1495d: 0xe000a053, 0x1495e: 0xe0005853, + 0x14961: 0xe0004dbb, 0x14962: 0xe0007bdb, + 0x14968: 0xe00067f5, 0x1496a: 0xe000949d, 0x1496b: 0xe0006a2c, + 0x1496d: 0xe0004a41, 0x1496f: 0xe000542e, + 0x14974: 0xe0009a8a, 0x14975: 0xe0008017, + 0x1497d: 0xe0005578, + // Block 0x526, offset 0x14980 + 0x14982: 0xe0007623, + 0x14992: 0xe0009847, + 0x14995: 0xe000a21e, + 0x14999: 0xe00069ba, + 0x1499e: 0xe000839e, + 0x149a2: 0xe000794f, 0x149a3: 0xe00087ea, + 0x149a7: 0xe000572c, + 0x149ad: 0xe0008bf9, + 0x149b0: 0xe0005da5, 0x149b1: 0xe0009d21, 0x149b2: 0xe0005372, + 0x149b4: 0xe00079a3, + 0x149bd: 0xe0008a7d, + // Block 0x527, offset 0x149c0 + 0x149c8: 0xe0005964, 0x149c9: 0xe0008290, 0x149ca: 0xe0008bfd, 0x149cb: 0xe000984a, + 0x149cc: 0xe0008696, 0x149cd: 0xe00064bf, 0x149ce: 0xe0008efb, + 0x149d2: 0xe0008efe, + 0x149d6: 0xe0009bb8, 0x149d7: 0xe000a7b4, + 0x149e2: 0xe0009718, 0x149e3: 0xe0004378, + 0x149e4: 0xe00048bf, 0x149e5: 0xe00070e1, + 0x149e9: 0xe0006020, 0x149ea: 0xe000579b, + 0x149ec: 0xe0007222, + 0x149f2: 0xe0008c65, + 0x149f4: 0xe00055ab, 0x149f5: 0xe000a754, 0x149f6: 0xe0005f42, 0x149f7: 0xe000a4d1, + 0x149f8: 0xe0006c00, 0x149f9: 0xe0005b95, + // Block 0x528, offset 0x14a00 + 0x14a03: 0xe000798f, + 0x14a07: 0xe000732d, + 0x14a09: 0xe0009976, 0x14a0b: 0xe000971b, + 0x14a0d: 0xe0008ca4, + 0x14a10: 0xe000a4c0, 0x14a12: 0xe000700c, + 0x14a1c: 0xe000984d, 0x14a1e: 0xe0007d42, + 0x14a22: 0xe000a1dd, + 0x14a2a: 0xe0005bd7, 0x14a2b: 0xe0008438, + 0x14a2c: 0xe00087a2, 0x14a2e: 0xe000971e, 0x14a2f: 0xe000a3fa, + 0x14a31: 0xe00063c4, 0x14a32: 0xe00052ad, + 0x14a34: 0xe0005a85, 0x14a35: 0xe00044ae, + // Block 0x529, offset 0x14a40 + 0x14a40: 0xe00078ad, 0x14a41: 0xe000a8c3, 0x14a43: 0xe000746c, + 0x14a45: 0xe0007b1b, 0x14a47: 0xe0009451, + 0x14a49: 0xe0008293, 0x14a4b: 0xe0006e2c, + 0x14a4c: 0xe0005d27, 0x14a4d: 0xe0008fed, 0x14a4e: 0xe000781b, 0x14a4f: 0xe00058c1, + 0x14a50: 0xe0005d2a, 0x14a51: 0xe0005193, + 0x14a57: 0xe000718c, + 0x14a58: 0xe0008c01, + 0x14a5c: 0xe00067f8, 0x14a5d: 0xe0009a72, + 0x14a63: 0xe0008d67, + 0x14a64: 0xe0006c6c, 0x14a66: 0xe0004d64, 0x14a67: 0xe0009538, + 0x14a6a: 0xe000801a, + 0x14a6d: 0xe00049de, + 0x14a75: 0xe0009454, + 0x14a7f: 0xe0004faf, + // Block 0x52a, offset 0x14a80 + 0x14a87: 0xe000684c, + 0x14a8d: 0xe00056fc, + 0x14a90: 0xe0004584, 0x14a91: 0xe0009d40, 0x14a92: 0xe0006c7c, + 0x14a94: 0xe0009760, 0x14a97: 0xe0008326, + 0x14a9c: 0xe000a72b, 0x14a9e: 0xe0004f17, 0x14a9f: 0xe0008dc7, + 0x14ab4: 0xe0005a34, 0x14ab5: 0xe0006670, 0x14ab7: 0xe00048c2, + 0x14ab8: 0xe00063e0, 0x14aba: 0xe0007d0a, + 0x14abf: 0xe00089e9, + // Block 0x52b, offset 0x14ac0 + 0x14ac0: 0xe0004390, 0x14ac1: 0xe00091a5, + 0x14ac5: 0xe00044dc, + 0x14ac9: 0xe000a2e1, 0x14acb: 0xe0009ecb, + 0x14ace: 0xe0006d7c, 0x14acf: 0xe0006df5, + 0x14ad0: 0xe0006e48, 0x14ad2: 0xe0008f3d, + 0x14ad7: 0xe0004669, + 0x14adb: 0xe0007a7b, + 0x14ade: 0xe000818e, + 0x14ae2: 0xe00063c8, + 0x14ae4: 0xe0004cd7, 0x14ae5: 0xe000736d, 0x14ae6: 0xe0008c05, + 0x14af7: 0xe000a545, + 0x14af8: 0xe0004c3e, + 0x14afc: 0xe0006678, 0x14afe: 0xe00060a2, + // Block 0x52c, offset 0x14b00 + 0x14b00: 0xe000836a, 0x14b03: 0xe00097e0, + 0x14b05: 0xe0005671, + 0x14b0b: 0xe00085aa, + 0x14b11: 0xe0006ec0, 0x14b13: 0xe00089ed, + 0x14b15: 0xe00095d0, 0x14b16: 0xe0007225, + 0x14b18: 0xe0006024, 0x14b19: 0xe0004a2f, 0x14b1a: 0xe0008dca, 0x14b1b: 0xe0006f98, + 0x14b1c: 0xe000a0e7, + 0x14b33: 0xe0007c16, + 0x14b36: 0xe0004cda, 0x14b37: 0xe00070a2, + 0x14b39: 0xe0007228, + // Block 0x52d, offset 0x14b40 + 0x14b46: 0xe0008332, + 0x14b4c: 0xe0008c09, 0x14b4f: 0xe000a35d, + 0x14b51: 0xe0008a81, 0x14b52: 0xe0006769, + 0x14b57: 0xe000a311, + 0x14b5f: 0xe0009a8e, + 0x14b64: 0xe0006dd1, 0x14b65: 0xe0008c69, + 0x14b6a: 0xe0009eaa, + 0x14b72: 0xe0006674, + 0x14b78: 0xe00044df, 0x14b79: 0xe000941f, 0x14b7a: 0xe0008176, + 0x14b7c: 0xe00043f0, 0x14b7d: 0xe0008dcd, + // Block 0x52e, offset 0x14b80 + 0x14b84: 0xe0005afe, 0x14b86: 0xe0009423, + 0x14b8f: 0xe00075f9, + 0x14b90: 0xe0009850, + 0x14b95: 0xe0004946, + 0x14b98: 0xe0009853, 0x14b99: 0xe0009a14, 0x14b9a: 0xe000884b, + 0x14b9e: 0xe0007331, 0x14b9f: 0xe0005406, + 0x14ba0: 0xe0008c0d, 0x14ba1: 0xe00050f3, 0x14ba2: 0xe00089f1, 0x14ba3: 0xe00095d4, + 0x14ba4: 0xe00050f6, 0x14ba6: 0xe0004fe7, 0x14ba7: 0xe0004abd, + 0x14ba8: 0xe0006129, 0x14baa: 0xe0008a85, 0x14bab: 0xe0006e30, + 0x14bac: 0xe00056ad, 0x14bae: 0xe0004868, 0x14baf: 0xe0009297, + // Block 0x52f, offset 0x14bc0 + 0x14bc8: 0xe0007bab, 0x14bc9: 0xe000746f, 0x14bca: 0xe0005994, 0x14bcb: 0xe0004a08, + 0x14bcd: 0xe000557b, + 0x14bd4: 0xe0007627, 0x14bd7: 0xe0008cda, + 0x14bdb: 0xe0005376, + 0x14bdc: 0xe000a02c, 0x14bdd: 0xe0008056, + 0x14be4: 0xe0006c94, + 0x14beb: 0xe0009763, + 0x14bec: 0xe0009766, 0x14bee: 0xe0008296, + 0x14bf0: 0xe000a618, + 0x14bf5: 0xe0004534, + 0x14bfc: 0xe0009a76, 0x14bfe: 0xe0008e41, + // Block 0x530, offset 0x14c00 + 0x14c0a: 0xe0006480, + 0x14c0c: 0xe000466d, + 0x14c14: 0xe0007f96, 0x14c16: 0xe000717d, 0x14c17: 0xe000885b, + 0x14c1a: 0xe0009856, 0x14c1b: 0xe0006318, + 0x14c1f: 0xe0006d34, + 0x14c21: 0xe000865c, 0x14c23: 0xe000a3c9, + 0x14c24: 0xe000a6b4, 0x14c27: 0xe0004473, + 0x14c2c: 0xe000a48a, 0x14c2d: 0xe0009179, + 0x14c30: 0xe0008572, + // Block 0x531, offset 0x14c40 + 0x14c43: 0xe0008de5, + 0x14c47: 0xe0006f00, + 0x14c48: 0xe00059a8, 0x14c4a: 0xe0007ceb, 0x14c4b: 0xe0005e8b, + 0x14c4c: 0xe0005e23, + 0x14c51: 0xe0008945, + 0x14c56: 0xe0007cee, 0x14c57: 0xe00044aa, + 0x14c58: 0xe00087ee, + 0x14c5c: 0xe00054ae, 0x14c5d: 0xe0005e8f, 0x14c5e: 0xe0007f9a, 0x14c5f: 0xe0006c2c, + 0x14c61: 0xe0004735, 0x14c62: 0xe0009f30, + 0x14c64: 0xe0005c0c, 0x14c66: 0xe00097ec, + 0x14c68: 0xe000937b, + 0x14c76: 0xe0009219, + 0x14c7b: 0xe0005da9, + // Block 0x532, offset 0x14c80 + 0x14c83: 0xe00052cc, + 0x14c84: 0xe000a723, + 0x14c8f: 0xe0008fc5, + 0x14c90: 0xe0005bda, 0x14c93: 0xe00054fd, + 0x14c94: 0xe000758d, + 0x14c98: 0xe0008e45, 0x14c99: 0xe0005750, + 0x14ca5: 0xe0006ec4, + 0x14caa: 0xe0005adc, 0x14cab: 0xe00089f5, + 0x14cb5: 0xe00095b4, 0x14cb6: 0xe000a61c, + 0x14cb8: 0xe0009b30, 0x14cba: 0xe00054b2, + // Block 0x533, offset 0x14cc0 + 0x14cc2: 0xe000a7f6, + 0x14cc4: 0xe0008f01, + 0x14cca: 0xe000a5ac, + 0x14ccc: 0xe0006a9f, + 0x14cd1: 0xe0004338, 0x14cd2: 0xe000433c, + 0x14cd5: 0xe00091f9, + 0x14cdb: 0xe0004b2d, + 0x14cde: 0xe0005833, + 0x14ce0: 0xe0006bd4, 0x14ce2: 0xe0005931, 0x14ce3: 0xe0009f33, + 0x14cea: 0xe0005adf, + 0x14cf0: 0xe000784d, 0x14cf1: 0xe000937f, 0x14cf2: 0xe00078d9, + 0x14cf5: 0xe0004ac1, 0x14cf7: 0xe0006fc0, + 0x14cfc: 0xe000577e, 0x14cfd: 0xe00092df, 0x14cfe: 0xe00057df, 0x14cff: 0xe000929b, + // Block 0x534, offset 0x14d00 + 0x14d37: 0xe00087a6, + // Block 0x535, offset 0x14d40 + 0x14d40: 0xe00061bd, 0x14d43: 0xe0006f7c, + 0x14d48: 0xe000a0a7, 0x14d49: 0xe0009e50, 0x14d4a: 0xe0006c30, 0x14d4b: 0xe0004476, + 0x14d4e: 0xe0004bc2, 0x14d4f: 0xe000832a, + 0x14d51: 0xe000a083, 0x14d52: 0xe000a087, 0x14d53: 0xe0004284, + 0x14d54: 0xe0006280, + 0x14d58: 0xe0004394, + 0x14d5f: 0xe0006a2f, + 0x14d63: 0xe000420c, + 0x14d64: 0xe000a117, 0x14d65: 0xe000653c, + 0x14d68: 0xe0004ecd, 0x14d69: 0xe00062a0, 0x14d6b: 0xe000494a, + 0x14d6c: 0xe000586b, 0x14d6d: 0xe0005904, + 0x14d71: 0xe0007acb, + 0x14d76: 0xe0009427, + 0x14d79: 0xe0007993, 0x14d7b: 0xe0007aef, + 0x14d7c: 0xe00076a7, 0x14d7d: 0xe000a4fd, 0x14d7e: 0xe0007a0b, + // Block 0x536, offset 0x14d80 + 0x14d83: 0xe00045d5, + 0x14d87: 0xe00076e7, + 0x14d88: 0xe0008200, 0x14d8a: 0xe000a634, 0x14d8b: 0xe0004655, + 0x14d8c: 0xe00057e3, 0x14d8d: 0xe00055ae, + 0x14d93: 0xe000448b, + 0x14d94: 0xe000a11b, 0x14d95: 0xe0004e57, 0x14d96: 0xe0009cc6, + 0x14d9a: 0xe0004efa, + 0x14d9c: 0xe0004a91, 0x14d9e: 0xe000a103, + 0x14da0: 0xe0004e8e, 0x14da1: 0xe000953c, 0x14da2: 0xe00065a4, + 0x14da5: 0xe00053ba, + // Block 0x537, offset 0x14dc0 + 0x14ddc: 0xe00067fb, + 0x14de1: 0xe0009540, + 0x14de4: 0xe0009a17, + 0x14de8: 0xe00077dc, 0x14dea: 0xe0009d44, + 0x14dee: 0xe0007e19, 0x14def: 0xe00090dc, + 0x14df2: 0xe0006450, + 0x14dfb: 0xe0008d6a, + 0x14dff: 0xe00075cf, + // Block 0x538, offset 0x14e00 + 0x14e00: 0xe0009acc, 0x14e02: 0xe0009f76, + 0x14e04: 0xe00067fe, + 0x14e0b: 0xe0005c0f, + 0x14e0c: 0xe0005f50, 0x14e0d: 0xe00043f4, + 0x14e10: 0xe000a08b, + 0x14e18: 0xe000a3e1, 0x14e1b: 0xe0009e53, + 0x14e1c: 0xe000a11f, 0x14e1d: 0xe0006f80, 0x14e1e: 0xe00073e2, 0x14e1f: 0xe00094d0, + 0x14e21: 0xe00056e5, 0x14e22: 0xe0008142, 0x14e23: 0xe000917d, + 0x14e24: 0xe0008ca7, + 0x14e2a: 0xe00064c2, + 0x14e2c: 0xe0009895, + 0x14e30: 0xe00083ba, 0x14e32: 0xe000727c, 0x14e33: 0xe0009181, + 0x14e34: 0xe0006a32, 0x14e35: 0xe0005cdc, 0x14e36: 0xe000557e, 0x14e37: 0xe000a0eb, + 0x14e38: 0xe0005c68, + 0x14e3c: 0xe00088e6, 0x14e3d: 0xe00078b1, + // Block 0x539, offset 0x14e40 + 0x14e44: 0xe0008cdd, 0x14e45: 0xe000801d, 0x14e46: 0xe0005ca0, + 0x14e4a: 0xe00054e8, 0x14e4b: 0xe000722b, + 0x14e4d: 0xe000a694, 0x14e4e: 0xe00047db, + 0x14e51: 0xe0005168, + 0x14e54: 0xe00045c9, 0x14e55: 0xe00080ae, 0x14e57: 0xe0007e9b, + 0x14e58: 0xe0007772, 0x14e59: 0xe0004f3f, 0x14e5b: 0xe0008caa, + 0x14e5c: 0xe00087aa, + 0x14e63: 0xe0005d75, + 0x14e64: 0xe0009c98, 0x14e67: 0xe000722e, + 0x14e68: 0xe0007231, 0x14e69: 0xe0007cf1, 0x14e6a: 0xe000a265, + 0x14e70: 0xe00073ba, 0x14e71: 0xe000836e, 0x14e73: 0xe000a866, + 0x14e74: 0xe0005b5a, 0x14e76: 0xe00084bf, 0x14e77: 0xe0005a88, + 0x14e78: 0xe0005a8b, 0x14e79: 0xe0009898, 0x14e7b: 0xe00094d4, + 0x14e7c: 0xe0008fc9, + // Block 0x53a, offset 0x14e80 + 0x14e80: 0xe000869a, 0x14e81: 0xe000767b, + 0x14e84: 0xe00080e2, 0x14e85: 0xe00075d2, 0x14e86: 0xe000921d, 0x14e87: 0xe000486b, + 0x14e89: 0xe00099e7, 0x14e8b: 0xe0008f95, + 0x14e8c: 0xe000861d, 0x14e8d: 0xe0007d7a, 0x14e8e: 0xe00088ad, + 0x14e95: 0xe0008d6d, 0x14e96: 0xe0007234, + 0x14e99: 0xe00075a1, 0x14e9a: 0xe0004ac5, 0x14e9b: 0xe0009859, + 0x14e9c: 0xe0008706, 0x14e9d: 0xe0007d9e, 0x14e9e: 0xe00047ff, + 0x14ea2: 0xe0005d2d, 0x14ea3: 0xe00051c8, + 0x14ea8: 0xe0008020, 0x14ea9: 0xe0008023, 0x14eaa: 0xe0006f3c, + 0x14eaf: 0xe00061c1, + 0x14eb0: 0xe00068a4, 0x14eb2: 0xe00080b2, + 0x14eb6: 0xe0005a38, 0x14eb7: 0xe0005b77, + 0x14eb9: 0xe0006304, 0x14eba: 0xe0006100, 0x14ebb: 0xe00089f9, + // Block 0x53b, offset 0x14ec0 + 0x14ec0: 0xe0007237, + 0x14ec4: 0xe00070e4, 0x14ec5: 0xe0006c98, 0x14ec6: 0xe0008c11, 0x14ec7: 0xe0009185, + 0x14ec8: 0xe0009d8a, 0x14ec9: 0xe0005f45, + 0x14ecc: 0xe0008f40, 0x14ecd: 0xe0004a51, 0x14ece: 0xe0006c9c, 0x14ecf: 0xe0006a35, + 0x14ed1: 0xe0008aed, 0x14ed3: 0xe0007c19, + 0x14ed4: 0xe0008f43, 0x14ed6: 0xe0005dc1, + 0x14ed9: 0xe0007baf, + 0x14edc: 0xe0006d18, 0x14ede: 0xe000a011, + 0x14ee3: 0xe00080ca, + 0x14ee6: 0xe0006aa3, 0x14ee7: 0xe0006174, + 0x14eea: 0xe00083d6, + 0x14ef0: 0xe0006c04, 0x14ef2: 0xe0005ab8, + 0x14ef8: 0xe0009d8d, 0x14ef9: 0xe00065a8, + 0x14efd: 0xe0008cad, + // Block 0x53c, offset 0x14f00 + 0x14f02: 0xe000594c, + 0x14f04: 0xe0007775, 0x14f06: 0xe00096ca, + 0x14f08: 0xe0005a3c, 0x14f09: 0xe00077ae, + 0x14f0c: 0xe00066b8, + 0x14f11: 0xe000967c, + 0x14f16: 0xe0008c15, + 0x14f1a: 0xe0008c6d, 0x14f1b: 0xe0008a89, + 0x14f1c: 0xe0008c19, 0x14f1d: 0xe000958c, 0x14f1e: 0xe00069bd, + 0x14f20: 0xe00048c5, 0x14f21: 0xe0006220, 0x14f22: 0xe0005fc4, + 0x14f26: 0xe0008a8d, + 0x14f28: 0xe0007b43, 0x14f29: 0xe000a285, + 0x14f2d: 0xe0008522, + 0x14f33: 0xe0004fb3, + 0x14f34: 0xe000a574, 0x14f35: 0xe00052ee, 0x14f37: 0xe0008526, + 0x14f3a: 0xe0005eaf, + 0x14f3c: 0xe00053be, + // Block 0x53d, offset 0x14f40 + 0x14f40: 0xe00055b1, 0x14f41: 0xe0009f7f, + 0x14f44: 0xe0009ece, 0x14f45: 0xe0007753, + 0x14f4b: 0xe000a3fd, + 0x14f4d: 0xe000767f, 0x14f4f: 0xe00049b2, + 0x14f58: 0xe0009769, + 0x14f60: 0xe0004d8b, 0x14f63: 0xe00082e7, + 0x14f66: 0xe000989b, + 0x14f68: 0xe00042d8, 0x14f6b: 0xe0004d8f, + 0x14f6c: 0xe0004550, 0x14f6d: 0xe0009dd4, + 0x14f71: 0xe00055b4, + 0x14f74: 0xe0006a38, + 0x14f78: 0xe0009fd1, 0x14f79: 0xe0004a55, + // Block 0x53e, offset 0x14f80 + 0x14f81: 0xe000443c, 0x14f83: 0xe00053c2, + 0x14f86: 0xe0009544, + 0x14f8b: 0xe00081df, + 0x14f8d: 0xe0006918, + 0x14f90: 0xe0004398, 0x14f93: 0xe000a08f, + 0x14f99: 0xe0008203, + 0x14f9c: 0xe0005581, 0x14f9d: 0xe0004d67, 0x14f9e: 0xe0007d46, + 0x14fa0: 0xe0009fd5, 0x14fa1: 0xe0008206, + 0x14fad: 0xe0004d6a, 0x14fae: 0xe0004d6d, + 0x14fb1: 0xe0006f9c, 0x14fb2: 0xe0008ce0, 0x14fb3: 0xe00083be, + 0x14fb5: 0xe00080ce, 0x14fb6: 0xe00070a5, + 0x14fba: 0xe0007bdf, 0x14fbb: 0xe00080b6, + 0x14fbf: 0xe000a222, + // Block 0x53f, offset 0x14fc0 + 0x14fc0: 0xe000a48d, 0x14fc1: 0xe000a325, 0x14fc2: 0xe0008c1d, 0x14fc3: 0xe0004739, + 0x14fc5: 0xe000a177, 0x14fc6: 0xe0007335, + 0x14fc8: 0xe000723a, 0x14fca: 0xe0008082, + 0x14fcc: 0xe0007164, 0x14fcd: 0xe0004efd, 0x14fce: 0xe000516b, 0x14fcf: 0xe000a18b, + 0x14fd0: 0xe0007c1c, 0x14fd1: 0xe0007e1d, 0x14fd2: 0xe0006380, 0x14fd3: 0xe0005611, + 0x14fd6: 0xe00063a4, 0x14fd7: 0xe0009cf7, + 0x14fd8: 0xe0005a40, + 0x14fde: 0xe00076c3, + 0x14fe1: 0xe000a98c, 0x14fe3: 0xe0007539, + 0x14fe6: 0xe000a1e0, + 0x14feb: 0xe000684f, + 0x14fed: 0xe00056d0, 0x14fee: 0xe000a709, + 0x14ff0: 0xe000a361, + 0x14ff7: 0xe000770b, + 0x14ff8: 0xe000473d, 0x14ff9: 0xe0009c95, 0x14ffb: 0xe0006a7b, + 0x14fff: 0xe000865f, + // Block 0x540, offset 0x15000 + 0x15002: 0xe0005b98, + 0x15006: 0xe0004a0b, 0x15007: 0xe0009952, + 0x15008: 0xe000477d, 0x1500b: 0xe0007472, + 0x1500c: 0xe0008cb0, 0x1500d: 0xe00077cc, 0x1500e: 0xe000762b, + 0x15012: 0xe0007da2, 0x15013: 0xe0008a91, + 0x15014: 0xe0007683, + 0x15018: 0xe0008146, 0x15019: 0xe0006d38, 0x1501a: 0xe00089fd, + 0x1501e: 0xe0005c4e, + 0x15025: 0xe000a490, 0x15026: 0xe000976c, 0x15027: 0xe000486e, + 0x1502b: 0xe0008a01, + 0x1502f: 0xe000a2e5, + 0x15030: 0xe0006aa7, 0x15031: 0xe0005ae2, 0x15033: 0xe0006fc4, + 0x15034: 0xe0004ac9, + // Block 0x541, offset 0x15040 + 0x15068: 0xe0009f54, + 0x1506d: 0xe0008b1d, 0x1506f: 0xe0006c80, + 0x15071: 0xe0009c1b, 0x15072: 0xe00059d4, + 0x15076: 0xe0004d70, + 0x1507a: 0xe00078dd, + 0x1507c: 0xe000727f, 0x1507f: 0xe0006574, + // Block 0x542, offset 0x15080 + 0x15082: 0xe0005bdd, + 0x15084: 0xe0009f0f, 0x15087: 0xe0009f0c, + 0x15089: 0xe0005be0, 0x1508b: 0xe0007555, + 0x1509b: 0xe00069c0, + 0x1509c: 0xe0006518, 0x1509f: 0xe00074a9, + 0x150a1: 0xe0007130, 0x150a2: 0xe00050f9, + 0x150a6: 0xe0008a95, 0x150a7: 0xe0007134, + 0x150aa: 0xe00085ae, 0x150ab: 0xe000790c, + 0x150ad: 0xe0009a2e, 0x150ae: 0xe00083c2, 0x150af: 0xe0006384, + 0x150b1: 0xe0007138, + 0x150b4: 0xe000849b, + 0x150bb: 0xe00095d8, + 0x150bc: 0xe0006b7e, 0x150bd: 0xe0009ead, 0x150be: 0xe00074ad, + // Block 0x543, offset 0x150c0 + 0x150c3: 0xe0004c08, + 0x150c9: 0xe000a226, 0x150ca: 0xe00078b5, + 0x150cc: 0xe000849e, + 0x150d0: 0xe00092e3, 0x150d2: 0xe00052b7, 0x150d3: 0xe00075d5, + 0x150d4: 0xe0009ed1, 0x150d5: 0xe0008fcd, + 0x150d8: 0xe00079d5, 0x150da: 0xe000a76f, + 0x150de: 0xe0008a05, + 0x150e0: 0xe0006654, + 0x150e6: 0xe00087f2, 0x150e7: 0xe0008209, + 0x150e8: 0xe0004a95, 0x150ea: 0xe00051d8, + 0x150ec: 0xe000a4c3, 0x150ee: 0xe00095dc, + 0x150f0: 0xe0008a99, 0x150f1: 0xe000a7b7, 0x150f3: 0xe00054b6, + 0x150f9: 0xe00054ba, + 0x150fc: 0xe000a979, 0x150fd: 0xe0004e91, + // Block 0x544, offset 0x15100 + 0x15102: 0xe0007d4a, + 0x15105: 0xe0005e6b, + 0x15108: 0xe0007282, 0x15109: 0xe0004f8b, 0x1510b: 0xe0004e6a, + 0x1510c: 0xe00092e7, 0x1510d: 0xe0006ec8, + 0x15110: 0xe0008456, 0x15111: 0xe00050fc, 0x15112: 0xe0007eef, + 0x15114: 0xe0007d7e, 0x15115: 0xe00055b7, 0x15117: 0xe000a22a, + 0x1511c: 0xe0007b1f, 0x1511e: 0xe0009383, + // Block 0x545, offset 0x15140 + 0x15156: 0xe000723d, 0x15157: 0xe0004f00, + 0x15158: 0xe0004ba2, 0x15159: 0xe000a22e, + 0x1515d: 0xe0009fad, + 0x15163: 0xe000770f, + 0x15165: 0xe00066fd, + 0x15168: 0xe000a3cd, + 0x1516c: 0xe0005dec, 0x1516d: 0xe00078fa, 0x1516e: 0xe0009f58, + 0x15170: 0xe0008961, 0x15171: 0xe0009acf, 0x15173: 0xe00099ea, + 0x15174: 0xe0007339, + 0x15179: 0xe0008576, + // Block 0x546, offset 0x15180 + 0x15181: 0xe0006308, + 0x15184: 0xe0009c2d, + 0x15188: 0xe0004d73, 0x15189: 0xe000478d, + 0x1518f: 0xe0004509, + 0x15190: 0xe0008f04, 0x15191: 0xe0005280, 0x15192: 0xe0004cdd, + 0x15195: 0xe00041b4, + 0x15198: 0xe0009c30, 0x15199: 0xe0006801, 0x1519b: 0xe0006bb4, + 0x1519c: 0xe0009fd9, 0x1519d: 0xe0009ad2, 0x1519e: 0xe0009af0, 0x1519f: 0xe0006b81, + 0x151a2: 0xe00065f4, + 0x151a8: 0xe0007355, 0x151aa: 0xe000753d, + 0x151ad: 0xe000a1bf, 0x151ae: 0xe000631c, + 0x151b1: 0xe000579f, + 0x151b8: 0xe0009a92, 0x151bb: 0xe000a0ab, + 0x151bd: 0xe000a315, 0x151bf: 0xe0008f99, + // Block 0x547, offset 0x151c0 + 0x151c1: 0xe0006abf, 0x151c2: 0xe0007014, 0x151c3: 0xe00077b1, + 0x151c4: 0xe0005b22, 0x151c5: 0xe000989e, + 0x151c8: 0xe0006658, 0x151cb: 0xe000587e, + 0x151cd: 0xe0004a32, 0x151ce: 0xe00050ff, 0x151cf: 0xe0005102, + 0x151d1: 0xe0006a3b, + 0x151d6: 0xe0006186, + 0x151d8: 0xe00097f0, 0x151d9: 0xe0009dd8, 0x151db: 0xe0006a3e, + 0x151eb: 0xe0004538, + 0x151ed: 0xe0009005, + 0x151f0: 0xe0005730, + 0x151f5: 0xe000817a, 0x151f6: 0xe000985c, 0x151f7: 0xe00070a8, + 0x151f8: 0xe0006f04, + 0x151fe: 0xe0005781, + // Block 0x548, offset 0x15200 + 0x15200: 0xe0005f54, 0x15201: 0xe0007cf4, 0x15202: 0xe0009387, 0x15203: 0xe0009f12, + 0x15204: 0xe00097f4, 0x15205: 0xe0004ce0, + 0x1520a: 0xe000a586, + 0x1520c: 0xe00072c9, 0x1520d: 0xe000a757, 0x1520e: 0xe0005dad, 0x1520f: 0xe00086de, + 0x15212: 0xe0009b90, + 0x15215: 0xe0004c0b, 0x15217: 0xe000a269, + 0x15218: 0xe0005784, 0x1521a: 0xe0004741, 0x1521b: 0xe00079fb, + 0x1521f: 0xe0009979, + 0x15222: 0xe0005907, + 0x15224: 0xe00078e1, 0x15225: 0xe0005105, + 0x15229: 0xe000a5ec, 0x1522a: 0xe000590a, + // Block 0x549, offset 0x15240 + 0x15268: 0xe0004962, 0x1526a: 0xe000820c, + 0x15270: 0xe0009cb3, + 0x15278: 0xe000a1c2, 0x15279: 0xe0004c41, + 0x1527c: 0xe00045d9, 0x1527f: 0xe00065f8, + // Block 0x54a, offset 0x15280 + 0x15280: 0xe0006a41, + 0x15286: 0xe0006320, + 0x1528f: 0xe0005c24, + 0x15291: 0xe00097a4, 0x15293: 0xe0007240, + 0x15294: 0xe00096ac, 0x15296: 0xe0004acd, 0x15297: 0xe0005ae5, + 0x15298: 0xe0004871, + 0x1529f: 0xe0009f36, + 0x152a1: 0xe000494e, 0x152a3: 0xe0006484, + 0x152a5: 0xe0007af3, 0x152a6: 0xe00060a5, + 0x152ab: 0xe000976f, + 0x152ad: 0xe0008662, 0x152ae: 0xe00063cc, + 0x152b0: 0xe00096cd, 0x152b2: 0xe0009f82, + 0x152b4: 0xe000691c, + 0x152b9: 0xe000a869, 0x152ba: 0xe0004af5, 0x152bb: 0xe0004802, + 0x152bd: 0xe0008e89, + // Block 0x54b, offset 0x152c0 + 0x152c2: 0xe0006aab, + 0x152c5: 0xe0006944, 0x152c6: 0xe0007170, + 0x152ca: 0xe0007359, 0x152cb: 0xe0008a9d, + 0x152cd: 0xe000a4c6, + 0x152d0: 0xe000516e, 0x152d2: 0xe00091a9, + 0x152d6: 0xe0006c70, + 0x152d8: 0xe0005e93, 0x152d9: 0xe00073ea, 0x152da: 0xe0007243, + 0x152df: 0xe000a620, + 0x152e2: 0xe0006aaf, 0x152e3: 0xe0005a00, + 0x152e7: 0xe0005bbc, + 0x152e8: 0xe000a549, 0x152e9: 0xe000a295, 0x152ea: 0xe0009caa, + 0x152ee: 0xe0004d76, 0x152ef: 0xe000942b, + 0x152f1: 0xe00080d6, 0x152f2: 0xe00045dd, + 0x152fa: 0xe0006d3c, + 0x152fc: 0xe0004ea0, + // Block 0x54c, offset 0x15300 + 0x15301: 0xe0004b8a, 0x15302: 0xe000a4e9, 0x15303: 0xe00063d0, + 0x15304: 0xe00064f0, 0x15305: 0xe0005f2a, + 0x15308: 0xe00070e7, 0x1530b: 0xe00098a1, + 0x1530d: 0xe0005eff, 0x1530e: 0xe00058d9, 0x1530f: 0xe00081e2, + 0x15311: 0xe0005d57, + 0x15314: 0xe0005def, + 0x15318: 0xe0007b23, 0x1531a: 0xe00078fd, + 0x15326: 0xe0006bb7, + 0x1532f: 0xe0005abb, + 0x15334: 0xe0006488, + // Block 0x54d, offset 0x15340 + 0x15340: 0xe0009af3, 0x15343: 0xe0009e34, + 0x1534e: 0xe0008af1, + 0x15351: 0xe0009eb0, 0x15352: 0xe0006852, 0x15353: 0xe0008665, + 0x15357: 0xe00056b1, + 0x1535f: 0xe0007687, + 0x15367: 0xe0008ce3, + 0x15368: 0xe00090df, 0x1536a: 0xe00082ea, 0x1536b: 0xe0004c0e, + 0x1536d: 0xe000a1e3, 0x1536e: 0xe0006ecc, + 0x15379: 0xe00070ea, + // Block 0x54e, offset 0x15380 + 0x15381: 0xe0004791, + 0x15386: 0xe0009ed4, + 0x15389: 0xe0005d30, 0x1538a: 0xe0006bba, + 0x15394: 0xe0009a1a, 0x15396: 0xe0009680, + 0x1539b: 0xe0008dd0, + 0x153a2: 0xe0007c4f, + 0x153a4: 0xe0004922, + 0x153a8: 0xe0004745, + 0x153b7: 0xe0008ce6, + // Block 0x54f, offset 0x153c0 + 0x153c8: 0xe0008b45, 0x153ca: 0xe00059ac, + 0x153cc: 0xe00098a4, 0x153cd: 0xe000985f, + 0x153d0: 0xe000762f, 0x153d2: 0xe0006701, 0x153d3: 0xe0006d49, + 0x153d5: 0xe000a014, + 0x153e4: 0xe0006bbd, 0x153e5: 0xe000a5f0, + 0x153ed: 0xe0005171, 0x153ee: 0xe0007d4e, 0x153ef: 0xe0007851, + 0x153f1: 0xe00059b0, 0x153f2: 0xe0007ca9, + 0x153f5: 0xe00062a4, + 0x153f9: 0xe0004631, 0x153fa: 0xe00070ed, 0x153fb: 0xe0005e6f, + 0x153fe: 0xe0009f39, + // Block 0x550, offset 0x15400 + 0x15407: 0xe00043f8, + 0x15409: 0xe0006608, + 0x1540f: 0xe0007591, + 0x15412: 0xe0008fd1, 0x15413: 0xe0006f08, + 0x15417: 0xe0005d79, + 0x15420: 0xe000a70c, 0x15423: 0xe0008aa1, + 0x15427: 0xe0005a8e, + 0x15438: 0xe0005ae8, 0x1543b: 0xe0006f0c, + // Block 0x551, offset 0x15440 + 0x15465: 0xe0008d70, 0x15466: 0xe00083aa, 0x15467: 0xe0006804, + 0x15469: 0xe0004ce3, + 0x15473: 0xe000676d, + 0x15474: 0xe0006028, 0x15476: 0xe0007a7f, + // Block 0x552, offset 0x15480 + 0x15483: 0xe00045e1, + 0x15486: 0xe0009205, 0x15487: 0xe00066bb, + 0x15488: 0xe0007697, 0x15489: 0xe00075d8, + 0x1548c: 0xe0006785, + 0x15492: 0xe0005a74, + 0x15495: 0xe0009af6, + 0x15498: 0xe00065fc, 0x15499: 0xe0009a1d, 0x1549b: 0xe000814a, + 0x1549f: 0xe0009a20, + 0x154a3: 0xe00048c8, + 0x154a6: 0xe000773f, + 0x154a8: 0xe0007723, + 0x154b0: 0xe0004af9, + 0x154b6: 0xe00076c7, + 0x154bb: 0xe000a535, + // Block 0x553, offset 0x154c0 + 0x154c1: 0xe0004c44, 0x154c2: 0xe000a86c, + 0x154c4: 0xe0009a23, + 0x154d1: 0xe000460d, 0x154d3: 0xe00063e4, + 0x154d4: 0xe0008fd5, + 0x154dd: 0xe00075db, 0x154de: 0xe00075fc, + 0x154e0: 0xe00048e6, 0x154e1: 0xe0006177, + 0x154e9: 0xe0006725, + 0x154ec: 0xe0006938, 0x154ef: 0xe0009fdd, + 0x154f0: 0xe0008dd3, 0x154f2: 0xe000869e, + 0x154f7: 0xe000817e, + 0x154fb: 0xe00098a7, + 0x154fe: 0xe0004952, + // Block 0x554, offset 0x15500 + 0x15504: 0xe0009690, + 0x15509: 0xe000735d, + 0x15516: 0xe00098aa, + 0x1551a: 0xe000765b, + 0x15521: 0xe00042f0, + 0x15524: 0xe0004956, + 0x15529: 0xe00060c0, + 0x1552c: 0xe000942f, 0x1552f: 0xe00077e8, + 0x15534: 0xe000a03f, 0x15535: 0xe00098ad, + 0x15538: 0xe0007855, 0x15539: 0xe0005c5d, 0x1553b: 0xe0004972, + 0x1553f: 0xe0008668, + // Block 0x555, offset 0x15540 + 0x15541: 0xe00084e2, 0x15542: 0xe0007f1f, + 0x15544: 0xe00047de, 0x15547: 0xe0004d79, + 0x15553: 0xe000866b, + 0x15556: 0xe0007c52, 0x15557: 0xe0004ce6, + 0x15559: 0xe00090e2, + 0x15566: 0xe0009772, + 0x15569: 0xe0006614, 0x1556a: 0xe00077fc, 0x1556b: 0xe00072cd, + 0x15570: 0xe0007abb, 0x15571: 0xe00048cb, 0x15572: 0xe000997c, 0x15573: 0xe000a0af, + 0x15578: 0xe000a877, 0x15579: 0xe00083fe, 0x1557a: 0xe0005abe, + 0x1557d: 0xe000a057, 0x1557f: 0xe00065bc, + // Block 0x556, offset 0x15580 + 0x15587: 0xe0008aa5, + 0x1558f: 0xe0006104, + 0x15595: 0xe0005aeb, + 0x1559a: 0xe00077ec, 0x1559b: 0xe0004ad1, + 0x1559c: 0xe0004d7c, 0x1559e: 0xe00057c7, + // Block 0x557, offset 0x155c0 + 0x155f5: 0xe0005ac1, 0x155f7: 0xe0005a78, + 0x155f9: 0xe000a0ef, 0x155fb: 0xe000437c, + 0x155fd: 0xe0007af7, 0x155ff: 0xe0005b02, + // Block 0x558, offset 0x15600 + 0x15600: 0xe0008059, 0x15602: 0xe0004e94, + 0x15604: 0xe00098b0, + 0x1560b: 0xe000624d, + 0x1560c: 0xe000805c, 0x1560f: 0xe0004f1f, + 0x15611: 0xe0007c55, 0x15612: 0xe0005108, 0x15613: 0xe0005b06, + 0x15617: 0xe000590d, + 0x1561d: 0xe0006b84, 0x1561e: 0xe00087f6, 0x1561f: 0xe0005d7d, + 0x15624: 0xe00098b3, 0x15625: 0xe0005f58, + 0x15629: 0xe0006855, 0x1562a: 0xe0005fdc, + 0x1562f: 0xe0004da3, + 0x15634: 0xe0004d93, 0x15635: 0xe0005fc8, + 0x1563b: 0xe0005df2, + 0x1563d: 0xe0005e01, 0x1563e: 0xe000a848, 0x1563f: 0xe0005e04, + // Block 0x559, offset 0x15640 + 0x15643: 0xe000a698, + 0x15645: 0xe0004ffb, + 0x1564c: 0xe000a72f, 0x1564d: 0xe0006dd4, 0x1564e: 0xe0005910, 0x1564f: 0xe0008b21, + 0x15650: 0xe0005d5a, 0x15651: 0xe000a89b, + 0x15654: 0xe0004588, 0x15656: 0xe0005174, + 0x15658: 0xe000618d, 0x1565a: 0xe000468d, 0x1565b: 0xe00054eb, + 0x1565c: 0xe000990e, 0x1565d: 0xe00082ed, 0x1565e: 0xe0008af5, + 0x15660: 0xe000a990, + 0x15665: 0xe0004795, + 0x15668: 0xe0005476, + 0x1566e: 0xe0005432, 0x1566f: 0xe0007713, + 0x15672: 0xe000938b, + 0x15674: 0xe0006223, 0x15675: 0xe0005436, 0x15676: 0xe0007b27, 0x15677: 0xe00055e9, + 0x1567a: 0xe00068ec, 0x1567b: 0xe0006920, + 0x1567c: 0xe00066be, 0x1567d: 0xe00062a8, 0x1567f: 0xe0008182, + // Block 0x55a, offset 0x15680 + 0x15680: 0xe00098f6, 0x15682: 0xe0008dd6, + 0x15684: 0xe0008f46, 0x15687: 0xe0007cac, + 0x15688: 0xe000660c, 0x15689: 0xe0009af9, 0x1568a: 0xe00065c0, + 0x1568e: 0xe0008c21, + 0x15690: 0xe000522f, 0x15693: 0xe0004874, + 0x15697: 0xe00055ba, + 0x15699: 0xe0006a44, + 0x156a0: 0xe0006dd7, 0x156a2: 0xe00068f0, + 0x156ab: 0xe0006e4c, + 0x156ac: 0xe00082f0, 0x156af: 0xe0007cf7, + 0x156b4: 0xe0007953, + 0x156b8: 0xe0004691, 0x156b9: 0xe0007957, 0x156bb: 0xe00069c3, + 0x156be: 0xe000a0b3, + // Block 0x55b, offset 0x156c0 + 0x156ca: 0xe0008cb3, 0x156cb: 0xe0008827, + 0x156ce: 0xe000882a, + 0x156d2: 0xe00099ed, + 0x156d4: 0xe0009a46, 0x156d5: 0xe000a8e7, 0x156d7: 0xe00083a2, + 0x156df: 0xe00088b0, + 0x156e0: 0xe0009775, 0x156e1: 0xe0005a44, + 0x156e6: 0xe00042b0, 0x156e7: 0xe0006f40, + 0x156e9: 0xe0004c47, 0x156ea: 0xe000929f, 0x156eb: 0xe000495a, + 0x156ec: 0xe0007900, + 0x156f2: 0xe000805f, + 0x156f6: 0xe000765f, 0x156f7: 0xe0007633, + // Block 0x55c, offset 0x15700 + 0x1570d: 0xe0005be3, 0x1570e: 0xe0005b5e, + 0x15710: 0xe0006454, 0x15712: 0xe0005be7, + 0x15714: 0xe00049e2, 0x15715: 0xe0004340, + 0x1571c: 0xe0004ce9, 0x1571d: 0xe0009880, + 0x15720: 0xe0007859, 0x15722: 0xe000a589, + 0x15725: 0xe00082f3, + // Block 0x55d, offset 0x15740 + 0x15740: 0xe00050ed, 0x15741: 0xe00046dd, 0x15742: 0xe0009269, 0x15743: 0xe00041a8, + 0x15744: 0xe000a628, 0x15745: 0xe00049e6, 0x15746: 0xe0004c65, 0x15747: 0xe0004ce9, + 0x15748: 0xe0004ce9, 0x15749: 0xe00047a2, 0x1574a: 0xe0005193, 0x1574b: 0xe0005754, + 0x1574c: 0xe000521a, 0x1574d: 0xe0005757, 0x1574e: 0xe000575a, 0x1574f: 0xe000575d, + 0x15750: 0xe0005760, 0x15751: 0xe0005763, 0x15752: 0xe0005766, 0x15753: 0xe0005769, + 0x15754: 0xe000761b, 0x15755: 0xe0005787, 0x15756: 0xe000578b, 0x15757: 0xe000578f, + 0x15758: 0xe0005797, 0x15759: 0xe000579b, 0x1575a: 0xe000579f, 0x1575b: 0xe00057ab, + 0x1575c: 0xe00057af, 0x1575d: 0xe00057b3, 0x1575e: 0xe00057bf, 0x1575f: 0xe00057c3, + 0x15760: 0xe00057c7, 0x15761: 0xe00057f7, 0x15762: 0xe0005807, 0x15763: 0xe0005813, + 0x15764: 0xe0005817, 0x15765: 0xe0005827, 0x15766: 0xe000582b, 0x15767: 0xe000582f, + 0x15768: 0xe0005837, 0x15769: 0xe000583b, 0x1576a: 0xe000583f, 0x1576b: 0xe0005843, + 0x1576c: 0x43219c20, 0x1576d: 0xe000586f, 0x1576e: 0xe0005881, 0x1576f: 0xe0005a91, + 0x15770: 0xe0005a97, 0x15771: 0xe0005a9a, 0x15772: 0xe0005aa3, 0x15773: 0xe0005aa6, + 0x15774: 0xe0005aa9, 0x15775: 0xe0005aac, 0x15776: 0xe0005aaf, 0x15777: 0xe0005ab2, + 0x15778: 0xe0005ab8, 0x15779: 0xe0005abb, 0x1577a: 0xe0005abe, 0x1577b: 0xe0005aee, + 0x1577c: 0xe0005af2, 0x1577d: 0xe0005af6, 0x1577e: 0xe0005afa, 0x1577f: 0xe0005afe, + // Block 0x55e, offset 0x15780 + 0x15780: 0xe0005b02, 0x15781: 0xe0005b26, 0x15782: 0xe0005b2a, 0x15783: 0xe0005b2e, + 0x15784: 0xe0005b3e, 0x15785: 0xe0005b42, 0x15786: 0xe0005b68, 0x15787: 0xe0005b6b, + 0x15788: 0xe0005b6e, 0x15789: 0xe0005b77, 0x1578a: 0xe0005beb, 0x1578b: 0xe0005bf1, + 0x1578c: 0xe0005bf4, 0x1578d: 0xe0005bf7, 0x1578e: 0xe0005bfa, 0x1578f: 0xe0005c00, + 0x15790: 0xe0005c03, 0x15791: 0xe0005c0f, 0x15792: 0xe0005cac, 0x15793: 0xe0005cb0, + 0x15794: 0xe0005cb8, 0x15795: 0xe0005cc8, 0x15796: 0xe0005cd0, 0x15797: 0xe0005cd4, + 0x15798: 0xe0005cd8, 0x15799: 0xe0005cdc, 0x1579a: 0xe00055e1, 0x1579b: 0xe00051a4, + 0x1579c: 0xe000761b, 0x1579d: 0xe00051bc, 0x1579e: 0xe000532a, 0x1579f: 0xe0005259, + 0x157a0: 0xe000527a, 0x157a1: 0xe000713c, 0x157a2: 0xe000847a, 0x157a3: 0xe0006858, + 0x157a4: 0xe0006368, 0x157a5: 0xe0009db4, 0x157a6: 0xe00066d5, 0x157a7: 0xe0006789, + 0x157a8: 0xe0009f95, 0x157a9: 0xe00071c2, 0x157aa: 0xe0006d54, 0x157ab: 0xe000932b, + 0x157ac: 0xe0006d40, 0x157ad: 0xe0006ff4, 0x157ae: 0xe0007b33, 0x157af: 0xe0006f38, + 0x157b0: 0xe0006c40, 0x157b1: 0xe0009171, 0x157b2: 0xe0009a62, 0x157b3: 0xe00073a2, + 0x157b4: 0xe0007829, 0x157b5: 0xe0005885, 0x157b6: 0xe0005889, 0x157b7: 0xe0005891, + 0x157b8: 0xe0005899, 0x157b9: 0xe000589d, 0x157ba: 0xe00058a1, 0x157bb: 0xe00058b1, + 0x157bc: 0xe00058b5, 0x157bd: 0xe00058b9, 0x157be: 0xe00058c1, 0x157bf: 0xe00058e3, + // Block 0x55f, offset 0x157c0 + 0x157c0: 0xe00058e6, 0x157c1: 0xe0005232, 0x157c2: 0xe00058e9, 0x157c3: 0xe00058f2, + 0x157c4: 0xe00058f8, 0x157c5: 0xe00058fb, 0x157c6: 0xe0005904, 0x157c7: 0xe000590a, + 0x157c8: 0xe000590d, 0x157c9: 0xe0005910, 0x157ca: 0xe0005934, 0x157cb: 0xe0005938, + 0x157cc: 0xe000593c, 0x157cd: 0xe0005948, 0x157ce: 0xe0005239, 0x157cf: 0xe0005968, + 0x157d0: 0xe000596c, 0x157d1: 0xe000523d, 0x157d2: 0xe0005974, 0x157d3: 0xe0005978, + 0x157d4: 0xe000597c, 0x157d5: 0xe0005241, 0x157d6: 0xe0005980, 0x157d7: 0xe0005984, + 0x157d8: 0xe000598c, 0x157d9: 0xe0005988, 0x157da: 0xe0005990, 0x157db: 0xe0005994, + 0x157dc: 0xe00059b8, 0x157dd: 0xe00059bc, 0x157de: 0xe00084f6, 0x157df: 0xe00059c4, + 0x157e0: 0xe00059c8, 0x157e1: 0xe0006f38, 0x157e2: 0xe00059d8, 0x157e3: 0xe0005249, + 0x157e4: 0xe0005255, 0x157e5: 0xe00059e0, 0x157e6: 0xe00059e8, 0x157e7: 0xe00059f8, + 0x157e8: 0xe0005a04, 0x157e9: 0xe0005a0c, 0x157ea: 0xe0005259, 0x157eb: 0xe0005a14, + 0x157ec: 0xe0005a18, 0x157ed: 0xe0005a1c, 0x157ee: 0xe000a3b1, 0x157ef: 0xe0005a24, + 0x157f0: 0xe0005a2c, 0x157f1: 0xe0005a34, 0x157f2: 0xe0005a38, 0x157f3: 0xe0005a3c, + 0x157f4: 0xe0005a40, 0x157f5: 0xe0005a7c, 0x157f6: 0xe0005a82, 0x157f7: 0xe0005a85, + 0x157f8: 0xe0005a8b, 0x157f9: 0xe000760f, 0x157fa: 0xe0005b9b, 0x157fb: 0xe0005b9e, + 0x157fc: 0xe0005ba1, 0x157fd: 0xe00052ba, 0x157fe: 0xe0005ba7, 0x157ff: 0xe000761b, + // Block 0x560, offset 0x15800 + 0x15800: 0xe0005baa, 0x15801: 0xe0005bad, 0x15802: 0xe0005bb6, 0x15803: 0xe0005bb9, + 0x15804: 0xe0005be3, 0x15805: 0xe000a7de, 0x15806: 0xe0007e19, 0x15807: 0xe0005c27, + 0x15808: 0xe00052e5, 0x15809: 0xe0005c2d, 0x1580a: 0xe0005c33, 0x1580b: 0xe0005c36, + 0x1580c: 0xe0005c3c, 0x1580d: 0xe0005c42, 0x1580e: 0xe0005c48, 0x1580f: 0xe00052e8, + 0x15810: 0xe0005c4e, 0x15811: 0xe0005c60, 0x15812: 0xe0005c64, 0x15813: 0xe0005c68, + 0x15814: 0xe0005c74, 0x15815: 0xe0005c78, 0x15816: 0xe0005c7c, 0x15817: 0xe0005c84, + 0x15818: 0xe0005c8c, 0x15819: 0xe0005c90, 0x1581a: 0xe0005c94, 0x1581b: 0xe000713c, + 0x1581c: 0xe0005ca0, 0x1581d: 0xe0005ceb, 0x1581e: 0xe0005cf1, 0x1581f: 0xe0005cf7, + 0x15820: 0xe00079e7, 0x15821: 0xe0005cfd, 0x15822: 0xe0005d00, 0x15823: 0xe00052fc, + 0x15824: 0xe0005d0c, 0x15825: 0xe0005d12, 0x15826: 0xe0005d18, 0x15827: 0xe0005d21, + 0x15828: 0xe0005d24, 0x15829: 0xe0005d27, 0x1582a: 0xe0005d2d, 0x1582b: 0xe0005311, + 0x1582c: 0xe0005315, 0x1582d: 0xe0005d5d, 0x1582e: 0xe0005d65, 0x1582f: 0xe0005d69, + 0x15830: 0xe0005d6d, 0x15831: 0xe0005d75, 0x15832: 0xe0005d79, 0x15833: 0xe0005d7d, + 0x15834: 0xe0005db1, 0x15835: 0xe0005db5, 0x15836: 0xe0005dbd, 0x15837: 0xe0005dcd, + 0x15838: 0xe0005dd1, 0x15839: 0xe0005dd5, 0x1583a: 0xe0006cf0, 0x1583b: 0xe00085f3, + 0x1583c: 0xe00074a1, 0x1583d: 0xe0007595, 0x1583e: 0xe0005324, 0x1583f: 0xe00085d5, + // Block 0x561, offset 0x15840 + 0x15840: 0xe0008aa9, 0x15841: 0xe000552a, 0x15842: 0xe00094b4, 0x15843: 0xe000546e, + 0x15844: 0xe0005500, 0x15845: 0xe0005655, 0x15846: 0xe0009edb, 0x15847: 0xe00066f9, + 0x15848: 0xe000a206, 0x15849: 0xe00043f4, 0x1584a: 0xe0004601, 0x1584b: 0xe0004a35, + 0x1584c: 0xe0007d52, 0x1584d: 0x42ab8020, 0x1584e: 0x43f41c20, 0x1584f: 0x43f41e20, + 0x15850: 0xe00097c0, 0x15851: 0x43f42220, 0x15852: 0xe0009668, 0x15853: 0x43f42620, + 0x15854: 0x43f42820, 0x15855: 0xe000a922, 0x15856: 0xe0008886, 0x15857: 0xe00084c6, + 0x15858: 0x42f27820, 0x15859: 0xe00074e9, 0x1585a: 0xe0006cf8, 0x1585b: 0xe00066dd, + 0x1585c: 0xe0008c15, 0x1585d: 0xe0008be1, 0x1585e: 0xe0008005, 0x1585f: 0x43f43e20, + 0x15860: 0x430c2420, 0x15861: 0x43f44220, 0x15862: 0xe0008c9e, 0x15863: 0x43f44620, + 0x15864: 0x43f44820, 0x15865: 0xe000856e, 0x15866: 0xe0005578, 0x15867: 0x43f44e20, + 0x15868: 0x43f45020, 0x15869: 0x43f45220, 0x1586a: 0xe0006384, 0x1586b: 0xe0006b7e, + 0x1586c: 0xe0004a95, 0x1586d: 0xe000a03f, 0x1586e: 0xe0005853, 0x1586f: 0xe0005a88, + 0x15870: 0xe0006033, 0x15871: 0xe00073c6, 0x15872: 0xe0005fa0, 0x15873: 0xe0005fa8, + 0x15874: 0xe0004f5b, 0x15875: 0xe0006954, 0x15876: 0xe00042b8, 0x15877: 0xe0009b5c, + 0x15878: 0xe000505a, 0x15879: 0xe0006660, 0x1587a: 0xe0006189, 0x1587b: 0xe00099a4, + 0x1587c: 0x42b8dc20, 0x1587d: 0xe000a6c7, 0x1587e: 0xe0004455, 0x1587f: 0xe0009021, + // Block 0x562, offset 0x15880 + 0x15880: 0xe000922d, 0x15881: 0xe0006260, 0x15882: 0x42cbc420, 0x15883: 0xe0006d9e, + 0x15884: 0xe0005f15, 0x15885: 0xe000a1aa, 0x15886: 0xe0008880, 0x15887: 0xe000a06f, + 0x15888: 0xe00085f6, 0x15889: 0x42e45620, 0x1588a: 0xe0009b24, 0x1588b: 0xe000698d, + 0x1588c: 0xe0006b42, 0x1588d: 0xe0009091, 0x1588e: 0xe00050cc, 0x1588f: 0xe0007ff9, + 0x15890: 0xe0008d31, 0x15891: 0xe00098be, 0x15892: 0xe000a55f, 0x15893: 0xe0008bd5, + 0x15894: 0xe00048de, 0x15895: 0xe0005625, 0x15896: 0xe0008ac1, 0x15897: 0xe0005980, + 0x15898: 0xe0009151, 0x15899: 0xe000650c, 0x1589a: 0xe0006dbc, 0x1589b: 0xe0008608, + 0x1589c: 0xe0009970, 0x1589d: 0x4304f220, 0x1589e: 0x4304f220, 0x1589f: 0xe0008898, + 0x158a0: 0xe00042d0, 0x158a1: 0xe0007430, 0x158a2: 0xe000769f, 0x158a3: 0xe0004f83, + 0x158a4: 0xe0006a77, 0x158a5: 0xe0009045, 0x158a6: 0x431f6c20, 0x158a7: 0xe000856e, + 0x158a8: 0xe00051c8, 0x158a9: 0xe000a222, 0x158aa: 0xe0006a7b, 0x158ab: 0x42c0ea20, + 0x158ac: 0x4885dc20, 0x158ad: 0x43043020, + 0x158b0: 0xe000665c, 0x158b1: 0x42a36a20, 0x158b2: 0xe0008971, 0x158b3: 0x429f0020, + 0x158b4: 0xe0009916, 0x158b5: 0xe0005054, 0x158b6: 0xe0007f4e, 0x158b7: 0xe0008672, + 0x158b8: 0xe00042b8, 0x158b9: 0x42aaaa20, 0x158ba: 0xe000a821, 0x158bb: 0xe0007d56, + 0x158bc: 0xe00097c0, 0x158bd: 0xe0006868, 0x158be: 0xe0007973, 0x158bf: 0xe000686c, + // Block 0x563, offset 0x158c0 + 0x158c0: 0xe000695a, 0x158c1: 0xe0008623, 0x158c2: 0x42bda420, 0x158c3: 0x42bdb220, + 0x158c4: 0xe000943f, 0x158c5: 0xe0007f04, 0x158c6: 0xe0005eeb, 0x158c7: 0x42c29c20, + 0x158c8: 0xe0008236, 0x158c9: 0xe0009021, 0x158ca: 0xe0007cca, 0x158cb: 0xe000922d, + 0x158cc: 0xe00054d6, 0x158cd: 0xe000823c, 0x158ce: 0xe00071bc, 0x158cf: 0x42c8a420, + 0x158d0: 0xe0007c85, 0x158d1: 0xe0009668, 0x158d2: 0xe000583b, 0x158d3: 0xe0005ecb, + 0x158d4: 0xe0008752, 0x158d5: 0x42d6f220, 0x158d6: 0xe0006c40, 0x158d7: 0xe0005c33, + 0x158d8: 0x42ddb620, 0x158d9: 0xe00085f0, 0x158da: 0xe000a06f, 0x158db: 0xe0008bb9, + 0x158dc: 0xe00085f6, 0x158dd: 0x42ef4e20, 0x158de: 0xe000868a, 0x158df: 0xe0006560, + 0x158e0: 0xe0008886, 0x158e1: 0xe0008a3d, 0x158e2: 0x42ea0c20, 0x158e3: 0x42ea7620, + 0x158e4: 0x42ec3a20, 0x158e5: 0xe0007d16, 0x158e6: 0xe00084c6, 0x158e7: 0xe0006ff0, + 0x158e8: 0xe00090e5, 0x158e9: 0x42ee9420, 0x158ea: 0xe000928f, 0x158eb: 0x42f19820, + 0x158ec: 0x42f56220, 0x158ed: 0xe0008ac1, 0x158ee: 0x42f8f620, 0x158ef: 0xe0008daf, + 0x158f0: 0xe0005980, 0x158f1: 0xe0006668, 0x158f2: 0xe0008608, 0x158f3: 0xe000a688, + 0x158f4: 0xe000a568, 0x158f5: 0x430ef220, 0x158f6: 0xe00043e8, 0x158f7: 0xe00066f1, + 0x158f8: 0xe0007430, 0x158f9: 0xe0008d58, 0x158fa: 0xe0008c9e, 0x158fb: 0xe0009678, + 0x158fc: 0xe000769f, 0x158fd: 0xe00051bc, 0x158fe: 0xe000827e, 0x158ff: 0xe0004f83, + // Block 0x564, offset 0x15900 + 0x15900: 0xe00065cc, 0x15901: 0xe0009045, 0x15902: 0xe0007219, 0x15903: 0xe00090b5, + 0x15904: 0x43233220, 0x15905: 0x4324ec20, 0x15906: 0xe00088e6, 0x15907: 0xe00051c8, + 0x15908: 0xe0008c15, 0x15909: 0x432fb620, 0x1590a: 0xe000a222, 0x1590b: 0x43301620, + 0x1590c: 0xe0006a7b, 0x1590d: 0xe00091a9, 0x1590e: 0xe0004ce9, 0x1590f: 0x48509420, + 0x15910: 0x48508820, 0x15911: 0x4867aa20, 0x15912: 0x44773a20, 0x15913: 0x44803020, + 0x15914: 0x44807220, 0x15915: 0x48a49220, 0x15916: 0x48b9a020, 0x15917: 0x48fda620, + 0x15918: 0x433e8620, 0x15919: 0xe0005b5e, + // Block 0x565, offset 0x15940 + 0x15940: 0xe0003d0b, 0x15941: 0xe0003cf3, 0x15942: 0xe0003cf7, 0x15943: 0xe0003cff, + 0x15944: 0xe0003d0f, 0x15945: 0xe0003d03, 0x15946: 0xf0000404, 0x15947: 0xe0003cfb, + 0x15948: 0xe0003d07, + 0x15950: 0x02bf2e86, 0x15951: 0x02a7de86, + // Block 0x566, offset 0x15980 + 0x15980: 0x429c7a20, 0x15981: 0xe000a5b0, 0x15982: 0x429c8220, 0x15983: 0x48024420, + 0x15984: 0x429ec020, 0x15985: 0xe0006033, 0x15986: 0xe0009b9c, 0x15987: 0xe000661c, + 0x15988: 0x42a0f420, 0x15989: 0xe000694b, 0x1598a: 0xe00073c6, 0x1598b: 0xe0006ca8, + 0x1598c: 0x44693c20, 0x1598d: 0x480c7420, 0x1598e: 0xe0005fa0, 0x1598f: 0x42a2a820, + 0x15990: 0x42a2c820, 0x15991: 0xe0004c59, 0x15992: 0x480a3820, 0x15993: 0x44697220, + 0x15994: 0xe0005217, 0x15995: 0xe00087fa, 0x15996: 0x480a9620, 0x15997: 0xe0007f4a, + 0x15998: 0xe000814e, 0x15999: 0x429d9820, 0x1599a: 0xe0005635, 0x1599b: 0x42a36a20, + 0x1599c: 0x4923be20, 0x1599d: 0x42a3ea20, 0x1599e: 0xe00084ee, 0x1599f: 0x4469be20, + 0x159a0: 0xe00041e4, 0x159a1: 0x42a48c20, 0x159a2: 0xe000a0b7, 0x159a3: 0xe0006c08, + 0x159a4: 0x446a2a20, 0x159a5: 0xe0007f4e, 0x159a6: 0xe0005fa8, 0x159a7: 0xe0004f5b, + 0x159a8: 0xe0008672, 0x159a9: 0xe0009e65, 0x159aa: 0x42a60c20, 0x159ab: 0xe0006858, + 0x159ac: 0xe000a81e, 0x159ad: 0xe0006954, 0x159ae: 0xe00062c4, 0x159af: 0xe0008ff9, + 0x159b0: 0xe0008ff5, 0x159b1: 0xe00046b1, 0x159b2: 0xe00046b1, 0x159b3: 0xe00046b1, + 0x159b4: 0x48145820, 0x159b5: 0xe000a6dc, 0x159b6: 0xe0005003, 0x159b7: 0xe0007246, + 0x159b8: 0x4816c620, 0x159b9: 0xe0004ea3, 0x159ba: 0xe00091b1, 0x159bb: 0x42a80c20, + 0x159bc: 0x42a93c20, 0x159bd: 0xe000a8fb, 0x159be: 0xe0008b5d, 0x159bf: 0xe0008ea4, + // Block 0x567, offset 0x159c0 + 0x159c0: 0xe000763f, 0x159c1: 0x42a9ec20, 0x159c2: 0xe000544e, 0x159c3: 0xe000479c, + 0x159c4: 0xe000a0cf, 0x159c5: 0xe0006e5c, 0x159c6: 0xe0006e5c, 0x159c7: 0xe000a821, + 0x159c8: 0xe0005197, 0x159c9: 0x42ab6620, 0x159ca: 0x42ab8420, 0x159cb: 0xe0005515, + 0x159cc: 0xe0009b5c, 0x159cd: 0x42ae2e20, 0x159ce: 0x42aca220, 0x159cf: 0xe0006864, + 0x159d0: 0xe0008aa9, 0x159d1: 0x42b1dc20, 0x159d2: 0xe0006fc8, 0x159d3: 0xe0007475, + 0x159d4: 0x42b01a20, 0x159d5: 0xe000a38d, 0x159d6: 0x42b06420, 0x159d7: 0xe0006682, + 0x159d8: 0x42b15820, 0x159d9: 0x4829c820, 0x159da: 0x42b1e420, 0x159db: 0x42b1ee20, + 0x159dc: 0xe0006775, 0x159dd: 0xe0005321, 0x159de: 0xe00060d4, 0x159df: 0xe0006b00, + 0x159e0: 0x482d5020, 0x159e1: 0x482dd420, 0x159e2: 0xe000a92e, 0x159e3: 0xe0007c79, + 0x159e4: 0xe0009c21, 0x159e5: 0x42b3b020, 0x159e6: 0xe00067a7, 0x159e7: 0x446ddc20, + 0x159e8: 0x446df820, 0x159e9: 0xe0007efe, 0x159ea: 0xe00057cb, 0x159eb: 0xe00057cb, + 0x159ec: 0x48339020, 0x159ed: 0xe0008106, 0x159ee: 0xe00099f6, 0x159ef: 0xe0005259, + 0x159f0: 0x42b7e620, 0x159f1: 0x48363020, 0x159f2: 0x42b7fe20, 0x159f3: 0x42b80c20, + 0x159f4: 0x42bea620, 0x159f5: 0x42b84420, 0x159f6: 0x446f0220, 0x159f7: 0xe0005521, + 0x159f8: 0x42b8dc20, 0x159f9: 0xe00071aa, 0x159fa: 0x42b91a20, 0x159fb: 0x483bc820, + 0x159fc: 0x42ba8620, 0x159fd: 0x483bcc20, 0x159fe: 0x42badc20, 0x159ff: 0x42bad620, + // Block 0x568, offset 0x15a00 + 0x15a00: 0x42baf820, 0x15a01: 0xe00072d1, 0x15a02: 0xe000704e, 0x15a03: 0x44705e20, + 0x15a04: 0xe0007120, 0x15a05: 0xe0007030, 0x15a06: 0xe000603f, 0x15a07: 0x42bcd220, + 0x15a08: 0x4470c420, 0x15a09: 0x48430620, 0x15a0a: 0x4470f820, 0x15a0b: 0x42bd6020, + 0x15a0c: 0xe00069db, 0x15a0d: 0xe0006d8c, 0x15a0e: 0xe0005837, 0x15a0f: 0x49472420, + 0x15a10: 0x42bdfc20, 0x15a11: 0x48466220, 0x15a12: 0x48466220, 0x15a13: 0xe00079d8, + 0x15a14: 0xe000558a, 0x15a15: 0xe000558a, 0x15a16: 0x44718e20, 0x15a17: 0x48657020, + 0x15a18: 0x48c3b420, 0x15a19: 0xe000a391, 0x15a1a: 0xe0008cfb, 0x15a1b: 0x4471c620, + 0x15a1c: 0x42bf3420, 0x15a1d: 0xe000850a, 0x15a1e: 0xe0009064, 0x15a1f: 0x42bff220, + 0x15a20: 0xe0007a93, 0x15a21: 0x44727420, 0x15a22: 0x44723820, 0x15a23: 0xe000a6c7, + 0x15a24: 0x484da820, 0x15a25: 0xe00055f1, 0x15a26: 0xe00085ed, 0x15a27: 0xe000a654, + 0x15a28: 0x42c29c20, 0x15a29: 0xe000a654, 0x15a2a: 0xe0005c1b, 0x15a2b: 0xe0009021, + 0x15a2c: 0xe000a245, 0x15a2d: 0xe0006878, 0x15a2e: 0xe0009363, 0x15a2f: 0xe00060e4, + 0x15a30: 0xe000922d, 0x15a31: 0xe0005757, 0x15a32: 0xe0006fdc, 0x15a33: 0x42c43620, + 0x15a34: 0x42c4ba20, 0x15a35: 0xe0009e80, 0x15a36: 0xe00063ac, 0x15a37: 0xe0007a27, + 0x15a38: 0x48561820, 0x15a39: 0xe0005e3f, 0x15a3a: 0x42c5f820, 0x15a3b: 0xe0006b1b, + 0x15a3c: 0xe0007054, 0x15a3d: 0x42c7c820, 0x15a3e: 0x4857e220, 0x15a3f: 0xe000910d, + // Block 0x569, offset 0x15a40 + 0x15a40: 0x42c78a20, 0x15a41: 0xe0007977, 0x15a42: 0x44745c20, 0x15a43: 0xe0005ddd, + 0x15a44: 0x42c8fc20, 0x15a45: 0xe000a84b, 0x15a46: 0x42c8ee20, 0x15a47: 0x4474d820, + 0x15a48: 0xe0006260, 0x15a49: 0xe00046d1, 0x15a4a: 0x48601420, 0x15a4b: 0xe0005087, + 0x15a4c: 0xe0006da4, 0x15a4d: 0xe0009111, 0x15a4e: 0x44763220, 0x15a4f: 0xe0006d9e, + 0x15a50: 0x44761020, 0x15a51: 0x4475c820, 0x15a52: 0xe0006036, 0x15a53: 0xe0005fa4, + 0x15a54: 0xe0009802, 0x15a55: 0x42cd3820, 0x15a56: 0xe00052e1, 0x15a57: 0x4487b220, + 0x15a58: 0xe000583b, 0x15a59: 0xe0005ecb, 0x15a5a: 0x42ce4220, 0x15a5b: 0xe0005090, + 0x15a5c: 0xe0009ef7, 0x15a5d: 0x48678620, 0x15a5e: 0x44769220, 0x15a5f: 0x42cff420, + 0x15a60: 0x42cf0a20, 0x15a61: 0x42d0a420, 0x15a62: 0xe0005f15, 0x15a63: 0x4868da20, + 0x15a64: 0x42d11c20, 0x15a65: 0x42d03e20, 0x15a66: 0x42d22820, 0x15a67: 0x44773a20, + 0x15a68: 0xe0006b96, 0x15a69: 0x42d34620, 0x15a6a: 0xe000445b, 0x15a6b: 0x42d55020, + 0x15a6c: 0x486d4620, 0x15a6d: 0xe0009001, 0x15a6e: 0x44783020, 0x15a6f: 0xe000925a, + 0x15a70: 0x48714e20, 0x15a71: 0xe000a242, 0x15a72: 0x44789c20, 0x15a73: 0xe000701e, + 0x15a74: 0x42d73e20, 0x15a75: 0xe0006c40, 0x15a76: 0x42d77620, 0x15a77: 0x48751a20, + 0x15a78: 0x483a1620, 0x15a79: 0x4875f420, 0x15a7a: 0xe0006558, 0x15a7b: 0x48797820, + 0x15a7c: 0xe0007a37, 0x15a7d: 0x42d99a20, 0x15a7e: 0x42d8ce20, 0x15a7f: 0x42da2c20, + // Block 0x56a, offset 0x15a80 + 0x15a80: 0xe0009ce2, 0x15a81: 0xe000a1aa, 0x15a82: 0xe0005c33, 0x15a83: 0xe000a43f, + 0x15a84: 0xe0009a66, 0x15a85: 0xe0007ac3, 0x15a86: 0x487a3c20, 0x15a87: 0x42da6820, + 0x15a88: 0xe000a167, 0x15a89: 0xe000850e, 0x15a8a: 0x447a6620, 0x15a8b: 0xe00085f0, + 0x15a8c: 0x42dd8e20, 0x15a8d: 0x487da220, 0x15a8e: 0xe000797b, 0x15a8f: 0xe0008d1f, + 0x15a90: 0x487ebc20, 0x15a91: 0x487f1c20, 0x15a92: 0xe00068c8, 0x15a93: 0x42e07220, + 0x15a94: 0xe0008bb9, 0x15a95: 0xe0007b77, 0x15a96: 0x447b2c20, 0x15a97: 0x42e09420, + 0x15a98: 0xe0008818, 0x15a99: 0x42e0ee20, 0x15a9a: 0xe0009b74, 0x15a9b: 0x480a4a20, + 0x15a9c: 0x42e28a20, 0x15a9d: 0x4884c620, 0x15a9e: 0x42e33820, 0x15a9f: 0x48875620, + 0x15aa0: 0xe0009303, 0x15aa1: 0xe000868a, 0x15aa2: 0x42e4a020, 0x15aa3: 0x488c1020, + 0x15aa4: 0xe0006dad, 0x15aa5: 0x42e52a20, 0x15aa6: 0x488e6a20, 0x15aa7: 0x48902820, + 0x15aa8: 0xe00053a6, 0x15aa9: 0xe0007e55, 0x15aaa: 0x447d5820, 0x15aab: 0x42e74a20, + 0x15aac: 0x447d7020, 0x15aad: 0x447d7020, 0x15aae: 0x42e88e20, 0x15aaf: 0xe0008263, + 0x15ab0: 0xe0008a3d, 0x15ab1: 0x42e90a20, 0x15ab2: 0xe00046f9, 0x15ab3: 0x447e3620, + 0x15ab4: 0x42ea4820, 0x15ab5: 0x48986c20, 0x15ab6: 0x42ea7c20, 0x15ab7: 0x48992420, + 0x15ab8: 0xe000847a, 0x15ab9: 0x48433e20, 0x15aba: 0xe00082b7, 0x15abb: 0x489f4220, + 0x15abc: 0x489f7020, 0x15abd: 0x48a08820, 0x15abe: 0x447ff820, 0x15abf: 0x44801020, + // Block 0x56b, offset 0x15ac0 + 0x15ac0: 0xe00090e5, 0x15ac1: 0x48a1e620, 0x15ac2: 0x48a1e420, 0x15ac3: 0x48a23220, + 0x15ac4: 0x48a26620, 0x15ac5: 0xe0009145, 0x15ac6: 0x42ee3e20, 0x15ac7: 0x42ee3e20, + 0x15ac8: 0x42ee9420, 0x15ac9: 0x44807220, 0x15aca: 0xe0009149, 0x15acb: 0x44808c20, + 0x15acc: 0x44812c20, 0x15acd: 0x48a83a20, 0x15ace: 0x42f09c20, 0x15acf: 0xe0005aee, + 0x15ad0: 0x42f19820, 0x15ad1: 0x4481c620, 0x15ad2: 0x48ac4c20, 0x15ad3: 0xe0008d31, + 0x15ad4: 0x48ad3420, 0x15ad5: 0x48ad8a20, 0x15ad6: 0xe00066dd, 0x15ad7: 0xe0009912, + 0x15ad8: 0x44825e20, 0x15ad9: 0xe00048de, 0x15ada: 0x42f49420, 0x15adb: 0x42f49e20, + 0x15adc: 0x48b2f820, 0x15add: 0x48b54e20, 0x15ade: 0x48b54e20, 0x15adf: 0x42f5dc20, + 0x15ae0: 0x44840420, 0x15ae1: 0x48b75620, 0x15ae2: 0xe00089d5, 0x15ae3: 0xe00098ca, + 0x15ae4: 0x44844e20, 0x15ae5: 0x48b90020, 0x15ae6: 0x42f9a420, 0x15ae7: 0x44854020, + 0x15ae8: 0x42f9d020, 0x15ae9: 0x42f9c620, 0x15aea: 0xe00050d5, 0x15aeb: 0x48bf0c20, + 0x15aec: 0xe0006664, 0x15aed: 0x44860220, 0x15aee: 0xe00099d5, 0x15aef: 0x42fc0420, + 0x15af0: 0xe00070cf, 0x15af1: 0x44866820, 0x15af2: 0x48c45020, 0x15af3: 0x48c48e20, + 0x15af4: 0x4486b220, 0x15af5: 0x48c5b220, 0x15af6: 0x42fef420, 0x15af7: 0x48c67c20, + 0x15af8: 0x42ff2a20, 0x15af9: 0xe00048b0, 0x15afa: 0xe0008608, 0x15afb: 0x48c9b420, + 0x15afc: 0x48ca4620, 0x15afd: 0x4300c020, 0x15afe: 0x48cb5020, 0x15aff: 0xe00097d8, + // Block 0x56c, offset 0x15b00 + 0x15b00: 0x4866be20, 0x15b01: 0x4487aa20, 0x15b02: 0xe0008302, 0x15b03: 0x43020620, + 0x15b04: 0x44881620, 0x15b05: 0xe00069a2, 0x15b06: 0xe00085ce, 0x15b07: 0x48cf4e20, + 0x15b08: 0x48cf6a20, 0x15b09: 0x48672620, 0x15b0a: 0x48673820, 0x15b0b: 0xe00079d8, + 0x15b0c: 0x43040820, 0x15b0d: 0x431f3c20, 0x15b0e: 0x4488d620, 0x15b0f: 0x43052220, + 0x15b10: 0xe0008008, 0x15b11: 0xe00090a3, 0x15b12: 0x42a56620, 0x15b13: 0xe000a565, + 0x15b14: 0xe0006438, 0x15b15: 0xe00075c0, 0x15b16: 0xe0004850, 0x15b17: 0x48d67820, + 0x15b18: 0xe0007829, 0x15b19: 0xe000945a, 0x15b1a: 0x4306c620, 0x15b1b: 0x43075a20, + 0x15b1c: 0xe0007cd9, 0x15b1d: 0xe0005edf, 0x15b1e: 0x4307ce20, 0x15b1f: 0xe0008898, + 0x15b20: 0x4306a620, 0x15b21: 0xe0004d87, 0x15b22: 0xe0004f13, 0x15b23: 0xe000944b, + 0x15b24: 0x48d86c20, 0x15b25: 0x48dad620, 0x15b26: 0x48d9aa20, 0x15b27: 0x448a5620, + 0x15b28: 0xe0009e30, 0x15b29: 0x4309e620, 0x15b2a: 0x430a2c20, 0x15b2b: 0x48e79420, + 0x15b2c: 0xe00082d2, 0x15b2d: 0x48de5820, 0x15b2e: 0x448aba20, 0x15b2f: 0x448ac220, + 0x15b30: 0x48df6220, 0x15b31: 0x48e1a420, 0x15b32: 0x448ad620, 0x15b33: 0xe000a037, + 0x15b34: 0xe0005aaf, 0x15b35: 0xe000a85d, 0x15b36: 0x430cd220, 0x15b37: 0xe00099e1, + 0x15b38: 0x430d1020, 0x15b39: 0x430e1c20, 0x15b3a: 0x430dc420, 0x15b3b: 0x430ef220, + 0x15b3c: 0xe0008b39, 0x15b3d: 0x430ed620, 0x15b3e: 0x430f0c20, 0x15b3f: 0x448bae20, + // Block 0x56d, offset 0x15b40 + 0x15b40: 0x430fc220, 0x15b41: 0x43100220, 0x15b42: 0x448bf220, 0x15b43: 0x4310c020, + 0x15b44: 0xe000842f, 0x15b45: 0x48ecce20, 0x15b46: 0x4311ae20, 0x15b47: 0x4311bc20, + 0x15b48: 0x448c6a20, 0x15b49: 0x4311f420, 0x15b4a: 0x44697620, 0x15b4b: 0x48f15c20, + 0x15b4c: 0x48f2cc20, 0x15b4d: 0x448d7c20, 0x15b4e: 0x448d8e20, 0x15b4f: 0xe0007008, + 0x15b50: 0xe000827e, 0x15b51: 0xe00065cc, 0x15b52: 0xe000743c, 0x15b53: 0x48f95020, + 0x15b54: 0xe0004a8d, 0x15b55: 0xe00068a0, 0x15b56: 0xe00049d6, 0x15b57: 0xe00050f0, + 0x15b58: 0x48fe5e20, 0x15b59: 0x48100820, 0x15b5a: 0xe00063c0, 0x15b5b: 0x431b7820, + 0x15b5c: 0x431be020, 0x15b5d: 0x4811bc20, 0x15b5e: 0x431da820, 0x15b5f: 0xe0007219, + 0x15b60: 0x490ba420, 0x15b61: 0x490bda20, 0x15b62: 0x43212820, 0x15b63: 0x4321e220, + 0x15b64: 0x43222220, 0x15b65: 0x490e5c20, 0x15b66: 0x43223620, 0x15b67: 0xe00063e0, + 0x15b68: 0xe000a311, 0x15b69: 0x4325b020, 0x15b6a: 0xe0006678, 0x15b6b: 0x4327f220, + 0x15b6c: 0x43282a20, 0x15b6d: 0x4917f420, 0x15b6e: 0xe0004476, 0x15b6f: 0x44932a20, + 0x15b70: 0x432b6e20, 0x15b71: 0x491aee20, 0x15b72: 0x4493cc20, 0x15b73: 0x432d8620, + 0x15b74: 0x42bb6420, 0x15b75: 0xe00080ca, 0x15b76: 0x49228a20, 0x15b77: 0x49243420, + 0x15b78: 0x4494dc20, 0x15b79: 0x4494ec20, 0x15b7a: 0xe0009fd5, 0x15b7b: 0x49281420, + 0x15b7c: 0x44956420, 0x15b7d: 0x49292c20, 0x15b7e: 0x43301620, 0x15b7f: 0x43301620, + // Block 0x56e, offset 0x15b80 + 0x15b80: 0x43305220, 0x15b81: 0x492b6c20, 0x15b82: 0xe00050f9, 0x15b83: 0x44966620, + 0x15b84: 0x43325220, 0x15b85: 0x43334e20, 0x15b86: 0x43338420, 0x15b87: 0x4333fc20, + 0x15b88: 0x44979c20, 0x15b89: 0x49366020, 0x15b8a: 0xe00091a9, 0x15b8b: 0x43388020, + 0x15b8c: 0x4339fa20, 0x15b8d: 0x44999c20, 0x15b8e: 0x4499da20, 0x15b8f: 0x433ace20, + 0x15b90: 0x49419c20, 0x15b91: 0x4499f020, 0x15b92: 0x49420a20, 0x15b93: 0x49441c20, + 0x15b94: 0x49452220, 0x15b95: 0xe0005df2, 0x15b96: 0x449aac20, 0x15b97: 0x433df220, + 0x15b98: 0x433dfc20, 0x15b99: 0x433e0a20, 0x15b9a: 0x433e1e20, 0x15b9b: 0x433e2c20, + 0x15b9c: 0xe00069c3, 0x15b9d: 0x494c0020, + // Block 0x56f, offset 0x15bc0 + 0x15bc0: 0xa000f202, 0x15bc1: 0x403fba21, 0x15bc2: 0x403fba20, 0x15bc3: 0x403fbc20, + 0x15bc4: 0x403fbc20, 0x15bc5: 0x403fbe20, 0x15bc6: 0x403fc020, 0x15bc7: 0x403fcc20, + 0x15bc8: 0x403fce20, 0x15bc9: 0x403fd020, 0x15bca: 0x403fd220, 0x15bcb: 0x403fd420, + 0x15bcc: 0x403fd820, 0x15bcd: 0x403fdc20, 0x15bce: 0x403fde20, 0x15bcf: 0x403fe020, + 0x15bd0: 0x403fe220, 0x15bd1: 0x403fe420, 0x15bd2: 0x403fe620, 0x15bd3: 0x403fe820, + 0x15bd4: 0x403fea20, 0x15bd5: 0xcaac3be1, 0x15bd6: 0x403fee20, 0x15bd7: 0x403ff020, + 0x15bd8: 0x403ff420, 0x15bd9: 0x403ff620, 0x15bda: 0x403ff820, 0x15bdb: 0x403ffa20, + 0x15bdc: 0x403ffc20, 0x15bdd: 0x40400220, 0x15bde: 0x40400420, 0x15bdf: 0x40400620, + 0x15be0: 0x40400820, 0x15be1: 0x40400a20, 0x15be2: 0x40400e20, 0x15be3: 0x40401020, + 0x15be4: 0x40401220, 0x15be5: 0x40401420, 0x15be6: 0x40401620, 0x15be7: 0x40401820, + 0x15be8: 0x40401a20, 0x15be9: 0xe0001830, 0x15bea: 0x40401c20, 0x15beb: 0x40401e20, + 0x15bec: 0x40402020, 0x15bed: 0x40402420, 0x15bee: 0x40402620, 0x15bef: 0x40402820, + 0x15bf0: 0x40402c20, 0x15bf1: 0xe0001839, 0x15bf2: 0x40402e20, 0x15bf3: 0x40403c20, + 0x15bf4: 0xe000a994, 0x15bf5: 0x40403220, 0x15bf6: 0x40403420, 0x15bf7: 0x40403620, + 0x15bf8: 0x40403820, 0x15bf9: 0x40403a20, 0x15bfa: 0x40404c20, 0x15bfb: 0x40404e20, + 0x15bfc: 0xa070f102, 0x15bfd: 0x40403c20, 0x15bfe: 0x40404a20, 0x15bff: 0x40405620, + // Block 0x570, offset 0x15c00 + 0x15c00: 0xa0000000, 0x15c01: 0xa0000000, 0x15c02: 0xa0000000, 0x15c03: 0xa0000000, + 0x15c04: 0xa0000000, 0x15c05: 0xa0000000, 0x15c06: 0xa0000000, 0x15c07: 0xa0000000, + 0x15c08: 0xa0000000, 0x15c09: 0x40020020, 0x15c0a: 0x40020220, 0x15c0b: 0x40020420, + 0x15c0c: 0x40020620, 0x15c0d: 0x40020820, 0x15c0e: 0xa0000000, 0x15c0f: 0xa0000000, + 0x15c10: 0xa0000000, 0x15c11: 0xa0000000, 0x15c12: 0xa0000000, 0x15c13: 0xa0000000, + 0x15c14: 0xa0000000, 0x15c15: 0xa0000000, 0x15c16: 0xa0000000, 0x15c17: 0xa0000000, + 0x15c18: 0xa0000000, 0x15c19: 0xa0000000, 0x15c1a: 0xa0000000, 0x15c1b: 0xa0000000, + 0x15c1c: 0xa0000000, 0x15c1d: 0xa0000000, 0x15c1e: 0xa0000000, 0x15c1f: 0xa0000000, + 0x15c20: 0x40021220, 0x15c21: 0x4002ba20, 0x15c22: 0x4003e020, 0x15c23: 0x4004ea20, + 0x15c24: 0x4027de20, 0x15c25: 0x4004ec20, 0x15c26: 0x4004e620, 0x15c27: 0x4003d220, + 0x15c28: 0x4003f420, 0x15c29: 0x4003f620, 0x15c2a: 0x4004d820, 0x15c2b: 0x40093820, + 0x15c2c: 0x40024020, 0x15c2d: 0x40021a20, 0x15c2e: 0x4002e420, 0x15c2f: 0x4004e220, + 0x15c30: 0x4029cc20, 0x15c31: 0x4029ce20, 0x15c32: 0x4029d020, 0x15c33: 0x4029d220, + 0x15c34: 0x4029d420, 0x15c35: 0x4029d620, 0x15c36: 0x4029d820, 0x15c37: 0x4029da20, + 0x15c38: 0x4029dc20, 0x15c39: 0x4029de20, 0x15c3a: 0x40026c20, 0x15c3b: 0x40026220, + 0x15c3c: 0x40094020, 0x15c3d: 0x40094220, 0x15c3e: 0x40094420, 0x15c3f: 0x4002c420, + // Block 0x571, offset 0x15c40 + 0x15c40: 0x4004d620, 0x15c41: 0x002bde88, 0x15c42: 0x002c0a88, 0x15c43: 0x002c3a88, + 0x15c44: 0x002c6288, 0x15c45: 0x002c9888, 0x15c46: 0x002d0888, 0x15c47: 0xcab12692, + 0x15c48: 0x002d6888, 0x15c49: 0x002d9a88, 0x15c4a: 0x002dcc88, 0x15c4b: 0xcab726c2, + 0x15c4c: 0xc0030002, 0x15c4d: 0xcac33c48, 0x15c4e: 0xcadf3daa, 0x15c4f: 0x002ee288, + 0x15c50: 0x002f2c88, 0x15c51: 0x002f5688, 0x15c52: 0x002f7a88, 0x15c53: 0xcaf409c2, + 0x15c54: 0xcafa2722, 0x15c55: 0x00306c88, 0x15c56: 0x0030be88, 0x15c57: 0x0030e288, + 0x15c58: 0x0030f688, 0x15c59: 0x00310088, 0x15c5a: 0x00312a88, 0x15c5b: 0x4003f820, + 0x15c5c: 0x4004e420, 0x15c5d: 0x4003fa20, 0x15c5e: 0x40062420, 0x15c5f: 0x40021620, + 0x15c60: 0x40061e20, 0x15c61: 0x402bde20, 0x15c62: 0x402c0a20, 0x15c63: 0x402c3a20, + 0x15c64: 0x402c6220, 0x15c65: 0x402c9820, 0x15c66: 0x402d0820, 0x15c67: 0xcaae2692, + 0x15c68: 0x402d6820, 0x15c69: 0x402d9a20, 0x15c6a: 0x402dcc20, 0x15c6b: 0xcab426c2, + 0x15c6c: 0xc0000002, 0x15c6d: 0xcaba3c48, 0x15c6e: 0xcacc3cca, 0x15c6f: 0x402ee220, + 0x15c70: 0x402f2c20, 0x15c71: 0x402f5620, 0x15c72: 0x402f7a20, 0x15c73: 0xcaf109c2, + 0x15c74: 0xcaf72722, 0x15c75: 0x40306c20, 0x15c76: 0x4030be20, 0x15c77: 0x4030e220, + 0x15c78: 0x4030f620, 0x15c79: 0x40310020, 0x15c7a: 0x40312a20, 0x15c7b: 0x4003fc20, + 0x15c7c: 0x40094820, 0x15c7d: 0x4003fe20, 0x15c7e: 0x40094c20, 0x15c7f: 0xa0000000, + // Block 0x572, offset 0x15c80 + 0x15c80: 0x402c1a20, 0x15c81: 0x002c2a88, 0x15c82: 0x002c3288, 0x15c83: 0x402c3220, + 0x15c84: 0x0031c488, 0x15c85: 0x4031c420, 0x15c86: 0x002ee2a3, 0x15c87: 0x002c4e88, + 0x15c88: 0x402c4e20, 0x15c89: 0x002c7288, 0x15c8a: 0x002c7a88, 0x15c8b: 0x002c8488, + 0x15c8c: 0x402c8420, 0x15c8d: 0xe000115c, 0x15c8e: 0x002cae88, 0x15c8f: 0x002cb888, + 0x15c90: 0x002c9a83, 0x15c91: 0x002d1688, 0x15c92: 0x402d1620, 0x15c93: 0x002d4488, + 0x15c94: 0x002d5888, 0x15c95: 0x402d7820, 0x15c96: 0x002dc288, 0x15c97: 0x002db688, + 0x15c98: 0x002e0a88, 0x15c99: 0x402e0a20, 0x15c9a: 0x402e3820, 0x15c9b: 0x402e7220, + 0x15c9c: 0x0030a088, 0x15c9d: 0x002eb488, 0x15c9e: 0x402ebc20, 0x15c9f: 0x002f1088, + 0x15ca0: 0xe0000e56, 0x15ca1: 0xe0000e53, 0x15ca2: 0x002d6088, 0x15ca3: 0x402d6020, + 0x15ca4: 0x002f3e88, 0x15ca5: 0x402f3e20, 0x15ca6: 0x002f8288, 0x15ca7: 0x0031b488, + 0x15ca8: 0x4031b420, 0x15ca9: 0x00300888, 0x15caa: 0x40301220, 0x15cab: 0x40304220, + 0x15cac: 0x00304a88, 0x15cad: 0x40304a20, 0x15cae: 0x00305288, 0x15caf: 0xe000105f, + 0x15cb0: 0xe000105c, 0x15cb1: 0x0030b488, 0x15cb2: 0x0030cc88, 0x15cb3: 0x00311888, + 0x15cb4: 0x40311820, 0x15cb5: 0x00313488, 0x15cb6: 0x40313420, 0x15cb7: 0x00316488, + 0x15cb8: 0x00316e88, 0x15cb9: 0x40316e20, 0x15cba: 0x40317820, 0x15cbb: 0x4031a620, + 0x15cbc: 0x0031bc88, 0x15cbd: 0x4031bc20, 0x15cbe: 0xe0000fc9, 0x15cbf: 0x40319420, + // Block 0x573, offset 0x15cc0 + 0x15cc0: 0x40315820, 0x15cc1: 0x0031d488, 0x15cc2: 0x4031d420, 0x15cc3: 0x002c1a88, + 0x15cc4: 0x00307c88, 0x15cc5: 0x0030da88, 0x15cc6: 0x002ca288, 0x15cc7: 0x402ca220, + 0x15cc8: 0x002dde88, 0x15cc9: 0x402dde20, 0x15cca: 0x002f6a88, 0x15ccb: 0x402f6a20, + 0x15ccc: 0x002f8e88, 0x15ccd: 0x402f8e20, 0x15cce: 0x00311088, 0x15ccf: 0x40311020, + 0x15cd0: 0x402bf020, 0x15cd1: 0x402bf820, 0x15cd2: 0x402c0220, 0x15cd3: 0x402c2a20, + 0x15cd4: 0x402ee221, 0x15cd5: 0x402c5620, 0x15cd6: 0x402c7220, 0x15cd7: 0x402c7a20, + 0x15cd8: 0x402ccc20, 0x15cd9: 0x402cb820, 0x15cda: 0x402cd420, 0x15cdb: 0x402c9a20, + 0x15cdc: 0x402cdc20, 0x15cdd: 0x402ce820, 0x15cde: 0x402cf020, 0x15cdf: 0x402dee20, + 0x15ce0: 0x402d4420, 0x15ce1: 0x402d2a20, 0x15ce2: 0x402d3220, 0x15ce3: 0x402d5820, + 0x15ce4: 0x402d0020, 0x15ce5: 0x40308820, 0x15ce6: 0x402d8020, 0x15ce7: 0x402d8e20, + 0x15ce8: 0x402db620, 0x15ce9: 0x402dc220, 0x15cea: 0x402daa20, 0x15ceb: 0x402e4220, + 0x15cec: 0x402e4a20, 0x15ced: 0x402e5420, 0x15cee: 0x402e6820, 0x15cef: 0x4030a020, + 0x15cf0: 0x4030ac20, 0x15cf1: 0x402e9020, 0x15cf2: 0x402eb420, 0x15cf3: 0x402ec820, + 0x15cf4: 0x402ea620, 0x15cf5: 0x402f1020, 0x15cf6: 0x402eee20, 0x15cf7: 0x402f1a20, + 0x15cf8: 0x402f4c20, 0x15cf9: 0x402f9820, 0x15cfa: 0x402fa220, 0x15cfb: 0x402fac20, + 0x15cfc: 0x402fb620, 0x15cfd: 0x402fbe20, 0x15cfe: 0x402fc620, 0x15cff: 0x402fd020, + // Block 0x574, offset 0x15d00 + 0x15d00: 0xa0000000, 0x15d01: 0xa0000000, 0x15d02: 0xa0000000, 0x15d03: 0xa0000000, + 0x15d04: 0xa0000000, 0x15d05: 0xa0000000, 0x15d06: 0xa0000000, 0x15d07: 0xa0000000, + 0x15d08: 0xa0000000, 0x15d09: 0x40020020, 0x15d0a: 0x40020220, 0x15d0b: 0x40020420, + 0x15d0c: 0x40020620, 0x15d0d: 0x40020820, 0x15d0e: 0xa0000000, 0x15d0f: 0xa0000000, + 0x15d10: 0xa0000000, 0x15d11: 0xa0000000, 0x15d12: 0xa0000000, 0x15d13: 0xa0000000, + 0x15d14: 0xa0000000, 0x15d15: 0xa0000000, 0x15d16: 0xa0000000, 0x15d17: 0xa0000000, + 0x15d18: 0xa0000000, 0x15d19: 0xa0000000, 0x15d1a: 0xa0000000, 0x15d1b: 0xa0000000, + 0x15d1c: 0xa0000000, 0x15d1d: 0xa0000000, 0x15d1e: 0xa0000000, 0x15d1f: 0xa0000000, + 0x15d20: 0x40021220, 0x15d21: 0x4002ba20, 0x15d22: 0x4003e020, 0x15d23: 0x4004ea20, + 0x15d24: 0x4027de20, 0x15d25: 0x4004ec20, 0x15d26: 0x4004e620, 0x15d27: 0x4003d220, + 0x15d28: 0x4003f420, 0x15d29: 0x4003f620, 0x15d2a: 0x4004d820, 0x15d2b: 0x40093820, + 0x15d2c: 0x40024020, 0x15d2d: 0x40021a20, 0x15d2e: 0x4002e420, 0x15d2f: 0x4004e220, + 0x15d30: 0x4029cc20, 0x15d31: 0x4029ce20, 0x15d32: 0x4029d020, 0x15d33: 0x4029d220, + 0x15d34: 0x4029d420, 0x15d35: 0x4029d620, 0x15d36: 0x4029d820, 0x15d37: 0x4029da20, + 0x15d38: 0x4029dc20, 0x15d39: 0x4029de20, 0x15d3a: 0x40026c20, 0x15d3b: 0x40026220, + 0x15d3c: 0x40094020, 0x15d3d: 0x40094220, 0x15d3e: 0x40094420, 0x15d3f: 0x4002c420, + // Block 0x575, offset 0x15d40 + 0x15d40: 0x4004d620, 0x15d41: 0xcb030be1, 0x15d42: 0x002c0a88, 0x15d43: 0xc3350991, + 0x15d44: 0x002c6288, 0x15d45: 0xcb083ea1, 0x15d46: 0x002d0888, 0x15d47: 0x002d2288, + 0x15d48: 0x002d6888, 0x15d49: 0xcb0d0be1, 0x15d4a: 0x002dcc88, 0x15d4b: 0x002dfe88, + 0x15d4c: 0xc0030002, 0x15d4d: 0x002e8288, 0x15d4e: 0x002e9e88, 0x15d4f: 0x002ee288, + 0x15d50: 0x002f2c88, 0x15d51: 0x002f5688, 0x15d52: 0x002f7a88, 0x15d53: 0xc3430991, + 0x15d54: 0x00302c88, 0x15d55: 0xcb123ed1, 0x15d56: 0x0030be88, 0x15d57: 0x0030e288, + 0x15d58: 0x0030f688, 0x15d59: 0x002d9ac3, 0x15d5a: 0xc3630991, 0x15d5b: 0x4003f820, + 0x15d5c: 0x4004e420, 0x15d5d: 0x4003fa20, 0x15d5e: 0x40062420, 0x15d5f: 0x40021620, + 0x15d60: 0x40061e20, 0x15d61: 0xcb010be1, 0x15d62: 0x402c0a20, 0x15d63: 0xc3330991, + 0x15d64: 0x402c6220, 0x15d65: 0xcb053ea1, 0x15d66: 0x402d0820, 0x15d67: 0x402d2220, + 0x15d68: 0x402d6820, 0x15d69: 0xcb0b0be1, 0x15d6a: 0x402dcc20, 0x15d6b: 0x402dfe20, + 0x15d6c: 0xc0000002, 0x15d6d: 0x402e8220, 0x15d6e: 0x402e9e20, 0x15d6f: 0x402ee220, + 0x15d70: 0x402f2c20, 0x15d71: 0x402f5620, 0x15d72: 0x402f7a20, 0x15d73: 0xc3410991, + 0x15d74: 0x40302c20, 0x15d75: 0xcb0f3ed1, 0x15d76: 0x4030be20, 0x15d77: 0x4030e220, + 0x15d78: 0x4030f620, 0x15d79: 0x402d9a22, 0x15d7a: 0xc3610991, 0x15d7b: 0x4003fc20, + 0x15d7c: 0x40094820, 0x15d7d: 0x4003fe20, 0x15d7e: 0x40094c20, 0x15d7f: 0xa0000000, + // Block 0x576, offset 0x15d80 + 0x15d80: 0xe00008f5, 0x15d81: 0xe00008ef, 0x15d82: 0xe0000921, 0x15d83: 0xe0000969, + 0x15d84: 0xe000095b, 0x15d85: 0xe000094d, 0x15d86: 0xe00009dd, 0x15d87: 0xe0000a53, + 0x15d88: 0xe0000ae8, 0x15d89: 0xe0000ae2, 0x15d8a: 0xe0000af4, 0x15d8b: 0xe0000b20, + 0x15d8c: 0xe0000c2b, 0x15d8d: 0xe0000c25, 0x15d8e: 0xe0000c37, 0x15d8f: 0xe0000c43, + 0x15d90: 0xe0000ab3, 0x15d91: 0xe0000d63, 0x15d92: 0xe0000d9a, 0x15d93: 0xe0000d94, + 0x15d94: 0xe0000da6, 0x15d95: 0xe0000de6, 0x15d96: 0xe0000dd2, 0x15d97: 0x40093e20, + 0x15d98: 0xe0000e12, 0x15d99: 0xe0000fe1, 0x15d9a: 0xe0000fdb, 0x15d9b: 0xe0000fed, + 0x15d9c: 0xe0000fff, 0x15d9d: 0xe000a99a, 0x15d9e: 0x00318888, 0x15d9f: 0xe0000f7b, + 0x15da0: 0xe00008f2, 0x15da1: 0xe00008ec, 0x15da2: 0xe000091e, 0x15da3: 0xe0000966, + 0x15da4: 0xe0000958, 0x15da5: 0xe000094a, 0x15da6: 0xe00009d5, 0x15da7: 0xe0000a4d, + 0x15da8: 0xe0000ae5, 0x15da9: 0xe0000adf, 0x15daa: 0xe0000af1, 0x15dab: 0xe0000b1d, + 0x15dac: 0xe0000c28, 0x15dad: 0xe0000c22, 0x15dae: 0xe0000c34, 0x15daf: 0xe0000c40, + 0x15db0: 0xe0000aad, 0x15db1: 0xe0000d60, 0x15db2: 0xe0000d97, 0x15db3: 0xe0000d91, + 0x15db4: 0xe0000da3, 0x15db5: 0xe0000de3, 0x15db6: 0xe0000dcf, 0x15db7: 0x40093c20, + 0x15db8: 0xe0000e0f, 0x15db9: 0xe0000fde, 0x15dba: 0xe0000fd8, 0x15dbb: 0xe0000fea, + 0x15dbc: 0xe0000ffc, 0x15dbd: 0xe000a997, 0x15dbe: 0x40318820, 0x15dbf: 0xe000a9ac, + // Block 0x577, offset 0x15dc0 + 0x15dc0: 0xe0000983, 0x15dc1: 0xe0000980, 0x15dc2: 0xe00008fb, 0x15dc3: 0xe00008f8, + 0x15dc4: 0x002bdea3, 0x15dc5: 0x402bde21, 0x15dc6: 0xe0000a38, 0x15dc7: 0xe0000a35, + 0x15dc8: 0xe0000a3e, 0x15dc9: 0xe0000a3b, 0x15dca: 0xe0000a4a, 0x15dcb: 0xe0000a47, + 0x15dcc: 0x002c3c83, 0x15dcd: 0x402c3c20, 0x15dce: 0xe0000a86, 0x15dcf: 0xe0000a83, + 0x15dd0: 0xe0000aaa, 0x15dd1: 0xe0000aa7, 0x15dd2: 0xe0000b46, 0x15dd3: 0xe0000b43, + 0x15dd4: 0xe0000aee, 0x15dd5: 0xe0000aeb, 0x15dd6: 0x002c98c3, 0x15dd7: 0x402c9822, + 0x15dd8: 0x002c98a3, 0x15dd9: 0x402c9821, 0x15dda: 0xe0000b1a, 0x15ddb: 0xe0000b17, + 0x15ddc: 0xe0000bb8, 0x15ddd: 0xe0000bb5, 0x15dde: 0xe0000bb2, 0x15ddf: 0xe0000baf, + 0x15de0: 0xe0000bc4, 0x15de1: 0xe0000bc1, 0x15de2: 0xe0000bca, 0x15de3: 0xe0000bc7, + 0x15de4: 0xe0000bee, 0x15de5: 0xe0000beb, 0x15de6: 0xe0000c1b, 0x15de7: 0xe0000c18, + 0x15de8: 0xe0000c51, 0x15de9: 0xe0000c4e, 0x15dea: 0xe0000c60, 0x15deb: 0xe0000c5d, + 0x15dec: 0xe0000c31, 0x15ded: 0xe0000c2e, 0x15dee: 0x002d9aa3, 0x15def: 0x402d9a21, + 0x15df0: 0xe0000c54, 0x15df1: 0x402da220, 0x15df2: 0xf0000a0a, 0x15df3: 0xf0000404, + 0x15df4: 0xe0000c8a, 0x15df5: 0xe0000c87, 0x15df6: 0xe0000c9f, 0x15df7: 0xe0000c9c, + 0x15df8: 0x402f7220, 0x15df9: 0xe0000ccc, 0x15dfa: 0xe0000cc9, 0x15dfb: 0xe0000cd8, + 0x15dfc: 0xe0000cd5, 0x15dfd: 0xe0000cd2, 0x15dfe: 0xe0000ccf, 0x15dff: 0xe0000d04, + // Block 0x578, offset 0x15e00 + 0x15e00: 0xe0000cfe, 0x15e01: 0xe0000cf8, 0x15e02: 0xe0000cf5, 0x15e03: 0xe0000d51, + 0x15e04: 0xe0000d4e, 0x15e05: 0xe0000d6f, 0x15e06: 0xe0000d6c, 0x15e07: 0xe0000d5d, + 0x15e08: 0xe0000d5a, 0x15e09: 0xf0000404, 0x15e0a: 0x002eda88, 0x15e0b: 0x402eda20, + 0x15e0c: 0xe0000e2e, 0x15e0d: 0xe0000e2b, 0x15e0e: 0xe0000da0, 0x15e0f: 0xe0000d9d, + 0x15e10: 0xe0000de0, 0x15e11: 0xe0000ddd, 0x15e12: 0xe0000e93, 0x15e13: 0xe0000e8f, + 0x15e14: 0xe0000eca, 0x15e15: 0xe0000ec7, 0x15e16: 0xe0000edc, 0x15e17: 0xe0000ed9, + 0x15e18: 0xe0000ed0, 0x15e19: 0xe0000ecd, 0x15e1a: 0xe0000f1f, 0x15e1b: 0xe0000f1c, + 0x15e1c: 0xe0000f2d, 0x15e1d: 0xe0000f2a, 0x15e1e: 0xe0000f47, 0x15e1f: 0xe0000f44, + 0x15e20: 0x002fe883, 0x15e21: 0x402fe820, 0x15e22: 0xe0000f99, 0x15e23: 0xe0000f96, + 0x15e24: 0xe0000f8a, 0x15e25: 0xe0000f87, 0x15e26: 0x00303688, 0x15e27: 0x40303620, + 0x15e28: 0xe000102b, 0x15e29: 0xe0001028, 0x15e2a: 0x00306cc3, 0x15e2b: 0x40306c22, + 0x15e2c: 0xe0000fe7, 0x15e2d: 0xe0000fe4, 0x15e2e: 0xe0000ff9, 0x15e2f: 0xe0000ff6, + 0x15e30: 0xe0001025, 0x15e31: 0xe0001022, 0x15e32: 0x00306ca3, 0x15e33: 0x40306c21, + 0x15e34: 0xe00010d8, 0x15e35: 0xe00010d5, 0x15e36: 0xe000a9a6, 0x15e37: 0xe000a9a3, + 0x15e38: 0xe000a9af, 0x15e39: 0xe000113b, 0x15e3a: 0xe0001138, 0x15e3b: 0xe000114d, + 0x15e3c: 0xe000114a, 0x15e3d: 0x00312c83, 0x15e3e: 0x40312c20, 0x15e3f: 0xe0000f64, + // Block 0x579, offset 0x15e40 + 0x15e40: 0x40321220, 0x15e41: 0x40321a20, 0x15e42: 0x40322220, 0x15e43: 0x40322a20, + 0x15e44: 0xe0000ad5, 0x15e45: 0xe0000ad1, 0x15e46: 0xe0000acd, 0x15e47: 0xf0000a0a, + 0x15e48: 0xf000040a, 0x15e49: 0xf0000404, 0x15e4a: 0xf0000a0a, 0x15e4b: 0xf000040a, + 0x15e4c: 0xf0000404, 0x15e4d: 0xe0000947, 0x15e4e: 0xe0000944, 0x15e4f: 0xe0000c3d, + 0x15e50: 0xe0000c3a, 0x15e51: 0xe0000dcc, 0x15e52: 0xe0000dc9, 0x15e53: 0xe0000ff3, + 0x15e54: 0xe0000ff0, 0x15e55: 0xe000a9d3, 0x15e56: 0xe000a9d0, 0x15e57: 0xe0001006, + 0x15e58: 0xe0001002, 0x15e59: 0xe0001016, 0x15e5a: 0xe0001012, 0x15e5b: 0xe000100e, + 0x15e5c: 0xe000100a, 0x15e5d: 0x402cae20, 0x15e5e: 0xe0000962, 0x15e5f: 0xe000095e, + 0x15e60: 0xe0000976, 0x15e61: 0xe0000972, 0x15e62: 0xe00009f4, 0x15e63: 0xe00009ef, + 0x15e64: 0x002d3a88, 0x15e65: 0x402d3a20, 0x15e66: 0xe0000bbe, 0x15e67: 0xe0000bbb, + 0x15e68: 0xe0000c99, 0x15e69: 0xe0000c96, 0x15e6a: 0xe0000e20, 0x15e6b: 0xe0000e1d, + 0x15e6c: 0xe0000e27, 0x15e6d: 0xe0000e23, 0x15e6e: 0xe0001162, 0x15e6f: 0xe000115f, + 0x15e70: 0xe0000c8d, 0x15e71: 0xf0000a0a, 0x15e72: 0xf000040a, 0x15e73: 0xf0000404, + 0x15e74: 0xe0000bac, 0x15e75: 0xe0000ba9, 0x15e76: 0x002d7888, 0x15e77: 0x00319488, + 0x15e78: 0xe0000d57, 0x15e79: 0xe0000d54, 0x15e7a: 0xe0000954, 0x15e7b: 0xe0000950, + 0x15e7c: 0xe00009ea, 0x15e7d: 0xe00009e5, 0x15e7e: 0xe0000e19, 0x15e7f: 0xe0000e15, + // Block 0x57a, offset 0x15e80 + 0x15e80: 0xe000098f, 0x15e81: 0xe000098c, 0x15e82: 0xe0000995, 0x15e83: 0xe0000992, + 0x15e84: 0xe0000b62, 0x15e85: 0xe0000b5f, 0x15e86: 0xe0000b68, 0x15e87: 0xe0000b65, + 0x15e88: 0xe0000c6c, 0x15e89: 0xe0000c69, 0x15e8a: 0xe0000c72, 0x15e8b: 0xe0000c6f, + 0x15e8c: 0xe0000e4a, 0x15e8d: 0xe0000e47, 0x15e8e: 0xe0000e50, 0x15e8f: 0xe0000e4d, + 0x15e90: 0xe0000ee8, 0x15e91: 0xe0000ee5, 0x15e92: 0xe0000eee, 0x15e93: 0xe0000eeb, + 0x15e94: 0xe0001053, 0x15e95: 0xe0001050, 0x15e96: 0xe0001059, 0x15e97: 0xe0001056, + 0x15e98: 0xe0000f61, 0x15e99: 0xe0000f5e, 0x15e9a: 0xe0000fa5, 0x15e9b: 0xe0000fa2, + 0x15e9c: 0x00312288, 0x15e9d: 0x40312220, 0x15e9e: 0xe0000bf4, 0x15e9f: 0xe0000bf1, + 0x15ea0: 0x002ebc88, 0x15ea1: 0x402c8c20, 0x15ea2: 0x002f2288, 0x15ea3: 0x402f2220, + 0x15ea4: 0x00314088, 0x15ea5: 0x40314020, 0x15ea6: 0xe000096f, 0x15ea7: 0xe000096c, + 0x15ea8: 0xe0000b32, 0x15ea9: 0xe0000b2f, 0x15eaa: 0xe0000dd9, 0x15eab: 0xe0000dd5, + 0x15eac: 0xe0000dfd, 0x15ead: 0xe0000df9, 0x15eae: 0xe0000e04, 0x15eaf: 0xe0000e01, + 0x15eb0: 0xe0000e0b, 0x15eb1: 0xe0000e07, 0x15eb2: 0xe000a9c1, 0x15eb3: 0xe000a9be, + 0x15eb4: 0x402e5e20, 0x15eb5: 0x402ed020, 0x15eb6: 0x40305a20, 0x15eb7: 0x402dd420, + 0x15eb8: 0xe0000abf, 0x15eb9: 0xe0000ec4, 0x15eba: 0x002be888, 0x15ebb: 0x002c4488, + 0x15ebc: 0x402c4420, 0x15ebd: 0x002e3888, 0x15ebe: 0x00303e88, 0x15ebf: 0x402ffc20, + // Block 0x57b, offset 0x15ec0 + 0x15ec0: 0xae603502, 0x15ec1: 0xae603202, 0x15ec2: 0xae603c02, 0x15ec3: 0xae604e02, + 0x15ec4: 0xae605b02, 0x15ec5: 0xae606302, 0x15ec6: 0xae603702, 0x15ec7: 0xcafd3e71, + 0x15ec8: 0xae604702, 0x15ec9: 0xae606402, 0x15eca: 0xae604302, 0x15ecb: 0xae604d02, + 0x15ecc: 0xae604102, 0x15ecd: 0xae605f02, 0x15ece: 0xae605f02, 0x15ecf: 0xae606502, + 0x15ed0: 0xae606602, 0x15ed1: 0xae606702, 0x15ed2: 0xae605f02, 0x15ed3: 0xae602202, + 0x15ed4: 0xae602a02, 0x15ed5: 0xae805f02, 0x15ed6: 0xadc06002, 0x15ed7: 0xadc06002, + 0x15ed8: 0xadc06002, 0x15ed9: 0xadc06002, 0x15eda: 0xae805f02, 0x15edb: 0xad806802, + 0x15edc: 0xadc06002, 0x15edd: 0xadc06002, 0x15ede: 0xadc06002, 0x15edf: 0xadc06002, + 0x15ee0: 0xadc06002, 0x15ee1: 0xaca06e02, 0x15ee2: 0xaca06f02, 0x15ee3: 0xadc07002, + 0x15ee4: 0xadc07502, 0x15ee5: 0xadc07602, 0x15ee6: 0xadc07702, 0x15ee7: 0xaca05602, + 0x15ee8: 0xaca05902, 0x15ee9: 0xadc06002, 0x15eea: 0xadc06002, 0x15eeb: 0xadc06002, + 0x15eec: 0xadc06002, 0x15eed: 0xadc07802, 0x15eee: 0xadc07902, 0x15eef: 0xadc06002, + 0x15ef0: 0xadc07a02, 0x15ef1: 0xadc07b02, 0x15ef2: 0xadc02102, 0x15ef3: 0xadc06002, + 0x15ef4: 0xa0107c02, 0x15ef5: 0xa0107d02, 0x15ef6: 0xa0106102, 0x15ef7: 0xa0106102, + 0x15ef8: 0xa0105402, 0x15ef9: 0xadc07e02, 0x15efa: 0xadc06002, 0x15efb: 0xadc06002, + 0x15efc: 0xadc06002, 0x15efd: 0xae605f02, 0x15efe: 0xae605f02, 0x15eff: 0xae605f02, + // Block 0x57c, offset 0x15f00 + 0x15f00: 0xe0000d24, 0x15f01: 0xe0000d21, 0x15f02: 0xe0000d2a, 0x15f03: 0xe0000d27, + 0x15f04: 0xe0000d69, 0x15f05: 0xe0000d66, 0x15f06: 0xe0000d7b, 0x15f07: 0xe0000d78, + 0x15f08: 0xe0000d87, 0x15f09: 0xe0000d84, 0x15f0a: 0xe0000d81, 0x15f0b: 0xe0000d7e, + 0x15f0c: 0xe0000ded, 0x15f0d: 0xe0000de9, 0x15f0e: 0xe0000df5, 0x15f0f: 0xe0000df1, + 0x15f10: 0xe0000e3d, 0x15f11: 0xe0000e39, 0x15f12: 0xe0000e35, 0x15f13: 0xe0000e31, + 0x15f14: 0xe0000ea7, 0x15f15: 0xe0000ea4, 0x15f16: 0xe0000ead, 0x15f17: 0xe0000eaa, + 0x15f18: 0xe0000ed6, 0x15f19: 0xe0000ed3, 0x15f1a: 0xe0000ef4, 0x15f1b: 0xe0000ef1, + 0x15f1c: 0xe0000efb, 0x15f1d: 0xe0000ef7, 0x15f1e: 0xe0000f02, 0x15f1f: 0xe0000eff, + 0x15f20: 0xe0000f41, 0x15f21: 0xe0000f3e, 0x15f22: 0xe0000f53, 0x15f23: 0xe0000f50, + 0x15f24: 0xe0000f26, 0x15f25: 0xe0000f22, 0x15f26: 0xe000296a, 0x15f27: 0xe0002967, + 0x15f28: 0xe0000f5a, 0x15f29: 0xe0000f56, 0x15f2a: 0xe0000f93, 0x15f2b: 0xe0000f90, + 0x15f2c: 0xe0000f9f, 0x15f2d: 0xe0000f9c, 0x15f2e: 0xe0000fb1, 0x15f2f: 0xe0000fae, + 0x15f30: 0xe0000fab, 0x15f31: 0xe0000fa8, 0x15f32: 0xe0001093, 0x15f33: 0xe0001090, + 0x15f34: 0xe000109f, 0x15f35: 0xe000109c, 0x15f36: 0xe0001099, 0x15f37: 0xe0001096, + 0x15f38: 0xe0001032, 0x15f39: 0xe000102e, 0x15f3a: 0xe000a9d3, 0x15f3b: 0xe000a9d0, + 0x15f3c: 0xe00010a9, 0x15f3d: 0xe00010a6, 0x15f3e: 0xe00010af, 0x15f3f: 0xe00010ac, + // Block 0x57d, offset 0x15f40 + 0x15f40: 0xe00010d2, 0x15f41: 0xe00010cf, 0x15f42: 0xe00010cc, 0x15f43: 0xe00010c9, + 0x15f44: 0xe00010e1, 0x15f45: 0xe00010de, 0x15f46: 0xe00010e7, 0x15f47: 0xe00010e4, + 0x15f48: 0xe00010ed, 0x15f49: 0xe00010ea, 0x15f4a: 0xe00010fc, 0x15f4b: 0xe00010f9, + 0x15f4c: 0xe00010f6, 0x15f4d: 0xe00010f3, 0x15f4e: 0xe000a9bb, 0x15f4f: 0xe000a9b8, + 0x15f50: 0xe0001141, 0x15f51: 0xe000113e, 0x15f52: 0xe0001153, 0x15f53: 0xe0001150, + 0x15f54: 0xe0001159, 0x15f55: 0xe0001156, 0x15f56: 0xe0000c15, 0x15f57: 0xe0000f8d, + 0x15f58: 0xe00010db, 0x15f59: 0xe000a9a9, 0x15f5a: 0xf0000404, 0x15f5b: 0xe0000f70, + 0x15f5c: 0x40300420, 0x15f5d: 0x40300620, 0x15f5e: 0xe0000f7f, 0x15f5f: 0x402c9620, + 0x15f60: 0xe000099b, 0x15f61: 0xe0000998, 0x15f62: 0xe0000989, 0x15f63: 0xe0000986, + 0x15f64: 0xe0000928, 0x15f65: 0xe0000924, 0x15f66: 0xe0000930, 0x15f67: 0xe000092c, + 0x15f68: 0xe0000940, 0x15f69: 0xe000093c, 0x15f6a: 0xe0000938, 0x15f6b: 0xe0000934, + 0x15f6c: 0xe00009aa, 0x15f6d: 0xe00009a6, 0x15f6e: 0xe0000902, 0x15f6f: 0xe00008fe, + 0x15f70: 0xe000090a, 0x15f71: 0xe0000906, 0x15f72: 0xe000091a, 0x15f73: 0xe0000916, + 0x15f74: 0xe0000912, 0x15f75: 0xe000090e, 0x15f76: 0xe00009a2, 0x15f77: 0xe000099e, + 0x15f78: 0xe0000b6e, 0x15f79: 0xe0000b6b, 0x15f7a: 0xe0000b5c, 0x15f7b: 0xe0000b59, + 0x15f7c: 0xe0000b26, 0x15f7d: 0xe0000b23, 0x15f7e: 0xe0000afb, 0x15f7f: 0xe0000af7, + // Block 0x57e, offset 0x15f80 + 0x15f80: 0xe0000b03, 0x15f81: 0xe0000aff, 0x15f82: 0xe0000b13, 0x15f83: 0xe0000b0f, + 0x15f84: 0xe0000b0b, 0x15f85: 0xe0000b07, 0x15f86: 0xe0000b75, 0x15f87: 0xe0000b71, + 0x15f88: 0xe0000c66, 0x15f89: 0xe0000c63, 0x15f8a: 0xe0000c78, 0x15f8b: 0xe0000c75, + 0x15f8c: 0xe0000e84, 0x15f8d: 0xe0000e81, 0x15f8e: 0xe0000e44, 0x15f8f: 0xe0000e41, + 0x15f90: 0xe0000dad, 0x15f91: 0xe0000da9, 0x15f92: 0xe0000db5, 0x15f93: 0xe0000db1, + 0x15f94: 0xe0000dc5, 0x15f95: 0xe0000dc1, 0x15f96: 0xe0000dbd, 0x15f97: 0xe0000db9, + 0x15f98: 0xe0000e8b, 0x15f99: 0xe0000e87, 0x15f9a: 0xe0000e5d, 0x15f9b: 0xe0000e59, + 0x15f9c: 0xe0000e65, 0x15f9d: 0xe0000e61, 0x15f9e: 0xe0000e75, 0x15f9f: 0xe0000e71, + 0x15fa0: 0xe0000e6d, 0x15fa1: 0xe0000e69, 0x15fa2: 0xe0000e7d, 0x15fa3: 0xe0000e79, + 0x15fa4: 0xe000108d, 0x15fa5: 0xe000108a, 0x15fa6: 0xe000104d, 0x15fa7: 0xe000104a, + 0x15fa8: 0xe0001066, 0x15fa9: 0xe0001062, 0x15faa: 0xe000106e, 0x15fab: 0xe000106a, + 0x15fac: 0xe000107e, 0x15fad: 0xe000107a, 0x15fae: 0xe0001076, 0x15faf: 0xe0001072, + 0x15fb0: 0xe0001086, 0x15fb1: 0xe0001082, 0x15fb2: 0xe000a9a0, 0x15fb3: 0xe000a99d, + 0x15fb4: 0xe000a9cd, 0x15fb5: 0xe000a9ca, 0x15fb6: 0xe000a9c7, 0x15fb7: 0xe000a9c4, + 0x15fb8: 0xe000a9b5, 0x15fb9: 0xe000a9b2, 0x15fba: 0xe0000d0a, 0x15fbb: 0xe0000d07, + 0x15fbc: 0x0030d888, 0x15fbd: 0x4030d820, 0x15fbe: 0x00312088, 0x15fbf: 0x40312020, + // Block 0x57f, offset 0x15fc0 + 0x15fc0: 0xe0000024, 0x15fc1: 0xe0000029, 0x15fc2: 0xe000002e, 0x15fc3: 0xe0000033, + 0x15fc4: 0xe0000038, 0x15fc5: 0xe000003d, 0x15fc6: 0xe0000042, 0x15fc7: 0xe0000047, + 0x15fc8: 0xf0001f04, 0x15fc9: 0xf0001f04, 0x15fca: 0xf0001f04, 0x15fcb: 0xf0001f04, + 0x15fcc: 0xf0001f04, 0x15fcd: 0xf0001f04, 0x15fce: 0xf0001f04, 0x15fcf: 0xf0001f04, + 0x15fd0: 0xf0001f04, 0x15fd1: 0xf0000404, 0x15fd2: 0xf0000404, 0x15fd3: 0xf0000404, + 0x15fd4: 0xf0000404, 0x15fd5: 0xf0000404, 0x15fd6: 0xf0000404, 0x15fd7: 0xf0000404, + 0x15fd8: 0xf0000404, 0x15fd9: 0xf0000404, 0x15fda: 0xf0000404, 0x15fdb: 0xf0000404, + 0x15fdc: 0xf0000404, 0x15fdd: 0xf0000404, 0x15fde: 0xf0000404, 0x15fdf: 0xf0000404, + 0x15fe0: 0xf0000404, 0x15fe1: 0xf0000404, 0x15fe2: 0xf0000404, 0x15fe3: 0xf0000404, + 0x15fe4: 0xf0000404, 0x15fe5: 0xf0000404, 0x15fe6: 0xf0000404, 0x15fe7: 0xf0000404, + 0x15fe8: 0xf0000404, 0x15fe9: 0xf0000404, 0x15fea: 0xf0000404, 0x15feb: 0xf0000404, + 0x15fec: 0xf0000404, 0x15fed: 0xf0000404, 0x15fee: 0xf0000404, 0x15fef: 0xf0000404, + 0x15ff0: 0xf0000404, 0x15ff1: 0xf0000404, 0x15ff2: 0xf0000404, 0x15ff3: 0xf0000404, + 0x15ff4: 0xe0002c4e, 0x15ff5: 0xf0000404, 0x15ff6: 0x002bde8c, 0x15ff7: 0x002c0a8c, + 0x15ff8: 0x002c3a8c, 0x15ff9: 0x002c628c, 0x15ffa: 0x002c988c, 0x15ffb: 0x002d088c, + 0x15ffc: 0x002d228c, 0x15ffd: 0x002d688c, 0x15ffe: 0x002d9a8c, 0x15fff: 0x002dcc8c, + // Block 0x580, offset 0x16000 + 0x16000: 0xf0001d1c, 0x16001: 0xf0001d1d, 0x16002: 0xe00009b7, 0x16003: 0xf0001c1d, + 0x16004: 0xf0001c1c, 0x16005: 0xf0001c1c, 0x16006: 0xe0000a66, 0x16007: 0xe0000a7a, + 0x16008: 0xf0001d1c, 0x16009: 0xe0003576, 0x1600a: 0xf0001c1c, 0x1600b: 0xf0001d1d, + 0x1600c: 0xf0001c1c, 0x1600d: 0xf0001d1d, 0x1600e: 0xf0001d1d, 0x1600f: 0xf0001c1c, + 0x16010: 0xf0001c1c, 0x16011: 0xf0001c1c, 0x16012: 0xe0000d0d, 0x16013: 0xf0001c1c, + 0x16014: 0xf0001c1c, 0x16015: 0xe0000d3a, 0x16016: 0xe0000d46, 0x16017: 0xf0001d1d, + 0x16018: 0xe0000eb0, 0x16019: 0xe0000eb8, 0x1601a: 0xf0001d1d, 0x1601b: 0xf0001c1c, + 0x1601c: 0xf0001c1d, 0x1601d: 0xf0001c1d, 0x1601e: 0xe00010b2, 0x1601f: 0xe00009c8, + 0x16020: 0xf0001f04, 0x16021: 0xf0001f04, 0x16022: 0xf0001f04, 0x16023: 0xf0001f04, + 0x16024: 0xf0001f04, 0x16025: 0xf0001f04, 0x16026: 0xf0001f04, 0x16027: 0xf0001f04, + 0x16028: 0xf0001f04, 0x16029: 0xf0000404, 0x1602a: 0xf0000404, 0x1602b: 0xf0000404, + 0x1602c: 0xf0000404, 0x1602d: 0xf0000404, 0x1602e: 0xf0000404, 0x1602f: 0xf0000404, + 0x16030: 0xf0000404, 0x16031: 0xf0000404, 0x16032: 0xf0000404, 0x16033: 0xf0000404, + 0x16034: 0xf0000404, 0x16035: 0xf0000404, 0x16036: 0xf0000404, 0x16037: 0xf0000404, + 0x16038: 0xf0000404, 0x16039: 0xf0000404, 0x1603a: 0xf0000404, 0x1603b: 0xf0000404, + 0x1603c: 0xf0000404, 0x1603d: 0xf0000404, 0x1603e: 0xf0000404, 0x1603f: 0xe0000bdf, + // Block 0x581, offset 0x16040 + 0x16040: 0xf0001f04, 0x16041: 0xf0001f04, 0x16042: 0xf0001f04, 0x16043: 0xf0001f04, + 0x16044: 0xf0001f04, 0x16045: 0xf0001f04, 0x16046: 0xf0001f04, 0x16047: 0xf0001f04, + 0x16048: 0xf0001f04, 0x16049: 0xf0001f04, 0x1604a: 0xf0001f04, + 0x16050: 0xf0000a04, 0x16051: 0xf0000a04, 0x16052: 0xf0000a04, 0x16053: 0xf0000a04, + 0x16054: 0xf0000a04, 0x16055: 0xf0000a04, 0x16056: 0xf0000a04, 0x16057: 0xf0000a04, + 0x16058: 0xf0000a04, 0x16059: 0xf0000a04, 0x1605a: 0xf0000a04, 0x1605b: 0xf0000a04, + 0x1605c: 0xf0000a04, 0x1605d: 0xf0000a04, 0x1605e: 0xf0000a04, 0x1605f: 0xf0000a04, + 0x16060: 0xf0000a04, 0x16061: 0xf0000a04, 0x16062: 0xf0000a04, 0x16063: 0xf0000a04, + 0x16064: 0xf0000a04, 0x16065: 0xf0000a04, 0x16066: 0xf0000a04, 0x16067: 0xf0000a04, + 0x16068: 0xe0002c52, 0x16069: 0xf0000a04, 0x1606a: 0xf0000a04, 0x1606b: 0x002c3a8c, + 0x1606c: 0x002f7a8c, 0x1606d: 0xf0000c0c, 0x1606e: 0xf0000c0c, + 0x16070: 0x002bde9d, 0x16071: 0x002c0a9d, 0x16072: 0x002c3a9d, 0x16073: 0x002c629d, + 0x16074: 0x002c989d, 0x16075: 0x002d089d, 0x16076: 0x002d229d, 0x16077: 0x002d689d, + 0x16078: 0x002d9a9d, 0x16079: 0x002dcc9d, 0x1607a: 0x002dfe9d, 0x1607b: 0x002e229d, + 0x1607c: 0x002e829d, 0x1607d: 0x002e9e9d, 0x1607e: 0x002ee29d, 0x1607f: 0x002f2c9d, + // Block 0x582, offset 0x16080 + 0x16080: 0xa0000000, 0x16081: 0xa0000000, 0x16082: 0xa0000000, 0x16083: 0xa0000000, + 0x16084: 0xa0000000, 0x16085: 0xa0000000, 0x16086: 0xa0000000, 0x16087: 0xa0000000, + 0x16088: 0xa0000000, 0x16089: 0x40020020, 0x1608a: 0x40020220, 0x1608b: 0x40020420, + 0x1608c: 0x40020620, 0x1608d: 0x40020820, 0x1608e: 0xa0000000, 0x1608f: 0xa0000000, + 0x16090: 0xa0000000, 0x16091: 0xa0000000, 0x16092: 0xa0000000, 0x16093: 0xa0000000, + 0x16094: 0xa0000000, 0x16095: 0xa0000000, 0x16096: 0xa0000000, 0x16097: 0xa0000000, + 0x16098: 0xa0000000, 0x16099: 0xa0000000, 0x1609a: 0xa0000000, 0x1609b: 0xa0000000, + 0x1609c: 0xa0000000, 0x1609d: 0xa0000000, 0x1609e: 0xa0000000, 0x1609f: 0xa0000000, + 0x160a0: 0x40021220, 0x160a1: 0x4002ba20, 0x160a2: 0x4003e020, 0x160a3: 0x4004ea20, + 0x160a4: 0x4027de20, 0x160a5: 0x4004ec20, 0x160a6: 0x4004e620, 0x160a7: 0x4003d220, + 0x160a8: 0x4003f420, 0x160a9: 0x4003f620, 0x160aa: 0x4004d820, 0x160ab: 0x40093820, + 0x160ac: 0x40024020, 0x160ad: 0x40021a20, 0x160ae: 0x4002e420, 0x160af: 0x4004e220, + 0x160b0: 0x4029cc20, 0x160b1: 0x4029ce20, 0x160b2: 0x4029d020, 0x160b3: 0x4029d220, + 0x160b4: 0x4029d420, 0x160b5: 0x4029d620, 0x160b6: 0x4029d820, 0x160b7: 0x4029da20, + 0x160b8: 0x4029dc20, 0x160b9: 0x4029de20, 0x160ba: 0x40026c20, 0x160bb: 0x40026220, + 0x160bc: 0x40094020, 0x160bd: 0x40094220, 0x160be: 0x40094420, 0x160bf: 0x4002c420, + // Block 0x583, offset 0x160c0 + 0x160c0: 0x4004d620, 0x160c1: 0x002bde88, 0x160c2: 0x002c0a88, 0x160c3: 0xcb170991, + 0x160c4: 0x002c6288, 0x160c5: 0x002c9888, 0x160c6: 0x002d0888, 0x160c7: 0xcb1b0911, + 0x160c8: 0x002d6888, 0x160c9: 0x002d9a88, 0x160ca: 0x002dcc88, 0x160cb: 0xcb1f0911, + 0x160cc: 0xcb253f03, 0x160cd: 0x002e8288, 0x160ce: 0xcb2b0911, 0x160cf: 0x002ee288, + 0x160d0: 0x002f2c88, 0x160d1: 0x002f5688, 0x160d2: 0xcb2f0911, 0x160d3: 0xcb330991, + 0x160d4: 0x00302c88, 0x160d5: 0x00306c88, 0x160d6: 0x0030be88, 0x160d7: 0x0030e288, + 0x160d8: 0x0030f688, 0x160d9: 0x00310088, 0x160da: 0xcb370991, 0x160db: 0x4003f820, + 0x160dc: 0x4004e420, 0x160dd: 0x4003fa20, 0x160de: 0x40062420, 0x160df: 0x40021620, + 0x160e0: 0x40061e20, 0x160e1: 0x402bde20, 0x160e2: 0x402c0a20, 0x160e3: 0xcb150991, + 0x160e4: 0x402c6220, 0x160e5: 0x402c9820, 0x160e6: 0x402d0820, 0x160e7: 0xcb190911, + 0x160e8: 0x402d6820, 0x160e9: 0x402d9a20, 0x160ea: 0x402dcc20, 0x160eb: 0xcb1d0911, + 0x160ec: 0xcb213f03, 0x160ed: 0x402e8220, 0x160ee: 0xcb290911, 0x160ef: 0x402ee220, + 0x160f0: 0x402f2c20, 0x160f1: 0x402f5620, 0x160f2: 0xcb2d0911, 0x160f3: 0xcb310991, + 0x160f4: 0x40302c20, 0x160f5: 0x40306c20, 0x160f6: 0x4030be20, 0x160f7: 0x4030e220, + 0x160f8: 0x4030f620, 0x160f9: 0x40310020, 0x160fa: 0xcb350991, 0x160fb: 0x4003fc20, + 0x160fc: 0x40094820, 0x160fd: 0x4003fe20, 0x160fe: 0x40094c20, 0x160ff: 0xa0000000, + // Block 0x584, offset 0x16100 + 0x16100: 0xe0000983, 0x16101: 0xe0000980, 0x16102: 0xe00008fb, 0x16103: 0xe00008f8, + 0x16104: 0xe000097d, 0x16105: 0xe000097a, 0x16106: 0xe0000a38, 0x16107: 0xe0000a35, + 0x16108: 0xe0000a3e, 0x16109: 0xe0000a3b, 0x1610a: 0xe0000a4a, 0x1610b: 0xe0000a47, + 0x1610c: 0x002c6083, 0x1610d: 0x402c6020, 0x1610e: 0xe0000a86, 0x1610f: 0xe0000a83, + 0x16110: 0xe0000aaa, 0x16111: 0xe0000aa7, 0x16112: 0xe0000b46, 0x16113: 0xe0000b43, + 0x16114: 0xe0000aee, 0x16115: 0xe0000aeb, 0x16116: 0xe0000b2c, 0x16117: 0xe0000b29, + 0x16118: 0xe0000b40, 0x16119: 0xe0000b3d, 0x1611a: 0xe0000b1a, 0x1611b: 0xe0000b17, + 0x1611c: 0xe0000bb8, 0x1611d: 0xe0000bb5, 0x1611e: 0xe0000bb2, 0x1611f: 0xe0000baf, + 0x16120: 0xe0000bc4, 0x16121: 0xe0000bc1, 0x16122: 0x002d6683, 0x16123: 0x402d6620, + 0x16124: 0xe0000bee, 0x16125: 0xe0000beb, 0x16126: 0xe0000c1b, 0x16127: 0xe0000c18, + 0x16128: 0xe0000c51, 0x16129: 0xe0000c4e, 0x1612a: 0xe0000c60, 0x1612b: 0xe0000c5d, + 0x1612c: 0xe0000c31, 0x1612d: 0xe0000c2e, 0x1612e: 0xe0000c5a, 0x1612f: 0xe0000c57, + 0x16130: 0xe0000c54, 0x16131: 0x402da220, 0x16132: 0xf0000a0a, 0x16133: 0xf0000404, + 0x16134: 0xe0000c8a, 0x16135: 0xe0000c87, 0x16136: 0x002e2083, 0x16137: 0x402e2020, + 0x16138: 0x402f7220, 0x16139: 0xe0000ccc, 0x1613a: 0xe0000cc9, 0x1613b: 0x002e8083, + 0x1613c: 0x402e8020, 0x1613d: 0xe0000cd2, 0x1613e: 0xe0000ccf, 0x1613f: 0xe0000d04, + // Block 0x585, offset 0x16140 + 0x16140: 0xe0000cfe, 0x16141: 0xe0000cf8, 0x16142: 0xe0000cf5, 0x16143: 0xe0000d51, + 0x16144: 0xe0000d4e, 0x16145: 0x002ee083, 0x16146: 0x402ee020, 0x16147: 0xe0000d5d, + 0x16148: 0xe0000d5a, 0x16149: 0xf0000404, 0x1614a: 0x002eda88, 0x1614b: 0x402eda20, + 0x1614c: 0xe0000e2e, 0x1614d: 0xe0000e2b, 0x1614e: 0xe0000da0, 0x1614f: 0xe0000d9d, + 0x16150: 0xe0000de0, 0x16151: 0xe0000ddd, 0x16152: 0xe0000e93, 0x16153: 0xe0000e8f, + 0x16154: 0xe0000eca, 0x16155: 0xe0000ec7, 0x16156: 0x002fe483, 0x16157: 0x402fe420, + 0x16158: 0xe0000ed0, 0x16159: 0xe0000ecd, 0x1615a: 0xe0000f1f, 0x1615b: 0xe0000f1c, + 0x1615c: 0xe0000f2d, 0x1615d: 0xe0000f2a, 0x1615e: 0xe0000f47, 0x1615f: 0xe0000f44, + 0x16160: 0x00302a83, 0x16161: 0x40302a20, 0x16162: 0xe0000f99, 0x16163: 0xe0000f96, + 0x16164: 0xe0000f8a, 0x16165: 0xe0000f87, 0x16166: 0x00303688, 0x16167: 0x40303620, + 0x16168: 0xe000102b, 0x16169: 0xe0001028, 0x1616a: 0xe000103f, 0x1616b: 0xe000103c, + 0x1616c: 0xe0000fe7, 0x1616d: 0xe0000fe4, 0x1616e: 0xe0000ff9, 0x1616f: 0xe0000ff6, + 0x16170: 0xe0001025, 0x16171: 0xe0001022, 0x16172: 0xe0001039, 0x16173: 0xe0001036, + 0x16174: 0xe00010d8, 0x16175: 0xe00010d5, 0x16176: 0xe000110e, 0x16177: 0xe000110b, + 0x16178: 0xe0001117, 0x16179: 0xe000113b, 0x1617a: 0xe0001138, 0x1617b: 0xe000114d, + 0x1617c: 0xe000114a, 0x1617d: 0x00316283, 0x1617e: 0x40316220, 0x1617f: 0xe0000f64, + // Block 0x586, offset 0x16180 + 0x16180: 0xe0000d24, 0x16181: 0xe0000d21, 0x16182: 0xe0000d2a, 0x16183: 0xe0000d27, + 0x16184: 0xe0000d69, 0x16185: 0xe0000d66, 0x16186: 0xe0000d7b, 0x16187: 0xe0000d78, + 0x16188: 0xe0000d87, 0x16189: 0xe0000d84, 0x1618a: 0xe0000d81, 0x1618b: 0xe0000d7e, + 0x1618c: 0xe0000ded, 0x1618d: 0xe0000de9, 0x1618e: 0xe0000df5, 0x1618f: 0xe0000df1, + 0x16190: 0xe0000e3d, 0x16191: 0xe0000e39, 0x16192: 0xe0000e35, 0x16193: 0xe0000e31, + 0x16194: 0xe0000ea7, 0x16195: 0xe0000ea4, 0x16196: 0xe0000ead, 0x16197: 0xe0000eaa, + 0x16198: 0xe0000ed6, 0x16199: 0xe0000ed3, 0x1619a: 0xe0000ef4, 0x1619b: 0xe0000ef1, + 0x1619c: 0xe0000efb, 0x1619d: 0xe0000ef7, 0x1619e: 0xe0000f02, 0x1619f: 0xe0000eff, + 0x161a0: 0xe0000f41, 0x161a1: 0xe0000f3e, 0x161a2: 0xe0000f53, 0x161a3: 0xe0000f50, + 0x161a4: 0xe0000f26, 0x161a5: 0xe0000f22, 0x161a6: 0xe000a9d9, 0x161a7: 0xe000a9d6, + 0x161a8: 0xe0000f5a, 0x161a9: 0xe0000f56, 0x161aa: 0xe0000f93, 0x161ab: 0xe0000f90, + 0x161ac: 0xe0000f9f, 0x161ad: 0xe0000f9c, 0x161ae: 0xe0000fb1, 0x161af: 0xe0000fae, + 0x161b0: 0xe0000fab, 0x161b1: 0xe0000fa8, 0x161b2: 0xe0001093, 0x161b3: 0xe0001090, + 0x161b4: 0xe000109f, 0x161b5: 0xe000109c, 0x161b6: 0xe0001099, 0x161b7: 0xe0001096, + 0x161b8: 0xe0001032, 0x161b9: 0xe000102e, 0x161ba: 0xe0001046, 0x161bb: 0xe0001042, + 0x161bc: 0xe00010a9, 0x161bd: 0xe00010a6, 0x161be: 0xe00010af, 0x161bf: 0xe00010ac, + // Block 0x587, offset 0x161c0 + 0x161c2: 0xe000a9f1, 0x161c3: 0xa000f402, + 0x161c5: 0x40440220, 0x161c6: 0x40440420, 0x161c7: 0x40440620, + 0x161c8: 0x40440820, 0x161c9: 0x40440a20, 0x161ca: 0x40440c20, 0x161cb: 0x40440e20, + 0x161cc: 0x40441220, 0x161ce: 0x40441620, 0x161cf: 0x40441820, + 0x161d0: 0x40441a20, 0x161d2: 0x40441c20, 0x161d3: 0x40441e20, + 0x161d4: 0x40442020, 0x161d5: 0xcb393f61, 0x161d6: 0x40442420, 0x161d7: 0x40442620, + 0x161d8: 0x40442820, 0x161d9: 0x40442a20, 0x161da: 0x40442c20, 0x161db: 0x40442e20, + 0x161dc: 0x40443020, 0x161dd: 0x40443220, 0x161de: 0x40443420, 0x161df: 0x40443620, + 0x161e0: 0x40443820, 0x161e1: 0x40443a20, 0x161e2: 0x40443c20, 0x161e3: 0xcb3b3fc1, + 0x161e4: 0x40444020, 0x161e5: 0x40444220, 0x161e6: 0x40444420, 0x161e7: 0x40444620, + 0x161e8: 0xcb3f3f61, 0x161e9: 0x40444a20, 0x161ea: 0x40444c20, 0x161eb: 0x40444e20, + 0x161ec: 0x40445020, 0x161ed: 0x40445220, 0x161ee: 0x40445420, 0x161ef: 0x40445620, + 0x161f0: 0xcb413f61, 0x161f1: 0x40446a20, 0x161f2: 0xcb433f61, 0x161f3: 0xcb453f61, + 0x161f4: 0x40446820, 0x161f5: 0x40445c20, 0x161f6: 0x40445e20, 0x161f7: 0x40446020, + 0x161f8: 0x40446220, 0x161f9: 0x40446420, 0x161fa: 0x40446c20, + 0x161fd: 0xa000f502, 0x161fe: 0x40447020, 0x161ff: 0x40447220, + // Block 0x588, offset 0x16200 + 0x16200: 0x40447420, 0x16201: 0x40447620, 0x16202: 0x40447820, 0x16203: 0x40447a20, + 0x16204: 0x40447c20, 0x16206: 0xcb4703b1, 0x16207: 0xc0760401, + 0x16208: 0x40448620, 0x1620a: 0x40448820, 0x1620b: 0x40448a20, + 0x1620c: 0x00448c83, 0x1620d: 0x82092248, 0x1620e: 0xe000186c, + 0x16217: 0x40448c20, + 0x16220: 0x40441020, 0x16221: 0x40441420, 0x16222: 0x40447e20, 0x16223: 0x40448020, + 0x16226: 0xe0000185, 0x16227: 0xe0000216, + 0x16228: 0xe0000331, 0x16229: 0xe000040b, 0x1622a: 0xe00004e0, 0x1622b: 0xe00005aa, + 0x1622c: 0xe0000675, 0x1622d: 0xe000071d, 0x1622e: 0xe00007c9, 0x1622f: 0xe000086e, + 0x16230: 0x40285a20, 0x16231: 0x40285c20, 0x16232: 0x40285e20, 0x16233: 0x40286020, + 0x16234: 0x40286220, 0x16235: 0x40286420, + 0x16239: 0x40074e20, 0x1623a: 0xe000a9e5, 0x1623b: 0xcb3d4031, + 0x1623c: 0xe000a9f7, 0x1623d: 0xe000a9fd, 0x1623e: 0xe000aa03, 0x1623f: 0xe000a9df, + // Block 0x589, offset 0x16240 + 0x16240: 0xa000f202, 0x16241: 0x403fba21, 0x16242: 0x403fba20, 0x16243: 0x403fbc20, + 0x16244: 0x403fbc20, 0x16245: 0x403fbe20, 0x16246: 0x403fc020, 0x16247: 0x403fcc20, + 0x16248: 0x403fce20, 0x16249: 0x403fd020, 0x1624a: 0x403fd220, 0x1624b: 0x403fd420, + 0x1624c: 0x403fd820, 0x1624d: 0x403fdc20, 0x1624e: 0x403fde20, 0x1624f: 0x403fe020, + 0x16250: 0x403fe220, 0x16251: 0x403fe420, 0x16252: 0x403fe620, 0x16253: 0x403fe820, + 0x16254: 0x403fea20, 0x16255: 0xcaac3be1, 0x16256: 0x403fee20, 0x16257: 0x403ff020, + 0x16258: 0x403ff420, 0x16259: 0x403ff620, 0x1625a: 0x403ff820, 0x1625b: 0x403ffa20, + 0x1625c: 0xcb4a4061, 0x1625d: 0x40400220, 0x1625e: 0x40400420, 0x1625f: 0x40400620, + 0x16260: 0x40400820, 0x16261: 0x40400a20, 0x16262: 0x40400e20, 0x16263: 0x40401020, + 0x16264: 0x40401220, 0x16265: 0x40401420, 0x16266: 0x40401620, 0x16267: 0x40401820, + 0x16268: 0x40401a20, 0x16269: 0xe0001830, 0x1626a: 0x40401c20, 0x1626b: 0x40401e20, + 0x1626c: 0x40402020, 0x1626d: 0x40402420, 0x1626e: 0x40402620, 0x1626f: 0x40402820, + 0x16270: 0x40402c20, 0x16271: 0xe0001839, 0x16272: 0x40402e20, 0x16273: 0x40403c20, + 0x16274: 0xe000a994, 0x16275: 0x40403220, 0x16276: 0x40403420, 0x16277: 0x40403620, + 0x16278: 0x40403820, 0x16279: 0x40403a20, 0x1627a: 0x40404c20, 0x1627b: 0x40404e20, + 0x1627c: 0xa070f102, 0x1627d: 0x40403c20, 0x1627e: 0x40404a20, 0x1627f: 0x40405620, + // Block 0x58a, offset 0x16280 + 0x16280: 0xa0000000, 0x16281: 0xa0000000, 0x16282: 0xa0000000, 0x16283: 0xa0000000, + 0x16284: 0xa0000000, 0x16285: 0xa0000000, 0x16286: 0xa0000000, 0x16287: 0xa0000000, + 0x16288: 0xa0000000, 0x16289: 0x40020020, 0x1628a: 0x40020220, 0x1628b: 0x40020420, + 0x1628c: 0x40020620, 0x1628d: 0x40020820, 0x1628e: 0xa0000000, 0x1628f: 0xa0000000, + 0x16290: 0xa0000000, 0x16291: 0xa0000000, 0x16292: 0xa0000000, 0x16293: 0xa0000000, + 0x16294: 0xa0000000, 0x16295: 0xa0000000, 0x16296: 0xa0000000, 0x16297: 0xa0000000, + 0x16298: 0xa0000000, 0x16299: 0xa0000000, 0x1629a: 0xa0000000, 0x1629b: 0xa0000000, + 0x1629c: 0xa0000000, 0x1629d: 0xa0000000, 0x1629e: 0xa0000000, 0x1629f: 0xa0000000, + 0x162a0: 0x40021220, 0x162a1: 0x4002ba20, 0x162a2: 0x4003e020, 0x162a3: 0x4004ea20, + 0x162a4: 0x4027de20, 0x162a5: 0x4004ec20, 0x162a6: 0x4004e620, 0x162a7: 0x4003d220, + 0x162a8: 0x4003f420, 0x162a9: 0x4003f620, 0x162aa: 0x4004d820, 0x162ab: 0x40093820, + 0x162ac: 0x40024020, 0x162ad: 0x40021a20, 0x162ae: 0x4002e420, 0x162af: 0x4004e220, + 0x162b0: 0x4029cc20, 0x162b1: 0x4029ce20, 0x162b2: 0x4029d020, 0x162b3: 0x4029d220, + 0x162b4: 0x4029d420, 0x162b5: 0x4029d620, 0x162b6: 0x4029d820, 0x162b7: 0x4029da20, + 0x162b8: 0x4029dc20, 0x162b9: 0x4029de20, 0x162ba: 0x40026c20, 0x162bb: 0x40026220, + 0x162bc: 0x40094020, 0x162bd: 0x40094220, 0x162be: 0x40094420, 0x162bf: 0x4002c420, + // Block 0x58b, offset 0x162c0 + 0x162c0: 0x4004d620, 0x162c1: 0x002bde88, 0x162c2: 0x002c0a88, 0x162c3: 0xcb4c0931, + 0x162c4: 0x002c6288, 0x162c5: 0x002c9888, 0x162c6: 0x002d0888, 0x162c7: 0xcb5040c2, + 0x162c8: 0x002d6888, 0x162c9: 0x002d9a88, 0x162ca: 0x002dcc88, 0x162cb: 0x002dfe88, + 0x162cc: 0xc0030002, 0x162cd: 0x002e8288, 0x162ce: 0x002e9e88, 0x162cf: 0x002ee288, + 0x162d0: 0x002f2c88, 0x162d1: 0x002f5688, 0x162d2: 0x002f7a88, 0x162d3: 0x002fe688, + 0x162d4: 0x00302c88, 0x162d5: 0x00306c88, 0x162d6: 0x0030be88, 0x162d7: 0x0030e288, + 0x162d8: 0x0030f688, 0x162d9: 0x00310088, 0x162da: 0xcb580931, 0x162db: 0x4003f820, + 0x162dc: 0x4004e420, 0x162dd: 0x4003fa20, 0x162de: 0x40062420, 0x162df: 0x40021620, + 0x162e0: 0x40061e20, 0x162e1: 0x402bde20, 0x162e2: 0x402c0a20, 0x162e3: 0xcb4e0931, + 0x162e4: 0x402c6220, 0x162e5: 0x402c9820, 0x162e6: 0x402d0820, 0x162e7: 0xcb5440c2, + 0x162e8: 0x402d6820, 0x162e9: 0x402d9a20, 0x162ea: 0x402dcc20, 0x162eb: 0x402dfe20, + 0x162ec: 0xc0000002, 0x162ed: 0x402e8220, 0x162ee: 0x402e9e20, 0x162ef: 0x402ee220, + 0x162f0: 0x402f2c20, 0x162f1: 0x402f5620, 0x162f2: 0x402f7a20, 0x162f3: 0x402fe620, + 0x162f4: 0x40302c20, 0x162f5: 0x40306c20, 0x162f6: 0x4030be20, 0x162f7: 0x4030e220, + 0x162f8: 0x4030f620, 0x162f9: 0x40310020, 0x162fa: 0xcb5a0931, 0x162fb: 0x4003fc20, + 0x162fc: 0x40094820, 0x162fd: 0x4003fe20, 0x162fe: 0x40094c20, 0x162ff: 0xa0000000, + // Block 0x58c, offset 0x16300 + 0x16300: 0xe0000983, 0x16301: 0xe0000980, 0x16302: 0xe00008fb, 0x16303: 0xe00008f8, + 0x16304: 0xe000097d, 0x16305: 0xe000097a, 0x16306: 0xe0000a38, 0x16307: 0xe0000a35, + 0x16308: 0xe0000a3e, 0x16309: 0xe0000a3b, 0x1630a: 0x402c3820, 0x1630b: 0x002c3883, + 0x1630c: 0xe0000a44, 0x1630d: 0xe0000a41, 0x1630e: 0xe0000a86, 0x1630f: 0xe0000a83, + 0x16310: 0xe0000aaa, 0x16311: 0xe0000aa7, 0x16312: 0xe0000b46, 0x16313: 0xe0000b43, + 0x16314: 0xe0000aee, 0x16315: 0xe0000aeb, 0x16316: 0xe0000b2c, 0x16317: 0xe0000b29, + 0x16318: 0xe0000b40, 0x16319: 0xe0000b3d, 0x1631a: 0xe0000b1a, 0x1631b: 0xe0000b17, + 0x1631c: 0xe0000bb8, 0x1631d: 0xe0000bb5, 0x1631e: 0xe0000bb2, 0x1631f: 0xe0000baf, + 0x16320: 0x402d2020, 0x16321: 0x002d2083, 0x16322: 0xe0000bca, 0x16323: 0xe0000bc7, + 0x16324: 0xe0000bee, 0x16325: 0xe0000beb, 0x16326: 0x402d9820, 0x16327: 0x002d9883, + 0x16328: 0xe0000c51, 0x16329: 0xe0000c4e, 0x1632a: 0xe0000c60, 0x1632b: 0xe0000c5d, + 0x1632c: 0xe0000c31, 0x1632d: 0xe0000c2e, 0x1632e: 0xe0000c5a, 0x1632f: 0xe0000c57, + 0x16330: 0xe0000c54, 0x16331: 0x402da220, 0x16332: 0xf0000a0a, 0x16333: 0xf0000404, + 0x16334: 0xe0000c8a, 0x16335: 0xe0000c87, 0x16336: 0xe0000c9f, 0x16337: 0xe0000c9c, + 0x16338: 0x402f7220, 0x16339: 0xe0000ccc, 0x1633a: 0xe0000cc9, 0x1633b: 0xe0000cd8, + 0x1633c: 0xe0000cd5, 0x1633d: 0xe0000cd2, 0x1633e: 0xe0000ccf, 0x1633f: 0xe0000d04, + // Block 0x58d, offset 0x16340 + 0x16340: 0xe0000cfe, 0x16341: 0xe0000cf8, 0x16342: 0xe0000cf5, 0x16343: 0xe0000d51, + 0x16344: 0xe0000d4e, 0x16345: 0xe0000d6f, 0x16346: 0xe0000d6c, 0x16347: 0xe0000d5d, + 0x16348: 0xe0000d5a, 0x16349: 0xf0000404, 0x1634a: 0x002eda88, 0x1634b: 0x402eda20, + 0x1634c: 0xe0000e2e, 0x1634d: 0xe0000e2b, 0x1634e: 0xe0000da0, 0x1634f: 0xe0000d9d, + 0x16350: 0xe0000de0, 0x16351: 0xe0000ddd, 0x16352: 0xe0000e93, 0x16353: 0xe0000e8f, + 0x16354: 0xe0000eca, 0x16355: 0xe0000ec7, 0x16356: 0xe0000edc, 0x16357: 0xe0000ed9, + 0x16358: 0xe0000ed0, 0x16359: 0xe0000ecd, 0x1635a: 0xe0000f1f, 0x1635b: 0xe0000f1c, + 0x1635c: 0xe0000f2d, 0x1635d: 0xe0000f2a, 0x1635e: 0xe0000f47, 0x1635f: 0xe0000f44, + 0x16360: 0xe0000f33, 0x16361: 0xe0000f30, 0x16362: 0xe0000f99, 0x16363: 0xe0000f96, + 0x16364: 0xe0000f8a, 0x16365: 0xe0000f87, 0x16366: 0x00303688, 0x16367: 0x40303620, + 0x16368: 0xe000102b, 0x16369: 0xe0001028, 0x1636a: 0xe000103f, 0x1636b: 0xe000103c, + 0x1636c: 0xe0000fe7, 0x1636d: 0xe0000fe4, 0x1636e: 0xe0000ff9, 0x1636f: 0xe0000ff6, + 0x16370: 0xe0001025, 0x16371: 0xe0001022, 0x16372: 0xe0001039, 0x16373: 0xe0001036, + 0x16374: 0xe00010d8, 0x16375: 0xe00010d5, 0x16376: 0xe000110e, 0x16377: 0xe000110b, + 0x16378: 0xe0001117, 0x16379: 0xe000113b, 0x1637a: 0xe0001138, 0x1637b: 0x40312820, + 0x1637c: 0x00312883, 0x1637d: 0xe0001147, 0x1637e: 0xe0001144, 0x1637f: 0xe0000f64, + // Block 0x58e, offset 0x16380 + 0x16380: 0xe00009bc, 0x16381: 0xe00009c0, 0x16382: 0x002c3a8b, 0x16383: 0xf0000a04, + 0x16384: 0x40081c20, 0x16385: 0xe0000a5e, 0x16386: 0xe0000a62, 0x16387: 0x002cc28a, + 0x16388: 0x40081e20, 0x16389: 0xf0000a04, 0x1638a: 0x002d2285, 0x1638b: 0x002d688b, + 0x1638c: 0x002d688b, 0x1638d: 0x002d688b, 0x1638e: 0x002d6885, 0x1638f: 0xe000aa06, + 0x16390: 0x002d9a8b, 0x16391: 0x002d9a8b, 0x16392: 0x002e228b, 0x16393: 0x002e2285, + 0x16394: 0x40082020, 0x16395: 0x002e9e8b, 0x16396: 0xf000040a, 0x16397: 0x40082220, + 0x16398: 0x40082420, 0x16399: 0x002f2c8b, 0x1639a: 0x002f568b, 0x1639b: 0x002f7a8b, + 0x1639c: 0x002f7a8b, 0x1639d: 0x002f7a8b, 0x1639e: 0x40082620, 0x1639f: 0x40082820, + 0x163a0: 0xf0001414, 0x163a1: 0xe0000fbd, 0x163a2: 0xf0001414, 0x163a3: 0x40082a20, + 0x163a4: 0x00312a8b, 0x163a5: 0x40082c20, 0x163a6: 0x0032a288, 0x163a7: 0x40082e20, + 0x163a8: 0x00312a8b, 0x163a9: 0x40083020, 0x163aa: 0x002dfe88, 0x163ab: 0xe000094d, + 0x163ac: 0x002c0a8b, 0x163ad: 0x002c3a8b, 0x163ae: 0x40083220, 0x163af: 0x002c9885, + 0x163b0: 0x002c988b, 0x163b1: 0x002d088b, 0x163b2: 0x002d1e88, 0x163b3: 0x002e828b, + 0x163b4: 0x002ee285, 0x163b5: 0x00389084, 0x163b6: 0x00389284, 0x163b7: 0x00389484, + 0x163b8: 0x00389684, 0x163b9: 0x002d9a85, 0x163ba: 0x40083420, 0x163bb: 0xe0000b95, + 0x163bc: 0x00327e85, 0x163bd: 0x00325685, 0x163be: 0x0032568b, 0x163bf: 0x00327e8b, + // Block 0x58f, offset 0x163c0 + 0x163f8: 0xe000aa09, 0x163f9: 0xe0000e97, 0x163fa: 0x4030a820, 0x163fb: 0x402d2020, + 0x163fc: 0x402f4a20, 0x163fd: 0x402e9820, 0x163fe: 0x402db220, 0x163ff: 0x402e9a20, + // Block 0x590, offset 0x16400 + 0x16400: 0xcd3882c1, 0x16401: 0xce0382c1, 0x16402: 0xce0682c1, 0x16403: 0xce0b82c1, + 0x16404: 0xce0e9581, 0x16405: 0xce1182c1, 0x16406: 0xce1482c1, 0x16407: 0xce1782c1, + 0x16408: 0xce1a95e1, 0x16409: 0xce1c82c1, 0x1640a: 0xce1f82c1, 0x1640b: 0xce2282c1, + 0x1640c: 0xce2582c1, 0x1640d: 0xce2882c1, 0x1640e: 0xce2b82c1, 0x1640f: 0xce2e82c1, + 0x16410: 0xce3182c1, 0x16411: 0xcb5c4101, 0x16412: 0xce3482c1, 0x16413: 0xce3782c1, + 0x16414: 0xcb604201, 0x16415: 0xce3a82c1, 0x16416: 0xce3d82c1, 0x16417: 0xce4082c1, + 0x16418: 0xce4382c1, 0x16419: 0xce4682c1, 0x1641a: 0xce4982c1, 0x1641b: 0xce4c82c1, + 0x1641c: 0xcb6442d1, 0x1641d: 0xce4f95e1, 0x1641e: 0xcb6b44d1, 0x1641f: 0xce5182c1, + 0x16420: 0xce5495e1, 0x16421: 0xce5695e1, 0x16422: 0x404ec420, 0x16423: 0xe000aa45, + 0x16424: 0xe000aa4b, 0x16425: 0xcb6f4571, 0x16426: 0xe000aa55, 0x16427: 0xe000aa58, + 0x16428: 0xe000aa5b, 0x16429: 0xcb7245e1, 0x1642a: 0xe000ad32, 0x1642b: 0xcd7c82f1, + 0x1642c: 0xcd3b82f1, 0x1642d: 0xccb17051, 0x1642e: 0x404eea20, 0x1642f: 0xcdbd8bc1, + 0x16430: 0x404ef420, 0x16431: 0xcbeb5561, 0x16432: 0x404f0620, 0x16433: 0x404eec20, + 0x16434: 0x404f0a20, 0x16435: 0x404f0220, 0x16436: 0x404f0c20, 0x16437: 0xce099551, + 0x16438: 0x404f3020, 0x16439: 0x8209278a, 0x1643a: 0x8209278b, 0x1643b: 0xce589611, + 0x1643c: 0xce5c9611, 0x1643d: 0xce609681, 0x1643e: 0x40510e20, 0x1643f: 0xe000aa41, + // Block 0x591, offset 0x16440 + 0x16440: 0xe00001ac, 0x16441: 0xe0000240, 0x16442: 0xe0000358, 0x16443: 0xe0000432, + 0x16444: 0xe0000507, 0x16445: 0xe00005d1, 0x16446: 0xe000069c, 0x16447: 0xe0000744, + 0x16448: 0xe00007f0, 0x16449: 0xe0000895, 0x1644a: 0x40032220, 0x1644b: 0x40032420, + 0x1644c: 0xe000aa19, 0x1644d: 0xe000aa20, 0x1644e: 0xcb694441, 0x1644f: 0xe000aa48, + 0x16450: 0x404ea020, 0x16451: 0x404ea220, 0x16452: 0x404ece20, 0x16453: 0x404ed020, + 0x16454: 0x404ed220, 0x16455: 0x404ed420, 0x16456: 0x404ef620, 0x16457: 0x404ef820, + 0x16458: 0x404efa20, 0x16459: 0x404efc20, 0x1645a: 0x404e2620, 0x1645b: 0x404e3c20, + 0x1645c: 0x404eb820, 0x1645d: 0x404eba20, 0x1645e: 0x40510020, 0x1645f: 0x40510220, + 0x16460: 0x40510820, 0x16461: 0x404e4020, 0x16462: 0x404f0c20, 0x16463: 0x404f1820, + 0x16464: 0x404f1a20, 0x16465: 0x404ea420, 0x16466: 0x404ec020, 0x16467: 0x404f0e20, + 0x16468: 0x404f1020, 0x16469: 0x404f1c20, 0x1646a: 0x404f1e20, 0x1646b: 0x404f2020, + 0x1646c: 0x404f2220, 0x1646d: 0x404f2420, 0x1646e: 0x404e5c20, 0x1646f: 0x404ebc20, + 0x16470: 0x404ebe20, 0x16471: 0x404ee820, 0x16472: 0x404ee220, 0x16473: 0x404ef020, + 0x16474: 0x404ef220, 0x16475: 0x404e1620, 0x16476: 0x404e1a20, 0x16477: 0x404e1e20, + 0x16478: 0x404e2a20, 0x16479: 0x404e3620, 0x1647a: 0x404e4420, 0x1647b: 0x404e6420, + 0x1647c: 0x404e6c20, 0x1647d: 0x404e7620, 0x1647e: 0x404e7820, 0x1647f: 0x404e8020, + // Block 0x592, offset 0x16480 + 0x16480: 0x404e9e20, 0x16481: 0x404eac20, 0x16482: 0x40510c20, 0x16483: 0x404ee020, + 0x16484: 0x404f0020, 0x16485: 0x404f0420, 0x16486: 0x404f1220, 0x16487: 0x404f2620, + 0x16488: 0x404f2a20, 0x16489: 0x404f2e20, 0x1648a: 0x404f3020, 0x1648b: 0x404f2820, + 0x1648c: 0x404f2c20, 0x1648d: 0xadc11302, 0x1648e: 0x404e7c20, 0x1648f: 0x404f3220, + 0x16490: 0xe00001af, 0x16491: 0xe0000243, 0x16492: 0xe000035b, 0x16493: 0xe0000435, + 0x16494: 0xe000050a, 0x16495: 0xe00005d4, 0x16496: 0xe000069f, 0x16497: 0xe0000747, + 0x16498: 0xe00007f3, 0x16499: 0xe0000898, 0x1649a: 0x404f3420, 0x1649b: 0x404f3620, + 0x1649c: 0x404ee420, 0x1649d: 0x404f0820, 0x1649e: 0x4007a820, 0x1649f: 0x4007aa20, + 0x164a0: 0x00379888, 0x164a1: 0x00379c88, 0x164a2: 0x0037a088, 0x164a3: 0x0037a488, + 0x164a4: 0x0037a888, 0x164a5: 0x0037ac88, 0x164a6: 0x0037b088, 0x164a7: 0x0037b888, + 0x164a8: 0x0037bc88, 0x164a9: 0x0037c088, 0x164aa: 0x0037c488, 0x164ab: 0x0037c888, + 0x164ac: 0x0037cc88, 0x164ad: 0x0037d488, 0x164ae: 0x0037d888, 0x164af: 0x0037dc88, + 0x164b0: 0x0037e088, 0x164b1: 0x0037e488, 0x164b2: 0x0037e888, 0x164b3: 0x0037f088, + 0x164b4: 0x0037f488, 0x164b5: 0x0037f888, 0x164b6: 0x0037fc88, 0x164b7: 0x00380088, + 0x164b8: 0x00380488, 0x164b9: 0x00380888, 0x164ba: 0x00380c88, 0x164bb: 0x00381088, + 0x164bc: 0x00381488, 0x164bd: 0x00381888, 0x164be: 0x00381c88, 0x164bf: 0x00382488, + // Block 0x593, offset 0x164c0 + 0x164c0: 0xa0000000, 0x164c1: 0xa0000000, 0x164c2: 0xa0000000, 0x164c3: 0xa0000000, + 0x164c4: 0xa0000000, 0x164c5: 0xa0000000, 0x164c6: 0xa0000000, 0x164c7: 0xa0000000, + 0x164c8: 0xa0000000, 0x164c9: 0x40020020, 0x164ca: 0x40020220, 0x164cb: 0x40020420, + 0x164cc: 0x40020620, 0x164cd: 0x40020820, 0x164ce: 0xa0000000, 0x164cf: 0xa0000000, + 0x164d0: 0xa0000000, 0x164d1: 0xa0000000, 0x164d2: 0xa0000000, 0x164d3: 0xa0000000, + 0x164d4: 0xa0000000, 0x164d5: 0xa0000000, 0x164d6: 0xa0000000, 0x164d7: 0xa0000000, + 0x164d8: 0xa0000000, 0x164d9: 0xa0000000, 0x164da: 0xa0000000, 0x164db: 0xa0000000, + 0x164dc: 0xa0000000, 0x164dd: 0xa0000000, 0x164de: 0xa0000000, 0x164df: 0xa0000000, + 0x164e0: 0x40021220, 0x164e1: 0x4002ba20, 0x164e2: 0x4003e020, 0x164e3: 0x4004ea20, + 0x164e4: 0x4027de20, 0x164e5: 0x4004ec20, 0x164e6: 0x4004e620, 0x164e7: 0x4003d220, + 0x164e8: 0x4003f420, 0x164e9: 0x4003f620, 0x164ea: 0x4004d820, 0x164eb: 0x40093820, + 0x164ec: 0x40024020, 0x164ed: 0x40021a20, 0x164ee: 0x4002e420, 0x164ef: 0x4004e220, + 0x164f0: 0x4029cc20, 0x164f1: 0x4029ce20, 0x164f2: 0x4029d020, 0x164f3: 0x4029d220, + 0x164f4: 0x4029d420, 0x164f5: 0x4029d620, 0x164f6: 0x4029d820, 0x164f7: 0x4029da20, + 0x164f8: 0x4029dc20, 0x164f9: 0x4029de20, 0x164fa: 0x40026c20, 0x164fb: 0x40026220, + 0x164fc: 0x40094020, 0x164fd: 0x40094220, 0x164fe: 0x40094420, 0x164ff: 0x4002c420, + // Block 0x594, offset 0x16500 + 0x16500: 0x4004d620, 0x16501: 0xce660b93, 0x16502: 0x002c0a88, 0x16503: 0x002c3a88, + 0x16504: 0x002c6288, 0x16505: 0xc39e0be1, 0x16506: 0x002d0888, 0x16507: 0x002d2288, + 0x16508: 0x002d6888, 0x16509: 0x002d9a88, 0x1650a: 0x002dcc88, 0x1650b: 0x002dfe88, + 0x1650c: 0xc0030002, 0x1650d: 0x002e8288, 0x1650e: 0x002e9e88, 0x1650f: 0xc3a30b21, + 0x16510: 0x002f2c88, 0x16511: 0x002f5688, 0x16512: 0x002f7a88, 0x16513: 0x002fe688, + 0x16514: 0x00302c88, 0x16515: 0xc3900b21, 0x16516: 0x0030be88, 0x16517: 0x0030e288, + 0x16518: 0x0030f688, 0x16519: 0x00310088, 0x1651a: 0x00312a88, 0x1651b: 0x4003f820, + 0x1651c: 0x4004e420, 0x1651d: 0x4003fa20, 0x1651e: 0x40062420, 0x1651f: 0x40021620, + 0x16520: 0x40061e20, 0x16521: 0xce620b52, 0x16522: 0x402c0a20, 0x16523: 0x402c3a20, + 0x16524: 0x402c6220, 0x16525: 0xc39c0be1, 0x16526: 0x402d0820, 0x16527: 0x402d2220, + 0x16528: 0x402d6820, 0x16529: 0x402d9a20, 0x1652a: 0x402dcc20, 0x1652b: 0x402dfe20, + 0x1652c: 0xc0000002, 0x1652d: 0x402e8220, 0x1652e: 0x402e9e20, 0x1652f: 0xc3a00b21, + 0x16530: 0x402f2c20, 0x16531: 0x402f5620, 0x16532: 0x402f7a20, 0x16533: 0x402fe620, + 0x16534: 0x40302c20, 0x16535: 0xc38d0b21, 0x16536: 0x4030be20, 0x16537: 0x4030e220, + 0x16538: 0x4030f620, 0x16539: 0x40310020, 0x1653a: 0x40312a20, 0x1653b: 0x4003fc20, + 0x1653c: 0x40094820, 0x1653d: 0x4003fe20, 0x1653e: 0x40094c20, 0x1653f: 0xa0000000, + // Block 0x595, offset 0x16540 + 0x16540: 0xa0000000, 0x16541: 0xa0000000, 0x16542: 0xa0000000, 0x16543: 0xa0000000, + 0x16544: 0xa0000000, 0x16545: 0xa0000000, 0x16546: 0xa0000000, 0x16547: 0xa0000000, + 0x16548: 0xa0000000, 0x16549: 0x40020020, 0x1654a: 0x40020220, 0x1654b: 0x40020420, + 0x1654c: 0x40020620, 0x1654d: 0x40020820, 0x1654e: 0xa0000000, 0x1654f: 0xa0000000, + 0x16550: 0xa0000000, 0x16551: 0xa0000000, 0x16552: 0xa0000000, 0x16553: 0xa0000000, + 0x16554: 0xa0000000, 0x16555: 0xa0000000, 0x16556: 0xa0000000, 0x16557: 0xa0000000, + 0x16558: 0xa0000000, 0x16559: 0xa0000000, 0x1655a: 0xa0000000, 0x1655b: 0xa0000000, + 0x1655c: 0xa0000000, 0x1655d: 0xa0000000, 0x1655e: 0xa0000000, 0x1655f: 0xa0000000, + 0x16560: 0x40021220, 0x16561: 0x4002ba20, 0x16562: 0x4003e020, 0x16563: 0x4004ea20, + 0x16564: 0x4027de20, 0x16565: 0x4004ec20, 0x16566: 0x4004e620, 0x16567: 0x4003d220, + 0x16568: 0x4003f420, 0x16569: 0x4003f620, 0x1656a: 0x4004d820, 0x1656b: 0x40093820, + 0x1656c: 0x40024020, 0x1656d: 0x40021a20, 0x1656e: 0x4002e420, 0x1656f: 0x4004e220, + 0x16570: 0x4029cc20, 0x16571: 0x4029ce20, 0x16572: 0x4029d020, 0x16573: 0x4029d220, + 0x16574: 0x4029d420, 0x16575: 0x4029d620, 0x16576: 0x4029d820, 0x16577: 0x4029da20, + 0x16578: 0x4029dc20, 0x16579: 0x4029de20, 0x1657a: 0x40026c20, 0x1657b: 0x40026220, + 0x1657c: 0x40094020, 0x1657d: 0x40094220, 0x1657e: 0x40094420, 0x1657f: 0x4002c420, + // Block 0x596, offset 0x16580 + 0x16580: 0x4004d620, 0x16581: 0x002bde88, 0x16582: 0x002c0a88, 0x16583: 0x002c3a88, + 0x16584: 0x002c6288, 0x16585: 0xce6d2741, 0x16586: 0x002d0888, 0x16587: 0x002d2288, + 0x16588: 0x002d6888, 0x16589: 0x002d9a88, 0x1658a: 0x002dcc88, 0x1658b: 0x002dfe88, + 0x1658c: 0xc0030002, 0x1658d: 0x002e8288, 0x1658e: 0x002e9e88, 0x1658f: 0xc33f2741, + 0x16590: 0x002f2c88, 0x16591: 0x002f5688, 0x16592: 0x002f7a88, 0x16593: 0xc3430991, + 0x16594: 0x00302c88, 0x16595: 0x00306c88, 0x16596: 0x0030be88, 0x16597: 0x0030e288, + 0x16598: 0x0030f688, 0x16599: 0x00310088, 0x1659a: 0x00312a88, 0x1659b: 0x4003f820, + 0x1659c: 0x4004e420, 0x1659d: 0x4003fa20, 0x1659e: 0x40062420, 0x1659f: 0x40021620, + 0x165a0: 0x40061e20, 0x165a1: 0x402bde20, 0x165a2: 0x402c0a20, 0x165a3: 0x402c3a20, + 0x165a4: 0x402c6220, 0x165a5: 0xce6b2741, 0x165a6: 0x402d0820, 0x165a7: 0x402d2220, + 0x165a8: 0x402d6820, 0x165a9: 0x402d9a20, 0x165aa: 0x402dcc20, 0x165ab: 0x402dfe20, + 0x165ac: 0xc0000002, 0x165ad: 0x402e8220, 0x165ae: 0x402e9e20, 0x165af: 0xc33d2741, + 0x165b0: 0x402f2c20, 0x165b1: 0x402f5620, 0x165b2: 0x402f7a20, 0x165b3: 0xc3410991, + 0x165b4: 0x40302c20, 0x165b5: 0x40306c20, 0x165b6: 0x4030be20, 0x165b7: 0x4030e220, + 0x165b8: 0x4030f620, 0x165b9: 0x40310020, 0x165ba: 0x40312a20, 0x165bb: 0x4003fc20, + 0x165bc: 0x40094820, 0x165bd: 0x4003fe20, 0x165be: 0x40094c20, 0x165bf: 0xa0000000, + // Block 0x597, offset 0x165c0 + 0x165c0: 0xe00008f5, 0x165c1: 0xe00008ef, 0x165c2: 0xe0000921, 0x165c3: 0xe0000969, + 0x165c4: 0xe000095b, 0x165c5: 0xe000094d, 0x165c6: 0xe00009dd, 0x165c7: 0xe0000a53, + 0x165c8: 0xe0000ae8, 0x165c9: 0xe0000ae2, 0x165ca: 0x002c9a83, 0x165cb: 0xe0000b20, + 0x165cc: 0xe0000c2b, 0x165cd: 0xe0000c25, 0x165ce: 0xe0000c37, 0x165cf: 0xe0000c43, + 0x165d0: 0xe0000ab3, 0x165d1: 0xe0000d63, 0x165d2: 0xe0000d9a, 0x165d3: 0xe0000d94, + 0x165d4: 0x002ee483, 0x165d5: 0xe0000de6, 0x165d6: 0xe0000dd2, 0x165d7: 0x40093e20, + 0x165d8: 0xe0000e12, 0x165d9: 0xe0000fe1, 0x165da: 0xe0000fdb, 0x165db: 0xe0000fed, + 0x165dc: 0xe0000fff, 0x165dd: 0xe0001102, 0x165de: 0x00318888, 0x165df: 0xe0000f7b, + 0x165e0: 0xe00008f2, 0x165e1: 0xe00008ec, 0x165e2: 0xe000091e, 0x165e3: 0xe0000966, + 0x165e4: 0xe0000958, 0x165e5: 0xe000094a, 0x165e6: 0xe00009d5, 0x165e7: 0xe0000a4d, + 0x165e8: 0xe0000ae5, 0x165e9: 0xe0000adf, 0x165ea: 0x402c9a20, 0x165eb: 0xe0000b1d, + 0x165ec: 0xe0000c28, 0x165ed: 0xe0000c22, 0x165ee: 0xe0000c34, 0x165ef: 0xe0000c40, + 0x165f0: 0xe0000aad, 0x165f1: 0xe0000d60, 0x165f2: 0xe0000d97, 0x165f3: 0xe0000d91, + 0x165f4: 0x402ee420, 0x165f5: 0xe0000de3, 0x165f6: 0xe0000dcf, 0x165f7: 0x40093c20, + 0x165f8: 0xe0000e0f, 0x165f9: 0xe0000fde, 0x165fa: 0xe0000fd8, 0x165fb: 0xe0000fea, + 0x165fc: 0xe0000ffc, 0x165fd: 0xe00010ff, 0x165fe: 0x40318820, 0x165ff: 0xe0001114, + // Block 0x598, offset 0x16600 + 0x16600: 0xe0000cfe, 0x16601: 0xe0000cf8, 0x16602: 0xe0000cf5, 0x16603: 0xe0000d51, + 0x16604: 0xe0000d4e, 0x16605: 0xe0000d6f, 0x16606: 0xe0000d6c, 0x16607: 0xe0000d5d, + 0x16608: 0xe0000d5a, 0x16609: 0xf0000404, 0x1660a: 0x002eda88, 0x1660b: 0x402eda20, + 0x1660c: 0xe0000e2e, 0x1660d: 0xe0000e2b, 0x1660e: 0xe0000da0, 0x1660f: 0xe0000d9d, + 0x16610: 0xe0000de0, 0x16611: 0xe0000ddd, 0x16612: 0xe0000e93, 0x16613: 0xe0000e8f, + 0x16614: 0xe0000eca, 0x16615: 0xe0000ec7, 0x16616: 0xe0000edc, 0x16617: 0xe0000ed9, + 0x16618: 0xe0000ed0, 0x16619: 0xe0000ecd, 0x1661a: 0xe0000f1f, 0x1661b: 0xe0000f1c, + 0x1661c: 0xe0000f2d, 0x1661d: 0xe0000f2a, 0x1661e: 0xe0000f47, 0x1661f: 0xe0000f44, + 0x16620: 0x002fe883, 0x16621: 0x402fe820, 0x16622: 0xe0000f99, 0x16623: 0xe0000f96, + 0x16624: 0xe0000f8a, 0x16625: 0xe0000f87, 0x16626: 0x00303688, 0x16627: 0x40303620, + 0x16628: 0xe000102b, 0x16629: 0xe0001028, 0x1662a: 0xe000103f, 0x1662b: 0xe000103c, + 0x1662c: 0xe0000fe7, 0x1662d: 0xe0000fe4, 0x1662e: 0xe0000ff9, 0x1662f: 0xe0000ff6, + 0x16630: 0xe0001025, 0x16631: 0xe0001022, 0x16632: 0xe0001039, 0x16633: 0xe0001036, + 0x16634: 0xe00010d8, 0x16635: 0xe00010d5, 0x16636: 0xe000110e, 0x16637: 0xe000110b, + 0x16638: 0xe0001117, 0x16639: 0xe000113b, 0x1663a: 0xe0001138, 0x1663b: 0xe000114d, + 0x1663c: 0xe000114a, 0x1663d: 0xe0001147, 0x1663e: 0xe0001144, 0x1663f: 0xe0000f64, + // Block 0x599, offset 0x16640 + 0x16640: 0xe00010d2, 0x16641: 0xe00010cf, 0x16642: 0xe00010cc, 0x16643: 0xe00010c9, + 0x16644: 0xe00010e1, 0x16645: 0xe00010de, 0x16646: 0xe00010e7, 0x16647: 0xe00010e4, + 0x16648: 0xe00010ed, 0x16649: 0xe00010ea, 0x1664a: 0xe00010fc, 0x1664b: 0xe00010f9, + 0x1664c: 0xe00010f6, 0x1664d: 0xe00010f3, 0x1664e: 0xe0001123, 0x1664f: 0xe0001120, + 0x16650: 0xe0001141, 0x16651: 0xe000113e, 0x16652: 0xe0001153, 0x16653: 0xe0001150, + 0x16654: 0xe0001159, 0x16655: 0xe0001156, 0x16656: 0xe0000c15, 0x16657: 0xe0000f8d, + 0x16658: 0xe00010db, 0x16659: 0xe0001111, 0x1665a: 0xf0000404, 0x1665b: 0xe0000f70, + 0x1665c: 0x40300420, 0x1665d: 0x40300620, 0x1665e: 0xe0000f7f, 0x1665f: 0x402c9620, + 0x16660: 0xe000099b, 0x16661: 0xe0000998, 0x16662: 0xe0000989, 0x16663: 0xe0000986, + 0x16664: 0xe0000928, 0x16665: 0xe0000924, 0x16666: 0xe0000930, 0x16667: 0xe000092c, + 0x16668: 0xe0000940, 0x16669: 0xe000093c, 0x1666a: 0xe0000938, 0x1666b: 0xe0000934, + 0x1666c: 0xe00009aa, 0x1666d: 0xe00009a6, 0x1666e: 0xe0000902, 0x1666f: 0xe00008fe, + 0x16670: 0xe000090a, 0x16671: 0xe0000906, 0x16672: 0xe000091a, 0x16673: 0xe0000916, + 0x16674: 0xe0000912, 0x16675: 0xe000090e, 0x16676: 0xe00009a2, 0x16677: 0xe000099e, + 0x16678: 0xe0000b6e, 0x16679: 0xe0000b6b, 0x1667a: 0xe0000b5c, 0x1667b: 0xe0000b59, + 0x1667c: 0xe0000b26, 0x1667d: 0xe0000b23, 0x1667e: 0xe000ad41, 0x1667f: 0xe000ad3e, + // Block 0x59a, offset 0x16680 + 0x16680: 0xe000ad47, 0x16681: 0xe000ad44, 0x16682: 0xe000ad53, 0x16683: 0xe000ad50, + 0x16684: 0xe000ad4d, 0x16685: 0xe000ad4a, 0x16686: 0xe000ad59, 0x16687: 0xe000ad56, + 0x16688: 0xe0000c66, 0x16689: 0xe0000c63, 0x1668a: 0xe0000c78, 0x1668b: 0xe0000c75, + 0x1668c: 0xe0000e84, 0x1668d: 0xe0000e81, 0x1668e: 0xe0000e44, 0x1668f: 0xe0000e41, + 0x16690: 0xe000ad5f, 0x16691: 0xe000ad5c, 0x16692: 0xe000ad65, 0x16693: 0xe000ad62, + 0x16694: 0xe000ad6b, 0x16695: 0xe000ad68, 0x16696: 0xe0002946, 0x16697: 0xe0002943, + 0x16698: 0xe000ad71, 0x16699: 0xe000ad6e, 0x1669a: 0xe0000e5d, 0x1669b: 0xe0000e59, + 0x1669c: 0xe0000e65, 0x1669d: 0xe0000e61, 0x1669e: 0xe0000e75, 0x1669f: 0xe0000e71, + 0x166a0: 0xe0000e6d, 0x166a1: 0xe0000e69, 0x166a2: 0xe0000e7d, 0x166a3: 0xe0000e79, + 0x166a4: 0xe000108d, 0x166a5: 0xe000108a, 0x166a6: 0xe000104d, 0x166a7: 0xe000104a, + 0x166a8: 0xe0001066, 0x166a9: 0xe0001062, 0x166aa: 0xe000106e, 0x166ab: 0xe000106a, + 0x166ac: 0xe000107e, 0x166ad: 0xe000107a, 0x166ae: 0xe0001076, 0x166af: 0xe0001072, + 0x166b0: 0xe0001086, 0x166b1: 0xe0001082, 0x166b2: 0xe0001108, 0x166b3: 0xe0001105, + 0x166b4: 0xe0001135, 0x166b5: 0xe0001132, 0x166b6: 0xe000112f, 0x166b7: 0xe000112c, + 0x166b8: 0xe000111d, 0x166b9: 0xe000111a, 0x166ba: 0xe0000d0a, 0x166bb: 0xe0000d07, + 0x166bc: 0x0030d888, 0x166bd: 0x4030d820, 0x166be: 0x00312088, 0x166bf: 0x40312020, + // Block 0x59b, offset 0x166c0 + 0x166c0: 0xa0000000, 0x166c1: 0xa0000000, 0x166c2: 0xa0000000, 0x166c3: 0xa0000000, + 0x166c4: 0xa0000000, 0x166c5: 0xa0000000, 0x166c6: 0xa0000000, 0x166c7: 0xa0000000, + 0x166c8: 0xa0000000, 0x166c9: 0x40020020, 0x166ca: 0x40020220, 0x166cb: 0x40020420, + 0x166cc: 0x40020620, 0x166cd: 0x40020820, 0x166ce: 0xa0000000, 0x166cf: 0xa0000000, + 0x166d0: 0xa0000000, 0x166d1: 0xa0000000, 0x166d2: 0xa0000000, 0x166d3: 0xa0000000, + 0x166d4: 0xa0000000, 0x166d5: 0xa0000000, 0x166d6: 0xa0000000, 0x166d7: 0xa0000000, + 0x166d8: 0xa0000000, 0x166d9: 0xa0000000, 0x166da: 0xa0000000, 0x166db: 0xa0000000, + 0x166dc: 0xa0000000, 0x166dd: 0xa0000000, 0x166de: 0xa0000000, 0x166df: 0xa0000000, + 0x166e0: 0x40021220, 0x166e1: 0x4002ba20, 0x166e2: 0x4003e020, 0x166e3: 0x4004ea20, + 0x166e4: 0x4027de20, 0x166e5: 0x4004ec20, 0x166e6: 0x4004e620, 0x166e7: 0x4003d220, + 0x166e8: 0x4003f420, 0x166e9: 0x4003f620, 0x166ea: 0x4004d820, 0x166eb: 0x40093820, + 0x166ec: 0x40024020, 0x166ed: 0x40021a20, 0x166ee: 0x4002e420, 0x166ef: 0x4004e220, + 0x166f0: 0x4029cc20, 0x166f1: 0x4029ce20, 0x166f2: 0x4029d020, 0x166f3: 0x4029d220, + 0x166f4: 0x4029d420, 0x166f5: 0x4029d620, 0x166f6: 0x4029d820, 0x166f7: 0x4029da20, + 0x166f8: 0x4029dc20, 0x166f9: 0x4029de20, 0x166fa: 0x40026c20, 0x166fb: 0x40026220, + 0x166fc: 0x40094020, 0x166fd: 0x40094220, 0x166fe: 0x40094420, 0x166ff: 0x4002c420, + // Block 0x59c, offset 0x16700 + 0x16700: 0x4004d620, 0x16701: 0x002bde88, 0x16702: 0x002c0a88, 0x16703: 0xce7109c2, + 0x16704: 0xce7609c2, 0x16705: 0x002c9888, 0x16706: 0x002d0888, 0x16707: 0x002d2288, + 0x16708: 0x002d6888, 0x16709: 0x002d9a88, 0x1670a: 0x002dcc88, 0x1670b: 0xce7b09c2, + 0x1670c: 0xc0030002, 0x1670d: 0x002e8288, 0x1670e: 0xce8026f2, 0x1670f: 0x002ee288, + 0x16710: 0xce8509c2, 0x16711: 0x002f5688, 0x16712: 0x002f7a88, 0x16713: 0xce8a09b1, + 0x16714: 0x00302c88, 0x16715: 0x00306c88, 0x16716: 0x0030be88, 0x16717: 0x0030e288, + 0x16718: 0x0030f688, 0x16719: 0x00310088, 0x1671a: 0x00312a88, 0x1671b: 0x4003f820, + 0x1671c: 0x4004e420, 0x1671d: 0x4003fa20, 0x1671e: 0x40062420, 0x1671f: 0x40021620, + 0x16720: 0x40061e20, 0x16721: 0x402bde20, 0x16722: 0x402c0a20, 0x16723: 0xce6f09b1, + 0x16724: 0xce7409b1, 0x16725: 0x402c9820, 0x16726: 0x402d0820, 0x16727: 0x402d2220, + 0x16728: 0x402d6820, 0x16729: 0x402d9a20, 0x1672a: 0x402dcc20, 0x1672b: 0xce7909b1, + 0x1672c: 0xc0000002, 0x1672d: 0x402e8220, 0x1672e: 0xce7e26e1, 0x1672f: 0x402ee220, + 0x16730: 0xce8309b1, 0x16731: 0x402f5620, 0x16732: 0x402f7a20, 0x16733: 0xce8809b1, + 0x16734: 0x40302c20, 0x16735: 0x40306c20, 0x16736: 0x4030be20, 0x16737: 0x4030e220, + 0x16738: 0x4030f620, 0x16739: 0x40310020, 0x1673a: 0x40312a20, 0x1673b: 0x4003fc20, + 0x1673c: 0x40094820, 0x1673d: 0x4003fe20, 0x1673e: 0x40094c20, 0x1673f: 0xa0000000, + // Block 0x59d, offset 0x16740 + 0x16741: 0x40421220, 0x16742: 0x40421420, 0x16743: 0x40421620, + 0x16745: 0x4041f620, 0x16746: 0x4041f820, 0x16747: 0x4041fa20, + 0x16748: 0x4041fc20, 0x16749: 0x4041fe20, 0x1674a: 0x40420020, 0x1674b: 0x40420220, + 0x1674c: 0x40420620, 0x1674f: 0x40420a20, + 0x16750: 0x40420c20, 0x16753: 0x40420e20, + 0x16754: 0x40421020, 0x16755: 0xce8c96b1, 0x16756: 0x40421420, 0x16757: 0x40421620, + 0x16758: 0x40421820, 0x16759: 0x40421a20, 0x1675a: 0x40421c20, 0x1675b: 0x40421e20, + 0x1675c: 0x40422020, 0x1675d: 0x40422220, 0x1675e: 0x40422420, 0x1675f: 0x40422620, + 0x16760: 0x40422820, 0x16761: 0x40422a20, 0x16762: 0x40422c20, 0x16763: 0x40422e20, + 0x16764: 0x40423020, 0x16765: 0x40423220, 0x16766: 0x40423420, 0x16767: 0x40423620, + 0x16768: 0x40423820, 0x1676a: 0x40423a20, 0x1676b: 0x40423c20, + 0x1676c: 0x40423e20, 0x1676d: 0x40424020, 0x1676e: 0x40424220, 0x1676f: 0x40424420, + 0x16770: 0x40424820, 0x16772: 0x40424a20, 0x16773: 0x40424c20, + 0x16775: 0x40424e20, 0x16776: 0x40425220, 0x16777: 0x40425420, + 0x16778: 0x40425620, 0x16779: 0x40425820, + 0x1677c: 0xa070f102, 0x1677d: 0x40425a20, 0x1677e: 0x40425c20, 0x1677f: 0x40425e20, + // Block 0x59e, offset 0x16780 + 0x16780: 0x40426020, 0x16781: 0x40426220, 0x16782: 0x40426420, 0x16783: 0x40426620, + 0x16784: 0x40426820, 0x16787: 0xc05d01e1, + 0x16788: 0x40427020, 0x1678b: 0x40427220, + 0x1678c: 0x40427420, 0x1678d: 0x8209213b, + 0x16796: 0x40427820, 0x16797: 0x40427a20, + 0x1679c: 0xe000185d, 0x1679d: 0xe0001860, 0x1679f: 0x40424421, + 0x167a0: 0x40420420, 0x167a1: 0x40420820, 0x167a2: 0x40426a20, 0x167a3: 0x40426c20, + 0x167a6: 0xe0000176, 0x167a7: 0xe0000204, + 0x167a8: 0xe000031f, 0x167a9: 0xe00003f9, 0x167aa: 0xe00004d4, 0x167ab: 0xe000059e, + 0x167ac: 0xe0000669, 0x167ad: 0xe0000711, 0x167ae: 0xe00007bd, 0x167af: 0xe0000862, + 0x167b0: 0x40073c20, 0x167b1: 0x40425020, 0x167b2: 0x40283c20, 0x167b3: 0x40283e20, + 0x167b4: 0x40284020, 0x167b5: 0x40284220, 0x167b6: 0x40284420, 0x167b7: 0x40284620, + // Block 0x59f, offset 0x167c0 + 0x167c1: 0xa000f902, 0x167c2: 0xa000f802, 0x167c3: 0xa000f402, + 0x167c5: 0x40410620, 0x167c6: 0x40410820, 0x167c7: 0x40411020, + 0x167c8: 0x40411220, 0x167c9: 0x40410020, 0x167ca: 0x40410220, + 0x167cf: 0x40411420, + 0x167d0: 0x40410a20, 0x167d3: 0x40410420, + 0x167d4: 0x40410c20, 0x167d5: 0x40411c20, 0x167d6: 0x40411e20, 0x167d7: 0x40412020, + 0x167d8: 0x40412220, 0x167d9: 0x40412420, 0x167da: 0x40412620, 0x167db: 0x40412820, + 0x167dc: 0x40412a20, 0x167dd: 0x40412c20, 0x167de: 0x40412e20, 0x167df: 0x40413020, + 0x167e0: 0x40413220, 0x167e1: 0x40413420, 0x167e2: 0x40413620, 0x167e3: 0x40413820, + 0x167e4: 0x40413a20, 0x167e5: 0x40413c20, 0x167e6: 0x40413e20, 0x167e7: 0x40414020, + 0x167e8: 0x40414220, 0x167ea: 0x40414420, 0x167eb: 0x40414620, + 0x167ec: 0x40414820, 0x167ed: 0x40414a20, 0x167ee: 0x40414c20, 0x167ef: 0x40414e20, + 0x167f0: 0x40415220, 0x167f2: 0x40415420, 0x167f3: 0xe000ad83, + 0x167f5: 0x40415620, 0x167f6: 0xe000ad74, + 0x167f8: 0x40411620, 0x167f9: 0x40411820, + 0x167fc: 0xa000fa02, 0x167fe: 0x40415a20, 0x167ff: 0x40415c20, + // Block 0x5a0, offset 0x16800 + 0x16800: 0x40415e20, 0x16801: 0x40416020, 0x16802: 0x40416220, + 0x16807: 0x40416420, + 0x16808: 0x40416620, 0x1680b: 0x40416820, + 0x1680c: 0x40416a20, 0x1680d: 0x40415a20, + 0x16811: 0x40411a20, + 0x16819: 0xe000ad77, 0x1681a: 0xe000ad7a, 0x1681b: 0xe000ad7d, + 0x1681c: 0x40415820, 0x1681e: 0xe000ad80, + 0x16826: 0xe0000170, 0x16827: 0xe00001fe, + 0x16828: 0xe0000319, 0x16829: 0xe00003f3, 0x1682a: 0xe00004ce, 0x1682b: 0xe0000598, + 0x1682c: 0xe0000663, 0x1682d: 0xe000070b, 0x1682e: 0xe00007b7, 0x1682f: 0xe000085c, + 0x16830: 0xa000f702, 0x16831: 0xa000f602, 0x16832: 0x40410e20, 0x16833: 0x4040fe20, + 0x16834: 0x4040fc20, 0x16835: 0x40415020, + // Block 0x5a1, offset 0x16840 + 0x16840: 0xa0000000, 0x16841: 0xa0000000, 0x16842: 0xa0000000, 0x16843: 0xa0000000, + 0x16844: 0xa0000000, 0x16845: 0xa0000000, 0x16846: 0xa0000000, 0x16847: 0xa0000000, + 0x16848: 0xa0000000, 0x16849: 0x40020020, 0x1684a: 0x40020220, 0x1684b: 0x40020420, + 0x1684c: 0x40020620, 0x1684d: 0x40020820, 0x1684e: 0xa0000000, 0x1684f: 0xa0000000, + 0x16850: 0xa0000000, 0x16851: 0xa0000000, 0x16852: 0xa0000000, 0x16853: 0xa0000000, + 0x16854: 0xa0000000, 0x16855: 0xa0000000, 0x16856: 0xa0000000, 0x16857: 0xa0000000, + 0x16858: 0xa0000000, 0x16859: 0xa0000000, 0x1685a: 0xa0000000, 0x1685b: 0xa0000000, + 0x1685c: 0xa0000000, 0x1685d: 0xa0000000, 0x1685e: 0xa0000000, 0x1685f: 0xa0000000, + 0x16860: 0x40021220, 0x16861: 0x4002ba20, 0x16862: 0x4003e020, 0x16863: 0x4004ea20, + 0x16864: 0x4027de20, 0x16865: 0x4004ec20, 0x16866: 0x4004e620, 0x16867: 0x4003d220, + 0x16868: 0x4003f420, 0x16869: 0x4003f620, 0x1686a: 0x4004d820, 0x1686b: 0x40093820, + 0x1686c: 0x40024020, 0x1686d: 0x40021a20, 0x1686e: 0x4002e420, 0x1686f: 0x4004e220, + 0x16870: 0x4029cc20, 0x16871: 0x4029ce20, 0x16872: 0x4029d020, 0x16873: 0x4029d220, + 0x16874: 0x4029d420, 0x16875: 0x4029d620, 0x16876: 0x4029d820, 0x16877: 0x4029da20, + 0x16878: 0x4029dc20, 0x16879: 0x4029de20, 0x1687a: 0x40026c20, 0x1687b: 0x40026220, + 0x1687c: 0x40094020, 0x1687d: 0x40094220, 0x1687e: 0x40094420, 0x1687f: 0x4002c420, + // Block 0x5a2, offset 0x16880 + 0x16880: 0x4004d620, 0x16881: 0xce900be1, 0x16882: 0x002c0a88, 0x16883: 0xc33531e1, + 0x16884: 0x002c6288, 0x16885: 0xce6d0be1, 0x16886: 0x002d0888, 0x16887: 0x002d2288, + 0x16888: 0x002d6888, 0x16889: 0x002d9a88, 0x1688a: 0x002dcc88, 0x1688b: 0x002dfe88, + 0x1688c: 0xc0030002, 0x1688d: 0x002e8288, 0x1688e: 0xc54631e1, 0x1688f: 0xc33f31e1, + 0x16890: 0x002f2c88, 0x16891: 0x002f5688, 0x16892: 0x002f7a88, 0x16893: 0xc34331e1, + 0x16894: 0x00302c88, 0x16895: 0x00306c88, 0x16896: 0x0030be88, 0x16897: 0x0030e288, + 0x16898: 0x0030f688, 0x16899: 0x00310088, 0x1689a: 0xce959711, 0x1689b: 0x4003f820, + 0x1689c: 0x4004e420, 0x1689d: 0x4003fa20, 0x1689e: 0x40062420, 0x1689f: 0x40021620, + 0x168a0: 0x40061e20, 0x168a1: 0xce8e0be1, 0x168a2: 0x402c0a20, 0x168a3: 0xc33331e1, + 0x168a4: 0x402c6220, 0x168a5: 0xce6b0be1, 0x168a6: 0x402d0820, 0x168a7: 0x402d2220, + 0x168a8: 0x402d6820, 0x168a9: 0x402d9a20, 0x168aa: 0x402dcc20, 0x168ab: 0x402dfe20, + 0x168ac: 0xc0000002, 0x168ad: 0x402e8220, 0x168ae: 0xc53331e1, 0x168af: 0xc33d31e1, + 0x168b0: 0x402f2c20, 0x168b1: 0x402f5620, 0x168b2: 0x402f7a20, 0x168b3: 0xc34131e1, + 0x168b4: 0x40302c20, 0x168b5: 0x40306c20, 0x168b6: 0x4030be20, 0x168b7: 0x4030e220, + 0x168b8: 0x4030f620, 0x168b9: 0x40310020, 0x168ba: 0xce929711, 0x168bb: 0x4003fc20, + 0x168bc: 0x40094820, 0x168bd: 0x4003fe20, 0x168be: 0x40094c20, 0x168bf: 0xa0000000, + // Block 0x5a3, offset 0x168c0 + 0x168c0: 0xe00008f5, 0x168c1: 0xe00008ef, 0x168c2: 0xe0000921, 0x168c3: 0xe0000969, + 0x168c4: 0xe000095b, 0x168c5: 0xe000094d, 0x168c6: 0xe00009dd, 0x168c7: 0xe0000a53, + 0x168c8: 0xe0000ae8, 0x168c9: 0xe0000ae2, 0x168ca: 0xe0000af4, 0x168cb: 0xe0000b20, + 0x168cc: 0xe0000c2b, 0x168cd: 0xe0000c25, 0x168ce: 0xe0000c37, 0x168cf: 0xe0000c43, + 0x168d0: 0xe0000ab3, 0x168d1: 0xe0000d63, 0x168d2: 0xe0000d9a, 0x168d3: 0x002ee483, + 0x168d4: 0xe0000da6, 0x168d5: 0xe0000de6, 0x168d6: 0xe0000dd2, 0x168d7: 0x40093e20, + 0x168d8: 0xe0000e12, 0x168d9: 0xe0000fe1, 0x168da: 0xe0000fdb, 0x168db: 0xe0000fed, + 0x168dc: 0xe0000fff, 0x168dd: 0xe0001102, 0x168de: 0x00318888, 0x168df: 0xe0000f7b, + 0x168e0: 0xe00008f2, 0x168e1: 0xe00008ec, 0x168e2: 0xe000091e, 0x168e3: 0xe0000966, + 0x168e4: 0xe0000958, 0x168e5: 0xe000094a, 0x168e6: 0xe00009d5, 0x168e7: 0xe0000a4d, + 0x168e8: 0xe0000ae5, 0x168e9: 0xe0000adf, 0x168ea: 0xe0000af1, 0x168eb: 0xe0000b1d, + 0x168ec: 0xe0000c28, 0x168ed: 0xe0000c22, 0x168ee: 0xe0000c34, 0x168ef: 0xe0000c40, + 0x168f0: 0xe0000aad, 0x168f1: 0xe0000d60, 0x168f2: 0xe0000d97, 0x168f3: 0x402ee420, + 0x168f4: 0xe0000da3, 0x168f5: 0xe0000de3, 0x168f6: 0xe0000dcf, 0x168f7: 0x40093c20, + 0x168f8: 0xe0000e0f, 0x168f9: 0xe0000fde, 0x168fa: 0xe0000fd8, 0x168fb: 0xe0000fea, + 0x168fc: 0xe0000ffc, 0x168fd: 0xe00010ff, 0x168fe: 0x40318820, 0x168ff: 0xe0001114, + // Block 0x5a4, offset 0x16900 + 0x16900: 0xe0000983, 0x16901: 0xe0000980, 0x16902: 0xe00008fb, 0x16903: 0xe00008f8, + 0x16904: 0x002be083, 0x16905: 0x402be020, 0x16906: 0x002c3c83, 0x16907: 0x402c3c20, + 0x16908: 0xe0000a3e, 0x16909: 0xe0000a3b, 0x1690a: 0xe0000a4a, 0x1690b: 0xe0000a47, + 0x1690c: 0xe0000a44, 0x1690d: 0xe0000a41, 0x1690e: 0xe0000a86, 0x1690f: 0xe0000a83, + 0x16910: 0xe0000aaa, 0x16911: 0xe0000aa7, 0x16912: 0xe0000b46, 0x16913: 0xe0000b43, + 0x16914: 0xe0000aee, 0x16915: 0xe0000aeb, 0x16916: 0xe0000b2c, 0x16917: 0xe0000b29, + 0x16918: 0x002c9a83, 0x16919: 0x402c9a20, 0x1691a: 0xe0000b1a, 0x1691b: 0xe0000b17, + 0x1691c: 0xe0000bb8, 0x1691d: 0xe0000bb5, 0x1691e: 0xe0000bb2, 0x1691f: 0xe0000baf, + 0x16920: 0xe0000bc4, 0x16921: 0xe0000bc1, 0x16922: 0xe0000bca, 0x16923: 0xe0000bc7, + 0x16924: 0xe0000bee, 0x16925: 0xe0000beb, 0x16926: 0xe0000c1b, 0x16927: 0xe0000c18, + 0x16928: 0xe0000c51, 0x16929: 0xe0000c4e, 0x1692a: 0xe0000c60, 0x1692b: 0xe0000c5d, + 0x1692c: 0xe0000c31, 0x1692d: 0xe0000c2e, 0x1692e: 0xe0000c5a, 0x1692f: 0xe0000c57, + 0x16930: 0xe0000c54, 0x16931: 0x402da220, 0x16932: 0xf0000a0a, 0x16933: 0xf0000404, + 0x16934: 0xe0000c8a, 0x16935: 0xe0000c87, 0x16936: 0xe0000c9f, 0x16937: 0xe0000c9c, + 0x16938: 0x402f7220, 0x16939: 0xe0000ccc, 0x1693a: 0xe0000cc9, 0x1693b: 0xe0000cd8, + 0x1693c: 0xe0000cd5, 0x1693d: 0xe0000cd2, 0x1693e: 0xe0000ccf, 0x1693f: 0xe0000d04, + // Block 0x5a5, offset 0x16940 + 0x16940: 0xe0000cfe, 0x16941: 0x002e2483, 0x16942: 0x402e2420, 0x16943: 0x002ea083, + 0x16944: 0x402ea020, 0x16945: 0xe0000d6f, 0x16946: 0xe0000d6c, 0x16947: 0xe0000d5d, + 0x16948: 0xe0000d5a, 0x16949: 0xf0000404, 0x1694a: 0x002eda88, 0x1694b: 0x402eda20, + 0x1694c: 0xe0000e2e, 0x1694d: 0xe0000e2b, 0x1694e: 0xe0000da0, 0x1694f: 0xe0000d9d, + 0x16950: 0xe0000de0, 0x16951: 0xe0000ddd, 0x16952: 0xe0000e93, 0x16953: 0xe0000e8f, + 0x16954: 0xe0000eca, 0x16955: 0xe0000ec7, 0x16956: 0xe0000edc, 0x16957: 0xe0000ed9, + 0x16958: 0xe0000ed0, 0x16959: 0xe0000ecd, 0x1695a: 0x002fe883, 0x1695b: 0x402fe820, + 0x1695c: 0xe0000f2d, 0x1695d: 0xe0000f2a, 0x1695e: 0xe0000f47, 0x1695f: 0xe0000f44, + 0x16960: 0xe0000f33, 0x16961: 0xe0000f30, 0x16962: 0xe0000f99, 0x16963: 0xe0000f96, + 0x16964: 0xe0000f8a, 0x16965: 0xe0000f87, 0x16966: 0x00303688, 0x16967: 0x40303620, + 0x16968: 0xe000102b, 0x16969: 0xe0001028, 0x1696a: 0xe000103f, 0x1696b: 0xe000103c, + 0x1696c: 0xe0000fe7, 0x1696d: 0xe0000fe4, 0x1696e: 0xe0000ff9, 0x1696f: 0xe0000ff6, + 0x16970: 0xe0001025, 0x16971: 0xe0001022, 0x16972: 0xe0001039, 0x16973: 0xe0001036, + 0x16974: 0xe00010d8, 0x16975: 0xe00010d5, 0x16976: 0xe000110e, 0x16977: 0xe000110b, + 0x16978: 0xe0001117, 0x16979: 0x00312c83, 0x1697a: 0x40312c20, 0x1697b: 0x00312e83, + 0x1697c: 0x40312e20, 0x1697d: 0xe0001147, 0x1697e: 0xe0001144, 0x1697f: 0xe0000f64, + // Block 0x5a6, offset 0x16980 + 0x16980: 0xe00009b1, 0x16981: 0xe00009ae, 0x16982: 0xe0000a22, 0x16983: 0xe0000a1f, + 0x16984: 0xe0000a28, 0x16985: 0xe0000a25, 0x16986: 0xe0000a2e, 0x16987: 0xe0000a2b, + 0x16988: 0xe000261a, 0x16989: 0xe0002617, 0x1698a: 0xe0000a8c, 0x1698b: 0xe0000a89, + 0x1698c: 0xe0000a98, 0x1698d: 0xe0000a95, 0x1698e: 0xe0000aa4, 0x1698f: 0xe0000aa1, + 0x16990: 0xe0000a92, 0x16991: 0xe0000a8f, 0x16992: 0xe0000a9e, 0x16993: 0xe0000a9b, + 0x16994: 0xe0000b55, 0x16995: 0xe0000b51, 0x16996: 0xe0000b4d, 0x16997: 0xe0000b49, + 0x16998: 0xe0000b7c, 0x16999: 0xe0000b79, 0x1699a: 0xe0000b82, 0x1699b: 0xe0000b7f, + 0x1699c: 0xe0000b39, 0x1699d: 0xe0000b35, 0x1699e: 0xe0000b8c, 0x1699f: 0xe0000b89, + 0x169a0: 0xe0000bd0, 0x169a1: 0xe0000bcd, 0x169a2: 0xe0000c00, 0x169a3: 0xe0000bfd, + 0x169a4: 0xe0000c0c, 0x169a5: 0xe0000c09, 0x169a6: 0xe0000bfa, 0x169a7: 0xe0000bf7, + 0x169a8: 0xe0000c06, 0x169a9: 0xe0000c03, 0x169aa: 0xe0000c12, 0x169ab: 0xe0000c0f, + 0x169ac: 0xe0000c7e, 0x169ad: 0xe0000c7b, 0x169ae: 0xe0000c4a, 0x169af: 0xe0000c46, + 0x169b0: 0xe0000c93, 0x169b1: 0xe0000c90, 0x169b2: 0xe0000cab, 0x169b3: 0xe0000ca8, + 0x169b4: 0xe0000cb1, 0x169b5: 0xe0000cae, 0x169b6: 0xe0000cde, 0x169b7: 0xe0000cdb, + 0x169b8: 0xe0000ce5, 0x169b9: 0xe0000ce1, 0x169ba: 0xe0000cf2, 0x169bb: 0xe0000cef, + 0x169bc: 0xe0000cec, 0x169bd: 0xe0000ce9, 0x169be: 0xe0000d1e, 0x169bf: 0xe0000d1b, + // Block 0x5a7, offset 0x169c0 + 0x169c0: 0xe0000d24, 0x169c1: 0xe0000d21, 0x169c2: 0xe0000d2a, 0x169c3: 0xe0000d27, + 0x169c4: 0xe0000d69, 0x169c5: 0xe0000d66, 0x169c6: 0xe0000d7b, 0x169c7: 0xe0000d78, + 0x169c8: 0xe0000d87, 0x169c9: 0xe0000d84, 0x169ca: 0xe0000d81, 0x169cb: 0xe0000d7e, + 0x169cc: 0xe0002946, 0x169cd: 0xe0002943, 0x169ce: 0xe0000df5, 0x169cf: 0xe0000df1, + 0x169d0: 0xe0000e3d, 0x169d1: 0xe0000e39, 0x169d2: 0xe000294c, 0x169d3: 0xe0002949, + 0x169d4: 0xe0000ea7, 0x169d5: 0xe0000ea4, 0x169d6: 0xe0000ead, 0x169d7: 0xe0000eaa, + 0x169d8: 0xe0000ed6, 0x169d9: 0xe0000ed3, 0x169da: 0xe0000ef4, 0x169db: 0xe0000ef1, + 0x169dc: 0xe0000efb, 0x169dd: 0xe0000ef7, 0x169de: 0xe0000f02, 0x169df: 0xe0000eff, + 0x169e0: 0xe0000f41, 0x169e1: 0xe0000f3e, 0x169e2: 0xe0000f53, 0x169e3: 0xe0000f50, + 0x169e4: 0xe000296a, 0x169e5: 0xe0002967, 0x169e6: 0xe0000f3a, 0x169e7: 0xe0000f36, + 0x169e8: 0xe0000f5a, 0x169e9: 0xe0000f56, 0x169ea: 0xe0000f93, 0x169eb: 0xe0000f90, + 0x169ec: 0xe0000f9f, 0x169ed: 0xe0000f9c, 0x169ee: 0xe0000fb1, 0x169ef: 0xe0000fae, + 0x169f0: 0xe0000fab, 0x169f1: 0xe0000fa8, 0x169f2: 0xe0001093, 0x169f3: 0xe0001090, + 0x169f4: 0xe000109f, 0x169f5: 0xe000109c, 0x169f6: 0xe0001099, 0x169f7: 0xe0001096, + 0x169f8: 0xe0001032, 0x169f9: 0xe000102e, 0x169fa: 0xe0001046, 0x169fb: 0xe0001042, + 0x169fc: 0xe00010a9, 0x169fd: 0xe00010a6, 0x169fe: 0xe00010af, 0x169ff: 0xe00010ac, + // Block 0x5a8, offset 0x16a00 + 0x16a00: 0xe0000b03, 0x16a01: 0xe0000aff, 0x16a02: 0xe0000b13, 0x16a03: 0xe0000b0f, + 0x16a04: 0xe0000b0b, 0x16a05: 0xe0000b07, 0x16a06: 0xe0000b75, 0x16a07: 0xe0000b71, + 0x16a08: 0xe0000c66, 0x16a09: 0xe0000c63, 0x16a0a: 0xe0000c78, 0x16a0b: 0xe0000c75, + 0x16a0c: 0xe0000e84, 0x16a0d: 0xe0000e81, 0x16a0e: 0xe0000e44, 0x16a0f: 0xe0000e41, + 0x16a10: 0xe0003c96, 0x16a11: 0xe0003c93, 0x16a12: 0xe0000db5, 0x16a13: 0xe0000db1, + 0x16a14: 0xe0000dc5, 0x16a15: 0xe0000dc1, 0x16a16: 0xe0000dbd, 0x16a17: 0xe0000db9, + 0x16a18: 0xe0000e8b, 0x16a19: 0xe0000e87, 0x16a1a: 0xe0003c9c, 0x16a1b: 0xe0003c99, + 0x16a1c: 0xe0000e65, 0x16a1d: 0xe0000e61, 0x16a1e: 0xe0000e75, 0x16a1f: 0xe0000e71, + 0x16a20: 0xe0000e6d, 0x16a21: 0xe0000e69, 0x16a22: 0xe0000e7d, 0x16a23: 0xe0000e79, + 0x16a24: 0xe000108d, 0x16a25: 0xe000108a, 0x16a26: 0xe000104d, 0x16a27: 0xe000104a, + 0x16a28: 0xe0001066, 0x16a29: 0xe0001062, 0x16a2a: 0xe000106e, 0x16a2b: 0xe000106a, + 0x16a2c: 0xe000107e, 0x16a2d: 0xe000107a, 0x16a2e: 0xe0001076, 0x16a2f: 0xe0001072, + 0x16a30: 0xe0001086, 0x16a31: 0xe0001082, 0x16a32: 0xe0001108, 0x16a33: 0xe0001105, + 0x16a34: 0xe0001135, 0x16a35: 0xe0001132, 0x16a36: 0xe000112f, 0x16a37: 0xe000112c, + 0x16a38: 0xe000111d, 0x16a39: 0xe000111a, 0x16a3a: 0xe0000d0a, 0x16a3b: 0xe0000d07, + 0x16a3c: 0x0030d888, 0x16a3d: 0x4030d820, 0x16a3e: 0x00312088, 0x16a3f: 0x40312020, + // Block 0x5a9, offset 0x16a40 + 0x16a40: 0xa0000000, 0x16a41: 0xa0000000, 0x16a42: 0xa0000000, 0x16a43: 0xa0000000, + 0x16a44: 0xa0000000, 0x16a46: 0x40096620, 0x16a47: 0x40096a20, + 0x16a48: 0x40070820, 0x16a49: 0x4004f220, 0x16a4a: 0x4004f620, 0x16a4b: 0x4027e620, + 0x16a4c: 0x40024820, 0x16a4d: 0x40024a20, 0x16a4e: 0x40070e20, 0x16a4f: 0x40071020, + 0x16a50: 0xae600000, 0x16a51: 0xae600000, 0x16a52: 0xae600000, 0x16a53: 0xae600000, + 0x16a54: 0xae600000, 0x16a55: 0xae600000, 0x16a56: 0xae600000, 0x16a57: 0xae600000, + 0x16a58: 0xa1e00000, 0x16a59: 0xa1f00000, 0x16a5a: 0xa2000000, 0x16a5b: 0x40026420, + 0x16a5e: 0x40027020, 0x16a5f: 0x4002cc20, + 0x16a60: 0x403aa220, 0x16a61: 0x40393a20, 0x16a62: 0x40393620, 0x16a63: 0x40393821, + 0x16a64: 0x403a7421, 0x16a65: 0x40393824, 0x16a66: 0x003a9344, 0x16a67: 0xce980151, + 0x16a68: 0x40393c20, 0x16a69: 0x403a6824, 0x16a6a: 0x40395620, 0x16a6b: 0x40395820, + 0x16a6c: 0x40396420, 0x16a6d: 0xce9c0171, 0x16a6e: 0x40397420, 0x16a6f: 0x40398820, + 0x16a70: 0x40398a20, 0x16a71: 0x4039a420, 0x16a72: 0x4039a620, 0x16a73: 0x4039c620, + 0x16a74: 0x4039c820, 0x16a75: 0x4039dc20, 0x16a76: 0x4039de20, 0x16a77: 0x4039e620, + 0x16a78: 0x4039e820, 0x16a79: 0x4039ee20, 0x16a7a: 0x4039f020, 0x16a7b: 0x403a3820, + 0x16a7c: 0x403a3a20, 0x16a7d: 0x403a9c20, 0x16a7e: 0x403a9e20, 0x16a7f: 0x403aa020, + // Block 0x5aa, offset 0x16a80 + 0x16a80: 0xa0000000, 0x16a81: 0x4039fc20, 0x16a82: 0x403a1220, 0x16a83: 0x403a1c22, + 0x16a84: 0x403a4020, 0x16a85: 0x403a4e20, 0x16a86: 0x403a5620, 0x16a87: 0xcea00171, + 0x16a88: 0xcea20171, 0x16a89: 0xcea60171, 0x16a8a: 0xcea80171, 0x16a8b: 0xa000b002, + 0x16a8c: 0xa000b202, 0x16a8d: 0xa000b102, 0x16a8e: 0xa1e0ad02, 0x16a8f: 0xa000af02, + 0x16a90: 0xa000ae02, 0x16a91: 0xa210ba02, 0x16a92: 0xa220bc02, 0x16a93: 0xae60bd02, + 0x16a94: 0xae60be02, 0x16a95: 0xadc0bf02, 0x16a96: 0xadc0c102, 0x16a97: 0xae60c202, + 0x16a98: 0xae60c302, 0x16a99: 0xae60c402, 0x16a9a: 0xae60c502, 0x16a9b: 0xae60c602, + 0x16a9c: 0xadc0c702, 0x16a9d: 0xae60c802, 0x16a9e: 0xae60c902, 0x16a9f: 0xadc0c002, + 0x16aa0: 0xe000015e, 0x16aa1: 0xe00001e6, 0x16aa2: 0xe0000301, 0x16aa3: 0xe00003db, + 0x16aa4: 0xe00004b6, 0x16aa5: 0xe0000580, 0x16aa6: 0xe000064b, 0x16aa7: 0xe00006f3, + 0x16aa8: 0xe000079f, 0x16aa9: 0xe0000844, 0x16aaa: 0x4004ee20, 0x16aab: 0x40024c20, + 0x16aac: 0x40024e20, 0x16aad: 0x4004de20, 0x16aae: 0x40393a20, 0x16aaf: 0x403a1020, + 0x16ab0: 0xa230d102, 0x16ab1: 0x40393823, 0x16ab2: 0x40393822, 0x16ab3: 0x40393825, + 0x16ab4: 0x00391c84, 0x16ab5: 0xf0000404, 0x16ab6: 0xf0000404, 0x16ab7: 0xe000ad89, + 0x16ab8: 0xe0003780, 0x16ab9: 0x40395821, 0x16aba: 0x40395c20, 0x16abb: 0x40393e20, + 0x16abc: 0x40395820, 0x16abd: 0x40396020, 0x16abe: 0x40394020, 0x16abf: 0x40396220, + // Block 0x5ab, offset 0x16ac0 + 0x16ac0: 0x40394220, 0x16ac1: 0x40396620, 0x16ac2: 0x40397820, 0x16ac3: 0x40396620, + 0x16ac4: 0x40396820, 0x16ac5: 0x40396c20, 0x16ac6: 0x40396a20, 0x16ac7: 0x40396e20, + 0x16ac8: 0x40398a21, 0x16ac9: 0x40398a20, 0x16aca: 0x40399020, 0x16acb: 0x40399220, + 0x16acc: 0x40399420, 0x16acd: 0x40399620, 0x16ace: 0x40399820, 0x16acf: 0x40399a20, + 0x16ad0: 0x40399c20, 0x16ad1: 0x4039a621, 0x16ad2: 0x4039aa20, 0x16ad3: 0x4039a620, + 0x16ad4: 0x4039ae20, 0x16ad5: 0x4039b020, 0x16ad6: 0x4039b820, 0x16ad7: 0x4039b420, + 0x16ad8: 0x4039b620, 0x16ad9: 0x4039b820, 0x16ada: 0x4039ca20, 0x16adb: 0x4039cc20, + 0x16adc: 0x4039ce20, 0x16add: 0x4039e020, 0x16ade: 0x4039e220, 0x16adf: 0x4039ea20, + 0x16ae0: 0x4039f220, 0x16ae1: 0x4039fe20, 0x16ae2: 0x403a0020, 0x16ae3: 0x403a0220, + 0x16ae4: 0x403a0420, 0x16ae5: 0x403a0820, 0x16ae6: 0x403a0a20, 0x16ae7: 0x403a1420, + 0x16ae8: 0x403a1620, 0x16ae9: 0x403a1c20, 0x16aea: 0x403a1c21, 0x16aeb: 0x403a2020, + 0x16aec: 0x403a2220, 0x16aed: 0x403a2620, 0x16aee: 0x403a2820, 0x16aef: 0x403a2021, + 0x16af0: 0x403a2c20, 0x16af1: 0x403a2e20, 0x16af2: 0x403a3020, 0x16af3: 0x403a3220, + 0x16af4: 0x403a3420, 0x16af5: 0x403a4220, 0x16af6: 0x403a4420, 0x16af7: 0x403a4620, + 0x16af8: 0x403a4820, 0x16af9: 0x403a6020, 0x16afa: 0x403a5820, 0x16afb: 0x403a5c21, + 0x16afc: 0x403a5c20, 0x16afd: 0x403a5e20, 0x16afe: 0x403a6823, 0x16aff: 0x40396c20, + // Block 0x5ac, offset 0x16b00 + 0x16b00: 0x003a6883, 0x16b01: 0x403a6822, 0x16b02: 0xe000ad86, 0x16b03: 0x403a6825, + 0x16b04: 0x403a7620, 0x16b05: 0x403a7820, 0x16b06: 0x403a7a20, 0x16b07: 0x403a7422, + 0x16b08: 0x403a7e20, 0x16b09: 0x403a7423, 0x16b0a: 0x403a8220, 0x16b0b: 0x403a8420, + 0x16b0c: 0xcea40171, 0x16b0d: 0x403a9225, 0x16b0e: 0x403a9620, 0x16b0f: 0x403a8620, + 0x16b10: 0x403a9224, 0x16b11: 0x403a9a20, 0x16b12: 0x403a9222, 0x16b13: 0xe00037b6, + 0x16b14: 0x4002e820, 0x16b15: 0xce9e0171, 0x16b16: 0xae600000, 0x16b17: 0xae600000, + 0x16b18: 0xae600000, 0x16b19: 0xae600000, 0x16b1a: 0xae600000, 0x16b1b: 0xae600000, + 0x16b1c: 0xae600000, 0x16b1d: 0xa0000000, 0x16b1e: 0x40071220, 0x16b1f: 0xae600000, + 0x16b20: 0xae600000, 0x16b21: 0xae600000, 0x16b22: 0xae600000, 0x16b23: 0xadc00000, + 0x16b24: 0xae600000, 0x16b25: 0x003a7484, 0x16b26: 0x003a9084, 0x16b27: 0xae600000, + 0x16b28: 0xae600000, 0x16b29: 0x40071420, 0x16b2a: 0xadc00000, 0x16b2b: 0xae600000, + 0x16b2c: 0xae600000, 0x16b2d: 0xadc00000, 0x16b2e: 0x40399e20, 0x16b2f: 0x4039ba20, + 0x16b30: 0xe0000161, 0x16b31: 0xe00001e9, 0x16b32: 0xe0000304, 0x16b33: 0xe00003de, + 0x16b34: 0xe00004b9, 0x16b35: 0xe0000583, 0x16b36: 0xe000064e, 0x16b37: 0xe00006f6, + 0x16b38: 0xe00007a2, 0x16b39: 0xe0000847, 0x16b3a: 0x4039d020, 0x16b3b: 0x4039e420, + 0x16b3c: 0x4039f420, 0x16b3d: 0xe0001553, 0x16b3e: 0xe0001779, 0x16b3f: 0x403a7020, + // Block 0x5ad, offset 0x16b40 + 0x16b40: 0x00021284, 0x16b41: 0x00021284, 0x16b42: 0x00021284, 0x16b43: 0x00021284, + 0x16b44: 0x00021284, 0x16b45: 0x00021284, 0x16b46: 0x00021284, 0x16b47: 0x0002129b, + 0x16b48: 0x00021284, 0x16b49: 0x00021284, 0x16b4a: 0x00021284, 0x16b4b: 0xa0000000, + 0x16b4c: 0x40021221, 0x16b4d: 0x40021222, 0x16b4e: 0xa0000000, 0x16b4f: 0xa0000000, + 0x16b50: 0x40022620, 0x16b51: 0x0002269b, 0x16b52: 0x40022820, 0x16b53: 0x40022a20, + 0x16b54: 0x40022c20, 0x16b55: 0x40022e20, 0x16b56: 0x4004c420, 0x16b57: 0x40021820, + 0x16b58: 0x4003d420, 0x16b59: 0x4003d620, 0x16b5a: 0x4003d820, 0x16b5b: 0x4003da20, + 0x16b5c: 0x4003e220, 0x16b5d: 0x4003e420, 0x16b5e: 0x4003e620, 0x16b5f: 0x4003e820, + 0x16b60: 0x4004f820, 0x16b61: 0x4004fa20, 0x16b62: 0x40050220, 0x16b63: 0x40050420, + 0x16b64: 0x0002e484, 0x16b65: 0xf0001f04, 0x16b66: 0xf0000404, 0x16b67: 0x40050620, + 0x16b68: 0x40020e20, 0x16b69: 0x40021020, 0x16b6a: 0xa0000000, 0x16b6b: 0xa0000000, + 0x16b6c: 0xa0000000, 0x16b6d: 0xa0000000, 0x16b6e: 0xa0000000, 0x16b6f: 0x0002129b, + 0x16b70: 0x4004f020, 0x16b71: 0x4004f420, 0x16b72: 0x40050e20, 0x16b73: 0xf0001f04, + 0x16b74: 0xf0000404, 0x16b75: 0x40051020, 0x16b76: 0xf0001f04, 0x16b77: 0xf0000404, + 0x16b78: 0x40051620, 0x16b79: 0x4003dc20, 0x16b7a: 0x4003de20, 0x16b7b: 0x40051820, + 0x16b7c: 0xf0001f04, 0x16b7d: 0x4002e020, 0x16b7e: 0x40021420, 0x16b7f: 0x40051a20, + // Block 0x5ae, offset 0x16b80 + 0x16b80: 0x40073420, 0x16b81: 0x40073620, + 0x16b93: 0x003a269a, + 0x16b94: 0x003a2699, 0x16b95: 0x003a2697, 0x16b96: 0x003a2698, 0x16b97: 0x003a7c9a, + 0x16b98: 0x003a7c99, 0x16b99: 0x003a7a9a, 0x16b9a: 0x003a7a99, 0x16b9b: 0x003a7e9a, + 0x16b9c: 0x003a7e99, 0x16b9d: 0xe000ad8c, 0x16b9e: 0x003a849a, 0x16b9f: 0x003a8499, + 0x16ba0: 0x003a789a, 0x16ba1: 0x003a7899, 0x16ba2: 0x003a809a, 0x16ba3: 0x003a8099, + 0x16ba4: 0x003a989a, 0x16ba5: 0x003a9899, 0x16ba6: 0x003a9897, 0x16ba7: 0x003a9898, + 0x16ba8: 0x003a8e97, 0x16ba9: 0x003a8e98, 0x16baa: 0xe0001559, 0x16bab: 0xe0001556, + 0x16bac: 0xe0001589, 0x16bad: 0xe0001586, 0x16bae: 0xe000158f, 0x16baf: 0xe000158c, + 0x16bb0: 0xe000159b, 0x16bb1: 0xe0001598, 0x16bb2: 0xe0001595, 0x16bb3: 0xe0001592, + 0x16bb4: 0xe00015a1, 0x16bb5: 0xe000159e, 0x16bb6: 0xe00015bf, 0x16bb7: 0xe00015bc, + 0x16bb8: 0xe00015b9, 0x16bb9: 0xe00015ad, 0x16bba: 0xe00015a7, 0x16bbb: 0xe00015a4, + 0x16bbc: 0x003a929a, 0x16bbd: 0x003a9299, 0x16bbe: 0x003a9297, 0x16bbf: 0x003a9298, + // Block 0x5af, offset 0x16bc0 + 0x16bc0: 0xf0001a1a, 0x16bc1: 0xf0001a1a, 0x16bc2: 0xf0001a1a, 0x16bc3: 0xe00028f4, + 0x16bc4: 0xe000374d, 0x16bc5: 0xf0001a1a, 0x16bc6: 0xf0001a1a, 0x16bc7: 0xf0001a1a, + 0x16bc8: 0xf0001a1a, 0x16bc9: 0xe00028f7, 0x16bca: 0xe0003750, 0x16bcb: 0xf0001a1a, + 0x16bcc: 0xf0001a1a, 0x16bcd: 0xf0001a1a, 0x16bce: 0xf0001a1a, 0x16bcf: 0xe00028fd, + 0x16bd0: 0xe000375c, 0x16bd1: 0xf0001a1a, 0x16bd2: 0xf0001a1a, 0x16bd3: 0xe0002900, + 0x16bd4: 0xe000376e, 0x16bd5: 0xe0003786, 0x16bd6: 0xe000378c, 0x16bd7: 0xe0003792, + 0x16bd8: 0xe00037a4, 0x16bd9: 0xe0002906, 0x16bda: 0xe00037b3, 0x16bdb: 0xf0001a1a, + 0x16bdc: 0xf0001a1a, 0x16bdd: 0xe000377d, 0x16bde: 0xe0000003, 0x16bdf: 0xe0000006, + 0x16be0: 0xe0000009, 0x16be1: 0xe000000c, 0x16be2: 0xe000000f, 0x16be3: 0xe0000012, + 0x16be4: 0xe000156b, 0x16be5: 0xe000156e, 0x16be6: 0xe0001577, 0x16be7: 0xe000157d, + 0x16be8: 0xe00015aa, 0x16be9: 0xe00015b3, 0x16bea: 0xf0001919, 0x16beb: 0xf0001919, + 0x16bec: 0xf0001919, 0x16bed: 0xf0001919, 0x16bee: 0xe0002891, 0x16bef: 0xe00036a2, + 0x16bf0: 0xf0001919, 0x16bf1: 0xf0001919, 0x16bf2: 0xf0001919, 0x16bf3: 0xf0001919, + 0x16bf4: 0xe0002897, 0x16bf5: 0xe00036ae, 0x16bf6: 0xf0001919, 0x16bf7: 0xf0001919, + 0x16bf8: 0xf0001919, 0x16bf9: 0xf0001919, 0x16bfa: 0xe000289d, 0x16bfb: 0xe00036b7, + 0x16bfc: 0xe00028df, 0x16bfd: 0xe0003705, 0x16bfe: 0xe00028e5, 0x16bff: 0xe000370b, + // Block 0x5b0, offset 0x16c00 + 0x16c00: 0xe0003711, 0x16c01: 0xe000372f, 0x16c02: 0xe000373b, 0x16c03: 0xe00028eb, + 0x16c04: 0xe0003741, 0x16c05: 0xf0001919, 0x16c06: 0xe00028f1, 0x16c07: 0xe000374a, + 0x16c08: 0xf0001919, 0x16c09: 0xf0001919, 0x16c0a: 0xf0001919, 0x16c0b: 0xf0001919, + 0x16c0c: 0xf0001919, 0x16c0d: 0xf0001919, 0x16c0e: 0xe00028fa, 0x16c0f: 0xe0003759, + 0x16c10: 0xe000377a, 0x16c11: 0xe0003795, 0x16c12: 0xe0003798, 0x16c13: 0xe00037a1, + 0x16c14: 0xe00037a7, 0x16c15: 0xe0002903, 0x16c16: 0xe00037b0, 0x16c17: 0xe000155c, + 0x16c18: 0xe0001562, 0x16c19: 0xe0001568, 0x16c1a: 0xe0001571, 0x16c1b: 0xe0001580, + 0x16c1c: 0xf0001717, 0x16c1d: 0xf0001717, 0x16c1e: 0xf0001717, 0x16c1f: 0xf0001717, + 0x16c20: 0xf0001717, 0x16c21: 0xf0001717, 0x16c22: 0xf0001717, 0x16c23: 0xf0001717, + 0x16c24: 0xf0001717, 0x16c25: 0xf0001717, 0x16c26: 0xf0001717, 0x16c27: 0xf0001717, + 0x16c28: 0xf0001717, 0x16c29: 0xf0001717, 0x16c2a: 0xf0001717, 0x16c2b: 0xf0001717, + 0x16c2c: 0xf0001717, 0x16c2d: 0xf0001717, 0x16c2e: 0xf0001717, 0x16c2f: 0xf0001717, + 0x16c30: 0xf0001717, 0x16c31: 0xf0001717, 0x16c32: 0xf0001717, 0x16c33: 0xf0001717, + 0x16c34: 0xf0001717, 0x16c35: 0xf0001717, 0x16c36: 0xf0001717, 0x16c37: 0xf0001717, + 0x16c38: 0xf0001717, 0x16c39: 0xf0001717, 0x16c3a: 0xf0001717, 0x16c3b: 0xf0001717, + 0x16c3c: 0xf0001717, 0x16c3d: 0xf0001717, 0x16c3e: 0xf0001717, 0x16c3f: 0xf0001717, + // Block 0x5b1, offset 0x16c40 + 0x16c40: 0xf0001717, 0x16c41: 0xf0001717, 0x16c42: 0xf0001717, 0x16c43: 0xf0001717, + 0x16c44: 0xe0003717, 0x16c45: 0xe000371d, 0x16c46: 0xe0003723, 0x16c47: 0xe0003729, + 0x16c48: 0xe0003735, 0x16c49: 0xf0001717, 0x16c4a: 0xf0001717, 0x16c4b: 0xf0001717, + 0x16c4c: 0xf0001717, 0x16c4d: 0xf0001717, 0x16c4e: 0xf0001717, 0x16c4f: 0xf0001717, + 0x16c50: 0xf0001717, 0x16c51: 0xf0001717, 0x16c52: 0xf0001717, 0x16c53: 0xf0001717, + 0x16c54: 0xf0001717, 0x16c55: 0xf0001717, 0x16c56: 0xf0001717, 0x16c57: 0xf0001717, + 0x16c58: 0xf0001717, 0x16c59: 0xf0001717, 0x16c5a: 0xe0003783, 0x16c5b: 0xe0003789, + 0x16c5c: 0xe000378f, 0x16c5d: 0xe000379b, 0x16c5e: 0xe00037aa, 0x16c5f: 0xe0001574, + 0x16c60: 0xe0001583, 0x16c61: 0xf0001818, 0x16c62: 0xf0001818, 0x16c63: 0xf0001818, + 0x16c64: 0xf0001818, 0x16c65: 0xf0001818, 0x16c66: 0xf0001818, 0x16c67: 0xf0001818, + 0x16c68: 0xf0001818, 0x16c69: 0xf0001818, 0x16c6a: 0xf0001818, 0x16c6b: 0xe000372c, + 0x16c6c: 0xe0003738, 0x16c6d: 0xf0001818, 0x16c6e: 0xf0001818, 0x16c6f: 0xf0001818, + 0x16c70: 0xe000379e, 0x16c71: 0xe00037ad, 0x16c72: 0xf0001818, 0x16c73: 0xe0003690, + 0x16c74: 0xe0003693, 0x16c75: 0xe00028d0, 0x16c76: 0xe00036f6, 0x16c77: 0xe00028d6, + 0x16c78: 0xe00036fc, 0x16c79: 0xe00028dc, 0x16c7a: 0xe0003702, 0x16c7b: 0xe00028b8, + 0x16c7c: 0xe00036d8, 0x16c7d: 0xe00028be, 0x16c7e: 0xe00036e4, 0x16c7f: 0xe00028ac, + // Block 0x5b2, offset 0x16c80 + 0x16c80: 0xe00036c6, 0x16c81: 0xe00028a6, 0x16c82: 0xe00036c0, 0x16c83: 0xe00028b2, + 0x16c84: 0xe00036cc, 0x16c85: 0xe00028c4, 0x16c86: 0xe00036ea, 0x16c87: 0xe00028ca, + 0x16c88: 0xe00036f0, 0x16c89: 0xf0001a1a, 0x16c8a: 0xf0001a1a, 0x16c8b: 0xf0001a1a, + 0x16c8c: 0xf0001a1a, 0x16c8d: 0xf0001a1a, 0x16c8e: 0xf0001a1a, 0x16c8f: 0xf0001a1a, + 0x16c90: 0xf0001a1a, 0x16c91: 0xe00028cd, 0x16c92: 0xe00036f3, 0x16c93: 0xe00028d3, + 0x16c94: 0xe00036f9, 0x16c95: 0xe00028d9, 0x16c96: 0xe00036ff, 0x16c97: 0xe00028b5, + 0x16c98: 0xe00036d5, 0x16c99: 0xe00028bb, 0x16c9a: 0xe00036e1, 0x16c9b: 0xe00028a9, + 0x16c9c: 0xe00036c3, 0x16c9d: 0xe00028a3, 0x16c9e: 0xe00036bd, 0x16c9f: 0xe00028af, + 0x16ca0: 0xe00036c9, 0x16ca1: 0xe00028c1, 0x16ca2: 0xe00036e7, 0x16ca3: 0xe00028c7, + 0x16ca4: 0xe00036ed, 0x16ca5: 0xf0001919, 0x16ca6: 0xf0001919, 0x16ca7: 0xf0001919, + 0x16ca8: 0xf0001919, 0x16ca9: 0xf0001919, 0x16caa: 0xf0001919, 0x16cab: 0xf0001919, + 0x16cac: 0xf0001919, 0x16cad: 0xf0001717, 0x16cae: 0xf0001717, 0x16caf: 0xf0001717, + 0x16cb0: 0xf0001717, 0x16cb1: 0xf0001717, 0x16cb2: 0xf0001717, 0x16cb3: 0xf0001717, + 0x16cb4: 0xf0001818, 0x16cb5: 0xf0001818, 0x16cb6: 0xf0001818, 0x16cb7: 0xf0001818, + 0x16cb8: 0xf0001818, 0x16cb9: 0xf0001818, 0x16cba: 0xf0001818, 0x16cbb: 0xf0001818, + 0x16cbc: 0xe0003696, 0x16cbd: 0xe0003699, 0x16cbe: 0x4004c020, 0x16cbf: 0x4004c220, + // Block 0x5b3, offset 0x16cc0 + 0x16cc0: 0xa0000000, 0x16cc1: 0xa0000000, 0x16cc2: 0xa0000000, 0x16cc3: 0xa0000000, + 0x16cc4: 0xa0000000, 0x16cc5: 0xa0000000, 0x16cc6: 0xa0000000, 0x16cc7: 0xa0000000, + 0x16cc8: 0xa0000000, 0x16cc9: 0x40020020, 0x16cca: 0x40020220, 0x16ccb: 0x40020420, + 0x16ccc: 0x40020620, 0x16ccd: 0x40020820, 0x16cce: 0xa0000000, 0x16ccf: 0xa0000000, + 0x16cd0: 0xa0000000, 0x16cd1: 0xa0000000, 0x16cd2: 0xa0000000, 0x16cd3: 0xa0000000, + 0x16cd4: 0xa0000000, 0x16cd5: 0xa0000000, 0x16cd6: 0xa0000000, 0x16cd7: 0xa0000000, + 0x16cd8: 0xa0000000, 0x16cd9: 0xa0000000, 0x16cda: 0xa0000000, 0x16cdb: 0xa0000000, + 0x16cdc: 0xa0000000, 0x16cdd: 0xa0000000, 0x16cde: 0xa0000000, 0x16cdf: 0xa0000000, + 0x16ce0: 0x40021220, 0x16ce1: 0x4002ba20, 0x16ce2: 0x4003e020, 0x16ce3: 0x4004ea20, + 0x16ce4: 0x4027de20, 0x16ce5: 0x4004ec20, 0x16ce6: 0x4004e620, 0x16ce7: 0x4003d220, + 0x16ce8: 0x4003f420, 0x16ce9: 0x4003f620, 0x16cea: 0x4004d820, 0x16ceb: 0x40093820, + 0x16cec: 0x40024020, 0x16ced: 0x40021a20, 0x16cee: 0x4002e420, 0x16cef: 0x4004e220, + 0x16cf0: 0x4029cc20, 0x16cf1: 0x4029ce20, 0x16cf2: 0x4029d020, 0x16cf3: 0x4029d220, + 0x16cf4: 0x4029d420, 0x16cf5: 0x4029d620, 0x16cf6: 0x4029d820, 0x16cf7: 0x4029da20, + 0x16cf8: 0x4029dc20, 0x16cf9: 0x4029de20, 0x16cfa: 0x40026c20, 0x16cfb: 0x40026220, + 0x16cfc: 0x40094020, 0x16cfd: 0x40094220, 0x16cfe: 0x40094420, 0x16cff: 0x4002c420, + // Block 0x5b4, offset 0x16d00 + 0x16d00: 0x4004d620, 0x16d01: 0xcead9741, 0x16d02: 0x002c0a88, 0x16d03: 0x002c3a88, + 0x16d04: 0x002c6288, 0x16d05: 0x002c9888, 0x16d06: 0x002d0888, 0x16d07: 0x002d2288, + 0x16d08: 0x002d6888, 0x16d09: 0xc6182741, 0x16d0a: 0x002dcc88, 0x16d0b: 0x002dfe88, + 0x16d0c: 0xc0030002, 0x16d0d: 0x002e8288, 0x16d0e: 0x002e9e88, 0x16d0f: 0x002ee288, + 0x16d10: 0x002f2c88, 0x16d11: 0x002f5688, 0x16d12: 0x002f7a88, 0x16d13: 0xceb39771, + 0x16d14: 0xceb99771, 0x16d15: 0x00306c88, 0x16d16: 0x0030be88, 0x16d17: 0x0030e288, + 0x16d18: 0x0030f688, 0x16d19: 0x00310088, 0x16d1a: 0x00312a88, 0x16d1b: 0x4003f820, + 0x16d1c: 0x4004e420, 0x16d1d: 0x4003fa20, 0x16d1e: 0x40062420, 0x16d1f: 0x40021620, + 0x16d20: 0x40061e20, 0x16d21: 0xceaa9741, 0x16d22: 0x402c0a20, 0x16d23: 0x402c3a20, + 0x16d24: 0x402c6220, 0x16d25: 0x402c9820, 0x16d26: 0x402d0820, 0x16d27: 0x402d2220, + 0x16d28: 0x402d6820, 0x16d29: 0xc6162741, 0x16d2a: 0x402dcc20, 0x16d2b: 0x402dfe20, + 0x16d2c: 0xc0000002, 0x16d2d: 0x402e8220, 0x16d2e: 0x402e9e20, 0x16d2f: 0x402ee220, + 0x16d30: 0x402f2c20, 0x16d31: 0x402f5620, 0x16d32: 0x402f7a20, 0x16d33: 0xceb09771, + 0x16d34: 0xceb69771, 0x16d35: 0x40306c20, 0x16d36: 0x4030be20, 0x16d37: 0x4030e220, + 0x16d38: 0x4030f620, 0x16d39: 0x40310020, 0x16d3a: 0x40312a20, 0x16d3b: 0x4003fc20, + 0x16d3c: 0x40094820, 0x16d3d: 0x4003fe20, 0x16d3e: 0x40094c20, 0x16d3f: 0xa0000000, + // Block 0x5b5, offset 0x16d40 + 0x16d40: 0xe00008f5, 0x16d41: 0xe00008ef, 0x16d42: 0x002be283, 0x16d43: 0xe0000969, + 0x16d44: 0xe000095b, 0x16d45: 0xe000094d, 0x16d46: 0xe00009dd, 0x16d47: 0xe0000a53, + 0x16d48: 0xe0000ae8, 0x16d49: 0xe0000ae2, 0x16d4a: 0xe0000af4, 0x16d4b: 0xe0000b20, + 0x16d4c: 0xe0000c2b, 0x16d4d: 0xe0000c25, 0x16d4e: 0x002d9c83, 0x16d4f: 0xe0000c43, + 0x16d50: 0xe0000ab3, 0x16d51: 0xe0000d63, 0x16d52: 0xe0000d9a, 0x16d53: 0xe0000d94, + 0x16d54: 0xe0000da6, 0x16d55: 0xe0000de6, 0x16d56: 0xe0000dd2, 0x16d57: 0x40093e20, + 0x16d58: 0xe0000e12, 0x16d59: 0xe0000fe1, 0x16d5a: 0xe0000fdb, 0x16d5b: 0xe0000fed, + 0x16d5c: 0xe0000fff, 0x16d5d: 0xe0001102, 0x16d5e: 0x00318888, 0x16d5f: 0xe0000f7b, + 0x16d60: 0xe00008f2, 0x16d61: 0xe00008ec, 0x16d62: 0x402be220, 0x16d63: 0xe0000966, + 0x16d64: 0xe0000958, 0x16d65: 0xe000094a, 0x16d66: 0xe00009d5, 0x16d67: 0xe0000a4d, + 0x16d68: 0xe0000ae5, 0x16d69: 0xe0000adf, 0x16d6a: 0xe0000af1, 0x16d6b: 0xe0000b1d, + 0x16d6c: 0xe0000c28, 0x16d6d: 0xe0000c22, 0x16d6e: 0x402d9c20, 0x16d6f: 0xe0000c40, + 0x16d70: 0xe0000aad, 0x16d71: 0xe0000d60, 0x16d72: 0xe0000d97, 0x16d73: 0xe0000d91, + 0x16d74: 0xe0000da3, 0x16d75: 0xe0000de3, 0x16d76: 0xe0000dcf, 0x16d77: 0x40093c20, + 0x16d78: 0xe0000e0f, 0x16d79: 0xe0000fde, 0x16d7a: 0xe0000fd8, 0x16d7b: 0xe0000fea, + 0x16d7c: 0xe0000ffc, 0x16d7d: 0xe00010ff, 0x16d7e: 0x40318820, 0x16d7f: 0xe0001114, + // Block 0x5b6, offset 0x16d80 + 0x16d80: 0xe0000983, 0x16d81: 0xe0000980, 0x16d82: 0x002be083, 0x16d83: 0x402be020, + 0x16d84: 0xe000097d, 0x16d85: 0xe000097a, 0x16d86: 0xe0000a38, 0x16d87: 0xe0000a35, + 0x16d88: 0xe0000a3e, 0x16d89: 0xe0000a3b, 0x16d8a: 0xe0000a4a, 0x16d8b: 0xe0000a47, + 0x16d8c: 0xe0000a44, 0x16d8d: 0xe0000a41, 0x16d8e: 0xe0000a86, 0x16d8f: 0xe0000a83, + 0x16d90: 0xe0000aaa, 0x16d91: 0xe0000aa7, 0x16d92: 0xe0000b46, 0x16d93: 0xe0000b43, + 0x16d94: 0xe0000aee, 0x16d95: 0xe0000aeb, 0x16d96: 0xe0000b2c, 0x16d97: 0xe0000b29, + 0x16d98: 0xe0000b40, 0x16d99: 0xe0000b3d, 0x16d9a: 0xe0000b1a, 0x16d9b: 0xe0000b17, + 0x16d9c: 0xe0000bb8, 0x16d9d: 0xe0000bb5, 0x16d9e: 0xe0000bb2, 0x16d9f: 0xe0000baf, + 0x16da0: 0xe0000bc4, 0x16da1: 0xe0000bc1, 0x16da2: 0xe0000bca, 0x16da3: 0xe0000bc7, + 0x16da4: 0xe0000bee, 0x16da5: 0xe0000beb, 0x16da6: 0xe0000c1b, 0x16da7: 0xe0000c18, + 0x16da8: 0xe0000c51, 0x16da9: 0xe0000c4e, 0x16daa: 0xe0000c60, 0x16dab: 0xe0000c5d, + 0x16dac: 0xe0000c31, 0x16dad: 0xe0000c2e, 0x16dae: 0xe0000c5a, 0x16daf: 0xe0000c57, + 0x16db0: 0xe0000c54, 0x16db1: 0x402da220, 0x16db2: 0xf0000a0a, 0x16db3: 0xf0000404, + 0x16db4: 0xe0000c8a, 0x16db5: 0xe0000c87, 0x16db6: 0xe0000c9f, 0x16db7: 0xe0000c9c, + 0x16db8: 0x402f7220, 0x16db9: 0xe0000ccc, 0x16dba: 0xe0000cc9, 0x16dbb: 0xe0000cd8, + 0x16dbc: 0xe0000cd5, 0x16dbd: 0xe0000cd2, 0x16dbe: 0xe0000ccf, 0x16dbf: 0xe0000d04, + // Block 0x5b7, offset 0x16dc0 + 0x16dc0: 0xe0000cfe, 0x16dc1: 0xe0000cf8, 0x16dc2: 0xe0000cf5, 0x16dc3: 0xe0000d51, + 0x16dc4: 0xe0000d4e, 0x16dc5: 0xe0000d6f, 0x16dc6: 0xe0000d6c, 0x16dc7: 0xe0000d5d, + 0x16dc8: 0xe0000d5a, 0x16dc9: 0xf0000404, 0x16dca: 0x002eda88, 0x16dcb: 0x402eda20, + 0x16dcc: 0xe0000e2e, 0x16dcd: 0xe0000e2b, 0x16dce: 0xe0000da0, 0x16dcf: 0xe0000d9d, + 0x16dd0: 0xe0000de0, 0x16dd1: 0xe0000ddd, 0x16dd2: 0xe0000e93, 0x16dd3: 0xe0000e8f, + 0x16dd4: 0xe0000eca, 0x16dd5: 0xe0000ec7, 0x16dd6: 0xe0000edc, 0x16dd7: 0xe0000ed9, + 0x16dd8: 0xe0000ed0, 0x16dd9: 0xe0000ecd, 0x16dda: 0xe0000f1f, 0x16ddb: 0xe0000f1c, + 0x16ddc: 0xe0000f2d, 0x16ddd: 0xe0000f2a, 0x16dde: 0x002fe883, 0x16ddf: 0x402fe820, + 0x16de0: 0xe0000f33, 0x16de1: 0xe0000f30, 0x16de2: 0x00302e83, 0x16de3: 0x40302e20, + 0x16de4: 0xe0000f8a, 0x16de5: 0xe0000f87, 0x16de6: 0x00303688, 0x16de7: 0x40303620, + 0x16de8: 0xe000102b, 0x16de9: 0xe0001028, 0x16dea: 0xe000103f, 0x16deb: 0xe000103c, + 0x16dec: 0xe0000fe7, 0x16ded: 0xe0000fe4, 0x16dee: 0xe0000ff9, 0x16def: 0xe0000ff6, + 0x16df0: 0xe0001025, 0x16df1: 0xe0001022, 0x16df2: 0xe0001039, 0x16df3: 0xe0001036, + 0x16df4: 0xe00010d8, 0x16df5: 0xe00010d5, 0x16df6: 0xe000110e, 0x16df7: 0xe000110b, + 0x16df8: 0xe0001117, 0x16df9: 0xe000113b, 0x16dfa: 0xe0001138, 0x16dfb: 0xe000114d, + 0x16dfc: 0xe000114a, 0x16dfd: 0xe0001147, 0x16dfe: 0xe0001144, 0x16dff: 0xe0000f64, + // Block 0x5b8, offset 0x16e00 + 0x16e00: 0xe000098f, 0x16e01: 0xe000098c, 0x16e02: 0xe0000995, 0x16e03: 0xe0000992, + 0x16e04: 0xe0000b62, 0x16e05: 0xe0000b5f, 0x16e06: 0xe0000b68, 0x16e07: 0xe0000b65, + 0x16e08: 0xe0000c6c, 0x16e09: 0xe0000c69, 0x16e0a: 0xe0000c72, 0x16e0b: 0xe0000c6f, + 0x16e0c: 0xe0000e4a, 0x16e0d: 0xe0000e47, 0x16e0e: 0xe0000e50, 0x16e0f: 0xe0000e4d, + 0x16e10: 0xe0000ee8, 0x16e11: 0xe0000ee5, 0x16e12: 0xe0000eee, 0x16e13: 0xe0000eeb, + 0x16e14: 0xe0001053, 0x16e15: 0xe0001050, 0x16e16: 0xe0001059, 0x16e17: 0xe0001056, + 0x16e18: 0x002fe883, 0x16e19: 0x402fe820, 0x16e1a: 0x00302e83, 0x16e1b: 0x40302e20, + 0x16e1c: 0x00312288, 0x16e1d: 0x40312220, 0x16e1e: 0xe0000bf4, 0x16e1f: 0xe0000bf1, + 0x16e20: 0x002ebc88, 0x16e21: 0x402c8c20, 0x16e22: 0x002f2288, 0x16e23: 0x402f2220, + 0x16e24: 0x00314088, 0x16e25: 0x40314020, 0x16e26: 0xe000096f, 0x16e27: 0xe000096c, + 0x16e28: 0xe0000b32, 0x16e29: 0xe0000b2f, 0x16e2a: 0xe0000dd9, 0x16e2b: 0xe0000dd5, + 0x16e2c: 0xe0000dfd, 0x16e2d: 0xe0000df9, 0x16e2e: 0xe0000e04, 0x16e2f: 0xe0000e01, + 0x16e30: 0xe0000e0b, 0x16e31: 0xe0000e07, 0x16e32: 0xe0001129, 0x16e33: 0xe0001126, + 0x16e34: 0x402e5e20, 0x16e35: 0x402ed020, 0x16e36: 0x40305a20, 0x16e37: 0x402dd420, + 0x16e38: 0xe0000abf, 0x16e39: 0xe0000ec4, 0x16e3a: 0x002be888, 0x16e3b: 0x002c4488, + 0x16e3c: 0x402c4420, 0x16e3d: 0x002e3888, 0x16e3e: 0x00303e88, 0x16e3f: 0x402ffc20, + // Block 0x5b9, offset 0x16e40 + 0x16e40: 0xe00010d2, 0x16e41: 0xe00010cf, 0x16e42: 0xe00010cc, 0x16e43: 0xe00010c9, + 0x16e44: 0xe00010e1, 0x16e45: 0xe00010de, 0x16e46: 0xe00010e7, 0x16e47: 0xe00010e4, + 0x16e48: 0xe00010ed, 0x16e49: 0xe00010ea, 0x16e4a: 0xe00010fc, 0x16e4b: 0xe00010f9, + 0x16e4c: 0xe00010f6, 0x16e4d: 0xe00010f3, 0x16e4e: 0xe0001123, 0x16e4f: 0xe0001120, + 0x16e50: 0xe0001141, 0x16e51: 0xe000113e, 0x16e52: 0xe0001153, 0x16e53: 0xe0001150, + 0x16e54: 0xe0001159, 0x16e55: 0xe0001156, 0x16e56: 0xe0000c15, 0x16e57: 0xe0000f8d, + 0x16e58: 0xe00010db, 0x16e59: 0xe0001111, 0x16e5a: 0xf0000404, 0x16e5b: 0xe0000f70, + 0x16e5c: 0x40300420, 0x16e5d: 0x40300620, 0x16e5e: 0xe0000f7f, 0x16e5f: 0x402c9620, + 0x16e60: 0xe000099b, 0x16e61: 0xe0000998, 0x16e62: 0xe0000989, 0x16e63: 0xe0000986, + 0x16e64: 0xe0003934, 0x16e65: 0xe0003931, 0x16e66: 0xe000393a, 0x16e67: 0xe0003937, + 0x16e68: 0xe0003975, 0x16e69: 0xe0003972, 0x16e6a: 0xe0003960, 0x16e6b: 0xe000395d, + 0x16e6c: 0xe0003987, 0x16e6d: 0xe0003984, 0x16e6e: 0xe000388e, 0x16e6f: 0xe000388b, + 0x16e70: 0xe0003894, 0x16e71: 0xe0003891, 0x16e72: 0xe0003908, 0x16e73: 0xe0003905, + 0x16e74: 0xe00038d2, 0x16e75: 0xe00038cf, 0x16e76: 0xe000391a, 0x16e77: 0xe0003917, + 0x16e78: 0xe0000b6e, 0x16e79: 0xe0000b6b, 0x16e7a: 0xe0000b5c, 0x16e7b: 0xe0000b59, + 0x16e7c: 0xe0000b26, 0x16e7d: 0xe0000b23, 0x16e7e: 0xe0000afb, 0x16e7f: 0xe0000af7, + // Block 0x5ba, offset 0x16e80 + 0x16e80: 0xa0000000, 0x16e81: 0xa0000000, 0x16e82: 0xa0000000, 0x16e83: 0xa0000000, + 0x16e84: 0xa0000000, 0x16e85: 0xa0000000, 0x16e86: 0xa0000000, 0x16e87: 0xa0000000, + 0x16e88: 0xa0000000, 0x16e89: 0x40020020, 0x16e8a: 0x40020220, 0x16e8b: 0x40020420, + 0x16e8c: 0x40020620, 0x16e8d: 0x40020820, 0x16e8e: 0xa0000000, 0x16e8f: 0xa0000000, + 0x16e90: 0xa0000000, 0x16e91: 0xa0000000, 0x16e92: 0xa0000000, 0x16e93: 0xa0000000, + 0x16e94: 0xa0000000, 0x16e95: 0xa0000000, 0x16e96: 0xa0000000, 0x16e97: 0xa0000000, + 0x16e98: 0xa0000000, 0x16e99: 0xa0000000, 0x16e9a: 0xa0000000, 0x16e9b: 0xa0000000, + 0x16e9c: 0xa0000000, 0x16e9d: 0xa0000000, 0x16e9e: 0xa0000000, 0x16e9f: 0xa0000000, + 0x16ea0: 0x40021220, 0x16ea1: 0x4002ba20, 0x16ea2: 0x4003e020, 0x16ea3: 0x4004ea20, + 0x16ea4: 0x4027de20, 0x16ea5: 0x4004ec20, 0x16ea6: 0x4004e620, 0x16ea7: 0x4003d220, + 0x16ea8: 0x4003f420, 0x16ea9: 0x4003f620, 0x16eaa: 0x4004d820, 0x16eab: 0x40093820, + 0x16eac: 0x40024020, 0x16ead: 0x40021a20, 0x16eae: 0x4002e420, 0x16eaf: 0x4004e220, + 0x16eb0: 0x4029cc20, 0x16eb1: 0x4029ce20, 0x16eb2: 0x4029d020, 0x16eb3: 0x4029d220, + 0x16eb4: 0x4029d420, 0x16eb5: 0x4029d620, 0x16eb6: 0x4029d820, 0x16eb7: 0x4029da20, + 0x16eb8: 0x4029dc20, 0x16eb9: 0x4029de20, 0x16eba: 0x40026c20, 0x16ebb: 0x40026220, + 0x16ebc: 0x40094020, 0x16ebd: 0x40094220, 0x16ebe: 0x40094420, 0x16ebf: 0x4002c420, + // Block 0x5bb, offset 0x16ec0 + 0x16ec0: 0x4004d620, 0x16ec1: 0xcec29791, 0x16ec2: 0x002c0a88, 0x16ec3: 0xceca0991, + 0x16ec4: 0x002c6288, 0x16ec5: 0x002c9888, 0x16ec6: 0x002d0888, 0x16ec7: 0xced20991, + 0x16ec8: 0x002d6888, 0x16ec9: 0x002d9a88, 0x16eca: 0x002dcc88, 0x16ecb: 0xcb1f0991, + 0x16ecc: 0xc0030002, 0x16ecd: 0x002e8288, 0x16ece: 0xced797e1, 0x16ecf: 0xcee49811, + 0x16ed0: 0x002f2c88, 0x16ed1: 0x002f5688, 0x16ed2: 0x002f7a88, 0x16ed3: 0xcb330991, + 0x16ed4: 0x00302c88, 0x16ed5: 0xc3900b21, 0x16ed6: 0x0030be88, 0x16ed7: 0x0030e288, + 0x16ed8: 0x0030f688, 0x16ed9: 0x00310088, 0x16eda: 0xcedc0991, 0x16edb: 0x4003f820, + 0x16edc: 0x4004e420, 0x16edd: 0x4003fa20, 0x16ede: 0x40062420, 0x16edf: 0x40021620, + 0x16ee0: 0x40061e20, 0x16ee1: 0xcebc9791, 0x16ee2: 0x402c0a20, 0x16ee3: 0xcec80991, + 0x16ee4: 0x402c6220, 0x16ee5: 0x402c9820, 0x16ee6: 0x402d0820, 0x16ee7: 0xced00991, + 0x16ee8: 0x402d6820, 0x16ee9: 0x402d9a20, 0x16eea: 0x402dcc20, 0x16eeb: 0xcb1d0991, + 0x16eec: 0xc0000002, 0x16eed: 0x402e8220, 0x16eee: 0xced497e1, 0x16eef: 0xcede9811, + 0x16ef0: 0x402f2c20, 0x16ef1: 0x402f5620, 0x16ef2: 0x402f7a20, 0x16ef3: 0xcb310991, + 0x16ef4: 0x40302c20, 0x16ef5: 0xc38d0b21, 0x16ef6: 0x4030be20, 0x16ef7: 0x4030e220, + 0x16ef8: 0x4030f620, 0x16ef9: 0x40310020, 0x16efa: 0xceda0991, 0x16efb: 0x4003fc20, + 0x16efc: 0x40094820, 0x16efd: 0x4003fe20, 0x16efe: 0x40094c20, 0x16eff: 0xa0000000, + // Block 0x5bc, offset 0x16f00 + 0x16f00: 0xe00008f5, 0x16f01: 0x002c0883, 0x16f02: 0xe0000921, 0x16f03: 0x00320ea3, + 0x16f04: 0x00320e83, 0x16f05: 0x00320c83, 0x16f06: 0x00320a83, 0x16f07: 0xe0000a53, + 0x16f08: 0xe0000ae8, 0x16f09: 0xe0000ae2, 0x16f0a: 0xe0000af4, 0x16f0b: 0xe0000b20, + 0x16f0c: 0xe0000c2b, 0x16f0d: 0xe0000c25, 0x16f0e: 0xe0000c37, 0x16f0f: 0xe0000c43, + 0x16f10: 0x002c96a3, 0x16f11: 0x002ee0c3, 0x16f12: 0xe0000d9a, 0x16f13: 0xe0000d94, + 0x16f14: 0x003210e3, 0x16f15: 0x003210c3, 0x16f16: 0x00321083, 0x16f17: 0x40093e20, + 0x16f18: 0x00320883, 0x16f19: 0xe0000fe1, 0x16f1a: 0xe0000fdb, 0x16f1b: 0xe0000fed, + 0x16f1c: 0x003100a3, 0x16f1d: 0xe0001102, 0x16f1e: 0x00306aa3, 0x16f1f: 0xe0000f7b, + 0x16f20: 0xe00008f2, 0x16f21: 0x402c0820, 0x16f22: 0xe000091e, 0x16f23: 0x40320e21, + 0x16f24: 0x40320e20, 0x16f25: 0x40320c20, 0x16f26: 0x40320a20, 0x16f27: 0xe0000a4d, + 0x16f28: 0xe0000ae5, 0x16f29: 0xe0000adf, 0x16f2a: 0xe0000af1, 0x16f2b: 0xe0000b1d, + 0x16f2c: 0xe0000c28, 0x16f2d: 0xe0000c22, 0x16f2e: 0xe0000c34, 0x16f2f: 0xe0000c40, + 0x16f30: 0x402c9621, 0x16f31: 0x402ee022, 0x16f32: 0xe0000d97, 0x16f33: 0xe0000d91, + 0x16f34: 0x40321023, 0x16f35: 0x40321022, 0x16f36: 0x40321020, 0x16f37: 0x40093c20, + 0x16f38: 0x40320820, 0x16f39: 0xe0000fde, 0x16f3a: 0xe0000fd8, 0x16f3b: 0xe0000fea, + 0x16f3c: 0x40310021, 0x16f3d: 0xe00010ff, 0x16f3e: 0x40306a21, 0x16f3f: 0xe0001114, + // Block 0x5bd, offset 0x16f40 + 0x16f40: 0xe0000983, 0x16f41: 0xe0000980, 0x16f42: 0xe00008fb, 0x16f43: 0xe00008f8, + 0x16f44: 0xe000097d, 0x16f45: 0xe000097a, 0x16f46: 0xe0000a38, 0x16f47: 0xe0000a35, + 0x16f48: 0xe0000a3e, 0x16f49: 0xe0000a3b, 0x16f4a: 0xe0000a4a, 0x16f4b: 0xe0000a47, + 0x16f4c: 0x002c5c83, 0x16f4d: 0x402c5c20, 0x16f4e: 0xe0000a86, 0x16f4f: 0xe0000a83, + 0x16f50: 0x002c9683, 0x16f51: 0x402c9620, 0x16f52: 0xe0000b46, 0x16f53: 0xe0000b43, + 0x16f54: 0xe0000aee, 0x16f55: 0xe0000aeb, 0x16f56: 0xe0000b2c, 0x16f57: 0xe0000b29, + 0x16f58: 0xe0000b40, 0x16f59: 0xe0000b3d, 0x16f5a: 0xe0000b1a, 0x16f5b: 0xe0000b17, + 0x16f5c: 0xe0000bb8, 0x16f5d: 0xe0000bb5, 0x16f5e: 0xe0000bb2, 0x16f5f: 0xe0000baf, + 0x16f60: 0xe0000bc4, 0x16f61: 0xe0000bc1, 0x16f62: 0xe0000bca, 0x16f63: 0xe0000bc7, + 0x16f64: 0xe0000bee, 0x16f65: 0xe0000beb, 0x16f66: 0xe0000c1b, 0x16f67: 0xe0000c18, + 0x16f68: 0xe0000c51, 0x16f69: 0xe0000c4e, 0x16f6a: 0xe0000c60, 0x16f6b: 0xe0000c5d, + 0x16f6c: 0xe0000c31, 0x16f6d: 0xe0000c2e, 0x16f6e: 0xe0000c5a, 0x16f6f: 0xe0000c57, + 0x16f70: 0xe0000c54, 0x16f71: 0x402da220, 0x16f72: 0xf0000a0a, 0x16f73: 0xf0000404, + 0x16f74: 0xe0000c8a, 0x16f75: 0xe0000c87, 0x16f76: 0xe0000c9f, 0x16f77: 0xe0000c9c, + 0x16f78: 0x402f7220, 0x16f79: 0xe0000ccc, 0x16f7a: 0xe0000cc9, 0x16f7b: 0xe0000cd8, + 0x16f7c: 0xe0000cd5, 0x16f7d: 0xe0000cd2, 0x16f7e: 0xe0000ccf, 0x16f7f: 0xe0000d04, + // Block 0x5be, offset 0x16f80 + 0x16f80: 0xe0000cfe, 0x16f81: 0xe0000cf8, 0x16f82: 0xe0000cf5, 0x16f83: 0x002ee0a3, + 0x16f84: 0x402ee021, 0x16f85: 0xe0000d6f, 0x16f86: 0xe0000d6c, 0x16f87: 0xe0000d5d, + 0x16f88: 0xe0000d5a, 0x16f89: 0xf0000404, 0x16f8a: 0x002ee083, 0x16f8b: 0x402ee020, + 0x16f8c: 0xe0000e2e, 0x16f8d: 0xe0000e2b, 0x16f8e: 0xe0000da0, 0x16f8f: 0xe0000d9d, + 0x16f90: 0x003210a3, 0x16f91: 0x40321021, 0x16f92: 0x003208a3, 0x16f93: 0x40320821, + 0x16f94: 0xe0000eca, 0x16f95: 0xe0000ec7, 0x16f96: 0xe0000edc, 0x16f97: 0xe0000ed9, + 0x16f98: 0xe0000ed0, 0x16f99: 0xe0000ecd, 0x16f9a: 0xe0000f1f, 0x16f9b: 0xe0000f1c, + 0x16f9c: 0xe0000f2d, 0x16f9d: 0xe0000f2a, 0x16f9e: 0xe0000f47, 0x16f9f: 0xe0000f44, + 0x16fa0: 0x00302a83, 0x16fa1: 0x40302a20, 0x16fa2: 0xe0000f99, 0x16fa3: 0xe0000f96, + 0x16fa4: 0xe0000f8a, 0x16fa5: 0xe0000f87, 0x16fa6: 0x00306a83, 0x16fa7: 0x40306a20, + 0x16fa8: 0xe000102b, 0x16fa9: 0xe0001028, 0x16faa: 0xe000103f, 0x16fab: 0xe000103c, + 0x16fac: 0xe0000fe7, 0x16fad: 0xe0000fe4, 0x16fae: 0xe0000ff9, 0x16faf: 0xe0000ff6, + 0x16fb0: 0x003100c3, 0x16fb1: 0x40310022, 0x16fb2: 0xe0001039, 0x16fb3: 0xe0001036, + 0x16fb4: 0xe00010d8, 0x16fb5: 0xe00010d5, 0x16fb6: 0xe000110e, 0x16fb7: 0xe000110b, + 0x16fb8: 0xe0001117, 0x16fb9: 0xe000113b, 0x16fba: 0xe0001138, 0x16fbb: 0xe000114d, + 0x16fbc: 0xe000114a, 0x16fbd: 0x00320683, 0x16fbe: 0x40320620, 0x16fbf: 0xe0000f64, + // Block 0x5bf, offset 0x16fc0 + 0x16fc0: 0x402c1a20, 0x16fc1: 0x002c2a88, 0x16fc2: 0x002c3288, 0x16fc3: 0x402c3220, + 0x16fc4: 0x0031c488, 0x16fc5: 0x4031c420, 0x16fc6: 0x002efa88, 0x16fc7: 0x002c4e88, + 0x16fc8: 0x402c4e20, 0x16fc9: 0x002c7288, 0x16fca: 0x002c7a88, 0x16fcb: 0x002c8488, + 0x16fcc: 0x402c8420, 0x16fcd: 0xe000115c, 0x16fce: 0x002cae88, 0x16fcf: 0x002cb888, + 0x16fd0: 0x002cc288, 0x16fd1: 0x002d1688, 0x16fd2: 0x402d1620, 0x16fd3: 0x002d4488, + 0x16fd4: 0x002d5888, 0x16fd5: 0x402d7820, 0x16fd6: 0x002dc288, 0x16fd7: 0x002db688, + 0x16fd8: 0x002e0a88, 0x16fd9: 0x402e0a20, 0x16fda: 0x402e3820, 0x16fdb: 0x402e7220, + 0x16fdc: 0x0030a088, 0x16fdd: 0x002eb488, 0x16fde: 0x402ebc20, 0x16fdf: 0x002f1088, + 0x16fe0: 0xe0000e56, 0x16fe1: 0xe0000e53, 0x16fe2: 0x002d6088, 0x16fe3: 0x402d6020, + 0x16fe4: 0x002f3e88, 0x16fe5: 0x402f3e20, 0x16fe6: 0x002f8288, 0x16fe7: 0x0031b488, + 0x16fe8: 0x4031b420, 0x16fe9: 0x00300888, 0x16fea: 0x40301220, 0x16feb: 0x40304220, + 0x16fec: 0x00304a88, 0x16fed: 0x40304a20, 0x16fee: 0x00305288, 0x16fef: 0xe000105f, + 0x16ff0: 0xe000105c, 0x16ff1: 0x0030b488, 0x16ff2: 0x0030cc88, 0x16ff3: 0x00311888, + 0x16ff4: 0x40311820, 0x16ff5: 0x00313488, 0x16ff6: 0x40313420, 0x16ff7: 0xcece0991, + 0x16ff8: 0x00316e88, 0x16ff9: 0x40316e20, 0x16ffa: 0x40317820, 0x16ffb: 0x4031a620, + 0x16ffc: 0x0031bc88, 0x16ffd: 0x4031bc20, 0x16ffe: 0xe0000fc9, 0x16fff: 0x40319420, + // Block 0x5c0, offset 0x17000 + 0x17000: 0x40321220, 0x17001: 0x40321a20, 0x17002: 0x40322220, 0x17003: 0x40322a20, + 0x17004: 0xe0000ad5, 0x17005: 0xe0000ad1, 0x17006: 0xe0000acd, 0x17007: 0xf0000a0a, + 0x17008: 0xf000040a, 0x17009: 0xf0000404, 0x1700a: 0xf0000a0a, 0x1700b: 0xf000040a, + 0x1700c: 0xf0000404, 0x1700d: 0xe0000947, 0x1700e: 0xe0000944, 0x1700f: 0xe0000c3d, + 0x17010: 0xe0000c3a, 0x17011: 0xe0000dcc, 0x17012: 0xe0000dc9, 0x17013: 0xe0000ff3, + 0x17014: 0xe0000ff0, 0x17015: 0xe000298b, 0x17016: 0xe0002988, 0x17017: 0xe0002979, + 0x17018: 0xe0002976, 0x17019: 0xe0002985, 0x1701a: 0xe0002982, 0x1701b: 0xe000297f, + 0x1701c: 0xe000297c, 0x1701d: 0x402cae20, 0x1701e: 0xe00037e8, 0x1701f: 0xe00037e5, + 0x17020: 0xe000299d, 0x17021: 0xe000299a, 0x17022: 0xe000ad9e, 0x17023: 0xe000ad9b, + 0x17024: 0x002d6683, 0x17025: 0x402d6620, 0x17026: 0x002d6483, 0x17027: 0x402d6420, + 0x17028: 0x002e2083, 0x17029: 0x402e2020, 0x1702a: 0x00321103, 0x1702b: 0x40321024, + 0x1702c: 0xe000ade0, 0x1702d: 0xe000addd, 0x1702e: 0x002c6083, 0x1702f: 0x402c6020, + 0x17030: 0xe0000c8d, 0x17031: 0xf0000a0a, 0x17032: 0xf000040a, 0x17033: 0xf0000404, + 0x17034: 0xe0000bac, 0x17035: 0xe0000ba9, 0x17036: 0x002d7888, 0x17037: 0x00319488, + 0x17038: 0xe0000d57, 0x17039: 0xe0000d54, 0x1703a: 0xe0002991, 0x1703b: 0xe000298e, + 0x1703c: 0xe000ad98, 0x1703d: 0xe000ad95, 0x1703e: 0xe000ad92, 0x1703f: 0xe000ad8f, + // Block 0x5c1, offset 0x17040 + 0x17040: 0xe000098f, 0x17041: 0xe000098c, 0x17042: 0xe0000995, 0x17043: 0xe0000992, + 0x17044: 0xe0000b62, 0x17045: 0xe0000b5f, 0x17046: 0xe0000b68, 0x17047: 0xe0000b65, + 0x17048: 0xe0000c6c, 0x17049: 0xe0000c69, 0x1704a: 0xe0000c72, 0x1704b: 0xe0000c6f, + 0x1704c: 0xe0000e4a, 0x1704d: 0xe0000e47, 0x1704e: 0xe0000e50, 0x1704f: 0xe0000e4d, + 0x17050: 0xe0000ee8, 0x17051: 0xe0000ee5, 0x17052: 0xe0000eee, 0x17053: 0xe0000eeb, + 0x17054: 0xe0001053, 0x17055: 0xe0001050, 0x17056: 0xe0001059, 0x17057: 0xe0001056, + 0x17058: 0xe0000f61, 0x17059: 0xe0000f5e, 0x1705a: 0xe0000fa5, 0x1705b: 0xe0000fa2, + 0x1705c: 0x00312288, 0x1705d: 0x40312220, 0x1705e: 0xe0000bf4, 0x1705f: 0xe0000bf1, + 0x17060: 0x002ebc88, 0x17061: 0x402c8c20, 0x17062: 0x002f2288, 0x17063: 0x402f2220, + 0x17064: 0x00314088, 0x17065: 0x40314020, 0x17066: 0x00320ca3, 0x17067: 0x40320c21, + 0x17068: 0xe0000b32, 0x17069: 0xe0000b2f, 0x1706a: 0xe00037fa, 0x1706b: 0xe00037f7, + 0x1706c: 0xe000adbc, 0x1706d: 0xe000adb9, 0x1706e: 0xe0000e04, 0x1706f: 0xe0000e01, + 0x17070: 0xe0000e0b, 0x17071: 0xe0000e07, 0x17072: 0xe0001129, 0x17073: 0xe0001126, + 0x17074: 0x402e5e20, 0x17075: 0x402ed020, 0x17076: 0x40305a20, 0x17077: 0x402dd420, + 0x17078: 0xe0000abf, 0x17079: 0xe0000ec4, 0x1707a: 0x002be888, 0x1707b: 0x002c4488, + 0x1707c: 0x402c4420, 0x1707d: 0x002e3888, 0x1707e: 0x00303e88, 0x1707f: 0x402ffc20, + // Block 0x5c2, offset 0x17080 + 0x17080: 0x402f8220, 0x17081: 0x402fd820, 0x17082: 0x402ff420, 0x17083: 0x40300820, + 0x17084: 0x402df620, 0x17085: 0x40301a20, 0x17086: 0x40302420, 0x17087: 0x40306420, + 0x17088: 0x40305220, 0x17089: 0x40307c20, 0x1708a: 0x4030b420, 0x1708b: 0x4030cc20, + 0x1708c: 0x4030da20, 0x1708d: 0x4030ee20, 0x1708e: 0x402e7a20, 0x1708f: 0x40310820, + 0x17090: 0x40314820, 0x17091: 0x40315020, 0x17092: 0xcecc0991, 0x17093: 0x40318020, + 0x17094: 0x4031cc20, 0x17095: 0x4031e820, 0x17096: 0x40320a20, 0x17097: 0x40323220, + 0x17098: 0x40323a20, 0x17099: 0x402c1220, 0x1709a: 0x402cf820, 0x1709b: 0x402d4c20, + 0x1709c: 0x402d7020, 0x1709d: 0x402de620, 0x1709e: 0x402e1a20, 0x1709f: 0x402e2a20, + 0x170a0: 0x402f6220, 0x170a1: 0x4031fa20, 0x170a2: 0x40320220, 0x170a3: 0xe0000aca, + 0x170a4: 0xe0000adc, 0x170a5: 0xe0000ad9, 0x170a6: 0xe0000fcc, 0x170a7: 0xe0000fcf, + 0x170a8: 0xe0000fba, 0x170a9: 0xe0000ba1, 0x170aa: 0xe0000d11, 0x170ab: 0xe0000d18, + 0x170ac: 0x40324220, 0x170ad: 0x40324a20, 0x170ae: 0x40309020, 0x170af: 0x40309820, + 0x170b0: 0x002d6894, 0x170b1: 0x002d8094, 0x170b2: 0x002dcc94, 0x170b3: 0x002f7a94, + 0x170b4: 0x002f9894, 0x170b5: 0x002fac94, 0x170b6: 0x002fd894, 0x170b7: 0x0030e294, + 0x170b8: 0x00310094, 0x170b9: 0x40064020, 0x170ba: 0x40064420, 0x170bb: 0x402d9620, + 0x170bc: 0x4031de20, 0x170bd: 0x402d9820, 0x170be: 0x4031e220, 0x170bf: 0x4031f020, + // Block 0x5c3, offset 0x170c0 + 0x170c0: 0xe0000d24, 0x170c1: 0xe0000d21, 0x170c2: 0xe0000d2a, 0x170c3: 0xe0000d27, + 0x170c4: 0xe0000d69, 0x170c5: 0xe0000d66, 0x170c6: 0xe0000d7b, 0x170c7: 0xe0000d78, + 0x170c8: 0xe0000d87, 0x170c9: 0xe0000d84, 0x170ca: 0xe0000d81, 0x170cb: 0xe0000d7e, + 0x170cc: 0xe000adb0, 0x170cd: 0xe000adad, 0x170ce: 0xe000adb6, 0x170cf: 0xe000adb3, + 0x170d0: 0xe0000e3d, 0x170d1: 0xe0000e39, 0x170d2: 0xe0000e35, 0x170d3: 0xe0000e31, + 0x170d4: 0xe0000ea7, 0x170d5: 0xe0000ea4, 0x170d6: 0xe0000ead, 0x170d7: 0xe0000eaa, + 0x170d8: 0xe0000ed6, 0x170d9: 0xe0000ed3, 0x170da: 0xe0000ef4, 0x170db: 0xe0000ef1, + 0x170dc: 0xe0000efb, 0x170dd: 0xe0000ef7, 0x170de: 0xe0000f02, 0x170df: 0xe0000eff, + 0x170e0: 0xe0000f41, 0x170e1: 0xe0000f3e, 0x170e2: 0xe0000f53, 0x170e3: 0xe0000f50, + 0x170e4: 0xe0000f26, 0x170e5: 0xe0000f22, 0x170e6: 0xe000a9d9, 0x170e7: 0xe000a9d6, + 0x170e8: 0xe0000f5a, 0x170e9: 0xe0000f56, 0x170ea: 0xe0000f93, 0x170eb: 0xe0000f90, + 0x170ec: 0xe0000f9f, 0x170ed: 0xe0000f9c, 0x170ee: 0xe0000fb1, 0x170ef: 0xe0000fae, + 0x170f0: 0xe0000fab, 0x170f1: 0xe0000fa8, 0x170f2: 0xe0001093, 0x170f3: 0xe0001090, + 0x170f4: 0xe000109f, 0x170f5: 0xe000109c, 0x170f6: 0xe0001099, 0x170f7: 0xe0001096, + 0x170f8: 0xe0001032, 0x170f9: 0xe000102e, 0x170fa: 0xe000298b, 0x170fb: 0xe0002988, + 0x170fc: 0xe00010a9, 0x170fd: 0xe00010a6, 0x170fe: 0xe00010af, 0x170ff: 0xe00010ac, + // Block 0x5c4, offset 0x17100 + 0x17100: 0xe00010d2, 0x17101: 0xe00010cf, 0x17102: 0xe00010cc, 0x17103: 0xe00010c9, + 0x17104: 0xe00010e1, 0x17105: 0xe00010de, 0x17106: 0xe00010e7, 0x17107: 0xe00010e4, + 0x17108: 0xe00010ed, 0x17109: 0xe00010ea, 0x1710a: 0xe00010fc, 0x1710b: 0xe00010f9, + 0x1710c: 0xe00010f6, 0x1710d: 0xe00010f3, 0x1710e: 0xe0001123, 0x1710f: 0xe0001120, + 0x17110: 0xe0001141, 0x17111: 0xe000113e, 0x17112: 0xe0001153, 0x17113: 0xe0001150, + 0x17114: 0xe0001159, 0x17115: 0xe0001156, 0x17116: 0xe0000c15, 0x17117: 0xe0000f8d, + 0x17118: 0xe00010db, 0x17119: 0xe0001111, 0x1711a: 0xf0000404, 0x1711b: 0xe0000f70, + 0x1711c: 0x40300420, 0x1711d: 0x40300620, 0x1711e: 0xe0000f7f, 0x1711f: 0x402c9620, + 0x17120: 0xe000099b, 0x17121: 0xe0000998, 0x17122: 0xe0000989, 0x17123: 0xe0000986, + 0x17124: 0xe0003cae, 0x17125: 0xe0003cab, 0x17126: 0xe0000930, 0x17127: 0xe000092c, + 0x17128: 0xe0000940, 0x17129: 0xe000093c, 0x1712a: 0xe000adaa, 0x1712b: 0xe000ada7, + 0x1712c: 0xe00009aa, 0x1712d: 0xe00009a6, 0x1712e: 0xe0003ca8, 0x1712f: 0xe0003ca5, + 0x17130: 0xe000090a, 0x17131: 0xe0000906, 0x17132: 0xe000091a, 0x17133: 0xe0000916, + 0x17134: 0xe000ada4, 0x17135: 0xe000ada1, 0x17136: 0xe00009a2, 0x17137: 0xe000099e, + 0x17138: 0xe0000b6e, 0x17139: 0xe0000b6b, 0x1713a: 0xe0000b5c, 0x1713b: 0xe0000b59, + 0x1713c: 0xe0000b26, 0x1713d: 0xe0000b23, 0x1713e: 0xe0000afb, 0x1713f: 0xe0000af7, + // Block 0x5c5, offset 0x17140 + 0x17140: 0xe0000b03, 0x17141: 0xe0000aff, 0x17142: 0xe0000b13, 0x17143: 0xe0000b0f, + 0x17144: 0xe0000b0b, 0x17145: 0xe0000b07, 0x17146: 0xe0000b75, 0x17147: 0xe0000b71, + 0x17148: 0xe0000c66, 0x17149: 0xe0000c63, 0x1714a: 0xe0000c78, 0x1714b: 0xe0000c75, + 0x1714c: 0xe0000e84, 0x1714d: 0xe0000e81, 0x1714e: 0xe0000e44, 0x1714f: 0xe0000e41, + 0x17150: 0xe000380c, 0x17151: 0xe0003809, 0x17152: 0xe000adc8, 0x17153: 0xe000adc5, + 0x17154: 0xe000add4, 0x17155: 0xe000add1, 0x17156: 0xe000adce, 0x17157: 0xe000adcb, + 0x17158: 0xe000adda, 0x17159: 0xe000add7, 0x1715a: 0xe0000e5d, 0x1715b: 0xe0000e59, + 0x1715c: 0xe0000e65, 0x1715d: 0xe0000e61, 0x1715e: 0xe0000e75, 0x1715f: 0xe0000e71, + 0x17160: 0xe000adc2, 0x17161: 0xe000adbf, 0x17162: 0xe0000e7d, 0x17163: 0xe0000e79, + 0x17164: 0xe000108d, 0x17165: 0xe000108a, 0x17166: 0xe000104d, 0x17167: 0xe000104a, + 0x17168: 0xe0001066, 0x17169: 0xe0001062, 0x1716a: 0xe000106e, 0x1716b: 0xe000106a, + 0x1716c: 0xe000107e, 0x1716d: 0xe000107a, 0x1716e: 0xe0001076, 0x1716f: 0xe0001072, + 0x17170: 0xe0001086, 0x17171: 0xe0001082, 0x17172: 0xe0001108, 0x17173: 0xe0001105, + 0x17174: 0xe0001135, 0x17175: 0xe0001132, 0x17176: 0xe000112f, 0x17177: 0xe000112c, + 0x17178: 0xe000111d, 0x17179: 0xe000111a, 0x1717a: 0xe0000d0a, 0x1717b: 0xe0000d07, + 0x1717c: 0x0030d888, 0x1717d: 0x4030d820, 0x1717e: 0x00312088, 0x1717f: 0x40312020, + // Block 0x5c6, offset 0x17180 + 0x17182: 0x4044b620, 0x17183: 0x4044b820, + 0x17185: 0x40449220, 0x17186: 0x40449420, 0x17187: 0x40449620, + 0x17188: 0x40449820, 0x17189: 0x40449a20, 0x1718a: 0x40449c20, 0x1718b: 0x40449e20, + 0x1718c: 0x4044a020, 0x1718d: 0x4044a220, 0x1718e: 0x4044a420, 0x1718f: 0x4044a620, + 0x17190: 0x4044a820, 0x17191: 0x4044aa20, 0x17192: 0x4044ac20, 0x17193: 0x4044ae20, + 0x17194: 0x4044b020, 0x17195: 0x4044b220, 0x17196: 0x4044b420, + 0x1719a: 0x4044b620, 0x1719b: 0x4044b820, + 0x1719c: 0x4044ba20, 0x1719d: 0x4044bc20, 0x1719e: 0x4044be20, 0x1719f: 0x4044c020, + 0x171a0: 0x4044c220, 0x171a1: 0x4044c420, 0x171a2: 0x4044c620, 0x171a3: 0x4044c820, + 0x171a4: 0x4044ce20, 0x171a5: 0x4044cc20, 0x171a6: 0x4044ce20, 0x171a7: 0x4044d020, + 0x171a8: 0x4044d220, 0x171a9: 0x4044d420, 0x171aa: 0x4044d620, 0x171ab: 0x4044d820, + 0x171ac: 0x4044da20, 0x171ad: 0x4044dc20, 0x171ae: 0x4044de20, 0x171af: 0x4044e020, + 0x171b0: 0x4044e220, 0x171b1: 0x4044e420, 0x171b3: 0x4044e620, + 0x171b4: 0x4044e820, 0x171b5: 0x4044ea20, 0x171b6: 0x4044ec20, 0x171b7: 0x4044ee20, + 0x171b8: 0x4044f020, 0x171b9: 0x4044f220, 0x171ba: 0x4044f420, 0x171bb: 0x4044f620, + 0x171bd: 0x4044f820, + // Block 0x5c7, offset 0x171c0 + 0x171c0: 0xa0000000, 0x171c1: 0xa0000000, 0x171c2: 0xa0000000, 0x171c3: 0xa0000000, + 0x171c4: 0xa0000000, 0x171c5: 0xa0000000, 0x171c6: 0xa0000000, 0x171c7: 0xa0000000, + 0x171c8: 0xa0000000, 0x171c9: 0x40020020, 0x171ca: 0x40020220, 0x171cb: 0x40020420, + 0x171cc: 0x40020620, 0x171cd: 0x40020820, 0x171ce: 0xa0000000, 0x171cf: 0xa0000000, + 0x171d0: 0xa0000000, 0x171d1: 0xa0000000, 0x171d2: 0xa0000000, 0x171d3: 0xa0000000, + 0x171d4: 0xa0000000, 0x171d5: 0xa0000000, 0x171d6: 0xa0000000, 0x171d7: 0xa0000000, + 0x171d8: 0xa0000000, 0x171d9: 0xa0000000, 0x171da: 0xa0000000, 0x171db: 0xa0000000, + 0x171dc: 0xa0000000, 0x171dd: 0xa0000000, 0x171de: 0xa0000000, 0x171df: 0xa0000000, + 0x171e0: 0x40021220, 0x171e1: 0x4002ba20, 0x171e2: 0x4003e020, 0x171e3: 0x4004ea20, + 0x171e4: 0x4027de20, 0x171e5: 0x4004ec20, 0x171e6: 0x4004e620, 0x171e7: 0x4003d220, + 0x171e8: 0x4003f420, 0x171e9: 0x4003f620, 0x171ea: 0x4004d820, 0x171eb: 0x40093820, + 0x171ec: 0x40024020, 0x171ed: 0x40021a20, 0x171ee: 0x4002e420, 0x171ef: 0x4004e220, + 0x171f0: 0x4029cc20, 0x171f1: 0x4029ce20, 0x171f2: 0x4029d020, 0x171f3: 0x4029d220, + 0x171f4: 0x4029d420, 0x171f5: 0x4029d620, 0x171f6: 0x4029d820, 0x171f7: 0x4029da20, + 0x171f8: 0x4029dc20, 0x171f9: 0x4029de20, 0x171fa: 0x40026c20, 0x171fb: 0x40026220, + 0x171fc: 0x40094020, 0x171fd: 0x40094220, 0x171fe: 0x40094420, 0x171ff: 0x4002c420, + // Block 0x5c8, offset 0x17200 + 0x17200: 0x4004d620, 0x17201: 0xce900071, 0x17202: 0x002c0a88, 0x17203: 0xc3590953, + 0x17204: 0x002c6288, 0x17205: 0x002c9888, 0x17206: 0x002d0888, 0x17207: 0x002d2288, + 0x17208: 0x002d6888, 0x17209: 0x002d9a88, 0x1720a: 0x002dcc88, 0x1720b: 0x002dfe88, + 0x1720c: 0xc0030002, 0x1720d: 0x002e8288, 0x1720e: 0x002e9e88, 0x1720f: 0xc33f2741, + 0x17210: 0x002f2c88, 0x17211: 0x002f5688, 0x17212: 0xc35f0991, 0x17213: 0xc3430991, + 0x17214: 0x00302c88, 0x17215: 0x00306c88, 0x17216: 0x0030be88, 0x17217: 0x0030e288, + 0x17218: 0x0030f688, 0x17219: 0x00310088, 0x1721a: 0xc3630991, 0x1721b: 0x4003f820, + 0x1721c: 0x4004e420, 0x1721d: 0x4003fa20, 0x1721e: 0x40062420, 0x1721f: 0x40021620, + 0x17220: 0x40061e20, 0x17221: 0xce8e0071, 0x17222: 0x402c0a20, 0x17223: 0xc3550953, + 0x17224: 0x402c6220, 0x17225: 0x402c9820, 0x17226: 0x402d0820, 0x17227: 0x402d2220, + 0x17228: 0x402d6820, 0x17229: 0x402d9a20, 0x1722a: 0x402dcc20, 0x1722b: 0x402dfe20, + 0x1722c: 0xc0000002, 0x1722d: 0x402e8220, 0x1722e: 0x402e9e20, 0x1722f: 0xc33d2741, + 0x17230: 0x402f2c20, 0x17231: 0x402f5620, 0x17232: 0xc35d0991, 0x17233: 0xc3410991, + 0x17234: 0x40302c20, 0x17235: 0x40306c20, 0x17236: 0x4030be20, 0x17237: 0x4030e220, + 0x17238: 0x4030f620, 0x17239: 0x40310020, 0x1723a: 0xc3610991, 0x1723b: 0x4003fc20, + 0x1723c: 0x40094820, 0x1723d: 0x4003fe20, 0x1723e: 0x40094c20, 0x1723f: 0xa0000000, + // Block 0x5c9, offset 0x17240 + 0x17240: 0xe00008f5, 0x17241: 0xe00008ef, 0x17242: 0xe0000921, 0x17243: 0xe0000969, + 0x17244: 0x002be083, 0x17245: 0xe000094d, 0x17246: 0xe00009dd, 0x17247: 0xe0000a53, + 0x17248: 0xe0000ae8, 0x17249: 0xe0000ae2, 0x1724a: 0xe0000af4, 0x1724b: 0xe0000b20, + 0x1724c: 0xe0000c2b, 0x1724d: 0xe0000c25, 0x1724e: 0xe0000c37, 0x1724f: 0xe0000c43, + 0x17250: 0xe0000ab3, 0x17251: 0xe0000d63, 0x17252: 0xe0000d9a, 0x17253: 0xe0000d94, + 0x17254: 0x002ee483, 0x17255: 0xe0000de6, 0x17256: 0xe0000dd2, 0x17257: 0x40093e20, + 0x17258: 0xe0000e12, 0x17259: 0xe0000fe1, 0x1725a: 0xe0000fdb, 0x1725b: 0xe0000fed, + 0x1725c: 0xe0000fff, 0x1725d: 0xe0001102, 0x1725e: 0x00318888, 0x1725f: 0xe0000f7b, + 0x17260: 0xe00008f2, 0x17261: 0xe00008ec, 0x17262: 0xe000091e, 0x17263: 0xe0000966, + 0x17264: 0x402be020, 0x17265: 0xe000094a, 0x17266: 0xe00009d5, 0x17267: 0xe0000a4d, + 0x17268: 0xe0000ae5, 0x17269: 0xe0000adf, 0x1726a: 0xe0000af1, 0x1726b: 0xe0000b1d, + 0x1726c: 0xe0000c28, 0x1726d: 0xe0000c22, 0x1726e: 0xe0000c34, 0x1726f: 0xe0000c40, + 0x17270: 0xe0000aad, 0x17271: 0xe0000d60, 0x17272: 0xe0000d97, 0x17273: 0xe0000d91, + 0x17274: 0x402ee420, 0x17275: 0xe0000de3, 0x17276: 0xe0000dcf, 0x17277: 0x40093c20, + 0x17278: 0xe0000e0f, 0x17279: 0xe0000fde, 0x1727a: 0xe0000fd8, 0x1727b: 0xe0000fea, + 0x1727c: 0xe0000ffc, 0x1727d: 0xe00010ff, 0x1727e: 0x40318820, 0x1727f: 0xe0001114, + // Block 0x5ca, offset 0x17280 + 0x17280: 0x40321220, 0x17281: 0x40321a20, 0x17282: 0x40322220, 0x17283: 0x40322a20, + 0x17284: 0xe0000ad5, 0x17285: 0xe0000ad1, 0x17286: 0xe0000acd, 0x17287: 0xf0000a0a, + 0x17288: 0xf000040a, 0x17289: 0xf0000404, 0x1728a: 0xf0000a0a, 0x1728b: 0xf000040a, + 0x1728c: 0xf0000404, 0x1728d: 0xe0000947, 0x1728e: 0xe0000944, 0x1728f: 0xe0000c3d, + 0x17290: 0xe0000c3a, 0x17291: 0xe0000dcc, 0x17292: 0xe0000dc9, 0x17293: 0xe0000ff3, + 0x17294: 0xe0000ff0, 0x17295: 0xe000101e, 0x17296: 0xe000101a, 0x17297: 0xe0001006, + 0x17298: 0xe0001002, 0x17299: 0xe0001016, 0x1729a: 0xe0001012, 0x1729b: 0xe000100e, + 0x1729c: 0xe000100a, 0x1729d: 0x402cae20, 0x1729e: 0xe00038f2, 0x1729f: 0xe00038ef, + 0x172a0: 0xe0000976, 0x172a1: 0xe0000972, 0x172a2: 0xe00009f4, 0x172a3: 0xe00009ef, + 0x172a4: 0x002d3a88, 0x172a5: 0x402d3a20, 0x172a6: 0xe0000bbe, 0x172a7: 0xe0000bbb, + 0x172a8: 0xe0000c99, 0x172a9: 0xe0000c96, 0x172aa: 0xe0000e20, 0x172ab: 0xe0000e1d, + 0x172ac: 0xe0000e27, 0x172ad: 0xe0000e23, 0x172ae: 0xe0001162, 0x172af: 0xe000115f, + 0x172b0: 0xe0000c8d, 0x172b1: 0xf0000a0a, 0x172b2: 0xf000040a, 0x172b3: 0xf0000404, + 0x172b4: 0xe0000bac, 0x172b5: 0xe0000ba9, 0x172b6: 0x002d7888, 0x172b7: 0x00319488, + 0x172b8: 0xe0000d57, 0x172b9: 0xe0000d54, 0x172ba: 0xe0000954, 0x172bb: 0xe0000950, + 0x172bc: 0xe00009ea, 0x172bd: 0xe00009e5, 0x172be: 0xe0000e19, 0x172bf: 0xe0000e15, + // Block 0x5cb, offset 0x172c0 + 0x172c0: 0xe0000b03, 0x172c1: 0xe0000aff, 0x172c2: 0xe0000b13, 0x172c3: 0xe0000b0f, + 0x172c4: 0xe0000b0b, 0x172c5: 0xe0000b07, 0x172c6: 0xe0000b75, 0x172c7: 0xe0000b71, + 0x172c8: 0xe0000c66, 0x172c9: 0xe0000c63, 0x172ca: 0xe0000c78, 0x172cb: 0xe0000c75, + 0x172cc: 0xe0000e84, 0x172cd: 0xe0000e81, 0x172ce: 0xe0000e44, 0x172cf: 0xe0000e41, + 0x172d0: 0xe000ad5f, 0x172d1: 0xe000ad5c, 0x172d2: 0xe000ad65, 0x172d3: 0xe000ad62, + 0x172d4: 0xe000ad6b, 0x172d5: 0xe000ad68, 0x172d6: 0xe0002946, 0x172d7: 0xe0002943, + 0x172d8: 0xe000ad71, 0x172d9: 0xe000ad6e, 0x172da: 0xe0000e5d, 0x172db: 0xe0000e59, + 0x172dc: 0xe0000e65, 0x172dd: 0xe0000e61, 0x172de: 0xe0000e75, 0x172df: 0xe0000e71, + 0x172e0: 0xe0000e6d, 0x172e1: 0xe0000e69, 0x172e2: 0xe0000e7d, 0x172e3: 0xe0000e79, + 0x172e4: 0xe000108d, 0x172e5: 0xe000108a, 0x172e6: 0xe000104d, 0x172e7: 0xe000104a, + 0x172e8: 0xe0001066, 0x172e9: 0xe0001062, 0x172ea: 0xe000106e, 0x172eb: 0xe000106a, + 0x172ec: 0xe000107e, 0x172ed: 0xe000107a, 0x172ee: 0xe0001076, 0x172ef: 0xe0001072, + 0x172f0: 0xe0001086, 0x172f1: 0xe0001082, 0x172f2: 0xe0001108, 0x172f3: 0xe0001105, + 0x172f4: 0xe0001135, 0x172f5: 0xe0001132, 0x172f6: 0xe000112f, 0x172f7: 0xe000112c, + 0x172f8: 0xe000111d, 0x172f9: 0xe000111a, 0x172fa: 0xe0000d0a, 0x172fb: 0xe0000d07, + 0x172fc: 0x0030d888, 0x172fd: 0x4030d820, 0x172fe: 0x00312088, 0x172ff: 0x40312020, + // Block 0x5cc, offset 0x17300 + 0x17300: 0xa0000000, 0x17301: 0xa0000000, 0x17302: 0xa0000000, 0x17303: 0xa0000000, + 0x17304: 0xa0000000, 0x17305: 0xa0000000, 0x17306: 0xa0000000, 0x17307: 0xa0000000, + 0x17308: 0xa0000000, 0x17309: 0x40020020, 0x1730a: 0x40020220, 0x1730b: 0x40020420, + 0x1730c: 0x40020620, 0x1730d: 0x40020820, 0x1730e: 0xa0000000, 0x1730f: 0xa0000000, + 0x17310: 0xa0000000, 0x17311: 0xa0000000, 0x17312: 0xa0000000, 0x17313: 0xa0000000, + 0x17314: 0xa0000000, 0x17315: 0xa0000000, 0x17316: 0xa0000000, 0x17317: 0xa0000000, + 0x17318: 0xa0000000, 0x17319: 0xa0000000, 0x1731a: 0xa0000000, 0x1731b: 0xa0000000, + 0x1731c: 0xa0000000, 0x1731d: 0xa0000000, 0x1731e: 0xa0000000, 0x1731f: 0xa0000000, + 0x17320: 0x40021220, 0x17321: 0x4002ba20, 0x17322: 0x4003e020, 0x17323: 0x4004ea20, + 0x17324: 0x4027de20, 0x17325: 0x4004ec20, 0x17326: 0x4004e620, 0x17327: 0x4003d220, + 0x17328: 0x4003f420, 0x17329: 0x4003f620, 0x1732a: 0x4004d820, 0x1732b: 0x40093820, + 0x1732c: 0x40024020, 0x1732d: 0x40021a20, 0x1732e: 0x4002e420, 0x1732f: 0x4004e220, + 0x17330: 0x4029cc20, 0x17331: 0x4029ce20, 0x17332: 0x4029d020, 0x17333: 0x4029d220, + 0x17334: 0x4029d420, 0x17335: 0x4029d620, 0x17336: 0x4029d820, 0x17337: 0x4029da20, + 0x17338: 0x4029dc20, 0x17339: 0x4029de20, 0x1733a: 0x40026c20, 0x1733b: 0x40026220, + 0x1733c: 0x40094020, 0x1733d: 0x40094220, 0x1733e: 0x40094420, 0x1733f: 0x4002c420, + // Block 0x5cd, offset 0x17340 + 0x17340: 0x4004d620, 0x17341: 0x002bde88, 0x17342: 0x002c0a88, 0x17343: 0xc59b2891, + 0x17344: 0x002c6288, 0x17345: 0x002c9888, 0x17346: 0x002d0888, 0x17347: 0x002d2288, + 0x17348: 0x002d6888, 0x17349: 0x002d9a88, 0x1734a: 0x002dcc88, 0x1734b: 0x002dfe88, + 0x1734c: 0xc0030002, 0x1734d: 0x002e8288, 0x1734e: 0x002e9e88, 0x1734f: 0x002ee288, + 0x17350: 0x002f2c88, 0x17351: 0x002f5688, 0x17352: 0x002f7a88, 0x17353: 0xc3430991, + 0x17354: 0x00302c88, 0x17355: 0x00306c88, 0x17356: 0x0030be88, 0x17357: 0x0030e288, + 0x17358: 0x0030f688, 0x17359: 0x00310088, 0x1735a: 0xc3630991, 0x1735b: 0x4003f820, + 0x1735c: 0x4004e420, 0x1735d: 0x4003fa20, 0x1735e: 0x40062420, 0x1735f: 0x40021620, + 0x17360: 0x40061e20, 0x17361: 0x402bde20, 0x17362: 0x402c0a20, 0x17363: 0xc5982891, + 0x17364: 0x402c6220, 0x17365: 0x402c9820, 0x17366: 0x402d0820, 0x17367: 0x402d2220, + 0x17368: 0x402d6820, 0x17369: 0x402d9a20, 0x1736a: 0x402dcc20, 0x1736b: 0x402dfe20, + 0x1736c: 0xc0000002, 0x1736d: 0x402e8220, 0x1736e: 0x402e9e20, 0x1736f: 0x402ee220, + 0x17370: 0x402f2c20, 0x17371: 0x402f5620, 0x17372: 0x402f7a20, 0x17373: 0xc3410991, + 0x17374: 0x40302c20, 0x17375: 0x40306c20, 0x17376: 0x4030be20, 0x17377: 0x4030e220, + 0x17378: 0x4030f620, 0x17379: 0x40310020, 0x1737a: 0xc3610991, 0x1737b: 0x4003fc20, + 0x1737c: 0x40094820, 0x1737d: 0x4003fe20, 0x1737e: 0x40094c20, 0x1737f: 0xa0000000, + // Block 0x5ce, offset 0x17380 + 0x17380: 0xe0000983, 0x17381: 0xe0000980, 0x17382: 0xe00008fb, 0x17383: 0xe00008f8, + 0x17384: 0xe000097d, 0x17385: 0xe000097a, 0x17386: 0x002c3e83, 0x17387: 0x402c3e20, + 0x17388: 0xe0000a3e, 0x17389: 0xe0000a3b, 0x1738a: 0xe0000a4a, 0x1738b: 0xe0000a47, + 0x1738c: 0x002c3c83, 0x1738d: 0x402c3c20, 0x1738e: 0xe0000a86, 0x1738f: 0xe0000a83, + 0x17390: 0x002c6483, 0x17391: 0x402c6420, 0x17392: 0xe0000b46, 0x17393: 0xe0000b43, + 0x17394: 0xe0000aee, 0x17395: 0xe0000aeb, 0x17396: 0xe0000b2c, 0x17397: 0xe0000b29, + 0x17398: 0xe0000b40, 0x17399: 0xe0000b3d, 0x1739a: 0xe0000b1a, 0x1739b: 0xe0000b17, + 0x1739c: 0xe0000bb8, 0x1739d: 0xe0000bb5, 0x1739e: 0xe0000bb2, 0x1739f: 0xe0000baf, + 0x173a0: 0xe0000bc4, 0x173a1: 0xe0000bc1, 0x173a2: 0xe0000bca, 0x173a3: 0xe0000bc7, + 0x173a4: 0xe0000bee, 0x173a5: 0xe0000beb, 0x173a6: 0xe0000c1b, 0x173a7: 0xe0000c18, + 0x173a8: 0xe0000c51, 0x173a9: 0xe0000c4e, 0x173aa: 0xe0000c60, 0x173ab: 0xe0000c5d, + 0x173ac: 0xe0000c31, 0x173ad: 0xe0000c2e, 0x173ae: 0xe0000c5a, 0x173af: 0xe0000c57, + 0x173b0: 0xe0000c54, 0x173b1: 0x402da220, 0x173b2: 0xf0000a0a, 0x173b3: 0xf0000404, + 0x173b4: 0xe0000c8a, 0x173b5: 0xe0000c87, 0x173b6: 0xe0000c9f, 0x173b7: 0xe0000c9c, + 0x173b8: 0x402f7220, 0x173b9: 0xe0000ccc, 0x173ba: 0xe0000cc9, 0x173bb: 0xe0000cd8, + 0x173bc: 0xe0000cd5, 0x173bd: 0xe0000cd2, 0x173be: 0xe0000ccf, 0x173bf: 0xe0000d04, + // Block 0x5cf, offset 0x173c0 + 0x173c0: 0xa0000000, 0x173c1: 0xa0000000, 0x173c2: 0xa0000000, 0x173c3: 0xa0000000, + 0x173c4: 0xa0000000, 0x173c5: 0xa0000000, 0x173c6: 0xa0000000, 0x173c7: 0xa0000000, + 0x173c8: 0xa0000000, 0x173c9: 0x40020020, 0x173ca: 0x40020220, 0x173cb: 0x40020420, + 0x173cc: 0x40020620, 0x173cd: 0x40020820, 0x173ce: 0xa0000000, 0x173cf: 0xa0000000, + 0x173d0: 0xa0000000, 0x173d1: 0xa0000000, 0x173d2: 0xa0000000, 0x173d3: 0xa0000000, + 0x173d4: 0xa0000000, 0x173d5: 0xa0000000, 0x173d6: 0xa0000000, 0x173d7: 0xa0000000, + 0x173d8: 0xa0000000, 0x173d9: 0xa0000000, 0x173da: 0xa0000000, 0x173db: 0xa0000000, + 0x173dc: 0xa0000000, 0x173dd: 0xa0000000, 0x173de: 0xa0000000, 0x173df: 0xa0000000, + 0x173e0: 0x40021220, 0x173e1: 0x4002ba20, 0x173e2: 0x4003e020, 0x173e3: 0x4004ea20, + 0x173e4: 0x4027de20, 0x173e5: 0x4004ec20, 0x173e6: 0x4004e620, 0x173e7: 0x4003d220, + 0x173e8: 0x4003f420, 0x173e9: 0x4003f620, 0x173ea: 0x4004d820, 0x173eb: 0x40093820, + 0x173ec: 0x40024020, 0x173ed: 0x40021a20, 0x173ee: 0x4002e420, 0x173ef: 0x4004e220, + 0x173f0: 0x4029cc20, 0x173f1: 0x4029ce20, 0x173f2: 0x4029d020, 0x173f3: 0x4029d220, + 0x173f4: 0x4029d420, 0x173f5: 0x4029d620, 0x173f6: 0x4029d820, 0x173f7: 0x4029da20, + 0x173f8: 0x4029dc20, 0x173f9: 0x4029de20, 0x173fa: 0x40026c20, 0x173fb: 0x40026220, + 0x173fc: 0x40094020, 0x173fd: 0x40094220, 0x173fe: 0x40094420, 0x173ff: 0x4002c420, + // Block 0x5d0, offset 0x17400 + 0x17400: 0x4004d620, 0x17401: 0x002bde88, 0x17402: 0x002c0a88, 0x17403: 0xcb170911, + 0x17404: 0xceec09c2, 0x17405: 0xc6360071, 0x17406: 0x002d0888, 0x17407: 0xceef2a52, + 0x17408: 0x002d6888, 0x17409: 0x002d9a88, 0x1740a: 0x002dcc88, 0x1740b: 0x002dfe88, + 0x1740c: 0xcef60ac4, 0x1740d: 0x002e8288, 0x1740e: 0xcefb2a52, 0x1740f: 0x002ee288, + 0x17410: 0x002f2c88, 0x17411: 0x002f5688, 0x17412: 0xcefe9872, 0x17413: 0xcf0109c2, + 0x17414: 0xcf0609c2, 0x17415: 0x00306c88, 0x17416: 0x0030be88, 0x17417: 0x0030e288, + 0x17418: 0xcf0b09c2, 0x17419: 0x00310088, 0x1741a: 0xcf0e09c2, 0x1741b: 0x4003f820, + 0x1741c: 0x4004e420, 0x1741d: 0x4003fa20, 0x1741e: 0x40062420, 0x1741f: 0x40021620, + 0x17420: 0x40061e20, 0x17421: 0x402bde20, 0x17422: 0x402c0a20, 0x17423: 0xcb150911, + 0x17424: 0xceea09b1, 0x17425: 0xc6340071, 0x17426: 0x402d0820, 0x17427: 0xcb192a41, + 0x17428: 0x402d6820, 0x17429: 0x402d9a20, 0x1742a: 0x402dcc20, 0x1742b: 0x402dfe20, + 0x1742c: 0xcef20a73, 0x1742d: 0x402e8220, 0x1742e: 0xcb292a41, 0x1742f: 0x402ee220, + 0x17430: 0x402f2c20, 0x17431: 0x402f5620, 0x17432: 0xcb2d9861, 0x17433: 0xcb3109b1, + 0x17434: 0xcf0409b1, 0x17435: 0x40306c20, 0x17436: 0x4030be20, 0x17437: 0x4030e220, + 0x17438: 0xcf0909b1, 0x17439: 0x40310020, 0x1743a: 0xcb3509b1, 0x1743b: 0x4003fc20, + 0x1743c: 0x40094820, 0x1743d: 0x4003fe20, 0x1743e: 0x40094c20, 0x1743f: 0xa0000000, + // Block 0x5d1, offset 0x17440 + 0x17440: 0xe00008f5, 0x17441: 0xe00008ef, 0x17442: 0xe0000921, 0x17443: 0xe0000969, + 0x17444: 0xe000095b, 0x17445: 0xe000094d, 0x17446: 0xe00009dd, 0x17447: 0x002c6083, + 0x17448: 0xe0000ae8, 0x17449: 0xe0000ae2, 0x1744a: 0xe0000af4, 0x1744b: 0x002d0683, + 0x1744c: 0xe0000c2b, 0x1744d: 0xe0000c25, 0x1744e: 0xe0000c37, 0x1744f: 0xe0000c43, + 0x17450: 0xe0000ab3, 0x17451: 0xe0000d63, 0x17452: 0xe0000d9a, 0x17453: 0xe0000d94, + 0x17454: 0xe0000da6, 0x17455: 0xe0000de6, 0x17456: 0xe0000dd2, 0x17457: 0x40093e20, + 0x17458: 0xe0000e12, 0x17459: 0xe0000fe1, 0x1745a: 0xe0000fdb, 0x1745b: 0xe0000fed, + 0x1745c: 0xe0000fff, 0x1745d: 0xe0001102, 0x1745e: 0x00318888, 0x1745f: 0xe0000f7b, + 0x17460: 0xe00008f2, 0x17461: 0xe00008ec, 0x17462: 0xe000091e, 0x17463: 0xe0000966, + 0x17464: 0xe0000958, 0x17465: 0xe000094a, 0x17466: 0xe00009d5, 0x17467: 0x402c6020, + 0x17468: 0xe0000ae5, 0x17469: 0xe0000adf, 0x1746a: 0xe0000af1, 0x1746b: 0x402d0620, + 0x1746c: 0xe0000c28, 0x1746d: 0xe0000c22, 0x1746e: 0xe0000c34, 0x1746f: 0xe0000c40, + 0x17470: 0xe0000aad, 0x17471: 0xe0000d60, 0x17472: 0xe0000d97, 0x17473: 0xe0000d91, + 0x17474: 0xe0000da3, 0x17475: 0xe0000de3, 0x17476: 0xe0000dcf, 0x17477: 0x40093c20, + 0x17478: 0xe0000e0f, 0x17479: 0xe0000fde, 0x1747a: 0xe0000fd8, 0x1747b: 0xe0000fea, + 0x1747c: 0xe0000ffc, 0x1747d: 0xe00010ff, 0x1747e: 0x40318820, 0x1747f: 0xe0001114, + // Block 0x5d2, offset 0x17480 + 0x17480: 0xe00009b1, 0x17481: 0xe00009ae, 0x17482: 0xe0000a22, 0x17483: 0xe0000a1f, + 0x17484: 0xe0000a28, 0x17485: 0xe0000a25, 0x17486: 0xe0000a2e, 0x17487: 0xe0000a2b, + 0x17488: 0xe000ade6, 0x17489: 0xe000ade3, 0x1748a: 0xe0000a8c, 0x1748b: 0xe0000a89, + 0x1748c: 0xe0000a98, 0x1748d: 0xe0000a95, 0x1748e: 0xe0000aa4, 0x1748f: 0xe0000aa1, + 0x17490: 0xe0000a92, 0x17491: 0xe0000a8f, 0x17492: 0xe0000a9e, 0x17493: 0xe0000a9b, + 0x17494: 0xe0000b55, 0x17495: 0xe0000b51, 0x17496: 0xe0000b4d, 0x17497: 0xe0000b49, + 0x17498: 0xe0000b7c, 0x17499: 0xe0000b79, 0x1749a: 0xe0000b82, 0x1749b: 0xe0000b7f, + 0x1749c: 0xe0000b39, 0x1749d: 0xe0000b35, 0x1749e: 0xe0000b8c, 0x1749f: 0xe0000b89, + 0x174a0: 0xe0000bd0, 0x174a1: 0xe0000bcd, 0x174a2: 0xe0000c00, 0x174a3: 0xe0000bfd, + 0x174a4: 0xe0000c0c, 0x174a5: 0xe0000c09, 0x174a6: 0xe0000bfa, 0x174a7: 0xe0000bf7, + 0x174a8: 0xe0000c06, 0x174a9: 0xe0000c03, 0x174aa: 0xe0000c12, 0x174ab: 0xe0000c0f, + 0x174ac: 0xe0000c7e, 0x174ad: 0xe0000c7b, 0x174ae: 0xe0000c4a, 0x174af: 0xe0000c46, + 0x174b0: 0xe0000c93, 0x174b1: 0xe0000c90, 0x174b2: 0xe0000cab, 0x174b3: 0xe0000ca8, + 0x174b4: 0xe0000cb1, 0x174b5: 0xe0000cae, 0x174b6: 0xe0000cde, 0x174b7: 0xe0000cdb, + 0x174b8: 0xe0000ce5, 0x174b9: 0xe0000ce1, 0x174ba: 0xe0000cf2, 0x174bb: 0xe0000cef, + 0x174bc: 0xe0000cec, 0x174bd: 0xe0000ce9, 0x174be: 0xe0000d1e, 0x174bf: 0xe0000d1b, + // Block 0x5d3, offset 0x174c0 + 0x174c0: 0xa0000000, 0x174c1: 0xa0000000, 0x174c2: 0xa0000000, 0x174c3: 0xa0000000, + 0x174c4: 0xa0000000, 0x174c5: 0xa0000000, 0x174c6: 0xa0000000, 0x174c7: 0xa0000000, + 0x174c8: 0xa0000000, 0x174c9: 0x40020020, 0x174ca: 0x40020220, 0x174cb: 0x40020420, + 0x174cc: 0x40020620, 0x174cd: 0x40020820, 0x174ce: 0xa0000000, 0x174cf: 0xa0000000, + 0x174d0: 0xa0000000, 0x174d1: 0xa0000000, 0x174d2: 0xa0000000, 0x174d3: 0xa0000000, + 0x174d4: 0xa0000000, 0x174d5: 0xa0000000, 0x174d6: 0xa0000000, 0x174d7: 0xa0000000, + 0x174d8: 0xa0000000, 0x174d9: 0xa0000000, 0x174da: 0xa0000000, 0x174db: 0xa0000000, + 0x174dc: 0xa0000000, 0x174dd: 0xa0000000, 0x174de: 0xa0000000, 0x174df: 0xa0000000, + 0x174e0: 0x40021220, 0x174e1: 0x4002ba20, 0x174e2: 0x4003e020, 0x174e3: 0x4004ea20, + 0x174e4: 0x4027de20, 0x174e5: 0x4004ec20, 0x174e6: 0x4004e620, 0x174e7: 0x4003d220, + 0x174e8: 0x4003f420, 0x174e9: 0x4003f620, 0x174ea: 0x4004d820, 0x174eb: 0x40093820, + 0x174ec: 0x40024020, 0x174ed: 0x40021a20, 0x174ee: 0x4002e420, 0x174ef: 0x4004e220, + 0x174f0: 0x4029cc20, 0x174f1: 0x4029ce20, 0x174f2: 0x4029d020, 0x174f3: 0x4029d220, + 0x174f4: 0x4029d420, 0x174f5: 0x4029d620, 0x174f6: 0x4029d820, 0x174f7: 0x4029da20, + 0x174f8: 0x4029dc20, 0x174f9: 0x4029de20, 0x174fa: 0x40026c20, 0x174fb: 0x40026220, + 0x174fc: 0x40094020, 0x174fd: 0x40094220, 0x174fe: 0x40094420, 0x174ff: 0x4002c420, + // Block 0x5d4, offset 0x17500 + 0x17500: 0x4004d620, 0x17501: 0xc57327b1, 0x17502: 0x002c0a88, 0x17503: 0x002c3a88, + 0x17504: 0x002c6288, 0x17505: 0xcf130be1, 0x17506: 0x002d0888, 0x17507: 0x002d2288, + 0x17508: 0x002d6888, 0x17509: 0x002d9a88, 0x1750a: 0x002dcc88, 0x1750b: 0x002dfe88, + 0x1750c: 0xc0030002, 0x1750d: 0x002e8288, 0x1750e: 0x002e9e88, 0x1750f: 0xcf199891, + 0x17510: 0x002f2c88, 0x17511: 0x002f5688, 0x17512: 0x002f7a88, 0x17513: 0x002fe688, + 0x17514: 0x00302c88, 0x17515: 0xc3900b21, 0x17516: 0x0030be88, 0x17517: 0x0030e288, + 0x17518: 0x0030f688, 0x17519: 0x00310088, 0x1751a: 0x00312a88, 0x1751b: 0x4003f820, + 0x1751c: 0x4004e420, 0x1751d: 0x4003fa20, 0x1751e: 0x40062420, 0x1751f: 0x40021620, + 0x17520: 0x40061e20, 0x17521: 0xc57027b1, 0x17522: 0x402c0a20, 0x17523: 0x402c3a20, + 0x17524: 0x402c6220, 0x17525: 0xcf110be1, 0x17526: 0x402d0820, 0x17527: 0x402d2220, + 0x17528: 0x402d6820, 0x17529: 0x402d9a20, 0x1752a: 0x402dcc20, 0x1752b: 0x402dfe20, + 0x1752c: 0xc0000002, 0x1752d: 0x402e8220, 0x1752e: 0x402e9e20, 0x1752f: 0xcf159891, + 0x17530: 0x402f2c20, 0x17531: 0x402f5620, 0x17532: 0x402f7a20, 0x17533: 0x402fe620, + 0x17534: 0x40302c20, 0x17535: 0xc38d0b21, 0x17536: 0x4030be20, 0x17537: 0x4030e220, + 0x17538: 0x4030f620, 0x17539: 0x40310020, 0x1753a: 0x40312a20, 0x1753b: 0x4003fc20, + 0x1753c: 0x40094820, 0x1753d: 0x4003fe20, 0x1753e: 0x40094c20, 0x1753f: 0xa0000000, + // Block 0x5d5, offset 0x17540 + 0x17540: 0xe00008f5, 0x17541: 0xe00008ef, 0x17542: 0xe0000921, 0x17543: 0xe0000969, + 0x17544: 0x00320e83, 0x17545: 0x00320c83, 0x17546: 0x00320ea3, 0x17547: 0xe0000a53, + 0x17548: 0xe0000ae8, 0x17549: 0xe0000ae2, 0x1754a: 0xe0000af4, 0x1754b: 0xe0000b20, + 0x1754c: 0xe0000c2b, 0x1754d: 0xe0000c25, 0x1754e: 0xe0000c37, 0x1754f: 0xe0000c43, + 0x17550: 0x002c62c3, 0x17551: 0xe0000d63, 0x17552: 0xe0000d9a, 0x17553: 0xe0000d94, + 0x17554: 0x00321103, 0x17555: 0xe0000de6, 0x17556: 0x00321083, 0x17557: 0x40093e20, + 0x17558: 0x003210a3, 0x17559: 0xe0000fe1, 0x1755a: 0xe0000fdb, 0x1755b: 0xe0000fed, + 0x1755c: 0x003100a3, 0x1755d: 0xe0001102, 0x1755e: 0xe0002973, 0x1755f: 0xe0000f7b, + 0x17560: 0xe00008f2, 0x17561: 0xe00008ec, 0x17562: 0xe000091e, 0x17563: 0xe0000966, + 0x17564: 0x40320e20, 0x17565: 0x40320c20, 0x17566: 0x40320e21, 0x17567: 0xe0000a4d, + 0x17568: 0xe0000ae5, 0x17569: 0xe0000adf, 0x1756a: 0xe0000af1, 0x1756b: 0xe0000b1d, + 0x1756c: 0xe0000c28, 0x1756d: 0xe0000c22, 0x1756e: 0xe0000c34, 0x1756f: 0xe0000c40, + 0x17570: 0x402c6222, 0x17571: 0xe0000d60, 0x17572: 0xe0000d97, 0x17573: 0xe0000d91, + 0x17574: 0x40321024, 0x17575: 0xe0000de3, 0x17576: 0x40321020, 0x17577: 0x40093c20, + 0x17578: 0x40321021, 0x17579: 0xe0000fde, 0x1757a: 0xe0000fd8, 0x1757b: 0xe0000fea, + 0x1757c: 0x40310021, 0x1757d: 0xe00010ff, 0x1757e: 0xe0002970, 0x1757f: 0xe0001114, + // Block 0x5d6, offset 0x17580 + 0x17580: 0xe0000983, 0x17581: 0xe0000980, 0x17582: 0xe00008fb, 0x17583: 0xe00008f8, + 0x17584: 0xe000097d, 0x17585: 0xe000097a, 0x17586: 0xe0000a38, 0x17587: 0xe0000a35, + 0x17588: 0xe0000a3e, 0x17589: 0xe0000a3b, 0x1758a: 0xe0000a4a, 0x1758b: 0xe0000a47, + 0x1758c: 0xe0000a44, 0x1758d: 0xe0000a41, 0x1758e: 0xe0000a86, 0x1758f: 0xe0000a83, + 0x17590: 0x002c62a3, 0x17591: 0x402c6221, 0x17592: 0xe0000b46, 0x17593: 0xe0000b43, + 0x17594: 0xe0000aee, 0x17595: 0xe0000aeb, 0x17596: 0xe0000b2c, 0x17597: 0xe0000b29, + 0x17598: 0x00320ec3, 0x17599: 0x40320e22, 0x1759a: 0xe0000b1a, 0x1759b: 0xe0000b17, + 0x1759c: 0xe0000bb8, 0x1759d: 0xe0000bb5, 0x1759e: 0xe0000bb2, 0x1759f: 0xe0000baf, + 0x175a0: 0xe0000bc4, 0x175a1: 0xe0000bc1, 0x175a2: 0xe0000bca, 0x175a3: 0xe0000bc7, + 0x175a4: 0xe0000bee, 0x175a5: 0xe0000beb, 0x175a6: 0xe0000c1b, 0x175a7: 0xe0000c18, + 0x175a8: 0xe0000c51, 0x175a9: 0xe0000c4e, 0x175aa: 0xe0000c60, 0x175ab: 0xe0000c5d, + 0x175ac: 0xe0000c31, 0x175ad: 0xe0000c2e, 0x175ae: 0xe0000c5a, 0x175af: 0xe0000c57, + 0x175b0: 0xe0000c54, 0x175b1: 0x402da220, 0x175b2: 0xf0000a0a, 0x175b3: 0xf0000404, + 0x175b4: 0xe0000c8a, 0x175b5: 0xe0000c87, 0x175b6: 0xe0000c9f, 0x175b7: 0xe0000c9c, + 0x175b8: 0x402f7220, 0x175b9: 0xe0000ccc, 0x175ba: 0xe0000cc9, 0x175bb: 0xe0000cd8, + 0x175bc: 0xe0000cd5, 0x175bd: 0xe0000cd2, 0x175be: 0xe0000ccf, 0x175bf: 0xe0000d04, + // Block 0x5d7, offset 0x175c0 + 0x175c0: 0xe0000cfe, 0x175c1: 0xe0000cf8, 0x175c2: 0xe0000cf5, 0x175c3: 0xe0000d51, + 0x175c4: 0xe0000d4e, 0x175c5: 0xe0000d6f, 0x175c6: 0xe0000d6c, 0x175c7: 0xe0000d5d, + 0x175c8: 0xe0000d5a, 0x175c9: 0xf0000404, 0x175ca: 0x002eda88, 0x175cb: 0x402eda20, + 0x175cc: 0xe0000e2e, 0x175cd: 0xe0000e2b, 0x175ce: 0xe0000da0, 0x175cf: 0xe0000d9d, + 0x175d0: 0x003210c3, 0x175d1: 0x40321022, 0x175d2: 0x003210e3, 0x175d3: 0x40321023, + 0x175d4: 0xe0000eca, 0x175d5: 0xe0000ec7, 0x175d6: 0xe0000edc, 0x175d7: 0xe0000ed9, + 0x175d8: 0xe0000ed0, 0x175d9: 0xe0000ecd, 0x175da: 0xe0000f1f, 0x175db: 0xe0000f1c, + 0x175dc: 0xe0000f2d, 0x175dd: 0xe0000f2a, 0x175de: 0xe0000f47, 0x175df: 0xe0000f44, + 0x175e0: 0xe0000f33, 0x175e1: 0xe0000f30, 0x175e2: 0xe0000f99, 0x175e3: 0xe0000f96, + 0x175e4: 0xe0000f8a, 0x175e5: 0xe0000f87, 0x175e6: 0x00303688, 0x175e7: 0x40303620, + 0x175e8: 0xe000102b, 0x175e9: 0xe0001028, 0x175ea: 0xe000103f, 0x175eb: 0xe000103c, + 0x175ec: 0xe0000fe7, 0x175ed: 0xe0000fe4, 0x175ee: 0xe0000ff9, 0x175ef: 0xe0000ff6, + 0x175f0: 0x003100c3, 0x175f1: 0x40310022, 0x175f2: 0xe0001039, 0x175f3: 0xe0001036, + 0x175f4: 0xe00010d8, 0x175f5: 0xe00010d5, 0x175f6: 0xe000110e, 0x175f7: 0xe000110b, + 0x175f8: 0xe0001117, 0x175f9: 0xe000113b, 0x175fa: 0xe0001138, 0x175fb: 0xe000114d, + 0x175fc: 0xe000114a, 0x175fd: 0xe0001147, 0x175fe: 0xe0001144, 0x175ff: 0xe0000f64, + // Block 0x5d8, offset 0x17600 + 0x17600: 0xe0000b03, 0x17601: 0xe0000aff, 0x17602: 0xe0000b13, 0x17603: 0xe0000b0f, + 0x17604: 0xe0000b0b, 0x17605: 0xe0000b07, 0x17606: 0xe0000b75, 0x17607: 0xe0000b71, + 0x17608: 0xe0000c66, 0x17609: 0xe0000c63, 0x1760a: 0xe0000c78, 0x1760b: 0xe0000c75, + 0x1760c: 0xe0000e84, 0x1760d: 0xe0000e81, 0x1760e: 0xe0000e44, 0x1760f: 0xe0000e41, + 0x17610: 0xe000adec, 0x17611: 0xe000ade9, 0x17612: 0xe000adf2, 0x17613: 0xe000adef, + 0x17614: 0xe000adfe, 0x17615: 0xe000adfb, 0x17616: 0xe000adf8, 0x17617: 0xe000adf5, + 0x17618: 0xe000ae04, 0x17619: 0xe000ae01, 0x1761a: 0xe0000e5d, 0x1761b: 0xe0000e59, + 0x1761c: 0xe0000e65, 0x1761d: 0xe0000e61, 0x1761e: 0xe0000e75, 0x1761f: 0xe0000e71, + 0x17620: 0xe0000e6d, 0x17621: 0xe0000e69, 0x17622: 0xe0000e7d, 0x17623: 0xe0000e79, + 0x17624: 0xe000108d, 0x17625: 0xe000108a, 0x17626: 0xe000104d, 0x17627: 0xe000104a, + 0x17628: 0xe0001066, 0x17629: 0xe0001062, 0x1762a: 0xe000106e, 0x1762b: 0xe000106a, + 0x1762c: 0xe000107e, 0x1762d: 0xe000107a, 0x1762e: 0xe0001076, 0x1762f: 0xe0001072, + 0x17630: 0xe0001086, 0x17631: 0xe0001082, 0x17632: 0xe0001108, 0x17633: 0xe0001105, + 0x17634: 0xe0001135, 0x17635: 0xe0001132, 0x17636: 0xe000112f, 0x17637: 0xe000112c, + 0x17638: 0xe000111d, 0x17639: 0xe000111a, 0x1763a: 0xe0000d0a, 0x1763b: 0xe0000d07, + 0x1763c: 0x0030d888, 0x1763d: 0x4030d820, 0x1763e: 0x00312088, 0x1763f: 0x40312020, + // Block 0x5d9, offset 0x17640 + 0x17640: 0xa0000000, 0x17641: 0xa0000000, 0x17642: 0xa0000000, 0x17643: 0xa0000000, + 0x17644: 0xa0000000, 0x17645: 0xa0000000, 0x17646: 0xa0000000, 0x17647: 0xa0000000, + 0x17648: 0xa0000000, 0x17649: 0x40020020, 0x1764a: 0x40020220, 0x1764b: 0x40020420, + 0x1764c: 0x40020620, 0x1764d: 0x40020820, 0x1764e: 0xa0000000, 0x1764f: 0xa0000000, + 0x17650: 0xa0000000, 0x17651: 0xa0000000, 0x17652: 0xa0000000, 0x17653: 0xa0000000, + 0x17654: 0xa0000000, 0x17655: 0xa0000000, 0x17656: 0xa0000000, 0x17657: 0xa0000000, + 0x17658: 0xa0000000, 0x17659: 0xa0000000, 0x1765a: 0xa0000000, 0x1765b: 0xa0000000, + 0x1765c: 0xa0000000, 0x1765d: 0xa0000000, 0x1765e: 0xa0000000, 0x1765f: 0xa0000000, + 0x17660: 0x40021220, 0x17661: 0x4002ba20, 0x17662: 0x4003e020, 0x17663: 0x4004ea20, + 0x17664: 0x4027de20, 0x17665: 0x4004ec20, 0x17666: 0x4004e620, 0x17667: 0x4003d220, + 0x17668: 0x4003f420, 0x17669: 0x4003f620, 0x1766a: 0x4004d820, 0x1766b: 0x40093820, + 0x1766c: 0x40024020, 0x1766d: 0x40021a20, 0x1766e: 0x4002e420, 0x1766f: 0x4004e220, + 0x17670: 0x4029cc20, 0x17671: 0x4029ce20, 0x17672: 0x4029d020, 0x17673: 0x4029d220, + 0x17674: 0x4029d420, 0x17675: 0x4029d620, 0x17676: 0x4029d820, 0x17677: 0x4029da20, + 0x17678: 0x4029dc20, 0x17679: 0x4029de20, 0x1767a: 0x40026c20, 0x1767b: 0x40026220, + 0x1767c: 0x40094020, 0x1767d: 0x40094220, 0x1767e: 0x40094420, 0x1767f: 0x4002c420, + // Block 0x5da, offset 0x17680 + 0x17680: 0x4004d620, 0x17681: 0xc57327b1, 0x17682: 0x002c0a88, 0x17683: 0x002c3a88, + 0x17684: 0x002c6288, 0x17685: 0xcf130be1, 0x17686: 0x002d0888, 0x17687: 0x002d2288, + 0x17688: 0x002d6888, 0x17689: 0x002d9a88, 0x1768a: 0x002dcc88, 0x1768b: 0x002dfe88, + 0x1768c: 0xc0030002, 0x1768d: 0x002e8288, 0x1768e: 0x002e9e88, 0x1768f: 0xcf199891, + 0x17690: 0x002f2c88, 0x17691: 0x002f5688, 0x17692: 0x002f7a88, 0x17693: 0x002fe688, + 0x17694: 0x00302c88, 0x17695: 0xc3900b21, 0x17696: 0x0030be83, 0x17697: 0x0030bea3, + 0x17698: 0x0030f688, 0x17699: 0x00310088, 0x1769a: 0x00312a88, 0x1769b: 0x4003f820, + 0x1769c: 0x4004e420, 0x1769d: 0x4003fa20, 0x1769e: 0x40062420, 0x1769f: 0x40021620, + 0x176a0: 0x40061e20, 0x176a1: 0xc57027b1, 0x176a2: 0x402c0a20, 0x176a3: 0x402c3a20, + 0x176a4: 0x402c6220, 0x176a5: 0xcf110be1, 0x176a6: 0x402d0820, 0x176a7: 0x402d2220, + 0x176a8: 0x402d6820, 0x176a9: 0x402d9a20, 0x176aa: 0x402dcc20, 0x176ab: 0x402dfe20, + 0x176ac: 0xc0000002, 0x176ad: 0x402e8220, 0x176ae: 0x402e9e20, 0x176af: 0xcf159891, + 0x176b0: 0x402f2c20, 0x176b1: 0x402f5620, 0x176b2: 0x402f7a20, 0x176b3: 0x402fe620, + 0x176b4: 0x40302c20, 0x176b5: 0xc38d0b21, 0x176b6: 0x4030be20, 0x176b7: 0x4030be21, + 0x176b8: 0x4030f620, 0x176b9: 0x40310020, 0x176ba: 0x40312a20, 0x176bb: 0x4003fc20, + 0x176bc: 0x40094820, 0x176bd: 0x4003fe20, 0x176be: 0x40094c20, 0x176bf: 0xa0000000, + // Block 0x5db, offset 0x176c0 + 0x176c0: 0xe0000cfe, 0x176c1: 0xe0000cf8, 0x176c2: 0xe0000cf5, 0x176c3: 0xe0000d51, + 0x176c4: 0xe0000d4e, 0x176c5: 0xe0000d6f, 0x176c6: 0xe0000d6c, 0x176c7: 0xe0000d5d, + 0x176c8: 0xe0000d5a, 0x176c9: 0xf0000404, 0x176ca: 0x002eda88, 0x176cb: 0x402eda20, + 0x176cc: 0xe0000e2e, 0x176cd: 0xe0000e2b, 0x176ce: 0xe0000da0, 0x176cf: 0xe0000d9d, + 0x176d0: 0x003210c3, 0x176d1: 0x40321022, 0x176d2: 0x003210e3, 0x176d3: 0x40321023, + 0x176d4: 0xe0000eca, 0x176d5: 0xe0000ec7, 0x176d6: 0xe0000edc, 0x176d7: 0xe0000ed9, + 0x176d8: 0xe0000ed0, 0x176d9: 0xe0000ecd, 0x176da: 0xe0000f1f, 0x176db: 0xe0000f1c, + 0x176dc: 0xe0000f2d, 0x176dd: 0xe0000f2a, 0x176de: 0xe0000f47, 0x176df: 0xe0000f44, + 0x176e0: 0xe0000f33, 0x176e1: 0xe0000f30, 0x176e2: 0xe0000f99, 0x176e3: 0xe0000f96, + 0x176e4: 0xe0000f8a, 0x176e5: 0xe0000f87, 0x176e6: 0x00303688, 0x176e7: 0x40303620, + 0x176e8: 0xe000102b, 0x176e9: 0xe0001028, 0x176ea: 0xe000103f, 0x176eb: 0xe000103c, + 0x176ec: 0xe0000fe7, 0x176ed: 0xe0000fe4, 0x176ee: 0xe0000ff9, 0x176ef: 0xe0000ff6, + 0x176f0: 0x003100c3, 0x176f1: 0x40310022, 0x176f2: 0xe0001039, 0x176f3: 0xe0001036, + 0x176f4: 0xe0003636, 0x176f5: 0xe0003633, 0x176f6: 0xe000110e, 0x176f7: 0xe000110b, + 0x176f8: 0xe0001117, 0x176f9: 0xe000113b, 0x176fa: 0xe0001138, 0x176fb: 0xe000114d, + 0x176fc: 0xe000114a, 0x176fd: 0xe0001147, 0x176fe: 0xe0001144, 0x176ff: 0xe0000f64, + // Block 0x5dc, offset 0x17700 + 0x17700: 0xe0000d24, 0x17701: 0xe0000d21, 0x17702: 0xe0000d2a, 0x17703: 0xe0000d27, + 0x17704: 0xe0000d69, 0x17705: 0xe0000d66, 0x17706: 0xe0000d7b, 0x17707: 0xe0000d78, + 0x17708: 0xe0000d87, 0x17709: 0xe0000d84, 0x1770a: 0xe0000d81, 0x1770b: 0xe0000d7e, + 0x1770c: 0xe0000ded, 0x1770d: 0xe0000de9, 0x1770e: 0xe00037f4, 0x1770f: 0xe00037f1, + 0x17710: 0xe0000e3d, 0x17711: 0xe0000e39, 0x17712: 0xe0000e35, 0x17713: 0xe0000e31, + 0x17714: 0xe0000ea7, 0x17715: 0xe0000ea4, 0x17716: 0xe0000ead, 0x17717: 0xe0000eaa, + 0x17718: 0xe0000ed6, 0x17719: 0xe0000ed3, 0x1771a: 0xe0000ef4, 0x1771b: 0xe0000ef1, + 0x1771c: 0xe0000efb, 0x1771d: 0xe0000ef7, 0x1771e: 0xe0000f02, 0x1771f: 0xe0000eff, + 0x17720: 0xe0000f41, 0x17721: 0xe0000f3e, 0x17722: 0xe0000f53, 0x17723: 0xe0000f50, + 0x17724: 0xe0000f26, 0x17725: 0xe0000f22, 0x17726: 0xe0000f3a, 0x17727: 0xe0000f36, + 0x17728: 0xe0000f5a, 0x17729: 0xe0000f56, 0x1772a: 0xe0000f93, 0x1772b: 0xe0000f90, + 0x1772c: 0xe0000f9f, 0x1772d: 0xe0000f9c, 0x1772e: 0xe0000fb1, 0x1772f: 0xe0000fae, + 0x17730: 0xe0000fab, 0x17731: 0xe0000fa8, 0x17732: 0xe0001093, 0x17733: 0xe0001090, + 0x17734: 0xe000109f, 0x17735: 0xe000109c, 0x17736: 0xe0001099, 0x17737: 0xe0001096, + 0x17738: 0xe0001032, 0x17739: 0xe000102e, 0x1773a: 0xe000298b, 0x1773b: 0xe0002988, + 0x1773c: 0xe000ae07, 0x1773d: 0xe00010a6, 0x1773e: 0xe000ae0a, 0x1773f: 0xe00010ac, + // Block 0x5dd, offset 0x17740 + 0x17742: 0x40429620, 0x17743: 0x40429820, + 0x17745: 0x40427e20, 0x17746: 0x40428020, 0x17747: 0x40428220, + 0x17748: 0x40428420, 0x17749: 0x40428620, 0x1774a: 0x40428820, + 0x1774e: 0x40428a20, 0x1774f: 0x40428c20, + 0x17750: 0x40428e20, 0x17752: 0xc0610231, 0x17753: 0x40429220, + 0x17754: 0x40429420, 0x17755: 0xcf1d98d1, + 0x17759: 0xcf219961, 0x1775a: 0xcf239961, + 0x1775c: 0xcf439961, 0x1775e: 0xcf259961, 0x1775f: 0xcf279961, + 0x17763: 0xcf299961, + 0x17764: 0xcf2b9961, + 0x17768: 0xcf2d9961, 0x17769: 0xcf419961, 0x1776a: 0xcf2f9961, + 0x1776e: 0xcf319961, 0x1776f: 0xcf339961, + 0x17770: 0xcf359961, 0x17771: 0xcf3f9961, 0x17772: 0xcf379961, 0x17773: 0xcf3d9961, + 0x17774: 0xcf3b9961, 0x17775: 0xcf399961, 0x17776: 0xcf459961, 0x17777: 0xcf479961, + 0x17778: 0xcf499961, 0x17779: 0xcf4b9961, + 0x1777e: 0x4042c620, 0x1777f: 0x4042c820, + // Block 0x5de, offset 0x17780 + 0x17781: 0x40430020, 0x17782: 0x40430220, 0x17783: 0x40430420, + 0x17785: 0x4042e020, 0x17786: 0x4042e220, 0x17787: 0x4042e420, + 0x17788: 0x4042e620, 0x17789: 0x4042e820, 0x1778a: 0x4042ea20, 0x1778b: 0x4042ec20, + 0x1778c: 0x4042f020, 0x1778e: 0x4042f420, 0x1778f: 0x4042f620, + 0x17790: 0x4042f820, 0x17792: 0x4042fa20, 0x17793: 0x4042fc20, + 0x17794: 0x4042fe20, 0x17795: 0x40430020, 0x17796: 0x40430220, 0x17797: 0x40430420, + 0x17798: 0x40430620, 0x17799: 0x40430820, 0x1779a: 0x40430a20, 0x1779b: 0x40430e20, + 0x1779c: 0x40431020, 0x1779d: 0x40431420, 0x1779e: 0x40431620, 0x1779f: 0x40431820, + 0x177a0: 0x40431a20, 0x177a1: 0x40431c20, 0x177a2: 0x40431e20, 0x177a3: 0x40432020, + 0x177a4: 0x40432220, 0x177a5: 0x40432420, 0x177a6: 0x40432620, 0x177a7: 0x40432820, + 0x177a8: 0x40432a20, 0x177aa: 0x40432c20, 0x177ab: 0x40432e20, + 0x177ac: 0x40433020, 0x177ad: 0x40433220, 0x177ae: 0x40433420, 0x177af: 0x40433620, + 0x177b0: 0x40433820, 0x177b1: 0x40433a20, 0x177b2: 0x40433c20, 0x177b3: 0x40434820, + 0x177b5: 0x40433e20, 0x177b6: 0x40434020, 0x177b7: 0x40434220, + 0x177b8: 0x40434420, 0x177b9: 0x40434620, + 0x177bd: 0x40434a20, 0x177be: 0x40434c20, 0x177bf: 0x40434e20, + // Block 0x5df, offset 0x177c0 + 0x177c1: 0x40491020, 0x177c2: 0x40491220, 0x177c3: 0x40491420, + 0x177c4: 0x40491620, 0x177c5: 0x40491820, 0x177c6: 0x40491a20, 0x177c7: 0x40491c20, + 0x177c8: 0x40491e20, 0x177c9: 0x40492020, 0x177ca: 0x40492220, 0x177cb: 0x40492420, + 0x177cc: 0x40492620, 0x177cd: 0x40492820, 0x177ce: 0x40492a20, 0x177cf: 0x40492c20, + 0x177d0: 0x40492e20, 0x177d1: 0x40493020, 0x177d2: 0x40493220, 0x177d3: 0x40493420, + 0x177d4: 0x40493620, 0x177d5: 0x40493820, 0x177d6: 0x40493a20, 0x177d7: 0x40493c20, + 0x177d8: 0x40493e20, 0x177d9: 0x40494020, 0x177da: 0x40494220, 0x177db: 0x40494420, + 0x177dc: 0x40494620, 0x177dd: 0x40494820, 0x177de: 0x40494a20, 0x177df: 0x40494c20, + 0x177e0: 0x40494e20, 0x177e1: 0x40495020, 0x177e2: 0x40495220, 0x177e3: 0x40495420, + 0x177e4: 0x40495620, 0x177e5: 0x40495820, 0x177e6: 0x40495a20, 0x177e7: 0x40495c20, + 0x177e8: 0x40495e20, 0x177e9: 0x40496020, 0x177ea: 0x40496220, 0x177eb: 0x40496420, + 0x177ec: 0x40496620, 0x177ed: 0x40496820, 0x177ee: 0x40496a20, 0x177ef: 0x40057820, + 0x177f0: 0x40496e20, 0x177f1: 0x40497020, 0x177f2: 0x40497220, 0x177f3: 0xe000ae10, + 0x177f4: 0x40497620, 0x177f5: 0x40497820, 0x177f6: 0x40497a20, 0x177f7: 0x40497c20, + 0x177f8: 0x826724bf, 0x177f9: 0x826724c0, 0x177fa: 0x40498e20, + 0x177ff: 0x4027f420, + // Block 0x5e0, offset 0x17800 + 0x17800: 0xc07f04e1, 0x17801: 0xc0ae04e1, 0x17802: 0xc0dd04e1, 0x17803: 0xc10c04e1, + 0x17804: 0xc13b04e1, 0x17805: 0x00497283, 0x17806: 0x40057e20, 0x17807: 0xa000ff02, + 0x17808: 0xa6b10002, 0x17809: 0xa6b10102, 0x1780a: 0xa6b10202, 0x1780b: 0xa6b10302, + 0x1780c: 0xa000ff02, 0x1780d: 0xcf4d9991, 0x1780e: 0xa000fe02, 0x1780f: 0x40057820, + 0x17810: 0xe000019a, 0x17811: 0xe000022e, 0x17812: 0xe0000346, 0x17813: 0xe0000420, + 0x17814: 0xe00004f5, 0x17815: 0xe00005bf, 0x17816: 0xe000068a, 0x17817: 0xe0000732, + 0x17818: 0xe00007de, 0x17819: 0xe0000883, 0x1781a: 0x40057a20, 0x1781b: 0x40057c20, + // Block 0x5e1, offset 0x17840 + 0x17840: 0xa0000000, 0x17841: 0xa0000000, 0x17842: 0xa0000000, 0x17843: 0xa0000000, + 0x17844: 0xa0000000, 0x17845: 0xa0000000, 0x17846: 0xa0000000, 0x17847: 0xa0000000, + 0x17848: 0xa0000000, 0x17849: 0x40020020, 0x1784a: 0x40020220, 0x1784b: 0x40020420, + 0x1784c: 0x40020620, 0x1784d: 0x40020820, 0x1784e: 0xa0000000, 0x1784f: 0xa0000000, + 0x17850: 0xa0000000, 0x17851: 0xa0000000, 0x17852: 0xa0000000, 0x17853: 0xa0000000, + 0x17854: 0xa0000000, 0x17855: 0xa0000000, 0x17856: 0xa0000000, 0x17857: 0xa0000000, + 0x17858: 0xa0000000, 0x17859: 0xa0000000, 0x1785a: 0xa0000000, 0x1785b: 0xa0000000, + 0x1785c: 0xa0000000, 0x1785d: 0xa0000000, 0x1785e: 0xa0000000, 0x1785f: 0xa0000000, + 0x17860: 0x40021220, 0x17861: 0x4002ba20, 0x17862: 0x4003e020, 0x17863: 0x4004ea20, + 0x17864: 0x4027de20, 0x17865: 0x4004ec20, 0x17866: 0x4004e620, 0x17867: 0x4003d220, + 0x17868: 0x4003f420, 0x17869: 0x4003f620, 0x1786a: 0x4004d820, 0x1786b: 0x40093820, + 0x1786c: 0x40024020, 0x1786d: 0x40021a20, 0x1786e: 0x4002e420, 0x1786f: 0x4004e220, + 0x17870: 0x4029cc20, 0x17871: 0x4029ce20, 0x17872: 0x4029d020, 0x17873: 0x4029d220, + 0x17874: 0x4029d420, 0x17875: 0x4029d620, 0x17876: 0x4029d820, 0x17877: 0x4029da20, + 0x17878: 0x4029dc20, 0x17879: 0x4029de20, 0x1787a: 0x40026c20, 0x1787b: 0x40026220, + 0x1787c: 0x40094020, 0x1787d: 0x40094220, 0x1787e: 0x40094420, 0x1787f: 0x4002c420, + // Block 0x5e2, offset 0x17880 + 0x17880: 0x4004d620, 0x17881: 0xcf5399e1, 0x17882: 0x002c0a88, 0x17883: 0x002c3a88, + 0x17884: 0x002c6288, 0x17885: 0xcf5999e1, 0x17886: 0x002d0888, 0x17887: 0x002d2288, + 0x17888: 0x002d6888, 0x17889: 0xcf5f99e1, 0x1788a: 0x002dcc88, 0x1788b: 0x002dfe88, + 0x1788c: 0xc0030002, 0x1788d: 0x002e8288, 0x1788e: 0xc5350a52, 0x1788f: 0xcf6599e1, + 0x17890: 0x002f2c88, 0x17891: 0x002f5688, 0x17892: 0x002f7a88, 0x17893: 0x002fe688, + 0x17894: 0x00302c88, 0x17895: 0xcf6b99e1, 0x17896: 0x0030be88, 0x17897: 0x0030e288, + 0x17898: 0x0030f688, 0x17899: 0x00310088, 0x1789a: 0x00312a88, 0x1789b: 0x4003f820, + 0x1789c: 0x4004e420, 0x1789d: 0x4003fa20, 0x1789e: 0x40062420, 0x1789f: 0x40021620, + 0x178a0: 0x40061e20, 0x178a1: 0xcf5099e1, 0x178a2: 0x402c0a20, 0x178a3: 0x402c3a20, + 0x178a4: 0x402c6220, 0x178a5: 0xcf5699e1, 0x178a6: 0x402d0820, 0x178a7: 0x402d2220, + 0x178a8: 0x402d6820, 0x178a9: 0xcf5c99e1, 0x178aa: 0x402dcc20, 0x178ab: 0x402dfe20, + 0x178ac: 0xc0000002, 0x178ad: 0x402e8220, 0x178ae: 0xc5330a41, 0x178af: 0xcf6299e1, + 0x178b0: 0x402f2c20, 0x178b1: 0x402f5620, 0x178b2: 0x402f7a20, 0x178b3: 0x402fe620, + 0x178b4: 0x40302c20, 0x178b5: 0xcf6899e1, 0x178b6: 0x4030be20, 0x178b7: 0x4030e220, + 0x178b8: 0x4030f620, 0x178b9: 0x40310020, 0x178ba: 0x40312a20, 0x178bb: 0x4003fc20, + 0x178bc: 0x40094820, 0x178bd: 0x4003fe20, 0x178be: 0x40094c20, 0x178bf: 0xa0000000, + // Block 0x5e3, offset 0x178c0 + 0x178c0: 0xe00008f5, 0x178c1: 0x002bdea3, 0x178c2: 0xe0000921, 0x178c3: 0xe0000969, + 0x178c4: 0xe000095b, 0x178c5: 0xe000094d, 0x178c6: 0xe00009dd, 0x178c7: 0xe0000a53, + 0x178c8: 0xe0000ae8, 0x178c9: 0x002c98a3, 0x178ca: 0xe0000af4, 0x178cb: 0xe0000b20, + 0x178cc: 0xe0000c2b, 0x178cd: 0x002d9aa3, 0x178ce: 0xe0000c37, 0x178cf: 0xe0000c43, + 0x178d0: 0xe0000ab3, 0x178d1: 0xe0000d63, 0x178d2: 0xe0000d9a, 0x178d3: 0x002ee2a3, + 0x178d4: 0xe0000da6, 0x178d5: 0xe0000de6, 0x178d6: 0xe0000dd2, 0x178d7: 0x40093e20, + 0x178d8: 0xe0000e12, 0x178d9: 0xe0000fe1, 0x178da: 0x00306ca3, 0x178db: 0xe0000fed, + 0x178dc: 0xe0000fff, 0x178dd: 0xe0001102, 0x178de: 0x00318888, 0x178df: 0xe0000f7b, + 0x178e0: 0xe00008f2, 0x178e1: 0x402bde21, 0x178e2: 0xe000091e, 0x178e3: 0xe0000966, + 0x178e4: 0xe0000958, 0x178e5: 0xe000094a, 0x178e6: 0xe00009d5, 0x178e7: 0xe0000a4d, + 0x178e8: 0xe0000ae5, 0x178e9: 0x402c9821, 0x178ea: 0xe0000af1, 0x178eb: 0xe0000b1d, + 0x178ec: 0xe0000c28, 0x178ed: 0x402d9a21, 0x178ee: 0xe0000c34, 0x178ef: 0xe0000c40, + 0x178f0: 0xe0000aad, 0x178f1: 0xe0000d60, 0x178f2: 0xe0000d97, 0x178f3: 0x402ee221, + 0x178f4: 0xe0000da3, 0x178f5: 0xe0000de3, 0x178f6: 0xe0000dcf, 0x178f7: 0x40093c20, + 0x178f8: 0xe0000e0f, 0x178f9: 0xe0000fde, 0x178fa: 0x40306c21, 0x178fb: 0xe0000fea, + 0x178fc: 0xe0000ffc, 0x178fd: 0xe00010ff, 0x178fe: 0x40318820, 0x178ff: 0xe0001114, + // Block 0x5e4, offset 0x17900 + 0x17900: 0x002bdec3, 0x17901: 0x402bde22, 0x17902: 0xe00008fb, 0x17903: 0xe00008f8, + 0x17904: 0xe000097d, 0x17905: 0xe000097a, 0x17906: 0xe0000a38, 0x17907: 0xe0000a35, + 0x17908: 0xe0000a3e, 0x17909: 0xe0000a3b, 0x1790a: 0xe0000a4a, 0x1790b: 0xe0000a47, + 0x1790c: 0xe0000a44, 0x1790d: 0xe0000a41, 0x1790e: 0xe0000a86, 0x1790f: 0xe0000a83, + 0x17910: 0xe0000aaa, 0x17911: 0xe0000aa7, 0x17912: 0x002c98c3, 0x17913: 0x402c9822, + 0x17914: 0xe0000aee, 0x17915: 0xe0000aeb, 0x17916: 0xe0000b2c, 0x17917: 0xe0000b29, + 0x17918: 0xe0000b40, 0x17919: 0xe0000b3d, 0x1791a: 0xe0000b1a, 0x1791b: 0xe0000b17, + 0x1791c: 0xe0000bb8, 0x1791d: 0xe0000bb5, 0x1791e: 0xe0000bb2, 0x1791f: 0xe0000baf, + 0x17920: 0xe0000bc4, 0x17921: 0xe0000bc1, 0x17922: 0xe0000bca, 0x17923: 0xe0000bc7, + 0x17924: 0xe0000bee, 0x17925: 0xe0000beb, 0x17926: 0xe0000c1b, 0x17927: 0xe0000c18, + 0x17928: 0xe0000c51, 0x17929: 0xe0000c4e, 0x1792a: 0x002d9ac3, 0x1792b: 0x402d9a22, + 0x1792c: 0xe0000c31, 0x1792d: 0xe0000c2e, 0x1792e: 0xe0000c5a, 0x1792f: 0xe0000c57, + 0x17930: 0xe0000c54, 0x17931: 0x402da220, 0x17932: 0xf0000a0a, 0x17933: 0xf0000404, + 0x17934: 0xe0000c8a, 0x17935: 0xe0000c87, 0x17936: 0xe0000c9f, 0x17937: 0xe0000c9c, + 0x17938: 0x402f7220, 0x17939: 0xe0000ccc, 0x1793a: 0xe0000cc9, 0x1793b: 0xe0000cd8, + 0x1793c: 0xe0000cd5, 0x1793d: 0xe0000cd2, 0x1793e: 0xe0000ccf, 0x1793f: 0xe0000d04, + // Block 0x5e5, offset 0x17940 + 0x17940: 0xe0000cfe, 0x17941: 0xe0000cf8, 0x17942: 0xe0000cf5, 0x17943: 0xe0000d51, + 0x17944: 0xe0000d4e, 0x17945: 0xe0000d6f, 0x17946: 0xe0000d6c, 0x17947: 0xe0000d5d, + 0x17948: 0xe0000d5a, 0x17949: 0xf0000404, 0x1794a: 0x002ea086, 0x1794b: 0x002ea085, + 0x1794c: 0x002ee2c3, 0x1794d: 0x402ee222, 0x1794e: 0xe0000da0, 0x1794f: 0xe0000d9d, + 0x17950: 0xe0000de0, 0x17951: 0xe0000ddd, 0x17952: 0xe0000e93, 0x17953: 0xe0000e8f, + 0x17954: 0xe0000eca, 0x17955: 0xe0000ec7, 0x17956: 0xe0000edc, 0x17957: 0xe0000ed9, + 0x17958: 0xe0000ed0, 0x17959: 0xe0000ecd, 0x1795a: 0xe0000f1f, 0x1795b: 0xe0000f1c, + 0x1795c: 0xe0000f2d, 0x1795d: 0xe0000f2a, 0x1795e: 0xe0000f47, 0x1795f: 0xe0000f44, + 0x17960: 0xe0000f33, 0x17961: 0xe0000f30, 0x17962: 0xe0000f99, 0x17963: 0xe0000f96, + 0x17964: 0xe0000f8a, 0x17965: 0xe0000f87, 0x17966: 0x00303688, 0x17967: 0x40303620, + 0x17968: 0xe000102b, 0x17969: 0xe0001028, 0x1796a: 0x00306cc3, 0x1796b: 0x40306c22, + 0x1796c: 0xe0000fe7, 0x1796d: 0xe0000fe4, 0x1796e: 0xe0000ff9, 0x1796f: 0xe0000ff6, + 0x17970: 0xe0001025, 0x17971: 0xe0001022, 0x17972: 0xe0001039, 0x17973: 0xe0001036, + 0x17974: 0xe00010d8, 0x17975: 0xe00010d5, 0x17976: 0xe000110e, 0x17977: 0xe000110b, + 0x17978: 0xe0001117, 0x17979: 0xe000113b, 0x1797a: 0xe0001138, 0x1797b: 0xe000114d, + 0x1797c: 0xe000114a, 0x1797d: 0xe0001147, 0x1797e: 0xe0001144, 0x1797f: 0xe0000f64, + // Block 0x5e6, offset 0x17980 + 0x17980: 0x40321220, 0x17981: 0x40321a20, 0x17982: 0x40322220, 0x17983: 0x40322a20, + 0x17984: 0xe0000ad5, 0x17985: 0xe0000ad1, 0x17986: 0xe0000acd, 0x17987: 0xf0000a0a, + 0x17988: 0xf000040a, 0x17989: 0xf0000404, 0x1798a: 0xf0000a0a, 0x1798b: 0xf000040a, + 0x1798c: 0xf0000404, 0x1798d: 0xe0000947, 0x1798e: 0xe0000944, 0x1798f: 0xe0000c3d, + 0x17990: 0xe0000c3a, 0x17991: 0xe0000dcc, 0x17992: 0xe0000dc9, 0x17993: 0xe0000ff3, + 0x17994: 0xe0000ff0, 0x17995: 0xe000a9d3, 0x17996: 0xe000a9d0, 0x17997: 0xe000ae82, + 0x17998: 0xe000ae7f, 0x17999: 0xe0001016, 0x1799a: 0xe0001012, 0x1799b: 0xe000100e, + 0x1799c: 0xe000100a, 0x1799d: 0x402cae20, 0x1799e: 0xe000ae28, 0x1799f: 0xe000ae25, + 0x179a0: 0xe000ae2e, 0x179a1: 0xe000ae2b, 0x179a2: 0xe00009f4, 0x179a3: 0xe00009ef, + 0x179a4: 0x002d3a88, 0x179a5: 0x402d3a20, 0x179a6: 0xe0000bbe, 0x179a7: 0xe0000bbb, + 0x179a8: 0xe0000c99, 0x179a9: 0xe0000c96, 0x179aa: 0xe0000e20, 0x179ab: 0xe0000e1d, + 0x179ac: 0xe000ae7c, 0x179ad: 0xe000ae79, 0x179ae: 0xe0001162, 0x179af: 0xe000115f, + 0x179b0: 0xe0000c8d, 0x179b1: 0xf0000a0a, 0x179b2: 0xf000040a, 0x179b3: 0xf0000404, + 0x179b4: 0xe0000bac, 0x179b5: 0xe0000ba9, 0x179b6: 0x002d7888, 0x179b7: 0x00319488, + 0x179b8: 0xe0000d57, 0x179b9: 0xe0000d54, 0x179ba: 0xe000ae22, 0x179bb: 0xe000ae1f, + 0x179bc: 0xe00009ea, 0x179bd: 0xe00009e5, 0x179be: 0xe0000e19, 0x179bf: 0xe0000e15, + // Block 0x5e7, offset 0x179c0 + 0x179c0: 0xe000098f, 0x179c1: 0xe000098c, 0x179c2: 0xe0000995, 0x179c3: 0xe0000992, + 0x179c4: 0xe0000b62, 0x179c5: 0xe0000b5f, 0x179c6: 0xe0000b68, 0x179c7: 0xe0000b65, + 0x179c8: 0xe0000c6c, 0x179c9: 0xe0000c69, 0x179ca: 0xe0000c72, 0x179cb: 0xe0000c6f, + 0x179cc: 0xe0000e4a, 0x179cd: 0xe0000e47, 0x179ce: 0xe0000e50, 0x179cf: 0xe0000e4d, + 0x179d0: 0xe0000ee8, 0x179d1: 0xe0000ee5, 0x179d2: 0xe0000eee, 0x179d3: 0xe0000eeb, + 0x179d4: 0xe0001053, 0x179d5: 0xe0001050, 0x179d6: 0xe0001059, 0x179d7: 0xe0001056, + 0x179d8: 0xe0000f61, 0x179d9: 0xe0000f5e, 0x179da: 0xe0000fa5, 0x179db: 0xe0000fa2, + 0x179dc: 0x00312288, 0x179dd: 0x40312220, 0x179de: 0xe0000bf4, 0x179df: 0xe0000bf1, + 0x179e0: 0x002ebc88, 0x179e1: 0x402c8c20, 0x179e2: 0x002f2288, 0x179e3: 0x402f2220, + 0x179e4: 0x00314088, 0x179e5: 0x40314020, 0x179e6: 0xe000096f, 0x179e7: 0xe000096c, + 0x179e8: 0xe0000b32, 0x179e9: 0xe0000b2f, 0x179ea: 0xe000ae6a, 0x179eb: 0xe000ae67, + 0x179ec: 0xe000ae70, 0x179ed: 0xe000ae6d, 0x179ee: 0xe0000e04, 0x179ef: 0xe0000e01, + 0x179f0: 0xe000ae76, 0x179f1: 0xe000ae73, 0x179f2: 0xe0001129, 0x179f3: 0xe0001126, + 0x179f4: 0x402e5e20, 0x179f5: 0x402ed020, 0x179f6: 0x40305a20, 0x179f7: 0x402dd420, + 0x179f8: 0xe0000abf, 0x179f9: 0xe0000ec4, 0x179fa: 0x002be888, 0x179fb: 0x002c4488, + 0x179fc: 0x402c4420, 0x179fd: 0x002e3888, 0x179fe: 0x00303e88, 0x179ff: 0x402ffc20, + // Block 0x5e8, offset 0x17a00 + 0x17a00: 0x402f8220, 0x17a01: 0x402fd820, 0x17a02: 0x402ff420, 0x17a03: 0x40300820, + 0x17a04: 0x402df620, 0x17a05: 0x40301a20, 0x17a06: 0x40302420, 0x17a07: 0x40306420, + 0x17a08: 0x40305220, 0x17a09: 0x40307c20, 0x17a0a: 0x4030b420, 0x17a0b: 0x4030cc20, + 0x17a0c: 0x4030da20, 0x17a0d: 0x4030ee20, 0x17a0e: 0x402e7a20, 0x17a0f: 0x40310820, + 0x17a10: 0x40314820, 0x17a11: 0x40315020, 0x17a12: 0x40316420, 0x17a13: 0x40318020, + 0x17a14: 0x4031cc20, 0x17a15: 0x4031e820, 0x17a16: 0x40320a20, 0x17a17: 0x40323220, + 0x17a18: 0x40323a20, 0x17a19: 0x402c1220, 0x17a1a: 0x402cf820, 0x17a1b: 0x402d4c20, + 0x17a1c: 0x402d7020, 0x17a1d: 0x402de620, 0x17a1e: 0x402e1a20, 0x17a1f: 0x402e2a20, + 0x17a20: 0x402f6220, 0x17a21: 0x4031fa20, 0x17a22: 0x40320220, 0x17a23: 0xe0000aca, + 0x17a24: 0xe0000adc, 0x17a25: 0xe0000ad9, 0x17a26: 0xe0000fcc, 0x17a27: 0xe0000fcf, + 0x17a28: 0xe0000fba, 0x17a29: 0xe0000ba1, 0x17a2a: 0xe0000d11, 0x17a2b: 0xe0000d18, + 0x17a2c: 0x40324220, 0x17a2d: 0x40324a20, 0x17a2e: 0x40309020, 0x17a2f: 0x40309820, + 0x17a30: 0x002d6894, 0x17a31: 0x002d8094, 0x17a32: 0x002dcc94, 0x17a33: 0x002f7a94, + 0x17a34: 0x002f9894, 0x17a35: 0x002fac94, 0x17a36: 0x002fd894, 0x17a37: 0x0030e294, + 0x17a38: 0x00310094, 0x17a39: 0x40064020, 0x17a3a: 0x40064420, 0x17a3b: 0x40312c20, + 0x17a3c: 0x4031de20, 0x17a3d: 0x00312c83, 0x17a3e: 0x4031e220, 0x17a3f: 0x4031f020, + // Block 0x5e9, offset 0x17a40 + 0x17a40: 0xe00009b1, 0x17a41: 0xe00009ae, 0x17a42: 0xe0000a22, 0x17a43: 0xe0000a1f, + 0x17a44: 0xe0000a28, 0x17a45: 0xe0000a25, 0x17a46: 0xe0000a2e, 0x17a47: 0xe0000a2b, + 0x17a48: 0xe0000a5a, 0x17a49: 0xe0000a56, 0x17a4a: 0xe0000a8c, 0x17a4b: 0xe0000a89, + 0x17a4c: 0xe0000a98, 0x17a4d: 0xe0000a95, 0x17a4e: 0xe0000aa4, 0x17a4f: 0xe0000aa1, + 0x17a50: 0xe0000a92, 0x17a51: 0xe0000a8f, 0x17a52: 0xe0000a9e, 0x17a53: 0xe0000a9b, + 0x17a54: 0xe000ae40, 0x17a55: 0xe000ae3d, 0x17a56: 0xe000ae3a, 0x17a57: 0xe000ae37, + 0x17a58: 0xe0000b7c, 0x17a59: 0xe0000b79, 0x17a5a: 0xe0000b82, 0x17a5b: 0xe0000b7f, + 0x17a5c: 0xe0000b39, 0x17a5d: 0xe0000b35, 0x17a5e: 0xe0000b8c, 0x17a5f: 0xe0000b89, + 0x17a60: 0xe0000bd0, 0x17a61: 0xe0000bcd, 0x17a62: 0xe0000c00, 0x17a63: 0xe0000bfd, + 0x17a64: 0xe0000c0c, 0x17a65: 0xe0000c09, 0x17a66: 0xe0000bfa, 0x17a67: 0xe0000bf7, + 0x17a68: 0xe0000c06, 0x17a69: 0xe0000c03, 0x17a6a: 0xe0000c12, 0x17a6b: 0xe0000c0f, + 0x17a6c: 0xe0000c7e, 0x17a6d: 0xe0000c7b, 0x17a6e: 0xe000ae46, 0x17a6f: 0xe000ae43, + 0x17a70: 0xe0000c93, 0x17a71: 0xe0000c90, 0x17a72: 0xe0000cab, 0x17a73: 0xe0000ca8, + 0x17a74: 0xe0000cb1, 0x17a75: 0xe0000cae, 0x17a76: 0xe0000cde, 0x17a77: 0xe0000cdb, + 0x17a78: 0xe0000ce5, 0x17a79: 0xe0000ce1, 0x17a7a: 0xe0000cf2, 0x17a7b: 0xe0000cef, + 0x17a7c: 0xe0000cec, 0x17a7d: 0xe0000ce9, 0x17a7e: 0xe0000d1e, 0x17a7f: 0xe0000d1b, + // Block 0x5ea, offset 0x17a80 + 0x17a80: 0xe0000d24, 0x17a81: 0xe0000d21, 0x17a82: 0xe0000d2a, 0x17a83: 0xe0000d27, + 0x17a84: 0xe0000d69, 0x17a85: 0xe0000d66, 0x17a86: 0xe0000d7b, 0x17a87: 0xe0000d78, + 0x17a88: 0xe0000d87, 0x17a89: 0xe0000d84, 0x17a8a: 0xe0000d81, 0x17a8b: 0xe0000d7e, + 0x17a8c: 0xe000ae52, 0x17a8d: 0xe000ae4f, 0x17a8e: 0xe0000df5, 0x17a8f: 0xe0000df1, + 0x17a90: 0xe000ae64, 0x17a91: 0xe000ae61, 0x17a92: 0xe000ae5e, 0x17a93: 0xe000ae5b, + 0x17a94: 0xe0000ea7, 0x17a95: 0xe0000ea4, 0x17a96: 0xe0000ead, 0x17a97: 0xe0000eaa, + 0x17a98: 0xe0000ed6, 0x17a99: 0xe0000ed3, 0x17a9a: 0xe0000ef4, 0x17a9b: 0xe0000ef1, + 0x17a9c: 0xe0000efb, 0x17a9d: 0xe0000ef7, 0x17a9e: 0xe0000f02, 0x17a9f: 0xe0000eff, + 0x17aa0: 0xe0000f41, 0x17aa1: 0xe0000f3e, 0x17aa2: 0xe0000f53, 0x17aa3: 0xe0000f50, + 0x17aa4: 0xe0000f26, 0x17aa5: 0xe0000f22, 0x17aa6: 0xe0000f3a, 0x17aa7: 0xe0000f36, + 0x17aa8: 0xe0000f5a, 0x17aa9: 0xe0000f56, 0x17aaa: 0xe0000f93, 0x17aab: 0xe0000f90, + 0x17aac: 0xe0000f9f, 0x17aad: 0xe0000f9c, 0x17aae: 0xe0000fb1, 0x17aaf: 0xe0000fae, + 0x17ab0: 0xe0000fab, 0x17ab1: 0xe0000fa8, 0x17ab2: 0xe0001093, 0x17ab3: 0xe0001090, + 0x17ab4: 0xe000109f, 0x17ab5: 0xe000109c, 0x17ab6: 0xe0001099, 0x17ab7: 0xe0001096, + 0x17ab8: 0xe000ae88, 0x17ab9: 0xe000ae85, 0x17aba: 0xe000a9d3, 0x17abb: 0xe000a9d0, + 0x17abc: 0xe00010a9, 0x17abd: 0xe00010a6, 0x17abe: 0xe00010af, 0x17abf: 0xe00010ac, + // Block 0x5eb, offset 0x17ac0 + 0x17ac0: 0xe00010d2, 0x17ac1: 0xe00010cf, 0x17ac2: 0xe00010cc, 0x17ac3: 0xe00010c9, + 0x17ac4: 0xe00010e1, 0x17ac5: 0xe00010de, 0x17ac6: 0xe00010e7, 0x17ac7: 0xe00010e4, + 0x17ac8: 0xe00010ed, 0x17ac9: 0xe00010ea, 0x17aca: 0xe00010fc, 0x17acb: 0xe00010f9, + 0x17acc: 0xe00010f6, 0x17acd: 0xe00010f3, 0x17ace: 0xe0001123, 0x17acf: 0xe0001120, + 0x17ad0: 0xe0001141, 0x17ad1: 0xe000113e, 0x17ad2: 0xe0001153, 0x17ad3: 0xe0001150, + 0x17ad4: 0xe0001159, 0x17ad5: 0xe0001156, 0x17ad6: 0xe0000c15, 0x17ad7: 0xe0000f8d, + 0x17ad8: 0xe00010db, 0x17ad9: 0xe0001111, 0x17ada: 0xf0000404, 0x17adb: 0xe0000f70, + 0x17adc: 0x40300420, 0x17add: 0x40300620, 0x17ade: 0xe0000f7f, 0x17adf: 0x402c9620, + 0x17ae0: 0xe000099b, 0x17ae1: 0xe0000998, 0x17ae2: 0xe0000989, 0x17ae3: 0xe0000986, + 0x17ae4: 0xe000ae1c, 0x17ae5: 0xe000ae19, 0x17ae6: 0xe0000930, 0x17ae7: 0xe000092c, + 0x17ae8: 0xe0000940, 0x17ae9: 0xe000093c, 0x17aea: 0xe0000938, 0x17aeb: 0xe0000934, + 0x17aec: 0xe00009aa, 0x17aed: 0xe00009a6, 0x17aee: 0xe000ae16, 0x17aef: 0xe000ae13, + 0x17af0: 0xe000090a, 0x17af1: 0xe0000906, 0x17af2: 0xe000091a, 0x17af3: 0xe0000916, + 0x17af4: 0xe0000912, 0x17af5: 0xe000090e, 0x17af6: 0xe00009a2, 0x17af7: 0xe000099e, + 0x17af8: 0xe0000b6e, 0x17af9: 0xe0000b6b, 0x17afa: 0xe0000b5c, 0x17afb: 0xe0000b59, + 0x17afc: 0xe0000b26, 0x17afd: 0xe0000b23, 0x17afe: 0xe000ae34, 0x17aff: 0xe000ae31, + // Block 0x5ec, offset 0x17b00 + 0x17b00: 0xe0000b03, 0x17b01: 0xe0000aff, 0x17b02: 0xe0000b13, 0x17b03: 0xe0000b0f, + 0x17b04: 0xe0000b0b, 0x17b05: 0xe0000b07, 0x17b06: 0xe0000b75, 0x17b07: 0xe0000b71, + 0x17b08: 0xe0000c66, 0x17b09: 0xe0000c63, 0x17b0a: 0xe0000c78, 0x17b0b: 0xe0000c75, + 0x17b0c: 0xe0000e84, 0x17b0d: 0xe0000e81, 0x17b0e: 0xe0000e44, 0x17b0f: 0xe0000e41, + 0x17b10: 0xe000ae4c, 0x17b11: 0xe000ae49, 0x17b12: 0xe0000db5, 0x17b13: 0xe0000db1, + 0x17b14: 0xe0000dc5, 0x17b15: 0xe0000dc1, 0x17b16: 0xe0000dbd, 0x17b17: 0xe0000db9, + 0x17b18: 0xe0000e8b, 0x17b19: 0xe0000e87, 0x17b1a: 0xe000ae58, 0x17b1b: 0xe000ae55, + 0x17b1c: 0xe0000e65, 0x17b1d: 0xe0000e61, 0x17b1e: 0xe0000e75, 0x17b1f: 0xe0000e71, + 0x17b20: 0xe0000e6d, 0x17b21: 0xe0000e69, 0x17b22: 0xe0000e7d, 0x17b23: 0xe0000e79, + 0x17b24: 0xe000108d, 0x17b25: 0xe000108a, 0x17b26: 0xe000104d, 0x17b27: 0xe000104a, + 0x17b28: 0xe000ae8e, 0x17b29: 0xe000ae8b, 0x17b2a: 0xe000106e, 0x17b2b: 0xe000106a, + 0x17b2c: 0xe000107e, 0x17b2d: 0xe000107a, 0x17b2e: 0xe0001076, 0x17b2f: 0xe0001072, + 0x17b30: 0xe0001086, 0x17b31: 0xe0001082, 0x17b32: 0xe0001108, 0x17b33: 0xe0001105, + 0x17b34: 0xe0001135, 0x17b35: 0xe0001132, 0x17b36: 0xe000112f, 0x17b37: 0xe000112c, + 0x17b38: 0xe000111d, 0x17b39: 0xe000111a, 0x17b3a: 0xe0000d0a, 0x17b3b: 0xe0000d07, + 0x17b3c: 0x0030d888, 0x17b3d: 0x4030d820, 0x17b3e: 0x00312088, 0x17b3f: 0x40312020, + // Block 0x5ed, offset 0x17b40 + 0x17b40: 0xa0000000, 0x17b41: 0xa0000000, 0x17b42: 0xa0000000, 0x17b43: 0xa0000000, + 0x17b44: 0xa0000000, 0x17b45: 0xa0000000, 0x17b46: 0xa0000000, 0x17b47: 0xa0000000, + 0x17b48: 0xa0000000, 0x17b49: 0x40020020, 0x17b4a: 0x40020220, 0x17b4b: 0x40020420, + 0x17b4c: 0x40020620, 0x17b4d: 0x40020820, 0x17b4e: 0xa0000000, 0x17b4f: 0xa0000000, + 0x17b50: 0xa0000000, 0x17b51: 0xa0000000, 0x17b52: 0xa0000000, 0x17b53: 0xa0000000, + 0x17b54: 0xa0000000, 0x17b55: 0xa0000000, 0x17b56: 0xa0000000, 0x17b57: 0xa0000000, + 0x17b58: 0xa0000000, 0x17b59: 0xa0000000, 0x17b5a: 0xa0000000, 0x17b5b: 0xa0000000, + 0x17b5c: 0xa0000000, 0x17b5d: 0xa0000000, 0x17b5e: 0xa0000000, 0x17b5f: 0xa0000000, + 0x17b60: 0x40021220, 0x17b61: 0x4002ba20, 0x17b62: 0x4003e020, 0x17b63: 0x4004ea20, + 0x17b64: 0x4027de20, 0x17b65: 0x4004ec20, 0x17b66: 0x4004e620, 0x17b67: 0x4003d220, + 0x17b68: 0x4003f420, 0x17b69: 0x4003f620, 0x17b6a: 0x4004d820, 0x17b6b: 0x40093820, + 0x17b6c: 0x40024020, 0x17b6d: 0x40021a20, 0x17b6e: 0x4002e420, 0x17b6f: 0x4004e220, + 0x17b70: 0x4029cc20, 0x17b71: 0x4029ce20, 0x17b72: 0x4029d020, 0x17b73: 0x4029d220, + 0x17b74: 0x4029d420, 0x17b75: 0x4029d620, 0x17b76: 0x4029d820, 0x17b77: 0x4029da20, + 0x17b78: 0x4029dc20, 0x17b79: 0x4029de20, 0x17b7a: 0x40026c20, 0x17b7b: 0x40026220, + 0x17b7c: 0x40094020, 0x17b7d: 0x40094220, 0x17b7e: 0x40094420, 0x17b7f: 0x4002c420, + // Block 0x5ee, offset 0x17b80 + 0x17b80: 0x4004d620, 0x17b81: 0x002bde88, 0x17b82: 0x002c0a88, 0x17b83: 0xc3350911, + 0x17b84: 0x002c6288, 0x17b85: 0x002c9888, 0x17b86: 0x002d0888, 0x17b87: 0xc33900d1, + 0x17b88: 0x002d6888, 0x17b89: 0xc33b0931, 0x17b8a: 0x002dcc88, 0x17b8b: 0x002dfe88, + 0x17b8c: 0xc0030002, 0x17b8d: 0x002e8288, 0x17b8e: 0x002e9e88, 0x17b8f: 0xc33f0071, + 0x17b90: 0x002f2c88, 0x17b91: 0x002f5688, 0x17b92: 0x002f7a88, 0x17b93: 0xc3430911, + 0x17b94: 0x00302c88, 0x17b95: 0xc3470071, 0x17b96: 0x0030be88, 0x17b97: 0x0030e288, + 0x17b98: 0x0030f688, 0x17b99: 0x00310088, 0x17b9a: 0x00312a88, 0x17b9b: 0x4003f820, + 0x17b9c: 0x4004e420, 0x17b9d: 0x4003fa20, 0x17b9e: 0x40062420, 0x17b9f: 0x40021620, + 0x17ba0: 0x40061e20, 0x17ba1: 0x402bde20, 0x17ba2: 0x402c0a20, 0x17ba3: 0xc3330911, + 0x17ba4: 0x402c6220, 0x17ba5: 0x402c9820, 0x17ba6: 0x402d0820, 0x17ba7: 0xc33700d1, + 0x17ba8: 0x402d6820, 0x17ba9: 0x402d9a20, 0x17baa: 0x402dcc20, 0x17bab: 0x402dfe20, + 0x17bac: 0xc0000002, 0x17bad: 0x402e8220, 0x17bae: 0x402e9e20, 0x17baf: 0xc33d0071, + 0x17bb0: 0x402f2c20, 0x17bb1: 0x402f5620, 0x17bb2: 0x402f7a20, 0x17bb3: 0xc3410911, + 0x17bb4: 0x40302c20, 0x17bb5: 0xc3450071, 0x17bb6: 0x4030be20, 0x17bb7: 0x4030e220, + 0x17bb8: 0x4030f620, 0x17bb9: 0x40310020, 0x17bba: 0x40312a20, 0x17bbb: 0x4003fc20, + 0x17bbc: 0x40094820, 0x17bbd: 0x4003fe20, 0x17bbe: 0x40094c20, 0x17bbf: 0xa0000000, + // Block 0x5ef, offset 0x17bc0 + 0x17bc0: 0x00093685, 0x17bc1: 0x40083620, 0x17bc2: 0x40083820, 0x17bc3: 0x40083a20, + 0x17bc4: 0x40083c20, 0x17bc5: 0x002c628b, 0x17bc6: 0x002c6285, 0x17bc7: 0x002c9885, + 0x17bc8: 0x002d9a85, 0x17bc9: 0x002dcc85, 0x17bca: 0x40083e20, 0x17bcb: 0x400a6e20, + 0x17bcc: 0x40084020, 0x17bcd: 0xe00009c4, 0x17bce: 0x402d1e20, 0x17bcf: 0x40084220, + 0x17bd0: 0xe00002cb, 0x17bd1: 0xe00002d3, 0x17bd2: 0xe00002b2, 0x17bd3: 0xe00002bb, + 0x17bd4: 0xe00003cd, 0x17bd5: 0xe00002c3, 0x17bd6: 0xe00003d1, 0x17bd7: 0xe00004ab, + 0x17bd8: 0xe0000579, 0x17bd9: 0xe00002c7, 0x17bda: 0xe0000640, 0x17bdb: 0xe00002cf, + 0x17bdc: 0xe00004af, 0x17bdd: 0xe0000644, 0x17bde: 0xe0000798, 0x17bdf: 0xf0001e1e, + 0x17be0: 0x002d9a8a, 0x17be1: 0xe00027d4, 0x17be2: 0xe00027db, 0x17be3: 0xe00027ee, + 0x17be4: 0x0030be8a, 0x17be5: 0xe0002848, 0x17be6: 0xe000284f, 0x17be7: 0xe00010bb, + 0x17be8: 0xe00027f4, 0x17be9: 0x0030f68a, 0x17bea: 0xe0002883, 0x17beb: 0xe000288a, + 0x17bec: 0x002e228a, 0x17bed: 0x002c3a8a, 0x17bee: 0x002c628a, 0x17bef: 0x002e828a, + 0x17bf0: 0x002d9a84, 0x17bf1: 0xf0001f04, 0x17bf2: 0xf0000404, 0x17bf3: 0xf0001f04, + 0x17bf4: 0x0030be84, 0x17bf5: 0xf0001f04, 0x17bf6: 0xf0000404, 0x17bf7: 0xe00010b6, + 0x17bf8: 0xf0001f04, 0x17bf9: 0x0030f684, 0x17bfa: 0xf0001f04, 0x17bfb: 0xf0000404, + 0x17bfc: 0x002e2284, 0x17bfd: 0x002c3a84, 0x17bfe: 0x002c6284, 0x17bff: 0x002e8284, + // Block 0x5f0, offset 0x17c00 + 0x17c00: 0xf0001f04, 0x17c01: 0xf0001f04, 0x17c02: 0xf0001f04, 0x17c03: 0xf0001f04, + 0x17c04: 0xf0001f04, 0x17c05: 0xf0001f04, 0x17c06: 0xf0001f04, 0x17c07: 0xf0001f04, + 0x17c08: 0xf0001f04, 0x17c09: 0xf0001f04, 0x17c0a: 0xf0001f04, + 0x17c10: 0xf0000a04, 0x17c11: 0xf0000a04, 0x17c12: 0xf0000a04, 0x17c13: 0xf0000a04, + 0x17c14: 0xf0000a04, 0x17c15: 0xf0000a04, 0x17c16: 0xf0000a04, 0x17c17: 0xf0000a04, + 0x17c18: 0xe00024b3, 0x17c19: 0xf0000a04, 0x17c1a: 0xf0000a04, 0x17c1b: 0xf0000a04, + 0x17c1c: 0xf0000a04, 0x17c1d: 0xf0000a04, 0x17c1e: 0xf0000a04, 0x17c1f: 0xf0000a04, + 0x17c20: 0xf0000a04, 0x17c21: 0xf0000a04, 0x17c22: 0xf0000a04, 0x17c23: 0xf0000a04, + 0x17c24: 0xf0000a04, 0x17c25: 0xf0000a04, 0x17c26: 0xf0000a04, 0x17c27: 0xf0000a04, + 0x17c28: 0xf0000a04, 0x17c29: 0xf0000a04, 0x17c2a: 0xf0000a04, 0x17c2b: 0x002c3a8c, + 0x17c2c: 0x002f7a8c, 0x17c2d: 0xf0000c0c, 0x17c2e: 0xf0000c0c, + 0x17c30: 0x002bde9d, 0x17c31: 0x002c0a9d, 0x17c32: 0x002c3a9d, 0x17c33: 0x002c629d, + 0x17c34: 0x002c989d, 0x17c35: 0x002d089d, 0x17c36: 0x002d229d, 0x17c37: 0x002d689d, + 0x17c38: 0x002d9a9d, 0x17c39: 0x002dcc9d, 0x17c3a: 0x002dfe9d, 0x17c3b: 0x002e229d, + 0x17c3c: 0x002e829d, 0x17c3d: 0x002e9e9d, 0x17c3e: 0x002ee29d, 0x17c3f: 0x002f2c9d, + // Block 0x5f1, offset 0x17c40 + 0x17c40: 0x00352088, 0x17c41: 0x40352020, 0x17c42: 0x40070620, 0x17c43: 0xae608302, + 0x17c44: 0xae605f02, 0x17c45: 0xae602a02, 0x17c46: 0xae602202, 0x17c47: 0xae605f02, + 0x17c48: 0xa0000000, 0x17c49: 0xa0000000, 0x17c4a: 0x00341c88, 0x17c4b: 0x40341c20, + 0x17c4c: 0x00369688, 0x17c4d: 0x40369620, 0x17c4e: 0x00353088, 0x17c4f: 0x40353020, + 0x17c50: 0x00336483, 0x17c51: 0x40336420, 0x17c52: 0x00336a88, 0x17c53: 0x40336a20, + 0x17c54: 0x00337a88, 0x17c55: 0x40337a20, 0x17c56: 0x0033dc88, 0x17c57: 0x4033dc20, + 0x17c58: 0x0033aa88, 0x17c59: 0x4033aa20, 0x17c5a: 0x00345888, 0x17c5b: 0x40345820, + 0x17c5c: 0x00347888, 0x17c5d: 0x40347820, 0x17c5e: 0x00347088, 0x17c5f: 0x40347020, + 0x17c60: 0x00346888, 0x17c61: 0x40346820, 0x17c62: 0x0034ca88, 0x17c63: 0x4034ca20, + 0x17c64: 0x0034dc88, 0x17c65: 0x4034dc20, 0x17c66: 0x00351888, 0x17c67: 0x40351820, + 0x17c68: 0x00372688, 0x17c69: 0x40372620, 0x17c6a: 0x00354488, 0x17c6b: 0x40354420, + 0x17c6c: 0x00355888, 0x17c6d: 0x40355820, 0x17c6e: 0x00359288, 0x17c6f: 0x40359220, + 0x17c70: 0x00359a88, 0x17c71: 0x40359a20, 0x17c72: 0x0035cc88, 0x17c73: 0x4035cc20, + 0x17c74: 0x00360e88, 0x17c75: 0x40360e20, 0x17c76: 0x00362a88, 0x17c77: 0x40362a20, + 0x17c78: 0x00363a88, 0x17c79: 0x40363a20, 0x17c7a: 0x0035d488, 0x17c7b: 0x4035d420, + 0x17c7c: 0x00364488, 0x17c7d: 0x40364420, 0x17c7e: 0x00364c88, 0x17c7f: 0x40364c20, + // Block 0x5f2, offset 0x17c80 + 0x17c80: 0xa0000000, 0x17c81: 0xa0000000, 0x17c82: 0xa0000000, 0x17c83: 0xa0000000, + 0x17c84: 0xa0000000, 0x17c86: 0x40096620, 0x17c87: 0x40096a20, + 0x17c88: 0x40070820, 0x17c89: 0x4004f220, 0x17c8a: 0x4004f620, 0x17c8b: 0x4027e620, + 0x17c8c: 0x40024820, 0x17c8d: 0x40024a20, 0x17c8e: 0x40070e20, 0x17c8f: 0x40071020, + 0x17c90: 0xa0000001, 0x17c91: 0xa0000002, 0x17c92: 0xa0000004, 0x17c93: 0xa0000003, + 0x17c94: 0xa0000005, 0x17c95: 0xae600000, 0x17c96: 0xae600000, 0x17c97: 0xae600000, + 0x17c98: 0xa1e00000, 0x17c99: 0xa1f00000, 0x17c9a: 0xa2000000, 0x17c9b: 0x40026420, + 0x17c9e: 0x40027020, 0x17c9f: 0x4002cc20, + 0x17ca0: 0x403aa220, 0x17ca1: 0x4039a620, 0x17ca2: 0x40393a20, 0x17ca3: 0x40393821, + 0x17ca4: 0x40399c21, 0x17ca5: 0x40392820, 0x17ca6: 0x4039a821, 0x17ca7: 0xcf6e0151, + 0x17ca8: 0xcf729a11, 0x17ca9: 0x40395420, 0x17caa: 0xcf769a11, 0x17cab: 0x40394c20, + 0x17cac: 0xcf7a9a11, 0x17cad: 0x40395620, 0x17cae: 0x40395820, 0x17caf: 0xcf7e9a11, + 0x17cb0: 0x40396220, 0x17cb1: 0xcf829a11, 0x17cb2: 0x40396c20, 0x17cb3: 0x40397020, + 0x17cb4: 0x40397220, 0x17cb5: 0x40397420, 0x17cb6: 0x40397620, 0x17cb7: 0x40397820, + 0x17cb8: 0x40397a20, 0x17cb9: 0x40397c20, 0x17cba: 0x40397e20, 0x17cbb: 0x403a3820, + 0x17cbc: 0x403a3a20, 0x17cbd: 0x403a9c20, 0x17cbe: 0x403a9e20, 0x17cbf: 0x403aa020, + // Block 0x5f3, offset 0x17cc0 + 0x17cc0: 0xa0000000, 0x17cc1: 0x40398020, 0x17cc2: 0x40398220, 0x17cc3: 0x403a1a20, + 0x17cc4: 0xcf8a9a11, 0x17cc5: 0xcf8c9a11, 0x17cc6: 0xcf8e9a11, 0x17cc7: 0x403a6820, + 0x17cc8: 0xcf929a32, 0x17cc9: 0x403a8e20, 0x17cca: 0xcf970171, 0x17ccb: 0xa000c302, + 0x17ccc: 0xa000c502, 0x17ccd: 0xa000c402, 0x17cce: 0xa000bd02, 0x17ccf: 0xa000bf02, + 0x17cd0: 0xa000be02, 0x17cd1: 0xa000c702, 0x17cd2: 0xa220bc02, 0x17cd3: 0xa000c902, + 0x17cd4: 0xa000c602, 0x17cd5: 0xadc0bf02, 0x17cd6: 0xa000c102, 0x17cd7: 0xa000c202, + 0x17cd8: 0xa000c802, 0x17cd9: 0xae60c402, 0x17cda: 0xae60c502, 0x17cdb: 0xae60c602, + 0x17cdc: 0xadc0c702, 0x17cdd: 0xae60c802, 0x17cde: 0xae60c902, 0x17cdf: 0xadc0c002, + 0x17ce0: 0xe000015e, 0x17ce1: 0xe00001e6, 0x17ce2: 0xe0000301, 0x17ce3: 0xe00003db, + 0x17ce4: 0xe00004b6, 0x17ce5: 0xe0000580, 0x17ce6: 0xe000064b, 0x17ce7: 0xe00006f3, + 0x17ce8: 0xe000079f, 0x17ce9: 0xe0000844, 0x17cea: 0x4004ee20, 0x17ceb: 0x40024c20, + 0x17cec: 0x40024e20, 0x17ced: 0x4004de20, 0x17cee: 0x40393a20, 0x17cef: 0x403a1020, + 0x17cf0: 0xa000c002, 0x17cf1: 0x40392420, 0x17cf2: 0x40392220, 0x17cf3: 0x40392a20, + 0x17cf4: 0x00391c84, 0x17cf5: 0xf0000404, 0x17cf6: 0xe000b07a, 0x17cf7: 0xf0000404, + 0x17cf8: 0xf0000404, 0x17cf9: 0xcf789a11, 0x17cfa: 0x40395c20, 0x17cfb: 0x40393e20, + 0x17cfc: 0x40395e20, 0x17cfd: 0x40396020, 0x17cfe: 0xcf749a11, 0x17cff: 0x40396220, + // Block 0x5f4, offset 0x17d00 + 0x17d00: 0x40394220, 0x17d01: 0x40397620, 0x17d02: 0x40397820, 0x17d03: 0x40396620, + 0x17d04: 0x40396820, 0x17d05: 0x40397a20, 0x17d06: 0xcf7c9a11, 0x17d07: 0x40396e20, + 0x17d08: 0xcf809a11, 0x17d09: 0x40398e20, 0x17d0a: 0x40399020, 0x17d0b: 0x40399220, + 0x17d0c: 0x40399420, 0x17d0d: 0x40399620, 0x17d0e: 0x40399820, 0x17d0f: 0x40399a20, + 0x17d10: 0x40399c20, 0x17d11: 0xcf849a11, 0x17d12: 0x4039aa20, 0x17d13: 0x4039ac20, + 0x17d14: 0x4039ae20, 0x17d15: 0x4039b020, 0x17d16: 0x4039b220, 0x17d17: 0x4039b420, + 0x17d18: 0x40396e20, 0x17d19: 0x4039b820, 0x17d1a: 0x4039ca20, 0x17d1b: 0x4039cc20, + 0x17d1c: 0x4039ce20, 0x17d1d: 0x4039e020, 0x17d1e: 0x4039e220, 0x17d1f: 0x4039ea20, + 0x17d20: 0x4039f220, 0x17d21: 0x4039fe20, 0x17d22: 0x403a0020, 0x17d23: 0x403a0220, + 0x17d24: 0x403a0420, 0x17d25: 0x403a0820, 0x17d26: 0x403a0a20, 0x17d27: 0x403a1420, + 0x17d28: 0x403a1620, 0x17d29: 0xcf869a11, 0x17d2a: 0x403a1e20, 0x17d2b: 0x403a2020, + 0x17d2c: 0x403a2220, 0x17d2d: 0x403a2620, 0x17d2e: 0x403a2820, 0x17d2f: 0xcf889a11, + 0x17d30: 0x403a2c20, 0x17d31: 0x403a2e20, 0x17d32: 0x403a3020, 0x17d33: 0x403a3220, + 0x17d34: 0x403a3420, 0x17d35: 0x403a4220, 0x17d36: 0x403a4420, 0x17d37: 0x403a4620, + 0x17d38: 0x403a4820, 0x17d39: 0x403a6020, 0x17d3a: 0xcf909a11, 0x17d3b: 0x403a5a20, + 0x17d3c: 0x403a5c20, 0x17d3d: 0x403a5e20, 0x17d3e: 0x4039a220, 0x17d3f: 0x40396c20, + // Block 0x5f5, offset 0x17d40 + 0x17d40: 0xe000b077, 0x17d41: 0xcf950171, 0x17d42: 0x4039a021, 0x17d43: 0x4039a420, + 0x17d44: 0x403a7620, 0x17d45: 0x403a7820, 0x17d46: 0x403a7a20, 0x17d47: 0x403a7c20, + 0x17d48: 0x403a7e20, 0x17d49: 0x403a8020, 0x17d4a: 0x403a8220, 0x17d4b: 0x403a8420, + 0x17d4c: 0xcf999a11, 0x17d4d: 0x403a9420, 0x17d4e: 0x403a9620, 0x17d4f: 0x403a8620, + 0x17d50: 0x403a9820, 0x17d51: 0x403a9a20, 0x17d52: 0xcf9b0171, 0x17d53: 0x4039ac21, + 0x17d54: 0x4002e820, 0x17d55: 0x403a7220, 0x17d56: 0xae600000, 0x17d57: 0xae600000, + 0x17d58: 0xae600000, 0x17d59: 0xae600000, 0x17d5a: 0xae600000, 0x17d5b: 0xae600000, + 0x17d5c: 0xae600000, 0x17d5d: 0xa0000000, 0x17d5e: 0x40071220, 0x17d5f: 0xae600000, + 0x17d60: 0xae600000, 0x17d61: 0xae600000, 0x17d62: 0xae600000, 0x17d63: 0xadc00000, + 0x17d64: 0xae600000, 0x17d65: 0x003a7484, 0x17d66: 0x003a9084, 0x17d67: 0xae600000, + 0x17d68: 0xae600000, 0x17d69: 0x40071420, 0x17d6a: 0xadc00000, 0x17d6b: 0xae600000, + 0x17d6c: 0xae600000, 0x17d6d: 0xadc00000, 0x17d6e: 0x40399e20, 0x17d6f: 0x4039ba20, + 0x17d70: 0xe0000161, 0x17d71: 0xe00001e9, 0x17d72: 0xe0000304, 0x17d73: 0xe00003de, + 0x17d74: 0xe00004b9, 0x17d75: 0xe0000583, 0x17d76: 0xe000064e, 0x17d77: 0xe00006f6, + 0x17d78: 0xe00007a2, 0x17d79: 0xe0000847, 0x17d7a: 0x4039d020, 0x17d7b: 0x4039e420, + 0x17d7c: 0x4039f420, 0x17d7d: 0xe0001553, 0x17d7e: 0xe0001779, 0x17d7f: 0x403a7020, + // Block 0x5f6, offset 0x17d80 + 0x17d80: 0xe000155f, 0x17d81: 0xe0001565, 0x17d82: 0xe000157a, 0x17d83: 0xe00015b0, + 0x17d84: 0xe00015b6, 0x17d85: 0xe000ae97, 0x17d86: 0xe000ae9d, 0x17d87: 0xe000aea3, + 0x17d88: 0xe000aeb5, 0x17d89: 0xf0001a1a, 0x17d8a: 0xf0001a1a, 0x17d8b: 0xe000aebe, + 0x17d8c: 0xe000aec4, 0x17d8d: 0xe000aeca, 0x17d8e: 0xe000aedc, 0x17d8f: 0xe000289a, + 0x17d90: 0xe00036b1, 0x17d91: 0xe000aee2, 0x17d92: 0xe000aef4, 0x17d93: 0xe00028a0, + 0x17d94: 0xe00036ba, 0x17d95: 0xe000aefd, 0x17d96: 0xe000af03, 0x17d97: 0xe000af09, + 0x17d98: 0xe000af0f, 0x17d99: 0xe000af15, 0x17d9a: 0xe000af18, 0x17d9b: 0xe000af1e, + 0x17d9c: 0xe000af2d, 0x17d9d: 0xe000af36, 0x17d9e: 0xe000af3f, 0x17d9f: 0xe000af4e, + 0x17da0: 0xe000af8a, 0x17da1: 0xe000af99, 0x17da2: 0xe000af9f, 0x17da3: 0xe000afa5, + 0x17da4: 0xe000afab, 0x17da5: 0xe000afb7, 0x17da6: 0xe000afbd, 0x17da7: 0xe000afc6, + 0x17da8: 0xe000afcf, 0x17da9: 0xe000afd5, 0x17daa: 0xe000afdb, 0x17dab: 0xe000afe1, + 0x17dac: 0xe000afe7, 0x17dad: 0xe000afed, 0x17dae: 0xe000aff3, 0x17daf: 0xe000aff9, + 0x17db0: 0xe000afff, 0x17db1: 0xe00028e2, 0x17db2: 0xe0003708, 0x17db3: 0xe000b005, + 0x17db4: 0xe000b00b, 0x17db5: 0xe00028e8, 0x17db6: 0xe000370e, 0x17db7: 0xf0001a1a, + 0x17db8: 0xe000371a, 0x17db9: 0xe0003720, 0x17dba: 0xe0003726, 0x17dbb: 0xe0003732, + 0x17dbc: 0xe000373e, 0x17dbd: 0xf0001a1a, 0x17dbe: 0xf0001a1a, 0x17dbf: 0xe000b017, + // Block 0x5f7, offset 0x17dc0 + 0x17dc0: 0xe000b01d, 0x17dc1: 0xe000b023, 0x17dc2: 0xe000b02f, 0x17dc3: 0xe00028f4, + 0x17dc4: 0xe000374d, 0x17dc5: 0xe000b038, 0x17dc6: 0xe000b03e, 0x17dc7: 0xe000b044, + 0x17dc8: 0xe000b04d, 0x17dc9: 0xe00028f7, 0x17dca: 0xe0003750, 0x17dcb: 0xe000b053, + 0x17dcc: 0xe000b059, 0x17dcd: 0xe000b05f, 0x17dce: 0xe000b071, 0x17dcf: 0xe00028fd, + 0x17dd0: 0xe000375c, 0x17dd1: 0xe0003765, 0x17dd2: 0xe000376b, 0x17dd3: 0xf0001a1a, + 0x17dd4: 0xf0001a1a, 0x17dd5: 0xe0003786, 0x17dd6: 0xe000378c, 0x17dd7: 0xe0003792, + 0x17dd8: 0xe00037a4, 0x17dd9: 0xf0001a1a, 0x17dda: 0xf0001a1a, 0x17ddb: 0xe000af21, + 0x17ddc: 0xe000af24, 0x17ddd: 0xe000377d, 0x17dde: 0xe0000003, 0x17ddf: 0xe0000006, + 0x17de0: 0xe0000009, 0x17de1: 0xe000000c, 0x17de2: 0xe000000f, 0x17de3: 0xe0000012, + 0x17de4: 0xe000156b, 0x17de5: 0xe000156e, 0x17de6: 0xe0001577, 0x17de7: 0xe000157d, + 0x17de8: 0xe00015aa, 0x17de9: 0xe00015b3, 0x17dea: 0xe000aea6, 0x17deb: 0xe000aea9, + 0x17dec: 0xe000aeb2, 0x17ded: 0xe000aeb8, 0x17dee: 0xf0001919, 0x17def: 0xf0001919, + 0x17df0: 0xe000aecd, 0x17df1: 0xe000aed0, 0x17df2: 0xe000aed9, 0x17df3: 0xe000aedf, + 0x17df4: 0xe0002897, 0x17df5: 0xe00036ae, 0x17df6: 0xe000aee5, 0x17df7: 0xe000aee8, + 0x17df8: 0xe000aef1, 0x17df9: 0xe000aef7, 0x17dfa: 0xe000289d, 0x17dfb: 0xe00036b7, + 0x17dfc: 0xe00028df, 0x17dfd: 0xe0003705, 0x17dfe: 0xe00028e5, 0x17dff: 0xe000370b, + // Block 0x5f8, offset 0x17e00 + 0x17e00: 0xf0001919, 0x17e01: 0xe000372f, 0x17e02: 0xe000373b, 0x17e03: 0xf0001919, + 0x17e04: 0xf0001919, 0x17e05: 0xe000b02c, 0x17e06: 0xe00028f1, 0x17e07: 0xe000374a, + 0x17e08: 0xe000b032, 0x17e09: 0xe000b04a, 0x17e0a: 0xe000b062, 0x17e0b: 0xe000b065, + 0x17e0c: 0xe000b06e, 0x17e0d: 0xe000b074, 0x17e0e: 0xe00028fa, 0x17e0f: 0xe0003759, + 0x17e10: 0xe000377a, 0x17e11: 0xe0003795, 0x17e12: 0xe0003798, 0x17e13: 0xe00037a1, + 0x17e14: 0xe00037a7, 0x17e15: 0xf0001919, 0x17e16: 0xf0001919, 0x17e17: 0xe000155c, + 0x17e18: 0xe0001562, 0x17e19: 0xe0001568, 0x17e1a: 0xe0001571, 0x17e1b: 0xe0001580, + 0x17e1c: 0xe000ae94, 0x17e1d: 0xe000ae9a, 0x17e1e: 0xe000aea0, 0x17e1f: 0xe000aeac, + 0x17e20: 0xf0001717, 0x17e21: 0xe000aebb, 0x17e22: 0xe000aec1, 0x17e23: 0xe000aec7, + 0x17e24: 0xe000aed3, 0x17e25: 0xe00036a8, 0x17e26: 0xe000aeeb, 0x17e27: 0xe000aefa, + 0x17e28: 0xe000af00, 0x17e29: 0xe000af06, 0x17e2a: 0xe000af0c, 0x17e2b: 0xe000af12, + 0x17e2c: 0xe000af1b, 0x17e2d: 0xe000af27, 0x17e2e: 0xe000af30, 0x17e2f: 0xe000af39, + 0x17e30: 0xe000af48, 0x17e31: 0xe000af87, 0x17e32: 0xe000af8d, 0x17e33: 0xe000af96, + 0x17e34: 0xe000af9c, 0x17e35: 0xe000afa2, 0x17e36: 0xe000afa8, 0x17e37: 0xe000afb4, + 0x17e38: 0xe000afba, 0x17e39: 0xe000afc9, 0x17e3a: 0xe000afd2, 0x17e3b: 0xe000afd8, + 0x17e3c: 0xe000afde, 0x17e3d: 0xe000afe4, 0x17e3e: 0xe000afea, 0x17e3f: 0xe000aff0, + // Block 0x5f9, offset 0x17e40 + 0x17e40: 0xe000aff6, 0x17e41: 0xe000affc, 0x17e42: 0xe000b002, 0x17e43: 0xe000b008, + 0x17e44: 0xe0003717, 0x17e45: 0xe000371d, 0x17e46: 0xe0003723, 0x17e47: 0xe0003729, + 0x17e48: 0xe0003735, 0x17e49: 0xe000b014, 0x17e4a: 0xe000b01a, 0x17e4b: 0xe000b020, + 0x17e4c: 0xe000b026, 0x17e4d: 0xe0003747, 0x17e4e: 0xe000b035, 0x17e4f: 0xe000b03b, + 0x17e50: 0xe000b041, 0x17e51: 0xe000b047, 0x17e52: 0xe000b050, 0x17e53: 0xe000b056, + 0x17e54: 0xe000b05c, 0x17e55: 0xe000b068, 0x17e56: 0xe0003753, 0x17e57: 0xe0003762, + 0x17e58: 0xe0003768, 0x17e59: 0xe000375f, 0x17e5a: 0xe0003783, 0x17e5b: 0xe0003789, + 0x17e5c: 0xe000378f, 0x17e5d: 0xe000379b, 0x17e5e: 0xf0001717, 0x17e5f: 0xe0001574, + 0x17e60: 0xe0001583, 0x17e61: 0xe000aeaf, 0x17e62: 0xf0001818, 0x17e63: 0xe000aed6, + 0x17e64: 0xe00036ab, 0x17e65: 0xe000aeee, 0x17e66: 0xe00036b4, 0x17e67: 0xe000af4b, + 0x17e68: 0xe00036d2, 0x17e69: 0xe000af7e, 0x17e6a: 0xe00036de, 0x17e6b: 0xe000372c, + 0x17e6c: 0xe0003738, 0x17e6d: 0xe000b029, 0x17e6e: 0xe000b06b, 0x17e6f: 0xe0003756, + 0x17e70: 0xe000379e, 0x17e71: 0xf0001818, 0x17e72: 0xe000ae91, 0x17e73: 0xe0003690, + 0x17e74: 0xe0003693, 0x17e75: 0xe00028d0, 0x17e76: 0xe00036f6, 0x17e77: 0xe00028d6, + 0x17e78: 0xe00036fc, 0x17e79: 0xe00028dc, 0x17e7a: 0xe0003702, 0x17e7b: 0xe00028b8, + 0x17e7c: 0xe00036d8, 0x17e7d: 0xe00028be, 0x17e7e: 0xe00036e4, 0x17e7f: 0xe00028ac, + // Block 0x5fa, offset 0x17e80 + 0x17e80: 0xe00036c6, 0x17e81: 0xe00028a6, 0x17e82: 0xe00036c0, 0x17e83: 0xe00028b2, + 0x17e84: 0xe00036cc, 0x17e85: 0xe00028c4, 0x17e86: 0xe00036ea, 0x17e87: 0xe00028ca, + 0x17e88: 0xe00036f0, 0x17e89: 0xe000af5a, 0x17e8a: 0xe000af66, 0x17e8b: 0xe000af72, + 0x17e8c: 0xe000af84, 0x17e8d: 0xe000af78, 0x17e8e: 0xe000af45, 0x17e8f: 0xe000af93, + 0x17e90: 0xe000afb1, 0x17e91: 0xe00028cd, 0x17e92: 0xe00036f3, 0x17e93: 0xe00028d3, + 0x17e94: 0xe00036f9, 0x17e95: 0xe00028d9, 0x17e96: 0xe00036ff, 0x17e97: 0xe00028b5, + 0x17e98: 0xe00036d5, 0x17e99: 0xe00028bb, 0x17e9a: 0xe00036e1, 0x17e9b: 0xe00028a9, + 0x17e9c: 0xe00036c3, 0x17e9d: 0xe00028a3, 0x17e9e: 0xe00036bd, 0x17e9f: 0xe00028af, + 0x17ea0: 0xe00036c9, 0x17ea1: 0xe00028c1, 0x17ea2: 0xe00036e7, 0x17ea3: 0xe00028c7, + 0x17ea4: 0xe00036ed, 0x17ea5: 0xe000af57, 0x17ea6: 0xe000af63, 0x17ea7: 0xe000af6f, + 0x17ea8: 0xe000af81, 0x17ea9: 0xe000af75, 0x17eaa: 0xe000af42, 0x17eab: 0xe000af90, + 0x17eac: 0xe000afae, 0x17ead: 0xe000af51, 0x17eae: 0xe000af5d, 0x17eaf: 0xe000af69, + 0x17eb0: 0xe000af7b, 0x17eb1: 0xe00036cf, 0x17eb2: 0xe00036db, 0x17eb3: 0xe000afc0, + 0x17eb4: 0xe000af2a, 0x17eb5: 0xe000af33, 0x17eb6: 0xe000af3c, 0x17eb7: 0xe000af54, + 0x17eb8: 0xe000af60, 0x17eb9: 0xe000af6c, 0x17eba: 0xe000afc3, 0x17ebb: 0xe000afcc, + 0x17ebc: 0xe0003696, 0x17ebd: 0xe0003699, 0x17ebe: 0x4004c020, 0x17ebf: 0x4004c220, + // Block 0x5fb, offset 0x17ec0 + 0x17ec0: 0x0039de98, 0x17ec1: 0x0039e69a, 0x17ec2: 0x0039e699, 0x17ec3: 0x0039e697, + 0x17ec4: 0x0039e698, 0x17ec5: 0x0039e89a, 0x17ec6: 0x0039e899, 0x17ec7: 0x0039e897, + 0x17ec8: 0x0039e898, 0x17ec9: 0x0039ee9a, 0x17eca: 0x0039ee99, 0x17ecb: 0x0039ee97, + 0x17ecc: 0x0039ee98, 0x17ecd: 0x0039f09a, 0x17ece: 0x0039f099, 0x17ecf: 0x0039f097, + 0x17ed0: 0x0039f098, 0x17ed1: 0x0039fc9a, 0x17ed2: 0x0039fc99, 0x17ed3: 0x0039fc97, + 0x17ed4: 0x0039fc98, 0x17ed5: 0x003a129a, 0x17ed6: 0x003a1299, 0x17ed7: 0x003a1297, + 0x17ed8: 0x003a1298, 0x17ed9: 0x003a1a9a, 0x17eda: 0x003a1a99, 0x17edb: 0x003a1a97, + 0x17edc: 0x003a1a98, 0x17edd: 0x003a409a, 0x17ede: 0x003a4099, 0x17edf: 0x003a4097, + 0x17ee0: 0x003a4098, 0x17ee1: 0x003a4e9a, 0x17ee2: 0x003a4e99, 0x17ee3: 0x003a4e97, + 0x17ee4: 0x003a4e98, 0x17ee5: 0x003a569a, 0x17ee6: 0x003a5699, 0x17ee7: 0x003a5697, + 0x17ee8: 0x003a5698, 0x17ee9: 0x003a689a, 0x17eea: 0x003a6899, 0x17eeb: 0x003a6897, + 0x17eec: 0x003a6898, 0x17eed: 0x003a749a, 0x17eee: 0x003a7499, 0x17eef: 0x003a8e9a, + 0x17ef0: 0x003a8e99, 0x17ef1: 0x003a909a, 0x17ef2: 0x003a9099, 0x17ef3: 0x003a9097, + 0x17ef4: 0x003a9098, 0x17ef5: 0xe0001732, 0x17ef6: 0xe000172f, 0x17ef7: 0xe0001738, + 0x17ef8: 0xe0001735, 0x17ef9: 0xe000173e, 0x17efa: 0xe000173b, 0x17efb: 0xe000b011, + 0x17efc: 0xe000b00e, 0x17eff: 0xa0000000, + // Block 0x5fc, offset 0x17f00 + 0x17f00: 0xa0000000, 0x17f01: 0xa0000000, 0x17f02: 0xa0000000, 0x17f03: 0xa0000000, + 0x17f04: 0xa0000000, 0x17f05: 0xa0000000, 0x17f06: 0xa0000000, 0x17f07: 0xa0000000, + 0x17f08: 0xa0000000, 0x17f09: 0x40020020, 0x17f0a: 0x40020220, 0x17f0b: 0x40020420, + 0x17f0c: 0x40020620, 0x17f0d: 0x40020820, 0x17f0e: 0xa0000000, 0x17f0f: 0xa0000000, + 0x17f10: 0xa0000000, 0x17f11: 0xa0000000, 0x17f12: 0xa0000000, 0x17f13: 0xa0000000, + 0x17f14: 0xa0000000, 0x17f15: 0xa0000000, 0x17f16: 0xa0000000, 0x17f17: 0xa0000000, + 0x17f18: 0xa0000000, 0x17f19: 0xa0000000, 0x17f1a: 0xa0000000, 0x17f1b: 0xa0000000, + 0x17f1c: 0xa0000000, 0x17f1d: 0xa0000000, 0x17f1e: 0xa0000000, 0x17f1f: 0xa0000000, + 0x17f20: 0x40021220, 0x17f21: 0x4002ba20, 0x17f22: 0x4003e020, 0x17f23: 0x4004ea20, + 0x17f24: 0x4027de20, 0x17f25: 0x4004ec20, 0x17f26: 0x4004e620, 0x17f27: 0x4003d220, + 0x17f28: 0x4003f420, 0x17f29: 0x4003f620, 0x17f2a: 0x4004d820, 0x17f2b: 0x40093820, + 0x17f2c: 0x40024020, 0x17f2d: 0x40021a20, 0x17f2e: 0x4002e420, 0x17f2f: 0x4004e220, + 0x17f30: 0x4029cc20, 0x17f31: 0x4029ce20, 0x17f32: 0x4029d020, 0x17f33: 0x4029d220, + 0x17f34: 0x4029d420, 0x17f35: 0x4029d620, 0x17f36: 0x4029d820, 0x17f37: 0x4029da20, + 0x17f38: 0x4029dc20, 0x17f39: 0x4029de20, 0x17f3a: 0x40026c20, 0x17f3b: 0x40026220, + 0x17f3c: 0x40094020, 0x17f3d: 0x40094220, 0x17f3e: 0x40094420, 0x17f3f: 0x4002c420, + // Block 0x5fd, offset 0x17f40 + 0x17f40: 0x4004d620, 0x17f41: 0xcead9741, 0x17f42: 0x002c0a88, 0x17f43: 0x002c3a88, + 0x17f44: 0x002c6288, 0x17f45: 0xce6d2741, 0x17f46: 0x002d0888, 0x17f47: 0x002d2288, + 0x17f48: 0x002d6888, 0x17f49: 0x002d9a88, 0x17f4a: 0x002dcc88, 0x17f4b: 0x002dfe88, + 0x17f4c: 0xc0030002, 0x17f4d: 0x002e8288, 0x17f4e: 0x002e9e88, 0x17f4f: 0xcfa09a71, + 0x17f50: 0x002f2c88, 0x17f51: 0x002f5688, 0x17f52: 0x002f7a88, 0x17f53: 0x002fe688, + 0x17f54: 0x00302c88, 0x17f55: 0xc3479aa1, 0x17f56: 0x0030be88, 0x17f57: 0x0030e288, + 0x17f58: 0x0030f688, 0x17f59: 0x00310088, 0x17f5a: 0x00312a88, 0x17f5b: 0x4003f820, + 0x17f5c: 0x4004e420, 0x17f5d: 0x4003fa20, 0x17f5e: 0x40062420, 0x17f5f: 0x40021620, + 0x17f60: 0x40061e20, 0x17f61: 0xceaa9741, 0x17f62: 0x402c0a20, 0x17f63: 0x402c3a20, + 0x17f64: 0x402c6220, 0x17f65: 0xce6b2741, 0x17f66: 0x402d0820, 0x17f67: 0x402d2220, + 0x17f68: 0x402d6820, 0x17f69: 0x402d9a20, 0x17f6a: 0x402dcc20, 0x17f6b: 0x402dfe20, + 0x17f6c: 0xc0000002, 0x17f6d: 0x402e8220, 0x17f6e: 0x402e9e20, 0x17f6f: 0xcf9d9a71, + 0x17f70: 0x402f2c20, 0x17f71: 0x402f5620, 0x17f72: 0x402f7a20, 0x17f73: 0x402fe620, + 0x17f74: 0x40302c20, 0x17f75: 0xc3459aa1, 0x17f76: 0x4030be20, 0x17f77: 0x4030e220, + 0x17f78: 0x4030f620, 0x17f79: 0x40310020, 0x17f7a: 0x40312a20, 0x17f7b: 0x4003fc20, + 0x17f7c: 0x40094820, 0x17f7d: 0x4003fe20, 0x17f7e: 0x40094c20, 0x17f7f: 0xa0000000, + // Block 0x5fe, offset 0x17f80 + 0x17f80: 0xe00008f5, 0x17f81: 0xe000b098, 0x17f82: 0x002be283, 0x17f83: 0xe000b092, + 0x17f84: 0xe000095b, 0x17f85: 0xe000094d, 0x17f86: 0xe00009dd, 0x17f87: 0xe0000a53, + 0x17f88: 0xe0000ae8, 0x17f89: 0xe000b10c, 0x17f8a: 0x002c9a83, 0x17f8b: 0xe0000b20, + 0x17f8c: 0xe0000c2b, 0x17f8d: 0xe000b150, 0x17f8e: 0xe0000c37, 0x17f8f: 0xe0000c43, + 0x17f90: 0xe0000ab3, 0x17f91: 0xe000b190, 0x17f92: 0xe0000d9a, 0x17f93: 0xe000b1c6, + 0x17f94: 0x002ee483, 0x17f95: 0xe000b1a8, 0x17f96: 0xe0000dd2, 0x17f97: 0x40093e20, + 0x17f98: 0xe0000e12, 0x17f99: 0xe0000fe1, 0x17f9a: 0xe000b268, 0x17f9b: 0xe0000fed, + 0x17f9c: 0xe0000fff, 0x17f9d: 0xe000b2b8, 0x17f9e: 0x00318888, 0x17f9f: 0xe0000f7b, + 0x17fa0: 0xe00008f2, 0x17fa1: 0xe000b095, 0x17fa2: 0x402be220, 0x17fa3: 0xe000b08f, + 0x17fa4: 0xe0000958, 0x17fa5: 0xe000094a, 0x17fa6: 0xe00009d5, 0x17fa7: 0xe0000a4d, + 0x17fa8: 0xe0000ae5, 0x17fa9: 0xe000b109, 0x17faa: 0x402c9a20, 0x17fab: 0xe0000b1d, + 0x17fac: 0xe0000c28, 0x17fad: 0xe000b14d, 0x17fae: 0xe0000c34, 0x17faf: 0xe0000c40, + 0x17fb0: 0xe0000aad, 0x17fb1: 0xe000b18d, 0x17fb2: 0xe0000d97, 0x17fb3: 0xe000b1c3, + 0x17fb4: 0x402ee420, 0x17fb5: 0xe000b1a5, 0x17fb6: 0xe0000dcf, 0x17fb7: 0x40093c20, + 0x17fb8: 0xe0000e0f, 0x17fb9: 0xe0000fde, 0x17fba: 0xe000b265, 0x17fbb: 0xe0000fea, + 0x17fbc: 0xe0000ffc, 0x17fbd: 0xe000b2b5, 0x17fbe: 0x40318820, 0x17fbf: 0xe0001114, + // Block 0x5ff, offset 0x17fc0 + 0x17fc0: 0xe0000983, 0x17fc1: 0xe0000980, 0x17fc2: 0x002be083, 0x17fc3: 0x402be020, + 0x17fc4: 0xe000097d, 0x17fc5: 0xe000097a, 0x17fc6: 0xe000b0ec, 0x17fc7: 0xe000b0e9, + 0x17fc8: 0xe0000a3e, 0x17fc9: 0xe0000a3b, 0x17fca: 0xe0000a4a, 0x17fcb: 0xe0000a47, + 0x17fcc: 0xe0000a44, 0x17fcd: 0xe0000a41, 0x17fce: 0xe0000a86, 0x17fcf: 0xe0000a83, + 0x17fd0: 0x002c6483, 0x17fd1: 0x402c6420, 0x17fd2: 0xe0000b46, 0x17fd3: 0xe0000b43, + 0x17fd4: 0xe0000aee, 0x17fd5: 0xe0000aeb, 0x17fd6: 0xe0000b2c, 0x17fd7: 0xe0000b29, + 0x17fd8: 0xe0000b40, 0x17fd9: 0xe0000b3d, 0x17fda: 0xe0000b1a, 0x17fdb: 0xe0000b17, + 0x17fdc: 0xe0000bb8, 0x17fdd: 0xe0000bb5, 0x17fde: 0xe0000bb2, 0x17fdf: 0xe0000baf, + 0x17fe0: 0xe0000bc4, 0x17fe1: 0xe0000bc1, 0x17fe2: 0xe0000bca, 0x17fe3: 0xe0000bc7, + 0x17fe4: 0xe0000bee, 0x17fe5: 0xe0000beb, 0x17fe6: 0xe0000c1b, 0x17fe7: 0xe0000c18, + 0x17fe8: 0xe000b14a, 0x17fe9: 0xe000b147, 0x17fea: 0xe0000c60, 0x17feb: 0xe0000c5d, + 0x17fec: 0xe0000c31, 0x17fed: 0xe0000c2e, 0x17fee: 0xe0000c5a, 0x17fef: 0xe0000c57, + 0x17ff0: 0xe0000c54, 0x17ff1: 0x402da220, 0x17ff2: 0xf0000a0a, 0x17ff3: 0xf0000404, + 0x17ff4: 0xe0000c8a, 0x17ff5: 0xe0000c87, 0x17ff6: 0xe0000c9f, 0x17ff7: 0xe0000c9c, + 0x17ff8: 0x402f7220, 0x17ff9: 0xe000b170, 0x17ffa: 0xe000b16d, 0x17ffb: 0xe0000cd8, + 0x17ffc: 0xe0000cd5, 0x17ffd: 0xe0000cd2, 0x17ffe: 0xe0000ccf, 0x17fff: 0xe0000d04, + // Block 0x600, offset 0x18000 + 0x18000: 0xe0000cfe, 0x18001: 0xe0000cf8, 0x18002: 0xe0000cf5, 0x18003: 0xe000b196, + 0x18004: 0xe000b193, 0x18005: 0xe0000d6f, 0x18006: 0xe0000d6c, 0x18007: 0xe0000d5d, + 0x18008: 0xe0000d5a, 0x18009: 0xf0000404, 0x1800a: 0x002eda88, 0x1800b: 0x402eda20, + 0x1800c: 0xe0000e2e, 0x1800d: 0xe0000e2b, 0x1800e: 0xe0000da0, 0x1800f: 0xe0000d9d, + 0x18010: 0xe0000de0, 0x18011: 0xe0000ddd, 0x18012: 0xe0000e93, 0x18013: 0xe0000e8f, + 0x18014: 0xe000b21e, 0x18015: 0xe000b21b, 0x18016: 0xe0000edc, 0x18017: 0xe0000ed9, + 0x18018: 0xe0000ed0, 0x18019: 0xe0000ecd, 0x1801a: 0xe000b232, 0x1801b: 0xe000b22f, + 0x1801c: 0xe0000f2d, 0x1801d: 0xe0000f2a, 0x1801e: 0xe0000f47, 0x1801f: 0xe0000f44, + 0x18020: 0xe0000f33, 0x18021: 0xe0000f30, 0x18022: 0xe0000f99, 0x18023: 0xe0000f96, + 0x18024: 0xe0000f8a, 0x18025: 0xe0000f87, 0x18026: 0x00303688, 0x18027: 0x40303620, + 0x18028: 0xe000b25a, 0x18029: 0xe000b257, 0x1802a: 0xe000103f, 0x1802b: 0xe000103c, + 0x1802c: 0xe0000fe7, 0x1802d: 0xe0000fe4, 0x1802e: 0xe0000ff9, 0x1802f: 0xe0000ff6, + 0x18030: 0xe0001025, 0x18031: 0xe0001022, 0x18032: 0xe0001039, 0x18033: 0xe0001036, + 0x18034: 0xe00010d8, 0x18035: 0xe00010d5, 0x18036: 0xe000110e, 0x18037: 0xe000110b, + 0x18038: 0xe0001117, 0x18039: 0xe000b2c4, 0x1803a: 0xe000b2c1, 0x1803b: 0xe000114d, + 0x1803c: 0xe000114a, 0x1803d: 0xe0001147, 0x1803e: 0xe0001144, 0x1803f: 0xe0000f64, + // Block 0x601, offset 0x18040 + 0x18040: 0x402c1a20, 0x18041: 0x002c2a88, 0x18042: 0x002c3288, 0x18043: 0x402c3220, + 0x18044: 0x0031c488, 0x18045: 0x4031c420, 0x18046: 0x002efa88, 0x18047: 0x002c4e88, + 0x18048: 0x402c4e20, 0x18049: 0x002c7288, 0x1804a: 0x002c7a88, 0x1804b: 0x002c8488, + 0x1804c: 0x402c8420, 0x1804d: 0xe000115c, 0x1804e: 0x002cae88, 0x1804f: 0x002cb888, + 0x18050: 0x002cc288, 0x18051: 0x002d1688, 0x18052: 0x402d1620, 0x18053: 0x002d4488, + 0x18054: 0x002d5888, 0x18055: 0x402d7820, 0x18056: 0x002dc288, 0x18057: 0x002db688, + 0x18058: 0x002e0a88, 0x18059: 0x402e0a20, 0x1805a: 0x402e3820, 0x1805b: 0x402e7220, + 0x1805c: 0x0030a088, 0x1805d: 0x002eb488, 0x1805e: 0x402ebc20, 0x1805f: 0x002f1088, + 0x18060: 0x002ee683, 0x18061: 0x402ee620, 0x18062: 0x002d6088, 0x18063: 0x402d6020, + 0x18064: 0x002f3e88, 0x18065: 0x402f3e20, 0x18066: 0x002f8288, 0x18067: 0x0031b488, + 0x18068: 0x4031b420, 0x18069: 0x00300888, 0x1806a: 0x40301220, 0x1806b: 0x40304220, + 0x1806c: 0x00304a88, 0x1806d: 0x40304a20, 0x1806e: 0x00305288, 0x1806f: 0x00306e83, + 0x18070: 0x40306e20, 0x18071: 0x0030b488, 0x18072: 0x0030cc88, 0x18073: 0x00311888, + 0x18074: 0x40311820, 0x18075: 0x00313488, 0x18076: 0x40313420, 0x18077: 0x00316488, + 0x18078: 0x00316e88, 0x18079: 0x40316e20, 0x1807a: 0x40317820, 0x1807b: 0x4031a620, + 0x1807c: 0x0031bc88, 0x1807d: 0x4031bc20, 0x1807e: 0xe0000fc9, 0x1807f: 0x40319420, + // Block 0x602, offset 0x18080 + 0x18080: 0x40321220, 0x18081: 0x40321a20, 0x18082: 0x40322220, 0x18083: 0x40322a20, + 0x18084: 0xe0000ad5, 0x18085: 0xe0000ad1, 0x18086: 0xe0000acd, 0x18087: 0xf0000a0a, + 0x18088: 0xf000040a, 0x18089: 0xf0000404, 0x1808a: 0xf0000a0a, 0x1808b: 0xf000040a, + 0x1808c: 0xf0000404, 0x1808d: 0xe0000947, 0x1808e: 0xe0000944, 0x1808f: 0xe0000c3d, + 0x18090: 0xe0000c3a, 0x18091: 0xe0000dcc, 0x18092: 0xe0000dc9, 0x18093: 0xe0000ff3, + 0x18094: 0xe0000ff0, 0x18095: 0xe000101e, 0x18096: 0xe000101a, 0x18097: 0xe000b275, + 0x18098: 0xe000b271, 0x18099: 0xe0001016, 0x1809a: 0xe0001012, 0x1809b: 0xe000100e, + 0x1809c: 0xe000100a, 0x1809d: 0x402cae20, 0x1809e: 0xe0000962, 0x1809f: 0xe000095e, + 0x180a0: 0xe0000976, 0x180a1: 0xe0000972, 0x180a2: 0xe00009f4, 0x180a3: 0xe00009ef, + 0x180a4: 0x002d3a88, 0x180a5: 0x402d3a20, 0x180a6: 0xe0000bbe, 0x180a7: 0xe0000bbb, + 0x180a8: 0xe0000c99, 0x180a9: 0xe0000c96, 0x180aa: 0xe0000e20, 0x180ab: 0xe0000e1d, + 0x180ac: 0xe0000e27, 0x180ad: 0xe0000e23, 0x180ae: 0xe0001162, 0x180af: 0xe000115f, + 0x180b0: 0xe0000c8d, 0x180b1: 0xf0000a0a, 0x180b2: 0xf000040a, 0x180b3: 0xf0000404, + 0x180b4: 0xe000b138, 0x180b5: 0xe000b135, 0x180b6: 0x002d7888, 0x180b7: 0x00319488, + 0x180b8: 0xe0000d57, 0x180b9: 0xe0000d54, 0x180ba: 0xe000b0a5, 0x180bb: 0xe000b0a1, + 0x180bc: 0xe000b0ae, 0x180bd: 0xe000b0a9, 0x180be: 0xe000b1d3, 0x180bf: 0xe000b1cf, + // Block 0x603, offset 0x180c0 + 0x180c0: 0xe000098f, 0x180c1: 0xe000098c, 0x180c2: 0xe0000995, 0x180c3: 0xe0000992, + 0x180c4: 0xe0000b62, 0x180c5: 0xe0000b5f, 0x180c6: 0xe0000b68, 0x180c7: 0xe0000b65, + 0x180c8: 0xe0000c6c, 0x180c9: 0xe0000c69, 0x180ca: 0xe0000c72, 0x180cb: 0xe0000c6f, + 0x180cc: 0xe0000e4a, 0x180cd: 0xe0000e47, 0x180ce: 0xe0000e50, 0x180cf: 0xe0000e4d, + 0x180d0: 0xe0000ee8, 0x180d1: 0xe0000ee5, 0x180d2: 0xe0000eee, 0x180d3: 0xe0000eeb, + 0x180d4: 0xe0001053, 0x180d5: 0xe0001050, 0x180d6: 0xe0001059, 0x180d7: 0xe0001056, + 0x180d8: 0xe0000f61, 0x180d9: 0xe0000f5e, 0x180da: 0xe0000fa5, 0x180db: 0xe0000fa2, + 0x180dc: 0x00312288, 0x180dd: 0x40312220, 0x180de: 0xe0000bf4, 0x180df: 0xe0000bf1, + 0x180e0: 0x002ebc88, 0x180e1: 0x402c8c20, 0x180e2: 0x002f2288, 0x180e3: 0x402f2220, + 0x180e4: 0x00314088, 0x180e5: 0x40314020, 0x180e6: 0xe000096f, 0x180e7: 0xe000096c, + 0x180e8: 0xe0000b32, 0x180e9: 0xe0000b2f, 0x180ea: 0xe0000dd9, 0x180eb: 0xe0000dd5, + 0x180ec: 0xe000b1bf, 0x180ed: 0xe000b1bb, 0x180ee: 0xe0000e04, 0x180ef: 0xe0000e01, + 0x180f0: 0xe0000e0b, 0x180f1: 0xe0000e07, 0x180f2: 0xe0001129, 0x180f3: 0xe0001126, + 0x180f4: 0x402e5e20, 0x180f5: 0x402ed020, 0x180f6: 0x40305a20, 0x180f7: 0x402dd420, + 0x180f8: 0xe0000abf, 0x180f9: 0xe0000ec4, 0x180fa: 0x002be888, 0x180fb: 0x002c4488, + 0x180fc: 0x402c4420, 0x180fd: 0x002e3888, 0x180fe: 0x00303e88, 0x180ff: 0x402ffc20, + // Block 0x604, offset 0x18100 + 0x18100: 0xae603502, 0x18101: 0xae603802, 0x18102: 0xae603c02, 0x18103: 0xae603702, + 0x18104: 0xae605b02, 0x18105: 0xae606302, 0x18106: 0xae603702, 0x18107: 0xae605202, + 0x18108: 0xae604702, 0x18109: 0xae603602, 0x1810a: 0xae604302, 0x1810b: 0xae604d02, + 0x1810c: 0xae604102, 0x1810d: 0xae605f02, 0x1810e: 0xae605f02, 0x1810f: 0xae606502, + 0x18110: 0xae606602, 0x18111: 0xae606702, 0x18112: 0xae605f02, 0x18113: 0xae602202, + 0x18114: 0xae602a02, 0x18115: 0xae805f02, 0x18116: 0xadc06002, 0x18117: 0xadc06002, + 0x18118: 0xadc06002, 0x18119: 0xadc06002, 0x1811a: 0xae805f02, 0x1811b: 0xad806802, + 0x1811c: 0xadc06002, 0x1811d: 0xadc06002, 0x1811e: 0xadc06002, 0x1811f: 0xadc06002, + 0x18120: 0xadc06002, 0x18121: 0xaca06e02, 0x18122: 0xaca06f02, 0x18123: 0xae603902, + 0x18124: 0xadc07502, 0x18125: 0xadc07602, 0x18126: 0xadc07702, 0x18127: 0xaca05602, + 0x18128: 0xaca05902, 0x18129: 0xadc06002, 0x1812a: 0xadc06002, 0x1812b: 0xadc06002, + 0x1812c: 0xadc06002, 0x1812d: 0xadc07802, 0x1812e: 0xadc07902, 0x1812f: 0xadc06002, + 0x18130: 0xadc07a02, 0x18131: 0xadc07b02, 0x18132: 0xadc02102, 0x18133: 0xadc06002, + 0x18134: 0xa0107c02, 0x18135: 0xa0107d02, 0x18136: 0xa0106102, 0x18137: 0xa0106102, + 0x18138: 0xa0105402, 0x18139: 0xadc07e02, 0x1813a: 0xadc06002, 0x1813b: 0xadc06002, + 0x1813c: 0xadc06002, 0x1813d: 0xae605f02, 0x1813e: 0xae605f02, 0x1813f: 0xae605f02, + // Block 0x605, offset 0x18140 + 0x18140: 0xae603502, 0x18141: 0xae603802, 0x18142: 0xae604502, 0x18143: 0xae602202, + 0x18144: 0xe000b07d, 0x18145: 0xaf007f02, 0x18146: 0xae605f02, 0x18147: 0xadc06002, + 0x18148: 0xadc06002, 0x18149: 0xadc06002, 0x1814a: 0xae605f02, 0x1814b: 0xae605f02, + 0x1814c: 0xae605f02, 0x1814d: 0xadc06002, 0x1814e: 0xadc06002, 0x1814f: 0xa0000000, + 0x18150: 0xae605f02, 0x18151: 0xae605f02, 0x18152: 0xae605f02, 0x18153: 0xadc06002, + 0x18154: 0xadc06002, 0x18155: 0xadc06002, 0x18156: 0xadc06002, 0x18157: 0xae605f02, + 0x18158: 0xae808002, 0x18159: 0xadc06002, 0x1815a: 0xadc06002, 0x1815b: 0xae605f02, + 0x1815c: 0xae906002, 0x1815d: 0xaea05f02, 0x1815e: 0xaea05f02, 0x1815f: 0xae906002, + 0x18160: 0xaea08102, 0x18161: 0xaea08202, 0x18162: 0xae906002, 0x18163: 0x84e615ef, + 0x18164: 0x84e6164c, 0x18165: 0x84e616cd, 0x18166: 0x84e61771, 0x18167: 0x84e61836, + 0x18168: 0x84e6161d, 0x18169: 0x84e61631, 0x1816a: 0x84e616b4, 0x1816b: 0x84e61741, + 0x1816c: 0x84e617bd, 0x1816d: 0x84e61816, 0x1816e: 0x84e6185f, 0x1816f: 0x84e6187b, + 0x18170: 0x00326688, 0x18171: 0x40326620, 0x18172: 0x0032a688, 0x18173: 0x4032a620, + 0x18174: 0x40064020, 0x18175: 0x40064220, 0x18176: 0x00326088, 0x18177: 0x40326020, + 0x1817a: 0x00326c84, 0x1817b: 0x40329220, + 0x1817c: 0x40329020, 0x1817d: 0x40329420, 0x1817e: 0x40026220, + // Block 0x606, offset 0x18180 + 0x18184: 0x40062020, 0x18185: 0xe000b080, 0x18186: 0xe000b2f4, 0x18187: 0x40030620, + 0x18188: 0xe000b30e, 0x18189: 0xe000b338, 0x1818a: 0xe000b352, + 0x1818c: 0xe000b36c, 0x1818e: 0xe000b37e, 0x1818f: 0xe000b3ac, + 0x18190: 0xe000b355, 0x18191: 0x00325288, 0x18192: 0x00325488, 0x18193: 0x00325688, + 0x18194: 0x00325a88, 0x18195: 0x00325c88, 0x18196: 0x00326488, 0x18197: 0x00326888, + 0x18198: 0x00326a88, 0x18199: 0x00326c88, 0x1819a: 0x00327088, 0x1819b: 0x00327288, + 0x1819c: 0x00327688, 0x1819d: 0x00327888, 0x1819e: 0x00327a88, 0x1819f: 0x00327c88, + 0x181a0: 0x00327e88, 0x181a1: 0x00328888, 0x181a3: 0x00328e88, + 0x181a4: 0x00329688, 0x181a5: 0x00329888, 0x181a6: 0x00329a88, 0x181a7: 0x00329c88, + 0x181a8: 0x00329e88, 0x181a9: 0x0032a288, 0x181aa: 0xe000134f, 0x181ab: 0xe00013f2, + 0x181ac: 0xe000b2f1, 0x181ad: 0xe000b30b, 0x181ae: 0xe000b335, 0x181af: 0xe000b34f, + 0x181b0: 0xe000b381, 0x181b1: 0x40325220, 0x181b2: 0x40325420, 0x181b3: 0x40325620, + 0x181b4: 0x40325a20, 0x181b5: 0x40325c20, 0x181b6: 0x40326420, 0x181b7: 0x40326820, + 0x181b8: 0x40326a20, 0x181b9: 0x40326c20, 0x181ba: 0x40327020, 0x181bb: 0x40327220, + 0x181bc: 0x40327620, 0x181bd: 0x40327820, 0x181be: 0x40327a20, 0x181bf: 0x40327c20, + // Block 0x607, offset 0x181c0 + 0x181c0: 0x40327e20, 0x181c1: 0x40328820, 0x181c2: 0x00328e99, 0x181c3: 0x40328e20, + 0x181c4: 0x40329620, 0x181c5: 0x40329820, 0x181c6: 0x40329a20, 0x181c7: 0x40329c20, + 0x181c8: 0x40329e20, 0x181c9: 0x4032a220, 0x181ca: 0xe000134c, 0x181cb: 0xe00013ef, + 0x181cc: 0xe000b369, 0x181cd: 0xe000b37b, 0x181ce: 0xe000b3a9, 0x181cf: 0xe0001368, + 0x181d0: 0x00325484, 0x181d1: 0x00326a84, 0x181d2: 0x0032988a, 0x181d3: 0xf000020a, + 0x181d4: 0xf000020a, 0x181d5: 0x00329a84, 0x181d6: 0x00327e84, 0x181d7: 0xe0001364, + 0x181d8: 0x00328688, 0x181d9: 0x40328620, 0x181da: 0x00326288, 0x181db: 0x40326220, + 0x181dc: 0x00325e88, 0x181dd: 0x40325e20, 0x181de: 0x00328488, 0x181df: 0x40328420, + 0x181e0: 0x0032a488, 0x181e1: 0x4032a420, 0x181e2: 0x0032e888, 0x181e3: 0x4032e820, + 0x181e4: 0x0032f288, 0x181e5: 0x4032f220, 0x181e6: 0x0032f488, 0x181e7: 0x4032f420, + 0x181e8: 0x0032fa88, 0x181e9: 0x4032fa20, 0x181ea: 0x00330888, 0x181eb: 0x40330820, + 0x181ec: 0x00330e88, 0x181ed: 0x40330e20, 0x181ee: 0x00331688, 0x181ef: 0x40331620, + 0x181f0: 0x00327084, 0x181f1: 0x00328884, 0x181f2: 0x00328e84, 0x181f3: 0x40326e20, + 0x181f4: 0x00326a8a, 0x181f5: 0x00325c84, 0x181f6: 0x40092e20, 0x181f7: 0x0032a888, + 0x181f8: 0x4032a820, 0x181f9: 0x00328e8a, 0x181fa: 0x00328288, 0x181fb: 0x40328220, + 0x181fc: 0x40328c20, 0x181fd: 0x00329288, 0x181fe: 0x00329088, 0x181ff: 0x00329488, + // Block 0x608, offset 0x18200 + 0x18200: 0xe00009b1, 0x18201: 0xe00009ae, 0x18202: 0xe0000a22, 0x18203: 0xe0000a1f, + 0x18204: 0xe000b0e6, 0x18205: 0xe000b0e3, 0x18206: 0xe0000a2e, 0x18207: 0xe0000a2b, + 0x18208: 0xe000b0f3, 0x18209: 0xe000b0ef, 0x1820a: 0xe0000a8c, 0x1820b: 0xe0000a89, + 0x1820c: 0xe000b0fa, 0x1820d: 0xe000b0f7, 0x1820e: 0xe0000aa4, 0x1820f: 0xe0000aa1, + 0x18210: 0xe0000a92, 0x18211: 0xe0000a8f, 0x18212: 0xe0000a9e, 0x18213: 0xe0000a9b, + 0x18214: 0xe0000b55, 0x18215: 0xe0000b51, 0x18216: 0xe000b119, 0x18217: 0xe000b115, + 0x18218: 0xe0000b7c, 0x18219: 0xe0000b79, 0x1821a: 0xe0000b82, 0x1821b: 0xe0000b7f, + 0x1821c: 0xe0000b39, 0x1821d: 0xe0000b35, 0x1821e: 0xe0000b8c, 0x1821f: 0xe0000b89, + 0x18220: 0xe0000bd0, 0x18221: 0xe0000bcd, 0x18222: 0xe0000c00, 0x18223: 0xe0000bfd, + 0x18224: 0xe000b13e, 0x18225: 0xe000b13b, 0x18226: 0xe0000bfa, 0x18227: 0xe0000bf7, + 0x18228: 0xe0000c06, 0x18229: 0xe0000c03, 0x1822a: 0xe0000c12, 0x1822b: 0xe0000c0f, + 0x1822c: 0xe0000c7e, 0x1822d: 0xe0000c7b, 0x1822e: 0xe000b15d, 0x1822f: 0xe000b159, + 0x18230: 0xe000b164, 0x18231: 0xe000b161, 0x18232: 0xe000b16a, 0x18233: 0xe000b167, + 0x18234: 0xe0000cb1, 0x18235: 0xe0000cae, 0x18236: 0xe000b176, 0x18237: 0xe000b173, + 0x18238: 0xe000b17d, 0x18239: 0xe000b179, 0x1823a: 0xe0000cf2, 0x1823b: 0xe0000cef, + 0x1823c: 0xe0000cec, 0x1823d: 0xe0000ce9, 0x1823e: 0xe000b184, 0x1823f: 0xe000b181, + // Block 0x609, offset 0x18240 + 0x18240: 0xe0000d24, 0x18241: 0xe0000d21, 0x18242: 0xe000b18a, 0x18243: 0xe000b187, + 0x18244: 0xe0000d69, 0x18245: 0xe0000d66, 0x18246: 0xe000b19c, 0x18247: 0xe000b199, + 0x18248: 0xe0000d87, 0x18249: 0xe0000d84, 0x1824a: 0xe0000d81, 0x1824b: 0xe0000d7e, + 0x1824c: 0xe000b1af, 0x1824d: 0xe000b1ab, 0x1824e: 0xe000b1b7, 0x1824f: 0xe000b1b3, + 0x18250: 0xe0000e3d, 0x18251: 0xe0000e39, 0x18252: 0xe000b1db, 0x18253: 0xe000b1d7, + 0x18254: 0xe000b218, 0x18255: 0xe000b215, 0x18256: 0xe0000ead, 0x18257: 0xe0000eaa, + 0x18258: 0xe0000ed6, 0x18259: 0xe0000ed3, 0x1825a: 0xe000b224, 0x1825b: 0xe000b221, + 0x1825c: 0xe000b22b, 0x1825d: 0xe000b227, 0x1825e: 0xe0000f02, 0x1825f: 0xe0000eff, + 0x18260: 0xe0000f41, 0x18261: 0xe0000f3e, 0x18262: 0xe000b240, 0x18263: 0xe000b23d, + 0x18264: 0xe000b239, 0x18265: 0xe000b235, 0x18266: 0xe0000f3a, 0x18267: 0xe0000f36, + 0x18268: 0xe000b247, 0x18269: 0xe000b243, 0x1826a: 0xe0000f93, 0x1826b: 0xe0000f90, + 0x1826c: 0xe000b24e, 0x1826d: 0xe000b24b, 0x1826e: 0xe0000fb1, 0x1826f: 0xe0000fae, + 0x18270: 0xe0000fab, 0x18271: 0xe0000fa8, 0x18272: 0xe0001093, 0x18273: 0xe0001090, + 0x18274: 0xe000109f, 0x18275: 0xe000109c, 0x18276: 0xe0001099, 0x18277: 0xe0001096, + 0x18278: 0xe000b261, 0x18279: 0xe000b25d, 0x1827a: 0xe0001046, 0x1827b: 0xe0001042, + 0x1827c: 0xe000b294, 0x1827d: 0xe000b291, 0x1827e: 0xe000b29a, 0x1827f: 0xe000b297, + // Block 0x60a, offset 0x18280 + 0x18280: 0xe00010d2, 0x18281: 0xe00010cf, 0x18282: 0xe000b2a0, 0x18283: 0xe000b29d, + 0x18284: 0xe00010e1, 0x18285: 0xe00010de, 0x18286: 0xe00010e7, 0x18287: 0xe00010e4, + 0x18288: 0xe000b2a6, 0x18289: 0xe000b2a3, 0x1828a: 0xe00010fc, 0x1828b: 0xe00010f9, + 0x1828c: 0xe00010f6, 0x1828d: 0xe00010f3, 0x1828e: 0xe0001123, 0x1828f: 0xe0001120, + 0x18290: 0xe0001141, 0x18291: 0xe000113e, 0x18292: 0xe000b2ca, 0x18293: 0xe000b2c7, + 0x18294: 0xe0001159, 0x18295: 0xe0001156, 0x18296: 0xe0000c15, 0x18297: 0xe0000f8d, + 0x18298: 0xe00010db, 0x18299: 0xe0001111, 0x1829a: 0xf0000404, 0x1829b: 0xe0000f70, + 0x1829c: 0x40300420, 0x1829d: 0x40300620, 0x1829e: 0xe0000f7f, 0x1829f: 0x402c9620, + 0x182a0: 0xe000b09e, 0x182a1: 0xe000b09b, 0x182a2: 0xe000b08c, 0x182a3: 0xe000b089, + 0x182a4: 0xe000b0da, 0x182a5: 0xe000b0d7, 0x182a6: 0xe000393a, 0x182a7: 0xe0003937, + 0x182a8: 0xe000b0ce, 0x182a9: 0xe000b0cb, 0x182aa: 0xe000b0d4, 0x182ab: 0xe000b0d1, + 0x182ac: 0xe000b0e0, 0x182ad: 0xe000b0dd, 0x182ae: 0xe000b0c2, 0x182af: 0xe000b0bf, + 0x182b0: 0xe0003894, 0x182b1: 0xe0003891, 0x182b2: 0xe000b0b6, 0x182b3: 0xe000b0b3, + 0x182b4: 0xe000b0bc, 0x182b5: 0xe000b0b9, 0x182b6: 0xe000b0c8, 0x182b7: 0xe000b0c5, + 0x182b8: 0xe000b112, 0x182b9: 0xe000b10f, 0x182ba: 0xe000b100, 0x182bb: 0xe000b0fd, + 0x182bc: 0xe000b106, 0x182bd: 0xe000b103, 0x182be: 0xe000b12c, 0x182bf: 0xe000b129, + // Block 0x60b, offset 0x182c0 + 0x182c0: 0xe000ad47, 0x182c1: 0xe000ad44, 0x182c2: 0xe000b120, 0x182c3: 0xe000b11d, + 0x182c4: 0xe000b126, 0x182c5: 0xe000b123, 0x182c6: 0xe000b132, 0x182c7: 0xe000b12f, + 0x182c8: 0xe000b144, 0x182c9: 0xe000b141, 0x182ca: 0xe000b156, 0x182cb: 0xe000b153, + 0x182cc: 0xe000b1cc, 0x182cd: 0xe000b1c9, 0x182ce: 0xe000b1a2, 0x182cf: 0xe000b19f, + 0x182d0: 0xe000b1ee, 0x182d1: 0xe000b1eb, 0x182d2: 0xe000ad65, 0x182d3: 0xe000ad62, + 0x182d4: 0xe000b1e2, 0x182d5: 0xe000b1df, 0x182d6: 0xe000b1e8, 0x182d7: 0xe000b1e5, + 0x182d8: 0xe000b1f4, 0x182d9: 0xe000b1f1, 0x182da: 0xe000b20c, 0x182db: 0xe000b209, + 0x182dc: 0xe000b1fa, 0x182dd: 0xe000b1f7, 0x182de: 0xe000b200, 0x182df: 0xe000b1fd, + 0x182e0: 0xe000b206, 0x182e1: 0xe000b203, 0x182e2: 0xe000b212, 0x182e3: 0xe000b20f, + 0x182e4: 0xe000b26e, 0x182e5: 0xe000b26b, 0x182e6: 0xe000b254, 0x182e7: 0xe000b251, + 0x182e8: 0xe000b288, 0x182e9: 0xe000b285, 0x182ea: 0xe0002958, 0x182eb: 0xe0002955, + 0x182ec: 0xe000b27c, 0x182ed: 0xe000b279, 0x182ee: 0xe000b282, 0x182ef: 0xe000b27f, + 0x182f0: 0xe000b28e, 0x182f1: 0xe000b28b, 0x182f2: 0xe0001108, 0x182f3: 0xe0001105, + 0x182f4: 0xe000b2be, 0x182f5: 0xe000b2bb, 0x182f6: 0xe000b2ac, 0x182f7: 0xe000b2a9, + 0x182f8: 0xe000b2b2, 0x182f9: 0xe000b2af, 0x182fa: 0xe0000d0a, 0x182fb: 0xe0000d07, + 0x182fc: 0x0030d888, 0x182fd: 0x4030d820, 0x182fe: 0x00312088, 0x182ff: 0x40312020, + // Block 0x60c, offset 0x18300 + 0x18300: 0xe0001165, 0x18301: 0xe00011a9, 0x18302: 0xe000117d, 0x18303: 0xe00011c1, + 0x18304: 0xe000b2cd, 0x18305: 0xe000b2df, 0x18306: 0xe000118f, 0x18307: 0xe00011d3, + 0x18308: 0xe0001168, 0x18309: 0xe00011ac, 0x1830a: 0xe0001181, 0x1830b: 0xe00011c5, + 0x1830c: 0xe000b2d1, 0x1830d: 0xe000b2e3, 0x1830e: 0xe0001193, 0x1830f: 0xe00011d7, + 0x18310: 0xe000121a, 0x18311: 0xe0001230, 0x18312: 0xe0001228, 0x18313: 0xe000123e, + 0x18314: 0xe000b2fb, 0x18315: 0xe000b303, + 0x18318: 0xe000121d, 0x18319: 0xe0001233, 0x1831a: 0xe000122c, 0x1831b: 0xe0001242, + 0x1831c: 0xe000b2ff, 0x1831d: 0xe000b307, + 0x18320: 0xe0001252, 0x18321: 0xe0001296, 0x18322: 0xe000126a, 0x18323: 0xe00012ae, + 0x18324: 0xe000b311, 0x18325: 0xe000b323, 0x18326: 0xe000127c, 0x18327: 0xe00012c0, + 0x18328: 0xe0001255, 0x18329: 0xe0001299, 0x1832a: 0xe000126e, 0x1832b: 0xe00012b2, + 0x1832c: 0xe000b315, 0x1832d: 0xe000b327, 0x1832e: 0xe0001280, 0x1832f: 0xe00012c4, + 0x18330: 0xe00012fb, 0x18331: 0xe0001319, 0x18332: 0xe0001309, 0x18333: 0xe0001327, + 0x18334: 0xe000b33f, 0x18335: 0xe000b347, 0x18336: 0xe0001311, 0x18337: 0xe000132f, + 0x18338: 0xe00012fe, 0x18339: 0xe000131c, 0x1833a: 0xe000130d, 0x1833b: 0xe000132b, + 0x1833c: 0xe000b343, 0x1833d: 0xe000b34b, 0x1833e: 0xe0001315, 0x1833f: 0xe0001333, + // Block 0x60d, offset 0x18340 + 0x18340: 0xe000136c, 0x18341: 0xe0001382, 0x18342: 0xe000137a, 0x18343: 0xe0001390, + 0x18344: 0xe000b359, 0x18345: 0xe000b361, + 0x18348: 0xe000136f, 0x18349: 0xe0001385, 0x1834a: 0xe000137e, 0x1834b: 0xe0001394, + 0x1834c: 0xe000b35d, 0x1834d: 0xe000b365, + 0x18350: 0xe00013ad, 0x18351: 0xe00013bc, 0x18352: 0xe00013b4, 0x18353: 0xe00013ca, + 0x18354: 0xe000b36f, 0x18355: 0xe000b373, 0x18356: 0xe00013b8, 0x18357: 0xe00013d2, + 0x18359: 0xe00013bf, 0x1835b: 0xe00013ce, + 0x1835d: 0xe000b377, 0x1835f: 0xe00013d6, + 0x18360: 0xe0001407, 0x18361: 0xe000144b, 0x18362: 0xe000141f, 0x18363: 0xe0001463, + 0x18364: 0xe000b385, 0x18365: 0xe000b397, 0x18366: 0xe0001431, 0x18367: 0xe0001475, + 0x18368: 0xe000140a, 0x18369: 0xe000144e, 0x1836a: 0xe0001423, 0x1836b: 0xe0001467, + 0x1836c: 0xe000b389, 0x1836d: 0xe000b39b, 0x1836e: 0xe0001435, 0x1836f: 0xe0001479, + 0x18370: 0xe00011f7, 0x18371: 0xe000b2f1, 0x18372: 0xe000124c, 0x18373: 0xe000b30b, + 0x18374: 0xe00012e4, 0x18375: 0xe000b335, 0x18376: 0xe000133d, 0x18377: 0xe000b34f, + 0x18378: 0xe000139e, 0x18379: 0xe000b369, 0x1837a: 0xe00013e0, 0x1837b: 0xe000b37b, + 0x1837c: 0xe0001499, 0x1837d: 0xe000b3a9, + // Block 0x60e, offset 0x18380 + 0x18380: 0xe00011a1, 0x18381: 0xe00011e5, 0x18382: 0xe0001185, 0x18383: 0xe00011c9, + 0x18384: 0xe000b2d5, 0x18385: 0xe000b2e7, 0x18386: 0xe0001197, 0x18387: 0xe00011db, + 0x18388: 0xe00011a5, 0x18389: 0xe00011e9, 0x1838a: 0xe000118a, 0x1838b: 0xe00011ce, + 0x1838c: 0xe000b2da, 0x1838d: 0xe000b2ec, 0x1838e: 0xe000119c, 0x1838f: 0xe00011e0, + 0x18390: 0xe000128e, 0x18391: 0xe00012d2, 0x18392: 0xe0001272, 0x18393: 0xe00012b6, + 0x18394: 0xe000b319, 0x18395: 0xe000b32b, 0x18396: 0xe0001284, 0x18397: 0xe00012c8, + 0x18398: 0xe0001292, 0x18399: 0xe00012d6, 0x1839a: 0xe0001277, 0x1839b: 0xe00012bb, + 0x1839c: 0xe000b31e, 0x1839d: 0xe000b330, 0x1839e: 0xe0001289, 0x1839f: 0xe00012cd, + 0x183a0: 0xe0001443, 0x183a1: 0xe0001487, 0x183a2: 0xe0001427, 0x183a3: 0xe000146b, + 0x183a4: 0xe000b38d, 0x183a5: 0xe000b39f, 0x183a6: 0xe0001439, 0x183a7: 0xe000147d, + 0x183a8: 0xe0001447, 0x183a9: 0xe000148b, 0x183aa: 0xe000142c, 0x183ab: 0xe0001470, + 0x183ac: 0xe000b392, 0x183ad: 0xe000b3a4, 0x183ae: 0xe000143e, 0x183af: 0xe0001482, + 0x183b0: 0xe0001201, 0x183b1: 0xe000120e, 0x183b2: 0xe00011fd, 0x183b3: 0xe0001214, + 0x183b4: 0xe000b2f7, 0x183b6: 0xe0001207, 0x183b7: 0xe000120a, + 0x183b8: 0xe0001204, 0x183b9: 0xe0001211, 0x183ba: 0xe00011fa, 0x183bb: 0xe000b2f4, + 0x183bc: 0xe0001217, 0x183bd: 0x40063620, 0x183be: 0x40326c20, 0x183bf: 0x40063620, + // Block 0x60f, offset 0x183c0 + 0x183c0: 0x40063a20, 0x183c1: 0xe00000b1, 0x183c2: 0xe00012ea, 0x183c3: 0xe00012f5, + 0x183c4: 0xe000b33b, 0x183c6: 0xe00012ee, 0x183c7: 0xe00012f1, + 0x183c8: 0xe000124f, 0x183c9: 0xe000b30e, 0x183ca: 0xe00012e7, 0x183cb: 0xe000b338, + 0x183cc: 0xe00012f8, 0x183cd: 0xe00000b7, 0x183ce: 0xe000b083, 0x183cf: 0xe00000ba, + 0x183d0: 0xe0001343, 0x183d1: 0xe000135e, 0x183d2: 0xe0001356, 0x183d3: 0xe000b355, + 0x183d6: 0xe0001349, 0x183d7: 0xe000135a, + 0x183d8: 0xe0001346, 0x183d9: 0xe0001361, 0x183da: 0xe0001340, 0x183db: 0xe000b352, + 0x183dd: 0xe00000c0, 0x183de: 0xe000b086, 0x183df: 0xe00000c3, + 0x183e0: 0xe00013e6, 0x183e1: 0xe0001401, 0x183e2: 0xe00013f9, 0x183e3: 0xe000b381, + 0x183e4: 0xe00013a4, 0x183e5: 0xe00013a7, 0x183e6: 0xe00013ec, 0x183e7: 0xe00013fd, + 0x183e8: 0xe00013e9, 0x183e9: 0xe0001404, 0x183ea: 0xe00013e3, 0x183eb: 0xe000b37e, + 0x183ec: 0xe00013aa, 0x183ed: 0xe00000ae, 0x183ee: 0xe000b080, 0x183ef: 0x40061e20, + 0x183f2: 0xe000149f, 0x183f3: 0xe00014aa, + 0x183f4: 0xe000b3af, 0x183f6: 0xe00014a3, 0x183f7: 0xe00014a6, + 0x183f8: 0xe00013a1, 0x183f9: 0xe000b36c, 0x183fa: 0xe000149c, 0x183fb: 0xe000b3ac, + 0x183fc: 0xe00014ad, 0x183fd: 0x40062020, 0x183fe: 0x40063820, + // Block 0x610, offset 0x18400 + 0x18400: 0xa0000000, 0x18401: 0xa0000000, 0x18402: 0xa0000000, 0x18403: 0xa0000000, + 0x18404: 0xa0000000, 0x18405: 0xa0000000, 0x18406: 0xa0000000, 0x18407: 0xa0000000, + 0x18408: 0xa0000000, 0x18409: 0x40020020, 0x1840a: 0x40020220, 0x1840b: 0x40020420, + 0x1840c: 0x40020620, 0x1840d: 0x40020820, 0x1840e: 0xa0000000, 0x1840f: 0xa0000000, + 0x18410: 0xa0000000, 0x18411: 0xa0000000, 0x18412: 0xa0000000, 0x18413: 0xa0000000, + 0x18414: 0xa0000000, 0x18415: 0xa0000000, 0x18416: 0xa0000000, 0x18417: 0xa0000000, + 0x18418: 0xa0000000, 0x18419: 0xa0000000, 0x1841a: 0xa0000000, 0x1841b: 0xa0000000, + 0x1841c: 0xa0000000, 0x1841d: 0xa0000000, 0x1841e: 0xa0000000, 0x1841f: 0xa0000000, + 0x18420: 0x40021220, 0x18421: 0x4002ba20, 0x18422: 0x4003e020, 0x18423: 0x4004ea20, + 0x18424: 0x4027de20, 0x18425: 0x4004ec20, 0x18426: 0x4004e620, 0x18427: 0x4003d220, + 0x18428: 0x4003f420, 0x18429: 0x4003f620, 0x1842a: 0x4004d820, 0x1842b: 0x40093820, + 0x1842c: 0x40024020, 0x1842d: 0x40021a20, 0x1842e: 0x4002e420, 0x1842f: 0x4004e220, + 0x18430: 0x4029cc20, 0x18431: 0x4029ce20, 0x18432: 0x4029d020, 0x18433: 0x4029d220, + 0x18434: 0x4029d420, 0x18435: 0x4029d620, 0x18436: 0x4029d820, 0x18437: 0x4029da20, + 0x18438: 0x4029dc20, 0x18439: 0x4029de20, 0x1843a: 0x40026c20, 0x1843b: 0x40026220, + 0x1843c: 0x40094020, 0x1843d: 0x40094220, 0x1843e: 0x40094420, 0x1843f: 0x4002c420, + // Block 0x611, offset 0x18440 + 0x18440: 0x4004d620, 0x18441: 0x002bde88, 0x18442: 0x002c0a88, 0x18443: 0x002c3a88, + 0x18444: 0x002c6288, 0x18445: 0x002c9888, 0x18446: 0x002d0888, 0x18447: 0x002d2288, + 0x18448: 0x002d6888, 0x18449: 0x002d9a88, 0x1844a: 0x002dcc88, 0x1844b: 0x002dfe88, + 0x1844c: 0xc0030002, 0x1844d: 0x002e8288, 0x1844e: 0x002e9e88, 0x1844f: 0x002ee288, + 0x18450: 0x002f2c88, 0x18451: 0x002f5688, 0x18452: 0x002f7a88, 0x18453: 0x002fe688, + 0x18454: 0x00302c88, 0x18455: 0x00306c88, 0x18456: 0x0030be88, 0x18457: 0x0030e288, + 0x18458: 0x0030f688, 0x18459: 0x00310088, 0x1845a: 0x00312a88, 0x1845b: 0x4003f820, + 0x1845c: 0x4004e420, 0x1845d: 0x4003fa20, 0x1845e: 0x40062420, 0x1845f: 0x40021620, + 0x18460: 0x40061e20, 0x18461: 0xcfa39ac2, 0x18462: 0x402c0a20, 0x18463: 0xcfa809b1, + 0x18464: 0x402c6220, 0x18465: 0xcfaa9b41, 0x18466: 0x402d0820, 0x18467: 0x402d2220, + 0x18468: 0x402d6820, 0x18469: 0xcfac9b51, 0x1846a: 0x402dcc20, 0x1846b: 0x402dfe20, + 0x1846c: 0xc0000002, 0x1846d: 0x402e8220, 0x1846e: 0x402e9e20, 0x1846f: 0xcfae9b62, + 0x18470: 0x402f2c20, 0x18471: 0x402f5620, 0x18472: 0x402f7a20, 0x18473: 0xcfb39be1, + 0x18474: 0x40302c20, 0x18475: 0xcfb59c02, 0x18476: 0x4030be20, 0x18477: 0x4030e220, + 0x18478: 0x4030f620, 0x18479: 0x40310020, 0x1847a: 0x40312a20, 0x1847b: 0x4003fc20, + 0x1847c: 0x40094820, 0x1847d: 0x4003fe20, 0x1847e: 0x40094c20, 0x1847f: 0xa0000000, + // Block 0x612, offset 0x18480 + 0x18480: 0xe00008f5, 0x18481: 0xe00008ef, 0x18482: 0xe0000921, 0x18483: 0xe0000969, + 0x18484: 0xe000095b, 0x18485: 0xe000094d, 0x18486: 0xe00009dd, 0x18487: 0xe0000a53, + 0x18488: 0xe0000ae8, 0x18489: 0xe0000ae2, 0x1848a: 0xe0000af4, 0x1848b: 0xe0000b20, + 0x1848c: 0xe0000c2b, 0x1848d: 0xe0000c25, 0x1848e: 0xe0000c37, 0x1848f: 0xe0000c43, + 0x18490: 0xe0000ab3, 0x18491: 0xe0000d63, 0x18492: 0xe0000d9a, 0x18493: 0xe0000d94, + 0x18494: 0xe0000da6, 0x18495: 0xe0000de6, 0x18496: 0xe0000dd2, 0x18497: 0x40093e20, + 0x18498: 0xe0000e12, 0x18499: 0xe0000fe1, 0x1849a: 0xe0000fdb, 0x1849b: 0xe0000fed, + 0x1849c: 0xe0000fff, 0x1849d: 0xe0001102, 0x1849e: 0x00318888, 0x1849f: 0xe0000f7b, + 0x184a0: 0xe00008f2, 0x184a1: 0xe00008ec, 0x184a2: 0xe000091e, 0x184a3: 0xe0000966, + 0x184a4: 0xcfa69b21, 0x184a5: 0xe000094a, 0x184a6: 0xe00009d5, 0x184a7: 0xe0000a4d, + 0x184a8: 0xe0000ae5, 0x184a9: 0xe0000adf, 0x184aa: 0xe0000af1, 0x184ab: 0xe0000b1d, + 0x184ac: 0xe0000c28, 0x184ad: 0xe0000c22, 0x184ae: 0xe0000c34, 0x184af: 0xe0000c40, + 0x184b0: 0xe0000aad, 0x184b1: 0xe0000d60, 0x184b2: 0xe0000d97, 0x184b3: 0xe0000d91, + 0x184b4: 0xe0000da3, 0x184b5: 0xe0000de3, 0x184b6: 0xcfb19bc1, 0x184b7: 0x40093c20, + 0x184b8: 0xe0000e0f, 0x184b9: 0xe0000fde, 0x184ba: 0xe0000fd8, 0x184bb: 0xe0000fea, + 0x184bc: 0xcfb89c61, 0x184bd: 0xe00010ff, 0x184be: 0x40318820, 0x184bf: 0xe0001114, + // Block 0x613, offset 0x184c0 + 0x184c0: 0xa0000000, 0x184c1: 0xa0000000, 0x184c2: 0xa0000000, 0x184c3: 0xa0000000, + 0x184c4: 0xa0000000, 0x184c5: 0xa0000000, 0x184c6: 0xa0000000, 0x184c7: 0xa0000000, + 0x184c8: 0xa0000000, 0x184c9: 0x40020020, 0x184ca: 0x40020220, 0x184cb: 0x40020420, + 0x184cc: 0x40020620, 0x184cd: 0x40020820, 0x184ce: 0xa0000000, 0x184cf: 0xa0000000, + 0x184d0: 0xa0000000, 0x184d1: 0xa0000000, 0x184d2: 0xa0000000, 0x184d3: 0xa0000000, + 0x184d4: 0xa0000000, 0x184d5: 0xa0000000, 0x184d6: 0xa0000000, 0x184d7: 0xa0000000, + 0x184d8: 0xa0000000, 0x184d9: 0xa0000000, 0x184da: 0xa0000000, 0x184db: 0xa0000000, + 0x184dc: 0xa0000000, 0x184dd: 0xa0000000, 0x184de: 0xa0000000, 0x184df: 0xa0000000, + 0x184e0: 0x40021220, 0x184e1: 0x4002ba20, 0x184e2: 0x4003e020, 0x184e3: 0x4004ea20, + 0x184e4: 0x4027de20, 0x184e5: 0x4004ec20, 0x184e6: 0x4004e620, 0x184e7: 0x4003d220, + 0x184e8: 0x4003f420, 0x184e9: 0x4003f620, 0x184ea: 0x4004d820, 0x184eb: 0x40093820, + 0x184ec: 0x40024020, 0x184ed: 0x40021a20, 0x184ee: 0x4002e420, 0x184ef: 0x4004e220, + 0x184f0: 0x4029cc20, 0x184f1: 0x4029ce20, 0x184f2: 0x4029d020, 0x184f3: 0x4029d220, + 0x184f4: 0x4029d420, 0x184f5: 0x4029d620, 0x184f6: 0x4029d820, 0x184f7: 0x4029da20, + 0x184f8: 0x4029dc20, 0x184f9: 0x4029de20, 0x184fa: 0x40026c20, 0x184fb: 0x40026220, + 0x184fc: 0x40094020, 0x184fd: 0x40094220, 0x184fe: 0x40094420, 0x184ff: 0x4002c420, + // Block 0x614, offset 0x18500 + 0x18500: 0x4004d620, 0x18501: 0x002bde88, 0x18502: 0x002c0a88, 0x18503: 0x002c3a88, + 0x18504: 0x002c6288, 0x18505: 0xce6d3081, 0x18506: 0x002d0888, 0x18507: 0xc52b2692, + 0x18508: 0x002d6888, 0x18509: 0x002d9a88, 0x1850a: 0x002dcc88, 0x1850b: 0x002dfe88, + 0x1850c: 0xc0030002, 0x1850d: 0x002e8288, 0x1850e: 0x002e9e88, 0x1850f: 0xc33f3081, + 0x18510: 0x002f2c88, 0x18511: 0x002f5688, 0x18512: 0x002f7a88, 0x18513: 0xc3433081, + 0x18514: 0x00302c88, 0x18515: 0x00306c88, 0x18516: 0x0030be88, 0x18517: 0x0030e288, + 0x18518: 0x0030f688, 0x18519: 0x00310088, 0x1851a: 0x00312a88, 0x1851b: 0x4003f820, + 0x1851c: 0x4004e420, 0x1851d: 0x4003fa20, 0x1851e: 0x40062420, 0x1851f: 0x40021620, + 0x18520: 0x40061e20, 0x18521: 0x402bde20, 0x18522: 0x402c0a20, 0x18523: 0x402c3a20, + 0x18524: 0x402c6220, 0x18525: 0xce6b3081, 0x18526: 0x402d0820, 0x18527: 0xc3372681, + 0x18528: 0x402d6820, 0x18529: 0x402d9a20, 0x1852a: 0x402dcc20, 0x1852b: 0x402dfe20, + 0x1852c: 0xc0000002, 0x1852d: 0x402e8220, 0x1852e: 0x402e9e20, 0x1852f: 0xc33d3081, + 0x18530: 0x402f2c20, 0x18531: 0x402f5620, 0x18532: 0x402f7a20, 0x18533: 0xc3413081, + 0x18534: 0x40302c20, 0x18535: 0x40306c20, 0x18536: 0x4030be20, 0x18537: 0x4030e220, + 0x18538: 0x4030f620, 0x18539: 0x40310020, 0x1853a: 0x40312a20, 0x1853b: 0x4003fc20, + 0x1853c: 0x40094820, 0x1853d: 0x4003fe20, 0x1853e: 0x40094c20, 0x1853f: 0xa0000000, + // Block 0x615, offset 0x18540 + 0x18540: 0xe0000d24, 0x18541: 0xe0000d21, 0x18542: 0xe0000d2a, 0x18543: 0xe0000d27, + 0x18544: 0xe0000d69, 0x18545: 0xe0000d66, 0x18546: 0xe0000d7b, 0x18547: 0xe0000d78, + 0x18548: 0xe0000d87, 0x18549: 0xe0000d84, 0x1854a: 0xe0000d81, 0x1854b: 0xe0000d7e, + 0x1854c: 0xe0000ded, 0x1854d: 0xe0000de9, 0x1854e: 0xe0000df5, 0x1854f: 0xe0000df1, + 0x18550: 0xe0000e3d, 0x18551: 0xe0000e39, 0x18552: 0xe0000e35, 0x18553: 0xe0000e31, + 0x18554: 0xe0000ea7, 0x18555: 0xe0000ea4, 0x18556: 0xe0000ead, 0x18557: 0xe0000eaa, + 0x18558: 0xe0000ed6, 0x18559: 0xe0000ed3, 0x1855a: 0xe0000ef4, 0x1855b: 0xe0000ef1, + 0x1855c: 0xe0000efb, 0x1855d: 0xe0000ef7, 0x1855e: 0xe0000f02, 0x1855f: 0xe0000eff, + 0x18560: 0xe0000f41, 0x18561: 0xe0000f3e, 0x18562: 0x002fe883, 0x18563: 0x402fe820, + 0x18564: 0xe0000f26, 0x18565: 0xe0000f22, 0x18566: 0xe0000f3a, 0x18567: 0xe0000f36, + 0x18568: 0xe000296a, 0x18569: 0xe0002967, 0x1856a: 0xe0000f93, 0x1856b: 0xe0000f90, + 0x1856c: 0xe0000f9f, 0x1856d: 0xe0000f9c, 0x1856e: 0xe0000fb1, 0x1856f: 0xe0000fae, + 0x18570: 0xe0000fab, 0x18571: 0xe0000fa8, 0x18572: 0xe0001093, 0x18573: 0xe0001090, + 0x18574: 0xe000109f, 0x18575: 0xe000109c, 0x18576: 0xe0001099, 0x18577: 0xe0001096, + 0x18578: 0xe0001032, 0x18579: 0xe000102e, 0x1857a: 0xe0001046, 0x1857b: 0xe0001042, + 0x1857c: 0xe00010a9, 0x1857d: 0xe00010a6, 0x1857e: 0xe00010af, 0x1857f: 0xe00010ac, + // Block 0x616, offset 0x18580 + 0x18580: 0xe00010d2, 0x18581: 0xe00010cf, 0x18582: 0xe00010cc, 0x18583: 0xe00010c9, + 0x18584: 0xe00010e1, 0x18585: 0xe00010de, 0x18586: 0xe00010e7, 0x18587: 0xe00010e4, + 0x18588: 0xe00010ed, 0x18589: 0xe00010ea, 0x1858a: 0xe00010fc, 0x1858b: 0xe00010f9, + 0x1858c: 0xe00010f6, 0x1858d: 0xe00010f3, 0x1858e: 0xe0001123, 0x1858f: 0xe0001120, + 0x18590: 0xe0001141, 0x18591: 0xe000113e, 0x18592: 0xe0001153, 0x18593: 0xe0001150, + 0x18594: 0xe0001159, 0x18595: 0xe0001156, 0x18596: 0xe0000c15, 0x18597: 0xe0000f8d, + 0x18598: 0xe00010db, 0x18599: 0xe0001111, 0x1859a: 0xf0000404, 0x1859b: 0xe0000f70, + 0x1859c: 0x40300420, 0x1859d: 0x40300620, 0x1859e: 0xe0000f7f, 0x1859f: 0x402c9620, + 0x185a0: 0xe000099b, 0x185a1: 0xe0000998, 0x185a2: 0xe0000989, 0x185a3: 0xe0000986, + 0x185a4: 0xe0000928, 0x185a5: 0xe0000924, 0x185a6: 0xe0000930, 0x185a7: 0xe000092c, + 0x185a8: 0xe0000940, 0x185a9: 0xe000093c, 0x185aa: 0xe0000938, 0x185ab: 0xe0000934, + 0x185ac: 0xe00009aa, 0x185ad: 0xe00009a6, 0x185ae: 0xe0000902, 0x185af: 0xe00008fe, + 0x185b0: 0xe000090a, 0x185b1: 0xe0000906, 0x185b2: 0xe000091a, 0x185b3: 0xe0000916, + 0x185b4: 0xe0000912, 0x185b5: 0xe000090e, 0x185b6: 0xe00009a2, 0x185b7: 0xe000099e, + 0x185b8: 0x002c9a83, 0x185b9: 0x402c9a20, 0x185ba: 0xe0000b5c, 0x185bb: 0xe0000b59, + 0x185bc: 0xe0000b26, 0x185bd: 0xe0000b23, 0x185be: 0xe0000afb, 0x185bf: 0xe0000af7, + // Block 0x617, offset 0x185c0 + 0x185c0: 0xe0000b03, 0x185c1: 0xe0000aff, 0x185c2: 0xe0000b13, 0x185c3: 0xe0000b0f, + 0x185c4: 0xe0000b0b, 0x185c5: 0xe0000b07, 0x185c6: 0xe000b3c5, 0x185c7: 0xe000b3c2, + 0x185c8: 0xe0000c66, 0x185c9: 0xe0000c63, 0x185ca: 0xe0000c78, 0x185cb: 0xe0000c75, + 0x185cc: 0x002ee483, 0x185cd: 0x402ee420, 0x185ce: 0xe0000e44, 0x185cf: 0xe0000e41, + 0x185d0: 0xe0000dad, 0x185d1: 0xe0000da9, 0x185d2: 0xe0000db5, 0x185d3: 0xe0000db1, + 0x185d4: 0xe0000dc5, 0x185d5: 0xe0000dc1, 0x185d6: 0xe0000dbd, 0x185d7: 0xe0000db9, + 0x185d8: 0xe0003c96, 0x185d9: 0xe0003c93, 0x185da: 0xe0000e5d, 0x185db: 0xe0000e59, + 0x185dc: 0xe0000e65, 0x185dd: 0xe0000e61, 0x185de: 0xe0000e75, 0x185df: 0xe0000e71, + 0x185e0: 0xe0000e6d, 0x185e1: 0xe0000e69, 0x185e2: 0xe0003c9c, 0x185e3: 0xe0003c99, + 0x185e4: 0xe000108d, 0x185e5: 0xe000108a, 0x185e6: 0xe000104d, 0x185e7: 0xe000104a, + 0x185e8: 0xe0001066, 0x185e9: 0xe0001062, 0x185ea: 0xe000106e, 0x185eb: 0xe000106a, + 0x185ec: 0xe000107e, 0x185ed: 0xe000107a, 0x185ee: 0xe0001076, 0x185ef: 0xe0001072, + 0x185f0: 0xe0001086, 0x185f1: 0xe0001082, 0x185f2: 0xe0001108, 0x185f3: 0xe0001105, + 0x185f4: 0xe0001135, 0x185f5: 0xe0001132, 0x185f6: 0xe000112f, 0x185f7: 0xe000112c, + 0x185f8: 0xe000111d, 0x185f9: 0xe000111a, 0x185fa: 0xe0000d0a, 0x185fb: 0xe0000d07, + 0x185fc: 0x0030d888, 0x185fd: 0x4030d820, 0x185fe: 0x00312088, 0x185ff: 0x40312020, + // Block 0x618, offset 0x18600 + 0x18600: 0xa0000000, 0x18601: 0xa0000000, 0x18602: 0xa0000000, 0x18603: 0xa0000000, + 0x18604: 0xa0000000, 0x18605: 0xa0000000, 0x18606: 0xa0000000, 0x18607: 0xa0000000, + 0x18608: 0xa0000000, 0x18609: 0x40020020, 0x1860a: 0x40020220, 0x1860b: 0x40020420, + 0x1860c: 0x40020620, 0x1860d: 0x40020820, 0x1860e: 0xa0000000, 0x1860f: 0xa0000000, + 0x18610: 0xa0000000, 0x18611: 0xa0000000, 0x18612: 0xa0000000, 0x18613: 0xa0000000, + 0x18614: 0xa0000000, 0x18615: 0xa0000000, 0x18616: 0xa0000000, 0x18617: 0xa0000000, + 0x18618: 0xa0000000, 0x18619: 0xa0000000, 0x1861a: 0xa0000000, 0x1861b: 0xa0000000, + 0x1861c: 0xa0000000, 0x1861d: 0xa0000000, 0x1861e: 0xa0000000, 0x1861f: 0xa0000000, + 0x18620: 0x40021220, 0x18621: 0x4002ba20, 0x18622: 0x4003e020, 0x18623: 0x4004ea20, + 0x18624: 0x4027de20, 0x18625: 0x4004ec20, 0x18626: 0x4004e620, 0x18627: 0x4003d220, + 0x18628: 0x4003f420, 0x18629: 0x4003f620, 0x1862a: 0x4004d820, 0x1862b: 0x40093820, + 0x1862c: 0x40024020, 0x1862d: 0x40021a20, 0x1862e: 0x4002e420, 0x1862f: 0x4004e220, + 0x18630: 0x4029cc20, 0x18631: 0x4029ce20, 0x18632: 0x4029d020, 0x18633: 0x4029d220, + 0x18634: 0x4029d420, 0x18635: 0x4029d620, 0x18636: 0x4029d820, 0x18637: 0x4029da20, + 0x18638: 0x4029dc20, 0x18639: 0x4029de20, 0x1863a: 0x40026c20, 0x1863b: 0x40026220, + 0x1863c: 0x40094020, 0x1863d: 0x40094220, 0x1863e: 0x40094420, 0x1863f: 0x4002c420, + // Block 0x619, offset 0x18640 + 0x18640: 0x4004d620, 0x18641: 0xcfbf9c81, 0x18642: 0x002c0a88, 0x18643: 0x002c3a88, + 0x18644: 0x002c6288, 0x18645: 0xcfcd9cc1, 0x18646: 0x002d0888, 0x18647: 0x002d2288, + 0x18648: 0x002d6888, 0x18649: 0xcfe19c81, 0x1864a: 0x002dcc88, 0x1864b: 0x002dfe88, + 0x1864c: 0xc0030002, 0x1864d: 0xcfeb9c81, 0x1864e: 0xcff59c81, 0x1864f: 0xcfff9c81, + 0x18650: 0x002f2c88, 0x18651: 0x002f5688, 0x18652: 0x002f7a88, 0x18653: 0x002fe688, + 0x18654: 0x00302c88, 0x18655: 0xd00e9d81, 0x18656: 0x0030be88, 0x18657: 0x0030e288, + 0x18658: 0x0030f688, 0x18659: 0x00310088, 0x1865a: 0x00312a88, 0x1865b: 0x4003f820, + 0x1865c: 0x4004e420, 0x1865d: 0x4003fa20, 0x1865e: 0x40062420, 0x1865f: 0x40021620, + 0x18660: 0x40061e20, 0x18661: 0xcfba9c81, 0x18662: 0x402c0a20, 0x18663: 0x402c3a20, + 0x18664: 0x402c6220, 0x18665: 0xcfc49cc1, 0x18666: 0x402d0820, 0x18667: 0x402d2220, + 0x18668: 0x402d6820, 0x18669: 0xcfdc9c81, 0x1866a: 0x402dcc20, 0x1866b: 0x402dfe20, + 0x1866c: 0xc0000002, 0x1866d: 0xcfe69c81, 0x1866e: 0xcff09c81, 0x1866f: 0xcffa9c81, + 0x18670: 0x402f2c20, 0x18671: 0x402f5620, 0x18672: 0x402f7a20, 0x18673: 0x402fe620, + 0x18674: 0x40302c20, 0x18675: 0xd0049d81, 0x18676: 0x4030be20, 0x18677: 0x4030e220, + 0x18678: 0x4030f620, 0x18679: 0x40310020, 0x1867a: 0x40312a20, 0x1867b: 0x4003fc20, + 0x1867c: 0x40094820, 0x1867d: 0x4003fe20, 0x1867e: 0x40094c20, 0x1867f: 0xa0000000, + // Block 0x61a, offset 0x18680 + 0x18680: 0x002bde63, 0x18681: 0x002bde23, 0x18682: 0xe0000921, 0x18683: 0xe0000969, + 0x18684: 0xe000095b, 0x18685: 0xe000094d, 0x18686: 0xe00009dd, 0x18687: 0xe0000a53, + 0x18688: 0x002c9863, 0x18689: 0x002c9823, 0x1868a: 0xcfd99d51, 0x1868b: 0xe0000b20, + 0x1868c: 0x002d9a63, 0x1868d: 0x002d9a23, 0x1868e: 0xe0000c37, 0x1868f: 0xe0000c43, + 0x18690: 0xe0000ab3, 0x18691: 0xe0000d63, 0x18692: 0x002ee263, 0x18693: 0x002ee223, + 0x18694: 0xe0000da6, 0x18695: 0xe0000de6, 0x18696: 0xe0000dd2, 0x18697: 0x40093e20, + 0x18698: 0xe0000e12, 0x18699: 0x00306c63, 0x1869a: 0x00306c23, 0x1869b: 0xe0000fed, + 0x1869c: 0x00306d23, 0x1869d: 0xe0001102, 0x1869e: 0x00318888, 0x1869f: 0xe0000f7b, + 0x186a0: 0x402bde1f, 0x186a1: 0x402bde1d, 0x186a2: 0xe000091e, 0x186a3: 0xe0000966, + 0x186a4: 0xe0000958, 0x186a5: 0xe000094a, 0x186a6: 0xe00009d5, 0x186a7: 0xe0000a4d, + 0x186a8: 0x402c981f, 0x186a9: 0x402c981d, 0x186aa: 0xcfd69d51, 0x186ab: 0xe0000b1d, + 0x186ac: 0x402d9a1f, 0x186ad: 0x402d9a1d, 0x186ae: 0xe0000c34, 0x186af: 0xe0000c40, + 0x186b0: 0xe0000aad, 0x186b1: 0xe0000d60, 0x186b2: 0x402ee21f, 0x186b3: 0x402ee21d, + 0x186b4: 0xe0000da3, 0x186b5: 0xe0000de3, 0x186b6: 0xe0000dcf, 0x186b7: 0x40093c20, + 0x186b8: 0xe0000e0f, 0x186b9: 0x40306c1f, 0x186ba: 0x40306c1d, 0x186bb: 0xe0000fea, + 0x186bc: 0x40306c25, 0x186bd: 0xe00010ff, 0x186be: 0x40318820, 0x186bf: 0xe0001114, + // Block 0x61b, offset 0x186c0 + 0x186c0: 0x002bde03, 0x186c1: 0x402bde1c, 0x186c2: 0xe00008fb, 0x186c3: 0xe00008f8, + 0x186c4: 0xe000097d, 0x186c5: 0xe000097a, 0x186c6: 0xe0000a38, 0x186c7: 0xe0000a35, + 0x186c8: 0xe0000a3e, 0x186c9: 0xe0000a3b, 0x186ca: 0xe0000a4a, 0x186cb: 0xe0000a47, + 0x186cc: 0xe0000a44, 0x186cd: 0xe0000a41, 0x186ce: 0xe0000a86, 0x186cf: 0xe0000a83, + 0x186d0: 0xe0000aaa, 0x186d1: 0xe0000aa7, 0x186d2: 0x002c9803, 0x186d3: 0x402c981c, + 0x186d4: 0xe0000aee, 0x186d5: 0xe0000aeb, 0x186d6: 0xe0000b2c, 0x186d7: 0xe0000b29, + 0x186d8: 0xe0000b40, 0x186d9: 0xe0000b3d, 0x186da: 0x002c9843, 0x186db: 0x402c981e, + 0x186dc: 0xe0000bb8, 0x186dd: 0xe0000bb5, 0x186de: 0xe0000bb2, 0x186df: 0xe0000baf, + 0x186e0: 0xe0000bc4, 0x186e1: 0xe0000bc1, 0x186e2: 0xe0000bca, 0x186e3: 0xe0000bc7, + 0x186e4: 0xe0000bee, 0x186e5: 0xe0000beb, 0x186e6: 0xe0000c1b, 0x186e7: 0xe0000c18, + 0x186e8: 0xe0000c51, 0x186e9: 0xe0000c4e, 0x186ea: 0x002d9a03, 0x186eb: 0x402d9a1c, + 0x186ec: 0xe0000c31, 0x186ed: 0xe0000c2e, 0x186ee: 0xe0000c5a, 0x186ef: 0xe0000c57, + 0x186f0: 0xe0000c54, 0x186f1: 0x402da220, 0x186f2: 0xf0000a0a, 0x186f3: 0xf0000404, + 0x186f4: 0xe0000c8a, 0x186f5: 0xe0000c87, 0x186f6: 0xe0000c9f, 0x186f7: 0xe0000c9c, + 0x186f8: 0x402f7220, 0x186f9: 0xe0000ccc, 0x186fa: 0xe0000cc9, 0x186fb: 0xe0000cd8, + 0x186fc: 0xe0000cd5, 0x186fd: 0xe0000cd2, 0x186fe: 0xe0000ccf, 0x186ff: 0xe0000d04, + // Block 0x61c, offset 0x18700 + 0x18700: 0xe0000cfe, 0x18701: 0xe0000cf8, 0x18702: 0xe0000cf5, 0x18703: 0x002e9e23, + 0x18704: 0x402e9e1d, 0x18705: 0xe0000d6f, 0x18706: 0xe0000d6c, 0x18707: 0x002e9e43, + 0x18708: 0x402e9e1e, 0x18709: 0xf0000404, 0x1870a: 0x002eda88, 0x1870b: 0x402eda20, + 0x1870c: 0x002ee203, 0x1870d: 0x402ee21c, 0x1870e: 0xe0000da0, 0x1870f: 0xe0000d9d, + 0x18710: 0xe0000de0, 0x18711: 0xe0000ddd, 0x18712: 0xe0000e93, 0x18713: 0xe0000e8f, + 0x18714: 0xe0000eca, 0x18715: 0xe0000ec7, 0x18716: 0xe0000edc, 0x18717: 0xe0000ed9, + 0x18718: 0xe0000ed0, 0x18719: 0xe0000ecd, 0x1871a: 0xe0000f1f, 0x1871b: 0xe0000f1c, + 0x1871c: 0xe0000f2d, 0x1871d: 0xe0000f2a, 0x1871e: 0xe0000f47, 0x1871f: 0xe0000f44, + 0x18720: 0xe0000f33, 0x18721: 0xe0000f30, 0x18722: 0xe0000f99, 0x18723: 0xe0000f96, + 0x18724: 0xe0000f8a, 0x18725: 0xe0000f87, 0x18726: 0x00303688, 0x18727: 0x40303620, + 0x18728: 0xe000102b, 0x18729: 0xe0001028, 0x1872a: 0x00306c03, 0x1872b: 0x40306c1c, + 0x1872c: 0xe0000fe7, 0x1872d: 0xe0000fe4, 0x1872e: 0xe0000ff9, 0x1872f: 0xe0000ff6, + 0x18730: 0xe0001025, 0x18731: 0xe0001022, 0x18732: 0xe0001039, 0x18733: 0xe0001036, + 0x18734: 0xe00010d8, 0x18735: 0xe00010d5, 0x18736: 0xe000110e, 0x18737: 0xe000110b, + 0x18738: 0xe0001117, 0x18739: 0xe000113b, 0x1873a: 0xe0001138, 0x1873b: 0xe000114d, + 0x1873c: 0xe000114a, 0x1873d: 0xe0001147, 0x1873e: 0xe0001144, 0x1873f: 0xe0000f64, + // Block 0x61d, offset 0x18740 + 0x18740: 0x40321220, 0x18741: 0x40321a20, 0x18742: 0x40322220, 0x18743: 0x40322a20, + 0x18744: 0xe0000ad5, 0x18745: 0xe0000ad1, 0x18746: 0xe0000acd, 0x18747: 0xf0000a0a, + 0x18748: 0xf000040a, 0x18749: 0xf0000404, 0x1874a: 0xf0000a0a, 0x1874b: 0xf000040a, + 0x1874c: 0xf0000404, 0x1874d: 0x002bde43, 0x1874e: 0x402bde1e, 0x1874f: 0x002d9a43, + 0x18750: 0x402d9a1e, 0x18751: 0x002ee243, 0x18752: 0x402ee21e, 0x18753: 0x00306c43, + 0x18754: 0x40306c1e, 0x18755: 0x00306ca3, 0x18756: 0x40306c21, 0x18757: 0x00306cc3, + 0x18758: 0x40306c22, 0x18759: 0x00306ce3, 0x1875a: 0x40306c23, 0x1875b: 0x00306d03, + 0x1875c: 0x40306c24, 0x1875d: 0x402cae20, 0x1875e: 0xe000b51f, 0x1875f: 0xe000b51c, + 0x18760: 0xe000b525, 0x18761: 0xe000b522, 0x18762: 0xe00009f4, 0x18763: 0xe00009ef, + 0x18764: 0x002d3a88, 0x18765: 0x402d3a20, 0x18766: 0xe0000bbe, 0x18767: 0xe0000bbb, + 0x18768: 0xe0000c99, 0x18769: 0xe0000c96, 0x1876a: 0xe0000e20, 0x1876b: 0xe0000e1d, + 0x1876c: 0xe000b579, 0x1876d: 0xe000b576, 0x1876e: 0xe0001162, 0x1876f: 0xe000115f, + 0x18770: 0xe0000c8d, 0x18771: 0xf0000a0a, 0x18772: 0xf000040a, 0x18773: 0xf0000404, + 0x18774: 0xe0000bac, 0x18775: 0xe0000ba9, 0x18776: 0x002d7888, 0x18777: 0x00319488, + 0x18778: 0x002e9e63, 0x18779: 0x402e9e1f, 0x1877a: 0xe000b537, 0x1877b: 0xe000b534, + 0x1877c: 0xe00009ea, 0x1877d: 0xe00009e5, 0x1877e: 0xe0000e19, 0x1877f: 0xe0000e15, + // Block 0x61e, offset 0x18780 + 0x18780: 0xe000098f, 0x18781: 0xe000098c, 0x18782: 0xe0000995, 0x18783: 0xe0000992, + 0x18784: 0xe0000b62, 0x18785: 0xe0000b5f, 0x18786: 0xe0000b68, 0x18787: 0xe0000b65, + 0x18788: 0xe0000c6c, 0x18789: 0xe0000c69, 0x1878a: 0xe0000c72, 0x1878b: 0xe0000c6f, + 0x1878c: 0xe0000e4a, 0x1878d: 0xe0000e47, 0x1878e: 0xe0000e50, 0x1878f: 0xe0000e4d, + 0x18790: 0xe0000ee8, 0x18791: 0xe0000ee5, 0x18792: 0xe0000eee, 0x18793: 0xe0000eeb, + 0x18794: 0xe0001053, 0x18795: 0xe0001050, 0x18796: 0xe0001059, 0x18797: 0xe0001056, + 0x18798: 0xe0000f61, 0x18799: 0xe0000f5e, 0x1879a: 0xe0000fa5, 0x1879b: 0xe0000fa2, + 0x1879c: 0x00312288, 0x1879d: 0x40312220, 0x1879e: 0xe0000bf4, 0x1879f: 0xe0000bf1, + 0x187a0: 0x002ebc88, 0x187a1: 0x402c8c20, 0x187a2: 0x002f2288, 0x187a3: 0x402f2220, + 0x187a4: 0x00314088, 0x187a5: 0x40314020, 0x187a6: 0xe000096f, 0x187a7: 0xe000096c, + 0x187a8: 0xe0000b32, 0x187a9: 0xe0000b2f, 0x187aa: 0xe000b567, 0x187ab: 0xe000b564, + 0x187ac: 0xe000b56d, 0x187ad: 0xe000b56a, 0x187ae: 0xe0000e04, 0x187af: 0xe0000e01, + 0x187b0: 0xe000b573, 0x187b1: 0xe000b570, 0x187b2: 0xe0001129, 0x187b3: 0xe0001126, + 0x187b4: 0x402e5e20, 0x187b5: 0x402ed020, 0x187b6: 0x40305a20, 0x187b7: 0x402dd420, + 0x187b8: 0xe0000abf, 0x187b9: 0xe0000ec4, 0x187ba: 0x002be888, 0x187bb: 0x002c4488, + 0x187bc: 0x402c4420, 0x187bd: 0x002e3888, 0x187be: 0x00303e88, 0x187bf: 0x402ffc20, + // Block 0x61f, offset 0x187c0 + 0x187c0: 0xe00009b1, 0x187c1: 0xe00009ae, 0x187c2: 0xe0000a22, 0x187c3: 0xe0000a1f, + 0x187c4: 0xe0000a28, 0x187c5: 0xe0000a25, 0x187c6: 0xe0000a2e, 0x187c7: 0xe0000a2b, + 0x187c8: 0xe0000a5a, 0x187c9: 0xe0000a56, 0x187ca: 0xe0000a8c, 0x187cb: 0xe0000a89, + 0x187cc: 0xe0000a98, 0x187cd: 0xe0000a95, 0x187ce: 0xe0000aa4, 0x187cf: 0xe0000aa1, + 0x187d0: 0xe0000a92, 0x187d1: 0xe0000a8f, 0x187d2: 0xe0000a9e, 0x187d3: 0xe0000a9b, + 0x187d4: 0xe000b54f, 0x187d5: 0xe000b54c, 0x187d6: 0xe000b549, 0x187d7: 0xe000b546, + 0x187d8: 0xe0000b7c, 0x187d9: 0xe0000b79, 0x187da: 0xe0000b82, 0x187db: 0xe0000b7f, + 0x187dc: 0xe0000b39, 0x187dd: 0xe0000b35, 0x187de: 0xe0000b8c, 0x187df: 0xe0000b89, + 0x187e0: 0xe0000bd0, 0x187e1: 0xe0000bcd, 0x187e2: 0xe0000c00, 0x187e3: 0xe0000bfd, + 0x187e4: 0xe0000c0c, 0x187e5: 0xe0000c09, 0x187e6: 0xe0000bfa, 0x187e7: 0xe0000bf7, + 0x187e8: 0xe0000c06, 0x187e9: 0xe0000c03, 0x187ea: 0xe0000c12, 0x187eb: 0xe0000c0f, + 0x187ec: 0xe0000c7e, 0x187ed: 0xe0000c7b, 0x187ee: 0xe000b555, 0x187ef: 0xe000b552, + 0x187f0: 0xe0000c93, 0x187f1: 0xe0000c90, 0x187f2: 0xe0000cab, 0x187f3: 0xe0000ca8, + 0x187f4: 0xe0000cb1, 0x187f5: 0xe0000cae, 0x187f6: 0xe0000cde, 0x187f7: 0xe0000cdb, + 0x187f8: 0xe0000ce5, 0x187f9: 0xe0000ce1, 0x187fa: 0xe0000cf2, 0x187fb: 0xe0000cef, + 0x187fc: 0xe0000cec, 0x187fd: 0xe0000ce9, 0x187fe: 0x002e8223, 0x187ff: 0x402e821d, + // Block 0x620, offset 0x18800 + 0x18800: 0xe0000d24, 0x18801: 0xe0000d21, 0x18802: 0xe0000d2a, 0x18803: 0xe0000d27, + 0x18804: 0xe0000d69, 0x18805: 0xe0000d66, 0x18806: 0xe0000d7b, 0x18807: 0xe0000d78, + 0x18808: 0xe0000d87, 0x18809: 0xe0000d84, 0x1880a: 0xe0000d81, 0x1880b: 0xe0000d7e, + 0x1880c: 0xe000b585, 0x1880d: 0xe000b582, 0x1880e: 0xe0000df5, 0x1880f: 0xe0000df1, + 0x18810: 0xe000b561, 0x18811: 0xe000b55e, 0x18812: 0xe000b55b, 0x18813: 0xe000b558, + 0x18814: 0xe0000ea7, 0x18815: 0xe0000ea4, 0x18816: 0xe0000ead, 0x18817: 0xe0000eaa, + 0x18818: 0xe0000ed6, 0x18819: 0xe0000ed3, 0x1881a: 0xe0000ef4, 0x1881b: 0xe0000ef1, + 0x1881c: 0xe0000efb, 0x1881d: 0xe0000ef7, 0x1881e: 0xe0000f02, 0x1881f: 0xe0000eff, + 0x18820: 0xe0000f41, 0x18821: 0xe0000f3e, 0x18822: 0xe0000f53, 0x18823: 0xe0000f50, + 0x18824: 0xe0000f26, 0x18825: 0xe0000f22, 0x18826: 0xe0000f3a, 0x18827: 0xe0000f36, + 0x18828: 0xe0000f5a, 0x18829: 0xe0000f56, 0x1882a: 0xe0000f93, 0x1882b: 0xe0000f90, + 0x1882c: 0xe0000f9f, 0x1882d: 0xe0000f9c, 0x1882e: 0xe0000fb1, 0x1882f: 0xe0000fae, + 0x18830: 0xe0000fab, 0x18831: 0xe0000fa8, 0x18832: 0xe0001093, 0x18833: 0xe0001090, + 0x18834: 0xe000109f, 0x18835: 0xe000109c, 0x18836: 0xe0001099, 0x18837: 0xe0001096, + 0x18838: 0xe000b5a3, 0x18839: 0xe000b5a0, 0x1883a: 0xe000b59d, 0x1883b: 0xe000b59a, + 0x1883c: 0xe00010a9, 0x1883d: 0xe00010a6, 0x1883e: 0xe00010af, 0x1883f: 0xe00010ac, + // Block 0x621, offset 0x18840 + 0x18840: 0xe00010d2, 0x18841: 0xe00010cf, 0x18842: 0xe00010cc, 0x18843: 0xe00010c9, + 0x18844: 0xe00010e1, 0x18845: 0xe00010de, 0x18846: 0xe00010e7, 0x18847: 0xe00010e4, + 0x18848: 0xe00010ed, 0x18849: 0xe00010ea, 0x1884a: 0xe00010fc, 0x1884b: 0xe00010f9, + 0x1884c: 0xe00010f6, 0x1884d: 0xe00010f3, 0x1884e: 0xe0001123, 0x1884f: 0xe0001120, + 0x18850: 0xe0001141, 0x18851: 0xe000113e, 0x18852: 0xe0001153, 0x18853: 0xe0001150, + 0x18854: 0xe0001159, 0x18855: 0xe0001156, 0x18856: 0xe0000c15, 0x18857: 0xe0000f8d, + 0x18858: 0xe00010db, 0x18859: 0xe0001111, 0x1885a: 0xf0000404, 0x1885b: 0xe0000f70, + 0x1885c: 0x40300420, 0x1885d: 0x40300620, 0x1885e: 0xe0000f7f, 0x1885f: 0x402c9620, + 0x18860: 0xe000099b, 0x18861: 0xe0000998, 0x18862: 0xe0000989, 0x18863: 0xe0000986, + 0x18864: 0xe000b531, 0x18865: 0xe000b52e, 0x18866: 0xe000b543, 0x18867: 0xe000b540, + 0x18868: 0xe0000940, 0x18869: 0xe000093c, 0x1886a: 0xe0000938, 0x1886b: 0xe0000934, + 0x1886c: 0xe00009aa, 0x1886d: 0xe00009a6, 0x1886e: 0xe000b52b, 0x1886f: 0xe000b528, + 0x18870: 0xe000b53d, 0x18871: 0xe000b53a, 0x18872: 0xe000091a, 0x18873: 0xe0000916, + 0x18874: 0xe0000912, 0x18875: 0xe000090e, 0x18876: 0xe00009a2, 0x18877: 0xe000099e, + 0x18878: 0xe0000b6e, 0x18879: 0xe0000b6b, 0x1887a: 0xe0000b5c, 0x1887b: 0xe0000b59, + 0x1887c: 0xe0000b26, 0x1887d: 0xe0000b23, 0x1887e: 0x002c98c3, 0x1887f: 0x402c9822, + // Block 0x622, offset 0x18880 + 0x18880: 0x002c9903, 0x18881: 0x402c9824, 0x18882: 0xe0000b13, 0x18883: 0xe0000b0f, + 0x18884: 0xe0000b0b, 0x18885: 0xe0000b07, 0x18886: 0xe0000b75, 0x18887: 0xe0000b71, + 0x18888: 0xe0000c66, 0x18889: 0xe0000c63, 0x1888a: 0xe0000c78, 0x1888b: 0xe0000c75, + 0x1888c: 0xe0000e84, 0x1888d: 0xe0000e81, 0x1888e: 0xe0000e44, 0x1888f: 0xe0000e41, + 0x18890: 0xe000b57f, 0x18891: 0xe000b57c, 0x18892: 0xe000b591, 0x18893: 0xe000b58e, + 0x18894: 0xe0000dc5, 0x18895: 0xe0000dc1, 0x18896: 0xe0000dbd, 0x18897: 0xe0000db9, + 0x18898: 0xe0000e8b, 0x18899: 0xe0000e87, 0x1889a: 0xe000b58b, 0x1889b: 0xe000b588, + 0x1889c: 0xe000b597, 0x1889d: 0xe000b594, 0x1889e: 0xe0000e75, 0x1889f: 0xe0000e71, + 0x188a0: 0xe0000e6d, 0x188a1: 0xe0000e69, 0x188a2: 0xe0000e7d, 0x188a3: 0xe0000e79, + 0x188a4: 0xe000108d, 0x188a5: 0xe000108a, 0x188a6: 0xe000104d, 0x188a7: 0xe000104a, + 0x188a8: 0xe000b5a9, 0x188a9: 0xe000b5a6, 0x188aa: 0xe000b5af, 0x188ab: 0xe000b5ac, + 0x188ac: 0xe000107e, 0x188ad: 0xe000107a, 0x188ae: 0xe0001076, 0x188af: 0xe0001072, + 0x188b0: 0xe0001086, 0x188b1: 0xe0001082, 0x188b2: 0xe0001108, 0x188b3: 0xe0001105, + 0x188b4: 0xe0001135, 0x188b5: 0xe0001132, 0x188b6: 0xe000112f, 0x188b7: 0xe000112c, + 0x188b8: 0xe000111d, 0x188b9: 0xe000111a, 0x188ba: 0xe0000d0a, 0x188bb: 0xe0000d07, + 0x188bc: 0x0030d888, 0x188bd: 0x4030d820, 0x188be: 0x00312088, 0x188bf: 0x40312020, + // Block 0x623, offset 0x188c0 + 0x188c0: 0x6d200220, 0x188c1: 0x6c16fe20, 0x188c2: 0x6d0bdc20, 0x188c3: 0x6d1b3420, + 0x188c4: 0x6d0bd620, 0x188c5: 0x6cc58020, 0x188c6: 0x6c6ece20, 0x188c7: 0xe000240a, + 0x188c8: 0x6c29ae20, 0x188c9: 0x6c29ca20, 0x188ca: 0x6c100220, 0x188cb: 0x6c6b9220, + 0x188cc: 0x6cff9e20, 0x188cd: 0x6cffa020, 0x188ce: 0x6cf39620, 0x188cf: 0x6cedd020, + 0x188d0: 0x6cedd220, 0x188d1: 0x6cf39820, 0x188d2: 0x6cd8fa20, 0x188d3: 0x6d10c420, + 0x188d4: 0x6c630820, 0x188d5: 0x6c616620, 0x188d6: 0x6d036620, 0x188d7: 0x6d036820, + 0x188d8: 0x6cd49220, 0x188d9: 0x6cdbee20, 0x188db: 0x6cc64c20, + 0x188dc: 0x6cc63420, 0x188dd: 0x6d266620, 0x188de: 0x6c271e20, 0x188df: 0x2ca22083, + 0x188e0: 0x6c9f8820, 0x188e1: 0x6cd74220, 0x188e2: 0x6cd74420, 0x188e3: 0x6c0c6c20, + 0x188e4: 0x6d2ff820, 0x188e5: 0x6d2ff220, 0x188e6: 0x6cbb3620, 0x188e7: 0x6ca96420, + 0x188e8: 0x6cc38820, 0x188e9: 0xe000243f, 0x188ea: 0xe0002442, 0x188eb: 0x6ca2c020, + 0x188ec: 0x6cd2f220, 0x188ed: 0x6cd40820, 0x188ee: 0x6cd30220, 0x188ef: 0x6cd86820, + 0x188f0: 0x6cd86a20, 0x188f1: 0x6c429620, 0x188f2: 0x6cee4220, 0x188f3: 0xe0002451, + 0x188f4: 0x6cee4020, 0x188f5: 0xe000244e, 0x188f6: 0x6cc5ba20, 0x188f7: 0x6cc60a20, + 0x188f8: 0x02ff1684, 0x188f9: 0x03000484, 0x188fa: 0x6d24ba20, 0x188fb: 0x6d24bc20, + 0x188fc: 0x6cc78020, 0x188fd: 0x6c719e20, 0x188fe: 0x6c12be20, 0x188ff: 0x6c12c220, + // Block 0x624, offset 0x18900 + 0x18900: 0x6c12c420, 0x18901: 0x6c562e20, 0x18902: 0x6d199a20, 0x18903: 0x6cf76620, + 0x18904: 0x6cf94e20, 0x18905: 0x6c673620, 0x18906: 0x0313a484, 0x18907: 0xe000246c, + 0x18908: 0x6d0d2e20, 0x18909: 0x6c077420, 0x1890a: 0xe000246f, 0x1890b: 0x6c17e220, + 0x1890c: 0x6c21a220, 0x1890d: 0x6c21a620, 0x1890e: 0x6c21f020, 0x1890f: 0x6c3f9a20, + 0x18910: 0x6c6c7c20, 0x18911: 0x6c16dc20, 0x18912: 0x6c16de20, 0x18913: 0x6d2f1620, + 0x18914: 0x6c9ae820, 0x18915: 0xe000247b, 0x18916: 0x6c3f9c20, 0x18917: 0x6d222020, + 0x18918: 0x6cbe6a20, 0x18919: 0x6cef7e20, 0x1891a: 0x6d13ae20, 0x1891b: 0x6c3c9820, + 0x1891c: 0x6c3a3020, 0x1891d: 0x6cd29c20, 0x1891e: 0xe0002481, 0x1891f: 0x6cd29e20, + 0x18920: 0x6cd2a020, 0x18921: 0xe0002484, 0x18922: 0x6c96ae20, 0x18923: 0x6c476c20, + 0x18924: 0x6c4b2420, 0x18925: 0x6d220e20, 0x18926: 0x6ca7ce20, 0x18927: 0x6c920a20, + 0x18928: 0x6c975620, 0x18929: 0x6c5a4020, 0x1892a: 0x6c9e4820, 0x1892b: 0x6cb6bc20, + 0x1892c: 0x6cb6be20, 0x1892d: 0x6c1bd020, 0x1892e: 0x6c1bd220, 0x1892f: 0x6c902820, + 0x18930: 0x6c902a20, 0x18931: 0x6c4ab620, 0x18932: 0x6c4ab420, 0x18933: 0x2c4a3883, + // Block 0x625, offset 0x18940 + 0x18940: 0x2d13b686, 0x18941: 0x2c4bb683, 0x18942: 0x2d3a5283, 0x18943: 0x2cb1dc83, + 0x18944: 0x2d15aa84, 0x18945: 0x2c73be83, 0x18946: 0x2c37b486, 0x18947: 0x2ce7e283, + 0x18948: 0x2cc55a84, 0x18949: 0x2c372e83, 0x1894a: 0x2cc80e83, 0x1894b: 0x2c030a84, + 0x1894c: 0x2c6ed083, 0x1894d: 0x2c9d1683, 0x1894e: 0x2c0d9e83, 0x1894f: 0x2c610c83, + 0x18950: 0x2cb9ec83, 0x18951: 0x2c29b083, 0x18952: 0x2c855c83, 0x18953: 0x2c059c83, + 0x18954: 0x2c08aa83, 0x18955: 0x2c397e83, 0x18956: 0x2cf83483, 0x18957: 0x2cd22485, + 0x18958: 0x2c100483, 0x18959: 0x2c6a4e83, 0x1895a: 0x2c16e083, 0x1895b: 0x2cd7b483, + 0x1895c: 0x2d200483, 0x1895d: 0x2c79c883, 0x1895e: 0x2ceed683, 0x1895f: 0x2ce91084, + 0x18960: 0x2cd2e283, 0x18961: 0x2d34ca83, 0x18962: 0x2cdba683, 0x18963: 0x2cf55a83, + 0x18964: 0x2c26e483, 0x18965: 0x2caa6e84, 0x18966: 0x2d3f6883, 0x18967: 0x2c9db683, + 0x18968: 0x2c25b083, 0x18969: 0x2cffa283, 0x1896a: 0x2d1edc83, 0x1896b: 0x2cd18a83, + 0x1896c: 0x2c17fa83, 0x1896d: 0x2cccb083, 0x1896e: 0x2c1fd683, 0x1896f: 0x2c454a83, + 0x18970: 0x2c610e83, 0x18971: 0x2c6c1a83, 0x18972: 0x2c420a83, 0x18973: 0x2d107e83, + 0x18974: 0x2c4a0283, 0x18975: 0x2d1ac083, 0x18976: 0x2c45cc83, 0x18977: 0x2d163c83, + 0x18978: 0x2c454c83, 0x18979: 0x2c616883, 0x1897a: 0x2cccb283, 0x1897b: 0x2c1bd483, + 0x1897c: 0x2d02a283, 0x1897d: 0x2c436083, 0x1897e: 0x2c563883, 0x1897f: 0x2cd43684, + // Block 0x626, offset 0x18980 + 0x18980: 0x2d337e83, 0x18981: 0x2cb3fc83, 0x18982: 0x2cf17a84, 0x18983: 0x2c30f883, + 0x18984: 0x2c6c1e83, 0x18985: 0x2c398083, 0x18986: 0x2cf39a83, 0x18987: 0x2cc63684, + 0x18988: 0x2d264283, 0x18989: 0x2d266885, 0x1898a: 0x2ca25c84, 0x1898b: 0x2cba3883, + 0x1898c: 0x2d34cc83, 0x1898d: 0x2c271283, 0x1898e: 0x2cd49883, 0x1898f: 0x2cf39c83, + 0x18990: 0x2c08ac83, 0x18991: 0x2c98c083, 0x18992: 0x2cd2e483, 0x18993: 0x2cb72683, + 0x18994: 0x2cd70284, 0x18995: 0x2c5d8484, 0x18996: 0x2d2f8083, 0x18997: 0x2c3fa083, + 0x18998: 0x2d10c683, 0x18999: 0x2cac5083, 0x1899a: 0x2cb14483, 0x1899b: 0x2d0b0883, + 0x1899c: 0x2ca96683, 0x1899d: 0x2cc34c83, 0x1899e: 0x2d07fa83, 0x1899f: 0x2d22b883, + 0x189a0: 0x2c483e83, 0x189a1: 0x2cec0c83, 0x189a2: 0x2c415c83, 0x189a3: 0x2cd0d284, + 0x189a4: 0x2d1e6c83, 0x189a5: 0x2ce47e83, 0x189a6: 0x2cb04483, 0x189a7: 0x2ca54083, + 0x189a8: 0x2c0e4683, 0x189a9: 0x2c040883, 0x189aa: 0x2cafa883, 0x189ab: 0x2c9f8a83, + 0x189ac: 0x2ca26483, 0x189ad: 0x2c98c283, 0x189ae: 0x2cd2a883, 0x189af: 0x2cd22c83, + 0x189b0: 0x2cd2f483, 0x189b1: 0x2cc74083, 0x189b2: 0x2c50b283, 0x189b3: 0x2d08f283, + 0x189b4: 0x2c856c83, 0x189b5: 0x2d39f083, 0x189b6: 0x2c9cd683, 0x189b7: 0x2c9d1a83, + 0x189b8: 0x2c3d1a83, 0x189b9: 0x2cedf483, 0x189ba: 0x2d0f7683, 0x189bb: 0x2d221c83, + 0x189bc: 0x2c819a83, 0x189bd: 0x2c373083, 0x189be: 0x2c82b283, 0x189bf: 0x2c378483, + // Block 0x627, offset 0x189c0 + 0x189c0: 0x2d22c683, 0x189c1: 0x2cc78283, 0x189c2: 0x2c189483, 0x189c3: 0x2d3f2a83, + 0x189c4: 0x2d357083, 0x189c5: 0x2c6fd083, 0x189c6: 0x2ccf0683, 0x189c7: 0x2c201683, + 0x189c8: 0x2d385283, 0x189c9: 0x2c449e83, 0x189ca: 0x2ccb1483, 0x189cb: 0x2c12aa83, + 0x189cc: 0x2c549483, 0x189cd: 0x2c1d0883, 0x189ce: 0x2d093883, 0x189cf: 0x2d03ba83, + 0x189d0: 0x2d13be83, 0x189d1: 0x2d0b7083, 0x189d2: 0x2c665283, 0x189d3: 0x2c68c683, + 0x189d4: 0x2d0c5c83, 0x189d5: 0x2c475c83, 0x189d6: 0x2c30fa83, 0x189d7: 0x2cd2b083, + 0x189d8: 0x2d357c83, 0x189d9: 0x2c06dc83, 0x189da: 0x2c1be883, 0x189db: 0x2d407e84, + 0x189dc: 0x2d40a683, 0x189dd: 0x2ccfa483, 0x189de: 0x2c17ce83, 0x189df: 0x2d02ae83, + 0x189e0: 0x2c18a083, 0x189e1: 0x2c21a883, 0x189e2: 0x2d169e83, 0x189e3: 0x2d1fa483, + 0x189e4: 0x2c0b7883, 0x189e5: 0x2c84fc83, 0x189e6: 0x2c6c2e84, 0x189e7: 0x2d2f0083, + 0x189e8: 0x2c9ac683, 0x189e9: 0x2c3fba83, 0x189ea: 0x2c859883, 0x189eb: 0x2d3c5683, + 0x189ec: 0x2d222283, 0x189ed: 0x2cbe3083, 0x189ee: 0x2c39f283, 0x189ef: 0x2c9e5683, + 0x189f0: 0x2c43d083, 0x189f1: 0x2ceeee83, 0x189f2: 0x2c6fb483, 0x189f3: 0x2d19ba83, + 0x189f4: 0x2d12dc83, 0x189f5: 0x2c3c2c83, 0x189f6: 0x2c39f483, 0x189f7: 0x2cd25883, + 0x189f8: 0x2cd44283, 0x189f9: 0x2cfd6683, 0x189fa: 0x2c969883, 0x189fb: 0x2c476e83, + 0x189fc: 0x2c42bc83, 0x189fd: 0x2c0bf483, 0x189fe: 0x2c310e83, 0x189ff: 0x2c170e83, + // Block 0x628, offset 0x18a00 + 0x18a00: 0x2c43e083, 0x18a01: 0x2c4ae283, 0x18a02: 0x2d211283, 0x18a03: 0x2ca79a83, + 0x18a04: 0x2c91bc83, 0x18a05: 0x2c924c83, 0x18a06: 0x2c973283, 0x18a07: 0x2c966883, + 0x18a08: 0x2c59ce83, 0x18a09: 0x2cd56083, 0x18a0a: 0x2c521c83, 0x18a0b: 0x2d353483, + 0x18a0c: 0x2c9e3283, 0x18a0d: 0x2c2f7483, 0x18a0e: 0x2c47a683, 0x18a0f: 0x2cd56683, + 0x18a10: 0x2c08a283, 0x18a11: 0x2cb63483, 0x18a12: 0x2c1bc283, 0x18a13: 0x2c8fb083, + 0x18a14: 0x2c4a9683, 0x18a15: 0x2d26f683, + 0x18a30: 0x40273a20, 0x18a31: 0x40273c20, 0x18a32: 0x40273e20, 0x18a33: 0x40274020, + 0x18a34: 0x40274220, 0x18a35: 0x40274420, 0x18a36: 0x40274620, 0x18a37: 0x40274820, + 0x18a38: 0x40274a20, 0x18a39: 0x40274c20, 0x18a3a: 0x40274e20, 0x18a3b: 0x40275020, + // Block 0x629, offset 0x18a40 + 0x18a40: 0x00021283, 0x18a41: 0x40025c20, 0x18a42: 0x40030420, 0x18a43: 0x40051220, + 0x18a44: 0x40279a20, 0x18a45: 0x4027ca20, 0x18a46: 0xe0002206, 0x18a47: 0x6c8c9620, + 0x18a48: 0x40049c20, 0x18a49: 0x40049e20, 0x18a4a: 0x4004a020, 0x18a4b: 0x4004a220, + 0x18a4c: 0x4004a420, 0x18a4d: 0x4004a620, 0x18a4e: 0x4004a820, 0x18a4f: 0x4004aa20, + 0x18a50: 0x4004ac20, 0x18a51: 0x4004ae20, 0x18a52: 0x40279c20, 0x18a53: 0x40279e20, + 0x18a54: 0x4004b020, 0x18a55: 0x4004b220, 0x18a56: 0x4004b420, 0x18a57: 0x4004b620, + 0x18a58: 0x4004b820, 0x18a59: 0x4004ba20, 0x18a5a: 0x4004bc20, 0x18a5b: 0x4004be20, + 0x18a5c: 0x40023820, 0x18a5d: 0x4003ea20, 0x18a5e: 0x4003ec20, 0x18a5f: 0x4003ee20, + 0x18a60: 0x4027a020, 0x18a61: 0xe0000267, 0x18a62: 0xe000037f, 0x18a63: 0xe0000459, + 0x18a64: 0xe000052e, 0x18a65: 0xe00005f8, 0x18a66: 0xe00006c3, 0x18a67: 0xe000076b, + 0x18a68: 0xe0000817, 0x18a69: 0xe00008bc, 0x18a6a: 0xada12202, 0x18a6b: 0xae412302, + 0x18a6c: 0xae812402, 0x18a6d: 0xade12502, 0x18a6e: 0xae012602, 0x18a6f: 0xae012702, + 0x18a70: 0x40023a20, 0x18a71: 0x4027ce20, 0x18a72: 0xe0000152, 0x18a73: 0x4027d020, + 0x18a74: 0xe0000155, 0x18a75: 0x4027d220, 0x18a76: 0x00279c84, 0x18a77: 0x4027a220, + 0x18a78: 0x2cd22484, 0x18a79: 0x2ca75483, 0x18a7a: 0x2cc96283, 0x18a7b: 0x4027cc20, + 0x18a7c: 0xe000231a, 0x18a7d: 0x40051420, 0x18a7e: 0x4027a420, 0x18a7f: 0x4027a620, + // Block 0x62a, offset 0x18a80 + 0x18a80: 0x00633a84, 0x18a81: 0x00634484, 0x18a82: 0x0064f684, 0x18a83: 0x0064f884, + 0x18a84: 0x00635a84, 0x18a85: 0x00635c84, 0x18a86: 0x00635e84, 0x18a87: 0x0063ee84, + 0x18a88: 0x0063f084, 0x18a89: 0x0063f684, 0x18a8a: 0x00640884, 0x18a8b: 0x00640a84, + 0x18a8c: 0x00640e84, 0x18a8d: 0x00642284, 0x18a8e: 0x00642884, + 0x18a90: 0x4027a820, 0x18a91: 0x4027aa20, 0x18a92: 0x2d13b685, 0x18a93: 0x2c37b485, + 0x18a94: 0x2cc9f285, 0x18a95: 0x2cd87484, 0x18a96: 0x2cce4884, 0x18a97: 0x2d378285, + 0x18a98: 0x2cfa2684, 0x18a99: 0x2c63fc83, 0x18a9a: 0x2d15aa83, 0x18a9b: 0x2c0dba83, + 0x18a9c: 0x2c2f4083, 0x18a9d: 0x2ce45484, 0x18a9e: 0x2c2a8a83, 0x18a9f: 0x2cc55a83, + 0x18aa0: 0xe000237a, 0x18aa1: 0xe0002383, 0x18aa2: 0xe0002380, 0x18aa3: 0xe000237d, + 0x18aa4: 0x40661c20, 0x18aa5: 0xe000238c, 0x18aa6: 0x40661620, 0x18aa7: 0xe0002389, + 0x18aa8: 0xe000239e, 0x18aa9: 0xe0002386, 0x18aaa: 0xe0002395, 0x18aab: 0xe000239b, + 0x18aac: 0x40663420, 0x18aad: 0x4065f220, 0x18aae: 0xe000238f, 0x18aaf: 0xe0002392, + 0x18ab0: 0x40663020, 0x18ab1: 0x40663220, 0x18ab2: 0x40662c20, 0x18ab3: 0xe0002398, + 0x18ab4: 0x0065dc99, 0x18ab5: 0x0065e699, 0x18ab6: 0x0065ee99, 0x18ab7: 0x0065f499, + 0x18ab8: 0x40660c20, 0x18ab9: 0x40660e20, 0x18aba: 0x40661020, + // Block 0x62b, offset 0x18ac0 + 0x18ac0: 0xf0000404, 0x18ac1: 0xf0000404, 0x18ac2: 0xf0000404, 0x18ac3: 0xf0000404, + 0x18ac4: 0xf0000404, 0x18ac5: 0xf0000404, 0x18ac6: 0xf0000404, 0x18ac7: 0xf0000404, + 0x18ac8: 0xf0000404, 0x18ac9: 0xf0000404, 0x18aca: 0xf0000404, 0x18acb: 0xf0000404, + 0x18acc: 0xf0000404, 0x18acd: 0xf0000404, 0x18ace: 0xe000004c, 0x18acf: 0xe0000051, + 0x18ad0: 0xe0000056, 0x18ad1: 0xe000005b, 0x18ad2: 0xe0000060, 0x18ad3: 0xe0000065, + 0x18ad4: 0xe000006a, 0x18ad5: 0xe000006f, 0x18ad6: 0xe0000083, 0x18ad7: 0xe000008d, + 0x18ad8: 0xe0000092, 0x18ad9: 0xe0000097, 0x18ada: 0xe000009c, 0x18adb: 0xe00000a1, + 0x18adc: 0xe0000088, 0x18add: 0xe0000074, 0x18ade: 0xe000007c, + 0x18ae0: 0xe000b438, 0x18ae1: 0xe000b3d4, 0x18ae2: 0xe000b40c, 0x18ae3: 0xe000b41c, + 0x18ae4: 0xe000b428, 0x18ae5: 0xe000b3f4, 0x18ae6: 0xe000b400, 0x18ae7: 0xe000b3c8, + 0x18ae8: 0xe000b3ec, 0x18ae9: 0xe000b414, 0x18aea: 0xe000b440, 0x18aeb: 0xe000b3dc, + 0x18aec: 0xe000b418, 0x18aed: 0xe000b3fc, 0x18aee: 0xe000b3e8, 0x18aef: 0xe000b424, + 0x18af0: 0xe000b408, 0x18af1: 0xe000b448, 0x18af2: 0xe000b43c, 0x18af3: 0xe000b410, + 0x18af4: 0xe000b3f8, 0x18af5: 0xe000b420, 0x18af6: 0xe000b3cc, 0x18af7: 0xe000b44c, + 0x18af8: 0xe000b3f0, 0x18af9: 0xe000b3d0, 0x18afa: 0xe000b3d8, 0x18afb: 0xe000b434, + 0x18afc: 0xe000b3e4, 0x18afd: 0xe000b404, 0x18afe: 0xe000b450, 0x18aff: 0xe000b42c, + // Block 0x62c, offset 0x18b00 + 0x18b00: 0xe000b3e0, 0x18b01: 0xe000b430, 0x18b02: 0xe000b454, 0x18b03: 0xe000b444, + 0x18b04: 0x2cf20683, 0x18b05: 0x2d200c83, 0x18b06: 0x2cf17a83, 0x18b07: 0x2d32e283, + 0x18b08: 0xe00002e3, 0x18b09: 0xe00003d8, 0x18b0a: 0xe00004b3, 0x18b0b: 0xe000057d, + 0x18b0c: 0xe0000648, 0x18b0d: 0xe00006f0, 0x18b0e: 0xe000079c, 0x18b0f: 0xe0000841, + 0x18b10: 0xe0000ec0, 0x18b11: 0xf0000606, 0x18b12: 0xf0000606, 0x18b13: 0xf0000606, + 0x18b14: 0xf0000606, 0x18b15: 0xf0000606, 0x18b16: 0xf0000606, 0x18b17: 0xf0000606, + 0x18b18: 0xf0000606, 0x18b19: 0xf0000606, 0x18b1a: 0xf0000606, 0x18b1b: 0xf0000606, + 0x18b1c: 0xf0000606, 0x18b1d: 0xf0000606, 0x18b1e: 0xf0000606, 0x18b1f: 0xf0000606, + 0x18b20: 0x0062ac86, 0x18b21: 0x0062b086, 0x18b22: 0x0062b286, 0x18b23: 0x0062b686, + 0x18b24: 0x0062b886, 0x18b25: 0x0062ba86, 0x18b26: 0x0062be86, 0x18b27: 0x0062c286, + 0x18b28: 0x0062c486, 0x18b29: 0x0062c886, 0x18b2a: 0x0062ca86, 0x18b2b: 0x0062cc86, + 0x18b2c: 0x0062ce86, 0x18b2d: 0x0062d086, 0x18b2e: 0xf0000606, 0x18b2f: 0xf0000606, + 0x18b30: 0xf0000606, 0x18b31: 0xf0000606, 0x18b32: 0xf0000606, 0x18b33: 0xf0000606, + 0x18b34: 0xf0000606, 0x18b35: 0xf0000606, 0x18b36: 0xf0000606, 0x18b37: 0xf0000606, + 0x18b38: 0xf0000606, 0x18b39: 0xf0000606, 0x18b3a: 0xf0000606, 0x18b3b: 0xf0000606, + 0x18b3c: 0xe0002127, 0x18b3d: 0xe0002122, 0x18b3e: 0xf0000606, 0x18b3f: 0x4027ac20, + // Block 0x62d, offset 0x18b40 + 0x18b40: 0x2d13b684, 0x18b41: 0x2c37b484, 0x18b42: 0x2cc9f284, 0x18b43: 0x2cd87483, + 0x18b44: 0x2cf41483, 0x18b45: 0x2c8f2483, 0x18b46: 0x2cb4c683, 0x18b47: 0x2c030a83, + 0x18b48: 0x2c6f9a83, 0x18b49: 0x2cd22483, 0x18b4a: 0x2d266884, 0x18b4b: 0x2c5d8483, + 0x18b4c: 0x2cd70283, 0x18b4d: 0x2ca25c83, 0x18b4e: 0x2c6c2e83, 0x18b4f: 0x2ce91083, + 0x18b50: 0x2cc63683, 0x18b51: 0x2d399283, 0x18b52: 0x2d1f9884, 0x18b53: 0x2ccf3683, + 0x18b54: 0x2c9fe683, 0x18b55: 0x2ce27083, 0x18b56: 0x2c110e83, 0x18b57: 0x2d3ac683, + 0x18b58: 0x2c814083, 0x18b59: 0x2c9d3483, 0x18b5a: 0x2ca3e283, 0x18b5b: 0x2caa6e83, + 0x18b5c: 0x2cd3bc83, 0x18b5d: 0x2d1eb483, 0x18b5e: 0x2d1b3683, 0x18b5f: 0x2d3ab083, + 0x18b60: 0x2cfe3a83, 0x18b61: 0x2d04b283, 0x18b62: 0x2d013e83, 0x18b63: 0x2d333683, + 0x18b64: 0x2cce4883, 0x18b65: 0x2d378284, 0x18b66: 0x2cfa2683, 0x18b67: 0x2d426084, + 0x18b68: 0x2d200884, 0x18b69: 0x2d13c083, 0x18b6a: 0x2d3f7083, 0x18b6b: 0x2d08f883, + 0x18b6c: 0x2c64ca83, 0x18b6d: 0x2cb6c883, 0x18b6e: 0x2d3e6083, 0x18b6f: 0x2d007083, + 0x18b70: 0x2d12ca83, 0x18b71: 0xf0000606, 0x18b72: 0xf0000606, 0x18b73: 0xf0000606, + 0x18b74: 0xf0000606, 0x18b75: 0xf0000606, 0x18b76: 0xf0000606, 0x18b77: 0xf0000606, + 0x18b78: 0xf0000606, 0x18b79: 0xf0000606, 0x18b7a: 0xf0000606, 0x18b7b: 0xf0000606, + 0x18b7c: 0xf0000606, 0x18b7d: 0xf0000606, 0x18b7e: 0xf0000606, 0x18b7f: 0xf0000606, + // Block 0x62e, offset 0x18b80 + 0x18b80: 0xf0000203, 0x18b81: 0xf0000203, 0x18b82: 0xf0000203, 0x18b83: 0xf0000203, + 0x18b84: 0xf0000203, 0x18b85: 0xf0000203, 0x18b86: 0xf0000203, 0x18b87: 0xf0000203, + 0x18b88: 0xf0000203, 0x18b89: 0xe000b484, 0x18b8a: 0xe000b490, 0x18b8b: 0xe000b49c, + 0x18b8c: 0xf0001c1d, 0x18b8d: 0xe0000b85, 0x18b8e: 0xf0001d1c, 0x18b8f: 0xe0000d14, + 0x18b90: 0x00657693, 0x18b91: 0x00657893, 0x18b92: 0x00657a93, 0x18b93: 0x00657e93, + 0x18b94: 0x00658093, 0x18b95: 0x00658293, 0x18b96: 0x00658493, 0x18b97: 0x00658693, + 0x18b98: 0x00658893, 0x18b99: 0x00658a93, 0x18b9a: 0x00658c93, 0x18b9b: 0x00658e93, + 0x18b9c: 0x00659093, 0x18b9d: 0x00659293, 0x18b9e: 0x00659493, 0x18b9f: 0x00659693, + 0x18ba0: 0x00659893, 0x18ba1: 0x00659a93, 0x18ba2: 0x00659c93, 0x18ba3: 0x00659e93, + 0x18ba4: 0x0065a093, 0x18ba5: 0x0065a293, 0x18ba6: 0x0065a493, 0x18ba7: 0x0065a693, + 0x18ba8: 0x0065a893, 0x18ba9: 0x0065aa93, 0x18baa: 0x0065ac93, 0x18bab: 0x0065ae93, + 0x18bac: 0x0065b093, 0x18bad: 0x0065b293, 0x18bae: 0x0065b493, 0x18baf: 0x0065b693, + 0x18bb0: 0x0065b893, 0x18bb1: 0x0065ba93, 0x18bb2: 0x0065bc93, 0x18bb3: 0x0065be93, + 0x18bb4: 0x0065c093, 0x18bb5: 0x0065c493, 0x18bb6: 0x0065c693, 0x18bb7: 0x0065c893, + 0x18bb8: 0x0065ca93, 0x18bb9: 0x0065cc93, 0x18bba: 0x0065ce93, 0x18bbb: 0x0065d093, + 0x18bbc: 0x0065d293, 0x18bbd: 0x0065d493, 0x18bbe: 0x0065d693, + // Block 0x62f, offset 0x18bc0 + 0x18bc0: 0xe000230b, 0x18bc1: 0xe00022f8, 0x18bc2: 0xe00022fc, 0x18bc3: 0xe0002311, + 0x18bc4: 0xe0002316, 0x18bc5: 0xe000231d, 0x18bc6: 0xe0002321, 0x18bc7: 0xe0002325, + 0x18bc8: 0xe000232b, 0x18bc9: 0xf0001c1c, 0x18bca: 0xe0002330, 0x18bcb: 0xe000233c, + 0x18bcc: 0xe0002340, 0x18bcd: 0xe0002337, 0x18bce: 0xe0002346, 0x18bcf: 0xe000234b, + 0x18bd0: 0xe000234f, 0x18bd1: 0xe0002353, 0x18bd2: 0xf0001c1c, 0x18bd3: 0xe000235e, + 0x18bd4: 0xe0002358, 0x18bd5: 0xf0001c1c, 0x18bd6: 0xe0002363, 0x18bd7: 0xe000236d, + 0x18bd8: 0xf0000203, 0x18bd9: 0xf0000203, 0x18bda: 0xf0000203, 0x18bdb: 0xf0000203, + 0x18bdc: 0xf0000203, 0x18bdd: 0xf0000203, 0x18bde: 0xf0000203, 0x18bdf: 0xf0000203, + 0x18be0: 0xf0000203, 0x18be1: 0xf0000203, 0x18be2: 0xe000b47c, 0x18be3: 0xe000b488, + 0x18be4: 0xe000b494, 0x18be5: 0xe000b4a0, 0x18be6: 0xe000b4a8, 0x18be7: 0xe000b4b0, + 0x18be8: 0xe000b4b8, 0x18be9: 0xe000b4c0, 0x18bea: 0xe000b4c8, 0x18beb: 0xe000b4d0, + 0x18bec: 0xe000b4d8, 0x18bed: 0xe000b4e0, 0x18bee: 0xe000b4e8, 0x18bef: 0xe000b4f0, + 0x18bf0: 0xe000b4f8, 0x18bf1: 0xe0000c1e, 0x18bf2: 0xf0001c1c, 0x18bf3: 0xf0001d1d, + 0x18bf4: 0xe0000a31, 0x18bf5: 0xf0001d1c, 0x18bf6: 0xf0001c1c, 0x18bf7: 0xf0001c1c, + 0x18bf8: 0xe0000ac2, 0x18bf9: 0xe0000ac6, 0x18bfa: 0xf0001d1d, 0x18bfb: 0xf0000203, + 0x18bfc: 0xf0000203, 0x18bfd: 0xf0000203, 0x18bfe: 0xf0000203, 0x18bff: 0xe000b5b2, + // Block 0x630, offset 0x18c00 + 0x18c00: 0xf0001d1c, 0x18c01: 0xf0001d1d, 0x18c02: 0xe00009b7, 0x18c03: 0xf0001c1d, + 0x18c04: 0xf0001c1c, 0x18c05: 0xf0001c1c, 0x18c06: 0xe0000a66, 0x18c07: 0xe0000a7a, + 0x18c08: 0xf0001d1c, 0x18c09: 0xf0001c1d, 0x18c0a: 0xf0001c1c, 0x18c0b: 0xf0001d1d, + 0x18c0c: 0xf0001c1c, 0x18c0d: 0xf0001d1d, 0x18c0e: 0xf0001d1d, 0x18c0f: 0xf0001c1c, + 0x18c10: 0xf0001c1c, 0x18c11: 0xf0001c1c, 0x18c12: 0xe0000d0d, 0x18c13: 0xf0001c1c, + 0x18c14: 0xf0001c1c, 0x18c15: 0xe0000d3a, 0x18c16: 0xe0000d46, 0x18c17: 0xf0001d1d, + 0x18c18: 0xe0000eb0, 0x18c19: 0xe0000eb8, 0x18c1a: 0xf0001d1d, 0x18c1b: 0xf0001c1c, + 0x18c1c: 0xf0001c1d, 0x18c1d: 0xf0001c1d, 0x18c1e: 0xe00010b2, 0x18c1f: 0xe00009c8, + 0x18c20: 0xf0000203, 0x18c21: 0xf0000203, 0x18c22: 0xf0000203, 0x18c23: 0xf0000203, + 0x18c24: 0xf0000203, 0x18c25: 0xf0000203, 0x18c26: 0xf0000203, 0x18c27: 0xf0000203, + 0x18c28: 0xf0000203, 0x18c29: 0xe000b480, 0x18c2a: 0xe000b48c, 0x18c2b: 0xe000b498, + 0x18c2c: 0xe000b4a4, 0x18c2d: 0xe000b4ac, 0x18c2e: 0xe000b4b4, 0x18c2f: 0xe000b4bc, + 0x18c30: 0xe000b4c4, 0x18c31: 0xe000b4cc, 0x18c32: 0xe000b4d4, 0x18c33: 0xe000b4dc, + 0x18c34: 0xe000b4e4, 0x18c35: 0xe000b4ec, 0x18c36: 0xe000b4f4, 0x18c37: 0xe000b4fc, + 0x18c38: 0xe000b500, 0x18c39: 0xe000b504, 0x18c3a: 0xe000b508, 0x18c3b: 0xe000b50c, + 0x18c3c: 0xe000b510, 0x18c3d: 0xe000b514, 0x18c3e: 0xe000b518, 0x18c3f: 0xe0000bdf, + // Block 0x631, offset 0x18c40 + 0x18c40: 0x6cbf9220, 0x18c41: 0x6ce52c20, + 0x18c44: 0x6c7ae020, 0x18c45: 0x6cf41220, 0x18c46: 0x6d1ac620, + 0x18c4c: 0x6d144820, + 0x18c56: 0x6d006c20, + 0x18c5c: 0x6c1d9020, + 0x18c61: 0x6caae820, + 0x18c64: 0x6c27da20, + 0x18c68: 0x6d067820, 0x18c69: 0x6d03c420, 0x18c6b: 0x6d044c20, + 0x18c6c: 0x6c8e4020, 0x18c6d: 0x6c8c1820, 0x18c6e: 0x6cfd7e20, 0x18c6f: 0x6d1dbe20, + 0x18c70: 0x6d030e20, 0x18c71: 0x6d31ac20, 0x18c72: 0x6c272020, 0x18c73: 0x6cf49420, + 0x18c74: 0x6cac3820, 0x18c77: 0x6c968e20, + 0x18c78: 0x6cba3c20, 0x18c79: 0x6d165420, 0x18c7a: 0x6d1a2020, 0x18c7b: 0x6ca58220, + 0x18c7c: 0x6c1a7e20, 0x18c7d: 0x6c3c1020, + // Block 0x632, offset 0x18c80 + 0x18c81: 0x6d3cec20, 0x18c82: 0x6c39ba20, 0x18c83: 0x6c029620, + 0x18c84: 0x6cf41c20, 0x18c85: 0x6d427220, 0x18c87: 0x6d38f620, + 0x18c88: 0x6c304e20, 0x18c89: 0x6cda7e20, 0x18c8a: 0x6d16a020, 0x18c8b: 0x6cbefc20, + 0x18c8c: 0x6c7b8220, 0x18c8d: 0x6c831e20, 0x18c8e: 0x6ca4da20, 0x18c8f: 0x6d3aa820, + 0x18c90: 0x6cd4a220, + 0x18c94: 0x6d062820, 0x18c97: 0x6ccfb620, + 0x18c98: 0x6c6bc820, 0x18c99: 0x6c2e6620, 0x18c9a: 0x6caab620, 0x18c9b: 0x6cda8420, + 0x18c9c: 0x6d16d820, 0x18c9d: 0x6c905020, 0x18c9e: 0x6d1d3220, 0x18c9f: 0x6c081020, + 0x18ca3: 0x6c7f9220, + 0x18ca4: 0x6c9e7220, 0x18ca5: 0x6d171820, 0x18ca6: 0x6c85be20, 0x18ca7: 0x6c61c020, + 0x18ca8: 0x6d223420, 0x18ca9: 0x6c953c20, 0x18caa: 0x6c147420, + 0x18cae: 0x6c5ce420, 0x18caf: 0x6d063820, + 0x18cb0: 0x6c5bb220, 0x18cb1: 0x6cc53820, 0x18cb3: 0x6d392620, + 0x18cb5: 0x6c4ebe20, 0x18cb6: 0x6cf88220, 0x18cb7: 0x6cdf7420, + 0x18cb8: 0x6d10f020, 0x18cb9: 0x6c5bba20, 0x18cba: 0x6c75b820, 0x18cbb: 0x6c96c020, + 0x18cbc: 0x6c94ac20, 0x18cbd: 0x6ce0fa20, 0x18cbe: 0x6d110220, 0x18cbf: 0x6d2fba20, + // Block 0x633, offset 0x18cc0 + 0x18cc0: 0x6d2cf420, 0x18cc1: 0x6d226420, 0x18cc2: 0x6d3d7620, 0x18cc3: 0x6c37d620, + 0x18cc4: 0x6cc4cc20, 0x18cc5: 0x6cb70820, 0x18cc6: 0x6c1c3e20, 0x18cc7: 0x6cf45620, + 0x18cc8: 0x6c4eda20, 0x18cc9: 0x6ce17820, 0x18cca: 0x6ccb3220, + 0x18ccc: 0x6cbf4820, 0x18ccd: 0x6c824020, 0x18cce: 0x6cc97c20, + 0x18cd1: 0x6c7cda20, 0x18cd2: 0x6cb44620, 0x18cd3: 0x6cde8a20, + 0x18cd4: 0x6cd53020, 0x18cd5: 0x6d0f6820, 0x18cd6: 0x6cab8a20, 0x18cd7: 0x6cdf3620, + 0x18cd9: 0x6c9dd220, 0x18cda: 0x6d1b7820, 0x18cdb: 0x6c2e3a20, + 0x18cdc: 0x6d228820, 0x18cdd: 0x6c9eec20, 0x18cde: 0x6c75ee20, 0x18cdf: 0x6ca7b820, + 0x18ce0: 0x6d023a20, 0x18ce1: 0x6d1f8820, + 0x18ce4: 0x6c185420, 0x18ce5: 0x6c3c7620, 0x18ce6: 0x6c82f820, 0x18ce7: 0x6c874020, + 0x18ce9: 0x6c95d420, 0x18ceb: 0x6c617420, + 0x18cf0: 0x6cc2b020, 0x18cf2: 0x6c110220, 0x18cf3: 0x6c898420, + 0x18cf4: 0x6c475620, 0x18cf5: 0x6c994020, 0x18cf7: 0x6c489020, + 0x18cf8: 0x6cdc2820, 0x18cfb: 0x6c996a20, + 0x18cfc: 0x6c976220, 0x18cfd: 0x6cc29820, 0x18cfe: 0x6cd39420, 0x18cff: 0x6c84b620, + // Block 0x634, offset 0x18d00 + 0x18d01: 0x6cedee20, 0x18d02: 0x6c79d820, 0x18d03: 0x6c325420, + 0x18d04: 0x6d325a20, 0x18d05: 0x6ce62020, + 0x18d08: 0x6c0e0620, 0x18d09: 0x6c5d9e20, 0x18d0a: 0x6c305420, 0x18d0b: 0x6c460e20, + 0x18d0c: 0x6c195220, 0x18d0e: 0x6cbd2020, 0x18d0f: 0x6c6f0020, + 0x18d10: 0x6c922620, 0x18d11: 0x6d042020, 0x18d13: 0x6ca3f820, + 0x18d14: 0x6d01a220, 0x18d16: 0x6c09be20, 0x18d17: 0x6c6b0420, + 0x18d18: 0x6cda9c20, 0x18d1a: 0x6c455220, + 0x18d1c: 0x6d200620, 0x18d1d: 0x6d03b620, 0x18d1e: 0x6cb83c20, 0x18d1f: 0x6cafae20, + 0x18d20: 0x6c2d3620, 0x18d21: 0x6c3f3c20, 0x18d22: 0x6c95de20, 0x18d23: 0x6cb84220, + 0x18d24: 0x6cb84420, 0x18d25: 0x6ce0ba20, 0x18d26: 0x6c03fa20, 0x18d27: 0x6c418420, + 0x18d28: 0x6c222420, 0x18d29: 0x6d077e20, 0x18d2a: 0x6c80f620, + 0x18d2d: 0x6ccf0c20, 0x18d2f: 0x6c83a820, + 0x18d30: 0x6c578820, 0x18d31: 0x6ce7ea20, 0x18d32: 0x6cb0f020, 0x18d33: 0x6c2b2420, + 0x18d34: 0x6cc85e20, 0x18d35: 0x6c360820, 0x18d36: 0x6cbcb020, 0x18d37: 0x6d178c20, + 0x18d38: 0x6d3d0020, 0x18d39: 0x6cc8cc20, 0x18d3a: 0x6c649420, + 0x18d3c: 0x6c1c2e20, 0x18d3d: 0x6c1d1820, 0x18d3e: 0x6cf66220, + // Block 0x635, offset 0x18d40 + 0x18d40: 0x6c94b420, 0x18d41: 0x6c2aa020, 0x18d42: 0x6c8bbe20, 0x18d43: 0x6c747020, + 0x18d44: 0x6cdae020, 0x18d45: 0x6cfffa20, 0x18d46: 0x6d299020, + 0x18d49: 0x6d3a7620, 0x18d4a: 0x6d2e0e20, 0x18d4b: 0x6c64f020, + 0x18d4c: 0x6d408c20, 0x18d4d: 0x6c1fa020, 0x18d4e: 0x6d022a20, 0x18d4f: 0x6c869820, + 0x18d51: 0x6c1c8e20, 0x18d52: 0x6cf7b820, 0x18d53: 0x6c656020, + 0x18d55: 0x6c5fc020, 0x18d57: 0x6c3a7c20, + 0x18d58: 0x6c1f0620, 0x18d59: 0x6c07d420, 0x18d5a: 0x6c6a7820, + 0x18d5c: 0x6c036c20, 0x18d5d: 0x6c898a20, 0x18d5e: 0x6c7b1e20, + 0x18d60: 0x6cf95e20, 0x18d61: 0x6c0ca420, 0x18d62: 0x6c747420, 0x18d63: 0x6c825c20, + 0x18d64: 0x6d035020, 0x18d65: 0x6c045820, 0x18d66: 0x6d103220, 0x18d67: 0x6c940a20, + 0x18d68: 0x6c070a20, 0x18d69: 0x6c362420, 0x18d6a: 0x6c91c220, + 0x18d6d: 0x6c181220, 0x18d6e: 0x6caad020, 0x18d6f: 0x6d07fe20, + 0x18d70: 0x6c525220, 0x18d71: 0x6d224420, 0x18d73: 0x6c4b0620, + 0x18d74: 0x6d17dc20, 0x18d75: 0x6d085020, 0x18d76: 0x6c462c20, 0x18d77: 0x6c910020, + 0x18d78: 0x6ce2f020, 0x18d79: 0x6c820420, 0x18d7a: 0x6cd2f820, + 0x18d7c: 0x6cdcee20, 0x18d7d: 0x6d11ec20, 0x18d7e: 0x6cfa6820, 0x18d7f: 0x6d408420, + // Block 0x636, offset 0x18d80 + 0x18d81: 0x6cc3a220, 0x18d82: 0x6d1a2220, 0x18d83: 0x6cf56420, + 0x18d84: 0x6d34d420, 0x18d85: 0x6c639620, 0x18d86: 0x6c564e20, 0x18d87: 0x6c7e3620, + 0x18d88: 0x6d15c620, 0x18d89: 0x6c788020, 0x18d8a: 0x6c3d4620, 0x18d8b: 0x6cbd6020, + 0x18d8c: 0x6c009220, 0x18d8e: 0x6c78ac20, 0x18d8f: 0x6c1e8820, + 0x18d90: 0x6d014620, 0x18d91: 0x6c1e9a20, 0x18d92: 0x6ceeac20, + 0x18d95: 0x6c58ea20, 0x18d96: 0x6cda8a20, 0x18d97: 0x6d203a20, + 0x18d99: 0x6c75e020, 0x18d9a: 0x6d2f7e20, 0x18d9b: 0x6d066620, + 0x18d9c: 0x6cd2ac20, 0x18d9e: 0x6cd64220, 0x18d9f: 0x6c7cea20, + 0x18da0: 0x6cd6a220, 0x18da1: 0x6c515420, 0x18da2: 0x6c414e20, 0x18da3: 0x6d0d3020, + 0x18da4: 0x6cbfec20, 0x18da5: 0x6ccf9820, 0x18da6: 0x6c577a20, 0x18da7: 0x6cf56820, + 0x18da8: 0x6c391820, 0x18da9: 0x6cad2420, 0x18daa: 0x6c281e20, 0x18dab: 0x6c39bc20, + 0x18dac: 0x6c455c20, 0x18dad: 0x6c022620, 0x18dae: 0x6c3f3020, 0x18daf: 0x6ca54420, + 0x18db0: 0x6d093a20, 0x18db1: 0x6d1ee420, 0x18db2: 0x6c572620, + 0x18db4: 0x6c189620, 0x18db5: 0x6c4c5420, 0x18db6: 0x6ca2c820, 0x18db7: 0x6c577e20, + 0x18db8: 0x6c858820, 0x18db9: 0x6c37fa20, 0x18dba: 0x6cfe8020, 0x18dbb: 0x6cb3ea20, + 0x18dbd: 0x6cd88820, + // Block 0x637, offset 0x18dc0 + 0x18dc0: 0x6c821c20, 0x18dc1: 0x6c8c4820, 0x18dc2: 0x6d16dc20, 0x18dc3: 0x6c544c20, + 0x18dc5: 0x6d068c20, 0x18dc6: 0x6cc17620, 0x18dc7: 0x6c373a20, + 0x18dca: 0x6d09e220, + 0x18dcf: 0x6ca80020, + 0x18dd0: 0x6cef9a20, 0x18dd1: 0x6d017820, 0x18dd2: 0x6ce31420, 0x18dd3: 0x6c532620, + 0x18dd4: 0x6cea7820, 0x18dd5: 0x6ca80220, 0x18dd6: 0x6ca80420, 0x18dd7: 0x6d1a4020, + 0x18dd8: 0x6d313420, + 0x18dde: 0x6cec5020, 0x18ddf: 0x6cd45a20, + 0x18de0: 0x6caaea20, 0x18de1: 0x6d12e420, 0x18de2: 0x6cb5b620, 0x18de3: 0x6ce82620, + 0x18de4: 0x6c4df820, 0x18de5: 0x6c75ac20, 0x18de6: 0x6c302c20, 0x18de7: 0x6c5cba20, + 0x18de8: 0x6c923220, 0x18de9: 0x6c707a20, 0x18dea: 0x6c5db820, 0x18deb: 0x6c8cdc20, + 0x18ded: 0x6ce4e420, 0x18dee: 0x6c94e820, + 0x18df5: 0x6c43e220, 0x18df6: 0x6d0c0620, 0x18df7: 0x6cd26420, + 0x18df8: 0x6d090c20, 0x18df9: 0x6cae3020, 0x18dfa: 0x6c217820, 0x18dfb: 0x6ca96c20, + 0x18dfc: 0x6c348a20, 0x18dfd: 0x6d2aca20, 0x18dfe: 0x6c362820, 0x18dff: 0x6d00a820, + // Block 0x638, offset 0x18e00 + 0x18e00: 0x6d1ea020, 0x18e01: 0x6c362a20, 0x18e02: 0x6cd13420, 0x18e03: 0x6cf1dc20, + 0x18e04: 0x6c7a3e20, 0x18e05: 0x6c555020, 0x18e06: 0x6c43e620, 0x18e07: 0x6cf9c020, + 0x18e08: 0x6c97dc20, 0x18e09: 0x6c94a820, 0x18e0a: 0x6c602a20, 0x18e0b: 0x6c53f620, + 0x18e0c: 0x6d361620, 0x18e0f: 0x6cec5420, + 0x18e11: 0x6c046820, 0x18e12: 0x6c00a020, 0x18e13: 0x6d3c6220, + 0x18e14: 0x6cb8ec20, 0x18e15: 0x6c46ac20, 0x18e16: 0x6c289220, 0x18e17: 0x6c06a820, + 0x18e18: 0x6c0f0e20, 0x18e19: 0x6c1e6020, 0x18e1a: 0x6c862820, 0x18e1b: 0x6cfff620, + 0x18e1c: 0x6d054020, + 0x18e22: 0x6c537020, 0x18e23: 0x6ce40620, + 0x18e24: 0x6c244220, 0x18e25: 0x6c7e0a20, 0x18e26: 0x6c816020, 0x18e27: 0x6d367820, + 0x18e28: 0x6d004e20, 0x18e29: 0x6cf66620, 0x18e2b: 0x6cbcce20, + 0x18e2c: 0x6d2be820, 0x18e2d: 0x6cf66820, + 0x18e30: 0x6c23a220, 0x18e31: 0x6c607a20, 0x18e32: 0x6c5dec20, 0x18e33: 0x6cde1220, + 0x18e34: 0x6d0cbe20, 0x18e35: 0x6d072420, 0x18e36: 0x6cb31c20, 0x18e37: 0x6cc9dc20, + 0x18e3b: 0x6c4c3a20, + 0x18e3c: 0x6d133620, 0x18e3d: 0x6cfdfe20, 0x18e3e: 0x6d08e620, 0x18e3f: 0x6c516c20, + // Block 0x639, offset 0x18e40 + 0x18e40: 0x6d42aa20, 0x18e41: 0x6d188020, 0x18e42: 0x6c226620, + 0x18e44: 0x6c837020, 0x18e45: 0x6cfba620, 0x18e46: 0x6cdf5620, 0x18e47: 0x6cc6bc20, + 0x18e48: 0x6d18be20, 0x18e49: 0x6d372220, 0x18e4a: 0x6cf6fe20, 0x18e4b: 0x6cfbb420, + 0x18e4c: 0x6c72aa20, 0x18e4d: 0x6c60d620, 0x18e4e: 0x6c4e6820, + 0x18e50: 0x6cad9e20, 0x18e51: 0x6c86e620, 0x18e53: 0x6c7fe020, + 0x18e54: 0x6cc9e020, 0x18e55: 0x6c4e7020, 0x18e56: 0x6d0cfe20, 0x18e57: 0x6cc16020, + 0x18e59: 0x6d0d1620, 0x18e5a: 0x6c4e7420, 0x18e5b: 0x6c76ba20, + 0x18e5c: 0x6c1bce20, 0x18e5d: 0x6ca7e820, 0x18e5e: 0x6c5d9620, + 0x18e60: 0x6c092820, 0x18e61: 0x6cf98a20, 0x18e62: 0x6cf24820, 0x18e63: 0x6d080420, + 0x18e64: 0x6cec9420, 0x18e65: 0x6d1f8a20, 0x18e66: 0x6cbd4c20, 0x18e67: 0x6d066c20, + 0x18e68: 0x6ca7f020, 0x18e69: 0x6c091620, 0x18e6a: 0x6c501020, 0x18e6b: 0x6c6e0820, + 0x18e6c: 0x6c02bc20, 0x18e6d: 0x6c02be20, + 0x18e70: 0x6d311e20, 0x18e71: 0x6cdf8a20, 0x18e72: 0x6c70f220, + 0x18e74: 0x6d427a20, 0x18e75: 0x6c106220, 0x18e76: 0x6c6a8a20, 0x18e77: 0x6c009020, + 0x18e78: 0x6d29fc20, 0x18e79: 0x6c222620, 0x18e7a: 0x6c37fc20, + 0x18e7f: 0x6ca80620, + // Block 0x63a, offset 0x18e80 + 0x18e80: 0x6c8f2a20, 0x18e81: 0x6c99e220, 0x18e82: 0x6c334420, 0x18e83: 0x6c052020, + 0x18e84: 0x6c095a20, 0x18e85: 0x6c05ee20, 0x18e87: 0x6c1f2c20, + 0x18e88: 0x6cfa3620, 0x18e89: 0x6ce4e820, 0x18e8a: 0x6c16a220, + 0x18e8d: 0x6c342420, 0x18e8e: 0x6cee7e20, 0x18e8f: 0x6c3fea20, + 0x18e90: 0x6c348c20, 0x18e91: 0x6d225420, 0x18e92: 0x6d12ac20, 0x18e93: 0x6c7c7620, + 0x18e94: 0x6cefb620, 0x18e95: 0x6c7b2220, 0x18e97: 0x6cee8020, + 0x18e98: 0x6d10a420, 0x18e99: 0x6c903420, 0x18e9a: 0x6d037a20, 0x18e9b: 0x6d3b7c20, + 0x18e9c: 0x6c1b3020, 0x18e9d: 0x6d00b420, 0x18e9e: 0x6ca83a20, 0x18e9f: 0x6c810020, + 0x18ea0: 0x6d13fe20, 0x18ea1: 0x6d3f9e20, 0x18ea2: 0x6c976a20, 0x18ea3: 0x6d2f3820, + 0x18ea4: 0x6cfa4220, 0x18ea5: 0x6c4bfe20, 0x18ea6: 0x6d00c820, + 0x18ea8: 0x6c625c20, 0x18ea9: 0x6c8a0220, 0x18eaa: 0x6d184820, 0x18eab: 0x6c607c20, + 0x18eac: 0x6d1a8e20, 0x18eae: 0x6c266020, 0x18eaf: 0x6d184a20, + 0x18eb0: 0x6d020a20, 0x18eb1: 0x6c506220, 0x18eb2: 0x6d1e5c20, 0x18eb3: 0x6c76ea20, + 0x18eb4: 0x6c163220, 0x18eb5: 0x6cdf3e20, 0x18eb6: 0x6ce13020, 0x18eb7: 0x6d34a220, + 0x18eb8: 0x6c066e20, 0x18eb9: 0x6c9b5220, 0x18eba: 0x6c7ca220, 0x18ebb: 0x6c153620, + 0x18ebc: 0x6c82e020, 0x18ebe: 0x6cf91220, + // Block 0x63b, offset 0x18ec0 + 0x18ec0: 0x6cf72820, 0x18ec1: 0x6cbc7220, 0x18ec2: 0x6ca47e20, 0x18ec3: 0x6d274e20, + 0x18ec5: 0x6c8f7220, 0x18ec6: 0x6c3fbe20, 0x18ec7: 0x6d3f7220, + 0x18ec9: 0x6c475e20, 0x18eca: 0x6c762820, 0x18ecb: 0x6c2dd420, + 0x18ecc: 0x6c57aa20, 0x18ecd: 0x6c7ce020, 0x18ecf: 0x6c42fc20, + 0x18ed0: 0x6ce26020, 0x18ed2: 0x6ccd2a20, 0x18ed3: 0x6c7f3a20, + 0x18ed4: 0x6ca7f420, 0x18ed5: 0x6c3de220, 0x18ed6: 0x6c42fe20, 0x18ed7: 0x6cbc8420, + 0x18ed8: 0x6c04e420, 0x18ed9: 0x6c632620, 0x18eda: 0x6c796a20, 0x18edb: 0x6cf85620, + 0x18edc: 0x6d230820, 0x18edd: 0x6d3c5a20, 0x18ede: 0x6cd05820, 0x18edf: 0x6c21ba20, + 0x18ee0: 0x6cfed420, 0x18ee1: 0x6c615220, 0x18ee2: 0x6caa3820, 0x18ee3: 0x6cff6a20, + 0x18ee4: 0x6d165a20, 0x18ee5: 0x6d20a820, 0x18ee6: 0x6d145420, 0x18ee7: 0x6d0d3620, + 0x18ee8: 0x6cd04020, 0x18ee9: 0x6cc4aa20, 0x18eea: 0x6c501220, 0x18eeb: 0x6cc96620, + 0x18eec: 0x6c755820, 0x18eed: 0x6d1ee820, 0x18eef: 0x6d02fc20, + 0x18ef0: 0x6cadae20, 0x18ef1: 0x6cbfa020, 0x18ef2: 0x6c14b820, + 0x18ef4: 0x6c106420, 0x18ef5: 0x6c2fdc20, 0x18ef6: 0x6cd88a20, 0x18ef7: 0x6c378620, + 0x18ef9: 0x6c992820, 0x18efa: 0x6d281820, 0x18efb: 0x6c5e8a20, + 0x18efd: 0x6cbc1e20, 0x18efe: 0x6d045820, 0x18eff: 0x6cad4a20, + // Block 0x63c, offset 0x18f00 + 0x18f00: 0x6c1e7420, 0x18f01: 0x6cae5220, 0x18f02: 0x6caad620, 0x18f03: 0x6c6a8c20, + 0x18f04: 0x6d13d420, 0x18f05: 0x6c37c220, 0x18f06: 0x6c34d420, + 0x18f0a: 0x6c347c20, + 0x18f0d: 0x6cbca420, 0x18f0e: 0x6c938220, 0x18f0f: 0x6cc02620, + 0x18f10: 0x6cda1020, 0x18f11: 0x6c11f020, 0x18f12: 0x6c310020, 0x18f13: 0x6cf5b820, + 0x18f14: 0x6c3c2e20, 0x18f15: 0x6d172220, 0x18f16: 0x6cdd0e20, 0x18f17: 0x6cbc7a20, + 0x18f18: 0x6cb37620, 0x18f19: 0x6d02c020, 0x18f1a: 0x6ce7b020, 0x18f1b: 0x6d032820, + 0x18f1c: 0x6d1f1220, 0x18f1d: 0x6c06fe20, 0x18f1e: 0x6c905820, + 0x18f23: 0x6d279820, + 0x18f24: 0x6c83ac20, 0x18f25: 0x6cde4420, 0x18f26: 0x6c802620, 0x18f27: 0x6c97b820, + 0x18f28: 0x6cbb3a20, 0x18f29: 0x6d38d220, 0x18f2a: 0x6d0e5c20, 0x18f2b: 0x6cf5de20, + 0x18f2c: 0x6c923620, 0x18f2d: 0x6cf5e020, 0x18f2e: 0x6ccae220, 0x18f2f: 0x6c395220, + 0x18f31: 0x6cefb820, 0x18f32: 0x6c383a20, 0x18f33: 0x6d179020, + 0x18f34: 0x6ca4f420, 0x18f35: 0x6c196c20, 0x18f36: 0x6ce09820, 0x18f37: 0x6c5ec620, + 0x18f38: 0x6cd5d020, 0x18f39: 0x6cb10e20, 0x18f3a: 0x6c012e20, 0x18f3b: 0x6c7ac420, + 0x18f3c: 0x6c139820, 0x18f3e: 0x6cfb5a20, 0x18f3f: 0x6d361c20, + // Block 0x63d, offset 0x18f40 + 0x18f42: 0x6c3c4820, 0x18f43: 0x6c88f420, + 0x18f44: 0x6d0a0a20, 0x18f45: 0x6d06ee20, 0x18f46: 0x6c9d5020, 0x18f47: 0x6c5bd620, + 0x18f48: 0x6ca29220, 0x18f49: 0x6d1d8c20, 0x18f4a: 0x6d2df420, 0x18f4b: 0x6d17de20, + 0x18f4c: 0x6caa1e20, 0x18f4d: 0x6ce10020, 0x18f4e: 0x6cf63e20, 0x18f4f: 0x6d27ac20, + 0x18f50: 0x6cd5e220, 0x18f51: 0x6c3e9420, 0x18f52: 0x6d17e020, 0x18f53: 0x6c26b020, + 0x18f55: 0x6c881e20, 0x18f56: 0x6c127a20, 0x18f57: 0x6c116e20, + 0x18f58: 0x6c725e20, 0x18f59: 0x6c927a20, 0x18f5a: 0x6cdae220, 0x18f5b: 0x6ca59a20, + 0x18f5c: 0x6c02dc20, 0x18f5d: 0x6c018c20, 0x18f5e: 0x6cba6420, + 0x18f60: 0x6c24d420, 0x18f61: 0x6c232420, 0x18f63: 0x6cc48220, + 0x18f64: 0x6ca73220, 0x18f65: 0x6c96fe20, 0x18f66: 0x6d030220, 0x18f67: 0x6d26e020, + 0x18f68: 0x6ca38220, 0x18f69: 0x6c02ee20, 0x18f6a: 0x6cd01620, 0x18f6b: 0x6c96dc20, + 0x18f6e: 0x6c807a20, 0x18f6f: 0x6cf6e620, + 0x18f70: 0x6d26f820, 0x18f71: 0x6d372620, 0x18f72: 0x6cf26420, 0x18f73: 0x6c57f620, + 0x18f74: 0x6c9c1820, 0x18f75: 0x6ca7bc20, 0x18f76: 0x6ced6620, 0x18f77: 0x6c9c9c20, + 0x18f78: 0x6ca89e20, 0x18f79: 0x6cc1f820, 0x18f7a: 0x6d29b820, 0x18f7b: 0x6c893e20, + 0x18f7c: 0x6d34c620, 0x18f7d: 0x6d3eda20, 0x18f7e: 0x6c4d1a20, 0x18f7f: 0x6d066e20, + // Block 0x63e, offset 0x18f80 + 0x18f80: 0x6c501820, 0x18f81: 0x6d078020, 0x18f82: 0x6d35b020, 0x18f83: 0x6c9e1220, + 0x18f84: 0x6c214820, 0x18f85: 0x6c46b020, 0x18f87: 0x6c216020, + 0x18f88: 0x6c946a20, 0x18f89: 0x6d3a9820, 0x18f8a: 0x6cd43820, 0x18f8b: 0x6c8a5e20, + 0x18f8c: 0x6c6fcc20, 0x18f8d: 0x6d014020, 0x18f8e: 0x6c2f9220, 0x18f8f: 0x6c6bae20, + 0x18f90: 0x6cc65220, 0x18f91: 0x6c982e20, 0x18f93: 0x6c788a20, + 0x18f94: 0x6d119620, 0x18f95: 0x6ca8fc20, 0x18f96: 0x6d148e20, 0x18f97: 0x6c80a620, + 0x18f98: 0x6d1df020, 0x18f99: 0x6d1a4420, 0x18f9a: 0x6d0c7e20, 0x18f9b: 0x6cda9e20, + 0x18f9d: 0x6c8baa20, 0x18f9e: 0x6d0aec20, 0x18f9f: 0x6c98d820, + 0x18fa0: 0x6c9ff420, 0x18fa1: 0x6d41aa20, 0x18fa2: 0x6d225620, 0x18fa3: 0x6d179220, + 0x18fa4: 0x6c46b220, 0x18fa5: 0x6c9cfa20, 0x18fa6: 0x6c75c820, 0x18fa7: 0x6cf1e420, + 0x18fa9: 0x6c773a20, 0x18faa: 0x6c2d7020, 0x18fab: 0x6c8f9820, + 0x18fad: 0x6d040620, 0x18fae: 0x6c255420, 0x18faf: 0x6cbbec20, + 0x18fb0: 0x6c9dde20, 0x18fb1: 0x6c9c1c20, 0x18fb2: 0x6cbdf420, + 0x18fb4: 0x6cecc220, 0x18fb5: 0x6c2a5e20, 0x18fb6: 0x6c009420, + 0x18fb8: 0x6c0b8c20, 0x18fb9: 0x6ca9fe20, 0x18fba: 0x6c882020, 0x18fbb: 0x6c6caa20, + 0x18fbc: 0x6d207020, 0x18fbd: 0x6c20bc20, 0x18fbe: 0x6d426420, 0x18fbf: 0x6c0fe020, + // Block 0x63f, offset 0x18fc0 + 0x18fc0: 0x6c5a9020, 0x18fc1: 0x6d11f020, 0x18fc2: 0x6ce9e020, 0x18fc3: 0x6c61e220, + 0x18fc4: 0x6c012420, 0x18fc5: 0x6c95fa20, 0x18fc6: 0x6c613220, 0x18fc7: 0x6cefba20, + 0x18fc8: 0x6c0e7420, 0x18fc9: 0x6d289020, 0x18fca: 0x6d06f020, 0x18fcb: 0x6ca71220, + 0x18fcc: 0x6d281420, 0x18fce: 0x6c039820, 0x18fcf: 0x6d301a20, + 0x18fd0: 0x6c705420, 0x18fd1: 0x6cef9020, 0x18fd2: 0x6d016e20, 0x18fd3: 0x6cb75420, + 0x18fd4: 0x6d149020, 0x18fd5: 0x6d017020, 0x18fd6: 0x6c222a20, 0x18fd7: 0x6cc02820, + 0x18fd8: 0x6c316a20, 0x18fd9: 0x6ca7d420, 0x18fda: 0x6cb78a20, 0x18fdb: 0x6c613c20, + 0x18fdc: 0x6ce99420, 0x18fde: 0x6cd94c20, 0x18fdf: 0x6c2d7420, + 0x18fe0: 0x6c816820, 0x18fe1: 0x6d2e2c20, + 0x18fe4: 0x6d1a1c20, 0x18fe5: 0x6c132620, 0x18fe6: 0x6c611220, 0x18fe7: 0x6c5b8620, + 0x18fe8: 0x6d3ede20, 0x18fe9: 0x6c7f8820, 0x18fea: 0x6ca49020, 0x18feb: 0x6c71f020, + 0x18fec: 0x6cbdfc20, 0x18fed: 0x6c272620, 0x18fef: 0x6c6a6020, + 0x18ff0: 0x6d062620, 0x18ff1: 0x6c22fa20, 0x18ff2: 0x6d1e6e20, 0x18ff3: 0x6c30d820, + 0x18ff4: 0x6c1afe20, 0x18ff6: 0x6c9f9020, 0x18ff7: 0x6c59a820, + 0x18ff8: 0x6cdc2020, 0x18ff9: 0x6c785620, 0x18ffa: 0x6d40aa20, 0x18ffb: 0x6c501a20, + 0x18ffc: 0x6c19ba20, 0x18ffd: 0x6d094220, 0x18ffe: 0x6ca5bc20, 0x18fff: 0x6c1bec20, + // Block 0x640, offset 0x19000 + 0x19000: 0x6c87f020, 0x19001: 0x6c01a020, 0x19002: 0x6ca22a20, 0x19003: 0x6cd7ca20, + 0x19004: 0x6cfdb220, 0x19005: 0x6d0f9020, 0x19006: 0x6c572c20, 0x19007: 0x6c261620, + 0x19008: 0x6cc02a20, 0x19009: 0x6c814c20, 0x1900a: 0x6c3e2e20, 0x1900b: 0x6c334620, + 0x1900c: 0x6c984c20, 0x1900d: 0x6c80a820, 0x1900e: 0x6ceb7220, 0x1900f: 0x6c4df220, + 0x19010: 0x6c988820, 0x19011: 0x6c0ed220, 0x19012: 0x6cc43220, 0x19013: 0x6cb59e20, + 0x19014: 0x6c4df420, 0x19016: 0x6c905c20, + 0x19018: 0x6ce57e20, 0x19019: 0x6d2aba20, 0x1901a: 0x6cb5ba20, 0x1901b: 0x6d298a20, + 0x1901c: 0x6c9c4620, 0x1901d: 0x6cadd220, 0x1901e: 0x6d2e5620, 0x1901f: 0x6cfe2c20, + 0x19020: 0x6c429c20, 0x19022: 0x6cb5bc20, + 0x19024: 0x6c923820, 0x19026: 0x6d283020, 0x19027: 0x6c362e20, + 0x19028: 0x6c329a20, 0x19029: 0x6c9f5020, 0x1902a: 0x6cee8420, 0x1902b: 0x6cc2ec20, + 0x1902c: 0x6cda1c20, 0x1902d: 0x6c9f5220, 0x1902e: 0x6ce85e20, + 0x19030: 0x6ca03620, 0x19031: 0x6d11b420, 0x19032: 0x6c746220, 0x19033: 0x6c862c20, + 0x19034: 0x6c7b2620, 0x19035: 0x6c42a420, 0x19036: 0x6d257e20, 0x19037: 0x6c26fa20, + 0x19039: 0x6c816220, 0x1903a: 0x6c909c20, 0x1903b: 0x6cba6620, + 0x1903c: 0x6c025c20, 0x1903d: 0x6c0c7620, 0x1903e: 0x6d1d9a20, 0x1903f: 0x6c989820, + // Block 0x641, offset 0x19040 + 0x19040: 0x6c29e020, 0x19042: 0x6c025e20, + 0x19044: 0x6cf78e20, 0x19045: 0x6c3ed420, 0x19046: 0x6c27f820, 0x19047: 0x6c701420, + 0x19048: 0x6cc90220, 0x19049: 0x6ce77a20, 0x1904a: 0x6cc13220, 0x1904b: 0x6c368220, + 0x1904c: 0x6cb51a20, 0x1904d: 0x6c607e20, 0x1904e: 0x6c608020, 0x1904f: 0x6c574c20, + 0x19050: 0x6c69b820, 0x19051: 0x6d41cc20, 0x19052: 0x6c0c7a20, 0x19053: 0x6c9b4620, + 0x19054: 0x6c045620, 0x19055: 0x6cf01420, 0x19056: 0x6d160e20, 0x19057: 0x6c02f020, + 0x19058: 0x6d229e20, 0x19059: 0x6c4ff020, 0x1905a: 0x6c336620, 0x1905b: 0x6cf31a20, + 0x1905c: 0x6ca6d620, 0x1905d: 0x6c249e20, 0x1905f: 0x6c846e20, + 0x19060: 0x6c916c20, 0x19061: 0x6ca7be20, 0x19062: 0x6c57f820, 0x19063: 0x6c86f020, + 0x19065: 0x6c941c20, 0x19066: 0x6c3c7e20, 0x19067: 0x6c9d0c20, + 0x19068: 0x6d249e20, 0x1906a: 0x6c71e620, + 0x1906d: 0x6d2dec20, 0x1906e: 0x6cae8220, 0x1906f: 0x6d15b220, + 0x19071: 0x6c61e420, 0x19072: 0x6c08ae20, + 0x19074: 0x6cc5b420, 0x19075: 0x6c597220, 0x19076: 0x6c388020, 0x19077: 0x6c43c220, + 0x19078: 0x6c7a8020, 0x19079: 0x6c6bb420, 0x1907a: 0x6ccbc220, + 0x1907c: 0x6cd7c220, 0x1907d: 0x6ce71620, 0x1907e: 0x6d24c820, 0x1907f: 0x6d3e0420, + // Block 0x642, offset 0x19080 + 0x19080: 0x6c092c20, 0x19081: 0x6c7ad820, 0x19082: 0x6c859e20, 0x19083: 0x6c598220, + 0x19084: 0x6d09e620, 0x19085: 0x6caad820, 0x19087: 0x6d303820, + 0x19088: 0x6cf20220, 0x19089: 0x6cfb4420, 0x1908a: 0x6cb85a20, 0x1908b: 0x6d127a20, + 0x1908c: 0x6c996c20, 0x1908f: 0x6cd5d420, + 0x19091: 0x6cbb7a20, 0x19092: 0x6d3cd220, 0x19093: 0x6c7d6020, + 0x19094: 0x6cf4ea20, 0x19095: 0x6d1bb820, 0x19096: 0x6c207220, 0x19097: 0x6ce33e20, + 0x19098: 0x6c880e20, 0x19099: 0x6c087820, 0x1909a: 0x6c464e20, 0x1909b: 0x6c986820, + 0x1909c: 0x6d01d020, 0x1909d: 0x6c3cec20, 0x1909e: 0x6c909e20, 0x1909f: 0x6d2a1820, + 0x190a0: 0x6d335e20, 0x190a1: 0x6c1ea220, 0x190a2: 0x6c980020, 0x190a3: 0x6c8faa20, + 0x190a5: 0x6d1b8620, 0x190a6: 0x6cb1f020, 0x190a7: 0x6d337020, + 0x190a8: 0x6c653020, 0x190a9: 0x6c945420, 0x190aa: 0x6ca7e420, 0x190ab: 0x6d179a20, + 0x190ad: 0x6c623420, 0x190ae: 0x6c60a420, 0x190af: 0x6d2d1a20, + 0x190b0: 0x6d221a20, 0x190b1: 0x6c6fa620, 0x190b2: 0x6c585620, 0x190b3: 0x6d34e220, + 0x190b4: 0x6c7e3c20, 0x190b5: 0x6c8ca820, 0x190b6: 0x6d34f020, 0x190b7: 0x6c079420, + 0x190b8: 0x6d2cae20, 0x190b9: 0x6c705820, 0x190ba: 0x6c286620, 0x190bb: 0x6c8a9020, + 0x190bc: 0x6d16e820, 0x190bd: 0x6d2fa020, 0x190be: 0x6cfc8e20, 0x190bf: 0x6c1bf820, + // Block 0x643, offset 0x190c0 + 0x190c0: 0x6c22ba20, 0x190c1: 0x6c1b8420, 0x190c2: 0x6d0d5420, 0x190c3: 0x6c80aa20, + 0x190c4: 0x6c310220, 0x190c5: 0x6c905e20, 0x190c6: 0x6c14ec20, + 0x190c8: 0x6ce9a020, 0x190c9: 0x6c13da20, 0x190ca: 0x6c006620, 0x190cb: 0x6c1b9c20, + 0x190cd: 0x6d1cec20, 0x190ce: 0x6d305a20, 0x190cf: 0x6ce7ee20, + 0x190d1: 0x6ce9a620, 0x190d2: 0x6c13f420, 0x190d3: 0x6d11be20, + 0x190d4: 0x6d3ffe20, 0x190d6: 0x6cac4020, 0x190d7: 0x6cbc5620, + 0x190d8: 0x6c883220, 0x190d9: 0x6cbd9c20, 0x190da: 0x6c91d820, 0x190db: 0x6d0eb820, + 0x190dc: 0x6c778e20, 0x190dd: 0x6cda5e20, 0x190de: 0x6d192820, 0x190df: 0x6c14b420, + 0x190e0: 0x6c6ef620, 0x190e1: 0x6c67b020, 0x190e3: 0x6c6ea820, + 0x190e5: 0x6c305c20, 0x190e7: 0x6c733620, + 0x190e8: 0x6c4e8420, 0x190e9: 0x6c2c1020, + 0x190ec: 0x6c52f620, 0x190ee: 0x6c1b0820, 0x190ef: 0x6c2dae20, + 0x190f0: 0x6c093020, 0x190f2: 0x6d0a6e20, 0x190f3: 0x6c913e20, + 0x190f5: 0x6d007e20, 0x190f6: 0x6c094420, + 0x190f8: 0x6c095c20, 0x190fa: 0x6cfb4620, 0x190fb: 0x6cc8c820, + 0x190fc: 0x6c0d1420, 0x190fd: 0x6c379620, 0x190fe: 0x6c736220, + // Block 0x644, offset 0x19100 + 0x19100: 0x6d324820, 0x19101: 0x6c072e20, 0x19102: 0x6c365620, 0x19103: 0x6d227a20, + 0x19104: 0x6cc1b220, 0x19105: 0x6d299420, 0x19106: 0x6c9ca820, 0x19107: 0x6d16b220, + 0x19108: 0x6cd8e620, + 0x1910c: 0x6ccd6e20, 0x1910d: 0x6cdf1620, 0x1910e: 0x6ca28220, 0x1910f: 0x6c6e8220, + 0x19110: 0x6c0b9620, 0x19111: 0x6cc68e20, 0x19112: 0x6c136e20, 0x19113: 0x6c120220, + 0x19114: 0x6c2f4820, + 0x19119: 0x6c2b5620, 0x1911a: 0x6ce7ac20, 0x1911b: 0x6cde3220, + 0x1911c: 0x6d03ce20, 0x1911d: 0x6cd90a20, 0x1911e: 0x6c343e20, 0x1911f: 0x6cf85e20, + 0x19120: 0x6ce1b220, 0x19122: 0x6ce31620, 0x19123: 0x6ccd7820, + 0x19124: 0x6c667620, 0x19125: 0x6d35da20, 0x19126: 0x6cee7220, 0x19127: 0x6d1b4620, + 0x1912a: 0x6c58d620, 0x1912b: 0x6d37f220, + 0x1912c: 0x6cb78c20, 0x1912d: 0x6d3f8820, 0x1912f: 0x6d01c220, + 0x19130: 0x6d01d220, 0x19131: 0x6d2ade20, 0x19132: 0x6cef1e20, + 0x19135: 0x6cde9820, 0x19136: 0x6d2d9820, 0x19137: 0x6ca95820, + 0x1913b: 0x6d166620, + 0x1913c: 0x6cc58420, 0x1913d: 0x6cd59620, 0x1913e: 0x6c142a20, 0x1913f: 0x6d3d1e20, + // Block 0x645, offset 0x19140 + 0x19141: 0x6c9e0620, 0x19142: 0x6c5fdc20, 0x19143: 0x6c39a420, + 0x19144: 0x6cadfe20, 0x19145: 0x6c008e20, 0x19146: 0x6c392020, 0x19147: 0x6c029a20, + 0x19148: 0x6cbe0220, 0x19149: 0x6cb82220, 0x1914a: 0x6cffd020, 0x1914b: 0x6c3b1020, + 0x1914c: 0x6c417420, 0x1914d: 0x6cbb6620, 0x1914e: 0x6c437a20, 0x1914f: 0x6ce71c20, + 0x19150: 0x6c14ba20, 0x19151: 0x6d201620, 0x19152: 0x6c42b420, 0x19153: 0x6c07a820, + 0x19154: 0x6c3fb420, 0x19155: 0x6c1f0c20, 0x19156: 0x6d3aac20, + 0x19158: 0x6d390020, 0x1915a: 0x6c4f6220, 0x1915b: 0x6ca8e420, + 0x1915c: 0x6c73f820, 0x1915d: 0x6c1cb020, 0x1915e: 0x6c143820, 0x1915f: 0x6c799c20, + 0x19160: 0x6c8ae820, 0x19161: 0x6c85a020, 0x19162: 0x6d22e020, + 0x19164: 0x6d20d620, 0x19165: 0x6c4d5820, 0x19166: 0x6c85a220, 0x19167: 0x6c53ee20, + 0x19168: 0x6c45d820, 0x19169: 0x6c789820, 0x1916a: 0x6d260c20, 0x1916b: 0x6c2a6220, + 0x1916c: 0x6c5b9a20, 0x1916e: 0x6c4a2220, 0x1916f: 0x6c6f0620, + 0x19170: 0x6d429a20, 0x19171: 0x6c3fce20, 0x19172: 0x6cbcb220, 0x19173: 0x6c06c820, + 0x19174: 0x6c180a20, 0x19175: 0x6c223e20, 0x19176: 0x6c985020, 0x19177: 0x6c4d9820, + 0x19178: 0x6cf86a20, 0x19179: 0x6cc02e20, 0x1917a: 0x6c5a4620, + 0x1917d: 0x6c1d9620, 0x1917e: 0x6cca4c20, 0x1917f: 0x6d0bf420, + // Block 0x646, offset 0x19180 + 0x19180: 0x6d345620, 0x19181: 0x6c2a6c20, 0x19182: 0x6ce27420, 0x19183: 0x6c9aec20, + 0x19184: 0x6c8ce220, 0x19185: 0x6cd45e20, 0x19186: 0x6ce9fa20, 0x19187: 0x6c119220, + 0x19188: 0x6c2ea020, 0x19189: 0x6c181420, 0x1918a: 0x6cae9c20, 0x1918b: 0x6d13f020, + 0x1918c: 0x6c711220, 0x1918d: 0x6c61e820, 0x1918e: 0x6c7f0620, 0x1918f: 0x6ce4ea20, + 0x19190: 0x6d261a20, 0x19192: 0x6c112820, 0x19193: 0x6cb4e420, + 0x19194: 0x6d230e20, 0x19195: 0x6c880220, 0x19196: 0x6c231420, + 0x1919a: 0x6d212020, 0x1919b: 0x6c603220, + 0x1919c: 0x6cf09420, 0x1919d: 0x6c9cf020, 0x1919e: 0x6cdc3e20, 0x1919f: 0x6d00aa20, + 0x191a0: 0x6d059620, 0x191a1: 0x6c1c1c20, 0x191a2: 0x6cc06020, 0x191a3: 0x6c5bde20, + 0x191a5: 0x6d212220, 0x191a6: 0x6cbcc620, 0x191a7: 0x6cd74e20, + 0x191a8: 0x6cd72620, 0x191a9: 0x6c349020, 0x191aa: 0x6c908820, + 0x191ac: 0x6cad0620, 0x191ad: 0x6cdf7820, 0x191ae: 0x6d393020, 0x191af: 0x6d1af420, + 0x191b0: 0x6ccab420, 0x191b1: 0x6c3a5a20, 0x191b2: 0x6c187620, 0x191b3: 0x6d258020, + 0x191b4: 0x6d151620, 0x191b5: 0x6c5d2a20, 0x191b6: 0x6ccb3420, 0x191b7: 0x6d131020, + 0x191b8: 0x6c9fbc20, 0x191b9: 0x6c3bbe20, 0x191ba: 0x6c513620, + 0x191bc: 0x6d1b6420, 0x191bd: 0x6c130220, 0x191be: 0x6ca6b620, 0x191bf: 0x6c02e820, + // Block 0x647, offset 0x191c0 + 0x191c0: 0x6c3cb420, 0x191c1: 0x6c883420, 0x191c2: 0x6c16be20, 0x191c3: 0x6c15c820, + 0x191c4: 0x6c967020, 0x191c5: 0x6c2e5a20, 0x191c6: 0x6c54e620, 0x191c7: 0x6c928020, + 0x191c9: 0x6d184c20, 0x191ca: 0x6c574e20, 0x191cb: 0x6d2bf220, + 0x191cc: 0x6c550020, 0x191cd: 0x6c368420, 0x191ce: 0x6c5dee20, 0x191cf: 0x6cdcf820, + 0x191d0: 0x6ca6bc20, 0x191d1: 0x6cfcf620, 0x191d2: 0x6c842620, 0x191d3: 0x6cfcf820, + 0x191d4: 0x6d0eba20, 0x191d5: 0x6c8fa420, 0x191d6: 0x6c9af620, 0x191d7: 0x6c6c5c20, + 0x191d8: 0x6c5f5020, 0x191da: 0x6c0b5a20, 0x191db: 0x6d22a420, + 0x191dc: 0x6c5e0620, 0x191dd: 0x6c9ea420, 0x191de: 0x6c1df220, 0x191df: 0x6c970620, + 0x191e1: 0x6c822c20, 0x191e2: 0x6c6b5620, 0x191e3: 0x6cf10a20, + 0x191e4: 0x6d192a20, 0x191e5: 0x6d07e020, 0x191e6: 0x6cf91420, 0x191e7: 0x6c11e220, + 0x191e8: 0x6c7fe420, 0x191e9: 0x6d1b2220, 0x191ea: 0x6d027220, 0x191eb: 0x6d28a620, + 0x191ec: 0x6c95d220, 0x191ed: 0x6c8dd220, 0x191ee: 0x6cb97020, 0x191ef: 0x6c5d9a20, + 0x191f0: 0x6c646a20, 0x191f1: 0x6cf2a820, + 0x191f4: 0x6c43d420, 0x191f5: 0x6d399020, 0x191f6: 0x6c2e8220, 0x191f7: 0x6d1e2c20, + 0x191f8: 0x6c614220, 0x191f9: 0x6d0fc020, 0x191fa: 0x6cc82220, 0x191fb: 0x6cf79a20, + 0x191fc: 0x6cd6f020, 0x191fd: 0x6d240820, 0x191fe: 0x6d146020, 0x191ff: 0x6cb9f220, + // Block 0x648, offset 0x19200 + 0x19200: 0x6c5fde20, 0x19201: 0x6cc26420, 0x19202: 0x6ce48a20, 0x19203: 0x6cd42820, + 0x19204: 0x6cb9ee20, 0x19205: 0x6ca26020, 0x19206: 0x6c6c2620, 0x19207: 0x6c992420, + 0x19208: 0x6d1ac820, 0x19209: 0x6c412a20, 0x1920a: 0x6cb2ee20, 0x1920b: 0x6d084020, + 0x1920c: 0x6c994220, 0x1920d: 0x6c39c020, 0x1920e: 0x6d0b1020, 0x1920f: 0x6c425420, + 0x19210: 0x6cd95020, 0x19211: 0x6c5a8a20, 0x19212: 0x6d22d620, 0x19213: 0x6c484820, + 0x19214: 0x6c48e820, 0x19215: 0x6c8ef820, 0x19216: 0x6c35de20, 0x19217: 0x6d3eec20, + 0x19218: 0x6d3f3220, 0x19219: 0x6c093820, 0x1921a: 0x6cec1620, + 0x1921c: 0x6c8acc20, 0x1921f: 0x6c7af620, + 0x19221: 0x6c4d5a20, 0x19222: 0x6d19b020, 0x19223: 0x6d398820, + 0x19224: 0x6c1d4820, 0x19225: 0x6cfbea20, 0x19226: 0x6d087420, + 0x19228: 0x6cc01420, 0x19229: 0x6cae0c20, 0x1922a: 0x6c4ad620, 0x1922b: 0x6c373e20, + 0x1922c: 0x6c45dc20, 0x1922d: 0x6cbf0820, 0x1922e: 0x6c54ac20, 0x1922f: 0x6c81a620, + 0x19230: 0x6c85a420, 0x19231: 0x6c192220, 0x19232: 0x6cca1620, 0x19233: 0x6d3df420, + 0x19234: 0x6cf2ae20, 0x19235: 0x6cb3d420, 0x19236: 0x6c793020, 0x19237: 0x6cea8820, + 0x19238: 0x6cae5c20, 0x19239: 0x6ce27620, 0x1923a: 0x6cde4a20, 0x1923b: 0x6d3d4c20, + 0x1923c: 0x6c0c8e20, 0x1923d: 0x6c480e20, 0x1923e: 0x6c54be20, + // Block 0x649, offset 0x19240 + 0x19240: 0x6c0de020, 0x19241: 0x6d35de20, 0x19242: 0x6c302e20, 0x19243: 0x6c332220, + 0x19244: 0x6d387220, 0x19245: 0x6ca58a20, 0x19246: 0x6c8c1c20, 0x19247: 0x6cb32a20, + 0x19248: 0x6c613420, 0x19249: 0x6c9f5420, 0x1924a: 0x6cefc220, 0x1924b: 0x6c17ea20, + 0x1924c: 0x6c46b620, 0x1924d: 0x6c053220, 0x1924e: 0x6cc7aa20, 0x1924f: 0x6cdfa820, + 0x19250: 0x6c103a20, 0x19251: 0x6d3f8c20, 0x19252: 0x6c7c3c20, 0x19253: 0x6c815820, + 0x19254: 0x6c4ec220, 0x19255: 0x6d1c7020, 0x19256: 0x6d362620, 0x19257: 0x6c6ac620, + 0x19258: 0x6d040220, 0x19259: 0x6d00b820, 0x1925a: 0x6d0a1620, 0x1925b: 0x6ccd4620, + 0x1925c: 0x6cb9a620, 0x1925d: 0x6d004620, 0x1925e: 0x6cdacc20, 0x1925f: 0x6c4d1820, + 0x19260: 0x6c9d5820, 0x19261: 0x6c5cee20, 0x19262: 0x6caf7220, + 0x19264: 0x6c5be020, 0x19265: 0x6ca34c20, 0x19266: 0x6cd96220, 0x19267: 0x6c07bc20, + 0x19268: 0x6c1d7220, 0x19269: 0x6c6ae220, 0x1926a: 0x6c5a6e20, 0x1926b: 0x6c802c20, + 0x1926d: 0x6c56b420, 0x1926e: 0x6c30b620, 0x1926f: 0x6c5de420, + 0x19270: 0x6c4bd420, 0x19271: 0x6d111c20, 0x19272: 0x6c130420, 0x19273: 0x6c4b1220, + 0x19274: 0x6c66a620, 0x19275: 0x6c65c020, 0x19276: 0x6c29e620, 0x19277: 0x6c6d2420, + 0x19278: 0x6c96cc20, 0x19279: 0x6c5bf820, 0x1927a: 0x6c9e3420, 0x1927b: 0x6c11a820, + 0x1927c: 0x6c94ba20, 0x1927d: 0x6cb0aa20, 0x1927e: 0x6d105a20, 0x1927f: 0x6c726420, + // Block 0x64a, offset 0x19280 + 0x19280: 0x6c726620, 0x19281: 0x6cc3dc20, 0x19283: 0x6cb91220, + 0x19284: 0x6ccc8e20, 0x19286: 0x6c701820, 0x19287: 0x6c5df020, + 0x19288: 0x6d27fa20, 0x19289: 0x6c26b820, 0x1928a: 0x6d07ba20, 0x1928b: 0x6cff0420, + 0x1928c: 0x6c3ac620, 0x1928d: 0x6c131020, 0x1928e: 0x6d132420, + 0x19290: 0x6c2a9820, 0x19292: 0x6cbda020, 0x19293: 0x6c5b6a20, + 0x19294: 0x6cea6c20, 0x19296: 0x6cbb2420, 0x19297: 0x6cf7a020, + 0x19298: 0x6ca64a20, 0x19299: 0x6cc9ce20, 0x1929a: 0x6c9b5620, 0x1929b: 0x6ce95e20, + 0x1929c: 0x6c804220, 0x1929d: 0x6c4ff220, 0x1929e: 0x6c22e620, 0x1929f: 0x6d2d4e20, + 0x192a0: 0x6c023220, 0x192a1: 0x6c95c420, 0x192a2: 0x6c9efa20, + 0x192a4: 0x6c3daa20, 0x192a6: 0x6d010c20, 0x192a7: 0x6c0f8c20, + 0x192a8: 0x6c5c6820, 0x192a9: 0x6cbeb820, 0x192aa: 0x6d010e20, + 0x192ad: 0x6c0fa220, 0x192ae: 0x6cb9dc20, 0x192af: 0x6cb34020, + 0x192b0: 0x6c696820, 0x192b1: 0x6c750a20, 0x192b2: 0x6c7dc620, 0x192b3: 0x6cd97a20, + 0x192b4: 0x6c718e20, 0x192b5: 0x6c36f020, 0x192b6: 0x6ca8c020, 0x192b7: 0x6cb95a20, + 0x192b8: 0x6c2f1a20, 0x192b9: 0x6c2f1c20, 0x192bb: 0x6cb4da20, + 0x192bc: 0x6d33c220, 0x192bd: 0x6cb5c620, 0x192be: 0x6d3c8620, 0x192bf: 0x6c7a1c20, + // Block 0x64b, offset 0x192c0 + 0x192c0: 0x6d20b420, 0x192c1: 0x6cbd5820, 0x192c2: 0x6c7a2620, 0x192c3: 0x6c50d420, + 0x192c4: 0x6c3e0a20, 0x192c6: 0x6c2be220, 0x192c7: 0x6cfca620, + 0x192c8: 0x6c4b3c20, 0x192c9: 0x6c50ee20, 0x192ca: 0x6cc44620, 0x192cb: 0x6c4eaa20, + 0x192cc: 0x6ce7b420, 0x192cd: 0x6c0ee620, 0x192ce: 0x6ccd3e20, 0x192cf: 0x6c08de20, + 0x192d0: 0x6c924e20, 0x192d1: 0x6d12f020, 0x192d2: 0x6ca5e220, 0x192d3: 0x6c1fba20, + 0x192d4: 0x6cca5020, 0x192d5: 0x6c2e2820, 0x192d6: 0x6c925020, 0x192d7: 0x6ce81220, + 0x192d8: 0x6c88bc20, 0x192d9: 0x6c786620, 0x192da: 0x6cca5220, 0x192db: 0x6d31e420, + 0x192dc: 0x6c1fc020, 0x192dd: 0x6c890220, 0x192de: 0x6c998c20, + 0x192e0: 0x6cb90620, 0x192e1: 0x6c769220, 0x192e2: 0x6cceb620, 0x192e3: 0x6cfeea20, + 0x192e4: 0x6c0a2020, 0x192e5: 0x6d2bf420, 0x192e6: 0x6d1b7220, 0x192e7: 0x6cf6bc20, + 0x192e8: 0x6ccdaa20, 0x192e9: 0x6cdb1220, 0x192ea: 0x6cc98e20, 0x192eb: 0x6cc8e820, + 0x192ec: 0x6c219c20, 0x192ed: 0x6c917c20, 0x192ee: 0x6c8d9820, 0x192ef: 0x6c13c620, + 0x192f1: 0x6c593020, + 0x192f4: 0x6c63a220, 0x192f5: 0x6c04ee20, 0x192f6: 0x6c553220, 0x192f7: 0x6c30ec20, + 0x192f9: 0x6c90f020, 0x192fa: 0x6c70d220, 0x192fb: 0x6c73a620, + 0x192fc: 0x6c785c20, 0x192fd: 0x6cdd5220, 0x192fe: 0x6c95f020, 0x192ff: 0x6d303c20, + // Block 0x64c, offset 0x19300 + 0x19300: 0x6c2f7220, 0x19301: 0x6c32d220, 0x19302: 0x6d3b1c20, 0x19303: 0x6d0d3a20, + 0x19304: 0x6cacf420, 0x19305: 0x6c13d820, + 0x1930a: 0x6d15e620, + 0x1930d: 0x6d1f3420, 0x1930e: 0x6c5ae620, 0x1930f: 0x6d11c820, + 0x19310: 0x6d118020, 0x19311: 0x6d34d620, 0x19312: 0x6c45d220, 0x19313: 0x6cb6d420, + 0x19314: 0x6c44ac20, 0x19317: 0x6c545c20, + 0x19318: 0x6c9d2420, 0x19319: 0x6c3df020, 0x1931a: 0x6c54a020, 0x1931b: 0x6c4a1a20, + 0x1931c: 0x6ce05620, 0x1931d: 0x6c2b1a20, 0x1931f: 0x6d0c7220, + 0x19322: 0x6cc26620, + 0x19324: 0x6c16e420, 0x19325: 0x6ca02e20, 0x19326: 0x6ce1bc20, 0x19327: 0x6c063c20, + 0x19328: 0x6c011e20, 0x1932b: 0x6cfbf620, + 0x1932f: 0x6c996e20, + 0x19330: 0x6c811c20, 0x19331: 0x6ca42220, 0x19332: 0x6c070c20, 0x19333: 0x6c18be20, + 0x19335: 0x6c3a0420, 0x19336: 0x6d38e620, 0x19337: 0x6c5ece20, + 0x19338: 0x6c6a1420, 0x19339: 0x6cd5d620, 0x1933b: 0x6c7dd220, + 0x1933c: 0x6c2ea620, 0x1933d: 0x6c925220, + // Block 0x64d, offset 0x19340 + 0x19342: 0x6d215020, 0x19343: 0x6cdf2620, + 0x19344: 0x6c162e20, 0x19345: 0x6c97de20, 0x19346: 0x6c9fb820, 0x19347: 0x6c593220, + 0x19348: 0x6cf15420, 0x19349: 0x6caa9220, 0x1934a: 0x6c593420, 0x1934b: 0x6c540a20, + 0x1934c: 0x6c6e8e20, 0x1934d: 0x6c0f2620, 0x1934e: 0x6cfc2020, 0x1934f: 0x6c864820, + 0x19350: 0x6c6d2620, 0x19352: 0x6c989c20, 0x19353: 0x6cb1ba20, + 0x19354: 0x6c4fde20, 0x19355: 0x6d0fd620, 0x19357: 0x6cfd0a20, + 0x19358: 0x6cdb1420, 0x19359: 0x6cf01620, 0x1935a: 0x6c183c20, 0x1935b: 0x6cf6be20, + 0x1935c: 0x6c6d4c20, 0x1935d: 0x6c135a20, 0x1935e: 0x6c51e420, 0x1935f: 0x6c3b4020, + 0x19360: 0x6ccca620, 0x19361: 0x6c8d6a20, 0x19363: 0x6c337220, + 0x19364: 0x6cb54220, 0x19365: 0x6cb4b820, 0x19366: 0x6d26fa20, 0x19367: 0x6c0f8e20, + 0x19369: 0x6c5c7820, 0x1936a: 0x6c2f0220, 0x1936b: 0x6d0ef620, + 0x1936c: 0x6c72d020, 0x1936d: 0x6c69e020, 0x1936e: 0x6ca44c20, 0x1936f: 0x6c8b8620, + 0x19370: 0x6d20aa20, 0x19371: 0x6ce41c20, 0x19372: 0x6ce47620, 0x19373: 0x6cf42a20, + 0x19374: 0x6c53a220, 0x19375: 0x6cff7220, 0x19376: 0x6c503620, + 0x19378: 0x6ce55c20, 0x19379: 0x6d32ca20, 0x1937b: 0x6c59a020, + 0x1937c: 0x6c403420, 0x1937f: 0x6cea2c20, + // Block 0x64e, offset 0x19380 + 0x19381: 0x6cc61a20, 0x19382: 0x6c68ba20, + 0x19384: 0x6d031c20, 0x19387: 0x6d260020, + 0x19388: 0x6c73ee20, 0x19389: 0x6c572820, 0x1938b: 0x6c056020, + 0x1938c: 0x6ca1c420, 0x1938e: 0x6c425e20, 0x1938f: 0x6cef9220, + 0x19391: 0x6c9a8020, 0x19392: 0x6cd89c20, 0x19393: 0x6c0b8820, + 0x19394: 0x6c914220, 0x19395: 0x6cc0e620, + 0x19398: 0x6c43da20, 0x19399: 0x6d303e20, 0x1939a: 0x6c938c20, 0x1939b: 0x6cac2020, + 0x1939c: 0x6cc66220, 0x1939d: 0x6cc03020, 0x1939e: 0x6c8aea20, 0x1939f: 0x6c45e020, + 0x193a0: 0x6cfbf820, 0x193a1: 0x6cf86e20, 0x193a2: 0x6d02c620, + 0x193a4: 0x6ca79620, + 0x193a8: 0x6d00a220, 0x193a9: 0x6c8afe20, 0x193aa: 0x6c3d6420, 0x193ab: 0x6c25d620, + 0x193ac: 0x6d3d4e20, 0x193ad: 0x6c034820, 0x193ae: 0x6d429c20, 0x193af: 0x6d305020, + 0x193b0: 0x6d416e20, 0x193b1: 0x6c510620, 0x193b2: 0x6c601a20, + 0x193b4: 0x6c648620, + 0x193b8: 0x6ce8b020, 0x193b9: 0x6cfb5c20, 0x193ba: 0x6d0d8620, 0x193bb: 0x6ce0f420, + 0x193bc: 0x6cde5620, 0x193bd: 0x6c2bf620, 0x193be: 0x6c744c20, 0x193bf: 0x6c01fc20, + // Block 0x64f, offset 0x193c0 + 0x193c0: 0x6c4e1020, 0x193c1: 0x6cff8820, 0x193c2: 0x6c712020, 0x193c3: 0x6cee8c20, + 0x193c4: 0x6c054c20, 0x193c5: 0x6d3c5e20, 0x193c6: 0x6ca82e20, 0x193c7: 0x6ce53820, + 0x193c8: 0x6ca3c020, 0x193cb: 0x6d1fd420, + 0x193cc: 0x6c9dc620, 0x193cf: 0x6ca3c820, + 0x193d0: 0x6cd13c20, 0x193d1: 0x6c13a220, 0x193d2: 0x6d0c1020, 0x193d3: 0x6c44b620, + 0x193d4: 0x6c1d5420, 0x193d5: 0x6cc86420, 0x193d6: 0x6c63ca20, 0x193d7: 0x6cbd8220, + 0x193d8: 0x6c98e620, 0x193d9: 0x6c365c20, 0x193da: 0x6c863220, 0x193db: 0x6c1b3420, + 0x193dc: 0x6d29da20, 0x193dd: 0x6c513820, 0x193de: 0x6c6ae420, 0x193df: 0x6ca72c20, + 0x193e1: 0x6c499020, 0x193e2: 0x6c540c20, 0x193e3: 0x6c414220, + 0x193e5: 0x6c07be20, 0x193e6: 0x6cdd8020, 0x193e7: 0x6cf37220, + 0x193e8: 0x6c623820, 0x193e9: 0x6cf66a20, 0x193ea: 0x6cbf4a20, 0x193eb: 0x6c515820, + 0x193ec: 0x6cf23020, 0x193ed: 0x6cfb7220, 0x193ee: 0x6c6b0820, 0x193ef: 0x6c5cf820, + 0x193f0: 0x6cb00420, 0x193f1: 0x6cd00620, 0x193f2: 0x6c1d7620, 0x193f3: 0x6d324e20, + 0x193f5: 0x6d2d8a20, 0x193f6: 0x6cd78a20, 0x193f7: 0x6c5f0420, + 0x193f8: 0x6cd99420, 0x193f9: 0x6d354220, 0x193fa: 0x6c07a220, + 0x193fe: 0x6c810e20, 0x193ff: 0x6c0a2220, + // Block 0x650, offset 0x19400 + 0x19400: 0x6d08ae20, 0x19401: 0x6cade820, 0x19402: 0x6c278a20, + 0x19404: 0x6d340e20, 0x19405: 0x6cb00e20, 0x19406: 0x6c15d420, 0x19407: 0x6c0a2420, + 0x19408: 0x6cdafa20, 0x19409: 0x6c5df220, 0x1940a: 0x6c523420, 0x1940b: 0x6c6f2a20, + 0x1940c: 0x6c200620, 0x1940d: 0x6c67b420, 0x1940e: 0x6ca5a020, 0x1940f: 0x6c47be20, + 0x19410: 0x6c39de20, 0x19413: 0x6cde9a20, + 0x19414: 0x6c256020, 0x19415: 0x6cf6c220, 0x19416: 0x6c2a8420, 0x19417: 0x6cfb9020, + 0x19418: 0x6c7b7220, 0x19419: 0x6d308a20, 0x1941a: 0x6cddfc20, 0x1941b: 0x6c55ae20, + 0x1941c: 0x6c256220, 0x1941d: 0x6c92c820, 0x1941e: 0x6c738c20, 0x1941f: 0x6c92ca20, + 0x19420: 0x6cba7220, 0x19421: 0x6cad9620, 0x19422: 0x6d326c20, + 0x19424: 0x6c867a20, 0x19425: 0x6c128e20, 0x19426: 0x6cb64a20, + 0x19429: 0x6ce41e20, 0x1942a: 0x6c8d6c20, 0x1942b: 0x6cc1d420, + 0x1942c: 0x6c88cc20, 0x1942d: 0x6c91e020, 0x1942e: 0x6cd54020, 0x1942f: 0x6c462620, + 0x19430: 0x6d309a20, 0x19431: 0x6cad3c20, 0x19432: 0x6c6d5a20, 0x19433: 0x6cbe9020, + 0x19436: 0x6d3fc420, 0x19437: 0x6cb46620, + 0x19438: 0x6c6cbc20, 0x19439: 0x6c0c8620, 0x1943a: 0x6c66ee20, 0x1943b: 0x6c4bf220, + 0x1943e: 0x6d2a3020, 0x1943f: 0x6c8b5a20, + // Block 0x651, offset 0x19440 + 0x19440: 0x6c848a20, 0x19441: 0x6c95c620, 0x19442: 0x6cd08620, 0x19443: 0x6c9de220, + 0x19444: 0x6c66fc20, 0x19445: 0x6c2bb020, 0x19446: 0x6c076a20, + 0x19448: 0x6c88d420, 0x1944a: 0x6cfbc620, 0x1944b: 0x6cb22220, + 0x1944c: 0x6cc41620, 0x1944d: 0x6c8fda20, 0x1944e: 0x6d41e020, + 0x19450: 0x6c74fe20, 0x19451: 0x6ccd2020, 0x19452: 0x6d092620, + 0x19454: 0x6d027820, 0x19456: 0x6c804e20, 0x19457: 0x6cb6aa20, + 0x19458: 0x6d159820, 0x19459: 0x6caad420, 0x1945a: 0x6c84ca20, 0x1945b: 0x6d271e20, + 0x1945d: 0x6d15be20, 0x1945e: 0x6c1a9220, 0x1945f: 0x6c619620, + 0x19460: 0x6c4f4a20, 0x19461: 0x6d015e20, 0x19462: 0x6c792a20, 0x19463: 0x6d3e1020, + 0x19464: 0x6c509220, 0x19465: 0x6cf86220, 0x19466: 0x6cc26820, 0x19467: 0x6c4d1020, + 0x19468: 0x6cf95220, 0x19469: 0x6c4d1220, 0x1946a: 0x6c4a4820, 0x1946b: 0x6c14c220, + 0x1946c: 0x6d09fa20, 0x1946d: 0x6d058220, 0x1946e: 0x6cd09c20, 0x1946f: 0x6c79e820, + 0x19470: 0x6cf96020, 0x19471: 0x6ccc4a20, 0x19472: 0x6d208a20, 0x19473: 0x6d0bae20, + 0x19474: 0x6cb3f220, 0x19475: 0x6d40bc20, 0x19476: 0x6d1fc820, 0x19477: 0x6d3f3e20, + 0x19478: 0x6c88be20, 0x19479: 0x6cfaaa20, 0x1947a: 0x6cfa3e20, 0x1947b: 0x6d15f620, + 0x1947c: 0x6ccc5820, 0x1947d: 0x6d0e8420, 0x1947e: 0x6c69a220, 0x1947f: 0x6cf66e20, + // Block 0x652, offset 0x19480 + 0x19480: 0x6c1bb620, 0x19481: 0x6cd3b220, 0x19482: 0x6c774620, 0x19483: 0x6d1afc20, + 0x19484: 0x6c522420, 0x19485: 0x6d189620, 0x19486: 0x6cf6e820, 0x19487: 0x6ccb6a20, + 0x19488: 0x6c6d5c20, 0x19489: 0x6d135e20, 0x1948a: 0x6d1ec420, 0x1948b: 0x6cc41820, + 0x1948c: 0x6d129a20, 0x1948d: 0x6c945e20, 0x1948e: 0x6c7d9c20, 0x1948f: 0x6d333820, + 0x19494: 0x6d003a20, 0x19496: 0x6c253a20, 0x19497: 0x6d04e420, + 0x19498: 0x6c01d820, 0x19499: 0x6d051e20, 0x1949a: 0x6c118820, 0x1949b: 0x6c201820, + 0x1949c: 0x6d2c1e20, 0x1949e: 0x6d16f420, 0x1949f: 0x6caf4420, + 0x194a0: 0x6c7a3020, 0x194a1: 0x6cd0fa20, 0x194a2: 0x6c80bc20, 0x194a3: 0x6ce9e420, + 0x194a4: 0x6cf61020, 0x194a5: 0x6c8d0620, 0x194a6: 0x6cb4f820, 0x194a7: 0x6cf2f020, + 0x194a8: 0x6c88fa20, 0x194a9: 0x6c319e20, 0x194aa: 0x6c9af420, 0x194ab: 0x6c807220, + 0x194ac: 0x6cefdc20, 0x194ad: 0x6c32ca20, 0x194ae: 0x6c7b2a20, 0x194af: 0x6c004c20, + 0x194b0: 0x6d291a20, 0x194b1: 0x6c5bfa20, 0x194b2: 0x6d182620, 0x194b3: 0x6ca14c20, + 0x194b4: 0x6d3f5e20, 0x194b5: 0x6c3be820, 0x194b6: 0x6caec420, + 0x194b8: 0x6c0a6c20, 0x194b9: 0x6c871e20, 0x194ba: 0x6c918220, 0x194bb: 0x6c964620, + 0x194bc: 0x6c4d0a20, 0x194bd: 0x6d31bc20, 0x194be: 0x6c40ee20, 0x194bf: 0x6cc3ac20, + // Block 0x653, offset 0x194c0 + 0x194c0: 0x6d315220, 0x194c1: 0x6c797a20, 0x194c2: 0x6c1a0420, 0x194c3: 0x6c6ffe20, + 0x194c4: 0x6c746420, 0x194c5: 0x6c623a20, 0x194c6: 0x6c8d5620, + 0x194c8: 0x6cceaa20, 0x194c9: 0x6cc40020, 0x194ca: 0x6cc8ea20, 0x194cb: 0x6c21ac20, + 0x194cc: 0x6ca5b220, 0x194cd: 0x6d339820, 0x194ce: 0x6c907a20, 0x194cf: 0x6cad3620, + 0x194d2: 0x6c063820, 0x194d3: 0x6cc66420, + 0x194d4: 0x6cfa9a20, 0x194d5: 0x6c832c20, 0x194d6: 0x6cfeb420, 0x194d7: 0x6c3d6620, + 0x194d8: 0x6cc18620, 0x194da: 0x6ccbe820, 0x194db: 0x6d352c20, + 0x194dc: 0x6cdfe020, 0x194dd: 0x6cc70e20, 0x194de: 0x6cda4a20, 0x194df: 0x6d1cf620, + 0x194e0: 0x6c98e820, 0x194e1: 0x6ca3ca20, 0x194e2: 0x6c0baa20, + 0x194e4: 0x6cd65820, 0x194e5: 0x6ce11020, 0x194e6: 0x6c4ee220, 0x194e7: 0x6ccaf620, + 0x194e8: 0x6cc69420, 0x194ea: 0x6c2aa820, 0x194eb: 0x6cb44e20, + 0x194ec: 0x6c687820, 0x194ed: 0x6ce07620, 0x194ef: 0x6cc48e20, + 0x194f0: 0x6ca92c20, 0x194f1: 0x6c8b5c20, 0x194f2: 0x6c2f2020, 0x194f3: 0x6c2e8620, + 0x194f4: 0x6d381620, 0x194f6: 0x6c93f420, 0x194f7: 0x6c28b020, + 0x194f8: 0x6cf56020, 0x194f9: 0x6c4aba20, 0x194fa: 0x6c5fbe20, 0x194fb: 0x6ca67620, + 0x194fc: 0x6d164a20, 0x194fd: 0x6ca75820, 0x194fe: 0x6d221e20, 0x194ff: 0x6cedf220, + // Block 0x654, offset 0x19500 + 0x19500: 0x6c4ce620, 0x19501: 0x6d2b3c20, 0x19502: 0x6d0c5820, 0x19503: 0x6c251a20, + 0x19504: 0x6cfb2620, 0x19505: 0x6c68be20, 0x19506: 0x6ce80620, 0x19507: 0x6c3fac20, + 0x19508: 0x6cae0020, 0x1950a: 0x6d1e9220, 0x1950b: 0x6cbfa220, + 0x1950c: 0x6d0ad620, 0x1950d: 0x6c107220, 0x1950e: 0x6c0b7c20, 0x1950f: 0x6cd31c20, + 0x19510: 0x6d2c2220, 0x19511: 0x6d16c020, 0x19512: 0x6c0b7e20, + 0x19514: 0x6c333820, 0x19515: 0x6c7f8e20, 0x19516: 0x6d13d820, 0x19517: 0x6c149220, + 0x19518: 0x6c1cb220, 0x19519: 0x6d087820, 0x1951a: 0x6d069220, 0x1951b: 0x6d20d820, + 0x1951c: 0x6d04c020, + 0x19520: 0x6cde3620, 0x19521: 0x6c4c1620, + 0x19525: 0x6c906420, 0x19526: 0x6d018220, 0x19527: 0x6c180c20, + 0x19528: 0x6c657e20, 0x19529: 0x6cdf9820, 0x1952a: 0x6cb08c20, 0x1952b: 0x6d296820, + 0x1952c: 0x6d080620, 0x1952d: 0x6cfb3c20, 0x1952e: 0x6ca7d220, + 0x19534: 0x6c9d3820, 0x19535: 0x6c61f020, 0x19536: 0x6caa1c20, 0x19537: 0x6c54c020, + 0x19538: 0x6c571020, 0x19539: 0x6cee1020, 0x1953a: 0x6d1f2a20, 0x1953b: 0x6d2ac020, + 0x1953c: 0x6c09a020, 0x1953d: 0x6c9cee20, 0x1953e: 0x6cbab020, 0x1953f: 0x6d019220, + // Block 0x655, offset 0x19540 + 0x19540: 0x6c394420, 0x19541: 0x6d176020, 0x19542: 0x6cdfa020, 0x19543: 0x6c832e20, + 0x19544: 0x6d1e2e20, 0x19546: 0x6c6d0220, 0x19547: 0x6ccf4a20, + 0x19548: 0x6d1b4820, 0x19549: 0x6c613820, 0x1954b: 0x6cdaa620, + 0x1954f: 0x6cee1c20, + 0x19550: 0x6c9e5820, 0x19551: 0x6cdab420, 0x19552: 0x6d17a620, 0x19553: 0x6ccc8820, + 0x19554: 0x6cf61420, 0x19555: 0x6c603e20, 0x19556: 0x6c960020, 0x19557: 0x6d1ea620, + 0x19558: 0x6c998220, 0x19559: 0x6d2c7c20, 0x1955a: 0x6cdc4020, 0x1955b: 0x6d362a20, + 0x1955c: 0x6c0b9c20, 0x1955d: 0x6c83d820, + 0x19565: 0x6cbc4820, 0x19566: 0x6c498e20, 0x19567: 0x6cf64a20, + 0x19568: 0x6d324a20, 0x19569: 0x6d1d9020, 0x1956a: 0x6ca84020, 0x1956b: 0x6c75ca20, + 0x1956c: 0x6d01c620, 0x1956d: 0x6d11b620, 0x1956e: 0x6d01c820, 0x1956f: 0x6d33f020, + 0x19570: 0x6ca5a820, 0x19572: 0x6cd7f420, 0x19573: 0x6c903620, + 0x19574: 0x6c18d220, 0x19575: 0x6c9d5c20, 0x19576: 0x6cc3cc20, 0x19577: 0x6c27e420, + 0x19578: 0x6ccd4820, + 0x1957c: 0x6cdae820, 0x1957d: 0x6d01da20, 0x1957e: 0x6c0f2820, 0x1957f: 0x6c2f7a20, + // Block 0x656, offset 0x19580 + 0x19580: 0x6d40ca20, 0x19582: 0x6cd5f220, 0x19583: 0x6ccf2220, + 0x19584: 0x6c4ee420, 0x19585: 0x6cdfb220, 0x19586: 0x6c431420, + 0x1958a: 0x6ca36420, 0x1958b: 0x6c9d7a20, + 0x1958c: 0x6d0a3020, 0x1958d: 0x6c9afa20, 0x1958e: 0x6c66b420, 0x1958f: 0x6c24fe20, + 0x19590: 0x6c749220, 0x19591: 0x6c51de20, 0x19592: 0x6c3ac820, 0x19593: 0x6cd28220, + 0x19594: 0x6c17f220, 0x19595: 0x6cd0c220, 0x19596: 0x6caa8a20, 0x19597: 0x6cb2c420, + 0x19598: 0x6c980220, + 0x1959d: 0x6d189a20, 0x1959e: 0x6c1dda20, + 0x195a0: 0x6c7a6220, 0x195a1: 0x6c05d420, 0x195a2: 0x6c825a20, 0x195a3: 0x6c787020, + 0x195a4: 0x6ccc7820, 0x195a5: 0x6c0a4e20, 0x195a6: 0x6cdbfc20, 0x195a7: 0x6c443420, + 0x195a8: 0x6cb0c020, 0x195a9: 0x6d189c20, 0x195aa: 0x6cfb9220, 0x195ab: 0x6ca6c820, + 0x195ac: 0x6d1c9820, 0x195ad: 0x6d3a8020, 0x195ae: 0x6c216220, 0x195af: 0x6c3cbc20, + 0x195b0: 0x6d074620, 0x195b1: 0x6cb19c20, 0x195b2: 0x6cf48020, 0x195b3: 0x6c8a2420, + 0x195b4: 0x6c124c20, 0x195b5: 0x6d409020, 0x195b6: 0x6d422a20, 0x195b7: 0x6c0bc620, + 0x195b8: 0x6d122a20, 0x195b9: 0x6c58a420, 0x195ba: 0x6cac3220, 0x195bb: 0x6d04fa20, + 0x195bd: 0x6c82ea20, 0x195be: 0x6cbee420, 0x195bf: 0x6d001220, + // Block 0x657, offset 0x195c0 + 0x195c0: 0x6c689620, 0x195c1: 0x6c4c9420, + 0x195c4: 0x6d0cf020, 0x195c5: 0x6d092420, 0x195c6: 0x6d39e220, 0x195c7: 0x6c527e20, + 0x195c8: 0x6d1cb820, 0x195c9: 0x6cf71620, + 0x195cc: 0x6c889220, 0x195cd: 0x6cfc4820, 0x195ce: 0x6c58bc20, 0x195cf: 0x6d1a1620, + 0x195d1: 0x6c892a20, 0x195d2: 0x6ccd6020, 0x195d3: 0x6c125220, + 0x195d4: 0x6c077020, 0x195d5: 0x6c662220, 0x195d6: 0x6cd63020, 0x195d7: 0x6c397a20, + 0x195d8: 0x6c2d9820, 0x195da: 0x6c03d820, 0x195db: 0x6d21fe20, + 0x195de: 0x6ca47420, 0x195df: 0x6c831420, + 0x195e0: 0x6d198220, 0x195e1: 0x6c272820, 0x195e3: 0x6c14ea20, + 0x195e4: 0x6c178e20, 0x195e5: 0x6c416a20, 0x195e6: 0x6c6cdc20, 0x195e7: 0x6ca59220, + 0x195eb: 0x6c8a6a20, + 0x195ec: 0x6ca0e620, 0x195ed: 0x6d1fb220, 0x195ef: 0x6c8f2820, + 0x195f0: 0x6c4de620, 0x195f2: 0x6d1e7420, 0x195f3: 0x6c6cf020, + 0x195f4: 0x6c1b8c20, 0x195f5: 0x6cc5dc20, 0x195f6: 0x6ca9b620, + 0x195f9: 0x6c53ba20, 0x195fa: 0x6ce53620, + 0x195fc: 0x6c002420, 0x195fd: 0x6c485620, 0x195fe: 0x6c0bf820, 0x195ff: 0x6c0eea20, + // Block 0x658, offset 0x19600 + 0x19600: 0x6cbf1420, 0x19602: 0x6cd5d820, 0x19603: 0x6c20ee20, + 0x19604: 0x6c5b5420, 0x19605: 0x6c179a20, 0x19606: 0x6c3ff220, 0x19607: 0x6c5ab620, + 0x19608: 0x6c363a20, 0x19609: 0x6cf09a20, 0x1960a: 0x6c3b7820, 0x1960b: 0x6cdfe220, + 0x1960d: 0x6c94fa20, 0x1960e: 0x6c51cc20, 0x1960f: 0x6d1e4a20, + 0x19610: 0x6c5b5a20, 0x19612: 0x6d215820, 0x19613: 0x6d3ff820, + 0x19614: 0x6d0e8a20, 0x19615: 0x6cc07420, 0x19616: 0x6d2fbc20, 0x19617: 0x6c6f1a20, + 0x19618: 0x6cdf2820, + 0x1961f: 0x6cea0820, + 0x19620: 0x6c8bc220, 0x19621: 0x6c6f2620, 0x19622: 0x6d2c8220, 0x19623: 0x6d038620, + 0x19624: 0x6c56ba20, 0x19626: 0x6d071020, + 0x1962a: 0x6c254c20, 0x1962b: 0x6cbeb020, + 0x1962c: 0x6ca14e20, 0x1962e: 0x6d2a2220, 0x1962f: 0x6c084c20, + 0x19630: 0x6c1ace20, 0x19633: 0x6d0ebc20, + 0x19634: 0x6c443620, 0x19635: 0x6ca16220, 0x19636: 0x6c075c20, 0x19637: 0x6c732820, + 0x19638: 0x6c2ee620, 0x19639: 0x6d2fe020, 0x1963b: 0x6cf3ea20, + 0x1963c: 0x6d0ebe20, 0x1963e: 0x6c74c620, 0x1963f: 0x6cfade20, + // Block 0x659, offset 0x19640 + 0x19640: 0x6cdf4a20, 0x19641: 0x6c4e6620, 0x19643: 0x6c2d2c20, + 0x19644: 0x6c62ac20, 0x19645: 0x6c6b6020, 0x19647: 0x6d414c20, + 0x19649: 0x6d025820, 0x1964a: 0x6c7f7620, 0x1964b: 0x6c38e220, + 0x1964c: 0x6c5e4020, 0x1964d: 0x6cf92820, 0x1964e: 0x6ca8b620, 0x1964f: 0x6c9cb820, + 0x19650: 0x6cc49c20, 0x19651: 0x6c24c220, 0x19652: 0x6d1a3220, 0x19653: 0x6c9d2820, + 0x19655: 0x6c747e20, 0x19656: 0x6cc0ea20, 0x19657: 0x6ce73820, + 0x19658: 0x6ced7a20, 0x19659: 0x6d2ffc20, 0x1965a: 0x6c84fe20, 0x1965b: 0x6cce9c20, + 0x1965c: 0x6c79a620, 0x1965d: 0x6cfa7e20, 0x1965e: 0x6d301e20, 0x1965f: 0x6d33c420, + 0x19660: 0x6ce5be20, 0x19661: 0x6cd4bc20, 0x19662: 0x6c073e20, 0x19663: 0x6d136220, + 0x19664: 0x6cb14c20, 0x19665: 0x6c164420, 0x19666: 0x6c563e20, 0x19667: 0x6c791620, + 0x19668: 0x6c6f4a20, 0x19669: 0x6c011620, 0x1966a: 0x6c213020, 0x1966b: 0x6cb97620, + 0x1966c: 0x6c06ea20, 0x1966d: 0x6c032620, 0x1966e: 0x6c3b6020, 0x1966f: 0x6c77d620, + 0x19670: 0x6ceafc20, 0x19671: 0x6ceafe20, 0x19672: 0x6d423020, 0x19673: 0x6c8cbc20, + 0x19675: 0x6c4aea20, 0x19676: 0x6d0be620, 0x19677: 0x6cd35420, + 0x19678: 0x6c545220, 0x19679: 0x6c8b0020, 0x1967a: 0x6ccbee20, 0x1967b: 0x6cd8b220, + 0x1967d: 0x6c071020, 0x1967e: 0x6cc5e820, 0x1967f: 0x6c319820, + // Block 0x65a, offset 0x19680 + 0x19680: 0x6c0eec20, 0x19681: 0x6c895620, 0x19682: 0x6cba0c20, 0x19683: 0x6c3aac20, + 0x19684: 0x6c624220, 0x19685: 0x6d3ffa20, 0x19686: 0x6c5ac820, 0x19687: 0x6c514020, + 0x19688: 0x6c83e420, 0x19689: 0x6d259620, 0x1968a: 0x6d26ce20, 0x1968b: 0x6d04e620, + 0x1968c: 0x6c15d620, 0x1968d: 0x6c2b8c20, 0x1968e: 0x6c825020, 0x1968f: 0x6c6cae20, + 0x19690: 0x6c1d1c20, 0x19691: 0x6cd8ec20, 0x19692: 0x6cb49a20, 0x19693: 0x6d11d420, + 0x19694: 0x6c678620, 0x19695: 0x6c583620, 0x19696: 0x6c595620, 0x19697: 0x6ce1f620, + 0x19698: 0x6cc82c20, 0x19699: 0x6cf26620, 0x1969a: 0x6d1ccc20, 0x1969b: 0x6cc53420, + 0x1969c: 0x6d1a3420, 0x1969d: 0x6cd30e20, 0x1969e: 0x6d1a2620, 0x1969f: 0x6c73e220, + 0x196a0: 0x6cea4020, 0x196a1: 0x6d080020, 0x196a2: 0x6c632e20, 0x196a3: 0x6d379e20, + 0x196a4: 0x6cbc9820, 0x196a5: 0x6d3ab220, 0x196a6: 0x6c2db020, + 0x196a8: 0x6d201820, 0x196ab: 0x6d14a420, + 0x196ac: 0x6cd2c220, 0x196ad: 0x6d16fa20, 0x196ae: 0x6ca0e820, + 0x196b1: 0x6cc3ae20, 0x196b2: 0x6cfea420, 0x196b3: 0x6cf3ba20, + 0x196b4: 0x6c44c020, 0x196b5: 0x6d1ce620, 0x196b6: 0x6ce66820, 0x196b7: 0x6cd2c620, + 0x196b8: 0x6ca5cc20, 0x196b9: 0x6c44c620, 0x196ba: 0x6cde5020, 0x196bb: 0x6cf28a20, + 0x196bc: 0x6c711820, 0x196bd: 0x6c15a820, 0x196be: 0x6cb19620, 0x196bf: 0x6d3d5420, + // Block 0x65b, offset 0x196c0 + 0x196c0: 0x6c54c420, 0x196c1: 0x6ca4fa20, 0x196c2: 0x6d0c9820, 0x196c3: 0x6c468620, + 0x196c4: 0x6d225c20, 0x196c5: 0x6c540420, 0x196c7: 0x6cd7f620, + 0x196c8: 0x6c1aba20, 0x196c9: 0x6c56a420, 0x196ca: 0x6d105220, 0x196cb: 0x6cf22e20, + 0x196cc: 0x6cfcd020, 0x196cd: 0x6cb21020, 0x196ce: 0x6cc69c20, 0x196cf: 0x6c90a820, + 0x196d0: 0x6c81b420, 0x196d1: 0x6cccfe20, 0x196d2: 0x6cfef020, 0x196d3: 0x6d2ae220, + 0x196d4: 0x6c4d7820, 0x196d5: 0x6c38b420, 0x196d6: 0x6c4e6220, 0x196d7: 0x6c14d420, + 0x196d8: 0x6d2e7620, 0x196da: 0x6cde1620, 0x196db: 0x6d3b2a20, + 0x196dc: 0x6ca9c820, 0x196dd: 0x6c4f1820, 0x196de: 0x6d21b620, 0x196df: 0x6d3db420, + 0x196e0: 0x6d205c20, 0x196e1: 0x6c86fc20, 0x196e2: 0x6c5e2a20, 0x196e3: 0x6cf73e20, + 0x196e4: 0x6cfb0020, 0x196e5: 0x6c155820, 0x196e6: 0x6c889420, + 0x196e8: 0x6cd7be20, 0x196e9: 0x6c6fce20, 0x196ea: 0x6cb42820, 0x196eb: 0x6cbffc20, + 0x196ec: 0x6c45d620, 0x196ed: 0x6d3ee820, 0x196ee: 0x6d20bc20, + 0x196f1: 0x6cc62820, 0x196f2: 0x6ca98420, 0x196f3: 0x6c99d820, + 0x196f4: 0x6c032820, 0x196f5: 0x6c6f9820, 0x196f7: 0x6d069620, + 0x196f8: 0x6cb29020, 0x196f9: 0x6c0b8a20, 0x196fa: 0x6c995420, + 0x196ff: 0x6d14ce20, + // Block 0x65c, offset 0x19700 + 0x19700: 0x6d20f620, 0x19702: 0x6cb29220, 0x19703: 0x6cc0f220, + 0x19704: 0x6c05f420, 0x19705: 0x6c5bae20, + 0x19709: 0x6c109420, 0x1970a: 0x6c985820, 0x1970b: 0x6c7e7020, + 0x1970c: 0x6ce8a820, 0x1970d: 0x6cf3c220, 0x1970e: 0x6c85ec20, 0x1970f: 0x6c8cea20, + 0x19711: 0x6c620220, 0x19712: 0x6c75bc20, 0x19713: 0x6d405620, + 0x19714: 0x6c349220, 0x19715: 0x6c745020, 0x19716: 0x6c277020, 0x19717: 0x6c073220, + 0x1971d: 0x6c7e8020, 0x1971e: 0x6c0d3e20, 0x1971f: 0x6cdbf820, + 0x19720: 0x6ce8c220, 0x19721: 0x6d08e220, + 0x19727: 0x6c350c20, + 0x1972a: 0x6cdc5420, 0x1972b: 0x6c0a2e20, + 0x1972c: 0x6ce87420, 0x1972d: 0x6ccb4a20, 0x1972e: 0x6c120020, 0x1972f: 0x6ce8e420, + 0x19730: 0x6c9e3620, 0x19731: 0x6c6c5220, 0x19732: 0x6c93b020, + 0x19735: 0x6d2e8020, 0x19736: 0x6c08f620, 0x19737: 0x6c60ac20, + 0x19738: 0x6d2b7420, 0x19739: 0x6d07d620, 0x1973a: 0x6c86a020, + 0x1973d: 0x6cdc8220, 0x1973e: 0x6d1dc220, 0x1973f: 0x6cd57620, + // Block 0x65d, offset 0x19740 + 0x19742: 0x6c358620, + 0x19747: 0x6cbf8620, + 0x19748: 0x6c958020, 0x19749: 0x6d322220, 0x1974a: 0x6cea4620, 0x1974b: 0x6c46fe20, + 0x1974c: 0x6d223c20, 0x1974d: 0x6c82be20, 0x1974e: 0x6c0eee20, 0x1974f: 0x6ca56e20, + 0x19750: 0x6cb12020, 0x19751: 0x6c890e20, 0x19752: 0x6ce17a20, 0x19753: 0x6c883820, + 0x19754: 0x6cf16220, 0x19755: 0x6c291020, 0x19756: 0x6c87be20, 0x19757: 0x6ce65e20, + 0x19758: 0x6cec1820, 0x19759: 0x6d390220, 0x1975a: 0x6c426620, 0x1975b: 0x6d03d220, + 0x1975c: 0x6c021420, 0x1975d: 0x6c393820, 0x1975e: 0x6caf0e20, 0x1975f: 0x6c0eda20, + 0x19760: 0x6ceb0620, 0x19761: 0x6cd4d020, 0x19762: 0x6d14e420, 0x19763: 0x6c0ef020, + 0x19764: 0x6cbcb820, 0x19765: 0x6ce80e20, 0x19766: 0x6c45e820, 0x19767: 0x6ce74820, + 0x19768: 0x6c4e1220, 0x19769: 0x6c1a0820, 0x1976a: 0x6c6ace20, 0x1976b: 0x6c593a20, + 0x1976c: 0x6d042c20, 0x1976d: 0x6c2d6220, 0x1976e: 0x6c146a20, 0x1976f: 0x6c308020, + 0x19770: 0x6caffc20, 0x19771: 0x6cc86a20, 0x19772: 0x6c8b2220, 0x19773: 0x6cd14020, + 0x19774: 0x6cab8420, 0x19775: 0x6c2c8020, 0x19776: 0x6d217020, 0x19777: 0x6c200220, + 0x19778: 0x6cc6a220, 0x19779: 0x6c774820, 0x1977a: 0x6ce12420, 0x1977b: 0x6c23b620, + 0x1977c: 0x6cb18220, 0x1977d: 0x6c209820, 0x1977e: 0x6c92ce20, 0x1977f: 0x6ce79020, + // Block 0x65e, offset 0x19780 + 0x19780: 0x6d336620, 0x19781: 0x6c86a420, 0x19782: 0x6cc9a020, 0x19783: 0x6cac4420, + 0x19784: 0x6cd82e20, 0x19786: 0x6c291220, 0x19787: 0x6c55de20, + 0x19788: 0x6d190c20, 0x19789: 0x6cfd3220, 0x1978a: 0x6d028020, 0x1978b: 0x6c958820, + 0x1978c: 0x6c8f5e20, 0x1978e: 0x6cdfea20, 0x1978f: 0x6c422e20, + 0x19791: 0x6ce01c20, + 0x19795: 0x6d1ef020, 0x19796: 0x6ca3e020, + 0x19798: 0x6c429a20, 0x19799: 0x6c759820, 0x1979a: 0x6c1bfe20, 0x1979b: 0x6c464020, + 0x1979c: 0x6cecfa20, 0x1979d: 0x6c85ee20, 0x1979e: 0x6c8e5420, 0x1979f: 0x6c8b0a20, + 0x197a0: 0x6cf9c420, 0x197a1: 0x6c06ac20, 0x197a2: 0x6c018a20, 0x197a3: 0x6d237220, + 0x197a4: 0x6c713220, 0x197a5: 0x6cc75820, 0x197a6: 0x6d0a3420, 0x197a7: 0x6d3e7a20, + 0x197a8: 0x6c25ee20, 0x197a9: 0x6c120620, 0x197aa: 0x6d2baa20, 0x197ab: 0x6d1dc420, + 0x197ac: 0x6c407420, 0x197ad: 0x6cc88a20, 0x197af: 0x6cf7cc20, + 0x197b0: 0x6cd5e620, 0x197b1: 0x6c68c020, 0x197b2: 0x6c68c220, 0x197b3: 0x6d057020, + 0x197b4: 0x6d2f2620, 0x197b7: 0x6cd71220, + 0x197b8: 0x6c18a820, 0x197b9: 0x6c390820, 0x197ba: 0x6c5ff820, 0x197bb: 0x6d33a820, + 0x197bd: 0x6c480420, 0x197be: 0x6cf4d620, + // Block 0x65f, offset 0x197c0 + 0x197c0: 0x6cbcae20, 0x197c1: 0x6cd5bc20, 0x197c2: 0x6c4d1420, 0x197c3: 0x6ceb0820, + 0x197c4: 0x6c319020, 0x197c5: 0x6d3f0220, 0x197c6: 0x6cc46e20, 0x197c7: 0x6ca27820, + 0x197c8: 0x6c3fd020, 0x197c9: 0x6c8cca20, 0x197ca: 0x6c601e20, 0x197cb: 0x6d04ce20, + 0x197cc: 0x6d084c20, 0x197cd: 0x6ca37820, 0x197ce: 0x6d0aee20, 0x197cf: 0x6c6be020, + 0x197d0: 0x6c85f020, 0x197d1: 0x6c269c20, 0x197d2: 0x6cc7a020, 0x197d3: 0x6d24ee20, + 0x197d4: 0x6c939c20, 0x197d5: 0x6cd06220, 0x197d6: 0x6c851820, 0x197d7: 0x6c89bc20, + 0x197d8: 0x6c450e20, 0x197d9: 0x6d033820, 0x197da: 0x6d004420, 0x197db: 0x6cbdd820, + 0x197dc: 0x6cbcc220, 0x197dd: 0x6c182020, 0x197de: 0x6d1f3c20, 0x197df: 0x6c109a20, + 0x197e0: 0x6c7bc220, 0x197e1: 0x6cc3be20, 0x197e2: 0x6c00aa20, 0x197e3: 0x6cbd3420, + 0x197e4: 0x6cbac020, 0x197e5: 0x6c1f5220, 0x197e6: 0x6cae1e20, 0x197e7: 0x6c7e0620, + 0x197e8: 0x6d13fa20, 0x197e9: 0x6c48ce20, 0x197ea: 0x6cd14220, 0x197eb: 0x6cb0fa20, + 0x197ed: 0x6d393820, 0x197ee: 0x6c59de20, 0x197ef: 0x6c5ad620, + 0x197f0: 0x6c557e20, 0x197f1: 0x6c074220, + 0x197f4: 0x6d2bec20, 0x197f5: 0x6c624620, 0x197f6: 0x6c47c220, 0x197f7: 0x6cf6a420, + 0x197f8: 0x6c431620, 0x197f9: 0x6c148620, 0x197fa: 0x6c96d620, 0x197fb: 0x6d3b2020, + 0x197fc: 0x6ce9ea20, 0x197fd: 0x6d3ca020, 0x197fe: 0x6cface20, 0x197ff: 0x6c80de20, + // Block 0x660, offset 0x19800 + 0x19803: 0x6d36e820, + 0x19804: 0x6c00cc20, 0x19805: 0x6cfc2e20, 0x19806: 0x6c4c3c20, 0x19807: 0x6cf7a220, + 0x19809: 0x6ce9f020, 0x1980a: 0x6c11de20, 0x1980b: 0x6ccb0420, + 0x1980c: 0x6cfaea20, 0x1980d: 0x6c6c0e20, 0x1980e: 0x6c3bfa20, 0x1980f: 0x6cc45a20, + 0x19811: 0x6d123a20, 0x19812: 0x6c29fa20, 0x19813: 0x6c63f420, + 0x19814: 0x6c82fc20, 0x19815: 0x6d0d0220, 0x19816: 0x6c918e20, 0x19817: 0x6ce9d620, + 0x19818: 0x6d1cd220, 0x19819: 0x6cb0de20, 0x1981a: 0x6c964a20, 0x1981b: 0x6c87a420, + 0x1981c: 0x6c0d1220, 0x1981e: 0x6c995620, 0x1981f: 0x6c040e20, + 0x19820: 0x6c5a6a20, 0x19822: 0x6d121220, 0x19823: 0x6c50a420, + 0x19824: 0x6c218420, 0x19825: 0x6c516420, 0x19826: 0x6ca95620, 0x19827: 0x6c1e0220, + 0x19828: 0x6c874620, 0x19829: 0x6ce19420, 0x1982a: 0x6c585a20, 0x1982b: 0x6c095420, + 0x1982c: 0x6c033420, 0x1982d: 0x6c181020, 0x1982e: 0x6d104620, 0x1982f: 0x6c269e20, + 0x19830: 0x6c024420, 0x19831: 0x6d091020, 0x19833: 0x6d3e5220, + 0x19834: 0x6c265a20, 0x19835: 0x6cc4ce20, 0x19836: 0x6c053820, 0x19837: 0x6c25f020, + 0x19838: 0x6ced4e20, 0x19839: 0x6cdebe20, 0x1983a: 0x6c05dc20, 0x1983b: 0x6c417a20, + 0x1983c: 0x6d0c7620, 0x1983d: 0x6cf5a620, 0x1983e: 0x6d3ad420, 0x1983f: 0x6d0b4e20, + // Block 0x661, offset 0x19840 + 0x19840: 0x6c393a20, 0x19841: 0x6d203c20, 0x19842: 0x6c012820, 0x19843: 0x6ce9a420, + 0x19844: 0x6c9b2020, 0x19845: 0x6ccf5c20, 0x19846: 0x6c6d2e20, 0x19847: 0x6c47ce20, + 0x19848: 0x6c627820, 0x19849: 0x6cbc0020, 0x1984a: 0x6c695820, 0x1984b: 0x6d0d0420, + 0x1984c: 0x6cf92e20, 0x1984d: 0x6c772020, 0x1984e: 0x6c9e0220, 0x1984f: 0x6d086a20, + 0x19850: 0x6cccc420, 0x19851: 0x6cf2d820, 0x19852: 0x6cb8b420, 0x19853: 0x6c58f620, + 0x19854: 0x6cc5d020, 0x19855: 0x6d322420, 0x19856: 0x6ce45c20, 0x19857: 0x6c740020, + 0x19858: 0x6d008620, 0x19859: 0x6cb75820, 0x1985a: 0x6c01f820, 0x1985b: 0x6c9a8220, + 0x1985c: 0x6c476820, 0x1985e: 0x6ce1b820, 0x1985f: 0x6c389220, + 0x19860: 0x6c722c20, 0x19861: 0x6c162820, 0x19862: 0x6cd74c20, 0x19863: 0x6c096820, + 0x19864: 0x6c996220, 0x19865: 0x6cd77820, 0x19866: 0x6c477220, 0x19867: 0x6c53a420, + 0x19868: 0x6c579620, 0x19869: 0x6c95fe20, 0x1986a: 0x6c4f7420, 0x1986b: 0x6c63b820, + 0x1986c: 0x6cc2e220, 0x1986d: 0x6c40f420, 0x1986e: 0x6c599020, 0x1986f: 0x6c103c20, + 0x19870: 0x6c478e20, 0x19871: 0x6c3c4e20, 0x19872: 0x6ca28820, 0x19873: 0x6c009c20, + 0x19874: 0x6d1cee20, 0x19875: 0x6cd75020, 0x19876: 0x6c89be20, 0x19877: 0x6c6ad020, + 0x19878: 0x6c1c2220, 0x19879: 0x6c6ad220, 0x1987a: 0x6c1d7020, 0x1987b: 0x6cb2e820, + 0x1987c: 0x6c186a20, 0x1987d: 0x6d0c9a20, 0x1987e: 0x6c321c20, 0x1987f: 0x6c2c5a20, + // Block 0x662, offset 0x19880 + 0x19881: 0x6c89c220, 0x19882: 0x6cfcd220, 0x19883: 0x6c0c0420, + 0x19884: 0x6d042e20, 0x19885: 0x6c9bda20, 0x19886: 0x6d130220, 0x19887: 0x6c9d5e20, + 0x19888: 0x6cb7a020, 0x19889: 0x6cb7a220, 0x1988a: 0x6cf30620, 0x1988b: 0x6d01dc20, + 0x1988c: 0x6d239820, 0x1988d: 0x6cb87020, 0x1988e: 0x6c1a2820, 0x1988f: 0x6d11c220, + 0x19890: 0x6d1bd420, 0x19891: 0x6d0fd420, 0x19892: 0x6c606820, 0x19893: 0x6d3fa220, + 0x19894: 0x6d07b220, 0x19895: 0x6c9f6e20, 0x19896: 0x6c907620, 0x19897: 0x6c766e20, + 0x19898: 0x6d11ca20, 0x19899: 0x6d0dcc20, 0x1989a: 0x6cdcfa20, 0x1989b: 0x6c4b6c20, + 0x1989c: 0x6c5a7a20, 0x1989d: 0x6d1c8e20, 0x1989e: 0x6cd14420, 0x1989f: 0x6c140220, + 0x198a0: 0x6c883c20, 0x198a2: 0x6d082420, 0x198a3: 0x6c200e20, + 0x198a4: 0x6c184220, 0x198a5: 0x6ca6ca20, 0x198a6: 0x6cc27820, 0x198a7: 0x6c9e7e20, + 0x198a8: 0x6c5dfe20, 0x198a9: 0x6d21a420, 0x198aa: 0x6d2e1620, 0x198ab: 0x6c55c820, + 0x198ac: 0x6c136020, 0x198ad: 0x6c0c2c20, 0x198ae: 0x6cb9d020, 0x198af: 0x6cf6ee20, + 0x198b0: 0x6c67c220, 0x198b1: 0x6c79c620, 0x198b2: 0x6c970220, 0x198b3: 0x6c98a220, + 0x198b4: 0x6d2e2220, 0x198b5: 0x6c0b5c20, 0x198b6: 0x6c5f6c20, 0x198b7: 0x6c74d820, + 0x198b8: 0x6ca45820, 0x198b9: 0x6c0a9020, 0x198ba: 0x6cd3f420, 0x198bb: 0x6cd7ac20, + 0x198bc: 0x6ca18820, 0x198bd: 0x6c8b6420, 0x198be: 0x6c9f0820, 0x198bf: 0x6ca19420, + // Block 0x663, offset 0x198c0 + 0x198c0: 0x6cf74820, 0x198c1: 0x6c156820, 0x198c2: 0x6cc21620, 0x198c3: 0x6c69e620, + 0x198c4: 0x6c5e5a20, 0x198c5: 0x6cfb1a20, 0x198c6: 0x6d068820, 0x198c7: 0x6ca98820, + 0x198c8: 0x6ce74020, 0x198c9: 0x6c542220, 0x198ca: 0x6d240e20, + 0x198cc: 0x6c1ce220, 0x198cd: 0x6c0fbc20, 0x198ce: 0x6d415820, 0x198cf: 0x6c2dba20, + 0x198d0: 0x6d3cfa20, 0x198d1: 0x6c5ea620, 0x198d2: 0x6cb86220, + 0x198d4: 0x6d043020, 0x198d5: 0x6c5c0020, 0x198d6: 0x6cd23420, 0x198d7: 0x6c7a1e20, + 0x198d9: 0x6c32f220, 0x198da: 0x6d10da20, 0x198db: 0x6d20da20, + 0x198dc: 0x6c056420, 0x198dd: 0x6c6a9220, 0x198de: 0x6d30e820, 0x198df: 0x6c634620, + 0x198e0: 0x6cd2c820, 0x198e1: 0x6c2bea20, 0x198e2: 0x6c302a20, 0x198e3: 0x6c223a20, + 0x198e4: 0x6c3fd220, 0x198e5: 0x6c9f4020, 0x198e6: 0x6d314020, 0x198e7: 0x6d31d020, + 0x198e9: 0x6d0e6420, 0x198ea: 0x6cbc2020, 0x198eb: 0x6c4f4e20, + 0x198ec: 0x6c45ea20, 0x198ed: 0x6cbb6e20, 0x198ee: 0x6c94a220, 0x198ef: 0x6c48f620, + 0x198f0: 0x6c7e7620, 0x198f1: 0x6cc8ce20, 0x198f2: 0x6c383420, 0x198f3: 0x6c260a20, + 0x198f4: 0x6d0c9c20, 0x198f5: 0x6c458a20, 0x198f6: 0x6c6ad420, 0x198f7: 0x6c48d020, + 0x198f8: 0x6c4c7020, 0x198f9: 0x6cdd7c20, 0x198fa: 0x6cf2ba20, 0x198fb: 0x6d335220, + 0x198fc: 0x6ca84220, 0x198fd: 0x6c2e2c20, 0x198fe: 0x6c7f3c20, 0x198ff: 0x6cde6420, + // Block 0x664, offset 0x19900 + 0x19900: 0x6c254620, 0x19901: 0x6d0af420, 0x19902: 0x6c4bd020, + 0x19905: 0x6c2b3420, 0x19907: 0x6c9dc820, + 0x19908: 0x6c6a2a20, 0x19909: 0x6c9f7020, 0x1990a: 0x6c71ca20, 0x1990b: 0x6d217420, + 0x1990c: 0x6d318020, 0x1990d: 0x6d2fc820, 0x1990e: 0x6d2cd220, 0x1990f: 0x6d038820, + 0x19911: 0x6c049420, 0x19912: 0x6c516620, 0x19913: 0x6c46d220, + 0x19914: 0x6c538220, 0x19915: 0x6c816e20, 0x19916: 0x6cf51620, 0x19917: 0x6c0e8c20, + 0x19918: 0x6c795420, 0x19919: 0x6c92d420, 0x1991a: 0x6c246420, 0x1991b: 0x6c885020, + 0x1991c: 0x6d141820, 0x1991d: 0x6cbc6020, 0x1991e: 0x6cd53820, + 0x19920: 0x6d08b220, 0x19921: 0x6c6c6220, 0x19922: 0x6cbd4220, 0x19923: 0x6c5b7020, + 0x19924: 0x6cdb3620, 0x19925: 0x6c207c20, 0x19926: 0x6c33b420, 0x19927: 0x6c8fb220, + 0x19929: 0x6ca4c820, 0x1992a: 0x6ce02220, 0x1992b: 0x6c285220, + 0x1992c: 0x6cf03e20, 0x1992d: 0x6c41f220, 0x1992e: 0x6c26c620, 0x1992f: 0x6c86d420, + 0x19930: 0x6c10de20, 0x19931: 0x6cfd3e20, 0x19932: 0x6cac8c20, 0x19933: 0x6c7eb620, + 0x19934: 0x6d39ec20, 0x19935: 0x6ca7c420, 0x19936: 0x6c580220, 0x19937: 0x6d1cce20, + 0x19938: 0x6cfd4620, 0x19939: 0x6c809020, 0x1993a: 0x6ca0a020, 0x1993b: 0x6c03e220, + 0x1993d: 0x6c4adc20, 0x1993e: 0x6c08c620, 0x1993f: 0x6c3d5020, + // Block 0x665, offset 0x19940 + 0x19940: 0x6c5da820, 0x19941: 0x6d173c20, 0x19942: 0x6c8f2c20, + 0x19944: 0x6d19cc20, 0x19945: 0x6c735c20, 0x19946: 0x6c5d7420, 0x19947: 0x6c1a0a20, + 0x19948: 0x6c311c20, 0x19949: 0x6c356a20, 0x1994b: 0x6d0da620, + 0x1994c: 0x6d3c9420, 0x1994d: 0x6d2cce20, 0x1994e: 0x6cb70420, 0x1994f: 0x6d216220, + 0x19950: 0x6cc37620, 0x19951: 0x6c5d7a20, 0x19952: 0x6ca84420, 0x19953: 0x6c59e220, + 0x19954: 0x6c71cc20, 0x19955: 0x6ccf6820, + 0x19958: 0x6caebe20, 0x19959: 0x6ca01820, 0x1995a: 0x6c129220, 0x1995b: 0x6c90ba20, + 0x1995c: 0x6c843e20, 0x1995d: 0x6c205e20, 0x1995f: 0x6c24f020, + 0x19960: 0x6ccdc820, 0x19961: 0x6c280a20, 0x19962: 0x6cb68220, + 0x19964: 0x6c7f7a20, 0x19965: 0x6c8de620, 0x19966: 0x6c8a6220, 0x19967: 0x6cc62220, + 0x19968: 0x6d20c820, 0x19969: 0x6d16ca20, 0x1996a: 0x6c2df820, 0x1996b: 0x6cb6dc20, + 0x1996c: 0x6d147820, 0x1996d: 0x6ca6f420, 0x1996e: 0x6c3d5220, 0x1996f: 0x6c657420, + 0x19970: 0x6d0b1c20, 0x19971: 0x6c398c20, 0x19972: 0x6cc8c420, 0x19973: 0x6cfa8c20, + 0x19976: 0x6c096a20, 0x19977: 0x6cd25e20, + 0x19978: 0x6cb38020, 0x19979: 0x6ca6fc20, 0x1997a: 0x6d35f620, 0x1997b: 0x6ce22020, + 0x1997c: 0x6ce4f020, 0x1997d: 0x6ce4f220, 0x1997e: 0x6cc81620, 0x1997f: 0x6d176a20, + // Block 0x666, offset 0x19980 + 0x19980: 0x6c8b0420, 0x19981: 0x6c01bc20, 0x19982: 0x6c511020, 0x19983: 0x6cbf1620, + 0x19984: 0x6c85f420, 0x19985: 0x6c4a5c20, 0x19986: 0x6d3f4a20, 0x19987: 0x6cdaaa20, + 0x19988: 0x6d261020, 0x19989: 0x6d0ba220, 0x1998a: 0x6c13dc20, 0x1998b: 0x6ced2420, + 0x1998c: 0x6c72f420, 0x1998d: 0x6ce6cc20, 0x1998e: 0x6d1fd020, 0x1998f: 0x6c5bc620, + 0x19990: 0x6c659c20, 0x19991: 0x6cc89e20, 0x19992: 0x6c986420, 0x19993: 0x6c71b820, + 0x19994: 0x6d3e5620, 0x19995: 0x6c70a820, 0x19996: 0x6c013a20, 0x19997: 0x6cdc5020, + 0x19998: 0x6c7f1620, 0x19999: 0x6c5d3020, 0x1999a: 0x6cc35e20, 0x1999b: 0x6c167220, + 0x1999c: 0x6c34fa20, 0x1999d: 0x6c798020, 0x1999e: 0x6ca55020, 0x1999f: 0x6c11d220, + 0x199a0: 0x6ce35620, 0x199a1: 0x6d064c20, 0x199a2: 0x6c701020, 0x199a3: 0x6c59e420, + 0x199a4: 0x6cb7b820, 0x199a5: 0x6c6b0e20, 0x199a6: 0x6c98f220, 0x199a7: 0x6d0c2020, + 0x199a9: 0x6d354820, 0x199aa: 0x6ce9b020, + 0x199ac: 0x6c00c220, 0x199ad: 0x6cad0a20, 0x199ae: 0x6c125a20, 0x199af: 0x6ce12820, + 0x199b0: 0x6c372220, 0x199b1: 0x6c5d3c20, 0x199b2: 0x6cb63e20, 0x199b3: 0x6c1ea620, + 0x199b4: 0x6cdd9020, 0x199b5: 0x6d3d8820, 0x199b6: 0x6caa2620, 0x199b7: 0x6ce8f220, + 0x199b8: 0x6cd01a20, 0x199b9: 0x6c90f820, 0x199ba: 0x6c0c2020, 0x199bb: 0x6c844020, + 0x199bc: 0x6c977c20, 0x199bd: 0x6d02f020, 0x199be: 0x6c133c20, 0x199bf: 0x6c5a0a20, + // Block 0x667, offset 0x199c0 + 0x199c0: 0x6c9a6c20, 0x199c1: 0x6c42e620, 0x199c2: 0x6c887620, 0x199c3: 0x6c2a3e20, + 0x199c4: 0x6d2e2420, 0x199c5: 0x6d3eaa20, + 0x199c8: 0x6d375620, 0x199c9: 0x6c03d020, 0x199ca: 0x6c258a20, 0x199cb: 0x6cbfe420, + 0x199cd: 0x6c8fea20, 0x199ce: 0x6cfb0a20, 0x199cf: 0x6c3afa20, + 0x199d0: 0x6c4cac20, 0x199d1: 0x6c19b820, 0x199d2: 0x6c6fda20, 0x199d3: 0x6c35f620, + 0x199d4: 0x6c1cb420, 0x199d5: 0x6d269220, 0x199d6: 0x6c531620, 0x199d7: 0x6d119e20, + 0x199d8: 0x6d0ae220, 0x199d9: 0x6d10e620, 0x199da: 0x6ce74420, 0x199db: 0x6d2cc020, + 0x199dc: 0x6d204020, 0x199dd: 0x6d095620, 0x199de: 0x6d11aa20, 0x199df: 0x6c78a820, + 0x199e0: 0x6c591620, 0x199e1: 0x6c80cc20, 0x199e2: 0x6d26ba20, 0x199e3: 0x6c18ca20, + 0x199e6: 0x6cd0b220, + 0x199e8: 0x6ca90e20, 0x199e9: 0x6ca00a20, 0x199ea: 0x6c52ba20, 0x199eb: 0x6c205820, + 0x199ec: 0x6d27fe20, 0x199ed: 0x6d07be20, 0x199ee: 0x6c6d4420, 0x199ef: 0x6d3d9c20, + 0x199f0: 0x6d209c20, 0x199f1: 0x6cdfbc20, 0x199f2: 0x6c775420, 0x199f3: 0x6cbf6420, + 0x199f5: 0x6c1a4c20, 0x199f6: 0x6c6f8820, 0x199f7: 0x6d097620, + 0x199f8: 0x6d32fa20, 0x199f9: 0x6c1ce420, 0x199fa: 0x6cac4a20, 0x199fb: 0x6cbc6620, + 0x199fd: 0x6cc1e620, 0x199fe: 0x6c7fd620, 0x199ff: 0x6d190e20, + // Block 0x668, offset 0x19a00 + 0x19a00: 0x6cc6de20, 0x19a01: 0x6cd84e20, 0x19a02: 0x6cb89c20, 0x19a03: 0x6cd89220, + 0x19a05: 0x6c380420, 0x19a07: 0x6c9b1020, + 0x19a08: 0x6c578e20, 0x19a0b: 0x6c4d6620, + 0x19a0c: 0x6cbc4420, 0x19a0d: 0x6c1f4620, 0x19a0e: 0x6cc3d420, 0x19a0f: 0x6c334e20, + 0x19a10: 0x6c863820, 0x19a11: 0x6c03b820, 0x19a12: 0x6c6c0420, 0x19a13: 0x6d05ee20, + 0x19a14: 0x6c963620, 0x19a16: 0x6d27de20, 0x19a17: 0x6d37ae20, + 0x19a18: 0x6c568220, 0x19a19: 0x6d1ad220, 0x19a1b: 0x6d351020, + 0x19a1c: 0x6cb9fa20, 0x19a1e: 0x6c419420, 0x19a1f: 0x6c667c20, + 0x19a20: 0x6d3ae220, 0x19a21: 0x6d3ae420, 0x19a22: 0x6c7a7820, 0x19a23: 0x6ca81a20, + 0x19a24: 0x6cc8ca20, 0x19a25: 0x6d2ac220, 0x19a26: 0x6c020820, 0x19a27: 0x6d363820, + 0x19a28: 0x6c461a20, 0x19a29: 0x6d17b220, 0x19a2a: 0x6c1ab020, 0x19a2b: 0x6c5ed620, + 0x19a2c: 0x6d39a620, 0x19a2d: 0x6c81b220, 0x19a2e: 0x6cc5ee20, 0x19a2f: 0x6cc67620, + 0x19a30: 0x6d32c620, 0x19a31: 0x6ca34220, 0x19a32: 0x6c12ec20, + 0x19a35: 0x6d151e20, 0x19a36: 0x6c746820, 0x19a37: 0x6c0cee20, + 0x19a38: 0x6c1a1e20, 0x19a39: 0x6c75ce20, 0x19a3a: 0x6c312620, 0x19a3b: 0x6cefe420, + 0x19a3c: 0x6d17fa20, 0x19a3d: 0x6d306020, 0x19a3e: 0x6d0cae20, + // Block 0x669, offset 0x19a40 + 0x19a40: 0x6cca0220, 0x19a41: 0x6c950220, 0x19a42: 0x6cb2be20, 0x19a43: 0x6d2f9020, + 0x19a44: 0x6c4e2020, 0x19a45: 0x6d239a20, 0x19a46: 0x6c278220, 0x19a47: 0x6d2fca20, + 0x19a48: 0x6c3a3e20, 0x19a49: 0x6ccc6620, 0x19a4a: 0x6c8d3820, 0x19a4b: 0x6cde7a20, + 0x19a4c: 0x6cc12220, 0x19a4d: 0x6c986e20, 0x19a4e: 0x6d132c20, 0x19a4f: 0x6c05d220, + 0x19a50: 0x6c4b6e20, 0x19a51: 0x6c489e20, 0x19a52: 0x6ca43620, 0x19a53: 0x6c442420, + 0x19a55: 0x6cd28420, 0x19a56: 0x6c782820, 0x19a57: 0x6cdd9220, + 0x19a58: 0x6c225c20, 0x19a59: 0x6d394620, 0x19a5a: 0x6cdf3820, 0x19a5b: 0x6c7b3420, + 0x19a5c: 0x6cbe2420, 0x19a5d: 0x6d05d820, 0x19a5e: 0x6c322820, 0x19a5f: 0x6c131220, + 0x19a60: 0x6c58da20, 0x19a61: 0x6c234420, 0x19a62: 0x6cc9de20, 0x19a63: 0x6d336020, + 0x19a64: 0x6cb9be20, 0x19a65: 0x6c6c5420, 0x19a66: 0x6d3fb420, 0x19a67: 0x6cf00020, + 0x19a6a: 0x6cf8de20, 0x19a6b: 0x6ca36c20, + 0x19a6c: 0x6cb45420, 0x19a6d: 0x6cd9e020, 0x19a6e: 0x6c729420, 0x19a6f: 0x6d319620, + 0x19a70: 0x6cce8620, 0x19a71: 0x6ce1e820, 0x19a72: 0x6c049c20, 0x19a73: 0x6cdea020, + 0x19a74: 0x6cba7c20, 0x19a75: 0x6cf23a20, 0x19a76: 0x6cc6ae20, 0x19a77: 0x6c962820, + 0x19a78: 0x6c55ca20, 0x19a79: 0x6cda2e20, 0x19a7a: 0x6d37cc20, 0x19a7b: 0x6cb46020, + 0x19a7c: 0x6c9ef620, 0x19a7d: 0x6c6c6420, 0x19a7e: 0x6cce8a20, 0x19a7f: 0x6c9d8e20, + // Block 0x66a, offset 0x19a80 + 0x19a80: 0x6cd61c20, 0x19a81: 0x6c8d7020, 0x19a82: 0x6c82de20, 0x19a83: 0x6c67c420, + 0x19a84: 0x6c838a20, 0x19a85: 0x6d370e20, 0x19a86: 0x6c2e0020, + 0x19a88: 0x6cca2e20, 0x19a89: 0x6c473e20, 0x19a8a: 0x6c397220, 0x19a8b: 0x6c9ab220, + 0x19a8c: 0x6cdc9e20, 0x19a8d: 0x6c65f620, 0x19a8e: 0x6ce15020, 0x19a8f: 0x6d025e20, + 0x19a90: 0x6c7a6a20, 0x19a91: 0x6cf3fe20, 0x19a92: 0x6c38d220, 0x19a93: 0x6c963820, + 0x19a94: 0x6c117820, 0x19a95: 0x6c136620, 0x19a96: 0x6c8d7a20, 0x19a97: 0x6d142620, + 0x19a98: 0x6c23be20, 0x19a99: 0x6d27ce20, 0x19a9a: 0x6c9b7420, 0x19a9b: 0x6d245020, + 0x19a9c: 0x6d374220, 0x19a9d: 0x6d162020, 0x19a9e: 0x6c285620, 0x19a9f: 0x6c5e2c20, + 0x19aa0: 0x6cef5a20, 0x19aa1: 0x6ce03220, 0x19aa2: 0x6ccb7e20, 0x19aa3: 0x6d024420, + 0x19aa4: 0x6cda3620, 0x19aa5: 0x6cd97620, 0x19aa6: 0x6cb94c20, 0x19aa7: 0x6c8eda20, + 0x19aa8: 0x6d194620, 0x19aaa: 0x6c835a20, 0x19aab: 0x6c84aa20, + 0x19aac: 0x6c3af420, 0x19aad: 0x6c8b6a20, 0x19aae: 0x6c8c8820, 0x19aaf: 0x6cfd4820, + 0x19ab0: 0x6d002c20, 0x19ab1: 0x6cab6420, 0x19ab2: 0x6c9cbc20, 0x19ab3: 0x6cfb1220, + 0x19ab4: 0x6cc4f820, 0x19ab5: 0x6d3c0220, 0x19ab6: 0x6cd6be20, 0x19ab7: 0x6d0d1e20, + 0x19ab8: 0x6c0be020, 0x19ab9: 0x6c8df020, 0x19aba: 0x6c531a20, 0x19abb: 0x6cb5a620, + 0x19abc: 0x6c8a9620, 0x19abd: 0x6c04ca20, 0x19abe: 0x6c097e20, 0x19abf: 0x6c554820, + // Block 0x66b, offset 0x19ac0 + 0x19ac0: 0x6c554a20, 0x19ac2: 0x6c12f220, 0x19ac3: 0x6cae1c20, + 0x19ac4: 0x6cbf2c20, 0x19ac5: 0x6c9ffe20, 0x19ac6: 0x6c700220, 0x19ac7: 0x6c10a220, + 0x19ac8: 0x6c9a1420, 0x19ac9: 0x6cca1e20, 0x19aca: 0x6cf0a820, + 0x19acd: 0x6c841e20, 0x19ace: 0x6cc36220, + 0x19ad0: 0x6c5cfa20, 0x19ad1: 0x6cfdf220, 0x19ad3: 0x6cd3c620, + 0x19ad4: 0x6d1c9020, 0x19ad6: 0x6ca43820, 0x19ad7: 0x6c59f220, + 0x19ad8: 0x6c701a20, 0x19ad9: 0x6d0c2620, 0x19adb: 0x6cc99020, + 0x19adc: 0x6ce96220, 0x19add: 0x6d022e20, 0x19ade: 0x6d309c20, 0x19adf: 0x6c9ada20, + 0x19ae0: 0x6cf8f420, 0x19ae1: 0x6c978a20, 0x19ae3: 0x6c5a1820, + 0x19ae4: 0x6ce02420, 0x19ae5: 0x6d001420, 0x19ae6: 0x6d137220, 0x19ae7: 0x6c0a9420, + 0x19ae8: 0x6c955a20, 0x19ae9: 0x6c38d420, 0x19aea: 0x6c870620, 0x19aeb: 0x6c251220, + 0x19aec: 0x6c1fa620, 0x19aed: 0x6c2a4620, 0x19aee: 0x6c2bb620, 0x19aef: 0x6c7c1c20, + 0x19af0: 0x6c1ecc20, 0x19af1: 0x6cfb1420, 0x19af2: 0x6c165220, 0x19af3: 0x6c9cce20, + 0x19af4: 0x6cba8e20, 0x19af5: 0x6cc00820, 0x19af6: 0x6d322620, + 0x19afa: 0x6c568620, 0x19afb: 0x6c418c20, + 0x19afc: 0x6c1b9220, 0x19afd: 0x6c48f220, 0x19afe: 0x6ca27a20, 0x19aff: 0x6c0ede20, + // Block 0x66c, offset 0x19b00 + 0x19b00: 0x6c579020, 0x19b01: 0x6c44fc20, 0x19b02: 0x6d10e820, 0x19b03: 0x6c996420, + 0x19b04: 0x6cee0820, + 0x19b08: 0x6cc7a420, 0x19b09: 0x6d090820, 0x19b0a: 0x6d32b820, 0x19b0b: 0x6c9f4a20, + 0x19b0c: 0x6c67a420, 0x19b0e: 0x6d2e5a20, 0x19b0f: 0x6d423820, + 0x19b10: 0x6d26a620, 0x19b11: 0x6c8b0620, 0x19b13: 0x6d392420, + 0x19b14: 0x6c098020, 0x19b15: 0x6cc5f020, 0x19b16: 0x6d234e20, + 0x19b18: 0x6c21c020, 0x19b19: 0x6c379820, 0x19b1a: 0x6d17b420, 0x19b1b: 0x6c9cf620, + 0x19b1c: 0x6cbeca20, 0x19b1e: 0x6cee1e20, 0x19b1f: 0x6c621e20, + 0x19b20: 0x6c104020, 0x19b22: 0x6c0cae20, 0x19b23: 0x6c38a820, + 0x19b24: 0x6d26c820, 0x19b25: 0x6c83ee20, 0x19b26: 0x6c38aa20, 0x19b27: 0x6cc1a820, + 0x19b28: 0x6c3f7620, 0x19b29: 0x6c376220, 0x19b2a: 0x6c354420, 0x19b2b: 0x6d32e420, + 0x19b2c: 0x6ce47020, 0x19b2d: 0x6d239c20, 0x19b2e: 0x6c6d3020, 0x19b2f: 0x6cb70c20, + 0x19b30: 0x6c714220, 0x19b31: 0x6c7f1e20, 0x19b32: 0x6c17f020, 0x19b33: 0x6c06d020, + 0x19b34: 0x6ca9a820, 0x19b35: 0x6d186020, 0x19b36: 0x6d065420, 0x19b37: 0x6ca1e020, + 0x19b38: 0x6d0a3620, 0x19b39: 0x6c3eda20, 0x19b3b: 0x6ca8ec20, + 0x19b3c: 0x6ce64820, 0x19b3d: 0x6c082c20, 0x19b3e: 0x6d2c8a20, 0x19b3f: 0x6ceeae20, + // Block 0x66d, offset 0x19b40 + 0x19b40: 0x6c782a20, 0x19b41: 0x6d10b020, 0x19b42: 0x6caba420, 0x19b43: 0x6cff0820, + 0x19b44: 0x6c451a20, 0x19b45: 0x6ce13820, 0x19b46: 0x6c4b7620, 0x19b47: 0x6c5c3a20, + 0x19b48: 0x6cddfe20, 0x19b4a: 0x6d114620, 0x19b4b: 0x6c266820, + 0x19b4c: 0x6cb7ea20, 0x19b4d: 0x6c6cba20, 0x19b4e: 0x6c94c220, 0x19b4f: 0x6c9d9020, + 0x19b50: 0x6c9d9220, 0x19b51: 0x6c64fe20, 0x19b52: 0x6c92ec20, 0x19b53: 0x6c38c820, + 0x19b54: 0x6cab5620, 0x19b55: 0x6c9c7e20, 0x19b56: 0x6c6b6420, 0x19b57: 0x6c3f9220, + 0x19b58: 0x6c0d1a20, 0x19b59: 0x6c5a7c20, 0x19b5a: 0x6cda5c20, 0x19b5b: 0x6d115e20, + 0x19b5c: 0x6ca89620, 0x19b5d: 0x6c6c6c20, 0x19b5e: 0x6c88d620, 0x19b5f: 0x6c0faa20, + 0x19b60: 0x6c652420, 0x19b61: 0x6ce3ca20, 0x19b62: 0x6c8d8220, 0x19b63: 0x6d415220, + 0x19b64: 0x6cd20e20, 0x19b65: 0x6d1b2620, 0x19b66: 0x6c2a4820, 0x19b67: 0x6c1e0620, + 0x19b68: 0x6c10e220, 0x19b69: 0x6c9f1220, 0x19b6a: 0x6d0e1620, 0x19b6b: 0x6c805620, + 0x19b6c: 0x6c1d3420, 0x19b6d: 0x6c68b020, 0x19b6e: 0x6cd6bc20, 0x19b6f: 0x6cc2ac20, + 0x19b70: 0x6ca8c820, 0x19b71: 0x6c964c20, 0x19b73: 0x6cd21e20, + 0x19b74: 0x6c965020, 0x19b75: 0x6d3a4c20, 0x19b77: 0x6c1d6e20, + 0x19b78: 0x6c734e20, 0x19b79: 0x6c6f0c20, 0x19b7a: 0x6c379a20, 0x19b7b: 0x6d17b820, + 0x19b7c: 0x6cc8d620, 0x19b7d: 0x6c113c20, 0x19b7e: 0x6cc57a20, 0x19b7f: 0x6c3edc20, + // Block 0x66e, offset 0x19b80 + 0x19b80: 0x6c7fb820, 0x19b81: 0x6cdcaa20, 0x19b82: 0x6d20e220, 0x19b83: 0x6d1f1c20, + 0x19b84: 0x6c2d1820, 0x19b85: 0x6c8cf420, 0x19b86: 0x6d3aec20, 0x19b87: 0x6cde5220, + 0x19b88: 0x6cb29e20, 0x19b89: 0x6d2d2a20, 0x19b8a: 0x6c684c20, 0x19b8b: 0x6c20de20, + 0x19b8c: 0x6c10ac20, 0x19b8d: 0x6c7a0620, 0x19b8e: 0x6c25b620, + 0x19b90: 0x6c4e5220, 0x19b91: 0x6c4e5420, 0x19b92: 0x6ca20020, 0x19b93: 0x6c567420, + 0x19b94: 0x6c457220, 0x19b95: 0x6c2b2020, 0x19b96: 0x6c3e3c20, 0x19b97: 0x6d088020, + 0x19b98: 0x6c9c4c20, 0x19b99: 0x6c9a0420, 0x19b9a: 0x6c811e20, 0x19b9b: 0x6c481e20, + 0x19b9c: 0x6d2fc020, 0x19b9d: 0x6cde6620, 0x19b9e: 0x6d23a220, 0x19b9f: 0x6d402820, + 0x19ba0: 0x6c844820, 0x19ba1: 0x6c92d820, 0x19ba2: 0x6cf3f620, 0x19ba3: 0x6c826c20, + 0x19ba4: 0x6c615e20, 0x19ba5: 0x6c875220, 0x19ba6: 0x6c84d820, + 0x19ba8: 0x6cb30420, 0x19ba9: 0x6d101020, 0x19baa: 0x6cec2e20, 0x19bab: 0x6ceb1a20, + 0x19bac: 0x6cae6e20, 0x19bae: 0x6d2fb420, 0x19baf: 0x6c4b0220, + 0x19bb1: 0x6d061e20, 0x19bb2: 0x6ca38020, 0x19bb3: 0x6cc3e420, + 0x19bb4: 0x6ceff620, 0x19bb5: 0x6d32e620, 0x19bb6: 0x6c300e20, 0x19bb7: 0x6cf00820, + 0x19bb8: 0x6c0f6020, 0x19bba: 0x6c595820, 0x19bbb: 0x6d08c020, + 0x19bbc: 0x6d295620, 0x19bbd: 0x6c877220, 0x19bbe: 0x6d0d6020, 0x19bbf: 0x6c59ae20, + // Block 0x66f, offset 0x19bc0 + 0x19bc0: 0x6d095820, 0x19bc1: 0x6c554c20, 0x19bc2: 0x6c05f820, 0x19bc3: 0x6cc4c220, + 0x19bc4: 0x6cfeba20, 0x19bc5: 0x6cb38620, 0x19bc6: 0x6c8a9820, 0x19bc7: 0x6d388a20, + 0x19bc8: 0x6d17ba20, 0x19bc9: 0x6d06e220, 0x19bca: 0x6c960820, 0x19bcb: 0x6c77be20, + 0x19bcc: 0x6c1f5620, 0x19bce: 0x6ca35620, 0x19bcf: 0x6c4e2220, + 0x19bd0: 0x6c17a220, 0x19bd1: 0x6c929220, 0x19bd2: 0x6d2e0620, 0x19bd3: 0x6cde7c20, + 0x19bd4: 0x6c3da220, 0x19bd5: 0x6c52c820, 0x19bd6: 0x6d2ba020, 0x19bd7: 0x6cbc0620, + 0x19bd8: 0x6cdb5020, 0x19bd9: 0x6cb1fa20, 0x19bda: 0x6c49ba20, + 0x19bdc: 0x6c5cd020, 0x19bdd: 0x6c1e8020, 0x19bdf: 0x6c374420, + 0x19be0: 0x6c374620, 0x19be1: 0x6cc85a20, 0x19be2: 0x6cb6e220, 0x19be3: 0x6cd8ba20, + 0x19be4: 0x6c713620, 0x19be6: 0x6d0dbe20, 0x19be7: 0x6c058220, + 0x19be8: 0x6d131e20, 0x19be9: 0x6d3e6c20, 0x19bea: 0x6ca55220, 0x19beb: 0x6c20b220, + 0x19bec: 0x6c03c220, 0x19bed: 0x6c126c20, 0x19bee: 0x6ce42c20, 0x19bef: 0x6c4f1c20, + 0x19bf0: 0x6d425220, 0x19bf1: 0x6c03d420, 0x19bf2: 0x6d301420, 0x19bf3: 0x6cec2820, + 0x19bf4: 0x6c44c420, 0x19bf5: 0x6c098220, 0x19bf6: 0x6c37ca20, 0x19bf7: 0x6d3af820, + 0x19bf8: 0x6cf50220, 0x19bf9: 0x6cf19a20, 0x19bfa: 0x6d369820, 0x19bfb: 0x6d393c20, + 0x19bfc: 0x6c929420, 0x19bfd: 0x6cf1a020, 0x19bfe: 0x6c4bdc20, 0x19bff: 0x6cc08e20, + // Block 0x670, offset 0x19c00 + 0x19c00: 0x6c7e9420, 0x19c01: 0x6d292020, 0x19c02: 0x6cda2820, 0x19c03: 0x6c9dd420, + 0x19c04: 0x6c2c0620, 0x19c05: 0x6cb7ec20, 0x19c06: 0x6c129a20, 0x19c07: 0x6cb1bc20, + 0x19c08: 0x6c887820, 0x19c09: 0x6cd21020, 0x19c0a: 0x6c8ff620, 0x19c0b: 0x6cdad620, + 0x19c0c: 0x6cb73220, 0x19c0d: 0x6d25fa20, 0x19c0e: 0x6c3c9e20, 0x19c0f: 0x6d056820, + 0x19c10: 0x6c73f620, 0x19c11: 0x6c2c3020, 0x19c12: 0x6cb14820, 0x19c13: 0x6c494a20, + 0x19c14: 0x6ca98620, 0x19c15: 0x6cc5d220, 0x19c16: 0x6d321c20, 0x19c17: 0x6c412e20, + 0x19c18: 0x6cb08a20, 0x19c19: 0x6ce05420, 0x19c1a: 0x6c179220, 0x19c1b: 0x6c217220, + 0x19c1c: 0x6c508e20, 0x19c1d: 0x6d3b7220, 0x19c1e: 0x6ca0ec20, 0x19c1f: 0x6c0ce020, + 0x19c20: 0x6cb75e20, 0x19c21: 0x6cd34620, 0x19c22: 0x6c08ca20, 0x19c23: 0x6c740620, + 0x19c24: 0x6cd8a420, 0x19c26: 0x6c485220, 0x19c27: 0x6ca32a20, + 0x19c28: 0x6c5b4e20, 0x19c29: 0x6cf5ca20, 0x19c2a: 0x6c37c820, 0x19c2b: 0x6d04ca20, + 0x19c2c: 0x6ca1ca20, 0x19c2e: 0x6cf77220, 0x19c2f: 0x6d360220, + 0x19c30: 0x6cc8fc20, 0x19c31: 0x6c711a20, 0x19c32: 0x6c2e9420, 0x19c33: 0x6d30f420, + 0x19c34: 0x6cced820, 0x19c35: 0x6c9bd220, 0x19c36: 0x6c098420, 0x19c37: 0x6c4eb420, + 0x19c38: 0x6d210420, 0x19c39: 0x6cfcb820, 0x19c3a: 0x6cacd420, 0x19c3b: 0x6ca5a620, + 0x19c3c: 0x6c119820, 0x19c3d: 0x6c109c20, 0x19c3f: 0x6cb70020, + // Block 0x671, offset 0x19c40 + 0x19c40: 0x6c620820, 0x19c41: 0x6d3d6420, 0x19c42: 0x6c925e20, 0x19c43: 0x6c75c220, + 0x19c44: 0x6cfccc20, 0x19c45: 0x6cf62620, 0x19c46: 0x6c113220, 0x19c47: 0x6cf1e220, + 0x19c48: 0x6d346a20, 0x19c49: 0x6d3f5820, 0x19c4a: 0x6c7d6820, 0x19c4b: 0x6c231a20, + 0x19c4c: 0x6ce4f820, 0x19c4d: 0x6c1f5820, 0x19c4e: 0x6c2b3620, 0x19c4f: 0x6c218220, + 0x19c50: 0x6cbfb620, 0x19c51: 0x6d306220, 0x19c52: 0x6d2be220, 0x19c53: 0x6cc75420, + 0x19c54: 0x6c0d7c20, 0x19c55: 0x6c605c20, 0x19c56: 0x6cf65420, 0x19c57: 0x6d39b220, + 0x19c58: 0x6c746a20, 0x19c59: 0x6c440a20, 0x19c5a: 0x6c5eee20, 0x19c5b: 0x6c265620, + 0x19c5c: 0x6c187c20, 0x19c5d: 0x6cddce20, 0x19c5e: 0x6cc92820, 0x19c5f: 0x6cfdf420, + 0x19c60: 0x6c5a5c20, 0x19c61: 0x6cb65020, 0x19c62: 0x6d3b1820, 0x19c63: 0x6cdcf620, + 0x19c64: 0x6c146c20, 0x19c65: 0x6cf25a20, 0x19c66: 0x6c781a20, 0x19c67: 0x6c77c420, + 0x19c68: 0x6c47b820, 0x19c69: 0x6c410220, 0x19c6a: 0x6c396620, 0x19c6b: 0x6c234c20, + 0x19c6c: 0x6c128c20, 0x19c6d: 0x6d36bc20, 0x19c6e: 0x6c15d820, 0x19c6f: 0x6c825420, + 0x19c70: 0x6d04ee20, 0x19c71: 0x6d2d4820, 0x19c72: 0x6d308220, 0x19c73: 0x6d218a20, + 0x19c74: 0x6c4b7020, 0x19c75: 0x6c45ae20, 0x19c76: 0x6d295020, 0x19c77: 0x6c27fe20, + 0x19c78: 0x6c5e0020, 0x19c79: 0x6cd9e220, 0x19c7a: 0x6ce0ac20, 0x19c7b: 0x6c473020, + 0x19c7c: 0x6cf8e620, 0x19c7d: 0x6c978020, 0x19c7e: 0x6c346620, 0x19c7f: 0x6c02f420, + // Block 0x672, offset 0x19c80 + 0x19c80: 0x6cb0c420, 0x19c81: 0x6cf52a20, 0x19c82: 0x6c007c20, 0x19c83: 0x6c9b7620, + 0x19c84: 0x6cb0d220, 0x19c85: 0x6c9b7820, 0x19c86: 0x6d103a20, 0x19c87: 0x6d374420, + 0x19c88: 0x6c0fac20, 0x19c89: 0x6d1cc820, 0x19c8a: 0x6cef6020, 0x19c8b: 0x6cc50e20, + 0x19c8c: 0x6c7ffa20, 0x19c8d: 0x6d0c4620, 0x19c8e: 0x6c161220, 0x19c8f: 0x6cc33620, + 0x19c90: 0x6d31d820, 0x19c91: 0x6cb46a20, 0x19c93: 0x6cdf2a20, + 0x19c94: 0x6c3a9e20, 0x19c95: 0x6cd55620, 0x19c97: 0x6c298820, + 0x19c98: 0x6c25f220, 0x19c99: 0x6cdf9c20, 0x19c9a: 0x6ce49820, 0x19c9b: 0x6c1ba020, + 0x19c9c: 0x6cde9020, 0x19c9d: 0x6c642a20, 0x19c9e: 0x6cd75e20, 0x19c9f: 0x6c5a3220, + 0x19ca0: 0x6c8a6820, 0x19ca3: 0x6c185e20, + 0x19ca4: 0x6c6cf820, 0x19ca5: 0x6c360020, 0x19ca6: 0x6c464620, 0x19ca7: 0x6c3e6420, + 0x19ca8: 0x6c34f020, 0x19caa: 0x6c363e20, 0x19cab: 0x6c07f020, + 0x19cac: 0x6ce1ca20, 0x19cad: 0x6c2c6020, 0x19caf: 0x6c2c7020, + 0x19cb0: 0x6c10a620, 0x19cb1: 0x6ced3820, 0x19cb2: 0x6d2fd020, 0x19cb3: 0x6c950620, + 0x19cb4: 0x6cb62620, 0x19cb5: 0x6ca2a420, 0x19cb6: 0x6cba6c20, + 0x19cb8: 0x6d3fae20, 0x19cb9: 0x6cd9d620, 0x19cbb: 0x6d1f6220, + 0x19cbc: 0x6d38ac20, 0x19cbd: 0x6cdea620, 0x19cbf: 0x6cdb3c20, + // Block 0x673, offset 0x19cc0 + 0x19cc0: 0x6c10c220, 0x19cc1: 0x6cf7aa20, 0x19cc2: 0x6c67c620, 0x19cc3: 0x6c12ba20, + 0x19cc4: 0x6c406620, 0x19cc5: 0x6ce2b820, 0x19cc6: 0x6c185220, 0x19cc7: 0x6c407820, + 0x19cc8: 0x6c3ae020, 0x19cc9: 0x6cf48c20, 0x19cca: 0x6cf5ac20, 0x19ccb: 0x6d101620, + 0x19ccc: 0x6ca04820, 0x19ccd: 0x6cad2020, 0x19cce: 0x6c98a620, 0x19ccf: 0x6ccbba20, + 0x19cd0: 0x6c9bb420, 0x19cd1: 0x6c12a820, 0x19cd2: 0x6ce57220, 0x19cd3: 0x6c764820, + 0x19cd4: 0x6c043620, 0x19cd5: 0x6cffa620, 0x19cd6: 0x6d032620, 0x19cd7: 0x6cb76220, + 0x19cda: 0x6cceb020, 0x19cdb: 0x6c590a20, + 0x19cdc: 0x6ca96a20, 0x19cdd: 0x6cff7820, 0x19cde: 0x6c18b220, 0x19cdf: 0x6c27ce20, + 0x19ce0: 0x6c3c3820, 0x19ce1: 0x6d1ad420, 0x19ce2: 0x6c01fa20, 0x19ce3: 0x6cc4be20, + 0x19ce4: 0x6cc64420, 0x19ce5: 0x6c976020, 0x19ce6: 0x6c394c20, 0x19ce7: 0x6cc10220, + 0x19ce8: 0x6cd2ce20, 0x19ce9: 0x6c511820, 0x19cea: 0x6c0b9220, 0x19ceb: 0x6c276220, + 0x19cec: 0x6ca11420, 0x19ced: 0x6c2aca20, + 0x19cf0: 0x6c7ba020, 0x19cf2: 0x6c144220, 0x19cf3: 0x6c349620, + 0x19cf4: 0x6d1fd220, 0x19cf5: 0x6c504020, 0x19cf7: 0x6c486020, + 0x19cf8: 0x6d095c20, 0x19cf9: 0x6c833620, 0x19cfa: 0x6c6c9220, 0x19cfb: 0x6cb70220, + 0x19cfc: 0x6cc11020, 0x19cfd: 0x6cee2220, 0x19cfe: 0x6d13f620, 0x19cff: 0x6c89e620, + // Block 0x674, offset 0x19d00 + 0x19d02: 0x6d0cb020, 0x19d03: 0x6d180220, + 0x19d04: 0x6d1a7620, 0x19d05: 0x6cb60020, 0x19d06: 0x6d306420, 0x19d07: 0x6cf8a620, + 0x19d08: 0x6d180420, 0x19d09: 0x6d128620, 0x19d0a: 0x6cf3d820, 0x19d0b: 0x6d33fa20, + 0x19d0c: 0x6d366a20, 0x19d0d: 0x6c4e5a20, 0x19d0e: 0x6c21c820, 0x19d0f: 0x6c3d8420, + 0x19d10: 0x6c215220, 0x19d11: 0x6cb2b620, 0x19d12: 0x6c7afa20, 0x19d13: 0x6c1dc220, + 0x19d15: 0x6ceb8a20, 0x19d16: 0x6cbf4220, 0x19d17: 0x6c233020, + 0x19d18: 0x6c42d220, 0x19d19: 0x6c7acc20, 0x19d1a: 0x6cc12620, 0x19d1b: 0x6cc12820, + 0x19d1c: 0x6d340020, 0x19d1d: 0x6c9c0a20, 0x19d1e: 0x6c865220, 0x19d1f: 0x6d389c20, + 0x19d20: 0x6cde8420, 0x19d21: 0x6d340220, 0x19d22: 0x6c482420, 0x19d23: 0x6c899c20, + 0x19d24: 0x6c54ee20, 0x19d25: 0x6c7e8820, 0x19d26: 0x6c2d2620, 0x19d27: 0x6c22d820, + 0x19d28: 0x6d1bde20, 0x19d2b: 0x6cb62a20, + 0x19d2d: 0x6c144620, 0x19d2e: 0x6c99b020, 0x19d2f: 0x6c31b020, + 0x19d30: 0x6d19fe20, 0x19d31: 0x6c148820, 0x19d32: 0x6cc8dc20, 0x19d33: 0x6c524020, + 0x19d34: 0x6cc87820, 0x19d35: 0x6c3d9420, 0x19d36: 0x6c7f4e20, 0x19d37: 0x6d043420, + 0x19d38: 0x6c64e020, 0x19d39: 0x6d186220, 0x19d3a: 0x6c9a6820, + 0x19d3c: 0x6c987620, 0x19d3d: 0x6c627e20, 0x19d3e: 0x6cdd3a20, 0x19d3f: 0x6c4f0c20, + // Block 0x675, offset 0x19d40 + 0x19d41: 0x6c868420, 0x19d42: 0x6d3f2220, 0x19d43: 0x6d412820, + 0x19d44: 0x6d114820, 0x19d45: 0x6c43a820, 0x19d46: 0x6c844c20, 0x19d47: 0x6cb71c20, + 0x19d48: 0x6c462420, 0x19d49: 0x6c868620, 0x19d4a: 0x6c0db220, 0x19d4b: 0x6cdd3c20, + 0x19d4e: 0x6cdb3e20, 0x19d4f: 0x6c1e4c20, + 0x19d50: 0x6c650220, 0x19d51: 0x6d010020, 0x19d52: 0x6c076420, 0x19d53: 0x6d066020, + 0x19d54: 0x6c6eb620, 0x19d55: 0x6cb46220, 0x19d56: 0x6c8d7220, 0x19d57: 0x6cfdd620, + 0x19d58: 0x6d42ac20, 0x19d59: 0x6c2e4420, 0x19d5a: 0x6c216a20, 0x19d5b: 0x6cbeb620, + 0x19d5c: 0x6ca41020, 0x19d5d: 0x6d2cfe20, 0x19d5e: 0x6c940820, 0x19d5f: 0x6d157420, + 0x19d60: 0x6cceba20, 0x19d61: 0x6d21ba20, 0x19d62: 0x6c575c20, 0x19d63: 0x6c845e20, + 0x19d64: 0x6cabce20, 0x19d67: 0x6c846020, + 0x19d6a: 0x6cd6e620, + 0x19d6c: 0x6d18d620, 0x19d6d: 0x6ca95c20, 0x19d6e: 0x6cd83820, 0x19d6f: 0x6c7ab020, + 0x19d70: 0x6c407a20, 0x19d71: 0x6d142820, 0x19d72: 0x6c2ab820, 0x19d73: 0x6cc49620, + 0x19d74: 0x6c131e20, 0x19d76: 0x6ce39820, 0x19d77: 0x6cbdb420, + 0x19d78: 0x6c0c8820, 0x19d79: 0x6cdca420, 0x19d7a: 0x6cef4c20, 0x19d7b: 0x6c33bc20, + 0x19d7c: 0x6ccb7a20, 0x19d7d: 0x6c00f620, 0x19d7e: 0x6cb7f420, 0x19d7f: 0x6d420e20, + // Block 0x676, offset 0x19d80 + 0x19d80: 0x6c7b7620, 0x19d81: 0x6c3a7420, 0x19d83: 0x6d1b9620, + 0x19d85: 0x6ccaea20, 0x19d86: 0x6c314820, 0x19d87: 0x6c5c8220, + 0x19d88: 0x6d026220, 0x19d89: 0x6d2b1c20, 0x19d8a: 0x6ce03420, 0x19d8b: 0x6ce15a20, + 0x19d8c: 0x6d374620, 0x19d8d: 0x6d191620, 0x19d8e: 0x6c3f1c20, 0x19d8f: 0x6c359420, + 0x19d91: 0x6c75fc20, 0x19d92: 0x6c638e20, 0x19d93: 0x6c141220, + 0x19d94: 0x6cfbca20, 0x19d95: 0x6c981420, 0x19d97: 0x6c0aba20, + 0x19d98: 0x6c8d9220, 0x19d99: 0x6c6b7620, 0x19d9a: 0x6c7d3620, 0x19d9b: 0x6c63f620, + 0x19d9d: 0x6c19a420, 0x19d9e: 0x6c813420, 0x19d9f: 0x6d03b420, + 0x19da0: 0x6c3af620, 0x19da1: 0x6c936e20, 0x19da2: 0x6d2c9e20, 0x19da3: 0x6c51a420, + 0x19da4: 0x6c5f9420, 0x19da5: 0x6ca66220, 0x19da6: 0x6d1cd620, 0x19da7: 0x6d002e20, + 0x19da8: 0x6ce2d820, 0x19da9: 0x6c81c820, 0x19daa: 0x6d2b2820, 0x19dab: 0x6c7cba20, + 0x19dad: 0x6cb9e620, 0x19dae: 0x6c719020, 0x19daf: 0x6cb18c20, + 0x19db0: 0x6c38f220, 0x19db1: 0x6ce80020, 0x19db2: 0x6c8c4020, 0x19db3: 0x6c9cc020, + 0x19db4: 0x6d3de820, 0x19db5: 0x6d013020, 0x19db6: 0x6c56ee20, 0x19db7: 0x6c9cc220, + 0x19db8: 0x6c6a4820, 0x19db9: 0x6d28e220, 0x19dba: 0x6c23d620, 0x19dbb: 0x6c87b220, + 0x19dbc: 0x6cc4a020, 0x19dbd: 0x6d3a4a20, 0x19dbe: 0x6d1ab820, 0x19dbf: 0x6c4f4020, + // Block 0x677, offset 0x19dc0 + 0x19dc1: 0x6d198620, 0x19dc2: 0x6c948020, 0x19dc3: 0x6d274420, + 0x19dc4: 0x6cc4a420, 0x19dc5: 0x6c8df620, 0x19dc6: 0x6ca78620, 0x19dc7: 0x6d24b620, + 0x19dc8: 0x6caaa020, 0x19dca: 0x6d174020, 0x19dcb: 0x6caaa420, + 0x19dcc: 0x6d174220, 0x19dcd: 0x6cb98020, 0x19dce: 0x6cf9b620, 0x19dcf: 0x6c1edc20, + 0x19dd0: 0x6d1a6820, 0x19dd1: 0x6c9d4820, 0x19dd2: 0x6cf65820, 0x19dd3: 0x6ca35a20, + 0x19dd4: 0x6c76de20, 0x19dd5: 0x6d412020, 0x19dd6: 0x6cf9da20, 0x19dd7: 0x6d0cc620, + 0x19dd8: 0x6ce8f420, 0x19dd9: 0x6ce30020, 0x19dda: 0x6cf38820, 0x19ddb: 0x6cdda820, + 0x19ddc: 0x6d1aaa20, 0x19ddd: 0x6c1d0a20, 0x19dde: 0x6d38de20, 0x19ddf: 0x6c988620, + 0x19de0: 0x6d254820, 0x19de1: 0x6caa8020, 0x19de2: 0x6c9e7020, 0x19de3: 0x6d2a4820, + 0x19de4: 0x6ced1420, 0x19de5: 0x6c83ca20, 0x19de6: 0x6cc10420, 0x19de7: 0x6ca33a20, + 0x19de8: 0x6cd26220, 0x19de9: 0x6c098c20, 0x19dea: 0x6d3e2a20, 0x19deb: 0x6c056c20, + 0x19ded: 0x6c736c20, 0x19dee: 0x6cfde620, 0x19def: 0x6c7c7c20, + 0x19df0: 0x6cac2c20, 0x19df1: 0x6c7ba220, 0x19df2: 0x6d0a1220, 0x19df3: 0x6d2cc620, + 0x19df4: 0x6d10fc20, 0x19df5: 0x6c7d6a20, 0x19df6: 0x6c5acc20, 0x19df7: 0x6cf65a20, + 0x19df8: 0x6c357420, 0x19df9: 0x6d0fcc20, 0x19dfa: 0x6ce59020, 0x19dfb: 0x6d1f4e20, + 0x19dfc: 0x6c746c20, 0x19dfd: 0x6c83f620, 0x19dff: 0x6c842020, + // Block 0x678, offset 0x19e00 + 0x19e00: 0x6c198020, 0x19e01: 0x6c624e20, 0x19e02: 0x6c562a20, 0x19e03: 0x6d2e7020, + 0x19e04: 0x6c3f7a20, 0x19e05: 0x6c16ba20, 0x19e06: 0x6c495c20, 0x19e07: 0x6c714420, + 0x19e08: 0x6c9b3220, 0x19e09: 0x6c167820, 0x19e0a: 0x6ce0a620, 0x19e0b: 0x6ca1e220, + 0x19e0c: 0x6d039e20, 0x19e0d: 0x6c852620, 0x19e0e: 0x6d0c2a20, 0x19e0f: 0x6cd9da20, + 0x19e10: 0x6cd1ee20, 0x19e11: 0x6d186420, 0x19e12: 0x6c0e2a20, 0x19e13: 0x6c234e20, + 0x19e14: 0x6c542c20, 0x19e15: 0x6ced3a20, 0x19e16: 0x6c2c9620, 0x19e17: 0x6c5f4420, + 0x19e18: 0x6c443820, 0x19e19: 0x6c4e3420, 0x19e1a: 0x6c0f6220, 0x19e1b: 0x6d04f420, + 0x19e1c: 0x6c8ea220, 0x19e1d: 0x6c11ae20, 0x19e1e: 0x6c11b020, 0x19e1f: 0x6d18d820, + 0x19e20: 0x6d082c20, 0x19e21: 0x6d0ce020, 0x19e22: 0x6d2a5c20, 0x19e23: 0x6c4f1e20, + 0x19e24: 0x6d1e0020, 0x19e25: 0x6d3fc820, 0x19e27: 0x6c775820, + 0x19e28: 0x6d21bc20, 0x19e29: 0x6cb53820, 0x19e2a: 0x6d310620, 0x19e2b: 0x6c967e20, + 0x19e2e: 0x6cd6e820, 0x19e2f: 0x6c6d6a20, + 0x19e30: 0x6c49b020, 0x19e31: 0x6cb46c20, 0x19e32: 0x6c8c7220, + 0x19e34: 0x6ce69c20, 0x19e35: 0x6c679420, 0x19e36: 0x6c7eac20, 0x19e37: 0x6d191820, + 0x19e38: 0x6d1dce20, 0x19e39: 0x6c22ec20, 0x19e3a: 0x6d0dfe20, 0x19e3b: 0x6c6b7020, + 0x19e3c: 0x6d09c820, 0x19e3d: 0x6cf11020, 0x19e3e: 0x6cfc4c20, 0x19e3f: 0x6ca93620, + // Block 0x679, offset 0x19e40 + 0x19e40: 0x6c408c20, 0x19e41: 0x6c445c20, 0x19e43: 0x6ca19c20, + 0x19e44: 0x6d3b4620, 0x19e45: 0x6ca38a20, 0x19e46: 0x6cfc5620, 0x19e47: 0x6cf1c420, + 0x19e48: 0x6c877820, 0x19e49: 0x6c11c220, 0x19e4a: 0x6c9f1c20, 0x19e4b: 0x6c655220, + 0x19e4c: 0x6ca6e220, 0x19e4d: 0x6c14b020, 0x19e4e: 0x6cecb020, 0x19e4f: 0x6d069c20, + 0x19e50: 0x6caa8220, 0x19e51: 0x6c973020, 0x19e52: 0x6d417020, 0x19e53: 0x6c770c20, + 0x19e54: 0x6c761620, 0x19e55: 0x6c4f7020, + 0x19e58: 0x6d23f420, 0x19e59: 0x6cf11220, 0x19e5a: 0x6d39fa20, + 0x19e5d: 0x6d170a20, 0x19e5f: 0x6c2dbc20, + 0x19e60: 0x6c3e4420, 0x19e61: 0x6c08d620, 0x19e62: 0x6d3a6820, 0x19e63: 0x6d3f0c20, + 0x19e64: 0x6cd5cc20, 0x19e65: 0x6cf9ba20, 0x19e66: 0x6ca5e020, + 0x19e68: 0x6c68fe20, 0x19e69: 0x6d0a1420, 0x19e6a: 0x6c1cc620, 0x19e6b: 0x6caa2220, + 0x19e6c: 0x6cc67e20, 0x19e6d: 0x6d364220, 0x19e6e: 0x6cca6e20, + 0x19e70: 0x6cccf020, 0x19e71: 0x6d237e20, 0x19e73: 0x6c6c4e20, + 0x19e75: 0x6c929c20, 0x19e76: 0x6c4db020, 0x19e77: 0x6c0cb220, + 0x19e78: 0x6d183a20, 0x19e79: 0x6d41c020, 0x19e7a: 0x6d2e7220, 0x19e7b: 0x6d23ac20, + 0x19e7c: 0x6ced3c20, 0x19e7d: 0x6ca5fe20, 0x19e7e: 0x6c495e20, 0x19e7f: 0x6c748420, + // Block 0x67a, offset 0x19e80 + 0x19e80: 0x6c082820, 0x19e81: 0x6c11a220, 0x19e83: 0x6c351220, + 0x19e84: 0x6cb7c620, 0x19e85: 0x6d10b420, 0x19e86: 0x6c7d1820, 0x19e87: 0x6cc84820, + 0x19e88: 0x6c542e20, 0x19e89: 0x6d0a3820, 0x19e8a: 0x6d020020, + 0x19e8c: 0x6c7d1a20, 0x19e8e: 0x6d00f020, 0x19e8f: 0x6c0f6420, + 0x19e90: 0x6c78d820, 0x19e91: 0x6c24ec20, 0x19e92: 0x6d074020, 0x19e93: 0x6c042820, + 0x19e94: 0x6cab5820, 0x19e95: 0x6d400c20, 0x19e97: 0x6ce42e20, + 0x19e98: 0x6c1ef220, 0x19e99: 0x6c1b5820, 0x19e9a: 0x6ca7b420, 0x19e9b: 0x6c49ac20, + 0x19e9c: 0x6c3cbe20, 0x19e9d: 0x6d023020, 0x19e9e: 0x6c2aba20, 0x19e9f: 0x6cef4e20, + 0x19ea0: 0x6c74e220, 0x19ea1: 0x6c7d2e20, 0x19ea2: 0x6d2bb420, 0x19ea3: 0x6cc9ac20, + 0x19ea4: 0x6c34bc20, 0x19ea5: 0x6c8d8420, 0x19ea6: 0x6c9b9a20, + 0x19ea8: 0x6c4cde20, 0x19ea9: 0x6c9b9c20, 0x19eaa: 0x6c8fec20, + 0x19eac: 0x6d1d5e20, 0x19eae: 0x6c49c620, 0x19eaf: 0x6c248820, + 0x19eb0: 0x6c84e620, 0x19eb1: 0x6c320c20, 0x19eb3: 0x6c0bf220, + 0x19eb5: 0x6cf62c20, 0x19eb7: 0x6c2a6620, + 0x19eb8: 0x6c2a6820, 0x19eb9: 0x6cfcba20, 0x19eba: 0x6c880020, + 0x19ebc: 0x6ccedc20, 0x19ebd: 0x6d00b020, 0x19ebe: 0x6cd1c420, 0x19ebf: 0x6cf09e20, + // Block 0x67b, offset 0x19ec0 + 0x19ec2: 0x6c51d820, 0x19ec3: 0x6d1f5a20, + 0x19ec4: 0x6c92b220, 0x19ec5: 0x6c7f5020, 0x19ec6: 0x6d1d0e20, 0x19ec7: 0x6cd14c20, + 0x19ec8: 0x6c739220, 0x19ec9: 0x6cb7e420, 0x19eca: 0x6c65ea20, 0x19ecb: 0x6d285c20, + 0x19ecd: 0x6cb7f620, 0x19ecf: 0x6c8c7c20, + 0x19ed0: 0x6c60ea20, 0x19ed1: 0x6c970a20, 0x19ed2: 0x6c208220, 0x19ed3: 0x6ca74620, + 0x19ed4: 0x6c0d6e20, 0x19ed5: 0x6c87c020, 0x19ed6: 0x6c8dfa20, 0x19ed7: 0x6c427a20, + 0x19ed8: 0x6c1a2020, 0x19ed9: 0x6d07b020, 0x19eda: 0x6cfc1a20, 0x19edb: 0x6c558620, + 0x19edc: 0x6c088620, 0x19edd: 0x6d40d020, 0x19ede: 0x6c271a20, 0x19edf: 0x6c271c20, + 0x19ee0: 0x6c5d3e20, 0x19ee1: 0x6cc9d020, 0x19ee2: 0x6c184420, 0x19ee3: 0x6ce37c20, + 0x19ee5: 0x6cab1a20, 0x19ee6: 0x6d371420, 0x19ee7: 0x6c8ebe20, + 0x19ee8: 0x6c3aea20, 0x19ee9: 0x6c695e20, 0x19eea: 0x6c493620, 0x19eeb: 0x6cf7ba20, + 0x19eec: 0x6c8bf820, 0x19eed: 0x6d07f820, 0x19eee: 0x6cc62a20, 0x19eef: 0x6ce25a20, + 0x19ef0: 0x6cb05820, 0x19ef1: 0x6d032a20, 0x19ef2: 0x6ccd7c20, 0x19ef3: 0x6d360e20, + 0x19ef4: 0x6cec3220, 0x19ef5: 0x6ce81020, 0x19ef6: 0x6ce46620, 0x19ef7: 0x6d13e820, + 0x19ef8: 0x6d019c20, 0x19ef9: 0x6cb05c20, 0x19efa: 0x6d10ec20, 0x19efb: 0x6d10ee20, + 0x19efc: 0x6caa8620, 0x19efd: 0x6c503a20, 0x19efe: 0x6ca8e820, 0x19eff: 0x6d1b4a20, + // Block 0x67c, offset 0x19f00 + 0x19f00: 0x6c390a20, 0x19f01: 0x6ca3fa20, 0x19f02: 0x6d109c20, 0x19f03: 0x6ced7e20, + 0x19f04: 0x6d25e820, 0x19f05: 0x6cf9c820, 0x19f06: 0x6d392c20, 0x19f07: 0x6d25ea20, + 0x19f08: 0x6cd38a20, 0x19f09: 0x6c9e5a20, 0x19f0a: 0x6cf62e20, 0x19f0b: 0x6c621220, + 0x19f0c: 0x6ce22a20, 0x19f0d: 0x6c3ab020, 0x19f0e: 0x6d096020, 0x19f0f: 0x6ca5e820, + 0x19f10: 0x6c224620, 0x19f11: 0x6c9d4a20, 0x19f12: 0x6c0ba220, + 0x19f14: 0x6ca2e620, 0x19f15: 0x6d238020, 0x19f16: 0x6c366220, 0x19f17: 0x6d353a20, + 0x19f18: 0x6cc57420, 0x19f19: 0x6d070020, 0x19f1a: 0x6c94b020, 0x19f1b: 0x6c5be820, + 0x19f1c: 0x6d0a9620, 0x19f1d: 0x6ca4b820, 0x19f1e: 0x6c4eee20, 0x19f1f: 0x6c63d620, + 0x19f20: 0x6c312e20, 0x19f21: 0x6c57b420, 0x19f22: 0x6ce86c20, 0x19f23: 0x6cb26220, + 0x19f24: 0x6c244c20, 0x19f25: 0x6cf68220, 0x19f26: 0x6cd99820, 0x19f27: 0x6c9c6c20, + 0x19f28: 0x6d034420, 0x19f29: 0x6cf51a20, 0x19f2a: 0x6cbf5420, 0x19f2b: 0x6d2edc20, + 0x19f2c: 0x6ce23620, 0x19f2d: 0x6d043620, 0x19f2e: 0x6c701e20, 0x19f2f: 0x6c728220, + 0x19f30: 0x6c5d4020, 0x19f31: 0x6ce36e20, 0x19f32: 0x6c977420, 0x19f33: 0x6d0ea420, + 0x19f34: 0x6c5f2020, 0x19f35: 0x6cd47a20, 0x19f36: 0x6c82d620, 0x19f37: 0x6ced4420, + 0x19f38: 0x6c183820, 0x19f39: 0x6c120a20, 0x19f3a: 0x6c6c0620, 0x19f3b: 0x6d205820, + 0x19f3c: 0x6c5b6620, 0x19f3d: 0x6d2c9420, 0x19f3e: 0x6cdb4820, 0x19f3f: 0x6c444220, + // Block 0x67d, offset 0x19f40 + 0x19f40: 0x6ca51a20, 0x19f41: 0x6cf8f820, 0x19f43: 0x6c331a20, + 0x19f44: 0x6c1b6420, 0x19f45: 0x6cef5020, 0x19f46: 0x6d30ae20, 0x19f47: 0x6c4bf420, + 0x19f48: 0x6c175620, 0x19f49: 0x6c1ae020, 0x19f4a: 0x6d2a2820, 0x19f4b: 0x6c5c8420, + 0x19f4c: 0x6c944820, 0x19f4d: 0x6c8a4620, 0x19f4e: 0x6c818a20, 0x19f4f: 0x6cead820, + 0x19f50: 0x6c5b0420, 0x19f51: 0x6cf54620, 0x19f52: 0x6c02fa20, 0x19f53: 0x6ccf8620, + 0x19f54: 0x6cdc0220, 0x19f55: 0x6c974c20, 0x19f56: 0x6ce0b620, 0x19f57: 0x6d035a20, + 0x19f58: 0x6c6e4020, 0x19f59: 0x6c017620, 0x19f5a: 0x6cdee220, 0x19f5b: 0x6c156420, + 0x19f5c: 0x6cf11a20, 0x19f5d: 0x6ce98420, 0x19f5e: 0x6c62dc20, 0x19f5f: 0x6c18fa20, + 0x19f60: 0x6c185820, 0x19f61: 0x6d247c20, 0x19f62: 0x6cfc6020, 0x19f63: 0x6d02d020, + 0x19f67: 0x6ca51c20, + 0x19f69: 0x6d0f1020, 0x19f6a: 0x6cc01e20, 0x19f6b: 0x6c675820, + 0x19f6c: 0x6cd95c20, 0x19f6d: 0x6c75c420, 0x19f6e: 0x6c89fc20, 0x19f6f: 0x6c714e20, + 0x19f71: 0x6c97d220, 0x19f72: 0x6c8b7220, + 0x19f74: 0x6c1f3820, 0x19f75: 0x6c1bae20, 0x19f76: 0x6cfdcc20, 0x19f77: 0x6cbd3a20, + 0x19f78: 0x6c9a6220, 0x19f79: 0x6cd5fa20, 0x19f7a: 0x6c149020, 0x19f7b: 0x6c1bc420, + 0x19f7c: 0x6c474620, 0x19f7d: 0x6d21a820, 0x19f7e: 0x6d1a0420, + // Block 0x67e, offset 0x19f80 + 0x19f80: 0x6c8eac20, 0x19f81: 0x6c818020, 0x19f82: 0x6cd61e20, 0x19f83: 0x6d30be20, + 0x19f84: 0x6cd6c420, 0x19f85: 0x6c5aac20, + 0x19f88: 0x6c364620, 0x19f8a: 0x6ccc7020, 0x19f8b: 0x6d402e20, + 0x19f8c: 0x6c74a620, 0x19f8d: 0x6c75ec20, 0x19f8e: 0x6ce93820, 0x19f8f: 0x6c90ca20, + 0x19f90: 0x6cef5c20, 0x19f91: 0x6c1cf420, 0x19f92: 0x6d3b4820, 0x19f93: 0x6c8b7420, + 0x19f95: 0x6d30cc20, 0x19f96: 0x6d2f8c20, + 0x19f98: 0x6d178020, 0x19f99: 0x6c1e5c20, 0x19f9a: 0x6ca5ea20, 0x19f9b: 0x6c0e7820, + 0x19f9c: 0x6cdb8620, 0x19f9d: 0x6d160620, 0x19f9e: 0x6c506020, 0x19f9f: 0x6d0bc820, + 0x19fa0: 0x6c58ac20, 0x19fa1: 0x6c980a20, 0x19fa2: 0x6c980c20, 0x19fa3: 0x6cc1f220, + 0x19fa4: 0x6c81c420, 0x19fa5: 0x6c4ffe20, 0x19fa6: 0x6d37d620, 0x19fa7: 0x6c9f4e20, + 0x19fa8: 0x6cfb5620, 0x19fa9: 0x6d324420, 0x19faa: 0x6cd55e20, 0x19fab: 0x6d423e20, + 0x19fac: 0x6d3afc20, 0x19fad: 0x6c46aa20, 0x19fae: 0x6d089820, 0x19faf: 0x6d17c620, + 0x19fb0: 0x6d366e20, 0x19fb1: 0x6d00c620, 0x19fb2: 0x6c6d1e20, 0x19fb3: 0x6c11a420, + 0x19fb5: 0x6c10ae20, 0x19fb6: 0x6c896a20, 0x19fb7: 0x6d341020, + 0x19fb8: 0x6c626c20, 0x19fb9: 0x6ced4620, 0x19fba: 0x6c49a420, 0x19fbb: 0x6c70bc20, + 0x19fbc: 0x6c6ea220, 0x19fbd: 0x6c00c420, 0x19fbe: 0x6c404220, 0x19fbf: 0x6c4b7220, + // Block 0x67f, offset 0x19fc0 + 0x19fc0: 0x6c548020, 0x19fc1: 0x6d0ec620, 0x19fc2: 0x6cc87e20, 0x19fc3: 0x6d36ee20, + 0x19fc4: 0x6c0c9420, 0x19fc5: 0x6d157620, 0x19fc6: 0x6cdd9e20, 0x19fc7: 0x6c2efa20, + 0x19fc8: 0x6c4b9620, 0x19fc9: 0x6cd18020, 0x19fca: 0x6d0ab820, 0x19fcb: 0x6c194620, + 0x19fcc: 0x6ccf2020, 0x19fcd: 0x6cbe8a20, + 0x19fd0: 0x6c218a20, 0x19fd1: 0x6c533820, 0x19fd2: 0x6c308220, 0x19fd3: 0x6c198220, + 0x19fd4: 0x6ceff820, 0x19fd5: 0x6cc7ea20, 0x19fd6: 0x6cd55420, 0x19fd7: 0x6c10f220, + 0x19fd8: 0x6c600e20, 0x19fd9: 0x6d28b620, 0x19fda: 0x6cb5d420, 0x19fdb: 0x6d0c0220, + 0x19fdc: 0x6c3fe820, 0x19fdd: 0x6d235820, 0x19fde: 0x6c3e9020, 0x19fdf: 0x6cb39220, + 0x19fe0: 0x6d33e620, 0x19fe1: 0x6ce06220, 0x19fe2: 0x6d424020, 0x19fe3: 0x6c17ec20, + 0x19fe4: 0x6cc19a20, 0x19fe5: 0x6d204e20, 0x19fe6: 0x6c514a20, 0x19fe7: 0x6c547420, + 0x19fe8: 0x6c4b0e20, 0x19fe9: 0x6c366620, 0x19fea: 0x6c67ea20, 0x19feb: 0x6d27f620, + 0x19fec: 0x6ce83020, 0x19fed: 0x6c259820, 0x19fee: 0x6ce87020, 0x19fef: 0x6c402a20, + 0x19ff0: 0x6d424c20, 0x19ff1: 0x6c558820, 0x19ff3: 0x6c0f4a20, + 0x19ff4: 0x6d2f6e20, 0x19ff5: 0x6c754a20, 0x19ff6: 0x6ce0d020, 0x19ff7: 0x6c74aa20, + 0x19ff8: 0x6c404620, 0x19ff9: 0x6c5a0220, 0x19ffa: 0x6c211820, 0x19ffb: 0x6d1e5e20, + 0x19ffc: 0x6c20f020, 0x19ffd: 0x6cdda020, 0x19ffe: 0x6c1b5c20, 0x19fff: 0x6cb92a20, + // Block 0x680, offset 0x1a000 + 0x1a000: 0x6c10fc20, 0x1a001: 0x6cff9c20, 0x1a002: 0x6c979220, 0x1a003: 0x6c117c20, + 0x1a004: 0x6cb7f820, 0x1a005: 0x6c66f620, 0x1a006: 0x6c0a9a20, 0x1a007: 0x6c5f8420, + 0x1a008: 0x6d34b820, 0x1a009: 0x6d3a3620, 0x1a00a: 0x6cc1f420, 0x1a00b: 0x6d2e3420, + 0x1a00c: 0x6c60fa20, 0x1a00d: 0x6c0b2420, 0x1a00f: 0x6c878020, + 0x1a010: 0x6c879420, 0x1a011: 0x6d272a20, 0x1a012: 0x6cc34020, 0x1a013: 0x6c195a20, + 0x1a014: 0x6c3fcc20, 0x1a015: 0x6c144020, 0x1a016: 0x6ce19c20, 0x1a017: 0x6cd37420, + 0x1a018: 0x6c4f9620, 0x1a019: 0x6cbcbe20, 0x1a01a: 0x6cb5d620, 0x1a01b: 0x6c0efc20, + 0x1a01c: 0x6ca33e20, 0x1a01d: 0x6ce82a20, 0x1a01e: 0x6c1e7a20, 0x1a01f: 0x6c243c20, + 0x1a020: 0x6d26c020, 0x1a021: 0x6d33e820, 0x1a022: 0x6c18cc20, 0x1a023: 0x6c1f4a20, + 0x1a024: 0x6c09b420, 0x1a025: 0x6c9b1c20, 0x1a026: 0x6c038020, 0x1a027: 0x6ce4a220, + 0x1a028: 0x6c9f5a20, 0x1a029: 0x6c8aba20, 0x1a02a: 0x6c3ccc20, 0x1a02b: 0x6c197420, + 0x1a02c: 0x6cc0b820, 0x1a02d: 0x6ce58820, 0x1a02e: 0x6c3eac20, 0x1a02f: 0x6c7e0820, + 0x1a030: 0x6c65b820, + 0x1a034: 0x6d325620, 0x1a035: 0x6cc08a20, 0x1a036: 0x6d42a820, 0x1a037: 0x6c1c4c20, + 0x1a038: 0x6c7c9420, 0x1a039: 0x6c8b2420, 0x1a03a: 0x6c074a20, 0x1a03b: 0x6c326e20, + 0x1a03c: 0x6cf46c20, 0x1a03e: 0x6d3d9220, 0x1a03f: 0x6c92ba20, + // Block 0x681, offset 0x1a040 + 0x1a040: 0x6ce0d220, 0x1a042: 0x6c1eaa20, 0x1a043: 0x6c89a020, + 0x1a044: 0x6ce51820, 0x1a045: 0x6c7dbe20, 0x1a046: 0x6c16c420, 0x1a047: 0x6c74ac20, + 0x1a048: 0x6ce8ec20, 0x1a049: 0x6c594e20, 0x1a04a: 0x6c3aca20, 0x1a04b: 0x6c0a3c20, + 0x1a04d: 0x6cf97c20, 0x1a04e: 0x6cf31820, 0x1a04f: 0x6c628a20, + 0x1a050: 0x6cc27a20, 0x1a051: 0x6c7cdc20, 0x1a052: 0x6c55c220, 0x1a053: 0x6cbfca20, + 0x1a054: 0x6cdc7c20, 0x1a055: 0x6c10fa20, 0x1a057: 0x6cc0bc20, + 0x1a058: 0x6cb0c820, 0x1a059: 0x6cad1020, 0x1a05a: 0x6cec4020, 0x1a05b: 0x6d115620, + 0x1a05c: 0x6cc6c220, 0x1a05d: 0x6d09b620, 0x1a05e: 0x6c246c20, 0x1a05f: 0x6c2efc20, + 0x1a060: 0x6c1c8a20, 0x1a061: 0x6c25f620, 0x1a062: 0x6c9c1220, 0x1a063: 0x6d086420, + 0x1a064: 0x6c34be20, 0x1a065: 0x6c0d0420, 0x1a066: 0x6d310a20, 0x1a067: 0x6c1ec620, + 0x1a068: 0x6c164220, 0x1a069: 0x6c4b9e20, 0x1a06a: 0x6c32e620, 0x1a06b: 0x6d409420, + 0x1a06c: 0x6c2afe20, 0x1a06d: 0x6c7f3820, 0x1a06e: 0x6ce2da20, 0x1a06f: 0x6d272c20, + 0x1a070: 0x6cc34220, 0x1a071: 0x6d3a5020, 0x1a072: 0x6c8d1020, 0x1a073: 0x6c186c20, + 0x1a074: 0x6d31e020, 0x1a075: 0x6c400220, 0x1a076: 0x6ccf4e20, 0x1a077: 0x6ce5c620, + 0x1a078: 0x6c7ac820, 0x1a079: 0x6c004420, 0x1a07b: 0x6cbf5620, + 0x1a07c: 0x6cd61220, 0x1a07d: 0x6c4d3420, 0x1a07e: 0x6ccd5e20, 0x1a07f: 0x6cec7620, + // Block 0x682, offset 0x1a080 + 0x1a080: 0x6d2e3620, 0x1a081: 0x6c904a20, 0x1a082: 0x6c6f6220, 0x1a083: 0x6c85b820, + 0x1a085: 0x6c210220, 0x1a086: 0x6cc66c20, 0x1a087: 0x6d26ac20, + 0x1a088: 0x6c743a20, 0x1a089: 0x6c776c20, 0x1a08a: 0x6c390c20, 0x1a08b: 0x6cb5da20, + 0x1a08c: 0x6c534220, 0x1a08d: 0x6c3e7220, 0x1a08e: 0x6c915220, 0x1a08f: 0x6c535820, + 0x1a090: 0x6ceb2a20, 0x1a091: 0x6c9f5c20, 0x1a092: 0x6ce4a420, 0x1a093: 0x6c737c20, + 0x1a094: 0x6cb70620, 0x1a095: 0x6d332620, 0x1a096: 0x6cbece20, 0x1a097: 0x6c45f220, + 0x1a098: 0x6ce4b620, 0x1a099: 0x6c80dc20, 0x1a09a: 0x6c99a620, 0x1a09b: 0x6d1b6a20, + 0x1a09c: 0x6c92c020, 0x1a09d: 0x6d250e20, 0x1a09e: 0x6c715420, 0x1a09f: 0x6cb0b820, + 0x1a0a1: 0x6d00f420, 0x1a0a2: 0x6c0bbe20, 0x1a0a3: 0x6c5cd820, + 0x1a0a4: 0x6d39cc20, 0x1a0a5: 0x6cc6c820, 0x1a0a6: 0x6cca8e20, 0x1a0a7: 0x6cf38420, + 0x1a0a8: 0x6c144e20, 0x1a0a9: 0x6c795820, 0x1a0aa: 0x6ccdc420, 0x1a0ab: 0x6caede20, + 0x1a0ac: 0x6c980e20, 0x1a0ad: 0x6d050620, 0x1a0af: 0x6c237020, + 0x1a0b0: 0x6c796020, 0x1a0b1: 0x6d3bb220, 0x1a0b2: 0x6c154620, 0x1a0b3: 0x6cd84220, + 0x1a0b4: 0x6c1cf620, 0x1a0b5: 0x6cdcae20, 0x1a0b6: 0x6c076e20, 0x1a0b7: 0x6c769e20, + 0x1a0b9: 0x6d376020, 0x1a0ba: 0x6cf12620, 0x1a0bb: 0x6c9f8420, + 0x1a0bc: 0x6c8db220, 0x1a0bd: 0x6d414220, 0x1a0be: 0x6ca8d420, 0x1a0bf: 0x6c8dfc20, + // Block 0x683, offset 0x1a0c0 + 0x1a0c0: 0x6cb77420, 0x1a0c1: 0x6d26b020, 0x1a0c3: 0x6d186820, + 0x1a0c4: 0x6cf82220, 0x1a0c5: 0x6c18d820, 0x1a0c7: 0x6cc71e20, + 0x1a0c8: 0x6c18f820, 0x1a0c9: 0x6ca9da20, 0x1a0ca: 0x6d1ef220, 0x1a0cb: 0x6c618c20, + 0x1a0cc: 0x6c0ebe20, 0x1a0cd: 0x6c39ca20, + 0x1a0d0: 0x6c242220, 0x1a0d1: 0x6c2be820, 0x1a0d2: 0x6c684020, 0x1a0d3: 0x6d20fc20, + 0x1a0d4: 0x6c50fe20, 0x1a0d5: 0x6d06b220, 0x1a0d6: 0x6d22f820, 0x1a0d7: 0x6cc0f620, + 0x1a0d9: 0x6c044420, 0x1a0da: 0x6c44cc20, 0x1a0db: 0x6c6f0e20, + 0x1a0dd: 0x6d0bb820, 0x1a0de: 0x6cd5de20, 0x1a0df: 0x6d1f3e20, + 0x1a0e0: 0x6cd98e20, 0x1a0e1: 0x6d130820, 0x1a0e2: 0x6c125820, 0x1a0e3: 0x6d112a20, + 0x1a0e4: 0x6cd5fc20, 0x1a0e5: 0x6d0cba20, 0x1a0e6: 0x6cd67220, 0x1a0e7: 0x6c8aa220, + 0x1a0e8: 0x6c235020, 0x1a0e9: 0x6d23d420, 0x1a0ea: 0x6c0f6620, 0x1a0eb: 0x6cdbfe20, + 0x1a0ed: 0x6d0eca20, 0x1a0ee: 0x6c834820, 0x1a0ef: 0x6c8bf420, + 0x1a0f0: 0x6ce30220, 0x1a0f1: 0x6c31de20, 0x1a0f2: 0x6d272e20, 0x1a0f3: 0x6c611620, + 0x1a0f5: 0x6d278620, + 0x1a0f8: 0x6c706220, 0x1a0f9: 0x6c71a820, 0x1a0fa: 0x6c1e5820, 0x1a0fb: 0x6c18ac20, + 0x1a0fc: 0x6c457820, 0x1a0fd: 0x6cfe4220, 0x1a0fe: 0x6cfbee20, 0x1a0ff: 0x6c011c20, + // Block 0x684, offset 0x1a100 + 0x1a100: 0x6c4ae020, 0x1a101: 0x6d223220, 0x1a102: 0x6c82bc20, + 0x1a104: 0x6ce89c20, 0x1a105: 0x6c18b820, 0x1a106: 0x6d03e020, 0x1a107: 0x6cc03e20, + 0x1a108: 0x6c4f9a20, 0x1a10a: 0x6c292c20, 0x1a10b: 0x6c112e20, + 0x1a10c: 0x6c2bf420, 0x1a10d: 0x6d0d7020, 0x1a10e: 0x6d3e3020, + 0x1a110: 0x6d1bc020, 0x1a111: 0x6c14fa20, 0x1a113: 0x6c840020, + 0x1a114: 0x6cdd7e20, 0x1a115: 0x6c969c20, 0x1a116: 0x6c96a620, + 0x1a118: 0x6ce11e20, 0x1a119: 0x6cade620, 0x1a11a: 0x6c90ae20, 0x1a11b: 0x6cb51820, + 0x1a11c: 0x6c25ec20, 0x1a11d: 0x6ce8ee20, 0x1a11e: 0x6c369a20, 0x1a11f: 0x6c11aa20, + 0x1a120: 0x6c6b2c20, 0x1a121: 0x6d156420, 0x1a122: 0x6c60d020, 0x1a123: 0x6c294220, + 0x1a124: 0x6c752220, 0x1a125: 0x6c08cc20, 0x1a126: 0x6c832620, 0x1a127: 0x6d174a20, + 0x1a128: 0x6c214020, 0x1a129: 0x6c214620, 0x1a12a: 0x6cb38820, 0x1a12b: 0x6c83cc20, + 0x1a12c: 0x6d291420, 0x1a12d: 0x6cdf7020, 0x1a12e: 0x6cb39420, 0x1a12f: 0x6c242620, + 0x1a130: 0x6c725020, 0x1a131: 0x6d070620, 0x1a132: 0x6c395820, + 0x1a134: 0x6d070820, 0x1a135: 0x6c37d420, 0x1a136: 0x6c5d7e20, 0x1a137: 0x6d39b820, + 0x1a138: 0x6cc4c820, 0x1a139: 0x6c381c20, 0x1a13a: 0x6c72fc20, 0x1a13b: 0x6c4db620, + 0x1a13c: 0x6c896e20, 0x1a13d: 0x6d341220, 0x1a13e: 0x6c9d8220, 0x1a13f: 0x6d209a20, + // Block 0x685, offset 0x1a140 + 0x1a141: 0x6c133a20, 0x1a142: 0x6c9a2c20, 0x1a143: 0x6d1a0620, + 0x1a144: 0x6c9e4220, 0x1a145: 0x6ce8f620, 0x1a146: 0x6c7c9e20, + 0x1a149: 0x6c9d9a20, 0x1a14a: 0x6cc6ca20, 0x1a14b: 0x6d241c20, + 0x1a14c: 0x6cbae620, 0x1a14d: 0x6c9c8c20, 0x1a14e: 0x6c718020, 0x1a14f: 0x6cb07e20, + 0x1a150: 0x6c6cc620, 0x1a151: 0x6cee5e20, 0x1a152: 0x6c62c020, 0x1a153: 0x6c9baa20, + 0x1a154: 0x6c672020, 0x1a155: 0x6d098020, 0x1a156: 0x6c068220, 0x1a157: 0x6c420220, + 0x1a158: 0x6c161e20, 0x1a159: 0x6c87cc20, 0x1a15a: 0x6c851620, 0x1a15b: 0x6cc04020, + 0x1a15c: 0x6c33ee20, 0x1a15d: 0x6d1d3e20, 0x1a15e: 0x6d27ea20, 0x1a15f: 0x6c18ce20, + 0x1a160: 0x6d353220, 0x1a161: 0x6cc4ca20, 0x1a163: 0x6c94b220, + 0x1a164: 0x6c763a20, 0x1a165: 0x6c4b1420, 0x1a166: 0x6d26d620, 0x1a167: 0x6c5c0820, + 0x1a168: 0x6cb0b220, 0x1a169: 0x6c13f820, 0x1a16a: 0x6c34a820, 0x1a16b: 0x6c152220, + 0x1a16c: 0x6ccc1020, 0x1a16d: 0x6cd3c820, 0x1a16e: 0x6ccf7620, 0x1a16f: 0x6d03fa20, + 0x1a170: 0x6d1c9420, 0x1a171: 0x6cd3ca20, 0x1a172: 0x6c1c6420, 0x1a173: 0x6d134820, + 0x1a174: 0x6c4e3620, 0x1a175: 0x6c3ad420, 0x1a176: 0x6d134a20, 0x1a177: 0x6d0de220, + 0x1a178: 0x6d416220, 0x1a179: 0x6cd9ee20, 0x1a17a: 0x6c6c6620, 0x1a17b: 0x6c351a20, + 0x1a17c: 0x6cfd2220, 0x1a17d: 0x6c492e20, 0x1a17e: 0x6ce1f820, 0x1a17f: 0x6cbcfa20, + // Block 0x686, offset 0x1a180 + 0x1a180: 0x6c15f420, 0x1a181: 0x6c4e4420, 0x1a182: 0x6c9c1420, 0x1a183: 0x6d26fc20, + 0x1a184: 0x6c247020, 0x1a185: 0x6cba8420, 0x1a186: 0x6c6cc420, 0x1a187: 0x6ccdd020, + 0x1a188: 0x6ca25820, 0x1a189: 0x6d251e20, 0x1a18b: 0x6cae8a20, + 0x1a18c: 0x6d336e20, 0x1a18d: 0x6d374a20, 0x1a18e: 0x6c216c20, 0x1a18f: 0x6d22aa20, + 0x1a190: 0x6ca1f820, 0x1a191: 0x6cedae20, 0x1a192: 0x6c681020, 0x1a193: 0x6cb54c20, + 0x1a194: 0x6cdb5e20, 0x1a195: 0x6cb1e220, 0x1a196: 0x6ce4d020, 0x1a197: 0x6c7b7820, + 0x1a198: 0x6c247a20, 0x1a199: 0x6cdcb820, 0x1a19b: 0x6c6a4220, + 0x1a19c: 0x6c671420, 0x1a19d: 0x6c028820, 0x1a19e: 0x6c696e20, 0x1a19f: 0x6d138e20, + 0x1a1a1: 0x6d139020, 0x1a1a2: 0x6c8ff020, 0x1a1a3: 0x6d2a3620, + 0x1a1a4: 0x6c05de20, 0x1a1a5: 0x6c889a20, 0x1a1a7: 0x6c58c620, + 0x1a1a8: 0x6c942620, 0x1a1a9: 0x6cef7820, 0x1a1aa: 0x6cfc5820, 0x1a1ab: 0x6ce60a20, + 0x1a1ac: 0x6c0fc820, 0x1a1ad: 0x6d337620, 0x1a1ae: 0x6d3a3e20, 0x1a1af: 0x6c06c420, + 0x1a1b0: 0x6c9bba20, 0x1a1b1: 0x6d015220, 0x1a1b2: 0x6cab6820, 0x1a1b3: 0x6d1ed820, + 0x1a1b5: 0x6cffc820, 0x1a1b6: 0x6c87aa20, 0x1a1b7: 0x6d2c6e20, + 0x1a1b8: 0x6c9cd020, 0x1a1ba: 0x6d128420, + 0x1a1bd: 0x6cb31620, 0x1a1be: 0x6d014220, + // Block 0x687, offset 0x1a1c0 + 0x1a1c2: 0x6ccdd220, 0x1a1c3: 0x6d3d1420, + 0x1a1c5: 0x6ccddc20, 0x1a1c6: 0x6c754020, 0x1a1c7: 0x6c61fc20, + 0x1a1c8: 0x6c6a2620, 0x1a1ca: 0x6ca7a420, 0x1a1cb: 0x6c028420, + 0x1a1cc: 0x6c1f3a20, 0x1a1cd: 0x6cf4e420, 0x1a1ce: 0x6c495420, 0x1a1cf: 0x6d01b820, + 0x1a1d0: 0x6ce6d020, 0x1a1d1: 0x6d096220, 0x1a1d2: 0x6c297220, 0x1a1d3: 0x6d2d8620, + 0x1a1d4: 0x6ce06620, 0x1a1d5: 0x6cae7c20, 0x1a1d6: 0x6d00d420, 0x1a1d7: 0x6d072020, + 0x1a1d8: 0x6cfcf220, 0x1a1d9: 0x6cd8d820, 0x1a1da: 0x6c7aee20, 0x1a1db: 0x6d335a20, + 0x1a1dc: 0x6cf3e620, 0x1a1dd: 0x6c5d5c20, 0x1a1de: 0x6cc90620, 0x1a1df: 0x6cf1ee20, + 0x1a1e0: 0x6c317a20, 0x1a1e1: 0x6c58a020, 0x1a1e2: 0x6c7e1420, 0x1a1e3: 0x6c405a20, + 0x1a1e4: 0x6c1fd020, 0x1a1e5: 0x6cfba420, 0x1a1e6: 0x6cbdae20, 0x1a1e7: 0x6cbc8820, + 0x1a1e8: 0x6c7fba20, 0x1a1ea: 0x6d0bca20, 0x1a1eb: 0x6d1c0220, + 0x1a1ec: 0x6cc40820, 0x1a1ed: 0x6c4f5620, 0x1a1ee: 0x6c218c20, 0x1a1ef: 0x6d371e20, + 0x1a1f1: 0x6cf05620, 0x1a1f2: 0x6d0d0620, 0x1a1f3: 0x6cfe6a20, + 0x1a1f4: 0x6d194c20, 0x1a1f5: 0x6ca66a20, 0x1a1f6: 0x6d335c20, 0x1a1f7: 0x6c1fca20, + 0x1a1f9: 0x6cd23020, 0x1a1fa: 0x6c2f4a20, 0x1a1fb: 0x6d3ee020, + 0x1a1fc: 0x6c73e820, 0x1a1fd: 0x6d067620, 0x1a1fe: 0x6d255a20, + // Block 0x688, offset 0x1a200 + 0x1a201: 0x6d063020, 0x1a202: 0x6c2a0220, 0x1a203: 0x6ce48620, + 0x1a204: 0x6c448020, 0x1a205: 0x6d14b420, 0x1a206: 0x6c532420, 0x1a207: 0x6d13dc20, + 0x1a209: 0x6c851220, 0x1a20a: 0x6c7a3820, 0x1a20b: 0x6cfc0820, + 0x1a20c: 0x6cdbbe20, 0x1a20d: 0x6cf87620, 0x1a20e: 0x6d088620, + 0x1a211: 0x6c2b2a20, 0x1a212: 0x6c7f0420, 0x1a213: 0x6d387e20, + 0x1a214: 0x6ca76420, 0x1a215: 0x6c19f820, 0x1a216: 0x6c668620, 0x1a217: 0x6c09ba20, + 0x1a218: 0x6d3bc820, 0x1a219: 0x6c8d1620, 0x1a21a: 0x6c504e20, 0x1a21b: 0x6c058020, + 0x1a21c: 0x6ce10a20, 0x1a21d: 0x6c1ac220, 0x1a21e: 0x6c96c820, 0x1a21f: 0x6cfce420, + 0x1a220: 0x6cd69420, 0x1a221: 0x6d1da020, 0x1a222: 0x6cc12c20, + 0x1a224: 0x6cb44c20, 0x1a225: 0x6c5c2020, 0x1a226: 0x6cef3620, 0x1a227: 0x6d161620, + 0x1a228: 0x6d134c20, 0x1a22a: 0x6c184820, 0x1a22b: 0x6c4ff820, + 0x1a22c: 0x6c0d5a20, 0x1a22e: 0x6cfd3620, 0x1a22f: 0x6c155e20, + 0x1a230: 0x6c5d4e20, 0x1a232: 0x6c4ebc20, 0x1a233: 0x6c224220, + 0x1a234: 0x6d33ec20, 0x1a235: 0x6cb5f220, 0x1a236: 0x6c7c7e20, 0x1a237: 0x6cc75620, + 0x1a239: 0x6d1bca20, 0x1a23a: 0x6d047e20, + 0x1a23c: 0x6c55a020, 0x1a23d: 0x6c250620, 0x1a23f: 0x6cc3fc20, + // Block 0x689, offset 0x1a240 + 0x1a240: 0x6c2b9220, 0x1a241: 0x6cf53020, 0x1a242: 0x6cbfd020, + 0x1a244: 0x6d0eee20, 0x1a245: 0x6c8a5020, 0x1a246: 0x6c08a620, + 0x1a248: 0x6c0d7220, 0x1a24a: 0x6d252c20, 0x1a24b: 0x6caaa620, + 0x1a24c: 0x6c05c620, 0x1a24d: 0x6d1cf220, 0x1a24e: 0x6c536c20, 0x1a24f: 0x6c225820, + 0x1a250: 0x6cb87220, 0x1a251: 0x6ce35a20, 0x1a252: 0x6d23b220, 0x1a253: 0x6c824c20, + 0x1a254: 0x6c05d020, 0x1a256: 0x6c625620, 0x1a257: 0x6c3ee820, + 0x1a258: 0x6cfd0420, 0x1a259: 0x6c133820, 0x1a25a: 0x6c550620, 0x1a25b: 0x6ccb6620, + 0x1a25c: 0x6c080a20, 0x1a25d: 0x6cbe5620, 0x1a25e: 0x6d22a020, 0x1a25f: 0x6cebf620, + 0x1a260: 0x6c007a20, 0x1a261: 0x6c4e3c20, 0x1a262: 0x6c28d020, 0x1a263: 0x6c444620, + 0x1a264: 0x6c2b9c20, 0x1a265: 0x6c5e2020, 0x1a266: 0x6cace420, + 0x1a268: 0x6d3c6a20, 0x1a269: 0x6c8d7c20, 0x1a26a: 0x6c970820, 0x1a26b: 0x6c974820, + 0x1a26c: 0x6c888c20, 0x1a26d: 0x6cff4220, 0x1a26e: 0x6d093220, 0x1a26f: 0x6d327820, + 0x1a270: 0x6cb3b820, 0x1a271: 0x6c408e20, 0x1a272: 0x6caa0e20, 0x1a273: 0x6cf93220, + 0x1a274: 0x6c338e20, 0x1a275: 0x6c28f020, 0x1a276: 0x6d280c20, 0x1a277: 0x6cfd5220, + 0x1a278: 0x6d1b3020, 0x1a279: 0x6cd52220, 0x1a27a: 0x6c339420, 0x1a27b: 0x6c086820, + 0x1a27c: 0x6c56e620, 0x1a27d: 0x6c3a5420, 0x1a27e: 0x6c3aa820, 0x1a27f: 0x6d28be20, + // Block 0x68a, offset 0x1a280 + 0x1a280: 0x6c075620, 0x1a281: 0x6c3a2820, 0x1a282: 0x6cfab820, 0x1a283: 0x6cd3ae20, + 0x1a284: 0x6c9e3020, 0x1a285: 0x6d2e0820, 0x1a286: 0x6d2e0a20, 0x1a287: 0x6d2d8c20, + 0x1a288: 0x6c5c4820, 0x1a289: 0x6c3f8820, 0x1a28a: 0x6ced5a20, 0x1a28b: 0x6ca0b420, + 0x1a28c: 0x6cbc1020, 0x1a28d: 0x6c8a8a20, 0x1a28f: 0x6c9f1e20, + 0x1a290: 0x6c54d820, 0x1a291: 0x6c535e20, 0x1a292: 0x6d213c20, 0x1a293: 0x6cb60820, + 0x1a294: 0x6c350420, 0x1a295: 0x6c020020, 0x1a297: 0x6c03ba20, + 0x1a298: 0x6c2c7820, 0x1a299: 0x6d08aa20, 0x1a29a: 0x6c2c8a20, 0x1a29b: 0x6c0a0e20, + 0x1a29c: 0x6d393e20, 0x1a29d: 0x6cad6020, 0x1a29e: 0x6ce5f620, 0x1a29f: 0x6d155020, + 0x1a2a1: 0x6c63ea20, 0x1a2a2: 0x6d36f220, 0x1a2a3: 0x6ce8f820, + 0x1a2a4: 0x6d00f820, 0x1a2a5: 0x6c28ba20, 0x1a2a6: 0x6ce5a620, 0x1a2a7: 0x6d022620, + 0x1a2a8: 0x6c172620, 0x1a2a9: 0x6d25f220, 0x1a2aa: 0x6c496a20, 0x1a2ab: 0x6c89a420, + 0x1a2ac: 0x6c083220, 0x1a2ae: 0x6c930020, 0x1a2af: 0x6c60e420, + 0x1a2b0: 0x6d08c220, 0x1a2b1: 0x6cd62420, 0x1a2b2: 0x6c318220, 0x1a2b3: 0x6cd9f420, + 0x1a2b4: 0x6c55e220, 0x1a2b5: 0x6d286420, 0x1a2b6: 0x6c160820, 0x1a2b7: 0x6c054620, + 0x1a2b8: 0x6cc6da20, 0x1a2b9: 0x6c359c20, 0x1a2ba: 0x6cf24020, 0x1a2bb: 0x6c03ca20, + 0x1a2bc: 0x6c3cc220, 0x1a2bd: 0x6d209e20, 0x1a2be: 0x6d310c20, 0x1a2bf: 0x6c3bae20, + // Block 0x68b, offset 0x1a2c0 + 0x1a2c0: 0x6c496c20, 0x1a2c1: 0x6c104c20, 0x1a2c2: 0x6c446220, 0x1a2c3: 0x6c33c420, + 0x1a2c4: 0x6c5a3420, 0x1a2c5: 0x6c31f820, 0x1a2c6: 0x6ce3ce20, 0x1a2c7: 0x6c0fcc20, + 0x1a2c8: 0x6cba8a20, 0x1a2c9: 0x6c8b8220, 0x1a2ca: 0x6c901620, 0x1a2cb: 0x6cf13420, + 0x1a2cc: 0x6d2eac20, 0x1a2cd: 0x6c801820, 0x1a2ce: 0x6cdbea20, 0x1a2cf: 0x6ca36020, + 0x1a2d0: 0x6c0a1020, 0x1a2d1: 0x6ceb3e20, 0x1a2d2: 0x6d3b1a20, 0x1a2d3: 0x6c2e5c20, + 0x1a2d4: 0x6c104620, 0x1a2d5: 0x6c716820, 0x1a2d6: 0x6cb3b020, 0x1a2d7: 0x6cfa0c20, + 0x1a2d8: 0x6cf04420, 0x1a2d9: 0x6cb3b420, 0x1a2da: 0x6c267420, 0x1a2db: 0x6c387220, + 0x1a2dc: 0x6c14e420, 0x1a2dd: 0x6c56f020, 0x1a2de: 0x6d28c020, + 0x1a2e4: 0x6c38f020, 0x1a2e5: 0x6d028a20, 0x1a2e6: 0x6c536020, 0x1a2e7: 0x6c1b2e20, + 0x1a2e8: 0x6c05c820, 0x1a2e9: 0x6d1a7a20, 0x1a2eb: 0x6c6dd220, + 0x1a2ec: 0x6c0f6820, 0x1a2ed: 0x6cc88820, 0x1a2ee: 0x6c1e3a20, 0x1a2ef: 0x6d1c1220, + 0x1a2f0: 0x6d143a20, 0x1a2f1: 0x6c411820, 0x1a2f2: 0x6c7d6c20, 0x1a2f3: 0x6d27f020, + 0x1a2f4: 0x6d31ec20, 0x1a2f5: 0x6d0b5a20, 0x1a2f6: 0x6c70b820, 0x1a2f7: 0x6c547a20, + 0x1a2f8: 0x6c9f7620, 0x1a2f9: 0x6c040220, 0x1a2fa: 0x6c441c20, 0x1a2fb: 0x6c0bb220, + 0x1a2fc: 0x6d3d0820, 0x1a2fd: 0x6c505420, 0x1a2fe: 0x6d31ee20, 0x1a2ff: 0x6cd14a20, + // Block 0x68c, offset 0x1a300 + 0x1a300: 0x6c44a020, 0x1a301: 0x6c0a3e20, 0x1a302: 0x6c34b220, 0x1a303: 0x6c216820, + 0x1a304: 0x6c1fb220, 0x1a305: 0x6cca5a20, 0x1a306: 0x6c1a4620, 0x1a307: 0x6cc48a20, + 0x1a308: 0x6c191220, 0x1a309: 0x6c99b820, 0x1a30a: 0x6cadf220, 0x1a30b: 0x6ceec220, + 0x1a30c: 0x6cb07420, 0x1a30d: 0x6c3f8c20, 0x1a30e: 0x6d3d0e20, 0x1a30f: 0x6cb53c20, + 0x1a310: 0x6c8bec20, 0x1a311: 0x6d142020, 0x1a312: 0x6c9adc20, 0x1a313: 0x6cf3f820, + 0x1a314: 0x6cb7fa20, 0x1a315: 0x6c2f0020, 0x1a316: 0x6c191a20, 0x1a317: 0x6cfa0e20, + 0x1a318: 0x6c518e20, 0x1a319: 0x6cca9220, 0x1a31a: 0x6c487e20, 0x1a31b: 0x6c543e20, + 0x1a31c: 0x6c023420, 0x1a31d: 0x6c3f9420, 0x1a31e: 0x6cbbc620, 0x1a31f: 0x6c5d4c20, + 0x1a320: 0x6cafa220, 0x1a321: 0x6d0cf820, 0x1a322: 0x6cd84420, 0x1a323: 0x6cf7b420, + 0x1a324: 0x6ca02420, 0x1a325: 0x6c7ce420, 0x1a326: 0x6c445620, + 0x1a328: 0x6c02fc20, 0x1a329: 0x6cca4220, 0x1a32a: 0x6cd6ee20, 0x1a32b: 0x6c90d820, + 0x1a32c: 0x6d320620, 0x1a32d: 0x6c5c9a20, 0x1a32e: 0x6c156620, + 0x1a330: 0x6c8c8420, 0x1a331: 0x6ca2ee20, 0x1a332: 0x6c4f3c20, 0x1a333: 0x6c31fc20, + 0x1a334: 0x6c6d7820, 0x1a335: 0x6c9df420, 0x1a336: 0x6c38fa20, 0x1a337: 0x6c370020, + 0x1a338: 0x6c174220, 0x1a339: 0x6c536220, 0x1a33a: 0x6c536e20, 0x1a33b: 0x6d238820, + 0x1a33c: 0x6d096a20, 0x1a33d: 0x6cad3a20, 0x1a33e: 0x6c088220, 0x1a33f: 0x6c175220, + // Block 0x68d, offset 0x1a340 + 0x1a340: 0x6d1fe220, 0x1a341: 0x6d153a20, 0x1a342: 0x6d096e20, 0x1a343: 0x6cc97e20, + 0x1a344: 0x6d073420, 0x1a345: 0x6c866820, 0x1a346: 0x6c868a20, 0x1a347: 0x6d263220, + 0x1a348: 0x6c336220, 0x1a349: 0x6c5e0420, 0x1a34a: 0x6ccc7e20, 0x1a34b: 0x6c838c20, + 0x1a34c: 0x6cb3ce20, 0x1a34d: 0x6c550e20, 0x1a34e: 0x6c4c8e20, 0x1a34f: 0x6c10c420, + 0x1a350: 0x6cc8a620, 0x1a351: 0x6cf0fa20, 0x1a352: 0x6cd9f620, 0x1a353: 0x6c01dc20, + 0x1a354: 0x6d21cc20, 0x1a355: 0x6cfd8e20, 0x1a356: 0x6c527c20, 0x1a357: 0x6d0fea20, + 0x1a358: 0x6cff4420, 0x1a359: 0x6d116820, 0x1a35b: 0x6c0ac020, + 0x1a35d: 0x6c528420, 0x1a35e: 0x6ce25620, 0x1a35f: 0x6c8eee20, + 0x1a361: 0x6d3b3420, 0x1a363: 0x6cf89a20, + 0x1a364: 0x6d298e20, 0x1a365: 0x6d17d420, 0x1a366: 0x6c312a20, 0x1a367: 0x6d259020, + 0x1a368: 0x6c700820, 0x1a36a: 0x6c0f2020, 0x1a36b: 0x6ce35c20, + 0x1a36c: 0x6d1d0220, 0x1a36e: 0x6d154020, 0x1a36f: 0x6ca70420, + 0x1a370: 0x6ccee220, 0x1a371: 0x6c07c020, 0x1a372: 0x6c465620, 0x1a373: 0x6c04d420, + 0x1a374: 0x6ca14820, 0x1a375: 0x6c410420, 0x1a376: 0x6c372620, 0x1a377: 0x6ccf2e20, + 0x1a379: 0x6d36d620, 0x1a37a: 0x6d106c20, 0x1a37b: 0x6c66ca20, + 0x1a37c: 0x6d263420, 0x1a37d: 0x6cd73020, 0x1a37e: 0x6ce38420, 0x1a37f: 0x6cf02020, + // Block 0x68e, offset 0x1a380 + 0x1a380: 0x6d0aaa20, 0x1a381: 0x6d36f620, 0x1a382: 0x6d18bc20, 0x1a383: 0x6cc59c20, + 0x1a384: 0x6cd3ee20, 0x1a385: 0x6c55d420, 0x1a386: 0x6ca55620, 0x1a387: 0x6d126a20, + 0x1a388: 0x6c66f820, 0x1a389: 0x6cdc1220, 0x1a38a: 0x6d1d1e20, 0x1a38b: 0x6c061a20, + 0x1a38c: 0x6c55e420, 0x1a38d: 0x6c55e620, 0x1a38e: 0x6d137a20, + 0x1a390: 0x6d107420, 0x1a391: 0x6c888e20, 0x1a392: 0x6cf72620, 0x1a393: 0x6c372820, + 0x1a394: 0x6c331c20, 0x1a395: 0x6d297e20, 0x1a396: 0x6d3b4420, 0x1a397: 0x6d1d2820, + 0x1a398: 0x6d1d2c20, 0x1a399: 0x6c6cca20, 0x1a39a: 0x6c208820, 0x1a39b: 0x6c28ec20, + 0x1a39d: 0x6c7b4a20, 0x1a39e: 0x6d196020, 0x1a39f: 0x6d139a20, + 0x1a3a0: 0x6c662e20, 0x1a3a1: 0x6c372a20, 0x1a3a2: 0x6ca93e20, 0x1a3a3: 0x6c228820, + 0x1a3a4: 0x6cba3420, 0x1a3a5: 0x6d098220, 0x1a3a6: 0x6c0ea420, 0x1a3a7: 0x6c9d1420, + 0x1a3a8: 0x6cd73a20, 0x1a3a9: 0x6ca0a620, 0x1a3aa: 0x6c897c20, 0x1a3ab: 0x6cb71820, + 0x1a3ac: 0x6cb71a20, 0x1a3ad: 0x6cd44c20, 0x1a3ae: 0x6c3f2020, 0x1a3af: 0x6c0f3a20, + 0x1a3b0: 0x6c085820, 0x1a3b1: 0x6c0d0020, 0x1a3b2: 0x6d161c20, 0x1a3b3: 0x6cf13a20, + 0x1a3b4: 0x6c587e20, 0x1a3b5: 0x6c38ac20, 0x1a3b6: 0x6cb60e20, 0x1a3b7: 0x6c98f620, + 0x1a3b8: 0x6c060820, 0x1a3b9: 0x6c020420, 0x1a3ba: 0x6c020a20, 0x1a3bb: 0x6c403020, + 0x1a3bc: 0x6cb63020, 0x1a3bd: 0x6cc45020, 0x1a3be: 0x6ceb4020, 0x1a3bf: 0x6d187420, + // Block 0x68f, offset 0x1a3c0 + 0x1a3c0: 0x6c0f5420, 0x1a3c1: 0x6cb12820, 0x1a3c2: 0x6c039220, + 0x1a3c4: 0x6d082220, 0x1a3c7: 0x6d23fe20, + 0x1a3c8: 0x6c1b5620, 0x1a3c9: 0x6c915e20, 0x1a3ca: 0x6d156820, 0x1a3cb: 0x6c868c20, + 0x1a3cd: 0x6ca7b020, 0x1a3ce: 0x6cf90220, 0x1a3cf: 0x6cf3fa20, + 0x1a3d1: 0x6c834a20, 0x1a3d2: 0x6cb41a20, 0x1a3d3: 0x6d3d1220, + 0x1a3d4: 0x6d417e20, 0x1a3d5: 0x6d3dc620, 0x1a3d6: 0x6c168220, 0x1a3d7: 0x6c01de20, + 0x1a3d8: 0x6c377220, 0x1a3d9: 0x6d244620, 0x1a3da: 0x6c839c20, 0x1a3db: 0x6c408220, + 0x1a3dc: 0x6d2c6420, 0x1a3dd: 0x6c5d0a20, 0x1a3de: 0x6c218e20, 0x1a3df: 0x6cd9fe20, + 0x1a3e0: 0x6c089a20, 0x1a3e1: 0x6c0ab420, 0x1a3e2: 0x6d2c6620, + 0x1a3e4: 0x6c519e20, 0x1a3e5: 0x6c873a20, 0x1a3e7: 0x6c4f3220, + 0x1a3e8: 0x6d292220, 0x1a3e9: 0x6c474a20, 0x1a3ea: 0x6c1a5e20, 0x1a3eb: 0x6c90dc20, + 0x1a3ec: 0x6ca19e20, 0x1a3ed: 0x6c9daa20, 0x1a3ee: 0x6c975020, 0x1a3ef: 0x6c030420, + 0x1a3f0: 0x6d30c020, 0x1a3f1: 0x6d3a3a20, 0x1a3f2: 0x6c5a3820, 0x1a3f3: 0x6c38f620, + 0x1a3f4: 0x6c2b0220, 0x1a3f5: 0x6ce7a420, 0x1a3f7: 0x6c320220, + 0x1a3f8: 0x6cf33620, 0x1a3f9: 0x6cf13020, 0x1a3fa: 0x6c62f620, 0x1a3fb: 0x6c1ca020, + 0x1a3fc: 0x6c8c1220, 0x1a3fd: 0x6c0c6420, 0x1a3fe: 0x6c901e20, 0x1a3ff: 0x6c664a20, + // Block 0x690, offset 0x1a400 + 0x1a400: 0x6ca8da20, 0x1a401: 0x6c959e20, 0x1a402: 0x6cd03420, + 0x1a404: 0x6c487a20, 0x1a405: 0x6ca8a820, 0x1a406: 0x6d178a20, 0x1a407: 0x6c7a4820, + 0x1a408: 0x6cece220, 0x1a409: 0x6cebee20, 0x1a40a: 0x6cb87620, 0x1a40b: 0x6c0f5620, + 0x1a40c: 0x6c779220, 0x1a40d: 0x6c8d5020, 0x1a40e: 0x6c423020, 0x1a40f: 0x6c487820, + 0x1a410: 0x6c4d2c20, 0x1a411: 0x6c7bb020, 0x1a412: 0x6c527420, 0x1a413: 0x6c7c4620, + 0x1a414: 0x6d2b0a20, 0x1a415: 0x6ce64e20, 0x1a416: 0x6c80ee20, 0x1a417: 0x6c0a8020, + 0x1a418: 0x6c595a20, 0x1a419: 0x6cb3aa20, 0x1a41a: 0x6d11de20, 0x1a41b: 0x6cedaa20, + 0x1a41c: 0x6ce43c20, 0x1a41d: 0x6cdc1620, 0x1a41e: 0x6c7ad020, 0x1a41f: 0x6c337e20, + 0x1a420: 0x6c02b620, 0x1a421: 0x6c671620, 0x1a422: 0x6ca09c20, 0x1a423: 0x6c7d4220, + 0x1a424: 0x6c7b4c20, 0x1a425: 0x6c01e620, 0x1a426: 0x6c96ea20, 0x1a427: 0x6cbeaa20, + 0x1a428: 0x6cbb8820, 0x1a42a: 0x6c77b820, 0x1a42b: 0x6c508220, + 0x1a42c: 0x6c34c820, 0x1a42d: 0x6cfaa820, 0x1a42e: 0x6ca37c20, 0x1a42f: 0x6cdd3420, + 0x1a430: 0x6c6bf820, 0x1a431: 0x6caf8220, 0x1a432: 0x6cabcc20, 0x1a433: 0x6cd93020, + 0x1a434: 0x6c16bc20, 0x1a435: 0x6ca86c20, 0x1a436: 0x6c977620, 0x1a437: 0x6cd93e20, + 0x1a438: 0x6c22e420, 0x1a439: 0x6cfae420, 0x1a43a: 0x6c7e2420, + 0x1a43c: 0x6c2b9e20, 0x1a43d: 0x6cb3e420, 0x1a43e: 0x6ce5ac20, 0x1a43f: 0x6d40f420, + // Block 0x691, offset 0x1a440 + 0x1a440: 0x6cf2c820, 0x1a441: 0x6c3ae420, 0x1a442: 0x6c115020, 0x1a443: 0x6caee220, + 0x1a444: 0x6cc9d620, 0x1a446: 0x6cc76e20, 0x1a447: 0x6cb68620, + 0x1a448: 0x6c25fc20, 0x1a449: 0x6cac8e20, 0x1a44a: 0x6c0fc020, 0x1a44b: 0x6c979c20, + 0x1a44c: 0x6d401420, 0x1a44d: 0x6c22f220, 0x1a44e: 0x6c7d4420, 0x1a44f: 0x6c62f820, + 0x1a450: 0x6c801420, 0x1a452: 0x6c9bc220, 0x1a453: 0x6c9df820, + 0x1a454: 0x6cac9620, 0x1a455: 0x6c91aa20, 0x1a456: 0x6d416020, + 0x1a458: 0x6c8ee220, 0x1a459: 0x6d160020, 0x1a45a: 0x6cf1a820, 0x1a45b: 0x6c866c20, + 0x1a45c: 0x6c868e20, 0x1a45d: 0x6d2bb820, 0x1a45e: 0x6d3a9220, 0x1a45f: 0x6c5cfc20, + 0x1a460: 0x6cd03c20, 0x1a461: 0x6c1c6620, 0x1a462: 0x6d043c20, 0x1a463: 0x6cee3a20, + 0x1a464: 0x6c302020, 0x1a465: 0x6c5e2220, 0x1a466: 0x6cb07a20, 0x1a467: 0x6c551420, + 0x1a468: 0x6c9ab420, 0x1a469: 0x6c17f420, 0x1a46a: 0x6c9ab820, 0x1a46b: 0x6c175820, + 0x1a46c: 0x6c719620, 0x1a46d: 0x6caa3420, 0x1a46f: 0x6d197620, + 0x1a470: 0x6cc7f020, 0x1a471: 0x6c8e0420, 0x1a472: 0x6d0bba20, + 0x1a474: 0x6cb7bc20, 0x1a475: 0x6d3e7620, 0x1a477: 0x6c058c20, + 0x1a478: 0x6c45aa20, 0x1a479: 0x6d2af620, 0x1a47a: 0x6c6bfe20, 0x1a47b: 0x6d219a20, + 0x1a47c: 0x6cbd9820, 0x1a47d: 0x6c075820, 0x1a47e: 0x6c035820, 0x1a47f: 0x6ceb5020, + // Block 0x692, offset 0x1a480 + 0x1a480: 0x6d0f6c20, 0x1a481: 0x6cbbfc20, 0x1a482: 0x6d1ff220, 0x1a483: 0x6d36fa20, + 0x1a484: 0x6c6c0a20, 0x1a485: 0x6ca16a20, 0x1a486: 0x6cd12420, 0x1a487: 0x6ccdb820, + 0x1a488: 0x6cb65620, 0x1a489: 0x6ccdba20, 0x1a48a: 0x6c9d0420, 0x1a48b: 0x6c460220, + 0x1a48c: 0x6d157c20, 0x1a48d: 0x6c453e20, 0x1a48e: 0x6c454020, 0x1a48f: 0x6ce82020, + 0x1a490: 0x6c3dac20, 0x1a491: 0x6d092220, 0x1a492: 0x6d137e20, 0x1a493: 0x6ce69a20, + 0x1a494: 0x6ce5ae20, 0x1a495: 0x6ca1f620, 0x1a496: 0x6c8ec620, 0x1a497: 0x6c117e20, + 0x1a498: 0x6c848020, 0x1a499: 0x6cd51820, 0x1a49a: 0x6c932420, 0x1a49b: 0x6c5e3a20, + 0x1a49c: 0x6c263c20, 0x1a49d: 0x6cac1220, 0x1a49e: 0x6c8ed420, 0x1a49f: 0x6c72b820, + 0x1a4a0: 0x6d2e9220, 0x1a4a1: 0x6c718220, 0x1a4a2: 0x6d330a20, 0x1a4a3: 0x6d40f820, + 0x1a4a4: 0x6cfd3820, 0x1a4a5: 0x6d375020, + 0x1a4a8: 0x6c7eb020, 0x1a4ab: 0x6c7ebe20, + 0x1a4ac: 0x6d060a20, 0x1a4ad: 0x6c454220, 0x1a4ae: 0x6c35a220, 0x1a4af: 0x6ca21e20, + 0x1a4b0: 0x6d384a20, 0x1a4b1: 0x6ce3aa20, 0x1a4b2: 0x6d25ce20, 0x1a4b3: 0x6d2dc020, + 0x1a4b4: 0x6c454420, 0x1a4b5: 0x6cf24420, 0x1a4b6: 0x6c80f420, 0x1a4b7: 0x6d21f620, + 0x1a4b8: 0x6cda0820, 0x1a4b9: 0x6d2ca020, 0x1a4ba: 0x6c4d3620, 0x1a4bb: 0x6c576e20, + 0x1a4bc: 0x6d2e3e20, 0x1a4be: 0x6c90de20, 0x1a4bf: 0x6c165020, + // Block 0x693, offset 0x1a4c0 + 0x1a4c0: 0x6d376c20, 0x1a4c1: 0x6cf12820, 0x1a4c2: 0x6d083c20, 0x1a4c3: 0x6d2a6420, + 0x1a4c4: 0x6c9f8620, 0x1a4c5: 0x6c4aac20, 0x1a4c6: 0x6cda7020, + 0x1a4c9: 0x6cd85420, 0x1a4ca: 0x6c352820, 0x1a4cb: 0x6c134220, + 0x1a4cc: 0x6c7b7a20, 0x1a4cd: 0x6ce2dc20, 0x1a4ce: 0x6ca57c20, 0x1a4cf: 0x6c819620, + 0x1a4d0: 0x6c920820, 0x1a4d1: 0x6d159e20, 0x1a4d2: 0x6d029220, 0x1a4d3: 0x6d0e2a20, + 0x1a4d4: 0x6cbe9820, 0x1a4d5: 0x6cb42420, 0x1a4d6: 0x6c1e1220, 0x1a4d7: 0x6cfbe020, + 0x1a4d8: 0x6c497020, 0x1a4d9: 0x6c6b8a20, 0x1a4da: 0x6c7f8220, 0x1a4db: 0x6c9bca20, + 0x1a4dc: 0x6d13ac20, 0x1a4de: 0x6c869420, 0x1a4df: 0x6d1b8420, + 0x1a4e0: 0x6c212620, 0x1a4e1: 0x6cbfde20, 0x1a4e2: 0x6ce2d220, 0x1a4e3: 0x6d21f820, + 0x1a4e6: 0x6c278420, 0x1a4e7: 0x6c327420, + 0x1a4e8: 0x6c537e20, 0x1a4ea: 0x6cf8c220, + 0x1a4ec: 0x6cb64820, 0x1a4ee: 0x6d25a620, 0x1a4ef: 0x6c609e20, + 0x1a4f0: 0x6d285020, 0x1a4f1: 0x6c39dc20, 0x1a4f2: 0x6c45ac20, 0x1a4f3: 0x6c4f8820, + 0x1a4f4: 0x6d326620, 0x1a4f5: 0x6cc3f620, + 0x1a4f8: 0x6c6c0220, 0x1a4f9: 0x6cb02020, 0x1a4fa: 0x6c423220, 0x1a4fb: 0x6d082820, + 0x1a4fc: 0x6cd11420, 0x1a4fd: 0x6cd28c20, 0x1a4fe: 0x6cbc2a20, 0x1a4ff: 0x6c227020, + // Block 0x694, offset 0x1a500 + 0x1a500: 0x6c2eee20, 0x1a501: 0x6c0f7220, 0x1a502: 0x6c2de620, 0x1a503: 0x6ced5020, + 0x1a504: 0x6c227220, 0x1a505: 0x6d355420, 0x1a506: 0x6c041220, 0x1a507: 0x6cf47e20, + 0x1a508: 0x6c061820, 0x1a509: 0x6c28be20, 0x1a50a: 0x6c039420, 0x1a50b: 0x6ce79620, + 0x1a50d: 0x6c45bc20, 0x1a50e: 0x6c702e20, 0x1a50f: 0x6c4b8620, + 0x1a510: 0x6c22e820, 0x1a511: 0x6d1ff420, 0x1a512: 0x6d25ba20, 0x1a513: 0x6c81be20, + 0x1a514: 0x6c716e20, 0x1a515: 0x6c3f1820, 0x1a516: 0x6ca88e20, 0x1a517: 0x6c358c20, + 0x1a518: 0x6c358e20, 0x1a519: 0x6d040e20, 0x1a51a: 0x6c771620, 0x1a51b: 0x6d0ee220, + 0x1a51c: 0x6ce90220, 0x1a51d: 0x6cb3f820, 0x1a51e: 0x6c083820, 0x1a51f: 0x6ca02620, + 0x1a520: 0x6cd73620, 0x1a521: 0x6d0ef220, 0x1a522: 0x6cb68c20, 0x1a523: 0x6d25ca20, + 0x1a524: 0x6c0cca20, 0x1a526: 0x6d07f220, 0x1a527: 0x6c544220, + 0x1a528: 0x6c5a3020, 0x1a529: 0x6d10c220, 0x1a52a: 0x6c73a220, 0x1a52b: 0x6c7cb220, + 0x1a52c: 0x6c36de20, 0x1a52d: 0x6c60f620, 0x1a52e: 0x6ca19220, 0x1a52f: 0x6c1d2e20, + 0x1a530: 0x6c062220, 0x1a531: 0x6cf54e20, 0x1a532: 0x6d327a20, 0x1a533: 0x6d076620, + 0x1a534: 0x6cdee820, 0x1a535: 0x6c1c9620, 0x1a536: 0x6cf74a20, 0x1a537: 0x6c23d220, + 0x1a538: 0x6c968620, 0x1a539: 0x6c7a1020, 0x1a53a: 0x6d0f0820, 0x1a53b: 0x6c11c420, + 0x1a53d: 0x6c520e20, 0x1a53e: 0x6c2ac620, 0x1a53f: 0x6cc49e20, + // Block 0x695, offset 0x1a540 + 0x1a540: 0x6ce7a820, 0x1a541: 0x6d248c20, 0x1a542: 0x6cfe7020, 0x1a543: 0x6ca4d820, + 0x1a544: 0x6cd76420, 0x1a545: 0x6c3bb220, 0x1a546: 0x6cb47820, 0x1a547: 0x6c8dba20, + 0x1a548: 0x6c02ba20, 0x1a549: 0x6c58d020, 0x1a54a: 0x6d15a020, 0x1a54b: 0x6c58d220, + 0x1a54c: 0x6c9bc620, 0x1a54d: 0x6d1c4e20, 0x1a54e: 0x6c831820, 0x1a54f: 0x6d0f2e20, + 0x1a550: 0x6c062820, 0x1a551: 0x6c2f2c20, 0x1a552: 0x6c8e0620, 0x1a553: 0x6cd1f820, + 0x1a554: 0x6c689020, 0x1a555: 0x6c8b4420, 0x1a556: 0x6c6dee20, 0x1a557: 0x6c718c20, + 0x1a558: 0x6ce30a20, 0x1a559: 0x6cb0e620, 0x1a55a: 0x6c42a620, 0x1a55b: 0x6cff3420, + 0x1a55c: 0x6cec5e20, 0x1a55d: 0x6c1fd420, 0x1a55e: 0x6c2bc420, 0x1a55f: 0x6c588e20, + 0x1a560: 0x6d11d220, 0x1a561: 0x6c866e20, 0x1a562: 0x6c9c7020, 0x1a563: 0x6c550a20, + 0x1a564: 0x6cd11620, 0x1a565: 0x6c638a20, 0x1a566: 0x6d1aa620, 0x1a567: 0x6ceec620, + 0x1a569: 0x6cb18e20, 0x1a56a: 0x6c934420, 0x1a56b: 0x6c8dbc20, + 0x1a56c: 0x6d184420, 0x1a56d: 0x6c111620, 0x1a56e: 0x6ccd9820, 0x1a56f: 0x6c54fe20, + 0x1a570: 0x6cd53620, 0x1a571: 0x6cead420, 0x1a572: 0x6ca16e20, 0x1a573: 0x6c575820, + 0x1a574: 0x6ce61a20, 0x1a575: 0x6c0dfe20, 0x1a576: 0x6caee620, 0x1a577: 0x6c5d0820, + 0x1a578: 0x6c3dae20, 0x1a579: 0x6c4cdc20, 0x1a57a: 0x6c10d020, 0x1a57b: 0x6c849820, + 0x1a57c: 0x6c163e20, 0x1a57d: 0x6cb03420, 0x1a57e: 0x6c260020, 0x1a57f: 0x6c9bb220, + // Block 0x696, offset 0x1a580 + 0x1a580: 0x6cddc020, 0x1a581: 0x6cbb6020, 0x1a582: 0x6d34c420, 0x1a583: 0x6c7c2420, + 0x1a584: 0x6c08a820, 0x1a585: 0x6c029220, 0x1a586: 0x6c9bc820, 0x1a587: 0x6cfd0620, + 0x1a588: 0x6c7ab420, 0x1a589: 0x6ce7fc20, 0x1a58a: 0x6ce93c20, 0x1a58b: 0x6cf04a20, + 0x1a58c: 0x6cfaf820, 0x1a58e: 0x6ce94220, 0x1a58f: 0x6c81cc20, + 0x1a590: 0x6c162220, 0x1a591: 0x6ca6c420, 0x1a592: 0x6ca6d020, 0x1a593: 0x6c845220, + 0x1a594: 0x6c304620, 0x1a595: 0x6c72c620, 0x1a596: 0x6cba8620, 0x1a597: 0x6c0fc620, + 0x1a598: 0x6cccac20, 0x1a599: 0x6d2c0e20, 0x1a59a: 0x6ce25e20, 0x1a59b: 0x6cba8c20, + 0x1a59c: 0x6ca9ee20, 0x1a59d: 0x6d181620, 0x1a59e: 0x6c6e9e20, 0x1a59f: 0x6c41e820, + 0x1a5a0: 0x6c2ba020, 0x1a5a1: 0x6c65de20, 0x1a5a2: 0x6c9ab020, 0x1a5a3: 0x6c26c420, + 0x1a5a4: 0x6c660620, 0x1a5a5: 0x6d244a20, 0x1a5a6: 0x6d024c20, 0x1a5a7: 0x6d294820, + 0x1a5a8: 0x6c988020, 0x1a5a9: 0x6c849a20, 0x1a5aa: 0x6c4c0a20, 0x1a5ab: 0x6d09ca20, + 0x1a5ac: 0x6cdedc20, 0x1a5ad: 0x6d310e20, 0x1a5ae: 0x6d107620, 0x1a5af: 0x6ce98620, + 0x1a5b0: 0x6cce2e20, 0x1a5b1: 0x6cf93e20, 0x1a5b2: 0x6cbbcc20, 0x1a5b3: 0x6cf13620, + 0x1a5b4: 0x6d1d6220, 0x1a5b5: 0x6c1fa820, 0x1a5b6: 0x6cc1ec20, 0x1a5b7: 0x6cebfa20, + 0x1a5b9: 0x6d343220, 0x1a5ba: 0x6ce6e420, 0x1a5bb: 0x6c47f820, + 0x1a5bc: 0x6cce3020, 0x1a5bd: 0x6c10ec20, 0x1a5be: 0x6c3f1a20, 0x1a5bf: 0x6ce61e20, + // Block 0x697, offset 0x1a5c0 + 0x1a5c0: 0x6cded220, 0x1a5c1: 0x6cdeea20, 0x1a5c2: 0x6d3da620, 0x1a5c3: 0x6c4e4020, + 0x1a5c4: 0x6cb2da20, 0x1a5c5: 0x6c519a20, 0x1a5c6: 0x6d3c7420, 0x1a5c7: 0x6d396e20, + 0x1a5c8: 0x6c0fd220, 0x1a5c9: 0x6c8eec20, 0x1a5ca: 0x6caa8c20, 0x1a5cb: 0x6cf71220, + 0x1a5cc: 0x6cada220, 0x1a5cd: 0x6c2cb420, 0x1a5ce: 0x6c50ac20, 0x1a5cf: 0x6ce44620, + 0x1a5d0: 0x6cec8020, 0x1a5d1: 0x6ce44a20, 0x1a5d2: 0x6cb66a20, 0x1a5d3: 0x6c62a820, + 0x1a5d4: 0x6c1b6620, 0x1a5d5: 0x6c03cc20, 0x1a5d6: 0x6c6d7020, 0x1a5d7: 0x6c78e820, + 0x1a5d8: 0x6c873e20, 0x1a5d9: 0x6c72c820, 0x1a5da: 0x6cc25620, 0x1a5db: 0x6c7ec820, + 0x1a5dc: 0x6c47f020, 0x1a5dd: 0x6cb88620, 0x1a5de: 0x6cb6b420, 0x1a5df: 0x6cfd5020, + 0x1a5e0: 0x6c664220, 0x1a5e1: 0x6cd29a20, 0x1a5e2: 0x6c655420, 0x1a5e3: 0x6c005e20, + 0x1a5e4: 0x6c577220, 0x1a5e5: 0x6d2c1420, 0x1a5e6: 0x6d2b2e20, 0x1a5e7: 0x6d11e820, + 0x1a5e8: 0x6d2dd820, 0x1a5e9: 0x6c630420, 0x1a5ea: 0x6c145c20, 0x1a5eb: 0x6d0f3420, + 0x1a5ec: 0x6c654c20, 0x1a5ee: 0x6d0e1020, + 0x1a5f0: 0x6c68a820, 0x1a5f1: 0x6ce7a220, 0x1a5f2: 0x6ca41820, 0x1a5f3: 0x6d271a20, + 0x1a5f5: 0x6c1b6e20, + // Block 0x698, offset 0x1a600 + 0x1a600: 0x6d13b620, 0x1a601: 0x6c2f4020, 0x1a602: 0x6c779820, 0x1a603: 0x6cb4c620, + 0x1a604: 0x6cce4620, 0x1a605: 0x6cfa2420, 0x1a606: 0x6c4e4c20, 0x1a607: 0x6ced6820, + 0x1a608: 0x6d2f1820, 0x1a609: 0x6cc9f220, 0x1a60a: 0x6cce4820, 0x1a60b: 0x6cfa2620, + 0x1a60c: 0x6c5e6220, 0x1a60d: 0x6c105620, 0x1a60e: 0x6d221020, 0x1a60f: 0x6c9dfa20, + 0x1a610: 0x6c411e20, 0x1a611: 0x6c1e1820, 0x1a612: 0x6c1e1a20, 0x1a613: 0x6d3b6c20, + 0x1a614: 0x6cbc8e20, 0x1a615: 0x6caf2220, 0x1a616: 0x6cd2ea20, 0x1a617: 0x6cd2e820, + 0x1a618: 0x6cbf9420, 0x1a619: 0x6c0dba20, 0x1a61a: 0x6d12b820, 0x1a61b: 0x6c237e20, + 0x1a61c: 0x6c2fd620, 0x1a61d: 0x6cd7b820, 0x1a61e: 0x6c19b020, 0x1a61f: 0x6c2fca20, + 0x1a620: 0x6cbf9620, 0x1a621: 0x6c898020, 0x1a622: 0x6c2fcc20, 0x1a623: 0x6d1f9a20, + 0x1a624: 0x6c898220, 0x1a625: 0x6d0c5420, 0x1a626: 0x6c0e0820, 0x1a627: 0x6cca9c20, + 0x1a628: 0x6c4bb620, 0x1a629: 0x6c6f3620, 0x1a62a: 0x6c447a20, 0x1a62b: 0x6d0ac420, + 0x1a62c: 0x6cbb0220, 0x1a62d: 0x6d378220, 0x1a62e: 0x6c611020, 0x1a62f: 0x6c6ba220, + 0x1a630: 0x6c3c0c20, 0x1a631: 0x6c497420, 0x1a632: 0x6c202c20, 0x1a633: 0x6c159620, + 0x1a634: 0x6c8ba220, 0x1a635: 0x6d3d3620, 0x1a636: 0x6d3a5220, 0x1a637: 0x6c4d0420, + 0x1a638: 0x6cecb420, 0x1a639: 0x6c27b220, 0x1a63a: 0x6cf06a20, 0x1a63b: 0x6d3a5420, + 0x1a63c: 0x6c6e0020, 0x1a63d: 0x6c857420, 0x1a63e: 0x6c71aa20, 0x1a63f: 0x6cb1dc20, + // Block 0x699, offset 0x1a640 + 0x1a640: 0x6c3dc220, 0x1a641: 0x6d144620, 0x1a642: 0x6d163420, 0x1a643: 0x6ca38c20, + 0x1a644: 0x6cf55020, 0x1a645: 0x6c6f9c20, 0x1a646: 0x6c6f9e20, 0x1a647: 0x6cea9020, + 0x1a648: 0x6c99c220, 0x1a649: 0x6d163820, 0x1a64a: 0x6d13b820, 0x1a64b: 0x6d337c20, + 0x1a64c: 0x6cf33c20, 0x1a64d: 0x6d2ca620, 0x1a64e: 0x6c56f820, 0x1a64f: 0x6c37f420, + 0x1a650: 0x6c820820, 0x1a651: 0x6d1a1e20, 0x1a652: 0x6cb24620, 0x1a653: 0x6caccc20, + 0x1a654: 0x6cbbce20, 0x1a655: 0x6c560e20, 0x1a656: 0x6c48c220, 0x1a657: 0x6c19c420, + 0x1a658: 0x6c19d420, 0x1a659: 0x6d15aa20, 0x1a65a: 0x6d1abc20, 0x1a65b: 0x6d0bd820, + 0x1a65c: 0x6c9ebc20, 0x1a65d: 0x6c6f9a20, 0x1a65e: 0x6cb6c020, 0x1a65f: 0x6d129c20, + 0x1a660: 0x6cf76820, 0x1a661: 0x6cfd5e20, 0x1a662: 0x6c412020, 0x1a663: 0x6c6fa020, + 0x1a664: 0x6cfa2820, 0x1a665: 0x6c563020, 0x1a666: 0x6cd49620, 0x1a667: 0x6c315a20, + 0x1a668: 0x6cd2aa20, 0x1a669: 0x6c5e7020, 0x1a66a: 0x6ca45420, 0x1a66b: 0x6c631a20, + 0x1a66c: 0x6c71ec20, 0x1a66d: 0x6cd23220, 0x1a66e: 0x6c992220, 0x1a66f: 0x6c549020, + 0x1a670: 0x6c971020, 0x1a671: 0x6c949020, 0x1a672: 0x6d3dfe20, 0x1a673: 0x6cc7f820, + 0x1a674: 0x6d08f620, 0x1a675: 0x6d0d4220, 0x1a676: 0x6c3f3a20, 0x1a677: 0x6ccbcc20, + 0x1a678: 0x6ca2f020, 0x1a679: 0x6c418220, 0x1a67a: 0x6cdd5020, 0x1a67b: 0x6d20d020, + 0x1a67c: 0x6c258c20, 0x1a67d: 0x6d30d420, 0x1a67e: 0x6c419020, 0x1a67f: 0x6d35d220, + // Block 0x69a, offset 0x1a680 + 0x1a680: 0x6c4a5020, 0x1a681: 0x6c419820, 0x1a682: 0x6c949a20, 0x1a683: 0x6c8c2220, + 0x1a684: 0x6d17d820, 0x1a685: 0x6c73be20, 0x1a686: 0x6c823620, 0x1a687: 0x6c96ec20, + 0x1a688: 0x6d221220, 0x1a689: 0x6d328020, 0x1a68a: 0x6cd30620, 0x1a68b: 0x6cd31020, + 0x1a68c: 0x6c37b420, 0x1a68d: 0x6c1f0020, 0x1a68e: 0x6d20a220, 0x1a68f: 0x6c7c3020, + 0x1a690: 0x6d20a020, 0x1a691: 0x6d277420, 0x1a692: 0x6c563220, 0x1a693: 0x6cb56020, + 0x1a694: 0x6cf41420, 0x1a695: 0x6c6dfe20, 0x1a696: 0x6cd87220, 0x1a697: 0x6cdc1c20, + 0x1a698: 0x6c44a620, 0x1a699: 0x6c44a820, 0x1a69a: 0x6d0b6c20, 0x1a69b: 0x6d003620, + 0x1a69c: 0x6d0b7420, 0x1a69d: 0x6cb57820, 0x1a69e: 0x6d0b7c20, 0x1a69f: 0x6c5fd820, + 0x1a6a0: 0x6ce7e220, 0x1a6a1: 0x6cedd420, 0x1a6a2: 0x6c777420, 0x1a6a3: 0x6cde2a20, + 0x1a6a4: 0x6c682220, 0x1a6a5: 0x6c4d4e20, 0x1a6a6: 0x6d165220, 0x1a6a7: 0x6c158c20, + 0x1a6a8: 0x6c524420, 0x1a6a9: 0x6ca22220, 0x1a6aa: 0x6d13b220, 0x1a6ab: 0x6cfdd820, + 0x1a6ac: 0x6c6d8e20, 0x1a6ad: 0x6ce66220, 0x1a6ae: 0x6c89aa20, 0x1a6af: 0x6cfdda20, + 0x1a6b0: 0x6c6d9620, 0x1a6b1: 0x6d12d420, 0x1a6b2: 0x6cbd1c20, 0x1a6b3: 0x6c0ece20, + 0x1a6b4: 0x6d204420, 0x1a6b5: 0x6d01a020, 0x1a6b6: 0x6c283820, 0x1a6b7: 0x6c880820, + 0x1a6b8: 0x6c34b420, 0x1a6b9: 0x6c9ae020, 0x1a6ba: 0x6cc55a20, 0x1a6bb: 0x6cc55c20, + 0x1a6bc: 0x6c5fb620, 0x1a6bd: 0x6c630a20, 0x1a6be: 0x6cedd620, 0x1a6bf: 0x6d163a20, + // Block 0x69b, offset 0x1a6c0 + 0x1a6c0: 0x6cd03620, 0x1a6c1: 0x6cc55e20, 0x1a6c2: 0x6c820220, 0x1a6c3: 0x6c2f4220, + 0x1a6c4: 0x6d2b3220, 0x1a6c5: 0x6c6c7e20, 0x1a6c6: 0x6cb3fa20, 0x1a6c7: 0x6c1d8c20, + 0x1a6c8: 0x6c030c20, 0x1a6c9: 0x6d2ef620, 0x1a6ca: 0x6c6c1c20, 0x1a6cb: 0x6c6ba420, + 0x1a6cc: 0x6c0da020, 0x1a6cd: 0x6cc61220, 0x1a6ce: 0x6c237c20, 0x1a6cf: 0x6c3d0820, + 0x1a6d0: 0x6cca1220, 0x1a6d1: 0x6c94d420, 0x1a6d2: 0x6c0da220, 0x1a6d3: 0x6c121c20, + 0x1a6d4: 0x6d3ed620, 0x1a6d5: 0x6cd2ee20, 0x1a6d6: 0x6cddda20, 0x1a6d7: 0x6d2f1a20, + 0x1a6d8: 0x6c3fa420, 0x1a6d9: 0x6cfd5620, 0x1a6da: 0x6cfa6a20, 0x1a6db: 0x6cea9220, + 0x1a6dc: 0x6c52e820, 0x1a6dd: 0x6ce70a20, 0x1a6de: 0x6cc5a620, 0x1a6df: 0x6cb88e20, + 0x1a6e0: 0x6c41c220, 0x1a6e1: 0x6c436220, 0x1a6e2: 0x6c0ea620, 0x1a6e3: 0x6c272220, + 0x1a6e4: 0x6c8e1820, 0x1a6e5: 0x6d15ae20, 0x1a6e6: 0x6c17b020, 0x1a6e7: 0x6c169020, + 0x1a6e8: 0x6cc93e20, 0x1a6e9: 0x6cce5a20, 0x1a6ea: 0x6d144a20, 0x1a6eb: 0x6ca25e20, + 0x1a6ec: 0x6c9b0220, 0x1a6ed: 0x6cc5a820, 0x1a6ee: 0x6c63fe20, 0x1a6ef: 0x6c17b220, + 0x1a6f0: 0x6d0ffc20, 0x1a6f1: 0x6cb96820, 0x1a6f2: 0x6d380e20, 0x1a6f3: 0x6cb04620, + 0x1a6f4: 0x6cf2cc20, 0x1a6f5: 0x6cf41820, 0x1a6f6: 0x6c665020, 0x1a6f7: 0x6c643620, + 0x1a6f8: 0x6d117e20, 0x1a6f9: 0x6c3c1220, 0x1a6fa: 0x6c121e20, 0x1a6fb: 0x6cc5ac20, + 0x1a6fc: 0x6ceddc20, 0x1a6fd: 0x6c3bc420, 0x1a6fe: 0x6c2b0c20, 0x1a6ff: 0x6c39b620, + // Block 0x69c, offset 0x1a700 + 0x1a700: 0x6d378420, 0x1a701: 0x6cb6c820, 0x1a702: 0x6cadf820, 0x1a703: 0x6d20a620, + 0x1a704: 0x6c2e0620, 0x1a705: 0x6c33d220, 0x1a706: 0x6cf49c20, 0x1a707: 0x6d165620, + 0x1a708: 0x6d030a20, 0x1a709: 0x6c777620, 0x1a70a: 0x6d13bc20, 0x1a70b: 0x6c5fbc20, + 0x1a70c: 0x6c008620, 0x1a70d: 0x6cf55420, 0x1a70e: 0x6c617220, 0x1a70f: 0x6c3dca20, + 0x1a710: 0x6c37f620, 0x1a711: 0x6d04b220, 0x1a712: 0x6c6ccc20, 0x1a713: 0x6caf2420, + 0x1a714: 0x6c281820, 0x1a715: 0x6c3d3420, 0x1a716: 0x6ce16c20, 0x1a717: 0x6d381020, + 0x1a718: 0x6d1e8820, 0x1a719: 0x6c5d8620, 0x1a71a: 0x6c5b8a20, 0x1a71b: 0x6d221420, + 0x1a71c: 0x6c251620, 0x1a71d: 0x6c1fee20, 0x1a71e: 0x6cca1420, 0x1a71f: 0x6cef8220, + 0x1a720: 0x6c1ff020, 0x1a721: 0x6c17cc20, 0x1a722: 0x6d0b0a20, 0x1a723: 0x6cfc7020, + 0x1a724: 0x6ccdfe20, 0x1a725: 0x6c165e20, 0x1a726: 0x6c94d620, 0x1a727: 0x6c122020, + 0x1a728: 0x6d0a6420, 0x1a729: 0x6d031220, 0x1a72a: 0x6cef8420, 0x1a72b: 0x6d3a9a20, + 0x1a72c: 0x6d2b5820, 0x1a72d: 0x6cfb2220, 0x1a72e: 0x6caa4820, 0x1a72f: 0x6c0eaa20, + 0x1a730: 0x6c46e620, 0x1a731: 0x6ca62020, 0x1a732: 0x6ca67a20, 0x1a733: 0x6d015420, + 0x1a734: 0x6c04de20, 0x1a735: 0x6d066a20, 0x1a736: 0x6c8e2c20, 0x1a737: 0x6d38f820, + 0x1a738: 0x6ccfa020, 0x1a739: 0x6cc0ca20, 0x1a73a: 0x6c22ac20, 0x1a73b: 0x6c07ce20, + 0x1a73c: 0x6cd2f620, 0x1a73d: 0x6c631e20, 0x1a73e: 0x6caf2620, 0x1a73f: 0x6d167220, + // Block 0x69d, offset 0x1a740 + 0x1a740: 0x6cd87c20, 0x1a741: 0x6d15b620, 0x1a742: 0x6d328220, 0x1a743: 0x6c2d3420, + 0x1a744: 0x6c4d9020, 0x1a745: 0x6c972220, 0x1a746: 0x6c286220, 0x1a747: 0x6d3a9c20, + 0x1a748: 0x6c105a20, 0x1a749: 0x6cc0cc20, 0x1a74a: 0x6c08b420, 0x1a74b: 0x6d2f5020, + 0x1a74c: 0x6c228c20, 0x1a74d: 0x6cf06e20, 0x1a74e: 0x6c2b0e20, 0x1a74f: 0x6d3a9e20, + 0x1a750: 0x6d426220, 0x1a751: 0x6d200e20, 0x1a752: 0x6d0ffe20, 0x1a753: 0x6ce3ba20, + 0x1a754: 0x6d2e4820, 0x1a755: 0x6c50b820, 0x1a756: 0x6c091020, 0x1a757: 0x6ceae420, + 0x1a758: 0x6ccf0820, 0x1a759: 0x6d20ac20, 0x1a75a: 0x6d167420, 0x1a75b: 0x6c3dd020, + 0x1a75c: 0x6d427420, 0x1a75d: 0x6c463420, 0x1a75e: 0x6ca95020, 0x1a75f: 0x6ce70e20, + 0x1a760: 0x6ca62220, 0x1a761: 0x6cfa7620, 0x1a762: 0x6cc17220, 0x1a763: 0x6d1d7c20, + 0x1a764: 0x6cec0e20, 0x1a765: 0x6cb8a220, 0x1a766: 0x6cd40a20, 0x1a767: 0x6c761a20, + 0x1a768: 0x6c068820, 0x1a769: 0x6cae0420, 0x1a76a: 0x6c5b1a20, 0x1a76b: 0x6c51b620, + 0x1a76c: 0x6c819c20, 0x1a76d: 0x6cfdac20, 0x1a76e: 0x6c43c420, 0x1a76f: 0x6d0f8420, + 0x1a770: 0x6c041820, 0x1a771: 0x6c382c20, 0x1a772: 0x6ca02a20, 0x1a773: 0x6c632420, + 0x1a774: 0x6c37bc20, 0x1a775: 0x6c0e0a20, 0x1a776: 0x6c5fda20, 0x1a777: 0x6c523820, + 0x1a778: 0x6c5d6c20, 0x1a779: 0x6c4ac420, 0x1a77a: 0x6cc2b620, 0x1a77b: 0x6ce54820, + 0x1a77c: 0x6c68c820, 0x1a77d: 0x6c22b020, 0x1a77e: 0x6d16a220, 0x1a77f: 0x6cd2b220, + // Block 0x69e, offset 0x1a780 + 0x1a780: 0x6d03c620, 0x1a781: 0x6ccfa620, 0x1a782: 0x6ceaa620, 0x1a783: 0x6c76c020, + 0x1a784: 0x6d343a20, 0x1a785: 0x6c40dc20, 0x1a786: 0x6c7ee220, 0x1a787: 0x6d146c20, + 0x1a788: 0x6c1b7a20, 0x1a789: 0x6c7ad220, 0x1a78a: 0x6c49d420, 0x1a78b: 0x6c858620, + 0x1a78c: 0x6d19a820, 0x1a78d: 0x6cd31220, 0x1a78e: 0x6c9cda20, 0x1a78f: 0x6d398220, + 0x1a790: 0x6d067a20, 0x1a791: 0x6d201420, 0x1a792: 0x6c011820, 0x1a793: 0x6c921620, + 0x1a794: 0x6ca1c020, 0x1a795: 0x6c373420, 0x1a796: 0x6c94de20, 0x1a797: 0x6c305220, + 0x1a798: 0x6c143020, 0x1a799: 0x6c1a9420, 0x1a79a: 0x6d0a6a20, 0x1a79b: 0x6c456220, + 0x1a79c: 0x6d385620, 0x1a79d: 0x6d13ca20, 0x1a79e: 0x6cc78c20, 0x1a79f: 0x6c25a220, + 0x1a7a0: 0x6cf98820, 0x1a7a1: 0x6cd88620, 0x1a7a2: 0x6d292c20, 0x1a7a3: 0x6c937820, + 0x1a7a4: 0x6cdefc20, 0x1a7a5: 0x6c68ca20, 0x1a7a6: 0x6d312220, 0x1a7a7: 0x6c12ca20, + 0x1a7a8: 0x6cbbd020, 0x1a7a9: 0x6c7b1220, 0x1a7aa: 0x6c147020, 0x1a7ab: 0x6ca95220, + 0x1a7ac: 0x6ca9b020, 0x1a7ad: 0x6c6c8420, 0x1a7ae: 0x6cf43220, 0x1a7af: 0x6c53ec20, + 0x1a7b0: 0x6c6efe20, 0x1a7b1: 0x6c1a6420, 0x1a7b2: 0x6d321e20, 0x1a7b3: 0x6d428220, + 0x1a7b4: 0x6c1e2620, 0x1a7b5: 0x6cbd1e20, 0x1a7b6: 0x6c937a20, 0x1a7b7: 0x6c70f820, + 0x1a7b8: 0x6cd5a420, 0x1a7b9: 0x6ce6b420, 0x1a7ba: 0x6cd09220, 0x1a7bb: 0x6ce9f420, + 0x1a7bc: 0x6c0ec020, 0x1a7bd: 0x6ca3e820, 0x1a7be: 0x6cfe8820, 0x1a7bf: 0x6c0b8220, + // Block 0x69f, offset 0x1a7c0 + 0x1a7c0: 0x6ce9de20, 0x1a7c1: 0x6d222420, 0x1a7c2: 0x6cf85220, 0x1a7c3: 0x6c242e20, + 0x1a7c4: 0x6c354e20, 0x1a7c5: 0x6cc01020, 0x1a7c6: 0x6d061620, 0x1a7c7: 0x6c4a1820, + 0x1a7c8: 0x6c7a8420, 0x1a7c9: 0x6cf43420, 0x1a7ca: 0x6c759620, 0x1a7cb: 0x6d16da20, + 0x1a7cc: 0x6c3f4620, 0x1a7cd: 0x6c894820, 0x1a7ce: 0x6d410e20, 0x1a7cf: 0x6cbc3020, + 0x1a7d0: 0x6c859a20, 0x1a7d1: 0x6d1e1620, 0x1a7d2: 0x6c5d1c20, 0x1a7d3: 0x6c6e5220, + 0x1a7d4: 0x6cba4220, 0x1a7d5: 0x6cca4820, 0x1a7d6: 0x6cadf420, 0x1a7d7: 0x6cda7220, + 0x1a7d8: 0x6c3e0620, 0x1a7d9: 0x6cf59820, 0x1a7da: 0x6c850020, 0x1a7db: 0x6c3f4820, + 0x1a7dc: 0x6cb24a20, 0x1a7dd: 0x6c05ea20, 0x1a7de: 0x6d20d220, 0x1a7df: 0x6cb59020, + 0x1a7e0: 0x6cf99020, 0x1a7e1: 0x6d032220, 0x1a7e2: 0x6d04b620, 0x1a7e3: 0x6d222620, + 0x1a7e4: 0x6c2c2420, 0x1a7e5: 0x6c17d020, 0x1a7e6: 0x6c1d9220, 0x1a7e7: 0x6d377c20, + 0x1a7e8: 0x6d0d4e20, 0x1a7e9: 0x6c87e820, 0x1a7ea: 0x6c859c20, 0x1a7eb: 0x6c7ee420, + 0x1a7ec: 0x6cd8fc20, 0x1a7ed: 0x6c656a20, 0x1a7ee: 0x6d04b820, 0x1a7ef: 0x6c3f5220, + 0x1a7f0: 0x6c5daa20, 0x1a7f1: 0x6c721e20, 0x1a7f2: 0x6cffd820, 0x1a7f3: 0x6cabf620, + 0x1a7f4: 0x6c666420, 0x1a7f5: 0x6c0c8c20, 0x1a7f6: 0x6c1f2020, 0x1a7f7: 0x6c3a9420, + 0x1a7f8: 0x6c3cde20, 0x1a7f9: 0x6d0b8a20, 0x1a7fa: 0x6c017a20, 0x1a7fb: 0x6c06f820, + 0x1a7fc: 0x6d22ea20, 0x1a7fd: 0x6d02bc20, 0x1a7fe: 0x6c08ce20, 0x1a7ff: 0x6c561620, + // Block 0x6a0, offset 0x1a800 + 0x1a800: 0x6c166220, 0x1a801: 0x6d33be20, 0x1a802: 0x6c0e1020, 0x1a803: 0x6c6fe420, + 0x1a804: 0x6d10de20, 0x1a805: 0x6c252020, 0x1a806: 0x6c87ea20, 0x1a807: 0x6cecf420, + 0x1a808: 0x6c7ee620, 0x1a809: 0x6c122820, 0x1a80a: 0x6d401c20, 0x1a80b: 0x6c448220, + 0x1a80c: 0x6c490a20, 0x1a80d: 0x6c06fa20, 0x1a80e: 0x6ce4dc20, 0x1a80f: 0x6cd4b420, + 0x1a810: 0x6cd4b620, 0x1a811: 0x6c9b0420, 0x1a812: 0x6c2a0620, 0x1a813: 0x6cdfd420, + 0x1a814: 0x6c740e20, 0x1a815: 0x6c20c220, 0x1a816: 0x6d041e20, 0x1a817: 0x6cae9420, + 0x1a818: 0x6ce17020, 0x1a819: 0x6c548e20, 0x1a81a: 0x6d15da20, 0x1a81b: 0x6cb4d620, + 0x1a81c: 0x6ce3de20, 0x1a81d: 0x6c421420, 0x1a81e: 0x6c6e5e20, 0x1a81f: 0x6c6bd620, + 0x1a820: 0x6cdbb220, 0x1a821: 0x6c170a20, 0x1a822: 0x6c6a9e20, 0x1a823: 0x6c39ce20, + 0x1a824: 0x6d344420, 0x1a825: 0x6c796c20, 0x1a826: 0x6c734220, 0x1a827: 0x6d3f7420, + 0x1a828: 0x6c722020, 0x1a829: 0x6cba4620, 0x1a82a: 0x6ca5c820, 0x1a82b: 0x6c94e420, + 0x1a82c: 0x6d3cf420, 0x1a82d: 0x6cf27e20, 0x1a82e: 0x6c95a820, 0x1a82f: 0x6cd91020, + 0x1a830: 0x6c839220, 0x1a831: 0x6c5d1e20, 0x1a832: 0x6c2fea20, 0x1a833: 0x6d3f3620, + 0x1a834: 0x6c07aa20, 0x1a835: 0x6cf43820, 0x1a836: 0x6c722220, 0x1a837: 0x6ca39e20, + 0x1a838: 0x6c112020, 0x1a839: 0x6c657820, 0x1a83a: 0x6d2d3820, 0x1a83b: 0x6d125a20, + 0x1a83c: 0x6d344620, 0x1a83d: 0x6ccc4020, 0x1a83e: 0x6cbe3820, 0x1a83f: 0x6cbd1220, + // Block 0x6a1, offset 0x1a840 + 0x1a840: 0x6d1ba420, 0x1a841: 0x6c196620, 0x1a842: 0x6c648020, 0x1a843: 0x6d0d6220, + 0x1a844: 0x6cc85c20, 0x1a845: 0x6d382420, 0x1a846: 0x6c217620, 0x1a847: 0x6c641220, + 0x1a848: 0x6c61da20, 0x1a849: 0x6cefa820, 0x1a84a: 0x6d224220, 0x1a84b: 0x6c0e1820, + 0x1a84c: 0x6cc91620, 0x1a84d: 0x6ce31a20, 0x1a84e: 0x6cee7020, 0x1a84f: 0x6cb0ee20, + 0x1a850: 0x6d0e5a20, 0x1a851: 0x6c3c3a20, 0x1a852: 0x6ce17220, 0x1a853: 0x6cf2e020, + 0x1a854: 0x6c360620, 0x1a855: 0x6d009a20, 0x1a856: 0x6c17e820, 0x1a857: 0x6cd13020, + 0x1a858: 0x6c76ca20, 0x1a859: 0x6c2c3820, 0x1a85a: 0x6d429620, 0x1a85b: 0x6c138e20, + 0x1a85c: 0x6ce66c20, 0x1a85d: 0x6c070620, 0x1a85e: 0x6d018820, 0x1a85f: 0x6c59b020, + 0x1a860: 0x6d11a820, 0x1a861: 0x6d2e5420, 0x1a862: 0x6c1e2a20, 0x1a863: 0x6d0bec20, + 0x1a864: 0x6d1f2820, 0x1a865: 0x6c666820, 0x1a866: 0x6d063a20, 0x1a867: 0x6d2bd220, + 0x1a868: 0x6c220220, 0x1a869: 0x6c3fdc20, 0x1a86a: 0x6c087020, 0x1a86b: 0x6d35d420, + 0x1a86c: 0x6d3fea20, 0x1a86d: 0x6c9e1620, 0x1a86e: 0x6c601020, 0x1a86f: 0x6d15e420, + 0x1a870: 0x6d018a20, 0x1a871: 0x6d0a0420, 0x1a872: 0x6c10f420, 0x1a873: 0x6c329420, + 0x1a874: 0x6c12da20, 0x1a875: 0x6d314c20, 0x1a876: 0x6cab7c20, 0x1a877: 0x6ce7d420, + 0x1a878: 0x6ce7d620, 0x1a879: 0x6c070820, 0x1a87a: 0x6d28b220, 0x1a87b: 0x6c908420, + 0x1a87c: 0x6c6aac20, 0x1a87d: 0x6cefaa20, 0x1a87e: 0x6c3bd620, 0x1a87f: 0x6c16a020, + // Block 0x6a2, offset 0x1a880 + 0x1a880: 0x6c4a5220, 0x1a881: 0x6cda1420, 0x1a882: 0x6d361420, 0x1a883: 0x6cdab020, + 0x1a884: 0x6cf96620, 0x1a885: 0x6c40b020, 0x1a886: 0x6d261420, 0x1a887: 0x6cc70420, + 0x1a888: 0x6c860420, 0x1a889: 0x6caa6420, 0x1a88a: 0x6d282c20, 0x1a88b: 0x6c67a620, + 0x1a88c: 0x6c96bc20, 0x1a88d: 0x6c056e20, 0x1a88e: 0x6c2cc820, 0x1a88f: 0x6ce0ee20, + 0x1a890: 0x6c503c20, 0x1a891: 0x6c6ac220, 0x1a892: 0x6cf60820, 0x1a893: 0x6ccd8820, + 0x1a894: 0x6cba5020, 0x1a895: 0x6c744020, 0x1a896: 0x6c122c20, 0x1a897: 0x6c1f3c20, + 0x1a898: 0x6cca1820, 0x1a899: 0x6c071c20, 0x1a89a: 0x6cffe820, 0x1a89b: 0x6d1e3420, + 0x1a89c: 0x6d10f220, 0x1a89d: 0x6ce09620, 0x1a89e: 0x6cdd1420, 0x1a89f: 0x6d101c20, + 0x1a8a0: 0x6c37ea20, 0x1a8a1: 0x6c0e1c20, 0x1a8a2: 0x6c635a20, 0x1a8a3: 0x6c271820, + 0x1a8a4: 0x6d293620, 0x1a8a5: 0x6ce17620, 0x1a8a6: 0x6c483820, 0x1a8a7: 0x6c0d3420, + 0x1a8a8: 0x6c1ede20, 0x1a8a9: 0x6caabc20, 0x1a8aa: 0x6c116c20, 0x1a8ab: 0x6c82c820, + 0x1a8ac: 0x6c24ca20, 0x1a8ad: 0x6d1d8820, 0x1a8ae: 0x6d2a1420, 0x1a8af: 0x6d3ff620, + 0x1a8b0: 0x6c07f420, 0x1a8b1: 0x6cd95e20, 0x1a8b2: 0x6c02ce20, 0x1a8b3: 0x6c1ffe20, + 0x1a8b4: 0x6d226620, 0x1a8b5: 0x6d2d4220, 0x1a8b6: 0x6d40c220, 0x1a8b7: 0x6cce0620, + 0x1a8b8: 0x6c208e20, 0x1a8b9: 0x6c6e8c20, 0x1a8ba: 0x6c1c2c20, 0x1a8bb: 0x6ccc3220, + 0x1a8bc: 0x6c4ecc20, 0x1a8bd: 0x6d2eb820, 0x1a8be: 0x6cbe4c20, 0x1a8bf: 0x6d0e8020, + // Block 0x6a3, offset 0x1a8c0 + 0x1a8c0: 0x6c2c6620, 0x1a8c1: 0x6d01bc20, 0x1a8c2: 0x6c909220, 0x1a8c3: 0x6c072020, + 0x1a8c4: 0x6cb1b020, 0x1a8c5: 0x6c6c9420, 0x1a8c6: 0x6c88f020, 0x1a8c7: 0x6c926020, + 0x1a8c8: 0x6c976620, 0x1a8c9: 0x6cb8ea20, 0x1a8ca: 0x6cfaba20, 0x1a8cb: 0x6ce09c20, + 0x1a8cc: 0x6d1c7a20, 0x1a8cd: 0x6c307e20, 0x1a8ce: 0x6d3bd220, 0x1a8cf: 0x6cfe3c20, + 0x1a8d0: 0x6ccd9220, 0x1a8d1: 0x6cbbe220, 0x1a8d2: 0x6c6f2220, 0x1a8d3: 0x6ce9e820, + 0x1a8d4: 0x6d420620, 0x1a8d5: 0x6cb44220, 0x1a8d6: 0x6cf66020, 0x1a8d7: 0x6c815e20, + 0x1a8d8: 0x6c16f020, 0x1a8d9: 0x6c49ec20, 0x1a8da: 0x6c89ec20, 0x1a8db: 0x6cb50420, + 0x1a8dc: 0x6c197820, 0x1a8dd: 0x6c150820, 0x1a8de: 0x6cefee20, 0x1a8df: 0x6c5efe20, + 0x1a8e0: 0x6c0e8220, 0x1a8e1: 0x6c5bf020, 0x1a8e2: 0x6c202420, 0x1a8e3: 0x6ce5fc20, + 0x1a8e4: 0x6c289a20, 0x1a8e5: 0x6c691220, 0x1a8e6: 0x6c700a20, 0x1a8e7: 0x6ccbb820, + 0x1a8e8: 0x6c3be020, 0x1a8e9: 0x6cfce620, 0x1a8ea: 0x6c713c20, 0x1a8eb: 0x6c366c20, + 0x1a8ec: 0x6c685820, 0x1a8ed: 0x6c66a420, 0x1a8ee: 0x6ce76420, 0x1a8ef: 0x6c8c5620, + 0x1a8f0: 0x6c0f2420, 0x1a8f1: 0x6c482220, 0x1a8f2: 0x6cfd5820, 0x1a8f3: 0x6cdade20, + 0x1a8f4: 0x6cfce820, 0x1a8f5: 0x6c676e20, 0x1a8f6: 0x6c9fc020, 0x1a8f7: 0x6d130e20, + 0x1a8f8: 0x6c6d3220, 0x1a8f9: 0x6c644e20, 0x1a8fa: 0x6cbc5220, 0x1a8fb: 0x6cb0b420, + 0x1a8fc: 0x6c3c6020, 0x1a8fd: 0x6d394220, 0x1a8fe: 0x6c00c020, 0x1a8ff: 0x6cc9e820, + // Block 0x6a4, offset 0x1a900 + 0x1a900: 0x6d154220, 0x1a901: 0x6c75d220, 0x1a902: 0x6ca9be20, 0x1a903: 0x6c151620, + 0x1a904: 0x6d184620, 0x1a905: 0x6c297c20, 0x1a906: 0x6c6e2420, 0x1a907: 0x6d07b620, + 0x1a908: 0x6c7b3020, 0x1a909: 0x6c65c820, 0x1a90a: 0x6c1f6820, 0x1a90b: 0x6c27f420, + 0x1a90c: 0x6c692020, 0x1a90d: 0x6ccc3420, 0x1a90e: 0x6d294020, 0x1a90f: 0x6c121820, + 0x1a910: 0x6c0d5020, 0x1a911: 0x6c017220, 0x1a912: 0x6cc7c420, 0x1a913: 0x6cdf3c20, + 0x1a914: 0x6c1dd820, 0x1a915: 0x6c148a20, 0x1a916: 0x6c7fb220, 0x1a917: 0x6ca64620, + 0x1a918: 0x6c6cb420, 0x1a919: 0x6cba7020, 0x1a91a: 0x6c9b3420, 0x1a91b: 0x6cf47620, + 0x1a91c: 0x6ca91820, 0x1a91d: 0x6cbf5a20, 0x1a91e: 0x6ca64820, 0x1a91f: 0x6c16c820, + 0x1a920: 0x6c8b2e20, 0x1a921: 0x6c82dc20, 0x1a922: 0x6c93b820, 0x1a923: 0x6c7bd020, + 0x1a924: 0x6c066c20, 0x1a925: 0x6d240420, 0x1a926: 0x6c0c2a20, 0x1a927: 0x6d297820, + 0x1a928: 0x6d349e20, 0x1a929: 0x6cd8f220, 0x1a92a: 0x6d1eb420, 0x1a92b: 0x6c4fe820, + 0x1a92c: 0x6c193220, 0x1a92d: 0x6c193620, 0x1a92e: 0x6c86bc20, 0x1a92f: 0x6ce2be20, + 0x1a930: 0x6cf02420, 0x1a931: 0x6c903a20, 0x1a932: 0x6c1eee20, 0x1a933: 0x6c154020, + 0x1a934: 0x6cc4e020, 0x1a935: 0x6cd51220, 0x1a936: 0x6c5c8820, 0x1a937: 0x6c874220, + 0x1a938: 0x6c956820, 0x1a939: 0x6d298020, 0x1a93a: 0x6caace20, 0x1a93b: 0x6ce18820, + 0x1a93c: 0x6d0e1220, 0x1a93d: 0x6c829420, 0x1a93e: 0x6ca47c20, 0x1a93f: 0x6c372e20, + // Block 0x6a5, offset 0x1a940 + 0x1a940: 0x6cf49020, 0x1a941: 0x6d27d220, 0x1a942: 0x6d294a20, 0x1a943: 0x6d252e20, + 0x1a944: 0x6d044a20, 0x1a945: 0x6c1ca820, 0x1a946: 0x6d2f9620, 0x1a947: 0x6d044e20, + 0x1a948: 0x6cfa6e20, 0x1a949: 0x6c49d020, 0x1a94a: 0x6c332e20, 0x1a94b: 0x6c787820, + 0x1a94c: 0x6c333020, 0x1a94d: 0x6c9dfe20, 0x1a94e: 0x6ce91c20, 0x1a94f: 0x6c169420, + 0x1a950: 0x6c373220, 0x1a951: 0x6c333220, 0x1a952: 0x6c373620, 0x1a953: 0x6c6c2c20, + 0x1a954: 0x6ce92020, 0x1a955: 0x6cd87e20, 0x1a956: 0x6d0d4420, 0x1a957: 0x6d0d5020, + 0x1a958: 0x6cd2bc20, 0x1a95a: 0x6c292a20, 0x1a95b: 0x6cb8c220, + 0x1a95c: 0x6c30a820, 0x1a95d: 0x6c3b2820, 0x1a95e: 0x6c98d620, 0x1a95f: 0x6ccfe220, + 0x1a960: 0x6c30aa20, 0x1a962: 0x6c6dc620, 0x1a963: 0x6c852e20, + 0x1a964: 0x6c5a2a20, 0x1a965: 0x6cc80e20, 0x1a966: 0x6cedd820, 0x1a967: 0x6ca57e20, + 0x1a968: 0x6cc2b220, 0x1a969: 0x6c898820, 0x1a96a: 0x6d20d420, 0x1a96b: 0x6c030a20, + 0x1a96c: 0x6c454e20, 0x1a96d: 0x6c8f2420, 0x1a96e: 0x6cf55c20, 0x1a96f: 0x6c4f4220, + 0x1a970: 0x6c7f8620, 0x1a971: 0x6c460a20, 0x1a972: 0x6ce45620, 0x1a973: 0x6c490020, + 0x1a974: 0x6d041020, 0x1a975: 0x6c0daa20, 0x1a976: 0x6cb57a20, 0x1a977: 0x6c720620, + 0x1a978: 0x6c2d0620, 0x1a979: 0x6d3e0820, 0x1a97a: 0x6c3b2020, 0x1a97b: 0x6d100620, + 0x1a97c: 0x6c647a20, 0x1a97d: 0x6cd45820, 0x1a97e: 0x6c621420, 0x1a97f: 0x6d17da20, + // Block 0x6a6, offset 0x1a980 + 0x1a980: 0x6c627020, 0x1a981: 0x6c15ec20, 0x1a982: 0x6c6ed020, 0x1a983: 0x6c993e20, + 0x1a984: 0x6cc4a620, 0x1a985: 0x6ca58020, 0x1a986: 0x6d253020, 0x1a987: 0x6c991c20, + 0x1a988: 0x6c424c20, 0x1a989: 0x6cc4a820, 0x1a98a: 0x6c12c620, 0x1a98b: 0x6c6ed220, + 0x1a98c: 0x6c12c820, 0x1a98d: 0x6d292620, 0x1a98e: 0x6c488820, 0x1a98f: 0x6c6ef020, + 0x1a990: 0x6c994820, 0x1a991: 0x6d390820, 0x1a992: 0x6c994e20, 0x1a993: 0x6c46a020, + 0x1a994: 0x6d063220, 0x1a995: 0x6c9e1820, 0x1a996: 0x6c9d1620, 0x1a997: 0x6cc6ec20, + 0x1a998: 0x6d1a1a20, 0x1a999: 0x6d013e20, 0x1a99a: 0x6c76bc20, 0x1a99b: 0x6c755020, + 0x1a99c: 0x6ca9ae20, 0x1a99d: 0x6d145a20, 0x1a99e: 0x6c9c3420, 0x1a99f: 0x6cd32820, + 0x1a9a0: 0x6c490620, 0x1a9a1: 0x6c9b0e20, 0x1a9a2: 0x6d37ec20, 0x1a9a3: 0x6c722620, + 0x1a9a4: 0x6d24d020, 0x1a9a5: 0x6c9ff220, 0x1a9a6: 0x6c79de20, 0x1a9a7: 0x6c8ba420, + 0x1a9a8: 0x6c3fe020, 0x1a9a9: 0x6d014420, 0x1a9aa: 0x6c9d7620, 0x1a9ab: 0x6c0d9e20, + 0x1a9ac: 0x6c2fd820, 0x1a9ad: 0x6cdf0c20, 0x1a9ae: 0x6c425020, 0x1a9af: 0x6c3c9a20, + 0x1a9b0: 0x6c0da620, 0x1a9b1: 0x6c564620, 0x1a9b2: 0x6c1caa20, 0x1a9b3: 0x6c73cc20, + 0x1a9b4: 0x6c564820, 0x1a9b5: 0x6c7bdc20, 0x1a9b6: 0x6d12a220, 0x1a9b7: 0x6c839020, + 0x1a9b8: 0x6cac9a20, 0x1a9b9: 0x6c3dd220, 0x1a9ba: 0x6c9f8c20, 0x1a9bb: 0x6c305020, + 0x1a9bc: 0x6cfbe620, 0x1a9bd: 0x6c8ac620, 0x1a9be: 0x6cb84020, 0x1a9bf: 0x6c646820, + // Block 0x6a7, offset 0x1a9c0 + 0x1a9c0: 0x6c6e4a20, 0x1a9c1: 0x6cd5a620, 0x1a9c2: 0x6c9a4c20, 0x1a9c3: 0x6ce88a20, + 0x1a9c4: 0x6cb4d820, 0x1a9c5: 0x6c480220, 0x1a9c6: 0x6d3cda20, 0x1a9c7: 0x6cd91220, + 0x1a9c8: 0x6c6e6020, 0x1a9c9: 0x6c894a20, 0x1a9ca: 0x6cbec420, 0x1a9cb: 0x6c2db820, + 0x1a9cc: 0x6c8cc420, 0x1a9cd: 0x6c306c20, 0x1a9ce: 0x6c421620, 0x1a9cf: 0x6c658220, + 0x1a9d0: 0x6d19c620, 0x1a9d1: 0x6c23ea20, 0x1a9d2: 0x6d14f220, 0x1a9d3: 0x6c860620, + 0x1a9d4: 0x6c20a820, 0x1a9d5: 0x6ca03420, 0x1a9d6: 0x6d3ce820, 0x1a9d7: 0x6c24cc20, + 0x1a9d8: 0x6cd7fe20, 0x1a9d9: 0x6c345c20, 0x1a9da: 0x6c6d3420, 0x1a9db: 0x6c8c2620, + 0x1a9dc: 0x6c8c2820, 0x1a9dd: 0x6ca91a20, 0x1a9de: 0x6cf6b620, 0x1a9df: 0x6c31be20, + 0x1a9e0: 0x6c610c20, 0x1a9e1: 0x6c387820, 0x1a9e2: 0x6c387a20, 0x1a9e3: 0x6c387c20, + 0x1a9e4: 0x6c3cd620, 0x1a9e5: 0x6c704a20, 0x1a9e6: 0x6c1ed220, 0x1a9e7: 0x6d337a20, + 0x1a9e8: 0x6c3c1420, 0x1a9e9: 0x6ca2c220, 0x1a9ea: 0x6d377a20, 0x1a9eb: 0x6c3dcc20, + 0x1a9ec: 0x6c3c1620, 0x1a9ed: 0x6cb27220, 0x1a9ee: 0x6c3c2020, 0x1a9ef: 0x6c764420, + 0x1a9f0: 0x6c59b220, 0x1a9f1: 0x6c765220, 0x1a9f2: 0x6c419a20, 0x1a9f3: 0x6c2ad820, + 0x1a9f4: 0x6cb2bc20, 0x1a9f5: 0x6cb9ec20, 0x1a9f6: 0x6d044820, 0x1a9f7: 0x6c7b0a20, + 0x1a9f8: 0x6ce83620, 0x1a9f9: 0x6c022420, 0x1a9fa: 0x6c1e5020, 0x1a9fb: 0x6c5e6820, + 0x1a9fc: 0x6c295020, 0x1a9fd: 0x6c4dd220, 0x1a9fe: 0x6c4dda20, 0x1a9ff: 0x6d2a3420, + // Block 0x6a8, offset 0x1aa00 + 0x1aa00: 0x6c29b020, 0x1aa01: 0x6c2da220, 0x1aa02: 0x6c29b220, 0x1aa03: 0x6cc5a020, + 0x1aa04: 0x6cc5a220, 0x1aa05: 0x6c204a20, 0x1aa06: 0x6c3b0820, 0x1aa07: 0x6cbc9020, + 0x1aa08: 0x6d163e20, 0x1aa09: 0x6c5e6a20, 0x1aa0a: 0x6c76a020, 0x1aa0b: 0x6cba3a20, + 0x1aa0c: 0x6c25ac20, 0x1aa0d: 0x6c1e7220, 0x1aa0e: 0x6cf1c620, 0x1aa0f: 0x6c5e7220, + 0x1aa10: 0x6c281c20, 0x1aa11: 0x6d03b820, 0x1aa12: 0x6c577820, 0x1aa13: 0x6cecb620, + 0x1aa14: 0x6c73ce20, 0x1aa15: 0x6c839e20, 0x1aa16: 0x6d267020, 0x1aa17: 0x6c8abc20, + 0x1aa18: 0x6c8e3e20, 0x1aa19: 0x6d2aa220, 0x1aa1a: 0x6c425220, 0x1aa1b: 0x6c209e20, + 0x1aa1c: 0x6c3dd420, 0x1aa1d: 0x6c1e5420, 0x1aa1e: 0x6cc26020, 0x1aa1f: 0x6c704c20, + 0x1aa20: 0x6cccb820, 0x1aa21: 0x6c9f8e20, 0x1aa22: 0x6c8c9a20, 0x1aa23: 0x6d378a20, + 0x1aa24: 0x6cac9c20, 0x1aa25: 0x6c0cd820, 0x1aa26: 0x6c6a6420, 0x1aa27: 0x6c6a6620, + 0x1aa28: 0x6cad4420, 0x1aa29: 0x6c857620, 0x1aa2a: 0x6cccba20, 0x1aa2b: 0x6c0cda20, + 0x1aa2c: 0x6c158e20, 0x1aa2d: 0x6c6e0620, 0x1aa2e: 0x6c484420, 0x1aa2f: 0x6c44b820, + 0x1aa30: 0x6c2a0020, 0x1aa31: 0x6c20a220, 0x1aa32: 0x6c7c3220, 0x1aa33: 0x6c7a2020, + 0x1aa34: 0x6c34ca20, 0x1aa35: 0x6c37be20, 0x1aa36: 0x6d358020, 0x1aa37: 0x6cd64020, + 0x1aa38: 0x6cc36e20, 0x1aa39: 0x6ccbce20, 0x1aa3a: 0x6c22b220, 0x1aa3b: 0x6c787a20, + 0x1aa3c: 0x6c6a7620, 0x1aa3d: 0x6c4b2a20, 0x1aa3e: 0x6c22b420, 0x1aa3f: 0x6c4b2c20, + // Block 0x6a9, offset 0x1aa40 + 0x1aa40: 0x6c764620, 0x1aa41: 0x6c34cc20, 0x1aa42: 0x6c619020, 0x1aa43: 0x6ce3d820, + 0x1aa44: 0x6c6e1420, 0x1aa45: 0x6c907c20, 0x1aa46: 0x6c95a620, 0x1aa47: 0x6d2ab220, + 0x1aa48: 0x6d24cc20, 0x1aa49: 0x6c260c20, 0x1aa4a: 0x6d08da20, 0x1aa4b: 0x6c788220, + 0x1aa4c: 0x6c7e5a20, 0x1aa4d: 0x6cb97820, 0x1aa4e: 0x6ccbd020, 0x1aa4f: 0x6c20a420, + 0x1aa50: 0x6c489420, 0x1aa51: 0x6c665820, 0x1aa52: 0x6c261020, 0x1aa53: 0x6c83aa20, + 0x1aa54: 0x6ce2e820, 0x1aa55: 0x6c3a9620, 0x1aa56: 0x6cb3c620, 0x1aa57: 0x6c15a020, + 0x1aa58: 0x6cb59c20, 0x1aa59: 0x6c20a620, 0x1aa5a: 0x6d3f3820, 0x1aa5b: 0x6c426c20, + 0x1aa5c: 0x6cec8420, 0x1aa5d: 0x6c0e5a20, 0x1aa5e: 0x6c5e9e20, 0x1aa5f: 0x6c342220, + 0x1aa60: 0x6cbe7220, 0x1aa61: 0x6ccd7420, 0x1aa62: 0x6c316620, 0x1aa63: 0x6c666a20, + 0x1aa64: 0x6c61c220, 0x1aa65: 0x6c0e5c20, 0x1aa66: 0x6d0be220, 0x1aa67: 0x6c722820, + 0x1aa68: 0x6c5d5420, 0x1aa69: 0x6cd16220, 0x1aa6a: 0x6c658420, 0x1aa6b: 0x6c344420, + 0x1aa6c: 0x6c329620, 0x1aa6d: 0x6cf36220, 0x1aa6e: 0x6c489820, 0x1aa6f: 0x6c3fe220, + 0x1aa70: 0x6cd15a20, 0x1aa71: 0x6c667420, 0x1aa72: 0x6c438c20, 0x1aa73: 0x6c269420, + 0x1aa74: 0x6c765420, 0x1aa75: 0x6c20aa20, 0x1aa76: 0x6c1fe220, 0x1aa77: 0x6c15bc20, + 0x1aa78: 0x6ce94e20, 0x1aa79: 0x6c926220, 0x1aa7a: 0x6c83de20, 0x1aa7b: 0x6caf0a20, + 0x1aa7c: 0x6ccce820, 0x1aa7d: 0x6cb15620, 0x1aa7e: 0x6c79bc20, 0x1aa7f: 0x6c690220, + // Block 0x6aa, offset 0x1aa80 + 0x1aa80: 0x6c486620, 0x1aa81: 0x6cbb8a20, 0x1aa82: 0x6c747220, 0x1aa83: 0x6c57a820, + 0x1aa84: 0x6d2be620, 0x1aa85: 0x6d3df620, 0x1aa86: 0x6c882a20, 0x1aa87: 0x6c727420, + 0x1aa88: 0x6caf8420, 0x1aa89: 0x6c8e8020, 0x1aa8a: 0x6c4b5e20, 0x1aa8b: 0x6c692220, + 0x1aa8c: 0x6c4b6020, 0x1aa8d: 0x6c66b020, 0x1aa8e: 0x6c66b220, 0x1aa8f: 0x6ce0c820, + 0x1aa90: 0x6c5d5a20, 0x1aa91: 0x6c627220, 0x1aa92: 0x6c66cc20, 0x1aa93: 0x6d187e20, + 0x1aa94: 0x6c66ce20, 0x1aa95: 0x6d370020, 0x1aa96: 0x6c154220, 0x1aa97: 0x6c662020, + 0x1aa98: 0x6ca09820, 0x1aa99: 0x6c84c820, 0x1aa9a: 0x6d3a8c20, 0x1aa9b: 0x6c855c20, + 0x1aa9c: 0x6d0b6220, 0x1aa9d: 0x6cc36c20, 0x1aa9e: 0x6c04da20, 0x1aa9f: 0x6c455420, + 0x1aaa0: 0x6c631620, 0x1aaa1: 0x6cf55220, 0x1aaa2: 0x6c971e20, 0x1aaa3: 0x6c8abe20, + 0x1aaa4: 0x6c6cce20, 0x1aaa5: 0x6c792020, 0x1aaa6: 0x6d006420, 0x1aaa7: 0x6d34d220, + 0x1aaa8: 0x6c304c20, 0x1aaa9: 0x6d3aa020, 0x1aaaa: 0x6caa4a20, 0x1aaab: 0x6c6a6820, + 0x1aaac: 0x6cc17420, 0x1aaad: 0x6ccec020, 0x1aaae: 0x6d167620, 0x1aaaf: 0x6d398020, + 0x1aab0: 0x6ca0c020, 0x1aab1: 0x6c857a20, 0x1aab2: 0x6c6cd020, 0x1aab3: 0x6c813e20, + 0x1aab4: 0x6c814020, 0x1aab5: 0x6c733e20, 0x1aab6: 0x6c79ce20, 0x1aab7: 0x6d0f8620, + 0x1aab8: 0x6cebc620, 0x1aab9: 0x6cffd420, 0x1aaba: 0x6ca1c220, 0x1aabb: 0x6c7b8420, + 0x1aabc: 0x6c6a7a20, 0x1aabd: 0x6c8aca20, 0x1aabe: 0x6c50ba20, 0x1aabf: 0x6cd31420, + // Block 0x6ab, offset 0x1aac0 + 0x1aac0: 0x6c788420, 0x1aac1: 0x6c6ce020, 0x1aac2: 0x6c433620, 0x1aac3: 0x6c0ec220, + 0x1aac4: 0x6c9f9820, 0x1aac5: 0x6c1bf420, 0x1aac6: 0x6c80a020, 0x1aac7: 0x6d1e1820, + 0x1aac8: 0x6d1e1a20, 0x1aac9: 0x6c9e0c20, 0x1aaca: 0x6c788620, 0x1aacb: 0x6d099220, + 0x1aacc: 0x6c734420, 0x1aacd: 0x6cbe7420, 0x1aace: 0x6c922820, 0x1aacf: 0x6c107c20, + 0x1aad0: 0x6c9bcc20, 0x1aad1: 0x6c1c0420, 0x1aad2: 0x6c823c20, 0x1aad3: 0x6c768620, + 0x1aad4: 0x6c9e1a20, 0x1aad5: 0x6c307220, 0x1aad6: 0x6d06b420, 0x1aad7: 0x6d06ba20, + 0x1aad8: 0x6c76a620, 0x1aad9: 0x6cf55620, 0x1aada: 0x6d175020, 0x1aadb: 0x6d099820, + 0x1aadc: 0x6cf24a20, 0x1aadd: 0x6cd16420, 0x1aade: 0x6c815620, 0x1aadf: 0x6ca28420, + 0x1aae0: 0x6c926420, 0x1aae1: 0x6cb1b220, 0x1aae2: 0x6cd39620, 0x1aae3: 0x6c5ee220, + 0x1aae4: 0x6cbd7c20, 0x1aae5: 0x6c67ee20, 0x1aae6: 0x6c174c20, 0x1aae7: 0x6cc37420, + 0x1aae8: 0x6cfe3e20, 0x1aae9: 0x6d181c20, 0x1aaea: 0x6c747620, 0x1aaeb: 0x6c385220, + 0x1aaec: 0x6c72fa20, 0x1aaed: 0x6ce76620, 0x1aaee: 0x6c727620, 0x1aaef: 0x6c27f620, + 0x1aaf0: 0x6d00d620, 0x1aaf1: 0x6c973820, 0x1aaf2: 0x6d09a420, 0x1aaf3: 0x6d09a820, + 0x1aaf4: 0x6c940220, 0x1aaf5: 0x6c867020, 0x1aaf6: 0x6c184e20, 0x1aaf7: 0x6cc4e220, + 0x1aaf8: 0x6cc37c20, 0x1aaf9: 0x6c059c20, 0x1aafa: 0x6cce9420, 0x1aafb: 0x6d277620, + 0x1aafc: 0x6c6f4220, 0x1aafd: 0x6c062c20, 0x1aafe: 0x6c463220, 0x1aaff: 0x6cf49220, + // Block 0x6ac, offset 0x1ab00 + 0x1ab00: 0x6d277820, 0x1ab01: 0x6cf17820, 0x1ab02: 0x6c0ade20, 0x1ab03: 0x6c412220, + 0x1ab04: 0x6c412420, 0x1ab05: 0x6c059e20, 0x1ab06: 0x6c22f420, 0x1ab07: 0x6d198a20, + 0x1ab08: 0x6d045020, 0x1ab09: 0x6cae5020, 0x1ab0a: 0x6c705020, 0x1ab0b: 0x6ce20420, + 0x1ab0c: 0x6c43c620, 0x1ab0d: 0x6cb42c20, 0x1ab0e: 0x6c35f820, 0x1ab0f: 0x6cad5a20, + 0x1ab10: 0x6c3e4820, 0x1ab11: 0x6c458820, 0x1ab12: 0x6c269620, 0x1ab13: 0x6c6fee20, + 0x1ab14: 0x6cbef220, 0x1ab15: 0x6c08aa20, 0x1ab16: 0x6c577620, 0x1ab17: 0x6c06c620, + 0x1ab18: 0x6ca4ea20, 0x1ab19: 0x6cd41420, 0x1ab1a: 0x6c397e20, 0x1ab1b: 0x6c6fc620, + 0x1ab1c: 0x6d144c20, 0x1ab1d: 0x6d288020, 0x1ab1e: 0x6c67d020, 0x1ab1f: 0x6c777820, + 0x1ab20: 0x6c681820, 0x1ab21: 0x6c7b8020, 0x1ab22: 0x6c549220, 0x1ab23: 0x6cf98420, + 0x1ab24: 0x6cc0ce20, 0x1ab25: 0x6c0b6820, 0x1ab26: 0x6c4ac620, 0x1ab27: 0x6cbc9c20, + 0x1ab28: 0x6d29d020, 0x1ab29: 0x6c7b8a20, 0x1ab2a: 0x6c3a4c20, 0x1ab2b: 0x6c54b420, + 0x1ab2c: 0x6d224620, 0x1ab2d: 0x6c4aee20, 0x1ab2e: 0x6c7cf020, 0x1ab2f: 0x6c5bd220, + 0x1ab30: 0x6c27ea20, 0x1ab31: 0x6c4b5c20, 0x1ab32: 0x6c881a20, 0x1ab33: 0x6c882c20, + 0x1ab34: 0x6cdb9420, 0x1ab35: 0x6c31c220, 0x1ab36: 0x6c703420, 0x1ab37: 0x6c74fa20, + 0x1ab38: 0x6cf83420, 0x1ab39: 0x6cb04020, 0x1ab3a: 0x6cc0c420, 0x1ab3b: 0x6d13c020, + 0x1ab3c: 0x6c77d420, 0x1ab3d: 0x6d0d5220, 0x1ab3e: 0x6c0b3220, 0x1ab3f: 0x6ca68c20, + // Block 0x6ad, offset 0x1ab40 + 0x1ab40: 0x6cc0f820, 0x1ab41: 0x6cd22420, 0x1ab42: 0x6d0a6020, 0x1ab43: 0x6cb88c20, + 0x1ab44: 0x6ca75420, 0x1ab45: 0x6cc96220, 0x1ab46: 0x6d40a220, 0x1ab47: 0x6cd0d020, + 0x1ab48: 0x6cf41620, 0x1ab49: 0x6c5b8420, 0x1ab4a: 0x6c04dc20, 0x1ab4b: 0x6cd2fa20, + 0x1ab4c: 0x6cf83620, 0x1ab4d: 0x6ced6a20, 0x1ab4e: 0x6c572420, 0x1ab4f: 0x6d006620, + 0x1ab50: 0x6ced6c20, 0x1ab51: 0x6c068e20, 0x1ab52: 0x6d40a820, 0x1ab53: 0x6d3cee20, + 0x1ab54: 0x6d007020, 0x1ab55: 0x6c27ba20, 0x1ab56: 0x6c972820, 0x1ab57: 0x6ca3ea20, + 0x1ab58: 0x6c27c020, 0x1ab59: 0x6c601220, 0x1ab5a: 0x6c0efe20, 0x1ab5b: 0x6cd67c20, + 0x1ab5c: 0x6c100420, 0x1ab5d: 0x6c7bd420, 0x1ab5e: 0x6c0b6420, 0x1ab5f: 0x6c102a20, + 0x1ab60: 0x6d2e4620, 0x1ab61: 0x6c761820, 0x1ab62: 0x6c913020, 0x1ab63: 0x6d1f9c20, + 0x1ab64: 0x6c91b420, 0x1ab65: 0x6cf58420, 0x1ab66: 0x6c48a620, 0x1ab67: 0x6cf2d420, + 0x1ab68: 0x6d017620, 0x1ab69: 0x6c6a4e20, 0x1ab6a: 0x6c6a5020, 0x1ab6b: 0x6cf06820, + 0x1ab6c: 0x6c01f020, 0x1ab6d: 0x6cbef420, 0x1ab6e: 0x6d338020, 0x1ab6f: 0x6c991e20, + 0x1ab70: 0x6d1b3620, 0x1ab71: 0x6cee6620, 0x1ab72: 0x6ccec420, 0x1ab73: 0x6c5fd220, + 0x1ab74: 0x6cc3a020, 0x1ab75: 0x6c948c20, 0x1ab76: 0x6c1b7c20, 0x1ab77: 0x6c731020, + 0x1ab78: 0x6d016a20, 0x1ab79: 0x6d067e20, 0x1ab7a: 0x6c6c8620, 0x1ab7b: 0x6cc3a620, + 0x1ab7c: 0x6cf4be20, 0x1ab7d: 0x6c5fec20, 0x1ab7e: 0x6c360a20, 0x1ab7f: 0x6cbe3a20, + // Block 0x6ae, offset 0x1ab80 + 0x1ab80: 0x6cf63820, 0x1ab81: 0x6cca6620, 0x1ab82: 0x6c16e020, 0x1ab83: 0x6cef8020, + 0x1ab84: 0x6c35c020, 0x1ab85: 0x6ce62220, 0x1ab86: 0x6c856020, 0x1ab87: 0x6d300c20, + 0x1ab88: 0x6c4e4e20, 0x1ab89: 0x6c856420, 0x1ab8a: 0x6d0b4620, 0x1ab8b: 0x6d0ac820, + 0x1ab8c: 0x6d0e3620, 0x1ab8d: 0x6ccf3020, 0x1ab8e: 0x6c2bca20, 0x1ab8f: 0x6d2c7020, + 0x1ab90: 0x6cacf020, 0x1ab91: 0x6d0b0c20, 0x1ab92: 0x6c50bc20, 0x1ab93: 0x6d0b1620, + 0x1ab94: 0x6d358220, 0x1ab95: 0x6c12cc20, 0x1ab96: 0x6cacf620, 0x1ab97: 0x6ce31020, + 0x1ab98: 0x6c83a420, 0x1ab99: 0x6ccf3820, 0x1ab9a: 0x6c546020, 0x1ab9b: 0x6ce63420, + 0x1ab9c: 0x6d416820, 0x1ab9d: 0x6c261220, 0x1ab9e: 0x6c3a9820, 0x1ab9f: 0x6d254c20, + 0x1aba0: 0x6c12dc20, 0x1aba1: 0x6d255e20, 0x1aba2: 0x6cfd6a20, 0x1aba3: 0x6d0d6420, + 0x1aba4: 0x6c860c20, 0x1aba5: 0x6c744220, 0x1aba6: 0x6ccc5020, 0x1aba7: 0x6c2cca20, + 0x1aba8: 0x6c1e7c20, 0x1aba9: 0x6c6ff020, 0x1abaa: 0x6c6c9620, 0x1abab: 0x6c024620, + 0x1abac: 0x6c4b1020, 0x1abad: 0x6d0e9020, 0x1abae: 0x6cd80020, 0x1abaf: 0x6c862620, + 0x1abb0: 0x6c16f220, 0x1abb1: 0x6c7faa20, 0x1abb2: 0x6c864620, 0x1abb3: 0x6d0cd020, + 0x1abb4: 0x6d0df620, 0x1abb5: 0x6d25dc20, 0x1abb6: 0x6cd7b420, 0x1abb7: 0x6c455020, + 0x1abb8: 0x6c8b9c20, 0x1abb9: 0x6cc73e20, 0x1abba: 0x6cc25a20, 0x1abbb: 0x6cc25c20, + 0x1abbc: 0x6c377c20, 0x1abbd: 0x6c82b020, 0x1abbe: 0x6c315e20, 0x1abbf: 0x6cfc7420, + // Block 0x6af, offset 0x1abc0 + 0x1abc0: 0x6d3b6e20, 0x1abc1: 0x6cc9fa20, 0x1abc2: 0x6c115a20, 0x1abc3: 0x6c115e20, + 0x1abc4: 0x6c116020, 0x1abc5: 0x6c116620, 0x1abc6: 0x6c00b420, 0x1abc7: 0x6c278620, + 0x1abc8: 0x6d200420, 0x1abc9: 0x6c137220, 0x1abca: 0x6c5fb820, 0x1abcb: 0x6d206820, + 0x1abcc: 0x6cd6a020, 0x1abcd: 0x6c390020, 0x1abce: 0x6cd42620, 0x1abcf: 0x6c48e420, + 0x1abd0: 0x6c035c20, 0x1abd1: 0x6c37e220, 0x1abd2: 0x6cc91020, 0x1abd3: 0x6cd30820, + 0x1abd4: 0x6cd4a620, 0x1abd5: 0x6d3d2a20, 0x1abd6: 0x6cc23c20, 0x1abd7: 0x6cd45220, + 0x1abd8: 0x6c0b7a20, 0x1abd9: 0x6d068a20, 0x1abda: 0x6c640420, 0x1abdb: 0x6cacaa20, + 0x1abdc: 0x6cda0c20, 0x1abdd: 0x6c433820, 0x1abde: 0x6cf08020, 0x1abdf: 0x6cda0e20, + 0x1abe0: 0x6c2ebc20, 0x1abe1: 0x6cc8e220, 0x1abe2: 0x6c23bc20, 0x1abe3: 0x6c79c820, + 0x1abe4: 0x6c475020, 0x1abe5: 0x6c71ea20, 0x1abe6: 0x6c8e1a20, 0x1abe7: 0x6c488a20, + 0x1abe8: 0x6c29b420, 0x1abe9: 0x6c79d420, 0x1abea: 0x6d34ce20, 0x1abeb: 0x6c697a20, + 0x1abec: 0x6d2f9420, 0x1abed: 0x6c03e820, 0x1abee: 0x6c2f4420, 0x1abef: 0x6c785220, + 0x1abf0: 0x6cdf0e20, 0x1abf1: 0x6c1bd620, 0x1abf2: 0x6cd2a420, 0x1abf3: 0x6d200820, + 0x1abf4: 0x6cbfee20, 0x1abf5: 0x6cb34620, 0x1abf6: 0x6d12ba20, 0x1abf7: 0x6c500e20, + 0x1abf8: 0x6cd7bc20, 0x1abf9: 0x6ce08a20, 0x1abfa: 0x6c1b7220, 0x1abfb: 0x6c820a20, + 0x1abfc: 0x6c2daa20, 0x1abfd: 0x6c5e6c20, 0x1abfe: 0x6c8a5c20, 0x1abff: 0x6c529020, + // Block 0x6b0, offset 0x1ac00 + 0x1ac00: 0x6c9ebe20, 0x1ac01: 0x6d056020, 0x1ac02: 0x6c982420, 0x1ac03: 0x6c1a9020, + 0x1ac04: 0x6c447c20, 0x1ac05: 0x6d077820, 0x1ac06: 0x6d108620, 0x1ac07: 0x6d3ed820, + 0x1ac08: 0x6c50b620, 0x1ac09: 0x6c5fc220, 0x1ac0a: 0x6c2e0820, 0x1ac0b: 0x6c25b220, + 0x1ac0c: 0x6ce70c20, 0x1ac0d: 0x6c9fe620, 0x1ac0e: 0x6c545a20, 0x1ac0f: 0x6c856e20, + 0x1ac10: 0x6ce91620, 0x1ac11: 0x6cfe1620, 0x1ac12: 0x6d2bc220, 0x1ac13: 0x6cfa2a20, + 0x1ac14: 0x6d12a020, 0x1ac15: 0x6c937420, 0x1ac16: 0x6d0aca20, 0x1ac17: 0x6c96ee20, + 0x1ac18: 0x6cab7420, 0x1ac19: 0x6c5d5220, 0x1ac1a: 0x6d13c220, 0x1ac1b: 0x6c755420, + 0x1ac1c: 0x6c1e1c20, 0x1ac1d: 0x6c8c4420, 0x1ac1e: 0x6cea1620, 0x1ac1f: 0x6d1a2420, + 0x1ac20: 0x6c3a7e20, 0x1ac21: 0x6c08b820, 0x1ac22: 0x6cbdfe20, 0x1ac23: 0x6cbe0020, + 0x1ac24: 0x6c6ba820, 0x1ac25: 0x6c105c20, 0x1ac26: 0x6c3d1c20, 0x1ac27: 0x6c03ea20, + 0x1ac28: 0x6c339620, 0x1ac29: 0x6c3b0c20, 0x1ac2a: 0x6c354820, 0x1ac2b: 0x6c4dce20, + 0x1ac2c: 0x6ce62c20, 0x1ac2d: 0x6c792420, 0x1ac2e: 0x6cd74620, 0x1ac2f: 0x6cb6d020, + 0x1ac30: 0x6c52f020, 0x1ac31: 0x6d338620, 0x1ac32: 0x6d1aca20, 0x1ac33: 0x6cf3a020, + 0x1ac34: 0x6cf3a220, 0x1ac35: 0x6c178c20, 0x1ac36: 0x6ca55820, 0x1ac37: 0x6d093c20, + 0x1ac38: 0x6cf56a20, 0x1ac39: 0x6c20b420, 0x1ac3a: 0x6c309e20, 0x1ac3b: 0x6cf1c820, + 0x1ac3c: 0x6c544820, 0x1ac3d: 0x6c529220, 0x1ac3e: 0x6cf3a420, 0x1ac3f: 0x6c433220, + // Block 0x6b1, offset 0x1ac40 + 0x1ac40: 0x6d0bda20, 0x1ac41: 0x6c759420, 0x1ac42: 0x6c937620, 0x1ac43: 0x6c35d020, + 0x1ac44: 0x6c43c020, 0x1ac45: 0x6c99ce20, 0x1ac46: 0x6c270420, 0x1ac47: 0x6cb6d220, + 0x1ac48: 0x6c19b620, 0x1ac49: 0x6cf3a620, 0x1ac4a: 0x6c433420, 0x1ac4b: 0x6c3d3820, + 0x1ac4c: 0x6c698020, 0x1ac4d: 0x6c529420, 0x1ac4e: 0x6c1b7820, 0x1ac4f: 0x6cd0da20, + 0x1ac50: 0x6ca55a20, 0x1ac51: 0x6cea1820, 0x1ac52: 0x6c3f3220, 0x1ac53: 0x6d167820, + 0x1ac54: 0x6c270620, 0x1ac55: 0x6cab7620, 0x1ac56: 0x6c857c20, 0x1ac57: 0x6c077620, + 0x1ac58: 0x6d253820, 0x1ac59: 0x6c4c0e20, 0x1ac5a: 0x6cf21a20, 0x1ac5b: 0x6cba9c20, + 0x1ac5c: 0x6cf35020, 0x1ac5d: 0x6c35da20, 0x1ac5e: 0x6cd19820, 0x1ac5f: 0x6c731220, + 0x1ac60: 0x6cae4620, 0x1ac61: 0x6cf1ce20, 0x1ac62: 0x6ca55c20, 0x1ac63: 0x6c965a20, + 0x1ac64: 0x6c8e1c20, 0x1ac65: 0x6cc46020, 0x1ac66: 0x6d1e9420, 0x1ac67: 0x6c2bd420, + 0x1ac68: 0x6d385a20, 0x1ac69: 0x6cd31620, 0x1ac6a: 0x6d38fa20, 0x1ac6b: 0x6ce60e20, + 0x1ac6c: 0x6cf84420, 0x1ac6d: 0x6d16a820, 0x1ac6e: 0x6cb74220, 0x1ac6f: 0x6cb27420, + 0x1ac70: 0x6d3ef420, 0x1ac71: 0x6c46ea20, 0x1ac72: 0x6c21f420, 0x1ac73: 0x6cf07220, + 0x1ac74: 0x6d062a20, 0x1ac75: 0x6c000420, 0x1ac76: 0x6ca49220, 0x1ac77: 0x6c40be20, + 0x1ac78: 0x6cadac20, 0x1ac79: 0x6d16aa20, 0x1ac7a: 0x6cfe8220, 0x1ac7b: 0x6ccfa820, + 0x1ac7c: 0x6c549820, 0x1ac7d: 0x6ca04020, 0x1ac7e: 0x6c267a20, 0x1ac7f: 0x6cc26220, + // Block 0x6b2, offset 0x1ac80 + 0x1ac80: 0x6c71a220, 0x1ac81: 0x6c4dd420, 0x1ac82: 0x6d288820, 0x1ac83: 0x6ceaa820, + 0x1ac84: 0x6c341a20, 0x1ac85: 0x6cb3ec20, 0x1ac86: 0x6cad4620, 0x1ac87: 0x6c0cdc20, + 0x1ac88: 0x6c3de020, 0x1ac89: 0x6d0f4420, 0x1ac8a: 0x6c50be20, 0x1ac8b: 0x6d28e820, + 0x1ac8c: 0x6c50c020, 0x1ac8d: 0x6c4d0c20, 0x1ac8e: 0x6c6fd420, 0x1ac8f: 0x6d1e1220, + 0x1ac90: 0x6c40aa20, 0x1ac91: 0x6c264020, 0x1ac92: 0x6d38fc20, 0x1ac93: 0x6cec1220, + 0x1ac94: 0x6c760c20, 0x1ac95: 0x6c483220, 0x1ac96: 0x6c760e20, 0x1ac97: 0x6d42b820, + 0x1ac98: 0x6c106020, 0x1ac99: 0x6c8f6a20, 0x1ac9a: 0x6c2fda20, 0x1ac9b: 0x6ca8f420, + 0x1ac9c: 0x6cdefe20, 0x1ac9d: 0x6cd7c820, 0x1ac9e: 0x6cfc7820, 0x1ac9f: 0x6c5da420, + 0x1aca0: 0x6cb75020, 0x1aca1: 0x6c37c020, 0x1aca2: 0x6c35e420, 0x1aca3: 0x6c49da20, + 0x1aca4: 0x6d2cb220, 0x1aca5: 0x6cf85420, 0x1aca6: 0x6d148a20, 0x1aca7: 0x6c8b9220, + 0x1aca8: 0x6d3e0a20, 0x1aca9: 0x6c9ec020, 0x1acaa: 0x6c9c2e20, 0x1acab: 0x6d34fa20, + 0x1acac: 0x6d119420, 0x1acad: 0x6c5e9220, 0x1acae: 0x6d390a20, 0x1acaf: 0x6c437820, + 0x1acb0: 0x6cd5a820, 0x1acb1: 0x6d295e20, 0x1acb2: 0x6cffd620, 0x1acb3: 0x6c4d0e20, + 0x1acb4: 0x6c5a8e20, 0x1acb5: 0x6c7ad420, 0x1acb6: 0x6c580c20, 0x1acb7: 0x6ce20820, + 0x1acb8: 0x6cfb3020, 0x1acb9: 0x6c35e620, 0x1acba: 0x6d084220, 0x1acbb: 0x6d04ba20, + 0x1acbc: 0x6c4c1020, 0x1acbd: 0x6d0e4220, 0x1acbe: 0x6c81a020, 0x1acbf: 0x6d13ce20, + // Block 0x6b3, offset 0x1acc0 + 0x1acc0: 0x6c001620, 0x1acc1: 0x6cb23820, 0x1acc2: 0x6cd04a20, 0x1acc3: 0x6ce72020, + 0x1acc4: 0x6c529a20, 0x1acc5: 0x6d045c20, 0x1acc6: 0x6c341c20, 0x1acc7: 0x6cec4c20, + 0x1acc8: 0x6c4cf820, 0x1acc9: 0x6d28f820, 0x1acca: 0x6d201e20, 0x1accb: 0x6c2f3020, + 0x1accc: 0x6cac1c20, 0x1accd: 0x6cfddc20, 0x1acce: 0x6c001420, 0x1accf: 0x6c449c20, + 0x1acd0: 0x6c7b8c20, 0x1acd1: 0x6d0b4a20, 0x1acd2: 0x6c264220, 0x1acd3: 0x6cfe8a20, + 0x1acd4: 0x6c094220, 0x1acd5: 0x6c5b9620, 0x1acd6: 0x6ca77420, 0x1acd7: 0x6c570a20, + 0x1acd8: 0x6d044220, 0x1acd9: 0x6c7b1820, 0x1acda: 0x6c347620, 0x1acdb: 0x6c3b1c20, + 0x1acdc: 0x6c619c20, 0x1acdd: 0x6ca9b220, 0x1acde: 0x6ca1ba20, 0x1acdf: 0x6d1d7620, + 0x1ace0: 0x6c502420, 0x1ace1: 0x6d254e20, 0x1ace2: 0x6c905620, 0x1ace3: 0x6cb3ee20, + 0x1ace4: 0x6c984820, 0x1ace5: 0x6c438020, 0x1ace6: 0x6cab2820, 0x1ace7: 0x6c1a9a20, + 0x1ace8: 0x6ccece20, 0x1ace9: 0x6c87dc20, 0x1acea: 0x6ca2f420, 0x1aceb: 0x6d40ae20, + 0x1acec: 0x6c50ea20, 0x1aced: 0x6c7a3420, 0x1acee: 0x6cfe9220, 0x1acef: 0x6cfc9a20, + 0x1acf0: 0x6c814820, 0x1acf1: 0x6c0e5e20, 0x1acf2: 0x6d302c20, 0x1acf3: 0x6d2bd020, + 0x1acf4: 0x6c89ac20, 0x1acf5: 0x6c033620, 0x1acf6: 0x6c9ec220, 0x1acf7: 0x6c8ae220, + 0x1acf8: 0x6cdbb420, 0x1acf9: 0x6c3e2a20, 0x1acfa: 0x6c103420, 0x1acfb: 0x6c4e9020, + 0x1acfc: 0x6c524620, 0x1acfd: 0x6c44f220, 0x1acfe: 0x6cd76820, 0x1acff: 0x6c447420, + // Block 0x6b4, offset 0x1ad00 + 0x1ad00: 0x6d203620, 0x1ad01: 0x6d0e4c20, 0x1ad02: 0x6c46fc20, 0x1ad03: 0x6c477020, + 0x1ad04: 0x6c077820, 0x1ad05: 0x6c4dec20, 0x1ad06: 0x6cdd0c20, 0x1ad07: 0x6c213820, + 0x1ad08: 0x6d171c20, 0x1ad09: 0x6c001820, 0x1ad0a: 0x6c63ae20, 0x1ad0b: 0x6ce84620, + 0x1ad0c: 0x6cfb3220, 0x1ad0d: 0x6cecf620, 0x1ad0e: 0x6c85c420, 0x1ad0f: 0x6cf5b220, + 0x1ad10: 0x6ce0e820, 0x1ad11: 0x6d428a20, 0x1ad12: 0x6cc02420, 0x1ad13: 0x6c17d420, + 0x1ad14: 0x6cf3ac20, 0x1ad15: 0x6d2a6e20, 0x1ad16: 0x6d0b4c20, 0x1ad17: 0x6c30a420, + 0x1ad18: 0x6cb6e420, 0x1ad19: 0x6c2b6020, 0x1ad1a: 0x6cbe0c20, 0x1ad1b: 0x6c96ba20, + 0x1ad1c: 0x6ca0ee20, 0x1ad1d: 0x6c461220, 0x1ad1e: 0x6c30e620, 0x1ad1f: 0x6cc26c20, + 0x1ad20: 0x6c814a20, 0x1ad21: 0x6c898c20, 0x1ad22: 0x6cdd5420, 0x1ad23: 0x6d2a7020, + 0x1ad24: 0x6c58fe20, 0x1ad25: 0x6c813620, 0x1ad26: 0x6ccbd620, 0x1ad27: 0x6c5ea020, + 0x1ad28: 0x6d426820, 0x1ad29: 0x6cf28420, 0x1ad2a: 0x6c3cca20, 0x1ad2b: 0x6c6cfc20, + 0x1ad2c: 0x6c56fc20, 0x1ad2d: 0x6cb77620, 0x1ad2e: 0x6cd45c20, 0x1ad2f: 0x6ceefa20, + 0x1ad30: 0x6cd64420, 0x1ad31: 0x6c171020, 0x1ad32: 0x6c374e20, 0x1ad33: 0x6c85e620, + 0x1ad34: 0x6cbb5620, 0x1ad35: 0x6c017e20, 0x1ad36: 0x6d2ab620, 0x1ad37: 0x6d1d7820, + 0x1ad38: 0x6ca75e20, 0x1ad39: 0x6d208420, 0x1ad3a: 0x6ce4e620, 0x1ad3b: 0x6c7f4420, + 0x1ad3c: 0x6ccc4220, 0x1ad3d: 0x6cf5d820, 0x1ad3e: 0x6ceba020, 0x1ad3f: 0x6c54b820, + // Block 0x6b5, offset 0x1ad40 + 0x1ad40: 0x6c003c20, 0x1ad41: 0x6d2f6420, 0x1ad42: 0x6caa1420, 0x1ad43: 0x6c790220, + 0x1ad44: 0x6d3d4420, 0x1ad45: 0x6d3d4620, 0x1ad46: 0x6cce0220, 0x1ad47: 0x6c2c3a20, + 0x1ad48: 0x6c524a20, 0x1ad49: 0x6c8ba820, 0x1ad4a: 0x6c001020, 0x1ad4b: 0x6c112220, + 0x1ad4c: 0x6cfd6c20, 0x1ad4d: 0x6cea1e20, 0x1ad4e: 0x6cf43e20, 0x1ad4f: 0x6cf20620, + 0x1ad50: 0x6c253020, 0x1ad51: 0x6ccc4420, 0x1ad52: 0x6c477a20, 0x1ad53: 0x6cb6ec20, + 0x1ad54: 0x6cb6ee20, 0x1ad55: 0x6ce21620, 0x1ad56: 0x6c287420, 0x1ad57: 0x6c287620, + 0x1ad58: 0x6d12e620, 0x1ad59: 0x6d3f1020, 0x1ad5a: 0x6c08d820, 0x1ad5b: 0x6c253220, + 0x1ad5c: 0x6c1fc220, 0x1ad5d: 0x6c510220, 0x1ad5e: 0x6d0b5020, 0x1ad5f: 0x6cb6f420, + 0x1ad60: 0x6d304820, 0x1ad61: 0x6c39f620, 0x1ad62: 0x6c898e20, 0x1ad63: 0x6cfb5820, + 0x1ad64: 0x6cafd820, 0x1ad65: 0x6ccc4620, 0x1ad66: 0x6c7ed420, 0x1ad67: 0x6d2ab820, + 0x1ad68: 0x6d1baa20, 0x1ad69: 0x6c48ae20, 0x1ad6a: 0x6cabc220, 0x1ad6b: 0x6d30d620, + 0x1ad6c: 0x6ccb2020, 0x1ad6d: 0x6d3bc220, 0x1ad6e: 0x6ca81020, 0x1ad6f: 0x6c4cf620, + 0x1ad70: 0x6c953020, 0x1ad71: 0x6d0bf020, 0x1ad72: 0x6c2c3c20, 0x1ad73: 0x6cc2d220, + 0x1ad74: 0x6c15a420, 0x1ad75: 0x6c100620, 0x1ad76: 0x6c2fa020, 0x1ad77: 0x6c809e20, + 0x1ad78: 0x6cffe420, 0x1ad79: 0x6c710c20, 0x1ad7a: 0x6ce0f220, 0x1ad7b: 0x6c1c1a20, + 0x1ad7c: 0x6ce31e20, 0x1ad7d: 0x6c016c20, 0x1ad7e: 0x6c6f7020, 0x1ad7f: 0x6c288620, + // Block 0x6b6, offset 0x1ad80 + 0x1ad80: 0x6c761020, 0x1ad81: 0x6d1df420, 0x1ad82: 0x6cf08a20, 0x1ad83: 0x6ca3fc20, + 0x1ad84: 0x6ccd8a20, 0x1ad85: 0x6d232a20, 0x1ad86: 0x6d305820, 0x1ad87: 0x6c7e6220, + 0x1ad88: 0x6c6a0820, 0x1ad89: 0x6c53f820, 0x1ad8a: 0x6c4e5820, 0x1ad8b: 0x6c2e9820, + 0x1ad8c: 0x6d388220, 0x1ad8d: 0x6c147e20, 0x1ad8e: 0x6cec5220, 0x1ad8f: 0x6caaec20, + 0x1ad90: 0x6d230020, 0x1ad91: 0x6d19d820, 0x1ad92: 0x6d28b820, 0x1ad93: 0x6d10a220, + 0x1ad94: 0x6cab2420, 0x1ad95: 0x6c9e2020, 0x1ad96: 0x6c555220, 0x1ad97: 0x6d27e820, + 0x1ad98: 0x6c201e20, 0x1ad99: 0x6c5bbc20, 0x1ad9a: 0x6c591a20, 0x1ad9b: 0x6c591c20, + 0x1ad9c: 0x6cf7e620, 0x1ad9d: 0x6c509c20, 0x1ad9e: 0x6c5ec220, 0x1ad9f: 0x6c7cf420, + 0x1ada0: 0x6d37ee20, 0x1ada1: 0x6cef0620, 0x1ada2: 0x6ccc5220, 0x1ada3: 0x6d06cc20, + 0x1ada4: 0x6c59ba20, 0x1ada5: 0x6c344a20, 0x1ada6: 0x6ca82620, 0x1ada7: 0x6d079020, + 0x1ada8: 0x6c89b420, 0x1ada9: 0x6d232c20, 0x1adaa: 0x6cca9e20, 0x1adab: 0x6c1aae20, + 0x1adac: 0x6cbbe020, 0x1adad: 0x6d0e6a20, 0x1adae: 0x6c27dc20, 0x1adaf: 0x6cae4a20, + 0x1adb0: 0x6c116820, 0x1adb1: 0x6c83d020, 0x1adb2: 0x6d1d7a20, 0x1adb3: 0x6d2bd620, + 0x1adb4: 0x6cee7c20, 0x1adb5: 0x6c9e6c20, 0x1adb6: 0x6d1c6220, 0x1adb7: 0x6cae3220, + 0x1adb8: 0x6c103820, 0x1adb9: 0x6c7c7420, 0x1adba: 0x6cf88420, 0x1adbb: 0x6d232e20, + 0x1adbc: 0x6c6ac420, 0x1adbd: 0x6c912820, 0x1adbe: 0x6c7a9620, 0x1adbf: 0x6d2a8220, + // Block 0x6b7, offset 0x1adc0 + 0x1adc0: 0x6c56a220, 0x1adc1: 0x6ce33c20, 0x1adc2: 0x6d110420, 0x1adc3: 0x6c51ca20, + 0x1adc4: 0x6c000e20, 0x1adc5: 0x6d054220, 0x1adc6: 0x6cbabe20, 0x1adc7: 0x6ccb2e20, + 0x1adc8: 0x6d1d8a20, 0x1adc9: 0x6cdabe20, 0x1adca: 0x6c53a620, 0x1adcb: 0x6d00b220, + 0x1adcc: 0x6c00a220, 0x1adcd: 0x6cdd2420, 0x1adce: 0x6c96f020, 0x1adcf: 0x6c139620, + 0x1add0: 0x6c4d6c20, 0x1add1: 0x6c780420, 0x1add2: 0x6c264c20, 0x1add3: 0x6cca7e20, + 0x1add4: 0x6c187220, 0x1add5: 0x6cc81820, 0x1add6: 0x6cd9aa20, 0x1add7: 0x6cebdc20, + 0x1add8: 0x6c5ee420, 0x1add9: 0x6cad1c20, 0x1adda: 0x6cf36e20, 0x1addb: 0x6cba1020, + 0x1addc: 0x6cd39820, 0x1addd: 0x6c440020, 0x1adde: 0x6d3e3220, 0x1addf: 0x6c6a0a20, + 0x1ade0: 0x6c960c20, 0x1ade1: 0x6cf22820, 0x1ade2: 0x6cec3420, 0x1ade3: 0x6cd8c820, + 0x1ade4: 0x6c1ab420, 0x1ade5: 0x6c4fca20, 0x1ade6: 0x6cddd820, + 0x1ade8: 0x6c4d1620, 0x1ade9: 0x6cdd7020, 0x1adea: 0x6cbd7e20, 0x1adeb: 0x6ca83820, + 0x1adec: 0x6c50a020, 0x1aded: 0x6d347020, 0x1adee: 0x6cc9e220, 0x1adef: 0x6ca2c620, + 0x1adf0: 0x6c448a20, 0x1adf1: 0x6ca2e420, 0x1adf2: 0x6c2cb820, 0x1adf3: 0x6c002c20, + 0x1adf4: 0x6cbb6220, 0x1adf5: 0x6ce6f620, 0x1adf6: 0x6c09c220, 0x1adf7: 0x6c024a20, + 0x1adf8: 0x6c024c20, 0x1adf9: 0x6c880c20, 0x1adfa: 0x6d417420, 0x1adfb: 0x6d300020, + 0x1adfc: 0x6ca12420, 0x1adfd: 0x6cda4620, 0x1adfe: 0x6cda2020, 0x1adff: 0x6ce06820, + // Block 0x6b8, offset 0x1ae00 + 0x1ae00: 0x6c2b7820, 0x1ae01: 0x6cb50820, 0x1ae02: 0x6c69aa20, 0x1ae03: 0x6c1cd020, + 0x1ae04: 0x6c685a20, 0x1ae05: 0x6c765620, 0x1ae06: 0x6ce0a020, 0x1ae07: 0x6cccf820, + 0x1ae08: 0x6c127820, 0x1ae09: 0x6c637620, 0x1ae0a: 0x6c004620, 0x1ae0b: 0x6cfee620, + 0x1ae0c: 0x6cb1b420, 0x1ae0d: 0x6c912a20, 0x1ae0e: 0x6c40c020, 0x1ae0f: 0x6c47aa20, + 0x1ae10: 0x6cfee820, 0x1ae11: 0x6c54e220, 0x1ae12: 0x6c5bf220, 0x1ae13: 0x6c4c2c20, + 0x1ae14: 0x6cab8220, 0x1ae15: 0x6cfabc20, 0x1ae16: 0x6d2ad820, 0x1ae17: 0x6c16b420, + 0x1ae18: 0x6d05b820, 0x1ae19: 0x6cb32e20, 0x1ae1a: 0x6c2a5c20, 0x1ae1b: 0x6c96f420, + 0x1ae1c: 0x6c96ca20, 0x1ae1d: 0x6c557820, 0x1ae1e: 0x6c836c20, 0x1ae1f: 0x6c317220, + 0x1ae20: 0x6c40c220, 0x1ae21: 0x6ce0c420, 0x1ae22: 0x6d12ae20, 0x1ae23: 0x6c07fe20, + 0x1ae24: 0x6d1bcc20, 0x1ae25: 0x6cc9f020, 0x1ae26: 0x6c69ac20, 0x1ae27: 0x6c9d6420, + 0x1ae28: 0x6cfffc20, 0x1ae29: 0x6c571220, 0x1ae2a: 0x6c971620, 0x1ae2b: 0x6cc48020, + 0x1ae2c: 0x6c1fc420, 0x1ae2d: 0x6cae7e20, 0x1ae2e: 0x6c816420, 0x1ae2f: 0x6d000420, + 0x1ae30: 0x6c5f1020, 0x1ae31: 0x6d3a7c20, 0x1ae32: 0x6c177020, 0x1ae33: 0x6c7d0820, + 0x1ae34: 0x6d419820, 0x1ae35: 0x6cfefe20, 0x1ae36: 0x6cd80c20, 0x1ae37: 0x6c4fdc20, + 0x1ae38: 0x6c3f7e20, 0x1ae39: 0x6c8a0020, 0x1ae3a: 0x6cbbe820, 0x1ae3b: 0x6cf68e20, + 0x1ae3c: 0x6c1f6a20, 0x1ae3d: 0x6c15d020, 0x1ae3e: 0x6c28a420, 0x1ae3f: 0x6c521e20, + // Block 0x6b9, offset 0x1ae40 + 0x1ae40: 0x6d0aa020, 0x1ae41: 0x6c35b620, 0x1ae42: 0x6d420a20, 0x1ae43: 0x6c385420, + 0x1ae44: 0x6c1acc20, 0x1ae45: 0x6c5ae220, 0x1ae46: 0x6d297220, 0x1ae47: 0x6c207420, + 0x1ae48: 0x6c245220, 0x1ae49: 0x6c289c20, 0x1ae4a: 0x6d23ba20, 0x1ae4b: 0x6cea2420, + 0x1ae4c: 0x6c134a20, 0x1ae4d: 0x6c69b620, 0x1ae4e: 0x6d126220, 0x1ae4f: 0x6cf69020, + 0x1ae50: 0x6cb7be20, 0x1ae51: 0x6c4fd020, 0x1ae52: 0x6c882e20, 0x1ae53: 0x6d05ca20, + 0x1ae54: 0x6c2aa420, 0x1ae55: 0x6c5ae820, 0x1ae56: 0x6d1a8c20, 0x1ae57: 0x6cb40c20, + 0x1ae58: 0x6c73b220, 0x1ae59: 0x6cbd9220, 0x1ae5a: 0x6d0a2e20, 0x1ae5b: 0x6ca85a20, + 0x1ae5c: 0x6c912c20, 0x1ae5d: 0x6cd80e20, 0x1ae5e: 0x6d0dd420, 0x1ae5f: 0x6d1d4820, + 0x1ae60: 0x6c265e20, 0x1ae61: 0x6d2d9420, 0x1ae62: 0x6cab2620, 0x1ae63: 0x6d394e20, + 0x1ae64: 0x6c6d4820, 0x1ae65: 0x6ca9c420, 0x1ae66: 0x6c5c2620, 0x1ae67: 0x6d01f420, + 0x1ae68: 0x6cb7ce20, 0x1ae69: 0x6c36a620, 0x1ae6a: 0x6d2a8e20, 0x1ae6b: 0x6d140e20, + 0x1ae6c: 0x6cd3d620, 0x1ae6d: 0x6c69c220, 0x1ae6e: 0x6d263020, 0x1ae6f: 0x6c003420, + 0x1ae70: 0x6d1dac20, 0x1ae71: 0x6c74b420, 0x1ae72: 0x6c7b3820, 0x1ae73: 0x6d228a20, + 0x1ae74: 0x6cae3420, 0x1ae75: 0x6c2a2820, 0x1ae76: 0x6c40c820, 0x1ae77: 0x6c528e20, + 0x1ae78: 0x6c33aa20, 0x1ae79: 0x6c290220, 0x1ae7a: 0x6d036420, 0x1ae7b: 0x6cc9cc20, + 0x1ae7c: 0x6caf8e20, 0x1ae7d: 0x6cb07220, 0x1ae7e: 0x6d1a0e20, 0x1ae7f: 0x6d41a020, + // Block 0x6ba, offset 0x1ae80 + 0x1ae80: 0x6ca92020, 0x1ae81: 0x6c2b9620, 0x1ae82: 0x6c807820, 0x1ae83: 0x6cddfa20, + 0x1ae84: 0x6c5d5e20, 0x1ae85: 0x6cc7cc20, 0x1ae86: 0x6c4fac20, 0x1ae87: 0x6cfa4820, + 0x1ae88: 0x6d135220, 0x1ae89: 0x6c343820, 0x1ae8a: 0x6cb0be20, 0x1ae8b: 0x6c1de020, + 0x1ae8c: 0x6c629020, 0x1ae8d: 0x6c6d5620, 0x1ae8e: 0x6c4fec20, 0x1ae8f: 0x6ce42820, + 0x1ae90: 0x6c16ca20, 0x1ae91: 0x6d0ac220, 0x1ae92: 0x6c99c620, 0x1ae93: 0x6c10d820, + 0x1ae94: 0x6ce43820, 0x1ae95: 0x6c91e420, 0x1ae96: 0x6c5c6420, 0x1ae97: 0x6c0f8820, + 0x1ae98: 0x6d1eba20, 0x1ae99: 0x6ca88620, 0x1ae9a: 0x6d1a9e20, 0x1ae9b: 0x6c56d620, + 0x1ae9c: 0x6c99ca20, 0x1ae9d: 0x6c52d220, 0x1ae9e: 0x6d30a820, 0x1ae9f: 0x6c846c20, + 0x1aea0: 0x6c8eb220, 0x1aea1: 0x6c4d8e20, 0x1aea2: 0x6ca45620, 0x1aea3: 0x6cff2e20, + 0x1aea4: 0x6ca08220, 0x1aea5: 0x6d0ee620, 0x1aea6: 0x6c86e820, 0x1aea7: 0x6c916820, + 0x1aea8: 0x6c8fba20, 0x1aea9: 0x6ca08c20, 0x1aeaa: 0x6c28dc20, 0x1aeab: 0x6c193a20, + 0x1aeac: 0x6cb21e20, 0x1aead: 0x6cb07c20, 0x1aeae: 0x6cfe5c20, 0x1aeaf: 0x6c5e2420, + 0x1aeb0: 0x6ca08e20, 0x1aeb1: 0x6cf91e20, 0x1aeb2: 0x6c34c220, 0x1aeb3: 0x6c7ab220, + 0x1aeb4: 0x6d0ce820, 0x1aeb5: 0x6c154e20, 0x1aeb6: 0x6d1c1820, 0x1aeb7: 0x6cc50420, + 0x1aeb8: 0x6c2d3020, 0x1aeb9: 0x6c7ede20, 0x1aeba: 0x6cded620, 0x1aebb: 0x6cff4c20, + 0x1aebc: 0x6c74fc20, 0x1aebd: 0x6c21e420, 0x1aebe: 0x6c583c20, 0x1aebf: 0x6c5e3c20, + // Block 0x6bb, offset 0x1aec0 + 0x1aec0: 0x6d3bfe20, 0x1aec1: 0x6ca8aa20, 0x1aec2: 0x6cff4e20, 0x1aec3: 0x6c10ee20, + 0x1aec4: 0x6c84a420, 0x1aec5: 0x6c161620, 0x1aec6: 0x6c14a820, 0x1aec7: 0x6c876020, + 0x1aec8: 0x6d194020, 0x1aec9: 0x6c953620, 0x1aeca: 0x6ca45e20, 0x1aecb: 0x6d28dc20, + 0x1aecc: 0x6cda6e20, 0x1aecd: 0x6cf82420, 0x1aece: 0x6d2b7e20, 0x1aecf: 0x6c654e20, + 0x1aed0: 0x6d28de20, 0x1aed1: 0x6d3a8e20, 0x1aed2: 0x6c800620, 0x1aed3: 0x6ca8c220, + 0x1aed4: 0x6ca45220, 0x1aed5: 0x6c806220, 0x1aed6: 0x6c8f6420, 0x1aed7: 0x6ceed620, + 0x1aed8: 0x6c5b1220, 0x1aed9: 0x6d199c20, 0x1aeda: 0x6cbff020, 0x1aedb: 0x6cd87420, + 0x1aedc: 0x6ca8e220, 0x1aedd: 0x6c656220, 0x1aede: 0x6c5b1420, 0x1aedf: 0x6d031420, + 0x1aee0: 0x6d199e20, 0x1aee1: 0x6ca3dc20, 0x1aee2: 0x6ce94420, 0x1aee3: 0x6ce94620, + 0x1aee4: 0x6c33d620, 0x1aee5: 0x6c777c20, 0x1aee6: 0x6d24c620, 0x1aee7: 0x6c6ef420, + 0x1aee8: 0x6cb0ec20, 0x1aee9: 0x6d277c20, 0x1aeea: 0x6c22f620, 0x1aeeb: 0x6c551c20, + 0x1aeec: 0x6c5b1820, 0x1aeed: 0x6d253a20, 0x1aeee: 0x6c354a20, 0x1aeef: 0x6c4c5620, + 0x1aef0: 0x6c7dca20, 0x1aef1: 0x6c22f820, 0x1aef2: 0x6ce6ee20, 0x1aef3: 0x6ce88420, + 0x1aef4: 0x6ceedc20, 0x1aef5: 0x6c94d820, 0x1aef6: 0x6c4c5a20, 0x1aef7: 0x6cc43020, + 0x1aef8: 0x6cc64020, 0x1aef9: 0x6c8c9e20, 0x1aefa: 0x6c47fe20, 0x1aefb: 0x6c4c5c20, + 0x1aefc: 0x6cdf0020, 0x1aefd: 0x6c4c5e20, 0x1aefe: 0x6ce88820, 0x1aeff: 0x6d202020, + // Block 0x6bc, offset 0x1af00 + 0x1af00: 0x6c4c6220, 0x1af01: 0x6d1a4220, 0x1af02: 0x6c5d2020, 0x1af03: 0x6cb48620, + 0x1af04: 0x6d223820, 0x1af05: 0x6c4dee20, 0x1af06: 0x6d255020, 0x1af07: 0x6c94ea20, + 0x1af08: 0x6cc29620, 0x1af09: 0x6d224820, 0x1af0a: 0x6cbe3e20, 0x1af0b: 0x6c4c6620, + 0x1af0c: 0x6c1ffa20, 0x1af0d: 0x6cef0820, 0x1af0e: 0x6d256020, 0x1af0f: 0x6cc29a20, + 0x1af10: 0x6c7a4020, 0x1af11: 0x6c400a20, 0x1af12: 0x6d257420, 0x1af13: 0x6d257620, + 0x1af14: 0x6d0bbc20, 0x1af15: 0x6ce8b620, 0x1af16: 0x6ce8d420, 0x1af17: 0x6ce8d620, + 0x1af18: 0x6ce95020, 0x1af19: 0x6c94b820, 0x1af1a: 0x6c5c0c20, 0x1af1b: 0x6d188220, + 0x1af1c: 0x6c589220, 0x1af1d: 0x6c944a20, 0x1af1e: 0x6c946e20, 0x1af1f: 0x6ce91020, + 0x1af20: 0x6d0b6620, 0x1af21: 0x6ce91220, 0x1af22: 0x6ce6aa20, 0x1af23: 0x6cd15220, + 0x1af24: 0x6cb48020, 0x1af25: 0x6c920c20, 0x1af26: 0x6c7b5020, 0x1af27: 0x6d0ac620, + 0x1af28: 0x6d292820, 0x1af29: 0x6ceeda20, 0x1af2a: 0x6c436620, 0x1af2b: 0x6d22be20, + 0x1af2c: 0x6cf34020, 0x1af2d: 0x6c4a3420, 0x1af2e: 0x6cb04820, 0x1af2f: 0x6d145020, + 0x1af30: 0x6c2a8a20, 0x1af31: 0x6cb89220, 0x1af32: 0x6cb89420, 0x1af33: 0x6d320e20, + 0x1af34: 0x6d3d1a20, 0x1af35: 0x6c295220, 0x1af36: 0x6cb83e20, 0x1af37: 0x6cfa6220, + 0x1af38: 0x6ccdf620, 0x1af39: 0x6c7bd820, 0x1af3a: 0x6c16e220, 0x1af3b: 0x6cb56e20, + 0x1af3c: 0x6ca7f220, 0x1af3d: 0x6ca0c220, 0x1af3e: 0x6c5e7620, 0x1af3f: 0x6c639820, + // Block 0x6bd, offset 0x1af40 + 0x1af40: 0x6d34dc20, 0x1af41: 0x6d34de20, 0x1af42: 0x6c04b420, 0x1af43: 0x6d098e20, + 0x1af44: 0x6d167a20, 0x1af45: 0x6cbdc620, 0x1af46: 0x6c99d020, 0x1af47: 0x6c755620, + 0x1af48: 0x6cc6f220, 0x1af49: 0x6cea3c20, 0x1af4a: 0x6c39e820, 0x1af4b: 0x6c07a420, + 0x1af4c: 0x6c07a620, 0x1af4d: 0x6cdf8820, 0x1af4e: 0x6c76be20, 0x1af4f: 0x6c580a20, + 0x1af50: 0x6d427620, 0x1af51: 0x6c792620, 0x1af52: 0x6c091820, 0x1af53: 0x6c6e0a20, + 0x1af54: 0x6c2c1220, 0x1af55: 0x6c6d8620, 0x1af56: 0x6c617c20, 0x1af57: 0x6c7b0c20, + 0x1af58: 0x6c2bcc20, 0x1af59: 0x6c6d8820, 0x1af5a: 0x6c646220, 0x1af5b: 0x6cdfca20, + 0x1af5c: 0x6c857e20, 0x1af5d: 0x6c03a620, 0x1af5e: 0x6cf4a420, 0x1af5f: 0x6c3b5020, + 0x1af60: 0x6d3c7a20, 0x1af61: 0x6cb2f620, 0x1af62: 0x6c04e220, 0x1af63: 0x6ce0bc20, + 0x1af64: 0x6c7d4a20, 0x1af65: 0x6cc0da20, 0x1af66: 0x6ce05220, 0x1af67: 0x6d339420, + 0x1af68: 0x6ceaea20, 0x1af69: 0x6c417020, 0x1af6a: 0x6cb27620, 0x1af6b: 0x6c2d3a20, + 0x1af6c: 0x6c48a820, 0x1af6d: 0x6ca5ba20, 0x1af6e: 0x6cdf1420, 0x1af6f: 0x6caf3020, + 0x1af70: 0x6c6ed620, 0x1af71: 0x6d100020, 0x1af72: 0x6c3d0a20, 0x1af73: 0x6c02c420, + 0x1af74: 0x6c921820, 0x1af75: 0x6cbf9c20, 0x1af76: 0x6ca22620, 0x1af77: 0x6c785420, + 0x1af78: 0x6c469220, 0x1af79: 0x6d094020, 0x1af7a: 0x6c036220, 0x1af7b: 0x6c1b0420, + 0x1af7c: 0x6c180020, 0x1af7d: 0x6c8ca020, 0x1af7e: 0x6d3aaa20, 0x1af7f: 0x6c3fb020, + // Block 0x6be, offset 0x1af80 + 0x1af80: 0x6c549a20, 0x1af81: 0x6d358420, 0x1af82: 0x6c20be20, 0x1af83: 0x6c7e3a20, + 0x1af84: 0x6c902e20, 0x1af85: 0x6c903020, 0x1af86: 0x6c913820, 0x1af87: 0x6c02c620, + 0x1af88: 0x6c272e20, 0x1af89: 0x6cad4820, 0x1af8a: 0x6c9fe220, 0x1af8b: 0x6d03ca20, + 0x1af8c: 0x6c305620, 0x1af8d: 0x6c619e20, 0x1af8e: 0x6c51ba20, 0x1af8f: 0x6c93ce20, + 0x1af90: 0x6c222820, 0x1af91: 0x6c1b8220, 0x1af92: 0x6c82ba20, 0x1af93: 0x6c40e420, + 0x1af94: 0x6d19aa20, 0x1af95: 0x6c546220, 0x1af96: 0x6c32f420, 0x1af97: 0x6d2f9c20, + 0x1af98: 0x6c3e0820, 0x1af99: 0x6c49dc20, 0x1af9a: 0x6d10d420, 0x1af9b: 0x6c347820, + 0x1af9c: 0x6c347a20, 0x1af9d: 0x6c4ad020, 0x1af9e: 0x6c13ca20, 0x1af9f: 0x6d0f8e20, + 0x1afa0: 0x6d1a3820, 0x1afa1: 0x6c37fe20, 0x1afa2: 0x6c469a20, 0x1afa3: 0x6d254420, + 0x1afa4: 0x6c2e6a20, 0x1afa5: 0x6d007620, 0x1afa6: 0x6c78fa20, 0x1afa7: 0x6cce3220, + 0x1afa8: 0x6cd43e20, 0x1afa9: 0x6c35ec20, 0x1afaa: 0x6c0e4020, 0x1afab: 0x6c2d4020, + 0x1afac: 0x6c530c20, 0x1afad: 0x6d0ad820, 0x1afae: 0x6c7ad620, 0x1afaf: 0x6c26f820, + 0x1afb0: 0x6c762020, 0x1afb1: 0x6c295a20, 0x1afb2: 0x6c764a20, 0x1afb3: 0x6c4f9e20, + 0x1afb4: 0x6ca4dc20, 0x1afb5: 0x6c017820, 0x1afb6: 0x6d036c20, 0x1afb7: 0x6cfc9c20, + 0x1afb8: 0x6d260820, 0x1afb9: 0x6c051a20, 0x1afba: 0x6c3d5a20, 0x1afbb: 0x6c03ae20, + 0x1afbc: 0x6d172020, 0x1afbd: 0x6d1b4220, 0x1afbe: 0x6c4e9220, 0x1afbf: 0x6d06a020, + // Block 0x6bf, offset 0x1afc0 + 0x1afc0: 0x6c20c420, 0x1afc1: 0x6cbd6220, 0x1afc2: 0x6c44f420, 0x1afc3: 0x6c001c20, + 0x1afc4: 0x6c081620, 0x1afc5: 0x6c39aa20, 0x1afc6: 0x6cc3a820, 0x1afc7: 0x6d1e2020, + 0x1afc8: 0x6c75a020, 0x1afc9: 0x6c633e20, 0x1afca: 0x6c2c2a20, 0x1afcb: 0x6c96fa20, + 0x1afcc: 0x6c811420, 0x1afcd: 0x6c731820, 0x1afce: 0x6c19c620, 0x1afcf: 0x6ccccc20, + 0x1afd0: 0x6c6c3c20, 0x1afd1: 0x6d303020, 0x1afd2: 0x6c8ae420, 0x1afd3: 0x6c8ae620, + 0x1afd4: 0x6c107e20, 0x1afd5: 0x6c19d820, 0x1afd6: 0x6c57d820, 0x1afd7: 0x6c108020, + 0x1afd8: 0x6cd25a20, 0x1afd9: 0x6d099420, 0x1afda: 0x6c4c1820, 0x1afdb: 0x6c6eda20, + 0x1afdc: 0x6d12a820, 0x1afdd: 0x6ca76020, 0x1afde: 0x6c2bee20, 0x1afdf: 0x6d230420, + 0x1afe0: 0x6c109220, 0x1afe1: 0x6d0ae820, 0x1afe2: 0x6cc2d420, 0x1afe3: 0x6cdc3420, + 0x1afe4: 0x6cafdc20, 0x1afe5: 0x6cbe4020, 0x1afe6: 0x6cecfe20, 0x1afe7: 0x6c723820, + 0x1afe8: 0x6c951420, 0x1afe9: 0x6d329220, 0x1afea: 0x6c796e20, 0x1afeb: 0x6c1d3820, + 0x1afec: 0x6c2fee20, 0x1afed: 0x6c275a20, 0x1afee: 0x6ce09220, 0x1afef: 0x6c018020, + 0x1aff0: 0x6c114220, 0x1aff1: 0x6c1f2e20, 0x1aff2: 0x6c081820, 0x1aff3: 0x6c76ce20, + 0x1aff4: 0x6d344c20, 0x1aff5: 0x6c348420, 0x1aff6: 0x6d175220, 0x1aff7: 0x6d344e20, + 0x1aff8: 0x6d175420, 0x1aff9: 0x6cadd020, 0x1affa: 0x6c5eb420, 0x1affb: 0x6d3cdc20, + 0x1affc: 0x6cb5b820, 0x1affd: 0x6ccaee20, 0x1affe: 0x6c723a20, 0x1afff: 0x6ca5d420, + // Block 0x6c0, offset 0x1b000 + 0x1b000: 0x6c7a3a20, 0x1b001: 0x6c78a020, 0x1b002: 0x6ce0ec20, 0x1b003: 0x6c7d5020, + 0x1b004: 0x6ca69620, 0x1b005: 0x6c648220, 0x1b006: 0x6c32fa20, 0x1b007: 0x6c6c8e20, + 0x1b008: 0x6c427620, 0x1b009: 0x6d230620, 0x1b00a: 0x6c360c20, 0x1b00b: 0x6cae9820, + 0x1b00c: 0x6c480820, 0x1b00d: 0x6ce92220, 0x1b00e: 0x6c839420, 0x1b00f: 0x6c39ea20, + 0x1b010: 0x6d0b2420, 0x1b011: 0x6cba4c20, 0x1b012: 0x6c7ddc20, 0x1b013: 0x6c01b620, + 0x1b014: 0x6cd0ca20, 0x1b015: 0x6c34e620, 0x1b016: 0x6ca4f220, 0x1b017: 0x6ce85c20, + 0x1b018: 0x6c19fa20, 0x1b019: 0x6d19da20, 0x1b01a: 0x6c5cea20, 0x1b01b: 0x6c099420, + 0x1b01c: 0x6c88f220, 0x1b01d: 0x6c4c1c20, 0x1b01e: 0x6c2e9a20, 0x1b01f: 0x6d3bc420, + 0x1b020: 0x6c547020, 0x1b021: 0x6c05fa20, 0x1b022: 0x6c05fc20, 0x1b023: 0x6d211420, + 0x1b024: 0x6c2b2e20, 0x1b025: 0x6c98e220, 0x1b026: 0x6c6a0c20, 0x1b027: 0x6cc83c20, + 0x1b028: 0x6d12ec20, 0x1b029: 0x6c452e20, 0x1b02a: 0x6c76aa20, 0x1b02b: 0x6d3f8020, + 0x1b02c: 0x6d211620, 0x1b02d: 0x6c59bc20, 0x1b02e: 0x6c362c20, 0x1b02f: 0x6d10f620, + 0x1b030: 0x6d0e6c20, 0x1b031: 0x6c064c20, 0x1b032: 0x6c223620, 0x1b033: 0x6c99f620, + 0x1b034: 0x6c16ec20, 0x1b035: 0x6c321420, 0x1b036: 0x6ceb1c20, 0x1b037: 0x6d1b5020, + 0x1b038: 0x6c3ca620, 0x1b039: 0x6d382820, 0x1b03a: 0x6c6be820, 0x1b03b: 0x6c6c4420, + 0x1b03c: 0x6c528820, 0x1b03d: 0x6c428620, 0x1b03e: 0x6c210620, 0x1b03f: 0x6c658e20, + // Block 0x6c1, offset 0x1b040 + 0x1b040: 0x6cb2ec20, 0x1b041: 0x6c836a20, 0x1b042: 0x6cfe3220, 0x1b043: 0x6c599220, + 0x1b044: 0x6c837620, 0x1b045: 0x6c32c020, 0x1b046: 0x6cec8e20, 0x1b047: 0x6d079220, + 0x1b048: 0x6c61fe20, 0x1b049: 0x6c604a20, 0x1b04a: 0x6c7b2420, 0x1b04b: 0x6d1c7c20, + 0x1b04c: 0x6cddee20, 0x1b04d: 0x6c1a1620, 0x1b04e: 0x6d1e4220, 0x1b04f: 0x6c765c20, + 0x1b050: 0x6cdac020, 0x1b051: 0x6cdac220, 0x1b052: 0x6cd26e20, 0x1b053: 0x6c9d4e20, + 0x1b054: 0x6cde0820, 0x1b055: 0x6cf24e20, 0x1b056: 0x6c1a1820, 0x1b057: 0x6ce8b820, + 0x1b058: 0x6ce0fe20, 0x1b059: 0x6cc3c820, 0x1b05a: 0x6d37f420, 0x1b05b: 0x6c862a20, + 0x1b05c: 0x6d37f620, 0x1b05d: 0x6c057620, 0x1b05e: 0x6cc9c620, 0x1b05f: 0x6d2a0620, + 0x1b060: 0x6c330020, 0x1b061: 0x6ce4a820, 0x1b062: 0x6cf4f820, 0x1b063: 0x6d335020, + 0x1b064: 0x6d099c20, 0x1b065: 0x6c440420, 0x1b066: 0x6d324020, 0x1b067: 0x6c00a420, + 0x1b068: 0x6c459020, 0x1b069: 0x6d0ca620, 0x1b06a: 0x6c76da20, 0x1b06b: 0x6ce4aa20, + 0x1b06c: 0x6d257820, 0x1b06d: 0x6cf14e20, 0x1b06e: 0x6d01be20, 0x1b06f: 0x6c8f3220, + 0x1b070: 0x6c4d8c20, 0x1b071: 0x6c810220, 0x1b072: 0x6c16b620, 0x1b073: 0x6caea820, + 0x1b074: 0x6c084820, 0x1b075: 0x6c18da20, 0x1b076: 0x6c927820, 0x1b077: 0x6c91c620, + 0x1b078: 0x6cab3c20, 0x1b079: 0x6cba6220, 0x1b07a: 0x6c9a1620, 0x1b07b: 0x6ca12620, + 0x1b07c: 0x6d3b8220, 0x1b07d: 0x6cd6d420, 0x1b07e: 0x6cd52e20, 0x1b07f: 0x6c90e820, + // Block 0x6c2, offset 0x1b080 + 0x1b080: 0x6c1b4620, 0x1b081: 0x6c97e220, 0x1b082: 0x6c0c0620, 0x1b083: 0x6c6e9420, + 0x1b084: 0x6c130020, 0x1b085: 0x6cd5ee20, 0x1b086: 0x6d367a20, 0x1b087: 0x6d2ec020, + 0x1b088: 0x6c770a20, 0x1b089: 0x6d1d9620, 0x1b08a: 0x6c2d6e20, 0x1b08b: 0x6c190820, + 0x1b08c: 0x6d347c20, 0x1b08d: 0x6cf8ac20, 0x1b08e: 0x6c4c2420, 0x1b08f: 0x6cbb4620, + 0x1b090: 0x6c6d2220, 0x1b091: 0x6c2c7a20, 0x1b092: 0x6cce0a20, 0x1b093: 0x6ca29020, + 0x1b094: 0x6c24d220, 0x1b095: 0x6d0e9220, 0x1b096: 0x6cde1020, 0x1b097: 0x6d2b8220, + 0x1b098: 0x6cb9ac20, 0x1b099: 0x6cbb1020, 0x1b09a: 0x6c895e20, 0x1b09b: 0x6cf14220, + 0x1b09c: 0x6d3c9a20, 0x1b09d: 0x6cbb9820, 0x1b09e: 0x6d2b8620, 0x1b09f: 0x6d05ba20, + 0x1b0a0: 0x6ccd9a20, 0x1b0a1: 0x6ccd9c20, 0x1b0a2: 0x6c038e20, 0x1b0a3: 0x6cb44820, + 0x1b0a4: 0x6c7b3220, 0x1b0a5: 0x6c303220, 0x1b0a6: 0x6c38b020, 0x1b0a7: 0x6cc3e820, + 0x1b0a8: 0x6ca16020, 0x1b0a9: 0x6c33a020, 0x1b0aa: 0x6c33a220, 0x1b0ab: 0x6d41ea20, + 0x1b0ac: 0x6c2c7c20, 0x1b0ad: 0x6cd17220, 0x1b0ae: 0x6c350820, 0x1b0af: 0x6c350e20, + 0x1b0b0: 0x6cdffc20, 0x1b0b1: 0x6c2ae020, 0x1b0b2: 0x6ca21820, 0x1b0b3: 0x6c3b8420, + 0x1b0b4: 0x6c59d820, 0x1b0b5: 0x6cdffe20, 0x1b0b6: 0x6c26fe20, 0x1b0b7: 0x6d12fa20, + 0x1b0b8: 0x6d3b5220, 0x1b0b9: 0x6c673a20, 0x1b0ba: 0x6c02e420, 0x1b0bb: 0x6cbb1e20, + 0x1b0bc: 0x6c5f2c20, 0x1b0bd: 0x6cbba220, 0x1b0be: 0x6c790a20, 0x1b0bf: 0x6d188420, + // Block 0x6c3, offset 0x1b0c0 + 0x1b0c0: 0x6cb01a20, 0x1b0c1: 0x6c0a4420, 0x1b0c2: 0x6c2d7c20, 0x1b0c3: 0x6c677820, + 0x1b0c4: 0x6d12b420, 0x1b0c5: 0x6d1dae20, 0x1b0c6: 0x6d091620, 0x1b0c7: 0x6ce00c20, + 0x1b0c8: 0x6c803820, 0x1b0c9: 0x6c728820, 0x1b0ca: 0x6c581420, 0x1b0cb: 0x6c298e20, + 0x1b0cc: 0x6cc50220, 0x1b0cd: 0x6cba8020, 0x1b0ce: 0x6d09ae20, 0x1b0cf: 0x6cfd1820, + 0x1b0d0: 0x6cf81620, 0x1b0d1: 0x6c51ee20, 0x1b0d2: 0x6c00c620, 0x1b0d3: 0x6d0b0020, + 0x1b0d4: 0x6c29ee20, 0x1b0d5: 0x6c4fee20, 0x1b0d6: 0x6cc84a20, 0x1b0d7: 0x6c6d8220, + 0x1b0d8: 0x6c82e220, 0x1b0d9: 0x6c7c0620, 0x1b0da: 0x6c916a20, 0x1b0db: 0x6d0cea20, + 0x1b0dc: 0x6ce03020, 0x1b0dd: 0x6cf03820, 0x1b0de: 0x6c581820, 0x1b0df: 0x6c903e20, + 0x1b0e0: 0x6c904020, 0x1b0e1: 0x6cc8ec20, 0x1b0e2: 0x6c86ea20, 0x1b0e3: 0x6c8bfe20, + 0x1b0e4: 0x6cc50620, 0x1b0e5: 0x6c165c20, 0x1b0e6: 0x6d09c420, 0x1b0e7: 0x6d0d0c20, + 0x1b0e8: 0x6c829620, 0x1b0e9: 0x6c03da20, 0x1b0ea: 0x6ceca620, 0x1b0eb: 0x6cd2e220, + 0x1b0ec: 0x6cc56020, 0x1b0ed: 0x6cca6220, 0x1b0ee: 0x6d3c2c20, 0x1b0ef: 0x6d3c2e20, + 0x1b0f0: 0x6cd0dc20, 0x1b0f1: 0x6d13c620, 0x1b0f2: 0x6c972420, 0x1b0f3: 0x6c784a20, + 0x1b0f4: 0x6d3aba20, 0x1b0f5: 0x6d3c3620, 0x1b0f6: 0x6c553020, 0x1b0f7: 0x6c554020, + 0x1b0f8: 0x6c7da620, 0x1b0f9: 0x6d13ee20, 0x1b0fa: 0x6c555420, 0x1b0fb: 0x6d06d020, + 0x1b0fc: 0x6c7db220, 0x1b0fd: 0x6cd46e20, 0x1b0fe: 0x6c989420, 0x1b0ff: 0x6d41ec20, + // Block 0x6c4, offset 0x1b100 + 0x1b100: 0x6cd47020, 0x1b101: 0x6d141220, 0x1b102: 0x6d34ca20, 0x1b103: 0x6c474e20, + 0x1b104: 0x6c1f0220, 0x1b105: 0x6c67d220, 0x1b106: 0x6c3c9c20, 0x1b107: 0x6c06e020, + 0x1b108: 0x6d2d5820, 0x1b109: 0x6c0b8420, 0x1b10a: 0x6cdba620, 0x1b10b: 0x6cc42e20, + 0x1b10c: 0x6c8ca220, 0x1b10d: 0x6c3fc020, 0x1b10e: 0x6c261420, 0x1b10f: 0x6cfa3220, + 0x1b110: 0x6d049a20, 0x1b111: 0x6d02a020, 0x1b112: 0x6ca4cc20, 0x1b113: 0x6cfa5a20, + 0x1b114: 0x6c7cb420, 0x1b115: 0x6cf55a20, 0x1b116: 0x6cec6820, 0x1b117: 0x6d25f820, + 0x1b118: 0x6c992020, 0x1b119: 0x6cda7c20, 0x1b11a: 0x6c341620, 0x1b11b: 0x6c341820, + 0x1b11c: 0x6d12ca20, 0x1b11d: 0x6cbe6c20, 0x1b11e: 0x6cec6e20, 0x1b11f: 0x6c46a220, + 0x1b120: 0x6c46a420, 0x1b121: 0x6cb78820, 0x1b122: 0x6c9c0420, 0x1b123: 0x6c9c0820, + 0x1b124: 0x6d1a8020, 0x1b125: 0x6c5d9420, 0x1b126: 0x6c190c20, 0x1b127: 0x6c26e420, + 0x1b128: 0x6d2b3020, 0x1b129: 0x6ce45420, 0x1b12a: 0x6cdf5a20, 0x1b12b: 0x6c40a620, + 0x1b12c: 0x6c48e220, 0x1b12d: 0x6d108020, 0x1b12e: 0x6d0f4020, 0x1b12f: 0x6c4f4620, + 0x1b130: 0x6c42fa20, 0x1b131: 0x6cd18e20, 0x1b132: 0x6ce1aa20, 0x1b133: 0x6cdf5c20, + 0x1b134: 0x6ce7e420, 0x1b135: 0x6d0d3420, 0x1b136: 0x6c08b020, 0x1b137: 0x6d145220, + 0x1b138: 0x6c7ab820, 0x1b139: 0x6c631c20, 0x1b13a: 0x6c343a20, 0x1b13b: 0x6c577c20, + 0x1b13c: 0x6c7bce20, 0x1b13d: 0x6d27d620, 0x1b13e: 0x6c632020, 0x1b13f: 0x6c031820, + // Block 0x6c5, offset 0x1b140 + 0x1b140: 0x6c370e20, 0x1b141: 0x6c87ec20, 0x1b142: 0x6c58ee20, 0x1b143: 0x6c2b1220, + 0x1b144: 0x6d0d4620, 0x1b145: 0x6cad7e20, 0x1b146: 0x6c733c20, 0x1b147: 0x6cb57c20, + 0x1b148: 0x6ca3ac20, 0x1b149: 0x6c3cd820, 0x1b14a: 0x6d007820, 0x1b14b: 0x6c3bcc20, + 0x1b14c: 0x6c2d0820, 0x1b14d: 0x6d107820, 0x1b14e: 0x6c7c5e20, 0x1b14f: 0x6d408620, + 0x1b150: 0x6c58f820, 0x1b151: 0x6cb75220, 0x1b152: 0x6c762620, 0x1b153: 0x6d2bc820, + 0x1b154: 0x6c077c20, 0x1b155: 0x6d16e020, 0x1b156: 0x6c679e20, 0x1b157: 0x6ce26220, + 0x1b158: 0x6d29fe20, 0x1b159: 0x6c079820, 0x1b15a: 0x6cf5b420, 0x1b15b: 0x6c5a5020, + 0x1b15c: 0x6c3a5020, 0x1b15d: 0x6c2dc020, 0x1b15e: 0x6d0a8620, 0x1b15f: 0x6c07e020, + 0x1b160: 0x6c2d5620, 0x1b161: 0x6c02d020, 0x1b162: 0x6cceea20, 0x1b163: 0x6cf24c20, + 0x1b164: 0x6c4d0220, 0x1b165: 0x6c02d220, 0x1b166: 0x6cf4fa20, 0x1b167: 0x6c02d420, + 0x1b168: 0x6c67ac20, 0x1b169: 0x6c881c20, 0x1b16a: 0x6c345a20, 0x1b16b: 0x6d275e20, + 0x1b16c: 0x6c67ae20, 0x1b16d: 0x6cd3c420, 0x1b16e: 0x6c3be620, 0x1b16f: 0x6c5df620, + 0x1b170: 0x6c0a8620, 0x1b171: 0x6c944c20, 0x1b172: 0x6c34c620, 0x1b173: 0x6caa6e20, + 0x1b174: 0x6caa3a20, 0x1b175: 0x6c2f6820, 0x1b176: 0x6ca38e20, 0x1b177: 0x6cb89620, + 0x1b178: 0x6c645c20, 0x1b179: 0x6cddde20, 0x1b17a: 0x6c6fa220, 0x1b17b: 0x6caa8e20, + 0x1b17c: 0x6c142820, 0x1b17d: 0x6c500620, 0x1b17e: 0x6cfa7020, 0x1b17f: 0x6c391a20, + // Block 0x6c6, offset 0x1b180 + 0x1b180: 0x6c611a20, 0x1b181: 0x6cd76e20, 0x1b182: 0x6cc78a20, 0x1b183: 0x6c39f020, + 0x1b184: 0x6cee4420, 0x1b185: 0x6c52ec20, 0x1b186: 0x6d3c0620, 0x1b187: 0x6c3fa620, + 0x1b188: 0x6c965c20, 0x1b189: 0x6c27b420, 0x1b18a: 0x6cc5be20, 0x1b18b: 0x6c3d3a20, + 0x1b18c: 0x6c6e4820, 0x1b18d: 0x6d0c5620, 0x1b18e: 0x6c4d5420, 0x1b18f: 0x6cf1fc20, + 0x1b190: 0x6d378e20, 0x1b191: 0x6cabb020, 0x1b192: 0x6c323220, 0x1b193: 0x6c617e20, + 0x1b194: 0x6c792820, 0x1b195: 0x6d381220, 0x1b196: 0x6d108a20, 0x1b197: 0x6c6cd420, + 0x1b198: 0x6d277e20, 0x1b199: 0x6c9eaa20, 0x1b19a: 0x6c3d1e20, 0x1b19b: 0x6c1ca420, + 0x1b19c: 0x6d267a20, 0x1b19d: 0x6d3c0a20, 0x1b19e: 0x6ca96220, 0x1b19f: 0x6d0e3a20, + 0x1b1a0: 0x6ca30620, 0x1b1a1: 0x6d02a820, 0x1b1a2: 0x6c3b5220, 0x1b1a3: 0x6c08ba20, + 0x1b1a4: 0x6d20ae20, 0x1b1a5: 0x6ceb6e20, 0x1b1a6: 0x6c3c1820, 0x1b1a7: 0x6ced7220, + 0x1b1a8: 0x6c39a220, 0x1b1a9: 0x6cf41e20, 0x1b1aa: 0x6d22cc20, 0x1b1ab: 0x6c4a3620, + 0x1b1ac: 0x6c323a20, 0x1b1ad: 0x6c036420, 0x1b1ae: 0x6ca5b420, 0x1b1af: 0x6d38cc20, + 0x1b1b0: 0x6d3d2c20, 0x1b1b1: 0x6d2f5620, 0x1b1b2: 0x6c267c20, 0x1b1b3: 0x6ca39820, + 0x1b1b4: 0x6d25fe20, 0x1b1b5: 0x6ce80820, 0x1b1b6: 0x6cfb2a20, 0x1b1b7: 0x6d343c20, + 0x1b1b8: 0x6c353020, 0x1b1b9: 0x6c9a7420, 0x1b1ba: 0x6ca0c620, 0x1b1bb: 0x6cb4d020, + 0x1b1bc: 0x6c092a20, 0x1b1bd: 0x6ccfaa20, 0x1b1be: 0x6cbc9420, 0x1b1bf: 0x6c353220, + // Block 0x6c7, offset 0x1b1c0 + 0x1b1c0: 0x6c50c420, 0x1b1c1: 0x6d062c20, 0x1b1c2: 0x6c37f820, 0x1b1c3: 0x6d328420, + 0x1b1c4: 0x6c9f2820, 0x1b1c5: 0x6c04e620, 0x1b1c6: 0x6ca22820, 0x1b1c7: 0x6c3d3e20, + 0x1b1c8: 0x6c8ca420, 0x1b1c9: 0x6d3ee220, 0x1b1ca: 0x6d3ee420, 0x1b1cb: 0x6cd2b420, + 0x1b1cc: 0x6cc4ac20, 0x1b1cd: 0x6cccc020, 0x1b1ce: 0x6d0f4620, 0x1b1cf: 0x6c975c20, + 0x1b1d0: 0x6c6c1620, 0x1b1d1: 0x6c46ee20, 0x1b1d2: 0x6cd88020, 0x1b1d3: 0x6d041420, + 0x1b1d4: 0x6cef8e20, 0x1b1d5: 0x6d3e0c20, 0x1b1d6: 0x6c71f620, 0x1b1d7: 0x6cccc220, + 0x1b1d8: 0x6cb1e820, 0x1b1d9: 0x6cc5d420, 0x1b1da: 0x6d10d620, 0x1b1db: 0x6c305820, + 0x1b1dc: 0x6c674c20, 0x1b1dd: 0x6cd4b020, 0x1b1de: 0x6c5ff020, 0x1b1df: 0x6c40e620, + 0x1b1e0: 0x6cfe1c20, 0x1b1e1: 0x6c572a20, 0x1b1e2: 0x6c72da20, 0x1b1e3: 0x6c682c20, + 0x1b1e4: 0x6c469c20, 0x1b1e5: 0x6c81a220, 0x1b1e6: 0x6c647420, 0x1b1e7: 0x6c647620, + 0x1b1e8: 0x6d148c20, 0x1b1e9: 0x6ca75c20, 0x1b1ea: 0x6d344220, 0x1b1eb: 0x6c5e9820, + 0x1b1ec: 0x6c5ea220, 0x1b1ed: 0x6cfc8a20, 0x1b1ee: 0x6c525620, 0x1b1ef: 0x6c49de20, + 0x1b1f0: 0x6c756020, 0x1b1f1: 0x6c7ac020, 0x1b1f2: 0x6d0e4420, 0x1b1f3: 0x6ca02c20, + 0x1b1f4: 0x6c8ad020, 0x1b1f5: 0x6cae0a20, 0x1b1f6: 0x6c35ee20, 0x1b1f7: 0x6d202220, + 0x1b1f8: 0x6d0c6e20, 0x1b1f9: 0x6c143420, 0x1b1fa: 0x6ccfb820, 0x1b1fb: 0x6d19ae20, + 0x1b1fc: 0x6cd24e20, 0x1b1fd: 0x6c4ad220, 0x1b1fe: 0x6cc2be20, 0x1b1ff: 0x6d3e0e20, + // Block 0x6c8, offset 0x1b200 + 0x1b200: 0x6cd90820, 0x1b201: 0x6cee6820, 0x1b202: 0x6c530e20, 0x1b203: 0x6cec0420, + 0x1b204: 0x6c907e20, 0x1b205: 0x6d0b8420, 0x1b206: 0x6cc52020, 0x1b207: 0x6c682e20, + 0x1b208: 0x6c942e20, 0x1b209: 0x6cb24e20, 0x1b20a: 0x6cfc9e20, 0x1b20b: 0x6cced020, + 0x1b20c: 0x6c850820, 0x1b20d: 0x6c19c820, 0x1b20e: 0x6d017a20, 0x1b20f: 0x6c984a20, + 0x1b210: 0x6c3d5c20, 0x1b211: 0x6cdd1020, 0x1b212: 0x6c99e420, 0x1b213: 0x6cef9c20, + 0x1b214: 0x6c789420, 0x1b215: 0x6c21ae20, 0x1b216: 0x6c21b020, 0x1b217: 0x6ce6b820, + 0x1b218: 0x6ca78820, 0x1b219: 0x6d03da20, 0x1b21a: 0x6ca3ee20, 0x1b21b: 0x6d20ec20, + 0x1b21c: 0x6ca31a20, 0x1b21d: 0x6cb3c820, 0x1b21e: 0x6ca56820, 0x1b21f: 0x6c72e220, + 0x1b220: 0x6ccfc620, 0x1b221: 0x6d35ae20, 0x1b222: 0x6c4df020, 0x1b223: 0x6c2c2c20, + 0x1b224: 0x6d3c1020, 0x1b225: 0x6c355220, 0x1b226: 0x6cb20820, 0x1b227: 0x6ce9f820, + 0x1b228: 0x6cfca020, 0x1b229: 0x6c9e1020, 0x1b22a: 0x6cf3ae20, 0x1b22b: 0x6d0c7020, + 0x1b22c: 0x6cf44220, 0x1b22d: 0x6c001e20, 0x1b22e: 0x6d0c7c20, 0x1b22f: 0x6d20ee20, + 0x1b230: 0x6cd89a20, 0x1b231: 0x6d20f020, 0x1b232: 0x6cebd020, 0x1b233: 0x6c87de20, + 0x1b234: 0x6cfb3a20, 0x1b235: 0x6c707c20, 0x1b236: 0x6cc24220, 0x1b237: 0x6d3c8020, + 0x1b238: 0x6cb4e220, 0x1b239: 0x6cfb4020, 0x1b23a: 0x6d3d4820, 0x1b23b: 0x6c2ff020, + 0x1b23c: 0x6c166420, 0x1b23d: 0x6c923420, 0x1b23e: 0x6c006420, 0x1b23f: 0x6c353620, + // Block 0x6c9, offset 0x1b240 + 0x1b240: 0x6c353820, 0x1b241: 0x6c908620, 0x1b242: 0x6c9dbe20, 0x1b243: 0x6c239020, + 0x1b244: 0x6cb3f020, 0x1b245: 0x6c710e20, 0x1b246: 0x6cb32820, 0x1b247: 0x6c10f620, + 0x1b248: 0x6c8cde20, 0x1b249: 0x6ced0020, 0x1b24a: 0x6c0c7220, 0x1b24b: 0x6cfeb020, + 0x1b24c: 0x6cd52620, 0x1b24d: 0x6cb6f020, 0x1b24e: 0x6c5ab020, 0x1b24f: 0x6c394020, + 0x1b250: 0x6cf2b220, 0x1b251: 0x6cc89820, 0x1b252: 0x6cdfda20, 0x1b253: 0x6c39f820, + 0x1b254: 0x6c3b0420, 0x1b255: 0x6c6aae20, 0x1b256: 0x6ce46020, 0x1b257: 0x6ca5d620, + 0x1b258: 0x6cc2d820, 0x1b259: 0x6c6e5820, 0x1b25a: 0x6c5cbc20, 0x1b25b: 0x6c6da420, + 0x1b25c: 0x6cb8d220, 0x1b25d: 0x6c2d4c20, 0x1b25e: 0x6d042620, 0x1b25f: 0x6c568a20, + 0x1b260: 0x6cec8820, 0x1b261: 0x6c7ef220, 0x1b262: 0x6c097420, 0x1b263: 0x6d19dc20, + 0x1b264: 0x6c1d6820, 0x1b265: 0x6ca52e20, 0x1b266: 0x6c3fe420, 0x1b267: 0x6c6e6e20, + 0x1b268: 0x6c94ec20, 0x1b269: 0x6c01b820, 0x1b26a: 0x6c7f9420, 0x1b26b: 0x6c7d5220, + 0x1b26c: 0x6d1a5220, 0x1b26d: 0x6d0b9220, 0x1b26e: 0x6c707e20, 0x1b26f: 0x6c85e820, + 0x1b270: 0x6c2d1220, 0x1b271: 0x6cfb4220, 0x1b272: 0x6c57da20, 0x1b273: 0x6c579220, + 0x1b274: 0x6d1bac20, 0x1b275: 0x6c14ee20, 0x1b276: 0x6cd05a20, 0x1b277: 0x6ce66e20, + 0x1b278: 0x6c296420, 0x1b279: 0x6d11ac20, 0x1b27a: 0x6cf4e620, 0x1b27b: 0x6ca44820, + 0x1b27c: 0x6c21b220, 0x1b27d: 0x6c641420, 0x1b27e: 0x6ce7d820, 0x1b27f: 0x6d06d220, + // Block 0x6ca, offset 0x1b280 + 0x1b280: 0x6d233020, 0x1b281: 0x6cef0a20, 0x1b282: 0x6c2c5420, 0x1b283: 0x6cc74820, + 0x1b284: 0x6c9a5620, 0x1b285: 0x6c27de20, 0x1b286: 0x6cc86220, 0x1b287: 0x6cbd2c20, + 0x1b288: 0x6c5ab220, 0x1b289: 0x6cf2ea20, 0x1b28a: 0x6cb99420, 0x1b28b: 0x6c210820, + 0x1b28c: 0x6c9e7420, 0x1b28d: 0x6c3fec20, 0x1b28e: 0x6c6b9620, 0x1b28f: 0x6c329820, + 0x1b290: 0x6d151420, 0x1b291: 0x6d382a20, 0x1b292: 0x6c99f820, 0x1b293: 0x6c59be20, + 0x1b294: 0x6c9dc220, 0x1b295: 0x6c013020, 0x1b296: 0x6d1bae20, 0x1b297: 0x6d079420, + 0x1b298: 0x6c6a0e20, 0x1b299: 0x6cee8220, 0x1b29a: 0x6c9a8e20, 0x1b29b: 0x6d261620, + 0x1b29c: 0x6d32c220, 0x1b29d: 0x6cbfae20, 0x1b29e: 0x6cd37a20, 0x1b29f: 0x6d01a820, + 0x1b2a0: 0x6ceb7c20, 0x1b2a1: 0x6c88f620, 0x1b2a2: 0x6c997820, 0x1b2a3: 0x6cc4c420, + 0x1b2a4: 0x6cd7e620, 0x1b2a5: 0x6cb0f220, 0x1b2a6: 0x6cf08e20, 0x1b2a7: 0x6cebd820, + 0x1b2a8: 0x6c6ff420, 0x1b2a9: 0x6c555620, 0x1b2aa: 0x6c02a620, 0x1b2ab: 0x6cbd1420, + 0x1b2ac: 0x6c05fe20, 0x1b2ad: 0x6d059220, 0x1b2ae: 0x6ce7da20, 0x1b2af: 0x6c4a6420, + 0x1b2b0: 0x6c1e8a20, 0x1b2b1: 0x6d110620, 0x1b2b2: 0x6cb09e20, 0x1b2b3: 0x6cf78420, + 0x1b2b4: 0x6d257a20, 0x1b2b5: 0x6d1d4020, 0x1b2b6: 0x6cc67020, 0x1b2b7: 0x6cc81a20, + 0x1b2b8: 0x6c1ab620, 0x1b2b9: 0x6c8e6620, 0x1b2ba: 0x6c9a5e20, 0x1b2bb: 0x6cac5c20, + 0x1b2bc: 0x6c02a820, 0x1b2bd: 0x6c966020, 0x1b2be: 0x6c46ae20, 0x1b2bf: 0x6c7cf620, + // Block 0x6cb, offset 0x1b2c0 + 0x1b2c0: 0x6cbd8020, 0x1b2c1: 0x6c644820, 0x1b2c2: 0x6ccae420, 0x1b2c3: 0x6d315e20, + 0x1b2c4: 0x6d257c20, 0x1b2c5: 0x6c6a1020, 0x1b2c6: 0x6cc68020, 0x1b2c7: 0x6ca00420, + 0x1b2c8: 0x6d1bc220, 0x1b2c9: 0x6c604c20, 0x1b2ca: 0x6cdac820, 0x1b2cb: 0x6ca79c20, + 0x1b2cc: 0x6cfb6c20, 0x1b2cd: 0x6ce1ce20, 0x1b2ce: 0x6cad0020, 0x1b2cf: 0x6c80b220, + 0x1b2d0: 0x6ca4fc20, 0x1b2d1: 0x6c05ca20, 0x1b2d2: 0x6c00a620, 0x1b2d3: 0x6cb0a020, + 0x1b2d4: 0x6cb20e20, 0x1b2d5: 0x6d182020, 0x1b2d6: 0x6cb17e20, 0x1b2d7: 0x6d238a20, + 0x1b2d8: 0x6c824220, 0x1b2d9: 0x6d081820, 0x1b2da: 0x6c975820, 0x1b2db: 0x6d140020, + 0x1b2dc: 0x6d2ec220, 0x1b2dd: 0x6c773820, 0x1b2de: 0x6d1d9820, 0x1b2df: 0x6ca6a820, + 0x1b2e0: 0x6c840e20, 0x1b2e1: 0x6c2b7a20, 0x1b2e2: 0x6c4a7820, 0x1b2e3: 0x6d0c1a20, + 0x1b2e4: 0x6c6c9c20, 0x1b2e5: 0x6d3b8420, 0x1b2e6: 0x6c16b820, 0x1b2e7: 0x6d2ada20, + 0x1b2e8: 0x6c4dac20, 0x1b2e9: 0x6ca59c20, 0x1b2ea: 0x6c81d820, 0x1b2eb: 0x6ca05c20, + 0x1b2ec: 0x6d300220, 0x1b2ed: 0x6c56ae20, 0x1b2ee: 0x6c56b020, 0x1b2ef: 0x6c02d620, + 0x1b2f0: 0x6ca59e20, 0x1b2f1: 0x6cbb1220, 0x1b2f2: 0x6c96f620, 0x1b2f3: 0x6cb1e420, + 0x1b2f4: 0x6c472a20, 0x1b2f5: 0x6cf46020, 0x1b2f6: 0x6cbbea20, 0x1b2f7: 0x6ceb8820, + 0x1b2f8: 0x6d2e1020, 0x1b2f9: 0x6c98f020, 0x1b2fa: 0x6cfb7820, 0x1b2fb: 0x6cfb7a20, + 0x1b2fc: 0x6ca14a20, 0x1b2fd: 0x6c8a0420, 0x1b2fe: 0x6c883020, 0x1b2ff: 0x6c57b820, + // Block 0x6cc, offset 0x1b300 + 0x1b300: 0x6c4a8420, 0x1b301: 0x6c2aa620, 0x1b302: 0x6d348c20, 0x1b303: 0x6d05ce20, + 0x1b304: 0x6d140a20, 0x1b305: 0x6c579c20, 0x1b306: 0x6cf69220, 0x1b307: 0x6c7d0a20, + 0x1b308: 0x6cc52820, 0x1b309: 0x6cf69420, 0x1b30a: 0x6d0ea020, 0x1b30b: 0x6c151820, + 0x1b30c: 0x6c686420, 0x1b30d: 0x6c9a6620, 0x1b30e: 0x6c396820, 0x1b30f: 0x6c385620, + 0x1b310: 0x6cfad420, 0x1b311: 0x6d188620, 0x1b312: 0x6c5c2a20, 0x1b313: 0x6c69c420, + 0x1b314: 0x6c405220, 0x1b315: 0x6cd3d820, 0x1b316: 0x6c0a4620, 0x1b317: 0x6ccda420, + 0x1b318: 0x6cdc5a20, 0x1b319: 0x6cbb2020, 0x1b31a: 0x6c88c820, 0x1b31b: 0x6c589420, + 0x1b31c: 0x6d02ec20, 0x1b31d: 0x6ca7aa20, 0x1b31e: 0x6c303420, 0x1b31f: 0x6d188820, + 0x1b320: 0x6c117020, 0x1b321: 0x6c00c820, 0x1b322: 0x6ca77820, 0x1b323: 0x6ca92220, + 0x1b324: 0x6c966420, 0x1b325: 0x6ce5ce20, 0x1b326: 0x6c1de220, 0x1b327: 0x6c6d5820, + 0x1b328: 0x6c226820, 0x1b329: 0x6d219e20, 0x1b32a: 0x6cb21620, 0x1b32b: 0x6cc6be20, + 0x1b32c: 0x6cc7ce20, 0x1b32d: 0x6ca3a820, 0x1b32e: 0x6d0c3220, 0x1b32f: 0x6cdf4620, + 0x1b330: 0x6d1bfc20, 0x1b331: 0x6c11b620, 0x1b332: 0x6ca7b220, 0x1b333: 0x6d26ea20, + 0x1b334: 0x6d1c9620, 0x1b335: 0x6c9dd620, 0x1b336: 0x6c0ae620, 0x1b337: 0x6c966620, + 0x1b338: 0x6cd08020, 0x1b339: 0x6d043e20, 0x1b33a: 0x6ca6d420, 0x1b33b: 0x6c31c820, + 0x1b33c: 0x6c8f2020, 0x1b33d: 0x6d251c20, 0x1b33e: 0x6c804820, 0x1b33f: 0x6d0ee820, + // Block 0x6cd, offset 0x1b340 + 0x1b340: 0x6cd6a820, 0x1b341: 0x6c8d8c20, 0x1b342: 0x6c696620, 0x1b343: 0x6ca77a20, + 0x1b344: 0x6c804c20, 0x1b345: 0x6cb94420, 0x1b346: 0x6d1c1a20, 0x1b347: 0x6cd6ae20, + 0x1b348: 0x6c5c9020, 0x1b349: 0x6cc32620, 0x1b34a: 0x6c9d0a20, 0x1b34b: 0x6c84b820, + 0x1b34c: 0x6c944e20, 0x1b34d: 0x6d0d0e20, 0x1b34e: 0x6d3a4020, 0x1b34f: 0x6c805820, + 0x1b350: 0x6d3f6820, 0x1b351: 0x6c6a5220, 0x1b352: 0x6c73c420, 0x1b353: 0x6c73c620, + 0x1b354: 0x6c799220, 0x1b355: 0x6d281220, 0x1b356: 0x6c965e20, 0x1b357: 0x6d3f2820, + 0x1b358: 0x6c25a020, 0x1b359: 0x6cdcca20, 0x1b35a: 0x6c3dd620, 0x1b35b: 0x6c06d620, + 0x1b35c: 0x6d3e0020, 0x1b35d: 0x6cffcc20, 0x1b35e: 0x6d031a20, 0x1b35f: 0x6c9bfe20, + 0x1b360: 0x6cd88c20, 0x1b361: 0x6cdf0220, 0x1b362: 0x6c05a420, 0x1b363: 0x6c619220, + 0x1b364: 0x6c46f020, 0x1b365: 0x6caa3c20, 0x1b366: 0x6d08f820, 0x1b367: 0x6d206a20, + 0x1b368: 0x6d3ba220, 0x1b369: 0x6c4d1e20, 0x1b36a: 0x6c943020, 0x1b36b: 0x6cdcd020, + 0x1b36c: 0x6ca48e20, 0x1b36d: 0x6c9ec420, 0x1b36e: 0x6c239220, 0x1b36f: 0x6cb8d420, + 0x1b370: 0x6cd52820, 0x1b371: 0x6c11f620, 0x1b372: 0x6d0aea20, 0x1b373: 0x6d3e3420, + 0x1b374: 0x6ca63e20, 0x1b375: 0x6c3d8820, 0x1b376: 0x6d3e4e20, 0x1b377: 0x6c841020, + 0x1b378: 0x6d091820, 0x1b379: 0x6c0ff620, 0x1b37a: 0x6cc7d020, 0x1b37b: 0x6ca38820, + 0x1b37c: 0x6ca89020, 0x1b37d: 0x6ca89220, 0x1b37e: 0x6d1c1c20, 0x1b37f: 0x6c945020, + // Block 0x6ce, offset 0x1b380 + 0x1b380: 0x6c9db620, 0x1b381: 0x6ca8f220, 0x1b382: 0x6cc6ee20, 0x1b383: 0x6cdddc20, + 0x1b384: 0x6c4ab820, 0x1b385: 0x6d2d1820, 0x1b386: 0x6cbef820, 0x1b387: 0x6d221620, + 0x1b388: 0x6cd43a20, 0x1b389: 0x6c011220, 0x1b38a: 0x6ce83820, 0x1b38b: 0x6cd97e20, + 0x1b38c: 0x6cecc020, 0x1b38d: 0x6cc78420, 0x1b38e: 0x6d118220, 0x1b38f: 0x6c52f220, + 0x1b390: 0x6d145e20, 0x1b391: 0x6c6e0c20, 0x1b392: 0x6d3cc820, 0x1b393: 0x6c9d2220, + 0x1b394: 0x6d3a5820, 0x1b395: 0x6c295620, 0x1b396: 0x6c530020, 0x1b397: 0x6d3f7020, + 0x1b398: 0x6c490420, 0x1b399: 0x6d38fe20, 0x1b39a: 0x6c2f9620, 0x1b39b: 0x6cecee20, + 0x1b39c: 0x6d198e20, 0x1b39d: 0x6c05e220, 0x1b39e: 0x6cd24220, 0x1b39f: 0x6cd24420, + 0x1b3a0: 0x6c1d3620, 0x1b3a1: 0x6cd04620, 0x1b3a2: 0x6c788c20, 0x1b3a3: 0x6d078220, + 0x1b3a4: 0x6cd32c20, 0x1b3a5: 0x6d202420, 0x1b3a6: 0x6c58fa20, 0x1b3a7: 0x6d14b820, + 0x1b3a8: 0x6ce5b820, 0x1b3a9: 0x6cd2be20, 0x1b3aa: 0x6cfc8c20, 0x1b3ab: 0x6c456e20, + 0x1b3ac: 0x6c19ca20, 0x1b3ad: 0x6cc44220, 0x1b3ae: 0x6c457a20, 0x1b3af: 0x6cfe9420, + 0x1b3b0: 0x6d291220, 0x1b3b1: 0x6d2cba20, 0x1b3b2: 0x6c05f020, 0x1b3b3: 0x6c4d5e20, + 0x1b3b4: 0x6d0e4e20, 0x1b3b5: 0x6cfe9620, 0x1b3b6: 0x6c634020, 0x1b3b7: 0x6cd05020, + 0x1b3b8: 0x6c18ae20, 0x1b3b9: 0x6cc66020, 0x1b3ba: 0x6c5a4c20, 0x1b3bb: 0x6c9d3020, + 0x1b3bc: 0x6c79e020, 0x1b3bd: 0x6c7b5220, 0x1b3be: 0x6c0d2e20, 0x1b3bf: 0x6cdaa020, + // Block 0x6cf, offset 0x1b3c0 + 0x1b3c0: 0x6c112420, 0x1b3c1: 0x6d296620, 0x1b3c2: 0x6c61de20, 0x1b3c3: 0x6d24da20, + 0x1b3c4: 0x6c61e020, 0x1b3c5: 0x6d1a5420, 0x1b3c6: 0x6c9d3620, 0x1b3c7: 0x6c79e620, + 0x1b3c8: 0x6cbe4220, 0x1b3c9: 0x6cc3b420, 0x1b3ca: 0x6d315620, 0x1b3cb: 0x6c668820, + 0x1b3cc: 0x6c3fee20, 0x1b3cd: 0x6ca90420, 0x1b3ce: 0x6c0e1e20, 0x1b3cf: 0x6c587420, + 0x1b3d0: 0x6c9a9020, 0x1b3d1: 0x6cbdd620, 0x1b3d2: 0x6c4e0c20, 0x1b3d3: 0x6d233220, + 0x1b3d4: 0x6cd26620, 0x1b3d5: 0x6ca90620, 0x1b3d6: 0x6c6d1020, 0x1b3d7: 0x6ca90a20, + 0x1b3d8: 0x6d365020, 0x1b3d9: 0x6d226820, 0x1b3da: 0x6c060220, 0x1b3db: 0x6c7b5620, + 0x1b3dc: 0x6ca90c20, 0x1b3dd: 0x6cbddc20, 0x1b3de: 0x6ca12820, 0x1b3df: 0x6c13f220, + 0x1b3e0: 0x6c726020, 0x1b3e1: 0x6c489c20, 0x1b3e2: 0x6cbde220, 0x1b3e3: 0x6c54e420, + 0x1b3e4: 0x6cf50a20, 0x1b3e5: 0x6c89f020, 0x1b3e6: 0x6cd27a20, 0x1b3e7: 0x6ca91020, + 0x1b3e8: 0x6d2d4620, 0x1b3e9: 0x6cd06820, 0x1b3ea: 0x6ceffc20, 0x1b3eb: 0x6d014820, + 0x1b3ec: 0x6c7b5820, 0x1b3ed: 0x6c5c0e20, 0x1b3ee: 0x6c8a0620, 0x1b3ef: 0x6c75e220, + 0x1b3f0: 0x6c589620, 0x1b3f1: 0x6d18c020, 0x1b3f2: 0x6d156a20, 0x1b3f3: 0x6c061c20, + 0x1b3f4: 0x6cbd4a20, 0x1b3f5: 0x6c1d4620, 0x1b3f6: 0x6c062020, 0x1b3f7: 0x6c3c7c20, + 0x1b3f8: 0x6c25b020, 0x1b3f9: 0x6c332c20, 0x1b3fa: 0x6cd87820, 0x1b3fb: 0x6d09d420, + 0x1b3fc: 0x6c29ce20, 0x1b3fd: 0x6c93ca20, 0x1b3fe: 0x6c333620, 0x1b3ff: 0x6cd45020, + // Block 0x6d0, offset 0x1b400 + 0x1b400: 0x6cb34a20, 0x1b401: 0x6c3c2420, 0x1b402: 0x6d3b7420, 0x1b403: 0x6c3d5e20, + 0x1b404: 0x6ccf3a20, 0x1b405: 0x6c789620, 0x1b406: 0x6c674e20, 0x1b407: 0x6c675c20, + 0x1b408: 0x6d3b7a20, 0x1b409: 0x6cf08420, 0x1b40a: 0x6d41e820, 0x1b40b: 0x6d0a0c20, + 0x1b40c: 0x6cd5d220, 0x1b40d: 0x6c335420, 0x1b40e: 0x6c29e820, 0x1b40f: 0x6cffa220, + 0x1b410: 0x6c6a5420, 0x1b411: 0x6cceac20, 0x1b412: 0x6c377e20, 0x1b413: 0x6c378020, + 0x1b414: 0x6c378220, 0x1b415: 0x6c40d020, 0x1b416: 0x6c645e20, 0x1b417: 0x6cd49a20, + 0x1b418: 0x6c189220, 0x1b419: 0x6cce4a20, 0x1b41a: 0x6cce4c20, 0x1b41b: 0x6ca1b420, + 0x1b41c: 0x6c40c620, 0x1b41d: 0x6c169e20, 0x1b41e: 0x6c8a9a20, 0x1b41f: 0x6cfc1020, + 0x1b420: 0x6cfc1220, 0x1b421: 0x6c7dde20, 0x1b422: 0x6d1edc20, 0x1b423: 0x6cedbc20, + 0x1b424: 0x6d1ede20, 0x1b425: 0x6c8a8c20, 0x1b426: 0x6c8a8e20, 0x1b427: 0x6d10ca20, + 0x1b428: 0x6c983020, 0x1b429: 0x6cedc620, 0x1b42a: 0x6cedc020, 0x1b42b: 0x6cedc220, + 0x1b42c: 0x6c40d420, 0x1b42d: 0x6d10cc20, 0x1b42e: 0x6c34d620, 0x1b42f: 0x6c7cec20, + 0x1b430: 0x6d37f020, 0x1b431: 0x6c6ff620, 0x1b432: 0x6c419c20, 0x1b433: 0x6c478820, + 0x1b434: 0x6c419e20, 0x1b435: 0x6ce9b420, 0x1b436: 0x6c41b620, 0x1b437: 0x6c41b820, + 0x1b438: 0x6cd18a20, 0x1b439: 0x6d1ac220, 0x1b43a: 0x6c1b7020, 0x1b43b: 0x6c779020, + 0x1b43c: 0x6ca5b620, 0x1b43d: 0x6c6c8020, 0x1b43e: 0x6cef8620, 0x1b43f: 0x6ca7d020, + // Block 0x6d1, offset 0x1b440 + 0x1b440: 0x6c70f020, 0x1b441: 0x6cb08620, 0x1b442: 0x6c134e20, 0x1b443: 0x6cf83c20, + 0x1b444: 0x6c086c20, 0x1b445: 0x6c705620, 0x1b446: 0x6c6bbe20, 0x1b447: 0x6ce48020, + 0x1b448: 0x6cc0dc20, 0x1b449: 0x6ce44c20, 0x1b44a: 0x6c6bc020, 0x1b44b: 0x6cf35620, + 0x1b44c: 0x6c2dfa20, 0x1b44d: 0x6cd1a220, 0x1b44e: 0x6cd2c020, 0x1b44f: 0x6cb28020, + 0x1b450: 0x6c5ea420, 0x1b451: 0x6d017c20, 0x1b452: 0x6d31c620, 0x1b453: 0x6d017e20, + 0x1b454: 0x6ca5ca20, 0x1b455: 0x6d2de020, 0x1b456: 0x6cf5ba20, 0x1b457: 0x6cef9e20, + 0x1b458: 0x6c97b420, 0x1b459: 0x6c353a20, 0x1b45a: 0x6c910620, 0x1b45b: 0x6cb29820, + 0x1b45c: 0x6ce44e20, 0x1b45d: 0x6c3aa420, 0x1b45e: 0x6cd55820, 0x1b45f: 0x6d01aa20, + 0x1b460: 0x6ce8a020, 0x1b461: 0x6c939a20, 0x1b462: 0x6c93a620, 0x1b463: 0x6cf7f820, + 0x1b464: 0x6c135420, 0x1b465: 0x6c93ae20, 0x1b466: 0x6c727820, 0x1b467: 0x6d01f620, + 0x1b468: 0x6c72a420, 0x1b469: 0x6c73ba20, 0x1b46a: 0x6c8a3020, 0x1b46b: 0x6c74e620, + 0x1b46c: 0x6cd58820, 0x1b46d: 0x6cf93a20, 0x1b46e: 0x6c17fa20, 0x1b46f: 0x6cea3620, + 0x1b470: 0x6ca67420, 0x1b471: 0x6cccb020, 0x1b472: 0x6cec4820, 0x1b473: 0x6cfa6c20, + 0x1b474: 0x6c856820, 0x1b475: 0x6c35c620, 0x1b476: 0x6c2a5420, 0x1b477: 0x6c5ca820, + 0x1b478: 0x6c8f6820, 0x1b479: 0x6d165c20, 0x1b47a: 0x6cb6ca20, 0x1b47b: 0x6cc5b020, + 0x1b47c: 0x6cf49e20, 0x1b47d: 0x6c4e8020, 0x1b47e: 0x6ccf9c20, 0x1b47f: 0x6d221820, + // Block 0x6d2, offset 0x1b480 + 0x1b480: 0x6c1e5220, 0x1b481: 0x6cdc1e20, 0x1b482: 0x6cb6cc20, 0x1b483: 0x6cc5b220, + 0x1b484: 0x6d267c20, 0x1b485: 0x6c04b820, 0x1b486: 0x6d118420, 0x1b487: 0x6c01f220, + 0x1b488: 0x6d0b0e20, 0x1b489: 0x6cf4a620, 0x1b48a: 0x6c6a6e20, 0x1b48b: 0x6c35cc20, + 0x1b48c: 0x6c5fc620, 0x1b48d: 0x6cb8a420, 0x1b48e: 0x6c3b5420, 0x1b48f: 0x6cecc420, + 0x1b490: 0x6cb57020, 0x1b491: 0x6c132820, 0x1b492: 0x6cb96a20, 0x1b493: 0x6cb57220, + 0x1b494: 0x6c142e20, 0x1b495: 0x6c6bb020, 0x1b496: 0x6cc0d020, 0x1b497: 0x6c429820, + 0x1b498: 0x6cfc7a20, 0x1b499: 0x6c02c020, 0x1b49a: 0x6c7f8a20, 0x1b49b: 0x6c29d020, + 0x1b49c: 0x6c031a20, 0x1b49d: 0x6d427c20, 0x1b49e: 0x6d427e20, 0x1b49f: 0x6d100220, + 0x1b4a0: 0x6c71f820, 0x1b4a1: 0x6c425c20, 0x1b4a2: 0x6c785820, 0x1b4a3: 0x6c466e20, + 0x1b4a4: 0x6d08fa20, 0x1b4a5: 0x6cb2fa20, 0x1b4a6: 0x6c858a20, 0x1b4a7: 0x6ce56e20, + 0x1b4a8: 0x6cc0e020, 0x1b4a9: 0x6d0c6220, 0x1b4aa: 0x6c3de420, 0x1b4ab: 0x6d052e20, + 0x1b4ac: 0x6c640020, 0x1b4ad: 0x6c8e0a20, 0x1b4ae: 0x6ceaec20, 0x1b4af: 0x6cafb220, + 0x1b4b0: 0x6c02c820, 0x1b4b1: 0x6c273020, 0x1b4b2: 0x6c7be020, 0x1b4b3: 0x6d268620, + 0x1b4b4: 0x6cc0e220, 0x1b4b5: 0x6c566220, 0x1b4b6: 0x6cb36620, 0x1b4b7: 0x6c9f2a20, + 0x1b4b8: 0x6c01a220, 0x1b4b9: 0x6ce57020, 0x1b4ba: 0x6c8ca620, 0x1b4bb: 0x6c1b0620, + 0x1b4bc: 0x6cb2ea20, 0x1b4bd: 0x6c2fde20, 0x1b4be: 0x6c4e8c20, 0x1b4bf: 0x6c7c3420, + // Block 0x6d3, offset 0x1b4c0 + 0x1b4c0: 0x6d053020, 0x1b4c1: 0x6c992a20, 0x1b4c2: 0x6ce71420, 0x1b4c3: 0x6d08fc20, + 0x1b4c4: 0x6d16ae20, 0x1b4c5: 0x6c0be220, 0x1b4c6: 0x6c50d220, 0x1b4c7: 0x6c032c20, + 0x1b4c8: 0x6c95e620, 0x1b4c9: 0x6c35f020, 0x1b4ca: 0x6c3fc220, 0x1b4cb: 0x6d09e420, + 0x1b4cc: 0x6c2e6c20, 0x1b4cd: 0x6c921e20, 0x1b4ce: 0x6c371e20, 0x1b4cf: 0x6c373c20, + 0x1b4d0: 0x6c40e820, 0x1b4d1: 0x6cc28c20, 0x1b4d2: 0x6c305a20, 0x1b4d3: 0x6d149420, + 0x1b4d4: 0x6ca22e20, 0x1b4d5: 0x6cd25020, 0x1b4d6: 0x6c011a20, 0x1b4d7: 0x6ceee820, + 0x1b4d8: 0x6c586220, 0x1b4d9: 0x6d359620, 0x1b4da: 0x6c9d2c20, 0x1b4db: 0x6c850220, + 0x1b4dc: 0x6c61a420, 0x1b4dd: 0x6ce72220, 0x1b4de: 0x6ceeea20, 0x1b4df: 0x6d202620, + 0x1b4e0: 0x6c483420, 0x1b4e1: 0x6cf99420, 0x1b4e2: 0x6c850420, 0x1b4e3: 0x6d10d820, + 0x1b4e4: 0x6c698620, 0x1b4e5: 0x6d329420, 0x1b4e6: 0x6c943220, 0x1b4e7: 0x6c683020, + 0x1b4e8: 0x6c355420, 0x1b4e9: 0x6c355620, 0x1b4ea: 0x6d22ee20, 0x1b4eb: 0x6d007a20, + 0x1b4ec: 0x6c100e20, 0x1b4ed: 0x6cbc3620, 0x1b4ee: 0x6cc43420, 0x1b4ef: 0x6c3c3220, + 0x1b4f0: 0x6c3c3420, 0x1b4f1: 0x6ca4a220, 0x1b4f2: 0x6c850a20, 0x1b4f3: 0x6d1f1420, + 0x1b4f4: 0x6cfca220, 0x1b4f5: 0x6c532820, 0x1b4f6: 0x6c29d220, 0x1b4f7: 0x6ccfc820, + 0x1b4f8: 0x6c19cc20, 0x1b4f9: 0x6ce88e20, 0x1b4fa: 0x6c44f620, 0x1b4fb: 0x6c75a220, + 0x1b4fc: 0x6c502620, 0x1b4fd: 0x6cf9a020, 0x1b4fe: 0x6d1a4620, 0x1b4ff: 0x6d223a20, + // Block 0x6d4, offset 0x1b500 + 0x1b500: 0x6c811620, 0x1b501: 0x6c770820, 0x1b502: 0x6c814e20, 0x1b503: 0x6c7ee820, + 0x1b504: 0x6cfbf220, 0x1b505: 0x6cc3aa20, 0x1b506: 0x6c797020, 0x1b507: 0x6c1d1020, + 0x1b508: 0x6c1d1220, 0x1b509: 0x6cde4620, 0x1b50a: 0x6c8bac20, 0x1b50b: 0x6c578a20, + 0x1b50c: 0x6c708420, 0x1b50d: 0x6c7ef420, 0x1b50e: 0x6cb5be20, 0x1b50f: 0x6c9f4420, + 0x1b510: 0x6c7d5420, 0x1b511: 0x6c7d5620, 0x1b512: 0x6d40b420, 0x1b513: 0x6c480a20, + 0x1b514: 0x6c24c820, 0x1b515: 0x6d0b2620, 0x1b516: 0x6d0b2820, 0x1b517: 0x6c429e20, + 0x1b518: 0x6c94ee20, 0x1b519: 0x6c94f020, 0x1b51a: 0x6c837420, 0x1b51b: 0x6c742020, + 0x1b51c: 0x6c342820, 0x1b51d: 0x6d32ac20, 0x1b51e: 0x6c4c1e20, 0x1b51f: 0x6d1a5620, + 0x1b520: 0x6c2ff220, 0x1b521: 0x6c4dfa20, 0x1b522: 0x6d32ae20, 0x1b523: 0x6cefac20, + 0x1b524: 0x6cff7e20, 0x1b525: 0x6cafde20, 0x1b526: 0x6d0bf220, 0x1b527: 0x6cd91420, + 0x1b528: 0x6c6ab220, 0x1b529: 0x6c07e220, 0x1b52a: 0x6d40b620, 0x1b52b: 0x6c7a3c20, + 0x1b52c: 0x6c2ff420, 0x1b52d: 0x6d2de420, 0x1b52e: 0x6c480c20, 0x1b52f: 0x6d1a5820, + 0x1b530: 0x6d3f6a20, 0x1b531: 0x6d2b4e20, 0x1b532: 0x6c59c020, 0x1b533: 0x6d211820, + 0x1b534: 0x6cec6220, 0x1b535: 0x6d0fb220, 0x1b536: 0x6c3c4a20, 0x1b537: 0x6cc05c20, + 0x1b538: 0x6d0fb420, 0x1b539: 0x6ce32020, 0x1b53a: 0x6d15ec20, 0x1b53b: 0x6d361e20, + 0x1b53c: 0x6cd37c20, 0x1b53d: 0x6d291620, 0x1b53e: 0x6d11ae20, 0x1b53f: 0x6c363020, + // Block 0x6d5, offset 0x1b540 + 0x1b540: 0x6d3af220, 0x1b541: 0x6c76ac20, 0x1b542: 0x6c93dc20, 0x1b543: 0x6d0d7a20, + 0x1b544: 0x6c9a5820, 0x1b545: 0x6c4e0e20, 0x1b546: 0x6c5ec820, 0x1b547: 0x6c5eca20, + 0x1b548: 0x6c591e20, 0x1b549: 0x6ce67020, 0x1b54a: 0x6cd16a20, 0x1b54b: 0x6c99fa20, + 0x1b54c: 0x6cba5220, 0x1b54d: 0x6cf4e820, 0x1b54e: 0x6d211a20, 0x1b54f: 0x6d3f8420, + 0x1b550: 0x6c7f9a20, 0x1b551: 0x6c786420, 0x1b552: 0x6d0c9220, 0x1b553: 0x6d0c9420, + 0x1b554: 0x6cefbc20, 0x1b555: 0x6d3f8620, 0x1b556: 0x6c13e020, 0x1b557: 0x6cdc3c20, + 0x1b558: 0x6cc67220, 0x1b559: 0x6c78ee20, 0x1b55a: 0x6cbd2e20, 0x1b55b: 0x6d211c20, + 0x1b55c: 0x6ce45220, 0x1b55d: 0x6c90e220, 0x1b55e: 0x6ce8ba20, 0x1b55f: 0x6c330420, + 0x1b560: 0x6cf64220, 0x1b561: 0x6cf25220, 0x1b562: 0x6c123020, 0x1b563: 0x6c296c20, + 0x1b564: 0x6cc68220, 0x1b565: 0x6c6ae020, 0x1b566: 0x6c765e20, 0x1b567: 0x6c8e6820, + 0x1b568: 0x6cf4fc20, 0x1b569: 0x6cd92420, 0x1b56a: 0x6cbb7c20, 0x1b56b: 0x6d3e3620, + 0x1b56c: 0x6cef0c20, 0x1b56d: 0x6c07f620, 0x1b56e: 0x6c2ccc20, 0x1b56f: 0x6c25da20, + 0x1b570: 0x6cba1220, 0x1b571: 0x6d1e4420, 0x1b572: 0x6ca83e20, 0x1b573: 0x6c25dc20, + 0x1b574: 0x6c614820, 0x1b575: 0x6cd41620, 0x1b576: 0x6cc93c20, 0x1b577: 0x6cd96820, + 0x1b578: 0x6d3fa020, 0x1b579: 0x6c67f420, 0x1b57a: 0x6c89f220, 0x1b57b: 0x6c773c20, + 0x1b57c: 0x6c15c620, 0x1b57d: 0x6c2ec820, 0x1b57e: 0x6c132420, 0x1b57f: 0x6c2f7820, + // Block 0x6d6, offset 0x1b580 + 0x1b580: 0x6ce86820, 0x1b581: 0x6c90ec20, 0x1b582: 0x6d2f3a20, 0x1b583: 0x6d2dfe20, + 0x1b584: 0x6d2e0020, 0x1b585: 0x6c024e20, 0x1b586: 0x6c127c20, 0x1b587: 0x6cc11e20, + 0x1b588: 0x6cbac820, 0x1b589: 0x6c24d620, 0x1b58a: 0x6d418e20, 0x1b58b: 0x6c29e220, + 0x1b58c: 0x6c29e420, 0x1b58d: 0x6cf79020, 0x1b58e: 0x6d238c20, 0x1b58f: 0x6cae2620, + 0x1b590: 0x6c8f9a20, 0x1b591: 0x6cfe4420, 0x1b592: 0x6c135620, 0x1b593: 0x6c0e8620, + 0x1b594: 0x6cbd3c20, 0x1b595: 0x6c686620, 0x1b596: 0x6d0dc620, 0x1b597: 0x6c816a20, + 0x1b598: 0x6d2e7420, 0x1b599: 0x6c8bcc20, 0x1b59a: 0x6c8a0820, 0x1b59b: 0x6c8a0a20, + 0x1b59c: 0x6c6c5020, 0x1b59d: 0x6c2ae220, 0x1b59e: 0x6c350a20, 0x1b59f: 0x6d41ee20, + 0x1b5a0: 0x6c69ba20, 0x1b5a1: 0x6c4b6220, 0x1b5a2: 0x6d113420, 0x1b5a3: 0x6c686820, + 0x1b5a4: 0x6d113620, 0x1b5a5: 0x6c748e20, 0x1b5a6: 0x6d2d9620, 0x1b5a7: 0x6d188a20, + 0x1b5a8: 0x6d091a20, 0x1b5a9: 0x6ca4be20, 0x1b5aa: 0x6d133820, 0x1b5ab: 0x6d133a20, + 0x1b5ac: 0x6d155a20, 0x1b5ad: 0x6ca87020, 0x1b5ae: 0x6cfc2a20, 0x1b5af: 0x6c608220, + 0x1b5b0: 0x6d020c20, 0x1b5b1: 0x6c786e20, 0x1b5b2: 0x6cf69820, 0x1b5b3: 0x6c2c9a20, + 0x1b5b4: 0x6c02e620, 0x1b5b5: 0x6d419c20, 0x1b5b6: 0x6cf14820, 0x1b5b7: 0x6d156c20, + 0x1b5b8: 0x6cc6c020, 0x1b5b9: 0x6c29f020, 0x1b5ba: 0x6c8e1420, 0x1b5bb: 0x6d28cc20, + 0x1b5bc: 0x6d228c20, 0x1b5bd: 0x6d26f220, 0x1b5be: 0x6d1b0c20, 0x1b5bf: 0x6cc83820, + // Block 0x6d7, offset 0x1b5c0 + 0x1b5c0: 0x6c6b5420, 0x1b5c1: 0x6c869c20, 0x1b5c2: 0x6c4a9820, 0x1b5c3: 0x6c8fbe20, + 0x1b5c4: 0x6c8fc020, 0x1b5c5: 0x6c2ce420, 0x1b5c6: 0x6cc6d620, 0x1b5c7: 0x6cf72a20, + 0x1b5c8: 0x6c718620, 0x1b5c9: 0x6c155020, 0x1b5ca: 0x6d1d2220, 0x1b5cb: 0x6c7c5420, + 0x1b5cc: 0x6d0cee20, 0x1b5cd: 0x6ceec820, 0x1b5ce: 0x6ca4d420, 0x1b5cf: 0x6cc32820, + 0x1b5d0: 0x6c17ac20, 0x1b5d1: 0x6c24a420, 0x1b5d2: 0x6c945220, 0x1b5d3: 0x6c2cf420, + 0x1b5d4: 0x6c2cf620, 0x1b5d5: 0x6ca8e020, 0x1b5d6: 0x6d0d1220, 0x1b5d7: 0x6d0d1020, + 0x1b5d8: 0x6d0e2020, 0x1b5d9: 0x6c7cbc20, 0x1b5da: 0x6d0e2220, 0x1b5db: 0x6c1fd620, + 0x1b5dc: 0x6c7b0820, 0x1b5dd: 0x6c1fd820, 0x1b5de: 0x6d385020, 0x1b5df: 0x6c597020, + 0x1b5e0: 0x6c6d8a20, 0x1b5e1: 0x6d09d820, 0x1b5e2: 0x6c175e20, 0x1b5e3: 0x6c176020, + 0x1b5e4: 0x6c8b2620, 0x1b5e5: 0x6c454a20, 0x1b5e6: 0x6d426020, 0x1b5e7: 0x6cbc1a20, + 0x1b5e8: 0x6c71e820, 0x1b5e9: 0x6c45ce20, 0x1b5ea: 0x6c71f220, 0x1b5eb: 0x6cf35220, + 0x1b5ec: 0x6cb4be20, 0x1b5ed: 0x6cb4c020, 0x1b5ee: 0x6c143620, 0x1b5ef: 0x6cc05e20, + 0x1b5f0: 0x6cc08220, 0x1b5f1: 0x6c610e20, 0x1b5f2: 0x6d15ac20, 0x1b5f3: 0x6cd87020, + 0x1b5f4: 0x6c03e620, 0x1b5f5: 0x6d338a20, 0x1b5f6: 0x6d2f5820, 0x1b5f7: 0x6cfe1e20, + 0x1b5f8: 0x6d14bc20, 0x1b5f9: 0x6c6c8820, 0x1b5fa: 0x6d0a6c20, 0x1b5fb: 0x6c734020, + 0x1b5fc: 0x6c033820, 0x1b5fd: 0x6d0a8c20, 0x1b5fe: 0x6c6c1a20, 0x1b5ff: 0x6c3dc620, + // Block 0x6d8, offset 0x1b600 + 0x1b600: 0x6d287e20, 0x1b601: 0x6c090220, 0x1b602: 0x6cd2f020, 0x1b603: 0x6c105820, + 0x1b604: 0x6c2f4620, 0x1b605: 0x6cd66220, 0x1b606: 0x6c384a20, 0x1b607: 0x6ca7ec20, + 0x1b608: 0x6cd19020, 0x1b609: 0x6c3b0e20, 0x1b60a: 0x6cabe420, 0x1b60b: 0x6d34e020, + 0x1b60c: 0x6cf57a20, 0x1b60d: 0x6c565420, 0x1b60e: 0x6c286420, 0x1b60f: 0x6ceede20, + 0x1b610: 0x6d2f2020, 0x1b611: 0x6ce16e20, 0x1b612: 0x6c273220, 0x1b613: 0x6ca0c820, + 0x1b614: 0x6cae0620, 0x1b615: 0x6cabe620, 0x1b616: 0x6ce5e820, 0x1b617: 0x6c0e4c20, + 0x1b618: 0x6c87f220, 0x1b619: 0x6d358620, 0x1b61a: 0x6d397620, 0x1b61b: 0x6c0eb420, + 0x1b61c: 0x6d358820, 0x1b61d: 0x6c2c2620, 0x1b61e: 0x6ca0de20, 0x1b61f: 0x6d16e220, + 0x1b620: 0x6d16e420, 0x1b621: 0x6cb28220, 0x1b622: 0x6cb84820, 0x1b623: 0x6c731420, + 0x1b624: 0x6cc79220, 0x1b625: 0x6cd66420, 0x1b626: 0x6c274020, 0x1b627: 0x6d334020, + 0x1b628: 0x6cd71420, 0x1b629: 0x6cbc3820, 0x1b62a: 0x6d313620, 0x1b62b: 0x6cd1b020, + 0x1b62c: 0x6cc44420, 0x1b62d: 0x6cf77020, 0x1b62e: 0x6c051c20, 0x1b62f: 0x6c275020, + 0x1b630: 0x6c4a4420, 0x1b631: 0x6c1d9420, 0x1b632: 0x6cb29a20, 0x1b633: 0x6d2f2c20, + 0x1b634: 0x6cca4a20, 0x1b635: 0x6cec8a20, 0x1b636: 0x6c275c20, 0x1b637: 0x6ceefc20, + 0x1b638: 0x6c16a420, 0x1b639: 0x6ccc4820, 0x1b63a: 0x6cb5c220, 0x1b63b: 0x6d2abe20, + 0x1b63c: 0x6c4c6820, 0x1b63d: 0x6c997a20, 0x1b63e: 0x6c321620, 0x1b63f: 0x6c540020, + // Block 0x6d9, offset 0x1b640 + 0x1b640: 0x6d334c20, 0x1b641: 0x6d059420, 0x1b642: 0x6c9d4420, 0x1b643: 0x6cef0e20, + 0x1b644: 0x6cf2ec20, 0x1b645: 0x6c3e7620, 0x1b646: 0x6d179620, 0x1b647: 0x6c052e20, + 0x1b648: 0x6cb2a420, 0x1b649: 0x6c2f3a20, 0x1b64a: 0x6c459220, 0x1b64b: 0x6cac5e20, + 0x1b64c: 0x6c5a5420, 0x1b64d: 0x6ce1d220, 0x1b64e: 0x6c9d5420, 0x1b64f: 0x6c644a20, + 0x1b650: 0x6ce2a020, 0x1b651: 0x6c5ad020, 0x1b652: 0x6d37c020, 0x1b653: 0x6cccfa20, + 0x1b654: 0x6c97e620, 0x1b655: 0x6ca29420, 0x1b656: 0x6c0c0820, 0x1b657: 0x6c4c7220, + 0x1b658: 0x6d2adc20, 0x1b659: 0x6ca29620, 0x1b65a: 0x6c053420, 0x1b65b: 0x6d2f3c20, + 0x1b65c: 0x6c6e2820, 0x1b65d: 0x6c15d220, 0x1b65e: 0x6c3ed620, 0x1b65f: 0x6d36a620, + 0x1b660: 0x6c54f420, 0x1b661: 0x6c385820, 0x1b662: 0x6c207620, 0x1b663: 0x6c09f220, + 0x1b664: 0x6c0ae220, 0x1b665: 0x6d2f4820, 0x1b666: 0x6c9d8420, 0x1b667: 0x6cbba420, + 0x1b668: 0x6c14d820, 0x1b669: 0x6c3b8620, 0x1b66a: 0x6c9b4820, 0x1b66b: 0x6c053e20, + 0x1b66c: 0x6c1de420, 0x1b66d: 0x6c9eee20, 0x1b66e: 0x6c1eb820, 0x1b66f: 0x6c6b3220, + 0x1b670: 0x6cfc3e20, 0x1b671: 0x6c7fe220, 0x1b672: 0x6c420a20, 0x1b673: 0x6cb26e20, + 0x1b674: 0x6ca6f220, 0x1b675: 0x6c646020, 0x1b676: 0x6c0e0420, 0x1b677: 0x6c0e0c20, + 0x1b678: 0x6d041620, 0x1b679: 0x6c422620, 0x1b67a: 0x6d107e20, 0x1b67b: 0x6c58ec20, + 0x1b67c: 0x6d200c20, 0x1b67d: 0x6d1e9a20, 0x1b67e: 0x6c613e20, 0x1b67f: 0x6c4a0220, + // Block 0x6da, offset 0x1b680 + 0x1b680: 0x6cb04220, 0x1b681: 0x6ce62420, 0x1b682: 0x6d2b3420, 0x1b683: 0x6c4a0420, + 0x1b684: 0x6d3c0820, 0x1b685: 0x6ca1b020, 0x1b686: 0x6cbec220, 0x1b687: 0x6c091c20, + 0x1b688: 0x6cbd5220, 0x1b689: 0x6c33d820, 0x1b68a: 0x6c206c20, 0x1b68b: 0x6c4ac220, + 0x1b68c: 0x6d0b4820, 0x1b68d: 0x6c043020, 0x1b68e: 0x6c6bb620, 0x1b68f: 0x6d067020, + 0x1b690: 0x6c913420, 0x1b691: 0x6cf42020, 0x1b692: 0x6d3c5420, 0x1b693: 0x6c7a8220, + 0x1b694: 0x6d1b9e20, 0x1b695: 0x6c2bd620, 0x1b696: 0x6cad4c20, 0x1b697: 0x6c2d3c20, + 0x1b698: 0x6d0ad020, 0x1b699: 0x6c9eac20, 0x1b69a: 0x6c44ba20, 0x1b69b: 0x6c22b820, + 0x1b69c: 0x6c3f3e20, 0x1b69d: 0x6ce71820, 0x1b69e: 0x6cacf220, 0x1b69f: 0x6c3a8220, + 0x1b6a0: 0x6cfdb420, 0x1b6a1: 0x6d15ce20, 0x1b6a2: 0x6d359820, 0x1b6a3: 0x6ce54e20, + 0x1b6a4: 0x6d359a20, 0x1b6a5: 0x6d04be20, 0x1b6a6: 0x6c324420, 0x1b6a7: 0x6d428e20, + 0x1b6a8: 0x6cfe9c20, 0x1b6a9: 0x6ce89020, 0x1b6aa: 0x6c4ae620, 0x1b6ab: 0x6c7a8820, + 0x1b6ac: 0x6c984e20, 0x1b6ad: 0x6ce66420, 0x1b6ae: 0x6d1fb620, 0x1b6af: 0x6c101020, + 0x1b6b0: 0x6c0e0e20, 0x1b6b1: 0x6c1a6e20, 0x1b6b2: 0x6c7ef620, 0x1b6b3: 0x6c097620, + 0x1b6b4: 0x6c601620, 0x1b6b5: 0x6c012620, 0x1b6b6: 0x6cd5c220, 0x1b6b7: 0x6c772c20, + 0x1b6b8: 0x6d1d8420, 0x1b6b9: 0x6ceb7820, 0x1b6ba: 0x6cd91620, 0x1b6bb: 0x6cd5c420, + 0x1b6bc: 0x6cbea620, 0x1b6bd: 0x6d233620, 0x1b6be: 0x6d224a20, 0x1b6bf: 0x6c9eb420, + // Block 0x6db, offset 0x1b6c0 + 0x1b6c0: 0x6cd9ac20, 0x1b6c1: 0x6c12e620, 0x1b6c2: 0x6cfd7220, 0x1b6c3: 0x6c3aaa20, + 0x1b6c4: 0x6c6ff820, 0x1b6c5: 0x6c365420, 0x1b6c6: 0x6c4a6620, 0x1b6c7: 0x6c8f3420, + 0x1b6c8: 0x6ccc5620, 0x1b6c9: 0x6c881020, 0x1b6ca: 0x6c80b420, 0x1b6cb: 0x6cd9ae20, + 0x1b6cc: 0x6d365220, 0x1b6cd: 0x6cb3f620, 0x1b6ce: 0x6cbeac20, 0x1b6cf: 0x6c700e20, + 0x1b6d0: 0x6c6ffa20, 0x1b6d1: 0x6c6c9e20, 0x1b6d2: 0x6c025020, 0x1b6d3: 0x6c7e0420, + 0x1b6d4: 0x6c90a020, 0x1b6d5: 0x6d1b5e20, 0x1b6d6: 0x6c8a9e20, 0x1b6d7: 0x6c277e20, + 0x1b6d8: 0x6c927c20, 0x1b6d9: 0x6d182220, 0x1b6da: 0x6c1ea420, 0x1b6db: 0x6c151a20, + 0x1b6dc: 0x6ce8d820, 0x1b6dd: 0x6cd81220, 0x1b6de: 0x6d02e420, 0x1b6df: 0x6c9eb820, + 0x1b6e0: 0x6c16f420, 0x1b6e1: 0x6cf46220, 0x1b6e2: 0x6c3ac420, 0x1b6e3: 0x6c4a0820, + 0x1b6e4: 0x6c7aa620, 0x1b6e5: 0x6c7b3c20, 0x1b6e6: 0x6c0a4820, 0x1b6e7: 0x6cbb2220, + 0x1b6e8: 0x6d021020, 0x1b6e9: 0x6c8c2c20, 0x1b6ea: 0x6c8c2e20, 0x1b6eb: 0x6c8a3220, + 0x1b6ec: 0x6c916e20, 0x1b6ed: 0x6c631220, 0x1b6ee: 0x6d1d2420, 0x1b6ef: 0x6cfafa20, + 0x1b6f0: 0x6ce65420, 0x1b6f1: 0x6d1dd820, 0x1b6f2: 0x6c84bc20, 0x1b6f3: 0x6ce65820, + 0x1b6f4: 0x6d1ac020, 0x1b6f5: 0x6d09d220, 0x1b6f6: 0x6d0c5220, 0x1b6f7: 0x6ce65c20, + 0x1b6f8: 0x6c2b5220, 0x1b6f9: 0x6cac1420, 0x1b6fa: 0x6c665420, 0x1b6fb: 0x6c5b1c20, + 0x1b6fc: 0x6ca39a20, 0x1b6fd: 0x6c5b2220, 0x1b6fe: 0x6c45cc20, 0x1b6ff: 0x6ca75620, + // Block 0x6dc, offset 0x1b700 + 0x1b700: 0x6c762420, 0x1b701: 0x6c0b6620, 0x1b702: 0x6d166220, 0x1b703: 0x6cb73620, + 0x1b704: 0x6ca9f020, 0x1b705: 0x6c3bc620, 0x1b706: 0x6c71a420, 0x1b707: 0x6d0d5620, + 0x1b708: 0x6d16ea20, 0x1b709: 0x6d2a0020, 0x1b70a: 0x6c09f420, 0x1b70b: 0x6d163c20, + 0x1b70c: 0x6d13ba20, 0x1b70d: 0x6c37b820, 0x1b70e: 0x6cc9f820, 0x1b70f: 0x6cd2fc20, + 0x1b710: 0x6c37ba20, 0x1b711: 0x6cd38020, 0x1b712: 0x6cd39a20, 0x1b713: 0x6c454c20, + 0x1b714: 0x6c2e0420, 0x1b715: 0x6d1ac420, 0x1b716: 0x6c563620, 0x1b717: 0x6c3dc820, + 0x1b718: 0x6c52ea20, 0x1b719: 0x6cf34420, 0x1b71a: 0x6ce99c20, 0x1b71b: 0x6c1af420, + 0x1b71c: 0x6c67d420, 0x1b71d: 0x6c03a820, 0x1b71e: 0x6cd04420, 0x1b71f: 0x6c2c1420, + 0x1b720: 0x6d2eb020, 0x1b721: 0x6c73dc20, 0x1b722: 0x6ce1b020, 0x1b723: 0x6c3f4020, + 0x1b724: 0x6c2bd820, 0x1b725: 0x6c9c3820, 0x1b726: 0x6cfb2c20, 0x1b727: 0x6c552220, + 0x1b728: 0x6c173820, 0x1b729: 0x6caa4e20, 0x1b72a: 0x6c6e4c20, 0x1b72b: 0x6d31be20, + 0x1b72c: 0x6d14be20, 0x1b72d: 0x6c9ce020, 0x1b72e: 0x6cc28e20, 0x1b72f: 0x6cec8220, + 0x1b730: 0x6cce5e20, 0x1b731: 0x6cc91820, 0x1b732: 0x6d078620, 0x1b733: 0x6c6e6420, + 0x1b734: 0x6c2dc220, 0x1b735: 0x6d2eb420, 0x1b736: 0x6c67de20, 0x1b737: 0x6cbb0820, + 0x1b738: 0x6cae9a20, 0x1b739: 0x6c287820, 0x1b73a: 0x6cbb0e20, 0x1b73b: 0x6c099620, + 0x1b73c: 0x6c099820, 0x1b73d: 0x6ccf4820, 0x1b73e: 0x6c288820, 0x1b73f: 0x6c65aa20, + // Block 0x6dd, offset 0x1b740 + 0x1b740: 0x6c46b420, 0x1b741: 0x6c448e20, 0x1b742: 0x6c37f020, 0x1b743: 0x6c09c420, + 0x1b744: 0x6c79c020, 0x1b745: 0x6c673820, 0x1b746: 0x6c0d1820, 0x1b747: 0x6cff1420, + 0x1b748: 0x6c28a620, 0x1b749: 0x6c4c2e20, 0x1b74a: 0x6c67f820, 0x1b74b: 0x6c538620, + 0x1b74c: 0x6c9c7820, 0x1b74d: 0x6c4c4420, 0x1b74e: 0x6ceca420, 0x1b74f: 0x6c751620, + 0x1b750: 0x6c616820, 0x1b751: 0x6c616a20, 0x1b752: 0x6c4a3220, 0x1b753: 0x6c28f820, + 0x1b754: 0x6c921a20, 0x1b755: 0x6c921c20, 0x1b756: 0x6ce98820, 0x1b757: 0x6c5bb420, + 0x1b758: 0x6d362220, 0x1b759: 0x6c5bda20, 0x1b75a: 0x6c5bdc20, 0x1b75b: 0x6d155c20, + 0x1b75c: 0x6d155e20, 0x1b75d: 0x6d158020, 0x1b75e: 0x6d158220, 0x1b75f: 0x6d265e20, + 0x1b760: 0x6d266220, 0x1b761: 0x6cccb220, 0x1b762: 0x6d03c020, 0x1b763: 0x6cf17c20, + 0x1b764: 0x6ce71020, 0x1b765: 0x6d0e4620, 0x1b766: 0x6d0e4820, 0x1b767: 0x6d22f020, + 0x1b768: 0x6c1a9c20, 0x1b769: 0x6c112620, 0x1b76a: 0x6c0bfa20, 0x1b76b: 0x6c2dc420, + 0x1b76c: 0x6c0d3020, 0x1b76d: 0x6cae9e20, 0x1b76e: 0x6d1e4620, 0x1b76f: 0x6cb19820, + 0x1b770: 0x6d2ec420, 0x1b771: 0x6d1d0420, 0x1b772: 0x6c1af020, 0x1b773: 0x6c1bd420, + 0x1b774: 0x6d3d1c20, 0x1b775: 0x6ceb6c20, 0x1b776: 0x6c5fc820, 0x1b777: 0x6c39be20, + 0x1b778: 0x6d379220, 0x1b779: 0x6d168420, 0x1b77a: 0x6cedde20, 0x1b77b: 0x6c17fe20, + 0x1b77c: 0x6c08c020, 0x1b77d: 0x6c2b1620, 0x1b77e: 0x6c8caa20, 0x1b77f: 0x6c3dea20, + // Block 0x6de, offset 0x1b780 + 0x1b780: 0x6cedfa20, 0x1b781: 0x6d328820, 0x1b782: 0x6c241e20, 0x1b783: 0x6cedfc20, + 0x1b784: 0x6c6e4e20, 0x1b785: 0x6c274220, 0x1b786: 0x6cf59e20, 0x1b787: 0x6d0a7020, + 0x1b788: 0x6c523a20, 0x1b789: 0x6d0f9420, 0x1b78a: 0x6c57e820, 0x1b78b: 0x6c93d020, + 0x1b78c: 0x6c546420, 0x1b78d: 0x6cee0220, 0x1b78e: 0x6c1a6620, 0x1b78f: 0x6d35b220, + 0x1b790: 0x6d061820, 0x1b791: 0x6c6e6620, 0x1b792: 0x6ce89220, 0x1b793: 0x6c238e20, + 0x1b794: 0x6d377e20, 0x1b795: 0x6c7eea20, 0x1b796: 0x6c239620, 0x1b797: 0x6c2a9020, + 0x1b798: 0x6cabf820, 0x1b799: 0x6cf7dc20, 0x1b79a: 0x6c300020, 0x1b79b: 0x6c61e620, + 0x1b79c: 0x6c16a620, 0x1b79d: 0x6d35dc20, 0x1b79e: 0x6c239820, 0x1b79f: 0x6d387020, + 0x1b7a0: 0x6c7ef820, 0x1b7a1: 0x6d233820, 0x1b7a2: 0x6d018e20, 0x1b7a3: 0x6c6bdc20, + 0x1b7a4: 0x6c667820, 0x1b7a5: 0x6cd38220, 0x1b7a6: 0x6c641620, 0x1b7a7: 0x6c0b9820, + 0x1b7a8: 0x6c59c220, 0x1b7a9: 0x6c3ff020, 0x1b7aa: 0x6d0a0e20, 0x1b7ab: 0x6cefbe20, + 0x1b7ac: 0x6cad0420, 0x1b7ad: 0x6d110c20, 0x1b7ae: 0x6cee9820, 0x1b7af: 0x6cf64820, + 0x1b7b0: 0x6d32d020, 0x1b7b1: 0x6cb1b620, 0x1b7b2: 0x6ce36220, 0x1b7b3: 0x6c2a7c20, + 0x1b7b4: 0x6d32de20, 0x1b7b5: 0x6d32f020, 0x1b7b6: 0x6c0cf420, 0x1b7b7: 0x6c2a7e20, + 0x1b7b8: 0x6c1cd420, 0x1b7b9: 0x6c183020, 0x1b7ba: 0x6c692620, 0x1b7bb: 0x6c5c2c20, + 0x1b7bc: 0x6c693c20, 0x1b7bd: 0x6c5af220, 0x1b7be: 0x6c9a2e20, 0x1b7bf: 0x6c906c20, + // Block 0x6df, offset 0x1b7c0 + 0x1b7c0: 0x6cfd9220, 0x1b7c1: 0x6c067a20, 0x1b7c2: 0x6cc1fe20, 0x1b7c3: 0x6d02a220, + 0x1b7c4: 0x6d036220, 0x1b7c5: 0x6c090420, 0x1b7c6: 0x6d164020, 0x1b7c7: 0x6c820c20, + 0x1b7c8: 0x6cc56420, 0x1b7c9: 0x6c29b620, 0x1b7ca: 0x6c2f8e20, 0x1b7cb: 0x6c410820, + 0x1b7cc: 0x6c618020, 0x1b7cd: 0x6cc58620, 0x1b7ce: 0x6cc56a20, 0x1b7cf: 0x6c162620, + 0x1b7d0: 0x6ce05020, 0x1b7d1: 0x6ce26820, 0x1b7d2: 0x6ce26a20, 0x1b7d3: 0x6c416020, + 0x1b7d4: 0x6cb72a20, 0x1b7d5: 0x6cd2fe20, 0x1b7d6: 0x6c25ae20, 0x1b7d7: 0x6d357420, + 0x1b7d8: 0x6cee4620, 0x1b7d9: 0x6c982820, 0x1b7da: 0x6cf56e20, 0x1b7db: 0x6c388220, + 0x1b7dc: 0x6d1ba020, 0x1b7dd: 0x6ce4d820, 0x1b7de: 0x6c9f2c20, 0x1b7df: 0x6cf1ca20, + 0x1b7e0: 0x6d379620, 0x1b7e1: 0x6c1cac20, 0x1b7e2: 0x6cf4b620, 0x1b7e3: 0x6c5fca20, + 0x1b7e4: 0x6cf42220, 0x1b7e5: 0x6cf84620, 0x1b7e6: 0x6c639a20, 0x1b7e7: 0x6d1e8e20, + 0x1b7e8: 0x6ced7420, 0x1b7e9: 0x6c230220, 0x1b7ea: 0x6cd90220, 0x1b7eb: 0x6c7b0e20, + 0x1b7ec: 0x6d22d020, 0x1b7ed: 0x6c0b6c20, 0x1b7ee: 0x6d357620, 0x1b7ef: 0x6cb57420, + 0x1b7f0: 0x6c251820, 0x1b7f1: 0x6c189a20, 0x1b7f2: 0x6cdf5e20, 0x1b7f3: 0x6cea3e20, + 0x1b7f4: 0x6cb96e20, 0x1b7f5: 0x6ca75a20, 0x1b7f6: 0x6c5cde20, 0x1b7f7: 0x6d045420, + 0x1b7f8: 0x6ca97620, 0x1b7f9: 0x6c7bb620, 0x1b7fa: 0x6cfa7820, 0x1b7fb: 0x6d02aa20, + 0x1b7fc: 0x6c772420, 0x1b7fd: 0x6c549e20, 0x1b7fe: 0x6c767c20, 0x1b7ff: 0x6c3bce20, + // Block 0x6e0, offset 0x1b800 + 0x1b800: 0x6c57e620, 0x1b801: 0x6cdf6220, 0x1b802: 0x6cd95220, 0x1b803: 0x6cf42420, + 0x1b804: 0x6cab9a20, 0x1b805: 0x6c170220, 0x1b806: 0x6c20a020, 0x1b807: 0x6c71fa20, + 0x1b808: 0x6d16b420, 0x1b809: 0x6c05e620, 0x1b80a: 0x6c173a20, 0x1b80b: 0x6c9f2e20, + 0x1b80c: 0x6cadb020, 0x1b80d: 0x6d428020, 0x1b80e: 0x6d2b7620, 0x1b80f: 0x6d104020, + 0x1b810: 0x6c720a20, 0x1b811: 0x6c04e820, 0x1b812: 0x6caa5e20, 0x1b813: 0x6ca49420, + 0x1b814: 0x6d328a20, 0x1b815: 0x6cabe820, 0x1b816: 0x6c106a20, 0x1b817: 0x6ce5ea20, + 0x1b818: 0x6c567020, 0x1b819: 0x6c566420, 0x1b81a: 0x6c720c20, 0x1b81b: 0x6c267e20, + 0x1b81c: 0x6c87f420, 0x1b81d: 0x6cd7d420, 0x1b81e: 0x6c1d8e20, 0x1b81f: 0x6c2c2020, + 0x1b820: 0x6c274420, 0x1b821: 0x6d147020, 0x1b822: 0x6ce84020, 0x1b823: 0x6d1f0620, + 0x1b824: 0x6c3d4820, 0x1b825: 0x6c5ff420, 0x1b826: 0x6cae5420, 0x1b827: 0x6d041820, + 0x1b828: 0x6d260420, 0x1b829: 0x6ca5be20, 0x1b82a: 0x6c48e620, 0x1b82b: 0x6c3dec20, + 0x1b82c: 0x6cf84820, 0x1b82d: 0x6c093220, 0x1b82e: 0x6d1e9620, 0x1b82f: 0x6cbc9620, + 0x1b830: 0x6d086e20, 0x1b831: 0x6c230820, 0x1b832: 0x6c0dc220, 0x1b833: 0x6c5a4220, + 0x1b834: 0x6d068020, 0x1b835: 0x6c1f0e20, 0x1b836: 0x6c093420, 0x1b837: 0x6cd5ac20, + 0x1b838: 0x6cf5a020, 0x1b839: 0x6cdf9620, 0x1b83a: 0x6d1e8220, 0x1b83b: 0x6d3fe820, + 0x1b83c: 0x6c334220, 0x1b83d: 0x6ca1b220, 0x1b83e: 0x6d34f220, 0x1b83f: 0x6d16b620, + // Block 0x6e1, offset 0x1b840 + 0x1b840: 0x6cd33220, 0x1b841: 0x6ca59420, 0x1b842: 0x6d09e820, 0x1b843: 0x6cd33420, + 0x1b844: 0x6cf86020, 0x1b845: 0x6c81a420, 0x1b846: 0x6c525820, 0x1b847: 0x6c7b8e20, + 0x1b848: 0x6ca1c620, 0x1b849: 0x6d34fe20, 0x1b84a: 0x6d008020, 0x1b84b: 0x6c88e820, + 0x1b84c: 0x6ce55220, 0x1b84d: 0x6c5a4820, 0x1b84e: 0x6c2e7020, 0x1b84f: 0x6c502820, + 0x1b850: 0x6c799e20, 0x1b851: 0x6c4ad420, 0x1b852: 0x6c525a20, 0x1b853: 0x6cf5a220, + 0x1b854: 0x6c68ce20, 0x1b855: 0x6cd5b820, 0x1b856: 0x6cd8fe20, 0x1b857: 0x6c54aa20, + 0x1b858: 0x6cbfa420, 0x1b859: 0x6d104220, 0x1b85a: 0x6c5ba820, 0x1b85b: 0x6c5b2420, + 0x1b85c: 0x6c1bfa20, 0x1b85d: 0x6c63b020, 0x1b85e: 0x6d149a20, 0x1b85f: 0x6d045e20, + 0x1b860: 0x6c48ec20, 0x1b861: 0x6c8c4c20, 0x1b862: 0x6c5a9220, 0x1b863: 0x6d3f3a20, + 0x1b864: 0x6d068e20, 0x1b865: 0x6c1b8a20, 0x1b866: 0x6cce4e20, 0x1b867: 0x6caa7c20, + 0x1b868: 0x6c524220, 0x1b869: 0x6c371020, 0x1b86a: 0x6c788e20, 0x1b86b: 0x6c305e20, + 0x1b86c: 0x6ce48820, 0x1b86d: 0x6c457c20, 0x1b86e: 0x6cc29020, 0x1b86f: 0x6cf94220, + 0x1b870: 0x6cb84a20, 0x1b871: 0x6d268c20, 0x1b872: 0x6cae5820, 0x1b873: 0x6c790020, + 0x1b874: 0x6c2a6420, 0x1b875: 0x6c5baa20, 0x1b876: 0x6c35fa20, 0x1b877: 0x6d003220, + 0x1b878: 0x6ce7c620, 0x1b879: 0x6d0be020, 0x1b87a: 0x6c764c20, 0x1b87b: 0x6c12ce20, + 0x1b87c: 0x6ca4e020, 0x1b87d: 0x6d282020, 0x1b87e: 0x6c984020, 0x1b87f: 0x6d1e2a20, + // Block 0x6e2, offset 0x1b880 + 0x1b880: 0x6d1e2220, 0x1b881: 0x6d24d420, 0x1b882: 0x6caf5220, 0x1b883: 0x6c7da020, + 0x1b884: 0x6cbb6a20, 0x1b885: 0x6d269420, 0x1b886: 0x6d230c20, 0x1b887: 0x6ce89420, + 0x1b888: 0x6c6bd820, 0x1b889: 0x6cf5e220, 0x1b88a: 0x6d304a20, 0x1b88b: 0x6c8c4e20, + 0x1b88c: 0x6ce3e020, 0x1b88d: 0x6c4e9620, 0x1b88e: 0x6c502a20, 0x1b88f: 0x6cbca820, + 0x1b890: 0x6ce3ea20, 0x1b891: 0x6c108220, 0x1b892: 0x6d172620, 0x1b893: 0x6cba4a20, + 0x1b894: 0x6c5b4c20, 0x1b895: 0x6cf5bc20, 0x1b896: 0x6c070020, 0x1b897: 0x6c975e20, + 0x1b898: 0x6d13e420, 0x1b899: 0x6c524820, 0x1b89a: 0x6cd95620, 0x1b89b: 0x6cc29420, + 0x1b89c: 0x6c1a6820, 0x1b89d: 0x6c7c3820, 0x1b89e: 0x6cf4d020, 0x1b89f: 0x6cf4d220, + 0x1b8a0: 0x6d1e9e20, 0x1b8a1: 0x6c83b620, 0x1b8a2: 0x6c89ae20, 0x1b8a3: 0x6c590e20, + 0x1b8a4: 0x6c230c20, 0x1b8a5: 0x6d175a20, 0x1b8a6: 0x6d269620, 0x1b8a7: 0x6c85c820, + 0x1b8a8: 0x6ca8e620, 0x1b8a9: 0x6ca4e620, 0x1b8aa: 0x6c360e20, 0x1b8ab: 0x6cc3b620, + 0x1b8ac: 0x6d080e20, 0x1b8ad: 0x6cb8c420, 0x1b8ae: 0x6cf4d420, 0x1b8af: 0x6c9fa420, + 0x1b8b0: 0x6c239a20, 0x1b8b1: 0x6c3a5220, 0x1b8b2: 0x6c069c20, 0x1b8b3: 0x6c344c20, + 0x1b8b4: 0x6c253420, 0x1b8b5: 0x6c171220, 0x1b8b6: 0x6c9af220, 0x1b8b7: 0x6cca4e20, + 0x1b8b8: 0x6c61ea20, 0x1b8b9: 0x6c498820, 0x1b8ba: 0x6c497e20, 0x1b8bb: 0x6d042820, + 0x1b8bc: 0x6c2a0e20, 0x1b8bd: 0x6cb4e620, 0x1b8be: 0x6c797420, 0x1b8bf: 0x6ce4ec20, + // Block 0x6e3, offset 0x1b8c0 + 0x1b8c0: 0x6c94f220, 0x1b8c1: 0x6cf60a20, 0x1b8c2: 0x6c76d220, 0x1b8c3: 0x6c4bc020, + 0x1b8c4: 0x6ca6a020, 0x1b8c5: 0x6cbe7620, 0x1b8c6: 0x6c1da020, 0x1b8c7: 0x6c339820, + 0x1b8c8: 0x6c4cb620, 0x1b8c9: 0x6d2d7420, 0x1b8ca: 0x6c6da820, 0x1b8cb: 0x6ced0420, + 0x1b8cc: 0x6d24ea20, 0x1b8cd: 0x6c6c4220, 0x1b8ce: 0x6c620020, 0x1b8cf: 0x6c7f9620, + 0x1b8d0: 0x6d231020, 0x1b8d1: 0x6c5dca20, 0x1b8d2: 0x6c512620, 0x1b8d3: 0x6cc2da20, + 0x1b8d4: 0x6cdfdc20, 0x1b8d5: 0x6ce3ec20, 0x1b8d6: 0x6ce3f420, 0x1b8d7: 0x6ca81620, + 0x1b8d8: 0x6cee0e20, 0x1b8d9: 0x6c21b420, 0x1b8da: 0x6c54bc20, 0x1b8db: 0x6c5cc020, + 0x1b8dc: 0x6cf5e420, 0x1b8dd: 0x6c16ea20, 0x1b8de: 0x6d02ca20, 0x1b8df: 0x6ceefe20, + 0x1b8e0: 0x6c5bc020, 0x1b8e1: 0x6c363420, 0x1b8e2: 0x6cdd6620, 0x1b8e3: 0x6d3fee20, + 0x1b8e4: 0x6c648420, 0x1b8e5: 0x6d1e3620, 0x1b8e6: 0x6c2d4e20, 0x1b8e7: 0x6c723c20, + 0x1b8e8: 0x6c11ce20, 0x1b8e9: 0x6c19fc20, 0x1b8ea: 0x6c2a6e20, 0x1b8eb: 0x6c072220, + 0x1b8ec: 0x6cbcb420, 0x1b8ed: 0x6c119420, 0x1b8ee: 0x6c287a20, 0x1b8ef: 0x6c498020, + 0x1b8f0: 0x6c34f420, 0x1b8f1: 0x6ca4f820, 0x1b8f2: 0x6d283220, 0x1b8f3: 0x6cfdea20, + 0x1b8f4: 0x6d3c8420, 0x1b8f5: 0x6c2ea220, 0x1b8f6: 0x6c59c420, 0x1b8f7: 0x6c217e20, + 0x1b8f8: 0x6cbf2220, 0x1b8f9: 0x6cc54c20, 0x1b8fa: 0x6d037220, 0x1b8fb: 0x6c12e820, + 0x1b8fc: 0x6c0b3e20, 0x1b8fd: 0x6c9fac20, 0x1b8fe: 0x6d3f8a20, 0x1b8ff: 0x6ce32220, + // Block 0x6e4, offset 0x1b900 + 0x1b900: 0x6cbc2620, 0x1b901: 0x6c1db820, 0x1b902: 0x6c073020, 0x1b903: 0x6d079820, + 0x1b904: 0x6cee8620, 0x1b905: 0x6c43ea20, 0x1b906: 0x6cb8ee20, 0x1b907: 0x6cefc020, + 0x1b908: 0x6d236a20, 0x1b909: 0x6d212420, 0x1b90a: 0x6c099a20, 0x1b90b: 0x6d079a20, + 0x1b90c: 0x6c592020, 0x1b90d: 0x6c9fb620, 0x1b90e: 0x6c099c20, 0x1b90f: 0x6d17e220, + 0x1b910: 0x6c9e2420, 0x1b911: 0x6d1e3820, 0x1b912: 0x6c768820, 0x1b913: 0x6c296620, + 0x1b914: 0x6d19e020, 0x1b915: 0x6c363620, 0x1b916: 0x6c18c620, 0x1b917: 0x6c998a20, + 0x1b918: 0x6cb86820, 0x1b919: 0x6c78b820, 0x1b91a: 0x6d214820, 0x1b91b: 0x6c00a820, + 0x1b91c: 0x6cbcc020, 0x1b91d: 0x6d0d7e20, 0x1b91e: 0x6caaf620, 0x1b91f: 0x6c41dc20, + 0x1b920: 0x6d283420, 0x1b921: 0x6d3ff020, 0x1b922: 0x6cc9c220, 0x1b923: 0x6c839620, + 0x1b924: 0x6c3bd820, 0x1b925: 0x6d1d6620, 0x1b926: 0x6c7cf820, 0x1b927: 0x6c7cfa20, + 0x1b928: 0x6cc3d820, 0x1b929: 0x6c459420, 0x1b92a: 0x6d27ae20, 0x1b92b: 0x6cdaca20, + 0x1b92c: 0x6cdae420, 0x1b92d: 0x6cb5f820, 0x1b92e: 0x6d110e20, 0x1b92f: 0x6cd96020, + 0x1b930: 0x6c5a6c20, 0x1b931: 0x6c604e20, 0x1b932: 0x6c478c20, 0x1b933: 0x6c726220, + 0x1b934: 0x6c20ae20, 0x1b935: 0x6ca6aa20, 0x1b936: 0x6d00b620, 0x1b937: 0x6c766020, + 0x1b938: 0x6d332a20, 0x1b939: 0x6d1e4820, 0x1b93a: 0x6c12ae20, 0x1b93b: 0x6d0a9a20, + 0x1b93c: 0x6cd0aa20, 0x1b93d: 0x6c0f1020, 0x1b93e: 0x6c768e20, 0x1b93f: 0x6d262820, + // Block 0x6e5, offset 0x1b940 + 0x1b940: 0x6cf89e20, 0x1b941: 0x6c5d3420, 0x1b942: 0x6d1e5020, 0x1b943: 0x6d102420, + 0x1b944: 0x6c862e20, 0x1b945: 0x6ccaaa20, 0x1b946: 0x6ce1d420, 0x1b947: 0x6d19f220, + 0x1b948: 0x6c224e20, 0x1b949: 0x6d06f220, 0x1b94a: 0x6cba5820, 0x1b94b: 0x6cdf7c20, + 0x1b94c: 0x6c599420, 0x1b94d: 0x6d283a20, 0x1b94e: 0x6cd0ac20, 0x1b94f: 0x6ca03820, + 0x1b950: 0x6c463020, 0x1b951: 0x6ccf5020, 0x1b952: 0x6c23a420, 0x1b953: 0x6cb15820, + 0x1b954: 0x6ca29820, 0x1b955: 0x6ca2a020, 0x1b956: 0x6c4c7620, 0x1b957: 0x6c1c5620, + 0x1b958: 0x6c11d420, 0x1b959: 0x6c11a620, 0x1b95a: 0x6c119c20, 0x1b95b: 0x6c24da20, + 0x1b95c: 0x6c9fc220, 0x1b95d: 0x6ce27e20, 0x1b95e: 0x6d2ec820, 0x1b95f: 0x6ce7ce20, + 0x1b960: 0x6c02d820, 0x1b961: 0x6cd6d620, 0x1b962: 0x6c97e820, 0x1b963: 0x6c499620, + 0x1b964: 0x6cc3ea20, 0x1b965: 0x6d2a8420, 0x1b966: 0x6c701620, 0x1b967: 0x6c5c1020, + 0x1b968: 0x6c765820, 0x1b969: 0x6c881220, 0x1b96a: 0x6cab9e20, 0x1b96b: 0x6cd96c20, + 0x1b96c: 0x6cbd8e20, 0x1b96d: 0x6d1b7020, 0x1b96e: 0x6c93f220, 0x1b96f: 0x6cce0c20, + 0x1b970: 0x6cf0b820, 0x1b971: 0x6ce95220, 0x1b972: 0x6c976c20, 0x1b973: 0x6cb8fe20, + 0x1b974: 0x6ccf6220, 0x1b975: 0x6d1d9c20, 0x1b976: 0x6cbed620, 0x1b977: 0x6c773e20, + 0x1b978: 0x6c2c8e20, 0x1b979: 0x6d348e20, 0x1b97a: 0x6c90a220, 0x1b97b: 0x6c738220, + 0x1b97c: 0x6cb51c20, 0x1b97d: 0x6cb50c20, 0x1b97e: 0x6d23c020, 0x1b97f: 0x6cb2c220, + // Block 0x6e6, offset 0x1b980 + 0x1b980: 0x6c89f620, 0x1b981: 0x6c23da20, 0x1b982: 0x6d1eae20, 0x1b983: 0x6c1cd620, + 0x1b984: 0x6d36aa20, 0x1b985: 0x6ce7d020, 0x1b986: 0x6c197a20, 0x1b987: 0x6cb7c020, + 0x1b988: 0x6cc12020, 0x1b989: 0x6caebc20, 0x1b98a: 0x6c075a20, 0x1b98b: 0x6c0cb820, + 0x1b98c: 0x6cbf5c20, 0x1b98d: 0x6c686a20, 0x1b98e: 0x6d2b8a20, 0x1b98f: 0x6c1c4220, + 0x1b990: 0x6c883620, 0x1b991: 0x6cb2cc20, 0x1b992: 0x6c7d0c20, 0x1b993: 0x6c5c1220, + 0x1b994: 0x6cbbf020, 0x1b995: 0x6c1a3620, 0x1b996: 0x6d1b7a20, 0x1b997: 0x6d1b7c20, + 0x1b998: 0x6cf80620, 0x1b999: 0x6cf6ba20, 0x1b99a: 0x6c28a820, 0x1b99b: 0x6ce00220, + 0x1b99c: 0x6c34a220, 0x1b99d: 0x6c335e20, 0x1b99e: 0x6c335a20, 0x1b99f: 0x6cdaf820, + 0x1b9a0: 0x6c74b620, 0x1b9a1: 0x6c130e20, 0x1b9a2: 0x6cff0220, 0x1b9a3: 0x6c385a20, + 0x1b9a4: 0x6c3be420, 0x1b9a5: 0x6c817220, 0x1b9a6: 0x6c81da20, 0x1b9a7: 0x6c1cd820, + 0x1b9a8: 0x6c4db820, 0x1b9a9: 0x6cb7d220, 0x1b9aa: 0x6cfb7c20, 0x1b9ab: 0x6c9fc420, + 0x1b9ac: 0x6c6e2a20, 0x1b9ad: 0x6c8a7420, 0x1b9ae: 0x6cf46420, 0x1b9af: 0x6c11da20, + 0x1b9b0: 0x6c749020, 0x1b9b1: 0x6c245420, 0x1b9b2: 0x6cfd0820, 0x1b9b3: 0x6ce06e20, + 0x1b9b4: 0x6cd12220, 0x1b9b5: 0x6caf9820, 0x1b9b6: 0x6d188e20, 0x1b9b7: 0x6c1f7420, + 0x1b9b8: 0x6cfad620, 0x1b9b9: 0x6ca4c020, 0x1b9ba: 0x6c28ac20, 0x1b9bb: 0x6ce07420, + 0x1b9bc: 0x6c6e2c20, 0x1b9bd: 0x6cd93220, 0x1b9be: 0x6c4f0220, 0x1b9bf: 0x6c693e20, + // Block 0x6e7, offset 0x1b9c0 + 0x1b9c0: 0x6cf0cc20, 0x1b9c1: 0x6d07cc20, 0x1b9c2: 0x6c303620, 0x1b9c3: 0x6cbdb020, + 0x1b9c4: 0x6cbd9e20, 0x1b9c5: 0x6c728a20, 0x1b9c6: 0x6c12b220, 0x1b9c7: 0x6c791020, + 0x1b9c8: 0x6d021420, 0x1b9c9: 0x6d1bfe20, 0x1b9ca: 0x6c02ea20, 0x1b9cb: 0x6c99ba20, + 0x1b9cc: 0x6d189020, 0x1b9cd: 0x6c8c3020, 0x1b9ce: 0x6ccb5420, 0x1b9cf: 0x6c75e420, + 0x1b9d0: 0x6c57f220, 0x1b9d1: 0x6c9afe20, 0x1b9d2: 0x6c803c20, 0x1b9d3: 0x6c00ca20, + 0x1b9d4: 0x6c8c3220, 0x1b9d5: 0x6d0c3c20, 0x1b9d6: 0x6c7e2620, 0x1b9d7: 0x6cfa4a20, + 0x1b9d8: 0x6c1c8420, 0x1b9d9: 0x6d228e20, 0x1b9da: 0x6d1b8820, 0x1b9db: 0x6c270e20, + 0x1b9dc: 0x6c9be420, 0x1b9dd: 0x6c00d820, 0x1b9de: 0x6c9b4a20, 0x1b9df: 0x6c337020, + 0x1b9e0: 0x6cb65c20, 0x1b9e1: 0x6ca0ac20, 0x1b9e2: 0x6c7fbe20, 0x1b9e3: 0x6c9b0020, + 0x1b9e4: 0x6c1de620, 0x1b9e5: 0x6d370220, 0x1b9e6: 0x6cab1620, 0x1b9e7: 0x6cab1820, + 0x1b9e8: 0x6d0c3420, 0x1b9e9: 0x6d103420, 0x1b9ea: 0x6c0f8a20, 0x1b9eb: 0x6d372820, + 0x1b9ec: 0x6c7c0c20, 0x1b9ed: 0x6c7bd220, 0x1b9ee: 0x6d1ff820, 0x1b9ef: 0x6c3db220, + 0x1b9f0: 0x6c8eb420, 0x1b9f1: 0x6c9ef020, 0x1b9f2: 0x6c1a5420, 0x1b9f3: 0x6c5cb020, + 0x1b9f4: 0x6c163820, 0x1b9f5: 0x6c9bea20, 0x1b9f6: 0x6c804a20, 0x1b9f7: 0x6c57fa20, + 0x1b9f8: 0x6d083620, 0x1b9f9: 0x6cc51a20, 0x1b9fa: 0x6c164020, 0x1b9fb: 0x6c62b820, + 0x1b9fc: 0x6c72ca20, 0x1b9fd: 0x6c583e20, 0x1b9fe: 0x6ccf8820, 0x1b9ff: 0x6d195a20, + // Block 0x6e8, offset 0x1ba00 + 0x1ba00: 0x6c893820, 0x1ba01: 0x6ca44020, 0x1ba02: 0x6c9cb020, 0x1ba03: 0x6ce18c20, + 0x1ba04: 0x6c751a20, 0x1ba05: 0x6c42b020, 0x1ba06: 0x6c42b220, 0x1ba07: 0x6d3c5220, + 0x1ba08: 0x6c436020, 0x1ba09: 0x6d266e20, 0x1ba0a: 0x6cf49820, 0x1ba0b: 0x6c645a20, + 0x1ba0c: 0x6d056420, 0x1ba0d: 0x6cd59420, 0x1ba0e: 0x6cc65020, 0x1ba0f: 0x6cf83820, + 0x1ba10: 0x6c19b220, 0x1ba11: 0x6cf2a620, 0x1ba12: 0x6c6bb820, 0x1ba13: 0x6c436e20, + 0x1ba14: 0x6c646c20, 0x1ba15: 0x6cbaa020, 0x1ba16: 0x6c5da020, 0x1ba17: 0x6cbaa220, + 0x1ba18: 0x6d2e4a20, 0x1ba19: 0x6c306e20, 0x1ba1a: 0x6cb81220, 0x1ba1b: 0x6c63b620, + 0x1ba1c: 0x6c2e9220, 0x1ba1d: 0x6d2b5e20, 0x1ba1e: 0x6c63be20, 0x1ba1f: 0x6c614420, + 0x1ba20: 0x6d33de20, 0x1ba21: 0x6c76b020, 0x1ba22: 0x6c603420, 0x1ba23: 0x6c7c8620, + 0x1ba24: 0x6c414020, 0x1ba25: 0x6c2ace20, 0x1ba26: 0x6d2e6820, 0x1ba27: 0x6cbaca20, + 0x1ba28: 0x6c439e20, 0x1ba29: 0x6c65bc20, 0x1ba2a: 0x6c6b0620, 0x1ba2b: 0x6d238e20, + 0x1ba2c: 0x6c65be20, 0x1ba2d: 0x6d0dc820, 0x1ba2e: 0x6c92a020, 0x1ba2f: 0x6c54f620, + 0x1ba30: 0x6d2e7e20, 0x1ba31: 0x6cf8da20, 0x1ba32: 0x6cf8ec20, 0x1ba33: 0x6c219a20, + 0x1ba34: 0x6c279420, 0x1ba35: 0x6cc20420, 0x1ba36: 0x6c563820, 0x1ba37: 0x6c563a20, + 0x1ba38: 0x6c563c20, 0x1ba39: 0x6c35c820, 0x1ba3a: 0x6cd30c20, 0x1ba3b: 0x6ce3d220, + 0x1ba3c: 0x6c992620, 0x1ba3d: 0x6c566620, 0x1ba3e: 0x6c858c20, 0x1ba3f: 0x6c39a620, + // Block 0x6e9, offset 0x1ba40 + 0x1ba40: 0x6cdd4e20, 0x1ba41: 0x6c0b2e20, 0x1ba42: 0x6c2d4220, 0x1ba43: 0x6c6ed820, + 0x1ba44: 0x6cce3420, 0x1ba45: 0x6d14c020, 0x1ba46: 0x6d15dc20, 0x1ba47: 0x6ccd7a20, + 0x1ba48: 0x6c568c20, 0x1ba49: 0x6c3a0220, 0x1ba4a: 0x6d0d8020, 0x1ba4b: 0x6cd43620, + 0x1ba4c: 0x6cd48e20, 0x1ba4d: 0x6c10fe20, 0x1ba4e: 0x6d2bc020, 0x1ba4f: 0x6cbff220, + 0x1ba50: 0x6c820e20, 0x1ba51: 0x6cb3fe20, 0x1ba52: 0x6c031020, 0x1ba53: 0x6c26e020, + 0x1ba54: 0x6cc61020, 0x1ba55: 0x6c390220, 0x1ba56: 0x6cc83020, 0x1ba57: 0x6d292a20, + 0x1ba58: 0x6cea9620, 0x1ba59: 0x6d2f1e20, 0x1ba5a: 0x6c2df620, 0x1ba5b: 0x6c776620, + 0x1ba5c: 0x6d207220, 0x1ba5d: 0x6c7a1820, 0x1ba5e: 0x6c41c420, 0x1ba5f: 0x6ccf9e20, + 0x1ba60: 0x6c137820, 0x1ba61: 0x6cea9820, 0x1ba62: 0x6c475420, 0x1ba63: 0x6c79d620, + 0x1ba64: 0x6cf4a220, 0x1ba65: 0x6c2a9420, 0x1ba66: 0x6cb89820, 0x1ba67: 0x6d343620, + 0x1ba68: 0x6cc5b620, 0x1ba69: 0x6c7de620, 0x1ba6a: 0x6c9ac020, 0x1ba6b: 0x6ccade20, + 0x1ba6c: 0x6d0f7420, 0x1ba6d: 0x6ca97820, 0x1ba6e: 0x6c051220, 0x1ba6f: 0x6c17e620, + 0x1ba70: 0x6cc53620, 0x1ba71: 0x6cf57020, 0x1ba72: 0x6cb97220, 0x1ba73: 0x6c047020, + 0x1ba74: 0x6c639c20, 0x1ba75: 0x6d20b220, 0x1ba76: 0x6c3dda20, 0x1ba77: 0x6c02c220, + 0x1ba78: 0x6cf57e20, 0x1ba79: 0x6caf2a20, 0x1ba7a: 0x6d34e620, 0x1ba7b: 0x6d357820, + 0x1ba7c: 0x6c35d220, 0x1ba7d: 0x6c2a9620, 0x1ba7e: 0x6d2f8420, 0x1ba7f: 0x6c19bc20, + // Block 0x6ea, offset 0x1ba80 + 0x1ba80: 0x6c618420, 0x1ba81: 0x6d0d3c20, 0x1ba82: 0x6c7bb820, 0x1ba83: 0x6c0b6e20, + 0x1ba84: 0x6c173220, 0x1ba85: 0x6c704e20, 0x1ba86: 0x6cf1cc20, 0x1ba87: 0x6c551e20, + 0x1ba88: 0x6d267e20, 0x1ba89: 0x6c73de20, 0x1ba8a: 0x6c039a20, 0x1ba8b: 0x6cbe0420, + 0x1ba8c: 0x6c282020, 0x1ba8d: 0x6d331820, 0x1ba8e: 0x6d27d820, 0x1ba8f: 0x6cecc820, + 0x1ba90: 0x6ca54820, 0x1ba91: 0x6d168820, 0x1ba92: 0x6cd49e20, 0x1ba93: 0x6d3b5420, + 0x1ba94: 0x6cb3d020, 0x1ba95: 0x6ce7e620, 0x1ba96: 0x6c30da20, 0x1ba97: 0x6c777e20, + 0x1ba98: 0x6d301220, 0x1ba99: 0x6cb3d220, 0x1ba9a: 0x6c3f3620, 0x1ba9b: 0x6cad3220, + 0x1ba9c: 0x6c036020, 0x1ba9d: 0x6c029c20, 0x1ba9e: 0x6d2aa420, 0x1ba9f: 0x6ce94820, + 0x1baa0: 0x6c79b220, 0x1baa1: 0x6c94d020, 0x1baa2: 0x6cbb3820, 0x1baa3: 0x6d287a20, + 0x1baa4: 0x6c565620, 0x1baa5: 0x6c063020, 0x1baa6: 0x6c0dc420, 0x1baa7: 0x6d34f420, + 0x1baa8: 0x6cae5620, 0x1baa9: 0x6cdf8c20, 0x1baaa: 0x6c106c20, 0x1baab: 0x6caf3620, + 0x1baac: 0x6cdf1820, 0x1baad: 0x6d118c20, 0x1baae: 0x6d31b820, 0x1baaf: 0x6d2bc620, + 0x1bab0: 0x6d0f4820, 0x1bab1: 0x6c063220, 0x1bab2: 0x6c508c20, 0x1bab3: 0x6ca62820, + 0x1bab4: 0x6d12ce20, 0x1bab5: 0x6c2bda20, 0x1bab6: 0x6c1bee20, 0x1bab7: 0x6caf3820, + 0x1bab8: 0x6c632220, 0x1bab9: 0x6ca0a820, 0x1baba: 0x6c9a7620, 0x1babb: 0x6c185a20, + 0x1babc: 0x6d0ad220, 0x1babd: 0x6c1d6420, 0x1babe: 0x6cc0e420, 0x1babf: 0x6c9f9420, + // Block 0x6eb, offset 0x1bac0 + 0x1bac0: 0x6c1f1020, 0x1bac1: 0x6c632a20, 0x1bac2: 0x6c3dee20, 0x1bac3: 0x6d2c7220, + 0x1bac4: 0x6d3a5c20, 0x1bac5: 0x6c27bc20, 0x1bac6: 0x6c146020, 0x1bac7: 0x6ca2c420, + 0x1bac8: 0x6ca6ec20, 0x1bac9: 0x6c7e3e20, 0x1baca: 0x6c3f4220, 0x1bacb: 0x6cad3420, + 0x1bacc: 0x6c04ea20, 0x1bacd: 0x6cabee20, 0x1bace: 0x6c8b9a20, 0x1bacf: 0x6ca2d020, + 0x1bad0: 0x6c48d820, 0x1bad1: 0x6cb97420, 0x1bad2: 0x6c71fc20, 0x1bad3: 0x6cde2e20, + 0x1bad4: 0x6c036820, 0x1bad5: 0x6ceaac20, 0x1bad6: 0x6ceaae20, 0x1bad7: 0x6c02a020, + 0x1bad8: 0x6c705a20, 0x1bad9: 0x6d3cf020, 0x1bada: 0x6caca020, 0x1badb: 0x6d2f5a20, + 0x1badc: 0x6c043c20, 0x1badd: 0x6c043220, 0x1bade: 0x6c2bdc20, 0x1badf: 0x6ca62420, + 0x1bae0: 0x6c720e20, 0x1bae1: 0x6c7de820, 0x1bae2: 0x6c903220, 0x1bae3: 0x6c656420, + 0x1bae4: 0x6cb83420, 0x1bae5: 0x6d1d7e20, 0x1bae6: 0x6c7f8c20, 0x1bae7: 0x6ca8f620, + 0x1bae8: 0x6c0e5020, 0x1bae9: 0x6d2aa820, 0x1baea: 0x6cb8bc20, 0x1baeb: 0x6c522e20, + 0x1baec: 0x6c7dea20, 0x1baed: 0x6cd33620, 0x1baee: 0x6c6a8e20, 0x1baef: 0x6d331e20, + 0x1baf0: 0x6ca8ee20, 0x1baf1: 0x6c45da20, 0x1baf2: 0x6c45de20, 0x1baf3: 0x6cc2ca20, + 0x1baf4: 0x6cd68020, 0x1baf5: 0x6c25a620, 0x1baf6: 0x6d288a20, 0x1baf7: 0x6c77a020, + 0x1baf8: 0x6d149c20, 0x1baf9: 0x6d008220, 0x1bafa: 0x6c12d020, 0x1bafb: 0x6c5a9420, + 0x1bafc: 0x6cb1ea20, 0x1bafd: 0x6d3b6620, 0x1bafe: 0x6cd41020, 0x1baff: 0x6ca2d620, + // Block 0x6ec, offset 0x1bb00 + 0x1bb00: 0x6c03fc20, 0x1bb01: 0x6c1b0c20, 0x1bb02: 0x6c48ac20, 0x1bb03: 0x6d359c20, + 0x1bb04: 0x6c7dec20, 0x1bb05: 0x6c348020, 0x1bb06: 0x6c348220, 0x1bb07: 0x6d350020, + 0x1bb08: 0x6cbcaa20, 0x1bb09: 0x6c01a420, 0x1bb0a: 0x6ca9f220, 0x1bb0b: 0x6d322020, + 0x1bb0c: 0x6c43ca20, 0x1bb0d: 0x6c698820, 0x1bb0e: 0x6c7ae620, 0x1bb0f: 0x6c306020, + 0x1bb10: 0x6ca2d820, 0x1bb11: 0x6ce55420, 0x1bb12: 0x6c8ad220, 0x1bb13: 0x6d2bca20, + 0x1bb14: 0x6c937c20, 0x1bb15: 0x6c2e7220, 0x1bb16: 0x6cebca20, 0x1bb17: 0x6c73fa20, + 0x1bb18: 0x6c8b9420, 0x1bb19: 0x6c71b020, 0x1bb1a: 0x6d35b820, 0x1bb1b: 0x6c943420, + 0x1bb1c: 0x6d0b8620, 0x1bb1d: 0x6cf27c20, 0x1bb1e: 0x6cde3420, 0x1bb1f: 0x6d008420, + 0x1bb20: 0x6ca49c20, 0x1bb21: 0x6c292820, 0x1bb22: 0x6c68d020, 0x1bb23: 0x6d329820, + 0x1bb24: 0x6c612a20, 0x1bb25: 0x6c5a9620, 0x1bb26: 0x6cfb3420, 0x1bb27: 0x6d24be20, + 0x1bb28: 0x6c002020, 0x1bb29: 0x6ceab420, 0x1bb2a: 0x6caab820, 0x1bb2b: 0x6c261c20, + 0x1bb2c: 0x6c0ed420, 0x1bb2d: 0x6c44fa20, 0x1bb2e: 0x6ce3be20, 0x1bb2f: 0x6d322c20, + 0x1bb30: 0x6c19dc20, 0x1bb31: 0x6cc94220, 0x1bb32: 0x6cc94420, 0x1bb33: 0x6c793220, + 0x1bb34: 0x6c9a5020, 0x1bb35: 0x6c906220, 0x1bb36: 0x6c706820, 0x1bb37: 0x6cae9020, + 0x1bb38: 0x6c657a20, 0x1bb39: 0x6d172820, 0x1bb3a: 0x6ce6ba20, 0x1bb3b: 0x6cccce20, + 0x1bb3c: 0x6cc83a20, 0x1bb3d: 0x6cecf820, 0x1bb3e: 0x6d008a20, 0x1bb3f: 0x6c138820, + // Block 0x6ed, offset 0x1bb40 + 0x1bb40: 0x6c3ca020, 0x1bb41: 0x6c68da20, 0x1bb42: 0x6cf43c20, 0x1bb43: 0x6c75a420, + 0x1bb44: 0x6c6fe820, 0x1bb45: 0x6ce7b220, 0x1bb46: 0x6c7da220, 0x1bb47: 0x6c5dac20, + 0x1bb48: 0x6ce89620, 0x1bb49: 0x6d3cf620, 0x1bb4a: 0x6cb3d620, 0x1bb4b: 0x6c938820, + 0x1bb4c: 0x6c033a20, 0x1bb4d: 0x6c4e9820, 0x1bb4e: 0x6cce6020, 0x1bb4f: 0x6ca7da20, + 0x1bb50: 0x6c72e420, 0x1bb51: 0x6d2b4620, 0x1bb52: 0x6cd5ba20, 0x1bb53: 0x6d127620, + 0x1bb54: 0x6c741220, 0x1bb55: 0x6c103620, 0x1bb56: 0x6cecd020, 0x1bb57: 0x6c108420, + 0x1bb58: 0x6d421620, 0x1bb59: 0x6d172a20, 0x1bb5a: 0x6d2ce820, 0x1bb5b: 0x6c937e20, + 0x1bb5c: 0x6cd9a420, 0x1bb5d: 0x6ceab620, 0x1bb5e: 0x6c813a20, 0x1bb5f: 0x6cdce620, + 0x1bb60: 0x6c052220, 0x1bb61: 0x6c657c20, 0x1bb62: 0x6c590220, 0x1bb63: 0x6c29d420, + 0x1bb64: 0x6cf13c20, 0x1bb65: 0x6ced7820, 0x1bb66: 0x6cbd6e20, 0x1bb67: 0x6caf0220, + 0x1bb68: 0x6ccf2c20, 0x1bb69: 0x6c8af820, 0x1bb6a: 0x6c9f4620, 0x1bb6b: 0x6c9aca20, + 0x1bb6c: 0x6c3f5a20, 0x1bb6d: 0x6c041e20, 0x1bb6e: 0x6c723e20, 0x1bb6f: 0x6c29cc20, + 0x1bb70: 0x6cf2b420, 0x1bb71: 0x6c003e20, 0x1bb72: 0x6c731c20, 0x1bb73: 0x6d26a420, + 0x1bb74: 0x6d3fec20, 0x1bb75: 0x6c186420, 0x1bb76: 0x6c20c820, 0x1bb77: 0x6c6ab620, + 0x1bb78: 0x6ce85420, 0x1bb79: 0x6c07ae20, 0x1bb7a: 0x6ca33220, 0x1bb7b: 0x6ca72020, + 0x1bb7c: 0x6cc90e20, 0x1bb7d: 0x6d423620, 0x1bb7e: 0x6cf2e220, 0x1bb7f: 0x6cf5e820, + // Block 0x6ee, offset 0x1bb80 + 0x1bb80: 0x6cfa9820, 0x1bb81: 0x6c19e620, 0x1bb82: 0x6c2cc420, 0x1bb83: 0x6ccae020, + 0x1bb84: 0x6c94d220, 0x1bb85: 0x6cbec620, 0x1bb86: 0x6c427820, 0x1bb87: 0x6c342a20, + 0x1bb88: 0x6cd46020, 0x1bb89: 0x6c2e1820, 0x1bb8a: 0x6cb3d820, 0x1bb8b: 0x6c2bf020, + 0x1bb8c: 0x6d2f0420, 0x1bb8d: 0x6c5d2420, 0x1bb8e: 0x6c613620, 0x1bb8f: 0x6ce1c220, + 0x1bb90: 0x6cb82820, 0x1bb91: 0x6cb5c420, 0x1bb92: 0x6cabfa20, 0x1bb93: 0x6cd4c820, + 0x1bb94: 0x6cb8e220, 0x1bb95: 0x6c8ce420, 0x1bb96: 0x6d125c20, 0x1bb97: 0x6d0b9c20, + 0x1bb98: 0x6c742420, 0x1bb99: 0x6d32b020, 0x1bb9a: 0x6c899020, 0x1bb9b: 0x6c48b020, + 0x1bb9c: 0x6d175c20, 0x1bb9d: 0x6c5dc220, 0x1bb9e: 0x6ccd8220, 0x1bb9f: 0x6d332020, + 0x1bba0: 0x6c361020, 0x1bba1: 0x6c112a20, 0x1bba2: 0x6ce09420, 0x1bba3: 0x6c181e20, + 0x1bba4: 0x6c0db020, 0x1bba5: 0x6c69fa20, 0x1bba6: 0x6ce3ee20, 0x1bba7: 0x6c79a420, + 0x1bba8: 0x6ce99020, 0x1bba9: 0x6d0d6620, 0x1bbaa: 0x6c262220, 0x1bbab: 0x6d387420, + 0x1bbac: 0x6c708a20, 0x1bbad: 0x6ce53420, 0x1bbae: 0x6cb98820, 0x1bbaf: 0x6c791820, + 0x1bbb0: 0x6c040020, 0x1bbb1: 0x6cabd420, 0x1bbb2: 0x6c69fc20, 0x1bbb3: 0x6c91ba20, + 0x1bbb4: 0x6c48cc20, 0x1bbb5: 0x6ca04e20, 0x1bbb6: 0x6c454620, 0x1bbb7: 0x6d35e020, + 0x1bbb8: 0x6c283420, 0x1bbb9: 0x6c9c2a20, 0x1bbba: 0x6c11f220, 0x1bbbb: 0x6ccaa620, + 0x1bbbc: 0x6c498220, 0x1bbbd: 0x6caf1020, 0x1bbbe: 0x6d261c20, 0x1bbbf: 0x6caaee20, + // Block 0x6ef, offset 0x1bbc0 + 0x1bbc0: 0x6c659020, 0x1bbc1: 0x6d32c420, 0x1bbc2: 0x6c6f7220, 0x1bbc3: 0x6c659220, + 0x1bbc4: 0x6d212620, 0x1bbc5: 0x6d0ca820, 0x1bbc6: 0x6c7c7820, 0x1bbc7: 0x6ca42620, + 0x1bbc8: 0x6c52a420, 0x1bbc9: 0x6cc74a20, 0x1bbca: 0x6cb09620, 0x1bbcb: 0x6cee8820, + 0x1bbcc: 0x6cc9c420, 0x1bbcd: 0x6d408820, 0x1bbce: 0x6d079c20, 0x1bbcf: 0x6c9e7620, + 0x1bbd0: 0x6ce32420, 0x1bbd1: 0x6ca7dc20, 0x1bbd2: 0x6c139c20, 0x1bbd3: 0x6cd38620, + 0x1bbd4: 0x6d3ff220, 0x1bbd5: 0x6d324220, 0x1bbd6: 0x6d13f220, 0x1bbd7: 0x6d0a1020, + 0x1bbd8: 0x6d1df620, 0x1bbd9: 0x6c0af220, 0x1bbda: 0x6d0fb620, 0x1bbdb: 0x6c592220, + 0x1bbdc: 0x6d0d8220, 0x1bbdd: 0x6d296a20, 0x1bbde: 0x6c018620, 0x1bbdf: 0x6d059a20, + 0x1bbe0: 0x6d0bac20, 0x1bbe1: 0x6cf2ee20, 0x1bbe2: 0x6c784c20, 0x1bbe3: 0x6c1fb420, + 0x1bbe4: 0x6c600020, 0x1bbe5: 0x6ce3fa20, 0x1bbe6: 0x6c7e5e20, 0x1bbe7: 0x6c7e7a20, + 0x1bbe8: 0x6c18c820, 0x1bbe9: 0x6c762e20, 0x1bbea: 0x6c6f7420, 0x1bbeb: 0x6c6f7c20, + 0x1bbec: 0x6ce8ae20, 0x1bbed: 0x6c6a1220, 0x1bbee: 0x6c5ab420, 0x1bbef: 0x6c44b420, + 0x1bbf0: 0x6c1d5020, 0x1bbf1: 0x6cfed620, 0x1bbf2: 0x6c2ea420, 0x1bbf3: 0x6d004020, + 0x1bbf4: 0x6d256220, 0x1bbf5: 0x6cb98a20, 0x1bbf6: 0x6d127c20, 0x1bbf7: 0x6c139e20, + 0x1bbf8: 0x6d2bda20, 0x1bbf9: 0x6c069e20, 0x1bbfa: 0x6d10f820, 0x1bbfb: 0x6cee8a20, + 0x1bbfc: 0x6c086a20, 0x1bbfd: 0x6c802820, 0x1bbfe: 0x6cf20c20, 0x1bbff: 0x6cbe1420, + // Block 0x6f0, offset 0x1bc00 + 0x1bc00: 0x6c14ca20, 0x1bc01: 0x6c439220, 0x1bc02: 0x6c90e420, 0x1bc03: 0x6d3ff420, + 0x1bc04: 0x6c44ce20, 0x1bc05: 0x6c68f220, 0x1bc06: 0x6c46b820, 0x1bc07: 0x6cbe1a20, + 0x1bc08: 0x6cc68420, 0x1bc09: 0x6cc3ca20, 0x1bc0a: 0x6c1d7420, 0x1bc0b: 0x6c1fb620, + 0x1bc0c: 0x6d2df620, 0x1bc0d: 0x6cdcf020, 0x1bc0e: 0x6cdcd420, 0x1bc0f: 0x6c0f1220, + 0x1bc10: 0x6c1f4e20, 0x1bc11: 0x6cc67420, 0x1bc12: 0x6c057a20, 0x1bc13: 0x6c25ba20, + 0x1bc14: 0x6ccaac20, 0x1bc15: 0x6c780620, 0x1bc16: 0x6d111020, 0x1bc17: 0x6c29dc20, + 0x1bc18: 0x6d33ee20, 0x1bc19: 0x6caa6620, 0x1bc1a: 0x6c7e4820, 0x1bc1b: 0x6c64b020, + 0x1bc1c: 0x6cd9b020, 0x1bc1d: 0x6cc0ae20, 0x1bc1e: 0x6c430820, 0x1bc1f: 0x6cfc1420, + 0x1bc20: 0x6cd78620, 0x1bc21: 0x6cca8020, 0x1bc22: 0x6c6d1420, 0x1bc23: 0x6c9edc20, + 0x1bc24: 0x6c365820, 0x1bc25: 0x6c20ce20, 0x1bc26: 0x6caafc20, 0x1bc27: 0x6cccea20, + 0x1bc28: 0x6cde5c20, 0x1bc29: 0x6d2c7e20, 0x1bc2a: 0x6ce10220, 0x1bc2b: 0x6cac6420, + 0x1bc2c: 0x6c048620, 0x1bc2d: 0x6c265020, 0x1bc2e: 0x6c863020, 0x1bc2f: 0x6ce1d620, + 0x1bc30: 0x6c555c20, 0x1bc31: 0x6d365620, 0x1bc32: 0x6cebe220, 0x1bc33: 0x6c574220, + 0x1bc34: 0x6cb90220, 0x1bc35: 0x6cf20e20, 0x1bc36: 0x6cbb3e20, 0x1bc37: 0x6ce4ac20, + 0x1bc38: 0x6d316220, 0x1bc39: 0x6c365a20, 0x1bc3a: 0x6d00ba20, 0x1bc3b: 0x6cab0220, + 0x1bc3c: 0x6cc2fc20, 0x1bc3d: 0x6c13e220, 0x1bc3e: 0x6d2ccc20, 0x1bc3f: 0x6c441020, + // Block 0x6f1, offset 0x1bc40 + 0x1bc40: 0x6cf44e20, 0x1bc41: 0x6c372420, 0x1bc42: 0x6ccf5220, 0x1bc43: 0x6c776820, + 0x1bc44: 0x6ccf5420, 0x1bc45: 0x6cd4e820, 0x1bc46: 0x6c042620, 0x1bc47: 0x6d111220, + 0x1bc48: 0x6c0d8020, 0x1bc49: 0x6cd9be20, 0x1bc4a: 0x6cdfae20, 0x1bc4b: 0x6cc97820, + 0x1bc4c: 0x6c15ca20, 0x1bc4d: 0x6cdd2a20, 0x1bc4e: 0x6c6f8020, 0x1bc4f: 0x6c1cd220, + 0x1bc50: 0x6c205620, 0x1bc51: 0x6c48d220, 0x1bc52: 0x6c0de620, 0x1bc53: 0x6c3cac20, + 0x1bc54: 0x6cd65620, 0x1bc55: 0x6c2c7e20, 0x1bc56: 0x6cb7ae20, 0x1bc57: 0x6cd9cc20, + 0x1bc58: 0x6d2cf820, 0x1bc59: 0x6c88c220, 0x1bc5a: 0x6c197c20, 0x1bc5b: 0x6c1ab820, + 0x1bc5c: 0x6c499820, 0x1bc5d: 0x6c928220, 0x1bc5e: 0x6c961420, 0x1bc5f: 0x6c90ee20, + 0x1bc60: 0x6d400020, 0x1bc61: 0x6c413420, 0x1bc62: 0x6c56b620, 0x1bc63: 0x6d2bea20, + 0x1bc64: 0x6c209420, 0x1bc65: 0x6ce19e20, 0x1bc66: 0x6c57ac20, 0x1bc67: 0x6c24dc20, + 0x1bc68: 0x6ca38420, 0x1bc69: 0x6ca07220, 0x1bc6a: 0x6c676820, 0x1bc6b: 0x6c4a7a20, + 0x1bc6c: 0x6d1cfc20, 0x1bc6d: 0x6d348020, 0x1bc6e: 0x6c026020, 0x1bc6f: 0x6d36ae20, + 0x1bc70: 0x6ca85c20, 0x1bc71: 0x6c97ea20, 0x1bc72: 0x6c163020, 0x1bc73: 0x6c79c220, + 0x1bc74: 0x6c1e6220, 0x1bc75: 0x6ccf6420, 0x1bc76: 0x6ce95420, 0x1bc77: 0x6c691420, + 0x1bc78: 0x6ca05620, 0x1bc79: 0x6ca06820, 0x1bc7a: 0x6d306c20, 0x1bc7b: 0x6c11fc20, + 0x1bc7c: 0x6c794820, 0x1bc7d: 0x6c0c0a20, 0x1bc7e: 0x6c67f620, 0x1bc7f: 0x6d19f420, + // Block 0x6f2, offset 0x1bc80 + 0x1bc80: 0x6c46ce20, 0x1bc81: 0x6cb90420, 0x1bc82: 0x6c8aa020, 0x1bc83: 0x6c608420, + 0x1bc84: 0x6d1bce20, 0x1bc85: 0x6c73b420, 0x1bc86: 0x6cb1d020, 0x1bc87: 0x6cb1ca20, + 0x1bc88: 0x6c813c20, 0x1bc89: 0x6c33ac20, 0x1bc8a: 0x6cfcfa20, 0x1bc8b: 0x6cc84420, + 0x1bc8c: 0x6c4b6620, 0x1bc8d: 0x6d297420, 0x1bc8e: 0x6d185020, 0x1bc8f: 0x6cfb7e20, + 0x1bc90: 0x6c198820, 0x1bc91: 0x6c198a20, 0x1bc92: 0x6cc94620, 0x1bc93: 0x6ca4ba20, + 0x1bc94: 0x6c53ca20, 0x1bc95: 0x6cd81620, 0x1bc96: 0x6c4ee020, 0x1bc97: 0x6c4a2620, + 0x1bc98: 0x6c266420, 0x1bc99: 0x6d420c20, 0x1bc9a: 0x6ca73420, 0x1bc9b: 0x6c8c2a20, + 0x1bc9c: 0x6d332c20, 0x1bc9d: 0x6c5ae420, 0x1bc9e: 0x6d3c4820, 0x1bc9f: 0x6c692820, + 0x1bca0: 0x6c615020, 0x1bca1: 0x6c126620, 0x1bca2: 0x6c283c20, 0x1bca3: 0x6c283e20, + 0x1bca4: 0x6c183220, 0x1bca5: 0x6c0e8820, 0x1bca6: 0x6c17ee20, 0x1bca7: 0x6c73b620, + 0x1bca8: 0x6c3f8020, 0x1bca9: 0x6c89d220, 0x1bcaa: 0x6c07c220, 0x1bcab: 0x6c3f8220, + 0x1bcac: 0x6cbc5820, 0x1bcad: 0x6c0e8a20, 0x1bcae: 0x6c25c620, 0x1bcaf: 0x6d3d7a20, + 0x1bcb0: 0x6d3bda20, 0x1bcb1: 0x6ceff020, 0x1bcb2: 0x6cb40e20, 0x1bcb3: 0x6cbe2220, + 0x1bcb4: 0x6c33a620, 0x1bcb5: 0x6ca73620, 0x1bcb6: 0x6c574420, 0x1bcb7: 0x6d00d820, + 0x1bcb8: 0x6c912e20, 0x1bcb9: 0x6c692a20, 0x1bcba: 0x6c249020, 0x1bcbb: 0x6cde8c20, + 0x1bcbc: 0x6c4f0420, 0x1bcbd: 0x6cbc5c20, 0x1bcbe: 0x6cf29a20, 0x1bcbf: 0x6c65d620, + // Block 0x6f3, offset 0x1bcc0 + 0x1bcc0: 0x6c41ea20, 0x1bcc1: 0x6d1db220, 0x1bcc2: 0x6c825620, 0x1bcc3: 0x6ca46e20, + 0x1bcc4: 0x6c91da20, 0x1bcc5: 0x6ccda820, 0x1bcc6: 0x6d3d7c20, 0x1bcc7: 0x6d2afa20, + 0x1bcc8: 0x6cb41420, 0x1bcc9: 0x6c21d620, 0x1bcca: 0x6c5f5220, 0x1bccb: 0x6c293420, + 0x1bccc: 0x6ccb5620, 0x1bccd: 0x6c126820, 0x1bcce: 0x6cbe8c20, 0x1bccf: 0x6cbe8420, + 0x1bcd0: 0x6c595220, 0x1bcd1: 0x6c6a3020, 0x1bcd2: 0x6cbd9420, 0x1bcd3: 0x6c7b0220, + 0x1bcd4: 0x6c27fa20, 0x1bcd5: 0x6d00dc20, 0x1bcd6: 0x6c761420, 0x1bcd7: 0x6cb06e20, + 0x1bcd8: 0x6c040620, 0x1bcd9: 0x6c02f220, 0x1bcda: 0x6c728c20, 0x1bcdb: 0x6d132620, + 0x1bcdc: 0x6c370620, 0x1bcdd: 0x6c9c2c20, 0x1bcde: 0x6cda2620, 0x1bcdf: 0x6c9c7a20, + 0x1bce0: 0x6c615420, 0x1bce1: 0x6cdf4820, 0x1bce2: 0x6d3da820, 0x1bce3: 0x6c29f220, + 0x1bce4: 0x6d040a20, 0x1bce5: 0x6c804420, 0x1bce6: 0x6c10da20, 0x1bce7: 0x6c71d820, + 0x1bce8: 0x6d129220, 0x1bce9: 0x6cc80620, 0x1bcea: 0x6d136820, 0x1bceb: 0x6d135a20, + 0x1bcec: 0x6ca65220, 0x1bced: 0x6cf31420, 0x1bcee: 0x6c60bc20, 0x1bcef: 0x6c0d8820, + 0x1bcf0: 0x6ca92420, 0x1bcf1: 0x6c43b420, 0x1bcf2: 0x6d370420, 0x1bcf3: 0x6d36de20, + 0x1bcf4: 0x6c7e1a20, 0x1bcf5: 0x6ca08620, 0x1bcf6: 0x6c66ec20, 0x1bcf7: 0x6d011020, + 0x1bcf8: 0x6c8b4c20, 0x1bcf9: 0x6cdfc020, 0x1bcfa: 0x6c042a20, 0x1bcfb: 0x6cda3020, + 0x1bcfc: 0x6c91e820, 0x1bcfd: 0x6c94ca20, 0x1bcfe: 0x6cc54220, 0x1bcff: 0x6ce2fe20, + // Block 0x6f4, offset 0x1bd00 + 0x1bd00: 0x6cac4c20, 0x1bd01: 0x6d103620, 0x1bd02: 0x6c834c20, 0x1bd03: 0x6c10dc20, + 0x1bd04: 0x6cd51420, 0x1bd05: 0x6d297a20, 0x1bd06: 0x6ca74220, 0x1bd07: 0x6cfc4020, + 0x1bd08: 0x6c75fa20, 0x1bd09: 0x6c5d6620, 0x1bd0a: 0x6c86f420, 0x1bd0b: 0x6c7ea420, + 0x1bd0c: 0x6c58e420, 0x1bd0d: 0x6d1cb620, 0x1bd0e: 0x6c917020, 0x1bd0f: 0x6c904420, + 0x1bd10: 0x6cb93a20, 0x1bd11: 0x6cb93c20, 0x1bd12: 0x6d297c20, 0x1bd13: 0x6cb94620, + 0x1bd14: 0x6c7fe620, 0x1bd15: 0x6cfafc20, 0x1bd16: 0x6d1c1e20, 0x1bd17: 0x6c9a3a20, + 0x1bd18: 0x6cc50820, 0x1bd19: 0x6c14e020, 0x1bd1a: 0x6d1d6c20, 0x1bd1b: 0x6c249820, + 0x1bd1c: 0x6d012420, 0x1bd1d: 0x6ccf8a20, 0x1bd1e: 0x6c957420, 0x1bd1f: 0x6c760820, + 0x1bd20: 0x6c9cb220, 0x1bd21: 0x6c84a620, 0x1bd22: 0x6d298220, 0x1bd23: 0x6c945820, + 0x1bd24: 0x6cdfc420, 0x1bd25: 0x6d416420, 0x1bd26: 0x6c876620, 0x1bd27: 0x6c2cf820, + 0x1bd28: 0x6cec0020, 0x1bd29: 0x6c293c20, 0x1bd2a: 0x6c697420, 0x1bd2b: 0x6c751c20, + 0x1bd2c: 0x6c805c20, 0x1bd2d: 0x6c879e20, 0x1bd2e: 0x6ca47620, 0x1bd2f: 0x6d337e20, + 0x1bd30: 0x6c4b2820, 0x1bd31: 0x6c4ad820, 0x1bd32: 0x6cb4f020, 0x1bd33: 0x6d0a3a20, + 0x1bd34: 0x6cb3fc20, 0x1bd35: 0x6cdba820, 0x1bd36: 0x6cd42a20, 0x1bd37: 0x6c779a20, + 0x1bd38: 0x6d1e9020, 0x1bd39: 0x6c410c20, 0x1bd3a: 0x6d15bc20, 0x1bd3b: 0x6c455e20, + 0x1bd3c: 0x6c416620, 0x1bd3d: 0x6c047220, 0x1bd3e: 0x6c39e220, 0x1bd3f: 0x6d334220, + // Block 0x6f5, offset 0x1bd40 + 0x1bd40: 0x6cb36c20, 0x1bd41: 0x6c2cc020, 0x1bd42: 0x6c79da20, 0x1bd43: 0x6c9f9a20, + 0x1bd44: 0x6cf4c420, 0x1bd45: 0x6c480020, 0x1bd46: 0x6c50f020, 0x1bd47: 0x6c12d620, + 0x1bd48: 0x6cffdc20, 0x1bd49: 0x6c9ce620, 0x1bd4a: 0x6c1f2420, 0x1bd4b: 0x6c43d620, + 0x1bd4c: 0x6c2b6220, 0x1bd4d: 0x6d06b620, 0x1bd4e: 0x6c699a20, 0x1bd4f: 0x6c9fa820, + 0x1bd50: 0x6c18bc20, 0x1bd51: 0x6c6ff220, 0x1bd52: 0x6ccfda20, 0x1bd53: 0x6c344620, + 0x1bd54: 0x6d224e20, 0x1bd55: 0x6c1c0e20, 0x1bd56: 0x6c024020, 0x1bd57: 0x6c044020, + 0x1bd58: 0x6d06b820, 0x1bd59: 0x6c699c20, 0x1bd5a: 0x6c344820, 0x1bd5b: 0x6c88b420, + 0x1bd5c: 0x6ca82c20, 0x1bd5d: 0x6c097820, 0x1bd5e: 0x6c172c20, 0x1bd5f: 0x6c2d1a20, + 0x1bd60: 0x6c342e20, 0x1bd61: 0x6d179c20, 0x1bd62: 0x6c41d420, 0x1bd63: 0x6cca5420, + 0x1bd64: 0x6c786820, 0x1bd65: 0x6d0e7020, 0x1bd66: 0x6c339a20, 0x1bd67: 0x6c5ecc20, + 0x1bd68: 0x6ce81420, 0x1bd69: 0x6cffea20, 0x1bd6a: 0x6c345020, 0x1bd6b: 0x6c690620, + 0x1bd6c: 0x6c6e8420, 0x1bd6d: 0x6d0fc220, 0x1bd6e: 0x6cf9ce20, 0x1bd6f: 0x6c9f5e20, + 0x1bd70: 0x6cd5e420, 0x1bd71: 0x6c004820, 0x1bd72: 0x6cbb8c20, 0x1bd73: 0x6c004a20, + 0x1bd74: 0x6d333220, 0x1bd75: 0x6c2b8820, 0x1bd76: 0x6d324c20, 0x1bd77: 0x6c3d8e20, + 0x1bd78: 0x6cd60020, 0x1bd79: 0x6c8a1020, 0x1bd7a: 0x6cc13620, 0x1bd7b: 0x6d049e20, + 0x1bd7c: 0x6d161020, 0x1bd7d: 0x6c694020, 0x1bd7e: 0x6ccdfc20, 0x1bd7f: 0x6c694220, + // Block 0x6f6, offset 0x1bd80 + 0x1bd80: 0x6d3daa20, 0x1bd81: 0x6d18c220, 0x1bd82: 0x6c88ca20, 0x1bd83: 0x6c0a6820, + 0x1bd84: 0x6c848820, 0x1bd85: 0x6d002220, 0x1bd86: 0x6d002420, 0x1bd87: 0x6cf17a20, + 0x1bd88: 0x6d08f420, 0x1bd89: 0x6cb58220, 0x1bd8a: 0x6cb5a220, 0x1bd8b: 0x6d2cea20, + 0x1bd8c: 0x6c0d3620, 0x1bd8d: 0x6c742620, 0x1bd8e: 0x6d2cf020, 0x1bd8f: 0x6c80b820, + 0x1bd90: 0x6c3a5620, 0x1bd91: 0x6c048020, 0x1bd92: 0x6c048820, 0x1bd93: 0x6c7fb420, + 0x1bd94: 0x6d22a620, 0x1bd95: 0x6c7ff620, 0x1bd96: 0x6cf06420, 0x1bd97: 0x6c30f820, + 0x1bd98: 0x6cd0de20, 0x1bd99: 0x6c8a9420, 0x1bd9a: 0x6c640a20, 0x1bd9b: 0x6c554420, + 0x1bd9c: 0x6d00a020, 0x1bd9d: 0x6c641820, 0x1bd9e: 0x6d225820, 0x1bd9f: 0x6d316420, + 0x1bda0: 0x6c69ae20, 0x1bda1: 0x6cf30220, 0x1bda2: 0x6ce5ca20, 0x1bda3: 0x6c313a20, + 0x1bda4: 0x6c6c1e20, 0x1bda5: 0x6c1bdc20, 0x1bda6: 0x6d1a2e20, 0x1bda7: 0x6c3f4420, + 0x1bda8: 0x6cbaa420, 0x1bda9: 0x6d2ddc20, 0x1bdaa: 0x6cc17820, 0x1bdab: 0x6d3d3220, + 0x1bdac: 0x6d2de620, 0x1bdad: 0x6c32ba20, 0x1bdae: 0x6c262820, 0x1bdaf: 0x6cd7e820, + 0x1bdb0: 0x6d02dc20, 0x1bdb1: 0x6d3d5c20, 0x1bdb2: 0x6d3d7e20, 0x1bdb3: 0x6cbd9620, + 0x1bdb4: 0x6c8bda20, 0x1bdb5: 0x6d3dac20, 0x1bdb6: 0x6c1f7c20, 0x1bdb7: 0x6c32e020, + 0x1bdb8: 0x6d3a9020, 0x1bdb9: 0x6c398020, 0x1bdba: 0x6c159820, 0x1bdbb: 0x6c4f5e20, + 0x1bdbc: 0x6d20c220, 0x1bdbd: 0x6cd1aa20, 0x1bdbe: 0x6cae0e20, 0x1bdbf: 0x6d1f0820, + // Block 0x6f7, offset 0x1bdc0 + 0x1bdc0: 0x6c9a7c20, 0x1bdc1: 0x6cacfa20, 0x1bdc2: 0x6cb5a420, 0x1bdc3: 0x6d2d6820, + 0x1bdc4: 0x6c98d020, 0x1bdc5: 0x6c938a20, 0x1bdc6: 0x6cae1220, 0x1bdc7: 0x6caf6020, + 0x1bdc8: 0x6c8e4e20, 0x1bdc9: 0x6c3d6220, 0x1bdca: 0x6c39d020, 0x1bdcb: 0x6d081020, + 0x1bdcc: 0x6c6daa20, 0x1bdcd: 0x6c6dac20, 0x1bdce: 0x6ca63620, 0x1bdcf: 0x6d40b820, + 0x1bdd0: 0x6d2fb020, 0x1bdd1: 0x6d15ee20, 0x1bdd2: 0x6c8e6a20, 0x1bdd3: 0x6cce7420, + 0x1bdd4: 0x6c668a20, 0x1bdd5: 0x6d214c20, 0x1bdd6: 0x6d15fe20, 0x1bdd7: 0x6cb61a20, + 0x1bdd8: 0x6d36e020, 0x1bdd9: 0x6c385e20, 0x1bdda: 0x6cb16620, 0x1bddb: 0x6c386020, + 0x1bddc: 0x6d2db220, 0x1bddd: 0x6c7b4420, 0x1bdde: 0x6cdc9a20, 0x1bddf: 0x6d21d420, + 0x1bde0: 0x6cf39a20, 0x1bde1: 0x6c616c20, 0x1bde2: 0x6c61a820, 0x1bde3: 0x6c61ec20, + 0x1bde4: 0x6c5dce20, 0x1bde5: 0x6cc63620, 0x1bde6: 0x6c285e20, 0x1bde7: 0x6c6fca20, + 0x1bde8: 0x6d34d820, 0x1bde9: 0x6d2a3a20, 0x1bdea: 0x6d006820, 0x1bdeb: 0x6ce54620, + 0x1bdec: 0x6d09d620, 0x1bded: 0x6d066820, 0x1bdee: 0x6c40bc20, 0x1bdef: 0x6c7e5820, + 0x1bdf0: 0x6c420c20, 0x1bdf1: 0x6c4e8a20, 0x1bdf2: 0x6cdf1020, 0x1bdf3: 0x6c2c1620, + 0x1bdf4: 0x6d056620, 0x1bdf5: 0x6c159420, 0x1bdf6: 0x6cd23a20, 0x1bdf7: 0x6c7bde20, + 0x1bdf8: 0x6d0f7c20, 0x1bdf9: 0x6cd24620, 0x1bdfa: 0x6cee4c20, 0x1bdfb: 0x6c9f3020, + 0x1bdfc: 0x6c9f3220, 0x1bdfd: 0x6cea8620, 0x1bdfe: 0x6c20fc20, 0x1bdff: 0x6cf42820, + // Block 0x6f8, offset 0x1be00 + 0x1be00: 0x6d278820, 0x1be01: 0x6c06e620, 0x1be02: 0x6c01f420, 0x1be03: 0x6d2b3e20, + 0x1be04: 0x6c04ba20, 0x1be05: 0x6c6a7420, 0x1be06: 0x6c7d4c20, 0x1be07: 0x6cd0e020, + 0x1be08: 0x6c566820, 0x1be09: 0x6c39c420, 0x1be0a: 0x6c501c20, 0x1be0b: 0x6c4b2e20, + 0x1be0c: 0x6c166020, 0x1be0d: 0x6d077c20, 0x1be0e: 0x6c9fe820, 0x1be0f: 0x6c5cb220, + 0x1be10: 0x6c3b1620, 0x1be11: 0x6cbdc820, 0x1be12: 0x6c54a220, 0x1be13: 0x6d16ba20, + 0x1be14: 0x6cf58620, 0x1be15: 0x6d02b220, 0x1be16: 0x6d0c6420, 0x1be17: 0x6d2b4020, + 0x1be18: 0x6c39c620, 0x1be19: 0x6cdfd220, 0x1be1a: 0x6cd09420, 0x1be1b: 0x6c721020, + 0x1be1c: 0x6d0f9620, 0x1be1d: 0x6d296020, 0x1be1e: 0x6c0dcc20, 0x1be1f: 0x6d036a20, + 0x1be20: 0x6d1d3420, 0x1be21: 0x6d087620, 0x1be22: 0x6cb36e20, 0x1be23: 0x6d31c020, + 0x1be24: 0x6c8cb420, 0x1be25: 0x6c210020, 0x1be26: 0x6c502020, 0x1be27: 0x6c9a7e20, + 0x1be28: 0x6d422e20, 0x1be29: 0x6ca0e020, 0x1be2a: 0x6c0b8620, 0x1be2b: 0x6d069020, + 0x1be2c: 0x6c5cb420, 0x1be2d: 0x6d2f5c20, 0x1be2e: 0x6d401820, 0x1be2f: 0x6cd33820, + 0x1be30: 0x6cd33a20, 0x1be31: 0x6d22e220, 0x1be32: 0x6c3a8e20, 0x1be33: 0x6c2e7420, + 0x1be34: 0x6c993220, 0x1be35: 0x6ca68620, 0x1be36: 0x6c16e620, 0x1be37: 0x6cf14a20, + 0x1be38: 0x6c2fe420, 0x1be39: 0x6c006220, 0x1be3a: 0x6c0dce20, 0x1be3b: 0x6c01f620, + 0x1be3c: 0x6d390e20, 0x1be3d: 0x6c8f7420, 0x1be3e: 0x6cfbec20, 0x1be3f: 0x6c7be820, + // Block 0x6f9, offset 0x1be40 + 0x1be40: 0x6ce5ba20, 0x1be41: 0x6c175c20, 0x1be42: 0x6cd25c20, 0x1be43: 0x6c5a8220, + 0x1be44: 0x6c5a4e20, 0x1be45: 0x6d084820, 0x1be46: 0x6c7c6220, 0x1be47: 0x6d058020, + 0x1be48: 0x6c68dc20, 0x1be49: 0x6c6cea20, 0x1be4a: 0x6d35ba20, 0x1be4b: 0x6c6cec20, + 0x1be4c: 0x6cce3620, 0x1be4d: 0x6ce72e20, 0x1be4e: 0x6c53a020, 0x1be4f: 0x6d0e5020, + 0x1be50: 0x6c40ec20, 0x1be51: 0x6cfde020, 0x1be52: 0x6ccc9c20, 0x1be53: 0x6cffa820, + 0x1be54: 0x6d12de20, 0x1be55: 0x6d274c20, 0x1be56: 0x6c5aa220, 0x1be57: 0x6c4dfe20, + 0x1be58: 0x6c4eac20, 0x1be59: 0x6c75ae20, 0x1be5a: 0x6ced0820, 0x1be5b: 0x6cfcb020, + 0x1be5c: 0x6c7d5820, 0x1be5d: 0x6d392020, 0x1be5e: 0x6cf5ea20, 0x1be5f: 0x6c19de20, + 0x1be60: 0x6cd15820, 0x1be61: 0x6c101420, 0x1be62: 0x6d304c20, 0x1be63: 0x6d304e20, + 0x1be64: 0x6cf4dc20, 0x1be65: 0x6c4eae20, 0x1be66: 0x6c5bb620, 0x1be67: 0x6c503420, + 0x1be68: 0x6c194e20, 0x1be69: 0x6ced1820, 0x1be6a: 0x6ce4f420, 0x1be6b: 0x6d3d5e20, + 0x1be6c: 0x6d41b220, 0x1be6d: 0x6d38e820, 0x1be6e: 0x6cb48c20, 0x1be6f: 0x6c6e2020, + 0x1be70: 0x6cf60c20, 0x1be71: 0x6ccd4020, 0x1be72: 0x6ca63820, 0x1be73: 0x6cf60e20, + 0x1be74: 0x6cbe7a20, 0x1be75: 0x6cb6fc20, 0x1be76: 0x6c6db420, 0x1be77: 0x6c4afc20, + 0x1be78: 0x6d332220, 0x1be79: 0x6d179e20, 0x1be7a: 0x6d362820, 0x1be7b: 0x6c01c220, + 0x1be7c: 0x6ced1a20, 0x1be7d: 0x6c8bb220, 0x1be7e: 0x6c89b820, 0x1be7f: 0x6c166e20, + // Block 0x6fa, offset 0x1be80 + 0x1be80: 0x6cee1820, 0x1be81: 0x6cffac20, 0x1be82: 0x6d298c20, 0x1be83: 0x6c3b0620, + 0x1be84: 0x6d07a620, 0x1be85: 0x6c453420, 0x1be86: 0x6d151820, 0x1be87: 0x6cf9d020, + 0x1be88: 0x6d275420, 0x1be89: 0x6c5ac220, 0x1be8a: 0x6d064220, 0x1be8b: 0x6c9fba20, + 0x1be8c: 0x6c7c8820, 0x1be8d: 0x6d126020, 0x1be8e: 0x6d1d3a20, 0x1be8f: 0x6cd55c20, + 0x1be90: 0x6cefd820, 0x1be91: 0x6cd55a20, 0x1be92: 0x6cbe8220, 0x1be93: 0x6c998e20, + 0x1be94: 0x6ca40020, 0x1be95: 0x6c65ac20, 0x1be96: 0x6caa9420, 0x1be97: 0x6c01c620, + 0x1be98: 0x6d0fc420, 0x1be99: 0x6c210a20, 0x1be9a: 0x6d111e20, 0x1be9b: 0x6cdd7820, + 0x1be9c: 0x6c6d2820, 0x1be9d: 0x6ca00e20, 0x1be9e: 0x6c691620, 0x1be9f: 0x6c766620, + 0x1bea0: 0x6c430e20, 0x1bea1: 0x6cf25620, 0x1bea2: 0x6c171c20, 0x1bea3: 0x6cb7b020, + 0x1bea4: 0x6c505220, 0x1bea5: 0x6d0e9420, 0x1bea6: 0x6c864a20, 0x1bea7: 0x6c00ba20, + 0x1bea8: 0x6c623620, 0x1bea9: 0x6c626020, 0x1beaa: 0x6c9af820, 0x1beab: 0x6d299620, + 0x1beac: 0x6d01f820, 0x1bead: 0x6c505820, 0x1beae: 0x6ca2a220, 0x1beaf: 0x6ca14020, + 0x1beb0: 0x6c233820, 0x1beb1: 0x6ca6b820, 0x1beb2: 0x6d2ed420, 0x1beb3: 0x6c5c1420, + 0x1beb4: 0x6c066220, 0x1beb5: 0x6c4ef820, 0x1beb6: 0x6d081e20, 0x1beb7: 0x6c200420, + 0x1beb8: 0x6c8a1820, 0x1beb9: 0x6cfacc20, 0x1beba: 0x6c28ae20, 0x1bebb: 0x6c6e2e20, + 0x1bebc: 0x6cb1d220, 0x1bebd: 0x6c8bdc20, 0x1bebe: 0x6cea2820, 0x1bebf: 0x6cf80e20, + // Block 0x6fb, offset 0x1bec0 + 0x1bec0: 0x6d189220, 0x1bec1: 0x6c627620, 0x1bec2: 0x6c5a7620, 0x1bec3: 0x6c278820, + 0x1bec4: 0x6d131220, 0x1bec5: 0x6d131420, 0x1bec6: 0x6c867820, 0x1bec7: 0x6ce00e20, + 0x1bec8: 0x6ce78220, 0x1bec9: 0x6cffba20, 0x1beca: 0x6c3ace20, 0x1becb: 0x6cd07420, + 0x1becc: 0x6d2fde20, 0x1becd: 0x6c506620, 0x1bece: 0x6d18c420, 0x1becf: 0x6cfdfc20, + 0x1bed0: 0x6d03a220, 0x1bed1: 0x6cd02620, 0x1bed2: 0x6c694a20, 0x1bed3: 0x6c067020, + 0x1bed4: 0x6c6eaa20, 0x1bed5: 0x6d0ed020, 0x1bed6: 0x6c00de20, 0x1bed7: 0x6d135c20, + 0x1bed8: 0x6cc7dc20, 0x1bed9: 0x6cd57420, 0x1beda: 0x6c9b5820, 0x1bedb: 0x6d09b820, + 0x1bedc: 0x6d122e20, 0x1bedd: 0x6cb4bc20, 0x1bede: 0x6c86ca20, 0x1bedf: 0x6c18f620, + 0x1bee0: 0x6c7c0e20, 0x1bee1: 0x6c2f0420, 0x1bee2: 0x6c8a7e20, 0x1bee3: 0x6d0ef820, + 0x1bee4: 0x6c5e3e20, 0x1bee5: 0x6c917e20, 0x1bee6: 0x6cf73220, 0x1bee7: 0x6cc6dc20, + 0x1bee8: 0x6c8fd620, 0x1bee9: 0x6ca47220, 0x1beea: 0x6c95d620, 0x1beeb: 0x6c945a20, + 0x1beec: 0x6cccae20, 0x1beed: 0x6ce18e20, 0x1beee: 0x6d0e2420, 0x1beef: 0x6d3a4420, + 0x1bef0: 0x6d264220, 0x1bef1: 0x6d264420, 0x1bef2: 0x6cc0c620, 0x1bef3: 0x6d12bc20, + 0x1bef4: 0x6c452620, 0x1bef5: 0x6d12c420, 0x1bef6: 0x6c54a420, 0x1bef7: 0x6c50d620, + 0x1bef8: 0x6cd4b820, 0x1bef9: 0x6c127420, 0x1befa: 0x6c127020, 0x1befb: 0x6cd18620, + 0x1befc: 0x6c97da20, 0x1befd: 0x6c134820, 0x1befe: 0x6c135020, 0x1beff: 0x6ce3fc20, + // Block 0x6fc, offset 0x1bf00 + 0x1bf00: 0x6d41b020, 0x1bf01: 0x6c11d020, 0x1bf02: 0x6d06d620, 0x1bf03: 0x6c5be220, + 0x1bf04: 0x6d1af620, 0x1bf05: 0x6cbcd220, 0x1bf06: 0x6c3b4220, 0x1bf07: 0x6cb03820, + 0x1bf08: 0x6d266820, 0x1bf09: 0x6d1f9820, 0x1bf0a: 0x6cc85020, 0x1bf0b: 0x6cae8e20, + 0x1bf0c: 0x6c3b5a20, 0x1bf0d: 0x6c3df220, 0x1bf0e: 0x6c8cb620, 0x1bf0f: 0x6c3a4820, + 0x1bf10: 0x6cc17a20, 0x1bf11: 0x6ce3da20, 0x1bf12: 0x6caa7e20, 0x1bf13: 0x6ce5bc20, + 0x1bf14: 0x6cd77620, 0x1bf15: 0x6d322e20, 0x1bf16: 0x6c80fa20, 0x1bf17: 0x6c80f820, + 0x1bf18: 0x6d416c20, 0x1bf19: 0x6c9ff620, 0x1bf1a: 0x6c598c20, 0x1bf1b: 0x6cee5220, + 0x1bf1c: 0x6cea2020, 0x1bf1d: 0x6c176220, 0x1bf1e: 0x6c5ed220, 0x1bf1f: 0x6cb4f220, + 0x1bf20: 0x6d1bba20, 0x1bf21: 0x6d3f9820, 0x1bf22: 0x6cee5820, 0x1bf23: 0x6ce78420, + 0x1bf24: 0x6c811220, 0x1bf25: 0x6c81fa20, 0x1bf26: 0x6c9b5a20, 0x1bf27: 0x6c8fd820, + 0x1bf28: 0x6ca25c20, 0x1bf29: 0x6c2ac820, 0x1bf2a: 0x6cf06c20, 0x1bf2b: 0x6ca0bc20, + 0x1bf2c: 0x6c079220, 0x1bf2d: 0x6d2c1620, 0x1bf2e: 0x6cd59020, 0x1bf2f: 0x6cd59220, + 0x1bf30: 0x6ca26220, 0x1bf31: 0x6d397e20, 0x1bf32: 0x6cc56620, 0x1bf33: 0x6c031420, + 0x1bf34: 0x6cb48220, 0x1bf35: 0x6c352a20, 0x1bf36: 0x6c347020, 0x1bf37: 0x6c29ba20, + 0x1bf38: 0x6c857220, 0x1bf39: 0x6c4abe20, 0x1bf3a: 0x6c5e7820, 0x1bf3b: 0x6c6f4820, + 0x1bf3c: 0x6c08b220, 0x1bf3d: 0x6d051c20, 0x1bf3e: 0x6c19b420, 0x1bf3f: 0x6c22a820, + // Block 0x6fd, offset 0x1bf40 + 0x1bf40: 0x6ccbc020, 0x1bf41: 0x6cc83420, 0x1bf42: 0x6d28ac20, 0x1bf43: 0x6cc2b420, + 0x1bf44: 0x6cb8a620, 0x1bf45: 0x6d20b620, 0x1bf46: 0x6c416820, 0x1bf47: 0x6cf35420, + 0x1bf48: 0x6c137c20, 0x1bf49: 0x6cccbc20, 0x1bf4a: 0x6d09dc20, 0x1bf4b: 0x6c388420, + 0x1bf4c: 0x6cf4aa20, 0x1bf4d: 0x6d3ee620, 0x1bf4e: 0x6c87d820, 0x1bf4f: 0x6d041220, + 0x1bf50: 0x6c110820, 0x1bf51: 0x6c259220, 0x1bf52: 0x6cc5c220, 0x1bf53: 0x6c0bea20, + 0x1bf54: 0x6ceaa220, 0x1bf55: 0x6c2c1820, 0x1bf56: 0x6d2f2220, 0x1bf57: 0x6c983220, + 0x1bf58: 0x6c1be220, 0x1bf59: 0x6d168a20, 0x1bf5a: 0x6c412c20, 0x1bf5b: 0x6c456020, + 0x1bf5c: 0x6c323420, 0x1bf5d: 0x6c83a220, 0x1bf5e: 0x6cb6d620, 0x1bf5f: 0x6cd59820, + 0x1bf60: 0x6c425620, 0x1bf61: 0x6ce56a20, 0x1bf62: 0x6c681a20, 0x1bf63: 0x6ccdf820, + 0x1bf64: 0x6cedb620, 0x1bf65: 0x6c7ee020, 0x1bf66: 0x6c704420, 0x1bf67: 0x6c983420, + 0x1bf68: 0x6d0f7e20, 0x1bf69: 0x6c96b220, 0x1bf6a: 0x6c9e8820, 0x1bf6b: 0x6cd88e20, + 0x1bf6c: 0x6d254020, 0x1bf6d: 0x6c4f6020, 0x1bf6e: 0x6c3a8620, 0x1bf6f: 0x6c069020, + 0x1bf70: 0x6c6a7e20, 0x1bf71: 0x6c2fe020, 0x1bf72: 0x6c430020, 0x1bf73: 0x6d118e20, + 0x1bf74: 0x6cfa7c20, 0x1bf75: 0x6c1ed620, 0x1bf76: 0x6c20fe20, 0x1bf77: 0x6cabd020, + 0x1bf78: 0x6cd4a820, 0x1bf79: 0x6c578220, 0x1bf7a: 0x6d02b420, 0x1bf7b: 0x6c1e2020, + 0x1bf7c: 0x6d3aae20, 0x1bf7d: 0x6c1e2220, 0x1bf7e: 0x6cd90420, 0x1bf7f: 0x6c04bc20, + // Block 0x6fe, offset 0x1bf80 + 0x1bf80: 0x6cd90620, 0x1bf81: 0x6c5fd420, 0x1bf82: 0x6cf2d620, 0x1bf83: 0x6c6cda20, + 0x1bf84: 0x6c469420, 0x1bf85: 0x6c5e8e20, 0x1bf86: 0x6c98c620, 0x1bf87: 0x6cafb820, + 0x1bf88: 0x6c093a20, 0x1bf89: 0x6cee6220, 0x1bf8a: 0x6c021220, 0x1bf8b: 0x6c398820, + 0x1bf8c: 0x6c3b5c20, 0x1bf8d: 0x6d16bc20, 0x1bf8e: 0x6c3df420, 0x1bf8f: 0x6ca3e420, + 0x1bf90: 0x6cf58820, 0x1bf91: 0x6c566a20, 0x1bf92: 0x6d0ad420, 0x1bf93: 0x6c30dc20, + 0x1bf94: 0x6d02fe20, 0x1bf95: 0x6d31ba20, 0x1bf96: 0x6d109020, 0x1bf97: 0x6c8ba020, + 0x1bf98: 0x6cc8c220, 0x1bf99: 0x6c35ac20, 0x1bf9a: 0x6c99d620, 0x1bf9b: 0x6d2f9a20, + 0x1bf9c: 0x6c4cae20, 0x1bf9d: 0x6d339620, 0x1bf9e: 0x6c230420, 0x1bf9f: 0x6d281c20, + 0x1bfa0: 0x6d41e420, 0x1bfa1: 0x6c30de20, 0x1bfa2: 0x6cd4aa20, 0x1bfa3: 0x6d2a3c20, + 0x1bfa4: 0x6c352c20, 0x1bfa5: 0x6c858e20, 0x1bfa6: 0x6c934620, 0x1bfa7: 0x6c656620, + 0x1bfa8: 0x6c19be20, 0x1bfa9: 0x6cd9a020, 0x1bfaa: 0x6cbaa620, 0x1bfab: 0x6c3c2220, + 0x1bfac: 0x6ca3e620, 0x1bfad: 0x6cfe8620, 0x1bfae: 0x6cfa8a20, 0x1bfaf: 0x6c7a2e20, + 0x1bfb0: 0x6cb28420, 0x1bfb1: 0x6cdf1c20, 0x1bfb2: 0x6cf7d420, 0x1bfb3: 0x6d350220, + 0x1bfb4: 0x6c48da20, 0x1bfb5: 0x6cfe8c20, 0x1bfb6: 0x6c643a20, 0x1bfb7: 0x6c633420, + 0x1bfb8: 0x6c467620, 0x1bfb9: 0x6c05aa20, 0x1bfba: 0x6ca0e220, 0x1bfbb: 0x6d16f220, + 0x1bfbc: 0x6d12d820, 0x1bfbd: 0x6d12e020, 0x1bfbe: 0x6cd33c20, 0x1bfbf: 0x6ca7fa20, + // Block 0x6ff, offset 0x1bfc0 + 0x1bfc0: 0x6c08c220, 0x1bfc1: 0x6c34d820, 0x1bfc2: 0x6d149e20, 0x1bfc3: 0x6c8cb820, + 0x1bfc4: 0x6c0dd020, 0x1bfc5: 0x6ca63020, 0x1bfc6: 0x6c7e4020, 0x1bfc7: 0x6c50d820, + 0x1bfc8: 0x6c04f020, 0x1bfc9: 0x6c388620, 0x1bfca: 0x6d37a420, 0x1bfcb: 0x6c274620, + 0x1bfcc: 0x6c222c20, 0x1bfcd: 0x6d100a20, 0x1bfce: 0x6c3d4a20, 0x1bfcf: 0x6c041a20, + 0x1bfd0: 0x6ca1fe20, 0x1bfd1: 0x6c418620, 0x1bfd2: 0x6cb4d420, 0x1bfd3: 0x6cc4ba20, + 0x1bfd4: 0x6cc74220, 0x1bfd5: 0x6c995220, 0x1bfd6: 0x6cce9a20, 0x1bfd7: 0x6cd90e20, + 0x1bfd8: 0x6d30e620, 0x1bfd9: 0x6cf99620, 0x1bfda: 0x6d202a20, 0x1bfdb: 0x6ccfba20, + 0x1bfdc: 0x6c4b3020, 0x1bfdd: 0x6ceb9a20, 0x1bfde: 0x6d2cb420, 0x1bfdf: 0x6ca3ec20, + 0x1bfe0: 0x6ca8fe20, 0x1bfe1: 0x6d1e2420, 0x1bfe2: 0x6c2be420, 0x1bfe3: 0x6d359e20, + 0x1bfe4: 0x6d2bcc20, 0x1bfe5: 0x6c13cc20, 0x1bfe6: 0x6c287020, 0x1bfe7: 0x6c46f820, + 0x1bfe8: 0x6c107620, 0x1bfe9: 0x6c6fdc20, 0x1bfea: 0x6c022820, 0x1bfeb: 0x6c3e0c20, + 0x1bfec: 0x6c657020, 0x1bfed: 0x6c032e20, 0x1bfee: 0x6c34da20, 0x1bfef: 0x6c77de20, + 0x1bff0: 0x6ca3b020, 0x1bff1: 0x6d3abe20, 0x1bff2: 0x6c094820, 0x1bff3: 0x6c8efa20, + 0x1bff4: 0x6c147620, 0x1bff5: 0x6cccd020, 0x1bff6: 0x6cd89e20, 0x1bff7: 0x6c1f1820, + 0x1bff8: 0x6cadb620, 0x1bff9: 0x6cd31a20, 0x1bffa: 0x6c48dc20, 0x1bffb: 0x6d2bce20, + 0x1bffc: 0x6d119820, 0x1bffd: 0x6c195620, 0x1bffe: 0x6c6fde20, 0x1bfff: 0x6cd33e20, + // Block 0x700, offset 0x1c000 + 0x1c000: 0x6d33a620, 0x1c001: 0x6c8efc20, 0x1c002: 0x6c99de20, 0x1c003: 0x6c87da20, + 0x1c004: 0x6cc65620, 0x1c005: 0x6d2cb620, 0x1c006: 0x6d2aa020, 0x1c007: 0x6c0bec20, + 0x1c008: 0x6d2e4c20, 0x1c009: 0x6d35a020, 0x1c00a: 0x6c8f7620, 0x1c00b: 0x6c306220, + 0x1c00c: 0x6c914420, 0x1c00d: 0x6cd0ea20, 0x1c00e: 0x6c85a620, 0x1c00f: 0x6c7f9020, + 0x1c010: 0x6d1e1c20, 0x1c011: 0x6cd5ae20, 0x1c012: 0x6d09f620, 0x1c013: 0x6cd68420, + 0x1c014: 0x6cb76820, 0x1c015: 0x6d313820, 0x1c016: 0x6cb4dc20, 0x1c017: 0x6c85ca20, + 0x1c018: 0x6d14c220, 0x1c019: 0x6cfdba20, 0x1c01a: 0x6d323020, 0x1c01b: 0x6c85cc20, + 0x1c01c: 0x6ccb1a20, 0x1c01d: 0x6c484e20, 0x1c01e: 0x6c76a420, 0x1c01f: 0x6c078420, + 0x1c020: 0x6cc58e20, 0x1c021: 0x6cffde20, 0x1c022: 0x6c041c20, 0x1c023: 0x6cc59020, + 0x1c024: 0x6c0e1220, 0x1c025: 0x6d3e1620, 0x1c026: 0x6c1d9820, 0x1c027: 0x6d172c20, + 0x1c028: 0x6c22be20, 0x1c029: 0x6d063420, 0x1c02a: 0x6d399220, 0x1c02b: 0x6c666c20, + 0x1c02c: 0x6d41a820, 0x1c02d: 0x6c374a20, 0x1c02e: 0x6c378e20, 0x1c02f: 0x6d1fb820, + 0x1c030: 0x6c380c20, 0x1c031: 0x6c45e220, 0x1c032: 0x6c77a620, 0x1c033: 0x6c81ac20, + 0x1c034: 0x6d2d6a20, 0x1c035: 0x6c8aec20, 0x1c036: 0x6d19be20, 0x1c037: 0x6d104420, + 0x1c038: 0x6c50f220, 0x1c039: 0x6c449820, 0x1c03a: 0x6d172e20, 0x1c03b: 0x6cd34e20, + 0x1c03c: 0x6c43dc20, 0x1c03d: 0x6d28fc20, 0x1c03e: 0x6c943620, 0x1c03f: 0x6c3e3420, + // Block 0x701, offset 0x1c040 + 0x1c040: 0x6c6aa620, 0x1c041: 0x6c525c20, 0x1c042: 0x6c4b3e20, 0x1c043: 0x6ce21020, + 0x1c044: 0x6c49e420, 0x1c045: 0x6ceef420, 0x1c046: 0x6c7b9820, 0x1c047: 0x6cc79620, + 0x1c048: 0x6c01ac20, 0x1c049: 0x6c012020, 0x1c04a: 0x6c734a20, 0x1c04b: 0x6d14c420, + 0x1c04c: 0x6d3cf820, 0x1c04d: 0x6c7a3620, 0x1c04e: 0x6d35bc20, 0x1c04f: 0x6cbf0420, + 0x1c050: 0x6ce73020, 0x1c051: 0x6cca6c20, 0x1c052: 0x6cca6a20, 0x1c053: 0x6c586a20, + 0x1c054: 0x6c710420, 0x1c055: 0x6c6fea20, 0x1c056: 0x6d094c20, 0x1c057: 0x6c34e020, + 0x1c058: 0x6d3c7c20, 0x1c059: 0x6d20f220, 0x1c05a: 0x6d296420, + 0x1c05c: 0x6d1ba620, 0x1c05d: 0x6c6c1820, 0x1c05e: 0x6c8f6220, 0x1c05f: 0x6d2e5020, + 0x1c060: 0x6d0ade20, 0x1c061: 0x6cc52620, 0x1c062: 0x6d313a20, 0x1c063: 0x6c295e20, + 0x1c064: 0x6cb4de20, 0x1c065: 0x6cbbd820, 0x1c066: 0x6c578c20, 0x1c067: 0x6c4b4020, + 0x1c068: 0x6c67a220, 0x1c069: 0x6d3c1220, 0x1c06a: 0x6d09f820, 0x1c06b: 0x6cdd1620, + 0x1c06c: 0x6ccbe620, 0x1c06d: 0x6d314e20, 0x1c06e: 0x6c069a20, 0x1c06f: 0x6ce64020, + 0x1c070: 0x6c7df220, 0x1c071: 0x6c6e7020, 0x1c072: 0x6cb3c220, 0x1c073: 0x6c07b020, + 0x1c074: 0x6c3e4e20, 0x1c075: 0x6cc89a20, 0x1c076: 0x6ce7b620, 0x1c077: 0x6c742820, + 0x1c078: 0x6cf5ec20, 0x1c079: 0x6c80ba20, 0x1c07a: 0x6c8f0420, 0x1c07b: 0x6c3c3c20, + 0x1c07c: 0x6cb4e820, 0x1c07d: 0x6cf1d420, 0x1c07e: 0x6c756c20, 0x1c07f: 0x6c41d620, + // Block 0x702, offset 0x1c080 + 0x1c080: 0x6cdaa220, 0x1c081: 0x6c894c20, 0x1c082: 0x6cc04620, 0x1c083: 0x6ce6be20, + 0x1c084: 0x6d1fc020, 0x1c085: 0x6c99ec20, 0x1c086: 0x6c052420, 0x1c087: 0x6c906620, + 0x1c088: 0x6cae6820, 0x1c089: 0x6d3c1620, 0x1c08a: 0x6c2c4020, 0x1c08b: 0x6d078c20, + 0x1c08c: 0x6ce8a220, 0x1c08d: 0x6d2a7e20, 0x1c08e: 0x6c022a20, 0x1c08f: 0x6c481020, + 0x1c090: 0x6c097a20, 0x1c091: 0x6c2b6820, 0x1c092: 0x6c4e0020, 0x1c093: 0x6d3f0820, + 0x1c094: 0x6d33d420, 0x1c095: 0x6cc5e620, 0x1c096: 0x6c070e20, 0x1c097: 0x6c450820, + 0x1c098: 0x6c658620, 0x1c099: 0x6c591020, 0x1c09a: 0x6ced0a20, 0x1c09b: 0x6caaba20, + 0x1c09c: 0x6c634a20, 0x1c09d: 0x6ce57c20, 0x1c09e: 0x6c61ee20, 0x1c09f: 0x6cfeb220, + 0x1c0a0: 0x6c938e20, 0x1c0a1: 0x6c5ce620, 0x1c0a2: 0x6cce6820, 0x1c0a3: 0x6c133020, + 0x1c0a4: 0x6c3b6c20, 0x1c0a5: 0x6cd91a20, 0x1c0a6: 0x6c9c0220, 0x1c0a7: 0x6cf3c020, + 0x1c0a8: 0x6c83bc20, 0x1c0a9: 0x6c83be20, 0x1c0aa: 0x6c311020, 0x1c0ab: 0x6cbdd020, + 0x1c0ac: 0x6d1cea20, 0x1c0ad: 0x6cdd1820, 0x1c0ae: 0x6c708c20, 0x1c0af: 0x6ce2ea20, + 0x1c0b0: 0x6d019020, 0x1c0b1: 0x6c7da820, 0x1c0b2: 0x6d3d5020, 0x1c0b3: 0x6cd4ca20, + 0x1c0b4: 0x6c14c020, 0x1c0b5: 0x6c394220, 0x1c0b6: 0x6cefae20, 0x1c0b7: 0x6c6e7220, + 0x1c0b8: 0x6c83c020, 0x1c0b9: 0x6c0d3220, 0x1c0ba: 0x6cfa6420, 0x1c0bb: 0x6c3d1020, + 0x1c0bc: 0x6ce21c20, 0x1c0bd: 0x6d35e220, 0x1c0be: 0x6c7efa20, 0x1c0bf: 0x6c87fc20, + // Block 0x703, offset 0x1c0c0 + 0x1c0c0: 0x6c658820, 0x1c0c1: 0x6d3cfc20, 0x1c0c2: 0x6c8ce620, 0x1c0c3: 0x6c83d420, + 0x1c0c4: 0x6cb79220, 0x1c0c5: 0x6c0e2220, 0x1c0c6: 0x6c94f820, 0x1c0c7: 0x6c231620, + 0x1c0c8: 0x6cba5420, 0x1c0c9: 0x6c9dc420, 0x1c0ca: 0x6cb5e620, 0x1c0cb: 0x6cb5e820, + 0x1c0cc: 0x6c114620, 0x1c0cd: 0x6c4bf820, 0x1c0ce: 0x6c14f420, 0x1c0cf: 0x6c2a7020, + 0x1c0d0: 0x6c3a5820, 0x1c0d1: 0x6cabfe20, 0x1c0d2: 0x6c057020, 0x1c0d3: 0x6c057220, + 0x1c0d4: 0x6c5cca20, 0x1c0d5: 0x6d3f8e20, 0x1c0d6: 0x6c1a0020, 0x1c0d7: 0x6d2a4c20, + 0x1c0d8: 0x6c603820, 0x1c0d9: 0x6c861020, 0x1c0da: 0x6caea020, 0x1c0db: 0x6d233e20, + 0x1c0dc: 0x6d234020, 0x1c0dd: 0x6c481420, 0x1c0de: 0x6c75ba20, 0x1c0df: 0x6c307620, + 0x1c0e0: 0x6ce0f620, 0x1c0e1: 0x6c428020, 0x1c0e2: 0x6cee1a20, 0x1c0e3: 0x6c2c5620, + 0x1c0e4: 0x6c262a20, 0x1c0e5: 0x6c389c20, 0x1c0e6: 0x6c195c20, 0x1c0e7: 0x6d2e6220, + 0x1c0e8: 0x6cb6fe20, 0x1c0e9: 0x6d24f620, 0x1c0ea: 0x6d0d8820, 0x1c0eb: 0x6d234220, + 0x1c0ec: 0x6cc29e20, 0x1c0ed: 0x6d17a020, 0x1c0ee: 0x6ccbaa20, 0x1c0ef: 0x6cc59820, + 0x1c0f0: 0x6c20d220, 0x1c0f1: 0x6c837820, 0x1c0f2: 0x6cb4f420, 0x1c0f3: 0x6d3d0220, + 0x1c0f4: 0x6c3e7a20, 0x1c0f5: 0x6c77f820, 0x1c0f6: 0x6c7f0820, 0x1c0f7: 0x6d405220, + 0x1c0f8: 0x6d405420, 0x1c0f9: 0x6d2fb220, 0x1c0fa: 0x6c491620, 0x1c0fb: 0x6c3b2a20, + 0x1c0fc: 0x6c3b7420, 0x1c0fd: 0x6ccfe620, 0x1c0fe: 0x6cbe7c20, 0x1c0ff: 0x6ca5e420, + // Block 0x704, offset 0x1c100 + 0x1c100: 0x6ced1c20, 0x1c101: 0x6c4cc020, 0x1c102: 0x6c925420, 0x1c103: 0x6c4fc620, + 0x1c104: 0x6c6a1620, 0x1c105: 0x6d15f020, 0x1c106: 0x6c1dae20, 0x1c107: 0x6c71b620, + 0x1c108: 0x6c712220, 0x1c109: 0x6c1a0220, 0x1c10a: 0x6d423a20, 0x1c10b: 0x6c895420, + 0x1c10c: 0x6cbab820, 0x1c10d: 0x6d346020, 0x1c10e: 0x6c20d420, 0x1c10f: 0x6d0af020, + 0x1c110: 0x6c709220, 0x1c111: 0x6c06a020, 0x1c112: 0x6c684620, 0x1c113: 0x6d3d6020, + 0x1c114: 0x6d3e3a20, 0x1c115: 0x6c0d3820, 0x1c116: 0x6caea220, 0x1c117: 0x6c2fa620, + 0x1c118: 0x6c1eda20, 0x1c119: 0x6c172e20, 0x1c11a: 0x6c9b0620, 0x1c11b: 0x6c57dc20, + 0x1c11c: 0x6c659420, 0x1c11d: 0x6c4a6820, 0x1c11e: 0x6cf88820, 0x1c11f: 0x6c319c20, + 0x1c120: 0x6cba5620, 0x1c121: 0x6c2a5820, 0x1c122: 0x6c4bb420, 0x1c123: 0x6c2da020, + 0x1c124: 0x6c954620, 0x1c125: 0x6d33e020, 0x1c126: 0x6cc38220, 0x1c127: 0x6ca04420, + 0x1c128: 0x6c40b220, 0x1c129: 0x6c454820, 0x1c12a: 0x6caf1220, 0x1c12b: 0x6d2dee20, + 0x1c12c: 0x6d199420, 0x1c12d: 0x6ceb7e20, 0x1c12e: 0x6ccbac20, 0x1c12f: 0x6c349a20, + 0x1c130: 0x6d125e20, 0x1c131: 0x6c400c20, 0x1c132: 0x6cefda20, 0x1c133: 0x6cee9a20, + 0x1c134: 0x6c32c820, 0x1c135: 0x6c641a20, 0x1c136: 0x6d3f9a20, 0x1c137: 0x6c64b220, + 0x1c138: 0x6d151a20, 0x1c139: 0x6cd0ae20, 0x1c13a: 0x6cf78620, 0x1c13b: 0x6d0e8220, + 0x1c13c: 0x6d0da220, 0x1c13d: 0x6c200020, 0x1c13e: 0x6c64b420, 0x1c13f: 0x6c210c20, + // Block 0x705, offset 0x1c140 + 0x1c140: 0x6d226a20, 0x1c141: 0x6c513a20, 0x1c142: 0x6d2be020, 0x1c143: 0x6cf2fa20, + 0x1c144: 0x6cb11420, 0x1c145: 0x6c087a20, 0x1c146: 0x6d10ac20, 0x1c147: 0x6c5dd020, + 0x1c148: 0x6d05b220, 0x1c149: 0x6cc92020, 0x1c14a: 0x6d0fc620, 0x1c14b: 0x6c7e7c20, + 0x1c14c: 0x6d0caa20, 0x1c14d: 0x6c079e20, 0x1c14e: 0x6c5ac420, 0x1c14f: 0x6c7c8a20, + 0x1c150: 0x6c6bea20, 0x1c151: 0x6c7c8c20, 0x1c152: 0x6cd7f220, 0x1c153: 0x6c3c5420, + 0x1c154: 0x6d004820, 0x1c155: 0x6ceb8220, 0x1c156: 0x6d35e420, 0x1c157: 0x6c668c20, + 0x1c158: 0x6ca29a20, 0x1c159: 0x6c999020, 0x1c15a: 0x6c1f9420, 0x1c15b: 0x6c569e20, + 0x1c15c: 0x6c556c20, 0x1c15d: 0x6c890420, 0x1c15e: 0x6c837a20, 0x1c15f: 0x6ce67e20, + 0x1c160: 0x6ca40220, 0x1c161: 0x6d215220, 0x1c162: 0x6d1f4620, 0x1c163: 0x6c9a0820, + 0x1c164: 0x6cd96620, 0x1c165: 0x6d089a20, 0x1c166: 0x6d089c20, 0x1c167: 0x6d101e20, + 0x1c168: 0x6d316620, 0x1c169: 0x6cb11620, 0x1c16a: 0x6d12fe20, 0x1c16b: 0x6c605220, + 0x1c16c: 0x6c6ae620, 0x1c16d: 0x6d130020, 0x1c16e: 0x6c1ee020, 0x1c16f: 0x6c33fa20, + 0x1c170: 0x6d212820, 0x1c171: 0x6d408a20, 0x1c172: 0x6cee9c20, 0x1c173: 0x6c9a0a20, + 0x1c174: 0x6ce40220, 0x1c175: 0x6c603a20, 0x1c176: 0x6c6ae820, 0x1c177: 0x6c766220, + 0x1c178: 0x6cbfb420, 0x1c179: 0x6d1c7e20, 0x1c17a: 0x6cc77a20, 0x1c17b: 0x6c59d020, + 0x1c17c: 0x6c909620, 0x1c17d: 0x6c822220, 0x1c17e: 0x6cc38420, 0x1c17f: 0x6cfe7620, + // Block 0x706, offset 0x1c180 + 0x1c180: 0x6cb23c20, 0x1c181: 0x6cd41820, 0x1c182: 0x6c414420, 0x1c183: 0x6cdfe820, + 0x1c184: 0x6c802e20, 0x1c185: 0x6cf15620, 0x1c186: 0x6d215420, 0x1c187: 0x6c192c20, + 0x1c188: 0x6c935620, 0x1c189: 0x6c71be20, 0x1c18a: 0x6cd0cc20, 0x1c18b: 0x6c1f9620, + 0x1c18c: 0x6cb0ea20, 0x1c18d: 0x6d01d420, 0x1c18e: 0x6c642420, 0x1c18f: 0x6d182420, + 0x1c190: 0x6d2e0220, 0x1c191: 0x6c3ec020, 0x1c192: 0x6cab0620, 0x1c193: 0x6c9d6620, + 0x1c194: 0x6c80c220, 0x1c195: 0x6cc69020, 0x1c196: 0x6c47ae20, 0x1c197: 0x6c66a820, + 0x1c198: 0x6c71c020, 0x1c199: 0x6cddf220, 0x1c19a: 0x6d11c020, 0x1c19b: 0x6d317a20, + 0x1c19c: 0x6c055220, 0x1c19d: 0x6ccc0820, 0x1c19e: 0x6d259220, 0x1c19f: 0x6d3f2020, + 0x1c1a0: 0x6ca01020, 0x1c1a1: 0x6cdae620, 0x1c1a2: 0x6c644c20, 0x1c1a3: 0x6d112020, + 0x1c1a4: 0x6c6b0a20, 0x1c1a5: 0x6c5a7420, 0x1c1a6: 0x6c422a20, 0x1c1a7: 0x6c3a6220, + 0x1c1a8: 0x6d2cd020, 0x1c1a9: 0x6cb9ae20, 0x1c1aa: 0x6c96ce20, 0x1c1ab: 0x6cdcf420, + 0x1c1ac: 0x6d259420, 0x1c1ad: 0x6d01d620, 0x1c1ae: 0x6cc69220, 0x1c1af: 0x6cd27c20, + 0x1c1b0: 0x6d33fe20, 0x1c1b1: 0x6c24de20, 0x1c1b2: 0x6d27ba20, 0x1c1b3: 0x6ce68020, + 0x1c1b4: 0x6c8e7a20, 0x1c1b5: 0x6cc68620, 0x1c1b6: 0x6ce10e20, 0x1c1b7: 0x6cc3de20, + 0x1c1b8: 0x6d2cfa20, 0x1c1b9: 0x6cd80220, 0x1c1ba: 0x6cd17420, 0x1c1bb: 0x6cde7020, + 0x1c1bc: 0x6c781420, 0x1c1bd: 0x6cf66c20, 0x1c1be: 0x6c479c20, 0x1c1bf: 0x6cb51020, + // Block 0x707, offset 0x1c1c0 + 0x1c1c0: 0x6c431020, 0x1c1c1: 0x6c431220, 0x1c1c2: 0x6cdcdc20, 0x1c1c3: 0x6cac6620, + 0x1c1c4: 0x6ce1da20, 0x1c1c5: 0x6c441220, 0x1c1c6: 0x6d0a1a20, 0x1c1c7: 0x6c2cd420, + 0x1c1c8: 0x6caa2420, 0x1c1c9: 0x6c606420, 0x1c1ca: 0x6cd78c20, 0x1c1cb: 0x6c46c220, + 0x1c1cc: 0x6c20d820, 0x1c1cd: 0x6cbacc20, 0x1c1ce: 0x6c13ec20, 0x1c1cf: 0x6cba1620, + 0x1c1d0: 0x6c57ec20, 0x1c1d1: 0x6c9a1820, 0x1c1d2: 0x6d070a20, 0x1c1d3: 0x6c42ac20, + 0x1c1d4: 0x6c42cc20, 0x1c1d5: 0x6d3d8020, 0x1c1d6: 0x6ceb3620, 0x1c1d7: 0x6cbc7420, + 0x1c1d8: 0x6d105c20, 0x1c1d9: 0x6c2cd620, 0x1c1da: 0x6c642620, 0x1c1db: 0x6c76e220, + 0x1c1dc: 0x6d41be20, 0x1c1dd: 0x6c2a5a20, 0x1c1de: 0x6c907220, 0x1c1df: 0x6c0d4420, + 0x1c1e0: 0x6d39ba20, 0x1c1e1: 0x6ccaa420, 0x1c1e2: 0x6cf79c20, 0x1c1e3: 0x6c5f1420, + 0x1c1e4: 0x6c882220, 0x1c1e5: 0x6c5c1620, 0x1c1e6: 0x6d1da420, 0x1c1e7: 0x6cba7420, + 0x1c1e8: 0x6c4cc220, 0x1c1e9: 0x6c414620, 0x1c1ea: 0x6c415020, 0x1c1eb: 0x6ce95820, + 0x1c1ec: 0x6c57bc20, 0x1c1ed: 0x6cb52020, 0x1c1ee: 0x6ccbae20, 0x1c1ef: 0x6c24e220, + 0x1c1f0: 0x6caeb220, 0x1c1f1: 0x6d1fe420, 0x1c1f2: 0x6c559020, 0x1c1f3: 0x6c67b620, + 0x1c1f4: 0x6c56be20, 0x1c1f5: 0x6c594a20, 0x1c1f6: 0x6c4b6820, 0x1c1f7: 0x6ca85e20, + 0x1c1f8: 0x6d185220, 0x1c1f9: 0x6c42d820, 0x1c1fa: 0x6c774420, 0x1c1fb: 0x6c4a8620, + 0x1c1fc: 0x6c4a8820, 0x1c1fd: 0x6c128a20, 0x1c1fe: 0x6c97fa20, 0x1c1ff: 0x6c6cac20, + // Block 0x708, offset 0x1c200 + 0x1c200: 0x6c2b4020, 0x1c201: 0x6d3c2220, 0x1c202: 0x6c822620, 0x1c203: 0x6c810a20, + 0x1c204: 0x6c18dc20, 0x1c205: 0x6c233a20, 0x1c206: 0x6c841820, 0x1c207: 0x6d04e220, + 0x1c208: 0x6cbe8620, 0x1c209: 0x6cd6da20, 0x1c20a: 0x6c38b220, 0x1c20b: 0x6ce7c220, + 0x1c20c: 0x6c499e20, 0x1c20d: 0x6d2ae820, 0x1c20e: 0x6cdafc20, 0x1c20f: 0x6c82d020, + 0x1c210: 0x6c91d220, 0x1c211: 0x6c896620, 0x1c212: 0x6c9d7820, 0x1c213: 0x6c90b020, + 0x1c214: 0x6c177420, 0x1c215: 0x6cdafe20, 0x1c216: 0x6c782220, 0x1c217: 0x6c1e6620, + 0x1c218: 0x6ce12020, 0x1c219: 0x6c0c1620, 0x1c21a: 0x6c92a220, 0x1c21b: 0x6c6f8420, + 0x1c21c: 0x6d30fc20, 0x1c21d: 0x6d2bf620, 0x1c21e: 0x6cd50020, 0x1c21f: 0x6d2ed620, + 0x1c220: 0x6c977020, 0x1c221: 0x6ca06a20, 0x1c222: 0x6ca7a820, 0x1c223: 0x6d106a20, + 0x1c224: 0x6ce59820, 0x1c225: 0x6caeb420, 0x1c226: 0x6d3b1e20, 0x1c227: 0x6ccc0e20, + 0x1c228: 0x6cf6c020, 0x1c229: 0x6cc31020, 0x1c22a: 0x6c526c20, 0x1c22b: 0x6c64ce20, + 0x1c22c: 0x6c233c20, 0x1c22d: 0x6c630e20, 0x1c22e: 0x6d0f3a20, 0x1c22f: 0x6cbb1820, + 0x1c230: 0x6d098820, 0x1c231: 0x6d1be420, 0x1c232: 0x6c37de20, 0x1c233: 0x6d0a3c20, + 0x1c234: 0x6d349820, 0x1c235: 0x6cbbf620, 0x1c236: 0x6d417c20, 0x1c237: 0x6c23b420, + 0x1c238: 0x6cb49620, 0x1c239: 0x6cd60a20, 0x1c23a: 0x6c57ae20, 0x1c23b: 0x6c7d1e20, + 0x1c23c: 0x6d319020, 0x1c23d: 0x6d41f220, 0x1c23e: 0x6d26ec20, 0x1c23f: 0x6ccdac20, + // Block 0x709, offset 0x1c240 + 0x1c240: 0x6cf6c420, 0x1c241: 0x6c211420, 0x1c242: 0x6c2d8020, 0x1c243: 0x6c382620, + 0x1c244: 0x6c41e620, 0x1c245: 0x6ca07620, 0x1c246: 0x6cf47a20, 0x1c247: 0x6cbbaa20, + 0x1c248: 0x6cc52c20, 0x1c249: 0x6c8c6020, 0x1c24a: 0x6c8e9620, 0x1c24b: 0x6cbbf820, + 0x1c24c: 0x6cfd0c20, 0x1c24d: 0x6cc90820, 0x1c24e: 0x6c38ba20, 0x1c24f: 0x6d2e1420, + 0x1c250: 0x6ceb4820, 0x1c251: 0x6c81bc20, 0x1c252: 0x6d27c620, 0x1c253: 0x6cd75a20, + 0x1c254: 0x6c33ae20, 0x1c255: 0x6c199220, 0x1c256: 0x6ce13220, 0x1c257: 0x6c9b3820, + 0x1c258: 0x6c715a20, 0x1c259: 0x6c1a4220, 0x1c25a: 0x6cdb3020, 0x1c25b: 0x6c74ba20, + 0x1c25c: 0x6c74bc20, 0x1c25d: 0x6c2d8220, 0x1c25e: 0x6c5c3020, 0x1c25f: 0x6c5f3020, + 0x1c260: 0x6caae020, 0x1c261: 0x6cfe4e20, 0x1c262: 0x6ceb8e20, 0x1c263: 0x6ca94620, + 0x1c264: 0x6cc8b020, 0x1c265: 0x6d39c420, 0x1c266: 0x6ce78620, 0x1c267: 0x6d2b8e20, + 0x1c268: 0x6c3b9420, 0x1c269: 0x6cbf6020, 0x1c26a: 0x6cc4d220, 0x1c26b: 0x6c526e20, + 0x1c26c: 0x6cb9c820, 0x1c26d: 0x6c472e20, 0x1c26e: 0x6c8f1a20, 0x1c26f: 0x6c81e020, + 0x1c270: 0x6c42dc20, 0x1c271: 0x6c1eae20, 0x1c272: 0x6cf94620, 0x1c273: 0x6cd18820, + 0x1c274: 0x6d3f6c20, 0x1c275: 0x6cca6820, 0x1c276: 0x6c60a620, 0x1c277: 0x6c30c620, + 0x1c278: 0x6c6eca20, 0x1c279: 0x6c91dc20, 0x1c27a: 0x6c673c20, 0x1c27b: 0x6c1f9820, + 0x1c27c: 0x6d25aa20, 0x1c27d: 0x6cde9c20, 0x1c27e: 0x6cd50c20, 0x1c27f: 0x6c678220, + // Block 0x70a, offset 0x1c280 + 0x1c280: 0x6ce01820, 0x1c281: 0x6c8c3820, 0x1c282: 0x6ca9cc20, 0x1c283: 0x6d1b0620, + 0x1c284: 0x6cf7a820, 0x1c285: 0x6cdc8020, 0x1c286: 0x6ccd1020, 0x1c287: 0x6d41d020, + 0x1c288: 0x6d082a20, 0x1c289: 0x6c199a20, 0x1c28a: 0x6c423420, 0x1c28b: 0x6c716220, + 0x1c28c: 0x6d41d820, 0x1c28d: 0x6d18c620, 0x1c28e: 0x6cbda220, 0x1c28f: 0x6cb49c20, + 0x1c290: 0x6d0cd620, 0x1c291: 0x6c826020, 0x1c292: 0x6c3c6a20, 0x1c293: 0x6c5b6c20, + 0x1c294: 0x6c299220, 0x1c295: 0x6c629620, 0x1c296: 0x6cdc7020, 0x1c297: 0x6c0ff820, + 0x1c298: 0x6cb2d420, 0x1c299: 0x6c1a4420, 0x1c29a: 0x6c1ef020, 0x1c29b: 0x6d3b5a20, + 0x1c29c: 0x6c4b7c20, 0x1c29d: 0x6c60aa20, 0x1c29e: 0x6c6ba020, 0x1c29f: 0x6c643020, + 0x1c2a0: 0x6cbe8e20, 0x1c2a1: 0x6d2d2020, 0x1c2a2: 0x6c65e020, 0x1c2a3: 0x6cbb2820, + 0x1c2a4: 0x6c2a3420, 0x1c2a5: 0x6d161a20, 0x1c2a6: 0x6c0c8220, 0x1c2a7: 0x6cd93a20, + 0x1c2a8: 0x6ccefe20, 0x1c2a9: 0x6c8c3a20, 0x1c2aa: 0x6c87e420, 0x1c2ab: 0x6c140e20, + 0x1c2ac: 0x6c9b5c20, 0x1c2ad: 0x6d1aa020, 0x1c2ae: 0x6ce24820, 0x1c2af: 0x6cdf4e20, + 0x1c2b0: 0x6c9de020, 0x1c2b1: 0x6cb67020, 0x1c2b2: 0x6ce96820, 0x1c2b3: 0x6c0d5c20, + 0x1c2b4: 0x6c5e0820, 0x1c2b5: 0x6c62aa20, 0x1c2b6: 0x6cb93420, 0x1c2b7: 0x6ca65820, + 0x1c2b8: 0x6ca92a20, 0x1c2b9: 0x6d142220, 0x1c2ba: 0x6c432a20, 0x1c2bb: 0x6c76f620, + 0x1c2bc: 0x6d1b9220, 0x1c2bd: 0x6caa2c20, 0x1c2be: 0x6cbeba20, 0x1c2bf: 0x6d0de620, + // Block 0x70b, offset 0x1c2c0 + 0x1c2c0: 0x6cb67220, 0x1c2c1: 0x6c9d9e20, 0x1c2c2: 0x6d2fe820, 0x1c2c3: 0x6c4b8820, + 0x1c2c4: 0x6c212220, 0x1c2c5: 0x6c5f6a20, 0x1c2c6: 0x6c7ca420, 0x1c2c7: 0x6cb33c20, + 0x1c2c8: 0x6c2af020, 0x1c2c9: 0x6c1eba20, 0x1c2ca: 0x6c449020, 0x1c2cb: 0x6c9de420, + 0x1c2cc: 0x6d1ec220, 0x1c2cd: 0x6d373e20, 0x1c2ce: 0x6c5a6620, 0x1c2cf: 0x6cb93e20, + 0x1c2d0: 0x6c82f420, 0x1c2d1: 0x6c827020, 0x1c2d2: 0x6cc9a820, 0x1c2d3: 0x6c91f220, + 0x1c2d4: 0x6c86cc20, 0x1c2d5: 0x6c24a220, 0x1c2d6: 0x6c941220, 0x1c2d7: 0x6c9efc20, + 0x1c2d8: 0x6c5c7a20, 0x1c2d9: 0x6cab5c20, 0x1c2da: 0x6c916220, 0x1c2db: 0x6d370620, + 0x1c2dc: 0x6c42ea20, 0x1c2dd: 0x6c31d020, 0x1c2de: 0x6d25c620, 0x1c2df: 0x6c86f620, + 0x1c2e0: 0x6c3ae820, 0x1c2e1: 0x6d3dba20, 0x1c2e2: 0x6cda3420, 0x1c2e3: 0x6c886020, + 0x1c2e4: 0x6c681c20, 0x1c2e5: 0x6c1ec420, 0x1c2e6: 0x6cbeec20, 0x1c2e7: 0x6d39e020, + 0x1c2e8: 0x6c918020, 0x1c2e9: 0x6d0cfc20, 0x1c2ea: 0x6c871a20, 0x1c2eb: 0x6d39de20, + 0x1c2ec: 0x6c193e20, 0x1c2ed: 0x6c6b5a20, 0x1c2ee: 0x6c36d820, 0x1c2ef: 0x6cda6820, + 0x1c2f0: 0x6c580020, 0x1c2f1: 0x6ca8a220, 0x1c2f2: 0x6d244e20, 0x1c2f3: 0x6c8fdc20, + 0x1c2f4: 0x6c7f7420, 0x1c2f5: 0x6c69f020, 0x1c2f6: 0x6cfc4620, 0x1c2f7: 0x6c4aa820, + 0x1c2f8: 0x6c71de20, 0x1c2f9: 0x6cff4820, 0x1c2fa: 0x6c8d9a20, 0x1c2fb: 0x6d1c2a20, + 0x1c2fc: 0x6c653c20, 0x1c2fd: 0x6d1b2420, 0x1c2fe: 0x6d1f9620, 0x1c2ff: 0x6d1cc420, + // Block 0x70c, offset 0x1c300 + 0x1c300: 0x6cfd9a20, 0x1c301: 0x6ca9e020, 0x1c302: 0x6c0fb620, 0x1c303: 0x6c156020, + 0x1c304: 0x6c7ff820, 0x1c305: 0x6c71e220, 0x1c306: 0x6cd6b220, 0x1c307: 0x6ccf9020, + 0x1c308: 0x6cef7420, 0x1c309: 0x6c23cc20, 0x1c30a: 0x6cc33020, 0x1c30b: 0x6cc20620, + 0x1c30c: 0x6c126220, 0x1c30d: 0x6c704820, 0x1c30e: 0x6d247a20, 0x1c30f: 0x6c957e20, + 0x1c310: 0x6c878a20, 0x1c311: 0x6c24a820, 0x1c312: 0x6c945c20, 0x1c313: 0x6c294420, + 0x1c314: 0x6c752820, 0x1c315: 0x6d0f3e20, 0x1c316: 0x6c806420, 0x1c317: 0x6c800e20, + 0x1c318: 0x6d3a4620, 0x1c319: 0x6c82a220, 0x1c31a: 0x6c855420, 0x1c31b: 0x6c03e020, + 0x1c31c: 0x6ca46620, 0x1c31d: 0x6d249220, 0x1c31e: 0x6c8dd820, 0x1c31f: 0x6c4a3020, + 0x1c320: 0x6cba3820, 0x1c321: 0x6c22aa20, 0x1c322: 0x6c596a20, 0x1c323: 0x6d02b620, + 0x1c324: 0x6d20b820, 0x1c325: 0x6d16be20, 0x1c326: 0x6cb8b220, 0x1c327: 0x6cab3020, + 0x1c328: 0x6d057820, 0x1c329: 0x6c173c20, 0x1c32a: 0x6c1f1a20, 0x1c32b: 0x6cb78020, + 0x1c32c: 0x6c768220, 0x1c32d: 0x6d173020, 0x1c32e: 0x6c741420, 0x1c32f: 0x6cf87020, + 0x1c330: 0x6d06a420, 0x1c331: 0x6c509820, 0x1c332: 0x6d231420, 0x1c333: 0x6c7cf220, + 0x1c334: 0x6c80ac20, 0x1c335: 0x6c7b6220, 0x1c336: 0x6cd77c20, 0x1c337: 0x6cf5ee20, + 0x1c338: 0x6c002220, 0x1c339: 0x6d13f420, 0x1c33a: 0x6cb4f620, 0x1c33b: 0x6c1f9e20, + 0x1c33c: 0x6c1ba620, 0x1c33d: 0x6cbd3020, 0x1c33e: 0x6c7b6620, 0x1c33f: 0x6c76d420, + // Block 0x70d, offset 0x1c340 + 0x1c340: 0x6c7b6820, 0x1c341: 0x6c76dc20, 0x1c342: 0x6c202220, 0x1c343: 0x6ccc5a20, + 0x1c344: 0x6c485a20, 0x1c345: 0x6d19ea20, 0x1c346: 0x6d02de20, 0x1c347: 0x6d004a20, + 0x1c348: 0x6d215620, 0x1c349: 0x6cba6820, 0x1c34a: 0x6cfeec20, 0x1c34b: 0x6d131620, + 0x1c34c: 0x6c43a020, 0x1c34d: 0x6cf37420, 0x1c34e: 0x6ce0a820, 0x1c34f: 0x6c6d3e20, + 0x1c350: 0x6cab4820, 0x1c351: 0x6c54f820, 0x1c352: 0x6ce40e20, 0x1c353: 0x6c582c20, + 0x1c354: 0x6d05d420, 0x1c355: 0x6cae3820, 0x1c356: 0x6cf81020, 0x1c357: 0x6d000820, + 0x1c358: 0x6c1fa220, 0x1c359: 0x6ccf7820, 0x1c35a: 0x6ccdae20, 0x1c35b: 0x6c4dbe20, + 0x1c35c: 0x6c1f7e20, 0x1c35d: 0x6d18c820, 0x1c35e: 0x6c36c420, 0x1c35f: 0x6d21b420, + 0x1c360: 0x6c21e220, 0x1c361: 0x6c596e20, 0x1c362: 0x6d34cc20, 0x1c363: 0x6d333620, + 0x1c364: 0x6c228a20, 0x1c365: 0x6c105e20, 0x1c366: 0x6cf42c20, 0x1c367: 0x6cb58420, + 0x1c368: 0x6c106e20, 0x1c369: 0x6c107020, 0x1c36a: 0x6cec4e20, 0x1c36b: 0x6c721220, + 0x1c36c: 0x6cb97e20, 0x1c36d: 0x6c1b1620, 0x1c36e: 0x6ccb2a20, 0x1c36f: 0x6c1ba820, + 0x1c370: 0x6ccb3620, 0x1c371: 0x6d37fa20, 0x1c372: 0x6cdc4620, 0x1c373: 0x6cdc4820, + 0x1c374: 0x6c864c20, 0x1c375: 0x6c263420, 0x1c376: 0x6d218220, 0x1c377: 0x6c867c20, + 0x1c378: 0x6c4a9a20, 0x1c379: 0x6c271220, 0x1c37a: 0x6c35ca20, 0x1c37b: 0x6cd86c20, + 0x1c37c: 0x6c646420, 0x1c37d: 0x6d301c20, 0x1c37e: 0x6ca0cc20, 0x1c37f: 0x6ca0ce20, + // Block 0x70e, offset 0x1c380 + 0x1c380: 0x6d109220, 0x1c381: 0x6ca0d020, 0x1c382: 0x6c242020, 0x1c383: 0x6d0f5020, + 0x1c384: 0x6ce4da20, 0x1c385: 0x6cd0ee20, 0x1c386: 0x6c274820, 0x1c387: 0x6cce0020, + 0x1c388: 0x6d06a620, 0x1c389: 0x6d0a7c20, 0x1c38a: 0x6cd4ba20, 0x1c38b: 0x6c118c20, + 0x1c38c: 0x6c742a20, 0x1c38d: 0x6cb19420, 0x1c38e: 0x6cb85c20, 0x1c38f: 0x6cc04820, + 0x1c390: 0x6cdaa420, 0x1c391: 0x6cbe7820, 0x1c392: 0x6d27e620, 0x1c393: 0x6c88ee20, + 0x1c394: 0x6d17a220, 0x1c395: 0x6c3d2a20, 0x1c396: 0x6d346220, 0x1c397: 0x6d12f220, + 0x1c398: 0x6c119620, 0x1c399: 0x6c5cce20, 0x1c39a: 0x6c27e020, 0x1c39b: 0x6c603c20, + 0x1c39c: 0x6c2ebe20, 0x1c39d: 0x6d317c20, 0x1c39e: 0x6d27f220, 0x1c39f: 0x6cf15820, + 0x1c3a0: 0x6c1e4820, 0x1c3a1: 0x6c0d8220, 0x1c3a2: 0x6ce41220, 0x1c3a3: 0x6c6d4020, + 0x1c3a4: 0x6cce1620, 0x1c3a5: 0x6d1a9220, 0x1c3a6: 0x6c2dda20, 0x1c3a7: 0x6c702220, + 0x1c3a8: 0x6c5c3220, 0x1c3a9: 0x6c24b020, 0x1c3aa: 0x6d189820, 0x1c3ab: 0x6c27fc20, + 0x1c3ac: 0x6c327e20, 0x1c3ad: 0x6c678420, 0x1c3ae: 0x6c892020, 0x1c3af: 0x6c0d8c20, + 0x1c3b0: 0x6c31d220, 0x1c3b1: 0x6c674020, 0x1c3b2: 0x6c653e20, 0x1c3b3: 0x6cd49820, + 0x1c3b4: 0x6cab3220, 0x1c3b5: 0x6c32b620, 0x1c3b6: 0x6d3ac020, 0x1c3b7: 0x6d19c020, + 0x1c3b8: 0x6cbec820, 0x1c3b9: 0x6d175e20, 0x1c3ba: 0x6ccbda20, 0x1c3bb: 0x6cbc4020, + 0x1c3bc: 0x6c784e20, 0x1c3bd: 0x6cff8a20, 0x1c3be: 0x6d0a8e20, 0x1c3bf: 0x6c2d5e20, + // Block 0x70f, offset 0x1c3c0 + 0x1c3c0: 0x6c5b5620, 0x1c3c1: 0x6c5b5820, 0x1c3c2: 0x6c47a020, 0x1c3c3: 0x6cbb9020, + 0x1c3c4: 0x6c5f0620, 0x1c3c5: 0x6d185420, 0x1c3c6: 0x6cab4a20, 0x1c3c7: 0x6c5b6220, + 0x1c3c8: 0x6c32da20, 0x1c3c9: 0x6d142420, 0x1c3ca: 0x6cff5c20, 0x1c3cb: 0x6cf39c20, + 0x1c3cc: 0x6c497220, 0x1c3cd: 0x6ca22020, 0x1c3ce: 0x6c9a4820, 0x1c3cf: 0x6c9a4a20, + 0x1c3d0: 0x6c006020, 0x1c3d1: 0x6c6b9420, 0x1c3d2: 0x6c318820, 0x1c3d3: 0x6d239020, + 0x1c3d4: 0x6c08ac20, 0x1c3d5: 0x6c090a20, 0x1c3d6: 0x6c094e20, 0x1c3d7: 0x6cafc220, + 0x1c3d8: 0x6cafc420, 0x1c3d9: 0x6c095e20, 0x1c3da: 0x6c152c20, 0x1c3db: 0x6c98c020, + 0x1c3dc: 0x6c4fbc20, 0x1c3dd: 0x6c111a20, 0x1c3de: 0x6cafba20, 0x1c3df: 0x6c8b9020, + 0x1c3e0: 0x6c633820, 0x1c3e1: 0x6d2d6420, 0x1c3e2: 0x6cc9c020, 0x1c3e3: 0x6ca27620, + 0x1c3e4: 0x6ceb9e20, 0x1c3e5: 0x6d09fc20, 0x1c3e6: 0x6c379020, 0x1c3e7: 0x6cc66620, + 0x1c3e8: 0x6cfbfa20, 0x1c3e9: 0x6c710620, 0x1c3ea: 0x6ca21020, 0x1c3eb: 0x6c4fc420, + 0x1c3ec: 0x6cc04a20, 0x1c3ed: 0x6c311220, 0x1c3ee: 0x6ccbea20, 0x1c3ef: 0x6ce06020, + 0x1c3f0: 0x6cadd620, 0x1c3f1: 0x6c712420, 0x1c3f2: 0x6c343020, 0x1c3f3: 0x6c253c20, + 0x1c3f4: 0x6c087220, 0x1c3f5: 0x6cca0020, 0x1c3f6: 0x6cca6420, 0x1c3f7: 0x6c999420, + 0x1c3f8: 0x6cc9c820, 0x1c3f9: 0x6cd4ea20, 0x1c3fa: 0x6d208e20, 0x1c3fb: 0x6cebac20, + 0x1c3fc: 0x6c513c20, 0x1c3fd: 0x6c668e20, 0x1c3fe: 0x6cde7420, 0x1c3ff: 0x6cca0620, + // Block 0x710, offset 0x1c400 + 0x1c400: 0x6c935e20, 0x1c401: 0x6ca21620, 0x1c402: 0x6c98fa20, 0x1c403: 0x6ce78820, + 0x1c404: 0x6cc72220, 0x1c405: 0x6c16f820, 0x1c406: 0x6cb49820, 0x1c407: 0x6c934e20, + 0x1c408: 0x6d2da820, 0x1c409: 0x6ccafc20, 0x1c40a: 0x6d2daa20, 0x1c40b: 0x6c9b5e20, + 0x1c40c: 0x6c91f420, 0x1c40d: 0x6cc20820, 0x1c40e: 0x6c2f2220, 0x1c40f: 0x6cd2e420, + 0x1c410: 0x6c2b0a20, 0x1c411: 0x6c9f2620, 0x1c412: 0x6c73d220, 0x1c413: 0x6c983620, + 0x1c414: 0x6cb72620, 0x1c415: 0x6cb1c420, 0x1c416: 0x6ca39220, 0x1c417: 0x6cb72e20, + 0x1c418: 0x6c29bc20, 0x1c419: 0x6cfa7a20, 0x1c41a: 0x6c1fde20, 0x1c41b: 0x6c3b1a20, + 0x1c41c: 0x6d0f8820, 0x1c41d: 0x6ca58620, 0x1c41e: 0x6c0d9a20, 0x1c41f: 0x6c3e1020, + 0x1c420: 0x6ccfbc20, 0x1c421: 0x6c2fe620, 0x1c422: 0x6cbe3420, 0x1c423: 0x6cb76a20, + 0x1c424: 0x6d19c220, 0x1c425: 0x6cf5c020, 0x1c426: 0x6c4d6020, 0x1c427: 0x6d100e20, + 0x1c428: 0x6c012220, 0x1c429: 0x6d0b8e20, 0x1c42a: 0x6c78a620, 0x1c42b: 0x6cbe4420, + 0x1c42c: 0x6d0bb020, 0x1c42d: 0x6c300220, 0x1c42e: 0x6c288a20, 0x1c42f: 0x6c93e020, + 0x1c430: 0x6cbe7e20, 0x1c431: 0x6d102620, 0x1c432: 0x6d275620, 0x1c433: 0x6d275c20, + 0x1c434: 0x6cd70220, 0x1c435: 0x6cd73c20, 0x1c436: 0x6d331620, 0x1c437: 0x6c0da420, + 0x1c438: 0x6d1e0c20, 0x1c439: 0x6c294e20, 0x1c43a: 0x6cd73e20, 0x1c43b: 0x6c821020, + 0x1c43c: 0x6ca67820, 0x1c43d: 0x6cea7620, 0x1c43e: 0x6c391420, 0x1c43f: 0x6c4abc20, + // Block 0x711, offset 0x1c440 + 0x1c440: 0x6ce62620, 0x1c441: 0x6d338220, 0x1c442: 0x6cc00020, 0x1c443: 0x6c0d1e20, + 0x1c444: 0x6d2b3620, 0x1c445: 0x6c9dfc20, 0x1c446: 0x6c248c20, 0x1c447: 0x6c5b8820, + 0x1c448: 0x6c2dac20, 0x1c449: 0x6c4e7c20, 0x1c44a: 0x6c142c20, 0x1c44b: 0x6d3d2020, + 0x1c44c: 0x6c202a20, 0x1c44d: 0x6cecba20, 0x1c44e: 0x6c391c20, 0x1c44f: 0x6c26e820, + 0x1c450: 0x6cf57220, 0x1c451: 0x6cea9c20, 0x1c452: 0x6c982a20, 0x1c453: 0x6cbffa20, + 0x1c454: 0x6cb73020, 0x1c455: 0x6ccd6a20, 0x1c456: 0x6cb24220, 0x1c457: 0x6c4e8620, + 0x1c458: 0x6cb89a20, 0x1c459: 0x6cf34620, 0x1c45a: 0x6cf34820, 0x1c45b: 0x6d0a6620, + 0x1c45c: 0x6cd87a20, 0x1c45d: 0x6cc7f420, 0x1c45e: 0x6c45d420, 0x1c45f: 0x6c674220, + 0x1c460: 0x6c1af620, 0x1c461: 0x6cf34a20, 0x1c462: 0x6ce92c20, 0x1c463: 0x6c704220, + 0x1c464: 0x6ce0b820, 0x1c465: 0x6d338c20, 0x1c466: 0x6d34e820, 0x1c467: 0x6cb8a820, + 0x1c468: 0x6c9d1c20, 0x1c469: 0x6c475820, 0x1c46a: 0x6cedc420, 0x1c46b: 0x6c6e0e20, + 0x1c46c: 0x6c6e1020, 0x1c46d: 0x6cc8be20, 0x1c46e: 0x6c755a20, 0x1c46f: 0x6c52f820, + 0x1c470: 0x6cdf6020, 0x1c471: 0x6cc34e20, 0x1c472: 0x6c5fcc20, 0x1c473: 0x6c0b7020, + 0x1c474: 0x6c0b7220, 0x1c475: 0x6c420e20, 0x1c476: 0x6cf1fe20, 0x1c477: 0x6d378820, + 0x1c478: 0x6c398420, 0x1c479: 0x6d045620, 0x1c47a: 0x6c73e020, 0x1c47b: 0x6c561020, + 0x1c47c: 0x6ca96820, 0x1c47d: 0x6cb73820, 0x1c47e: 0x6c3b5620, 0x1c47f: 0x6d067220, + // Block 0x712, offset 0x1c480 + 0x1c480: 0x6d068420, 0x1c481: 0x6cbe0620, 0x1c482: 0x6d146220, 0x1c483: 0x6cf2ce20, + 0x1c484: 0x6d278020, 0x1c485: 0x6d253e20, 0x1c486: 0x6c4f9020, 0x1c487: 0x6d0d3e20, + 0x1c488: 0x6c189c20, 0x1c489: 0x6c189e20, 0x1c48a: 0x6c286820, 0x1c48b: 0x6d1eec20, + 0x1c48c: 0x6c33da20, 0x1c48d: 0x6c565820, 0x1c48e: 0x6c5d9c20, 0x1c48f: 0x6cb4cc20, + 0x1c490: 0x6ca26820, 0x1c491: 0x6caa7620, 0x1c492: 0x6c99d220, 0x1c493: 0x6c268220, + 0x1c494: 0x6c9e0020, 0x1c495: 0x6c9d1e20, 0x1c496: 0x6c1cae20, 0x1c497: 0x6cacce20, + 0x1c498: 0x6c08bc20, 0x1c499: 0x6ccbc420, 0x1c49a: 0x6d34ea20, 0x1c49b: 0x6cae0220, + 0x1c49c: 0x6cac9e20, 0x1c49d: 0x6d3c7620, 0x1c49e: 0x6d288420, 0x1c49f: 0x6c463820, + 0x1c4a0: 0x6c8e4220, 0x1c4a1: 0x6c99d420, 0x1c4a2: 0x6d2aa620, 0x1c4a3: 0x6c3c1c20, + 0x1c4a4: 0x6cab2e20, 0x1c4a5: 0x6c858020, 0x1c4a6: 0x6c94da20, 0x1c4a7: 0x6c122220, + 0x1c4a8: 0x6c3c1e20, 0x1c4a9: 0x6ceee020, 0x1c4aa: 0x6c565a20, 0x1c4ab: 0x6ca0d220, + 0x1c4ac: 0x6c9a7820, 0x1c4ad: 0x6cd59e20, 0x1c4ae: 0x6c71a620, 0x1c4af: 0x6d296220, + 0x1c4b0: 0x6ceab020, 0x1c4b1: 0x6ceaee20, 0x1c4b2: 0x6ceaf020, 0x1c4b3: 0x6c50c820, + 0x1c4b4: 0x6c859020, 0x1c4b5: 0x6c9cdc20, 0x1c4b6: 0x6d147220, 0x1c4b7: 0x6c37e420, + 0x1c4b8: 0x6c3a8820, 0x1c4b9: 0x6d1efe20, 0x1c4ba: 0x6ce48420, 0x1c4bb: 0x6d358a20, + 0x1c4bc: 0x6d2f8820, 0x1c4bd: 0x6c46f220, 0x1c4be: 0x6d2d6020, 0x1c4bf: 0x6d0c6820, + // Block 0x713, offset 0x1c4c0 + 0x1c4c0: 0x6cd7ce20, 0x1c4c1: 0x6c7be420, 0x1c4c2: 0x6c6ef820, 0x1c4c3: 0x6c705c20, + 0x1c4c4: 0x6d016020, 0x1c4c5: 0x6cc00620, 0x1c4c6: 0x6d16c220, 0x1c4c7: 0x6c632c20, + 0x1c4c8: 0x6d379a20, 0x1c4c9: 0x6cc2c220, 0x1c4ca: 0x6cb2fc20, 0x1c4cb: 0x6c5b9020, + 0x1c4cc: 0x6c9d2620, 0x1c4cd: 0x6c077e20, 0x1c4ce: 0x6d2aaa20, 0x1c4cf: 0x6d39f420, + 0x1c4d0: 0x6c821820, 0x1c4d1: 0x6d1e9820, 0x1c4d2: 0x6c46f420, 0x1c4d3: 0x6c530420, + 0x1c4d4: 0x6c417620, 0x1c4d5: 0x6c382e20, 0x1c4d6: 0x6c992e20, 0x1c4d7: 0x6cd89020, + 0x1c4d8: 0x6c54a620, 0x1c4d9: 0x6cb27a20, 0x1c4da: 0x6c229220, 0x1c4db: 0x6c392220, + 0x1c4dc: 0x6d339a20, 0x1c4dd: 0x6cda8020, 0x1c4de: 0x6ca95420, 0x1c4df: 0x6c195420, + 0x1c4e0: 0x6c8cac20, 0x1c4e1: 0x6cad8220, 0x1c4e2: 0x6c0e5220, 0x1c4e3: 0x6cb74620, + 0x1c4e4: 0x6cd88220, 0x1c4e5: 0x6ca5c020, 0x1c4e6: 0x6c70f620, 0x1c4e7: 0x6cc96a20, + 0x1c4e8: 0x6d3ab020, 0x1c4e9: 0x6cd0e220, 0x1c4ea: 0x6c832020, 0x1c4eb: 0x6d087020, + 0x1c4ec: 0x6c73f020, 0x1c4ed: 0x6c3df620, 0x1c4ee: 0x6caca220, 0x1c4ef: 0x6c9f9620, + 0x1c4f0: 0x6cdf6820, 0x1c4f1: 0x6d0f4a20, 0x1c4f2: 0x6c612020, 0x1c4f3: 0x6d1e1420, + 0x1c4f4: 0x6c497c20, 0x1c4f5: 0x6c083a20, 0x1c4f6: 0x6d090020, 0x1c4f7: 0x6c8f6c20, + 0x1c4f8: 0x6c913a20, 0x1c4f9: 0x6c28f420, 0x1c4fa: 0x6c95e020, 0x1c4fb: 0x6d016220, + 0x1c4fc: 0x6cb3c020, 0x1c4fd: 0x6d2aac20, 0x1c4fe: 0x6c6d9020, 0x1c4ff: 0x6d1a3c20, + // Block 0x714, offset 0x1c500 + 0x1c500: 0x6cac5420, 0x1c501: 0x6c6a9020, 0x1c502: 0x6d16f620, 0x1c503: 0x6c5a9820, + 0x1c504: 0x6c5b2620, 0x1c505: 0x6d293020, 0x1c506: 0x6c19ce20, 0x1c507: 0x6d19b420, + 0x1c508: 0x6ceeec20, 0x1c509: 0x6c546620, 0x1c50a: 0x6c665a20, 0x1c50b: 0x6d0f9820, + 0x1c50c: 0x6c8ad420, 0x1c50d: 0x6cd8a820, 0x1c50e: 0x6c61aa20, 0x1c50f: 0x6c374020, + 0x1c510: 0x6d03d020, 0x1c511: 0x6c3e1220, 0x1c512: 0x6cc94c20, 0x1c513: 0x6ccb1820, + 0x1c514: 0x6d350420, 0x1c515: 0x6d1b3e20, 0x1c516: 0x6cf3b620, 0x1c517: 0x6cf7d620, + 0x1c518: 0x6c77a420, 0x1c519: 0x6d398a20, 0x1c51a: 0x6c67da20, 0x1c51b: 0x6c95e820, + 0x1c51c: 0x6c95f420, 0x1c51d: 0x6c01a620, 0x1c51e: 0x6c306420, 0x1c51f: 0x6ce3dc20, + 0x1c520: 0x6ca1c820, 0x1c521: 0x6c832220, 0x1c522: 0x6d13da20, 0x1c523: 0x6c9ce420, + 0x1c524: 0x6cc2c420, 0x1c525: 0x6c6c3020, 0x1c526: 0x6cb37020, 0x1c527: 0x6cef9820, + 0x1c528: 0x6cff7020, 0x1c529: 0x6d017220, 0x1c52a: 0x6c531420, 0x1c52b: 0x6d069420, + 0x1c52c: 0x6cda8620, 0x1c52d: 0x6c7b9220, 0x1c52e: 0x6ce20a20, 0x1c52f: 0x6cbcac20, + 0x1c530: 0x6c71fe20, 0x1c531: 0x6c378a20, 0x1c532: 0x6d386020, 0x1c533: 0x6cc81220, + 0x1c534: 0x6cb28620, 0x1c535: 0x6d09ec20, 0x1c536: 0x6d046020, 0x1c537: 0x6d35a220, + 0x1c538: 0x6c49e020, 0x1c539: 0x6c586420, 0x1c53a: 0x6c9fec20, 0x1c53b: 0x6c5d7020, + 0x1c53c: 0x6cebcc20, 0x1c53d: 0x6cb84c20, 0x1c53e: 0x6cac1e20, 0x1c53f: 0x6cf35820, + // Block 0x715, offset 0x1c540 + 0x1c540: 0x6cc0e820, 0x1c541: 0x6c8e4a20, 0x1c542: 0x6d16f820, 0x1c543: 0x6c633a20, + 0x1c544: 0x6c6e5a20, 0x1c545: 0x6cb9f420, 0x1c546: 0x6c675420, 0x1c547: 0x6c683220, + 0x1c548: 0x6d312a20, 0x1c549: 0x6cd1ac20, 0x1c54a: 0x6d3d3420, 0x1c54b: 0x6c12d420, + 0x1c54c: 0x6c380020, 0x1c54d: 0x6c5b9c20, 0x1c54e: 0x6c61ac20, 0x1c54f: 0x6c8e4620, + 0x1c550: 0x6c159c20, 0x1c551: 0x6c5ce020, 0x1c552: 0x6c561420, 0x1c553: 0x6ca9b420, + 0x1c554: 0x6d09ee20, 0x1c555: 0x6c6ce220, 0x1c556: 0x6c8aee20, 0x1c557: 0x6cc03220, + 0x1c558: 0x6cefa220, 0x1c559: 0x6d30ea20, 0x1c55a: 0x6c75a620, 0x1c55b: 0x6c4df620, + 0x1c55c: 0x6c052620, 0x1c55d: 0x6c985220, 0x1c55e: 0x6d3d3a20, 0x1c55f: 0x6d1f1820, + 0x1c560: 0x6cf5c220, 0x1c561: 0x6c0ed620, 0x1c562: 0x6c310420, 0x1c563: 0x6c590420, + 0x1c564: 0x6c532a20, 0x1c565: 0x6d173220, 0x1c566: 0x6cb48820, 0x1c567: 0x6d1ce420, + 0x1c568: 0x6c802420, 0x1c569: 0x6c502e20, 0x1c56a: 0x6c811820, 0x1c56b: 0x6c4e5620, + 0x1c56c: 0x6c850c20, 0x1c56d: 0x6c44be20, 0x1c56e: 0x6c3e3620, 0x1c56f: 0x6cf3b820, + 0x1c570: 0x6c88ea20, 0x1c571: 0x6c213a20, 0x1c572: 0x6c3ca220, 0x1c573: 0x6d173420, + 0x1c574: 0x6d22f220, 0x1c575: 0x6ce73420, 0x1c576: 0x6c815420, 0x1c577: 0x6c4d3a20, + 0x1c578: 0x6c6cee20, 0x1c579: 0x6c634220, 0x1c57a: 0x6c1cb820, 0x1c57b: 0x6c6f0820, + 0x1c57c: 0x6c9a5220, 0x1c57d: 0x6cdbb820, 0x1c57e: 0x6c195e20, 0x1c57f: 0x6cae1420, + // Block 0x716, offset 0x1c580 + 0x1c580: 0x6cfcaa20, 0x1c581: 0x6cd09820, 0x1c582: 0x6ce92e20, 0x1c583: 0x6c7dd020, + 0x1c584: 0x6cb25020, 0x1c585: 0x6ca80820, 0x1c586: 0x6c4e9c20, 0x1c587: 0x6c6da020, + 0x1c588: 0x6cfea220, 0x1c589: 0x6ccf3c20, 0x1c58a: 0x6ca71e20, 0x1c58b: 0x6ce84e20, + 0x1c58c: 0x6d1e2620, 0x1c58d: 0x6cffe020, 0x1c58e: 0x6cfb3620, 0x1c58f: 0x6ce6bc20, + 0x1c590: 0x6c355820, 0x1c591: 0x6cda8e20, 0x1c592: 0x6cea1c20, 0x1c593: 0x6c72e620, + 0x1c594: 0x6c132c20, 0x1c595: 0x6ce3e220, 0x1c596: 0x6c85d020, 0x1c597: 0x6cd71620, + 0x1c598: 0x6cd8aa20, 0x1c599: 0x6c832820, 0x1c59a: 0x6cd71820, 0x1c59b: 0x6ce1be20, + 0x1c59c: 0x6c318e20, 0x1c59d: 0x6c81ce20, 0x1c59e: 0x6c7eec20, 0x1c59f: 0x6c87f620, + 0x1c5a0: 0x6ceef620, 0x1c5a1: 0x6cf28020, 0x1c5a2: 0x6d279a20, 0x1c5a3: 0x6c590620, + 0x1c5a4: 0x6c2b6420, 0x1c5a5: 0x6c528a20, 0x1c5a6: 0x6cc8fa20, 0x1c5a7: 0x6c666e20, + 0x1c5a8: 0x6d2f0220, 0x1c5a9: 0x6ccb1c20, 0x1c5aa: 0x6c3e5220, 0x1c5ab: 0x6c498420, + 0x1c5ac: 0x6d042a20, 0x1c5ad: 0x6cd46420, 0x1c5ae: 0x6cd69020, 0x1c5af: 0x6d0b2a20, + 0x1c5b0: 0x6c21b620, 0x1c5b1: 0x6d2f2e20, 0x1c5b2: 0x6d12e820, 0x1c5b3: 0x6c797620, + 0x1c5b4: 0x6cf2e420, 0x1c5b5: 0x6c4e0220, 0x1c5b6: 0x6ceac020, 0x1c5b7: 0x6c2ffa20, + 0x1c5b8: 0x6c510820, 0x1c5b9: 0x6cf28620, 0x1c5ba: 0x6c708e20, 0x1c5bb: 0x6ccf4020, + 0x1c5bc: 0x6c894e20, 0x1c5bd: 0x6c5cc220, 0x1c5be: 0x6cde4e20, 0x1c5bf: 0x6d3cfe20, + // Block 0x717, offset 0x1c5c0 + 0x1c5c0: 0x6c2d5220, 0x1c5c1: 0x6cbcb620, 0x1c5c2: 0x6c2a6a20, 0x1c5c3: 0x6c735620, + 0x1c5c4: 0x6d3e2420, 0x1c5c5: 0x6cf5f020, 0x1c5c6: 0x6cff8220, 0x1c5c7: 0x6cb5ca20, + 0x1c5c8: 0x6c477e20, 0x1c5c9: 0x6c4cb820, 0x1c5ca: 0x6d0bf620, 0x1c5cb: 0x6c8bb020, + 0x1c5cc: 0x6ce17420, 0x1c5cd: 0x6d387620, 0x1c5ce: 0x6caf0420, 0x1c5cf: 0x6c503820, + 0x1c5d0: 0x6c166620, 0x1c5d1: 0x6cd4cc20, 0x1c5d2: 0x6cb4ea20, 0x1c5d3: 0x6c399020, + 0x1c5d4: 0x6d345820, 0x1c5d5: 0x6c923c20, 0x1c5d6: 0x6ca53020, 0x1c5d7: 0x6c711420, + 0x1c5d8: 0x6ce21e20, 0x1c5d9: 0x6c239c20, 0x1c5da: 0x6c833020, 0x1c5db: 0x6d30f020, + 0x1c5dc: 0x6cb29c20, 0x1c5dd: 0x6c3a3420, 0x1c5de: 0x6cd91c20, 0x1c5df: 0x6ce4ee20, + 0x1c5e0: 0x6cb09020, 0x1c5e1: 0x6c288020, 0x1c5e2: 0x6d231620, 0x1c5e3: 0x6ca5d820, + 0x1c5e4: 0x6d208620, 0x1c5e5: 0x6c923e20, 0x1c5e6: 0x6c421a20, 0x1c5e7: 0x6c9d3a20, + 0x1c5e8: 0x6c6e7420, 0x1c5e9: 0x6c8ce820, 0x1c5ea: 0x6c94f420, 0x1c5eb: 0x6d1a5c20, + 0x1c5ec: 0x6c253620, 0x1c5ed: 0x6cc18820, 0x1c5ee: 0x6c57ea20, 0x1c5ef: 0x6d231820, + 0x1c5f0: 0x6ca72220, 0x1c5f1: 0x6ccfde20, 0x1c5f2: 0x6c0bf620, 0x1c5f3: 0x6c214220, + 0x1c5f4: 0x6c54c220, 0x1c5f5: 0x6d24ec20, 0x1c5f6: 0x6c7efc20, 0x1c5f7: 0x6c5d2620, + 0x1c5f8: 0x6cbe4620, 0x1c5f9: 0x6d0bf820, 0x1c5fa: 0x6cba0220, 0x1c5fb: 0x6ce46220, + 0x1c5fc: 0x6c9e9020, 0x1c5fd: 0x6d350c20, 0x1c5fe: 0x6d1ae420, 0x1c5ff: 0x6c9d3c20, + // Block 0x718, offset 0x1c600 + 0x1c600: 0x6c07b220, 0x1c601: 0x6d24de20, 0x1c602: 0x6cf20820, 0x1c603: 0x6cc91c20, + 0x1c604: 0x6c39fa20, 0x1c605: 0x6cbe4820, 0x1c606: 0x6d24e020, 0x1c607: 0x6c786220, + 0x1c608: 0x6c61f220, 0x1c609: 0x6ccf4220, 0x1c60a: 0x6d24e220, 0x1c60b: 0x6ccba420, + 0x1c60c: 0x6c924020, 0x1c60d: 0x6d3f4420, 0x1c60e: 0x6c319620, 0x1c60f: 0x6cb81420, + 0x1c610: 0x6c667a20, 0x1c611: 0x6c9e1c20, 0x1c612: 0x6cb09220, 0x1c613: 0x6cf94420, + 0x1c614: 0x6d210220, 0x1c615: 0x6d24e420, 0x1c616: 0x6cd05c20, 0x1c617: 0x6cd09e20, + 0x1c618: 0x6cc74c20, 0x1c619: 0x6c592420, 0x1c61a: 0x6d3a6420, 0x1c61b: 0x6c659620, + 0x1c61c: 0x6caa9020, 0x1c61d: 0x6d212a20, 0x1c61e: 0x6cc06220, 0x1c61f: 0x6ce67220, + 0x1c620: 0x6cc18a20, 0x1c621: 0x6c325c20, 0x1c622: 0x6c389e20, 0x1c623: 0x6d2bdc20, + 0x1c624: 0x6c0f0420, 0x1c625: 0x6cf2f220, 0x1c626: 0x6cf28820, 0x1c627: 0x6c2c5820, + 0x1c628: 0x6cee8e20, 0x1c629: 0x6cf15020, 0x1c62a: 0x6cc7ac20, 0x1c62b: 0x6d01ae20, + 0x1c62c: 0x6c12ea20, 0x1c62d: 0x6cf09820, 0x1c62e: 0x6c510a20, 0x1c62f: 0x6c42a220, + 0x1c630: 0x6d0d8a20, 0x1c631: 0x6c534a20, 0x1c632: 0x6d089420, 0x1c633: 0x6c9cf220, + 0x1c634: 0x6c786a20, 0x1c635: 0x6c98da20, 0x1c636: 0x6d1bb020, 0x1c637: 0x6d0d8c20, + 0x1c638: 0x6d1f3820, 0x1c639: 0x6c52a620, 0x1c63a: 0x6c9e9220, 0x1c63b: 0x6cd13a20, + 0x1c63c: 0x6c9a5a20, 0x1c63d: 0x6d290420, 0x1c63e: 0x6c5cec20, 0x1c63f: 0x6ca3c420, + // Block 0x719, offset 0x1c640 + 0x1c640: 0x6c4afe20, 0x1c641: 0x6c1c2020, 0x1c642: 0x6c363820, 0x1c643: 0x6cac2620, + 0x1c644: 0x6c99fc20, 0x1c645: 0x6c88fc20, 0x1c646: 0x6cb79620, 0x1c647: 0x6cb79820, + 0x1c648: 0x6c99fe20, 0x1c649: 0x6ce4a020, 0x1c64a: 0x6c23ec20, 0x1c64b: 0x6cef1020, + 0x1c64c: 0x6c116a20, 0x1c64d: 0x6ce93220, 0x1c64e: 0x6c9e2620, 0x1c64f: 0x6c5bc420, + 0x1c650: 0x6ca11a20, 0x1c651: 0x6d059c20, 0x1c652: 0x6c604020, 0x1c653: 0x6cae4020, + 0x1c654: 0x6c649e20, 0x1c655: 0x6c658a20, 0x1c656: 0x6c555e20, 0x1c657: 0x6c3ce020, + 0x1c658: 0x6cfd7420, 0x1c659: 0x6d17a820, 0x1c65a: 0x6d1b5420, 0x1c65b: 0x6d2e6420, + 0x1c65c: 0x6cd26a20, 0x1c65d: 0x6c6a1820, 0x1c65e: 0x6c197020, 0x1c65f: 0x6c59c620, + 0x1c660: 0x6ce09a20, 0x1c661: 0x6d212c20, 0x1c662: 0x6c09a220, 0x1c663: 0x6c9fb020, + 0x1c664: 0x6cd1be20, 0x1c665: 0x6ce86020, 0x1c666: 0x6cd10220, 0x1c667: 0x6d1e3a20, + 0x1c668: 0x6c712620, 0x1c669: 0x6c307820, 0x1c66a: 0x6ce98a20, 0x1c66b: 0x6c68f620, + 0x1c66c: 0x6c690820, 0x1c66d: 0x6cc06420, 0x1c66e: 0x6d0c0820, 0x1c66f: 0x6ce0c020, + 0x1c670: 0x6c8f9420, 0x1c671: 0x6c5dd220, 0x1c672: 0x6d256420, 0x1c673: 0x6ca42820, + 0x1c674: 0x6c04f620, 0x1c675: 0x6d1fcc20, 0x1c676: 0x6cc2f020, 0x1c677: 0x6d3c1820, + 0x1c678: 0x6c89ba20, 0x1c679: 0x6c14f620, 0x1c67a: 0x6d0c9620, 0x1c67b: 0x6c214c20, + 0x1c67c: 0x6ca83020, 0x1c67d: 0x6d3e3e20, 0x1c67e: 0x6cec9020, 0x1c67f: 0x6cd1c020, + // Block 0x71a, offset 0x1c680 + 0x1c680: 0x6c97ba20, 0x1c681: 0x6d1c7220, 0x1c682: 0x6c7ed620, 0x1c683: 0x6c7cfc20, + 0x1c684: 0x6c3d0020, 0x1c685: 0x6c669020, 0x1c686: 0x6d06da20, 0x1c687: 0x6c908a20, + 0x1c688: 0x6cef1220, 0x1c689: 0x6c413620, 0x1c68a: 0x6cfa6620, 0x1c68b: 0x6d1c7420, + 0x1c68c: 0x6cb31020, 0x1c68d: 0x6c6d1820, 0x1c68e: 0x6d0e8620, 0x1c68f: 0x6ce10420, + 0x1c690: 0x6d258220, 0x1c691: 0x6cdd7a20, 0x1c692: 0x6d258420, 0x1c693: 0x6c881420, + 0x1c694: 0x6d11b820, 0x1c695: 0x6c9c0620, 0x1c696: 0x6d3cde20, 0x1c697: 0x6c1a1c20, + 0x1c698: 0x6c78ba20, 0x1c699: 0x6cdf7a20, 0x1c69a: 0x6cde0a20, 0x1c69b: 0x6cebe420, + 0x1c69c: 0x6c8e3620, 0x1c69d: 0x6c465220, 0x1c69e: 0x6ccaae20, 0x1c69f: 0x6ca00620, + 0x1c6a0: 0x6d2cc420, 0x1c6a1: 0x6cd27220, 0x1c6a2: 0x6d17e820, 0x1c6a3: 0x6c952220, + 0x1c6a4: 0x6c969a20, 0x1c6a5: 0x6cb48e20, 0x1c6a6: 0x6cee9e20, 0x1c6a7: 0x6c863420, + 0x1c6a8: 0x6c111220, 0x1c6a9: 0x6cf50020, 0x1c6aa: 0x6cf64c20, 0x1c6ab: 0x6cf15a20, + 0x1c6ac: 0x6cbaba20, 0x1c6ad: 0x6d2ace20, 0x1c6ae: 0x6cd1ce20, 0x1c6af: 0x6cdace20, + 0x1c6b0: 0x6c004220, 0x1c6b1: 0x6cbd8420, 0x1c6b2: 0x6cd9b220, 0x1c6b3: 0x6d27b220, + 0x1c6b4: 0x6d054420, 0x1c6b5: 0x6d19ec20, 0x1c6b6: 0x6cc68a20, 0x1c6b7: 0x6c5d2e20, + 0x1c6b8: 0x6cdad020, 0x1c6b9: 0x6cddcc20, 0x1c6ba: 0x6ca6ac20, 0x1c6bb: 0x6cddf420, + 0x1c6bc: 0x6cd1d020, 0x1c6bd: 0x6cc81c20, 0x1c6be: 0x6c002a20, 0x1c6bf: 0x6cacba20, + // Block 0x71b, offset 0x1c6c0 + 0x1c6c0: 0x6c1f5020, 0x1c6c1: 0x6c1e7e20, 0x1c6c2: 0x6cacdc20, 0x1c6c3: 0x6cf22c20, + 0x1c6c4: 0x6c123220, 0x1c6c5: 0x6c9ede20, 0x1c6c6: 0x6c440620, 0x1c6c7: 0x6c2cce20, + 0x1c6c8: 0x6c504420, 0x1c6c9: 0x6c5a7020, 0x1c6ca: 0x6cf8a020, 0x1c6cb: 0x6d3e4020, + 0x1c6cc: 0x6c2b7220, 0x1c6cd: 0x6d365a20, 0x1c6ce: 0x6d03f220, 0x1c6cf: 0x6c3f6c20, + 0x1c6d0: 0x6c6aea20, 0x1c6d1: 0x6c573e20, 0x1c6d2: 0x6c439a20, 0x1c6d3: 0x6d3f1a20, + 0x1c6d4: 0x6ce1d820, 0x1c6d5: 0x6ce2aa20, 0x1c6d6: 0x6cdbc820, 0x1c6d7: 0x6c09c820, + 0x1c6d8: 0x6c69a420, 0x1c6d9: 0x6c5be620, 0x1c6da: 0x6c4bce20, 0x1c6db: 0x6d1a7020, + 0x1c6dc: 0x6c42ca20, 0x1c6dd: 0x6c8f9620, 0x1c6de: 0x6d362c20, 0x1c6df: 0x6d0e8820, + 0x1c6e0: 0x6ccf5820, 0x1c6e1: 0x6c97be20, 0x1c6e2: 0x6d1c8020, 0x1c6e3: 0x6c215020, + 0x1c6e4: 0x6c93e620, 0x1c6e5: 0x6c807420, 0x1c6e6: 0x6c943e20, 0x1c6e7: 0x6d003420, + 0x1c6e8: 0x6c0d3c20, 0x1c6e9: 0x6cdfb020, 0x1c6ea: 0x6d236e20, 0x1c6eb: 0x6d052420, + 0x1c6ec: 0x6c56b820, 0x1c6ed: 0x6c09ca20, 0x1c6ee: 0x6c0c0c20, 0x1c6ef: 0x6d368e20, + 0x1c6f0: 0x6c67f220, 0x1c6f1: 0x6c79f620, 0x1c6f2: 0x6cd0be20, 0x1c6f3: 0x6cce0e20, + 0x1c6f4: 0x6c2b3a20, 0x1c6f5: 0x6c9d6820, 0x1c6f6: 0x6c025220, 0x1c6f7: 0x6c91cc20, + 0x1c6f8: 0x6c562820, 0x1c6f9: 0x6c54e820, 0x1c6fa: 0x6d1eac20, 0x1c6fb: 0x6c15cc20, + 0x1c6fc: 0x6c396420, 0x1c6fd: 0x6d1d9e20, 0x1c6fe: 0x6c4bd620, 0x1c6ff: 0x6c97c420, + // Block 0x71c, offset 0x1c700 + 0x1c700: 0x6cbeae20, 0x1c701: 0x6d216e20, 0x1c702: 0x6cb1b820, 0x1c703: 0x6c623e20, + 0x1c704: 0x6d0b3420, 0x1c705: 0x6c176e20, 0x1c706: 0x6cb51220, 0x1c707: 0x6cf7fe20, + 0x1c708: 0x6c624020, 0x1c709: 0x6c928620, 0x1c70a: 0x6c90a620, 0x1c70b: 0x6c8f9c20, + 0x1c70c: 0x6c6ca020, 0x1c70d: 0x6c4c7a20, 0x1c70e: 0x6c23a620, 0x1c70f: 0x6c910e20, + 0x1c710: 0x6d349020, 0x1c711: 0x6c414c20, 0x1c712: 0x6cbb1a20, 0x1c713: 0x6c83e220, + 0x1c714: 0x6d0db420, 0x1c715: 0x6c127e20, 0x1c716: 0x6c69b020, 0x1c717: 0x6c232a20, + 0x1c718: 0x6c215620, 0x1c719: 0x6ce95620, 0x1c71a: 0x6cab4020, 0x1c71b: 0x6ce2a820, + 0x1c71c: 0x6d12b020, 0x1c71d: 0x6cf79220, 0x1c71e: 0x6c9d6a20, 0x1c71f: 0x6ce11220, + 0x1c720: 0x6ca12c20, 0x1c721: 0x6cce1020, 0x1c722: 0x6c4ee620, 0x1c723: 0x6c881620, + 0x1c724: 0x6c803220, 0x1c725: 0x6cebe820, 0x1c726: 0x6c1b4820, 0x1c727: 0x6c41aa20, + 0x1c728: 0x6c3cae20, 0x1c729: 0x6d081a20, 0x1c72a: 0x6d140420, 0x1c72b: 0x6c97ec20, + 0x1c72c: 0x6d3f5c20, 0x1c72d: 0x6c989620, 0x1c72e: 0x6c774020, 0x1c72f: 0x6c961620, + 0x1c730: 0x6cae7a20, 0x1c731: 0x6cd5f420, 0x1c732: 0x6d2f0620, 0x1c733: 0x6d2eca20, + 0x1c734: 0x6d3c4620, 0x1c735: 0x6d070c20, 0x1c736: 0x6c594020, 0x1c737: 0x6c5d9020, + 0x1c738: 0x6c66aa20, 0x1c739: 0x6d0c1c20, 0x1c73a: 0x6cd6d820, 0x1c73b: 0x6c89f820, + 0x1c73c: 0x6c24fa20, 0x1c73d: 0x6ce36420, 0x1c73e: 0x6d106020, 0x1c73f: 0x6c677220, + // Block 0x71d, offset 0x1c740 + 0x1c740: 0x6c23a820, 0x1c741: 0x6d1d0620, 0x1c742: 0x6c537220, 0x1c743: 0x6d0a1c20, + 0x1c744: 0x6cd5f620, 0x1c745: 0x6c499a20, 0x1c746: 0x6d1c8620, 0x1c747: 0x6cfeee20, + 0x1c748: 0x6d404220, 0x1c749: 0x6c7de020, 0x1c74a: 0x6d070e20, 0x1c74b: 0x6c890c20, + 0x1c74c: 0x6d369020, 0x1c74d: 0x6cef2020, 0x1c74e: 0x6cb0ac20, 0x1c74f: 0x6d23c420, + 0x1c750: 0x6c69be20, 0x1c751: 0x6cb3c420, 0x1c752: 0x6c297820, 0x1c753: 0x6c5c1820, + 0x1c754: 0x6c6b1c20, 0x1c755: 0x6cf46820, 0x1c756: 0x6cabdc20, 0x1c757: 0x6c608620, + 0x1c758: 0x6cac4220, 0x1c759: 0x6cef2c20, 0x1c75a: 0x6cdb1820, 0x1c75b: 0x6cb9b820, + 0x1c75c: 0x6cb9ba20, 0x1c75d: 0x6cf69c20, 0x1c75e: 0x6c92cc20, 0x1c75f: 0x6cf8c620, + 0x1c760: 0x6d0aa220, 0x1c761: 0x6c340620, 0x1c762: 0x6c59da20, 0x1c763: 0x6c9fc620, + 0x1c764: 0x6cc90420, 0x1c765: 0x6cdb0020, 0x1c766: 0x6c81b820, 0x1c767: 0x6d318a20, + 0x1c768: 0x6c23aa20, 0x1c769: 0x6d182820, 0x1c76a: 0x6d30fe20, 0x1c76b: 0x6cec9820, + 0x1c76c: 0x6ccd9e20, 0x1c76d: 0x6ce00420, 0x1c76e: 0x6c177620, 0x1c76f: 0x6d0a3220, + 0x1c770: 0x6c7d0e20, 0x1c771: 0x6d126420, 0x1c772: 0x6ccee420, 0x1c773: 0x6ce8da20, + 0x1c774: 0x6d39bc20, 0x1c775: 0x6cc95820, 0x1c776: 0x6c522220, 0x1c777: 0x6c0a2a20, + 0x1c778: 0x6ccd0820, 0x1c779: 0x6c151c20, 0x1c77a: 0x6c151e20, 0x1c77b: 0x6cd56820, + 0x1c77c: 0x6ce77c20, 0x1c77d: 0x6cb41020, 0x1c77e: 0x6c8bce20, 0x1c77f: 0x6cef2e20, + // Block 0x71e, offset 0x1c780 + 0x1c780: 0x6ccb6c20, 0x1c781: 0x6ccb4620, 0x1c782: 0x6c1a3820, 0x1c783: 0x6c6f3020, + 0x1c784: 0x6c1a3a20, 0x1c785: 0x6c57be20, 0x1c786: 0x6c686c20, 0x1c787: 0x6c81dc20, + 0x1c788: 0x6c183420, 0x1c789: 0x6c41e020, 0x1c78a: 0x6c259c20, 0x1c78b: 0x6c53cc20, + 0x1c78c: 0x6cd81820, 0x1c78d: 0x6cd60220, 0x1c78e: 0x6cae8420, 0x1c78f: 0x6c4e2a20, + 0x1c790: 0x6d27c020, 0x1c791: 0x6c8f3c20, 0x1c792: 0x6c53ce20, 0x1c793: 0x6c3ed820, + 0x1c794: 0x6c505a20, 0x1c795: 0x6c513e20, 0x1c796: 0x6cfb8020, 0x1c797: 0x6c66b620, + 0x1c798: 0x6ccd0a20, 0x1c799: 0x6cf8c820, 0x1c79a: 0x6d24c220, 0x1c79b: 0x6c934c20, + 0x1c79c: 0x6c7fac20, 0x1c79d: 0x6ca96020, 0x1c79e: 0x6d21a220, 0x1c79f: 0x6c8c3420, + 0x1c7a0: 0x6c9e4020, 0x1c7a1: 0x6d2a5020, 0x1c7a2: 0x6c290420, 0x1c7a3: 0x6c595420, + 0x1c7a4: 0x6d2afc20, 0x1c7a5: 0x6d021620, 0x1c7a6: 0x6d23ea20, 0x1c7a7: 0x6c853020, + 0x1c7a8: 0x6cd3da20, 0x1c7a9: 0x6d091c20, 0x1c7aa: 0x6c8d5820, 0x1c7ab: 0x6ced9420, + 0x1c7ac: 0x6d3e8a20, 0x1c7ad: 0x6d1db420, 0x1c7ae: 0x6c5c3420, 0x1c7af: 0x6c120420, + 0x1c7b0: 0x6c891620, 0x1c7b1: 0x6c2d8420, 0x1c7b2: 0x6d134020, 0x1c7b3: 0x6c02ec20, + 0x1c7b4: 0x6c589820, 0x1c7b5: 0x6d319220, 0x1c7b6: 0x6c152420, 0x1c7b7: 0x6c980420, + 0x1c7b8: 0x6c284420, 0x1c7b9: 0x6c28b220, 0x1c7ba: 0x6d189e20, 0x1c7bb: 0x6cdc5c20, + 0x1c7bc: 0x6cb0ba20, 0x1c7bd: 0x6c728e20, 0x1c7be: 0x6cde8e20, 0x1c7bf: 0x6cbda420, + // Block 0x71f, offset 0x1c7c0 + 0x1c7c0: 0x6c5f3420, 0x1c7c1: 0x6d3d9a20, 0x1c7c2: 0x6c884c20, 0x1c7c3: 0x6ca9c620, + 0x1c7c4: 0x6c4c3020, 0x1c7c5: 0x6c6d4e20, 0x1c7c6: 0x6c3b8c20, 0x1c7c7: 0x6ccb5a20, + 0x1c7c8: 0x6c608820, 0x1c7c9: 0x6cdbda20, 0x1c7ca: 0x6c5c3620, 0x1c7cb: 0x6c1eea20, + 0x1c7cc: 0x6cdeac20, 0x1c7cd: 0x6cd93620, 0x1c7ce: 0x6c2f7e20, 0x1c7cf: 0x6ccba620, + 0x1c7d0: 0x6d3a7e20, 0x1c7d1: 0x6c7f5620, 0x1c7d2: 0x6c0d5220, 0x1c7d3: 0x6c884e20, + 0x1c7d4: 0x6c9d0220, 0x1c7d5: 0x6cd20220, 0x1c7d6: 0x6cd60c20, 0x1c7d7: 0x6c9d8620, + 0x1c7d8: 0x6ca95a20, 0x1c7d9: 0x6d1ca220, 0x1c7da: 0x6d1ca420, 0x1c7db: 0x6c9b4c20, + 0x1c7dc: 0x6c6d5e20, 0x1c7dd: 0x6cb65e20, 0x1c7de: 0x6c0a7020, 0x1c7df: 0x6c629820, + 0x1c7e0: 0x6c4ff420, 0x1c7e1: 0x6cc7d220, 0x1c7e2: 0x6c256a20, 0x1c7e3: 0x6cf31c20, + 0x1c7e4: 0x6ce1f020, 0x1c7e5: 0x6d1b0e20, 0x1c7e6: 0x6d1b1020, 0x1c7e7: 0x6c336820, + 0x1c7e8: 0x6c226c20, 0x1c7e9: 0x6c5df820, 0x1c7ea: 0x6c6eb220, 0x1c7eb: 0x6c807c20, + 0x1c7ec: 0x6c75f020, 0x1c7ed: 0x6c007820, 0x1c7ee: 0x6cb45820, 0x1c7ef: 0x6d3db020, + 0x1c7f0: 0x6cef4020, 0x1c7f1: 0x6c0d5420, 0x1c7f2: 0x6c47d620, 0x1c7f3: 0x6cb9d620, + 0x1c7f4: 0x6d1ca620, 0x1c7f5: 0x6c0d9c20, 0x1c7f6: 0x6c7e1c20, 0x1c7f7: 0x6c3ade20, + 0x1c7f8: 0x6c125e20, 0x1c7f9: 0x6c99c820, 0x1c7fa: 0x6c66f020, 0x1c7fb: 0x6cf02620, + 0x1c7fc: 0x6c963420, 0x1c7fd: 0x6d29a420, 0x1c7fe: 0x6c940e20, 0x1c7ff: 0x6c869e20, + // Block 0x720, offset 0x1c800 + 0x1c800: 0x6d1ebe20, 0x1c801: 0x6d106e20, 0x1c802: 0x6c91ea20, 0x1c803: 0x6cd8f420, + 0x1c804: 0x6d36e220, 0x1c805: 0x6d1cb220, 0x1c806: 0x6c31cc20, 0x1c807: 0x6cee3c20, + 0x1c808: 0x6c5afc20, 0x1c809: 0x6d024020, 0x1c80a: 0x6cac8020, 0x1c80b: 0x6cd08420, + 0x1c80c: 0x6c0c3820, 0x1c80d: 0x6c153820, 0x1c80e: 0x6ca17220, 0x1c80f: 0x6c8eba20, + 0x1c810: 0x6c651620, 0x1c811: 0x6cb4ba20, 0x1c812: 0x6ccb7420, 0x1c813: 0x6c1a4e20, + 0x1c814: 0x6c47e220, 0x1c815: 0x6c0d6820, 0x1c816: 0x6c5e2820, 0x1c817: 0x6cfd3020, + 0x1c818: 0x6c917220, 0x1c819: 0x6cbe2620, 0x1c81a: 0x6c4f2c20, 0x1c81b: 0x6d1cba20, + 0x1c81c: 0x6cc6d820, 0x1c81d: 0x6c86f820, 0x1c81e: 0x6c6eb420, 0x1c81f: 0x6cff3a20, + 0x1c820: 0x6d1cbc20, 0x1c821: 0x6cdc0e20, 0x1c822: 0x6cf03c20, 0x1c823: 0x6d025620, + 0x1c824: 0x6c57fc20, 0x1c825: 0x6d097820, 0x1c826: 0x6d39d420, 0x1c827: 0x6c8fc620, + 0x1c828: 0x6c7f6a20, 0x1c829: 0x6c337820, 0x1c82a: 0x6c38de20, 0x1c82b: 0x6c55ee20, + 0x1c82c: 0x6c7f6c20, 0x1c82d: 0x6cd63420, 0x1c82e: 0x6c8e3220, 0x1c82f: 0x6d1cbe20, + 0x1c830: 0x6c9ca020, 0x1c831: 0x6c62c820, 0x1c832: 0x6c892c20, 0x1c833: 0x6c66fe20, + 0x1c834: 0x6d1cc620, 0x1c835: 0x6c3c0220, 0x1c836: 0x6c8c0020, 0x1c837: 0x6d192c20, + 0x1c838: 0x6c653220, 0x1c839: 0x6d270a20, 0x1c83a: 0x6c155620, 0x1c83b: 0x6c27a620, + 0x1c83c: 0x6cc4e620, 0x1c83d: 0x6c661820, 0x1c83e: 0x6c7fe820, 0x1c83f: 0x6c38e020, + // Block 0x721, offset 0x1c840 + 0x1c840: 0x6cd6f420, 0x1c841: 0x6d252620, 0x1c842: 0x6d3dd420, 0x1c843: 0x6c3c8020, + 0x1c844: 0x6ccf8c20, 0x1c845: 0x6c830220, 0x1c846: 0x6c7fea20, 0x1c847: 0x6c23c620, + 0x1c848: 0x6cc20020, 0x1c849: 0x6d1dda20, 0x1c84a: 0x6cb9e020, 0x1c84b: 0x6c383620, + 0x1c84c: 0x6c49b420, 0x1c84d: 0x6cc41a20, 0x1c84e: 0x6d0f2220, 0x1c84f: 0x6c507c20, + 0x1c850: 0x6d1d7020, 0x1c851: 0x6cc95c20, 0x1c852: 0x6d29ba20, 0x1c853: 0x6c946020, + 0x1c854: 0x6d0f0420, 0x1c855: 0x6c84a820, 0x1c856: 0x6c9d0e20, 0x1c857: 0x6ccde820, + 0x1c858: 0x6cdfc620, 0x1c859: 0x6c293e20, 0x1c85a: 0x6c697620, 0x1c85b: 0x6c161820, + 0x1c85c: 0x6d1d7220, 0x1c85d: 0x6c508420, 0x1c85e: 0x6c03dc20, 0x1c85f: 0x6d3a4220, + 0x1c860: 0x6c805e20, 0x1c861: 0x6c800820, 0x1c862: 0x6ca47820, 0x1c863: 0x6cecac20, + 0x1c864: 0x6c947020, 0x1c865: 0x6d0a5e20, 0x1c866: 0x6cfc6a20, 0x1c867: 0x6d0f2820, + 0x1c868: 0x6c424820, 0x1c869: 0x6d0f3220, 0x1c86a: 0x6d24ac20, 0x1c86b: 0x6c5d8420, + 0x1c86c: 0x6c0be820, 0x1c86d: 0x6c9eca20, 0x1c86e: 0x6c49d220, 0x1c86f: 0x6c2a9a20, + 0x1c870: 0x6c5a8620, 0x1c871: 0x6cfe7a20, 0x1c872: 0x6cfe7c20, 0x1c873: 0x6c5caa20, + 0x1c874: 0x6c529620, 0x1c875: 0x6c8c9c20, 0x1c876: 0x6d2a6620, 0x1c877: 0x6d3bbe20, + 0x1c878: 0x6c6faa20, 0x1c879: 0x6d2ca820, 0x1c87a: 0x6d015820, 0x1c87b: 0x6c1be420, + 0x1c87c: 0x6d3d2420, 0x1c87d: 0x6d28f220, 0x1c87e: 0x6d28f420, 0x1c87f: 0x6c11ec20, + // Block 0x722, offset 0x1c880 + 0x1c880: 0x6d0f8020, 0x1c881: 0x6cb74820, 0x1c882: 0x6d379c20, 0x1c883: 0x6c3b5e20, + 0x1c884: 0x6ca98220, 0x1c885: 0x6c6efa20, 0x1c886: 0x6cf18220, 0x1c887: 0x6cb36820, + 0x1c888: 0x6d16c420, 0x1c889: 0x6c913c20, 0x1c88a: 0x6c20b620, 0x1c88b: 0x6caf4020, + 0x1c88c: 0x6c767e20, 0x1c88d: 0x6caca420, 0x1c88e: 0x6d0c6a20, 0x1c88f: 0x6c768020, + 0x1c890: 0x6cad2620, 0x1c891: 0x6ca26e20, 0x1c892: 0x6c179020, 0x1c893: 0x6c8a9220, + 0x1c894: 0x6c4b3420, 0x1c895: 0x6c778220, 0x1c896: 0x6c33dc20, 0x1c897: 0x6c49d620, + 0x1c898: 0x6d02b820, 0x1c899: 0x6d358c20, 0x1c89a: 0x6c4a2e20, 0x1c89b: 0x6c49d820, + 0x1c89c: 0x6cef9420, 0x1c89d: 0x6cbb5420, 0x1c89e: 0x6c0be420, 0x1c89f: 0x6c268420, + 0x1c8a0: 0x6cf99820, 0x1c8a1: 0x6d329a20, 0x1c8a2: 0x6d39fc20, 0x1c8a3: 0x6c785e20, + 0x1c8a4: 0x6d2fa220, 0x1c8a5: 0x6c3e1420, 0x1c8a6: 0x6c036e20, 0x1c8a7: 0x6d017420, + 0x1c8a8: 0x6c34dc20, 0x1c8a9: 0x6c8e1e20, 0x1c8aa: 0x6d3cf220, 0x1c8ab: 0x6d087a20, + 0x1c8ac: 0x6c721420, 0x1c8ad: 0x6ce08e20, 0x1c8ae: 0x6cad8420, 0x1c8af: 0x6c6f0220, + 0x1c8b0: 0x6cad5020, 0x1c8b1: 0x6cdf1e20, 0x1c8b2: 0x6cdf2020, 0x1c8b3: 0x6c0dd220, + 0x1c8b4: 0x6d100c20, 0x1c8b5: 0x6ce6f020, 0x1c8b6: 0x6c4d9420, 0x1c8b7: 0x6d3ac220, + 0x1c8b8: 0x6d2cb820, 0x1c8b9: 0x6c2d0a20, 0x1c8ba: 0x6cf07a20, 0x1c8bb: 0x6cd25220, + 0x1c8bc: 0x6c88e620, 0x1c8bd: 0x6c1bfc20, 0x1c8be: 0x6c5a4a20, 0x1c8bf: 0x6d397820, + // Block 0x723, offset 0x1c8c0 + 0x1c8c0: 0x6c54ae20, 0x1c8c1: 0x6cd77020, 0x1c8c2: 0x6c806e20, 0x1c8c3: 0x6ce63620, + 0x1c8c4: 0x6c68de20, 0x1c8c5: 0x6d06a820, 0x1c8c6: 0x6c525e20, 0x1c8c7: 0x6cc35420, + 0x1c8c8: 0x6c8af020, 0x1c8c9: 0x6c590820, 0x1c8ca: 0x6d0fa020, 0x1c8cb: 0x6d04c420, + 0x1c8cc: 0x6d04c620, 0x1c8cd: 0x6cfbfe20, 0x1c8ce: 0x6d1a3020, 0x1c8cf: 0x6cf36020, + 0x1c8d0: 0x6d386620, 0x1c8d1: 0x6d10e220, 0x1c8d2: 0x6cd35020, 0x1c8d3: 0x6cee6e20, + 0x1c8d4: 0x6ce73620, 0x1c8d5: 0x6c9ece20, 0x1c8d6: 0x6d28fe20, 0x1c8d7: 0x6c768420, + 0x1c8d8: 0x6c529e20, 0x1c8d9: 0x6c81d020, 0x1c8da: 0x6cf9a820, 0x1c8db: 0x6d3a0420, + 0x1c8dc: 0x6d084a20, 0x1c8dd: 0x6d32a020, 0x1c8de: 0x6cb37820, 0x1c8df: 0x6d0be420, + 0x1c8e0: 0x6c5b2e20, 0x1c8e1: 0x6c49e620, 0x1c8e2: 0x6c180e20, 0x1c8e3: 0x6c5aa420, + 0x1c8e4: 0x6c77a820, 0x1c8e5: 0x6c194c20, 0x1c8e6: 0x6c389020, 0x1c8e7: 0x6cce6220, + 0x1c8e8: 0x6d12e220, 0x1c8e9: 0x6c5bac20, 0x1c8eb: 0x6ce19a20, + 0x1c8ec: 0x6c6cf220, 0x1c8ed: 0x6cc55020, 0x1c8ee: 0x6c8b9620, 0x1c8ef: 0x6cf5f220, + 0x1c8f0: 0x6c3e5420, 0x1c8f1: 0x6c6f0a20, 0x1c8f2: 0x6d019420, 0x1c8f3: 0x6cb48a20, + 0x1c8f4: 0x6ce64220, 0x1c8f5: 0x6d3d3c20, 0x1c8f6: 0x6ce6c020, 0x1c8f7: 0x6cecd420, + 0x1c8f8: 0x6c4d4020, 0x1c8f9: 0x6cae6a20, 0x1c8fa: 0x6c80fc20, 0x1c8fb: 0x6d0e5220, + 0x1c8fc: 0x6d06bc20, 0x1c8fd: 0x6c3c3e20, 0x1c8fe: 0x6c1c1020, 0x1c8ff: 0x6cc66820, + // Block 0x724, offset 0x1c900 + 0x1c900: 0x6c554620, 0x1c901: 0x6cf5f420, 0x1c902: 0x6cd4ce20, 0x1c903: 0x6c51c420, + 0x1c904: 0x6d099620, 0x1c905: 0x6c7a9220, 0x1c906: 0x6c72e820, 0x1c907: 0x6cfeb620, + 0x1c908: 0x6cf5f620, 0x1c909: 0x6d0bfa20, 0x1c90a: 0x6c4eb220, 0x1c90b: 0x6d3c3c20, + 0x1c90c: 0x6c75b020, 0x1c90d: 0x6c2c4220, 0x1c90e: 0x6d019620, 0x1c90f: 0x6c601c20, + 0x1c910: 0x6cf4e020, 0x1c911: 0x6d0bfc20, 0x1c912: 0x6c942c20, 0x1c913: 0x6c4e0620, + 0x1c914: 0x6d0e6220, 0x1c915: 0x6c591220, 0x1c916: 0x6c9aee20, 0x1c917: 0x6c711620, + 0x1c918: 0x6c2a1020, 0x1c919: 0x6c072420, 0x1c91a: 0x6c3b7a20, 0x1c91b: 0x6c8c5220, + 0x1c91c: 0x6c7d6220, 0x1c91d: 0x6c5d2820, 0x1c91e: 0x6cea2220, 0x1c91f: 0x6cf61620, + 0x1c920: 0x6c253e20, 0x1c921: 0x6cf3c820, 0x1c922: 0x6c52a820, 0x1c923: 0x6c179c20, + 0x1c924: 0x6c3f6220, 0x1c925: 0x6cf2f420, 0x1c926: 0x6c684820, 0x1c927: 0x6c231820, + 0x1c928: 0x6c3ce220, 0x1c929: 0x6cb2a620, 0x1c92a: 0x6cbf2620, 0x1c92b: 0x6cc91e20, + 0x1c92c: 0x6cf61820, 0x1c92d: 0x6cbf2820, 0x1c92e: 0x6d033420, 0x1c92f: 0x6c174420, + 0x1c930: 0x6d0e7420, 0x1c931: 0x6d0e7620, 0x1c932: 0x6d17aa20, 0x1c933: 0x6c744e20, + 0x1c934: 0x6d234620, 0x1c935: 0x6c42a820, 0x1c936: 0x6cc47820, 0x1c937: 0x6caff020, + 0x1c938: 0x6d049420, 0x1c939: 0x6cee6420, 0x1c93a: 0x6cd10420, 0x1c93b: 0x6c171420, + 0x1c93c: 0x6cce6e20, 0x1c93d: 0x6d048420, 0x1c93e: 0x6ca72420, 0x1c93f: 0x6c44d020, + // Block 0x725, offset 0x1c940 + 0x1c940: 0x6cf13e20, 0x1c941: 0x6c18d420, 0x1c942: 0x6c51ce20, 0x1c943: 0x6c7cd220, + 0x1c944: 0x6d37fe20, 0x1c945: 0x6c32cc20, 0x1c946: 0x6cf96a20, 0x1c947: 0x6c5ac620, + 0x1c948: 0x6c3ce420, 0x1c949: 0x6c890620, 0x1c94a: 0x6d07a820, 0x1c94b: 0x6d037e20, + 0x1c94c: 0x6c59d220, 0x1c94d: 0x6c690a20, 0x1c94e: 0x6c64b620, 0x1c94f: 0x6c09cc20, + 0x1c950: 0x6d1bbc20, 0x1c951: 0x6d3a7020, 0x1c952: 0x6cefde20, 0x1c953: 0x6ce93620, + 0x1c954: 0x6ccd4a20, 0x1c955: 0x6cf67020, 0x1c956: 0x6caa9620, 0x1c957: 0x6caa9820, + 0x1c958: 0x6c150220, 0x1c959: 0x6d0c1220, 0x1c95a: 0x6c6f1020, 0x1c95b: 0x6c6f2420, + 0x1c95c: 0x6d237020, 0x1c95d: 0x6c9a9c20, 0x1c95e: 0x6ccbfc20, 0x1c95f: 0x6cf0a620, + 0x1c960: 0x6d2c3820, 0x1c961: 0x6d033620, 0x1c962: 0x6cbf3e20, 0x1c963: 0x6cc75020, + 0x1c964: 0x6c9a0c20, 0x1c965: 0x6c593620, 0x1c966: 0x6d06f420, 0x1c967: 0x6d2fbe20, + 0x1c968: 0x6ceea020, 0x1c969: 0x6c38a620, 0x1c96a: 0x6cc07620, 0x1c96b: 0x6cdc4a20, + 0x1c96c: 0x6d0fc820, 0x1c96d: 0x6c8b1620, 0x1c96e: 0x6d3a6e20, 0x1c96f: 0x6c6a2220, + 0x1c970: 0x6c434e20, 0x1c971: 0x6c485c20, 0x1c972: 0x6c05b420, 0x1c973: 0x6c557020, + 0x1c974: 0x6d275820, 0x1c975: 0x6cf96c20, 0x1c976: 0x6cd41a20, 0x1c977: 0x6c89ce20, + 0x1c978: 0x6c0afa20, 0x1c979: 0x6c46c420, 0x1c97a: 0x6cea0020, 0x1c97b: 0x6ce11420, + 0x1c97c: 0x6c17a020, 0x1c97d: 0x6cccfc20, 0x1c97e: 0x6c371a20, 0x1c97f: 0x6c0f2a20, + // Block 0x726, offset 0x1c980 + 0x1c980: 0x6c5a5a20, 0x1c981: 0x6d00ce20, 0x1c982: 0x6cf8ae20, 0x1c983: 0x6cf50e20, + 0x1c984: 0x6cf67220, 0x1c985: 0x6d284220, 0x1c986: 0x6c515a20, 0x1c987: 0x6c51d220, + 0x1c988: 0x6cf67420, 0x1c989: 0x6d27bc20, 0x1c98a: 0x6d048020, 0x1c98b: 0x6ca37e20, + 0x1c98c: 0x6ccd5020, 0x1c98d: 0x6cbf8e20, 0x1c98e: 0x6d121620, 0x1c98f: 0x6d099e20, + 0x1c990: 0x6c9d6c20, 0x1c991: 0x6c882420, 0x1c992: 0x6d1c8820, 0x1c993: 0x6cf45a20, + 0x1c994: 0x6cc69a20, 0x1c995: 0x6c459e20, 0x1c996: 0x6d0f3820, 0x1c997: 0x6cbb5820, + 0x1c998: 0x6c8e3820, 0x1c999: 0x6cf67620, 0x1c99a: 0x6c09f820, 0x1c99b: 0x6c0c1820, + 0x1c99c: 0x6c233e20, 0x1c99d: 0x6c92a620, 0x1c99e: 0x6c64d620, 0x1c99f: 0x6cd53420, + 0x1c9a0: 0x6d185620, 0x1c9a1: 0x6c90b220, 0x1c9a2: 0x6caeb620, 0x1c9a3: 0x6cdbd420, + 0x1c9a4: 0x6d185820, 0x1c9a5: 0x6ce28e20, 0x1c9a6: 0x6c749420, 0x1c9a7: 0x6d3fb220, + 0x1c9a8: 0x6d284620, 0x1c9a9: 0x6c56c020, 0x1c9aa: 0x6d154820, 0x1c9ab: 0x6d36b420, + 0x1c9ac: 0x6c026220, 0x1c9ad: 0x6cf0bc20, 0x1c9ae: 0x6c8f1420, 0x1c9af: 0x6c4efa20, + 0x1c9b0: 0x6cab4c20, 0x1c9b1: 0x6cc55420, 0x1c9b2: 0x6c6f2c20, 0x1c9b3: 0x6c97fc20, + 0x1c9b4: 0x6c7de220, 0x1c9b5: 0x6cce1820, 0x1c9b6: 0x6c24b220, 0x1c9b7: 0x6d2b9020, + 0x1c9b8: 0x6c64f620, 0x1c9b9: 0x6cf6c620, 0x1c9ba: 0x6cf6c820, 0x1c9bb: 0x6cf6ca20, + 0x1c9bc: 0x6d185a20, 0x1c9bd: 0x6d000c20, 0x1c9be: 0x6c1c6e20, 0x1c9bf: 0x6c59ea20, + // Block 0x727, offset 0x1c9c0 + 0x1c9c0: 0x6c15e420, 0x1c9c1: 0x6d131820, 0x1c9c2: 0x6ce01020, 0x1c9c3: 0x6cc48820, + 0x1c9c4: 0x6d0ec020, 0x1c9c5: 0x6cfb9420, 0x1c9c6: 0x6cbbae20, 0x1c9c7: 0x6c75e820, + 0x1c9c8: 0x6c2aaa20, 0x1c9c9: 0x6c340a20, 0x1c9ca: 0x6cd01820, 0x1c9cb: 0x6c687a20, + 0x1c9cc: 0x6c3b9620, 0x1c9cd: 0x6cd82a20, 0x1c9ce: 0x6c8a1a20, 0x1c9cf: 0x6d23ee20, + 0x1c9d0: 0x6c8bde20, 0x1c9d1: 0x6ce78a20, 0x1c9d2: 0x6cce8420, 0x1c9d3: 0x6c3b4620, + 0x1c9d4: 0x6c38bc20, 0x1c9d5: 0x6d0ec220, 0x1c9d6: 0x6d0a3e20, 0x1c9d7: 0x6c807620, + 0x1c9d8: 0x6c9a6a20, 0x1c9d9: 0x6ce1a220, 0x1c9da: 0x6d18a220, 0x1c9db: 0x6c6e3020, + 0x1c9dc: 0x6c9afc20, 0x1c9dd: 0x6c6ecc20, 0x1c9de: 0x6c694420, 0x1c9df: 0x6d1c9a20, + 0x1c9e0: 0x6d23f020, 0x1c9e1: 0x6d18ca20, 0x1c9e2: 0x6d091e20, 0x1c9e3: 0x6c7fc020, + 0x1c9e4: 0x6cdf8020, 0x1c9e5: 0x6d2a9220, 0x1c9e6: 0x6c120c20, 0x1c9e7: 0x6cdc7420, + 0x1c9e8: 0x6cf6ea20, 0x1c9e9: 0x6cc40220, 0x1c9ea: 0x6c235420, 0x1c9eb: 0x6c886220, + 0x1c9ec: 0x6c5b6e20, 0x1c9ed: 0x6d3a2c20, 0x1c9ee: 0x6d022c20, 0x1c9ef: 0x6c8d6e20, + 0x1c9f0: 0x6ceec020, 0x1c9f1: 0x6d18cc20, 0x1c9f2: 0x6d00fc20, 0x1c9f3: 0x6d2fe220, + 0x1c9f4: 0x6c5c5220, 0x1c9f5: 0x6c270020, 0x1c9f6: 0x6ca9ce20, 0x1c9f7: 0x6c7fc220, + 0x1c9f8: 0x6cc7de20, 0x1c9f9: 0x6cfc3a20, 0x1c9fa: 0x6c77b620, 0x1c9fb: 0x6d09ba20, + 0x1c9fc: 0x6c6d6620, 0x1c9fd: 0x6c1df820, 0x1c9fe: 0x6c2a3a20, 0x1c9ff: 0x6d123020, + // Block 0x728, offset 0x1ca00 + 0x1ca00: 0x6c51fc20, 0x1ca01: 0x6c807e20, 0x1ca02: 0x6c0c4220, 0x1ca03: 0x6cc6ce20, + 0x1ca04: 0x6c86d020, 0x1ca05: 0x6ca18220, 0x1ca06: 0x6c067820, 0x1ca07: 0x6cc93220, + 0x1ca08: 0x6c941420, 0x1ca09: 0x6c7ea620, 0x1ca0a: 0x6c023620, 0x1ca0b: 0x6d0ab020, + 0x1ca0c: 0x6c7c1020, 0x1ca0d: 0x6cd7aa20, 0x1ca0e: 0x6c8ab420, 0x1ca0f: 0x6c872020, + 0x1ca10: 0x6c918420, 0x1ca11: 0x6c74ea20, 0x1ca12: 0x6c8a8620, 0x1ca13: 0x6d0efa20, + 0x1ca14: 0x6cf73a20, 0x1ca15: 0x6d025a20, 0x1ca16: 0x6c8fde20, 0x1ca17: 0x6d136e20, + 0x1ca18: 0x6c121a20, 0x1ca19: 0x6cc50c20, 0x1ca1a: 0x6d271420, 0x1ca1b: 0x6c808820, + 0x1ca1c: 0x6c23ce20, 0x1ca1d: 0x6c750c20, 0x1ca1e: 0x6c1d3220, 0x1ca1f: 0x6c49b620, + 0x1ca20: 0x6c72d620, 0x1ca21: 0x6c185620, 0x1ca22: 0x6c9cba20, 0x1ca23: 0x6ce19220, + 0x1ca24: 0x6c809220, 0x1ca25: 0x6d3a4820, 0x1ca26: 0x6c809a20, 0x1ca27: 0x6c8dda20, + 0x1ca28: 0x6c24c420, 0x1ca29: 0x6d24b220, 0x1ca2a: 0x6d2f8020, 0x1ca2b: 0x6d2ff420, + 0x1ca2c: 0x6cabd220, 0x1ca2d: 0x6d328c20, 0x1ca2e: 0x6cad5220, 0x1ca2f: 0x6c195820, + 0x1ca30: 0x6d254620, 0x1ca31: 0x6c009620, 0x1ca32: 0x6cf09c20, 0x1ca33: 0x6c4f4420, + 0x1ca34: 0x6c749620, 0x1ca35: 0x6c74c820, 0x1ca36: 0x6c3fa020, 0x1ca37: 0x6d13b020, + 0x1ca38: 0x6c03aa20, 0x1ca39: 0x6c2e5620, 0x1ca3a: 0x6d13b420, 0x1ca3b: 0x6d10c620, + 0x1ca3c: 0x6d411020, 0x1ca3d: 0x6cd6d020, 0x1ca3e: 0x6c379e20, 0x1ca3f: 0x6cac5020, + // Block 0x729, offset 0x1ca40 + 0x1ca40: 0x6c206e20, 0x1ca41: 0x6c77e220, 0x1ca42: 0x6d29d420, 0x1ca43: 0x6c2ec020, + 0x1ca44: 0x6cbace20, 0x1ca45: 0x6d1dfc20, 0x1ca46: 0x6cbb2a20, 0x1ca47: 0x6cb14420, + 0x1ca48: 0x6c04be20, 0x1ca49: 0x6cacac20, 0x1ca4a: 0x6c175a20, 0x1ca4b: 0x6c64a020, + 0x1ca4c: 0x6cac0020, 0x1ca4d: 0x6c31a020, 0x1ca4e: 0x6c205420, 0x1ca4f: 0x6d215a20, + 0x1ca50: 0x6d2c3a20, 0x1ca51: 0x6c0afc20, 0x1ca52: 0x6c2ec220, 0x1ca53: 0x6c055420, + 0x1ca54: 0x6c0f2c20, 0x1ca55: 0x6c205a20, 0x1ca56: 0x6d1fea20, 0x1ca57: 0x6d206e20, + 0x1ca58: 0x6c31d620, 0x1ca59: 0x6d0b0820, 0x1ca5a: 0x6c197220, 0x1ca5b: 0x6ca96620, + 0x1ca5c: 0x6ca9ac20, 0x1ca5d: 0x6cb24020, 0x1ca5e: 0x6c6f4c20, 0x1ca5f: 0x6ca1be20, + 0x1ca60: 0x6cdde020, 0x1ca61: 0x6ca22420, 0x1ca62: 0x6c814220, 0x1ca63: 0x6cc5c420, + 0x1ca64: 0x6c981a20, 0x1ca65: 0x6c398a20, 0x1ca66: 0x6c98ca20, 0x1ca67: 0x6ca27020, + 0x1ca68: 0x6c426020, 0x1ca69: 0x6cf4b820, 0x1ca6a: 0x6d0e4020, 0x1ca6b: 0x6c437420, + 0x1ca6c: 0x6c06ec20, 0x1ca6d: 0x6cd8a020, 0x1ca6e: 0x6c665e20, 0x1ca6f: 0x6c476620, + 0x1ca70: 0x6d202c20, 0x1ca71: 0x6c437e20, 0x1ca72: 0x6cd0f220, 0x1ca73: 0x6ca23020, + 0x1ca74: 0x6c2be620, 0x1ca75: 0x6cb8be20, 0x1ca76: 0x6cc37020, 0x1ca77: 0x6cc2cc20, + 0x1ca78: 0x6d3f4020, 0x1ca79: 0x6ce27020, 0x1ca7a: 0x6cf5c420, 0x1ca7b: 0x6c985620, + 0x1ca7c: 0x6c793820, 0x1ca7d: 0x6cb8d820, 0x1ca7e: 0x6cf44620, 0x1ca7f: 0x6c481220, + // Block 0x72a, offset 0x1ca80 + 0x1ca80: 0x6cf61a20, 0x1ca81: 0x6c83c220, 0x1ca82: 0x6c83da20, 0x1ca83: 0x6cb3f420, + 0x1ca84: 0x6c5ed420, 0x1ca85: 0x6c428220, 0x1ca86: 0x6d346420, 0x1ca87: 0x6c078820, + 0x1ca88: 0x6cc2f220, 0x1ca89: 0x6c214e20, 0x1ca8a: 0x6c31a220, 0x1ca8b: 0x6c724a20, + 0x1ca8c: 0x6c636e20, 0x1ca8d: 0x6c64a220, 0x1ca8e: 0x6c3c5620, 0x1ca8f: 0x6cb0f820, + 0x1ca90: 0x6c780820, 0x1ca91: 0x6c713020, 0x1ca92: 0x6c77c220, 0x1ca93: 0x6c1e9c20, + 0x1ca94: 0x6cf8b220, 0x1ca95: 0x6c074020, 0x1ca96: 0x6c961820, 0x1ca97: 0x6c6bf220, + 0x1ca98: 0x6c967220, 0x1ca99: 0x6cca0820, 0x1ca9a: 0x6cf0be20, 0x1ca9b: 0x6c98fc20, + 0x1ca9c: 0x6c33b020, 0x1ca9d: 0x6ce78c20, 0x1ca9e: 0x6cbc7620, 0x1ca9f: 0x6c67fc20, + 0x1caa0: 0x6cf94820, 0x1caa1: 0x6c86d220, 0x1caa2: 0x6c31d820, 0x1caa3: 0x6c8b5e20, + 0x1caa4: 0x6cac1020, 0x1caa5: 0x6cb16e20, 0x1caa6: 0x6c0fa620, 0x1caa7: 0x6cf73c20, + 0x1caa8: 0x6c1d8620, 0x1caa9: 0x6cef6820, 0x1caaa: 0x6c7cc220, 0x1caab: 0x6c1d8a20, + 0x1caac: 0x6cc34c20, 0x1caad: 0x6cc38020, 0x1caae: 0x6c035e20, 0x1caaf: 0x6c391620, + 0x1cab0: 0x6cbff420, 0x1cab1: 0x6c611c20, 0x1cab2: 0x6c110420, 0x1cab3: 0x6d3d2220, + 0x1cab4: 0x6c019c20, 0x1cab5: 0x6c436820, 0x1cab6: 0x6d3c3020, 0x1cab7: 0x6c4a0620, + 0x1cab8: 0x6c96b020, 0x1cab9: 0x6d1eee20, 0x1caba: 0x6c778020, 0x1cabb: 0x6c0eae20, + 0x1cabc: 0x6c544a20, 0x1cabd: 0x6d0b7620, 0x1cabe: 0x6d1a2820, 0x1cabf: 0x6c582620, + // Block 0x72b, offset 0x1cac0 + 0x1cac0: 0x6d3c3420, 0x1cac1: 0x6d27da20, 0x1cac2: 0x6c7bba20, 0x1cac3: 0x6ca97a20, + 0x1cac4: 0x6c2b5420, 0x1cac5: 0x6cbe2e20, 0x1cac6: 0x6d381420, 0x1cac7: 0x6ca26a20, + 0x1cac8: 0x6c06d820, 0x1cac9: 0x6caf4220, 0x1caca: 0x6c70fc20, 0x1cacb: 0x6d147420, + 0x1cacc: 0x6cd0e420, 0x1cacd: 0x6cad4e20, 0x1cace: 0x6cf98e20, 0x1cacf: 0x6ceaf220, + 0x1cad0: 0x6c552620, 0x1cad1: 0x6c8cae20, 0x1cad2: 0x6c3a8a20, 0x1cad3: 0x6cafbe20, + 0x1cad4: 0x6ca62a20, 0x1cad5: 0x6d119020, 0x1cad6: 0x6d201a20, 0x1cad7: 0x6c467020, + 0x1cad8: 0x6d094620, 0x1cad9: 0x6c705e20, 0x1cada: 0x6c286a20, 0x1cadb: 0x6c0eb820, + 0x1cadc: 0x6c7a7420, 0x1cadd: 0x6cfbe820, 0x1cade: 0x6ca8f820, 0x1cadf: 0x6c586620, + 0x1cae0: 0x6c523c20, 0x1cae1: 0x6c68d420, 0x1cae2: 0x6c50dc20, 0x1cae3: 0x6d2fa420, + 0x1cae4: 0x6c5ff620, 0x1cae5: 0x6d0a7220, 0x1cae6: 0x6cccd220, 0x1cae7: 0x6cde3820, + 0x1cae8: 0x6cc65820, 0x1cae9: 0x6cd45620, 0x1caea: 0x6ce72820, 0x1caeb: 0x6c81a820, + 0x1caec: 0x6c318a20, 0x1caed: 0x6cf99c20, 0x1caee: 0x6cd1ae20, 0x1caef: 0x6c7b1a20, + 0x1caf0: 0x6d329c20, 0x1caf1: 0x6d22e420, 0x1caf2: 0x6cdccc20, 0x1caf3: 0x6d20f420, + 0x1caf4: 0x6c096220, 0x1caf5: 0x6c985420, 0x1caf6: 0x6cf5c620, 0x1caf7: 0x6c734c20, + 0x1caf8: 0x6c87e020, 0x1caf9: 0x6cf9aa20, 0x1cafa: 0x6d1a4820, 0x1cafb: 0x6cdb7e20, + 0x1cafc: 0x6c80ae20, 0x1cafd: 0x6c070220, 0x1cafe: 0x6d35c020, 0x1caff: 0x6d0c7420, + // Block 0x72c, offset 0x1cb00 + 0x1cb00: 0x6ccbdc20, 0x1cb01: 0x6c85d220, 0x1cb02: 0x6c4e9e20, 0x1cb03: 0x6cfc0020, + 0x1cb04: 0x6c6dae20, 0x1cb05: 0x6cabfc20, 0x1cb06: 0x6c3a0620, 0x1cb07: 0x6cfeb820, + 0x1cb08: 0x6c044220, 0x1cb09: 0x6cb5cc20, 0x1cb0a: 0x6ca5da20, 0x1cb0b: 0x6c0bfc20, + 0x1cb0c: 0x6d1b5620, 0x1cb0d: 0x6c7efe20, 0x1cb0e: 0x6c8b0220, 0x1cb0f: 0x6c648820, + 0x1cb10: 0x6cbaac20, 0x1cb11: 0x6c7d5a20, 0x1cb12: 0x6d0c0a20, 0x1cb13: 0x6c4cba20, + 0x1cb14: 0x6d402020, 0x1cb15: 0x6c9c4820, 0x1cb16: 0x6c166820, 0x1cb17: 0x6d13e620, + 0x1cb18: 0x6d35e820, 0x1cb19: 0x6d32b420, 0x1cb1a: 0x6d0b2c20, 0x1cb1b: 0x6c9bce20, + 0x1cb1c: 0x6c10f820, 0x1cb1d: 0x6c243620, 0x1cb1e: 0x6cceec20, 0x1cb1f: 0x6c8b9820, + 0x1cb20: 0x6c2d1620, 0x1cb21: 0x6c953e20, 0x1cb22: 0x6c556020, 0x1cb23: 0x6d3f9020, + 0x1cb24: 0x6c4b4620, 0x1cb25: 0x6cefc820, 0x1cb26: 0x6c3c4c20, 0x1cb27: 0x6cf28c20, + 0x1cb28: 0x6d256620, 0x1cb29: 0x6d037420, 0x1cb2a: 0x6d399820, 0x1cb2b: 0x6c98ba20, + 0x1cb2c: 0x6cf14020, 0x1cb2d: 0x6c1fe420, 0x1cb2e: 0x6cfcce20, 0x1cb2f: 0x6ce93420, + 0x1cb30: 0x6d0bb220, 0x1cb31: 0x6ca4ac20, 0x1cb32: 0x6d004220, 0x1cb33: 0x6c636020, + 0x1cb34: 0x6c540620, 0x1cb35: 0x6c0af420, 0x1cb36: 0x6d1f3a20, 0x1cb37: 0x6d1f4820, + 0x1cb38: 0x6c9a0020, 0x1cb39: 0x6c13e420, 0x1cb3a: 0x6d111420, 0x1cb3b: 0x6cdcd620, + 0x1cb3c: 0x6c0f1420, 0x1cb3d: 0x6ca00820, 0x1cb3e: 0x6c574020, 0x1cb3f: 0x6d258620, + // Block 0x72d, offset 0x1cb40 + 0x1cb40: 0x6cd9b420, 0x1cb41: 0x6c96c420, 0x1cb42: 0x6d258820, 0x1cb43: 0x6c270c20, + 0x1cb44: 0x6d239220, 0x1cb45: 0x6cd1d220, 0x1cb46: 0x6c4fcc20, 0x1cb47: 0x6cbb6420, + 0x1cb48: 0x6d17ea20, 0x1cb49: 0x6d316a20, 0x1cb4a: 0x6c123420, 0x1cb4b: 0x6c4fe220, + 0x1cb4c: 0x6c97ee20, 0x1cb4d: 0x6c6e9620, 0x1cb4e: 0x6c67b820, 0x1cb4f: 0x6ca12e20, + 0x1cb50: 0x6d2ecc20, 0x1cb51: 0x6c150a20, 0x1cb52: 0x6c026420, 0x1cb53: 0x6c025420, + 0x1cb54: 0x6c4fd420, 0x1cb55: 0x6c24e020, 0x1cb56: 0x6c07c420, 0x1cb57: 0x6c749820, + 0x1cb58: 0x6c0a2c20, 0x1cb59: 0x6c09fe20, 0x1cb5a: 0x6c59dc20, 0x1cb5b: 0x6cb44a20, + 0x1cb5c: 0x6c8bd020, 0x1cb5d: 0x6d072620, 0x1cb5e: 0x6ce77e20, 0x1cb5f: 0x6d121e20, + 0x1cb60: 0x6c8a1220, 0x1cb61: 0x6cd79020, 0x1cb62: 0x6cff0620, 0x1cb63: 0x6cd49020, + 0x1cb64: 0x6c33a820, 0x1cb65: 0x6c69c620, 0x1cb66: 0x6c442020, 0x1cb67: 0x6c739020, + 0x1cb68: 0x6c31b420, 0x1cb69: 0x6c5c3820, 0x1cb6a: 0x6c7b3e20, 0x1cb6b: 0x6cfc2c20, + 0x1cb6c: 0x6d021820, 0x1cb6d: 0x6cde1820, 0x1cb6e: 0x6cfc3220, 0x1cb6f: 0x6d09b020, + 0x1cb70: 0x6ca92620, 0x1cb71: 0x6cb21820, 0x1cb72: 0x6c5dfc20, 0x1cb73: 0x6caa2a20, + 0x1cb74: 0x6c9be620, 0x1cb75: 0x6c8b5420, 0x1cb76: 0x6ca51e20, 0x1cb77: 0x6c4a0c20, + 0x1cb78: 0x6cd48420, 0x1cb79: 0x6c917420, 0x1cb7a: 0x6cde2020, 0x1cb7b: 0x6cfd3c20, + 0x1cb7c: 0x6c9ca220, 0x1cb7d: 0x6cc4e820, 0x1cb7e: 0x6c584020, 0x1cb7f: 0x6ca52820, + // Block 0x72e, offset 0x1cb80 + 0x1cb80: 0x6c957820, 0x1cb81: 0x6cfc5420, 0x1cb82: 0x6cb6ac20, 0x1cb83: 0x6c751e20, + 0x1cb84: 0x6d07fa20, 0x1cb85: 0x6c9eae20, 0x1cb86: 0x6d3e1a20, 0x1cb87: 0x6c93d620, + 0x1cb88: 0x6c914c20, 0x1cb89: 0x6d22b820, 0x1cb8a: 0x6cda7a20, 0x1cb8b: 0x6cedda20, + 0x1cb8c: 0x6cbff620, 0x1cb8d: 0x6c40d220, 0x1cb8e: 0x6c2f4c20, 0x1cb8f: 0x6c821620, + 0x1cb90: 0x6c031620, 0x1cb91: 0x6c5e7c20, 0x1cb92: 0x6c52fa20, 0x1cb93: 0x6c2c1a20, + 0x1cb94: 0x6c202e20, 0x1cb95: 0x6c416c20, 0x1cb96: 0x6c6fac20, 0x1cb97: 0x6d20be20, + 0x1cb98: 0x6cb6d820, 0x1cb99: 0x6d20c020, 0x1cb9a: 0x6c170620, 0x1cb9b: 0x6c969020, + 0x1cb9c: 0x6c456420, 0x1cb9d: 0x6cf43020, 0x1cb9e: 0x6c3d4220, 0x1cb9f: 0x6cf18420, + 0x1cba0: 0x6c6bc620, 0x1cba1: 0x6d0b1a20, 0x1cba2: 0x6c0d2620, 0x1cba3: 0x6c0b8020, + 0x1cba4: 0x6c056220, 0x1cba5: 0x6d268820, 0x1cba6: 0x6c73f220, 0x1cba7: 0x6c9ac220, + 0x1cba8: 0x6c73f420, 0x1cba9: 0x6cecca20, 0x1cbaa: 0x6c646e20, 0x1cbab: 0x6c99da20, + 0x1cbac: 0x6c282420, 0x1cbad: 0x6cb20420, 0x1cbae: 0x6cef9620, 0x1cbaf: 0x6c585820, + 0x1cbb0: 0x6cfc8020, 0x1cbb1: 0x6cbaa820, 0x1cbb2: 0x6c8cbe20, 0x1cbb3: 0x6c274a20, + 0x1cbb4: 0x6d16fc20, 0x1cbb5: 0x6c016820, 0x1cbb6: 0x6cb28820, 0x1cbb7: 0x6c2d4620, + 0x1cbb8: 0x6c3e1620, 0x1cbb9: 0x6d080220, 0x1cbba: 0x6cf7da20, 0x1cbbb: 0x6c0e5820, + 0x1cbbc: 0x6c229420, 0x1cbbd: 0x6c467820, 0x1cbbe: 0x6c640620, 0x1cbbf: 0x6cce9e20, + // Block 0x72f, offset 0x1cbc0 + 0x1cbc0: 0x6cb37220, 0x1cbc1: 0x6c222220, 0x1cbc2: 0x6c77e420, 0x1cbc3: 0x6cc4bc20, + 0x1cbc4: 0x6cd0f420, 0x1cbc5: 0x6ccfbe20, 0x1cbc6: 0x6d14a820, 0x1cbc7: 0x6d411220, + 0x1cbc8: 0x6c633c20, 0x1cbc9: 0x6c9f3a20, 0x1cbca: 0x6cccd420, 0x1cbcb: 0x6c8efe20, + 0x1cbcc: 0x6c095020, 0x1cbcd: 0x6d312c20, 0x1cbce: 0x6d312e20, 0x1cbcf: 0x6c73fc20, + 0x1cbd0: 0x6c383820, 0x1cbd1: 0x6c8f7820, 0x1cbd2: 0x6c6c3e20, 0x1cbd3: 0x6c698e20, + 0x1cbd4: 0x6c667020, 0x1cbd5: 0x6c85d420, 0x1cbd6: 0x6c4a1e20, 0x1cbd7: 0x6cfa9220, + 0x1cbd8: 0x6d386820, 0x1cbd9: 0x6c45e420, 0x1cbda: 0x6d0be820, 0x1cbdb: 0x6d053420, + 0x1cbdc: 0x6d0fa420, 0x1cbdd: 0x6d063620, 0x1cbde: 0x6c95f620, 0x1cbdf: 0x6cda9020, + 0x1cbe0: 0x6d399420, 0x1cbe1: 0x6cbd6420, 0x1cbe2: 0x6d1a4a20, 0x1cbe3: 0x6d09fe20, + 0x1cbe4: 0x6c05f620, 0x1cbe5: 0x6c379220, 0x1cbe6: 0x6cfe2a20, 0x1cbe7: 0x6d10e420, + 0x1cbe8: 0x6cf9ac20, 0x1cbe9: 0x6c4f6620, 0x1cbea: 0x6c4a4a20, 0x1cbeb: 0x6c1cba20, + 0x1cbec: 0x6d06ac20, 0x1cbed: 0x6c047820, 0x1cbee: 0x6cae1620, 0x1cbef: 0x6c81f020, + 0x1cbf0: 0x6c28fa20, 0x1cbf1: 0x6d1d6420, 0x1cbf2: 0x6c5aa620, 0x1cbf3: 0x6cf19220, + 0x1cbf4: 0x6c355c20, 0x1cbf5: 0x6c19e820, 0x1cbf6: 0x6c2c4420, 0x1cbf7: 0x6cf44c20, + 0x1cbf8: 0x6cf3c420, 0x1cbf9: 0x6c19e020, 0x1cbfa: 0x6c75b220, 0x1cbfb: 0x6c99ee20, + 0x1cbfc: 0x6c071220, 0x1cbfd: 0x6ce6c220, 0x1cbfe: 0x6cfcb420, 0x1cbff: 0x6c1f3220, + // Block 0x730, offset 0x1cc00 + 0x1cc00: 0x6c4e0820, 0x1cc01: 0x6d081220, 0x1cc02: 0x6d0c8820, 0x1cc03: 0x6cc05020, + 0x1cc04: 0x6d088a20, 0x1cc05: 0x6c80be20, 0x1cc06: 0x6c851420, 0x1cc07: 0x6d053c20, + 0x1cc08: 0x6c3e5620, 0x1cc09: 0x6c8e5020, 0x1cc0a: 0x6d0b1e20, 0x1cc0b: 0x6cf5f820, + 0x1cc0c: 0x6c8cec20, 0x1cc0d: 0x6c83c420, 0x1cc0e: 0x6c6d0420, 0x1cc0f: 0x6c88b620, + 0x1cc10: 0x6cdd6020, 0x1cc11: 0x6cddd620, 0x1cc12: 0x6c3cfe20, 0x1cc13: 0x6cecd620, + 0x1cc14: 0x6c2d5a20, 0x1cc15: 0x6cb20c20, 0x1cc16: 0x6d2df020, 0x1cc17: 0x6ccb2c20, + 0x1cc18: 0x6c9f5620, 0x1cc19: 0x6d234820, 0x1cc1a: 0x6c709420, 0x1cc1b: 0x6c186820, + 0x1cc1c: 0x6c7f0a20, 0x1cc1d: 0x6cf19620, 0x1cc1e: 0x6cd16c20, 0x1cc1f: 0x6cef1420, + 0x1cc20: 0x6ce4f620, 0x1cc21: 0x6c1f4020, 0x1cc22: 0x6d423c20, 0x1cc23: 0x6c081e20, + 0x1cc24: 0x6c196020, 0x1cc25: 0x6c562220, 0x1cc26: 0x6cb5ea20, 0x1cc27: 0x6c365e20, + 0x1cc28: 0x6c7d6420, 0x1cc29: 0x6c167020, 0x1cc2a: 0x6cb5ec20, 0x1cc2b: 0x6c082020, + 0x1cc2c: 0x6ced2020, 0x1cc2d: 0x6c925620, 0x1cc2e: 0x6c239e20, 0x1cc2f: 0x6c495220, + 0x1cc30: 0x6d0d9020, 0x1cc31: 0x6c2dca20, 0x1cc32: 0x6c072620, 0x1cc33: 0x6c8bb620, + 0x1cc34: 0x6cbd7220, 0x1cc35: 0x6caff220, 0x1cc36: 0x6cabd620, 0x1cc37: 0x6cc3b820, + 0x1cc38: 0x6d3d6220, 0x1cc39: 0x6cbd7420, 0x1cc3a: 0x6c383c20, 0x1cc3b: 0x6c6d8020, + 0x1cc3c: 0x6cbf2a20, 0x1cc3d: 0x6c321a20, 0x1cc3e: 0x6c6bec20, 0x1cc3f: 0x6c5cf220, + // Block 0x731, offset 0x1cc40 + 0x1cc40: 0x6d226c20, 0x1cc41: 0x6c999820, 0x1cc42: 0x6c9a1020, 0x1cc43: 0x6c210e20, + 0x1cc44: 0x6d07aa20, 0x1cc45: 0x6ce34a20, 0x1cc46: 0x6d038020, 0x1cc47: 0x6c277a20, + 0x1cc48: 0x6cc75220, 0x1cc49: 0x6c9f6020, 0x1cc4a: 0x6c64b820, 0x1cc4b: 0x6cefe020, + 0x1cc4c: 0x6cc86620, 0x1cc4d: 0x6c593820, 0x1cc4e: 0x6d00be20, 0x1cc4f: 0x6c1fe820, + 0x1cc50: 0x6c65ae20, 0x1cc51: 0x6d3bce20, 0x1cc52: 0x6c171620, 0x1cc53: 0x6c890a20, + 0x1cc54: 0x6cc2fe20, 0x1cc55: 0x6cf9d420, 0x1cc56: 0x6c32ce20, 0x1cc57: 0x6d262220, + 0x1cc58: 0x6d0b2e20, 0x1cc59: 0x6ca50220, 0x1cc5a: 0x6c557220, 0x1cc5b: 0x6d1bbe20, + 0x1cc5c: 0x6d215e20, 0x1cc5d: 0x6c59d620, 0x1cc5e: 0x6cc8d420, 0x1cc5f: 0x6ccb3020, + 0x1cc60: 0x6c8e7c20, 0x1cc61: 0x6cd1de20, 0x1cc62: 0x6cc69e20, 0x1cc63: 0x6cdd8220, + 0x1cc64: 0x6d112620, 0x1cc65: 0x6cf15c20, 0x1cc66: 0x6cf45c20, 0x1cc67: 0x6d317e20, + 0x1cc68: 0x6c6d2a20, 0x1cc69: 0x6d1c8a20, 0x1cc6a: 0x6c969e20, 0x1cc6b: 0x6ce1dc20, + 0x1cc6c: 0x6c8e8220, 0x1cc6d: 0x6ce11820, 0x1cc6e: 0x6c864e20, 0x1cc6f: 0x6c80c420, + 0x1cc70: 0x6c4a7020, 0x1cc71: 0x6d325020, 0x1cc72: 0x6cbad020, 0x1cc73: 0x6c25be20, + 0x1cc74: 0x6c748020, 0x1cc75: 0x6d2f8e20, 0x1cc76: 0x6d112820, 0x1cc77: 0x6c00bc20, + 0x1cc78: 0x6c0d4620, 0x1cc79: 0x6cd4f620, 0x1cc7a: 0x6c16c020, 0x1cc7b: 0x6c7d8020, + 0x1cc7c: 0x6d3b8820, 0x1cc7d: 0x6c234020, 0x1cc7e: 0x6c6cb020, 0x1cc7f: 0x6d141620, + // Block 0x732, offset 0x1cc80 + 0x1cc80: 0x6c250020, 0x1cc81: 0x6c234220, 0x1cc82: 0x6cb63820, 0x1cc83: 0x6c841a20, + 0x1cc84: 0x6d1d0820, 0x1cc85: 0x6cdd8a20, 0x1cc86: 0x6cc08c20, 0x1cc87: 0x6d082020, + 0x1cc88: 0x6c026620, 0x1cc89: 0x6c88c420, 0x1cc8a: 0x6c9ad420, 0x1cc8b: 0x6d2eda20, + 0x1cc8c: 0x6d1a9620, 0x1cc8d: 0x6c57e220, 0x1cc8e: 0x6d1be620, 0x1cc8f: 0x6cf0ce20, + 0x1cc90: 0x6c92e620, 0x1cc91: 0x6cf3ec20, 0x1cc92: 0x6c2aac20, 0x1cc93: 0x6d054820, + 0x1cc94: 0x6d2b9420, 0x1cc95: 0x6d0a4220, 0x1cc96: 0x6cc1b420, 0x1cc97: 0x6c299420, + 0x1cc98: 0x6c8be020, 0x1cc99: 0x6c8a1c20, 0x1cc9a: 0x6cbf6220, 0x1cc9b: 0x6cdb3420, + 0x1cc9c: 0x6c59ec20, 0x1cc9d: 0x6c4a8c20, 0x1cc9e: 0x6cb45220, 0x1cc9f: 0x6c6e3220, + 0x1cca0: 0x6c38be20, 0x1cca1: 0x6c6d4220, 0x1cca2: 0x6c8e9820, 0x1cca3: 0x6c5f3620, + 0x1cca4: 0x6c5cae20, 0x1cca5: 0x6c6e3420, 0x1cca6: 0x6c00e220, 0x1cca7: 0x6c0a8e20, + 0x1cca8: 0x6c120e20, 0x1cca9: 0x6cc1d820, 0x1ccaa: 0x6d2a5820, 0x1ccab: 0x6c290c20, + 0x1ccac: 0x6c694c20, 0x1ccad: 0x6c4c0420, 0x1ccae: 0x6ce07e20, 0x1ccaf: 0x6c5c5420, + 0x1ccb0: 0x6c58a620, 0x1ccb1: 0x6ccb7020, 0x1ccb2: 0x6cdc7620, 0x1ccb3: 0x6ce4c620, + 0x1ccb4: 0x6c1f9a20, 0x1ccb5: 0x6d21b820, 0x1ccb6: 0x6c6d6820, 0x1ccb7: 0x6c917620, + 0x1ccb8: 0x6c0d6020, 0x1ccb9: 0x6cd54220, 0x1ccba: 0x6cf21820, 0x1ccbb: 0x6d41a220, + 0x1ccbc: 0x6c7fd020, 0x1ccbd: 0x6cf82020, 0x1ccbe: 0x6d3ea820, 0x1ccbf: 0x6d083020, + // Block 0x733, offset 0x1ccc0 + 0x1ccc0: 0x6cc88420, 0x1ccc1: 0x6cf31e20, 0x1ccc2: 0x6c415820, 0x1ccc3: 0x6c827220, + 0x1ccc4: 0x6c31da20, 0x1ccc5: 0x6c86fe20, 0x1ccc6: 0x6d374020, 0x1ccc7: 0x6cc76a20, + 0x1ccc8: 0x6c848e20, 0x1ccc9: 0x6d29ac20, 0x1ccca: 0x6cbf7620, 0x1cccb: 0x6ce43a20, + 0x1cccc: 0x6c4aa420, 0x1cccd: 0x6cdc0020, 0x1ccce: 0x6c7eb220, 0x1cccf: 0x6c8fe020, + 0x1ccd0: 0x6c918620, 0x1ccd1: 0x6c872620, 0x1ccd2: 0x6d29b220, 0x1ccd3: 0x6c808a20, + 0x1ccd4: 0x6d1c2e20, 0x1ccd5: 0x6c9cb420, 0x1ccd6: 0x6cfd9c20, 0x1ccd7: 0x6cbf8820, + 0x1ccd8: 0x6c49b820, 0x1ccd9: 0x6c2a5020, 0x1ccda: 0x6d29c020, 0x1ccdb: 0x6c58ce20, + 0x1ccdc: 0x6c483e20, 0x1ccdd: 0x6c0eba20, 0x1ccde: 0x6c2e8820, 0x1ccdf: 0x6c0ed820, + 0x1cce0: 0x6c568e20, 0x1cce1: 0x6d347620, 0x1cce2: 0x6cb18020, 0x1cce3: 0x6c050c20, + 0x1cce4: 0x6cc4f020, 0x1cce5: 0x6c87a220, 0x1cce6: 0x6cec0c20, + 0x1cce8: 0x6cfdaa20, 0x1cce9: 0x6cb8aa20, 0x1ccea: 0x6c04c020, 0x1cceb: 0x6cae3a20, + 0x1ccec: 0x6c39c820, 0x1cced: 0x6c282620, 0x1ccee: 0x6cf26c20, 0x1ccef: 0x6cab3420, + 0x1ccf2: 0x6cec4a20, 0x1ccf3: 0x6c552a20, + 0x1ccf4: 0x6c8cc020, 0x1ccf5: 0x6d14aa20, 0x1ccf6: 0x6cb29420, 0x1ccf7: 0x6c223820, + 0x1ccf8: 0x6c042020, 0x1ccf9: 0x6c72ea20, 0x1ccfa: 0x6c16a820, 0x1ccfb: 0x6c1aa820, + 0x1ccfd: 0x6c296820, 0x1ccfe: 0x6c9bd620, 0x1ccff: 0x6c109820, + // Block 0x734, offset 0x1cd00 + 0x1cd00: 0x6d3c8820, 0x1cd01: 0x6cb2aa20, 0x1cd02: 0x6c0afe20, 0x1cd03: 0x6d393220, + 0x1cd04: 0x6d316c20, 0x1cd06: 0x6c225020, 0x1cd07: 0x6d1bd220, + 0x1cd08: 0x6cb7b220, 0x1cd09: 0x6cfb7420, 0x1cd0a: 0x6c90f220, 0x1cd0b: 0x6c2c9220, + 0x1cd0c: 0x6cab5020, 0x1cd0d: 0x6c9b2e20, 0x1cd0e: 0x6d3b8a20, 0x1cd0f: 0x6c084e20, + 0x1cd10: 0x6c8c6420, 0x1cd11: 0x6d2bb020, 0x1cd12: 0x6cf47c20, 0x1cd13: 0x6cb0c220, + 0x1cd14: 0x6c280220, 0x1cd15: 0x6cf27420, 0x1cd16: 0x6d1c0820, 0x1cd17: 0x6d0e0420, + 0x1cd18: 0x6c415c20, 0x1cd19: 0x6c273420, 0x1cd1a: 0x6cd03820, 0x1cd1b: 0x6ce49a20, + 0x1cd1c: 0x6ce49c20, 0x1cd1d: 0x6c4e1c20, 0x1cd1e: 0x6c16b020, 0x1cd1f: 0x6cd0d220, + 0x1cd20: 0x6cbe6e20, 0x1cd21: 0x6ccfcc20, 0x1cd22: 0x6c15aa20, 0x1cd23: 0x6c15ac20, + 0x1cd24: 0x6cc89c20, 0x1cd25: 0x6cd10620, 0x1cd26: 0x6cda4c20, 0x1cd27: 0x6cd00820, + 0x1cd28: 0x6d1e6c20, 0x1cd29: 0x6cd66020, 0x1cd2a: 0x6c920e20, 0x1cd2b: 0x6c40a820, + 0x1cd2c: 0x6d1e1020, 0x1cd2d: 0x6c080e20, 0x1cd2e: 0x6c3cdc20, 0x1cd2f: 0x6ca90820, + 0x1cd30: 0x6ce47e20, 0x1cd31: 0x6d1ee020, 0x1cd32: 0x6c63fc20, 0x1cd33: 0x6ccf9a20, + 0x1cd34: 0x6d2c1820, 0x1cd35: 0x6c2d3220, 0x1cd36: 0x6c3dce20, 0x1cd37: 0x6ca3e220, + 0x1cd38: 0x6c2cbc20, 0x1cd39: 0x6cb24820, 0x1cd3a: 0x6ce62e20, 0x1cd3b: 0x6c578420, + 0x1cd3c: 0x6ce6b220, 0x1cd3d: 0x6d321a20, 0x1cd3e: 0x6d28f620, 0x1cd3f: 0x6c9b0820, + // Block 0x735, offset 0x1cd40 + 0x1cd40: 0x6c093c20, 0x1cd41: 0x6cb58620, 0x1cd42: 0x6c8f2620, 0x1cd43: 0x6d09de20, + 0x1cd44: 0x6c8e4420, 0x1cd45: 0x6c170820, 0x1cd46: 0x6ca23220, 0x1cd47: 0x6d278a20, + 0x1cd48: 0x6c393620, 0x1cd49: 0x6c3e1820, 0x1cd4a: 0x6c44bc20, 0x1cd4b: 0x6ce48e20, + 0x1cd4c: 0x6c6bca20, 0x1cd4d: 0x6c6bcc20, 0x1cd4e: 0x6cc35220, 0x1cd4f: 0x6cf07c20, + 0x1cd50: 0x6c3e1a20, 0x1cd51: 0x6ce49020, 0x1cd52: 0x6ca23420, 0x1cd53: 0x6c341e20, + 0x1cd54: 0x6cacb020, 0x1cd55: 0x6c675620, 0x1cd56: 0x6cebd220, 0x1cd57: 0x6c269020, + 0x1cd58: 0x6ca3f020, 0x1cd59: 0x6c8e4c20, 0x1cd5a: 0x6c079a20, 0x1cd5b: 0x6d31c820, + 0x1cd5c: 0x6c1f2820, 0x1cd5d: 0x6ca23820, 0x1cd5e: 0x6ca23a20, 0x1cd5f: 0x6c12d820, + 0x1cd60: 0x6ce49620, 0x1cd61: 0x6c40f220, 0x1cd62: 0x6c096420, 0x1cd63: 0x6c269a20, + 0x1cd64: 0x6d35ea20, 0x1cd65: 0x6c361220, 0x1cd66: 0x6cb5ce20, 0x1cd67: 0x6c94a020, + 0x1cd68: 0x6cac3e20, 0x1cd69: 0x6d199020, 0x1cd6a: 0x6c384e20, 0x1cd6b: 0x6c579820, + 0x1cd6c: 0x6ccef220, 0x1cd6d: 0x6d212e20, 0x1cd6e: 0x6ca24220, 0x1cd6f: 0x6c75be20, + 0x1cd70: 0x6d176620, 0x1cd71: 0x6c8e5820, 0x1cd72: 0x6ccef420, 0x1cd73: 0x6c2eac20, + 0x1cd74: 0x6c1db020, 0x1cd75: 0x6c579e20, 0x1cd76: 0x6c290020, 0x1cd77: 0x6d3c9020, + 0x1cd78: 0x6c5eea20, 0x1cd79: 0x6ced2a20, 0x1cd7a: 0x6c676620, 0x1cd7b: 0x6c1a2620, + 0x1cd7c: 0x6c171e20, 0x1cd7d: 0x6cea8020, 0x1cd7e: 0x6c825220, 0x1cd7f: 0x6c5f1620, + // Block 0x736, offset 0x1cd80 + 0x1cd80: 0x6c13b020, 0x1cd81: 0x6c8e9a20, 0x1cd82: 0x6c2f3c20, 0x1cd83: 0x6ce98220, + 0x1cd84: 0x6c8c6c20, 0x1cd85: 0x6c678c20, 0x1cd86: 0x6c679020, 0x1cd87: 0x6c1e0020, + 0x1cd88: 0x6cb0d620, 0x1cd89: 0x6c2f0620, 0x1cd8a: 0x6c2f1020, 0x1cd8b: 0x6cb04420, + 0x1cd8c: 0x6c6a8220, 0x1cd8d: 0x6c287220, 0x1cd8e: 0x6cd4da20, 0x1cd8f: 0x6cd4dc20, + 0x1cd90: 0x6d369220, 0x1cd91: 0x6d153420, 0x1cd92: 0x6ca54020, 0x1cd93: 0x6ca39420, + 0x1cd94: 0x6c2f4e20, 0x1cd95: 0x6c08be20, 0x1cd96: 0x6c69f620, 0x1cd97: 0x6c89da20, + 0x1cd98: 0x6c426220, 0x1cd99: 0x6c437620, 0x1cd9a: 0x6c6fd620, 0x1cd9b: 0x6d38da20, + 0x1cd9c: 0x6cfa3020, 0x1cd9d: 0x6ccd7220, 0x1cd9e: 0x6d057220, 0x1cd9f: 0x6caa9e20, + 0x1cda0: 0x6c859220, 0x1cda1: 0x6d0f8a20, 0x1cda2: 0x6c192020, 0x1cda3: 0x6d1f0c20, + 0x1cda4: 0x6c033220, 0x1cda5: 0x6c6bce20, 0x1cda6: 0x6c73fe20, 0x1cda7: 0x6cb59620, + 0x1cda8: 0x6cf95620, 0x1cda9: 0x6c251e20, 0x1cdaa: 0x6c095220, 0x1cdab: 0x6d16fe20, + 0x1cdac: 0x6c85aa20, 0x1cdad: 0x6d401a20, 0x1cdae: 0x6c204e20, 0x1cdaf: 0x6c3c2620, + 0x1cdb0: 0x6d3ad220, 0x1cdb1: 0x6cad8620, 0x1cdb2: 0x6cafd020, 0x1cdb3: 0x6c418a20, + 0x1cdb4: 0x6c77ee20, 0x1cdb5: 0x6c21fa20, 0x1cdb6: 0x6d08de20, 0x1cdb7: 0x6d33c620, + 0x1cdb8: 0x6c283020, 0x1cdb9: 0x6d31ca20, 0x1cdba: 0x6c380220, 0x1cdbb: 0x6d350e20, + 0x1cdbc: 0x6ce29c20, 0x1cdbd: 0x6c706a20, 0x1cdbe: 0x6c600220, 0x1cdbf: 0x6c3a9a20, + // Block 0x737, offset 0x1cdc0 + 0x1cdc0: 0x6c706c20, 0x1cdc1: 0x6cccda20, 0x1cdc2: 0x6c634420, 0x1cdc3: 0x6d080820, + 0x1cdc4: 0x6d2cbc20, 0x1cdc5: 0x6c0e1420, 0x1cdc6: 0x6ca80a20, 0x1cdc7: 0x6d334620, + 0x1cdc8: 0x6d1d8020, 0x1cdc9: 0x6c6e6820, 0x1cdca: 0x6cc2e020, 0x1cdcb: 0x6ce29e20, + 0x1cdcc: 0x6ce6f420, 0x1cdcd: 0x6d14e620, 0x1cdce: 0x6c6a0020, 0x1cdcf: 0x6cefb020, + 0x1cdd0: 0x6c5b3620, 0x1cdd1: 0x6cdfa220, 0x1cdd2: 0x6d101220, 0x1cdd3: 0x6c1c1220, + 0x1cdd4: 0x6d35ec20, 0x1cdd5: 0x6c523220, 0x1cdd6: 0x6d0b5220, 0x1cdd7: 0x6c9a9220, + 0x1cdd8: 0x6c311a20, 0x1cdd9: 0x6c6e8620, 0x1cdda: 0x6cfec020, 0x1cddb: 0x6ce7c820, + 0x1cddc: 0x6ce86220, 0x1cddd: 0x6c986020, 0x1cdde: 0x6cb05e20, 0x1cddf: 0x6cfec220, + 0x1cde0: 0x6cdb8020, 0x1cde1: 0x6c3d7020, 0x1cde2: 0x6c861220, 0x1cde3: 0x6d363420, + 0x1cde4: 0x6c25de20, 0x1cde5: 0x6c345220, 0x1cde6: 0x6cf4ee20, 0x1cde7: 0x6ccbf420, + 0x1cde8: 0x6c815a20, 0x1cde9: 0x6cd46a20, 0x1cdea: 0x6c592620, 0x1cdeb: 0x6cfb5e20, + 0x1cdec: 0x6d17ee20, 0x1cded: 0x6c07f820, 0x1cdee: 0x6d2f3420, 0x1cdef: 0x6c495620, + 0x1cdf0: 0x6cdfec20, 0x1cdf1: 0x6c3ab820, 0x1cdf2: 0x6c966a20, 0x1cdf3: 0x6c8bba20, + 0x1cdf4: 0x6c1abc20, 0x1cdf5: 0x6c621a20, 0x1cdf6: 0x6ce50220, 0x1cdf7: 0x6c013820, + 0x1cdf8: 0x6c1c3220, 0x1cdf9: 0x6c09d020, 0x1cdfa: 0x6c09d220, 0x1cdfb: 0x6c9f6220, + 0x1cdfc: 0x6c481a20, 0x1cdfd: 0x6c330820, 0x1cdfe: 0x6c354220, 0x1cdff: 0x6cefe220, + // Block 0x738, offset 0x1ce00 + 0x1ce00: 0x6d209220, 0x1ce01: 0x6c254420, 0x1ce02: 0x6d0b5620, 0x1ce03: 0x6d3a1620, + 0x1ce04: 0x6c244020, 0x1ce05: 0x6c27e620, 0x1ce06: 0x6cd0b020, 0x1ce07: 0x6d380220, + 0x1ce08: 0x6c1c4620, 0x1ce09: 0x6d239420, 0x1ce0a: 0x6c541c20, 0x1ce0b: 0x6c3c5c20, + 0x1ce0c: 0x6c7e8420, 0x1ce0d: 0x6d0fd220, 0x1ce0e: 0x6c18de20, 0x1ce0f: 0x6ce8c420, + 0x1ce10: 0x6d226e20, 0x1ce11: 0x6c4c2820, 0x1ce12: 0x6cf19e20, 0x1ce13: 0x6c594420, + 0x1ce14: 0x6c7aa220, 0x1ce15: 0x6c642820, 0x1ce16: 0x6d19f620, 0x1ce17: 0x6d182c20, + 0x1ce18: 0x6c911020, 0x1ce19: 0x6ccaf820, 0x1ce1a: 0x6c749a20, 0x1ce1b: 0x6c1c5a20, + 0x1ce1c: 0x6cf6a620, 0x1ce1d: 0x6c492220, 0x1ce1e: 0x6d185c20, 0x1ce1f: 0x6cf16020, + 0x1ce20: 0x6c608c20, 0x1ce21: 0x6c205c20, 0x1ce22: 0x6c049220, 0x1ce23: 0x6c5bfe20, + 0x1ce24: 0x6c8e8420, 0x1ce25: 0x6c149c20, 0x1ce26: 0x6cd47220, 0x1ce27: 0x6caaaa20, + 0x1ce28: 0x6c2cd820, 0x1ce29: 0x6c26fc20, 0x1ce2a: 0x6c0d0e20, 0x1ce2b: 0x6cdfb820, + 0x1ce2c: 0x6d2f4020, 0x1ce2d: 0x6c0c1c20, 0x1ce2e: 0x6cd0c620, 0x1ce2f: 0x6c246220, + 0x1ce30: 0x6c95c020, 0x1ce31: 0x6d18a420, 0x1ce32: 0x6d403220, 0x1ce33: 0x6c1d7c20, + 0x1ce34: 0x6d2f4220, 0x1ce35: 0x6d2d4a20, 0x1ce36: 0x6cda4220, 0x1ce37: 0x6ccb5e20, + 0x1ce38: 0x6cc39c20, 0x1ce39: 0x6c2e3c20, 0x1ce3a: 0x6c911a20, 0x1ce3b: 0x6c911c20, + 0x1ce3c: 0x6ca15220, 0x1ce3d: 0x6cbda620, 0x1ce3e: 0x6d1b0820, 0x1ce3f: 0x6d1d0a20, + // Block 0x739, offset 0x1ce40 + 0x1ce40: 0x6c59fa20, 0x1ce41: 0x6c3f0820, 0x1ce42: 0x6c8a2620, 0x1ce43: 0x6c8fac20, + 0x1ce44: 0x6cbbfe20, 0x1ce45: 0x6c8ea820, 0x1ce46: 0x6c817a20, 0x1ce47: 0x6cfba820, + 0x1ce48: 0x6c3ad620, 0x1ce49: 0x6c280420, 0x1ce4a: 0x6d1b7420, 0x1ce4b: 0x6c51f020, + 0x1ce4c: 0x6c005420, 0x1ce4d: 0x6c04a620, 0x1ce4e: 0x6cfbaa20, 0x1ce4f: 0x6c492a20, + 0x1ce50: 0x6c4b8c20, 0x1ce51: 0x6ca9f620, 0x1ce52: 0x6d242e20, 0x1ce53: 0x6cef4a20, + 0x1ce54: 0x6d18e820, 0x1ce55: 0x6d1dc620, 0x1ce56: 0x6cb07820, 0x1ce57: 0x6c82ee20, + 0x1ce58: 0x6c86a820, 0x1ce59: 0x6cd57820, 0x1ce5a: 0x6c28d820, 0x1ce5b: 0x6c8c3c20, + 0x1ce5c: 0x6c2d8c20, 0x1ce5d: 0x6c8c3e20, 0x1ce5e: 0x6c7f6420, 0x1ce5f: 0x6c0d1020, + 0x1ce60: 0x6c62ba20, 0x1ce61: 0x6c1ae820, 0x1ce62: 0x6d103820, 0x1ce63: 0x6d086220, + 0x1ce64: 0x6c6a3820, 0x1ce65: 0x6d330e20, 0x1ce66: 0x6c99cc20, 0x1ce67: 0x6c874420, + 0x1ce68: 0x6c5e4820, 0x1ce69: 0x6c7f7820, 0x1ce6a: 0x6c631420, 0x1ce6b: 0x6c2cf220, + 0x1ce6c: 0x6d086620, 0x1ce6d: 0x6d1d2e20, 0x1ce6e: 0x6d1b2820, 0x1ce6f: 0x6cc21420, + 0x1ce70: 0x6d1dea20, 0x1ce71: 0x6cdfc820, 0x1ce72: 0x6c2cfe20, 0x1ce73: 0x6c95da20, + 0x1ce74: 0x6c947c20, 0x1ce75: 0x6c948420, 0x1ce76: 0x6c0e4620, 0x1ce77: 0x6c0e5420, + 0x1ce78: 0x6c4ada20, 0x1ce79: 0x6c037020, 0x1ce7a: 0x6c37e620, 0x1ce7b: 0x6c2a9c20, + 0x1ce7c: 0x6c37ec20, 0x1ce7d: 0x6c040820, 0x1ce7e: 0x6c041620, 0x1ce7f: 0x6cbc8020, + // Block 0x73a, offset 0x1ce80 + 0x1ce80: 0x6c5fd620, 0x1ce81: 0x6d2a6820, 0x1ce82: 0x6d2a6a20, 0x1ce83: 0x6c994420, + 0x1ce84: 0x6c2a8c20, 0x1ce85: 0x6cabb820, 0x1ce86: 0x6c69f820, 0x1ce87: 0x6c59ac20, + 0x1ce88: 0x6c4a3e20, 0x1ce89: 0x6c229620, 0x1ce8a: 0x6c8ccc20, 0x1ce8b: 0x6c42b620, + 0x1ce8c: 0x6ca0f020, 0x1ce8d: 0x6c5ffa20, 0x1ce8e: 0x6c68e420, 0x1ce8f: 0x6caf0620, + 0x1ce90: 0x6c42be20, 0x1ce91: 0x6c004020, 0x1ce92: 0x6c356620, 0x1ce93: 0x6c503e20, + 0x1ce94: 0x6c4ec420, 0x1ce95: 0x6c09a420, 0x1ce96: 0x6ced2220, 0x1ce97: 0x6c1dbc20, + 0x1ce98: 0x6cba5c20, 0x1ce99: 0x6cf65220, 0x1ce9a: 0x6c005020, 0x1ce9b: 0x6cffb820, + 0x1ce9c: 0x6c505c20, 0x1ce9d: 0x6c5a7820, 0x1ce9e: 0x6c505e20, 0x1ce9f: 0x6d2b0220, + 0x1cea0: 0x6c251020, 0x1cea1: 0x6c506c20, 0x1cea2: 0x6cffc220, 0x1cea3: 0x6d132820, + 0x1cea4: 0x6cb33820, 0x1cea5: 0x6c507220, 0x1cea6: 0x6c695220, 0x1cea7: 0x6c00f220, + 0x1cea8: 0x6d03ae20, 0x1cea9: 0x6c5a8020, 0x1ceaa: 0x6c872820, 0x1ceab: 0x6cb1a620, + 0x1ceac: 0x6c51a220, 0x1cead: 0x6c69e220, 0x1ceae: 0x6cafa820, 0x1ceaf: 0x6c41ca20, + 0x1ceb0: 0x6cad8820, 0x1ceb1: 0x6d391c20, 0x1ceb2: 0x6c756e20, 0x1ceb3: 0x6cc06620, + 0x1ceb4: 0x6c259420, 0x1ceb5: 0x6cc3ce20, 0x1ceb6: 0x6d2bee20, 0x1ceb7: 0x6c47b420, + 0x1ceb8: 0x6c757620, 0x1ceb9: 0x6c757820, 0x1ceba: 0x6d394420, 0x1cebb: 0x6d2bfe20, + 0x1cebc: 0x6c47d820, 0x1cebd: 0x6d2f7c20, 0x1cebe: 0x6c31e020, 0x1cebf: 0x6c9f8a20, + // Block 0x73b, offset 0x1cec0 + 0x1cec0: 0x6cb6da20, 0x1cec1: 0x6d1c5620, 0x1cec2: 0x6d20c620, 0x1cec3: 0x6c069220, + 0x1cec4: 0x6d2f5e20, 0x1cec5: 0x6d37a820, 0x1cec6: 0x6cae3c20, 0x1cec7: 0x6c50de20, + 0x1cec8: 0x6d1c5c20, 0x1cec9: 0x6c50f420, 0x1ceca: 0x6d173820, 0x1cecb: 0x6c0e6020, + 0x1cecc: 0x6cecfc20, 0x1cecd: 0x6c50f620, 0x1cece: 0x6c021620, 0x1cecf: 0x6d2de220, + 0x1ced0: 0x6d0c8020, 0x1ced1: 0x6c647e20, 0x1ced2: 0x6c510e20, 0x1ced3: 0x6d208820, + 0x1ced4: 0x6c7c3a20, 0x1ced5: 0x6c394620, 0x1ced6: 0x6c413220, 0x1ced7: 0x6c2a1220, + 0x1ced8: 0x6cac5620, 0x1ced9: 0x6c3f6620, 0x1ceda: 0x6cc06820, 0x1cedb: 0x6cd15e20, + 0x1cedc: 0x6c2a1620, 0x1cedd: 0x6c926a20, 0x1cede: 0x6d2df820, 0x1cedf: 0x6c9b2220, + 0x1cee0: 0x6c841c20, 0x1cee1: 0x6c6ca220, 0x1cee2: 0x6d071220, 0x1cee3: 0x6c64ca20, + 0x1cee4: 0x6cac6a20, 0x1cee5: 0x6c49a620, 0x1cee6: 0x6c014e20, 0x1cee7: 0x6c915c20, + 0x1cee8: 0x6d065e20, 0x1cee9: 0x6d38b420, 0x1ceea: 0x6c299620, 0x1ceeb: 0x6c015620, + 0x1ceec: 0x6c47e420, 0x1ceed: 0x6c872a20, 0x1ceee: 0x6ca26420, 0x1ceef: 0x6c2f5020, + 0x1cef0: 0x6c421020, 0x1cef1: 0x6d057420, 0x1cef2: 0x6c983a20, 0x1cef3: 0x6cee4e20, + 0x1cef4: 0x6d344020, 0x1cef5: 0x6cb74a20, 0x1cef6: 0x6d25e020, 0x1cef7: 0x6ce49220, + 0x1cef8: 0x6cfd6420, 0x1cef9: 0x6c33ca20, 0x1cefa: 0x6d02ba20, 0x1cefb: 0x6cf86620, + 0x1cefc: 0x6cacae20, 0x1cefd: 0x6c3c2820, 0x1cefe: 0x6c33de20, 0x1ceff: 0x6c9f3c20, + // Block 0x73c, offset 0x1cf00 + 0x1cf00: 0x6c9fee20, 0x1cf01: 0x6cd12c20, 0x1cf02: 0x6cd34420, 0x1cf03: 0x6d278c20, + 0x1cf04: 0x6c9e0e20, 0x1cf05: 0x6cac3a20, 0x1cf06: 0x6c39cc20, 0x1cf07: 0x6c9e8a20, + 0x1cf08: 0x6c27c220, 0x1cf09: 0x6c99e020, 0x1cf0a: 0x6c995820, 0x1cf0b: 0x6c770420, + 0x1cf0c: 0x6cfc9020, 0x1cf0d: 0x6c79ba20, 0x1cf0e: 0x6cd35620, 0x1cf0f: 0x6d0f5420, + 0x1cf10: 0x6d32a220, 0x1cf11: 0x6d119c20, 0x1cf12: 0x6ccfce20, 0x1cf13: 0x6c5dae20, + 0x1cf14: 0x6c26ec20, 0x1cf15: 0x6d31cc20, 0x1cf16: 0x6c7bee20, 0x1cf17: 0x6c706e20, + 0x1cf18: 0x6cd09a20, 0x1cf19: 0x6d14d020, 0x1cf1a: 0x6cd12e20, 0x1cf1b: 0x6c9a8a20, + 0x1cf1c: 0x6ca0f420, 0x1cf1d: 0x6d3ad620, 0x1cf1e: 0x6d313c20, 0x1cf1f: 0x6d313e20, + 0x1cf20: 0x6c9dbc20, 0x1cf21: 0x6cd35820, 0x1cf22: 0x6d24d620, 0x1cf23: 0x6c2e8a20, + 0x1cf24: 0x6ca69020, 0x1cf25: 0x6d3f4620, 0x1cf26: 0x6d3f4820, 0x1cf27: 0x6c179620, + 0x1cf28: 0x6d2c7620, 0x1cf29: 0x6d087e20, 0x1cf2a: 0x6c0dda20, 0x1cf2b: 0x6c9cea20, + 0x1cf2c: 0x6c8f7e20, 0x1cf2d: 0x6cdbc220, 0x1cf2e: 0x6ce73e20, 0x1cf2f: 0x6c9c3020, + 0x1cf30: 0x6c2f3620, 0x1cf31: 0x6c2c4620, 0x1cf32: 0x6ca54c20, 0x1cf33: 0x6c9ff820, + 0x1cf34: 0x6d088c20, 0x1cf35: 0x6c1aaa20, 0x1cf36: 0x6c7bf420, 0x1cf37: 0x6c735a20, + 0x1cf38: 0x6ca1ce20, 0x1cf39: 0x6d323a20, 0x1cf3a: 0x6ce5d220, 0x1cf3b: 0x6d0fac20, + 0x1cf3c: 0x6d0d6c20, 0x1cf3d: 0x6ca10620, 0x1cf3e: 0x6d382620, 0x1cf3f: 0x6ca0f620, + // Block 0x73d, offset 0x1cf40 + 0x1cf40: 0x6d311220, 0x1cf41: 0x6d32b620, 0x1cf42: 0x6c9a0220, 0x1cf43: 0x6cdd1e20, + 0x1cf44: 0x6cceda20, 0x1cf45: 0x6c4ec820, 0x1cf46: 0x6c592820, 0x1cf47: 0x6c2c5c20, + 0x1cf48: 0x6c1a7620, 0x1cf49: 0x6c25e020, 0x1cf4a: 0x6c736420, 0x1cf4b: 0x6c356820, + 0x1cf4c: 0x6c97bc20, 0x1cf4d: 0x6cfcc420, 0x1cf4e: 0x6cf61e20, 0x1cf4f: 0x6c7dd420, + 0x1cf50: 0x6c7f4820, 0x1cf51: 0x6c659820, 0x1cf52: 0x6ccd4e20, 0x1cf53: 0x6ce50420, + 0x1cf54: 0x6c4bfc20, 0x1cf55: 0x6ced2c20, 0x1cf56: 0x6c839820, 0x1cf57: 0x6cd39c20, + 0x1cf58: 0x6cbf4020, 0x1cf59: 0x6c8b1820, 0x1cf5a: 0x6d0b3020, 0x1cf5b: 0x6c6ec820, + 0x1cf5c: 0x6d32d420, 0x1cf5d: 0x6c83ea20, 0x1cf5e: 0x6c7f4a20, 0x1cf5f: 0x6cdc4c20, + 0x1cf60: 0x6c737420, 0x1cf61: 0x6cd72820, 0x1cf62: 0x6cdbca20, 0x1cf63: 0x6c317420, + 0x1cf64: 0x6c09d420, 0x1cf65: 0x6cb0a620, 0x1cf66: 0x6ca29c20, 0x1cf67: 0x6c5cd420, + 0x1cf68: 0x6ca6ae20, 0x1cf69: 0x6c926c20, 0x1cf6a: 0x6d17f220, 0x1cf6b: 0x6c6aec20, + 0x1cf6c: 0x6c113620, 0x1cf6d: 0x6d38ea20, 0x1cf6e: 0x6d217220, 0x1cf6f: 0x6c5cd620, + 0x1cf70: 0x6c96c620, 0x1cf71: 0x6cfa4420, 0x1cf72: 0x6d040420, 0x1cf73: 0x6c5ada20, + 0x1cf74: 0x6c4c0220, 0x1cf75: 0x6d290a20, 0x1cf76: 0x6c218620, 0x1cf77: 0x6c64ba20, + 0x1cf78: 0x6c9a9e20, 0x1cf79: 0x6c322620, 0x1cf7a: 0x6c541e20, 0x1cf7b: 0x6d07b420, + 0x1cf7c: 0x6ce53c20, 0x1cf7d: 0x6c7c9220, 0x1cf7e: 0x6c42ce20, 0x1cf7f: 0x6cc8da20, + // Block 0x73e, offset 0x1cf80 + 0x1cf80: 0x6c99a020, 0x1cf81: 0x6d071420, 0x1cf82: 0x6c381e20, 0x1cf83: 0x6cf30820, + 0x1cf84: 0x6c9e7820, 0x1cf85: 0x6c1e2e20, 0x1cf86: 0x6c7d0620, 0x1cf87: 0x6c9c3220, + 0x1cf88: 0x6cf25e20, 0x1cf89: 0x6c7a0020, 0x1cf8a: 0x6c298420, 0x1cf8b: 0x6c188220, + 0x1cf8c: 0x6c782420, 0x1cf8d: 0x6cda2420, 0x1cf8e: 0x6cf97620, 0x1cf8f: 0x6cbf5020, + 0x1cf90: 0x6ca15420, 0x1cf91: 0x6ca01620, 0x1cf92: 0x6c977220, 0x1cf93: 0x6cd72c20, + 0x1cf94: 0x6d2b0420, 0x1cf95: 0x6d2f4420, 0x1cf96: 0x6d18a620, 0x1cf97: 0x6c2dde20, + 0x1cf98: 0x6c79c420, 0x1cf99: 0x6ca15620, 0x1cf9a: 0x6cd75c20, 0x1cf9b: 0x6c235620, + 0x1cf9c: 0x6c907820, 0x1cf9d: 0x6c1ad020, 0x1cf9e: 0x6c977820, 0x1cf9f: 0x6cb19a20, + 0x1cfa0: 0x6c199420, 0x1cfa1: 0x6c4b1a20, 0x1cfa2: 0x6c9b3a20, 0x1cfa3: 0x6c596c20, + 0x1cfa4: 0x6cc8f220, 0x1cfa5: 0x6cb1d420, 0x1cfa6: 0x6cf6f020, 0x1cfa7: 0x6cbc0220, + 0x1cfa8: 0x6cb45a20, 0x1cfa9: 0x6d3a8420, 0x1cfaa: 0x6c2aea20, 0x1cfab: 0x6cd07e20, + 0x1cfac: 0x6cd76020, 0x1cfad: 0x6c8a7c20, 0x1cfae: 0x6c185020, 0x1cfaf: 0x6cfbac20, + 0x1cfb0: 0x6c771220, 0x1cfb1: 0x6d132a20, 0x1cfb2: 0x6d074820, 0x1cfb3: 0x6ce79220, + 0x1cfb4: 0x6ca1ea20, 0x1cfb5: 0x6c8be620, 0x1cfb6: 0x6c4b7e20, 0x1cfb7: 0x6c66e020, + 0x1cfb8: 0x6d136420, 0x1cfb9: 0x6c00f420, 0x1cfba: 0x6c5c6a20, 0x1cfbb: 0x6d2dac20, + 0x1cfbc: 0x6c65f220, 0x1cfbd: 0x6c47e620, 0x1cfbe: 0x6d2fea20, 0x1cfbf: 0x6cc1e420, + // Block 0x73f, offset 0x1cfc0 + 0x1cfc0: 0x6c9a3420, 0x1cfc1: 0x6c1e3620, 0x1cfc2: 0x6ccb0620, 0x1cfc3: 0x6ca94c20, + 0x1cfc4: 0x6d09c020, 0x1cfc5: 0x6d123e20, 0x1cfc6: 0x6c5e1820, 0x1cfc7: 0x6c9b7020, + 0x1cfc8: 0x6c9de620, 0x1cfc9: 0x6cb22020, 0x1cfca: 0x6c9de820, 0x1cfcb: 0x6c870220, + 0x1cfcc: 0x6c7c1420, 0x1cfcd: 0x6c750020, 0x1cfce: 0x6d07e220, 0x1cfcf: 0x6c9dee20, + 0x1cfd0: 0x6c5e4a20, 0x1cfd1: 0x6c919220, 0x1cfd2: 0x6c9b8e20, 0x1cfd3: 0x6c8fe420, + 0x1cfd4: 0x6c49bc20, 0x1cfd5: 0x6c97d620, 0x1cfd6: 0x6cf82e20, 0x1cfd7: 0x6c1f9020, + 0x1cfd8: 0x6ce19620, 0x1cfd9: 0x6c771c20, 0x1cfda: 0x6d3a9620, 0x1cfdb: 0x6c98c220, + 0x1cfdc: 0x6c6c3220, 0x1cfdd: 0x6c8ba620, 0x1cfde: 0x6d234a20, 0x1cfdf: 0x6cd78420, + 0x1cfe0: 0x6d2ad220, 0x1cfe1: 0x6c752c20, 0x1cfe2: 0x6cd2a820, 0x1cfe3: 0x6d15c020, + 0x1cfe4: 0x6cd04820, 0x1cfe5: 0x6d339c20, 0x1cfe6: 0x6c53f020, 0x1cfe7: 0x6cd04e20, + 0x1cfe8: 0x6d1ce020, 0x1cfe9: 0x6c72d420, 0x1cfea: 0x6d387820, 0x1cfeb: 0x6c68e820, + 0x1cfec: 0x6c25e220, 0x1cfed: 0x6c32ae20, 0x1cfee: 0x6c006820, 0x1cfef: 0x6c695020, + 0x1cff0: 0x6d2b9820, 0x1cff1: 0x6d265c20, 0x1cff2: 0x6c03ce20, 0x1cff3: 0x6cd22c20, + 0x1cff4: 0x6c2f9420, 0x1cff5: 0x6cb73a20, 0x1cff6: 0x6c5e8620, 0x1cff7: 0x6d3eee20, + 0x1cff8: 0x6c417c20, 0x1cff9: 0x6cf4ba20, 0x1cffa: 0x6d302020, 0x1cffb: 0x6c7a2a20, + 0x1cffc: 0x6c426420, 0x1cffd: 0x6cf84c20, 0x1cffe: 0x6c388820, 0x1cfff: 0x6c7be620, + // Block 0x740, offset 0x1d000 + 0x1d000: 0x6c295820, 0x1d001: 0x6c969220, 0x1d002: 0x6ccbd220, 0x1d003: 0x6c27c420, + 0x1d004: 0x6c740220, 0x1d005: 0x6c85ac20, 0x1d006: 0x6c3d4e20, 0x1d007: 0x6c9f3e20, + 0x1d008: 0x6c35b020, 0x1d009: 0x6c5da620, 0x1d00a: 0x6c772820, 0x1d00b: 0x6d350620, + 0x1d00c: 0x6cb75c20, 0x1d00d: 0x6c76c420, 0x1d00e: 0x6c6bd020, 0x1d00f: 0x6c0d2a20, + 0x1d010: 0x6c35e020, 0x1d011: 0x6d0b8820, 0x1d012: 0x6caf4e20, 0x1d013: 0x6d302420, + 0x1d014: 0x6d0c7820, 0x1d015: 0x6cdc2a20, 0x1d016: 0x6d3b7820, 0x1d017: 0x6c17d220, + 0x1d018: 0x6c33e020, 0x1d019: 0x6cac3c20, 0x1d01a: 0x6d0e4a20, 0x1d01b: 0x6c6d7e20, + 0x1d01c: 0x6c3c2a20, 0x1d01d: 0x6c381020, 0x1d01e: 0x6ca0f820, 0x1d01f: 0x6d2c7820, + 0x1d020: 0x6c707020, 0x1d021: 0x6d22f620, 0x1d022: 0x6c77f020, 0x1d023: 0x6ceb0a20, + 0x1d024: 0x6ceb0c20, 0x1d025: 0x6c2bec20, 0x1d026: 0x6d2d3c20, 0x1d027: 0x6d314220, + 0x1d028: 0x6c35fc20, 0x1d029: 0x6c3e3820, 0x1d02a: 0x6ca23e20, 0x1d02b: 0x6d3ad820, + 0x1d02c: 0x6c7e5c20, 0x1d02d: 0x6c0aee20, 0x1d02e: 0x6caa5620, 0x1d02f: 0x6cb25220, + 0x1d030: 0x6cae6020, 0x1d031: 0x6c8cce20, 0x1d032: 0x6cad8a20, 0x1d033: 0x6c821e20, + 0x1d034: 0x6cb37c20, 0x1d035: 0x6c0e6220, 0x1d036: 0x6cb37e20, 0x1d037: 0x6ccfd020, + 0x1d038: 0x6d28b020, 0x1d039: 0x6c009820, 0x1d03a: 0x6c85d620, 0x1d03b: 0x6c8f8020, + 0x1d03c: 0x6ce73a20, 0x1d03d: 0x6d1e8420, 0x1d03e: 0x6c85d820, 0x1d03f: 0x6c7c2a20, + // Block 0x741, offset 0x1d040 + 0x1d040: 0x6c1ed820, 0x1d041: 0x6c793620, 0x1d042: 0x6cc2e420, 0x1d043: 0x6d399c20, + 0x1d044: 0x6c7b9c20, 0x1d045: 0x6c4a5a20, 0x1d046: 0x6c361420, 0x1d047: 0x6ca4a620, + 0x1d048: 0x6cb86420, 0x1d049: 0x6c924420, 0x1d04a: 0x6cefb220, 0x1d04b: 0x6c009a20, + 0x1d04c: 0x6c448420, 0x1d04d: 0x6cfcb620, 0x1d04e: 0x6d03e220, 0x1d04f: 0x6d0c8a20, + 0x1d050: 0x6c307420, 0x1d051: 0x6cae6c20, 0x1d052: 0x6cf5fc20, 0x1d053: 0x6c81f220, + 0x1d054: 0x6c533c20, 0x1d055: 0x6cd78020, 0x1d056: 0x6cf9b020, 0x1d057: 0x6cbb7020, + 0x1d058: 0x6cbeea20, 0x1d059: 0x6cef0220, 0x1d05a: 0x6cbbdc20, 0x1d05b: 0x6d176820, + 0x1d05c: 0x6c793e20, 0x1d05d: 0x6cfec620, 0x1d05e: 0x6cc3c220, 0x1d05f: 0x6c162a20, + 0x1d060: 0x6c80c820, 0x1d061: 0x6c52ac20, 0x1d062: 0x6d213020, 0x1d063: 0x6cfec820, + 0x1d064: 0x6cf9c620, 0x1d065: 0x6c988e20, 0x1d066: 0x6c960220, 0x1d067: 0x6d1e3c20, + 0x1d068: 0x6c17dc20, 0x1d069: 0x6c182220, 0x1d06a: 0x6cf2f620, 0x1d06b: 0x6c8e5c20, + 0x1d06c: 0x6d1d3c20, 0x1d06d: 0x6c985a20, 0x1d06e: 0x6cc3c420, 0x1d06f: 0x6d0e7820, + 0x1d070: 0x6ccbf620, 0x1d071: 0x6c7dac20, 0x1d072: 0x6d234c20, 0x1d073: 0x6c1c2420, + 0x1d074: 0x6c57de20, 0x1d075: 0x6c91be20, 0x1d076: 0x6c190420, 0x1d077: 0x6c659a20, + 0x1d078: 0x6caaa820, 0x1d079: 0x6cd92620, 0x1d07a: 0x6d3d6e20, 0x1d07b: 0x6c794620, + 0x1d07c: 0x6caeaa20, 0x1d07d: 0x6d0c1420, 0x1d07e: 0x6d3c9220, 0x1d07f: 0x6c797e20, + // Block 0x742, offset 0x1d080 + 0x1d080: 0x6c19ec20, 0x1d081: 0x6cb5fc20, 0x1d082: 0x6d402220, 0x1d083: 0x6cbecc20, + 0x1d084: 0x6c8bbc20, 0x1d085: 0x6c757420, 0x1d086: 0x6c0e7e20, 0x1d087: 0x6c2fac20, + 0x1d088: 0x6c9f6420, 0x1d089: 0x6c2dce20, 0x1d08a: 0x6c64bc20, 0x1d08b: 0x6c51d020, + 0x1d08c: 0x6c926e20, 0x1d08d: 0x6c00ac20, 0x1d08e: 0x6cdc4e20, 0x1d08f: 0x6cc3d220, + 0x1d090: 0x6c837c20, 0x1d091: 0x6c06b020, 0x1d092: 0x6d1a7420, 0x1d093: 0x6c334c20, + 0x1d094: 0x6cf45220, 0x1d095: 0x6cb5fe20, 0x1d096: 0x6c951820, 0x1d097: 0x6ced2e20, + 0x1d098: 0x6c2d2020, 0x1d099: 0x6ca4b220, 0x1d09a: 0x6c073420, 0x1d09b: 0x6cb7a420, + 0x1d09c: 0x6c190620, 0x1d09d: 0x6cc87020, 0x1d09e: 0x6d0cb620, 0x1d09f: 0x6c2ed220, + 0x1d0a0: 0x6c2fb020, 0x1d0a1: 0x6c31a820, 0x1d0a2: 0x6ceb2e20, 0x1d0a3: 0x6c6b0c20, + 0x1d0a4: 0x6d1bc620, 0x1d0a5: 0x6c0b4420, 0x1d0a6: 0x6c78c620, 0x1d0a7: 0x6c0a0220, + 0x1d0a8: 0x6cf0b020, 0x1d0a9: 0x6cd79220, 0x1d0aa: 0x6d318220, 0x1d0ab: 0x6c32d420, + 0x1d0ac: 0x6cf9de20, 0x1d0ad: 0x6c297a20, 0x1d0ae: 0x6ce35420, 0x1d0af: 0x6ca50c20, + 0x1d0b0: 0x6caf1420, 0x1d0b1: 0x6c65c420, 0x1d0b2: 0x6c2c8220, 0x1d0b3: 0x6ce0a220, + 0x1d0b4: 0x6c13f620, 0x1d0b5: 0x6ce54220, 0x1d0b6: 0x6cb7b420, 0x1d0b7: 0x6c341420, + 0x1d0b8: 0x6c3c5e20, 0x1d0b9: 0x6d08a420, 0x1d0ba: 0x6cc3f020, 0x1d0bb: 0x6cc3f220, + 0x1d0bc: 0x6c96a020, 0x1d0bd: 0x6c45a620, 0x1d0be: 0x6ca73820, 0x1d0bf: 0x6cdb0820, + // Block 0x743, offset 0x1d0c0 + 0x1d0c0: 0x6c357820, 0x1d0c1: 0x6c225420, 0x1d0c2: 0x6c8e8820, 0x1d0c3: 0x6cd81a20, + 0x1d0c4: 0x6ce12620, 0x1d0c5: 0x6c058820, 0x1d0c6: 0x6c574620, 0x1d0c7: 0x6caf8620, + 0x1d0c8: 0x6ceff420, 0x1d0c9: 0x6cca8820, 0x1d0ca: 0x6c82d220, 0x1d0cb: 0x6c25c420, + 0x1d0cc: 0x6ce4ba20, 0x1d0cd: 0x6cf9e620, 0x1d0ce: 0x6cf6aa20, 0x1d0cf: 0x6c883e20, + 0x1d0d0: 0x6cac7020, 0x1d0d1: 0x6cef3020, 0x1d0d2: 0x6d27fc20, 0x1d0d3: 0x6c330e20, + 0x1d0d4: 0x6d307e20, 0x1d0d5: 0x6c782620, 0x1d0d6: 0x6c7e6020, 0x1d0d7: 0x6d3b8c20, + 0x1d0d8: 0x6cbed820, 0x1d0d9: 0x6c4be420, 0x1d0da: 0x6d3b9220, 0x1d0db: 0x6c152620, + 0x1d0dc: 0x6cb7da20, 0x1d0dd: 0x6c026c20, 0x1d0de: 0x6cae8620, 0x1d0df: 0x6c8f4020, + 0x1d0e0: 0x6c91de20, 0x1d0e1: 0x6c771420, 0x1d0e2: 0x6c209a20, 0x1d0e3: 0x6c190e20, + 0x1d0e4: 0x6d1afe20, 0x1d0e5: 0x6c82d820, 0x1d0e6: 0x6c0c1e20, 0x1d0e7: 0x6cb7dc20, + 0x1d0e8: 0x6ca07c20, 0x1d0e9: 0x6cb7de20, 0x1d0ea: 0x6c24e820, 0x1d0eb: 0x6d3fc220, + 0x1d0ec: 0x6cbeda20, 0x1d0ed: 0x6c21da20, 0x1d0ee: 0x6c952a20, 0x1d0ef: 0x6c5f5420, + 0x1d0f0: 0x6ccdbe20, 0x1d0f1: 0x6c817c20, 0x1d0f2: 0x6cc1c020, 0x1d0f3: 0x6d2b9a20, + 0x1d0f4: 0x6c2aec20, 0x1d0f5: 0x6c66e220, 0x1d0f6: 0x6cf8f220, 0x1d0f7: 0x6c8be820, + 0x1d0f8: 0x6c2fbe20, 0x1d0f9: 0x6ce01e20, 0x1d0fa: 0x6c59fc20, 0x1d0fb: 0x6cac7620, + 0x1d0fc: 0x6d28ce20, 0x1d0fd: 0x6cbbb820, 0x1d0fe: 0x6c2b4820, 0x1d0ff: 0x6c86aa20, + // Block 0x744, offset 0x1d100 + 0x1d100: 0x6c673e20, 0x1d101: 0x6c688220, 0x1d102: 0x6cf94a20, 0x1d103: 0x6d2f0e20, + 0x1d104: 0x6cbc0420, 0x1d105: 0x6c33b620, 0x1d106: 0x6c65f420, 0x1d107: 0x6d241220, + 0x1d108: 0x6d3cb420, 0x1d109: 0x6c518420, 0x1d10a: 0x6c78e020, 0x1d10b: 0x6d2b1420, + 0x1d10c: 0x6c826a20, 0x1d10d: 0x6c787220, 0x1d10e: 0x6c1ef620, 0x1d10f: 0x6d137020, + 0x1d110: 0x6cc40c20, 0x1d111: 0x6c299a20, 0x1d112: 0x6d161e20, 0x1d113: 0x6c678e20, + 0x1d114: 0x6caf9e20, 0x1d115: 0x6cafa020, 0x1d116: 0x6d243020, 0x1d117: 0x6cb1f420, + 0x1d118: 0x6c36d020, 0x1d119: 0x6c00fe20, 0x1d11a: 0x6c783e20, 0x1d11b: 0x6c652220, + 0x1d11c: 0x6d243220, 0x1d11d: 0x6cc88e20, 0x1d11e: 0x6c9b7220, 0x1d11f: 0x6cada020, + 0x1d120: 0x6c227820, 0x1d121: 0x6c0f9020, 0x1d122: 0x6d107c20, 0x1d123: 0x6c96e420, + 0x1d124: 0x6c10e620, 0x1d125: 0x6cfbc820, 0x1d126: 0x6c7c1620, 0x1d127: 0x6c828020, + 0x1d128: 0x6c82fe20, 0x1d129: 0x6d375420, 0x1d12a: 0x6c870420, 0x1d12b: 0x6c872e20, + 0x1d12c: 0x6c38e420, 0x1d12d: 0x6cc41c20, 0x1d12e: 0x6cada620, 0x1d12f: 0x6d1c3020, + 0x1d130: 0x6c874a20, 0x1d131: 0x6c8fe620, 0x1d132: 0x6c8fe820, 0x1d133: 0x6ca19620, + 0x1d134: 0x6c0fc220, 0x1d135: 0x6cd6b420, 0x1d136: 0x6c49be20, 0x1d137: 0x6c800020, + 0x1d138: 0x6d298620, 0x1d139: 0x6d0d1820, 0x1d13a: 0x6cd2f420, 0x1d13b: 0x6cd2e620, + 0x1d13c: 0x6c84f420, 0x1d13d: 0x6cc61c20, 0x1d13e: 0x6ccf3620, 0x1d13f: 0x6d268020, + // Block 0x745, offset 0x1d140 + 0x1d140: 0x6cd88420, 0x1d141: 0x6cb56820, 0x1d142: 0x6cdde220, 0x1d143: 0x6c96b420, + 0x1d144: 0x6d016420, 0x1d145: 0x6d109420, 0x1d146: 0x6cfa8020, 0x1d147: 0x6cb58820, + 0x1d148: 0x6cb58a20, 0x1d149: 0x6d34f820, 0x1d14a: 0x6c07d820, 0x1d14b: 0x6c333a20, + 0x1d14c: 0x6d381820, 0x1d14d: 0x6cc5d620, 0x1d14e: 0x6d13cc20, 0x1d14f: 0x6cd25420, + 0x1d150: 0x6d203020, 0x1d151: 0x6d35a820, 0x1d152: 0x6ce57a20, 0x1d153: 0x6c3e1e20, + 0x1d154: 0x6c3fc420, 0x1d155: 0x6c9d2e20, 0x1d156: 0x6d411420, 0x1d157: 0x6d33ac20, + 0x1d158: 0x6cdb9620, 0x1d159: 0x6c9a8420, 0x1d15a: 0x6d428620, 0x1d15b: 0x6cc0ec20, + 0x1d15c: 0x6c567220, 0x1d15d: 0x6d3ac620, 0x1d15e: 0x6cd03a20, 0x1d15f: 0x6cdc3020, + 0x1d160: 0x6c223020, 0x1d161: 0x6c147a20, 0x1d162: 0x6c9c3e20, 0x1d163: 0x6c939020, + 0x1d164: 0x6d223e20, 0x1d165: 0x6cfdbc20, 0x1d166: 0x6cf3c620, 0x1d167: 0x6ce55620, + 0x1d168: 0x6cb1ae20, 0x1d169: 0x6d3ada20, 0x1d16a: 0x6c4aec20, 0x1d16b: 0x6cf9ae20, + 0x1d16c: 0x6d33c820, 0x1d16d: 0x6c61f420, 0x1d16e: 0x6c434620, 0x1d16f: 0x6d314420, + 0x1d170: 0x6c434820, 0x1d171: 0x6cd71e20, 0x1d172: 0x6c6d0620, 0x1d173: 0x6cd0a020, + 0x1d174: 0x6c40f620, 0x1d175: 0x6c7daa20, 0x1d176: 0x6c2c4820, 0x1d177: 0x6c29d820, + 0x1d178: 0x6c5dc620, 0x1d179: 0x6ce22820, 0x1d17a: 0x6cb5ee20, 0x1d17b: 0x6c481620, + 0x1d17c: 0x6c498a20, 0x1d17d: 0x6d41b420, 0x1d17e: 0x6c8d0820, 0x1d17f: 0x6c925a20, + // Block 0x746, offset 0x1d180 + 0x1d180: 0x6c0de820, 0x1d181: 0x6c6d1a20, 0x1d182: 0x6c29da20, 0x1d183: 0x6d346620, + 0x1d184: 0x6c925820, 0x1d185: 0x6c14f820, 0x1d186: 0x6c06a620, 0x1d187: 0x6d30d820, + 0x1d188: 0x6c5aca20, 0x1d189: 0x6d1fd620, 0x1d18a: 0x6cf8a220, 0x1d18b: 0x6d19ee20, + 0x1d18c: 0x6d3e5420, 0x1d18d: 0x6c5dd420, 0x1d18e: 0x6d316e20, 0x1d18f: 0x6c3e9c20, + 0x1d190: 0x6d262420, 0x1d191: 0x6cf3d020, 0x1d192: 0x6cfc1820, 0x1d193: 0x6d0fca20, + 0x1d194: 0x6d33f420, 0x1d195: 0x6d13fc20, 0x1d196: 0x6c9a1220, 0x1d197: 0x6cd7f820, + 0x1d198: 0x6c2c6c20, 0x1d199: 0x6c077a20, 0x1d19a: 0x6d3d8220, 0x1d19b: 0x6d318420, + 0x1d19c: 0x6d1e5620, 0x1d19d: 0x6c606c20, 0x1d19e: 0x6c435220, 0x1d19f: 0x6ce11a20, + 0x1d1a0: 0x6cd80420, 0x1d1a1: 0x6c96d020, 0x1d1a2: 0x6cde7820, 0x1d1a3: 0x6c40b620, + 0x1d1a4: 0x6d07bc20, 0x1d1a5: 0x6cb63c20, 0x1d1a6: 0x6d241420, 0x1d1a7: 0x6cf81220, + 0x1d1a8: 0x6c5f3a20, 0x1d1a9: 0x6cd8e020, 0x1d1aa: 0x6c152820, 0x1d1ab: 0x6c28b420, + 0x1d1ac: 0x6c4b8020, 0x1d1ad: 0x6cdc7820, 0x1d1ae: 0x6c853820, 0x1d1af: 0x6ca9d020, + 0x1d1b0: 0x6c9c8a20, 0x1d1b1: 0x6c29f820, 0x1d1b2: 0x6c86d620, 0x1d1b3: 0x6cc4ee20, + 0x1d1b4: 0x6d271620, 0x1d1b5: 0x6ce3b420, 0x1d1b6: 0x6d29c220, 0x1d1b7: 0x6c836420, + 0x1d1b8: 0x6cc74020, 0x1d1b9: 0x6d222e20, 0x1d1ba: 0x6d20dc20, 0x1d1bb: 0x6c83ae20, + 0x1d1bc: 0x6d019820, 0x1d1bd: 0x6cbd7620, 0x1d1be: 0x6c50b220, 0x1d1bf: 0x6ce83c20, + // Block 0x747, offset 0x1d1c0 + 0x1d1c0: 0x6d052c20, 0x1d1c1: 0x6cd7c620, 0x1d1c2: 0x6cc56c20, 0x1d1c3: 0x6ce83e20, + 0x1d1c4: 0x6d3ef020, 0x1d1c5: 0x6c13c820, 0x1d1c6: 0x6c41cc20, 0x1d1c7: 0x6d16cc20, + 0x1d1c8: 0x6cfa8220, 0x1d1c9: 0x6c0dc620, 0x1d1ca: 0x6ca6f620, 0x1d1cb: 0x6cbfa620, + 0x1d1cc: 0x6cbfa820, 0x1d1cd: 0x6d37e820, 0x1d1ce: 0x6c3bd420, 0x1d1cf: 0x6c502220, + 0x1d1d0: 0x6d279020, 0x1d1d1: 0x6c77e620, 0x1d1d2: 0x6c9e8c20, 0x1d1d3: 0x6d33ae20, + 0x1d1d4: 0x6c6d9820, 0x1d1d5: 0x6c08c820, 0x1d1d6: 0x6d33b020, 0x1d1d7: 0x6d22e620, + 0x1d1d8: 0x6c9d3420, 0x1d1d9: 0x6c7a8a20, 0x1d1da: 0x6c04f420, 0x1d1db: 0x6caf5620, + 0x1d1dc: 0x6ca5ce20, 0x1d1dd: 0x6c85da20, 0x1d1de: 0x6d1f1a20, 0x1d1df: 0x6d409a20, + 0x1d1e0: 0x6caf5820, 0x1d1e1: 0x6c0edc20, 0x1d1e2: 0x6c8cd020, 0x1d1e3: 0x6ca0fc20, + 0x1d1e4: 0x6c1a8020, 0x1d1e5: 0x6ca6fe20, 0x1d1e6: 0x6cbd6620, 0x1d1e7: 0x6d0f5620, + 0x1d1e8: 0x6d423220, 0x1d1e9: 0x6d35c420, 0x1d1ea: 0x6d33ca20, 0x1d1eb: 0x6cd52420, + 0x1d1ec: 0x6c721a20, 0x1d1ed: 0x6d3ef620, 0x1d1ee: 0x6c5d7220, 0x1d1ef: 0x6c5ea820, + 0x1d1f0: 0x6c196220, 0x1d1f1: 0x6ce74220, 0x1d1f2: 0x6d35f820, 0x1d1f3: 0x6c5d7620, + 0x1d1f4: 0x6c511220, 0x1d1f5: 0x6d19ce20, 0x1d1f6: 0x6d3e2620, 0x1d1f7: 0x6d35fa20, + 0x1d1f8: 0x6c6a0220, 0x1d1f9: 0x6cc59420, 0x1d1fa: 0x6c325020, 0x1d1fb: 0x6d14e820, + 0x1d1fc: 0x6d399e20, 0x1d1fd: 0x6c5bb820, 0x1d1fe: 0x6ca9ba20, 0x1d1ff: 0x6c3ff420, + // Block 0x748, offset 0x1d200 + 0x1d200: 0x6cf62020, 0x1d201: 0x6c77aa20, 0x1d202: 0x6c80ca20, 0x1d203: 0x6c3d7420, + 0x1d204: 0x6d0a9020, 0x1d205: 0x6cd72020, 0x1d206: 0x6c939420, 0x1d207: 0x6c7dae20, + 0x1d208: 0x6c41da20, 0x1d209: 0x6c6db820, 0x1d20a: 0x6ce32e20, 0x1d20b: 0x6c1a0c20, + 0x1d20c: 0x6ce8b420, 0x1d20d: 0x6cce7020, 0x1d20e: 0x6cd72220, 0x1d20f: 0x6d0bc020, + 0x1d210: 0x6c951a20, 0x1d211: 0x6c927020, 0x1d212: 0x6c481c20, 0x1d213: 0x6d424420, + 0x1d214: 0x6cc59a20, 0x1d215: 0x6d3ce620, 0x1d216: 0x6c057c20, 0x1d217: 0x6c044a20, + 0x1d218: 0x6c5eec20, 0x1d219: 0x6d33f620, 0x1d21a: 0x6d366020, 0x1d21b: 0x6c7db420, + 0x1d21c: 0x6c837e20, 0x1d21d: 0x6caeac20, 0x1d21e: 0x6c780a20, 0x1d21f: 0x6c0dea20, + 0x1d220: 0x6c1dbe20, 0x1d221: 0x6d41b620, 0x1d222: 0x6d237420, 0x1d223: 0x6cda5220, + 0x1d224: 0x6c94ae20, 0x1d225: 0x6cfd8020, 0x1d226: 0x6d140620, 0x1d227: 0x6cf8b620, + 0x1d228: 0x6c0b4620, 0x1d229: 0x6c624820, 0x1d22a: 0x6c3ec420, 0x1d22b: 0x6cb0b020, + 0x1d22c: 0x6cab0820, 0x1d22d: 0x6c6a2c20, 0x1d22e: 0x6d380420, 0x1d22f: 0x6d3fa820, + 0x1d230: 0x6d064e20, 0x1d231: 0x6c197e20, 0x1d232: 0x6c2a2220, 0x1d233: 0x6cf1e820, + 0x1d234: 0x6cfb8220, 0x1d235: 0x6d3e6820, 0x1d236: 0x6d23c820, 0x1d237: 0x6c626420, + 0x1d238: 0x6d072e20, 0x1d239: 0x6d31f420, 0x1d23a: 0x6d36b820, 0x1d23b: 0x6c2a2a20, + 0x1d23c: 0x6c645420, 0x1d23d: 0x6c5f1820, 0x1d23e: 0x6c431820, 0x1d23f: 0x6c431a20, + // Block 0x749, offset 0x1d240 + 0x1d240: 0x6c47c420, 0x1d241: 0x6cc6a020, 0x1d242: 0x6cdc6020, 0x1d243: 0x6cc73c20, + 0x1d244: 0x6c627a20, 0x1d245: 0x6c775220, 0x1d246: 0x6ca2ac20, 0x1d247: 0x6c11dc20, + 0x1d248: 0x6c9a2620, 0x1d249: 0x6d370c20, 0x1d24a: 0x6c624a20, 0x1d24b: 0x6c92d620, + 0x1d24c: 0x6cda5a20, 0x1d24d: 0x6c5f3c20, 0x1d24e: 0x6d1d0c20, 0x1d24f: 0x6cf1f020, + 0x1d250: 0x6cbfc420, 0x1d251: 0x6ccb6020, 0x1d252: 0x6c51e620, 0x1d253: 0x6d18aa20, + 0x1d254: 0x6c59fe20, 0x1d255: 0x6cbce620, 0x1d256: 0x6c615620, 0x1d257: 0x6cdc8820, + 0x1d258: 0x6cff2020, 0x1d259: 0x6cb45e20, 0x1d25a: 0x6c688420, 0x1d25b: 0x6d3d0c20, + 0x1d25c: 0x6d380c20, 0x1d25d: 0x6d41e620, 0x1d25e: 0x6c93ba20, 0x1d25f: 0x6cdc8c20, + 0x1d260: 0x6ca9d420, 0x1d261: 0x6ccb7820, 0x1d262: 0x6c5c6c20, 0x1d263: 0x6cc4de20, + 0x1d264: 0x6cab1e20, 0x1d265: 0x6d243420, 0x1d266: 0x6cb1f820, 0x1d267: 0x6c62bc20, + 0x1d268: 0x6ce9ce20, 0x1d269: 0x6cf1f420, 0x1d26a: 0x6c199e20, 0x1d26b: 0x6c5e1a20, + 0x1d26c: 0x6c7c1820, 0x1d26d: 0x6c93c020, 0x1d26e: 0x6c0c4c20, 0x1d26f: 0x6ccba820, + 0x1d270: 0x6cc4f420, 0x1d271: 0x6d3d1620, 0x1d272: 0x6c84d420, 0x1d273: 0x6c24aa20, + 0x1d274: 0x6d08f220, 0x1d275: 0x6cebc420, 0x1d276: 0x6c6f5620, 0x1d277: 0x6cbefa20, + 0x1d278: 0x6cf59020, 0x1d279: 0x6cbefe20, 0x1d27a: 0x6c796820, 0x1d27b: 0x6d207a20, + 0x1d27c: 0x6ccfc020, 0x1d27d: 0x6c6e1a20, 0x1d27e: 0x6d11f220, 0x1d27f: 0x6c1fe020, + // Block 0x74a, offset 0x1d280 + 0x1d280: 0x6d3cce20, 0x1d281: 0x6ce84420, 0x1d282: 0x6c814620, 0x1d283: 0x6cbca020, + 0x1d284: 0x6d2d2820, 0x1d285: 0x6d11a020, 0x1d286: 0x6c0b3020, 0x1d287: 0x6c05c420, + 0x1d288: 0x6d11a220, 0x1d289: 0x6c0ddc20, 0x1d28a: 0x6cebd420, 0x1d28b: 0x6d3a0820, + 0x1d28c: 0x6c699020, 0x1d28d: 0x6cbc3a20, 0x1d28e: 0x6c2e1020, 0x1d28f: 0x6cf36620, + 0x1d290: 0x6c4a5e20, 0x1d291: 0x6d10ea20, 0x1d292: 0x6d35fc20, 0x1d293: 0x6c205020, + 0x1d294: 0x6d120220, 0x1d295: 0x6ce5c220, 0x1d296: 0x6c69a020, 0x1d297: 0x6c205220, + 0x1d298: 0x6c6f1220, 0x1d299: 0x6cfeca20, 0x1d29a: 0x6c19f020, 0x1d29b: 0x6c79ec20, + 0x1d29c: 0x6c24ac20, 0x1d29d: 0x6cf29420, 0x1d29e: 0x6c289420, 0x1d29f: 0x6c7a4a20, + 0x1d2a0: 0x6c780c20, 0x1d2a1: 0x6d3d7020, 0x1d2a2: 0x6d05b420, 0x1d2a3: 0x6cda5420, + 0x1d2a4: 0x6c491c20, 0x1d2a5: 0x6c7c3e20, 0x1d2a6: 0x6c312420, 0x1d2a7: 0x6d3dfa20, + 0x1d2a8: 0x6d09a020, 0x1d2a9: 0x6cf29620, 0x1d2aa: 0x6cebea20, 0x1d2ab: 0x6d0bc620, + 0x1d2ac: 0x6d217820, 0x1d2ad: 0x6c726a20, 0x1d2ae: 0x6cbf5220, 0x1d2af: 0x6d113a20, + 0x1d2b0: 0x6d113c20, 0x1d2b1: 0x6ce5cc20, 0x1d2b2: 0x6c177820, 0x1d2b3: 0x6d228020, + 0x1d2b4: 0x6ce4bc20, 0x1d2b5: 0x6c2e3e20, 0x1d2b6: 0x6c729220, 0x1d2b7: 0x6c8aa820, + 0x1d2b8: 0x6cf6ce20, 0x1d2b9: 0x6cf52220, 0x1d2ba: 0x6c7c4420, 0x1d2bb: 0x6c206220, + 0x1d2bc: 0x6d2f7220, 0x1d2bd: 0x6c7b7c20, 0x1d2be: 0x6c7b7420, 0x1d2bf: 0x6c907420, + // Block 0x74b, offset 0x1d2c0 + 0x1d2c0: 0x6c199c20, 0x1d2c1: 0x6c256c20, 0x1d2c2: 0x6cb18420, 0x1d2c3: 0x6d2a9420, + 0x1d2c4: 0x6c24ba20, 0x1d2c5: 0x6cbc6820, 0x1d2c6: 0x6cbf7820, 0x1d2c7: 0x6c314c20, + 0x1d2c8: 0x6d2a9e20, 0x1d2c9: 0x6c904620, 0x1d2ca: 0x6cbd0a20, 0x1d2cb: 0x6c856c20, + 0x1d2cc: 0x6c1f0a20, 0x1d2cd: 0x6cd40c20, 0x1d2ce: 0x6c3fb820, 0x1d2cf: 0x6cba9220, + 0x1d2d0: 0x6c1f1c20, 0x1d2d1: 0x6c531820, 0x1d2d2: 0x6cb59820, 0x1d2d3: 0x6c508620, + 0x1d2d4: 0x6cd18420, 0x1d2d5: 0x6c3c0820, 0x1d2d6: 0x6cd5b220, 0x1d2d7: 0x6c9eb020, + 0x1d2d8: 0x6cc24020, 0x1d2d9: 0x6d2e5220, 0x1d2da: 0x6d3adc20, 0x1d2db: 0x6c8cd420, + 0x1d2dc: 0x6c8f8220, 0x1d2dd: 0x6c0e1620, 0x1d2de: 0x6c6e6a20, 0x1d2df: 0x6c6e7e20, + 0x1d2e0: 0x6d2eb620, 0x1d2e1: 0x6c046620, 0x1d2e2: 0x6cd8c220, 0x1d2e3: 0x6c75c020, + 0x1d2e4: 0x6c534e20, 0x1d2e5: 0x6ce74a20, 0x1d2e6: 0x6cd95a20, 0x1d2e7: 0x6c6e8820, + 0x1d2e8: 0x6c2e2e20, 0x1d2e9: 0x6d17f820, 0x1d2ea: 0x6cd5e820, 0x1d2eb: 0x6c6e7820, + 0x1d2ec: 0x6cc24c20, 0x1d2ed: 0x6c6b1020, 0x1d2ee: 0x6cb26020, 0x1d2ef: 0x6c329e20, + 0x1d2f0: 0x6ccea620, 0x1d2f1: 0x6d3bac20, 0x1d2f2: 0x6c136220, 0x1d2f3: 0x6c2ab020, + 0x1d2f4: 0x6c259e20, 0x1d2f5: 0x6cec5a20, 0x1d2f6: 0x6c6ec020, 0x1d2f7: 0x6c76fa20, + 0x1d2f8: 0x6c6ec420, 0x1d2f9: 0x6d39f020, 0x1d2fa: 0x6d39f620, 0x1d2fb: 0x6c821a20, + 0x1d2fc: 0x6cae9220, 0x1d2fd: 0x6d20e020, 0x1d2fe: 0x6c1b0e20, 0x1d2ff: 0x6c418820, + // Block 0x74c, offset 0x1d300 + 0x1d300: 0x6c984220, 0x1d301: 0x6d39fe20, 0x1d302: 0x6cedb820, 0x1d303: 0x6c321220, + 0x1d304: 0x6c5eac20, 0x1d305: 0x6cff7420, 0x1d306: 0x6c03f020, 0x1d307: 0x6cdb9820, + 0x1d308: 0x6c5ffc20, 0x1d309: 0x6cbdce20, 0x1d30a: 0x6d2faa20, 0x1d30b: 0x6cdce820, + 0x1d30c: 0x6d0b2020, 0x1d30d: 0x6d3c7e20, 0x1d30e: 0x6d255220, 0x1d30f: 0x6c568420, + 0x1d310: 0x6c4f6820, 0x1d311: 0x6cffe220, 0x1d312: 0x6c132e20, 0x1d313: 0x6c096c20, + 0x1d314: 0x6c08d020, 0x1d315: 0x6c658020, 0x1d316: 0x6d15de20, 0x1d317: 0x6c2ffc20, + 0x1d318: 0x6ccce220, 0x1d319: 0x6cd0fe20, 0x1d31a: 0x6c264820, 0x1d31b: 0x6c2b6c20, + 0x1d31c: 0x6d3a0e20, 0x1d31d: 0x6ca33420, 0x1d31e: 0x6c1aac20, 0x1d31f: 0x6c470620, + 0x1d320: 0x6c85f620, 0x1d321: 0x6cbcba20, 0x1d322: 0x6c9faa20, 0x1d323: 0x6c05ae20, + 0x1d324: 0x6ce58220, 0x1d325: 0x6cd8b620, 0x1d326: 0x6c3e5820, 0x1d327: 0x6c12de20, + 0x1d328: 0x6c07b420, 0x1d329: 0x6cae1a20, 0x1d32a: 0x6c26a020, 0x1d32b: 0x6d3f0620, + 0x1d32c: 0x6c2c4a20, 0x1d32d: 0x6c8cee20, 0x1d32e: 0x6d2ac420, 0x1d32f: 0x6caa4220, + 0x1d330: 0x6c3e5a20, 0x1d331: 0x6c467e20, 0x1d332: 0x6c389620, 0x1d333: 0x6c634e20, + 0x1d334: 0x6c41d820, 0x1d335: 0x6c394820, 0x1d336: 0x6cd2cc20, 0x1d337: 0x6c993820, + 0x1d338: 0x6cb35620, 0x1d339: 0x6ce45020, 0x1d33a: 0x6c648a20, 0x1d33b: 0x6cbf1820, + 0x1d33c: 0x6c8f8a20, 0x1d33d: 0x6c9fe420, 0x1d33e: 0x6c0af020, 0x1d33f: 0x6c960420, + // Block 0x74d, offset 0x1d340 + 0x1d340: 0x6c4b4c20, 0x1d341: 0x6cc10c20, 0x1d342: 0x6c1b2620, 0x1d343: 0x6d19e220, + 0x1d344: 0x6d120820, 0x1d345: 0x6cfc0e20, 0x1d346: 0x6c08e220, 0x1d347: 0x6cbf1a20, + 0x1d348: 0x6c7dfa20, 0x1d349: 0x6c2acc20, 0x1d34a: 0x6cff8c20, 0x1d34b: 0x6c6c4620, + 0x1d34c: 0x6cc2f420, 0x1d34d: 0x6cdcec20, 0x1d34e: 0x6cc7ae20, 0x1d34f: 0x6c381420, + 0x1d350: 0x6c7b9e20, 0x1d351: 0x6d3af620, 0x1d352: 0x6ce7b820, 0x1d353: 0x6c5ed820, + 0x1d354: 0x6c26a820, 0x1d355: 0x6c4f7a20, 0x1d356: 0x6c12ee20, 0x1d357: 0x6d383020, + 0x1d358: 0x6c79ee20, 0x1d359: 0x6c7f0e20, 0x1d35a: 0x6c09a820, 0x1d35b: 0x6ccc8a20, + 0x1d35c: 0x6c28fe20, 0x1d35d: 0x6d32c820, 0x1d35e: 0x6c12fa20, 0x1d35f: 0x6c3d7e20, + 0x1d360: 0x6d27b420, 0x1d361: 0x6ce8c620, 0x1d362: 0x6cabd820, 0x1d363: 0x6c83ec20, + 0x1d364: 0x6c80d020, 0x1d365: 0x6c71ba20, 0x1d366: 0x6c495820, 0x1d367: 0x6c65b020, + 0x1d368: 0x6c4e1e20, 0x1d369: 0x6ce75620, 0x1d36a: 0x6cf9d620, 0x1d36b: 0x6d366220, + 0x1d36c: 0x6c1a0e20, 0x1d36d: 0x6cdb9a20, 0x1d36e: 0x6cd39e20, 0x1d36f: 0x6d3b0c20, + 0x1d370: 0x6d424620, 0x1d371: 0x6cffb020, 0x1d372: 0x6cce7620, 0x1d373: 0x6ce67620, + 0x1d374: 0x6c12fc20, 0x1d375: 0x6d0c9e20, 0x1d376: 0x6c435020, 0x1d377: 0x6c7b2c20, + 0x1d378: 0x6c41a020, 0x1d379: 0x6c1dc020, 0x1d37a: 0x6c7c2e20, 0x1d37b: 0x6c42aa20, + 0x1d37c: 0x6d27b620, 0x1d37d: 0x6cab2a20, 0x1d37e: 0x6cb8f420, 0x1d37f: 0x6cffb220, + // Block 0x74e, offset 0x1d380 + 0x1d380: 0x6c65b220, 0x1d381: 0x6cb3de20, 0x1d382: 0x6c7f1c20, 0x1d383: 0x6d405c20, + 0x1d384: 0x6c08ec20, 0x1d385: 0x6c0a0420, 0x1d386: 0x6c0a0620, 0x1d387: 0x6c448c20, + 0x1d388: 0x6cdf3020, 0x1d389: 0x6c48e020, 0x1d38a: 0x6d209420, 0x1d38b: 0x6c64cc20, + 0x1d38c: 0x6c2a2420, 0x1d38d: 0x6c472420, 0x1d38e: 0x6c1b4420, 0x1d38f: 0x6d32e220, + 0x1d390: 0x6cbed220, 0x1d391: 0x6ccc6820, 0x1d392: 0x6d38ec20, 0x1d393: 0x6c928e20, + 0x1d394: 0x6c0f3020, 0x1d395: 0x6c5f0a20, 0x1d396: 0x6c8bc420, 0x1d397: 0x6cdb9e20, + 0x1d398: 0x6c75d420, 0x1d399: 0x6c3ec820, 0x1d39a: 0x6d2c4220, 0x1d39b: 0x6c472620, + 0x1d39c: 0x6c798620, 0x1d39d: 0x6cb9b220, 0x1d39e: 0x6cb90a20, 0x1d39f: 0x6c75d620, + 0x1d3a0: 0x6c20dc20, 0x1d3a1: 0x6c495a20, 0x1d3a2: 0x6d250420, 0x1d3a3: 0x6c130820, + 0x1d3a4: 0x6d40cc20, 0x1d3a5: 0x6c0fe620, 0x1d3a6: 0x6d2ae420, 0x1d3a7: 0x6cbcd620, + 0x1d3a8: 0x6cebb020, 0x1d3a9: 0x6c954e20, 0x1d3aa: 0x6c27ec20, 0x1d3ab: 0x6cfef420, + 0x1d3ac: 0x6cc92620, 0x1d3ad: 0x6c66ba20, 0x1d3ae: 0x6d07c020, 0x1d3af: 0x6c0b0020, + 0x1d3b0: 0x6cdcfc20, 0x1d3b1: 0x6cfd8620, 0x1d3b2: 0x6cfc2420, 0x1d3b3: 0x6cb2c620, + 0x1d3b4: 0x6d318c20, 0x1d3b5: 0x6d039420, 0x1d3b6: 0x6c559420, 0x1d3b7: 0x6d154a20, + 0x1d3b8: 0x6d3b1420, 0x1d3b9: 0x6d265820, 0x1d3ba: 0x6c211020, 0x1d3bb: 0x6c93f620, + 0x1d3bc: 0x6cf37e20, 0x1d3bd: 0x6c303820, 0x1d3be: 0x6cd79a20, 0x1d3bf: 0x6c609020, + // Block 0x74f, offset 0x1d3c0 + 0x1d3c0: 0x6c6af220, 0x1d3c1: 0x6c59ee20, 0x1d3c2: 0x6d039620, 0x1d3c3: 0x6c9aa820, + 0x1d3c4: 0x6c396a20, 0x1d3c5: 0x6c200a20, 0x1d3c6: 0x6d3bde20, 0x1d3c7: 0x6cb0fc20, + 0x1d3c8: 0x6c3c6220, 0x1d3c9: 0x6d3a2820, 0x1d3ca: 0x6c59f020, 0x1d3cb: 0x6cbce020, + 0x1d3cc: 0x6c542420, 0x1d3cd: 0x6cbfbe20, 0x1d3ce: 0x6c9e9a20, 0x1d3cf: 0x6cba7620, + 0x1d3d0: 0x6c483c20, 0x1d3d1: 0x6c7d1020, 0x1d3d2: 0x6cd41c20, 0x1d3d3: 0x6c90f420, + 0x1d3d4: 0x6d27c820, 0x1d3d5: 0x6c517020, 0x1d3d6: 0x6ce13420, 0x1d3d7: 0x6d26ee20, + 0x1d3d8: 0x6c1d7e20, 0x1d3d9: 0x6c42de20, 0x1d3da: 0x6c3a7020, 0x1d3db: 0x6cc92e20, + 0x1d3dc: 0x6d32f420, 0x1d3dd: 0x6c465e20, 0x1d3de: 0x6ca87220, 0x1d3df: 0x6cba7e20, + 0x1d3e0: 0x6cffbc20, 0x1d3e1: 0x6c24b420, 0x1d3e2: 0x6c903820, 0x1d3e3: 0x6caec620, + 0x1d3e4: 0x6c322e20, 0x1d3e5: 0x6c867e20, 0x1d3e6: 0x6c0a5420, 0x1d3e7: 0x6d3d9e20, + 0x1d3e8: 0x6c1ea820, 0x1d3e9: 0x6ccc9020, 0x1d3ea: 0x6c1b5220, 0x1d3eb: 0x6d3b2c20, + 0x1d3ec: 0x6cbada20, 0x1d3ed: 0x6c8fae20, 0x1d3ee: 0x6c7fb620, 0x1d3ef: 0x6c64fa20, + 0x1d3f0: 0x6c10ba20, 0x1d3f1: 0x6c844220, 0x1d3f2: 0x6c5c5820, 0x1d3f3: 0x6c0a5620, + 0x1d3f4: 0x6c2b9020, 0x1d3f5: 0x6c236420, 0x1d3f6: 0x6d0c3620, 0x1d3f7: 0x6caf2020, + 0x1d3f8: 0x6c11e020, 0x1d3f9: 0x6d3be620, 0x1d3fa: 0x6cb02220, 0x1d3fb: 0x6cb19e20, + 0x1d3fc: 0x6c30c820, 0x1d3fd: 0x6d243620, 0x1d3fe: 0x6c9ef820, 0x1d3ff: 0x6ce96020, + // Block 0x750, offset 0x1d400 + 0x1d400: 0x6d2b1020, 0x1d401: 0x6ccc9220, 0x1d402: 0x6c4b8420, 0x1d403: 0x6d156e20, + 0x1d404: 0x6c56cc20, 0x1d405: 0x6c15e620, 0x1d406: 0x6c7a0820, 0x1d407: 0x6c246820, + 0x1d408: 0x6cb2d620, 0x1d409: 0x6d2a9020, 0x1d40a: 0x6c5f5620, 0x1d40b: 0x6c4b1c20, + 0x1d40c: 0x6cdb3820, 0x1d40d: 0x6c90fc20, 0x1d40e: 0x6c131a20, 0x1d40f: 0x6c92e820, + 0x1d410: 0x6ca73e20, 0x1d411: 0x6cdd3820, 0x1d412: 0x6c24b620, 0x1d413: 0x6c2e5420, + 0x1d414: 0x6cdd4020, 0x1d415: 0x6c822a20, 0x1d416: 0x6c32dc20, 0x1d417: 0x6c89d020, + 0x1d418: 0x6cff2220, 0x1d419: 0x6c0f9420, 0x1d41a: 0x6c9da020, 0x1d41b: 0x6ccc9420, + 0x1d41c: 0x6c299c20, 0x1d41d: 0x6c8a3620, 0x1d41e: 0x6c280c20, 0x1d41f: 0x6c2d8e20, + 0x1d420: 0x6c3f9020, 0x1d421: 0x6c65f820, 0x1d422: 0x6c9fd020, 0x1d423: 0x6c7d2820, + 0x1d424: 0x6c27a020, 0x1d425: 0x6c689820, 0x1d426: 0x6c2ab620, 0x1d427: 0x6c5a0c20, + 0x1d428: 0x6cdd0020, 0x1d429: 0x6c818220, 0x1d42a: 0x6d295220, 0x1d42b: 0x6cff3c20, + 0x1d42c: 0x6c931e20, 0x1d42d: 0x6cd3f620, 0x1d42e: 0x6d295420, 0x1d42f: 0x6cb81c20, + 0x1d430: 0x6cac0a20, 0x1d431: 0x6cb81e20, 0x1d432: 0x6cac0c20, 0x1d433: 0x6c41f620, + 0x1d434: 0x6c72b220, 0x1d435: 0x6c328a20, 0x1d436: 0x6c930620, 0x1d437: 0x6d0cf220, + 0x1d438: 0x6c0fea20, 0x1d439: 0x6c291820, 0x1d43a: 0x6cc9ec20, 0x1d43b: 0x6d3b5e20, + 0x1d43c: 0x6c8fca20, 0x1d43d: 0x6cb94020, 0x1d43e: 0x6c888420, 0x1d43f: 0x6c10cc20, + // Block 0x751, offset 0x1d440 + 0x1d440: 0x6d396220, 0x1d441: 0x6c7f6e20, 0x1d442: 0x6cd42020, 0x1d443: 0x6c7fec20, + 0x1d444: 0x6c7d3420, 0x1d445: 0x6d21d620, 0x1d446: 0x6d270420, 0x1d447: 0x6c500020, + 0x1d448: 0x6d31a220, 0x1d449: 0x6cdf5020, 0x1d44a: 0x6ce43e20, 0x1d44b: 0x6ca8a420, + 0x1d44c: 0x6c1e0420, 0x1d44d: 0x6c60ec20, 0x1d44e: 0x6d199820, 0x1d44f: 0x6cb82020, + 0x1d450: 0x6ce2ca20, 0x1d451: 0x6d3c0020, 0x1d452: 0x6d396820, 0x1d453: 0x6c387020, + 0x1d454: 0x6cda3c20, 0x1d455: 0x6d396620, 0x1d456: 0x6cba9820, 0x1d457: 0x6d3de020, + 0x1d458: 0x6ce2d420, 0x1d459: 0x6c933a20, 0x1d45a: 0x6c919420, 0x1d45b: 0x6c662a20, + 0x1d45c: 0x6cebbe20, 0x1d45d: 0x6d1cd420, 0x1d45e: 0x6d248620, 0x1d45f: 0x6c7f7e20, + 0x1d460: 0x6c8ff420, 0x1d461: 0x6cbd1620, 0x1d462: 0x6c88a220, 0x1d463: 0x6c800a20, + 0x1d464: 0x6cb95c20, 0x1d465: 0x6d272020, 0x1d466: 0x6d37e420, 0x1d467: 0x6cc20e20, + 0x1d468: 0x6c88a420, 0x1d469: 0x6c0b2820, 0x1d46a: 0x6c32ea20, 0x1d46b: 0x6d415a20, + 0x1d46c: 0x6c84d620, 0x1d46d: 0x6cd86220, 0x1d46e: 0x6c958e20, 0x1d46f: 0x6d1cde20, + 0x1d470: 0x6d273820, 0x1d471: 0x6d3df220, 0x1d472: 0x6d24ae20, 0x1d473: 0x6c9cd620, + 0x1d474: 0x6c2b5820, 0x1d475: 0x6c388a20, 0x1d476: 0x6ccfb020, 0x1d477: 0x6d302820, + 0x1d478: 0x6ccfc220, 0x1d479: 0x6caa7220, 0x1d47a: 0x6c50e220, 0x1d47b: 0x6c832420, + 0x1d47c: 0x6cfa8e20, 0x1d47d: 0x6d3efa20, 0x1d47e: 0x6ca5c620, 0x1d47f: 0x6c25b420, + // Block 0x752, offset 0x1d480 + 0x1d480: 0x6d2f4620, 0x1d481: 0x6cb8c020, 0x1d482: 0x6d2d5a20, 0x1d483: 0x6c08d220, + 0x1d484: 0x6c04c620, 0x1d485: 0x6cf4d820, 0x1d486: 0x6ccbde20, 0x1d487: 0x6c772a20, + 0x1d488: 0x6cc77620, 0x1d489: 0x6c3bba20, 0x1d48a: 0x6c096e20, 0x1d48b: 0x6c252620, + 0x1d48c: 0x6d1b9a20, 0x1d48d: 0x6d304020, 0x1d48e: 0x6c1b9020, 0x1d48f: 0x6cdf8620, + 0x1d490: 0x6c56fa20, 0x1d491: 0x6c033c20, 0x1d492: 0x6c85f820, 0x1d493: 0x6c419620, + 0x1d494: 0x6c722e20, 0x1d495: 0x6cb38420, 0x1d496: 0x6ca10c20, 0x1d497: 0x6c241020, + 0x1d498: 0x6d2d6e20, 0x1d499: 0x6d392220, 0x1d49a: 0x6c83c620, 0x1d49b: 0x6cdaac20, + 0x1d49c: 0x6ce5d620, 0x1d49d: 0x6c85fa20, 0x1d49e: 0x6cf62220, 0x1d49f: 0x6cdab620, + 0x1d4a0: 0x6c535020, 0x1d4a1: 0x6ce74c20, 0x1d4a2: 0x6d3e4420, 0x1d4a3: 0x6c12e020, + 0x1d4a4: 0x6d26bc20, 0x1d4a5: 0x6d388620, 0x1d4a6: 0x6c8bb820, 0x1d4a7: 0x6d3c1a20, + 0x1d4a8: 0x6c042220, 0x1d4a9: 0x6c81f620, 0x1d4aa: 0x6c3bda20, 0x1d4ab: 0x6c375820, + 0x1d4ac: 0x6cc10e20, 0x1d4ad: 0x6c521620, 0x1d4ae: 0x6c895a20, 0x1d4af: 0x6cfcd820, + 0x1d4b0: 0x6c3ea020, 0x1d4b1: 0x6c895c20, 0x1d4b2: 0x6c11fa20, 0x1d4b3: 0x6c6dc220, + 0x1d4b4: 0x6c851c20, 0x1d4b5: 0x6d26c620, 0x1d4b6: 0x6c929020, 0x1d4b7: 0x6c714020, + 0x1d4b8: 0x6cb61e20, 0x1d4b9: 0x6c254e20, 0x1d4ba: 0x6c045220, 0x1d4bb: 0x6d2ece20, + 0x1d4bc: 0x6c8bc620, 0x1d4bd: 0x6d402620, 0x1d4be: 0x6c6dcc20, 0x1d4bf: 0x6c4cc420, + // Block 0x753, offset 0x1d4c0 + 0x1d4c0: 0x6c57e020, 0x1d4c1: 0x6cca2220, 0x1d4c2: 0x6cca2620, 0x1d4c3: 0x6ce12a20, + 0x1d4c4: 0x6c0b4c20, 0x1d4c5: 0x6cc75c20, 0x1d4c6: 0x6c9e5c20, 0x1d4c7: 0x6c542620, + 0x1d4c8: 0x6d065220, 0x1d4c9: 0x6d402a20, 0x1d4ca: 0x6c56fe20, 0x1d4cb: 0x6c66be20, + 0x1d4cc: 0x6d294e20, 0x1d4cd: 0x6c225e20, 0x1d4ce: 0x6c843020, 0x1d4cf: 0x6d021a20, + 0x1d4d0: 0x6c3da020, 0x1d4d1: 0x6cab1220, 0x1d4d2: 0x6c076020, 0x1d4d3: 0x6c47d020, + 0x1d4d4: 0x6d052820, 0x1d4d5: 0x6c42e020, 0x1d4d6: 0x6ce13620, 0x1d4d7: 0x6cc0b220, + 0x1d4d8: 0x6c645620, 0x1d4d9: 0x6c126a20, 0x1d4da: 0x6d3c2420, 0x1d4db: 0x6ce14020, + 0x1d4dc: 0x6c9c7c20, 0x1d4dd: 0x6cca2c20, 0x1d4de: 0x6c3bf420, 0x1d4df: 0x6d2a2620, + 0x1d4e0: 0x6c775620, 0x1d4e1: 0x6c67fe20, 0x1d4e2: 0x6ca07e20, 0x1d4e3: 0x6cca3020, + 0x1d4e4: 0x6cca3220, 0x1d4e5: 0x6cab1c20, 0x1d4e6: 0x6cf70820, 0x1d4e7: 0x6c897420, + 0x1d4e8: 0x6c680820, 0x1d4e9: 0x6c7b4620, 0x1d4ea: 0x6c0ffa20, 0x1d4eb: 0x6c58b620, + 0x1d4ec: 0x6cd63620, 0x1d4ed: 0x6d403e20, 0x1d4ee: 0x6cfd4020, 0x1d4ef: 0x6cab2020, + 0x1d4f0: 0x6ce97020, 0x1d4f1: 0x6ca8b820, 0x1d4f2: 0x6c873020, 0x1d4f3: 0x6d42b220, + 0x1d4f4: 0x6c2bb820, 0x1d4f5: 0x6ca8ba20, 0x1d4f6: 0x6ce5e420, 0x1d4f7: 0x6c809820, + 0x1d4f8: 0x6c9d1a20, 0x1d4f9: 0x6cd7c020, 0x1d4fa: 0x6c6f5820, 0x1d4fb: 0x6cf83e20, + 0x1d4fc: 0x6c456620, 0x1d4fd: 0x6d331c20, 0x1d4fe: 0x6c6f5e20, 0x1d4ff: 0x6d201c20, + // Block 0x754, offset 0x1d500 + 0x1d500: 0x6c61b020, 0x1d501: 0x6c143a20, 0x1d502: 0x6d391020, 0x1d503: 0x6d09f020, + 0x1d504: 0x6d264a20, 0x1d505: 0x6c531c20, 0x1d506: 0x6d207e20, 0x1d507: 0x6c50e420, + 0x1d508: 0x6cecce20, 0x1d509: 0x6cc5d820, 0x1d50a: 0x6cf1d220, 0x1d50b: 0x6cf18c20, + 0x1d50c: 0x6cc03620, 0x1d50d: 0x6ca32820, 0x1d50e: 0x6d3e1c20, 0x1d50f: 0x6ce80c20, + 0x1d510: 0x6ca99020, 0x1d511: 0x6c3d1420, 0x1d512: 0x6c61d020, 0x1d513: 0x6cd4c020, + 0x1d514: 0x6c213c20, 0x1d515: 0x6caf5a20, 0x1d516: 0x6d323220, 0x1d517: 0x6ccbe020, + 0x1d518: 0x6c532e20, 0x1d519: 0x6d351220, 0x1d51a: 0x6c5ffe20, 0x1d51b: 0x6c3b2220, + 0x1d51c: 0x6d279e20, 0x1d51d: 0x6cc5de20, 0x1d51e: 0x6c283220, 0x1d51f: 0x6c6c4020, + 0x1d520: 0x6cda9420, 0x1d521: 0x6c39d220, 0x1d522: 0x6cdd5a20, 0x1d523: 0x6c252820, + 0x1d524: 0x6c6fb820, 0x1d525: 0x6d288c20, 0x1d526: 0x6c03f220, 0x1d527: 0x6c6c8c20, + 0x1d528: 0x6c3d6a20, 0x1d529: 0x6d35fe20, 0x1d52a: 0x6c229820, 0x1d52b: 0x6d3f1620, + 0x1d52c: 0x6c1da620, 0x1d52d: 0x6c533e20, 0x1d52e: 0x6d288e20, 0x1d52f: 0x6c833420, + 0x1d530: 0x6cf87a20, 0x1d531: 0x6c3e5c20, 0x1d532: 0x6d019a20, 0x1d533: 0x6ccfe020, + 0x1d534: 0x6c0e6c20, 0x1d535: 0x6d3ae820, 0x1d536: 0x6cc0fc20, 0x1d537: 0x6c8cf020, + 0x1d538: 0x6d3aea20, 0x1d539: 0x6cced620, 0x1d53a: 0x6c421e20, 0x1d53b: 0x6d101420, + 0x1d53c: 0x6c3e5e20, 0x1d53d: 0x6ceb1820, 0x1d53e: 0x6d31d420, 0x1d53f: 0x6c275e20, + // Block 0x755, offset 0x1d540 + 0x1d540: 0x6c1f3420, 0x1d541: 0x6cd1b420, 0x1d542: 0x6d37b620, 0x1d543: 0x6cfb4e20, + 0x1d544: 0x6d411a20, 0x1d545: 0x6c6ede20, 0x1d546: 0x6c04f820, 0x1d547: 0x6cc18c20, + 0x1d548: 0x6ca10e20, 0x1d549: 0x6cd5c620, 0x1d54a: 0x6d41ac20, 0x1d54b: 0x6c7c2c20, + 0x1d54c: 0x6c6db020, 0x1d54d: 0x6cc5f220, 0x1d54e: 0x6c4f7c20, 0x1d54f: 0x6d01b220, + 0x1d550: 0x6c6ad620, 0x1d551: 0x6d39a820, 0x1d552: 0x6c1db420, 0x1d553: 0x6c48b620, + 0x1d554: 0x6c042420, 0x1d555: 0x6c745420, 0x1d556: 0x6c7bf620, 0x1d557: 0x6c556220, + 0x1d558: 0x6c22c620, 0x1d559: 0x6c587820, 0x1d55a: 0x6c44d220, 0x1d55b: 0x6ce1c820, + 0x1d55c: 0x6c6ad820, 0x1d55d: 0x6c7a9a20, 0x1d55e: 0x6c68fc20, 0x1d55f: 0x6cc2f620, + 0x1d560: 0x6c411620, 0x1d561: 0x6c960620, 0x1d562: 0x6d089620, 0x1d563: 0x6c07ee20, + 0x1d564: 0x6cfcc620, 0x1d565: 0x6c3e8620, 0x1d566: 0x6c449420, 0x1d567: 0x6c307a20, + 0x1d568: 0x6cc67a20, 0x1d569: 0x6ce5d820, 0x1d56a: 0x6d19e420, 0x1d56b: 0x6c82c220, + 0x1d56c: 0x6d01b420, 0x1d56d: 0x6c736820, 0x1d56e: 0x6d06e020, 0x1d56f: 0x6c40f820, + 0x1d570: 0x6c2eae20, 0x1d571: 0x6ce7ba20, 0x1d572: 0x6cd7ea20, 0x1d573: 0x6c67e820, + 0x1d574: 0x6cfdc420, 0x1d575: 0x6c5bc820, 0x1d576: 0x6c745620, 0x1d577: 0x6d346820, + 0x1d578: 0x6c65b420, 0x1d579: 0x6c737620, 0x1d57a: 0x6c1ac020, 0x1d57b: 0x6c9e2c20, + 0x1d57c: 0x6d31e820, 0x1d57d: 0x6c939e20, 0x1d57e: 0x6c1a1020, 0x1d57f: 0x6cc07a20, + // Block 0x756, offset 0x1d580 + 0x1d580: 0x6cd4ec20, 0x1d581: 0x6c055020, 0x1d582: 0x6ce7bc20, 0x1d583: 0x6cfedc20, + 0x1d584: 0x6c588020, 0x1d585: 0x6cbd3620, 0x1d586: 0x6c451220, 0x1d587: 0x6d052620, + 0x1d588: 0x6ce34c20, 0x1d589: 0x6ce82e20, 0x1d58a: 0x6d00c020, 0x1d58b: 0x6c536420, + 0x1d58c: 0x6cf8a420, 0x1d58d: 0x6c3ea220, 0x1d58e: 0x6ce64620, 0x1d58f: 0x6cdbcc20, + 0x1d590: 0x6c335220, 0x1d591: 0x6c7db620, 0x1d592: 0x6c3d8020, 0x1d593: 0x6c6dc420, + 0x1d594: 0x6c56a620, 0x1d595: 0x6d33f820, 0x1d596: 0x6d0ca020, 0x1d597: 0x6c6f1c20, + 0x1d598: 0x6c3cb020, 0x1d599: 0x6c622020, 0x1d59a: 0x6d077420, 0x1d59b: 0x6cc60c20, + 0x1d59c: 0x6d3faa20, 0x1d59d: 0x6c187820, 0x1d59e: 0x6c34a420, 0x1d59f: 0x6c865020, + 0x1d5a0: 0x6c93ec20, 0x1d5a1: 0x6c896020, 0x1d5a2: 0x6c1dcc20, 0x1d5a3: 0x6cc36420, + 0x1d5a4: 0x6ccede20, 0x1d5a5: 0x6cb62020, 0x1d5a6: 0x6cb62220, 0x1d5a7: 0x6d3ce020, + 0x1d5a8: 0x6cb62420, 0x1d5a9: 0x6ced3420, 0x1d5aa: 0x6cba6a20, 0x1d5ab: 0x6cfcec20, + 0x1d5ac: 0x6cd47420, 0x1d5ad: 0x6cef2220, 0x1d5ae: 0x6cb70e20, 0x1d5af: 0x6ce23020, + 0x1d5b0: 0x6ced3620, 0x1d5b1: 0x6c428c20, 0x1d5b2: 0x6cee3020, 0x1d5b3: 0x6c080420, + 0x1d5b4: 0x6d3cc620, 0x1d5b5: 0x6c113a20, 0x1d5b6: 0x6c4cc620, 0x1d5b7: 0x6c255020, + 0x1d5b8: 0x6c950420, 0x1d5b9: 0x6c8f1020, 0x1d5ba: 0x6cb71020, 0x1d5bb: 0x6d2e6e20, + 0x1d5bc: 0x6c0a0820, 0x1d5bd: 0x6c21cc20, 0x1d5be: 0x6c8d3c20, 0x1d5bf: 0x6c9dca20, + // Block 0x757, offset 0x1d5c0 + 0x1d5c0: 0x6cb51420, 0x1d5c1: 0x6cbcd820, 0x1d5c2: 0x6ce4b420, 0x1d5c3: 0x6d3fac20, + 0x1d5c4: 0x6c4bd820, 0x1d5c5: 0x6d405e20, 0x1d5c6: 0x6cf67c20, 0x1d5c7: 0x6d3e6a20, + 0x1d5c8: 0x6d043220, 0x1d5c9: 0x6c899a20, 0x1d5ca: 0x6c6ca420, 0x1d5cb: 0x6c3a1220, + 0x1d5cc: 0x6cc8a020, 0x1d5cd: 0x6c9f7220, 0x1d5ce: 0x6d239e20, 0x1d5cf: 0x6d400420, + 0x1d5d0: 0x6c38ae20, 0x1d5d1: 0x6c93ee20, 0x1d5d2: 0x6d071620, 0x1d5d3: 0x6d1bd820, + 0x1d5d4: 0x6cce5620, 0x1d5d5: 0x6cb81820, 0x1d5d6: 0x6d073020, 0x1d5d7: 0x6cfd8820, + 0x1d5d8: 0x6c64dc20, 0x1d5d9: 0x6c78ce20, 0x1d5da: 0x6cfcfe20, 0x1d5db: 0x6cc87620, + 0x1d5dc: 0x6c9dcc20, 0x1d5dd: 0x6c5f1c20, 0x1d5de: 0x6c32d820, 0x1d5df: 0x6c1d1e20, + 0x1d5e0: 0x6c2c9420, 0x1d5e1: 0x6c9f7820, 0x1d5e2: 0x6c9e7c20, 0x1d5e3: 0x6d259c20, + 0x1d5e4: 0x6d01fe20, 0x1d5e5: 0x6c060e20, 0x1d5e6: 0x6cd82020, 0x1d5e7: 0x6cbfc020, + 0x1d5e8: 0x6c0b0220, 0x1d5e9: 0x6c58dc20, 0x1d5ea: 0x6c44d820, 0x1d5eb: 0x6c234620, + 0x1d5ec: 0x6c9e3820, 0x1d5ed: 0x6cf0c420, 0x1d5ee: 0x6c403620, 0x1d5ef: 0x6cf00620, + 0x1d5f0: 0x6ce7f420, 0x1d5f1: 0x6c465a20, 0x1d5f2: 0x6c9e9c20, 0x1d5f3: 0x6d00de20, + 0x1d5f4: 0x6c891220, 0x1d5f5: 0x6d3fb620, 0x1d5f6: 0x6c0bb620, 0x1d5f7: 0x6d284a20, + 0x1d5f8: 0x6d19fc20, 0x1d5f9: 0x6ce36820, 0x1d5fa: 0x6c486c20, 0x1d5fb: 0x6d36ea20, + 0x1d5fc: 0x6d284c20, 0x1d5fd: 0x6c198c20, 0x1d5fe: 0x6c152020, 0x1d5ff: 0x6c278c20, + // Block 0x758, offset 0x1d600 + 0x1d600: 0x6cf9ea20, 0x1d601: 0x6d259e20, 0x1d602: 0x6d400620, 0x1d603: 0x6d05da20, + 0x1d604: 0x6d1d6a20, 0x1d605: 0x6cf14420, 0x1d606: 0x6c44da20, 0x1d607: 0x6d07c220, + 0x1d608: 0x6d1c9c20, 0x1d609: 0x6c6d5220, 0x1d60a: 0x6d18ae20, 0x1d60b: 0x6d3ca220, + 0x1d60c: 0x6ca6c020, 0x1d60d: 0x6c053c20, 0x1d60e: 0x6c47c820, 0x1d60f: 0x6cac7220, + 0x1d610: 0x6d395420, 0x1d611: 0x6c64fc20, 0x1d612: 0x6c220a20, 0x1d613: 0x6cc31620, + 0x1d614: 0x6cd6e020, 0x1d615: 0x6d276620, 0x1d616: 0x6cf9f220, 0x1d617: 0x6c24ea20, + 0x1d618: 0x6cf6d220, 0x1d619: 0x6cc6a620, 0x1d61a: 0x6ce1ea20, 0x1d61b: 0x6c405420, + 0x1d61c: 0x6d27ca20, 0x1d61d: 0x6c188820, 0x1d61e: 0x6c432020, 0x1d61f: 0x6cc82820, + 0x1d620: 0x6c55b820, 0x1d621: 0x6d294620, 0x1d622: 0x6ce2b420, 0x1d623: 0x6cfd1020, + 0x1d624: 0x6cdb1e20, 0x1d625: 0x6d31fc20, 0x1d626: 0x6d403420, 0x1d627: 0x6ce1ec20, + 0x1d628: 0x6c5a8420, 0x1d629: 0x6c114a20, 0x1d62a: 0x6c0a5820, 0x1d62b: 0x6c3cf620, + 0x1d62c: 0x6c246a20, 0x1d62d: 0x6c844620, 0x1d62e: 0x6cdd4220, 0x1d62f: 0x6d0ddc20, + 0x1d630: 0x6cf81820, 0x1d631: 0x6d403820, 0x1d632: 0x6c826420, 0x1d633: 0x6c739820, + 0x1d634: 0x6cba8220, 0x1d635: 0x6c980820, 0x1d636: 0x6d34a420, 0x1d637: 0x6c93bc20, + 0x1d638: 0x6ca2b220, 0x1d639: 0x6cb1a020, 0x1d63a: 0x6c885220, 0x1d63b: 0x6c9c8020, + 0x1d63c: 0x6d08bc20, 0x1d63d: 0x6d400a20, 0x1d63e: 0x6c5f5820, 0x1d63f: 0x6ccd1220, + // Block 0x759, offset 0x1d640 + 0x1d640: 0x6cdc8e20, 0x1d641: 0x6c38ca20, 0x1d642: 0x6c940620, 0x1d643: 0x6c083020, + 0x1d644: 0x6d141e20, 0x1d645: 0x6ccac220, 0x1d646: 0x6ca1ec20, 0x1d647: 0x6d114c20, + 0x1d648: 0x6cbb4a20, 0x1d649: 0x6c5d0220, 0x1d64a: 0x6cfd5a20, 0x1d64b: 0x6c629a20, + 0x1d64c: 0x6ccc8620, 0x1d64d: 0x6d055220, 0x1d64e: 0x6cc49420, 0x1d64f: 0x6d08be20, + 0x1d650: 0x6cdca020, 0x1d651: 0x6cbbc020, 0x1d652: 0x6d2b9e20, 0x1d653: 0x6d427020, + 0x1d654: 0x6d341e20, 0x1d655: 0x6ccdca20, 0x1d656: 0x6cca3420, 0x1d657: 0x6c8bf020, + 0x1d658: 0x6d243820, 0x1d659: 0x6c386220, 0x1d65a: 0x6c8a3820, 0x1d65b: 0x6c21e020, + 0x1d65c: 0x6d41f820, 0x1d65d: 0x6c66f220, 0x1d65e: 0x6cc54a20, 0x1d65f: 0x6c15f020, + 0x1d660: 0x6cc8b620, 0x1d661: 0x6d055620, 0x1d662: 0x6c5c6e20, 0x1d663: 0x6c57ca20, + 0x1d664: 0x6d414a20, 0x1d665: 0x6cf70a20, 0x1d666: 0x6cbb4e20, 0x1d667: 0x6d287c20, + 0x1d668: 0x6c270220, 0x1d669: 0x6cd12620, 0x1d66a: 0x6c5c7e20, 0x1d66b: 0x6cf91620, + 0x1d66c: 0x6ccb8020, 0x1d66d: 0x6c660020, 0x1d66e: 0x6c679220, 0x1d66f: 0x6c58b820, + 0x1d670: 0x6d2a5e20, 0x1d671: 0x6c236e20, 0x1d672: 0x6d026020, 0x1d673: 0x6c695a20, + 0x1d674: 0x6c0aa820, 0x1d675: 0x6c28de20, 0x1d676: 0x6d191020, 0x1d677: 0x6ca9ec20, + 0x1d678: 0x6cdca220, 0x1d679: 0x6d191220, 0x1d67a: 0x6ccc9a20, 0x1d67b: 0x6d060420, + 0x1d67c: 0x6c62cc20, 0x1d67d: 0x6c0d6c20, 0x1d67e: 0x6cba3020, 0x1d67f: 0x6c7fee20, + // Block 0x75a, offset 0x1d680 + 0x1d680: 0x6cb47020, 0x1d681: 0x6d09c620, 0x1d682: 0x6d415420, 0x1d683: 0x6cb69620, + 0x1d684: 0x6caee820, 0x1d685: 0x6d124620, 0x1d686: 0x6ca19a20, 0x1d687: 0x6c835c20, + 0x1d688: 0x6d012820, 0x1d689: 0x6d415620, 0x1d68a: 0x6c7c1a20, 0x1d68b: 0x6d1ed220, + 0x1d68c: 0x6d076220, 0x1d68d: 0x6c828420, 0x1d68e: 0x6cfb0420, 0x1d68f: 0x6c156220, + 0x1d690: 0x6c69f220, 0x1d691: 0x6c919620, 0x1d692: 0x6c156a20, 0x1d693: 0x6d1c4020, + 0x1d694: 0x6c111820, 0x1d695: 0x6cc51620, 0x1d696: 0x6cfb1620, 0x1d697: 0x6d418620, + 0x1d698: 0x6d415c20, 0x1d699: 0x6c965220, 0x1d69a: 0x6c84e020, 0x1d69b: 0x6c2a5220, + 0x1d69c: 0x6c806a20, 0x1d69d: 0x6c82ac20, 0x1d69e: 0x6c894020, 0x1d69f: 0x6cd7b620, + 0x1d6a0: 0x6c6f4620, 0x1d6a1: 0x6d207420, 0x1d6a2: 0x6c52ee20, 0x1d6a3: 0x6d38f420, + 0x1d6a4: 0x6cfa7420, 0x1d6a5: 0x6c436a20, 0x1d6a6: 0x6d264820, 0x1d6a7: 0x6c5fce20, + 0x1d6a8: 0x6cecbc20, 0x1d6a9: 0x6c7bda20, 0x1d6aa: 0x6c617a20, 0x1d6ab: 0x6cc5b820, + 0x1d6ac: 0x6cef8820, 0x1d6ad: 0x6d278220, 0x1d6ae: 0x6c52fc20, 0x1d6af: 0x6c213420, + 0x1d6b0: 0x6caf2c20, 0x1d6b1: 0x6ccbca20, 0x1d6b2: 0x6c425820, 0x1d6b3: 0x6ca30820, + 0x1d6b4: 0x6cc5c620, 0x1d6b5: 0x6d401620, 0x1d6b6: 0x6c94dc20, 0x1d6b7: 0x6c3b1220, + 0x1d6b8: 0x6d34ec20, 0x1d6b9: 0x6cf17e20, 0x1d6ba: 0x6c39c220, 0x1d6bb: 0x6d3aa420, + 0x1d6bc: 0x6d321420, 0x1d6bd: 0x6ca97c20, 0x1d6be: 0x6cd4a020, 0x1d6bf: 0x6cfc8220, + // Block 0x75b, offset 0x1d6c0 + 0x1d6c0: 0x6c421220, 0x1d6c1: 0x6d016620, 0x1d6c2: 0x6c3dfa20, 0x1d6c3: 0x6c88e420, + 0x1d6c4: 0x6d410c20, 0x1d6c5: 0x6ccfb220, 0x1d6c6: 0x6cf84e20, 0x1d6c7: 0x6d33a020, + 0x1d6c8: 0x6d37a020, 0x1d6c9: 0x6d390420, 0x1d6ca: 0x6c04ec20, 0x1d6cb: 0x6c3dfc20, + 0x1d6cc: 0x6c1f1420, 0x1d6cd: 0x6ccec820, 0x1d6ce: 0x6d16ce20, 0x1d6cf: 0x6c6d9220, + 0x1d6d0: 0x6c273820, 0x1d6d1: 0x6c054a20, 0x1d6d2: 0x6cc65a20, 0x1d6d3: 0x6c6a9820, + 0x1d6d4: 0x6c7a8620, 0x1d6d5: 0x6cc54620, 0x1d6d6: 0x6c2e7620, 0x1d6d7: 0x6c4f6420, + 0x1d6d8: 0x6c5b9e20, 0x1d6d9: 0x6c449220, 0x1d6da: 0x6d087c20, 0x1d6db: 0x6c67dc20, + 0x1d6dc: 0x6c95ea20, 0x1d6dd: 0x6c740420, 0x1d6de: 0x6c68d620, 0x1d6df: 0x6ce7ae20, + 0x1d6e0: 0x6c450020, 0x1d6e1: 0x6cfea820, 0x1d6e2: 0x6c735020, 0x1d6e3: 0x6d053620, + 0x1d6e4: 0x6cf87220, 0x1d6e5: 0x6cdbf020, 0x1d6e6: 0x6ce1c020, 0x1d6e7: 0x6c61d220, + 0x1d6e8: 0x6ce31820, 0x1d6e9: 0x6c5eb820, 0x1d6ea: 0x6d06be20, 0x1d6eb: 0x6c8cf220, + 0x1d6ec: 0x6d1bb220, 0x1d6ed: 0x6d06c020, 0x1d6ee: 0x6cb6f620, 0x1d6ef: 0x6c39fc20, + 0x1d6f0: 0x6c21b820, 0x1d6f1: 0x6cce5220, 0x1d6f2: 0x6c4bc220, 0x1d6f3: 0x6cd11e20, + 0x1d6f4: 0x6cef0420, 0x1d6f5: 0x6c9dc020, 0x1d6f6: 0x6cd46820, 0x1d6f7: 0x6c081a20, + 0x1d6f8: 0x6c1da820, 0x1d6f9: 0x6ce22220, 0x1d6fa: 0x6c8f0620, 0x1d6fb: 0x6cc35a20, + 0x1d6fc: 0x6d3f7820, 0x1d6fd: 0x6d2e5c20, 0x1d6fe: 0x6ced0c20, 0x1d6ff: 0x6c93d820, + // Block 0x75c, offset 0x1d700 + 0x1d700: 0x6d3cc420, 0x1d701: 0x6d3e2820, 0x1d702: 0x6c78b420, 0x1d703: 0x6cfd7820, + 0x1d704: 0x6c64a420, 0x1d705: 0x6c9e2820, 0x1d706: 0x6c802a20, 0x1d707: 0x6ce33020, + 0x1d708: 0x6c9e9420, 0x1d709: 0x6c5eda20, 0x1d70a: 0x6d275020, 0x1d70b: 0x6c5bca20, + 0x1d70c: 0x6cd7ec20, 0x1d70d: 0x6c348620, 0x1d70e: 0x6c32c420, 0x1d70f: 0x6c0ba020, + 0x1d710: 0x6cfcc820, 0x1d711: 0x6c464a20, 0x1d712: 0x6d3c8a20, 0x1d713: 0x6c58d820, + 0x1d714: 0x6c2c5e20, 0x1d715: 0x6c93a020, 0x1d716: 0x6c0af620, 0x1d717: 0x6c9f5820, + 0x1d718: 0x6d256820, 0x1d719: 0x6c6d1c20, 0x1d71a: 0x6c401020, 0x1d71b: 0x6cc81e20, + 0x1d71c: 0x6d31ea20, 0x1d71d: 0x6c3ce620, 0x1d71e: 0x6c24ce20, 0x1d71f: 0x6c430c20, + 0x1d720: 0x6c150420, 0x1d721: 0x6c83f020, 0x1d722: 0x6d17fc20, 0x1d723: 0x6c64be20, + 0x1d724: 0x6c0d4020, 0x1d725: 0x6cb15a20, 0x1d726: 0x6c97f020, 0x1d727: 0x6c824820, + 0x1d728: 0x6d1bda20, 0x1d729: 0x6cdd2e20, 0x1d72a: 0x6ca1d820, 0x1d72b: 0x6ccaba20, + 0x1d72c: 0x6d00e020, 0x1d72d: 0x6c8a1420, 0x1d72e: 0x6ccda220, 0x1d72f: 0x6d2b8c20, + 0x1d730: 0x6c677a20, 0x1d731: 0x6cba2420, 0x1d732: 0x6cbbb220, 0x1d733: 0x6c589a20, + 0x1d734: 0x6c694620, 0x1d735: 0x6d415020, 0x1d736: 0x6c3d1a20, 0x1d737: 0x6d016820, + 0x1d738: 0x6c426820, 0x1d739: 0x6c3d2420, 0x1d73a: 0x6cc38a20, 0x1d73b: 0x6c3d2620, + 0x1d73c: 0x6cb81020, 0x1d73d: 0x6c0e6e20, 0x1d73e: 0x6cb2ac20, 0x1d73f: 0x6cfe3420, + // Block 0x75d, offset 0x1d740 + 0x1d740: 0x6d2ff620, 0x1d741: 0x6c428e20, 0x1d742: 0x6d1bdc20, 0x1d743: 0x6d1bea20, + 0x1d744: 0x6cbee020, 0x1d745: 0x6cfa4c20, 0x1d746: 0x6c49aa20, 0x1d747: 0x6d41fa20, + 0x1d748: 0x6ce02a20, 0x1d749: 0x6c126020, 0x1d74a: 0x6cb7fe20, 0x1d74b: 0x6cf27620, + 0x1d74c: 0x6d1c2220, 0x1d74d: 0x6c828620, 0x1d74e: 0x6ce04820, 0x1d74f: 0x6c919820, + 0x1d750: 0x6c49c420, 0x1d751: 0x6cedf420, 0x1d752: 0x6cedf020, 0x1d753: 0x6c424e20, + 0x1d754: 0x6cedfe20, 0x1d755: 0x6c4e5020, 0x1d756: 0x6c953820, 0x1d757: 0x6c952c20, + 0x1d758: 0x6c3e2220, 0x1d759: 0x6c9c3a20, 0x1d75a: 0x6c380620, 0x1d75b: 0x6c470020, + 0x1d75c: 0x6d3a6020, 0x1d75d: 0x6c707220, 0x1d75e: 0x6c98d420, 0x1d75f: 0x6c477420, + 0x1d760: 0x6c9f4220, 0x1d761: 0x6c427220, 0x1d762: 0x6c03f420, 0x1d763: 0x6c48b220, + 0x1d764: 0x6ce33220, 0x1d765: 0x6c736a20, 0x1d766: 0x6c3e8820, 0x1d767: 0x6cd0b420, + 0x1d768: 0x6d0da820, 0x1d769: 0x6d2fc220, 0x1d76a: 0x6d41b820, 0x1d76b: 0x6c48b820, + 0x1d76c: 0x6d3d7220, 0x1d76d: 0x6d237620, 0x1d76e: 0x6d366620, 0x1d76f: 0x6c018e20, + 0x1d770: 0x6c382020, 0x1d771: 0x6c803420, 0x1d772: 0x6cd56220, 0x1d773: 0x6cd80620, + 0x1d774: 0x6cb00820, 0x1d775: 0x6c96da20, 0x1d776: 0x6c8f1620, 0x1d777: 0x6c03f820, + 0x1d778: 0x6c382420, 0x1d779: 0x6c844a20, 0x1d77a: 0x6c177e20, 0x1d77b: 0x6cf0d020, + 0x1d77c: 0x6c0a3420, 0x1d77d: 0x6c629c20, 0x1d77e: 0x6d2b9c20, 0x1d77f: 0x6c1ce620, + // Block 0x75e, offset 0x1d780 + 0x1d780: 0x6c8f2220, 0x1d781: 0x6c5f5a20, 0x1d782: 0x6c739e20, 0x1d783: 0x6c9da220, + 0x1d784: 0x6d2fec20, 0x1d785: 0x6c956220, 0x1d786: 0x6cb03220, 0x1d787: 0x6c5f9e20, + 0x1d788: 0x6c5fb020, 0x1d789: 0x6c946820, 0x1d78a: 0x6d0f7620, 0x1d78b: 0x6c9cde20, + 0x1d78c: 0x6cba9e20, 0x1d78d: 0x6c268820, 0x1d78e: 0x6c9a4e20, 0x1d78f: 0x6d0f9a20, + 0x1d790: 0x6d1fbc20, 0x1d791: 0x6d1fb420, 0x1d792: 0x6c3b6620, 0x1d793: 0x6c033e20, + 0x1d794: 0x6c42b820, 0x1d795: 0x6d104a20, 0x1d796: 0x6c477620, 0x1d797: 0x6cbaaa20, + 0x1d798: 0x6d29d620, 0x1d799: 0x6c42ba20, 0x1d79a: 0x6c8cf620, 0x1d79b: 0x6d176e20, + 0x1d79c: 0x6d3aee20, 0x1d79d: 0x6c2b2820, 0x1d79e: 0x6d04c820, 0x1d79f: 0x6cbb3c20, + 0x1d7a0: 0x6d14fa20, 0x1d7a1: 0x6cfcca20, 0x1d7a2: 0x6cc67c20, 0x1d7a3: 0x6cc44a20, + 0x1d7a4: 0x6cc44c20, 0x1d7a5: 0x6cbb4420, 0x1d7a6: 0x6c588220, 0x1d7a7: 0x6cdd2620, + 0x1d7a8: 0x6cfcdc20, 0x1d7a9: 0x6d17fe20, 0x1d7aa: 0x6d107a20, 0x1d7ab: 0x6cbad220, + 0x1d7ac: 0x6cb9c220, 0x1d7ad: 0x6d218820, 0x1d7ae: 0x6c44dc20, 0x1d7af: 0x6c6b2220, + 0x1d7b0: 0x6ce0cc20, 0x1d7b1: 0x6d25ac20, 0x1d7b2: 0x6cf6d420, 0x1d7b3: 0x6c38d820, + 0x1d7b4: 0x6ccd1a20, 0x1d7b5: 0x6c3ba220, 0x1d7b6: 0x6ccd1e20, 0x1d7b7: 0x6c88d820, + 0x1d7b8: 0x6c827420, 0x1d7b9: 0x6c44e420, 0x1d7ba: 0x6caa0820, 0x1d7bb: 0x6cbb5e20, + 0x1d7bc: 0x6c164620, 0x1d7bd: 0x6d221c20, 0x1d7be: 0x6c461020, 0x1d7bf: 0x6d170420, + // Block 0x75f, offset 0x1d7c0 + 0x1d7c0: 0x6c1cbe20, 0x1d7c1: 0x6cf22220, 0x1d7c2: 0x6c3b2420, 0x1d7c3: 0x6c533020, + 0x1d7c4: 0x6c1c0820, 0x1d7c5: 0x6c1c0a20, 0x1d7c6: 0x6c252a20, 0x1d7c7: 0x6c3e6020, + 0x1d7c8: 0x6cf9b220, 0x1d7c9: 0x6c079c20, 0x1d7ca: 0x6d177020, 0x1d7cb: 0x6c7e4220, + 0x1d7cc: 0x6d177220, 0x1d7cd: 0x6caf6220, 0x1d7ce: 0x6c8cf820, 0x1d7cf: 0x6c8f2e20, + 0x1d7d0: 0x6d360020, 0x1d7d1: 0x6cc18e20, 0x1d7d2: 0x6cf77a20, 0x1d7d3: 0x6d00ae20, + 0x1d7d4: 0x6cfdc620, 0x1d7d5: 0x6cf62420, 0x1d7d6: 0x6cf88e20, 0x1d7d7: 0x6c785020, + 0x1d7d8: 0x6cbc4620, 0x1d7d9: 0x6c5bcc20, 0x1d7da: 0x6c5aba20, 0x1d7db: 0x6cfecc20, + 0x1d7dc: 0x6ccc5e20, 0x1d7dd: 0x6c536620, 0x1d7de: 0x6c676c20, 0x1d7df: 0x6c2b7e20, + 0x1d7e0: 0x6c255220, 0x1d7e1: 0x6c3a6420, 0x1d7e2: 0x6c2a2620, 0x1d7e3: 0x6ccc6a20, + 0x1d7e4: 0x6c1c4a20, 0x1d7e5: 0x6d3b1620, 0x1d7e6: 0x6c65d220, 0x1d7e7: 0x6d07c420, + 0x1d7e8: 0x6c1c6220, 0x1d7e9: 0x6cb0fe20, 0x1d7ea: 0x6d3fb820, 0x1d7eb: 0x6cece620, + 0x1d7ec: 0x6c5aea20, 0x1d7ed: 0x6c542820, 0x1d7ee: 0x6c517420, 0x1d7ef: 0x6c51e820, + 0x1d7f0: 0x6c4f0a20, 0x1d7f1: 0x6c027220, 0x1d7f2: 0x6cb16820, 0x1d7f3: 0x6d18d020, + 0x1d7f4: 0x6c885420, 0x1d7f5: 0x6c543420, 0x1d7f6: 0x6c030820, 0x1d7f7: 0x6c8bf220, + 0x1d7f8: 0x6cae4820, 0x1d7f9: 0x6cbc6a20, 0x1d7fa: 0x6c027e20, 0x1d7fb: 0x6c386420, + 0x1d7fc: 0x6d18d220, 0x1d7fd: 0x6c5c8020, 0x1d7fe: 0x6d07e420, 0x1d7ff: 0x6c2a4a20, + // Block 0x760, offset 0x1d800 + 0x1d800: 0x6d124420, 0x1d801: 0x6c819a20, 0x1d802: 0x6c819820, 0x1d803: 0x6c779c20, + 0x1d804: 0x6c996620, 0x1d805: 0x6d30d220, 0x1d806: 0x6cb5a820, 0x1d807: 0x6c467a20, + 0x1d808: 0x6c468020, 0x1d809: 0x6c467c20, 0x1d80a: 0x6c2f3420, 0x1d80b: 0x6c2eb020, + 0x1d80c: 0x6c373020, 0x1d80d: 0x6cd64620, 0x1d80e: 0x6cc85620, 0x1d80f: 0x6ca3b220, + 0x1d810: 0x6ca3b420, 0x1d811: 0x6c329220, 0x1d812: 0x6c82b220, 0x1d813: 0x6ce63220, + 0x1d814: 0x6d3efc20, 0x1d815: 0x6c44c220, 0x1d816: 0x6c17b620, 0x1d817: 0x6c503220, + 0x1d818: 0x6d27a020, 0x1d819: 0x6c03b020, 0x1d81a: 0x6caf6420, 0x1d81b: 0x6d14ec20, + 0x1d81c: 0x6cd8bc20, 0x1d81d: 0x6cc26e20, 0x1d81e: 0x6c635220, 0x1d81f: 0x6c723220, + 0x1d820: 0x6c5d5620, 0x1d821: 0x6c1e8e20, 0x1d822: 0x6c81d420, 0x1d823: 0x6c951c20, + 0x1d824: 0x6c607020, 0x1d825: 0x6ce0c620, 0x1d826: 0x6cab8e20, 0x1d827: 0x6c90b420, + 0x1d828: 0x6caa2820, 0x1d829: 0x6c67be20, 0x1d82a: 0x6cad1e20, 0x1d82b: 0x6d2c5620, + 0x1d82c: 0x6c90be20, 0x1d82d: 0x6c5f7020, 0x1d82e: 0x6c81e420, 0x1d82f: 0x6c5e2e20, + 0x1d830: 0x6d1ed420, 0x1d831: 0x6ca1a020, 0x1d832: 0x6c580420, 0x1d833: 0x6c378420, + 0x1d834: 0x6d169620, 0x1d835: 0x6c2f5420, 0x1d836: 0x6d127420, 0x1d837: 0x6c264420, + 0x1d838: 0x6cd95820, 0x1d839: 0x6cbd6820, 0x1d83a: 0x6d27a220, 0x1d83b: 0x6c1b9420, + 0x1d83c: 0x6c27ca20, 0x1d83d: 0x6c27cc20, 0x1d83e: 0x6c533420, 0x1d83f: 0x6c450220, + // Block 0x761, offset 0x1d840 + 0x1d840: 0x6d344820, 0x1d841: 0x6cacb220, 0x1d842: 0x6ca80c20, 0x1d843: 0x6c27d420, + 0x1d844: 0x6d31d620, 0x1d845: 0x6c181a20, 0x1d846: 0x6c8cfa20, 0x1d847: 0x6d32ba20, + 0x1d848: 0x6d1fc220, 0x1d849: 0x6cec3020, 0x1d84a: 0x6c89e420, 0x1d84b: 0x6c8f8c20, + 0x1d84c: 0x6d345c20, 0x1d84d: 0x6ca90220, 0x1d84e: 0x6ce55e20, 0x1d84f: 0x6c375c20, + 0x1d850: 0x6d0bb420, 0x1d851: 0x6ce5f020, 0x1d852: 0x6c485e20, 0x1d853: 0x6d077220, + 0x1d854: 0x6c880420, 0x1d855: 0x6c504620, 0x1d856: 0x6cd16e20, 0x1d857: 0x6c8b1a20, + 0x1d858: 0x6cb24420, 0x1d859: 0x6c6dce20, 0x1d85a: 0x6c726c20, 0x1d85b: 0x6c08ee20, + 0x1d85c: 0x6c2bfe20, 0x1d85d: 0x6c4c7c20, 0x1d85e: 0x6cf1a220, 0x1d85f: 0x6d071a20, + 0x1d860: 0x6cb25820, 0x1d861: 0x6c232e20, 0x1d862: 0x6c2fc820, 0x1d863: 0x6ca5f820, + 0x1d864: 0x6ce68c20, 0x1d865: 0x6c71d020, 0x1d866: 0x6c234820, 0x1d867: 0x6c7c4220, + 0x1d868: 0x6c894420, 0x1d869: 0x6c7d1220, 0x1d86a: 0x6c234a20, 0x1d86b: 0x6c884020, + 0x1d86c: 0x6cf26020, 0x1d86d: 0x6c7d1420, 0x1d86e: 0x6c885820, 0x1d86f: 0x6c886820, + 0x1d870: 0x6c236620, 0x1d871: 0x6c027420, 0x1d872: 0x6cd11820, 0x1d873: 0x6cd96e20, + 0x1d874: 0x6ce64c20, 0x1d875: 0x6c7d2a20, 0x1d876: 0x6ca88820, 0x1d877: 0x6d34aa20, + 0x1d878: 0x6c281020, 0x1d879: 0x6ca93420, 0x1d87a: 0x6cbc8a20, 0x1d87b: 0x6ca65e20, + 0x1d87c: 0x6ce65220, 0x1d87d: 0x6ce65620, 0x1d87e: 0x6c8ff820, 0x1d87f: 0x6d22c620, + // Block 0x762, offset 0x1d880 + 0x1d880: 0x6d22b620, 0x1d881: 0x6d2fac20, 0x1d882: 0x6cd8ac20, 0x1d883: 0x6cda8220, + 0x1d884: 0x6d180020, 0x1d885: 0x6cdad820, 0x1d886: 0x6cd8ca20, 0x1d887: 0x6d2fcc20, + 0x1d888: 0x6d2fce20, 0x1d889: 0x6cc78220, 0x1d88a: 0x6d164c20, 0x1d88b: 0x6c81fe20, + 0x1d88c: 0x6c5e8020, 0x1d88d: 0x6cbffe20, 0x1d88e: 0x6c78f220, 0x1d88f: 0x6c12b620, + 0x1d890: 0x6c437020, 0x1d891: 0x6c0eb020, 0x1d892: 0x6c58f020, 0x1d893: 0x6c597a20, + 0x1d894: 0x6d15c220, 0x1d895: 0x6cc5c820, 0x1d896: 0x6cffd220, 0x1d897: 0x6cc7f620, + 0x1d898: 0x6d38d820, 0x1d899: 0x6d25fc20, 0x1d89a: 0x6c323820, 0x1d89b: 0x6c425a20, + 0x1d89c: 0x6cc65420, 0x1d89d: 0x6c416e20, 0x1d89e: 0x6c138020, 0x1d89f: 0x6cf2d220, + 0x1d8a0: 0x6c169820, 0x1d8a1: 0x6c476020, 0x1d8a2: 0x6d33a220, 0x1d8a3: 0x6c4dd620, + 0x1d8a4: 0x6c3d4420, 0x1d8a5: 0x6c3a3220, 0x1d8a6: 0x6c3b6420, 0x1d8a7: 0x6cadb220, + 0x1d8a8: 0x6cad2820, 0x1d8a9: 0x6c647020, 0x1d8aa: 0x6c39a820, 0x1d8ab: 0x6d3ccc20, + 0x1d8ac: 0x6d1f0220, 0x1d8ad: 0x6ca31420, 0x1d8ae: 0x6c01e820, 0x1d8af: 0x6c78f620, + 0x1d8b0: 0x6cc46420, 0x1d8b1: 0x6c456820, 0x1d8b2: 0x6d22da20, 0x1d8b3: 0x6cf1d020, + 0x1d8b4: 0x6d10d020, 0x1d8b5: 0x6cb58c20, 0x1d8b6: 0x6cafc020, 0x1d8b7: 0x6cb9f620, + 0x1d8b8: 0x6cf59220, 0x1d8b9: 0x6cf59420, 0x1d8ba: 0x6c3a8c20, 0x1d8bb: 0x6c78f820, + 0x1d8bc: 0x6c6e1220, 0x1d8bd: 0x6cdf6420, 0x1d8be: 0x6cd09020, 0x1d8bf: 0x6d37e620, + // Block 0x763, offset 0x1d8c0 + 0x1d8c0: 0x6d2f2820, 0x1d8c1: 0x6d007220, 0x1d8c2: 0x6cd09620, 0x1d8c3: 0x6cf07e20, + 0x1d8c4: 0x6d391220, 0x1d8c5: 0x6c2e7820, 0x1d8c6: 0x6c282c20, 0x1d8c7: 0x6c3a9020, + 0x1d8c8: 0x6c037220, 0x1d8c9: 0x6c0ec820, 0x1d8ca: 0x6cc17c20, 0x1d8cb: 0x6ce49420, + 0x1d8cc: 0x6c06f220, 0x1d8cd: 0x6c484a20, 0x1d8ce: 0x6cdf0420, 0x1d8cf: 0x6d3ef220, + 0x1d8d0: 0x6c7a3220, 0x1d8d1: 0x6d33b420, 0x1d8d2: 0x6ca68820, 0x1d8d3: 0x6cb28a20, + 0x1d8d4: 0x6d3f5420, 0x1d8d5: 0x6c3f4c20, 0x1d8d6: 0x6cad2a20, 0x1d8d7: 0x6d313020, + 0x1d8d8: 0x6cfb3820, 0x1d8d9: 0x6d428820, 0x1d8da: 0x6cadb820, 0x1d8db: 0x6c640820, + 0x1d8dc: 0x6cd15620, 0x1d8dd: 0x6d33b620, 0x1d8de: 0x6c05ac20, 0x1d8df: 0x6ca23620, + 0x1d8e0: 0x6cc0ee20, 0x1d8e1: 0x6c552e20, 0x1d8e2: 0x6c77ea20, 0x1d8e3: 0x6c1b8620, + 0x1d8e4: 0x6d1b4020, 0x1d8e5: 0x6d057a20, 0x1d8e6: 0x6d0f5220, 0x1d8e7: 0x6c8f7a20, + 0x1d8e8: 0x6c306620, 0x1d8e9: 0x6c761c20, 0x1d8ea: 0x6c914620, 0x1d8eb: 0x6c6e5c20, + 0x1d8ec: 0x6caa5820, 0x1d8ed: 0x6d0bea20, 0x1d8ee: 0x6cacd020, 0x1d8ef: 0x6c7ae820, + 0x1d8f0: 0x6d14d620, 0x1d8f1: 0x6c49e820, 0x1d8f2: 0x6c4d3e20, 0x1d8f3: 0x6c438220, + 0x1d8f4: 0x6c307020, 0x1d8f5: 0x6c1aa220, 0x1d8f6: 0x6c683e20, 0x1d8f7: 0x6d046420, + 0x1d8f8: 0x6d046620, 0x1d8f9: 0x6c374c20, 0x1d8fa: 0x6c01b020, 0x1d8fb: 0x6c526020, + 0x1d8fc: 0x6cb10a20, 0x1d8fd: 0x6ca5a420, 0x1d8fe: 0x6d3f5620, 0x1d8ff: 0x6c4a4c20, + // Block 0x764, offset 0x1d900 + 0x1d900: 0x6c19e220, 0x1d901: 0x6ce5c020, 0x1d902: 0x6d33ce20, 0x1d903: 0x6c252c20, + 0x1d904: 0x6c99e620, 0x1d905: 0x6d009220, 0x1d906: 0x6c252e20, 0x1d907: 0x6d009420, + 0x1d908: 0x6c972e20, 0x1d909: 0x6c972a20, 0x1d90a: 0x6c600420, 0x1d90b: 0x6d029e20, + 0x1d90c: 0x6ca8f020, 0x1d90d: 0x6c7b2020, 0x1d90e: 0x6cc97220, 0x1d90f: 0x6d2a0420, + 0x1d910: 0x6cb5aa20, 0x1d911: 0x6ca4e820, 0x1d912: 0x6c9cec20, 0x1d913: 0x6ca9b820, + 0x1d914: 0x6c943a20, 0x1d915: 0x6ced7c20, 0x1d916: 0x6c0ef420, 0x1d917: 0x6cf1d820, + 0x1d918: 0x6ced0e20, 0x1d919: 0x6d04d020, 0x1d91a: 0x6c68ea20, 0x1d91b: 0x6c6e7a20, + 0x1d91c: 0x6d1fc420, 0x1d91d: 0x6c524e20, 0x1d91e: 0x6c260820, 0x1d91f: 0x6c8b0820, + 0x1d920: 0x6cccdc20, 0x1d921: 0x6ce6c420, 0x1d922: 0x6c99f020, 0x1d923: 0x6c214420, + 0x1d924: 0x6cd0a220, 0x1d925: 0x6cba0420, 0x1d926: 0x6c2a9220, 0x1d927: 0x6c72ee20, + 0x1d928: 0x6c243820, 0x1d929: 0x6d04cc20, 0x1d92a: 0x6d032e20, 0x1d92b: 0x6ceac220, + 0x1d92c: 0x6cad3820, 0x1d92d: 0x6c19f220, 0x1d92e: 0x6ca56c20, 0x1d92f: 0x6cb43620, + 0x1d930: 0x6c311420, 0x1d931: 0x6ceac420, 0x1d932: 0x6ca7d620, 0x1d933: 0x6ca53e20, + 0x1d934: 0x6cb05a20, 0x1d935: 0x6c478220, 0x1d936: 0x6c954020, 0x1d937: 0x6c85fc20, + 0x1d938: 0x6c88b820, 0x1d939: 0x6d2f3020, 0x1d93a: 0x6c254020, 0x1d93b: 0x6c6a1c20, + 0x1d93c: 0x6c899420, 0x1d93d: 0x6cd6fc20, 0x1d93e: 0x6caff420, 0x1d93f: 0x6c0bfe20, + // Block 0x765, offset 0x1d940 + 0x1d940: 0x6c94fc20, 0x1d941: 0x6cb11020, 0x1d942: 0x6c82c420, 0x1d943: 0x6c7cfe20, + 0x1d944: 0x6c20d620, 0x1d945: 0x6c288c20, 0x1d946: 0x6ce4fa20, 0x1d947: 0x6ca57020, + 0x1d948: 0x6c6dbc20, 0x1d949: 0x6ca37a20, 0x1d94a: 0x6c7e7820, 0x1d94b: 0x6d12f420, + 0x1d94c: 0x6d0c0e20, 0x1d94d: 0x6cc5f420, 0x1d94e: 0x6cd0a420, 0x1d94f: 0x6c21c220, + 0x1d950: 0x6c3f7820, 0x1d951: 0x6c3f6a20, 0x1d952: 0x6c709620, 0x1d953: 0x6c3a3620, + 0x1d954: 0x6cbabc20, 0x1d955: 0x6ced8820, 0x1d956: 0x6c307c20, 0x1d957: 0x6caff620, + 0x1d958: 0x6c4c6e20, 0x1d959: 0x6d3f9220, 0x1d95a: 0x6c2fa820, 0x1d95b: 0x6cf2fe20, + 0x1d95c: 0x6c9a6020, 0x1d95d: 0x6ca5f420, 0x1d95e: 0x6d3bd020, 0x1d95f: 0x6c1c3420, + 0x1d960: 0x6c23f020, 0x1d961: 0x6c954820, 0x1d962: 0x6cab8020, 0x1d963: 0x6c2c6e20, + 0x1d964: 0x6c013c20, 0x1d965: 0x6d038220, 0x1d966: 0x6ca50420, 0x1d967: 0x6cd5ea20, + 0x1d968: 0x6cd69220, 0x1d969: 0x6ca42e20, 0x1d96a: 0x6d283c20, 0x1d96b: 0x6d380020, + 0x1d96c: 0x6cc78620, 0x1d96d: 0x6c366020, 0x1d96e: 0x6cc9ca20, 0x1d96f: 0x6ce8c820, + 0x1d970: 0x6d10ae20, 0x1d971: 0x6c669220, 0x1d972: 0x6cefe620, 0x1d973: 0x6c690e20, + 0x1d974: 0x6d213220, 0x1d975: 0x6c637220, 0x1d976: 0x6c32d020, 0x1d977: 0x6c09d820, + 0x1d978: 0x6c16b220, 0x1d979: 0x6c401220, 0x1d97a: 0x6cfcde20, 0x1d97b: 0x6ca6b020, + 0x1d97c: 0x6c9e2e20, 0x1d97d: 0x6cec3820, 0x1d97e: 0x6ce2a220, 0x1d97f: 0x6ce9e620, + // Block 0x766, offset 0x1d980 + 0x1d980: 0x6c055620, 0x1d981: 0x6cba1820, 0x1d982: 0x6c93a820, 0x1d983: 0x6cec3a20, + 0x1d984: 0x6cda3e20, 0x1d985: 0x6ce11c20, 0x1d986: 0x6cdaee20, 0x1d987: 0x6d3c9820, + 0x1d988: 0x6c441420, 0x1d989: 0x6d183220, 0x1d98a: 0x6c100a20, 0x1d98b: 0x6c89fa20, + 0x1d98c: 0x6c607220, 0x1d98d: 0x6cb00a20, 0x1d98e: 0x6d00d020, 0x1d98f: 0x6c42d020, + 0x1d990: 0x6c93b420, 0x1d991: 0x6c0d8420, 0x1d992: 0x6cab6c20, 0x1d993: 0x6c16c220, + 0x1d994: 0x6c92ae20, 0x1d995: 0x6c4c8220, 0x1d996: 0x6cace020, 0x1d997: 0x6c1fbc20, + 0x1d998: 0x6c0c1a20, 0x1d999: 0x6c67c020, 0x1d99a: 0x6c3d9220, 0x1d99b: 0x6ce12c20, + 0x1d99c: 0x6ca06e20, 0x1d99d: 0x6cf6ac20, 0x1d99e: 0x6d3b8e20, 0x1d99f: 0x6c93f820, + 0x1d9a0: 0x6c686e20, 0x1d9a1: 0x6d1d4420, 0x1d9a2: 0x6c936220, 0x1d9a3: 0x6d36be20, + 0x1d9a4: 0x6d098620, 0x1d9a5: 0x6c211e20, 0x1d9a6: 0x6c8c6620, 0x1d9a7: 0x6ce78e20, + 0x1d9a8: 0x6caec820, 0x1d9a9: 0x6ca6cc20, 0x1d9aa: 0x6c1fcc20, 0x1d9ab: 0x6c8a1e20, + 0x1d9ac: 0x6c256620, 0x1d9ad: 0x6c4a8e20, 0x1d9ae: 0x6cff1620, 0x1d9af: 0x6ce29020, + 0x1d9b0: 0x6c38c220, 0x1d9b1: 0x6d349a20, 0x1d9b2: 0x6c688020, 0x1d9b3: 0x6ccdb420, + 0x1d9b4: 0x6c550420, 0x1d9b5: 0x6c255c20, 0x1d9b6: 0x6cc90a20, 0x1d9b7: 0x6cfd8a20, + 0x1d9b8: 0x6cdc1020, 0x1d9b9: 0x6c3bf020, 0x1d9ba: 0x6d1c0020, 0x1d9bb: 0x6ccd1620, + 0x1d9bc: 0x6d3b5c20, 0x1d9bd: 0x6c284c20, 0x1d9be: 0x6c7b4020, 0x1d9bf: 0x6ca9d220, + // Block 0x767, offset 0x1d9c0 + 0x1d9c0: 0x6cea7020, 0x1d9c1: 0x6c886a20, 0x1d9c2: 0x6c0a7620, 0x1d9c3: 0x6d1dc020, + 0x1d9c4: 0x6c74cc20, 0x1d9c5: 0x6c1f8020, 0x1d9c6: 0x6d18d420, 0x1d9c7: 0x6c732c20, + 0x1d9c8: 0x6c7e9820, 0x1d9c9: 0x6c88ce20, 0x1d9ca: 0x6ccac420, 0x1d9cb: 0x6cea7420, + 0x1d9cc: 0x6c47da20, 0x1d9cd: 0x6cb67820, 0x1d9ce: 0x6c257c20, 0x1d9cf: 0x6c0d8e20, + 0x1d9d0: 0x6d09bc20, 0x1d9d1: 0x6ca53a20, 0x1d9d2: 0x6cf32020, 0x1d9d3: 0x6d2a0e20, + 0x1d9d4: 0x6cfd3420, 0x1d9d5: 0x6c0c4420, 0x1d9d6: 0x6d044020, 0x1d9d7: 0x6c7b5c20, + 0x1d9d8: 0x6c7eaa20, 0x1d9d9: 0x6d0c4220, 0x1d9da: 0x6c918820, 0x1d9db: 0x6c5e4220, + 0x1d9dc: 0x6d28a020, 0x1d9dd: 0x6c95cc20, 0x1d9de: 0x6cc21020, 0x1d9df: 0x6d2a1020, + 0x1d9e0: 0x6c946c20, 0x1d9e1: 0x6ca61e20, 0x1d9e2: 0x6d28aa20, 0x1d9e3: 0x6c189420, + 0x1d9e4: 0x6cb8b620, 0x1d9e5: 0x6cf2da20, 0x1d9e6: 0x6c4a2420, 0x1d9e7: 0x6d29e220, + 0x1d9e8: 0x6c8bea20, 0x1d9e9: 0x6c4a0e20, 0x1d9ea: 0x6d3f2a20, 0x1d9eb: 0x6c68c420, + 0x1d9ec: 0x6ca80e20, 0x1d9ed: 0x6c1e4020, 0x1d9ee: 0x6c620c20, 0x1d9ef: 0x6c42c820, + 0x1d9f0: 0x6c1e4420, 0x1d9f1: 0x6c9dce20, 0x1d9f2: 0x6ca87420, 0x1d9f3: 0x6d357020, + 0x1d9f4: 0x6d35c620, 0x1d9f5: 0x6c43f220, 0x1d9f6: 0x6c669420, 0x1d9f7: 0x6c2eb220, + 0x1d9f8: 0x6d33e420, 0x1d9f9: 0x6d04d820, 0x1d9fa: 0x6cdf3220, 0x1d9fb: 0x6d319820, + 0x1d9fc: 0x6c6fd020, 0x1d9fd: 0x6cfc8420, 0x1d9fe: 0x6d20ca20, 0x1d9ff: 0x6c138620, + // Block 0x768, offset 0x1da00 + 0x1da00: 0x6d11a420, 0x1da01: 0x6d20e820, 0x1da02: 0x6c1cc220, 0x1da03: 0x6cf89020, + 0x1da04: 0x6cf89220, 0x1da05: 0x6c700620, 0x1da06: 0x6d217a20, 0x1da07: 0x6d227220, + 0x1da08: 0x6d043820, 0x1da09: 0x6c71d420, 0x1da0a: 0x6c702a20, 0x1da0b: 0x6d035820, + 0x1da0c: 0x6ccf0620, 0x1da0d: 0x6ccf2820, 0x1da0e: 0x6ccf9620, 0x1da0f: 0x6c6fb220, + 0x1da10: 0x6cd36020, 0x1da11: 0x6cdfa420, 0x1da12: 0x6cd4e220, 0x1da13: 0x6cd3b620, + 0x1da14: 0x6ce50820, 0x1da15: 0x6ce0a420, 0x1da16: 0x6cb4b020, 0x1da17: 0x6cb4b220, + 0x1da18: 0x6c496420, 0x1da19: 0x6c57cc20, 0x1da1a: 0x6ce54020, 0x1da1b: 0x6c201620, + 0x1da1c: 0x6cd75220, 0x1da1d: 0x6cf9d820, 0x1da1e: 0x6cf45e20, 0x1da1f: 0x6d385220, + 0x1da20: 0x6c29be20, 0x1da21: 0x6c1ff420, 0x1da22: 0x6cccd620, 0x1da23: 0x6d15d420, + 0x1da24: 0x6c397c20, 0x1da25: 0x6cabc020, 0x1da26: 0x6cdf6a20, 0x1da27: 0x6c389420, + 0x1da28: 0x6c04c820, 0x1da29: 0x6c1ff620, 0x1da2a: 0x6c4f6c20, 0x1da2b: 0x6c39d420, + 0x1da2c: 0x6c047a20, 0x1da2d: 0x6c08d420, 0x1da2e: 0x6c934820, 0x1da2f: 0x6d37b020, + 0x1da30: 0x6c667220, 0x1da31: 0x6c122a20, 0x1da32: 0x6c8cfc20, 0x1da33: 0x6d3a1020, + 0x1da34: 0x6d2ac620, 0x1da35: 0x6c34f220, 0x1da36: 0x6c0ef620, 0x1da37: 0x6cfb5020, + 0x1da38: 0x6c447620, 0x1da39: 0x6c1ff820, 0x1da3a: 0x6cf9b420, 0x1da3b: 0x6c914e20, + 0x1da3c: 0x6cbf2e20, 0x1da3d: 0x6cacfc20, 0x1da3e: 0x6cf62a20, 0x1da3f: 0x6c7af420, + // Block 0x769, offset 0x1da40 + 0x1da40: 0x6c3ea420, 0x1da41: 0x6d2a8620, 0x1da42: 0x6c3cb220, 0x1da43: 0x6c83f220, + 0x1da44: 0x6cce7820, 0x1da45: 0x6d216420, 0x1da46: 0x6c80d220, 0x1da47: 0x6ce6ce20, + 0x1da48: 0x6d237820, 0x1da49: 0x6cefe820, 0x1da4a: 0x6c0f3220, 0x1da4b: 0x6c9be020, + 0x1da4c: 0x6ca76c20, 0x1da4d: 0x6c70b420, 0x1da4e: 0x6c59f420, 0x1da4f: 0x6cd44a20, + 0x1da50: 0x6c78d020, 0x1da51: 0x6c0bb820, 0x1da52: 0x6ca2a620, 0x1da53: 0x6c2ede20, + 0x1da54: 0x6c315c20, 0x1da55: 0x6c059020, 0x1da56: 0x6c13ae20, 0x1da57: 0x6d18b220, + 0x1da58: 0x6cd9d820, 0x1da59: 0x6c123a20, 0x1da5a: 0x6c129c20, 0x1da5b: 0x6c90c020, + 0x1da5c: 0x6c279820, 0x1da5d: 0x6d098a20, 0x1da5e: 0x6d123420, 0x1da5f: 0x6c1cee20, + 0x1da60: 0x6c2b0820, 0x1da61: 0x6c291c20, 0x1da62: 0x6cbb2c20, 0x1da63: 0x6c91f620, + 0x1da64: 0x6d162220, 0x1da65: 0x6c60e020, 0x1da66: 0x6c670e20, 0x1da67: 0x6c5e3020, + 0x1da68: 0x6c9b8620, 0x1da69: 0x6cb69820, 0x1da6a: 0x6c91fe20, 0x1da6b: 0x6c919a20, + 0x1da6c: 0x6c157220, 0x1da6d: 0x6cd6c020, 0x1da6e: 0x6c449e20, 0x1da6f: 0x6c894620, + 0x1da70: 0x6c647220, 0x1da71: 0x6c650020, 0x1da72: 0x6ccb1420, 0x1da73: 0x6d0e5420, + 0x1da74: 0x6c3e6820, 0x1da75: 0x6cb25a20, 0x1da76: 0x6d0eea20, 0x1da77: 0x6d0f1c20, + 0x1da78: 0x6c12aa20, 0x1da79: 0x6c12c020, 0x1da7a: 0x6d164220, 0x1da7b: 0x6c821220, + 0x1da7c: 0x6ce62820, 0x1da7d: 0x6c681e20, 0x1da7e: 0x6c008420, 0x1da7f: 0x6ca39020, + // Block 0x76a, offset 0x1da80 + 0x1da80: 0x6ce56820, 0x1da81: 0x6c682020, 0x1da82: 0x6c6a5a20, 0x1da83: 0x6cae8c20, + 0x1da84: 0x6cecbe20, 0x1da85: 0x6d167020, 0x1da86: 0x6c145e20, 0x1da87: 0x6c9db820, + 0x1da88: 0x6c9cd820, 0x1da89: 0x6c416220, 0x1da8a: 0x6cb89e20, 0x1da8b: 0x6d22c820, + 0x1da8c: 0x6d22ca20, 0x1da8d: 0x6cce9620, 0x1da8e: 0x6cbeee20, 0x1da8f: 0x6c323020, + 0x1da90: 0x6c564c20, 0x1da91: 0x6cb6ce20, 0x1da92: 0x6c982c20, 0x1da93: 0x6d3f2e20, + 0x1da94: 0x6c5ba020, 0x1da95: 0x6cdbaa20, 0x1da96: 0x6d357220, 0x1da97: 0x6cfd6020, + 0x1da98: 0x6cafb020, 0x1da99: 0x6c3ddc20, 0x1da9a: 0x6cea4220, 0x1da9b: 0x6cef8a20, + 0x1da9c: 0x6cf3a820, 0x1da9d: 0x6d338420, 0x1da9e: 0x6cb73e20, 0x1da9f: 0x6cccbe20, + 0x1daa0: 0x6cf18020, 0x1daa1: 0x6cba3e20, 0x1daa2: 0x6cc56e20, 0x1daa3: 0x6c3dde20, + 0x1daa4: 0x6c79b620, 0x1daa5: 0x6c6bba20, 0x1daa6: 0x6c913620, 0x1daa7: 0x6d067420, + 0x1daa8: 0x6c5e8220, 0x1daa9: 0x6cbd5420, 0x1daaa: 0x6cb57620, 0x1daab: 0x6d0c5a20, + 0x1daac: 0x6c3b1420, 0x1daad: 0x6c032020, 0x1daae: 0x6cc8c020, 0x1daaf: 0x6d02ac20, + 0x1dab0: 0x6c618a20, 0x1dab1: 0x6c570620, 0x1dab2: 0x6c570820, 0x1dab3: 0x6c398620, + 0x1dab4: 0x6cf4ae20, 0x1dab5: 0x6c73e420, 0x1dab6: 0x6c466c20, 0x1dab7: 0x6d34ee20, + 0x1dab8: 0x6d278420, 0x1dab9: 0x6cbd5620, 0x1daba: 0x6c029e20, 0x1dabb: 0x6c1e7820, + 0x1dabc: 0x6c994620, 0x1dabd: 0x6d0b1420, 0x1dabe: 0x6c3a8020, 0x1dabf: 0x6cc63220, + // Block 0x76b, offset 0x1dac0 + 0x1dac0: 0x6c4f5a20, 0x1dac1: 0x6c22fc20, 0x1dac2: 0x6d1a2a20, 0x1dac3: 0x6d1fa220, + 0x1dac4: 0x6c0b7420, 0x1dac5: 0x6d169a20, 0x1dac6: 0x6cbd1020, 0x1dac7: 0x6cef8c20, + 0x1dac8: 0x6c858420, 0x1dac9: 0x6cb05420, 0x1daca: 0x6c35d420, 0x1dacb: 0x6cfc7c20, + 0x1dacc: 0x6c169a20, 0x1dacd: 0x6c122420, 0x1dace: 0x6d3aa620, 0x1dacf: 0x6cda4820, + 0x1dad0: 0x6ce30e20, 0x1dad1: 0x6d260220, 0x1dad2: 0x6cc4ae20, 0x1dad3: 0x6c8cb020, + 0x1dad4: 0x6cdf1a20, 0x1dad5: 0x6cce9820, 0x1dad6: 0x6c2b5c20, 0x1dad7: 0x6c9e6e20, + 0x1dad8: 0x6cbe9c20, 0x1dad9: 0x6c859620, 0x1dada: 0x6d1e7220, 0x1dadb: 0x6c77d820, + 0x1dadc: 0x6ca27220, 0x1dadd: 0x6c06ee20, 0x1dade: 0x6c05a820, 0x1dadf: 0x6c467220, + 0x1dae0: 0x6c9f3420, 0x1dae1: 0x6d15c420, 0x1dae2: 0x6d15ca20, 0x1dae3: 0x6c720020, + 0x1dae4: 0x6cb1de20, 0x1dae5: 0x6cc91420, 0x1dae6: 0x6c7a7620, 0x1dae7: 0x6ca8fa20, + 0x1dae8: 0x6ca62c20, 0x1dae9: 0x6c0ebc20, 0x1daea: 0x6c0dc820, 0x1daeb: 0x6cccc620, + 0x1daec: 0x6d051a20, 0x1daed: 0x6d119220, 0x1daee: 0x6cfa8420, 0x1daef: 0x6c079620, + 0x1daf0: 0x6c530620, 0x1daf1: 0x6d1ba220, 0x1daf2: 0x6d2c7420, 0x1daf3: 0x6c2fe220, + 0x1daf4: 0x6c706020, 0x1daf5: 0x6c2e6220, 0x1daf6: 0x6ca7de20, 0x1daf7: 0x6c417e20, + 0x1daf8: 0x6c54a820, 0x1daf9: 0x6cb27c20, 0x1dafa: 0x6c99dc20, 0x1dafb: 0x6c3e0220, + 0x1dafc: 0x6cd0e820, 0x1dafd: 0x6c46f620, 0x1dafe: 0x6c093e20, 0x1daff: 0x6cf07620, + // Block 0x76c, offset 0x1db00 + 0x1db00: 0x6c3e0420, 0x1db01: 0x6d3d2e20, 0x1db02: 0x6c994c20, 0x1db03: 0x6c393220, + 0x1db04: 0x6c633020, 0x1db05: 0x6c98cc20, 0x1db06: 0x6c98ce20, 0x1db07: 0x6c036a20, + 0x1db08: 0x6c223220, 0x1db09: 0x6ca0d620, 0x1db0a: 0x6d3e0620, 0x1db0b: 0x6c2be020, + 0x1db0c: 0x6c1b0a20, 0x1db0d: 0x6c61b220, 0x1db0e: 0x6c6d9420, 0x1db0f: 0x6c8f6e20, + 0x1db10: 0x6c23e220, 0x1db11: 0x6ca78e20, 0x1db12: 0x6d256c20, 0x1db13: 0x6d08fe20, + 0x1db14: 0x6d1c5a20, 0x1db15: 0x6cbf0020, 0x1db16: 0x6c43cc20, 0x1db17: 0x6c9ff020, + 0x1db18: 0x6c85ae20, 0x1db19: 0x6cc65c20, 0x1db1a: 0x6d1b3c20, 0x1db1b: 0x6c44b020, + 0x1db1c: 0x6cba4420, 0x1db1d: 0x6c148e20, 0x1db1e: 0x6c18aa20, 0x1db1f: 0x6d22e820, + 0x1db20: 0x6c4fa220, 0x1db21: 0x6d3f3420, 0x1db22: 0x6c8adc20, 0x1db23: 0x6cf3bc20, + 0x1db24: 0x6c61b420, 0x1db25: 0x6c4a4020, 0x1db26: 0x6c22bc20, 0x1db27: 0x6c657620, + 0x1db28: 0x6c223420, 0x1db29: 0x6c469e20, 0x1db2a: 0x6c49e220, 0x1db2b: 0x6c984420, + 0x1db2c: 0x6c13ce20, 0x1db2d: 0x6c683620, 0x1db2e: 0x6c683820, 0x1db2f: 0x6c3e2420, + 0x1db30: 0x6d20ea20, 0x1db31: 0x6d398e20, 0x1db32: 0x6d3e1420, 0x1db33: 0x6c675220, + 0x1db34: 0x6c5b2820, 0x1db35: 0x6d19b620, 0x1db36: 0x6c13d020, 0x1db37: 0x6c380820, + 0x1db38: 0x6cc64e20, 0x1db39: 0x6cc79420, 0x1db3a: 0x6c1cb620, 0x1db3b: 0x6c989220, + 0x1db3c: 0x6ce72c20, 0x1db3d: 0x6d381c20, 0x1db3e: 0x6cb8ac20, 0x1db3f: 0x6d3a0220, + // Block 0x76d, offset 0x1db40 + 0x1db40: 0x6d09f220, 0x1db41: 0x6c586820, 0x1db42: 0x6c3d5420, 0x1db43: 0x6cc2c620, + 0x1db44: 0x6c40ea20, 0x1db45: 0x6c264620, 0x1db46: 0x6c6d9a20, 0x1db47: 0x6d041c20, + 0x1db48: 0x6c201c20, 0x1db49: 0x6c12ac20, 0x1db4a: 0x6c6d9c20, 0x1db4b: 0x6c374820, + 0x1db4c: 0x6c01a820, 0x1db4d: 0x6cbbd420, 0x1db4e: 0x6c1b1220, 0x1db4f: 0x6cc58c20, + 0x1db50: 0x6c666020, 0x1db51: 0x6ce31220, 0x1db52: 0x6c598420, 0x1db53: 0x6cb28e20, + 0x1db54: 0x6c85b020, 0x1db55: 0x6c6c3620, 0x1db56: 0x6c81aa20, 0x1db57: 0x6cd5b620, + 0x1db58: 0x6d3c0e20, 0x1db59: 0x6c268c20, 0x1db5a: 0x6c63a820, 0x1db5b: 0x6cc52220, + 0x1db5c: 0x6c095620, 0x1db5d: 0x6d2ab420, 0x1db5e: 0x6cbbd620, 0x1db5f: 0x6c5ba220, + 0x1db60: 0x6c61b620, 0x1db61: 0x6c295c20, 0x1db62: 0x6d24c020, 0x1db63: 0x6cc65e20, + 0x1db64: 0x6c5cb620, 0x1db65: 0x6d03d420, 0x1db66: 0x6c95ec20, 0x1db67: 0x6d1c5e20, + 0x1db68: 0x6d09f420, 0x1db69: 0x6c6ce420, 0x1db6a: 0x6cdcce20, 0x1db6b: 0x6d19b820, + 0x1db6c: 0x6c971220, 0x1db6d: 0x6c532020, 0x1db6e: 0x6d391420, 0x1db6f: 0x6d11f620, + 0x1db70: 0x6c324c20, 0x1db71: 0x6cefa420, 0x1db72: 0x6c83b020, 0x1db73: 0x6c310820, + 0x1db74: 0x6c3d6020, 0x1db75: 0x6cc59220, 0x1db76: 0x6d1a4c20, 0x1db77: 0x6c50fc20, + 0x1db78: 0x6c08a020, 0x1db79: 0x6c108820, 0x1db7a: 0x6d27e220, 0x1db7b: 0x6c2b6620, + 0x1db7c: 0x6ce89820, 0x1db7d: 0x6cdbba20, 0x1db7e: 0x6cdbbc20, 0x1db7f: 0x6c19d020, + // Block 0x76e, offset 0x1db80 + 0x1db80: 0x6c18b420, 0x1db81: 0x6cf3be20, 0x1db82: 0x6c0ce420, 0x1db83: 0x6cf5d020, + 0x1db84: 0x6c450420, 0x1db85: 0x6c85de20, 0x1db86: 0x6cb43420, 0x1db87: 0x6d3ae020, + 0x1db88: 0x6ca10020, 0x1db89: 0x6c85e020, 0x1db8a: 0x6d3c1420, 0x1db8b: 0x6d423420, + 0x1db8c: 0x6ceab820, 0x1db8d: 0x6cc03820, 0x1db8e: 0x6ccbe420, 0x1db8f: 0x6cdd1220, + 0x1db90: 0x6c18b620, 0x1db91: 0x6cae9620, 0x1db92: 0x6c71ae20, 0x1db93: 0x6c99e820, + 0x1db94: 0x6c9b1220, 0x1db95: 0x6d042420, 0x1db96: 0x6c6da220, 0x1db97: 0x6c17d820, + 0x1db98: 0x6ccfd420, 0x1db99: 0x6c756820, 0x1db9a: 0x6d0c7a20, 0x1db9b: 0x6ce66620, + 0x1db9c: 0x6d1f2020, 0x1db9d: 0x6c261e20, 0x1db9e: 0x6c494c20, 0x1db9f: 0x6c4ea020, + 0x1dba0: 0x6d1fbe20, 0x1dba1: 0x6c262020, 0x1dba2: 0x6c63b420, 0x1dba3: 0x6cede220, + 0x1dba4: 0x6cda9620, 0x1dba5: 0x6ca99220, 0x1dba6: 0x6cce6420, 0x1dba7: 0x6cfcac20, + 0x1dba8: 0x6c811a20, 0x1dba9: 0x6c3e4020, 0x1dbaa: 0x6c355a20, 0x1dbab: 0x6ca10220, + 0x1dbac: 0x6cf20420, 0x1dbad: 0x6c6aa820, 0x1dbae: 0x6ca3f420, 0x1dbaf: 0x6ca27c20, + 0x1dbb0: 0x6c76c820, 0x1dbb1: 0x6c7eee20, 0x1dbb2: 0x6c87f820, 0x1dbb3: 0x6cd26020, + 0x1dbb4: 0x6cf28220, 0x1dbb5: 0x6ce93020, 0x1dbb6: 0x6cfa9620, 0x1dbb7: 0x6c5db220, + 0x1dbb8: 0x6d1f2220, 0x1dbb9: 0x6d1c6020, 0x1dbba: 0x6d1ba820, 0x1dbbb: 0x6c461e20, + 0x1dbbc: 0x6c213e20, 0x1dbbd: 0x6c988a20, 0x1dbbe: 0x6c988c20, 0x1dbbf: 0x6c22c220, + // Block 0x76f, offset 0x1dbc0 + 0x1dbc0: 0x6ced1020, 0x1dbc1: 0x6c6db220, 0x1dbc2: 0x6c2c4e20, 0x1dbc3: 0x6cc18020, + 0x1dbc4: 0x6c2ffe20, 0x1dbc5: 0x6c648c20, 0x1dbc6: 0x6d405020, 0x1dbc7: 0x6c483a20, + 0x1dbc8: 0x6c7e4420, 0x1dbc9: 0x6c924820, 0x1dbca: 0x6c711c20, 0x1dbcb: 0x6cf08620, + 0x1dbcc: 0x6c757020, 0x1dbcd: 0x6ca82220, 0x1dbce: 0x6c7d5c20, 0x1dbcf: 0x6c511a20, + 0x1dbd0: 0x6cb43a20, 0x1dbd1: 0x6d290020, 0x1dbd2: 0x6c430420, 0x1dbd3: 0x6c4cbc20, + 0x1dbd4: 0x6c3e6c20, 0x1dbd5: 0x6c94f620, 0x1dbd6: 0x6c166a20, 0x1dbd7: 0x6c1daa20, + 0x1dbd8: 0x6cd91e20, 0x1dbd9: 0x6c20ca20, 0x1dbda: 0x6d2e5e20, 0x1dbdb: 0x6c9acc20, + 0x1dbdc: 0x6c114420, 0x1dbdd: 0x6c037820, 0x1dbde: 0x6c83c820, 0x1dbdf: 0x6ce8aa20, + 0x1dbe0: 0x6c0e7020, 0x1dbe1: 0x6c4eb620, 0x1dbe2: 0x6c064620, 0x1dbe3: 0x6cbe1220, + 0x1dbe4: 0x6c731e20, 0x1dbe5: 0x6cf60020, 0x1dbe6: 0x6cbd6a20, 0x1dbe7: 0x6c2bf220, + 0x1dbe8: 0x6c6a0420, 0x1dbe9: 0x6cb43820, 0x1dbea: 0x6c296220, 0x1dbeb: 0x6c6c9020, + 0x1dbec: 0x6cbbde20, 0x1dbed: 0x6cdf2220, 0x1dbee: 0x6c44c820, 0x1dbef: 0x6c573420, + 0x1dbf0: 0x6c470c20, 0x1dbf1: 0x6c8cfe20, 0x1dbf2: 0x6c39fe20, 0x1dbf3: 0x6cbd7020, + 0x1dbf4: 0x6c012a20, 0x1dbf5: 0x6cee1620, 0x1dbf6: 0x6c081c20, 0x1dbf7: 0x6d38e220, + 0x1dbf8: 0x6d0c0020, 0x1dbf9: 0x6c709020, 0x1dbfa: 0x6c648e20, 0x1dbfb: 0x6c8c1e20, + 0x1dbfc: 0x6ce05c20, 0x1dbfd: 0x6cd4d420, 0x1dbfe: 0x6ce49e20, 0x1dbff: 0x6c2a1420, + // Block 0x770, offset 0x1dc00 + 0x1dc00: 0x6c561c20, 0x1dc01: 0x6cb5d020, 0x1dc02: 0x6c511c20, 0x1dc03: 0x6c253820, + 0x1dc04: 0x6ce22420, 0x1dc05: 0x6c210420, 0x1dc06: 0x6c098a20, 0x1dc07: 0x6c16aa20, + 0x1dc08: 0x6c586e20, 0x1dc09: 0x6c3aa620, 0x1dc0a: 0x6c7f0020, 0x1dc0b: 0x6cb4ee20, + 0x1dc0c: 0x6c9b1420, 0x1dc0d: 0x6cb2a020, 0x1dc0e: 0x6cee7420, 0x1dc0f: 0x6c288220, + 0x1dc10: 0x6ccc4e20, 0x1dc11: 0x6c587020, 0x1dc12: 0x6d0d6e20, 0x1dc13: 0x6d14ee20, + 0x1dc14: 0x6ce58420, 0x1dc15: 0x6cb5d220, 0x1dc16: 0x6ced1220, 0x1dc17: 0x6c12e220, + 0x1dc18: 0x6ca3bc20, 0x1dc19: 0x6d327c20, 0x1dc1a: 0x6ceba420, 0x1dc1b: 0x6c6f6c20, + 0x1dc1c: 0x6ce5ee20, 0x1dc1d: 0x6c954220, 0x1dc1e: 0x6c0ae020, 0x1dc1f: 0x6d199220, + 0x1dc20: 0x6c9b1620, 0x1dc21: 0x6c100820, 0x1dc22: 0x6cada820, 0x1dc23: 0x6c2fc620, + 0x1dc24: 0x6d1c6420, 0x1dc25: 0x6d1c6620, 0x1dc26: 0x6d1c6820, 0x1dc27: 0x6cfebc20, + 0x1dc28: 0x6cc97420, 0x1dc29: 0x6cbfb020, 0x1dc2a: 0x6c77fc20, 0x1dc2b: 0x6cfe3620, + 0x1dc2c: 0x6ced8620, 0x1dc2d: 0x6d226020, 0x1dc2e: 0x6d213620, 0x1dc2f: 0x6c3ffa20, + 0x1dc30: 0x6c88fe20, 0x1dc31: 0x6d07a220, 0x1dc32: 0x6d07a420, 0x1dc33: 0x6ca42a20, + 0x1dc34: 0x6c12f620, 0x1dc35: 0x6cf28e20, 0x1dc36: 0x6c217a20, 0x1dc37: 0x6cfece20, + 0x1dc38: 0x6d210620, 0x1dc39: 0x6c0b4020, 0x1dc3a: 0x6c998420, 0x1dc3b: 0x6c013420, + 0x1dc3c: 0x6c364020, 0x1dc3d: 0x6c960a20, 0x1dc3e: 0x6d1c7820, 0x1dc3f: 0x6c7dfc20, + // Block 0x771, offset 0x1dc40 + 0x1dc40: 0x6c7dfe20, 0x1dc41: 0x6c676420, 0x1dc42: 0x6c9e2a20, 0x1dc43: 0x6d42a020, + 0x1dc44: 0x6d42a220, 0x1dc45: 0x6d409c20, 0x1dc46: 0x6c060020, 0x1dc47: 0x6cc74e20, + 0x1dc48: 0x6cf7ec20, 0x1dc49: 0x6d12f620, 0x1dc4a: 0x6c013620, 0x1dc4b: 0x6cc19420, + 0x1dc4c: 0x6c64a820, 0x1dc4d: 0x6c3e8e20, 0x1dc4e: 0x6c93e420, 0x1dc4f: 0x6c6dbe20, + 0x1dc50: 0x6cae4220, 0x1dc51: 0x6c3c5020, 0x1dc52: 0x6c535220, 0x1dc53: 0x6c535420, + 0x1dc54: 0x6c540820, 0x1dc55: 0x6d0e7a20, 0x1dc56: 0x6ce86420, 0x1dc57: 0x6d311420, + 0x1dc58: 0x6d3e4620, 0x1dc59: 0x6cfd7a20, 0x1dc5a: 0x6cc5f620, 0x1dc5b: 0x6c43f420, + 0x1dc5c: 0x6cb82c20, 0x1dc5d: 0x6cbe8020, 0x1dc5e: 0x6c9cf820, 0x1dc5f: 0x6c59c820, + 0x1dc60: 0x6ccff220, 0x1dc61: 0x6cb43c20, 0x1dc62: 0x6c413820, 0x1dc63: 0x6c303020, + 0x1dc64: 0x6d392a20, 0x1dc65: 0x6c669620, 0x1dc66: 0x6cefcc20, 0x1dc67: 0x6c0f0820, + 0x1dc68: 0x6cee9220, 0x1dc69: 0x6cabc620, 0x1dc6a: 0x6c620e20, 0x1dc6b: 0x6c556620, + 0x1dc6c: 0x6d2a0820, 0x1dc6d: 0x6c636220, 0x1dc6e: 0x6c32c620, 0x1dc6f: 0x6d120a20, + 0x1dc70: 0x6cdbc420, 0x1dc71: 0x6c231c20, 0x1dc72: 0x6cc2fa20, 0x1dc73: 0x6cee9420, + 0x1dc74: 0x6d315820, 0x1dc75: 0x6c7c7a20, 0x1dc76: 0x6ce67820, 0x1dc77: 0x6c5cd220, + 0x1dc78: 0x6cf7ee20, 0x1dc79: 0x6cd1c220, 0x1dc7a: 0x6cb79a20, 0x1dc7b: 0x6c7f9e20, + 0x1dc7c: 0x6d3f9420, 0x1dc7d: 0x6d10a820, 0x1dc7e: 0x6d24f020, 0x1dc7f: 0x6c9a0620, + // Block 0x772, offset 0x1dc80 + 0x1dc80: 0x6d275220, 0x1dc81: 0x6cd5c820, 0x1dc82: 0x6c2c6220, 0x1dc83: 0x6d3bc620, + 0x1dc84: 0x6c491820, 0x1dc85: 0x6cc4dc20, 0x1dc86: 0x6d08e020, 0x1dc87: 0x6c15b820, + 0x1dc88: 0x6c765a20, 0x1dc89: 0x6c7d0020, 0x1dc8a: 0x6c571620, 0x1dc8b: 0x6c67a820, + 0x1dc8c: 0x6c908e20, 0x1dc8d: 0x6cefce20, 0x1dc8e: 0x6cac2a20, 0x1dc8f: 0x6d206c20, + 0x1dc90: 0x6cd9b620, 0x1dc91: 0x6d1b6220, 0x1dc92: 0x6cd1d420, 0x1dc93: 0x6c215420, + 0x1dc94: 0x6cd27620, 0x1dc95: 0x6d275a20, 0x1dc96: 0x6d317220, 0x1dc97: 0x6c812220, + 0x1dc98: 0x6cc7b420, 0x1dc99: 0x6c9b2a20, 0x1dc9a: 0x6c863a20, 0x1dc9b: 0x6cc38e20, + 0x1dc9c: 0x6cdb9c20, 0x1dc9d: 0x6d258a20, 0x1dc9e: 0x6c863c20, 0x1dc9f: 0x6c71c420, + 0x1dca0: 0x6cf65620, 0x1dca1: 0x6c057e20, 0x1dca2: 0x6c1e8220, 0x1dca3: 0x6d062020, + 0x1dca4: 0x6ce8cc20, 0x1dca5: 0x6c8e7020, 0x1dca6: 0x6c5de020, 0x1dca7: 0x6c2d2220, + 0x1dca8: 0x6cba5e20, 0x1dca9: 0x6d409e20, 0x1dcaa: 0x6cb39820, 0x1dcab: 0x6c25e420, + 0x1dcac: 0x6d24fa20, 0x1dcad: 0x6c1e9020, 0x1dcae: 0x6d237a20, 0x1dcaf: 0x6c7afe20, + 0x1dcb0: 0x6cac6220, 0x1dcb1: 0x6cb43e20, 0x1dcb2: 0x6cb44020, 0x1dcb3: 0x6ca35820, + 0x1dcb4: 0x6cd78820, 0x1dcb5: 0x6cf78820, 0x1dcb6: 0x6c3b7c20, 0x1dcb7: 0x6d27b820, + 0x1dcb8: 0x6d32d220, 0x1dcb9: 0x6c64c020, 0x1dcba: 0x6c605e20, 0x1dcbb: 0x6cc92220, + 0x1dcbc: 0x6c123620, 0x1dcbd: 0x6c371820, 0x1dcbe: 0x6c9c5820, 0x1dcbf: 0x6c4fa820, + // Block 0x773, offset 0x1dcc0 + 0x1dcc0: 0x6cdcd820, 0x1dcc1: 0x6d317420, 0x1dcc2: 0x6ca00c20, 0x1dcc3: 0x6cd9b820, + 0x1dcc4: 0x6d06fe20, 0x1dcc5: 0x6c8e7220, 0x1dcc6: 0x6cf78a20, 0x1dcc7: 0x6c479220, + 0x1dcc8: 0x6c80c020, 0x1dcc9: 0x6cc68c20, 0x1dcca: 0x6cf25420, 0x1dccb: 0x6c414820, + 0x1dccc: 0x6c263020, 0x1dccd: 0x6cd1d620, 0x1dcce: 0x6ce10820, 0x1dccf: 0x6c95b620, + 0x1dcd0: 0x6cc82020, 0x1dcd1: 0x6cdd2820, 0x1dcd2: 0x6d07ae20, 0x1dcd3: 0x6c073620, + 0x1dcd4: 0x6d11ba20, 0x1dcd5: 0x6c4b5620, 0x1dcd6: 0x6c09da20, 0x1dcd7: 0x6d3ffc20, + 0x1dcd8: 0x6c4bd220, 0x1dcd9: 0x6d42ba20, 0x1dcda: 0x6ce58620, 0x1dcdb: 0x6c12fe20, + 0x1dcdc: 0x6cae2e20, 0x1dcdd: 0x6c7fa420, 0x1dcde: 0x6c28b620, 0x1dcdf: 0x6c622420, + 0x1dce0: 0x6c83f420, 0x1dce1: 0x6ccffa20, 0x1dce2: 0x6c810620, 0x1dce3: 0x6d237c20, + 0x1dce4: 0x6c8e2e20, 0x1dce5: 0x6d1c8420, 0x1dce6: 0x6ca13020, 0x1dce7: 0x6c2e3020, + 0x1dce8: 0x6ce58e20, 0x1dce9: 0x6c993c20, 0x1dcea: 0x6ce6fa20, 0x1dceb: 0x6c1f5a20, + 0x1dcec: 0x6caeae20, 0x1dced: 0x6c014020, 0x1dcee: 0x6c881820, 0x1dcef: 0x6c233220, + 0x1dcf0: 0x6cf80220, 0x1dcf1: 0x6cb2ae20, 0x1dcf2: 0x6cbfb820, 0x1dcf3: 0x6c6ca620, + 0x1dcf4: 0x6c215820, 0x1dcf5: 0x6c6b1420, 0x1dcf6: 0x6cef2420, 0x1dcf7: 0x6ce99620, + 0x1dcf8: 0x6c128220, 0x1dcf9: 0x6d23ca20, 0x1dcfa: 0x6d183620, 0x1dcfb: 0x6d3ed220, + 0x1dcfc: 0x6c8a7220, 0x1dcfd: 0x6c09dc20, 0x1dcfe: 0x6c91ce20, 0x1dcff: 0x6d077620, + // Block 0x774, offset 0x1dd00 + 0x1dd00: 0x6c10a820, 0x1dd01: 0x6d2ed020, 0x1dd02: 0x6c824a20, 0x1dd03: 0x6cbb1c20, + 0x1dd04: 0x6c97f220, 0x1dd05: 0x6d0cb820, 0x1dd06: 0x6c8d3e20, 0x1dd07: 0x6c621020, + 0x1dd08: 0x6c0c0e20, 0x1dd09: 0x6c4bde20, 0x1dd0a: 0x6c4e5c20, 0x1dd0b: 0x6c2b8220, + 0x1dd0c: 0x6cdaf020, 0x1dd0d: 0x6c929620, 0x1dd0e: 0x6ccf6c20, 0x1dd0f: 0x6cce1420, + 0x1dd10: 0x6c2b8420, 0x1dd11: 0x6c9ee420, 0x1dd12: 0x6d09a220, 0x1dd13: 0x6c97f420, + 0x1dd14: 0x6c0f3420, 0x1dd15: 0x6c2c8420, 0x1dd16: 0x6c25ea20, 0x1dd17: 0x6d311620, + 0x1dd18: 0x6cd00a20, 0x1dd19: 0x6d08a620, 0x1dd1a: 0x6cf0b220, 0x1dd1b: 0x6c558220, + 0x1dd1c: 0x6c025620, 0x1dd1d: 0x6c9cfc20, 0x1dd1e: 0x6c90aa20, 0x1dd1f: 0x6c244a20, + 0x1dd20: 0x6d37c220, 0x1dd21: 0x6c114820, 0x1dd22: 0x6cb33220, 0x1dd23: 0x6c67b220, + 0x1dd24: 0x6c9d6e20, 0x1dd25: 0x6c233420, 0x1dd26: 0x6ca7a220, 0x1dd27: 0x6c5c0220, + 0x1dd28: 0x6c738620, 0x1dd29: 0x6d1a8420, 0x1dd2a: 0x6c66ac20, 0x1dd2b: 0x6ca6f020, + 0x1dd2c: 0x6cd50220, 0x1dd2d: 0x6d19f020, 0x1dd2e: 0x6c4c7e20, 0x1dd2f: 0x6c18d620, + 0x1dd30: 0x6c56bc20, 0x1dd31: 0x6ccc0020, 0x1dd32: 0x6c79fc20, 0x1dd33: 0x6cba6e20, + 0x1dd34: 0x6c966e20, 0x1dd35: 0x6d29e420, 0x1dd36: 0x6d2b5a20, 0x1dd37: 0x6cbb1620, + 0x1dd38: 0x6c30ba20, 0x1dd39: 0x6c88c620, 0x1dd3a: 0x6c8c5a20, 0x1dd3b: 0x6c79fe20, + 0x1dd3c: 0x6c007020, 0x1dd3d: 0x6c0a0a20, 0x1dd3e: 0x6c843220, 0x1dd3f: 0x6cf00a20, + // Block 0x775, offset 0x1dd40 + 0x1dd40: 0x6c609620, 0x1dd41: 0x6cb9c420, 0x1dd42: 0x6cd17620, 0x1dd43: 0x6c385c20, + 0x1dd44: 0x6c9b3c20, 0x1dd45: 0x6cab9020, 0x1dd46: 0x6c15dc20, 0x1dd47: 0x6c2d2820, + 0x1dd48: 0x6d0aa420, 0x1dd49: 0x6c687020, 0x1dd4a: 0x6cc8ac20, 0x1dd4b: 0x6cc8ae20, + 0x1dd4c: 0x6c82d420, 0x1dd4d: 0x6d218e20, 0x1dd4e: 0x6cbbf220, 0x1dd4f: 0x6c1ea020, + 0x1dd50: 0x6c575220, 0x1dd51: 0x6c64e220, 0x1dd52: 0x6c971a20, 0x1dd53: 0x6d27c220, + 0x1dd54: 0x6c05b820, 0x1dd55: 0x6d1f6820, 0x1dd56: 0x6cc1aa20, 0x1dd57: 0x6c92da20, + 0x1dd58: 0x6cc52a20, 0x1dd59: 0x6c5c1e20, 0x1dd5a: 0x6c369020, 0x1dd5b: 0x6ce36a20, + 0x1dd5c: 0x6c3a6a20, 0x1dd5d: 0x6c749e20, 0x1dd5e: 0x6d41c820, 0x1dd5f: 0x6c384020, + 0x1dd60: 0x6cc7c020, 0x1dd61: 0x6c3b8e20, 0x1dd62: 0x6c7d1620, 0x1dd63: 0x6cd75820, + 0x1dd64: 0x6cc8a220, 0x1dd65: 0x6d0b5e20, 0x1dd66: 0x6d05dc20, 0x1dd67: 0x6c403c20, + 0x1dd68: 0x6c74a020, 0x1dd69: 0x6c298a20, 0x1dd6a: 0x6cf3e420, 0x1dd6b: 0x6c303a20, + 0x1dd6c: 0x6cd82420, 0x1dd6d: 0x6cff1820, 0x1dd6e: 0x6cf8d020, 0x1dd6f: 0x6c8fa020, + 0x1dd70: 0x6cf16420, 0x1dd71: 0x6ccee820, 0x1dd72: 0x6cb64220, 0x1dd73: 0x6c64e420, + 0x1dd74: 0x6d284e20, 0x1dd75: 0x6cdcde20, 0x1dd76: 0x6c8d5a20, 0x1dd77: 0x6d23f220, + 0x1dd78: 0x6cf9ec20, 0x1dd79: 0x6cf27220, 0x1dd7a: 0x6c609820, 0x1dd7b: 0x6c538820, + 0x1dd7c: 0x6cd8ee20, 0x1dd7d: 0x6ca9ca20, 0x1dd7e: 0x6c82da20, 0x1dd7f: 0x6d07ce20, + // Block 0x776, offset 0x1dd80 + 0x1dd80: 0x6d285620, 0x1dd81: 0x6d23cc20, 0x1dd82: 0x6cf7a420, 0x1dd83: 0x6c506e20, + 0x1dd84: 0x6c05d620, 0x1dd85: 0x6c4fae20, 0x1dd86: 0x6c00d220, 0x1dd87: 0x6ceeba20, + 0x1dd88: 0x6c5c3c20, 0x1dd89: 0x6c5c3e20, 0x1dd8a: 0x6c628220, 0x1dd8b: 0x6c226e20, + 0x1dd8c: 0x6cfd8420, 0x1dd8d: 0x6ced9a20, 0x1dd8e: 0x6c9ee820, 0x1dd8f: 0x6d18b420, + 0x1dd90: 0x6c838820, 0x1dd91: 0x6c677e20, 0x1dd92: 0x6c120820, 0x1dd93: 0x6cd01e20, + 0x1dd94: 0x6cbb2620, 0x1dd95: 0x6c885a20, 0x1dd96: 0x6c781c20, 0x1dd97: 0x6d25ae20, + 0x1dd98: 0x6c26c020, 0x1dd99: 0x6ce42220, 0x1dd9a: 0x6ce0d420, 0x1dd9b: 0x6d08e820, + 0x1dd9c: 0x6c0a5c20, 0x1dd9d: 0x6d2d9a20, 0x1dd9e: 0x6cdce020, 0x1dd9f: 0x6cfad820, + 0x1dda0: 0x6c38c420, 0x1dda1: 0x6c2f8220, 0x1dda2: 0x6d021c20, 0x1dda3: 0x6c47d220, + 0x1dda4: 0x6d021e20, 0x1dda5: 0x6cd56e20, 0x1dda6: 0x6c66d420, 0x1dda7: 0x6c4fb020, + 0x1dda8: 0x6c52ca20, 0x1dda9: 0x6cc99820, 0x1ddaa: 0x6d02f220, 0x1ddab: 0x6d09aa20, + 0x1ddac: 0x6d122420, 0x1ddad: 0x6c046a20, 0x1ddae: 0x6cda2c20, 0x1ddaf: 0x6cd57020, + 0x1ddb0: 0x6d09b420, 0x1ddb1: 0x6c336a20, 0x1ddb2: 0x6cb21a20, 0x1ddb3: 0x6cf01820, + 0x1ddb4: 0x6ca92820, 0x1ddb5: 0x6c1df020, 0x1ddb6: 0x6c970420, 0x1ddb7: 0x6cc7d420, + 0x1ddb8: 0x6cb18620, 0x1ddb9: 0x6cdf4c20, 0x1ddba: 0x6c62a020, 0x1ddbb: 0x6d2a5a20, + 0x1ddbc: 0x6c18f020, 0x1ddbd: 0x6d319a20, 0x1ddbe: 0x6c37a820, 0x1ddbf: 0x6ca65420, + // Block 0x777, offset 0x1ddc0 + 0x1ddc0: 0x6d1ca820, 0x1ddc1: 0x6c432620, 0x1ddc2: 0x6c23b820, 0x1ddc3: 0x6cff2420, + 0x1ddc4: 0x6cb66020, 0x1ddc5: 0x6c382820, 0x1ddc6: 0x6c65e420, 0x1ddc7: 0x6d073e20, + 0x1ddc8: 0x6c7ca620, 0x1ddc9: 0x6c60c620, 0x1ddca: 0x6c0b5820, 0x1ddcb: 0x6c2e4620, + 0x1ddcc: 0x6c9d9420, 0x1ddcd: 0x6c7fc420, 0x1ddce: 0x6c6d6420, 0x1ddcf: 0x6c124e20, + 0x1ddd0: 0x6c9ea020, 0x1ddd1: 0x6cbf6e20, 0x1ddd2: 0x6cbcec20, 0x1ddd3: 0x6cfc3420, + 0x1ddd4: 0x6c8a5420, 0x1ddd5: 0x6cab9820, 0x1ddd6: 0x6cfbb620, 0x1ddd7: 0x6cdb4020, + 0x1ddd8: 0x6c936a20, 0x1ddd9: 0x6d18f020, 0x1ddda: 0x6d075220, 0x1dddb: 0x6d014c20, + 0x1dddc: 0x6c847220, 0x1dddd: 0x6d18f220, 0x1ddde: 0x6c7e6620, 0x1dddf: 0x6c82f020, + 0x1dde0: 0x6c69ca20, 0x1dde1: 0x6c2b9a20, 0x1dde2: 0x6d355a20, 0x1dde3: 0x6c06bc20, + 0x1dde4: 0x6ce2c220, 0x1dde5: 0x6d123620, 0x1dde6: 0x6ca17c20, 0x1dde7: 0x6c595e20, + 0x1dde8: 0x6c0c3e20, 0x1dde9: 0x6c386820, 0x1ddea: 0x6cda3220, 0x1ddeb: 0x6ce02e20, + 0x1ddec: 0x6ce99a20, 0x1dded: 0x6cbf8020, 0x1ddee: 0x6cbc0820, 0x1ddef: 0x6cf0f620, + 0x1ddf0: 0x6c8ebc20, 0x1ddf1: 0x6c5c5c20, 0x1ddf2: 0x6cabac20, 0x1ddf3: 0x6c432c20, + 0x1ddf4: 0x6d286220, 0x1ddf5: 0x6c068a20, 0x1ddf6: 0x6c870a20, 0x1ddf7: 0x6cd57e20, + 0x1ddf8: 0x6c1ebe20, 0x1ddf9: 0x6c007e20, 0x1ddfa: 0x6c8c7a20, 0x1ddfb: 0x6d2a6020, + 0x1ddfc: 0x6d07e620, 0x1ddfd: 0x6cbe2820, 0x1ddfe: 0x6c7f7220, 0x1ddff: 0x6c5e3220, + // Block 0x778, offset 0x1de00 + 0x1de00: 0x6cebb620, 0x1de01: 0x6cf54420, 0x1de02: 0x6cc8b820, 0x1de03: 0x6cc8ba20, + 0x1de04: 0x6cb68420, 0x1de05: 0x6c528020, 0x1de06: 0x6c917820, 0x1de07: 0x6cda6420, + 0x1de08: 0x6ce9d020, 0x1de09: 0x6c9b8a20, 0x1de0a: 0x6d287020, 0x1de0b: 0x6cb2dc20, + 0x1de0c: 0x6d22b020, 0x1de0d: 0x6d09c220, 0x1de0e: 0x6c62be20, 0x1de0f: 0x6c6eec20, + 0x1de10: 0x6d07e820, 0x1de11: 0x6ca09020, 0x1de12: 0x6cc0c220, 0x1de13: 0x6cda6620, + 0x1de14: 0x6c6eee20, 0x1de15: 0x6c3d0420, 0x1de16: 0x6ca8a620, 0x1de17: 0x6c0ffe20, + 0x1de18: 0x6cc4ea20, 0x1de19: 0x6d193020, 0x1de1a: 0x6cfc4a20, 0x1de1b: 0x6d21e420, + 0x1de1c: 0x6c718820, 0x1de1d: 0x6c892e20, 0x1de1e: 0x6c88dc20, 0x1de1f: 0x6d1b1e20, + 0x1de20: 0x6cbb2e20, 0x1de21: 0x6d1c2420, 0x1de22: 0x6c8fcc20, 0x1de23: 0x6ce82220, + 0x1de24: 0x6cf05420, 0x1de25: 0x6d270c20, 0x1de26: 0x6c8d9420, 0x1de27: 0x6cc1f020, + 0x1de28: 0x6d117020, 0x1de29: 0x6c38e620, 0x1de2a: 0x6c9a3c20, 0x1de2b: 0x6c4f3020, + 0x1de2c: 0x6c7c5620, 0x1de2d: 0x6c7ff020, 0x1de2e: 0x6c62d220, 0x1de2f: 0x6c29a220, + 0x1de30: 0x6c981820, 0x1de31: 0x6c836220, 0x1de32: 0x6c828820, 0x1de33: 0x6c5b0a20, + 0x1de34: 0x6c3c8220, 0x1de35: 0x6d342820, 0x1de36: 0x6cf10e20, 0x1de37: 0x6c7cb620, + 0x1de38: 0x6d2ea220, 0x1de39: 0x6c580620, 0x1de3a: 0x6c84ac20, 0x1de3b: 0x6c62e220, + 0x1de3c: 0x6c9cb620, 0x1de3d: 0x6c830a20, 0x1de3e: 0x6c582220, 0x1de3f: 0x6c957a20, + // Block 0x779, offset 0x1de40 + 0x1de40: 0x6c5fa020, 0x1de41: 0x6c7cbe20, 0x1de42: 0x6c934020, 0x1de43: 0x6c655020, + 0x1de44: 0x6cc9ba20, 0x1de45: 0x6ce2e620, 0x1de46: 0x6c829e20, 0x1de47: 0x6cc36820, + 0x1de48: 0x6cff6020, 0x1de49: 0x6d197420, 0x1de4a: 0x6c947220, 0x1de4b: 0x6c9ae620, + 0x1de4c: 0x6c0cd420, 0x1de4d: 0x6c549420, 0x1de4e: 0x6c561220, 0x1de4f: 0x6c91b820, + 0x1de50: 0x6caaa220, 0x1de51: 0x6c93d420, 0x1de52: 0x6cd7da20, 0x1de53: 0x6cfeaa20, + 0x1de54: 0x6cb98220, 0x1de55: 0x6c1f3620, 0x1de56: 0x6c54c620, 0x1de57: 0x6d058a20, + 0x1de58: 0x6c25d820, 0x1de59: 0x6c3e6e20, 0x1de5a: 0x6d058c20, 0x1de5b: 0x6d05a820, + 0x1de5c: 0x6c91c420, 0x1de5d: 0x6c562420, 0x1de5e: 0x6d216620, 0x1de5f: 0x6c504a20, + 0x1de60: 0x6c686020, 0x1de61: 0x6c725820, 0x1de62: 0x6c4c8620, 0x1de63: 0x6c066820, + 0x1de64: 0x6d0cd220, 0x1de65: 0x6d2e8220, 0x1de66: 0x6d2e8420, 0x1de67: 0x6c7c4820, + 0x1de68: 0x6c0d5620, 0x1de69: 0x6cf90620, 0x1de6a: 0x6cd63220, 0x1de6b: 0x6c1d0820, + 0x1de6c: 0x6cc00220, 0x1de6d: 0x6c2db220, 0x1de6e: 0x6c612620, 0x1de6f: 0x6cc00c20, + 0x1de70: 0x6c2f5820, 0x1de71: 0x6cd19a20, 0x1de72: 0x6cf95020, 0x1de73: 0x6c740820, + 0x1de74: 0x6d302a20, 0x1de75: 0x6ccf0a20, 0x1de76: 0x6d208020, 0x1de77: 0x6c4dea20, + 0x1de78: 0x6d3efe20, 0x1de79: 0x6c532220, 0x1de7a: 0x6c5a9a20, 0x1de7b: 0x6c9b0c20, + 0x1de7c: 0x6c447e20, 0x1de7d: 0x6cdbb020, 0x1de7e: 0x6cf95a20, 0x1de7f: 0x6c149420, + // Block 0x77a, offset 0x1de80 + 0x1de80: 0x6cd25620, 0x1de81: 0x6d15d620, 0x1de82: 0x6c969620, 0x1de83: 0x6cfe2020, + 0x1de84: 0x6c399420, 0x1de85: 0x6c360220, 0x1de86: 0x6c034020, 0x1de87: 0x6c1b9620, + 0x1de88: 0x6cb8ca20, 0x1de89: 0x6cf18e20, 0x1de8a: 0x6cf19020, 0x1de8b: 0x6cc8c620, + 0x1de8c: 0x6c056620, 0x1de8d: 0x6cafd220, 0x1de8e: 0x6d269a20, 0x1de8f: 0x6d269c20, + 0x1de90: 0x6c756a20, 0x1de91: 0x6cb5ae20, 0x1de92: 0x6ce73c20, 0x1de93: 0x6d1ad620, + 0x1de94: 0x6cb5b020, 0x1de95: 0x6c119020, 0x1de96: 0x6d255420, 0x1de97: 0x6c741a20, + 0x1de98: 0x6c5b3020, 0x1de99: 0x6cbd6c20, 0x1de9a: 0x6cb5b220, 0x1de9b: 0x6d382220, + 0x1de9c: 0x6d0b2220, 0x1de9d: 0x6c4fc220, 0x1de9e: 0x6ca27e20, 0x1de9f: 0x6cede420, + 0x1dea0: 0x6c3b6820, 0x1dea1: 0x6c3b6a20, 0x1dea2: 0x6c4f6e20, 0x1dea3: 0x6c462e20, + 0x1dea4: 0x6d2a4620, 0x1dea5: 0x6c3fd420, 0x1dea6: 0x6cc47020, 0x1dea7: 0x6c6bda20, + 0x1dea8: 0x6c3e4220, 0x1dea9: 0x6c1aa420, 0x1deaa: 0x6c30ea20, 0x1deab: 0x6c064820, + 0x1deac: 0x6cfc0620, 0x1dead: 0x6ca5de20, 0x1deae: 0x6ce27820, 0x1deaf: 0x6cbfac20, + 0x1deb0: 0x6d1f2c20, 0x1deb1: 0x6d2cc220, 0x1deb2: 0x6cb2a220, 0x1deb3: 0x6c1b1e20, + 0x1deb4: 0x6d204220, 0x1deb5: 0x6c511e20, 0x1deb6: 0x6c4da020, 0x1deb7: 0x6c723420, + 0x1deb8: 0x6c85fe20, 0x1deb9: 0x6c3fe620, 0x1deba: 0x6cc47620, 0x1debb: 0x6d2c2a20, + 0x1debc: 0x6c468220, 0x1debd: 0x6cafe220, 0x1debe: 0x6cafe420, 0x1debf: 0x6cfb5220, + // Block 0x77b, offset 0x1dec0 + 0x1dec0: 0x6d3af020, 0x1dec1: 0x6c2dc820, 0x1dec2: 0x6c0ce820, 0x1dec3: 0x6c0de220, + 0x1dec4: 0x6c470e20, 0x1dec5: 0x6d2d7020, 0x1dec6: 0x6cc10620, 0x1dec7: 0x6ccf1220, + 0x1dec8: 0x6ce5fa20, 0x1dec9: 0x6c8d0020, 0x1deca: 0x6c478420, 0x1decb: 0x6c288420, + 0x1decc: 0x6c478620, 0x1decd: 0x6d1c6a20, 0x1dece: 0x6c860020, 0x1decf: 0x6c196a20, + 0x1ded0: 0x6cc11220, 0x1ded1: 0x6ca1d620, 0x1ded2: 0x6c43f620, 0x1ded3: 0x6c22ca20, + 0x1ded4: 0x6c5b3820, 0x1ded5: 0x6c5b3a20, 0x1ded6: 0x6c986a20, 0x1ded7: 0x6c3ffc20, + 0x1ded8: 0x6d0fbc20, 0x1ded9: 0x6cebde20, 0x1deda: 0x6c8b0e20, 0x1dedb: 0x6d39ac20, + 0x1dedc: 0x6d13f820, 0x1dedd: 0x6cfb6220, 0x1dede: 0x6c7e0020, 0x1dedf: 0x6c684e20, + 0x1dee0: 0x6c861a20, 0x1dee1: 0x6d17be20, 0x1dee2: 0x6cb2b020, 0x1dee3: 0x6cb4fc20, + 0x1dee4: 0x6c4cfe20, 0x1dee5: 0x6ccf1a20, 0x1dee6: 0x6d14fc20, 0x1dee7: 0x6cee2420, + 0x1dee8: 0x6ca11c20, 0x1dee9: 0x6cbf3220, 0x1deea: 0x6cbcc420, 0x1deeb: 0x6c4b0420, + 0x1deec: 0x6cbf3420, 0x1deed: 0x6d364020, 0x1deee: 0x6c976420, 0x1deef: 0x6c81f820, + 0x1def0: 0x6d305c20, 0x1def1: 0x6c63c220, 0x1def2: 0x6ca4ae20, 0x1def3: 0x6cd7ee20, + 0x1def4: 0x6cb5f020, 0x1def5: 0x6d038420, 0x1def6: 0x6c6bee20, 0x1def7: 0x6cc07c20, + 0x1def8: 0x6cce7a20, 0x1def9: 0x6d1e4c20, 0x1defa: 0x6c63ce20, 0x1defb: 0x6cea0220, + 0x1defc: 0x6c17de20, 0x1defd: 0x6c044e20, 0x1defe: 0x6c357620, 0x1deff: 0x6c4ed420, + // Block 0x77c, offset 0x1df00 + 0x1df00: 0x6cd56420, 0x1df01: 0x6d081620, 0x1df02: 0x6c3c5820, 0x1df03: 0x6cd0b820, + 0x1df04: 0x6cd0ba20, 0x1df05: 0x6c3f7020, 0x1df06: 0x6cfce020, 0x1df07: 0x6d2ffe20, + 0x1df08: 0x6cf3da20, 0x1df09: 0x6c3ea820, 0x1df0a: 0x6c83f820, 0x1df0b: 0x6c80d420, + 0x1df0c: 0x6c09de20, 0x1df0d: 0x6c1e9220, 0x1df0e: 0x6d24fc20, 0x1df0f: 0x6d1fd820, + 0x1df10: 0x6c6af820, 0x1df11: 0x6c288e20, 0x1df12: 0x6d0ca220, 0x1df13: 0x6ce67a20, + 0x1df14: 0x6c2d6820, 0x1df15: 0x6cea0420, 0x1df16: 0x6c5b3c20, 0x1df17: 0x6cf29820, + 0x1df18: 0x6d340420, 0x1df19: 0x6cd92c20, 0x1df1a: 0x6c3a1420, 0x1df1b: 0x6c70b620, + 0x1df1c: 0x6c9d7020, 0x1df1d: 0x6cb62c20, 0x1df1e: 0x6cb62e20, 0x1df1f: 0x6d23a820, + 0x1df20: 0x6c75da20, 0x1df21: 0x6c7e8a20, 0x1df22: 0x6c9be220, 0x1df23: 0x6cbac420, + 0x1df24: 0x6cd80820, 0x1df25: 0x6cf68020, 0x1df26: 0x6c950820, 0x1df27: 0x6c865420, + 0x1df28: 0x6c2ed620, 0x1df29: 0x6ce59a20, 0x1df2a: 0x6ce23220, 0x1df2b: 0x6c7d7a20, + 0x1df2c: 0x6c4e2620, 0x1df2d: 0x6c4eec20, 0x1df2e: 0x6d23aa20, 0x1df2f: 0x6c058420, + 0x1df30: 0x6c3a4020, 0x1df31: 0x6cb00c20, 0x1df32: 0x6ceea820, 0x1df33: 0x6c339e20, + 0x1df34: 0x6d183820, 0x1df35: 0x6d250c20, 0x1df36: 0x6cddd020, 0x1df37: 0x6cc30c20, + 0x1df38: 0x6cba1a20, 0x1df39: 0x6cc8d820, 0x1df3a: 0x6ca5fc20, 0x1df3b: 0x6cbe5220, + 0x1df3c: 0x6cf0b420, 0x1df3d: 0x6c899e20, 0x1df3e: 0x6c4cc820, 0x1df3f: 0x6cec9620, + // Block 0x77d, offset 0x1df40 + 0x1df40: 0x6c301020, 0x1df41: 0x6c367220, 0x1df42: 0x6c04d020, 0x1df43: 0x6c2c8620, + 0x1df44: 0x6cee3420, 0x1df45: 0x6c11a020, 0x1df46: 0x6d102820, 0x1df47: 0x6d1d6820, + 0x1df48: 0x6c4c3220, 0x1df49: 0x6c150e20, 0x1df4a: 0x6c2fb420, 0x1df4b: 0x6c7e8c20, + 0x1df4c: 0x6c782c20, 0x1df4d: 0x6c6afa20, 0x1df4e: 0x6d005020, 0x1df4f: 0x6ce68e20, + 0x1df50: 0x6c99b220, 0x1df51: 0x6d05de20, 0x1df52: 0x6c9dd020, 0x1df53: 0x6d219020, + 0x1df54: 0x6c6a3220, 0x1df55: 0x6cd28020, 0x1df56: 0x6d07c820, 0x1df57: 0x6c59f620, + 0x1df58: 0x6d0dce20, 0x1df59: 0x6c0b0420, 0x1df5a: 0x6cc75e20, 0x1df5b: 0x6ceeb220, + 0x1df5c: 0x6c403e20, 0x1df5d: 0x6d25a020, 0x1df5e: 0x6c9aaa20, 0x1df5f: 0x6cf14620, + 0x1df60: 0x6c3ee220, 0x1df61: 0x6cc7c220, 0x1df62: 0x6d00e220, 0x1df63: 0x6d1f6a20, + 0x1df64: 0x6cc09020, 0x1df65: 0x6c990020, 0x1df66: 0x6cf97820, 0x1df67: 0x6d1be020, + 0x1df68: 0x6cd1f020, 0x1df69: 0x6c1d2020, 0x1df6a: 0x6ce0ce20, 0x1df6b: 0x6d39be20, + 0x1df6c: 0x6d3fba20, 0x1df6d: 0x6ce36c20, 0x1df6e: 0x6c404020, 0x1df6f: 0x6d25a220, + 0x1df70: 0x6c7c9820, 0x1df71: 0x6c9b3e20, 0x1df72: 0x6c7e9620, 0x1df73: 0x6c31b220, + 0x1df74: 0x6c559620, 0x1df75: 0x6cbfc220, 0x1df76: 0x6c2ee020, 0x1df77: 0x6c866420, + 0x1df78: 0x6cf29c20, 0x1df79: 0x6d276220, 0x1df7a: 0x6cc24e20, 0x1df7b: 0x6ca43a20, + 0x1df7c: 0x6c90b620, 0x1df7d: 0x6c211220, 0x1df7e: 0x6cc6a820, 0x1df7f: 0x6d1c9220, + // Block 0x77e, offset 0x1df80 + 0x1df80: 0x6c677620, 0x1df81: 0x6c051420, 0x1df82: 0x6c80d820, 0x1df83: 0x6cad0e20, + 0x1df84: 0x6cd82c20, 0x1df85: 0x6cf6da20, 0x1df86: 0x6c22de20, 0x1df87: 0x6cf6dc20, + 0x1df88: 0x6d25b020, 0x1df89: 0x6cf23c20, 0x1df8a: 0x6c885c20, 0x1df8b: 0x6cd9dc20, + 0x1df8c: 0x6c04a020, 0x1df8d: 0x6cc6b220, 0x1df8e: 0x6cc6b420, 0x1df8f: 0x6c60b220, + 0x1df90: 0x6cf38220, 0x1df91: 0x6d055020, 0x1df92: 0x6c4f0e20, 0x1df93: 0x6cbdac20, + 0x1df94: 0x6d156020, 0x1df95: 0x6c089020, 0x1df96: 0x6c575420, 0x1df97: 0x6ce13c20, + 0x1df98: 0x6d161420, 0x1df99: 0x6c327c20, 0x1df9a: 0x6ca3d620, 0x1df9b: 0x6c517820, + 0x1df9c: 0x6c55c020, 0x1df9d: 0x6c4a8a20, 0x1df9e: 0x6c96a420, 0x1df9f: 0x6ca01a20, + 0x1dfa0: 0x6d18b620, 0x1dfa1: 0x6cf1b020, 0x1dfa2: 0x6d1ca020, 0x1dfa3: 0x6ce28420, + 0x1dfa4: 0x6d37ca20, 0x1dfa5: 0x6c123c20, 0x1dfa6: 0x6ccb1020, 0x1dfa7: 0x6cb81a20, + 0x1dfa8: 0x6c97c820, 0x1dfa9: 0x6ce5e620, 0x1dfaa: 0x6cce2020, 0x1dfab: 0x6cd3e620, + 0x1dfac: 0x6c129e20, 0x1dfad: 0x6c1ad620, 0x1dfae: 0x6c2ca620, 0x1dfaf: 0x6c027620, + 0x1dfb0: 0x6c92fa20, 0x1dfb1: 0x6cf0e820, 0x1dfb2: 0x6d371220, 0x1dfb3: 0x6ce14220, + 0x1dfb4: 0x6c18ea20, 0x1dfb5: 0x6cb16a20, 0x1dfb6: 0x6cc1c420, 0x1dfb7: 0x6cb02420, + 0x1dfb8: 0x6d21be20, 0x1dfb9: 0x6c66e420, 0x1dfba: 0x6c955820, 0x1dfbb: 0x6c90c220, + 0x1dfbc: 0x6cbdea20, 0x1dfbd: 0x6d37ce20, 0x1dfbe: 0x6d1b1420, 0x1dfbf: 0x6c678820, + // Block 0x77f, offset 0x1dfc0 + 0x1dfc0: 0x6cd67620, 0x1dfc1: 0x6cf1b820, 0x1dfc2: 0x6cff2620, 0x1dfc3: 0x6ceda020, + 0x1dfc4: 0x6d30a220, 0x1dfc5: 0x6d310820, 0x1dfc6: 0x6c96f820, 0x1dfc7: 0x6c967a20, + 0x1dfc8: 0x6c4c4820, 0x1dfc9: 0x6c8eaa20, 0x1dfca: 0x6c990a20, 0x1dfcb: 0x6cf6f220, + 0x1dfcc: 0x6c236a20, 0x1dfcd: 0x6c846220, 0x1dfce: 0x6c97d020, 0x1dfcf: 0x6cff2820, + 0x1dfd0: 0x6c173020, 0x1dfd1: 0x6d2ee220, 0x1dfd2: 0x6c98a020, 0x1dfd3: 0x6cfe5e20, + 0x1dfd4: 0x6ca17e20, 0x1dfd5: 0x6d418220, 0x1dfd6: 0x6cd83c20, 0x1dfd7: 0x6cbfd420, + 0x1dfd8: 0x6ce28820, 0x1dfd9: 0x6d34ac20, 0x1dfda: 0x6caed820, 0x1dfdb: 0x6caeda20, + 0x1dfdc: 0x6c695620, 0x1dfdd: 0x6cc1dc20, 0x1dfde: 0x6c0cc220, 0x1dfdf: 0x6c8a3c20, + 0x1dfe0: 0x6cac8220, 0x1dfe1: 0x6c4b2220, 0x1dfe2: 0x6cf81c20, 0x1dfe3: 0x6c615a20, + 0x1dfe4: 0x6d3b9620, 0x1dfe5: 0x6c5a0e20, 0x1dfe6: 0x6c3a4220, 0x1dfe7: 0x6c818420, + 0x1dfe8: 0x6c74de20, 0x1dfe9: 0x6c74e020, 0x1dfea: 0x6c5c7220, 0x1dfeb: 0x6d1aa220, + 0x1dfec: 0x6c153a20, 0x1dfed: 0x6c689c20, 0x1dfee: 0x6ccdcc20, 0x1dfef: 0x6ca4ca20, + 0x1dff0: 0x6cff3e20, 0x1dff1: 0x6cf40020, 0x1dff2: 0x6c1d2620, 0x1dff3: 0x6d0a5020, + 0x1dff4: 0x6cd83e20, 0x1dff5: 0x6c1f9c20, 0x1dff6: 0x6c19a020, 0x1dff7: 0x6c291e20, + 0x1dff8: 0x6c854420, 0x1dff9: 0x6d026620, 0x1dffa: 0x6ccdd420, 0x1dffb: 0x6d162420, + 0x1dffc: 0x6c6e3a20, 0x1dffd: 0x6c26c820, 0x1dffe: 0x6c154420, 0x1dfff: 0x6cb80020, + // Block 0x780, offset 0x1e000 + 0x1e000: 0x6c221820, 0x1e001: 0x6cfe0220, 0x1e002: 0x6ccf7e20, 0x1e003: 0x6c95c820, + 0x1e004: 0x6cbdb620, 0x1e005: 0x6d1d6e20, 0x1e006: 0x6c14a220, 0x1e007: 0x6c86da20, + 0x1e008: 0x6d2b6a20, 0x1e009: 0x6d07ea20, 0x1e00a: 0x6c888820, 0x1e00b: 0x6d3a3220, + 0x1e00c: 0x6d2b1e20, 0x1e00d: 0x6d005a20, 0x1e00e: 0x6c98a420, 0x1e00f: 0x6d026820, + 0x1e010: 0x6cb69a20, 0x1e011: 0x6cc6e220, 0x1e012: 0x6c661a20, 0x1e013: 0x6c9bf220, + 0x1e014: 0x6c500220, 0x1e015: 0x6cc7e420, 0x1e016: 0x6c5e3420, 0x1e017: 0x6d3dda20, + 0x1e018: 0x6c6b7820, 0x1e019: 0x6cb22420, 0x1e01a: 0x6c50aa20, 0x1e01b: 0x6c9f0e20, + 0x1e01c: 0x6c38ee20, 0x1e01d: 0x6c828a20, 0x1e01e: 0x6c6b7220, 0x1e01f: 0x6c7ec420, + 0x1e020: 0x6c9fda20, 0x1e021: 0x6c84ae20, 0x1e022: 0x6c219020, 0x1e023: 0x6c873220, + 0x1e024: 0x6cbfe620, 0x1e025: 0x6ca8bc20, 0x1e026: 0x6c919c20, 0x1e027: 0x6c328c20, + 0x1e028: 0x6cff5620, 0x1e029: 0x6d39ee20, 0x1e02a: 0x6c8ffc20, 0x1e02b: 0x6c875620, + 0x1e02c: 0x6c8ffe20, 0x1e02d: 0x6c3c8620, 0x1e02e: 0x6d127220, 0x1e02f: 0x6c086620, + 0x1e030: 0x6ca46020, 0x1e031: 0x6c47f220, 0x1e032: 0x6c730e20, 0x1e033: 0x6d1c4220, + 0x1e034: 0x6cd63820, 0x1e035: 0x6cf75820, 0x1e036: 0x6c11c820, 0x1e037: 0x6cc22420, + 0x1e038: 0x6cc33c20, 0x1e039: 0x6c329020, 0x1e03a: 0x6c11ca20, 0x1e03b: 0x6c97ae20, + 0x1e03c: 0x6cc22e20, 0x1e03d: 0x6c6b8e20, 0x1e03e: 0x6d3a4e20, 0x1e03f: 0x6d3d1820, + // Block 0x781, offset 0x1e040 + 0x1e040: 0x6d093820, 0x1e041: 0x6c598620, 0x1e042: 0x6ca9a420, 0x1e043: 0x6cadba20, + 0x1e044: 0x6caa8420, 0x1e045: 0x6d033020, 0x1e046: 0x6d383220, 0x1e047: 0x6c973420, + 0x1e048: 0x6c37ce20, 0x1e049: 0x6c761220, 0x1e04a: 0x6c9f1020, 0x1e04b: 0x6cf93c20, + 0x1e04c: 0x6d03ba20, 0x1e04d: 0x6d0d5c20, 0x1e04e: 0x6c770620, 0x1e04f: 0x6d260e20, + 0x1e050: 0x6cc28820, 0x1e051: 0x6c8d0220, 0x1e052: 0x6d089020, 0x1e053: 0x6cd5ca20, + 0x1e054: 0x6cfb5420, 0x1e055: 0x6ce7cc20, 0x1e056: 0x6cfe3820, 0x1e057: 0x6c6a1e20, + 0x1e058: 0x6cfb7020, 0x1e059: 0x6d0b3220, 0x1e05a: 0x6c559a20, 0x1e05b: 0x6cf0ca20, + 0x1e05c: 0x6c2a2c20, 0x1e05d: 0x6c1cdc20, 0x1e05e: 0x6cf0d420, 0x1e05f: 0x6c2a3620, + 0x1e060: 0x6d3cd820, 0x1e061: 0x6c527020, 0x1e062: 0x6cc22620, 0x1e063: 0x6d13be20, + 0x1e064: 0x6d198c20, 0x1e065: 0x6c103220, 0x1e066: 0x6c41ce20, 0x1e067: 0x6d20cc20, + 0x1e068: 0x6c0c7020, 0x1e069: 0x6c141820, 0x1e06a: 0x6d147a20, 0x1e06b: 0x6cccc820, + 0x1e06c: 0x6c191e20, 0x1e06d: 0x6c3d5620, 0x1e06e: 0x6c4bbc20, 0x1e06f: 0x6c3b1e20, + 0x1e070: 0x6cd65220, 0x1e071: 0x6c6a8820, 0x1e072: 0x6ca32020, 0x1e073: 0x6d37aa20, + 0x1e074: 0x6c282e20, 0x1e075: 0x6d170c20, 0x1e076: 0x6d381e20, 0x1e077: 0x6d37b220, + 0x1e078: 0x6c6bd220, 0x1e079: 0x6d350820, 0x1e07a: 0x6d009820, 0x1e07b: 0x6cc46820, + 0x1e07c: 0x6d33ba20, 0x1e07d: 0x6cc5da20, 0x1e07e: 0x6cbd2620, 0x1e07f: 0x6c6c3820, + // Block 0x782, offset 0x1e080 + 0x1e080: 0x6c756220, 0x1e081: 0x6d255820, 0x1e082: 0x6c9a8620, 0x1e083: 0x6c149620, + 0x1e084: 0x6c02a220, 0x1e085: 0x6ca79820, 0x1e086: 0x6c5a9e20, 0x1e087: 0x6cc46a20, + 0x1e088: 0x6c635620, 0x1e089: 0x6ceb1020, 0x1e08a: 0x6c8e0e20, 0x1e08b: 0x6c276620, + 0x1e08c: 0x6c064a20, 0x1e08d: 0x6cad5620, 0x1e08e: 0x6d120020, 0x1e08f: 0x6d429420, + 0x1e090: 0x6c097020, 0x1e091: 0x6cced220, 0x1e092: 0x6ce05820, 0x1e093: 0x6c723620, + 0x1e094: 0x6c51c220, 0x1e095: 0x6d090220, 0x1e096: 0x6d053820, 0x1e097: 0x6d31d220, + 0x1e098: 0x6d14da20, 0x1e099: 0x6cabea20, 0x1e09a: 0x6c0e6420, 0x1e09b: 0x6c2b2220, + 0x1e09c: 0x6cec2a20, 0x1e09d: 0x6c3fd620, 0x1e09e: 0x6c4bc420, 0x1e09f: 0x6d35ca20, + 0x1e0a0: 0x6d360a20, 0x1e0a1: 0x6cc47220, 0x1e0a2: 0x6cacb420, 0x1e0a3: 0x6d174620, + 0x1e0a4: 0x6c997420, 0x1e0a5: 0x6ceaba20, 0x1e0a6: 0x6ca32e20, 0x1e0a7: 0x6c464420, + 0x1e0a8: 0x6d088220, 0x1e0a9: 0x6d304220, 0x1e0aa: 0x6cc0f420, 0x1e0ab: 0x6c070420, + 0x1e0ac: 0x6c4bc620, 0x1e0ad: 0x6cf77c20, 0x1e0ae: 0x6ca6ea20, 0x1e0af: 0x6c0ee020, + 0x1e0b0: 0x6c0e7220, 0x1e0b1: 0x6c40ac20, 0x1e0b2: 0x6c1bac20, 0x1e0b3: 0x6c1ba220, + 0x1e0b4: 0x6c7a9420, 0x1e0b5: 0x6cc5ea20, 0x1e0b6: 0x6c67e220, 0x1e0b7: 0x6c63ba20, + 0x1e0b8: 0x6c667e20, 0x1e0b9: 0x6c0efa20, 0x1e0ba: 0x6c6aba20, 0x1e0bb: 0x6c375420, + 0x1e0bc: 0x6c438620, 0x1e0bd: 0x6cc7a620, 0x1e0be: 0x6d39a020, 0x1e0bf: 0x6c4a6020, + // Block 0x783, offset 0x1e0c0 + 0x1e0c0: 0x6d19d020, 0x1e0c1: 0x6c111020, 0x1e0c2: 0x6c8b1020, 0x1e0c3: 0x6c762220, + 0x1e0c4: 0x6d044420, 0x1e0c5: 0x6d3c1c20, 0x1e0c6: 0x6c28fc20, 0x1e0c7: 0x6d05aa20, + 0x1e0c8: 0x6c7d5e20, 0x1e0c9: 0x6c791a20, 0x1e0ca: 0x6ca79e20, 0x1e0cb: 0x6cd5dc20, + 0x1e0cc: 0x6c63c420, 0x1e0cd: 0x6c7db020, 0x1e0ce: 0x6c1a1220, 0x1e0cf: 0x6c852220, + 0x1e0d0: 0x6c72f620, 0x1e0d1: 0x6ccff420, 0x1e0d2: 0x6cb3da20, 0x1e0d3: 0x6c43fa20, + 0x1e0d4: 0x6d180820, 0x1e0d5: 0x6d235620, 0x1e0d6: 0x6d31da20, 0x1e0d7: 0x6c8e6020, + 0x1e0d8: 0x6cc07e20, 0x1e0d9: 0x6cc44820, 0x1e0da: 0x6c622620, 0x1e0db: 0x6d180a20, + 0x1e0dc: 0x6c103e20, 0x1e0dd: 0x6d3c1e20, 0x1e0de: 0x6cd72420, 0x1e0df: 0x6ccc0420, + 0x1e0e0: 0x6cc44e20, 0x1e0e1: 0x6c87e220, 0x1e0e2: 0x6c880620, 0x1e0e3: 0x6c88c020, + 0x1e0e4: 0x6c7a9e20, 0x1e0e5: 0x6c659e20, 0x1e0e6: 0x6c3d1820, 0x1e0e7: 0x6c14d020, + 0x1e0e8: 0x6c09e020, 0x1e0e9: 0x6c7d7020, 0x1e0ea: 0x6ce22e20, 0x1e0eb: 0x6d262a20, + 0x1e0ec: 0x6c8d2220, 0x1e0ed: 0x6c1bb420, 0x1e0ee: 0x6c167420, 0x1e0ef: 0x6c1dc420, + 0x1e0f0: 0x6c343220, 0x1e0f1: 0x6c0c7420, 0x1e0f2: 0x6c899620, 0x1e0f3: 0x6cce5c20, + 0x1e0f4: 0x6cade020, 0x1e0f5: 0x6cade220, 0x1e0f6: 0x6c3a0e20, 0x1e0f7: 0x6d24fe20, + 0x1e0f8: 0x6c95b820, 0x1e0f9: 0x6c4cca20, 0x1e0fa: 0x6d0daa20, 0x1e0fb: 0x6c31aa20, + 0x1e0fc: 0x6ce40420, 0x1e0fd: 0x6d369a20, 0x1e0fe: 0x6c70ae20, 0x1e0ff: 0x6d15fa20, + // Block 0x784, offset 0x1e100 + 0x1e100: 0x6c622820, 0x1e101: 0x6d346c20, 0x1e102: 0x6c48ba20, 0x1e103: 0x6c791c20, + 0x1e104: 0x6cb81620, 0x1e105: 0x6ce40a20, 0x1e106: 0x6ce35820, 0x1e107: 0x6c402420, + 0x1e108: 0x6c1d1a20, 0x1e109: 0x6d01f020, 0x1e10a: 0x6c0b4820, 0x1e10b: 0x6c2ed820, + 0x1e10c: 0x6c7d7c20, 0x1e10d: 0x6c32a020, 0x1e10e: 0x6d054a20, 0x1e10f: 0x6d054c20, + 0x1e110: 0x6c51d620, 0x1e111: 0x6d262c20, 0x1e112: 0x6c05ba20, 0x1e113: 0x6c060620, + 0x1e114: 0x6c402620, 0x1e115: 0x6d217c20, 0x1e116: 0x6ce98c20, 0x1e117: 0x6d0dc420, + 0x1e118: 0x6c5adc20, 0x1e119: 0x6c074420, 0x1e11a: 0x6c1ee220, 0x1e11b: 0x6c93aa20, + 0x1e11c: 0x6cadaa20, 0x1e11d: 0x6c27ee20, 0x1e11e: 0x6d27f420, 0x1e11f: 0x6cddf820, + 0x1e120: 0x6c465c20, 0x1e121: 0x6c265c20, 0x1e122: 0x6c57ee20, 0x1e123: 0x6cc6aa20, + 0x1e124: 0x6d262e20, 0x1e125: 0x6cc82620, 0x1e126: 0x6ca3d420, 0x1e127: 0x6c6f3220, + 0x1e128: 0x6cdd8620, 0x1e129: 0x6c04a220, 0x1e12a: 0x6cea0a20, 0x1e12b: 0x6c1bbe20, + 0x1e12c: 0x6cca8a20, 0x1e12d: 0x6ca7ae20, 0x1e12e: 0x6d1bec20, 0x1e12f: 0x6c6bfa20, + 0x1e130: 0x6cb91e20, 0x1e131: 0x6c57f420, 0x1e132: 0x6c7aa820, 0x1e133: 0x6c884220, + 0x1e134: 0x6c7fae20, 0x1e135: 0x6c843420, 0x1e136: 0x6d30de20, 0x1e137: 0x6cd1fc20, + 0x1e138: 0x6c93b620, 0x1e139: 0x6d18b820, 0x1e13a: 0x6c2e5e20, 0x1e13b: 0x6d023220, + 0x1e13c: 0x6cfae020, 0x1e13d: 0x6cf0ea20, 0x1e13e: 0x6c0c7e20, 0x1e13f: 0x6c129620, + // Block 0x785, offset 0x1e140 + 0x1e140: 0x6c5f4620, 0x1e141: 0x6cbb4c20, 0x1e142: 0x6ccbb020, 0x1e143: 0x6c05bc20, + 0x1e144: 0x6cfd8c20, 0x1e145: 0x6c0ae420, 0x1e146: 0x6c3f0c20, 0x1e147: 0x6c65e620, + 0x1e148: 0x6d3bea20, 0x1e149: 0x6c65e820, 0x1e14a: 0x6c257020, 0x1e14b: 0x6c60c820, + 0x1e14c: 0x6c280620, 0x1e14d: 0x6d28d020, 0x1e14e: 0x6c38cc20, 0x1e14f: 0x6c0f7e20, + 0x1e150: 0x6cfe5a20, 0x1e151: 0x6d030420, 0x1e152: 0x6c0cf820, 0x1e153: 0x6cc52e20, + 0x1e154: 0x6c97ca20, 0x1e155: 0x6c7fc620, 0x1e156: 0x6c02b220, 0x1e157: 0x6d2b1620, + 0x1e158: 0x6c4b8e20, 0x1e159: 0x6c12bc20, 0x1e15a: 0x6cdc9220, 0x1e15b: 0x6ca9d620, + 0x1e15c: 0x6c14dc20, 0x1e15d: 0x6c88d220, 0x1e15e: 0x6c0aac20, 0x1e15f: 0x6c6c6a20, + 0x1e160: 0x6c291620, 0x1e161: 0x6cd58220, 0x1e162: 0x6ce08020, 0x1e163: 0x6c0aae20, + 0x1e164: 0x6c7fd820, 0x1e165: 0x6cb46e20, 0x1e166: 0x6cc7e020, 0x1e167: 0x6d355e20, + 0x1e168: 0x6c32ec20, 0x1e169: 0x6cd58620, 0x1e16a: 0x6cec4220, 0x1e16b: 0x6cd40020, + 0x1e16c: 0x6c042c20, 0x1e16d: 0x6d012020, 0x1e16e: 0x6c0fbe20, 0x1e16f: 0x6c194220, + 0x1e170: 0x6c7f7c20, 0x1e171: 0x6c8fee20, 0x1e172: 0x6cf7c420, 0x1e173: 0x6cfb0c20, + 0x1e174: 0x6c800220, 0x1e175: 0x6d30e220, 0x1e176: 0x6c27aa20, 0x1e177: 0x6c72d820, + 0x1e178: 0x6d29c620, 0x1e179: 0x6cd21c20, 0x1e17a: 0x6c663820, 0x1e17b: 0x6cacc620, + 0x1e17c: 0x6d196820, 0x1e17d: 0x6c809c20, 0x1e17e: 0x6d0b7020, 0x1e17f: 0x6cf94020, + // Block 0x786, offset 0x1e180 + 0x1e180: 0x6cf57420, 0x1e181: 0x6d11f820, 0x1e182: 0x6c3cc820, 0x1e183: 0x6cdfe620, + 0x1e184: 0x6c40b420, 0x1e185: 0x6c3d0620, 0x1e186: 0x6c407e20, 0x1e187: 0x6c03c820, + 0x1e188: 0x6c519620, 0x1e189: 0x6c5fa420, 0x1e18a: 0x6c5fb420, 0x1e18b: 0x6c665220, + 0x1e18c: 0x6c490820, 0x1e18d: 0x6c0b9020, 0x1e18e: 0x6d0e5620, 0x1e18f: 0x6c4a6220, + 0x1e190: 0x6c743020, 0x1e191: 0x6cb13a20, 0x1e192: 0x6c997620, 0x1e193: 0x6c9d4020, + 0x1e194: 0x6c9d4220, 0x1e195: 0x6c9ed620, 0x1e196: 0x6cd36c20, 0x1e197: 0x6cd8c420, + 0x1e198: 0x6c14cc20, 0x1e199: 0x6c954a20, 0x1e19a: 0x6c745a20, 0x1e19b: 0x6c9d6020, + 0x1e19c: 0x6ce5da20, 0x1e19d: 0x6c882620, 0x1e19e: 0x6d121820, 0x1e19f: 0x6d369c20, + 0x1e1a0: 0x6c757a20, 0x1e1a1: 0x6cf79620, 0x1e1a2: 0x6ccd5a20, 0x1e1a3: 0x6ceeb620, + 0x1e1a4: 0x6cf8d220, 0x1e1a5: 0x6ce51220, 0x1e1a6: 0x6d21a620, 0x1e1a7: 0x6c803e20, + 0x1e1a8: 0x6c36aa20, 0x1e1a9: 0x6c322a20, 0x1e1aa: 0x6cbd3e20, 0x1e1ab: 0x6cad2220, + 0x1e1ac: 0x6c62a220, 0x1e1ad: 0x6ca01e20, 0x1e1ae: 0x6d1caa20, 0x1e1af: 0x6c46dc20, + 0x1e1b0: 0x6cc15020, 0x1e1b1: 0x6d2e8c20, 0x1e1b2: 0x6c6d6c20, 0x1e1b3: 0x6c492c20, + 0x1e1b4: 0x6c2abc20, 0x1e1b5: 0x6c670420, 0x1e1b6: 0x6c956420, 0x1e1b7: 0x6cc28220, + 0x1e1b8: 0x6c652620, 0x1e1b9: 0x6cef6220, 0x1e1ba: 0x6c750220, 0x1e1bb: 0x6cc15c20, + 0x1e1bc: 0x6c956a20, 0x1e1bd: 0x6c805420, 0x1e1be: 0x6cd08a20, 0x1e1bf: 0x6c2bba20, + // Block 0x787, offset 0x1e1c0 + 0x1e1c0: 0x6c494420, 0x1e1c1: 0x6c664e20, 0x1e1c2: 0x6c490220, 0x1e1c3: 0x6d0e3e20, + 0x1e1c4: 0x6c4a3a20, 0x1e1c5: 0x6c9d2a20, 0x1e1c6: 0x6cd32020, 0x1e1c7: 0x6c14be20, + 0x1e1c8: 0x6c802020, 0x1e1c9: 0x6c740a20, 0x1e1ca: 0x6c61d620, 0x1e1cb: 0x6cf77e20, + 0x1e1cc: 0x6c2b6e20, 0x1e1cd: 0x6ce4fc20, 0x1e1ce: 0x6d216820, 0x1e1cf: 0x6c46cc20, + 0x1e1d0: 0x6c6d4620, 0x1e1d1: 0x6cc27220, 0x1e1d2: 0x6c68c620, 0x1e1d3: 0x6cc01820, + 0x1e1d4: 0x6c6c3a20, 0x1e1d5: 0x6c241220, 0x1e1d6: 0x6c743220, 0x1e1d7: 0x6d360c20, + 0x1e1d8: 0x6c17bc20, 0x1e1d9: 0x6c600a20, 0x1e1da: 0x6c471220, 0x1e1db: 0x6c289020, + 0x1e1dc: 0x6d3e5820, 0x1e1dd: 0x6c2bf820, 0x1e1de: 0x6cce0420, 0x1e1df: 0x6c57a020, + 0x1e1e0: 0x6cc30220, 0x1e1e1: 0x6c440c20, 0x1e1e2: 0x6cd3a020, 0x1e1e3: 0x6c6b9820, + 0x1e1e4: 0x6c4b0a20, 0x1e1e5: 0x6c459820, 0x1e1e6: 0x6c1f5c20, 0x1e1e7: 0x6c6b9a20, + 0x1e1e8: 0x6c5d3a20, 0x1e1e9: 0x6cc08420, 0x1e1ea: 0x6d039020, 0x1e1eb: 0x6cdaf220, + 0x1e1ec: 0x6ca60220, 0x1e1ed: 0x6c5f1e20, 0x1e1ee: 0x6c92b420, 0x1e1ef: 0x6d36c020, + 0x1e1f0: 0x6d2bfa20, 0x1e1f1: 0x6c0a5e20, 0x1e1f2: 0x6d03a620, 0x1e1f3: 0x6c55cc20, + 0x1e1f4: 0x6cce2220, 0x1e1f5: 0x6c45be20, 0x1e1f6: 0x6d374820, 0x1e1f7: 0x6d092820, + 0x1e1f8: 0x6c1f8a20, 0x1e1f9: 0x6cf71a20, 0x1e1fa: 0x6d159420, 0x1e1fb: 0x6c877e20, + 0x1e1fc: 0x6c750e20, 0x1e1fd: 0x6cf75020, 0x1e1fe: 0x6d0f0c20, 0x1e1ff: 0x6cf75e20, + // Block 0x788, offset 0x1e200 + 0x1e200: 0x6d0c5c20, 0x1e201: 0x6d0f3620, 0x1e202: 0x6c2f9a20, 0x1e203: 0x6c3fc620, + 0x1e204: 0x6cc01a20, 0x1e205: 0x6cc01c20, 0x1e206: 0x6c698a20, 0x1e207: 0x6c529c20, + 0x1e208: 0x6c61b820, 0x1e209: 0x6c384c20, 0x1e20a: 0x6d0a7e20, 0x1e20b: 0x6c2e1420, + 0x1e20c: 0x6c53b820, 0x1e20d: 0x6c149820, 0x1e20e: 0x6ce25c20, 0x1e20f: 0x6d058620, + 0x1e210: 0x6c6aaa20, 0x1e211: 0x6d14dc20, 0x1e212: 0x6cc5e020, 0x1e213: 0x6d0ac020, + 0x1e214: 0x6d1a4e20, 0x1e215: 0x6ccd7e20, 0x1e216: 0x6cb77020, 0x1e217: 0x6ceabc20, + 0x1e218: 0x6c61d820, 0x1e219: 0x6d0a8020, 0x1e21a: 0x6d1a5020, 0x1e21b: 0x6c356020, + 0x1e21c: 0x6c3b2c20, 0x1e21d: 0x6d0ba420, 0x1e21e: 0x6d109e20, 0x1e21f: 0x6cd98c20, + 0x1e220: 0x6cd06020, 0x1e221: 0x6d1a5e20, 0x1e222: 0x6d02ce20, 0x1e223: 0x6c743420, + 0x1e224: 0x6cff8620, 0x1e225: 0x6ca54e20, 0x1e226: 0x6c18c020, 0x1e227: 0x6d1f2e20, + 0x1e228: 0x6d352220, 0x1e229: 0x6d046820, 0x1e22a: 0x6c39d620, 0x1e22b: 0x6d033220, + 0x1e22c: 0x6c174020, 0x1e22d: 0x6ccf4420, 0x1e22e: 0x6cfaa220, 0x1e22f: 0x6cc94e20, + 0x1e230: 0x6d3ce220, 0x1e231: 0x6d063c20, 0x1e232: 0x6d177820, 0x1e233: 0x6d177a20, + 0x1e234: 0x6cdb7a20, 0x1e235: 0x6c1ab220, 0x1e236: 0x6c509e20, 0x1e237: 0x6ccff620, + 0x1e238: 0x6c512c20, 0x1e239: 0x6d06e620, 0x1e23a: 0x6d31de20, 0x1e23b: 0x6d3afa20, + 0x1e23c: 0x6d334e20, 0x1e23d: 0x6c46a820, 0x1e23e: 0x6d3e5c20, 0x1e23f: 0x6d3f1c20, + // Block 0x789, offset 0x1e240 + 0x1e240: 0x6d2d7820, 0x1e241: 0x6c479420, 0x1e242: 0x6c3ffe20, 0x1e243: 0x6c65a020, + 0x1e244: 0x6c2eb420, 0x1e245: 0x6c8d0a20, 0x1e246: 0x6c2bfa20, 0x1e247: 0x6d104e20, + 0x1e248: 0x6c861c20, 0x1e249: 0x6ca4b020, 0x1e24a: 0x6cacb820, 0x1e24b: 0x6d392e20, + 0x1e24c: 0x6c422220, 0x1e24d: 0x6d17c420, 0x1e24e: 0x6c724420, 0x1e24f: 0x6d120c20, + 0x1e250: 0x6d2cc820, 0x1e251: 0x6d150020, 0x1e252: 0x6d150220, 0x1e253: 0x6cc24a20, + 0x1e254: 0x6d2fb620, 0x1e255: 0x6cb2b220, 0x1e256: 0x6c09ac20, 0x1e257: 0x6d049620, + 0x1e258: 0x6cc11620, 0x1e259: 0x6c037c20, 0x1e25a: 0x6c26aa20, 0x1e25b: 0x6d411e20, + 0x1e25c: 0x6ce1cc20, 0x1e25d: 0x6d3a7220, 0x1e25e: 0x6c224820, 0x1e25f: 0x6d305e20, + 0x1e260: 0x6d1e3e20, 0x1e261: 0x6d064620, 0x1e262: 0x6d0a2020, 0x1e263: 0x6d180c20, + 0x1e264: 0x6c5a5620, 0x1e265: 0x6c514420, 0x1e266: 0x6cd3a220, 0x1e267: 0x6c13f020, + 0x1e268: 0x6cfff820, 0x1e269: 0x6cd1d820, 0x1e26a: 0x6c523e20, 0x1e26b: 0x6c144420, + 0x1e26c: 0x6c46ba20, 0x1e26d: 0x6c4b0c20, 0x1e26e: 0x6cc30420, 0x1e26f: 0x6c5bea20, + 0x1e270: 0x6c6afc20, 0x1e271: 0x6c57a220, 0x1e272: 0x6c40fc20, 0x1e273: 0x6cfdca20, + 0x1e274: 0x6ceea420, 0x1e275: 0x6ccffc20, 0x1e276: 0x6d393420, 0x1e277: 0x6ce75c20, + 0x1e278: 0x6c9c6220, 0x1e279: 0x6d2d8420, 0x1e27a: 0x6ca04620, 0x1e27b: 0x6c366420, + 0x1e27c: 0x6c5ace20, 0x1e27d: 0x6d0cb220, 0x1e27e: 0x6d046e20, 0x1e27f: 0x6c48bc20, + // Block 0x78a, offset 0x1e280 + 0x1e280: 0x6c37d220, 0x1e281: 0x6c0e2420, 0x1e282: 0x6ce5c420, 0x1e283: 0x6d152020, + 0x1e284: 0x6c82ca20, 0x1e285: 0x6d39b420, 0x1e286: 0x6c7ba420, 0x1e287: 0x6c7ac620, + 0x1e288: 0x6cf3dc20, 0x1e289: 0x6d238220, 0x1e28a: 0x6ce2a420, 0x1e28b: 0x6c625220, + 0x1e28c: 0x6d36a020, 0x1e28d: 0x6cc60220, 0x1e28e: 0x6c244e20, 0x1e28f: 0x6c810c20, + 0x1e290: 0x6c357a20, 0x1e291: 0x6c7bc620, 0x1e292: 0x6c370c20, 0x1e293: 0x6cd3b820, + 0x1e294: 0x6ce6d820, 0x1e295: 0x6c289620, 0x1e296: 0x6c074620, 0x1e297: 0x6c151020, + 0x1e298: 0x6d205620, 0x1e299: 0x6c794a20, 0x1e29a: 0x6cbc4e20, 0x1e29b: 0x6cbd3820, + 0x1e29c: 0x6cd65020, 0x1e29d: 0x6c014220, 0x1e29e: 0x6d227c20, 0x1e29f: 0x6cfffe20, + 0x1e2a0: 0x6c1a2220, 0x1e2a1: 0x6c6bf420, 0x1e2a2: 0x6cfcee20, 0x1e2a3: 0x6cf37a20, + 0x1e2a4: 0x6cf51020, 0x1e2a5: 0x6c435620, 0x1e2a6: 0x6cd99a20, 0x1e2a7: 0x6c101a20, + 0x1e2a8: 0x6c5c0420, 0x1e2a9: 0x6c6e9820, 0x1e2aa: 0x6cd76a20, 0x1e2ab: 0x6d325220, + 0x1e2ac: 0x6cd76c20, 0x1e2ad: 0x6c31ae20, 0x1e2ae: 0x6c57e420, 0x1e2af: 0x6c172420, + 0x1e2b0: 0x6cd6fe20, 0x1e2b1: 0x6c6b2820, 0x1e2b2: 0x6c78d420, 0x1e2b3: 0x6cc13a20, + 0x1e2b4: 0x6c23ac20, 0x1e2b5: 0x6cff9820, 0x1e2b6: 0x6cdc6420, 0x1e2b7: 0x6cee3620, + 0x1e2b8: 0x6cfb8620, 0x1e2b9: 0x6c3a6c20, 0x1e2ba: 0x6c1ad220, 0x1e2bb: 0x6cde9220, + 0x1e2bc: 0x6d186620, 0x1e2bd: 0x6ca6c220, 0x1e2be: 0x6d1a9a20, 0x1e2bf: 0x6c2e3820, + // Block 0x78b, offset 0x1e2c0 + 0x1e2c0: 0x6cb06820, 0x1e2c1: 0x6d3d8c20, 0x1e2c2: 0x6c15de20, 0x1e2c3: 0x6c188420, + 0x1e2c4: 0x6d3cd620, 0x1e2c5: 0x6c626a20, 0x1e2c6: 0x6cb52820, 0x1e2c7: 0x6ce00820, + 0x1e2c8: 0x6d3ca420, 0x1e2c9: 0x6cf00c20, 0x1e2ca: 0x6c714c20, 0x1e2cb: 0x6cbeb220, + 0x1e2cc: 0x6c303c20, 0x1e2cd: 0x6d335420, 0x1e2ce: 0x6d2af220, 0x1e2cf: 0x6d406020, + 0x1e2d0: 0x6cb91620, 0x1e2d1: 0x6d3d8e20, 0x1e2d2: 0x6c89c820, 0x1e2d3: 0x6c66c020, + 0x1e2d4: 0x6c1f6e20, 0x1e2d5: 0x6c4fe420, 0x1e2d6: 0x6c952620, 0x1e2d7: 0x6cd06e20, + 0x1e2d8: 0x6c0c7820, 0x1e2d9: 0x6c581220, 0x1e2da: 0x6cb12620, 0x1e2db: 0x6d219420, + 0x1e2dc: 0x6c2eea20, 0x1e2dd: 0x6d05e820, 0x1e2de: 0x6cb14220, 0x1e2df: 0x6cd3de20, + 0x1e2e0: 0x6d07d220, 0x1e2e1: 0x6cd3e020, 0x1e2e2: 0x6c5d4220, 0x1e2e3: 0x6c57c020, + 0x1e2e4: 0x6c36ac20, 0x1e2e5: 0x6d384020, 0x1e2e6: 0x6c2c9c20, 0x1e2e7: 0x6d00f220, + 0x1e2e8: 0x6c3ef620, 0x1e2e9: 0x6cb49420, 0x1e2ea: 0x6ce69020, 0x1e2eb: 0x6c66d620, + 0x1e2ec: 0x6cb71e20, 0x1e2ed: 0x6d23f620, 0x1e2ee: 0x6d3e9020, 0x1e2ef: 0x6d3b9420, + 0x1e2f0: 0x6cf81420, 0x1e2f1: 0x6c5c4220, 0x1e2f2: 0x6d1a0220, 0x1e2f3: 0x6c015020, + 0x1e2f4: 0x6cfb9e20, 0x1e2f5: 0x6ca40e20, 0x1e2f6: 0x6c18ec20, 0x1e2f7: 0x6c3cce20, + 0x1e2f8: 0x6d39c620, 0x1e2f9: 0x6d0fd820, 0x1e2fa: 0x6d0ec420, 0x1e2fb: 0x6c5a0020, + 0x1e2fc: 0x6d07d420, 0x1e2fd: 0x6c443a20, 0x1e2fe: 0x6cab0e20, 0x1e2ff: 0x6cb53220, + // Block 0x78c, offset 0x1e300 + 0x1e300: 0x6ca1e820, 0x1e301: 0x6d134620, 0x1e302: 0x6cf0d620, 0x1e303: 0x6d044620, + 0x1e304: 0x6ce2ba20, 0x1e305: 0x6d38b620, 0x1e306: 0x6ccdc020, 0x1e307: 0x6c65ec20, + 0x1e308: 0x6cb33a20, 0x1e309: 0x6c7d2220, 0x1e30a: 0x6c5a6420, 0x1e30b: 0x6c5e0c20, + 0x1e30c: 0x6c43b620, 0x1e30d: 0x6d1cac20, 0x1e30e: 0x6c9c7420, 0x1e30f: 0x6cffc020, + 0x1e310: 0x6c9d9820, 0x1e311: 0x6cf81a20, 0x1e312: 0x6cbae220, 0x1e313: 0x6c188c20, + 0x1e314: 0x6d097220, 0x1e315: 0x6ce38820, 0x1e316: 0x6cdb4a20, 0x1e317: 0x6c059420, + 0x1e318: 0x6c1b5a20, 0x1e319: 0x6cb92820, 0x1e31a: 0x6cd3ea20, 0x1e31b: 0x6c67c820, + 0x1e31c: 0x6d25b620, 0x1e31d: 0x6d023620, 0x1e31e: 0x6c51f620, 0x1e31f: 0x6ce1f220, + 0x1e320: 0x6d115020, 0x1e321: 0x6d115220, 0x1e322: 0x6d378020, 0x1e323: 0x6d21c820, + 0x1e324: 0x6c0c4020, 0x1e325: 0x6c23e020, 0x1e326: 0x6cbee620, 0x1e327: 0x6c846420, + 0x1e328: 0x6ca08020, 0x1e329: 0x6ca17620, 0x1e32a: 0x6cce2420, 0x1e32b: 0x6d30b020, + 0x1e32c: 0x6ca05420, 0x1e32d: 0x6c660420, 0x1e32e: 0x6d2b1820, 0x1e32f: 0x6c6a3a20, + 0x1e330: 0x6c886e20, 0x1e331: 0x6c90c620, 0x1e332: 0x6c121020, 0x1e333: 0x6cab5e20, + 0x1e334: 0x6c4c0620, 0x1e335: 0x6cf7ae20, 0x1e336: 0x6d3dc020, 0x1e337: 0x6c027a20, + 0x1e338: 0x6c027c20, 0x1e339: 0x6c6cc220, 0x1e33a: 0x6d30b220, 0x1e33b: 0x6d158620, + 0x1e33c: 0x6c551220, 0x1e33d: 0x6c680e20, 0x1e33e: 0x6c978e20, 0x1e33f: 0x6c178a20, + // Block 0x78d, offset 0x1e340 + 0x1e340: 0x6c4f2620, 0x1e341: 0x6c576020, 0x1e342: 0x6c160020, 0x1e343: 0x6d060020, + 0x1e344: 0x6d2ba420, 0x1e345: 0x6ccb9220, 0x1e346: 0x6cf71c20, 0x1e347: 0x6d2c0420, + 0x1e348: 0x6c337a20, 0x1e349: 0x6d336c20, 0x1e34a: 0x6ca4ce20, 0x1e34b: 0x6c7fda20, + 0x1e34c: 0x6c359820, 0x1e34d: 0x6d1c2620, 0x1e34e: 0x6c74ee20, 0x1e34f: 0x6c5f8220, + 0x1e350: 0x6d421220, 0x1e351: 0x6c696020, 0x1e352: 0x6c0ffc20, 0x1e353: 0x6c5c8620, + 0x1e354: 0x6d3bf420, 0x1e355: 0x6cf40820, 0x1e356: 0x6d2b7a20, 0x1e357: 0x6d2c6220, + 0x1e358: 0x6cd42220, 0x1e359: 0x6cbc6c20, 0x1e35a: 0x6ce03620, 0x1e35b: 0x6d2b7c20, + 0x1e35c: 0x6cb4a020, 0x1e35d: 0x6cd12820, 0x1e35e: 0x6d07ee20, 0x1e35f: 0x6d2a9820, + 0x1e360: 0x6ce04020, 0x1e361: 0x6c293620, 0x1e362: 0x6cdcac20, 0x1e363: 0x6cfc4e20, + 0x1e364: 0x6c5f8c20, 0x1e365: 0x6c69d820, 0x1e366: 0x6c6e3c20, 0x1e367: 0x6d2e9820, + 0x1e368: 0x6ca45c20, 0x1e369: 0x6d143220, 0x1e36a: 0x6c010420, 0x1e36b: 0x6d2dbc20, + 0x1e36c: 0x6cb0d820, 0x1e36d: 0x6c5b7e20, 0x1e36e: 0x6c57d420, 0x1e36f: 0x6d193220, + 0x1e370: 0x6d193420, 0x1e371: 0x6ccdd620, 0x1e372: 0x6cc51c20, 0x1e373: 0x6caa3220, + 0x1e374: 0x6cba3220, 0x1e375: 0x6d3cbe20, 0x1e376: 0x6cdee420, 0x1e377: 0x6c56e020, + 0x1e378: 0x6d38c420, 0x1e379: 0x6c500420, 0x1e37a: 0x6c010620, 0x1e37b: 0x6d1c3420, + 0x1e37c: 0x6c671a20, 0x1e37d: 0x6d246620, 0x1e37e: 0x6c662c20, 0x1e37f: 0x6c5c9c20, + // Block 0x78e, offset 0x1e380 + 0x1e380: 0x6c31f020, 0x1e381: 0x6d30bc20, 0x1e382: 0x6d08d020, 0x1e383: 0x6d29bc20, + 0x1e384: 0x6c830c20, 0x1e385: 0x6cd08c20, 0x1e386: 0x6cf12220, 0x1e387: 0x6c161a20, + 0x1e388: 0x6c879020, 0x1e389: 0x6d159a20, 0x1e38a: 0x6c0bdc20, 0x1e38b: 0x6d30c820, + 0x1e38c: 0x6d0f0e20, 0x1e38d: 0x6c36f220, 0x1e38e: 0x6c1e0e20, 0x1e38f: 0x6cf12a20, + 0x1e390: 0x6c1e1020, 0x1e391: 0x6d125620, 0x1e392: 0x6c157c20, 0x1e393: 0x6cc51e20, + 0x1e394: 0x6d1b2c20, 0x1e395: 0x6c801020, 0x1e396: 0x6c194820, 0x1e397: 0x6d013820, + 0x1e398: 0x6ca8cc20, 0x1e399: 0x6c584c20, 0x1e39a: 0x6d29ca20, 0x1e39b: 0x6d197c20, + 0x1e39c: 0x6c294a20, 0x1e39d: 0x6d2dda20, 0x1e39e: 0x6d0f2a20, 0x1e39f: 0x6c321020, + 0x1e3a0: 0x6d0c5020, 0x1e3a1: 0x6c616e20, 0x1e3a2: 0x6c2f8c20, 0x1e3a3: 0x6c3fa220, + 0x1e3a4: 0x6cc5a420, 0x1e3a5: 0x6c5e6620, 0x1e3a6: 0x6c6a5c20, 0x1e3a7: 0x6c53b420, + 0x1e3a8: 0x6ce25820, 0x1e3a9: 0x6cc51820, 0x1e3aa: 0x6ccd6620, 0x1e3ab: 0x6cb72820, + 0x1e3ac: 0x6cea9420, 0x1e3ad: 0x6d0abe20, 0x1e3ae: 0x6d164e20, 0x1e3af: 0x6d0a6220, + 0x1e3b0: 0x6c617020, 0x1e3b1: 0x6cc5aa20, 0x1e3b2: 0x6c679c20, 0x1e3b3: 0x6c5b8c20, + 0x1e3b4: 0x6cab2c20, 0x1e3b5: 0x6c71f420, 0x1e3b6: 0x6d0b7220, 0x1e3b7: 0x6ca54220, + 0x1e3b8: 0x6d062420, 0x1e3b9: 0x6c354620, 0x1e3ba: 0x6c952020, 0x1e3bb: 0x6d045220, + 0x1e3bc: 0x6cd97c20, 0x1e3bd: 0x6c3cc420, 0x1e3be: 0x6ccf3220, 0x1e3bf: 0x6c39b820, + // Block 0x78f, offset 0x1e3c0 + 0x1e3c0: 0x6c73d620, 0x1e3c1: 0x6d333a20, 0x1e3c2: 0x6c475a20, 0x1e3c3: 0x6c508a20, + 0x1e3c4: 0x6cb27020, 0x1e3c5: 0x6d410820, 0x1e3c6: 0x6cd40e20, 0x1e3c7: 0x6d048620, + 0x1e3c8: 0x6d2caa20, 0x1e3c9: 0x6cdb7820, 0x1e3ca: 0x6d31b420, 0x1e3cb: 0x6c2bce20, + 0x1e3cc: 0x6d385420, 0x1e3cd: 0x6c221e20, 0x1e3ce: 0x6cc0d420, 0x1e3cf: 0x6d2f9820, + 0x1e3d0: 0x6c092020, 0x1e3d1: 0x6d169c20, 0x1e3d2: 0x6d146620, 0x1e3d3: 0x6c7b8620, + 0x1e3d4: 0x6c82b620, 0x1e3d5: 0x6cd32220, 0x1e3d6: 0x6c48aa20, 0x1e3d7: 0x6cd19c20, + 0x1e3d8: 0x6c5fe420, 0x1e3d9: 0x6c5a8c20, 0x1e3da: 0x6c19c020, 0x1e3db: 0x6d398420, + 0x1e3dc: 0x6ccfb420, 0x1e3dd: 0x6c578620, 0x1e3de: 0x6c286c20, 0x1e3df: 0x6c469620, + 0x1e3e0: 0x6cc2ba20, 0x1e3e1: 0x6c4aca20, 0x1e3e2: 0x6d09e020, 0x1e3e3: 0x6d16d220, + 0x1e3e4: 0x6d328e20, 0x1e3e5: 0x6c40de20, 0x1e3e6: 0x6cfdb020, 0x1e3e7: 0x6c143220, + 0x1e3e8: 0x6c5d1a20, 0x1e3e9: 0x6d062e20, 0x1e3ea: 0x6d386220, 0x1e3eb: 0x6c6bd420, + 0x1e3ec: 0x6cf35c20, 0x1e3ed: 0x6d223020, 0x1e3ee: 0x6cbc3220, 0x1e3ef: 0x6cf4ce20, + 0x1e3f0: 0x6c433c20, 0x1e3f1: 0x6d203220, 0x1e3f2: 0x6c5ba420, 0x1e3f3: 0x6c7bbc20, + 0x1e3f4: 0x6cd76620, 0x1e3f5: 0x6cd98220, 0x1e3f6: 0x6c370a20, 0x1e3f7: 0x6cbea220, + 0x1e3f8: 0x6d399620, 0x1e3f9: 0x6d404a20, 0x1e3fa: 0x6caae620, 0x1e3fb: 0x6c319420, + 0x1e3fc: 0x6d3d3e20, 0x1e3fd: 0x6c3a4e20, 0x1e3fe: 0x6c789c20, 0x1e3ff: 0x6cefa620, + // Block 0x790, offset 0x1e400 + 0x1e400: 0x6d20f820, 0x1e401: 0x6cd6fa20, 0x1e402: 0x6cd05420, 0x1e403: 0x6c2e1620, + 0x1e404: 0x6c15a220, 0x1e405: 0x6c89b020, 0x1e406: 0x6d3cd020, 0x1e407: 0x6cdc3220, + 0x1e408: 0x6cdfd620, 0x1e409: 0x6cd05620, 0x1e40a: 0x6d174820, 0x1e40b: 0x6ca1d020, + 0x1e40c: 0x6c18c220, 0x1e40d: 0x6c2e9620, 0x1e40e: 0x6c5a5220, 0x1e40f: 0x6c668220, + 0x1e410: 0x6d00a620, 0x1e411: 0x6d095a20, 0x1e412: 0x6d12ea20, 0x1e413: 0x6cf08820, + 0x1e414: 0x6c361a20, 0x1e415: 0x6d232420, 0x1e416: 0x6d078e20, 0x1e417: 0x6c14f020, + 0x1e418: 0x6d3e2c20, 0x1e419: 0x6c012c20, 0x1e41a: 0x6d0e6620, 0x1e41b: 0x6c2c5020, + 0x1e41c: 0x6c9c4e20, 0x1e41d: 0x6cb13c20, 0x1e41e: 0x6d059020, 0x1e41f: 0x6ca05820, + 0x1e420: 0x6c292e20, 0x1e421: 0x6cdab820, 0x1e422: 0x6d01b620, 0x1e423: 0x6d10fe20, + 0x1e424: 0x6c057420, 0x1e425: 0x6cd38c20, 0x1e426: 0x6cb8e420, 0x1e427: 0x6c9d4c20, + 0x1e428: 0x6c6c9820, 0x1e429: 0x6c976820, 0x1e42a: 0x6d306620, 0x1e42b: 0x6c65b620, + 0x1e42c: 0x6ca05220, 0x1e42d: 0x6cdff420, 0x1e42e: 0x6d2b7820, 0x1e42f: 0x6cbbe420, + 0x1e430: 0x6c7fa820, 0x1e431: 0x6cb49020, 0x1e432: 0x6c748620, 0x1e433: 0x6d0ea820, + 0x1e434: 0x6cba1e20, 0x1e435: 0x6d2d9020, 0x1e436: 0x6c193c20, 0x1e437: 0x6c475c20, + 0x1e438: 0x6cb8cc20, 0x1e439: 0x6c534020, 0x1e43a: 0x6cf96420, 0x1e43b: 0x6c602420, + 0x1e43c: 0x6c536820, 0x1e43d: 0x6c4db220, 0x1e43e: 0x6c52c020, 0x1e43f: 0x6cf6f420, + // Block 0x791, offset 0x1e440 + 0x1e440: 0x6cf6f620, 0x1e441: 0x6c5d6220, 0x1e442: 0x6c8a3e20, 0x1e443: 0x6c4e6a20, + 0x1e444: 0x6c31f220, 0x1e445: 0x6c900420, 0x1e446: 0x6c30fa20, 0x1e447: 0x6c675a20, + 0x1e448: 0x6cb6e820, 0x1e449: 0x6cd37220, 0x1e44a: 0x6c852420, 0x1e44b: 0x6c2a9e20, + 0x1e44c: 0x6cec9a20, 0x1e44d: 0x6c088a20, 0x1e44e: 0x6cd60820, 0x1e44f: 0x6cfd1c20, + 0x1e450: 0x6c3c7020, 0x1e451: 0x6d375a20, 0x1e452: 0x6d377620, 0x1e453: 0x6d0f2c20, + 0x1e454: 0x6d0f3020, 0x1e455: 0x6cd2b020, 0x1e456: 0x6c1f1620, 0x1e457: 0x6c5aae20, + 0x1e458: 0x6cea4e20, 0x1e459: 0x6d177c20, 0x1e45a: 0x6cea5020, 0x1e45b: 0x6d177e20, + 0x1e45c: 0x6c649020, 0x1e45d: 0x6c034a20, 0x1e45e: 0x6c547220, 0x1e45f: 0x6c364820, + 0x1e460: 0x6c1e8420, 0x1e461: 0x6cfe3020, 0x1e462: 0x6c593e20, 0x1e463: 0x6c64c220, + 0x1e464: 0x6c790420, 0x1e465: 0x6c40fe20, 0x1e466: 0x6c725a20, 0x1e467: 0x6c3d8a20, + 0x1e468: 0x6cf68420, 0x1e469: 0x6c0d4820, 0x1e46a: 0x6c4fd620, 0x1e46b: 0x6d23ce20, + 0x1e46c: 0x6d39c820, 0x1e46d: 0x6c638420, 0x1e46e: 0x6c3b9a20, 0x1e46f: 0x6cf6f820, + 0x1e470: 0x6c0f8020, 0x1e471: 0x6cf16620, 0x1e472: 0x6c58aa20, 0x1e473: 0x6c0d5820, + 0x1e474: 0x6c2ba620, 0x1e475: 0x6d3fce20, 0x1e476: 0x6c3ba620, 0x1e477: 0x6d191c20, + 0x1e478: 0x6d357c20, 0x1e479: 0x6c064020, 0x1e47a: 0x6c147820, 0x1e47b: 0x6c01b420, + 0x1e47c: 0x6cafe620, 0x1e47d: 0x6ca33c20, 0x1e47e: 0x6caf6620, 0x1e47f: 0x6c468a20, + // Block 0x792, offset 0x1e480 + 0x1e480: 0x6ca34620, 0x1e481: 0x6d204820, 0x1e482: 0x6c2dcc20, 0x1e483: 0x6ca11e20, + 0x1e484: 0x6cd8ce20, 0x1e485: 0x6d04dc20, 0x1e486: 0x6c588420, 0x1e487: 0x6c7d7220, + 0x1e488: 0x6c514820, 0x1e489: 0x6c4fce20, 0x1e48a: 0x6ca13220, 0x1e48b: 0x6c4ef020, + 0x1e48c: 0x6c99a420, 0x1e48d: 0x6c842220, 0x1e48e: 0x6ca60420, 0x1e48f: 0x6c08f420, + 0x1e490: 0x6d229620, 0x1e491: 0x6c638620, 0x1e492: 0x6ce93a20, 0x1e493: 0x6c98be20, + 0x1e494: 0x6cb02620, 0x1e495: 0x6cf6fa20, 0x1e496: 0x6c36b820, 0x1e497: 0x6c72ae20, + 0x1e498: 0x6ca17820, 0x1e499: 0x6c1e6a20, 0x1e49a: 0x6ce03820, 0x1e49b: 0x6c584e20, + 0x1e49c: 0x6c753620, 0x1e49d: 0x6c06dc20, 0x1e49e: 0x6d313220, 0x1e49f: 0x6d254a20, + 0x1e4a0: 0x6c3fc820, 0x1e4a1: 0x6c110e20, 0x1e4a2: 0x6c461420, 0x1e4a3: 0x6ce27220, + 0x1e4a4: 0x6d14de20, 0x1e4a5: 0x6c4f7820, 0x1e4a6: 0x6ced8020, 0x1e4a7: 0x6cb20a20, + 0x1e4a8: 0x6c5dc820, 0x1e4a9: 0x6c395020, 0x1e4aa: 0x6cdfa620, 0x1e4ab: 0x6c498620, + 0x1e4ac: 0x6d2ac820, 0x1e4ad: 0x6d345e20, 0x1e4ae: 0x6c37cc20, 0x1e4af: 0x6d3afe20, + 0x1e4b0: 0x6cd38e20, 0x1e4b1: 0x6c09ae20, 0x1e4b2: 0x6d3e5e20, 0x1e4b3: 0x6c37d020, + 0x1e4b4: 0x6c4b4e20, 0x1e4b5: 0x6cb14020, 0x1e4b6: 0x6c0b3a20, 0x1e4b7: 0x6c971420, + 0x1e4b8: 0x6c277220, 0x1e4b9: 0x6cd16820, 0x1e4ba: 0x6c7bf820, 0x1e4bb: 0x6c3ab220, + 0x1e4bc: 0x6ce5f420, 0x1e4bd: 0x6d150620, 0x1e4be: 0x6c1b2a20, 0x1e4bf: 0x6c998620, + // Block 0x793, offset 0x1e4c0 + 0x1e4c0: 0x6c51c820, 0x1e4c1: 0x6c09b020, 0x1e4c2: 0x6c927420, 0x1e4c3: 0x6c8c5420, + 0x1e4c4: 0x6c5bec20, 0x1e4c5: 0x6c410020, 0x1e4c6: 0x6cb11a20, 0x1e4c7: 0x6d3e6020, + 0x1e4c8: 0x6c642020, 0x1e4c9: 0x6d070420, 0x1e4ca: 0x6d2b6020, 0x1e4cb: 0x6c691020, + 0x1e4cc: 0x6c414a20, 0x1e4cd: 0x6d29dc20, 0x1e4ce: 0x6c669e20, 0x1e4cf: 0x6d1be220, + 0x1e4d0: 0x6d0a9c20, 0x1e4d1: 0x6d325420, 0x1e4d2: 0x6ccef820, 0x1e4d3: 0x6c0d4a20, + 0x1e4d4: 0x6c0d4c20, 0x1e4d5: 0x6cc08620, 0x1e4d6: 0x6ccefa20, 0x1e4d7: 0x6c203c20, + 0x1e4d8: 0x6d29e620, 0x1e4d9: 0x6d38a220, 0x1e4da: 0x6c7f5220, 0x1e4db: 0x6d299820, + 0x1e4dc: 0x6c22e020, 0x1e4dd: 0x6c188620, 0x1e4de: 0x6cce3a20, 0x1e4df: 0x6ce51620, + 0x1e4e0: 0x6cadee20, 0x1e4e1: 0x6c44de20, 0x1e4e2: 0x6cfb8820, 0x1e4e3: 0x6c974020, + 0x1e4e4: 0x6c66c220, 0x1e4e5: 0x6cdc6820, 0x1e4e6: 0x6c404420, 0x1e4e7: 0x6ce0aa20, + 0x1e4e8: 0x6c23ae20, 0x1e4e9: 0x6c23b020, 0x1e4ea: 0x6d36c620, 0x1e4eb: 0x6c5f2220, + 0x1e4ec: 0x6d2f3e20, 0x1e4ed: 0x6c322c20, 0x1e4ee: 0x6c6d5420, 0x1e4ef: 0x6d047420, + 0x1e4f0: 0x6c218820, 0x1e4f1: 0x6d280420, 0x1e4f2: 0x6c061420, 0x1e4f3: 0x6d290c20, + 0x1e4f4: 0x6c7f5820, 0x1e4f5: 0x6c3cf820, 0x1e4f6: 0x6c125c20, 0x1e4f7: 0x6c5f6020, + 0x1e4f8: 0x6cd17e20, 0x1e4f9: 0x6d18da20, 0x1e4fa: 0x6d3bec20, 0x1e4fb: 0x6c406820, + 0x1e4fc: 0x6c46de20, 0x1e4fd: 0x6cc9ea20, 0x1e4fe: 0x6d2b1a20, 0x1e4ff: 0x6c8a4020, + // Block 0x794, offset 0x1e500 + 0x1e500: 0x6d18f820, 0x1e501: 0x6c045e20, 0x1e502: 0x6c191620, 0x1e503: 0x6ceda620, + 0x1e504: 0x6d373220, 0x1e505: 0x6d3cb620, 0x1e506: 0x6c0c4620, 0x1e507: 0x6d276e20, + 0x1e508: 0x6d2bb620, 0x1e509: 0x6c28e020, 0x1e50a: 0x6d29ae20, 0x1e50b: 0x6d0eec20, + 0x1e50c: 0x6cb4c420, 0x1e50d: 0x6ccdd820, 0x1e50e: 0x6cedac20, 0x1e50f: 0x6d1cca20, + 0x1e510: 0x6c6d7220, 0x1e511: 0x6c423c20, 0x1e512: 0x6cfbd420, 0x1e513: 0x6d29f020, + 0x1e514: 0x6c0ac620, 0x1e515: 0x6c31f420, 0x1e516: 0x6cd54820, 0x1e517: 0x6d0f0620, + 0x1e518: 0x6cce4220, 0x1e519: 0x6d08d420, 0x1e51a: 0x6c907020, 0x1e51b: 0x6c424420, + 0x1e51c: 0x6d29f420, 0x1e51d: 0x6c06d220, 0x1e51e: 0x6d311c20, 0x1e51f: 0x6c3fa820, + 0x1e520: 0x6d253420, 0x1e521: 0x6c460c20, 0x1e522: 0x6c110c20, 0x1e523: 0x6d2aae20, + 0x1e524: 0x6cfb2e20, 0x1e525: 0x6c043820, 0x1e526: 0x6d2f2a20, 0x1e527: 0x6c5da220, + 0x1e528: 0x6d358e20, 0x1e529: 0x6c393420, 0x1e52a: 0x6cdf9220, 0x1e52b: 0x6cb20620, + 0x1e52c: 0x6c0b2a20, 0x1e52d: 0x6c469820, 0x1e52e: 0x6d3ab420, 0x1e52f: 0x6c497a20, + 0x1e530: 0x6c37c420, 0x1e531: 0x6c666220, 0x1e532: 0x6c078220, 0x1e533: 0x6cd34820, + 0x1e534: 0x6ce5ec20, 0x1e535: 0x6c4b3a20, 0x1e536: 0x6c7bec20, 0x1e537: 0x6c274e20, + 0x1e538: 0x6c995a20, 0x1e539: 0x6c3a9220, 0x1e53a: 0x6c51be20, 0x1e53b: 0x6d14b020, + 0x1e53c: 0x6d2b5c20, 0x1e53d: 0x6d35ce20, 0x1e53e: 0x6c640e20, 0x1e53f: 0x6c5bb020, + // Block 0x795, offset 0x1e540 + 0x1e540: 0x6d3e1e20, 0x1e541: 0x6c8c5020, 0x1e542: 0x6c922c20, 0x1e543: 0x6d29d820, + 0x1e544: 0x6d3e2020, 0x1e545: 0x6c40f020, 0x1e546: 0x6c6cfa20, 0x1e547: 0x6cc05220, + 0x1e548: 0x6d323c20, 0x1e549: 0x6c7f4620, 0x1e54a: 0x6ccef020, 0x1e54b: 0x6c400020, + 0x1e54c: 0x6c322020, 0x1e54d: 0x6c5edc20, 0x1e54e: 0x6cd52c20, 0x1e54f: 0x6cce3820, + 0x1e550: 0x6c22ce20, 0x1e551: 0x6c09b220, 0x1e552: 0x6d388c20, 0x1e553: 0x6c44d420, + 0x1e554: 0x6cadda20, 0x1e555: 0x6c283620, 0x1e556: 0x6c7f4c20, 0x1e557: 0x6c3ce820, + 0x1e558: 0x6d3c9e20, 0x1e559: 0x6c402820, 0x1e55a: 0x6d3bd620, 0x1e55b: 0x6cc9e620, + 0x1e55c: 0x6d2af420, 0x1e55d: 0x6d0ec820, 0x1e55e: 0x6d299a20, 0x1e55f: 0x6d276820, + 0x1e560: 0x6d2bb220, 0x1e561: 0x6ccdc220, 0x1e562: 0x6d1cae20, 0x1e563: 0x6c423e20, + 0x1e564: 0x6c1be820, 0x1e565: 0x6cf60220, 0x1e566: 0x6ccf4620, 0x1e567: 0x6ca42420, + 0x1e568: 0x6ce75e20, 0x1e569: 0x6cf8a820, 0x1e56a: 0x6c197620, 0x1e56b: 0x6c51dc20, + 0x1e56c: 0x6c199620, 0x1e56d: 0x6d30dc20, 0x1e56e: 0x6cf9f620, 0x1e56f: 0x6ce14620, + 0x1e570: 0x6d407e20, 0x1e571: 0x6d407c20, 0x1e572: 0x6c85b620, 0x1e573: 0x6c6f6020, + 0x1e574: 0x6c3fca20, 0x1e575: 0x6d2fa620, 0x1e576: 0x6c41d220, 0x1e577: 0x6cb6ea20, + 0x1e578: 0x6ccd8020, 0x1e579: 0x6cbf1c20, 0x1e57a: 0x6d1adc20, 0x1e57b: 0x6cfc0c20, + 0x1e57c: 0x6c21fe20, 0x1e57d: 0x6c743620, 0x1e57e: 0x6cbdd420, 0x1e57f: 0x6c1b2020, + // Block 0x796, offset 0x1e580 + 0x1e580: 0x6c220020, 0x1e581: 0x6c192820, 0x1e582: 0x6c192a20, 0x1e583: 0x6c2eb620, + 0x1e584: 0x6c70a020, 0x1e585: 0x6c174820, 0x1e586: 0x6c2b3020, 0x1e587: 0x6cf89620, + 0x1e588: 0x6d2d7a20, 0x1e589: 0x6c745c20, 0x1e58a: 0x6d26be20, 0x1e58b: 0x6cc11820, + 0x1e58c: 0x6c606220, 0x1e58d: 0x6c1b3e20, 0x1e58e: 0x6c1e9420, 0x1e58f: 0x6c486420, + 0x1e590: 0x6d096820, 0x1e591: 0x6d3e6220, 0x1e592: 0x6ce59420, 0x1e593: 0x6c349c20, + 0x1e594: 0x6c8b1c20, 0x1e595: 0x6c41e220, 0x1e596: 0x6cdd3220, 0x1e597: 0x6c245020, + 0x1e598: 0x6cf79820, 0x1e599: 0x6d2fd220, 0x1e59a: 0x6cdaf420, 0x1e59b: 0x6d1b0020, + 0x1e59c: 0x6c715020, 0x1e59d: 0x6c66c420, 0x1e59e: 0x6cc3f420, 0x1e59f: 0x6ce1a020, + 0x1e5a0: 0x6c21d020, 0x1e5a1: 0x6c250420, 0x1e5a2: 0x6c92b820, 0x1e5a3: 0x6cc27420, + 0x1e5a4: 0x6c298c20, 0x1e5a5: 0x6cbfc820, 0x1e5a6: 0x6d3e9220, 0x1e5a7: 0x6ce37e20, + 0x1e5a8: 0x6cc14a20, 0x1e5a9: 0x6c1c8820, 0x1e5aa: 0x6c5a1e20, 0x1e5ab: 0x6cbc0a20, + 0x1e5ac: 0x6cbbc220, 0x1e5ad: 0x6c69ce20, 0x1e5ae: 0x6d2a9a20, 0x1e5af: 0x6ce44220, + 0x1e5b0: 0x6c37b020, 0x1e5b1: 0x6d298420, 0x1e5b2: 0x6d298820, 0x1e5b3: 0x6d40a620, + 0x1e5b4: 0x6cabbc20, 0x1e5b5: 0x6c064220, 0x1e5b6: 0x6c7a8c20, 0x1e5b7: 0x6c77f220, + 0x1e5b8: 0x6c33cc20, 0x1e5b9: 0x6c743820, 0x1e5ba: 0x6c3d6c20, 0x1e5bb: 0x6c190020, + 0x1e5bc: 0x6c658c20, 0x1e5bd: 0x6c39e420, 0x1e5be: 0x6d352420, 0x1e5bf: 0x6cdde620, + // Block 0x797, offset 0x1e5c0 + 0x1e5c0: 0x6d26a820, 0x1e5c1: 0x6c03b620, 0x1e5c2: 0x6cb5d820, 0x1e5c3: 0x6d26aa20, + 0x1e5c4: 0x6cbab420, 0x1e5c5: 0x6ceba820, 0x1e5c6: 0x6cdf2420, 0x1e5c7: 0x6d17c820, + 0x1e5c8: 0x6ca72620, 0x1e5c9: 0x6c8d0e20, 0x1e5ca: 0x6c9a9420, 0x1e5cb: 0x6c038220, + 0x1e5cc: 0x6c2e5820, 0x1e5cd: 0x6c7a4420, 0x1e5ce: 0x6ceb2420, 0x1e5cf: 0x6c636620, + 0x1e5d0: 0x6c220620, 0x1e5d1: 0x6cad7820, 0x1e5d2: 0x6cb83820, 0x1e5d3: 0x6d3b0020, + 0x1e5d4: 0x6c70a220, 0x1e5d5: 0x6c2d1c20, 0x1e5d6: 0x6d346e20, 0x1e5d7: 0x6c3d7620, + 0x1e5d8: 0x6cac5a20, 0x1e5d9: 0x6c724e20, 0x1e5da: 0x6ccce620, 0x1e5db: 0x6c0fe420, + 0x1e5dc: 0x6ca5ec20, 0x1e5dd: 0x6c724620, 0x1e5de: 0x6c861e20, 0x1e5df: 0x6c449a20, + 0x1e5e0: 0x6d152420, 0x1e5e1: 0x6c5ef420, 0x1e5e2: 0x6c34fe20, 0x1e5e3: 0x6cfc1c20, + 0x1e5e4: 0x6c685420, 0x1e5e5: 0x6c350020, 0x1e5e6: 0x6d39b620, 0x1e5e7: 0x6cc30620, + 0x1e5e8: 0x6c7aec20, 0x1e5e9: 0x6d3b6820, 0x1e5ea: 0x6c4b5a20, 0x1e5eb: 0x6cbf4420, + 0x1e5ec: 0x6c7cd620, 0x1e5ed: 0x6cfdce20, 0x1e5ee: 0x6c1c3620, 0x1e5ef: 0x6c927620, + 0x1e5f0: 0x6cb11c20, 0x1e5f1: 0x6d367020, 0x1e5f2: 0x6c63d020, 0x1e5f3: 0x6ce5dc20, + 0x1e5f4: 0x6c113820, 0x1e5f5: 0x6c669820, 0x1e5f6: 0x6cde6a20, 0x1e5f7: 0x6cbb8020, + 0x1e5f8: 0x6c09e220, 0x1e5f9: 0x6cfab220, 0x1e5fa: 0x6c350220, 0x1e5fb: 0x6c5ef620, + 0x1e5fc: 0x6c714620, 0x1e5fd: 0x6c625420, 0x1e5fe: 0x6cd4fa20, 0x1e5ff: 0x6ce8e020, + // Block 0x798, offset 0x1e600 + 0x1e600: 0x6c1f6420, 0x1e601: 0x6c6e9a20, 0x1e602: 0x6ca85620, 0x1e603: 0x6cfef820, + 0x1e604: 0x6c10b020, 0x1e605: 0x6d091420, 0x1e606: 0x6c259a20, 0x1e607: 0x6ca25020, + 0x1e608: 0x6cd4fc20, 0x1e609: 0x6c896220, 0x1e60a: 0x6d1e5420, 0x1e60b: 0x6c691820, + 0x1e60c: 0x6c1dce20, 0x1e60d: 0x6cbb9220, 0x1e60e: 0x6ca1da20, 0x1e60f: 0x6cde9420, + 0x1e610: 0x6c66c620, 0x1e611: 0x6cb64620, 0x1e612: 0x6cf29e20, 0x1e613: 0x6cf00e20, + 0x1e614: 0x6c219820, 0x1e615: 0x6c6b2a20, 0x1e616: 0x6c609a20, 0x1e617: 0x6ca86420, + 0x1e618: 0x6c70be20, 0x1e619: 0x6c70c020, 0x1e61a: 0x6c950c20, 0x1e61b: 0x6c92bc20, + 0x1e61c: 0x6c839a20, 0x1e61d: 0x6c57f020, 0x1e61e: 0x6c728420, 0x1e61f: 0x6c1b4e20, + 0x1e620: 0x6ced4820, 0x1e621: 0x6cc31420, 0x1e622: 0x6ce2fa20, 0x1e623: 0x6c0f4c20, + 0x1e624: 0x6d40d220, 0x1e625: 0x6cbce220, 0x1e626: 0x6d160820, 0x1e627: 0x6c245e20, + 0x1e628: 0x6d3fbc20, 0x1e629: 0x6c113e20, 0x1e62a: 0x6d3fbe20, 0x1e62b: 0x6caf1620, + 0x1e62c: 0x6d36c820, 0x1e62d: 0x6d32d820, 0x1e62e: 0x6c2d2a20, 0x1e62f: 0x6d349420, + 0x1e630: 0x6d21aa20, 0x1e631: 0x6c346220, 0x1e632: 0x6c340c20, 0x1e633: 0x6c202820, + 0x1e634: 0x6d1e6020, 0x1e635: 0x6d380820, 0x1e636: 0x6c2c9e20, 0x1e637: 0x6d2c9220, + 0x1e638: 0x6c191020, 0x1e639: 0x6c1fce20, 0x1e63a: 0x6c66c820, 0x1e63b: 0x6c486e20, + 0x1e63c: 0x6ce13e20, 0x1e63d: 0x6c71d620, 0x1e63e: 0x6c3efa20, 0x1e63f: 0x6d40d820, + // Block 0x799, offset 0x1e640 + 0x1e640: 0x6c2eec20, 0x1e641: 0x6cb12e20, 0x1e642: 0x6cc76020, 0x1e643: 0x6cab1020, + 0x1e644: 0x6ce38020, 0x1e645: 0x6c142020, 0x1e646: 0x6ce9ec20, 0x1e647: 0x6c65ee20, + 0x1e648: 0x6c29f420, 0x1e649: 0x6c25ca20, 0x1e64a: 0x6cb53a20, 0x1e64b: 0x6cdeb020, + 0x1e64c: 0x6cbae420, 0x1e64d: 0x6ca74020, 0x1e64e: 0x6c2ce020, 0x1e64f: 0x6ce38a20, + 0x1e650: 0x6c60ce20, 0x1e651: 0x6ca87e20, 0x1e652: 0x6cac7820, 0x1e653: 0x6c8e3a20, + 0x1e654: 0x6d29aa20, 0x1e655: 0x6c0a7a20, 0x1e656: 0x6c1cf220, 0x1e657: 0x6c931020, + 0x1e658: 0x6c8a4220, 0x1e659: 0x6c246e20, 0x1e65a: 0x6ce0da20, 0x1e65b: 0x6c27a420, + 0x1e65c: 0x6cdb5420, 0x1e65d: 0x6cf81e20, 0x1e65e: 0x6c7ce220, 0x1e65f: 0x6c5f7820, + 0x1e660: 0x6d34ae20, 0x1e661: 0x6cbaee20, 0x1e662: 0x6c2ba820, 0x1e663: 0x6cac8420, + 0x1e664: 0x6d3fd020, 0x1e665: 0x6c887020, 0x1e666: 0x6c085c20, 0x1e667: 0x6d2a2a20, + 0x1e668: 0x6ca74820, 0x1e669: 0x6c0d0220, 0x1e66a: 0x6ce9d220, 0x1e66b: 0x6c717e20, + 0x1e66c: 0x6c2ac020, 0x1e66d: 0x6c137020, 0x1e66e: 0x6cfaf420, 0x1e66f: 0x6c38dc20, + 0x1e670: 0x6c1ec820, 0x1e671: 0x6d37d820, 0x1e672: 0x6c33be20, 0x1e673: 0x6c0e9a20, + 0x1e674: 0x6c247420, 0x1e675: 0x6c247620, 0x1e676: 0x6c74f220, 0x1e677: 0x6c74f420, + 0x1e678: 0x6c8c7e20, 0x1e679: 0x6cde0620, 0x1e67a: 0x6cbbc420, 0x1e67b: 0x6c73bc20, + 0x1e67c: 0x6cb4a220, 0x1e67d: 0x6c89d420, 0x1e67e: 0x6c33c020, 0x1e67f: 0x6c249620, + // Block 0x79a, offset 0x1e680 + 0x1e680: 0x6c7c1220, 0x1e681: 0x6d2a9c20, 0x1e682: 0x6c26d220, 0x1e683: 0x6c0abc20, + 0x1e684: 0x6c0abe20, 0x1e685: 0x6d3a3820, 0x1e686: 0x6c72be20, 0x1e687: 0x6c1ec020, + 0x1e688: 0x6cbc7020, 0x1e689: 0x6c33d020, 0x1e68a: 0x6c1e0820, 0x1e68b: 0x6c5f9620, + 0x1e68c: 0x6cf48e20, 0x1e68d: 0x6d271820, 0x1e68e: 0x6ca74c20, 0x1e68f: 0x6c8c8220, + 0x1e690: 0x6c8b7620, 0x1e691: 0x6d34c020, 0x1e692: 0x6c878220, 0x1e693: 0x6d376a20, + 0x1e694: 0x6c156e20, 0x1e695: 0x6c1ece20, 0x1e696: 0x6c32e820, 0x1e697: 0x6cf12420, + 0x1e698: 0x6c900620, 0x1e699: 0x6c8c8c20, 0x1e69a: 0x6cfb0e20, 0x1e69b: 0x6cf12e20, + 0x1e69c: 0x6d414020, 0x1e69d: 0x6c801220, 0x1e69e: 0x6d028e20, 0x1e69f: 0x6cc4fa20, + 0x1e6a0: 0x6cc95e20, 0x1e6a1: 0x6ca8ce20, 0x1e6a2: 0x6cdef620, 0x1e6a3: 0x6cc22c20, + 0x1e6a4: 0x6c6c1220, 0x1e6a5: 0x6c249a20, 0x1e6a6: 0x6c260620, 0x1e6a7: 0x6cf83020, + 0x1e6a8: 0x6c7cc620, 0x1e6a9: 0x6c753a20, 0x1e6aa: 0x6c8c9020, 0x1e6ab: 0x6ccfa420, + 0x1e6ac: 0x6c457e20, 0x1e6ad: 0x6c27d820, 0x1e6ae: 0x6c3c0a20, 0x1e6af: 0x6cc10820, + 0x1e6b0: 0x6ce3c220, 0x1e6b1: 0x6c349e20, 0x1e6b2: 0x6c34a020, 0x1e6b3: 0x6c459a20, + 0x1e6b4: 0x6c80da20, 0x1e6b5: 0x6cc60e20, 0x1e6b6: 0x6c95be20, 0x1e6b7: 0x6c007620, + 0x1e6b8: 0x6c5f2420, 0x1e6b9: 0x6c715220, 0x1e6ba: 0x6ce18020, 0x1e6bb: 0x6c79ae20, + 0x1e6bc: 0x6c81de20, 0x1e6bd: 0x6d0dd820, 0x1e6be: 0x6c9abc20, 0x1e6bf: 0x6c775c20, + // Block 0x79b, offset 0x1e6c0 + 0x1e6c0: 0x6cc15420, 0x1e6c1: 0x6c90ce20, 0x1e6c2: 0x6c81ea20, 0x1e6c3: 0x6c34c020, + 0x1e6c4: 0x6d34b420, 0x1e6c5: 0x6d0f3c20, 0x1e6c6: 0x6ce3cc20, 0x1e6c7: 0x6c2a4e20, + 0x1e6c8: 0x6d1d7420, 0x1e6c9: 0x6d249a20, 0x1e6ca: 0x6c17ce20, 0x1e6cb: 0x6d0b8220, + 0x1e6cc: 0x6c4ade20, 0x1e6cd: 0x6c756420, 0x1e6ce: 0x6cf08220, 0x1e6cf: 0x6d269e20, + 0x1e6d0: 0x6d032c20, 0x1e6d1: 0x6c275420, 0x1e6d2: 0x6d078a20, 0x1e6d3: 0x6c393e20, + 0x1e6d4: 0x6cc5e420, 0x1e6d5: 0x6cccde20, 0x1e6d6: 0x6c7bc020, 0x1e6d7: 0x6cd4d620, + 0x1e6d8: 0x6cea5220, 0x1e6d9: 0x6c18c420, 0x1e6da: 0x6c276820, 0x1e6db: 0x6c361c20, + 0x1e6dc: 0x6ca34020, 0x1e6dd: 0x6cb5dc20, 0x1e6de: 0x6c98de20, 0x1e6df: 0x6cc86020, + 0x1e6e0: 0x6cc5ec20, 0x1e6e1: 0x6cb98c20, 0x1e6e2: 0x6d3ba620, 0x1e6e3: 0x6c52a020, + 0x1e6e4: 0x6c54d220, 0x1e6e5: 0x6cc19c20, 0x1e6e6: 0x6c7bfa20, 0x1e6e7: 0x6c2bfc20, + 0x1e6e8: 0x6c8d1220, 0x1e6e9: 0x6c277420, 0x1e6ea: 0x6c022c20, 0x1e6eb: 0x6d31e220, + 0x1e6ec: 0x6c395620, 0x1e6ed: 0x6c7baa20, 0x1e6ee: 0x6d102220, 0x1e6ef: 0x6cae7420, + 0x1e6f0: 0x6c072820, 0x1e6f1: 0x6c471420, 0x1e6f2: 0x6c471620, 0x1e6f3: 0x6cad5e20, + 0x1e6f4: 0x6d3b0420, 0x1e6f5: 0x6cc71020, 0x1e6f6: 0x6c364a20, 0x1e6f7: 0x6c038420, + 0x1e6f8: 0x6d38d420, 0x1e6f9: 0x6d353020, 0x1e6fa: 0x6d110020, 0x1e6fb: 0x6c780020, + 0x1e6fc: 0x6d17ca20, 0x1e6fd: 0x6d364420, 0x1e6fe: 0x6cd3a820, 0x1e6ff: 0x6cb2b820, + // Block 0x79c, offset 0x1e700 + 0x1e700: 0x6c375e20, 0x1e701: 0x6c45f420, 0x1e702: 0x6c713a20, 0x1e703: 0x6c69a820, + 0x1e704: 0x6c49ee20, 0x1e705: 0x6c514c20, 0x1e706: 0x6c766420, 0x1e707: 0x6cc30820, + 0x1e708: 0x6d389420, 0x1e709: 0x6d293c20, 0x1e70a: 0x6d367220, 0x1e70b: 0x6ccef620, + 0x1e70c: 0x6c89c420, 0x1e70d: 0x6d23ae20, 0x1e70e: 0x6cce7c20, 0x1e70f: 0x6d1f5c20, + 0x1e710: 0x6ced9020, 0x1e711: 0x6d1af820, 0x1e712: 0x6d307420, 0x1e713: 0x6ced3e20, + 0x1e714: 0x6c3f7c20, 0x1e715: 0x6cbe5420, 0x1e716: 0x6d38a620, 0x1e717: 0x6ca60620, + 0x1e718: 0x6c838420, 0x1e719: 0x6d308420, 0x1e71a: 0x6d2e7a20, 0x1e71b: 0x6c89ca20, + 0x1e71c: 0x6d3e8220, 0x1e71d: 0x6c5aee20, 0x1e71e: 0x6cee3820, 0x1e71f: 0x6c21d220, + 0x1e720: 0x6c4ccc20, 0x1e721: 0x6c76e820, 0x1e722: 0x6d160a20, 0x1e723: 0x6caec220, + 0x1e724: 0x6cba7a20, 0x1e725: 0x6c4be620, 0x1e726: 0x6ca73a20, 0x1e727: 0x6cb2c820, + 0x1e728: 0x6c496020, 0x1e729: 0x6c075220, 0x1e72a: 0x6c950e20, 0x1e72b: 0x6cac0420, + 0x1e72c: 0x6c896c20, 0x1e72d: 0x6cc88020, 0x1e72e: 0x6cc76220, 0x1e72f: 0x6c631020, + 0x1e730: 0x6d0fda20, 0x1e731: 0x6cfba020, 0x1e732: 0x6c201020, 0x1e733: 0x6c23fe20, + 0x1e734: 0x6c211c20, 0x1e735: 0x6c443c20, 0x1e736: 0x6d1f7220, 0x1e737: 0x6c52cc20, + 0x1e738: 0x6cd50820, 0x1e739: 0x6c405820, 0x1e73a: 0x6d3e9420, 0x1e73b: 0x6c3efc20, + 0x1e73c: 0x6cf16820, 0x1e73d: 0x6c07cc20, 0x1e73e: 0x6d2e2020, 0x1e73f: 0x6d21c020, + // Block 0x79d, offset 0x1e740 + 0x1e740: 0x6cf16a20, 0x1e741: 0x6ce1f420, 0x1e742: 0x6c47dc20, 0x1e743: 0x6d319e20, + 0x1e744: 0x6cfa0220, 0x1e745: 0x6d25b820, 0x1e746: 0x6c931220, 0x1e747: 0x6c689e20, + 0x1e748: 0x6c178620, 0x1e749: 0x6d3bb420, 0x1e74a: 0x6cf0f820, 0x1e74b: 0x6c5d0420, + 0x1e74c: 0x6d098c20, 0x1e74d: 0x6d30b820, 0x1e74e: 0x6c69d020, 0x1e74f: 0x6d2e9020, + 0x1e750: 0x6c102620, 0x1e751: 0x6c81c620, 0x1e752: 0x6c3ba820, 0x1e753: 0x6c386a20, + 0x1e754: 0x6c8bfc20, 0x1e755: 0x6c445220, 0x1e756: 0x6ccb8e20, 0x1e757: 0x6c76fc20, + 0x1e758: 0x6c58be20, 0x1e759: 0x6d162820, 0x1e75a: 0x6c60f020, 0x1e75b: 0x6d3cc020, + 0x1e75c: 0x6c377820, 0x1e75d: 0x6d246820, 0x1e75e: 0x6c671c20, 0x1e75f: 0x6c52e020, + 0x1e760: 0x6c829220, 0x1e761: 0x6cae2c20, 0x1e762: 0x6c878420, 0x1e763: 0x6c879a20, + 0x1e764: 0x6c91a020, 0x1e765: 0x6c8c9220, 0x1e766: 0x6c17ca20, 0x1e767: 0x6d0b6a20, + 0x1e768: 0x6c4ac020, 0x1e769: 0x6d077a20, 0x1e76a: 0x6c272a20, 0x1e76b: 0x6cc5ca20, + 0x1e76c: 0x6d3ba020, 0x1e76d: 0x6c35e220, 0x1e76e: 0x6c94e020, 0x1e76f: 0x6cc85420, + 0x1e770: 0x6c529820, 0x1e771: 0x6c46fa20, 0x1e772: 0x6c77ec20, 0x1e773: 0x6c914820, + 0x1e774: 0x6d38d020, 0x1e775: 0x6d350a20, 0x1e776: 0x6d171020, 0x1e777: 0x6c54b220, + 0x1e778: 0x6d31c420, 0x1e779: 0x6c85ba20, 0x1e77a: 0x6d10dc20, 0x1e77b: 0x6cbe3620, + 0x1e77c: 0x6cd36220, 0x1e77d: 0x6d293420, 0x1e77e: 0x6d35d020, 0x1e77f: 0x6c699620, + // Block 0x79e, offset 0x1e780 + 0x1e780: 0x6d386c20, 0x1e781: 0x6cc2d020, 0x1e782: 0x6c922e20, 0x1e783: 0x6c699820, + 0x1e784: 0x6d305420, 0x1e785: 0x6c3f6020, 0x1e786: 0x6c89b220, 0x1e787: 0x6ca72a20, + 0x1e788: 0x6c072a20, 0x1e789: 0x6c5abc20, 0x1e78a: 0x6c4bcc20, 0x1e78b: 0x6cee2620, + 0x1e78c: 0x6c895820, 0x1e78d: 0x6c21c420, 0x1e78e: 0x6d3e4820, 0x1e78f: 0x6c23f420, + 0x1e790: 0x6c3eae20, 0x1e791: 0x6c630c20, 0x1e792: 0x6cf15e20, 0x1e793: 0x6cd4f020, + 0x1e794: 0x6cae2020, 0x1e795: 0x6d259a20, 0x1e796: 0x6cf9e220, 0x1e797: 0x6ca72e20, + 0x1e798: 0x6c92c420, 0x1e799: 0x6d309420, 0x1e79a: 0x6c8be220, 0x1e79b: 0x6d02ae20, + 0x1e79c: 0x6c471820, 0x1e79d: 0x6c224a20, 0x1e79e: 0x6c225220, 0x1e79f: 0x6cb0a820, + 0x1e7a0: 0x6d41ba20, 0x1e7a1: 0x6c0bb020, 0x1e7a2: 0x6c7e8e20, 0x1e7a3: 0x6c7e9020, + 0x1e7a4: 0x6c226020, 0x1e7a5: 0x6d08ea20, 0x1e7a6: 0x6c050620, 0x1e7a7: 0x6c0bc020, + 0x1e7a8: 0x6c0bc220, 0x1e7a9: 0x6c0bc420, 0x1e7aa: 0x6d08ec20, 0x1e7ab: 0x6c0bcc20, + 0x1e7ac: 0x6c04a820, 0x1e7ad: 0x6c227e20, 0x1e7ae: 0x6c0bd620, 0x1e7af: 0x6c0bda20, + 0x1e7b0: 0x6c18a020, 0x1e7b1: 0x6cc7fc20, 0x1e7b2: 0x6ca9bc20, 0x1e7b3: 0x6ca9c220, + 0x1e7b4: 0x6c160420, 0x1e7b5: 0x6c21a820, 0x1e7b6: 0x6c21a420, 0x1e7b7: 0x6d198820, + 0x1e7b8: 0x6cc61820, 0x1e7b9: 0x6c0ae820, 0x1e7ba: 0x6c0aea20, 0x1e7bb: 0x6cd22e20, + 0x1e7bc: 0x6cc83220, 0x1e7bd: 0x6c89d620, 0x1e7be: 0x6c267620, 0x1e7bf: 0x6c14b620, + // Block 0x79f, offset 0x1e7c0 + 0x1e7c0: 0x6c416420, 0x1e7c1: 0x6cb8a020, 0x1e7c2: 0x6d207620, 0x1e7c3: 0x6d207820, + 0x1e7c4: 0x6cb73420, 0x1e7c5: 0x6d0a6820, 0x1e7c6: 0x6d145820, 0x1e7c7: 0x6c4ce420, + 0x1e7c8: 0x6c972020, 0x1e7c9: 0x6cb4ca20, 0x1e7ca: 0x6d288620, 0x1e7cb: 0x6cee4a20, + 0x1e7cc: 0x6ce91e20, 0x1e7cd: 0x6d3cca20, 0x1e7ce: 0x6d1c5820, 0x1e7cf: 0x6ce3d620, + 0x1e7d0: 0x6d281620, 0x1e7d1: 0x6c6cd620, 0x1e7d2: 0x6c4f5c20, 0x1e7d3: 0x6d0b7a20, + 0x1e7d4: 0x6c390620, 0x1e7d5: 0x6cf4b020, 0x1e7d6: 0x6c267820, 0x1e7d7: 0x6c354c20, + 0x1e7d8: 0x6c4d1c20, 0x1e7d9: 0x6d30e420, 0x1e7da: 0x6d384c20, 0x1e7db: 0x6c6cd820, + 0x1e7dc: 0x6d25de20, 0x1e7dd: 0x6ceee420, 0x1e7de: 0x6c87ee20, 0x1e7df: 0x6c1b0220, + 0x1e7e0: 0x6c180420, 0x1e7e1: 0x6ca68020, 0x1e7e2: 0x6ce57420, 0x1e7e3: 0x6d359020, + 0x1e7e4: 0x6d147c20, 0x1e7e5: 0x6c6efc20, 0x1e7e6: 0x6c633220, 0x1e7e7: 0x6c18a620, + 0x1e7e8: 0x6c273a20, 0x1e7e9: 0x6c378820, 0x1e7ea: 0x6c2b5e20, 0x1e7eb: 0x6cb36a20, + 0x1e7ec: 0x6d3ab620, 0x1e7ed: 0x6c2e6420, 0x1e7ee: 0x6d2ab020, 0x1e7ef: 0x6ce20620, + 0x1e7f0: 0x6cd5a220, 0x1e7f1: 0x6ceaf620, 0x1e7f2: 0x6cc28620, 0x1e7f3: 0x6c6e5020, + 0x1e7f4: 0x6c5b2a20, 0x1e7f5: 0x6c306820, 0x1e7f6: 0x6d203420, 0x1e7f7: 0x6c9c4020, + 0x1e7f8: 0x6c083c20, 0x1e7f9: 0x6c5e9c20, 0x1e7fa: 0x6ca39c20, 0x1e7fb: 0x6d14b220, + 0x1e7fc: 0x6c6a9a20, 0x1e7fd: 0x6d3c5820, 0x1e7fe: 0x6c8ade20, 0x1e7ff: 0x6d0a7420, + // Block 0x7a0, offset 0x1e800 + 0x1e800: 0x6ce9f620, 0x1e801: 0x6cd98420, 0x1e802: 0x6cd34a20, 0x1e803: 0x6ce20e20, + 0x1e804: 0x6cacf820, 0x1e805: 0x6c546820, 0x1e806: 0x6ca68a20, 0x1e807: 0x6c33e420, + 0x1e808: 0x6c6f0420, 0x1e809: 0x6d084620, 0x1e80a: 0x6d0a7620, 0x1e80b: 0x6c101220, + 0x1e80c: 0x6d1e9c20, 0x1e80d: 0x6cfeac20, 0x1e80e: 0x6cc03a20, 0x1e80f: 0x6ce82420, + 0x1e810: 0x6d3a0a20, 0x1e811: 0x6cc03c20, 0x1e812: 0x6c2c3420, 0x1e813: 0x6c2c3620, + 0x1e814: 0x6ce89a20, 0x1e815: 0x6c6e6c20, 0x1e816: 0x6ce3e620, 0x1e817: 0x6c310a20, + 0x1e818: 0x6d15e020, 0x1e819: 0x6d30ee20, 0x1e81a: 0x6ce6f220, 0x1e81b: 0x6c4a2020, + 0x1e81c: 0x6cf4da20, 0x1e81d: 0x6cd36420, 0x1e81e: 0x6c1a6a20, 0x1e81f: 0x6cda9820, + 0x1e820: 0x6d2a7a20, 0x1e821: 0x6cc43620, 0x1e822: 0x6c3ca420, 0x1e823: 0x6c87fa20, + 0x1e824: 0x6cddc820, 0x1e825: 0x6c5b3220, 0x1e826: 0x6c850e20, 0x1e827: 0x6c483620, + 0x1e828: 0x6c7f0220, 0x1e829: 0x6c07b820, 0x1e82a: 0x6c262420, 0x1e82b: 0x6c743e20, + 0x1e82c: 0x6c083e20, 0x1e82d: 0x6c591820, 0x1e82e: 0x6c271620, 0x1e82f: 0x6c924a20, + 0x1e830: 0x6d1f3220, 0x1e831: 0x6d387c20, 0x1e832: 0x6c6d0820, 0x1e833: 0x6d232620, + 0x1e834: 0x6c219620, 0x1e835: 0x6c7c6820, 0x1e836: 0x6cee7620, 0x1e837: 0x6ce3f020, + 0x1e838: 0x6d178420, 0x1e839: 0x6c26a220, 0x1e83a: 0x6d25e620, 0x1e83b: 0x6c954420, + 0x1e83c: 0x6c087420, 0x1e83d: 0x6caaf220, 0x1e83e: 0x6d213a20, 0x1e83f: 0x6c296a20, + // Block 0x7a1, offset 0x1e840 + 0x1e840: 0x6cdbf620, 0x1e841: 0x6c33f420, 0x1e842: 0x6cdc4220, 0x1e843: 0x6d0d9820, + 0x1e844: 0x6c1ffc20, 0x1e845: 0x6c1b2c20, 0x1e846: 0x6ce33420, 0x1e847: 0x6d235c20, + 0x1e848: 0x6cd26c20, 0x1e849: 0x6d315a20, 0x1e84a: 0x6d1f4020, 0x1e84b: 0x6d283820, + 0x1e84c: 0x6c364c20, 0x1e84d: 0x6c0ba420, 0x1e84e: 0x6c4cec20, 0x1e84f: 0x6c364e20, + 0x1e850: 0x6cf9ca20, 0x1e851: 0x6c59ca20, 0x1e852: 0x6cc07020, 0x1e853: 0x6c2a1820, + 0x1e854: 0x6c26ac20, 0x1e855: 0x6cef1620, 0x1e856: 0x6ca45020, 0x1e857: 0x6d150820, + 0x1e858: 0x6c46be20, 0x1e859: 0x6d111620, 0x1e85a: 0x6c1e4620, 0x1e85b: 0x6c8e7420, + 0x1e85c: 0x6d0a9820, 0x1e85d: 0x6cde6c20, 0x1e85e: 0x6c2c7420, 0x1e85f: 0x6c1b4020, + 0x1e860: 0x6d25ec20, 0x1e861: 0x6cdada20, 0x1e862: 0x6cde6e20, 0x1e863: 0x6cba1420, + 0x1e864: 0x6c96f220, 0x1e865: 0x6d111820, 0x1e866: 0x6c499c20, 0x1e867: 0x6d2ed220, + 0x1e868: 0x6c025820, 0x1e869: 0x6cd3bc20, 0x1e86a: 0x6c10ea20, 0x1e86b: 0x6c1c4e20, + 0x1e86c: 0x6cdaf620, 0x1e86d: 0x6d2a1c20, 0x1e86e: 0x6d300420, 0x1e86f: 0x6c340220, + 0x1e870: 0x6c2c8820, 0x1e871: 0x6c90ac20, 0x1e872: 0x6c1b5020, 0x1e873: 0x6c25c220, + 0x1e874: 0x6c8bd620, 0x1e875: 0x6d41f020, 0x1e876: 0x6cc54820, 0x1e877: 0x6cb91820, + 0x1e878: 0x6d085820, 0x1e879: 0x6d23d620, 0x1e87a: 0x6d154e20, 0x1e87b: 0x6cf51c20, + 0x1e87c: 0x6c8a1620, 0x1e87d: 0x6c729820, 0x1e87e: 0x6cd3e220, 0x1e87f: 0x6c0a6020, + // Block 0x7a2, offset 0x1e880 + 0x1e880: 0x6d10bc20, 0x1e881: 0x6c974220, 0x1e882: 0x6d022220, 0x1e883: 0x6cdc9420, + 0x1e884: 0x6c4d2a20, 0x1e885: 0x6d2d9e20, 0x1e886: 0x6ce2b020, 0x1e887: 0x6c37aa20, + 0x1e888: 0x6c9ea220, 0x1e889: 0x6c0b0c20, 0x1e88a: 0x6c0b1420, 0x1e88b: 0x6c7e5220, + 0x1e88c: 0x6c847a20, 0x1e88d: 0x6d25c820, 0x1e88e: 0x6d117620, 0x1e88f: 0x6c957c20, + 0x1e890: 0x6c854c20, 0x1e891: 0x6d169e20, 0x1e892: 0x6ce65a20, 0x1e893: 0x6c2ad420, + 0x1e894: 0x6cb6c420, 0x1e895: 0x6d1d8220, 0x1e896: 0x6cccb420, 0x1e897: 0x6c4dc820, + 0x1e898: 0x6d20a420, 0x1e899: 0x6c982220, 0x1e89a: 0x6cc78820, 0x1e89b: 0x6cbef620, + 0x1e89c: 0x6cedb420, 0x1e89d: 0x6c7bd620, 0x1e89e: 0x6c3d3620, 0x1e89f: 0x6c777a20, + 0x1e8a0: 0x6c0d2020, 0x1e8a1: 0x6c398220, 0x1e8a2: 0x6d03bc20, 0x1e8a3: 0x6ca30220, + 0x1e8a4: 0x6d02a620, 0x1e8a5: 0x6cd04220, 0x1e8a6: 0x6c051620, 0x1e8a7: 0x6d253620, + 0x1e8a8: 0x6c259020, 0x1e8a9: 0x6c5d8a20, 0x1e8aa: 0x6d006a20, 0x1e8ab: 0x6c052c20, + 0x1e8ac: 0x6cf34e20, 0x1e8ad: 0x6c720220, 0x1e8ae: 0x6d1ef620, 0x1e8af: 0x6c4dd020, + 0x1e8b0: 0x6cdf1220, 0x1e8b1: 0x6cbf9820, 0x1e8b2: 0x6c092220, 0x1e8b3: 0x6caf2e20, + 0x1e8b4: 0x6c0dbe20, 0x1e8b5: 0x6ccec620, 0x1e8b6: 0x6c06de20, 0x1e8b7: 0x6cec1020, + 0x1e8b8: 0x6c2bd020, 0x1e8b9: 0x6d404620, 0x1e8ba: 0x6d12c820, 0x1e8bb: 0x6c8b9e20, + 0x1e8bc: 0x6c7b8820, 0x1e8bd: 0x6c4a3c20, 0x1e8be: 0x6d398620, 0x1e8bf: 0x6cd19e20, + // Block 0x7a3, offset 0x1e8c0 + 0x1e8c0: 0x6c7a2c20, 0x1e8c1: 0x6d22dc20, 0x1e8c2: 0x6c40e020, 0x1e8c3: 0x6c50ce20, + 0x1e8c4: 0x6cbc9a20, 0x1e8c5: 0x6d359420, 0x1e8c6: 0x6c5fe620, 0x1e8c7: 0x6c585c20, + 0x1e8c8: 0x6c545e20, 0x1e8c9: 0x6d03c820, 0x1e8ca: 0x6c682a20, 0x1e8cb: 0x6cf76a20, + 0x1e8cc: 0x6c4a7620, 0x1e8cd: 0x6caab420, 0x1e8ce: 0x6c80a220, 0x1e8cf: 0x6c63a620, + 0x1e8d0: 0x6c7b1420, 0x1e8d1: 0x6d333e20, 0x1e8d2: 0x6c813820, 0x1e8d3: 0x6d281e20, + 0x1e8d4: 0x6d0c6c20, 0x1e8d5: 0x6c19c220, 0x1e8d6: 0x6c30fc20, 0x1e8d7: 0x6cf5ae20, + 0x1e8d8: 0x6c935220, 0x1e8d9: 0x6c3f4e20, 0x1e8da: 0x6cf3aa20, 0x1e8db: 0x6c3e2620, + 0x1e8dc: 0x6c433e20, 0x1e8dd: 0x6c500a20, 0x1e8de: 0x6c80a420, 0x1e8df: 0x6c63aa20, + 0x1e8e0: 0x6c44f020, 0x1e8e1: 0x6c759a20, 0x1e8e2: 0x6d1ce220, 0x1e8e3: 0x6c0eca20, + 0x1e8e4: 0x6cf86820, 0x1e8e5: 0x6c06f420, 0x1e8e6: 0x6c85bc20, 0x1e8e7: 0x6d279220, + 0x1e8e8: 0x6c108c20, 0x1e8e9: 0x6cff7a20, 0x1e8ea: 0x6cb4e020, 0x1e8eb: 0x6cafd420, + 0x1e8ec: 0x6cbe3c20, 0x1e8ed: 0x6c4c1a20, 0x1e8ee: 0x6d386e20, 0x1e8ef: 0x6cdfd820, + 0x1e8f0: 0x6d404c20, 0x1e8f1: 0x6cb27e20, 0x1e8f2: 0x6c7ef020, 0x1e8f3: 0x6ca5d020, + 0x1e8f4: 0x6c186220, 0x1e8f5: 0x6d1f2420, 0x1e8f6: 0x6c10b420, 0x1e8f7: 0x6cfd6820, + 0x1e8f8: 0x6c27d020, 0x1e8f9: 0x6c711e20, 0x1e8fa: 0x6d1dba20, 0x1e8fb: 0x6cbb7420, + 0x1e8fc: 0x6d13ea20, 0x1e8fd: 0x6c30a620, 0x1e8fe: 0x6d0d7220, 0x1e8ff: 0x6c99f220, + // Block 0x7a4, offset 0x1e900 + 0x1e900: 0x6cc91a20, 0x1e901: 0x6c071820, 0x1e902: 0x6c361e20, 0x1e903: 0x6cd4d820, + 0x1e904: 0x6c735e20, 0x1e905: 0x6d225220, 0x1e906: 0x6d282820, 0x1e907: 0x6c53f420, + 0x1e908: 0x6c7c6a20, 0x1e909: 0x6cfd6e20, 0x1e90a: 0x6cfd7020, 0x1e90b: 0x6cd9a820, + 0x1e90c: 0x6ce0f820, 0x1e90d: 0x6ca00220, 0x1e90e: 0x6cf63220, 0x1e90f: 0x6cc7fe20, + 0x1e910: 0x6c1f4c20, 0x1e911: 0x6d3e4a20, 0x1e912: 0x6d405820, 0x1e913: 0x6d12f820, + 0x1e914: 0x6cf36c20, 0x1e915: 0x6cfd7c20, 0x1e916: 0x6d27a820, 0x1e917: 0x6c504220, + 0x1e918: 0x6d1d9220, 0x1e919: 0x6c08e620, 0x1e91a: 0x6c998820, 0x1e91b: 0x6c176420, + 0x1e91c: 0x6c3d8620, 0x1e91d: 0x6c8a6e20, 0x1e91e: 0x6d1a7820, 0x1e91f: 0x6d3b8020, + 0x1e920: 0x6c56a820, 0x1e921: 0x6cbb8220, 0x1e922: 0x6d0c1820, 0x1e923: 0x6d2ebc20, + 0x1e924: 0x6c97e020, 0x1e925: 0x6cbb8420, 0x1e926: 0x6d065020, 0x1e927: 0x6c2adc20, + 0x1e928: 0x6c0a9c20, 0x1e929: 0x6d0a2820, 0x1e92a: 0x6c0a0c20, 0x1e92b: 0x6d2b8420, + 0x1e92c: 0x6cef2620, 0x1e92d: 0x6d335820, 0x1e92e: 0x6c99a820, 0x1e92f: 0x6ccd9620, + 0x1e930: 0x6c8bc820, 0x1e931: 0x6cb33420, 0x1e932: 0x6c27f020, 0x1e933: 0x6c9b4020, + 0x1e934: 0x6d133220, 0x1e935: 0x6c12b820, 0x1e936: 0x6c7b3620, 0x1e937: 0x6c3c6420, + 0x1e938: 0x6c9b4220, 0x1e939: 0x6d406420, 0x1e93a: 0x6c7c0220, 0x1e93b: 0x6c88d020, + 0x1e93c: 0x6d29a220, 0x1e93d: 0x6c153020, 0x1e93e: 0x6d1eb820, 0x1e93f: 0x6c5f6420, + // Block 0x7a5, offset 0x1e940 + 0x1e940: 0x6d0ed820, 0x1e941: 0x6c154820, 0x1e942: 0x6c25f820, 0x1e943: 0x6c8d8820, + 0x1e944: 0x6c583a20, 0x1e945: 0x6cf74020, 0x1e946: 0x6c3c7820, 0x1e947: 0x6d29b620, + 0x1e948: 0x6c875820, 0x1e949: 0x6d1fa420, 0x1e94a: 0x6c2f5a20, 0x1e94b: 0x6cc02020, + 0x1e94c: 0x6d3d4020, 0x1e94d: 0x6cae1820, 0x1e94e: 0x6d391e20, 0x1e94f: 0x6d15e220, + 0x1e950: 0x6c418e20, 0x1e951: 0x6d20fe20, 0x1e952: 0x6c6fba20, 0x1e953: 0x6d0d7420, + 0x1e954: 0x6d41ae20, 0x1e955: 0x6c98e020, 0x1e956: 0x6d323e20, 0x1e957: 0x6d06c820, + 0x1e958: 0x6c311820, 0x1e959: 0x6d315420, 0x1e95a: 0x6c3b3020, 0x1e95b: 0x6d263e20, + 0x1e95c: 0x6c40ae20, 0x1e95d: 0x6d282a20, 0x1e95e: 0x6cdf7220, 0x1e95f: 0x6ce46a20, + 0x1e960: 0x6cb83a20, 0x1e961: 0x6ceb2c20, 0x1e962: 0x6c243e20, 0x1e963: 0x6c4da820, + 0x1e964: 0x6c471a20, 0x1e965: 0x6cda5020, 0x1e966: 0x6c37ee20, 0x1e967: 0x6c1dc620, + 0x1e968: 0x6d293e20, 0x1e969: 0x6ca03a20, 0x1e96a: 0x6c81d620, 0x1e96b: 0x6c21ca20, + 0x1e96c: 0x6c1e4e20, 0x1e96d: 0x6d205020, 0x1e96e: 0x6ce76020, 0x1e96f: 0x6d353c20, + 0x1e970: 0x6cfab420, 0x1e971: 0x6c67ec20, 0x1e972: 0x6c1a3020, 0x1e973: 0x6d1b6c20, + 0x1e974: 0x6ce8e220, 0x1e975: 0x6c69b220, 0x1e976: 0x6c9a1a20, 0x1e977: 0x6c7aa420, + 0x1e978: 0x6cdb8820, 0x1e979: 0x6c833c20, 0x1e97a: 0x6cb44420, 0x1e97b: 0x6d41c220, + 0x1e97c: 0x6c4d4420, 0x1e97d: 0x6d0e9c20, 0x1e97e: 0x6ccc8c20, 0x1e97f: 0x6ca77e20, + // Block 0x7a6, offset 0x1e980 + 0x1e980: 0x6cef3420, 0x1e981: 0x6c92c620, 0x1e982: 0x6c803620, 0x1e983: 0x6d0c2c20, + 0x1e984: 0x6ce23820, 0x1e985: 0x6cadc220, 0x1e986: 0x6d2e1220, 0x1e987: 0x6c215e20, + 0x1e988: 0x6ce00a20, 0x1e989: 0x6d41ca20, 0x1e98a: 0x6d3ca620, 0x1e98b: 0x6c246020, + 0x1e98c: 0x6c7d8220, 0x1e98d: 0x6ce38220, 0x1e98e: 0x6cfba220, 0x1e98f: 0x6c317620, + 0x1e990: 0x6c55c420, 0x1e991: 0x6d065c20, 0x1e992: 0x6d040820, 0x1e993: 0x6ce07c20, + 0x1e994: 0x6cc09a20, 0x1e995: 0x6c216420, 0x1e996: 0x6d285a20, 0x1e997: 0x6cb3a620, + 0x1e998: 0x6c783620, 0x1e999: 0x6cd9e620, 0x1e99a: 0x6c9c7620, 0x1e99b: 0x6cc31820, + 0x1e99c: 0x6c1e3220, 0x1e99d: 0x6c25cc20, 0x1e99e: 0x6d285e20, 0x1e99f: 0x6d1e7e20, + 0x1e9a0: 0x6c022220, 0x1e9a1: 0x6d2ce420, 0x1e9a2: 0x6c4d4a20, 0x1e9a3: 0x6ce14a20, + 0x1e9a4: 0x6c680020, 0x1e9a5: 0x6cb1a220, 0x1e9a6: 0x6c191820, 0x1e9a7: 0x6d244020, + 0x1e9a8: 0x6c846620, 0x1e9a9: 0x6d2a2c20, 0x1e9aa: 0x6c818620, 0x1e9ab: 0x6d142c20, + 0x1e9ac: 0x6c680a20, 0x1e9ad: 0x6c102820, 0x1e9ae: 0x6c69d420, 0x1e9af: 0x6cf71e20, + 0x1e9b0: 0x6ce03c20, 0x1e9b1: 0x6c37f220, 0x1e9b2: 0x6ca9dc20, 0x1e9b3: 0x6d193620, + 0x1e9b4: 0x6c854620, 0x1e9b5: 0x6c72c020, 0x1e9b6: 0x6d0efc20, 0x1e9b7: 0x6d193820, + 0x1e9b8: 0x6ca78020, 0x1e9b9: 0x6cc7ec20, 0x1e9ba: 0x6d09cc20, 0x1e9bb: 0x6c1e0a20, + 0x1e9bc: 0x6d0f1220, 0x1e9bd: 0x6c8db420, 0x1e9be: 0x6c9cc820, 0x1e9bf: 0x6c9cca20, + // Block 0x7a7, offset 0x1e9c0 + 0x1e9c0: 0x6ca78420, 0x1e9c1: 0x6d036020, 0x1e9c2: 0x6c69ea20, 0x1e9c3: 0x6ccc9620, + 0x1e9c4: 0x6c9cd420, 0x1e9c5: 0x6d0f2420, 0x1e9c6: 0x6c0b7820, 0x1e9c7: 0x6c111e20, + 0x1e9c8: 0x6cd37620, 0x1e9c9: 0x6d204a20, 0x1e9ca: 0x6cd39220, 0x1e9cb: 0x6cd40220, + 0x1e9cc: 0x6c84fc20, 0x1e9cd: 0x6d382020, 0x1e9ce: 0x6d12aa20, 0x1e9cf: 0x6c89c020, + 0x1e9d0: 0x6c847c20, 0x1e9d1: 0x6c6c2e20, 0x1e9d2: 0x6c6d7c20, 0x1e9d3: 0x6cc02220, + 0x1e9d4: 0x6d15d820, 0x1e9d5: 0x6c8a6c20, 0x1e9d6: 0x6c29c020, 0x1e9d7: 0x6d2f6220, + 0x1e9d8: 0x6c2f5c20, 0x1e9d9: 0x6cb38220, 0x1e9da: 0x6cc04220, 0x1e9db: 0x6c034220, + 0x1e9dc: 0x6c3f5620, 0x1e9dd: 0x6d314820, 0x1e9de: 0x6d344a20, 0x1e9df: 0x6c034420, + 0x1e9e0: 0x6c949820, 0x1e9e1: 0x6c3f5820, 0x1e9e2: 0x6ca3a020, 0x1e9e3: 0x6c2e2020, + 0x1e9e4: 0x6ccd8620, 0x1e9e5: 0x6cbc2220, 0x1e9e6: 0x6c79ea20, 0x1e9e7: 0x6c203420, + 0x1e9e8: 0x6d3f0e20, 0x1e9e9: 0x6c390e20, 0x1e9ea: 0x6c573620, 0x1e9eb: 0x6c573820, + 0x1e9ec: 0x6c4eb820, 0x1e9ed: 0x6c427c20, 0x1e9ee: 0x6cb5de20, 0x1e9ef: 0x6c985c20, + 0x1e9f0: 0x6cc64620, 0x1e9f1: 0x6c2c5220, 0x1e9f2: 0x6cd8be20, 0x1e9f3: 0x6cf87e20, + 0x1e9f4: 0x6d178620, 0x1e9f5: 0x6c146620, 0x1e9f6: 0x6cd1b620, 0x1e9f7: 0x6ce91a20, + 0x1e9f8: 0x6cf60620, 0x1e9f9: 0x6caa7420, 0x1e9fa: 0x6cb8dc20, 0x1e9fb: 0x6cc0c020, + 0x1e9fc: 0x6c668420, 0x1e9fd: 0x6cb09a20, 0x1e9fe: 0x6d128220, 0x1e9ff: 0x6c6c4820, + // Block 0x7a8, offset 0x1ea00 + 0x1ea00: 0x6c03a020, 0x1ea01: 0x6c399620, 0x1ea02: 0x6c18d020, 0x1ea03: 0x6d03ee20, + 0x1ea04: 0x6c30ee20, 0x1ea05: 0x6d26c220, 0x1ea06: 0x6cb8e620, 0x1ea07: 0x6c3d7820, + 0x1ea08: 0x6caf6820, 0x1ea09: 0x6ca34820, 0x1ea0a: 0x6d02d820, 0x1ea0b: 0x6c356e20, + 0x1ea0c: 0x6c746020, 0x1ea0d: 0x6c33f820, 0x1ea0e: 0x6c464c20, 0x1ea0f: 0x6d1ae620, + 0x1ea10: 0x6cb99a20, 0x1ea11: 0x6c04ce20, 0x1ea12: 0x6cc97620, 0x1ea13: 0x6cc57220, + 0x1ea14: 0x6c174a20, 0x1ea15: 0x6ca99620, 0x1ea16: 0x6c3b3220, 0x1ea17: 0x6d27ec20, + 0x1ea18: 0x6c614620, 0x1ea19: 0x6cbd7820, 0x1ea1a: 0x6caf6a20, 0x1ea1b: 0x6c4c2020, + 0x1ea1c: 0x6c535a20, 0x1ea1d: 0x6d1a6c20, 0x1ea1e: 0x6c757220, 0x1ea1f: 0x6cd1ca20, + 0x1ea20: 0x6d17ce20, 0x1ea21: 0x6d37ba20, 0x1ea22: 0x6cf7f020, 0x1ea23: 0x6c413a20, + 0x1ea24: 0x6cc64820, 0x1ea25: 0x6c5d8e20, 0x1ea26: 0x6cdf7620, 0x1ea27: 0x6c778820, + 0x1ea28: 0x6d264020, 0x1ea29: 0x6c934a20, 0x1ea2a: 0x6c365020, 0x1ea2b: 0x6cf21c20, + 0x1ea2c: 0x6c345420, 0x1ea2d: 0x6d3e7220, 0x1ea2e: 0x6ca64020, 0x1ea2f: 0x6ce8d020, + 0x1ea30: 0x6cd3aa20, 0x1ea31: 0x6c9f6820, 0x1ea32: 0x6c472220, 0x1ea33: 0x6c780e20, + 0x1ea34: 0x6c8d2420, 0x1ea35: 0x6c0dec20, 0x1ea36: 0x6cd8d020, 0x1ea37: 0x6c47a420, + 0x1ea38: 0x6c0f1c20, 0x1ea39: 0x6caf7820, 0x1ea3a: 0x6d238420, 0x1ea3b: 0x6cd8d220, + 0x1ea3c: 0x6d424820, 0x1ea3d: 0x6c101820, 0x1ea3e: 0x6d1f5020, 0x1ea3f: 0x6ce4b020, + // Block 0x7a9, offset 0x1ea40 + 0x1ea40: 0x6c642220, 0x1ea41: 0x6d317620, 0x1ea42: 0x6cd2d420, 0x1ea43: 0x6cd3ac20, + 0x1ea44: 0x6d347a20, 0x1ea45: 0x6c725220, 0x1ea46: 0x6c14d220, 0x1ea47: 0x6cd1da20, + 0x1ea48: 0x6cd1dc20, 0x1ea49: 0x6d089e20, 0x1ea4a: 0x6d2f6820, 0x1ea4b: 0x6c065420, + 0x1ea4c: 0x6c514e20, 0x1ea4d: 0x6c09e620, 0x1ea4e: 0x6cd10e20, 0x1ea4f: 0x6c1e9620, + 0x1ea50: 0x6cd27820, 0x1ea51: 0x6c0f1e20, 0x1ea52: 0x6d3b0e20, 0x1ea53: 0x6c1c3820, + 0x1ea54: 0x6d289220, 0x1ea55: 0x6cb31420, 0x1ea56: 0x6ce76220, 0x1ea57: 0x6cb9aa20, + 0x1ea58: 0x6c3eb020, 0x1ea59: 0x6d2d3020, 0x1ea5a: 0x6c8f0c20, 0x1ea5b: 0x6cb8f820, + 0x1ea5c: 0x6c3eb220, 0x1ea5d: 0x6c864020, 0x1ea5e: 0x6d26ca20, 0x1ea5f: 0x6caf7a20, + 0x1ea60: 0x6d0f5e20, 0x1ea61: 0x6c04fe20, 0x1ea62: 0x6c0e8020, 0x1ea63: 0x6c6b0020, + 0x1ea64: 0x6c465420, 0x1ea65: 0x6cd5ec20, 0x1ea66: 0x6d32da20, 0x1ea67: 0x6ca24c20, + 0x1ea68: 0x6cf7f220, 0x1ea69: 0x6cf7f420, 0x1ea6a: 0x6c2c7620, 0x1ea6b: 0x6c637420, + 0x1ea6c: 0x6ca29e20, 0x1ea6d: 0x6ce06420, 0x1ea6e: 0x6c588820, 0x1ea6f: 0x6d15f220, + 0x1ea70: 0x6cd7fa20, 0x1ea71: 0x6c7bfe20, 0x1ea72: 0x6c761e20, 0x1ea73: 0x6c06ce20, + 0x1ea74: 0x6c66a020, 0x1ea75: 0x6ce77020, 0x1ea76: 0x6d03f420, 0x1ea77: 0x6c537820, + 0x1ea78: 0x6c691c20, 0x1ea79: 0x6c1bbc20, 0x1ea7a: 0x6c37d820, 0x1ea7b: 0x6c961a20, + 0x1ea7c: 0x6c0dee20, 0x1ea7d: 0x6cd3be20, 0x1ea7e: 0x6ca1dc20, 0x1ea7f: 0x6c637820, + // Block 0x7aa, offset 0x1ea80 + 0x1ea80: 0x6d1a8620, 0x1ea81: 0x6c757c20, 0x1ea82: 0x6d389e20, 0x1ea83: 0x6c1d5620, + 0x1ea84: 0x6cfdf620, 0x1ea85: 0x6ce77220, 0x1ea86: 0x6ca14220, 0x1ea87: 0x6c833e20, + 0x1ea88: 0x6c5f0e20, 0x1ea89: 0x6d23b020, 0x1ea8a: 0x6d071e20, 0x1ea8b: 0x6cc57820, + 0x1ea8c: 0x6d421a20, 0x1ea8d: 0x6d36a220, 0x1ea8e: 0x6cbf4c20, 0x1ea8f: 0x6ccd8e20, + 0x1ea90: 0x6c1c5020, 0x1ea91: 0x6cfc2220, 0x1ea92: 0x6d03f620, 0x1ea93: 0x6cc30e20, + 0x1ea94: 0x6caf8020, 0x1ea95: 0x6ce5fe20, 0x1ea96: 0x6d39c020, 0x1ea97: 0x6cfe4820, + 0x1ea98: 0x6ca01220, 0x1ea99: 0x6c7ada20, 0x1ea9a: 0x6d112c20, 0x1ea9b: 0x6cfac220, + 0x1ea9c: 0x6cfb7620, 0x1ea9d: 0x6d04ea20, 0x1ea9e: 0x6c757e20, 0x1ea9f: 0x6c13aa20, + 0x1eaa0: 0x6c81b620, 0x1eaa1: 0x6c607820, 0x1eaa2: 0x6cb06620, 0x1eaa3: 0x6cc7ba20, + 0x1eaa4: 0x6c9cfe20, 0x1eaa5: 0x6d140820, 0x1eaa6: 0x6d19fa20, 0x1eaa7: 0x6c49f220, + 0x1eaa8: 0x6c019020, 0x1eaa9: 0x6c2fd420, 0x1eaaa: 0x6d1fe020, 0x1eaab: 0x6ccb3820, + 0x1eaac: 0x6c77c620, 0x1eaad: 0x6cb9b620, 0x1eaae: 0x6c944220, 0x1eaaf: 0x6cd90020, + 0x1eab0: 0x6c003020, 0x1eab1: 0x6c2e3220, 0x1eab2: 0x6c4efe20, 0x1eab3: 0x6cc8de20, + 0x1eab4: 0x6cd3cc20, 0x1eab5: 0x6c795020, 0x1eab6: 0x6cc09220, 0x1eab7: 0x6cff0c20, + 0x1eab8: 0x6d308620, 0x1eab9: 0x6d054e20, 0x1eaba: 0x6d2a0c20, 0x1eabb: 0x6ce37020, + 0x1eabc: 0x6c263820, 0x1eabd: 0x6c487020, 0x1eabe: 0x6c53d220, 0x1eabf: 0x6d37c820, + // Block 0x7ab, offset 0x1eac0 + 0x1eac0: 0x6ce7de20, 0x1eac1: 0x6c93ac20, 0x1eac2: 0x6c9a2220, 0x1eac3: 0x6c80e220, + 0x1eac4: 0x6ced4a20, 0x1eac5: 0x6d02e620, 0x1eac6: 0x6d27c420, 0x1eac7: 0x6c075420, + 0x1eac8: 0x6cf51e20, 0x1eac9: 0x6cdb0c20, 0x1eaca: 0x6d23dc20, 0x1eacb: 0x6c151420, + 0x1eacc: 0x6c2fb620, 0x1eacd: 0x6c0f4e20, 0x1eace: 0x6c4f0020, 0x1eacf: 0x6c63de20, + 0x1ead0: 0x6c538420, 0x1ead1: 0x6c249220, 0x1ead2: 0x6c3c6620, 0x1ead3: 0x6c14d620, + 0x1ead4: 0x6ced4c20, 0x1ead5: 0x6d36d020, 0x1ead6: 0x6cd82620, 0x1ead7: 0x6d07ca20, + 0x1ead8: 0x6c575620, 0x1ead9: 0x6d228220, 0x1eada: 0x6ce59e20, 0x1eadb: 0x6c45fa20, + 0x1eadc: 0x6d3d9420, 0x1eadd: 0x6c94bc20, 0x1eade: 0x6d03fc20, 0x1eadf: 0x6cbde620, + 0x1eae0: 0x6cd0c420, 0x1eae1: 0x6c4e2e20, 0x1eae2: 0x6c94be20, 0x1eae3: 0x6d128a20, + 0x1eae4: 0x6c1eac20, 0x1eae5: 0x6d2bae20, 0x1eae6: 0x6c70c420, 0x1eae7: 0x6cfd0220, + 0x1eae8: 0x6ce60020, 0x1eae9: 0x6c987020, 0x1eaea: 0x6cb4b420, 0x1eaeb: 0x6c843620, + 0x1eaec: 0x6cacc020, 0x1eaed: 0x6cc8e020, 0x1eaee: 0x6c1a3220, 0x1eaef: 0x6c435820, + 0x1eaf0: 0x6c852820, 0x1eaf1: 0x6ce28220, 0x1eaf2: 0x6c0e4420, 0x1eaf3: 0x6d3b2420, + 0x1eaf4: 0x6d327e20, 0x1eaf5: 0x6ce87a20, 0x1eaf6: 0x6c8f1820, 0x1eaf7: 0x6d41d420, + 0x1eaf8: 0x6c729a20, 0x1eaf9: 0x6c16fa20, 0x1eafa: 0x6d25f020, 0x1eafb: 0x6c66d820, + 0x1eafc: 0x6c429220, 0x1eafd: 0x6c2e4020, 0x1eafe: 0x6ce24020, 0x1eaff: 0x6c16c620, + // Block 0x7ac, offset 0x1eb00 + 0x1eb00: 0x6c951020, 0x1eb01: 0x6c4cd020, 0x1eb02: 0x6c8d5c20, 0x1eb03: 0x6c06ba20, + 0x1eb04: 0x6c92de20, 0x1eb05: 0x6c845020, 0x1eb06: 0x6cbade20, 0x1eb07: 0x6cb3e220, + 0x1eb08: 0x6c732e20, 0x1eb09: 0x6c9f7a20, 0x1eb0a: 0x6d41d620, 0x1eb0b: 0x6caeca20, + 0x1eb0c: 0x6c01d020, 0x1eb0d: 0x6caf9020, 0x1eb0e: 0x6cfd1420, 0x1eb0f: 0x6d0afa20, + 0x1eb10: 0x6d3c6820, 0x1eb11: 0x6c834620, 0x1eb12: 0x6c783220, 0x1eb13: 0x6c798a20, + 0x1eb14: 0x6cdea820, 0x1eb15: 0x6c7d8420, 0x1eb16: 0x6c31bc20, 0x1eb17: 0x6ca59020, + 0x1eb18: 0x6c20e220, 0x1eb19: 0x6d3e9820, 0x1eb1a: 0x6d32ec20, 0x1eb1b: 0x6c078c20, + 0x1eb1c: 0x6ca87620, 0x1eb1d: 0x6d403620, 0x1eb1e: 0x6c216620, 0x1eb1f: 0x6ce01420, + 0x1eb20: 0x6c2fba20, 0x1eb21: 0x6cb65420, 0x1eb22: 0x6cb9cc20, 0x1eb23: 0x6d3cac20, + 0x1eb24: 0x6c5f4820, 0x1eb25: 0x6d23fa20, 0x1eb26: 0x6c6cb620, 0x1eb27: 0x6c496620, + 0x1eb28: 0x6c990820, 0x1eb29: 0x6c167c20, 0x1eb2a: 0x6ce51c20, 0x1eb2b: 0x6cf6de20, + 0x1eb2c: 0x6c891e20, 0x1eb2d: 0x6ce24220, 0x1eb2e: 0x6c482820, 0x1eb2f: 0x6c263a20, + 0x1eb30: 0x6cd61420, 0x1eb31: 0x6d319c20, 0x1eb32: 0x6c92e020, 0x1eb33: 0x6c9be820, + 0x1eb34: 0x6c92e220, 0x1eb35: 0x6c571820, 0x1eb36: 0x6c0c8020, 0x1eb37: 0x6c40cc20, + 0x1eb38: 0x6c7f2c20, 0x1eb39: 0x6c790e20, 0x1eb3a: 0x6c39ec20, 0x1eb3b: 0x6cf55820, + 0x1eb3c: 0x6ca3d820, 0x1eb3d: 0x6ced9c20, 0x1eb3e: 0x6d299c20, 0x1eb3f: 0x6c570020, + // Block 0x7ad, offset 0x1eb40 + 0x1eb40: 0x6c2a8620, 0x1eb41: 0x6cfada20, 0x1eb42: 0x6cb10220, 0x1eb43: 0x6c5d6020, + 0x1eb44: 0x6c89cc20, 0x1eb45: 0x6c384820, 0x1eb46: 0x6c9ad820, 0x1eb47: 0x6c767220, + 0x1eb48: 0x6d1bf220, 0x1eb49: 0x6c2b4a20, 0x1eb4a: 0x6c892220, 0x1eb4b: 0x6c4c4020, + 0x1eb4c: 0x6cfc3620, 0x1eb4d: 0x6c328220, 0x1eb4e: 0x6ce8fc20, 0x1eb4f: 0x6cef4420, + 0x1eb50: 0x6d3fca20, 0x1eb51: 0x6c406a20, 0x1eb52: 0x6cc76620, 0x1eb53: 0x6c60d220, + 0x1eb54: 0x6c36ba20, 0x1eb55: 0x6c758620, 0x1eb56: 0x6c191420, 0x1eb57: 0x6ce38c20, + 0x1eb58: 0x6d2c5820, 0x1eb59: 0x6c56d420, 0x1eb5a: 0x6d0fe020, 0x1eb5b: 0x6c32de20, + 0x1eb5c: 0x6cfa0420, 0x1eb5d: 0x6d21c220, 0x1eb5e: 0x6c795a20, 0x1eb5f: 0x6d03aa20, + 0x1eb60: 0x6c5a1020, 0x1eb61: 0x6cf03220, 0x1eb62: 0x6c406c20, 0x1eb63: 0x6d2f7620, + 0x1eb64: 0x6c13b620, 0x1eb65: 0x6cbcee20, 0x1eb66: 0x6cd20620, 0x1eb67: 0x6c52d620, + 0x1eb68: 0x6c7ca820, 0x1eb69: 0x6ce51e20, 0x1eb6a: 0x6ca1ee20, 0x1eb6b: 0x6cbbbc20, + 0x1eb6c: 0x6cbbbe20, 0x1eb6d: 0x6c543820, 0x1eb6e: 0x6ce7e020, 0x1eb6f: 0x6c236c20, + 0x1eb70: 0x6c58ae20, 0x1eb71: 0x6d136620, 0x1eb72: 0x6c9f7e20, 0x1eb73: 0x6c66e620, + 0x1eb74: 0x6c32a420, 0x1eb75: 0x6c66da20, 0x1eb76: 0x6cd94220, 0x1eb77: 0x6c7caa20, + 0x1eb78: 0x6c55d220, 0x1eb79: 0x6d07d820, 0x1eb7a: 0x6c34b620, 0x1eb7b: 0x6c6b4a20, + 0x1eb7c: 0x6d31a020, 0x1eb7d: 0x6c0b0e20, 0x1eb7e: 0x6d37d020, 0x1eb7f: 0x6d3ea220, + // Block 0x7ae, offset 0x1eb80 + 0x1eb80: 0x6d04fe20, 0x1eb81: 0x6d129020, 0x1eb82: 0x6c9a6e20, 0x1eb83: 0x6cac3420, + 0x1eb84: 0x6c003620, 0x1eb85: 0x6c6c0c20, 0x1eb86: 0x6cba9420, 0x1eb87: 0x6c9a3220, + 0x1eb88: 0x6cdda220, 0x1eb89: 0x6c26ca20, 0x1eb8a: 0x6c059620, 0x1eb8b: 0x6cfa0a20, + 0x1eb8c: 0x6c887a20, 0x1eb8d: 0x6cddaa20, 0x1eb8e: 0x6c769a20, 0x1eb8f: 0x6c8ec020, + 0x1eb90: 0x6d116420, 0x1eb91: 0x6d137420, 0x1eb92: 0x6caa2e20, 0x1eb93: 0x6cf23e20, + 0x1eb94: 0x6cc6d420, 0x1eb95: 0x6ce15420, 0x1eb96: 0x6cddac20, 0x1eb97: 0x6cbaf220, + 0x1eb98: 0x6c86e020, 0x1eb99: 0x6cd7a620, 0x1eb9a: 0x6c20e420, 0x1eb9b: 0x6c0f9620, + 0x1eb9c: 0x6cac8620, 0x1eb9d: 0x6c266e20, 0x1eb9e: 0x6c089620, 0x1eb9f: 0x6cca9020, + 0x1eba0: 0x6c429420, 0x1eba1: 0x6d3ea620, 0x1eba2: 0x6cf38c20, 0x1eba3: 0x6d1cb420, + 0x1eba4: 0x6c5a7e20, 0x1eba5: 0x6ce5aa20, 0x1eba6: 0x6c8ec220, 0x1eba7: 0x6c767420, + 0x1eba8: 0x6cdd0220, 0x1eba9: 0x6ccc2220, 0x1ebaa: 0x6cd9f020, 0x1ebab: 0x6ceda820, + 0x1ebac: 0x6c507620, 0x1ebad: 0x6d327020, 0x1ebae: 0x6d327220, 0x1ebaf: 0x6c80e820, + 0x1ebb0: 0x6d18fc20, 0x1ebb1: 0x6d25c420, 0x1ebb2: 0x6ce18620, 0x1ebb3: 0x6ca88a20, + 0x1ebb4: 0x6cf7b020, 0x1ebb5: 0x6c638c20, 0x1ebb6: 0x6c43ba20, 0x1ebb7: 0x6c96a820, + 0x1ebb8: 0x6c730620, 0x1ebb9: 0x6cd9a220, 0x1ebba: 0x6d413420, 0x1ebbb: 0x6cddae20, + 0x1ebbc: 0x6cfa5620, 0x1ebbd: 0x6c3d0220, 0x1ebbe: 0x6cf21e20, 0x1ebbf: 0x6ca2ec20, + // Block 0x7af, offset 0x1ebc0 + 0x1ebc0: 0x6c91fa20, 0x1ebc1: 0x6cddb020, 0x1ebc2: 0x6cab6020, 0x1ebc3: 0x6d40f620, + 0x1ebc4: 0x6ce96e20, 0x1ebc5: 0x6d050820, 0x1ebc6: 0x6c49b220, 0x1ebc7: 0x6d08cc20, + 0x1ebc8: 0x6c892620, 0x1ebc9: 0x6cd48620, 0x1ebca: 0x6c02f820, 0x1ebcb: 0x6c97d420, + 0x1ebcc: 0x6ca18020, 0x1ebcd: 0x6c956620, 0x1ebce: 0x6c0a9e20, 0x1ebcf: 0x6cf0fe20, + 0x1ebd0: 0x6c8ed020, 0x1ebd1: 0x6c2bb220, 0x1ebd2: 0x6cca3620, 0x1ebd3: 0x6d401220, + 0x1ebd4: 0x6d158a20, 0x1ebd5: 0x6c932020, 0x1ebd6: 0x6c028220, 0x1ebd7: 0x6c796220, + 0x1ebd8: 0x6cbafa20, 0x1ebd9: 0x6c24f820, 0x1ebda: 0x6cb54e20, 0x1ebdb: 0x6c16d220, + 0x1ebdc: 0x6ce0dc20, 0x1ebdd: 0x6c981020, 0x1ebde: 0x6d1dd020, 0x1ebdf: 0x6c160620, + 0x1ebe0: 0x6c3c7220, 0x1ebe1: 0x6c6ebe20, 0x1ebe2: 0x6c0c4820, 0x1ebe3: 0x6cd62a20, + 0x1ebe4: 0x6c912420, 0x1ebe5: 0x6d055820, 0x1ebe6: 0x6c237420, 0x1ebe7: 0x6c8fce20, + 0x1ebe8: 0x6d29b020, 0x1ebe9: 0x6c670820, 0x1ebea: 0x6c12a220, 0x1ebeb: 0x6c849220, + 0x1ebec: 0x6cfa5c20, 0x1ebed: 0x6cf72020, 0x1ebee: 0x6c776020, 0x1ebef: 0x6cd6f820, + 0x1ebf0: 0x6c086220, 0x1ebf1: 0x6d2f4a20, 0x1ebf2: 0x6cba9620, 0x1ebf3: 0x6c19a620, + 0x1ebf4: 0x6c933420, 0x1ebf5: 0x6c576820, 0x1ebf6: 0x6c60f220, 0x1ebf7: 0x6cb47220, + 0x1ebf8: 0x6c5c8c20, 0x1ebf9: 0x6cbb5020, 0x1ebfa: 0x6cb32420, 0x1ebfb: 0x6c8c0220, + 0x1ebfc: 0x6ccb9020, 0x1ebfd: 0x6d055a20, 0x1ebfe: 0x6cca3c20, 0x1ebff: 0x6c19a820, + // Block 0x7b0, offset 0x1ec00 + 0x1ec00: 0x6c7d3a20, 0x1ec01: 0x6cd84820, 0x1ec02: 0x6c8f5420, 0x1ec03: 0x6ca4d220, + 0x1ec04: 0x6c5a2220, 0x1ec05: 0x6cb1e020, 0x1ec06: 0x6cdcb020, 0x1ec07: 0x6c38ea20, + 0x1ec08: 0x6cbc0e20, 0x1ec09: 0x6cc2aa20, 0x1ec0a: 0x6d0fee20, 0x1ec0b: 0x6ce0de20, + 0x1ec0c: 0x6cfe6620, 0x1ec0d: 0x6c750420, 0x1ec0e: 0x6c68a420, 0x1ec0f: 0x6d41fc20, + 0x1ec10: 0x6c8a4e20, 0x1ec11: 0x6cbd0420, 0x1ec12: 0x6c819020, 0x1ec13: 0x6c338020, + 0x1ec14: 0x6d030620, 0x1ec15: 0x6d295820, 0x1ec16: 0x6c5f8e20, 0x1ec17: 0x6c661e20, + 0x1ec18: 0x6d37da20, 0x1ec19: 0x6c2af620, 0x1ec1a: 0x6d0b0620, 0x1ec1b: 0x6d1d5c20, + 0x1ec1c: 0x6c331e20, 0x1ec1d: 0x6c750620, 0x1ec1e: 0x6caa3020, 0x1ec1f: 0x6d295a20, + 0x1ec20: 0x6cb4a420, 0x1ec21: 0x6ce60620, 0x1ec22: 0x6c38ec20, 0x1ec23: 0x6d2f4c20, + 0x1ec24: 0x6c2f8a20, 0x1ec25: 0x6ccdda20, 0x1ec26: 0x6c764220, 0x1ec27: 0x6c653820, + 0x1ec28: 0x6c3af020, 0x1ec29: 0x6cdcba20, 0x1ec2a: 0x6c920020, 0x1ec2b: 0x6c730c20, + 0x1ec2c: 0x6c5c9420, 0x1ec2d: 0x6d246a20, 0x1ec2e: 0x6c889c20, 0x1ec2f: 0x6d3dcc20, + 0x1ec30: 0x6cbbc820, 0x1ec31: 0x6c672220, 0x1ec32: 0x6d3dde20, 0x1ec33: 0x6c828c20, + 0x1ec34: 0x6c0ac820, 0x1ec35: 0x6ce60820, 0x1ec36: 0x6c58c220, 0x1ec37: 0x6d138c20, + 0x1ec38: 0x6c346c20, 0x1ec39: 0x6c4cd620, 0x1ec3a: 0x6c29ac20, 0x1ec3b: 0x6c72ce20, + 0x1ec3c: 0x6c3bac20, 0x1ec3d: 0x6c26d620, 0x1ec3e: 0x6c077220, 0x1ec3f: 0x6d194a20, + // Block 0x7b1, offset 0x1ec40 + 0x1ec40: 0x6c010820, 0x1ec41: 0x6d3fe220, 0x1ec42: 0x6d0aba20, 0x1ec43: 0x6c2e4e20, + 0x1ec44: 0x6d3b4e20, 0x1ec45: 0x6c528620, 0x1ec46: 0x6d3cc220, 0x1ec47: 0x6c5fa220, + 0x1ec48: 0x6ca8be20, 0x1ec49: 0x6c51a620, 0x1ec4a: 0x6c5e4c20, 0x1ec4b: 0x6cbe6020, + 0x1ec4c: 0x6c0d7020, 0x1ec4d: 0x6d1c3e20, 0x1ec4e: 0x6c7d4020, 0x1ec4f: 0x6ca93c20, + 0x1ec50: 0x6d060e20, 0x1ec51: 0x6c672620, 0x1ec52: 0x6c672820, 0x1ec53: 0x6cba9a20, + 0x1ec54: 0x6c142620, 0x1ec55: 0x6d377220, 0x1ec56: 0x6c9f1620, 0x1ec57: 0x6c84ce20, + 0x1ec58: 0x6c829820, 0x1ec59: 0x6c5fa620, 0x1ec5a: 0x6d416620, 0x1ec5b: 0x6c7c2220, + 0x1ec5c: 0x6cce4420, 0x1ec5d: 0x6caefc20, 0x1ec5e: 0x6c7ece20, 0x1ec5f: 0x6c320020, + 0x1ec60: 0x6cd7b020, 0x1ec61: 0x6c21ec20, 0x1ec62: 0x6c942820, 0x1ec63: 0x6c0c6220, + 0x1ec64: 0x6c068420, 0x1ec65: 0x6c920420, 0x1ec66: 0x6cfd5c20, 0x1ec67: 0x6c7b7e20, + 0x1ec68: 0x6c901020, 0x1ec69: 0x6c36fa20, 0x1ec6a: 0x6c91a220, 0x1ec6b: 0x6d02f820, + 0x1ec6c: 0x6c672c20, 0x1ec6d: 0x6c809420, 0x1ec6e: 0x6c0fd620, 0x1ec6f: 0x6c655620, + 0x1ec70: 0x6d125820, 0x1ec71: 0x6c157e20, 0x1ec72: 0x6cfda620, 0x1ec73: 0x6c673020, + 0x1ec74: 0x6cf76220, 0x1ec75: 0x6c49c820, 0x1ec76: 0x6c125620, 0x1ec77: 0x6ca8d220, + 0x1ec78: 0x6c831620, 0x1ec79: 0x6c249c20, 0x1ec7a: 0x6cc23020, 0x1ec7b: 0x6cacc820, + 0x1ec7c: 0x6c959420, 0x1ec7d: 0x6d414420, 0x1ec7e: 0x6c947a20, 0x1ec7f: 0x6d2a3820, + // Block 0x7b2, offset 0x1ec80 + 0x1ec80: 0x6ca8d820, 0x1ec81: 0x6c753e20, 0x1ec82: 0x6ce19820, 0x1ec83: 0x6cd58e20, + 0x1ec84: 0x6c801c20, 0x1ec85: 0x6c6c2220, 0x1ec86: 0x6c40c420, 0x1ec87: 0x6d15b420, + 0x1ec88: 0x6d312020, 0x1ec89: 0x6c2f5220, 0x1ec8a: 0x6d2f5220, 0x1ec8b: 0x6cb2f020, + 0x1ec8c: 0x6c8a6620, 0x1ec8d: 0x6ce91820, 0x1ec8e: 0x6cb8ba20, 0x1ec8f: 0x6c203220, + 0x1ec90: 0x6cccca20, 0x1ec91: 0x6c5fe820, 0x1ec92: 0x6c388e20, 0x1ec93: 0x6c2e0a20, + 0x1ec94: 0x6c9ac420, 0x1ec95: 0x6caa7020, 0x1ec96: 0x6d0f8c20, 0x1ec97: 0x6c146420, + 0x1ec98: 0x6d03d620, 0x1ec99: 0x6c413020, 0x1ec9a: 0x6c107a20, 0x1ec9b: 0x6cdf6620, + 0x1ec9c: 0x6c721c20, 0x1ec9d: 0x6c33e620, 0x1ec9e: 0x6c173e20, 0x1ec9f: 0x6d37ac20, + 0x1eca0: 0x6ca32220, 0x1eca1: 0x6c06f620, 0x1eca2: 0x6c426a20, 0x1eca3: 0x6c04c420, + 0x1eca4: 0x6cb97a20, 0x1eca5: 0x6d11fa20, 0x1eca6: 0x6cbd2220, 0x1eca7: 0x6c756620, + 0x1eca8: 0x6cf35e20, 0x1eca9: 0x6c463c20, 0x1ecaa: 0x6c778420, 0x1ecab: 0x6c398e20, + 0x1ecac: 0x6c5d8c20, 0x1ecad: 0x6ce80a20, 0x1ecae: 0x6ca98e20, 0x1ecaf: 0x6c039c20, + 0x1ecb0: 0x6d22fa20, 0x1ecb1: 0x6cb98420, 0x1ecb2: 0x6d32aa20, 0x1ecb3: 0x6cb98620, + 0x1ecb4: 0x6c477820, 0x1ecb5: 0x6c0e6820, 0x1ecb6: 0x6c353c20, 0x1ecb7: 0x6cb35220, + 0x1ecb8: 0x6c108e20, 0x1ecb9: 0x6c0ee220, 0x1ecba: 0x6d26a020, 0x1ecbb: 0x6d413820, + 0x1ecbc: 0x6ca28020, 0x1ecbd: 0x6ce05a20, 0x1ecbe: 0x6c641020, 0x1ecbf: 0x6c2d4a20, + // Block 0x7b3, offset 0x1ecc0 + 0x1ecc0: 0x6d1f2620, 0x1ecc1: 0x6ce5f820, 0x1ecc2: 0x6c0ee420, 0x1ecc3: 0x6c8cd620, + 0x1ecc4: 0x6cd77a20, 0x1ecc5: 0x6cb8d020, 0x1ecc6: 0x6c993620, 0x1ecc7: 0x6c064420, + 0x1ecc8: 0x6cd36620, 0x1ecc9: 0x6d088420, 0x1ecca: 0x6cdde820, 0x1eccb: 0x6c097220, + 0x1eccc: 0x6ca5d220, 0x1eccd: 0x6caf5e20, 0x1ecce: 0x6c344220, 0x1eccf: 0x6d03e420, + 0x1ecd0: 0x6c77bc20, 0x1ecd1: 0x6c81b020, 0x1ecd2: 0x6c379420, 0x1ecd3: 0x6c985e20, + 0x1ecd4: 0x6d0ba820, 0x1ecd5: 0x6d1fc620, 0x1ecd6: 0x6c19f620, 0x1ecd7: 0x6c63bc20, + 0x1ecd8: 0x6d127e20, 0x1ecd9: 0x6ca4a820, 0x1ecda: 0x6d361020, 0x1ecdb: 0x6c29aa20, + 0x1ecdc: 0x6ce74620, 0x1ecdd: 0x6c939820, 0x1ecde: 0x6c2e2220, 0x1ecdf: 0x6d19d220, + 0x1ece0: 0x6c765020, 0x1ece1: 0x6d2c2e20, 0x1ece2: 0x6d39a220, 0x1ece3: 0x6cf7e420, + 0x1ece4: 0x6c2fa220, 0x1ece5: 0x6c2fd220, 0x1ece6: 0x6cfaa420, 0x1ece7: 0x6c573a20, + 0x1ece8: 0x6cc2e820, 0x1ece9: 0x6ccbf020, 0x1ecea: 0x6c4cfa20, 0x1eceb: 0x6c2e2420, + 0x1ecec: 0x6c448620, 0x1eced: 0x6c9ffc20, 0x1ecee: 0x6d32be20, 0x1ecef: 0x6ccb2620, + 0x1ecf0: 0x6c68ec20, 0x1ecf1: 0x6d13ec20, 0x1ecf2: 0x6c15b220, 0x1ecf3: 0x6c1d4e20, + 0x1ecf4: 0x6ce0be20, 0x1ecf5: 0x6c018220, 0x1ecf6: 0x6d1a6220, 0x1ecf7: 0x6cc7a820, + 0x1ecf8: 0x6d3b0620, 0x1ecf9: 0x6c815c20, 0x1ecfa: 0x6cb4ac20, 0x1ecfb: 0x6cf3cc20, + 0x1ecfc: 0x6c7f1020, 0x1ecfd: 0x6ce27c20, 0x1ecfe: 0x6c890020, 0x1ecff: 0x6c794420, + // Block 0x7b4, offset 0x1ed00 + 0x1ed00: 0x6cfed020, 0x1ed01: 0x6cdd6820, 0x1ed02: 0x6c851a20, 0x1ed03: 0x6d2bac20, + 0x1ed04: 0x6c1e8620, 0x1ed05: 0x6c4c2220, 0x1ed06: 0x6c434a20, 0x1ed07: 0x6c357020, + 0x1ed08: 0x6d053e20, 0x1ed09: 0x6c262e20, 0x1ed0a: 0x6c94aa20, 0x1ed0b: 0x6c3c5220, + 0x1ed0c: 0x6d02da20, 0x1ed0d: 0x6c8f0a20, 0x1ed0e: 0x6c763220, 0x1ed0f: 0x6c65a220, + 0x1ed10: 0x6cc8d020, 0x1ed11: 0x6ce2f220, 0x1ed12: 0x6c80ce20, 0x1ed13: 0x6cbdda20, + 0x1ed14: 0x6c70a420, 0x1ed15: 0x6c000820, 0x1ed16: 0x6cbac620, 0x1ed17: 0x6d30da20, + 0x1ed18: 0x6cab0020, 0x1ed19: 0x6c263220, 0x1ed1a: 0x6c98ee20, 0x1ed1b: 0x6c078a20, + 0x1ed1c: 0x6cb60620, 0x1ed1d: 0x6c2a7820, 0x1ed1e: 0x6c78be20, 0x1ed1f: 0x6c7d7420, + 0x1ed20: 0x6c167620, 0x1ed21: 0x6cf65e20, 0x1ed22: 0x6c482020, 0x1ed23: 0x6c954c20, + 0x1ed24: 0x6c20da20, 0x1ed25: 0x6d3c6420, 0x1ed26: 0x6c6c9a20, 0x1ed27: 0x6d367420, + 0x1ed28: 0x6cfab620, 0x1ed29: 0x6c732220, 0x1ed2a: 0x6c5d5820, 0x1ed2b: 0x6caddc20, + 0x1ed2c: 0x6cdfee20, 0x1ed2d: 0x6c2fae20, 0x1ed2e: 0x6c66a220, 0x1ed2f: 0x6c725c20, + 0x1ed30: 0x6c9bdc20, 0x1ed31: 0x6d3e6620, 0x1ed32: 0x6cbcdc20, 0x1ed33: 0x6d1bc820, + 0x1ed34: 0x6c766a20, 0x1ed35: 0x6cbad420, 0x1ed36: 0x6cd80a20, 0x1ed37: 0x6c367820, + 0x1ed38: 0x6c13ac20, 0x1ed39: 0x6cbb9420, 0x1ed3a: 0x6d37c420, 0x1ed3b: 0x6c32d620, + 0x1ed3c: 0x6cd9d220, 0x1ed3d: 0x6c59e820, 0x1ed3e: 0x6c588c20, 0x1ed3f: 0x6c003220, + // Block 0x7b5, offset 0x1ed40 + 0x1ed40: 0x6c327020, 0x1ed41: 0x6c9a6420, 0x1ed42: 0x6c911420, 0x1ed43: 0x6d3e7420, + 0x1ed44: 0x6c3ac020, 0x1ed45: 0x6c9a1c20, 0x1ed46: 0x6ca15820, 0x1ed47: 0x6d325c20, + 0x1ed48: 0x6c0f5020, 0x1ed49: 0x6c442a20, 0x1ed4a: 0x6ca86620, 0x1ed4b: 0x6ce18220, + 0x1ed4c: 0x6c730220, 0x1ed4d: 0x6ca86820, 0x1ed4e: 0x6ca2e820, 0x1ed4f: 0x6c8e8e20, + 0x1ed50: 0x6c431e20, 0x1ed51: 0x6c058a20, 0x1ed52: 0x6d186c20, 0x1ed53: 0x6c638020, + 0x1ed54: 0x6c0d4e20, 0x1ed55: 0x6cc6ac20, 0x1ed56: 0x6c0c2420, 0x1ed57: 0x6ce0d620, + 0x1ed58: 0x6c980620, 0x1ed59: 0x6c955420, 0x1ed5a: 0x6c085420, 0x1ed5b: 0x6d1dbc20, + 0x1ed5c: 0x6c6eae20, 0x1ed5d: 0x6c2b4620, 0x1ed5e: 0x6d40dc20, 0x1ed5f: 0x6d08b420, + 0x1ed60: 0x6c8ea620, 0x1ed61: 0x6c153220, 0x1ed62: 0x6c74d020, 0x1ed63: 0x6c8aac20, + 0x1ed64: 0x6cb46420, 0x1ed65: 0x6c91e220, 0x1ed66: 0x6c336e20, 0x1ed67: 0x6c7fc820, + 0x1ed68: 0x6cb49e20, 0x1ed69: 0x6c249420, 0x1ed6a: 0x6cbae820, 0x1ed6b: 0x6c2aee20, + 0x1ed6c: 0x6c5e1e20, 0x1ed6d: 0x6c826e20, 0x1ed6e: 0x6c58b220, 0x1ed6f: 0x6d3dc420, + 0x1ed70: 0x6c887c20, 0x1ed71: 0x6d18fe20, 0x1ed72: 0x6c142420, 0x1ed73: 0x6c0c4e20, + 0x1ed74: 0x6c7eba20, 0x1ed75: 0x6c157020, 0x1ed76: 0x6cfda020, 0x1ed77: 0x6d2f0020, + 0x1ed78: 0x6c169c20, 0x1ed79: 0x6c6fbc20, 0x1ed7a: 0x6c02a420, 0x1ed7b: 0x6c2eb820, + 0x1ed7c: 0x6cc13c20, 0x1ed7d: 0x6c8a8420, 0x1ed7e: 0x6c9caa20, 0x1ed7f: 0x6d2efa20, + // Block 0x7b6, offset 0x1ed80 + 0x1ed80: 0x6c9ac620, 0x1ed81: 0x6c96b620, 0x1ed82: 0x6cd68220, 0x1ed83: 0x6ccd3c20, + 0x1ed84: 0x6c5db420, 0x1ed85: 0x6c9ac820, 0x1ed86: 0x6d0c8e20, 0x1ed87: 0x6c098e20, + 0x1ed88: 0x6c4eba20, 0x1ed89: 0x6c099020, 0x1ed8a: 0x6ccdfa20, 0x1ed8b: 0x6c763420, + 0x1ed8c: 0x6c778a20, 0x1ed8d: 0x6c07f220, 0x1ed8e: 0x6c535c20, 0x1ed8f: 0x6cc8fe20, + 0x1ed90: 0x6cca5820, 0x1ed91: 0x6cfb6420, 0x1ed92: 0x6cfb6620, 0x1ed93: 0x6c64ac20, + 0x1ed94: 0x6c9fb420, 0x1ed95: 0x6cf96820, 0x1ed96: 0x6cd74020, 0x1ed97: 0x6c312020, + 0x1ed98: 0x6d2c3c20, 0x1ed99: 0x6ca53420, 0x1ed9a: 0x6d2d8820, 0x1ed9b: 0x6cae7820, + 0x1ed9c: 0x6cfa2220, 0x1ed9d: 0x6c8d2820, 0x1ed9e: 0x6c0bae20, 0x1ed9f: 0x6c09e820, + 0x1eda0: 0x6cc90020, 0x1eda1: 0x6c00be20, 0x1eda2: 0x6c492020, 0x1eda3: 0x6c441620, + 0x1eda4: 0x6c441820, 0x1eda5: 0x6c382220, 0x1eda6: 0x6c1f6620, 0x1eda7: 0x6c53c820, + 0x1eda8: 0x6c4a7e20, 0x1eda9: 0x6c9fbe20, 0x1edaa: 0x6ccb1220, 0x1edab: 0x6c7dc020, + 0x1edac: 0x6c812c20, 0x1edad: 0x6c935a20, 0x1edae: 0x6ce68820, 0x1edaf: 0x6ccc7620, + 0x1edb0: 0x6c714820, 0x1edb1: 0x6d26e420, 0x1edb2: 0x6d26e620, 0x1edb3: 0x6c15e020, + 0x1edb4: 0x6cc27620, 0x1edb5: 0x6c8c6a20, 0x1edb6: 0x6c167e20, 0x1edb7: 0x6ccca420, + 0x1edb8: 0x6c7dc220, 0x1edb9: 0x6d0c3020, 0x1edba: 0x6cf1b220, 0x1edbb: 0x6d0cd420, + 0x1edbc: 0x6c36b020, 0x1edbd: 0x6c5cda20, 0x1edbe: 0x6d23fc20, 0x1edbf: 0x6cf1b420, + // Block 0x7b7, offset 0x1edc0 + 0x1edc0: 0x6cfe6020, 0x1edc1: 0x6c05be20, 0x1edc2: 0x6c53d620, 0x1edc3: 0x6cc28020, + 0x1edc4: 0x6d11dc20, 0x1edc5: 0x6cf1ba20, 0x1edc6: 0x6c04d820, 0x1edc7: 0x6c01d220, + 0x1edc8: 0x6cef4620, 0x1edc9: 0x6d1a1020, 0x1edca: 0x6c7e2020, 0x1edcb: 0x6cc40a20, + 0x1edcc: 0x6c7fca20, 0x1edcd: 0x6c317c20, 0x1edce: 0x6cc38620, 0x1edcf: 0x6c3c6e20, + 0x1edd0: 0x6ce4cc20, 0x1edd1: 0x6ca88c20, 0x1edd2: 0x6cdec420, 0x1edd3: 0x6c767620, + 0x1edd4: 0x6c518a20, 0x1edd5: 0x6cc40e20, 0x1edd6: 0x6c209c20, 0x1edd7: 0x6c493020, + 0x1edd8: 0x6c314620, 0x1edd9: 0x6cb72420, 0x1edda: 0x6c7c4e20, 0x1eddb: 0x6ce15c20, + 0x1eddc: 0x6c493420, 0x1eddd: 0x6cb18a20, 0x1edde: 0x6c771820, 0x1eddf: 0x6cf92420, + 0x1ede0: 0x6c5c8e20, 0x1ede1: 0x6c160e20, 0x1ede2: 0x6cb0dc20, 0x1ede3: 0x6c29a420, + 0x1ede4: 0x6c58c420, 0x1ede5: 0x6cdeda20, 0x1ede6: 0x6cf1c220, 0x1ede7: 0x6cde0220, + 0x1ede8: 0x6c9abe20, 0x1ede9: 0x6cd67e20, 0x1edea: 0x6ccd2820, 0x1edeb: 0x6d0e3820, + 0x1edec: 0x6c4e8820, 0x1eded: 0x6c090e20, 0x1edee: 0x6cf1f820, 0x1edef: 0x6c208c20, + 0x1edf0: 0x6cc8f820, 0x1edf1: 0x6ceee620, 0x1edf2: 0x6cfb2820, 0x1edf3: 0x6c52fe20, + 0x1edf4: 0x6c646620, 0x1edf5: 0x6c9f9220, 0x1edf6: 0x6c772620, 0x1edf7: 0x6c9aea20, + 0x1edf8: 0x6d2c2420, 0x1edf9: 0x6ca52a20, 0x1edfa: 0x6c4a4220, 0x1edfb: 0x6cf18820, + 0x1edfc: 0x6cde3e20, 0x1edfd: 0x6c9fa020, 0x1edfe: 0x6c935420, 0x1edff: 0x6c764e20, + // Block 0x7b8, offset 0x1ee00 + 0x1ee00: 0x6c380a20, 0x1ee01: 0x6c43ce20, 0x1ee02: 0x6c50e620, 0x1ee03: 0x6c7da420, + 0x1ee04: 0x6c6f6820, 0x1ee05: 0x6d26a220, 0x1ee06: 0x6c80b020, 0x1ee07: 0x6c316c20, + 0x1ee08: 0x6d232820, 0x1ee09: 0x6d0c0420, 0x1ee0a: 0x6c166c20, 0x1ee0b: 0x6cf88020, + 0x1ee0c: 0x6cf19420, 0x1ee0d: 0x6c5cc620, 0x1ee0e: 0x6d0c9020, 0x1ee0f: 0x6c362020, + 0x1ee10: 0x6c15b420, 0x1ee11: 0x6c7fa020, 0x1ee12: 0x6cc27020, 0x1ee13: 0x6c5bce20, + 0x1ee14: 0x6c7e0220, 0x1ee15: 0x6cc3c620, 0x1ee16: 0x6c515020, 0x1ee17: 0x6ce4b220, + 0x1ee18: 0x6c26b220, 0x1ee19: 0x6cc39020, 0x1ee1a: 0x6c4e5e20, 0x1ee1b: 0x6c58a220, + 0x1ee1c: 0x6c3fba20, 0x1ee1d: 0x6c3f9e20, 0x1ee1e: 0x6c820620, 0x1ee1f: 0x6c332a20, + 0x1ee20: 0x6d031020, 0x1ee21: 0x6cb89020, 0x1ee22: 0x6cf49a20, 0x1ee23: 0x6c412620, + 0x1ee24: 0x6d356a20, 0x1ee25: 0x6d19a020, 0x1ee26: 0x6d0f7820, 0x1ee27: 0x6c30d620, + 0x1ee28: 0x6c35ce20, 0x1ee29: 0x6cd0d620, 0x1ee2a: 0x6c04b220, 0x1ee2b: 0x6cadc620, + 0x1ee2c: 0x6c792220, 0x1ee2d: 0x6d27d420, 0x1ee2e: 0x6cc84c20, 0x1ee2f: 0x6d34da20, + 0x1ee30: 0x6cafac20, 0x1ee31: 0x6c6e0420, 0x1ee32: 0x6c39a020, 0x1ee33: 0x6d0f7a20, + 0x1ee34: 0x6d19a220, 0x1ee35: 0x6d321020, 0x1ee36: 0x6c69f420, 0x1ee37: 0x6c195020, + 0x1ee38: 0x6c35d620, 0x1ee39: 0x6cc0d620, 0x1ee3a: 0x6c2bd220, 0x1ee3b: 0x6d410a20, + 0x1ee3c: 0x6d427820, 0x1ee3d: 0x6c2d3820, 0x1ee3e: 0x6c8e0820, 0x1ee3f: 0x6c000220, + // Block 0x7b9, offset 0x1ee40 + 0x1ee40: 0x6ceae620, 0x1ee41: 0x6ceae820, 0x1ee42: 0x6c068c20, 0x1ee43: 0x6c0dc020, + 0x1ee44: 0x6c3fae20, 0x1ee45: 0x6c618e20, 0x1ee46: 0x6c921420, 0x1ee47: 0x6c902c20, + 0x1ee48: 0x6c18a220, 0x1ee49: 0x6d03c220, 0x1ee4a: 0x6c34ce20, 0x1ee4b: 0x6c910220, + 0x1ee4c: 0x6ca0da20, 0x1ee4d: 0x6c67d620, 0x1ee4e: 0x6cd4ae20, 0x1ee4f: 0x6c34d020, + 0x1ee50: 0x6cfc8620, 0x1ee51: 0x6c373820, 0x1ee52: 0x6c4acc20, 0x1ee53: 0x6d207c20, + 0x1ee54: 0x6c40e220, 0x1ee55: 0x6ccd2e20, 0x1ee56: 0x6c759e20, 0x1ee57: 0x6cbc3420, + 0x1ee58: 0x6d03d820, 0x1ee59: 0x6c213620, 0x1ee5a: 0x6c3fd820, 0x1ee5b: 0x6c095820, + 0x1ee5c: 0x6cf99e20, 0x1ee5d: 0x6ccd3820, 0x1ee5e: 0x6cd0f620, 0x1ee5f: 0x6d35aa20, + 0x1ee60: 0x6cb40420, 0x1ee61: 0x6c30e420, 0x1ee62: 0x6d260620, 0x1ee63: 0x6d322820, + 0x1ee64: 0x6c1e7620, 0x1ee65: 0x6cfc9820, 0x1ee66: 0x6c2a5620, 0x1ee67: 0x6ca7fe20, + 0x1ee68: 0x6d27e020, 0x1ee69: 0x6cfbf020, 0x1ee6a: 0x6cadce20, 0x1ee6b: 0x6c3aa020, + 0x1ee6c: 0x6d404e20, 0x1ee6d: 0x6d174c20, 0x1ee6e: 0x6c334820, 0x1ee6f: 0x6c94e620, + 0x1ee70: 0x6d19c420, 0x1ee71: 0x6c707820, 0x1ee72: 0x6c20c620, 0x1ee73: 0x6c18ba20, + 0x1ee74: 0x6cafd620, 0x1ee75: 0x6c8cd820, 0x1ee76: 0x6ce21420, 0x1ee77: 0x6cfcae20, + 0x1ee78: 0x6c923020, 0x1ee79: 0x6cd0fc20, 0x1ee7a: 0x6cfc0a20, 0x1ee7b: 0x6d19d420, + 0x1ee7c: 0x6d3a6220, 0x1ee7d: 0x6d0fb020, 0x1ee7e: 0x6cc62c20, 0x1ee7f: 0x6cf9bc20, + // Block 0x7ba, offset 0x1ee80 + 0x1ee80: 0x6c1d1420, 0x1ee81: 0x6d0e6820, 0x1ee82: 0x6d19d620, 0x1ee83: 0x6cd5ce20, + 0x1ee84: 0x6c2b2c20, 0x1ee85: 0x6d210c20, 0x1ee86: 0x6c8f9220, 0x1ee87: 0x6cee7820, + 0x1ee88: 0x6cee7a20, 0x1ee89: 0x6ca82420, 0x1ee8a: 0x6c334a20, 0x1ee8b: 0x6cdbf220, + 0x1ee8c: 0x6c018420, 0x1ee8d: 0x6c59b620, 0x1ee8e: 0x6c6a0620, 0x1ee8f: 0x6cdbf420, + 0x1ee90: 0x6d1ae220, 0x1ee91: 0x6c413c20, 0x1ee92: 0x6d0d9a20, 0x1ee93: 0x6c5abe20, + 0x1ee94: 0x6c43fc20, 0x1ee95: 0x6d27ee20, 0x1ee96: 0x6cf4f220, 0x1ee97: 0x6c7c6c20, + 0x1ee98: 0x6c009e20, 0x1ee99: 0x6cf89820, 0x1ee9a: 0x6ce10c20, 0x1ee9b: 0x6c623020, + 0x1ee9c: 0x6d2f3620, 0x1ee9d: 0x6c29de20, 0x1ee9e: 0x6c024820, 0x1ee9f: 0x6cf8aa20, + 0x1eea0: 0x6d1aee20, 0x1eea1: 0x6cc9be20, 0x1eea2: 0x6cc53a20, 0x1eea3: 0x6c8bca20, + 0x1eea4: 0x6ce9b220, 0x1eea5: 0x6c2ade20, 0x1eea6: 0x6c693820, 0x1eea7: 0x6cdc5820, + 0x1eea8: 0x6cdbfa20, 0x1eea9: 0x6c02e220, 0x1eeaa: 0x6cfc2620, 0x1eeab: 0x6c3b8220, + 0x1eeac: 0x6ca64c20, 0x1eead: 0x6c376820, 0x1eeae: 0x6c5f4a20, 0x1eeaf: 0x6c29ec20, + 0x1eeb0: 0x6cf7a620, 0x1eeb1: 0x6d1b0a20, 0x1eeb2: 0x6c358220, 0x1eeb3: 0x6c5af420, + 0x1eeb4: 0x6c903c20, 0x1eeb5: 0x6cf72220, 0x1eeb6: 0x6c859820, 0x1eeb7: 0x6c868820, + 0x1eeb8: 0x6c86b420, 0x1eeb9: 0x6d3c5620, 0x1eeba: 0x6c553a20, 0x1eebb: 0x6d33d220, + 0x1eebc: 0x6cdcea20, 0x1eebd: 0x6c735220, 0x1eebe: 0x6ca3f620, 0x1eebf: 0x6d178820, + // Block 0x7bb, offset 0x1eec0 + 0x1eec0: 0x6cc3ba20, 0x1eec1: 0x6d0e7e20, 0x1eec2: 0x6cbd7a20, 0x1eec3: 0x6cb8e820, + 0x1eec4: 0x6d047c20, 0x1eec5: 0x6d0b5420, 0x1eec6: 0x6c604620, 0x1eec7: 0x6c481820, + 0x1eec8: 0x6c587a20, 0x1eec9: 0x6d367620, 0x1eeca: 0x6c46c020, 0x1eecb: 0x6c736e20, + 0x1eecc: 0x6c225620, 0x1eecd: 0x6d1d9420, 0x1eece: 0x6c70b020, 0x1eecf: 0x6c1e9820, + 0x1eed0: 0x6c54f020, 0x1eed1: 0x6d28c420, 0x1eed2: 0x6c961c20, 0x1eed3: 0x6d219620, + 0x1eed4: 0x6c1dde20, 0x1eed5: 0x6c2de020, 0x1eed6: 0x6cdbe020, 0x1eed7: 0x6c4f2820, + 0x1eed8: 0x6cf32220, 0x1eed9: 0x6cd6a620, 0x1eeda: 0x6c49ae20, 0x1eedb: 0x6c1ec220, + 0x1eedc: 0x6d28d220, 0x1eedd: 0x6d1dcc20, 0x1eede: 0x6c5f7c20, 0x1eedf: 0x6cf70c20, + 0x1eee0: 0x6c1dfe20, 0x1eee1: 0x6c8f5220, 0x1eee2: 0x6c847e20, 0x1eee3: 0x6ca41420, + 0x1eee4: 0x6d092c20, 0x1eee5: 0x6d28e420, 0x1eee6: 0x6c610820, 0x1eee7: 0x6c610a20, + 0x1eee8: 0x6d222220, 0x1eee9: 0x6d211020, 0x1eeea: 0x6d093020, 0x1eeeb: 0x6ca2f820, + 0x1eeec: 0x6c3d2e20, 0x1eeed: 0x6ccb2820, 0x1eeee: 0x6ca28e20, 0x1eeef: 0x6cf19820, + 0x1eef0: 0x6c3b3620, 0x1eef1: 0x6cacda20, 0x1eef2: 0x6d27aa20, 0x1eef3: 0x6c862220, + 0x1eef4: 0x6c1c3a20, 0x1eef5: 0x6d0f6020, 0x1eef6: 0x6c8d2a20, 0x1eef7: 0x6c823e20, + 0x1eef8: 0x6c016e20, 0x1eef9: 0x6c05ce20, 0x1eefa: 0x6cf50420, 0x1eefb: 0x6c2d6a20, + 0x1eefc: 0x6c297420, 0x1eefd: 0x6c56ac20, 0x1eefe: 0x6cf50620, 0x1eeff: 0x6c2e3420, + // Block 0x7bc, offset 0x1ef00 + 0x1ef00: 0x6d05c220, 0x1ef01: 0x6c625820, 0x1ef02: 0x6ca2a820, 0x1ef03: 0x6c18e820, + 0x1ef04: 0x6cff1020, 0x1ef05: 0x6d2cde20, 0x1ef06: 0x6ce68a20, 0x1ef07: 0x6d325e20, + 0x1ef08: 0x6cae2820, 0x1ef09: 0x6c9a2420, 0x1ef0a: 0x6c8d4c20, 0x1ef0b: 0x6cb53420, + 0x1ef0c: 0x6d38b020, 0x1ef0d: 0x6c5e0220, 0x1ef0e: 0x6ccc7c20, 0x1ef0f: 0x6c3a1a20, + 0x1ef10: 0x6c538a20, 0x1ef11: 0x6d2da020, 0x1ef12: 0x6d1a0820, 0x1ef13: 0x6ca60820, + 0x1ef14: 0x6d3b2e20, 0x1ef15: 0x6cea6e20, 0x1ef16: 0x6c8be420, 0x1ef17: 0x6c8e3020, + 0x1ef18: 0x6c308e20, 0x1ef19: 0x6d1bf620, 0x1ef1a: 0x6cf53220, 0x1ef1b: 0x6c8d7420, + 0x1ef1c: 0x6cd6a420, 0x1ef1d: 0x6c8d7620, 0x1ef1e: 0x6cfa0620, 0x1ef1f: 0x6c539020, + 0x1ef20: 0x6d1a1220, 0x1ef21: 0x6c974420, 0x1ef22: 0x6c974620, 0x1ef23: 0x6d280620, + 0x1ef24: 0x6c8f4c20, 0x1ef25: 0x6c9c1620, 0x1ef26: 0x6c0d6a20, 0x1ef27: 0x6cf54020, + 0x1ef28: 0x6cf10020, 0x1ef29: 0x6c7e2a20, 0x1ef2a: 0x6d1aac20, 0x1ef2b: 0x6cf7b220, + 0x1ef2c: 0x6d191e20, 0x1ef2d: 0x6c008020, 0x1ef2e: 0x6c28e420, 0x1ef2f: 0x6ce2e420, + 0x1ef30: 0x6cca4020, 0x1ef31: 0x6d246c20, 0x1ef32: 0x6c933620, 0x1ef33: 0x6c8fd020, + 0x1ef34: 0x6c27a820, 0x1ef35: 0x6c60f420, 0x1ef36: 0x6cacec20, 0x1ef37: 0x6d0ff420, + 0x1ef38: 0x6c03d620, 0x1ef39: 0x6cafa420, 0x1ef3a: 0x6cef7020, 0x1ef3b: 0x6c3c8420, + 0x1ef3c: 0x6cf93420, 0x1ef3d: 0x6c62e420, 0x1ef3e: 0x6c970e20, 0x1ef3f: 0x6c9bac20, + // Block 0x7bd, offset 0x1ef40 + 0x1ef40: 0x6c9bae20, 0x1ef41: 0x6c829a20, 0x1ef42: 0x6c87ae20, 0x1ef43: 0x6c5e5820, + 0x1ef44: 0x6c008220, 0x1ef45: 0x6c3b0220, 0x1ef46: 0x6c27ae20, 0x1ef47: 0x6c901220, + 0x1ef48: 0x6c8db620, 0x1ef49: 0x6c010e20, 0x1ef4a: 0x6c3c8e20, 0x1ef4b: 0x6c87c820, + 0x1ef4c: 0x6c062620, 0x1ef4d: 0x6c521820, 0x1ef4e: 0x6c521020, 0x1ef4f: 0x6c521420, + 0x1ef50: 0x6c0e3e20, 0x1ef51: 0x6cbe3020, 0x1ef52: 0x6cbe3220, 0x1ef53: 0x6c6e8a20, + 0x1ef54: 0x6ce46c20, 0x1ef55: 0x6d317820, 0x1ef56: 0x6c6e9220, 0x1ef57: 0x6c198420, + 0x1ef58: 0x6cbed420, 0x1ef59: 0x6c6e9c20, 0x1ef5a: 0x6c6ea620, 0x1ef5b: 0x6c2d8620, + 0x1ef5c: 0x6c6eb020, 0x1ef5d: 0x6ce47a20, 0x1ef5e: 0x6c39f220, 0x1ef5f: 0x6c3a0a20, + 0x1ef60: 0x6c77c820, 0x1ef61: 0x6c9c9220, 0x1ef62: 0x6c9e5620, 0x1ef63: 0x6c9e5020, + 0x1ef64: 0x6c065a20, 0x1ef65: 0x6d133420, 0x1ef66: 0x6ce52020, 0x1ef67: 0x6c5c9820, + 0x1ef68: 0x6d139c20, 0x1ef69: 0x6c43d020, 0x1ef6a: 0x6c2f5e20, 0x1ef6b: 0x6c13ea20, + 0x1ef6c: 0x6cb9a020, 0x1ef6d: 0x6cc5f820, 0x1ef6e: 0x6c2b7020, 0x1ef6f: 0x6c326020, + 0x1ef70: 0x6cf4f420, 0x1ef71: 0x6cc5fa20, 0x1ef72: 0x6cbd8820, 0x1ef73: 0x6c6d2020, + 0x1ef74: 0x6d08e420, 0x1ef75: 0x6ca99e20, 0x1ef76: 0x6c03a220, 0x1ef77: 0x6d1af020, + 0x1ef78: 0x6cc95020, 0x1ef79: 0x6ca35e20, 0x1ef7a: 0x6ca14420, 0x1ef7b: 0x6d412220, + 0x1ef7c: 0x6c26b620, 0x1ef7d: 0x6c050020, 0x1ef7e: 0x6d183e20, 0x1ef7f: 0x6d121a20, + // Block 0x7be, offset 0x1ef80 + 0x1ef80: 0x6ce23420, 0x1ef81: 0x6c074c20, 0x1ef82: 0x6c63d820, 0x1ef83: 0x6c537a20, + 0x1ef84: 0x6cad6220, 0x1ef85: 0x6d0f6420, 0x1ef86: 0x6c0e4220, 0x1ef87: 0x6d1a0020, + 0x1ef88: 0x6c442c20, 0x1ef89: 0x6ce23c20, 0x1ef8a: 0x6c6b2e20, 0x1ef8b: 0x6d00e420, + 0x1ef8c: 0x6c014820, 0x1ef8d: 0x6c014a20, 0x1ef8e: 0x6c523620, 0x1ef8f: 0x6c45fc20, + 0x1ef90: 0x6cb88a20, 0x1ef91: 0x6c26c220, 0x1ef92: 0x6cbbf420, 0x1ef93: 0x6ce64a20, + 0x1ef94: 0x6c978620, 0x1ef95: 0x6d1d4e20, 0x1ef96: 0x6cdbde20, 0x1ef97: 0x6ce5a020, + 0x1ef98: 0x6cbc6220, 0x1ef99: 0x6d08b820, 0x1ef9a: 0x6c79ac20, 0x1ef9b: 0x6c083420, + 0x1ef9c: 0x6cdeb420, 0x1ef9d: 0x6cce5820, 0x1ef9e: 0x6c0dfa20, 0x1ef9f: 0x6c7e2220, + 0x1efa0: 0x6c70d420, 0x1efa1: 0x6c7eda20, 0x1efa2: 0x6d024a20, 0x1efa3: 0x6cc76820, + 0x1efa4: 0x6c054420, 0x1efa5: 0x6c372c20, 0x1efa6: 0x6cbfd620, 0x1efa7: 0x6cbfd820, + 0x1efa8: 0x6c518c20, 0x1efa9: 0x6d001620, 0x1efaa: 0x6ca2ba20, 0x1efab: 0x6c70da20, + 0x1efac: 0x6c650a20, 0x1efad: 0x6c0b1620, 0x1efae: 0x6c2b4c20, 0x1efaf: 0x6c651c20, + 0x1efb0: 0x6cf16e20, 0x1efb1: 0x6ce1fa20, 0x1efb2: 0x6c466620, 0x1efb3: 0x6cdec620, + 0x1efb4: 0x6c076c20, 0x1efb5: 0x6d011c20, 0x1efb6: 0x6cac8820, 0x1efb7: 0x6c445420, + 0x1efb8: 0x6c0ab020, 0x1efb9: 0x6c7e2e20, 0x1efba: 0x6ce0e020, 0x1efbb: 0x6c90d420, + 0x1efbc: 0x6c4ba420, 0x1efbd: 0x6cbc1220, 0x1efbe: 0x6d08ee20, 0x1efbf: 0x6c5f9820, + // Block 0x7bf, offset 0x1efc0 + 0x1efc0: 0x6c654820, 0x1efc1: 0x6c679820, 0x1efc2: 0x6c164c20, 0x1efc3: 0x6c26d820, + 0x1efc4: 0x6c56e820, 0x1efc5: 0x6cfc6420, 0x1efc6: 0x6cb96020, 0x1efc7: 0x6c320420, + 0x1efc8: 0x6cec4420, 0x1efc9: 0x6c655a20, 0x1efca: 0x6c801e20, 0x1efcb: 0x6ceeee20, + 0x1efcc: 0x6cc5fc20, 0x1efcd: 0x6c3ecc20, 0x1efce: 0x6c9aa220, 0x1efcf: 0x6cc37820, + 0x1efd0: 0x6c442e20, 0x1efd1: 0x6cf01020, 0x1efd2: 0x6cbc6420, 0x1efd3: 0x6c4e3e20, + 0x1efd4: 0x6c172820, 0x1efd5: 0x6c7e3420, 0x1efd6: 0x6cc77c20, 0x1efd7: 0x6d286620, + 0x1efd8: 0x6ccf8020, 0x1efd9: 0x6cf04620, 0x1efda: 0x6c444e20, 0x1efdb: 0x6c046220, + 0x1efdc: 0x6ce1fc20, 0x1efdd: 0x6c466820, 0x1efde: 0x6d286c20, 0x1efdf: 0x6c435e20, + 0x1efe0: 0x6c0ab220, 0x1efe1: 0x6cf05220, 0x1efe2: 0x6cdcc220, 0x1efe3: 0x6c31fa20, + 0x1efe4: 0x6cec4620, 0x1efe5: 0x6c320620, 0x1efe6: 0x6ceed820, 0x1efe7: 0x6cc5cc20, + 0x1efe8: 0x6c3e2820, 0x1efe9: 0x6c4e1a20, 0x1efea: 0x6cefea20, 0x1efeb: 0x6d283e20, + 0x1efec: 0x6ce1e020, 0x1efed: 0x6c6fb420, 0x1efee: 0x6c6fc420, 0x1efef: 0x6cfad220, + 0x1eff0: 0x6d022820, 0x1eff1: 0x6cfae220, 0x1eff2: 0x6c5f8820, 0x1eff3: 0x6d19ba20, + 0x1eff4: 0x6d28c220, 0x1eff5: 0x6d284020, 0x1eff6: 0x6ccea820, 0x1eff7: 0x6c822420, + 0x1eff8: 0x6caecc20, 0x1eff9: 0x6c5a2020, 0x1effa: 0x6d1c0420, 0x1effb: 0x6d287220, + 0x1effc: 0x6caef020, 0x1effd: 0x6c016020, 0x1effe: 0x6d1a1820, 0x1efff: 0x6cfe0a20, + // Block 0x7c0, offset 0x1f000 + 0x1f000: 0x6c56ea20, 0x1f001: 0x6d12dc20, 0x1f002: 0x6c2f6e20, 0x1f003: 0x6cbea820, + 0x1f004: 0x6c7c7020, 0x1f005: 0x6cfe3a20, 0x1f006: 0x6cd75420, 0x1f007: 0x6c4daa20, + 0x1f008: 0x6d05ae20, 0x1f009: 0x6d152a20, 0x1f00a: 0x6d05b620, 0x1f00b: 0x6c35b420, + 0x1f00c: 0x6cd99020, 0x1f00d: 0x6c7cd820, 0x1f00e: 0x6cb60c20, 0x1f00f: 0x6c4f8220, + 0x1f010: 0x6d238620, 0x1f011: 0x6cece020, 0x1f012: 0x6c048c20, 0x1f013: 0x6c33fe20, + 0x1f014: 0x6c2b8620, 0x1f015: 0x6c27f220, 0x1f016: 0x6cacbe20, 0x1f017: 0x6cb31820, + 0x1f018: 0x6c8e1220, 0x1f019: 0x6c182e20, 0x1f01a: 0x6c6e2620, 0x1f01b: 0x6c834020, + 0x1f01c: 0x6c516a20, 0x1f01d: 0x6cbb9e20, 0x1f01e: 0x6c36a020, 0x1f01f: 0x6c357c20, + 0x1f020: 0x6cf01220, 0x1f021: 0x6d00e620, 0x1f022: 0x6c7e1020, 0x1f023: 0x6cd07020, + 0x1f024: 0x6d156620, 0x1f025: 0x6cd07a20, 0x1f026: 0x6c4d2420, 0x1f027: 0x6c332820, + 0x1f028: 0x6d228420, 0x1f029: 0x6cb26620, 0x1f02a: 0x6c834220, 0x1f02b: 0x6c3f8420, + 0x1f02c: 0x6c63e020, 0x1f02d: 0x6ce7f820, 0x1f02e: 0x6c5c4a20, 0x1f02f: 0x6c7ca020, + 0x1f030: 0x6c63ec20, 0x1f031: 0x6c953220, 0x1f032: 0x6ce6e220, 0x1f033: 0x6c199820, + 0x1f034: 0x6d1d1020, 0x1f035: 0x6d276a20, 0x1f036: 0x6c55c620, 0x1f037: 0x6c4f1020, + 0x1f038: 0x6c6e3620, 0x1f039: 0x6ce9be20, 0x1f03a: 0x6ce9c020, 0x1f03b: 0x6cb21420, + 0x1f03c: 0x6c7f5a20, 0x1f03d: 0x6ce9c220, 0x1f03e: 0x6d3eb420, 0x1f03f: 0x6d3eb220, + // Block 0x7c1, offset 0x1f040 + 0x1f040: 0x6c20e620, 0x1f041: 0x6c2fc020, 0x1f042: 0x6c7f5c20, 0x1f043: 0x6ce02020, + 0x1f044: 0x6c4f2220, 0x1f045: 0x6cb93220, 0x1f046: 0x6c783820, 0x1f047: 0x6c257220, + 0x1f048: 0x6d085e20, 0x1f049: 0x6cbd4420, 0x1f04a: 0x6d157820, 0x1f04b: 0x6cc9d420, + 0x1f04c: 0x6ce39e20, 0x1f04d: 0x6c358a20, 0x1f04e: 0x6c36ca20, 0x1f04f: 0x6d0ce220, + 0x1f050: 0x6cf21420, 0x1f051: 0x6c76f820, 0x1f052: 0x6d1e0220, 0x1f053: 0x6d3b9820, + 0x1f054: 0x6d0ce420, 0x1f055: 0x6cfc3c20, 0x1f056: 0x6d035220, 0x1f057: 0x6d162620, + 0x1f058: 0x6d263820, 0x1f059: 0x6cca9620, 0x1f05a: 0x6c2ce620, 0x1f05b: 0x6c2ce820, + 0x1f05c: 0x6c67ca20, 0x1f05d: 0x6c7c4a20, 0x1f05e: 0x6c835420, 0x1f05f: 0x6c819220, + 0x1f060: 0x6cb1a820, 0x1f061: 0x6cec7820, 0x1f062: 0x6c979a20, 0x1f063: 0x6c247c20, + 0x1f064: 0x6d117820, 0x1f065: 0x6c507e20, 0x1f066: 0x6cbc1420, 0x1f067: 0x6c482e20, + 0x1f068: 0x6d0ab620, 0x1f069: 0x6d0e1a20, 0x1f06a: 0x6c5c9e20, 0x1f06b: 0x6c164e20, + 0x1f06c: 0x6cc7ee20, 0x1f06d: 0x6c9bb620, 0x1f06e: 0x6c0d7420, 0x1f06f: 0x6cfc6620, + 0x1f070: 0x6cb23220, 0x1f071: 0x6c91a620, 0x1f072: 0x6c806620, 0x1f073: 0x6ca8d620, + 0x1f074: 0x6cc34620, 0x1f075: 0x6d12be20, 0x1f076: 0x6c2f6a20, 0x1f077: 0x6cbe9e20, + 0x1f078: 0x6c4d9620, 0x1f079: 0x6cfe2420, 0x1f07a: 0x6cd74a20, 0x1f07b: 0x6d057e20, + 0x1f07c: 0x6d058820, 0x1f07d: 0x6cecd220, 0x1f07e: 0x6c480620, 0x1f07f: 0x6c33ec20, + // Block 0x7c2, offset 0x1f080 + 0x1f080: 0x6cb5b420, 0x1f081: 0x6c047c20, 0x1f082: 0x6cd98820, 0x1f083: 0x6c4f7220, + 0x1f084: 0x6d22fc20, 0x1f085: 0x6c915420, 0x1f086: 0x6c8e1020, 0x1f087: 0x6cb30c20, + 0x1f088: 0x6c6e1e20, 0x1f089: 0x6c6ada20, 0x1f08a: 0x6c63c820, 0x1f08b: 0x6ce6d420, + 0x1f08c: 0x6c513220, 0x1f08d: 0x6d1cf420, 0x1f08e: 0x6c6f1420, 0x1f08f: 0x6c780220, + 0x1f090: 0x6d152c20, 0x1f091: 0x6cb21220, 0x1f092: 0x6c5bee20, 0x1f093: 0x6ce9a820, + 0x1f094: 0x6c4ed620, 0x1f095: 0x6d1cf820, 0x1f096: 0x6d1cfa20, 0x1f097: 0x6c781e20, + 0x1f098: 0x6ce37420, 0x1f099: 0x6d1dfe20, 0x1f09a: 0x6c36a220, 0x1f09b: 0x6d3b9020, + 0x1f09c: 0x6d0ccc20, 0x1f09d: 0x6c357e20, 0x1f09e: 0x6ca87820, 0x1f09f: 0x6c975a20, + 0x1f0a0: 0x6c2cdc20, 0x1f0a1: 0x6cca8c20, 0x1f0a2: 0x6c507820, 0x1f0a3: 0x6c835020, + 0x1f0a4: 0x6c163c20, 0x1f0a5: 0x6cc7e620, 0x1f0a6: 0x6cb22620, 0x1f0a7: 0x6cc33e20, + 0x1f0a8: 0x6c3c2c20, 0x1f0a9: 0x6c0c0020, 0x1f0aa: 0x6c48be20, 0x1f0ab: 0x6c3eb820, + 0x1f0ac: 0x6cf96e20, 0x1f0ad: 0x6d2e0c20, 0x1f0ae: 0x6c0c1020, 0x1f0af: 0x6cc98020, + 0x1f0b0: 0x6c038820, 0x1f0b1: 0x6cdf3420, 0x1f0b2: 0x6c8b2a20, 0x1f0b3: 0x6c487420, + 0x1f0b4: 0x6d08ba20, 0x1f0b5: 0x6cce8820, 0x1f0b6: 0x6c72a820, 0x1f0b7: 0x6c0c3420, + 0x1f0b8: 0x6cd84020, 0x1f0b9: 0x6cf04820, 0x1f0ba: 0x6d0fec20, 0x1f0bb: 0x6d116a20, + 0x1f0bc: 0x6cd9f820, 0x1f0bd: 0x6c767820, 0x1f0be: 0x6cd9fa20, 0x1f0bf: 0x6c386c20, + // Block 0x7c3, offset 0x1f0c0 + 0x1f0c0: 0x6c8ed220, 0x1f0c1: 0x6cf7bc20, 0x1f0c2: 0x6c8f5620, 0x1f0c3: 0x6cb17020, + 0x1f0c4: 0x6cb17220, 0x1f0c5: 0x6c8ede20, 0x1f0c6: 0x6c0c5620, 0x1f0c7: 0x6c0c5820, + 0x1f0c8: 0x6c0c5a20, 0x1f0c9: 0x6c8a5620, 0x1f0ca: 0x6c0c9e20, 0x1f0cb: 0x6ccb9c20, + 0x1f0cc: 0x6c3c9020, 0x1f0cd: 0x6d051820, 0x1f0ce: 0x6c3c0e20, 0x1f0cf: 0x6d0f8220, + 0x1f0d0: 0x6d2dde20, 0x1f0d1: 0x6c0bee20, 0x1f0d2: 0x6cc97020, 0x1f0d3: 0x6c725420, + 0x1f0d4: 0x6cd7fc20, 0x1f0d5: 0x6cd9c620, 0x1f0d6: 0x6d112e20, 0x1f0d7: 0x6c8e7e20, + 0x1f0d8: 0x6cb16020, 0x1f0d9: 0x6c0c2620, 0x1f0da: 0x6c0c2820, 0x1f0db: 0x6c39f420, + 0x1f0dc: 0x6c387420, 0x1f0dd: 0x6c3a2e20, 0x1f0de: 0x6c39ee20, 0x1f0df: 0x6cd25820, + 0x1f0e0: 0x6cd24c20, 0x1f0e1: 0x6c116220, 0x1f0e2: 0x6c5eb020, 0x1f0e3: 0x6c2f9e20, + 0x1f0e4: 0x6cd8ae20, 0x1f0e5: 0x6ceac620, 0x1f0e6: 0x6d2d7220, 0x1f0e7: 0x6cdcd220, + 0x1f0e8: 0x6cfde820, 0x1f0e9: 0x6cea5a20, 0x1f0ea: 0x6cc5fe20, 0x1f0eb: 0x6d235e20, + 0x1f0ec: 0x6c737e20, 0x1f0ed: 0x6c1c2a20, 0x1f0ee: 0x6d1af220, 0x1f0ef: 0x6c395c20, + 0x1f0f0: 0x6c395e20, 0x1f0f1: 0x6cdcda20, 0x1f0f2: 0x6d1ae820, 0x1f0f3: 0x6ce81620, + 0x1f0f4: 0x6d152e20, 0x1f0f5: 0x6d42a620, 0x1f0f6: 0x6c09ec20, 0x1f0f7: 0x6c6b9c20, + 0x1f0f8: 0x6ce1e220, 0x1f0f9: 0x6c8f0e20, 0x1f0fa: 0x6c226220, 0x1f0fb: 0x6ce61420, + 0x1f0fc: 0x6cd8d420, 0x1f0fd: 0x6c060420, 0x1f0fe: 0x6cd3b020, 0x1f0ff: 0x6c350620, + // Block 0x7c4, offset 0x1f100 + 0x1f100: 0x6c4d7220, 0x1f101: 0x6cc60420, 0x1f102: 0x6ce51020, 0x1f103: 0x6c691e20, + 0x1f104: 0x6c63da20, 0x1f105: 0x6c0df020, 0x1f106: 0x6d113020, 0x1f107: 0x6ce77420, + 0x1f108: 0x6c226420, 0x1f109: 0x6cfdf820, 0x1f10a: 0x6d102a20, 0x1f10b: 0x6c738a20, + 0x1f10c: 0x6c37a220, 0x1f10d: 0x6d0eb220, 0x1f10e: 0x6c823a20, 0x1f10f: 0x6cf68c20, + 0x1f110: 0x6c117220, 0x1f111: 0x6c0e8e20, 0x1f112: 0x6ca57220, 0x1f113: 0x6c36a420, + 0x1f114: 0x6c10b620, 0x1f115: 0x6c75e620, 0x1f116: 0x6c313620, 0x1f117: 0x6cdb0e20, + 0x1f118: 0x6d219820, 0x1f119: 0x6cd3d020, 0x1f11a: 0x6d114a20, 0x1f11b: 0x6c5d0020, + 0x1f11c: 0x6c4cd220, 0x1f11d: 0x6cd3d220, 0x1f11e: 0x6c66dc20, 0x1f11f: 0x6d3cae20, + 0x1f120: 0x6c0df420, 0x1f121: 0x6cfd1620, 0x1f122: 0x6c10c020, 0x1f123: 0x6d135020, + 0x1f124: 0x6ce01620, 0x1f125: 0x6c3a1e20, 0x1f126: 0x6d2ede20, 0x1f127: 0x6cf0de20, + 0x1f128: 0x6c496820, 0x1f129: 0x6c36b220, 0x1f12a: 0x6caa9a20, 0x1f12b: 0x6d286020, + 0x1f12c: 0x6c55d620, 0x1f12d: 0x6c5a1420, 0x1f12e: 0x6ce61c20, 0x1f12f: 0x6c5c6220, + 0x1f130: 0x6c650c20, 0x1f131: 0x6c543c20, 0x1f132: 0x6c00e820, 0x1f133: 0x6ce14c20, + 0x1f134: 0x6c3b4820, 0x1f135: 0x6cf0ee20, 0x1f136: 0x6c47de20, 0x1f137: 0x6c13b820, + 0x1f138: 0x6cd99e20, 0x1f139: 0x6ce15820, 0x1f13a: 0x6c0f9820, 0x1f13b: 0x6c42e820, + 0x1f13c: 0x6cf90c20, 0x1f13d: 0x6c7d2620, 0x1f13e: 0x6c8f4e20, 0x1f13f: 0x6cd9f220, + // Block 0x7c5, offset 0x1f140 + 0x1f140: 0x6ce24a20, 0x1f141: 0x6d137c20, 0x1f142: 0x6d27cc20, 0x1f143: 0x6ca08a20, + 0x1f144: 0x6ce16020, 0x1f145: 0x6c979420, 0x1f146: 0x6c0aa020, 0x1f147: 0x6d245620, + 0x1f148: 0x6d050a20, 0x1f149: 0x6c6cc820, 0x1f14a: 0x6cca4420, 0x1f14b: 0x6c7d3c20, + 0x1f14c: 0x6d3bfc20, 0x1f14d: 0x6ccdde20, 0x1f14e: 0x6c1c9020, 0x1f14f: 0x6c28e620, + 0x1f150: 0x6d193c20, 0x1f151: 0x6c5f9020, 0x1f152: 0x6cc53220, 0x1f153: 0x6c19ac20, + 0x1f154: 0x6d1de420, 0x1f155: 0x6ce20220, 0x1f156: 0x6cf11c20, 0x1f157: 0x6cfe0e20, + 0x1f158: 0x6d2dc620, 0x1f159: 0x6c3b4a20, 0x1f15a: 0x6c4d8a20, 0x1f15b: 0x6c9bb020, + 0x1f15c: 0x6d0f1420, 0x1f15d: 0x6ca0a220, 0x1f15e: 0x6c158020, 0x1f15f: 0x6cfe1020, + 0x1f160: 0x6c959820, 0x1f161: 0x6d29cc20, 0x1f162: 0x6ca46c20, 0x1f163: 0x6cd22620, + 0x1f164: 0x6c2f9020, 0x1f165: 0x6c5e6e20, 0x1f166: 0x6cea9e20, 0x1f167: 0x6ce0e420, + 0x1f168: 0x6cea4420, 0x1f169: 0x6cf84020, 0x1f16a: 0x6cc5ce20, 0x1f16b: 0x6d22d220, + 0x1f16c: 0x6c1bea20, 0x1f16d: 0x6c392420, 0x1f16e: 0x6d1acc20, 0x1f16f: 0x6c665620, + 0x1f170: 0x6cd32620, 0x1f171: 0x6c05e820, 0x1f172: 0x6cd89420, 0x1f173: 0x6c34d220, + 0x1f174: 0x6d147e20, 0x1f175: 0x6c378c20, 0x1f176: 0x6cc52420, 0x1f177: 0x6cfdde20, + 0x1f178: 0x6c50e820, 0x1f179: 0x6c823820, 0x1f17a: 0x6c68d820, 0x1f17b: 0x6cf5b020, + 0x1f17c: 0x6c0dd420, 0x1f17d: 0x6c0e6a20, 0x1f17e: 0x6c310c20, 0x1f17f: 0x6c360420, + // Block 0x7c6, offset 0x1f180 + 0x1f180: 0x6d210020, 0x1f181: 0x6ca56a20, 0x1f182: 0x6c75a820, 0x1f183: 0x6c4cbe20, + 0x1f184: 0x6c5ce820, 0x1f185: 0x6cfcbe20, 0x1f186: 0x6c495020, 0x1f187: 0x6c13a020, + 0x1f188: 0x6c7d0220, 0x1f189: 0x6c479820, 0x1f18a: 0x6cd9ba20, 0x1f18b: 0x6c14fc20, + 0x1f18c: 0x6d130a20, 0x1f18d: 0x6ca06020, 0x1f18e: 0x6c0f2220, 0x1f18f: 0x6c8e7620, + 0x1f190: 0x6d04de20, 0x1f191: 0x6c6ca820, 0x1f192: 0x6c976e20, 0x1f193: 0x6cca2820, + 0x1f194: 0x6d3be020, 0x1f195: 0x6ca46420, 0x1f196: 0x6cd44220, 0x1f197: 0x6c7c7220, + 0x1f198: 0x6c4c9020, 0x1f199: 0x6cfd6620, 0x1f19a: 0x6c3b8020, 0x1f19b: 0x6c0f3c20, + 0x1f19c: 0x6ca64420, 0x1f19d: 0x6c0a1420, 0x1f19e: 0x6c0f6e20, 0x1f19f: 0x6ce8fa20, + 0x1f1a0: 0x6c4dbc20, 0x1f1a1: 0x6c3a2020, 0x1f1a2: 0x6c650e20, 0x1f1a3: 0x6c015420, + 0x1f1a4: 0x6c00fa20, 0x1f1a5: 0x6c408020, 0x1f1a6: 0x6cfaf620, 0x1f1a7: 0x6d276c20, + 0x1f1a8: 0x6d02f420, 0x1f1a9: 0x6c3bb020, 0x1f1aa: 0x6cb1fe20, 0x1f1ab: 0x6d02fa20, + 0x1f1ac: 0x6c969820, 0x1f1ad: 0x6d236020, 0x1f1ae: 0x6c3caa20, 0x1f1af: 0x6c4ed820, + 0x1f1b0: 0x6c2b7420, 0x1f1b1: 0x6ceb3220, 0x1f1b2: 0x6d306820, 0x1f1b3: 0x6c1b4220, + 0x1f1b4: 0x6d0a2420, 0x1f1b5: 0x6d3b1020, 0x1f1b6: 0x6d340c20, 0x1f1b7: 0x6cae2420, + 0x1f1b8: 0x6d034620, 0x1f1b9: 0x6cc64a20, 0x1f1ba: 0x6cc97a20, 0x1f1bb: 0x6d27f820, + 0x1f1bc: 0x6cf1a420, 0x1f1bd: 0x6d348a20, 0x1f1be: 0x6c28a020, 0x1f1bf: 0x6c935c20, + // Block 0x7c7, offset 0x1f1c0 + 0x1f1c0: 0x6d1f5e20, 0x1f1c1: 0x6c0f3e20, 0x1f1c2: 0x6c060a20, 0x1f1c3: 0x6c748a20, + 0x1f1c4: 0x6ceb4220, 0x1f1c5: 0x6d184020, 0x1f1c6: 0x6cc13020, 0x1f1c7: 0x6cb4c220, + 0x1f1c8: 0x6cc13e20, 0x1f1c9: 0x6c6ee620, 0x1f1ca: 0x6cb35c20, 0x1f1cb: 0x6d2f7020, + 0x1f1cc: 0x6d251220, 0x1f1cd: 0x6cadf020, 0x1f1ce: 0x6d394c20, 0x1f1cf: 0x6c727220, + 0x1f1d0: 0x6d3b2620, 0x1f1d1: 0x6caa4420, 0x1f1d2: 0x6c70c820, 0x1f1d3: 0x6caf8820, + 0x1f1d4: 0x6d29fa20, 0x1f1d5: 0x6c645020, 0x1f1d6: 0x6c8d4e20, 0x1f1d7: 0x6d31f620, + 0x1f1d8: 0x6cdf3a20, 0x1f1d9: 0x6c404820, 0x1f1da: 0x6d103020, 0x1f1db: 0x6cd2d820, + 0x1f1dc: 0x6c0a4020, 0x1f1dd: 0x6cebc220, 0x1f1de: 0x6ceb4620, 0x1f1df: 0x6cd8e420, + 0x1f1e0: 0x6c8e9020, 0x1f1e1: 0x6c96de20, 0x1f1e2: 0x6cb13220, 0x1f1e3: 0x6ce24620, + 0x1f1e4: 0x6d36f820, 0x1f1e5: 0x6cc6b820, 0x1f1e6: 0x6ce2b620, 0x1f1e7: 0x6c308a20, + 0x1f1e8: 0x6d09ac20, 0x1f1e9: 0x6cc2a420, 0x1f1ea: 0x6cd02220, 0x1f1eb: 0x6c6ee820, + 0x1f1ec: 0x6c37a620, 0x1f1ed: 0x6c4d7a20, 0x1f1ee: 0x6c0f7020, 0x1f1ef: 0x6d39ce20, + 0x1f1f0: 0x6d1a0c20, 0x1f1f1: 0x6c962a20, 0x1f1f2: 0x6d397a20, 0x1f1f3: 0x6c28bc20, + 0x1f1f4: 0x6d023820, 0x1f1f5: 0x6c8eb020, 0x1f1f6: 0x6c716a20, 0x1f1f7: 0x6cd97020, + 0x1f1f8: 0x6cbd4620, 0x1f1f9: 0x6c987a20, 0x1f1fa: 0x6c80ec20, 0x1f1fb: 0x6c4f2420, + 0x1f1fc: 0x6ce90020, 0x1f1fd: 0x6d07da20, 0x1f1fe: 0x6cea1420, 0x1f1ff: 0x6c75f220, + // Block 0x7c8, offset 0x1f200 + 0x1f200: 0x6c35be20, 0x1f201: 0x6c1a7a20, 0x1f202: 0x6d03ac20, 0x1f203: 0x6c005820, + 0x1f204: 0x6c931420, 0x1f205: 0x6d3c6c20, 0x1f206: 0x6d38be20, 0x1f207: 0x6ccf8220, + 0x1f208: 0x6cb13620, 0x1f209: 0x6c7d8c20, 0x1f20a: 0x6ce24c20, 0x1f20b: 0x6c7f2e20, + 0x1f20c: 0x6d3fd220, 0x1f20d: 0x6c78e220, 0x1f20e: 0x6cb67c20, 0x1f20f: 0x6cb67e20, + 0x1f210: 0x6d0ede20, 0x1f211: 0x6c3a2220, 0x1f212: 0x6ccacc20, 0x1f213: 0x6d0df020, + 0x1f214: 0x6c445820, 0x1f215: 0x6d11e220, 0x1f216: 0x6cf54820, 0x1f217: 0x6cb14e20, + 0x1f218: 0x6c237620, 0x1f219: 0x6cb15020, 0x1f21a: 0x6cb9da20, 0x1f21b: 0x6c3a2420, + 0x1f21c: 0x6c5a2420, 0x1f21d: 0x6cb9d420, 0x1f21e: 0x6c5d6820, 0x1f21f: 0x6d21de20, + 0x1f220: 0x6ce3a820, 0x1f221: 0x6cc32420, 0x1f222: 0x6cfa1620, 0x1f223: 0x6d3fd620, + 0x1f224: 0x6c7cae20, 0x1f225: 0x6cc76c20, 0x1f226: 0x6cd84620, 0x1f227: 0x6c488020, + 0x1f228: 0x6ceb5c20, 0x1f229: 0x6c4aa220, 0x1f22a: 0x6cda0020, 0x1f22b: 0x6cb94a20, + 0x1f22c: 0x6c1a5a20, 0x1f22d: 0x6d374e20, 0x1f22e: 0x6c8ed620, 0x1f22f: 0x6caef820, + 0x1f230: 0x6ce2c820, 0x1f231: 0x6cf7be20, 0x1f232: 0x6c12b420, 0x1f233: 0x6c31ea20, + 0x1f234: 0x6d0efe20, 0x1f235: 0x6d25cc20, 0x1f236: 0x6d407220, 0x1f237: 0x6ccad020, + 0x1f238: 0x6ccde020, 0x1f239: 0x6c84b020, 0x1f23a: 0x6d376220, 0x1f23b: 0x6cd6b020, + 0x1f23c: 0x6c933820, 0x1f23d: 0x6cf7c020, 0x1f23e: 0x6c956c20, 0x1f23f: 0x6d2eec20, + // Block 0x7c9, offset 0x1f240 + 0x1f240: 0x6ca19020, 0x1f241: 0x6c030020, 0x1f242: 0x6c118420, 0x1f243: 0x6c0c5c20, + 0x1f244: 0x6c237a20, 0x1f245: 0x6cc16220, 0x1f246: 0x6c0ac220, 0x1f247: 0x6d376420, + 0x1f248: 0x6d248020, 0x1f249: 0x6d060c20, 0x1f24a: 0x6c576c20, 0x1f24b: 0x6c0e9e20, + 0x1f24c: 0x6cdb7020, 0x1f24d: 0x6cff5820, 0x1f24e: 0x6c8c0a20, 0x1f24f: 0x6d2ea420, + 0x1f250: 0x6c33c620, 0x1f251: 0x6c8eea20, 0x1f252: 0x6ceb6220, 0x1f253: 0x6c136a20, + 0x1f254: 0x6c2d9e20, 0x1f255: 0x6c68b220, 0x1f256: 0x6ce60c20, 0x1f257: 0x6d0f1620, + 0x1f258: 0x6c958620, 0x1f259: 0x6d2dca20, 0x1f25a: 0x6c6df820, 0x1f25b: 0x6d196a20, + 0x1f25c: 0x6d139e20, 0x1f25d: 0x6ceadc20, 0x1f25e: 0x6cb20020, 0x1f25f: 0x6d397220, + 0x1f260: 0x6d0f2620, 0x1f261: 0x6c902020, 0x1f262: 0x6c937220, 0x1f263: 0x6ce2e020, + 0x1f264: 0x6cfda820, 0x1f265: 0x6c630220, 0x1f266: 0x6cd6ca20, 0x1f267: 0x6c719c20, + 0x1f268: 0x6cf7d020, 0x1f269: 0x6c585020, 0x1f26a: 0x6c84ee20, 0x1f26b: 0x6c0c6820, + 0x1f26c: 0x6c968c20, 0x1f26d: 0x6d22ba20, 0x1f26e: 0x6ceae220, 0x1f26f: 0x6d09da20, + 0x1f270: 0x6c1afa20, 0x1f271: 0x6cc0d820, 0x1f272: 0x6cc63e20, 0x1f273: 0x6c0eb220, + 0x1f274: 0x6c935020, 0x1f275: 0x6d29f820, 0x1f276: 0x6cd2ba20, 0x1f277: 0x6cd89620, + 0x1f278: 0x6c3fbc20, 0x1f279: 0x6c706420, 0x1f27a: 0x6d404820, 0x1f27b: 0x6d3ab820, + 0x1f27c: 0x6cebc020, 0x1f27d: 0x6caa4020, 0x1f27e: 0x6c643820, 0x1f27f: 0x6d16d420, + // Block 0x7ca, offset 0x1f280 + 0x1f280: 0x6c273c20, 0x1f281: 0x6cfe9020, 0x1f282: 0x6c96b820, 0x1f283: 0x6d19bc20, + 0x1f284: 0x6c683a20, 0x1f285: 0x6c572e20, 0x1f286: 0x6c95ee20, 0x1f287: 0x6c4d5c20, + 0x1f288: 0x6cb10820, 0x1f289: 0x6c0bf020, 0x1f28a: 0x6c83b420, 0x1f28b: 0x6c1a6c20, + 0x1f28c: 0x6d0e5820, 0x1f28d: 0x6d036e20, 0x1f28e: 0x6cbd2820, 0x1f28f: 0x6c75aa20, + 0x1f290: 0x6cb5e220, 0x1f291: 0x6cb5e420, 0x1f292: 0x6c78aa20, 0x1f293: 0x6d3c5c20, + 0x1f294: 0x6d3f7e20, 0x1f295: 0x6cdaae20, 0x1f296: 0x6c116420, 0x1f297: 0x6cb14a20, + 0x1f298: 0x6d364820, 0x1f299: 0x6c7c8220, 0x1f29a: 0x6ccab020, 0x1f29b: 0x6cf4f620, + 0x1f29c: 0x6c02da20, 0x1f29d: 0x6c8e7820, 0x1f29e: 0x6cb8fa20, 0x1f29f: 0x6ccd9020, + 0x1f2a0: 0x6c0c1220, 0x1f2a1: 0x6c955020, 0x1f2a2: 0x6c233620, 0x1f2a3: 0x6c15e220, + 0x1f2a4: 0x6d395c20, 0x1f2a5: 0x6c62c420, 0x1f2a6: 0x6cd6ac20, 0x1f2a7: 0x6cfd9420, + 0x1f2a8: 0x6c476e20, 0x1f2a9: 0x6cefb420, 0x1f2aa: 0x6cefd220, 0x1f2ab: 0x6cefd420, + 0x1f2ac: 0x6d214020, 0x1f2ad: 0x6c422420, 0x1f2ae: 0x6d17d620, 0x1f2af: 0x6c01ec20, + 0x1f2b0: 0x6ce7f220, 0x1f2b1: 0x6c6bf020, 0x1f2b2: 0x6c065e20, 0x1f2b3: 0x6c074e20, + 0x1f2b4: 0x6c220c20, 0x1f2b5: 0x6ce3c620, 0x1f2b6: 0x6c2c0020, 0x1f2b7: 0x6c7a5620, + 0x1f2b8: 0x6c4d2820, 0x1f2b9: 0x6cbba020, 0x1f2ba: 0x6c543020, 0x1f2bb: 0x6c7af020, + 0x1f2bc: 0x6c443220, 0x1f2bd: 0x6ce9ee20, 0x1f2be: 0x6c452020, 0x1f2bf: 0x6cb12a20, + // Block 0x7cb, offset 0x1f2c0 + 0x1f2c0: 0x6c0a8220, 0x1f2c1: 0x6c783c20, 0x1f2c2: 0x6cb87a20, 0x1f2c3: 0x6d21ce20, + 0x1f2c4: 0x6cdc1420, 0x1f2c5: 0x6c90d020, 0x1f2c6: 0x6c0fb220, 0x1f2c7: 0x6cff4620, + 0x1f2c8: 0x6c055a20, 0x1f2c9: 0x6c0fb420, 0x1f2ca: 0x6c221420, 0x1f2cb: 0x6c7b5e20, + 0x1f2cc: 0x6c0d9220, 0x1f2cd: 0x6ca09420, 0x1f2ce: 0x6c8a5220, 0x1f2cf: 0x6c90da20, + 0x1f2d0: 0x6cff5220, 0x1f2d1: 0x6c31fe20, 0x1f2d2: 0x6d29f220, 0x1f2d3: 0x6cdc1a20, + 0x1f2d4: 0x6ce3d020, 0x1f2d5: 0x6c0d9620, 0x1f2d6: 0x6c7b6020, 0x1f2d7: 0x6c91a820, + 0x1f2d8: 0x6c42bc20, 0x1f2d9: 0x6c42c420, 0x1f2da: 0x6cbc5020, 0x1f2db: 0x6c779420, + 0x1f2dc: 0x6cbc2c20, 0x1f2dd: 0x6c819420, 0x1f2de: 0x6ccb0c20, 0x1f2df: 0x6c0bf420, + 0x1f2e0: 0x6c7d6e20, 0x1f2e1: 0x6c7d7620, 0x1f2e2: 0x6c2b7620, 0x1f2e3: 0x6c39da20, + 0x1f2e4: 0x6d04ec20, 0x1f2e5: 0x6cc47e20, 0x1f2e6: 0x6c98f820, 0x1f2e7: 0x6c28a220, + 0x1f2e8: 0x6c7d7e20, 0x1f2e9: 0x6c0d8620, 0x1f2ea: 0x6c383e20, 0x1f2eb: 0x6ce5a220, + 0x1f2ec: 0x6caf8a20, 0x1f2ed: 0x6d3e9c20, 0x1f2ee: 0x6c384220, 0x1f2ef: 0x6cc48620, + 0x1f2f0: 0x6ce41a20, 0x1f2f1: 0x6c066420, 0x1f2f2: 0x6c0a4220, 0x1f2f3: 0x6c990420, + 0x1f2f4: 0x6c3eea20, 0x1f2f5: 0x6c376a20, 0x1f2f6: 0x6cc6ba20, 0x1f2f7: 0x6cc14420, + 0x1f2f8: 0x6c45b620, 0x1f2f9: 0x6d04f820, 0x1f2fa: 0x6c7e1620, 0x1f2fb: 0x6c628e20, + 0x1f2fc: 0x6caed220, 0x1f2fd: 0x6d3b6020, 0x1f2fe: 0x6cce8e20, 0x1f2ff: 0x6cdd4420, + // Block 0x7cc, offset 0x1f300 + 0x1f300: 0x6ce43620, 0x1f301: 0x6c86ba20, 0x1f302: 0x6c0d8a20, 0x1f303: 0x6d3fd420, + 0x1f304: 0x6c2baa20, 0x1f305: 0x6caee420, 0x1f306: 0x6cd94820, 0x1f307: 0x6d32f820, + 0x1f308: 0x6cc32220, 0x1f309: 0x6d3fd820, 0x1f30a: 0x6cd76220, 0x1f30b: 0x6c660e20, + 0x1f30c: 0x6ceb9620, 0x1f30d: 0x6c55f420, 0x1f30e: 0x6c7eae20, 0x1f30f: 0x6c6f8e20, + 0x1f310: 0x6cb6a020, 0x1f311: 0x6c889820, 0x1f312: 0x6d320420, 0x1f313: 0x6c0d9420, + 0x1f314: 0x6caefa20, 0x1f315: 0x6c96e620, 0x1f316: 0x6cca0e20, 0x1f317: 0x6c979e20, + 0x1f318: 0x6c97a020, 0x1f319: 0x6ccbbc20, 0x1f31a: 0x6d061020, 0x1f31b: 0x6c8b7a20, + 0x1f31c: 0x6cb95420, 0x1f31d: 0x6cb95220, 0x1f31e: 0x6ca46220, 0x1f31f: 0x6c58cc20, + 0x1f320: 0x6c7e3220, 0x1f321: 0x6ca94220, 0x1f322: 0x6c0d9820, 0x1f323: 0x6c8b8a20, + 0x1f324: 0x6cc4fe20, 0x1f325: 0x6c310e20, 0x1f326: 0x6c313420, 0x1f327: 0x6ca53620, + 0x1f328: 0x6c53dc20, 0x1f329: 0x6cf90e20, 0x1f32a: 0x6c314e20, 0x1f32b: 0x6c4e7220, + 0x1f32c: 0x6c315420, 0x1f32d: 0x6c315220, 0x1f32e: 0x6c6f9620, 0x1f32f: 0x6c170e20, + 0x1f330: 0x6d249c20, 0x1f331: 0x6d24a420, 0x1f332: 0x6c43e020, 0x1f333: 0x6d0ecc20, + 0x1f334: 0x6c3f8e20, 0x1f335: 0x6cbdb820, 0x1f336: 0x6c4a9e20, 0x1f337: 0x6d3fdc20, + 0x1f338: 0x6c8f5820, 0x1f339: 0x6c4aa620, 0x1f33a: 0x6cce2a20, 0x1f33b: 0x6d248220, + 0x1f33c: 0x6c4ae220, 0x1f33d: 0x6c9a9620, 0x1f33e: 0x6c623220, 0x1f33f: 0x6cb61220, + // Block 0x7cd, offset 0x1f340 + 0x1f340: 0x6c40da20, 0x1f341: 0x6c7c9020, 0x1f342: 0x6c5cf620, 0x1f343: 0x6c038c20, + 0x1f344: 0x6cb39c20, 0x1f345: 0x6c9aa620, 0x1f346: 0x6d05c820, 0x1f347: 0x6d0dd220, + 0x1f348: 0x6cff1a20, 0x1f349: 0x6c89a220, 0x1f34a: 0x6d242620, 0x1f34b: 0x6ce9ca20, + 0x1f34c: 0x6cb53e20, 0x1f34d: 0x6cee3e20, 0x1f34e: 0x6c89a820, 0x1f34f: 0x6cf0f020, + 0x1f350: 0x6c41bc20, 0x1f351: 0x6c1aea20, 0x1f352: 0x6cb17420, 0x1f353: 0x6c0ab620, + 0x1f354: 0x6ca09620, 0x1f355: 0x6c616220, 0x1f356: 0x6d060820, 0x1f357: 0x6c1e3e20, + 0x1f358: 0x6d0e2620, 0x1f359: 0x6d2dcc20, 0x1f35a: 0x6d211220, 0x1f35b: 0x6c29c420, + 0x1f35c: 0x6cc57620, 0x1f35d: 0x6c6b0220, 0x1f35e: 0x6c03f620, 0x1f35f: 0x6c537c20, + 0x1f360: 0x6ceacc20, 0x1f361: 0x6c2e3620, 0x1f362: 0x6c614e20, 0x1f363: 0x6d073620, + 0x1f364: 0x6c358020, 0x1f365: 0x6c367c20, 0x1f366: 0x6ccc1220, 0x1f367: 0x6c4f8620, + 0x1f368: 0x6cea6620, 0x1f369: 0x6ca15e20, 0x1f36a: 0x6c6c0020, 0x1f36b: 0x6cd07220, + 0x1f36c: 0x6c04d620, 0x1f36d: 0x6d25a420, 0x1f36e: 0x6cb01420, 0x1f36f: 0x6c91d420, + 0x1f370: 0x6cf1aa20, 0x1f371: 0x6c55a620, 0x1f372: 0x6c915a20, 0x1f373: 0x6d289a20, + 0x1f374: 0x6c39ae20, 0x1f375: 0x6c3b9020, 0x1f376: 0x6ca36820, 0x1f377: 0x6d1f6c20, + 0x1f378: 0x6cb15220, 0x1f379: 0x6ca1b620, 0x1f37a: 0x6c517e20, 0x1f37b: 0x6cf9fa20, + 0x1f37c: 0x6cc14620, 0x1f37d: 0x6c4e3820, 0x1f37e: 0x6caf9420, 0x1f37f: 0x6c8d6220, + // Block 0x7ce, offset 0x1f380 + 0x1f380: 0x6ceb5220, 0x1f381: 0x6c0e9820, 0x1f382: 0x6cc0a020, 0x1f383: 0x6cb2d220, + 0x1f384: 0x6c3f0620, 0x1f385: 0x6c0a6420, 0x1f386: 0x6c22a420, 0x1f387: 0x6cf0e020, + 0x1f388: 0x6c70ce20, 0x1f389: 0x6c2de220, 0x1f38a: 0x6c03c620, 0x1f38b: 0x6d1f7a20, + 0x1f38c: 0x6c4bf020, 0x1f38d: 0x6caf9620, 0x1f38e: 0x6ca70620, 0x1f38f: 0x6d03a020, + 0x1f390: 0x6cdf4020, 0x1f391: 0x6c066a20, 0x1f392: 0x6c406020, 0x1f393: 0x6d2c9820, + 0x1f394: 0x6c728620, 0x1f395: 0x6c473620, 0x1f396: 0x6cd41e20, 0x1f397: 0x6c309a20, + 0x1f398: 0x6c27b020, 0x1f399: 0x6cdeba20, 0x1f39a: 0x6c6b4c20, 0x1f39b: 0x6cd50e20, + 0x1f39c: 0x6c548220, 0x1f39d: 0x6cfe0420, 0x1f39e: 0x6c376e20, 0x1f39f: 0x6c01d620, + 0x1f3a0: 0x6cef4820, 0x1f3a1: 0x6d2fe620, 0x1f3a2: 0x6d39d020, 0x1f3a3: 0x6d1b8220, + 0x1f3a4: 0x6c8b4020, 0x1f3a5: 0x6c962e20, 0x1f3a6: 0x6ce79420, 0x1f3a7: 0x6ce3c820, + 0x1f3a8: 0x6d18e220, 0x1f3a9: 0x6c0e3020, 0x1f3aa: 0x6cf03420, 0x1f3ab: 0x6c688a20, + 0x1f3ac: 0x6c7a6820, 0x1f3ad: 0x6c4a9220, 0x1f3ae: 0x6cfae620, 0x1f3af: 0x6c444820, + 0x1f3b0: 0x6c5b4420, 0x1f3b1: 0x6c81fc20, 0x1f3b2: 0x6c40b820, 0x1f3b3: 0x6c77ca20, + 0x1f3b4: 0x6d055e20, 0x1f3b5: 0x6c346820, 0x1f3b6: 0x6c758820, 0x1f3b7: 0x6ce3a020, + 0x1f3b8: 0x6c9e4620, 0x1f3b9: 0x6cce9220, 0x1f3ba: 0x6d2c9a20, 0x1f3bb: 0x6cdd4620, + 0x1f3bc: 0x6cbd4820, 0x1f3bd: 0x6d21d020, 0x1f3be: 0x6ca57820, 0x1f3bf: 0x6d30b420, + // Block 0x7cf, offset 0x1f3c0 + 0x1f3c0: 0x6c4bf620, 0x1f3c1: 0x6c452420, 0x1f3c2: 0x6cdb7c20, 0x1f3c3: 0x6cf40220, + 0x1f3c4: 0x6cc0a620, 0x1f3c5: 0x6ccd1820, 0x1f3c6: 0x6cb42020, 0x1f3c7: 0x6c596220, + 0x1f3c8: 0x6ce5a820, 0x1f3c9: 0x6c854020, 0x1f3ca: 0x6ccc2420, 0x1f3cb: 0x6ccc2620, + 0x1f3cc: 0x6c77d020, 0x1f3cd: 0x6c9b7e20, 0x1f3ce: 0x6c1a8e20, 0x1f3cf: 0x6c87e620, + 0x1f3d0: 0x6d409820, 0x1f3d1: 0x6cf94c20, 0x1f3d2: 0x6d1e6420, 0x1f3d3: 0x6ca61020, + 0x1f3d4: 0x6d3eba20, 0x1f3d5: 0x6cb68820, 0x1f3d6: 0x6d330c20, 0x1f3d7: 0x6cfe0620, + 0x1f3d8: 0x6ca57a20, 0x1f3d9: 0x6c216e20, 0x1f3da: 0x6c62c620, 0x1f3db: 0x6c2dec20, + 0x1f3dc: 0x6cbd0020, 0x1f3dd: 0x6c482c20, 0x1f3de: 0x6d38f220, 0x1f3df: 0x6c302420, + 0x1f3e0: 0x6c7f3020, 0x1f3e1: 0x6c3aec20, 0x1f3e2: 0x6ca61420, 0x1f3e3: 0x6d192220, + 0x1f3e4: 0x6c7d8e20, 0x1f3e5: 0x6c932620, 0x1f3e6: 0x6c703820, 0x1f3e7: 0x6c168620, + 0x1f3e8: 0x6c6de620, 0x1f3e9: 0x6c951220, 0x1f3ea: 0x6c8d8a20, 0x1f3eb: 0x6d406e20, + 0x1f3ec: 0x6c849420, 0x1f3ed: 0x6c9bf420, 0x1f3ee: 0x6d3fde20, 0x1f3ef: 0x6d375220, + 0x1f3f0: 0x6ca70c20, 0x1f3f1: 0x6c570420, 0x1f3f2: 0x6d24c420, 0x1f3f3: 0x6c2cb620, + 0x1f3f4: 0x6cd20c20, 0x1f3f5: 0x6cd02c20, 0x1f3f6: 0x6c5d1620, 0x1f3f7: 0x6ce3ac20, + 0x1f3f8: 0x6c544020, 0x1f3f9: 0x6d03b220, 0x1f3fa: 0x6d39e420, 0x1f3fb: 0x6c7ebc20, + 0x1f3fc: 0x6d3fe020, 0x1f3fd: 0x6d2b6820, 0x1f3fe: 0x6c0b1820, 0x1f3ff: 0x6c0b1a20, + // Block 0x7d0, offset 0x1f400 + 0x1f400: 0x6c596420, 0x1f401: 0x6cc32a20, 0x1f402: 0x6d2b7020, 0x1f403: 0x6ceeca20, + 0x1f404: 0x6ceecc20, 0x1f405: 0x6d21e620, 0x1f406: 0x6c212420, 0x1f407: 0x6cc77020, + 0x1f408: 0x6c2f0a20, 0x1f409: 0x6c5a2e20, 0x1f40a: 0x6c893220, 0x1f40b: 0x6d0e0620, + 0x1f40c: 0x6cbfda20, 0x1f40d: 0x6cbfdc20, 0x1f40e: 0x6c661020, 0x1f40f: 0x6c089c20, + 0x1f410: 0x6c36dc20, 0x1f411: 0x6d0ff220, 0x1f412: 0x6c409020, 0x1f413: 0x6cc9d820, + 0x1f414: 0x6c41fa20, 0x1f415: 0x6cf98220, 0x1f416: 0x6ceb9820, 0x1f417: 0x6c55fa20, + 0x1f418: 0x6cd42420, 0x1f419: 0x6cc93420, 0x1f41a: 0x6d08d620, 0x1f41b: 0x6cf17220, + 0x1f41c: 0x6cba8820, 0x1f41d: 0x6c508020, 0x1f41e: 0x6cf39020, 0x1f41f: 0x6c39b420, + 0x1f420: 0x6ccad620, 0x1f421: 0x6c8ee420, 0x1f422: 0x6c96aa20, 0x1f423: 0x6cd29620, + 0x1f424: 0x6cd21420, 0x1f425: 0x6c493a20, 0x1f426: 0x6d3ec220, 0x1f427: 0x6ce2d020, + 0x1f428: 0x6cde2620, 0x1f429: 0x6d117a20, 0x1f42a: 0x6c35a820, 0x1f42b: 0x6d1e0820, + 0x1f42c: 0x6cb9e420, 0x1f42d: 0x6cb6a420, 0x1f42e: 0x6cf17420, 0x1f42f: 0x6cc93820, + 0x1f430: 0x6cd0ce20, 0x1f431: 0x6c889e20, 0x1f432: 0x6c028e20, 0x1f433: 0x6c823420, + 0x1f434: 0x6c5b0c20, 0x1f435: 0x6c9fdc20, 0x1f436: 0x6c62e620, 0x1f437: 0x6ce5b620, + 0x1f438: 0x6cc16820, 0x1f439: 0x6c654a20, 0x1f43a: 0x6cd03020, 0x1f43b: 0x6c97a820, + 0x1f43c: 0x6cf7c620, 0x1f43d: 0x6cc0aa20, 0x1f43e: 0x6c0c9c20, 0x1f43f: 0x6c62e820, + // Block 0x7d1, offset 0x1f440 + 0x1f440: 0x6c62d820, 0x1f441: 0x6d3a3c20, 0x1f442: 0x6c679a20, 0x1f443: 0x6d051420, + 0x1f444: 0x6d3b9c20, 0x1f445: 0x6d1de620, 0x1f446: 0x6d2eee20, 0x1f447: 0x6c776420, + 0x1f448: 0x6d093620, 0x1f449: 0x6c0cce20, 0x1f44a: 0x6d248a20, 0x1f44b: 0x6cc16a20, + 0x1f44c: 0x6cfe6e20, 0x1f44d: 0x6c0ea220, 0x1f44e: 0x6c697820, 0x1f44f: 0x6d0a5a20, + 0x1f450: 0x6cdb7220, 0x1f451: 0x6c5a3a20, 0x1f452: 0x6d420020, 0x1f453: 0x6ccdee20, + 0x1f454: 0x6ccdf020, 0x1f455: 0x6c387620, 0x1f456: 0x6c4bae20, 0x1f457: 0x6c8c0c20, + 0x1f458: 0x6d0a5c20, 0x1f459: 0x6c9e8620, 0x1f45a: 0x6cf82c20, 0x1f45b: 0x6d2bbe20, + 0x1f45c: 0x6cfe7820, 0x1f45d: 0x6c3c0620, 0x1f45e: 0x6c494620, 0x1f45f: 0x6c548a20, + 0x1f460: 0x6c7b4e20, 0x1f461: 0x6d2b7220, 0x1f462: 0x6ccada20, 0x1f463: 0x6d2dd020, + 0x1f464: 0x6c420420, 0x1f465: 0x6c4bb220, 0x1f466: 0x6d1d6020, 0x1f467: 0x6c855220, + 0x1f468: 0x6c16da20, 0x1f469: 0x6c836e20, 0x1f46a: 0x6cd63a20, 0x1f46b: 0x6c011020, + 0x1f46c: 0x6cc7f220, 0x1f46d: 0x6c62fe20, 0x1f46e: 0x6d076e20, 0x1f46f: 0x6c56f220, + 0x1f470: 0x6cd63c20, 0x1f471: 0x6c87bc20, 0x1f472: 0x6c8b8e20, 0x1f473: 0x6c87c620, + 0x1f474: 0x6c9f2020, 0x1f475: 0x6d31a620, 0x1f476: 0x6cfe1220, 0x1f477: 0x6c370220, + 0x1f478: 0x6c91ac20, 0x1f479: 0x6c49ca20, 0x1f47a: 0x6c84f020, 0x1f47b: 0x6cfb1c20, + 0x1f47c: 0x6d20ce20, 0x1f47d: 0x6c29c220, 0x1f47e: 0x6c613a20, 0x1f47f: 0x6d1f4220, + // Block 0x7d2, offset 0x1f480 + 0x1f480: 0x6cea5c20, 0x1f481: 0x6c91c020, 0x1f482: 0x6c39ac20, 0x1f483: 0x6c035420, + 0x1f484: 0x6c515220, 0x1f485: 0x6c03be20, 0x1f486: 0x6cb2ba20, 0x1f487: 0x6ca70020, + 0x1f488: 0x6c915620, 0x1f489: 0x6d1f5220, 0x1f48a: 0x6d2c8020, 0x1f48b: 0x6c401420, + 0x1f48c: 0x6c03c020, 0x1f48d: 0x6c065620, 0x1f48e: 0x6c547620, 0x1f48f: 0x6cb00220, + 0x1f490: 0x6cdf2c20, 0x1f491: 0x6c4a8220, 0x1f492: 0x6c6b1620, 0x1f493: 0x6c77b420, + 0x1f494: 0x6ceffa20, 0x1f495: 0x6c376420, 0x1f496: 0x6ce77620, 0x1f497: 0x6d2b6220, + 0x1f498: 0x6c547c20, 0x1f499: 0x6c7b2e20, 0x1f49a: 0x6c625a20, 0x1f49b: 0x6c686220, + 0x1f49c: 0x6cfac620, 0x1f49d: 0x6d2c8820, 0x1f49e: 0x6cfdfa20, 0x1f49f: 0x6d0a2c20, + 0x1f4a0: 0x6c451e20, 0x1f4a1: 0x6c843820, 0x1f4a2: 0x6c884620, 0x1f4a3: 0x6c64ea20, + 0x1f4a4: 0x6c852c20, 0x1f4a5: 0x6cd28820, 0x1f4a6: 0x6ce5a420, 0x1f4a7: 0x6c4be820, + 0x1f4a8: 0x6ccc1620, 0x1f4a9: 0x6c595020, 0x1f4aa: 0x6c758020, 0x1f4ab: 0x6c626e20, + 0x1f4ac: 0x6d1e5a20, 0x1f4ad: 0x6cbe5820, 0x1f4ae: 0x6c8d6420, 0x1f4af: 0x6cb65820, + 0x1f4b0: 0x6d406820, 0x1f4b1: 0x6c3a1c20, 0x1f4b2: 0x6c7d8620, 0x1f4b3: 0x6c168020, + 0x1f4b4: 0x6c482a20, 0x1f4b5: 0x6ca60a20, 0x1f4b6: 0x6ca70820, 0x1f4b7: 0x6c2de420, + 0x1f4b8: 0x6c6dd420, 0x1f4b9: 0x6cd02420, 0x1f4ba: 0x6cd20020, 0x1f4bb: 0x6d3e9e20, + 0x1f4bc: 0x6c3bf820, 0x1f4bd: 0x6c2ef620, 0x1f4be: 0x6c089420, 0x1f4bf: 0x6c16ce20, + // Block 0x7d3, offset 0x1f4c0 + 0x1f4c0: 0x6ce39020, 0x1f4c1: 0x6cf16c20, 0x1f4c2: 0x6ceec420, 0x1f4c3: 0x6cc9d220, + 0x1f4c4: 0x6c36c020, 0x1f4c5: 0x6cbfd220, 0x1f4c6: 0x6c407020, 0x1f4c7: 0x6c5a1620, + 0x1f4c8: 0x6cc31e20, 0x1f4c9: 0x6c678a20, 0x1f4ca: 0x6c0b1220, 0x1f4cb: 0x6ccac820, + 0x1f4cc: 0x6c028020, 0x1f4cd: 0x6cb68020, 0x1f4ce: 0x6cde1e20, 0x1f4cf: 0x6c493220, + 0x1f4d0: 0x6d116620, 0x1f4d1: 0x6cad1220, 0x1f4d2: 0x6c651e20, 0x1f4d3: 0x6c823020, + 0x1f4d4: 0x6c0c9a20, 0x1f4d5: 0x6d093420, 0x1f4d6: 0x6c0cc820, 0x1f4d7: 0x6c979820, + 0x1f4d8: 0x6c9fd820, 0x1f4d9: 0x6d1dd220, 0x1f4da: 0x6cf10420, 0x1f4db: 0x6cf7b620, + 0x1f4dc: 0x6c4ba020, 0x1f4dd: 0x6ccde220, 0x1f4de: 0x6c8c0620, 0x1f4df: 0x6d41fe20, + 0x1f4e0: 0x6c56e420, 0x1f4e1: 0x6c41fe20, 0x1f4e2: 0x6c854a20, 0x1f4e3: 0x6d2dc820, + 0x1f4e4: 0x6c496e20, 0x1f4e5: 0x6ca79a20, 0x1f4e6: 0x6d15f420, 0x1f4e7: 0x6c3ebc20, + 0x1f4e8: 0x6c864220, 0x1f4e9: 0x6c6f7e20, 0x1f4ea: 0x6c102220, 0x1f4eb: 0x6d0e8e20, + 0x1f4ec: 0x6c3f5020, 0x1f4ed: 0x6c2dd020, 0x1f4ee: 0x6c5efc20, 0x1f4ef: 0x6c3cea20, + 0x1f4f0: 0x6cc83620, 0x1f4f1: 0x6c41ac20, 0x1f4f2: 0x6cd1e820, 0x1f4f3: 0x6c3cee20, + 0x1f4f4: 0x6ca01420, 0x1f4f5: 0x6c060c20, 0x1f4f6: 0x6d250820, 0x1f4f7: 0x6d341420, + 0x1f4f8: 0x6c56c420, 0x1f4f9: 0x6cbd9a20, 0x1f4fa: 0x6c3d9820, 0x1f4fb: 0x6c049620, + 0x1f4fc: 0x6cf1ac20, 0x1f4fd: 0x6c64ec20, 0x1f4fe: 0x6cd1f620, 0x1f4ff: 0x6d23e420, + // Block 0x7d4, offset 0x1f500 + 0x1f500: 0x6c3d3220, 0x1f501: 0x6d10b620, 0x1f502: 0x6c74b020, 0x1f503: 0x6c74b220, + 0x1f504: 0x6cb06c20, 0x1f505: 0x6c583020, 0x1f506: 0x6d326820, 0x1f507: 0x6c061220, + 0x1f508: 0x6d0eb420, 0x1f509: 0x6d0af620, 0x1f50a: 0x6d336420, 0x1f50b: 0x6c399c20, + 0x1f50c: 0x6c3cf020, 0x1f50d: 0x6cf1ae20, 0x1f50e: 0x6cab5220, 0x1f50f: 0x6c279220, + 0x1f510: 0x6c43ac20, 0x1f511: 0x6cc7ca20, 0x1f512: 0x6c8d6620, 0x1f513: 0x6c9eea20, + 0x1f514: 0x6c3eec20, 0x1f515: 0x6ceb5420, 0x1f516: 0x6c9f7c20, 0x1f517: 0x6c869620, + 0x1f518: 0x6c0b5020, 0x1f519: 0x6d36fc20, 0x1f51a: 0x6c43ae20, 0x1f51b: 0x6d251420, + 0x1f51c: 0x6c227620, 0x1f51d: 0x6cc1cc20, 0x1f51e: 0x6cff1c20, 0x1f51f: 0x6c1adc20, + 0x1f520: 0x6c28c020, 0x1f521: 0x6c70d020, 0x1f522: 0x6d11d620, 0x1f523: 0x6c473820, + 0x1f524: 0x6c301820, 0x1f525: 0x6d240020, 0x1f526: 0x6d0f6e20, 0x1f527: 0x6cc73a20, + 0x1f528: 0x6d0afe20, 0x1f529: 0x6ce60420, 0x1f52a: 0x6d240220, 0x1f52b: 0x6ce54420, + 0x1f52c: 0x6d1bf820, 0x1f52d: 0x6c331620, 0x1f52e: 0x6cf38620, 0x1f52f: 0x6c377020, + 0x1f530: 0x6c487c20, 0x1f531: 0x6c00d420, 0x1f532: 0x6d341a20, 0x1f533: 0x6d0ed620, + 0x1f534: 0x6c527a20, 0x1f535: 0x6cff2c20, 0x1f536: 0x6c63f020, 0x1f537: 0x6c8b4220, + 0x1f538: 0x6d39d220, 0x1f539: 0x6d0fe220, 0x1f53a: 0x6ce39220, 0x1f53b: 0x6c539220, + 0x1f53c: 0x6c963020, 0x1f53d: 0x6cc7da20, 0x1f53e: 0x6ca1f220, 0x1f53f: 0x6c43b820, + // Block 0x7d5, offset 0x1f540 + 0x1f540: 0x6cc57e20, 0x1f541: 0x6c688c20, 0x1f542: 0x6d050220, 0x1f543: 0x6d38ba20, + 0x1f544: 0x6d341c20, 0x1f545: 0x6c963220, 0x1f546: 0x6c528c20, 0x1f547: 0x6ca77620, + 0x1f548: 0x6c370820, 0x1f549: 0x6c944620, 0x1f54a: 0x6c63f220, 0x1f54b: 0x6c62b420, + 0x1f54c: 0x6ce90420, 0x1f54d: 0x6c583820, 0x1f54e: 0x6ceb9220, 0x1f54f: 0x6c104a20, + 0x1f550: 0x6cf40420, 0x1f551: 0x6c730820, 0x1f552: 0x6d244820, 0x1f553: 0x6c0f9c20, + 0x1f554: 0x6c75f620, 0x1f555: 0x6d0aae20, 0x1f556: 0x6c089220, 0x1f557: 0x6cf71020, + 0x1f558: 0x6c75f820, 0x1f559: 0x6c717620, 0x1f55a: 0x6ce87e20, 0x1f55b: 0x6c6de420, + 0x1f55c: 0x6ce3a220, 0x1f55d: 0x6c359020, 0x1f55e: 0x6c359220, 0x1f55f: 0x6c7bcc20, + 0x1f560: 0x6c55e820, 0x1f561: 0x6cf48a20, 0x1f562: 0x6cd02a20, 0x1f563: 0x6c7f6620, + 0x1f564: 0x6c69ee20, 0x1f565: 0x6cacca20, 0x1f566: 0x6c932820, 0x1f567: 0x6cb02c20, + 0x1f568: 0x6cd51a20, 0x1f569: 0x6c3f2220, 0x1f56a: 0x6c015e20, 0x1f56b: 0x6d3dd020, + 0x1f56c: 0x6caef420, 0x1f56d: 0x6cbdba20, 0x1f56e: 0x6cb94220, 0x1f56f: 0x6c06be20, + 0x1f570: 0x6c2dee20, 0x1f571: 0x6c932a20, 0x1f572: 0x6cc42c20, 0x1f573: 0x6c652a20, + 0x1f574: 0x6c718420, 0x1f575: 0x6ce92a20, 0x1f576: 0x6d0b0420, 0x1f577: 0x6d252020, + 0x1f578: 0x6cb68e20, 0x1f579: 0x6c849620, 0x1f57a: 0x6d138620, 0x1f57b: 0x6d3c7020, + 0x1f57c: 0x6c798e20, 0x1f57d: 0x6c352020, 0x1f57e: 0x6c7d9020, 0x1f57f: 0x6cd11c20, + // Block 0x7d6, offset 0x1f580 + 0x1f580: 0x6cb69020, 0x1f581: 0x6c6de820, 0x1f582: 0x6d192420, 0x1f583: 0x6d192620, + 0x1f584: 0x6c6dea20, 0x1f585: 0x6d3ebc20, 0x1f586: 0x6c7f3220, 0x1f587: 0x6c302620, + 0x1f588: 0x6cb55020, 0x1f589: 0x6c219420, 0x1f58a: 0x6c44e620, 0x1f58b: 0x6c70e020, + 0x1f58c: 0x6c74f620, 0x1f58d: 0x6d199620, 0x1f58e: 0x6d422420, 0x1f58f: 0x6c5f8a20, + 0x1f590: 0x6cd62c20, 0x1f591: 0x6d1c1420, 0x1f592: 0x6c1c9220, 0x1f593: 0x6c9e8220, + 0x1f594: 0x6cc77220, 0x1f595: 0x6c016220, 0x1f596: 0x6cbfe020, 0x1f597: 0x6ce3ae20, + 0x1f598: 0x6c55fc20, 0x1f599: 0x6ce3b020, 0x1f59a: 0x6c36e020, 0x1f59b: 0x6c6a4420, + 0x1f59c: 0x6c991220, 0x1f59d: 0x6c3f2620, 0x1f59e: 0x6c212820, 0x1f59f: 0x6ce90820, + 0x1f5a0: 0x6d0e0820, 0x1f5a1: 0x6c51a020, 0x1f5a2: 0x6d25d020, 0x1f5a3: 0x6cb10620, + 0x1f5a4: 0x6c7d9620, 0x1f5a5: 0x6c9a3e20, 0x1f5a6: 0x6c55fe20, 0x1f5a7: 0x6d1c1620, + 0x1f5a8: 0x6c204820, 0x1f5a9: 0x6cf54c20, 0x1f5aa: 0x6c718a20, 0x1f5ab: 0x6c309c20, + 0x1f5ac: 0x6c124420, 0x1f5ad: 0x6c39e020, 0x1f5ae: 0x6c520a20, 0x1f5af: 0x6d1c3620, + 0x1f5b0: 0x6d25d220, 0x1f5b1: 0x6cfb0620, 0x1f5b2: 0x6cf24620, 0x1f5b3: 0x6cd21620, + 0x1f5b4: 0x6c520c20, 0x1f5b5: 0x6c1eca20, 0x1f5b6: 0x6ce16820, 0x1f5b7: 0x6cfa1a20, + 0x1f5b8: 0x6cc93a20, 0x1f5b9: 0x6c8ee620, 0x1f5ba: 0x6c60fe20, 0x1f5bb: 0x6c474c20, + 0x1f5bc: 0x6c654620, 0x1f5bd: 0x6cdd0420, 0x1f5be: 0x6c4f3a20, 0x1f5bf: 0x6c228020, + // Block 0x7d7, offset 0x1f5c0 + 0x1f5c0: 0x6c228220, 0x1f5c1: 0x6d195420, 0x1f5c2: 0x6d124820, 0x1f5c3: 0x6d0f0220, + 0x1f5c4: 0x6c5f9a20, 0x1f5c5: 0x6c875c20, 0x1f5c6: 0x6ce4d220, 0x1f5c7: 0x6c7a0e20, + 0x1f5c8: 0x6ce30620, 0x1f5c9: 0x6ce30820, 0x1f5ca: 0x6d195620, 0x1f5cb: 0x6ce90c20, + 0x1f5cc: 0x6c96ac20, 0x1f5cd: 0x6c68ae20, 0x1f5ce: 0x6c42f420, 0x1f5cf: 0x6ce4d420, + 0x1f5d0: 0x6c18fe20, 0x1f5d1: 0x6c610020, 0x1f5d2: 0x6ce97620, 0x1f5d3: 0x6d311020, + 0x1f5d4: 0x6c029020, 0x1f5d5: 0x6d11e620, 0x1f5d6: 0x6d143c20, 0x1f5d7: 0x6cab6620, + 0x1f5d8: 0x6c1c9820, 0x1f5d9: 0x6d376e20, 0x1f5da: 0x6c8f5c20, 0x1f5db: 0x6d1de820, + 0x1f5dc: 0x6c937020, 0x1f5dd: 0x6c0aca20, 0x1f5de: 0x6cd6b820, 0x1f5df: 0x6d3de420, + 0x1f5e0: 0x6d21fa20, 0x1f5e1: 0x6cf41020, 0x1f5e2: 0x6c752620, 0x1f5e3: 0x6d1ab620, + 0x1f5e4: 0x6ce3b820, 0x1f5e5: 0x6cd85620, 0x1f5e6: 0x6c68b420, 0x1f5e7: 0x6d196c20, + 0x1f5e8: 0x6c577020, 0x1f5e9: 0x6c0ad020, 0x1f5ea: 0x6d1c4620, 0x1f5eb: 0x6cdb7420, + 0x1f5ec: 0x6c5a3c20, 0x1f5ed: 0x6c38f820, 0x1f5ee: 0x6c68b620, 0x1f5ef: 0x6c8a5a20, + 0x1f5f0: 0x6d0f1820, 0x1f5f1: 0x6c42f820, 0x1f5f2: 0x6c704020, 0x1f5f3: 0x6cfbda20, + 0x1f5f4: 0x6cfbdc20, 0x1f5f5: 0x6ce90e20, 0x1f5f6: 0x6c971c20, 0x1f5f7: 0x6d420220, + 0x1f5f8: 0x6d248e20, 0x1f5f9: 0x6d1c4a20, 0x1f5fa: 0x6c934220, 0x1f5fb: 0x6ce97820, + 0x1f5fc: 0x6cfbde20, 0x1f5fd: 0x6d092e20, 0x1f5fe: 0x6d197820, 0x1f5ff: 0x6cb0e020, + // Block 0x7d8, offset 0x1f600 + 0x1f600: 0x6c1efc20, 0x1f601: 0x6c958c20, 0x1f602: 0x6cf75c20, 0x1f603: 0x6d15a220, + 0x1f604: 0x6c5fb220, 0x1f605: 0x6d2b2c20, 0x1f606: 0x6d220820, 0x1f607: 0x6d2dd220, + 0x1f608: 0x6d13a420, 0x1f609: 0x6d0ffa20, 0x1f60a: 0x6cb0e220, 0x1f60b: 0x6ca94420, + 0x1f60c: 0x6c56f420, 0x1f60d: 0x6c9cd220, 0x1f60e: 0x6d1c5020, 0x1f60f: 0x6c9bc420, + 0x1f610: 0x6c2bc220, 0x1f611: 0x6d273620, 0x1f612: 0x6d249020, 0x1f613: 0x6c831a20, + 0x1f614: 0x6c068620, 0x1f615: 0x6c91ae20, 0x1f616: 0x6c521220, 0x1f617: 0x6c902220, + 0x1f618: 0x6cd6cc20, 0x1f619: 0x6d274020, 0x1f61a: 0x6d1c5220, 0x1f61b: 0x6c49cc20, + 0x1f61c: 0x6cc23820, 0x1f61d: 0x6c84f220, 0x1f61e: 0x6c948820, 0x1f61f: 0x6ca78a20, + 0x1f620: 0x6c6f5a20, 0x1f621: 0x6c5e8820, 0x1f622: 0x6d24ca20, 0x1f623: 0x6c9fea20, + 0x1f624: 0x6cd1a020, 0x1f625: 0x6cab3620, 0x1f626: 0x6d0ada20, 0x1f627: 0x6c122620, + 0x1f628: 0x6c05ec20, 0x1f629: 0x6d322a20, 0x1f62a: 0x6c470420, 0x1f62b: 0x6c2fec20, + 0x1f62c: 0x6c914a20, 0x1f62d: 0x6d0ae420, 0x1f62e: 0x6cfeae20, 0x1f62f: 0x6d0f5820, + 0x1f630: 0x6c8cda20, 0x1f631: 0x6c1aa620, 0x1f632: 0x6cc18220, 0x1f633: 0x6d24d820, + 0x1f634: 0x6d090420, 0x1f635: 0x6ceb1220, 0x1f636: 0x6cd7de20, 0x1f637: 0x6d361220, + 0x1f638: 0x6c375620, 0x1f639: 0x6c485820, 0x1f63a: 0x6d04d220, 0x1f63b: 0x6c526620, + 0x1f63c: 0x6d388020, 0x1f63d: 0x6c438a20, 0x1f63e: 0x6c943820, 0x1f63f: 0x6c534820, + // Block 0x7d9, offset 0x1f640 + 0x1f640: 0x6cf3ce20, 0x1f641: 0x6c0f0c20, 0x1f642: 0x6c83dc20, 0x1f643: 0x6c72f820, + 0x1f644: 0x6c479a20, 0x1f645: 0x6c357220, 0x1f646: 0x6d236220, 0x1f647: 0x6cfb6820, + 0x1f648: 0x6ce33a20, 0x1f649: 0x6cf45420, 0x1f64a: 0x6cc42a20, 0x1f64b: 0x6c9e7a20, + 0x1f64c: 0x6c013e20, 0x1f64d: 0x6c7d7820, 0x1f64e: 0x6c06b420, 0x1f64f: 0x6caeb020, + 0x1f650: 0x6cb8fc20, 0x1f651: 0x6c219220, 0x1f652: 0x6c44d620, 0x1f653: 0x6d250220, + 0x1f654: 0x6cdadc20, 0x1f655: 0x6c558e20, 0x1f656: 0x6c516020, 0x1f657: 0x6c367e20, + 0x1f658: 0x6c47bc20, 0x1f659: 0x6cbfba20, 0x1f65a: 0x6c225a20, 0x1f65b: 0x6c9a1e20, + 0x1f65c: 0x6cf51220, 0x1f65d: 0x6d187820, 0x1f65e: 0x6d122020, 0x1f65f: 0x6cf23820, + 0x1f660: 0x6c8e9420, 0x1f661: 0x6c60a020, 0x1f662: 0x6d187a20, 0x1f663: 0x6c64ee20, + 0x1f664: 0x6c51e220, 0x1f665: 0x6d141c20, 0x1f666: 0x6d1bfa20, 0x1f667: 0x6d310420, + 0x1f668: 0x6c8f4420, 0x1f669: 0x6c8a2e20, 0x1f66a: 0x6c689220, 0x1f66b: 0x6c703020, + 0x1f66c: 0x6d242a20, 0x1f66d: 0x6c931820, 0x1f66e: 0x6c58b420, 0x1f66f: 0x6d2db020, + 0x1f670: 0x6d1c0c20, 0x1f671: 0x6c56da20, 0x1f672: 0x6c9b8020, 0x1f673: 0x6c49c020, + 0x1f674: 0x6cd6ba20, 0x1f675: 0x6c91bc20, 0x1f676: 0x6c6c5820, 0x1f677: 0x6c8d6820, + 0x1f678: 0x6c661220, 0x1f679: 0x6cfbd020, 0x1f67a: 0x6c25fe20, 0x1f67b: 0x6c662620, + 0x1f67c: 0x6c664020, 0x1f67d: 0x6d0d1a20, 0x1f67e: 0x6c25f420, 0x1f67f: 0x6c924c20, + // Block 0x7da, offset 0x1f680 + 0x1f680: 0x6d1eaa20, 0x1f681: 0x6c241620, 0x1f682: 0x6c614c20, 0x1f683: 0x6cad6820, + 0x1f684: 0x6c241820, 0x1f685: 0x6cad6c20, 0x1f686: 0x6d3b3220, 0x1f687: 0x6c758220, + 0x1f688: 0x6d3a8220, 0x1f689: 0x6c651020, 0x1f68a: 0x6c9c8420, 0x1f68b: 0x6c9c8620, + 0x1f68c: 0x6d22a820, 0x1f68d: 0x6c8ec820, 0x1f68e: 0x6c18f420, 0x1f68f: 0x6c758a20, + 0x1f690: 0x6c8bf620, 0x1f691: 0x6ca61a20, 0x1f692: 0x6cb69420, 0x1f693: 0x6c932c20, + 0x1f694: 0x6c703a20, 0x1f695: 0x6c758c20, 0x1f696: 0x6c6df020, 0x1f697: 0x6c871420, + 0x1f698: 0x6cfd9820, 0x1f699: 0x6cfbd220, 0x1f69a: 0x6c639020, 0x1f69b: 0x6c9ca620, + 0x1f69c: 0x6c875e20, 0x1f69d: 0x6ccf8e20, 0x1f69e: 0x6d2ef220, 0x1f69f: 0x6c8c1020, + 0x1f6a0: 0x6c6dfa20, 0x1f6a1: 0x6cb6b620, 0x1f6a2: 0x6c8de220, 0x1f6a3: 0x6d0d2820, + 0x1f6a4: 0x6c241a20, 0x1f6a5: 0x6c973220, 0x1f6a6: 0x6c972620, 0x1f6a7: 0x6c516220, + 0x1f6a8: 0x6c17a620, 0x1f6a9: 0x6c3d9c20, 0x1f6aa: 0x6c9e5e20, 0x1f6ab: 0x6c9e3e20, + 0x1f6ac: 0x6c3da820, 0x1f6ad: 0x6cad9c20, 0x1f6ae: 0x6cc27e20, 0x1f6af: 0x6cc14c20, + 0x1f6b0: 0x6ca1f420, 0x1f6b1: 0x6c3db020, 0x1f6b2: 0x6cfd2c20, 0x1f6b3: 0x6c7f3420, + 0x1f6b4: 0x6cc15820, 0x1f6b5: 0x6c9e6a20, 0x1f6b6: 0x6c1ca620, 0x1f6b7: 0x6c3c9420, + 0x1f6b8: 0x6c3d6e20, 0x1f6b9: 0x6cc14020, 0x1f6ba: 0x6c9e6420, 0x1f6bb: 0x6c966820, + 0x1f6bc: 0x6c99c420, 0x1f6bd: 0x6ca07020, 0x1f6be: 0x6c5af020, 0x1f6bf: 0x6ca1b820, + // Block 0x7db, offset 0x1f6c0 + 0x1f6c0: 0x6d407020, 0x1f6c1: 0x6caaae20, 0x1f6c2: 0x6c3bb420, 0x1f6c3: 0x6c59ce20, + 0x1f6c4: 0x6c59b820, 0x1f6c5: 0x6c6c5a20, 0x1f6c6: 0x6c49f620, 0x1f6c7: 0x6ce47420, + 0x1f6c8: 0x6ce81c20, 0x1f6c9: 0x6c538c20, 0x1f6ca: 0x6c57c820, 0x1f6cb: 0x6c7c0820, + 0x1f6cc: 0x6c539a20, 0x1f6cd: 0x6cd56020, 0x1f6ce: 0x6c843a20, 0x1f6cf: 0x6ca70a20, + 0x1f6d0: 0x6c1af220, 0x1f6d1: 0x6c521c20, 0x1f6d2: 0x6c521a20, 0x1f6d3: 0x6d187c20, + 0x1f6d4: 0x6cb9ce20, 0x1f6d5: 0x6c284820, 0x1f6d6: 0x6cf8ea20, 0x1f6d7: 0x6cea2e20, + 0x1f6d8: 0x6ca17020, 0x1f6d9: 0x6ca15020, 0x1f6da: 0x6cb9d220, 0x1f6db: 0x6c279e20, + 0x1f6dc: 0x6c1f8420, 0x1f6dd: 0x6d1ff620, 0x1f6de: 0x6c2d2e20, 0x1f6df: 0x6d143020, + 0x1f6e0: 0x6cfa1220, 0x1f6e1: 0x6d0df220, 0x1f6e2: 0x6cc15a20, 0x1f6e3: 0x6c9a7220, + 0x1f6e4: 0x6d0e0a20, 0x1f6e5: 0x6cbe9420, 0x1f6e6: 0x6d271220, 0x1f6e7: 0x6c84a220, + 0x1f6e8: 0x6c293820, 0x1f6e9: 0x6c31ec20, 0x1f6ea: 0x6c11e820, 0x1f6eb: 0x6d0c4820, + 0x1f6ec: 0x6d0d0820, 0x1f6ed: 0x6d0e1420, 0x1f6ee: 0x6c285820, 0x1f6ef: 0x6c01e420, + 0x1f6f0: 0x6d320a20, 0x1f6f1: 0x6c27ac20, 0x1f6f2: 0x6c11ea20, 0x1f6f3: 0x6d144020, + 0x1f6f4: 0x6c9a4620, 0x1f6f5: 0x6d2e4220, 0x1f6f6: 0x6d0e3420, 0x1f6f7: 0x6c320e20, + 0x1f6f8: 0x6c91b020, 0x1f6f9: 0x6d353420, 0x1f6fa: 0x6c3bc220, 0x1f6fb: 0x6c3f1020, + 0x1f6fc: 0x6c3f9820, 0x1f6fd: 0x6c9e3220, 0x1f6fe: 0x6c9e0a20, 0x1f6ff: 0x6d25bc20, + // Block 0x7dc, offset 0x1f700 + 0x1f700: 0x6c247220, 0x1f701: 0x6cc28420, 0x1f702: 0x6c178820, 0x1f703: 0x6cebfc20, + 0x1f704: 0x6d39e620, 0x1f705: 0x6d342a20, 0x1f706: 0x6c9bbe20, 0x1f707: 0x6c029420, + 0x1f708: 0x6c0cd020, 0x1f709: 0x6ceb6a20, 0x1f70a: 0x6c0ada20, 0x1f70b: 0x6d257220, + 0x1f70c: 0x6c176620, 0x1f70d: 0x6ceb5e20, 0x1f70e: 0x6c2f7420, 0x1f70f: 0x6c9d7420, + 0x1f710: 0x6ca3d020, 0x1f711: 0x6c2f7c20, 0x1f712: 0x6d3e8420, 0x1f713: 0x6c47a620, + 0x1f714: 0x6c47a820, 0x1f715: 0x6c302220, 0x1f716: 0x6c3ba420, 0x1f717: 0x6ce25020, + 0x1f718: 0x6d252820, 0x1f719: 0x6cb03a20, 0x1f71a: 0x6c168e20, 0x1f71b: 0x6c42f620, + 0x1f71c: 0x6cb80820, 0x1f71d: 0x6d252a20, 0x1f71e: 0x6ce0e220, 0x1f71f: 0x6ce29820, + 0x1f720: 0x6cd56620, 0x1f721: 0x6cd55220, 0x1f722: 0x6c3b9e20, 0x1f723: 0x6c3adc20, + 0x1f724: 0x6cf1be20, 0x1f725: 0x6c039620, 0x1f726: 0x6c2dea20, 0x1f727: 0x6ceb5a20, + 0x1f728: 0x6d37d420, 0x1f729: 0x6cc1ee20, 0x1f72a: 0x6cd11a20, 0x1f72b: 0x6cd28e20, + 0x1f72c: 0x6d205e20, 0x1f72d: 0x6cd29420, 0x1f72e: 0x6ce69e20, 0x1f72f: 0x6cf40c20, + 0x1f730: 0x6ca77220, 0x1f731: 0x6c6df620, 0x1f732: 0x6c5d1020, 0x1f733: 0x6c719820, + 0x1f734: 0x6d0e1e20, 0x1f735: 0x6ce88020, 0x1f736: 0x6cd85c20, 0x1f737: 0x6cf75420, + 0x1f738: 0x6cfd4e20, 0x1f739: 0x6d0e2820, 0x1f73a: 0x6c82ae20, 0x1f73b: 0x6c08a220, + 0x1f73c: 0x6d11da20, 0x1f73d: 0x6cc0a220, 0x1f73e: 0x6c4dc020, 0x1f73f: 0x6cf53a20, + // Block 0x7dd, offset 0x1f740 + 0x1f740: 0x6cf54220, 0x1f741: 0x6c53e620, 0x1f742: 0x6d028620, 0x1f743: 0x6c36f820, + 0x1f744: 0x6d2c1020, 0x1f745: 0x6d055c20, 0x1f746: 0x6cf27820, 0x1f747: 0x6d2c1220, + 0x1f748: 0x6ca9f820, 0x1f749: 0x6ca48c20, 0x1f74a: 0x6cb63420, 0x1f74b: 0x6d2d0020, + 0x1f74c: 0x6c62b620, 0x1f74d: 0x6d3ebe20, 0x1f74e: 0x6c5f9c20, 0x1f74f: 0x6c5fac20, + 0x1f750: 0x6cb56c20, 0x1f751: 0x6c5f2820, 0x1f752: 0x6c1bc220, 0x1f753: 0x6c193020, + 0x1f754: 0x6c193420, 0x1f755: 0x6c519220, 0x1f756: 0x6d0b3a20, 0x1f757: 0x6d1aae20, + 0x1f758: 0x6d026c20, 0x1f759: 0x6c05c020, 0x1f75a: 0x6d2b2620, 0x1f75b: 0x6d027620, + 0x1f75c: 0x6c148c20, 0x1f75d: 0x6c1aec20, 0x1f75e: 0x6d0e0c20, 0x1f75f: 0x6c71e020, + 0x1f760: 0x6ce5b220, 0x1f761: 0x6c8d9620, 0x1f762: 0x6c8d7820, 0x1f763: 0x6c1e6e20, + 0x1f764: 0x6cc33220, 0x1f765: 0x6d027e20, 0x1f766: 0x6c791420, 0x1f767: 0x6ca8ae20, + 0x1f768: 0x6c703e20, 0x1f769: 0x6d11e420, 0x1f76a: 0x6c21e820, 0x1f76b: 0x6c7dc820, + 0x1f76c: 0x6d22b220, 0x1f76d: 0x6c1efa20, 0x1f76e: 0x6d163020, 0x1f76f: 0x6ca61c20, + 0x1f770: 0x6d2b2a20, 0x1f771: 0x6d407820, 0x1f772: 0x6cc25820, 0x1f773: 0x6d281020, + 0x1f774: 0x6d0e3020, 0x1f775: 0x6cab6e20, 0x1f776: 0x6c36fe20, 0x1f777: 0x6cf33820, + 0x1f778: 0x6d198020, 0x1f779: 0x6c221a20, 0x1f77a: 0x6d407a20, 0x1f77b: 0x6c2d0020, + 0x1f77c: 0x6c1efe20, 0x1f77d: 0x6c6d7a20, 0x1f77e: 0x6d0bd420, 0x1f77f: 0x6c1b8020, + // Block 0x7de, offset 0x1f780 + 0x1f780: 0x6c192420, 0x1f781: 0x6c512220, 0x1f782: 0x6d1a6e20, 0x1f783: 0x6c71c620, + 0x1f784: 0x6c8d3220, 0x1f785: 0x6c05b620, 0x1f786: 0x6ce59620, 0x1f787: 0x6d3e7820, + 0x1f788: 0x6c790620, 0x1f789: 0x6d228620, 0x1f78a: 0x6c21d420, 0x1f78b: 0x6cc25220, + 0x1f78c: 0x6cf32620, 0x1f78d: 0x6c8fb020, 0x1f78e: 0x6cad1420, 0x1f78f: 0x6c45c020, + 0x1f790: 0x6cad1620, 0x1f791: 0x6d0e0e20, 0x1f792: 0x6c8ff220, 0x1f793: 0x6c904820, + 0x1f794: 0x6c45c820, 0x1f795: 0x6c76b820, 0x1f796: 0x6c26dc20, 0x1f797: 0x6c8e0020, + 0x1f798: 0x6c26de20, 0x1f799: 0x6c8f6620, 0x1f79a: 0x6c458620, 0x1f79b: 0x6c76a820, + 0x1f79c: 0x6c4a9620, 0x1f79d: 0x6cbfea20, 0x1f79e: 0x6c0cd620, 0x1f79f: 0x6c4a3820, + 0x1f7a0: 0x6d26f620, 0x1f7a1: 0x6c20f820, 0x1f7a2: 0x6c51aa20, 0x1f7a3: 0x6c753020, + 0x1f7a4: 0x6d013c20, 0x1f7a5: 0x6d249820, + // Block 0x7df, offset 0x1f7c0 + 0x1f7c3: 0x6ccd4220, + // Block 0x7e0, offset 0x1f800 + 0x1f800: 0x6cb6e820, 0x1f801: 0x6c452620, 0x1f802: 0x6c17ce20, 0x1f803: 0x6c642020, + 0x1f804: 0x6c573e20, 0x1f805: 0x6c202c20, 0x1f806: 0x6c71ea20, 0x1f807: 0x6c4a9620, + 0x1f808: 0x6c4a9620, 0x1f809: 0x6cb75220, 0x1f80a: 0x6c6c2e20, 0x1f80b: 0x6c7e6220, + 0x1f80c: 0x6ca3ac20, 0x1f80d: 0x6c804a20, 0x1f80e: 0x6c7f7820, 0x1f80f: 0x6c956220, + 0x1f810: 0x6c957a20, 0x1f811: 0x6c955820, 0x1f812: 0x6c95b820, 0x1f813: 0x6c957c20, + 0x1f814: 0x6c822620, 0x1f815: 0x6c95e820, 0x1f816: 0x6c81d020, 0x1f817: 0x6c95f620, + 0x1f818: 0x6c960a20, 0x1f819: 0x6c81d620, 0x1f81a: 0x6c962a20, 0x1f81b: 0x6c949a20, + 0x1f81c: 0x6c948c20, 0x1f81d: 0x6c7ff820, 0x1f81e: 0x6c808820, 0x1f81f: 0x6c7ff020, + 0x1f820: 0x6c948820, 0x1f821: 0x6c7f9a20, 0x1f822: 0x6c807c20, 0x1f823: 0x6c7fc420, + 0x1f824: 0x6c7fd820, 0x1f825: 0x6c7e3e20, 0x1f826: 0x6c7eaa20, 0x1f827: 0x6c7ec420, + 0x1f828: 0x6c80b420, 0x1f829: 0x6c80f820, 0x1f82a: 0x6c811820, 0x1f82b: 0x6c80ae20, + 0x1f82c: 0x6c80a220, 0x1f82d: 0x6c7ee220, 0x1f82e: 0x6c839020, 0x1f82f: 0x6c815620, + 0x1f830: 0x6c91da20, 0x1f831: 0x6c91f220, 0x1f832: 0x6c918420, 0x1f833: 0x6c915c20, + 0x1f834: 0x6c819a20, 0x1f835: 0x6c917820, 0x1f836: 0x6c91c420, 0x1f837: 0x6c927620, + 0x1f838: 0x6c933620, 0x1f839: 0x6c91d420, 0x1f83a: 0x6c934220, 0x1f83b: 0x6c926e20, + 0x1f83c: 0x6c925a20, 0x1f83d: 0x6c93ec20, 0x1f83e: 0x6c924820, 0x1f83f: 0x6c92de20, + // Block 0x7e1, offset 0x1f840 + 0x1f840: 0x6c924c20, 0x1f841: 0x6c952620, 0x1f842: 0x6c903e20, 0x1f843: 0x6ca9f020, + 0x1f844: 0x6c8ff420, 0x1f845: 0x6c8ff820, 0x1f846: 0x6c814220, 0x1f847: 0x6c82d220, + 0x1f848: 0x6c927420, 0x1f849: 0x6c823e20, 0x1f84a: 0x6c82e220, 0x1f84b: 0x6c93a620, + 0x1f84c: 0x6c90b020, 0x1f84d: 0x6c833020, 0x1f84e: 0x6c910e20, 0x1f84f: 0x6c833420, + 0x1f850: 0x6c93bc20, 0x1f851: 0x6c910220, 0x1f852: 0x6c823c20, 0x1f853: 0x6c81fe20, + 0x1f854: 0x6c8c2820, 0x1f855: 0x6c8cc420, 0x1f856: 0x6c837e20, 0x1f857: 0x6c8d3c20, + 0x1f858: 0x6c8cfe20, 0x1f859: 0x6c8cd820, 0x1f85a: 0x6c31f020, 0x1f85b: 0x6ca2d020, + 0x1f85c: 0x6c822620, 0x1f85d: 0x6cab0e20, 0x1f85e: 0x6c27b220, 0x1f85f: 0x6ca91020, + 0x1f860: 0x6caa5e20, 0x1f861: 0x6c93d620, 0x1f862: 0x6d176620, 0x1f863: 0x6c06c620, + 0x1f864: 0x6cac7620, 0x1f865: 0x6c0b8220, 0x1f866: 0x6c3ff020, 0x1f867: 0x6c105620, + 0x1f868: 0x6c9d2620, 0x1f869: 0x6cd60020, 0x1f86a: 0x6cdd5a20, 0x1f86b: 0x6c115e20, + 0x1f86c: 0x6cc9c620, 0x1f86d: 0x6cd12c20, 0x1f86e: 0x6d12f620, 0x1f86f: 0x6cd76a20, + 0x1f870: 0x6ccbda20, 0x1f871: 0x6c18a020, 0x1f872: 0x6c189c20, 0x1f873: 0x6cd41020, + 0x1f874: 0x6cc91420, 0x1f875: 0x6c361020, 0x1f876: 0x6c361220, 0x1f877: 0x6c89aa20, + 0x1f878: 0x6c898820, 0x1f879: 0x6c894a20, 0x1f87a: 0x6c894c20, 0x1f87b: 0x6c897420, + 0x1f87c: 0x6c894620, 0x1f87d: 0x6c89c820, 0x1f87e: 0x6c89c020, 0x1f87f: 0x6c867020, + // Block 0x7e2, offset 0x1f880 + 0x1f880: 0x6c937620, 0x1f881: 0x6caa6e20, 0x1f882: 0x6c916e20, 0x1f883: 0x6c938a20, + 0x1f884: 0x6c940e20, 0x1f885: 0x6c870420, 0x1f886: 0x6c935a20, 0x1f887: 0x6c84ee20, + 0x1f888: 0x6c871420, 0x1f889: 0x6c843a20, 0x1f88a: 0x6c855c20, 0x1f88b: 0x6c867820, + 0x1f88c: 0x6c867c20, 0x1f88d: 0x6c878420, 0x1f88e: 0x6ca6f220, 0x1f88f: 0x6c883620, + 0x1f890: 0x6c893820, 0x1f891: 0x6ca73420, 0x1f892: 0x6c881620, 0x1f893: 0x6c890620, + 0x1f894: 0x6c88c420, 0x1f895: 0x6ca6f620, 0x1f896: 0x6c891220, 0x1f897: 0x6c886820, + 0x1f898: 0x6ca73a20, 0x1f899: 0x6c881820, 0x1f89a: 0x6c87fa20, 0x1f89b: 0x6c892220, + 0x1f89c: 0x6c8abc20, 0x1f89d: 0x6c8abe20, 0x1f89e: 0x6d0e4220, 0x1f89f: 0x6c8af020, + 0x1f8a0: 0x6c8b1020, 0x1f8a1: 0x6cd76a20, 0x1f8a2: 0x6c881020, 0x1f8a3: 0x6ca75a20, + 0x1f8a4: 0x6ca72020, 0x1f8a5: 0x6c892020, 0x1f8a6: 0x6c888420, 0x1f8a7: 0x6c8b5420, + 0x1f8a8: 0x6c8e1820, 0x1f8a9: 0x6c8c9e20, 0x1f8aa: 0x6ca91020, 0x1f8ab: 0x6c8e1420, + 0x1f8ac: 0x6c87f420, 0x1f8ad: 0x6c8cbe20, 0x1f8ae: 0x6d1c8a20, 0x1f8af: 0x6c8cf620, + 0x1f8b0: 0x6c8cfa20, 0x1f8b1: 0x6c8d2420, 0x1f8b2: 0x6c8d2a20, 0x1f8b3: 0x6c8db620, + 0x1f8b4: 0x6c8e1220, 0x1f8b5: 0x6c858620, 0x1f8b6: 0x6c853820, 0x1f8b7: 0x6c854620, + 0x1f8b8: 0x6c86b420, 0x1f8b9: 0x6c363420, 0x1f8ba: 0x6c823620, 0x1f8bb: 0x6c89ec20, + 0x1f8bc: 0x6c8a0620, 0x1f8bd: 0x6ca7d020, 0x1f8be: 0x6c8a9420, 0x1f8bf: 0x6c822620, + // Block 0x7e3, offset 0x1f8c0 + 0x1f8c0: 0x6c8a1a20, 0x1f8c1: 0x6c8a2620, 0x1f8c2: 0x6c8a7220, 0x1f8c3: 0x6c8a1620, + 0x1f8c4: 0x6c8fb020, 0x1f8c5: 0x6d275420, 0x1f8c6: 0x6cc84c20, 0x1f8c7: 0x6c8e8020, + 0x1f8c8: 0x6c1e2020, 0x1f8c9: 0x6c8efa20, 0x1f8ca: 0x6c8e4a20, 0x1f8cb: 0x6c8e3620, + 0x1f8cc: 0x6c8e5020, 0x1f8cd: 0x6c8e4c20, 0x1f8ce: 0x6c8e5c20, 0x1f8cf: 0x6ca99020, + 0x1f8d0: 0x6c835420, 0x1f8d1: 0x6c8f2420, 0x1f8d2: 0x6c92a020, 0x1f8d3: 0x6c923020, + 0x1f8d4: 0x6c94e420, 0x1f8d5: 0x6c94f020, 0x1f8d6: 0x6c94f420, 0x1f8d7: 0x6c950e20, + 0x1f8d8: 0x6c93d020, 0x1f8d9: 0x6c862e20, 0x1f8da: 0x6c85ca20, 0x1f8db: 0x6c93d620, + 0x1f8dc: 0x6c8f9220, 0x1f8dd: 0x6c857620, 0x1f8de: 0x6c856e20, 0x1f8df: 0x6c93ae20, + 0x1f8e0: 0x6d16ba20, 0x1f8e1: 0x6c87d820, 0x1f8e2: 0x6c83bc20, 0x1f8e3: 0x6ca5c020, + 0x1f8e4: 0x6c851420, 0x1f8e5: 0x6c861220, 0x1f8e6: 0x6c844a20, 0x1f8e7: 0x6c852220, + 0x1f8e8: 0x6c87e220, 0x1f8e9: 0x6c84fc20, 0x1f8ea: 0x6c847e20, 0x1f8eb: 0x6ca68c20, + 0x1f8ec: 0x6ca6ac20, 0x1f8ed: 0x6c8c4420, 0x1f8ee: 0x6c8bde20, 0x1f8ef: 0x6c8be020, + 0x1f8f0: 0x6c8c7a20, 0x1f8f1: 0x6c8bca20, 0x1f8f2: 0x6c8c0c20, 0x1f8f3: 0x6c8c1020, + 0x1f8f4: 0x6c8ba020, 0x1f8f5: 0x6c8bb020, 0x1f8f6: 0x6c8bea20, 0x1f8f7: 0x6c856c20, + 0x1f8f8: 0x6c85f620, 0x1f8f9: 0x6c85f820, 0x1f8fa: 0x6d3c3420, 0x1f8fb: 0x6d358c20, + 0x1f8fc: 0x6cd42220, 0x1f8fd: 0x6cd03620, 0x1f8fe: 0x6c13d020, 0x1f8ff: 0x6c22b220, + // Block 0x7e4, offset 0x1f900 + 0x1f900: 0x6cbc9020, 0x1f901: 0x6c324420, 0x1f902: 0x6cde2e20, 0x1f903: 0x6ce13620, + 0x1f904: 0x6d2d1820, 0x1f905: 0x6c306420, 0x1f906: 0x6c066220, 0x1f907: 0x6c3efc20, + 0x1f908: 0x6d03ba20, 0x1f909: 0x6c67d620, 0x1f90a: 0x6c665220, 0x1f90b: 0x6c7e0420, + 0x1f90c: 0x6cf49020, 0x1f90d: 0x6c56a220, 0x1f90e: 0x43f41c20, 0x1f90f: 0x43f41e20, + 0x1f910: 0x6d37f420, 0x1f911: 0x43f42220, 0x1f912: 0x6cbe7a20, 0x1f913: 0x43f42620, + 0x1f914: 0x43f42820, 0x1f915: 0x6cf6b620, 0x1f916: 0x6d399820, 0x1f917: 0x6d173820, + 0x1f918: 0x6c84f420, 0x1f919: 0x6cd03a20, 0x1f91a: 0x6cfdbc20, 0x1f91b: 0x6c3e9c20, + 0x1f91c: 0x6c6e9220, 0x1f91d: 0x6c6dcc20, 0x1f91e: 0x6d221c20, 0x1f91f: 0x43f43e20, + 0x1f920: 0x6cc0c220, 0x1f921: 0x43f44220, 0x1f922: 0x6d39c620, 0x1f923: 0x43f44620, + 0x1f924: 0x43f44820, 0x1f925: 0x6d178420, 0x1f926: 0x6c30a620, 0x1f927: 0x43f44e20, + 0x1f928: 0x43f45020, 0x1f929: 0x43f45220, 0x1f92a: 0x6c395c20, 0x1f92b: 0x6cd8d420, + 0x1f92c: 0x6c496820, 0x1f92d: 0x6c520c20, 0x1f92e: 0x6c80a420, 0x1f92f: 0x6c868820, + 0x1f930: 0x6cf43220, 0x1f931: 0x6ccbb820, 0x1f932: 0x6c9dfe20, 0x1f933: 0x6c9e0c20, + 0x1f934: 0x6cbd7c20, 0x1f935: 0x6c068e20, 0x1f936: 0x6c509c20, 0x1f937: 0x6ce0a020, + 0x1f938: 0x6cb7ce20, 0x1f939: 0x6cb2ec20, 0x1f93a: 0x6ca16020, 0x1f93b: 0x6c135420, + 0x1f93c: 0x6c17fa20, 0x1f93d: 0x6c5b4c20, 0x1f93e: 0x6c765820, 0x1f93f: 0x6d2b8a20, + // Block 0x7e5, offset 0x1f940 + 0x1f940: 0x6c1a5420, 0x1f941: 0x6c9fa820, 0x1f942: 0x6c61a820, 0x1f943: 0x6cd55a20, + 0x1f944: 0x6c99ec20, 0x1f945: 0x6c4d3a20, 0x1f946: 0x6d3a6420, 0x1f947: 0x6c4ee620, + 0x1f948: 0x6d3a6e20, 0x1f949: 0x6d2ff420, 0x1f94a: 0x6d423c20, 0x1f94b: 0x6c06b020, + 0x1f94c: 0x6ccf3620, 0x1f94d: 0x6d34f820, 0x1f94e: 0x6cb58a20, 0x1f94f: 0x6d203020, + 0x1f950: 0x6d411420, 0x1f951: 0x6d3ac620, 0x1f952: 0x6c5dd420, 0x1f953: 0x6d316e20, + 0x1f954: 0x6c47c420, 0x1f955: 0x6ce84420, 0x1f956: 0x6c6af220, 0x1f957: 0x6c891220, + 0x1f958: 0x6c6d5220, 0x1f959: 0x6c38ca20, 0x1f95a: 0x6cd56220, 0x1f95b: 0x6d30d220, + 0x1f95c: 0x6c1e4020, 0x1f95d: 0x6c12c020, 0x1f95e: 0x6c12c020, 0x1f95f: 0x6d311420, + 0x1f960: 0x6c51d620, 0x1f961: 0x6cd36c20, 0x1f962: 0x6d134620, 0x1f963: 0x6c6cc220, + 0x1f964: 0x6c0d4a20, 0x1f965: 0x6d2bb620, 0x1f966: 0x6c21a420, 0x1f967: 0x6d178420, + 0x1f968: 0x6ca41420, 0x1f969: 0x6cfe0a20, 0x1f96a: 0x6cb21420, 0x1f96b: 0x6c5baa20, + 0x1f96c: 0x4885dc20, 0x1f96d: 0x6c496420, + 0x1f970: 0x6c0e0820, 0x1f971: 0x6c7bdc20, 0x1f972: 0x6cc2b220, 0x1f973: 0x6d03c620, + 0x1f974: 0x6c1ca820, 0x1f975: 0x6c627020, 0x1f976: 0x6d1e1820, 0x1f977: 0x6cce9420, + 0x1f978: 0x6c509c20, 0x1f979: 0x6ce21620, 0x1f97a: 0x6c5bbc20, 0x1f97b: 0x6cec3420, + 0x1f97c: 0x6d37f420, 0x1f97d: 0x6c3b8420, 0x1f97e: 0x6d0d4620, 0x1f97f: 0x6c077c20, + // Block 0x7e6, offset 0x1f980 + 0x1f980: 0x6c097420, 0x1f981: 0x6c226820, 0x1f982: 0x6c025020, 0x1f983: 0x6d182220, + 0x1f984: 0x6c112620, 0x1f985: 0x6d110c20, 0x1f986: 0x6cee0e20, 0x1f987: 0x6cd0ac20, + 0x1f988: 0x6d236a20, 0x1f989: 0x6d2b8a20, 0x1f98a: 0x6c02d820, 0x1f98b: 0x6c1a5420, + 0x1f98c: 0x6c279420, 0x1f98d: 0x6d212620, 0x1f98e: 0x6cd9b020, 0x1f98f: 0x6c0de620, + 0x1f990: 0x6c024020, 0x1f991: 0x6cbe7a20, 0x1f992: 0x6c80f820, 0x1f993: 0x6cee5220, + 0x1f994: 0x6d2f2220, 0x1f995: 0x6c271220, 0x1f996: 0x6ccbda20, 0x1f997: 0x6c8e4a20, + 0x1f998: 0x6d1a7020, 0x1f999: 0x6d3e4020, 0x1f99a: 0x6c4ee620, 0x1f99b: 0x6c6eb420, + 0x1f99c: 0x6d3a6e20, 0x1f99d: 0x6cbc0220, 0x1f99e: 0x6c74c820, 0x1f99f: 0x6c391620, + 0x1f9a0: 0x6d399820, 0x1f9a1: 0x6d325020, 0x1f9a2: 0x6c225020, 0x1f9a3: 0x6c578420, + 0x1f9a4: 0x6c492220, 0x1f9a5: 0x6cf16020, 0x1f9a6: 0x6d173820, 0x1f9a7: 0x6cd15e20, + 0x1f9a8: 0x6d344020, 0x1f9a9: 0x6c736420, 0x1f9aa: 0x6d311220, 0x1f9ab: 0x6ce4ba20, + 0x1f9ac: 0x6ce5cc20, 0x1f9ad: 0x6c6af220, 0x1f9ae: 0x6c832420, 0x1f9af: 0x6ce1c820, + 0x1f9b0: 0x6c891220, 0x1f9b1: 0x6cb2ac20, 0x1f9b2: 0x6d30d220, 0x1f9b3: 0x6c598420, + 0x1f9b4: 0x6c573420, 0x1f9b5: 0x6d276220, 0x1f9b6: 0x6cbb4c20, 0x1f9b7: 0x6c407e20, + 0x1f9b8: 0x6cd36c20, 0x1f9b9: 0x6c2e3820, 0x1f9ba: 0x6d39c620, 0x1f9bb: 0x6cbeb220, + 0x1f9bc: 0x6d134620, 0x1f9bd: 0x6cab0e20, 0x1f9be: 0x6d23f620, 0x1f9bf: 0x6c6cc220, + // Block 0x7e7, offset 0x1f9c0 + 0x1f9c0: 0x6c0bdc20, 0x1f9c1: 0x6d2bb620, 0x1f9c2: 0x6cd50820, 0x1f9c3: 0x6c1b5020, + 0x1f9c4: 0x6cd9e620, 0x1f9c5: 0x6d03f420, 0x1f9c6: 0x6d3a6220, 0x1f9c7: 0x6ca41420, + 0x1f9c8: 0x6c6e9220, 0x1f9c9: 0x6c046220, 0x1f9ca: 0x6cfe0a20, 0x1f9cb: 0x6c35b420, + 0x1f9cc: 0x6cb21420, 0x1f9cd: 0x6d320420, 0x1f9ce: 0x6c4a9620, 0x1f9cf: 0x48509420, + 0x1f9d0: 0x48508820, 0x1f9d1: 0x4867aa20, 0x1f9d2: 0x6c513820, 0x1f9d3: 0x6d008620, + 0x1f9d4: 0x6c6ad220, 0x1f9d5: 0x48a49220, 0x1f9d6: 0x6cba2c20, 0x1f9d7: 0x6c084620, + 0x1f9d8: 0x6c36f820, 0x1f9d9: 0x6cad1420, + // Block 0x7e8, offset 0x1fa00 + 0x1fa00: 0xf0001c1c, 0x1fa01: 0xf0001c1c, 0x1fa02: 0x00658c9c, + 0x1fa10: 0x2cd43683, 0x1fa11: 0x2d3f2883, 0x1fa12: 0x2cd6a083, 0x1fa13: 0xf0001c1c, + 0x1fa14: 0x2c37b483, 0x1fa15: 0x2c341683, 0x1fa16: 0x2c6b9883, 0x1fa17: 0x2ce45483, + 0x1fa18: 0x2c682283, 0x1fa19: 0x2d1d3483, 0x1fa1a: 0x2cf3c883, 0x1fa1b: 0x2c8a9483, + 0x1fa1c: 0x2cb97883, 0x1fa1d: 0x2c546483, 0x1fa1e: 0x2d292683, 0x1fa1f: 0x2d02dc83, + 0x1fa20: 0x2c1e5483, 0x1fa21: 0x2d37b683, 0x1fa22: 0x2cd0d283, 0x1fa23: 0x2c395083, + 0x1fa24: 0x2cd0dc83, 0x1fa25: 0x2c20b483, 0x1fa26: 0x2d0db483, 0x1fa27: 0x2ce7e683, + 0x1fa28: 0x2c103683, 0x1fa29: 0x2d13b683, 0x1fa2a: 0x2cc9f283, 0x1fa2b: 0x2d1f4083, + 0x1fa2c: 0x2d426083, 0x1fa2d: 0x2d378283, 0x1fa2e: 0x2d200883, 0x1fa2f: 0x2d350083, + 0x1fa30: 0x2d407e83, 0x1fa31: 0x2c26e083, 0x1fa32: 0x2c6d1a83, 0x1fa33: 0x2c796883, + 0x1fa34: 0x2c50b683, 0x1fa35: 0x2c97ba83, 0x1fa36: 0x2d1f9883, 0x1fa37: 0x2d266883, + 0x1fa38: 0x2ccf9a83, 0x1fa39: 0x2c438c83, 0x1fa3a: 0x2d1c6283, + // Block 0x7e9, offset 0x1fa40 + 0x1fa40: 0xe000b460, 0x1fa41: 0xe000b474, 0x1fa42: 0xe000b470, 0x1fa43: 0xe000b458, + 0x1fa44: 0xe000b46c, 0x1fa45: 0xe000b464, 0x1fa46: 0xe000b468, 0x1fa47: 0xe000b478, + 0x1fa48: 0xe000b45c, + 0x1fa50: 0x2c2a9083, 0x1fa51: 0x2c785283, + // Block 0x7ea, offset 0x1fa80 + 0x1fa80: 0x6c508820, 0x1fa81: 0x6cb4c820, 0x1fa83: 0x6cbc8c20, + 0x1fa85: 0x6c4d4c20, + 0x1fa89: 0x6cbf9020, 0x1fa8a: 0x6c126420, + 0x1fa8d: 0x6cd2ec20, + 0x1fa93: 0x6cd7ba20, + 0x1fa94: 0x6c73ca20, + 0x1fa9b: 0x6d22c020, + 0x1fa9d: 0x6c796620, + 0x1faa2: 0x6d3dfc20, + 0x1faa6: 0x6d03be20, + 0x1fab1: 0x6ca1fc20, + 0x1fab7: 0x6c5e9420, + 0x1fab8: 0x6d12d220, 0x1fab9: 0x6c755e20, + 0x1fabc: 0x6cb97c20, 0x1fabd: 0x6c922420, + // Block 0x7eb, offset 0x1fac0 + 0x1fac9: 0x6c1e5e20, + 0x1fad7: 0x6cd3d420, + 0x1fae0: 0x6cbd0220, + 0x1fae5: 0x6c40ce20, + 0x1faed: 0x6cb58e20, + 0x1faf7: 0x6c15c420, + // Block 0x7ec, offset 0x1fb00 + 0x1fb04: 0x6c582a20, 0x1fb06: 0x6d163620, 0x1fb07: 0x6d425e20, + 0x1fb08: 0x6c6a4a20, + 0x1fb11: 0x6d404420, + 0x1fb14: 0x6d3ed420, + 0x1fb1f: 0x6c6c2020, + 0x1fb22: 0x6cac1620, + 0x1fb24: 0x6c32ee20, 0x1fb25: 0x6c238220, 0x1fb27: 0x6cd08e20, + 0x1fb38: 0x6c59aa20, + // Block 0x7ed, offset 0x1fb40 + 0x1fb4a: 0x6d1abe20, + 0x1fb4c: 0x6c4bb820, + 0x1fb56: 0x6c6f3a20, + 0x1fb6b: 0x6ccfa220, + 0x1fb7a: 0x6c6fe220, + // Block 0x7ee, offset 0x1fb80 + 0x1fb85: 0x6d130c20, + 0x1fb89: 0x6c308c20, + 0x1fb8c: 0x6c73c020, 0x1fb8d: 0x6c6a4c20, 0x1fb8f: 0x6c2df020, + 0x1fb91: 0x6c73c220, 0x1fb92: 0x6c20ba20, + 0x1fb96: 0x6c8c9820, + 0x1fb9a: 0x6ce63e20, + 0x1fba3: 0x6c44aa20, + 0x1fbae: 0x6d0b7e20, + 0x1fbb1: 0x6d148020, + 0x1fbbf: 0x6cef1c20, + // Block 0x7ef, offset 0x1fbc0 + 0x1fbc2: 0x6c6a5820, + 0x1fbcc: 0x6d146a20, + 0x1fbd7: 0x6c2f3220, + 0x1fbda: 0x6cb59a20, + 0x1fbec: 0x6c05b020, + 0x1fbf1: 0x6d01a620, + 0x1fbf9: 0x6d2f3220, + // Block 0x7f0, offset 0x1fc00 + 0x1fc0c: 0x6d1daa20, + 0x1fc10: 0x6d073820, + 0x1fc19: 0x6c2f3820, 0x1fc1b: 0x6c280820, + 0x1fc1f: 0x6cf06220, + 0x1fc23: 0x6c488620, + 0x1fc29: 0x6c391220, + 0x1fc2e: 0x6ca0ba20, + 0x1fc31: 0x6cf56220, 0x1fc32: 0x6d0d3220, + 0x1fc35: 0x6ca5b820, 0x1fc36: 0x6c286020, + // Block 0x7f1, offset 0x1fc40 + 0x1fc4b: 0x6c281a20, + 0x1fc4f: 0x6ce1ac20, + 0x1fc52: 0x6c455620, + 0x1fc57: 0x6c7abc20, + 0x1fc58: 0x6c1f0420, + 0x1fc6f: 0x6cc25e20, + 0x1fc71: 0x6ca0be20, 0x1fc73: 0x6cd19220, + 0x1fc75: 0x6c41c620, 0x1fc77: 0x6cd0d820, + // Block 0x7f2, offset 0x1fc80 + 0x1fc81: 0x6ceaa020, + 0x1fc85: 0x6cd42c20, + 0x1fc8a: 0x6ca7e620, + 0x1fca4: 0x6d281a20, 0x1fca5: 0x6c489220, + 0x1fcac: 0x6cfe7e20, 0x1fcad: 0x6c814420, + 0x1fcb0: 0x6c286e20, 0x1fcb1: 0x6cdd0620, + 0x1fcb5: 0x6c988420, 0x1fcb6: 0x6d148220, + 0x1fcb8: 0x6ce26e20, 0x1fcba: 0x6c094020, + // Block 0x7f3, offset 0x1fcc0 + 0x1fcc2: 0x6cde3020, + 0x1fcd7: 0x6c95e420, + 0x1fce2: 0x6cf7d220, 0x1fce3: 0x6c5cb820, + 0x1fce4: 0x6c268e20, 0x1fce7: 0x6c722420, + 0x1fce9: 0x6c318c20, + 0x1fcec: 0x6c017c20, + // Block 0x7f4, offset 0x1fd00 + 0x1fd09: 0x6c9a8820, + 0x1fd0c: 0x6cc46c20, 0x1fd0e: 0x6c003820, 0x1fd0f: 0x6d22ec20, + 0x1fd12: 0x6c666620, + 0x1fd14: 0x6cb76620, + 0x1fd1f: 0x6c9fa220, + 0x1fd23: 0x6d391620, + 0x1fd24: 0x6d35ac20, 0x1fd25: 0x6d37ea20, 0x1fd26: 0x6ca4e220, 0x1fd27: 0x6c0e1a20, + 0x1fd29: 0x6d3bc020, 0x1fd2a: 0x6cd5be20, 0x1fd2b: 0x6d0a8420, + 0x1fd2c: 0x6c741e20, 0x1fd2d: 0x6cb9fe20, + 0x1fd30: 0x6c489a20, 0x1fd32: 0x6ce85220, + 0x1fd36: 0x6d1d3820, 0x1fd37: 0x6d35d620, + 0x1fd3e: 0x6c7c6620, + // Block 0x7f5, offset 0x1fd40 + 0x1fd46: 0x6c192620, + 0x1fd56: 0x6c88ec20, 0x1fd57: 0x6d0ae620, + 0x1fd5c: 0x6c4ce820, 0x1fd5d: 0x6c9e8e20, 0x1fd5e: 0x6ccf0e20, 0x1fd5f: 0x6d223620, + 0x1fd61: 0x6cd8b020, 0x1fd62: 0x6cda1220, + 0x1fd64: 0x6d35d820, 0x1fd67: 0x6cbc7c20, + 0x1fd69: 0x6c3fde20, + 0x1fd6c: 0x6c710a20, 0x1fd6d: 0x6c071e20, 0x1fd6f: 0x6c099220, + 0x1fd72: 0x6cdd6220, + 0x1fd75: 0x6cba0820, 0x1fd76: 0x6ca03220, 0x1fd77: 0x6c15b620, + 0x1fd7a: 0x6ccaa820, 0x1fd7b: 0x6c5ec020, + // Block 0x7f6, offset 0x1fd80 + 0x1fd95: 0x6c461620, 0x1fd96: 0x6cbf1e20, + 0x1fd9a: 0x6cc73820, + 0x1fd9e: 0x6cda1a20, 0x1fd9f: 0x6cda1e20, + 0x1fda0: 0x6d10f420, + 0x1fdaa: 0x6c1d6a20, + 0x1fdad: 0x6cd66620, 0x1fdae: 0x6d2ffa20, 0x1fdaf: 0x6c862420, + 0x1fdb0: 0x6c413e20, 0x1fdb1: 0x6cdbc620, 0x1fdb2: 0x6d2d7c20, + 0x1fdb4: 0x6d3c4220, + 0x1fdbd: 0x6c400820, + // Block 0x7f7, offset 0x1fdc0 + 0x1fdc3: 0x6c5ee020, + 0x1fdc4: 0x6c30b220, + 0x1fdd7: 0x6c5bd020, + 0x1fdda: 0x6c65a420, 0x1fddb: 0x6d0d9c20, + 0x1fddc: 0x6d364a20, + 0x1fde8: 0x6c9a5c20, 0x1fde9: 0x6d120e20, 0x1fdea: 0x6c2b3220, 0x1fdeb: 0x6d150e20, + 0x1fdef: 0x6c0cf220, + 0x1fdf2: 0x6cc1a220, 0x1fdf3: 0x6d181a20, + 0x1fdf5: 0x6d105420, + 0x1fdf9: 0x6d2c3e20, + 0x1fdfd: 0x6ccc6020, + // Block 0x7f8, offset 0x1fe00 + 0x1fe19: 0x6c7f1820, + 0x1fe2e: 0x6c746e20, + 0x1fe30: 0x6cb50620, 0x1fe33: 0x6d216a20, + 0x1fe36: 0x6d291820, 0x1fe37: 0x6cc98220, + 0x1fe38: 0x6ccb3a20, 0x1fe3b: 0x6c340420, + 0x1fe3f: 0x6c6b9e20, + // Block 0x7f9, offset 0x1fe40 + 0x1fe40: 0x6c782020, 0x1fe43: 0x6d265420, + 0x1fe47: 0x6c65ca20, + 0x1fe48: 0x6d113220, + 0x1fe53: 0x6cfaca20, + 0x1fe55: 0x6d000220, 0x1fe56: 0x6cbb9620, + 0x1fe5a: 0x6d23b820, 0x1fe5b: 0x6cc1ae20, + 0x1fe61: 0x6cfac820, 0x1fe62: 0x6c962020, + 0x1fe64: 0x6c4a0a20, 0x1fe67: 0x6c198620, + 0x1fe68: 0x6c209620, 0x1fe69: 0x6d155620, 0x1fe6b: 0x6d333020, + 0x1fe6d: 0x6d403020, 0x1fe6e: 0x6c335c20, + 0x1fe70: 0x6d2d3420, + 0x1fe7f: 0x6c3a6e20, + // Block 0x7fa, offset 0x1fe80 + 0x1fe80: 0x6d155820, 0x1fe81: 0x6c9b4420, + 0x1fe88: 0x6c0b0a20, 0x1fe89: 0x6c6b4020, 0x1fe8a: 0x6cd61820, 0x1fe8b: 0x6c8a2220, + 0x1fe8c: 0x6c08fa20, 0x1fe8d: 0x6cda7620, + 0x1fe91: 0x6c2ca220, + 0x1fea1: 0x6c076220, 0x1fea2: 0x6cf21220, + 0x1fea7: 0x6c9b6a20, + 0x1fea9: 0x6c15ea20, + 0x1feb5: 0x6c29f620, + 0x1feba: 0x6cb21c20, 0x1febb: 0x6c660820, + 0x1febc: 0x6c8c7420, 0x1febd: 0x6c4b9220, 0x1febe: 0x6cb54620, 0x1febf: 0x6c52dc20, + // Block 0x7fb, offset 0x1fec0 + 0x1fec3: 0x6c60e820, + 0x1fec4: 0x6d024e20, 0x1fec5: 0x6d330820, 0x1fec6: 0x6c15fa20, + 0x1fed0: 0x6d116c20, 0x1fed1: 0x6c160a20, + 0x1fed8: 0x6c2cee20, 0x1fed9: 0x6c1d6020, 0x1feda: 0x6ca56220, 0x1fedb: 0x6ca56420, + 0x1fede: 0x6d2d5420, 0x1fedf: 0x6c0b1e20, + 0x1fee1: 0x6c161020, + 0x1feea: 0x6cff5a20, + 0x1feef: 0x6c248620, + 0x1fef0: 0x6d02f620, 0x1fef1: 0x6c6e4420, 0x1fef2: 0x6cb96620, + 0x1fef4: 0x6cbe6820, + 0x1fef9: 0x6c475220, + // Block 0x7fc, offset 0x1ff00 + 0x1ff04: 0x6cf4b420, + 0x1ff1c: 0x6d25e420, 0x1ff1d: 0x6c0dde20, + 0x1ff22: 0x6cecde20, + 0x1ff30: 0x6ca7a620, + 0x1ff35: 0x6c891020, + 0x1ff38: 0x6cc53e20, + 0x1ff3e: 0x6c396e20, 0x1ff3f: 0x6c2b9420, + // Block 0x7fd, offset 0x1ff40 + 0x1ff4a: 0x6c5af820, 0x1ff4b: 0x6d190620, + 0x1ff4c: 0x6cfbbc20, + 0x1ff56: 0x6c800420, 0x1ff57: 0x6c40a020, + 0x1ff59: 0x6d04ae20, + 0x1ff5c: 0x6c897e20, 0x1ff5d: 0x6ce1a620, 0x1ff5e: 0x6c5fba20, + 0x1ff62: 0x6c6ba620, 0x1ff63: 0x6d2c1a20, + 0x1ff64: 0x6cd19420, + 0x1ff6a: 0x6cb59220, 0x1ff6b: 0x6c0b2c20, + 0x1ff6d: 0x6c802220, 0x1ff6e: 0x6c8c1a20, + 0x1ff76: 0x6d364c20, 0x1ff77: 0x6c09bc20, + 0x1ff78: 0x6cd17020, + 0x1ff7d: 0x6cd17a20, 0x1ff7f: 0x6cbdbc20, + // Block 0x7fe, offset 0x1ff80 + 0x1ff82: 0x6c0be620, 0x1ff83: 0x6cf55e20, + 0x1ff89: 0x6c733a20, 0x1ff8b: 0x6c5e8420, + 0x1ff8d: 0x6cf57620, 0x1ff8e: 0x6cbdc420, + 0x1ff91: 0x6c4d5620, + 0x1ff95: 0x6c94e220, + 0x1ffa0: 0x6d26b420, + 0x1ffa8: 0x6c880a20, + 0x1ffaf: 0x6c048e20, + 0x1ffb2: 0x6c526820, + 0x1ffb6: 0x6cb54020, + 0x1ffba: 0x6cb93820, 0x1ffbb: 0x6d337820, + 0x1ffbc: 0x6c991a20, + // Block 0x7ff, offset 0x1ffc0 + 0x1ffc1: 0x6c238020, + 0x1ffc4: 0x6ca30020, + 0x1ffca: 0x6ce6a820, + 0x1ffcc: 0x6d3f6e20, + 0x1ffd5: 0x6c6ed420, 0x1ffd6: 0x6d2f8620, + 0x1ffdf: 0x6ca71c20, + 0x1ffe0: 0x6c19e420, 0x1ffe3: 0x6cb86620, + 0x1ffe6: 0x6d236420, 0x1ffe7: 0x6c690020, + 0x1ffed: 0x6d2fda20, + 0x1fff3: 0x6c2b5020, + 0x1fff4: 0x6c6f3c20, + 0x1fff8: 0x6cdc0a20, 0x1fffb: 0x6d108220, + 0x1ffff: 0x6cedbe20, + // Block 0x800, offset 0x20000 + 0x20002: 0x6c89d820, + 0x20004: 0x6ce71220, 0x20006: 0x6c9bfc20, + 0x2000b: 0x6d1faa20, + 0x20013: 0x6cd7e020, + 0x2001b: 0x6c910820, + 0x2001f: 0x6d19f820, + 0x20025: 0x6c1d4420, + 0x2002b: 0x6c420020, + 0x2002c: 0x6c6f3820, + 0x20036: 0x6cbdf820, 0x20037: 0x6c6ef220, + 0x20039: 0x6d006e20, + // Block 0x801, offset 0x20040 + 0x20042: 0x6c51b820, + 0x20046: 0x6ce1ae20, + 0x20048: 0x6cc01220, 0x20049: 0x6d007420, 0x2004a: 0x6c6e5420, 0x2004b: 0x6ca71620, + 0x2004c: 0x6c6e5620, 0x2004f: 0x6c5fea20, + 0x20058: 0x6ce4de20, 0x2005a: 0x6c252220, 0x2005b: 0x6c2e7c20, + 0x2005d: 0x6cbea020, + 0x20065: 0x6cb2e620, 0x20066: 0x6cb29620, + 0x20068: 0x6c2e9020, 0x20069: 0x6c910420, + 0x20073: 0x6c88ba20, + 0x20074: 0x6c4e0a20, 0x20075: 0x6cacd620, 0x20076: 0x6ce0f020, + 0x2007a: 0x6d151020, 0x2007b: 0x6d081420, + 0x2007c: 0x6cddca20, 0x2007d: 0x6c8e6420, 0x2007e: 0x6cd6d220, 0x2007f: 0x6cd0a820, + // Block 0x802, offset 0x20080 + 0x20081: 0x6c10a020, 0x20082: 0x6cd9bc20, + 0x20085: 0x6cbd8c20, 0x20086: 0x6cd06620, + 0x2008a: 0x6ca9f420, 0x2008b: 0x6ce6de20, + 0x2008c: 0x6c677020, + 0x20095: 0x6cf6b820, 0x20096: 0x6d36fe20, + 0x2009d: 0x6c7f5e20, 0x2009e: 0x6c86be20, 0x2009f: 0x6c86c020, + 0x200a2: 0x6c519420, 0x200a3: 0x6c69cc20, + 0x200a5: 0x6d0d0a20, 0x200a7: 0x6cd49420, + 0x200aa: 0x6cd2a220, + 0x200b1: 0x6d31ae20, 0x200b3: 0x6d1e8620, + 0x200ba: 0x6cddc620, 0x200bb: 0x6cf39e20, + // Block 0x803, offset 0x200c0 + 0x200c1: 0x6c169620, 0x200c2: 0x6c238820, + 0x200c6: 0x6c720820, + 0x200ce: 0x6cd4a420, + 0x200d4: 0x6c6fe620, 0x200d5: 0x6ceef020, + 0x200de: 0x6c5db620, + 0x200e4: 0x6c6a2020, + 0x200ec: 0x6d2a4e20, + 0x200f6: 0x6cab7220, + 0x200fc: 0x6c488c20, + // Block 0x804, offset 0x20100 + 0x20103: 0x6c4fba20, + 0x20104: 0x6c84f620, 0x20105: 0x6d356c20, 0x20106: 0x6cfc7220, + 0x20109: 0x6c100c20, 0x2010a: 0x6c170020, + 0x20113: 0x6d274a20, + 0x20114: 0x6c510020, + 0x2011c: 0x6ce1e420, + 0x20120: 0x6c0c4a20, + 0x20125: 0x6c2da420, 0x20127: 0x6c37b620, + 0x20128: 0x6c6f3e20, + 0x2012d: 0x6c2c0a20, 0x2012e: 0x6d164420, 0x2012f: 0x6c7d4620, + 0x20131: 0x6d300a20, 0x20133: 0x6c7de420, + 0x20134: 0x6d384e20, 0x20135: 0x6c71ee20, + 0x20139: 0x6ccd6820, 0x2013a: 0x6ccc3820, 0x2013b: 0x6c2da820, + 0x2013c: 0x6c046c20, 0x2013d: 0x6c5e7420, + // Block 0x805, offset 0x20140 + 0x20140: 0x6d378620, 0x20143: 0x6d144e20, + 0x20145: 0x6c79b020, 0x20146: 0x6cf33e20, + 0x2014a: 0x6c436420, 0x2014b: 0x6c031220, + 0x2014e: 0x6c463620, + 0x20151: 0x6cfb2420, 0x20152: 0x6c484020, 0x20153: 0x6c8ef620, + 0x20154: 0x6c1b7620, 0x20155: 0x6c48c020, 0x20156: 0x6c1fdc20, + 0x20158: 0x6c83a020, 0x20159: 0x6c242a20, 0x2015a: 0x6cd63e20, + 0x20161: 0x6c08b620, + 0x20165: 0x6c0dbc20, 0x20166: 0x6c857820, + 0x20169: 0x6c6fae20, 0x2016a: 0x6ce54a20, 0x2016b: 0x6c347220, + 0x2016d: 0x6d0bde20, 0x2016e: 0x6cc28a20, + 0x20171: 0x6c8ac820, 0x20173: 0x6c787c20, + 0x20175: 0x6c449620, 0x20176: 0x6d312420, + 0x20178: 0x6c3b5820, + // Block 0x806, offset 0x20180 + 0x20181: 0x6d146e20, 0x20183: 0x6c6fd220, + 0x20184: 0x6d067c20, 0x20185: 0x6c68cc20, + 0x20188: 0x6c93cc20, 0x20189: 0x6c6fb020, 0x2018b: 0x6c1e1e20, + 0x2018e: 0x6cfc7e20, + 0x20190: 0x6c7b1620, 0x20191: 0x6c333e20, + 0x20196: 0x6c952e20, 0x20197: 0x6cf59a20, + 0x20198: 0x6cbe0820, 0x20199: 0x6c107420, + 0x201a4: 0x6cb84620, + 0x201b1: 0x6caf5020, 0x201b2: 0x6d0adc20, 0x201b3: 0x6c07da20, + 0x201b4: 0x6c4cb220, 0x201b5: 0x6c484c20, + 0x201b9: 0x6c710020, + 0x201bc: 0x6cb82420, 0x201be: 0x6c741020, + // Block 0x807, offset 0x201c0 + 0x201c4: 0x6c85c020, + 0x201d0: 0x6c570c20, 0x201d1: 0x6c683c20, + 0x201d8: 0x6cb84e20, 0x201da: 0x6d2c2620, 0x201db: 0x6cb82620, + 0x201dd: 0x6d304620, 0x201de: 0x6c139020, 0x201df: 0x6d1ce820, + 0x201e2: 0x6d0bee20, + 0x201e4: 0x6c1cc020, + 0x201e8: 0x6c1b9a20, 0x201ea: 0x6cec8620, + 0x201ec: 0x6cd9a620, + 0x201f2: 0x6c76cc20, 0x201f3: 0x6d255c20, + 0x201fd: 0x6c1d9c20, 0x201ff: 0x6cdd6420, + // Block 0x808, offset 0x20200 + 0x20200: 0x6ce85820, 0x20203: 0x6d305620, + 0x20204: 0x6ce2ee20, 0x20206: 0x6cf36820, + 0x20208: 0x6c264a20, 0x20209: 0x6c860820, 0x2020a: 0x6c139420, + 0x20215: 0x6cc66e20, 0x20216: 0x6c461820, 0x20217: 0x6cc3bc20, + 0x20219: 0x6c83ce20, + 0x2021e: 0x6ce1c620, + 0x20224: 0x6c860a20, 0x20227: 0x6c9c5c20, + 0x20229: 0x6c1c3020, + 0x2022c: 0x6c4bfa20, 0x2022d: 0x6c909420, 0x2022e: 0x6c209020, 0x2022f: 0x6cdd6e20, + 0x20230: 0x6c690420, 0x20231: 0x6c6d0c20, + 0x20235: 0x6c381620, 0x20236: 0x6d2cf620, + 0x2023e: 0x6c6d0e20, 0x2023f: 0x6c254220, + // Block 0x809, offset 0x20240 + 0x20242: 0x6c136c20, 0x20243: 0x6d420820, + 0x20245: 0x6d2fc420, + 0x20248: 0x6cb1c620, 0x20249: 0x6d2dfc20, 0x2024a: 0x6cf66420, 0x2024b: 0x6d121420, + 0x2024c: 0x6c3f7420, 0x2024d: 0x6c1cce20, + 0x20253: 0x6c254a20, + 0x20257: 0x6c486820, + 0x20263: 0x6c5f0020, + 0x20266: 0x6ccb3c20, 0x20267: 0x6d2d8e20, + 0x20268: 0x6c8e2420, 0x20269: 0x6ccb3e20, 0x2026a: 0x6d132220, + 0x20270: 0x6c70ba20, + 0x20276: 0x6ce87220, + 0x2027a: 0x6cc7c620, 0x2027b: 0x6d2af820, + 0x2027c: 0x6c589020, + // Block 0x80a, offset 0x20280 + 0x20281: 0x6cfc2820, 0x20283: 0x6cb91a20, + 0x20284: 0x6d2fdc20, + 0x2028b: 0x6c11b220, + 0x2028e: 0x6c7e1820, 0x2028f: 0x6c869a20, + 0x20290: 0x6cc76420, + 0x20294: 0x6c31c020, 0x20297: 0x6c8b3020, + 0x2029c: 0x6d1c0620, 0x2029d: 0x6c86c220, + 0x202a0: 0x6c31c620, 0x202a2: 0x6c8d8020, + 0x202aa: 0x6ceca220, + 0x202af: 0x6c2f1820, + 0x202b3: 0x6c6f4020, + 0x202b5: 0x6c855e20, 0x202b6: 0x6c7a1620, 0x202b7: 0x6c791e20, + 0x202b9: 0x6d31b220, + // Block 0x80b, offset 0x202c0 + 0x202c0: 0x6c51b420, 0x202c2: 0x6c091220, + 0x202c4: 0x6caf2820, + 0x202ca: 0x6c4f4820, + 0x202d1: 0x6d3d2820, 0x202d2: 0x6c332020, + 0x202d4: 0x6d16a420, + 0x202dc: 0x6c787e20, 0x202dd: 0x6d16a620, 0x202de: 0x6ca0dc20, + 0x202e1: 0x6c118a20, 0x202e3: 0x6c44ee20, + 0x202e4: 0x6c788820, 0x202e5: 0x6cd32a20, + 0x202ed: 0x6c8cc620, 0x202ee: 0x6c07dc20, + 0x202f1: 0x6c32b820, + 0x202f6: 0x6c72e020, 0x202f7: 0x6ca4e420, + 0x202f8: 0x6d3f0020, 0x202fb: 0x6d401e20, + // Block 0x80c, offset 0x20300 + 0x20303: 0x6ce0ea20, + 0x20306: 0x6cf9be20, 0x20307: 0x6c4ec020, + 0x2030c: 0x6c94a620, 0x2030d: 0x6cb99020, + 0x20313: 0x6ca12220, + 0x20314: 0x6cab3a20, 0x20315: 0x6c4fc820, + 0x20319: 0x6d2c3420, 0x2031a: 0x6c737020, 0x2031b: 0x6c23a020, + 0x20320: 0x6c864420, 0x20321: 0x6d2c4020, 0x20322: 0x6d1fdc20, 0x20323: 0x6c2d6c20, + 0x20324: 0x6c747820, 0x20325: 0x6c073a20, + 0x20329: 0x6d11bc20, 0x2032a: 0x6cb1c820, + 0x20331: 0x6c6d3620, 0x20332: 0x6c766c20, 0x20333: 0x6ccb4020, + 0x20334: 0x6d102c20, 0x20335: 0x6c6d3820, + 0x20339: 0x6c78dc20, + // Block 0x80d, offset 0x20340 + 0x20344: 0x6c14de20, 0x20347: 0x6ca74a20, + 0x20349: 0x6cedb020, 0x2034a: 0x6c942a20, + 0x20350: 0x6d277a20, 0x20351: 0x6d108420, 0x20352: 0x6c05a020, + 0x20355: 0x6c755220, 0x20356: 0x6d07fc20, + 0x20358: 0x6d385820, + 0x20360: 0x6c7ce820, 0x20361: 0x6c3cda20, + 0x2036a: 0x6cc17e20, 0x2036b: 0x6ccecc20, + 0x2036c: 0x6cdce420, + 0x20370: 0x6c316820, 0x20372: 0x6c7af820, 0x20373: 0x6cad8c20, + 0x2037a: 0x6c065020, + 0x2037e: 0x6c401620, 0x2037f: 0x6c700c20, + // Block 0x80e, offset 0x20380 + 0x20380: 0x6cc47c20, + 0x20384: 0x6c70ca20, + 0x2038a: 0x6cbf6a20, + 0x2038d: 0x6d38c220, 0x2038e: 0x6c577420, 0x2038f: 0x6c05e020, + 0x20395: 0x6d145c20, 0x20397: 0x6d148420, + 0x20398: 0x6d148620, + 0x2039d: 0x6c995020, + 0x203a6: 0x6cc86c20, + 0x203ab: 0x6c227c20, + 0x203ae: 0x6c4dca20, + 0x203b0: 0x6c238420, + 0x203b4: 0x6cf83a20, + 0x203b9: 0x6cc2b820, 0x203ba: 0x6ce56c20, + 0x203bc: 0x6c2e0c20, 0x203be: 0x6c4ddc20, + // Block 0x80f, offset 0x203c0 + 0x203c7: 0x6d12a620, + 0x203cd: 0x6c353420, 0x203ce: 0x6ceef820, + 0x203d0: 0x6c122e20, 0x203d1: 0x6c2e2620, + 0x203d5: 0x6c362620, 0x203d6: 0x6c2c6820, + 0x203d8: 0x6cdb9220, 0x203d9: 0x6cc30a20, + 0x203dc: 0x6c368020, 0x203dd: 0x6cab4420, 0x203de: 0x6d081c20, + 0x203e2: 0x6cf47820, + 0x203e6: 0x6d190820, + 0x203e8: 0x6ca1fa20, + 0x203f0: 0x6c549620, + 0x203f4: 0x6c4dde20, + 0x203ff: 0x6cd22820, + // Block 0x810, offset 0x20400 + 0x20403: 0x6cc96420, + 0x20408: 0x6c090820, 0x2040a: 0x6c4dcc20, 0x2040b: 0x6c6e4620, + 0x2040e: 0x6cbdfa20, 0x2040f: 0x6c25d420, + 0x20410: 0x6c22a620, 0x20412: 0x6c046e20, + 0x20417: 0x6c32f020, + 0x2041c: 0x6cf84220, + 0x20427: 0x6d33c020, + 0x20428: 0x6c949220, 0x2042a: 0x6c54b620, 0x2042b: 0x6c601420, + 0x2042c: 0x6c48c820, + 0x20432: 0x6cacd820, + // Block 0x811, offset 0x20440 + 0x20440: 0x6d39c220, + 0x20445: 0x6c08fc20, 0x20447: 0x6d21ae20, + 0x20452: 0x6cb6c220, + 0x20455: 0x6c50b420, 0x20456: 0x6c1ed420, + 0x20459: 0x6ccec220, 0x2045a: 0x6c1be020, 0x2045b: 0x6c0eac20, + 0x2045f: 0x6cc62420, + 0x20460: 0x6d1ef820, + 0x20464: 0x6ca39620, + 0x20469: 0x6c5b9420, 0x2046a: 0x6ce57620, 0x2046b: 0x6c04c220, + 0x20470: 0x6d057620, + 0x20474: 0x6d1f1020, 0x20475: 0x6c1c0620, + 0x2047f: 0x6c526220, + // Block 0x812, offset 0x20480 + 0x20483: 0x6cec7020, + 0x20486: 0x6d01ce20, + 0x2048a: 0x6c748c20, + 0x2048c: 0x6cdbec20, 0x2048d: 0x6cbe2c20, 0x2048e: 0x6d3bbc20, + 0x20495: 0x6c617620, + 0x20498: 0x6c091420, 0x2049a: 0x6cf59c20, + 0x204a0: 0x6c602820, 0x204a2: 0x6c75c620, + 0x204a5: 0x6c89ee20, 0x204a6: 0x6d1eb620, + 0x204ad: 0x6c70ea20, + 0x204b2: 0x6d266a20, + 0x204b5: 0x6c055e20, + 0x204b8: 0x6cafaa20, 0x204bb: 0x6d2b3820, + 0x204be: 0x6d165820, 0x204bf: 0x6c2bc820, + // Block 0x813, offset 0x204c0 + 0x204c2: 0x6cbc9220, + 0x204c4: 0x6cdd4c20, 0x204c6: 0x6c22ae20, + 0x204c8: 0x6d3aa220, 0x204c9: 0x6d267420, + 0x204cf: 0x6c682820, + 0x204d4: 0x6cd23e20, 0x204d7: 0x6d148820, + 0x204d8: 0x6cf99220, + 0x204e0: 0x6d254220, + 0x204e5: 0x6c4c6020, 0x204e7: 0x6c789020, + 0x204ea: 0x6c252420, 0x204eb: 0x6d171a20, + 0x204f5: 0x6c85c220, 0x204f7: 0x6c2d0c20, + 0x204fa: 0x6cf5d620, + 0x204ff: 0x6c09c020, + // Block 0x814, offset 0x20500 + 0x20502: 0x6c0b3420, 0x20503: 0x6c99ea20, + 0x20504: 0x6c85e420, 0x20507: 0x6cda1820, + 0x20510: 0x6c8e5620, 0x20511: 0x6c4b5420, 0x20512: 0x6c78b620, + 0x20517: 0x6d151220, + 0x20519: 0x6cf7f620, 0x2051a: 0x6d1a7c20, + 0x2051f: 0x6c78c020, + 0x20523: 0x6ccf6020, + 0x20527: 0x6cf2bc20, + 0x2052e: 0x6cb0b620, + 0x20536: 0x6d26dc20, 0x20537: 0x6c538020, + 0x2053a: 0x6c867220, 0x2053b: 0x6c405020, + // Block 0x815, offset 0x20540 + 0x20543: 0x6c74d620, + 0x20544: 0x6cfae820, + 0x20549: 0x6c2cf020, + 0x2054c: 0x6c878820, + 0x20553: 0x6ce83420, + 0x20558: 0x6c645820, 0x2055b: 0x6c041420, + 0x2055c: 0x6c2c0c20, 0x2055d: 0x6d2efc20, + 0x20563: 0x6d22bc20, + 0x20568: 0x6c333420, + 0x2056d: 0x6c115c20, 0x2056e: 0x6ce88620, + 0x20576: 0x6cdf9420, 0x20577: 0x6c5fee20, + 0x20578: 0x6cb59420, 0x20579: 0x6ccd7620, 0x2057a: 0x6ca6fa20, + // Block 0x816, offset 0x20580 + 0x20586: 0x6c498c20, + 0x20588: 0x6c08e420, 0x2058b: 0x6d037820, + 0x20593: 0x6d31fa20, + 0x20599: 0x6cc94a20, 0x2059b: 0x6ca0b820, + 0x2059d: 0x6c3dc420, + 0x205a2: 0x6ce1a820, 0x205a3: 0x6c055c20, + 0x205aa: 0x6c0c8a20, + 0x205ac: 0x6cf56620, 0x205ae: 0x6c6a5e20, + 0x205b6: 0x6c6cd220, + 0x205be: 0x6cb8b020, + // Block 0x817, offset 0x205c0 + 0x205c8: 0x6cd89820, 0x205c9: 0x6c6e1620, 0x205cb: 0x6c1b8820, + 0x205d7: 0x6c6e1c20, + 0x205e5: 0x6cdc3a20, + 0x205ef: 0x6d2bde20, + 0x205f0: 0x6c83e020, + 0x205f4: 0x6d3d0620, + 0x205f9: 0x6c0ba820, + 0x205ff: 0x6cea6220, + // Block 0x818, offset 0x20600 + 0x20603: 0x6c0a1820, + 0x20606: 0x6c3ac220, + 0x2060a: 0x6c2a8220, + 0x2060c: 0x6d3a2620, + 0x20611: 0x6c70dc20, + 0x20619: 0x6d15b020, + 0x2061c: 0x6d0b6420, 0x2061f: 0x6c1bd820, + 0x20620: 0x6c488e20, 0x20621: 0x6d34d020, + 0x20628: 0x6cc61620, 0x2062b: 0x6d1e8a20, + 0x2062d: 0x6c0ea820, 0x2062f: 0x6c611820, + 0x20630: 0x6cb23620, 0x20633: 0x6d1b9c20, + 0x20634: 0x6d0f4220, 0x20635: 0x6c98b420, + 0x2063d: 0x6c904e20, 0x2063e: 0x6ca2ca20, 0x2063f: 0x6cc9bc20, + // Block 0x819, offset 0x20640 + 0x20640: 0x6c1fda20, 0x20642: 0x6c221c20, 0x20643: 0x6cf41a20, + 0x20644: 0x6cc5ae20, + 0x20648: 0x6c272420, 0x20649: 0x6c5fc420, 0x2064b: 0x6d15b820, + 0x2064d: 0x6cc45e20, + 0x20650: 0x6c5d9820, 0x20651: 0x6c484220, 0x20653: 0x6d301020, + 0x20654: 0x6cb08220, 0x20657: 0x6d288220, + 0x20658: 0x6c04e020, 0x20659: 0x6c6a6a20, + 0x2065c: 0x6c53e220, 0x2065f: 0x6cfc7620, + 0x20660: 0x6c5a8820, + 0x20669: 0x6d2bc420, 0x2066a: 0x6c270820, 0x2066b: 0x6c436c20, + 0x2066d: 0x6cb08420, 0x2066f: 0x6cb14620, + 0x20670: 0x6cd23620, 0x20671: 0x6c898620, 0x20672: 0x6d267620, 0x20673: 0x6c565020, + 0x20674: 0x6c0b6a20, 0x20677: 0x6cc61e20, + 0x20679: 0x6cc62020, + // Block 0x81a, offset 0x20680 + 0x20684: 0x6d13c420, 0x20685: 0x6d338820, 0x20687: 0x6c6c2820, + 0x20688: 0x6cf22020, 0x20689: 0x6c173420, 0x2068b: 0x6cbf9a20, + 0x2068d: 0x6d3a5620, 0x2068f: 0x6d2c1c20, + 0x20690: 0x6cb34820, 0x20691: 0x6c019e20, 0x20693: 0x6c50c220, + 0x20695: 0x6c1e5620, 0x20696: 0x6d0c6020, + 0x2069a: 0x6cd31820, 0x2069b: 0x6c566020, + 0x2069c: 0x6c35dc20, + 0x206b4: 0x6cd24020, + 0x206b9: 0x6ceaaa20, 0x206ba: 0x6c272c20, 0x206bb: 0x6cec6a20, + 0x206bc: 0x6cb2f420, 0x206bd: 0x6cc6f420, 0x206be: 0x6c705220, + // Block 0x81b, offset 0x206c0 + 0x206c0: 0x6c0e4a20, + 0x206d0: 0x6d222820, 0x206d1: 0x6c30a220, 0x206d3: 0x6c4ace20, + 0x206d4: 0x6cd45420, 0x206d7: 0x6cdd0820, + 0x206d8: 0x6ca68220, 0x206d9: 0x6d385c20, 0x206da: 0x6c905220, 0x206db: 0x6c0dca20, + 0x206dc: 0x6d421420, 0x206dd: 0x6d12d620, 0x206de: 0x6cc4b420, + 0x206e0: 0x6c8cb220, 0x206e1: 0x6cc96c20, + 0x206e4: 0x6c82b820, 0x206e5: 0x6c35e820, 0x206e7: 0x6d381a20, + 0x206e8: 0x6c612820, 0x206eb: 0x6c35ea20, + 0x206ef: 0x6d428420, + 0x206f2: 0x6ca31820, 0x206f3: 0x6d27dc20, + // Block 0x81c, offset 0x20700 + 0x2070a: 0x6d016c20, 0x2070b: 0x6d418a20, + 0x2070c: 0x6cd5aa20, 0x2070d: 0x6c2fce20, 0x2070e: 0x6c384620, 0x2070f: 0x6cc58a20, + 0x20711: 0x6c051820, 0x20712: 0x6c4de020, 0x20713: 0x6c530a20, + 0x20714: 0x6d13d020, 0x20716: 0x6d13d220, + 0x20719: 0x6c77da20, 0x2071a: 0x6d16de20, 0x2071b: 0x6c5b1e20, + 0x2071c: 0x6d329020, + 0x2072e: 0x6c6e6220, + 0x20731: 0x6c43d220, + 0x20734: 0x6ca9fa20, 0x20735: 0x6cbca220, 0x20737: 0x6c2e7e20, + 0x20739: 0x6c61c420, 0x2073a: 0x6d171e20, 0x2073b: 0x6d14b620, + 0x2073d: 0x6c3e2c20, 0x2073e: 0x6cd77220, 0x2073f: 0x6cd77420, + // Block 0x81d, offset 0x20740 + 0x20740: 0x6d1e1e20, 0x20741: 0x6c78fe20, 0x20742: 0x6c573020, 0x20743: 0x6c53b620, + 0x20747: 0x6c50ec20, + 0x2074a: 0x6c509620, 0x2074b: 0x6cb9f820, + 0x2074c: 0x6cb85020, 0x2074e: 0x6cd8a620, + 0x20750: 0x6c051e20, + 0x2076c: 0x6c6d9e20, 0x2076d: 0x6c789220, + 0x20773: 0x6c001a20, + 0x20774: 0x6c908020, 0x20776: 0x6ce84820, + 0x20779: 0x6c207020, + 0x2077c: 0x6cd98620, 0x2077d: 0x6c19d620, 0x2077f: 0x6cee6a20, + // Block 0x81e, offset 0x20780 + 0x20782: 0x6caa5220, + 0x20784: 0x6c6fb620, 0x20787: 0x6c0d2c20, + 0x207a1: 0x6cffda20, 0x207a2: 0x6cd0f820, 0x207a3: 0x6c545020, + 0x207a6: 0x6d3ad020, + 0x207a8: 0x6c490e20, 0x207a9: 0x6c5eb220, 0x207ab: 0x6c61dc20, + 0x207ad: 0x6cf5da20, 0x207af: 0x6ccf3e20, + 0x207b0: 0x6cab7e20, 0x207b1: 0x6c553c20, 0x207b2: 0x6cde4220, 0x207b3: 0x6cff7c20, + 0x207b5: 0x6d2a7c20, + 0x207b8: 0x6c0fee20, 0x207b9: 0x6cb77820, 0x207ba: 0x6cebd620, 0x207bb: 0x6ceabe20, + 0x207bc: 0x6c2a0c20, 0x207be: 0x6ca33020, + // Block 0x81f, offset 0x207c0 + 0x207e0: 0x6d2cee20, 0x207e3: 0x6d0b9020, + 0x207e6: 0x6cf44020, 0x207e7: 0x6d31aa20, + 0x207e8: 0x6c2a8e20, 0x207e9: 0x6c509a20, 0x207eb: 0x6c01ea20, + 0x207ec: 0x6cafda20, 0x207ed: 0x6ccb2220, 0x207ee: 0x6c3bbc20, 0x207ef: 0x6c485420, + 0x207f3: 0x6cb35420, + 0x207f7: 0x6d088820, + 0x207f8: 0x6c4d9c20, 0x207f9: 0x6c427420, 0x207fa: 0x6c034620, 0x207fb: 0x6d3f7620, + 0x207fc: 0x6c9c0020, 0x207fe: 0x6c5dba20, + // Block 0x820, offset 0x20800 + 0x20827: 0x6c2cc220, + 0x20828: 0x6cf5dc20, 0x2082b: 0x6c26ee20, + 0x2082c: 0x6ca47a20, + 0x20830: 0x6c2dbe20, 0x20831: 0x6c95f820, 0x20832: 0x6c789e20, + 0x20837: 0x6d178e20, + 0x20838: 0x6c744420, 0x20839: 0x6c512420, 0x2083b: 0x6c602c20, + 0x2083e: 0x6c51c620, 0x2083f: 0x6ca82820, + // Block 0x821, offset 0x20840 + 0x20840: 0x6cc8f620, 0x20841: 0x6cb99220, 0x20842: 0x6c276c20, 0x20843: 0x6cce6c20, + 0x20844: 0x6c78ae20, 0x20845: 0x6d3a1220, 0x20847: 0x6cd1b820, + 0x20848: 0x6c93da20, 0x20849: 0x6c635c20, 0x2084a: 0x6cb10c20, 0x2084b: 0x6c546e20, + 0x2084c: 0x6c5ec420, 0x2084d: 0x6cde5420, 0x2084e: 0x6c1dac20, 0x2084f: 0x6cf29020, + 0x20850: 0x6c6e8020, 0x20851: 0x6cb30e20, 0x20852: 0x6d2cf220, 0x20853: 0x6d02d420, + 0x20856: 0x6c0b9420, + 0x20859: 0x6d06ce20, + 0x2085e: 0x6c471020, 0x2085f: 0x6c6be620, + 0x20862: 0x6cfb6a20, + 0x20878: 0x6c356420, 0x2087a: 0x6c0f0020, 0x2087b: 0x6cb15420, + 0x2087f: 0x6d28ea20, + // Block 0x822, offset 0x20880 + 0x20881: 0x6cac2420, 0x20882: 0x6ce85a20, + 0x20884: 0x6d1bb420, + 0x208ae: 0x6cfde220, + 0x208b1: 0x6caaf420, 0x208b2: 0x6c438e20, 0x208b3: 0x6c0f0220, + 0x208b4: 0x6d01a420, + 0x208b8: 0x6d315c20, 0x208b9: 0x6d214620, 0x208ba: 0x6ca6a420, + // Block 0x823, offset 0x208c0 + 0x208c0: 0x6d0a9220, 0x208c1: 0x6cec3620, 0x208c3: 0x6c021820, + 0x208c4: 0x6c4ece20, 0x208c5: 0x6c52b220, 0x208c6: 0x6c27e220, + 0x208c8: 0x6caac220, 0x208ca: 0x6c12b020, 0x208cb: 0x6c604820, + 0x208cc: 0x6ca5ae20, 0x208cd: 0x6d1e4020, 0x208ce: 0x6cfed220, + 0x208d0: 0x6c1faa20, 0x208d1: 0x6d121020, 0x208d3: 0x6c440220, + 0x208d4: 0x6ce0fc20, 0x208d5: 0x6c065220, 0x208d6: 0x6c15be20, + 0x208d8: 0x6d06ec20, 0x208db: 0x6c4d2020, + 0x208dd: 0x6c1db620, 0x208df: 0x6c65a620, + 0x208e0: 0x6d422620, + 0x208e4: 0x6cf0a420, 0x208e5: 0x6c265220, 0x208e6: 0x6caf6c20, + // Block 0x824, offset 0x20900 + 0x20910: 0x6c592c20, 0x20912: 0x6cf63a20, + 0x20914: 0x6cae4c20, 0x20915: 0x6c8e3420, 0x20916: 0x6ca24a20, 0x20917: 0x6c9ec620, + 0x20918: 0x6c812020, 0x20919: 0x6ce9fe20, 0x2091a: 0x6c048420, + 0x2091d: 0x6c439820, 0x2091f: 0x6c7aa020, + 0x20922: 0x6c636a20, 0x20923: 0x6c0e7c20, + // Block 0x825, offset 0x20940 + 0x2094d: 0x6c592e20, 0x2094f: 0x6d40c420, + 0x20950: 0x6c960e20, + 0x20957: 0x6c840a20, + 0x20959: 0x6c515620, 0x2095a: 0x6ca06220, + 0x2095c: 0x6cd72a20, 0x2095d: 0x6cd00420, 0x2095e: 0x6c777020, 0x2095f: 0x6c1c4020, + 0x20960: 0x6c8d3420, 0x20961: 0x6c95ba20, + 0x20964: 0x6d0dae20, 0x20965: 0x6d2fc620, 0x20966: 0x6c1fae20, 0x20967: 0x6c47ac20, + 0x20968: 0x6cbde020, 0x2096a: 0x6cdff220, 0x2096b: 0x6c3be220, + 0x2096c: 0x6ce8d220, + 0x20971: 0x6c8d3620, + 0x20974: 0x6c810820, + // Block 0x826, offset 0x20980 + 0x20996: 0x6c7fa620, 0x20997: 0x6d299220, + 0x20998: 0x6cf50820, + 0x2099d: 0x6c840c20, 0x2099e: 0x6c000a20, 0x2099f: 0x6c94b620, + 0x209a0: 0x6d353e20, 0x209a1: 0x6c1dc820, 0x209a2: 0x6c67f020, + 0x209a4: 0x6c64c620, + 0x209a9: 0x6c950020, 0x209aa: 0x6d153020, + 0x209ac: 0x6cce0820, + 0x209bb: 0x6c5f0220, + // Block 0x827, offset 0x209c0 + 0x209dc: 0x6d181e20, 0x209dd: 0x6ca8ea20, + 0x209e1: 0x6c5c0a20, 0x209e3: 0x6d2bf020, + 0x209e6: 0x6c4e6020, + 0x209e8: 0x6d1afa20, 0x209e9: 0x6c0a1a20, 0x209ea: 0x6c014620, 0x209eb: 0x6cf97220, + 0x209ec: 0x6ca60020, + 0x209f0: 0x6c2b3e20, 0x209f1: 0x6c65cc20, 0x209f2: 0x6cac6820, + 0x209f5: 0x6d23bc20, 0x209f6: 0x6c1fc620, 0x209f7: 0x6d289820, + 0x209f9: 0x6c13fc20, 0x209fb: 0x6d307620, + 0x209fc: 0x6ccb4220, 0x209fe: 0x6cae3620, 0x209ff: 0x6c472820, + // Block 0x828, offset 0x20a00 + 0x20a00: 0x6d307820, + 0x20a06: 0x6c842420, 0x20a07: 0x6c30be20, + 0x20a09: 0x6c1dd020, 0x20a0b: 0x6d419620, + 0x20a0c: 0x6cb39e20, 0x20a0f: 0x6ccefc20, + 0x20a10: 0x6c8fa220, + 0x20a22: 0x6cd5fe20, + 0x20a24: 0x6c6d3a20, 0x20a25: 0x6c8d4820, + 0x20a28: 0x6c774220, 0x20a29: 0x6c7e9220, 0x20a2b: 0x6d05cc20, + 0x20a2c: 0x6c6d3c20, 0x20a2e: 0x6c1fea20, + 0x20a32: 0x6d26de20, + // Block 0x829, offset 0x20a40 + 0x20a46: 0x6c971820, 0x20a47: 0x6d020820, + 0x20a48: 0x6c6f8620, 0x20a49: 0x6c627420, 0x20a4b: 0x6d26e820, + 0x20a4f: 0x6c64f220, + 0x20a51: 0x6c4e3020, 0x20a53: 0x6cc98a20, + 0x20a54: 0x6c5c2820, 0x20a55: 0x6cbc5a20, 0x20a57: 0x6ccb5220, + 0x20a58: 0x6d419a20, 0x20a5b: 0x6c91d620, + 0x20a5c: 0x6c57c420, 0x20a5d: 0x6c1e6820, 0x20a5e: 0x6ccd5c20, 0x20a5f: 0x6cf31220, + 0x20a60: 0x6c60a220, 0x20a61: 0x6d3d9620, 0x20a62: 0x6cfb8c20, 0x20a63: 0x6d141020, + 0x20a64: 0x6c4c8820, 0x20a65: 0x6c7d1c20, + // Block 0x82a, offset 0x20a80 + 0x20a91: 0x6d38a820, + 0x20a94: 0x6c929e20, 0x20a96: 0x6c0e9020, 0x20a97: 0x6cd28a20, + 0x20a98: 0x6d1d4a20, 0x20a99: 0x6c7a5c20, + 0x20ab9: 0x6d36d820, 0x20aba: 0x6d00e820, + 0x20abd: 0x6d135420, 0x20abe: 0x6c36b420, 0x20abf: 0x6c940420, + // Block 0x82b, offset 0x20ac0 + 0x20ac0: 0x6c4f1420, 0x20ac1: 0x6d135620, + 0x20ac6: 0x6c962c20, 0x20ac7: 0x6c21dc20, + 0x20ac8: 0x6c397020, 0x20ac9: 0x6d34a020, 0x20aca: 0x6d1d5020, 0x20acb: 0x6cf1f220, + 0x20acc: 0x6cebf220, 0x20acd: 0x6c00d620, 0x20ace: 0x6d21b020, + 0x20ad1: 0x6c571a20, 0x20ad3: 0x6c8b3220, + 0x20ad4: 0x6c6dd620, 0x20ad5: 0x6d28ca20, + 0x20ae7: 0x6d29e820, + 0x20ae8: 0x6c336420, 0x20aea: 0x6c629220, + 0x20aee: 0x6cf2a220, + 0x20af0: 0x6c60ba20, 0x20af1: 0x6cf6e420, 0x20af3: 0x6d2e8620, + 0x20af4: 0x6ce95c20, + // Block 0x82c, offset 0x20b00 + 0x20b0a: 0x6d21b220, + 0x20b0f: 0x6c8b4620, + 0x20b12: 0x6d372420, 0x20b13: 0x6cd20a20, + 0x20b15: 0x6c81c220, 0x20b16: 0x6c7f6020, 0x20b17: 0x6cf03620, + 0x20b18: 0x6cad7220, 0x20b19: 0x6c1b6220, 0x20b1a: 0x6d1d1420, 0x20b1b: 0x6c314020, + 0x20b1d: 0x6c314220, 0x20b1f: 0x6c067620, + 0x20b20: 0x6cbcf020, 0x20b21: 0x6cd62020, 0x20b23: 0x6d34a820, + 0x20b29: 0x6c8b4820, 0x20b2b: 0x6caed620, + 0x20b2d: 0x6d300620, + 0x20b3f: 0x6cab5a20, + // Block 0x82d, offset 0x20b40 + 0x20b42: 0x6d023c20, 0x20b43: 0x6c60d820, + 0x20b44: 0x6c7f6220, 0x20b45: 0x6d1cb020, 0x20b46: 0x6c134c20, + 0x20b56: 0x6c820020, + 0x20b5d: 0x6c952820, + 0x20b61: 0x6c8fbc20, 0x20b62: 0x6cf91020, + 0x20b66: 0x6c8c7620, + 0x20b69: 0x6c4aa020, + 0x20b73: 0x6d03b020, + 0x20b77: 0x6c848620, + 0x20b78: 0x6c221620, + // Block 0x82e, offset 0x20b80 + 0x20b87: 0x6cbebc20, + 0x20b91: 0x6c652e20, 0x20b92: 0x6c2a4420, 0x20b93: 0x6c661420, + 0x20b94: 0x6cbee820, 0x20b95: 0x6d026e20, 0x20b96: 0x6d1d5a20, + 0x20b9f: 0x6c4d0020, + 0x20ba1: 0x6d311820, 0x20ba2: 0x6ccf0420, 0x20ba3: 0x6c9c9a20, + 0x20ba4: 0x6c58ba20, + 0x20bb1: 0x6c248220, 0x20bb2: 0x6cc7e820, 0x20bb3: 0x6cc95a20, + 0x20bb4: 0x6c5e4620, 0x20bb5: 0x6d143420, 0x20bb7: 0x6c2b4e20, + 0x20bb9: 0x6c949e20, 0x20bbb: 0x6d193e20, + // Block 0x82f, offset 0x20bc0 + 0x20bc2: 0x6c100020, 0x20bc3: 0x6cad1820, + 0x20bc4: 0x6ce04220, 0x20bc5: 0x6c35a420, 0x20bc6: 0x6d29ee20, 0x20bc7: 0x6c23c420, + 0x20bd3: 0x6d2d0a20, + 0x20bd5: 0x6cf82620, 0x20bd6: 0x6c98b020, + 0x20bd8: 0x6c7eca20, 0x20bd9: 0x6d287820, + 0x20be1: 0x6c36e620, + 0x20be5: 0x6c2f0e20, + 0x20bed: 0x6c493c20, + 0x20bf1: 0x6c596620, + 0x20bf5: 0x6cd40620, 0x20bf6: 0x6c663220, + 0x20bf9: 0x6d2dce20, 0x20bfa: 0x6c610620, 0x20bfb: 0x6c596820, + // Block 0x830, offset 0x20c00 + 0x20c05: 0x6cedb220, 0x20c06: 0x6c95d820, + 0x20c0f: 0x6c315620, + 0x20c15: 0x6c893c20, + 0x20c23: 0x6ca7ea20, + 0x20c24: 0x6ca41c20, 0x20c25: 0x6c6fc820, 0x20c26: 0x6d266c20, + 0x20c29: 0x6d108820, 0x20c2a: 0x6c204c20, + 0x20c2e: 0x6c11cc20, 0x20c2f: 0x6c84f820, + 0x20c30: 0x6c33d420, 0x20c31: 0x6ca41e20, 0x20c32: 0x6ca42020, + 0x20c38: 0x6cc63820, + 0x20c3d: 0x6d267820, + // Block 0x831, offset 0x20c40 + 0x20c40: 0x6d1ee620, 0x20c42: 0x6d19a420, + 0x20c44: 0x6c4c5820, + 0x20c48: 0x6c295420, + 0x20c51: 0x6d312620, 0x20c52: 0x6c9c3c20, 0x20c53: 0x6c2e6820, + 0x20c56: 0x6d312820, + 0x20c5a: 0x6c7abe20, + 0x20c5c: 0x6c4de220, 0x20c5d: 0x6cd98020, 0x20c5e: 0x6c50d020, 0x20c5f: 0x6c5e9620, + 0x20c60: 0x6d302e20, + 0x20c64: 0x6c0dd620, 0x20c66: 0x6ceef220, 0x20c67: 0x6ce7d220, + 0x20c69: 0x6ce88c20, + 0x20c6c: 0x6c426e20, 0x20c6d: 0x6c908220, 0x20c6e: 0x6cc2c820, 0x20c6f: 0x6c5d2220, + 0x20c70: 0x6d3ba420, 0x20c71: 0x6cc3b220, 0x20c73: 0x6c533a20, + 0x20c75: 0x6c296020, 0x20c76: 0x6c510420, 0x20c77: 0x6cdf6e20, + 0x20c78: 0x6c48ca20, 0x20c7a: 0x6d230220, + 0x20c7c: 0x6d0baa20, 0x20c7f: 0x6cec8c20, + // Block 0x832, offset 0x20c80 + 0x20c80: 0x6cc43820, + 0x20c85: 0x6c744620, 0x20c86: 0x6cab3820, + 0x20c89: 0x6cc29c20, 0x20c8a: 0x6d347220, + 0x20c8d: 0x6c8d1820, 0x20c8e: 0x6cf37020, 0x20c8f: 0x6d033c20, + 0x20c90: 0x6c26ae20, 0x20c92: 0x6d24f220, 0x20c93: 0x6d261e20, + 0x20c97: 0x6ca13820, + 0x20c99: 0x6d1f5420, + 0x20c9e: 0x6cf45820, + 0x20ca0: 0x6d2ebe20, 0x20ca3: 0x6d07b820, + 0x20ca6: 0x6cc53c20, 0x20ca7: 0x6c4be220, + 0x20ca8: 0x6d23be20, + 0x20cae: 0x6cf9fc20, 0x20caf: 0x6c0b5220, + 0x20cb0: 0x6d1f7e20, 0x20cb2: 0x6d1a1420, + 0x20cb4: 0x6d083220, 0x20cb5: 0x6d1f8c20, 0x20cb6: 0x6c827a20, + 0x20cbc: 0x6ce6a620, 0x20cbf: 0x6d311a20, + // Block 0x833, offset 0x20cc0 + 0x20cc4: 0x6d292420, 0x20cc5: 0x6c40ba20, 0x20cc6: 0x6c7e5620, + 0x20cc9: 0x6cc39e20, + 0x20cce: 0x6c70ec20, + 0x20cd0: 0x6c20fa20, 0x20cd1: 0x6c263e20, 0x20cd2: 0x6cea3a20, 0x20cd3: 0x6c001220, + 0x20cd7: 0x6d3edc20, + 0x20cda: 0x6c59a620, 0x20cdb: 0x6d167c20, + 0x20ce9: 0x6c062e20, 0x20cea: 0x6c1afc20, + 0x20ced: 0x6cc63a20, + 0x20cf4: 0x6c913220, 0x20cf7: 0x6c6a6c20, + 0x20cf8: 0x6cd30a20, 0x20cfa: 0x6d413620, + // Block 0x834, offset 0x20d00 + 0x20d01: 0x6d167e20, + 0x20d04: 0x6c3bc820, 0x20d05: 0x6c3bca20, + 0x20d09: 0x6ca0c420, + 0x20d0d: 0x6cd59a20, + 0x20d1b: 0x6c023e20, + 0x20d1d: 0x6cb05620, 0x20d1e: 0x6cb27820, 0x20d1f: 0x6cb2f820, + 0x20d20: 0x6c639e20, 0x20d21: 0x6d38ca20, 0x20d23: 0x6cbf9e20, + 0x20d27: 0x6d1fa620, + 0x20d28: 0x6cdfd020, 0x20d2b: 0x6cc6f620, + 0x20d2d: 0x6c9d2020, + 0x20d36: 0x6d16ac20, + 0x20d38: 0x6cc6fc20, 0x20d3b: 0x6c8ace20, + 0x20d3c: 0x6cbf0220, + // Block 0x835, offset 0x20d40 + 0x20d59: 0x6c5b2020, 0x20d5a: 0x6c61a020, + 0x20d5f: 0x6c433a20, + 0x20d67: 0x6d1f0420, + 0x20d68: 0x6c138220, 0x20d69: 0x6c2a6020, 0x20d6a: 0x6d19ac20, + 0x20d6c: 0x6d22de20, 0x20d6d: 0x6c06fc20, 0x20d6f: 0x6c0ed020, + // Block 0x836, offset 0x20d80 + 0x20d94: 0x6cbb6820, + 0x20d9a: 0x6c141c20, + 0x20d9c: 0x6d02be20, 0x20d9e: 0x6c1b1420, + 0x20da3: 0x6d2a7220, + 0x20da4: 0x6c7c6020, 0x20da6: 0x6c3aa220, + 0x20da9: 0x6cddea20, 0x20daa: 0x6c48f420, + 0x20dad: 0x6c342620, + 0x20db2: 0x6c4a5420, + 0x20db4: 0x6d345020, + // Block 0x837, offset 0x20dc0 + 0x20dcc: 0x6c15a620, 0x20dcd: 0x6ca4ec20, + 0x20dd0: 0x6c553e20, 0x20dd2: 0x6ce21820, + 0x20de1: 0x6d175620, + 0x20de4: 0x6ca82a20, 0x20de5: 0x6d2d3e20, 0x20de6: 0x6c587220, + 0x20de8: 0x6c325620, 0x20dea: 0x6cb78620, 0x20deb: 0x6c12e420, + 0x20dee: 0x6c20cc20, + 0x20df2: 0x6c264e20, + 0x20df6: 0x6d361820, 0x20df7: 0x6c453020, + 0x20dfb: 0x6cf26e20, + // Block 0x838, offset 0x20e00 + 0x20e09: 0x6c325820, + 0x20e0d: 0x6c1b2420, + 0x20e11: 0x6c01be20, 0x20e12: 0x6c7df820, + 0x20e14: 0x6cf2e820, + 0x20e18: 0x6d1bb620, 0x20e1a: 0x6cb13e20, + 0x20e2b: 0x6d2c3020, + 0x20e2c: 0x6d3b6420, 0x20e2e: 0x6cdac420, + 0x20e33: 0x6ca6a620, + 0x20e3a: 0x6d3a1420, 0x20e3b: 0x6c14fe20, + 0x20e3e: 0x6c084020, 0x20e3f: 0x6ca5f220, + // Block 0x839, offset 0x20e40 + 0x20e40: 0x6d347420, 0x20e41: 0x6c5bd420, + 0x20e58: 0x6cfa3a20, 0x20e5a: 0x6d364e20, 0x20e5b: 0x6cf63c20, + 0x20e5e: 0x6c67aa20, + 0x20e69: 0x6c330220, 0x20e6a: 0x6c3d7c20, + 0x20e6d: 0x6c685c20, 0x20e6e: 0x6c176820, 0x20e6f: 0x6c045020, + 0x20e75: 0x6c8b1e20, + 0x20e7c: 0x6c025a20, + // Block 0x83a, offset 0x20e80 + 0x20e8b: 0x6d2a1620, + 0x20e8c: 0x6c1f6020, 0x20e8f: 0x6ceb8620, + 0x20e92: 0x6c4fd220, 0x20e93: 0x6c773620, + 0x20e94: 0x6d1a7e20, 0x20e96: 0x6cfcea20, + 0x20e9d: 0x6c401820, 0x20e9e: 0x6c0cb620, + 0x20ea0: 0x6c7c4020, + 0x20ea4: 0x6cbcde20, 0x20ea5: 0x6cc98420, + 0x20ebf: 0x6c266220, + // Block 0x83b, offset 0x20ec0 + 0x20ec0: 0x6d12b220, + 0x20ec4: 0x6d2f0820, 0x20ec6: 0x6c896420, + 0x20ec8: 0x6c332620, + 0x20ecd: 0x6c816620, 0x20ece: 0x6d09a620, + 0x20ed8: 0x6d36a420, 0x20eda: 0x6c7a5a20, + 0x20ede: 0x6cdc6a20, 0x20edf: 0x6cf2a020, + 0x20ee3: 0x6c7a5e20, + 0x20eef: 0x6c65d420, + 0x20ef6: 0x6c67ba20, + 0x20efb: 0x6d3caa20, + 0x20efd: 0x6cd6dc20, 0x20efe: 0x6d219c20, + // Block 0x83c, offset 0x20f00 + 0x20f01: 0x6cc98c20, 0x20f03: 0x6d23e620, + 0x20f04: 0x6c803a20, + 0x20f0a: 0x6d240620, + 0x20f0c: 0x6cba2820, 0x20f0d: 0x6c72a220, 0x20f0f: 0x6c8b3420, + 0x20f12: 0x6cd53e20, 0x20f13: 0x6cfd1a20, + 0x20f16: 0x6c415420, + 0x20f22: 0x6cdf4420, + 0x20f27: 0x6ce52220, + 0x20f2f: 0x6c9c1020, + 0x20f31: 0x6c2ba220, 0x20f33: 0x6c9ddc20, + 0x20f3e: 0x6c5afa20, + // Block 0x83d, offset 0x20f40 + 0x20f49: 0x6c351c20, + 0x20f4d: 0x6c8b4a20, + 0x20f52: 0x6c7f6820, 0x20f53: 0x6d1aa820, + 0x20f54: 0x6c804620, 0x20f56: 0x6c68a020, + 0x20f58: 0x6c5e2620, + 0x20f63: 0x6c4c4c20, + 0x20f66: 0x6d2e9420, + 0x20f6d: 0x6c9d0820, + 0x20f70: 0x6c7c5020, + 0x20f77: 0x6c352620, + 0x20f7f: 0x6d1ab020, + // Block 0x83e, offset 0x20f80 + 0x20f87: 0x6c836020, + 0x20f95: 0x6c462a20, + 0x20f9b: 0x6ce6ac20, + 0x20f9c: 0x6d10c820, 0x20f9e: 0x6cedf620, + 0x20fa3: 0x6c6aa020, + 0x20fa8: 0x6d04c220, 0x20faa: 0x6cd5c020, + 0x20fb1: 0x6cf08c20, + 0x20fb4: 0x6d236620, + // Block 0x83f, offset 0x20fc0 + 0x20fc1: 0x6d2da620, + 0x20fc9: 0x6c01ee20, + 0x20fcf: 0x6cca9a20, + 0x20fd0: 0x6c1e0c20, 0x20fd2: 0x6c7ae220, + 0x20fd6: 0x6c71a020, 0x20fd7: 0x6c4d5220, + 0x20fe2: 0x6c9e0420, + 0x20fe7: 0x6c4f9420, + 0x20fea: 0x6c1d9e20, + 0x20fee: 0x6c8d1a20, + 0x20ff0: 0x6d3f9620, + // Block 0x840, offset 0x21000 + 0x21009: 0x6c7d4820, + 0x2100c: 0x6d378c20, 0x2100e: 0x6d2f5420, + 0x21010: 0x6c2f2e20, 0x21011: 0x6c467420, 0x21012: 0x6d279620, 0x21013: 0x6c27c620, + 0x21014: 0x6caada20, + 0x2101b: 0x6c0dd820, + 0x2101d: 0x6cc47420, 0x2101e: 0x6c14c420, + 0x21022: 0x6cc70620, 0x21023: 0x6d19c820, + 0x21024: 0x6c14c620, 0x21027: 0x6d361a20, + 0x2102a: 0x6c48f820, 0x2102b: 0x6caabe20, + 0x2102c: 0x6ccfe420, 0x2102f: 0x6cdac620, + 0x21032: 0x6cf2b820, 0x21033: 0x6c1bb220, + 0x2103a: 0x6c9ee220, 0x2103b: 0x6d347e20, + 0x2103e: 0x6cb50a20, + // Block 0x841, offset 0x21040 + 0x21041: 0x6c465820, + 0x21046: 0x6c90fa20, + 0x21048: 0x6d3ea020, + 0x2104d: 0x6c293a20, 0x2104f: 0x6cfc6820, + 0x21051: 0x6cc77e20, + 0x21057: 0x6caefe20, + 0x2105e: 0x6cf56c20, + 0x21062: 0x6c7aba20, + 0x21064: 0x6c4b2620, 0x21065: 0x6c212e20, 0x21066: 0x6c6baa20, + 0x21072: 0x6c6bac20, 0x21073: 0x6cf57820, + 0x21075: 0x6c7a1a20, 0x21077: 0x6c46ec20, + 0x21078: 0x6d2cac20, 0x21079: 0x6c392620, + 0x2107c: 0x6d015a20, + // Block 0x842, offset 0x21080 + 0x2108d: 0x6c585e20, 0x2108f: 0x6ca79020, + 0x21090: 0x6cf85820, + 0x2109b: 0x6c240820, + 0x2109d: 0x6c4bba20, + 0x210a1: 0x6cf5b620, + 0x210a7: 0x6cb83620, + 0x210aa: 0x6c981c20, + 0x210ad: 0x6d303220, + 0x210b0: 0x6c734620, + 0x210b4: 0x6c0ca020, + // Block 0x843, offset 0x210c0 + 0x210c0: 0x6c0ca220, + 0x210c5: 0x6cc2d620, + 0x210cb: 0x6cf88620, + 0x210ce: 0x6c68f020, + 0x210d0: 0x6cc2ea20, 0x210d1: 0x6d352620, 0x210d2: 0x6ce46820, 0x210d3: 0x6c762a20, + 0x210d8: 0x6cca1a20, 0x210db: 0x6d3e4c20, + 0x210e3: 0x6c6adc20, + 0x210ea: 0x6c0cec20, + 0x210ec: 0x6c312c20, 0x210ed: 0x6d417620, + 0x210f6: 0x6d0db020, + // Block 0x844, offset 0x21100 + 0x21101: 0x6c0a1c20, + 0x21105: 0x6c7b0020, 0x21107: 0x6d0eb620, + 0x21108: 0x6cef3820, 0x2110a: 0x6c583420, + 0x2110c: 0x6c506420, + 0x21111: 0x6c45b820, + 0x21114: 0x6c9b5420, 0x21117: 0x6c82e420, + 0x21119: 0x6c2cae20, 0x2111b: 0x6c0e0220, + 0x2111c: 0x6c584420, 0x2111f: 0x6cebfe20, + 0x21120: 0x6c751420, + 0x21128: 0x6c1bda20, + 0x2112d: 0x6c030e20, 0x2112e: 0x6c6fa420, + 0x21137: 0x6c2c0e20, + 0x21139: 0x6d2f1c20, 0x2113b: 0x6c26e620, + 0x2113c: 0x6cd23820, 0x2113d: 0x6c501420, + // Block 0x845, offset 0x21140 + 0x2114c: 0x6d12c020, + 0x21157: 0x6c091a20, + 0x21158: 0x6cb05020, 0x21159: 0x6d118820, + 0x2115c: 0x6c2b1420, 0x2115d: 0x6c11ee20, 0x2115e: 0x6cb20220, 0x2115f: 0x6d268420, + 0x21160: 0x6cbc7820, 0x21161: 0x6caf3220, + 0x21175: 0x6ceb7020, 0x21176: 0x6d015c20, + 0x2117d: 0x6d12cc20, + // Block 0x846, offset 0x21180 + 0x21180: 0x6c392820, 0x21181: 0x6c484620, 0x21182: 0x6c566e20, 0x21183: 0x6cc7fa20, + 0x21189: 0x6cc4b620, 0x2118a: 0x6c3d2020, 0x2118b: 0x6c598020, + 0x2119a: 0x6cc79020, + 0x211a2: 0x6c993020, + 0x211a5: 0x6c32f620, 0x211a6: 0x6c5b9820, 0x211a7: 0x6cf85a20, + 0x211a8: 0x6d04bc20, 0x211ab: 0x6cc4b820, + 0x211ac: 0x6d13d620, 0x211af: 0x6d303420, + 0x211b1: 0x6c61c620, 0x211b2: 0x6c434020, 0x211b3: 0x6d203820, + 0x211b5: 0x6cb40620, + // Block 0x847, offset 0x211c0 + 0x211c8: 0x6c1f2220, 0x211c9: 0x6c240a20, 0x211ca: 0x6d303620, 0x211cb: 0x6ca79220, + 0x211cd: 0x6cbca620, + 0x211d0: 0x6c13d220, 0x211d2: 0x6ca79420, 0x211d3: 0x6cdbb620, + 0x211d9: 0x6c13d420, 0x211da: 0x6c19da20, 0x211db: 0x6d10e020, + 0x211dc: 0x6c324820, 0x211dd: 0x6cedc820, 0x211df: 0x6ca76220, + 0x211e0: 0x6c9c4420, + 0x211e6: 0x6caa1620, 0x211e7: 0x6cf87820, + 0x211e9: 0x6d109820, 0x211eb: 0x6c14c820, + // Block 0x848, offset 0x21200 + 0x21218: 0x6d018c20, 0x21219: 0x6c9ed420, 0x2121a: 0x6c796420, + 0x2121c: 0x6c243a20, 0x2121e: 0x6cd13620, 0x2121f: 0x6cacb620, + 0x21220: 0x6c569c20, 0x21222: 0x6c78b020, 0x21223: 0x6cfcc220, + 0x21225: 0x6c53fa20, 0x21226: 0x6cbf2020, 0x21227: 0x6d3f8220, + 0x2122a: 0x6c3e7420, 0x2122b: 0x6ca3be20, + 0x2122d: 0x6ca69e20, 0x2122f: 0x6c7a7a20, + 0x2123e: 0x6ca59820, + // Block 0x849, offset 0x21240 + 0x2124d: 0x6c439020, + 0x21251: 0x6c53fc20, 0x21253: 0x6c002620, + 0x21255: 0x6cd1ba20, + 0x2125e: 0x6d04d420, 0x2125f: 0x6c230e20, + 0x21260: 0x6c684420, 0x21262: 0x6d2c3220, 0x21263: 0x6cfebe20, + 0x21264: 0x6c88f820, 0x21265: 0x6cc24820, + 0x21268: 0x6ccd4420, 0x21269: 0x6d01c020, 0x2126b: 0x6c461c20, + 0x2126c: 0x6c9ed820, 0x2126d: 0x6c148020, 0x2126f: 0x6c371620, + 0x21273: 0x6c312220, + // Block 0x84a, offset 0x21280 + 0x21286: 0x6c79f020, + 0x2128a: 0x6ce58a20, 0x2128b: 0x6cd1cc20, + 0x2128f: 0x6cca7020, + 0x21292: 0x6c491a20, + 0x21296: 0x6c505620, 0x21297: 0x6d367c20, + 0x21298: 0x6d106620, 0x21299: 0x6ce70020, 0x2129a: 0x6c09ee20, + 0x2129c: 0x6ca06420, 0x2129e: 0x6c3ebe20, + 0x212a5: 0x6cbb1420, + 0x212b9: 0x6d367e20, + 0x212bc: 0x6cd9ca20, 0x212bf: 0x6ca7a020, + // Block 0x84b, offset 0x212c0 + 0x212c0: 0x6c738020, 0x212c2: 0x6d105620, + 0x212c4: 0x6c599e20, + 0x212c8: 0x6c080020, 0x212c9: 0x6ca06620, 0x212ca: 0x6c176a20, + 0x212ce: 0x6c93a420, 0x212cf: 0x6cce8220, + 0x212d0: 0x6c104220, 0x212d1: 0x6d2b8820, 0x212d2: 0x6cd81020, + 0x212d4: 0x6d41c420, 0x212d5: 0x6d265620, 0x212d6: 0x6d294c20, 0x212d7: 0x6c948e20, + 0x212e5: 0x6cc1b020, + 0x212fa: 0x6c9e9820, + // Block 0x84c, offset 0x21300 + 0x21300: 0x6d3bd820, + 0x21308: 0x6c297e20, 0x2130a: 0x6d250a20, + 0x21312: 0x6c71d220, + 0x21315: 0x6c5b6020, 0x21316: 0x6cb7d020, + 0x21318: 0x6d285220, 0x2131a: 0x6c97fe20, + 0x2131c: 0x6ca0aa20, + 0x21331: 0x6cb16220, 0x21333: 0x6c6d4a20, + 0x21339: 0x6d10b820, + // Block 0x84d, offset 0x21340 + 0x21340: 0x6c1c6820, 0x21341: 0x6ca6c620, 0x21342: 0x6cd9de20, + 0x21348: 0x6cd61a20, 0x2134b: 0x6cb16420, + 0x21354: 0x6c4f1620, + 0x21360: 0x6d10be20, 0x21362: 0x6ca56020, + 0x2136a: 0x6cd3f020, + 0x2136c: 0x6d251820, 0x2136e: 0x6c114c20, 0x2136f: 0x6c6b5220, + 0x21379: 0x6d023e20, + 0x2137d: 0x6d0cec20, 0x2137e: 0x6cff3620, + // Block 0x84e, offset 0x21380 + 0x2138b: 0x6d025020, + 0x2138c: 0x6c86ec20, 0x2138e: 0x6c397620, + 0x21397: 0x6d3b3c20, + 0x21399: 0x6ca37220, 0x2139b: 0x6d3bb620, + 0x2139e: 0x6c7c4c20, + 0x213a2: 0x6c957020, + 0x213ab: 0x6cb83220, + 0x213b6: 0x6ceca820, + 0x213bd: 0x6cd54c20, 0x213bf: 0x6c1a7c20, + // Block 0x84f, offset 0x213c0 + 0x213c1: 0x6d164620, + 0x213c6: 0x6c500820, + 0x213c8: 0x6c698220, 0x213cb: 0x6c5b8e20, + 0x213cd: 0x6cffce20, 0x213ce: 0x6c222020, + 0x213de: 0x6c61a220, + 0x213e6: 0x6ca62e20, + 0x213e8: 0x6ca63420, 0x213e9: 0x6ce3bc20, + 0x213f6: 0x6c724820, + 0x213f8: 0x6ca04220, + 0x213fd: 0x6c83d220, 0x213ff: 0x6d382c20, + // Block 0x850, offset 0x21400 + 0x21401: 0x6d06d420, 0x21403: 0x6cbf3820, + 0x21404: 0x6c3e9620, 0x21406: 0x6c0d7e20, + 0x2140a: 0x6c621620, + 0x2140d: 0x6cb5f420, 0x2140e: 0x6cf89c20, + 0x21414: 0x6c2ada20, 0x21415: 0x6c376020, + 0x2141b: 0x6cd53220, + 0x2141c: 0x6ce77820, 0x2141d: 0x6cff9620, 0x2141f: 0x6cb01c20, + 0x21428: 0x6c284020, 0x2142a: 0x6c60da20, + 0x21433: 0x6d002020, + 0x21437: 0x6c23ca20, + 0x2143b: 0x6c0d1c20, + 0x2143c: 0x6cc6f020, + // Block 0x851, offset 0x21440 + 0x2144d: 0x6c9e4a20, + 0x21452: 0x6c9e4c20, + 0x21454: 0x6cd49c20, 0x21455: 0x6cff6c20, 0x21456: 0x6c05e420, 0x21457: 0x6cec2220, + 0x21459: 0x6cad8020, + 0x21463: 0x6c410e20, + 0x21465: 0x6c549c20, 0x21466: 0x6c525420, + 0x21468: 0x6d39f220, 0x21469: 0x6c48c420, + 0x2146d: 0x6c4b3820, + 0x21479: 0x6c273e20, + 0x2147c: 0x6c0d2820, 0x2147d: 0x6c5a4420, + // Block 0x852, offset 0x21480 + 0x21480: 0x6c13d620, + 0x21484: 0x6cfa3420, 0x21485: 0x6c710220, 0x21487: 0x6d119a20, + 0x21496: 0x6c3bb620, 0x21497: 0x6d2a7420, + 0x2149b: 0x6c3c3020, + 0x214a2: 0x6c708020, 0x214a3: 0x6d230a20, + 0x214a9: 0x6c5cbe20, + 0x214b2: 0x6c6ab020, 0x214b3: 0x6d049020, + 0x214b5: 0x6ca3ba20, + 0x214bb: 0x6caa1820, + 0x214bd: 0x6cd13820, 0x214bf: 0x6d233420, + // Block 0x853, offset 0x214c0 + 0x214c2: 0x6c587620, 0x214c3: 0x6c450c20, + 0x214c4: 0x6ced1620, 0x214c6: 0x6ceb1e20, 0x214c7: 0x6cbb7820, + 0x214d8: 0x6d1b5220, 0x214da: 0x6c635e20, + 0x214e1: 0x6cdd7220, 0x214e3: 0x6c6ade20, + 0x214e4: 0x6cf64020, 0x214e5: 0x6cf25020, + 0x214e9: 0x6c986620, + 0x214f6: 0x6d0fbe20, + 0x214f8: 0x6d110820, + 0x214fd: 0x6c986c20, 0x214fe: 0x6cab3e20, + // Block 0x854, offset 0x21500 + 0x21501: 0x6c017020, + 0x21505: 0x6c910c20, + 0x21511: 0x6c366e20, 0x21512: 0x6d3f1e20, + 0x21517: 0x6c367020, + 0x21519: 0x6c01c820, + 0x2151e: 0x6c5de220, + 0x21520: 0x6c135220, + 0x21530: 0x6d049c20, 0x21531: 0x6c625e20, 0x21533: 0x6d424e20, + 0x21535: 0x6cb63620, + 0x2153a: 0x6d32ee20, + // Block 0x855, offset 0x21540 + 0x21540: 0x6c5f2e20, 0x21541: 0x6cb52e20, 0x21542: 0x6c732420, 0x21543: 0x6ca91c20, + 0x2155f: 0x6ccb7220, + 0x21565: 0x6c51fa20, 0x21566: 0x6cc72c20, 0x21567: 0x6cbdec20, + 0x2156c: 0x6c70de20, 0x2156f: 0x6c86ee20, + 0x21575: 0x6cd29020, + 0x21578: 0x6ca6da20, 0x21579: 0x6cfbc420, 0x2157a: 0x6c3dbc20, + 0x2157d: 0x6cc80820, + // Block 0x856, offset 0x21580 + 0x21581: 0x6d04ac20, 0x21582: 0x6c4ba220, + 0x21584: 0x6c62e020, 0x21586: 0x6c9bf820, 0x21587: 0x6c3dc020, + 0x21589: 0x6cc9ee20, 0x2158a: 0x6d247820, 0x2158b: 0x6c69de20, + 0x2158c: 0x6c9c2220, 0x2158d: 0x6c900e20, 0x2158e: 0x6cbb0020, + 0x21590: 0x6c9cc620, 0x21593: 0x6d15a420, + 0x21596: 0x6c4dc620, 0x21597: 0x6ca6e620, + 0x21598: 0x6c81ee20, 0x21599: 0x6ccbbe20, + 0x2159c: 0x6c8c4220, 0x2159e: 0x6d22c220, + 0x215a5: 0x6caab020, + 0x215ab: 0x6cf4c020, + 0x215af: 0x6c0b3620, + 0x215b2: 0x6c0b3820, 0x215b3: 0x6d079620, + 0x215b5: 0x6c649620, + 0x215b8: 0x6c0b3c20, + // Block 0x857, offset 0x215c0 + 0x215c2: 0x6c2a7a20, + 0x215c7: 0x6d3b8620, + 0x215cb: 0x6cc72020, + 0x215d0: 0x6cd69820, + 0x215d8: 0x6c631820, 0x215db: 0x6c5b4a20, + 0x215de: 0x6d2d5c20, + 0x215e2: 0x6c042e20, 0x215e3: 0x6c8ac420, + 0x215e5: 0x6d003820, + 0x215ed: 0x6c656c20, 0x215ee: 0x6cd44020, + 0x215f3: 0x6c77ba20, + 0x215f7: 0x6c490c20, + 0x215f8: 0x6c949420, + 0x215fe: 0x6caa1a20, 0x215ff: 0x6c16e820, + // Block 0x858, offset 0x21600 + 0x2160e: 0x6c895220, + 0x21619: 0x6ca3c620, 0x2161a: 0x6cc80020, + 0x2161e: 0x6d368020, + 0x21626: 0x6c128620, + 0x21630: 0x6c867420, + 0x2163b: 0x6c7fcc20, + 0x2163f: 0x6c14e220, + // Block 0x859, offset 0x21640 + 0x21641: 0x6cedba20, + 0x21644: 0x6c856620, 0x21647: 0x6cf49620, + 0x21648: 0x6cad4220, 0x21649: 0x6d200a20, 0x2164b: 0x6c415e20, + 0x2164f: 0x6c011420, + 0x21650: 0x6d04b420, 0x21651: 0x6cd70420, 0x21652: 0x6cc8aa20, + 0x21658: 0x6c04b620, 0x21659: 0x6d1eea20, + 0x21662: 0x6c5d6e20, + 0x21665: 0x6c5a9c20, + 0x21668: 0x6d428c20, 0x21669: 0x6cfe9820, 0x2166b: 0x6c9dba20, + 0x21670: 0x6c40d620, 0x21671: 0x6d25e220, 0x21673: 0x6c0ff020, + 0x21674: 0x6c17ba20, 0x21675: 0x6ce9e220, 0x21677: 0x6c0ff220, + 0x2167d: 0x6c40d820, 0x2167f: 0x6ce55820, + // Block 0x85a, offset 0x21680 + 0x21680: 0x6ca2dc20, + 0x21685: 0x6c556a20, 0x21686: 0x6ca83c20, + 0x2168b: 0x6c5b3e20, + 0x2168c: 0x6c90ea20, 0x2168e: 0x6ce35020, + 0x21690: 0x6cbc5420, 0x21691: 0x6cbbee20, 0x21692: 0x6d380620, + 0x21696: 0x6c2b4220, + 0x2169a: 0x6c8bd820, + 0x2169d: 0x6cc32c20, 0x2169e: 0x6d3b9a20, + 0x216a0: 0x6c828e20, 0x216a2: 0x6d013620, + 0x216a5: 0x6cc56220, + 0x216a8: 0x6c28f620, 0x216aa: 0x6c316020, 0x216ab: 0x6ca71420, + 0x216af: 0x6cd2ae20, + 0x216b2: 0x6cfb2020, + 0x216b9: 0x6d343820, + 0x216bd: 0x6c008820, 0x216be: 0x6c21f220, 0x216bf: 0x6cb42a20, + // Block 0x85b, offset 0x216c0 + 0x216c1: 0x6cd2b620, + 0x216c5: 0x6cc0de20, 0x216c6: 0x6cd55020, 0x216c7: 0x6c2cbe20, + 0x216c9: 0x6cffa420, 0x216ca: 0x6cd70a20, + 0x216cc: 0x6c586020, + 0x216d0: 0x6d149220, 0x216d1: 0x6c72dc20, + 0x216d4: 0x6d34fc20, + 0x216dc: 0x6d2f9e20, + 0x216e3: 0x6d06a220, + 0x216ef: 0x6c905a20, + 0x216f1: 0x6d3aca20, 0x216f3: 0x6cdd5620, + 0x216f7: 0x6c2e8020, + 0x216fa: 0x6cc18420, + 0x216fc: 0x6c78a220, 0x216fd: 0x6c54ba20, 0x216fe: 0x6c708220, + // Block 0x85c, offset 0x21700 + 0x21700: 0x6cbea420, + 0x2170d: 0x6c0dae20, + 0x21715: 0x6ce3f220, 0x21717: 0x6c744820, + 0x2171a: 0x6cc05a20, + 0x21723: 0x6c67e420, + 0x2172a: 0x6d282e20, + 0x2172d: 0x6c9a9a20, 0x2172e: 0x6caf6e20, + 0x21730: 0x6cc1a020, + 0x2173c: 0x6c9d5220, 0x2173f: 0x6ce3fe20, + // Block 0x85d, offset 0x21740 + 0x21742: 0x6c768c20, + 0x21744: 0x6c08e820, 0x21746: 0x6cc11c20, + 0x2174f: 0x6ce56620, + 0x21751: 0x6c1f6c20, + 0x21758: 0x6c714a20, 0x2175a: 0x6cf69620, + 0x2175e: 0x6c8c5e20, + 0x2176d: 0x6c1bca20, 0x2176e: 0x6c5f7e20, + 0x21774: 0x6c917a20, + 0x21778: 0x6c876220, + 0x2177e: 0x6c73c820, + // Block 0x85e, offset 0x21780 + 0x21785: 0x6d397c20, 0x21786: 0x6c921020, + 0x2178e: 0x6ca7f620, + 0x21794: 0x6cc2c020, + 0x217ad: 0x6d0b6820, 0x217af: 0x6c35c220, + 0x217b1: 0x6c564020, + // Block 0x85f, offset 0x217c0 + 0x217c0: 0x6c982620, + 0x217c9: 0x6cf4a020, + 0x217cc: 0x6c137620, + 0x217d1: 0x6cbd1820, 0x217d2: 0x6c6a6220, 0x217d3: 0x6c52f420, + 0x217d5: 0x6c27b620, 0x217d6: 0x6c371c20, 0x217d7: 0x6d2b3a20, + 0x217d8: 0x6c565220, 0x217d9: 0x6c020e20, 0x217da: 0x6c6bb220, 0x217db: 0x6c3faa20, + 0x217dc: 0x6d1e7020, 0x217de: 0x6c3c1a20, + 0x217ec: 0x6ca26620, + 0x217f6: 0x6ccb1620, 0x217f7: 0x6c238a20, + 0x217fb: 0x6c772220, + // Block 0x860, offset 0x21800 + 0x21802: 0x6d11ea20, 0x21803: 0x6c008c20, + 0x21804: 0x6c05a620, 0x21806: 0x6cb34c20, + 0x21808: 0x6cd2b820, 0x21809: 0x6c392a20, 0x2180b: 0x6c70f420, + 0x2180c: 0x6cafb420, 0x2180e: 0x6cf07420, 0x2180f: 0x6c7a2220, + 0x21810: 0x6cbc8620, 0x21811: 0x6c417220, + 0x21822: 0x6c7be220, 0x21823: 0x6cdc2420, + 0x21824: 0x6c07d620, 0x21825: 0x6c632820, 0x21826: 0x6d0b8020, + 0x2182a: 0x6c76fe20, 0x2182b: 0x6ca7f820, + 0x2182d: 0x6d03cc20, 0x2182f: 0x6cf85c20, + 0x21831: 0x6c8c4a20, 0x21832: 0x6c347e20, + 0x21834: 0x6c159a20, + // Block 0x861, offset 0x21840 + 0x21848: 0x6cd32e20, 0x2184b: 0x6c334020, + 0x2184d: 0x6c675020, 0x2184e: 0x6d222a20, 0x2184f: 0x6c922020, + 0x21850: 0x6c372020, 0x21853: 0x6c476420, + 0x21855: 0x6cefa020, 0x21856: 0x6c17d620, 0x21857: 0x6c590020, + 0x21858: 0x6c0ce220, 0x2185b: 0x6c4e9420, + 0x2185c: 0x6ce99e20, 0x2185d: 0x6ca32420, 0x2185e: 0x6cb6e620, + 0x21860: 0x6ce7e820, 0x21861: 0x6d24d220, 0x21862: 0x6cede020, + 0x21864: 0x6cf3b020, 0x21865: 0x6c434220, + 0x21868: 0x6c792e20, 0x2186a: 0x6d14ba20, + 0x21878: 0x6cfe9a20, 0x2187a: 0x6c4ae420, 0x2187b: 0x6d0b8c20, + 0x2187c: 0x6cdc2e20, 0x2187d: 0x6cd95420, 0x2187f: 0x6d3d3820, + // Block 0x862, offset 0x21880 + 0x21882: 0x6ce84a20, 0x21883: 0x6cfbf420, + 0x21888: 0x6d2b4420, 0x21889: 0x6c85c620, + 0x2188c: 0x6d3acc20, 0x2188e: 0x6c6aa220, + 0x21891: 0x6ce3e820, + 0x21894: 0x6d009c20, 0x21895: 0x6cbf1220, 0x21897: 0x6d0b9420, + 0x21898: 0x6c708620, 0x2189b: 0x6d1a5a20, + 0x2189c: 0x6d345220, 0x2189e: 0x6c76d020, 0x2189f: 0x6d3e2220, + 0x218a1: 0x6c77f420, 0x218a3: 0x6ca81220, + 0x218a4: 0x6cbb0620, 0x218a5: 0x6ced0220, 0x218a6: 0x6d2abc20, + 0x218a8: 0x6c708820, 0x218aa: 0x6d3f4220, + // Block 0x863, offset 0x218c0 + 0x218c4: 0x6d0b9620, 0x218c7: 0x6c8bae20, + 0x218c9: 0x6cb5c020, + 0x218ce: 0x6c5b3420, + 0x218d3: 0x6cb77a20, + 0x218d5: 0x6d0fa820, 0x218d6: 0x6cdc3620, + 0x218d8: 0x6cb6f220, 0x218d9: 0x6c4a5620, + 0x218e2: 0x6cbe1020, 0x218e3: 0x6c353e20, + 0x218e5: 0x6d429820, + 0x218e8: 0x6d2b4820, 0x218e9: 0x6cb77c20, 0x218ea: 0x6c602e20, + 0x218ec: 0x6ceb2020, 0x218ed: 0x6c2e9c20, 0x218ef: 0x6c5bbe20, + 0x218f0: 0x6c98e420, 0x218f2: 0x6d063e20, + 0x218f5: 0x6c53fe20, 0x218f6: 0x6d0d7c20, 0x218f7: 0x6cfdc220, + 0x218f8: 0x6c231020, 0x218f9: 0x6c555820, + 0x218fc: 0x6c01c020, 0x218fe: 0x6c0de420, + // Block 0x864, offset 0x21900 + 0x21907: 0x6c348e20, + 0x21910: 0x6d3a6a20, 0x21911: 0x6c2e9e20, 0x21912: 0x6d1ea220, 0x21913: 0x6cb6fa20, + 0x21914: 0x6cd26820, 0x21915: 0x6d099a20, 0x21916: 0x6d1ea420, 0x21917: 0x6c76ae20, + 0x21918: 0x6cbc2420, 0x2191b: 0x6cbab620, + 0x2191c: 0x6cae3e20, 0x2191f: 0x6cc2ee20, + 0x21921: 0x6d1c6e20, + 0x21927: 0x6ccbf220, + 0x2192b: 0x6ce1d020, + 0x2192d: 0x6c53c020, 0x2192e: 0x6cb06220, 0x2192f: 0x6d110a20, + 0x21934: 0x6ce8bc20, 0x21935: 0x6c148220, 0x21937: 0x6cfa3c20, + 0x21938: 0x6cb5f620, 0x2193a: 0x6cbf3a20, + 0x2193d: 0x6c6d1220, + // Block 0x865, offset 0x21940 + 0x21948: 0x6d316020, + 0x2194c: 0x6d39ae20, 0x2194e: 0x6cf64420, + 0x21950: 0x6cf22a20, 0x21951: 0x6d37f820, + 0x21955: 0x6cdc4420, + 0x21958: 0x6c781020, 0x21959: 0x6c7e0c20, 0x2195a: 0x6c777220, + 0x2195d: 0x6c176c20, 0x2195e: 0x6c09f020, 0x2195f: 0x6ca13a20, + 0x21960: 0x6d3b1220, 0x21961: 0x6c4edc20, 0x21962: 0x6d227820, 0x21963: 0x6d153220, + 0x21964: 0x6c966c20, 0x21967: 0x6cb7aa20, + 0x21968: 0x6c4c0020, 0x21969: 0x6c97e420, 0x2196a: 0x6c89f420, 0x2196b: 0x6c8bc020, + 0x2196c: 0x6d40c620, 0x2196d: 0x6c82cc20, 0x2196e: 0x6c56b220, 0x2196f: 0x6c209220, + 0x21970: 0x6cb7ac20, 0x21971: 0x6c824420, + // Block 0x866, offset 0x21980 + 0x21981: 0x6c1ac420, 0x21983: 0x6cb33020, + 0x21984: 0x6c2eca20, + 0x2198a: 0x6c82ce20, + 0x2198e: 0x6d160420, + 0x21993: 0x6c2d7620, + 0x21996: 0x6c33a420, 0x21997: 0x6c42d620, + 0x21998: 0x6c54f220, 0x2199a: 0x6cff0020, 0x2199b: 0x6c40ca20, + 0x2199c: 0x6cae8020, + 0x219ac: 0x6cd06a20, + 0x219b1: 0x6cef2a20, + 0x219bb: 0x6c335820, + 0x219bc: 0x6c177220, 0x219bd: 0x6d1b0420, 0x219be: 0x6c7b3a20, 0x219bf: 0x6c7a6020, + // Block 0x867, offset 0x219c0 + 0x219c1: 0x6d41ce20, 0x219c2: 0x6c47ca20, + 0x219c5: 0x6d285420, 0x219c6: 0x6d36da20, + 0x219c9: 0x6c629420, 0x219ca: 0x6c199020, + 0x219d6: 0x6d020e20, + 0x219db: 0x6d419e20, + 0x219dc: 0x6c017420, 0x219dd: 0x6c4fb220, + 0x219e0: 0x6cb36020, 0x219e2: 0x6c2b9820, 0x219e3: 0x6d135820, + 0x219e7: 0x6ca4c420, + 0x219f1: 0x6c6b4220, 0x219f2: 0x6c059220, 0x219f3: 0x6c804020, + 0x219f4: 0x6c124820, 0x219f6: 0x6c0a6620, + 0x219fb: 0x6d2e1a20, + 0x219fc: 0x6cb7e620, + // Block 0x868, offset 0x21a00 + 0x21a02: 0x6ca4c620, + 0x21a05: 0x6c940c20, 0x21a07: 0x6c7c0a20, + 0x21a09: 0x6ca08420, 0x21a0b: 0x6c82e620, + 0x21a0c: 0x6cad7420, + 0x21a12: 0x6c86c420, 0x21a13: 0x6c136420, + 0x21a15: 0x6c299820, 0x21a16: 0x6c82e820, + 0x21a19: 0x6c36cc20, 0x21a1b: 0x6c086020, + 0x21a1c: 0x6c74e820, + 0x21a25: 0x6d083420, 0x21a26: 0x6ca89420, + 0x21a28: 0x6c4d7c20, + 0x21a2e: 0x6cfc4220, + 0x21a30: 0x6c661620, 0x21a31: 0x6c9c9e20, 0x21a32: 0x6ca8a020, + 0x21a3b: 0x6c124a20, + 0x21a3c: 0x6cd97820, 0x21a3d: 0x6d2ba820, 0x21a3e: 0x6d194220, + // Block 0x869, offset 0x21a40 + 0x21a42: 0x6c1d3020, + 0x21a44: 0x6c125020, + 0x21a49: 0x6c830620, 0x21a4a: 0x6caad220, 0x21a4b: 0x6c876420, + 0x21a4e: 0x6c84ba20, 0x21a4f: 0x6c957220, + 0x21a53: 0x6ce18a20, + 0x21a56: 0x6ca8c420, 0x21a57: 0x6ca8c620, + 0x21a59: 0x6c5fae20, 0x21a5b: 0x6c831220, + 0x21a5d: 0x6ca48020, + 0x21a60: 0x6c8c1420, 0x21a61: 0x6c8dce20, + 0x21a64: 0x6cfbe220, 0x21a65: 0x6d24a820, 0x21a67: 0x6d28ec20, + 0x21a68: 0x6cc34a20, 0x21a69: 0x6c8ac020, + 0x21a6f: 0x6d22ce20, + 0x21a70: 0x6c597620, + 0x21a7a: 0x6ca4de20, + 0x21a7c: 0x6d0a7820, 0x21a7e: 0x6c711020, 0x21a7f: 0x6c5dbc20, + // Block 0x86a, offset 0x21a80 + 0x21a81: 0x6d179420, + 0x21a8a: 0x6cf71420, 0x21a8b: 0x6ccb8a20, + 0x21a8c: 0x6c697020, 0x21a8d: 0x6d1de020, + 0x21a95: 0x6cd18c20, 0x21a96: 0x6c6d8420, 0x21a97: 0x6ced6e20, + 0x21a98: 0x6d129e20, 0x21a99: 0x6c6f4420, + 0x21a9c: 0x6c45d020, + 0x21aa1: 0x6c5aa020, + 0x21aaa: 0x6c37a420, + 0x21ab5: 0x6c4e7a20, + 0x21abc: 0x6c3e3020, + // Block 0x86b, offset 0x21ac0 + 0x21ac0: 0x6c3e4a20, 0x21ac1: 0x6d3d4a20, 0x21ac2: 0x6c5eb620, + 0x21acf: 0x6c053a20, + 0x21ad2: 0x6cb56620, 0x21ad3: 0x6cd2a620, + 0x21ad5: 0x6c2df420, 0x21ad6: 0x6cadfa20, 0x21ad7: 0x6cfbe420, + 0x21ad8: 0x6cc9f620, + 0x21add: 0x6c169220, 0x21ade: 0x6d264620, + 0x21ae0: 0x6c455820, 0x21ae2: 0x6cf34220, + 0x21ae4: 0x6c3b0a20, 0x21ae7: 0x6c159020, + 0x21ae9: 0x6ca58420, 0x21aea: 0x6c73d820, + 0x21aec: 0x6d2f8220, 0x21aee: 0x6cb96c20, + 0x21af1: 0x6c029820, + 0x21af6: 0x6cedf820, 0x21af7: 0x6d379020, + 0x21af9: 0x6c597820, 0x21afb: 0x6c106620, + 0x21afc: 0x6d3a5a20, 0x21afd: 0x6c092e20, 0x21afe: 0x6c173620, 0x21aff: 0x6d328620, + // Block 0x86c, offset 0x21b00 + 0x21b00: 0x6c3de620, 0x21b01: 0x6c79b820, 0x21b03: 0x6d422c20, + 0x21b04: 0x6d086c20, 0x21b06: 0x6c3fb220, + 0x21b0a: 0x6d118a20, + 0x21b0d: 0x6c0e4e20, 0x21b0f: 0x6c06e220, + 0x21b10: 0x6d007c20, 0x21b11: 0x6cd33020, 0x21b12: 0x6d149620, + 0x21b14: 0x6c531020, 0x21b15: 0x6c251c20, 0x21b17: 0x6d16e620, + 0x21b18: 0x6d3b7620, + 0x21b1d: 0x6c1bf620, + 0x21b24: 0x6cb2fe20, + 0x21b28: 0x6d1a3a20, + 0x21b31: 0x6d260a20, + 0x21b36: 0x6c6edc20, + 0x21b39: 0x6c995c20, 0x21b3a: 0x6cba4820, + 0x21b3c: 0x6d172420, + // Block 0x86d, offset 0x21b40 + 0x21b40: 0x6cf3b220, + 0x21b4d: 0x6c069820, 0x21b4e: 0x6c5dbe20, 0x21b4f: 0x6c239420, + 0x21b50: 0x6c797220, + 0x21b55: 0x6cde4820, 0x21b57: 0x6c4ea620, + 0x21b58: 0x6cba4e20, + 0x21b5c: 0x6d345420, + 0x21b62: 0x6ccb2420, + 0x21b65: 0x6cb8d620, 0x21b66: 0x6c4cb420, + 0x21b69: 0x6c4bbe20, + 0x21b6c: 0x6c649820, 0x21b6d: 0x6d37b820, 0x21b6e: 0x6c9e2220, 0x21b6f: 0x6c4afa20, + 0x21b70: 0x6cd37e20, 0x21b71: 0x6ca1d220, 0x21b72: 0x6c363220, 0x21b73: 0x6c039e20, + 0x21b74: 0x6c7e7220, + 0x21b78: 0x6d392820, 0x21b7a: 0x6c603020, + // Block 0x86e, offset 0x21b80 + 0x21b80: 0x6d2a4a20, + 0x21b84: 0x6d2bd820, 0x21b85: 0x6d179820, 0x21b87: 0x6c468420, + 0x21b8a: 0x6c4a6e20, 0x21b8b: 0x6d1bc420, + 0x21b8c: 0x6ccc9820, 0x21b8d: 0x6c513420, 0x21b8e: 0x6c057820, 0x21b8f: 0x6ca12a20, + 0x21b90: 0x6c9b1e20, 0x21b93: 0x6cf4fe20, + 0x21b94: 0x6c277620, 0x21b97: 0x6c6f1620, + 0x21b9c: 0x6c4ed020, 0x21b9f: 0x6ce70220, + 0x21ba0: 0x6c79be20, 0x21ba1: 0x6c841220, 0x21ba2: 0x6d368220, 0x21ba3: 0x6c5bf420, + 0x21ba4: 0x6d296e20, 0x21ba6: 0x6c2dfc20, 0x21ba7: 0x6c244420, + 0x21bb1: 0x6d368420, 0x21bb3: 0x6c7adc20, + 0x21bb5: 0x6cfe4a20, 0x21bb6: 0x6c57ba20, 0x21bb7: 0x6c8a0c20, + 0x21bb8: 0x6c255620, 0x21bb9: 0x6cbb9a20, 0x21bba: 0x6c692420, + 0x21bbc: 0x6d05d020, 0x21bbd: 0x6c37da20, 0x21bbf: 0x6cead020, + // Block 0x86f, offset 0x21bc0 + 0x21bc0: 0x6ce00020, 0x21bc1: 0x6d36a820, + 0x21bc8: 0x6ca51020, 0x21bc9: 0x6c99ac20, 0x21bca: 0x6c2c8c20, 0x21bcb: 0x6c135820, + 0x21bce: 0x6c693a20, 0x21bcf: 0x6c884820, + 0x21bd1: 0x6ccc1820, 0x21bd2: 0x6c28aa20, + 0x21bd5: 0x6cdc6c20, 0x21bd6: 0x6c884a20, 0x21bd7: 0x6c4cf020, + 0x21bda: 0x6c0c7c20, + 0x21bdc: 0x6c22e220, 0x21bdd: 0x6c2d7e20, 0x21bde: 0x6c93fc20, 0x21bdf: 0x6ca64e20, + 0x21be0: 0x6d0dda20, 0x21be1: 0x6c7fbc20, + 0x21be4: 0x6c415620, 0x21be5: 0x6c1eb420, + 0x21be9: 0x6c0a8820, 0x21bea: 0x6d40ea20, 0x21beb: 0x6c5c6620, + 0x21bed: 0x6c7f4220, 0x21bee: 0x6cfbba20, 0x21bef: 0x6c3bfc20, + 0x21bf0: 0x6c520220, + 0x21bf9: 0x6d124020, 0x21bfa: 0x6d2e3220, + 0x21bfc: 0x6ca56620, 0x21bfe: 0x6c95d020, + // Block 0x870, offset 0x21c00 + 0x21c00: 0x6d25d620, 0x21c02: 0x6ca5ac20, + 0x21c09: 0x6cc58220, + 0x21c1c: 0x6c43e820, 0x21c1e: 0x6c65a820, 0x21c1f: 0x6cb2b420, + 0x21c23: 0x6c0d1620, + 0x21c26: 0x6c66d020, + 0x21c29: 0x6c0e2e20, + 0x21c2f: 0x6c9d1820, + 0x21c30: 0x6c563420, + 0x21c34: 0x6c2df220, 0x21c36: 0x6d1e8c20, 0x21c37: 0x6d108c20, + 0x21c38: 0x6c07d020, 0x21c3a: 0x6c189820, 0x21c3b: 0x6c5e8c20, + 0x21c3d: 0x6d108e20, + // Block 0x871, offset 0x21c40 + 0x21c47: 0x6c491020, + 0x21c48: 0x6d0e5e20, + 0x21c55: 0x6c1bc820, 0x21c57: 0x6ccc3a20, + 0x21c58: 0x6d0d3820, 0x21c59: 0x6d165e20, 0x21c5a: 0x6d166020, 0x21c5b: 0x6c17fc20, + 0x21c5e: 0x6c4e8220, 0x21c5f: 0x6c597420, + 0x21c64: 0x6cd71020, 0x21c65: 0x6cdc2220, 0x21c66: 0x6cc56820, 0x21c67: 0x6cdfcc20, + 0x21c68: 0x6d34e420, 0x21c6a: 0x6c391e20, 0x21c6b: 0x6c3cc620, + 0x21c70: 0x6cdfce20, 0x21c72: 0x6c9c3620, 0x21c73: 0x6cafb620, + 0x21c74: 0x6c106820, 0x21c75: 0x6ca30e20, 0x21c76: 0x6ce48220, 0x21c77: 0x6c036620, + 0x21c78: 0x6d16b020, + // Block 0x872, offset 0x21c80 + 0x21c82: 0x6d0d4820, + 0x21c84: 0x6ce54c20, 0x21c86: 0x6d10ce20, 0x21c87: 0x6cd04c20, + 0x21c88: 0x6c77dc20, 0x21c89: 0x6ce72420, 0x21c8b: 0x6d084420, + 0x21c93: 0x6d202820, + 0x21c95: 0x6c043a20, + 0x21c99: 0x6cf9a220, 0x21c9a: 0x6c938420, 0x21c9b: 0x6c7dce20, + 0x21c9c: 0x6d29d220, 0x21c9d: 0x6cc02c20, + 0x21ca0: 0x6c243020, 0x21ca1: 0x6d416a20, 0x21ca2: 0x6c90e020, + 0x21ca4: 0x6cf9a420, + 0x21caf: 0x6ccfca20, + 0x21cb2: 0x6cb43020, + 0x21cb4: 0x6c6da620, 0x21cb5: 0x6cbaae20, 0x21cb6: 0x6d175820, + 0x21cb8: 0x6ca81420, 0x21cb9: 0x6c32fc20, 0x21cbb: 0x6c6ab420, + 0x21cbc: 0x6cdc3820, 0x21cbd: 0x6d2e5820, 0x21cbe: 0x6c23e420, + // Block 0x873, offset 0x21cc0 + 0x21cc1: 0x6c07e420, 0x21cc2: 0x6c491220, 0x21cc3: 0x6ccf2a20, + 0x21cc5: 0x6c6cfe20, 0x21cc6: 0x6c2c3e20, + 0x21cd1: 0x6c27d220, 0x21cd3: 0x6ca3a220, + 0x21cd5: 0x6ca9fc20, 0x21cd7: 0x6c601820, + 0x21cd8: 0x6d0c8220, 0x21cda: 0x6caa2020, + 0x21cdc: 0x6c325a20, 0x21cdd: 0x6cf09020, 0x21cde: 0x6cb0f420, + 0x21ce2: 0x6c555a20, + 0x21ce4: 0x6c644020, 0x21ce5: 0x6d12ee20, 0x21ce6: 0x6c759220, 0x21ce7: 0x6c7f9c20, + 0x21ce8: 0x6c7e7420, 0x21ce9: 0x6d19de20, + 0x21ced: 0x6ce9a220, + 0x21cf5: 0x6ca4f620, + 0x21cfa: 0x6d411c20, + 0x21cff: 0x6c96c220, + // Block 0x874, offset 0x21d00 + 0x21d00: 0x6cd7f020, 0x21d01: 0x6d365420, + 0x21d04: 0x6c5ac020, 0x21d05: 0x6d3c8e20, 0x21d07: 0x6c5bd820, + 0x21d0d: 0x6c1e8c20, 0x21d0f: 0x6c182420, + 0x21d12: 0x6d04da20, 0x21d13: 0x6c7fa220, + 0x21d15: 0x6c232620, 0x21d16: 0x6cd0bc20, 0x21d17: 0x6ca13c20, + 0x21d18: 0x6d140220, 0x21d19: 0x6d111a20, 0x21d1a: 0x6cf7fa20, 0x21d1b: 0x6d419020, + 0x21d1c: 0x6c0e2820, + 0x21d27: 0x6d216c20, + 0x21d29: 0x6c927e20, + 0x21d2e: 0x6ce9b620, 0x21d2f: 0x6ceffe20, + 0x21d31: 0x6c3b8820, 0x21d32: 0x6cd06c20, + 0x21d3b: 0x6c8a0e20, + // Block 0x875, offset 0x21d40 + 0x21d42: 0x6cd56a20, 0x21d43: 0x6c284220, + 0x21d44: 0x6c732620, 0x21d45: 0x6d21a020, 0x21d46: 0x6d034a20, 0x21d47: 0x6d114220, + 0x21d48: 0x6cda5820, + 0x21d52: 0x6c5d8020, + 0x21d54: 0x6cb92220, + 0x21d5a: 0x6c967c20, + 0x21d5d: 0x6c767020, + 0x21d61: 0x6c91e620, 0x21d63: 0x6d1ebc20, + 0x21d6e: 0x6cfd2e20, + 0x21d79: 0x6cf40620, 0x21d7b: 0x6d1b2020, + 0x21d7c: 0x6cf72c20, 0x21d7f: 0x6d2d0820, + // Block 0x876, offset 0x21d80 + 0x21d80: 0x6d027020, + 0x21d84: 0x6cc1fa20, + 0x21d88: 0x6c84be20, + 0x21d8d: 0x6cb95820, + 0x21d94: 0x6c8dd020, 0x21d95: 0x6c947820, + 0x21d9a: 0x6c14b220, + 0x21da6: 0x6d334420, + 0x21da8: 0x6d0c8420, + 0x21db2: 0x6d1b3820, 0x21db3: 0x6c7c5c20, + 0x21db7: 0x6cc0d220, + 0x21db9: 0x6c3dd820, 0x21dbb: 0x6d22d420, + // Block 0x877, offset 0x21dc0 + 0x21dc1: 0x6cb57e20, + 0x21dc6: 0x6cb75620, 0x21dc7: 0x6c61a620, + 0x21dc8: 0x6d24ce20, + 0x21dce: 0x6c434420, 0x21dcf: 0x6c734820, + 0x21dd1: 0x6cb5a020, 0x21dd3: 0x6c411020, + 0x21dd5: 0x6cc37220, + 0x21dda: 0x6cf09220, + 0x21de7: 0x6d368620, + 0x21deb: 0x6c65ba20, + 0x21ded: 0x6cd8d620, + 0x21df0: 0x6d188c20, 0x21df1: 0x6cb91c20, + 0x21dfc: 0x6c856220, 0x21dff: 0x6d29ce20, + // Block 0x878, offset 0x21e00 + 0x21e00: 0x6d168020, 0x21e02: 0x6c110620, 0x21e03: 0x6d168220, + 0x21e04: 0x6c437220, 0x21e06: 0x6c2e6e20, + 0x21e08: 0x6d33a420, 0x21e09: 0x6d16ec20, 0x21e0b: 0x6d28fa20, + 0x21e0c: 0x6c275220, 0x21e0e: 0x6cdab220, + 0x21e14: 0x6c6b4420, 0x21e15: 0x6c193820, 0x21e16: 0x6cc1fc20, + 0x21e18: 0x6c4e7820, 0x21e19: 0x6cfb1e20, + 0x21e20: 0x6cc2ae20, 0x21e21: 0x6c6a5620, + 0x21e25: 0x6c733820, + 0x21e2a: 0x6c285c20, + 0x21e2d: 0x6c6c2420, + 0x21e34: 0x6c0da820, 0x21e35: 0x6c551a20, + 0x21e39: 0x6c73da20, 0x21e3b: 0x6d20b020, + // Block 0x879, offset 0x21e40 + 0x21e43: 0x6c84fa20, + 0x21e44: 0x6cbb0420, 0x21e45: 0x6cd70620, 0x21e46: 0x6c7a2420, + 0x21e48: 0x6d31b620, + 0x21e4d: 0x6c3de820, 0x21e4e: 0x6ccfac20, + 0x21e52: 0x6c20c020, + 0x21e55: 0x6ce72620, 0x21e57: 0x6d16ee20, + 0x21e59: 0x6d0f9220, + 0x21e5c: 0x6ceafa20, 0x21e5d: 0x6d385e20, 0x21e5e: 0x6c5ff220, + 0x21e64: 0x6d0a7a20, 0x21e66: 0x6cd05220, 0x21e67: 0x6d078820, + 0x21e6d: 0x6c8e4820, 0x21e6e: 0x6d24dc20, 0x21e6f: 0x6c554220, + 0x21e70: 0x6d334820, 0x21e73: 0x6cae6620, + 0x21e77: 0x6c742220, + // Block 0x87a, offset 0x21e80 + 0x21e82: 0x6d362020, 0x21e83: 0x6cb0f620, + 0x21e84: 0x6d261820, 0x21e86: 0x6c649a20, + 0x21e8a: 0x6cad0220, + 0x21e8e: 0x6d3bca20, + 0x21e90: 0x6cfb6e20, 0x21e92: 0x6c080220, + 0x21e94: 0x6c232820, 0x21e96: 0x6ca13e20, + 0x21e9a: 0x6c4c7420, + 0x21e9e: 0x6c1a3420, 0x21e9f: 0x6cbb9c20, + 0x21ea6: 0x6c0a4a20, + 0x21ea9: 0x6cbb4820, 0x21eab: 0x6d38aa20, + 0x21eb2: 0x6c38d020, 0x21eb3: 0x6c0cc420, + 0x21ebe: 0x6c0fa020, 0x21ebf: 0x6cc73220, + // Block 0x87b, offset 0x21ec0 + 0x21ec5: 0x6c2f8820, 0x21ec6: 0x6cc32e20, 0x21ec7: 0x6c703c20, + 0x21ec8: 0x6d117420, + 0x21ed3: 0x6cf98620, + 0x21ed6: 0x6d2a3e20, + 0x21edd: 0x6c27c820, 0x21edf: 0x6cf44420, + 0x21ee0: 0x6ceb1420, 0x21ee2: 0x6c54c820, + 0x21ee7: 0x6cf64620, + 0x21eec: 0x6c7f1a20, 0x21eee: 0x6c3a1620, + 0x21ef9: 0x6c55ec20, + // Block 0x87c, offset 0x21f00 + 0x21f06: 0x6cfa7220, + 0x21f09: 0x6ccd2c20, + 0x21f0d: 0x6c3a8420, + 0x21f10: 0x6c261820, 0x21f12: 0x6c3e3220, + 0x21f14: 0x6c1f3020, + 0x21f1d: 0x6c2fd020, 0x21f1e: 0x6c807020, + 0x21f29: 0x6cf7fc20, + 0x21f2f: 0x6c0c1420, + 0x21f30: 0x6d23e820, 0x21f31: 0x6cdc6e20, 0x21f32: 0x6cf80c20, + 0x21f37: 0x6cb3e620, + 0x21f3e: 0x6c697c20, + // Block 0x87d, offset 0x21f40 + 0x21f40: 0x6d166420, 0x21f43: 0x6cecb820, + 0x21f44: 0x6c611e20, 0x21f46: 0x6cecc620, 0x21f47: 0x6ce9f220, + 0x21f4b: 0x6c021020, + 0x21f4d: 0x6ce45820, 0x21f4e: 0x6c1b0020, + 0x21f52: 0x6cc46220, + 0x21f54: 0x6cc96820, 0x21f55: 0x6d1a2c20, 0x21f56: 0x6caf3420, 0x21f57: 0x6c228e20, + 0x21f58: 0x6ce71a20, 0x21f59: 0x6d1ace20, + 0x21f5c: 0x6c43c820, 0x21f5d: 0x6ce55020, 0x21f5e: 0x6d329620, 0x21f5f: 0x6d390c20, + 0x21f61: 0x6d149820, 0x21f62: 0x6c7ae420, 0x21f63: 0x6cd90c20, + 0x21f67: 0x6c2c2820, + 0x21f6c: 0x6d008820, 0x21f6e: 0x6cfe9e20, 0x21f6f: 0x6c4a1c20, + 0x21f70: 0x6ceb7420, 0x21f71: 0x6c3c3620, 0x21f72: 0x6cf3b420, + 0x21f75: 0x6d053220, + 0x21f7f: 0x6d1f1620, + // Block 0x87e, offset 0x21f80 + 0x21f81: 0x6c8ce020, 0x21f82: 0x6d0e6020, + 0x21f85: 0x6c2ff620, 0x21f86: 0x6cb77e20, 0x21f87: 0x6ce21a20, + 0x21f88: 0x6c4dfc20, 0x21f8a: 0x6c1b1c20, 0x21f8b: 0x6cd91820, + 0x21f91: 0x6cc35820, + 0x21f94: 0x6c4ea820, + 0x21f9f: 0x6cc77820, + 0x21fa0: 0x6cb78e20, 0x21fa1: 0x6c762c20, 0x21fa2: 0x6d211e20, 0x21fa3: 0x6c139a20, + 0x21fa4: 0x6c1a8220, 0x21fa5: 0x6d233a20, 0x21fa7: 0x6c0e2020, + 0x21fa9: 0x6c231220, 0x21faa: 0x6d39a420, + 0x21fac: 0x6d235420, + 0x21fb1: 0x6c744a20, 0x21fb2: 0x6c8f3620, 0x21fb3: 0x6ccab220, + 0x21fb4: 0x6d236820, + // Block 0x87f, offset 0x21fc0 + 0x21fc5: 0x6cd66820, + 0x21fcb: 0x6d262020, + 0x21fce: 0x6d2eba20, + 0x21fd1: 0x6cd66a20, 0x21fd3: 0x6c1ee420, + 0x21fd4: 0x6d2ec620, 0x21fd5: 0x6cca2020, 0x21fd6: 0x6cfabe20, + 0x21fd8: 0x6c24d820, 0x21fd9: 0x6c9bde20, 0x21fda: 0x6c2b7c20, + 0x21fde: 0x6d368820, 0x21fdf: 0x6c02de20, + 0x21fe6: 0x6d04e020, + 0x21fe8: 0x6cb11e20, 0x21fea: 0x6c69bc20, 0x21feb: 0x6c7b6c20, + 0x21fec: 0x6cc98620, 0x21fed: 0x6cfcf420, 0x21fee: 0x6d2cda20, 0x21fef: 0x6c2d7820, + 0x21ff7: 0x6d154420, + 0x21ffa: 0x6c5c2e20, 0x21ffb: 0x6ccda620, + // Block 0x880, offset 0x22000 + 0x22004: 0x6c1d2220, 0x22005: 0x6d156220, 0x22006: 0x6d021220, 0x22007: 0x6d36dc20, + 0x22008: 0x6ce5e020, 0x2200a: 0x6cb26c20, 0x2200b: 0x6cfbb020, + 0x2200e: 0x6cfadc20, 0x2200f: 0x6cdb4c20, + 0x22011: 0x6c24a020, + 0x22017: 0x6cd97220, + 0x2201b: 0x6c522820, + 0x2201d: 0x6cfd3a20, 0x2201f: 0x6d1f8e20, + 0x22021: 0x6d246420, + 0x22024: 0x6cdf5220, 0x22026: 0x6c751820, 0x22027: 0x6ca48220, + 0x22029: 0x6c2cba20, 0x2202b: 0x6d164820, + 0x2202c: 0x6c090620, + 0x22033: 0x6d056220, + 0x22034: 0x6d166820, 0x22035: 0x6cc81020, 0x22037: 0x6c455a20, + 0x2203a: 0x6d166a20, + 0x2203f: 0x6d356e20, + // Block 0x881, offset 0x22040 + 0x22040: 0x6d02a420, 0x22042: 0x6c617820, + 0x22044: 0x6cfa2c20, + 0x22048: 0x6d2f4e20, 0x22049: 0x6ca54620, 0x2204a: 0x6d015620, + 0x2204e: 0x6d168620, + 0x2206b: 0x6c3f3420, + 0x2206d: 0x6ccf3420, 0x2206f: 0x6d253c20, + 0x22070: 0x6c390420, 0x22072: 0x6c3d3c20, 0x22073: 0x6cf4a820, + 0x22074: 0x6cf57c20, 0x22075: 0x6c539c20, + 0x22079: 0x6c618220, 0x2207a: 0x6c170420, + 0x2207f: 0x6ca0ca20, + // Block 0x882, offset 0x22080 + 0x22080: 0x6cae0820, 0x22083: 0x6ca20e20, + 0x22084: 0x6cc00420, 0x22085: 0x6c994a20, 0x22087: 0x6c268020, + 0x22089: 0x6cf98c20, 0x2208a: 0x6ccfae20, 0x2208b: 0x6ce26c20, + 0x2208c: 0x6c530220, 0x2208d: 0x6c093620, + 0x2209d: 0x6ca62620, 0x2209f: 0x6cbbd220, + 0x220a7: 0x6cc84e20, + 0x220b8: 0x6c67d820, 0x220b9: 0x6c138420, 0x220ba: 0x6c9ce220, + 0x220bd: 0x6d16f020, 0x220bf: 0x6cdd0a20, + // Block 0x883, offset 0x220c0 + 0x220c1: 0x6cf4c220, 0x220c2: 0x6d078420, + 0x220c5: 0x6cf76c20, 0x220c7: 0x6d15d020, + 0x220d0: 0x6ca49a20, 0x220d3: 0x6cf07820, + 0x220ee: 0x6c770220, + 0x220f1: 0x6c906020, 0x220f2: 0x6c938620, 0x220f3: 0x6d3c2a20, + 0x220fa: 0x6d35b420, + 0x220fc: 0x6d042220, 0x220fe: 0x6c44f820, 0x220ff: 0x6c6ce620, + // Block 0x884, offset 0x22100 + 0x22100: 0x6cfca420, 0x22101: 0x6c61c820, 0x22102: 0x6c261a20, + 0x22104: 0x6c815020, 0x22105: 0x6c3bb820, 0x22106: 0x6c722a20, + 0x2210b: 0x6c9eb220, + 0x2210c: 0x6cf9a620, + 0x22111: 0x6cda8c20, + 0x22128: 0x6d35b620, 0x2212a: 0x6c567e20, 0x2212b: 0x6c79e220, + 0x2212d: 0x6cdd5820, 0x2212e: 0x6ca68e20, + 0x2213a: 0x6ce28c20, 0x2213b: 0x6d3ace20, + // Block 0x885, offset 0x22140 + 0x22141: 0x6c269820, 0x22143: 0x6cc04420, + 0x22144: 0x6d0b9820, 0x22146: 0x6cfb4820, + 0x22149: 0x6ca58820, + 0x2214d: 0x6d351420, 0x2214e: 0x6c0ce620, + 0x22152: 0x6c1d3a20, 0x22153: 0x6c7f9820, + 0x22154: 0x6c2ff820, 0x22155: 0x6cc43a20, 0x22156: 0x6cfe2e20, + 0x22158: 0x6cff8020, 0x22159: 0x6ced0620, 0x2215a: 0x6cc81420, 0x2215b: 0x6cee5020, + 0x2215c: 0x6ca69820, 0x2215e: 0x6c03fe20, 0x2215f: 0x6d0b9a20, + 0x22165: 0x6cd7e220, 0x22166: 0x6d1ad820, + 0x22168: 0x6d231220, + 0x2216e: 0x6c83b820, 0x2216f: 0x6c5dc020, + // Block 0x886, offset 0x22180 + 0x22197: 0x6c056820, + 0x221a3: 0x6cf5e620, + 0x221a5: 0x6c6f6a20, + 0x221a8: 0x6d01ac20, 0x221a9: 0x6cb8e020, 0x221aa: 0x6caaf820, 0x221ab: 0x6d040020, + 0x221ac: 0x6c344e20, 0x221ad: 0x6c614020, 0x221ae: 0x6cf44a20, 0x221af: 0x6ca21220, + 0x221b0: 0x6d0e6e20, 0x221b1: 0x6cb79020, 0x221b2: 0x6ca2de20, 0x221b3: 0x6c1c1e20, + 0x221b4: 0x6c540220, 0x221b6: 0x6ccaf220, + 0x221b8: 0x6ca4aa20, 0x221bb: 0x6c1a7020, + 0x221bc: 0x6c1a7220, 0x221bd: 0x6c7cd020, 0x221bf: 0x6c644220, + // Block 0x887, offset 0x221c0 + 0x221c0: 0x6ce8ac20, 0x221c2: 0x6c319a20, + 0x221c5: 0x6cf9c220, 0x221c6: 0x6d382e20, 0x221c7: 0x6c5dcc20, + 0x221c8: 0x6c1d1620, 0x221c9: 0x6c26a420, + 0x221cc: 0x6c997c20, 0x221cd: 0x6d120620, + 0x221d3: 0x6c72f220, + 0x221ec: 0x6cd38420, 0x221ef: 0x6d1a6420, + 0x221f3: 0x6c478a20, + 0x221f4: 0x6cf4ec20, + 0x221f8: 0x6c4cee20, 0x221f9: 0x6ce3f620, 0x221fb: 0x6c52a220, + // Block 0x888, offset 0x22200 + 0x22207: 0x6cc54e20, + 0x22209: 0x6d14f420, 0x2220b: 0x6cea7c20, + 0x2220f: 0x6cbf3c20, + 0x22210: 0x6c4d6e20, 0x22212: 0x6cb79e20, + 0x22215: 0x6c5dd820, 0x22216: 0x6ce40020, 0x22217: 0x6caf7020, + 0x2221a: 0x6c451020, + 0x2221c: 0x6d01c420, 0x2221e: 0x6c9d5620, 0x2221f: 0x6c434c20, + 0x22220: 0x6cddf020, 0x22221: 0x6cfdec20, 0x22223: 0x6cd4e620, + 0x22226: 0x6c3e9820, + 0x2222c: 0x6d3b7e20, 0x2222d: 0x6c8f3820, + // Block 0x889, offset 0x22240 + 0x22245: 0x6d1f4420, + 0x2224a: 0x6c1a7820, 0x2224b: 0x6c330620, + 0x22262: 0x6c841420, 0x22263: 0x6d105820, + 0x22264: 0x6c841620, 0x22267: 0x6c91c820, + 0x22268: 0x6ca24e20, 0x22269: 0x6cdc5220, 0x2226a: 0x6c00b620, + 0x2226d: 0x6c79f420, 0x2226f: 0x6d306a20, + 0x22270: 0x6c00b820, 0x22271: 0x6ce2a620, 0x22273: 0x6c93ea20, + 0x22274: 0x6ce9ac20, 0x22275: 0x6c088020, + 0x2227e: 0x6c5bf620, 0x2227f: 0x6c588a20, + // Block 0x88a, offset 0x22280 + 0x2229b: 0x6c7e0e20, + 0x2229d: 0x6d02e020, + 0x222a1: 0x6ccaf420, + 0x222ab: 0x6cd5f020, + 0x222ac: 0x6cc3da20, 0x222ad: 0x6c035620, 0x222ae: 0x6cea0620, + 0x222b2: 0x6c403220, 0x222b3: 0x6c0cba20, + 0x222b5: 0x6ce17e20, 0x222b7: 0x6cfe4c20, + 0x222b9: 0x6cd81420, 0x222ba: 0x6c0f4020, + 0x222bc: 0x6c970020, 0x222bd: 0x6c298020, 0x222bf: 0x6c4b6420, + // Block 0x88b, offset 0x222c0 + 0x222c0: 0x6c522020, 0x222c1: 0x6cf69a20, 0x222c2: 0x6c298220, 0x222c3: 0x6d184e20, + 0x222c5: 0x6c088420, 0x222c7: 0x6c472c20, + 0x222c8: 0x6c255820, 0x222c9: 0x6ccb4420, + 0x222cd: 0x6c441e20, 0x222ce: 0x6d23c220, 0x222cf: 0x6ca2fa20, + 0x222d1: 0x6c865620, 0x222d2: 0x6d36ac20, + 0x222f0: 0x6d2fd420, + 0x222f4: 0x6c5f1220, 0x222f5: 0x6cc87220, + 0x222f9: 0x6c1d5820, + // Block 0x88c, offset 0x22300 + 0x22302: 0x6c6b1820, + 0x2230c: 0x6c172020, 0x2230d: 0x6d307a20, + 0x22312: 0x6cdb1020, 0x22313: 0x6d1db020, + 0x22316: 0x6cb7d420, 0x22317: 0x6d3d9820, + 0x2231a: 0x6c769620, + 0x2231c: 0x6d133c20, 0x2231e: 0x6cb7d620, + 0x22339: 0x6d04a420, + // Block 0x88d, offset 0x22340 + 0x22349: 0x6d141420, 0x2234a: 0x6c1e3020, + 0x2234e: 0x6ce98020, 0x2234f: 0x6c00da20, + 0x22350: 0x6cb1f220, 0x22353: 0x6c8b3620, + 0x22354: 0x6c9dd820, 0x22355: 0x6c00dc20, 0x22357: 0x6ca0ae20, + 0x22358: 0x6cf0e220, 0x22359: 0x6d1d5220, 0x2235a: 0x6ca65020, + 0x2235e: 0x6c0f7420, + 0x22360: 0x6c8f4620, + 0x22373: 0x6cc8e620, + 0x2237b: 0x6c936620, + 0x2237c: 0x6c140c20, 0x2237f: 0x6c1f8620, + // Block 0x88e, offset 0x22380 + 0x22381: 0x6ccb0220, 0x22382: 0x6c847020, + 0x22384: 0x6cd94620, 0x22386: 0x6c86c620, + 0x2238b: 0x6cf90420, + 0x2238d: 0x6d0c3e20, 0x2238e: 0x6c25ce20, + 0x22390: 0x6c8eb620, + 0x22398: 0x6c9b6c20, 0x2239a: 0x6d2e8a20, + 0x223a4: 0x6d3c4c20, 0x223a7: 0x6c9ea620, + 0x223a9: 0x6c86f220, 0x223ab: 0x6c71da20, + 0x223af: 0x6d025220, + 0x223b0: 0x6d025420, 0x223b1: 0x6c904220, 0x223b2: 0x6c8fc220, + // Block 0x88f, offset 0x223c0 + 0x223c2: 0x6ce2c620, 0x223c3: 0x6d3b3820, + 0x223cb: 0x6c155220, + 0x223cc: 0x6cfc4420, 0x223cf: 0x6d1cc220, + 0x223d0: 0x6cae2a20, + 0x223d8: 0x6d012220, 0x223da: 0x6c69dc20, + 0x223de: 0x6c1cf820, + 0x223f3: 0x6c50ae20, + 0x223fd: 0x6cea8420, + // Block 0x890, offset 0x22400 + 0x22405: 0x6c53b220, + 0x22408: 0x6c97b020, 0x2240a: 0x6c6c7a20, + 0x2240c: 0x6cc17020, 0x2240d: 0x6c30d420, 0x2240e: 0x6cbff820, 0x2240f: 0x6d28ee20, + 0x22411: 0x6cd0d420, 0x22412: 0x6d28f020, + 0x22415: 0x6d15ba20, + 0x2241a: 0x6c578020, + 0x2241f: 0x6c76a220, + 0x22430: 0x6d268e20, 0x22431: 0x6ca68420, 0x22432: 0x6cd7d620, + 0x22434: 0x6cf2aa20, + 0x22438: 0x6c118e20, 0x2243a: 0x6c647c20, + 0x2243c: 0x6c9ecc20, 0x2243d: 0x6ccea020, 0x2243f: 0x6cc70820, + // Block 0x891, offset 0x22440 + 0x22440: 0x6c419220, + 0x22445: 0x6cbb0a20, 0x22447: 0x6cd52a20, + 0x22448: 0x6d3d5820, + 0x2244f: 0x6cd1bc20, + 0x22451: 0x6ce3f820, + 0x22456: 0x6d2c3620, 0x22457: 0x6d2d7e20, + 0x2245d: 0x6c3bdc20, 0x2245e: 0x6c9eda20, + 0x22460: 0x6d2b5220, + 0x22464: 0x6d368a20, 0x22465: 0x6cb90020, 0x22466: 0x6c4ede20, 0x22467: 0x6c440e20, + 0x2246e: 0x6c119e20, + 0x22470: 0x6c4c7820, 0x22471: 0x6c685e20, 0x22473: 0x6d1da220, + 0x22474: 0x6c026820, + 0x2247b: 0x6d2c4620, + 0x2247d: 0x6cf8c420, + // Block 0x892, offset 0x22480 + 0x22481: 0x6d05d220, 0x22482: 0x6cf46620, + 0x2248f: 0x6c74b820, + 0x22490: 0x6c5f2a20, 0x22492: 0x6c1c6a20, + 0x22494: 0x6ced5420, 0x22496: 0x6c9ef220, 0x22497: 0x6d2b6420, + 0x2249c: 0x6c6b6e20, 0x2249d: 0x6cd29220, 0x2249f: 0x6cf72e20, + 0x224a1: 0x6c36e220, + 0x224a5: 0x6c564220, 0x224a6: 0x6c564a20, + 0x224a8: 0x6c857020, 0x224ab: 0x6c1f0820, + 0x224ae: 0x6d13c820, 0x224af: 0x6c992c20, + 0x224b0: 0x6d056c20, 0x224b1: 0x6d379820, 0x224b3: 0x6d16b820, + 0x224ba: 0x6c89de20, + 0x224bf: 0x6c647820, + // Block 0x893, offset 0x224c0 + 0x224c0: 0x6c656e20, 0x224c1: 0x6c70fa20, + 0x224c4: 0x6d3abc20, + 0x224c8: 0x6cf43a20, + 0x224cf: 0x6c78a420, + 0x224d0: 0x6c786020, 0x224d1: 0x6c860e20, 0x224d2: 0x6c08dc20, 0x224d3: 0x6c43ec20, + 0x224d5: 0x6d059820, 0x224d6: 0x6ccbfa20, 0x224d7: 0x6c8d1c20, + 0x224d8: 0x6c781220, + 0x224de: 0x6c0f4220, 0x224df: 0x6c0b0820, + 0x224e0: 0x6cd68820, 0x224e1: 0x6cb66e20, 0x224e2: 0x6ccde420, + 0x224e6: 0x6c5e6420, + 0x224e8: 0x6cbc1c20, + 0x224ee: 0x6d166c20, 0x224ef: 0x6c73d020, + 0x224f0: 0x6d2efe20, 0x224f2: 0x6d031620, + 0x224f7: 0x6cea9a20, + 0x224f8: 0x6c4d5020, 0x224f9: 0x6cfa2e20, 0x224fb: 0x6ceae020, + 0x224fc: 0x6d145620, + // Block 0x894, offset 0x22500 + 0x22503: 0x6c242c20, + 0x22507: 0x6c674620, + 0x22508: 0x6ca3de20, 0x2250b: 0x6caf0020, + 0x2250d: 0x6c6a7020, 0x2250e: 0x6d08d820, 0x2250f: 0x6c552020, + 0x22525: 0x6d1f9e20, 0x22526: 0x6caa4c20, 0x22527: 0x6d12c220, + 0x2252a: 0x6d1b3a20, + 0x2252c: 0x6c799420, + 0x22536: 0x6cfe8420, 0x22537: 0x6cfd6220, + 0x2253c: 0x6ca49620, 0x2253e: 0x6d2f2420, + // Block 0x895, offset 0x22540 + 0x22550: 0x6c6a7c20, 0x22553: 0x6caa5020, + 0x22554: 0x6ccd7020, + 0x22562: 0x6c63a020, + 0x22567: 0x6d38dc20, + 0x22568: 0x6cc6fe20, 0x2256b: 0x6c922220, + 0x2256c: 0x6cc96e20, 0x2256d: 0x6caa6020, 0x2256f: 0x6c0ec420, + 0x22570: 0x6d302220, 0x22572: 0x6cbdca20, + 0x22574: 0x6c21f620, 0x22575: 0x6d40ac20, 0x22577: 0x6cf2ac20, + 0x22578: 0x6cf43620, 0x2257b: 0x6ca7e020, + 0x2257f: 0x6cfa8820, + // Block 0x896, offset 0x22580 + 0x22580: 0x6c531220, + 0x225ab: 0x6ce6e820, + 0x225ac: 0x6c6c8a20, + 0x225b1: 0x6c6aa420, 0x225b2: 0x6c51c020, 0x225b3: 0x6ce84c20, + 0x225b4: 0x6d303a20, 0x225b5: 0x6cb1ec20, 0x225b6: 0x6c6ce820, 0x225b7: 0x6ca44420, + 0x225bc: 0x6c33e820, 0x225be: 0x6cf5be20, 0x225bf: 0x6d018020, + // Block 0x897, offset 0x225c0 + 0x225c1: 0x6cf86c20, 0x225c2: 0x6c815220, 0x225c3: 0x6c32ac20, + 0x225c4: 0x6c61ca20, 0x225c5: 0x6c138a20, 0x225c6: 0x6c1d6620, + 0x225c8: 0x6c427020, + 0x225ce: 0x6cfdb820, 0x225cf: 0x6c29d620, + 0x225e5: 0x6c0b8e20, 0x225e6: 0x6cfea020, 0x225e7: 0x6d02c220, + // Block 0x898, offset 0x22600 + 0x22601: 0x6d224c20, 0x22602: 0x6cfb4a20, 0x22603: 0x6c83ba20, + 0x22604: 0x6cba0020, 0x22607: 0x6c9a5420, + 0x22609: 0x6cbb6c20, 0x2260a: 0x6d0b9e20, + 0x2260c: 0x6cb82a20, 0x2260d: 0x6cbf8a20, 0x2260f: 0x6c056a20, + 0x22610: 0x6d32b220, + 0x2261a: 0x6d2b4a20, 0x2261b: 0x6cd68e20, + 0x2261e: 0x6ccaf020, + // Block 0x899, offset 0x22640 + 0x22645: 0x6c923a20, + 0x22649: 0x6d009e20, 0x2264b: 0x6c3f5c20, + 0x2264c: 0x6d2d3a20, + 0x22669: 0x6d2b5020, 0x2266b: 0x6c32c220, + 0x2266d: 0x6c2ad620, 0x2266e: 0x6d233c20, + 0x22670: 0x6c93de20, 0x22672: 0x6ced8220, 0x22673: 0x6d090e20, + 0x22674: 0x6c68f420, 0x22675: 0x6d266420, 0x22676: 0x6d362420, 0x22677: 0x6cefc420, + 0x22679: 0x6c43ee20, 0x2267a: 0x6c71b420, + 0x2267c: 0x6d0d8420, 0x2267d: 0x6c262620, 0x2267e: 0x6c997e20, + // Block 0x89a, offset 0x22680 + 0x22686: 0x6c3e7820, 0x22687: 0x6c002820, + 0x2268a: 0x6d079e20, + 0x2268c: 0x6c427e20, 0x2268d: 0x6c013220, + 0x22692: 0x6c603620, + 0x22698: 0x6cafea20, 0x22699: 0x6d352820, + 0x2269c: 0x6caac020, + 0x226bf: 0x6cacbc20, + // Block 0x89b, offset 0x226c0 + 0x226c1: 0x6d14f620, + 0x226c4: 0x6c6ac820, 0x226c6: 0x6d3e3820, + 0x226c8: 0x6c644420, 0x226c9: 0x6cec6420, + 0x226cc: 0x6c644620, + 0x226df: 0x6c15c020, + 0x226e1: 0x6cdd7420, 0x226e2: 0x6cdd7620, 0x226e3: 0x6c605020, + 0x226e4: 0x6cd96420, 0x226e6: 0x6ce2f420, 0x226e7: 0x6caf7420, + 0x226e8: 0x6cb32c20, + 0x226ee: 0x6c9d5a20, + 0x226f4: 0x6d12fc20, 0x226f6: 0x6cbe1c20, 0x226f7: 0x6c6d1620, + 0x226fa: 0x6c73ae20, + 0x226fd: 0x6d24f420, 0x226fe: 0x6cc83e20, + // Block 0x89c, offset 0x22700 + 0x22714: 0x6c04fa20, + 0x22730: 0x6c0d3a20, + 0x22734: 0x6cf0ae20, 0x22735: 0x6d2a8820, 0x22736: 0x6cbcd020, 0x22737: 0x6cd9ce20, + 0x22738: 0x6c91ca20, + 0x2273c: 0x6c2ecc20, 0x2273d: 0x6c1fb820, 0x2273e: 0x6c09f620, 0x2273f: 0x6d3a1a20, + // Block 0x89d, offset 0x22740 + 0x22740: 0x6c966220, 0x22741: 0x6c3aba20, 0x22742: 0x6cb1cc20, 0x22743: 0x6d1b6620, + 0x22744: 0x6d08a220, 0x22746: 0x6c02e020, 0x22747: 0x6d3d7820, + 0x22748: 0x6d40c820, 0x2274b: 0x6c08ea20, + 0x22751: 0x6c812620, 0x22753: 0x6ce40820, + 0x22759: 0x6ce5c820, 0x2275a: 0x6c64c820, + 0x2275f: 0x6ce7c020, + 0x2277d: 0x6c343420, 0x2277e: 0x6c308420, + // Block 0x89e, offset 0x22780 + 0x22782: 0x6c0b4220, + 0x227a0: 0x6d36b020, 0x227a2: 0x6c3b8a20, + 0x227a6: 0x6c776a20, 0x227a7: 0x6d36b220, + 0x227a8: 0x6d2cfc20, 0x227a9: 0x6c0a1e20, 0x227aa: 0x6c7b6e20, + 0x227ac: 0x6c050220, 0x227ad: 0x6c73b820, 0x227ae: 0x6cc13420, + 0x227b0: 0x6cb51e20, 0x227b1: 0x6c824e20, 0x227b2: 0x6d00da20, 0x227b3: 0x6ce0ca20, + 0x227bc: 0x6cd9d420, 0x227be: 0x6c075020, + // Block 0x89f, offset 0x227c0 + 0x227c7: 0x6d106820, + 0x227c8: 0x6c65ce20, + 0x227e5: 0x6d2a8a20, + // Block 0x8a0, offset 0x22800 + 0x22800: 0x6d3b6a20, 0x22803: 0x6c38b820, + 0x22805: 0x6ccf2420, 0x22807: 0x6cbf5e20, + 0x22809: 0x6cb3a020, 0x2280b: 0x6ce60220, + 0x2280c: 0x6ccc1a20, 0x2280d: 0x6d28c820, + 0x22811: 0x6ca7ac20, 0x22812: 0x6c48fa20, 0x22813: 0x6c250a20, + 0x22821: 0x6cbc5e20, 0x22823: 0x6c2ee420, + 0x22833: 0x6cb1ee20, + 0x22834: 0x6c226a20, 0x22836: 0x6c058e20, + // Block 0x8a1, offset 0x22840 + 0x2284d: 0x6d1b8a20, + 0x22851: 0x6cfc3020, + 0x22854: 0x6d161820, 0x22855: 0x6c9e9e20, 0x22856: 0x6c32b220, 0x22857: 0x6d395620, + 0x22859: 0x6c798c20, + 0x22862: 0x6d2ee020, + 0x22876: 0x6c8eb820, + 0x22878: 0x6d355820, 0x22879: 0x6c15ee20, 0x2287a: 0x6c31ca20, 0x2287b: 0x6d25c020, + 0x2287e: 0x6cddd220, 0x2287f: 0x6c6b5820, + // Block 0x8a2, offset 0x22880 + 0x22880: 0x6c86c820, 0x22881: 0x6c460420, + 0x2288c: 0x6c054220, + 0x22897: 0x6c4c9220, + 0x22898: 0x6c8a3420, 0x22899: 0x6cd08220, + 0x228a3: 0x6ca7c020, + 0x228a5: 0x6c24bc20, 0x228a6: 0x6cf04c20, + 0x228a8: 0x6cead620, 0x228ab: 0x6cda6020, + 0x228ad: 0x6c8fc420, + 0x228b3: 0x6cff3820, + 0x228b4: 0x6d0df820, + // Block 0x8a3, offset 0x228c0 + 0x228c3: 0x6cbebe20, + 0x228cd: 0x6cf73020, 0x228cf: 0x6d21e220, + 0x228d1: 0x6d337220, 0x228d2: 0x6d027420, 0x228d3: 0x6c146e20, + 0x228d4: 0x6c3c0020, 0x228d6: 0x6c4c9c20, + 0x228d8: 0x6c6e3e20, 0x228d9: 0x6c808220, 0x228da: 0x6cfafe20, + 0x228dd: 0x6c8d8e20, + 0x228ee: 0x6c830020, + 0x228f2: 0x6c760220, 0x228f3: 0x6d002a20, + 0x228fc: 0x6d28d820, + // Block 0x8a4, offset 0x22900 + 0x22904: 0x6c493e20, 0x22905: 0x6cbd0820, 0x22906: 0x6c963e20, 0x22907: 0x6d124a20, + 0x22908: 0x6c945620, 0x22909: 0x6cdeee20, + 0x22911: 0x6c964020, + 0x2291e: 0x6c03a420, 0x2291f: 0x6c165420, + 0x22921: 0x6d3dec20, + 0x2292b: 0x6ce5d020, + 0x2292f: 0x6cecaa20, + 0x22930: 0x6c8dd420, + 0x22934: 0x6d24aa20, 0x22935: 0x6cb72c20, 0x22937: 0x6cb58020, + 0x2293c: 0x6c619420, 0x2293d: 0x6c0eb620, 0x2293f: 0x6cd1a420, + // Block 0x8a5, offset 0x22940 + 0x22940: 0x6c3f4a20, 0x22942: 0x6c4a4620, + 0x22945: 0x6c2d0e20, 0x22947: 0x6c4fa420, + 0x22949: 0x6c411220, 0x2294b: 0x6cb5c820, + 0x22953: 0x6c19fe20, + 0x22954: 0x6c5bc220, 0x22957: 0x6cf9cc20, + 0x22958: 0x6cd27020, 0x22959: 0x6d365820, 0x2295a: 0x6cb61420, + 0x2295c: 0x6c4d7420, 0x2295f: 0x6c692c20, + 0x22960: 0x6c867620, 0x22962: 0x6c8a7820, + 0x22964: 0x6cbba620, + 0x22968: 0x6cc99c20, 0x2296a: 0x6cb55220, 0x2296b: 0x6cd19620, + 0x2296e: 0x6c6a7220, + 0x22975: 0x6c06e420, 0x22976: 0x6c0aec20, 0x22977: 0x6c032420, + 0x22978: 0x6c755c20, 0x22979: 0x6caf3a20, + 0x2297c: 0x6c282220, 0x2297f: 0x6ce0e620, + // Block 0x8a6, offset 0x22980 + 0x22980: 0x6c7cca20, 0x22981: 0x6c7a2820, 0x22983: 0x6c79d020, + 0x22989: 0x6cd1a620, 0x2298a: 0x6cd1a820, 0x2298b: 0x6c5e9a20, + 0x2298c: 0x6c063620, + 0x22990: 0x6c785a20, 0x22991: 0x6c7b9020, + 0x22996: 0x6c9f9c20, + 0x22999: 0x6c89e020, 0x2299a: 0x6c35f220, 0x2299b: 0x6c43d820, + 0x2299f: 0x6cee0420, + 0x229a0: 0x6c344020, 0x229a3: 0x6cb85220, + 0x229a4: 0x6c573220, 0x229a6: 0x6c539e20, + 0x229a9: 0x6cae5e20, 0x229ab: 0x6c698c20, + 0x229b0: 0x6cc0f020, 0x229b1: 0x6d3f3c20, 0x229b2: 0x6d391820, 0x229b3: 0x6c7b9620, + 0x229b5: 0x6ccbd820, 0x229b7: 0x6c61cc20, + 0x229b8: 0x6cee6c20, 0x229b9: 0x6cb40820, 0x229ba: 0x6d090620, + 0x229bc: 0x6cce6620, + // Block 0x8a7, offset 0x229c0 + 0x229c2: 0x6c80b620, 0x229c3: 0x6d351620, + 0x229c4: 0x6ce6c620, 0x229c7: 0x6c26f020, + 0x229d5: 0x6d0faa20, 0x229d6: 0x6c6d0020, 0x229d7: 0x6d351820, + 0x229da: 0x6d3d5a20, + 0x229dc: 0x6d28b420, 0x229dd: 0x6c14f220, + 0x229e2: 0x6c998020, + 0x229e6: 0x6c797820, 0x229e7: 0x6d388420, + 0x229e8: 0x6c54ca20, 0x229e9: 0x6cae7220, + 0x229ed: 0x6c6ffc20, + 0x229f8: 0x6c21bc20, 0x229f9: 0x6c9fae20, + 0x229fe: 0x6cffec20, + // Block 0x8a8, offset 0x22a00 + 0x22a00: 0x6c322220, 0x22a01: 0x6cef1820, 0x22a03: 0x6c119a20, + 0x22a04: 0x6d214a20, 0x22a05: 0x6c326220, 0x22a06: 0x6c763620, 0x22a07: 0x6cb0a220, + 0x22a0a: 0x6c1a1a20, + 0x22a0e: 0x6c218020, + 0x22a10: 0x6cceb420, 0x22a11: 0x6d0d9e20, 0x22a12: 0x6c7b2820, + 0x22a14: 0x6d265020, + 0x22a26: 0x6cb61620, 0x22a27: 0x6d32e020, + 0x22a29: 0x6c78c220, 0x22a2a: 0x6cb61820, 0x22a2b: 0x6d354020, + 0x22a2c: 0x6c928420, + 0x22a31: 0x6caf7c20, 0x22a32: 0x6cab0420, 0x22a33: 0x6cad7c20, + 0x22a3a: 0x6c3a6020, + 0x22a3f: 0x6cf19c20, + // Block 0x8a9, offset 0x22a40 + 0x22a42: 0x6c9b2c20, + 0x22a48: 0x6ccd5620, + 0x22a4c: 0x6d04a020, 0x22a4e: 0x6c351020, 0x22a4f: 0x6c0c9220, + 0x22a5a: 0x6d1eb020, + 0x22a5c: 0x6c97f620, 0x22a5e: 0x6c8a7a20, + 0x22a61: 0x6d00ea20, 0x22a62: 0x6c949c20, 0x22a63: 0x6cbba820, + 0x22a64: 0x6c2ae620, 0x22a66: 0x6c1a3e20, 0x22a67: 0x6c1a4020, + 0x22a6d: 0x6c21d820, + 0x22a78: 0x6c131420, + // Block 0x8aa, offset 0x22a80 + 0x22a80: 0x6c825e20, 0x22a81: 0x6d2e1c20, 0x22a82: 0x6c853620, 0x22a83: 0x6c885e20, + 0x22a84: 0x6cc45820, + 0x22a8d: 0x6c18ee20, 0x22a8f: 0x6c1a4820, + 0x22a90: 0x6c473c20, 0x22a92: 0x6d403a20, 0x22a93: 0x6c1df420, + 0x22a94: 0x6c204420, + 0x22a9c: 0x6c835220, 0x22a9d: 0x6cd7a820, 0x22a9e: 0x6c941020, + 0x22aa3: 0x6c3f2420, + 0x22aa5: 0x6c871620, 0x22aa7: 0x6cca6020, + 0x22aab: 0x6cca0c20, + 0x22aaf: 0x6cc9b220, + 0x22ab3: 0x6ca8b020, + 0x22ab6: 0x6d413c20, 0x22ab7: 0x6c855020, + 0x22abb: 0x6cd58c20, + 0x22abe: 0x6c3f2a20, + // Block 0x8ab, offset 0x22ac0 + 0x22ac9: 0x6c094620, + 0x22acd: 0x6c2a0820, + 0x22ad2: 0x6cd1b220, + 0x22ad6: 0x6c422020, 0x22ad7: 0x6ce09e20, + 0x22adc: 0x6c97f820, 0x22adf: 0x6c842820, + 0x22ae2: 0x6c0a4c20, + 0x22ae6: 0x6cac7e20, + 0x22ae8: 0x6d1eca20, + 0x22aed: 0x6c6f5020, 0x22aef: 0x6c4c1220, + 0x22af0: 0x6c89dc20, 0x22af3: 0x6cf2de20, + 0x22af4: 0x6cb85420, 0x22af5: 0x6c30e820, 0x22af7: 0x6c8afa20, + 0x22af9: 0x6c68e020, 0x22afb: 0x6c8afc20, + // Block 0x8ac, offset 0x22b00 + 0x22b01: 0x6ce56020, + 0x22b04: 0x6c4c2620, 0x22b06: 0x6cacde20, 0x22b07: 0x6cbb8e20, + 0x22b09: 0x6c2b8a20, 0x22b0a: 0x6d284420, + 0x22b12: 0x6c821420, + 0x22b16: 0x6cd7cc20, 0x22b17: 0x6d02b020, + 0x22b1c: 0x6d02c420, 0x22b1d: 0x6cfe2620, 0x22b1e: 0x6c95ac20, + 0x22b24: 0x6c07e820, 0x22b25: 0x6ce55a20, + 0x22b2c: 0x6cffee20, 0x22b2e: 0x6c30b420, + 0x22b33: 0x6c296e20, + 0x22b34: 0x6ce67c20, 0x22b35: 0x6d3bcc20, + 0x22b3b: 0x6cab4620, + 0x22b3d: 0x6cf30e20, + // Block 0x8ad, offset 0x22b40 + 0x22b44: 0x6d02ee20, 0x22b45: 0x6cc87a20, + 0x22b48: 0x6d3dae20, 0x22b49: 0x6c299020, + 0x22b4d: 0x6c257420, + 0x22b51: 0x6d3dc820, + 0x22b57: 0x6c238620, + 0x22b58: 0x6c159220, + 0x22b5d: 0x6d100820, + 0x22b67: 0x6d0d5e20, + 0x22b73: 0x6d0d6820, + 0x22b75: 0x6d323620, + 0x22b7d: 0x6caade20, 0x22b7e: 0x6d0e7220, + // Block 0x8ae, offset 0x22b80 + 0x22b85: 0x6c39d820, + 0x22b89: 0x6d0da020, 0x22b8a: 0x6d214e20, + 0x22b8d: 0x6ce34020, 0x22b8e: 0x6c401a20, 0x22b8f: 0x6c07a020, + 0x22b91: 0x6d0db220, 0x22b93: 0x6c5ad220, + 0x22b99: 0x6c5a6220, + 0x22b9c: 0x6c4b7420, 0x22b9d: 0x6d0ece20, 0x22b9f: 0x6c55da20, + 0x22ba0: 0x6c0c3620, + 0x22ba7: 0x6cdcc420, + 0x22bae: 0x6d3f3020, 0x22baf: 0x6c618620, + 0x22bb0: 0x6c35ae20, 0x22bb1: 0x6c61ce20, 0x22bb2: 0x6c7ccc20, + 0x22bb4: 0x6c89b620, + 0x22bb8: 0x6c5dda20, 0x22bba: 0x6cef3a20, 0x22bbb: 0x6d3cea20, + 0x22bbf: 0x6ce6ae20, + // Block 0x8af, offset 0x22bc0 + 0x22bc3: 0x6d290e20, + 0x22bc4: 0x6d201020, + 0x22bc9: 0x6cc5c020, + 0x22bcd: 0x6c9e4e20, + 0x22bda: 0x6ca31020, + 0x22bdd: 0x6ce84220, 0x22bdf: 0x6c27be20, + 0x22be1: 0x6c73ec20, + 0x22be4: 0x6d056e20, 0x22be5: 0x6c2b1820, + 0x22bf0: 0x6cfe1a20, + 0x22bf7: 0x6d048a20, + 0x22bfa: 0x6d1fac20, 0x22bfb: 0x6c489620, + 0x22bfe: 0x6cf5a420, + // Block 0x8b0, offset 0x22c00 + 0x22c08: 0x6c51bc20, + 0x22c0d: 0x6c2f6c20, + 0x22c10: 0x6c914020, 0x22c12: 0x6d061a20, + 0x22c14: 0x6d391a20, 0x22c15: 0x6cfca820, 0x22c16: 0x6c598820, 0x22c17: 0x6c138c20, + 0x22c18: 0x6cd2c420, 0x22c19: 0x6c421820, 0x22c1a: 0x6caadc20, 0x22c1b: 0x6c01aa20, + 0x22c1f: 0x6d003c20, + 0x22c27: 0x6c502c20, + 0x22c32: 0x6cbd2a20, 0x22c33: 0x6c450620, + 0x22c34: 0x6ccce020, 0x22c35: 0x6c3e4c20, + 0x22c3d: 0x6d2b4c20, + // Block 0x8b1, offset 0x22c40 + 0x22c47: 0x6c287c20, + 0x22c56: 0x6c2d1420, 0x22c57: 0x6ccfdc20, + 0x22c59: 0x6d411820, + 0x22c62: 0x6c0ca620, + 0x22c66: 0x6c20d020, 0x22c67: 0x6d30f820, + 0x22c68: 0x6c276e20, 0x22c6b: 0x6cf2b620, + 0x22c6c: 0x6cbf2420, + 0x22c70: 0x6c8bb420, 0x22c72: 0x6c5cc820, 0x22c73: 0x6c5ed020, + // Block 0x8b2, offset 0x22c80 + 0x22c85: 0x6c127620, + 0x22c8a: 0x6ca28620, + 0x22c8d: 0x6c2ea820, 0x22c8e: 0x6cf09620, + 0x22ca0: 0x6c0b9a20, 0x22ca1: 0x6ce3c020, + 0x22ca5: 0x6ce8be20, + 0x22cb6: 0x6c453620, + // Block 0x8b3, offset 0x22cc0 + 0x22cc4: 0x6c1b3220, 0x22cc5: 0x6c23ee20, 0x22cc6: 0x6ce3c420, + 0x22cd2: 0x6c5de620, 0x22cd3: 0x6cb50e20, + 0x22cd4: 0x6ccab820, 0x22cd5: 0x6ccaa020, 0x22cd6: 0x6d085220, 0x22cd7: 0x6c021c20, + 0x22cd8: 0x6ca3ce20, 0x22cda: 0x6d0fd020, 0x22cdb: 0x6cd4f420, + 0x22cdc: 0x6ccc0620, + 0x22ce1: 0x6ce6d620, + 0x22ce9: 0x6d0bc420, 0x22cea: 0x6c5a5820, + 0x22cee: 0x6c0d4220, + 0x22cfe: 0x6caba020, 0x22cff: 0x6c128820, + // Block 0x8b4, offset 0x22d00 + 0x22d01: 0x6c026a20, 0x22d03: 0x6c99ae20, + 0x22d14: 0x6c9b3620, 0x22d16: 0x6ce47220, + 0x22d1d: 0x6ccaa220, 0x22d1e: 0x6d073a20, 0x22d1f: 0x6c771020, + 0x22d27: 0x6c811020, + 0x22d36: 0x6c0cc020, 0x22d37: 0x6c23b220, + 0x22d3a: 0x6cfb8e20, + // Block 0x8b5, offset 0x22d40 + 0x22d44: 0x6cea2a20, + 0x22d49: 0x6d240a20, 0x22d4a: 0x6c28c220, 0x22d4b: 0x6d1d5420, + 0x22d4d: 0x6d2f7820, 0x22d4f: 0x6cb4b620, + 0x22d58: 0x6c5c4e20, + 0x22d5e: 0x6c00ea20, 0x22d5f: 0x6ca0b220, + 0x22d62: 0x6c6dde20, 0x22d63: 0x6c7fce20, + 0x22d72: 0x6c8b5820, 0x22d73: 0x6cb1a420, + 0x22d75: 0x6c0fa420, 0x22d76: 0x6cbf8220, + 0x22d79: 0x6c0aa220, + 0x22d7f: 0x6d1dd420, + // Block 0x8b6, offset 0x22d80 + 0x22d85: 0x6c871820, + 0x22d8d: 0x6ca8b220, 0x22d8f: 0x6c2a8820, + 0x22d93: 0x6c584620, + 0x22d97: 0x6d272420, + 0x22d9a: 0x6c212c20, + 0x22d9c: 0x6c87b020, 0x22d9e: 0x6d2ef420, 0x22d9f: 0x6c8dd620, + 0x22da0: 0x6c217020, + 0x22da7: 0x6c12d220, + 0x22da8: 0x6d09ea20, + 0x22dac: 0x6c71ac20, 0x22dad: 0x6c5cac20, + 0x22dbe: 0x6ce6f820, + // Block 0x8b7, offset 0x22dc0 + 0x22dc6: 0x6ca91220, 0x22dc7: 0x6c727a20, + 0x22dcf: 0x6c144c20, + 0x22dd6: 0x6d2a2e20, + 0x22ddb: 0x6d24a020, + 0x22ddf: 0x6c78f420, + 0x22de6: 0x6c7bea20, 0x22de7: 0x6c3a4a20, + 0x22def: 0x6d282620, + 0x22df0: 0x6cb9fc20, + 0x22df4: 0x6cc2dc20, + 0x22df8: 0x6cb38a20, 0x22dfa: 0x6cadf620, + // Block 0x8b8, offset 0x22e00 + 0x22e04: 0x6c453820, 0x22e05: 0x6d17e420, 0x22e06: 0x6c961020, + 0x22e11: 0x6c7b5a20, 0x22e13: 0x6d085420, + 0x22e14: 0x6ca76e20, + 0x22e1a: 0x6c55ac20, 0x22e1b: 0x6c715820, + 0x22e29: 0x6d136a20, + 0x22e2e: 0x6cf73420, + 0x22e31: 0x6d271c20, 0x22e32: 0x6ce19020, 0x22e33: 0x6cb23e20, + 0x22e34: 0x6c33c820, 0x22e35: 0x6c06d420, + 0x22e38: 0x6c8a6020, + // Block 0x8b9, offset 0x22e40 + 0x22e40: 0x6d1e0e20, + 0x22e4e: 0x6d0acc20, + 0x22e51: 0x6c68bc20, + 0x22e54: 0x6c7dcc20, 0x22e56: 0x6d321820, 0x22e57: 0x6cd59c20, + 0x22e5a: 0x6cd24820, + 0x22e5e: 0x6d1efa20, 0x22e5f: 0x6cac1a20, + 0x22e60: 0x6cff6e20, 0x22e61: 0x6c5fe020, + 0x22e76: 0x6cb4d220, 0x22e77: 0x6c50c620, + 0x22e7a: 0x6c799620, + // Block 0x8ba, offset 0x22e80 + 0x22e82: 0x6d12d020, 0x22e83: 0x6c1bf020, + 0x22e8a: 0x6c77a220, 0x22e8b: 0x6d269020, + 0x22e8e: 0x6cec1a20, 0x22e8f: 0x6ca71820, + 0x22e91: 0x6c222e20, 0x22e93: 0x6d14a020, + 0x22ea4: 0x6c704620, + 0x22eab: 0x6d0f4e20, + 0x22eac: 0x6c83a620, 0x22eae: 0x6c270a20, 0x22eaf: 0x6c1d0c20, + 0x22eb5: 0x6d14c620, + 0x22eba: 0x6c4e9a20, + 0x22ebf: 0x6d13de20, + // Block 0x8bb, offset 0x22ec0 + 0x22ec1: 0x6c1d4a20, 0x22ec2: 0x6c568020, 0x22ec3: 0x6d3b6220, + 0x22ee6: 0x6cbf0a20, 0x22ee7: 0x6c34de20, + 0x22ef8: 0x6ce73220, 0x22ef9: 0x6cfa9020, + 0x22eff: 0x6c3e5020, + // Block 0x8bc, offset 0x22f00 + 0x22f02: 0x6c2d5020, 0x22f03: 0x6cf77820, + 0x22f04: 0x6d003e20, 0x22f05: 0x6d323820, 0x22f06: 0x6cbc3e20, 0x22f07: 0x6ce85620, + 0x22f37: 0x6c4eb020, + 0x22f38: 0x6c7bf220, 0x22f39: 0x6cdd1a20, 0x22f3b: 0x6cd46220, + 0x22f3c: 0x6ce58020, + // Block 0x8bd, offset 0x22f40 + 0x22f40: 0x6d315020, 0x22f43: 0x6ca58c20, + 0x22f45: 0x6cba0a20, 0x22f46: 0x6d1a6620, + 0x22f48: 0x6c899220, 0x22f49: 0x6ccc5420, 0x22f4a: 0x6d3f4c20, 0x22f4b: 0x6cafec20, + 0x22f4c: 0x6c42c620, 0x22f4f: 0x6c6d0a20, + 0x22f50: 0x6d1f3620, 0x22f52: 0x6ccd8c20, + 0x22f54: 0x6c9d4620, 0x22f55: 0x6cab9c20, 0x22f57: 0x6c54cc20, + 0x22f5b: 0x6d204620, + 0x22f5d: 0x6c9bd420, + // Block 0x8be, offset 0x22f80 + 0x22f90: 0x6d352a20, 0x22f93: 0x6c08e020, + 0x22f97: 0x6ccfe820, + 0x22f98: 0x6cb79420, 0x22f99: 0x6cfaa620, 0x22f9a: 0x6cac5820, 0x22f9b: 0x6c776e20, + 0x22fab: 0x6cd68620, + 0x22fac: 0x6cafee20, 0x22fae: 0x6d290220, 0x22faf: 0x6d3a6c20, + 0x22fb1: 0x6cd9c020, 0x22fb2: 0x6c6f1820, + 0x22fb5: 0x6c150020, 0x22fb6: 0x6c38a420, 0x22fb7: 0x6cff8e20, + 0x22fb8: 0x6d1aec20, 0x22fb9: 0x6c540e20, 0x22fba: 0x6c999220, 0x22fbb: 0x6ce8c020, + 0x22fbd: 0x6c621820, + // Block 0x8bf, offset 0x22fc0 + 0x22fc1: 0x6d151c20, 0x22fc3: 0x6d236c20, + 0x22fc4: 0x6c6ee020, 0x22fc5: 0x6cad9220, 0x22fc7: 0x6cfed820, + 0x22fc9: 0x6c468c20, + 0x22fcc: 0x6c465020, 0x22fcd: 0x6cdcf220, 0x22fce: 0x6cfc1620, 0x22fcf: 0x6d3baa20, + 0x22ffe: 0x6c1dba20, + // Block 0x8c0, offset 0x23000 + 0x23004: 0x6cbb7e20, 0x23005: 0x6ce34220, 0x23006: 0x6d27b020, + 0x23009: 0x6cccec20, 0x2300a: 0x6c8b1420, + 0x2300c: 0x6d353620, + 0x23010: 0x6cabf220, + 0x23023: 0x6c712e20, + 0x23024: 0x6c7f1220, + 0x23028: 0x6d3f1820, 0x2302a: 0x6cc1a420, 0x2302b: 0x6c47b020, + 0x2302c: 0x6c747a20, 0x2302d: 0x6d348220, 0x2302e: 0x6c021e20, 0x2302f: 0x6cbe2020, + 0x23030: 0x6cb00620, 0x23031: 0x6d417820, 0x23033: 0x6cb9b020, + 0x23035: 0x6c25e620, 0x23037: 0x6c606620, + 0x23038: 0x6ce35220, 0x23039: 0x6cc7b620, 0x2303b: 0x6c4d4220, + 0x2303c: 0x6d0a2620, 0x2303e: 0x6c073c20, 0x2303f: 0x6d348420, + // Block 0x8c1, offset 0x23040 + 0x23041: 0x6c340020, + 0x2304b: 0x6c293220, + 0x23050: 0x6cc62e20, + 0x23072: 0x6c41a820, + 0x23075: 0x6c42ae20, 0x23076: 0x6cde7220, + 0x23078: 0x6cebae20, 0x23079: 0x6d105e20, 0x2307a: 0x6c7a4e20, 0x2307b: 0x6d368c20, + // Block 0x8c2, offset 0x23080 + 0x23096: 0x6c64d020, 0x23097: 0x6ca6be20, + 0x23098: 0x6cd00e20, 0x23099: 0x6c058620, 0x2309a: 0x6cd66e20, 0x2309b: 0x6c30c020, + 0x2309d: 0x6cb91420, 0x2309e: 0x6c4e2820, 0x2309f: 0x6cb83020, + 0x230a0: 0x6c41e420, 0x230a3: 0x6c215a20, + 0x230a4: 0x6c13fe20, 0x230a5: 0x6c0a2620, 0x230a6: 0x6d140c20, 0x230a7: 0x6c3d9020, + 0x230a8: 0x6c35b820, 0x230aa: 0x6c816c20, 0x230ab: 0x6c4fe020, + 0x230ac: 0x6c842a20, + 0x230b1: 0x6ce28020, 0x230b2: 0x6cd01020, + 0x230b4: 0x6d1a9020, 0x230b7: 0x6c64d220, + 0x230bb: 0x6c140020, + // Block 0x8c3, offset 0x230c0 + 0x230d7: 0x6ca86020, + 0x230d8: 0x6c23f620, 0x230db: 0x6d154620, + 0x230df: 0x6ce12220, + 0x230e2: 0x6c738820, + 0x230f0: 0x6c1c5820, 0x230f1: 0x6c468e20, + 0x230f4: 0x6c6b1a20, 0x230f5: 0x6d307c20, 0x230f6: 0x6c559220, 0x230f7: 0x6c987220, + 0x230fb: 0x6d406220, + 0x230fc: 0x6cd8e820, 0x230ff: 0x6c3ad020, + // Block 0x8c4, offset 0x23100 + 0x23100: 0x6d3e8620, 0x23101: 0x6d3e8820, 0x23103: 0x6c6b3420, + 0x23104: 0x6cd82820, 0x23106: 0x6c211620, 0x23107: 0x6cad9820, + 0x2310b: 0x6d128e20, + 0x2310c: 0x6c2b4420, 0x2310e: 0x6c825820, 0x2310f: 0x6d05e420, + 0x23110: 0x6cc7c820, 0x23112: 0x6cabde20, 0x23113: 0x6c738e20, + 0x23114: 0x6cf8dc20, 0x23115: 0x6d133e20, 0x23116: 0x6c014c20, + 0x23118: 0x6d189420, 0x23119: 0x6c64f420, + 0x2311c: 0x6cd93820, 0x2311d: 0x6cf2c420, 0x2311f: 0x6ccb5820, + 0x23120: 0x6d355020, 0x23121: 0x6c088e20, 0x23122: 0x6d3be220, + 0x23126: 0x6c67fa20, 0x23127: 0x6c506820, + 0x23129: 0x6c1c6c20, 0x2312a: 0x6c340820, + // Block 0x8c5, offset 0x23140 + 0x23153: 0x6c0f5820, + 0x23154: 0x6c60a820, 0x23155: 0x6c1fb020, 0x23157: 0x6c962620, + 0x2315a: 0x6cc8b220, + 0x2316b: 0x6c55b020, + 0x23171: 0x6c28c420, + 0x23174: 0x6c4e6420, 0x23175: 0x6cc3fe20, 0x23176: 0x6ccc1e20, 0x23177: 0x6d2e1e20, + 0x23178: 0x6d2b0e20, 0x23179: 0x6c201220, 0x2317a: 0x6cb53620, 0x2317b: 0x6c2ef020, + 0x2317d: 0x6d2ce220, 0x2317e: 0x6ce83220, + // Block 0x8c6, offset 0x23180 + 0x23181: 0x6c221220, 0x23182: 0x6cc99e20, + 0x23184: 0x6c955620, 0x23187: 0x6c60be20, + 0x231a2: 0x6c95c220, 0x231a3: 0x6cbdb220, + 0x231a7: 0x6cbf6c20, + 0x231a8: 0x6c739420, + 0x231ac: 0x6c00e020, 0x231ad: 0x6c65e220, + 0x231b9: 0x6ce42a20, 0x231ba: 0x6cf1b620, + 0x231bd: 0x6cbbb620, + // Block 0x8c7, offset 0x231c0 + 0x231c1: 0x6cac0820, 0x231c2: 0x6c5d0620, + 0x231c5: 0x6c00ec20, 0x231c7: 0x6cd7a220, + 0x231c8: 0x6c887220, 0x231c9: 0x6c337420, 0x231cb: 0x6cdebc20, + 0x231cc: 0x6c6cbe20, 0x231cd: 0x6c0a8a20, 0x231ce: 0x6d0de820, 0x231cf: 0x6c435a20, + 0x231d0: 0x6cb18820, 0x231d1: 0x6d242c20, 0x231d2: 0x6ccf7c20, + 0x231d5: 0x6c651420, 0x231d7: 0x6c55dc20, + 0x231da: 0x6c8b4e20, + 0x231dc: 0x6c0bce20, 0x231dd: 0x6cdb4e20, 0x231de: 0x6c689420, + 0x231f8: 0x6d3cb820, + 0x231fd: 0x6c4dc220, + // Block 0x8c8, offset 0x23200 + 0x23207: 0x6c340e20, + 0x23210: 0x6d014e20, 0x23211: 0x6c9b8220, 0x23212: 0x6c3db420, 0x23213: 0x6c931a20, + 0x23214: 0x6ce0b220, 0x23217: 0x6c8ecc20, + 0x23218: 0x6cfaee20, 0x23219: 0x6cca9420, + 0x2321c: 0x6c240220, 0x2321d: 0x6d3c2620, 0x2321f: 0x6c188e20, + 0x23230: 0x6c892820, + 0x23234: 0x6c848c20, + // Block 0x8c9, offset 0x23240 + 0x23240: 0x6caf1a20, 0x23241: 0x6ceb9420, + 0x23244: 0x6cebb820, 0x23246: 0x6c8a4a20, 0x23247: 0x6d002620, + 0x23248: 0x6c20f620, 0x23249: 0x6c581a20, 0x2324a: 0x6ca7c220, 0x2324b: 0x6cb94820, + 0x2324c: 0x6c871c20, 0x2324f: 0x6cad3e20, + 0x23250: 0x6ce5b020, 0x23251: 0x6c8ece20, 0x23252: 0x6cf40a20, + 0x23264: 0x6d1d2620, 0x23266: 0x6d2c6820, + 0x23270: 0x6d21ee20, 0x23272: 0x6cfc5020, 0x23273: 0x6d083820, + 0x23274: 0x6cd68a20, 0x23275: 0x6cf74220, + 0x23278: 0x6c9a4220, 0x23279: 0x6ccbb420, 0x2327a: 0x6c893420, + 0x2327c: 0x6c6f9020, 0x2327d: 0x6c81ec20, + // Block 0x8ca, offset 0x23280 + 0x2328e: 0x6cff5020, 0x2328f: 0x6d407420, + 0x2329a: 0x6c8ee820, + 0x2329c: 0x6d2ff020, 0x2329e: 0x6d30c220, + 0x232a0: 0x6c830820, + 0x232ad: 0x6c32b420, + 0x232b7: 0x6c663420, + 0x232b8: 0x6cd68c20, 0x232b9: 0x6d425620, 0x232ba: 0x6cbd0c20, + 0x232bc: 0x6c81ca20, + // Block 0x8cb, offset 0x232c0 + 0x232c9: 0x6d248420, 0x232ca: 0x6d196620, 0x232cb: 0x6ca66e20, + 0x232ce: 0x6c134620, + 0x232d5: 0x6d0f1a20, 0x232d7: 0x6cc89020, + 0x232de: 0x6d0d1c20, 0x232df: 0x6c2f1e20, + 0x232e0: 0x6c9df620, + 0x232e7: 0x6c82a420, + 0x232e9: 0x6cecae20, + 0x232f0: 0x6ca2fe20, + 0x232f6: 0x6d0d2420, + 0x232fa: 0x6c831c20, + 0x232fd: 0x6ccc3020, 0x232fe: 0x6c551620, + // Block 0x8cc, offset 0x23300 + 0x23301: 0x6cf58020, 0x23302: 0x6cf58220, + 0x23304: 0x6d1fa020, 0x23305: 0x6c4d9220, 0x23307: 0x6c4d0820, + 0x23309: 0x6cebc820, 0x2330a: 0x6d068220, 0x2330b: 0x6caf3c20, + 0x2330c: 0x6cdf8e20, 0x2330d: 0x6cf58a20, 0x2330e: 0x6cf58c20, 0x2330f: 0x6c0d2420, + 0x23310: 0x6cbd1a20, 0x23311: 0x6cf58e20, 0x23312: 0x6d20c420, 0x23313: 0x6cf84a20, + 0x23315: 0x6c22b620, 0x23316: 0x6cba4020, 0x23317: 0x6cf95420, + 0x2331a: 0x6cec0620, 0x2331b: 0x6c35f420, + 0x2331c: 0x6d1fae20, 0x2331d: 0x6d041a20, 0x2331e: 0x6ca5c220, 0x2331f: 0x6c4de420, + 0x23320: 0x6c094a20, 0x23321: 0x6cd0ec20, + 0x23324: 0x6d2d6220, 0x23325: 0x6c2d4420, 0x23326: 0x6d222c20, + 0x23328: 0x6cab7a20, 0x2332a: 0x6c4ae820, 0x2332b: 0x6cee0620, + 0x2332c: 0x6cb8c620, 0x2332d: 0x6d14c820, + 0x23330: 0x6d40b020, 0x23332: 0x6cb8c820, 0x23333: 0x6c2f9c20, + 0x23334: 0x6c793420, 0x23336: 0x6c1f2620, 0x23337: 0x6d13e020, + 0x2333a: 0x6c4d9e20, 0x2333b: 0x6c7b6420, + // Block 0x8cd, offset 0x23340 + 0x23348: 0x6c2d5820, 0x23349: 0x6cf88a20, 0x2334a: 0x6d3e3c20, 0x2334b: 0x6c8d0420, + 0x2334c: 0x6d3f4e20, 0x2334e: 0x6d234420, 0x2334f: 0x6c5ccc20, + 0x23351: 0x6cd86e20, 0x23352: 0x6c76d620, + 0x2335a: 0x6c01c420, + 0x2335c: 0x6d1fca20, 0x2335d: 0x6c605420, 0x2335e: 0x6c5d2c20, 0x2335f: 0x6cb82e20, + 0x23360: 0x6c541020, 0x23361: 0x6c541220, 0x23363: 0x6c2d5c20, + 0x23369: 0x6d004c20, + 0x2336d: 0x6ccf5620, 0x2336e: 0x6ccc5c20, + 0x23372: 0x6d00ca20, 0x23373: 0x6d112220, + 0x23374: 0x6c26f420, 0x23376: 0x6d01d820, 0x23377: 0x6c1ac620, + 0x23378: 0x6d1fde20, 0x23379: 0x6c50a220, 0x2337a: 0x6ccc6220, + 0x2337f: 0x6cdf2e20, + // Block 0x8ce, offset 0x23380 + 0x23381: 0x6d3a1c20, 0x23383: 0x6c006c20, + 0x23387: 0x6cc3e020, + 0x23388: 0x6d2aea20, 0x2338a: 0x6c7e4a20, 0x2338b: 0x6c911620, + 0x2338c: 0x6c1fc820, 0x2338e: 0x6d1fe620, + 0x23396: 0x6ce41020, + 0x23398: 0x6cd1fa20, + 0x233a1: 0x6d000a20, 0x233a2: 0x6cf8ee20, + 0x233a8: 0x6c5e1220, 0x233a9: 0x6c1c8620, 0x233aa: 0x6d18e620, + 0x233af: 0x6cd54420, + 0x233b0: 0x6d270020, 0x233b1: 0x6c155420, 0x233b2: 0x6c36da20, 0x233b3: 0x6cf73620, + 0x233b4: 0x6cf74420, 0x233b5: 0x6d1d2a20, 0x233b6: 0x6d410020, 0x233b7: 0x6d28a220, + 0x233ba: 0x6d28a820, + // Block 0x8cf, offset 0x233c0 + 0x233c2: 0x6cde2c20, 0x233c3: 0x6ced7020, + 0x233c7: 0x6d031e20, + 0x233ca: 0x6cee4820, 0x233cb: 0x6c3f3820, + 0x233d0: 0x6c91b620, + 0x233de: 0x6c656820, + 0x233e1: 0x6d0c6620, 0x233e3: 0x6c094c20, + 0x233e4: 0x6c78fc20, 0x233e5: 0x6c497820, + 0x233e8: 0x6d3e1820, + 0x233ee: 0x6c7cce20, 0x233ef: 0x6d38e020, + 0x233f0: 0x6d35be20, 0x233f3: 0x6ce8a420, + 0x233f7: 0x6cde4c20, + 0x233f9: 0x6c1f3e20, 0x233fa: 0x6c196e20, 0x233fb: 0x6c1a7420, + 0x233fc: 0x6d3af420, 0x233fe: 0x6c26f220, + // Block 0x8d0, offset 0x23400 + 0x23407: 0x6c09c620, + 0x23409: 0x6c641c20, + 0x2340c: 0x6d17e620, 0x2340f: 0x6d26c420, + 0x23410: 0x6c428a20, + 0x23416: 0x6c41ae20, + 0x2341c: 0x6cbbac20, + 0x23420: 0x6c1eb020, 0x23421: 0x6c1eb620, 0x23422: 0x6c0a6a20, + 0x23426: 0x6c4b8a20, + 0x23429: 0x6c47e020, 0x2342a: 0x6c0e0020, 0x2342b: 0x6d1b9420, + 0x2342c: 0x6d3cbc20, 0x2342d: 0x6c47ec20, 0x2342f: 0x6c876820, + 0x23435: 0x6c35c420, 0x23436: 0x6c271420, + 0x2343c: 0x6c118620, + // Block 0x8d1, offset 0x23440 + 0x23442: 0x6ce3d420, 0x23443: 0x6c323620, + 0x23444: 0x6d168c20, + 0x23448: 0x6c2e6020, 0x2344a: 0x6ca97e20, + 0x2344c: 0x6d094420, 0x2344d: 0x6ca54a20, 0x2344e: 0x6c4b3220, 0x2344f: 0x6c779e20, + 0x23452: 0x6c201a20, + 0x23456: 0x6d2c2020, 0x23457: 0x6d1efc20, + 0x23459: 0x6c043420, 0x2345a: 0x6cd24a20, 0x2345b: 0x6c2d3e20, + 0x2345c: 0x6cabb420, 0x2345d: 0x6cc01620, + 0x23461: 0x6d094820, 0x23463: 0x6ca0e420, + 0x23464: 0x6c77e020, 0x23465: 0x6d1fb020, 0x23466: 0x6c68d220, 0x23467: 0x6c0ec620, + 0x2346c: 0x6d052020, + 0x23472: 0x6c9ce820, 0x23473: 0x6c95f220, + 0x23475: 0x6d094e20, 0x23477: 0x6c34e220, + 0x23479: 0x6c37c620, 0x2347a: 0x6cccd820, + 0x2347c: 0x6c7cee20, 0x2347d: 0x6ca52c20, 0x2347e: 0x6c9e1420, 0x2347f: 0x6c85ce20, + // Block 0x8d2, offset 0x23480 + 0x23480: 0x6c949620, 0x23482: 0x6c2e8420, + 0x23484: 0x6cb85620, 0x23485: 0x6c832a20, 0x23487: 0x6c997020, + 0x23489: 0x6c524c20, 0x2348a: 0x6c181620, 0x2348b: 0x6d35e620, + 0x2348d: 0x6c477c20, 0x2348e: 0x6c25b820, + 0x23493: 0x6cf4de20, + 0x23494: 0x6ce26420, 0x23497: 0x6cf61220, + 0x23498: 0x6d10a620, 0x23499: 0x6cefc620, 0x2349b: 0x6d40be20, + 0x2349c: 0x6c96be20, 0x2349d: 0x6d225a20, 0x2349e: 0x6caf0820, 0x2349f: 0x6d17a420, + 0x234a0: 0x6cbe1620, 0x234a1: 0x6d26b620, 0x234a2: 0x6c754c20, 0x234a3: 0x6c67e620, + 0x234a4: 0x6d06d820, 0x234a5: 0x6c07ea20, + 0x234aa: 0x6c95b020, 0x234ab: 0x6d3c6020, + 0x234b2: 0x6c326420, 0x234b3: 0x6cfe4020, + 0x234b6: 0x6c5be420, + 0x234ba: 0x6c479e20, 0x234bb: 0x6c77b020, + 0x234be: 0x6d037c20, 0x234bf: 0x6c5cf020, + // Block 0x8d3, offset 0x234c0 + 0x234c0: 0x6c0af820, + 0x234c4: 0x6c78c420, 0x234c5: 0x6c77b220, + 0x234c8: 0x6c25e820, + 0x234cf: 0x6c92a420, + 0x234d1: 0x6d41c620, 0x234d2: 0x6d2a2020, 0x234d3: 0x6c692e20, + 0x234d4: 0x6c49a020, + 0x234d9: 0x6d0c2220, 0x234da: 0x6c376620, + 0x234dc: 0x6cbe8820, 0x234df: 0x6c2ae820, + 0x234e0: 0x6cd8ea20, 0x234e1: 0x6cdc7220, 0x234e2: 0x6c8aa420, + 0x234e7: 0x6ccdb020, + 0x234e9: 0x6c0a6e20, 0x234ea: 0x6cf0e420, 0x234eb: 0x6d136020, + 0x234ed: 0x6d2d5020, 0x234ef: 0x6d129420, + 0x234f0: 0x6c2e4c20, 0x234f1: 0x6c00ee20, + 0x234f4: 0x6c680620, 0x234f7: 0x6cda6220, + 0x234f9: 0x6c581c20, 0x234fa: 0x6d246020, + 0x234fd: 0x6cc50a20, + // Block 0x8d4, offset 0x23500 + 0x23500: 0x6c2cfa20, 0x23501: 0x6d413e20, 0x23502: 0x6c047420, + 0x23504: 0x6cbd5a20, 0x23507: 0x6c633620, + 0x23509: 0x6cafcc20, + 0x2350c: 0x6ce7ec20, + 0x23510: 0x6c1da220, + 0x23515: 0x6c4af020, + 0x23520: 0x6c5ee620, + 0x23528: 0x6d096420, 0x2352a: 0x6c2d6020, + 0x2352d: 0x6c0bac20, 0x2352e: 0x6d291c20, 0x2352f: 0x6ce76820, + 0x23536: 0x6ccd5820, + 0x23538: 0x6c482620, 0x23539: 0x6cc3ec20, + // Block 0x8d5, offset 0x23540 + 0x23540: 0x6c47cc20, + 0x23548: 0x6c55b220, 0x23549: 0x6c7b0420, + 0x2354c: 0x6c46d820, 0x2354e: 0x6cdb3220, + 0x23550: 0x6c1df620, 0x23552: 0x6c795c20, + 0x23554: 0x6c317e20, + 0x23559: 0x6d190a20, + 0x2355c: 0x6c2a4220, 0x2355d: 0x6cbaf820, + 0x23563: 0x6c900220, + 0x23565: 0x6c84cc20, 0x23567: 0x6c87a020, + 0x23568: 0x6cbe6420, 0x2356a: 0x6ceed420, + 0x2356c: 0x6ca1bc20, + 0x23571: 0x6cb74420, 0x23573: 0x6c67a020, + 0x23574: 0x6d008c20, + 0x23579: 0x6c277820, 0x2357b: 0x6c90a420, + // Block 0x8d6, offset 0x23580 + 0x23582: 0x6c497620, + 0x23586: 0x6cadc820, + 0x23589: 0x6cafce20, 0x2358b: 0x6c735420, + 0x2358d: 0x6c06aa20, 0x2358e: 0x6c747c20, 0x2358f: 0x6c738420, + 0x23590: 0x6cd3b420, + 0x23595: 0x6d014a20, + 0x23598: 0x6cc8a820, 0x23599: 0x6c6ec220, 0x2359a: 0x6cb3be20, 0x2359b: 0x6cc9f420, + 0x235a0: 0x6c5e7a20, + 0x235a9: 0x6c3b1820, 0x235aa: 0x6c06e820, 0x235ab: 0x6c6bc220, + 0x235ac: 0x6cc94020, 0x235ae: 0x6caf3e20, + 0x235b4: 0x6c2c2220, 0x235b5: 0x6c98c820, 0x235b6: 0x6c03ec20, 0x235b7: 0x6c03ee20, + 0x235b8: 0x6ce57820, 0x235b9: 0x6c8cba20, 0x235ba: 0x6cd0f020, 0x235bb: 0x6d31c220, + 0x235bc: 0x6caf4620, 0x235bd: 0x6cf4c620, 0x235bf: 0x6d2b4220, + // Block 0x8d7, offset 0x235c0 + 0x235c0: 0x6c063a20, + 0x235c7: 0x6c938020, + 0x235d6: 0x6c4fa020, 0x235d7: 0x6c30e020, + 0x235d8: 0x6c3e0e20, 0x235d9: 0x6ca5c420, + 0x235dd: 0x6c43de20, + 0x235e0: 0x6cc79820, 0x235e1: 0x6cfbfc20, + 0x235e4: 0x6c096020, + 0x235ee: 0x6c98d220, + 0x235f2: 0x6cc70a20, 0x235f3: 0x6cc04c20, + 0x235f7: 0x6c0ee820, + 0x235f9: 0x6c4fa620, 0x235fa: 0x6ca4ee20, 0x235fb: 0x6d0c8620, + // Block 0x8d8, offset 0x23600 + 0x23603: 0x6cad5c20, + 0x23604: 0x6cdbc020, 0x23606: 0x6ceba220, + 0x23608: 0x6cc10a20, 0x23609: 0x6c83d620, 0x2360a: 0x6c2a7220, + 0x2360c: 0x6c6aca20, 0x2360d: 0x6c6acc20, 0x2360e: 0x6c4bc820, 0x2360f: 0x6c649c20, + 0x23610: 0x6c099e20, + 0x23620: 0x6cca5620, 0x23621: 0x6c053020, 0x23622: 0x6c214a20, + 0x23626: 0x6ca3c220, 0x23627: 0x6c054e20, + 0x2362a: 0x6cc68820, 0x2362b: 0x6c636c20, + 0x2362c: 0x6cd9c220, + 0x23630: 0x6c2a7420, + 0x2363e: 0x6cfaac20, 0x2363f: 0x6d2d8020, + // Block 0x8d9, offset 0x23640 + 0x23640: 0x6c999620, 0x23643: 0x6d3e5020, + 0x23645: 0x6c623c20, 0x23646: 0x6cb61c20, + 0x2364b: 0x6cc82420, + 0x2364c: 0x6cdd2c20, 0x2364d: 0x6cc71620, 0x2364e: 0x6cf50c20, 0x2364f: 0x6cc69620, + 0x23650: 0x6cc69820, + 0x2365a: 0x6cde7620, + 0x2365c: 0x6cd9d020, + 0x23664: 0x6c842c20, 0x23667: 0x6c24fc20, + 0x23668: 0x6d3fb020, 0x23669: 0x6c9ad220, 0x2366a: 0x6cf80820, + 0x2366c: 0x6c989e20, 0x2366d: 0x6ca86220, 0x2366f: 0x6cdbd220, + 0x23671: 0x6cadea20, + 0x23674: 0x6c0a2820, 0x23675: 0x6c2c9020, + 0x23678: 0x6cc1be20, 0x23679: 0x6cbbfa20, 0x2367b: 0x6c3b4420, + 0x2367c: 0x6cdb1620, + // Block 0x8da, offset 0x23680 + 0x23683: 0x6d05e620, + 0x23687: 0x6cc72420, + 0x23688: 0x6c5f3220, 0x2368b: 0x6cc1d620, + 0x2368c: 0x6c8b3820, + 0x23695: 0x6ccafe20, + 0x23698: 0x6c7dd620, 0x2369a: 0x6c257620, 0x2369b: 0x6d136c20, + 0x2369c: 0x6c0e3220, 0x2369e: 0x6c6b5c20, + 0x236a0: 0x6cc1e020, 0x236a1: 0x6cc1e220, + 0x236a5: 0x6c9b6e20, 0x236a6: 0x6cc49020, + 0x236a8: 0x6c0d5e20, 0x236a9: 0x6c178220, + 0x236ac: 0x6c31d420, + 0x236b6: 0x6cc4ec20, 0x236b7: 0x6cfb0220, + 0x236ba: 0x6ce25220, 0x236bb: 0x6cc20a20, + 0x236bc: 0x6ca8b420, 0x236bf: 0x6cd51c20, + // Block 0x8db, offset 0x236c0 + 0x236c0: 0x6c920220, 0x236c2: 0x6c7dda20, + 0x236c8: 0x6c9f3620, 0x236c9: 0x6c9f9e20, + 0x236cd: 0x6c287e20, + 0x236d0: 0x6d1b6820, 0x236d3: 0x6d001020, + 0x236d7: 0x6c618820, + 0x236dc: 0x6d19b220, + 0x236e6: 0x6c3b3820, 0x236e7: 0x6d383420, + 0x236eb: 0x6c47c020, + 0x236f1: 0x6c13c420, 0x236f3: 0x6c8e3c20, + 0x236f6: 0x6c102c20, + 0x236fa: 0x6cabae20, 0x236fb: 0x6cd87620, + 0x236fc: 0x6c29b820, 0x236fd: 0x6d31b020, + // Block 0x8dc, offset 0x23700 + 0x23700: 0x6cccb620, 0x23702: 0x6c1fbe20, + 0x23704: 0x6c6fa820, + 0x2370a: 0x6c787620, 0x2370b: 0x6c1af820, + 0x23711: 0x6c565c20, 0x23712: 0x6c858220, 0x23713: 0x6ccbc620, + 0x23716: 0x6cac1820, 0x23717: 0x6ceee220, + 0x23718: 0x6cf42620, + 0x2371c: 0x6d1c5420, + 0x23721: 0x6ccbc820, 0x23722: 0x6c2b1020, + 0x23725: 0x6c27b820, + 0x23731: 0x6ce83a20, 0x23732: 0x6c50ca20, 0x23733: 0x6cb34e20, + 0x23735: 0x6d34f620, 0x23736: 0x6ca98020, 0x23737: 0x6ca67e20, + 0x2373d: 0x6cc6f820, 0x2373e: 0x6c48ea20, + // Block 0x8dd, offset 0x23740 + 0x23740: 0x6d343e20, 0x23743: 0x6c5fe220, + 0x2375c: 0x6c392c20, 0x2375f: 0x6c6a8020, + 0x23760: 0x6c4d3820, + 0x23764: 0x6d2e4e20, 0x23766: 0x6cf86420, + 0x23769: 0x6d3e1220, + 0x2376c: 0x6cf76e20, 0x2376d: 0x6cb1ac20, + 0x23770: 0x6c078020, 0x23772: 0x6c657220, + // Block 0x8de, offset 0x23780 + 0x23793: 0x6c665c20, + 0x23796: 0x6d28ae20, + 0x2379e: 0x6c07ac20, 0x2379f: 0x6c995e20, + 0x237a2: 0x6d2a7620, 0x237a3: 0x6d3c3820, + 0x237a5: 0x6c7bbe20, + 0x237a8: 0x6c089e20, 0x237aa: 0x6cac2220, + 0x237bc: 0x6c996020, 0x237bd: 0x6ce09020, + // Block 0x8df, offset 0x237c0 + 0x237de: 0x6cea7a20, 0x237df: 0x6c95aa20, + 0x237e2: 0x6cdf9a20, + 0x237f1: 0x6c016a20, + 0x237f7: 0x6c4e0420, + 0x237f8: 0x6d3a0c20, 0x237fa: 0x6c34e820, 0x237fb: 0x6c34ea20, + 0x237fc: 0x6c421c20, + // Block 0x8e0, offset 0x23800 + 0x23806: 0x6cbf8c20, + 0x23808: 0x6cee1220, 0x2380a: 0x6ca10420, 0x2380b: 0x6d30f220, + 0x2380c: 0x6cf1d620, 0x2380d: 0x6d3c3a20, 0x2380f: 0x6c69fe20, + 0x23810: 0x6cad8e20, + 0x23818: 0x6cdaa820, + 0x2381d: 0x6c724020, + 0x23820: 0x6cb4ec20, 0x23821: 0x6c11f420, 0x23823: 0x6ce94a20, + 0x23824: 0x6ccbec20, 0x23826: 0x6ceb1620, + 0x23829: 0x6c579420, 0x2382b: 0x6d176220, + // Block 0x8e1, offset 0x23840 + 0x23860: 0x6c9f4820, 0x23861: 0x6d37b420, + 0x23865: 0x6cd77e20, + 0x23869: 0x6d176420, 0x2386a: 0x6cee1420, 0x2386b: 0x6c024220, + 0x23876: 0x6cda7820, + 0x2387e: 0x6c4b0020, 0x2387f: 0x6ceb8020, + // Block 0x8e2, offset 0x23880 + 0x23880: 0x6c5b5220, 0x23883: 0x6d06dc20, + 0x23884: 0x6d296c20, 0x23886: 0x6d3f1220, 0x23887: 0x6c0b9e20, + 0x23889: 0x6c26a620, 0x2388a: 0x6d19ca20, 0x2388b: 0x6cc35c20, + 0x2388e: 0x6c580e20, 0x2388f: 0x6ca2e020, + 0x23890: 0x6d28ba20, 0x23892: 0x6ce32620, + 0x23898: 0x6d14f820, 0x23899: 0x6cdfaa20, 0x2389a: 0x6ccf1820, 0x2389b: 0x6cd78220, + 0x2389d: 0x6d03e620, + 0x238a0: 0x6d1fce20, 0x238a3: 0x6c3b7620, + // Block 0x8e3, offset 0x238c0 + 0x238c7: 0x6c78b220, + 0x238cb: 0x6c3e7c20, + 0x238d2: 0x6c9fb220, + 0x238da: 0x6cb09820, + 0x238dc: 0x6c604220, 0x238dd: 0x6cbc4a20, 0x238de: 0x6d37fc20, 0x238df: 0x6c422820, + 0x238e0: 0x6d24f820, 0x238e1: 0x6c1b3620, + 0x238e5: 0x6cba5a20, 0x238e7: 0x6d424220, + 0x238e9: 0x6d00bc20, 0x238ea: 0x6c98ea20, + 0x238ec: 0x6c556e20, 0x238ee: 0x6cb0a420, 0x238ef: 0x6d0a9420, + 0x238f1: 0x6cf9d220, 0x238f2: 0x6ce34420, + 0x238f5: 0x6ca34e20, 0x238f6: 0x6c1fac20, + // Block 0x8e4, offset 0x23900 + 0x23900: 0x6cf45020, + 0x2392c: 0x6c599820, 0x2392d: 0x6d096620, 0x2392e: 0x6ce26620, + 0x23930: 0x6cbc4c20, 0x23933: 0x6c685020, + 0x2393c: 0x6c293020, 0x2393d: 0x6c044620, + // Block 0x8e5, offset 0x23940 + 0x2394d: 0x6c297620, 0x2394e: 0x6c79f820, + 0x23950: 0x6c70b220, 0x23951: 0x6ccc0a20, 0x23952: 0x6c6dc820, + 0x23955: 0x6ca06c20, 0x23956: 0x6caa0220, + 0x23958: 0x6cd78e20, 0x2395a: 0x6cd5f820, 0x2395b: 0x6d3c2020, + 0x2395c: 0x6c3ec220, 0x2395f: 0x6d29de20, + 0x23960: 0x6d00cc20, 0x23961: 0x6c812820, 0x23962: 0x6ce70420, + 0x23969: 0x6d306e20, + 0x2396c: 0x6c11fe20, 0x2396e: 0x6d26cc20, + 0x23971: 0x6d393620, + // Block 0x8e6, offset 0x23980 + 0x2399a: 0x6cdfb420, + 0x2399e: 0x6d0cb420, 0x2399f: 0x6c928820, + 0x239a0: 0x6d0db620, + 0x239a6: 0x6d2ae020, 0x239a7: 0x6cd66c20, + // Block 0x8e7, offset 0x239c0 + 0x239c5: 0x6c4c3620, 0x239c6: 0x6d3a2020, + 0x239c8: 0x6cc7bc20, 0x239c9: 0x6cc7be20, + 0x239cc: 0x6c76e620, 0x239cd: 0x6c626220, 0x239ce: 0x6c42da20, + 0x239d2: 0x6d01fa20, + 0x239d5: 0x6caba220, 0x239d6: 0x6c64d420, + 0x239da: 0x6d349220, 0x239db: 0x6d2c4820, + 0x239dd: 0x6c53a820, 0x239df: 0x6c7b7020, + 0x239e1: 0x6c0f4420, + 0x239e4: 0x6ccb4820, 0x239e5: 0x6c01cc20, 0x239e6: 0x6c66b820, + 0x239e8: 0x6ce2ac20, 0x239eb: 0x6cd93420, + 0x239ed: 0x6c9c0c20, 0x239ee: 0x6d1a9420, 0x239ef: 0x6cdfb620, + 0x239f0: 0x6c4c3820, 0x239f3: 0x6cc84620, + 0x239f4: 0x6cf0ba20, 0x239f7: 0x6cd8de20, + // Block 0x8e8, offset 0x23a00 + 0x23a24: 0x6cb7c220, 0x23a26: 0x6d2f0a20, + // Block 0x8e9, offset 0x23a40 + 0x23a45: 0x6c304020, 0x23a46: 0x6c3eee20, 0x23a47: 0x6cd07620, + 0x23a48: 0x6cdb1a20, 0x23a49: 0x6d18a020, 0x23a4a: 0x6c891820, + 0x23a4c: 0x6c516e20, 0x23a4e: 0x6d319420, + 0x23a50: 0x6d2afe20, 0x23a52: 0x6c250c20, 0x23a53: 0x6c250e20, + 0x23a5d: 0x6c3cf220, 0x23a5e: 0x6c853220, 0x23a5f: 0x6c7a0220, + 0x23a63: 0x6d000620, + 0x23a64: 0x6d1fee20, + // Block 0x8ea, offset 0x23a80 + 0x23a83: 0x6c4fea20, + 0x23a89: 0x6c4f0620, 0x23a8a: 0x6c790c20, + 0x23a9d: 0x6d23ec20, + 0x23aa3: 0x6c58e220, + 0x23aa4: 0x6cdd3e20, 0x23aa6: 0x6c7e9c20, + 0x23aa8: 0x6c313c20, 0x23aa9: 0x6c66de20, 0x23aaa: 0x6cb32020, 0x23aab: 0x6c0b5420, + 0x23ab0: 0x6d097420, 0x23ab2: 0x6c0bc820, + 0x23ab7: 0x6cf0e620, + // Block 0x8eb, offset 0x23ac0 + 0x23ae1: 0x6c28d620, 0x23ae2: 0x6c6b5e20, 0x23ae3: 0x6c046020, + 0x23ae5: 0x6ca74420, 0x23ae6: 0x6cfd2620, 0x23ae7: 0x6ccb7620, + 0x23aea: 0x6c576420, 0x23aeb: 0x6c1fa420, + 0x23aee: 0x6caba620, 0x23aef: 0x6c8b5020, + 0x23af0: 0x6c2ba420, 0x23af1: 0x6c114e20, 0x23af3: 0x6d2c5e20, + 0x23af5: 0x6c936820, + 0x23af9: 0x6c5e1420, + 0x23afc: 0x6c86ce20, 0x23afd: 0x6d1d1620, 0x23aff: 0x6cf03a20, + // Block 0x8ec, offset 0x23b00 + 0x23b00: 0x6c0a8c20, 0x23b01: 0x6c4c9620, 0x23b03: 0x6cb0ce20, + 0x23b06: 0x6c0c3a20, + 0x23b20: 0x6d0dea20, + 0x23b24: 0x6d3bee20, + 0x23b32: 0x6c539420, + 0x23b36: 0x6c8c7820, 0x23b37: 0x6c36ce20, + 0x23b39: 0x6d1b1820, 0x23b3a: 0x6c808020, + 0x23b3c: 0x6d123820, 0x23b3f: 0x6d08c820, + // Block 0x8ed, offset 0x23b40 + 0x23b40: 0x6c86fa20, + 0x23b68: 0x6c808420, 0x23b69: 0x6c8d9020, 0x23b6a: 0x6cf73820, 0x23b6b: 0x6c52de20, + 0x23b6d: 0x6c696a20, 0x23b6e: 0x6d3dd220, + 0x23b72: 0x6d34b620, + 0x23b75: 0x6c0fb820, 0x23b76: 0x6ce29620, 0x23b77: 0x6c019820, + 0x23b7a: 0x6d0a5220, 0x23b7b: 0x6c82fa20, + 0x23b7c: 0x6d29ec20, 0x23b7d: 0x6c5b7c20, + // Block 0x8ee, offset 0x23b80 + 0x23b8e: 0x6cf92620, 0x23b8f: 0x6c539820, + 0x23b91: 0x6c397820, 0x23b92: 0x6c662420, 0x23b93: 0x6c23c820, + 0x23b94: 0x6d28da20, 0x23b96: 0x6c10e020, + 0x23b98: 0x6d1ece20, 0x23b9b: 0x6c338820, + 0x23b9c: 0x6cac4e20, + 0x23ba5: 0x6cdede20, 0x23ba7: 0x6cacc420, + 0x23bab: 0x6c386e20, + 0x23bac: 0x6cf74620, + 0x23bb6: 0x6d124c20, 0x23bb7: 0x6c957620, + 0x23bba: 0x6c0b2220, + 0x23bbc: 0x6c6d7420, 0x23bbd: 0x6c876a20, + // Block 0x8ef, offset 0x23bc0 + 0x23bca: 0x6d0f0a20, 0x23bcb: 0x6c315020, + 0x23bce: 0x6c981620, + 0x23bd0: 0x6c45ca20, 0x23bd1: 0x6cc51420, 0x23bd2: 0x6c121220, + 0x23be3: 0x6c9ae420, + 0x23bf1: 0x6c47fc20, 0x23bf2: 0x6cd69e20, + 0x23bf8: 0x6d0d2020, 0x23bf9: 0x6c0adc20, + // Block 0x8f0, offset 0x23c00 + 0x23c00: 0x6c0c6a20, 0x23c01: 0x6c1a6220, 0x23c02: 0x6c7ce620, + 0x23c04: 0x6c5d8820, + 0x23c0d: 0x6c1be620, 0x23c0f: 0x6cf2d020, + 0x23c11: 0x6c23e820, 0x23c12: 0x6d357a20, + 0x23c19: 0x6cd70820, + 0x23c1c: 0x6c48a220, 0x23c1d: 0x6cb40020, 0x23c1e: 0x6d068620, 0x23c1f: 0x6cd7d020, + 0x23c21: 0x6cf42e20, + 0x23c2e: 0x6c3d4020, + 0x23c30: 0x6cd31e20, 0x23c33: 0x6c5b9220, + 0x23c34: 0x6c597c20, 0x23c35: 0x6cabb620, + 0x23c3c: 0x6d3a5e20, 0x23c3e: 0x6d14a220, + // Block 0x8f1, offset 0x23c40 + 0x23c43: 0x6c85a820, + 0x23c44: 0x6ccd3420, + 0x23c5c: 0x6c9f3820, 0x23c5e: 0x6c437c20, + 0x23c60: 0x6c54b020, + 0x23c6f: 0x6c371220, + 0x23c70: 0x6c380e20, 0x23c73: 0x6d06aa20, + 0x23c74: 0x6d14ca20, + 0x23c7e: 0x6d1d3620, + // Block 0x8f2, offset 0x23c80 + 0x23c94: 0x6c1b1820, + 0x23c99: 0x6d14cc20, + 0x23ca5: 0x6c2b6a20, 0x23ca6: 0x6c5b5020, 0x23ca7: 0x6c510c20, + 0x23ca9: 0x6d2c7a20, + 0x23cb6: 0x6d27a420, 0x23cb7: 0x6cfa9c20, + // Block 0x8f3, offset 0x23cc0 + 0x23ccc: 0x6cfb4c20, 0x23ccd: 0x6c81d220, 0x23cce: 0x6cced420, 0x23ccf: 0x6cd36820, + 0x23cd0: 0x6d3d5220, + 0x23ce4: 0x6c0ca820, 0x23ce5: 0x6c6fc020, 0x23ce6: 0x6cf29220, 0x23ce7: 0x6c68f820, + 0x23ce8: 0x6c3e7e20, 0x23cea: 0x6cfd7620, 0x23ceb: 0x6c768a20, + // Block 0x8f4, offset 0x23d00 + 0x23d32: 0x6ca4fe20, + 0x23d34: 0x6c5ddc20, 0x23d35: 0x6c605620, 0x23d36: 0x6c7e7e20, + 0x23d3b: 0x6c3d1220, + 0x23d3c: 0x6ccd4c20, 0x23d3d: 0x6c8a9c20, 0x23d3e: 0x6c9ee020, 0x23d3f: 0x6c182620, + // Block 0x8f5, offset 0x23d40 + 0x23d42: 0x6ca05e20, + 0x23d4f: 0x6c909820, + 0x23d68: 0x6c34f620, 0x23d6b: 0x6ca50020, + 0x23d6d: 0x6c5ee820, + 0x23d70: 0x6d3b0820, + // Block 0x8f6, offset 0x23d80 + 0x23d82: 0x6cdad220, 0x23d83: 0x6c34f820, + 0x23d87: 0x6c6f2820, + 0x23d8a: 0x6d291e20, 0x23d8b: 0x6c5b5c20, + 0x23d8c: 0x6d1cfe20, 0x23d8d: 0x6c557a20, 0x23d8e: 0x6c8c5820, 0x23d8f: 0x6cf25820, + 0x23d90: 0x6c4ee820, + 0x23d94: 0x6ca40620, + 0x23db7: 0x6cf8b020, + 0x23db9: 0x6c422c20, + 0x23dbe: 0x6c51d420, 0x23dbf: 0x6c5f0820, + // Block 0x8f7, offset 0x23dc0 + 0x23dc0: 0x6cfdf020, 0x23dc1: 0x6ccc0c20, + 0x23dd0: 0x6cea0c20, 0x23dd2: 0x6d2f6c20, 0x23dd3: 0x6cd60420, + 0x23dd5: 0x6d1fe820, 0x23dd6: 0x6c64d820, + 0x23ddc: 0x6d2a8c20, + 0x23de4: 0x6d2ed820, + 0x23dfd: 0x6cc92c20, + // Block 0x8f8, offset 0x23e00 + 0x23e04: 0x6d0c2420, + 0x23e0b: 0x6c255a20, + 0x23e17: 0x6c608a20, + 0x23e18: 0x6cce1a20, + 0x23e23: 0x6c36a820, + 0x23e24: 0x6c817420, 0x23e25: 0x6ce07820, 0x23e27: 0x6d3b2820, + 0x23e2d: 0x6c8c3620, 0x23e2f: 0x6d2b9220, + 0x23e31: 0x6c732a20, 0x23e32: 0x6c550220, + // Block 0x8f9, offset 0x23e40 + 0x23e57: 0x6cd07820, + 0x23e58: 0x6c5dfa20, + 0x23e5c: 0x6c7d2020, + 0x23e71: 0x6c1f7620, 0x23e72: 0x6d395020, + 0x23e76: 0x6c023020, + 0x23e78: 0x6d3db220, + 0x23e7d: 0x6d03a420, 0x23e7f: 0x6c9ef420, + // Block 0x8fa, offset 0x23e80 + 0x23e80: 0x6c550c20, + 0x23e94: 0x6ce01a20, + 0x23e99: 0x6c0a7220, + 0x23ea3: 0x6c2f8420, + 0x23ea9: 0x6c769820, 0x23eab: 0x6c0c3c20, + 0x23eb0: 0x6c5e1620, 0x23eb1: 0x6c8b5220, 0x23eb2: 0x6c24b820, + // Block 0x8fb, offset 0x23ec0 + 0x23ec3: 0x6cfd2820, + 0x23ec4: 0x6cc55620, + 0x23ed3: 0x6d270220, + 0x23ed5: 0x6d09be20, 0x23ed7: 0x6c8a8020, + 0x23ee3: 0x6ccc2a20, + 0x23ee6: 0x6cd3fc20, + 0x23eea: 0x6d025c20, + 0x23ef3: 0x6cff4a20, + 0x23ef7: 0x6d129620, + 0x23ef8: 0x6c805020, 0x23ef9: 0x6d192e20, + 0x23eff: 0x6c88da20, + // Block 0x8fc, offset 0x23f00 + 0x23f14: 0x6c0fba20, 0x23f15: 0x6c126e20, + 0x23f1d: 0x6d124220, + 0x23f26: 0x6c893620, + 0x23f3b: 0x6cdef020, + // Block 0x8fd, offset 0x23f40 + 0x23f51: 0x6c62ec20, + 0x23f54: 0x6cf75220, 0x23f55: 0x6d377020, + 0x23f5a: 0x6cf75620, + 0x23f5d: 0x6d273220, + 0x23f64: 0x6cfc6c20, 0x23f66: 0x6d3df820, + 0x23f6f: 0x6d2ef820, + 0x23f75: 0x6d410620, 0x23f77: 0x6ca2ce20, + 0x23f7e: 0x6c2a0420, 0x23f7f: 0x6c8ad620, + // Block 0x8fe, offset 0x23f80 + 0x23f80: 0x6ca2d220, + 0x23f89: 0x6cad5420, 0x23f8b: 0x6c721620, + 0x23f96: 0x6c95b220, + 0x23f99: 0x6cd64820, 0x23f9a: 0x6cce5420, + 0x23f9d: 0x6c95b420, 0x23f9f: 0x6c3b3a20, + 0x23fa3: 0x6c065820, + 0x23fa8: 0x6c865820, 0x23fab: 0x6d04a220, + 0x23fb6: 0x6c290820, + // Block 0x8ff, offset 0x23fc0 + 0x23fc0: 0x6c1a8c20, + 0x23fc4: 0x6d2f1420, 0x23fc7: 0x6cda3a20, + 0x23fca: 0x6cd03e20, + 0x23fd2: 0x6c447220, + 0x23fd8: 0x6d209020, 0x23fda: 0x6c5ad420, 0x23fdb: 0x6c183e20, + 0x23fdd: 0x6c698420, 0x23fde: 0x6d3ac420, 0x23fdf: 0x6cd4b220, + 0x23fe2: 0x6cff8420, + 0x23fe6: 0x6ca91420, + 0x23fed: 0x6c674420, 0x23fef: 0x6c674820, + 0x23ff7: 0x6c2e0e20, + 0x23ffd: 0x6cbb0c20, 0x23ffe: 0x6cc04e20, + // Block 0x900, offset 0x24000 + 0x24000: 0x6c3c4020, + 0x24006: 0x6d2e6620, 0x24007: 0x6c77fa20, + 0x24012: 0x6c2ece20, 0x24013: 0x6d2aec20, + 0x24016: 0x6c49f820, 0x24017: 0x6ccb5c20, + 0x24018: 0x6c3bea20, 0x2401b: 0x6c67bc20, + 0x2401d: 0x6d0cd820, 0x2401e: 0x6d370820, + 0x24022: 0x6c872220, + 0x24026: 0x6c8ddc20, + 0x2402a: 0x6d146420, + 0x2402c: 0x6cc23e20, 0x2402d: 0x6cac5220, 0x2402e: 0x6c463a20, + 0x24030: 0x6c640220, 0x24031: 0x6c50da20, 0x24033: 0x6caf0c20, + 0x24035: 0x6c721820, 0x24037: 0x6c180620, + 0x2403a: 0x6c8af220, 0x2403b: 0x6cd35220, + 0x2403c: 0x6cb37a20, 0x2403d: 0x6cfe2820, 0x2403f: 0x6cb08e20, + // Block 0x901, offset 0x24040 + 0x24040: 0x6c95ae20, 0x24041: 0x6c243420, 0x24043: 0x6d225020, + 0x24047: 0x6c79a820, + 0x24048: 0x6d01b020, + 0x2404d: 0x6ced1e20, 0x2404e: 0x6d0d8e20, 0x2404f: 0x6cadd820, + 0x24053: 0x6c1a0620, + 0x24058: 0x6ce34620, 0x24059: 0x6c182820, 0x2405a: 0x6c09ce20, 0x2405b: 0x6c890820, + 0x2405c: 0x6c641e20, 0x2405e: 0x6ce68220, + 0x24062: 0x6ce2f620, + 0x24068: 0x6c2edc20, 0x2406a: 0x6cd60620, 0x2406b: 0x6c842e20, + 0x2406c: 0x6c936020, 0x2406d: 0x6cf97420, 0x2406f: 0x6c24e420, + 0x24073: 0x6c0e9220, + 0x24074: 0x6ce9ba20, 0x24075: 0x6cb45020, 0x24077: 0x6c8c6220, + 0x24078: 0x6c3bec20, 0x2407a: 0x6c0f7620, 0x2407b: 0x6c163620, + 0x2407e: 0x6c290a20, 0x2407f: 0x6cdf5820, + // Block 0x902, offset 0x24080 + 0x24080: 0x6c2a3c20, 0x24083: 0x6c872420, + 0x24085: 0x6d0b1220, 0x24086: 0x6d0b1820, 0x24087: 0x6d2d6620, + 0x2408a: 0x6d14e220, + 0x2408c: 0x6cb4fa20, + 0x24094: 0x6c564420, 0x24096: 0x6ce62a20, + 0x24098: 0x6c79cc20, 0x2409b: 0x6c213220, + 0x2409c: 0x6d1f0020, 0x2409d: 0x6c3bd020, 0x2409f: 0x6caab220, + 0x240a0: 0x6ce53020, 0x240a1: 0x6c6cde20, 0x240a2: 0x6cafbc20, 0x240a3: 0x6c18a420, + 0x240a4: 0x6cb08820, 0x240a6: 0x6c6bc420, 0x240a7: 0x6c4ac820, + 0x240b2: 0x6d3c3220, + 0x240b5: 0x6c552420, 0x240b6: 0x6c1e2420, 0x240b7: 0x6cd5a020, + 0x240b8: 0x6ce1b420, 0x240b9: 0x6cafc620, 0x240ba: 0x6cc70020, 0x240bb: 0x6cc70220, + 0x240bd: 0x6c544e20, 0x240be: 0x6cae5a20, + // Block 0x903, offset 0x240c0 + 0x240c5: 0x6c043e20, 0x240c7: 0x6cf99a20, + 0x240cb: 0x6cbdcc20, + 0x240cc: 0x6ca63220, 0x240ce: 0x6ce1b620, 0x240cf: 0x6cc26a20, + 0x240d2: 0x6d008e20, + 0x240d4: 0x6d2fa820, 0x240d5: 0x6c570e20, 0x240d6: 0x6d02c820, + 0x240d8: 0x6cd42e20, 0x240db: 0x6ce8a620, + 0x240dd: 0x6c895020, 0x240de: 0x6c097c20, 0x240df: 0x6c1e5a20, + 0x240e1: 0x6d037020, 0x240e3: 0x6d02cc20, + 0x240e4: 0x6c3d6820, + 0x240e9: 0x6c6bde20, + 0x240ed: 0x6c3f5e20, + 0x240f0: 0x6ce27a20, 0x240f1: 0x6ccf4c20, + 0x240f4: 0x6c174620, 0x240f5: 0x6c20b820, + 0x240fc: 0x6cc47a20, 0x240fd: 0x6c545620, 0x240fe: 0x6c07ec20, + // Block 0x904, offset 0x24100 + 0x24100: 0x6c113020, + 0x24105: 0x6ca21420, + 0x24109: 0x6d059e20, 0x2410a: 0x6c2eaa20, + 0x2410d: 0x6c15c220, 0x2410e: 0x6d215c20, 0x2410f: 0x6d383620, + 0x24113: 0x6c83e620, + 0x24114: 0x6cd43420, + 0x2411a: 0x6c31a420, + 0x2411c: 0x6c98bc20, 0x2411d: 0x6c59d420, 0x2411f: 0x6ce22c20, + 0x24121: 0x6c326620, 0x24122: 0x6ce34820, 0x24123: 0x6cd10820, + 0x24124: 0x6c9a0e20, + 0x24128: 0x6d316820, 0x24129: 0x6cbd9020, 0x2412a: 0x6cb0ae20, 0x2412b: 0x6ce11620, + 0x2412c: 0x6c123820, 0x2412d: 0x6d112420, 0x2412f: 0x6d054620, + 0x24130: 0x6c053620, 0x24131: 0x6c47b220, + 0x24135: 0x6c10aa20, + 0x2413c: 0x6c46c620, 0x2413d: 0x6c0f2e20, + // Block 0x905, offset 0x24140 + 0x24141: 0x6cf21020, + 0x24144: 0x6c624420, + 0x2414a: 0x6c7e4c20, + 0x2414d: 0x6c24e620, 0x2414e: 0x6c9fc820, 0x2414f: 0x6c242820, + 0x24150: 0x6cab4e20, 0x24151: 0x6d1da620, + 0x24156: 0x6c98fe20, 0x24157: 0x6c78c820, + 0x24158: 0x6c981e20, 0x24159: 0x6c2f8020, 0x2415a: 0x6c582e20, 0x2415b: 0x6c34ac20, + 0x2415c: 0x6c677420, 0x2415d: 0x6cdb0220, + 0x24162: 0x6c135c20, 0x24163: 0x6cde9e20, + 0x24165: 0x6c59f820, 0x24166: 0x6c74be20, 0x24167: 0x6d0a4020, + 0x2416a: 0x6d04a620, + 0x2416c: 0x6c9d8820, 0x2416d: 0x6cc45620, 0x2416e: 0x6c817620, + 0x24171: 0x6d370a20, 0x24172: 0x6cf02820, + 0x24177: 0x6ccb6e20, + 0x2417b: 0x6d29ea20, + // Block 0x906, offset 0x24180 + 0x24181: 0x6c019620, 0x24182: 0x6cf10c20, + 0x24184: 0x6c581e20, 0x24187: 0x6d2e9e20, + 0x24189: 0x6d1c2c20, 0x2418a: 0x6c43bc20, 0x2418b: 0x6c5c9220, + 0x2418d: 0x6cc33420, + 0x24193: 0x6c8b7c20, + 0x24194: 0x6c719a20, 0x24195: 0x6c03de20, 0x24196: 0x6c82a620, + 0x24198: 0x6c97ac20, 0x24199: 0x6c8dde20, + 0x2419c: 0x6c856a20, 0x2419d: 0x6c611420, + 0x241a1: 0x6c5b1620, 0x241a2: 0x6d031820, 0x241a3: 0x6cd30020, + 0x241a4: 0x6d300e20, 0x241a7: 0x6c0e4820, + 0x241ab: 0x6c137a20, + 0x241af: 0x6c137e20, + 0x241b0: 0x6c6d8c20, 0x241b1: 0x6c031c20, 0x241b2: 0x6c06da20, + 0x241b5: 0x6d0e3c20, 0x241b7: 0x6c565e20, + 0x241b9: 0x6d20ba20, 0x241bb: 0x6c091e20, + 0x241bc: 0x6c1ff220, 0x241be: 0x6c612220, + // Block 0x907, offset 0x241c0 + 0x241c2: 0x6ca26c20, + 0x241c4: 0x6c98c420, 0x241c5: 0x6d379420, 0x241c7: 0x6d12c620, + 0x241c8: 0x6c30a020, 0x241c9: 0x6d12a420, + 0x241cd: 0x6cc63c20, 0x241ce: 0x6d19a620, + 0x241d0: 0x6c501e20, 0x241d2: 0x6ca31220, 0x241d3: 0x6ce61020, + 0x241d4: 0x6c3fb620, 0x241d5: 0x6ca22c20, 0x241d6: 0x6d291020, + 0x241d8: 0x6c552820, 0x241da: 0x6c185c20, 0x241db: 0x6ceaf420, + 0x241de: 0x6c1f1220, 0x241df: 0x6c3df820, + 0x241e7: 0x6c063420, + 0x241ec: 0x6c2bde20, 0x241ed: 0x6c111c20, 0x241ee: 0x6c921220, 0x241ef: 0x6cb35020, + 0x241f0: 0x6c268620, 0x241f1: 0x6d12da20, 0x241f3: 0x6d15d220, + 0x241f7: 0x6cfdb620, + 0x241f8: 0x6c086e20, 0x241f9: 0x6d398c20, 0x241fb: 0x6d14a620, + 0x241fd: 0x6c93d220, 0x241ff: 0x6c7b9420, + // Block 0x908, offset 0x24200 + 0x24202: 0x6d35a420, + 0x24207: 0x6cec0820, + 0x24208: 0x6c2b1c20, 0x24209: 0x6cd5b020, 0x2420a: 0x6c8ad820, 0x2420b: 0x6d2a4220, + 0x2420c: 0x6d35a620, 0x2420d: 0x6ca49e20, + 0x24217: 0x6c147220, + 0x2421a: 0x6cfea620, 0x2421b: 0x6d2a0220, + 0x2421e: 0x6d22f420, 0x2421f: 0x6c310620, + 0x24220: 0x6c143e20, 0x24221: 0x6d009020, 0x24222: 0x6d0fa220, + 0x24224: 0x6cfc0220, 0x24225: 0x6c05f220, + 0x2422e: 0x6d2cec20, + 0x24230: 0x6cc03420, 0x24232: 0x6c553420, 0x24233: 0x6d293220, + 0x24234: 0x6c741620, 0x24236: 0x6c4d9a20, + 0x2423f: 0x6c01ae20, + // Block 0x909, offset 0x24240 + 0x24240: 0x6d2a7820, 0x24243: 0x6ccc4c20, + 0x24245: 0x6cfcb220, 0x24246: 0x6c1b9e20, 0x24247: 0x6d0d6a20, + 0x24249: 0x6c01ba20, + 0x2424d: 0x6d305220, 0x2424e: 0x6c742c20, + 0x24251: 0x6c85ea20, 0x24253: 0x6c822020, + 0x24256: 0x6c112c20, + 0x24258: 0x6c924220, 0x2425a: 0x6c634c20, + 0x2425d: 0x6cfa3820, 0x2425e: 0x6cfff020, 0x2425f: 0x6d0c0c20, + 0x24260: 0x6d05a020, 0x24262: 0x6c33f020, 0x24263: 0x6d1c7620, + 0x24264: 0x6c5ab820, 0x24265: 0x6ce32820, 0x24266: 0x6caa0020, 0x24267: 0x6cf7e820, + 0x2426a: 0x6ce8b220, + 0x24277: 0x6cec5620, + 0x24278: 0x6c186620, + 0x2427c: 0x6c52aa20, 0x2427e: 0x6ce32a20, 0x2427f: 0x6d07a020, + // Block 0x90a, offset 0x24280 + 0x24280: 0x6d28bc20, + 0x24287: 0x6c43f020, + 0x2428b: 0x6c908c20, + 0x2428c: 0x6c147c20, 0x2428d: 0x6cac6020, 0x2428e: 0x6c605820, + 0x24290: 0x6cde5e20, 0x24293: 0x6cf64e20, + 0x24296: 0x6cfeda20, + 0x24298: 0x6ccab620, 0x24299: 0x6c637020, 0x2429a: 0x6cdad420, 0x2429b: 0x6c599a20, + 0x2429d: 0x6c25bc20, 0x2429f: 0x6cde6020, + 0x242a0: 0x6cd65420, + 0x242aa: 0x6c3e9a20, 0x242ab: 0x6c863620, + 0x242ad: 0x6ccf5a20, 0x242af: 0x6ce10620, + 0x242b6: 0x6c2cd020, + 0x242ba: 0x6c09fa20, + 0x242bc: 0x6c46c820, 0x242bd: 0x6c244620, 0x242bf: 0x6cb90820, + // Block 0x90b, offset 0x242c0 + 0x242c2: 0x6c824620, 0x242c3: 0x6cdaea20, + 0x242c6: 0x6d402420, 0x242c7: 0x6c4faa20, + 0x242cf: 0x6c1c4420, + 0x242d0: 0x6c128020, 0x242d3: 0x6cf30420, + 0x242d4: 0x6cfef220, 0x242d5: 0x6c8b2020, 0x242d6: 0x6d0c1e20, + 0x242dd: 0x6c09fc20, 0x242df: 0x6c594220, + 0x242e1: 0x6cf67820, 0x242e2: 0x6c1ac820, 0x242e3: 0x6d05d620, + 0x242e4: 0x6ca4bc20, 0x242e5: 0x6d0cc020, 0x242e7: 0x6d01fc20, + 0x242e8: 0x6d2c4a20, 0x242ea: 0x6cdc5e20, + 0x242ec: 0x6cf8ca20, 0x242ed: 0x6c080620, 0x242ee: 0x6cc48420, 0x242ef: 0x6cd79820, + 0x242f0: 0x6c049020, 0x242f1: 0x6c4b6a20, 0x242f2: 0x6c763c20, 0x242f3: 0x6c188020, + 0x242f6: 0x6d072820, + 0x242fe: 0x6c368620, 0x242ff: 0x6c865a20, + // Block 0x90c, offset 0x24300 + 0x24300: 0x6cf69e20, 0x24301: 0x6c594c20, 0x24302: 0x6cdb0420, + 0x24304: 0x6c16f620, + 0x2430a: 0x6c92a820, 0x2430b: 0x6d0cc220, + 0x2430e: 0x6c290620, 0x2430f: 0x6c284620, + 0x24310: 0x6d0f6a20, 0x24312: 0x6d2d3620, 0x24313: 0x6c729020, + 0x24315: 0x6c345e20, 0x24316: 0x6ccabe20, 0x24317: 0x6c7f2a20, + 0x24318: 0x6cdb1c20, + 0x2431f: 0x6d2b0020, + 0x24323: 0x6c0a5020, + 0x24326: 0x6d1b8c20, + 0x24328: 0x6c4fb420, 0x2432a: 0x6c8b3a20, + 0x2432d: 0x6c4ff620, 0x2432e: 0x6d0fdc20, + 0x24334: 0x6cd7a420, 0x24335: 0x6c00f020, 0x24336: 0x6cbf7420, + 0x24339: 0x6c82ec20, 0x2433a: 0x6d011220, + 0x2433c: 0x6cd3f220, + // Block 0x90d, offset 0x24340 + 0x24343: 0x6c91ec20, + 0x24345: 0x6cc41220, 0x24346: 0x6c888020, + 0x2434c: 0x6d001a20, 0x2434e: 0x6d1c2020, + 0x24351: 0x6d012620, + 0x24358: 0x6c8d9e20, 0x24359: 0x6d1ed620, + 0x2435e: 0x6c294020, 0x2435f: 0x6c806020, + 0x24360: 0x6cff5e20, + 0x24368: 0x6d182a20, + 0x2436c: 0x6cf34c20, 0x2436e: 0x6d168e20, 0x2436f: 0x6ceaa420, + 0x24370: 0x6c102e20, 0x24372: 0x6d032020, + 0x24375: 0x6cd7c420, 0x24376: 0x6c6c2a20, + 0x24378: 0x6c031e20, 0x24379: 0x6c383020, 0x2437b: 0x6ca0d420, + 0x2437c: 0x6cc91220, + // Block 0x90e, offset 0x24380 + 0x2438a: 0x6c26ea20, 0x2438b: 0x6c619820, + 0x24390: 0x6cda8820, 0x24391: 0x6cbf0620, 0x24392: 0x6c033020, + 0x243a6: 0x6ce48c20, 0x243a7: 0x6d1f0a20, + 0x243a9: 0x6ceb0020, 0x243ab: 0x6cec6c20, + 0x243ac: 0x6d202e20, 0x243ae: 0x6c2fe820, + 0x243b1: 0x6cf7d820, 0x243b2: 0x6c799820, + 0x243b6: 0x6cbf0c20, 0x243b7: 0x6c32f820, + 0x243b8: 0x6c34e420, 0x243ba: 0x6d173620, + // Block 0x90f, offset 0x243c0 + 0x243d2: 0x6cf5c820, 0x243d3: 0x6cbd2420, + 0x243d4: 0x6cda9220, 0x243d7: 0x6c8e5220, + 0x243d9: 0x6cecd820, + 0x243ed: 0x6c17da20, 0x243ee: 0x6d399a20, + 0x243f0: 0x6c997220, + 0x243f7: 0x6cc2de20, + 0x243fd: 0x6d208c20, 0x243ff: 0x6d17ac20, + // Block 0x910, offset 0x24400 + 0x24400: 0x6c9c5020, 0x24403: 0x6c7f0c20, + 0x24404: 0x6d362e20, + 0x24424: 0x6ca5e620, 0x24426: 0x6c048220, + 0x2442a: 0x6c300420, + 0x2442e: 0x6d363020, + // Block 0x911, offset 0x24440 + 0x24455: 0x6d17ec20, + 0x24458: 0x6c8d1e20, 0x24459: 0x6d216020, 0x2445a: 0x6c231e20, 0x2445b: 0x6c2c6a20, + 0x2445c: 0x6d365c20, + 0x24460: 0x6cc86820, 0x24463: 0x6c669a20, + 0x24469: 0x6ced8c20, 0x2446b: 0x6c6d2c20, + 0x2446d: 0x6cad0820, + // Block 0x912, offset 0x24480 + 0x2448d: 0x6c928a20, 0x2448e: 0x6cc1a620, + 0x24490: 0x6cf80020, 0x24491: 0x6c26b420, + 0x24496: 0x6c56c220, 0x24497: 0x6c95bc20, + 0x24499: 0x6c822820, + 0x244b6: 0x6c45f820, + 0x244bb: 0x6c8e2620, + // Block 0x913, offset 0x244c0 + 0x244c2: 0x6c817820, + 0x244c4: 0x6d3be420, + 0x244e8: 0x6d2a5220, 0x244e9: 0x6c506a20, 0x244ea: 0x6cfe5420, + 0x244ed: 0x6c507020, 0x244ee: 0x6c86a220, + 0x244f1: 0x6c2d8820, 0x244f2: 0x6c444020, + 0x244fd: 0x6c58a820, + // Block 0x914, offset 0x24500 + 0x24504: 0x6c36b620, 0x24506: 0x6cf9fe20, + 0x2450b: 0x6c651820, + 0x2450c: 0x6cb67420, 0x2450d: 0x6cfa0820, 0x2450e: 0x6d1ffa20, + 0x24521: 0x6d330420, + 0x2452a: 0x6d3bf220, + 0x2452e: 0x6c163a20, + // Block 0x915, offset 0x24540 + 0x24549: 0x6d027a20, + 0x24555: 0x6ca4d620, + 0x2455d: 0x6c62ee20, 0x2455e: 0x6ce4d620, + 0x24563: 0x6d0e3220, + 0x24567: 0x6c500c20, + 0x24568: 0x6d030820, 0x24569: 0x6c8de020, 0x2456b: 0x6c047620, + 0x2456c: 0x6c081220, + 0x24571: 0x6c463e20, 0x24572: 0x6c8cc820, + 0x24575: 0x6c7df420, 0x24576: 0x6cb85e20, 0x24577: 0x6c699e20, + 0x24579: 0x6c371420, 0x2457a: 0x6d10fa20, 0x2457b: 0x6c316e20, + // Block 0x916, offset 0x24580 + 0x24581: 0x6c5d9220, 0x24582: 0x6c322420, 0x24583: 0x6cadbe20, + 0x2458c: 0x6d259820, 0x2458f: 0x6c90b820, + 0x24590: 0x6d03f820, 0x24593: 0x6c883a20, + 0x24594: 0x6d113820, 0x24595: 0x6cf6a020, 0x24596: 0x6d114420, + 0x24598: 0x6cf70020, 0x2459b: 0x6c918a20, + 0x2459d: 0x6d0f0020, + 0x245a0: 0x6cc33820, + 0x245a5: 0x6cc50020, 0x245a6: 0x6cec2020, 0x245a7: 0x6d40a420, + 0x245a8: 0x6c392e20, 0x245a9: 0x6d16c620, 0x245aa: 0x6c323c20, 0x245ab: 0x6cdc2620, + 0x245ad: 0x6caf4820, 0x245af: 0x6c4de820, + 0x245b1: 0x6d069820, 0x245b3: 0x6c45e620, + 0x245b5: 0x6c2c2e20, 0x245b7: 0x6ca32620, + 0x245be: 0x6c34ec20, 0x245bf: 0x6cebda20, + // Block 0x917, offset 0x245c0 + 0x245c2: 0x6ca81820, + 0x245c8: 0x6c2e1a20, 0x245c9: 0x6c598e20, + 0x245cc: 0x6ce32c20, 0x245cd: 0x6c395420, + 0x245d1: 0x6cf3ca20, 0x245d2: 0x6c01fe20, + 0x245d4: 0x6cb2a820, + 0x245d9: 0x6c4e1420, 0x245db: 0x6c428820, + 0x245dc: 0x6c83e820, 0x245de: 0x6c339c20, 0x245df: 0x6c400e20, + 0x245e0: 0x6ca35020, 0x245e2: 0x6c132220, + 0x245e7: 0x6c6a2820, + 0x245e9: 0x6cbed020, 0x245eb: 0x6d1bd020, + 0x245ec: 0x6cfdd220, + 0x245f1: 0x6c557c20, + 0x245f4: 0x6cdaec20, + 0x245fb: 0x6c43a420, + 0x245fc: 0x6c368820, 0x245fd: 0x6d072a20, + // Block 0x918, offset 0x24600 + 0x24606: 0x6cf6cc20, + 0x2460a: 0x6c774c20, 0x2460b: 0x6c4c8a20, + 0x2460c: 0x6c6a3620, 0x2460d: 0x6c200c20, 0x2460e: 0x6c826220, 0x2460f: 0x6c527620, + 0x24610: 0x6d41f420, + 0x24615: 0x6cb1e620, + 0x24618: 0x6c2ab420, 0x24619: 0x6cf70220, 0x2461a: 0x6c826820, + 0x2461c: 0x6ccdc620, + 0x24627: 0x6c918c20, + 0x24629: 0x6c338a20, 0x2462a: 0x6c760420, + 0x2462d: 0x6c164820, 0x2462f: 0x6d012c20, + 0x24630: 0x6cec0220, 0x24631: 0x6d30c420, 0x24633: 0x6d3b9e20, + 0x24637: 0x6c8f6020, + 0x24638: 0x6c82aa20, + 0x2463c: 0x6c273620, 0x2463d: 0x6c417820, + // Block 0x919, offset 0x24640 + 0x24644: 0x6cd34020, 0x24647: 0x6d0da420, + 0x2464c: 0x6c41b420, + 0x24650: 0x6d0d0020, + 0x24656: 0x6cdbac20, + 0x2465a: 0x6d37a620, + 0x2465c: 0x6cd34220, + 0x24661: 0x6cd15c20, + 0x24665: 0x6c15ae20, + 0x24677: 0x6c5a0820, + 0x24678: 0x6d1b8e20, 0x2467b: 0x6c9bee20, + // Block 0x91a, offset 0x24680 + 0x24682: 0x6cc4f220, + 0x24685: 0x6cfdae20, + 0x24688: 0x6c071420, + 0x2468c: 0x6c200820, + 0x24691: 0x6cb47620, + 0x24699: 0x6c77d220, 0x2469a: 0x6c7e3820, + 0x2469d: 0x6cc35020, 0x2469f: 0x6c4f9220, + 0x246a0: 0x6c1bf220, 0x246a1: 0x6c983820, + 0x246a6: 0x6d2cb020, + 0x246aa: 0x6c3bd220, + 0x246ac: 0x6c17b420, + 0x246b3: 0x6c6e1820, + // Block 0x91b, offset 0x246c0 + 0x246c3: 0x6c8ada20, + 0x246c5: 0x6ca31c20, 0x246c6: 0x6ca31e20, 0x246c7: 0x6ce72a20, + 0x246cb: 0x6cc46620, + 0x246cc: 0x6d411620, 0x246cd: 0x6caf5420, 0x246ce: 0x6d1fba20, + 0x246d0: 0x6cd4be20, + 0x246db: 0x6c8af420, + 0x246dc: 0x6cd43020, 0x246dd: 0x6ce97e20, 0x246df: 0x6c430220, + 0x246e0: 0x6ccea220, 0x246e1: 0x6ceb0420, 0x246e3: 0x6ca3f220, + 0x246e7: 0x6ceb7a20, + 0x246e8: 0x6c458220, 0x246e9: 0x6c2e1c20, + 0x246f4: 0x6c9bd020, 0x246f5: 0x6c052820, 0x246f7: 0x6d00a420, + 0x246f8: 0x6cd8b420, 0x246f9: 0x6ce6c820, 0x246fa: 0x6c4b4220, + 0x246fd: 0x6c3e8020, 0x246fe: 0x6c4b4820, + // Block 0x91c, offset 0x24700 + 0x24709: 0x6c4b4a20, + 0x24711: 0x6d3a7420, 0x24713: 0x6c7f1420, + 0x24715: 0x6c951620, 0x24716: 0x6ce50020, 0x24717: 0x6cc4c620, + 0x2471a: 0x6c300820, + 0x24728: 0x6c737220, 0x24729: 0x6d0cac20, + 0x2472c: 0x6cc84020, 0x2472d: 0x6c283a20, + 0x24730: 0x6c999e20, + 0x24736: 0x6c944020, + 0x24738: 0x6d072c20, 0x2473a: 0x6cf6a220, + // Block 0x91d, offset 0x24740 + 0x24742: 0x6c967420, 0x24743: 0x6cb52220, + 0x24745: 0x6c144820, + 0x24748: 0x6cce1e20, 0x24749: 0x6c4f0820, 0x2474a: 0x6cb2ce20, + 0x2474e: 0x6c5f3820, + 0x24753: 0x6c86a620, + 0x24755: 0x6d240c20, 0x24756: 0x6c04a420, + 0x24758: 0x6ce29220, + 0x2475d: 0x6c1de820, + 0x24760: 0x6c1dea20, + 0x24764: 0x6cb54420, 0x24765: 0x6cf70420, 0x24766: 0x6c076820, + 0x2476a: 0x6d138020, + 0x2476d: 0x6c4a1020, 0x2476f: 0x6d3b3a20, + 0x24773: 0x6c827c20, + 0x24774: 0x6c827e20, 0x24775: 0x6c13be20, + // Block 0x91e, offset 0x24780 + 0x24780: 0x6c4a1420, + 0x2478d: 0x6c2f2420, + 0x24793: 0x6d0b4420, + 0x24798: 0x6ca7fc20, 0x24799: 0x6cd4de20, 0x2479b: 0x6d363220, + 0x2479f: 0x6d36e420, + 0x247a2: 0x6d36e620, 0x247a3: 0x6cb07620, + 0x247a5: 0x6c6f4e20, 0x247a6: 0x6c6f5220, 0x247a7: 0x6d169020, + 0x247a8: 0x6d201220, 0x247aa: 0x6c6f5420, + 0x247af: 0x6c58f220, + 0x247b1: 0x6c323e20, + 0x247bb: 0x6ce20c20, + 0x247bc: 0x6cbc9e20, 0x247bd: 0x6cbd5c20, 0x247be: 0x6d032420, 0x247bf: 0x6c14bc20, + // Block 0x91f, offset 0x247c0 + 0x247c0: 0x6c61ae20, 0x247c2: 0x6cbe0a20, + 0x247ca: 0x6c324620, 0x247cb: 0x6d33aa20, + 0x247ce: 0x6cab7820, + 0x247d0: 0x6cf4c820, 0x247d2: 0x6cf18620, + 0x247d8: 0x6c096620, 0x247db: 0x6c069420, + 0x247dd: 0x6ca23c20, 0x247de: 0x6c6cf420, 0x247df: 0x6ce21220, + 0x247e0: 0x6c89e220, + 0x247e5: 0x6c127220, 0x247e6: 0x6d2c2820, + 0x247ec: 0x6c1b8e20, 0x247ed: 0x6d0ae020, 0x247ee: 0x6c7c6420, 0x247ef: 0x6d1b4420, + 0x247f8: 0x6c8f8820, 0x247f9: 0x6cb86020, 0x247fb: 0x6c4f4c20, + 0x247fc: 0x6cce5020, 0x247fd: 0x6c4d6420, 0x247fe: 0x6c139220, + // Block 0x920, offset 0x24800 + 0x24800: 0x6c68e220, 0x24801: 0x6c81ae20, + 0x24808: 0x6cf5fa20, 0x2480b: 0x6c0ef220, + 0x24813: 0x6d351a20, + 0x24815: 0x6cea8a20, 0x24816: 0x6c3e8220, + 0x24818: 0x6c54ce20, 0x2481a: 0x6ca83220, 0x2481b: 0x6d17ae20, + 0x2481c: 0x6d3c4020, + 0x24820: 0x6c13e620, + 0x24824: 0x6cdb8220, 0x24827: 0x6d283620, + 0x2482e: 0x6c325e20, + 0x24830: 0x6cf61c20, 0x24831: 0x6c203620, 0x24832: 0x6d03e820, 0x24833: 0x6c68fa20, + 0x24834: 0x6ccfea20, + // Block 0x921, offset 0x24840 + 0x24840: 0x6cedca20, 0x24841: 0x6c06a220, 0x24842: 0x6c3a3a20, 0x24843: 0x6c669c20, + 0x24844: 0x6cc30020, 0x24845: 0x6d17f020, 0x24846: 0x6c300a20, 0x24847: 0x6d06f620, + 0x24848: 0x6ca35220, 0x24849: 0x6c605a20, + 0x2484c: 0x6d31e620, 0x2484d: 0x6cb5fa20, 0x2484e: 0x6c330a20, 0x2484f: 0x6d1a7220, + 0x24851: 0x6c700420, 0x24852: 0x6caffe20, 0x24853: 0x6d033e20, + 0x24854: 0x6c94fe20, 0x24855: 0x6c113420, 0x24856: 0x6c8e2020, 0x24857: 0x6c0cac20, + 0x24858: 0x6c2a1c20, 0x24859: 0x6c2a7620, + 0x2485f: 0x6c7ed820, + 0x24861: 0x6cf65020, 0x24862: 0x6c725620, + 0x24864: 0x6cff9020, 0x24866: 0x6c6dc020, + 0x24879: 0x6cec7220, 0x2487b: 0x6ca50a20, + 0x2487c: 0x6cfd8220, 0x2487d: 0x6cc3e220, 0x2487e: 0x6cbcd420, 0x2487f: 0x6ce86a20, + // Block 0x922, offset 0x24880 + 0x24880: 0x6d064a20, 0x24881: 0x6c5bfc20, + 0x24885: 0x6c9f6c20, 0x24886: 0x6ceff220, + 0x24888: 0x6d1f5620, 0x24889: 0x6ce9ae20, 0x2488a: 0x6c278020, + 0x2488e: 0x6c786c20, 0x2488f: 0x6ca36220, + 0x24891: 0x6c401c20, 0x24892: 0x6d239620, 0x24893: 0x6d354420, + 0x24895: 0x6c4dae20, 0x24896: 0x6c002e20, 0x24897: 0x6c401e20, + 0x248a1: 0x6d0f6220, + 0x248a4: 0x6cd27e20, 0x248a6: 0x6c150c20, + 0x248aa: 0x6c1c5c20, 0x248ab: 0x6d284820, + 0x248ac: 0x6cd65a20, 0x248ae: 0x6cdb0620, 0x248af: 0x6cca8620, + 0x248b1: 0x6c368a20, 0x248b2: 0x6d332e20, 0x248b3: 0x6c004e20, + 0x248b4: 0x6cdd8c20, 0x248b5: 0x6c10b220, 0x248b7: 0x6cc45220, + 0x248b8: 0x6d185e20, 0x248b9: 0x6d0dca20, 0x248bb: 0x6ca36620, + 0x248bc: 0x6cf46a20, + // Block 0x923, offset 0x248c0 + 0x248c7: 0x6c865c20, + 0x248c8: 0x6c865e20, 0x248ca: 0x6cf6a820, 0x248cb: 0x6c749c20, + 0x248cc: 0x6cd1ea20, 0x248ce: 0x6d0b5c20, + 0x248db: 0x6c18e420, + 0x248dc: 0x6d1c8c20, 0x248dd: 0x6c0a5220, 0x248de: 0x6c184020, + 0x248e1: 0x6d2bfc20, 0x248e2: 0x6ceb9020, 0x248e3: 0x6c56c620, + 0x248e4: 0x6ce2b220, 0x248e5: 0x6d1d4c20, 0x248e6: 0x6c08f820, 0x248e7: 0x6ca91e20, + 0x248e8: 0x6c891a20, 0x248e9: 0x6d034c20, 0x248ea: 0x6d229020, + 0x248f2: 0x6c075e20, + 0x248f4: 0x6ca07820, 0x248f5: 0x6c331420, 0x248f7: 0x6c29ea20, + 0x248f8: 0x6cb64c20, + // Block 0x924, offset 0x24900 + 0x24900: 0x6cd65c20, 0x24903: 0x6cff1e20, + 0x24904: 0x6d380a20, 0x24905: 0x6d3cb220, 0x24907: 0x6c0bca20, + 0x24909: 0x6cf02a20, 0x2490a: 0x6cf6ec20, + 0x2490c: 0x6c2aae20, 0x2490e: 0x6d005620, 0x2490f: 0x6cac4620, + 0x24910: 0x6ca87a20, 0x24913: 0x6c0cfa20, + 0x24914: 0x6ccf7a20, 0x24915: 0x6c3ad820, 0x24916: 0x6c9fcc20, 0x24917: 0x6cb7e820, + 0x2492a: 0x6ccdbc20, 0x2492b: 0x6cdd9c20, + 0x24937: 0x6c60c020, + 0x2493a: 0x6c285020, 0x2493b: 0x6c739c20, + 0x2493c: 0x6c930420, 0x2493e: 0x6c02f620, + // Block 0x925, offset 0x24940 + 0x24942: 0x6d18ea20, 0x24943: 0x6cd57a20, + 0x24944: 0x6cdc9c20, 0x24945: 0x6cf0f220, 0x24946: 0x6cecec20, 0x24947: 0x6c1ef420, + 0x2494c: 0x6cf32820, + 0x24956: 0x6c0aa420, + 0x24958: 0x6d1b1a20, 0x24959: 0x6c5d8220, + 0x2495c: 0x6c769c20, 0x2495d: 0x6ca93020, + 0x24962: 0x6c00fc20, + 0x24964: 0x6c870020, 0x24966: 0x6d2d0220, + 0x24971: 0x6c933020, + 0x24976: 0x6c0bd420, 0x24977: 0x6cac8a20, + 0x2497f: 0x6c4b9c20, + // Block 0x926, offset 0x24980 + 0x24980: 0x6cda6a20, 0x24981: 0x6c9ba020, 0x24982: 0x6cfc5220, 0x24983: 0x6c906e20, + 0x24985: 0x6cb80220, + 0x2498b: 0x6c164a20, + 0x2498c: 0x6d195c20, 0x2498d: 0x6c4f8e20, 0x2498f: 0x6c88e020, + 0x24990: 0x6c49c220, 0x24992: 0x6cf06020, + 0x24997: 0x6c752020, + 0x24998: 0x6c829c20, 0x24999: 0x6c946620, 0x2499a: 0x6c87a620, + 0x2499c: 0x6cb03e20, + 0x249a2: 0x6c58e820, + 0x249ae: 0x6c4a5820, + 0x249b3: 0x6c713420, + 0x249b6: 0x6c2aa220, + 0x249ba: 0x6c3ad220, + // Block 0x927, offset 0x249c0 + 0x249c1: 0x6d338e20, 0x249c3: 0x6c9a7a20, + 0x249c5: 0x6c58f420, + 0x249c9: 0x6cabba20, 0x249ca: 0x6c08c420, + 0x249cc: 0x6cb30020, + 0x249d3: 0x6c374220, + 0x249d5: 0x6c58fc20, + 0x249e3: 0x6c170c20, + 0x249e5: 0x6c95fc20, 0x249e6: 0x6c3d2820, + 0x249ef: 0x6c1db220, + 0x249f1: 0x6d40c020, 0x249f2: 0x6ca3fe20, 0x249f3: 0x6cffae20, + 0x249f9: 0x6c044820, 0x249fa: 0x6c926620, + 0x249fc: 0x6c961220, 0x249ff: 0x6ca76620, + // Block 0x928, offset 0x24a00 + 0x24a00: 0x6d2ad020, + 0x24a04: 0x6d3b0a20, 0x24a05: 0x6c557420, + 0x24a08: 0x6c5ad820, 0x24a09: 0x6ce17c20, 0x24a0a: 0x6c1dca20, + 0x24a11: 0x6c59e020, 0x24a12: 0x6c30b820, + 0x24a1b: 0x6c9eba20, + 0x24a1d: 0x6c0f5a20, + 0x24a20: 0x6c2ca420, 0x24a22: 0x6c2ad020, 0x24a23: 0x6cb41620, + 0x24a25: 0x6cd94020, 0x24a26: 0x6c1dec20, + 0x24a2b: 0x6d123c20, + 0x24a2c: 0x6c9bf020, 0x24a2d: 0x6c8fc820, + 0x24a32: 0x6c888220, + 0x24a35: 0x6c0d0620, + 0x24a3a: 0x6c93c220, + 0x24a3f: 0x6ccba020, + // Block 0x929, offset 0x24a40 + 0x24a40: 0x6d425820, + 0x24a44: 0x6c25aa20, 0x24a45: 0x6c8de420, 0x24a46: 0x6d331a20, 0x24a47: 0x6cb05220, + 0x24a48: 0x6c05c220, 0x24a4b: 0x6cc3a420, + 0x24a4e: 0x6caf4a20, 0x24a4f: 0x6ca44220, + 0x24a50: 0x6caf4c20, 0x24a51: 0x6c0fe220, 0x24a52: 0x6c06f020, 0x24a53: 0x6c37e820, + 0x24a55: 0x6c9fa620, 0x24a56: 0x6ca0f220, 0x24a57: 0x6cec2420, + 0x24a58: 0x6d2f6020, 0x24a59: 0x6d35c220, 0x24a5a: 0x6c240c20, + 0x24a5f: 0x6d0a0620, + 0x24a60: 0x6c602020, 0x24a61: 0x6c4b4420, 0x24a63: 0x6c19ea20, + 0x24a67: 0x6c4ec620, + 0x24a68: 0x6cfff220, 0x24a69: 0x6cc3c020, 0x24a6b: 0x6c21be20, + 0x24a6d: 0x6c3f6420, + 0x24a73: 0x6cbdde20, + 0x24a74: 0x6c926820, 0x24a75: 0x6cc3d020, 0x24a76: 0x6c2d1e20, 0x24a77: 0x6cb8f020, + 0x24a7c: 0x6c16ee20, 0x24a7d: 0x6cde6220, 0x24a7e: 0x6c06ae20, + // Block 0x92a, offset 0x24a80 + 0x24a81: 0x6c326c20, 0x24a82: 0x6c082620, 0x24a83: 0x6c547820, + 0x24a88: 0x6d2c8420, 0x24a89: 0x6d2c8620, + 0x24a8e: 0x6cc3ee20, 0x24a8f: 0x6c967620, + 0x24a90: 0x6c4e2c20, 0x24a93: 0x6c8e8620, + 0x24a94: 0x6c92d020, 0x24a96: 0x6d3e8c20, + 0x24a98: 0x6cb07020, 0x24a99: 0x6d395220, 0x24a9b: 0x6d2a2420, + 0x24a9d: 0x6ca9a020, + 0x24aa0: 0x6c5c5620, 0x24aa3: 0x6d092020, + 0x24aa5: 0x6c7ea020, + 0x24aab: 0x6caa0620, + 0x24aac: 0x6d0dfa20, 0x24aad: 0x6cc4d820, 0x24aae: 0x6ca52220, + 0x24ab0: 0x6c7eb420, 0x24ab1: 0x6c4a1220, 0x24ab2: 0x6c31e220, + 0x24ab5: 0x6c919020, + 0x24ab9: 0x6c663c20, 0x24aba: 0x6d028c20, 0x24abb: 0x6cb80e20, + 0x24abe: 0x6cfe7420, + // Block 0x92b, offset 0x24ac0 + 0x24ac1: 0x6c4cb020, 0x24ac2: 0x6c6a8420, 0x24ac3: 0x6c98b620, + 0x24ac6: 0x6cf95820, 0x24ac7: 0x6c7c3620, + 0x24ace: 0x6d1e7620, + 0x24ad0: 0x6c4d3c20, 0x24ad1: 0x6c9d3220, 0x24ad2: 0x6d11fc20, + 0x24ad5: 0x6cf14c20, + 0x24adf: 0x6c85f220, + 0x24ae0: 0x6c735820, 0x24ae1: 0x6cf36420, 0x24ae2: 0x6cbbda20, + 0x24aee: 0x6c2e2a20, 0x24aef: 0x6c1f4220, + 0x24af2: 0x6cdd1c20, + 0x24af5: 0x6c1cc420, + 0x24af8: 0x6cc2a020, 0x24af9: 0x6ccf5e20, + // Block 0x92c, offset 0x24b00 + 0x24b02: 0x6c9bd820, 0x24b03: 0x6c726820, + 0x24b0b: 0x6ce8e620, + 0x24b12: 0x6ca9c020, 0x24b13: 0x6ca07a20, + 0x24b19: 0x6c3bee20, + 0x24b22: 0x6c027020, 0x24b23: 0x6c4c3e20, + 0x24b24: 0x6c55b420, 0x24b25: 0x6c11b820, 0x24b26: 0x6c33b220, 0x24b27: 0x6c4d4820, + 0x24b28: 0x6c694e20, + 0x24b30: 0x6c473a20, + 0x24b35: 0x6c6c6020, + 0x24b38: 0x6d0fe420, + // Block 0x92d, offset 0x24b40 + 0x24b40: 0x6c145020, + 0x24b4c: 0x6c5b0820, + 0x24b54: 0x6cc20c20, 0x24b55: 0x6c784420, + 0x24b5f: 0x6cbe6620, + 0x24b60: 0x6d197a20, 0x24b63: 0x6c767a20, + 0x24b64: 0x6c68b820, 0x24b67: 0x6c1d6220, + 0x24b68: 0x6c103020, 0x24b69: 0x6c44ae20, 0x24b6a: 0x6c682620, 0x24b6b: 0x6d339020, + 0x24b6e: 0x6cf20020, + 0x24b70: 0x6c0d2220, + 0x24b74: 0x6d048820, 0x24b75: 0x6c393020, + 0x24b78: 0x6d147620, 0x24b79: 0x6c203020, 0x24b7a: 0x6d11ee20, + 0x24b7d: 0x6d0f4c20, 0x24b7e: 0x6c324020, 0x24b7f: 0x6d0d4a20, + // Block 0x92e, offset 0x24b80 + 0x24b81: 0x6c9b0a20, + 0x24b87: 0x6c1a9620, + 0x24b88: 0x6ca27420, 0x24b89: 0x6c683420, 0x24b8b: 0x6caa7a20, + 0x24b8d: 0x6c4c6420, 0x24b8e: 0x6d094a20, + 0x24b91: 0x6c3e1c20, 0x24b92: 0x6d08dc20, 0x24b93: 0x6c3d4c20, + 0x24b94: 0x6cae1020, 0x24b95: 0x6ca0ea20, 0x24b96: 0x6cf5a820, 0x24b97: 0x6cf2dc20, + 0x24b98: 0x6ccd3620, 0x24b9b: 0x6cf5aa20, + 0x24b9c: 0x6cb75a20, 0x24b9d: 0x6c9e5220, + 0x24ba6: 0x6c282820, + 0x24ba8: 0x6c1e2820, + 0x24bb1: 0x6c3a9c20, 0x24bb2: 0x6c9ec820, + 0x24bb4: 0x6d095020, 0x24bb5: 0x6d06ae20, 0x24bb6: 0x6cd7dc20, 0x24bb7: 0x6c71b220, + 0x24bb8: 0x6c993420, 0x24bb9: 0x6c063e20, 0x24bbb: 0x6d14d220, + 0x24bbc: 0x6c485020, 0x24bbd: 0x6ca69220, 0x24bbf: 0x6d14d420, + // Block 0x92f, offset 0x24bc0 + 0x24bc1: 0x6d429020, + 0x24bc4: 0x6caa5420, + 0x24bd1: 0x6c2d4820, 0x24bd2: 0x6c393c20, 0x24bd3: 0x6d173a20, + 0x24bd4: 0x6cd35a20, 0x24bd7: 0x6c240e20, + 0x24bd8: 0x6d31ce20, + 0x24bde: 0x6cd36a20, 0x24bdf: 0x6c68e620, + 0x24be0: 0x6c546a20, 0x24be1: 0x6c375020, + 0x24be6: 0x6c833220, 0x24be7: 0x6d095420, + 0x24be8: 0x6c452c20, 0x24bea: 0x6cd43220, + 0x24bec: 0x6c72ec20, + 0x24bf4: 0x6c6ab820, 0x24bf5: 0x6cef0020, 0x24bf7: 0x6cd44620, + 0x24bf8: 0x6c6e7620, 0x24bfa: 0x6d061c20, 0x24bfb: 0x6c1d4c20, + // Block 0x930, offset 0x24c00 + 0x24c05: 0x6c675e20, 0x24c06: 0x6ca20a20, + 0x24c09: 0x6d231a20, + 0x24c0c: 0x6c745220, + 0x24c11: 0x6ce6ea20, + 0x24c14: 0x6cfec420, 0x24c16: 0x6c30ac20, + 0x24c18: 0x6c4c6c20, 0x24c19: 0x6c986220, 0x24c1a: 0x6cedcc20, 0x24c1b: 0x6d06de20, + 0x24c1c: 0x6cee5420, 0x24c1d: 0x6cdd2020, 0x24c1e: 0x6c736620, 0x24c1f: 0x6d26b820, + 0x24c21: 0x6c4e1620, 0x24c23: 0x6ccfec20, + 0x24c25: 0x6d00ac20, 0x24c26: 0x6c8e5a20, 0x24c27: 0x6cc8f020, + 0x24c2f: 0x6c09a620, + 0x24c32: 0x6ca53220, + 0x24c36: 0x6ced8420, 0x24c37: 0x6c700020, + 0x24c38: 0x6cc38c20, + // Block 0x931, offset 0x24c40 + 0x24c44: 0x6ca6a220, 0x24c46: 0x6c9c5220, 0x24c47: 0x6cdd2220, + 0x24c49: 0x6cbb4020, + 0x24c4c: 0x6c4ed220, 0x24c4d: 0x6d3d6c20, 0x24c4e: 0x6c9c5e20, 0x24c4f: 0x6d06f820, + 0x24c51: 0x6c810420, 0x24c52: 0x6c6aee20, 0x24c53: 0x6c2faa20, + 0x24c54: 0x6c171820, 0x24c55: 0x6d365e20, 0x24c56: 0x6c3a0c20, 0x24c57: 0x6c63cc20, + 0x24c58: 0x6c75cc20, 0x24c59: 0x6c5dde20, 0x24c5a: 0x6cb4fe20, 0x24c5b: 0x6c70a620, + 0x24c5c: 0x6d3cd420, 0x24c5e: 0x6c2d6420, 0x24c5f: 0x6c690c20, + 0x24c60: 0x6d0af220, 0x24c62: 0x6d2dfa20, + 0x24c6d: 0x6d33f220, 0x24c6f: 0x6c973620, + 0x24c70: 0x6c54da20, 0x24c71: 0x6d01ca20, 0x24c72: 0x6cd27420, 0x24c73: 0x6c4a7220, + 0x24c7f: 0x6d06fa20, + // Block 0x932, offset 0x24c80 + 0x24c82: 0x6c606a20, + 0x24c84: 0x6c20b020, 0x24c86: 0x6c99a220, 0x24c87: 0x6cc84220, + 0x24c88: 0x6d05bc20, 0x24c89: 0x6c594620, 0x24c8a: 0x6ccc6420, 0x24c8b: 0x6c71c820, + 0x24c8f: 0x6c7c0020, + 0x24c91: 0x6c542020, 0x24c92: 0x6c491e20, 0x24c93: 0x6c486a20, + 0x24c95: 0x6c9c6420, 0x24c96: 0x6c2ed020, 0x24c97: 0x6c0a0020, + 0x24c98: 0x6c899820, 0x24c99: 0x6c7e8620, 0x24c9a: 0x6ccd5220, 0x24c9b: 0x6c928c20, + 0x24c9c: 0x6cf8b420, 0x24c9f: 0x6cda2220, + 0x24cac: 0x6cab4220, 0x24cae: 0x6c838020, + 0x24cb7: 0x6c7a5020, + 0x24cb8: 0x6c4a7c20, 0x24cbb: 0x6cf67a20, + 0x24cbc: 0x6cac6c20, 0x24cbd: 0x6ccb4c20, 0x24cbe: 0x6c754e20, 0x24cbf: 0x6c53d020, + // Block 0x933, offset 0x24cc0 + 0x24cc0: 0x6c49a220, 0x24cc1: 0x6c727c20, 0x24cc3: 0x6ca3d220, + 0x24cc4: 0x6c575020, 0x24cc5: 0x6c442220, 0x24cc6: 0x6c866020, 0x24cc7: 0x6c46d020, + 0x24cc8: 0x6ce41420, 0x24cca: 0x6c96d820, 0x24ccb: 0x6ce2ae20, + 0x24ccc: 0x6c26ba20, + 0x24cd0: 0x6cb52420, 0x24cd1: 0x6d23c620, 0x24cd2: 0x6c693020, 0x24cd3: 0x6c9ee620, + 0x24cd4: 0x6c451820, 0x24cd5: 0x6c9c0e20, 0x24cd6: 0x6cf0c020, + 0x24cd8: 0x6ce36620, 0x24cd9: 0x6cb63a20, + 0x24cdc: 0x6c18e620, 0x24cdd: 0x6c30c220, 0x24cdf: 0x6cac6e20, + 0x24cf0: 0x6c4efc20, + 0x24cf4: 0x6c9d8a20, 0x24cf5: 0x6c967820, 0x24cf6: 0x6c92d220, 0x24cf7: 0x6cb53020, + 0x24cf8: 0x6c795220, 0x24cfa: 0x6c2ee820, 0x24cfb: 0x6cb7d820, + 0x24cfc: 0x6c687c20, 0x24cfd: 0x6c774e20, 0x24cfe: 0x6cbbb020, 0x24cff: 0x6c9d8c20, + // Block 0x934, offset 0x24d00 + 0x24d00: 0x6ccd0c20, + 0x24d07: 0x6c64da20, + 0x24d08: 0x6c843c20, 0x24d09: 0x6c78d620, 0x24d0a: 0x6d073c20, + 0x24d11: 0x6c977a20, 0x24d12: 0x6c3cf420, 0x24d13: 0x6c163420, + 0x24d14: 0x6c5b6420, + 0x24d27: 0x6c7a0420, + 0x24d2a: 0x6cf02c20, 0x24d2b: 0x6c49a820, + 0x24d2c: 0x6c60c220, 0x24d2d: 0x6d421c20, 0x24d2e: 0x6c5e0a20, 0x24d2f: 0x6d00fe20, + 0x24d34: 0x6cdc8420, 0x24d36: 0x6cc88220, + 0x24d38: 0x6ce28620, + 0x24d3c: 0x6d336820, 0x24d3d: 0x6c7d8820, 0x24d3e: 0x6cfe0020, 0x24d3f: 0x6c9dda20, + // Block 0x935, offset 0x24d40 + 0x24d41: 0x6cf8f020, + 0x24d4c: 0x6cc94820, + 0x24d59: 0x6c36c620, 0x24d5a: 0x6c9efe20, 0x24d5b: 0x6d3a8820, + 0x24d5c: 0x6d406c20, 0x24d5d: 0x6c9bec20, 0x24d5f: 0x6cf70620, + 0x24d61: 0x6ce14e20, 0x24d63: 0x6c645220, + 0x24d64: 0x6c16d020, 0x24d65: 0x6c60dc20, + 0x24d6e: 0x6d3dbc20, + 0x24d7f: 0x6c520420, + // Block 0x936, offset 0x24d80 + 0x24d80: 0x6c141020, 0x24d81: 0x6cb7fc20, 0x24d82: 0x6c9dea20, 0x24d83: 0x6d320220, + 0x24d84: 0x6c7a6c20, 0x24d85: 0x6d138220, 0x24d86: 0x6d38c020, + 0x24d88: 0x6c652020, 0x24d8a: 0x6cacc220, + 0x24d8d: 0x6c5b0220, 0x24d8f: 0x6ca02220, + 0x24d90: 0x6c8f5020, + 0x24d98: 0x6cd73420, 0x24d9a: 0x6c974a20, 0x24d9b: 0x6c849c20, + 0x24d9e: 0x6cd7ae20, 0x24d9f: 0x6d159020, + 0x24da4: 0x6c872c20, + 0x24da8: 0x6d005e20, 0x24da9: 0x6ce28a20, 0x24daa: 0x6d051020, + 0x24dad: 0x6d08ce20, 0x24dae: 0x6c874820, 0x24daf: 0x6c9ba220, + 0x24db0: 0x6cef6a20, 0x24db1: 0x6c9ba420, + 0x24dba: 0x6d124e20, 0x24dbb: 0x6c7ffe20, + 0x24dbc: 0x6c8da020, 0x24dbd: 0x6d1c3820, 0x24dbe: 0x6d1c3a20, 0x24dbf: 0x6c876c20, + // Block 0x937, offset 0x24dc0 + 0x24dc0: 0x6c662820, 0x24dc1: 0x6c4aaa20, + 0x24dc5: 0x6c494020, 0x24dc6: 0x6d028220, + 0x24dc9: 0x6ccf9220, 0x24dcb: 0x6d418420, + 0x24dd3: 0x6c771e20, + 0x24dd4: 0x6c82a820, + 0x24dda: 0x6c0bde20, + 0x24ddd: 0x6cd54e20, 0x24dde: 0x6caa7820, 0x24ddf: 0x6d069a20, + 0x24de3: 0x6c503020, + 0x24de8: 0x6c4af220, 0x24dea: 0x6d2d4020, 0x24deb: 0x6c80c620, + 0x24dec: 0x6c248e20, 0x24ded: 0x6d363620, 0x24dee: 0x6c3ca820, 0x24def: 0x6cbd3220, + 0x24df1: 0x6d2acc20, 0x24df2: 0x6ca35420, 0x24df3: 0x6ca99a20, + 0x24df4: 0x6d17f420, 0x24df7: 0x6c232c20, + 0x24df8: 0x6cd1e020, 0x24df9: 0x6c65c220, 0x24dfa: 0x6d3fa420, 0x24dfb: 0x6d0db820, + 0x24dfc: 0x6d1bd620, + // Block 0x938, offset 0x24e00 + 0x24e00: 0x6cc86e20, 0x24e02: 0x6cc6a420, 0x24e03: 0x6cf8cc20, + 0x24e05: 0x6c492420, 0x24e06: 0x6c769420, + 0x24e08: 0x6cf51420, 0x24e0a: 0x6cbda820, 0x24e0b: 0x6c235820, + 0x24e0d: 0x6d2b0620, 0x24e0e: 0x6d024220, + 0x24e10: 0x6d241020, 0x24e11: 0x6d29a020, 0x24e12: 0x6c206620, 0x24e13: 0x6c853c20, + 0x24e14: 0x6c853e20, 0x24e15: 0x6d075020, 0x24e16: 0x6c9c9020, 0x24e17: 0x6d075420, + 0x24e18: 0x6cc88c20, 0x24e1b: 0x6c4b9420, + 0x24e1c: 0x6cc73020, 0x24e1f: 0x6c991420, + 0x24e21: 0x6cbdbe20, 0x24e22: 0x6c24be20, 0x24e23: 0x6c24c020, + 0x24e24: 0x6c24c620, + 0x24e2e: 0x6cf35a20, + 0x24e30: 0x6c383220, 0x24e31: 0x6c037620, + 0x24e38: 0x6cb85820, 0x24e39: 0x6d35ee20, 0x24e3a: 0x6ce5d420, + // Block 0x939, offset 0x24e40 + 0x24e44: 0x6d35f020, 0x24e45: 0x6d345a20, 0x24e47: 0x6c591420, + 0x24e48: 0x6c1da420, 0x24e4a: 0x6d35f220, + 0x24e4e: 0x6d1cf020, + 0x24e52: 0x6cf4f020, 0x24e53: 0x6c06a420, + 0x24e55: 0x6c534c20, 0x24e56: 0x6cd06420, + 0x24e58: 0x6c746620, 0x24e59: 0x6c7d0420, + 0x24e5c: 0x6d15f820, 0x24e5d: 0x6d0bbe20, + 0x24e60: 0x6c087c20, + 0x24e64: 0x6c7aea20, 0x24e65: 0x6cb8f220, + 0x24e68: 0x6d2f6620, 0x24e6a: 0x6c766820, 0x24e6b: 0x6cce1220, + 0x24e6e: 0x6c01ca20, 0x24e6f: 0x6d307020, + 0x24e70: 0x6d369420, + 0x24e77: 0x6d36b620, + 0x24e79: 0x6c693220, + // Block 0x93a, offset 0x24e80 + 0x24e80: 0x6cd83020, 0x24e81: 0x6cb45c20, 0x24e82: 0x6cab9420, + 0x24e8a: 0x6d3dbe20, + 0x24e91: 0x6d1c3c20, 0x24e93: 0x6c584a20, + 0x24e95: 0x6d0b6e20, + 0x24e98: 0x6cd23c20, 0x24e99: 0x6cabb220, 0x24e9a: 0x6cb48420, + 0x24e9e: 0x6c983c20, 0x24e9f: 0x6c146220, + 0x24ea9: 0x6d278e20, + 0x24eac: 0x6c476a20, + 0x24eb9: 0x6c282a20, 0x24ebb: 0x6ca4a020, + 0x24ebd: 0x6d302620, 0x24ebf: 0x6c552c20, + // Block 0x93b, offset 0x24ec0 + 0x24ec5: 0x6c792c20, 0x24ec7: 0x6c2e8c20, + 0x24ec8: 0x6ce63c20, 0x24ecb: 0x6c48ee20, + 0x24ece: 0x6cbef020, 0x24ecf: 0x6cd2ca20, + 0x24ed0: 0x6c640c20, 0x24ed1: 0x6c02ca20, 0x24ed2: 0x6ca2f620, 0x24ed3: 0x6cb23a20, + 0x24ed4: 0x6c63b220, + 0x24ee1: 0x6d30ec20, 0x24ee2: 0x6c108620, 0x24ee3: 0x6cf2b020, + 0x24ee5: 0x6c141e20, + 0x24eea: 0x6ca4a420, 0x24eeb: 0x6c76c620, + 0x24eef: 0x6c319220, + 0x24ef0: 0x6c48f020, 0x24ef1: 0x6cbf0e20, 0x24ef3: 0x6cc66a20, + 0x24ef4: 0x6d15e820, 0x24ef5: 0x6c32fe20, 0x24ef6: 0x6c82c020, + 0x24ef8: 0x6d387a20, 0x24ef9: 0x6c7ac220, 0x24efa: 0x6c354020, 0x24efb: 0x6cfa9e20, + 0x24efc: 0x6c2d5420, 0x24efd: 0x6caaf020, 0x24efe: 0x6c361620, 0x24eff: 0x6d1d8620, + // Block 0x93c, offset 0x24f00 + 0x24f00: 0x6cf4e220, 0x24f01: 0x6c793a20, + 0x24f13: 0x6d35f420, + 0x24f17: 0x6d351c20, + 0x24f18: 0x6d0a0820, 0x24f1b: 0x6d334a20, + 0x24f1e: 0x6d0fae20, + 0x24f20: 0x6c5dc420, 0x24f21: 0x6c602220, 0x24f22: 0x6ca4f020, + 0x24f27: 0x6d0ba020, + 0x24f28: 0x6c924620, 0x24f2b: 0x6c3d7220, + 0x24f2c: 0x6cca1c20, 0x24f2d: 0x6c1f4420, 0x24f2e: 0x6cefca20, + 0x24f30: 0x6c3f6820, 0x24f31: 0x6c794020, 0x24f32: 0x6cd8c020, 0x24f33: 0x6c778620, + 0x24f35: 0x6d17b020, 0x24f36: 0x6c579a20, + 0x24f3e: 0x6d225e20, + // Block 0x93d, offset 0x24f40 + 0x24f43: 0x6c861420, + 0x24f46: 0x6c8c2020, 0x24f47: 0x6c321e20, + 0x24f48: 0x6c363c20, + 0x24f4c: 0x6cbb4220, 0x24f4d: 0x6c31a620, + 0x24f50: 0x6c6af020, 0x24f51: 0x6c21c620, 0x24f52: 0x6cfcd420, + 0x24f56: 0x6c430a20, + 0x24f6c: 0x6c2a1e20, + 0x24f70: 0x6c52b420, + 0x24f7b: 0x6d3fa620, + 0x24f7e: 0x6cb7b620, 0x24f7f: 0x6ceb3820, + // Block 0x93e, offset 0x24f80 + 0x24f80: 0x6c52b820, 0x24f81: 0x6cb06420, 0x24f82: 0x6c453c20, + 0x24f84: 0x6ca85020, 0x24f87: 0x6c798420, + 0x24f8a: 0x6d354620, + 0x24f91: 0x6cffb420, + 0x24fa1: 0x6ccf6620, 0x24fa2: 0x6d217620, 0x24fa3: 0x6c676a20, + 0x24fa9: 0x6cb70a20, 0x24faa: 0x6c190a20, 0x24fab: 0x6cca8220, + 0x24fad: 0x6cdd8e20, 0x24fae: 0x6cb9bc20, 0x24faf: 0x6c5c1a20, + 0x24fb1: 0x6ccda020, 0x24fb2: 0x6c368c20, + 0x24fbb: 0x6cbfbc20, + 0x24fbd: 0x6c78ca20, + // Block 0x93f, offset 0x24fc0 + 0x24fc0: 0x6cf23420, 0x24fc1: 0x6d3e7c20, 0x24fc2: 0x6c608e20, + 0x24fc7: 0x6c26e220, + 0x24fc9: 0x6c263620, + 0x24fcd: 0x6c90f620, 0x24fce: 0x6c775020, 0x24fcf: 0x6c7e1220, + 0x24fd0: 0x6c2b8e20, 0x24fd1: 0x6cbc7e20, 0x24fd3: 0x6ca16420, + 0x24fd6: 0x6c4cce20, 0x24fd7: 0x6c52c620, + 0x24fd8: 0x6c177c20, 0x24fd9: 0x6c522620, + 0x24fe2: 0x6c129020, 0x24fe3: 0x6d308c20, + 0x24fe6: 0x6c4bea20, + 0x24ff0: 0x6d05ec20, 0x24ff1: 0x6caece20, 0x24ff2: 0x6c74ca20, + 0x24ff5: 0x6c41ee20, 0x24ff6: 0x6cd83220, + 0x24ff8: 0x6cdc8620, 0x24ff9: 0x6cc40420, 0x24ffb: 0x6cf3f220, + 0x24ffc: 0x6d0cda20, 0x24ffd: 0x6caf1820, 0x24ffe: 0x6cffc420, 0x24fff: 0x6cac4820, + // Block 0x940, offset 0x25000 + 0x2500d: 0x6c7e9e20, + 0x25017: 0x6c085a20, + 0x25018: 0x6d320020, 0x25019: 0x6c60de20, + 0x2501c: 0x6c6cc020, 0x2501d: 0x6c887420, 0x2501e: 0x6c791220, + 0x25020: 0x6d38d620, + 0x25028: 0x6d2a9620, 0x2502a: 0x6c822e20, 0x2502b: 0x6cb54820, + 0x2502c: 0x6c0e3820, + 0x25035: 0x6d1b1c20, 0x25036: 0x6cb1f620, + 0x2503b: 0x6cda3820, + 0x2503c: 0x6c941620, 0x2503e: 0x6c2bb420, 0x2503f: 0x6c31e420, + // Block 0x941, offset 0x25040 + 0x25040: 0x6c8a8820, 0x25041: 0x6d3dd620, + 0x2504a: 0x6c16fc20, + 0x25052: 0x6c194020, 0x25053: 0x6cdee020, + 0x25059: 0x6cc41e20, 0x2505a: 0x6c2a4c20, + 0x2505d: 0x6cc51020, 0x2505f: 0x6cb3ba20, + 0x25066: 0x6d37e020, 0x25067: 0x6d006020, + 0x2506a: 0x6c679620, 0x2506b: 0x6cc21820, + 0x2506c: 0x6c831020, 0x2506d: 0x6c10f020, 0x2506e: 0x6cc39a20, + 0x25075: 0x6cfe7220, 0x25076: 0x6c836820, + 0x2507a: 0x6c809620, + 0x2507f: 0x6c7e6820, + // Block 0x942, offset 0x25080 + 0x25081: 0x6c7e6a20, + 0x25084: 0x6d24b420, + 0x2508a: 0x6c697e20, 0x2508b: 0x6cbd4e20, + 0x2508c: 0x6c5e7e20, 0x2508f: 0x6c41c820, + 0x25092: 0x6d169220, + 0x250a0: 0x6d16c820, 0x250a1: 0x6d339e20, + 0x250a4: 0x6c0c6e20, 0x250a5: 0x6cd0e620, 0x250a6: 0x6c6fd820, + 0x250ab: 0x6c509420, + 0x250ac: 0x6c3e2020, 0x250ae: 0x6c706620, + // Block 0x943, offset 0x250c0 + 0x250c0: 0x6d426620, 0x250c1: 0x6d14ac20, + 0x250c6: 0x6cfc9420, 0x250c7: 0x6d14ae20, + 0x250c9: 0x6cd8a220, 0x250cb: 0x6c20f220, + 0x250ce: 0x6ca0fa20, + 0x250e1: 0x6d2d6c20, 0x250e3: 0x6d0a0020, + 0x250e6: 0x6cc79a20, + 0x250e8: 0x6c5db020, + 0x250ec: 0x6cce6a20, + 0x250f0: 0x6cd46620, + 0x250fe: 0x6d203e20, 0x250ff: 0x6d231c20, + // Block 0x944, offset 0x25100 + 0x25102: 0x6c75b420, + 0x25109: 0x6d3e4220, 0x2510a: 0x6c925c20, + 0x2511a: 0x6c1baa20, 0x2511b: 0x6c7d6620, + 0x25120: 0x6d3ce420, + 0x25126: 0x6c541420, + 0x25129: 0x6d064420, + 0x2513e: 0x6d3f9c20, 0x2513f: 0x6d1d4220, + // Block 0x945, offset 0x25140 + 0x25142: 0x6d39b020, + 0x25145: 0x6c8f3a20, + 0x25151: 0x6caa6820, + 0x25158: 0x6c0a3020, 0x2515a: 0x6c1c5e20, + 0x2515c: 0x6d412420, 0x2515d: 0x6c3cb820, 0x2515e: 0x6c92aa20, 0x2515f: 0x6cb49220, + 0x25165: 0x6d3bdc20, 0x25167: 0x6d308020, + 0x25168: 0x6cd1ec20, 0x25169: 0x6d227e20, 0x2516a: 0x6c92ac20, 0x2516b: 0x6c896820, + 0x2516f: 0x6c74c020, + 0x25170: 0x6c8aa620, 0x25171: 0x6c080820, + // Block 0x946, offset 0x25180 + 0x25183: 0x6d18ce20, + 0x25184: 0x6c492820, + 0x2518c: 0x6c02ae20, 0x2518f: 0x6c4b8220, + 0x25190: 0x6c9fce20, 0x25192: 0x6d0dec20, 0x25193: 0x6c7fd220, + 0x25196: 0x6c0f9220, + 0x25199: 0x6d29a620, 0x2519a: 0x6d1ffe20, + 0x251a5: 0x6d194420, 0x251a6: 0x6ca66020, + 0x251ac: 0x6ca66620, 0x251ad: 0x6c4ce020, 0x251ae: 0x6c760a20, + 0x251b0: 0x6cd21820, 0x251b2: 0x6cfc5c20, + 0x251b4: 0x6cb95e20, 0x251b5: 0x6cc42020, 0x251b6: 0x6c7cc420, + // Block 0x947, offset 0x251c0 + 0x251c0: 0x6ccf1620, 0x251c2: 0x6c5dd620, + 0x251c4: 0x6ced8e20, + 0x251ca: 0x6c3af220, 0x251cb: 0x6c3b0020, + 0x251cd: 0x6d22c420, + 0x251d1: 0x6d339220, 0x251d2: 0x6c48a420, + 0x251d4: 0x6c6a8620, 0x251d5: 0x6c983e20, 0x251d6: 0x6c50cc20, + 0x251d8: 0x6d1fa820, + 0x251df: 0x6c324220, + 0x251e0: 0x6cd7d220, 0x251e2: 0x6c859420, + 0x251e5: 0x6c6a9420, 0x251e6: 0x6ca98a20, 0x251e7: 0x6c03ac20, + 0x251e8: 0x6d20de20, + 0x251ee: 0x6d33b220, + 0x251f8: 0x6c50e020, 0x251f9: 0x6c77e820, + 0x251fe: 0x6c324a20, 0x251ff: 0x6c634820, + // Block 0x948, offset 0x25200 + 0x25201: 0x6c186020, 0x25203: 0x6c20f420, + 0x25204: 0x6c50f820, 0x25205: 0x6d2d2620, + 0x2520a: 0x6c9a8c20, + 0x2520d: 0x6c50fa20, 0x2520e: 0x6d3f0420, 0x2520f: 0x6d3a0620, + 0x25212: 0x6ceb0e20, + 0x25218: 0x6d421820, 0x2521a: 0x6cc7a220, 0x2521b: 0x6c34ee20, + 0x2521c: 0x6c67e020, + 0x25227: 0x6c526420, + 0x25229: 0x6c07e620, 0x2522a: 0x6ca10820, + 0x2522f: 0x6d40ba20, + 0x25232: 0x6c0caa20, + 0x25234: 0x6c7a9820, 0x25235: 0x6c63c020, + 0x2523a: 0x6d3d0420, + 0x2523c: 0x6d04d620, + // Block 0x949, offset 0x25240 + 0x25243: 0x6c512820, + 0x25245: 0x6cbb7220, + 0x2524d: 0x6c3a5c20, 0x2524e: 0x6cd10a20, + 0x25252: 0x6d3c9620, 0x25253: 0x6c7b6a20, + 0x25254: 0x6d2b5420, 0x25255: 0x6cfaae20, 0x25257: 0x6c09d620, + 0x25258: 0x6d17f620, 0x2525a: 0x6c171a20, + 0x2526a: 0x6c999a20, + 0x25276: 0x6ced3020, + 0x2527d: 0x6cf37620, 0x2527e: 0x6c7a5220, 0x2527f: 0x6cf2be20, + // Block 0x94a, offset 0x25280 + 0x25280: 0x6d038a20, 0x25281: 0x6c781620, 0x25283: 0x6c6f8220, + 0x25284: 0x6c329c20, 0x25285: 0x6c594820, + 0x25288: 0x6d369620, 0x25289: 0x6c130620, 0x2528a: 0x6cc75a20, 0x2528b: 0x6c606e20, + 0x2528d: 0x6d131a20, + 0x2529b: 0x6c6dca20, + 0x2529c: 0x6d106220, + 0x252a1: 0x6d400220, + 0x252a9: 0x6c11d620, + 0x252b1: 0x6cd81c20, 0x252b2: 0x6c866220, 0x252b3: 0x6c47c620, + 0x252b4: 0x6c172220, 0x252b6: 0x6c3a6820, 0x252b7: 0x6c8e8a20, + 0x252b9: 0x6c6b1e20, 0x252ba: 0x6d276020, + 0x252bd: 0x6d36ba20, + // Block 0x94b, offset 0x252c0 + 0x252c0: 0x6c1dd220, 0x252c1: 0x6c0cbc20, + 0x252d2: 0x6c5f1a20, + 0x252dc: 0x6c955220, 0x252dd: 0x6c64f820, 0x252df: 0x6c206020, + 0x252e0: 0x6cd6de20, 0x252e2: 0x6c93fe20, 0x252e3: 0x6c75ea20, + 0x252e4: 0x6c69c820, 0x252e6: 0x6ce42020, 0x252e7: 0x6d2c0020, + 0x252ea: 0x6d18a820, + 0x252ec: 0x6c235a20, 0x252ed: 0x6ca57420, 0x252ee: 0x6c638220, + 0x252f4: 0x6c627c20, + 0x252fd: 0x6c00ce20, + // Block 0x94c, offset 0x25300 + 0x25307: 0x6c65d820, + 0x2530a: 0x6c07ca20, + 0x2530c: 0x6c38c620, 0x2530d: 0x6cdc8a20, 0x2530e: 0x6d421e20, + 0x25310: 0x6c42e420, 0x25311: 0x6c432420, 0x25312: 0x6c817e20, + 0x25314: 0x6d3db620, + 0x2531f: 0x6c56ca20, + 0x25322: 0x6ce9c420, + 0x25326: 0x6c0a7420, 0x25327: 0x6c716420, + 0x2532e: 0x6c575a20, + 0x25332: 0x6c1a4a20, + 0x25336: 0x6c7b4220, 0x25337: 0x6c291420, + 0x25338: 0x6c444c20, 0x25339: 0x6d011420, 0x2533b: 0x6c6b6220, + 0x2533d: 0x6c117620, + // Block 0x94d, offset 0x25340 + 0x25346: 0x6d40ec20, + 0x25348: 0x6cb46820, 0x2534b: 0x6cd57c20, + 0x2534c: 0x6c104820, + 0x25357: 0x6ca93220, + 0x25358: 0x6d0dfc20, 0x25359: 0x6d396020, 0x2535b: 0x6c9b8420, + 0x2535d: 0x6c0b5e20, 0x2535f: 0x6cfe6420, + 0x25364: 0x6c931c20, 0x25365: 0x6c849020, + 0x25369: 0x6c62ca20, 0x2536b: 0x6c9f0a20, + 0x2536c: 0x6c835620, 0x2536e: 0x6d375820, 0x2536f: 0x6d1ecc20, + 0x25370: 0x6c0b6020, + 0x25378: 0x6ca2bc20, 0x25379: 0x6cc4da20, + // Block 0x94e, offset 0x25380 + 0x25382: 0x6ca7c620, + 0x2538a: 0x6cc33a20, 0x2538b: 0x6d30c620, + 0x25390: 0x6c836620, + 0x25397: 0x6c294820, + 0x25398: 0x6c752e20, + 0x2539c: 0x6c8dc420, 0x2539e: 0x6c8de820, 0x2539f: 0x6d0d2620, + 0x253a3: 0x6d118620, + 0x253a4: 0x6d321220, 0x253a5: 0x6cb4ce20, 0x253a6: 0x6c008a20, + 0x253a8: 0x6caa3e20, 0x253a9: 0x6c988220, + 0x253b1: 0x6c76c220, 0x253b3: 0x6c6f5c20, + 0x253b4: 0x6d0d5820, 0x253b5: 0x6c9e5420, 0x253b7: 0x6d1a3e20, + 0x253b8: 0x6ceccc20, 0x253b9: 0x6d11f420, 0x253ba: 0x6cebce20, 0x253bb: 0x6cafc820, + 0x253bc: 0x6cdc2c20, + // Block 0x94f, offset 0x253c0 + 0x253c5: 0x6c799a20, + 0x253c8: 0x6c532c20, 0x253ca: 0x6ca03020, 0x253cb: 0x6c8cd220, + 0x253cc: 0x6d173e20, 0x253cd: 0x6ccfd220, 0x253cf: 0x6d429220, + 0x253db: 0x6ce85020, + 0x253dd: 0x6d1e7820, 0x253df: 0x6cec2620, + 0x253e0: 0x6c4af420, 0x253e1: 0x6c53bc20, + 0x253e5: 0x6cd36e20, 0x253e7: 0x6d049220, + 0x253e9: 0x6c000620, + 0x253f1: 0x6c19ee20, 0x253f3: 0x6c793c20, + 0x253f4: 0x6d176c20, 0x253f5: 0x6d104820, 0x253f6: 0x6ce67420, 0x253f7: 0x6c311e20, + 0x253f8: 0x6c13e820, 0x253f9: 0x6c8f3020, + 0x253fd: 0x6cc06a20, 0x253fe: 0x6d084e20, 0x253ff: 0x6ccfee20, + // Block 0x950, offset 0x25400 + 0x25400: 0x6c7b5420, 0x25401: 0x6ce7ca20, 0x25403: 0x6cba0e20, + 0x25405: 0x6c1e4220, + 0x2540a: 0x6cf1de20, + 0x2540c: 0x6c906820, 0x2540d: 0x6c018820, + 0x25414: 0x6c76d820, 0x25416: 0x6d11b020, + 0x25418: 0x6c3e8420, + 0x2541c: 0x6c084220, 0x2541d: 0x6c803020, 0x2541e: 0x6cb86c20, 0x2541f: 0x6c2d6620, + 0x25422: 0x6c69a620, 0x25423: 0x6c4a7420, + 0x25425: 0x6d049820, + 0x25428: 0x6c78bc20, + 0x25436: 0x6cfcd620, 0x25437: 0x6cf33a20, + // Block 0x951, offset 0x25440 + 0x25442: 0x6c45f620, + 0x25446: 0x6cab8620, 0x25447: 0x6c781820, + 0x2544b: 0x6c7a5420, + 0x25451: 0x6ce4be20, 0x25452: 0x6c46d420, 0x25453: 0x6c96a220, + 0x25455: 0x6c8f3e20, + 0x25459: 0x6cf0c220, 0x2545a: 0x6cf1ec20, + 0x25461: 0x6c462020, 0x25463: 0x6ce8e820, + 0x25464: 0x6ca91620, 0x25467: 0x6c9d7c20, + 0x2546b: 0x6c80e020, + 0x2546c: 0x6cba2220, 0x2546d: 0x6c977e20, 0x2546e: 0x6d308e20, + 0x25470: 0x6c57c620, 0x25471: 0x6d1db620, 0x25472: 0x6c6d5020, + 0x25474: 0x6c9aae20, 0x25477: 0x6c3ef020, + 0x2547b: 0x6cc1c220, + // Block 0x952, offset 0x25480 + 0x2548c: 0x6c8f4820, 0x2548d: 0x6c406220, 0x2548e: 0x6c28c620, + 0x25490: 0x6c460020, 0x25492: 0x6c256e20, + 0x25495: 0x6d040c20, + 0x2549c: 0x6ce87c20, 0x2549d: 0x6cd48020, + 0x254aa: 0x6cbf8420, + 0x254b3: 0x6cc6e020, + 0x254bb: 0x6c874c20, + 0x254bf: 0x6c5f9220, + // Block 0x953, offset 0x254c0 + 0x254c0: 0x6cebbc20, + 0x254cc: 0x6ce7aa20, + 0x254d2: 0x6ce04c20, + 0x254d4: 0x6c8dea20, 0x254d6: 0x6d169420, 0x254d7: 0x6cc85220, + 0x254d9: 0x6cabe220, + 0x254dd: 0x6c10e820, + 0x254e1: 0x6d269820, 0x254e2: 0x6cc3b020, 0x254e3: 0x6d3ade20, + 0x254e4: 0x6c4d6220, + 0x254f1: 0x6c381220, 0x254f2: 0x6c4d6820, + // Block 0x954, offset 0x25500 + 0x25500: 0x6c101620, 0x25501: 0x6cb25620, 0x25502: 0x6c8b0c20, + 0x2550a: 0x6c7cd420, 0x2550b: 0x6c3e9e20, + 0x2550c: 0x6ce50620, 0x2550d: 0x6cf2fc20, 0x2550f: 0x6c70aa20, + 0x25518: 0x6d318620, 0x2551a: 0x6c3ec620, + 0x25522: 0x6c8f9e20, + 0x25526: 0x6cf8ce20, 0x25527: 0x6ce4c020, + 0x2552b: 0x6c626620, + 0x2552f: 0x6d122c20, + 0x25531: 0x6c246620, + 0x25534: 0x6cad3020, 0x25535: 0x6cbce820, + 0x2553b: 0x6c8fb420, + 0x2553c: 0x6c615820, + // Block 0x955, offset 0x25540 + 0x25542: 0x6ce79a20, 0x25543: 0x6d158420, + 0x25545: 0x6c168420, + 0x2554b: 0x6c45c220, + 0x2554e: 0x6c309620, + 0x25556: 0x6cfda420, + 0x25559: 0x6ce6b620, 0x2555b: 0x6d3b7020, + 0x2555c: 0x6d15c820, 0x2555d: 0x6d170020, 0x2555e: 0x6d3ef820, 0x2555f: 0x6cb6e020, + 0x25562: 0x6c141a20, + 0x2556c: 0x6c33e220, 0x2556f: 0x6c1cbc20, + 0x25570: 0x6c922a20, 0x25571: 0x6c33ea20, 0x25573: 0x6c399220, + 0x25574: 0x6cd35c20, 0x25575: 0x6ce3e420, 0x25576: 0x6c5eaa20, 0x25577: 0x6cbfaa20, + 0x25578: 0x6cd70e20, 0x25579: 0x6c18b020, + 0x2557c: 0x6c5a6820, 0x2557d: 0x6cd41220, + // Block 0x956, offset 0x25580 + 0x25580: 0x6d279c20, + 0x25586: 0x6c8f8420, + 0x25588: 0x6c97b620, 0x25589: 0x6c464220, + 0x2558d: 0x6cfaa020, 0x2558e: 0x6ca10a20, + 0x25590: 0x6cd05e20, 0x25592: 0x6cb30820, 0x25593: 0x6d120420, + 0x25594: 0x6cc0fa20, 0x25595: 0x6cc4c020, + 0x25599: 0x6c724220, + 0x2559c: 0x6d1ada20, 0x2559d: 0x6c041020, 0x2559e: 0x6ca81c20, + 0x255a0: 0x6c1d6c20, + 0x255aa: 0x6cc67820, 0x255ab: 0x6c202020, + 0x255ac: 0x6ca83420, 0x255ad: 0x6c861620, 0x255ae: 0x6c676220, 0x255af: 0x6c77ac20, + 0x255b0: 0x6c12f020, 0x255b1: 0x6c1d5220, 0x255b2: 0x6d3b5620, 0x255b3: 0x6d3f1420, + 0x255b4: 0x6d0fb820, + 0x255bc: 0x6cf1e020, + // Block 0x957, offset 0x255c0 + 0x255cb: 0x6c620420, + 0x255cc: 0x6c620620, + 0x255d0: 0x6c93e820, 0x255d1: 0x6cc07820, 0x255d2: 0x6c33fc20, 0x255d3: 0x6c05cc20, + 0x255d4: 0x6c14ce20, 0x255d6: 0x6c0f1620, + 0x255d8: 0x6c1abe20, 0x255d9: 0x6d30fa20, 0x255da: 0x6c98b820, + 0x255dc: 0x6c621c20, 0x255dd: 0x6c9eb620, 0x255de: 0x6d262620, + 0x255e0: 0x6cf3d220, 0x255e1: 0x6d366420, 0x255e2: 0x6cb25c20, + 0x255e5: 0x6c1ccc20, + 0x255eb: 0x6c9c6020, + 0x255ec: 0x6c3a3c20, 0x255ed: 0x6c25c020, 0x255ee: 0x6c9b2420, + // Block 0x958, offset 0x25600 + 0x2560d: 0x6d1a8220, 0x2560e: 0x6c989a20, 0x2560f: 0x6c2d2420, + 0x25610: 0x6c2dd620, 0x25612: 0x6cb9b420, + 0x25615: 0x6c4f9820, 0x25616: 0x6d348620, 0x25617: 0x6c713e20, + 0x25618: 0x6ca76820, + 0x2561c: 0x6c9c6620, 0x2561d: 0x6c47b620, + 0x25623: 0x6d3b5820, + 0x25624: 0x6ca85220, 0x25625: 0x6d3d8420, 0x25627: 0x6d131c20, + 0x25628: 0x6c23dc20, 0x2562a: 0x6d05be20, + 0x2562c: 0x6cf8b820, 0x2562f: 0x6c0e8420, + 0x2563e: 0x6c11d820, + // Block 0x959, offset 0x25640 + 0x25643: 0x6d0dba20, + 0x25651: 0x6c6cb220, + 0x25654: 0x6c71ce20, 0x25655: 0x6c298620, 0x25656: 0x6c327620, + 0x25658: 0x6d128c20, 0x25659: 0x6c6ea020, 0x2565a: 0x6c78cc20, 0x2565b: 0x6c962220, + 0x2565c: 0x6cf00220, 0x2565d: 0x6ce87620, 0x2565e: 0x6d1f6020, 0x2565f: 0x6cac3020, + 0x25661: 0x6cb01020, 0x25662: 0x6c2fb820, + 0x25664: 0x6cf00420, 0x25665: 0x6c183620, 0x25666: 0x6c66bc20, + 0x25668: 0x6cd81e20, 0x25669: 0x6d3d8a20, 0x2566a: 0x6cda4020, + 0x2566c: 0x6cc87420, 0x2566e: 0x6d218420, + 0x25673: 0x6c368e20, + 0x25676: 0x6c7a7e20, + 0x25678: 0x6d3b2220, + 0x2567e: 0x6cf9e820, + // Block 0x95a, offset 0x25680 + 0x2569b: 0x6c3ef220, + 0x2569c: 0x6ce23e20, 0x2569d: 0x6cf6d020, 0x2569e: 0x6c1d8020, 0x2569f: 0x6c41ec20, + 0x256a0: 0x6c936420, 0x256a1: 0x6c131620, 0x256a2: 0x6ccdb220, 0x256a3: 0x6c8e9c20, + 0x256a5: 0x6cf8e020, 0x256a6: 0x6c5f3e20, 0x256a7: 0x6d161220, + 0x256a8: 0x6ce01220, 0x256aa: 0x6c55b620, + 0x256ad: 0x6c25c820, 0x256ae: 0x6c447820, + 0x256b0: 0x6cd3dc20, 0x256b1: 0x6ccac020, 0x256b2: 0x6c53d420, 0x256b3: 0x6cfd0e20, + 0x256b6: 0x6cf9f020, + 0x256bb: 0x6ca2ae20, + 0x256bc: 0x6cdd9620, 0x256be: 0x6d2d4c20, + // Block 0x95b, offset 0x256c0 + 0x256c0: 0x6c3d9e20, 0x256c1: 0x6ccb6220, 0x256c2: 0x6caa4620, 0x256c3: 0x6d18ac20, + 0x256e7: 0x6cbdaa20, + 0x256e8: 0x6cbedc20, + 0x256f5: 0x6c5c5a20, 0x256f6: 0x6cd6e220, 0x256f7: 0x6c284a20, + 0x256f8: 0x6cab5420, 0x256f9: 0x6ca17420, 0x256fa: 0x6cb92420, 0x256fb: 0x6c1c8020, + 0x256fc: 0x6cac0620, 0x256fd: 0x6c739620, + // Block 0x95c, offset 0x25700 + 0x25700: 0x6c178020, 0x25701: 0x6c8b3c20, 0x25702: 0x6c0db420, 0x25703: 0x6c7a0a20, + 0x25704: 0x6c28c820, 0x25705: 0x6c1dee20, 0x25706: 0x6ce70620, 0x25707: 0x6c28ca20, + 0x25708: 0x6c97ce20, 0x25709: 0x6c56ce20, 0x2570a: 0x6c8a2820, 0x2570b: 0x6cfbae20, + 0x2570d: 0x6c129820, 0x2570e: 0x6c92ea20, 0x2570f: 0x6c204220, + 0x25710: 0x6cf3f420, 0x25711: 0x6c978820, + 0x25715: 0x6d3f2420, 0x25717: 0x6c328020, + 0x2571a: 0x6cd6f220, 0x2571b: 0x6c406420, + 0x2571c: 0x6c72a620, 0x2571d: 0x6d395820, 0x2571f: 0x6c2e4220, + 0x25720: 0x6cee5a20, 0x25721: 0x6c206820, 0x25722: 0x6cb92620, 0x25723: 0x6cea1220, + 0x25725: 0x6c886420, 0x25726: 0x6c0c2e20, 0x25727: 0x6c845420, + 0x2572a: 0x6c845620, + // Block 0x95d, offset 0x25740 + 0x25746: 0x6c0a9220, 0x25747: 0x6c407620, + 0x25748: 0x6c257820, 0x25749: 0x6c318020, 0x2574b: 0x6d29a820, + 0x2574c: 0x6c8fb620, 0x2574d: 0x6d0a4a20, 0x2574e: 0x6cbf7a20, 0x2574f: 0x6c5f6e20, + 0x25750: 0x6cba2c20, 0x25752: 0x6c65fa20, 0x25753: 0x6cce9020, + 0x25754: 0x6c351e20, 0x25755: 0x6cd51620, 0x25756: 0x6c10c820, 0x25757: 0x6d05f820, + 0x25758: 0x6c304420, 0x2575a: 0x6cc49220, + 0x2575c: 0x6d0fe620, 0x2575d: 0x6cc8b420, 0x2575e: 0x6c8c7020, 0x2575f: 0x6c65fc20, + 0x25760: 0x6c2ca820, 0x25761: 0x6c3ba020, 0x25762: 0x6c2d9020, 0x25763: 0x6d41dc20, + 0x25765: 0x6ca94820, + 0x2576a: 0x6cdba020, 0x2576b: 0x6ce52420, + 0x2576c: 0x6c01da20, 0x2576f: 0x6c131c20, + 0x25770: 0x6c2fc220, 0x25771: 0x6cd02820, 0x25772: 0x6c328420, 0x25773: 0x6ce39420, + 0x25774: 0x6c695420, 0x25775: 0x6d41de20, 0x25776: 0x6d2f1020, 0x25777: 0x6c65fe20, + 0x25778: 0x6c28da20, 0x25779: 0x6c285420, 0x2577a: 0x6cd97420, + // Block 0x95e, offset 0x25780 + 0x25790: 0x6d2e2620, 0x25791: 0x6ce69620, 0x25792: 0x6d372a20, + 0x25795: 0x6d1f8220, 0x25796: 0x6cac0e20, + 0x257a1: 0x6c854220, + 0x257a4: 0x6cb9d820, 0x257a6: 0x6cdca620, 0x257a7: 0x6c71dc20, + 0x257a8: 0x6c010020, 0x257a9: 0x6c445020, 0x257aa: 0x6c72b420, 0x257ab: 0x6cea7220, + 0x257ac: 0x6c0aa620, 0x257ad: 0x6cb87e20, 0x257ae: 0x6c0fa820, 0x257af: 0x6c5c7c20, + 0x257b1: 0x6c670020, + 0x257b4: 0x6c466420, 0x257b5: 0x6cdba420, + 0x257ba: 0x6c227a20, 0x257bb: 0x6cbb5c20, + 0x257bf: 0x6d0cf420, + // Block 0x95f, offset 0x257c0 + 0x257cf: 0x6c2d9420, + 0x257d2: 0x6c9f0420, + 0x257dc: 0x6cb3b620, 0x257dd: 0x6c8e1620, 0x257de: 0x6c6b7420, 0x257df: 0x6d3b3e20, + 0x257e0: 0x6c47ee20, 0x257e3: 0x6c32aa20, + 0x257e4: 0x6d2fee20, 0x257e6: 0x6ccebe20, 0x257e7: 0x6cbdf020, + 0x257e8: 0x6c9ca420, 0x257ea: 0x6cb2e220, 0x257eb: 0x6c23c020, + 0x257ec: 0x6c1d8820, 0x257ef: 0x6cc9ae20, + 0x257f6: 0x6ce52620, + // Block 0x960, offset 0x25800 + 0x25805: 0x6c8edc20, 0x25806: 0x6c936c20, 0x25807: 0x6c91fc20, + 0x25808: 0x6d407620, + 0x2580c: 0x6c941e20, 0x2580d: 0x6c58e620, 0x2580f: 0x6ce5b420, + 0x25810: 0x6ce9d820, 0x25811: 0x6cbb5220, 0x25812: 0x6c8c8020, 0x25813: 0x6c06c220, + 0x25814: 0x6cad7620, 0x25815: 0x6d2dc420, 0x25817: 0x6c874e20, + 0x2581b: 0x6ce3b220, + 0x2581c: 0x6c560020, + 0x25822: 0x6c8b6c20, + 0x25835: 0x6c5b8020, 0x25836: 0x6cc16420, 0x25837: 0x6d086820, + 0x25839: 0x6c6ec620, 0x2583a: 0x6c2f1220, 0x2583b: 0x6cdc0820, + 0x2583d: 0x6cf11e20, 0x2583f: 0x6d0d1420, + // Block 0x961, offset 0x25840 + 0x25840: 0x6d0c4a20, 0x25841: 0x6c050e20, 0x25843: 0x6c67ce20, + 0x25844: 0x6ca66820, 0x25845: 0x6c876e20, 0x25846: 0x6c560620, 0x25847: 0x6cb80420, + 0x25848: 0x6d37e220, + 0x25851: 0x6c0acc20, + 0x25854: 0x6d220020, 0x25855: 0x6c2f1420, 0x25856: 0x6c8c8a20, 0x25857: 0x6c878c20, + 0x25858: 0x6d3de620, 0x25859: 0x6c62f020, 0x2585a: 0x6c70e620, + 0x2585c: 0x6c3c8820, 0x2585e: 0x6d248820, + 0x25868: 0x6c8b7e20, 0x25869: 0x6d28e020, 0x2586a: 0x6cb9e820, 0x2586b: 0x6c6a4620, + 0x2586c: 0x6c494220, 0x2586e: 0x6d3dee20, + 0x25871: 0x6c40a220, + 0x25879: 0x6ccba220, + 0x2587c: 0x6c248a20, + // Block 0x962, offset 0x25880 + 0x25883: 0x6c5b8220, + 0x25888: 0x6c29a620, 0x25889: 0x6c901c20, 0x2588a: 0x6d198420, + 0x25897: 0x6cc96020, + 0x25898: 0x6d274220, 0x2589a: 0x6c2bc620, + 0x258a1: 0x6c420820, 0x258a2: 0x6d295c20, 0x258a3: 0x6ccdf420, + 0x258a4: 0x6d24b020, 0x258a5: 0x6c0fde20, 0x258a7: 0x6c2f9820, + 0x258a8: 0x6c388c20, 0x258aa: 0x6d22d820, + 0x258ac: 0x6ccfc420, + 0x258b2: 0x6c457020, + 0x258b4: 0x6c9ed020, 0x258b5: 0x6cea4a20, + 0x258b8: 0x6c8af620, + // Block 0x963, offset 0x258c0 + 0x258c1: 0x6d2bd420, 0x258c2: 0x6cadbc20, + 0x258c4: 0x6c9c4a20, 0x258c6: 0x6c9ffa20, 0x258c7: 0x6c394a20, + 0x258c9: 0x6ca33620, 0x258ca: 0x6cd8b820, 0x258cb: 0x6d14ea20, + 0x258cc: 0x6c635020, 0x258cd: 0x6d3ae620, + 0x258d3: 0x6c047e20, + 0x258d4: 0x6d231e20, 0x258d6: 0x6cb35820, + 0x258da: 0x6c582820, 0x258db: 0x6c11f820, + 0x258dc: 0x6c684a20, + 0x258e0: 0x6cdfe420, + 0x258e9: 0x6d363a20, 0x258eb: 0x6c9cf420, + 0x258ec: 0x6c77ae20, + 0x258f1: 0x6d109a20, 0x258f2: 0x6c335020, 0x258f3: 0x6cc36020, + 0x258f4: 0x6c10a420, 0x258f5: 0x6c1f5420, 0x258f6: 0x6cbc2820, 0x258f7: 0x6c8e6c20, + 0x258f8: 0x6c0f1820, 0x258fa: 0x6c772e20, 0x258fb: 0x6c3bde20, + // Block 0x964, offset 0x25900 + 0x25905: 0x6c2a2020, + 0x25909: 0x6c312820, 0x2590a: 0x6c440820, + 0x25919: 0x6c8d3a20, 0x2591a: 0x6cf79420, + 0x2591c: 0x6ca6ba20, 0x2591d: 0x6d389620, 0x2591e: 0x6d389820, + 0x25923: 0x6c1d7820, + 0x25934: 0x6ca6ee20, 0x25935: 0x6c5f0c20, 0x25937: 0x6cc12420, + // Block 0x965, offset 0x25940 + 0x25944: 0x6c763e20, 0x25947: 0x6cfcfc20, + 0x25949: 0x6c516820, 0x2594b: 0x6c8bd220, + 0x2594d: 0x6d3e7e20, + 0x25951: 0x6cab8c20, 0x25952: 0x6c245620, + 0x25957: 0x6c140420, + 0x2595d: 0x6d383820, 0x2595e: 0x6c102420, + 0x25964: 0x6c1d8220, 0x25965: 0x6cf8e220, 0x25966: 0x6cc99220, 0x25967: 0x6cfb9620, + 0x25968: 0x6ccb6420, 0x25969: 0x6c9e6020, 0x2596b: 0x6c38c020, + 0x2596c: 0x6d341620, 0x2596e: 0x6c256420, + 0x25974: 0x6cfa4620, + 0x2597e: 0x6cab1420, 0x2597f: 0x6c845820, + // Block 0x966, offset 0x25980 + 0x25980: 0x6d40de20, 0x25982: 0x6c24f220, 0x25983: 0x6d2b1220, + 0x25985: 0x6c845a20, + 0x25998: 0x6cb67620, 0x2599a: 0x6d3d1020, 0x2599b: 0x6c257a20, + 0x2599c: 0x6cb41e20, 0x2599e: 0x6c38d620, 0x2599f: 0x6ce02620, + 0x259a9: 0x6d3eac20, 0x259aa: 0x6d412a20, 0x259ab: 0x6d38bc20, + 0x259ac: 0x6cc6d020, 0x259ad: 0x6c8bee20, 0x259ae: 0x6ce02820, + 0x259b6: 0x6cd3fe20, + 0x259ba: 0x6c251420, 0x259bb: 0x6d3eb820, + 0x259bc: 0x6c3db620, + // Block 0x967, offset 0x259c0 + 0x259c1: 0x6d001c20, + 0x259c8: 0x6c3c7420, + 0x259cf: 0x6cfd4220, + 0x259d0: 0x6c670c20, 0x259d2: 0x6c3c0420, + 0x259d7: 0x6c875020, + 0x259d8: 0x6ca19820, + 0x259df: 0x6d1ed020, + 0x259e5: 0x6c5e5020, 0x259e7: 0x6cc16620, + 0x259ec: 0x6ca78220, + 0x259f0: 0x6c9cbe20, 0x259f3: 0x6cb80a20, + 0x259f6: 0x6c51ae20, + 0x259f8: 0x6c893a20, + 0x259ff: 0x6d42b420, + // Block 0x968, offset 0x25a00 + 0x25a02: 0x6c8df220, + 0x25a05: 0x6d39f820, 0x25a07: 0x6ca78c20, + 0x25a0a: 0x6c612420, 0x25a0b: 0x6cc62620, + 0x25a0c: 0x6c6a9620, 0x25a0d: 0x6c41d020, + 0x25a10: 0x6d170220, 0x25a13: 0x6d38ce20, + 0x25a15: 0x6cf4ca20, + 0x25a1a: 0x6c44fe20, 0x25a1b: 0x6c243220, + 0x25a1d: 0x6c9ed220, + 0x25a21: 0x6d0a0220, 0x25a23: 0x6d33cc20, + 0x25a24: 0x6cff7620, 0x25a27: 0x6c3e3a20, + 0x25a28: 0x6c553620, + 0x25a2c: 0x6c2b1e20, 0x25a2e: 0x6c741820, 0x25a2f: 0x6c2e1220, + 0x25a39: 0x6cd44420, + 0x25a3c: 0x6cee0a20, + // Block 0x969, offset 0x25a40 + 0x25a43: 0x6ca33820, + 0x25a44: 0x6c2b2620, 0x25a45: 0x6cd37020, 0x25a46: 0x6c224020, 0x25a47: 0x6cd4d220, + 0x25a49: 0x6cec2c20, 0x25a4a: 0x6c181820, 0x25a4b: 0x6c389820, + 0x25a4d: 0x6c470820, 0x25a4e: 0x6d24e620, + 0x25a51: 0x6c491420, + 0x25a5a: 0x6cbcbc20, + 0x25a5c: 0x6d2de820, 0x25a5d: 0x6c276020, 0x25a5e: 0x6cceee20, + 0x25a66: 0x6d388820, 0x25a67: 0x6cfde420, + 0x25a68: 0x6ca00020, 0x25a69: 0x6d3f5020, 0x25a6a: 0x6c599620, 0x25a6b: 0x6c9c5420, + 0x25a6d: 0x6cf88c20, 0x25a6e: 0x6d363c20, 0x25a6f: 0x6cac2820, + 0x25a70: 0x6c349420, + 0x25a74: 0x6c22c820, 0x25a75: 0x6ca1d420, 0x25a77: 0x6c17be20, + 0x25a79: 0x6d17b620, 0x25a7a: 0x6c464820, + // Block 0x96a, offset 0x25a80 + 0x25a87: 0x6c6dba20, + 0x25a93: 0x6d2b8020, + 0x25a94: 0x6cb25e20, 0x25a95: 0x6d130420, 0x25a96: 0x6c6af420, + 0x25a98: 0x6caf7620, 0x25a9b: 0x6ccbfe20, + 0x25a9c: 0x6d3c4420, 0x25a9d: 0x6c6f1e20, + 0x25aa0: 0x6c8e6e20, 0x25aa1: 0x6d227020, 0x25aa3: 0x6c70ac20, + 0x25aa8: 0x6caafe20, + 0x25ab8: 0x6c999c20, + // Block 0x96b, offset 0x25ac0 + 0x25ac4: 0x6c187420, 0x25ac6: 0x6d3bd420, 0x25ac7: 0x6ca76a20, + 0x25ac8: 0x6c79aa20, 0x25ac9: 0x6c6a2e20, 0x25aca: 0x6c57b020, + 0x25acd: 0x6d02e220, 0x25ace: 0x6d424a20, 0x25acf: 0x6d0e9620, + 0x25ad0: 0x6c748220, + 0x25ad5: 0x6c54ea20, 0x25ad6: 0x6d393a20, 0x25ad7: 0x6ccf6a20, + 0x25ad9: 0x6d0dbc20, 0x25adb: 0x6d01de20, + 0x25adc: 0x6c2ed420, 0x25adf: 0x6c187a20, + 0x25af2: 0x6c65c620, 0x25af3: 0x6c624c20, + 0x25af6: 0x6c21ce20, 0x25af7: 0x6c537420, + // Block 0x96c, offset 0x25b00 + 0x25b00: 0x6c26bc20, + 0x25b04: 0x6c764020, 0x25b05: 0x6d039820, 0x25b06: 0x6c5c1c20, 0x25b07: 0x6c65d020, + 0x25b08: 0x6d394820, 0x25b09: 0x6d2c8c20, 0x25b0a: 0x6c403820, 0x25b0b: 0x6c1c6020, + 0x25b0c: 0x6c082e20, 0x25b0d: 0x6cab0a20, + 0x25b11: 0x6c626820, 0x25b12: 0x6cb9c020, + 0x25b14: 0x6ced9620, 0x25b15: 0x6cab6a20, 0x25b16: 0x6c0a3220, 0x25b17: 0x6cd79c20, + 0x25b20: 0x6c6dd020, 0x25b21: 0x6d132e20, + // Block 0x96d, offset 0x25b40 + 0x25b44: 0x6c3a7220, 0x25b47: 0x6c844420, + 0x25b4a: 0x6c868020, 0x25b4b: 0x6cb01e20, + 0x25b52: 0x6cdc7a20, 0x25b53: 0x6c8e9e20, + 0x25b54: 0x6c517220, 0x25b55: 0x6c5d1420, 0x25b56: 0x6ce07a20, 0x25b57: 0x6cd79e20, + 0x25b58: 0x6d36ec20, 0x25b59: 0x6c0f5c20, + 0x25b5d: 0x6cf8e420, + 0x25b61: 0x6cb33620, 0x25b62: 0x6cc45c20, + 0x25b64: 0x6ca2b020, + 0x25b7d: 0x6d1db820, + // Block 0x96e, offset 0x25b80 + 0x25b82: 0x6c279620, + 0x25b8a: 0x6cb72220, 0x25b8b: 0x6c2e0220, + 0x25b8c: 0x6ca87c20, 0x25b8d: 0x6cd6e420, 0x25b8f: 0x6cce8c20, + 0x25b90: 0x6c7dc420, 0x25b91: 0x6cdc9020, 0x25b93: 0x6c30ca20, + 0x25b94: 0x6c2ef220, + 0x25b9c: 0x6c45ba20, + 0x25baf: 0x6d3bb020, + 0x25bb0: 0x6c4c8c20, + 0x25bbc: 0x6d05fa20, 0x25bbd: 0x6cc1e820, + // Block 0x96f, offset 0x25bc0 + 0x25bc0: 0x6d0a4c20, 0x25bc3: 0x6c689a20, + 0x25bc4: 0x6d30aa20, 0x25bc6: 0x6c2d9220, 0x25bc7: 0x6cca7620, + 0x25bc8: 0x6c080c20, 0x25bca: 0x6cdda620, 0x25bcb: 0x6cba2e20, + 0x25bcf: 0x6d05fc20, + 0x25bd1: 0x6d0a4e20, + 0x25bd4: 0x6ca17a20, + 0x25bf5: 0x6cdca820, 0x25bf6: 0x6c7ea820, 0x25bf7: 0x6d3a8a20, + 0x25bf8: 0x6d396420, 0x25bfa: 0x6c870820, + 0x25bfc: 0x6c280e20, 0x25bfd: 0x6c717820, 0x25bff: 0x6d286e20, + // Block 0x970, offset 0x25c00 + 0x25c00: 0x6c15fc20, 0x25c01: 0x6c956020, + 0x25c04: 0x6ccb8220, 0x25c06: 0x6c888620, + 0x25c08: 0x6d414e20, 0x25c0b: 0x6c7f7020, + 0x25c0c: 0x6cd6ec20, 0x25c0d: 0x6cbcfe20, + 0x25c18: 0x6c30ce20, + 0x25c1e: 0x6cf54a20, 0x25c1f: 0x6c9b9020, + 0x25c21: 0x6c62ce20, + 0x25c24: 0x6c1aee20, 0x25c26: 0x6ca65c20, + 0x25c38: 0x6d116e20, 0x25c3b: 0x6c7ec020, + 0x25c3e: 0x6c942020, + // Block 0x971, offset 0x25c40 + 0x25c40: 0x6cdcbe20, 0x25c41: 0x6c3dbe20, + 0x25c44: 0x6c830420, 0x25c45: 0x6cf05820, + 0x25c4e: 0x6c237820, + 0x25c54: 0x6c877020, 0x25c56: 0x6cb22820, + 0x25c58: 0x6c759020, 0x25c59: 0x6c71e420, 0x25c5b: 0x6c7ecc20, + 0x25c67: 0x6c62f220, + 0x25c6a: 0x6c9f1a20, + 0x25c6c: 0x6d125020, 0x25c6d: 0x6c0b2620, + 0x25c71: 0x6c23d420, 0x25c72: 0x6cd85e20, + 0x25c75: 0x6cd86020, + 0x25c78: 0x6c51b020, + // Block 0x972, offset 0x25c80 + 0x25c83: 0x6ca48820, + 0x25c85: 0x6c2f2620, + 0x25c88: 0x6c180220, 0x25c89: 0x6d282220, 0x25c8b: 0x6d052220, + 0x25c8c: 0x6cd4c220, 0x25c8e: 0x6c15b020, 0x25c8f: 0x6c9f4c20, + 0x25c90: 0x6c87fe20, 0x25c91: 0x6d19e620, 0x25c92: 0x6d037620, 0x25c93: 0x6cee9020, + 0x25c94: 0x6c479020, 0x25c95: 0x6ce7f020, 0x25c96: 0x6cddf620, 0x25c97: 0x6c3a5e20, + 0x25c98: 0x6c265420, 0x25c99: 0x6ca84620, 0x25c9a: 0x6c244820, 0x25c9b: 0x6d426e20, + 0x25c9c: 0x6c6b2020, 0x25c9d: 0x6d08b020, 0x25c9e: 0x6c0f5e20, 0x25c9f: 0x6c6c5e20, + 0x25ca0: 0x6d1b1220, 0x25ca1: 0x6d05f020, 0x25ca3: 0x6d20e420, + 0x25ca4: 0x6d048c20, 0x25ca6: 0x6cb76c20, 0x25ca7: 0x6c069620, + 0x25ca8: 0x6d03dc20, 0x25ca9: 0x6c45ec20, + 0x25cac: 0x6d418c20, + 0x25cb0: 0x6c6a1a20, 0x25cb2: 0x6c763020, + 0x25cb5: 0x6d03f020, 0x25cb6: 0x6c06b220, 0x25cb7: 0x6cd4ee20, + 0x25cb8: 0x6d23a020, 0x25cba: 0x6d38ee20, 0x25cbb: 0x6d2e0420, + // Block 0x973, offset 0x25cc0 + 0x25cc2: 0x6d37c620, + 0x25cc6: 0x6c140620, + 0x25cc8: 0x6c20e020, 0x25cc9: 0x6c8f4220, + 0x25cce: 0x6cdbdc20, + 0x25cd0: 0x6d3a8620, + 0x25cd9: 0x6c0bd220, + 0x25cdd: 0x6d035420, 0x25cdf: 0x6d0bce20, + 0x25ce2: 0x6c8daa20, + 0x25ce7: 0x6d0bd220, + 0x25cec: 0x6ce63020, + 0x25cf9: 0x6c2b5a20, + // Block 0x974, offset 0x25d00 + 0x25d01: 0x6cafca20, 0x25d02: 0x6c567620, 0x25d03: 0x6c132a20, + 0x25d0a: 0x6ce45e20, 0x25d0b: 0x6ca20220, + 0x25d0c: 0x6c731620, 0x25d0e: 0x6ca20420, + 0x25d10: 0x6c723020, 0x25d11: 0x6c8f0020, 0x25d13: 0x6c8e0c20, + 0x25d17: 0x6c8f0220, + 0x25d18: 0x6c568820, + 0x25d26: 0x6c3e3e20, 0x25d27: 0x6c553820, + 0x25d2a: 0x6c361820, 0x25d2b: 0x6c458420, + 0x25d2c: 0x6c470a20, + 0x25d31: 0x6c48b420, + 0x25d39: 0x6c94a420, 0x25d3b: 0x6c389a20, + 0x25d3c: 0x6c93e220, 0x25d3d: 0x6c9b1820, 0x25d3e: 0x6c3e8a20, 0x25d3f: 0x6c8e5e20, + // Block 0x975, offset 0x25d40 + 0x25d45: 0x6d00c220, 0x25d46: 0x6c471e20, + 0x25d48: 0x6cfcda20, 0x25d49: 0x6c0f1a20, 0x25d4b: 0x6c622220, + 0x25d53: 0x6cc2a220, + 0x25d54: 0x6c927220, + 0x25d5e: 0x6cd79420, + 0x25d61: 0x6ca20820, 0x25d62: 0x6d23a420, 0x25d63: 0x6c4eea20, + 0x25d69: 0x6d26d020, 0x25d6a: 0x6c289e20, + 0x25d6f: 0x6d218620, + 0x25d70: 0x6c64de20, 0x25d73: 0x6c429020, + 0x25d7f: 0x6c129420, + // Block 0x976, offset 0x25d80 + 0x25d80: 0x6cd0c820, 0x25d81: 0x6c8f1c20, + 0x25d86: 0x6c687e20, + 0x25d89: 0x6cdb2020, 0x25d8a: 0x6cdb2220, 0x25d8b: 0x6d383e20, + 0x25d92: 0x6c8aaa20, + 0x25d94: 0x6d085c20, 0x25d95: 0x6c92ee20, 0x25d97: 0x6c629e20, + 0x25d9a: 0x6d0cdc20, + 0x25d9f: 0x6c930820, + 0x25da1: 0x6c9fd220, 0x25da2: 0x6ce39620, + 0x25da6: 0x6c595c20, + 0x25da9: 0x6d18ec20, 0x25daa: 0x6ce08220, + 0x25dac: 0x6cf48820, + 0x25db0: 0x6c5f8020, + 0x25db7: 0x6c31e620, + 0x25db8: 0x6c7d9420, 0x25dba: 0x6c758e20, + 0x25dbf: 0x6cd21a20, + // Block 0x977, offset 0x25dc0 + 0x25dc0: 0x6ca44e20, 0x25dc1: 0x6cb3bc20, + 0x25dc4: 0x6cd52020, 0x25dc5: 0x6cc37e20, + 0x25dcc: 0x6cc5bc20, 0x25dcf: 0x6c3b6220, + 0x25dd2: 0x6cde3a20, 0x25dd3: 0x6cea4820, + 0x25dd5: 0x6d0f9c20, + 0x25de6: 0x6c342c20, 0x25de7: 0x6c21fc20, + 0x25de9: 0x6c478020, 0x25dea: 0x6c3b6e20, + 0x25ded: 0x6cc74620, + 0x25df1: 0x6c42c020, 0x25df2: 0x6cfdbe20, + 0x25df4: 0x6cfdc020, 0x25df5: 0x6c545420, 0x25df7: 0x6ce1c420, + 0x25df8: 0x6ccd8420, 0x25df9: 0x6d0fba20, 0x25dfa: 0x6d3f5220, + 0x25dfc: 0x6d256a20, + // Block 0x978, offset 0x25e00 + 0x25e04: 0x6cda7420, 0x25e07: 0x6c203820, + 0x25e08: 0x6cfdc820, 0x25e0a: 0x6c048a20, + 0x25e0c: 0x6c97c020, 0x25e0e: 0x6c3f6e20, 0x25e0f: 0x6c7e6420, + 0x25e10: 0x6c851e20, 0x25e12: 0x6c6af620, 0x25e13: 0x6d1ea820, + 0x25e18: 0x6d23a620, 0x25e1a: 0x6c1c4820, + 0x25e1c: 0x6c203a20, 0x25e1d: 0x6d182e20, 0x25e1e: 0x6ccd0020, + 0x25e22: 0x6c609220, 0x25e23: 0x6d0c2820, + 0x25e26: 0x6cf51820, 0x25e27: 0x6c215c20, + 0x25e28: 0x6c987420, + 0x25e2d: 0x6c3ede20, 0x25e2e: 0x6c637c20, 0x25e2f: 0x6c46d620, + 0x25e30: 0x6c474420, 0x25e31: 0x6c63e420, + 0x25e35: 0x6cfb9820, 0x25e37: 0x6c6d6020, + 0x25e38: 0x6d3f6420, 0x25e39: 0x6c90bc20, + 0x25e3c: 0x6c46da20, + // Block 0x979, offset 0x25e40 + 0x25e40: 0x6cc57c20, 0x25e42: 0x6ccd1420, + 0x25e45: 0x6c74da20, 0x25e46: 0x6ce79c20, 0x25e47: 0x6d1ffc20, + 0x25e54: 0x6c651a20, 0x25e55: 0x6c31dc20, 0x25e57: 0x6c55f020, + 0x25e5b: 0x6ccace20, + 0x25e5c: 0x6d246220, + 0x25e62: 0x6c974e20, + 0x25e64: 0x6d342620, 0x25e65: 0x6d0c4420, 0x25e66: 0x6c42f020, + 0x25e68: 0x6c582020, + 0x25e6e: 0x6cc34420, + 0x25e71: 0x6d103e20, 0x25e73: 0x6d418820, + 0x25e77: 0x6cfe8e20, + 0x25e78: 0x6d170620, 0x25e79: 0x6d0d5a20, 0x25e7a: 0x6c531e20, 0x25e7b: 0x6d20e620, + 0x25e7f: 0x6c1c0020, + // Block 0x97a, offset 0x25e80 + 0x25e81: 0x6c1b1020, + 0x25e84: 0x6c4f6a20, 0x25e85: 0x6ccb1e20, 0x25e86: 0x6cabbe20, 0x25e87: 0x6cde4020, + 0x25e88: 0x6c3b2620, 0x25e89: 0x6c1aa020, + 0x25e8c: 0x6c533220, 0x25e8d: 0x6d095220, + 0x25e96: 0x6d351e20, + 0x25e9b: 0x6cc19020, + 0x25ea0: 0x6cf5fe20, 0x25ea1: 0x6c3e6220, 0x25ea3: 0x6cd4e020, + 0x25ea4: 0x6c4d6a20, 0x25ea6: 0x6cb38c20, + 0x25ea8: 0x6c229a20, + 0x25eb0: 0x6c149a20, 0x25eb3: 0x6c52ae20, + 0x25eb8: 0x6cad7a20, 0x25eb9: 0x6ccff820, 0x25eba: 0x6cfede20, + 0x25ebd: 0x6d07ac20, 0x25ebe: 0x6c229e20, 0x25ebf: 0x6ce68420, + // Block 0x97b, offset 0x25ec0 + 0x25ec0: 0x6cb39620, + 0x25ec7: 0x6cde7e20, + 0x25ec8: 0x6c13a820, 0x25ecb: 0x6d40ce20, + 0x25ecc: 0x6c5de820, 0x25ecd: 0x6d071820, 0x25ece: 0x6d0e9820, 0x25ecf: 0x6c149e20, + 0x25ed1: 0x6ceb3420, + 0x25ed8: 0x6cfb8420, 0x25ed9: 0x6d07c620, 0x25eda: 0x6c542a20, 0x25edb: 0x6c58de20, + 0x25edc: 0x6c442620, 0x25edd: 0x6c1d3c20, 0x25ede: 0x6c0a3620, 0x25edf: 0x6c52bc20, + 0x25ee0: 0x6c52be20, 0x25ee1: 0x6c1b4a20, 0x25ee3: 0x6c140820, + 0x25eef: 0x6d2c8e20, + 0x25ef1: 0x6d2d1e20, 0x25ef2: 0x6cdea220, + 0x25ef5: 0x6cb3a220, 0x25ef6: 0x6cdea420, + 0x25ef8: 0x6d1f6e20, 0x25ef9: 0x6c3ef420, 0x25efa: 0x6c220e20, 0x25efb: 0x6c26be20, + 0x25efc: 0x6cde1a20, 0x25efe: 0x6c8ea020, + // Block 0x97c, offset 0x25f00 + 0x25f01: 0x6c221020, 0x25f03: 0x6c52d420, + 0x25f05: 0x6c4f1a20, 0x25f06: 0x6c7e5020, + 0x25f08: 0x6cd20420, + 0x25f0d: 0x6ce79e20, 0x25f0e: 0x6c5c7020, 0x25f0f: 0x6c518620, + 0x25f10: 0x6cb1d820, 0x25f11: 0x6d243a20, + 0x25f1c: 0x6cfaf020, 0x25f1d: 0x6c4e6c20, 0x25f1f: 0x6cb3ac20, + 0x25f26: 0x6c7ec220, 0x25f27: 0x6c5e5220, + 0x25f30: 0x6cdf8420, + 0x25f34: 0x6c819e20, 0x25f36: 0x6cd5b420, + 0x25f3a: 0x6c2a0a20, 0x25f3b: 0x6c2d1020, + // Block 0x97d, offset 0x25f40 + 0x25f48: 0x6d04a820, 0x25f4b: 0x6cee6020, + 0x25f4d: 0x6c17f820, 0x25f4e: 0x6ca3ae20, + 0x25f50: 0x6c73d420, 0x25f53: 0x6c375220, + 0x25f54: 0x6c375a20, 0x25f55: 0x6caa6c20, 0x25f56: 0x6caa8820, + 0x25f5d: 0x6d3bae20, + 0x25f62: 0x6cab2220, + 0x25f64: 0x6c8ac220, 0x25f65: 0x6c82b420, 0x25f67: 0x6c032a20, + 0x25f6c: 0x6c196820, 0x25f6f: 0x6c4a6a20, + 0x25f70: 0x6cc2f820, 0x25f71: 0x6c448820, 0x25f73: 0x6c45ee20, + 0x25f74: 0x6ccee020, + 0x25f79: 0x6c7f2020, 0x25f7a: 0x6d32e820, 0x25f7b: 0x6d183020, + 0x25f7c: 0x6c4bda20, 0x25f7d: 0x6ceea620, 0x25f7e: 0x6c951e20, + // Block 0x97e, offset 0x25f80 + 0x25f82: 0x6cd28620, 0x25f83: 0x6d1be820, + 0x25f84: 0x6cd14620, 0x25f85: 0x6ce8ea20, 0x25f86: 0x6c0a3820, + 0x25f88: 0x6d2aee20, 0x25f89: 0x6d383a20, 0x25f8b: 0x6cc72620, + 0x25f8c: 0x6cb64e20, 0x25f8d: 0x6c405620, 0x25f8e: 0x6c131820, + 0x25f93: 0x6c845c20, + 0x25f94: 0x6c978c20, 0x25f96: 0x6c886620, 0x25f97: 0x6c0c3020, + 0x25f9b: 0x6c207e20, + 0x25f9c: 0x6d18ee20, + 0x25fa0: 0x6cac3620, + 0x25fa5: 0x6d191420, 0x25fa6: 0x6c7b4820, + 0x25fa9: 0x6c0c5220, 0x25fab: 0x6c1c9e20, + 0x25fac: 0x6cc22020, 0x25fad: 0x6ca1ae20, 0x25fae: 0x6d301620, 0x25faf: 0x6ccc3c20, + 0x25fb0: 0x6ccc3e20, + 0x25fb7: 0x6d109620, + 0x25fb8: 0x6c457420, 0x25fb9: 0x6ca3b620, + 0x25fbc: 0x6d018420, 0x25fbf: 0x6ce53220, + // Block 0x97f, offset 0x25fc0 + 0x25fc6: 0x6d127820, + 0x25fc9: 0x6ccbe220, + 0x25fcf: 0x6ccaec20, + 0x25fd2: 0x6c2cc620, 0x25fd3: 0x6d06c220, + 0x25fd9: 0x6cc19220, + 0x25fe0: 0x6c52b020, 0x25fe1: 0x6cd16620, 0x25fe2: 0x6ce6ec20, + 0x25ff0: 0x6c352e20, + 0x25ff5: 0x6c89ea20, 0x25ff7: 0x6c53c220, + 0x25ff8: 0x6c852020, 0x25ffa: 0x6cfdee20, + 0x25ffd: 0x6cd0b620, + // Block 0x980, offset 0x26000 + 0x26000: 0x6c3d8220, + 0x26008: 0x6d0dc020, 0x26009: 0x6cee3220, 0x2600a: 0x6cb51620, 0x2600b: 0x6c34a620, + 0x2600d: 0x6c57b220, 0x2600e: 0x6cb90c20, + 0x26010: 0x6d01e020, + 0x2601d: 0x6c22d620, 0x2601e: 0x6cd11020, + 0x26022: 0x6c37dc20, + 0x26024: 0x6d039a20, 0x26026: 0x6cea0e20, 0x26027: 0x6d0ea220, + 0x26029: 0x6c8b2820, + 0x2602c: 0x6c9c6e20, + 0x26038: 0x6d402c20, 0x2603a: 0x6d3e8020, + 0x2603c: 0x6c55ba20, 0x2603d: 0x6d1c9e20, 0x2603e: 0x6c885620, 0x2603f: 0x6c266a20, + // Block 0x981, offset 0x26040 + 0x26040: 0x6ce4c420, 0x26041: 0x6ce53e20, + 0x2604b: 0x6cc6b020, + 0x2604d: 0x6c00d020, + 0x26050: 0x6c00e420, 0x26051: 0x6d309e20, 0x26052: 0x6c4c4620, 0x26053: 0x6c92f020, + 0x26054: 0x6d2f7a20, 0x26055: 0x6c9c8220, 0x26056: 0x6c8a2a20, 0x26057: 0x6d30a020, + 0x2605b: 0x6cc25020, + 0x2605c: 0x6c236820, 0x2605f: 0x6ce65020, + 0x26061: 0x6ce02c20, 0x26062: 0x6d2e2820, 0x26063: 0x6c55e020, + 0x26065: 0x6cb1da20, 0x26067: 0x6c267020, + 0x26068: 0x6cc6d220, + 0x2606e: 0x6ca52020, + 0x26073: 0x6ca45a20, + 0x26074: 0x6c291a20, 0x26075: 0x6c695c20, + 0x2607b: 0x6c72b620, + 0x2607c: 0x6c37ac20, + // Block 0x982, offset 0x26080 + 0x2608a: 0x6c877420, + 0x2608c: 0x6c4c4e20, 0x2608d: 0x6cec7e20, + 0x26092: 0x6ca7ee20, + 0x26094: 0x6c6c3420, + 0x260a9: 0x6cb04a20, 0x260aa: 0x6c1bde20, + 0x260b2: 0x6cb04c20, 0x260b3: 0x6d166e20, + 0x260b4: 0x6c316220, 0x260b5: 0x6cec1420, 0x260b6: 0x6d099020, + 0x260b8: 0x6cb73c20, 0x260b9: 0x6ccd6c20, + 0x260bc: 0x6d056a20, 0x260bf: 0x6c509020, + // Block 0x983, offset 0x260c0 + 0x260c0: 0x6caca620, 0x260c2: 0x6cadb420, + 0x260c4: 0x6d045a20, 0x260c6: 0x6c1b7e20, 0x260c7: 0x6cdf9020, + 0x260c8: 0x6d41a620, 0x260c9: 0x6d414820, 0x260ca: 0x6cb74c20, 0x260cb: 0x6c316420, + 0x260d9: 0x6cd70c20, + 0x260dc: 0x6ca2f220, 0x260dd: 0x6cf59620, + 0x260e7: 0x6c179420, + 0x260e8: 0x6d16d020, 0x260eb: 0x6d329e20, + 0x260ee: 0x6c70fe20, 0x260ef: 0x6c274c20, + 0x260f1: 0x6cc9fc20, + 0x260f4: 0x6d3ac820, 0x260f5: 0x6ced7620, + 0x260f8: 0x6cc9fe20, 0x260f9: 0x6c04f220, 0x260fa: 0x6c643c20, 0x260fb: 0x6c972c20, + // Block 0x984, offset 0x26100 + 0x26108: 0x6ceb9c20, 0x2610a: 0x6cb76020, + 0x2610f: 0x6d3c0c20, + 0x26110: 0x6ceb0220, 0x26113: 0x6cb28c20, + 0x2611d: 0x6cae6220, 0x2611e: 0x6c7b9a20, 0x2611f: 0x6d14d820, + 0x26121: 0x6d018620, 0x26122: 0x6d264c20, 0x26123: 0x6c523020, + 0x26125: 0x6c53f220, 0x26126: 0x6d32a420, 0x26127: 0x6c217420, + 0x26128: 0x6cd35e20, 0x26129: 0x6cec1c20, 0x2612b: 0x6d009620, + 0x26138: 0x6c452a20, + // Block 0x985, offset 0x26140 + 0x26145: 0x6c35fe20, + 0x2614f: 0x6c7a7220, + 0x26150: 0x6ca32c20, 0x26153: 0x6c707420, + 0x26154: 0x6d088e20, 0x26155: 0x6cc0fe20, 0x26156: 0x6c181c20, 0x26157: 0x6c939620, + 0x26158: 0x6c511420, 0x26159: 0x6cd16020, 0x2615a: 0x6ca44620, + 0x2615c: 0x6c511620, 0x2615d: 0x6c13de20, 0x2615e: 0x6d0bfe20, 0x2615f: 0x6c450a20, + 0x26160: 0x6ca81e20, 0x26162: 0x6c4c6a20, 0x26163: 0x6d0c8c20, + 0x26164: 0x6c494e20, 0x26167: 0x6d360420, + 0x26168: 0x6c81f420, + 0x2616f: 0x6c321820, + 0x26170: 0x6cb78220, 0x26171: 0x6cc10020, 0x26172: 0x6c742e20, + // Block 0x986, offset 0x26180 + 0x26181: 0x6c3c4220, 0x26183: 0x6d06c420, + 0x26184: 0x6ce9fc20, 0x26186: 0x6c4e1820, 0x26187: 0x6c7a4220, + 0x2618a: 0x6ccff020, 0x2618b: 0x6d363e20, + 0x2618d: 0x6cad2c20, 0x2618e: 0x6d32cc20, 0x2618f: 0x6c861820, + 0x26190: 0x6ced2620, 0x26192: 0x6c391020, 0x26193: 0x6d033a20, + 0x26196: 0x6d0bb620, + 0x2619b: 0x6c709820, + 0x2619c: 0x6cd0a620, + 0x261ad: 0x6c989020, 0x261af: 0x6cea7e20, + 0x261b0: 0x6d3d6620, 0x261b1: 0x6cf62820, 0x261b2: 0x6d1b5820, 0x261b3: 0x6c6db620, + 0x261b4: 0x6cea5420, 0x261b7: 0x6c453220, + 0x261b8: 0x6c620a20, + // Block 0x987, offset 0x261c0 + 0x261cf: 0x6d3ba820, + 0x261d2: 0x6ce5f220, + 0x261d4: 0x6d33e220, 0x261d6: 0x6c604420, + 0x261da: 0x6d1c8220, 0x261db: 0x6cf0aa20, + 0x261dd: 0x6c593c20, 0x261de: 0x6ce68620, 0x261df: 0x6c150620, + 0x261e2: 0x6c7c8e20, 0x261e3: 0x6cb86e20, + 0x261e4: 0x6c04fc20, 0x261e5: 0x6c13a420, 0x261e6: 0x6ceb8420, 0x261e7: 0x6ca43020, + 0x261e8: 0x6c6a2420, 0x261ea: 0x6d0c1620, + 0x261ec: 0x6ce8ca20, 0x261ee: 0x6cf1e620, + 0x261f0: 0x6c232020, 0x261f3: 0x6d06fc20, + 0x261f4: 0x6d1b6020, 0x261f7: 0x6c084420, + 0x261fc: 0x6c935820, + // Block 0x988, offset 0x26200 + 0x26201: 0x6d290620, 0x26202: 0x6c265820, + 0x26206: 0x6ca84820, 0x26207: 0x6c71c220, + 0x26208: 0x6c541620, + 0x2620c: 0x6c453a20, + 0x26215: 0x6c541820, 0x26216: 0x6c76b220, 0x26217: 0x6c459620, + 0x26219: 0x6c5b5e20, 0x2621a: 0x6d01e220, + 0x2621d: 0x6cf8ba20, 0x2621e: 0x6c4e2420, 0x2621f: 0x6c9c6820, + 0x26221: 0x6cf25c20, 0x26222: 0x6c5d3620, 0x26223: 0x6ccabc20, + 0x26224: 0x6d034220, 0x26225: 0x6d307220, 0x26226: 0x6c5dea20, + 0x26228: 0x6c45a020, 0x2622b: 0x6cc9e420, + 0x2622c: 0x6c6c4a20, 0x2622d: 0x6cebec20, + 0x26231: 0x6c332420, 0x26232: 0x6c1aca20, + 0x2623d: 0x6cf67e20, + // Block 0x989, offset 0x26240 + 0x26242: 0x6c9c6a20, 0x26243: 0x6d29e020, + 0x26244: 0x6cca8420, + 0x26253: 0x6cea5e20, + 0x26254: 0x6d366820, 0x26255: 0x6cf1ea20, + 0x26258: 0x6d1a9820, 0x26259: 0x6cea8220, 0x2625b: 0x6c1cda20, + 0x2625c: 0x6d2af020, 0x2625e: 0x6cff0a20, 0x2625f: 0x6ca07420, + 0x26260: 0x6c245820, 0x26263: 0x6c0b4e20, + 0x26264: 0x6d04f020, 0x26267: 0x6d154c20, + 0x2626e: 0x6c5a6020, + 0x26270: 0x6d2bf820, 0x26271: 0x6cdd3620, 0x26272: 0x6c5cfe20, 0x26273: 0x6c727e20, + // Block 0x98a, offset 0x26280 + 0x26281: 0x6c245a20, + 0x26284: 0x6c5f4020, 0x26285: 0x6d0a4420, 0x26286: 0x6cdcfe20, 0x26287: 0x6c135e20, + 0x26289: 0x6d18b020, + 0x2628e: 0x6c0c2220, + 0x26292: 0x6c74c220, 0x26293: 0x6c868220, + 0x26296: 0x6cad9a20, + 0x2629b: 0x6d289c20, + 0x2629c: 0x6d134220, 0x2629e: 0x6c0a5a20, 0x2629f: 0x6d310020, + 0x262a0: 0x6d310220, 0x262a2: 0x6c702420, 0x262a3: 0x6d309020, + 0x262a6: 0x6cd60e20, + 0x262aa: 0x6cf6d620, + 0x262b7: 0x6d065820, + 0x262b8: 0x6ca3a620, 0x262b9: 0x6cfb9a20, 0x262ba: 0x6c4bec20, 0x262bb: 0x6cf0d220, + 0x262be: 0x6c60c420, 0x262bf: 0x6cc9a220, + // Block 0x98b, offset 0x262c0 + 0x262c2: 0x6c304220, 0x262c3: 0x6caac820, + 0x262c4: 0x6c327a20, 0x262c5: 0x6d32fc20, 0x262c6: 0x6c7a6420, + 0x262c9: 0x6ca01c20, + 0x262d5: 0x6c05d820, 0x262d6: 0x6c5c5020, + 0x262d9: 0x6d3fc620, + 0x262e8: 0x6cca5c20, 0x262ea: 0x6ce29420, 0x262eb: 0x6d157220, + 0x262ed: 0x6d241620, + 0x262f1: 0x6d123220, 0x262f2: 0x6ca94a20, + 0x262f4: 0x6c1dfa20, 0x262f5: 0x6c5d4820, 0x262f7: 0x6c337620, + 0x262f9: 0x6cb7f220, 0x262fa: 0x6d1d1820, 0x262fb: 0x6c0e3420, + 0x262fc: 0x6ca92e20, 0x262fd: 0x6c5a1a20, + // Block 0x98c, offset 0x26300 + 0x26306: 0x6d1d1a20, + 0x2630a: 0x6c05da20, + 0x2630e: 0x6c4a2820, 0x2630f: 0x6c82f620, + 0x26310: 0x6d421020, + 0x26319: 0x6c15fe20, + 0x26323: 0x6c660a20, + 0x26327: 0x6c9b9220, + 0x26329: 0x6d002820, + 0x2632f: 0x6d035620, + 0x26331: 0x6c849e20, + 0x2633a: 0x6cbc2e20, + 0x2633f: 0x6cf05c20, + // Block 0x98d, offset 0x26340 + 0x26340: 0x6ca37620, 0x26342: 0x6cacee20, + 0x26344: 0x6c829020, 0x26347: 0x6c958220, + 0x2634b: 0x6c946220, + 0x2634d: 0x6c44ea20, 0x2634f: 0x6c946420, + 0x26352: 0x6cc22220, + 0x26356: 0x6c959020, + 0x26358: 0x6ca46820, 0x2635b: 0x6c959220, + 0x2635c: 0x6d273e20, + 0x26362: 0x6cd71a20, + 0x26365: 0x6c9d3e20, 0x26366: 0x6cede820, 0x26367: 0x6c12f420, + 0x26368: 0x6c64a620, 0x26369: 0x6cee2020, + 0x2636f: 0x6c637e20, + 0x26374: 0x6c58c020, + 0x26378: 0x6c894220, 0x26379: 0x6d3f2c20, 0x2637a: 0x6c040a20, 0x2637b: 0x6cd43c20, + 0x2637e: 0x6cecf220, + // Block 0x98e, offset 0x26380 + 0x26382: 0x6cd4c420, + 0x26387: 0x6c4a4e20, + 0x26388: 0x6cf5cc20, 0x2638a: 0x6cc79c20, 0x2638b: 0x6d11fe20, + 0x2638e: 0x6c42c220, + 0x26395: 0x6d26d220, + 0x26398: 0x6d1da820, 0x26399: 0x6cec3c20, 0x2639a: 0x6c0f4620, + 0x2639f: 0x6d034e20, + 0x263a2: 0x6cb0c620, 0x263a3: 0x6c0f7820, + 0x263a6: 0x6c4d7e20, 0x263a7: 0x6d2d5220, + 0x263a8: 0x6cf33020, 0x263aa: 0x6d138420, 0x263ab: 0x6c0ab820, + 0x263ac: 0x6c4d8620, + 0x263b8: 0x6c1c0220, 0x263bb: 0x6d360620, + 0x263bd: 0x6ca5dc20, + // Block 0x98f, offset 0x263c0 + 0x263c1: 0x6cf3d420, 0x263c2: 0x6c006e20, + 0x263c8: 0x6c006a20, 0x263c9: 0x6d229220, 0x263ca: 0x6c1c7020, + 0x263cd: 0x6c6eac20, 0x263ce: 0x6d371020, 0x263cf: 0x6d372c20, + 0x263d0: 0x6d372e20, 0x263d1: 0x6c70ee20, + 0x263d6: 0x6c4dd820, + 0x263da: 0x6cb24c20, + 0x263dd: 0x6d11a620, + 0x263e3: 0x6d1f1e20, + 0x263e4: 0x6cb25420, 0x263e6: 0x6ca11020, + 0x263ec: 0x6d429e20, 0x263ed: 0x6cb38e20, 0x263ef: 0x6d091220, + 0x263f0: 0x6c7bc420, 0x263f1: 0x6d17bc20, 0x263f2: 0x6cb39020, + 0x263fb: 0x6d3c9c20, + // Block 0x990, offset 0x26400 + 0x26403: 0x6ca5fa20, + 0x26404: 0x6cc0b020, 0x26405: 0x6c23f820, + 0x2640c: 0x6d11cc20, + 0x26411: 0x6c3b9820, + 0x26415: 0x6cf9f420, 0x26417: 0x6c677c20, + 0x26418: 0x6c13b220, 0x2641b: 0x6d000e20, + 0x2641c: 0x6c13b420, + 0x26422: 0x6c1a5020, 0x26423: 0x6c257e20, + 0x26427: 0x6cbf7c20, + 0x26429: 0x6d245220, 0x2642b: 0x6d21d820, + 0x2642f: 0x6cf21620, + 0x26431: 0x6c13c020, 0x26432: 0x6d22ae20, + 0x26439: 0x6d425420, 0x2643a: 0x6c29fc20, + 0x2643d: 0x6c73a820, 0x2643e: 0x6c29fe20, 0x2643f: 0x6d1c4c20, + // Block 0x991, offset 0x26440 + 0x26441: 0x6c3cd420, + 0x26445: 0x6cf27a20, + 0x26448: 0x6c6cf620, 0x26449: 0x6cb76e20, 0x2644b: 0x6cbe0e20, + 0x2644d: 0x6c7dee20, 0x2644f: 0x6cdf9e20, + 0x26450: 0x6cfa9420, 0x26452: 0x6ce46420, + 0x26454: 0x6c7df620, 0x26456: 0x6ce53a20, + 0x26458: 0x6c556420, 0x26459: 0x6d39aa20, 0x2645a: 0x6d2d7620, 0x2645b: 0x6cde5820, + 0x2645d: 0x6ce46e20, 0x2645e: 0x6cde6820, 0x2645f: 0x6cde8020, + 0x26460: 0x6c574820, 0x26461: 0x6d0dc220, 0x26462: 0x6ce61620, + 0x26464: 0x6ce61820, 0x26465: 0x6cde8220, + 0x2646c: 0x6c581020, 0x2646e: 0x6c63e620, 0x2646f: 0x6cb7e020, + 0x26471: 0x6cdeae20, + 0x26474: 0x6cdfc220, 0x26475: 0x6c57ce20, + 0x26478: 0x6d3bf620, 0x26479: 0x6c572220, + 0x2647c: 0x6c800c20, + // Block 0x992, offset 0x26480 + 0x26486: 0x6d420420, 0x26487: 0x6d169820, + 0x26488: 0x6c3dfe20, 0x26489: 0x6cf4bc20, 0x2648b: 0x6c3e0020, + 0x2648d: 0x6c2f5620, 0x2648e: 0x6cde3c20, + 0x26496: 0x6c17b820, + 0x26499: 0x6cc64220, 0x2649a: 0x6cc35620, + 0x2649c: 0x6c438420, + 0x264a1: 0x6c3e6620, 0x264a2: 0x6c2c4c20, 0x264a3: 0x6c2dc620, + 0x264a4: 0x6d1e3020, 0x264a6: 0x6c643e20, + 0x264a9: 0x6c8f8e20, + 0x264ac: 0x6d1e3220, 0x264ad: 0x6cafe020, 0x264af: 0x6c5d7820, + 0x264b0: 0x6cbf3020, 0x264b2: 0x6c38a020, 0x264b3: 0x6cf3d620, + 0x264b4: 0x6ce74e20, 0x264b5: 0x6c4f7e20, + 0x264b8: 0x6cdfac20, + 0x264be: 0x6c525020, + // Block 0x993, offset 0x264c0 + 0x264c4: 0x6ce56220, + 0x264c8: 0x6d388e20, 0x264cb: 0x6c045420, + 0x264cc: 0x6d01e420, 0x264cd: 0x6c29c620, 0x264cf: 0x6c6c4c20, + 0x264d5: 0x6c54ec20, 0x264d6: 0x6c06b620, + 0x264d8: 0x6c2fb220, + 0x264dc: 0x6caac420, 0x264dd: 0x6cf0c620, 0x264de: 0x6d218c20, + 0x264e0: 0x6d039c20, 0x264e1: 0x6c3ee020, 0x264e2: 0x6cfd0020, 0x264e3: 0x6cb7c420, + 0x264e4: 0x6ce87820, 0x264e7: 0x6c609420, + 0x264e9: 0x6d1d4620, 0x264eb: 0x6c2ae420, + 0x264ec: 0x6ceeb020, 0x264ed: 0x6cf6ae20, 0x264ef: 0x6cac0220, + 0x264f1: 0x6cd12020, 0x264f2: 0x6d1fec20, + 0x264f4: 0x6c005220, 0x264f5: 0x6c66d220, 0x264f7: 0x6c466020, + 0x264f8: 0x6cc93020, + 0x264fc: 0x6c462220, 0x264ff: 0x6ccc6e20, + // Block 0x994, offset 0x26500 + 0x26500: 0x6ce13a20, + 0x26507: 0x6c92f220, + 0x26508: 0x6c027820, 0x2650a: 0x6cb7ee20, 0x2650b: 0x6d04fc20, + 0x2650d: 0x6c271020, + 0x26511: 0x6c382a20, 0x26512: 0x6cf0f420, + 0x26514: 0x6c341020, 0x26515: 0x6c8a3a20, 0x26516: 0x6c386620, 0x26517: 0x6c5a1c20, + 0x26518: 0x6c74dc20, 0x26519: 0x6cdec020, 0x2651a: 0x6d422020, 0x2651b: 0x6cc53020, + 0x2651c: 0x6c117a20, 0x2651d: 0x6ce2c020, + 0x26520: 0x6c57d020, 0x26521: 0x6d05fe20, 0x26523: 0x6d2dae20, + 0x26527: 0x6c41f420, + 0x2652a: 0x6caeea20, 0x2652b: 0x6c118020, + 0x2652c: 0x6d005820, 0x2652d: 0x6c26d020, + 0x26531: 0x6c62d020, + 0x26536: 0x6c854820, + 0x26539: 0x6cac9020, + 0x2653d: 0x6c8ffa20, 0x2653e: 0x6c877620, 0x2653f: 0x6cf7c220, + // Block 0x995, offset 0x26540 + 0x26540: 0x6ce2d620, 0x26543: 0x6c8dac20, + 0x26548: 0x6c855820, 0x26549: 0x6cc4a220, 0x2654a: 0x6c8df420, + 0x2654e: 0x6c4bca20, + 0x26554: 0x6cb30a20, 0x26555: 0x6ca11220, 0x26556: 0x6cabf020, + 0x26559: 0x6c03b420, + 0x26561: 0x6cb62820, + 0x26564: 0x6d0cc420, + 0x2656a: 0x6cec3e20, 0x2656b: 0x6c020c20, + 0x2656d: 0x6ca04a20, 0x2656e: 0x6c9fca20, 0x2656f: 0x6d0ab220, + 0x26570: 0x6c9b9420, 0x26573: 0x6c48d620, + 0x26576: 0x6c682420, + 0x2657b: 0x6c410a20, + // Block 0x996, offset 0x26580 + 0x26581: 0x6c110a20, 0x26582: 0x6cf4ac20, 0x26583: 0x6d301820, + 0x26584: 0x6cc58820, 0x26585: 0x6c79b420, + 0x26594: 0x6d2f8a20, 0x26595: 0x6d37a220, 0x26596: 0x6cc00a20, 0x26597: 0x6c4c1420, + 0x26598: 0x6c456a20, 0x26599: 0x6cb40220, 0x2659a: 0x6c566c20, 0x2659b: 0x6c9e0820, + 0x2659e: 0x6ce45a20, + 0x265a3: 0x6cee0020, + 0x265b8: 0x6d3a0020, 0x265b9: 0x6c268a20, 0x265ba: 0x6d048e20, 0x265bb: 0x6ca2d420, + 0x265be: 0x6c72de20, + // Block 0x997, offset 0x265c0 + 0x265c1: 0x6ca71a20, + 0x265c8: 0x6c567820, 0x265c9: 0x6ccbd420, + 0x265dc: 0x6d33b820, 0x265df: 0x6cdde420, + 0x265e1: 0x6cd7d820, + 0x265e5: 0x6d170820, + 0x265ed: 0x6cbf1020, 0x265ee: 0x6d35c820, 0x265ef: 0x6c939220, + 0x265f0: 0x6cc79e20, 0x265f2: 0x6cb5ac20, 0x265f3: 0x6d224020, + 0x265f4: 0x6d386a20, 0x265f5: 0x6d0fa620, 0x265f6: 0x6cfc0420, 0x265f7: 0x6ca1cc20, + 0x265f8: 0x6c1d9a20, 0x265f9: 0x6c5aa820, 0x265fa: 0x6c6f6420, 0x265fb: 0x6c6fec20, + 0x265fc: 0x6cb19220, + // Block 0x998, offset 0x26600 + 0x26601: 0x6c699220, 0x26603: 0x6c48c620, + 0x26605: 0x6ca0fe20, + 0x26610: 0x6cf5ce20, 0x26611: 0x6cb43220, + 0x2662f: 0x6c61d420, + 0x26636: 0x6cf1da20, 0x26637: 0x6c071620, + 0x26638: 0x6d15ea20, 0x26639: 0x6c3e6a20, 0x2663a: 0x6cd7e420, 0x2663b: 0x6c72f020, + 0x2663c: 0x6c61f620, 0x2663e: 0x6ca69a20, + // Block 0x999, offset 0x26640 + 0x26640: 0x6c07b620, + 0x26645: 0x6d06c620, + 0x26648: 0x6cbdd220, 0x26649: 0x6c0ef820, + 0x2664c: 0x6cede620, 0x2664d: 0x6d30f620, 0x2664f: 0x6cf2e620, + 0x26650: 0x6ccea420, 0x26651: 0x6d2a8020, 0x26652: 0x6d101820, + 0x26655: 0x6cd98a20, 0x26656: 0x6ca82020, + 0x2665b: 0x6c098620, + 0x26663: 0x6c242420, + 0x26664: 0x6cbab220, + 0x2666a: 0x6cffe620, 0x2666b: 0x6d33d620, + 0x2666c: 0x6ccf1020, 0x2666f: 0x6d360820, + 0x26670: 0x6cae7020, + // Block 0x99a, offset 0x26680 + 0x2668f: 0x6c2e1e20, + 0x26696: 0x6cf2f820, + 0x26698: 0x6d352020, 0x26699: 0x6c098820, 0x2669b: 0x6c3b7020, + 0x266a5: 0x6c052a20, + 0x266aa: 0x6cc06c20, 0x266ab: 0x6ca63a20, + 0x266ac: 0x6c0f0620, 0x266ad: 0x6c33f220, 0x266af: 0x6cd2d020, + 0x266b0: 0x6d05a220, 0x266b1: 0x6c16ac20, 0x266b2: 0x6d05a420, 0x266b3: 0x6d128020, + 0x266b4: 0x6c9c5620, + 0x266b8: 0x6d02d620, 0x266b9: 0x6d3d6820, 0x266ba: 0x6c3ff620, + 0x266bd: 0x6cb06020, 0x266be: 0x6d095e20, + // Block 0x99b, offset 0x266c0 + 0x266c0: 0x6d235020, 0x266c1: 0x6cfb6020, 0x266c2: 0x6d235220, 0x266c3: 0x6d213420, + 0x266c5: 0x6c709a20, 0x266c6: 0x6cddec20, 0x266c7: 0x6c797c20, + 0x266ca: 0x6d32ce20, 0x266cb: 0x6c9b1a20, + 0x266cc: 0x6c428420, + 0x266d2: 0x6ca28a20, 0x266d3: 0x6cf7ea20, + 0x266d4: 0x6c09aa20, 0x266d6: 0x6c3ff820, + 0x266dc: 0x6cfff420, + 0x266e0: 0x6c6f7620, 0x266e3: 0x6c468820, + 0x266f0: 0x6c1b2820, 0x266f1: 0x6c6f7820, 0x266f2: 0x6c6f7a20, + 0x266f5: 0x6ccbf820, 0x266f7: 0x6c3a0820, + // Block 0x99c, offset 0x26700 + 0x2672b: 0x6c3e8c20, + 0x2672f: 0x6ced8a20, + 0x26730: 0x6d05a620, 0x26731: 0x6c0e7620, + // Block 0x99d, offset 0x26740 + 0x26741: 0x6c504820, 0x26743: 0x6d00c420, + 0x26744: 0x6cb11820, 0x26745: 0x6d227420, 0x26747: 0x6ce4ae20, + 0x26748: 0x6cb00020, 0x2674a: 0x6cd2d220, 0x2674b: 0x6c7afc20, + 0x2674c: 0x6c5ef020, 0x2674f: 0x6d2be420, + 0x26750: 0x6ca3cc20, 0x26751: 0x6ca20620, 0x26753: 0x6c3ea620, + 0x26754: 0x6c326820, 0x26757: 0x6cd13e20, + 0x26758: 0x6c13ee20, 0x2675a: 0x6c1b3820, 0x2675b: 0x6c4b0820, + 0x2675c: 0x6c9f6620, 0x2675d: 0x6ce0c220, 0x2675e: 0x6c044c20, 0x2675f: 0x6cbac220, + 0x26761: 0x6d3d7420, 0x26762: 0x6cf0ac20, 0x26763: 0x6d0a1e20, + 0x26765: 0x6c9e9620, 0x26766: 0x6d290820, 0x26767: 0x6d1f4a20, + 0x26769: 0x6d204c20, 0x2676b: 0x6cccee20, + 0x2676c: 0x6c514220, 0x2676d: 0x6c93a220, 0x2676e: 0x6d347820, + 0x26772: 0x6c6e9020, 0x26773: 0x6d317020, + 0x26776: 0x6c9b2620, 0x26777: 0x6d1f4c20, + 0x26779: 0x6cf30020, 0x2677a: 0x6c038620, + 0x2677d: 0x6c737820, 0x2677e: 0x6cc7b220, 0x2677f: 0x6c23f220, + // Block 0x99e, offset 0x26780 + 0x26780: 0x6d33fc20, + 0x26789: 0x6c557620, 0x2678a: 0x6d0f5c20, + 0x2678c: 0x6c75d020, 0x2678d: 0x6ccf1c20, 0x2678e: 0x6c79f220, + 0x26791: 0x6cb9a820, + 0x26794: 0x6c9b2820, + 0x2679a: 0x6ce58c20, + // Block 0x99f, offset 0x267c0 + 0x267d0: 0x6ca84a20, + 0x267df: 0x6c1b3a20, + 0x267e1: 0x6d047220, 0x267e3: 0x6c5d3820, + 0x267e6: 0x6c2b8020, 0x267e7: 0x6c80d620, + 0x267e9: 0x6d2a1a20, 0x267ea: 0x6c130a20, 0x267eb: 0x6cdd8420, + 0x267ec: 0x6d412c20, 0x267ed: 0x6cdbd020, 0x267ef: 0x6cf9e020, + 0x267f1: 0x6d01e620, + 0x267f4: 0x6c6b1220, 0x267f5: 0x6d1f5820, 0x267f7: 0x6c46ca20, + 0x267f8: 0x6c451620, + 0x267fc: 0x6c75d820, 0x267fd: 0x6c5a5e20, 0x267fe: 0x6c607420, 0x267ff: 0x6cb3ca20, + // Block 0x9a0, offset 0x26800 + 0x26800: 0x6cf37820, 0x26802: 0x6d183420, + 0x26805: 0x6ca3a420, 0x26807: 0x6cc71820, + 0x26808: 0x6ca40820, 0x2680a: 0x6cb2c020, 0x2680b: 0x6ccd9420, + 0x2680c: 0x6c2dd820, 0x2680d: 0x6c607620, 0x2680e: 0x6c571420, 0x2680f: 0x6c335620, + 0x26810: 0x6c79a020, 0x26811: 0x6cde8620, 0x26813: 0x6c53c620, + 0x26815: 0x6cd4f820, + 0x26819: 0x6c526a20, 0x2681a: 0x6c3bc020, + 0x26832: 0x6c79fa20, + // Block 0x9a1, offset 0x26840 + 0x26859: 0x6ca70220, + 0x2685d: 0x6c1e9e20, + 0x26866: 0x6cbb5a20, + 0x26872: 0x6cf8bc20, 0x26873: 0x6c558020, + 0x26874: 0x6cd99620, 0x26875: 0x6cf30a20, 0x26877: 0x6c4d7620, + 0x26878: 0x6cc7b820, 0x26879: 0x6c9b3020, 0x2687b: 0x6cca2420, + 0x2687d: 0x6cf3de20, 0x2687f: 0x6d1f6420, + // Block 0x9a2, offset 0x26880 + 0x26881: 0x6cdfba20, 0x26882: 0x6cd01220, + 0x26886: 0x6cb71220, + 0x26888: 0x6c4c8420, 0x26889: 0x6cb87420, 0x2688a: 0x6cfad020, + 0x2688f: 0x6cdbd620, + 0x26890: 0x6c92b020, 0x26893: 0x6cb52620, + 0x26894: 0x6c2ddc20, 0x26897: 0x6cb64020, + 0x26898: 0x6c63dc20, 0x26899: 0x6d1f6620, 0x2689a: 0x6cf79e20, 0x2689b: 0x6c177a20, + 0x268a1: 0x6c9d7e20, 0x268a2: 0x6c911820, 0x268a3: 0x6c08f220, + 0x268aa: 0x6cadec20, + 0x268ae: 0x6d318e20, 0x268af: 0x6cd01420, + 0x268b0: 0x6c15da20, 0x268b1: 0x6c403a20, + 0x268b6: 0x6cc13820, 0x268b7: 0x6cd82220, + 0x268ba: 0x6d417a20, + // Block 0x9a3, offset 0x268c0 + 0x268eb: 0x6d2fd620, + 0x268fd: 0x6cb01220, + // Block 0x9a4, offset 0x26900 + 0x26900: 0x6c23fa20, + 0x26906: 0x6c42e220, 0x26907: 0x6c31b620, + 0x26909: 0x6c3da420, 0x2690a: 0x6c492620, 0x2690b: 0x6ccae620, + 0x2690c: 0x6cda2a20, 0x2690d: 0x6c65da20, 0x2690e: 0x6cb3e020, + 0x26910: 0x6c11ac20, 0x26911: 0x6c085020, 0x26912: 0x6ca20c20, 0x26913: 0x6d2f7420, + 0x26914: 0x6cff9a20, 0x26916: 0x6c715c20, 0x26917: 0x6cd50620, + 0x26918: 0x6c65dc20, 0x26919: 0x6c844e20, 0x2691b: 0x6c203e20, + 0x2691c: 0x6c81e220, 0x2691e: 0x6c51ea20, 0x2691f: 0x6c55bc20, + 0x26920: 0x6c473220, 0x26921: 0x6d2f0c20, 0x26922: 0x6c6b3620, 0x26923: 0x6cfe5620, + 0x26925: 0x6c317820, 0x26926: 0x6c4e3220, 0x26927: 0x6c63e820, + 0x26928: 0x6cfe5820, 0x26929: 0x6c60ae20, 0x2692a: 0x6cd56c20, 0x2692b: 0x6c812e20, + 0x2692c: 0x6c5f4220, 0x2692d: 0x6ccd0e20, + 0x26930: 0x6ce1ee20, 0x26931: 0x6d3e8e20, 0x26932: 0x6cd69620, + 0x26934: 0x6c60b020, 0x26935: 0x6c1f7820, 0x26936: 0x6c628020, 0x26937: 0x6cd01c20, + 0x26938: 0x6c8c6820, 0x26939: 0x6c8a2020, 0x2693b: 0x6cca2a20, + 0x2693d: 0x6c019220, 0x2693e: 0x6cc87c20, + // Block 0x9a5, offset 0x26940 + 0x26940: 0x6ce37820, 0x26941: 0x6c28b820, 0x26943: 0x6c589c20, + 0x26945: 0x6cc99420, + // Block 0x9a6, offset 0x26980 + 0x26986: 0x6cc8a420, 0x26987: 0x6cf38020, + 0x26988: 0x6c729620, 0x26989: 0x6c589e20, 0x2698a: 0x6c838620, 0x2698b: 0x6c92dc20, + 0x2698e: 0x6cdfbe20, 0x2698f: 0x6d2b9620, + 0x26993: 0x6cb9ca20, + 0x26997: 0x6cf6d820, + 0x269a1: 0x6c22a220, 0x269a2: 0x6ccf2620, + 0x269a7: 0x6cc99620, + 0x269aa: 0x6c99bc20, 0x269ab: 0x6cc1da20, + 0x269ad: 0x6c0f7a20, 0x269ae: 0x6c41f020, + 0x269b0: 0x6cbcea20, 0x269b1: 0x6c739a20, 0x269b2: 0x6c290e20, 0x269b3: 0x6c16cc20, + 0x269b4: 0x6d0fde20, 0x269b5: 0x6c518020, 0x269b7: 0x6c5f5c20, + 0x269b9: 0x6c0df820, 0x269bb: 0x6c9a3020, + 0x269bf: 0x6c33b820, + // Block 0x9a7, offset 0x269c0 + 0x269c0: 0x6c02b020, 0x269c1: 0x6c6dd820, 0x269c2: 0x6c92f420, 0x269c3: 0x6c9e6620, + 0x269c4: 0x6c2d8a20, 0x269c5: 0x6c51f220, 0x269c7: 0x6c650420, + 0x269ca: 0x6c575e20, 0x269cb: 0x6c466220, + 0x269ce: 0x6c92f620, 0x269cf: 0x6c3f0a20, + 0x269d0: 0x6c5b7220, 0x269d2: 0x6d2b6620, + 0x269d4: 0x6c6d6220, 0x269d5: 0x6cd83420, 0x269d6: 0x6cc43e20, + 0x269dc: 0x6c28cc20, 0x269de: 0x6ced9e20, 0x269df: 0x6c0b5620, + 0x269e4: 0x6c63ee20, + 0x269eb: 0x6c284e20, + 0x269ec: 0x6c6f8a20, 0x269ed: 0x6cfb9c20, 0x269ee: 0x6c0f7c20, + // Block 0x9a8, offset 0x26a00 + 0x26a0f: 0x6cfa0020, + 0x26a11: 0x6c0c3220, + 0x26a15: 0x6cb3a820, + 0x26a18: 0x6ccae820, 0x26a19: 0x6c076620, 0x26a1a: 0x6ccc8020, 0x26a1b: 0x6cf02e20, + 0x26a1d: 0x6c123e20, 0x26a1e: 0x6c92f820, + 0x26a29: 0x6c28ce20, 0x26a2b: 0x6c47e820, + 0x26a2c: 0x6d289e20, 0x26a2d: 0x6c055820, 0x26a2e: 0x6c423820, + 0x26a31: 0x6c175420, 0x26a32: 0x6c62ae20, 0x26a33: 0x6c8ab620, + 0x26a35: 0x6cbf7e20, 0x26a36: 0x6c66f420, 0x26a37: 0x6c930a20, + 0x26a38: 0x6c32a620, 0x26a39: 0x6cdb8a20, 0x26a3a: 0x6d116020, 0x26a3b: 0x6d1b1620, + 0x26a3d: 0x6cdec220, 0x26a3e: 0x6d116220, 0x26a3f: 0x6c6de020, + // Block 0x9a9, offset 0x26a40 + 0x26a40: 0x6c1ebc20, 0x26a41: 0x6c3f1220, 0x26a42: 0x6d25c220, 0x26a43: 0x6ccebc20, + 0x26a45: 0x6c0e3620, 0x26a46: 0x6c299e20, 0x26a47: 0x6cd3f820, + 0x26a4a: 0x6c916420, 0x26a4b: 0x6cbcf220, + 0x26a4c: 0x6c955c20, 0x26a4d: 0x6cb3ae20, 0x26a4f: 0x6c9b7a20, + 0x26a50: 0x6c6b6620, 0x26a53: 0x6c5f7220, + 0x26a56: 0x6c930c20, + // Block 0x9aa, offset 0x26a80 + 0x26a84: 0x6c172a20, 0x26a85: 0x6c9f0020, 0x26a86: 0x6c9b7c20, 0x26a87: 0x6c660220, + 0x26a8a: 0x6c114020, + 0x26a8c: 0x6cdb5220, + 0x26a94: 0x6c51fe20, 0x26a95: 0x6cc9aa20, 0x26a97: 0x6d3eae20, + 0x26a98: 0x6c795e20, 0x26a99: 0x6c452220, 0x26a9a: 0x6cd83a20, + 0x26aa0: 0x6ce3a420, 0x26aa1: 0x6d2e8e20, 0x26aa2: 0x6d026420, 0x26aa3: 0x6cd70020, + 0x26aa4: 0x6c1bcc20, 0x26aa5: 0x6d1ec620, 0x26aa6: 0x6c91f820, 0x26aa7: 0x6c9c1a20, + 0x26aa8: 0x6c8b6020, 0x26aa9: 0x6cd8f620, + 0x26aac: 0x6cf71820, 0x26aad: 0x6c38da20, 0x26aae: 0x6c3db820, 0x26aaf: 0x6cd08820, + 0x26ab0: 0x6ce3a620, 0x26ab1: 0x6c14a420, 0x26ab2: 0x6d270620, + 0x26ab4: 0x6c3dba20, 0x26ab5: 0x6c670220, 0x26ab6: 0x6c2cb020, + 0x26aba: 0x6d011a20, 0x26abb: 0x6c281220, + 0x26abf: 0x6d34b020, + // Block 0x9ab, offset 0x26ac0 + 0x26ac3: 0x6d075620, + 0x26ac8: 0x6ca89820, 0x26ac9: 0x6c397420, 0x26aca: 0x6c9b8820, 0x26acb: 0x6c9fd420, + 0x26afe: 0x6c90d220, 0x26aff: 0x6c31e820, + // Block 0x9ac, offset 0x26b00 + 0x26b01: 0x6d2e9620, 0x26b02: 0x6c671020, 0x26b03: 0x6c4f2e20, + 0x26b04: 0x6c28e220, 0x26b05: 0x6ccbb220, 0x26b06: 0x6c671220, 0x26b07: 0x6ce03e20, + 0x26b08: 0x6c696c20, 0x26b09: 0x6cb34220, 0x26b0b: 0x6cb2e420, + 0x26b0d: 0x6d3bf820, 0x26b0f: 0x6c8a4c20, + 0x26b10: 0x6d3f6620, 0x26b12: 0x6d3dd820, + 0x26b14: 0x6c56de20, + 0x26b19: 0x6cf92020, 0x26b1b: 0x6c9b9620, + 0x26b1c: 0x6c72ba20, 0x26b1d: 0x6c9f0c20, 0x26b1e: 0x6cfbcc20, + 0x26b20: 0x6c7d3820, 0x26b21: 0x6c9b9820, 0x26b22: 0x6c653420, + 0x26b26: 0x6caa0a20, + 0x26b28: 0x6c2cb220, 0x26b29: 0x6ccad220, + // Block 0x9ad, offset 0x26b40 + 0x26b4f: 0x6c1f8c20, + 0x26b50: 0x6d34bc20, 0x26b51: 0x6cb9e220, 0x26b52: 0x6c93c420, + 0x26b54: 0x6d3ddc20, + 0x26b58: 0x6d42b020, 0x26b59: 0x6c4e4820, 0x26b5a: 0x6cdc1820, 0x26b5b: 0x6c46e220, + 0x26b5d: 0x6c1e3c20, 0x26b5e: 0x6c62da20, 0x26b5f: 0x6d194820, + 0x26b60: 0x6d21f020, + 0x26b68: 0x6caa0c20, 0x26b69: 0x6ca66420, 0x26b6a: 0x6cc93620, + 0x26b6e: 0x6c8c0820, + 0x26b71: 0x6ca93820, + // Block 0x9ae, offset 0x26b80 + 0x26b8d: 0x6cbc1620, 0x26b8e: 0x6d117c20, 0x26b8f: 0x6c409c20, + 0x26b90: 0x6cd6b620, 0x26b91: 0x6c7d3e20, 0x26b92: 0x6cc21220, 0x26b93: 0x6c304a20, + 0x26b94: 0x6cd58a20, + 0x26b9a: 0x6c84c020, 0x26b9b: 0x6c719220, + 0x26b9c: 0x6cc8bc20, + 0x26ba0: 0x6d2c6c20, + 0x26ba4: 0x6cff5420, + 0x26bb8: 0x6c9ae220, 0x26bb9: 0x6cd29820, 0x26bba: 0x6c2cfc20, 0x26bbb: 0x6c878e20, + 0x26bbc: 0x6c2b0420, 0x26bbd: 0x6d29c420, 0x26bbf: 0x6c958420, + // Block 0x9af, offset 0x26bc0 + 0x26bc0: 0x6c11c620, 0x26bc3: 0x6c023c20, + 0x26bc6: 0x6c663620, + 0x26bc8: 0x6c2e5020, 0x26bcb: 0x6d1cd820, + 0x26bd6: 0x6d197220, 0x26bd7: 0x6c294620, + 0x26bd8: 0x6caa1220, 0x26bda: 0x6d272620, + 0x26bee: 0x6c855620, 0x26bef: 0x6c84e220, + 0x26bf0: 0x6c56f620, 0x26bf2: 0x6d206420, + 0x26bfa: 0x6ca48420, + // Block 0x9b0, offset 0x26c00 + 0x26c02: 0x6c194a20, + 0x26c09: 0x6c3c9220, 0x26c0a: 0x6c0cd220, + 0x26c0f: 0x6c97d820, + 0x26c10: 0x6c424a20, 0x26c11: 0x6c5e6020, 0x26c13: 0x6c241c20, + 0x26c15: 0x6d200020, + 0x26c18: 0x6d206620, + 0x26c1c: 0x6d057c20, + 0x26c21: 0x6d06b020, 0x26c22: 0x6c561820, 0x26c23: 0x6c915020, + 0x26c25: 0x6cf9b820, 0x26c26: 0x6d177420, + 0x26c2e: 0x6c561e20, 0x26c2f: 0x6c569020, + 0x26c30: 0x6d3f0a20, + 0x26c37: 0x6c458c20, + 0x26c38: 0x6ce99220, 0x26c39: 0x6cf36a20, 0x26c3a: 0x6c8d2020, 0x26c3b: 0x6c472020, + 0x26c3c: 0x6d37be20, + // Block 0x9b1, offset 0x26c40 + 0x26c44: 0x6c915820, + 0x26c48: 0x6d412e20, + 0x26c4c: 0x6ce76a20, 0x26c4d: 0x6cf97020, 0x26c4e: 0x6c515c20, + 0x26c53: 0x6d26e220, + 0x26c59: 0x6ca40c20, 0x26c5a: 0x6c0f4820, 0x26c5b: 0x6c54fa20, + 0x26c5c: 0x6cb7e220, 0x26c5d: 0x6cd53a20, 0x26c5e: 0x6cbadc20, 0x26c5f: 0x6d38ae20, + 0x26c60: 0x6d122620, 0x26c61: 0x6c473420, + 0x26c65: 0x6c049e20, 0x26c66: 0x6c76ec20, + 0x26c6e: 0x6c517620, 0x26c6f: 0x6c628420, + 0x26c70: 0x6c55be20, 0x26c71: 0x6d0cde20, + 0x26c76: 0x6c212020, 0x26c77: 0x6c2f8620, + 0x26c78: 0x6cbfce20, 0x26c79: 0x6c543620, + 0x26c7c: 0x6c507420, 0x26c7f: 0x6d413220, + // Block 0x9b2, offset 0x26c80 + 0x26c81: 0x6cfbb820, + 0x26c84: 0x6cfa5220, 0x26c85: 0x6cf91820, + 0x26c88: 0x6ccb8420, + 0x26c8c: 0x6c445a20, 0x26c8d: 0x6cf92220, + 0x26c91: 0x6c445e20, + 0x26c94: 0x6c93c620, 0x26c96: 0x6c446020, 0x26c97: 0x6c78ea20, + 0x26c99: 0x6cd48a20, 0x26c9a: 0x6d3b5020, + 0x26c9c: 0x6ce2de20, 0x26c9d: 0x6d0b7820, 0x26c9e: 0x6ca67c20, + 0x26ca6: 0x6c95e220, 0x26ca7: 0x6cdbae20, + 0x26caa: 0x6c159e20, + 0x26cad: 0x6cf4cc20, 0x26caf: 0x6d208220, + 0x26cb9: 0x6d2a4420, 0x26cbb: 0x6d174420, + 0x26cbc: 0x6cf5d220, 0x26cbd: 0x6c533620, 0x26cbe: 0x6cc2ce20, 0x26cbf: 0x6cee0c20, + // Block 0x9b3, offset 0x26cc0 + 0x26cc0: 0x6c1b9820, 0x26cc1: 0x6cf87420, 0x26cc2: 0x6ce4e020, 0x26cc3: 0x6d27e420, + 0x26cc5: 0x6d13e220, 0x26cc6: 0x6c600620, 0x26cc7: 0x6c5aaa20, + 0x26cc8: 0x6c3d1620, 0x26cca: 0x6c3f5420, + 0x26ccd: 0x6c600820, 0x26cce: 0x6d080a20, + 0x26cd1: 0x6cdf6c20, 0x26cd3: 0x6c324e20, + 0x26cd7: 0x6d255620, + 0x26cdb: 0x6c2c3220, + 0x26cde: 0x6d3a6620, 0x26cdf: 0x6cdf0620, + 0x26ce1: 0x6cc70c20, 0x26ce2: 0x6d090a20, 0x26ce3: 0x6d232020, + 0x26ce4: 0x6c394e20, 0x26ce5: 0x6c06ca20, 0x26ce7: 0x6cc24420, + 0x26ce9: 0x6c109620, 0x26cea: 0x6c635420, 0x26ceb: 0x6d2c2c20, + 0x26ced: 0x6caa5a20, 0x26cee: 0x6ccf1420, + 0x26cf2: 0x6c860220, + // Block 0x9b4, offset 0x26d00 + 0x26d04: 0x6c4af620, 0x26d05: 0x6c48de20, 0x26d07: 0x6c276420, + 0x26d0f: 0x6c40fa20, + 0x26d12: 0x6c22cc20, + 0x26d14: 0x6d0d9220, 0x26d15: 0x6cd92220, 0x26d16: 0x6cd38820, + 0x26d18: 0x6c7a9c20, 0x26d19: 0x6d352e20, 0x26d1a: 0x6ce75020, 0x26d1b: 0x6cc19620, + 0x26d1c: 0x6c364220, 0x26d1e: 0x6d03ea20, 0x26d1f: 0x6cc7b020, + 0x26d20: 0x6d213820, 0x26d23: 0x6d17c020, + 0x26d24: 0x6d17c220, 0x26d25: 0x6d06e420, 0x26d26: 0x6c3d2c20, 0x26d27: 0x6c43f820, + 0x26d2c: 0x6c512a20, 0x26d2d: 0x6d19e820, 0x26d2f: 0x6c53be20, + 0x26d31: 0x6c349820, + 0x26d3d: 0x6d03ec20, 0x26d3e: 0x6c38a220, + // Block 0x9b5, offset 0x26d40 + 0x26d49: 0x6cb50020, 0x26d4a: 0x6ccc0220, + 0x26d4c: 0x6c326a20, 0x26d4d: 0x6c2c7220, 0x26d4e: 0x6c83fa20, 0x26d4f: 0x6d180620, + 0x26d50: 0x6cf78c20, 0x26d51: 0x6c451420, 0x26d52: 0x6ce75820, 0x26d53: 0x6c77c020, + 0x26d54: 0x6c53c420, 0x26d55: 0x6c7db820, 0x26d56: 0x6ca84c20, 0x26d57: 0x6c1b3c20, + 0x26d58: 0x6ce34e20, 0x26d5a: 0x6ce75a20, + 0x26d60: 0x6c83fc20, 0x26d61: 0x6ca35c20, + 0x26d71: 0x6d2d8220, 0x26d72: 0x6c06cc20, + // Block 0x9b6, offset 0x26d80 + 0x26d81: 0x6ce59220, 0x26d83: 0x6d289420, + 0x26d84: 0x6c367420, 0x26d85: 0x6cd47620, 0x26d86: 0x6c798820, 0x26d87: 0x6caeb820, + 0x26d88: 0x6c402020, 0x26d89: 0x6c929820, 0x26d8a: 0x6d01e820, 0x26d8b: 0x6d01ea20, + 0x26d8c: 0x6d04e820, 0x26d8d: 0x6c929a20, 0x26d8e: 0x6ce50a20, 0x26d8f: 0x6cde8820, + 0x26d90: 0x6c22da20, 0x26d91: 0x6cc12a20, 0x26d93: 0x6c402220, + 0x26d94: 0x6d340620, 0x26d96: 0x6d01ec20, 0x26d97: 0x6d408220, + 0x26d98: 0x6c3abe20, 0x26d99: 0x6c9f7420, 0x26d9a: 0x6d038c20, + 0x26d9d: 0x6ce76c20, 0x26d9e: 0x6cb60220, + 0x26da0: 0x6cb15c20, 0x26da2: 0x6cdc5620, 0x26da3: 0x6c37a020, + 0x26da7: 0x6c562c20, + 0x26dbb: 0x6cd92e20, + 0x26dbd: 0x6c0cb020, 0x26dbe: 0x6c2f6620, 0x26dbf: 0x6c04d220, + // Block 0x9b7, offset 0x26dc0 + 0x26dc0: 0x6cd1e220, 0x26dc1: 0x6d01ee20, 0x26dc2: 0x6cff9420, 0x26dc3: 0x6c3a6620, + 0x26dd2: 0x6c202620, 0x26dd3: 0x6cd67020, + 0x26dd4: 0x6d10b220, 0x26dd5: 0x6c74a220, 0x26dd6: 0x6cd14820, + 0x26dd8: 0x6d1eb220, 0x26dd9: 0x6c396c20, + 0x26ddc: 0x6c7c9a20, 0x26ddd: 0x6c2c9820, 0x26ddf: 0x6c990220, + 0x26de0: 0x6c6b2420, 0x26de2: 0x6d0cc820, + 0x26de5: 0x6ceeb420, + 0x26de8: 0x6cca7220, 0x26de9: 0x6c6b2620, 0x26dea: 0x6d219220, 0x26deb: 0x6cf0c820, + 0x26dec: 0x6c369220, 0x26ded: 0x6cc31220, 0x26dee: 0x6c6f2e20, 0x26def: 0x6c3cba20, + 0x26df0: 0x6c8fa620, 0x26df1: 0x6c2ee220, 0x26df2: 0x6cb12420, + 0x26df4: 0x6c891420, 0x26df5: 0x6c559820, 0x26df6: 0x6c93fa20, + 0x26dff: 0x6c2d7a20, + // Block 0x9b8, offset 0x26e00 + 0x26e03: 0x6c255e20, + 0x26e04: 0x6ca1e420, + 0x26e15: 0x6cedea20, 0x26e16: 0x6c72fe20, 0x26e17: 0x6c782e20, + 0x26e18: 0x6d0cca20, 0x26e19: 0x6c693420, + 0x26e21: 0x6c45b020, 0x26e23: 0x6cc6b620, + 0x26e24: 0x6cdce220, 0x26e25: 0x6ccdb620, + 0x26e28: 0x6c1b5420, 0x26e2a: 0x6cb65220, 0x26e2b: 0x6cdd9820, + 0x26e2d: 0x6d134420, 0x26e2e: 0x6d2a5420, 0x26e2f: 0x6cc39620, + 0x26e30: 0x6d2e1820, 0x26e31: 0x6c035a20, 0x26e32: 0x6d40d620, 0x26e33: 0x6cdd9a20, + 0x26e34: 0x6d309220, 0x26e35: 0x6cf8e820, 0x26e37: 0x6c1eec20, + 0x26e38: 0x6c694820, 0x26e39: 0x6d41d220, 0x26e3a: 0x6c43aa20, 0x26e3b: 0x6cf52420, + 0x26e3e: 0x6c94c020, 0x26e3f: 0x6c60b420, + // Block 0x9b9, offset 0x26e40 + 0x26e42: 0x6d00ec20, 0x26e43: 0x6d00ee20, + 0x26e46: 0x6c30f620, + 0x26e4b: 0x6cbfc620, + 0x26e51: 0x6cb2d020, 0x26e53: 0x6c8ea420, + 0x26e65: 0x6c6b3820, 0x26e67: 0x6c5c4020, + 0x26e6b: 0x6ccc7a20, + 0x26e78: 0x6d34a620, 0x26e79: 0x6c00e620, 0x26e7a: 0x6d074a20, 0x26e7b: 0x6c0a7820, + 0x26e7d: 0x6d126820, 0x26e7e: 0x6ca6d820, 0x26e7f: 0x6d3a2e20, + // Block 0x9ba, offset 0x26e80 + 0x26e81: 0x6cdb4220, 0x26e83: 0x6d010220, + 0x26e84: 0x6d241820, 0x26e85: 0x6cc14820, + 0x26e88: 0x6d40e020, 0x26e89: 0x6d341820, 0x26e8a: 0x6d2ee420, 0x26e8b: 0x6c94c420, + 0x26e8c: 0x6cf03020, 0x26e8d: 0x6c1ce820, 0x26e8e: 0x6c9d9620, + 0x26e90: 0x6c5f5e20, 0x26e92: 0x6cdb4420, 0x26e93: 0x6d12b620, + 0x26e94: 0x6cf7ac20, 0x26e95: 0x6ce96420, 0x26e96: 0x6c886c20, 0x26e97: 0x6d082e20, + 0x26e99: 0x6cf52c20, + 0x26e9f: 0x6c990c20, + 0x26eac: 0x6c538e20, 0x26eaf: 0x6c94c620, + 0x26eb0: 0x6c31ce20, 0x26eb1: 0x6c23ba20, 0x26eb2: 0x6c152e20, 0x26eb3: 0x6c92fc20, + 0x26eb4: 0x6cdb4620, + // Block 0x9bb, offset 0x26ec0 + 0x26ec0: 0x6c94c820, + 0x26ec6: 0x6d37d220, 0x26ec7: 0x6c847420, + 0x26ec8: 0x6c3ae220, 0x26eca: 0x6c6e3820, 0x26ecb: 0x6c7d2c20, + 0x26ecc: 0x6d18f420, 0x26ecd: 0x6c576620, 0x26ece: 0x6c258020, + 0x26ed0: 0x6d243c20, 0x26ed1: 0x6c083620, 0x26ed2: 0x6cea3020, 0x26ed3: 0x6cd58020, + 0x26ed4: 0x6c27a220, 0x26ed5: 0x6cf38a20, 0x26ed6: 0x6c22ea20, 0x26ed7: 0x6ca95e20, + 0x26ed8: 0x6c29a020, 0x26ed9: 0x6d40ee20, 0x26eda: 0x6c4e4220, + 0x26edc: 0x6cb02e20, 0x26edd: 0x6c204620, + 0x26ee0: 0x6c328620, 0x26ee1: 0x6cabe020, + 0x26ee4: 0x6d39d620, 0x26ee6: 0x6d011620, 0x26ee7: 0x6d30ac20, + 0x26ee8: 0x6cbcf420, 0x26ee9: 0x6d07dc20, 0x26eeb: 0x6ccb0820, + // Block 0x9bc, offset 0x26f00 + 0x26f00: 0x6c0a9620, 0x26f02: 0x6c407c20, + 0x26f08: 0x6c86d820, + 0x26f0e: 0x6c359620, + 0x26f10: 0x6d126e20, 0x26f11: 0x6cd58420, 0x26f13: 0x6ccb8620, + 0x26f15: 0x6cb54a20, 0x26f16: 0x6c4cf220, 0x26f17: 0x6ccb8820, + 0x26f19: 0x6c408620, 0x26f1a: 0x6c990e20, + 0x26f1c: 0x6c827620, 0x26f1d: 0x6d2db420, + 0x26f28: 0x6c14a620, + 0x26f2d: 0x6cf0fc20, + 0x26f3d: 0x6c827820, 0x26f3f: 0x6d2b6c20, + // Block 0x9bd, offset 0x26f40 + 0x26f40: 0x6d1c0e20, 0x26f41: 0x6c010220, 0x26f42: 0x6d005c20, + 0x26f44: 0x6c0aaa20, + 0x26f4b: 0x6c155a20, + 0x26f4e: 0x6cb03620, 0x26f4f: 0x6c23c220, + 0x26f50: 0x6c8b6620, 0x26f51: 0x6cb69c20, 0x26f53: 0x6c62d420, + 0x26f54: 0x6c6df220, 0x26f55: 0x6c302820, 0x26f56: 0x6c3a4620, 0x26f57: 0x6d159220, + 0x26f58: 0x6ce97220, + 0x26f68: 0x6c9bf620, 0x26f69: 0x6c11be20, 0x26f6a: 0x6d0b3c20, + 0x26f72: 0x6d103c20, + 0x26f74: 0x6ce6a220, + 0x26f78: 0x6d34be20, 0x26f7a: 0x6d027c20, 0x26f7b: 0x6c942220, + 0x26f7d: 0x6c875420, 0x26f7f: 0x6c991620, + // Block 0x9be, offset 0x26f80 + 0x26f82: 0x6cfa1820, + 0x26f85: 0x6cda4420, + 0x26f96: 0x6cda6c20, 0x26f97: 0x6d097e20, + 0x26f9d: 0x6c877a20, 0x26f9e: 0x6d25d820, + 0x26fa1: 0x6d2e4020, 0x26fa3: 0x6cdef220, + 0x26fa4: 0x6d083a20, 0x26fa5: 0x6cf12020, 0x26fa6: 0x6d139620, 0x26fa7: 0x6cad1a20, + 0x26fa8: 0x6c991820, 0x26fa9: 0x6ce3b620, 0x26faa: 0x6cb22a20, + 0x26fac: 0x6c328e20, 0x26fad: 0x6cc0a820, 0x26fae: 0x6d162c20, + 0x26fb3: 0x6ceb6020, + 0x26fb4: 0x6c14aa20, 0x26fb7: 0x6c6d7620, + 0x26fbc: 0x6c35aa20, + // Block 0x9bf, offset 0x26fc0 + 0x26fc3: 0x6c157420, + 0x26fc4: 0x6d1c4420, 0x26fc5: 0x6c8dae20, 0x26fc7: 0x6cfc5e20, + 0x26fc9: 0x6cb55a20, 0x26fcb: 0x6d272220, + 0x26fcc: 0x6c94ce20, 0x26fcd: 0x6d1cda20, 0x26fce: 0x6cc21a20, + 0x26fd2: 0x6c3a7820, 0x26fd3: 0x6d3eca20, + 0x26fd9: 0x6cbe6220, + 0x26fdd: 0x6ca94020, 0x26fde: 0x6cf13220, 0x26fdf: 0x6cd6c220, + 0x26fe1: 0x6c40a420, + 0x26fe4: 0x6ca1aa20, 0x26fe5: 0x6ca1ac20, 0x26fe6: 0x6ceb6820, 0x26fe7: 0x6c14ae20, + 0x26fe8: 0x6d2a1220, + 0x26fee: 0x6c84da20, 0x26fef: 0x6c84e420, + 0x26ff1: 0x6cfa2020, 0x26ff2: 0x6c733420, + 0x26ff4: 0x6ca41a20, 0x26ff5: 0x6c9db420, + 0x26ff8: 0x6c5a3e20, 0x26ffa: 0x6cd6f620, + 0x26ffc: 0x6d066420, 0x26fff: 0x6c3a7a20, + // Block 0x9c0, offset 0x27000 + 0x27001: 0x6d029420, + 0x27006: 0x6cdefa20, 0x27007: 0x6d1e6a20, + 0x27009: 0x6d2e4420, + 0x27011: 0x6cbb3420, 0x27012: 0x6ca46a20, + 0x27014: 0x6c8c9420, + 0x27018: 0x6c948220, 0x27019: 0x6cfc6e20, 0x2701a: 0x6c3f2c20, + 0x2701c: 0x6c8df820, + 0x27020: 0x6ccadc20, 0x27022: 0x6c5ca620, + 0x27028: 0x6ce66020, 0x2702a: 0x6cbe7020, + 0x2702c: 0x6c598a20, 0x2702e: 0x6c01b220, + 0x27035: 0x6c97c220, 0x27037: 0x6ca6b220, + 0x2703b: 0x6c4c8020, + 0x2703c: 0x6cab8820, 0x2703f: 0x6cfe4620, + // Block 0x9c1, offset 0x27040 + 0x27041: 0x6c6c5620, + 0x27046: 0x6d32f620, + 0x27048: 0x6ca2cc20, 0x2704b: 0x6cca5e20, + 0x2704c: 0x6c56d020, 0x2704e: 0x6d40f020, 0x2704f: 0x6c5b7620, + 0x27052: 0x6c5f7420, + 0x27056: 0x6d138a20, + 0x27066: 0x6d03de20, + 0x27069: 0x6c7e6c20, 0x2706a: 0x6d232220, 0x2706b: 0x6c745820, + 0x27071: 0x6cd5da20, 0x27072: 0x6d32d620, + 0x27074: 0x6d1e4e20, 0x27076: 0x6c439c20, + 0x27078: 0x6c66ae20, 0x27079: 0x6d034820, + 0x2707c: 0x6c5aec20, 0x2707f: 0x6cd67820, + // Block 0x9c2, offset 0x27080 + 0x27082: 0x6c1cf020, 0x27083: 0x6c4f8a20, + 0x27088: 0x6c8a6420, + 0x2708d: 0x6c674a20, 0x2708f: 0x6c456c20, + 0x27091: 0x6d3d3020, + 0x27097: 0x6cb6de20, + 0x2709c: 0x6cb8b820, 0x2709e: 0x6c30e220, 0x2709f: 0x6cb30220, + 0x270a2: 0x6c567a20, + 0x270a5: 0x6ca98c20, 0x270a7: 0x6cb76420, + 0x270a8: 0x6c2db420, 0x270a9: 0x6c2db620, 0x270ab: 0x6c85b220, + 0x270ae: 0x6d046220, + 0x270bd: 0x6ca2da20, 0x270bf: 0x6d32a620, + // Block 0x9c3, offset 0x270c0 + 0x270c0: 0x6c7e6e20, 0x270c1: 0x6d35cc20, 0x270c3: 0x6c35b220, + 0x270c4: 0x6c0e6620, 0x270c5: 0x6cb30620, 0x270c6: 0x6d058420, 0x270c7: 0x6d1e7a20, + 0x270c8: 0x6c223c20, 0x270c9: 0x6c85e220, + 0x270cc: 0x6cad5820, 0x270cf: 0x6d053a20, + 0x270db: 0x6cb4a820, + 0x270dd: 0x6c17e420, 0x270de: 0x6cb78420, + 0x270e1: 0x6d177620, 0x270e3: 0x6ce31c20, + 0x270e4: 0x6c348820, 0x270e5: 0x6c8f9020, 0x270e7: 0x6c668020, + 0x270ed: 0x6d2e6020, 0x270ee: 0x6d261220, + 0x270f6: 0x6d210820, + 0x270f8: 0x6c44ca20, 0x270fa: 0x6c546c20, + 0x270fe: 0x6cb6f820, + // Block 0x9c4, offset 0x27100 + 0x27100: 0x6ca28c20, 0x27101: 0x6c592a20, 0x27102: 0x6c906a20, 0x27103: 0x6cf89420, + 0x27104: 0x6c356c20, 0x27105: 0x6c80fe20, 0x27106: 0x6c3aae20, 0x27107: 0x6ced2820, + 0x27109: 0x6c259620, 0x2710b: 0x6caea420, + 0x2710f: 0x6c262c20, + 0x27110: 0x6cf22420, + 0x27121: 0x6c430620, + 0x27125: 0x6c254820, + 0x27128: 0x6cb7a620, 0x27129: 0x6c83fe20, 0x2712a: 0x6cbcc820, 0x2712b: 0x6cba6020, + 0x2712c: 0x6c798220, 0x2712d: 0x6c082220, 0x2712f: 0x6cd46c20, + 0x27137: 0x6ceea220, + // Block 0x9c5, offset 0x27140 + 0x27144: 0x6cccf220, + 0x2714f: 0x6d3e6e20, + 0x27152: 0x6ce40c20, 0x27153: 0x6cb90e20, + 0x27154: 0x6c31ac20, 0x27157: 0x6ce8dc20, + 0x2715a: 0x6ceeaa20, + 0x2715e: 0x6c558420, 0x2715f: 0x6d038e20, + 0x27161: 0x6ccd0220, 0x27162: 0x6d354a20, + 0x27167: 0x6c1bb820, + 0x27178: 0x6d394a20, 0x27179: 0x6cf23620, 0x2717a: 0x6c1b4c20, 0x2717b: 0x6cdd9420, + 0x2717c: 0x6d020220, 0x2717e: 0x6c78d220, + // Block 0x9c6, offset 0x27180 + 0x27181: 0x6ccca220, 0x27182: 0x6cd1f220, 0x27183: 0x6cd47820, + 0x27185: 0x6c6bfc20, + 0x27189: 0x6c431c20, 0x2718a: 0x6c93b220, + 0x27194: 0x6d020420, + 0x2719a: 0x6d354c20, + 0x2719e: 0x6c978220, + 0x271a0: 0x6cd67420, 0x271a1: 0x6c78da20, 0x271a3: 0x6c2dfe20, + 0x271a4: 0x6d141a20, 0x271a6: 0x6cdb2420, 0x271a7: 0x6c206420, + 0x271b1: 0x6c256820, 0x271b2: 0x6cebb220, + 0x271b5: 0x6d022020, + 0x271bd: 0x6d082620, + // Block 0x9c7, offset 0x271c0 + 0x271c2: 0x6c51f420, 0x271c3: 0x6c74ce20, + 0x271c6: 0x6ce43020, 0x271c7: 0x6c3ada20, + 0x271c9: 0x6d355620, 0x271ca: 0x6cd3e820, 0x271cb: 0x6ce9c620, + 0x271ce: 0x6c1cea20, + 0x271d0: 0x6ce43220, 0x271d1: 0x6d2e8820, 0x271d2: 0x6c527820, + 0x271d4: 0x6cc1de20, 0x271d5: 0x6cef4220, 0x271d7: 0x6c33ba20, + 0x271d8: 0x6c067220, + 0x271dc: 0x6c8a2c20, + 0x271e4: 0x6cd83620, + 0x271ea: 0x6c0c8420, 0x271eb: 0x6d023420, + 0x271ec: 0x6c0cfc20, 0x271ee: 0x6c23d820, + 0x271f2: 0x6c72ac20, 0x271f3: 0x6c518820, + 0x271f7: 0x6c7d3020, + 0x271f8: 0x6d1dc820, + // Block 0x9c8, offset 0x27200 + 0x27200: 0x6cd62220, + 0x2720d: 0x6ca89a20, 0x2720f: 0x6d21da20, + 0x27210: 0x6d3dca20, 0x27211: 0x6c9b8c20, 0x27212: 0x6c55f220, + 0x27215: 0x6c8b6220, + 0x2721d: 0x6c6a4020, 0x2721e: 0x6d048220, + 0x27223: 0x6d0e0020, + 0x27229: 0x6c6b7a20, 0x2722a: 0x6c7eb820, 0x2722b: 0x6cd62e20, + 0x2722c: 0x6c6b7c20, 0x2722d: 0x6c828220, + 0x27230: 0x6d40fc20, 0x27232: 0x6cd40420, + 0x27238: 0x6cef6c20, 0x27239: 0x6c318620, 0x2723a: 0x6cdb6420, + // Block 0x9c9, offset 0x27240 + 0x27243: 0x6d012e20, + 0x27244: 0x6cc4f620, + 0x2724c: 0x6c964e20, + 0x27251: 0x6cb96420, + 0x27258: 0x6ca48620, 0x27259: 0x6c8dec20, + 0x2725c: 0x6c630620, + 0x27260: 0x6ca03e20, 0x27263: 0x6c476220, + 0x27268: 0x6d080c20, + 0x2726c: 0x6d058e20, + 0x27271: 0x6c0f3620, + 0x2727c: 0x6ceebc20, + // Block 0x9ca, offset 0x27280 + 0x27282: 0x6c7a6e20, + 0x27286: 0x6cecf020, + 0x27288: 0x6c143c20, 0x2728a: 0x6c996820, 0x2728b: 0x6c789a20, + 0x2728e: 0x6c22c420, + 0x27292: 0x6cfcbc20, 0x27293: 0x6ca11620, + 0x2729a: 0x6c5cc420, 0x2729b: 0x6c162c20, + 0x2729c: 0x6cd1c620, 0x2729d: 0x6d31dc20, 0x2729e: 0x6c364420, 0x2729f: 0x6c9c5a20, + 0x272a1: 0x6cd1c820, 0x272a2: 0x6cc11420, 0x272a3: 0x6cd4e420, + 0x272a5: 0x6c220420, 0x272a6: 0x6d0d9420, + 0x272a9: 0x6c54dc20, 0x272aa: 0x6cb50220, 0x272ab: 0x6d366c20, + 0x272ac: 0x6c599c20, + 0x272b4: 0x6d353820, 0x272b6: 0x6d1fda20, + 0x272bc: 0x6c435420, 0x272bd: 0x6d11c420, 0x272be: 0x6cb3cc20, + // Block 0x9cb, offset 0x272c0 + 0x272c7: 0x6d153620, + 0x272c8: 0x6c1a8420, 0x272c9: 0x6c625020, 0x272cb: 0x6c007420, + 0x272cd: 0x6c308620, 0x272cf: 0x6cdc6220, + 0x272d1: 0x6c701c20, + 0x272d8: 0x6cb7c820, 0x272d9: 0x6c884420, 0x272da: 0x6d085620, + 0x272dc: 0x6c8a7620, + 0x272e1: 0x6d285820, 0x272e2: 0x6d085a20, 0x272e3: 0x6c23e620, + 0x272e4: 0x6cb10020, 0x272e6: 0x6c7c9c20, + 0x272e8: 0x6ce37a20, 0x272e9: 0x6c58e020, 0x272ea: 0x6c280020, 0x272eb: 0x6c4b7820, + 0x272ec: 0x6c188a20, 0x272ee: 0x6cce3c20, 0x272ef: 0x6c628620, + 0x272f4: 0x6c891c20, 0x272f5: 0x6c76b620, 0x272f6: 0x6cd17820, + 0x272f8: 0x6c30cc20, 0x272f9: 0x6d1f8020, 0x272fa: 0x6cb66220, + 0x272fc: 0x6cffc620, + // Block 0x9cc, offset 0x27300 + 0x27302: 0x6d18f620, 0x27303: 0x6c90c420, + 0x27306: 0x6c206a20, + 0x2730b: 0x6c81e620, + 0x2730c: 0x6c42ec20, + 0x27310: 0x6d2ba220, 0x27312: 0x6cef6420, + 0x27316: 0x6c653620, + 0x2731b: 0x6d1c3220, + 0x2731c: 0x6c38f420, 0x2731d: 0x6c877c20, 0x2731e: 0x6cb94e20, + 0x27322: 0x6d125420, + 0x27326: 0x6c7c5a20, 0x27327: 0x6cef7a20, + 0x27329: 0x6cc42620, + 0x2732c: 0x6cffca20, 0x2732d: 0x6cc42820, + 0x27330: 0x6c551820, + 0x27335: 0x6c342020, 0x27336: 0x6c1f1e20, + 0x27339: 0x6ccfd620, + 0x2733c: 0x6d3d5620, 0x2733d: 0x6c355e20, 0x2733e: 0x6c61f820, + // Block 0x9cd, offset 0x27340 + 0x27341: 0x6cdfde20, 0x27343: 0x6cabc420, + 0x2734b: 0x6c6be220, + 0x2734c: 0x6cbc4220, + 0x27351: 0x6cb99620, 0x27352: 0x6c724c20, + 0x27355: 0x6cc06e20, 0x27356: 0x6ceb2220, + 0x2735a: 0x6caafa20, 0x2735b: 0x6cd8c620, + 0x2735f: 0x6d14fe20, + 0x27361: 0x6c47a220, 0x27362: 0x6c5d3220, 0x27363: 0x6cabda20, + 0x27364: 0x6d3e5a20, 0x27366: 0x6c685220, + 0x27369: 0x6cf80420, 0x2736a: 0x6cceb820, + 0x2736c: 0x6d153820, 0x2736d: 0x6d369e20, + 0x27375: 0x6c952420, 0x27377: 0x6d38a020, + 0x27378: 0x6c74a420, 0x27379: 0x6ce00620, 0x2737a: 0x6cab0c20, 0x2737b: 0x6c728020, + 0x2737c: 0x6c559c20, 0x2737e: 0x6d36c220, + // Block 0x9ce, offset 0x27380 + 0x27383: 0x6c088820, + 0x2738d: 0x6c1c7220, 0x2738e: 0x6d07d020, 0x2738f: 0x6c60b620, + 0x27390: 0x6c48a020, 0x27391: 0x6c715e20, 0x27392: 0x6cf31620, 0x27393: 0x6ceb4a20, + 0x27395: 0x6cc09820, 0x27396: 0x6ceebe20, 0x27397: 0x6c32a220, + 0x27399: 0x6cd47c20, 0x2739b: 0x6d31fe20, + 0x2739c: 0x6ca55420, 0x2739f: 0x6cf8f620, + 0x273a0: 0x6d30a420, 0x273a1: 0x6d371620, 0x273a3: 0x6ca2ea20, + 0x273a8: 0x6c650620, + 0x273ae: 0x6d114e20, 0x273af: 0x6c4c9820, + 0x273b2: 0x6c2c0820, + 0x273b4: 0x6c5e1c20, 0x273b5: 0x6c6de220, + 0x273bc: 0x6c74ec20, 0x273bd: 0x6d270820, + // Block 0x9cf, offset 0x273c0 + 0x273c4: 0x6c60ee20, 0x273c6: 0x6cdb5c20, + 0x273c8: 0x6c654020, 0x273ca: 0x6c7d9820, 0x273cb: 0x6cf33220, + 0x273cc: 0x6c7c1e20, 0x273cd: 0x6c0c6020, 0x273ce: 0x6c751220, + 0x273d1: 0x6c0ad620, 0x273d3: 0x6c157a20, + 0x273d5: 0x6d3ecc20, 0x273d6: 0x6c87c220, + 0x273da: 0x6c3d0e20, 0x273db: 0x6cb9f020, + 0x273dc: 0x6d0d4020, 0x273de: 0x6ce08c20, 0x273df: 0x6ca0d820, + 0x273e3: 0x6c79e420, + 0x273e4: 0x6cf5d420, + 0x273ee: 0x6c569220, 0x273ef: 0x6c569420, + 0x273f1: 0x6c3e7020, + 0x273f4: 0x6d104c20, 0x273f5: 0x6c4cea20, 0x273f7: 0x6cc57020, + 0x273f8: 0x6d1b4c20, 0x273f9: 0x6c3c4420, 0x273fa: 0x6c75b620, + 0x273fc: 0x6d27a620, 0x273ff: 0x6d0a8820, + // Block 0x9d0, offset 0x27400 + 0x27401: 0x6cf87c20, + 0x2740e: 0x6cf96220, + 0x27411: 0x6c4f7620, + 0x2741a: 0x6c569620, + 0x2741d: 0x6c54d020, 0x2741e: 0x6cb4aa20, 0x2741f: 0x6c385020, + 0x27424: 0x6c636420, 0x27427: 0x6d150420, + 0x2742d: 0x6ceac820, 0x2742e: 0x6ca2e220, + 0x27438: 0x6d1a6a20, 0x27439: 0x6d1b5a20, + // Block 0x9d1, offset 0x27440 + 0x27443: 0x6c622a20, + 0x27444: 0x6cee5620, 0x27445: 0x6cd3a420, 0x27446: 0x6c330c20, 0x27447: 0x6c34fc20, + 0x27449: 0x6ceb3020, 0x2744a: 0x6cebe620, 0x2744b: 0x6c863e20, + 0x2744f: 0x6cc55220, + 0x27452: 0x6c22d020, 0x27453: 0x6d070220, + 0x27454: 0x6d389020, 0x27455: 0x6d3f5a20, + 0x2745c: 0x6cee2a20, 0x2745d: 0x6d0b5820, 0x2745f: 0x6c622c20, + 0x27460: 0x6c179e20, + 0x27469: 0x6c606020, + 0x27475: 0x6ccd5420, 0x27476: 0x6ce8de20, + 0x27478: 0x6c0cf620, 0x27479: 0x6cf8be20, 0x2747a: 0x6caf7e20, 0x2747b: 0x6d2cd420, + 0x2747e: 0x6c5c0620, + // Block 0x9d2, offset 0x27480 + 0x27480: 0x6cdd3020, 0x27482: 0x6c51da20, + 0x27484: 0x6d265220, 0x27486: 0x6cf37c20, + 0x27488: 0x6c8d4020, 0x2748a: 0x6d2cd620, 0x2748b: 0x6c574a20, + 0x27497: 0x6c151220, + 0x2749f: 0x6c367620, + 0x274a1: 0x6c18e020, + 0x274a7: 0x6cdc6620, + 0x274a9: 0x6ce51420, + 0x274b0: 0x6d36c420, 0x274b1: 0x6ce41620, 0x274b2: 0x6c022e20, 0x274b3: 0x6d3d9020, + 0x274b4: 0x6d3f6020, 0x274b5: 0x6c783020, 0x274b7: 0x6ccb4e20, + 0x274b8: 0x6ce4c220, 0x274b9: 0x6c92b620, + 0x274be: 0x6ccd2620, 0x274bf: 0x6d2c9020, + // Block 0x9d3, offset 0x274c0 + 0x274c3: 0x6c1cde20, + 0x274c5: 0x6d0ea620, + 0x274d2: 0x6ca25420, 0x274d3: 0x6c54fc20, + 0x274da: 0x6c1ad420, + 0x274dd: 0x6cdb0a20, + 0x274e3: 0x6ca51420, + 0x274e6: 0x6c60b820, 0x274e7: 0x6c346020, + 0x274e8: 0x6c547e20, 0x274ea: 0x6c23de20, 0x274eb: 0x6d2c0220, + 0x274ec: 0x6d1a9c20, 0x274ee: 0x6cffbe20, + 0x274f0: 0x6c0bbc20, 0x274f1: 0x6c085220, 0x274f2: 0x6c7e9a20, + 0x274f4: 0x6c1ad820, 0x274f6: 0x6cb87820, + 0x274f8: 0x6c015220, 0x274f9: 0x6cd1fe20, + 0x274fc: 0x6c1c7420, + // Block 0x9d4, offset 0x27500 + 0x27505: 0x6caa6a20, 0x27507: 0x6c628820, + 0x27513: 0x6cab9220, + 0x27515: 0x6cf97a20, + 0x27518: 0x6c14a020, 0x2751a: 0x6c005620, + 0x2751d: 0x6cd17c20, 0x2751e: 0x6c518220, + 0x27520: 0x6c60ca20, 0x27521: 0x6c1ade20, 0x27522: 0x6cf8fa20, 0x27523: 0x6d32fe20, + 0x27526: 0x6cde0020, + 0x27528: 0x6c96e220, 0x2752b: 0x6caf9a20, + 0x2752e: 0x6d05f220, 0x2752f: 0x6cba2a20, + 0x27539: 0x6cfa4e20, + // Block 0x9d5, offset 0x27540 + 0x2754a: 0x6d241a20, + 0x27551: 0x6c6b4620, 0x27552: 0x6cfa5420, 0x27553: 0x6c91ee20, + 0x27555: 0x6cbcf620, 0x27557: 0x6c145220, + 0x2755b: 0x6d107020, + 0x2755c: 0x6c62b020, 0x2755d: 0x6ccc3620, 0x2755e: 0x6c912020, + 0x27560: 0x6c5f7620, 0x27561: 0x6d373020, 0x27562: 0x6cee5c20, + 0x27564: 0x6c0a9820, 0x27565: 0x6c015820, 0x27566: 0x6d142a20, 0x27567: 0x6c015a20, + 0x2756c: 0x6c847620, + 0x27579: 0x6cfaec20, + 0x2757e: 0x6c703620, 0x2757f: 0x6ce08420, + // Block 0x9d6, offset 0x27580 + 0x27581: 0x6c507a20, 0x27582: 0x6c520620, + 0x27585: 0x6d2c0620, 0x27586: 0x6d2e2e20, 0x27587: 0x6d191a20, + 0x27588: 0x6cf91a20, 0x2758a: 0x6cf91c20, 0x2758b: 0x6c384420, + 0x2758c: 0x6d0cf620, 0x2758f: 0x6ca25620, + 0x27595: 0x6c474020, + 0x2759e: 0x6d27d020, + 0x275a4: 0x6d384820, 0x275a6: 0x6c160220, 0x275a7: 0x6c208620, + 0x275a8: 0x6c5c8a20, 0x275a9: 0x6d28d620, 0x275aa: 0x6c4c0820, 0x275ab: 0x6c661c20, + 0x275ac: 0x6d0b3e20, + 0x275b0: 0x6cfe6820, 0x275b1: 0x6c520820, + // Block 0x9d7, offset 0x275c0 + 0x275c3: 0x6c28e820, + 0x275c7: 0x6c9df020, + 0x275c8: 0x6ca93a20, 0x275ca: 0x6c9ba620, + 0x275cc: 0x6c8b6e20, 0x275cd: 0x6d396a20, 0x275ce: 0x6cb42220, 0x275cf: 0x6cdf0a20, + 0x275d3: 0x6d1cd020, + 0x275d4: 0x6ce2cc20, 0x275d5: 0x6c4ca220, + 0x275da: 0x6cbb3020, + 0x275dc: 0x6c942420, 0x275dd: 0x6cc9b820, 0x275de: 0x6c8b7020, 0x275df: 0x6c1b6c20, + 0x275e0: 0x6d015020, 0x275e3: 0x6c4ca820, + 0x275e4: 0x6c067e20, 0x275e5: 0x6c964220, 0x275e6: 0x6c73a420, + 0x275ea: 0x6c36e820, + 0x275f3: 0x6c51a820, + 0x275f5: 0x6c9aba20, + 0x275f8: 0x6d028820, 0x275f9: 0x6cb22c20, 0x275fb: 0x6c4dc420, + 0x275fc: 0x6c194420, 0x275fd: 0x6ccdec20, 0x275fe: 0x6c5ca020, + // Block 0x9d8, offset 0x27600 + 0x27606: 0x6d1c4820, + 0x27608: 0x6c663e20, + 0x2760d: 0x6c016620, + 0x27611: 0x6cdef420, 0x27612: 0x6d144220, 0x27613: 0x6ce9dc20, + 0x27617: 0x6c8ef220, + 0x27619: 0x6d425a20, 0x2761b: 0x6c84ec20, + 0x2761d: 0x6cb23420, 0x2761e: 0x6d098420, + 0x27620: 0x6ca5a220, 0x27621: 0x6c315820, + 0x27624: 0x6c806c20, + 0x2762a: 0x6d2d5e20, 0x2762b: 0x6c73e620, + 0x2762c: 0x6d314620, 0x2762d: 0x6c600c20, 0x2762e: 0x6cb8ce20, + 0x27630: 0x6c4da220, 0x27631: 0x6c3b7220, 0x27633: 0x6c4da420, + 0x27634: 0x6c535620, 0x27635: 0x6c514620, 0x27636: 0x6c541a20, + 0x2763a: 0x6d2e7820, 0x2763b: 0x6c1dd420, + 0x2763c: 0x6cdf7e20, 0x2763d: 0x6cba7820, 0x2763f: 0x6ccf7420, + // Block 0x9d9, offset 0x27640 + 0x27640: 0x6d1bee20, 0x27643: 0x6cbd4020, + 0x27646: 0x6c5e0e20, + 0x27648: 0x6cf8fc20, 0x27649: 0x6c51f820, 0x2764a: 0x6cf90820, 0x2764b: 0x6cf97e20, + 0x2764c: 0x6c4fb620, 0x2764d: 0x6c81e820, 0x2764f: 0x6c870c20, + 0x27652: 0x6c19a220, + 0x27656: 0x6c760620, 0x27657: 0x6cf76020, + 0x27658: 0x6c4e7620, + 0x2765e: 0x6c311620, + 0x27660: 0x6c30ae20, 0x27661: 0x6cec9220, + 0x27664: 0x6c30b020, 0x27665: 0x6d293820, 0x27666: 0x6c737a20, + 0x27668: 0x6c90e620, 0x27669: 0x6c1f6220, 0x2766b: 0x6d32ea20, + 0x2766f: 0x6cb64420, + 0x27670: 0x6c770e20, 0x27671: 0x6c5df420, 0x27672: 0x6c7f2420, + 0x2767a: 0x6c410620, + 0x2767c: 0x6cd48220, 0x2767e: 0x6c301a20, + // Block 0x9da, offset 0x27680 + 0x27683: 0x6c90c820, + 0x27684: 0x6ce93e20, 0x27687: 0x6d21ca20, + 0x27688: 0x6cf52e20, 0x2768a: 0x6ce4ce20, + 0x27692: 0x6c4c9e20, + 0x27698: 0x6ce04420, 0x27699: 0x6cb6ae20, + 0x276a0: 0x6c8b8020, 0x276a1: 0x6c87b420, 0x276a3: 0x6d09d020, + 0x276a8: 0x6c452820, 0x276a9: 0x6ce63820, 0x276aa: 0x6c4ea220, 0x276ab: 0x6c1f2a20, + 0x276ad: 0x6cea4c20, 0x276af: 0x6d047a20, + 0x276b0: 0x6d1f3020, 0x276b1: 0x6ca11820, 0x276b2: 0x6c1ba420, + 0x276b4: 0x6c562020, 0x276b5: 0x6c317020, 0x276b7: 0x6ca24420, + 0x276b9: 0x6ca34420, 0x276bb: 0x6c8d0c20, + 0x276bf: 0x6c00ae20, + // Block 0x9db, offset 0x276c0 + 0x276c0: 0x6cfab020, + 0x276c4: 0x6c76e020, 0x276c5: 0x6cd8cc20, 0x276c6: 0x6cca0420, + 0x276ca: 0x6d180e20, + 0x276cf: 0x6d183c20, + 0x276d0: 0x6d000020, 0x276d2: 0x6d340820, 0x276d3: 0x6c313020, + 0x276d8: 0x6c973e20, + 0x276dc: 0x6c950a20, 0x276dd: 0x6c74a820, + 0x276e1: 0x6cbad620, 0x276e2: 0x6c8d4a20, + 0x276e9: 0x6cb12c20, 0x276ea: 0x6c23fc20, 0x276eb: 0x6c351820, + 0x276ec: 0x6d229420, + 0x276f0: 0x6d3d0a20, 0x276f2: 0x6cf8fe20, 0x276f3: 0x6c581620, + 0x276f4: 0x6ca02020, 0x276f5: 0x6ce14420, + 0x276f9: 0x6cb41820, 0x276fb: 0x6c9da420, + 0x276fc: 0x6c979020, 0x276fe: 0x6c48d420, + // Block 0x9dc, offset 0x27700 + 0x27700: 0x6cb93620, 0x27702: 0x6c8bfa20, 0x27703: 0x6c9fd620, + 0x27704: 0x6cf04e20, 0x27705: 0x6c136820, 0x27707: 0x6c56e220, + 0x27708: 0x6cdc0420, 0x2770b: 0x6c72bc20, + 0x2770c: 0x6ccc8420, 0x2770d: 0x6c9ba820, + 0x27717: 0x6cef7620, + 0x27718: 0x6cf75a20, 0x27719: 0x6c8e2a20, + 0x2771c: 0x6c0ad820, 0x2771d: 0x6cf13820, + 0x27721: 0x6c85b420, 0x27722: 0x6d304420, + 0x27724: 0x6d1df220, 0x27725: 0x6c554e20, 0x27726: 0x6cecda20, 0x27727: 0x6c034c20, + 0x27728: 0x6c649220, + 0x2772d: 0x6d426a20, 0x2772e: 0x6d2df220, 0x2772f: 0x6c0e7a20, + 0x27730: 0x6cbfb220, 0x27731: 0x6d0f5a20, + 0x27734: 0x6c300620, 0x27735: 0x6cc19820, + 0x2773a: 0x6caff820, 0x2773b: 0x6d2d2c20, + 0x2773e: 0x6cccf420, 0x2773f: 0x6c46bc20, + // Block 0x9dd, offset 0x27740 + 0x27740: 0x6c0c9020, 0x27741: 0x6d152220, 0x27742: 0x6c3eaa20, + 0x27744: 0x6d034020, 0x27745: 0x6cd3a620, 0x27746: 0x6ce6fc20, + 0x27749: 0x6c2f6220, + 0x2774c: 0x6ce86e20, 0x2774d: 0x6cfef620, 0x2774e: 0x6cf3e020, 0x2774f: 0x6cade420, + 0x27750: 0x6c5ade20, + 0x27755: 0x6c7f2220, + 0x27759: 0x6cd8e220, 0x2775a: 0x6c250220, 0x2775b: 0x6ccc7220, + 0x2775c: 0x6d38f020, 0x2775d: 0x6d2fd820, 0x2775e: 0x6cef3220, 0x2775f: 0x6c7f2620, + 0x27760: 0x6c0a3a20, 0x27763: 0x6c303e20, + 0x27766: 0x6ca51620, 0x27767: 0x6d005420, + 0x27768: 0x6cc54020, 0x27769: 0x6ce98e20, 0x2776a: 0x6cf0d820, 0x2776b: 0x6d1f7020, + 0x2776c: 0x6c9a2820, 0x2776d: 0x6d25b220, 0x2776e: 0x6d384220, + 0x27776: 0x6cd9ea20, + 0x27778: 0x6c474820, 0x27779: 0x6ccee620, 0x2777b: 0x6d2f9220, + 0x2777c: 0x6cb02820, 0x2777f: 0x6ce70820, + // Block 0x9de, offset 0x27780 + 0x27781: 0x6c1ae220, 0x27782: 0x6caedc20, 0x27783: 0x6c153c20, + 0x27784: 0x6d1dca20, 0x27785: 0x6cd6ea20, 0x27787: 0x6cf48420, + 0x27789: 0x6cb03020, 0x2778a: 0x6c596020, + 0x2778c: 0x6c3f1e20, 0x2778e: 0x6c0c9620, + 0x27793: 0x6ca4d020, + 0x27795: 0x6c0c9820, 0x27796: 0x6cf11420, 0x27797: 0x6d1dd620, + 0x27799: 0x6ca52620, 0x2779a: 0x6c48fe20, + 0x277a0: 0x6c879220, 0x277a2: 0x6d035e20, 0x277a3: 0x6d0d2220, + 0x277a4: 0x6cb37420, 0x277a5: 0x6cadca20, + 0x277aa: 0x6cdd5c20, + 0x277ac: 0x6cc5e220, 0x277ad: 0x6ccd3a20, + 0x277b2: 0x6cdd5e20, + 0x277b8: 0x6c27d620, 0x277ba: 0x6c9af020, + // Block 0x9df, offset 0x277c0 + 0x277c3: 0x6cd44820, + 0x277c8: 0x6c46a620, 0x277ca: 0x6c4da620, 0x277cb: 0x6cd39020, + 0x277cc: 0x6d102020, 0x277ce: 0x6c479620, + 0x277db: 0x6c77fe20, + 0x277de: 0x6c709c20, + 0x277e0: 0x6cac2e20, 0x277e1: 0x6c12f820, 0x277e2: 0x6c05b220, 0x277e3: 0x6d047020, + 0x277e4: 0x6c111420, 0x277e7: 0x6c8c2420, + 0x277e8: 0x6c00b020, + 0x277ec: 0x6c9d6220, 0x277ed: 0x6c7f3e20, + 0x277f1: 0x6cfee020, 0x277f3: 0x6ccf1e20, + 0x277fb: 0x6c5d7c20, + 0x277fc: 0x6ca6b420, + // Block 0x9e0, offset 0x27800 + 0x27804: 0x6d335620, 0x27806: 0x6c8c5c20, 0x27807: 0x6d2c4420, + 0x2780a: 0x6d27be20, + 0x2780d: 0x6d071c20, + 0x27814: 0x6c1a2a20, 0x27815: 0x6cf2c020, 0x27816: 0x6cf68620, + 0x27819: 0x6c074820, + 0x2781c: 0x6cce1c20, + 0x27820: 0x6d23d020, 0x27821: 0x6c9d8020, + 0x27832: 0x6c32b020, + 0x27835: 0x6c144a20, 0x27837: 0x6d2b0820, + 0x27838: 0x6c1a8820, 0x2783a: 0x6ce69220, + // Block 0x9e1, offset 0x27840 + 0x27845: 0x6d157020, + 0x2784b: 0x6d10ba20, + 0x2784e: 0x6c7a6620, + 0x27850: 0x6c3b9c20, 0x27851: 0x6d010420, 0x27852: 0x6c1a8a20, + 0x2785b: 0x6c7d2420, + 0x2785f: 0x6c0d6220, + 0x27861: 0x6c90cc20, + 0x27865: 0x6d18fa20, 0x27866: 0x6c9da620, 0x27867: 0x6d024620, + 0x27871: 0x6c4a9c20, 0x27873: 0x6c955e20, + 0x27876: 0x6ccdce20, + 0x2787e: 0x6c717a20, 0x2787f: 0x6c318420, + // Block 0x9e2, offset 0x27880 + 0x27882: 0x6cfaf220, + 0x27885: 0x6d356020, + 0x27888: 0x6c0d9020, + 0x27895: 0x6d356220, 0x27896: 0x6d3bfa20, 0x27897: 0x6d092a20, + 0x27898: 0x6c893020, 0x27899: 0x6cdcb220, + 0x278a6: 0x6c808c20, 0x278a7: 0x6c72cc20, + 0x278a8: 0x6c9df220, 0x278a9: 0x6d0ab420, 0x278aa: 0x6d2ea020, 0x278ab: 0x6c4c0c20, + 0x278b2: 0x6d376820, + 0x278bd: 0x6cf12c20, 0x278be: 0x6cc36a20, 0x278bf: 0x6c14ac20, + // Block 0x9e3, offset 0x278c0 + 0x278c8: 0x6cc63020, 0x278ca: 0x6d272820, + 0x278cc: 0x6d3ece20, + 0x278d0: 0x6c965420, 0x278d1: 0x6c4b3620, 0x278d3: 0x6c19f420, + 0x278d5: 0x6c709e20, 0x278d6: 0x6ce4fe20, 0x278d7: 0x6ced9820, + 0x278db: 0x6d33d820, + 0x278de: 0x6ca42c20, + 0x278e3: 0x6c4db420, + 0x278e8: 0x6cf6b020, 0x278e9: 0x6c8bd420, + 0x278ec: 0x6d0c2e20, 0x278ed: 0x6d074220, + 0x278f2: 0x6c56d220, 0x278f3: 0x6c423620, + 0x278f4: 0x6d074c20, 0x278f6: 0x6cf90a20, + 0x278fa: 0x6c258420, + 0x278fd: 0x6cf92a20, 0x278fe: 0x6c560220, + // Block 0x9e4, offset 0x27900 + 0x27905: 0x6d0c4c20, + 0x2790e: 0x6d170e20, 0x2790f: 0x6c1b1a20, + 0x27910: 0x6c741c20, 0x27912: 0x6d40b220, + 0x2791c: 0x6c699420, 0x2791d: 0x6d178220, 0x2791f: 0x6ce05e20, + 0x27920: 0x6c1c1420, 0x27921: 0x6c037a20, 0x27922: 0x6ce82820, 0x27923: 0x6d3f7a20, + 0x27924: 0x6cc05420, 0x27927: 0x6c1c1620, + 0x27928: 0x6cf7e020, + 0x27930: 0x6ca69c20, 0x27932: 0x6c241420, + 0x27934: 0x6cf44820, 0x27936: 0x6c1f4820, 0x27937: 0x6cda4e20, + 0x27938: 0x6d1df820, 0x27939: 0x6c71bc20, 0x2793a: 0x6c037e20, + 0x2793c: 0x6c229c20, 0x2793d: 0x6c2c6420, 0x2793e: 0x6cac9820, 0x2793f: 0x6c1c2620, + // Block 0x9e5, offset 0x27940 + 0x27941: 0x6cc0ac20, 0x27943: 0x6d0ca420, + 0x2794d: 0x6d2d2e20, + 0x27952: 0x6cfce220, 0x27953: 0x6c084620, + 0x27954: 0x6c7ba620, 0x27955: 0x6cb7a820, 0x27956: 0x6d389220, 0x27957: 0x6c713820, + 0x27958: 0x6cbcca20, 0x27959: 0x6ca13420, 0x2795a: 0x6d258c20, + 0x2795c: 0x6c4b5820, 0x2795d: 0x6d417220, + 0x27967: 0x6cbccc20, + 0x27970: 0x6c558a20, 0x27971: 0x6cc08820, 0x27972: 0x6c4d2220, 0x27973: 0x6c402c20, + 0x27974: 0x6c812a20, 0x27975: 0x6ccc6c20, 0x27976: 0x6cf68820, 0x27977: 0x6c101c20, + 0x27978: 0x6cd3ba20, 0x27979: 0x6d1e5220, 0x2797a: 0x6c49f020, + 0x2797c: 0x6ca85420, 0x2797f: 0x6c545820, + // Block 0x9e6, offset 0x27980 + 0x2798a: 0x6c9d7220, + 0x2798e: 0x6c369420, 0x2798f: 0x6cfb8a20, + 0x27990: 0x6d280020, 0x27991: 0x6d073220, 0x27992: 0x6cbde420, 0x27993: 0x6c301220, + 0x27994: 0x6c838220, 0x27995: 0x6cb7ca20, 0x27996: 0x6c7fb020, 0x27997: 0x6c3ee420, + 0x27998: 0x6cb71420, 0x27999: 0x6c1d3e20, + 0x2799c: 0x6c245c20, 0x2799f: 0x6ca16620, + 0x279a0: 0x6c06b820, + 0x279a4: 0x6c2a2e20, + 0x279a8: 0x6c6b3a20, 0x279a9: 0x6c1d5c20, 0x279aa: 0x6c1c7620, 0x279ab: 0x6d23f820, + 0x279ac: 0x6c24ee20, 0x279ad: 0x6cdb2620, 0x279ae: 0x6ce42420, 0x279af: 0x6cd61020, + 0x279b0: 0x6d2c4c20, 0x279b1: 0x6c3ef820, 0x279b3: 0x6c184620, + 0x279b4: 0x6c3d0c20, 0x279b5: 0x6c543220, 0x279b6: 0x6d2c4e20, + // Block 0x9e7, offset 0x279c0 + 0x279c4: 0x6c6b3c20, 0x279c5: 0x6d2c5020, 0x279c6: 0x6d2d9c20, + 0x279c9: 0x6d0dde20, 0x279ca: 0x6c4d3020, 0x279cb: 0x6cf48220, + 0x279cc: 0x6c576220, 0x279cd: 0x6c2cde20, 0x279ce: 0x6d115420, 0x279cf: 0x6cd9ec20, + 0x279d0: 0x6cb92c20, 0x279d1: 0x6c60cc20, 0x279d2: 0x6d04aa20, 0x279d3: 0x6cb7f020, + 0x279d4: 0x6c758420, 0x279d6: 0x6c4d3220, + 0x279de: 0x6d0dee20, 0x279df: 0x6c6b6820, + 0x279e0: 0x6c24f420, 0x279e2: 0x6ce96a20, 0x279e3: 0x6d2ee620, + 0x279e4: 0x6cb16c20, 0x279e5: 0x6c930e20, 0x279e6: 0x6d342020, 0x279e7: 0x6c1f8820, + 0x279e8: 0x6c9da820, 0x279e9: 0x6cbaec20, 0x279eb: 0x6c892420, + 0x279f2: 0x6c86dc20, + 0x279f6: 0x6c359a20, 0x279f7: 0x6cdb5820, + 0x279f8: 0x6c74f020, 0x279fb: 0x6c717c20, + 0x279fc: 0x6ce03a20, 0x279fd: 0x6c8a4820, 0x279fe: 0x6cca0a20, 0x279ff: 0x6c309220, + // Block 0x9e8, offset 0x27a00 + 0x27a01: 0x6d28d420, 0x27a02: 0x6d34b220, + 0x27a06: 0x6d08ca20, 0x27a07: 0x6c8d8620, + 0x27a0a: 0x6c2abe20, + 0x27a0d: 0x6d2dbe20, 0x27a0e: 0x6d07f020, 0x27a0f: 0x6cbdf220, + 0x27a10: 0x6c69da20, 0x27a11: 0x6cb0da20, + 0x27a14: 0x6c4e6e20, + 0x27a1a: 0x6d21f220, 0x27a1b: 0x6c4ca420, + 0x27a1d: 0x6d0a5420, + 0x27a20: 0x6d0a5620, 0x27a21: 0x6c156c20, 0x27a22: 0x6c6b8020, 0x27a23: 0x6c719420, + 0x27a24: 0x6d0e1820, 0x27a25: 0x6c31f620, 0x27a27: 0x6c53e020, + 0x27a28: 0x6cfd4a20, 0x27a29: 0x6d0a5820, + 0x27a2e: 0x6c8db020, 0x27a2f: 0x6c6b8620, + 0x27a30: 0x6d197e20, 0x27a31: 0x6cc22a20, 0x27a32: 0x6c41c020, 0x27a33: 0x6c3c8c20, + 0x27a35: 0x6c753820, 0x27a36: 0x6cc16e20, + 0x27a3b: 0x6c6fe020, + 0x27a3d: 0x6c61ba20, 0x27a3e: 0x6c612c20, + // Block 0x9e9, offset 0x27a40 + 0x27a45: 0x6cf77420, 0x27a46: 0x6cacd220, + 0x27a48: 0x6c7bf020, 0x27a49: 0x6c7a8e20, 0x27a4b: 0x6c7a9020, + 0x27a4c: 0x6d2cbe20, 0x27a4f: 0x6c03b220, + 0x27a52: 0x6c190220, 0x27a53: 0x6c569820, + 0x27a54: 0x6caa6220, 0x27a55: 0x6c356220, 0x27a56: 0x6d046a20, 0x27a57: 0x6c33ce20, + 0x27a58: 0x6cd10020, 0x27a59: 0x6cecdc20, 0x27a5a: 0x6c3b2e20, + 0x27a5d: 0x6cf60420, 0x27a5e: 0x6d3e2e20, + 0x27a60: 0x6c569a20, + 0x27a65: 0x6c0cea20, 0x27a67: 0x6ceba620, + 0x27a68: 0x6c04cc20, 0x27a69: 0x6c43e420, 0x27a6b: 0x6c77f620, + 0x27a72: 0x6d3c8c20, 0x27a73: 0x6c3e9220, + 0x27a74: 0x6ca12020, 0x27a75: 0x6c63c620, 0x27a76: 0x6ceb2620, 0x27a77: 0x6d235a20, + 0x27a79: 0x6ca24620, 0x27a7a: 0x6c745e20, 0x27a7b: 0x6c712820, + 0x27a7c: 0x6c486220, 0x27a7d: 0x6cb35a20, + // Block 0x9ea, offset 0x27a80 + 0x27a80: 0x6ca63c20, + 0x27a84: 0x6cec1e20, 0x27a85: 0x6d0d9620, + 0x27a94: 0x6c1e2c20, 0x27a95: 0x6c7ba820, 0x27a96: 0x6c4d7020, + 0x27a98: 0x6cfdd020, 0x27a99: 0x6cf65c20, 0x27a9b: 0x6c25a820, + 0x27a9c: 0x6ce6fe20, 0x27a9d: 0x6cc92420, 0x27a9f: 0x6c345820, + 0x27aa0: 0x6c182a20, + 0x27aa4: 0x6c833820, 0x27aa5: 0x6d3e6420, 0x27aa7: 0x6d332420, + 0x27aa8: 0x6d426c20, 0x27aab: 0x6c773020, + 0x27aac: 0x6d293a20, 0x27aae: 0x6d250020, 0x27aaf: 0x6cbf4620, + 0x27ab3: 0x6c381820, + 0x27ab4: 0x6d0a2220, 0x27ab6: 0x6c622e20, + 0x27ab8: 0x6c13a620, + // Block 0x9eb, offset 0x27ac0 + 0x27ac0: 0x6cd4fe20, 0x27ac1: 0x6d08a820, 0x27ac2: 0x6d00d220, 0x27ac3: 0x6ce2f820, + 0x27ac4: 0x6c4ef220, 0x27ac5: 0x6cfac020, 0x27ac6: 0x6ccd0420, 0x27ac7: 0x6cea8c20, + 0x27ac8: 0x6c4f8420, 0x27ac9: 0x6c7dbc20, 0x27aca: 0x6c133620, 0x27acb: 0x6c30bc20, + 0x27acc: 0x6caac620, 0x27acd: 0x6d0e9a20, 0x27ace: 0x6c1a2c20, 0x27acf: 0x6cb40a20, + 0x27ad0: 0x6cb7ba20, 0x27ad1: 0x6d26d420, 0x27ad2: 0x6c3d8c20, + 0x27ad7: 0x6ce6dc20, + 0x27adf: 0x6cf2c220, + 0x27ae0: 0x6cd11220, 0x27ae1: 0x6ceb8c20, + 0x27af4: 0x6ce06a20, 0x27af6: 0x6d0b6020, 0x27af7: 0x6d36ca20, + 0x27af8: 0x6c92be20, 0x27af9: 0x6d0dd020, 0x27afa: 0x6c70c220, + 0x27afd: 0x6c2a8020, 0x27aff: 0x6c1f7020, + // Block 0x9ec, offset 0x27b00 + 0x27b00: 0x6d412620, 0x27b01: 0x6c369620, 0x27b02: 0x6d349620, 0x27b03: 0x6caec020, + 0x27b05: 0x6c0cbe20, 0x27b07: 0x6c2c0220, + 0x27b10: 0x6c7f2820, 0x27b12: 0x6d133020, + 0x27b1c: 0x6c4fe620, 0x27b1d: 0x6cac7420, 0x27b1e: 0x6ce0ae20, 0x27b1f: 0x6c774a20, + 0x27b20: 0x6d05ea20, 0x27b21: 0x6d408e20, 0x27b22: 0x6c628c20, 0x27b23: 0x6cf52620, + 0x27b26: 0x6c204020, + 0x27b29: 0x6cb3a420, 0x27b2a: 0x6d0dd620, 0x27b2b: 0x6cebb420, + 0x27b2d: 0x6c31b820, 0x27b2f: 0x6cb13020, + 0x27b30: 0x6c1c7820, 0x27b31: 0x6c5d4420, 0x27b32: 0x6cb26820, + 0x27b34: 0x6c235c20, 0x27b35: 0x6d2c9620, + 0x27b3a: 0x6cec9e20, + 0x27b3f: 0x6cec6620, + // Block 0x9ed, offset 0x27b40 + 0x27b43: 0x6c36ae20, + 0x27b44: 0x6cf0da20, 0x27b45: 0x6c040420, 0x27b47: 0x6c678020, + 0x27b53: 0x6c140a20, + 0x27b55: 0x6c1f8220, 0x27b56: 0x6c7af220, 0x27b57: 0x6ce2bc20, + 0x27b58: 0x6d406a20, 0x27b59: 0x6c86ac20, 0x27b5a: 0x6cdeb220, 0x27b5b: 0x6cc9a420, + 0x27b5e: 0x6cac7a20, 0x27b5f: 0x6cac7c20, + 0x27b63: 0x6ccb0020, + 0x27b64: 0x6cbbba20, + 0x27b6d: 0x6d40e220, 0x27b6f: 0x6d371820, + 0x27b70: 0x6d0de020, 0x27b72: 0x6c6b4820, 0x27b73: 0x6ca5aa20, + // Block 0x9ee, offset 0x27b80 + 0x27b84: 0x6c944420, 0x27b85: 0x6cc15220, 0x27b87: 0x6c2af220, + 0x27b88: 0x6c897620, 0x27b89: 0x6c15f220, 0x27b8a: 0x6cbcf820, 0x27b8b: 0x6c912220, + 0x27b8c: 0x6c2efe20, 0x27b8d: 0x6c24f620, + 0x27b90: 0x6c615c20, 0x27b93: 0x6c178420, + 0x27b94: 0x6cd69a20, 0x27b95: 0x6d40f220, 0x27b97: 0x6c775a20, + 0x27b9a: 0x6cbaf020, 0x27b9b: 0x6c847820, + 0x27bae: 0x6cd65e20, 0x27baf: 0x6d243e20, + 0x27bb0: 0x6d2ee820, 0x27bb1: 0x6c82f220, + // Block 0x9ef, offset 0x27bc0 + 0x27bc5: 0x6cb33e20, + 0x27bca: 0x6d30b620, 0x27bcb: 0x6d001e20, + 0x27bcd: 0x6ce08620, 0x27bce: 0x6c258620, 0x27bcf: 0x6c7fdc20, + 0x27bd1: 0x6d060220, 0x27bd2: 0x6cd62820, 0x27bd3: 0x6d2c9c20, + 0x27bd4: 0x6c11ba20, 0x27bd7: 0x6c08fe20, + 0x27bd8: 0x6caf1c20, + 0x27bdd: 0x6c1a5620, + 0x27be3: 0x6cbc0c20, + 0x27be4: 0x6c5f8620, + 0x27bea: 0x6d2d0420, + 0x27bec: 0x6c7fde20, + // Block 0x9f0, offset 0x27c00 + 0x27c01: 0x6ce52820, 0x27c02: 0x6cc9b020, 0x27c03: 0x6c6c6e20, + 0x27c04: 0x6d3b4020, 0x27c05: 0x6c352220, 0x27c07: 0x6c145620, + 0x27c08: 0x6c73a020, 0x27c09: 0x6ce16220, 0x27c0a: 0x6c086420, + 0x27c0c: 0x6c38e820, 0x27c0d: 0x6c8b6820, 0x27c0e: 0x6d2b6e20, 0x27c0f: 0x6cdcb420, + 0x27c19: 0x6ccb8c20, + 0x27c27: 0x6d375c20, + 0x27c28: 0x6ce9d420, 0x27c2a: 0x6cbe5e20, + 0x27c2c: 0x6c21e620, + 0x27c30: 0x6cdee620, 0x27c31: 0x6c0e3c20, 0x27c32: 0x6cf1f620, + 0x27c35: 0x6cb36220, + 0x27c3d: 0x6ca09a20, 0x27c3e: 0x6c10e420, + // Block 0x9f1, offset 0x27c40 + 0x27c41: 0x6c7c2020, 0x27c43: 0x6c260220, + 0x27c44: 0x6cc54420, 0x27c45: 0x6c068020, 0x27c46: 0x6c7f8020, + 0x27c4d: 0x6ca75220, 0x27c4e: 0x6c84c220, + 0x27c55: 0x6c697220, 0x27c56: 0x6c919e20, 0x27c57: 0x6c879620, + 0x27c58: 0x6c900820, 0x27c59: 0x6c4baa20, + 0x27c5d: 0x6c161c20, + 0x27c64: 0x6cfb1820, 0x27c66: 0x6c165620, + 0x27c68: 0x6d029020, 0x27c69: 0x6d2ea820, + 0x27c6f: 0x6cd6c620, + 0x27c7b: 0x6c9d1220, + 0x27c7c: 0x6c947420, 0x27c7d: 0x6c965620, + // Block 0x9f2, offset 0x27c80 + 0x27c80: 0x6c2d0220, + 0x27c88: 0x6c2f2820, 0x27c8a: 0x6cecb220, 0x27c8b: 0x6d274620, + 0x27c8c: 0x6c948620, 0x27c8e: 0x6c948a20, + 0x27c93: 0x6c837220, + 0x27c95: 0x6cec6020, 0x27c96: 0x6c2f3e20, 0x27c97: 0x6ca59620, + 0x27c98: 0x6cceb220, 0x27c99: 0x6d019e20, 0x27c9a: 0x6cafe820, + 0x27ca5: 0x6c98dc20, 0x27ca7: 0x6d1ade20, + 0x27ca9: 0x6c0f0a20, 0x27cab: 0x6d3b0220, + 0x27cae: 0x6c1cc820, + 0x27cb6: 0x6ca24820, 0x27cb7: 0x6ceb2820, + 0x27cb9: 0x6ce7be20, 0x27cba: 0x6d128820, + // Block 0x9f3, offset 0x27cc0 + 0x27cc1: 0x6c5a7220, 0x27cc3: 0x6cc60020, + 0x27cc5: 0x6d130620, + 0x27ccb: 0x6ceb3a20, + 0x27cd6: 0x6d413a20, 0x27cd7: 0x6d23d220, + 0x27cda: 0x6c000c20, + 0x27cdc: 0x6d38a420, 0x27cdd: 0x6cec9c20, + 0x27ce1: 0x6c34ae20, 0x27ce2: 0x6d384420, 0x27ce3: 0x6c4cfc20, + 0x27ce4: 0x6c5a0420, 0x27ce5: 0x6c9e6220, + 0x27ce9: 0x6c211a20, 0x27cea: 0x6cbce420, 0x27ceb: 0x6c45b220, + 0x27cec: 0x6ce69420, 0x27ced: 0x6c9a2a20, + 0x27cf1: 0x6ce1a420, + 0x27cf4: 0x6cc6c420, 0x27cf7: 0x6cc6c620, + 0x27cf8: 0x6cb66420, 0x27cf9: 0x6c4c9a20, + 0x27cfd: 0x6cfe6220, 0x27cfe: 0x6ce4ca20, + // Block 0x9f4, offset 0x27d00 + 0x27d05: 0x6cff4020, + 0x27d08: 0x6d2db620, 0x27d09: 0x6c258820, + 0x27d14: 0x6c7ffc20, + 0x27d18: 0x6cd02e20, 0x27d1a: 0x6c830e20, 0x27d1b: 0x6c879820, + 0x27d1d: 0x6c14e620, 0x27d1e: 0x6ca8d020, 0x27d1f: 0x6c947620, + 0x27d21: 0x6ce63a20, 0x27d22: 0x6c5ba620, + 0x27d27: 0x6c458020, + 0x27d30: 0x6cb77220, 0x27d31: 0x6d20fa20, 0x27d33: 0x6d02d220, + 0x27d38: 0x6d26ae20, 0x27d39: 0x6c034e20, 0x27d3a: 0x6c276a20, 0x27d3b: 0x6c5eba20, + 0x27d3c: 0x6d089220, 0x27d3f: 0x6c743c20, + // Block 0x9f5, offset 0x27d40 + 0x27d40: 0x6ca99420, + 0x27d48: 0x6c325220, 0x27d49: 0x6c602620, + 0x27d50: 0x6cabc820, 0x27d51: 0x6c45f020, 0x27d52: 0x6c07ba20, + 0x27d54: 0x6c794220, 0x27d55: 0x6d105020, 0x27d56: 0x6c8f0820, 0x27d57: 0x6ca5ee20, + 0x27d58: 0x6d2cca20, 0x27d59: 0x6d1b5c20, 0x27d5a: 0x6ca72820, 0x27d5b: 0x6cad9020, + 0x27d5d: 0x6c458e20, 0x27d5e: 0x6c109e20, 0x27d5f: 0x6c512e20, + 0x27d60: 0x6cc71220, 0x27d61: 0x6c4b5020, + 0x27d65: 0x6c09b620, 0x27d66: 0x6cf63020, 0x27d67: 0x6c712a20, + 0x27d68: 0x6c5cf420, 0x27d69: 0x6c09e420, 0x27d6b: 0x6ce56420, + 0x27d6c: 0x6d332820, 0x27d6f: 0x6d181020, + 0x27d70: 0x6c22d220, 0x27d72: 0x6c0e2620, + 0x27d77: 0x6c459c20, + 0x27d7a: 0x6c381a20, + 0x27d7d: 0x6d0fce20, 0x27d7e: 0x6d064820, + // Block 0x9f6, offset 0x27d80 + 0x27d81: 0x6c52b620, + 0x27d84: 0x6d2a0a20, 0x27d85: 0x6c148420, 0x27d86: 0x6c537620, + 0x27d88: 0x6ce4b820, + 0x27d8c: 0x6d340a20, 0x27d8d: 0x6d039220, 0x27d8e: 0x6d062220, + 0x27d91: 0x6d325820, + 0x27d94: 0x6ced4020, + 0x27d98: 0x6c75dc20, + 0x27d9d: 0x6cf30c20, + 0x27da0: 0x6c92c220, 0x27da2: 0x6d32f220, 0x27da3: 0x6cc71a20, + 0x27da4: 0x6c1a3c20, 0x27da5: 0x6c3ee620, 0x27da7: 0x6c369820, + 0x27da8: 0x6ce1e620, 0x27da9: 0x6ce12e20, 0x27dab: 0x6c730020, + 0x27dac: 0x6c17c020, 0x27dad: 0x6cde9620, 0x27dae: 0x6c2c0420, + 0x27db0: 0x6d3fc020, 0x27db3: 0x6c794c20, + 0x27db4: 0x6ce99820, 0x27db6: 0x6c794e20, + // Block 0x9f7, offset 0x27dc0 + 0x27dc5: 0x6cc71c20, 0x27dc6: 0x6d276420, 0x27dc7: 0x6c517a20, + 0x27dc8: 0x6d400820, 0x27dc9: 0x6c235e20, 0x27dca: 0x6cbfcc20, + 0x27dce: 0x6ca2b420, 0x27dcf: 0x6c346420, + 0x27dd0: 0x6d065a20, 0x27dd1: 0x6c795620, 0x27dd2: 0x6cfd1220, + 0x27ddb: 0x6c31ba20, + 0x27ddc: 0x6c76ee20, 0x27dde: 0x6d1bf020, + 0x27de2: 0x6d3e9620, + 0x27de7: 0x6c5a0620, + 0x27de9: 0x6caed020, 0x27deb: 0x6c86ae20, + 0x27ded: 0x6c0f8220, 0x27dee: 0x6c444420, 0x27def: 0x6c716620, + 0x27df0: 0x6c783420, 0x27df2: 0x6c55ce20, 0x27df3: 0x6d115820, + 0x27df4: 0x6ce14820, 0x27df6: 0x6cbf7020, 0x27df7: 0x6cc72820, + 0x27df8: 0x6c8f1e20, 0x27df9: 0x6c5c5e20, 0x27dfa: 0x6c5f6220, + // Block 0x9f8, offset 0x27e00 + 0x27e09: 0x6d371a20, 0x27e0b: 0x6ce15220, + 0x27e0c: 0x6d355c20, 0x27e0d: 0x6c775e20, + 0x27e14: 0x6d107220, 0x27e16: 0x6ce18420, 0x27e17: 0x6c52d820, + 0x27e1b: 0x6c897820, + 0x27e1d: 0x6c12a020, + 0x27e21: 0x6ca3aa20, 0x27e22: 0x6d400e20, + 0x27e24: 0x6c2af420, 0x27e26: 0x6c68a220, 0x27e27: 0x6caeec20, + 0x27e29: 0x6c49fa20, 0x27e2a: 0x6c377420, 0x27e2b: 0x6c670620, + 0x27e2c: 0x6c69d220, 0x27e2d: 0x6caaca20, 0x27e2e: 0x6d2a6220, + 0x27e33: 0x6caef620, + 0x27e34: 0x6c292020, 0x27e36: 0x6cc1f620, 0x27e37: 0x6c889620, + 0x27e38: 0x6ca2be20, 0x27e39: 0x6c805220, + 0x27e3e: 0x6c3baa20, + // Block 0x9f9, offset 0x27e40 + 0x27e42: 0x6c5d0e20, + 0x27e46: 0x6c7bb420, + 0x27e48: 0x6d1b2a20, 0x27e49: 0x6cd69c20, 0x27e4a: 0x6c671e20, + 0x27e52: 0x6c964420, + 0x27e54: 0x6c933c20, + 0x27e5a: 0x6c446a20, 0x27e5b: 0x6cc51220, + 0x27e5e: 0x6cb22e20, + 0x27e60: 0x6c900a20, + 0x27e64: 0x6d320c20, 0x27e65: 0x6cfd4c20, + 0x27e68: 0x6c8c8e20, 0x27e69: 0x6c88aa20, 0x27e6a: 0x6ccd2420, 0x27e6b: 0x6c0fd420, + 0x27e6c: 0x6c87a820, + 0x27e73: 0x6d013a20, + 0x27e74: 0x6c446e20, 0x27e75: 0x6c9fe020, 0x27e76: 0x6c88ae20, + 0x27e79: 0x6c753c20, 0x27e7a: 0x6d38c820, + 0x27e7f: 0x6c784820, + // Block 0x9fa, offset 0x27e80 + 0x27e81: 0x6c2f2a20, 0x27e83: 0x6d30ce20, + 0x27e85: 0x6cd4ac20, 0x27e86: 0x6c5e9020, 0x27e87: 0x6c8f7c20, + 0x27e88: 0x6c49ea20, 0x27e89: 0x6d2a5620, 0x27e8a: 0x6cfd4420, 0x27e8b: 0x6cb8ae20, + 0x27e8d: 0x6ccfd820, + 0x27e90: 0x6d1ae020, 0x27e91: 0x6c6be420, + 0x27e94: 0x6ccffe20, 0x27e95: 0x6cd00020, 0x27e96: 0x6cc95220, + 0x27e9b: 0x6cf8c020, + 0x27ea1: 0x6c7aac20, 0x27ea3: 0x6cc1c620, + 0x27ea5: 0x6c443e20, 0x27ea6: 0x6c050820, + 0x27ea8: 0x6c0a7c20, 0x27ea9: 0x6cb92e20, + 0x27eb0: 0x6c0d6420, 0x27eb1: 0x6c050a20, 0x27eb3: 0x6d42ae20, + 0x27eb4: 0x6cb0d020, 0x27eb6: 0x6c5e3620, + 0x27ebe: 0x6c051020, + // Block 0x9fb, offset 0x27ec0 + 0x27eca: 0x6ca9d820, + 0x27ecc: 0x6c18fc20, 0x27ece: 0x6cae4e20, + 0x27ed1: 0x6c3f2e20, 0x27ed2: 0x6ce88220, + 0x27edc: 0x6cb04e20, 0x27edd: 0x6cb36420, + 0x27ee0: 0x6c1b7420, 0x27ee3: 0x6d093e20, + 0x27ee4: 0x6cb74020, 0x27ee5: 0x6cf4b220, + 0x27ee8: 0x6d357e20, 0x27ee9: 0x6c2c1c20, 0x27eea: 0x6c22fe20, 0x27eeb: 0x6d1ef420, + 0x27ef9: 0x6c230020, + 0x27efc: 0x6c2c1e20, 0x27efd: 0x6d3d2620, 0x27eff: 0x6d408020, + // Block 0x9fc, offset 0x27f00 + 0x27f00: 0x6c238c20, 0x27f03: 0x6caca820, + 0x27f04: 0x6d0d4c20, 0x27f05: 0x6cb74e20, 0x27f06: 0x6cc6fa20, 0x27f07: 0x6c63a420, + 0x27f09: 0x6d359220, 0x27f0a: 0x6cc00e20, 0x27f0b: 0x6d268a20, + 0x27f0d: 0x6cd32420, + 0x27f11: 0x6c4fc020, + 0x27f19: 0x6ceab220, + 0x27f1c: 0x6c0cde20, 0x27f1e: 0x6c770020, + 0x27f22: 0x6c21aa20, + 0x27f24: 0x6c229020, 0x27f26: 0x6d1ad020, 0x27f27: 0x6cd34c20, + 0x27f28: 0x6ca3b820, 0x27f29: 0x6cc85820, 0x27f2b: 0x6d0f9e20, + 0x27f2c: 0x6c1a9820, 0x27f2e: 0x6c21f820, + 0x27f31: 0x6c457620, 0x27f32: 0x6c9c4220, + 0x27f34: 0x6c612e20, + 0x27f3c: 0x6c44b220, 0x27f3d: 0x6d2a6c20, + // Block 0x9fd, offset 0x27f40 + 0x27f41: 0x6c081420, + 0x27f47: 0x6d030c20, + 0x27f48: 0x6c7df020, 0x27f4a: 0x6c2e8e20, + 0x27f4d: 0x6ce66a20, + 0x27f5a: 0x6cd71c20, + 0x27f5e: 0x6c275620, + 0x27f66: 0x6c851020, + 0x27f68: 0x6d1e2820, 0x27f69: 0x6c684220, + 0x27f6c: 0x6cde0420, 0x27f6d: 0x6cc24620, 0x27f6e: 0x6d1a6020, 0x27f6f: 0x6d24e820, + 0x27f70: 0x6c6abc20, 0x27f72: 0x6cb8da20, 0x27f73: 0x6d10a020, + 0x27f74: 0x6d0ba620, 0x27f77: 0x6cbe4a20, + 0x27f7f: 0x6cadd420, + // Block 0x9fe, offset 0x27f80 + 0x27f97: 0x6c635820, + 0x27f99: 0x6ce82c20, 0x27f9b: 0x6ce2ec20, + 0x27fa1: 0x6c33f620, 0x27fa2: 0x6c15ba20, 0x27fa3: 0x6c636820, + 0x27fa4: 0x6c1c2820, 0x27fa5: 0x6c64aa20, 0x27fa6: 0x6cd5e020, + 0x27faf: 0x6cde5a20, + // Block 0x9ff, offset 0x27fc0 + 0x27fd5: 0x6d33ea20, 0x27fd7: 0x6d256e20, + 0x27fda: 0x6c54d420, + 0x27fdc: 0x6c8b1220, + 0x27fe0: 0x6d2ad420, 0x27fe2: 0x6c1f5e20, + 0x27fe6: 0x6cc0ba20, 0x27fe7: 0x6c07fa20, + 0x27ff9: 0x6c588620, 0x27ffa: 0x6c7aca20, 0x27ffb: 0x6cd10c20, + 0x27ffd: 0x6c6afe20, 0x27fff: 0x6cee2c20, + // Block 0xa00, offset 0x28000 + 0x28003: 0x6c54de20, + 0x2800a: 0x6d2ae620, 0x2800b: 0x6d297020, + 0x2800c: 0x6d106420, 0x2800e: 0x6c1bba20, 0x2800f: 0x6c701220, + 0x2801a: 0x6c89fe20, 0x2801b: 0x6d209620, + 0x28020: 0x6c0b4a20, 0x28022: 0x6c7bc820, + 0x2802c: 0x6c1e4a20, 0x2802d: 0x6d0b3620, 0x2802e: 0x6d3d8620, + 0x28030: 0x6cbcda20, 0x28031: 0x6cfcf020, 0x28033: 0x6d250620, + 0x28034: 0x6cf46e20, 0x28035: 0x6c693620, 0x28036: 0x6cfe5020, 0x28037: 0x6ccc7420, + 0x28039: 0x6d36cc20, + 0x2803c: 0x6c1d5a20, 0x2803e: 0x6c0b0620, 0x2803f: 0x6ceeb820, + // Block 0xa01, offset 0x28040 + 0x28053: 0x6c2a3220, + 0x2805d: 0x6d23d820, 0x2805e: 0x6ce9b820, + 0x28061: 0x6c17c220, + 0x28065: 0x6c5c4420, 0x28066: 0x6cba2620, + 0x28068: 0x6cf01a20, + 0x28070: 0x6d1f7420, + 0x2807c: 0x6c2ca020, 0x2807e: 0x6c26f620, + // Block 0xa02, offset 0x28080 + 0x28081: 0x6d1f7620, 0x28082: 0x6c702620, 0x28083: 0x6ce9bc20, + 0x28084: 0x6d297620, 0x28087: 0x6c5c6020, + 0x28089: 0x6ccc8220, + 0x2808c: 0x6c5e1020, + 0x28094: 0x6d115a20, + 0x28099: 0x6cfd1e20, + 0x2809e: 0x6cfd2020, + 0x280ac: 0x6c2caa20, 0x280ae: 0x6c703220, + 0x280b2: 0x6c5c7420, + 0x280b4: 0x6c77cc20, 0x280b5: 0x6d1f8420, + 0x280b8: 0x6c870e20, + 0x280bc: 0x6c201420, 0x280be: 0x6c1b6820, + // Block 0xa03, offset 0x280c0 + 0x280c0: 0x6c5e3820, 0x280c2: 0x6d1f9020, + 0x280c4: 0x6d270e20, + 0x280ce: 0x6cded820, 0x280cf: 0x6d29b420, + 0x280d3: 0x6ca8ac20, + 0x280d4: 0x6d3b4a20, + 0x280e1: 0x6cfc6220, + 0x280e9: 0x6cd22a20, 0x280eb: 0x6c79ca20, + 0x280ec: 0x6cb6c620, 0x280ed: 0x6ce91420, 0x280ee: 0x6c387e20, 0x280ef: 0x6c258e20, + 0x280f2: 0x6cea3820, 0x280f3: 0x6c137420, + 0x280f4: 0x6c110020, 0x280f5: 0x6cfe1420, 0x280f6: 0x6cadfc20, 0x280f7: 0x6c6e0220, + 0x280f8: 0x6cb56a20, 0x280f9: 0x6cceae20, 0x280fa: 0x6ca97420, 0x280fb: 0x6ca30420, + 0x280fd: 0x6cbd5020, + // Block 0xa04, offset 0x28100 + 0x2810d: 0x6c090c20, + 0x28113: 0x6c092420, + 0x28114: 0x6c05a220, 0x28115: 0x6c0b7620, 0x28116: 0x6d3e0220, 0x28117: 0x6ca30a20, + 0x28118: 0x6cf07020, 0x28119: 0x6c4fbe20, + 0x28121: 0x6c6c8220, 0x28123: 0x6d333c20, + 0x28127: 0x6cbc8220, + 0x2812e: 0x6c501620, 0x2812f: 0x6ce71e20, + 0x28130: 0x6d2a4020, 0x28131: 0x6cd15420, 0x28132: 0x6c25a420, 0x28133: 0x6c597e20, + 0x28134: 0x6cc78e20, 0x28135: 0x6d292e20, 0x28136: 0x6ca6f820, + 0x2813e: 0x6cfa8620, + // Block 0xa05, offset 0x28140 + 0x28148: 0x6cc2bc20, 0x28149: 0x6c619a20, 0x2814a: 0x6d1a3620, 0x2814b: 0x6c850620, + 0x2814c: 0x6c984620, 0x2814d: 0x6cceca20, 0x2814e: 0x6c4e8e20, 0x2814f: 0x6c260e20, + 0x28150: 0x6c759c20, 0x28151: 0x6c61bc20, 0x28152: 0x6c107820, 0x28153: 0x6c905420, + 0x28154: 0x6c3d2220, 0x28155: 0x6d1f0e20, 0x28156: 0x6c7b1c20, + 0x2815c: 0x6cfe2220, + 0x28161: 0x6d279420, 0x28163: 0x6cbd5e20, + 0x28164: 0x6c5b2c20, 0x28165: 0x6cb42e20, + 0x2816b: 0x6c83b220, + 0x2816c: 0x6cadcc20, 0x2816d: 0x6cd4c620, 0x2816e: 0x6c707620, 0x2816f: 0x6d14e020, + 0x28170: 0x6d32a820, 0x28171: 0x6c1d0e20, 0x28173: 0x6cf77620, + 0x28175: 0x6c561a20, 0x28176: 0x6cc74420, + // Block 0xa06, offset 0x28180 + 0x2818c: 0x6c590c20, 0x2818d: 0x6cbc3c20, 0x2818e: 0x6d33d020, 0x2818f: 0x6d1c6c20, + 0x28190: 0x6cf7e220, 0x28191: 0x6cbb7620, 0x28192: 0x6c61fa20, 0x28193: 0x6d32bc20, + 0x28194: 0x6c59b420, 0x28196: 0x6d210a20, 0x28197: 0x6d405a20, + 0x28198: 0x6c99f420, + 0x2819c: 0x6cd13220, + 0x281a9: 0x6cc2e620, + 0x281b0: 0x6c676020, 0x281b1: 0x6c512020, 0x281b3: 0x6ce75220, + 0x281b4: 0x6c513020, 0x281b5: 0x6cf15220, 0x281b6: 0x6d17cc20, 0x281b7: 0x6cacfe20, + 0x281ba: 0x6cf22620, 0x281bb: 0x6cb99820, + 0x281bc: 0x6c862020, 0x281bd: 0x6d150a20, 0x281be: 0x6c20ac20, 0x281bf: 0x6d06e820, + // Block 0xa07, offset 0x281c0 + 0x281c0: 0x6cefd020, + 0x281c6: 0x6c439420, + 0x281c8: 0x6d226220, 0x281cb: 0x6d2d4420, + 0x281cc: 0x6c41a220, 0x281cd: 0x6cb8f620, 0x281ce: 0x6c773220, 0x281cf: 0x6c840220, + 0x281d0: 0x6cd00220, 0x281d1: 0x6c499220, 0x281d3: 0x6cb17c20, + 0x281d6: 0x6c840420, + 0x281d8: 0x6c562620, 0x281db: 0x6ce8ce20, + 0x281dc: 0x6cd75620, 0x281de: 0x6c56aa20, 0x281df: 0x6c840620, + 0x281e2: 0x6c910a20, + 0x281e6: 0x6c297020, + 0x281e8: 0x6d42a420, 0x281e9: 0x6cccf620, 0x281eb: 0x6ccf6e20, + 0x281ed: 0x6c3cb620, 0x281ee: 0x6c726e20, 0x281ef: 0x6ce76e20, + 0x281f0: 0x6c691a20, 0x281f1: 0x6cbbe620, 0x281f2: 0x6c42d420, 0x281f3: 0x6d3e7020, + 0x281f4: 0x6c59e620, 0x281f5: 0x6ccd0620, + 0x281f8: 0x6cdff620, + // Block 0xa08, offset 0x28200 + 0x2820c: 0x6ceaca20, 0x2820e: 0x6c8e2220, + 0x28210: 0x6c1a2e20, 0x28211: 0x6cf27020, 0x28212: 0x6d425020, 0x28213: 0x6d23da20, + 0x28215: 0x6d3a2220, 0x28217: 0x6cc45420, + 0x28218: 0x6cf80a20, 0x28219: 0x6cc1b620, 0x2821b: 0x6c442820, + 0x28222: 0x6cb52a20, 0x28223: 0x6d05e020, + 0x28228: 0x6c415220, 0x28229: 0x6cc3f820, 0x2822a: 0x6c1ddc20, 0x2822b: 0x6c9b4e20, + 0x28232: 0x6cd02020, 0x28233: 0x6cc1c820, + 0x28236: 0x6cbbb420, 0x28237: 0x6c11b420, + 0x2823a: 0x6c86b020, + 0x2823c: 0x6ceda220, 0x2823d: 0x6c826620, 0x2823e: 0x6d03a820, 0x2823f: 0x6c80ea20, + // Block 0xa09, offset 0x28240 + 0x28242: 0x6cd3ec20, 0x28243: 0x6d330020, + 0x28244: 0x6c38ce20, + 0x2824a: 0x6d371c20, + 0x2824f: 0x6d1aa420, + 0x28251: 0x6c86de20, + 0x28256: 0x6ca08820, 0x28257: 0x6cf04020, + 0x28259: 0x6d1c1020, 0x2825a: 0x6cc4e420, + 0x28260: 0x6cc2a820, + 0x28265: 0x6c95ce20, + 0x28272: 0x6c275820, + 0x28274: 0x6d1b4e20, 0x28275: 0x6c08da20, 0x28276: 0x6c438820, + 0x28278: 0x6cf20a20, 0x28279: 0x6d0d7620, 0x2827a: 0x6c9e1e20, + 0x2827c: 0x6c42a020, 0x2827d: 0x6cc05620, 0x2827e: 0x6d33da20, + // Block 0xa0a, offset 0x28280 + 0x2828b: 0x6c471c20, + 0x2828c: 0x6ce75420, 0x2828e: 0x6c8d1420, 0x2828f: 0x6ce33620, + 0x28290: 0x6c224c20, 0x28291: 0x6d150c20, 0x28292: 0x6c395a20, 0x28293: 0x6cb31220, + 0x28294: 0x6c09b820, 0x28296: 0x6c064e20, + 0x2829f: 0x6cae7620, + 0x282a1: 0x6cdb8420, + 0x282a4: 0x6cd92820, 0x282a5: 0x6cef1a20, 0x282a6: 0x6cff9220, + 0x282ac: 0x6c504c20, 0x282ad: 0x6d0dac20, + 0x282b6: 0x6d152620, 0x282b7: 0x6d2a1e20, + 0x282b8: 0x6d1d0020, 0x282b9: 0x6ca43220, + 0x282bf: 0x6d289620, + // Block 0xa0b, offset 0x282c0 + 0x282c1: 0x6ce50c20, 0x282c2: 0x6cf68a20, 0x282c3: 0x6c69b420, + 0x282c4: 0x6d0cbc20, + 0x282cc: 0x6ca55e20, 0x282cd: 0x6ce07020, 0x282ce: 0x6d0eaa20, 0x282cf: 0x6ce51a20, + 0x282d0: 0x6d36ce20, 0x282d1: 0x6c1d7a20, 0x282d2: 0x6ce23a20, + 0x282d7: 0x6d2cdc20, + 0x282de: 0x6c9e3a20, + 0x282e1: 0x6cf47020, 0x282e2: 0x6d1b0220, 0x282e3: 0x6d0eac20, + 0x282e4: 0x6c81ba20, + 0x282e9: 0x6cb31e20, 0x282eb: 0x6c5d4620, + 0x282ec: 0x6c4d4620, 0x282ed: 0x6ca21a20, 0x282ee: 0x6c236020, + 0x282f1: 0x6c7aae20, 0x282f2: 0x6c1d8420, + 0x282f4: 0x6d1ff020, + 0x282f8: 0x6d3da020, 0x282fb: 0x6cd9e420, + // Block 0xa0c, offset 0x28300 + 0x28302: 0x6d1b7e20, + 0x28305: 0x6d41da20, 0x28306: 0x6cca7420, 0x28307: 0x6c8f4a20, + 0x28308: 0x6c4f2020, 0x28309: 0x6cf0ec20, 0x2830a: 0x6c9b6020, 0x2830b: 0x6c55d020, + 0x2830c: 0x6c86b220, 0x2830e: 0x6c9d9c20, + 0x28310: 0x6c054020, 0x28311: 0x6c65f020, + 0x2831c: 0x6cc40620, + 0x28320: 0x6c9b6220, 0x28322: 0x6ca21c20, 0x28323: 0x6c53ac20, + 0x28324: 0x6c56d820, 0x28325: 0x6c9c8e20, 0x28326: 0x6ccca820, + 0x28329: 0x6cce2620, 0x2832a: 0x6c17c620, + 0x2832c: 0x6d3dc220, 0x2832e: 0x6d342220, 0x2832f: 0x6ca77020, + 0x28335: 0x6c62b220, + 0x28338: 0x6c784020, 0x28339: 0x6d330620, + 0x2833f: 0x6c281420, + // Block 0xa0d, offset 0x28340 + 0x28340: 0x6c8a8220, 0x28341: 0x6d2e3020, 0x28342: 0x6c460620, 0x28343: 0x6c818c20, + 0x28344: 0x6c571e20, 0x28345: 0x6c1fd220, 0x28347: 0x6c660c20, + 0x28348: 0x6c7d3220, + 0x2834d: 0x6ccf0220, + 0x28354: 0x6c191c20, 0x28355: 0x6ce08820, 0x28357: 0x6c55f820, + 0x28358: 0x6c9b9e20, 0x28359: 0x6cada420, 0x2835a: 0x6d2e3820, 0x2835b: 0x6c16d620, + 0x2835d: 0x6c41f820, + 0x28360: 0x6d193a20, 0x28362: 0x6cdcb620, + 0x28366: 0x6d076420, 0x28367: 0x6c62de20, + 0x28368: 0x6c808e20, + 0x2836c: 0x6d159620, 0x2836f: 0x6c9dae20, + 0x28371: 0x6c9f1420, + 0x28375: 0x6c24a620, + 0x28378: 0x6c805a20, 0x2837b: 0x6d0c4e20, + 0x2837e: 0x6c9ccc20, + // Block 0xa0e, offset 0x28380 + 0x28382: 0x6d1e6820, 0x28383: 0x6c125420, + 0x28384: 0x6c664420, 0x28387: 0x6cda0a20, + 0x2838e: 0x6d0d2a20, + 0x28391: 0x6c736020, + 0x28395: 0x6c369c20, + 0x28398: 0x6c3bf220, 0x2839a: 0x6c3bf620, + 0x283a1: 0x6c4a2a20, 0x283a2: 0x6c96fc20, + 0x283a4: 0x6c8ab820, + 0x283a9: 0x6c1cca20, 0x283ab: 0x6c840820, + 0x283b1: 0x6d349c20, + 0x283b4: 0x6d024820, 0x283b7: 0x6c1dfc20, + 0x283b9: 0x6c60fc20, + 0x283bd: 0x6caf5c20, + // Block 0xa0f, offset 0x283c0 + 0x283c2: 0x6c6abe20, + 0x283c7: 0x6d38e420, + 0x283cd: 0x6d046c20, + 0x283d1: 0x6c7bfc20, + 0x283d9: 0x6c6e2220, 0x283db: 0x6c56a020, + 0x283de: 0x6cb99c20, + 0x283e3: 0x6c133220, + 0x283e6: 0x6cb60420, 0x283e7: 0x6ced3220, + 0x283e8: 0x6c98ec20, 0x283ea: 0x6c30f020, + 0x283f4: 0x6c79d220, 0x283f6: 0x6c277c20, + 0x283f8: 0x6ca4b420, 0x283fa: 0x6c536a20, + // Block 0xa10, offset 0x28400 + 0x28402: 0x6c7f4020, 0x28403: 0x6c34aa20, + 0x28404: 0x6cb91020, 0x28406: 0x6d1a8820, + 0x28416: 0x6c911220, 0x28417: 0x6c5ae020, + 0x2841b: 0x6c402e20, + 0x2841c: 0x6c98f420, 0x2841e: 0x6d389a20, + 0x28421: 0x6d1dfa20, + 0x2842d: 0x6c817020, 0x2842e: 0x6c609c20, 0x2842f: 0x6d186a20, + 0x28430: 0x6c8e8c20, 0x28431: 0x6c235220, 0x28433: 0x6ca43c20, + // Block 0xa11, offset 0x28440 + 0x28450: 0x6cea2620, 0x28451: 0x6cfe5220, + 0x28455: 0x6c0bba20, 0x28456: 0x6c207820, 0x28457: 0x6cf52020, + 0x28459: 0x6c70c620, + 0x28465: 0x6d005220, 0x28466: 0x6caf9220, 0x28467: 0x6d3da220, + 0x28468: 0x6cc8e420, 0x2846a: 0x6ccafa20, 0x2846b: 0x6d3f6220, + 0x2846d: 0x6d336220, + 0x28470: 0x6d40da20, 0x28471: 0x6cc14220, 0x28473: 0x6c1c7a20, + 0x28475: 0x6d36f020, + // Block 0xa12, offset 0x28480 + 0x28497: 0x6cc37a20, + 0x28498: 0x6cb92020, 0x28499: 0x6d0afc20, 0x2849a: 0x6c17c420, 0x2849b: 0x6c517c20, + 0x2849c: 0x6cc80420, + 0x284a0: 0x6c70cc20, 0x284a1: 0x6cf52820, + 0x284ac: 0x6c1c7c20, 0x284ad: 0x6c7c0420, 0x284af: 0x6c240020, + 0x284b0: 0x6cc89220, 0x284b1: 0x6c7e1e20, 0x284b2: 0x6c1b5e20, 0x284b3: 0x6d40e420, + 0x284b4: 0x6c688620, 0x284b6: 0x6d21c420, 0x284b7: 0x6ce8fe20, + 0x284b8: 0x6c9b6420, 0x284b9: 0x6c266c20, 0x284ba: 0x6cd7a020, + // Block 0xa13, offset 0x284c0 + 0x284e5: 0x6c3c6c20, 0x284e6: 0x6c469020, 0x284e7: 0x6c301c20, + 0x284e8: 0x6c142220, 0x284e9: 0x6c99be20, 0x284ea: 0x6c15e820, 0x284eb: 0x6c0b1020, + 0x284ec: 0x6d241e20, 0x284ef: 0x6cecea20, + 0x284f0: 0x6d40e620, 0x284f2: 0x6d3ea420, + 0x284f4: 0x6c1fec20, 0x284f5: 0x6ced5620, 0x284f6: 0x6cebf420, + 0x284f8: 0x6cc2a620, 0x284fb: 0x6ced5820, + 0x284fd: 0x6cfa5020, + // Block 0xa14, offset 0x28500 + 0x28504: 0x6d1d5620, 0x28505: 0x6c66e820, + 0x28508: 0x6cf04220, 0x28509: 0x6ce39a20, 0x2850a: 0x6ccaca20, + 0x2850c: 0x6cb67a20, 0x2850d: 0x6ccc2020, 0x2850e: 0x6d244220, 0x2850f: 0x6c60e220, + 0x28510: 0x6c314420, 0x28511: 0x6c15f620, 0x28512: 0x6ce96c20, + 0x28515: 0x6c8ec420, 0x28517: 0x6d3cba20, + 0x28533: 0x6cc89420, + 0x28536: 0x6d0eda20, 0x28537: 0x6c47ea20, + 0x28539: 0x6c86e220, 0x2853a: 0x6c13ba20, + 0x2853e: 0x6c2cac20, + // Block 0xa15, offset 0x28540 + 0x28540: 0x6d2e2a20, 0x28541: 0x6cb32220, + 0x28552: 0x6c912620, + 0x28554: 0x6d374c20, + // Block 0xa16, offset 0x28580 + 0x28581: 0x6c888a20, + 0x28585: 0x6c95ca20, + 0x2858d: 0x6c352420, + 0x28590: 0x6c750820, 0x28591: 0x6c873420, 0x28592: 0x6c7ff220, + 0x28594: 0x6cc89620, 0x28595: 0x6c474220, 0x28596: 0x6c155c20, 0x28597: 0x6d060620, + 0x2859a: 0x6d356420, + // Block 0xa17, offset 0x285c0 + 0x285c1: 0x6d097c20, 0x285c2: 0x6c0e9c20, 0x285c3: 0x6c19aa20, + 0x285c5: 0x6d3b4220, 0x285c6: 0x6c522a20, + 0x285c9: 0x6c04ac20, + 0x285d3: 0x6c2f0820, + 0x285d6: 0x6d2e3a20, 0x285d7: 0x6c4ca620, + 0x285da: 0x6c0c5420, 0x285db: 0x6c7ec620, + 0x285fa: 0x6c6c7620, + // Block 0xa18, offset 0x28600 + 0x28602: 0x6c411c20, + 0x28612: 0x6c9c1e20, + 0x28614: 0x6d247e20, + 0x2862a: 0x6cf82a20, + 0x2862c: 0x6cb17820, 0x2862d: 0x6cd85020, + 0x28634: 0x6c2b0020, + 0x28638: 0x6c219e20, 0x28639: 0x6c2bbe20, 0x2863a: 0x6c5fa820, 0x2863b: 0x6c157620, + 0x2863f: 0x6d3dea20, + // Block 0xa19, offset 0x28640 + 0x28653: 0x6c115220, + 0x2865e: 0x6c681620, + 0x28672: 0x6ce80220, + 0x2867d: 0x6c84e820, + // Block 0xa1a, offset 0x28680 + 0x28682: 0x6cba9020, + 0x28686: 0x6c21a020, + 0x2868f: 0x6cdef820, + 0x28691: 0x6c2e5220, 0x28693: 0x6c664820, + 0x2869b: 0x6d356820, + 0x2869c: 0x6c753220, 0x2869e: 0x6ca0a420, + 0x286a0: 0x6c959620, + 0x286a6: 0x6c062420, + 0x286ad: 0x6d415e20, + 0x286b5: 0x6d300820, + 0x286b8: 0x6d220c20, 0x286bb: 0x6c062a20, + 0x286be: 0x6c969420, 0x286bf: 0x6cf85020, + // Block 0xa1b, offset 0x286c0 + 0x286c0: 0x6c567c20, 0x286c1: 0x6d171220, 0x286c2: 0x6c355020, 0x286c3: 0x6c470220, + 0x286c4: 0x6ce89e20, 0x286c5: 0x6d314a20, 0x286c7: 0x6cc07220, + 0x286c8: 0x6cdaba20, 0x286c9: 0x6c89c620, 0x286ca: 0x6cc11a20, 0x286cb: 0x6c8d2620, + 0x286cc: 0x6c499420, 0x286cd: 0x6c80e420, 0x286ce: 0x6ce7dc20, 0x286cf: 0x6c266620, + 0x286d0: 0x6c911e20, 0x286d1: 0x6c5a1220, 0x286d2: 0x6cd47e20, 0x286d3: 0x6c688820, + 0x286d4: 0x6d41f620, 0x286d5: 0x6c411a20, 0x286d6: 0x6cef5220, + 0x286d9: 0x6c7d4e20, 0x286da: 0x6c32bc20, 0x286db: 0x6cd92020, + 0x286dc: 0x6cb5e020, 0x286dd: 0x6d101a20, + 0x286e1: 0x6cd37820, 0x286e3: 0x6c411420, + 0x286e6: 0x6c2a1a20, 0x286e7: 0x6d11b220, + 0x286eb: 0x6cb99e20, + 0x286ed: 0x6cce7220, 0x286ee: 0x6c16ae20, 0x286ef: 0x6ca05020, + 0x286f1: 0x6ca05a20, + 0x286f5: 0x6ca50620, + 0x286f8: 0x6c232220, 0x286fa: 0x6ca84e20, 0x286fb: 0x6d2f6a20, + 0x286fc: 0x6c133420, 0x286ff: 0x6cd92a20, + // Block 0xa1c, offset 0x28700 + 0x28700: 0x6ca85820, 0x28701: 0x6c22dc20, + 0x28704: 0x6c75de20, 0x28706: 0x6cce7e20, + 0x28708: 0x6d3a2420, 0x28709: 0x6c34b020, 0x2870a: 0x6c01ce20, 0x2870b: 0x6c088c20, + 0x2870e: 0x6ce41820, + 0x28710: 0x6cb06a20, 0x28711: 0x6cf9ee20, 0x28712: 0x6cc09420, 0x28713: 0x6cd14e20, + 0x28717: 0x6ce0d820, + 0x2871b: 0x6c978420, + 0x2871c: 0x6cb10420, 0x2871e: 0x6ce43420, 0x2871f: 0x6cc6cc20, + 0x28727: 0x6c237220, + 0x2872a: 0x6c5f7a20, 0x2872b: 0x6c3cc020, + 0x2872c: 0x6cf53c20, 0x2872d: 0x6c69d620, 0x2872e: 0x6c818e20, 0x2872f: 0x6d2ba620, + 0x28730: 0x6caeee20, 0x28731: 0x6c11e420, 0x28733: 0x6ca9de20, + 0x28735: 0x6c160c20, + 0x2873e: 0x6c97a420, 0x2873f: 0x6c4ba820, + // Block 0xa1d, offset 0x28740 + 0x28740: 0x6ca7d820, 0x28741: 0x6c1d0220, 0x28742: 0x6c165820, + 0x28746: 0x6ca48a20, + 0x28749: 0x6cf95c20, 0x2874a: 0x6c6f6620, 0x2874b: 0x6c613020, + 0x2874c: 0x6d323420, + 0x28751: 0x6ce6ca20, + 0x28754: 0x6c9ace20, 0x28755: 0x6d26b220, 0x28757: 0x6d37bc20, + 0x28758: 0x6cea5620, 0x28759: 0x6cc8d220, 0x2875a: 0x6d01ba20, 0x2875b: 0x6cf63420, + 0x2875d: 0x6ce6d220, 0x2875e: 0x6ca99820, + 0x28760: 0x6cee2820, 0x28761: 0x6c64ae20, 0x28763: 0x6c3b3420, + 0x28772: 0x6c0ba620, + 0x28777: 0x6d152820, + 0x2877a: 0x6c2ec420, 0x2877b: 0x6c5ef820, + 0x2877c: 0x6c41de20, 0x2877f: 0x6c64c420, + // Block 0xa1e, offset 0x28780 + 0x28780: 0x6c6ee220, + 0x28786: 0x6c763820, + 0x2878a: 0x6cc3d620, + 0x2878c: 0x6ca40420, 0x2878d: 0x6ca1de20, 0x2878e: 0x6d072220, 0x2878f: 0x6cd96a20, + 0x28790: 0x6cd0c020, 0x28791: 0x6c7bac20, 0x28792: 0x6cc3e620, 0x28793: 0x6cef2820, + 0x28797: 0x6c2eda20, + 0x28798: 0x6ca40a20, 0x2879a: 0x6cc92a20, 0x2879b: 0x6c45a220, + 0x2879c: 0x6c313220, 0x2879e: 0x6ca73020, + 0x287a1: 0x6c175020, 0x287a2: 0x6c515e20, 0x287a3: 0x6d0e9e20, + 0x287a9: 0x6ce8f020, 0x287aa: 0x6c104420, + 0x287ac: 0x6c559e20, 0x287ad: 0x6d1e5820, 0x287af: 0x6cd2d620, + 0x287b0: 0x6c1f7220, + 0x287b9: 0x6cff0e20, 0x287ba: 0x6c9ad620, 0x287bb: 0x6c852a20, + 0x287bc: 0x6ce37220, 0x287be: 0x6c64e620, + // Block 0xa1f, offset 0x287c0 + 0x287c2: 0x6d354e20, 0x287c3: 0x6c487220, + 0x287c4: 0x6c496220, 0x287c6: 0x6cb7cc20, + 0x287c8: 0x6c3a1820, 0x287c9: 0x6d229820, 0x287ca: 0x6d309620, 0x287cb: 0x6cf01c20, + 0x287cc: 0x6c35ba20, 0x287cd: 0x6c14da20, 0x287ce: 0x6cf6e020, + 0x287d0: 0x6c47d420, + 0x287d7: 0x6cc3fa20, + 0x287d8: 0x6c5c4620, 0x287da: 0x6d00f620, 0x287db: 0x6d1bf420, + 0x287dd: 0x6cdeaa20, 0x287de: 0x6cec5820, 0x287df: 0x6c3efe20, + 0x287e0: 0x6c6c0820, 0x287e1: 0x6cb0bc20, + 0x287e5: 0x6cd15020, 0x287e6: 0x6d21c620, 0x287e7: 0x6c7ace20, + 0x287e9: 0x6cb0ca20, 0x287ea: 0x6d010620, 0x287eb: 0x6caaac20, + 0x287ec: 0x6cfd2420, 0x287ed: 0x6c66ea20, 0x287ee: 0x6d074e20, + 0x287f0: 0x6c0a7e20, + 0x287f4: 0x6ca41220, 0x287f6: 0x6c897020, + 0x287f8: 0x6cb13420, + 0x287fc: 0x6c6eb820, + // Block 0xa20, offset 0x28800 + 0x28800: 0x6cde1c20, 0x28801: 0x6d0edc20, 0x28802: 0x6c00f820, + 0x28805: 0x6cff3020, 0x28806: 0x6cbaf420, 0x28807: 0x6cf48620, + 0x28808: 0x6ce15620, 0x2880a: 0x6c75f420, + 0x28810: 0x6c7e2820, + 0x28817: 0x6c813220, + 0x28819: 0x6ca5b020, + 0x2881c: 0x6c314a20, 0x2881d: 0x6cd54620, 0x2881f: 0x6c696220, + 0x28820: 0x6ca89c20, 0x28822: 0x6d21dc20, + 0x28828: 0x6c132020, 0x2882a: 0x6c696420, + 0x2882c: 0x6c57d620, 0x2882d: 0x6cf1c020, 0x2882e: 0x6d127020, 0x2882f: 0x6c35a020, + 0x28830: 0x6c49fe20, 0x28831: 0x6c572020, 0x28832: 0x6c68a620, + 0x2883a: 0x6c835820, + 0x2883c: 0x6cce2820, 0x2883d: 0x6d1e8020, 0x2883f: 0x6c2ac220, + // Block 0xa21, offset 0x28840 + 0x28840: 0x6c493820, 0x28841: 0x6ca97220, 0x28843: 0x6cdcc020, + 0x28844: 0x6cfe6c20, 0x28846: 0x6cc9b420, 0x28847: 0x6c168c20, + 0x2884e: 0x6cc90c20, + 0x28850: 0x6d277020, 0x28852: 0x6c3b4c20, 0x28853: 0x6c672420, + 0x28854: 0x6d076a20, + 0x28858: 0x6cf93020, 0x28859: 0x6cd54a20, + 0x28865: 0x6d013220, 0x28866: 0x6c87ac20, + 0x28869: 0x6ce80420, + 0x2886c: 0x6c9d1020, 0x2886d: 0x6c162020, 0x2886e: 0x6c5d6a20, + 0x28871: 0x6d3bb820, 0x28872: 0x6d273420, + 0x2887b: 0x6c801a20, + 0x2887d: 0x6d0d2c20, 0x2887e: 0x6c29a820, 0x2887f: 0x6cfe1820, + // Block 0xa22, offset 0x28880 + 0x28880: 0x6d267220, 0x28881: 0x6ce6b020, 0x28882: 0x6c07d220, 0x28883: 0x6cca4620, + 0x28884: 0x6cfc9620, 0x28885: 0x6c2e7a20, 0x28886: 0x6cb09c20, 0x28887: 0x6cb11220, + 0x28889: 0x6cde0c20, 0x2888b: 0x6c687220, + 0x2888c: 0x6d126620, 0x2888e: 0x6d271020, + 0x28890: 0x6cc61420, 0x28891: 0x6cbc1820, 0x28892: 0x6cb56220, 0x28893: 0x6c2da620, + 0x28894: 0x6cb56420, 0x28897: 0x6c4e7e20, + 0x28898: 0x6d253220, 0x28899: 0x6d1ee220, 0x2889a: 0x6c5fd020, 0x2889b: 0x6c412820, + 0x2889c: 0x6c4d0620, 0x2889d: 0x6cd30420, 0x2889f: 0x6cc0c820, + 0x288a9: 0x6cf1fa20, + 0x288ac: 0x6d321620, 0x288ad: 0x6cb2f220, 0x288ae: 0x6d0c5e20, 0x288af: 0x6c46e820, + 0x288b0: 0x6c720420, 0x288b1: 0x6ce52e20, + 0x288b7: 0x6c35d820, + 0x288ba: 0x6d0ace20, 0x288bb: 0x6c8c4620, + 0x288bc: 0x6c092620, + // Block 0xa23, offset 0x288c0 + 0x288c0: 0x6d3eea20, 0x288c1: 0x6c530820, 0x288c3: 0x6c347420, + 0x288c5: 0x6c333c20, 0x288c6: 0x6d087220, + 0x288c8: 0x6ccd3020, 0x288ca: 0x6ccd3220, 0x288cb: 0x6d10d220, + 0x288cc: 0x6cc4b020, + 0x288d4: 0x6ceaf820, 0x288d7: 0x6c0dac20, + 0x288d8: 0x6d069e20, 0x288d9: 0x6cea1a20, 0x288da: 0x6c19d220, + 0x288dc: 0x6c30fe20, 0x288dd: 0x6d171420, + 0x288e1: 0x6c180820, + 0x288f5: 0x6c731a20, 0x288f6: 0x6c5eae20, + 0x288f8: 0x6d2fae20, 0x288f9: 0x6c07de20, 0x288fb: 0x6ce4e220, + // Block 0xa24, offset 0x28900 + 0x28900: 0x6cae6420, + 0x28905: 0x6c3fda20, + 0x28916: 0x6ceb7620, + 0x28918: 0x6cfb3e20, 0x28919: 0x6ca69420, 0x2891a: 0x6c8f8620, + 0x2891d: 0x6d3d4220, 0x2891f: 0x6d32c020, + 0x28920: 0x6cd74820, 0x28921: 0x6d3f7c20, 0x28922: 0x6c3c4620, 0x28923: 0x6c32be20, + 0x28924: 0x6cb09420, 0x28925: 0x6d0d7820, 0x28926: 0x6cda1620, 0x28927: 0x6cc05820, + 0x28928: 0x6c362220, 0x28929: 0x6cb98e20, 0x2892b: 0x6cba0620, + 0x2892d: 0x6c10d420, 0x2892e: 0x6d0a8a20, + 0x28935: 0x6d3c8220, + 0x28938: 0x6c993a20, 0x28939: 0x6c68ee20, + 0x2893f: 0x6d2dea20, + // Block 0xa25, offset 0x28940 + 0x28940: 0x6caffa20, 0x28941: 0x6cf63620, 0x28942: 0x6d0e7c20, 0x28943: 0x6c3ab420, + 0x28944: 0x6ca83620, 0x28946: 0x6d364620, + 0x28948: 0x6cdd6a20, 0x2894a: 0x6d17d020, + 0x2894c: 0x6c82c620, 0x2894d: 0x6d06ea20, 0x2894f: 0x6d17d220, + 0x28952: 0x6cee9620, + 0x28955: 0x6c5ede20, 0x28956: 0x6c186e20, 0x28957: 0x6c2eba20, + 0x28963: 0x6d257020, + 0x28965: 0x6cf78020, 0x28967: 0x6c8e6220, + 0x28968: 0x6cdd6c20, + 0x28971: 0x6c07fc20, 0x28972: 0x6cfa4020, 0x28973: 0x6d0e8c20, + 0x28975: 0x6c24d020, 0x28977: 0x6c773420, + 0x2897a: 0x6cbe4e20, 0x2897b: 0x6c909a20, + 0x2897c: 0x6c087e20, + // Block 0xa26, offset 0x28980 + 0x28988: 0x6d2e6a20, 0x28989: 0x6c24ae20, 0x2898a: 0x6cf3e220, 0x2898b: 0x6d05c020, + 0x2898c: 0x6c187e20, 0x2898d: 0x6c4fd820, 0x2898e: 0x6c748820, + 0x28990: 0x6c192e20, 0x28991: 0x6c13fa20, 0x28992: 0x6c15ce20, 0x28993: 0x6d348820, + 0x28994: 0x6d0a2a20, + 0x289a3: 0x6c441a20, + 0x289a4: 0x6c18e220, 0x289a5: 0x6d132020, + 0x289aa: 0x6c1ee820, 0x289ab: 0x6cc1b820, + 0x289ac: 0x6d020620, 0x289ae: 0x6d2e7c20, 0x289af: 0x6c790820, + 0x289b1: 0x6c74ae20, + 0x289bd: 0x6cc1ba20, 0x289bf: 0x6c9b5020, + // Block 0xa27, offset 0x289c0 + 0x289c0: 0x6d134e20, 0x289c1: 0x6d406620, 0x289c2: 0x6cb45620, + 0x289c4: 0x6cd3e420, + 0x289c9: 0x6cd57220, 0x289ca: 0x6c152a20, + 0x289cd: 0x6c31c420, 0x289cf: 0x6c4c4a20, + 0x289d0: 0x6c92fe20, 0x289d1: 0x6d0c3820, + 0x289d6: 0x6ca7ba20, 0x289d7: 0x6c0d6620, + 0x289df: 0x6ce9cc20, + 0x289e6: 0x6ca6dc20, 0x289e7: 0x6c584220, + 0x289e8: 0x6cb9de20, + 0x289ef: 0x6cfa6020, + 0x289f2: 0x6c8dc620, + 0x289f7: 0x6c882820, + 0x289f9: 0x6d186e20, 0x289fb: 0x6c866620, + 0x289fc: 0x6cd8f020, 0x289ff: 0x6c279a20, + // Block 0xa28, offset 0x28a00 + 0x28a02: 0x6cf11620, + 0x28a05: 0x6c22c020, + 0x28a09: 0x6c6fbe20, 0x28a0a: 0x6c534420, + 0x28a0c: 0x6d210e20, 0x28a0e: 0x6c7c6e20, + 0x28a12: 0x6c4f8020, 0x28a13: 0x6c439620, + 0x28a14: 0x6c39e620, 0x28a17: 0x6c7c8020, + 0x28a1a: 0x6c4a6c20, 0x28a1b: 0x6c1bb020, + 0x28a1e: 0x6c6fc220, + 0x28a21: 0x6cdbce20, + 0x28a24: 0x6c2ec620, + 0x28a2c: 0x6cdc0c20, + 0x28a30: 0x6cbd8620, + 0x28a34: 0x6c4a8020, + 0x28a3b: 0x6d3c6620, + 0x28a3e: 0x6ce5de20, + // Block 0xa29, offset 0x28a40 + 0x28a41: 0x6d26d820, + 0x28a47: 0x6d419220, + 0x28a4f: 0x6cf3e820, + 0x28a50: 0x6c250820, + 0x28a5b: 0x6d36d220, + 0x28a60: 0x6cd72e20, 0x28a62: 0x6c301420, + 0x28a6d: 0x6cef3c20, + 0x28a7f: 0x6c1d4220, + // Block 0xa2a, offset 0x28a80 + 0x28a8b: 0x6cc8f420, + 0x28a96: 0x6c60d420, + 0x28a9c: 0x6c2de820, 0x28a9e: 0x6c124020, + 0x28aa0: 0x6c7a0c20, 0x28aa3: 0x6cef5420, + 0x28aa7: 0x6c11bc20, + 0x28aaa: 0x6c968020, 0x28aab: 0x6caba820, + 0x28ab2: 0x6cca3820, + 0x28ab6: 0x6cef6620, + 0x28abc: 0x6cca3e20, 0x28abf: 0x6c6c7020, + // Block 0xa2b, offset 0x28ac0 + 0x28acc: 0x6cef6e20, + 0x28ade: 0x6c115420, 0x28adf: 0x6c84d020, + 0x28aef: 0x6d273a20, + 0x28af4: 0x6d277220, 0x28af7: 0x6c196420, + 0x28afa: 0x6ccce420, + // Block 0xa2c, offset 0x28b00 + 0x28b02: 0x6c54d620, 0x28b03: 0x6ccc9e20, + 0x28b04: 0x6cea5820, 0x28b06: 0x6c3d3020, + 0x28b08: 0x6cbe1820, 0x28b09: 0x6d05ac20, + 0x28b0d: 0x6c1fe620, 0x28b0e: 0x6c400420, + 0x28b12: 0x6d181220, 0x28b13: 0x6c300c20, + 0x28b14: 0x6c3eb420, 0x28b15: 0x6c3eb620, 0x28b16: 0x6d2ad620, 0x28b17: 0x6cb4ae20, + 0x28b19: 0x6c8d2c20, + 0x28b1d: 0x6ccca020, 0x28b1e: 0x6cad9420, + 0x28b22: 0x6d1a8a20, 0x28b23: 0x6c961e20, + 0x28b24: 0x6c57b620, 0x28b25: 0x6d1b6e20, 0x28b26: 0x6c084a20, 0x28b27: 0x6d209820, + 0x28b28: 0x6ccf7020, 0x28b2a: 0x6d01f220, 0x28b2b: 0x6c1ee620, + 0x28b34: 0x6ccf7220, 0x28b35: 0x6c2d7220, + 0x28b39: 0x6d187020, 0x28b3b: 0x6c183a20, + 0x28b3c: 0x6c451c20, 0x28b3d: 0x6c8fa820, 0x28b3e: 0x6cb2ca20, 0x28b3f: 0x6d280220, + // Block 0xa2d, offset 0x28b40 + 0x28b40: 0x6d0eae20, 0x28b41: 0x6ca15a20, 0x28b43: 0x6cdbd820, + 0x28b4b: 0x6c6ea420, + 0x28b4d: 0x6cd99c20, 0x28b4e: 0x6cad0c20, + 0x28b50: 0x6d0b3820, 0x28b51: 0x6ccb5020, 0x28b52: 0x6c34b820, + 0x28b55: 0x6c207a20, 0x28b56: 0x6d022420, + 0x28b58: 0x6ce95a20, 0x28b59: 0x6c45b420, 0x28b5a: 0x6d08b620, + 0x28b5c: 0x6c7e4e20, 0x28b5e: 0x6c8d5e20, + 0x28b60: 0x6c279020, 0x28b61: 0x6d2c5220, + 0x28b6c: 0x6d1a0a20, 0x28b6d: 0x6cd93c20, 0x28b6f: 0x6d229a20, + 0x28b70: 0x6ceb4c20, 0x28b71: 0x6ceb4e20, + 0x28b74: 0x6c03c420, 0x28b75: 0x6cc4d620, 0x28b76: 0x6c0f8420, 0x28b77: 0x6c279c20, + 0x28b79: 0x6d2c5a20, 0x28b7a: 0x6c543a20, + 0x28b7e: 0x6c5b7820, + // Block 0xa2e, offset 0x28b80 + 0x28b85: 0x6c916020, + 0x28b8a: 0x6c8e2820, 0x28b8b: 0x6cc7d620, + 0x28b95: 0x6c28d220, 0x28b96: 0x6c9b6620, 0x28b97: 0x6cfa5820, + 0x28b98: 0x6cf26220, 0x28b99: 0x6c4e4620, 0x28b9a: 0x6d3eb020, 0x28b9b: 0x6d327420, + 0x28b9c: 0x6ccb7c20, 0x28b9d: 0x6c25fa20, 0x28b9e: 0x6c86e420, + 0x28ba0: 0x6c2ce220, 0x28ba1: 0x6c887e20, 0x28ba2: 0x6c46e020, + 0x28ba6: 0x6caee020, + 0x28baa: 0x6d1c0a20, + 0x28bac: 0x6c548420, 0x28bae: 0x6c336c20, 0x28baf: 0x6cf53e20, + 0x28bb7: 0x6cb1be20, + 0x28bb8: 0x6c520020, 0x28bba: 0x6c8fb820, 0x28bbb: 0x6ca18420, + 0x28bbc: 0x6c3a7620, 0x28bbd: 0x6c93be20, 0x28bbe: 0x6d2b2020, 0x28bbf: 0x6c0fae20, + // Block 0xa2f, offset 0x28bc0 + 0x28bc0: 0x6c2d9620, 0x28bc1: 0x6c98aa20, 0x28bc3: 0x6d3c4e20, + 0x28bc4: 0x6c932220, 0x28bc5: 0x6cace820, 0x28bc6: 0x6c337c20, 0x28bc7: 0x6c10ce20, + 0x28bcc: 0x6c189020, 0x28bcd: 0x6c981220, + 0x28bd6: 0x6cf72420, + 0x28bdd: 0x6c019a20, 0x28bde: 0x6d37dc20, + 0x28be0: 0x6ca44a20, 0x28be1: 0x6cebba20, 0x28be2: 0x6c519c20, + 0x28be5: 0x6c338220, 0x28be6: 0x6ceca020, 0x28be7: 0x6d37de20, + 0x28be8: 0x6c133e20, 0x28be9: 0x6c873620, 0x28bea: 0x6cd6aa20, + 0x28bee: 0x6c134020, + 0x28bf0: 0x6cd84a20, 0x28bf2: 0x6c338420, + 0x28bf4: 0x6c5cdc20, + 0x28bfc: 0x6c654220, 0x28bfd: 0x6ca9e220, 0x28bfe: 0x6c28ea20, 0x28bff: 0x6c409820, + // Block 0xa30, offset 0x28c00 + 0x28c00: 0x6c5e4e20, 0x28c01: 0x6c5c9620, 0x28c02: 0x6c228420, + 0x28c04: 0x6d1e6620, 0x28c05: 0x6cc9b620, 0x28c06: 0x6ce6a420, + 0x28c0e: 0x6c8f5a20, + 0x28c11: 0x6cdb8c20, 0x28c12: 0x6c8da220, 0x28c13: 0x6c97a620, + 0x28c14: 0x6c2d9c20, + 0x28c18: 0x6cad4020, 0x28c1a: 0x6c8da420, + 0x28c1d: 0x6c878620, 0x28c1f: 0x6caa1020, + 0x28c23: 0x6c8b7820, + 0x28c24: 0x6ccd6220, 0x28c26: 0x6c3afe20, + 0x28c2b: 0x6ccd6420, + 0x28c2e: 0x6c8db820, 0x28c2f: 0x6d2eaa20, + 0x28c31: 0x6c0d7820, 0x28c32: 0x6c84dc20, + 0x28c35: 0x6cd86420, 0x28c36: 0x6cc4fc20, 0x28c37: 0x6c655820, + 0x28c38: 0x6d3df020, 0x28c3b: 0x6c8dbe20, + 0x28c3c: 0x6c8dc020, 0x28c3d: 0x6c9c2420, 0x28c3f: 0x6cd6c820, + // Block 0xa31, offset 0x28c40 + 0x28c44: 0x6c8dc820, 0x28c47: 0x6c5d5020, + 0x28c4e: 0x6c8dee20, 0x28c4f: 0x6c655e20, + 0x28c50: 0x6cc23a20, + 0x28c54: 0x6ca9ea20, 0x28c55: 0x6c6e7c20, 0x28c56: 0x6c187020, + 0x28c5c: 0x6d318820, 0x28c5d: 0x6cbede20, 0x28c5f: 0x6cbee220, + 0x28c60: 0x6c36c820, 0x28c63: 0x6ccb9420, + 0x28c69: 0x6c071a20, 0x28c6b: 0x6c3a0020, + 0x28c6e: 0x6c3ab620, 0x28c6f: 0x6c3a3820, + 0x28c74: 0x6c399820, 0x28c75: 0x6c7a7c20, + 0x28c7a: 0x6d28c620, 0x28c7b: 0x6c5c2220, + 0x28c7d: 0x6c3a4420, + // Block 0xa32, offset 0x28c80 + 0x28c81: 0x6c338620, + 0x28c86: 0x6cabca20, 0x28c87: 0x6ca99c20, + 0x28c88: 0x6cad2e20, 0x28c89: 0x6c289820, 0x28c8a: 0x6c27e820, 0x28c8b: 0x6c00b220, + 0x28c8d: 0x6ce50e20, 0x28c8e: 0x6c17a420, 0x28c8f: 0x6c02ac20, + 0x28c90: 0x6c9aa020, 0x28c91: 0x6ca43420, + 0x28c94: 0x6c0ff420, 0x28c95: 0x6d23b420, 0x28c96: 0x6cfac420, 0x28c97: 0x6c973a20, + 0x28c9a: 0x6cb26420, + 0x28c9c: 0x6c331020, 0x28c9e: 0x6c2a3020, + 0x28ca1: 0x6d043a20, 0x28ca2: 0x6ca6ce20, 0x28ca3: 0x6c4dba20, + 0x28ca4: 0x6c1f7a20, 0x28ca5: 0x6cd64a20, 0x28ca6: 0x6c97cc20, + 0x28cac: 0x6ceda420, 0x28cad: 0x6d18dc20, 0x28cae: 0x6c2e4820, 0x28caf: 0x6d0c3a20, + 0x28cb1: 0x6cf32420, 0x28cb2: 0x6cdba220, + 0x28cb4: 0x6c019420, 0x28cb5: 0x6c7fd420, 0x28cb6: 0x6ca43e20, + 0x28cb8: 0x6cc0b620, 0x28cb9: 0x6c9e6820, 0x28cba: 0x6caae420, 0x28cbb: 0x6c11c020, + 0x28cbc: 0x6c11e620, + // Block 0xa33, offset 0x28cc0 + 0x28cc0: 0x6c808620, 0x28cc1: 0x6ce52a20, 0x28cc2: 0x6d139220, + 0x28cc4: 0x6ca74e20, 0x28cc6: 0x6cd64e20, + 0x28ccb: 0x6c228620, + 0x28ccd: 0x6c663a20, + 0x28cd0: 0x6c424020, + 0x28cd4: 0x6c673220, 0x28cd5: 0x6c4caa20, 0x28cd7: 0x6d2dd620, + 0x28cd9: 0x6c95dc20, + 0x28cdc: 0x6c5ebc20, 0x28cdd: 0x6c4b5220, + 0x28ce1: 0x6c63d220, 0x28ce2: 0x6c614a20, + 0x28ce5: 0x6d08a020, 0x28ce7: 0x6c3c5a20, + 0x28ceb: 0x6c09ea20, + 0x28cec: 0x6cb60a20, 0x28cef: 0x6d258e20, + 0x28cf0: 0x6c021a20, 0x28cf1: 0x6c2b3820, + 0x28cf4: 0x6c366820, 0x28cf5: 0x6c3b7e20, + 0x28cf8: 0x6c727020, 0x28cf9: 0x6ca64220, 0x28cfa: 0x6ceb3c20, + 0x28cfc: 0x6cd00c20, 0x28cfd: 0x6c3eca20, 0x28cfe: 0x6cf9e420, 0x28cff: 0x6cc1ac20, + // Block 0xa34, offset 0x28d00 + 0x28d00: 0x6cb39a20, 0x28d01: 0x6ced4220, 0x28d02: 0x6c8d4220, 0x28d03: 0x6c96d220, + 0x28d04: 0x6d394020, 0x28d05: 0x6c065c20, 0x28d07: 0x6d23b620, + 0x28d0c: 0x6c082a20, 0x28d0d: 0x6c973c20, 0x28d0f: 0x6c637a20, + 0x28d11: 0x6d102e20, 0x28d13: 0x6c7ade20, + 0x28d14: 0x6c69c020, 0x28d16: 0x6c0df220, + 0x28d1a: 0x6c962420, 0x28d1b: 0x6c4b1820, + 0x28d1c: 0x6c351420, 0x28d1d: 0x6d36d420, + 0x28d21: 0x6d326020, 0x28d22: 0x6c369e20, 0x28d23: 0x6d39ca20, + 0x28d24: 0x6c039020, + 0x28d28: 0x6d326220, 0x28d29: 0x6c3c6820, 0x28d2a: 0x6c313820, 0x28d2b: 0x6ca73c20, + 0x28d2c: 0x6c10bc20, 0x28d2d: 0x6c336020, 0x28d2e: 0x6ccc1c20, 0x28d2f: 0x6ccb6820, + 0x28d30: 0x6c0a6220, + 0x28d34: 0x6d36f420, 0x28d35: 0x6d309820, 0x28d36: 0x6c10be20, + 0x28d3a: 0x6c74c420, 0x28d3b: 0x6d0aa820, + 0x28d3f: 0x6cf90020, + // Block 0xa35, offset 0x28d40 + 0x28d41: 0x6d3db820, 0x28d42: 0x6c045a20, 0x28d43: 0x6d115c20, + 0x28d44: 0x6c1e3420, 0x28d45: 0x6cdeb620, 0x28d46: 0x6cb93020, + 0x28d48: 0x6ca53820, 0x28d49: 0x6d242020, 0x28d4a: 0x6c36bc20, 0x28d4b: 0x6c650820, + 0x28d4c: 0x6d18de20, 0x28d4d: 0x6cff2a20, 0x28d4f: 0x6ca88020, + 0x28d52: 0x6c0db620, + 0x28d57: 0x6c4cd420, + 0x28d58: 0x6d010820, 0x28d59: 0x6c2e4a20, + 0x28d5c: 0x6c70d620, 0x28d5d: 0x6cdda420, 0x28d5e: 0x6c2ef420, 0x28d5f: 0x6c3f1420, + 0x28d60: 0x6c9e4420, 0x28d61: 0x6cd3fa20, 0x28d62: 0x6d08c420, 0x28d63: 0x6ce39c20, + 0x28d64: 0x6d244420, 0x28d67: 0x6d011820, + 0x28d68: 0x6c3f1620, 0x28d69: 0x6d373420, 0x28d6a: 0x6ca65a20, 0x28d6b: 0x6d08c620, + 0x28d6c: 0x6d0fe820, 0x28d6e: 0x6c3cd020, 0x28d6f: 0x6d403c20, + 0x28d70: 0x6d395e20, 0x28d71: 0x6d07de20, + 0x28d75: 0x6d39d820, 0x28d77: 0x6c7edc20, + 0x28d79: 0x6d1d5820, 0x28d7a: 0x6c435c20, 0x28d7b: 0x6c7e2c20, + 0x28d7d: 0x6c358820, 0x28d7e: 0x6cef5620, 0x28d7f: 0x6c9a3620, + // Block 0xa36, offset 0x28d80 + 0x28d83: 0x6c57fe20, + 0x28d84: 0x6c1e3820, 0x28d86: 0x6cddb220, 0x28d87: 0x6cdec820, + 0x28d88: 0x6cddb420, 0x28d89: 0x6cdeca20, 0x28d8a: 0x6d097a20, + 0x28d8c: 0x6c460820, 0x28d8d: 0x6c643220, 0x28d8f: 0x6c0fb020, + 0x28d90: 0x6cdecc20, 0x28d91: 0x6d25f620, + 0x28d98: 0x6cdece20, + 0x28d9d: 0x6c20ec20, + 0x28da0: 0x6d047820, 0x28da1: 0x6c519820, 0x28da2: 0x6cdd4820, + 0x28da7: 0x6ca18a20, + 0x28da8: 0x6c1d2c20, 0x28da9: 0x6cdbe420, 0x28daa: 0x6d2b2220, 0x28dab: 0x6c933220, + 0x28dac: 0x6d2eea20, 0x28dad: 0x6c963c20, 0x28dae: 0x6d075820, 0x28daf: 0x6c653a20, + 0x28db0: 0x6ccd2220, 0x28db2: 0x6d075a20, + 0x28dbe: 0x6c67cc20, + // Block 0xa37, offset 0x28dc0 + 0x28dc2: 0x6c067c20, 0x28dc3: 0x6c970c20, + 0x28dc5: 0x6ce7a020, 0x28dc6: 0x6cf92c20, + 0x28dc9: 0x6cc6e620, 0x28dcb: 0x6cd12a20, + 0x28dcc: 0x6d396c20, 0x28dce: 0x6c654420, 0x28dcf: 0x6c409a20, + 0x28dd0: 0x6c2afa20, 0x28dd3: 0x6d1de220, + 0x28dd4: 0x6c70e420, 0x28dd6: 0x6d195e20, 0x28dd7: 0x6c054820, + 0x28dd9: 0x6ccb9620, 0x28dda: 0x6cdcc620, + 0x28ddc: 0x6c346e20, 0x28ddd: 0x6d028420, + 0x28de1: 0x6c58c820, + 0x28de5: 0x6cc80c20, 0x28de6: 0x6ca66c20, 0x28de7: 0x6d397020, + 0x28de8: 0x6c4bac20, 0x28dea: 0x6c964820, + 0x28df2: 0x6d342e20, 0x28df3: 0x6d076c20, + 0x28df5: 0x6d343020, 0x28df7: 0x6c752a20, + 0x28df8: 0x6c70e820, 0x28dfb: 0x6d25da20, + 0x28dfc: 0x6c91a420, 0x28dff: 0x6c0fda20, + // Block 0xa38, offset 0x28e00 + 0x28e02: 0x6cc6ea20, 0x28e03: 0x6d029620, + 0x28e09: 0x6cf83220, 0x28e0a: 0x6c959a20, + 0x28e0e: 0x6c447020, + 0x28e11: 0x6d414620, 0x28e12: 0x6c4eca20, + 0x28e14: 0x6c685620, 0x28e15: 0x6cc95420, 0x28e16: 0x6cbd8a20, 0x28e17: 0x6cc43c20, + 0x28e18: 0x6cad6420, 0x28e19: 0x6d26da20, 0x28e1a: 0x6c182c20, 0x28e1b: 0x6c3ece20, + 0x28e1c: 0x6cadc020, 0x28e1f: 0x6c9aa420, + 0x28e22: 0x6ce1de20, + 0x28e24: 0x6c78f020, 0x28e25: 0x6cf8d420, + 0x28e2b: 0x6c351620, + 0x28e2d: 0x6d187220, + 0x28e30: 0x6cdc7e20, 0x28e32: 0x6cf9f820, 0x28e33: 0x6c730420, + 0x28e35: 0x6cef3e20, 0x28e37: 0x6d18ba20, + 0x28e39: 0x6d242220, 0x28e3b: 0x6c045c20, + 0x28e3c: 0x6ceb5820, 0x28e3d: 0x6cdeb820, 0x28e3e: 0x6cad6e20, + // Block 0xa39, offset 0x28e40 + 0x28e42: 0x6c0dfc20, + 0x28e45: 0x6d286820, 0x28e46: 0x6d286a20, 0x28e47: 0x6c32e220, + 0x28e48: 0x6cc88620, 0x28e49: 0x6cef5820, + 0x28e4f: 0x6cf05020, + 0x28e50: 0x6c4b9820, 0x28e52: 0x6c26d420, 0x28e53: 0x6cfa1420, + 0x28e56: 0x6c5d4a20, 0x28e57: 0x6c733220, + 0x28e58: 0x6cdbe620, 0x28e5a: 0x6cdcbc20, + 0x28e5d: 0x6c90d620, 0x28e5e: 0x6c046420, 0x28e5f: 0x6d246e20, + 0x28e60: 0x6d337420, 0x28e61: 0x6c4ba620, 0x28e63: 0x6c7c5820, + 0x28e64: 0x6c42f220, 0x28e65: 0x6c281620, + 0x28e69: 0x6cfc5a20, 0x28e6a: 0x6d2d2420, 0x28e6b: 0x6ccb9820, + 0x28e6d: 0x6c784620, 0x28e6e: 0x6c105020, 0x28e6f: 0x6c0fce20, + 0x28e72: 0x6cdcc820, + 0x28e74: 0x6d249420, 0x28e75: 0x6c105220, 0x28e76: 0x6c6f9220, 0x28e77: 0x6c6f9420, + 0x28e79: 0x6c73aa20, 0x28e7a: 0x6c754220, + 0x28e7c: 0x6ca31620, 0x28e7d: 0x6d2d1c20, 0x28e7e: 0x6ce1ba20, 0x28e7f: 0x6cefec20, + // Block 0xa3a, offset 0x28e80 + 0x28e80: 0x6cf9dc20, 0x28e81: 0x6d01cc20, + 0x28e85: 0x6cc9a620, 0x28e86: 0x6c5f6620, + 0x28e89: 0x6d026a20, + 0x28e8c: 0x6c338c20, 0x28e8d: 0x6d3f2620, + 0x28e98: 0x6d25ee20, 0x28e99: 0x6cbe1e20, 0x28e9a: 0x6c3ed020, 0x28e9b: 0x6caeba20, + 0x28e9c: 0x6cad6620, 0x28e9e: 0x6d1b7620, + 0x28ea0: 0x6c52c220, 0x28ea1: 0x6d40d420, 0x28ea3: 0x6c45a820, + 0x28ea4: 0x6c308820, 0x28ea5: 0x6c50a820, 0x28ea6: 0x6cf31020, + 0x28ea8: 0x6cace220, 0x28eab: 0x6cdb2820, + 0x28eac: 0x6c76f020, 0x28ead: 0x6ca88220, 0x28eae: 0x6c4ffa20, 0x28eaf: 0x6c3cfa20, + 0x28eb0: 0x6c36be20, 0x28eb1: 0x6d137620, + 0x28eb4: 0x6ce69820, 0x28eb5: 0x6c309420, 0x28eb6: 0x6d30ba20, 0x28eb7: 0x6cca7820, + 0x28ebb: 0x6ca18c20, + 0x28ebc: 0x6cdb6020, 0x28ebe: 0x6c823220, + // Block 0xa3b, offset 0x28ec0 + 0x28ec0: 0x6cb4a620, 0x28ec1: 0x6c35a620, 0x28ec2: 0x6d3de220, 0x28ec3: 0x6d139820, + 0x28ec7: 0x6cfda220, + 0x28ec8: 0x6c4a2c20, 0x28ec9: 0x6cc59e20, 0x28eca: 0x6c8dfe20, + 0x28ecd: 0x6c02cc20, + 0x28ed0: 0x6c146820, 0x28ed2: 0x6c345620, 0x28ed3: 0x6cbf3620, + 0x28ed4: 0x6c7a4620, 0x28ed5: 0x6d05b020, 0x28ed6: 0x6c587c20, 0x28ed7: 0x6d10aa20, + 0x28ed8: 0x6d324620, 0x28ed9: 0x6ce6da20, 0x28eda: 0x6c082420, + 0x28edd: 0x6c020220, 0x28edf: 0x6c76b420, + 0x28ee1: 0x6c7a4c20, 0x28ee2: 0x6cadde20, 0x28ee3: 0x6d205220, + 0x28ee4: 0x6c02aa20, 0x28ee5: 0x6c9ad020, 0x28ee6: 0x6ca13620, + 0x28eec: 0x6c3f7220, 0x28eed: 0x6cbe5020, 0x28eee: 0x6c7e8220, 0x28eef: 0x6c30f220, + 0x28ef0: 0x6ce06c20, 0x28ef3: 0x6cba1c20, + 0x28ef4: 0x6d121c20, 0x28ef5: 0x6cf0b620, 0x28ef6: 0x6c558c20, 0x28ef7: 0x6ca14620, + 0x28ef8: 0x6c50a620, 0x28ef9: 0x6d08ac20, 0x28efb: 0x6c0a1220, + 0x28efc: 0x6cb31a20, 0x28efe: 0x6c2b3c20, + // Block 0xa3c, offset 0x28f00 + 0x28f00: 0x6d31f020, 0x28f02: 0x6cd1e420, 0x28f03: 0x6c76e420, + 0x28f04: 0x6c130c20, 0x28f07: 0x6d05c420, + 0x28f08: 0x6d31f220, 0x28f0a: 0x6d3a7820, + 0x28f0f: 0x6c5c2420, + 0x28f10: 0x6c1bc020, 0x28f13: 0x6c53aa20, + 0x28f14: 0x6caa0420, 0x28f15: 0x6ca86a20, 0x28f16: 0x6d0eb020, + 0x28f18: 0x6c1d4020, 0x28f19: 0x6c3f8620, 0x28f1a: 0x6c49f420, 0x28f1b: 0x6cb52c20, + 0x28f1d: 0x6c44a220, 0x28f1e: 0x6ce6e020, + 0x28f22: 0x6ce07220, 0x28f23: 0x6cba2020, + 0x28f26: 0x6c702020, 0x28f27: 0x6d05e220, + 0x28f28: 0x6cb71620, 0x28f2a: 0x6d326420, + 0x28f2e: 0x6cc09c20, + 0x28f30: 0x6c35bc20, 0x28f33: 0x6c5c4c20, + 0x28f34: 0x6c53d820, 0x28f35: 0x6cbeb420, 0x28f37: 0x6c17e020, + 0x28f3a: 0x6c405c20, + 0x28f3c: 0x6c52ce20, 0x28f3d: 0x6cf6e220, 0x28f3e: 0x6cf3ee20, 0x28f3f: 0x6c987820, + // Block 0xa3d, offset 0x28f40 + 0x28f42: 0x6ce2fc20, + 0x28f45: 0x6c52d020, + 0x28f50: 0x6c0f6a20, 0x28f52: 0x6cbde820, 0x28f53: 0x6c44a420, + 0x28f56: 0x6c3f0020, 0x28f57: 0x6c7cde20, + 0x28f5d: 0x6c0cfe20, 0x28f5e: 0x6c6eba20, 0x28f5f: 0x6c76f220, + 0x28f60: 0x6c4a9020, 0x28f62: 0x6c432820, 0x28f63: 0x6d05f420, + 0x28f64: 0x6c01d420, 0x28f65: 0x6d26f420, 0x28f66: 0x6cf53420, 0x28f67: 0x6d157a20, + 0x28f68: 0x6c6dda20, 0x28f6a: 0x6c930220, 0x28f6b: 0x6cc31c20, + 0x28f6c: 0x6ce9c820, 0x28f6e: 0x6c62a420, + 0x28f7a: 0x6c6f3420, 0x28f7b: 0x6c74d420, + 0x28f7c: 0x6cb1d620, 0x28f7d: 0x6c7d8a20, + // Block 0xa3e, offset 0x28f80 + 0x28f80: 0x6cec7420, 0x28f81: 0x6c5c7620, 0x28f82: 0x6c341220, 0x28f83: 0x6d25f420, + 0x28f84: 0x6c6b6a20, 0x28f86: 0x6c4b9020, 0x28f87: 0x6c432e20, + 0x28f88: 0x6cb3b220, 0x28f89: 0x6c9ade20, 0x28f8a: 0x6d3bf020, 0x28f8b: 0x6c4f9c20, + 0x28f94: 0x6d1e0420, 0x28f95: 0x6cc0a420, 0x28f97: 0x6c834e20, + 0x28f98: 0x6c020620, 0x28f99: 0x6cb08020, 0x28f9a: 0x6cf24220, + 0x28f9d: 0x6cbe2a20, 0x28f9f: 0x6cbdee20, + 0x28fa0: 0x6c9f0620, 0x28fa1: 0x6c30d020, 0x28fa2: 0x6c9c9420, 0x28fa3: 0x6d2db820, + 0x28fa5: 0x6cbec020, 0x28fa6: 0x6d158c20, + 0x28fae: 0x6c04aa20, + 0x28fb1: 0x6c730a20, 0x28fb3: 0x6d2b2420, + 0x28fb4: 0x6d075c20, 0x28fb5: 0x6c7ff420, 0x28fb6: 0x6c968220, 0x28fb7: 0x6c968420, + 0x28fb8: 0x6cab6220, 0x28fb9: 0x6c06c020, 0x28fbb: 0x6cb3e820, + 0x28fbc: 0x6d075e20, + // Block 0xa3f, offset 0x28fc0 + 0x28fc0: 0x6c02fe20, + 0x28fc6: 0x6c53ae20, + 0x28fc9: 0x6c53b020, 0x28fca: 0x6d2e3c20, + 0x28fcc: 0x6ccbb620, 0x28fcd: 0x6c433020, 0x28fcf: 0x6cb34420, + 0x28fd0: 0x6c8aae20, + 0x28fd5: 0x6cec7a20, 0x28fd6: 0x6d07f420, + 0x28fdc: 0x6c7cb820, 0x28fdf: 0x6c36ea20, + 0x28fe0: 0x6c4f3e20, 0x28fe1: 0x6ccb9a20, + 0x28fe4: 0x6c28ee20, + 0x28fea: 0x6d07f620, + 0x28fec: 0x6c36f420, 0x28fed: 0x6c415a20, 0x28fef: 0x6c29c820, + 0x28ff1: 0x6c9bfa20, 0x28ff2: 0x6d143e20, 0x28ff3: 0x6ca94e20, + 0x28ff5: 0x6cb23020, + 0x28ff9: 0x6c124620, + 0x28ffe: 0x6d263c20, + // Block 0xa40, offset 0x29000 + 0x29000: 0x6c36fc20, 0x29001: 0x6ca8ca20, + 0x29004: 0x6d1b2e20, 0x29007: 0x6cbbca20, + 0x29009: 0x6c52e220, 0x2900a: 0x6c8dca20, + 0x2900c: 0x6c14e820, 0x2900d: 0x6d1d3020, + 0x29012: 0x6c494820, + 0x29014: 0x6ca7ca20, 0x29015: 0x6d05c620, 0x29016: 0x6cdff820, 0x29017: 0x6c6d6e20, + 0x2901b: 0x6caea620, + 0x2901d: 0x6c89e820, + 0x29020: 0x6c072c20, 0x29023: 0x6d030020, + 0x29024: 0x6cea6020, 0x29025: 0x6c174e20, 0x29026: 0x6c41a420, + 0x29028: 0x6c54e020, 0x29029: 0x6cee2e20, + 0x2902c: 0x6c3eba20, 0x2902d: 0x6cae2220, 0x2902f: 0x6ca4b620, + 0x29030: 0x6d0a1820, 0x29031: 0x6d096c20, + 0x29034: 0x6c8f1220, 0x29035: 0x6c8d4420, 0x29036: 0x6d097020, 0x29037: 0x6cc12e20, + 0x29038: 0x6c4fda20, 0x29039: 0x6d153c20, 0x2903a: 0x6c4ef420, + 0x2903c: 0x6c3ed220, 0x2903d: 0x6c038a20, 0x2903e: 0x6d153e20, + // Block 0xa41, offset 0x29040 + 0x29040: 0x6c0f3820, + 0x29044: 0x6c52c420, 0x29045: 0x6c866a20, + 0x29049: 0x6cc98820, 0x2904a: 0x6cf6b220, + 0x2904e: 0x6cd3ce20, 0x2904f: 0x6cb15e20, + 0x29050: 0x6c57c220, 0x29051: 0x6d155220, 0x29052: 0x6c0f5220, 0x29053: 0x6c0f6c20, + 0x29054: 0x6ca57620, 0x29055: 0x6cc09e20, + 0x29058: 0x6cf01e20, 0x29059: 0x6c184a20, 0x2905a: 0x6d1f7820, + 0x2905c: 0x6cf0dc20, 0x2905d: 0x6c5b6820, 0x2905e: 0x6cc99a20, + 0x29062: 0x6c53da20, 0x29063: 0x6cd9e820, + 0x29064: 0x6c4f1220, 0x29065: 0x6cad6a20, 0x29067: 0x6c39b020, + 0x29069: 0x6c8eae20, 0x2906a: 0x6d395a20, 0x2906b: 0x6cb02a20, + 0x2906d: 0x6c86b620, + 0x29070: 0x6c20e820, 0x29071: 0x6cf6fc20, 0x29072: 0x6d330220, + 0x29074: 0x6c085620, 0x29075: 0x6d333420, 0x29076: 0x6cdc9620, 0x29077: 0x6d0de420, + 0x2907c: 0x6cbe5a20, 0x2907d: 0x6cf53620, 0x2907e: 0x6c89a620, + // Block 0xa42, offset 0x29080 + 0x29080: 0x6d2fe420, 0x29081: 0x6c897220, + 0x29085: 0x6c6a3c20, 0x29087: 0x6c52da20, + 0x29088: 0x6d1ec020, 0x2908a: 0x6c7ea220, 0x2908b: 0x6c548620, + 0x2908d: 0x6d263620, 0x2908e: 0x6c539620, 0x2908f: 0x6d137820, + 0x29091: 0x6d1d1c20, 0x29092: 0x6d086020, 0x29093: 0x6d1f8620, + 0x29098: 0x6cc32020, + 0x2909c: 0x6ce15e20, 0x2909d: 0x6cddb620, 0x2909f: 0x6c871020, + 0x290a0: 0x6cd9fc20, 0x290a1: 0x6c871220, + 0x290a4: 0x6d245420, 0x290a7: 0x6d192020, + 0x290ad: 0x6d051220, 0x290ae: 0x6c028620, 0x290af: 0x6ce97420, + 0x290b0: 0x6cdb6220, 0x290b1: 0x6cd67a20, 0x290b3: 0x6d247020, + 0x290b5: 0x6c3c7a20, + 0x290b9: 0x6cdb6620, 0x290ba: 0x6ce9da20, 0x290bb: 0x6d247220, + 0x290bc: 0x6d331020, 0x290bd: 0x6d331220, 0x290bf: 0x6ce25420, + // Block 0xa43, offset 0x290c0 + 0x290c4: 0x6c8ee020, 0x290c6: 0x6c1a5c20, 0x290c7: 0x6cdc0620, + 0x290c8: 0x6ccad820, + 0x290cf: 0x6c47f420, + 0x290d0: 0x6c3c8a20, 0x290d1: 0x6c8b8420, 0x290d2: 0x6cb17a20, + 0x290d6: 0x6c87b620, + 0x290d8: 0x6c901820, 0x290d9: 0x6c1e7020, 0x290da: 0x6cff6220, 0x290db: 0x6c52e420, + 0x290dc: 0x6d029820, 0x290dd: 0x6ccf9420, + 0x290e0: 0x6c902620, 0x290e1: 0x6c53ea20, 0x290e2: 0x6d083e20, 0x290e3: 0x6c3c9620, + 0x290e5: 0x6c037420, 0x290e6: 0x6c0ecc20, 0x290e7: 0x6ce22620, + 0x290e8: 0x6cdabc20, 0x290e9: 0x6d2fb820, 0x290ea: 0x6c0c0220, 0x290eb: 0x6cd9c420, + 0x290ec: 0x6ce9aa20, 0x290ed: 0x6cdd8820, 0x290ee: 0x6cfefa20, 0x290ef: 0x6c527220, + 0x290f0: 0x6ccac620, 0x290f2: 0x6c3a1020, + 0x290f7: 0x6ca9aa20, + 0x290f8: 0x6c98ac20, + 0x290fd: 0x6c58ca20, 0x290fe: 0x6d343420, + // Block 0xa44, offset 0x29100 + 0x29102: 0x6d171620, + 0x29104: 0x6d22fe20, 0x29107: 0x6d14f020, + 0x29108: 0x6d264e20, 0x29109: 0x6c1b2220, + 0x29115: 0x6d1aea20, 0x29116: 0x6ca9a620, 0x29117: 0x6cc71420, + 0x2911b: 0x6ca34a20, + 0x29123: 0x6ce4a620, + 0x29125: 0x6c035020, + 0x2912a: 0x6c379c20, 0x2912b: 0x6d32dc20, + 0x2912c: 0x6c366a20, 0x2912d: 0x6cb3dc20, 0x2912e: 0x6c5efa20, 0x2912f: 0x6ca5f620, + 0x29131: 0x6c6f2020, 0x29132: 0x6c63d420, + 0x29135: 0x6c41a620, + 0x29139: 0x6c8d2e20, 0x2913b: 0x6d41bc20, + 0x2913e: 0x6c073820, + // Block 0xa45, offset 0x29140 + 0x29145: 0x6cd4f220, 0x29146: 0x6d15fc20, 0x29147: 0x6cabf420, + 0x2914b: 0x6ca50e20, + 0x2914c: 0x6cd3c020, 0x2914e: 0x6c97c620, 0x2914f: 0x6cd3c220, + 0x29151: 0x6ce35e20, + 0x29158: 0x6c45a420, + 0x2915d: 0x6c834420, 0x2915e: 0x6c061020, 0x2915f: 0x6d251020, + 0x29160: 0x6d422820, 0x29161: 0x6c80e620, 0x29162: 0x6d04f220, + 0x29165: 0x6d294220, 0x29166: 0x6c1a8620, 0x29167: 0x6c64e820, + 0x29168: 0x6c99b420, 0x29169: 0x6c63e220, 0x2916a: 0x6d23de20, + 0x2916d: 0x6d23e020, 0x2916e: 0x6d155420, + 0x29172: 0x6c982020, 0x29173: 0x6d294420, + 0x29175: 0x6d3ca820, 0x29176: 0x6ce37620, + 0x29179: 0x6cf8d620, 0x2917a: 0x6c716020, 0x2917b: 0x6d299e20, + 0x2917c: 0x6c92e420, 0x2917d: 0x6ce24420, + // Block 0xa46, offset 0x29180 + 0x29180: 0x6d3cb020, 0x29181: 0x6c8d6020, 0x29183: 0x6c729c20, + 0x29186: 0x6c5f4c20, 0x29187: 0x6c733020, + 0x2918a: 0x6d3e9a20, + 0x2918c: 0x6d265a20, 0x2918d: 0x6c301620, + 0x29192: 0x6ca47020, + 0x29196: 0x6c1d2420, + 0x2919f: 0x6c022020, + 0x291a3: 0x6c44e020, + 0x291a5: 0x6c0e9420, 0x291a6: 0x6c2fbc20, 0x291a7: 0x6cf02220, + 0x291ac: 0x6cc31a20, 0x291ad: 0x6c783a20, + 0x291b0: 0x6cb0cc20, 0x291b1: 0x6c76f420, 0x291b2: 0x6c3f0e20, 0x291b3: 0x6d1e6220, + 0x291b5: 0x6ce96620, 0x291b6: 0x6ce81e20, 0x291b7: 0x6d205a20, + 0x291b8: 0x6d10c020, 0x291ba: 0x6d126c20, + 0x291bd: 0x6d0ed220, + // Block 0xa47, offset 0x291c0 + 0x291c8: 0x6cfbb220, 0x291ca: 0x6ce38e20, + 0x291cc: 0x6cdc9820, + 0x291d0: 0x6c227420, + 0x291d4: 0x6d066220, 0x291d5: 0x6cf53820, 0x291d6: 0x6c117420, 0x291d7: 0x6d242420, + 0x291da: 0x6c15f820, 0x291db: 0x6cfa1020, + 0x291dd: 0x6c77ce20, 0x291de: 0x6c124220, 0x291df: 0x6c13bc20, + 0x291e0: 0x6cc0b420, 0x291e3: 0x6c267220, + 0x291e5: 0x6cdb5620, + 0x291e8: 0x6c571c20, + 0x291f7: 0x6cf38e20, + 0x291f8: 0x6d251a20, + 0x291fd: 0x6c681220, 0x291fe: 0x6cfe0820, 0x291ff: 0x6d2d0620, + // Block 0xa48, offset 0x29200 + 0x29200: 0x6cca3a20, 0x29201: 0x6ca09220, 0x29203: 0x6cce3e20, + 0x29204: 0x6c12a420, 0x29205: 0x6cdbe220, 0x29206: 0x6c208420, 0x29207: 0x6c9c9620, + 0x29208: 0x6d3a3420, 0x29209: 0x6c1d2820, 0x2920a: 0x6c62c220, 0x2920b: 0x6c1d2a20, + 0x29219: 0x6c889020, + 0x2921e: 0x6c4d8020, + 0x29224: 0x6c33c220, 0x29225: 0x6cfe0c20, 0x29226: 0x6c19ae20, 0x29227: 0x6cce4020, + 0x29228: 0x6c873820, 0x29229: 0x6c5a2c20, + 0x2922c: 0x6c2af820, 0x2922f: 0x6c897a20, + 0x29236: 0x6d28a420, + 0x2923a: 0x6c5e4420, 0x2923b: 0x6c8c0420, + 0x2923e: 0x6c31ee20, 0x2923f: 0x6c4f3620, + // Block 0xa49, offset 0x29240 + 0x29240: 0x6d1ddc20, 0x29241: 0x6d263a20, 0x29242: 0x6c4cf420, 0x29243: 0x6c8d9c20, + 0x29245: 0x6c88de20, 0x29247: 0x6c030220, + 0x29248: 0x6c292220, 0x29249: 0x6d194e20, 0x2924a: 0x6ca9e420, 0x2924b: 0x6ccde620, + 0x2924d: 0x6d035c20, + 0x29250: 0x6c26da20, 0x29251: 0x6d247420, 0x29252: 0x6c118220, 0x29253: 0x6cf33420, + 0x29254: 0x6c141420, 0x29255: 0x6c0fca20, 0x29257: 0x6c663020, + 0x2925e: 0x6c9bb820, 0x2925f: 0x6cf05e20, + 0x29260: 0x6ca09e20, + 0x29265: 0x6cd73820, 0x29266: 0x6c6b8220, 0x29267: 0x6cd7b220, + 0x29268: 0x6c5e5420, 0x2926b: 0x6c21ee20, + 0x2926d: 0x6c901420, 0x2926e: 0x6c582420, + 0x29270: 0x6ceada20, 0x29273: 0x6d220620, + 0x29276: 0x6c165a20, 0x29277: 0x6d1dee20, + 0x29278: 0x6c5e5e20, 0x2927a: 0x6c806820, + 0x2927f: 0x6ca30c20, + // Block 0xa4a, offset 0x29280 + 0x29280: 0x6c032220, 0x29281: 0x6c418020, 0x29282: 0x6d15cc20, 0x29283: 0x6c63ac20, + 0x29285: 0x6c269220, 0x29286: 0x6c2fa420, 0x29287: 0x6d0a8220, + 0x29288: 0x6cc59620, 0x29289: 0x6c732020, 0x2928a: 0x6ce94c20, 0x2928b: 0x6d064020, + 0x2928c: 0x6cd99220, 0x2928e: 0x6c128420, 0x2928f: 0x6c198e20, + 0x29291: 0x6c2f7020, + 0x2929a: 0x6c4d2620, + 0x2929f: 0x6cf47220, + 0x292a6: 0x6cb72020, + 0x292a8: 0x6c5f6820, + 0x292ae: 0x6c7cac20, 0x292af: 0x6cef5e20, + 0x292b6: 0x6cd44e20, 0x292b7: 0x6c3f2820, + 0x292b9: 0x6ce97a20, 0x292bb: 0x6c0cf020, + 0x292bd: 0x6cdff020, 0x292be: 0x6c4f5220, 0x292bf: 0x6cb1ce20, + // Block 0xa4b, offset 0x292c0 + 0x292c3: 0x6d217e20, + 0x292c4: 0x6cdffa20, + 0x292cc: 0x6cfd9020, 0x292ce: 0x6d050c20, + 0x292d3: 0x6cf26820, + 0x292d4: 0x6c4d8220, 0x292d5: 0x6caef220, + 0x292dd: 0x6ce04620, 0x292df: 0x6c0d0a20, + 0x292e0: 0x6cfd9e20, 0x292e3: 0x6d162e20, + 0x292e6: 0x6cb19020, 0x292e7: 0x6c586c20, + 0x292e8: 0x6ca24020, 0x292e9: 0x6c035220, 0x292eb: 0x6c396020, + 0x292ef: 0x6c2f6020, + 0x292f7: 0x6c3b3c20, + 0x292fa: 0x6c6bf620, + 0x292fe: 0x6cdd4a20, + // Block 0xa4c, offset 0x29300 + 0x29304: 0x6ced9220, 0x29305: 0x6c43a220, + 0x29308: 0x6c3b3e20, 0x2930a: 0x6ceb4420, + 0x2930c: 0x6cf1a620, 0x2930d: 0x6c487620, 0x2930e: 0x6c343620, + 0x29310: 0x6d308820, 0x29311: 0x6c22a020, 0x29312: 0x6d11ce20, + 0x29314: 0x6c050420, 0x29315: 0x6c10b820, 0x29316: 0x6ca15c20, + 0x29318: 0x6cb35e20, 0x2931b: 0x6c443020, + 0x2931e: 0x6c8e9220, + 0x29321: 0x6cc4d020, + 0x29328: 0x6c41b020, 0x2932a: 0x6c55a220, 0x2932b: 0x6ca1e620, + 0x2932e: 0x6d04f620, 0x2932f: 0x6c59a220, + 0x29330: 0x6c3f0220, 0x29331: 0x6c5b4220, 0x29333: 0x6cc1ca20, + 0x29334: 0x6c6b3e20, 0x29335: 0x6cead220, 0x29336: 0x6d21ac20, 0x29337: 0x6ca16820, + 0x29338: 0x6d38b220, 0x29339: 0x6c702820, 0x2933b: 0x6cd53c20, + 0x2933c: 0x6c7bae20, 0x2933d: 0x6cbf6620, 0x2933e: 0x6c8b2c20, 0x2933f: 0x6c405e20, + // Block 0xa4d, offset 0x29340 + 0x2934a: 0x6d074420, + 0x29356: 0x6c8c6e20, + 0x29358: 0x6ca88420, 0x2935a: 0x6caf9c20, + 0x2935c: 0x6c406e20, 0x2935d: 0x6c10c620, 0x2935e: 0x6d18e020, + 0x29361: 0x6c0f8620, 0x29363: 0x6c358420, + 0x29369: 0x6d30a620, 0x2936b: 0x6c86b820, + 0x2936e: 0x6ce92620, 0x2936f: 0x6c26cc20, + 0x29371: 0x6c931620, 0x29372: 0x6d0c4020, 0x29373: 0x6c301e20, + 0x29374: 0x6cbcfc20, 0x29375: 0x6ced5c20, 0x29376: 0x6ca03c20, 0x29377: 0x6d418020, + 0x29378: 0x6c408420, 0x29379: 0x6cc15620, 0x2937a: 0x6c078e20, 0x2937b: 0x6c02b420, + 0x2937c: 0x6cbaf620, + // Block 0xa4e, offset 0x29380 + 0x29381: 0x6cc44020, + 0x29388: 0x6cc41020, 0x29389: 0x6c576a20, 0x2938a: 0x6cfd2a20, 0x2938b: 0x6c7dd820, + 0x2938f: 0x6c258220, + 0x29392: 0x6d158820, + 0x29396: 0x6c1ae420, 0x29397: 0x6d404020, + 0x29398: 0x6ca52420, 0x29399: 0x6c1a5820, 0x2939a: 0x6c32a820, 0x2939b: 0x6d1e0620, + 0x2939c: 0x6d30e020, 0x2939e: 0x6ce0b020, 0x2939f: 0x6d0ff020, + 0x293a0: 0x6d011e20, 0x293a1: 0x6d07ec20, 0x293a3: 0x6c32e420, + 0x293a4: 0x6cd64c20, 0x293a5: 0x6cfbbe20, 0x293a6: 0x6cfbc020, + 0x293a9: 0x6c359e20, + 0x293b2: 0x6c7e5420, + 0x293b8: 0x6cf10220, 0x293b9: 0x6d1ec820, 0x293ba: 0x6d21e020, + 0x293bd: 0x6ce30420, 0x293bf: 0x6c6c7220, + // Block 0xa4f, offset 0x293c0 + 0x293c1: 0x6ce16420, 0x293c2: 0x6cb69e20, + 0x293c4: 0x6c2cec20, 0x293c5: 0x6ce1fe20, 0x293c6: 0x6c941820, 0x293c7: 0x6d2e9a20, + 0x293c8: 0x6cf17020, 0x293c9: 0x6c62d620, 0x293ca: 0x6c023820, 0x293cb: 0x6cabaa20, + 0x293cc: 0x6cb88420, + 0x293d0: 0x6cd21220, 0x293d1: 0x6cde2420, + 0x293d4: 0x6ca18e20, + 0x293d8: 0x6d1f9220, + 0x293e0: 0x6d2c6a20, 0x293e3: 0x6d117220, + 0x293eb: 0x6c1cfa20, + 0x293ec: 0x6c84b220, 0x293ed: 0x6d21f420, 0x293ee: 0x6c161420, 0x293ef: 0x6d143620, + 0x293f2: 0x6c1c9420, + 0x293f4: 0x6c84b420, + 0x293fd: 0x6ce90a20, 0x293ff: 0x6d40fe20, + // Block 0xa50, offset 0x29400 + 0x29402: 0x6cfbd620, + 0x29407: 0x6cf93620, + 0x29409: 0x6c0d0c20, 0x2940a: 0x6c4e4a20, 0x2940b: 0x6cb6b020, + 0x2940c: 0x6cca7a20, 0x2940e: 0x6c3a2c20, + 0x29410: 0x6ccdea20, + 0x29418: 0x6c584820, + 0x29420: 0x6c059a20, 0x29421: 0x6d220220, 0x29422: 0x6d220420, + 0x29424: 0x6c610420, + 0x29431: 0x6c7b0620, 0x29432: 0x6d3fe420, + 0x29439: 0x6cfd5420, 0x2943a: 0x6c9bc020, + // Block 0xa51, offset 0x29440 + 0x29443: 0x6c87b820, + 0x29444: 0x6d377820, 0x29445: 0x6c38fc20, 0x29446: 0x6c8b8820, 0x29447: 0x6c115620, + 0x29448: 0x6c320a20, 0x29449: 0x6c4a0020, 0x2944a: 0x6d04b020, 0x2944b: 0x6c84ea20, + 0x2944c: 0x6cb80c20, 0x2944f: 0x6c753420, + 0x29450: 0x6ceade20, 0x29452: 0x6c72d220, 0x29453: 0x6cff6420, + 0x29458: 0x6cc23420, + 0x2945c: 0x6d3bba20, + 0x29461: 0x6c754420, + 0x29466: 0x6c6bbc20, + 0x29468: 0x6d390620, 0x29469: 0x6cfc8820, 0x2946a: 0x6c8f7020, 0x2946b: 0x6d100420, + 0x2946c: 0x6cc4b220, 0x2946d: 0x6d16d620, 0x2946e: 0x6c8ae020, 0x2946f: 0x6c0e5620, + 0x29470: 0x6c5ce220, 0x29471: 0x6c61be20, 0x29472: 0x6c306a20, 0x29473: 0x6d386420, + 0x29474: 0x6cc29220, 0x29475: 0x6c6a9c20, + 0x2947a: 0x6c710820, + 0x2947c: 0x6c078620, 0x2947f: 0x6c087620, + // Block 0xa52, offset 0x29480 + 0x29480: 0x6c43fe20, 0x29481: 0x6c217c20, 0x29483: 0x6cb9a220, + 0x29484: 0x6cd9c820, 0x29485: 0x6cf0a020, 0x29486: 0x6c1a1420, 0x29487: 0x6c909020, + 0x29488: 0x6d213e20, 0x29489: 0x6c7e4620, 0x2948a: 0x6cb9a420, 0x2948b: 0x6c2cd220, + 0x2948c: 0x6cde0e20, 0x2948d: 0x6d2e6c20, 0x2948f: 0x6c38b620, + 0x29490: 0x6c8b5620, 0x29491: 0x6ce64420, 0x29492: 0x6c5ebe20, 0x29493: 0x6cb8de20, + 0x29494: 0x6c556820, 0x29497: 0x6d214220, + 0x29498: 0x6cb79c20, 0x29499: 0x6d214420, 0x2949a: 0x6cebe020, + 0x2949c: 0x6c03bc20, 0x2949d: 0x6cb61020, 0x2949e: 0x6cc95620, 0x2949f: 0x6cbb8620, + 0x294a0: 0x6d0bc220, 0x294a1: 0x6cfc1e20, + 0x294a8: 0x6c220820, 0x294a9: 0x6c396220, 0x294ab: 0x6c7dba20, + 0x294ac: 0x6c4be020, 0x294ad: 0x6cc39220, 0x294ae: 0x6c367a20, 0x294af: 0x6cbf4e20, + 0x294b2: 0x6c96d420, 0x294b3: 0x6c7a5820, + 0x294b4: 0x6d11c620, 0x294b7: 0x6cc39420, + 0x294b8: 0x6c1e6420, 0x294b9: 0x6c642c20, 0x294bb: 0x6d3a7a20, + 0x294bd: 0x6c331220, 0x294be: 0x6cec0a20, + // Block 0xa53, offset 0x294c0 + 0x294c0: 0x6ca51220, + 0x294c4: 0x6d0cce20, 0x294c5: 0x6ce78020, + 0x294cb: 0x6d03fe20, + 0x294cc: 0x6c4bee20, 0x294cd: 0x6cb26a20, + 0x294d1: 0x6d229c20, 0x294d2: 0x6c51ec20, + 0x294d4: 0x6d3da420, 0x294d7: 0x6ccf0020, + 0x294d8: 0x6d22a220, 0x294db: 0x6c62a620, + 0x294dd: 0x6cbaea20, 0x294de: 0x6cd73220, 0x294df: 0x6c21de20, + 0x294e0: 0x6d40e820, 0x294e1: 0x6c838e20, 0x294e2: 0x6ca60e20, + 0x294e4: 0x6cebf820, 0x294e5: 0x6d2c5c20, 0x294e7: 0x6c28d420, + 0x294ee: 0x6c328820, 0x294ef: 0x6c0bd020, + 0x294f0: 0x6c6a3e20, 0x294f1: 0x6cb87c20, 0x294f2: 0x6c519020, 0x294f3: 0x6c1d5e20, + 0x294f4: 0x6d0ce620, 0x294f6: 0x6d0ee020, + 0x294fa: 0x6cd94e20, 0x294fb: 0x6ce2c420, + 0x294fc: 0x6d11e020, 0x294fe: 0x6c779620, + // Block 0xa54, offset 0x29500 + 0x29500: 0x6d3c6e20, 0x29501: 0x6c4b9a20, 0x29502: 0x6c005a20, 0x29503: 0x6c4d8420, + 0x29508: 0x6cddb820, 0x29509: 0x6d076020, 0x2950a: 0x6c0c5020, + 0x2950c: 0x6c3cfc20, 0x2950d: 0x6cc15e20, 0x2950e: 0x6c98ae20, + 0x29510: 0x6c4ca020, + 0x29516: 0x6c0ac420, 0x29517: 0x6c751020, + 0x29518: 0x6c208a20, 0x2951b: 0x6cb47420, + 0x2951f: 0x6d195020, + 0x29522: 0x6cb95020, 0x29523: 0x6d196220, + 0x29524: 0x6c36ec20, 0x29525: 0x6c8da620, 0x29527: 0x6c0ace20, + 0x2952d: 0x6c5e5620, 0x2952e: 0x6ca0b620, + 0x29531: 0x6d09ce20, + 0x29534: 0x6d0f1e20, + 0x29538: 0x6c87ba20, 0x2953a: 0x6ce04e20, + 0x2953e: 0x6c947e20, + // Block 0xa55, offset 0x29540 + 0x29540: 0x6c769020, 0x29541: 0x6c99aa20, 0x29542: 0x6cfefc20, + 0x29547: 0x6c007220, + 0x2954a: 0x6cde1420, + 0x2954d: 0x6c9aac20, 0x2954f: 0x6c4c4220, + 0x29553: 0x6c432220, + 0x29554: 0x6ca4c220, 0x29555: 0x6c4ffc20, + 0x29560: 0x6cc39820, + 0x29565: 0x6c12a620, 0x29566: 0x6ccb0a20, + 0x2956b: 0x6cb03c20, + 0x29572: 0x6d006220, 0x29573: 0x6cff6620, + 0x29574: 0x6c712c20, + 0x29579: 0x6c1a2420, 0x2957a: 0x6ca50820, + // Block 0xa56, offset 0x29580 + 0x29580: 0x6ca58e20, + 0x2958d: 0x6ca25220, 0x2958f: 0x6cce8020, + 0x29591: 0x6c2cda20, + 0x29594: 0x6c8d5220, 0x29596: 0x6d31f820, 0x29597: 0x6d11d020, + 0x29599: 0x6c404a20, 0x2959a: 0x6cb9c620, 0x2959b: 0x6cbf5820, + 0x2959c: 0x6c715620, 0x2959d: 0x6c0e2c20, 0x2959e: 0x6c990620, 0x2959f: 0x6d2ce020, + 0x295a0: 0x6cdf0820, + 0x295a4: 0x6c1ce020, + 0x295ab: 0x6d2d3220, + 0x295ad: 0x6cd1f420, 0x295ae: 0x6d1e7c20, + 0x295b0: 0x6cbf6820, 0x295b1: 0x6c2a3820, 0x295b2: 0x6ce42620, 0x295b3: 0x6d3c7820, + 0x295b5: 0x6d1b8020, 0x295b7: 0x6ca51820, + 0x295b8: 0x6c0e9620, 0x295b9: 0x6c7bb220, 0x295ba: 0x6d355220, 0x295bb: 0x6c34ba20, + 0x295bc: 0x6c236220, 0x295bd: 0x6c061620, + // Block 0xa57, offset 0x295c0 + 0x295c7: 0x6c846820, + 0x295ca: 0x6c716c20, 0x295cb: 0x6cf1bc20, + 0x295cc: 0x6c8b3e20, 0x295cf: 0x6cf2c620, + 0x295d0: 0x6cd2de20, 0x295d1: 0x6ca7b620, 0x295d2: 0x6c987c20, 0x295d3: 0x6c6f8c20, + 0x295d8: 0x6d050020, + 0x295dd: 0x6cf2a420, 0x295df: 0x6c2a4020, + 0x295e1: 0x6cf70e20, 0x295e2: 0x6c01e020, 0x295e3: 0x6c26ce20, + 0x295e4: 0x6d401020, 0x295e5: 0x6c4f2a20, 0x295e6: 0x6c20ea20, 0x295e7: 0x6c089820, + 0x295e9: 0x6c309020, 0x295eb: 0x6d2f1220, + 0x295ef: 0x6d0b0220, + 0x295f2: 0x6c2bac20, 0x295f3: 0x6c5d6420, + 0x295f7: 0x6c9f8020, + 0x295fa: 0x6c408820, + 0x295fc: 0x6c061e20, 0x295fd: 0x6c78e420, 0x295fe: 0x6c991020, 0x295ff: 0x6cc55820, + // Block 0xa58, offset 0x29600 + 0x29600: 0x6d3fda20, 0x29601: 0x6cb88020, 0x29602: 0x6cf98020, 0x29603: 0x6cda0220, + 0x29604: 0x6d050e20, 0x29605: 0x6ca36e20, + 0x29609: 0x6c979620, + 0x2960e: 0x6d2c0820, 0x2960f: 0x6c154a20, + 0x29610: 0x6ccf8420, 0x29611: 0x6cf2ca20, + 0x29616: 0x6c005c20, 0x29617: 0x6c059820, + 0x29618: 0x6c4fb820, 0x2961a: 0x6ccad420, 0x2961b: 0x6cddba20, + 0x2961c: 0x6ce44020, 0x2961d: 0x6d0bcc20, 0x2961f: 0x6c0e3a20, + 0x29620: 0x6cc6e420, + 0x2962b: 0x6ccc2c20, + 0x2962c: 0x6cf26a20, 0x2962f: 0x6c028a20, + 0x29631: 0x6d3c2820, 0x29633: 0x6cb1c020, + 0x29634: 0x6cdbe820, 0x29635: 0x6d143820, 0x29636: 0x6cda0420, 0x29637: 0x6c30d220, + 0x29638: 0x6cda0620, 0x29639: 0x6c956e20, + // Block 0xa59, offset 0x29640 + 0x29643: 0x6c3afc20, + 0x29644: 0x6d422220, 0x29646: 0x6ca53c20, 0x29647: 0x6c2ac420, + 0x29648: 0x6d34c220, 0x29649: 0x6c25d020, 0x2964a: 0x6c8a5820, 0x2964b: 0x6c616420, + 0x2964c: 0x6c0ea020, 0x2964d: 0x6c23d020, 0x2964e: 0x6c1a6020, 0x2964f: 0x6c104e20, + 0x29651: 0x6cca1020, 0x29652: 0x6d29be20, + 0x29658: 0x6c69e420, 0x2965b: 0x6d125220, + 0x2965c: 0x6c920620, 0x2965e: 0x6c121420, + 0x29668: 0x6ca67020, + 0x29670: 0x6c6b8820, 0x29671: 0x6cb47c20, 0x29672: 0x6d3c5020, 0x29673: 0x6d29c820, + 0x2967a: 0x6c87c420, + 0x2967d: 0x6c7ed020, + // Block 0xa5a, offset 0x29680 + 0x29680: 0x6c1d0620, 0x29683: 0x6d2eae20, + 0x2968d: 0x6c0bb420, 0x2968e: 0x6cf23220, + 0x29693: 0x6c53de20, + 0x29697: 0x6cb1fc20, + 0x29699: 0x6ccb9e20, + 0x2969e: 0x6ca67220, 0x2969f: 0x6c3b4e20, + 0x296a0: 0x6d065620, 0x296a2: 0x6cd2da20, + 0x296a4: 0x6c72c220, + 0x296a8: 0x6c752420, 0x296aa: 0x6d24a220, + 0x296ac: 0x6c4c2a20, 0x296ad: 0x6c4c3420, 0x296af: 0x6c55a420, + 0x296b2: 0x6c869020, 0x296b3: 0x6d00fa20, + 0x296b4: 0x6c376c20, 0x296b5: 0x6d25b420, 0x296b6: 0x6c4d2e20, + 0x296b9: 0x6c6ebc20, 0x296bb: 0x6c78de20, + 0x296bd: 0x6d3fcc20, 0x296be: 0x6c3ae620, + // Block 0xa5b, offset 0x296c0 + 0x296c0: 0x6cae8820, 0x296c1: 0x6c44e220, 0x296c3: 0x6c652820, + 0x296c4: 0x6ca61220, 0x296c6: 0x6cfbc220, 0x296c7: 0x6c873c20, + 0x296c8: 0x6c17a820, 0x296ca: 0x6c377620, 0x296cb: 0x6c44e820, + 0x296cc: 0x6d247620, 0x296cd: 0x6c560420, 0x296ce: 0x6c3af820, 0x296cf: 0x6c028c20, + 0x296d3: 0x6c37b220, + 0x296d8: 0x6c78ec20, 0x296d9: 0x6c7ab620, 0x296da: 0x6c0fd020, + 0x296dd: 0x6d13a020, 0x296de: 0x6c69e820, + 0x296e6: 0x6c17ae20, 0x296e7: 0x6c44ec20, + 0x296e8: 0x6cc82e20, 0x296ea: 0x6d273c20, + 0x296ec: 0x6c8c1620, + 0x296f1: 0x6d24a620, 0x296f2: 0x6d274820, 0x296f3: 0x6d2d1220, + 0x296f4: 0x6cff6820, 0x296f7: 0x6c9f2420, + 0x296fb: 0x6c4af820, + 0x296fc: 0x6c6f6e20, 0x296fe: 0x6cebaa20, + // Block 0xa5c, offset 0x29700 + 0x29701: 0x6cf78220, 0x29702: 0x6cefd620, 0x29703: 0x6d3d6a20, + 0x29704: 0x6cf0a220, 0x29705: 0x6c7c8420, + 0x29708: 0x6c9a9820, 0x2970a: 0x6c505020, 0x2970b: 0x6c4f5020, + 0x2970c: 0x6c399a20, 0x2970d: 0x6ca96e20, 0x2970e: 0x6d205420, 0x2970f: 0x6c57a420, + 0x29712: 0x6c812420, + 0x29720: 0x6d3a1820, 0x29721: 0x6c4b1620, 0x29722: 0x6c0a1620, 0x29723: 0x6c642e20, + 0x29724: 0x6ce59c20, 0x29726: 0x6c93f020, 0x29727: 0x6c79a220, + 0x29728: 0x6d419420, 0x29729: 0x6c8d4620, 0x2972a: 0x6cb63220, + 0x2972c: 0x6d3a1e20, + 0x29731: 0x6c47ba20, 0x29732: 0x6d413020, + 0x29734: 0x6d0f6620, 0x29735: 0x6cda5620, 0x29737: 0x6c7c9620, + 0x29739: 0x6c167a20, 0x2973b: 0x6d113e20, + 0x2973e: 0x6d23e220, + // Block 0xa5d, offset 0x29740 + 0x29745: 0x6cd50420, 0x29746: 0x6c7f5420, 0x29747: 0x6d187620, + 0x29748: 0x6c30c420, + 0x2974c: 0x6cf3f020, 0x2974d: 0x6d1d1220, 0x2974e: 0x6c3f0420, 0x2974f: 0x6d3be820, + 0x29750: 0x6c3f8a20, 0x29752: 0x6cdb2a20, 0x29753: 0x6c853420, + 0x29754: 0x6d122820, 0x29755: 0x6cea1020, + 0x2975d: 0x6c4b7a20, + 0x29761: 0x6c940020, 0x29762: 0x6d0ed420, 0x29763: 0x6cb66620, + 0x29764: 0x6c813020, 0x29765: 0x6d3a3020, 0x29767: 0x6c4b1e20, + 0x29768: 0x6c551020, + 0x2976f: 0x6c6ddc20, + 0x29772: 0x6c1bc620, + 0x29775: 0x6c717220, 0x29776: 0x6d2c6020, + 0x29778: 0x6c9e8020, + // Block 0xa5e, offset 0x29780 + 0x29780: 0x6d39da20, 0x29781: 0x6c41ba20, 0x29782: 0x6d047620, 0x29783: 0x6c60e620, + 0x29787: 0x6cccaa20, + 0x29788: 0x6c9ab620, 0x29789: 0x6d287420, + 0x2978d: 0x6cd48820, + 0x29790: 0x6c941a20, 0x29791: 0x6d206020, 0x29792: 0x6c681420, 0x29793: 0x6caacc20, + 0x29798: 0x6c72c420, 0x29799: 0x6d206220, + 0x2979c: 0x6d195220, 0x2979d: 0x6ce2ce20, 0x2979e: 0x6cef7220, 0x2979f: 0x6c17f620, + 0x297a0: 0x6c8c8620, 0x297a1: 0x6c483020, 0x297a3: 0x6c875a20, + 0x297a4: 0x6c8ab020, 0x297a7: 0x6c68ac20, + 0x297a8: 0x6d0ff620, 0x297a9: 0x6c0c5e20, 0x297aa: 0x6cb6a220, + 0x297ae: 0x6d196420, + 0x297b1: 0x6c0d7620, 0x297b2: 0x6c9bbc20, 0x297b3: 0x6c145a20, + 0x297b5: 0x6c41be20, + 0x297b9: 0x6cc21c20, 0x297ba: 0x6c2bc020, 0x297bb: 0x6c82a020, + // Block 0xa5f, offset 0x297c0 + 0x297c0: 0x6c8dcc20, + 0x297c4: 0x6c585220, 0x297c5: 0x6cc23220, 0x297c7: 0x6c959c20, + 0x297c9: 0x6c7cc820, + 0x297cd: 0x6cc08020, 0x297ce: 0x6d227620, 0x297cf: 0x6c57a620, + 0x297d3: 0x6c833a20, + 0x297d5: 0x6cc60620, 0x297d6: 0x6cffb620, 0x297d7: 0x6cd8da20, + 0x297da: 0x6c327220, 0x297db: 0x6c0cb420, + 0x297e0: 0x6ca97020, 0x297e2: 0x6c51e020, 0x297e3: 0x6cadc420, + 0x297e5: 0x6c3acc20, 0x297e6: 0x6ca2aa20, + 0x297e9: 0x6c3d9620, + 0x297ec: 0x6c55a820, 0x297ed: 0x6cedec20, 0x297ee: 0x6ccc1420, + 0x297f0: 0x6c687420, 0x297f1: 0x6cf47420, + 0x297f9: 0x6c404c20, + // Block 0xa60, offset 0x29800 + 0x29801: 0x6c0df620, 0x29802: 0x6d3b3020, + 0x29804: 0x6d3a2a20, 0x29805: 0x6c1ada20, 0x29807: 0x6cd07c20, + 0x29808: 0x6c550820, 0x29809: 0x6c101e20, + 0x2980e: 0x6cc4d420, + 0x29816: 0x6ca2b620, + 0x29818: 0x6c869220, 0x2981b: 0x6c638820, + 0x2981e: 0x6c96e020, + 0x29821: 0x6c9b6820, 0x29822: 0x6ca1f020, 0x29823: 0x6d38b820, + 0x29824: 0x6cfc3820, 0x29825: 0x6c5b7420, 0x29826: 0x6c48fc20, 0x29827: 0x6c702c20, + 0x29829: 0x6ca2b820, 0x2982b: 0x6cc82a20, + 0x2982d: 0x6cf3fc20, 0x2982f: 0x6cc7d820, + 0x29831: 0x6d2ce620, + // Block 0xa61, offset 0x29840 + 0x29841: 0x6caae220, 0x29842: 0x6d010a20, + 0x29844: 0x6c680220, + 0x2984b: 0x6c853a20, + 0x2984c: 0x6cd51020, 0x2984d: 0x6d190020, 0x2984e: 0x6c2bae20, 0x2984f: 0x6cbe9220, + 0x29850: 0x6c717420, 0x29853: 0x6d373620, + 0x29855: 0x6c80f020, 0x29856: 0x6c10ca20, 0x29857: 0x6c7bca20, + 0x29858: 0x6d190220, 0x2985a: 0x6c0f9a20, + 0x29867: 0x6c1c8c20, + 0x2986d: 0x6c680c20, 0x2986f: 0x6cf32a20, + 0x29870: 0x6d0aac20, + 0x29875: 0x6cea3220, 0x29876: 0x6c987e20, + 0x29878: 0x6c39b220, 0x29879: 0x6d3dce20, 0x2987b: 0x6cb88220, + 0x2987d: 0x6cde2220, 0x2987e: 0x6cb68a20, + // Block 0xa62, offset 0x29880 + 0x29880: 0x6caf1e20, 0x29881: 0x6c0cc620, 0x29882: 0x6c3bfe20, 0x29883: 0x6ce92820, + 0x29884: 0x6c57d220, 0x29887: 0x6c36d220, + 0x2988b: 0x6c36d420, + 0x2988e: 0x6c2fc420, + 0x29890: 0x6cc7e220, + 0x29896: 0x6c36d620, + 0x2989e: 0x6d0ef020, 0x2989f: 0x6cd8f820, + 0x298a5: 0x6d1cc020, 0x298a6: 0x6ca61620, 0x298a7: 0x6ca61820, + 0x298a8: 0x6d158e20, + 0x298b9: 0x6c9c9820, + 0x298be: 0x6d129820, 0x298bf: 0x6cb32620, + // Block 0xa63, offset 0x298c0 + 0x298c0: 0x6c240420, 0x298c2: 0x6cf11820, + 0x298c4: 0x6c4d8820, 0x298c5: 0x6d1c2820, 0x298c7: 0x6ce6a020, + 0x298c8: 0x6d375e20, 0x298c9: 0x6c3a2a20, 0x298ca: 0x6d1f9420, + 0x298cd: 0x6c7cb020, 0x298ce: 0x6c01e220, 0x298cf: 0x6c03d220, + 0x298d1: 0x6c4f3420, + 0x298de: 0x6ca41620, 0x298df: 0x6ca3da20, + 0x298e2: 0x6c6df420, + 0x298e5: 0x6ceece20, + 0x298f1: 0x6c1f8e20, 0x298f3: 0x6cddbe20, + 0x298f4: 0x6ce20020, 0x298f5: 0x6cb6a620, 0x298f6: 0x6ce16620, 0x298f7: 0x6cf05a20, + 0x298f8: 0x6c41fc20, 0x298fa: 0x6c446420, + 0x298fc: 0x6c4f3820, 0x298fe: 0x6ca37420, 0x298ff: 0x6c446620, + // Block 0xa64, offset 0x29900 + 0x29904: 0x6d331420, + 0x29917: 0x6cde2820, + 0x2991b: 0x6cd84c20, + 0x2991d: 0x6ca6de20, 0x2991e: 0x6cca9820, + 0x2992b: 0x6d012a20, + 0x2992f: 0x6d410220, + 0x29930: 0x6d21fc20, 0x29931: 0x6ca6e020, 0x29932: 0x6cb55420, + 0x29935: 0x6cd03220, + 0x2993c: 0x6c102020, + // Block 0xa65, offset 0x29940 + 0x2994b: 0x6c7d9a20, + 0x2994c: 0x6c84c420, 0x2994e: 0x6c488220, + 0x29956: 0x6d0e1c20, 0x29957: 0x6c10d220, + 0x29958: 0x6c672a20, 0x2995a: 0x6cf40e20, 0x2995b: 0x6c134420, + 0x2995c: 0x6c8c0e20, 0x2995d: 0x6d3c0420, 0x2995f: 0x6c5b0e20, + 0x29961: 0x6ce7a620, 0x29962: 0x6d2ca220, + 0x29964: 0x6c522c20, 0x29967: 0x6c4ce220, + 0x29971: 0x6c6e4220, + 0x29975: 0x6c2f1620, 0x29977: 0x6d1cdc20, + 0x2997c: 0x6d377420, + // Block 0xa66, offset 0x29980 + 0x29982: 0x6cf06620, + 0x29984: 0x6c62fa20, 0x29985: 0x6cc73620, + 0x29988: 0x6c030620, 0x29989: 0x6c292420, 0x2998a: 0x6c958a20, 0x2998b: 0x6d13a220, + 0x2998c: 0x6ceed220, + 0x29992: 0x6cbb3220, + 0x29999: 0x6c446c20, 0x2999a: 0x6c62fc20, + 0x299a6: 0x6d409620, + 0x299a8: 0x6d15a620, 0x299ab: 0x6d2ca420, + 0x299ad: 0x6c8b8c20, + 0x299b4: 0x6d13a820, + 0x299bc: 0x6d2dd420, + // Block 0xa67, offset 0x299c0 + 0x299c0: 0x6c1e1620, 0x299c1: 0x6c0c6620, + 0x299c6: 0x6d077020, 0x299c7: 0x6d1eda20, + 0x299cd: 0x6d029a20, 0x299ce: 0x6cef7c20, 0x299cf: 0x6c87ca20, + 0x299db: 0x6c0fdc20, + 0x299dc: 0x6c664c20, 0x299dd: 0x6c158220, 0x299de: 0x6c7d9e20, + 0x299e1: 0x6cbe9a20, + 0x299e7: 0x6cd6ce20, + 0x299e8: 0x6cf76420, 0x299e9: 0x6cc23620, + 0x299f0: 0x6c95a020, 0x299f3: 0x6c294c20, + 0x299f4: 0x6ca71020, 0x299f5: 0x6c855a20, 0x299f7: 0x6c03e420, + 0x299f9: 0x6c365220, 0x299fa: 0x6c3d7a20, 0x299fb: 0x6c400620, + 0x299fc: 0x6c5d1220, 0x299fd: 0x6d2cd820, 0x299fe: 0x6c014420, + // Block 0xa68, offset 0x29a00 + 0x29a01: 0x6cc09620, 0x29a02: 0x6c1dd620, 0x29a03: 0x6c9e3c20, + 0x29a04: 0x6d0aa620, 0x29a05: 0x6ce92420, 0x29a06: 0x6ca60c20, 0x29a07: 0x6c570220, + 0x29a08: 0x6cd50a20, 0x29a0a: 0x6d05f620, 0x29a0b: 0x6d384620, + 0x29a0c: 0x6c776220, + 0x29a12: 0x6cfee220, 0x29a13: 0x6cfee420, + 0x29a14: 0x6c22d420, 0x29a15: 0x6c1c3c20, 0x29a17: 0x6c2dd220, + 0x29a18: 0x6d181420, 0x29a1a: 0x6c2f6420, + 0x29a1d: 0x6c4ef620, 0x29a1e: 0x6cece420, + 0x29a20: 0x6d160220, 0x29a21: 0x6c066020, 0x29a22: 0x6d184220, + 0x29a27: 0x6d0a9e20, + 0x29a2c: 0x6cfdd420, + 0x29a33: 0x6c08a420, + 0x29a36: 0x6c6b3020, 0x29a37: 0x6c43a620, + 0x29a38: 0x6d2b5620, 0x29a3a: 0x6d326a20, 0x29a3b: 0x6c55aa20, + 0x29a3c: 0x6cf6b420, 0x29a3d: 0x6d02e820, 0x29a3e: 0x6cff1220, 0x29a3f: 0x6c404e20, + // Block 0xa69, offset 0x29a40 + 0x29a40: 0x6d383c20, 0x29a42: 0x6c99b620, 0x29a43: 0x6d02ea20, + 0x29a44: 0x6cbad820, + 0x29a48: 0x6c3b9220, 0x29a49: 0x6c049820, 0x29a4a: 0x6c583220, + 0x29a51: 0x6c687620, 0x29a53: 0x6c066620, + 0x29a54: 0x6d0af820, 0x29a55: 0x6d114020, + 0x29a5b: 0x6cf8d820, + 0x29a5d: 0x6c729e20, 0x29a5f: 0x6cc27c20, + 0x29a60: 0x6d26f020, 0x29a61: 0x6cdf4220, 0x29a62: 0x6ce81820, 0x29a63: 0x6ca16c20, + 0x29a64: 0x6d2c5420, 0x29a65: 0x6cc1ce20, 0x29a67: 0x6c3da620, + 0x29a69: 0x6cc1d020, 0x29a6a: 0x6c1c7e20, + 0x29a6c: 0x6d1f7c20, + 0x29a77: 0x6ce38620, + 0x29a7a: 0x6cebf020, + 0x29a7d: 0x6ceb5620, 0x29a7f: 0x6c1eb220, + // Block 0xa6a, offset 0x29a80 + 0x29a81: 0x6c43b020, + 0x29a88: 0x6d251620, 0x29a89: 0x6c43b220, 0x29a8a: 0x6cc1d220, + 0x29a8f: 0x6c72a020, + 0x29a92: 0x6c2ef820, 0x29a93: 0x6d157e20, + 0x29a94: 0x6cd20820, 0x29a95: 0x6d18e420, 0x29a97: 0x6c4b2020, + 0x29a98: 0x6c680420, 0x29a9a: 0x6cd94420, 0x29a9b: 0x6cbf7220, + 0x29a9d: 0x6c36c220, 0x29a9e: 0x6c59a420, 0x29a9f: 0x6c5b4620, + 0x29aa0: 0x6d0a4620, 0x29aa3: 0x6c717020, + 0x29aa5: 0x6d2d2220, 0x29aa6: 0x6c1c8220, 0x29aa7: 0x6c81c020, + 0x29aa9: 0x6cb66820, 0x29aaa: 0x6d050420, + 0x29aac: 0x6c5af620, 0x29aad: 0x6ce79820, + 0x29aba: 0x6c407220, + 0x29abd: 0x6d0a4820, 0x29abe: 0x6c6b4e20, 0x29abf: 0x6c9d0620, + // Block 0xa6b, offset 0x29ac0 + 0x29ac0: 0x6d242820, + 0x29ac8: 0x6d3c4a20, 0x29ac9: 0x6c688e20, 0x29aca: 0x6d373820, 0x29acb: 0x6c1a5220, + 0x29acd: 0x6c6b6c20, 0x29ace: 0x6cff3220, 0x29acf: 0x6c18f220, + 0x29ad0: 0x6c848220, 0x29ad1: 0x6d26fe20, 0x29ad3: 0x6d373a20, + 0x29ad4: 0x6c818820, 0x29ad5: 0x6cf32c20, 0x29ad6: 0x6cc1ea20, + 0x29ad8: 0x6cedce20, 0x29ada: 0x6d142e20, 0x29adb: 0x6d190420, + 0x29adc: 0x6c80f220, 0x29ade: 0x6ce7fa20, 0x29adf: 0x6c015c20, + 0x29ae0: 0x6c74e420, 0x29ae1: 0x6d0ee420, + 0x29ae5: 0x6c72b020, 0x29ae7: 0x6d327620, + 0x29ae9: 0x6d373c20, 0x29aea: 0x6c98a820, + 0x29aee: 0x6d055420, + 0x29af1: 0x6c208020, 0x29af2: 0x6c1e6c20, + 0x29af8: 0x6cbafc20, 0x29af9: 0x6c3a2620, 0x29afa: 0x6c16d420, + 0x29afc: 0x6c9dec20, 0x29afd: 0x6cdb5a20, 0x29afe: 0x6c02b820, + // Block 0xa6c, offset 0x29b00 + 0x29b00: 0x6c3f9620, + 0x29b04: 0x6cf10620, 0x29b05: 0x6d342420, 0x29b06: 0x6c9f8220, 0x29b07: 0x6c168820, + 0x29b08: 0x6d0cfa20, 0x29b09: 0x6d245820, 0x29b0b: 0x6c408a20, + 0x29b0c: 0x6cded020, 0x29b0d: 0x6c616020, 0x29b0f: 0x6c3aee20, + 0x29b12: 0x6c55f620, 0x29b13: 0x6c70e220, + 0x29b15: 0x6d22ac20, + 0x29b1b: 0x6cb69220, + 0x29b1c: 0x6c9a3820, 0x29b1f: 0x6c0ccc20, + 0x29b20: 0x6c4cd820, + 0x29b24: 0x6ca04c20, 0x29b26: 0x6ced5e20, 0x29b27: 0x6ced6020, + 0x29b34: 0x6c6dec20, 0x29b35: 0x6d245a20, 0x29b36: 0x6cfbce20, + 0x29b39: 0x6c212a20, 0x29b3a: 0x6c60f820, + 0x29b3c: 0x6cfd9620, 0x29b3d: 0x6cae4420, 0x29b3e: 0x6c409220, + // Block 0xa6d, offset 0x29b40 + 0x29b42: 0x6c8ed820, + 0x29b44: 0x6cc9da20, 0x29b45: 0x6d08f020, 0x29b46: 0x6d409220, + 0x29b48: 0x6c6b7e20, 0x29b4b: 0x6d2dc220, + 0x29b4d: 0x6d21e820, 0x29b4e: 0x6d21ea20, 0x29b4f: 0x6c9a4020, + 0x29b50: 0x6c9ea820, 0x29b51: 0x6c99c020, 0x29b52: 0x6c346a20, 0x29b53: 0x6c409420, + 0x29b5b: 0x6c671820, + 0x29b66: 0x6c9e8420, + 0x29b68: 0x6c023a20, + 0x29b6d: 0x6c78e620, + 0x29b76: 0x6c544420, + 0x29b7a: 0x6c46e420, + 0x29b7c: 0x6cf74c20, 0x29b7e: 0x6cc6e820, 0x29b7f: 0x6c43be20, + // Block 0xa6e, offset 0x29b80 + 0x29b80: 0x6cac9220, 0x29b81: 0x6d25d420, 0x29b82: 0x6cfa5e20, + 0x29b85: 0x6ccc2e20, 0x29b86: 0x6cafa620, + 0x29b88: 0x6cbe9620, 0x29b89: 0x6d1dde20, 0x29b8a: 0x6cc20220, + 0x29b8c: 0x6c462820, 0x29b8e: 0x6c446820, 0x29b8f: 0x6cfb0820, + 0x29b91: 0x6cdb6820, + 0x29b95: 0x6c04ae20, 0x29b96: 0x6cb6a820, 0x29b97: 0x6c548820, + 0x29b9b: 0x6cf74e20, + 0x29b9d: 0x6cf39220, + 0x29bad: 0x6cb55620, 0x29bae: 0x6c56ec20, 0x29baf: 0x6c4aae20, + 0x29bb1: 0x6c2bbc20, 0x29bb2: 0x6cce2c20, 0x29bb3: 0x6c975220, + 0x29bb4: 0x6c9fde20, 0x29bb5: 0x6c62ea20, 0x29bb6: 0x6cf7c820, 0x29bb7: 0x6cfb1020, + 0x29bb8: 0x6c610220, 0x29bb9: 0x6c16d820, 0x29bba: 0x6c7a1220, 0x29bbb: 0x6c1cfc20, + // Block 0xa6f, offset 0x29bc0 + 0x29bc2: 0x6d2ef020, 0x29bc3: 0x6cb1aa20, + 0x29bc4: 0x6cdb6c20, 0x29bc5: 0x6c94cc20, 0x29bc6: 0x6c84c620, 0x29bc7: 0x6c9c2020, + 0x29bc8: 0x6c1cfe20, 0x29bc9: 0x6ce47c20, 0x29bcb: 0x6c8da820, + 0x29bcd: 0x6c1c9a20, + 0x29bd6: 0x6c1d0020, + 0x29bd9: 0x6c1c9c20, + 0x29bdd: 0x6ca7c820, 0x29bdf: 0x6d1e0a20, + 0x29bee: 0x6c9db020, + 0x29bf0: 0x6cd51e20, 0x29bf2: 0x6cf93820, + 0x29bf4: 0x6c36f620, 0x29bf5: 0x6d3ec820, + 0x29bf8: 0x6c6b8420, 0x29bf9: 0x6c5faa20, 0x29bfa: 0x6c53e820, 0x29bfb: 0x6cd18220, + 0x29bfc: 0x6c879c20, 0x29bfe: 0x6cb55c20, + // Block 0xa70, offset 0x29c00 + 0x29c00: 0x6d38c620, 0x29c01: 0x6cd85820, 0x29c02: 0x6cc21e20, + 0x29c0b: 0x6d013420, + 0x29c17: 0x6cd85a20, + 0x29c1b: 0x6d061220, + 0x29c20: 0x6c409e20, + 0x29c2f: 0x6ca9e620, + 0x29c30: 0x6d0bd020, 0x29c31: 0x6c8ef020, 0x29c32: 0x6c643420, 0x29c33: 0x6c4ab020, + 0x29c34: 0x6c7cc020, 0x29c35: 0x6c1ca220, 0x29c36: 0x6c121620, 0x29c37: 0x6c1ed020, + 0x29c39: 0x6c4c5020, 0x29c3b: 0x6c285a20, + 0x29c3f: 0x6c672e20, + // Block 0xa71, offset 0x29c40 + 0x29c41: 0x6c292620, 0x29c42: 0x6c548c20, + 0x29c44: 0x6c7a1420, 0x29c46: 0x6c1f9220, 0x29c47: 0x6cb96220, + 0x29c48: 0x6c010c20, 0x29c4a: 0x6cb0e420, + 0x29c51: 0x6d0abc20, 0x29c52: 0x6c6dfc20, 0x29c53: 0x6c9c2620, + 0x29c55: 0x6c0d7a20, 0x29c56: 0x6c801620, 0x29c57: 0x6c47fa20, + 0x29c58: 0x6c1e1420, 0x29c5b: 0x6d1dec20, + 0x29c5c: 0x6c488420, 0x29c5d: 0x6d220a20, 0x29c5e: 0x6d397420, + 0x29c6d: 0x6c115820, 0x29c6f: 0x6c8ef420, + 0x29c70: 0x6c105420, 0x29c71: 0x6c965820, 0x29c72: 0x6c6b8c20, 0x29c73: 0x6d31a820, + 0x29c74: 0x6c9f2220, 0x29c75: 0x6c4a1620, 0x29c77: 0x6c63f820, + 0x29c79: 0x6c7ed220, + // Block 0xa72, offset 0x29c80 + 0x29c80: 0x6cd48c20, 0x29c83: 0x6c4c5220, + 0x29c86: 0x6c9c2820, 0x29c87: 0x6cb9ea20, + 0x29c88: 0x6c7f8420, 0x29c8a: 0x6c51b220, 0x29c8b: 0x6ce97c20, + 0x29c91: 0x6c5b1020, + 0x29c98: 0x6c52e620, + 0x29c9c: 0x6c93c820, 0x29c9f: 0x6c63fa20, + 0x29ca5: 0x6c4ab220, + 0x29ca8: 0x6d144420, 0x29ca9: 0x6c585420, + 0x29cb0: 0x6c95a220, + 0x29cb4: 0x6c754620, + 0x29cb8: 0x6c49ce20, 0x29cbb: 0x6cc34820, + 0x29cbc: 0x6ca7cc20, 0x29cbf: 0x6c97b220, + // Block 0xa73, offset 0x29cc0 + 0x29cc2: 0x6d282420, 0x29cc3: 0x6cf18a20, + 0x29cc4: 0x6c1c0c20, 0x29cc5: 0x6c1c1820, 0x29cc6: 0x6d33dc20, + 0x29cc8: 0x6c224420, 0x29cc9: 0x6d3c3e20, 0x29cca: 0x6c573c20, 0x29ccb: 0x6c6ac020, + 0x29ccc: 0x6cc19e20, 0x29ccd: 0x6ce86620, 0x29cce: 0x6c9f6a20, 0x29ccf: 0x6c9a2020, + 0x29cd0: 0x6d218020, 0x29cd1: 0x6c026e20, 0x29cd2: 0x6c049a20, + 0x29cd4: 0x6caf8c20, 0x29cd5: 0x6d31a420, 0x29cd6: 0x6c91d020, 0x29cd7: 0x6c1c5420, + 0x29cd8: 0x6ce7f620, 0x29cda: 0x6c6a3420, + 0x29cdc: 0x6d2da420, + 0x29ce2: 0x6c6c6820, 0x29ce3: 0x6c91f020, + 0x29ce6: 0x6c670a20, 0x29ce7: 0x6ce0b420, + 0x29ce8: 0x6c168a20, 0x29cea: 0x6c22ee20, + 0x29ced: 0x6cec5c20, 0x29cee: 0x6c240620, 0x29cef: 0x6c771a20, + 0x29cf1: 0x6c0bd820, + 0x29cf8: 0x6cf17620, 0x29cfb: 0x6cb95620, + 0x29cff: 0x6c424220, + // Block 0xa74, offset 0x29d00 + 0x29d02: 0x6c5ca220, + 0x29d04: 0x6c420620, 0x29d06: 0x6c630020, 0x29d07: 0x6c424620, + 0x29d09: 0x6c580820, + 0x29d0d: 0x6cd8dc20, + 0x29d10: 0x6c3d9a20, + 0x29d15: 0x6cb01620, 0x29d17: 0x6c10d620, + 0x29d1c: 0x6c07c620, + 0x29d22: 0x6cd2dc20, + 0x29d25: 0x6c58b020, 0x29d27: 0x6c4a9420, + 0x29d2a: 0x6cab9620, + 0x29d33: 0x6cad7020, + 0x29d35: 0x6d1d2020, 0x29d36: 0x6ce6e620, 0x29d37: 0x6d001820, + 0x29d39: 0x6d3b3620, 0x29d3b: 0x6d21d220, + // Block 0xa75, offset 0x29d40 + 0x29d41: 0x6c66fa20, + 0x29d44: 0x6cc25420, 0x29d45: 0x6ced6220, 0x29d46: 0x6c7d9220, 0x29d47: 0x6d3c7220, + 0x29d49: 0x6d245c20, 0x29d4a: 0x6c4cda20, 0x29d4b: 0x6cb2de20, + 0x29d4c: 0x6d41a420, 0x29d4d: 0x6d40fa20, 0x29d4f: 0x6d39e820, + 0x29d50: 0x6caa9c20, 0x29d51: 0x6d39ea20, + 0x29d56: 0x6cb17620, 0x29d57: 0x6c9cac20, + 0x29d5c: 0x6c0ad220, 0x29d5d: 0x6cdb6e20, + 0x29d61: 0x6cb47a20, 0x29d62: 0x6c9cc420, + 0x29d6b: 0x6d13a620, + 0x29d6c: 0x6d22b420, 0x29d6e: 0x6d249620, + 0x29d70: 0x6d3a9420, 0x29d73: 0x6c8dc220, + 0x29d7a: 0x6caa3620, + 0x29d7e: 0x6c8d3020, + // Block 0xa76, offset 0x29d80 + 0x29d80: 0x6c8a7020, 0x29d82: 0x6ceace20, + 0x29d84: 0x6c08f020, 0x29d85: 0x6ca36a20, 0x29d86: 0x6cc1bc20, + 0x29d88: 0x6cb01820, 0x29d89: 0x6c30f420, 0x29d8a: 0x6ca86e20, 0x29d8b: 0x6cea6820, + 0x29d8d: 0x6c5f2620, 0x29d8f: 0x6c8d5420, + 0x29d93: 0x6c7aaa20, + 0x29d94: 0x6cdb2c20, + 0x29d98: 0x6ce81a20, + 0x29d9e: 0x6ca38620, 0x29d9f: 0x6d2b0c20, + 0x29da2: 0x6ce7c420, 0x29da3: 0x6c444a20, + 0x29da4: 0x6c331820, 0x29da7: 0x6c6b5020, + 0x29da9: 0x6ce4c820, 0x29daa: 0x6ce5e220, 0x29dab: 0x6c1b6020, + 0x29dac: 0x6cc14e20, 0x29dae: 0x6ccc2820, + 0x29db0: 0x6c0f9e20, 0x29db1: 0x6c848420, 0x29db3: 0x6c963a20, + 0x29db5: 0x6c8a4420, 0x29db6: 0x6cd62620, 0x29db7: 0x6c2ad220, + 0x29db9: 0x6c1ae620, 0x29dba: 0x6c9f0220, + 0x29dbc: 0x6ce24e20, 0x29dbd: 0x6c5d0c20, 0x29dbf: 0x6ca7e220, + // Block 0xa77, offset 0x29dc0 + 0x29dc1: 0x6c75fe20, 0x29dc2: 0x6c56dc20, + 0x29dc4: 0x6c932e20, 0x29dc5: 0x6d138820, 0x29dc7: 0x6ca18620, + 0x29dc8: 0x6c17c820, + 0x29dcc: 0x6cddd420, 0x29dce: 0x6c784220, 0x29dcf: 0x6c409620, + 0x29dd1: 0x6c17aa20, + 0x29dd4: 0x6cddbc20, 0x29dd7: 0x6cbfe220, + 0x29ddb: 0x6cdb6a20, + 0x29ddd: 0x6d287620, 0x29ddf: 0x6cddc220, + 0x29de0: 0x6c7a7020, 0x29de1: 0x6c0fc420, 0x29de3: 0x6c90fe20, + 0x29de4: 0x6ca1a220, 0x29de6: 0x6c88e220, 0x29de7: 0x6d08d220, + 0x29de8: 0x6cddc420, 0x29de9: 0x6c97aa20, 0x29dea: 0x6c0ad420, + 0x29df2: 0x6ce44820, + 0x29df4: 0x6c88a620, 0x29df5: 0x6ce04a20, 0x29df6: 0x6ccdf220, + 0x29df8: 0x6cc22820, 0x29df9: 0x6c320820, 0x29dfa: 0x6c58d420, 0x29dfb: 0x6ccb0e20, + 0x29dff: 0x6c7c2620, + // Block 0xa78, offset 0x29e00 + 0x29e03: 0x6ca8dc20, + 0x29e05: 0x6ca8de20, 0x29e06: 0x6c95a420, 0x29e07: 0x6d425c20, + 0x29e08: 0x6d174e20, 0x29e09: 0x6cfcc020, 0x29e0a: 0x6c179820, 0x29e0b: 0x6ce61220, + 0x29e12: 0x6cd79620, + 0x29e14: 0x6c9d0020, 0x29e17: 0x6c9c7220, + 0x29e1b: 0x6ced5220, + 0x29e1d: 0x6c07c820, 0x29e1e: 0x6cbae020, + 0x29e20: 0x6ca0b020, 0x29e23: 0x6c8eca20, + 0x29e24: 0x6cf32e20, 0x29e26: 0x6c9a7020, + 0x29e28: 0x6ce7fe20, 0x29e2b: 0x6ca25a20, + 0x29e2d: 0x6c9a4420, + 0x29e32: 0x6d42b620, + 0x29e34: 0x6cea6420, 0x29e35: 0x6c778c20, 0x29e36: 0x6cea6a20, + 0x29e3a: 0x6c184c20, 0x29e3b: 0x6d336a20, + 0x29e3d: 0x6c1cec20, 0x29e3e: 0x6ce47820, + // Block 0xa79, offset 0x29e40 + 0x29e40: 0x6d372020, 0x29e41: 0x6c153420, 0x29e42: 0x6c153e20, + 0x29e45: 0x6cbe5c20, 0x29e46: 0x6cea3420, 0x29e47: 0x6c5b7a20, + 0x29e48: 0x6cc41420, 0x29e49: 0x6d2dba20, 0x29e4a: 0x6c652c20, 0x29e4b: 0x6c154c20, + 0x29e4d: 0x6c5a2620, 0x29e4f: 0x6c5b0620, + 0x29e50: 0x6c1b6a20, 0x29e52: 0x6c5a2820, 0x29e53: 0x6c528220, + 0x29e54: 0x6d280820, 0x29e56: 0x6ce94020, 0x29e57: 0x6c0b1c20, + 0x29e59: 0x6c5a3620, 0x29e5a: 0x6d280a20, + 0x29e5f: 0x6ca1a420, + 0x29e60: 0x6c45c420, 0x29e62: 0x6c45c620, + 0x29e64: 0x6c4bb020, 0x29e66: 0x6c157820, + 0x29e68: 0x6cc42220, 0x29e69: 0x6cc8ee20, 0x29e6a: 0x6c7c2820, 0x29e6b: 0x6cb1c220, + 0x29e6e: 0x6cc80220, + 0x29e72: 0x6ca9a220, 0x29e73: 0x6c56c820, + 0x29e74: 0x6c6cb820, 0x29e75: 0x6ca6d220, 0x29e76: 0x6c067420, + 0x29e78: 0x6ca65620, 0x29e7a: 0x6c0a8420, 0x29e7b: 0x6c55d820, + 0x29e7c: 0x6c846a20, 0x29e7f: 0x6d39dc20, + // Block 0xa7a, offset 0x29e80 + 0x29e80: 0x6ca2fc20, 0x29e82: 0x6cc36620, 0x29e83: 0x6c3cd220, + 0x29e84: 0x6c090020, 0x29e85: 0x6c84a020, 0x29e86: 0x6c0d0820, 0x29e87: 0x6ca70e20, + 0x29e88: 0x6c304820, 0x29e8b: 0x6c88a020, + 0x29e8c: 0x6ca6e420, 0x29e8d: 0x6c88a820, 0x29e8e: 0x6c968820, 0x29e8f: 0x6d30ca20, + 0x29e93: 0x6c639420, + 0x29e94: 0x6d15a820, 0x29e96: 0x6c904c20, + 0x29e98: 0x6d181820, + 0x29e9d: 0x6c278e20, 0x29e9e: 0x6c327820, + 0x29ea3: 0x6d160c20, + 0x29ea5: 0x6cdf8220, 0x29ea6: 0x6c4f5420, 0x29ea7: 0x6cd61620, + 0x29eac: 0x6cece820, 0x29eae: 0x6cdb2e20, 0x29eaf: 0x6d11d820, + 0x29eb0: 0x6c37e020, 0x29eb2: 0x6d326e20, + 0x29eba: 0x6c313e20, 0x29ebb: 0x6c651220, + 0x29ebf: 0x6cace620, + // Block 0xa7b, offset 0x29ec0 + 0x29ec0: 0x6c5afe20, 0x29ec2: 0x6c145420, 0x29ec3: 0x6ccd1c20, + 0x29ec4: 0x6c916620, 0x29ec6: 0x6d244c20, + 0x29ec8: 0x6d0ef420, 0x29ec9: 0x6ced6420, 0x29eca: 0x6cbc6e20, 0x29ecb: 0x6c953420, + 0x29ecc: 0x6d245e20, 0x29ecf: 0x6ce90620, + 0x29ed0: 0x6cf10820, 0x29ed2: 0x6cea8e20, + 0x29ed5: 0x6c5d1820, 0x29ed6: 0x6c079020, 0x29ed7: 0x6cbd0620, + 0x29ed9: 0x6c6c7420, 0x29eda: 0x6c7f3620, + 0x29edc: 0x6d356620, 0x29edd: 0x6d21ec20, 0x29edf: 0x6c22f020, + 0x29ee6: 0x6d139420, 0x29ee7: 0x6c2f0c20, + 0x29ee8: 0x6c145820, 0x29ee9: 0x6c2d9a20, 0x29eea: 0x6c97a220, + 0x29eec: 0x6c2afc20, 0x29eed: 0x6ceed020, 0x29eee: 0x6ca75020, 0x29eef: 0x6c835e20, + 0x29ef0: 0x6c0db820, 0x29ef1: 0x6cf39420, 0x29ef3: 0x6d320820, + 0x29ef6: 0x6cc77420, 0x29ef7: 0x6cec7c20, + 0x29ef8: 0x6c9dac20, 0x29ef9: 0x6c6c1020, 0x29efb: 0x6c544620, + 0x29efd: 0x6d2d5620, 0x29efe: 0x6cc80a20, 0x29eff: 0x6d3ec620, + // Block 0xa7c, offset 0x29f00 + 0x29f00: 0x6cac9420, 0x29f02: 0x6ca1a620, + 0x29f04: 0x6c9db220, 0x29f06: 0x6cb55820, 0x29f07: 0x6ca1a820, + 0x29f0a: 0x6d342c20, 0x29f0b: 0x6c04b020, + 0x29f0d: 0x6c9f1820, 0x29f0f: 0x6c933e20, + 0x29f11: 0x6cb55e20, 0x29f12: 0x6c1d0420, + 0x29f14: 0x6c84d220, 0x29f15: 0x6d196e20, + 0x29f18: 0x6c2b0620, 0x29f19: 0x6c25d220, 0x29f1b: 0x6c339020, + 0x29f1c: 0x6c96e820, 0x29f1d: 0x6d0e2c20, 0x29f1f: 0x6d2bba20, + 0x29f20: 0x6d0e2e20, 0x29f21: 0x6c339220, 0x29f22: 0x6cb42620, + 0x29f25: 0x6d273020, + 0x29f29: 0x6c5e5c20, 0x29f2a: 0x6c975420, 0x29f2b: 0x6c664620, + 0x29f2c: 0x6ca9e820, 0x29f2d: 0x6cbdc020, 0x29f2f: 0x6cbdc220, + 0x29f32: 0x6d13aa20, + 0x29f34: 0x6cdf5420, + 0x29f39: 0x6c655c20, + 0x29f3c: 0x6c141620, 0x29f3e: 0x6c28f220, 0x29f3f: 0x6ce2e220, + // Block 0xa7d, offset 0x29f40 + 0x29f40: 0x6c87ce20, 0x29f43: 0x6ca77c20, + 0x29f44: 0x6c158420, 0x29f45: 0x6d29f620, + 0x29f4a: 0x6d24b820, + 0x29f4c: 0x6d41e220, 0x29f4d: 0x6c0b2020, + 0x29f50: 0x6c1ef820, + 0x29f58: 0x6cc48c20, 0x29f5a: 0x6cc49820, 0x29f5b: 0x6d0f7020, + 0x29f5c: 0x6c0fe820, + 0x29f61: 0x6c247820, + 0x29f6c: 0x6c9cae20, 0x29f6e: 0x6c787420, + 0x29f70: 0x6c248420, + 0x29f77: 0x6cf7ce20, + 0x29f79: 0x6c968a20, 0x29f7b: 0x6cd22020, + 0x29f7c: 0x6c2d0420, 0x29f7f: 0x6cd22220, + // Block 0xa7e, offset 0x29f80 + 0x29f82: 0x6c2f7620, 0x29f83: 0x6c6ee420, + 0x29f85: 0x6d25a820, 0x29f86: 0x6c41b220, + 0x29f8a: 0x6c5ca420, 0x29f8b: 0x6c5f4e20, + 0x29f8d: 0x6caed420, 0x29f8f: 0x6c2ab220, + 0x29f91: 0x6c085e20, + 0x29f94: 0x6cacea20, 0x29f95: 0x6cded420, 0x29f97: 0x6d252220, + 0x29f98: 0x6c42ee20, 0x29f99: 0x6d252420, + 0x29f9f: 0x6c639220, + 0x29fa3: 0x6c799020, + 0x29fa6: 0x6c309820, + 0x29fa9: 0x6cfbd820, 0x29faa: 0x6cb80620, + 0x29fac: 0x6cca7c20, + 0x29fb0: 0x6d1b9820, 0x29fb3: 0x6c901a20, + 0x29fb6: 0x6ce29a20, 0x29fb7: 0x6c902420, + 0x29fba: 0x6cc60820, + 0x29fbd: 0x6d1b9020, 0x29fbe: 0x6cb2d820, 0x29fbf: 0x6cb41c20, + // Block 0xa7f, offset 0x29fc0 + 0x29fc0: 0x6d25be20, 0x29fc1: 0x6cc72a20, 0x29fc3: 0x6c399e20, + 0x29fc7: 0x6c4f5820, + 0x29fc8: 0x6c9c8820, 0x29fc9: 0x6c55ea20, 0x29fca: 0x6d3eb620, + 0x29fcc: 0x6c8d7e20, 0x29fcd: 0x6c6eea20, 0x29fce: 0x6cc72e20, + 0x29fd2: 0x6cb2e020, 0x29fd3: 0x6c49fc20, + 0x29fd4: 0x6c37ae20, + 0x29fdd: 0x6c247e20, 0x29fde: 0x6c760020, + 0x29fe6: 0x6d052a20, + 0x29fe8: 0x6c377a20, 0x29fe9: 0x6ce44420, 0x29feb: 0x6d0ff820, + 0x29fed: 0x6c010a20, 0x29fee: 0x6c560820, 0x29fef: 0x6cf7ca20, + 0x29ff1: 0x6c560a20, 0x29ff3: 0x6cd85220, + 0x29ff4: 0x6c854e20, 0x29ff6: 0x6d197020, 0x29ff7: 0x6c47f620, + 0x29ff9: 0x6ce16a20, + // Block 0xa80, offset 0x2a000 + 0x2a000: 0x6cc42420, 0x2a001: 0x6d3fe620, 0x2a002: 0x6c84de20, + 0x2a004: 0x6c69ec20, 0x2a007: 0x6c38fe20, + 0x2a008: 0x6cb47e20, 0x2a009: 0x6cd86620, 0x2a00b: 0x6c6b9020, + 0x2a00c: 0x6c91b220, 0x2a00d: 0x6c87d020, 0x2a00e: 0x6c158620, + 0x2a010: 0x6d122220, + 0x2a015: 0x6c5b0020, + 0x2a019: 0x6c53e420, 0x2a01a: 0x6c2cea20, 0x2a01b: 0x6cc0be20, + 0x2a01c: 0x6c74f820, 0x2a01e: 0x6cb0d420, + 0x2a022: 0x6c7c5220, + 0x2a025: 0x6cf82820, 0x2a026: 0x6ce30c20, + 0x2a029: 0x6d076820, + 0x2a02f: 0x6c0b6220, + 0x2a032: 0x6c50b020, 0x2a033: 0x6c88ac20, + 0x2a036: 0x6cdb7620, 0x2a037: 0x6c8ab220, + 0x2a03c: 0x6c6c7820, + // Block 0xa81, offset 0x2a040 + 0x2a041: 0x6c87d220, 0x2a042: 0x6c158820, + 0x2a045: 0x6cb65a20, 0x2a046: 0x6cb66c20, + 0x2a049: 0x6d3ec020, 0x2a04b: 0x6d3ec420, + 0x2a04d: 0x6cb6b220, 0x2a04f: 0x6cb6b820, + 0x2a050: 0x6d3ed020, 0x2a052: 0x6d2d1020, 0x2a053: 0x6d2d1420, + 0x2a054: 0x6cabec20, 0x2a056: 0x6c70d820, + 0x2a059: 0x6d0df420, + 0x2a05c: 0x6c4f8c20, 0x2a05d: 0x6ca37020, + 0x2a064: 0x6d0e0220, 0x2a066: 0x6d2e9c20, 0x2a067: 0x6cd2e020, + 0x2a068: 0x6d34ba20, + 0x2a06d: 0x6d2c0a20, + 0x2a074: 0x6cc73420, 0x2a075: 0x6d2c0c20, 0x2a077: 0x6d195820, + 0x2a078: 0x6ca02820, 0x2a079: 0x6d0b4020, 0x2a07b: 0x6d376620, + 0x2a07d: 0x6c7e3020, 0x2a07e: 0x6cfa1c20, + // Block 0xa82, offset 0x2a080 + 0x2a080: 0x6cb13820, 0x2a081: 0x6cdeec20, 0x2a083: 0x6d162a20, + 0x2a086: 0x6d051620, 0x2a087: 0x6d2d0c20, + 0x2a089: 0x6c34c420, 0x2a08a: 0x6c36e420, + 0x2a08e: 0x6d1ab420, + 0x2a090: 0x6c36ee20, 0x2a091: 0x6cdb8e20, 0x2a092: 0x6c016420, 0x2a093: 0x6c260420, + 0x2a095: 0x6ceb6420, 0x2a097: 0x6ceb6620, + 0x2a098: 0x6cfa1e20, 0x2a09b: 0x6c21ea20, + 0x2a09d: 0x6cdb9020, + 0x2a0a5: 0x6c62f420, 0x2a0a6: 0x6cba3620, 0x2a0a7: 0x6d410420, + 0x2a0a8: 0x6d2d0e20, 0x2a0a9: 0x6d280e20, 0x2a0aa: 0x6d2ea620, + 0x2a0ac: 0x6d159c20, + 0x2a0b2: 0x6d0b4220, 0x2a0b3: 0x6d266020, + 0x2a0b9: 0x6c51ac20, 0x2a0ba: 0x6cb88820, + 0x2a0be: 0x6c13c220, + // Block 0xa83, offset 0x2a0c0 + 0x2a0c3: 0x6cab7020, + 0x2a0c8: 0x6c560c20, 0x2a0ca: 0x6d0f2020, + 0x2a0cc: 0x6cbd0e20, 0x2a0cd: 0x6c0fd820, 0x2a0ce: 0x6cbafe20, 0x2a0cf: 0x6c6c1420, + 0x2a0db: 0x6ca6e820, + 0x2a0de: 0x6c162420, 0x2a0df: 0x6cbdf620, + 0x2a0e1: 0x6d2a3220, + 0x2a0e4: 0x6d1b3220, 0x2a0e5: 0x6d029c20, 0x2a0e7: 0x6cb6ba20, + 0x2a0e8: 0x6c673420, 0x2a0eb: 0x6d061420, + 0x2a0ed: 0x6d2bbc20, 0x2a0ef: 0x6c370420, + 0x2a0f3: 0x6d40a020, + 0x2a0f4: 0x6d163220, + 0x2a0f9: 0x6d34c820, 0x2a0fa: 0x6c87d420, + 0x2a0fd: 0x6c87d620, 0x2a0fe: 0x6d1aba20, + // Block 0xa84, offset 0x2a100 + 0x2a101: 0x6c88b220, 0x2a103: 0x6c158a20, + 0x2a105: 0x6c754820, 0x2a107: 0x6d28e620, + 0x2a10e: 0x6d2d1620, 0x2a10f: 0x6cb12220, + 0x2a111: 0x6c8fd220, 0x2a113: 0x6c8fd420, + 0x2a118: 0x6c8fe220, + 0x2a11d: 0x6c900020, + 0x2a120: 0x6c900c20, 0x2a122: 0x6c98b220, + 0x2a125: 0x6d30d020, + 0x2a12c: 0x6c423a20, 0x2a12d: 0x6c466a20, 0x2a12e: 0x6cc49a20, 0x2a12f: 0x6c248020, + 0x2a130: 0x6c68aa20, + 0x2a137: 0x6c0fec20, + 0x2a139: 0x6d3b4c20, 0x2a13a: 0x6cbfe820, 0x2a13b: 0x6d0f7220, + // Block 0xa85, offset 0x2a140 + 0x2a140: 0x6d003020, 0x2a142: 0x6c5b4820, 0x2a143: 0x6cc16c20, + 0x2a148: 0x6c8e0220, 0x2a14a: 0x6d1ab220, + 0x2a14e: 0x6cb0e820, + 0x2a152: 0x6c88b020, + // Block 0xa86, offset 0x2a180 + 0x2a19d: 0x6c343c20, + // Block 0xa87, offset 0x2a1c0 + 0x2a1c8: 0x6c040c20, + 0x2a1cf: 0x6d2d9220, + // Block 0xa88, offset 0x2a200 + 0x2a22e: 0x6c943c20, + // Block 0xa89, offset 0x2a240 + 0x2a24a: 0x6cd94a20, + 0x2a257: 0x6c73ac20, + // Block 0xa8a, offset 0x2a280 + 0x2a29d: 0x6d1d8e20, + // Block 0xa8b, offset 0x2a2c0 + 0x2a2f9: 0x6caa5c20, + // Block 0xa8c, offset 0x2a300 + 0x2a310: 0x6c230620, + // Block 0xa8d, offset 0x2a340 + 0x2a362: 0x6cfc9220, + // Block 0xa8e, offset 0x2a380 + 0x2a3a1: 0x6c85dc20, + // Block 0xa8f, offset 0x2a3c0 + 0x2a3c8: 0x6c3abc20, + 0x2a3d9: 0x6cdb3a20, + // Block 0xa90, offset 0x2a400 + 0x2a41c: 0x6c79dc20, + // Block 0xa91, offset 0x2a440 + 0x2a468: 0x6c1a9e20, + 0x2a478: 0x6d09b220, + // Block 0xa92, offset 0x2a480 + 0x2a4b0: 0x6cb86a20, + // Block 0xa93, offset 0x2a4c0 + 0x2a4d0: 0x6c45fe20, + // Block 0xa94, offset 0x2a500 + 0x2a500: 0x6c5ef220, + 0x2a528: 0x6c953a20, + // Block 0xa95, offset 0x2a540 + 0x2a559: 0x6d165020, + 0x2a55f: 0x6d146820, + 0x2a562: 0x6ca49820, + 0x2a570: 0x6cf7de20, 0x2a572: 0x6cffaa20, + // Block 0xa96, offset 0x2a580 + 0x2a58b: 0x6c73b020, + // Block 0xa97, offset 0x2a5c0 + 0x2a5c4: 0x6d268220, 0x2a5c6: 0x6c7b1020, + 0x2a5c9: 0x6c8cc220, + 0x2a5d0: 0x6ca5f020, 0x2a5d3: 0x6c108a20, + // Block 0xa98, offset 0x2a600 + 0x2a636: 0x6c4e3a20, + // Block 0xa99, offset 0x2a640 + 0x2a667: 0x6c3d5820, + 0x2a669: 0x6c230a20, + // Block 0xa9a, offset 0x2a680 + 0x2a68e: 0x6c74d220, + // Block 0xa9b, offset 0x2a6c0 + 0x2a6e0: 0x6d2eb220, + 0x2a6e6: 0x6c109020, 0x2a6e7: 0x6cda9a20, + 0x2a6ee: 0x6c59cc20, + 0x2a6f4: 0x6d2da220, + // Block 0xa9c, offset 0x2a700 + 0x2a71d: 0x6c73ea20, + 0x2a723: 0x6c4ea420, + 0x2a724: 0x6c003a20, + 0x2a728: 0x6ce33820, + // Block 0xa9d, offset 0x2a740 + 0x2a748: 0x6d06ca20, 0x2a749: 0x6c534620, + 0x2a752: 0x6c3e4620, + 0x2a754: 0x6c5b4020, 0x2a755: 0x6cd1e620, + 0x2a759: 0x6cb41220, + // Block 0xa9e, offset 0x2a780 + 0x2a79b: 0x6d33bc20, + 0x2a79e: 0x6c740c20, + 0x2a7a2: 0x6ca90020, + 0x2a7b6: 0x6c1c5220, + 0x2a7b8: 0x6ce36020, + // Block 0xa9f, offset 0x2a7c0 + 0x2a7c0: 0x6c857420, 0x2a7c1: 0x6cecb420, 0x2a7c2: 0x6d144620, 0x2a7c3: 0x48024420, + 0x2a7c4: 0x6ca62220, 0x2a7c5: 0x6cf43220, 0x2a7c6: 0x6ce9f420, 0x2a7c7: 0x6c0e1020, + 0x2a7c8: 0x6d28b220, 0x2a7c9: 0x6c071c20, 0x2a7ca: 0x6ccbb820, 0x2a7cb: 0x6cfe3c20, + 0x2a7cc: 0x6c75ee20, 0x2a7cd: 0x6cddc620, 0x2a7ce: 0x6c9dfe20, 0x2a7cf: 0x6ce92020, + 0x2a7d0: 0x6c5a2a20, 0x2a7d1: 0x6c720620, 0x2a7d2: 0x480a3820, 0x2a7d3: 0x44697220, + 0x2a7d4: 0x6ca57e20, 0x2a7d5: 0x6d292620, 0x2a7d6: 0x480a9620, 0x2a7d7: 0x6cc6ec20, + 0x2a7d8: 0x6d24d020, 0x2a7d9: 0x6c0da020, 0x2a7da: 0x6c2fd820, 0x2a7db: 0x6c7bdc20, + 0x2a7dc: 0x6cbee220, 0x2a7dd: 0x6cb9ec20, 0x2a7de: 0x6cc5a020, 0x2a7df: 0x6cafae20, + 0x2a7e0: 0x6c787a20, 0x2a7e1: 0x6c95a620, 0x2a7e2: 0x6c438c20, 0x2a7e3: 0x6c15bc20, + 0x2a7e4: 0x6c5fc020, 0x2a7e5: 0x6d1e1820, 0x2a7e6: 0x6c9e0c20, 0x2a7e7: 0x6cbd7c20, + 0x2a7e8: 0x6cce9420, 0x2a7e9: 0x6c059e20, 0x2a7ea: 0x6c22f420, 0x2a7eb: 0x6c06c620, + 0x2a7ec: 0x6c5b8420, 0x2a7ed: 0x6c068e20, 0x2a7ee: 0x6c0efe20, 0x2a7ef: 0x6c5fd220, + 0x2a7f0: 0x6c5fec20, 0x2a7f1: 0x6cbe3a20, 0x2a7f2: 0x6cbe3a20, 0x2a7f3: 0x6cbe3a20, + 0x2a7f4: 0x48145820, 0x2a7f5: 0x6c5a8620, 0x2a7f6: 0x6c5fb820, 0x2a7f7: 0x6cda0e20, + 0x2a7f8: 0x4816c620, 0x2a7f9: 0x6c697a20, 0x2a7fa: 0x6c1bd620, 0x2a7fb: 0x6d108620, + 0x2a7fc: 0x6cfc7820, 0x2a7fd: 0x6cf56a20, 0x2a7fe: 0x6c19b620, 0x2a7ff: 0x6d385a20, + // Block 0xaa0, offset 0x2a800 + 0x2a800: 0x6c35e420, 0x2a801: 0x6c9ec220, 0x2a802: 0x6ce0e820, 0x2a803: 0x6cb6ec20, + 0x2a804: 0x6cfb5820, 0x2a805: 0x6ccd8a20, 0x2a806: 0x6ccd8a20, 0x2a807: 0x6c5bbc20, + 0x2a808: 0x6c1aae20, 0x2a809: 0x6d2bd620, 0x2a80a: 0x6d110420, 0x2a80b: 0x6ce8d420, + 0x2a80c: 0x6ce0a020, 0x2a80d: 0x6ce8d620, 0x2a80e: 0x6c4fd020, 0x2a80f: 0x6cae3420, + 0x2a810: 0x6cbc9020, 0x2a811: 0x6d3c2c20, 0x2a812: 0x6c19c620, 0x2a813: 0x6d344c20, + 0x2a814: 0x6ce92220, 0x2a815: 0x6d03ca20, 0x2a816: 0x6c223620, 0x2a817: 0x6c064c20, + 0x2a818: 0x6c2c7c20, 0x2a819: 0x4829c820, 0x2a81a: 0x6c972420, 0x2a81b: 0x6c554020, + 0x2a81c: 0x6c3c9c20, 0x2a81d: 0x6c341620, 0x2a81e: 0x6c9c0420, 0x2a81f: 0x6cceea20, + 0x2a820: 0x6c1bda20, 0x2a821: 0x482dd420, 0x2a822: 0x6c5ea220, 0x2a823: 0x6d20ec20, + 0x2a824: 0x6ce9f820, 0x2a825: 0x6cb1e820, 0x2a826: 0x6c3fe420, 0x2a827: 0x6ccae220, + 0x2a828: 0x6c139820, 0x2a829: 0x6cc52820, 0x2a82a: 0x6c804820, 0x2a82b: 0x6c804820, + 0x2a82c: 0x48339020, 0x2a82d: 0x6d24da20, 0x2a82e: 0x6d365020, 0x2a82f: 0x6ca91020, + 0x2a830: 0x6c061c20, 0x2a831: 0x6c81ee20, 0x2a832: 0x6cd45020, 0x2a833: 0x6c674e20, + 0x2a834: 0x6c28f820, 0x2a835: 0x6d1edc20, 0x2a836: 0x6d11f020, 0x2a837: 0x6ce8a020, + 0x2a838: 0x6c17fa20, 0x2a839: 0x6d053020, 0x2a83a: 0x6cb8a420, 0x2a83b: 0x6cf3b020, + 0x2a83c: 0x6d0d7a20, 0x2a83d: 0x483bcc20, 0x2a83e: 0x6c2ccc20, 0x2a83f: 0x6d3e3620, + // Block 0xaa1, offset 0x2a840 + 0x2a840: 0x6c15c620, 0x2a841: 0x6d09d820, 0x2a842: 0x6c175e20, 0x2a843: 0x6d15b220, + 0x2a844: 0x6d0a8c20, 0x2a845: 0x6cd71420, 0x2a846: 0x6c997a20, 0x2a847: 0x6c3b8620, + 0x2a848: 0x6c980020, 0x2a849: 0x48430620, 0x2a84a: 0x6d16e820, 0x2a84b: 0x6c0e0e20, + 0x2a84c: 0x6c097620, 0x2a84d: 0x6cd5c220, 0x2a84e: 0x6c80b420, 0x2a84f: 0x6cd79620, + 0x2a850: 0x6c45cc20, 0x2a851: 0x48466220, 0x2a852: 0x48466220, 0x2a853: 0x6d20e820, + 0x2a854: 0x6ce1b020, 0x2a855: 0x6ce1b020, 0x2a856: 0x6d16b220, 0x2a857: 0x48657020, + 0x2a858: 0x48c3b420, 0x2a859: 0x6d03c020, 0x2a85a: 0x6c2dc420, 0x2a85b: 0x6ccd7820, + 0x2a85c: 0x6c300020, 0x2a85d: 0x6cc58620, 0x2a85e: 0x6d357420, 0x2a85f: 0x6c7bb620, + 0x2a860: 0x6d24d420, 0x2a861: 0x6c5a4620, 0x2a862: 0x6c73f820, 0x2a863: 0x6c5b4c20, + 0x2a864: 0x6c2ff820, 0x2a865: 0x6c339820, 0x2a866: 0x6c224e20, 0x2a867: 0x6c599420, + 0x2a868: 0x6cd0ac20, 0x2a869: 0x6c599420, 0x2a86a: 0x6c90a220, 0x2a86b: 0x6d2b8a20, + 0x2a86c: 0x6cfd0820, 0x2a86d: 0x6c3be420, 0x2a86e: 0x6c11da20, 0x2a86f: 0x6c9b4a20, + 0x2a870: 0x6c1a5420, 0x2a871: 0x6c804a20, 0x2a872: 0x6c19b220, 0x2a873: 0x6c63b620, + 0x2a874: 0x6c7a1820, 0x2a875: 0x6c063220, 0x2a876: 0x6c036820, 0x2a877: 0x6c72e420, + 0x2a878: 0x48561820, 0x2a879: 0x6cecf820, 0x2a87a: 0x6cb1ea20, 0x2a87b: 0x6ccf2c20, + 0x2a87c: 0x6ccae020, 0x2a87d: 0x6c600020, 0x2a87e: 0x4857e220, 0x2a87f: 0x6c6d1420, + // Block 0xaa2, offset 0x2a880 + 0x2a880: 0x6d0ca820, 0x2a881: 0x6d0d6620, 0x2a882: 0x6c30b620, 0x2a883: 0x6ca07220, + 0x2a884: 0x6c67f620, 0x2a885: 0x6c5ae420, 0x2a886: 0x6c691420, 0x2a887: 0x4474d820, + 0x2a888: 0x6c9fa820, 0x2a889: 0x6c6e8420, 0x2a88a: 0x48601420, 0x2a88b: 0x6c61ec20, + 0x2a88c: 0x6cd4b820, 0x2a88d: 0x6c6cea20, 0x2a88e: 0x6cf01620, 0x2a88f: 0x6cd55a20, + 0x2a890: 0x6cf15420, 0x2a891: 0x6c16e420, 0x2a892: 0x6c994e20, 0x2a893: 0x6c9e1820, + 0x2a894: 0x6d41b020, 0x2a895: 0x6c6d2820, 0x2a896: 0x6ca31420, 0x2a897: 0x6ce05420, + 0x2a898: 0x6c80f820, 0x2a899: 0x6cee5220, 0x2a89a: 0x6d3f9820, 0x2a89b: 0x6cb6d620, + 0x2a89c: 0x6c0bea20, 0x2a89d: 0x48678620, 0x2a89e: 0x6c572820, 0x2a89f: 0x6c48dc20, + 0x2a8a0: 0x6c5e8e20, 0x2a8a1: 0x6cca6a20, 0x2a8a2: 0x6c99ec20, 0x2a8a3: 0x4868da20, + 0x2a8a4: 0x6c022a20, 0x2a8a5: 0x6c078420, 0x2a8a6: 0x6d3e3a20, 0x2a8a7: 0x6c513820, + 0x2a8a8: 0x6d2be020, 0x2a8a9: 0x6d112020, 0x2a8aa: 0x6c415020, 0x2a8ab: 0x6ccefe20, + 0x2a8ac: 0x486d4620, 0x2a8ad: 0x6d370620, 0x2a8ae: 0x6d159820, 0x2a8af: 0x6c22aa20, + 0x2a8b0: 0x48714e20, 0x2a8b1: 0x6d05d420, 0x2a8b2: 0x6c7d9c20, 0x2a8b3: 0x6cdc4620, + 0x2a8b4: 0x6cf15820, 0x2a8b5: 0x6ccbda20, 0x2a8b6: 0x6cbc4020, 0x2a8b7: 0x48751a20, + 0x2a8b8: 0x483a1620, 0x2a8b9: 0x4875f420, 0x2a8ba: 0x6c391c20, 0x2a8bb: 0x48797820, + 0x2a8bc: 0x6d0c6820, 0x2a8bd: 0x6c077e20, 0x2a8be: 0x6cb8a820, 0x2a8bf: 0x6cf3b620, + // Block 0xaa3, offset 0x2a8c0 + 0x2a8c0: 0x6cac1e20, 0x2a8c1: 0x6c4d3a20, 0x2a8c2: 0x6c8e4a20, 0x2a8c3: 0x6c502e20, + 0x2a8c4: 0x6c6cee20, 0x2a8c5: 0x6ca80820, 0x2a8c6: 0x6c07ac20, 0x2a8c7: 0x6cb28620, + 0x2a8c8: 0x6c42a220, 0x2a8c9: 0x6d0c0820, 0x2a8ca: 0x6c903620, 0x2a8cb: 0x6d3e4020, + 0x2a8cc: 0x6c2cce20, 0x2a8cd: 0x6ccc0a20, 0x2a8ce: 0x6d0bf820, 0x2a8cf: 0x6c177620, + 0x2a8d0: 0x487ebc20, 0x2a8d1: 0x487f1c20, 0x2a8d2: 0x6c3b8c20, 0x2a8d3: 0x6d270a20, + 0x2a8d4: 0x6c6eb420, 0x2a8d5: 0x6d1cba20, 0x2a8d6: 0x6cd63020, 0x2a8d7: 0x6cb9e020, + 0x2a8d8: 0x6d28f220, 0x2a8d9: 0x6d3bbe20, 0x2a8da: 0x6ce08e20, 0x2a8db: 0x480a4a20, + 0x2a8dc: 0x6c32cc20, 0x2a8dd: 0x4884c620, 0x2a8de: 0x6c233e20, 0x2a8df: 0x48875620, + 0x2a8e0: 0x6c24c420, 0x2a8e1: 0x6c74c820, 0x2a8e2: 0x6d2c3a20, 0x2a8e3: 0x488c1020, + 0x2a8e4: 0x6cf61a20, 0x2a8e5: 0x6c074020, 0x2a8e6: 0x6d0e3c20, 0x2a8e7: 0x48902820, + 0x2a8e8: 0x6cde2020, 0x2a8e9: 0x6cedda20, 0x2a8ea: 0x6c45d620, 0x2a8eb: 0x6d268820, + 0x2a8ec: 0x6cb29020, 0x2a8ed: 0x6cb29020, 0x2a8ee: 0x6c277a20, 0x2a8ef: 0x6d215e20, + 0x2a8f0: 0x6d325020, 0x2a8f1: 0x6cdd8a20, 0x2a8f2: 0x6cbf7620, 0x2a8f3: 0x6d03d220, + 0x2a8f4: 0x6cc89c20, 0x2a8f5: 0x48986c20, 0x2a8f6: 0x6d28f620, 0x2a8f7: 0x48992420, + 0x2a8f8: 0x6d176620, 0x2a8f9: 0x6cb2b420, 0x2a8fa: 0x6d226e20, 0x2a8fb: 0x489f4220, + 0x2a8fc: 0x489f7020, 0x2a8fd: 0x48a08820, 0x2a8fe: 0x6d0c7620, 0x2a8ff: 0x6c627820, + // Block 0xaa4, offset 0x2a900 + 0x2a900: 0x6d344020, 0x2a901: 0x48a1e620, 0x2a902: 0x48a1e420, 0x2a903: 0x48a23220, + 0x2a904: 0x48a26620, 0x2a905: 0x6d313c20, 0x2a906: 0x6d313e20, 0x2a907: 0x6d313e20, + 0x2a908: 0x6c736420, 0x2a909: 0x6c6ad220, 0x2a90a: 0x6c188220, 0x2a90b: 0x6d130220, + 0x2a90c: 0x6cd23420, 0x2a90d: 0x48a83a20, 0x2a90e: 0x6d03e220, 0x2a90f: 0x6c926e20, + 0x2a910: 0x6ce4ba20, 0x2a911: 0x6c5b7020, 0x2a912: 0x6c6fd820, 0x2a913: 0x6d411420, + 0x2a914: 0x6c1baa20, 0x2a915: 0x6c8f3a20, 0x2a916: 0x6c3e9c20, 0x2a917: 0x6cd52420, + 0x2a918: 0x6c657420, 0x2a919: 0x6c47c420, 0x2a91a: 0x6c624a20, 0x2a91b: 0x6cf1f020, + 0x2a91c: 0x48b2f820, 0x2a91d: 0x6ce4c020, 0x2a91e: 0x6ce4c020, 0x2a91f: 0x6cb26020, + 0x2a920: 0x6cb2be20, 0x2a921: 0x48b75620, 0x2a922: 0x6d3bde20, 0x2a923: 0x6d3a2820, + 0x2a924: 0x6cf00020, 0x2a925: 0x6c178020, 0x2a926: 0x6c076020, 0x2a927: 0x6cf8f420, + 0x2a928: 0x6c680820, 0x2a929: 0x6cca3020, 0x2a92a: 0x6c61b020, 0x2a92b: 0x48bf0c20, + 0x2a92c: 0x6c07ee20, 0x2a92d: 0x6d10b020, 0x2a92e: 0x6d3e6a20, 0x2a92f: 0x6d400620, + 0x2a930: 0x6ccac220, 0x2a931: 0x6c965020, 0x2a932: 0x6d03dc20, 0x2a933: 0x48c48e20, + 0x2a934: 0x6c9a0420, 0x2a935: 0x48c5b220, 0x2a936: 0x6c177e20, 0x2a937: 0x48c67c20, + 0x2a938: 0x6d104a20, 0x2a939: 0x6c027e20, 0x2a93a: 0x6d30d220, 0x2a93b: 0x48c9b420, + 0x2a93c: 0x48ca4620, 0x2a93d: 0x6cb25820, 0x2a93e: 0x48cb5020, 0x2a93f: 0x6c236620, + // Block 0xaa5, offset 0x2a940 + 0x2a940: 0x6c78f420, 0x2a941: 0x6cc5d220, 0x2a942: 0x6d22da20, 0x2a943: 0x6c252c20, + 0x2a944: 0x6c231a20, 0x2a945: 0x6caff420, 0x2a946: 0x6d1d4020, 0x2a947: 0x48cf4e20, + 0x2a948: 0x48cf6a20, 0x2a949: 0x6d085420, 0x2a94a: 0x48673820, 0x2a94b: 0x6d20e820, + 0x2a94c: 0x6cf89220, 0x2a94d: 0x6c225220, 0x2a94e: 0x6c07f020, 0x2a94f: 0x6cb6ce20, + 0x2a950: 0x6d22c820, 0x2a951: 0x6d338420, 0x2a952: 0x6c813e20, 0x2a953: 0x6c570620, + 0x2a954: 0x6c398620, 0x2a955: 0x6d0b1420, 0x2a956: 0x6c7a7620, 0x2a957: 0x48d67820, + 0x2a958: 0x6cc91420, 0x2a959: 0x6c148e20, 0x2a95a: 0x6cc65e20, 0x2a95b: 0x6c6aa820, + 0x2a95c: 0x6cf3bc20, 0x2a95d: 0x6c988a20, 0x2a95e: 0x6c2bf220, 0x2a95f: 0x6d311420, + 0x2a960: 0x6cb28e20, 0x2a961: 0x6c711c20, 0x2a962: 0x6c757020, 0x2a963: 0x6c114420, + 0x2a964: 0x48d86c20, 0x2a965: 0x6cdd8420, 0x2a966: 0x48d9aa20, 0x2a967: 0x448a5620, + 0x2a968: 0x6cb2ae20, 0x2a969: 0x6c6ca620, 0x2a96a: 0x6c25ea20, 0x2a96b: 0x48e79420, + 0x2a96c: 0x6cc8a220, 0x2a96d: 0x48de5820, 0x2a96e: 0x6c19a420, 0x2a96f: 0x6c936e20, + 0x2a970: 0x6c175420, 0x2a971: 0x6c93c420, 0x2a972: 0x6c7cba20, 0x2a973: 0x6caaa220, + 0x2a974: 0x6c91c420, 0x2a975: 0x6c7c4820, 0x2a976: 0x6cf90620, 0x2a977: 0x6c1aa420, + 0x2a978: 0x6cb8ca20, 0x2a979: 0x6d24fc20, 0x2a97a: 0x6cb2b020, 0x2a97b: 0x6d276220, + 0x2a97c: 0x6c2ed620, 0x2a97d: 0x6d39be20, 0x2a97e: 0x6c22de20, 0x2a97f: 0x6c5f4420, + // Block 0xaa6, offset 0x2a980 + 0x2a980: 0x6c4b2220, 0x2a981: 0x6cfe0220, 0x2a982: 0x6c22ec20, 0x2a983: 0x6d3cd820, + 0x2a984: 0x6d13be20, 0x2a985: 0x6c668020, 0x2a986: 0x6c8e6020, 0x2a987: 0x6cd72420, + 0x2a988: 0x6c929c20, 0x2a989: 0x6d0daa20, 0x2a98a: 0x6c996a20, 0x2a98b: 0x48f15c20, + 0x2a98c: 0x48f2cc20, 0x2a98d: 0x6ca8e820, 0x2a98e: 0x6d25ea20, 0x2a98f: 0x6c1a2220, + 0x2a990: 0x6d23f620, 0x2a991: 0x6c0bdc20, 0x2a992: 0x6cd2b020, 0x2a993: 0x6c649220, + 0x2a994: 0x6c498620, 0x2a995: 0x6c09b020, 0x2a996: 0x6c424420, 0x2a997: 0x6cb6ea20, + 0x2a998: 0x6cd61020, 0x2a999: 0x6d2fdc20, 0x2a99a: 0x6c038220, 0x2a99b: 0x6c658c20, + 0x2a99c: 0x6cb11c20, 0x2a99d: 0x4811bc20, 0x2a99e: 0x6cc5e420, 0x2a99f: 0x6cd50820, + 0x2a9a0: 0x490ba420, 0x2a9a1: 0x490bda20, 0x2a9a2: 0x6cb6c420, 0x2a9a3: 0x6cb27e20, + 0x2a9a4: 0x6d3e4a20, 0x2a9a5: 0x490e5c20, 0x2a9a6: 0x6c176420, 0x2a9a7: 0x6c0f1c20, + 0x2a9a8: 0x6d07ca20, 0x2a9a9: 0x6c575620, 0x2a9aa: 0x6c0dee20, 0x2a9ab: 0x6cbb5020, + 0x2a9ac: 0x6d295820, 0x2a9ad: 0x4917f420, 0x2a9ae: 0x6c763420, 0x2a9af: 0x6cae7c20, + 0x2a9b0: 0x6ccca420, 0x2a9b1: 0x491aee20, 0x2a9b2: 0x6cef3620, 0x2a9b3: 0x6cb8e820, + 0x2a9b4: 0x6cf69820, 0x2a9b5: 0x6d280620, 0x2a9b6: 0x6cace820, 0x2a9b7: 0x6cb26420, + 0x2a9b8: 0x6c930020, 0x2a9b9: 0x6c160820, 0x2a9ba: 0x6c0ab220, 0x2a9bb: 0x49281420, + 0x2a9bc: 0x6c7d6c20, 0x2a9bd: 0x6d0eb020, 0x2a9be: 0x6c35b420, 0x2a9bf: 0x6c35b420, + // Block 0xaa7, offset 0x2a9c0 + 0x2a9c0: 0x6cb26620, 0x2a9c1: 0x6d097020, 0x2a9c2: 0x6c5eb020, 0x2a9c3: 0x6c04d420, + 0x2a9c4: 0x6c36b220, 0x2a9c5: 0x6d276c20, 0x2a9c6: 0x6c060a20, 0x2a9c7: 0x6cea1420, + 0x2a9c8: 0x6c423020, 0x2a9c9: 0x6cbf6820, 0x2a9ca: 0x6d320420, 0x2a9cb: 0x6c62d820, + 0x2a9cc: 0x6c64ec20, 0x2a9cd: 0x6c702e20, 0x2a9ce: 0x6c60f620, 0x2a9cf: 0x6cb02c20, + 0x2a9d0: 0x6d21ea20, 0x2a9d1: 0x6c968620, 0x2a9d2: 0x6ccc2e20, 0x2a9d3: 0x49441c20, + 0x2a9d4: 0x49452220, 0x2a9d5: 0x6c966820, 0x2a9d6: 0x6cba8620, 0x2a9d7: 0x6d353420, + 0x2a9d8: 0x6c9e0a20, 0x2a9d9: 0x6d342a20, 0x2a9da: 0x6c9d7420, 0x2a9db: 0x6c3ba420, + 0x2a9dc: 0x6c08a220, 0x2a9dd: 0x6cb13820, + // Block 0xaa8, offset 0x2aa00 + 0x2aa00: 0x6c00c220, 0x2aa01: 0xe0002416, 0x2aa02: 0x029cb684, 0x2aa03: 0x029cb484, + 0x2aa04: 0x6c000e20, 0x2aa05: 0x029d7684, 0x2aa06: 0x6c008a20, 0x2aa07: 0x6c009220, + 0x2aa08: 0x6c009e20, 0x2aa09: 0x02a40484, 0x2aa0a: 0x6c00b820, 0x2aa0b: 0xe0002413, + 0x2aa0c: 0x6c01a420, 0x2aa0d: 0x6c01a620, 0x2aa0e: 0xe000241f, 0x2aa0f: 0x02b84684, + 0x2aa10: 0x02b84484, 0x2aa11: 0xe0002422, 0x2aa12: 0x02bbe684, 0x2aa13: 0x02bcf484, + 0x2aa14: 0x02bea284, 0x2aa15: 0x6c01e620, 0x2aa16: 0x02bf8884, 0x2aa17: 0xe0002428, + 0x2aa18: 0x02c49884, 0x2aa19: 0x02ca6a84, 0x2aa1b: 0x02cbc284, + 0x2aa1c: 0x6c049420, 0x2aa1d: 0x6c049a20, 0x2aa1e: 0xe0002436, 0x2aa1f: 0x2c098083, + 0x2aa20: 0x02d82284, 0x2aa21: 0x02d86a84, 0x2aa22: 0x02d87484, 0x2aa23: 0x02e0d884, + 0x2aa24: 0x02e45684, 0x2aa25: 0x6c04d420, 0x2aa26: 0x029c5884, 0x2aa27: 0x6c04ee20, + 0x2aa28: 0x02e55a84, 0x2aa29: 0xe000243f, 0x2aa2a: 0x6c0a1820, 0x2aa2b: 0xe0002445, + 0x2aa2c: 0x6c0a3220, 0x2aa2d: 0x02f27684, 0x2aa2e: 0x6c13f420, 0x2aa2f: 0x02f9f284, + 0x2aa30: 0x02fd3e84, 0x2aa31: 0x02fea684, 0x2aa32: 0x02fea484, 0x2aa33: 0xe0002451, + 0x2aa34: 0xe0002454, 0x2aa35: 0xe000244e, 0x2aa36: 0x6c143820, 0x2aa37: 0xe000245a, + 0x2aa38: 0x02ff1684, 0x2aa39: 0x03000484, 0x2aa3a: 0x03010084, 0x2aa3b: 0xe000245d, + 0x2aa3c: 0x6c050a20, 0x2aa3d: 0xe0002463, 0x2aa3e: 0x6c020220, 0x2aa3f: 0xe0002466, + // Block 0xaa9, offset 0x2aa40 + 0x2aa40: 0xe0002469, 0x2aa41: 0x030c9c84, 0x2aa42: 0x0310c884, 0x2aa43: 0x03130084, + 0x2aa44: 0x0312fe84, 0x2aa45: 0x03138284, 0x2aa46: 0x6c26a420, 0x2aa47: 0xe000246c, + 0x2aa48: 0x03174084, 0x2aa49: 0x031a3a84, 0x2aa4a: 0x6c270020, 0x2aa4b: 0x031ecc84, + 0x2aa4c: 0x6c020620, 0x2aa4d: 0x6c051c20, 0x2aa4e: 0xe0002475, 0x2aa4f: 0x6c00cc20, + 0x2aa50: 0x03290a84, 0x2aa51: 0x032aee84, 0x2aa52: 0x032af084, 0x2aa53: 0x032afe84, + 0x2aa54: 0x032bd084, 0x2aa55: 0xe000247b, 0x2aa56: 0x6c00ce20, 0x2aa57: 0x6c427620, + 0x2aa58: 0x032ea484, 0x2aa59: 0x032fcc84, 0x2aa5a: 0x0330ea84, 0x2aa5b: 0x03319c84, + 0x2aa5c: 0x0331bc84, 0x2aa5d: 0x0331be84, 0x2aa5e: 0x6c636020, 0x2aa5f: 0x0331c084, + 0x2aa60: 0x0332c684, 0x2aa61: 0xe0002484, 0x2aa62: 0x0334d884, 0x2aa63: 0x6c63aa20, + 0x2aa64: 0xe000248a, 0x2aa65: 0x0338f884, 0x2aa66: 0x033c3e84, 0x2aa67: 0xe000248d, + 0x2aa68: 0x033d4c84, 0x2aa69: 0x033d8884, 0x2aa6a: 0x033dfc84, 0x2aa6b: 0xe0002490, + 0x2aa6c: 0x033ea084, 0x2aa6d: 0xe0002493, 0x2aa6e: 0x033efe84, 0x2aa6f: 0xe0002496, + 0x2aa70: 0x033f3284, 0x2aa71: 0xe0002499, 0x2aa72: 0xe000249c, 0x2aa73: 0x2c28ac83, + // Block 0xaaa, offset 0x2aa80 + 0x2aa80: 0x2c000286, 0x2aa81: 0x2c000483, 0x2aa82: 0x2c000683, 0x2aa83: 0x2c000883, + 0x2aa84: 0x2c001084, 0x2aa85: 0x2c002483, 0x2aa86: 0x2c007486, 0x2aa87: 0x2c007c83, + 0x2aa88: 0x2c007e84, 0x2aa89: 0x2c008483, 0x2aa8a: 0x2c008683, 0x2aa8b: 0x2c008884, + 0x2aa8c: 0x2c008c83, 0x2aa8d: 0x2c008e83, 0x2aa8e: 0x2c009083, 0x2aa8f: 0x2c009483, + 0x2aa90: 0x2c009a83, 0x2aa91: 0x2c00a083, 0x2aa92: 0x2c00a883, 0x2aa93: 0x2c00aa83, + 0x2aa94: 0x2c00ac83, 0x2aa95: 0x2c00b083, 0x2aa96: 0x2c00b483, 0x2aa97: 0x2c00b685, + 0x2aa98: 0x2c00ba83, 0x2aa99: 0x2c00bc83, 0x2aa9a: 0x2c00be83, 0x2aa9b: 0x2c00c083, + 0x2aa9c: 0x2c00c483, 0x2aa9d: 0x2c018083, 0x2aa9e: 0x2c018283, 0x2aa9f: 0x2c018484, + 0x2aaa0: 0x2c018683, 0x2aaa1: 0x2c018883, 0x2aaa2: 0x2c018c83, 0x2aaa3: 0x2c018e83, + 0x2aaa4: 0x2c019083, 0x2aaa5: 0x2c019484, 0x2aaa6: 0x2c019683, 0x2aaa7: 0x2c01a083, + 0x2aaa8: 0x2c01a283, 0x2aaa9: 0x2c01a883, 0x2aaaa: 0x2c01ac83, 0x2aaab: 0x2c01b283, + 0x2aaac: 0x2c01b683, 0x2aaad: 0x2c01ba83, 0x2aaae: 0x2c01bc83, 0x2aaaf: 0x2c01c483, + 0x2aab0: 0x2c01c683, 0x2aab1: 0x2c01cc83, 0x2aab2: 0x2c01ce83, 0x2aab3: 0x2c01d283, + 0x2aab4: 0x2c01d483, 0x2aab5: 0x2c01d683, 0x2aab6: 0x2c01d883, 0x2aab7: 0x2c01dc83, + 0x2aab8: 0x2c01e083, 0x2aab9: 0x2c01e883, 0x2aaba: 0x2c01ec83, 0x2aabb: 0x2c01ee83, + 0x2aabc: 0x2c046683, 0x2aabd: 0x2c046c83, 0x2aabe: 0x2c046e83, 0x2aabf: 0x2c047484, + // Block 0xaab, offset 0x2aac0 + 0x2aac0: 0x2c047e83, 0x2aac1: 0x2c048083, 0x2aac2: 0x2c048484, 0x2aac3: 0x2c048683, + 0x2aac4: 0x2c048a83, 0x2aac5: 0x2c048e83, 0x2aac6: 0x2c049083, 0x2aac7: 0x2c049684, + 0x2aac8: 0x2c049883, 0x2aac9: 0x2c049c85, 0x2aaca: 0x2c049e84, 0x2aacb: 0x2c04a683, + 0x2aacc: 0x2c04a883, 0x2aacd: 0x2c04ae83, 0x2aace: 0x2c04b483, 0x2aacf: 0x2c04b683, + 0x2aad0: 0x2c04bc83, 0x2aad1: 0x2c04be83, 0x2aad2: 0x2c04c283, 0x2aad3: 0x2c04c483, + 0x2aad4: 0x2c04c684, 0x2aad5: 0x2c04d084, 0x2aad6: 0x2c04d683, 0x2aad7: 0x2c04de83, + 0x2aad8: 0x2c04e083, 0x2aad9: 0x2c04e483, 0x2aada: 0x2c04e883, 0x2aadb: 0x2c04ec83, + 0x2aadc: 0x2c04f083, 0x2aadd: 0x2c04f483, 0x2aade: 0x2c09ee83, 0x2aadf: 0x2c09f283, + 0x2aae0: 0x2c09fa83, 0x2aae1: 0x2c09fc83, 0x2aae2: 0x2c09fe83, 0x2aae3: 0x2c0a0284, + 0x2aae4: 0x2c0a0683, 0x2aae5: 0x2c0a0a83, 0x2aae6: 0x2c0a1a83, 0x2aae7: 0x2c0a2083, + 0x2aae8: 0x2c0a2283, 0x2aae9: 0x2c0a2483, 0x2aaea: 0x2c0a2683, 0x2aaeb: 0x2c0a2883, + 0x2aaec: 0x2c0a2a83, 0x2aaed: 0x2c0a2c83, 0x2aaee: 0x2c0a2e83, 0x2aaef: 0x2c0a3083, + 0x2aaf0: 0x2c0a3483, 0x2aaf1: 0x2c0a3883, 0x2aaf2: 0x2c0a3c83, 0x2aaf3: 0x2c0a4083, + 0x2aaf4: 0x2c0a4483, 0x2aaf5: 0x2c141083, 0x2aaf6: 0x2c141483, 0x2aaf7: 0x2c141683, + 0x2aaf8: 0x2c143083, 0x2aaf9: 0x2c143483, 0x2aafa: 0x2c143a83, 0x2aafb: 0x2c144283, + 0x2aafc: 0x2c144483, 0x2aafd: 0x2c144883, 0x2aafe: 0x2c144c83, 0x2aaff: 0x2c145083, + // Block 0xaac, offset 0x2ab00 + 0x2ab00: 0x2c145283, 0x2ab01: 0x2c145683, 0x2ab02: 0x2c147a83, 0x2ab03: 0x2c147e83, + 0x2ab04: 0x2c148283, 0x2ab05: 0x2c148883, 0x2ab06: 0x2c149083, 0x2ab07: 0x2c149283, + 0x2ab08: 0x2c149483, 0x2ab09: 0x2c149883, 0x2ab0a: 0x2c149a83, 0x2ab0b: 0x2c149e83, + 0x2ab0c: 0x2c14ca83, 0x2ab0d: 0x2c14cc83, 0x2ab0e: 0x2c14ce83, 0x2ab0f: 0x2c14d083, + 0x2ab10: 0x2c14d283, 0x2ab11: 0x2c14d483, 0x2ab12: 0x2c26a083, 0x2ab13: 0x2c26a683, + 0x2ab14: 0x2c26aa83, 0x2ab15: 0x2c26e683, 0x2ab16: 0x2c26ea83, 0x2ab17: 0x2c26ec83, + 0x2ab18: 0x2c26f283, 0x2ab19: 0x2c26f483, 0x2ab1a: 0x2c26fa83, 0x2ab1b: 0x2c26fc84, + 0x2ab1c: 0x2c270283, 0x2ab1d: 0x2c270683, 0x2ab1e: 0x2c270e83, 0x2ab1f: 0x2c271c83, + 0x2ab20: 0x2c272083, 0x2ab21: 0x2c272683, 0x2ab22: 0x2c278a83, 0x2ab23: 0x2c27ec83, + 0x2ab24: 0x2c27ee83, 0x2ab25: 0x2c27f083, 0x2ab26: 0x2c41dc84, 0x2ab27: 0x2c41fe83, + 0x2ab28: 0x2c420283, 0x2ab29: 0x2c421083, 0x2ab2a: 0x2c427283, 0x2ab2b: 0x2c427483, + 0x2ab2c: 0x2c427883, 0x2ab2d: 0x2c427a83, 0x2ab2e: 0x2c427e83, 0x2ab2f: 0x2c632e83, + 0x2ab30: 0x2c633283, 0x2ab31: 0x2c633483, 0x2ab32: 0x2c633c83, 0x2ab33: 0x2c633e83, + 0x2ab34: 0x2c634083, 0x2ab35: 0x2c634e83, 0x2ab36: 0x2c635c83, 0x2ab37: 0x2c636283, + 0x2ab38: 0x2c637e83, 0x2ab39: 0x2c638283, 0x2ab3a: 0x2c8a8e83, 0x2ab3b: 0x2c8aae83, + 0x2ab3c: 0x2c8ab083, 0x2ab3d: 0x2c8ab283, 0x2ab3e: 0x2c8ab483, 0x2ab3f: 0x2c8aba83, + // Block 0xaad, offset 0x2ab40 + 0x2ab40: 0x2c8abc83, 0x2ab41: 0x2c8abe83, 0x2ab42: 0x2cb74483, 0x2ab43: 0x2cb75283, + 0x2ab44: 0x2cb78283, 0x2ab45: 0x2cb78683, 0x2ab46: 0x2cb78a83, 0x2ab47: 0x2cb79483, + 0x2ab48: 0x2ce8b483, 0x2ab49: 0x2ce8b883, 0x2ab4a: 0x2ce8ba83, 0x2ab4b: 0x2ce8be83, + 0x2ab4c: 0x2d187483, 0x2ab4d: 0x2d187883, 0x2ab4e: 0x2d187a83, 0x2ab4f: 0x2d188083, + 0x2ab50: 0x2d478083, 0x2ab51: 0x2d478283, 0x2ab52: 0x2d75b683, 0x2ab53: 0x2d9f9c83, + 0x2ab54: 0x2d9f9e83, 0x2ab55: 0x2dc24283, + 0x2ab70: 0x40273a20, 0x2ab71: 0x40273c20, 0x2ab72: 0x40273e20, 0x2ab73: 0x40274020, + 0x2ab74: 0x40274220, 0x2ab75: 0x40274420, 0x2ab76: 0x40274620, 0x2ab77: 0x40274820, + 0x2ab78: 0x40274a20, 0x2ab79: 0x40274c20, 0x2ab7a: 0x40274e20, 0x2ab7b: 0x40275020, + // Block 0xaae, offset 0x2ab80 + 0x2ab80: 0x00021283, 0x2ab81: 0x40025c20, 0x2ab82: 0x40030420, 0x2ab83: 0x40051220, + 0x2ab84: 0x40279a20, 0x2ab85: 0x6c021420, 0x2ab86: 0x6c002820, 0x2ab87: 0x6c002a20, + 0x2ab88: 0x40049c20, 0x2ab89: 0x40049e20, 0x2ab8a: 0x4004a020, 0x2ab8b: 0x4004a220, + 0x2ab8c: 0x4004a420, 0x2ab8d: 0x4004a620, 0x2ab8e: 0x4004a820, 0x2ab8f: 0x4004aa20, + 0x2ab90: 0x4004ac20, 0x2ab91: 0x4004ae20, 0x2ab92: 0x40279c20, 0x2ab93: 0x40279e20, + 0x2ab94: 0x4004b020, 0x2ab95: 0x4004b220, 0x2ab96: 0x4004b420, 0x2ab97: 0x4004b620, + 0x2ab98: 0x4004b820, 0x2ab99: 0x4004ba20, 0x2ab9a: 0x4004bc20, 0x2ab9b: 0x4004be20, + 0x2ab9c: 0x40023820, 0x2ab9d: 0x4003ea20, 0x2ab9e: 0x4003ec20, 0x2ab9f: 0x4003ee20, + 0x2aba0: 0x4027a020, 0x2aba1: 0x6c002c20, 0x2aba2: 0x6c00d220, 0x2aba3: 0x6c021620, + 0x2aba4: 0x6c00d420, 0x2aba5: 0x6c002e20, 0x2aba6: 0x6c00d620, 0x2aba7: 0x6c021820, + 0x2aba8: 0x6c053820, 0x2aba9: 0x6c053a20, 0x2abaa: 0xada12202, 0x2abab: 0xae412302, + 0x2abac: 0xae812402, 0x2abad: 0xade12502, 0x2abae: 0xae012602, 0x2abaf: 0xae012702, + 0x2abb0: 0x40023a20, 0x2abb1: 0x4027ce20, 0x2abb2: 0xe0000152, 0x2abb3: 0x4027d020, + 0x2abb4: 0xe0000155, 0x2abb5: 0x4027d220, 0x2abb6: 0x00279c84, 0x2abb7: 0x4027a220, + 0x2abb8: 0x2c00b684, 0x2abb9: 0x2c00e683, 0x2abba: 0x2c036883, 0x2abbb: 0x6c003020, + 0x2abbc: 0xe000231a, 0x2abbd: 0x40051420, 0x2abbe: 0x4027a420, 0x2abbf: 0x4027a620, + // Block 0xaaf, offset 0x2abc0 + 0x2abc0: 0x00633a84, 0x2abc1: 0x00634484, 0x2abc2: 0x0064f684, 0x2abc3: 0x0064f884, + 0x2abc4: 0x00635a84, 0x2abc5: 0x00635c84, 0x2abc6: 0x00635e84, 0x2abc7: 0x0063ee84, + 0x2abc8: 0x0063f084, 0x2abc9: 0x0063f684, 0x2abca: 0x00640884, 0x2abcb: 0x00640a84, + 0x2abcc: 0x00640e84, 0x2abcd: 0x00642284, 0x2abce: 0x00642884, + 0x2abd0: 0x4027a820, 0x2abd1: 0x4027aa20, 0x2abd2: 0x2c000285, 0x2abd3: 0x2c007485, + 0x2abd4: 0x2c00dc85, 0x2abd5: 0x2c079084, 0x2abd6: 0x2c00de84, 0x2abd7: 0x2c023685, + 0x2abd8: 0x2c00e084, 0x2abd9: 0x2c0a0e83, 0x2abda: 0x2c001083, 0x2abdb: 0x2c054883, + 0x2abdc: 0x2c003283, 0x2abdd: 0x2c03de84, 0x2abde: 0x2c0ed083, 0x2abdf: 0x2c007e83, + 0x2abe0: 0xe000237a, 0x2abe1: 0xe0002383, 0x2abe2: 0xe0002380, 0x2abe3: 0xe000237d, + 0x2abe4: 0x40661c20, 0x2abe5: 0xe000238c, 0x2abe6: 0x40661620, 0x2abe7: 0xe0002389, + 0x2abe8: 0xe000239e, 0x2abe9: 0xe0002386, 0x2abea: 0xe0002395, 0x2abeb: 0xe000239b, + 0x2abec: 0x40663420, 0x2abed: 0x4065f220, 0x2abee: 0xe000238f, 0x2abef: 0xe0002392, + 0x2abf0: 0x40663020, 0x2abf1: 0x40663220, 0x2abf2: 0x40662c20, 0x2abf3: 0xe0002398, + 0x2abf4: 0x0065dc99, 0x2abf5: 0x0065e699, 0x2abf6: 0x0065ee99, 0x2abf7: 0x0065f499, + 0x2abf8: 0x40660c20, 0x2abf9: 0x40660e20, 0x2abfa: 0x40661020, + // Block 0xab0, offset 0x2ac00 + 0x2ac00: 0xf0000404, 0x2ac01: 0xf0000404, 0x2ac02: 0xf0000404, 0x2ac03: 0xf0000404, + 0x2ac04: 0xf0000404, 0x2ac05: 0xf0000404, 0x2ac06: 0xf0000404, 0x2ac07: 0xf0000404, + 0x2ac08: 0xf0000404, 0x2ac09: 0xf0000404, 0x2ac0a: 0xf0000404, 0x2ac0b: 0xf0000404, + 0x2ac0c: 0xf0000404, 0x2ac0d: 0xf0000404, 0x2ac0e: 0xe000004c, 0x2ac0f: 0xe0000051, + 0x2ac10: 0xe0000056, 0x2ac11: 0xe000005b, 0x2ac12: 0xe0000060, 0x2ac13: 0xe0000065, + 0x2ac14: 0xe000006a, 0x2ac15: 0xe000006f, 0x2ac16: 0xe0000083, 0x2ac17: 0xe000008d, + 0x2ac18: 0xe0000092, 0x2ac19: 0xe0000097, 0x2ac1a: 0xe000009c, 0x2ac1b: 0xe00000a1, + 0x2ac1c: 0xe0000088, 0x2ac1d: 0xe0000074, 0x2ac1e: 0xe000007c, + 0x2ac20: 0xe000b5b7, 0x2ac21: 0xe000b5c3, 0x2ac22: 0xe000b5cf, 0x2ac23: 0xe000b5f7, + 0x2ac24: 0xe000b5d7, 0x2ac25: 0xe000b5db, 0x2ac26: 0xe000b5bb, 0x2ac27: 0xe000b5c7, + 0x2ac28: 0xe000b5bf, 0x2ac29: 0xe000b5cb, 0x2ac2a: 0xe000b5e3, 0x2ac2b: 0xe000b5ef, + 0x2ac2c: 0xe000b5eb, 0x2ac2d: 0xe000b5e7, 0x2ac2e: 0xe000b627, 0x2ac2f: 0xe000b5d3, + 0x2ac30: 0xe000b5df, 0x2ac31: 0xe000b62b, 0x2ac32: 0xe000b607, 0x2ac33: 0xe000b623, + 0x2ac34: 0xe000b603, 0x2ac35: 0xe000b62f, 0x2ac36: 0xe000b637, 0x2ac37: 0xe000b633, + 0x2ac38: 0xe000b613, 0x2ac39: 0xe000b5f3, 0x2ac3a: 0xe000b61b, 0x2ac3b: 0xe000b61f, + 0x2ac3c: 0xe000b643, 0x2ac3d: 0xe000b5fb, 0x2ac3e: 0xe000b63f, 0x2ac3f: 0xe000b617, + // Block 0xab1, offset 0x2ac40 + 0x2ac40: 0xe000b63b, 0x2ac41: 0xe000b5ff, 0x2ac42: 0xe000b60b, 0x2ac43: 0xe000b60f, + 0x2ac44: 0x2c8e8e83, 0x2ac45: 0x2c08be83, 0x2ac46: 0x2c048483, 0x2ac47: 0x2d326883, + 0x2ac48: 0xe00002e3, 0x2ac49: 0xe00003d8, 0x2ac4a: 0xe00004b3, 0x2ac4b: 0xe000057d, + 0x2ac4c: 0xe0000648, 0x2ac4d: 0xe00006f0, 0x2ac4e: 0xe000079c, 0x2ac4f: 0xe0000841, + 0x2ac50: 0xe0000ec0, 0x2ac51: 0xf0000606, 0x2ac52: 0xf0000606, 0x2ac53: 0xf0000606, + 0x2ac54: 0xf0000606, 0x2ac55: 0xf0000606, 0x2ac56: 0xf0000606, 0x2ac57: 0xf0000606, + 0x2ac58: 0xf0000606, 0x2ac59: 0xf0000606, 0x2ac5a: 0xf0000606, 0x2ac5b: 0xf0000606, + 0x2ac5c: 0xf0000606, 0x2ac5d: 0xf0000606, 0x2ac5e: 0xf0000606, 0x2ac5f: 0xf0000606, + 0x2ac60: 0x0062ac86, 0x2ac61: 0x0062b086, 0x2ac62: 0x0062b286, 0x2ac63: 0x0062b686, + 0x2ac64: 0x0062b886, 0x2ac65: 0x0062ba86, 0x2ac66: 0x0062be86, 0x2ac67: 0x0062c286, + 0x2ac68: 0x0062c486, 0x2ac69: 0x0062c886, 0x2ac6a: 0x0062ca86, 0x2ac6b: 0x0062cc86, + 0x2ac6c: 0x0062ce86, 0x2ac6d: 0x0062d086, 0x2ac6e: 0xf0000606, 0x2ac6f: 0xf0000606, + 0x2ac70: 0xf0000606, 0x2ac71: 0xf0000606, 0x2ac72: 0xf0000606, 0x2ac73: 0xf0000606, + 0x2ac74: 0xf0000606, 0x2ac75: 0xf0000606, 0x2ac76: 0xf0000606, 0x2ac77: 0xf0000606, + 0x2ac78: 0xf0000606, 0x2ac79: 0xf0000606, 0x2ac7a: 0xf0000606, 0x2ac7b: 0xf0000606, + 0x2ac7c: 0xe0002127, 0x2ac7d: 0xe0002122, 0x2ac7e: 0xf0000606, 0x2ac7f: 0x4027ac20, + // Block 0xab2, offset 0x2ac80 + 0x2ac80: 0x2c000284, 0x2ac81: 0x2c007484, 0x2ac82: 0x2c00dc84, 0x2ac83: 0x2c079083, + 0x2ac84: 0x2c028883, 0x2ac85: 0x2c02d883, 0x2ac86: 0x2c003683, 0x2ac87: 0x2c008883, + 0x2ac88: 0x2c006283, 0x2ac89: 0x2c00b683, 0x2ac8a: 0x2c049c84, 0x2ac8b: 0x2c04d083, + 0x2ac8c: 0x2c04c683, 0x2ac8d: 0x2c049e83, 0x2ac8e: 0x2c41dc83, 0x2ac8f: 0x2c018483, + 0x2ac90: 0x2c049683, 0x2ac91: 0x2c741683, 0x2ac92: 0x2c127484, 0x2ac93: 0x2c3cee83, + 0x2ac94: 0x2c0e3e83, 0x2ac95: 0x2c791683, 0x2ac96: 0x2c86f083, 0x2ac97: 0x2c7de083, + 0x2ac98: 0x2c185283, 0x2ac99: 0x2c7e3883, 0x2ac9a: 0x2c24b683, 0x2ac9b: 0x2c019483, + 0x2ac9c: 0x2d6c7483, 0x2ac9d: 0x2d9fc483, 0x2ac9e: 0x2c0db883, 0x2ac9f: 0x2c38fa83, + 0x2aca0: 0x2ce74883, 0x2aca1: 0x2c0bc083, 0x2aca2: 0x2c063e83, 0x2aca3: 0x2c097683, + 0x2aca4: 0x2c00de83, 0x2aca5: 0x2c023684, 0x2aca6: 0x2c00e083, 0x2aca7: 0x2c089284, + 0x2aca8: 0x2c075484, 0x2aca9: 0x2c18a683, 0x2acaa: 0x2c300483, 0x2acab: 0x2c2fd883, + 0x2acac: 0x2d2efa83, 0x2acad: 0x2c0ba083, 0x2acae: 0x2d0f3883, 0x2acaf: 0x2c2bb283, + 0x2acb0: 0x2c2e8e83, 0x2acb1: 0xf0000606, 0x2acb2: 0xf0000606, 0x2acb3: 0xf0000606, + 0x2acb4: 0xf0000606, 0x2acb5: 0xf0000606, 0x2acb6: 0xf0000606, 0x2acb7: 0xf0000606, + 0x2acb8: 0xf0000606, 0x2acb9: 0xf0000606, 0x2acba: 0xf0000606, 0x2acbb: 0xf0000606, + 0x2acbc: 0xf0000606, 0x2acbd: 0xf0000606, 0x2acbe: 0xf0000606, 0x2acbf: 0xf0000606, + // Block 0xab3, offset 0x2acc0 + 0x2acc0: 0xf0000203, 0x2acc1: 0xf0000203, 0x2acc2: 0xf0000203, 0x2acc3: 0xf0000203, + 0x2acc4: 0xf0000203, 0x2acc5: 0xf0000203, 0x2acc6: 0xf0000203, 0x2acc7: 0xf0000203, + 0x2acc8: 0xf0000203, 0x2acc9: 0xe000b66f, 0x2acca: 0xe000b67b, 0x2accb: 0xe000b687, + 0x2accc: 0xf0001c1d, 0x2accd: 0xe0000b85, 0x2acce: 0xf0001d1c, 0x2accf: 0xe0000d14, + 0x2acd0: 0x00657693, 0x2acd1: 0x00657893, 0x2acd2: 0x00657a93, 0x2acd3: 0x00657e93, + 0x2acd4: 0x00658093, 0x2acd5: 0x00658293, 0x2acd6: 0x00658493, 0x2acd7: 0x00658693, + 0x2acd8: 0x00658893, 0x2acd9: 0x00658a93, 0x2acda: 0x00658c93, 0x2acdb: 0x00658e93, + 0x2acdc: 0x00659093, 0x2acdd: 0x00659293, 0x2acde: 0x00659493, 0x2acdf: 0x00659693, + 0x2ace0: 0x00659893, 0x2ace1: 0x00659a93, 0x2ace2: 0x00659c93, 0x2ace3: 0x00659e93, + 0x2ace4: 0x0065a093, 0x2ace5: 0x0065a293, 0x2ace6: 0x0065a493, 0x2ace7: 0x0065a693, + 0x2ace8: 0x0065a893, 0x2ace9: 0x0065aa93, 0x2acea: 0x0065ac93, 0x2aceb: 0x0065ae93, + 0x2acec: 0x0065b093, 0x2aced: 0x0065b293, 0x2acee: 0x0065b493, 0x2acef: 0x0065b693, + 0x2acf0: 0x0065b893, 0x2acf1: 0x0065ba93, 0x2acf2: 0x0065bc93, 0x2acf3: 0x0065be93, + 0x2acf4: 0x0065c093, 0x2acf5: 0x0065c493, 0x2acf6: 0x0065c693, 0x2acf7: 0x0065c893, + 0x2acf8: 0x0065ca93, 0x2acf9: 0x0065cc93, 0x2acfa: 0x0065ce93, 0x2acfb: 0x0065d093, + 0x2acfc: 0x0065d293, 0x2acfd: 0x0065d493, 0x2acfe: 0x0065d693, + // Block 0xab4, offset 0x2ad00 + 0x2ad00: 0xe000230b, 0x2ad01: 0xe00022f8, 0x2ad02: 0xe00022fc, 0x2ad03: 0xe0002311, + 0x2ad04: 0xe0002316, 0x2ad05: 0xe000231d, 0x2ad06: 0xe0002321, 0x2ad07: 0xe0002325, + 0x2ad08: 0xe000232b, 0x2ad09: 0xf0001c1c, 0x2ad0a: 0xe0002330, 0x2ad0b: 0xe000233c, + 0x2ad0c: 0xe0002340, 0x2ad0d: 0xe0002337, 0x2ad0e: 0xe0002346, 0x2ad0f: 0xe000234b, + 0x2ad10: 0xe000234f, 0x2ad11: 0xe0002353, 0x2ad12: 0xf0001c1c, 0x2ad13: 0xe000235e, + 0x2ad14: 0xe0002358, 0x2ad15: 0xf0001c1c, 0x2ad16: 0xe0002363, 0x2ad17: 0xe000236d, + 0x2ad18: 0xf0000203, 0x2ad19: 0xf0000203, 0x2ad1a: 0xf0000203, 0x2ad1b: 0xf0000203, + 0x2ad1c: 0xf0000203, 0x2ad1d: 0xf0000203, 0x2ad1e: 0xf0000203, 0x2ad1f: 0xf0000203, + 0x2ad20: 0xf0000203, 0x2ad21: 0xf0000203, 0x2ad22: 0xe000b673, 0x2ad23: 0xe000b67f, + 0x2ad24: 0xe000b68b, 0x2ad25: 0xe000b693, 0x2ad26: 0xe000b69b, 0x2ad27: 0xe000b6a3, + 0x2ad28: 0xe000b6ab, 0x2ad29: 0xe000b6b3, 0x2ad2a: 0xe000b6bb, 0x2ad2b: 0xe000b6c3, + 0x2ad2c: 0xe000b6cb, 0x2ad2d: 0xe000b6d3, 0x2ad2e: 0xe000b6db, 0x2ad2f: 0xe000b6e3, + 0x2ad30: 0xe000b6eb, 0x2ad31: 0xe0000c1e, 0x2ad32: 0xf0001c1c, 0x2ad33: 0xf0001d1d, + 0x2ad34: 0xe0000a31, 0x2ad35: 0xf0001d1c, 0x2ad36: 0xf0001c1c, 0x2ad37: 0xf0001c1c, + 0x2ad38: 0xe0000ac2, 0x2ad39: 0xe0000ac6, 0x2ad3a: 0xf0001d1d, 0x2ad3b: 0xf0000203, + 0x2ad3c: 0xf0000203, 0x2ad3d: 0xf0000203, 0x2ad3e: 0xf0000203, 0x2ad3f: 0xe000b70b, + // Block 0xab5, offset 0x2ad40 + 0x2ad40: 0xf0001d1c, 0x2ad41: 0xf0001d1d, 0x2ad42: 0xe00009b7, 0x2ad43: 0xf0001c1d, + 0x2ad44: 0xf0001c1c, 0x2ad45: 0xf0001c1c, 0x2ad46: 0xe0000a66, 0x2ad47: 0xe0000a7a, + 0x2ad48: 0xf0001d1c, 0x2ad49: 0xf0001c1d, 0x2ad4a: 0xf0001c1c, 0x2ad4b: 0xf0001d1d, + 0x2ad4c: 0xf0001c1c, 0x2ad4d: 0xf0001d1d, 0x2ad4e: 0xf0001d1d, 0x2ad4f: 0xf0001c1c, + 0x2ad50: 0xf0001c1c, 0x2ad51: 0xf0001c1c, 0x2ad52: 0xe0000d0d, 0x2ad53: 0xf0001c1c, + 0x2ad54: 0xf0001c1c, 0x2ad55: 0xe0000d3a, 0x2ad56: 0xe0000d46, 0x2ad57: 0xf0001d1d, + 0x2ad58: 0xe0000eb0, 0x2ad59: 0xe0000eb8, 0x2ad5a: 0xf0001d1d, 0x2ad5b: 0xf0001c1c, + 0x2ad5c: 0xf0001c1d, 0x2ad5d: 0xf0001c1d, 0x2ad5e: 0xe00010b2, 0x2ad5f: 0xe00009c8, + 0x2ad60: 0xf0000203, 0x2ad61: 0xf0000203, 0x2ad62: 0xf0000203, 0x2ad63: 0xf0000203, + 0x2ad64: 0xf0000203, 0x2ad65: 0xf0000203, 0x2ad66: 0xf0000203, 0x2ad67: 0xf0000203, + 0x2ad68: 0xf0000203, 0x2ad69: 0xe000b66b, 0x2ad6a: 0xe000b677, 0x2ad6b: 0xe000b683, + 0x2ad6c: 0xe000b68f, 0x2ad6d: 0xe000b697, 0x2ad6e: 0xe000b69f, 0x2ad6f: 0xe000b6a7, + 0x2ad70: 0xe000b6af, 0x2ad71: 0xe000b6b7, 0x2ad72: 0xe000b6bf, 0x2ad73: 0xe000b6c7, + 0x2ad74: 0xe000b6cf, 0x2ad75: 0xe000b6d7, 0x2ad76: 0xe000b6df, 0x2ad77: 0xe000b6e7, + 0x2ad78: 0xe000b6ef, 0x2ad79: 0xe000b6f3, 0x2ad7a: 0xe000b6f7, 0x2ad7b: 0xe000b6fb, + 0x2ad7c: 0xe000b6ff, 0x2ad7d: 0xe000b703, 0x2ad7e: 0xe000b707, 0x2ad7f: 0xe0000bdf, + // Block 0xab6, offset 0x2ad80 + 0x2ad80: 0x6c053e20, 0x2ad81: 0x6c0acc20, 0x2ad82: 0x6c0ace20, 0x2ad83: 0x6c00f620, + 0x2ad84: 0x6c00f820, 0x2ad85: 0x6c004e20, 0x2ad86: 0x6c0aee20, 0x2ad87: 0x6c011a20, + 0x2ad88: 0x6c011c20, 0x2ad89: 0x6c011e20, 0x2ad8a: 0x6c025820, 0x2ad8b: 0x6c025a20, + 0x2ad8c: 0x6c059820, 0x2ad8d: 0x6c059a20, 0x2ad8e: 0x6c059c20, 0x2ad8f: 0x6c059e20, + 0x2ad90: 0x6c0b0e20, 0x2ad91: 0x6c0b1020, 0x2ad92: 0x6c0b1220, 0x2ad93: 0x6c0b1420, + 0x2ad94: 0x6c0b1620, 0x2ad95: 0x6c0b1820, 0x2ad96: 0x6c160a20, 0x2ad97: 0x6c160c20, + 0x2ad98: 0x6c160e20, 0x2ad99: 0x6c28d820, 0x2ad9a: 0x6c28da20, 0x2ad9b: 0x6c28dc20, + 0x2ad9c: 0x6c430a20, 0x2ad9d: 0x6c430c20, 0x2ad9e: 0x6c430e20, 0x2ad9f: 0x6c431020, + 0x2ada0: 0x6c431220, 0x2ada1: 0x6c8b0620, 0x2ada2: 0x6c8b0820, 0x2ada3: 0x6c8b0a20, + 0x2ada4: 0x6cb7b020, 0x2ada5: 0x6d75d620, 0x2ada6: 0x6de00620, 0x2ada7: 0x6c027820, + 0x2ada8: 0x6c28f220, 0x2ada9: 0x6c28fa20, 0x2adaa: 0x6c0b5020, 0x2adab: 0x6c0b5220, + 0x2adac: 0x6c163420, 0x2adad: 0x6c290c20, 0x2adae: 0x6ce8e420, 0x2adaf: 0x6d9fa820, + 0x2adb0: 0x6c05b820, 0x2adb1: 0x6c05ba20, 0x2adb2: 0x6c05bc20, 0x2adb3: 0x6c05be20, + 0x2adb4: 0x6c05c020, 0x2adb5: 0x6c05c220, 0x2adb6: 0x6c05c420, 0x2adb7: 0x6c05c620, + 0x2adb8: 0x6c0b6820, 0x2adb9: 0x6c0b6a20, 0x2adba: 0x6c0b6c20, 0x2adbb: 0x6c0b6e20, + 0x2adbc: 0x6c0b7020, 0x2adbd: 0x6c0b7220, 0x2adbe: 0x6c0b7420, 0x2adbf: 0x6c0b7620, + // Block 0xab7, offset 0x2adc0 + 0x2adc0: 0x6c0b7820, 0x2adc1: 0x6c164620, 0x2adc2: 0x6c164820, 0x2adc3: 0x6c164a20, + 0x2adc4: 0x6c164c20, 0x2adc5: 0x6c164e20, 0x2adc6: 0x6c165020, 0x2adc7: 0x6c165220, + 0x2adc8: 0x6c165420, 0x2adc9: 0x6c292220, 0x2adca: 0x6c292420, 0x2adcb: 0x6c292620, + 0x2adcc: 0x6c292820, 0x2adcd: 0x6c292a20, 0x2adce: 0x6c292c20, 0x2adcf: 0x6c292e20, + 0x2add0: 0x6c293020, 0x2add1: 0x6c293220, 0x2add2: 0x6c293420, 0x2add3: 0x6c293620, + 0x2add4: 0x6c293820, 0x2add5: 0x6c293a20, 0x2add6: 0x6c293c20, 0x2add7: 0x6c434620, + 0x2add8: 0x6c434820, 0x2add9: 0x6c434a20, 0x2adda: 0x6c434c20, 0x2addb: 0x6c434e20, + 0x2addc: 0x6c435020, 0x2addd: 0x6c435220, 0x2adde: 0x6c435420, 0x2addf: 0x6c435620, + 0x2ade0: 0x6c435820, 0x2ade1: 0x6c435a20, 0x2ade2: 0x6c435c20, 0x2ade3: 0x6c641a20, + 0x2ade4: 0x6c8b3e20, 0x2ade5: 0x6c641c20, 0x2ade6: 0x6c641e20, 0x2ade7: 0x6c642020, + 0x2ade8: 0x6c642220, 0x2ade9: 0x6c642420, 0x2adea: 0x6c642620, 0x2adeb: 0x6c642820, + 0x2adec: 0x6c642a20, 0x2aded: 0x6c642c20, 0x2adee: 0x6c8b4020, 0x2adef: 0x6c8b4220, + 0x2adf0: 0x6c8b4420, 0x2adf1: 0x6c8b4620, 0x2adf2: 0x6c8b4820, 0x2adf3: 0x6cb7da20, + 0x2adf4: 0x6cb7dc20, 0x2adf5: 0x6cb7de20, 0x2adf6: 0x6cb7e020, 0x2adf7: 0x6cb7e220, + 0x2adf8: 0x6cb7e420, 0x2adf9: 0x6cb7e620, 0x2adfa: 0x6cb7e820, 0x2adfb: 0x6ce8fe20, + 0x2adfc: 0x6ce90020, 0x2adfd: 0x6ce90220, 0x2adfe: 0x6ce90420, 0x2adff: 0x6ce90620, + // Block 0xab8, offset 0x2ae00 + 0x2ae00: 0x6ce90820, 0x2ae01: 0x6ce90a20, 0x2ae02: 0x6d18ae20, 0x2ae03: 0x6d18b020, + 0x2ae04: 0x6d18b220, 0x2ae05: 0x6d18b420, 0x2ae06: 0x6d18b620, 0x2ae07: 0x6d18b820, + 0x2ae08: 0x6d18ba20, 0x2ae09: 0x6d18bc20, 0x2ae0a: 0x6d18be20, 0x2ae0b: 0x6d18c020, + 0x2ae0c: 0x6d18c220, 0x2ae0d: 0x6d18c420, 0x2ae0e: 0x6d18c620, 0x2ae0f: 0x6d18c820, + 0x2ae10: 0x6d18ca20, 0x2ae11: 0x6d47b220, 0x2ae12: 0x6d47b420, 0x2ae13: 0x6d47b620, + 0x2ae14: 0x6d47b820, 0x2ae15: 0x6d47ba20, 0x2ae16: 0x6d47bc20, 0x2ae17: 0x6d47be20, + 0x2ae18: 0x6d47c020, 0x2ae19: 0x6d75f420, 0x2ae1a: 0x6d75f620, 0x2ae1b: 0x6d75f820, + 0x2ae1c: 0x6d75fa20, 0x2ae1d: 0x6d9faa20, 0x2ae1e: 0x6d9fac20, 0x2ae1f: 0x6dc24a20, + 0x2ae20: 0x6dc24c20, 0x2ae21: 0x6de00e20, 0x2ae22: 0x6de01020, 0x2ae23: 0x6de01220, + 0x2ae24: 0x6df86e20, 0x2ae25: 0x6df87020, 0x2ae26: 0x6df87220, 0x2ae27: 0x6e0c3e20, + 0x2ae28: 0x6e0c4020, 0x2ae29: 0x6e284a20, 0x2ae2a: 0x6e3ce220, 0x2ae2b: 0x6c0c4420, + 0x2ae2c: 0x6c2a2c20, 0x2ae2d: 0x6c657020, 0x2ae2e: 0x6c8c6620, 0x2ae2f: 0x6dc28c20, + 0x2ae30: 0x6c061620, 0x2ae31: 0x6c061820, 0x2ae32: 0x6c0c5820, 0x2ae33: 0x6c174e20, + 0x2ae34: 0x6c175020, 0x2ae35: 0x6c175c20, 0x2ae36: 0x6c175e20, 0x2ae37: 0x6c176020, + 0x2ae38: 0x6c447420, 0x2ae39: 0x6df89620, 0x2ae3a: 0x6c2a5c20, 0x2ae3b: 0x6c8c8420, + 0x2ae3c: 0x6c8c8620, 0x2ae3d: 0x6cb8f220, 0x2ae3e: 0x6cea0820, 0x2ae3f: 0x6e1c1c20, + // Block 0xab9, offset 0x2ae40 + 0x2ae40: 0x6c02fa20, 0x2ae41: 0x6c02fc20, 0x2ae42: 0x6c449020, 0x2ae43: 0x6cb8fc20, + 0x2ae44: 0x6d487620, 0x2ae45: 0x6c030620, 0x2ae46: 0x6c0c9820, 0x2ae47: 0x6c0c9a20, + 0x2ae48: 0x6c178e20, 0x2ae49: 0x6c2a7420, 0x2ae4a: 0x6c2a7620, 0x2ae4b: 0x6c2a7820, + 0x2ae4c: 0x6c2a7a20, 0x2ae4d: 0x6c2a7c20, 0x2ae4e: 0x6c44a020, 0x2ae4f: 0x6c44a220, + 0x2ae50: 0x6c65c220, 0x2ae51: 0x6c65c420, 0x2ae52: 0x6c65c620, 0x2ae53: 0x6c8c9620, + 0x2ae54: 0x6cb90c20, 0x2ae55: 0x6cb90e20, 0x2ae56: 0x6cea1220, 0x2ae57: 0x6d19ea20, + 0x2ae58: 0x6c8cbe20, 0x2ae59: 0x6c0cd220, 0x2ae5a: 0x6c067c20, 0x2ae5b: 0x6c067e20, + 0x2ae5c: 0x6c068020, 0x2ae5d: 0x6c0ce620, 0x2ae5e: 0x6c0ce820, 0x2ae5f: 0x6c17da20, + 0x2ae60: 0x6c17dc20, 0x2ae61: 0x6c2abc20, 0x2ae62: 0x6c2abe20, 0x2ae63: 0x6c2ac020, + 0x2ae64: 0x6c2ac220, 0x2ae65: 0x6c2ac420, 0x2ae66: 0x6c2ac620, 0x2ae67: 0x6c44e020, + 0x2ae68: 0x6c44e220, 0x2ae69: 0x6c44e420, 0x2ae6a: 0x6c44e620, 0x2ae6b: 0x6c44e820, + 0x2ae6c: 0x6c661220, 0x2ae6d: 0x6c661420, 0x2ae6e: 0x6c661620, 0x2ae6f: 0x6c661820, + 0x2ae70: 0x6c661a20, 0x2ae71: 0x6c8cd820, 0x2ae72: 0x6c8cda20, 0x2ae73: 0x6c8cdc20, + 0x2ae74: 0x6c8cde20, 0x2ae75: 0x6c8ce020, 0x2ae76: 0x6c8ce220, 0x2ae77: 0x6cb94620, + 0x2ae78: 0x6cb94820, 0x2ae79: 0x6cb94a20, 0x2ae7a: 0x6cb94c20, 0x2ae7b: 0x6cb94e20, + 0x2ae7c: 0x6cea3c20, 0x2ae7d: 0x6cea3e20, 0x2ae7e: 0x6d1a0e20, 0x2ae7f: 0x6d1a1020, + // Block 0xaba, offset 0x2ae80 + 0x2ae80: 0x6d1a1220, 0x2ae81: 0x6d1a1420, 0x2ae82: 0x6d1a1620, 0x2ae83: 0x6d1a1820, + 0x2ae84: 0x6d1a1a20, 0x2ae85: 0x6d1a1c20, 0x2ae86: 0x6d1a1e20, 0x2ae87: 0x6d1a2020, + 0x2ae88: 0x6d1a2220, 0x2ae89: 0x6d1a2420, 0x2ae8a: 0x6d489620, 0x2ae8b: 0x6d76a420, + 0x2ae8c: 0x6d76a620, 0x2ae8d: 0x6d76a820, 0x2ae8e: 0x6da03020, 0x2ae8f: 0x6da03220, + 0x2ae90: 0x6dc2b620, 0x2ae91: 0x6de05620, 0x2ae92: 0x6df8a620, 0x2ae93: 0x6c06a020, + 0x2ae94: 0x6c0d3a20, 0x2ae95: 0x6c0d3c20, 0x2ae96: 0x6c0d3e20, 0x2ae97: 0x6c183820, + 0x2ae98: 0x6c183a20, 0x2ae99: 0x6c2b4c20, 0x2ae9a: 0x6c2b4e20, 0x2ae9b: 0x6c2b5020, + 0x2ae9c: 0x6c454e20, 0x2ae9d: 0x6c66a620, 0x2ae9e: 0x6c66a820, 0x2ae9f: 0x6c66aa20, + 0x2aea0: 0x6c8d4220, 0x2aea1: 0x6cb9aa20, 0x2aea2: 0x6d1a7620, 0x2aea3: 0x6da05420, + 0x2aea4: 0x6da05620, 0x2aea5: 0x6da05820, 0x2aea6: 0x6da05a20, 0x2aea7: 0x6dc2c420, + 0x2aea8: 0x6c8d6a20, 0x2aea9: 0x6cb9d420, 0x2aeaa: 0x6ceac220, 0x2aeab: 0x6c035820, + 0x2aeac: 0x6c2b9a20, 0x2aead: 0x6c8d8020, 0x2aeae: 0x6e123e20, 0x2aeaf: 0x6c188c20, + 0x2aeb0: 0x6c188e20, 0x2aeb1: 0x6c8d8620, 0x2aeb2: 0x6cead220, 0x2aeb3: 0x6cead420, + 0x2aeb4: 0x6cead620, 0x2aeb5: 0x6d1aba20, 0x2aeb6: 0x6e3cf020, 0x2aeb7: 0x6c18a420, + 0x2aeb8: 0x6cb9f020, 0x2aeb9: 0x6c036620, 0x2aeba: 0x6c0d8020, 0x2aebb: 0x6c0d8220, + 0x2aebc: 0x6ceae020, 0x2aebd: 0x6c2bd420, 0x2aebe: 0x6c016e20, 0x2aebf: 0x6c017020, + // Block 0xabb, offset 0x2aec0 + 0x2aec0: 0x6c18d020, 0x2aec1: 0x6c2bf220, 0x2aec2: 0x6c0dc820, 0x2aec3: 0x6c0dca20, + 0x2aec4: 0x6c0dcc20, 0x2aec5: 0x6c18dc20, 0x2aec6: 0x6c18de20, 0x2aec7: 0x6c18e020, + 0x2aec8: 0x6c2c0020, 0x2aec9: 0x6c2c0220, 0x2aeca: 0x6c45f620, 0x2aecb: 0x6c673220, + 0x2aecc: 0x6c673420, 0x2aecd: 0x6c673620, 0x2aece: 0x6cba0a20, 0x2aecf: 0x6ceb0220, + 0x2aed0: 0x6d1adc20, 0x2aed1: 0x6d1ade20, 0x2aed2: 0x6d491820, 0x2aed3: 0x6da08620, + 0x2aed4: 0x6e319620, 0x2aed5: 0x6c039020, 0x2aed6: 0x6c677020, 0x2aed7: 0x6c8de220, + 0x2aed8: 0x6c8de420, 0x2aed9: 0x6d493a20, 0x2aeda: 0x6c039c20, 0x2aedb: 0x6c039e20, + 0x2aedc: 0x6c0e0620, 0x2aedd: 0x6c190c20, 0x2aede: 0x6c2c3a20, 0x2aedf: 0x6c463e20, + 0x2aee0: 0x6cba4220, 0x2aee1: 0x6d1b2020, 0x2aee2: 0x6d3d7420, 0x2aee3: 0x6c073020, + 0x2aee4: 0x6c073220, 0x2aee5: 0x6c073420, 0x2aee6: 0x6c0e1c20, 0x2aee7: 0x6c0e1e20, + 0x2aee8: 0x6c0e2020, 0x2aee9: 0x6c192220, 0x2aeea: 0x6c192420, 0x2aeeb: 0x6c192620, + 0x2aeec: 0x6c192820, 0x2aeed: 0x6c192a20, 0x2aeee: 0x6c192c20, 0x2aeef: 0x6c192e20, + 0x2aef0: 0x6c193020, 0x2aef1: 0x6c193220, 0x2aef2: 0x6c193420, 0x2aef3: 0x6c193620, + 0x2aef4: 0x6c193820, 0x2aef5: 0x6c193a20, 0x2aef6: 0x6c193c20, 0x2aef7: 0x6c2c5620, + 0x2aef8: 0x6c2c5820, 0x2aef9: 0x6c2c5a20, 0x2aefa: 0x6c2c5c20, 0x2aefb: 0x6c2c5e20, + 0x2aefc: 0x6c2c6020, 0x2aefd: 0x6c2c6220, 0x2aefe: 0x6c2c6420, 0x2aeff: 0x6c2c6620, + // Block 0xabc, offset 0x2af00 + 0x2af00: 0x6c466820, 0x2af01: 0x6c466a20, 0x2af02: 0x6c466c20, 0x2af03: 0x6c466e20, + 0x2af04: 0x6c467020, 0x2af05: 0x6c467220, 0x2af06: 0x6c467420, 0x2af07: 0x6c467620, + 0x2af08: 0x6c467820, 0x2af09: 0x6c467a20, 0x2af0a: 0x6c467c20, 0x2af0b: 0x6c467e20, + 0x2af0c: 0x6c468020, 0x2af0d: 0x6c468220, 0x2af0e: 0x6c468420, 0x2af0f: 0x6c679a20, + 0x2af10: 0x6c679c20, 0x2af11: 0x6c679e20, 0x2af12: 0x6c67a020, 0x2af13: 0x6c67a220, + 0x2af14: 0x6c67a420, 0x2af15: 0x6c67a620, 0x2af16: 0x6c67a820, 0x2af17: 0x6c67aa20, + 0x2af18: 0x6c67ac20, 0x2af19: 0x6c67ae20, 0x2af1a: 0x6c67b020, 0x2af1b: 0x6c67b220, + 0x2af1c: 0x6c67b420, 0x2af1d: 0x6c67b620, 0x2af1e: 0x6c67b820, 0x2af1f: 0x6c8e1220, + 0x2af20: 0x6c8e1420, 0x2af21: 0x6c8e1620, 0x2af22: 0x6c8e1820, 0x2af23: 0x6c8e1a20, + 0x2af24: 0x6c8e1c20, 0x2af25: 0x6c8e1e20, 0x2af26: 0x6c8e2020, 0x2af27: 0x6c8e2220, + 0x2af28: 0x6c8e2420, 0x2af29: 0x6c8e2620, 0x2af2a: 0x6c8e2820, 0x2af2b: 0x6c8e2a20, + 0x2af2c: 0x6c8e2c20, 0x2af2d: 0x6c8e2e20, 0x2af2e: 0x6c8e3020, 0x2af2f: 0x6c8e3220, + 0x2af30: 0x6c8e3420, 0x2af31: 0x6c8e3620, 0x2af32: 0x6c8e3820, 0x2af33: 0x6c8e3a20, + 0x2af34: 0x6c8e3c20, 0x2af35: 0x6c8e3e20, 0x2af36: 0x6cba5c20, 0x2af37: 0x6cba5e20, + 0x2af38: 0x6cba6020, 0x2af39: 0x6cba6220, 0x2af3a: 0x6cba6420, 0x2af3b: 0x6cba6620, + 0x2af3c: 0x6cba6820, 0x2af3d: 0x6cba6a20, 0x2af3e: 0x6cba6c20, 0x2af3f: 0x6cba6e20, + // Block 0xabd, offset 0x2af40 + 0x2af40: 0x6cba7020, 0x2af41: 0x6cba7220, 0x2af42: 0x6cba7420, 0x2af43: 0x6cba7620, + 0x2af44: 0x6cba7820, 0x2af45: 0x6cba7a20, 0x2af46: 0x6cba7c20, 0x2af47: 0x6cba7e20, + 0x2af48: 0x6cba8020, 0x2af49: 0x6cba8220, 0x2af4a: 0x6cba8420, 0x2af4b: 0x6cba8620, + 0x2af4c: 0x6cba8820, 0x2af4d: 0x6cba8a20, 0x2af4e: 0x6cba8c20, 0x2af4f: 0x6cba8e20, + 0x2af50: 0x6cba9020, 0x2af51: 0x6cba9220, 0x2af52: 0x6ceb4e20, 0x2af53: 0x6ceb5020, + 0x2af54: 0x6ceb5220, 0x2af55: 0x6ceb5420, 0x2af56: 0x6ceb5620, 0x2af57: 0x6ceb5820, + 0x2af58: 0x6ceb5a20, 0x2af59: 0x6ceb5c20, 0x2af5a: 0x6ceb5e20, 0x2af5b: 0x6ceb6020, + 0x2af5c: 0x6ceb6220, 0x2af5d: 0x6ceb6420, 0x2af5e: 0x6ceb6620, 0x2af5f: 0x6ceb6820, + 0x2af60: 0x6ceb6a20, 0x2af61: 0x6ceb6c20, 0x2af62: 0x6d1b3420, 0x2af63: 0x6d1b3620, + 0x2af64: 0x6d1b3820, 0x2af65: 0x6d1b3a20, 0x2af66: 0x6d1b3c20, 0x2af67: 0x6d1b3e20, + 0x2af68: 0x6d1b4020, 0x2af69: 0x6d1b4220, 0x2af6a: 0x6d1b4420, 0x2af6b: 0x6d1b4620, + 0x2af6c: 0x6d1b4820, 0x2af6d: 0x6d1b4a20, 0x2af6e: 0x6d1b4c20, 0x2af6f: 0x6d1b4e20, + 0x2af70: 0x6d1b5020, 0x2af71: 0x6d494e20, 0x2af72: 0x6d495020, 0x2af73: 0x6d495220, + 0x2af74: 0x6d495420, 0x2af75: 0x6d495620, 0x2af76: 0x6d495820, 0x2af77: 0x6d495a20, + 0x2af78: 0x6d495c20, 0x2af79: 0x6d495e20, 0x2af7a: 0x6d496020, 0x2af7b: 0x6d770e20, + 0x2af7c: 0x6d771020, 0x2af7d: 0x6d771220, 0x2af7e: 0x6d771420, 0x2af7f: 0x6d771620, + // Block 0xabe, offset 0x2af80 + 0x2af80: 0x6d771820, 0x2af81: 0x6d771a20, 0x2af82: 0x6d771c20, 0x2af83: 0x6d771e20, + 0x2af84: 0x6d772020, 0x2af85: 0x6da09a20, 0x2af86: 0x6da09c20, 0x2af87: 0x6da09e20, + 0x2af88: 0x6da0a020, 0x2af89: 0x6dc2fa20, 0x2af8a: 0x6dc2fc20, 0x2af8b: 0x6dc2fe20, + 0x2af8c: 0x6dc30020, 0x2af8d: 0x6dc30220, 0x2af8e: 0x6dc30420, 0x2af8f: 0x6dc30620, + 0x2af90: 0x6de07e20, 0x2af91: 0x6de08020, 0x2af92: 0x6de08220, 0x2af93: 0x6df8cc20, + 0x2af94: 0x6df8ce20, 0x2af95: 0x6e0c9220, 0x2af96: 0x6e0c9420, 0x2af97: 0x6e0c9620, + 0x2af98: 0x6e1c2e20, 0x2af99: 0x6e287220, 0x2af9a: 0x6e287420, 0x2af9b: 0x6e384620, + 0x2af9c: 0x6e3cf820, 0x2af9d: 0x6c078820, 0x2af9e: 0x6c06a220, 0x2af9f: 0x6c0e9620, + 0x2afa0: 0x6c2d7e20, 0x2afa1: 0x6c2d8020, 0x2afa2: 0x6c47dc20, 0x2afa3: 0x6c694e20, + 0x2afa4: 0x6d1cf020, 0x2afa5: 0x6df92a20, 0x2afa6: 0x6c07a020, 0x2afa7: 0x6c1a9820, + 0x2afa8: 0x6c1a9a20, 0x2afa9: 0x6c1a9c20, 0x2afaa: 0x6c1a9e20, 0x2afab: 0x6c1aa020, + 0x2afac: 0x6c1aa220, 0x2afad: 0x6c1aa420, 0x2afae: 0x6c1aa620, 0x2afaf: 0x6c1aa820, + 0x2afb0: 0x6c1aaa20, 0x2afb1: 0x6c2daa20, 0x2afb2: 0x6c2dac20, 0x2afb3: 0x6c2dae20, + 0x2afb4: 0x6c2db020, 0x2afb5: 0x6c2db220, 0x2afb6: 0x6c480020, 0x2afb7: 0x6c480220, + 0x2afb8: 0x6c480420, 0x2afb9: 0x6c480620, 0x2afba: 0x6c480820, 0x2afbb: 0x6c480a20, + 0x2afbc: 0x6c480c20, 0x2afbd: 0x6c480e20, 0x2afbe: 0x6c481020, 0x2afbf: 0x6c697e20, + // Block 0xabf, offset 0x2afc0 + 0x2afc0: 0x6c698020, 0x2afc1: 0x6c698220, 0x2afc2: 0x6c698420, 0x2afc3: 0x6c698620, + 0x2afc4: 0x6c698820, 0x2afc5: 0x6c698a20, 0x2afc6: 0x6c698c20, 0x2afc7: 0x6c904620, + 0x2afc8: 0x6c904820, 0x2afc9: 0x6c904a20, 0x2afca: 0x6c904c20, 0x2afcb: 0x6c904e20, + 0x2afcc: 0x6c905020, 0x2afcd: 0x6c905220, 0x2afce: 0x6cbc6420, 0x2afcf: 0x6cbc6620, + 0x2afd0: 0x6cbc6820, 0x2afd1: 0x6cbc6a20, 0x2afd2: 0x6cbc6c20, 0x2afd3: 0x6cbc6e20, + 0x2afd4: 0x6cbc7020, 0x2afd5: 0x6cbc7220, 0x2afd6: 0x6cbc7420, 0x2afd7: 0x6cbc7620, + 0x2afd8: 0x6cbc7820, 0x2afd9: 0x6ced4a20, 0x2afda: 0x6ced4c20, 0x2afdb: 0x6ced4e20, + 0x2afdc: 0x6ced5020, 0x2afdd: 0x6ced5220, 0x2afde: 0x6ced5420, 0x2afdf: 0x6ced5620, + 0x2afe0: 0x6d1d1620, 0x2afe1: 0x6d1d1820, 0x2afe2: 0x6d1d1a20, 0x2afe3: 0x6d1d1c20, + 0x2afe4: 0x6d1d1e20, 0x2afe5: 0x6d1d2020, 0x2afe6: 0x6d1d2220, 0x2afe7: 0x6d4ac820, + 0x2afe8: 0x6d4aca20, 0x2afe9: 0x6d4acc20, 0x2afea: 0x6d4ace20, 0x2afeb: 0x6d4ad020, + 0x2afec: 0x6d4ad220, 0x2afed: 0x6d4ad420, 0x2afee: 0x6d4ad620, 0x2afef: 0x6d4ad820, + 0x2aff0: 0x6d786620, 0x2aff1: 0x6d786820, 0x2aff2: 0x6d786a20, 0x2aff3: 0x6d786c20, + 0x2aff4: 0x6d786e20, 0x2aff5: 0x6d787020, 0x2aff6: 0x6d787220, 0x2aff7: 0x6da18820, + 0x2aff8: 0x6da18a20, 0x2aff9: 0x6da18c20, 0x2affa: 0x6da18e20, 0x2affb: 0x6dc3e020, + 0x2affc: 0x6dc3e220, 0x2affd: 0x6dc3e420, 0x2affe: 0x6de10220, 0x2afff: 0x6de10420, + // Block 0xac0, offset 0x2b000 + 0x2b000: 0x6df93220, 0x2b001: 0x6e31c220, 0x2b002: 0x6e385e20, 0x2b003: 0x6cbd8620, + 0x2b004: 0x6d4ba020, 0x2b005: 0x6c48f020, 0x2b006: 0x6c48f420, 0x2b007: 0x6c48f620, + 0x2b008: 0x6c07ce20, 0x2b009: 0x6c2e8c20, 0x2b00a: 0x6cbd9820, 0x2b00b: 0x6d1e0c20, + 0x2b00c: 0x6d1e0e20, 0x2b00d: 0x6dc44620, 0x2b00e: 0x6c07dc20, 0x2b00f: 0x6c0f2c20, + 0x2b010: 0x6c0f2e20, 0x2b011: 0x6c0f3020, 0x2b012: 0x6c1b8a20, 0x2b013: 0x6c1b8c20, + 0x2b014: 0x6c2e9a20, 0x2b015: 0x6c2e9c20, 0x2b016: 0x6c2e9e20, 0x2b017: 0x6c2ea020, + 0x2b018: 0x6c2ea220, 0x2b019: 0x6c2ea420, 0x2b01a: 0x6c490220, 0x2b01b: 0x6c490420, + 0x2b01c: 0x6c919820, 0x2b01d: 0x6c919a20, 0x2b01e: 0x6c919c20, 0x2b01f: 0x6cbdb620, + 0x2b020: 0x6cee7620, 0x2b021: 0x6d791c20, 0x2b022: 0x6c07fc20, 0x2b023: 0x6c0f5620, + 0x2b024: 0x6c0f5820, 0x2b025: 0x6c0f5a20, 0x2b026: 0x6c0f5c20, 0x2b027: 0x6c0f5e20, + 0x2b028: 0x6c0f6020, 0x2b029: 0x6c1bc420, 0x2b02a: 0x6c1bc620, 0x2b02b: 0x6c1bc820, + 0x2b02c: 0x6c1bca20, 0x2b02d: 0x6c1bcc20, 0x2b02e: 0x6c1bce20, 0x2b02f: 0x6c1bd020, + 0x2b030: 0x6c2ef420, 0x2b031: 0x6c2ef620, 0x2b032: 0x6c2ef820, 0x2b033: 0x6c2efa20, + 0x2b034: 0x6c2efc20, 0x2b035: 0x6c2efe20, 0x2b036: 0x6c2f0020, 0x2b037: 0x6c2f0220, + 0x2b038: 0x6c2f0420, 0x2b039: 0x6c2f0620, 0x2b03a: 0x6c2f0820, 0x2b03b: 0x6c2f0a20, + 0x2b03c: 0x6c2f0c20, 0x2b03d: 0x6c2f0e20, 0x2b03e: 0x6c2f1020, 0x2b03f: 0x6c2f1220, + // Block 0xac1, offset 0x2b040 + 0x2b040: 0x6c2f1420, 0x2b041: 0x6c2f1620, 0x2b042: 0x6c493e20, 0x2b043: 0x6c494020, + 0x2b044: 0x6c494220, 0x2b045: 0x6c494420, 0x2b046: 0x6c494620, 0x2b047: 0x6c494820, + 0x2b048: 0x6c494a20, 0x2b049: 0x6c494c20, 0x2b04a: 0x6c494e20, 0x2b04b: 0x6c495020, + 0x2b04c: 0x6c495220, 0x2b04d: 0x6c6aea20, 0x2b04e: 0x6c6aec20, 0x2b04f: 0x6c6aee20, + 0x2b050: 0x6c6af020, 0x2b051: 0x6c6af220, 0x2b052: 0x6c6af420, 0x2b053: 0x6c6af620, + 0x2b054: 0x6c6af820, 0x2b055: 0x6c6afa20, 0x2b056: 0x6c6afc20, 0x2b057: 0x6c6afe20, + 0x2b058: 0x6c6b0020, 0x2b059: 0x6c6b0220, 0x2b05a: 0x6c6b0420, 0x2b05b: 0x6c6b0620, + 0x2b05c: 0x6c6b0820, 0x2b05d: 0x6c6b0a20, 0x2b05e: 0x6c6b0c20, 0x2b05f: 0x6c6b0e20, + 0x2b060: 0x6c1bd220, 0x2b061: 0x6c6b1020, 0x2b062: 0x6c6b1220, 0x2b063: 0x6c6b1420, + 0x2b064: 0x6c6b1620, 0x2b065: 0x6c91da20, 0x2b066: 0x6c91dc20, 0x2b067: 0x6c91de20, + 0x2b068: 0x6c91e020, 0x2b069: 0x6c91e220, 0x2b06a: 0x6c91e420, 0x2b06b: 0x6c91e620, + 0x2b06c: 0x6c91e820, 0x2b06d: 0x6c91ea20, 0x2b06e: 0x6cbdf220, 0x2b06f: 0x6cbdf420, + 0x2b070: 0x6cbdf620, 0x2b071: 0x6cbdf820, 0x2b072: 0x6cbdfa20, 0x2b073: 0x6cbdfc20, + 0x2b074: 0x6cbdfe20, 0x2b075: 0x6cbe0020, 0x2b076: 0x6cbe0220, 0x2b077: 0x6cbe0420, + 0x2b078: 0x6cbe0620, 0x2b079: 0x6cbe0820, 0x2b07a: 0x6cbe0a20, 0x2b07b: 0x6cbe0c20, + 0x2b07c: 0x6cbe0e20, 0x2b07d: 0x6cbe1020, 0x2b07e: 0x6cbe1220, 0x2b07f: 0x6cbe1420, + // Block 0xac2, offset 0x2b080 + 0x2b080: 0x6cbe1620, 0x2b081: 0x6cbe1820, 0x2b082: 0x6cbe1a20, 0x2b083: 0x6cbe1c20, + 0x2b084: 0x6cbe1e20, 0x2b085: 0x6ceea620, 0x2b086: 0x6ceea820, 0x2b087: 0x6ceeaa20, + 0x2b088: 0x6ceeac20, 0x2b089: 0x6ceeae20, 0x2b08a: 0x6ceeb020, 0x2b08b: 0x6ceeb220, + 0x2b08c: 0x6ceeb420, 0x2b08d: 0x6ceeb620, 0x2b08e: 0x6ceeb820, 0x2b08f: 0x6ceeba20, + 0x2b090: 0x6ceebc20, 0x2b091: 0x6ceebe20, 0x2b092: 0x6ceec020, 0x2b093: 0x6ceec220, + 0x2b094: 0x6ceec420, 0x2b095: 0x6d1e5220, 0x2b096: 0x6d1e5420, 0x2b097: 0x6d1e5620, + 0x2b098: 0x6d1e5820, 0x2b099: 0x6d1e5a20, 0x2b09a: 0x6d1e5c20, 0x2b09b: 0x6d1e5e20, + 0x2b09c: 0x6d1e6020, 0x2b09d: 0x6d1e6220, 0x2b09e: 0x6d1e6420, 0x2b09f: 0x6d1e6620, + 0x2b0a0: 0x6d1e6820, 0x2b0a1: 0x6d1e6a20, 0x2b0a2: 0x6d1e6c20, 0x2b0a3: 0x6d4bde20, + 0x2b0a4: 0x6d4be020, 0x2b0a5: 0x6d4be220, 0x2b0a6: 0x6d4be420, 0x2b0a7: 0x6d4be620, + 0x2b0a8: 0x6d4be820, 0x2b0a9: 0x6d793820, 0x2b0aa: 0x6d793a20, 0x2b0ab: 0x6d793c20, + 0x2b0ac: 0x6d793e20, 0x2b0ad: 0x6d794020, 0x2b0ae: 0x6da22220, 0x2b0af: 0x6da22420, + 0x2b0b0: 0x6dc45420, 0x2b0b1: 0x6dc45620, 0x2b0b2: 0x6de15a20, 0x2b0b3: 0x6de15c20, + 0x2b0b4: 0x6de15e20, 0x2b0b5: 0x6de16020, 0x2b0b6: 0x6df95c20, 0x2b0b7: 0x6df95e20, + 0x2b0b8: 0x6df96020, 0x2b0b9: 0x6e0d2820, 0x2b0ba: 0x6e1c9820, 0x2b0bb: 0x6e3d1620, + 0x2b0bc: 0x6e3d1820, 0x2b0bd: 0x6c0fa620, 0x2b0be: 0x6c1c6220, 0x2b0bf: 0x6c1c6420, + // Block 0xac3, offset 0x2b0c0 + 0x2b0c0: 0x6c2fc820, 0x2b0c1: 0x6c4a1c20, 0x2b0c2: 0x6c6bdc20, 0x2b0c3: 0x6c6bde20, + 0x2b0c4: 0x6cbf4220, 0x2b0c5: 0x6cef7820, 0x2b0c6: 0x6d4cb620, 0x2b0c7: 0x6d79e020, + 0x2b0c8: 0x6e386820, 0x2b0c9: 0x6c03f620, 0x2b0ca: 0x6c081e20, 0x2b0cb: 0x6c082020, + 0x2b0cc: 0x6c0fb820, 0x2b0cd: 0x6c0fba20, 0x2b0ce: 0x6c1c8620, 0x2b0cf: 0x6c1c8820, + 0x2b0d0: 0x6c1c8a20, 0x2b0d1: 0x6c1c8c20, 0x2b0d2: 0x6c2ffa20, 0x2b0d3: 0x6c4a4020, + 0x2b0d4: 0x6c4a4220, 0x2b0d5: 0x6c4a4420, 0x2b0d6: 0x6c4a4620, 0x2b0d7: 0x6c6bf620, + 0x2b0d8: 0x6c6bf820, 0x2b0d9: 0x6c6bfa20, 0x2b0da: 0x6c6bfc20, 0x2b0db: 0x6c932220, + 0x2b0dc: 0x6c932420, 0x2b0dd: 0x6c932620, 0x2b0de: 0x6c932820, 0x2b0df: 0x6c932a20, + 0x2b0e0: 0x6c932c20, 0x2b0e1: 0x6c932e20, 0x2b0e2: 0x6cbf6420, 0x2b0e3: 0x6cbf6620, + 0x2b0e4: 0x6cef9a20, 0x2b0e5: 0x6cef9c20, 0x2b0e6: 0x6cef9e20, 0x2b0e7: 0x6cefa020, + 0x2b0e8: 0x6cefa220, 0x2b0e9: 0x6d1f3c20, 0x2b0ea: 0x6d1f3e20, 0x2b0eb: 0x6d1f4020, + 0x2b0ec: 0x6d1f4220, 0x2b0ed: 0x6d4cc820, 0x2b0ee: 0x6d4cca20, 0x2b0ef: 0x6d4ccc20, + 0x2b0f0: 0x6dc49420, 0x2b0f1: 0x6e0d4620, 0x2b0f2: 0x6e3d1a20, 0x2b0f3: 0x6c083020, + 0x2b0f4: 0x6c1cbc20, 0x2b0f5: 0x6c304420, 0x2b0f6: 0x6c6c7220, 0x2b0f7: 0x6cbfd420, + 0x2b0f8: 0x6c6c7c20, 0x2b0f9: 0x6cbfea20, 0x2b0fa: 0x6d1fba20, 0x2b0fb: 0x6d4d3820, + 0x2b0fc: 0x6c0ffa20, 0x2b0fd: 0x6c1cd620, 0x2b0fe: 0x6c306a20, 0x2b0ff: 0x6c306c20, + // Block 0xac4, offset 0x2b100 + 0x2b100: 0x6c4aba20, 0x2b101: 0x6c4abc20, 0x2b102: 0x6c6c9420, 0x2b103: 0x6c93b820, + 0x2b104: 0x6c93ba20, 0x2b105: 0x6c93bc20, 0x2b106: 0x6c93be20, 0x2b107: 0x6cc00220, + 0x2b108: 0x6cc00420, 0x2b109: 0x6cf01220, 0x2b10a: 0x6cf01420, 0x2b10b: 0x6c085020, + 0x2b10c: 0x6c100a20, 0x2b10d: 0x6c100c20, 0x2b10e: 0x6c1cf820, 0x2b10f: 0x6c308020, + 0x2b110: 0x6c308220, 0x2b111: 0x6c308420, 0x2b112: 0x6c4acc20, 0x2b113: 0x6c4ace20, + 0x2b114: 0x6c4ad020, 0x2b115: 0x6c4ad220, 0x2b116: 0x6c4ad420, 0x2b117: 0x6c6cac20, + 0x2b118: 0x6c93cc20, 0x2b119: 0x6c93ce20, 0x2b11a: 0x6cc02020, 0x2b11b: 0x6cc02220, + 0x2b11c: 0x6d1fda20, 0x2b11d: 0x6d1fdc20, 0x2b11e: 0x6d1fde20, 0x2b11f: 0x6d4d5e20, + 0x2b120: 0x6d4d6020, 0x2b121: 0x6de1be20, 0x2b122: 0x6c040c20, 0x2b123: 0x6c1d1e20, + 0x2b124: 0x6c086420, 0x2b125: 0x6c086620, 0x2b126: 0x6c086820, 0x2b127: 0x6c086a20, + 0x2b128: 0x6c103620, 0x2b129: 0x6c103820, 0x2b12a: 0x6c103a20, 0x2b12b: 0x6c103c20, + 0x2b12c: 0x6c103e20, 0x2b12d: 0x6c104020, 0x2b12e: 0x6c104220, 0x2b12f: 0x6c104420, + 0x2b130: 0x6c1d2c20, 0x2b131: 0x6c1d2e20, 0x2b132: 0x6c1d3020, 0x2b133: 0x6c1d3220, + 0x2b134: 0x6c1d3420, 0x2b135: 0x6c1d3620, 0x2b136: 0x6c1d3820, 0x2b137: 0x6c1d2020, + 0x2b138: 0x6c1d3a20, 0x2b139: 0x6c30b820, 0x2b13a: 0x6c30ba20, 0x2b13b: 0x6c30bc20, + 0x2b13c: 0x6c30be20, 0x2b13d: 0x6c30c020, 0x2b13e: 0x6c30c220, 0x2b13f: 0x6c30c420, + // Block 0xac5, offset 0x2b140 + 0x2b140: 0x6c30c620, 0x2b141: 0x6c30c820, 0x2b142: 0x6c30ca20, 0x2b143: 0x6c30cc20, + 0x2b144: 0x6c4b2020, 0x2b145: 0x6c4b2220, 0x2b146: 0x6c4b2420, 0x2b147: 0x6c6d0020, + 0x2b148: 0x6c6d0220, 0x2b149: 0x6c6d0420, 0x2b14a: 0x6c6d0620, 0x2b14b: 0x6c6d0820, + 0x2b14c: 0x6c6d0a20, 0x2b14d: 0x6c6d0c20, 0x2b14e: 0x6c6d0e20, 0x2b14f: 0x6c6d1020, + 0x2b150: 0x6c6d1220, 0x2b151: 0x6c6d1420, 0x2b152: 0x6c6d1620, 0x2b153: 0x6c6d1820, + 0x2b154: 0x6c6d1a20, 0x2b155: 0x6c6d1c20, 0x2b156: 0x6c6d1e20, 0x2b157: 0x6c941620, + 0x2b158: 0x6c941820, 0x2b159: 0x6c941a20, 0x2b15a: 0x6c941c20, 0x2b15b: 0x6c941e20, + 0x2b15c: 0x6c942020, 0x2b15d: 0x6c942220, 0x2b15e: 0x6c942420, 0x2b15f: 0x6c942620, + 0x2b160: 0x6c942820, 0x2b161: 0x6c942a20, 0x2b162: 0x6c942c20, 0x2b163: 0x6c942e20, + 0x2b164: 0x6c943020, 0x2b165: 0x6c943220, 0x2b166: 0x6cc07020, 0x2b167: 0x6cc07220, + 0x2b168: 0x6cc07420, 0x2b169: 0x6cc07620, 0x2b16a: 0x6cc07820, 0x2b16b: 0x6cc07a20, + 0x2b16c: 0x6cc07c20, 0x2b16d: 0x6cc07e20, 0x2b16e: 0x6cc08020, 0x2b16f: 0x6cc08220, + 0x2b170: 0x6cf06820, 0x2b171: 0x6cf06a20, 0x2b172: 0x6cf06c20, 0x2b173: 0x6cf06e20, + 0x2b174: 0x6cf07020, 0x2b175: 0x6cf07220, 0x2b176: 0x6cf07420, 0x2b177: 0x6cf07620, + 0x2b178: 0x6cf07820, 0x2b179: 0x6d200020, 0x2b17a: 0x6d200220, 0x2b17b: 0x6d200420, + 0x2b17c: 0x6d200620, 0x2b17d: 0x6d200820, 0x2b17e: 0x6d200a20, 0x2b17f: 0x6d200c20, + // Block 0xac6, offset 0x2b180 + 0x2b180: 0x6d200e20, 0x2b181: 0x6d201020, 0x2b182: 0x6d201220, 0x2b183: 0x6d201420, + 0x2b184: 0x6d201620, 0x2b185: 0x6d4d9420, 0x2b186: 0x6d4d9620, 0x2b187: 0x6d4d9820, + 0x2b188: 0x6d4d9a20, 0x2b189: 0x6d4d9c20, 0x2b18a: 0x6d4d9e20, 0x2b18b: 0x6d4da020, + 0x2b18c: 0x6d4da220, 0x2b18d: 0x6d4da420, 0x2b18e: 0x6d4da620, 0x2b18f: 0x6d4da820, + 0x2b190: 0x6d4daa20, 0x2b191: 0x6d7a6020, 0x2b192: 0x6d7a6220, 0x2b193: 0x6d7a6420, + 0x2b194: 0x6d7a6620, 0x2b195: 0x6d7a6820, 0x2b196: 0x6d7a6a20, 0x2b197: 0x6d7a6c20, + 0x2b198: 0x6da2e220, 0x2b199: 0x6da2e420, 0x2b19a: 0x6da2e620, 0x2b19b: 0x6da2e820, + 0x2b19c: 0x6da2ea20, 0x2b19d: 0x6dc4d020, 0x2b19e: 0x6dc4d220, 0x2b19f: 0x6dc4d420, + 0x2b1a0: 0x6de1d020, 0x2b1a1: 0x6de1d220, 0x2b1a2: 0x6de1d420, 0x2b1a3: 0x6de1d620, + 0x2b1a4: 0x6df9b020, 0x2b1a5: 0x6e0d7020, 0x2b1a6: 0x6e0d7220, 0x2b1a7: 0x6e1cd620, + 0x2b1a8: 0x6e429020, 0x2b1a9: 0x6c109220, 0x2b1aa: 0x6c041c20, 0x2b1ab: 0x6c6de820, + 0x2b1ac: 0x6c6dea20, 0x2b1ad: 0x6cc16e20, 0x2b1ae: 0x6d4e4c20, 0x2b1af: 0x6c08a020, + 0x2b1b0: 0x6c318820, 0x2b1b1: 0x6c955820, 0x2b1b2: 0x6c08a620, 0x2b1b3: 0x6c08a820, + 0x2b1b4: 0x6c10ae20, 0x2b1b5: 0x6c10b020, 0x2b1b6: 0x6c10b220, 0x2b1b7: 0x6c1dea20, + 0x2b1b8: 0x6c1dec20, 0x2b1b9: 0x6c1dee20, 0x2b1ba: 0x6c1df020, 0x2b1bb: 0x6c1df220, + 0x2b1bc: 0x6c1df420, 0x2b1bd: 0x6c319220, 0x2b1be: 0x6c319420, 0x2b1bf: 0x6c319620, + // Block 0xac7, offset 0x2b1c0 + 0x2b1c0: 0x6c319820, 0x2b1c1: 0x6c4bf020, 0x2b1c2: 0x6c4bf220, 0x2b1c3: 0x6c4bf420, + 0x2b1c4: 0x6c4bf620, 0x2b1c5: 0x6c4bf820, 0x2b1c6: 0x6c4bfa20, 0x2b1c7: 0x6c6dfc20, + 0x2b1c8: 0x6c6dfe20, 0x2b1c9: 0x6c956420, 0x2b1ca: 0x6c956620, 0x2b1cb: 0x6c956820, + 0x2b1cc: 0x6c956a20, 0x2b1cd: 0x6c956c20, 0x2b1ce: 0x6c956e20, 0x2b1cf: 0x6cc18820, + 0x2b1d0: 0x6cc18a20, 0x2b1d1: 0x6cc18c20, 0x2b1d2: 0x6cc18e20, 0x2b1d3: 0x6cc19020, + 0x2b1d4: 0x6cc19220, 0x2b1d5: 0x6cc19420, 0x2b1d6: 0x6cc19620, 0x2b1d7: 0x6cf11a20, + 0x2b1d8: 0x6cf11c20, 0x2b1d9: 0x6cf11e20, 0x2b1da: 0x6cf12020, 0x2b1db: 0x6cf12220, + 0x2b1dc: 0x6d20c020, 0x2b1dd: 0x6d20c220, 0x2b1de: 0x6d20c420, 0x2b1df: 0x6d20c620, + 0x2b1e0: 0x6d4e5a20, 0x2b1e1: 0x6d4e5c20, 0x2b1e2: 0x6d7ae820, 0x2b1e3: 0x6d7aea20, + 0x2b1e4: 0x6d7aec20, 0x2b1e5: 0x6da35c20, 0x2b1e6: 0x6da35e20, 0x2b1e7: 0x6df9dc20, + 0x2b1e8: 0x6df9de20, 0x2b1e9: 0x6e1d0420, 0x2b1ea: 0x6e1d0620, 0x2b1eb: 0x6cc1fc20, + 0x2b1ec: 0x6cc1fe20, 0x2b1ed: 0x6d210c20, 0x2b1ee: 0x6d7b2420, 0x2b1ef: 0x6c10e420, + 0x2b1f0: 0x6c10e620, 0x2b1f1: 0x6c10e820, 0x2b1f2: 0x6c1e4220, 0x2b1f3: 0x6c1e4420, + 0x2b1f4: 0x6c31f220, 0x2b1f5: 0x6c31f420, 0x2b1f6: 0x6c31f620, 0x2b1f7: 0x6c31f820, + 0x2b1f8: 0x6c31fa20, 0x2b1f9: 0x6c31fc20, 0x2b1fa: 0x6c31fe20, 0x2b1fb: 0x6c320020, + 0x2b1fc: 0x6c4c6820, 0x2b1fd: 0x6c4c6a20, 0x2b1fe: 0x6c4c6c20, 0x2b1ff: 0x6c4c6e20, + // Block 0xac8, offset 0x2b200 + 0x2b200: 0x6c4c7020, 0x2b201: 0x6c4c7220, 0x2b202: 0x6c4c7420, 0x2b203: 0x6c6e6020, + 0x2b204: 0x6c6e6220, 0x2b205: 0x6c6e6420, 0x2b206: 0x6c6e6620, 0x2b207: 0x6c6e6820, + 0x2b208: 0x6c95d820, 0x2b209: 0x6c95da20, 0x2b20a: 0x6c95dc20, 0x2b20b: 0x6c95de20, + 0x2b20c: 0x6c95e020, 0x2b20d: 0x6cc20420, 0x2b20e: 0x6cc20620, 0x2b20f: 0x6cc20820, + 0x2b210: 0x6cc20a20, 0x2b211: 0x6cf16a20, 0x2b212: 0x6d211620, 0x2b213: 0x6d211820, + 0x2b214: 0x6d211a20, 0x2b215: 0x6d211c20, 0x2b216: 0x6d4eb620, 0x2b217: 0x6d4eb820, + 0x2b218: 0x6d4eba20, 0x2b219: 0x6d7b2620, 0x2b21a: 0x6d7b2820, 0x2b21b: 0x6d7b2a20, + 0x2b21c: 0x6d7b2c20, 0x2b21d: 0x6de23020, 0x2b21e: 0x6df9ec20, 0x2b21f: 0x6c110820, + 0x2b220: 0x6c324420, 0x2b221: 0x6d217420, 0x2b222: 0x6d4f0020, 0x2b223: 0x6d7b5c20, + 0x2b224: 0x6c1ea620, 0x2b225: 0x6c4ce020, 0x2b226: 0x6cf1b820, 0x2b227: 0x6c044820, + 0x2b228: 0x6c112020, 0x2b229: 0x6c112220, 0x2b22a: 0x6c112420, 0x2b22b: 0x6c112620, + 0x2b22c: 0x6c1eb220, 0x2b22d: 0x6c1eb420, 0x2b22e: 0x6c326020, 0x2b22f: 0x6c326220, + 0x2b230: 0x6c326420, 0x2b231: 0x6c326620, 0x2b232: 0x6c4cec20, 0x2b233: 0x6c4cee20, + 0x2b234: 0x6c4cf020, 0x2b235: 0x6c4cf220, 0x2b236: 0x6c4cf420, 0x2b237: 0x6c4cf620, + 0x2b238: 0x6c6ed820, 0x2b239: 0x6c6eda20, 0x2b23a: 0x6c966820, 0x2b23b: 0x6c966a20, + 0x2b23c: 0x6c966c20, 0x2b23d: 0x6cc27e20, 0x2b23e: 0x6cc28020, 0x2b23f: 0x6cc28220, + // Block 0xac9, offset 0x2b240 + 0x2b240: 0x6cf1c220, 0x2b241: 0x6cf1c420, 0x2b242: 0x6cf1c620, 0x2b243: 0x6d218420, + 0x2b244: 0x6d4f0820, 0x2b245: 0x6d4f0a20, 0x2b246: 0x6e0dac20, 0x2b247: 0x6c329a20, + 0x2b248: 0x6d7b7820, 0x2b249: 0x6c115620, 0x2b24a: 0x6c1ede20, 0x2b24b: 0x6c32a420, + 0x2b24c: 0x6c32a620, 0x2b24d: 0x6c32a820, 0x2b24e: 0x6c96aa20, 0x2b24f: 0x6cc2ae20, + 0x2b250: 0x6cc2b020, 0x2b251: 0x6d21b220, 0x2b252: 0x6d4f2620, 0x2b253: 0x6d7b8220, + 0x2b254: 0x6c090020, 0x2b255: 0x6c116020, 0x2b256: 0x6c1eea20, 0x2b257: 0x6c1eec20, + 0x2b258: 0x6c32b420, 0x2b259: 0x6c32b620, 0x2b25a: 0x6c4d3c20, 0x2b25b: 0x6c4d3e20, + 0x2b25c: 0x6c4d4020, 0x2b25d: 0x6c4d4220, 0x2b25e: 0x6c4d4420, 0x2b25f: 0x6c4d4620, + 0x2b260: 0x6c4d4820, 0x2b261: 0x6c4d4a20, 0x2b262: 0x6c6f1220, 0x2b263: 0x6c6f1420, + 0x2b264: 0x6c96c620, 0x2b265: 0x6c96c820, 0x2b266: 0x6c96ca20, 0x2b267: 0x6c96cc20, + 0x2b268: 0x6c96ce20, 0x2b269: 0x6c96d020, 0x2b26a: 0x6cc2c020, 0x2b26b: 0x6cc2c220, + 0x2b26c: 0x6cc2c420, 0x2b26d: 0x6cc2c620, 0x2b26e: 0x6cc2c820, 0x2b26f: 0x6cf1f620, + 0x2b270: 0x6d21bc20, 0x2b271: 0x6d21be20, 0x2b272: 0x6d21c020, 0x2b273: 0x6d4f3620, + 0x2b274: 0x6d4f3820, 0x2b275: 0x6d7b8c20, 0x2b276: 0x6d7b8e20, 0x2b277: 0x6da3c020, + 0x2b278: 0x6de27220, 0x2b279: 0x6dfa1a20, 0x2b27a: 0x6c090620, 0x2b27b: 0x6c116e20, + 0x2b27c: 0x6c117220, 0x2b27d: 0x6c1f1c20, 0x2b27e: 0x6c117420, 0x2b27f: 0x6c117620, + // Block 0xaca, offset 0x2b280 + 0x2b280: 0x6c1f1e20, 0x2b281: 0x6c32e020, 0x2b282: 0x6c32e220, 0x2b283: 0x6c1f3220, + 0x2b284: 0x6c1f3420, 0x2b285: 0x6c32e420, 0x2b286: 0x6c1f3620, 0x2b287: 0x6c1f3820, + 0x2b288: 0x6c1f3a20, 0x2b289: 0x6c1f3c20, 0x2b28a: 0x6c1f3e20, 0x2b28b: 0x6c1f4020, + 0x2b28c: 0x6c32fc20, 0x2b28d: 0x6c4d7c20, 0x2b28e: 0x6c4d7e20, 0x2b28f: 0x6c32fe20, + 0x2b290: 0x6c330020, 0x2b291: 0x6c330220, 0x2b292: 0x6c330420, 0x2b293: 0x6c330620, + 0x2b294: 0x6c330820, 0x2b295: 0x6c330a20, 0x2b296: 0x6c330c20, 0x2b297: 0x6c4d8020, + 0x2b298: 0x6c330e20, 0x2b299: 0x6c4d8220, 0x2b29a: 0x6c4da220, 0x2b29b: 0x6c4da420, + 0x2b29c: 0x6c4da620, 0x2b29d: 0x6c4da820, 0x2b29e: 0x6c4daa20, 0x2b29f: 0x6c6f5620, + 0x2b2a0: 0x6c6f5820, 0x2b2a1: 0x6c4dac20, 0x2b2a2: 0x6c4dae20, 0x2b2a3: 0x6c6f5a20, + 0x2b2a4: 0x6c4db020, 0x2b2a5: 0x6c4db220, 0x2b2a6: 0x6c4db420, 0x2b2a7: 0x6c4db620, + 0x2b2a8: 0x6c4db820, 0x2b2a9: 0x6c6f5c20, 0x2b2aa: 0x6c6f5e20, 0x2b2ab: 0x6c6f6020, + 0x2b2ac: 0x6c4dba20, 0x2b2ad: 0x6c4dbc20, 0x2b2ae: 0x6c972e20, 0x2b2af: 0x6c6f8a20, + 0x2b2b0: 0x6c973020, 0x2b2b1: 0x6c6f8c20, 0x2b2b2: 0x6c973220, 0x2b2b3: 0x6c6f8e20, + 0x2b2b4: 0x6c6f9020, 0x2b2b5: 0x6c973420, 0x2b2b6: 0x6c6f9220, 0x2b2b7: 0x6c6f9420, + 0x2b2b8: 0x6c6f9620, 0x2b2b9: 0x6c6f9820, 0x2b2ba: 0x6c4dbe20, 0x2b2bb: 0x6c973620, + 0x2b2bc: 0x6c6f9a20, 0x2b2bd: 0x6c6f9c20, 0x2b2be: 0x6c975620, 0x2b2bf: 0x6c975820, + // Block 0xacb, offset 0x2b2c0 + 0x2b2c0: 0x6c975a20, 0x2b2c1: 0x6cc30420, 0x2b2c2: 0x6c975c20, 0x2b2c3: 0x6c975e20, + 0x2b2c4: 0x6c976020, 0x2b2c5: 0x6c976220, 0x2b2c6: 0x6c976420, 0x2b2c7: 0x6c976620, + 0x2b2c8: 0x6cc30620, 0x2b2c9: 0x6c976820, 0x2b2ca: 0x6c976a20, 0x2b2cb: 0x6cc30820, + 0x2b2cc: 0x6c976c20, 0x2b2cd: 0x6c976e20, 0x2b2ce: 0x6cc30a20, 0x2b2cf: 0x6c977020, + 0x2b2d0: 0x6cc30c20, 0x2b2d1: 0x6cc30e20, 0x2b2d2: 0x6c977220, 0x2b2d3: 0x6c977420, + 0x2b2d4: 0x6c977620, 0x2b2d5: 0x6cc31020, 0x2b2d6: 0x6cc31220, 0x2b2d7: 0x6c977820, + 0x2b2d8: 0x6c977a20, 0x2b2d9: 0x6c977c20, 0x2b2da: 0x6cc33c20, 0x2b2db: 0x6cc33e20, + 0x2b2dc: 0x6cc34020, 0x2b2dd: 0x6cc34220, 0x2b2de: 0x6cc34420, 0x2b2df: 0x6cc34620, + 0x2b2e0: 0x6cc34820, 0x2b2e1: 0x6cc34a20, 0x2b2e2: 0x6cc34c20, 0x2b2e3: 0x6cf24220, + 0x2b2e4: 0x6cf24420, 0x2b2e5: 0x6cc34e20, 0x2b2e6: 0x6cf24620, 0x2b2e7: 0x6cc35020, + 0x2b2e8: 0x6cf24820, 0x2b2e9: 0x6cc35220, 0x2b2ea: 0x6cc35420, 0x2b2eb: 0x6cc35620, + 0x2b2ec: 0x6cf26620, 0x2b2ed: 0x6cf26820, 0x2b2ee: 0x6cf26a20, 0x2b2ef: 0x6d220420, + 0x2b2f0: 0x6cf26c20, 0x2b2f1: 0x6cf26e20, 0x2b2f2: 0x6d220620, 0x2b2f3: 0x6cf27020, + 0x2b2f4: 0x6cf27220, 0x2b2f5: 0x6cf27420, 0x2b2f6: 0x6d220820, 0x2b2f7: 0x6d220a20, + 0x2b2f8: 0x6d220c20, 0x2b2f9: 0x6d220e20, 0x2b2fa: 0x6cf27620, 0x2b2fb: 0x6d221020, + 0x2b2fc: 0x6d222a20, 0x2b2fd: 0x6d222c20, 0x2b2fe: 0x6d222e20, 0x2b2ff: 0x6d4f6420, + // Block 0xacc, offset 0x2b300 + 0x2b300: 0x6d223020, 0x2b301: 0x6d4f6620, 0x2b302: 0x6d4f6820, 0x2b303: 0x6d223220, + 0x2b304: 0x6d4f6a20, 0x2b305: 0x6d223420, 0x2b306: 0x6d223620, 0x2b307: 0x6d223820, + 0x2b308: 0x6d223a20, 0x2b309: 0x6d4f9820, 0x2b30a: 0x6d4f9a20, 0x2b30b: 0x6d4f9c20, + 0x2b30c: 0x6d7bb220, 0x2b30d: 0x6d4f9e20, 0x2b30e: 0x6d4fa020, 0x2b30f: 0x6d4fa220, + 0x2b310: 0x6d4fa420, 0x2b311: 0x6d4fa620, 0x2b312: 0x6d4fa820, 0x2b313: 0x6d4faa20, + 0x2b314: 0x6d7bb420, 0x2b315: 0x6d4fac20, 0x2b316: 0x6d4fae20, 0x2b317: 0x6d7bce20, + 0x2b318: 0x6da3d420, 0x2b319: 0x6d7bd020, 0x2b31a: 0x6dc57420, 0x2b31b: 0x6dc57620, + 0x2b31c: 0x6da3e620, 0x2b31d: 0x6dc57820, 0x2b31e: 0x6dc57a20, 0x2b31f: 0x6dc57c20, + 0x2b320: 0x6da3e820, 0x2b321: 0x6dc58820, 0x2b322: 0x6dc58a20, 0x2b323: 0x6dfa2a20, + 0x2b324: 0x6dfa2c20, 0x2b325: 0x6de28420, 0x2b326: 0x6de28620, 0x2b327: 0x6de28820, + 0x2b328: 0x6dfa3020, 0x2b329: 0x6dfa3220, 0x2b32a: 0x6dfa3420, 0x2b32b: 0x6e1d3420, + 0x2b32c: 0x6e1d3620, 0x2b32d: 0x6e403c20, 0x2b32e: 0x6c1ffc20, 0x2b32f: 0x6c1ffe20, + 0x2b330: 0x6c33dc20, 0x2b331: 0x6c33de20, 0x2b332: 0x6c33e020, 0x2b333: 0x6c4e9e20, + 0x2b334: 0x6c709620, 0x2b335: 0x6c709820, 0x2b336: 0x6c709a20, 0x2b337: 0x6c98b620, + 0x2b338: 0x6cc48e20, 0x2b339: 0x6cf37620, 0x2b33a: 0x6d233220, 0x2b33b: 0x6d50be20, + 0x2b33c: 0x6d50c020, 0x2b33d: 0x6da46820, 0x2b33e: 0x6c201620, 0x2b33f: 0x6c340220, + // Block 0xacd, offset 0x2b340 + 0x2b340: 0x6c340420, 0x2b341: 0x6c4ec820, 0x2b342: 0x6c4eca20, 0x2b343: 0x6c093220, + 0x2b344: 0x6c093420, 0x2b345: 0x6c093620, 0x2b346: 0x6c11d620, 0x2b347: 0x6c11d820, + 0x2b348: 0x6c11da20, 0x2b349: 0x6c202820, 0x2b34a: 0x6c202a20, 0x2b34b: 0x6c202c20, + 0x2b34c: 0x6c202e20, 0x2b34d: 0x6c203020, 0x2b34e: 0x6c203220, 0x2b34f: 0x6c203420, + 0x2b350: 0x6c203620, 0x2b351: 0x6c203820, 0x2b352: 0x6c341e20, 0x2b353: 0x6c342020, + 0x2b354: 0x6c342220, 0x2b355: 0x6c342420, 0x2b356: 0x6c342620, 0x2b357: 0x6c342820, + 0x2b358: 0x6c4ef220, 0x2b359: 0x6c342a20, 0x2b35a: 0x6c342c20, 0x2b35b: 0x6c342e20, + 0x2b35c: 0x6c343020, 0x2b35d: 0x6c343220, 0x2b35e: 0x6c343420, 0x2b35f: 0x6c343620, + 0x2b360: 0x6c343820, 0x2b361: 0x6c4ef820, 0x2b362: 0x6c4efa20, 0x2b363: 0x6c4efc20, + 0x2b364: 0x6c4efe20, 0x2b365: 0x6c4f0020, 0x2b366: 0x6c4f0220, 0x2b367: 0x6c4f0420, + 0x2b368: 0x6c4f0620, 0x2b369: 0x6c4f0820, 0x2b36a: 0x6c4f0a20, 0x2b36b: 0x6c4f0c20, + 0x2b36c: 0x6c70ca20, 0x2b36d: 0x6c70cc20, 0x2b36e: 0x6c4f0e20, 0x2b36f: 0x6c4f1020, + 0x2b370: 0x6c4f1220, 0x2b371: 0x6c70ce20, 0x2b372: 0x6c70e020, 0x2b373: 0x6c98e220, + 0x2b374: 0x6c70e220, 0x2b375: 0x6c70e420, 0x2b376: 0x6c70e620, 0x2b377: 0x6c70e820, + 0x2b378: 0x6c70ea20, 0x2b379: 0x6c98e820, 0x2b37a: 0x6c98ea20, 0x2b37b: 0x6c98ec20, + 0x2b37c: 0x6c98ee20, 0x2b37d: 0x6c98f020, 0x2b37e: 0x6c98f220, 0x2b37f: 0x6c98f420, + // Block 0xace, offset 0x2b380 + 0x2b380: 0x6c98f620, 0x2b381: 0x6c98f820, 0x2b382: 0x6c98fa20, 0x2b383: 0x6c98fc20, + 0x2b384: 0x6c98fe20, 0x2b385: 0x6c990020, 0x2b386: 0x6c990220, 0x2b387: 0x6cc4bc20, + 0x2b388: 0x6c990420, 0x2b389: 0x6cc4c820, 0x2b38a: 0x6cc4ca20, 0x2b38b: 0x6cc4cc20, + 0x2b38c: 0x6cf3a820, 0x2b38d: 0x6cf3aa20, 0x2b38e: 0x6cc4ce20, 0x2b38f: 0x6cc4d020, + 0x2b390: 0x6cc4d220, 0x2b391: 0x6cc4d420, 0x2b392: 0x6cc4d620, 0x2b393: 0x6cc4d820, + 0x2b394: 0x6cc4da20, 0x2b395: 0x6cc4dc20, 0x2b396: 0x6cc66c20, 0x2b397: 0x6cc4de20, + 0x2b398: 0x6cc4e020, 0x2b399: 0x6cf3b220, 0x2b39a: 0x6cf3b420, 0x2b39b: 0x6cf3b620, + 0x2b39c: 0x6cf3b820, 0x2b39d: 0x6cf3ba20, 0x2b39e: 0x6cf3bc20, 0x2b39f: 0x6cf3be20, + 0x2b3a0: 0x6cf3c020, 0x2b3a1: 0x6cf3c220, 0x2b3a2: 0x6cf3c420, 0x2b3a3: 0x6cf3c620, + 0x2b3a4: 0x6cf3c820, 0x2b3a5: 0x6cf3ca20, 0x2b3a6: 0x6cf3cc20, 0x2b3a7: 0x6cf3ce20, + 0x2b3a8: 0x6cf3d020, 0x2b3a9: 0x6cf3d220, 0x2b3aa: 0x6cf3d420, 0x2b3ab: 0x6cf3d620, + 0x2b3ac: 0x6cf3d820, 0x2b3ad: 0x6d237220, 0x2b3ae: 0x6d237420, 0x2b3af: 0x6d237620, + 0x2b3b0: 0x6d237820, 0x2b3b1: 0x6d237a20, 0x2b3b2: 0x6d237c20, 0x2b3b3: 0x6d237e20, + 0x2b3b4: 0x6d238020, 0x2b3b5: 0x6d238220, 0x2b3b6: 0x6d238420, 0x2b3b7: 0x6d238620, + 0x2b3b8: 0x6d238820, 0x2b3b9: 0x6d238a20, 0x2b3ba: 0x6d238c20, 0x2b3bb: 0x6d50fc20, + 0x2b3bc: 0x6d50fe20, 0x2b3bd: 0x6d238e20, 0x2b3be: 0x6d239020, 0x2b3bf: 0x6d239220, + // Block 0xacf, offset 0x2b3c0 + 0x2b3c0: 0x6d239420, 0x2b3c1: 0x6d239620, 0x2b3c2: 0x6d239820, 0x2b3c3: 0x6d511020, + 0x2b3c4: 0x6d511220, 0x2b3c5: 0x6d511420, 0x2b3c6: 0x6d511620, 0x2b3c7: 0x6d511820, + 0x2b3c8: 0x6d511a20, 0x2b3c9: 0x6d511c20, 0x2b3ca: 0x6d511e20, 0x2b3cb: 0x6d512020, + 0x2b3cc: 0x6d512220, 0x2b3cd: 0x6d512420, 0x2b3ce: 0x6d512620, 0x2b3cf: 0x6d512820, + 0x2b3d0: 0x6d512a20, 0x2b3d1: 0x6d512c20, 0x2b3d2: 0x6d7cb420, 0x2b3d3: 0x6da47a20, + 0x2b3d4: 0x6d7cb620, 0x2b3d5: 0x6d7cb820, 0x2b3d6: 0x6d7cba20, 0x2b3d7: 0x6d7cbc20, + 0x2b3d8: 0x6d7cbe20, 0x2b3d9: 0x6d7cc020, 0x2b3da: 0x6da48220, 0x2b3db: 0x6da48420, + 0x2b3dc: 0x6da48620, 0x2b3dd: 0x6da48820, 0x2b3de: 0x6da48a20, 0x2b3df: 0x6da48c20, + 0x2b3e0: 0x6dc60e20, 0x2b3e1: 0x6dc61020, 0x2b3e2: 0x6dc61220, 0x2b3e3: 0x6dc61420, + 0x2b3e4: 0x6dc61620, 0x2b3e5: 0x6dc61820, 0x2b3e6: 0x6dc61a20, 0x2b3e7: 0x6dc61c20, + 0x2b3e8: 0x6dc61e20, 0x2b3e9: 0x6dc62020, 0x2b3ea: 0x6dc62220, 0x2b3eb: 0x6dc62420, + 0x2b3ec: 0x6de2ea20, 0x2b3ed: 0x6de2ec20, 0x2b3ee: 0x6dfa5c20, 0x2b3ef: 0x6dfa5e20, + 0x2b3f0: 0x6dfa6020, 0x2b3f1: 0x6e0df020, 0x2b3f2: 0x6e0df220, 0x2b3f3: 0x6e0df420, + 0x2b3f4: 0x6e0df620, 0x2b3f5: 0x6e28f820, 0x2b3f6: 0x6e28fa20, 0x2b3f7: 0x6e28fc20, + 0x2b3f8: 0x6e389020, 0x2b3f9: 0x6e389220, 0x2b3fa: 0x6c352e20, 0x2b3fb: 0x6c722220, + 0x2b3fc: 0x6c722420, 0x2b3fd: 0x6c9a9420, 0x2b3fe: 0x6cc67020, 0x2b3ff: 0x6c211c20, + // Block 0xad0, offset 0x2b400 + 0x2b400: 0x6c211e20, 0x2b401: 0x6c354020, 0x2b402: 0x6c354220, 0x2b403: 0x6c503420, + 0x2b404: 0x6c503620, 0x2b405: 0x6c503820, 0x2b406: 0x6c503a20, 0x2b407: 0x6c723620, + 0x2b408: 0x6c723820, 0x2b409: 0x6c723a20, 0x2b40a: 0x6c9aa020, 0x2b40b: 0x6c9aa220, + 0x2b40c: 0x6c9aa420, 0x2b40d: 0x6c9aa620, 0x2b40e: 0x6c9aa820, 0x2b40f: 0x6cc68220, + 0x2b410: 0x6cc68420, 0x2b411: 0x6cc68620, 0x2b412: 0x6cc68820, 0x2b413: 0x6cc68a20, + 0x2b414: 0x6cc68c20, 0x2b415: 0x6cc68e20, 0x2b416: 0x6cc69020, 0x2b417: 0x6cc69220, + 0x2b418: 0x6cc69420, 0x2b419: 0x6cc69620, 0x2b41a: 0x6cc69820, 0x2b41b: 0x6cf52c20, + 0x2b41c: 0x6cf52e20, 0x2b41d: 0x6cf53020, 0x2b41e: 0x6cf53220, 0x2b41f: 0x6cf53420, + 0x2b420: 0x6d24f020, 0x2b421: 0x6d24f220, 0x2b422: 0x6d24f420, 0x2b423: 0x6d24f620, + 0x2b424: 0x6d527220, 0x2b425: 0x6d527420, 0x2b426: 0x6d527620, 0x2b427: 0x6d7dae20, + 0x2b428: 0x6d7db020, 0x2b429: 0x6d7db220, 0x2b42a: 0x6d7db420, 0x2b42b: 0x6dc6b620, + 0x2b42c: 0x6dc6b820, 0x2b42d: 0x6dfab220, 0x2b42e: 0x6e0e2c20, 0x2b42f: 0x6c213a20, + 0x2b430: 0x6c728c20, 0x2b431: 0x6cf58c20, 0x2b432: 0x6c124020, 0x2b433: 0x6c124220, + 0x2b434: 0x6c358220, 0x2b435: 0x6c507a20, 0x2b436: 0x6c729a20, 0x2b437: 0x6c9b2820, + 0x2b438: 0x6cc71420, 0x2b439: 0x6d52cc20, 0x2b43a: 0x6da54220, 0x2b43b: 0x6e292a20, + 0x2b43c: 0x6c508220, 0x2b43d: 0x6c508420, 0x2b43e: 0x6c72aa20, 0x2b43f: 0x6c72ac20, + // Block 0xad1, offset 0x2b440 + 0x2b440: 0x6cc72420, 0x2b441: 0x6d255620, 0x2b442: 0x6d52d620, 0x2b443: 0x6c124620, + 0x2b444: 0x6c359e20, 0x2b445: 0x6c72b420, 0x2b446: 0x6c508e20, 0x2b447: 0x6c72b620, + 0x2b448: 0x6c72b820, 0x2b449: 0x6c72ba20, 0x2b44a: 0x6c9b4220, 0x2b44b: 0x6c9b4420, + 0x2b44c: 0x6c9b4620, 0x2b44d: 0x6cc74420, 0x2b44e: 0x6d52e420, 0x2b44f: 0x6d52e620, + 0x2b450: 0x6c124c20, 0x2b451: 0x6c124e20, 0x2b452: 0x6c215020, 0x2b453: 0x6c215220, + 0x2b454: 0x6c215420, 0x2b455: 0x6c215620, 0x2b456: 0x6c215820, 0x2b457: 0x6c215a20, + 0x2b458: 0x6c35b020, 0x2b459: 0x6c35b220, 0x2b45a: 0x6c35b420, 0x2b45b: 0x6c50b020, + 0x2b45c: 0x6c50b220, 0x2b45d: 0x6c50b420, 0x2b45e: 0x6c50b620, 0x2b45f: 0x6c50b820, + 0x2b460: 0x6c50ba20, 0x2b461: 0x6c50bc20, 0x2b462: 0x6c50be20, 0x2b463: 0x6c50c020, + 0x2b464: 0x6c50c220, 0x2b465: 0x6c72f020, 0x2b466: 0x6c72f220, 0x2b467: 0x6c72f420, + 0x2b468: 0x6c72f620, 0x2b469: 0x6c72f820, 0x2b46a: 0x6c72fa20, 0x2b46b: 0x6c72fc20, + 0x2b46c: 0x6c72fe20, 0x2b46d: 0x6c730020, 0x2b46e: 0x6c730220, 0x2b46f: 0x6c9b7020, + 0x2b470: 0x6c9b7220, 0x2b471: 0x6c9b7420, 0x2b472: 0x6c9b7620, 0x2b473: 0x6c9b7820, + 0x2b474: 0x6c9b7a20, 0x2b475: 0x6cc76e20, 0x2b476: 0x6cc77020, 0x2b477: 0x6cc77220, + 0x2b478: 0x6cc77420, 0x2b479: 0x6cc77620, 0x2b47a: 0x6cc77820, 0x2b47b: 0x6cc77a20, + 0x2b47c: 0x6cc77c20, 0x2b47d: 0x6cc77e20, 0x2b47e: 0x6cc78020, 0x2b47f: 0x6cc78220, + // Block 0xad2, offset 0x2b480 + 0x2b480: 0x6cc78420, 0x2b481: 0x6cf5d820, 0x2b482: 0x6cf5da20, 0x2b483: 0x6cf5dc20, + 0x2b484: 0x6cf5de20, 0x2b485: 0x6cf5e020, 0x2b486: 0x6cf5e220, 0x2b487: 0x6cf5e420, + 0x2b488: 0x6cf5e620, 0x2b489: 0x6cf5e820, 0x2b48a: 0x6cf5ea20, 0x2b48b: 0x6cf5ec20, + 0x2b48c: 0x6cf5ee20, 0x2b48d: 0x6d257620, 0x2b48e: 0x6d257820, 0x2b48f: 0x6d257a20, + 0x2b490: 0x6d257c20, 0x2b491: 0x6d52f420, 0x2b492: 0x6d52f620, 0x2b493: 0x6d52f820, + 0x2b494: 0x6d52fa20, 0x2b495: 0x6d52fc20, 0x2b496: 0x6d52fe20, 0x2b497: 0x6d7e3220, + 0x2b498: 0x6d7e3420, 0x2b499: 0x6d7e3620, 0x2b49a: 0x6d7e3820, 0x2b49b: 0x6d7e3a20, + 0x2b49c: 0x6d7e3c20, 0x2b49d: 0x6d7e3e20, 0x2b49e: 0x6d7e4020, 0x2b49f: 0x6d7e4220, + 0x2b4a0: 0x6da55e20, 0x2b4a1: 0x6da56020, 0x2b4a2: 0x6da56220, 0x2b4a3: 0x6dc6fa20, + 0x2b4a4: 0x6dc6fc20, 0x2b4a5: 0x6dc6fe20, 0x2b4a6: 0x6dc70020, 0x2b4a7: 0x6dc70220, + 0x2b4a8: 0x6dc70420, 0x2b4a9: 0x6de38420, 0x2b4aa: 0x6de38620, 0x2b4ab: 0x6dfade20, + 0x2b4ac: 0x6e1d9a20, 0x2b4ad: 0x6e1d9c20, 0x2b4ae: 0x6e292e20, 0x2b4af: 0x6e38a620, + 0x2b4b0: 0x6c126e20, 0x2b4b1: 0x6d7ed420, 0x2b4b2: 0x6da5aa20, 0x2b4b3: 0x6c364a20, + 0x2b4b4: 0x6c73aa20, 0x2b4b5: 0x6c73ac20, 0x2b4b6: 0x6c9c1620, 0x2b4b7: 0x6c9c1820, + 0x2b4b8: 0x6cc85820, 0x2b4b9: 0x6cd95a20, 0x2b4ba: 0x6d260220, 0x2b4bb: 0x6d260420, + 0x2b4bc: 0x6d538020, 0x2b4bd: 0x6d538220, 0x2b4be: 0x6d538420, 0x2b4bf: 0x6d7ee420, + // Block 0xad3, offset 0x2b4c0 + 0x2b4c0: 0x6da5b020, 0x2b4c1: 0x6c127a20, 0x2b4c2: 0x6c21b020, 0x2b4c3: 0x6c21b220, + 0x2b4c4: 0x6c21b420, 0x2b4c5: 0x6c21b620, 0x2b4c6: 0x6c21b820, 0x2b4c7: 0x6c365820, + 0x2b4c8: 0x6c365a20, 0x2b4c9: 0x6c365c20, 0x2b4ca: 0x6c365e20, 0x2b4cb: 0x6c366020, + 0x2b4cc: 0x6c366220, 0x2b4cd: 0x6c366420, 0x2b4ce: 0x6c366620, 0x2b4cf: 0x6c366820, + 0x2b4d0: 0x6c366a20, 0x2b4d1: 0x6c518620, 0x2b4d2: 0x6c518820, 0x2b4d3: 0x6c518a20, + 0x2b4d4: 0x6c518c20, 0x2b4d5: 0x6c518e20, 0x2b4d6: 0x6c519020, 0x2b4d7: 0x6c519220, + 0x2b4d8: 0x6c73c620, 0x2b4d9: 0x6c73c820, 0x2b4da: 0x6c73ca20, 0x2b4db: 0x6c73cc20, + 0x2b4dc: 0x6c73ce20, 0x2b4dd: 0x6c73d020, 0x2b4de: 0x6c73d220, 0x2b4df: 0x6c73d420, + 0x2b4e0: 0x6c73d620, 0x2b4e1: 0x6c73d820, 0x2b4e2: 0x6c73da20, 0x2b4e3: 0x6c73dc20, + 0x2b4e4: 0x6c73de20, 0x2b4e5: 0x6c73e020, 0x2b4e6: 0x6c73e220, 0x2b4e7: 0x6c73e420, + 0x2b4e8: 0x6c9c3620, 0x2b4e9: 0x6c9c3820, 0x2b4ea: 0x6c9c3a20, 0x2b4eb: 0x6c9c3c20, + 0x2b4ec: 0x6c9c3e20, 0x2b4ed: 0x6c9c4020, 0x2b4ee: 0x6c9c4220, 0x2b4ef: 0x6c9c4420, + 0x2b4f0: 0x6c9c4620, 0x2b4f1: 0x6c9c4820, 0x2b4f2: 0x6c9c4a20, 0x2b4f3: 0x6c9c4c20, + 0x2b4f4: 0x6c9c4e20, 0x2b4f5: 0x6c9c5020, 0x2b4f6: 0x6cc88620, 0x2b4f7: 0x6c9c5220, + 0x2b4f8: 0x6cc88820, 0x2b4f9: 0x6cc88a20, 0x2b4fa: 0x6cc88c20, 0x2b4fb: 0x6cc88e20, + 0x2b4fc: 0x6cc89020, 0x2b4fd: 0x6cc89220, 0x2b4fe: 0x6cc89420, 0x2b4ff: 0x6cc89620, + // Block 0xad4, offset 0x2b500 + 0x2b500: 0x6cc89820, 0x2b501: 0x6cc89a20, 0x2b502: 0x6cc89c20, 0x2b503: 0x6cc89e20, + 0x2b504: 0x6cc8a020, 0x2b505: 0x6cc8a220, 0x2b506: 0x6cc8a420, 0x2b507: 0x6cc8a620, + 0x2b508: 0x6cc8a820, 0x2b509: 0x6cc8aa20, 0x2b50a: 0x6cc8ac20, 0x2b50b: 0x6cf6b220, + 0x2b50c: 0x6cf6b420, 0x2b50d: 0x6cf6b620, 0x2b50e: 0x6cf6b820, 0x2b50f: 0x6cf6ba20, + 0x2b510: 0x6cf6bc20, 0x2b511: 0x6cf6be20, 0x2b512: 0x6cf6c020, 0x2b513: 0x6cf6c220, + 0x2b514: 0x6cf6c420, 0x2b515: 0x6cf6c620, 0x2b516: 0x6cf6c820, 0x2b517: 0x6cf6ca20, + 0x2b518: 0x6cf6cc20, 0x2b519: 0x6cf6ce20, 0x2b51a: 0x6cf6d020, 0x2b51b: 0x6cf6d220, + 0x2b51c: 0x6cf6d420, 0x2b51d: 0x6cf6d620, 0x2b51e: 0x6cf6d820, 0x2b51f: 0x6cf6da20, + 0x2b520: 0x6cf6dc20, 0x2b521: 0x6cfbd820, 0x2b522: 0x6cf6de20, 0x2b523: 0x6cf6e020, + 0x2b524: 0x6d261a20, 0x2b525: 0x6d261c20, 0x2b526: 0x6d261e20, 0x2b527: 0x6d262020, + 0x2b528: 0x6d262220, 0x2b529: 0x6d262420, 0x2b52a: 0x6d262620, 0x2b52b: 0x6d262820, + 0x2b52c: 0x6d262a20, 0x2b52d: 0x6d262c20, 0x2b52e: 0x6d262e20, 0x2b52f: 0x6d263020, + 0x2b530: 0x6d263220, 0x2b531: 0x6d263420, 0x2b532: 0x6d263620, 0x2b533: 0x6d263820, + 0x2b534: 0x6d263a20, 0x2b535: 0x6d263c20, 0x2b536: 0x6d263e20, 0x2b537: 0x6d264020, + 0x2b538: 0x6d264220, 0x2b539: 0x6d264420, 0x2b53a: 0x6d264620, 0x2b53b: 0x6d264820, + 0x2b53c: 0x6d264a20, 0x2b53d: 0x6d264c20, 0x2b53e: 0x6d539e20, 0x2b53f: 0x6d53a020, + // Block 0xad5, offset 0x2b540 + 0x2b540: 0x6d53a220, 0x2b541: 0x6d53a420, 0x2b542: 0x6d53a620, 0x2b543: 0x6d53a820, + 0x2b544: 0x6d53aa20, 0x2b545: 0x6d53ac20, 0x2b546: 0x6d53ae20, 0x2b547: 0x6d53b020, + 0x2b548: 0x6d53b220, 0x2b549: 0x6d53b420, 0x2b54a: 0x6d53b620, 0x2b54b: 0x6d53b820, + 0x2b54c: 0x6d53ba20, 0x2b54d: 0x6d53bc20, 0x2b54e: 0x6d53be20, 0x2b54f: 0x6d53c020, + 0x2b550: 0x6d7f0220, 0x2b551: 0x6d53c220, 0x2b552: 0x6d53c420, 0x2b553: 0x6d7f0420, + 0x2b554: 0x6d7f0620, 0x2b555: 0x6d7f0820, 0x2b556: 0x6d7f0a20, 0x2b557: 0x6d7f0c20, + 0x2b558: 0x6d7f0e20, 0x2b559: 0x6d7f1020, 0x2b55a: 0x6d7f1220, 0x2b55b: 0x6d7f1420, + 0x2b55c: 0x6d7f1620, 0x2b55d: 0x6d7f1820, 0x2b55e: 0x6d7f1a20, 0x2b55f: 0x6d7f1c20, + 0x2b560: 0x6d53c620, 0x2b561: 0x6d7f1e20, 0x2b562: 0x6d7f2020, 0x2b563: 0x6d7f2220, + 0x2b564: 0x6d7f2420, 0x2b565: 0x6d7f2620, 0x2b566: 0x6d7f2820, 0x2b567: 0x6d7f2a20, + 0x2b568: 0x6d7f2c20, 0x2b569: 0x6d7f2e20, 0x2b56a: 0x6da5c220, 0x2b56b: 0x6da5c420, + 0x2b56c: 0x6da5c620, 0x2b56d: 0x6da5c820, 0x2b56e: 0x6da5ca20, 0x2b56f: 0x6da5cc20, + 0x2b570: 0x6da5ce20, 0x2b571: 0x6da5d020, 0x2b572: 0x6da5d220, 0x2b573: 0x6da5d420, + 0x2b574: 0x6da5d620, 0x2b575: 0x6da5d820, 0x2b576: 0x6da5da20, 0x2b577: 0x6dc75420, + 0x2b578: 0x6dc75620, 0x2b579: 0x6dc75820, 0x2b57a: 0x6dc75a20, 0x2b57b: 0x6dc75c20, + 0x2b57c: 0x6dc75e20, 0x2b57d: 0x6dc76020, 0x2b57e: 0x6de3b420, 0x2b57f: 0x6de3b620, + // Block 0xad6, offset 0x2b580 + 0x2b580: 0x6de3b820, 0x2b581: 0x6de3ba20, 0x2b582: 0x6de3bc20, 0x2b583: 0x6de3be20, + 0x2b584: 0x6de3c020, 0x2b585: 0x6de3c220, 0x2b586: 0x6de3c420, 0x2b587: 0x6de3c620, + 0x2b588: 0x6de3c820, 0x2b589: 0x6dfb0820, 0x2b58a: 0x6dfb0a20, 0x2b58b: 0x6dfb0c20, + 0x2b58c: 0x6dfb0e20, 0x2b58d: 0x6dfb1020, 0x2b58e: 0x6dfb1220, 0x2b58f: 0x6dfb1420, + 0x2b590: 0x6dfb1620, 0x2b591: 0x6dfb1820, 0x2b592: 0x6dfb1a20, 0x2b593: 0x6dfb1c20, + 0x2b594: 0x6e0e5e20, 0x2b595: 0x6e0e6020, 0x2b596: 0x6dfb1e20, 0x2b597: 0x6e1db220, + 0x2b598: 0x6e1db420, 0x2b599: 0x6e293a20, 0x2b59a: 0x6e293c20, 0x2b59b: 0x6e293e20, + 0x2b59c: 0x6e294020, 0x2b59d: 0x6c223820, 0x2b59e: 0x6c223a20, 0x2b59f: 0x6c376620, + 0x2b5a0: 0x6c376820, 0x2b5a1: 0x6c376a20, 0x2b5a2: 0x6c376c20, 0x2b5a3: 0x6c52c220, + 0x2b5a4: 0x6c52c420, 0x2b5a5: 0x6c52c620, 0x2b5a6: 0x6c52c820, 0x2b5a7: 0x6c52ca20, + 0x2b5a8: 0x6c52cc20, 0x2b5a9: 0x6c754820, 0x2b5aa: 0x6c754a20, 0x2b5ab: 0x6c754c20, + 0x2b5ac: 0x6c754e20, 0x2b5ad: 0x6c755020, 0x2b5ae: 0x6c9da620, 0x2b5af: 0x6c9da820, + 0x2b5b0: 0x6c9daa20, 0x2b5b1: 0x6c9dac20, 0x2b5b2: 0x6cca8c20, 0x2b5b3: 0x6cca8e20, + 0x2b5b4: 0x6cca9020, 0x2b5b5: 0x6cca9220, 0x2b5b6: 0x6cca9420, 0x2b5b7: 0x6c75a620, + 0x2b5b8: 0x6cca9620, 0x2b5b9: 0x6cf8bc20, 0x2b5ba: 0x6cf8be20, 0x2b5bb: 0x6cf8c020, + 0x2b5bc: 0x6cf8c220, 0x2b5bd: 0x6cf8c420, 0x2b5be: 0x6cf8c620, 0x2b5bf: 0x6d280220, + // Block 0xad7, offset 0x2b5c0 + 0x2b5c0: 0x6d280420, 0x2b5c1: 0x6d280620, 0x2b5c2: 0x6d555220, 0x2b5c3: 0x6d555420, + 0x2b5c4: 0x6d80d020, 0x2b5c5: 0x6d80d220, 0x2b5c6: 0x6da6f420, 0x2b5c7: 0x6da6f620, + 0x2b5c8: 0x6da6f820, 0x2b5c9: 0x6da6fa20, 0x2b5ca: 0x6de47a20, 0x2b5cb: 0x6dfb9a20, + 0x2b5cc: 0x6e1e0c20, 0x2b5cd: 0x6e297620, 0x2b5ce: 0x6e38d620, 0x2b5cf: 0x6c12ba20, + 0x2b5d0: 0x6c224e20, 0x2b5d1: 0x6c225020, 0x2b5d2: 0x6c52f820, 0x2b5d3: 0x6c52fa20, + 0x2b5d4: 0x6c52fc20, 0x2b5d5: 0x6ccad220, 0x2b5d6: 0x6ccad420, 0x2b5d7: 0x6d284220, + 0x2b5d8: 0x6dc85c20, 0x2b5d9: 0x6c12c220, 0x2b5da: 0x6c37ca20, 0x2b5db: 0x6c37cc20, + 0x2b5dc: 0x6c37ce20, 0x2b5dd: 0x6c37d020, 0x2b5de: 0x6c530820, 0x2b5df: 0x6c530a20, + 0x2b5e0: 0x6c530c20, 0x2b5e1: 0x6c75a820, 0x2b5e2: 0x6c9de820, 0x2b5e3: 0x6c9dea20, + 0x2b5e4: 0x6ccaf820, 0x2b5e5: 0x6ccafa20, 0x2b5e6: 0x6ccafc20, 0x2b5e7: 0x6ccafe20, + 0x2b5e8: 0x6ccb0020, 0x2b5e9: 0x6ccb0220, 0x2b5ea: 0x6cf92220, 0x2b5eb: 0x6cf92420, + 0x2b5ec: 0x6cf92620, 0x2b5ed: 0x6cf92820, 0x2b5ee: 0x6cf92a20, 0x2b5ef: 0x6d285020, + 0x2b5f0: 0x6d285220, 0x2b5f1: 0x6d285420, 0x2b5f2: 0x6d285620, 0x2b5f3: 0x6d559a20, + 0x2b5f4: 0x6d559c20, 0x2b5f5: 0x6d810220, 0x2b5f6: 0x6d810420, 0x2b5f7: 0x6d810620, + 0x2b5f8: 0x6da71e20, 0x2b5f9: 0x6dfba420, 0x2b5fa: 0x6dfba620, 0x2b5fb: 0x6e297e20, + 0x2b5fc: 0x6c227420, 0x2b5fd: 0x6c380420, 0x2b5fe: 0x6c75dc20, 0x2b5ff: 0x6c75de20, + // Block 0xad8, offset 0x2b600 + 0x2b600: 0x6c9e2020, 0x2b601: 0x6ccb4a20, 0x2b602: 0x6ccb4c20, 0x2b603: 0x6ccb4e20, + 0x2b604: 0x6cf95620, 0x2b605: 0x6d287620, 0x2b606: 0x6d812820, 0x2b607: 0x6d812a20, + 0x2b608: 0x6d812c20, 0x2b609: 0x6da73620, 0x2b60a: 0x6dc87e20, 0x2b60b: 0x6c535620, + 0x2b60c: 0x6c12da20, 0x2b60d: 0x6c382020, 0x2b60e: 0x6c382220, 0x2b60f: 0x6c382420, + 0x2b610: 0x6c382620, 0x2b611: 0x6c382820, 0x2b612: 0x6c535e20, 0x2b613: 0x6c75f620, + 0x2b614: 0x6c9e5420, 0x2b615: 0x6c9e5620, 0x2b616: 0x6c9e5820, 0x2b617: 0x6c9e5a20, + 0x2b618: 0x6c9e5c20, 0x2b619: 0x6c9e5e20, 0x2b61a: 0x6c9e6020, 0x2b61b: 0x6ccb6a20, + 0x2b61c: 0x6ccb6c20, 0x2b61d: 0x6ccb6e20, 0x2b61e: 0x6ccb7020, 0x2b61f: 0x6cf98220, + 0x2b620: 0x6cf98420, 0x2b621: 0x6cf98620, 0x2b622: 0x6cf98820, 0x2b623: 0x6cf98a20, + 0x2b624: 0x6d289e20, 0x2b625: 0x6d28a020, 0x2b626: 0x6d28a220, 0x2b627: 0x6d28a420, + 0x2b628: 0x6d28a620, 0x2b629: 0x6d28a820, 0x2b62a: 0x6d815c20, 0x2b62b: 0x6d815e20, + 0x2b62c: 0x6d816020, 0x2b62d: 0x6d816220, 0x2b62e: 0x6d816420, 0x2b62f: 0x6dc89220, + 0x2b630: 0x6dc89420, 0x2b631: 0x6de4a220, 0x2b632: 0x6e3d4820, 0x2b633: 0x6c763820, + 0x2b634: 0x6c385620, 0x2b635: 0x6c9ea020, 0x2b636: 0x6d561220, 0x2b637: 0x6d819620, + 0x2b638: 0x6c04c820, 0x2b639: 0x6c099620, 0x2b63a: 0x6c099820, 0x2b63b: 0x6c12f420, + 0x2b63c: 0x6c099a20, 0x2b63d: 0x6c12fa20, 0x2b63e: 0x6c22a020, 0x2b63f: 0x6c12fc20, + // Block 0xad9, offset 0x2b640 + 0x2b640: 0x6c22a620, 0x2b641: 0x6c22a820, 0x2b642: 0x6c22aa20, 0x2b643: 0x6c22ac20, + 0x2b644: 0x6c22ae20, 0x2b645: 0x6c22b020, 0x2b646: 0x6c22b220, 0x2b647: 0x6c22b420, + 0x2b648: 0x6c22b620, 0x2b649: 0x6c22b820, 0x2b64a: 0x6c22ba20, 0x2b64b: 0x6c387020, + 0x2b64c: 0x6c387220, 0x2b64d: 0x6c387420, 0x2b64e: 0x6c387620, 0x2b64f: 0x6c387820, + 0x2b650: 0x6c387a20, 0x2b651: 0x6c387c20, 0x2b652: 0x6c387e20, 0x2b653: 0x6c388020, + 0x2b654: 0x6c388220, 0x2b655: 0x6c388420, 0x2b656: 0x6c53d820, 0x2b657: 0x6c53da20, + 0x2b658: 0x6c53dc20, 0x2b659: 0x6c53de20, 0x2b65a: 0x6c53e020, 0x2b65b: 0x6c53e220, + 0x2b65c: 0x6c53e420, 0x2b65d: 0x6c53e620, 0x2b65e: 0x6c53e820, 0x2b65f: 0x6c9eaa20, + 0x2b660: 0x6c53ea20, 0x2b661: 0x6c53ec20, 0x2b662: 0x6c53ee20, 0x2b663: 0x6c53f020, + 0x2b664: 0x6c765220, 0x2b665: 0x6c765420, 0x2b666: 0x6c765620, 0x2b667: 0x6c765820, + 0x2b668: 0x6c765a20, 0x2b669: 0x6c765c20, 0x2b66a: 0x6c765e20, 0x2b66b: 0x6c9eac20, + 0x2b66c: 0x6c766020, 0x2b66d: 0x6c766220, 0x2b66e: 0x6c766420, 0x2b66f: 0x6c766620, + 0x2b670: 0x6c766820, 0x2b671: 0x6c766a20, 0x2b672: 0x6c766c20, 0x2b673: 0x6c766e20, + 0x2b674: 0x6c9eb020, 0x2b675: 0x6c9eb220, 0x2b676: 0x6c9eb420, 0x2b677: 0x6c9eb620, + 0x2b678: 0x6c9eb820, 0x2b679: 0x6c9eba20, 0x2b67a: 0x6c9ebc20, 0x2b67b: 0x6c9ebe20, + 0x2b67c: 0x6ccbd620, 0x2b67d: 0x6c9ec020, 0x2b67e: 0x6c9ec220, 0x2b67f: 0x6c9ec420, + // Block 0xada, offset 0x2b680 + 0x2b680: 0x6c9ec620, 0x2b681: 0x6c9ec820, 0x2b682: 0x6c9eca20, 0x2b683: 0x6c9ecc20, + 0x2b684: 0x6c9ece20, 0x2b685: 0x6ccbd820, 0x2b686: 0x6c9ed020, 0x2b687: 0x6ccbda20, + 0x2b688: 0x6c9ed220, 0x2b689: 0x6c9ed420, 0x2b68a: 0x6c9ed620, 0x2b68b: 0x6c9ed820, + 0x2b68c: 0x6c9eda20, 0x2b68d: 0x6c9edc20, 0x2b68e: 0x6c9ede20, 0x2b68f: 0x6ccbe020, + 0x2b690: 0x6ccbe220, 0x2b691: 0x6ccbe420, 0x2b692: 0x6ccbe620, 0x2b693: 0x6ccbe820, + 0x2b694: 0x6ccbea20, 0x2b695: 0x6ccbec20, 0x2b696: 0x6ccbee20, 0x2b697: 0x6ccbf020, + 0x2b698: 0x6ccbf220, 0x2b699: 0x6ccbf420, 0x2b69a: 0x6ccbf620, 0x2b69b: 0x6ccbf820, + 0x2b69c: 0x6ccbfa20, 0x2b69d: 0x6ccbfc20, 0x2b69e: 0x6ccbfe20, 0x2b69f: 0x6ccc0020, + 0x2b6a0: 0x6ccc0220, 0x2b6a1: 0x6ccc0420, 0x2b6a2: 0x6ccc0620, 0x2b6a3: 0x6ccc0820, + 0x2b6a4: 0x6ccc0a20, 0x2b6a5: 0x6cf9e420, 0x2b6a6: 0x6cf9e620, 0x2b6a7: 0x6cf9e820, + 0x2b6a8: 0x6cf9ea20, 0x2b6a9: 0x6cf9ec20, 0x2b6aa: 0x6cf9ee20, 0x2b6ab: 0x6cf9f020, + 0x2b6ac: 0x6cf9f220, 0x2b6ad: 0x6cf9f420, 0x2b6ae: 0x6cf9f620, 0x2b6af: 0x6cf9f820, + 0x2b6b0: 0x6cf9fa20, 0x2b6b1: 0x6cf9fc20, 0x2b6b2: 0x6cf9fe20, 0x2b6b3: 0x6cfa0020, + 0x2b6b4: 0x6cfa0220, 0x2b6b5: 0x6cfa0420, 0x2b6b6: 0x6cfa0620, 0x2b6b7: 0x6cfa0820, + 0x2b6b8: 0x6cfa0a20, 0x2b6b9: 0x6cfa0c20, 0x2b6ba: 0x6cfa0e20, 0x2b6bb: 0x6cfa1020, + 0x2b6bc: 0x6d28f620, 0x2b6bd: 0x6d28f820, 0x2b6be: 0x6d28fa20, 0x2b6bf: 0x6d28fc20, + // Block 0xadb, offset 0x2b6c0 + 0x2b6c0: 0x6d28fe20, 0x2b6c1: 0x6d290020, 0x2b6c2: 0x6d290220, 0x2b6c3: 0x6d290420, + 0x2b6c4: 0x6d290620, 0x2b6c5: 0x6d290820, 0x2b6c6: 0x6d290a20, 0x2b6c7: 0x6d290c20, + 0x2b6c8: 0x6d290e20, 0x2b6c9: 0x6d291020, 0x2b6ca: 0x6d562420, 0x2b6cb: 0x6d562620, + 0x2b6cc: 0x6d562820, 0x2b6cd: 0x6d562a20, 0x2b6ce: 0x6d562c20, 0x2b6cf: 0x6d562e20, + 0x2b6d0: 0x6d563020, 0x2b6d1: 0x6d563220, 0x2b6d2: 0x6d563420, 0x2b6d3: 0x6d563620, + 0x2b6d4: 0x6d563820, 0x2b6d5: 0x6d563a20, 0x2b6d6: 0x6d563c20, 0x2b6d7: 0x6d563e20, + 0x2b6d8: 0x6d819820, 0x2b6d9: 0x6d564020, 0x2b6da: 0x6d564220, 0x2b6db: 0x6d564420, + 0x2b6dc: 0x6d564620, 0x2b6dd: 0x6d819e20, 0x2b6de: 0x6d81a020, 0x2b6df: 0x6d81a220, + 0x2b6e0: 0x6d81a420, 0x2b6e1: 0x6d81a620, 0x2b6e2: 0x6d81a820, 0x2b6e3: 0x6d81aa20, + 0x2b6e4: 0x6d81ac20, 0x2b6e5: 0x6d81ae20, 0x2b6e6: 0x6d81b020, 0x2b6e7: 0x6d81b220, + 0x2b6e8: 0x6da77620, 0x2b6e9: 0x6d81b420, 0x2b6ea: 0x6d81b620, 0x2b6eb: 0x6d81b820, + 0x2b6ec: 0x6d81ba20, 0x2b6ed: 0x6d81bc20, 0x2b6ee: 0x6d81be20, 0x2b6ef: 0x6da77c20, + 0x2b6f0: 0x6da77e20, 0x2b6f1: 0x6da78020, 0x2b6f2: 0x6da78220, 0x2b6f3: 0x6da78420, + 0x2b6f4: 0x6da78620, 0x2b6f5: 0x6da78820, 0x2b6f6: 0x6da78a20, 0x2b6f7: 0x6da78c20, + 0x2b6f8: 0x6da78e20, 0x2b6f9: 0x6da79020, 0x2b6fa: 0x6da79220, 0x2b6fb: 0x6da79420, + 0x2b6fc: 0x6da79620, 0x2b6fd: 0x6dc8c420, 0x2b6fe: 0x6dc8c620, 0x2b6ff: 0x6dc8c820, + // Block 0xadc, offset 0x2b700 + 0x2b700: 0x6dc8ca20, 0x2b701: 0x6dc8cc20, 0x2b702: 0x6dc8ce20, 0x2b703: 0x6dc8d020, + 0x2b704: 0x6de4b220, 0x2b705: 0x6de4b420, 0x2b706: 0x6de4b620, 0x2b707: 0x6de4b820, + 0x2b708: 0x6de4ba20, 0x2b709: 0x6de4bc20, 0x2b70a: 0x6de4be20, 0x2b70b: 0x6de4c020, + 0x2b70c: 0x6dfbc420, 0x2b70d: 0x6dfbc620, 0x2b70e: 0x6dfbc820, 0x2b70f: 0x6dfbca20, + 0x2b710: 0x6dfbcc20, 0x2b711: 0x6dfbce20, 0x2b712: 0x6e0efa20, 0x2b713: 0x6e0efc20, + 0x2b714: 0x6e0efe20, 0x2b715: 0x6e0f0020, 0x2b716: 0x6e0f0220, 0x2b717: 0x6e1e2e20, + 0x2b718: 0x6e0f0420, 0x2b719: 0x6e1e3020, 0x2b71a: 0x6e1e3220, 0x2b71b: 0x6e299820, + 0x2b71c: 0x6e299a20, 0x2b71d: 0x6e299c20, 0x2b71e: 0x6e329e20, 0x2b71f: 0x6e32a020, + 0x2b720: 0x6e3d5020, 0x2b721: 0x6c135620, 0x2b722: 0x6c135820, 0x2b723: 0x6c238a20, + 0x2b724: 0x6c238c20, 0x2b725: 0x6c238e20, 0x2b726: 0x6c399420, 0x2b727: 0x6c399620, + 0x2b728: 0x6c399820, 0x2b729: 0x6c399a20, 0x2b72a: 0x6c399c20, 0x2b72b: 0x6c551820, + 0x2b72c: 0x6c551a20, 0x2b72d: 0x6c551c20, 0x2b72e: 0x6c551e20, 0x2b72f: 0x6c552020, + 0x2b730: 0x6c552220, 0x2b731: 0x6c552420, 0x2b732: 0x6c552620, 0x2b733: 0x6c77ea20, + 0x2b734: 0x6c77ec20, 0x2b735: 0x6c77ee20, 0x2b736: 0x6c77f020, 0x2b737: 0x6c77f220, + 0x2b738: 0x6c77f420, 0x2b739: 0x6ca0de20, 0x2b73a: 0x6ca0e020, 0x2b73b: 0x6ca0e220, + 0x2b73c: 0x6ca0e420, 0x2b73d: 0x6ca0e620, 0x2b73e: 0x6ca0e820, 0x2b73f: 0x6ca0ea20, + // Block 0xadd, offset 0x2b740 + 0x2b740: 0x6ca0ec20, 0x2b741: 0x6ca0ee20, 0x2b742: 0x6ccdde20, 0x2b743: 0x6ccde020, + 0x2b744: 0x6ccde220, 0x2b745: 0x6ccde420, 0x2b746: 0x6ccde620, 0x2b747: 0x6ccde820, + 0x2b748: 0x6ccdea20, 0x2b749: 0x6ccdec20, 0x2b74a: 0x6ccdee20, 0x2b74b: 0x6ccdf020, + 0x2b74c: 0x6ccdf220, 0x2b74d: 0x6ccdf420, 0x2b74e: 0x6cfbda20, 0x2b74f: 0x6cfbdc20, + 0x2b750: 0x6cfbde20, 0x2b751: 0x6cfbe020, 0x2b752: 0x6cfbe220, 0x2b753: 0x6cfbe420, + 0x2b754: 0x6cfbe620, 0x2b755: 0x6cfbe820, 0x2b756: 0x6cfbea20, 0x2b757: 0x6cfbec20, + 0x2b758: 0x6cfbee20, 0x2b759: 0x6cfbf020, 0x2b75a: 0x6cfbf220, 0x2b75b: 0x6cfbf420, + 0x2b75c: 0x6cfbf620, 0x2b75d: 0x6cfbf820, 0x2b75e: 0x6cfbfa20, 0x2b75f: 0x6d2ad220, + 0x2b760: 0x6d2ad420, 0x2b761: 0x6d2ad620, 0x2b762: 0x6d2ad820, 0x2b763: 0x6d2ada20, + 0x2b764: 0x6d2adc20, 0x2b765: 0x6d2ade20, 0x2b766: 0x6d2ae020, 0x2b767: 0x6d2ae220, + 0x2b768: 0x6d2ae420, 0x2b769: 0x6d2ae620, 0x2b76a: 0x6d2ae820, 0x2b76b: 0x6d580e20, + 0x2b76c: 0x6d581020, 0x2b76d: 0x6d581220, 0x2b76e: 0x6d581420, 0x2b76f: 0x6d581620, + 0x2b770: 0x6d581820, 0x2b771: 0x6d581a20, 0x2b772: 0x6d581c20, 0x2b773: 0x6d82fe20, + 0x2b774: 0x6d830020, 0x2b775: 0x6d830220, 0x2b776: 0x6d830420, 0x2b777: 0x6d830620, + 0x2b778: 0x6d830820, 0x2b779: 0x6d830a20, 0x2b77a: 0x6d830c20, 0x2b77b: 0x6d830e20, + 0x2b77c: 0x6d831020, 0x2b77d: 0x6d831220, 0x2b77e: 0x6da87020, 0x2b77f: 0x6da87220, + // Block 0xade, offset 0x2b780 + 0x2b780: 0x6da87420, 0x2b781: 0x6da87620, 0x2b782: 0x6da87820, 0x2b783: 0x6da87a20, + 0x2b784: 0x6dc9ba20, 0x2b785: 0x6dc9bc20, 0x2b786: 0x6de57220, 0x2b787: 0x6de57420, + 0x2b788: 0x6dfc4a20, 0x2b789: 0x6de57620, 0x2b78a: 0x6dfc4c20, 0x2b78b: 0x6dfc4e20, + 0x2b78c: 0x6dfc5020, 0x2b78d: 0x6e0f7c20, 0x2b78e: 0x6e1e6e20, 0x2b78f: 0x6e29d620, + 0x2b790: 0x6e29d820, 0x2b791: 0x6e3d6620, 0x2b792: 0x6c3a2420, 0x2b793: 0x6c3a2620, + 0x2b794: 0x6ca1ce20, 0x2b795: 0x6d2bda20, 0x2b796: 0x6c561420, 0x2b797: 0x6c78d420, + 0x2b798: 0x6ca1da20, 0x2b799: 0x6cfd3e20, 0x2b79a: 0x6c3a4020, 0x2b79b: 0x6c561e20, + 0x2b79c: 0x6ccf2820, 0x2b79d: 0x6c3a4e20, 0x2b79e: 0x6c3a5020, 0x2b79f: 0x6c78ee20, + 0x2b7a0: 0x6c78f020, 0x2b7a1: 0x6c78f220, 0x2b7a2: 0x6d2bfa20, 0x2b7a3: 0x6da93c20, + 0x2b7a4: 0x6dca4420, 0x2b7a5: 0x6e0fb620, 0x2b7a6: 0x6c04ea20, 0x2b7a7: 0x6c790220, + 0x2b7a8: 0x6c137e20, 0x2b7a9: 0x6c23e820, 0x2b7aa: 0x6c23ea20, 0x2b7ab: 0x6c3a6220, + 0x2b7ac: 0x6c3a6420, 0x2b7ad: 0x6c3a6620, 0x2b7ae: 0x6c3a6820, 0x2b7af: 0x6c3a6a20, + 0x2b7b0: 0x6c564220, 0x2b7b1: 0x6c564420, 0x2b7b2: 0x6c564620, 0x2b7b3: 0x6c564820, + 0x2b7b4: 0x6c564a20, 0x2b7b5: 0x6c790820, 0x2b7b6: 0x6c790a20, 0x2b7b7: 0x6c790c20, + 0x2b7b8: 0x6c790e20, 0x2b7b9: 0x6ca20e20, 0x2b7ba: 0x6ca21020, 0x2b7bb: 0x6ca21220, + 0x2b7bc: 0x6ca21420, 0x2b7bd: 0x6ca21620, 0x2b7be: 0x6ca21820, 0x2b7bf: 0x6ca21a20, + // Block 0xadf, offset 0x2b7c0 + 0x2b7c0: 0x6ca21c20, 0x2b7c1: 0x6ccf7220, 0x2b7c2: 0x6ccf7420, 0x2b7c3: 0x6ccf7620, + 0x2b7c4: 0x6d2c0e20, 0x2b7c5: 0x6cfd7020, 0x2b7c6: 0x6cfd7220, 0x2b7c7: 0x6cfd7420, + 0x2b7c8: 0x6cfd7620, 0x2b7c9: 0x6d2c1020, 0x2b7ca: 0x6d2c1220, 0x2b7cb: 0x6d2c1420, + 0x2b7cc: 0x6d594620, 0x2b7cd: 0x6d594820, 0x2b7ce: 0x6d594a20, 0x2b7cf: 0x6d594c20, + 0x2b7d0: 0x6d594e20, 0x2b7d1: 0x6d845220, 0x2b7d2: 0x6d845420, 0x2b7d3: 0x6d845620, + 0x2b7d4: 0x6da94820, 0x2b7d5: 0x6da94a20, 0x2b7d6: 0x6da94c20, 0x2b7d7: 0x6dca5020, + 0x2b7d8: 0x6dca5220, 0x2b7d9: 0x6de5e420, 0x2b7da: 0x6e0fba20, 0x2b7db: 0x6e1e9a20, + 0x2b7dc: 0x6c3ab420, 0x2b7dd: 0x6c240220, 0x2b7de: 0x6c240420, 0x2b7df: 0x6c240620, + 0x2b7e0: 0x6c240820, 0x2b7e1: 0x6c3ab820, 0x2b7e2: 0x6c3aba20, 0x2b7e3: 0x6c3abc20, + 0x2b7e4: 0x6c3abe20, 0x2b7e5: 0x6c3ac020, 0x2b7e6: 0x6c3ac220, 0x2b7e7: 0x6c3ac420, + 0x2b7e8: 0x6c3ac620, 0x2b7e9: 0x6c3ac820, 0x2b7ea: 0x6c3aca20, 0x2b7eb: 0x6c569820, + 0x2b7ec: 0x6c569a20, 0x2b7ed: 0x6c569c20, 0x2b7ee: 0x6c569e20, 0x2b7ef: 0x6c56a020, + 0x2b7f0: 0x6c56a220, 0x2b7f1: 0x6c793420, 0x2b7f2: 0x6c793620, 0x2b7f3: 0x6c793820, + 0x2b7f4: 0x6c793a20, 0x2b7f5: 0x6c793c20, 0x2b7f6: 0x6c793e20, 0x2b7f7: 0x6c794020, + 0x2b7f8: 0x6c794220, 0x2b7f9: 0x6ca25420, 0x2b7fa: 0x6ca25620, 0x2b7fb: 0x6ca25820, + 0x2b7fc: 0x6ca25a20, 0x2b7fd: 0x6ca25c20, 0x2b7fe: 0x6ca25e20, 0x2b7ff: 0x6ca26020, + // Block 0xae0, offset 0x2b800 + 0x2b800: 0x6ca26220, 0x2b801: 0x6ccfd820, 0x2b802: 0x6ccfda20, 0x2b803: 0x6ccfdc20, + 0x2b804: 0x6ccfde20, 0x2b805: 0x6ccfe020, 0x2b806: 0x6ccfe220, 0x2b807: 0x6cfdc420, + 0x2b808: 0x6cfdc620, 0x2b809: 0x6cfdc820, 0x2b80a: 0x6cfdca20, 0x2b80b: 0x6cfdcc20, + 0x2b80c: 0x6cfdce20, 0x2b80d: 0x6cfdd020, 0x2b80e: 0x6d2c6c20, 0x2b80f: 0x6d2c6e20, + 0x2b810: 0x6d2c7020, 0x2b811: 0x6d2c7220, 0x2b812: 0x6d2c7420, 0x2b813: 0x6d2c7620, + 0x2b814: 0x6d598820, 0x2b815: 0x6d598a20, 0x2b816: 0x6d598c20, 0x2b817: 0x6d598e20, + 0x2b818: 0x6d599020, 0x2b819: 0x6d599220, 0x2b81a: 0x6d848020, 0x2b81b: 0x6d848220, + 0x2b81c: 0x6d848420, 0x2b81d: 0x6da96420, 0x2b81e: 0x6da96620, 0x2b81f: 0x6da96820, + 0x2b820: 0x6dca5820, 0x2b821: 0x6de60220, 0x2b822: 0x6de60420, 0x2b823: 0x6dfce820, + 0x2b824: 0x6dfcea20, 0x2b825: 0x6dfcec20, 0x2b826: 0x6dfcee20, 0x2b827: 0x6e32d420, + 0x2b828: 0x6c13b620, 0x2b829: 0x6c13b820, 0x2b82a: 0x6c13ba20, 0x2b82b: 0x6c13bc20, + 0x2b82c: 0x6c246c20, 0x2b82d: 0x6c246e20, 0x2b82e: 0x6c247020, 0x2b82f: 0x6c247220, + 0x2b830: 0x6c3b3820, 0x2b831: 0x6c572a20, 0x2b832: 0x6c3b3a20, 0x2b833: 0x6c3b3c20, + 0x2b834: 0x6c3b3e20, 0x2b835: 0x6c3b4020, 0x2b836: 0x6c3b4220, 0x2b837: 0x6c572c20, + 0x2b838: 0x6c79bc20, 0x2b839: 0x6c572e20, 0x2b83a: 0x6c573020, 0x2b83b: 0x6c573220, + 0x2b83c: 0x6c573420, 0x2b83d: 0x6c573620, 0x2b83e: 0x6c573820, 0x2b83f: 0x6c79c220, + // Block 0xae1, offset 0x2b840 + 0x2b840: 0x6c79c420, 0x2b841: 0x6c79c620, 0x2b842: 0x6c79c820, 0x2b843: 0x6c79ca20, + 0x2b844: 0x6c79cc20, 0x2b845: 0x6c79ce20, 0x2b846: 0x6c79d020, 0x2b847: 0x6c79d220, + 0x2b848: 0x6c79d420, 0x2b849: 0x6ca2da20, 0x2b84a: 0x6ca2dc20, 0x2b84b: 0x6ca2de20, + 0x2b84c: 0x6ca2e020, 0x2b84d: 0x6ca2e220, 0x2b84e: 0x6ca2e420, 0x2b84f: 0x6ca2e620, + 0x2b850: 0x6ca2e820, 0x2b851: 0x6cd07620, 0x2b852: 0x6cd07820, 0x2b853: 0x6cd07a20, + 0x2b854: 0x6cd07c20, 0x2b855: 0x6cd07e20, 0x2b856: 0x6cd08020, 0x2b857: 0x6cfe4a20, + 0x2b858: 0x6cd08220, 0x2b859: 0x6cd08420, 0x2b85a: 0x6cd08620, 0x2b85b: 0x6cd08820, + 0x2b85c: 0x6cd08a20, 0x2b85d: 0x6cfe4e20, 0x2b85e: 0x6cfe5020, 0x2b85f: 0x6cfe5220, + 0x2b860: 0x6cfe5420, 0x2b861: 0x6cfe5620, 0x2b862: 0x6cfe5820, 0x2b863: 0x6cfe5a20, + 0x2b864: 0x6cfe5c20, 0x2b865: 0x6cfe5e20, 0x2b866: 0x6cfe6020, 0x2b867: 0x6d2ce220, + 0x2b868: 0x6d2ce420, 0x2b869: 0x6d2ce620, 0x2b86a: 0x6d2ce820, 0x2b86b: 0x6d5a0a20, + 0x2b86c: 0x6d5a0c20, 0x2b86d: 0x6d5a0e20, 0x2b86e: 0x6d5a1020, 0x2b86f: 0x6d5a1220, + 0x2b870: 0x6d5a1420, 0x2b871: 0x6d5a1620, 0x2b872: 0x6d5a1820, 0x2b873: 0x6d5a1a20, + 0x2b874: 0x6d5a1c20, 0x2b875: 0x6d84ce20, 0x2b876: 0x6d84d020, 0x2b877: 0x6d84d220, + 0x2b878: 0x6d84d420, 0x2b879: 0x6da99620, 0x2b87a: 0x6da99820, 0x2b87b: 0x6d84d620, + 0x2b87c: 0x6d84d820, 0x2b87d: 0x6da99e20, 0x2b87e: 0x6dca8420, 0x2b87f: 0x6da9a020, + // Block 0xae2, offset 0x2b880 + 0x2b880: 0x6da9a220, 0x2b881: 0x6da9a420, 0x2b882: 0x6dca8620, 0x2b883: 0x6de62020, + 0x2b884: 0x6de62220, 0x2b885: 0x6de62420, 0x2b886: 0x6de62620, 0x2b887: 0x6dfcfe20, + 0x2b888: 0x6e2a1a20, 0x2b889: 0x6c57c620, 0x2b88a: 0x6c57c820, 0x2b88b: 0x6c7a7420, + 0x2b88c: 0x6c7a7620, 0x2b88d: 0x6ca37c20, 0x2b88e: 0x6ca37e20, 0x2b88f: 0x6cd16020, + 0x2b890: 0x6d2d8620, 0x2b891: 0x6d2d8820, 0x2b892: 0x6d2d8a20, 0x2b893: 0x6d5ab220, + 0x2b894: 0x6d5ab420, 0x2b895: 0x6dcae220, 0x2b896: 0x6e3d7020, 0x2b897: 0x6c24a020, + 0x2b898: 0x6c3bb220, 0x2b899: 0x6c3bb420, 0x2b89a: 0x6c57d620, 0x2b89b: 0x6c57d820, + 0x2b89c: 0x6c7a8620, 0x2b89d: 0x6c7a8820, 0x2b89e: 0x6c7a8a20, 0x2b89f: 0x6c7a8c20, + 0x2b8a0: 0x6c7a8e20, 0x2b8a1: 0x6ca38c20, 0x2b8a2: 0x6ca38e20, 0x2b8a3: 0x6ca39020, + 0x2b8a4: 0x6ca39220, 0x2b8a5: 0x6ca39420, 0x2b8a6: 0x6ca39620, 0x2b8a7: 0x6cd17020, + 0x2b8a8: 0x6cd17220, 0x2b8a9: 0x6cd17420, 0x2b8aa: 0x6cd17620, 0x2b8ab: 0x6cff5220, + 0x2b8ac: 0x6cff5420, 0x2b8ad: 0x6cff5620, 0x2b8ae: 0x6cff5820, 0x2b8af: 0x6cff5a20, + 0x2b8b0: 0x6cff5c20, 0x2b8b1: 0x6cff5e20, 0x2b8b2: 0x6d2d9820, 0x2b8b3: 0x6d2d9a20, + 0x2b8b4: 0x6d2d9c20, 0x2b8b5: 0x6d2d9e20, 0x2b8b6: 0x6d2da020, 0x2b8b7: 0x6d2da220, + 0x2b8b8: 0x6d5ac620, 0x2b8b9: 0x6d5ac820, 0x2b8ba: 0x6d5aca20, 0x2b8bb: 0x6d857220, + 0x2b8bc: 0x6d857420, 0x2b8bd: 0x6d857620, 0x2b8be: 0x6d857820, 0x2b8bf: 0x6daa1220, + // Block 0xae3, offset 0x2b8c0 + 0x2b8c0: 0x6daa1420, 0x2b8c1: 0x6daa1620, 0x2b8c2: 0x6daa1820, 0x2b8c3: 0x6daa1a20, + 0x2b8c4: 0x6daa1c20, 0x2b8c5: 0x6daa1e20, 0x2b8c6: 0x6dcaea20, 0x2b8c7: 0x6dcaec20, + 0x2b8c8: 0x6de66a20, 0x2b8c9: 0x6de66c20, 0x2b8ca: 0x6e1ecc20, 0x2b8cb: 0x6e32e820, + 0x2b8cc: 0x6e392220, 0x2b8cd: 0x6c7aae20, 0x2b8ce: 0x6cff8820, 0x2b8cf: 0x6d2dd220, + 0x2b8d0: 0x6d5af020, 0x2b8d1: 0x6daa3a20, 0x2b8d2: 0x6cd1a220, 0x2b8d3: 0x6d5af620, + 0x2b8d4: 0x6d859a20, 0x2b8d5: 0x6c24b020, 0x2b8d6: 0x6c24b220, 0x2b8d7: 0x6c24b420, + 0x2b8d8: 0x6c581e20, 0x2b8d9: 0x6c582020, 0x2b8da: 0x6c582220, 0x2b8db: 0x6c7aba20, + 0x2b8dc: 0x6c7abc20, 0x2b8dd: 0x6ca3d220, 0x2b8de: 0x6ca3d420, 0x2b8df: 0x6cd1ba20, + 0x2b8e0: 0x6cd1bc20, 0x2b8e1: 0x6cffa220, 0x2b8e2: 0x6cffa420, 0x2b8e3: 0x6cffa620, + 0x2b8e4: 0x6cffa820, 0x2b8e5: 0x6d2de020, 0x2b8e6: 0x6d5afe20, 0x2b8e7: 0x6d5b0020, + 0x2b8e8: 0x6d5b0220, 0x2b8e9: 0x6d859e20, 0x2b8ea: 0x6daa4420, 0x2b8eb: 0x6dcb0a20, + 0x2b8ec: 0x6dcb0c20, 0x2b8ed: 0x6de67e20, 0x2b8ee: 0x6dfd3420, 0x2b8ef: 0x6e2a4020, + 0x2b8f0: 0x6cfff020, 0x2b8f1: 0x6c24d420, 0x2b8f2: 0x6c24d620, 0x2b8f3: 0x6c3c1820, + 0x2b8f4: 0x6c3c1a20, 0x2b8f5: 0x6c3c1c20, 0x2b8f6: 0x6c3c1e20, 0x2b8f7: 0x6c589020, + 0x2b8f8: 0x6c589220, 0x2b8f9: 0x6c589420, 0x2b8fa: 0x6c589620, 0x2b8fb: 0x6c589820, + 0x2b8fc: 0x6c589a20, 0x2b8fd: 0x6c7b1220, 0x2b8fe: 0x6c7b1420, 0x2b8ff: 0x6c7b1620, + // Block 0xae4, offset 0x2b900 + 0x2b900: 0x6c7b1820, 0x2b901: 0x6c7b1a20, 0x2b902: 0x6c7b1c20, 0x2b903: 0x6c7b1e20, + 0x2b904: 0x6c7b2020, 0x2b905: 0x6c7b2220, 0x2b906: 0x6c7b2420, 0x2b907: 0x6c7b2620, + 0x2b908: 0x6c7b2820, 0x2b909: 0x6c7b2a20, 0x2b90a: 0x6ca41c20, 0x2b90b: 0x6ca41e20, + 0x2b90c: 0x6ca42020, 0x2b90d: 0x6ca42220, 0x2b90e: 0x6ca42420, 0x2b90f: 0x6ca42620, + 0x2b910: 0x6ca42820, 0x2b911: 0x6ca42a20, 0x2b912: 0x6ca42c20, 0x2b913: 0x6cd21220, + 0x2b914: 0x6cd21420, 0x2b915: 0x6cd21620, 0x2b916: 0x6cd21820, 0x2b917: 0x6cd21a20, + 0x2b918: 0x6cd21c20, 0x2b919: 0x6cd21e20, 0x2b91a: 0x6cd22020, 0x2b91b: 0x6cd22220, + 0x2b91c: 0x6cd22420, 0x2b91d: 0x6cd22620, 0x2b91e: 0x6cd22820, 0x2b91f: 0x6cd22a20, + 0x2b920: 0x6cd22c20, 0x2b921: 0x6cd22e20, 0x2b922: 0x6cfff620, 0x2b923: 0x6cfff820, + 0x2b924: 0x6cfffa20, 0x2b925: 0x6cfffc20, 0x2b926: 0x6cfffe20, 0x2b927: 0x6d000020, + 0x2b928: 0x6d000220, 0x2b929: 0x6d000420, 0x2b92a: 0x6d2e0820, 0x2b92b: 0x6d2e0a20, + 0x2b92c: 0x6d2e0c20, 0x2b92d: 0x6d2e0e20, 0x2b92e: 0x6d2e1020, 0x2b92f: 0x6d2e1220, + 0x2b930: 0x6d2e1420, 0x2b931: 0x6d2e1620, 0x2b932: 0x6d2e1820, 0x2b933: 0x6d2e1a20, + 0x2b934: 0x6d2e1c20, 0x2b935: 0x6d2e1e20, 0x2b936: 0x6d5b3220, 0x2b937: 0x6d5b3420, + 0x2b938: 0x6d5b3620, 0x2b939: 0x6d5b3820, 0x2b93a: 0x6d5b3a20, 0x2b93b: 0x6d5b3c20, + 0x2b93c: 0x6d5b3e20, 0x2b93d: 0x6d5b4020, 0x2b93e: 0x6d5b4220, 0x2b93f: 0x6d5b4420, + // Block 0xae5, offset 0x2b940 + 0x2b940: 0x6d5b4620, 0x2b941: 0x6d5b4820, 0x2b942: 0x6d85c620, 0x2b943: 0x6d85c820, + 0x2b944: 0x6d85ca20, 0x2b945: 0x6d85cc20, 0x2b946: 0x6d85ce20, 0x2b947: 0x6d85d020, + 0x2b948: 0x6d85d220, 0x2b949: 0x6daa7020, 0x2b94a: 0x6daa7220, 0x2b94b: 0x6dcb2020, + 0x2b94c: 0x6dcb2220, 0x2b94d: 0x6dcb2420, 0x2b94e: 0x6dcb2620, 0x2b94f: 0x6dcb2820, + 0x2b950: 0x6dcb2a20, 0x2b951: 0x6de69620, 0x2b952: 0x6de69820, 0x2b953: 0x6de69a20, + 0x2b954: 0x6dfd4a20, 0x2b955: 0x6e101e20, 0x2b956: 0x6e102020, 0x2b957: 0x6e102220, + 0x2b958: 0x6e1ee820, 0x2b959: 0x6e2a4820, 0x2b95a: 0x6e32ee20, 0x2b95b: 0x6e32f020, + 0x2b95c: 0x6e42c820, 0x2b95d: 0x6c24f820, 0x2b95e: 0x6c590c20, 0x2b95f: 0x6c7baa20, + 0x2b960: 0x6ca48e20, 0x2b961: 0x6ca49020, 0x2b962: 0x6d00ba20, 0x2b963: 0x6d2ea820, + 0x2b964: 0x6d2eaa20, 0x2b965: 0x6d5bdc20, 0x2b966: 0x6d865220, 0x2b967: 0x6de6dc20, + 0x2b968: 0x6e104420, 0x2b969: 0x6e393020, 0x2b96a: 0x6c3c5420, 0x2b96b: 0x6c593a20, + 0x2b96c: 0x6c593c20, 0x2b96d: 0x6c7bd420, 0x2b96e: 0x6c7bd620, 0x2b96f: 0x6ca4a820, + 0x2b970: 0x6ca4aa20, 0x2b971: 0x6cd2ee20, 0x2b972: 0x6d00e420, 0x2b973: 0x6d00e620, + 0x2b974: 0x6d2ec820, 0x2b975: 0x6d2eca20, 0x2b976: 0x6d5bf820, 0x2b977: 0x6d5bfa20, + 0x2b978: 0x6d866420, 0x2b979: 0x6dcb9220, 0x2b97a: 0x6dfd8020, 0x2b97b: 0x6c3c6620, + 0x2b97c: 0x6c594e20, 0x2b97d: 0x6c595020, 0x2b97e: 0x6c7bf020, 0x2b97f: 0x6c7bf220, + // Block 0xae6, offset 0x2b980 + 0x2b980: 0x6c7bf420, 0x2b981: 0x6ca4be20, 0x2b982: 0x6ca4c020, 0x2b983: 0x6cd30a20, + 0x2b984: 0x6d010820, 0x2b985: 0x6d010a20, 0x2b986: 0x6d2ef220, 0x2b987: 0x6d867e20, + 0x2b988: 0x6d868020, 0x2b989: 0x6dab1e20, 0x2b98a: 0x6de6fa20, 0x2b98b: 0x6e105420, + 0x2b98c: 0x6e1f0820, 0x2b98d: 0x6e443e20, 0x2b98e: 0x6c251420, 0x2b98f: 0x6c251620, + 0x2b990: 0x6c3c7620, 0x2b991: 0x6c3c7820, 0x2b992: 0x6c3c7a20, 0x2b993: 0x6c3c7c20, + 0x2b994: 0x6c3c7e20, 0x2b995: 0x6c597420, 0x2b996: 0x6c597620, 0x2b997: 0x6c597820, + 0x2b998: 0x6c597a20, 0x2b999: 0x6c597c20, 0x2b99a: 0x6c597e20, 0x2b99b: 0x6c598020, + 0x2b99c: 0x6c598220, 0x2b99d: 0x6c598420, 0x2b99e: 0x6c598620, 0x2b99f: 0x6c7c2e20, + 0x2b9a0: 0x6c7c3020, 0x2b9a1: 0x6c7c3220, 0x2b9a2: 0x6c7c3420, 0x2b9a3: 0x6c7c3620, + 0x2b9a4: 0x6c7c3820, 0x2b9a5: 0x6c7c3a20, 0x2b9a6: 0x6c7c3c20, 0x2b9a7: 0x6ca4f220, + 0x2b9a8: 0x6ca4f420, 0x2b9a9: 0x6ca4f620, 0x2b9aa: 0x6ca4f820, 0x2b9ab: 0x6ca4fa20, + 0x2b9ac: 0x6ca4fc20, 0x2b9ad: 0x6ca4fe20, 0x2b9ae: 0x6ca50020, 0x2b9af: 0x6cd32c20, + 0x2b9b0: 0x6cd32e20, 0x2b9b1: 0x6cd33020, 0x2b9b2: 0x6cd33220, 0x2b9b3: 0x6cd33420, + 0x2b9b4: 0x6cd33620, 0x2b9b5: 0x6cd33820, 0x2b9b6: 0x6cd33a20, 0x2b9b7: 0x6cd33c20, + 0x2b9b8: 0x6cd33e20, 0x2b9b9: 0x6cd34020, 0x2b9ba: 0x6cd34220, 0x2b9bb: 0x6cd34420, + 0x2b9bc: 0x6cd34620, 0x2b9bd: 0x6cd34820, 0x2b9be: 0x6cd34a20, 0x2b9bf: 0x6cd34c20, + // Block 0xae7, offset 0x2b9c0 + 0x2b9c0: 0x6cd34e20, 0x2b9c1: 0x6d013020, 0x2b9c2: 0x6d013220, 0x2b9c3: 0x6d013420, + 0x2b9c4: 0x6d013620, 0x2b9c5: 0x6d013820, 0x2b9c6: 0x6d013a20, 0x2b9c7: 0x6d013c20, + 0x2b9c8: 0x6d013e20, 0x2b9c9: 0x6d014020, 0x2b9ca: 0x6d2f0820, 0x2b9cb: 0x6d2f0a20, + 0x2b9cc: 0x6d2f0c20, 0x2b9cd: 0x6d2f0e20, 0x2b9ce: 0x6d2f1020, 0x2b9cf: 0x6d2f1220, + 0x2b9d0: 0x6d2f1420, 0x2b9d1: 0x6d2f1620, 0x2b9d2: 0x6d2f1820, 0x2b9d3: 0x6d2f1a20, + 0x2b9d4: 0x6d2f1c20, 0x2b9d5: 0x6d2f1e20, 0x2b9d6: 0x6d2f2020, 0x2b9d7: 0x6d5c2820, + 0x2b9d8: 0x6d5c2a20, 0x2b9d9: 0x6d5c2c20, 0x2b9da: 0x6d5c2e20, 0x2b9db: 0x6d5c3020, + 0x2b9dc: 0x6d5c3220, 0x2b9dd: 0x6d5c3420, 0x2b9de: 0x6d5c3620, 0x2b9df: 0x6d5c3820, + 0x2b9e0: 0x6d5c3a20, 0x2b9e1: 0x6d5c3c20, 0x2b9e2: 0x6d86ae20, 0x2b9e3: 0x6d86b020, + 0x2b9e4: 0x6d86b220, 0x2b9e5: 0x6d86b420, 0x2b9e6: 0x6d86b620, 0x2b9e7: 0x6d86b820, + 0x2b9e8: 0x6d86ba20, 0x2b9e9: 0x6d86bc20, 0x2b9ea: 0x6d86be20, 0x2b9eb: 0x6dab4e20, + 0x2b9ec: 0x6dab5020, 0x2b9ed: 0x6dab5220, 0x2b9ee: 0x6dab5420, 0x2b9ef: 0x6dab5620, + 0x2b9f0: 0x6dab5820, 0x2b9f1: 0x6dab5a20, 0x2b9f2: 0x6dab5c20, 0x2b9f3: 0x6dab5e20, + 0x2b9f4: 0x6dcbbe20, 0x2b9f5: 0x6dcbc020, 0x2b9f6: 0x6dcbc220, 0x2b9f7: 0x6dcbc420, + 0x2b9f8: 0x6dcbc620, 0x2b9f9: 0x6dcbc820, 0x2b9fa: 0x6dcbca20, 0x2b9fb: 0x6dfda620, + 0x2b9fc: 0x6dfda820, 0x2b9fd: 0x6dfdaa20, 0x2b9fe: 0x6dfdac20, 0x2b9ff: 0x6e105c20, + // Block 0xae8, offset 0x2ba00 + 0x2ba00: 0x6e105e20, 0x2ba01: 0x6e1f1620, 0x2ba02: 0x6e2a6820, 0x2ba03: 0x6e2a6a20, + 0x2ba04: 0x6e393820, 0x2ba05: 0x6e452e20, 0x2ba06: 0x6c3cb220, 0x2ba07: 0x6c5a1a20, + 0x2ba08: 0x6ca59420, 0x2ba09: 0x6d2fce20, 0x2ba0a: 0x6dabea20, 0x2ba0b: 0x6dabec20, + 0x2ba0c: 0x6dabee20, 0x2ba0d: 0x6dfde020, 0x2ba0e: 0x6e332220, 0x2ba0f: 0x6c7ce420, + 0x2ba10: 0x6c7ce620, 0x2ba11: 0x6c7cfc20, 0x2ba12: 0x6ca59c20, 0x2ba13: 0x6cd40a20, + 0x2ba14: 0x6d020620, 0x2ba15: 0x6d2fe820, 0x2ba16: 0x6c13ee20, 0x2ba17: 0x6c253820, + 0x2ba18: 0x6c3cbc20, 0x2ba19: 0x6c3cbe20, 0x2ba1a: 0x6c5a3c20, 0x2ba1b: 0x6c5a3e20, + 0x2ba1c: 0x6c5a4020, 0x2ba1d: 0x6c5a4220, 0x2ba1e: 0x6c5a4420, 0x2ba1f: 0x6c7cfe20, + 0x2ba20: 0x6c7d0020, 0x2ba21: 0x6c7d0220, 0x2ba22: 0x6c7d0420, 0x2ba23: 0x6c7d0620, + 0x2ba24: 0x6c7d0820, 0x2ba25: 0x6c7d0a20, 0x2ba26: 0x6c7d0c20, 0x2ba27: 0x6c7d0e20, + 0x2ba28: 0x6c7d1020, 0x2ba29: 0x6ca5d020, 0x2ba2a: 0x6ca5d220, 0x2ba2b: 0x6ca5d420, + 0x2ba2c: 0x6ca5d620, 0x2ba2d: 0x6ca5d820, 0x2ba2e: 0x6ca5da20, 0x2ba2f: 0x6ca5dc20, + 0x2ba30: 0x6cd42620, 0x2ba31: 0x6cd42820, 0x2ba32: 0x6cd42a20, 0x2ba33: 0x6cd42c20, + 0x2ba34: 0x6cd42e20, 0x2ba35: 0x6cd43020, 0x2ba36: 0x6cd43220, 0x2ba37: 0x6d023020, + 0x2ba38: 0x6d023220, 0x2ba39: 0x6d023420, 0x2ba3a: 0x6d023620, 0x2ba3b: 0x6d023820, + 0x2ba3c: 0x6d023a20, 0x2ba3d: 0x6d023c20, 0x2ba3e: 0x6d023e20, 0x2ba3f: 0x6d024020, + // Block 0xae9, offset 0x2ba40 + 0x2ba40: 0x6d024220, 0x2ba41: 0x6d024420, 0x2ba42: 0x6d024620, 0x2ba43: 0x6d024820, + 0x2ba44: 0x6d024a20, 0x2ba45: 0x6d024c20, 0x2ba46: 0x6d024e20, 0x2ba47: 0x6d025020, + 0x2ba48: 0x6d2ffc20, 0x2ba49: 0x6d2ffe20, 0x2ba4a: 0x6d300020, 0x2ba4b: 0x6d300220, + 0x2ba4c: 0x6d300420, 0x2ba4d: 0x6d300620, 0x2ba4e: 0x6d300820, 0x2ba4f: 0x6d300a20, + 0x2ba50: 0x6d300c20, 0x2ba51: 0x6d5cf820, 0x2ba52: 0x6d5cfa20, 0x2ba53: 0x6d5cfc20, + 0x2ba54: 0x6d5cfe20, 0x2ba55: 0x6d5d0020, 0x2ba56: 0x6d5d0220, 0x2ba57: 0x6d5d0420, + 0x2ba58: 0x6d876a20, 0x2ba59: 0x6d876c20, 0x2ba5a: 0x6d876e20, 0x2ba5b: 0x6d877020, + 0x2ba5c: 0x6d877220, 0x2ba5d: 0x6d877420, 0x2ba5e: 0x6d877620, 0x2ba5f: 0x6dac0a20, + 0x2ba60: 0x6d877820, 0x2ba61: 0x6dac0c20, 0x2ba62: 0x6dac0e20, 0x2ba63: 0x6dac1020, + 0x2ba64: 0x6dac1220, 0x2ba65: 0x6dac1420, 0x2ba66: 0x6dac1620, 0x2ba67: 0x6dac1820, + 0x2ba68: 0x6dac1a20, 0x2ba69: 0x6dcc4220, 0x2ba6a: 0x6dcc4420, 0x2ba6b: 0x6dcc4620, + 0x2ba6c: 0x6dcc4820, 0x2ba6d: 0x6dcc4a20, 0x2ba6e: 0x6dcc4c20, 0x2ba6f: 0x6dcc4e20, + 0x2ba70: 0x6de76a20, 0x2ba71: 0x6dfdec20, 0x2ba72: 0x6dfdee20, 0x2ba73: 0x6dfdf020, + 0x2ba74: 0x6e108c20, 0x2ba75: 0x6e108e20, 0x2ba76: 0x6e109020, 0x2ba77: 0x6e109220, + 0x2ba78: 0x6e1f3420, 0x2ba79: 0x6e1f3620, 0x2ba7a: 0x6e332420, 0x2ba7b: 0x6e3d9620, + 0x2ba7c: 0x6c254c20, 0x2ba7d: 0x6c5abe20, 0x2ba7e: 0x6c5ac020, 0x2ba7f: 0x6c5ac220, + // Block 0xaea, offset 0x2ba80 + 0x2ba80: 0x6c5ac420, 0x2ba81: 0x6c7dbe20, 0x2ba82: 0x6c7dc020, 0x2ba83: 0x6c7dc220, + 0x2ba84: 0x6ca68c20, 0x2ba85: 0x6ca68e20, 0x2ba86: 0x6ca69020, 0x2ba87: 0x6cd4b820, + 0x2ba88: 0x6cd4ba20, 0x2ba89: 0x6cd4bc20, 0x2ba8a: 0x6cd4be20, 0x2ba8b: 0x6d030820, + 0x2ba8c: 0x6d030a20, 0x2ba8d: 0x6d030c20, 0x2ba8e: 0x6d030e20, 0x2ba8f: 0x6d031020, + 0x2ba90: 0x6d031220, 0x2ba91: 0x6d031420, 0x2ba92: 0x6d031620, 0x2ba93: 0x6d30b420, + 0x2ba94: 0x6d30b620, 0x2ba95: 0x6d30b820, 0x2ba96: 0x6d30ba20, 0x2ba97: 0x6d30bc20, + 0x2ba98: 0x6d5d8820, 0x2ba99: 0x6d5d8a20, 0x2ba9a: 0x6d87f420, 0x2ba9b: 0x6d87f620, + 0x2ba9c: 0x6d87f820, 0x2ba9d: 0x6d87fa20, 0x2ba9e: 0x6d87fc20, 0x2ba9f: 0x6dac9e20, + 0x2baa0: 0x6dcca020, 0x2baa1: 0x6dcca220, 0x2baa2: 0x6de7aa20, 0x2baa3: 0x6dfe3820, + 0x2baa4: 0x6e10bc20, 0x2baa5: 0x6e444820, 0x2baa6: 0x6c256420, 0x2baa7: 0x6c256620, + 0x2baa8: 0x6c3d2e20, 0x2baa9: 0x6c3d3020, 0x2baaa: 0x6c3d3220, 0x2baab: 0x6c3d3420, + 0x2baac: 0x6c3d3620, 0x2baad: 0x6c3d3820, 0x2baae: 0x6c5b2e20, 0x2baaf: 0x6c5b3020, + 0x2bab0: 0x6c5b3220, 0x2bab1: 0x6c5b3420, 0x2bab2: 0x6c5b3620, 0x2bab3: 0x6c5b3820, + 0x2bab4: 0x6c5b3a20, 0x2bab5: 0x6c5b3c20, 0x2bab6: 0x6c7e3020, 0x2bab7: 0x6c7e3220, + 0x2bab8: 0x6c7e3420, 0x2bab9: 0x6c7e3620, 0x2baba: 0x6ca6f820, 0x2babb: 0x6ca6fa20, + 0x2babc: 0x6ca6fc20, 0x2babd: 0x6ca6fe20, 0x2babe: 0x6ca70020, 0x2babf: 0x6ca70220, + // Block 0xaeb, offset 0x2bac0 + 0x2bac0: 0x6ca70420, 0x2bac1: 0x6ca70620, 0x2bac2: 0x6ca70820, 0x2bac3: 0x6ca70a20, + 0x2bac4: 0x6ca70c20, 0x2bac5: 0x6ca70e20, 0x2bac6: 0x6ca71020, 0x2bac7: 0x6ca71220, + 0x2bac8: 0x6ca71420, 0x2bac9: 0x6ca71620, 0x2baca: 0x6ca71820, 0x2bacb: 0x6cd52e20, + 0x2bacc: 0x6cd53020, 0x2bacd: 0x6cd53220, 0x2bace: 0x6cd53420, 0x2bacf: 0x6cd53620, + 0x2bad0: 0x6cd53820, 0x2bad1: 0x6cd53a20, 0x2bad2: 0x6cd53c20, 0x2bad3: 0x6cd53e20, + 0x2bad4: 0x6d037c20, 0x2bad5: 0x6d037e20, 0x2bad6: 0x6d038020, 0x2bad7: 0x6d038220, + 0x2bad8: 0x6d038420, 0x2bad9: 0x6d038620, 0x2bada: 0x6d038820, 0x2badb: 0x6d038a20, + 0x2badc: 0x6d038c20, 0x2badd: 0x6d038e20, 0x2bade: 0x6d039020, 0x2badf: 0x6d039220, + 0x2bae0: 0x6d311a20, 0x2bae1: 0x6d311c20, 0x2bae2: 0x6d311e20, 0x2bae3: 0x6d312020, + 0x2bae4: 0x6d312220, 0x2bae5: 0x6d312420, 0x2bae6: 0x6d312620, 0x2bae7: 0x6d312820, + 0x2bae8: 0x6d312a20, 0x2bae9: 0x6d312c20, 0x2baea: 0x6d312e20, 0x2baeb: 0x6d313020, + 0x2baec: 0x6d5dd820, 0x2baed: 0x6d5dda20, 0x2baee: 0x6d5ddc20, 0x2baef: 0x6d5dde20, + 0x2baf0: 0x6d5de020, 0x2baf1: 0x6d5de220, 0x2baf2: 0x6d5de420, 0x2baf3: 0x6d5de620, + 0x2baf4: 0x6d5de820, 0x2baf5: 0x6d5dea20, 0x2baf6: 0x6d5dec20, 0x2baf7: 0x6d883420, + 0x2baf8: 0x6d883620, 0x2baf9: 0x6d883820, 0x2bafa: 0x6d883a20, 0x2bafb: 0x6d883c20, + 0x2bafc: 0x6d883e20, 0x2bafd: 0x6d884020, 0x2bafe: 0x6dacce20, 0x2baff: 0x6dacd020, + // Block 0xaec, offset 0x2bb00 + 0x2bb00: 0x6dacd220, 0x2bb01: 0x6dccc020, 0x2bb02: 0x6dccc220, 0x2bb03: 0x6dccc420, + 0x2bb04: 0x6dccc620, 0x2bb05: 0x6dccc820, 0x2bb06: 0x6dccca20, 0x2bb07: 0x6dcccc20, + 0x2bb08: 0x6dfe4620, 0x2bb09: 0x6dfe4820, 0x2bb0a: 0x6e10ca20, 0x2bb0b: 0x6e10cc20, + 0x2bb0c: 0x6e10ce20, 0x2bb0d: 0x6e10d020, 0x2bb0e: 0x6e1f6620, 0x2bb0f: 0x6e1f6820, + 0x2bb10: 0x6e453020, 0x2bb11: 0x6c257a20, 0x2bb12: 0x6c3d6820, 0x2bb13: 0x6c5b9220, + 0x2bb14: 0x6c5b9420, 0x2bb15: 0x6c5b9620, 0x2bb16: 0x6c5b9820, 0x2bb17: 0x6c7ea620, + 0x2bb18: 0x6c7ea820, 0x2bb19: 0x6c7eaa20, 0x2bb1a: 0x6ca77820, 0x2bb1b: 0x6ca77a20, + 0x2bb1c: 0x6ca77c20, 0x2bb1d: 0x6ca77e20, 0x2bb1e: 0x6ca78020, 0x2bb1f: 0x6ca78220, + 0x2bb20: 0x6ca78420, 0x2bb21: 0x6cd5a220, 0x2bb22: 0x6cd5a420, 0x2bb23: 0x6cd5a620, + 0x2bb24: 0x6cd5a820, 0x2bb25: 0x6cd5aa20, 0x2bb26: 0x6d042a20, 0x2bb27: 0x6d042c20, + 0x2bb28: 0x6d042e20, 0x2bb29: 0x6d043020, 0x2bb2a: 0x6d31c420, 0x2bb2b: 0x6d31c620, + 0x2bb2c: 0x6d5e6a20, 0x2bb2d: 0x6d5e6c20, 0x2bb2e: 0x6d5e6e20, 0x2bb2f: 0x6d88bc20, + 0x2bb30: 0x6d88be20, 0x2bb31: 0x6d88c020, 0x2bb32: 0x6d88c220, 0x2bb33: 0x6d88c420, + 0x2bb34: 0x6d88c620, 0x2bb35: 0x6dad4220, 0x2bb36: 0x6dad4420, 0x2bb37: 0x6dad4620, + 0x2bb38: 0x6dad4820, 0x2bb39: 0x6dad4a20, 0x2bb3a: 0x6dad4c20, 0x2bb3b: 0x6dad4e20, + 0x2bb3c: 0x6dcd1c20, 0x2bb3d: 0x6dcd1e20, 0x2bb3e: 0x6de7f220, 0x2bb3f: 0x6de7f420, + // Block 0xaed, offset 0x2bb40 + 0x2bb40: 0x6dfe8420, 0x2bb41: 0x6e1f7620, 0x2bb42: 0x6c140e20, 0x2bb43: 0x6c3d8c20, + 0x2bb44: 0x6c3d8e20, 0x2bb45: 0x6c5bd220, 0x2bb46: 0x6c5bd420, 0x2bb47: 0x6c7ef620, + 0x2bb48: 0x6c7ef820, 0x2bb49: 0x6c7efa20, 0x2bb4a: 0x6c7efc20, 0x2bb4b: 0x6ca7c620, + 0x2bb4c: 0x6cd60a20, 0x2bb4d: 0x6cd60c20, 0x2bb4e: 0x6d048620, 0x2bb4f: 0x6d048820, + 0x2bb50: 0x6d048a20, 0x2bb51: 0x6d048c20, 0x2bb52: 0x6d892020, 0x2bb53: 0x6dad8820, + 0x2bb54: 0x6dcd3820, 0x2bb55: 0x6de80620, 0x2bb56: 0x6c5bf620, 0x2bb57: 0x6c7f3220, + 0x2bb58: 0x6c7f3420, 0x2bb59: 0x6c7f3620, 0x2bb5a: 0x6c7f3820, 0x2bb5b: 0x6c7f3a20, + 0x2bb5c: 0x6c7f3c20, 0x2bb5d: 0x6c7f3e20, 0x2bb5e: 0x6ca7e820, 0x2bb5f: 0x6ca7ea20, + 0x2bb60: 0x6ca7ec20, 0x2bb61: 0x6ca7ee20, 0x2bb62: 0x6ca7f020, 0x2bb63: 0x6ca7f220, + 0x2bb64: 0x6ca7f420, 0x2bb65: 0x6ca7f620, 0x2bb66: 0x6ca7f820, 0x2bb67: 0x6cd63620, + 0x2bb68: 0x6cd63820, 0x2bb69: 0x6cd63a20, 0x2bb6a: 0x6cd63c20, 0x2bb6b: 0x6cd63e20, + 0x2bb6c: 0x6cd64020, 0x2bb6d: 0x6cd64220, 0x2bb6e: 0x6cd64420, 0x2bb6f: 0x6cd64620, + 0x2bb70: 0x6cd64820, 0x2bb71: 0x6cd64a20, 0x2bb72: 0x6cd64c20, 0x2bb73: 0x6cd64e20, + 0x2bb74: 0x6cd65020, 0x2bb75: 0x6d04b620, 0x2bb76: 0x6d04b820, 0x2bb77: 0x6d04ba20, + 0x2bb78: 0x6d04bc20, 0x2bb79: 0x6d04be20, 0x2bb7a: 0x6d04c020, 0x2bb7b: 0x6d04c220, + 0x2bb7c: 0x6d04c420, 0x2bb7d: 0x6d04c620, 0x2bb7e: 0x6d04c820, 0x2bb7f: 0x6d04ca20, + // Block 0xaee, offset 0x2bb80 + 0x2bb80: 0x6d04cc20, 0x2bb81: 0x6d323220, 0x2bb82: 0x6d323420, 0x2bb83: 0x6d323620, + 0x2bb84: 0x6d323820, 0x2bb85: 0x6d323a20, 0x2bb86: 0x6d323c20, 0x2bb87: 0x6d323e20, + 0x2bb88: 0x6d324020, 0x2bb89: 0x6d324220, 0x2bb8a: 0x6d324420, 0x2bb8b: 0x6d324620, + 0x2bb8c: 0x6d324820, 0x2bb8d: 0x6d324a20, 0x2bb8e: 0x6d5ecc20, 0x2bb8f: 0x6d5ece20, + 0x2bb90: 0x6d5ed020, 0x2bb91: 0x6d5ed220, 0x2bb92: 0x6d5ed420, 0x2bb93: 0x6d5ed620, + 0x2bb94: 0x6d5ed820, 0x2bb95: 0x6d5eda20, 0x2bb96: 0x6d5edc20, 0x2bb97: 0x6d5ede20, + 0x2bb98: 0x6d5ee020, 0x2bb99: 0x6d5ee220, 0x2bb9a: 0x6d5ee420, 0x2bb9b: 0x6d5ee620, + 0x2bb9c: 0x6d5ee820, 0x2bb9d: 0x6d5eea20, 0x2bb9e: 0x6d5eec20, 0x2bb9f: 0x6d5eee20, + 0x2bba0: 0x6d5ef020, 0x2bba1: 0x6d5ef220, 0x2bba2: 0x6d5ef420, 0x2bba3: 0x6d5ef620, + 0x2bba4: 0x6d5ef820, 0x2bba5: 0x6d5efa20, 0x2bba6: 0x6d5efc20, 0x2bba7: 0x6d5efe20, + 0x2bba8: 0x6d5f0020, 0x2bba9: 0x6d5f0220, 0x2bbaa: 0x6d892e20, 0x2bbab: 0x6d893020, + 0x2bbac: 0x6d893220, 0x2bbad: 0x6d893420, 0x2bbae: 0x6d893620, 0x2bbaf: 0x6d893820, + 0x2bbb0: 0x6d893a20, 0x2bbb1: 0x6d893c20, 0x2bbb2: 0x6d893e20, 0x2bbb3: 0x6d894020, + 0x2bbb4: 0x6d894220, 0x2bbb5: 0x6d894420, 0x2bbb6: 0x6d894620, 0x2bbb7: 0x6d894820, + 0x2bbb8: 0x6dada820, 0x2bbb9: 0x6dadaa20, 0x2bbba: 0x6dadac20, 0x2bbbb: 0x6dadae20, + 0x2bbbc: 0x6dadb020, 0x2bbbd: 0x6dadb220, 0x2bbbe: 0x6dadb420, 0x2bbbf: 0x6dadb620, + // Block 0xaef, offset 0x2bbc0 + 0x2bbc0: 0x6dadb820, 0x2bbc1: 0x6dadba20, 0x2bbc2: 0x6dadbc20, 0x2bbc3: 0x6dadbe20, + 0x2bbc4: 0x6dadc020, 0x2bbc5: 0x6dadc220, 0x2bbc6: 0x6dadc420, 0x2bbc7: 0x6dadc620, + 0x2bbc8: 0x6dcd4c20, 0x2bbc9: 0x6dcd4e20, 0x2bbca: 0x6dcd5020, 0x2bbcb: 0x6dcd5220, + 0x2bbcc: 0x6dcd5420, 0x2bbcd: 0x6dcd5620, 0x2bbce: 0x6dcd5820, 0x2bbcf: 0x6de81420, + 0x2bbd0: 0x6dcd5a20, 0x2bbd1: 0x6dcd5c20, 0x2bbd2: 0x6dcd5e20, 0x2bbd3: 0x6dcd6020, + 0x2bbd4: 0x6dcd6220, 0x2bbd5: 0x6dcd6420, 0x2bbd6: 0x6dcd6620, 0x2bbd7: 0x6dcd6820, + 0x2bbd8: 0x6dcd6a20, 0x2bbd9: 0x6dcd6c20, 0x2bbda: 0x6dcd6e20, 0x2bbdb: 0x6de81620, + 0x2bbdc: 0x6de81820, 0x2bbdd: 0x6de81a20, 0x2bbde: 0x6de81c20, 0x2bbdf: 0x6de81e20, + 0x2bbe0: 0x6de82020, 0x2bbe1: 0x6de82220, 0x2bbe2: 0x6de82420, 0x2bbe3: 0x6dcd7020, + 0x2bbe4: 0x6de82620, 0x2bbe5: 0x6dfeaa20, 0x2bbe6: 0x6e110820, 0x2bbe7: 0x6e110a20, + 0x2bbe8: 0x6e110c20, 0x2bbe9: 0x6e110e20, 0x2bbea: 0x6e111020, 0x2bbeb: 0x6e111220, + 0x2bbec: 0x6e111420, 0x2bbed: 0x6e111620, 0x2bbee: 0x6e1f8620, 0x2bbef: 0x6e1f8820, + 0x2bbf0: 0x6e1f8a20, 0x2bbf1: 0x6e1f8c20, 0x2bbf2: 0x6e2ac620, 0x2bbf3: 0x6e2ac820, + 0x2bbf4: 0x6e2aca20, 0x2bbf5: 0x6e2e7820, 0x2bbf6: 0x6e335220, 0x2bbf7: 0x6e3dac20, + 0x2bbf8: 0x6e408e20, 0x2bbf9: 0x6e453220, 0x2bbfa: 0x6c5c2e20, 0x2bbfb: 0x6c7faa20, + 0x2bbfc: 0x6c7fac20, 0x2bbfd: 0x6ca89220, 0x2bbfe: 0x6ca89420, 0x2bbff: 0x6ca89620, + // Block 0xaf0, offset 0x2bc00 + 0x2bc00: 0x6ca89820, 0x2bc01: 0x6cd6e020, 0x2bc02: 0x6cd6e220, 0x2bc03: 0x6cd6e420, + 0x2bc04: 0x6cd6e620, 0x2bc05: 0x6cd6e820, 0x2bc06: 0x6cd6ea20, 0x2bc07: 0x6d059820, + 0x2bc08: 0x6d059a20, 0x2bc09: 0x6d059c20, 0x2bc0a: 0x6d059e20, 0x2bc0b: 0x6d05a020, + 0x2bc0c: 0x6d05a220, 0x2bc0d: 0x6d333820, 0x2bc0e: 0x6d333a20, 0x2bc0f: 0x6d333c20, + 0x2bc10: 0x6d333e20, 0x2bc11: 0x6d334020, 0x2bc12: 0x6d334220, 0x2bc13: 0x6d5fee20, + 0x2bc14: 0x6d5ff020, 0x2bc15: 0x6d5ff220, 0x2bc16: 0x6d5ff420, 0x2bc17: 0x6d5ff620, + 0x2bc18: 0x6d5ff820, 0x2bc19: 0x6d5ffa20, 0x2bc1a: 0x6d8a5220, 0x2bc1b: 0x6d8a5420, + 0x2bc1c: 0x6daec620, 0x2bc1d: 0x6daec820, 0x2bc1e: 0x6daeca20, 0x2bc1f: 0x6daecc20, + 0x2bc20: 0x6daece20, 0x2bc21: 0x6daed020, 0x2bc22: 0x6daed220, 0x2bc23: 0x6dce6420, + 0x2bc24: 0x6dce6620, 0x2bc25: 0x6dce6820, 0x2bc26: 0x6dce6a20, 0x2bc27: 0x6dce6c20, + 0x2bc28: 0x6dce6e20, 0x2bc29: 0x6dce7020, 0x2bc2a: 0x6de8c220, 0x2bc2b: 0x6de8c420, + 0x2bc2c: 0x6de8c620, 0x2bc2d: 0x6dff1c20, 0x2bc2e: 0x6dff1e20, 0x2bc2f: 0x6e118a20, + 0x2bc30: 0x6e1fe220, 0x2bc31: 0x6e2b0420, 0x2bc32: 0x6e2b0620, 0x2bc33: 0x6e398420, + 0x2bc34: 0x6e398620, 0x2bc35: 0x6c3dba20, 0x2bc36: 0x6c5c5e20, 0x2bc37: 0x6c5c6020, + 0x2bc38: 0x6c5c6220, 0x2bc39: 0x6c5c6420, 0x2bc3a: 0x6c7fee20, 0x2bc3b: 0x6c7ff020, + 0x2bc3c: 0x6c7ff220, 0x2bc3d: 0x6c7ff420, 0x2bc3e: 0x6c7ff620, 0x2bc3f: 0x6c7ff820, + // Block 0xaf1, offset 0x2bc40 + 0x2bc40: 0x6c7ffa20, 0x2bc41: 0x6c7ffc20, 0x2bc42: 0x6c7ffe20, 0x2bc43: 0x6c800020, + 0x2bc44: 0x6c800220, 0x2bc45: 0x6c800420, 0x2bc46: 0x6c800620, 0x2bc47: 0x6c800820, + 0x2bc48: 0x6ca8f220, 0x2bc49: 0x6ca8f420, 0x2bc4a: 0x6ca8f620, 0x2bc4b: 0x6ca8f820, + 0x2bc4c: 0x6ca8fa20, 0x2bc4d: 0x6ca8fc20, 0x2bc4e: 0x6ca8fe20, 0x2bc4f: 0x6ca90020, + 0x2bc50: 0x6ca90220, 0x2bc51: 0x6ca90420, 0x2bc52: 0x6ca90620, 0x2bc53: 0x6ca90820, + 0x2bc54: 0x6ca90a20, 0x2bc55: 0x6cd74620, 0x2bc56: 0x6cd74820, 0x2bc57: 0x6cd74a20, + 0x2bc58: 0x6cd74c20, 0x2bc59: 0x6cd74e20, 0x2bc5a: 0x6cd75020, 0x2bc5b: 0x6cd75220, + 0x2bc5c: 0x6cd75420, 0x2bc5d: 0x6cd75620, 0x2bc5e: 0x6cd75820, 0x2bc5f: 0x6d060420, + 0x2bc60: 0x6d060620, 0x2bc61: 0x6d060820, 0x2bc62: 0x6d060a20, 0x2bc63: 0x6d060c20, + 0x2bc64: 0x6d060e20, 0x2bc65: 0x6d061020, 0x2bc66: 0x6d061220, 0x2bc67: 0x6d33b820, + 0x2bc68: 0x6d33ba20, 0x2bc69: 0x6d33bc20, 0x2bc6a: 0x6d33be20, 0x2bc6b: 0x6d33c020, + 0x2bc6c: 0x6d33c220, 0x2bc6d: 0x6d33c420, 0x2bc6e: 0x6d33c620, 0x2bc6f: 0x6d33c820, + 0x2bc70: 0x6d33ca20, 0x2bc71: 0x6d33cc20, 0x2bc72: 0x6d33ce20, 0x2bc73: 0x6d606420, + 0x2bc74: 0x6d606620, 0x2bc75: 0x6d606820, 0x2bc76: 0x6d606a20, 0x2bc77: 0x6d606c20, + 0x2bc78: 0x6d606e20, 0x2bc79: 0x6d607020, 0x2bc7a: 0x6d607220, 0x2bc7b: 0x6d607420, + 0x2bc7c: 0x6d607620, 0x2bc7d: 0x6d607820, 0x2bc7e: 0x6d607a20, 0x2bc7f: 0x6d607c20, + // Block 0xaf2, offset 0x2bc80 + 0x2bc80: 0x6d607e20, 0x2bc81: 0x6d608020, 0x2bc82: 0x6d608220, 0x2bc83: 0x6d608420, + 0x2bc84: 0x6d608620, 0x2bc85: 0x6d8aac20, 0x2bc86: 0x6d8aae20, 0x2bc87: 0x6d8ab020, + 0x2bc88: 0x6d8ab220, 0x2bc89: 0x6d8ab420, 0x2bc8a: 0x6d8ab620, 0x2bc8b: 0x6d8ab820, + 0x2bc8c: 0x6daf2020, 0x2bc8d: 0x6daf2220, 0x2bc8e: 0x6daf2420, 0x2bc8f: 0x6daf2620, + 0x2bc90: 0x6daf2820, 0x2bc91: 0x6daf2a20, 0x2bc92: 0x6daf2c20, 0x2bc93: 0x6daf2e20, + 0x2bc94: 0x6daf3020, 0x2bc95: 0x6daf3220, 0x2bc96: 0x6dcec020, 0x2bc97: 0x6dcec220, + 0x2bc98: 0x6dcec420, 0x2bc99: 0x6dcec620, 0x2bc9a: 0x6dcec820, 0x2bc9b: 0x6dceca20, + 0x2bc9c: 0x6de90c20, 0x2bc9d: 0x6de90e20, 0x2bc9e: 0x6de91020, 0x2bc9f: 0x6de91220, + 0x2bca0: 0x6de91420, 0x2bca1: 0x6de91620, 0x2bca2: 0x6de91820, 0x2bca3: 0x6dff3820, + 0x2bca4: 0x6dff3a20, 0x2bca5: 0x6dff3c20, 0x2bca6: 0x6dff3e20, 0x2bca7: 0x6dff4020, + 0x2bca8: 0x6e11a620, 0x2bca9: 0x6e11a820, 0x2bcaa: 0x6e200020, 0x2bcab: 0x6e200220, + 0x2bcac: 0x6e200420, 0x2bcad: 0x6e200620, 0x2bcae: 0x6e2b1420, 0x2bcaf: 0x6e338a20, + 0x2bcb0: 0x6e338c20, 0x2bcb1: 0x6e338e20, 0x2bcb2: 0x6e339020, 0x2bcb3: 0x6e399420, + 0x2bcb4: 0x6e399620, 0x2bcb5: 0x6e40a420, 0x2bcb6: 0x6c5c9820, 0x2bcb7: 0x6ca99e20, + 0x2bcb8: 0x6c809c20, 0x2bcb9: 0x6ca9a020, 0x2bcba: 0x6cd80e20, 0x2bcbb: 0x6cd81020, + 0x2bcbc: 0x6d06cc20, 0x2bcbd: 0x6d34c620, 0x2bcbe: 0x6d617c20, 0x2bcbf: 0x6d617e20, + // Block 0xaf3, offset 0x2bcc0 + 0x2bcc0: 0x6d8b9420, 0x2bcc1: 0x6de9a020, 0x2bcc2: 0x6c5cc420, 0x2bcc3: 0x6c80c420, + 0x2bcc4: 0x6ca9e220, 0x2bcc5: 0x6ca9e420, 0x2bcc6: 0x6ca9e620, 0x2bcc7: 0x6ca9e820, + 0x2bcc8: 0x6ca9ea20, 0x2bcc9: 0x6ca9ec20, 0x2bcca: 0x6cd85220, 0x2bccb: 0x6d34e020, + 0x2bccc: 0x6d34e220, 0x2bccd: 0x6d8ba620, 0x2bcce: 0x6e2b3220, 0x2bccf: 0x6c0a4820, + 0x2bcd0: 0x6c3e0220, 0x2bcd1: 0x6c5cce20, 0x2bcd2: 0x6c5cd020, 0x2bcd3: 0x6c5cd220, + 0x2bcd4: 0x6c5cd420, 0x2bcd5: 0x6c80d220, 0x2bcd6: 0x6c80d420, 0x2bcd7: 0x6c80d620, + 0x2bcd8: 0x6ca9fe20, 0x2bcd9: 0x6cd86420, 0x2bcda: 0x6cd86620, 0x2bcdb: 0x6d06fc20, + 0x2bcdc: 0x6d06fe20, 0x2bcdd: 0x6d070020, 0x2bcde: 0x6d34fc20, 0x2bcdf: 0x6d34fe20, + 0x2bce0: 0x6d8bba20, 0x2bce1: 0x6d8bbc20, 0x2bce2: 0x6db00620, 0x2bce3: 0x6dcf8c20, + 0x2bce4: 0x6de9b420, 0x2bce5: 0x6e120820, 0x2bce6: 0x6e33ae20, 0x2bce7: 0x6c812420, + 0x2bce8: 0x6c812620, 0x2bce9: 0x6c812820, 0x2bcea: 0x6caa2a20, 0x2bceb: 0x6caa2c20, + 0x2bcec: 0x6caa2e20, 0x2bced: 0x6caa3020, 0x2bcee: 0x6cd88220, 0x2bcef: 0x6cd88420, + 0x2bcf0: 0x6cd88620, 0x2bcf1: 0x6d074620, 0x2bcf2: 0x6d352e20, 0x2bcf3: 0x6d353020, + 0x2bcf4: 0x6d353220, 0x2bcf5: 0x6d353420, 0x2bcf6: 0x6d353620, 0x2bcf7: 0x6d61ca20, + 0x2bcf8: 0x6d8bf220, 0x2bcf9: 0x6d8bf420, 0x2bcfa: 0x6db02c20, 0x2bcfb: 0x6dcfa820, + 0x2bcfc: 0x6dcfaa20, 0x2bcfd: 0x6e204220, 0x2bcfe: 0x6c815620, 0x2bcff: 0x6c815820, + // Block 0xaf4, offset 0x2bd00 + 0x2bd00: 0x6caa6e20, 0x2bd01: 0x6caa7020, 0x2bd02: 0x6caa7220, 0x2bd03: 0x6caa7420, + 0x2bd04: 0x6caa7620, 0x2bd05: 0x6caa7820, 0x2bd06: 0x6caa7a20, 0x2bd07: 0x6cd8aa20, + 0x2bd08: 0x6cd8ac20, 0x2bd09: 0x6cd8ae20, 0x2bd0a: 0x6cd8b020, 0x2bd0b: 0x6d077c20, + 0x2bd0c: 0x6d077e20, 0x2bd0d: 0x6d078020, 0x2bd0e: 0x6d078220, 0x2bd0f: 0x6d355020, + 0x2bd10: 0x6d355220, 0x2bd11: 0x6d355420, 0x2bd12: 0x6d355620, 0x2bd13: 0x6d355820, + 0x2bd14: 0x6d8c0c20, 0x2bd15: 0x6d8c0e20, 0x2bd16: 0x6dcfd820, 0x2bd17: 0x6dcfda20, + 0x2bd18: 0x6dcfdc20, 0x2bd19: 0x6dffb220, 0x2bd1a: 0x6e122220, 0x2bd1b: 0x6c5d2e20, + 0x2bd1c: 0x6cd8f220, 0x2bd1d: 0x6cd8f420, 0x2bd1e: 0x6cd8f620, 0x2bd1f: 0x6c5d3a20, + 0x2bd20: 0x6c5d3c20, 0x2bd21: 0x6c81a620, 0x2bd22: 0x6c5d4820, 0x2bd23: 0x6caaba20, + 0x2bd24: 0x6d07b020, 0x2bd25: 0x6d07b220, 0x2bd26: 0x6d359420, 0x2bd27: 0x6d359620, + 0x2bd28: 0x6d359820, 0x2bd29: 0x6d359a20, 0x2bd2a: 0x6d359c20, 0x2bd2b: 0x6d624c20, + 0x2bd2c: 0x6d624e20, 0x2bd2d: 0x6db07e20, 0x2bd2e: 0x6db08020, 0x2bd2f: 0x6db08220, + 0x2bd30: 0x6dd01020, 0x2bd31: 0x6e122c20, 0x2bd32: 0x6c25e420, 0x2bd33: 0x6c81b620, + 0x2bd34: 0x6c81b820, 0x2bd35: 0x6caad020, 0x2bd36: 0x6caad220, 0x2bd37: 0x6cd90e20, + 0x2bd38: 0x6d07c020, 0x2bd39: 0x6d07c220, 0x2bd3a: 0x6d35ba20, 0x2bd3b: 0x6d35bc20, + 0x2bd3c: 0x6d35be20, 0x2bd3d: 0x6d35c020, 0x2bd3e: 0x6d35c220, 0x2bd3f: 0x6d626820, + // Block 0xaf5, offset 0x2bd40 + 0x2bd40: 0x6d626a20, 0x2bd41: 0x6d8c6220, 0x2bd42: 0x6d8c6420, 0x2bd43: 0x6d8c6620, + 0x2bd44: 0x6db09820, 0x2bd45: 0x6db09a20, 0x2bd46: 0x6db09c20, 0x2bd47: 0x6db09e20, + 0x2bd48: 0x6dd02a20, 0x2bd49: 0x6dffc620, 0x2bd4a: 0x6e205c20, 0x2bd4b: 0x6d07fc20, + 0x2bd4c: 0x6c145820, 0x2bd4d: 0x6c145a20, 0x2bd4e: 0x6c25ea20, 0x2bd4f: 0x6c25ec20, + 0x2bd50: 0x6c3e6220, 0x2bd51: 0x6c81fe20, 0x2bd52: 0x6c3e6420, 0x2bd53: 0x6c3e6620, + 0x2bd54: 0x6c3e6820, 0x2bd55: 0x6c3e6a20, 0x2bd56: 0x6c3e6c20, 0x2bd57: 0x6c3e6e20, + 0x2bd58: 0x6c3e7020, 0x2bd59: 0x6c3e7220, 0x2bd5a: 0x6c3e7420, 0x2bd5b: 0x6c3e7620, + 0x2bd5c: 0x6c3e7820, 0x2bd5d: 0x6c3e7a20, 0x2bd5e: 0x6c5d6220, 0x2bd5f: 0x6c5d6420, + 0x2bd60: 0x6c5d6620, 0x2bd61: 0x6c5d6820, 0x2bd62: 0x6c5d6a20, 0x2bd63: 0x6c5d6c20, + 0x2bd64: 0x6c5d6e20, 0x2bd65: 0x6c5d7020, 0x2bd66: 0x6c820020, 0x2bd67: 0x6c820220, + 0x2bd68: 0x6c820420, 0x2bd69: 0x6c820620, 0x2bd6a: 0x6c820820, 0x2bd6b: 0x6c820a20, + 0x2bd6c: 0x6c820c20, 0x2bd6d: 0x6c820e20, 0x2bd6e: 0x6c821020, 0x2bd6f: 0x6cab1220, + 0x2bd70: 0x6cab1420, 0x2bd71: 0x6cab1620, 0x2bd72: 0x6cab1820, 0x2bd73: 0x6cab1a20, + 0x2bd74: 0x6cab1c20, 0x2bd75: 0x6cab1e20, 0x2bd76: 0x6cab2020, 0x2bd77: 0x6cab2220, + 0x2bd78: 0x6cab2420, 0x2bd79: 0x6cab2620, 0x2bd7a: 0x6cab2820, 0x2bd7b: 0x6cab2a20, + 0x2bd7c: 0x6cd95c20, 0x2bd7d: 0x6cd95e20, 0x2bd7e: 0x6cd96020, 0x2bd7f: 0x6cd96220, + // Block 0xaf6, offset 0x2bd80 + 0x2bd80: 0x6cd96420, 0x2bd81: 0x6cd96620, 0x2bd82: 0x6cd96820, 0x2bd83: 0x6cd96a20, + 0x2bd84: 0x6cd96c20, 0x2bd85: 0x6cd96e20, 0x2bd86: 0x6cd97020, 0x2bd87: 0x6cd97220, + 0x2bd88: 0x6cd97420, 0x2bd89: 0x6cd97620, 0x2bd8a: 0x6cd97820, 0x2bd8b: 0x6cd97a20, + 0x2bd8c: 0x6cd97c20, 0x2bd8d: 0x6d080a20, 0x2bd8e: 0x6d080c20, 0x2bd8f: 0x6d080e20, + 0x2bd90: 0x6d081020, 0x2bd91: 0x6d081220, 0x2bd92: 0x6d081420, 0x2bd93: 0x6d081620, + 0x2bd94: 0x6d081820, 0x2bd95: 0x6d081a20, 0x2bd96: 0x6d081c20, 0x2bd97: 0x6d081e20, + 0x2bd98: 0x6d082020, 0x2bd99: 0x6d082220, 0x2bd9a: 0x6d082420, 0x2bd9b: 0x6d082620, + 0x2bd9c: 0x6d361c20, 0x2bd9d: 0x6d361e20, 0x2bd9e: 0x6d362020, 0x2bd9f: 0x6d362220, + 0x2bda0: 0x6d362420, 0x2bda1: 0x6d8c9e20, 0x2bda2: 0x6d362620, 0x2bda3: 0x6d362820, + 0x2bda4: 0x6d362a20, 0x2bda5: 0x6d362c20, 0x2bda6: 0x6d362e20, 0x2bda7: 0x6d363020, + 0x2bda8: 0x6d363220, 0x2bda9: 0x6d363420, 0x2bdaa: 0x6d363620, 0x2bdab: 0x6d62bc20, + 0x2bdac: 0x6d62be20, 0x2bdad: 0x6d62c020, 0x2bdae: 0x6d62c220, 0x2bdaf: 0x6d62c420, + 0x2bdb0: 0x6d62c620, 0x2bdb1: 0x6d62c820, 0x2bdb2: 0x6d62ca20, 0x2bdb3: 0x6d62cc20, + 0x2bdb4: 0x6d62ce20, 0x2bdb5: 0x6d8ca220, 0x2bdb6: 0x6d8ca420, 0x2bdb7: 0x6d8ca620, + 0x2bdb8: 0x6d8ca820, 0x2bdb9: 0x6d8caa20, 0x2bdba: 0x6d8cac20, 0x2bdbb: 0x6d8cae20, + 0x2bdbc: 0x6d8cb020, 0x2bdbd: 0x6d8cb220, 0x2bdbe: 0x6db0d620, 0x2bdbf: 0x6db0d820, + // Block 0xaf7, offset 0x2bdc0 + 0x2bdc0: 0x6db0da20, 0x2bdc1: 0x6db0dc20, 0x2bdc2: 0x6dd05e20, 0x2bdc3: 0x6dd06020, + 0x2bdc4: 0x6dd06220, 0x2bdc5: 0x6dd06420, 0x2bdc6: 0x6dea2020, 0x2bdc7: 0x6dea2220, + 0x2bdc8: 0x6dea2420, 0x2bdc9: 0x6dffe020, 0x2bdca: 0x6dffe220, 0x2bdcb: 0x6e124020, + 0x2bdcc: 0x6e124220, 0x2bdcd: 0x6e124420, 0x2bdce: 0x6e124620, 0x2bdcf: 0x6e206820, + 0x2bdd0: 0x6cabdc20, 0x2bdd1: 0x6dd0b020, 0x2bdd2: 0x6c5e4020, 0x2bdd3: 0x6d08fc20, + 0x2bdd4: 0x6c82fa20, 0x2bdd5: 0x6cabf220, 0x2bdd6: 0x6d370020, 0x2bdd7: 0x6d637020, + 0x2bdd8: 0x6d8d7420, 0x2bdd9: 0x6c831020, 0x2bdda: 0x6c831220, 0x2bddb: 0x6cac0420, + 0x2bddc: 0x6d638620, 0x2bddd: 0x6d372e20, 0x2bdde: 0x6d8d9620, 0x2bddf: 0x6e126a20, + 0x2bde0: 0x6c3f3420, 0x2bde1: 0x6c5e5a20, 0x2bde2: 0x6c5e5c20, 0x2bde3: 0x6c5e5e20, + 0x2bde4: 0x6c832820, 0x2bde5: 0x6c832a20, 0x2bde6: 0x6cac1020, 0x2bde7: 0x6cac1220, + 0x2bde8: 0x6cac1420, 0x2bde9: 0x6cac1620, 0x2bdea: 0x6cdac020, 0x2bdeb: 0x6cdac220, + 0x2bdec: 0x6cdac420, 0x2bded: 0x6cdac620, 0x2bdee: 0x6cdac820, 0x2bdef: 0x6d091e20, + 0x2bdf0: 0x6d092020, 0x2bdf1: 0x6d373220, 0x2bdf2: 0x6d373420, 0x2bdf3: 0x6d373620, + 0x2bdf4: 0x6d373820, 0x2bdf5: 0x6d373a20, 0x2bdf6: 0x6d373c20, 0x2bdf7: 0x6d373e20, + 0x2bdf8: 0x6d374020, 0x2bdf9: 0x6d639c20, 0x2bdfa: 0x6d639e20, 0x2bdfb: 0x6d63a020, + 0x2bdfc: 0x6d8d9820, 0x2bdfd: 0x6d8d9a20, 0x2bdfe: 0x6d8d9c20, 0x2bdff: 0x6db18e20, + // Block 0xaf8, offset 0x2be00 + 0x2be00: 0x6db19020, 0x2be01: 0x6db19220, 0x2be02: 0x6db19420, 0x2be03: 0x6db19620, + 0x2be04: 0x6db19820, 0x2be05: 0x6db19a20, 0x2be06: 0x6dd0dc20, 0x2be07: 0x6dd0de20, + 0x2be08: 0x6dd0e020, 0x2be09: 0x6e003420, 0x2be0a: 0x6c5e7a20, 0x2be0b: 0x6cac4c20, + 0x2be0c: 0x6d8dca20, 0x2be0d: 0x6d8dcc20, 0x2be0e: 0x6dd11820, 0x2be0f: 0x6dd11a20, + 0x2be10: 0x6e209c20, 0x2be11: 0x6c149c20, 0x2be12: 0x6c3f4620, 0x2be13: 0x6c3f4820, + 0x2be14: 0x6c3f4a20, 0x2be15: 0x6c5e7e20, 0x2be16: 0x6c5e8020, 0x2be17: 0x6c5e8220, + 0x2be18: 0x6c5e8420, 0x2be19: 0x6c5e8620, 0x2be1a: 0x6c836020, 0x2be1b: 0x6c836220, + 0x2be1c: 0x6c836420, 0x2be1d: 0x6c836620, 0x2be1e: 0x6c836820, 0x2be1f: 0x6c836a20, + 0x2be20: 0x6c836c20, 0x2be21: 0x6c836e20, 0x2be22: 0x6c837020, 0x2be23: 0x6c837220, + 0x2be24: 0x6c837420, 0x2be25: 0x6c837620, 0x2be26: 0x6cac5c20, 0x2be27: 0x6cac5e20, + 0x2be28: 0x6cac6020, 0x2be29: 0x6cac6220, 0x2be2a: 0x6cac6420, 0x2be2b: 0x6cac6620, + 0x2be2c: 0x6cac6820, 0x2be2d: 0x6cac6a20, 0x2be2e: 0x6cac6c20, 0x2be2f: 0x6cac6e20, + 0x2be30: 0x6cdaf220, 0x2be31: 0x6cdaf420, 0x2be32: 0x6cdaf620, 0x2be33: 0x6cdaf820, + 0x2be34: 0x6cdafa20, 0x2be35: 0x6cdafc20, 0x2be36: 0x6cdafe20, 0x2be37: 0x6cdb0020, + 0x2be38: 0x6cdb0220, 0x2be39: 0x6cdb0420, 0x2be3a: 0x6cdb0620, 0x2be3b: 0x6cdb0820, + 0x2be3c: 0x6cdb0a20, 0x2be3d: 0x6cdb0c20, 0x2be3e: 0x6cdb0e20, 0x2be3f: 0x6cdb1020, + // Block 0xaf9, offset 0x2be40 + 0x2be40: 0x6cdb1220, 0x2be41: 0x6cdb1420, 0x2be42: 0x6d095a20, 0x2be43: 0x6d095c20, + 0x2be44: 0x6d095e20, 0x2be45: 0x6d096020, 0x2be46: 0x6d096220, 0x2be47: 0x6d096420, + 0x2be48: 0x6d096620, 0x2be49: 0x6d096820, 0x2be4a: 0x6d096a20, 0x2be4b: 0x6d096c20, + 0x2be4c: 0x6d096e20, 0x2be4d: 0x6d097020, 0x2be4e: 0x6d097220, 0x2be4f: 0x6d097420, + 0x2be50: 0x6d097620, 0x2be51: 0x6d097820, 0x2be52: 0x6d097a20, 0x2be53: 0x6d097c20, + 0x2be54: 0x6d097e20, 0x2be55: 0x6d378020, 0x2be56: 0x6d098020, 0x2be57: 0x6d378220, + 0x2be58: 0x6d378420, 0x2be59: 0x6d378620, 0x2be5a: 0x6d378820, 0x2be5b: 0x6d378a20, + 0x2be5c: 0x6d378c20, 0x2be5d: 0x6d378e20, 0x2be5e: 0x6d379020, 0x2be5f: 0x6d379220, + 0x2be60: 0x6d379420, 0x2be61: 0x6d379620, 0x2be62: 0x6d379820, 0x2be63: 0x6d379a20, + 0x2be64: 0x6d379c20, 0x2be65: 0x6d379e20, 0x2be66: 0x6d37a020, 0x2be67: 0x6d37a220, + 0x2be68: 0x6d37a420, 0x2be69: 0x6d37a620, 0x2be6a: 0x6d37a820, 0x2be6b: 0x6d37aa20, + 0x2be6c: 0x6d37ac20, 0x2be6d: 0x6d37ae20, 0x2be6e: 0x6d63f220, 0x2be6f: 0x6d63f420, + 0x2be70: 0x6d63f620, 0x2be71: 0x6d63f820, 0x2be72: 0x6d63fa20, 0x2be73: 0x6d63fc20, + 0x2be74: 0x6d63fe20, 0x2be75: 0x6d640020, 0x2be76: 0x6d640220, 0x2be77: 0x6d640420, + 0x2be78: 0x6d640620, 0x2be79: 0x6d640820, 0x2be7a: 0x6d640a20, 0x2be7b: 0x6d640c20, + 0x2be7c: 0x6d8dda20, 0x2be7d: 0x6d8ddc20, 0x2be7e: 0x6d8dde20, 0x2be7f: 0x6d8de020, + // Block 0xafa, offset 0x2be80 + 0x2be80: 0x6d8de220, 0x2be81: 0x6d8de420, 0x2be82: 0x6d8de620, 0x2be83: 0x6d8de820, + 0x2be84: 0x6d8dea20, 0x2be85: 0x6d8dec20, 0x2be86: 0x6d8dee20, 0x2be87: 0x6d8df020, + 0x2be88: 0x6d8df220, 0x2be89: 0x6d8df420, 0x2be8a: 0x6d8df620, 0x2be8b: 0x6d8df820, + 0x2be8c: 0x6d8dfa20, 0x2be8d: 0x6d8dfc20, 0x2be8e: 0x6db1c020, 0x2be8f: 0x6db1c220, + 0x2be90: 0x6db1c420, 0x2be91: 0x6db1c620, 0x2be92: 0x6db1c820, 0x2be93: 0x6db1ca20, + 0x2be94: 0x6db1cc20, 0x2be95: 0x6db1ce20, 0x2be96: 0x6db1d020, 0x2be97: 0x6db1d220, + 0x2be98: 0x6db1d420, 0x2be99: 0x6db1d620, 0x2be9a: 0x6db1d820, 0x2be9b: 0x6db1da20, + 0x2be9c: 0x6db1dc20, 0x2be9d: 0x6db1de20, 0x2be9e: 0x6db1e020, 0x2be9f: 0x6db1e220, + 0x2bea0: 0x6db1e420, 0x2bea1: 0x6db1e620, 0x2bea2: 0x6db1e820, 0x2bea3: 0x6db1ea20, + 0x2bea4: 0x6db1ec20, 0x2bea5: 0x6db1ee20, 0x2bea6: 0x6db1f020, 0x2bea7: 0x6db1f220, + 0x2bea8: 0x6db1f420, 0x2bea9: 0x6db1f620, 0x2beaa: 0x6db1f820, 0x2beab: 0x6db1fa20, + 0x2beac: 0x6db1fc20, 0x2bead: 0x6dd11c20, 0x2beae: 0x6dd11e20, 0x2beaf: 0x6dd12020, + 0x2beb0: 0x6dd12220, 0x2beb1: 0x6dd12420, 0x2beb2: 0x6dd12620, 0x2beb3: 0x6dd12820, + 0x2beb4: 0x6dd12a20, 0x2beb5: 0x6dd12c20, 0x2beb6: 0x6dd12e20, 0x2beb7: 0x6dd13020, + 0x2beb8: 0x6dd13220, 0x2beb9: 0x6dd13420, 0x2beba: 0x6dd13620, 0x2bebb: 0x6dd13820, + 0x2bebc: 0x6dd13a20, 0x2bebd: 0x6dd13c20, 0x2bebe: 0x6dd13e20, 0x2bebf: 0x6dd14020, + // Block 0xafb, offset 0x2bec0 + 0x2bec0: 0x6dd14220, 0x2bec1: 0x6dd14420, 0x2bec2: 0x6dd14620, 0x2bec3: 0x6dd14820, + 0x2bec4: 0x6dd14a20, 0x2bec5: 0x6deaa420, 0x2bec6: 0x6deaa620, 0x2bec7: 0x6deaa820, + 0x2bec8: 0x6deaaa20, 0x2bec9: 0x6deaac20, 0x2beca: 0x6deaae20, 0x2becb: 0x6deab020, + 0x2becc: 0x6deab220, 0x2becd: 0x6deab420, 0x2bece: 0x6deab620, 0x2becf: 0x6deab820, + 0x2bed0: 0x6deaba20, 0x2bed1: 0x6deabc20, 0x2bed2: 0x6e005220, 0x2bed3: 0x6e005420, + 0x2bed4: 0x6e005620, 0x2bed5: 0x6e005820, 0x2bed6: 0x6e005a20, 0x2bed7: 0x6e005c20, + 0x2bed8: 0x6e005e20, 0x2bed9: 0x6e006020, 0x2beda: 0x6e006220, 0x2bedb: 0x6e006420, + 0x2bedc: 0x6e006620, 0x2bedd: 0x6e006820, 0x2bede: 0x6e127a20, 0x2bedf: 0x6e127c20, + 0x2bee0: 0x6e127e20, 0x2bee1: 0x6e128020, 0x2bee2: 0x6e128220, 0x2bee3: 0x6e128420, + 0x2bee4: 0x6e128620, 0x2bee5: 0x6e128820, 0x2bee6: 0x6e209e20, 0x2bee7: 0x6e20a020, + 0x2bee8: 0x6e20a220, 0x2bee9: 0x6e20a420, 0x2beea: 0x6e20a620, 0x2beeb: 0x6e20a820, + 0x2beec: 0x6e20aa20, 0x2beed: 0x6e20ac20, 0x2beee: 0x6e20ae20, 0x2beef: 0x6e20b020, + 0x2bef0: 0x6e20b220, 0x2bef1: 0x6e20b420, 0x2bef2: 0x6e20b620, 0x2bef3: 0x6e2b7420, + 0x2bef4: 0x6e2b7620, 0x2bef5: 0x6e2b7820, 0x2bef6: 0x6e2b7a20, 0x2bef7: 0x6e2b7c20, + 0x2bef8: 0x6e33e620, 0x2bef9: 0x6e33e820, 0x2befa: 0x6e33ea20, 0x2befb: 0x6e39c420, + 0x2befc: 0x6e39c620, 0x2befd: 0x6e39c820, 0x2befe: 0x6e3df220, 0x2beff: 0x6e40c820, + // Block 0xafc, offset 0x2bf00 + 0x2bf00: 0x6e40ca20, 0x2bf01: 0x6e42ee20, 0x2bf02: 0x6e446020, 0x2bf03: 0x6e446220, + 0x2bf04: 0x6e446420, 0x2bf05: 0x6e454820, 0x2bf06: 0x6e454a20, 0x2bf07: 0x6e46ce20, + 0x2bf08: 0x6c400e20, 0x2bf09: 0x6c5f9420, 0x2bf0a: 0x6c84c620, 0x2bf0b: 0x6c84c820, + 0x2bf0c: 0x6c84ca20, 0x2bf0d: 0x6c84cc20, 0x2bf0e: 0x6cae2220, 0x2bf0f: 0x6cae2420, + 0x2bf10: 0x6cdd4820, 0x2bf11: 0x6cdd4a20, 0x2bf12: 0x6d0bc220, 0x2bf13: 0x6d0bc420, + 0x2bf14: 0x6d0bc620, 0x2bf15: 0x6d0bc820, 0x2bf16: 0x6d0bca20, 0x2bf17: 0x6d65f420, + 0x2bf18: 0x6d8fc820, 0x2bf19: 0x6db39820, 0x2bf1a: 0x6dd29620, 0x2bf1b: 0x6dd29820, + 0x2bf1c: 0x6debd220, 0x2bf1d: 0x6c268820, 0x2bf1e: 0x6c5fa220, 0x2bf1f: 0x6c5fa420, + 0x2bf20: 0x6c5fa620, 0x2bf21: 0x6c84de20, 0x2bf22: 0x6c84e020, 0x2bf23: 0x6c84e220, + 0x2bf24: 0x6cae4e20, 0x2bf25: 0x6cae5020, 0x2bf26: 0x6cae5220, 0x2bf27: 0x6cae5420, + 0x2bf28: 0x6cae5620, 0x2bf29: 0x6cae5820, 0x2bf2a: 0x6cae5a20, 0x2bf2b: 0x6cae5c20, + 0x2bf2c: 0x6cae5e20, 0x2bf2d: 0x6cdd6620, 0x2bf2e: 0x6cdd6820, 0x2bf2f: 0x6cdd6a20, + 0x2bf30: 0x6cdd6c20, 0x2bf31: 0x6cdd6e20, 0x2bf32: 0x6cdd7020, 0x2bf33: 0x6cdd7220, + 0x2bf34: 0x6cdd7420, 0x2bf35: 0x6cdd7620, 0x2bf36: 0x6d0bde20, 0x2bf37: 0x6d0be020, + 0x2bf38: 0x6d0be220, 0x2bf39: 0x6d0be420, 0x2bf3a: 0x6d0be620, 0x2bf3b: 0x6d0be820, + 0x2bf3c: 0x6d0bea20, 0x2bf3d: 0x6d0bec20, 0x2bf3e: 0x6d0bee20, 0x2bf3f: 0x6d39e220, + // Block 0xafd, offset 0x2bf40 + 0x2bf40: 0x6d39e420, 0x2bf41: 0x6d39e620, 0x2bf42: 0x6d39e820, 0x2bf43: 0x6d39ea20, + 0x2bf44: 0x6d39ec20, 0x2bf45: 0x6d39ee20, 0x2bf46: 0x6d39f020, 0x2bf47: 0x6d39f220, + 0x2bf48: 0x6d39f420, 0x2bf49: 0x6d39f620, 0x2bf4a: 0x6d39f820, 0x2bf4b: 0x6d661220, + 0x2bf4c: 0x6d661420, 0x2bf4d: 0x6d661620, 0x2bf4e: 0x6d661820, 0x2bf4f: 0x6d661a20, + 0x2bf50: 0x6d661c20, 0x2bf51: 0x6d661e20, 0x2bf52: 0x6d662020, 0x2bf53: 0x6d662220, + 0x2bf54: 0x6d662420, 0x2bf55: 0x6d39fa20, 0x2bf56: 0x6d662620, 0x2bf57: 0x6d8ffa20, + 0x2bf58: 0x6d8ffc20, 0x2bf59: 0x6d8ffe20, 0x2bf5a: 0x6d900020, 0x2bf5b: 0x6d900220, + 0x2bf5c: 0x6d900420, 0x2bf5d: 0x6d900620, 0x2bf5e: 0x6d900820, 0x2bf5f: 0x6db3b420, + 0x2bf60: 0x6db3b620, 0x2bf61: 0x6db3b820, 0x2bf62: 0x6db3ba20, 0x2bf63: 0x6db3bc20, + 0x2bf64: 0x6db3be20, 0x2bf65: 0x6db3c020, 0x2bf66: 0x6db3c220, 0x2bf67: 0x6db3c420, + 0x2bf68: 0x6db3c620, 0x2bf69: 0x6db3c820, 0x2bf6a: 0x6db3ca20, 0x2bf6b: 0x6db3cc20, + 0x2bf6c: 0x6db3ce20, 0x2bf6d: 0x6db3d020, 0x2bf6e: 0x6db3d220, 0x2bf6f: 0x6dd2b020, + 0x2bf70: 0x6dd2b220, 0x2bf71: 0x6dd2b420, 0x2bf72: 0x6dd2b620, 0x2bf73: 0x6dd2b820, + 0x2bf74: 0x6debe620, 0x2bf75: 0x6debe820, 0x2bf76: 0x6debea20, 0x2bf77: 0x6debec20, + 0x2bf78: 0x6debee20, 0x2bf79: 0x6debf020, 0x2bf7a: 0x6debf220, 0x2bf7b: 0x6debf420, + 0x2bf7c: 0x6e016420, 0x2bf7d: 0x6e016620, 0x2bf7e: 0x6e016820, 0x2bf7f: 0x6e016a20, + // Block 0xafe, offset 0x2bf80 + 0x2bf80: 0x6e016c20, 0x2bf81: 0x6e016e20, 0x2bf82: 0x6e135020, 0x2bf83: 0x6e135220, + 0x2bf84: 0x6e135420, 0x2bf85: 0x6e212220, 0x2bf86: 0x6e212420, 0x2bf87: 0x6e212620, + 0x2bf88: 0x6e212820, 0x2bf89: 0x6e212a20, 0x2bf8a: 0x6e2bdc20, 0x2bf8b: 0x6e2bde20, + 0x2bf8c: 0x6e2be020, 0x2bf8d: 0x6e39ea20, 0x2bf8e: 0x6e42fc20, 0x2bf8f: 0x6c5ff620, + 0x2bf90: 0x6c858220, 0x2bf91: 0x6caf1a20, 0x2bf92: 0x6d0cbc20, 0x2bf93: 0x6d3b1020, + 0x2bf94: 0x6d673a20, 0x2bf95: 0x6c859420, 0x2bf96: 0x6cde5020, 0x2bf97: 0x6d912020, + 0x2bf98: 0x6d912220, 0x2bf99: 0x6e01e020, 0x2bf9a: 0x6c404420, 0x2bf9b: 0x6c404620, + 0x2bf9c: 0x6c600c20, 0x2bf9d: 0x6c600e20, 0x2bf9e: 0x6c601020, 0x2bf9f: 0x6c85a020, + 0x2bfa0: 0x6c85a220, 0x2bfa1: 0x6c85a420, 0x2bfa2: 0x6caf3420, 0x2bfa3: 0x6caf3620, + 0x2bfa4: 0x6caf3820, 0x2bfa5: 0x6caf3a20, 0x2bfa6: 0x6caf3c20, 0x2bfa7: 0x6caf3e20, + 0x2bfa8: 0x6cde6a20, 0x2bfa9: 0x6cde6c20, 0x2bfaa: 0x6cde6e20, 0x2bfab: 0x6cde7020, + 0x2bfac: 0x6cde7220, 0x2bfad: 0x6cde7420, 0x2bfae: 0x6cde7620, 0x2bfaf: 0x6d0cd820, + 0x2bfb0: 0x6d0cda20, 0x2bfb1: 0x6d0cdc20, 0x2bfb2: 0x6d0cde20, 0x2bfb3: 0x6d3b2820, + 0x2bfb4: 0x6d3b2a20, 0x2bfb5: 0x6d3b2c20, 0x2bfb6: 0x6d3b2e20, 0x2bfb7: 0x6d3b3020, + 0x2bfb8: 0x6d3b3220, 0x2bfb9: 0x6d3b3420, 0x2bfba: 0x6d3b3620, 0x2bfbb: 0x6d3b3820, + 0x2bfbc: 0x6d3b3a20, 0x2bfbd: 0x6d3b3c20, 0x2bfbe: 0x6d3b3e20, 0x2bfbf: 0x6d3b4020, + // Block 0xaff, offset 0x2bfc0 + 0x2bfc0: 0x6d3b4220, 0x2bfc1: 0x6d3b4420, 0x2bfc2: 0x6d3b4620, 0x2bfc3: 0x6d675820, + 0x2bfc4: 0x6d675a20, 0x2bfc5: 0x6d675c20, 0x2bfc6: 0x6d675e20, 0x2bfc7: 0x6d676020, + 0x2bfc8: 0x6d676220, 0x2bfc9: 0x6d676420, 0x2bfca: 0x6d676620, 0x2bfcb: 0x6d676820, + 0x2bfcc: 0x6d676a20, 0x2bfcd: 0x6d676c20, 0x2bfce: 0x6d913020, 0x2bfcf: 0x6d913220, + 0x2bfd0: 0x6d913420, 0x2bfd1: 0x6d913620, 0x2bfd2: 0x6d913820, 0x2bfd3: 0x6d913a20, + 0x2bfd4: 0x6db4da20, 0x2bfd5: 0x6db4dc20, 0x2bfd6: 0x6db4de20, 0x2bfd7: 0x6db4e020, + 0x2bfd8: 0x6db4e220, 0x2bfd9: 0x6db4e420, 0x2bfda: 0x6db4e620, 0x2bfdb: 0x6db4e820, + 0x2bfdc: 0x6db4ea20, 0x2bfdd: 0x6db4ec20, 0x2bfde: 0x6dd3aa20, 0x2bfdf: 0x6dd3ac20, + 0x2bfe0: 0x6dd3ae20, 0x2bfe1: 0x6dd3b020, 0x2bfe2: 0x6dd3b220, 0x2bfe3: 0x6dd3b420, + 0x2bfe4: 0x6decac20, 0x2bfe5: 0x6decae20, 0x2bfe6: 0x6e01e420, 0x2bfe7: 0x6e01e620, + 0x2bfe8: 0x6e01e820, 0x2bfe9: 0x6e01ea20, 0x2bfea: 0x6e13d020, 0x2bfeb: 0x6e218c20, + 0x2bfec: 0x6e2c2220, 0x2bfed: 0x6e2c2420, 0x2bfee: 0x6e346020, 0x2bfef: 0x6e346220, + 0x2bff0: 0x6e3a0a20, 0x2bff1: 0x6e40fe20, 0x2bff2: 0x6c606420, 0x2bff3: 0x6c862220, + 0x2bff4: 0x6cafe220, 0x2bff5: 0x6cdefa20, 0x2bff6: 0x6cdefc20, 0x2bff7: 0x6c862a20, + 0x2bff8: 0x6c862c20, 0x2bff9: 0x6cafee20, 0x2bffa: 0x6caff020, 0x2bffb: 0x6caff220, + 0x2bffc: 0x6cdf0a20, 0x2bffd: 0x6cdf0c20, 0x2bffe: 0x6cdf0e20, 0x2bfff: 0x6cdf1020, + // Block 0xb00, offset 0x2c000 + 0x2c000: 0x6d0d7c20, 0x2c001: 0x6d0d7e20, 0x2c002: 0x6d3bec20, 0x2c003: 0x6d3bee20, + 0x2c004: 0x6d67f820, 0x2c005: 0x6d67fa20, 0x2c006: 0x6d91c220, 0x2c007: 0x6d91c420, + 0x2c008: 0x6d91c620, 0x2c009: 0x6d91c820, 0x2c00a: 0x6db58020, 0x2c00b: 0x6db58220, + 0x2c00c: 0x6db58420, 0x2c00d: 0x6dd41420, 0x2c00e: 0x6dd41620, 0x2c00f: 0x6ded0420, + 0x2c010: 0x6ded0620, 0x2c011: 0x6ded0820, 0x2c012: 0x6ded0a20, 0x2c013: 0x6ded0c20, + 0x2c014: 0x6e13fc20, 0x2c015: 0x6e3e2e20, 0x2c016: 0x6e45d820, 0x2c017: 0x6cb01e20, + 0x2c018: 0x6d0db020, 0x2c019: 0x6d0db220, 0x2c01a: 0x6d0db420, 0x2c01b: 0x6d3c2020, + 0x2c01c: 0x6d683a20, 0x2c01d: 0x6d683c20, 0x2c01e: 0x6d683e20, 0x2c01f: 0x6d684020, + 0x2c020: 0x6d684220, 0x2c021: 0x6d920220, 0x2c022: 0x6d920420, 0x2c023: 0x6d920620, + 0x2c024: 0x6d920820, 0x2c025: 0x6db5a820, 0x2c026: 0x6db5aa20, 0x2c027: 0x6dd43620, + 0x2c028: 0x6ded2420, 0x2c029: 0x6ded2620, 0x2c02a: 0x6e022e20, 0x2c02b: 0x6e023020, + 0x2c02c: 0x6ded2820, 0x2c02d: 0x6e3a3620, 0x2c02e: 0x6c608620, 0x2c02f: 0x6c608820, + 0x2c030: 0x6c608a20, 0x2c031: 0x6c864a20, 0x2c032: 0x6c864c20, 0x2c033: 0x6cb05620, + 0x2c034: 0x6cb05820, 0x2c035: 0x6cb05a20, 0x2c036: 0x6cb05c20, 0x2c037: 0x6cb05e20, + 0x2c038: 0x6cb06020, 0x2c039: 0x6cb06220, 0x2c03a: 0x6cb06420, 0x2c03b: 0x6cb06620, + 0x2c03c: 0x6cb06820, 0x2c03d: 0x6cb06a20, 0x2c03e: 0x6cb06c20, 0x2c03f: 0x6cb06e20, + // Block 0xb01, offset 0x2c040 + 0x2c040: 0x6cb07020, 0x2c041: 0x6cb07220, 0x2c042: 0x6cb07420, 0x2c043: 0x6cb07620, + 0x2c044: 0x6cdf6020, 0x2c045: 0x6cdf6220, 0x2c046: 0x6cdf6420, 0x2c047: 0x6cdf6620, + 0x2c048: 0x6cdf6820, 0x2c049: 0x6cdf6a20, 0x2c04a: 0x6cdf6c20, 0x2c04b: 0x6cdf6e20, + 0x2c04c: 0x6cdf7020, 0x2c04d: 0x6cdf7220, 0x2c04e: 0x6cdf7420, 0x2c04f: 0x6cdf7620, + 0x2c050: 0x6cdf7820, 0x2c051: 0x6cdf7a20, 0x2c052: 0x6cdf7c20, 0x2c053: 0x6cdf7e20, + 0x2c054: 0x6d0de020, 0x2c055: 0x6d0de220, 0x2c056: 0x6d0de420, 0x2c057: 0x6d0de620, + 0x2c058: 0x6d0de820, 0x2c059: 0x6d0dea20, 0x2c05a: 0x6d0dec20, 0x2c05b: 0x6d0dee20, + 0x2c05c: 0x6d0df020, 0x2c05d: 0x6d3c4220, 0x2c05e: 0x6d3c4420, 0x2c05f: 0x6d3c4620, + 0x2c060: 0x6d3c4820, 0x2c061: 0x6d3c4a20, 0x2c062: 0x6d3c4c20, 0x2c063: 0x6d3c4e20, + 0x2c064: 0x6d3c5020, 0x2c065: 0x6d3c5220, 0x2c066: 0x6d3c5420, 0x2c067: 0x6d3c5620, + 0x2c068: 0x6d3c5820, 0x2c069: 0x6d687e20, 0x2c06a: 0x6d688020, 0x2c06b: 0x6d688220, + 0x2c06c: 0x6d688420, 0x2c06d: 0x6d688620, 0x2c06e: 0x6d688820, 0x2c06f: 0x6d688a20, + 0x2c070: 0x6d688c20, 0x2c071: 0x6d688e20, 0x2c072: 0x6d689020, 0x2c073: 0x6d689220, + 0x2c074: 0x6d689420, 0x2c075: 0x6d689620, 0x2c076: 0x6d689820, 0x2c077: 0x6d689a20, + 0x2c078: 0x6d689c20, 0x2c079: 0x6d923220, 0x2c07a: 0x6d923420, 0x2c07b: 0x6d923620, + 0x2c07c: 0x6d923820, 0x2c07d: 0x6d923a20, 0x2c07e: 0x6db5d620, 0x2c07f: 0x6db5d820, + // Block 0xb02, offset 0x2c080 + 0x2c080: 0x6db5da20, 0x2c081: 0x6db5dc20, 0x2c082: 0x6db5de20, 0x2c083: 0x6dd45220, + 0x2c084: 0x6dd45420, 0x2c085: 0x6dd45620, 0x2c086: 0x6dd45820, 0x2c087: 0x6dd45a20, + 0x2c088: 0x6dd45c20, 0x2c089: 0x6dd45e20, 0x2c08a: 0x6dd46020, 0x2c08b: 0x6ded4220, + 0x2c08c: 0x6ded4420, 0x2c08d: 0x6ded4620, 0x2c08e: 0x6ded4820, 0x2c08f: 0x6ded4a20, + 0x2c090: 0x6ded4c20, 0x2c091: 0x6ded4e20, 0x2c092: 0x6e024020, 0x2c093: 0x6e024220, + 0x2c094: 0x6e024420, 0x2c095: 0x6e024620, 0x2c096: 0x6e024820, 0x2c097: 0x6e024a20, + 0x2c098: 0x6e024c20, 0x2c099: 0x6e141620, 0x2c09a: 0x6e141820, 0x2c09b: 0x6e141a20, + 0x2c09c: 0x6e141c20, 0x2c09d: 0x6e141e20, 0x2c09e: 0x6e142020, 0x2c09f: 0x6e21c220, + 0x2c0a0: 0x6e21c420, 0x2c0a1: 0x6e21c620, 0x2c0a2: 0x6e2c4420, 0x2c0a3: 0x6cb10a20, + 0x2c0a4: 0x6d0eb220, 0x2c0a5: 0x6d697a20, 0x2c0a6: 0x6db69820, 0x2c0a7: 0x6db69a20, + 0x2c0a8: 0x6dd4fc20, 0x2c0a9: 0x6e2c7620, 0x2c0aa: 0x6c60be20, 0x2c0ab: 0x6c86c420, + 0x2c0ac: 0x6ce04820, 0x2c0ad: 0x6ce04a20, 0x2c0ae: 0x6d3d1620, 0x2c0af: 0x6d698420, + 0x2c0b0: 0x6db69e20, 0x2c0b1: 0x6dd4fe20, 0x2c0b2: 0x6e221620, 0x2c0b3: 0x6c40b620, + 0x2c0b4: 0x6cb15020, 0x2c0b5: 0x6ce05020, 0x2c0b6: 0x6d0eca20, 0x2c0b7: 0x6d3d1e20, + 0x2c0b8: 0x6d3d2020, 0x2c0b9: 0x6d3d2220, 0x2c0ba: 0x6d699620, 0x2c0bb: 0x6d930c20, + 0x2c0bc: 0x6d930e20, 0x2c0bd: 0x6d931020, 0x2c0be: 0x6d931220, 0x2c0bf: 0x6d931420, + // Block 0xb03, offset 0x2c0c0 + 0x2c0c0: 0x6db6ae20, 0x2c0c1: 0x6db6b020, 0x2c0c2: 0x6db6b220, 0x2c0c3: 0x6e147020, + 0x2c0c4: 0x6e3a5420, 0x2c0c5: 0x6c86d820, 0x2c0c6: 0x6cb15820, 0x2c0c7: 0x6cb15a20, + 0x2c0c8: 0x6ce05c20, 0x2c0c9: 0x6d0ed620, 0x2c0ca: 0x6d69b420, 0x2c0cb: 0x6d69b620, + 0x2c0cc: 0x6d69b820, 0x2c0cd: 0x6d932020, 0x2c0ce: 0x6d932220, 0x2c0cf: 0x6dd51420, + 0x2c0d0: 0x6dee0620, 0x2c0d1: 0x6dee0820, 0x2c0d2: 0x6e147620, 0x2c0d3: 0x6e222220, + 0x2c0d4: 0x6e3a5c20, 0x2c0d5: 0x6e3a5e20, 0x2c0d6: 0x6cb17820, 0x2c0d7: 0x6cb17a20, + 0x2c0d8: 0x6cb17c20, 0x2c0d9: 0x6cb17e20, 0x2c0da: 0x6ce07a20, 0x2c0db: 0x6ce07c20, + 0x2c0dc: 0x6d3d4e20, 0x2c0dd: 0x6d69dc20, 0x2c0de: 0x6d69de20, 0x2c0df: 0x6d934020, + 0x2c0e0: 0x6db6e220, 0x2c0e1: 0x6dd52820, 0x2c0e2: 0x6dd52a20, 0x2c0e3: 0x6dee1820, + 0x2c0e4: 0x6dee1a20, 0x2c0e5: 0x6dee1c20, 0x2c0e6: 0x6dee1e20, 0x2c0e7: 0x6cb19420, + 0x2c0e8: 0x6cb19620, 0x2c0e9: 0x6ce0ae20, 0x2c0ea: 0x6ce0b020, 0x2c0eb: 0x6ce0b220, + 0x2c0ec: 0x6ce0b420, 0x2c0ed: 0x6ce0b620, 0x2c0ee: 0x6ce0b820, 0x2c0ef: 0x6ce0ba20, + 0x2c0f0: 0x6d0f2820, 0x2c0f1: 0x6d0f2a20, 0x2c0f2: 0x6d0f2c20, 0x2c0f3: 0x6d3d7620, + 0x2c0f4: 0x6d3d7820, 0x2c0f5: 0x6d3d7a20, 0x2c0f6: 0x6d6a0020, 0x2c0f7: 0x6d6a0220, + 0x2c0f8: 0x6d6a0420, 0x2c0f9: 0x6d6a0620, 0x2c0fa: 0x6d6a0820, 0x2c0fb: 0x6d6a0a20, + 0x2c0fc: 0x6d6a0c20, 0x2c0fd: 0x6d6a0e20, 0x2c0fe: 0x6d6a1020, 0x2c0ff: 0x6d6a1220, + // Block 0xb04, offset 0x2c100 + 0x2c100: 0x6d936820, 0x2c101: 0x6d936a20, 0x2c102: 0x6d936c20, 0x2c103: 0x6d936e20, + 0x2c104: 0x6d937020, 0x2c105: 0x6db70420, 0x2c106: 0x6db70620, 0x2c107: 0x6dd54620, + 0x2c108: 0x6dee3620, 0x2c109: 0x6e02e220, 0x2c10a: 0x6e223020, 0x2c10b: 0x6e2c8a20, + 0x2c10c: 0x6d0f9020, 0x2c10d: 0x6d6a6e20, 0x2c10e: 0x6d6a7020, 0x2c10f: 0x6d93be20, + 0x2c110: 0x6d93c020, 0x2c111: 0x6c872620, 0x2c112: 0x6d0f9820, 0x2c113: 0x6d3dca20, + 0x2c114: 0x6d3dcc20, 0x2c115: 0x6e14a620, 0x2c116: 0x6c872820, 0x2c117: 0x6c872a20, + 0x2c118: 0x6c872c20, 0x2c119: 0x6cb1f220, 0x2c11a: 0x6cb1f420, 0x2c11b: 0x6cb1f620, + 0x2c11c: 0x6cb1f820, 0x2c11d: 0x6ce13e20, 0x2c11e: 0x6ce14020, 0x2c11f: 0x6ce14220, + 0x2c120: 0x6ce14420, 0x2c121: 0x6ce14620, 0x2c122: 0x6ce14820, 0x2c123: 0x6ce14a20, + 0x2c124: 0x6ce14c20, 0x2c125: 0x6d0fa820, 0x2c126: 0x6d0faa20, 0x2c127: 0x6d0fac20, + 0x2c128: 0x6d0fae20, 0x2c129: 0x6d0fb020, 0x2c12a: 0x6d0fb220, 0x2c12b: 0x6d3dd820, + 0x2c12c: 0x6d3dda20, 0x2c12d: 0x6d3ddc20, 0x2c12e: 0x6d3dde20, 0x2c12f: 0x6d3de020, + 0x2c130: 0x6d3de220, 0x2c131: 0x6d3de420, 0x2c132: 0x6d3de620, 0x2c133: 0x6d6a8420, + 0x2c134: 0x6d6a8620, 0x2c135: 0x6d6a8820, 0x2c136: 0x6d6a8a20, 0x2c137: 0x6d6a8c20, + 0x2c138: 0x6d6a8e20, 0x2c139: 0x6d93dc20, 0x2c13a: 0x6d93de20, 0x2c13b: 0x6d93e020, + 0x2c13c: 0x6d93e220, 0x2c13d: 0x6db74e20, 0x2c13e: 0x6db75020, 0x2c13f: 0x6db75220, + // Block 0xb05, offset 0x2c140 + 0x2c140: 0x6db75420, 0x2c141: 0x6dd59c20, 0x2c142: 0x6dd59e20, 0x2c143: 0x6dd5a020, + 0x2c144: 0x6dd5a220, 0x2c145: 0x6dd5a420, 0x2c146: 0x6dd5a620, 0x2c147: 0x6dee8620, + 0x2c148: 0x6e030a20, 0x2c149: 0x6e030c20, 0x2c14a: 0x6e030e20, 0x2c14b: 0x6e031020, + 0x2c14c: 0x6e14ae20, 0x2c14d: 0x6e225c20, 0x2c14e: 0x6e225e20, 0x2c14f: 0x6e226020, + 0x2c150: 0x6e2cae20, 0x2c151: 0x6e34ba20, 0x2c152: 0x6e3a6e20, 0x2c153: 0x6c611620, + 0x2c154: 0x6c611820, 0x2c155: 0x6c875020, 0x2c156: 0x6c875220, 0x2c157: 0x6cb23e20, + 0x2c158: 0x6cb24020, 0x2c159: 0x6cb24220, 0x2c15a: 0x6cb24420, 0x2c15b: 0x6cb24620, + 0x2c15c: 0x6cb24820, 0x2c15d: 0x6cb24a20, 0x2c15e: 0x6cb24c20, 0x2c15f: 0x6ce19c20, + 0x2c160: 0x6ce19e20, 0x2c161: 0x6ce1a020, 0x2c162: 0x6ce1a220, 0x2c163: 0x6ce1a420, + 0x2c164: 0x6ce1a620, 0x2c165: 0x6ce1a820, 0x2c166: 0x6ce1aa20, 0x2c167: 0x6ce1ac20, + 0x2c168: 0x6ce1ae20, 0x2c169: 0x6ce1b020, 0x2c16a: 0x6ce1b220, 0x2c16b: 0x6ce1b420, + 0x2c16c: 0x6ce1b620, 0x2c16d: 0x6ce1b820, 0x2c16e: 0x6d100a20, 0x2c16f: 0x6d100c20, + 0x2c170: 0x6d100e20, 0x2c171: 0x6d101020, 0x2c172: 0x6d101220, 0x2c173: 0x6d101420, + 0x2c174: 0x6d3e3a20, 0x2c175: 0x6d3e3c20, 0x2c176: 0x6d3e3e20, 0x2c177: 0x6d3e4020, + 0x2c178: 0x6d3e4220, 0x2c179: 0x6d3e4420, 0x2c17a: 0x6d3e4620, 0x2c17b: 0x6d3e4820, + 0x2c17c: 0x6d6ada20, 0x2c17d: 0x6d3e4a20, 0x2c17e: 0x6d6adc20, 0x2c17f: 0x6d6ade20, + // Block 0xb06, offset 0x2c180 + 0x2c180: 0x6d6ae020, 0x2c181: 0x6d6ae220, 0x2c182: 0x6d6ae420, 0x2c183: 0x6d6ae620, + 0x2c184: 0x6d6ae820, 0x2c185: 0x6d6aea20, 0x2c186: 0x6d6aec20, 0x2c187: 0x6d6aee20, + 0x2c188: 0x6d6af020, 0x2c189: 0x6d6af220, 0x2c18a: 0x6d6af420, 0x2c18b: 0x6d6af620, + 0x2c18c: 0x6d6af820, 0x2c18d: 0x6d943220, 0x2c18e: 0x6d943420, 0x2c18f: 0x6d943620, + 0x2c190: 0x6d943820, 0x2c191: 0x6d943a20, 0x2c192: 0x6d943c20, 0x2c193: 0x6d943e20, + 0x2c194: 0x6d944020, 0x2c195: 0x6d944220, 0x2c196: 0x6d944420, 0x2c197: 0x6db78420, + 0x2c198: 0x6db78620, 0x2c199: 0x6db78820, 0x2c19a: 0x6db78a20, 0x2c19b: 0x6db78c20, + 0x2c19c: 0x6db78e20, 0x2c19d: 0x6db79020, 0x2c19e: 0x6dd5de20, 0x2c19f: 0x6dd5e020, + 0x2c1a0: 0x6dd5e220, 0x2c1a1: 0x6dd5e420, 0x2c1a2: 0x6dd5e620, 0x2c1a3: 0x6deebe20, + 0x2c1a4: 0x6deec020, 0x2c1a5: 0x6deec220, 0x2c1a6: 0x6deec420, 0x2c1a7: 0x6deec620, + 0x2c1a8: 0x6e032c20, 0x2c1a9: 0x6e032e20, 0x2c1aa: 0x6e14c420, 0x2c1ab: 0x6e14c620, + 0x2c1ac: 0x6e227020, 0x2c1ad: 0x6e2cbe20, 0x2c1ae: 0x6e2cc020, 0x2c1af: 0x6e34c020, + 0x2c1b0: 0x6e3a7a20, 0x2c1b1: 0x6e432220, 0x2c1b2: 0x6ce23a20, 0x2c1b3: 0x6ce23c20, + 0x2c1b4: 0x6ce23e20, 0x2c1b5: 0x6ce24020, 0x2c1b6: 0x6ce24220, 0x2c1b7: 0x6d10b020, + 0x2c1b8: 0x6d10b220, 0x2c1b9: 0x6d10b420, 0x2c1ba: 0x6d10b620, 0x2c1bb: 0x6d6b9c20, + 0x2c1bc: 0x6d94e220, 0x2c1bd: 0x6db81620, 0x2c1be: 0x6db81820, 0x2c1bf: 0x6def6a20, + // Block 0xb07, offset 0x2c1c0 + 0x2c1c0: 0x6e039a20, 0x2c1c1: 0x6e2ce820, 0x2c1c2: 0x6c612c20, 0x2c1c3: 0x6c612e20, + 0x2c1c4: 0x6c613020, 0x2c1c5: 0x6c878c20, 0x2c1c6: 0x6cb2d220, 0x2c1c7: 0x6cb2d420, + 0x2c1c8: 0x6cb2d620, 0x2c1c9: 0x6cb2d820, 0x2c1ca: 0x6cb2da20, 0x2c1cb: 0x6cb2dc20, + 0x2c1cc: 0x6cb2de20, 0x2c1cd: 0x6cb2e020, 0x2c1ce: 0x6cb2e220, 0x2c1cf: 0x6ce26420, + 0x2c1d0: 0x6ce26620, 0x2c1d1: 0x6ce26820, 0x2c1d2: 0x6ce26a20, 0x2c1d3: 0x6d10e020, + 0x2c1d4: 0x6d10e220, 0x2c1d5: 0x6d10e420, 0x2c1d6: 0x6d10e620, 0x2c1d7: 0x6d10e820, + 0x2c1d8: 0x6d3f0220, 0x2c1d9: 0x6d3f0420, 0x2c1da: 0x6d3f0620, 0x2c1db: 0x6d3f0820, + 0x2c1dc: 0x6d6bc820, 0x2c1dd: 0x6d6bca20, 0x2c1de: 0x6d6bcc20, 0x2c1df: 0x6d6bce20, + 0x2c1e0: 0x6d94fe20, 0x2c1e1: 0x6d950020, 0x2c1e2: 0x6d950220, 0x2c1e3: 0x6d950420, + 0x2c1e4: 0x6d950620, 0x2c1e5: 0x6db83620, 0x2c1e6: 0x6db83820, 0x2c1e7: 0x6db83a20, + 0x2c1e8: 0x6db83c20, 0x2c1e9: 0x6db83e20, 0x2c1ea: 0x6db84020, 0x2c1eb: 0x6dd6c020, + 0x2c1ec: 0x6dd6c220, 0x2c1ed: 0x6dd6c420, 0x2c1ee: 0x6dd6c620, 0x2c1ef: 0x6dd6c820, + 0x2c1f0: 0x6dd6ca20, 0x2c1f1: 0x6dd6cc20, 0x2c1f2: 0x6def9220, 0x2c1f3: 0x6def9420, + 0x2c1f4: 0x6def9620, 0x2c1f5: 0x6def9820, 0x2c1f6: 0x6e03ac20, 0x2c1f7: 0x6e151220, + 0x2c1f8: 0x6e151420, 0x2c1f9: 0x6e151620, 0x2c1fa: 0x6e22b420, 0x2c1fb: 0x6e22b620, + 0x2c1fc: 0x6e34e020, 0x2c1fd: 0x6e3e5e20, 0x2c1fe: 0x6e412e20, 0x2c1ff: 0x6e45de20, + // Block 0xb08, offset 0x2c200 + 0x2c200: 0x6c87b820, 0x2c201: 0x6cb33820, 0x2c202: 0x6c614420, 0x2c203: 0x6d6c5420, + 0x2c204: 0x6e03ec20, 0x2c205: 0x6d115e20, 0x2c206: 0x6d3f7620, 0x2c207: 0x6d6c6020, + 0x2c208: 0x6e03f820, 0x2c209: 0x6e03fa20, 0x2c20a: 0x6c272820, 0x2c20b: 0x6c272a20, + 0x2c20c: 0x6c40f820, 0x2c20d: 0x6c40fa20, 0x2c20e: 0x6c40fc20, 0x2c20f: 0x6c40fe20, + 0x2c210: 0x6c616620, 0x2c211: 0x6c616820, 0x2c212: 0x6c87d820, 0x2c213: 0x6c87da20, + 0x2c214: 0x6c87dc20, 0x2c215: 0x6c87de20, 0x2c216: 0x6c87e020, 0x2c217: 0x6c87e220, + 0x2c218: 0x6c87e420, 0x2c219: 0x6cb34820, 0x2c21a: 0x6cb34a20, 0x2c21b: 0x6cb34c20, + 0x2c21c: 0x6ce2fa20, 0x2c21d: 0x6ce2fc20, 0x2c21e: 0x6ce2fe20, 0x2c21f: 0x6ce30020, + 0x2c220: 0x6ce30220, 0x2c221: 0x6d116820, 0x2c222: 0x6d3f7820, 0x2c223: 0x6d3f7a20, + 0x2c224: 0x6d3f7c20, 0x2c225: 0x6d3f7e20, 0x2c226: 0x6d6c6620, 0x2c227: 0x6d6c6820, + 0x2c228: 0x6d6c6a20, 0x2c229: 0x6d6c6c20, 0x2c22a: 0x6d959620, 0x2c22b: 0x6d959820, + 0x2c22c: 0x6d959a20, 0x2c22d: 0x6d959c20, 0x2c22e: 0x6db8b020, 0x2c22f: 0x6dd71e20, + 0x2c230: 0x6dd72020, 0x2c231: 0x6defda20, 0x2c232: 0x6e34f820, 0x2c233: 0x6c0a8c20, + 0x2c234: 0x6c153a20, 0x2c235: 0x6c278c20, 0x2c236: 0x6c278e20, 0x2c237: 0x6c279020, + 0x2c238: 0x6c417c20, 0x2c239: 0x6c417e20, 0x2c23a: 0x6c418020, 0x2c23b: 0x6c61d220, + 0x2c23c: 0x6c61d420, 0x2c23d: 0x6d11fc20, 0x2c23e: 0x6c61d620, 0x2c23f: 0x6c61d820, + // Block 0xb09, offset 0x2c240 + 0x2c240: 0x6c61da20, 0x2c241: 0x6c61dc20, 0x2c242: 0x6c61de20, 0x2c243: 0x6c886c20, + 0x2c244: 0x6c886e20, 0x2c245: 0x6c887020, 0x2c246: 0x6c887220, 0x2c247: 0x6c887420, + 0x2c248: 0x6d400420, 0x2c249: 0x6d400620, 0x2c24a: 0x6cb40020, 0x2c24b: 0x6cb40220, + 0x2c24c: 0x6cb40420, 0x2c24d: 0x6cb40620, 0x2c24e: 0x6cb40820, 0x2c24f: 0x6cb40a20, + 0x2c250: 0x6ce3c020, 0x2c251: 0x6ce3c220, 0x2c252: 0x6ce3c420, 0x2c253: 0x6d120020, + 0x2c254: 0x6d120220, 0x2c255: 0x6d120420, 0x2c256: 0x6db90420, 0x2c257: 0x6d120620, + 0x2c258: 0x6d400a20, 0x2c259: 0x6d400c20, 0x2c25a: 0x6d400e20, 0x2c25b: 0x6d401020, + 0x2c25c: 0x6d401220, 0x2c25d: 0x6d6cfa20, 0x2c25e: 0x6d6cfc20, 0x2c25f: 0x6d6cfe20, + 0x2c260: 0x6d6d0020, 0x2c261: 0x6d95fc20, 0x2c262: 0x6db90620, 0x2c263: 0x6e2d1620, + 0x2c264: 0x6e2d1820, 0x2c265: 0x6c625620, 0x2c266: 0x6c625820, 0x2c267: 0x6c88ea20, + 0x2c268: 0x6c88ec20, 0x2c269: 0x6cb47420, 0x2c26a: 0x6cb47620, 0x2c26b: 0x6cb47820, + 0x2c26c: 0x6cb47a20, 0x2c26d: 0x6cb47c20, 0x2c26e: 0x6ce42020, 0x2c26f: 0x6ce42220, + 0x2c270: 0x6ce42420, 0x2c271: 0x6d126a20, 0x2c272: 0x6ce42620, 0x2c273: 0x6ce42820, + 0x2c274: 0x6d126c20, 0x2c275: 0x6d126e20, 0x2c276: 0x6d127020, 0x2c277: 0x6d127220, + 0x2c278: 0x6d127420, 0x2c279: 0x6d127620, 0x2c27a: 0x6d407a20, 0x2c27b: 0x6d407c20, + 0x2c27c: 0x6d6d4820, 0x2c27d: 0x6d6d4a20, 0x2c27e: 0x6d6d4c20, 0x2c27f: 0x6d6d4e20, + // Block 0xb0a, offset 0x2c280 + 0x2c280: 0x6d963020, 0x2c281: 0x6d963220, 0x2c282: 0x6d963420, 0x2c283: 0x6d963620, + 0x2c284: 0x6d963820, 0x2c285: 0x6d963a20, 0x2c286: 0x6d963c20, 0x2c287: 0x6d963e20, + 0x2c288: 0x6d964020, 0x2c289: 0x6db93420, 0x2c28a: 0x6db93620, 0x2c28b: 0x6db93820, + 0x2c28c: 0x6db93a20, 0x2c28d: 0x6dd78020, 0x2c28e: 0x6df00a20, 0x2c28f: 0x6df00c20, + 0x2c290: 0x6df00e20, 0x2c291: 0x6df01020, 0x2c292: 0x6df01220, 0x2c293: 0x6e155c20, + 0x2c294: 0x6e155e20, 0x2c295: 0x6e22f020, 0x2c296: 0x6e22f220, 0x2c297: 0x6e34fe20, + 0x2c298: 0x6e350020, 0x2c299: 0x6e433820, 0x2c29a: 0x6cb4ca20, 0x2c29b: 0x6c890c20, + 0x2c29c: 0x6cb4d420, 0x2c29d: 0x6ce47c20, 0x2c29e: 0x6ce47e20, 0x2c29f: 0x6ce48020, + 0x2c2a0: 0x6ce48220, 0x2c2a1: 0x6d12c020, 0x2c2a2: 0x6d12c220, 0x2c2a3: 0x6d12c420, + 0x2c2a4: 0x6d40d620, 0x2c2a5: 0x6d40d820, 0x2c2a6: 0x6d40da20, 0x2c2a7: 0x6d40dc20, + 0x2c2a8: 0x6d40de20, 0x2c2a9: 0x6d40e020, 0x2c2aa: 0x6d40e220, 0x2c2ab: 0x6d6db220, + 0x2c2ac: 0x6d6db420, 0x2c2ad: 0x6d6db620, 0x2c2ae: 0x6d6db820, 0x2c2af: 0x6d6dba20, + 0x2c2b0: 0x6d6dbc20, 0x2c2b1: 0x6d6dbe20, 0x2c2b2: 0x6d6dc020, 0x2c2b3: 0x6d969a20, + 0x2c2b4: 0x6d969c20, 0x2c2b5: 0x6d969e20, 0x2c2b6: 0x6d96a020, 0x2c2b7: 0x6db9a020, + 0x2c2b8: 0x6db9a220, 0x2c2b9: 0x6db9a420, 0x2c2ba: 0x6db9a620, 0x2c2bb: 0x6db9a820, + 0x2c2bc: 0x6db9aa20, 0x2c2bd: 0x6dd7d820, 0x2c2be: 0x6dd7da20, 0x2c2bf: 0x6dd7dc20, + // Block 0xb0b, offset 0x2c2c0 + 0x2c2c0: 0x6dd7de20, 0x2c2c1: 0x6dd7e020, 0x2c2c2: 0x6dd7e220, 0x2c2c3: 0x6dd7e420, + 0x2c2c4: 0x6dd7e620, 0x2c2c5: 0x6dd7e820, 0x2c2c6: 0x6dd7ea20, 0x2c2c7: 0x6dd7ec20, + 0x2c2c8: 0x6df05620, 0x2c2c9: 0x6df05820, 0x2c2ca: 0x6df05a20, 0x2c2cb: 0x6df05c20, + 0x2c2cc: 0x6df05e20, 0x2c2cd: 0x6df06020, 0x2c2ce: 0x6df06220, 0x2c2cf: 0x6df06420, + 0x2c2d0: 0x6df06620, 0x2c2d1: 0x6df06820, 0x2c2d2: 0x6df06a20, 0x2c2d3: 0x6df06c20, + 0x2c2d4: 0x6e046a20, 0x2c2d5: 0x6e046c20, 0x2c2d6: 0x6e046e20, 0x2c2d7: 0x6e047020, + 0x2c2d8: 0x6e047220, 0x2c2d9: 0x6e047420, 0x2c2da: 0x6e047620, 0x2c2db: 0x6e047820, + 0x2c2dc: 0x6e047a20, 0x2c2dd: 0x6e158020, 0x2c2de: 0x6e158220, 0x2c2df: 0x6e158420, + 0x2c2e0: 0x6e158620, 0x2c2e1: 0x6e158820, 0x2c2e2: 0x6e158a20, 0x2c2e3: 0x6e158c20, + 0x2c2e4: 0x6e158e20, 0x2c2e5: 0x6e159020, 0x2c2e6: 0x6e159220, 0x2c2e7: 0x6e230620, + 0x2c2e8: 0x6e230820, 0x2c2e9: 0x6e230a20, 0x2c2ea: 0x6e230c20, 0x2c2eb: 0x6e230e20, + 0x2c2ec: 0x6e231020, 0x2c2ed: 0x6e231220, 0x2c2ee: 0x6e231420, 0x2c2ef: 0x6e2d3a20, + 0x2c2f0: 0x6e2d3c20, 0x2c2f1: 0x6e2d3e20, 0x2c2f2: 0x6e2d4020, 0x2c2f3: 0x6e2d4220, + 0x2c2f4: 0x6e2d4420, 0x2c2f5: 0x6e351620, 0x2c2f6: 0x6e351820, 0x2c2f7: 0x6e351a20, + 0x2c2f8: 0x6e3ab220, 0x2c2f9: 0x6e449220, 0x2c2fa: 0x6ce52420, 0x2c2fb: 0x6ce52620, + 0x2c2fc: 0x6ce52820, 0x2c2fd: 0x6d139e20, 0x2c2fe: 0x6d13a020, 0x2c2ff: 0x6d13a220, + // Block 0xb0c, offset 0x2c300 + 0x2c300: 0x6d41c220, 0x2c301: 0x6d6ed020, 0x2c302: 0x6dd8fa20, 0x2c303: 0x6e058c20, + 0x2c304: 0x6e058e20, 0x2c305: 0x6e059020, 0x2c306: 0x6e435820, 0x2c307: 0x6cb58820, + 0x2c308: 0x6d13f620, 0x2c309: 0x6d13f820, 0x2c30a: 0x6d41fc20, 0x2c30b: 0x6df16420, + 0x2c30c: 0x6cb5a620, 0x2c30d: 0x6cb5a820, 0x2c30e: 0x6ce58c20, 0x2c30f: 0x6ce58e20, + 0x2c310: 0x6ce59020, 0x2c311: 0x6ce59220, 0x2c312: 0x6d141820, 0x2c313: 0x6d141a20, + 0x2c314: 0x6d141c20, 0x2c315: 0x6d420c20, 0x2c316: 0x6d420e20, 0x2c317: 0x6d421020, + 0x2c318: 0x6d421220, 0x2c319: 0x6d421420, 0x2c31a: 0x6d421620, 0x2c31b: 0x6d421820, + 0x2c31c: 0x6d6f1c20, 0x2c31d: 0x6d6f1e20, 0x2c31e: 0x6d6f2020, 0x2c31f: 0x6d6f2220, + 0x2c320: 0x6d982420, 0x2c321: 0x6d982620, 0x2c322: 0x6d982820, 0x2c323: 0x6d982a20, + 0x2c324: 0x6d982c20, 0x2c325: 0x6d982e20, 0x2c326: 0x6d983020, 0x2c327: 0x6d983220, + 0x2c328: 0x6d983420, 0x2c329: 0x6dbb2620, 0x2c32a: 0x6dbb2820, 0x2c32b: 0x6dbb2a20, + 0x2c32c: 0x6dbb2c20, 0x2c32d: 0x6dbb2e20, 0x2c32e: 0x6dbb3020, 0x2c32f: 0x6dbb3220, + 0x2c330: 0x6df17420, 0x2c331: 0x6e05a020, 0x2c332: 0x6e165620, 0x2c333: 0x6e165820, + 0x2c334: 0x6e165a20, 0x2c335: 0x6e23a420, 0x2c336: 0x6d426220, 0x2c337: 0x6d6f8220, + 0x2c338: 0x6dbb8620, 0x2c339: 0x6c0ab020, 0x2c33a: 0x6c0ab220, 0x2c33b: 0x6c15a220, + 0x2c33c: 0x6c281e20, 0x2c33d: 0x6c282020, 0x2c33e: 0x6c89a220, 0x2c33f: 0x6c282220, + // Block 0xb0d, offset 0x2c340 + 0x2c340: 0x6c282420, 0x2c341: 0x6c421220, 0x2c342: 0x6c421420, 0x2c343: 0x6c421620, + 0x2c344: 0x6c62cc20, 0x2c345: 0x6c62ce20, 0x2c346: 0x6c62d020, 0x2c347: 0x6c62d220, + 0x2c348: 0x6c62d420, 0x2c349: 0x6c89a420, 0x2c34a: 0x6c89a620, 0x2c34b: 0x6c89a820, + 0x2c34c: 0x6c89aa20, 0x2c34d: 0x6c89ac20, 0x2c34e: 0x6c89ae20, 0x2c34f: 0x6c89b020, + 0x2c350: 0x6cb5da20, 0x2c351: 0x6cb5dc20, 0x2c352: 0x6cb5de20, 0x2c353: 0x6cb5e020, + 0x2c354: 0x6cb5e220, 0x2c355: 0x6cb5e420, 0x2c356: 0x6cb5e620, 0x2c357: 0x6ce5fc20, + 0x2c358: 0x6ce5fe20, 0x2c359: 0x6ce60020, 0x2c35a: 0x6d148020, 0x2c35b: 0x6d148220, + 0x2c35c: 0x6d148420, 0x2c35d: 0x6d148620, 0x2c35e: 0x6d148820, 0x2c35f: 0x6d148a20, + 0x2c360: 0x6d426c20, 0x2c361: 0x6d426e20, 0x2c362: 0x6d427020, 0x2c363: 0x6d427220, + 0x2c364: 0x6d6f8820, 0x2c365: 0x6d6f8a20, 0x2c366: 0x6d6f8c20, 0x2c367: 0x6d989220, + 0x2c368: 0x6d989420, 0x2c369: 0x6d6f8e20, 0x2c36a: 0x6d989620, 0x2c36b: 0x6dbb8c20, + 0x2c36c: 0x6dbb8e20, 0x2c36d: 0x6dbb9020, 0x2c36e: 0x6df1a220, 0x2c36f: 0x6e05da20, + 0x2c370: 0x6e169020, 0x2c371: 0x6c8a3020, 0x2c372: 0x6cb66020, 0x2c373: 0x6cb66220, + 0x2c374: 0x6ce68a20, 0x2c375: 0x6ce68c20, 0x2c376: 0x6ce68e20, 0x2c377: 0x6d14e020, + 0x2c378: 0x6d14e220, 0x2c379: 0x6d14e420, 0x2c37a: 0x6d14e620, 0x2c37b: 0x6d42d020, + 0x2c37c: 0x6d6fcc20, 0x2c37d: 0x6d6fce20, 0x2c37e: 0x6d98c820, 0x2c37f: 0x6d98ca20, + // Block 0xb0e, offset 0x2c380 + 0x2c380: 0x6d8a5620, 0x2c381: 0x6dbbb620, 0x2c382: 0x6dbbb820, 0x2c383: 0x6dd98a20, + 0x2c384: 0x6df1ae20, 0x2c385: 0x6e05ee20, 0x2c386: 0x6e05f020, 0x2c387: 0x6e05f220, + 0x2c388: 0x6e23be20, 0x2c389: 0x6e3afa20, 0x2c38a: 0x6e464620, 0x2c38b: 0x6cb67c20, + 0x2c38c: 0x6ce6be20, 0x2c38d: 0x6ce6c020, 0x2c38e: 0x6d151820, 0x2c38f: 0x6d430c20, + 0x2c390: 0x6d430e20, 0x2c391: 0x6d431020, 0x2c392: 0x6d431220, 0x2c393: 0x6d431420, + 0x2c394: 0x6d431620, 0x2c395: 0x6d431820, 0x2c396: 0x6d431a20, 0x2c397: 0x6d6ffc20, + 0x2c398: 0x6d6ffe20, 0x2c399: 0x6d700020, 0x2c39a: 0x6d990e20, 0x2c39b: 0x6d991020, + 0x2c39c: 0x6d991220, 0x2c39d: 0x6d991420, 0x2c39e: 0x6dbbec20, 0x2c39f: 0x6dbbee20, + 0x2c3a0: 0x6dbbf020, 0x2c3a1: 0x6dbbf220, 0x2c3a2: 0x6dbbf420, 0x2c3a3: 0x6dbbf620, + 0x2c3a4: 0x6dbbf820, 0x2c3a5: 0x6dd9be20, 0x2c3a6: 0x6dd9c020, 0x2c3a7: 0x6dd9c220, + 0x2c3a8: 0x6dd9c420, 0x2c3a9: 0x6dd9c620, 0x2c3aa: 0x6dd9c820, 0x2c3ab: 0x6df1d420, + 0x2c3ac: 0x6df1d620, 0x2c3ad: 0x6df1d820, 0x2c3ae: 0x6df1da20, 0x2c3af: 0x6df1dc20, + 0x2c3b0: 0x6e061a20, 0x2c3b1: 0x6e061c20, 0x2c3b2: 0x6e23d220, 0x2c3b3: 0x6e23d420, + 0x2c3b4: 0x6e23d620, 0x2c3b5: 0x6e2de620, 0x2c3b6: 0x6e2de820, 0x2c3b7: 0x6e358e20, + 0x2c3b8: 0x6e3b0220, 0x2c3b9: 0x6e416620, 0x2c3ba: 0x6e46f020, 0x2c3bb: 0x6e473e20, + 0x2c3bc: 0x6e240c20, 0x2c3bd: 0x6cb69c20, 0x2c3be: 0x6cb69e20, 0x2c3bf: 0x6ce6fe20, + // Block 0xb0f, offset 0x2c3c0 + 0x2c3c0: 0x6d705020, 0x2c3c1: 0x6e067220, 0x2c3c2: 0x6d156820, 0x2c3c3: 0x6d156a20, + 0x2c3c4: 0x6d156c20, 0x2c3c5: 0x6d435c20, 0x2c3c6: 0x6d435e20, 0x2c3c7: 0x6d436020, + 0x2c3c8: 0x6d998620, 0x2c3c9: 0x6d998820, 0x2c3ca: 0x6dbc5620, 0x2c3cb: 0x6e067c20, + 0x2c3cc: 0x6e16f020, 0x2c3cd: 0x6e16f220, 0x2c3ce: 0x6e240e20, 0x2c3cf: 0x6e35b420, + 0x2c3d0: 0x6ce71820, 0x2c3d1: 0x6ce71a20, 0x2c3d2: 0x6ce71c20, 0x2c3d3: 0x6d157c20, + 0x2c3d4: 0x6d157e20, 0x2c3d5: 0x6d158020, 0x2c3d6: 0x6d158220, 0x2c3d7: 0x6d158420, + 0x2c3d8: 0x6d158620, 0x2c3d9: 0x6d437e20, 0x2c3da: 0x6d438020, 0x2c3db: 0x6d438220, + 0x2c3dc: 0x6d438420, 0x2c3dd: 0x6d438620, 0x2c3de: 0x6d438820, 0x2c3df: 0x6d707220, + 0x2c3e0: 0x6d99a220, 0x2c3e1: 0x6d99a420, 0x2c3e2: 0x6d99a620, 0x2c3e3: 0x6d99a820, + 0x2c3e4: 0x6d99aa20, 0x2c3e5: 0x6d99ac20, 0x2c3e6: 0x6d99ae20, 0x2c3e7: 0x6d99b020, + 0x2c3e8: 0x6dbc6620, 0x2c3e9: 0x6dbc6820, 0x2c3ea: 0x6dbc6a20, 0x2c3eb: 0x6dbc6c20, + 0x2c3ec: 0x6dbc6e20, 0x2c3ed: 0x6dbc7020, 0x2c3ee: 0x6dbc7220, 0x2c3ef: 0x6dda3020, + 0x2c3f0: 0x6dda3220, 0x2c3f1: 0x6dda3420, 0x2c3f2: 0x6dda3620, 0x2c3f3: 0x6dda3820, + 0x2c3f4: 0x6dda3a20, 0x2c3f5: 0x6dda3c20, 0x2c3f6: 0x6df24220, 0x2c3f7: 0x6df24420, + 0x2c3f8: 0x6df24620, 0x2c3f9: 0x6df24820, 0x2c3fa: 0x6df24a20, 0x2c3fb: 0x6df24c20, + 0x2c3fc: 0x6e068a20, 0x2c3fd: 0x6e068c20, 0x2c3fe: 0x6e068e20, 0x2c3ff: 0x6e170a20, + // Block 0xb10, offset 0x2c400 + 0x2c400: 0x6e170c20, 0x2c401: 0x6e170e20, 0x2c402: 0x6e171020, 0x2c403: 0x6e171220, + 0x2c404: 0x6e171420, 0x2c405: 0x6e241420, 0x2c406: 0x6e241620, 0x2c407: 0x6e2e0a20, + 0x2c408: 0x6e2e0c20, 0x2c409: 0x6e35ba20, 0x2c40a: 0x6e3b2020, 0x2c40b: 0x6e3b2220, + 0x2c40c: 0x6e3edc20, 0x2c40d: 0x6e3ede20, 0x2c40e: 0x6e417620, 0x2c40f: 0x6d15c620, + 0x2c410: 0x6d43d820, 0x2c411: 0x6d43da20, 0x2c412: 0x6d43dc20, 0x2c413: 0x6d43de20, + 0x2c414: 0x6d99ec20, 0x2c415: 0x6dbcc420, 0x2c416: 0x6ddaa420, 0x2c417: 0x6ddaa620, + 0x2c418: 0x6ddaa820, 0x2c419: 0x6df2a420, 0x2c41a: 0x6df2a620, 0x2c41b: 0x6e174020, + 0x2c41c: 0x6e244620, 0x2c41d: 0x6e2e2c20, 0x2c41e: 0x6d15de20, 0x2c41f: 0x6d70e020, + 0x2c420: 0x6dbce820, 0x2c421: 0x6df2c220, 0x2c422: 0x6df2c420, 0x2c423: 0x6e06ea20, + 0x2c424: 0x6e175620, 0x2c425: 0x6e2e3620, 0x2c426: 0x6ce73c20, 0x2c427: 0x6ce73e20, + 0x2c428: 0x6ce74020, 0x2c429: 0x6d15e620, 0x2c42a: 0x6d440220, 0x2c42b: 0x6d9a0820, + 0x2c42c: 0x6d9a0a20, 0x2c42d: 0x6ddaca20, 0x2c42e: 0x6df2cc20, 0x2c42f: 0x6df2ce20, + 0x2c430: 0x6e245c20, 0x2c431: 0x6ce74420, 0x2c432: 0x6ce74620, 0x2c433: 0x6d15f420, + 0x2c434: 0x6d15f620, 0x2c435: 0x6d15f820, 0x2c436: 0x6d441420, 0x2c437: 0x6d441620, + 0x2c438: 0x6d441820, 0x2c439: 0x6d441a20, 0x2c43a: 0x6d441c20, 0x2c43b: 0x6d441e20, + 0x2c43c: 0x6d442020, 0x2c43d: 0x6d442220, 0x2c43e: 0x6d442420, 0x2c43f: 0x6d70f820, + // Block 0xb11, offset 0x2c440 + 0x2c440: 0x6d70fa20, 0x2c441: 0x6d70fc20, 0x2c442: 0x6d70fe20, 0x2c443: 0x6d9a1a20, + 0x2c444: 0x6d9a1c20, 0x2c445: 0x6d9a1e20, 0x2c446: 0x6d9a2020, 0x2c447: 0x6d9a2220, + 0x2c448: 0x6d9a2420, 0x2c449: 0x6d9a2620, 0x2c44a: 0x6d9a2820, 0x2c44b: 0x6dbcfa20, + 0x2c44c: 0x6dbcfc20, 0x2c44d: 0x6dbcfe20, 0x2c44e: 0x6dbd0020, 0x2c44f: 0x6dbd0220, + 0x2c450: 0x6dbd0420, 0x2c451: 0x6dbd0620, 0x2c452: 0x6dbd0820, 0x2c453: 0x6dbd0a20, + 0x2c454: 0x6ddadc20, 0x2c455: 0x6ddade20, 0x2c456: 0x6ddae020, 0x2c457: 0x6ddae220, + 0x2c458: 0x6ddae420, 0x2c459: 0x6ddae620, 0x2c45a: 0x6ddae820, 0x2c45b: 0x6ddaea20, + 0x2c45c: 0x6ddaec20, 0x2c45d: 0x6ddaee20, 0x2c45e: 0x6df2dc20, 0x2c45f: 0x6df2de20, + 0x2c460: 0x6df2e020, 0x2c461: 0x6df2e220, 0x2c462: 0x6df2e420, 0x2c463: 0x6df2e620, + 0x2c464: 0x6df2e820, 0x2c465: 0x6df2ea20, 0x2c466: 0x6df2ec20, 0x2c467: 0x6df2ee20, + 0x2c468: 0x6e070620, 0x2c469: 0x6e070820, 0x2c46a: 0x6e070a20, 0x2c46b: 0x6e070c20, + 0x2c46c: 0x6e176620, 0x2c46d: 0x6e176820, 0x2c46e: 0x6e176a20, 0x2c46f: 0x6e176c20, + 0x2c470: 0x6e176e20, 0x2c471: 0x6e177020, 0x2c472: 0x6e246820, 0x2c473: 0x6e246a20, + 0x2c474: 0x6e246c20, 0x2c475: 0x6e35da20, 0x2c476: 0x6e35dc20, 0x2c477: 0x6e3b3620, + 0x2c478: 0x6cb6cc20, 0x2c479: 0x6ce77820, 0x2c47a: 0x6d165020, 0x2c47b: 0x6d165220, + 0x2c47c: 0x6d165420, 0x2c47d: 0x6d165620, 0x2c47e: 0x6d447e20, 0x2c47f: 0x6d448020, + // Block 0xb12, offset 0x2c480 + 0x2c480: 0x6d448220, 0x2c481: 0x6d448420, 0x2c482: 0x6d448620, 0x2c483: 0x6d448820, + 0x2c484: 0x6d716c20, 0x2c485: 0x6d716e20, 0x2c486: 0x6d9abc20, 0x2c487: 0x6d9abe20, + 0x2c488: 0x6d9ac020, 0x2c489: 0x6d9ac220, 0x2c48a: 0x6d9ac420, 0x2c48b: 0x6dbd6c20, + 0x2c48c: 0x6dbd6e20, 0x2c48d: 0x6dbd7020, 0x2c48e: 0x6dbd7220, 0x2c48f: 0x6dbd7420, + 0x2c490: 0x6dbd7620, 0x2c491: 0x6ddb4220, 0x2c492: 0x6ddb4420, 0x2c493: 0x6ddb4620, + 0x2c494: 0x6ddb4820, 0x2c495: 0x6ddb4a20, 0x2c496: 0x6ddb4c20, 0x2c497: 0x6ddb4e20, + 0x2c498: 0x6df33c20, 0x2c499: 0x6df33e20, 0x2c49a: 0x6df34020, 0x2c49b: 0x6e074a20, + 0x2c49c: 0x6e074c20, 0x2c49d: 0x6e17ae20, 0x2c49e: 0x6e2e6e20, 0x2c49f: 0x6e35f220, + 0x2c4a0: 0x6dbdbc20, 0x2c4a1: 0x6ddb8620, 0x2c4a2: 0x6cb6d620, 0x2c4a3: 0x6ce79820, + 0x2c4a4: 0x6ce79a20, 0x2c4a5: 0x6ce79c20, 0x2c4a6: 0x6d168a20, 0x2c4a7: 0x6d168c20, + 0x2c4a8: 0x6d168e20, 0x2c4a9: 0x6d169020, 0x2c4aa: 0x6d169220, 0x2c4ab: 0x6d44c220, + 0x2c4ac: 0x6d44c420, 0x2c4ad: 0x6d44c620, 0x2c4ae: 0x6d44c820, 0x2c4af: 0x6d44ca20, + 0x2c4b0: 0x6d44cc20, 0x2c4b1: 0x6d44ce20, 0x2c4b2: 0x6d44d020, 0x2c4b3: 0x6d44d220, + 0x2c4b4: 0x6d44d420, 0x2c4b5: 0x6d719820, 0x2c4b6: 0x6d719a20, 0x2c4b7: 0x6d719c20, + 0x2c4b8: 0x6d719e20, 0x2c4b9: 0x6d71a020, 0x2c4ba: 0x6d71a220, 0x2c4bb: 0x6d71a420, + 0x2c4bc: 0x6d9afa20, 0x2c4bd: 0x6d9afc20, 0x2c4be: 0x6d9afe20, 0x2c4bf: 0x6d9b0020, + // Block 0xb13, offset 0x2c4c0 + 0x2c4c0: 0x6d9b0220, 0x2c4c1: 0x6d9b0420, 0x2c4c2: 0x6d9b0620, 0x2c4c3: 0x6dbdc020, + 0x2c4c4: 0x6dbdc220, 0x2c4c5: 0x6dbdc420, 0x2c4c6: 0x6dbdc620, 0x2c4c7: 0x6dbdc820, + 0x2c4c8: 0x6ddb8a20, 0x2c4c9: 0x6ddb8c20, 0x2c4ca: 0x6ddb8e20, 0x2c4cb: 0x6ddb9020, + 0x2c4cc: 0x6ddb9220, 0x2c4cd: 0x6ddb9420, 0x2c4ce: 0x6ddb9620, 0x2c4cf: 0x6ddb9820, + 0x2c4d0: 0x6df37e20, 0x2c4d1: 0x6df38020, 0x2c4d2: 0x6df38220, 0x2c4d3: 0x6df38420, + 0x2c4d4: 0x6df38620, 0x2c4d5: 0x6e076e20, 0x2c4d6: 0x6e077020, 0x2c4d7: 0x6e077220, + 0x2c4d8: 0x6e17e220, 0x2c4d9: 0x6e17e420, 0x2c4da: 0x6e17e620, 0x2c4db: 0x6e17e820, + 0x2c4dc: 0x6e17ea20, 0x2c4dd: 0x6e24a620, 0x2c4de: 0x6e24a820, 0x2c4df: 0x6e24aa20, + 0x2c4e0: 0x6e24ac20, 0x2c4e1: 0x6e2e7a20, 0x2c4e2: 0x6e2e7c20, 0x2c4e3: 0x6e2e7e20, + 0x2c4e4: 0x6e2e8020, 0x2c4e5: 0x6e360020, 0x2c4e6: 0x6e3f0420, 0x2c4e7: 0x6e3f0620, + 0x2c4e8: 0x6e419620, 0x2c4e9: 0x6e437420, 0x2c4ea: 0x6e182020, 0x2c4eb: 0x6d720820, + 0x2c4ec: 0x6d720a20, 0x2c4ed: 0x6ddbfa20, 0x2c4ee: 0x6df3e420, 0x2c4ef: 0x6d453420, + 0x2c4f0: 0x6dbe5020, 0x2c4f1: 0x6dbe5220, 0x2c4f2: 0x6dbe5420, 0x2c4f3: 0x6e419e20, + 0x2c4f4: 0x6ce7f020, 0x2c4f5: 0x6d171020, 0x2c4f6: 0x6d171220, 0x2c4f7: 0x6d454820, + 0x2c4f8: 0x6d454a20, 0x2c4f9: 0x6d454c20, 0x2c4fa: 0x6d454e20, 0x2c4fb: 0x6d455020, + 0x2c4fc: 0x6d455220, 0x2c4fd: 0x6d455420, 0x2c4fe: 0x6d455620, 0x2c4ff: 0x6d722420, + // Block 0xb14, offset 0x2c500 + 0x2c500: 0x6d722620, 0x2c501: 0x6d722820, 0x2c502: 0x6d722a20, 0x2c503: 0x6d722c20, + 0x2c504: 0x6d722e20, 0x2c505: 0x6d723020, 0x2c506: 0x6d9baa20, 0x2c507: 0x6d9bac20, + 0x2c508: 0x6d9bae20, 0x2c509: 0x6d9bb020, 0x2c50a: 0x6d9bb220, 0x2c50b: 0x6d9bb420, + 0x2c50c: 0x6d9bb620, 0x2c50d: 0x6d9bb820, 0x2c50e: 0x6dbe6620, 0x2c50f: 0x6dbe6820, + 0x2c510: 0x6dbe6a20, 0x2c511: 0x6dbe6c20, 0x2c512: 0x6dbe6e20, 0x2c513: 0x6ddc1620, + 0x2c514: 0x6ddc1820, 0x2c515: 0x6ddc1a20, 0x2c516: 0x6ddc1c20, 0x2c517: 0x6ddc1e20, + 0x2c518: 0x6ddc2020, 0x2c519: 0x6ddc2220, 0x2c51a: 0x6ddc2420, 0x2c51b: 0x6ddc2620, + 0x2c51c: 0x6df3fc20, 0x2c51d: 0x6df3fe20, 0x2c51e: 0x6df40020, 0x2c51f: 0x6df40220, + 0x2c520: 0x6df40420, 0x2c521: 0x6df40620, 0x2c522: 0x6df40820, 0x2c523: 0x6e07d820, + 0x2c524: 0x6e07da20, 0x2c525: 0x6e07dc20, 0x2c526: 0x6e07de20, 0x2c527: 0x6e07e020, + 0x2c528: 0x6e07e220, 0x2c529: 0x6e07e420, 0x2c52a: 0x6e183220, 0x2c52b: 0x6e183420, + 0x2c52c: 0x6e183620, 0x2c52d: 0x6e183820, 0x2c52e: 0x6e183a20, 0x2c52f: 0x6e183c20, + 0x2c530: 0x6e183e20, 0x2c531: 0x6e184020, 0x2c532: 0x6e24e420, 0x2c533: 0x6e24e620, + 0x2c534: 0x6e24e820, 0x2c535: 0x6e24ea20, 0x2c536: 0x6e24ec20, 0x2c537: 0x6e2e9e20, + 0x2c538: 0x6e2ea020, 0x2c539: 0x6e2ea220, 0x2c53a: 0x6e361c20, 0x2c53b: 0x6e361e20, + 0x2c53c: 0x6e362020, 0x2c53d: 0x6e3b5620, 0x2c53e: 0x6e3f1220, 0x2c53f: 0x6e41a220, + // Block 0xb15, offset 0x2c540 + 0x2c540: 0x6e437820, 0x2c541: 0x6e44c020, 0x2c542: 0x6e46b820, 0x2c543: 0x6d9c3020, + 0x2c544: 0x6dbec220, 0x2c545: 0x6e086c20, 0x2c546: 0x6cb72e20, 0x2c547: 0x6ce82a20, + 0x2c548: 0x6d45b820, 0x2c549: 0x6d45ba20, 0x2c54a: 0x6d72b220, 0x2c54b: 0x6d72b420, + 0x2c54c: 0x6d72b620, 0x2c54d: 0x6d72b820, 0x2c54e: 0x6d72ba20, 0x2c54f: 0x6d9c3620, + 0x2c550: 0x6d9c3820, 0x2c551: 0x6d9c3a20, 0x2c552: 0x6d9c3c20, 0x2c553: 0x6d9c3e20, + 0x2c554: 0x6d9c4020, 0x2c555: 0x6dbec620, 0x2c556: 0x6dbec820, 0x2c557: 0x6dbeca20, + 0x2c558: 0x6dbecc20, 0x2c559: 0x6dbece20, 0x2c55a: 0x6dbed020, 0x2c55b: 0x6ddca820, + 0x2c55c: 0x6ddcaa20, 0x2c55d: 0x6df48420, 0x2c55e: 0x6df48620, 0x2c55f: 0x6df48820, + 0x2c560: 0x6df48a20, 0x2c561: 0x6e087420, 0x2c562: 0x6e189220, 0x2c563: 0x6e254420, + 0x2c564: 0x6e2ee420, 0x2c565: 0x6e364220, 0x2c566: 0x6e3b7220, 0x2c567: 0x6ce83e20, + 0x2c568: 0x6d177220, 0x2c569: 0x6d45e420, 0x2c56a: 0x6df4a420, 0x2c56b: 0x6e256220, + 0x2c56c: 0x6e3b7e20, 0x2c56d: 0x6ce84220, 0x2c56e: 0x6ce84420, 0x2c56f: 0x6d45fa20, + 0x2c570: 0x6d45fc20, 0x2c571: 0x6d45fe20, 0x2c572: 0x6d460020, 0x2c573: 0x6d460220, + 0x2c574: 0x6d460420, 0x2c575: 0x6d72ee20, 0x2c576: 0x6d72f020, 0x2c577: 0x6d9c7c20, + 0x2c578: 0x6d9c7e20, 0x2c579: 0x6dbf0c20, 0x2c57a: 0x6dbf0e20, 0x2c57b: 0x6dbf1020, + 0x2c57c: 0x6dbf1220, 0x2c57d: 0x6ddce420, 0x2c57e: 0x6ddce620, 0x2c57f: 0x6ddce820, + // Block 0xb16, offset 0x2c580 + 0x2c580: 0x6ddcea20, 0x2c581: 0x6ddcec20, 0x2c582: 0x6ddcee20, 0x2c583: 0x6ddcf020, + 0x2c584: 0x6df4aa20, 0x2c585: 0x6df4ac20, 0x2c586: 0x6df4ae20, 0x2c587: 0x6df4b020, + 0x2c588: 0x6e08aa20, 0x2c589: 0x6e08ac20, 0x2c58a: 0x6e08ae20, 0x2c58b: 0x6e08b020, + 0x2c58c: 0x6e18b020, 0x2c58d: 0x6e18b220, 0x2c58e: 0x6e256a20, 0x2c58f: 0x6e365420, + 0x2c590: 0x6e365620, 0x2c591: 0x6e365820, 0x2c592: 0x6e365a20, 0x2c593: 0x6e3b8220, + 0x2c594: 0x6e3b8420, 0x2c595: 0x6e3f3020, 0x2c596: 0x6e44c820, 0x2c597: 0x6e08ec20, + 0x2c598: 0x6e18e820, 0x2c599: 0x6d464420, 0x2c59a: 0x6d464620, 0x2c59b: 0x6d734c20, + 0x2c59c: 0x6d9cc620, 0x2c59d: 0x6e25ac20, 0x2c59e: 0x6e3b9c20, 0x2c59f: 0x6d464e20, + 0x2c5a0: 0x6d735420, 0x2c5a1: 0x6d735620, 0x2c5a2: 0x6d9cda20, 0x2c5a3: 0x6d9cdc20, + 0x2c5a4: 0x6ddd4e20, 0x2c5a5: 0x6ddd5020, 0x2c5a6: 0x6ddd5220, 0x2c5a7: 0x6ddd5420, + 0x2c5a8: 0x6df50420, 0x2c5a9: 0x6df50620, 0x2c5aa: 0x6e090020, 0x2c5ab: 0x6e25b820, + 0x2c5ac: 0x6e25ba20, 0x2c5ad: 0x6e25bc20, 0x2c5ae: 0x6e2f3420, 0x2c5af: 0x6e368620, + 0x2c5b0: 0x6e368820, 0x2c5b1: 0x6e46ba20, 0x2c5b2: 0x6ce86c20, 0x2c5b3: 0x6d17c420, + 0x2c5b4: 0x6d468c20, 0x2c5b5: 0x6d468e20, 0x2c5b6: 0x6d469020, 0x2c5b7: 0x6d738620, + 0x2c5b8: 0x6d738820, 0x2c5b9: 0x6d738a20, 0x2c5ba: 0x6d738c20, 0x2c5bb: 0x6d738e20, + 0x2c5bc: 0x6d739020, 0x2c5bd: 0x6d739220, 0x2c5be: 0x6d739420, 0x2c5bf: 0x6d9d0e20, + // Block 0xb17, offset 0x2c5c0 + 0x2c5c0: 0x6d9d1020, 0x2c5c1: 0x6d9d1220, 0x2c5c2: 0x6d9d1420, 0x2c5c3: 0x6d9d1620, + 0x2c5c4: 0x6d9d1820, 0x2c5c5: 0x6d9d1a20, 0x2c5c6: 0x6d9d1c20, 0x2c5c7: 0x6d9d1e20, + 0x2c5c8: 0x6d9d2020, 0x2c5c9: 0x6d9d2220, 0x2c5ca: 0x6dbf9220, 0x2c5cb: 0x6dbf9420, + 0x2c5cc: 0x6dbf9620, 0x2c5cd: 0x6dbf9820, 0x2c5ce: 0x6dbf9a20, 0x2c5cf: 0x6ddd8420, + 0x2c5d0: 0x6ddd8620, 0x2c5d1: 0x6ddd8820, 0x2c5d2: 0x6ddd8a20, 0x2c5d3: 0x6ddd8c20, + 0x2c5d4: 0x6ddd8e20, 0x2c5d5: 0x6ddd9020, 0x2c5d6: 0x6ddd9220, 0x2c5d7: 0x6ddd9420, + 0x2c5d8: 0x6ddd9620, 0x2c5d9: 0x6df51e20, 0x2c5da: 0x6df52020, 0x2c5db: 0x6df52220, + 0x2c5dc: 0x6df52420, 0x2c5dd: 0x6df52620, 0x2c5de: 0x6df52820, 0x2c5df: 0x6df52a20, + 0x2c5e0: 0x6df52c20, 0x2c5e1: 0x6df52e20, 0x2c5e2: 0x6df53020, 0x2c5e3: 0x6df53220, + 0x2c5e4: 0x6df53420, 0x2c5e5: 0x6df53620, 0x2c5e6: 0x6df53820, 0x2c5e7: 0x6df53a20, + 0x2c5e8: 0x6df53c20, 0x2c5e9: 0x6df53e20, 0x2c5ea: 0x6df54020, 0x2c5eb: 0x6e091e20, + 0x2c5ec: 0x6e092020, 0x2c5ed: 0x6e092220, 0x2c5ee: 0x6e092420, 0x2c5ef: 0x6e092620, + 0x2c5f0: 0x6e092820, 0x2c5f1: 0x6e092a20, 0x2c5f2: 0x6e092c20, 0x2c5f3: 0x6e092e20, + 0x2c5f4: 0x6e093020, 0x2c5f5: 0x6e193420, 0x2c5f6: 0x6e193620, 0x2c5f7: 0x6e193820, + 0x2c5f8: 0x6e193a20, 0x2c5f9: 0x6e193c20, 0x2c5fa: 0x6e193e20, 0x2c5fb: 0x6e194020, + 0x2c5fc: 0x6e194220, 0x2c5fd: 0x6e194420, 0x2c5fe: 0x6e25c820, 0x2c5ff: 0x6e25ca20, + // Block 0xb18, offset 0x2c600 + 0x2c600: 0x6e25cc20, 0x2c601: 0x6e25ce20, 0x2c602: 0x6e25d020, 0x2c603: 0x6e25d220, + 0x2c604: 0x6e25d420, 0x2c605: 0x6e25d620, 0x2c606: 0x6e25d820, 0x2c607: 0x6e25da20, + 0x2c608: 0x6e25dc20, 0x2c609: 0x6e2f4820, 0x2c60a: 0x6e2f4a20, 0x2c60b: 0x6e2f4c20, + 0x2c60c: 0x6e2f4e20, 0x2c60d: 0x6e2f5020, 0x2c60e: 0x6e2f5220, 0x2c60f: 0x6e2f5420, + 0x2c610: 0x6e369a20, 0x2c611: 0x6e369c20, 0x2c612: 0x6e369e20, 0x2c613: 0x6e36a020, + 0x2c614: 0x6e36a220, 0x2c615: 0x6e36a420, 0x2c616: 0x6e3ba620, 0x2c617: 0x6e3ba820, + 0x2c618: 0x6e3baa20, 0x2c619: 0x6e3f5220, 0x2c61a: 0x6e41d620, 0x2c61b: 0x6e41d820, + 0x2c61c: 0x6e473220, 0x2c61d: 0x6d740a20, 0x2c61e: 0x6d9dac20, 0x2c61f: 0x6d9dae20, + 0x2c620: 0x6e09e820, 0x2c621: 0x6e09ea20, 0x2c622: 0x6e19f220, 0x2c623: 0x6e19f420, + 0x2c624: 0x6e19f620, 0x2c625: 0x6d180620, 0x2c626: 0x6d46e820, 0x2c627: 0x6d46ea20, + 0x2c628: 0x6d46ec20, 0x2c629: 0x6d46ee20, 0x2c62a: 0x6d46f020, 0x2c62b: 0x6d46f220, + 0x2c62c: 0x6d743620, 0x2c62d: 0x6d743820, 0x2c62e: 0x6d743a20, 0x2c62f: 0x6d743c20, + 0x2c630: 0x6d743e20, 0x2c631: 0x6d744020, 0x2c632: 0x6d744220, 0x2c633: 0x6d744420, + 0x2c634: 0x6d744620, 0x2c635: 0x6d744820, 0x2c636: 0x6d744a20, 0x2c637: 0x6d744c20, + 0x2c638: 0x6d744e20, 0x2c639: 0x6d9de220, 0x2c63a: 0x6d9de420, 0x2c63b: 0x6d9de620, + 0x2c63c: 0x6d9de820, 0x2c63d: 0x6d9dea20, 0x2c63e: 0x6d9dec20, 0x2c63f: 0x6d9dee20, + // Block 0xb19, offset 0x2c640 + 0x2c640: 0x6d9df020, 0x2c641: 0x6d9df220, 0x2c642: 0x6d9df420, 0x2c643: 0x6d9df620, + 0x2c644: 0x6d9df820, 0x2c645: 0x6d9dfa20, 0x2c646: 0x6d9dfc20, 0x2c647: 0x6d9dfe20, + 0x2c648: 0x6d9e0020, 0x2c649: 0x6d9e0220, 0x2c64a: 0x6d9e0420, 0x2c64b: 0x6dc06c20, + 0x2c64c: 0x6dc06e20, 0x2c64d: 0x6dc07020, 0x2c64e: 0x6dc07220, 0x2c64f: 0x6dc07420, + 0x2c650: 0x6dc07620, 0x2c651: 0x6dc07820, 0x2c652: 0x6dc07a20, 0x2c653: 0x6dc07c20, + 0x2c654: 0x6dc07e20, 0x2c655: 0x6dde3e20, 0x2c656: 0x6dde4020, 0x2c657: 0x6dde4220, + 0x2c658: 0x6dde4420, 0x2c659: 0x6dde4620, 0x2c65a: 0x6dde4820, 0x2c65b: 0x6dde4a20, + 0x2c65c: 0x6dde4c20, 0x2c65d: 0x6df63a20, 0x2c65e: 0x6df63c20, 0x2c65f: 0x6df63e20, + 0x2c660: 0x6df64020, 0x2c661: 0x6df64220, 0x2c662: 0x6df64420, 0x2c663: 0x6df64620, + 0x2c664: 0x6df64820, 0x2c665: 0x6df64a20, 0x2c666: 0x6e09f820, 0x2c667: 0x6e09fa20, + 0x2c668: 0x6e09fc20, 0x2c669: 0x6e09fe20, 0x2c66a: 0x6e0a0020, 0x2c66b: 0x6e0a0220, + 0x2c66c: 0x6e0a0420, 0x2c66d: 0x6e0a0620, 0x2c66e: 0x6e0a0820, 0x2c66f: 0x6e0a0a20, + 0x2c670: 0x6e0a0c20, 0x2c671: 0x6e1a0420, 0x2c672: 0x6e1a0620, 0x2c673: 0x6e1a0820, + 0x2c674: 0x6e1a0a20, 0x2c675: 0x6e1a0c20, 0x2c676: 0x6e1a0e20, 0x2c677: 0x6e267820, + 0x2c678: 0x6e267a20, 0x2c679: 0x6e267c20, 0x2c67a: 0x6e267e20, 0x2c67b: 0x6e268020, + 0x2c67c: 0x6e268220, 0x2c67d: 0x6e268420, 0x2c67e: 0x6e2fe020, 0x2c67f: 0x6e2fe220, + // Block 0xb1a, offset 0x2c680 + 0x2c680: 0x6e2fe420, 0x2c681: 0x6e2fe620, 0x2c682: 0x6e2fe820, 0x2c683: 0x6e2fea20, + 0x2c684: 0x6e2fec20, 0x2c685: 0x6e2fee20, 0x2c686: 0x6e2ff020, 0x2c687: 0x6e371820, + 0x2c688: 0x6e371a20, 0x2c689: 0x6e371c20, 0x2c68a: 0x6e371e20, 0x2c68b: 0x6e372020, + 0x2c68c: 0x6e3be620, 0x2c68d: 0x6e3be820, 0x2c68e: 0x6e3f8620, 0x2c68f: 0x6e41f820, + 0x2c690: 0x6e45fe20, 0x2c691: 0x6e46bc20, 0x2c692: 0x6e46d420, 0x2c693: 0x6d74de20, + 0x2c694: 0x6dc13420, 0x2c695: 0x6dc13620, 0x2c696: 0x6df72e20, 0x2c697: 0x6e0ad420, + 0x2c698: 0x6e1ac220, 0x2c699: 0x6e378a20, 0x2c69a: 0x6d74fe20, 0x2c69b: 0x6ddef020, + 0x2c69c: 0x6e1ac420, 0x2c69d: 0x6e30a820, 0x2c69e: 0x6e3c3220, 0x2c69f: 0x6d474a20, + 0x2c6a0: 0x6d750c20, 0x2c6a1: 0x6d750e20, 0x2c6a2: 0x6d751020, 0x2c6a3: 0x6d9edc20, + 0x2c6a4: 0x6d9ede20, 0x2c6a5: 0x6d9ee020, 0x2c6a6: 0x6ddefa20, 0x2c6a7: 0x6df74620, + 0x2c6a8: 0x6e1ad420, 0x2c6a9: 0x6e274220, 0x2c6aa: 0x6e379620, 0x2c6ab: 0x6e379820, + 0x2c6ac: 0x6d475020, 0x2c6ad: 0x6d475220, 0x2c6ae: 0x6d475420, 0x2c6af: 0x6d753020, + 0x2c6b0: 0x6d753220, 0x2c6b1: 0x6d9efe20, 0x2c6b2: 0x6d9f0020, 0x2c6b3: 0x6d9f0220, + 0x2c6b4: 0x6d9f0420, 0x2c6b5: 0x6dc16e20, 0x2c6b6: 0x6ddf2820, 0x2c6b7: 0x6ddf2a20, + 0x2c6b8: 0x6ddf2c20, 0x2c6b9: 0x6df76a20, 0x2c6ba: 0x6df76c20, 0x2c6bb: 0x6df76e20, + 0x2c6bc: 0x6df77020, 0x2c6bd: 0x6df77220, 0x2c6be: 0x6e1ae420, 0x2c6bf: 0x6e1ae620, + // Block 0xb1b, offset 0x2c6c0 + 0x2c6c0: 0x6e1ae820, 0x2c6c1: 0x6e275020, 0x2c6c2: 0x6e275220, 0x2c6c3: 0x6e30c820, + 0x2c6c4: 0x6e37a420, 0x2c6c5: 0x6e275420, 0x2c6c6: 0x6e3c4820, 0x2c6c7: 0x6d756220, + 0x2c6c8: 0x6e0b2620, 0x2c6c9: 0x6e0b2820, 0x2c6ca: 0x6d9f3220, 0x2c6cb: 0x6ddf5820, + 0x2c6cc: 0x6df7a420, 0x2c6cd: 0x6e0b3020, 0x2c6ce: 0x6e1afe20, 0x2c6cf: 0x6e30de20, + 0x2c6d0: 0x6e37b620, 0x2c6d1: 0x6d757e20, 0x2c6d2: 0x6d9f3a20, 0x2c6d3: 0x6d9f3c20, + 0x2c6d4: 0x6e0b3e20, 0x2c6d5: 0x6e0b4020, 0x2c6d6: 0x6e0b4220, 0x2c6d7: 0x6e1b0c20, + 0x2c6d8: 0x6e1b0e20, 0x2c6d9: 0x6e1b1020, 0x2c6da: 0x6e278220, 0x2c6db: 0x6e30e620, + 0x2c6dc: 0x6e3c4e20, 0x2c6dd: 0x6d187020, 0x2c6de: 0x6d477220, 0x2c6df: 0x6d758620, + 0x2c6e0: 0x6dc1bc20, 0x2c6e1: 0x6d9f4a20, 0x2c6e2: 0x6dc1be20, 0x2c6e3: 0x6dc1c020, + 0x2c6e4: 0x6ddf6a20, 0x2c6e5: 0x6ddf6c20, 0x2c6e6: 0x6ddf6e20, 0x2c6e7: 0x6ddf7020, + 0x2c6e8: 0x6df7c220, 0x2c6e9: 0x6df7c420, 0x2c6ea: 0x6e0b4e20, 0x2c6eb: 0x6e0b5020, + 0x2c6ec: 0x6e0b5220, 0x2c6ed: 0x6e1b1a20, 0x2c6ee: 0x6e1b1c20, 0x2c6ef: 0x6e1b1e20, + 0x2c6f0: 0x6e30f020, 0x2c6f1: 0x6e37c020, 0x2c6f2: 0x6e3c5220, 0x2c6f3: 0x6e3c5420, + 0x2c6f4: 0x6e3c5620, 0x2c6f5: 0x6e3fc620, 0x2c6f6: 0x6ddf8c20, 0x2c6f7: 0x6df7e220, + 0x2c6f8: 0x6e27ae20, 0x2c6f9: 0x6e37e420, 0x2c6fa: 0x6d9f7620, 0x2c6fb: 0x6e37e820, + 0x2c6fc: 0x6e37ea20, 0x2c6fd: 0x6ddfa420, 0x2c6fe: 0x6ddfa620, 0x2c6ff: 0x6ddfa820, + // Block 0xb1c, offset 0x2c700 + 0x2c700: 0x6df7f620, 0x2c701: 0x6e1b6c20, 0x2c702: 0x6d9f8020, 0x2c703: 0x6dc20020, + 0x2c704: 0x6ddfb620, 0x2c705: 0x6df80a20, 0x2c706: 0x6e1b7e20, 0x2c707: 0x6e27d620, + 0x2c708: 0x6e311820, 0x2c709: 0x6e311a20, 0x2c70a: 0x6ddfdc20, 0x2c70b: 0x6ddfde20, + 0x2c70c: 0x6df82020, 0x2c70d: 0x6e0bc420, 0x2c70e: 0x6e0bc620, 0x2c70f: 0x6e1b8820, + 0x2c710: 0x6e424c20, 0x2c711: 0x6e45a820, 0x2c712: 0x6dc22820, 0x2c713: 0x6dc22a20, + 0x2c714: 0x6ddff420, 0x2c715: 0x6df83a20, 0x2c716: 0x6df83c20, 0x2c717: 0x6e0bd420, + 0x2c718: 0x6e0bd620, 0x2c719: 0x6e0bd820, 0x2c71a: 0x6e1ba020, 0x2c71b: 0x6e1ba220, + 0x2c71c: 0x6e27fc20, 0x2c71d: 0x6e27fe20, 0x2c71e: 0x6e314620, 0x2c71f: 0x6e314820, + 0x2c720: 0x6e380c20, 0x2c721: 0x6e380e20, 0x2c722: 0x6e381020, 0x2c723: 0x6e3ca420, + 0x2c724: 0x6e3ca620, 0x2c725: 0x6e3fe620, 0x2c726: 0x6e3fe820, 0x2c727: 0x6e425620, + 0x2c728: 0x6e440420, 0x2c729: 0x6e450c20, 0x2c72a: 0x6e450e20, 0x2c72b: 0x6e46da20, + 0x2c72c: 0x6e283620, 0x2c72d: 0x6e0c2020, 0x2c72e: 0x6e0c2220, 0x2c72f: 0x6df86420, + 0x2c730: 0x6e0c2420, 0x2c731: 0x6e1be620, 0x2c732: 0x6e1be820, 0x2c733: 0x6e1bfe20, + 0x2c734: 0x6e3cd820, 0x2c735: 0x6e427e20, + // Block 0xb1d, offset 0x2c740 + 0x2c740: 0x6c000220, 0x2c741: 0x6c003220, 0x2c742: 0x6c003420, 0x2c743: 0x6c003620, + 0x2c744: 0x6c003820, 0x2c745: 0x6c003a20, 0x2c746: 0x6c003c20, 0x2c747: 0x6c00d820, + 0x2c748: 0x6c00da20, 0x2c749: 0x6c00dc20, 0x2c74a: 0x6c00de20, 0x2c74b: 0x6c00e020, + 0x2c74c: 0x6c00e220, 0x2c74d: 0x6c021a20, 0x2c74e: 0x6c021c20, 0x2c74f: 0x6c021e20, + 0x2c750: 0x6c022020, 0x2c751: 0x6c022220, 0x2c752: 0x6c022420, 0x2c753: 0x6c022620, + 0x2c754: 0x6c054020, 0x2c755: 0x6c054220, 0x2c756: 0x6c054420, 0x2c757: 0x6c053c20, + 0x2c758: 0x6c054620, 0x2c759: 0x6c054820, 0x2c75a: 0x6c054a20, 0x2c75b: 0x6c054c20, + 0x2c75c: 0x6c054e20, 0x2c75d: 0x6c055020, 0x2c75e: 0x6c0ad020, 0x2c75f: 0x6c0ad220, + 0x2c760: 0x6c0ad420, 0x2c761: 0x6c0ad620, 0x2c762: 0x6c0ad820, 0x2c763: 0x6c15e420, + 0x2c764: 0x6c15e620, 0x2c765: 0x6c15e820, 0x2c766: 0x6c28ae20, 0x2c767: 0x6c28b020, + 0x2c768: 0x6c000420, 0x2c769: 0x6c004420, 0x2c76a: 0x6c00fa20, 0x2c76b: 0x6c00fc20, + 0x2c76c: 0x6c04e220, 0x2c76d: 0x6c023620, 0x2c76e: 0x6c023820, 0x2c76f: 0x6c023a20, + 0x2c770: 0x6c023c20, 0x2c771: 0x6c056820, 0x2c772: 0x6c160020, 0x2c773: 0x6c28c420, + 0x2c774: 0x6c42f620, 0x2c775: 0x6c63d820, 0x2c776: 0x6c000620, 0x2c777: 0x6c004a20, + 0x2c778: 0x6c00fe20, 0x2c779: 0x6c024220, 0x2c77a: 0x6c024420, 0x2c77b: 0x6c056c20, + 0x2c77c: 0x6c056e20, 0x2c77d: 0x6c15ea20, 0x2c77e: 0x6c430020, 0x2c77f: 0x6c000820, + // Block 0xb1e, offset 0x2c780 + 0x2c780: 0x6c000a20, 0x2c781: 0x6c000c20, 0x2c782: 0x6c005020, 0x2c783: 0x6c005220, + 0x2c784: 0x6c005420, 0x2c785: 0x6c010620, 0x2c786: 0x6c010820, 0x2c787: 0x6c010a20, + 0x2c788: 0x6c010c20, 0x2c789: 0x6c010020, 0x2c78a: 0x6c010e20, 0x2c78b: 0x6c024820, + 0x2c78c: 0x6c024a20, 0x2c78d: 0x6c057420, 0x2c78e: 0x6c057620, 0x2c78f: 0x6c057820, + 0x2c790: 0x6c057a20, 0x2c791: 0x6c0af020, 0x2c792: 0x6c0af220, 0x2c793: 0x6c0af420, + 0x2c794: 0x6c0af620, 0x2c795: 0x6c160620, 0x2c796: 0x6c28d020, 0x2c797: 0x6c430220, + 0x2c798: 0x6c63e020, 0x2c799: 0x6c001020, 0x2c79a: 0x6c001220, 0x2c79b: 0x6c001420, + 0x2c79c: 0x6c006020, 0x2c79d: 0x6c006220, 0x2c79e: 0x6c012020, 0x2c79f: 0x6c012220, + 0x2c7a0: 0x6c012420, 0x2c7a1: 0x6c01d020, 0x2c7a2: 0x6c041020, 0x2c7a3: 0x6c025c20, + 0x2c7a4: 0x6c025e20, 0x2c7a5: 0x6c026020, 0x2c7a6: 0x6c026220, 0x2c7a7: 0x6c05a020, + 0x2c7a8: 0x6c0b1a20, 0x2c7a9: 0x6c0b1c20, 0x2c7aa: 0x6c0b1e20, 0x2c7ab: 0x6c0b2020, + 0x2c7ac: 0x6c0b2220, 0x2c7ad: 0x6c0b2420, 0x2c7ae: 0x6c0b2620, 0x2c7af: 0x6c0b2820, + 0x2c7b0: 0x6c0b2a20, 0x2c7b1: 0x6c161020, 0x2c7b2: 0x6c161220, 0x2c7b3: 0x6c28de20, + 0x2c7b4: 0x6c28e020, 0x2c7b5: 0x6c28e220, 0x2c7b6: 0x6c28e420, 0x2c7b7: 0x6c28e620, + 0x2c7b8: 0x6c28e820, 0x2c7b9: 0x6c431420, 0x2c7ba: 0x6c431620, 0x2c7bb: 0x6c431820, + 0x2c7bc: 0x6c431a20, 0x2c7bd: 0x6c63f220, 0x2c7be: 0x6c8b0c20, 0x2c7bf: 0x6c8b0e20, + // Block 0xb1f, offset 0x2c7c0 + 0x2c7c0: 0x6c8b1020, 0x2c7c1: 0x6cb7b220, 0x2c7c2: 0x6ce8d220, 0x2c7c3: 0x6ce8d420, + 0x2c7c4: 0x6ce8d620, 0x2c7c5: 0x6c002420, 0x2c7c6: 0x6c006a20, 0x2c7c7: 0x6c012c20, + 0x2c7c8: 0x6c027a20, 0x2c7c9: 0x6c0b3820, 0x2c7ca: 0x6c162020, 0x2c7cb: 0x6c28f420, + 0x2c7cc: 0x6c007420, 0x2c7cd: 0x6c013020, 0x2c7ce: 0x6c013220, 0x2c7cf: 0x6c013420, + 0x2c7d0: 0x6c00e420, 0x2c7d1: 0x6c028220, 0x2c7d2: 0x6c028420, 0x2c7d3: 0x6c028620, + 0x2c7d4: 0x6c028820, 0x2c7d5: 0x6c028a20, 0x2c7d6: 0x6c028c20, 0x2c7d7: 0x6c05b020, + 0x2c7d8: 0x6c0b3e20, 0x2c7d9: 0x6c0b4020, 0x2c7da: 0x6c0b4220, 0x2c7db: 0x6c28f820, + 0x2c7dc: 0x6c162a20, 0x2c7dd: 0x6c28fc20, 0x2c7de: 0x6c28fe20, 0x2c7df: 0x6c290020, + 0x2c7e0: 0x6c007c20, 0x2c7e1: 0x6c013620, 0x2c7e2: 0x6c029020, 0x2c7e3: 0x6c029220, + 0x2c7e4: 0x6c0b5420, 0x2c7e5: 0x6c0b5620, 0x2c7e6: 0x6c0b5820, 0x2c7e7: 0x6c0b5a20, + 0x2c7e8: 0x6c163620, 0x2c7e9: 0x6c163820, 0x2c7ea: 0x6c163a20, 0x2c7eb: 0x6c290e20, + 0x2c7ec: 0x6c291020, 0x2c7ed: 0x6c433420, 0x2c7ee: 0x6c433620, 0x2c7ef: 0x6c433820, + 0x2c7f0: 0x6c433a20, 0x2c7f1: 0x6c433c20, 0x2c7f2: 0x6c433e20, 0x2c7f3: 0x6c640a20, + 0x2c7f4: 0x6cb7c020, 0x2c7f5: 0x6cb7c220, 0x2c7f6: 0x6ce8e620, 0x2c7f7: 0x6ce8e820, + 0x2c7f8: 0x6d75da20, 0x2c7f9: 0x6e1c0620, 0x2c7fa: 0x6c007e20, 0x2c7fb: 0x6c008020, + 0x2c7fc: 0x6c013820, 0x2c7fd: 0x6c013a20, 0x2c7fe: 0x6c013c20, 0x2c7ff: 0x6c013e20, + // Block 0xb20, offset 0x2c800 + 0x2c800: 0x6c029620, 0x2c801: 0x6c029820, 0x2c802: 0x6c029a20, 0x2c803: 0x6c029c20, + 0x2c804: 0x6c029e20, 0x2c805: 0x6c02a020, 0x2c806: 0x6c02a220, 0x2c807: 0x6c02a420, + 0x2c808: 0x6c02a620, 0x2c809: 0x6c02a820, 0x2c80a: 0x6c02aa20, 0x2c80b: 0x6c02ac20, + 0x2c80c: 0x6c02ae20, 0x2c80d: 0x6c02b020, 0x2c80e: 0x6c02b220, 0x2c80f: 0x6c02b420, + 0x2c810: 0x6c02b620, 0x2c811: 0x6c02b820, 0x2c812: 0x6c02ba20, 0x2c813: 0x6c02bc20, + 0x2c814: 0x6c05c820, 0x2c815: 0x6c05ca20, 0x2c816: 0x6c05cc20, 0x2c817: 0x6c05ce20, + 0x2c818: 0x6c05d020, 0x2c819: 0x6c05d220, 0x2c81a: 0x6c05d420, 0x2c81b: 0x6c05d620, + 0x2c81c: 0x6c05d820, 0x2c81d: 0x6c05da20, 0x2c81e: 0x6c05dc20, 0x2c81f: 0x6c05de20, + 0x2c820: 0x6c05e020, 0x2c821: 0x6c05e220, 0x2c822: 0x6c05e420, 0x2c823: 0x6c05e620, + 0x2c824: 0x6c05e820, 0x2c825: 0x6c05ea20, 0x2c826: 0x6c05ec20, 0x2c827: 0x6c05ee20, + 0x2c828: 0x6c05f020, 0x2c829: 0x6c05f220, 0x2c82a: 0x6c05f420, 0x2c82b: 0x6c05f620, + 0x2c82c: 0x6c05f820, 0x2c82d: 0x6c05fa20, 0x2c82e: 0x6c0b7a20, 0x2c82f: 0x6c0b7c20, + 0x2c830: 0x6c0b7e20, 0x2c831: 0x6c0b8020, 0x2c832: 0x6c0b8220, 0x2c833: 0x6c0b8420, + 0x2c834: 0x6c0b8620, 0x2c835: 0x6c0b8820, 0x2c836: 0x6c0b8a20, 0x2c837: 0x6c0b8c20, + 0x2c838: 0x6c0b8e20, 0x2c839: 0x6c0b9020, 0x2c83a: 0x6c0b9220, 0x2c83b: 0x6c0b9420, + 0x2c83c: 0x6c0b9620, 0x2c83d: 0x6c0b9820, 0x2c83e: 0x6c0b9a20, 0x2c83f: 0x6c0b9c20, + // Block 0xb21, offset 0x2c840 + 0x2c840: 0x6c0b9e20, 0x2c841: 0x6c0ba020, 0x2c842: 0x6c0ba220, 0x2c843: 0x6c0ba420, + 0x2c844: 0x6c0ba620, 0x2c845: 0x6c0ba820, 0x2c846: 0x6c0baa20, 0x2c847: 0x6c0bac20, + 0x2c848: 0x6c0bae20, 0x2c849: 0x6c0bb020, 0x2c84a: 0x6c0bb220, 0x2c84b: 0x6c0bb420, + 0x2c84c: 0x6c0bb620, 0x2c84d: 0x6c0bb820, 0x2c84e: 0x6c0bba20, 0x2c84f: 0x6c0bbc20, + 0x2c850: 0x6c0bbe20, 0x2c851: 0x6c0bc020, 0x2c852: 0x6c0bc220, 0x2c853: 0x6c0bc420, + 0x2c854: 0x6c0bc620, 0x2c855: 0x6c0bc820, 0x2c856: 0x6c0bca20, 0x2c857: 0x6c0bcc20, + 0x2c858: 0x6c0bce20, 0x2c859: 0x6c0bd020, 0x2c85a: 0x6c0bd220, 0x2c85b: 0x6c0bd420, + 0x2c85c: 0x6c0bd620, 0x2c85d: 0x6c0bd820, 0x2c85e: 0x6c0bda20, 0x2c85f: 0x6c0bdc20, + 0x2c860: 0x6c0bde20, 0x2c861: 0x6c0be020, 0x2c862: 0x6c0be220, 0x2c863: 0x6c0be420, + 0x2c864: 0x6c0be620, 0x2c865: 0x6c0be820, 0x2c866: 0x6c0bea20, 0x2c867: 0x6c0bec20, + 0x2c868: 0x6c0bee20, 0x2c869: 0x6c0bf020, 0x2c86a: 0x6c0bf220, 0x2c86b: 0x6c0bf420, + 0x2c86c: 0x6c0bf620, 0x2c86d: 0x6c165620, 0x2c86e: 0x6c165820, 0x2c86f: 0x6c165a20, + 0x2c870: 0x6c165c20, 0x2c871: 0x6c165e20, 0x2c872: 0x6c166020, 0x2c873: 0x6c166220, + 0x2c874: 0x6c166420, 0x2c875: 0x6c166620, 0x2c876: 0x6c166820, 0x2c877: 0x6c166a20, + 0x2c878: 0x6c166c20, 0x2c879: 0x6c166e20, 0x2c87a: 0x6c167020, 0x2c87b: 0x6c167220, + 0x2c87c: 0x6c167420, 0x2c87d: 0x6c167620, 0x2c87e: 0x6c167820, 0x2c87f: 0x6c167a20, + // Block 0xb22, offset 0x2c880 + 0x2c880: 0x6c167c20, 0x2c881: 0x6c167e20, 0x2c882: 0x6c168020, 0x2c883: 0x6c168220, + 0x2c884: 0x6c168420, 0x2c885: 0x6c168620, 0x2c886: 0x6c168820, 0x2c887: 0x6c168a20, + 0x2c888: 0x6c168c20, 0x2c889: 0x6c168e20, 0x2c88a: 0x6c169020, 0x2c88b: 0x6c169220, + 0x2c88c: 0x6c292020, 0x2c88d: 0x6c169420, 0x2c88e: 0x6c169620, 0x2c88f: 0x6c169820, + 0x2c890: 0x6c169a20, 0x2c891: 0x6c169c20, 0x2c892: 0x6c169e20, 0x2c893: 0x6c16a020, + 0x2c894: 0x6c16a220, 0x2c895: 0x6c16a420, 0x2c896: 0x6c16a620, 0x2c897: 0x6c16a820, + 0x2c898: 0x6c16aa20, 0x2c899: 0x6c16ac20, 0x2c89a: 0x6c16ae20, 0x2c89b: 0x6c16b020, + 0x2c89c: 0x6c16b220, 0x2c89d: 0x6c16b420, 0x2c89e: 0x6c16b620, 0x2c89f: 0x6c16b820, + 0x2c8a0: 0x6c16ba20, 0x2c8a1: 0x6c16bc20, 0x2c8a2: 0x6c16be20, 0x2c8a3: 0x6c16c020, + 0x2c8a4: 0x6c0bf820, 0x2c8a5: 0x6c16c220, 0x2c8a6: 0x6c16c420, 0x2c8a7: 0x6c16c620, + 0x2c8a8: 0x6c16c820, 0x2c8a9: 0x6c293e20, 0x2c8aa: 0x6c294020, 0x2c8ab: 0x6c294220, + 0x2c8ac: 0x6c294420, 0x2c8ad: 0x6c294620, 0x2c8ae: 0x6c294820, 0x2c8af: 0x6c294a20, + 0x2c8b0: 0x6c294c20, 0x2c8b1: 0x6c294e20, 0x2c8b2: 0x6c295020, 0x2c8b3: 0x6c295220, + 0x2c8b4: 0x6c295420, 0x2c8b5: 0x6c295620, 0x2c8b6: 0x6c295820, 0x2c8b7: 0x6c295a20, + 0x2c8b8: 0x6c295c20, 0x2c8b9: 0x6c295e20, 0x2c8ba: 0x6c296020, 0x2c8bb: 0x6c296220, + 0x2c8bc: 0x6c296420, 0x2c8bd: 0x6c296620, 0x2c8be: 0x6c296820, 0x2c8bf: 0x6c296a20, + // Block 0xb23, offset 0x2c8c0 + 0x2c8c0: 0x6c296c20, 0x2c8c1: 0x6c296e20, 0x2c8c2: 0x6c297020, 0x2c8c3: 0x6c297220, + 0x2c8c4: 0x6c297420, 0x2c8c5: 0x6c297620, 0x2c8c6: 0x6c297820, 0x2c8c7: 0x6c297a20, + 0x2c8c8: 0x6c297c20, 0x2c8c9: 0x6c297e20, 0x2c8ca: 0x6c298020, 0x2c8cb: 0x6c298220, + 0x2c8cc: 0x6c298420, 0x2c8cd: 0x6c298620, 0x2c8ce: 0x6c298820, 0x2c8cf: 0x6c298a20, + 0x2c8d0: 0x6c298c20, 0x2c8d1: 0x6c298e20, 0x2c8d2: 0x6c299020, 0x2c8d3: 0x6c299220, + 0x2c8d4: 0x6c299420, 0x2c8d5: 0x6c299620, 0x2c8d6: 0x6c299820, 0x2c8d7: 0x6c299a20, + 0x2c8d8: 0x6c299c20, 0x2c8d9: 0x6c299e20, 0x2c8da: 0x6c29a020, 0x2c8db: 0x6c29a220, + 0x2c8dc: 0x6c29a420, 0x2c8dd: 0x6c29a620, 0x2c8de: 0x6c29a820, 0x2c8df: 0x6c29aa20, + 0x2c8e0: 0x6c29ac20, 0x2c8e1: 0x6c29ae20, 0x2c8e2: 0x6c29b020, 0x2c8e3: 0x6c29b220, + 0x2c8e4: 0x6c29b420, 0x2c8e5: 0x6c29b620, 0x2c8e6: 0x6c29b820, 0x2c8e7: 0x6c29ba20, + 0x2c8e8: 0x6c29bc20, 0x2c8e9: 0x6c29be20, 0x2c8ea: 0x6c29c020, 0x2c8eb: 0x6c29c220, + 0x2c8ec: 0x6c29c420, 0x2c8ed: 0x6c29c620, 0x2c8ee: 0x6c435e20, 0x2c8ef: 0x6c436020, + 0x2c8f0: 0x6c436220, 0x2c8f1: 0x6c436420, 0x2c8f2: 0x6c436620, 0x2c8f3: 0x6c436820, + 0x2c8f4: 0x6c436a20, 0x2c8f5: 0x6c436c20, 0x2c8f6: 0x6c436e20, 0x2c8f7: 0x6c437020, + 0x2c8f8: 0x6c437220, 0x2c8f9: 0x6c437420, 0x2c8fa: 0x6c437620, 0x2c8fb: 0x6c437820, + 0x2c8fc: 0x6c437a20, 0x2c8fd: 0x6c437c20, 0x2c8fe: 0x6c437e20, 0x2c8ff: 0x6c438020, + // Block 0xb24, offset 0x2c900 + 0x2c900: 0x6c438220, 0x2c901: 0x6c438420, 0x2c902: 0x6c438620, 0x2c903: 0x6c438820, + 0x2c904: 0x6c438a20, 0x2c905: 0x6c438c20, 0x2c906: 0x6c438e20, 0x2c907: 0x6c439020, + 0x2c908: 0x6c439220, 0x2c909: 0x6c439420, 0x2c90a: 0x6c439620, 0x2c90b: 0x6c439820, + 0x2c90c: 0x6c439a20, 0x2c90d: 0x6c439c20, 0x2c90e: 0x6c439e20, 0x2c90f: 0x6c43a020, + 0x2c910: 0x6c43a220, 0x2c911: 0x6c43a420, 0x2c912: 0x6c43a620, 0x2c913: 0x6c43a820, + 0x2c914: 0x6c43aa20, 0x2c915: 0x6c43ac20, 0x2c916: 0x6c43ae20, 0x2c917: 0x6c43b020, + 0x2c918: 0x6c43b220, 0x2c919: 0x6c43b420, 0x2c91a: 0x6c43b620, 0x2c91b: 0x6c43b820, + 0x2c91c: 0x6c43ba20, 0x2c91d: 0x6c43bc20, 0x2c91e: 0x6c43be20, 0x2c91f: 0x6c43c020, + 0x2c920: 0x6c43c220, 0x2c921: 0x6c43c420, 0x2c922: 0x6c43c620, 0x2c923: 0x6c43c820, + 0x2c924: 0x6c43ca20, 0x2c925: 0x6c43cc20, 0x2c926: 0x6c43ce20, 0x2c927: 0x6c43d020, + 0x2c928: 0x6c43d220, 0x2c929: 0x6c43d420, 0x2c92a: 0x6c43d620, 0x2c92b: 0x6c43d820, + 0x2c92c: 0x6c43da20, 0x2c92d: 0x6c43dc20, 0x2c92e: 0x6c642e20, 0x2c92f: 0x6c643020, + 0x2c930: 0x6c643220, 0x2c931: 0x6c643420, 0x2c932: 0x6c643620, 0x2c933: 0x6c643820, + 0x2c934: 0x6c643a20, 0x2c935: 0x6c643c20, 0x2c936: 0x6c643e20, 0x2c937: 0x6c644020, + 0x2c938: 0x6c644220, 0x2c939: 0x6c644420, 0x2c93a: 0x6c644620, 0x2c93b: 0x6c644820, + 0x2c93c: 0x6c644a20, 0x2c93d: 0x6c644c20, 0x2c93e: 0x6c644e20, 0x2c93f: 0x6c645020, + // Block 0xb25, offset 0x2c940 + 0x2c940: 0x6c645220, 0x2c941: 0x6c645420, 0x2c942: 0x6c645620, 0x2c943: 0x6c645820, + 0x2c944: 0x6c645a20, 0x2c945: 0x6c645c20, 0x2c946: 0x6c645e20, 0x2c947: 0x6c646020, + 0x2c948: 0x6c646220, 0x2c949: 0x6c646420, 0x2c94a: 0x6c646620, 0x2c94b: 0x6c646820, + 0x2c94c: 0x6c646a20, 0x2c94d: 0x6c646c20, 0x2c94e: 0x6c646e20, 0x2c94f: 0x6c647020, + 0x2c950: 0x6c647220, 0x2c951: 0x6c647420, 0x2c952: 0x6c647620, 0x2c953: 0x6c647820, + 0x2c954: 0x6c647a20, 0x2c955: 0x6c647c20, 0x2c956: 0x6c647e20, 0x2c957: 0x6c648020, + 0x2c958: 0x6c648220, 0x2c959: 0x6c648420, 0x2c95a: 0x6c648620, 0x2c95b: 0x6c648820, + 0x2c95c: 0x6c648a20, 0x2c95d: 0x6c648c20, 0x2c95e: 0x6c648e20, 0x2c95f: 0x6c649020, + 0x2c960: 0x6c649220, 0x2c961: 0x6c649420, 0x2c962: 0x6c649620, 0x2c963: 0x6c649820, + 0x2c964: 0x6c649a20, 0x2c965: 0x6c649c20, 0x2c966: 0x6c649e20, 0x2c967: 0x6c64a020, + 0x2c968: 0x6c64a220, 0x2c969: 0x6c64a420, 0x2c96a: 0x6c64a620, 0x2c96b: 0x6c64a820, + 0x2c96c: 0x6c64aa20, 0x2c96d: 0x6c64ac20, 0x2c96e: 0x6c64ae20, 0x2c96f: 0x6c64b020, + 0x2c970: 0x6c64b220, 0x2c971: 0x6c64b420, 0x2c972: 0x6c64b620, 0x2c973: 0x6c64b820, + 0x2c974: 0x6c64ba20, 0x2c975: 0x6c64bc20, 0x2c976: 0x6c64be20, 0x2c977: 0x6c64c020, + 0x2c978: 0x6c64c220, 0x2c979: 0x6c64c420, 0x2c97a: 0x6c64c620, 0x2c97b: 0x6c64c820, + 0x2c97c: 0x6c64ca20, 0x2c97d: 0x6c64cc20, 0x2c97e: 0x6c64ce20, 0x2c97f: 0x6c64d020, + // Block 0xb26, offset 0x2c980 + 0x2c980: 0x6c8b4a20, 0x2c981: 0x6c8b4c20, 0x2c982: 0x6c8b4e20, 0x2c983: 0x6c8b5020, + 0x2c984: 0x6c8b5220, 0x2c985: 0x6c8b5420, 0x2c986: 0x6c8b5620, 0x2c987: 0x6c8b5820, + 0x2c988: 0x6c8b5a20, 0x2c989: 0x6c8b5c20, 0x2c98a: 0x6c8b5e20, 0x2c98b: 0x6c8b6020, + 0x2c98c: 0x6c8b6220, 0x2c98d: 0x6c8b6420, 0x2c98e: 0x6c8b6620, 0x2c98f: 0x6c8b6820, + 0x2c990: 0x6c8b6a20, 0x2c991: 0x6c8b6c20, 0x2c992: 0x6c8b6e20, 0x2c993: 0x6c8b7020, + 0x2c994: 0x6c8b7220, 0x2c995: 0x6c8b7420, 0x2c996: 0x6c656e20, 0x2c997: 0x6c8b7620, + 0x2c998: 0x6c8b7820, 0x2c999: 0x6c8b7a20, 0x2c99a: 0x6c8b7c20, 0x2c99b: 0x6c8b7e20, + 0x2c99c: 0x6c8b8020, 0x2c99d: 0x6c8b8220, 0x2c99e: 0x6c8b8420, 0x2c99f: 0x6c8b8620, + 0x2c9a0: 0x6c8b8820, 0x2c9a1: 0x6c8b8a20, 0x2c9a2: 0x6c8b8c20, 0x2c9a3: 0x6c8b8e20, + 0x2c9a4: 0x6c8b9020, 0x2c9a5: 0x6c8b9220, 0x2c9a6: 0x6c8b9420, 0x2c9a7: 0x6c8b9620, + 0x2c9a8: 0x6cb7d820, 0x2c9a9: 0x6c8b9820, 0x2c9aa: 0x6c8b9a20, 0x2c9ab: 0x6c8b9c20, + 0x2c9ac: 0x6c8b9e20, 0x2c9ad: 0x6c8ba020, 0x2c9ae: 0x6c8ba220, 0x2c9af: 0x6c8ba420, + 0x2c9b0: 0x6c8ba620, 0x2c9b1: 0x6c8ba820, 0x2c9b2: 0x6c8baa20, 0x2c9b3: 0x6c8bac20, + 0x2c9b4: 0x6c8bae20, 0x2c9b5: 0x6c8bb020, 0x2c9b6: 0x6c8bb220, 0x2c9b7: 0x6c8bb420, + 0x2c9b8: 0x6c8bb620, 0x2c9b9: 0x6c8bb820, 0x2c9ba: 0x6c8bba20, 0x2c9bb: 0x6c8bbc20, + 0x2c9bc: 0x6c8bbe20, 0x2c9bd: 0x6c8bc020, 0x2c9be: 0x6c8bc220, 0x2c9bf: 0x6c8bc420, + // Block 0xb27, offset 0x2c9c0 + 0x2c9c0: 0x6cb7ea20, 0x2c9c1: 0x6cb7ec20, 0x2c9c2: 0x6cb7ee20, 0x2c9c3: 0x6cb7f020, + 0x2c9c4: 0x6cb7f220, 0x2c9c5: 0x6cb7f420, 0x2c9c6: 0x6cb7f620, 0x2c9c7: 0x6cb7f820, + 0x2c9c8: 0x6cb7fa20, 0x2c9c9: 0x6cb7fc20, 0x2c9ca: 0x6cb7fe20, 0x2c9cb: 0x6cb80020, + 0x2c9cc: 0x6cb80220, 0x2c9cd: 0x6cb80420, 0x2c9ce: 0x6cb80620, 0x2c9cf: 0x6cb80820, + 0x2c9d0: 0x6cb80a20, 0x2c9d1: 0x6cb80c20, 0x2c9d2: 0x6cb80e20, 0x2c9d3: 0x6cb81020, + 0x2c9d4: 0x6cb81220, 0x2c9d5: 0x6cb81420, 0x2c9d6: 0x6cb81620, 0x2c9d7: 0x6cb81820, + 0x2c9d8: 0x6cb81a20, 0x2c9d9: 0x6cb81c20, 0x2c9da: 0x6cb81e20, 0x2c9db: 0x6cb82020, + 0x2c9dc: 0x6cb82220, 0x2c9dd: 0x6cb82420, 0x2c9de: 0x6cb82620, 0x2c9df: 0x6cb82820, + 0x2c9e0: 0x6cb82a20, 0x2c9e1: 0x6cb82c20, 0x2c9e2: 0x6cb82e20, 0x2c9e3: 0x6cb83020, + 0x2c9e4: 0x6cb83220, 0x2c9e5: 0x6cb83420, 0x2c9e6: 0x6cb83620, 0x2c9e7: 0x6cb83820, + 0x2c9e8: 0x6cb83a20, 0x2c9e9: 0x6cb83c20, 0x2c9ea: 0x6ce90c20, 0x2c9eb: 0x6ce90e20, + 0x2c9ec: 0x6ce91020, 0x2c9ed: 0x6ce91220, 0x2c9ee: 0x6ce91420, 0x2c9ef: 0x6ce91620, + 0x2c9f0: 0x6ce91820, 0x2c9f1: 0x6ce91a20, 0x2c9f2: 0x6ce91c20, 0x2c9f3: 0x6ce91e20, + 0x2c9f4: 0x6ce92020, 0x2c9f5: 0x6ce92220, 0x2c9f6: 0x6ce92420, 0x2c9f7: 0x6ce92620, + 0x2c9f8: 0x6ce92820, 0x2c9f9: 0x6ce92a20, 0x2c9fa: 0x6ce92c20, 0x2c9fb: 0x6ce92e20, + 0x2c9fc: 0x6ce93020, 0x2c9fd: 0x6ce93220, 0x2c9fe: 0x6ce93420, 0x2c9ff: 0x6ce93620, + // Block 0xb28, offset 0x2ca00 + 0x2ca00: 0x6ce93820, 0x2ca01: 0x6ce93a20, 0x2ca02: 0x6ce93c20, 0x2ca03: 0x6ce93e20, + 0x2ca04: 0x6ce94020, 0x2ca05: 0x6ce94220, 0x2ca06: 0x6ce94420, 0x2ca07: 0x6ce94620, + 0x2ca08: 0x6ce94820, 0x2ca09: 0x6ce94a20, 0x2ca0a: 0x6ce94c20, 0x2ca0b: 0x6ce94e20, + 0x2ca0c: 0x6ce95020, 0x2ca0d: 0x6ce95220, 0x2ca0e: 0x6d18cc20, 0x2ca0f: 0x6d18ce20, + 0x2ca10: 0x6d18d020, 0x2ca11: 0x6d18d220, 0x2ca12: 0x6d18d420, 0x2ca13: 0x6d18d620, + 0x2ca14: 0x6d18d820, 0x2ca15: 0x6d18da20, 0x2ca16: 0x6d18dc20, 0x2ca17: 0x6d18de20, + 0x2ca18: 0x6d18e020, 0x2ca19: 0x6d18e220, 0x2ca1a: 0x6d18e420, 0x2ca1b: 0x6d18e620, + 0x2ca1c: 0x6d18e820, 0x2ca1d: 0x6d18ea20, 0x2ca1e: 0x6d18ec20, 0x2ca1f: 0x6d18ee20, + 0x2ca20: 0x6d18f020, 0x2ca21: 0x6d18f220, 0x2ca22: 0x6d18f420, 0x2ca23: 0x6d18f620, + 0x2ca24: 0x6d18f820, 0x2ca25: 0x6d18fa20, 0x2ca26: 0x6d18fc20, 0x2ca27: 0x6d18fe20, + 0x2ca28: 0x6d190020, 0x2ca29: 0x6d190220, 0x2ca2a: 0x6d190420, 0x2ca2b: 0x6d190620, + 0x2ca2c: 0x6d190820, 0x2ca2d: 0x6d190a20, 0x2ca2e: 0x6d190c20, 0x2ca2f: 0x6d190e20, + 0x2ca30: 0x6d191020, 0x2ca31: 0x6d191220, 0x2ca32: 0x6d19b420, 0x2ca33: 0x6d191420, + 0x2ca34: 0x6d191620, 0x2ca35: 0x6d47c220, 0x2ca36: 0x6d47c420, 0x2ca37: 0x6d191820, + 0x2ca38: 0x6d47c620, 0x2ca39: 0x6d47c820, 0x2ca3a: 0x6d47ca20, 0x2ca3b: 0x6d47cc20, + 0x2ca3c: 0x6d47ce20, 0x2ca3d: 0x6d47d020, 0x2ca3e: 0x6d47d220, 0x2ca3f: 0x6d47d420, + // Block 0xb29, offset 0x2ca40 + 0x2ca40: 0x6d47d620, 0x2ca41: 0x6d47d820, 0x2ca42: 0x6d47da20, 0x2ca43: 0x6d47dc20, + 0x2ca44: 0x6d47de20, 0x2ca45: 0x6d47e020, 0x2ca46: 0x6d47e220, 0x2ca47: 0x6d47e420, + 0x2ca48: 0x6d47e620, 0x2ca49: 0x6d47e820, 0x2ca4a: 0x6d47ea20, 0x2ca4b: 0x6d47ec20, + 0x2ca4c: 0x6d47ee20, 0x2ca4d: 0x6d47f020, 0x2ca4e: 0x6d47f220, 0x2ca4f: 0x6d47f420, + 0x2ca50: 0x6d75fc20, 0x2ca51: 0x6d75fe20, 0x2ca52: 0x6d760020, 0x2ca53: 0x6d760220, + 0x2ca54: 0x6d760420, 0x2ca55: 0x6d760620, 0x2ca56: 0x6d760820, 0x2ca57: 0x6d760a20, + 0x2ca58: 0x6d760c20, 0x2ca59: 0x6d760e20, 0x2ca5a: 0x6d761020, 0x2ca5b: 0x6d761220, + 0x2ca5c: 0x6d761420, 0x2ca5d: 0x6d761620, 0x2ca5e: 0x6d761820, 0x2ca5f: 0x6d9fae20, + 0x2ca60: 0x6d9fb020, 0x2ca61: 0x6d9fb220, 0x2ca62: 0x6d9fb420, 0x2ca63: 0x6d9fb620, + 0x2ca64: 0x6d9fb820, 0x2ca65: 0x6d9fba20, 0x2ca66: 0x6d9fbc20, 0x2ca67: 0x6d9fbe20, + 0x2ca68: 0x6d9fc020, 0x2ca69: 0x6d9fc220, 0x2ca6a: 0x6d9fc420, 0x2ca6b: 0x6d761a20, + 0x2ca6c: 0x6d9fc620, 0x2ca6d: 0x6dc24e20, 0x2ca6e: 0x6dc25020, 0x2ca6f: 0x6dc25220, + 0x2ca70: 0x6d485a20, 0x2ca71: 0x6dc25420, 0x2ca72: 0x6da00220, 0x2ca73: 0x6de01420, + 0x2ca74: 0x6de01620, 0x2ca75: 0x6de01820, 0x2ca76: 0x6df87420, 0x2ca77: 0x6e0c4220, + 0x2ca78: 0x6e0c4420, 0x2ca79: 0x6e0c4620, 0x2ca7a: 0x6e0c4820, 0x2ca7b: 0x6e1c0820, + 0x2ca7c: 0x6e1c0a20, 0x2ca7d: 0x6e284c20, 0x2ca7e: 0x6e318820, 0x2ca7f: 0x6c008420, + // Block 0xb2a, offset 0x2ca80 + 0x2ca80: 0x6c014620, 0x2ca81: 0x6c02c620, 0x2ca82: 0x6c02c820, 0x2ca83: 0x6c02ca20, + 0x2ca84: 0x6c060e20, 0x2ca85: 0x6c061420, 0x2ca86: 0x6c0c4620, 0x2ca87: 0x6c0c4820, + 0x2ca88: 0x6c0c4a20, 0x2ca89: 0x6c0c4c20, 0x2ca8a: 0x6c0c4e20, 0x2ca8b: 0x6c173420, + 0x2ca8c: 0x6c173620, 0x2ca8d: 0x6c173820, 0x2ca8e: 0x6c173a20, 0x2ca8f: 0x6c173c20, + 0x2ca90: 0x6c173e20, 0x2ca91: 0x6c174020, 0x2ca92: 0x6c2a2e20, 0x2ca93: 0x6c2a3020, + 0x2ca94: 0x6c2a3220, 0x2ca95: 0x6c2a3420, 0x2ca96: 0x6c2a3620, 0x2ca97: 0x6c445a20, + 0x2ca98: 0x6c445c20, 0x2ca99: 0x6c445e20, 0x2ca9a: 0x6c657220, 0x2ca9b: 0x6c657420, + 0x2ca9c: 0x6c8c6820, 0x2ca9d: 0x6c8c6a20, 0x2ca9e: 0x6c8c6c20, 0x2ca9f: 0x6cb8c620, + 0x2caa0: 0x6cb8c820, 0x2caa1: 0x6ce9e220, 0x2caa2: 0x6d19b620, 0x2caa3: 0x6d766620, + 0x2caa4: 0x6e0c6420, 0x2caa5: 0x6c008620, 0x2caa6: 0x6c014820, 0x2caa7: 0x6c02ce20, + 0x2caa8: 0x6c0c5a20, 0x2caa9: 0x6c2a4c20, 0x2caaa: 0x6c446c20, 0x2caab: 0x6c008820, + 0x2caac: 0x6c02d620, 0x2caad: 0x6c02d820, 0x2caae: 0x6c02da20, 0x2caaf: 0x6c02dc20, + 0x2cab0: 0x6c061c20, 0x2cab1: 0x6c0c6820, 0x2cab2: 0x6c0c6a20, 0x2cab3: 0x6c0c6c20, + 0x2cab4: 0x6c0c6e20, 0x2cab5: 0x6c176220, 0x2cab6: 0x6c2a5020, 0x2cab7: 0x6c2a5220, + 0x2cab8: 0x6c2a5420, 0x2cab9: 0x6c447620, 0x2caba: 0x6c659020, 0x2cabb: 0x6c447820, + 0x2cabc: 0x6c659220, 0x2cabd: 0x6c8c7e20, 0x2cabe: 0x6ce9f420, 0x2cabf: 0x6ce9f620, + // Block 0xb2b, offset 0x2cac0 + 0x2cac0: 0x6d767a20, 0x2cac1: 0x6dc29820, 0x2cac2: 0x6c008c20, 0x2cac3: 0x6c02e620, + 0x2cac4: 0x6c02e820, 0x2cac5: 0x6c02ea20, 0x2cac6: 0x6c02ec20, 0x2cac7: 0x6c02ee20, + 0x2cac8: 0x6c02f020, 0x2cac9: 0x6c062220, 0x2caca: 0x6c062420, 0x2cacb: 0x6c062620, + 0x2cacc: 0x6c062820, 0x2cacd: 0x6c0c7820, 0x2cace: 0x6c0c7a20, 0x2cacf: 0x6c177020, + 0x2cad0: 0x6c2a5e20, 0x2cad1: 0x6c448620, 0x2cad2: 0x6c448820, 0x2cad3: 0x6c659a20, + 0x2cad4: 0x6c659c20, 0x2cad5: 0x6c8c8820, 0x2cad6: 0x6c008e20, 0x2cad7: 0x6c02fe20, + 0x2cad8: 0x6c030020, 0x2cad9: 0x6c063e20, 0x2cada: 0x6c064020, 0x2cadb: 0x6c0c8620, + 0x2cadc: 0x6c0c8820, 0x2cadd: 0x6c178020, 0x2cade: 0x6c2a6a20, 0x2cadf: 0x6c449220, + 0x2cae0: 0x6c449420, 0x2cae1: 0x6c65a420, 0x2cae2: 0x6c65a620, 0x2cae3: 0x6c65a820, + 0x2cae4: 0x6c65aa20, 0x2cae5: 0x6c65ac20, 0x2cae6: 0x6c65ae20, 0x2cae7: 0x6c65b020, + 0x2cae8: 0x6c8c9020, 0x2cae9: 0x6d19e020, 0x2caea: 0x6d768820, 0x2caeb: 0x6c009020, + 0x2caec: 0x6c064a20, 0x2caed: 0x6c064c20, 0x2caee: 0x6c064e20, 0x2caef: 0x6c065020, + 0x2caf0: 0x6c0c9c20, 0x2caf1: 0x6c0c9e20, 0x2caf2: 0x6c0ca020, 0x2caf3: 0x6c0ca220, + 0x2caf4: 0x6c0ca420, 0x2caf5: 0x6c179020, 0x2caf6: 0x6c179220, 0x2caf7: 0x6c179420, + 0x2caf8: 0x6c179620, 0x2caf9: 0x6c179820, 0x2cafa: 0x6c179a20, 0x2cafb: 0x6c179c20, + 0x2cafc: 0x6c2a7e20, 0x2cafd: 0x6c2a8020, 0x2cafe: 0x6c2a8220, 0x2caff: 0x6c2a8420, + // Block 0xb2c, offset 0x2cb00 + 0x2cb00: 0x6c2a8620, 0x2cb01: 0x6c44a420, 0x2cb02: 0x6c44a620, 0x2cb03: 0x6c44a820, + 0x2cb04: 0x6c65c820, 0x2cb05: 0x6c65ca20, 0x2cb06: 0x6c65cc20, 0x2cb07: 0x6c65ce20, + 0x2cb08: 0x6c65d020, 0x2cb09: 0x6c65d220, 0x2cb0a: 0x6c65d420, 0x2cb0b: 0x6c65d620, + 0x2cb0c: 0x6c65d820, 0x2cb0d: 0x6c65da20, 0x2cb0e: 0x6c65dc20, 0x2cb0f: 0x6c8c9820, + 0x2cb10: 0x6c8c9a20, 0x2cb11: 0x6c8c9c20, 0x2cb12: 0x6cb91020, 0x2cb13: 0x6cb91220, + 0x2cb14: 0x6cb91420, 0x2cb15: 0x6cb91620, 0x2cb16: 0x6cb91820, 0x2cb17: 0x6cea1420, + 0x2cb18: 0x6d19ec20, 0x2cb19: 0x6d487820, 0x2cb1a: 0x6d487a20, 0x2cb1b: 0x6d487c20, + 0x2cb1c: 0x6d487e20, 0x2cb1d: 0x6d768e20, 0x2cb1e: 0x6d769020, 0x2cb1f: 0x6da01a20, + 0x2cb20: 0x6c009420, 0x2cb21: 0x6c015220, 0x2cb22: 0x6c015420, 0x2cb23: 0x6c015620, + 0x2cb24: 0x6c030a20, 0x2cb25: 0x6c065a20, 0x2cb26: 0x6c065c20, 0x2cb27: 0x6c065e20, + 0x2cb28: 0x6c0cba20, 0x2cb29: 0x6c0cbc20, 0x2cb2a: 0x6c0cbe20, 0x2cb2b: 0x6c0cc020, + 0x2cb2c: 0x6c17b820, 0x2cb2d: 0x6c2a9820, 0x2cb2e: 0x6c2a9a20, 0x2cb2f: 0x6c2a9c20, + 0x2cb30: 0x6c8cc020, 0x2cb31: 0x6cb93020, 0x2cb32: 0x6cb93220, 0x2cb33: 0x6d19fe20, + 0x2cb34: 0x6d1a0020, 0x2cb35: 0x6c009a20, 0x2cb36: 0x6c031c20, 0x2cb37: 0x6c066820, + 0x2cb38: 0x6c066a20, 0x2cb39: 0x6c066c20, 0x2cb3a: 0x6c066e20, 0x2cb3b: 0x6c067020, + 0x2cb3c: 0x6c0cd420, 0x2cb3d: 0x6c2ab220, 0x2cb3e: 0x6c44d820, 0x2cb3f: 0x6cb94020, + // Block 0xb2d, offset 0x2cb40 + 0x2cb40: 0x6c00a020, 0x2cb41: 0x6c00a220, 0x2cb42: 0x6c00a420, 0x2cb43: 0x6c015a20, + 0x2cb44: 0x6c015c20, 0x2cb45: 0x6c032420, 0x2cb46: 0x6c032620, 0x2cb47: 0x6c032820, + 0x2cb48: 0x6c032a20, 0x2cb49: 0x6c068220, 0x2cb4a: 0x6c068420, 0x2cb4b: 0x6c068620, + 0x2cb4c: 0x6c068820, 0x2cb4d: 0x6c068a20, 0x2cb4e: 0x6c0cea20, 0x2cb4f: 0x6c0cec20, + 0x2cb50: 0x6c0cee20, 0x2cb51: 0x6c0cf020, 0x2cb52: 0x6c0cf220, 0x2cb53: 0x6c0cf420, + 0x2cb54: 0x6c0cf620, 0x2cb55: 0x6c0cf820, 0x2cb56: 0x6c0cfa20, 0x2cb57: 0x6c0cfc20, + 0x2cb58: 0x6c0cfe20, 0x2cb59: 0x6c0d0020, 0x2cb5a: 0x6c0d0220, 0x2cb5b: 0x6c0d0420, + 0x2cb5c: 0x6c17de20, 0x2cb5d: 0x6c17e020, 0x2cb5e: 0x6c17e220, 0x2cb5f: 0x6c17e420, + 0x2cb60: 0x6c17e620, 0x2cb61: 0x6c17e820, 0x2cb62: 0x6c17ea20, 0x2cb63: 0x6c17ec20, + 0x2cb64: 0x6c17ee20, 0x2cb65: 0x6c17f020, 0x2cb66: 0x6c17f220, 0x2cb67: 0x6c17f420, + 0x2cb68: 0x6c17f620, 0x2cb69: 0x6c17f820, 0x2cb6a: 0x6c17fa20, 0x2cb6b: 0x6c17fc20, + 0x2cb6c: 0x6c17fe20, 0x2cb6d: 0x6c180020, 0x2cb6e: 0x6c2ac820, 0x2cb6f: 0x6c2aca20, + 0x2cb70: 0x6c2acc20, 0x2cb71: 0x6c2ace20, 0x2cb72: 0x6c2ad020, 0x2cb73: 0x6c2ad220, + 0x2cb74: 0x6c2ad420, 0x2cb75: 0x6c2ad620, 0x2cb76: 0x6c2ad820, 0x2cb77: 0x6c2ada20, + 0x2cb78: 0x6c2adc20, 0x2cb79: 0x6c2ade20, 0x2cb7a: 0x6c2ae020, 0x2cb7b: 0x6c2ae220, + 0x2cb7c: 0x6c2ae420, 0x2cb7d: 0x6c2ae620, 0x2cb7e: 0x6c2ae820, 0x2cb7f: 0x6c2aea20, + // Block 0xb2e, offset 0x2cb80 + 0x2cb80: 0x6c2aec20, 0x2cb81: 0x6c2aee20, 0x2cb82: 0x6c2af020, 0x2cb83: 0x6c44ea20, + 0x2cb84: 0x6c44ec20, 0x2cb85: 0x6c44ee20, 0x2cb86: 0x6c2b4a20, 0x2cb87: 0x6c44f020, + 0x2cb88: 0x6c44f220, 0x2cb89: 0x6c44f420, 0x2cb8a: 0x6c44f620, 0x2cb8b: 0x6c44f820, + 0x2cb8c: 0x6c44fa20, 0x2cb8d: 0x6c44fc20, 0x2cb8e: 0x6c44fe20, 0x2cb8f: 0x6c450020, + 0x2cb90: 0x6c450220, 0x2cb91: 0x6c450420, 0x2cb92: 0x6c661c20, 0x2cb93: 0x6c661e20, + 0x2cb94: 0x6c662020, 0x2cb95: 0x6c662220, 0x2cb96: 0x6c662420, 0x2cb97: 0x6c662620, + 0x2cb98: 0x6c662820, 0x2cb99: 0x6c662a20, 0x2cb9a: 0x6c662c20, 0x2cb9b: 0x6c662e20, + 0x2cb9c: 0x6c663020, 0x2cb9d: 0x6c663220, 0x2cb9e: 0x6c663420, 0x2cb9f: 0x6c663620, + 0x2cba0: 0x6c663820, 0x2cba1: 0x6c663a20, 0x2cba2: 0x6c663c20, 0x2cba3: 0x6c663e20, + 0x2cba4: 0x6c664020, 0x2cba5: 0x6c664220, 0x2cba6: 0x6c664420, 0x2cba7: 0x6c664620, + 0x2cba8: 0x6c8ce420, 0x2cba9: 0x6cb95020, 0x2cbaa: 0x6c8ce620, 0x2cbab: 0x6c8ce820, + 0x2cbac: 0x6c8cea20, 0x2cbad: 0x6c8cec20, 0x2cbae: 0x6c8cee20, 0x2cbaf: 0x6c8cf020, + 0x2cbb0: 0x6c8cf220, 0x2cbb1: 0x6c8cf420, 0x2cbb2: 0x6cb95220, 0x2cbb3: 0x6cb95420, + 0x2cbb4: 0x6cb95620, 0x2cbb5: 0x6cb95820, 0x2cbb6: 0x6c8cf620, 0x2cbb7: 0x6cea4020, + 0x2cbb8: 0x6cea4220, 0x2cbb9: 0x6cea4420, 0x2cbba: 0x6cea4620, 0x2cbbb: 0x6cea4820, + 0x2cbbc: 0x6cea4a20, 0x2cbbd: 0x6cea4c20, 0x2cbbe: 0x6cea4e20, 0x2cbbf: 0x6cea5020, + // Block 0xb2f, offset 0x2cbc0 + 0x2cbc0: 0x6d1a2620, 0x2cbc1: 0x6d1a2820, 0x2cbc2: 0x6d1a2a20, 0x2cbc3: 0x6d1a2c20, + 0x2cbc4: 0x6d1a2e20, 0x2cbc5: 0x6d489820, 0x2cbc6: 0x6d489a20, 0x2cbc7: 0x6d489c20, + 0x2cbc8: 0x6d489e20, 0x2cbc9: 0x6d48a020, 0x2cbca: 0x6d48a220, 0x2cbcb: 0x6d48a420, + 0x2cbcc: 0x6d48a620, 0x2cbcd: 0x6d48a820, 0x2cbce: 0x6d48aa20, 0x2cbcf: 0x6d48ac20, + 0x2cbd0: 0x6d76aa20, 0x2cbd1: 0x6d76ac20, 0x2cbd2: 0x6d76ae20, 0x2cbd3: 0x6d76b020, + 0x2cbd4: 0x6d76b220, 0x2cbd5: 0x6da03420, 0x2cbd6: 0x6de05820, 0x2cbd7: 0x6e0c7220, + 0x2cbd8: 0x6e0c7420, 0x2cbd9: 0x6e286020, 0x2cbda: 0x6e286220, 0x2cbdb: 0x6c00a820, + 0x2cbdc: 0x6c016020, 0x2cbdd: 0x6c033c20, 0x2cbde: 0x6c033e20, 0x2cbdf: 0x6c06a420, + 0x2cbe0: 0x6c06a620, 0x2cbe1: 0x6c06a820, 0x2cbe2: 0x6c06aa20, 0x2cbe3: 0x6c0d4020, + 0x2cbe4: 0x6c0d4220, 0x2cbe5: 0x6c0d4420, 0x2cbe6: 0x6c0d4620, 0x2cbe7: 0x6c0d4820, + 0x2cbe8: 0x6c0d4a20, 0x2cbe9: 0x6c183c20, 0x2cbea: 0x6c183e20, 0x2cbeb: 0x6c184020, + 0x2cbec: 0x6c184220, 0x2cbed: 0x6c184420, 0x2cbee: 0x6c184620, 0x2cbef: 0x6c184820, + 0x2cbf0: 0x6c184a20, 0x2cbf1: 0x6c184c20, 0x2cbf2: 0x6c184e20, 0x2cbf3: 0x6c185020, + 0x2cbf4: 0x6c185220, 0x2cbf5: 0x6c2b5220, 0x2cbf6: 0x6c2b5420, 0x2cbf7: 0x6c2b5620, + 0x2cbf8: 0x6c2b5820, 0x2cbf9: 0x6c2b5a20, 0x2cbfa: 0x6c2b5c20, 0x2cbfb: 0x6c2b5e20, + 0x2cbfc: 0x6c2b6020, 0x2cbfd: 0x6c2b6220, 0x2cbfe: 0x6c2b6420, 0x2cbff: 0x6c2b6620, + // Block 0xb30, offset 0x2cc00 + 0x2cc00: 0x6c455020, 0x2cc01: 0x6c455220, 0x2cc02: 0x6c455420, 0x2cc03: 0x6c455620, + 0x2cc04: 0x6c455820, 0x2cc05: 0x6c455a20, 0x2cc06: 0x6c2b8620, 0x2cc07: 0x6c455c20, + 0x2cc08: 0x6c455e20, 0x2cc09: 0x6c456020, 0x2cc0a: 0x6c456220, 0x2cc0b: 0x6c456420, + 0x2cc0c: 0x6c66ac20, 0x2cc0d: 0x6c66ae20, 0x2cc0e: 0x6c66b020, 0x2cc0f: 0x6c66b220, + 0x2cc10: 0x6c66b420, 0x2cc11: 0x6c66b620, 0x2cc12: 0x6c8d4420, 0x2cc13: 0x6c8d4620, + 0x2cc14: 0x6c8d4820, 0x2cc15: 0x6c8d4a20, 0x2cc16: 0x6c8d4c20, 0x2cc17: 0x6c9b7c20, + 0x2cc18: 0x6c8d4e20, 0x2cc19: 0x6c8d5020, 0x2cc1a: 0x6c8d5220, 0x2cc1b: 0x6cb9ac20, + 0x2cc1c: 0x6cb9ae20, 0x2cc1d: 0x6cb9b020, 0x2cc1e: 0x6cb9b220, 0x2cc1f: 0x6cea9220, + 0x2cc20: 0x6cea9420, 0x2cc21: 0x6cea9620, 0x2cc22: 0x6cea9820, 0x2cc23: 0x6cea9a20, + 0x2cc24: 0x6cea9c20, 0x2cc25: 0x6cea9e20, 0x2cc26: 0x6ceaa020, 0x2cc27: 0x6ceaa220, + 0x2cc28: 0x6d1a7820, 0x2cc29: 0x6d1a7a20, 0x2cc2a: 0x6d1a7c20, 0x2cc2b: 0x6d1a7e20, + 0x2cc2c: 0x6d1a8020, 0x2cc2d: 0x6d1a8220, 0x2cc2e: 0x6d48da20, 0x2cc2f: 0x6d48dc20, + 0x2cc30: 0x6d48de20, 0x2cc31: 0x6d48e020, 0x2cc32: 0x6d48e220, 0x2cc33: 0x6d76da20, + 0x2cc34: 0x6da05c20, 0x2cc35: 0x6da05e20, 0x2cc36: 0x6da06020, 0x2cc37: 0x6de06020, + 0x2cc38: 0x6de06620, 0x2cc39: 0x6c00aa20, 0x2cc3a: 0x6c016420, 0x2cc3b: 0x6c034620, + 0x2cc3c: 0x6c034820, 0x2cc3d: 0x6c034a20, 0x2cc3e: 0x6c034c20, 0x2cc3f: 0x6c034e20, + // Block 0xb31, offset 0x2cc40 + 0x2cc40: 0x6c035020, 0x2cc41: 0x6c035220, 0x2cc42: 0x6c035420, 0x2cc43: 0x6c06b420, + 0x2cc44: 0x6c06b620, 0x2cc45: 0x6c06b820, 0x2cc46: 0x6c06ba20, 0x2cc47: 0x6c06bc20, + 0x2cc48: 0x6c0d5e20, 0x2cc49: 0x6c187820, 0x2cc4a: 0x6c2b8820, 0x2cc4b: 0x6c2b8a20, + 0x2cc4c: 0x6c2b8c20, 0x2cc4d: 0x6c458220, 0x2cc4e: 0x6c66de20, 0x2cc4f: 0x6c8d6c20, + 0x2cc50: 0x6c8d6e20, 0x2cc51: 0x6cb9d620, 0x2cc52: 0x6cb9d820, 0x2cc53: 0x6c8d7e20, + 0x2cc54: 0x6d48f220, 0x2cc55: 0x6c00ac20, 0x2cc56: 0x6c035a20, 0x2cc57: 0x6c06c620, + 0x2cc58: 0x6c8d8220, 0x2cc59: 0x6c8d8420, 0x2cc5a: 0x6c00b020, 0x2cc5b: 0x6c06ca20, + 0x2cc5c: 0x6c06cc20, 0x2cc5d: 0x6c06ce20, 0x2cc5e: 0x6c06d020, 0x2cc5f: 0x6c0d6820, + 0x2cc60: 0x6c0d6a20, 0x2cc61: 0x6c0d6c20, 0x2cc62: 0x6c0d6e20, 0x2cc63: 0x6c189020, + 0x2cc64: 0x6c189220, 0x2cc65: 0x6c189420, 0x2cc66: 0x6c2b9e20, 0x2cc67: 0x6c45a020, + 0x2cc68: 0x6c45a220, 0x2cc69: 0x6c45a420, 0x2cc6a: 0x6c66fc20, 0x2cc6b: 0x6c66fe20, + 0x2cc6c: 0x6c8d8820, 0x2cc6d: 0x6c8d8a20, 0x2cc6e: 0x6c8d8c20, 0x2cc6f: 0x6cead820, + 0x2cc70: 0x6d1abc20, 0x2cc71: 0x6d1abe20, 0x2cc72: 0x6d1ac020, 0x2cc73: 0x6d48f620, + 0x2cc74: 0x6d76ea20, 0x2cc75: 0x6da07820, 0x2cc76: 0x6de06820, 0x2cc77: 0x6df8ba20, + 0x2cc78: 0x6c00b420, 0x2cc79: 0x6c036020, 0x2cc7a: 0x6c036220, 0x2cc7b: 0x6c18a620, + 0x2cc7c: 0x6c2ba820, 0x2cc7d: 0x6c45c020, 0x2cc7e: 0x6c8d9220, 0x2cc7f: 0x6c8d9420, + // Block 0xb32, offset 0x2cc80 + 0x2cc80: 0x6c8d9620, 0x2cc81: 0x6c00b620, 0x2cc82: 0x6c016820, 0x2cc83: 0x6c016a20, + 0x2cc84: 0x6c00e620, 0x2cc85: 0x6c036820, 0x2cc86: 0x6c036a20, 0x2cc87: 0x6c036c20, + 0x2cc88: 0x6c036e20, 0x2cc89: 0x6c06d220, 0x2cc8a: 0x6c06d420, 0x2cc8b: 0x6c0d8420, + 0x2cc8c: 0x6c06d620, 0x2cc8d: 0x6c0d8620, 0x2cc8e: 0x6c0d8820, 0x2cc8f: 0x6c0d8a20, + 0x2cc90: 0x6c0d8c20, 0x2cc91: 0x6c2bac20, 0x2cc92: 0x6c2bae20, 0x2cc93: 0x6c2bb020, + 0x2cc94: 0x6c2bb220, 0x2cc95: 0x6c2bb420, 0x2cc96: 0x6c2bb620, 0x2cc97: 0x6c45c820, + 0x2cc98: 0x6c45ca20, 0x2cc99: 0x6c8d9820, 0x2cc9a: 0x6cb9f220, 0x2cc9b: 0x6e0c8420, + 0x2cc9c: 0x6c00ba20, 0x2cc9d: 0x6c037620, 0x2cc9e: 0x6c037820, 0x2cc9f: 0x6c06e220, + 0x2cca0: 0x6c06e420, 0x2cca1: 0x6c06e620, 0x2cca2: 0x6c06e820, 0x2cca3: 0x6c18c020, + 0x2cca4: 0x6c18c220, 0x2cca5: 0x6c2bd620, 0x2cca6: 0x6c2bd820, 0x2cca7: 0x6c2bda20, + 0x2cca8: 0x6c8da820, 0x2cca9: 0x6c00bc20, 0x2ccaa: 0x6c017220, 0x2ccab: 0x6c017420, + 0x2ccac: 0x6c037c20, 0x2ccad: 0x6c06ec20, 0x2ccae: 0x6c06ee20, 0x2ccaf: 0x6c06f020, + 0x2ccb0: 0x6c0db820, 0x2ccb1: 0x6c0dba20, 0x2ccb2: 0x6c18d220, 0x2ccb3: 0x6c18d420, + 0x2ccb4: 0x6c18d620, 0x2ccb5: 0x6c18d820, 0x2ccb6: 0x6c2bf420, 0x2ccb7: 0x6c2bf620, + 0x2ccb8: 0x6c2bf820, 0x2ccb9: 0x6c2bfa20, 0x2ccba: 0x6c2bfc20, 0x2ccbb: 0x6c45e420, + 0x2ccbc: 0x6c45e620, 0x2ccbd: 0x6c45e820, 0x2ccbe: 0x6c8db620, 0x2ccbf: 0x6c673020, + // Block 0xb33, offset 0x2ccc0 + 0x2ccc0: 0x6ceaf820, 0x2ccc1: 0x6ceafa20, 0x2ccc2: 0x6c00be20, 0x2ccc3: 0x6c038620, + 0x2ccc4: 0x6c038820, 0x2ccc5: 0x6c038a20, 0x2ccc6: 0x6c038c20, 0x2ccc7: 0x6c06f420, + 0x2ccc8: 0x6c06f620, 0x2ccc9: 0x6c06f820, 0x2ccca: 0x6c0dce20, 0x2cccb: 0x6c0dd020, + 0x2cccc: 0x6c0dd220, 0x2cccd: 0x6c0dd420, 0x2ccce: 0x6c18e220, 0x2cccf: 0x6c18e420, + 0x2ccd0: 0x6c18e620, 0x2ccd1: 0x6c18e820, 0x2ccd2: 0x6c2c0420, 0x2ccd3: 0x6c2c0620, + 0x2ccd4: 0x6c2c0820, 0x2ccd5: 0x6c2c0a20, 0x2ccd6: 0x6c45f820, 0x2ccd7: 0x6c45fa20, + 0x2ccd8: 0x6c45fc20, 0x2ccd9: 0x6c45fe20, 0x2ccda: 0x6c460020, 0x2ccdb: 0x6c460220, + 0x2ccdc: 0x6c673820, 0x2ccdd: 0x6c673a20, 0x2ccde: 0x6c673c20, 0x2ccdf: 0x6c673e20, + 0x2cce0: 0x6c8db820, 0x2cce1: 0x6c8dba20, 0x2cce2: 0x6c8dbc20, 0x2cce3: 0x6c8dbe20, + 0x2cce4: 0x6cba0c20, 0x2cce5: 0x6cba0e20, 0x2cce6: 0x6cba1020, 0x2cce7: 0x6cba1220, + 0x2cce8: 0x6cba1420, 0x2cce9: 0x6c8dc020, 0x2ccea: 0x6ceb0420, 0x2cceb: 0x6ceb0620, + 0x2ccec: 0x6d1ae020, 0x2cced: 0x6d1ae220, 0x2ccee: 0x6d1ae420, 0x2ccef: 0x6ceb2020, + 0x2ccf0: 0x6d1ae620, 0x2ccf1: 0x6d491a20, 0x2ccf2: 0x6d491c20, 0x2ccf3: 0x6da08820, + 0x2ccf4: 0x6de07020, 0x2ccf5: 0x6e451620, 0x2ccf6: 0x6c00c020, 0x2ccf7: 0x6c039220, + 0x2ccf8: 0x6c039420, 0x2ccf9: 0x6c039620, 0x2ccfa: 0x6c070a20, 0x2ccfb: 0x6c070c20, + 0x2ccfc: 0x6c070e20, 0x2ccfd: 0x6c0df220, 0x2ccfe: 0x6c0df420, 0x2ccff: 0x6c190420, + // Block 0xb34, offset 0x2cd00 + 0x2cd00: 0x6c2c2820, 0x2cd01: 0x6c2c2a20, 0x2cd02: 0x6c2c2c20, 0x2cd03: 0x6c8de620, + 0x2cd04: 0x6c8de820, 0x2cd05: 0x6cba2e20, 0x2cd06: 0x6d1b1420, 0x2cd07: 0x6d493c20, + 0x2cd08: 0x6c00c420, 0x2cd09: 0x6c017e20, 0x2cd0a: 0x6c03a020, 0x2cd0b: 0x6c03a220, + 0x2cd0c: 0x6c03a420, 0x2cd0d: 0x6c03a620, 0x2cd0e: 0x6c03a820, 0x2cd0f: 0x6c071a20, + 0x2cd10: 0x6c071c20, 0x2cd11: 0x6c071e20, 0x2cd12: 0x6c0e0820, 0x2cd13: 0x6c190e20, + 0x2cd14: 0x6c2c3c20, 0x2cd15: 0x6c2c3e20, 0x2cd16: 0x6c2c4020, 0x2cd17: 0x6c2c4220, + 0x2cd18: 0x6c2c4420, 0x2cd19: 0x6c464020, 0x2cd1a: 0x6c464220, 0x2cd1b: 0x6c464420, + 0x2cd1c: 0x6c464620, 0x2cd1d: 0x6c464820, 0x2cd1e: 0x6c677c20, 0x2cd1f: 0x6c677e20, + 0x2cd20: 0x6ceb3220, 0x2cd21: 0x6d76fc20, 0x2cd22: 0x6dc2f620, 0x2cd23: 0x6c018020, + 0x2cd24: 0x6c073620, 0x2cd25: 0x6c073820, 0x2cd26: 0x6c073a20, 0x2cd27: 0x6c073c20, + 0x2cd28: 0x6c073e20, 0x2cd29: 0x6c074020, 0x2cd2a: 0x6c074220, 0x2cd2b: 0x6c074420, + 0x2cd2c: 0x6c074620, 0x2cd2d: 0x6c074820, 0x2cd2e: 0x6c074a20, 0x2cd2f: 0x6c074c20, + 0x2cd30: 0x6c074e20, 0x2cd31: 0x6c075020, 0x2cd32: 0x6c075220, 0x2cd33: 0x6c075420, + 0x2cd34: 0x6c075620, 0x2cd35: 0x6c075820, 0x2cd36: 0x6c075a20, 0x2cd37: 0x6c075c20, + 0x2cd38: 0x6c075e20, 0x2cd39: 0x6c076020, 0x2cd3a: 0x6c076220, 0x2cd3b: 0x6c076420, + 0x2cd3c: 0x6c076620, 0x2cd3d: 0x6c076820, 0x2cd3e: 0x6c076a20, 0x2cd3f: 0x6c0e2220, + // Block 0xb35, offset 0x2cd40 + 0x2cd40: 0x6c0e2420, 0x2cd41: 0x6c0e2620, 0x2cd42: 0x6c0e2820, 0x2cd43: 0x6c0e2a20, + 0x2cd44: 0x6c0e2c20, 0x2cd45: 0x6c0e2e20, 0x2cd46: 0x6c0e3020, 0x2cd47: 0x6c0e3220, + 0x2cd48: 0x6c0e3420, 0x2cd49: 0x6c0e3620, 0x2cd4a: 0x6c0e3820, 0x2cd4b: 0x6c0e3a20, + 0x2cd4c: 0x6c0e3c20, 0x2cd4d: 0x6c0e3e20, 0x2cd4e: 0x6c0e4020, 0x2cd4f: 0x6c0e4220, + 0x2cd50: 0x6c0e4420, 0x2cd51: 0x6c0e4620, 0x2cd52: 0x6c0e4820, 0x2cd53: 0x6c0e4a20, + 0x2cd54: 0x6c0e4c20, 0x2cd55: 0x6c0e4e20, 0x2cd56: 0x6c0e5020, 0x2cd57: 0x6c0e5220, + 0x2cd58: 0x6c193e20, 0x2cd59: 0x6c194020, 0x2cd5a: 0x6c194220, 0x2cd5b: 0x6c194420, + 0x2cd5c: 0x6c194620, 0x2cd5d: 0x6c194820, 0x2cd5e: 0x6c194a20, 0x2cd5f: 0x6c194c20, + 0x2cd60: 0x6c194e20, 0x2cd61: 0x6c195020, 0x2cd62: 0x6c195220, 0x2cd63: 0x6c195420, + 0x2cd64: 0x6c195620, 0x2cd65: 0x6c195820, 0x2cd66: 0x6c195a20, 0x2cd67: 0x6c195c20, + 0x2cd68: 0x6c195e20, 0x2cd69: 0x6c196020, 0x2cd6a: 0x6c196220, 0x2cd6b: 0x6c196420, + 0x2cd6c: 0x6c196620, 0x2cd6d: 0x6c196820, 0x2cd6e: 0x6c196a20, 0x2cd6f: 0x6c196c20, + 0x2cd70: 0x6c196e20, 0x2cd71: 0x6c197020, 0x2cd72: 0x6c197220, 0x2cd73: 0x6c197420, + 0x2cd74: 0x6c197620, 0x2cd75: 0x6c197820, 0x2cd76: 0x6c197a20, 0x2cd77: 0x6c197c20, + 0x2cd78: 0x6c197e20, 0x2cd79: 0x6c198020, 0x2cd7a: 0x6c198220, 0x2cd7b: 0x6c198420, + 0x2cd7c: 0x6c198620, 0x2cd7d: 0x6c198820, 0x2cd7e: 0x6c198a20, 0x2cd7f: 0x6c198c20, + // Block 0xb36, offset 0x2cd80 + 0x2cd80: 0x6c198e20, 0x2cd81: 0x6c199020, 0x2cd82: 0x6c199220, 0x2cd83: 0x6c199420, + 0x2cd84: 0x6c199620, 0x2cd85: 0x6c199820, 0x2cd86: 0x6c199a20, 0x2cd87: 0x6c199c20, + 0x2cd88: 0x6c199e20, 0x2cd89: 0x6c19a020, 0x2cd8a: 0x6c19a220, 0x2cd8b: 0x6c19a420, + 0x2cd8c: 0x6c19a620, 0x2cd8d: 0x6c19a820, 0x2cd8e: 0x6c19aa20, 0x2cd8f: 0x6c19ac20, + 0x2cd90: 0x6c19ae20, 0x2cd91: 0x6c19b020, 0x2cd92: 0x6c19b220, 0x2cd93: 0x6c19b420, + 0x2cd94: 0x6c19b620, 0x2cd95: 0x6c19b820, 0x2cd96: 0x6c19ba20, 0x2cd97: 0x6c19bc20, + 0x2cd98: 0x6c19be20, 0x2cd99: 0x6c19c020, 0x2cd9a: 0x6c19c220, 0x2cd9b: 0x6c19c420, + 0x2cd9c: 0x6c19c620, 0x2cd9d: 0x6c2c6820, 0x2cd9e: 0x6c2c6a20, 0x2cd9f: 0x6c2c6c20, + 0x2cda0: 0x6c2c6e20, 0x2cda1: 0x6c2c7020, 0x2cda2: 0x6c2c7220, 0x2cda3: 0x6c2c7420, + 0x2cda4: 0x6c2c7620, 0x2cda5: 0x6c2c7820, 0x2cda6: 0x6c2c7a20, 0x2cda7: 0x6c2c7c20, + 0x2cda8: 0x6c2c7e20, 0x2cda9: 0x6c2c8020, 0x2cdaa: 0x6c2c8220, 0x2cdab: 0x6c2c8420, + 0x2cdac: 0x6c2c8620, 0x2cdad: 0x6c2c8820, 0x2cdae: 0x6c2c8a20, 0x2cdaf: 0x6c2c8c20, + 0x2cdb0: 0x6c466420, 0x2cdb1: 0x6c2c8e20, 0x2cdb2: 0x6c466620, 0x2cdb3: 0x6c2c9020, + 0x2cdb4: 0x6c2c9220, 0x2cdb5: 0x6c2c9420, 0x2cdb6: 0x6c2c9620, 0x2cdb7: 0x6c2c9820, + 0x2cdb8: 0x6c2c9a20, 0x2cdb9: 0x6c2c9c20, 0x2cdba: 0x6c2c9e20, 0x2cdbb: 0x6c2ca020, + 0x2cdbc: 0x6c2ca220, 0x2cdbd: 0x6c2ca420, 0x2cdbe: 0x6c2ca620, 0x2cdbf: 0x6c2ca820, + // Block 0xb37, offset 0x2cdc0 + 0x2cdc0: 0x6c2caa20, 0x2cdc1: 0x6c2cac20, 0x2cdc2: 0x6c2cae20, 0x2cdc3: 0x6c2cb020, + 0x2cdc4: 0x6c2cb220, 0x2cdc5: 0x6c2cb420, 0x2cdc6: 0x6c2cb620, 0x2cdc7: 0x6c2cb820, + 0x2cdc8: 0x6c2cba20, 0x2cdc9: 0x6c2cbc20, 0x2cdca: 0x6c2cbe20, 0x2cdcb: 0x6c2cc020, + 0x2cdcc: 0x6c2cc220, 0x2cdcd: 0x6c2cc420, 0x2cdce: 0x6c2cc620, 0x2cdcf: 0x6c2cc820, + 0x2cdd0: 0x6c2cca20, 0x2cdd1: 0x6c2ccc20, 0x2cdd2: 0x6c2cce20, 0x2cdd3: 0x6c2cd020, + 0x2cdd4: 0x6c2cd220, 0x2cdd5: 0x6c2cd420, 0x2cdd6: 0x6c2cd620, 0x2cdd7: 0x6c2cd820, + 0x2cdd8: 0x6c2cda20, 0x2cdd9: 0x6c2cdc20, 0x2cdda: 0x6c2cde20, 0x2cddb: 0x6c2ce020, + 0x2cddc: 0x6c2ce220, 0x2cddd: 0x6c2ce420, 0x2cdde: 0x6c468620, 0x2cddf: 0x6c468820, + 0x2cde0: 0x6c468a20, 0x2cde1: 0x6c468c20, 0x2cde2: 0x6c468e20, 0x2cde3: 0x6c469020, + 0x2cde4: 0x6c469220, 0x2cde5: 0x6c469420, 0x2cde6: 0x6c469620, 0x2cde7: 0x6c469820, + 0x2cde8: 0x6c469a20, 0x2cde9: 0x6c469c20, 0x2cdea: 0x6c469e20, 0x2cdeb: 0x6c46a020, + 0x2cdec: 0x6c46a220, 0x2cded: 0x6c46a420, 0x2cdee: 0x6c46a620, 0x2cdef: 0x6c46a820, + 0x2cdf0: 0x6c46aa20, 0x2cdf1: 0x6c46ac20, 0x2cdf2: 0x6c46ae20, 0x2cdf3: 0x6c46b020, + 0x2cdf4: 0x6c46b220, 0x2cdf5: 0x6c46b420, 0x2cdf6: 0x6c46b620, 0x2cdf7: 0x6c46b820, + 0x2cdf8: 0x6c46ba20, 0x2cdf9: 0x6c46bc20, 0x2cdfa: 0x6c46be20, 0x2cdfb: 0x6c46c020, + 0x2cdfc: 0x6c46c220, 0x2cdfd: 0x6c46c420, 0x2cdfe: 0x6c46c620, 0x2cdff: 0x6c46c820, + // Block 0xb38, offset 0x2ce00 + 0x2ce00: 0x6c46ca20, 0x2ce01: 0x6c46cc20, 0x2ce02: 0x6c46ce20, 0x2ce03: 0x6c46d020, + 0x2ce04: 0x6c46d220, 0x2ce05: 0x6c46d420, 0x2ce06: 0x6c46d620, 0x2ce07: 0x6c46d820, + 0x2ce08: 0x6c46da20, 0x2ce09: 0x6c46dc20, 0x2ce0a: 0x6c46de20, 0x2ce0b: 0x6c46e020, + 0x2ce0c: 0x6c46e220, 0x2ce0d: 0x6c46e420, 0x2ce0e: 0x6c46e620, 0x2ce0f: 0x6c46e820, + 0x2ce10: 0x6c46ea20, 0x2ce11: 0x6c46ec20, 0x2ce12: 0x6c46ee20, 0x2ce13: 0x6c46f020, + 0x2ce14: 0x6c46f220, 0x2ce15: 0x6c46f420, 0x2ce16: 0x6c46f620, 0x2ce17: 0x6c46f820, + 0x2ce18: 0x6c46fa20, 0x2ce19: 0x6c46fc20, 0x2ce1a: 0x6c46fe20, 0x2ce1b: 0x6c470020, + 0x2ce1c: 0x6c470220, 0x2ce1d: 0x6c470420, 0x2ce1e: 0x6c470620, 0x2ce1f: 0x6c470820, + 0x2ce20: 0x6c67ba20, 0x2ce21: 0x6c67bc20, 0x2ce22: 0x6c67be20, 0x2ce23: 0x6c67c020, + 0x2ce24: 0x6c67c220, 0x2ce25: 0x6c67c420, 0x2ce26: 0x6c67c620, 0x2ce27: 0x6c67c820, + 0x2ce28: 0x6c67ca20, 0x2ce29: 0x6c67cc20, 0x2ce2a: 0x6c67ce20, 0x2ce2b: 0x6c67d020, + 0x2ce2c: 0x6c67d220, 0x2ce2d: 0x6c67d420, 0x2ce2e: 0x6c67d620, 0x2ce2f: 0x6c67d820, + 0x2ce30: 0x6c67da20, 0x2ce31: 0x6c67dc20, 0x2ce32: 0x6c67de20, 0x2ce33: 0x6c67e020, + 0x2ce34: 0x6c67e220, 0x2ce35: 0x6c67e420, 0x2ce36: 0x6c67e620, 0x2ce37: 0x6c67e820, + 0x2ce38: 0x6c67ea20, 0x2ce39: 0x6c67ec20, 0x2ce3a: 0x6c67ee20, 0x2ce3b: 0x6c67f020, + 0x2ce3c: 0x6c67f220, 0x2ce3d: 0x6c67f420, 0x2ce3e: 0x6c67f620, 0x2ce3f: 0x6c67f820, + // Block 0xb39, offset 0x2ce40 + 0x2ce40: 0x6c67fa20, 0x2ce41: 0x6c67fc20, 0x2ce42: 0x6c67fe20, 0x2ce43: 0x6c680020, + 0x2ce44: 0x6c680220, 0x2ce45: 0x6c680420, 0x2ce46: 0x6c680620, 0x2ce47: 0x6c680820, + 0x2ce48: 0x6c680a20, 0x2ce49: 0x6c680c20, 0x2ce4a: 0x6c680e20, 0x2ce4b: 0x6c681020, + 0x2ce4c: 0x6c8e1020, 0x2ce4d: 0x6c681220, 0x2ce4e: 0x6c681420, 0x2ce4f: 0x6c681620, + 0x2ce50: 0x6c681820, 0x2ce51: 0x6c681a20, 0x2ce52: 0x6c681c20, 0x2ce53: 0x6c681e20, + 0x2ce54: 0x6c682020, 0x2ce55: 0x6c682220, 0x2ce56: 0x6c682420, 0x2ce57: 0x6c682620, + 0x2ce58: 0x6c682820, 0x2ce59: 0x6c682a20, 0x2ce5a: 0x6c682c20, 0x2ce5b: 0x6c682e20, + 0x2ce5c: 0x6c683020, 0x2ce5d: 0x6c683220, 0x2ce5e: 0x6c683420, 0x2ce5f: 0x6c683620, + 0x2ce60: 0x6c683820, 0x2ce61: 0x6c683a20, 0x2ce62: 0x6c683c20, 0x2ce63: 0x6c683e20, + 0x2ce64: 0x6c684020, 0x2ce65: 0x6c684220, 0x2ce66: 0x6c684420, 0x2ce67: 0x6c684620, + 0x2ce68: 0x6c8e4020, 0x2ce69: 0x6c8e4220, 0x2ce6a: 0x6c8e4420, 0x2ce6b: 0x6c8e4620, + 0x2ce6c: 0x6c8e4820, 0x2ce6d: 0x6c8e4a20, 0x2ce6e: 0x6c8e4c20, 0x2ce6f: 0x6c8e4e20, + 0x2ce70: 0x6c8e5020, 0x2ce71: 0x6c8e5220, 0x2ce72: 0x6c8e5420, 0x2ce73: 0x6c8e5620, + 0x2ce74: 0x6c8e5820, 0x2ce75: 0x6c8e5a20, 0x2ce76: 0x6c8e5c20, 0x2ce77: 0x6c8e5e20, + 0x2ce78: 0x6c8e6020, 0x2ce79: 0x6c8e6220, 0x2ce7a: 0x6c8e6420, 0x2ce7b: 0x6c8e6620, + 0x2ce7c: 0x6c8e6820, 0x2ce7d: 0x6c8e6a20, 0x2ce7e: 0x6c8e6c20, 0x2ce7f: 0x6c8e6e20, + // Block 0xb3a, offset 0x2ce80 + 0x2ce80: 0x6c8e7020, 0x2ce81: 0x6c8e7220, 0x2ce82: 0x6c8e7420, 0x2ce83: 0x6c8e7620, + 0x2ce84: 0x6c8e7820, 0x2ce85: 0x6c8e7a20, 0x2ce86: 0x6c8e7c20, 0x2ce87: 0x6c8e7e20, + 0x2ce88: 0x6c8e8020, 0x2ce89: 0x6c8e8220, 0x2ce8a: 0x6c8e8420, 0x2ce8b: 0x6c8e8620, + 0x2ce8c: 0x6c8e8820, 0x2ce8d: 0x6c8e8a20, 0x2ce8e: 0x6c8e8c20, 0x2ce8f: 0x6c8e8e20, + 0x2ce90: 0x6c8e9020, 0x2ce91: 0x6c8e9220, 0x2ce92: 0x6c8e9420, 0x2ce93: 0x6c8e9620, + 0x2ce94: 0x6c8e9820, 0x2ce95: 0x6c8e9a20, 0x2ce96: 0x6c8e9c20, 0x2ce97: 0x6c8e9e20, + 0x2ce98: 0x6c8ea020, 0x2ce99: 0x6cba9420, 0x2ce9a: 0x6c8ea220, 0x2ce9b: 0x6c8ea420, + 0x2ce9c: 0x6c8ea620, 0x2ce9d: 0x6c8ea820, 0x2ce9e: 0x6c8eaa20, 0x2ce9f: 0x6c9aaa20, + 0x2cea0: 0x6c8eac20, 0x2cea1: 0x6c8eae20, 0x2cea2: 0x6c8eb020, 0x2cea3: 0x6c8eb220, + 0x2cea4: 0x6c8eb420, 0x2cea5: 0x6c8eb620, 0x2cea6: 0x6c8eb820, 0x2cea7: 0x6c8eba20, + 0x2cea8: 0x6c8ebc20, 0x2cea9: 0x6c8ebe20, 0x2ceaa: 0x6c8ec020, 0x2ceab: 0x6c901820, + 0x2ceac: 0x6c8ec220, 0x2cead: 0x6c8ec420, 0x2ceae: 0x6c8ec620, 0x2ceaf: 0x6c8ec820, + 0x2ceb0: 0x6c8eca20, 0x2ceb1: 0x6c8ecc20, 0x2ceb2: 0x6c8ece20, 0x2ceb3: 0x6c8ed020, + 0x2ceb4: 0x6c8ed220, 0x2ceb5: 0x6c8ed420, 0x2ceb6: 0x6c8ed620, 0x2ceb7: 0x6c8ed820, + 0x2ceb8: 0x6c8eda20, 0x2ceb9: 0x6c8edc20, 0x2ceba: 0x6cba9620, 0x2cebb: 0x6cba9820, + 0x2cebc: 0x6cba9a20, 0x2cebd: 0x6cba9c20, 0x2cebe: 0x6cba9e20, 0x2cebf: 0x6cbaa020, + // Block 0xb3b, offset 0x2cec0 + 0x2cec0: 0x6cbaa220, 0x2cec1: 0x6cbaa420, 0x2cec2: 0x6cbaa620, 0x2cec3: 0x6cbaa820, + 0x2cec4: 0x6cbaaa20, 0x2cec5: 0x6cbaac20, 0x2cec6: 0x6cbaae20, 0x2cec7: 0x6cbab020, + 0x2cec8: 0x6cbab220, 0x2cec9: 0x6cbab420, 0x2ceca: 0x6cbab620, 0x2cecb: 0x6cbab820, + 0x2cecc: 0x6cbaba20, 0x2cecd: 0x6ceb6e20, 0x2cece: 0x6cbabc20, 0x2cecf: 0x6cbabe20, + 0x2ced0: 0x6cbac020, 0x2ced1: 0x6cbac220, 0x2ced2: 0x6cbac420, 0x2ced3: 0x6cbac620, + 0x2ced4: 0x6cbac820, 0x2ced5: 0x6cbaca20, 0x2ced6: 0x6cbacc20, 0x2ced7: 0x6cbace20, + 0x2ced8: 0x6cbad020, 0x2ced9: 0x6cbad220, 0x2ceda: 0x6cbad420, 0x2cedb: 0x6cbad620, + 0x2cedc: 0x6cbad820, 0x2cedd: 0x6cbada20, 0x2cede: 0x6cbadc20, 0x2cedf: 0x6cbade20, + 0x2cee0: 0x6cbae020, 0x2cee1: 0x6cbae220, 0x2cee2: 0x6cbae420, 0x2cee3: 0x6cbae620, + 0x2cee4: 0x6cbae820, 0x2cee5: 0x6cbaea20, 0x2cee6: 0x6cbaec20, 0x2cee7: 0x6cbaee20, + 0x2cee8: 0x6cbaf020, 0x2cee9: 0x6cbaf220, 0x2ceea: 0x6cbaf420, 0x2ceeb: 0x6cbaf620, + 0x2ceec: 0x6cbaf820, 0x2ceed: 0x6cbafa20, 0x2ceee: 0x6cbafc20, 0x2ceef: 0x6cbafe20, + 0x2cef0: 0x6cbb0020, 0x2cef1: 0x6cbb0220, 0x2cef2: 0x6cbb0420, 0x2cef3: 0x6cbb0620, + 0x2cef4: 0x6cbb0820, 0x2cef5: 0x6cbb0a20, 0x2cef6: 0x6c901a20, 0x2cef7: 0x6cbb0c20, + 0x2cef8: 0x6cbb0e20, 0x2cef9: 0x6cbb1020, 0x2cefa: 0x6cbb1220, 0x2cefb: 0x6cbb1420, + 0x2cefc: 0x6cbb1620, 0x2cefd: 0x6cbb1820, 0x2cefe: 0x6cbb1a20, 0x2ceff: 0x6ceb7020, + // Block 0xb3c, offset 0x2cf00 + 0x2cf00: 0x6ceb7220, 0x2cf01: 0x6ceb7420, 0x2cf02: 0x6ceb7620, 0x2cf03: 0x6ceb7820, + 0x2cf04: 0x6ceb7a20, 0x2cf05: 0x6ceb7c20, 0x2cf06: 0x6ceb7e20, 0x2cf07: 0x6ceb8020, + 0x2cf08: 0x6ceb8220, 0x2cf09: 0x6ceb8420, 0x2cf0a: 0x6ceb8620, 0x2cf0b: 0x6ceb8820, + 0x2cf0c: 0x6ceb8a20, 0x2cf0d: 0x6ceb8c20, 0x2cf0e: 0x6ceb8e20, 0x2cf0f: 0x6ceb9020, + 0x2cf10: 0x6ceb9220, 0x2cf11: 0x6ceb9420, 0x2cf12: 0x6ceb9620, 0x2cf13: 0x6ceb9820, + 0x2cf14: 0x6ceb9a20, 0x2cf15: 0x6ceb9c20, 0x2cf16: 0x6ceb9e20, 0x2cf17: 0x6ceba020, + 0x2cf18: 0x6ceba220, 0x2cf19: 0x6ceba420, 0x2cf1a: 0x6ceba620, 0x2cf1b: 0x6ceba820, + 0x2cf1c: 0x6cebaa20, 0x2cf1d: 0x6cebac20, 0x2cf1e: 0x6cbc3e20, 0x2cf1f: 0x6cebae20, + 0x2cf20: 0x6cebb020, 0x2cf21: 0x6cebb220, 0x2cf22: 0x6cebb420, 0x2cf23: 0x6cebb620, + 0x2cf24: 0x6cebb820, 0x2cf25: 0x6cebba20, 0x2cf26: 0x6cebbc20, 0x2cf27: 0x6cebbe20, + 0x2cf28: 0x6cebc020, 0x2cf29: 0x6cebc220, 0x2cf2a: 0x6cebc420, 0x2cf2b: 0x6cebc620, + 0x2cf2c: 0x6cebc820, 0x2cf2d: 0x6cebca20, 0x2cf2e: 0x6cebcc20, 0x2cf2f: 0x6cebce20, + 0x2cf30: 0x6cebd020, 0x2cf31: 0x6cebd220, 0x2cf32: 0x6cebd420, 0x2cf33: 0x6cebd620, + 0x2cf34: 0x6cebd820, 0x2cf35: 0x6cebda20, 0x2cf36: 0x6d1b5220, 0x2cf37: 0x6d1b5420, + 0x2cf38: 0x6d1b5620, 0x2cf39: 0x6d1b5820, 0x2cf3a: 0x6d1b5a20, 0x2cf3b: 0x6d1b5c20, + 0x2cf3c: 0x6d1b5e20, 0x2cf3d: 0x6d1b6020, 0x2cf3e: 0x6d1b6220, 0x2cf3f: 0x6d1b6420, + // Block 0xb3d, offset 0x2cf40 + 0x2cf40: 0x6d1b6620, 0x2cf41: 0x6d1b6820, 0x2cf42: 0x6d1b6a20, 0x2cf43: 0x6d1b6c20, + 0x2cf44: 0x6d1b6e20, 0x2cf45: 0x6d1b7020, 0x2cf46: 0x6d1b7220, 0x2cf47: 0x6d1b7420, + 0x2cf48: 0x6d1b7620, 0x2cf49: 0x6d1b7820, 0x2cf4a: 0x6d1b7a20, 0x2cf4b: 0x6d1b7c20, + 0x2cf4c: 0x6d1b7e20, 0x2cf4d: 0x6d1b8020, 0x2cf4e: 0x6d1b8220, 0x2cf4f: 0x6d1b8420, + 0x2cf50: 0x6d1b8620, 0x2cf51: 0x6d1b8820, 0x2cf52: 0x6d1b8a20, 0x2cf53: 0x6d1b8c20, + 0x2cf54: 0x6d1b8e20, 0x2cf55: 0x6d1b9020, 0x2cf56: 0x6d1b9220, 0x2cf57: 0x6d1b9420, + 0x2cf58: 0x6d1b9620, 0x2cf59: 0x6d1b9820, 0x2cf5a: 0x6d1b9a20, 0x2cf5b: 0x6d1b9c20, + 0x2cf5c: 0x6d1b9e20, 0x2cf5d: 0x6d1ba020, 0x2cf5e: 0x6d1ba220, 0x2cf5f: 0x6d1cec20, + 0x2cf60: 0x6d496220, 0x2cf61: 0x6d1ba420, 0x2cf62: 0x6d1ba620, 0x2cf63: 0x6d1ba820, + 0x2cf64: 0x6d1baa20, 0x2cf65: 0x6d1bac20, 0x2cf66: 0x6d1bae20, 0x2cf67: 0x6d1bb020, + 0x2cf68: 0x6d1cee20, 0x2cf69: 0x6d496420, 0x2cf6a: 0x6d496620, 0x2cf6b: 0x6d496820, + 0x2cf6c: 0x6d496a20, 0x2cf6d: 0x6d496c20, 0x2cf6e: 0x6d496e20, 0x2cf6f: 0x6d497020, + 0x2cf70: 0x6d497220, 0x2cf71: 0x6d497420, 0x2cf72: 0x6d497620, 0x2cf73: 0x6d497820, + 0x2cf74: 0x6d497a20, 0x2cf75: 0x6d497c20, 0x2cf76: 0x6d497e20, 0x2cf77: 0x6d498020, + 0x2cf78: 0x6d498220, 0x2cf79: 0x6d498420, 0x2cf7a: 0x6d498620, 0x2cf7b: 0x6d498820, + 0x2cf7c: 0x6d498a20, 0x2cf7d: 0x6d498c20, 0x2cf7e: 0x6d498e20, 0x2cf7f: 0x6d499020, + // Block 0xb3e, offset 0x2cf80 + 0x2cf80: 0x6d499220, 0x2cf81: 0x6d499420, 0x2cf82: 0x6d499620, 0x2cf83: 0x6d499820, + 0x2cf84: 0x6d499a20, 0x2cf85: 0x6cbb1c20, 0x2cf86: 0x6d499c20, 0x2cf87: 0x6d499e20, + 0x2cf88: 0x6d49a020, 0x2cf89: 0x6d49a220, 0x2cf8a: 0x6d49a420, 0x2cf8b: 0x6d49a620, + 0x2cf8c: 0x6d49a820, 0x2cf8d: 0x6d49aa20, 0x2cf8e: 0x6d49ac20, 0x2cf8f: 0x6d49ae20, + 0x2cf90: 0x6d49b020, 0x2cf91: 0x6d1bb220, 0x2cf92: 0x6d49b220, 0x2cf93: 0x6d494c20, + 0x2cf94: 0x6d49b420, 0x2cf95: 0x6d590220, 0x2cf96: 0x6d49b620, 0x2cf97: 0x6d49b820, + 0x2cf98: 0x6d49ba20, 0x2cf99: 0x6d49bc20, 0x2cf9a: 0x6d49be20, 0x2cf9b: 0x6d49c020, + 0x2cf9c: 0x6d49c220, 0x2cf9d: 0x6d49c420, 0x2cf9e: 0x6d772220, 0x2cf9f: 0x6d772420, + 0x2cfa0: 0x6d772620, 0x2cfa1: 0x6d772820, 0x2cfa2: 0x6d772a20, 0x2cfa3: 0x6d772c20, + 0x2cfa4: 0x6d772e20, 0x2cfa5: 0x6d773020, 0x2cfa6: 0x6d773220, 0x2cfa7: 0x6d773420, + 0x2cfa8: 0x6d773620, 0x2cfa9: 0x6d773820, 0x2cfaa: 0x6d773a20, 0x2cfab: 0x6d773c20, + 0x2cfac: 0x6d773e20, 0x2cfad: 0x6d774020, 0x2cfae: 0x6d774220, 0x2cfaf: 0x6d774420, + 0x2cfb0: 0x6d774620, 0x2cfb1: 0x6d774820, 0x2cfb2: 0x6d774a20, 0x2cfb3: 0x6d774c20, + 0x2cfb4: 0x6d49c620, 0x2cfb5: 0x6d774e20, 0x2cfb6: 0x6d775020, 0x2cfb7: 0x6d775220, + 0x2cfb8: 0x6d775420, 0x2cfb9: 0x6d775620, 0x2cfba: 0x6d775820, 0x2cfbb: 0x6d775a20, + 0x2cfbc: 0x6d775c20, 0x2cfbd: 0x6da0a220, 0x2cfbe: 0x6da0a420, 0x2cfbf: 0x6da0a620, + // Block 0xb3f, offset 0x2cfc0 + 0x2cfc0: 0x6da0a820, 0x2cfc1: 0x6da0aa20, 0x2cfc2: 0x6da0ac20, 0x2cfc3: 0x6da0ae20, + 0x2cfc4: 0x6da0b020, 0x2cfc5: 0x6da0b220, 0x2cfc6: 0x6da0b420, 0x2cfc7: 0x6da0b620, + 0x2cfc8: 0x6da0b820, 0x2cfc9: 0x6da0ba20, 0x2cfca: 0x6da0bc20, 0x2cfcb: 0x6da0be20, + 0x2cfcc: 0x6da0c020, 0x2cfcd: 0x6da0c220, 0x2cfce: 0x6da0c420, 0x2cfcf: 0x6da0c620, + 0x2cfd0: 0x6da0c820, 0x2cfd1: 0x6da0ca20, 0x2cfd2: 0x6da0cc20, 0x2cfd3: 0x6da0ce20, + 0x2cfd4: 0x6dc30820, 0x2cfd5: 0x6dc30a20, 0x2cfd6: 0x6dc30c20, 0x2cfd7: 0x6dc30e20, + 0x2cfd8: 0x6dc31020, 0x2cfd9: 0x6dc31220, 0x2cfda: 0x6dc31420, 0x2cfdb: 0x6dc31620, + 0x2cfdc: 0x6dc31820, 0x2cfdd: 0x6dc31a20, 0x2cfde: 0x6dc31c20, 0x2cfdf: 0x6dc31e20, + 0x2cfe0: 0x6dc32020, 0x2cfe1: 0x6dc32220, 0x2cfe2: 0x6dc32420, 0x2cfe3: 0x6dc32620, + 0x2cfe4: 0x6dc32820, 0x2cfe5: 0x6de08420, 0x2cfe6: 0x6de08620, 0x2cfe7: 0x6de08820, + 0x2cfe8: 0x6de08a20, 0x2cfe9: 0x6de08c20, 0x2cfea: 0x6de08e20, 0x2cfeb: 0x6de09020, + 0x2cfec: 0x6de09220, 0x2cfed: 0x6de09420, 0x2cfee: 0x6dc3dc20, 0x2cfef: 0x6de09620, + 0x2cff0: 0x6de09820, 0x2cff1: 0x6df8d020, 0x2cff2: 0x6df8d220, 0x2cff3: 0x6df8d420, + 0x2cff4: 0x6df8d620, 0x2cff5: 0x6df8d820, 0x2cff6: 0x6df8da20, 0x2cff7: 0x6df8dc20, + 0x2cff8: 0x6df8de20, 0x2cff9: 0x6df8e020, 0x2cffa: 0x6e0c9020, 0x2cffb: 0x6e0c9820, + 0x2cffc: 0x6df92820, 0x2cffd: 0x6e0c9a20, 0x2cffe: 0x6e0c9c20, 0x2cfff: 0x6e0c9e20, + // Block 0xb40, offset 0x2d000 + 0x2d000: 0x6e0ca020, 0x2d001: 0x6e0ca220, 0x2d002: 0x6e0ca420, 0x2d003: 0x6e0ca620, + 0x2d004: 0x6e0ca820, 0x2d005: 0x6e1c3020, 0x2d006: 0x6e1c3220, 0x2d007: 0x6e1c3420, + 0x2d008: 0x6e1c3620, 0x2d009: 0x6e1c3820, 0x2d00a: 0x6e1c3a20, 0x2d00b: 0x6e1c3c20, + 0x2d00c: 0x6e287620, 0x2d00d: 0x6e0caa20, 0x2d00e: 0x6e1c3e20, 0x2d00f: 0x6e287820, + 0x2d010: 0x6e287a20, 0x2d011: 0x6e319e20, 0x2d012: 0x6e31a020, 0x2d013: 0x6e31a220, + 0x2d014: 0x6e384820, 0x2d015: 0x6e384a20, 0x2d016: 0x6e428420, 0x2d017: 0x6c018220, + 0x2d018: 0x6c078a20, 0x2d019: 0x6c078c20, 0x2d01a: 0x6c078e20, 0x2d01b: 0x6c079020, + 0x2d01c: 0x6c079220, 0x2d01d: 0x6c0e9820, 0x2d01e: 0x6c0e9a20, 0x2d01f: 0x6c0e9c20, + 0x2d020: 0x6c0e9e20, 0x2d021: 0x6c0ea020, 0x2d022: 0x6c0ea220, 0x2d023: 0x6c0ea420, + 0x2d024: 0x6c1a4a20, 0x2d025: 0x6c1a4c20, 0x2d026: 0x6c1a4e20, 0x2d027: 0x6c1a5020, + 0x2d028: 0x6c1a5220, 0x2d029: 0x6c1a5420, 0x2d02a: 0x6c1a5620, 0x2d02b: 0x6c1a5820, + 0x2d02c: 0x6c1a5a20, 0x2d02d: 0x6c1a5c20, 0x2d02e: 0x6c1a5e20, 0x2d02f: 0x6c1a6020, + 0x2d030: 0x6c1a6220, 0x2d031: 0x6c1a6420, 0x2d032: 0x6c1a6620, 0x2d033: 0x6c1a6820, + 0x2d034: 0x6c1a6a20, 0x2d035: 0x6c1a6c20, 0x2d036: 0x6c2d8220, 0x2d037: 0x6c2d8420, + 0x2d038: 0x6c2d8620, 0x2d039: 0x6c2d8820, 0x2d03a: 0x6c2d8a20, 0x2d03b: 0x6c2d8c20, + 0x2d03c: 0x6c2d8e20, 0x2d03d: 0x6c2d9020, 0x2d03e: 0x6c2d9220, 0x2d03f: 0x6c47de20, + // Block 0xb41, offset 0x2d040 + 0x2d040: 0x6c47e020, 0x2d041: 0x6c695020, 0x2d042: 0x6c695220, 0x2d043: 0x6c695420, + 0x2d044: 0x6c695620, 0x2d045: 0x6c695820, 0x2d046: 0x6c695a20, 0x2d047: 0x6c901c20, + 0x2d048: 0x6c901e20, 0x2d049: 0x6c902020, 0x2d04a: 0x6c902220, 0x2d04b: 0x6c902420, + 0x2d04c: 0x6cbc4020, 0x2d04d: 0x6cbc4220, 0x2d04e: 0x6cbc4420, 0x2d04f: 0x6c902620, + 0x2d050: 0x6cbc4620, 0x2d051: 0x6ced2820, 0x2d052: 0x6ced2a20, 0x2d053: 0x6ced2c20, + 0x2d054: 0x6ced2e20, 0x2d055: 0x6ced3020, 0x2d056: 0x6d1cf220, 0x2d057: 0x6d1cf420, + 0x2d058: 0x6d1cf620, 0x2d059: 0x6d1cf820, 0x2d05a: 0x6d4ab620, 0x2d05b: 0x6d785820, + 0x2d05c: 0x6d785a20, 0x2d05d: 0x6e1c7420, 0x2d05e: 0x6e3d0e20, 0x2d05f: 0x6c018420, + 0x2d060: 0x6c03ce20, 0x2d061: 0x6c03d020, 0x2d062: 0x6c07a220, 0x2d063: 0x6c07a420, + 0x2d064: 0x6c07a620, 0x2d065: 0x6c07a820, 0x2d066: 0x6c07aa20, 0x2d067: 0x6c07ac20, + 0x2d068: 0x6c0ec020, 0x2d069: 0x6c0ec220, 0x2d06a: 0x6c0ec420, 0x2d06b: 0x6c0ec620, + 0x2d06c: 0x6c0ec820, 0x2d06d: 0x6c0eca20, 0x2d06e: 0x6c0ecc20, 0x2d06f: 0x6c0ece20, + 0x2d070: 0x6c0ed020, 0x2d071: 0x6c0ed220, 0x2d072: 0x6c0ed420, 0x2d073: 0x6c0ed620, + 0x2d074: 0x6c0ed820, 0x2d075: 0x6c0eda20, 0x2d076: 0x6c0edc20, 0x2d077: 0x6c0ede20, + 0x2d078: 0x6c0ee020, 0x2d079: 0x6c0ee220, 0x2d07a: 0x6c0ee420, 0x2d07b: 0x6c1aac20, + 0x2d07c: 0x6c1aae20, 0x2d07d: 0x6c1ab020, 0x2d07e: 0x6c1ab220, 0x2d07f: 0x6c1ab420, + // Block 0xb42, offset 0x2d080 + 0x2d080: 0x6c1ab620, 0x2d081: 0x6c1ab820, 0x2d082: 0x6c1aba20, 0x2d083: 0x6c1abc20, + 0x2d084: 0x6c1abe20, 0x2d085: 0x6c1ac020, 0x2d086: 0x6c1ac220, 0x2d087: 0x6c1ac420, + 0x2d088: 0x6c1ac620, 0x2d089: 0x6c1ac820, 0x2d08a: 0x6c1aca20, 0x2d08b: 0x6c1acc20, + 0x2d08c: 0x6c1ace20, 0x2d08d: 0x6c1ad020, 0x2d08e: 0x6c1ad220, 0x2d08f: 0x6c1ad420, + 0x2d090: 0x6c1ad620, 0x2d091: 0x6c1ad820, 0x2d092: 0x6c1ada20, 0x2d093: 0x6c1adc20, + 0x2d094: 0x6c1ade20, 0x2d095: 0x6c1ae020, 0x2d096: 0x6c1ae220, 0x2d097: 0x6c1ae420, + 0x2d098: 0x6c1ae620, 0x2d099: 0x6c1ae820, 0x2d09a: 0x6c1aea20, 0x2d09b: 0x6c1aec20, + 0x2d09c: 0x6c1aee20, 0x2d09d: 0x6c1af020, 0x2d09e: 0x6c1af220, 0x2d09f: 0x6c1af420, + 0x2d0a0: 0x6c1af620, 0x2d0a1: 0x6c2db420, 0x2d0a2: 0x6c2db620, 0x2d0a3: 0x6c2db820, + 0x2d0a4: 0x6c2dba20, 0x2d0a5: 0x6c2dbc20, 0x2d0a6: 0x6c2dbe20, 0x2d0a7: 0x6c2dc020, + 0x2d0a8: 0x6c2dc220, 0x2d0a9: 0x6c2dc420, 0x2d0aa: 0x6c2dc620, 0x2d0ab: 0x6c2dc820, + 0x2d0ac: 0x6c2dca20, 0x2d0ad: 0x6c2dcc20, 0x2d0ae: 0x6c2dce20, 0x2d0af: 0x6c2dd020, + 0x2d0b0: 0x6c2dd220, 0x2d0b1: 0x6c2dd420, 0x2d0b2: 0x6c2dd620, 0x2d0b3: 0x6c2dd820, + 0x2d0b4: 0x6c2dda20, 0x2d0b5: 0x6c2ddc20, 0x2d0b6: 0x6c2dde20, 0x2d0b7: 0x6c2de020, + 0x2d0b8: 0x6c2de220, 0x2d0b9: 0x6c2de420, 0x2d0ba: 0x6c2de620, 0x2d0bb: 0x6c2de820, + 0x2d0bc: 0x6c2dea20, 0x2d0bd: 0x6c2dec20, 0x2d0be: 0x6c2dee20, 0x2d0bf: 0x6c2df020, + // Block 0xb43, offset 0x2d0c0 + 0x2d0c0: 0x6c2df220, 0x2d0c1: 0x6c2df420, 0x2d0c2: 0x6c2df620, 0x2d0c3: 0x6c2df820, + 0x2d0c4: 0x6c2dfa20, 0x2d0c5: 0x6c2dfc20, 0x2d0c6: 0x6c2dfe20, 0x2d0c7: 0x6c2e0020, + 0x2d0c8: 0x6c2e0220, 0x2d0c9: 0x6c2e0420, 0x2d0ca: 0x6c2e0620, 0x2d0cb: 0x6c481220, + 0x2d0cc: 0x6c481420, 0x2d0cd: 0x6c481620, 0x2d0ce: 0x6c481820, 0x2d0cf: 0x6c481a20, + 0x2d0d0: 0x6c481c20, 0x2d0d1: 0x6c481e20, 0x2d0d2: 0x6c482020, 0x2d0d3: 0x6c482220, + 0x2d0d4: 0x6c482420, 0x2d0d5: 0x6c482620, 0x2d0d6: 0x6c482820, 0x2d0d7: 0x6c482a20, + 0x2d0d8: 0x6c482c20, 0x2d0d9: 0x6c482e20, 0x2d0da: 0x6c483020, 0x2d0db: 0x6c483220, + 0x2d0dc: 0x6c483420, 0x2d0dd: 0x6c483620, 0x2d0de: 0x6c483820, 0x2d0df: 0x6c483a20, + 0x2d0e0: 0x6c483c20, 0x2d0e1: 0x6c483e20, 0x2d0e2: 0x6c484020, 0x2d0e3: 0x6c484220, + 0x2d0e4: 0x6c484420, 0x2d0e5: 0x6c484620, 0x2d0e6: 0x6c484820, 0x2d0e7: 0x6c484a20, + 0x2d0e8: 0x6c484c20, 0x2d0e9: 0x6c484e20, 0x2d0ea: 0x6c485020, 0x2d0eb: 0x6c485220, + 0x2d0ec: 0x6c485420, 0x2d0ed: 0x6c485620, 0x2d0ee: 0x6c485820, 0x2d0ef: 0x6c485a20, + 0x2d0f0: 0x6c485c20, 0x2d0f1: 0x6c485e20, 0x2d0f2: 0x6c486020, 0x2d0f3: 0x6c486220, + 0x2d0f4: 0x6c486420, 0x2d0f5: 0x6c486620, 0x2d0f6: 0x6c698e20, 0x2d0f7: 0x6c699020, + 0x2d0f8: 0x6c699220, 0x2d0f9: 0x6c699420, 0x2d0fa: 0x6c699620, 0x2d0fb: 0x6c699820, + 0x2d0fc: 0x6c699a20, 0x2d0fd: 0x6c699c20, 0x2d0fe: 0x6c699e20, 0x2d0ff: 0x6c69a020, + // Block 0xb44, offset 0x2d100 + 0x2d100: 0x6c69a220, 0x2d101: 0x6c69a420, 0x2d102: 0x6c69a620, 0x2d103: 0x6c69a820, + 0x2d104: 0x6c69aa20, 0x2d105: 0x6c69ac20, 0x2d106: 0x6c69ae20, 0x2d107: 0x6c69b020, + 0x2d108: 0x6c69b220, 0x2d109: 0x6c69b420, 0x2d10a: 0x6c69b620, 0x2d10b: 0x6c69b820, + 0x2d10c: 0x6c69ba20, 0x2d10d: 0x6c69bc20, 0x2d10e: 0x6c486820, 0x2d10f: 0x6c69be20, + 0x2d110: 0x6c69c020, 0x2d111: 0x6c69c220, 0x2d112: 0x6c69c420, 0x2d113: 0x6c69c620, + 0x2d114: 0x6c69c820, 0x2d115: 0x6c69ca20, 0x2d116: 0x6c69cc20, 0x2d117: 0x6c69ce20, + 0x2d118: 0x6c69d020, 0x2d119: 0x6c69d220, 0x2d11a: 0x6c69d420, 0x2d11b: 0x6c69d620, + 0x2d11c: 0x6c905420, 0x2d11d: 0x6c905620, 0x2d11e: 0x6c905820, 0x2d11f: 0x6c905a20, + 0x2d120: 0x6c905c20, 0x2d121: 0x6c905e20, 0x2d122: 0x6c906020, 0x2d123: 0x6c906220, + 0x2d124: 0x6c906420, 0x2d125: 0x6c906620, 0x2d126: 0x6c906820, 0x2d127: 0x6c906a20, + 0x2d128: 0x6c906c20, 0x2d129: 0x6c906e20, 0x2d12a: 0x6c915e20, 0x2d12b: 0x6c907020, + 0x2d12c: 0x6c907220, 0x2d12d: 0x6c907420, 0x2d12e: 0x6c907620, 0x2d12f: 0x6c907820, + 0x2d130: 0x6c907a20, 0x2d131: 0x6c907c20, 0x2d132: 0x6c907e20, 0x2d133: 0x6c908020, + 0x2d134: 0x6c908220, 0x2d135: 0x6c908420, 0x2d136: 0x6c908620, 0x2d137: 0x6c908820, + 0x2d138: 0x6c908a20, 0x2d139: 0x6c908c20, 0x2d13a: 0x6c908e20, 0x2d13b: 0x6c909020, + 0x2d13c: 0x6c909220, 0x2d13d: 0x6c909420, 0x2d13e: 0x6c909620, 0x2d13f: 0x6c909820, + // Block 0xb45, offset 0x2d140 + 0x2d140: 0x6c909a20, 0x2d141: 0x6c909c20, 0x2d142: 0x6c909e20, 0x2d143: 0x6c90a020, + 0x2d144: 0x6c90a220, 0x2d145: 0x6c90a420, 0x2d146: 0x6c90a620, 0x2d147: 0x6c90a820, + 0x2d148: 0x6c90aa20, 0x2d149: 0x6c90ac20, 0x2d14a: 0x6c90ae20, 0x2d14b: 0x6c90b020, + 0x2d14c: 0x6c90b220, 0x2d14d: 0x6c90b420, 0x2d14e: 0x6c90b620, 0x2d14f: 0x6c90b820, + 0x2d150: 0x6c90ba20, 0x2d151: 0x6c90bc20, 0x2d152: 0x6c90be20, 0x2d153: 0x6c90c020, + 0x2d154: 0x6c90c220, 0x2d155: 0x6c90c420, 0x2d156: 0x6cbc7a20, 0x2d157: 0x6cbc7c20, + 0x2d158: 0x6cbc7e20, 0x2d159: 0x6cbc8020, 0x2d15a: 0x6cbc8220, 0x2d15b: 0x6cbc8420, + 0x2d15c: 0x6cbc8620, 0x2d15d: 0x6cbc8820, 0x2d15e: 0x6cbc8a20, 0x2d15f: 0x6cbc8c20, + 0x2d160: 0x6cbc8e20, 0x2d161: 0x6cbc9020, 0x2d162: 0x6cbc9220, 0x2d163: 0x6cbc9420, + 0x2d164: 0x6cbc9620, 0x2d165: 0x6cbc9820, 0x2d166: 0x6cbc9a20, 0x2d167: 0x6cbc9c20, + 0x2d168: 0x6cbc9e20, 0x2d169: 0x6cbca020, 0x2d16a: 0x6cbca220, 0x2d16b: 0x6cbca420, + 0x2d16c: 0x6cbca620, 0x2d16d: 0x6cbca820, 0x2d16e: 0x6cbcaa20, 0x2d16f: 0x6cbcac20, + 0x2d170: 0x6cbcae20, 0x2d171: 0x6cbcb020, 0x2d172: 0x6c6a6e20, 0x2d173: 0x6cbcb220, + 0x2d174: 0x6cbcb420, 0x2d175: 0x6c916020, 0x2d176: 0x6cbcb620, 0x2d177: 0x6cbcb820, + 0x2d178: 0x6cbcba20, 0x2d179: 0x6cbcbc20, 0x2d17a: 0x6cbcbe20, 0x2d17b: 0x6cbcc020, + 0x2d17c: 0x6cbcc220, 0x2d17d: 0x6ced5820, 0x2d17e: 0x6cbcc420, 0x2d17f: 0x6cbcc620, + // Block 0xb46, offset 0x2d180 + 0x2d180: 0x6cbcc820, 0x2d181: 0x6cbcca20, 0x2d182: 0x6cbccc20, 0x2d183: 0x6ced5a20, + 0x2d184: 0x6cbcce20, 0x2d185: 0x6cbcd020, 0x2d186: 0x6cbcd220, 0x2d187: 0x6cbcd420, + 0x2d188: 0x6cbcd620, 0x2d189: 0x6ced5c20, 0x2d18a: 0x6ced5e20, 0x2d18b: 0x6ced6020, + 0x2d18c: 0x6ced6220, 0x2d18d: 0x6ced6420, 0x2d18e: 0x6ced6620, 0x2d18f: 0x6ced6820, + 0x2d190: 0x6ced6a20, 0x2d191: 0x6ced6c20, 0x2d192: 0x6ced6e20, 0x2d193: 0x6ced7020, + 0x2d194: 0x6ced7220, 0x2d195: 0x6ced7420, 0x2d196: 0x6ced7620, 0x2d197: 0x6ced7820, + 0x2d198: 0x6ced7a20, 0x2d199: 0x6ced7c20, 0x2d19a: 0x6ced7e20, 0x2d19b: 0x6ced8020, + 0x2d19c: 0x6ced8220, 0x2d19d: 0x6ced8420, 0x2d19e: 0x6ced8620, 0x2d19f: 0x6ced8820, + 0x2d1a0: 0x6ced8a20, 0x2d1a1: 0x6ced8c20, 0x2d1a2: 0x6ced8e20, 0x2d1a3: 0x6ced9020, + 0x2d1a4: 0x6ced9220, 0x2d1a5: 0x6ced9420, 0x2d1a6: 0x6ced9620, 0x2d1a7: 0x6ced9820, + 0x2d1a8: 0x6ced9a20, 0x2d1a9: 0x6ced9c20, 0x2d1aa: 0x6ced9e20, 0x2d1ab: 0x6ceda020, + 0x2d1ac: 0x6ceda220, 0x2d1ad: 0x6ceda420, 0x2d1ae: 0x6ceda620, 0x2d1af: 0x6ceda820, + 0x2d1b0: 0x6cedaa20, 0x2d1b1: 0x6cedac20, 0x2d1b2: 0x6d1d2420, 0x2d1b3: 0x6d1d2620, + 0x2d1b4: 0x6d1d2820, 0x2d1b5: 0x6d1d2a20, 0x2d1b6: 0x6d1d2c20, 0x2d1b7: 0x6d1d2e20, + 0x2d1b8: 0x6d1d3020, 0x2d1b9: 0x6d1d3220, 0x2d1ba: 0x6d1d3420, 0x2d1bb: 0x6d1d3620, + 0x2d1bc: 0x6d1d3820, 0x2d1bd: 0x6d1d3a20, 0x2d1be: 0x6d1d3c20, 0x2d1bf: 0x6d1d3e20, + // Block 0xb47, offset 0x2d1c0 + 0x2d1c0: 0x6d4ac620, 0x2d1c1: 0x6d1d4020, 0x2d1c2: 0x6d1d4220, 0x2d1c3: 0x6d1d4420, + 0x2d1c4: 0x6d1d4620, 0x2d1c5: 0x6d1d4820, 0x2d1c6: 0x6d1d4a20, 0x2d1c7: 0x6d1d4c20, + 0x2d1c8: 0x6d1d4e20, 0x2d1c9: 0x6d1d5020, 0x2d1ca: 0x6d1d5220, 0x2d1cb: 0x6d1d5420, + 0x2d1cc: 0x6d1d5620, 0x2d1cd: 0x6d1d5820, 0x2d1ce: 0x6d1d5a20, 0x2d1cf: 0x6d1d5c20, + 0x2d1d0: 0x6d1d5e20, 0x2d1d1: 0x6d1d6020, 0x2d1d2: 0x6d1d6220, 0x2d1d3: 0x6d1d6420, + 0x2d1d4: 0x6d1d6620, 0x2d1d5: 0x6d1d6820, 0x2d1d6: 0x6d1d6a20, 0x2d1d7: 0x6d1d6c20, + 0x2d1d8: 0x6d1d6e20, 0x2d1d9: 0x6d1d7020, 0x2d1da: 0x6d1d7220, 0x2d1db: 0x6d1d7420, + 0x2d1dc: 0x6d4ada20, 0x2d1dd: 0x6d4adc20, 0x2d1de: 0x6d4ade20, 0x2d1df: 0x6d4ae020, + 0x2d1e0: 0x6d4ae220, 0x2d1e1: 0x6d4ae420, 0x2d1e2: 0x6d4ae620, 0x2d1e3: 0x6d4ae820, + 0x2d1e4: 0x6d4aea20, 0x2d1e5: 0x6d4aec20, 0x2d1e6: 0x6d4aee20, 0x2d1e7: 0x6d4af020, + 0x2d1e8: 0x6d758820, 0x2d1e9: 0x6d4af220, 0x2d1ea: 0x6d4af420, 0x2d1eb: 0x6d4af620, + 0x2d1ec: 0x6d4af820, 0x2d1ed: 0x6d1df220, 0x2d1ee: 0x6d4afa20, 0x2d1ef: 0x6d4afc20, + 0x2d1f0: 0x6d4afe20, 0x2d1f1: 0x6d4b0020, 0x2d1f2: 0x6d4b0220, 0x2d1f3: 0x6d4b0420, + 0x2d1f4: 0x6d4b0620, 0x2d1f5: 0x6d4b0820, 0x2d1f6: 0x6d4b0a20, 0x2d1f7: 0x6d4b0c20, + 0x2d1f8: 0x6d4b0e20, 0x2d1f9: 0x6d4b1020, 0x2d1fa: 0x6d787420, 0x2d1fb: 0x6d787620, + 0x2d1fc: 0x6d787820, 0x2d1fd: 0x6d787a20, 0x2d1fe: 0x6d787c20, 0x2d1ff: 0x6d787e20, + // Block 0xb48, offset 0x2d200 + 0x2d200: 0x6d788020, 0x2d201: 0x6d788220, 0x2d202: 0x6d788420, 0x2d203: 0x6d788620, + 0x2d204: 0x6d788820, 0x2d205: 0x6d788a20, 0x2d206: 0x6d788c20, 0x2d207: 0x6d788e20, + 0x2d208: 0x6d789020, 0x2d209: 0x6d789220, 0x2d20a: 0x6d789420, 0x2d20b: 0x6d789620, + 0x2d20c: 0x6d789820, 0x2d20d: 0x6da19020, 0x2d20e: 0x6da19220, 0x2d20f: 0x6da19420, + 0x2d210: 0x6da19620, 0x2d211: 0x6da19820, 0x2d212: 0x6da19a20, 0x2d213: 0x6da19c20, + 0x2d214: 0x6da19e20, 0x2d215: 0x6da1a020, 0x2d216: 0x6da1a220, 0x2d217: 0x6da1a420, + 0x2d218: 0x6dc3e620, 0x2d219: 0x6dc3e820, 0x2d21a: 0x6de10620, 0x2d21b: 0x6de10820, + 0x2d21c: 0x6de10a20, 0x2d21d: 0x6de10c20, 0x2d21e: 0x6de10e20, 0x2d21f: 0x6de11020, + 0x2d220: 0x6de11220, 0x2d221: 0x6de07820, 0x2d222: 0x6de11420, 0x2d223: 0x6df93420, + 0x2d224: 0x6df93620, 0x2d225: 0x6df93820, 0x2d226: 0x6e0cfc20, 0x2d227: 0x6e288e20, + 0x2d228: 0x6e289020, 0x2d229: 0x6e31c420, 0x2d22a: 0x6e386020, 0x2d22b: 0x6c018620, + 0x2d22c: 0x6c03da20, 0x2d22d: 0x6c07c420, 0x2d22e: 0x6c0f0e20, 0x2d22f: 0x6c1b6620, + 0x2d230: 0x6c1b6820, 0x2d231: 0x6c1b6a20, 0x2d232: 0x6c1b6c20, 0x2d233: 0x6c1b6e20, + 0x2d234: 0x6c48e620, 0x2d235: 0x6c48e820, 0x2d236: 0x6c6a7020, 0x2d237: 0x6c916220, + 0x2d238: 0x6c916420, 0x2d239: 0x6cbd8820, 0x2d23a: 0x6cbd8a20, 0x2d23b: 0x6cbd8c20, + 0x2d23c: 0x6cee4e20, 0x2d23d: 0x6d1df420, 0x2d23e: 0x6d1df620, 0x2d23f: 0x6d4ba220, + // Block 0xb49, offset 0x2d240 + 0x2d240: 0x6d4ba420, 0x2d241: 0x6d790020, 0x2d242: 0x6c018820, 0x2d243: 0x6c03dc20, + 0x2d244: 0x6c07c820, 0x2d245: 0x6c0f1220, 0x2d246: 0x6c1b7420, 0x2d247: 0x6c2e8020, + 0x2d248: 0x6c48f220, 0x2d249: 0x6c48f820, 0x2d24a: 0x6c018c20, 0x2d24b: 0x6c1b7c20, + 0x2d24c: 0x6c2e8220, 0x2d24d: 0x6c48fa20, 0x2d24e: 0x6c6a8420, 0x2d24f: 0x6c6a8620, + 0x2d250: 0x6d1e0220, 0x2d251: 0x6dc43a20, 0x2d252: 0x6de14820, 0x2d253: 0x6dc43c20, + 0x2d254: 0x6e0d1e20, 0x2d255: 0x6c018e20, 0x2d256: 0x6c07d020, 0x2d257: 0x6c07d220, + 0x2d258: 0x6c07d420, 0x2d259: 0x6c0f1c20, 0x2d25a: 0x6c0f1e20, 0x2d25b: 0x6c0f2020, + 0x2d25c: 0x6c2e8e20, 0x2d25d: 0x6c2e9020, 0x2d25e: 0x6c6a8c20, 0x2d25f: 0x6c918020, + 0x2d260: 0x6c918220, 0x2d261: 0x6cbd9a20, 0x2d262: 0x6d1e1020, 0x2d263: 0x6d1e1220, + 0x2d264: 0x6d1e1420, 0x2d265: 0x6d1e1620, 0x2d266: 0x6d4bae20, 0x2d267: 0x6c019020, + 0x2d268: 0x6c019220, 0x2d269: 0x6c03de20, 0x2d26a: 0x6c03e020, 0x2d26b: 0x6c03e220, + 0x2d26c: 0x6c03e420, 0x2d26d: 0x6c03e620, 0x2d26e: 0x6c07de20, 0x2d26f: 0x6c07e020, + 0x2d270: 0x6c07e220, 0x2d271: 0x6c07e420, 0x2d272: 0x6c07e620, 0x2d273: 0x6c07e820, + 0x2d274: 0x6c07ea20, 0x2d275: 0x6c0f3220, 0x2d276: 0x6c0f3420, 0x2d277: 0x6c0f3620, + 0x2d278: 0x6c0f3820, 0x2d279: 0x6c0f3a20, 0x2d27a: 0x6c0f3c20, 0x2d27b: 0x6c0f3e20, + 0x2d27c: 0x6c0f4020, 0x2d27d: 0x6c1b8e20, 0x2d27e: 0x6c1b9020, 0x2d27f: 0x6c1b9220, + // Block 0xb4a, offset 0x2d280 + 0x2d280: 0x6c1b9420, 0x2d281: 0x6c1b9620, 0x2d282: 0x6c1b9820, 0x2d283: 0x6c2ea620, + 0x2d284: 0x6c2ea820, 0x2d285: 0x6c2eaa20, 0x2d286: 0x6c2eac20, 0x2d287: 0x6c2eae20, + 0x2d288: 0x6c2eb020, 0x2d289: 0x6c2eb220, 0x2d28a: 0x6c6aaa20, 0x2d28b: 0x6c2eb420, + 0x2d28c: 0x6c2eb620, 0x2d28d: 0x6c2eb820, 0x2d28e: 0x6c490620, 0x2d28f: 0x6c490820, + 0x2d290: 0x6c490a20, 0x2d291: 0x6c490c20, 0x2d292: 0x6c490e20, 0x2d293: 0x6c491020, + 0x2d294: 0x6c2ef220, 0x2d295: 0x6c491220, 0x2d296: 0x6c491420, 0x2d297: 0x6c6aac20, + 0x2d298: 0x6c6aae20, 0x2d299: 0x6c6ab020, 0x2d29a: 0x6c6ab220, 0x2d29b: 0x6c919e20, + 0x2d29c: 0x6c91a020, 0x2d29d: 0x6c91a220, 0x2d29e: 0x6c91a420, 0x2d29f: 0x6c91d220, + 0x2d2a0: 0x6cbdb820, 0x2d2a1: 0x6cbdba20, 0x2d2a2: 0x6c91d420, 0x2d2a3: 0x6cbdbc20, + 0x2d2a4: 0x6cbdbe20, 0x2d2a5: 0x6cbdc020, 0x2d2a6: 0x6cee7820, 0x2d2a7: 0x6cee7a20, + 0x2d2a8: 0x6cee7c20, 0x2d2a9: 0x6d1e2e20, 0x2d2aa: 0x6d1e3020, 0x2d2ab: 0x6d1e3220, + 0x2d2ac: 0x6d1e3420, 0x2d2ad: 0x6d4bb820, 0x2d2ae: 0x6d791e20, 0x2d2af: 0x6d792020, + 0x2d2b0: 0x6dc44c20, 0x2d2b1: 0x6e1c9220, 0x2d2b2: 0x6e28a420, 0x2d2b3: 0x6c019420, + 0x2d2b4: 0x6c07fe20, 0x2d2b5: 0x6c080020, 0x2d2b6: 0x6c080220, 0x2d2b7: 0x6c0f6220, + 0x2d2b8: 0x6c0f6420, 0x2d2b9: 0x6c0f6620, 0x2d2ba: 0x6c0f6820, 0x2d2bb: 0x6c0f6a20, + 0x2d2bc: 0x6c0f6c20, 0x2d2bd: 0x6c0f6e20, 0x2d2be: 0x6c0f7020, 0x2d2bf: 0x6c0f7220, + // Block 0xb4b, offset 0x2d2c0 + 0x2d2c0: 0x6c0f7420, 0x2d2c1: 0x6c0f7620, 0x2d2c2: 0x6c0f7820, 0x2d2c3: 0x6c0f7a20, + 0x2d2c4: 0x6c0f7c20, 0x2d2c5: 0x6c0f7e20, 0x2d2c6: 0x6c0f8020, 0x2d2c7: 0x6c0f8220, + 0x2d2c8: 0x6c0f8420, 0x2d2c9: 0x6c1bd420, 0x2d2ca: 0x6c1bd620, 0x2d2cb: 0x6c1bd820, + 0x2d2cc: 0x6c1bda20, 0x2d2cd: 0x6c495420, 0x2d2ce: 0x6c1bdc20, 0x2d2cf: 0x6c1bde20, + 0x2d2d0: 0x6c1be020, 0x2d2d1: 0x6c1be220, 0x2d2d2: 0x6c1be420, 0x2d2d3: 0x6c1be620, + 0x2d2d4: 0x6c1be820, 0x2d2d5: 0x6c1bea20, 0x2d2d6: 0x6c1bec20, 0x2d2d7: 0x6c1bee20, + 0x2d2d8: 0x6c1bf020, 0x2d2d9: 0x6c1bf220, 0x2d2da: 0x6c1bf420, 0x2d2db: 0x6c1bf620, + 0x2d2dc: 0x6c1bf820, 0x2d2dd: 0x6c1bfa20, 0x2d2de: 0x6c1bfc20, 0x2d2df: 0x6c1bfe20, + 0x2d2e0: 0x6c1c0020, 0x2d2e1: 0x6c1c0220, 0x2d2e2: 0x6c1c0420, 0x2d2e3: 0x6c1c0620, + 0x2d2e4: 0x6c1c0820, 0x2d2e5: 0x6c1c0a20, 0x2d2e6: 0x6c1c0c20, 0x2d2e7: 0x6c1c0e20, + 0x2d2e8: 0x6c1c1020, 0x2d2e9: 0x6c1c1220, 0x2d2ea: 0x6c1c1420, 0x2d2eb: 0x6c1c1620, + 0x2d2ec: 0x6c2f1820, 0x2d2ed: 0x6c2f1a20, 0x2d2ee: 0x6c2f1c20, 0x2d2ef: 0x6c2f1e20, + 0x2d2f0: 0x6c2f2020, 0x2d2f1: 0x6c2f2220, 0x2d2f2: 0x6c2f2420, 0x2d2f3: 0x6c2f2620, + 0x2d2f4: 0x6c2f2820, 0x2d2f5: 0x6c2f2a20, 0x2d2f6: 0x6c2f2c20, 0x2d2f7: 0x6c2f2e20, + 0x2d2f8: 0x6c2f3020, 0x2d2f9: 0x6c2f3220, 0x2d2fa: 0x6c2f3420, 0x2d2fb: 0x6c2f3620, + 0x2d2fc: 0x6c2f3820, 0x2d2fd: 0x6c2f3a20, 0x2d2fe: 0x6c2f3c20, 0x2d2ff: 0x6c2f3e20, + // Block 0xb4c, offset 0x2d300 + 0x2d300: 0x6c2f4020, 0x2d301: 0x6c2f4220, 0x2d302: 0x6c2f4420, 0x2d303: 0x6c2f4620, + 0x2d304: 0x6c2f4820, 0x2d305: 0x6c2f4a20, 0x2d306: 0x6c2f4c20, 0x2d307: 0x6c2f4e20, + 0x2d308: 0x6c2f5020, 0x2d309: 0x6c2f5220, 0x2d30a: 0x6c2f5420, 0x2d30b: 0x6c2f5620, + 0x2d30c: 0x6c2f5820, 0x2d30d: 0x6c2f5a20, 0x2d30e: 0x6c2f5c20, 0x2d30f: 0x6c2f5e20, + 0x2d310: 0x6c2f6020, 0x2d311: 0x6c2f6220, 0x2d312: 0x6c2f6420, 0x2d313: 0x6c2f6620, + 0x2d314: 0x6c2f6820, 0x2d315: 0x6c493c20, 0x2d316: 0x6c2f6a20, 0x2d317: 0x6c2f6c20, + 0x2d318: 0x6c495620, 0x2d319: 0x6c495820, 0x2d31a: 0x6c495a20, 0x2d31b: 0x6c495c20, + 0x2d31c: 0x6c495e20, 0x2d31d: 0x6c496020, 0x2d31e: 0x6c496220, 0x2d31f: 0x6c496420, + 0x2d320: 0x6c496620, 0x2d321: 0x6c496820, 0x2d322: 0x6c496a20, 0x2d323: 0x6c496c20, + 0x2d324: 0x6c496e20, 0x2d325: 0x6c497020, 0x2d326: 0x6c497220, 0x2d327: 0x6c497420, + 0x2d328: 0x6c497620, 0x2d329: 0x6c497820, 0x2d32a: 0x6c497a20, 0x2d32b: 0x6c497c20, + 0x2d32c: 0x6c6b1820, 0x2d32d: 0x6c497e20, 0x2d32e: 0x6c498020, 0x2d32f: 0x6c498220, + 0x2d330: 0x6c498420, 0x2d331: 0x6c498620, 0x2d332: 0x6c498820, 0x2d333: 0x6c498a20, + 0x2d334: 0x6c498c20, 0x2d335: 0x6c498e20, 0x2d336: 0x6c499020, 0x2d337: 0x6c499220, + 0x2d338: 0x6c499420, 0x2d339: 0x6c499620, 0x2d33a: 0x6c499820, 0x2d33b: 0x6c499a20, + 0x2d33c: 0x6c499c20, 0x2d33d: 0x6c499e20, 0x2d33e: 0x6c49a020, 0x2d33f: 0x6c49a220, + // Block 0xb4d, offset 0x2d340 + 0x2d340: 0x6c49a420, 0x2d341: 0x6c49a620, 0x2d342: 0x6c49a820, 0x2d343: 0x6c49aa20, + 0x2d344: 0x6c5c3020, 0x2d345: 0x6c49ac20, 0x2d346: 0x6c49ae20, 0x2d347: 0x6c49b020, + 0x2d348: 0x6c49b220, 0x2d349: 0x6c6b1a20, 0x2d34a: 0x6c6b1c20, 0x2d34b: 0x6c6b1e20, + 0x2d34c: 0x6c6b2020, 0x2d34d: 0x6c4a1a20, 0x2d34e: 0x6c6b2220, 0x2d34f: 0x6c6b2420, + 0x2d350: 0x6c6b2620, 0x2d351: 0x6c6b2820, 0x2d352: 0x6c6b2a20, 0x2d353: 0x6c6b2c20, + 0x2d354: 0x6c6b2e20, 0x2d355: 0x6c6b3020, 0x2d356: 0x6c6b3220, 0x2d357: 0x6c6b3420, + 0x2d358: 0x6c6b3620, 0x2d359: 0x6c6b3820, 0x2d35a: 0x6c6b3a20, 0x2d35b: 0x6c6b3c20, + 0x2d35c: 0x6c6b3e20, 0x2d35d: 0x6c6b4020, 0x2d35e: 0x6c6b4220, 0x2d35f: 0x6c6b4420, + 0x2d360: 0x6c6b4620, 0x2d361: 0x6c6b4820, 0x2d362: 0x6c6b4a20, 0x2d363: 0x6c6b4c20, + 0x2d364: 0x6c6b4e20, 0x2d365: 0x6c6b5020, 0x2d366: 0x6c6b5220, 0x2d367: 0x6c6b5420, + 0x2d368: 0x6c6b5620, 0x2d369: 0x6c6b5820, 0x2d36a: 0x6c6b5a20, 0x2d36b: 0x6c91d620, + 0x2d36c: 0x6c91ec20, 0x2d36d: 0x6c6b5c20, 0x2d36e: 0x6c6b5e20, 0x2d36f: 0x6c6b6020, + 0x2d370: 0x6c6b6220, 0x2d371: 0x6c6b6420, 0x2d372: 0x6c6b6620, 0x2d373: 0x6c6b6820, + 0x2d374: 0x6c6b6a20, 0x2d375: 0x6c91ee20, 0x2d376: 0x6c91f020, 0x2d377: 0x6c91f220, + 0x2d378: 0x6c91f420, 0x2d379: 0x6c91f620, 0x2d37a: 0x6c91f820, 0x2d37b: 0x6c91fa20, + 0x2d37c: 0x6c91fc20, 0x2d37d: 0x6c91d820, 0x2d37e: 0x6c91fe20, 0x2d37f: 0x6c920020, + // Block 0xb4e, offset 0x2d380 + 0x2d380: 0x6c920220, 0x2d381: 0x6c920420, 0x2d382: 0x6c920620, 0x2d383: 0x6c920820, + 0x2d384: 0x6c920a20, 0x2d385: 0x6c920c20, 0x2d386: 0x6c920e20, 0x2d387: 0x6c921020, + 0x2d388: 0x6c921220, 0x2d389: 0x6c921420, 0x2d38a: 0x6c921620, 0x2d38b: 0x6c921820, + 0x2d38c: 0x6c921a20, 0x2d38d: 0x6c921c20, 0x2d38e: 0x6c921e20, 0x2d38f: 0x6c922020, + 0x2d390: 0x6c922220, 0x2d391: 0x6c922420, 0x2d392: 0x6c922620, 0x2d393: 0x6c922820, + 0x2d394: 0x6c922a20, 0x2d395: 0x6c922c20, 0x2d396: 0x6c922e20, 0x2d397: 0x6c923020, + 0x2d398: 0x6c923220, 0x2d399: 0x6c923420, 0x2d39a: 0x6c923620, 0x2d39b: 0x6c923820, + 0x2d39c: 0x6c923a20, 0x2d39d: 0x6c923c20, 0x2d39e: 0x6c923e20, 0x2d39f: 0x6c924020, + 0x2d3a0: 0x6c924220, 0x2d3a1: 0x6c924420, 0x2d3a2: 0x6c924620, 0x2d3a3: 0x6c924820, + 0x2d3a4: 0x6c924a20, 0x2d3a5: 0x6c924c20, 0x2d3a6: 0x6c924e20, 0x2d3a7: 0x6c925020, + 0x2d3a8: 0x6c925220, 0x2d3a9: 0x6c925420, 0x2d3aa: 0x6c925620, 0x2d3ab: 0x6c925820, + 0x2d3ac: 0x6c925a20, 0x2d3ad: 0x6c925c20, 0x2d3ae: 0x6c925e20, 0x2d3af: 0x6c926020, + 0x2d3b0: 0x6c926220, 0x2d3b1: 0x6c926420, 0x2d3b2: 0x6c926620, 0x2d3b3: 0x6c926820, + 0x2d3b4: 0x6c926a20, 0x2d3b5: 0x6c926c20, 0x2d3b6: 0x6c926e20, 0x2d3b7: 0x6cbe2020, + 0x2d3b8: 0x6cbe2220, 0x2d3b9: 0x6cbe2420, 0x2d3ba: 0x6cbe2620, 0x2d3bb: 0x6cbe2820, + 0x2d3bc: 0x6cbe2a20, 0x2d3bd: 0x6cbe2c20, 0x2d3be: 0x6cbe2e20, 0x2d3bf: 0x6cbe3020, + // Block 0xb4f, offset 0x2d3c0 + 0x2d3c0: 0x6cbe3220, 0x2d3c1: 0x6cbe3420, 0x2d3c2: 0x6cbe3620, 0x2d3c3: 0x6cbe3820, + 0x2d3c4: 0x6cbe3a20, 0x2d3c5: 0x6cbe3c20, 0x2d3c6: 0x6cbe3e20, 0x2d3c7: 0x6cbe4020, + 0x2d3c8: 0x6cbe4220, 0x2d3c9: 0x6cbe4420, 0x2d3ca: 0x6cbe4620, 0x2d3cb: 0x6cbe4820, + 0x2d3cc: 0x6cbe4a20, 0x2d3cd: 0x6cbe4c20, 0x2d3ce: 0x6c930220, 0x2d3cf: 0x6cbe4e20, + 0x2d3d0: 0x6ceec620, 0x2d3d1: 0x6cbe5020, 0x2d3d2: 0x6cbe5220, 0x2d3d3: 0x6cbe5420, + 0x2d3d4: 0x6cbe5620, 0x2d3d5: 0x6cbe5820, 0x2d3d6: 0x6cbe5a20, 0x2d3d7: 0x6cbe5c20, + 0x2d3d8: 0x6cbe5e20, 0x2d3d9: 0x6cbe6020, 0x2d3da: 0x6cbe6220, 0x2d3db: 0x6cbe6420, + 0x2d3dc: 0x6cbe6620, 0x2d3dd: 0x6cbe6820, 0x2d3de: 0x6cbe6a20, 0x2d3df: 0x6cbe6c20, + 0x2d3e0: 0x6cbe6e20, 0x2d3e1: 0x6cbe7020, 0x2d3e2: 0x6cbe7220, 0x2d3e3: 0x6cbe7420, + 0x2d3e4: 0x6cbe7620, 0x2d3e5: 0x6cbe7820, 0x2d3e6: 0x6cbe7a20, 0x2d3e7: 0x6cbe7c20, + 0x2d3e8: 0x6cbe7e20, 0x2d3e9: 0x6cbe8020, 0x2d3ea: 0x6cbe8220, 0x2d3eb: 0x6cbe8420, + 0x2d3ec: 0x6cbe8620, 0x2d3ed: 0x6cbe8820, 0x2d3ee: 0x6cbe8a20, 0x2d3ef: 0x6cbe8c20, + 0x2d3f0: 0x6ceec820, 0x2d3f1: 0x6ceeca20, 0x2d3f2: 0x6ceecc20, 0x2d3f3: 0x6ceece20, + 0x2d3f4: 0x6ceed020, 0x2d3f5: 0x6ceed220, 0x2d3f6: 0x6ceed420, 0x2d3f7: 0x6ceed620, + 0x2d3f8: 0x6ceed820, 0x2d3f9: 0x6ceeda20, 0x2d3fa: 0x6ceedc20, 0x2d3fb: 0x6ceede20, + 0x2d3fc: 0x6ceee020, 0x2d3fd: 0x6ceee220, 0x2d3fe: 0x6ceee420, 0x2d3ff: 0x6ceee620, + // Block 0xb50, offset 0x2d400 + 0x2d400: 0x6ceee820, 0x2d401: 0x6ceeea20, 0x2d402: 0x6ceeec20, 0x2d403: 0x6ceeee20, + 0x2d404: 0x6ceef020, 0x2d405: 0x6ceef220, 0x2d406: 0x6ceef420, 0x2d407: 0x6ceef620, + 0x2d408: 0x6ceef820, 0x2d409: 0x6ceefa20, 0x2d40a: 0x6ceefc20, 0x2d40b: 0x6ceefe20, + 0x2d40c: 0x6cef0020, 0x2d40d: 0x6cef0220, 0x2d40e: 0x6cef0420, 0x2d40f: 0x6cbe8e20, + 0x2d410: 0x6cef0620, 0x2d411: 0x6cef0820, 0x2d412: 0x6cef0a20, 0x2d413: 0x6cef0c20, + 0x2d414: 0x6cef0e20, 0x2d415: 0x6d1e6e20, 0x2d416: 0x6d1e7020, 0x2d417: 0x6d1e7220, + 0x2d418: 0x6d1e7420, 0x2d419: 0x6d1e7620, 0x2d41a: 0x6d1e7820, 0x2d41b: 0x6d1e7a20, + 0x2d41c: 0x6d1e7c20, 0x2d41d: 0x6d1e7e20, 0x2d41e: 0x6d1e8020, 0x2d41f: 0x6d1e8220, + 0x2d420: 0x6d1e8420, 0x2d421: 0x6d1e8620, 0x2d422: 0x6d1e8820, 0x2d423: 0x6d1e8a20, + 0x2d424: 0x6d1e8c20, 0x2d425: 0x6d1e8e20, 0x2d426: 0x6d1e9020, 0x2d427: 0x6d1e9220, + 0x2d428: 0x6d1e9420, 0x2d429: 0x6d1e9620, 0x2d42a: 0x6d1e9820, 0x2d42b: 0x6d1e9a20, + 0x2d42c: 0x6d1e9c20, 0x2d42d: 0x6d1e9e20, 0x2d42e: 0x6d1ea020, 0x2d42f: 0x6d1ea220, + 0x2d430: 0x6d1ea420, 0x2d431: 0x6d1ea620, 0x2d432: 0x6d1ea820, 0x2d433: 0x6d1f2820, + 0x2d434: 0x6d4bea20, 0x2d435: 0x6d4bec20, 0x2d436: 0x6d4bee20, 0x2d437: 0x6d4bf020, + 0x2d438: 0x6d4bf220, 0x2d439: 0x6d4bf420, 0x2d43a: 0x6d4bf620, 0x2d43b: 0x6d4bf820, + 0x2d43c: 0x6d4bfa20, 0x2d43d: 0x6d4bfc20, 0x2d43e: 0x6d4bfe20, 0x2d43f: 0x6d4c0020, + // Block 0xb51, offset 0x2d440 + 0x2d440: 0x6d4c0220, 0x2d441: 0x6d4c0420, 0x2d442: 0x6d4c0620, 0x2d443: 0x6d4c0820, + 0x2d444: 0x6d4c0a20, 0x2d445: 0x6d4c0c20, 0x2d446: 0x6d4c0e20, 0x2d447: 0x6d4c1020, + 0x2d448: 0x6d4c1220, 0x2d449: 0x6d4c1420, 0x2d44a: 0x6d4c1620, 0x2d44b: 0x6d4c1820, + 0x2d44c: 0x6d4c1a20, 0x2d44d: 0x6d4c1c20, 0x2d44e: 0x6d4c1e20, 0x2d44f: 0x6d4c2020, + 0x2d450: 0x6d794220, 0x2d451: 0x6d794420, 0x2d452: 0x6d794620, 0x2d453: 0x6d794820, + 0x2d454: 0x6d794a20, 0x2d455: 0x6d794c20, 0x2d456: 0x6d794e20, 0x2d457: 0x6d795020, + 0x2d458: 0x6d795220, 0x2d459: 0x6d795420, 0x2d45a: 0x6d795620, 0x2d45b: 0x6d795820, + 0x2d45c: 0x6d795a20, 0x2d45d: 0x6d795c20, 0x2d45e: 0x6d795e20, 0x2d45f: 0x6d796020, + 0x2d460: 0x6d796220, 0x2d461: 0x6d796420, 0x2d462: 0x6d796620, 0x2d463: 0x6da22620, + 0x2d464: 0x6da22820, 0x2d465: 0x6da22a20, 0x2d466: 0x6da22c20, 0x2d467: 0x6da22e20, + 0x2d468: 0x6d79de20, 0x2d469: 0x6da23020, 0x2d46a: 0x6da23220, 0x2d46b: 0x6da23420, + 0x2d46c: 0x6da23620, 0x2d46d: 0x6da23820, 0x2d46e: 0x6da23a20, 0x2d46f: 0x6da23c20, + 0x2d470: 0x6da23e20, 0x2d471: 0x6da24020, 0x2d472: 0x6da24220, 0x2d473: 0x6da24420, + 0x2d474: 0x6d796820, 0x2d475: 0x6da24620, 0x2d476: 0x6da24820, 0x2d477: 0x6da24a20, + 0x2d478: 0x6dc45820, 0x2d479: 0x6de16220, 0x2d47a: 0x6dc45a20, 0x2d47b: 0x6dc45c20, + 0x2d47c: 0x6dc45e20, 0x2d47d: 0x6de15820, 0x2d47e: 0x6de16420, 0x2d47f: 0x6de16620, + // Block 0xb52, offset 0x2d480 + 0x2d480: 0x6df96220, 0x2d481: 0x6df96420, 0x2d482: 0x6df96620, 0x2d483: 0x6df96820, + 0x2d484: 0x6df96a20, 0x2d485: 0x6df96c20, 0x2d486: 0x6df96e20, 0x2d487: 0x6e0d2a20, + 0x2d488: 0x6e0d2c20, 0x2d489: 0x6e0d2e20, 0x2d48a: 0x6e1c9a20, 0x2d48b: 0x6e1c9c20, + 0x2d48c: 0x6e1c9e20, 0x2d48d: 0x6e28a620, 0x2d48e: 0x6e31d820, 0x2d48f: 0x6e31da20, + 0x2d490: 0x6c019620, 0x2d491: 0x6c019820, 0x2d492: 0x6c019a20, 0x2d493: 0x6c019c20, + 0x2d494: 0x6c03f220, 0x2d495: 0x6c081220, 0x2d496: 0x6c0fa820, 0x2d497: 0x6c0faa20, + 0x2d498: 0x6c0fac20, 0x2d499: 0x6c0fae20, 0x2d49a: 0x6c1c6620, 0x2d49b: 0x6c1c6820, + 0x2d49c: 0x6c1c6a20, 0x2d49d: 0x6c1c6c20, 0x2d49e: 0x6c1c6e20, 0x2d49f: 0x6c2fca20, + 0x2d4a0: 0x6c2fcc20, 0x2d4a1: 0x6c2fce20, 0x2d4a2: 0x6c2fd020, 0x2d4a3: 0x6c2fd220, + 0x2d4a4: 0x6c2fd420, 0x2d4a5: 0x6c2fd620, 0x2d4a6: 0x6c2fd820, 0x2d4a7: 0x6c2fda20, + 0x2d4a8: 0x6c4a1e20, 0x2d4a9: 0x6c4a2020, 0x2d4aa: 0x6c4a2220, 0x2d4ab: 0x6c6be020, + 0x2d4ac: 0x6c6be220, 0x2d4ad: 0x6c6be420, 0x2d4ae: 0x6c930420, 0x2d4af: 0x6c930620, + 0x2d4b0: 0x6c930820, 0x2d4b1: 0x6cbf4420, 0x2d4b2: 0x6c930a20, 0x2d4b3: 0x6cbf6220, + 0x2d4b4: 0x6cef7a20, 0x2d4b5: 0x6d1f2a20, 0x2d4b6: 0x6cef9820, 0x2d4b7: 0x6d1f2c20, + 0x2d4b8: 0x6d79e220, 0x2d4b9: 0x6d79e420, 0x2d4ba: 0x6da29620, 0x2d4bb: 0x6da29820, + 0x2d4bc: 0x6de19020, 0x2d4bd: 0x6df98620, 0x2d4be: 0x6df98820, 0x2d4bf: 0x6e1cb420, + // Block 0xb53, offset 0x2d4c0 + 0x2d4c0: 0x6c01a020, 0x2d4c1: 0x6c082220, 0x2d4c2: 0x6c082420, 0x2d4c3: 0x6c082620, + 0x2d4c4: 0x6c082820, 0x2d4c5: 0x6c0fbc20, 0x2d4c6: 0x6c0fbe20, 0x2d4c7: 0x6c0fc020, + 0x2d4c8: 0x6c0fc220, 0x2d4c9: 0x6c0fc420, 0x2d4ca: 0x6c1c8e20, 0x2d4cb: 0x6c1c9020, + 0x2d4cc: 0x6c1c9220, 0x2d4cd: 0x6c1c9420, 0x2d4ce: 0x6c1c9620, 0x2d4cf: 0x6c1c9820, + 0x2d4d0: 0x6c1c9a20, 0x2d4d1: 0x6c1c9c20, 0x2d4d2: 0x6c1c9e20, 0x2d4d3: 0x6c2ffc20, + 0x2d4d4: 0x6c2ffe20, 0x2d4d5: 0x6c300020, 0x2d4d6: 0x6c300220, 0x2d4d7: 0x6c300420, + 0x2d4d8: 0x6c300620, 0x2d4d9: 0x6c300820, 0x2d4da: 0x6c300a20, 0x2d4db: 0x6c300c20, + 0x2d4dc: 0x6c300e20, 0x2d4dd: 0x6c301020, 0x2d4de: 0x6c301220, 0x2d4df: 0x6c301420, + 0x2d4e0: 0x6c301620, 0x2d4e1: 0x6c301820, 0x2d4e2: 0x6c4a4820, 0x2d4e3: 0x6c4a4a20, + 0x2d4e4: 0x6c4a4c20, 0x2d4e5: 0x6c4a4e20, 0x2d4e6: 0x6c4a5020, 0x2d4e7: 0x6c6bfe20, + 0x2d4e8: 0x6c4a5220, 0x2d4e9: 0x6c4a5420, 0x2d4ea: 0x6c4a5620, 0x2d4eb: 0x6c4a5820, + 0x2d4ec: 0x6c6c0020, 0x2d4ed: 0x6c6c0220, 0x2d4ee: 0x6c6c0420, 0x2d4ef: 0x6c6c0620, + 0x2d4f0: 0x6c6c0820, 0x2d4f1: 0x6c6c0a20, 0x2d4f2: 0x6c6c0c20, 0x2d4f3: 0x6c6c0e20, + 0x2d4f4: 0x6c6c1020, 0x2d4f5: 0x6c6c1220, 0x2d4f6: 0x6c6c1420, 0x2d4f7: 0x6c6c1620, + 0x2d4f8: 0x6c6c1820, 0x2d4f9: 0x6c6c1a20, 0x2d4fa: 0x6c6c1c20, 0x2d4fb: 0x6c6c1e20, + 0x2d4fc: 0x6c6c2020, 0x2d4fd: 0x6c6c2220, 0x2d4fe: 0x6c6c2420, 0x2d4ff: 0x6c933020, + // Block 0xb54, offset 0x2d500 + 0x2d500: 0x6c933220, 0x2d501: 0x6c933420, 0x2d502: 0x6c933620, 0x2d503: 0x6c933820, + 0x2d504: 0x6c933a20, 0x2d505: 0x6c933c20, 0x2d506: 0x6c933e20, 0x2d507: 0x6c934020, + 0x2d508: 0x6c934220, 0x2d509: 0x6c934420, 0x2d50a: 0x6cbf6820, 0x2d50b: 0x6cbf6a20, + 0x2d50c: 0x6cbf6c20, 0x2d50d: 0x6cbf6e20, 0x2d50e: 0x6cbf7020, 0x2d50f: 0x6cbf7220, + 0x2d510: 0x6cbf7420, 0x2d511: 0x6cbf7620, 0x2d512: 0x6cbf7820, 0x2d513: 0x6cbf7a20, + 0x2d514: 0x6cbf7c20, 0x2d515: 0x6cbf7e20, 0x2d516: 0x6cefa420, 0x2d517: 0x6cefa620, + 0x2d518: 0x6cefa820, 0x2d519: 0x6cefaa20, 0x2d51a: 0x6cefac20, 0x2d51b: 0x6cefae20, + 0x2d51c: 0x6cefb020, 0x2d51d: 0x6cefb220, 0x2d51e: 0x6d1f4420, 0x2d51f: 0x6d1f4620, + 0x2d520: 0x6d1f4820, 0x2d521: 0x6d1f4a20, 0x2d522: 0x6d1f4c20, 0x2d523: 0x6d1f4e20, + 0x2d524: 0x6d1f5020, 0x2d525: 0x6d1f5220, 0x2d526: 0x6d1f5420, 0x2d527: 0x6d1f5620, + 0x2d528: 0x6d1f5820, 0x2d529: 0x6d4cce20, 0x2d52a: 0x6cbf8020, 0x2d52b: 0x6d4cd020, + 0x2d52c: 0x6d4cd220, 0x2d52d: 0x6d4cd420, 0x2d52e: 0x6d4cd620, 0x2d52f: 0x6d79fe20, + 0x2d530: 0x6d7a0020, 0x2d531: 0x6da2a020, 0x2d532: 0x6da2a220, 0x2d533: 0x6de19a20, + 0x2d534: 0x6de19c20, 0x2d535: 0x6de19e20, 0x2d536: 0x6df99620, 0x2d537: 0x6e0d4820, + 0x2d538: 0x6c01a220, 0x2d539: 0x6c083220, 0x2d53a: 0x6c0fe220, 0x2d53b: 0x6c0fe420, + 0x2d53c: 0x6c0fe620, 0x2d53d: 0x6c1cbe20, 0x2d53e: 0x6c1cc020, 0x2d53f: 0x6c1cc220, + // Block 0xb55, offset 0x2d540 + 0x2d540: 0x6c304620, 0x2d541: 0x6c4a8e20, 0x2d542: 0x6c4a9020, 0x2d543: 0x6c6c7420, + 0x2d544: 0x6c6c7620, 0x2d545: 0x6c6c7820, 0x2d546: 0x6c4a9220, 0x2d547: 0x6c938220, + 0x2d548: 0x6c938420, 0x2d549: 0x6c938620, 0x2d54a: 0x6cbfd620, 0x2d54b: 0x6cbfd820, + 0x2d54c: 0x6cbfda20, 0x2d54d: 0x6d1fac20, 0x2d54e: 0x6d4d2220, 0x2d54f: 0x6c01a820, + 0x2d550: 0x6c03fc20, 0x2d551: 0x6c03fe20, 0x2d552: 0x6c083420, 0x2d553: 0x6c083620, + 0x2d554: 0x6c083820, 0x2d555: 0x6c083a20, 0x2d556: 0x6c0fec20, 0x2d557: 0x6c0fee20, + 0x2d558: 0x6c0ff020, 0x2d559: 0x6c305820, 0x2d55a: 0x6c305a20, 0x2d55b: 0x6c4aa020, + 0x2d55c: 0x6c4aa220, 0x2d55d: 0x6c4aa420, 0x2d55e: 0x6cbfec20, 0x2d55f: 0x6cf00020, + 0x2d560: 0x6cf00220, 0x2d561: 0x6d1fbc20, 0x2d562: 0x6c01ac20, 0x2d563: 0x6c040420, + 0x2d564: 0x6c040620, 0x2d565: 0x6c0ffc20, 0x2d566: 0x6c0ffe20, 0x2d567: 0x6c100020, + 0x2d568: 0x6c1cd820, 0x2d569: 0x6c1cda20, 0x2d56a: 0x6c1cdc20, 0x2d56b: 0x6c1cde20, + 0x2d56c: 0x6c1ce020, 0x2d56d: 0x6c306e20, 0x2d56e: 0x6c4abe20, 0x2d56f: 0x6c4ac020, + 0x2d570: 0x6cc00620, 0x2d571: 0x6cc00820, 0x2d572: 0x6cf01620, 0x2d573: 0x6cf01820, + 0x2d574: 0x6cf01a20, 0x2d575: 0x6d4d5020, 0x2d576: 0x6da2d220, 0x2d577: 0x6da2d420, + 0x2d578: 0x6c01b220, 0x2d579: 0x6c024c20, 0x2d57a: 0x6c040a20, 0x2d57b: 0x6c085220, + 0x2d57c: 0x6c085420, 0x2d57d: 0x6c100e20, 0x2d57e: 0x6c1cfa20, 0x2d57f: 0x6c1cfc20, + // Block 0xb56, offset 0x2d580 + 0x2d580: 0x6c1cfe20, 0x2d581: 0x6c1d0020, 0x2d582: 0x6c1d0220, 0x2d583: 0x6c1d0420, + 0x2d584: 0x6c308620, 0x2d585: 0x6c308820, 0x2d586: 0x6c308a20, 0x2d587: 0x6c308c20, + 0x2d588: 0x6c308e20, 0x2d589: 0x6c309020, 0x2d58a: 0x6c309220, 0x2d58b: 0x6c4ad620, + 0x2d58c: 0x6c4ad820, 0x2d58d: 0x6c4ada20, 0x2d58e: 0x6c4adc20, 0x2d58f: 0x6c4ade20, + 0x2d590: 0x6c6cae20, 0x2d591: 0x6c6cb020, 0x2d592: 0x6c6cb220, 0x2d593: 0x6c6cb420, + 0x2d594: 0x6c6cb620, 0x2d595: 0x6c6cb820, 0x2d596: 0x6c6cba20, 0x2d597: 0x6c6cbc20, + 0x2d598: 0x6c6cbe20, 0x2d599: 0x6c93d020, 0x2d59a: 0x6c93d220, 0x2d59b: 0x6c93d420, + 0x2d59c: 0x6c93d620, 0x2d59d: 0x6c93d820, 0x2d59e: 0x6cc02420, 0x2d59f: 0x6cc02620, + 0x2d5a0: 0x6c941020, 0x2d5a1: 0x6cc02820, 0x2d5a2: 0x6d1fe020, 0x2d5a3: 0x6d1fe220, + 0x2d5a4: 0x6d4d6220, 0x2d5a5: 0x6d4d6420, 0x2d5a6: 0x6d4d6620, 0x2d5a7: 0x6d4d6820, + 0x2d5a8: 0x6da2da20, 0x2d5a9: 0x6dc4c620, 0x2d5aa: 0x6dc4c820, 0x2d5ab: 0x6de1c020, + 0x2d5ac: 0x6e0d6420, 0x2d5ad: 0x6e31f020, 0x2d5ae: 0x6c01b620, 0x2d5af: 0x6c040e20, + 0x2d5b0: 0x6c102820, 0x2d5b1: 0x6c01ba20, 0x2d5b2: 0x6c041220, 0x2d5b3: 0x6c086c20, + 0x2d5b4: 0x6c086e20, 0x2d5b5: 0x6c087020, 0x2d5b6: 0x6c087220, 0x2d5b7: 0x6c087420, + 0x2d5b8: 0x6c104620, 0x2d5b9: 0x6c104820, 0x2d5ba: 0x6c104a20, 0x2d5bb: 0x6c104c20, + 0x2d5bc: 0x6c104e20, 0x2d5bd: 0x6c105020, 0x2d5be: 0x6c105220, 0x2d5bf: 0x6c105420, + // Block 0xb57, offset 0x2d5c0 + 0x2d5c0: 0x6c105620, 0x2d5c1: 0x6c105820, 0x2d5c2: 0x6c105a20, 0x2d5c3: 0x6c105c20, + 0x2d5c4: 0x6c1d3c20, 0x2d5c5: 0x6c1d3e20, 0x2d5c6: 0x6c1d4020, 0x2d5c7: 0x6c1d4220, + 0x2d5c8: 0x6c1d4420, 0x2d5c9: 0x6c1d4620, 0x2d5ca: 0x6c1d4820, 0x2d5cb: 0x6c1d4a20, + 0x2d5cc: 0x6c1d4c20, 0x2d5cd: 0x6c1dd220, 0x2d5ce: 0x6c1d4e20, 0x2d5cf: 0x6c1d5020, + 0x2d5d0: 0x6c1d5220, 0x2d5d1: 0x6c1d5420, 0x2d5d2: 0x6c1d5620, 0x2d5d3: 0x6c1d5820, + 0x2d5d4: 0x6c1d5a20, 0x2d5d5: 0x6c1d5c20, 0x2d5d6: 0x6c1d5e20, 0x2d5d7: 0x6c1d6020, + 0x2d5d8: 0x6c1d6220, 0x2d5d9: 0x6c1d6420, 0x2d5da: 0x6c1d6620, 0x2d5db: 0x6c1d6820, + 0x2d5dc: 0x6c1d6a20, 0x2d5dd: 0x6c30ce20, 0x2d5de: 0x6c30d020, 0x2d5df: 0x6c30d220, + 0x2d5e0: 0x6c30d420, 0x2d5e1: 0x6c30d620, 0x2d5e2: 0x6c30d820, 0x2d5e3: 0x6c30da20, + 0x2d5e4: 0x6c30dc20, 0x2d5e5: 0x6c30de20, 0x2d5e6: 0x6c30e020, 0x2d5e7: 0x6c30e220, + 0x2d5e8: 0x6c30e420, 0x2d5e9: 0x6c30e620, 0x2d5ea: 0x6c30e820, 0x2d5eb: 0x6c30ea20, + 0x2d5ec: 0x6c30ec20, 0x2d5ed: 0x6c30ee20, 0x2d5ee: 0x6c30f020, 0x2d5ef: 0x6c30f220, + 0x2d5f0: 0x6c30f420, 0x2d5f1: 0x6c30f620, 0x2d5f2: 0x6c30f820, 0x2d5f3: 0x6c30fa20, + 0x2d5f4: 0x6c30fc20, 0x2d5f5: 0x6c30fe20, 0x2d5f6: 0x6c310020, 0x2d5f7: 0x6c310220, + 0x2d5f8: 0x6c310420, 0x2d5f9: 0x6c310620, 0x2d5fa: 0x6c310820, 0x2d5fb: 0x6c310a20, + 0x2d5fc: 0x6c310c20, 0x2d5fd: 0x6c310e20, 0x2d5fe: 0x6c311020, 0x2d5ff: 0x6c311220, + // Block 0xb58, offset 0x2d600 + 0x2d600: 0x6c311420, 0x2d601: 0x6c311620, 0x2d602: 0x6c311820, 0x2d603: 0x6c311a20, + 0x2d604: 0x6c311c20, 0x2d605: 0x6c311e20, 0x2d606: 0x6c4b2620, 0x2d607: 0x6c4b2820, + 0x2d608: 0x6c4b2a20, 0x2d609: 0x6c4b2c20, 0x2d60a: 0x6c4b2e20, 0x2d60b: 0x6c4b3020, + 0x2d60c: 0x6c4b3220, 0x2d60d: 0x6c4b3420, 0x2d60e: 0x6c4b3620, 0x2d60f: 0x6c4b3820, + 0x2d610: 0x6c4b3a20, 0x2d611: 0x6c4b3c20, 0x2d612: 0x6c4b3e20, 0x2d613: 0x6c4b4020, + 0x2d614: 0x6c4b4220, 0x2d615: 0x6c4b4420, 0x2d616: 0x6c4b4620, 0x2d617: 0x6c4b4820, + 0x2d618: 0x6c4b4a20, 0x2d619: 0x6c4b4c20, 0x2d61a: 0x6c4b4e20, 0x2d61b: 0x6c4b5020, + 0x2d61c: 0x6c4b5220, 0x2d61d: 0x6c4b5420, 0x2d61e: 0x6c4b5620, 0x2d61f: 0x6c4b5820, + 0x2d620: 0x6c4b5a20, 0x2d621: 0x6c4b5c20, 0x2d622: 0x6c4b5e20, 0x2d623: 0x6c4b6020, + 0x2d624: 0x6c4b6220, 0x2d625: 0x6c4b6420, 0x2d626: 0x6c4b6620, 0x2d627: 0x6c4b6820, + 0x2d628: 0x6c6d2020, 0x2d629: 0x6c6d2220, 0x2d62a: 0x6c6d2420, 0x2d62b: 0x6c6d2620, + 0x2d62c: 0x6c6d2820, 0x2d62d: 0x6c6d2a20, 0x2d62e: 0x6c6d2c20, 0x2d62f: 0x6c6d2e20, + 0x2d630: 0x6c6d3020, 0x2d631: 0x6c6d3220, 0x2d632: 0x6c6d3420, 0x2d633: 0x6c6d3620, + 0x2d634: 0x6c6d3820, 0x2d635: 0x6c6d3a20, 0x2d636: 0x6c6d3c20, 0x2d637: 0x6c6d3e20, + 0x2d638: 0x6c4bcc20, 0x2d639: 0x6c6d4020, 0x2d63a: 0x6c6d4220, 0x2d63b: 0x6c6d4420, + 0x2d63c: 0x6c6d4620, 0x2d63d: 0x6c6d4820, 0x2d63e: 0x6c6d4a20, 0x2d63f: 0x6c6d4c20, + // Block 0xb59, offset 0x2d640 + 0x2d640: 0x6c6d4e20, 0x2d641: 0x6c6d5020, 0x2d642: 0x6c6d5220, 0x2d643: 0x6c6d5420, + 0x2d644: 0x6c6d5620, 0x2d645: 0x6c6d5820, 0x2d646: 0x6c943420, 0x2d647: 0x6c943620, + 0x2d648: 0x6c943820, 0x2d649: 0x6c943a20, 0x2d64a: 0x6c943c20, 0x2d64b: 0x6c943e20, + 0x2d64c: 0x6c944020, 0x2d64d: 0x6c944220, 0x2d64e: 0x6c944420, 0x2d64f: 0x6c944620, + 0x2d650: 0x6c944820, 0x2d651: 0x6c944a20, 0x2d652: 0x6c944c20, 0x2d653: 0x6c944e20, + 0x2d654: 0x6c945020, 0x2d655: 0x6c945220, 0x2d656: 0x6c945420, 0x2d657: 0x6c945620, + 0x2d658: 0x6c945820, 0x2d659: 0x6c945a20, 0x2d65a: 0x6c945c20, 0x2d65b: 0x6c945e20, + 0x2d65c: 0x6c946020, 0x2d65d: 0x6c946220, 0x2d65e: 0x6c946420, 0x2d65f: 0x6c946620, + 0x2d660: 0x6c946820, 0x2d661: 0x6c946a20, 0x2d662: 0x6c946c20, 0x2d663: 0x6c946e20, + 0x2d664: 0x6c947020, 0x2d665: 0x6c947220, 0x2d666: 0x6c947420, 0x2d667: 0x6c947620, + 0x2d668: 0x6c947820, 0x2d669: 0x6c947a20, 0x2d66a: 0x6c947c20, 0x2d66b: 0x6c947e20, + 0x2d66c: 0x6c948020, 0x2d66d: 0x6c948220, 0x2d66e: 0x6c948420, 0x2d66f: 0x6c948620, + 0x2d670: 0x6c948820, 0x2d671: 0x6cc08420, 0x2d672: 0x6cc08620, 0x2d673: 0x6cc08820, + 0x2d674: 0x6cc08a20, 0x2d675: 0x6cc08c20, 0x2d676: 0x6cc08e20, 0x2d677: 0x6cc09020, + 0x2d678: 0x6cc09220, 0x2d679: 0x6cc09420, 0x2d67a: 0x6cc09620, 0x2d67b: 0x6cc09820, + 0x2d67c: 0x6cc09a20, 0x2d67d: 0x6cc09c20, 0x2d67e: 0x6cc09e20, 0x2d67f: 0x6cc0a020, + // Block 0xb5a, offset 0x2d680 + 0x2d680: 0x6cc0a220, 0x2d681: 0x6cc0a420, 0x2d682: 0x6cc0a620, 0x2d683: 0x6cc0a820, + 0x2d684: 0x6cc0aa20, 0x2d685: 0x6cc0ac20, 0x2d686: 0x6cc0ae20, 0x2d687: 0x6cc0b020, + 0x2d688: 0x6cc0b220, 0x2d689: 0x6cc0b420, 0x2d68a: 0x6cf07a20, 0x2d68b: 0x6cc0b620, + 0x2d68c: 0x6cc0b820, 0x2d68d: 0x6cc0ba20, 0x2d68e: 0x6cc0bc20, 0x2d68f: 0x6cc0be20, + 0x2d690: 0x6cc0c020, 0x2d691: 0x6cc0c220, 0x2d692: 0x6cc0c420, 0x2d693: 0x6cc0c620, + 0x2d694: 0x6cc0c820, 0x2d695: 0x6cc0ca20, 0x2d696: 0x6cc0cc20, 0x2d697: 0x6cc0ce20, + 0x2d698: 0x6cc0d020, 0x2d699: 0x6cc0d220, 0x2d69a: 0x6cc0d420, 0x2d69b: 0x6cc0d620, + 0x2d69c: 0x6cc0d820, 0x2d69d: 0x6cc0da20, 0x2d69e: 0x6cf07c20, 0x2d69f: 0x6cf07e20, + 0x2d6a0: 0x6cf08020, 0x2d6a1: 0x6cf08220, 0x2d6a2: 0x6cf08420, 0x2d6a3: 0x6cf08620, + 0x2d6a4: 0x6cf08820, 0x2d6a5: 0x6cf08a20, 0x2d6a6: 0x6cf08c20, 0x2d6a7: 0x6cf08e20, + 0x2d6a8: 0x6cf09020, 0x2d6a9: 0x6cf09220, 0x2d6aa: 0x6cf09420, 0x2d6ab: 0x6cc16a20, + 0x2d6ac: 0x6cf09620, 0x2d6ad: 0x6cf09820, 0x2d6ae: 0x6cf09a20, 0x2d6af: 0x6cf09c20, + 0x2d6b0: 0x6cf09e20, 0x2d6b1: 0x6cf0a020, 0x2d6b2: 0x6cf0a220, 0x2d6b3: 0x6cf0a420, + 0x2d6b4: 0x6cf0a620, 0x2d6b5: 0x6cf0a820, 0x2d6b6: 0x6cf0aa20, 0x2d6b7: 0x6d201820, + 0x2d6b8: 0x6d201a20, 0x2d6b9: 0x6d201c20, 0x2d6ba: 0x6d201e20, 0x2d6bb: 0x6d202020, + 0x2d6bc: 0x6d202220, 0x2d6bd: 0x6d202420, 0x2d6be: 0x6d202620, 0x2d6bf: 0x6d202820, + // Block 0xb5b, offset 0x2d6c0 + 0x2d6c0: 0x6d202a20, 0x2d6c1: 0x6d202c20, 0x2d6c2: 0x6d202e20, 0x2d6c3: 0x6d203020, + 0x2d6c4: 0x6d203220, 0x2d6c5: 0x6d203420, 0x2d6c6: 0x6d203620, 0x2d6c7: 0x6d203820, + 0x2d6c8: 0x6d203a20, 0x2d6c9: 0x6d203c20, 0x2d6ca: 0x6d203e20, 0x2d6cb: 0x6d204020, + 0x2d6cc: 0x6d204220, 0x2d6cd: 0x6d204420, 0x2d6ce: 0x6d204620, 0x2d6cf: 0x6d4dac20, + 0x2d6d0: 0x6d4dae20, 0x2d6d1: 0x6d4db020, 0x2d6d2: 0x6d4db220, 0x2d6d3: 0x6d4db420, + 0x2d6d4: 0x6d4db620, 0x2d6d5: 0x6d4db820, 0x2d6d6: 0x6d4dba20, 0x2d6d7: 0x6d4dbc20, + 0x2d6d8: 0x6d4dbe20, 0x2d6d9: 0x6d4dc020, 0x2d6da: 0x6d4dc220, 0x2d6db: 0x6d4dc420, + 0x2d6dc: 0x6d4dc620, 0x2d6dd: 0x6d4dc820, 0x2d6de: 0x6d4dca20, 0x2d6df: 0x6d4dcc20, + 0x2d6e0: 0x6d4dce20, 0x2d6e1: 0x6d4dd020, 0x2d6e2: 0x6d4dd220, 0x2d6e3: 0x6d4dd420, + 0x2d6e4: 0x6d4dd620, 0x2d6e5: 0x6d4dd820, 0x2d6e6: 0x6d7a6e20, 0x2d6e7: 0x6d7a7020, + 0x2d6e8: 0x6d7a7220, 0x2d6e9: 0x6d7a7420, 0x2d6ea: 0x6d7a7620, 0x2d6eb: 0x6d7a7820, + 0x2d6ec: 0x6d7a7a20, 0x2d6ed: 0x6d7a7c20, 0x2d6ee: 0x6d7a7e20, 0x2d6ef: 0x6d7a8020, + 0x2d6f0: 0x6d7a8220, 0x2d6f1: 0x6d7a8420, 0x2d6f2: 0x6d7a8620, 0x2d6f3: 0x6d7a8820, + 0x2d6f4: 0x6d7a8a20, 0x2d6f5: 0x6d7a8c20, 0x2d6f6: 0x6d7a8e20, 0x2d6f7: 0x6da2ec20, + 0x2d6f8: 0x6da2ee20, 0x2d6f9: 0x6da2f020, 0x2d6fa: 0x6da2f220, 0x2d6fb: 0x6da35220, + 0x2d6fc: 0x6da2f420, 0x2d6fd: 0x6da2f620, 0x2d6fe: 0x6da2f820, 0x2d6ff: 0x6da2fa20, + // Block 0xb5c, offset 0x2d700 + 0x2d700: 0x6dc4d620, 0x2d701: 0x6dc4d820, 0x2d702: 0x6dc4da20, 0x2d703: 0x6de1d820, + 0x2d704: 0x6de1da20, 0x2d705: 0x6de1dc20, 0x2d706: 0x6df9b220, 0x2d707: 0x6df9b420, + 0x2d708: 0x6df9b620, 0x2d709: 0x6df9b820, 0x2d70a: 0x6df9ba20, 0x2d70b: 0x6e0d6e20, + 0x2d70c: 0x6df9bc20, 0x2d70d: 0x6e0d7420, 0x2d70e: 0x6e1cd820, 0x2d70f: 0x6e0d7620, + 0x2d710: 0x6e0d7820, 0x2d711: 0x6e1cda20, 0x2d712: 0x6e1cdc20, 0x2d713: 0x6e1cde20, + 0x2d714: 0x6e1ce020, 0x2d715: 0x6e1ce220, 0x2d716: 0x6e28b220, 0x2d717: 0x6e1ce420, + 0x2d718: 0x6e28b420, 0x2d719: 0x6e31f420, 0x2d71a: 0x6e28b620, 0x2d71b: 0x6c01bc20, + 0x2d71c: 0x6c00c620, 0x2d71d: 0x6c01be20, 0x2d71e: 0x6c109420, 0x2d71f: 0x6c109620, + 0x2d720: 0x6c1dd420, 0x2d721: 0x6c272c20, 0x2d722: 0x6c954a20, 0x2d723: 0x6c954c20, + 0x2d724: 0x6d4e4820, 0x2d725: 0x6c01c420, 0x2d726: 0x6c089220, 0x2d727: 0x6c089420, + 0x2d728: 0x6c089620, 0x2d729: 0x6c10a220, 0x2d72a: 0x6c10a420, 0x2d72b: 0x6c1dde20, + 0x2d72c: 0x6c4bda20, 0x2d72d: 0x6c4bdc20, 0x2d72e: 0x6c6dec20, 0x2d72f: 0x6cc17020, + 0x2d730: 0x6cf11020, 0x2d731: 0x6c01c620, 0x2d732: 0x6c01c820, 0x2d733: 0x6c01ca20, + 0x2d734: 0x6c042820, 0x2d735: 0x6c1de620, 0x2d736: 0x6c318a20, 0x2d737: 0x6c4be020, + 0x2d738: 0x6c4be220, 0x2d739: 0x6c4be420, 0x2d73a: 0x6c4be620, 0x2d73b: 0x6c4be820, + 0x2d73c: 0x6c6df220, 0x2d73d: 0x6cc17820, 0x2d73e: 0x6c01cc20, 0x2d73f: 0x6c042c20, + // Block 0xb5d, offset 0x2d740 + 0x2d740: 0x6c042e20, 0x2d741: 0x6c043020, 0x2d742: 0x6c08aa20, 0x2d743: 0x6c08ac20, + 0x2d744: 0x6c08ae20, 0x2d745: 0x6c08b020, 0x2d746: 0x6c10b420, 0x2d747: 0x6c10b620, + 0x2d748: 0x6c10b820, 0x2d749: 0x6c1df620, 0x2d74a: 0x6c1df820, 0x2d74b: 0x6c1dfa20, + 0x2d74c: 0x6c1dfc20, 0x2d74d: 0x6c1dfe20, 0x2d74e: 0x6c1e0020, 0x2d74f: 0x6c1e0220, + 0x2d750: 0x6c1e0420, 0x2d751: 0x6c319a20, 0x2d752: 0x6c319c20, 0x2d753: 0x6c319e20, + 0x2d754: 0x6c31a020, 0x2d755: 0x6c31a220, 0x2d756: 0x6c31a420, 0x2d757: 0x6c31a620, + 0x2d758: 0x6c31a820, 0x2d759: 0x6c31aa20, 0x2d75a: 0x6c31ac20, 0x2d75b: 0x6c31ae20, + 0x2d75c: 0x6c31b020, 0x2d75d: 0x6c4bfc20, 0x2d75e: 0x6c4bfe20, 0x2d75f: 0x6c4c0020, + 0x2d760: 0x6c4c0220, 0x2d761: 0x6c4c0420, 0x2d762: 0x6c4c0620, 0x2d763: 0x6c4c0820, + 0x2d764: 0x6c4c0a20, 0x2d765: 0x6c4c0c20, 0x2d766: 0x6c4c0e20, 0x2d767: 0x6c4c1020, + 0x2d768: 0x6c6e0020, 0x2d769: 0x6c6e0220, 0x2d76a: 0x6c6e0420, 0x2d76b: 0x6c6e0620, + 0x2d76c: 0x6c6e0820, 0x2d76d: 0x6c6e0a20, 0x2d76e: 0x6c6e0c20, 0x2d76f: 0x6c6e0e20, + 0x2d770: 0x6c6e1020, 0x2d771: 0x6c6e1220, 0x2d772: 0x6c957020, 0x2d773: 0x6c957220, + 0x2d774: 0x6c957420, 0x2d775: 0x6c957620, 0x2d776: 0x6c957820, 0x2d777: 0x6c957a20, + 0x2d778: 0x6c957c20, 0x2d779: 0x6c957e20, 0x2d77a: 0x6c958020, 0x2d77b: 0x6c958220, + 0x2d77c: 0x6c958420, 0x2d77d: 0x6cc19820, 0x2d77e: 0x6c95ca20, 0x2d77f: 0x6cc19a20, + // Block 0xb5e, offset 0x2d780 + 0x2d780: 0x6cc19c20, 0x2d781: 0x6cc19e20, 0x2d782: 0x6cc1a020, 0x2d783: 0x6cc1a220, + 0x2d784: 0x6cc1a420, 0x2d785: 0x6cc1a620, 0x2d786: 0x6cc1a820, 0x2d787: 0x6cc1aa20, + 0x2d788: 0x6cc1f220, 0x2d789: 0x6cc1ac20, 0x2d78a: 0x6cf12420, 0x2d78b: 0x6cf12620, + 0x2d78c: 0x6cf12820, 0x2d78d: 0x6cf12a20, 0x2d78e: 0x6cf12c20, 0x2d78f: 0x6cf12e20, + 0x2d790: 0x6d082820, 0x2d791: 0x6d20c820, 0x2d792: 0x6d20ca20, 0x2d793: 0x6d20cc20, + 0x2d794: 0x6d20ce20, 0x2d795: 0x6d20d020, 0x2d796: 0x6d20d220, 0x2d797: 0x6d20d420, + 0x2d798: 0x6d20d620, 0x2d799: 0x6d20d820, 0x2d79a: 0x6d4e5e20, 0x2d79b: 0x6d20da20, + 0x2d79c: 0x6d4e6020, 0x2d79d: 0x6d4e6220, 0x2d79e: 0x6d4e6420, 0x2d79f: 0x6d4e6620, + 0x2d7a0: 0x6d4e6820, 0x2d7a1: 0x6d4e6a20, 0x2d7a2: 0x6d4e6c20, 0x2d7a3: 0x6d210620, + 0x2d7a4: 0x6d4e6e20, 0x2d7a5: 0x6d4e7020, 0x2d7a6: 0x6d7aee20, 0x2d7a7: 0x6d7af020, + 0x2d7a8: 0x6d7af220, 0x2d7a9: 0x6d4ea820, 0x2d7aa: 0x6da36020, 0x2d7ab: 0x6da36220, + 0x2d7ac: 0x6da36420, 0x2d7ad: 0x6dc51020, 0x2d7ae: 0x6dc51220, 0x2d7af: 0x6d7b1a20, + 0x2d7b0: 0x6de21220, 0x2d7b1: 0x6df9e020, 0x2d7b2: 0x6c01ce20, 0x2d7b3: 0x6c08ba20, + 0x2d7b4: 0x6c10da20, 0x2d7b5: 0x6c10dc20, 0x2d7b6: 0x6c10de20, 0x2d7b7: 0x6c31dc20, + 0x2d7b8: 0x6c31de20, 0x2d7b9: 0x6cf15a20, 0x2d7ba: 0x6c01d220, 0x2d7bb: 0x6c043220, + 0x2d7bc: 0x6c08be20, 0x2d7bd: 0x6c4c5e20, 0x2d7be: 0x6cc20020, 0x2d7bf: 0x6c01d420, + // Block 0xb5f, offset 0x2d7c0 + 0x2d7c0: 0x6c08c820, 0x2d7c1: 0x6c08ca20, 0x2d7c2: 0x6c08cc20, 0x2d7c3: 0x6c08ce20, + 0x2d7c4: 0x6c10ea20, 0x2d7c5: 0x6c10ec20, 0x2d7c6: 0x6c10ee20, 0x2d7c7: 0x6c1e4620, + 0x2d7c8: 0x6c1e4820, 0x2d7c9: 0x6c1e4a20, 0x2d7ca: 0x6c1e4c20, 0x2d7cb: 0x6c1e4e20, + 0x2d7cc: 0x6c1e5020, 0x2d7cd: 0x6c1e5220, 0x2d7ce: 0x6c1e5420, 0x2d7cf: 0x6c1e5620, + 0x2d7d0: 0x6c1e5820, 0x2d7d1: 0x6c1e5a20, 0x2d7d2: 0x6c1e5c20, 0x2d7d3: 0x6c1e5e20, + 0x2d7d4: 0x6c1e6020, 0x2d7d5: 0x6c320220, 0x2d7d6: 0x6c320420, 0x2d7d7: 0x6c320620, + 0x2d7d8: 0x6c31f020, 0x2d7d9: 0x6c320820, 0x2d7da: 0x6c320a20, 0x2d7db: 0x6c4c6620, + 0x2d7dc: 0x6c320c20, 0x2d7dd: 0x6c320e20, 0x2d7de: 0x6c321020, 0x2d7df: 0x6c321220, + 0x2d7e0: 0x6c4c7620, 0x2d7e1: 0x6c4c7820, 0x2d7e2: 0x6c4c7a20, 0x2d7e3: 0x6c4c7c20, + 0x2d7e4: 0x6c4c7e20, 0x2d7e5: 0x6c4c8020, 0x2d7e6: 0x6c4c8220, 0x2d7e7: 0x6c6e6a20, + 0x2d7e8: 0x6c6e6c20, 0x2d7e9: 0x6c6e6e20, 0x2d7ea: 0x6c6e7020, 0x2d7eb: 0x6c6e7220, + 0x2d7ec: 0x6c6e7420, 0x2d7ed: 0x6c6e7620, 0x2d7ee: 0x6c6e7820, 0x2d7ef: 0x6c6e7a20, + 0x2d7f0: 0x6c4cac20, 0x2d7f1: 0x6c95e220, 0x2d7f2: 0x6c95e420, 0x2d7f3: 0x6c95e620, + 0x2d7f4: 0x6c95e820, 0x2d7f5: 0x6c95ea20, 0x2d7f6: 0x6c95ec20, 0x2d7f7: 0x6c95ee20, + 0x2d7f8: 0x6c95f020, 0x2d7f9: 0x6c95f220, 0x2d7fa: 0x6c95f420, 0x2d7fb: 0x6c95f620, + 0x2d7fc: 0x6c95f820, 0x2d7fd: 0x6cc20c20, 0x2d7fe: 0x6c965020, 0x2d7ff: 0x6cc20e20, + // Block 0xb60, offset 0x2d800 + 0x2d800: 0x6cc21020, 0x2d801: 0x6cc21220, 0x2d802: 0x6cc21420, 0x2d803: 0x6cc21620, + 0x2d804: 0x6cc26420, 0x2d805: 0x6cf16c20, 0x2d806: 0x6cf16e20, 0x2d807: 0x6cf17020, + 0x2d808: 0x6cf17220, 0x2d809: 0x6cf17420, 0x2d80a: 0x6cc21820, 0x2d80b: 0x6cf17620, + 0x2d80c: 0x6cf17820, 0x2d80d: 0x6d211e20, 0x2d80e: 0x6d212020, 0x2d80f: 0x6d212220, + 0x2d810: 0x6d212420, 0x2d811: 0x6d212620, 0x2d812: 0x6d212820, 0x2d813: 0x6d212a20, + 0x2d814: 0x6d212c20, 0x2d815: 0x6d212e20, 0x2d816: 0x6d213020, 0x2d817: 0x6d213220, + 0x2d818: 0x6d213420, 0x2d819: 0x6d216c20, 0x2d81a: 0x6d4ebc20, 0x2d81b: 0x6d4ebe20, + 0x2d81c: 0x6d216e20, 0x2d81d: 0x6d4ec020, 0x2d81e: 0x6d4ec220, 0x2d81f: 0x6d4ec420, + 0x2d820: 0x6d4ec620, 0x2d821: 0x6d4ec820, 0x2d822: 0x6d4eca20, 0x2d823: 0x6d4ecc20, + 0x2d824: 0x6d4ece20, 0x2d825: 0x6d7b2e20, 0x2d826: 0x6d7b3020, 0x2d827: 0x6d7b3220, + 0x2d828: 0x6d7b3420, 0x2d829: 0x6d7b3620, 0x2d82a: 0x6d7b3820, 0x2d82b: 0x6dc52020, + 0x2d82c: 0x6de23220, 0x2d82d: 0x6de23420, 0x2d82e: 0x6df9ee20, 0x2d82f: 0x6df9f020, + 0x2d830: 0x6df9f220, 0x2d831: 0x6e0da020, 0x2d832: 0x6e1d1220, 0x2d833: 0x6e388020, + 0x2d834: 0x6c01d620, 0x2d835: 0x6c110a20, 0x2d836: 0x6c324220, 0x2d837: 0x6c1e8420, + 0x2d838: 0x6c324620, 0x2d839: 0x6c324820, 0x2d83a: 0x6c4cae20, 0x2d83b: 0x6c4cb020, + 0x2d83c: 0x6c4cb220, 0x2d83d: 0x6c6eba20, 0x2d83e: 0x6c01d820, 0x2d83f: 0x6c043c20, + // Block 0xb61, offset 0x2d840 + 0x2d840: 0x6c043e20, 0x2d841: 0x6c08da20, 0x2d842: 0x6c110e20, 0x2d843: 0x6c1e9020, + 0x2d844: 0x6c1e9220, 0x2d845: 0x6c1e9420, 0x2d846: 0x6c324c20, 0x2d847: 0x6c4cc220, + 0x2d848: 0x6c4cc420, 0x2d849: 0x6c6ec220, 0x2d84a: 0x6d218220, 0x2d84b: 0x6c01dc20, + 0x2d84c: 0x6c044220, 0x2d84d: 0x6c08e020, 0x2d84e: 0x6c111620, 0x2d84f: 0x6c111820, + 0x2d850: 0x6c111a20, 0x2d851: 0x6cc27a20, 0x2d852: 0x6cf1ba20, 0x2d853: 0x6c01e020, + 0x2d854: 0x6c044a20, 0x2d855: 0x6c044c20, 0x2d856: 0x6c044e20, 0x2d857: 0x6c08e220, + 0x2d858: 0x6c08e420, 0x2d859: 0x6c112820, 0x2d85a: 0x6c112a20, 0x2d85b: 0x6c112c20, + 0x2d85c: 0x6c112e20, 0x2d85d: 0x6c1eb620, 0x2d85e: 0x6c1eb820, 0x2d85f: 0x6c1eba20, + 0x2d860: 0x6c1ebc20, 0x2d861: 0x6c326820, 0x2d862: 0x6c326a20, 0x2d863: 0x6c326c20, + 0x2d864: 0x6c326e20, 0x2d865: 0x6c327020, 0x2d866: 0x6c327220, 0x2d867: 0x6c327420, + 0x2d868: 0x6c327620, 0x2d869: 0x6c327820, 0x2d86a: 0x6c327a20, 0x2d86b: 0x6c4cf820, + 0x2d86c: 0x6c4cfa20, 0x2d86d: 0x6c4cfc20, 0x2d86e: 0x6c4cfe20, 0x2d86f: 0x6c4d0020, + 0x2d870: 0x6c6edc20, 0x2d871: 0x6c6ede20, 0x2d872: 0x6c6ee020, 0x2d873: 0x6c6ee220, + 0x2d874: 0x6c966e20, 0x2d875: 0x6c967020, 0x2d876: 0x6c967220, 0x2d877: 0x6c967420, + 0x2d878: 0x6c967620, 0x2d879: 0x6c967820, 0x2d87a: 0x6cc28420, 0x2d87b: 0x6cc28620, + 0x2d87c: 0x6cc28820, 0x2d87d: 0x6cc28a20, 0x2d87e: 0x6cc28c20, 0x2d87f: 0x6cf1c820, + // Block 0xb62, offset 0x2d880 + 0x2d880: 0x6cf1ca20, 0x2d881: 0x6cf1cc20, 0x2d882: 0x6cf1ce20, 0x2d883: 0x6d218620, + 0x2d884: 0x6d218820, 0x2d885: 0x6d218a20, 0x2d886: 0x6d21a620, 0x2d887: 0x6d4f0c20, + 0x2d888: 0x6d4f0e20, 0x2d889: 0x6d4f1020, 0x2d88a: 0x6d7b6820, 0x2d88b: 0x6d7b6a20, + 0x2d88c: 0x6da3aa20, 0x2d88d: 0x6dc54020, 0x2d88e: 0x6e1d2220, 0x2d88f: 0x6e28ca20, + 0x2d890: 0x6c01e820, 0x2d891: 0x6c01ea20, 0x2d892: 0x6c08f820, 0x2d893: 0x6c114a20, + 0x2d894: 0x6c329c20, 0x2d895: 0x6c329e20, 0x2d896: 0x6c4d2a20, 0x2d897: 0x6c96a020, + 0x2d898: 0x6cc2a620, 0x2d899: 0x6cf1e020, 0x2d89a: 0x6cf1e220, 0x2d89b: 0x6d7b7a20, + 0x2d89c: 0x6d7b7c20, 0x2d89d: 0x6dc54e20, 0x2d89e: 0x6dc55020, 0x2d89f: 0x6de26820, + 0x2d8a0: 0x6e3d2420, 0x2d8a1: 0x6c01ec20, 0x2d8a2: 0x6c1ee020, 0x2d8a3: 0x6c1ee220, + 0x2d8a4: 0x6c1ee420, 0x2d8a5: 0x6c4d3420, 0x2d8a6: 0x6c4d3620, 0x2d8a7: 0x6c6f0020, + 0x2d8a8: 0x6c6f0220, 0x2d8a9: 0x6c96ac20, 0x2d8aa: 0x6cae2020, 0x2d8ab: 0x6c96ae20, + 0x2d8ac: 0x6c96b020, 0x2d8ad: 0x6cc2b220, 0x2d8ae: 0x6cf1ea20, 0x2d8af: 0x6d21b420, + 0x2d8b0: 0x6d21b620, 0x2d8b1: 0x6d4f2820, 0x2d8b2: 0x6e1d2820, 0x2d8b3: 0x6c01ee20, + 0x2d8b4: 0x6c116220, 0x2d8b5: 0x6c116420, 0x2d8b6: 0x6c1eee20, 0x2d8b7: 0x6c1ef020, + 0x2d8b8: 0x6c1ef220, 0x2d8b9: 0x6c1ef420, 0x2d8ba: 0x6c1ef620, 0x2d8bb: 0x6c1ef820, + 0x2d8bc: 0x6c32b820, 0x2d8bd: 0x6c32ba20, 0x2d8be: 0x6c32bc20, 0x2d8bf: 0x6c32be20, + // Block 0xb63, offset 0x2d8c0 + 0x2d8c0: 0x6c32c020, 0x2d8c1: 0x6c32c220, 0x2d8c2: 0x6c32c420, 0x2d8c3: 0x6c32c620, + 0x2d8c4: 0x6c32c820, 0x2d8c5: 0x6c4d4c20, 0x2d8c6: 0x6c4d4e20, 0x2d8c7: 0x6c4d5020, + 0x2d8c8: 0x6c4d5220, 0x2d8c9: 0x6c4d5420, 0x2d8ca: 0x6c4d5620, 0x2d8cb: 0x6c4d5820, + 0x2d8cc: 0x6c4d5a20, 0x2d8cd: 0x6c4d5c20, 0x2d8ce: 0x6c6f1620, 0x2d8cf: 0x6c6f1820, + 0x2d8d0: 0x6c6f1a20, 0x2d8d1: 0x6c6f1c20, 0x2d8d2: 0x6c6f1e20, 0x2d8d3: 0x6c6f2020, + 0x2d8d4: 0x6c4d5e20, 0x2d8d5: 0x6c6f2220, 0x2d8d6: 0x6c96d220, 0x2d8d7: 0x6c96d420, + 0x2d8d8: 0x6c96d620, 0x2d8d9: 0x6c96d820, 0x2d8da: 0x6cc2ca20, 0x2d8db: 0x6c96da20, + 0x2d8dc: 0x6c96dc20, 0x2d8dd: 0x6c96de20, 0x2d8de: 0x6c96e020, 0x2d8df: 0x6c96e220, + 0x2d8e0: 0x6c96e420, 0x2d8e1: 0x6c96e620, 0x2d8e2: 0x6c96e820, 0x2d8e3: 0x6c96ea20, + 0x2d8e4: 0x6c96ec20, 0x2d8e5: 0x6cc2cc20, 0x2d8e6: 0x6cc2ce20, 0x2d8e7: 0x6cc2d020, + 0x2d8e8: 0x6cc2d220, 0x2d8e9: 0x6cc2d420, 0x2d8ea: 0x6cc2d620, 0x2d8eb: 0x6cc2d820, + 0x2d8ec: 0x6cf1f820, 0x2d8ed: 0x6cf1fa20, 0x2d8ee: 0x6cf1fc20, 0x2d8ef: 0x6cf1fe20, + 0x2d8f0: 0x6cf20020, 0x2d8f1: 0x6d21c220, 0x2d8f2: 0x6d4f3a20, 0x2d8f3: 0x6d21c420, + 0x2d8f4: 0x6d21c620, 0x2d8f5: 0x6d4f3c20, 0x2d8f6: 0x6d220220, 0x2d8f7: 0x6d4f3e20, + 0x2d8f8: 0x6d4f4020, 0x2d8f9: 0x6d4f4220, 0x2d8fa: 0x6d4f4420, 0x2d8fb: 0x6d7b9020, + 0x2d8fc: 0x6d7b9220, 0x2d8fd: 0x6da3c220, 0x2d8fe: 0x6da3c420, 0x2d8ff: 0x6de27420, + // Block 0xb64, offset 0x2d900 + 0x2d900: 0x6dfa1c20, 0x2d901: 0x6dfa1e20, 0x2d902: 0x6e0dba20, 0x2d903: 0x6c046620, + 0x2d904: 0x6c01f020, 0x2d905: 0x6c090820, 0x2d906: 0x6c046820, 0x2d907: 0x6c090a20, + 0x2d908: 0x6c117020, 0x2d909: 0x6c090c20, 0x2d90a: 0x6c090e20, 0x2d90b: 0x6c117820, + 0x2d90c: 0x6c1f2020, 0x2d90d: 0x6c1f2220, 0x2d90e: 0x6c1f2420, 0x2d90f: 0x6c117a20, + 0x2d910: 0x6c1f2620, 0x2d911: 0x6c1f2820, 0x2d912: 0x6c1f2a20, 0x2d913: 0x6c117c20, + 0x2d914: 0x6c117e20, 0x2d915: 0x6c118020, 0x2d916: 0x6c118220, 0x2d917: 0x6c1f2c20, + 0x2d918: 0x6c1f2e20, 0x2d919: 0x6c118420, 0x2d91a: 0x6c118620, 0x2d91b: 0x6c118820, + 0x2d91c: 0x6c1f3020, 0x2d91d: 0x6c32e620, 0x2d91e: 0x6c32e820, 0x2d91f: 0x6c1f4220, + 0x2d920: 0x6c32ea20, 0x2d921: 0x6c1f4420, 0x2d922: 0x6c32ec20, 0x2d923: 0x6c1f4620, + 0x2d924: 0x6c1f4820, 0x2d925: 0x6c32ee20, 0x2d926: 0x6c1f4a20, 0x2d927: 0x6c1f4c20, + 0x2d928: 0x6c1f4e20, 0x2d929: 0x6c32f020, 0x2d92a: 0x6c1f5020, 0x2d92b: 0x6c1f5220, + 0x2d92c: 0x6c1f5420, 0x2d92d: 0x6c1f5620, 0x2d92e: 0x6c1f5820, 0x2d92f: 0x6c1f5a20, + 0x2d930: 0x6c1f5c20, 0x2d931: 0x6c1f5e20, 0x2d932: 0x6c1f6020, 0x2d933: 0x6c1f6220, + 0x2d934: 0x6c1f6420, 0x2d935: 0x6c32f220, 0x2d936: 0x6c1f6620, 0x2d937: 0x6c1f6820, + 0x2d938: 0x6c1f6a20, 0x2d939: 0x6c1f6c20, 0x2d93a: 0x6c1f6e20, 0x2d93b: 0x6c1f7020, + 0x2d93c: 0x6c1f7220, 0x2d93d: 0x6c32f420, 0x2d93e: 0x6c1f7420, 0x2d93f: 0x6c32f620, + // Block 0xb65, offset 0x2d940 + 0x2d940: 0x6c1f7620, 0x2d941: 0x6c32f820, 0x2d942: 0x6c32fa20, 0x2d943: 0x6c1f7820, + 0x2d944: 0x6c1f7a20, 0x2d945: 0x6c1f7c20, 0x2d946: 0x6c1f7e20, 0x2d947: 0x6c331020, + 0x2d948: 0x6c331220, 0x2d949: 0x6c331420, 0x2d94a: 0x6c331620, 0x2d94b: 0x6c331820, + 0x2d94c: 0x6c331a20, 0x2d94d: 0x6c331c20, 0x2d94e: 0x6c4d8420, 0x2d94f: 0x6c331e20, + 0x2d950: 0x6c332020, 0x2d951: 0x6c332220, 0x2d952: 0x6c4d8620, 0x2d953: 0x6c332420, + 0x2d954: 0x6c332620, 0x2d955: 0x6c332820, 0x2d956: 0x6c332a20, 0x2d957: 0x6c332c20, + 0x2d958: 0x6c4d8820, 0x2d959: 0x6c332e20, 0x2d95a: 0x6c333020, 0x2d95b: 0x6c333220, + 0x2d95c: 0x6c333420, 0x2d95d: 0x6c4d8a20, 0x2d95e: 0x6c333620, 0x2d95f: 0x6c333820, + 0x2d960: 0x6c4d8c20, 0x2d961: 0x6c333a20, 0x2d962: 0x6c333c20, 0x2d963: 0x6c4d8e20, + 0x2d964: 0x6c4d9020, 0x2d965: 0x6c4d9220, 0x2d966: 0x6c333e20, 0x2d967: 0x6c334020, + 0x2d968: 0x6c4d9420, 0x2d969: 0x6c334220, 0x2d96a: 0x6c334420, 0x2d96b: 0x6c334620, + 0x2d96c: 0x6c334820, 0x2d96d: 0x6c334a20, 0x2d96e: 0x6c334c20, 0x2d96f: 0x6c334e20, + 0x2d970: 0x6c335020, 0x2d971: 0x6c4d9620, 0x2d972: 0x6c335220, 0x2d973: 0x6c335420, + 0x2d974: 0x6c335620, 0x2d975: 0x6c335820, 0x2d976: 0x6c335a20, 0x2d977: 0x6c4d9820, + 0x2d978: 0x6c4d9a20, 0x2d979: 0x6c4d9c20, 0x2d97a: 0x6c335c20, 0x2d97b: 0x6c4d9e20, + 0x2d97c: 0x6c4da020, 0x2d97d: 0x6c335e20, 0x2d97e: 0x6c336020, 0x2d97f: 0x6c336220, + // Block 0xb66, offset 0x2d980 + 0x2d980: 0x6c4dc020, 0x2d981: 0x6c6f6220, 0x2d982: 0x6c4dc220, 0x2d983: 0x6c4dc420, + 0x2d984: 0x6c4dc620, 0x2d985: 0x6c4dc820, 0x2d986: 0x6c4dca20, 0x2d987: 0x6c4dcc20, + 0x2d988: 0x6c4dce20, 0x2d989: 0x6c4dd020, 0x2d98a: 0x6c4dd220, 0x2d98b: 0x6c6f6420, + 0x2d98c: 0x6c4dd420, 0x2d98d: 0x6c4dd620, 0x2d98e: 0x6c4dd820, 0x2d98f: 0x6c6f6620, + 0x2d990: 0x6c6f6820, 0x2d991: 0x6c4dda20, 0x2d992: 0x6c4ddc20, 0x2d993: 0x6c4dde20, + 0x2d994: 0x6c4de020, 0x2d995: 0x6c6f6a20, 0x2d996: 0x6c6f6c20, 0x2d997: 0x6c4de220, + 0x2d998: 0x6c4de420, 0x2d999: 0x6c6f6e20, 0x2d99a: 0x6c6f7020, 0x2d99b: 0x6c4de620, + 0x2d99c: 0x6c4de820, 0x2d99d: 0x6c6f7220, 0x2d99e: 0x6c4dea20, 0x2d99f: 0x6c4dec20, + 0x2d9a0: 0x6c4dee20, 0x2d9a1: 0x6c4df020, 0x2d9a2: 0x6c4df220, 0x2d9a3: 0x6c6f7420, + 0x2d9a4: 0x6c4df420, 0x2d9a5: 0x6c6f7620, 0x2d9a6: 0x6c4df620, 0x2d9a7: 0x6c6f7820, + 0x2d9a8: 0x6c4df820, 0x2d9a9: 0x6c6f7a20, 0x2d9aa: 0x6c4dfa20, 0x2d9ab: 0x6c4dfc20, + 0x2d9ac: 0x6c4dfe20, 0x2d9ad: 0x6c6f7c20, 0x2d9ae: 0x6c4e0020, 0x2d9af: 0x6c6f7e20, + 0x2d9b0: 0x6c4e0220, 0x2d9b1: 0x6c4e0420, 0x2d9b2: 0x6c4e0620, 0x2d9b3: 0x6c6f8020, + 0x2d9b4: 0x6c6f8220, 0x2d9b5: 0x6c6f8420, 0x2d9b6: 0x6c6f8620, 0x2d9b7: 0x6c6f8820, + 0x2d9b8: 0x6c4e0820, 0x2d9b9: 0x6c4e0a20, 0x2d9ba: 0x6c4e0c20, 0x2d9bb: 0x6c4e0e20, + 0x2d9bc: 0x6c4e1020, 0x2d9bd: 0x6c4e1220, 0x2d9be: 0x6c6f9e20, 0x2d9bf: 0x6c973820, + // Block 0xb67, offset 0x2d9c0 + 0x2d9c0: 0x6c6fa020, 0x2d9c1: 0x6c6fa220, 0x2d9c2: 0x6c6fa420, 0x2d9c3: 0x6c6fa620, + 0x2d9c4: 0x6c6fa820, 0x2d9c5: 0x6c6faa20, 0x2d9c6: 0x6c973a20, 0x2d9c7: 0x6c6fac20, + 0x2d9c8: 0x6c6fae20, 0x2d9c9: 0x6c973c20, 0x2d9ca: 0x6c973e20, 0x2d9cb: 0x6c6fb020, + 0x2d9cc: 0x6c6fb220, 0x2d9cd: 0x6c6fb420, 0x2d9ce: 0x6c6fb620, 0x2d9cf: 0x6c6fb820, + 0x2d9d0: 0x6c974020, 0x2d9d1: 0x6c6fba20, 0x2d9d2: 0x6c6fbc20, 0x2d9d3: 0x6c6fbe20, + 0x2d9d4: 0x6c6fc020, 0x2d9d5: 0x6c6fc220, 0x2d9d6: 0x6c6fc420, 0x2d9d7: 0x6c6fc620, + 0x2d9d8: 0x6c974220, 0x2d9d9: 0x6c6fc820, 0x2d9da: 0x6c6fca20, 0x2d9db: 0x6c6fcc20, + 0x2d9dc: 0x6c6fce20, 0x2d9dd: 0x6c6fd020, 0x2d9de: 0x6c6fd220, 0x2d9df: 0x6c6fd420, + 0x2d9e0: 0x6c974420, 0x2d9e1: 0x6c974620, 0x2d9e2: 0x6c6fd620, 0x2d9e3: 0x6c974820, + 0x2d9e4: 0x6c974a20, 0x2d9e5: 0x6c974c20, 0x2d9e6: 0x6c6fd820, 0x2d9e7: 0x6c6fda20, + 0x2d9e8: 0x6c974e20, 0x2d9e9: 0x6c6fdc20, 0x2d9ea: 0x6c975020, 0x2d9eb: 0x6c975220, + 0x2d9ec: 0x6c975420, 0x2d9ed: 0x6c6fde20, 0x2d9ee: 0x6c6fe020, 0x2d9ef: 0x6c6fe220, + 0x2d9f0: 0x6c977e20, 0x2d9f1: 0x6c978020, 0x2d9f2: 0x6cc31420, 0x2d9f3: 0x6cc31620, + 0x2d9f4: 0x6c978220, 0x2d9f5: 0x6c978420, 0x2d9f6: 0x6cc31820, 0x2d9f7: 0x6c978620, + 0x2d9f8: 0x6c978820, 0x2d9f9: 0x6cc31a20, 0x2d9fa: 0x6c978a20, 0x2d9fb: 0x6c978c20, + 0x2d9fc: 0x6c978e20, 0x2d9fd: 0x6c979020, 0x2d9fe: 0x6c979220, 0x2d9ff: 0x6c979420, + // Block 0xb68, offset 0x2da00 + 0x2da00: 0x6c979620, 0x2da01: 0x6cc31c20, 0x2da02: 0x6c979820, 0x2da03: 0x6c979a20, + 0x2da04: 0x6cc31e20, 0x2da05: 0x6c979c20, 0x2da06: 0x6c979e20, 0x2da07: 0x6c97a020, + 0x2da08: 0x6c97a220, 0x2da09: 0x6cc32020, 0x2da0a: 0x6c97a420, 0x2da0b: 0x6c97a620, + 0x2da0c: 0x6cc32220, 0x2da0d: 0x6c97a820, 0x2da0e: 0x6cc32420, 0x2da0f: 0x6c97aa20, + 0x2da10: 0x6c97ac20, 0x2da11: 0x6cc32620, 0x2da12: 0x6cc32820, 0x2da13: 0x6c97ae20, + 0x2da14: 0x6c97b020, 0x2da15: 0x6c97b220, 0x2da16: 0x6cc32a20, 0x2da17: 0x6c97b420, + 0x2da18: 0x6c97b620, 0x2da19: 0x6c97b820, 0x2da1a: 0x6c97ba20, 0x2da1b: 0x6c97bc20, + 0x2da1c: 0x6c97be20, 0x2da1d: 0x6c97c020, 0x2da1e: 0x6c97c220, 0x2da1f: 0x6c97c420, + 0x2da20: 0x6cc32c20, 0x2da21: 0x6cc32e20, 0x2da22: 0x6cc33020, 0x2da23: 0x6cc33220, + 0x2da24: 0x6c97c620, 0x2da25: 0x6cc33420, 0x2da26: 0x6c97c820, 0x2da27: 0x6c97ca20, + 0x2da28: 0x6c97cc20, 0x2da29: 0x6cc33620, 0x2da2a: 0x6cc33820, 0x2da2b: 0x6cc33a20, + 0x2da2c: 0x6c97ce20, 0x2da2d: 0x6c97d020, 0x2da2e: 0x6c97d220, 0x2da2f: 0x6c97d420, + 0x2da30: 0x6cc35820, 0x2da31: 0x6cc35a20, 0x2da32: 0x6cc35c20, 0x2da33: 0x6cf24a20, + 0x2da34: 0x6cc35e20, 0x2da35: 0x6cc36020, 0x2da36: 0x6cc36220, 0x2da37: 0x6cf24c20, + 0x2da38: 0x6cc36420, 0x2da39: 0x6cf24e20, 0x2da3a: 0x6cc36620, 0x2da3b: 0x6cc36820, + 0x2da3c: 0x6cc36a20, 0x2da3d: 0x6cc36c20, 0x2da3e: 0x6cc36e20, 0x2da3f: 0x6cc37020, + // Block 0xb69, offset 0x2da40 + 0x2da40: 0x6cc37220, 0x2da41: 0x6cf25020, 0x2da42: 0x6cf25220, 0x2da43: 0x6cc37420, + 0x2da44: 0x6cc37620, 0x2da45: 0x6cc37820, 0x2da46: 0x6cf25420, 0x2da47: 0x6cc37a20, + 0x2da48: 0x6cf25620, 0x2da49: 0x6cc37c20, 0x2da4a: 0x6cc37e20, 0x2da4b: 0x6cc38020, + 0x2da4c: 0x6cc38220, 0x2da4d: 0x6cf25820, 0x2da4e: 0x6cc38420, 0x2da4f: 0x6cf25a20, + 0x2da50: 0x6cc38620, 0x2da51: 0x6cc38820, 0x2da52: 0x6cc38a20, 0x2da53: 0x6cc38c20, + 0x2da54: 0x6cc38e20, 0x2da55: 0x6cc39020, 0x2da56: 0x6cc39220, 0x2da57: 0x6cf25c20, + 0x2da58: 0x6cc39420, 0x2da59: 0x6cf25e20, 0x2da5a: 0x6cf26020, 0x2da5b: 0x6cf26220, + 0x2da5c: 0x6cc39620, 0x2da5d: 0x6cc39820, 0x2da5e: 0x6cc39a20, 0x2da5f: 0x6cf26420, + 0x2da60: 0x6cc39c20, 0x2da61: 0x6cc39e20, 0x2da62: 0x6cc3a020, 0x2da63: 0x6cc3a220, + 0x2da64: 0x6cc3a420, 0x2da65: 0x6cc3a620, 0x2da66: 0x6cc3a820, 0x2da67: 0x6cf27820, + 0x2da68: 0x6d221220, 0x2da69: 0x6cf27a20, 0x2da6a: 0x6cf27c20, 0x2da6b: 0x6cf27e20, + 0x2da6c: 0x6d221420, 0x2da6d: 0x6cf28020, 0x2da6e: 0x6cf28220, 0x2da6f: 0x6cf28420, + 0x2da70: 0x6cf28620, 0x2da71: 0x6cf28820, 0x2da72: 0x6cf28a20, 0x2da73: 0x6d221620, + 0x2da74: 0x6cf28c20, 0x2da75: 0x6cf28e20, 0x2da76: 0x6cf29020, 0x2da77: 0x6cf29220, + 0x2da78: 0x6d221820, 0x2da79: 0x6cf29420, 0x2da7a: 0x6cf29620, 0x2da7b: 0x6d221a20, + 0x2da7c: 0x6cf29820, 0x2da7d: 0x6cf29a20, 0x2da7e: 0x6cf29c20, 0x2da7f: 0x6d221c20, + // Block 0xb6a, offset 0x2da80 + 0x2da80: 0x6cf29e20, 0x2da81: 0x6d221e20, 0x2da82: 0x6d222020, 0x2da83: 0x6cf2a020, + 0x2da84: 0x6cf2a220, 0x2da85: 0x6cf2a420, 0x2da86: 0x6cf2a620, 0x2da87: 0x6d222220, + 0x2da88: 0x6d222420, 0x2da89: 0x6cf2a820, 0x2da8a: 0x6cf2aa20, 0x2da8b: 0x6d222620, + 0x2da8c: 0x6cf2ac20, 0x2da8d: 0x6cf2ae20, 0x2da8e: 0x6cf2b020, 0x2da8f: 0x6cf2b220, + 0x2da90: 0x6d222820, 0x2da91: 0x6cf2b420, 0x2da92: 0x6d223c20, 0x2da93: 0x6d223e20, + 0x2da94: 0x6d224020, 0x2da95: 0x6d4f6c20, 0x2da96: 0x6d224220, 0x2da97: 0x6d4f6e20, + 0x2da98: 0x6d224420, 0x2da99: 0x6d4f7020, 0x2da9a: 0x6d224620, 0x2da9b: 0x6d224820, + 0x2da9c: 0x6d4f7220, 0x2da9d: 0x6d4f7420, 0x2da9e: 0x6d224a20, 0x2da9f: 0x6d224c20, + 0x2daa0: 0x6d224e20, 0x2daa1: 0x6d225020, 0x2daa2: 0x6d225220, 0x2daa3: 0x6d225420, + 0x2daa4: 0x6d4f7620, 0x2daa5: 0x6d225620, 0x2daa6: 0x6d4f7820, 0x2daa7: 0x6d4f7a20, + 0x2daa8: 0x6cc3aa20, 0x2daa9: 0x6d225820, 0x2daaa: 0x6d225a20, 0x2daab: 0x6d4f7c20, + 0x2daac: 0x6d225c20, 0x2daad: 0x6d4fb020, 0x2daae: 0x6d4f7e20, 0x2daaf: 0x6d225e20, + 0x2dab0: 0x6d4f8020, 0x2dab1: 0x6d226020, 0x2dab2: 0x6d226220, 0x2dab3: 0x6d226420, + 0x2dab4: 0x6d226620, 0x2dab5: 0x6d226820, 0x2dab6: 0x6d4f8220, 0x2dab7: 0x6d226a20, + 0x2dab8: 0x6d4f8420, 0x2dab9: 0x6d4f8620, 0x2daba: 0x6d226c20, 0x2dabb: 0x6d226e20, + 0x2dabc: 0x6d4f8820, 0x2dabd: 0x6d227020, 0x2dabe: 0x6d4f8a20, 0x2dabf: 0x6d4f8c20, + // Block 0xb6b, offset 0x2dac0 + 0x2dac0: 0x6d227220, 0x2dac1: 0x6d227420, 0x2dac2: 0x6d4f8e20, 0x2dac3: 0x6d4f9020, + 0x2dac4: 0x6d4f9220, 0x2dac5: 0x6d4f9420, 0x2dac6: 0x6d227620, 0x2dac7: 0x6d4f9620, + 0x2dac8: 0x6d227820, 0x2dac9: 0x6d4fb220, 0x2daca: 0x6d7bb620, 0x2dacb: 0x6d4fb420, + 0x2dacc: 0x6d7bb820, 0x2dacd: 0x6d4fb620, 0x2dace: 0x6d4fb820, 0x2dacf: 0x6d4fba20, + 0x2dad0: 0x6d4fbc20, 0x2dad1: 0x6d7bba20, 0x2dad2: 0x6d4fbe20, 0x2dad3: 0x6d4fc020, + 0x2dad4: 0x6d4fc220, 0x2dad5: 0x6d4fc420, 0x2dad6: 0x6d7bbc20, 0x2dad7: 0x6d7bbe20, + 0x2dad8: 0x6d4fc620, 0x2dad9: 0x6d7bc020, 0x2dada: 0x6d4fc820, 0x2dadb: 0x6d4fca20, + 0x2dadc: 0x6d4fcc20, 0x2dadd: 0x6d7bc220, 0x2dade: 0x6d4fce20, 0x2dadf: 0x6d4fd020, + 0x2dae0: 0x6d7bc420, 0x2dae1: 0x6d4fd220, 0x2dae2: 0x6d4fd420, 0x2dae3: 0x6d4fd620, + 0x2dae4: 0x6d4fd820, 0x2dae5: 0x6d7bc620, 0x2dae6: 0x6d4fda20, 0x2dae7: 0x6d4fdc20, + 0x2dae8: 0x6d7bc820, 0x2dae9: 0x6d7bca20, 0x2daea: 0x6d4fde20, 0x2daeb: 0x6d4fe020, + 0x2daec: 0x6d4fe220, 0x2daed: 0x6d4fe420, 0x2daee: 0x6d4fe620, 0x2daef: 0x6d4fe820, + 0x2daf0: 0x6d4fea20, 0x2daf1: 0x6d4fec20, 0x2daf2: 0x6d7bcc20, 0x2daf3: 0x6d4fee20, + 0x2daf4: 0x6d7bd220, 0x2daf5: 0x6da3d620, 0x2daf6: 0x6d7bd420, 0x2daf7: 0x6d7bd620, + 0x2daf8: 0x6d7bd820, 0x2daf9: 0x6d7bda20, 0x2dafa: 0x6d7bdc20, 0x2dafb: 0x6d7c8e20, + 0x2dafc: 0x6da3d820, 0x2dafd: 0x6d7bde20, 0x2dafe: 0x6d7be020, 0x2daff: 0x6d7be220, + // Block 0xb6c, offset 0x2db00 + 0x2db00: 0x6d7be420, 0x2db01: 0x6d7be620, 0x2db02: 0x6da3da20, 0x2db03: 0x6da3dc20, + 0x2db04: 0x6d7be820, 0x2db05: 0x6d7bea20, 0x2db06: 0x6d7bec20, 0x2db07: 0x6da3de20, + 0x2db08: 0x6d7bee20, 0x2db09: 0x6da3e020, 0x2db0a: 0x6d7bf020, 0x2db0b: 0x6da3e220, + 0x2db0c: 0x6d7bf220, 0x2db0d: 0x6d7bf420, 0x2db0e: 0x6d7bf620, 0x2db0f: 0x6d7bf820, + 0x2db10: 0x6d7bfa20, 0x2db11: 0x6da3e420, 0x2db12: 0x6d7bfc20, 0x2db13: 0x6d7bfe20, + 0x2db14: 0x6d7c0020, 0x2db15: 0x6dc57e20, 0x2db16: 0x6dc58020, 0x2db17: 0x6da3ea20, + 0x2db18: 0x6dc58220, 0x2db19: 0x6da3ec20, 0x2db1a: 0x6da3ee20, 0x2db1b: 0x6da3f020, + 0x2db1c: 0x6da3f220, 0x2db1d: 0x6da3f420, 0x2db1e: 0x6da3f620, 0x2db1f: 0x6dc58420, + 0x2db20: 0x6da3f820, 0x2db21: 0x6da3fa20, 0x2db22: 0x6da3fc20, 0x2db23: 0x6dc58620, + 0x2db24: 0x6da3fe20, 0x2db25: 0x6da40020, 0x2db26: 0x6da40220, 0x2db27: 0x6da40420, + 0x2db28: 0x6da40620, 0x2db29: 0x6dc58c20, 0x2db2a: 0x6dc58e20, 0x2db2b: 0x6dc59020, + 0x2db2c: 0x6de27e20, 0x2db2d: 0x6dc59220, 0x2db2e: 0x6dc59420, 0x2db2f: 0x6de28020, + 0x2db30: 0x6dc59620, 0x2db31: 0x6dc59820, 0x2db32: 0x6de28220, 0x2db33: 0x6dc59a20, + 0x2db34: 0x6dc59c20, 0x2db35: 0x6de28a20, 0x2db36: 0x6de28c20, 0x2db37: 0x6de28e20, + 0x2db38: 0x6dfa2e20, 0x2db39: 0x6dfa3620, 0x2db3a: 0x6dfa3820, 0x2db3b: 0x6de2de20, + 0x2db3c: 0x6e0dc020, 0x2db3d: 0x6e0dc220, 0x2db3e: 0x6e0dc420, 0x2db3f: 0x6e1d3220, + // Block 0xb6d, offset 0x2db40 + 0x2db40: 0x6e28d020, 0x2db41: 0x6e28d220, 0x2db42: 0x6e1d3820, 0x2db43: 0x6e28d420, + 0x2db44: 0x6e28d620, 0x2db45: 0x6e388a20, 0x2db46: 0x6e388c20, 0x2db47: 0x6e429820, + 0x2db48: 0x6c046c20, 0x2db49: 0x6c092020, 0x2db4a: 0x6c092220, 0x2db4b: 0x6c092420, + 0x2db4c: 0x6c11ba20, 0x2db4d: 0x6c11bc20, 0x2db4e: 0x6c11be20, 0x2db4f: 0x6c11c020, + 0x2db50: 0x6c11c220, 0x2db51: 0x6c200020, 0x2db52: 0x6c200220, 0x2db53: 0x6c200420, + 0x2db54: 0x6c33e220, 0x2db55: 0x6c33e420, 0x2db56: 0x6c33e620, 0x2db57: 0x6c33e820, + 0x2db58: 0x6c4ea020, 0x2db59: 0x6c709c20, 0x2db5a: 0x6c98b820, 0x2db5b: 0x6c98ba20, + 0x2db5c: 0x6c98bc20, 0x2db5d: 0x6c98be20, 0x2db5e: 0x6cc49020, 0x2db5f: 0x6cc49220, + 0x2db60: 0x6cf37820, 0x2db61: 0x6cf37a20, 0x2db62: 0x6cf37c20, 0x2db63: 0x6cf37e20, + 0x2db64: 0x6cf38020, 0x2db65: 0x6cf38220, 0x2db66: 0x6cf37420, 0x2db67: 0x6d233420, + 0x2db68: 0x6d233620, 0x2db69: 0x6d233820, 0x2db6a: 0x6d233a20, 0x2db6b: 0x6d233c20, + 0x2db6c: 0x6d233e20, 0x2db6d: 0x6d50c220, 0x2db6e: 0x6d50c420, 0x2db6f: 0x6d50c620, + 0x2db70: 0x6d7c9220, 0x2db71: 0x6d7c9020, 0x2db72: 0x6da46a20, 0x2db73: 0x6dc60020, + 0x2db74: 0x6da46c20, 0x2db75: 0x6e1d5220, 0x2db76: 0x6c046e20, 0x2db77: 0x6c047020, + 0x2db78: 0x6c047220, 0x2db79: 0x6c092c20, 0x2db7a: 0x6c201820, 0x2db7b: 0x6c201a20, + 0x2db7c: 0x6c201c20, 0x2db7d: 0x6c340620, 0x2db7e: 0x6c340820, 0x2db7f: 0x6c340a20, + // Block 0xb6e, offset 0x2db80 + 0x2db80: 0x6c340c20, 0x2db81: 0x6c4ecc20, 0x2db82: 0x6c4ece20, 0x2db83: 0x6c4ed020, + 0x2db84: 0x6c70b220, 0x2db85: 0x6c70b420, 0x2db86: 0x6c70b620, 0x2db87: 0x6c70b820, + 0x2db88: 0x6c98d620, 0x2db89: 0x6cc4ae20, 0x2db8a: 0x6cc4b020, 0x2db8b: 0x6c047420, + 0x2db8c: 0x6c01f420, 0x2db8d: 0x6c01f620, 0x2db8e: 0x6c047620, 0x2db8f: 0x6c095020, + 0x2db90: 0x6c093820, 0x2db91: 0x6c093a20, 0x2db92: 0x6c093c20, 0x2db93: 0x6c093e20, + 0x2db94: 0x6c094020, 0x2db95: 0x6c094220, 0x2db96: 0x6c094420, 0x2db97: 0x6c11dc20, + 0x2db98: 0x6c11de20, 0x2db99: 0x6c11e020, 0x2db9a: 0x6c11e220, 0x2db9b: 0x6c11e420, + 0x2db9c: 0x6c11e620, 0x2db9d: 0x6c11e820, 0x2db9e: 0x6c11ea20, 0x2db9f: 0x6c123420, + 0x2dba0: 0x6c11ec20, 0x2dba1: 0x6c11ee20, 0x2dba2: 0x6c11f020, 0x2dba3: 0x6c11f220, + 0x2dba4: 0x6c11f420, 0x2dba5: 0x6c11f620, 0x2dba6: 0x6c11f820, 0x2dba7: 0x6c11fa20, + 0x2dba8: 0x6c11fc20, 0x2dba9: 0x6c11fe20, 0x2dbaa: 0x6c120020, 0x2dbab: 0x6c120220, + 0x2dbac: 0x6c120420, 0x2dbad: 0x6c203a20, 0x2dbae: 0x6c203c20, 0x2dbaf: 0x6c203e20, + 0x2dbb0: 0x6c204020, 0x2dbb1: 0x6c204220, 0x2dbb2: 0x6c204420, 0x2dbb3: 0x6c204620, + 0x2dbb4: 0x6c204820, 0x2dbb5: 0x6c204a20, 0x2dbb6: 0x6c204c20, 0x2dbb7: 0x6c204e20, + 0x2dbb8: 0x6c211820, 0x2dbb9: 0x6c205020, 0x2dbba: 0x6c205220, 0x2dbbb: 0x6c205420, + 0x2dbbc: 0x6c205620, 0x2dbbd: 0x6c205820, 0x2dbbe: 0x6c205a20, 0x2dbbf: 0x6c341c20, + // Block 0xb6f, offset 0x2dbc0 + 0x2dbc0: 0x6c205c20, 0x2dbc1: 0x6c205e20, 0x2dbc2: 0x6c206020, 0x2dbc3: 0x6c206220, + 0x2dbc4: 0x6c206420, 0x2dbc5: 0x6c206620, 0x2dbc6: 0x6c206820, 0x2dbc7: 0x6c206a20, + 0x2dbc8: 0x6c206c20, 0x2dbc9: 0x6c206e20, 0x2dbca: 0x6c207020, 0x2dbcb: 0x6c207220, + 0x2dbcc: 0x6c207420, 0x2dbcd: 0x6c207620, 0x2dbce: 0x6c207820, 0x2dbcf: 0x6c207a20, + 0x2dbd0: 0x6c207c20, 0x2dbd1: 0x6c207e20, 0x2dbd2: 0x6c208020, 0x2dbd3: 0x6c208220, + 0x2dbd4: 0x6c208420, 0x2dbd5: 0x6c208620, 0x2dbd6: 0x6c208820, 0x2dbd7: 0x6c208a20, + 0x2dbd8: 0x6c208c20, 0x2dbd9: 0x6c208e20, 0x2dbda: 0x6c209020, 0x2dbdb: 0x6c209220, + 0x2dbdc: 0x6c209420, 0x2dbdd: 0x6c209620, 0x2dbde: 0x6c209820, 0x2dbdf: 0x6c209a20, + 0x2dbe0: 0x6c209c20, 0x2dbe1: 0x6c209e20, 0x2dbe2: 0x6c20a020, 0x2dbe3: 0x6c20a220, + 0x2dbe4: 0x6c20a420, 0x2dbe5: 0x6c20a620, 0x2dbe6: 0x6c343a20, 0x2dbe7: 0x6c343c20, + 0x2dbe8: 0x6c343e20, 0x2dbe9: 0x6c344020, 0x2dbea: 0x6c344220, 0x2dbeb: 0x6c344420, + 0x2dbec: 0x6c344620, 0x2dbed: 0x6c344820, 0x2dbee: 0x6c344a20, 0x2dbef: 0x6c344c20, + 0x2dbf0: 0x6c344e20, 0x2dbf1: 0x6c345020, 0x2dbf2: 0x6c345220, 0x2dbf3: 0x6c345420, + 0x2dbf4: 0x6c345620, 0x2dbf5: 0x6c345820, 0x2dbf6: 0x6c345a20, 0x2dbf7: 0x6c345c20, + 0x2dbf8: 0x6c345e20, 0x2dbf9: 0x6c346020, 0x2dbfa: 0x6c346220, 0x2dbfb: 0x6c346420, + 0x2dbfc: 0x6c346620, 0x2dbfd: 0x6c346820, 0x2dbfe: 0x6c346a20, 0x2dbff: 0x6c346c20, + // Block 0xb70, offset 0x2dc00 + 0x2dc00: 0x6c346e20, 0x2dc01: 0x6c347020, 0x2dc02: 0x6c347220, 0x2dc03: 0x6c347420, + 0x2dc04: 0x6c347620, 0x2dc05: 0x6c347820, 0x2dc06: 0x6c347a20, 0x2dc07: 0x6c347c20, + 0x2dc08: 0x6c347e20, 0x2dc09: 0x6c348020, 0x2dc0a: 0x6c348220, 0x2dc0b: 0x6c348420, + 0x2dc0c: 0x6c348620, 0x2dc0d: 0x6c348820, 0x2dc0e: 0x6c348a20, 0x2dc0f: 0x6c4ef420, + 0x2dc10: 0x6c348c20, 0x2dc11: 0x6c348e20, 0x2dc12: 0x6c349020, 0x2dc13: 0x6c349220, + 0x2dc14: 0x6c349420, 0x2dc15: 0x6c349620, 0x2dc16: 0x6c349820, 0x2dc17: 0x6c349a20, + 0x2dc18: 0x6c349c20, 0x2dc19: 0x6c349e20, 0x2dc1a: 0x6c34a020, 0x2dc1b: 0x6c34a220, + 0x2dc1c: 0x6c4ef620, 0x2dc1d: 0x6c34a420, 0x2dc1e: 0x6c34a620, 0x2dc1f: 0x6c34a820, + 0x2dc20: 0x6c34aa20, 0x2dc21: 0x6c34ac20, 0x2dc22: 0x6c34ae20, 0x2dc23: 0x6c34b020, + 0x2dc24: 0x6c34b220, 0x2dc25: 0x6c34b420, 0x2dc26: 0x6c34b620, 0x2dc27: 0x6c34b820, + 0x2dc28: 0x6c34ba20, 0x2dc29: 0x6c34bc20, 0x2dc2a: 0x6c4f1420, 0x2dc2b: 0x6c4f1620, + 0x2dc2c: 0x6c4f1820, 0x2dc2d: 0x6c4f1a20, 0x2dc2e: 0x6c4f1c20, 0x2dc2f: 0x6c4f1e20, + 0x2dc30: 0x6c4f2020, 0x2dc31: 0x6c4f2220, 0x2dc32: 0x6c70d020, 0x2dc33: 0x6c70d220, + 0x2dc34: 0x6c4f2420, 0x2dc35: 0x6c4f2620, 0x2dc36: 0x6c4f2820, 0x2dc37: 0x6c4f2a20, + 0x2dc38: 0x6c4f2c20, 0x2dc39: 0x6c4f2e20, 0x2dc3a: 0x6c4f3020, 0x2dc3b: 0x6c4f3220, + 0x2dc3c: 0x6c4f3420, 0x2dc3d: 0x6c4f3620, 0x2dc3e: 0x6c4f3820, 0x2dc3f: 0x6c70d420, + // Block 0xb71, offset 0x2dc40 + 0x2dc40: 0x6c4f3a20, 0x2dc41: 0x6c4f3c20, 0x2dc42: 0x6c4f3e20, 0x2dc43: 0x6c4f4020, + 0x2dc44: 0x6c4f4220, 0x2dc45: 0x6c4f4420, 0x2dc46: 0x6c4f4620, 0x2dc47: 0x6c4f4820, + 0x2dc48: 0x6c70d620, 0x2dc49: 0x6c4f4a20, 0x2dc4a: 0x6c4f4c20, 0x2dc4b: 0x6c4f4e20, + 0x2dc4c: 0x6c4f5020, 0x2dc4d: 0x6c4f5220, 0x2dc4e: 0x6c4f5420, 0x2dc4f: 0x6c4f5620, + 0x2dc50: 0x6c70d820, 0x2dc51: 0x6c4f5820, 0x2dc52: 0x6c4f5a20, 0x2dc53: 0x6c4f5c20, + 0x2dc54: 0x6c4f5e20, 0x2dc55: 0x6c4f6020, 0x2dc56: 0x6c4f6220, 0x2dc57: 0x6c4f6420, + 0x2dc58: 0x6c4f6620, 0x2dc59: 0x6c70da20, 0x2dc5a: 0x6c70dc20, 0x2dc5b: 0x6c70de20, + 0x2dc5c: 0x6c4f6820, 0x2dc5d: 0x6c4f6a20, 0x2dc5e: 0x6c4f6c20, 0x2dc5f: 0x6c4f6e20, + 0x2dc60: 0x6c4f7020, 0x2dc61: 0x6c4f7220, 0x2dc62: 0x6c4f7420, 0x2dc63: 0x6c4f7620, + 0x2dc64: 0x6c4f7820, 0x2dc65: 0x6c4f7a20, 0x2dc66: 0x6c4f7c20, 0x2dc67: 0x6c4f7e20, + 0x2dc68: 0x6c70ec20, 0x2dc69: 0x6c70ee20, 0x2dc6a: 0x6c70f020, 0x2dc6b: 0x6c70f220, + 0x2dc6c: 0x6c70f420, 0x2dc6d: 0x6c70f620, 0x2dc6e: 0x6c70f820, 0x2dc6f: 0x6c70fa20, + 0x2dc70: 0x6c70fc20, 0x2dc71: 0x6c70fe20, 0x2dc72: 0x6c98e420, 0x2dc73: 0x6c710020, + 0x2dc74: 0x6c710220, 0x2dc75: 0x6c710420, 0x2dc76: 0x6c710620, 0x2dc77: 0x6c710820, + 0x2dc78: 0x6c710a20, 0x2dc79: 0x6c710c20, 0x2dc7a: 0x6c710e20, 0x2dc7b: 0x6c98e620, + 0x2dc7c: 0x6c711020, 0x2dc7d: 0x6c711220, 0x2dc7e: 0x6c711420, 0x2dc7f: 0x6c711620, + // Block 0xb72, offset 0x2dc80 + 0x2dc80: 0x6c711820, 0x2dc81: 0x6c711a20, 0x2dc82: 0x6c711c20, 0x2dc83: 0x6c711e20, + 0x2dc84: 0x6c712020, 0x2dc85: 0x6c712220, 0x2dc86: 0x6c712420, 0x2dc87: 0x6c712620, + 0x2dc88: 0x6c712820, 0x2dc89: 0x6c712a20, 0x2dc8a: 0x6c712c20, 0x2dc8b: 0x6c712e20, + 0x2dc8c: 0x6c713020, 0x2dc8d: 0x6c713220, 0x2dc8e: 0x6c713420, 0x2dc8f: 0x6c713620, + 0x2dc90: 0x6c713820, 0x2dc91: 0x6c713a20, 0x2dc92: 0x6c713c20, 0x2dc93: 0x6c713e20, + 0x2dc94: 0x6c714020, 0x2dc95: 0x6c714220, 0x2dc96: 0x6c714420, 0x2dc97: 0x6c714620, + 0x2dc98: 0x6c714820, 0x2dc99: 0x6c714a20, 0x2dc9a: 0x6c714c20, 0x2dc9b: 0x6c714e20, + 0x2dc9c: 0x6c715020, 0x2dc9d: 0x6c715220, 0x2dc9e: 0x6c715420, 0x2dc9f: 0x6c715620, + 0x2dca0: 0x6c715820, 0x2dca1: 0x6c715a20, 0x2dca2: 0x6c715c20, 0x2dca3: 0x6c715e20, + 0x2dca4: 0x6c716020, 0x2dca5: 0x6c990620, 0x2dca6: 0x6c990820, 0x2dca7: 0x6c990a20, + 0x2dca8: 0x6c990c20, 0x2dca9: 0x6c990e20, 0x2dcaa: 0x6c991020, 0x2dcab: 0x6c991220, + 0x2dcac: 0x6c991420, 0x2dcad: 0x6c991620, 0x2dcae: 0x6c991820, 0x2dcaf: 0x6c991a20, + 0x2dcb0: 0x6c991c20, 0x2dcb1: 0x6c991e20, 0x2dcb2: 0x6c992020, 0x2dcb3: 0x6c992220, + 0x2dcb4: 0x6c992420, 0x2dcb5: 0x6c992620, 0x2dcb6: 0x6c992820, 0x2dcb7: 0x6c992a20, + 0x2dcb8: 0x6c992c20, 0x2dcb9: 0x6c992e20, 0x2dcba: 0x6c993020, 0x2dcbb: 0x6c993220, + 0x2dcbc: 0x6c993420, 0x2dcbd: 0x6c993620, 0x2dcbe: 0x6c993820, 0x2dcbf: 0x6c993a20, + // Block 0xb73, offset 0x2dcc0 + 0x2dcc0: 0x6c993c20, 0x2dcc1: 0x6c993e20, 0x2dcc2: 0x6c994020, 0x2dcc3: 0x6c994220, + 0x2dcc4: 0x6c994420, 0x2dcc5: 0x6c994620, 0x2dcc6: 0x6c994820, 0x2dcc7: 0x6c994a20, + 0x2dcc8: 0x6c994c20, 0x2dcc9: 0x6c994e20, 0x2dcca: 0x6c995020, 0x2dccb: 0x6c995220, + 0x2dccc: 0x6cc4be20, 0x2dccd: 0x6c995420, 0x2dcce: 0x6c995620, 0x2dccf: 0x6c995820, + 0x2dcd0: 0x6c995a20, 0x2dcd1: 0x6c995c20, 0x2dcd2: 0x6c995e20, 0x2dcd3: 0x6c996020, + 0x2dcd4: 0x6cc4c020, 0x2dcd5: 0x6c996220, 0x2dcd6: 0x6c996420, 0x2dcd7: 0x6c996620, + 0x2dcd8: 0x6c996820, 0x2dcd9: 0x6c996a20, 0x2dcda: 0x6c996c20, 0x2dcdb: 0x6c996e20, + 0x2dcdc: 0x6c997020, 0x2dcdd: 0x6c997220, 0x2dcde: 0x6c997420, 0x2dcdf: 0x6c997620, + 0x2dce0: 0x6c997820, 0x2dce1: 0x6c997a20, 0x2dce2: 0x6c997c20, 0x2dce3: 0x6cc4c220, + 0x2dce4: 0x6c997e20, 0x2dce5: 0x6c998020, 0x2dce6: 0x6c998220, 0x2dce7: 0x6c998420, + 0x2dce8: 0x6c998620, 0x2dce9: 0x6c998820, 0x2dcea: 0x6c998a20, 0x2dceb: 0x6c998c20, + 0x2dcec: 0x6c998e20, 0x2dced: 0x6c999020, 0x2dcee: 0x6c999220, 0x2dcef: 0x6c999420, + 0x2dcf0: 0x6cc4c420, 0x2dcf1: 0x6cc4c620, 0x2dcf2: 0x6c9a9220, 0x2dcf3: 0x6c999620, + 0x2dcf4: 0x6c999820, 0x2dcf5: 0x6c999a20, 0x2dcf6: 0x6c999c20, 0x2dcf7: 0x6c999e20, + 0x2dcf8: 0x6c99a020, 0x2dcf9: 0x6c99a220, 0x2dcfa: 0x6c99a420, 0x2dcfb: 0x6c99a620, + 0x2dcfc: 0x6c99a820, 0x2dcfd: 0x6c99aa20, 0x2dcfe: 0x6cc4e220, 0x2dcff: 0x6cc4e420, + // Block 0xb74, offset 0x2dd00 + 0x2dd00: 0x6cc4e620, 0x2dd01: 0x6cc4e820, 0x2dd02: 0x6cc4ea20, 0x2dd03: 0x6cc4ec20, + 0x2dd04: 0x6cc4ee20, 0x2dd05: 0x6cf51c20, 0x2dd06: 0x6cc4f020, 0x2dd07: 0x6cc4f220, + 0x2dd08: 0x6cc4f420, 0x2dd09: 0x6cc4f620, 0x2dd0a: 0x6cc4f820, 0x2dd0b: 0x6cc4fa20, + 0x2dd0c: 0x6cc4fc20, 0x2dd0d: 0x6cc4fe20, 0x2dd0e: 0x6cc50020, 0x2dd0f: 0x6cc50220, + 0x2dd10: 0x6cc50420, 0x2dd11: 0x6cc50620, 0x2dd12: 0x6cc50820, 0x2dd13: 0x6cc50a20, + 0x2dd14: 0x6cc50c20, 0x2dd15: 0x6cc50e20, 0x2dd16: 0x6cc51020, 0x2dd17: 0x6cc51220, + 0x2dd18: 0x6cc51420, 0x2dd19: 0x6cc51620, 0x2dd1a: 0x6cc51820, 0x2dd1b: 0x6cc51a20, + 0x2dd1c: 0x6cc51c20, 0x2dd1d: 0x6cc51e20, 0x2dd1e: 0x6cc52020, 0x2dd1f: 0x6cc52220, + 0x2dd20: 0x6cc52420, 0x2dd21: 0x6cc52620, 0x2dd22: 0x6cc52820, 0x2dd23: 0x6cc52a20, + 0x2dd24: 0x6c722020, 0x2dd25: 0x6cc52c20, 0x2dd26: 0x6cc52e20, 0x2dd27: 0x6cf3ac20, + 0x2dd28: 0x6cc53020, 0x2dd29: 0x6cc53220, 0x2dd2a: 0x6cc53420, 0x2dd2b: 0x6cf3ae20, + 0x2dd2c: 0x6cc53620, 0x2dd2d: 0x6cc53820, 0x2dd2e: 0x6cc53a20, 0x2dd2f: 0x6cc53c20, + 0x2dd30: 0x6cc53e20, 0x2dd31: 0x6cf3b020, 0x2dd32: 0x6cc54020, 0x2dd33: 0x6cc54220, + 0x2dd34: 0x6cc54420, 0x2dd35: 0x6cc54620, 0x2dd36: 0x6cc54820, 0x2dd37: 0x6cc54a20, + 0x2dd38: 0x6cc54c20, 0x2dd39: 0x6cc54e20, 0x2dd3a: 0x6cc55020, 0x2dd3b: 0x6cc55220, + 0x2dd3c: 0x6cc55420, 0x2dd3d: 0x6cc55620, 0x2dd3e: 0x6cc55820, 0x2dd3f: 0x6cc55a20, + // Block 0xb75, offset 0x2dd40 + 0x2dd40: 0x6cc55c20, 0x2dd41: 0x6cc55e20, 0x2dd42: 0x6cc56020, 0x2dd43: 0x6cc56220, + 0x2dd44: 0x6cc56420, 0x2dd45: 0x6cc56620, 0x2dd46: 0x6cf3da20, 0x2dd47: 0x6cf3dc20, + 0x2dd48: 0x6cf3de20, 0x2dd49: 0x6cf3e020, 0x2dd4a: 0x6cf3e220, 0x2dd4b: 0x6cf3e420, + 0x2dd4c: 0x6cf3e620, 0x2dd4d: 0x6cf3e820, 0x2dd4e: 0x6cf3ea20, 0x2dd4f: 0x6cf3ec20, + 0x2dd50: 0x6cf3ee20, 0x2dd51: 0x6cf3f020, 0x2dd52: 0x6cf3f220, 0x2dd53: 0x6cf3f420, + 0x2dd54: 0x6cf3f620, 0x2dd55: 0x6cf3f820, 0x2dd56: 0x6cf3fa20, 0x2dd57: 0x6cf3fc20, + 0x2dd58: 0x6cf3fe20, 0x2dd59: 0x6cf40020, 0x2dd5a: 0x6cf40220, 0x2dd5b: 0x6cf40420, + 0x2dd5c: 0x6cf40620, 0x2dd5d: 0x6cf40820, 0x2dd5e: 0x6cf40a20, 0x2dd5f: 0x6cf40c20, + 0x2dd60: 0x6cf40e20, 0x2dd61: 0x6cf41020, 0x2dd62: 0x6cf41220, 0x2dd63: 0x6cf41420, + 0x2dd64: 0x6cf41620, 0x2dd65: 0x6cf41820, 0x2dd66: 0x6cf41a20, 0x2dd67: 0x6cf41c20, + 0x2dd68: 0x6cf41e20, 0x2dd69: 0x6cf42020, 0x2dd6a: 0x6cf42220, 0x2dd6b: 0x6d236a20, + 0x2dd6c: 0x6cf42420, 0x2dd6d: 0x6cf42620, 0x2dd6e: 0x6cf42820, 0x2dd6f: 0x6cf42a20, + 0x2dd70: 0x6cf42c20, 0x2dd71: 0x6cf51e20, 0x2dd72: 0x6cf42e20, 0x2dd73: 0x6cf43020, + 0x2dd74: 0x6d236c20, 0x2dd75: 0x6cf43220, 0x2dd76: 0x6cf43420, 0x2dd77: 0x6cf43620, + 0x2dd78: 0x6cf43820, 0x2dd79: 0x6cf43a20, 0x2dd7a: 0x6cf43c20, 0x2dd7b: 0x6d236e20, + 0x2dd7c: 0x6cf43e20, 0x2dd7d: 0x6cf44020, 0x2dd7e: 0x6cf44220, 0x2dd7f: 0x6d237020, + // Block 0xb76, offset 0x2dd80 + 0x2dd80: 0x6cf44420, 0x2dd81: 0x6cf44620, 0x2dd82: 0x6cf44820, 0x2dd83: 0x6cf44a20, + 0x2dd84: 0x6cf44c20, 0x2dd85: 0x6cf44e20, 0x2dd86: 0x6cf45020, 0x2dd87: 0x6cf45220, + 0x2dd88: 0x6cf45420, 0x2dd89: 0x6cf45620, 0x2dd8a: 0x6cf45820, 0x2dd8b: 0x6d239a20, + 0x2dd8c: 0x6d239c20, 0x2dd8d: 0x6d239e20, 0x2dd8e: 0x6d23a020, 0x2dd8f: 0x6d23a220, + 0x2dd90: 0x6d23a420, 0x2dd91: 0x6d23a620, 0x2dd92: 0x6cc56820, 0x2dd93: 0x6d23a820, + 0x2dd94: 0x6d23aa20, 0x2dd95: 0x6d23ac20, 0x2dd96: 0x6d24e620, 0x2dd97: 0x6d23ae20, + 0x2dd98: 0x6d23b020, 0x2dd99: 0x6d23b220, 0x2dd9a: 0x6d23b420, 0x2dd9b: 0x6d23b620, + 0x2dd9c: 0x6d23b820, 0x2dd9d: 0x6d23ba20, 0x2dd9e: 0x6d23bc20, 0x2dd9f: 0x6d23be20, + 0x2dda0: 0x6d23c020, 0x2dda1: 0x6cc66e20, 0x2dda2: 0x6d23c220, 0x2dda3: 0x6d23c420, + 0x2dda4: 0x6d23c620, 0x2dda5: 0x6d23c820, 0x2dda6: 0x6d23ca20, 0x2dda7: 0x6d23cc20, + 0x2dda8: 0x6d510020, 0x2dda9: 0x6d510220, 0x2ddaa: 0x6d23ce20, 0x2ddab: 0x6d23d020, + 0x2ddac: 0x6d23d220, 0x2ddad: 0x6d23d420, 0x2ddae: 0x6d510420, 0x2ddaf: 0x6d510620, + 0x2ddb0: 0x6d510820, 0x2ddb1: 0x6d23d620, 0x2ddb2: 0x6d23d820, 0x2ddb3: 0x6d23da20, + 0x2ddb4: 0x6d23dc20, 0x2ddb5: 0x6d23de20, 0x2ddb6: 0x6d23e020, 0x2ddb7: 0x6d23e220, + 0x2ddb8: 0x6d23e420, 0x2ddb9: 0x6d510a20, 0x2ddba: 0x6d23e620, 0x2ddbb: 0x6d23e820, + 0x2ddbc: 0x6d23ea20, 0x2ddbd: 0x6d23ec20, 0x2ddbe: 0x6d23ee20, 0x2ddbf: 0x6d23f020, + // Block 0xb77, offset 0x2ddc0 + 0x2ddc0: 0x6d510c20, 0x2ddc1: 0x6d23f220, 0x2ddc2: 0x6d23f420, 0x2ddc3: 0x6d510e20, + 0x2ddc4: 0x6d23f620, 0x2ddc5: 0x6d512e20, 0x2ddc6: 0x6d513020, 0x2ddc7: 0x6d23f820, + 0x2ddc8: 0x6d513220, 0x2ddc9: 0x6d7cb220, 0x2ddca: 0x6d513420, 0x2ddcb: 0x6d513620, + 0x2ddcc: 0x6d513820, 0x2ddcd: 0x6d513a20, 0x2ddce: 0x6d513c20, 0x2ddcf: 0x6d513e20, + 0x2ddd0: 0x6d514020, 0x2ddd1: 0x6d514220, 0x2ddd2: 0x6d514420, 0x2ddd3: 0x6d514620, + 0x2ddd4: 0x6d514820, 0x2ddd5: 0x6d514a20, 0x2ddd6: 0x6d514c20, 0x2ddd7: 0x6d514e20, + 0x2ddd8: 0x6d515020, 0x2ddd9: 0x6d515220, 0x2ddda: 0x6d515420, 0x2dddb: 0x6d515620, + 0x2dddc: 0x6d515820, 0x2dddd: 0x6d515a20, 0x2ddde: 0x6d515c20, 0x2dddf: 0x6d515e20, + 0x2dde0: 0x6d516020, 0x2dde1: 0x6d516220, 0x2dde2: 0x6d516420, 0x2dde3: 0x6d516620, + 0x2dde4: 0x6d516820, 0x2dde5: 0x6d516a20, 0x2dde6: 0x6d24e820, 0x2dde7: 0x6d516c20, + 0x2dde8: 0x6d516e20, 0x2dde9: 0x6d517020, 0x2ddea: 0x6d517220, 0x2ddeb: 0x6d517420, + 0x2ddec: 0x6d517620, 0x2dded: 0x6d517820, 0x2ddee: 0x6d517a20, 0x2ddef: 0x6d517c20, + 0x2ddf0: 0x6d517e20, 0x2ddf1: 0x6d518020, 0x2ddf2: 0x6d518220, 0x2ddf3: 0x6d518420, + 0x2ddf4: 0x6d518620, 0x2ddf5: 0x6d518820, 0x2ddf6: 0x6d518a20, 0x2ddf7: 0x6d518c20, + 0x2ddf8: 0x6d518e20, 0x2ddf9: 0x6d519020, 0x2ddfa: 0x6d519220, 0x2ddfb: 0x6d7cc220, + 0x2ddfc: 0x6d7cc420, 0x2ddfd: 0x6d7cc620, 0x2ddfe: 0x6d7cc820, 0x2ddff: 0x6d7cca20, + // Block 0xb78, offset 0x2de00 + 0x2de00: 0x6d7ccc20, 0x2de01: 0x6d7cce20, 0x2de02: 0x6d7cd020, 0x2de03: 0x6d7cd220, + 0x2de04: 0x6d7cd420, 0x2de05: 0x6d7cd620, 0x2de06: 0x6d519420, 0x2de07: 0x6d7cd820, + 0x2de08: 0x6d7cda20, 0x2de09: 0x6d7cdc20, 0x2de0a: 0x6da47c20, 0x2de0b: 0x6d7cde20, + 0x2de0c: 0x6d7ce020, 0x2de0d: 0x6d7ce220, 0x2de0e: 0x6da47e20, 0x2de0f: 0x6d7ce420, + 0x2de10: 0x6d7ce620, 0x2de11: 0x6d7ce820, 0x2de12: 0x6d7cea20, 0x2de13: 0x6d7cec20, + 0x2de14: 0x6d7cee20, 0x2de15: 0x6d7cf020, 0x2de16: 0x6d7cf220, 0x2de17: 0x6d7cf420, + 0x2de18: 0x6da48020, 0x2de19: 0x6d7cf620, 0x2de1a: 0x6d7cf820, 0x2de1b: 0x6d7cfa20, + 0x2de1c: 0x6d7cfc20, 0x2de1d: 0x6d7cfe20, 0x2de1e: 0x6d7d0020, 0x2de1f: 0x6da48e20, + 0x2de20: 0x6da49020, 0x2de21: 0x6da49220, 0x2de22: 0x6da49420, 0x2de23: 0x6da49620, + 0x2de24: 0x6da49820, 0x2de25: 0x6dc62620, 0x2de26: 0x6da49a20, 0x2de27: 0x6dc60a20, + 0x2de28: 0x6da49c20, 0x2de29: 0x6da49e20, 0x2de2a: 0x6dc60c20, 0x2de2b: 0x6da4a020, + 0x2de2c: 0x6da4a220, 0x2de2d: 0x6da4a420, 0x2de2e: 0x6da4a620, 0x2de2f: 0x6da4a820, + 0x2de30: 0x6da4aa20, 0x2de31: 0x6da4ac20, 0x2de32: 0x6dc62820, 0x2de33: 0x6d7d9e20, + 0x2de34: 0x6dc62a20, 0x2de35: 0x6dc62c20, 0x2de36: 0x6dc62e20, 0x2de37: 0x6dc63020, + 0x2de38: 0x6dc63220, 0x2de39: 0x6dc63420, 0x2de3a: 0x6dc63620, 0x2de3b: 0x6dc63820, + 0x2de3c: 0x6dc63a20, 0x2de3d: 0x6dc63c20, 0x2de3e: 0x6dc63e20, 0x2de3f: 0x6dc64020, + // Block 0xb79, offset 0x2de40 + 0x2de40: 0x6de2e820, 0x2de41: 0x6dc64220, 0x2de42: 0x6dc64420, 0x2de43: 0x6dc64620, + 0x2de44: 0x6dc64820, 0x2de45: 0x6dc64a20, 0x2de46: 0x6dc64c20, 0x2de47: 0x6de2ee20, + 0x2de48: 0x6de2f020, 0x2de49: 0x6de2f220, 0x2de4a: 0x6de2f420, 0x2de4b: 0x6de2f620, + 0x2de4c: 0x6de2f820, 0x2de4d: 0x6de2fa20, 0x2de4e: 0x6de2fc20, 0x2de4f: 0x6de2fe20, + 0x2de50: 0x6de30020, 0x2de51: 0x6e0dee20, 0x2de52: 0x6de30220, 0x2de53: 0x6dfa6220, + 0x2de54: 0x6dfa6420, 0x2de55: 0x6dfa6620, 0x2de56: 0x6dfa6820, 0x2de57: 0x6dfa6a20, + 0x2de58: 0x6dfa6c20, 0x2de59: 0x6dfa6e20, 0x2de5a: 0x6dfa7020, 0x2de5b: 0x6e0df820, + 0x2de5c: 0x6e0dfa20, 0x2de5d: 0x6e0dfc20, 0x2de5e: 0x6e1d5620, 0x2de5f: 0x6e1d5820, + 0x2de60: 0x6e1d5a20, 0x2de61: 0x6e1d5c20, 0x2de62: 0x6e1d5e20, 0x2de63: 0x6e28f620, + 0x2de64: 0x6e1d6020, 0x2de65: 0x6e28fe20, 0x2de66: 0x6e1d6220, 0x2de67: 0x6e1d6420, + 0x2de68: 0x6e290020, 0x2de69: 0x6e290220, 0x2de6a: 0x6e290420, 0x2de6b: 0x6e290620, + 0x2de6c: 0x6e322620, 0x2de6d: 0x6e322820, 0x2de6e: 0x6e389420, 0x2de6f: 0x6c047e20, + 0x2de70: 0x6c123620, 0x2de71: 0x6c502a20, 0x2de72: 0x6cc67220, 0x2de73: 0x6d7da020, + 0x2de74: 0x6c048020, 0x2de75: 0x6c048220, 0x2de76: 0x6c123a20, 0x2de77: 0x6c123c20, + 0x2de78: 0x6c212020, 0x2de79: 0x6c212220, 0x2de7a: 0x6c212420, 0x2de7b: 0x6c212620, + 0x2de7c: 0x6c212820, 0x2de7d: 0x6c354420, 0x2de7e: 0x6c354620, 0x2de7f: 0x6c503220, + // Block 0xb7a, offset 0x2de80 + 0x2de80: 0x6c503c20, 0x2de81: 0x6c503e20, 0x2de82: 0x6c504020, 0x2de83: 0x6c504220, + 0x2de84: 0x6c504420, 0x2de85: 0x6c504620, 0x2de86: 0x6c723c20, 0x2de87: 0x6c723e20, + 0x2de88: 0x6c724020, 0x2de89: 0x6c724220, 0x2de8a: 0x6c724420, 0x2de8b: 0x6c724620, + 0x2de8c: 0x6c724820, 0x2de8d: 0x6c9aac20, 0x2de8e: 0x6c9aae20, 0x2de8f: 0x6c9ab020, + 0x2de90: 0x6c9ab220, 0x2de91: 0x6c9ab420, 0x2de92: 0x6c9ab620, 0x2de93: 0x6c9ab820, + 0x2de94: 0x6c9aba20, 0x2de95: 0x6c9abc20, 0x2de96: 0x6c9abe20, 0x2de97: 0x6c9ac020, + 0x2de98: 0x6c9ac220, 0x2de99: 0x6c9ac420, 0x2de9a: 0x6c9ac620, 0x2de9b: 0x6c9ac820, + 0x2de9c: 0x6cc69a20, 0x2de9d: 0x6c9b1420, 0x2de9e: 0x6cc69c20, 0x2de9f: 0x6cc69e20, + 0x2dea0: 0x6cc6a020, 0x2dea1: 0x6cc6a220, 0x2dea2: 0x6cc6a420, 0x2dea3: 0x6cc6a620, + 0x2dea4: 0x6cc6a820, 0x2dea5: 0x6cc6aa20, 0x2dea6: 0x6cc6ac20, 0x2dea7: 0x6cc6ae20, + 0x2dea8: 0x6cc6b020, 0x2dea9: 0x6cc6b220, 0x2deaa: 0x6cc6b420, 0x2deab: 0x6cf53620, + 0x2deac: 0x6cf53820, 0x2dead: 0x6cf52a20, 0x2deae: 0x6cf53a20, 0x2deaf: 0x6cf53c20, + 0x2deb0: 0x6cf53e20, 0x2deb1: 0x6d24f820, 0x2deb2: 0x6d24fa20, 0x2deb3: 0x6d24fc20, + 0x2deb4: 0x6d7dac20, 0x2deb5: 0x6d527820, 0x2deb6: 0x6d527a20, 0x2deb7: 0x6d527c20, + 0x2deb8: 0x6d527e20, 0x2deb9: 0x6d528020, 0x2deba: 0x6d528220, 0x2debb: 0x6d528420, + 0x2debc: 0x6d7db620, 0x2debd: 0x6d7db820, 0x2debe: 0x6d7dba20, 0x2debf: 0x6d7dbc20, + // Block 0xb7b, offset 0x2dec0 + 0x2dec0: 0x6da51420, 0x2dec1: 0x6da51620, 0x2dec2: 0x6da51820, 0x2dec3: 0x6da53e20, + 0x2dec4: 0x6de35a20, 0x2dec5: 0x6dfab420, 0x2dec6: 0x6dfab620, 0x2dec7: 0x6c048420, + 0x2dec8: 0x6c213c20, 0x2dec9: 0x6c357620, 0x2deca: 0x6c728e20, 0x2decb: 0x6c729020, + 0x2decc: 0x6cc70220, 0x2decd: 0x6c9b1620, 0x2dece: 0x6c9b1820, 0x2decf: 0x6c9b1a20, + 0x2ded0: 0x6cc70420, 0x2ded1: 0x6cc70620, 0x2ded2: 0x6cf58e20, 0x2ded3: 0x6d7e0420, + 0x2ded4: 0x6dc6dc20, 0x2ded5: 0x6e0e3c20, 0x2ded6: 0x6e292620, 0x2ded7: 0x6c048620, + 0x2ded8: 0x6c214220, 0x2ded9: 0x6c729c20, 0x2deda: 0x6c729e20, 0x2dedb: 0x6c9b2a20, + 0x2dedc: 0x6c9b2c20, 0x2dedd: 0x6cc71620, 0x2dede: 0x6cc72220, 0x2dedf: 0x6cf59820, + 0x2dee0: 0x6d254820, 0x2dee1: 0x6d254a20, 0x2dee2: 0x6d7e0a20, 0x2dee3: 0x6da54420, + 0x2dee4: 0x6c048a20, 0x2dee5: 0x6c095220, 0x2dee6: 0x6c358a20, 0x2dee7: 0x6c358c20, + 0x2dee8: 0x6c358e20, 0x2dee9: 0x6c359020, 0x2deea: 0x6c508620, 0x2deeb: 0x6c508820, + 0x2deec: 0x6c9b3820, 0x2deed: 0x6c9b3a20, 0x2deee: 0x6cc72620, 0x2deef: 0x6cc72820, + 0x2def0: 0x6cf5a220, 0x2def1: 0x6cc74220, 0x2def2: 0x6d255820, 0x2def3: 0x6d52d820, + 0x2def4: 0x6d7e0c20, 0x2def5: 0x6da54c20, 0x2def6: 0x6da54e20, 0x2def7: 0x6dc6e020, + 0x2def8: 0x6e38a220, 0x2def9: 0x6c048e20, 0x2defa: 0x6c35a020, 0x2defb: 0x6c35a220, + 0x2defc: 0x6c35a420, 0x2defd: 0x6c509020, 0x2defe: 0x6c509220, 0x2deff: 0x6c509420, + // Block 0xb7c, offset 0x2df00 + 0x2df00: 0x6c509620, 0x2df01: 0x6c72bc20, 0x2df02: 0x6c72be20, 0x2df03: 0x6c72c020, + 0x2df04: 0x6c72c220, 0x2df05: 0x6c72c420, 0x2df06: 0x6c72c620, 0x2df07: 0x6c9b4820, + 0x2df08: 0x6c9b4a20, 0x2df09: 0x6c9b4c20, 0x2df0a: 0x6c72c820, 0x2df0b: 0x6c9b4e20, + 0x2df0c: 0x6c9b5020, 0x2df0d: 0x6c9b5220, 0x2df0e: 0x6c9b5420, 0x2df0f: 0x6c9b5620, + 0x2df10: 0x6cc74620, 0x2df11: 0x6cc74820, 0x2df12: 0x6cf5b620, 0x2df13: 0x6cf5b820, + 0x2df14: 0x6cf5ba20, 0x2df15: 0x6cf5bc20, 0x2df16: 0x6d256420, 0x2df17: 0x6d256620, + 0x2df18: 0x6d7e1c20, 0x2df19: 0x6d7e1e20, 0x2df1a: 0x6da55a20, 0x2df1b: 0x6dc6ec20, + 0x2df1c: 0x6de37820, 0x2df1d: 0x6de37a20, 0x2df1e: 0x6de37c20, 0x2df1f: 0x6dfad820, + 0x2df20: 0x6c049020, 0x2df21: 0x6c049220, 0x2df22: 0x6c50ac20, 0x2df23: 0x6c9b6e20, + 0x2df24: 0x6cf5ce20, 0x2df25: 0x6c049620, 0x2df26: 0x6c095420, 0x2df27: 0x6c095620, + 0x2df28: 0x6c125020, 0x2df29: 0x6c125220, 0x2df2a: 0x6c125420, 0x2df2b: 0x6c125620, + 0x2df2c: 0x6c125820, 0x2df2d: 0x6c125a20, 0x2df2e: 0x6c125c20, 0x2df2f: 0x6c125e20, + 0x2df30: 0x6c215c20, 0x2df31: 0x6c215e20, 0x2df32: 0x6c216020, 0x2df33: 0x6c216220, + 0x2df34: 0x6c216420, 0x2df35: 0x6c216620, 0x2df36: 0x6c216820, 0x2df37: 0x6c216a20, + 0x2df38: 0x6c216c20, 0x2df39: 0x6c35b620, 0x2df3a: 0x6c35b820, 0x2df3b: 0x6c35ba20, + 0x2df3c: 0x6c35bc20, 0x2df3d: 0x6c35be20, 0x2df3e: 0x6c35c020, 0x2df3f: 0x6c35c220, + // Block 0xb7d, offset 0x2df40 + 0x2df40: 0x6c35c420, 0x2df41: 0x6c35c620, 0x2df42: 0x6c35c820, 0x2df43: 0x6c35ca20, + 0x2df44: 0x6c35cc20, 0x2df45: 0x6c35ce20, 0x2df46: 0x6c35d020, 0x2df47: 0x6c35d220, + 0x2df48: 0x6c35d420, 0x2df49: 0x6c35d620, 0x2df4a: 0x6c35d820, 0x2df4b: 0x6c35da20, + 0x2df4c: 0x6c35dc20, 0x2df4d: 0x6c35de20, 0x2df4e: 0x6c35e020, 0x2df4f: 0x6c35e220, + 0x2df50: 0x6c35e420, 0x2df51: 0x6c35e620, 0x2df52: 0x6c35e820, 0x2df53: 0x6c35ea20, + 0x2df54: 0x6c35ec20, 0x2df55: 0x6c35ee20, 0x2df56: 0x6c35f020, 0x2df57: 0x6c35f220, + 0x2df58: 0x6c35f420, 0x2df59: 0x6c35f620, 0x2df5a: 0x6c50c420, 0x2df5b: 0x6c50c620, + 0x2df5c: 0x6c50c820, 0x2df5d: 0x6c50ca20, 0x2df5e: 0x6c50cc20, 0x2df5f: 0x6c50ce20, + 0x2df60: 0x6c50d020, 0x2df61: 0x6c50d220, 0x2df62: 0x6c50d420, 0x2df63: 0x6c50d620, + 0x2df64: 0x6c50d820, 0x2df65: 0x6c50da20, 0x2df66: 0x6c50dc20, 0x2df67: 0x6c50de20, + 0x2df68: 0x6c50e020, 0x2df69: 0x6c50e220, 0x2df6a: 0x6c50e420, 0x2df6b: 0x6c50e620, + 0x2df6c: 0x6c50e820, 0x2df6d: 0x6c50ea20, 0x2df6e: 0x6c50ec20, 0x2df6f: 0x6c50ee20, + 0x2df70: 0x6c50f020, 0x2df71: 0x6c50f220, 0x2df72: 0x6c50f420, 0x2df73: 0x6c50f620, + 0x2df74: 0x6c50f820, 0x2df75: 0x6c50fa20, 0x2df76: 0x6c50fc20, 0x2df77: 0x6c50fe20, + 0x2df78: 0x6c510020, 0x2df79: 0x6c510220, 0x2df7a: 0x6c510420, 0x2df7b: 0x6c510620, + 0x2df7c: 0x6c510820, 0x2df7d: 0x6c510a20, 0x2df7e: 0x6c510c20, 0x2df7f: 0x6c510e20, + // Block 0xb7e, offset 0x2df80 + 0x2df80: 0x6c730420, 0x2df81: 0x6c730620, 0x2df82: 0x6c730820, 0x2df83: 0x6c730a20, + 0x2df84: 0x6c730c20, 0x2df85: 0x6c730e20, 0x2df86: 0x6c731020, 0x2df87: 0x6c731220, + 0x2df88: 0x6c731420, 0x2df89: 0x6c731620, 0x2df8a: 0x6c731820, 0x2df8b: 0x6c731a20, + 0x2df8c: 0x6c731c20, 0x2df8d: 0x6c731e20, 0x2df8e: 0x6c732020, 0x2df8f: 0x6c732220, + 0x2df90: 0x6c732420, 0x2df91: 0x6c732620, 0x2df92: 0x6c732820, 0x2df93: 0x6c732a20, + 0x2df94: 0x6c732c20, 0x2df95: 0x6c732e20, 0x2df96: 0x6c733020, 0x2df97: 0x6c9b7e20, + 0x2df98: 0x6c9b8020, 0x2df99: 0x6c9b8220, 0x2df9a: 0x6c9b8420, 0x2df9b: 0x6c9b8620, + 0x2df9c: 0x6c9b8820, 0x2df9d: 0x6c9b8a20, 0x2df9e: 0x6c9b8c20, 0x2df9f: 0x6c738c20, + 0x2dfa0: 0x6c738e20, 0x2dfa1: 0x6c9b8e20, 0x2dfa2: 0x6c9b9020, 0x2dfa3: 0x6c9b9220, + 0x2dfa4: 0x6c9b9420, 0x2dfa5: 0x6c9b9620, 0x2dfa6: 0x6c9b9820, 0x2dfa7: 0x6c9b9a20, + 0x2dfa8: 0x6c9b9c20, 0x2dfa9: 0x6c9b9e20, 0x2dfaa: 0x6cc78620, 0x2dfab: 0x6cc78820, + 0x2dfac: 0x6cc78a20, 0x2dfad: 0x6cc78c20, 0x2dfae: 0x6cc78e20, 0x2dfaf: 0x6cc79020, + 0x2dfb0: 0x6cc79220, 0x2dfb1: 0x6cc79420, 0x2dfb2: 0x6cc79620, 0x2dfb3: 0x6cc79820, + 0x2dfb4: 0x6cc79a20, 0x2dfb5: 0x6cc79c20, 0x2dfb6: 0x6cc79e20, 0x2dfb7: 0x6cc7a020, + 0x2dfb8: 0x6cf5d620, 0x2dfb9: 0x6cc7a220, 0x2dfba: 0x6cc7a420, 0x2dfbb: 0x6cc7a620, + 0x2dfbc: 0x6cc7a820, 0x2dfbd: 0x6cc7aa20, 0x2dfbe: 0x6cc7ac20, 0x2dfbf: 0x6cc7ae20, + // Block 0xb7f, offset 0x2dfc0 + 0x2dfc0: 0x6cc7b020, 0x2dfc1: 0x6cc7b220, 0x2dfc2: 0x6cc7b420, 0x2dfc3: 0x6cc7b620, + 0x2dfc4: 0x6cf5f020, 0x2dfc5: 0x6cf5f220, 0x2dfc6: 0x6cf5f420, 0x2dfc7: 0x6cf5f620, + 0x2dfc8: 0x6cf5f820, 0x2dfc9: 0x6cf5fa20, 0x2dfca: 0x6cf5fc20, 0x2dfcb: 0x6cf5fe20, + 0x2dfcc: 0x6cf60020, 0x2dfcd: 0x6cf60220, 0x2dfce: 0x6cf60420, 0x2dfcf: 0x6cf60620, + 0x2dfd0: 0x6cf60820, 0x2dfd1: 0x6cc7b820, 0x2dfd2: 0x6cf60a20, 0x2dfd3: 0x6cf60c20, + 0x2dfd4: 0x6cf60e20, 0x2dfd5: 0x6cf61020, 0x2dfd6: 0x6cf61220, 0x2dfd7: 0x6cf61420, + 0x2dfd8: 0x6cf61620, 0x2dfd9: 0x6cf61820, 0x2dfda: 0x6d257e20, 0x2dfdb: 0x6d258020, + 0x2dfdc: 0x6d258220, 0x2dfdd: 0x6d258420, 0x2dfde: 0x6d258620, 0x2dfdf: 0x6d258820, + 0x2dfe0: 0x6d258a20, 0x2dfe1: 0x6d258c20, 0x2dfe2: 0x6d258e20, 0x2dfe3: 0x6d259020, + 0x2dfe4: 0x6d259220, 0x2dfe5: 0x6d259420, 0x2dfe6: 0x6d259620, 0x2dfe7: 0x6d259820, + 0x2dfe8: 0x6d259a20, 0x2dfe9: 0x6d530020, 0x2dfea: 0x6d530220, 0x2dfeb: 0x6d530420, + 0x2dfec: 0x6d530620, 0x2dfed: 0x6d530820, 0x2dfee: 0x6d530a20, 0x2dfef: 0x6d530c20, + 0x2dff0: 0x6d530e20, 0x2dff1: 0x6d531020, 0x2dff2: 0x6d531220, 0x2dff3: 0x6d531420, + 0x2dff4: 0x6d531620, 0x2dff5: 0x6d531820, 0x2dff6: 0x6d531a20, 0x2dff7: 0x6d531c20, + 0x2dff8: 0x6d7e4420, 0x2dff9: 0x6d7e4620, 0x2dffa: 0x6d7e4820, 0x2dffb: 0x6d7e4a20, + 0x2dffc: 0x6d537220, 0x2dffd: 0x6d7e4c20, 0x2dffe: 0x6d7e4e20, 0x2dfff: 0x6d7e5020, + // Block 0xb80, offset 0x2e000 + 0x2e000: 0x6d7e5220, 0x2e001: 0x6d7e5420, 0x2e002: 0x6d7e5620, 0x2e003: 0x6d7e5820, + 0x2e004: 0x6d7e5a20, 0x2e005: 0x6d7e5c20, 0x2e006: 0x6d7e5e20, 0x2e007: 0x6d7e6020, + 0x2e008: 0x6d7e6220, 0x2e009: 0x6d7e6420, 0x2e00a: 0x6d7e6620, 0x2e00b: 0x6d7e6820, + 0x2e00c: 0x6d7e6a20, 0x2e00d: 0x6d7e6c20, 0x2e00e: 0x6da56420, 0x2e00f: 0x6d7ed220, + 0x2e010: 0x6da56620, 0x2e011: 0x6da56820, 0x2e012: 0x6da56a20, 0x2e013: 0x6da56c20, + 0x2e014: 0x6da56e20, 0x2e015: 0x6da57020, 0x2e016: 0x6da57220, 0x2e017: 0x6da57420, + 0x2e018: 0x6dc70620, 0x2e019: 0x6da5a820, 0x2e01a: 0x6da57620, 0x2e01b: 0x6dc70820, + 0x2e01c: 0x6dc70a20, 0x2e01d: 0x6de38820, 0x2e01e: 0x6de38a20, 0x2e01f: 0x6de38c20, + 0x2e020: 0x6de38e20, 0x2e021: 0x6de39020, 0x2e022: 0x6de39220, 0x2e023: 0x6dfae020, + 0x2e024: 0x6dfae220, 0x2e025: 0x6dfae420, 0x2e026: 0x6dfae620, 0x2e027: 0x6dfae820, + 0x2e028: 0x6dfaea20, 0x2e029: 0x6e0e4620, 0x2e02a: 0x6e293020, 0x2e02b: 0x6e293220, + 0x2e02c: 0x6e293420, 0x2e02d: 0x6e324a20, 0x2e02e: 0x6e324c20, 0x2e02f: 0x6e38a820, + 0x2e030: 0x6c049820, 0x2e031: 0x6c095e20, 0x2e032: 0x6c127020, 0x2e033: 0x6c127220, + 0x2e034: 0x6c219c20, 0x2e035: 0x6c219e20, 0x2e036: 0x6c364020, 0x2e037: 0x6c515c20, + 0x2e038: 0x6c739020, 0x2e039: 0x6c9c0a20, 0x2e03a: 0x6c739220, 0x2e03b: 0x6c73a820, + 0x2e03c: 0x6c9c0c20, 0x2e03d: 0x6c9ba020, 0x2e03e: 0x6cc84a20, 0x2e03f: 0x6cc84c20, + // Block 0xb81, offset 0x2e040 + 0x2e040: 0x6cb8f420, 0x2e041: 0x6cc84e20, 0x2e042: 0x6cc85020, 0x2e043: 0x6cf68820, + 0x2e044: 0x6d25f820, 0x2e045: 0x6d25fa20, 0x2e046: 0x6d7ed620, 0x2e047: 0x6e0e5820, + 0x2e048: 0x6c049c20, 0x2e049: 0x6c127420, 0x2e04a: 0x6c364c20, 0x2e04b: 0x6c364e20, + 0x2e04c: 0x6c365020, 0x2e04d: 0x6c365220, 0x2e04e: 0x6c516c20, 0x2e04f: 0x6c516e20, + 0x2e050: 0x6c517020, 0x2e051: 0x6c517220, 0x2e052: 0x6c73ae20, 0x2e053: 0x6c73b020, + 0x2e054: 0x6c73b220, 0x2e055: 0x6c73b420, 0x2e056: 0x6c9c1a20, 0x2e057: 0x6c73be20, + 0x2e058: 0x6c9c1c20, 0x2e059: 0x6c9c1e20, 0x2e05a: 0x6c9c2020, 0x2e05b: 0x6c9c2220, + 0x2e05c: 0x6cc85a20, 0x2e05d: 0x6cc85c20, 0x2e05e: 0x6cc85e20, 0x2e05f: 0x6cc86020, + 0x2e060: 0x6cf69420, 0x2e061: 0x6cf69620, 0x2e062: 0x6d260620, 0x2e063: 0x6d7ee620, + 0x2e064: 0x6d7ee820, 0x2e065: 0x6d7eea20, 0x2e066: 0x6dc74820, 0x2e067: 0x6dfb0220, + 0x2e068: 0x6c049e20, 0x2e069: 0x6c04a020, 0x2e06a: 0x6c096220, 0x2e06b: 0x6c096420, + 0x2e06c: 0x6c096620, 0x2e06d: 0x6c096820, 0x2e06e: 0x6c096a20, 0x2e06f: 0x6c096c20, + 0x2e070: 0x6c096e20, 0x2e071: 0x6c127c20, 0x2e072: 0x6c127e20, 0x2e073: 0x6c128020, + 0x2e074: 0x6c128220, 0x2e075: 0x6c128420, 0x2e076: 0x6c128620, 0x2e077: 0x6c128820, + 0x2e078: 0x6c128a20, 0x2e079: 0x6c128c20, 0x2e07a: 0x6c128e20, 0x2e07b: 0x6c129020, + 0x2e07c: 0x6c129220, 0x2e07d: 0x6c129420, 0x2e07e: 0x6c129620, 0x2e07f: 0x6c129820, + // Block 0xb82, offset 0x2e080 + 0x2e080: 0x6c129a20, 0x2e081: 0x6c129c20, 0x2e082: 0x6c129e20, 0x2e083: 0x6c12a020, + 0x2e084: 0x6c21ba20, 0x2e085: 0x6c21bc20, 0x2e086: 0x6c21be20, 0x2e087: 0x6c21c020, + 0x2e088: 0x6c21c220, 0x2e089: 0x6c21c420, 0x2e08a: 0x6c21c620, 0x2e08b: 0x6c21c820, + 0x2e08c: 0x6c21ca20, 0x2e08d: 0x6c21cc20, 0x2e08e: 0x6c21ce20, 0x2e08f: 0x6c21d020, + 0x2e090: 0x6c21d220, 0x2e091: 0x6c21d420, 0x2e092: 0x6c21d620, 0x2e093: 0x6c21d820, + 0x2e094: 0x6c21da20, 0x2e095: 0x6c21dc20, 0x2e096: 0x6c21de20, 0x2e097: 0x6c21e020, + 0x2e098: 0x6c21e220, 0x2e099: 0x6c21e420, 0x2e09a: 0x6c21e620, 0x2e09b: 0x6c21e820, + 0x2e09c: 0x6c21ea20, 0x2e09d: 0x6c21ec20, 0x2e09e: 0x6c21ee20, 0x2e09f: 0x6c21f020, + 0x2e0a0: 0x6c21f220, 0x2e0a1: 0x6c21f420, 0x2e0a2: 0x6c21f620, 0x2e0a3: 0x6c21f820, + 0x2e0a4: 0x6c21fa20, 0x2e0a5: 0x6c21fc20, 0x2e0a6: 0x6c21fe20, 0x2e0a7: 0x6c220020, + 0x2e0a8: 0x6c220220, 0x2e0a9: 0x6c220420, 0x2e0aa: 0x6c366c20, 0x2e0ab: 0x6c366e20, + 0x2e0ac: 0x6c367020, 0x2e0ad: 0x6c367220, 0x2e0ae: 0x6c367420, 0x2e0af: 0x6c367620, + 0x2e0b0: 0x6c367820, 0x2e0b1: 0x6c367a20, 0x2e0b2: 0x6c367c20, 0x2e0b3: 0x6c367e20, + 0x2e0b4: 0x6c368020, 0x2e0b5: 0x6c368220, 0x2e0b6: 0x6c368420, 0x2e0b7: 0x6c368620, + 0x2e0b8: 0x6c368820, 0x2e0b9: 0x6c368a20, 0x2e0ba: 0x6c368c20, 0x2e0bb: 0x6c368e20, + 0x2e0bc: 0x6c369020, 0x2e0bd: 0x6c369220, 0x2e0be: 0x6c369420, 0x2e0bf: 0x6c369620, + // Block 0xb83, offset 0x2e0c0 + 0x2e0c0: 0x6c369820, 0x2e0c1: 0x6c220620, 0x2e0c2: 0x6c369a20, 0x2e0c3: 0x6c369c20, + 0x2e0c4: 0x6c369e20, 0x2e0c5: 0x6c36a020, 0x2e0c6: 0x6c36a220, 0x2e0c7: 0x6c36a420, + 0x2e0c8: 0x6c36a620, 0x2e0c9: 0x6c36a820, 0x2e0ca: 0x6c36aa20, 0x2e0cb: 0x6c36ac20, + 0x2e0cc: 0x6c36ae20, 0x2e0cd: 0x6c36b020, 0x2e0ce: 0x6c36b220, 0x2e0cf: 0x6c36b420, + 0x2e0d0: 0x6c36b620, 0x2e0d1: 0x6c36b820, 0x2e0d2: 0x6c36ba20, 0x2e0d3: 0x6c36bc20, + 0x2e0d4: 0x6c36be20, 0x2e0d5: 0x6c36c020, 0x2e0d6: 0x6c36c220, 0x2e0d7: 0x6c36c420, + 0x2e0d8: 0x6c36c620, 0x2e0d9: 0x6c36c820, 0x2e0da: 0x6c36ca20, 0x2e0db: 0x6c36cc20, + 0x2e0dc: 0x6c36ce20, 0x2e0dd: 0x6c36d020, 0x2e0de: 0x6c36d220, 0x2e0df: 0x6c36d420, + 0x2e0e0: 0x6c36d620, 0x2e0e1: 0x6c36d820, 0x2e0e2: 0x6c36da20, 0x2e0e3: 0x6c36dc20, + 0x2e0e4: 0x6c36de20, 0x2e0e5: 0x6c36e020, 0x2e0e6: 0x6c36e220, 0x2e0e7: 0x6c36e420, + 0x2e0e8: 0x6c36e620, 0x2e0e9: 0x6c36e820, 0x2e0ea: 0x6c36ea20, 0x2e0eb: 0x6c36ec20, + 0x2e0ec: 0x6c36ee20, 0x2e0ed: 0x6c36f020, 0x2e0ee: 0x6c519420, 0x2e0ef: 0x6c519620, + 0x2e0f0: 0x6c519820, 0x2e0f1: 0x6c519a20, 0x2e0f2: 0x6c519c20, 0x2e0f3: 0x6c519e20, + 0x2e0f4: 0x6c51a020, 0x2e0f5: 0x6c51a220, 0x2e0f6: 0x6c51a420, 0x2e0f7: 0x6c51a620, + 0x2e0f8: 0x6c51a820, 0x2e0f9: 0x6c51aa20, 0x2e0fa: 0x6c51ac20, 0x2e0fb: 0x6c51ae20, + 0x2e0fc: 0x6c51b020, 0x2e0fd: 0x6c73c020, 0x2e0fe: 0x6c51b220, 0x2e0ff: 0x6c51b420, + // Block 0xb84, offset 0x2e100 + 0x2e100: 0x6c51b620, 0x2e101: 0x6c51b820, 0x2e102: 0x6c51ba20, 0x2e103: 0x6c51bc20, + 0x2e104: 0x6c51be20, 0x2e105: 0x6c51c020, 0x2e106: 0x6c51c220, 0x2e107: 0x6c51c420, + 0x2e108: 0x6c51c620, 0x2e109: 0x6c51c820, 0x2e10a: 0x6c51ca20, 0x2e10b: 0x6c51cc20, + 0x2e10c: 0x6c51ce20, 0x2e10d: 0x6c51d020, 0x2e10e: 0x6c51d220, 0x2e10f: 0x6c51d420, + 0x2e110: 0x6c51d620, 0x2e111: 0x6c51d820, 0x2e112: 0x6c51da20, 0x2e113: 0x6c51dc20, + 0x2e114: 0x6c51de20, 0x2e115: 0x6c51e020, 0x2e116: 0x6c51e220, 0x2e117: 0x6c51e420, + 0x2e118: 0x6c51e620, 0x2e119: 0x6c51e820, 0x2e11a: 0x6c51ea20, 0x2e11b: 0x6c51ec20, + 0x2e11c: 0x6c51ee20, 0x2e11d: 0x6c51f020, 0x2e11e: 0x6c51f220, 0x2e11f: 0x6c51f420, + 0x2e120: 0x6c51f620, 0x2e121: 0x6c73c220, 0x2e122: 0x6c51f820, 0x2e123: 0x6c51fa20, + 0x2e124: 0x6c51fc20, 0x2e125: 0x6c51fe20, 0x2e126: 0x6c520020, 0x2e127: 0x6c520220, + 0x2e128: 0x6c520420, 0x2e129: 0x6c520620, 0x2e12a: 0x6c520820, 0x2e12b: 0x6c520a20, + 0x2e12c: 0x6c520c20, 0x2e12d: 0x6c520e20, 0x2e12e: 0x6c521020, 0x2e12f: 0x6c521220, + 0x2e130: 0x6c521420, 0x2e131: 0x6c521620, 0x2e132: 0x6c521820, 0x2e133: 0x6c521a20, + 0x2e134: 0x6c73c420, 0x2e135: 0x6c521c20, 0x2e136: 0x6c521e20, 0x2e137: 0x6c522020, + 0x2e138: 0x6c522220, 0x2e139: 0x6c376420, 0x2e13a: 0x6c522420, 0x2e13b: 0x6c522620, + 0x2e13c: 0x6c522820, 0x2e13d: 0x6c522a20, 0x2e13e: 0x6c522c20, 0x2e13f: 0x6c522e20, + // Block 0xb85, offset 0x2e140 + 0x2e140: 0x6c523020, 0x2e141: 0x6c523220, 0x2e142: 0x6c523420, 0x2e143: 0x6c523620, + 0x2e144: 0x6c523820, 0x2e145: 0x6c523a20, 0x2e146: 0x6c523c20, 0x2e147: 0x6c523e20, + 0x2e148: 0x6c524020, 0x2e149: 0x6c524220, 0x2e14a: 0x6c524420, 0x2e14b: 0x6c524620, + 0x2e14c: 0x6c524820, 0x2e14d: 0x6c524a20, 0x2e14e: 0x6c524c20, 0x2e14f: 0x6c524e20, + 0x2e150: 0x6c525020, 0x2e151: 0x6c525220, 0x2e152: 0x6c73e620, 0x2e153: 0x6c73e820, + 0x2e154: 0x6c73ea20, 0x2e155: 0x6c73ec20, 0x2e156: 0x6c73ee20, 0x2e157: 0x6c73f020, + 0x2e158: 0x6c73f220, 0x2e159: 0x6c73f420, 0x2e15a: 0x6c73f620, 0x2e15b: 0x6c73f820, + 0x2e15c: 0x6c73fa20, 0x2e15d: 0x6c73fc20, 0x2e15e: 0x6c73fe20, 0x2e15f: 0x6c740020, + 0x2e160: 0x6c740220, 0x2e161: 0x6c740420, 0x2e162: 0x6c740620, 0x2e163: 0x6c740820, + 0x2e164: 0x6c740a20, 0x2e165: 0x6c740c20, 0x2e166: 0x6c740e20, 0x2e167: 0x6c741020, + 0x2e168: 0x6c741220, 0x2e169: 0x6c741420, 0x2e16a: 0x6c741620, 0x2e16b: 0x6c741820, + 0x2e16c: 0x6c741a20, 0x2e16d: 0x6c741c20, 0x2e16e: 0x6c741e20, 0x2e16f: 0x6c742020, + 0x2e170: 0x6c742220, 0x2e171: 0x6c742420, 0x2e172: 0x6c742620, 0x2e173: 0x6c742820, + 0x2e174: 0x6c742a20, 0x2e175: 0x6c742c20, 0x2e176: 0x6c742e20, 0x2e177: 0x6c743020, + 0x2e178: 0x6c743220, 0x2e179: 0x6c743420, 0x2e17a: 0x6c743620, 0x2e17b: 0x6c743820, + 0x2e17c: 0x6c743a20, 0x2e17d: 0x6c743c20, 0x2e17e: 0x6c743e20, 0x2e17f: 0x6c744020, + // Block 0xb86, offset 0x2e180 + 0x2e180: 0x6c744220, 0x2e181: 0x6c744420, 0x2e182: 0x6c744620, 0x2e183: 0x6c744820, + 0x2e184: 0x6c744a20, 0x2e185: 0x6c744c20, 0x2e186: 0x6c744e20, 0x2e187: 0x6c745020, + 0x2e188: 0x6c745220, 0x2e189: 0x6c745420, 0x2e18a: 0x6c745620, 0x2e18b: 0x6c745820, + 0x2e18c: 0x6c745a20, 0x2e18d: 0x6c745c20, 0x2e18e: 0x6c745e20, 0x2e18f: 0x6c746020, + 0x2e190: 0x6c746220, 0x2e191: 0x6c746420, 0x2e192: 0x6c52c020, 0x2e193: 0x6c746620, + 0x2e194: 0x6c746820, 0x2e195: 0x6c746a20, 0x2e196: 0x6c746c20, 0x2e197: 0x6c746e20, + 0x2e198: 0x6c747020, 0x2e199: 0x6c747220, 0x2e19a: 0x6c747420, 0x2e19b: 0x6c747620, + 0x2e19c: 0x6c747820, 0x2e19d: 0x6c747a20, 0x2e19e: 0x6c747c20, 0x2e19f: 0x6c747e20, + 0x2e1a0: 0x6c748020, 0x2e1a1: 0x6c748220, 0x2e1a2: 0x6c748420, 0x2e1a3: 0x6c748620, + 0x2e1a4: 0x6c748820, 0x2e1a5: 0x6c748a20, 0x2e1a6: 0x6c748c20, 0x2e1a7: 0x6c748e20, + 0x2e1a8: 0x6c749020, 0x2e1a9: 0x6c749220, 0x2e1aa: 0x6c749420, 0x2e1ab: 0x6c9c5420, + 0x2e1ac: 0x6c9c5620, 0x2e1ad: 0x6c9c5820, 0x2e1ae: 0x6c9c5a20, 0x2e1af: 0x6c9c5c20, + 0x2e1b0: 0x6c9c5e20, 0x2e1b1: 0x6c9c6020, 0x2e1b2: 0x6c9c6220, 0x2e1b3: 0x6c9c6420, + 0x2e1b4: 0x6c9c6620, 0x2e1b5: 0x6c9c6820, 0x2e1b6: 0x6c9c6a20, 0x2e1b7: 0x6c9c6c20, + 0x2e1b8: 0x6c9c6e20, 0x2e1b9: 0x6c9c7020, 0x2e1ba: 0x6c9c7220, 0x2e1bb: 0x6c9c7420, + 0x2e1bc: 0x6c9c7620, 0x2e1bd: 0x6c9c7820, 0x2e1be: 0x6c9c7a20, 0x2e1bf: 0x6c9c7c20, + // Block 0xb87, offset 0x2e1c0 + 0x2e1c0: 0x6c9c7e20, 0x2e1c1: 0x6c9c8020, 0x2e1c2: 0x6c9c8220, 0x2e1c3: 0x6c9c8420, + 0x2e1c4: 0x6c9c8620, 0x2e1c5: 0x6c9c8820, 0x2e1c6: 0x6c9c8a20, 0x2e1c7: 0x6c9c8c20, + 0x2e1c8: 0x6c9c8e20, 0x2e1c9: 0x6c9c9020, 0x2e1ca: 0x6c9c9220, 0x2e1cb: 0x6c9c9420, + 0x2e1cc: 0x6c9c9620, 0x2e1cd: 0x6c9c9820, 0x2e1ce: 0x6c9c9a20, 0x2e1cf: 0x6c9c9c20, + 0x2e1d0: 0x6c9c9e20, 0x2e1d1: 0x6c9ca020, 0x2e1d2: 0x6c9ca220, 0x2e1d3: 0x6c9ca420, + 0x2e1d4: 0x6c9ca620, 0x2e1d5: 0x6c9ca820, 0x2e1d6: 0x6c9caa20, 0x2e1d7: 0x6c9cac20, + 0x2e1d8: 0x6c9cae20, 0x2e1d9: 0x6c9cb020, 0x2e1da: 0x6c9cb220, 0x2e1db: 0x6c9cb420, + 0x2e1dc: 0x6c9cb620, 0x2e1dd: 0x6c9cb820, 0x2e1de: 0x6c9cba20, 0x2e1df: 0x6c9cbc20, + 0x2e1e0: 0x6c9cbe20, 0x2e1e1: 0x6c9cc020, 0x2e1e2: 0x6c9cc220, 0x2e1e3: 0x6c9cc420, + 0x2e1e4: 0x6c9cc620, 0x2e1e5: 0x6c9cc820, 0x2e1e6: 0x6c9cca20, 0x2e1e7: 0x6c9ccc20, + 0x2e1e8: 0x6c9cce20, 0x2e1e9: 0x6c9cd020, 0x2e1ea: 0x6c9cd220, 0x2e1eb: 0x6c9cd420, + 0x2e1ec: 0x6c9cd620, 0x2e1ed: 0x6c9cd820, 0x2e1ee: 0x6c9cda20, 0x2e1ef: 0x6c9cdc20, + 0x2e1f0: 0x6c9cde20, 0x2e1f1: 0x6c9ce020, 0x2e1f2: 0x6c9ce220, 0x2e1f3: 0x6c9ce420, + 0x2e1f4: 0x6cc88420, 0x2e1f5: 0x6c9ce620, 0x2e1f6: 0x6c9ce820, 0x2e1f7: 0x6c9cea20, + 0x2e1f8: 0x6c9cec20, 0x2e1f9: 0x6c9cee20, 0x2e1fa: 0x6c9cf020, 0x2e1fb: 0x6c9cf220, + 0x2e1fc: 0x6c9cf420, 0x2e1fd: 0x6c9cf620, 0x2e1fe: 0x6c9cf820, 0x2e1ff: 0x6c9cfa20, + // Block 0xb88, offset 0x2e200 + 0x2e200: 0x6c9cfc20, 0x2e201: 0x6c9cfe20, 0x2e202: 0x6c9d0020, 0x2e203: 0x6cc8ae20, + 0x2e204: 0x6cc8b020, 0x2e205: 0x6cc8b220, 0x2e206: 0x6cc8b420, 0x2e207: 0x6cc8b620, + 0x2e208: 0x6cc8b820, 0x2e209: 0x6cc8ba20, 0x2e20a: 0x6cc8bc20, 0x2e20b: 0x6cc8be20, + 0x2e20c: 0x6cc8c020, 0x2e20d: 0x6cc8c220, 0x2e20e: 0x6cc8c420, 0x2e20f: 0x6cc8c620, + 0x2e210: 0x6cc8c820, 0x2e211: 0x6cc8ca20, 0x2e212: 0x6cc8cc20, 0x2e213: 0x6cc8ce20, + 0x2e214: 0x6cc8d020, 0x2e215: 0x6cc8d220, 0x2e216: 0x6cc8d420, 0x2e217: 0x6cc8d620, + 0x2e218: 0x6cc8d820, 0x2e219: 0x6cc8da20, 0x2e21a: 0x6cc8dc20, 0x2e21b: 0x6cc8de20, + 0x2e21c: 0x6cc8e020, 0x2e21d: 0x6cc8e220, 0x2e21e: 0x6cc8e420, 0x2e21f: 0x6cc8e620, + 0x2e220: 0x6cc8e820, 0x2e221: 0x6cc8ea20, 0x2e222: 0x6cc8ec20, 0x2e223: 0x6cc8ee20, + 0x2e224: 0x6cc8f020, 0x2e225: 0x6cc8f220, 0x2e226: 0x6cc8f420, 0x2e227: 0x6cc8f620, + 0x2e228: 0x6cc8f820, 0x2e229: 0x6cc8fa20, 0x2e22a: 0x6cc8fc20, 0x2e22b: 0x6cc8fe20, + 0x2e22c: 0x6cc90020, 0x2e22d: 0x6cc90220, 0x2e22e: 0x6cc90420, 0x2e22f: 0x6cc90620, + 0x2e230: 0x6cc90820, 0x2e231: 0x6cc90a20, 0x2e232: 0x6cc90c20, 0x2e233: 0x6cc90e20, + 0x2e234: 0x6cc91020, 0x2e235: 0x6cc91220, 0x2e236: 0x6cc91420, 0x2e237: 0x6cc91620, + 0x2e238: 0x6cc91820, 0x2e239: 0x6cc91a20, 0x2e23a: 0x6cc91c20, 0x2e23b: 0x6cc91e20, + 0x2e23c: 0x6cc92020, 0x2e23d: 0x6cc92220, 0x2e23e: 0x6cc92420, 0x2e23f: 0x6cc92620, + // Block 0xb89, offset 0x2e240 + 0x2e240: 0x6cc92820, 0x2e241: 0x6cc92a20, 0x2e242: 0x6cc92c20, 0x2e243: 0x6cc92e20, + 0x2e244: 0x6cc93020, 0x2e245: 0x6cc93220, 0x2e246: 0x6cc93420, 0x2e247: 0x6cc93620, + 0x2e248: 0x6cc93820, 0x2e249: 0x6cc93a20, 0x2e24a: 0x6cc93c20, 0x2e24b: 0x6cc93e20, + 0x2e24c: 0x6cc94020, 0x2e24d: 0x6cc94220, 0x2e24e: 0x6cc94420, 0x2e24f: 0x6cc94620, + 0x2e250: 0x6cc94820, 0x2e251: 0x6cc94a20, 0x2e252: 0x6cc94c20, 0x2e253: 0x6cc94e20, + 0x2e254: 0x6cc95020, 0x2e255: 0x6cc95220, 0x2e256: 0x6cc95420, 0x2e257: 0x6cc95620, + 0x2e258: 0x6cc95820, 0x2e259: 0x6cc95a20, 0x2e25a: 0x6cc95c20, 0x2e25b: 0x6cc95e20, + 0x2e25c: 0x6cc96020, 0x2e25d: 0x6cc96220, 0x2e25e: 0x6cc96420, 0x2e25f: 0x6cc96620, + 0x2e260: 0x6cc96820, 0x2e261: 0x6cc96a20, 0x2e262: 0x6cc96c20, 0x2e263: 0x6cc96e20, + 0x2e264: 0x6cc97020, 0x2e265: 0x6cc97220, 0x2e266: 0x6cc97420, 0x2e267: 0x6cc97620, + 0x2e268: 0x6cc97820, 0x2e269: 0x6cc97a20, 0x2e26a: 0x6cc97c20, 0x2e26b: 0x6cc97e20, + 0x2e26c: 0x6cc98020, 0x2e26d: 0x6cc98220, 0x2e26e: 0x6cc98420, 0x2e26f: 0x6cf6e220, + 0x2e270: 0x6cf6e420, 0x2e271: 0x6cf6e620, 0x2e272: 0x6cf6e820, 0x2e273: 0x6cf6ea20, + 0x2e274: 0x6cf6ec20, 0x2e275: 0x6cf6ee20, 0x2e276: 0x6cf6f020, 0x2e277: 0x6cf6f220, + 0x2e278: 0x6cf6f420, 0x2e279: 0x6cf6f620, 0x2e27a: 0x6cf6f820, 0x2e27b: 0x6cf6fa20, + 0x2e27c: 0x6cf6fc20, 0x2e27d: 0x6cf6fe20, 0x2e27e: 0x6cf70020, 0x2e27f: 0x6cf70220, + // Block 0xb8a, offset 0x2e280 + 0x2e280: 0x6cf70420, 0x2e281: 0x6cf70620, 0x2e282: 0x6cf70820, 0x2e283: 0x6cf70a20, + 0x2e284: 0x6cf70c20, 0x2e285: 0x6cf70e20, 0x2e286: 0x6cf71020, 0x2e287: 0x6cf71220, + 0x2e288: 0x6cf71420, 0x2e289: 0x6cf71620, 0x2e28a: 0x6cf71820, 0x2e28b: 0x6cf71a20, + 0x2e28c: 0x6cf71c20, 0x2e28d: 0x6cf71e20, 0x2e28e: 0x6cf72020, 0x2e28f: 0x6cf72220, + 0x2e290: 0x6cf72420, 0x2e291: 0x6cf72620, 0x2e292: 0x6cf72820, 0x2e293: 0x6cf72a20, + 0x2e294: 0x6cf72c20, 0x2e295: 0x6cf72e20, 0x2e296: 0x6c9da420, 0x2e297: 0x6cf73020, + 0x2e298: 0x6cf73220, 0x2e299: 0x6cf73420, 0x2e29a: 0x6cf73620, 0x2e29b: 0x6cf73820, + 0x2e29c: 0x6cf73a20, 0x2e29d: 0x6cf73c20, 0x2e29e: 0x6cf73e20, 0x2e29f: 0x6cf74020, + 0x2e2a0: 0x6cf74220, 0x2e2a1: 0x6cf74420, 0x2e2a2: 0x6cf74620, 0x2e2a3: 0x6cf74820, + 0x2e2a4: 0x6cf74a20, 0x2e2a5: 0x6cf74c20, 0x2e2a6: 0x6cf74e20, 0x2e2a7: 0x6cf75020, + 0x2e2a8: 0x6cf75220, 0x2e2a9: 0x6cf75420, 0x2e2aa: 0x6cf75620, 0x2e2ab: 0x6cf75820, + 0x2e2ac: 0x6cf75a20, 0x2e2ad: 0x6cf75c20, 0x2e2ae: 0x6cca8820, 0x2e2af: 0x6cf75e20, + 0x2e2b0: 0x6cca8a20, 0x2e2b1: 0x6cf76020, 0x2e2b2: 0x6cf76220, 0x2e2b3: 0x6cf76420, + 0x2e2b4: 0x6cf76620, 0x2e2b5: 0x6cf76820, 0x2e2b6: 0x6cf76a20, 0x2e2b7: 0x6cf76c20, + 0x2e2b8: 0x6cf76e20, 0x2e2b9: 0x6cf77020, 0x2e2ba: 0x6cf77220, 0x2e2bb: 0x6cf77420, + 0x2e2bc: 0x6cf77620, 0x2e2bd: 0x6cf77820, 0x2e2be: 0x6cf77a20, 0x2e2bf: 0x6cf77c20, + // Block 0xb8b, offset 0x2e2c0 + 0x2e2c0: 0x6cf77e20, 0x2e2c1: 0x6cf78020, 0x2e2c2: 0x6cf78220, 0x2e2c3: 0x6cf78420, + 0x2e2c4: 0x6cf78620, 0x2e2c5: 0x6cf78820, 0x2e2c6: 0x6cf78a20, 0x2e2c7: 0x6cf78c20, + 0x2e2c8: 0x6cf78e20, 0x2e2c9: 0x6cf79020, 0x2e2ca: 0x6d264e20, 0x2e2cb: 0x6cf79220, + 0x2e2cc: 0x6cf79420, 0x2e2cd: 0x6d265020, 0x2e2ce: 0x6d265220, 0x2e2cf: 0x6d265420, + 0x2e2d0: 0x6d265620, 0x2e2d1: 0x6d265820, 0x2e2d2: 0x6d265a20, 0x2e2d3: 0x6d265c20, + 0x2e2d4: 0x6cf79620, 0x2e2d5: 0x6d265e20, 0x2e2d6: 0x6d266020, 0x2e2d7: 0x6d266220, + 0x2e2d8: 0x6cf79820, 0x2e2d9: 0x6d266420, 0x2e2da: 0x6d266620, 0x2e2db: 0x6d266820, + 0x2e2dc: 0x6d266a20, 0x2e2dd: 0x6d266c20, 0x2e2de: 0x6d266e20, 0x2e2df: 0x6d267020, + 0x2e2e0: 0x6d267220, 0x2e2e1: 0x6d267420, 0x2e2e2: 0x6d267620, 0x2e2e3: 0x6d267820, + 0x2e2e4: 0x6d267a20, 0x2e2e5: 0x6d267c20, 0x2e2e6: 0x6d267e20, 0x2e2e7: 0x6d268020, + 0x2e2e8: 0x6d268220, 0x2e2e9: 0x6d268420, 0x2e2ea: 0x6d268620, 0x2e2eb: 0x6d268820, + 0x2e2ec: 0x6d268a20, 0x2e2ed: 0x6d268c20, 0x2e2ee: 0x6d268e20, 0x2e2ef: 0x6d269020, + 0x2e2f0: 0x6d269220, 0x2e2f1: 0x6d269420, 0x2e2f2: 0x6d269620, 0x2e2f3: 0x6d269820, + 0x2e2f4: 0x6d269a20, 0x2e2f5: 0x6d269c20, 0x2e2f6: 0x6d269e20, 0x2e2f7: 0x6d26a020, + 0x2e2f8: 0x6d26a220, 0x2e2f9: 0x6d26a420, 0x2e2fa: 0x6d26a620, 0x2e2fb: 0x6d26a820, + 0x2e2fc: 0x6d26aa20, 0x2e2fd: 0x6d26ac20, 0x2e2fe: 0x6d26ae20, 0x2e2ff: 0x6d26b020, + // Block 0xb8c, offset 0x2e300 + 0x2e300: 0x6d26b220, 0x2e301: 0x6d26b420, 0x2e302: 0x6d26b620, 0x2e303: 0x6d26b820, + 0x2e304: 0x6d26ba20, 0x2e305: 0x6d26bc20, 0x2e306: 0x6d26be20, 0x2e307: 0x6d26c020, + 0x2e308: 0x6d26c220, 0x2e309: 0x6d26c420, 0x2e30a: 0x6d26c620, 0x2e30b: 0x6d26c820, + 0x2e30c: 0x6d26ca20, 0x2e30d: 0x6d26cc20, 0x2e30e: 0x6d26ce20, 0x2e30f: 0x6d26d020, + 0x2e310: 0x6d26d220, 0x2e311: 0x6d26d420, 0x2e312: 0x6d26d620, 0x2e313: 0x6d26d820, + 0x2e314: 0x6d26da20, 0x2e315: 0x6d26dc20, 0x2e316: 0x6d26de20, 0x2e317: 0x6d26e020, + 0x2e318: 0x6d26e220, 0x2e319: 0x6d26e420, 0x2e31a: 0x6d26e620, 0x2e31b: 0x6d26e820, + 0x2e31c: 0x6d26ea20, 0x2e31d: 0x6d26ec20, 0x2e31e: 0x6d26ee20, 0x2e31f: 0x6d26f020, + 0x2e320: 0x6d26f220, 0x2e321: 0x6d26f420, 0x2e322: 0x6d53c820, 0x2e323: 0x6d53ca20, + 0x2e324: 0x6d53cc20, 0x2e325: 0x6d53ce20, 0x2e326: 0x6d53d020, 0x2e327: 0x6d53d220, + 0x2e328: 0x6d53d420, 0x2e329: 0x6d539c20, 0x2e32a: 0x6d53d620, 0x2e32b: 0x6d53d820, + 0x2e32c: 0x6d53da20, 0x2e32d: 0x6d53dc20, 0x2e32e: 0x6d53de20, 0x2e32f: 0x6d53e020, + 0x2e330: 0x6d53e220, 0x2e331: 0x6d53e420, 0x2e332: 0x6d53e620, 0x2e333: 0x6d53e820, + 0x2e334: 0x6d53ea20, 0x2e335: 0x6d53ec20, 0x2e336: 0x6d53ee20, 0x2e337: 0x6d53f020, + 0x2e338: 0x6d53f220, 0x2e339: 0x6d53f420, 0x2e33a: 0x6d53f620, 0x2e33b: 0x6d53f820, + 0x2e33c: 0x6d53fa20, 0x2e33d: 0x6d53fc20, 0x2e33e: 0x6d53fe20, 0x2e33f: 0x6d540020, + // Block 0xb8d, offset 0x2e340 + 0x2e340: 0x6d540220, 0x2e341: 0x6d540420, 0x2e342: 0x6d540620, 0x2e343: 0x6d280020, + 0x2e344: 0x6d540820, 0x2e345: 0x6d540a20, 0x2e346: 0x6d540c20, 0x2e347: 0x6d540e20, + 0x2e348: 0x6d541020, 0x2e349: 0x6d541220, 0x2e34a: 0x6d541420, 0x2e34b: 0x6d541620, + 0x2e34c: 0x6d541820, 0x2e34d: 0x6d541a20, 0x2e34e: 0x6d541c20, 0x2e34f: 0x6d541e20, + 0x2e350: 0x6d542020, 0x2e351: 0x6d542220, 0x2e352: 0x6d542420, 0x2e353: 0x6d542620, + 0x2e354: 0x6d542820, 0x2e355: 0x6d542a20, 0x2e356: 0x6d542c20, 0x2e357: 0x6d542e20, + 0x2e358: 0x6d543020, 0x2e359: 0x6d543220, 0x2e35a: 0x6d543420, 0x2e35b: 0x6d543620, + 0x2e35c: 0x6d543820, 0x2e35d: 0x6d543a20, 0x2e35e: 0x6d543c20, 0x2e35f: 0x6d543e20, + 0x2e360: 0x6d544020, 0x2e361: 0x6d544220, 0x2e362: 0x6d544420, 0x2e363: 0x6d544620, + 0x2e364: 0x6d544820, 0x2e365: 0x6d544a20, 0x2e366: 0x6d544c20, 0x2e367: 0x6d544e20, + 0x2e368: 0x6d7efe20, 0x2e369: 0x6d545020, 0x2e36a: 0x6d545220, 0x2e36b: 0x6d545420, + 0x2e36c: 0x6d545620, 0x2e36d: 0x6d545820, 0x2e36e: 0x6d26f620, 0x2e36f: 0x6d545a20, + 0x2e370: 0x6d545c20, 0x2e371: 0x6d545e20, 0x2e372: 0x6d7f3020, 0x2e373: 0x6d7f3220, + 0x2e374: 0x6d7f3420, 0x2e375: 0x6d7f3620, 0x2e376: 0x6d7f3820, 0x2e377: 0x6d7f3a20, + 0x2e378: 0x6d7f3c20, 0x2e379: 0x6d7f3e20, 0x2e37a: 0x6d7f4020, 0x2e37b: 0x6d7f4220, + 0x2e37c: 0x6d7f4420, 0x2e37d: 0x6d7f4620, 0x2e37e: 0x6d7f4820, 0x2e37f: 0x6d7f4a20, + // Block 0xb8e, offset 0x2e380 + 0x2e380: 0x6d7f4c20, 0x2e381: 0x6d7f4e20, 0x2e382: 0x6d7f5020, 0x2e383: 0x6d7f5220, + 0x2e384: 0x6d7f5420, 0x2e385: 0x6d7f5620, 0x2e386: 0x6d7f5820, 0x2e387: 0x6d7f5a20, + 0x2e388: 0x6d7f5c20, 0x2e389: 0x6d7f5e20, 0x2e38a: 0x6d7f6020, 0x2e38b: 0x6d7f6220, + 0x2e38c: 0x6d7f6420, 0x2e38d: 0x6d7f6620, 0x2e38e: 0x6d7f6820, 0x2e38f: 0x6d7f6a20, + 0x2e390: 0x6d7f6c20, 0x2e391: 0x6d7f6e20, 0x2e392: 0x6d7f7020, 0x2e393: 0x6d7f7220, + 0x2e394: 0x6d7f7420, 0x2e395: 0x6d7f7620, 0x2e396: 0x6d7f7820, 0x2e397: 0x6d7f7a20, + 0x2e398: 0x6d7f7c20, 0x2e399: 0x6d7f7e20, 0x2e39a: 0x6d7f8020, 0x2e39b: 0x6d7f8220, + 0x2e39c: 0x6d7f8420, 0x2e39d: 0x6d7f8620, 0x2e39e: 0x6d7f8820, 0x2e39f: 0x6d7f8a20, + 0x2e3a0: 0x6d7f8c20, 0x2e3a1: 0x6d7f8e20, 0x2e3a2: 0x6d7f9020, 0x2e3a3: 0x6d7f9220, + 0x2e3a4: 0x6d7f9420, 0x2e3a5: 0x6d546020, 0x2e3a6: 0x6d7f9620, 0x2e3a7: 0x6d7f9820, + 0x2e3a8: 0x6d7f9a20, 0x2e3a9: 0x6d7f9c20, 0x2e3aa: 0x6d7f9e20, 0x2e3ab: 0x6d7fa020, + 0x2e3ac: 0x6d7fa220, 0x2e3ad: 0x6d7fa420, 0x2e3ae: 0x6d7fa620, 0x2e3af: 0x6d7fa820, + 0x2e3b0: 0x6d7faa20, 0x2e3b1: 0x6d7fac20, 0x2e3b2: 0x6d7fae20, 0x2e3b3: 0x6d7fb020, + 0x2e3b4: 0x6d7f0020, 0x2e3b5: 0x6d7fb220, 0x2e3b6: 0x6d7fb420, 0x2e3b7: 0x6d7fb620, + 0x2e3b8: 0x6d7fb820, 0x2e3b9: 0x6d7fba20, 0x2e3ba: 0x6d7fbc20, 0x2e3bb: 0x6d7fbe20, + 0x2e3bc: 0x6d7fc020, 0x2e3bd: 0x6da5dc20, 0x2e3be: 0x6da5de20, 0x2e3bf: 0x6da5e020, + // Block 0xb8f, offset 0x2e3c0 + 0x2e3c0: 0x6da5e220, 0x2e3c1: 0x6da5e420, 0x2e3c2: 0x6da5e620, 0x2e3c3: 0x6da5e820, + 0x2e3c4: 0x6da5ea20, 0x2e3c5: 0x6da5ec20, 0x2e3c6: 0x6da5ee20, 0x2e3c7: 0x6da5f020, + 0x2e3c8: 0x6da5f220, 0x2e3c9: 0x6da5f420, 0x2e3ca: 0x6da5f620, 0x2e3cb: 0x6da5f820, + 0x2e3cc: 0x6da5fa20, 0x2e3cd: 0x6da5fc20, 0x2e3ce: 0x6da5fe20, 0x2e3cf: 0x6da60020, + 0x2e3d0: 0x6da60220, 0x2e3d1: 0x6da60420, 0x2e3d2: 0x6da60620, 0x2e3d3: 0x6da60820, + 0x2e3d4: 0x6da60a20, 0x2e3d5: 0x6da60c20, 0x2e3d6: 0x6da60e20, 0x2e3d7: 0x6da61020, + 0x2e3d8: 0x6da61220, 0x2e3d9: 0x6da61420, 0x2e3da: 0x6da61620, 0x2e3db: 0x6da61820, + 0x2e3dc: 0x6da61a20, 0x2e3dd: 0x6da61c20, 0x2e3de: 0x6da61e20, 0x2e3df: 0x6da62020, + 0x2e3e0: 0x6da62220, 0x2e3e1: 0x6da62420, 0x2e3e2: 0x6da62620, 0x2e3e3: 0x6da62820, + 0x2e3e4: 0x6da62a20, 0x2e3e5: 0x6da62c20, 0x2e3e6: 0x6da62e20, 0x2e3e7: 0x6da63020, + 0x2e3e8: 0x6da63220, 0x2e3e9: 0x6da63420, 0x2e3ea: 0x6da63620, 0x2e3eb: 0x6dc76220, + 0x2e3ec: 0x6dc76420, 0x2e3ed: 0x6dc76620, 0x2e3ee: 0x6dc76820, 0x2e3ef: 0x6dc76a20, + 0x2e3f0: 0x6dc76c20, 0x2e3f1: 0x6dc76e20, 0x2e3f2: 0x6dc77020, 0x2e3f3: 0x6dc77220, + 0x2e3f4: 0x6dc77420, 0x2e3f5: 0x6dc77620, 0x2e3f6: 0x6dc77820, 0x2e3f7: 0x6dc77a20, + 0x2e3f8: 0x6dc77c20, 0x2e3f9: 0x6dc77e20, 0x2e3fa: 0x6dc78020, 0x2e3fb: 0x6dc78220, + 0x2e3fc: 0x6dc78420, 0x2e3fd: 0x6dc78620, 0x2e3fe: 0x6dc78820, 0x2e3ff: 0x6dc78a20, + // Block 0xb90, offset 0x2e400 + 0x2e400: 0x6dc78c20, 0x2e401: 0x6dc78e20, 0x2e402: 0x6dc79020, 0x2e403: 0x6dc79220, + 0x2e404: 0x6dc79420, 0x2e405: 0x6dc79620, 0x2e406: 0x6dc79820, 0x2e407: 0x6dc79a20, + 0x2e408: 0x6dc79c20, 0x2e409: 0x6dc79e20, 0x2e40a: 0x6dc7a020, 0x2e40b: 0x6de3ca20, + 0x2e40c: 0x6de3cc20, 0x2e40d: 0x6de3ce20, 0x2e40e: 0x6de3d020, 0x2e40f: 0x6de3d220, + 0x2e410: 0x6de3d420, 0x2e411: 0x6de3d620, 0x2e412: 0x6de3d820, 0x2e413: 0x6de3da20, + 0x2e414: 0x6de3dc20, 0x2e415: 0x6de3de20, 0x2e416: 0x6de3e020, 0x2e417: 0x6de3e220, + 0x2e418: 0x6de3e420, 0x2e419: 0x6de3e620, 0x2e41a: 0x6de3e820, 0x2e41b: 0x6da6f220, + 0x2e41c: 0x6de3ea20, 0x2e41d: 0x6de3ec20, 0x2e41e: 0x6de3ee20, 0x2e41f: 0x6de3f020, + 0x2e420: 0x6de3f220, 0x2e421: 0x6dc84c20, 0x2e422: 0x6de3f420, 0x2e423: 0x6de3f620, + 0x2e424: 0x6de3f820, 0x2e425: 0x6de3fa20, 0x2e426: 0x6de3fc20, 0x2e427: 0x6de47820, + 0x2e428: 0x6dfb2020, 0x2e429: 0x6dfb2220, 0x2e42a: 0x6dfb2420, 0x2e42b: 0x6de3fe20, + 0x2e42c: 0x6dfb2620, 0x2e42d: 0x6dc84e20, 0x2e42e: 0x6dfb2820, 0x2e42f: 0x6dfb2a20, + 0x2e430: 0x6dfb2c20, 0x2e431: 0x6dfb2e20, 0x2e432: 0x6dfb3020, 0x2e433: 0x6dfb3220, + 0x2e434: 0x6dfb3420, 0x2e435: 0x6dfb3620, 0x2e436: 0x6dfb3820, 0x2e437: 0x6e1db620, + 0x2e438: 0x6e0e6220, 0x2e439: 0x6dfb9820, 0x2e43a: 0x6e0e6420, 0x2e43b: 0x6e0e6620, + 0x2e43c: 0x6e0e6820, 0x2e43d: 0x6e0e6a20, 0x2e43e: 0x6e0e6c20, 0x2e43f: 0x6e0e6e20, + // Block 0xb91, offset 0x2e440 + 0x2e440: 0x6e0e7020, 0x2e441: 0x6e0e7220, 0x2e442: 0x6e0e7420, 0x2e443: 0x6e0e7620, + 0x2e444: 0x6e0e7820, 0x2e445: 0x6e0e7a20, 0x2e446: 0x6e1db820, 0x2e447: 0x6e1dba20, + 0x2e448: 0x6e1dbc20, 0x2e449: 0x6e1dbe20, 0x2e44a: 0x6e1dc020, 0x2e44b: 0x6e1dc220, + 0x2e44c: 0x6e0e7c20, 0x2e44d: 0x6e1dc420, 0x2e44e: 0x6e1dc620, 0x2e44f: 0x6e294220, + 0x2e450: 0x6e294420, 0x2e451: 0x6e294620, 0x2e452: 0x6e294820, 0x2e453: 0x6e325e20, + 0x2e454: 0x6e326020, 0x2e455: 0x6e326220, 0x2e456: 0x6e38b020, 0x2e457: 0x6e38b220, + 0x2e458: 0x6e38b420, 0x2e459: 0x6e38b620, 0x2e45a: 0x6e38b820, 0x2e45b: 0x6e38ba20, + 0x2e45c: 0x6e3d3020, 0x2e45d: 0x6e38d420, 0x2e45e: 0x6e42a620, 0x2e45f: 0x6e42a820, + 0x2e460: 0x6c04a620, 0x2e461: 0x6c12b420, 0x2e462: 0x6c12b620, 0x2e463: 0x6c376e20, + 0x2e464: 0x6c223c20, 0x2e465: 0x6c377020, 0x2e466: 0x6c377220, 0x2e467: 0x6c377420, + 0x2e468: 0x6c52ce20, 0x2e469: 0x6c52d020, 0x2e46a: 0x6c52d220, 0x2e46b: 0x6c755220, + 0x2e46c: 0x6c755420, 0x2e46d: 0x6c755620, 0x2e46e: 0x6c755820, 0x2e46f: 0x6c755a20, + 0x2e470: 0x6c755c20, 0x2e471: 0x6c755e20, 0x2e472: 0x6c9dae20, 0x2e473: 0x6c9db020, + 0x2e474: 0x6c758620, 0x2e475: 0x6c9db220, 0x2e476: 0x6c9db420, 0x2e477: 0x6c9db620, + 0x2e478: 0x6c9db820, 0x2e479: 0x6cca9820, 0x2e47a: 0x6cca9a20, 0x2e47b: 0x6cca9c20, + 0x2e47c: 0x6cca9e20, 0x2e47d: 0x6ccaa020, 0x2e47e: 0x6ccaa220, 0x2e47f: 0x6ccaa420, + // Block 0xb92, offset 0x2e480 + 0x2e480: 0x6cf8c820, 0x2e481: 0x6cf8ca20, 0x2e482: 0x6cf8cc20, 0x2e483: 0x6cf8ce20, + 0x2e484: 0x6cf8d020, 0x2e485: 0x6cf8d220, 0x2e486: 0x6cf8d420, 0x2e487: 0x6cf8d620, + 0x2e488: 0x6cf8d820, 0x2e489: 0x6d280820, 0x2e48a: 0x6d280a20, 0x2e48b: 0x6d280c20, + 0x2e48c: 0x6d280e20, 0x2e48d: 0x6d281020, 0x2e48e: 0x6d555620, 0x2e48f: 0x6d555820, + 0x2e490: 0x6d555a20, 0x2e491: 0x6d555c20, 0x2e492: 0x6d555e20, 0x2e493: 0x6d556020, + 0x2e494: 0x6d80d420, 0x2e495: 0x6d80d620, 0x2e496: 0x6d80d820, 0x2e497: 0x6d80da20, + 0x2e498: 0x6d80dc20, 0x2e499: 0x6d80de20, 0x2e49a: 0x6d80e020, 0x2e49b: 0x6da6fc20, + 0x2e49c: 0x6da6fe20, 0x2e49d: 0x6da70020, 0x2e49e: 0x6dc85020, 0x2e49f: 0x6dc85220, + 0x2e4a0: 0x6de47c20, 0x2e4a1: 0x6e1e0e20, 0x2e4a2: 0x6c04a820, 0x2e4a3: 0x6c097620, + 0x2e4a4: 0x6c12bc20, 0x2e4a5: 0x6c225220, 0x2e4a6: 0x6c379420, 0x2e4a7: 0x6c379620, + 0x2e4a8: 0x6c379820, 0x2e4a9: 0x6c379a20, 0x2e4aa: 0x6c52fe20, 0x2e4ab: 0x6c530020, + 0x2e4ac: 0x6c758820, 0x2e4ad: 0x6c758a20, 0x2e4ae: 0x6ccad620, 0x2e4af: 0x6ccad820, + 0x2e4b0: 0x6d284020, 0x2e4b1: 0x6cf90620, 0x2e4b2: 0x6cf90820, 0x2e4b3: 0x6cf90a20, + 0x2e4b4: 0x6d284420, 0x2e4b5: 0x6d558420, 0x2e4b6: 0x6d558620, 0x2e4b7: 0x6d80f220, + 0x2e4b8: 0x6dc85e20, 0x2e4b9: 0x6c04ae20, 0x2e4ba: 0x6c097c20, 0x2e4bb: 0x6c12c420, + 0x2e4bc: 0x6c225e20, 0x2e4bd: 0x6c37d220, 0x2e4be: 0x6c37d420, 0x2e4bf: 0x6c37d620, + // Block 0xb93, offset 0x2e4c0 + 0x2e4c0: 0x6c37d820, 0x2e4c1: 0x6c37da20, 0x2e4c2: 0x6c530e20, 0x2e4c3: 0x6c531020, + 0x2e4c4: 0x6c531220, 0x2e4c5: 0x6c531420, 0x2e4c6: 0x6c531620, 0x2e4c7: 0x6c531820, + 0x2e4c8: 0x6c75aa20, 0x2e4c9: 0x6c75ac20, 0x2e4ca: 0x6c75ae20, 0x2e4cb: 0x6c75b020, + 0x2e4cc: 0x6c9dec20, 0x2e4cd: 0x6c9dee20, 0x2e4ce: 0x6c9df020, 0x2e4cf: 0x6c9df220, + 0x2e4d0: 0x6c9df420, 0x2e4d1: 0x6c9df620, 0x2e4d2: 0x6c9df820, 0x2e4d3: 0x6c9dfa20, + 0x2e4d4: 0x6ccb0420, 0x2e4d5: 0x6ccb0620, 0x2e4d6: 0x6ccb0820, 0x2e4d7: 0x6ccb0a20, + 0x2e4d8: 0x6ccb0c20, 0x2e4d9: 0x6ccb0e20, 0x2e4da: 0x6ccb1020, 0x2e4db: 0x6cf92c20, + 0x2e4dc: 0x6cf92e20, 0x2e4dd: 0x6d285820, 0x2e4de: 0x6d285a20, 0x2e4df: 0x6d285c20, + 0x2e4e0: 0x6d285e20, 0x2e4e1: 0x6d286020, 0x2e4e2: 0x6d559e20, 0x2e4e3: 0x6d55a020, + 0x2e4e4: 0x6d55a220, 0x2e4e5: 0x6d55a420, 0x2e4e6: 0x6d55a620, 0x2e4e7: 0x6d810820, + 0x2e4e8: 0x6d810a20, 0x2e4e9: 0x6d810c20, 0x2e4ea: 0x6d810e20, 0x2e4eb: 0x6d811020, + 0x2e4ec: 0x6da72020, 0x2e4ed: 0x6da72220, 0x2e4ee: 0x6da72420, 0x2e4ef: 0x6dc86c20, + 0x2e4f0: 0x6de48a20, 0x2e4f1: 0x6de48c20, 0x2e4f2: 0x6e0ee220, 0x2e4f3: 0x6c04b420, + 0x2e4f4: 0x6c380620, 0x2e4f5: 0x6c534820, 0x2e4f6: 0x6c534a20, 0x2e4f7: 0x6c75e020, + 0x2e4f8: 0x6c9e2220, 0x2e4f9: 0x6c9e2420, 0x2e4fa: 0x6c9e2620, 0x2e4fb: 0x6c9e2820, + 0x2e4fc: 0x6ccb5020, 0x2e4fd: 0x6ccb5220, 0x2e4fe: 0x6ccb6820, 0x2e4ff: 0x6cf95820, + // Block 0xb94, offset 0x2e500 + 0x2e500: 0x6cf95a20, 0x2e501: 0x6cf95c20, 0x2e502: 0x6cf95e20, 0x2e503: 0x6d287820, + 0x2e504: 0x6d287a20, 0x2e505: 0x6d55ca20, 0x2e506: 0x6d55cc20, 0x2e507: 0x6d812e20, + 0x2e508: 0x6d813020, 0x2e509: 0x6dc89020, 0x2e50a: 0x6e298620, 0x2e50b: 0x6c04b620, + 0x2e50c: 0x6c04b820, 0x2e50d: 0x6c098020, 0x2e50e: 0x6c12d420, 0x2e50f: 0x6c227620, + 0x2e510: 0x6c227820, 0x2e511: 0x6c380e20, 0x2e512: 0x6c535220, 0x2e513: 0x6cf97c20, + 0x2e514: 0x6c04bc20, 0x2e515: 0x6c12d820, 0x2e516: 0x6c535820, 0x2e517: 0x6c535a20, + 0x2e518: 0x6c535c20, 0x2e519: 0x6c75ee20, 0x2e51a: 0x6da74620, 0x2e51b: 0x6c04be20, + 0x2e51c: 0x6c228220, 0x2e51d: 0x6c228420, 0x2e51e: 0x6c382a20, 0x2e51f: 0x6c382c20, + 0x2e520: 0x6c536020, 0x2e521: 0x6c536220, 0x2e522: 0x6c75f820, 0x2e523: 0x6c75fa20, + 0x2e524: 0x6c75fc20, 0x2e525: 0x6c75fe20, 0x2e526: 0x6c760020, 0x2e527: 0x6c760220, + 0x2e528: 0x6c760420, 0x2e529: 0x6c760620, 0x2e52a: 0x6c760820, 0x2e52b: 0x6c9e6220, + 0x2e52c: 0x6c9e6420, 0x2e52d: 0x6c9e6620, 0x2e52e: 0x6c9e6820, 0x2e52f: 0x6ccb7220, + 0x2e530: 0x6ccb7420, 0x2e531: 0x6ccb7620, 0x2e532: 0x6ccb7820, 0x2e533: 0x6ccb7a20, + 0x2e534: 0x6ccb7c20, 0x2e535: 0x6ccb7e20, 0x2e536: 0x6ccb8020, 0x2e537: 0x6cf98c20, + 0x2e538: 0x6cf98e20, 0x2e539: 0x6cf99020, 0x2e53a: 0x6cf99220, 0x2e53b: 0x6cf99420, + 0x2e53c: 0x6cf99620, 0x2e53d: 0x6cf99820, 0x2e53e: 0x6d28aa20, 0x2e53f: 0x6d55de20, + // Block 0xb95, offset 0x2e540 + 0x2e540: 0x6d55e020, 0x2e541: 0x6d55e220, 0x2e542: 0x6d55e420, 0x2e543: 0x6d816620, + 0x2e544: 0x6d816820, 0x2e545: 0x6d816a20, 0x2e546: 0x6d816c20, 0x2e547: 0x6d816e20, + 0x2e548: 0x6da74a20, 0x2e549: 0x6da74c20, 0x2e54a: 0x6da74e20, 0x2e54b: 0x6dc89620, + 0x2e54c: 0x6de4a420, 0x2e54d: 0x6e1e2420, 0x2e54e: 0x6e3d4a20, 0x2e54f: 0x6c04c220, + 0x2e550: 0x6c098420, 0x2e551: 0x6c098620, 0x2e552: 0x6c12e620, 0x2e553: 0x6c385020, + 0x2e554: 0x6c04c420, 0x2e555: 0x6c098a20, 0x2e556: 0x6c12ea20, 0x2e557: 0x6c12ec20, + 0x2e558: 0x6c12ee20, 0x2e559: 0x6c229620, 0x2e55a: 0x6c229820, 0x2e55b: 0x6c385820, + 0x2e55c: 0x6c385a20, 0x2e55d: 0x6c385c20, 0x2e55e: 0x6c53b820, 0x2e55f: 0x6c53ba20, + 0x2e560: 0x6c53bc20, 0x2e561: 0x6c53be20, 0x2e562: 0x6c53c020, 0x2e563: 0x6c763a20, + 0x2e564: 0x6c763c20, 0x2e565: 0x6c763e20, 0x2e566: 0x6c764020, 0x2e567: 0x6c764220, + 0x2e568: 0x6c764420, 0x2e569: 0x6c764620, 0x2e56a: 0x6c9ea220, 0x2e56b: 0x6c9ea420, + 0x2e56c: 0x6ccbc620, 0x2e56d: 0x6ccbc820, 0x2e56e: 0x6ccbca20, 0x2e56f: 0x6ccbcc20, + 0x2e570: 0x6ccbce20, 0x2e571: 0x6cf9d820, 0x2e572: 0x6d28ec20, 0x2e573: 0x6d28ee20, + 0x2e574: 0x6c04c620, 0x2e575: 0x6c01fa20, 0x2e576: 0x6c098e20, 0x2e577: 0x6c099020, + 0x2e578: 0x6c099220, 0x2e579: 0x6c099420, 0x2e57a: 0x6c098c20, 0x2e57b: 0x6c099c20, + 0x2e57c: 0x6c12f620, 0x2e57d: 0x6c0c5c20, 0x2e57e: 0x6c099e20, 0x2e57f: 0x6c09a020, + // Block 0xb96, offset 0x2e580 + 0x2e580: 0x6c09a220, 0x2e581: 0x6c09a420, 0x2e582: 0x6c229e20, 0x2e583: 0x6c09a620, + 0x2e584: 0x6c09a820, 0x2e585: 0x6c09aa20, 0x2e586: 0x6c12f820, 0x2e587: 0x6c09ac20, + 0x2e588: 0x6c09ae20, 0x2e589: 0x6c09b020, 0x2e58a: 0x6c12fe20, 0x2e58b: 0x6c130020, + 0x2e58c: 0x6c130220, 0x2e58d: 0x6c130420, 0x2e58e: 0x6c130620, 0x2e58f: 0x6c130820, + 0x2e590: 0x6c130a20, 0x2e591: 0x6c130c20, 0x2e592: 0x6c130e20, 0x2e593: 0x6c131020, + 0x2e594: 0x6c131220, 0x2e595: 0x6c131420, 0x2e596: 0x6c22a220, 0x2e597: 0x6c131620, + 0x2e598: 0x6c131820, 0x2e599: 0x6c131a20, 0x2e59a: 0x6c131c20, 0x2e59b: 0x6c131e20, + 0x2e59c: 0x6c132020, 0x2e59d: 0x6c132220, 0x2e59e: 0x6c22a420, 0x2e59f: 0x6c132420, + 0x2e5a0: 0x6c132620, 0x2e5a1: 0x6c132820, 0x2e5a2: 0x6c132a20, 0x2e5a3: 0x6c132c20, + 0x2e5a4: 0x6c132e20, 0x2e5a5: 0x6c22bc20, 0x2e5a6: 0x6c22be20, 0x2e5a7: 0x6c22c020, + 0x2e5a8: 0x6c22c220, 0x2e5a9: 0x6c22c420, 0x2e5aa: 0x6c22c620, 0x2e5ab: 0x6c22c820, + 0x2e5ac: 0x6c386620, 0x2e5ad: 0x6c22ca20, 0x2e5ae: 0x6c22cc20, 0x2e5af: 0x6c22ce20, + 0x2e5b0: 0x6c22d020, 0x2e5b1: 0x6c22d220, 0x2e5b2: 0x6c22d420, 0x2e5b3: 0x6c22d620, + 0x2e5b4: 0x6c22d820, 0x2e5b5: 0x6c22da20, 0x2e5b6: 0x6c22dc20, 0x2e5b7: 0x6c135420, + 0x2e5b8: 0x6c22de20, 0x2e5b9: 0x6c22e020, 0x2e5ba: 0x6c22e220, 0x2e5bb: 0x6c22e420, + 0x2e5bc: 0x6c22e620, 0x2e5bd: 0x6c22e820, 0x2e5be: 0x6c22ea20, 0x2e5bf: 0x6c22ec20, + // Block 0xb97, offset 0x2e5c0 + 0x2e5c0: 0x6c386820, 0x2e5c1: 0x6c22ee20, 0x2e5c2: 0x6c22f020, 0x2e5c3: 0x6c22f220, + 0x2e5c4: 0x6c22f420, 0x2e5c5: 0x6c22f620, 0x2e5c6: 0x6c22f820, 0x2e5c7: 0x6c22fa20, + 0x2e5c8: 0x6c22fc20, 0x2e5c9: 0x6c22fe20, 0x2e5ca: 0x6c386a20, 0x2e5cb: 0x6c230020, + 0x2e5cc: 0x6c230220, 0x2e5cd: 0x6c230420, 0x2e5ce: 0x6c230620, 0x2e5cf: 0x6c230820, + 0x2e5d0: 0x6c230a20, 0x2e5d1: 0x6c230c20, 0x2e5d2: 0x6c230e20, 0x2e5d3: 0x6c386c20, + 0x2e5d4: 0x6c231020, 0x2e5d5: 0x6c231220, 0x2e5d6: 0x6c231420, 0x2e5d7: 0x6c53ce20, + 0x2e5d8: 0x6c231620, 0x2e5d9: 0x6c231820, 0x2e5da: 0x6c231a20, 0x2e5db: 0x6c231c20, + 0x2e5dc: 0x6c231e20, 0x2e5dd: 0x6c386e20, 0x2e5de: 0x6c232020, 0x2e5df: 0x6c232220, + 0x2e5e0: 0x6c232420, 0x2e5e1: 0x6c232620, 0x2e5e2: 0x6c232820, 0x2e5e3: 0x6c232a20, + 0x2e5e4: 0x6c232c20, 0x2e5e5: 0x6c232e20, 0x2e5e6: 0x6c233020, 0x2e5e7: 0x6c233220, + 0x2e5e8: 0x6c233420, 0x2e5e9: 0x6c233620, 0x2e5ea: 0x6c233820, 0x2e5eb: 0x6c388620, + 0x2e5ec: 0x6c388820, 0x2e5ed: 0x6c388a20, 0x2e5ee: 0x6c388c20, 0x2e5ef: 0x6c53d020, + 0x2e5f0: 0x6c388e20, 0x2e5f1: 0x6c389020, 0x2e5f2: 0x6c389220, 0x2e5f3: 0x6c389420, + 0x2e5f4: 0x6c389620, 0x2e5f5: 0x6c389820, 0x2e5f6: 0x6c389a20, 0x2e5f7: 0x6c389c20, + 0x2e5f8: 0x6c389e20, 0x2e5f9: 0x6c38a020, 0x2e5fa: 0x6c38a220, 0x2e5fb: 0x6c38a420, + 0x2e5fc: 0x6c38a620, 0x2e5fd: 0x6c38a820, 0x2e5fe: 0x6c38aa20, 0x2e5ff: 0x6c38ac20, + // Block 0xb98, offset 0x2e600 + 0x2e600: 0x6c38ae20, 0x2e601: 0x6c38b020, 0x2e602: 0x6c38b220, 0x2e603: 0x6c38b420, + 0x2e604: 0x6c38b620, 0x2e605: 0x6c38b820, 0x2e606: 0x6c38ba20, 0x2e607: 0x6c38bc20, + 0x2e608: 0x6c38be20, 0x2e609: 0x6c53d220, 0x2e60a: 0x6c38c020, 0x2e60b: 0x6c38c220, + 0x2e60c: 0x6c38c420, 0x2e60d: 0x6c38c620, 0x2e60e: 0x6c38c820, 0x2e60f: 0x6c38ca20, + 0x2e610: 0x6c38cc20, 0x2e611: 0x6c38ce20, 0x2e612: 0x6c38d020, 0x2e613: 0x6c38d220, + 0x2e614: 0x6c38d420, 0x2e615: 0x6c38d620, 0x2e616: 0x6c38d820, 0x2e617: 0x6c38da20, + 0x2e618: 0x6c38dc20, 0x2e619: 0x6c38de20, 0x2e61a: 0x6c53f220, 0x2e61b: 0x6c38e020, + 0x2e61c: 0x6c38e220, 0x2e61d: 0x6c38e420, 0x2e61e: 0x6c38e620, 0x2e61f: 0x6c38e820, + 0x2e620: 0x6c38ea20, 0x2e621: 0x6c38ec20, 0x2e622: 0x6c38ee20, 0x2e623: 0x6c38f020, + 0x2e624: 0x6c38f220, 0x2e625: 0x6c38f420, 0x2e626: 0x6c38f620, 0x2e627: 0x6c38f820, + 0x2e628: 0x6c38fa20, 0x2e629: 0x6c38fc20, 0x2e62a: 0x6c38fe20, 0x2e62b: 0x6c390020, + 0x2e62c: 0x6c390220, 0x2e62d: 0x6c390420, 0x2e62e: 0x6c390620, 0x2e62f: 0x6c390820, + 0x2e630: 0x6c764a20, 0x2e631: 0x6c390a20, 0x2e632: 0x6c390c20, 0x2e633: 0x6c390e20, + 0x2e634: 0x6c53d420, 0x2e635: 0x6c5a4620, 0x2e636: 0x6c53d620, 0x2e637: 0x6c391020, + 0x2e638: 0x6c391220, 0x2e639: 0x6c391420, 0x2e63a: 0x6c391620, 0x2e63b: 0x6c391820, + 0x2e63c: 0x6c391a20, 0x2e63d: 0x6c391c20, 0x2e63e: 0x6c391e20, 0x2e63f: 0x6c53f420, + // Block 0xb99, offset 0x2e640 + 0x2e640: 0x6c53f620, 0x2e641: 0x6c53f820, 0x2e642: 0x6c53fa20, 0x2e643: 0x6c53fc20, + 0x2e644: 0x6c53fe20, 0x2e645: 0x6c540020, 0x2e646: 0x6c540220, 0x2e647: 0x6c540420, + 0x2e648: 0x6c540620, 0x2e649: 0x6c540820, 0x2e64a: 0x6c540a20, 0x2e64b: 0x6c540c20, + 0x2e64c: 0x6c540e20, 0x2e64d: 0x6c767020, 0x2e64e: 0x6c541020, 0x2e64f: 0x6c541220, + 0x2e650: 0x6c541420, 0x2e651: 0x6c541620, 0x2e652: 0x6c541820, 0x2e653: 0x6c541a20, + 0x2e654: 0x6c541c20, 0x2e655: 0x6c541e20, 0x2e656: 0x6c767220, 0x2e657: 0x6c542020, + 0x2e658: 0x6c542220, 0x2e659: 0x6c542420, 0x2e65a: 0x6c542620, 0x2e65b: 0x6c542820, + 0x2e65c: 0x6c764c20, 0x2e65d: 0x6c542a20, 0x2e65e: 0x6c542c20, 0x2e65f: 0x6c542e20, + 0x2e660: 0x6c543020, 0x2e661: 0x6c543220, 0x2e662: 0x6c543420, 0x2e663: 0x6c543620, + 0x2e664: 0x6c543820, 0x2e665: 0x6c543a20, 0x2e666: 0x6c543c20, 0x2e667: 0x6c543e20, + 0x2e668: 0x6c544020, 0x2e669: 0x6c544220, 0x2e66a: 0x6c544420, 0x2e66b: 0x6c544620, + 0x2e66c: 0x6c544820, 0x2e66d: 0x6c544a20, 0x2e66e: 0x6c544c20, 0x2e66f: 0x6c764e20, + 0x2e670: 0x6c399020, 0x2e671: 0x6c544e20, 0x2e672: 0x6c545020, 0x2e673: 0x6c545220, + 0x2e674: 0x6c545420, 0x2e675: 0x6c545620, 0x2e676: 0x6c545820, 0x2e677: 0x6c545a20, + 0x2e678: 0x6c545c20, 0x2e679: 0x6c545e20, 0x2e67a: 0x6c546020, 0x2e67b: 0x6c546220, + 0x2e67c: 0x6c546420, 0x2e67d: 0x6c546620, 0x2e67e: 0x6c546820, 0x2e67f: 0x6c546a20, + // Block 0xb9a, offset 0x2e680 + 0x2e680: 0x6c546c20, 0x2e681: 0x6c546e20, 0x2e682: 0x6c547020, 0x2e683: 0x6c547220, + 0x2e684: 0x6c547420, 0x2e685: 0x6c547620, 0x2e686: 0x6c765020, 0x2e687: 0x6c547820, + 0x2e688: 0x6c547a20, 0x2e689: 0x6c547c20, 0x2e68a: 0x6c547e20, 0x2e68b: 0x6c548020, + 0x2e68c: 0x6c548220, 0x2e68d: 0x6c548420, 0x2e68e: 0x6c548620, 0x2e68f: 0x6c548820, + 0x2e690: 0x6c548a20, 0x2e691: 0x6c548c20, 0x2e692: 0x6c548e20, 0x2e693: 0x6c549020, + 0x2e694: 0x6c549220, 0x2e695: 0x6c549420, 0x2e696: 0x6c767420, 0x2e697: 0x6c767620, + 0x2e698: 0x6c767820, 0x2e699: 0x6c767a20, 0x2e69a: 0x6c767c20, 0x2e69b: 0x6c767e20, + 0x2e69c: 0x6c768020, 0x2e69d: 0x6c768220, 0x2e69e: 0x6c768420, 0x2e69f: 0x6c768620, + 0x2e6a0: 0x6c768820, 0x2e6a1: 0x6c768a20, 0x2e6a2: 0x6c768c20, 0x2e6a3: 0x6c768e20, + 0x2e6a4: 0x6c769020, 0x2e6a5: 0x6c769220, 0x2e6a6: 0x6c769420, 0x2e6a7: 0x6c769620, + 0x2e6a8: 0x6c769820, 0x2e6a9: 0x6c769a20, 0x2e6aa: 0x6c769c20, 0x2e6ab: 0x6c769e20, + 0x2e6ac: 0x6c76a020, 0x2e6ad: 0x6c76a220, 0x2e6ae: 0x6c76a420, 0x2e6af: 0x6c76a620, + 0x2e6b0: 0x6c76a820, 0x2e6b1: 0x6c76aa20, 0x2e6b2: 0x6c76ac20, 0x2e6b3: 0x6c76ae20, + 0x2e6b4: 0x6c76b020, 0x2e6b5: 0x6c76b220, 0x2e6b6: 0x6c76b420, 0x2e6b7: 0x6c76b620, + 0x2e6b8: 0x6c76b820, 0x2e6b9: 0x6c76ba20, 0x2e6ba: 0x6c76bc20, 0x2e6bb: 0x6c76be20, + 0x2e6bc: 0x6c76c020, 0x2e6bd: 0x6c76c220, 0x2e6be: 0x6c76c420, 0x2e6bf: 0x6c76c620, + // Block 0xb9b, offset 0x2e6c0 + 0x2e6c0: 0x6c76c820, 0x2e6c1: 0x6c76ca20, 0x2e6c2: 0x6c76cc20, 0x2e6c3: 0x6c76ce20, + 0x2e6c4: 0x6c76d020, 0x2e6c5: 0x6c76d220, 0x2e6c6: 0x6c76d420, 0x2e6c7: 0x6c76d620, + 0x2e6c8: 0x6c76d820, 0x2e6c9: 0x6c76da20, 0x2e6ca: 0x6c76dc20, 0x2e6cb: 0x6c76de20, + 0x2e6cc: 0x6c76e020, 0x2e6cd: 0x6c76e220, 0x2e6ce: 0x6c9eae20, 0x2e6cf: 0x6c76e420, + 0x2e6d0: 0x6c76e620, 0x2e6d1: 0x6c76e820, 0x2e6d2: 0x6c76ea20, 0x2e6d3: 0x6c76ec20, + 0x2e6d4: 0x6c76ee20, 0x2e6d5: 0x6c76f020, 0x2e6d6: 0x6c76f220, 0x2e6d7: 0x6c76f420, + 0x2e6d8: 0x6c76f620, 0x2e6d9: 0x6c9ee020, 0x2e6da: 0x6c76f820, 0x2e6db: 0x6c76fa20, + 0x2e6dc: 0x6c76fc20, 0x2e6dd: 0x6c76fe20, 0x2e6de: 0x6c770020, 0x2e6df: 0x6c770220, + 0x2e6e0: 0x6c770420, 0x2e6e1: 0x6c770620, 0x2e6e2: 0x6c770820, 0x2e6e3: 0x6c770a20, + 0x2e6e4: 0x6c770c20, 0x2e6e5: 0x6c770e20, 0x2e6e6: 0x6c771020, 0x2e6e7: 0x6c771220, + 0x2e6e8: 0x6c771420, 0x2e6e9: 0x6c771620, 0x2e6ea: 0x6c9ee220, 0x2e6eb: 0x6c9ee420, + 0x2e6ec: 0x6c9ee620, 0x2e6ed: 0x6c9ee820, 0x2e6ee: 0x6c9eea20, 0x2e6ef: 0x6c9eec20, + 0x2e6f0: 0x6c9eee20, 0x2e6f1: 0x6c9ef020, 0x2e6f2: 0x6c9ef220, 0x2e6f3: 0x6c9ef420, + 0x2e6f4: 0x6c9ef620, 0x2e6f5: 0x6c9ef820, 0x2e6f6: 0x6c9efa20, 0x2e6f7: 0x6c9efc20, + 0x2e6f8: 0x6c9efe20, 0x2e6f9: 0x6c9f0020, 0x2e6fa: 0x6c9f0220, 0x2e6fb: 0x6c9f0420, + 0x2e6fc: 0x6c9f0620, 0x2e6fd: 0x6c9f0820, 0x2e6fe: 0x6c9f0a20, 0x2e6ff: 0x6c9f0c20, + // Block 0xb9c, offset 0x2e700 + 0x2e700: 0x6c9f0e20, 0x2e701: 0x6c9f1020, 0x2e702: 0x6c9f1220, 0x2e703: 0x6c9f1420, + 0x2e704: 0x6c9f1620, 0x2e705: 0x6c9f1820, 0x2e706: 0x6c9f1a20, 0x2e707: 0x6c9f1c20, + 0x2e708: 0x6c9f1e20, 0x2e709: 0x6c9f2020, 0x2e70a: 0x6c9f2220, 0x2e70b: 0x6c9f2420, + 0x2e70c: 0x6c9f2620, 0x2e70d: 0x6c9f2820, 0x2e70e: 0x6c9f2a20, 0x2e70f: 0x6c9f2c20, + 0x2e710: 0x6c9f2e20, 0x2e711: 0x6c9f3020, 0x2e712: 0x6c9f3220, 0x2e713: 0x6c9f3420, + 0x2e714: 0x6c9f3620, 0x2e715: 0x6c9f3820, 0x2e716: 0x6c9f3a20, 0x2e717: 0x6c9f3c20, + 0x2e718: 0x6c9f3e20, 0x2e719: 0x6c9f4020, 0x2e71a: 0x6c9f4220, 0x2e71b: 0x6c9f4420, + 0x2e71c: 0x6c9f4620, 0x2e71d: 0x6c9f4820, 0x2e71e: 0x6c9f4a20, 0x2e71f: 0x6c9f4c20, + 0x2e720: 0x6c9f4e20, 0x2e721: 0x6c9f5020, 0x2e722: 0x6c9f5220, 0x2e723: 0x6c9f5420, + 0x2e724: 0x6c9f5620, 0x2e725: 0x6c9f5820, 0x2e726: 0x6c9f5a20, 0x2e727: 0x6c9f5c20, + 0x2e728: 0x6c9f5e20, 0x2e729: 0x6c9f6020, 0x2e72a: 0x6c9f6220, 0x2e72b: 0x6c9f6420, + 0x2e72c: 0x6c9f6620, 0x2e72d: 0x6c9f6820, 0x2e72e: 0x6c9f6a20, 0x2e72f: 0x6c9f6c20, + 0x2e730: 0x6c9f6e20, 0x2e731: 0x6c9f7020, 0x2e732: 0x6c9f7220, 0x2e733: 0x6c9f7420, + 0x2e734: 0x6c9f7620, 0x2e735: 0x6c9f7820, 0x2e736: 0x6c9f7a20, 0x2e737: 0x6c9f7c20, + 0x2e738: 0x6c9f7e20, 0x2e739: 0x6c9f8020, 0x2e73a: 0x6c9f8220, 0x2e73b: 0x6c9f8420, + 0x2e73c: 0x6ccbdc20, 0x2e73d: 0x6c9f8620, 0x2e73e: 0x6ccbde20, 0x2e73f: 0x6c9f8820, + // Block 0xb9d, offset 0x2e740 + 0x2e740: 0x6c9f8a20, 0x2e741: 0x6c9f8c20, 0x2e742: 0x6c9f8e20, 0x2e743: 0x6ccc0c20, + 0x2e744: 0x6c9f9020, 0x2e745: 0x6c9f9220, 0x2e746: 0x6c9f9420, 0x2e747: 0x6c9f9620, + 0x2e748: 0x6c9f9820, 0x2e749: 0x6c9f9a20, 0x2e74a: 0x6c9f9c20, 0x2e74b: 0x6c9f9e20, + 0x2e74c: 0x6c9fa020, 0x2e74d: 0x6c9fa220, 0x2e74e: 0x6c9fa420, 0x2e74f: 0x6c9fa620, + 0x2e750: 0x6c9fa820, 0x2e751: 0x6c9faa20, 0x2e752: 0x6c9fac20, 0x2e753: 0x6c9fae20, + 0x2e754: 0x6c9fb020, 0x2e755: 0x6c9fb220, 0x2e756: 0x6c9fb420, 0x2e757: 0x6c9fb620, + 0x2e758: 0x6ccc0e20, 0x2e759: 0x6ccc1020, 0x2e75a: 0x6c9fb820, 0x2e75b: 0x6ccc1220, + 0x2e75c: 0x6ccc1420, 0x2e75d: 0x6ccc1620, 0x2e75e: 0x6ccc1820, 0x2e75f: 0x6ccc1a20, + 0x2e760: 0x6ccc1c20, 0x2e761: 0x6ccc1e20, 0x2e762: 0x6ccc2020, 0x2e763: 0x6ccc2220, + 0x2e764: 0x6ccc2420, 0x2e765: 0x6ccc2620, 0x2e766: 0x6ccc2820, 0x2e767: 0x6ccc2a20, + 0x2e768: 0x6ccc2c20, 0x2e769: 0x6ccc2e20, 0x2e76a: 0x6ccc3020, 0x2e76b: 0x6ccc3220, + 0x2e76c: 0x6ccc3420, 0x2e76d: 0x6ccc3620, 0x2e76e: 0x6ccc3820, 0x2e76f: 0x6ccc3a20, + 0x2e770: 0x6ccc3c20, 0x2e771: 0x6ccc3e20, 0x2e772: 0x6ccc4020, 0x2e773: 0x6ccc4220, + 0x2e774: 0x6ccc4420, 0x2e775: 0x6ccc4620, 0x2e776: 0x6ccc4820, 0x2e777: 0x6ccc4a20, + 0x2e778: 0x6ccc4c20, 0x2e779: 0x6ccc4e20, 0x2e77a: 0x6ccc5020, 0x2e77b: 0x6ccc5220, + 0x2e77c: 0x6ccc5420, 0x2e77d: 0x6ccc5620, 0x2e77e: 0x6ccc5820, 0x2e77f: 0x6ccc5a20, + // Block 0xb9e, offset 0x2e780 + 0x2e780: 0x6ccc5c20, 0x2e781: 0x6ccc5e20, 0x2e782: 0x6ccc6020, 0x2e783: 0x6ccc6220, + 0x2e784: 0x6ccc6420, 0x2e785: 0x6ccc6620, 0x2e786: 0x6ccc6820, 0x2e787: 0x6ccc6a20, + 0x2e788: 0x6ccc6c20, 0x2e789: 0x6ccc6e20, 0x2e78a: 0x6ccc7020, 0x2e78b: 0x6ccc7220, + 0x2e78c: 0x6ccc7420, 0x2e78d: 0x6ccc7620, 0x2e78e: 0x6ccc7820, 0x2e78f: 0x6ccc7a20, + 0x2e790: 0x6ccc7c20, 0x2e791: 0x6ccc7e20, 0x2e792: 0x6ccc8020, 0x2e793: 0x6ccc8220, + 0x2e794: 0x6ccc8420, 0x2e795: 0x6ccc8620, 0x2e796: 0x6ccc8820, 0x2e797: 0x6ccc8a20, + 0x2e798: 0x6ccc8c20, 0x2e799: 0x6ccc8e20, 0x2e79a: 0x6ccc9020, 0x2e79b: 0x6ccc9220, + 0x2e79c: 0x6ccc9420, 0x2e79d: 0x6ccc9620, 0x2e79e: 0x6ccc9820, 0x2e79f: 0x6ccc9a20, + 0x2e7a0: 0x6ccc9c20, 0x2e7a1: 0x6ccc9e20, 0x2e7a2: 0x6ccca020, 0x2e7a3: 0x6ccca220, + 0x2e7a4: 0x6ccca420, 0x2e7a5: 0x6ccca620, 0x2e7a6: 0x6ccca820, 0x2e7a7: 0x6cccaa20, + 0x2e7a8: 0x6cccac20, 0x2e7a9: 0x6cccae20, 0x2e7aa: 0x6cccb020, 0x2e7ab: 0x6cccb220, + 0x2e7ac: 0x6cf9e220, 0x2e7ad: 0x6cccb420, 0x2e7ae: 0x6cccb620, 0x2e7af: 0x6cccb820, + 0x2e7b0: 0x6cccba20, 0x2e7b1: 0x6cccbc20, 0x2e7b2: 0x6cccbe20, 0x2e7b3: 0x6cccc020, + 0x2e7b4: 0x6c9fba20, 0x2e7b5: 0x6cccc220, 0x2e7b6: 0x6cccc420, 0x2e7b7: 0x6cccc620, + 0x2e7b8: 0x6cccc820, 0x2e7b9: 0x6cccca20, 0x2e7ba: 0x6ccccc20, 0x2e7bb: 0x6cccce20, + 0x2e7bc: 0x6cccd020, 0x2e7bd: 0x6cccd220, 0x2e7be: 0x6cccd420, 0x2e7bf: 0x6cccd620, + // Block 0xb9f, offset 0x2e7c0 + 0x2e7c0: 0x6cccd820, 0x2e7c1: 0x6cccda20, 0x2e7c2: 0x6cccdc20, 0x2e7c3: 0x6cccde20, + 0x2e7c4: 0x6ccce020, 0x2e7c5: 0x6ccce220, 0x2e7c6: 0x6ccce420, 0x2e7c7: 0x6ccce620, + 0x2e7c8: 0x6ccce820, 0x2e7c9: 0x6cccea20, 0x2e7ca: 0x6cccec20, 0x2e7cb: 0x6cccee20, + 0x2e7cc: 0x6cccf020, 0x2e7cd: 0x6cfa1220, 0x2e7ce: 0x6cfa1420, 0x2e7cf: 0x6cfa1620, + 0x2e7d0: 0x6cfa1820, 0x2e7d1: 0x6cfa1a20, 0x2e7d2: 0x6cfa1c20, 0x2e7d3: 0x6cfa1e20, + 0x2e7d4: 0x6cfa2020, 0x2e7d5: 0x6cfa2220, 0x2e7d6: 0x6cfa2420, 0x2e7d7: 0x6cfa2620, + 0x2e7d8: 0x6cfa2820, 0x2e7d9: 0x6cfa2a20, 0x2e7da: 0x6cfa2c20, 0x2e7db: 0x6cfa2e20, + 0x2e7dc: 0x6cfa3020, 0x2e7dd: 0x6cfa3220, 0x2e7de: 0x6cfa3420, 0x2e7df: 0x6cfa3620, + 0x2e7e0: 0x6cfa3820, 0x2e7e1: 0x6cfa3a20, 0x2e7e2: 0x6cfa3c20, 0x2e7e3: 0x6cfa3e20, + 0x2e7e4: 0x6cfa4020, 0x2e7e5: 0x6cfa4220, 0x2e7e6: 0x6cfa4420, 0x2e7e7: 0x6cfa4620, + 0x2e7e8: 0x6cfa4820, 0x2e7e9: 0x6cfa4a20, 0x2e7ea: 0x6cfa4c20, 0x2e7eb: 0x6cfa4e20, + 0x2e7ec: 0x6cfa5020, 0x2e7ed: 0x6cfa5220, 0x2e7ee: 0x6cfa5420, 0x2e7ef: 0x6cfa5620, + 0x2e7f0: 0x6cfa5820, 0x2e7f1: 0x6cfa5a20, 0x2e7f2: 0x6cfa5c20, 0x2e7f3: 0x6cfa5e20, + 0x2e7f4: 0x6cfa6020, 0x2e7f5: 0x6cfa6220, 0x2e7f6: 0x6cfa6420, 0x2e7f7: 0x6cfa6620, + 0x2e7f8: 0x6cfa6820, 0x2e7f9: 0x6cfa6a20, 0x2e7fa: 0x6cfa6c20, 0x2e7fb: 0x6cfa6e20, + 0x2e7fc: 0x6cfa7020, 0x2e7fd: 0x6cfa7220, 0x2e7fe: 0x6cfa7420, 0x2e7ff: 0x6cfa7620, + // Block 0xba0, offset 0x2e800 + 0x2e800: 0x6cfa7820, 0x2e801: 0x6cfa7a20, 0x2e802: 0x6cfa7c20, 0x2e803: 0x6cfa7e20, + 0x2e804: 0x6cfa8020, 0x2e805: 0x6cfa8220, 0x2e806: 0x6cfa8420, 0x2e807: 0x6cfa8620, + 0x2e808: 0x6cfa8820, 0x2e809: 0x6cfa8a20, 0x2e80a: 0x6cfa8c20, 0x2e80b: 0x6cccf220, + 0x2e80c: 0x6d291220, 0x2e80d: 0x6cfa8e20, 0x2e80e: 0x6d28f420, 0x2e80f: 0x6cfa9020, + 0x2e810: 0x6cfa9220, 0x2e811: 0x6cfa9420, 0x2e812: 0x6cfa9620, 0x2e813: 0x6cfa9820, + 0x2e814: 0x6cfa9a20, 0x2e815: 0x6d561820, 0x2e816: 0x6cfa9c20, 0x2e817: 0x6cfa9e20, + 0x2e818: 0x6cfaa020, 0x2e819: 0x6cfaa220, 0x2e81a: 0x6cfbd620, 0x2e81b: 0x6cfaa420, + 0x2e81c: 0x6cfaa620, 0x2e81d: 0x6cfaa820, 0x2e81e: 0x6cccf420, 0x2e81f: 0x6cfaaa20, + 0x2e820: 0x6cfaac20, 0x2e821: 0x6cfaae20, 0x2e822: 0x6cfab020, 0x2e823: 0x6cfab220, + 0x2e824: 0x6cfab420, 0x2e825: 0x6cfab620, 0x2e826: 0x6cfab820, 0x2e827: 0x6cfaba20, + 0x2e828: 0x6cfabc20, 0x2e829: 0x6cfabe20, 0x2e82a: 0x6cfac020, 0x2e82b: 0x6d291420, + 0x2e82c: 0x6d291620, 0x2e82d: 0x6d291820, 0x2e82e: 0x6d291a20, 0x2e82f: 0x6d291c20, + 0x2e830: 0x6d291e20, 0x2e831: 0x6d292020, 0x2e832: 0x6d292220, 0x2e833: 0x6d292420, + 0x2e834: 0x6d292620, 0x2e835: 0x6d292820, 0x2e836: 0x6d292a20, 0x2e837: 0x6d292c20, + 0x2e838: 0x6d292e20, 0x2e839: 0x6d293020, 0x2e83a: 0x6d293220, 0x2e83b: 0x6d293420, + 0x2e83c: 0x6d293620, 0x2e83d: 0x6d293820, 0x2e83e: 0x6d293a20, 0x2e83f: 0x6d293c20, + // Block 0xba1, offset 0x2e840 + 0x2e840: 0x6d561a20, 0x2e841: 0x6d293e20, 0x2e842: 0x6d294020, 0x2e843: 0x6d294220, + 0x2e844: 0x6d294420, 0x2e845: 0x6d294620, 0x2e846: 0x6d294820, 0x2e847: 0x6d294a20, + 0x2e848: 0x6d294c20, 0x2e849: 0x6d294e20, 0x2e84a: 0x6d295020, 0x2e84b: 0x6d564820, + 0x2e84c: 0x6d295220, 0x2e84d: 0x6d295420, 0x2e84e: 0x6d295620, 0x2e84f: 0x6d295820, + 0x2e850: 0x6d561c20, 0x2e851: 0x6d295a20, 0x2e852: 0x6d295c20, 0x2e853: 0x6cfac220, + 0x2e854: 0x6d295e20, 0x2e855: 0x6d296020, 0x2e856: 0x6d296220, 0x2e857: 0x6d296420, + 0x2e858: 0x6d296620, 0x2e859: 0x6d296820, 0x2e85a: 0x6d296a20, 0x2e85b: 0x6d296c20, + 0x2e85c: 0x6d296e20, 0x2e85d: 0x6d297020, 0x2e85e: 0x6d297220, 0x2e85f: 0x6d297420, + 0x2e860: 0x6d297620, 0x2e861: 0x6d297820, 0x2e862: 0x6d297a20, 0x2e863: 0x6d297c20, + 0x2e864: 0x6d297e20, 0x2e865: 0x6d298020, 0x2e866: 0x6d561e20, 0x2e867: 0x6d298220, + 0x2e868: 0x6d298420, 0x2e869: 0x6d298620, 0x2e86a: 0x6d298820, 0x2e86b: 0x6d298a20, + 0x2e86c: 0x6d298c20, 0x2e86d: 0x6d298e20, 0x2e86e: 0x6d299020, 0x2e86f: 0x6d299220, + 0x2e870: 0x6d299420, 0x2e871: 0x6d299620, 0x2e872: 0x6d299820, 0x2e873: 0x6d299a20, + 0x2e874: 0x6d299c20, 0x2e875: 0x6d299e20, 0x2e876: 0x6d29a020, 0x2e877: 0x6d29a220, + 0x2e878: 0x6d29a420, 0x2e879: 0x6d29a620, 0x2e87a: 0x6d29a820, 0x2e87b: 0x6d29aa20, + 0x2e87c: 0x6d29ac20, 0x2e87d: 0x6d564a20, 0x2e87e: 0x6d29ae20, 0x2e87f: 0x6d562020, + // Block 0xba2, offset 0x2e880 + 0x2e880: 0x6d29b020, 0x2e881: 0x6d562220, 0x2e882: 0x6d29b220, 0x2e883: 0x6d29b420, + 0x2e884: 0x6d29b620, 0x2e885: 0x6d29b820, 0x2e886: 0x6d29ba20, 0x2e887: 0x6d29bc20, + 0x2e888: 0x6d29be20, 0x2e889: 0x6d29c020, 0x2e88a: 0x6d29c220, 0x2e88b: 0x6d29c420, + 0x2e88c: 0x6d29c620, 0x2e88d: 0x6d29c820, 0x2e88e: 0x6d2aca20, 0x2e88f: 0x6d564c20, + 0x2e890: 0x6d564e20, 0x2e891: 0x6d565020, 0x2e892: 0x6d565220, 0x2e893: 0x6d565420, + 0x2e894: 0x6d565620, 0x2e895: 0x6d565820, 0x2e896: 0x6d565a20, 0x2e897: 0x6d565c20, + 0x2e898: 0x6d565e20, 0x2e899: 0x6d566020, 0x2e89a: 0x6d566220, 0x2e89b: 0x6d566420, + 0x2e89c: 0x6d566620, 0x2e89d: 0x6d566820, 0x2e89e: 0x6d819a20, 0x2e89f: 0x6d566a20, + 0x2e8a0: 0x6d566c20, 0x2e8a1: 0x6d566e20, 0x2e8a2: 0x6d567020, 0x2e8a3: 0x6d567220, + 0x2e8a4: 0x6d567420, 0x2e8a5: 0x6d567620, 0x2e8a6: 0x6d567820, 0x2e8a7: 0x6d567a20, + 0x2e8a8: 0x6d567c20, 0x2e8a9: 0x6d567e20, 0x2e8aa: 0x6d568020, 0x2e8ab: 0x6d568220, + 0x2e8ac: 0x6d568420, 0x2e8ad: 0x6d568620, 0x2e8ae: 0x6d568820, 0x2e8af: 0x6d568a20, + 0x2e8b0: 0x6d568c20, 0x2e8b1: 0x6d568e20, 0x2e8b2: 0x6d569020, 0x2e8b3: 0x6d2acc20, + 0x2e8b4: 0x6d569220, 0x2e8b5: 0x6d569420, 0x2e8b6: 0x6d569620, 0x2e8b7: 0x6d569820, + 0x2e8b8: 0x6d569a20, 0x2e8b9: 0x6d569c20, 0x2e8ba: 0x6d569e20, 0x2e8bb: 0x6d56a020, + 0x2e8bc: 0x6d56a220, 0x2e8bd: 0x6d56a420, 0x2e8be: 0x6d56a620, 0x2e8bf: 0x6d56a820, + // Block 0xba3, offset 0x2e8c0 + 0x2e8c0: 0x6da79820, 0x2e8c1: 0x6d56aa20, 0x2e8c2: 0x6d56ac20, 0x2e8c3: 0x6d819c20, + 0x2e8c4: 0x6d56ae20, 0x2e8c5: 0x6d56b020, 0x2e8c6: 0x6d56b220, 0x2e8c7: 0x6d56b420, + 0x2e8c8: 0x6d56b620, 0x2e8c9: 0x6d56b820, 0x2e8ca: 0x6d56ba20, 0x2e8cb: 0x6d56bc20, + 0x2e8cc: 0x6d56be20, 0x2e8cd: 0x6d56c020, 0x2e8ce: 0x6d56c220, 0x2e8cf: 0x6d56c420, + 0x2e8d0: 0x6d56c620, 0x2e8d1: 0x6d56c820, 0x2e8d2: 0x6d56ca20, 0x2e8d3: 0x6d56cc20, + 0x2e8d4: 0x6d56ce20, 0x2e8d5: 0x6d56d020, 0x2e8d6: 0x6d56d220, 0x2e8d7: 0x6d56d420, + 0x2e8d8: 0x6d56d620, 0x2e8d9: 0x6d81c020, 0x2e8da: 0x6d56d820, 0x2e8db: 0x6d56da20, + 0x2e8dc: 0x6d56dc20, 0x2e8dd: 0x6d56de20, 0x2e8de: 0x6d81c220, 0x2e8df: 0x6d81c420, + 0x2e8e0: 0x6d81c620, 0x2e8e1: 0x6d81c820, 0x2e8e2: 0x6d81ca20, 0x2e8e3: 0x6d81cc20, + 0x2e8e4: 0x6d81ce20, 0x2e8e5: 0x6d81d020, 0x2e8e6: 0x6d81d220, 0x2e8e7: 0x6d81d420, + 0x2e8e8: 0x6d81d620, 0x2e8e9: 0x6da77820, 0x2e8ea: 0x6d81d820, 0x2e8eb: 0x6d81da20, + 0x2e8ec: 0x6d81dc20, 0x2e8ed: 0x6d81de20, 0x2e8ee: 0x6d81e020, 0x2e8ef: 0x6d81e220, + 0x2e8f0: 0x6d81e420, 0x2e8f1: 0x6d81e620, 0x2e8f2: 0x6d81e820, 0x2e8f3: 0x6d81ea20, + 0x2e8f4: 0x6d81ec20, 0x2e8f5: 0x6d81ee20, 0x2e8f6: 0x6d81f020, 0x2e8f7: 0x6d81f220, + 0x2e8f8: 0x6d81f420, 0x2e8f9: 0x6d81f620, 0x2e8fa: 0x6d81f820, 0x2e8fb: 0x6d81fa20, + 0x2e8fc: 0x6d81fc20, 0x2e8fd: 0x6d81fe20, 0x2e8fe: 0x6d820020, 0x2e8ff: 0x6d820220, + // Block 0xba4, offset 0x2e900 + 0x2e900: 0x6d820420, 0x2e901: 0x6d820620, 0x2e902: 0x6d820820, 0x2e903: 0x6d820a20, + 0x2e904: 0x6d820c20, 0x2e905: 0x6d820e20, 0x2e906: 0x6d580a20, 0x2e907: 0x6d821020, + 0x2e908: 0x6d821220, 0x2e909: 0x6d821420, 0x2e90a: 0x6d821620, 0x2e90b: 0x6d821820, + 0x2e90c: 0x6da77a20, 0x2e90d: 0x6d821a20, 0x2e90e: 0x6d821c20, 0x2e90f: 0x6d821e20, + 0x2e910: 0x6d56e020, 0x2e911: 0x6d822020, 0x2e912: 0x6d822220, 0x2e913: 0x6d822420, + 0x2e914: 0x6da79a20, 0x2e915: 0x6da79c20, 0x2e916: 0x6d822620, 0x2e917: 0x6da79e20, + 0x2e918: 0x6da7a020, 0x2e919: 0x6da7a220, 0x2e91a: 0x6da7a420, 0x2e91b: 0x6da7a620, + 0x2e91c: 0x6da7a820, 0x2e91d: 0x6da7aa20, 0x2e91e: 0x6da7ac20, 0x2e91f: 0x6da7ae20, + 0x2e920: 0x6da7b020, 0x2e921: 0x6da7b220, 0x2e922: 0x6da7b420, 0x2e923: 0x6da7b620, + 0x2e924: 0x6da7b820, 0x2e925: 0x6da7ba20, 0x2e926: 0x6da7bc20, 0x2e927: 0x6da7be20, + 0x2e928: 0x6da7c020, 0x2e929: 0x6da7c220, 0x2e92a: 0x6da7c420, 0x2e92b: 0x6da7c620, + 0x2e92c: 0x6da7c820, 0x2e92d: 0x6da7ca20, 0x2e92e: 0x6da7cc20, 0x2e92f: 0x6da7ce20, + 0x2e930: 0x6da7d020, 0x2e931: 0x6da7d220, 0x2e932: 0x6da7d420, 0x2e933: 0x6de4c220, + 0x2e934: 0x6da7d620, 0x2e935: 0x6da7d820, 0x2e936: 0x6da7da20, 0x2e937: 0x6dc8c220, + 0x2e938: 0x6da7dc20, 0x2e939: 0x6dc8d220, 0x2e93a: 0x6dc8d420, 0x2e93b: 0x6dc8d620, + 0x2e93c: 0x6dc8d820, 0x2e93d: 0x6dc8da20, 0x2e93e: 0x6dc8dc20, 0x2e93f: 0x6dc8de20, + // Block 0xba5, offset 0x2e940 + 0x2e940: 0x6dc8e020, 0x2e941: 0x6dc8e220, 0x2e942: 0x6dc8e420, 0x2e943: 0x6dc8e620, + 0x2e944: 0x6d82fc20, 0x2e945: 0x6dc8e820, 0x2e946: 0x6dc8ea20, 0x2e947: 0x6dc8ec20, + 0x2e948: 0x6dc8ee20, 0x2e949: 0x6dc8f020, 0x2e94a: 0x6dc8f220, 0x2e94b: 0x6dc8f420, + 0x2e94c: 0x6dc8f620, 0x2e94d: 0x6dc8f820, 0x2e94e: 0x6dc8fa20, 0x2e94f: 0x6dc8fc20, + 0x2e950: 0x6dc8fe20, 0x2e951: 0x6dc90020, 0x2e952: 0x6dc90220, 0x2e953: 0x6dc90420, + 0x2e954: 0x6dc90620, 0x2e955: 0x6de4c420, 0x2e956: 0x6de4c620, 0x2e957: 0x6de4c820, + 0x2e958: 0x6de4ca20, 0x2e959: 0x6de4cc20, 0x2e95a: 0x6de4ce20, 0x2e95b: 0x6de4d020, + 0x2e95c: 0x6de4d220, 0x2e95d: 0x6de4d420, 0x2e95e: 0x6de4d620, 0x2e95f: 0x6de4d820, + 0x2e960: 0x6de4da20, 0x2e961: 0x6de4dc20, 0x2e962: 0x6de4de20, 0x2e963: 0x6de4e020, + 0x2e964: 0x6de4e220, 0x2e965: 0x6de4e420, 0x2e966: 0x6dc9b820, 0x2e967: 0x6de4e620, + 0x2e968: 0x6de4e820, 0x2e969: 0x6de4ea20, 0x2e96a: 0x6dfbc220, 0x2e96b: 0x6de4ec20, + 0x2e96c: 0x6de4ee20, 0x2e96d: 0x6de4f020, 0x2e96e: 0x6de4f220, 0x2e96f: 0x6dfbd020, + 0x2e970: 0x6dfbd220, 0x2e971: 0x6dfbd420, 0x2e972: 0x6dfbd620, 0x2e973: 0x6dfbd820, + 0x2e974: 0x6dfbda20, 0x2e975: 0x6dfbdc20, 0x2e976: 0x6dfbde20, 0x2e977: 0x6dfbe020, + 0x2e978: 0x6dfbe220, 0x2e979: 0x6dfbe420, 0x2e97a: 0x6dfbe620, 0x2e97b: 0x6dfbe820, + 0x2e97c: 0x6dfbea20, 0x2e97d: 0x6dfbec20, 0x2e97e: 0x6dfbee20, 0x2e97f: 0x6dfbf020, + // Block 0xba6, offset 0x2e980 + 0x2e980: 0x6dfbf220, 0x2e981: 0x6dfbf420, 0x2e982: 0x6dfc4820, 0x2e983: 0x6e0f0620, + 0x2e984: 0x6e0f0820, 0x2e985: 0x6e0f0a20, 0x2e986: 0x6e0f0c20, 0x2e987: 0x6e0f0e20, + 0x2e988: 0x6e0f1020, 0x2e989: 0x6e0f1220, 0x2e98a: 0x6e0f1420, 0x2e98b: 0x6e0f1620, + 0x2e98c: 0x6e0f1820, 0x2e98d: 0x6e0f1a20, 0x2e98e: 0x6e3d5220, 0x2e98f: 0x6e0f1c20, + 0x2e990: 0x6e0f1e20, 0x2e991: 0x6e1e3420, 0x2e992: 0x6e1e3620, 0x2e993: 0x6e299620, + 0x2e994: 0x6e1e3820, 0x2e995: 0x6e1e3a20, 0x2e996: 0x6e1e3c20, 0x2e997: 0x6e1e3e20, + 0x2e998: 0x6e1e4020, 0x2e999: 0x6e299e20, 0x2e99a: 0x6e29a020, 0x2e99b: 0x6e29a220, + 0x2e99c: 0x6e29a420, 0x2e99d: 0x6e32a220, 0x2e99e: 0x6e32a420, 0x2e99f: 0x6e32a620, + 0x2e9a0: 0x6e32a820, 0x2e9a1: 0x6e32aa20, 0x2e9a2: 0x6e38e020, 0x2e9a3: 0x6e38e220, + 0x2e9a4: 0x6e3d5420, 0x2e9a5: 0x6e405c20, 0x2e9a6: 0x6e3d5620, 0x2e9a7: 0x6e405e20, + 0x2e9a8: 0x6e406020, 0x2e9a9: 0x6e45c420, 0x2e9aa: 0x6e463020, 0x2e9ab: 0x6c04d020, + 0x2e9ac: 0x6c04d220, 0x2e9ad: 0x6c09ca20, 0x2e9ae: 0x6c135a20, 0x2e9af: 0x6c135c20, + 0x2e9b0: 0x6c135e20, 0x2e9b1: 0x6c136020, 0x2e9b2: 0x6c136220, 0x2e9b3: 0x6c136420, + 0x2e9b4: 0x6c239020, 0x2e9b5: 0x6c239220, 0x2e9b6: 0x6c239420, 0x2e9b7: 0x6c239620, + 0x2e9b8: 0x6c239820, 0x2e9b9: 0x6c239a20, 0x2e9ba: 0x6c239c20, 0x2e9bb: 0x6c239e20, + 0x2e9bc: 0x6c23a020, 0x2e9bd: 0x6c23a220, 0x2e9be: 0x6c23a420, 0x2e9bf: 0x6c23a620, + // Block 0xba7, offset 0x2e9c0 + 0x2e9c0: 0x6c23a820, 0x2e9c1: 0x6c399e20, 0x2e9c2: 0x6c39a020, 0x2e9c3: 0x6c39a220, + 0x2e9c4: 0x6c39a420, 0x2e9c5: 0x6c39a620, 0x2e9c6: 0x6c39a820, 0x2e9c7: 0x6c399220, + 0x2e9c8: 0x6c39aa20, 0x2e9c9: 0x6c39ac20, 0x2e9ca: 0x6c39ae20, 0x2e9cb: 0x6c39b020, + 0x2e9cc: 0x6c39b220, 0x2e9cd: 0x6c39b420, 0x2e9ce: 0x6c39b620, 0x2e9cf: 0x6c39b820, + 0x2e9d0: 0x6c39ba20, 0x2e9d1: 0x6c39bc20, 0x2e9d2: 0x6c39be20, 0x2e9d3: 0x6c39c020, + 0x2e9d4: 0x6c39c220, 0x2e9d5: 0x6c39c420, 0x2e9d6: 0x6c39c620, 0x2e9d7: 0x6c39c820, + 0x2e9d8: 0x6c39ca20, 0x2e9d9: 0x6c39cc20, 0x2e9da: 0x6c39ce20, 0x2e9db: 0x6c39d020, + 0x2e9dc: 0x6c39d220, 0x2e9dd: 0x6c39d420, 0x2e9de: 0x6c39d620, 0x2e9df: 0x6c552820, + 0x2e9e0: 0x6c552a20, 0x2e9e1: 0x6c552c20, 0x2e9e2: 0x6c552e20, 0x2e9e3: 0x6c553020, + 0x2e9e4: 0x6c553220, 0x2e9e5: 0x6c553420, 0x2e9e6: 0x6c553620, 0x2e9e7: 0x6c553820, + 0x2e9e8: 0x6c553a20, 0x2e9e9: 0x6c553c20, 0x2e9ea: 0x6c553e20, 0x2e9eb: 0x6c554020, + 0x2e9ec: 0x6c554220, 0x2e9ed: 0x6c554420, 0x2e9ee: 0x6c554620, 0x2e9ef: 0x6c554820, + 0x2e9f0: 0x6c554a20, 0x2e9f1: 0x6c554c20, 0x2e9f2: 0x6c554e20, 0x2e9f3: 0x6c555020, + 0x2e9f4: 0x6c555220, 0x2e9f5: 0x6c555420, 0x2e9f6: 0x6c555620, 0x2e9f7: 0x6c555820, + 0x2e9f8: 0x6c555a20, 0x2e9f9: 0x6c555c20, 0x2e9fa: 0x6c555e20, 0x2e9fb: 0x6c556020, + 0x2e9fc: 0x6c556220, 0x2e9fd: 0x6c556420, 0x2e9fe: 0x6c556620, 0x2e9ff: 0x6c556820, + // Block 0xba8, offset 0x2ea00 + 0x2ea00: 0x6c556a20, 0x2ea01: 0x6c556c20, 0x2ea02: 0x6c556e20, 0x2ea03: 0x6c557020, + 0x2ea04: 0x6c77f620, 0x2ea05: 0x6c77f820, 0x2ea06: 0x6c77fa20, 0x2ea07: 0x6c77fc20, + 0x2ea08: 0x6c77fe20, 0x2ea09: 0x6c780020, 0x2ea0a: 0x6c780220, 0x2ea0b: 0x6c780420, + 0x2ea0c: 0x6c780620, 0x2ea0d: 0x6c780820, 0x2ea0e: 0x6c780a20, 0x2ea0f: 0x6c780c20, + 0x2ea10: 0x6c780e20, 0x2ea11: 0x6c781020, 0x2ea12: 0x6c781220, 0x2ea13: 0x6c781420, + 0x2ea14: 0x6c781620, 0x2ea15: 0x6c781820, 0x2ea16: 0x6c781a20, 0x2ea17: 0x6c781c20, + 0x2ea18: 0x6c781e20, 0x2ea19: 0x6c782020, 0x2ea1a: 0x6c782220, 0x2ea1b: 0x6c782420, + 0x2ea1c: 0x6c782620, 0x2ea1d: 0x6c782820, 0x2ea1e: 0x6c782a20, 0x2ea1f: 0x6c782c20, + 0x2ea20: 0x6c782e20, 0x2ea21: 0x6c783020, 0x2ea22: 0x6c783220, 0x2ea23: 0x6c783420, + 0x2ea24: 0x6c783620, 0x2ea25: 0x6c783820, 0x2ea26: 0x6c783a20, 0x2ea27: 0x6c783c20, + 0x2ea28: 0x6c783e20, 0x2ea29: 0x6c784020, 0x2ea2a: 0x6c784220, 0x2ea2b: 0x6c784420, + 0x2ea2c: 0x6c784620, 0x2ea2d: 0x6c784820, 0x2ea2e: 0x6c784a20, 0x2ea2f: 0x6ca0f020, + 0x2ea30: 0x6ca0f220, 0x2ea31: 0x6ca0f420, 0x2ea32: 0x6ca0f620, 0x2ea33: 0x6ca0f820, + 0x2ea34: 0x6ca0fa20, 0x2ea35: 0x6ca0fc20, 0x2ea36: 0x6ca0fe20, 0x2ea37: 0x6ca10020, + 0x2ea38: 0x6ca10220, 0x2ea39: 0x6ca10420, 0x2ea3a: 0x6ca10620, 0x2ea3b: 0x6ccddc20, + 0x2ea3c: 0x6ca10820, 0x2ea3d: 0x6ca10a20, 0x2ea3e: 0x6ca10c20, 0x2ea3f: 0x6ca10e20, + // Block 0xba9, offset 0x2ea40 + 0x2ea40: 0x6ca11020, 0x2ea41: 0x6ca11220, 0x2ea42: 0x6ca11420, 0x2ea43: 0x6ca11620, + 0x2ea44: 0x6ca11820, 0x2ea45: 0x6ca11a20, 0x2ea46: 0x6ca11c20, 0x2ea47: 0x6ca11e20, + 0x2ea48: 0x6ca12020, 0x2ea49: 0x6ca12220, 0x2ea4a: 0x6ca12420, 0x2ea4b: 0x6ca12620, + 0x2ea4c: 0x6ca12820, 0x2ea4d: 0x6ca12a20, 0x2ea4e: 0x6ca12c20, 0x2ea4f: 0x6ca12e20, + 0x2ea50: 0x6ca13020, 0x2ea51: 0x6ca13220, 0x2ea52: 0x6ca13420, 0x2ea53: 0x6ca13620, + 0x2ea54: 0x6ca1cc20, 0x2ea55: 0x6ca13820, 0x2ea56: 0x6ca13a20, 0x2ea57: 0x6ca13c20, + 0x2ea58: 0x6ca13e20, 0x2ea59: 0x6ccdf620, 0x2ea5a: 0x6ccdf820, 0x2ea5b: 0x6ccdfa20, + 0x2ea5c: 0x6ccdfc20, 0x2ea5d: 0x6ccdfe20, 0x2ea5e: 0x6cce0020, 0x2ea5f: 0x6cce0220, + 0x2ea60: 0x6cce0420, 0x2ea61: 0x6cce0620, 0x2ea62: 0x6cce0820, 0x2ea63: 0x6cce0a20, + 0x2ea64: 0x6cce0c20, 0x2ea65: 0x6cce0e20, 0x2ea66: 0x6cce1020, 0x2ea67: 0x6cce1220, + 0x2ea68: 0x6cce1420, 0x2ea69: 0x6cce1620, 0x2ea6a: 0x6cce1820, 0x2ea6b: 0x6cce1a20, + 0x2ea6c: 0x6cce1c20, 0x2ea6d: 0x6cce1e20, 0x2ea6e: 0x6cce2020, 0x2ea6f: 0x6cce2220, + 0x2ea70: 0x6cce2420, 0x2ea71: 0x6cce2620, 0x2ea72: 0x6cce2820, 0x2ea73: 0x6cce2a20, + 0x2ea74: 0x6cce2c20, 0x2ea75: 0x6cce2e20, 0x2ea76: 0x6cce3020, 0x2ea77: 0x6cce3220, + 0x2ea78: 0x6cce3420, 0x2ea79: 0x6cce3620, 0x2ea7a: 0x6cce3820, 0x2ea7b: 0x6cce3a20, + 0x2ea7c: 0x6cce3c20, 0x2ea7d: 0x6cce3e20, 0x2ea7e: 0x6cce4020, 0x2ea7f: 0x6cce4220, + // Block 0xbaa, offset 0x2ea80 + 0x2ea80: 0x6cce4420, 0x2ea81: 0x6cfbfc20, 0x2ea82: 0x6cfbfe20, 0x2ea83: 0x6cfc0020, + 0x2ea84: 0x6cfc0220, 0x2ea85: 0x6cfc0420, 0x2ea86: 0x6cfc0620, 0x2ea87: 0x6cfc0820, + 0x2ea88: 0x6cfc0a20, 0x2ea89: 0x6cfc0c20, 0x2ea8a: 0x6cfc0e20, 0x2ea8b: 0x6cfc1020, + 0x2ea8c: 0x6cfc1220, 0x2ea8d: 0x6cfc1420, 0x2ea8e: 0x6cfc1620, 0x2ea8f: 0x6cfc1820, + 0x2ea90: 0x6cfc1a20, 0x2ea91: 0x6cfc1c20, 0x2ea92: 0x6cfc1e20, 0x2ea93: 0x6cfc2020, + 0x2ea94: 0x6cfc2220, 0x2ea95: 0x6d2ace20, 0x2ea96: 0x6cfc2420, 0x2ea97: 0x6cfc2620, + 0x2ea98: 0x6cfc2820, 0x2ea99: 0x6cfc2a20, 0x2ea9a: 0x6cfc2c20, 0x2ea9b: 0x6d2ad020, + 0x2ea9c: 0x6cfc2e20, 0x2ea9d: 0x6cfc3020, 0x2ea9e: 0x6cfc3220, 0x2ea9f: 0x6cfc3420, + 0x2eaa0: 0x6cfc3620, 0x2eaa1: 0x6cfc3820, 0x2eaa2: 0x6cfc3a20, 0x2eaa3: 0x6cfc3c20, + 0x2eaa4: 0x6cfc3e20, 0x2eaa5: 0x6cfc4020, 0x2eaa6: 0x6cfc4220, 0x2eaa7: 0x6cfc4420, + 0x2eaa8: 0x6cfc4620, 0x2eaa9: 0x6cfc4820, 0x2eaaa: 0x6cfc4a20, 0x2eaab: 0x6cfc4c20, + 0x2eaac: 0x6cfc4e20, 0x2eaad: 0x6cfc5020, 0x2eaae: 0x6cce4620, 0x2eaaf: 0x6cfc5220, + 0x2eab0: 0x6cfc5420, 0x2eab1: 0x6cfc5620, 0x2eab2: 0x6cfc5820, 0x2eab3: 0x6cfc5a20, + 0x2eab4: 0x6cfc5c20, 0x2eab5: 0x6cfc5e20, 0x2eab6: 0x6cfc6020, 0x2eab7: 0x6cfc6220, + 0x2eab8: 0x6cfc6420, 0x2eab9: 0x6d2aea20, 0x2eaba: 0x6cfc6620, 0x2eabb: 0x6d2aec20, + 0x2eabc: 0x6d2aee20, 0x2eabd: 0x6d2af020, 0x2eabe: 0x6d2af220, 0x2eabf: 0x6d2af420, + // Block 0xbab, offset 0x2eac0 + 0x2eac0: 0x6d2af620, 0x2eac1: 0x6d2af820, 0x2eac2: 0x6d2afa20, 0x2eac3: 0x6d2afc20, + 0x2eac4: 0x6d2afe20, 0x2eac5: 0x6d2b0020, 0x2eac6: 0x6d2b0220, 0x2eac7: 0x6d2b0420, + 0x2eac8: 0x6d2b0620, 0x2eac9: 0x6d2b0820, 0x2eaca: 0x6d2b0a20, 0x2eacb: 0x6d2b0c20, + 0x2eacc: 0x6d2b0e20, 0x2eacd: 0x6d2b1020, 0x2eace: 0x6d2b1220, 0x2eacf: 0x6d2b1420, + 0x2ead0: 0x6d2b1620, 0x2ead1: 0x6d2b1820, 0x2ead2: 0x6d2b1a20, 0x2ead3: 0x6d2b1c20, + 0x2ead4: 0x6d2b1e20, 0x2ead5: 0x6d2b2020, 0x2ead6: 0x6d2b2220, 0x2ead7: 0x6d2b2420, + 0x2ead8: 0x6d2b2620, 0x2ead9: 0x6d2b2820, 0x2eada: 0x6d581e20, 0x2eadb: 0x6d582020, + 0x2eadc: 0x6d582220, 0x2eadd: 0x6d582420, 0x2eade: 0x6d582620, 0x2eadf: 0x6d582820, + 0x2eae0: 0x6d582a20, 0x2eae1: 0x6d582c20, 0x2eae2: 0x6d582e20, 0x2eae3: 0x6d583020, + 0x2eae4: 0x6d583220, 0x2eae5: 0x6d583420, 0x2eae6: 0x6d580c20, 0x2eae7: 0x6d583620, + 0x2eae8: 0x6d583820, 0x2eae9: 0x6d583a20, 0x2eaea: 0x6d583c20, 0x2eaeb: 0x6d583e20, + 0x2eaec: 0x6d584020, 0x2eaed: 0x6d584220, 0x2eaee: 0x6d584420, 0x2eaef: 0x6d584620, + 0x2eaf0: 0x6d584820, 0x2eaf1: 0x6d584a20, 0x2eaf2: 0x6d584c20, 0x2eaf3: 0x6d584e20, + 0x2eaf4: 0x6d585020, 0x2eaf5: 0x6d585220, 0x2eaf6: 0x6d831420, 0x2eaf7: 0x6d831620, + 0x2eaf8: 0x6d831820, 0x2eaf9: 0x6d831a20, 0x2eafa: 0x6d831c20, 0x2eafb: 0x6d831e20, + 0x2eafc: 0x6d832020, 0x2eafd: 0x6d832220, 0x2eafe: 0x6d832420, 0x2eaff: 0x6d832620, + // Block 0xbac, offset 0x2eb00 + 0x2eb00: 0x6d832820, 0x2eb01: 0x6d832a20, 0x2eb02: 0x6d832c20, 0x2eb03: 0x6d832e20, + 0x2eb04: 0x6d833020, 0x2eb05: 0x6d833220, 0x2eb06: 0x6d833420, 0x2eb07: 0x6d833620, + 0x2eb08: 0x6d833820, 0x2eb09: 0x6d833a20, 0x2eb0a: 0x6d833c20, 0x2eb0b: 0x6d833e20, + 0x2eb0c: 0x6d834020, 0x2eb0d: 0x6d834220, 0x2eb0e: 0x6d834420, 0x2eb0f: 0x6d834620, + 0x2eb10: 0x6d834820, 0x2eb11: 0x6d834a20, 0x2eb12: 0x6d834c20, 0x2eb13: 0x6d834e20, + 0x2eb14: 0x6d835020, 0x2eb15: 0x6d835220, 0x2eb16: 0x6d835420, 0x2eb17: 0x6d835620, + 0x2eb18: 0x6d835820, 0x2eb19: 0x6d835a20, 0x2eb1a: 0x6d835c20, 0x2eb1b: 0x6d835e20, + 0x2eb1c: 0x6d836020, 0x2eb1d: 0x6d836220, 0x2eb1e: 0x6d836420, 0x2eb1f: 0x6da87c20, + 0x2eb20: 0x6da87e20, 0x2eb21: 0x6da88020, 0x2eb22: 0x6da88220, 0x2eb23: 0x6da88420, + 0x2eb24: 0x6da88620, 0x2eb25: 0x6da88820, 0x2eb26: 0x6da88a20, 0x2eb27: 0x6da88c20, + 0x2eb28: 0x6da88e20, 0x2eb29: 0x6da89020, 0x2eb2a: 0x6da89220, 0x2eb2b: 0x6da89420, + 0x2eb2c: 0x6da89620, 0x2eb2d: 0x6da89820, 0x2eb2e: 0x6da89a20, 0x2eb2f: 0x6da89c20, + 0x2eb30: 0x6da89e20, 0x2eb31: 0x6da8a020, 0x2eb32: 0x6da8a220, 0x2eb33: 0x6da8a420, + 0x2eb34: 0x6da8a620, 0x2eb35: 0x6da8a820, 0x2eb36: 0x6da8aa20, 0x2eb37: 0x6da8ac20, + 0x2eb38: 0x6dc9be20, 0x2eb39: 0x6dc9c020, 0x2eb3a: 0x6dc9c220, 0x2eb3b: 0x6dc9c420, + 0x2eb3c: 0x6dc9c620, 0x2eb3d: 0x6dc9c820, 0x2eb3e: 0x6dc9ca20, 0x2eb3f: 0x6dc9cc20, + // Block 0xbad, offset 0x2eb40 + 0x2eb40: 0x6dc9ce20, 0x2eb41: 0x6dc9d020, 0x2eb42: 0x6de57020, 0x2eb43: 0x6dc9d220, + 0x2eb44: 0x6de57820, 0x2eb45: 0x6de57a20, 0x2eb46: 0x6de57c20, 0x2eb47: 0x6de57e20, + 0x2eb48: 0x6de58020, 0x2eb49: 0x6de58220, 0x2eb4a: 0x6de58420, 0x2eb4b: 0x6dfc5220, + 0x2eb4c: 0x6de58620, 0x2eb4d: 0x6de58820, 0x2eb4e: 0x6de58a20, 0x2eb4f: 0x6dfc5420, + 0x2eb50: 0x6dfc5620, 0x2eb51: 0x6dfc5820, 0x2eb52: 0x6dfc5a20, 0x2eb53: 0x6dfc5c20, + 0x2eb54: 0x6dfc5e20, 0x2eb55: 0x6de58c20, 0x2eb56: 0x6dfc6020, 0x2eb57: 0x6dfc6220, + 0x2eb58: 0x6dfc6420, 0x2eb59: 0x6e0f7e20, 0x2eb5a: 0x6e0f8020, 0x2eb5b: 0x6e0f8220, + 0x2eb5c: 0x6e1e7020, 0x2eb5d: 0x6e0fb220, 0x2eb5e: 0x6e1e7220, 0x2eb5f: 0x6e1e7420, + 0x2eb60: 0x6e1e7620, 0x2eb61: 0x6e29da20, 0x2eb62: 0x6e29dc20, 0x2eb63: 0x6e32c020, + 0x2eb64: 0x6e38f220, 0x2eb65: 0x6e38f420, 0x2eb66: 0x6e38f620, 0x2eb67: 0x6e42b620, + 0x2eb68: 0x6e443420, 0x2eb69: 0x6e468220, 0x2eb6a: 0x6c04d620, 0x2eb6b: 0x6c04d820, + 0x2eb6c: 0x6c3a2820, 0x2eb6d: 0x6c3a2a20, 0x2eb6e: 0x6c55ee20, 0x2eb6f: 0x6c55f020, + 0x2eb70: 0x6c55f220, 0x2eb71: 0x6c78ca20, 0x2eb72: 0x6ccf0a20, 0x2eb73: 0x6d2bdc20, + 0x2eb74: 0x6d590420, 0x2eb75: 0x6da93020, 0x2eb76: 0x6c04de20, 0x2eb77: 0x6c137a20, + 0x2eb78: 0x6c3a3a20, 0x2eb79: 0x6c78d620, 0x2eb7a: 0x6cfd4020, 0x2eb7b: 0x6c04e020, + 0x2eb7c: 0x6c561820, 0x2eb7d: 0x6ca1e020, 0x2eb7e: 0x6d2bec20, 0x2eb7f: 0x6c04e420, + // Block 0xbae, offset 0x2eb80 + 0x2eb80: 0x6c3a4620, 0x2eb81: 0x6c562020, 0x2eb82: 0x6c78e220, 0x2eb83: 0x6cfd4820, + 0x2eb84: 0x6d2bf020, 0x2eb85: 0x6d591e20, 0x2eb86: 0x6da93220, 0x2eb87: 0x6c04e820, + 0x2eb88: 0x6c3a5220, 0x2eb89: 0x6c562a20, 0x2eb8a: 0x6c562c20, 0x2eb8b: 0x6ccf3c20, + 0x2eb8c: 0x6ccf3e20, 0x2eb8d: 0x6ccf4020, 0x2eb8e: 0x6cfd5020, 0x2eb8f: 0x6cfd5220, + 0x2eb90: 0x6cfd5420, 0x2eb91: 0x6cfd5620, 0x2eb92: 0x6cfd5820, 0x2eb93: 0x6d2bfc20, + 0x2eb94: 0x6d2bfe20, 0x2eb95: 0x6d592820, 0x2eb96: 0x6d592a20, 0x2eb97: 0x6d592c20, + 0x2eb98: 0x6de5e220, 0x2eb99: 0x6c04ec20, 0x2eb9a: 0x6ccf6620, 0x2eb9b: 0x6c04f020, + 0x2eb9c: 0x6c04f220, 0x2eb9d: 0x6c138020, 0x2eb9e: 0x6c138220, 0x2eb9f: 0x6c138420, + 0x2eba0: 0x6c23ec20, 0x2eba1: 0x6c23ee20, 0x2eba2: 0x6c23f020, 0x2eba3: 0x6c23f220, + 0x2eba4: 0x6c23f420, 0x2eba5: 0x6c3a6c20, 0x2eba6: 0x6c3a6e20, 0x2eba7: 0x6c3a7020, + 0x2eba8: 0x6c3a7220, 0x2eba9: 0x6c3a7420, 0x2ebaa: 0x6c3a7620, 0x2ebab: 0x6c3a7820, + 0x2ebac: 0x6c3a7a20, 0x2ebad: 0x6c564c20, 0x2ebae: 0x6c564e20, 0x2ebaf: 0x6c565020, + 0x2ebb0: 0x6c565220, 0x2ebb1: 0x6c565420, 0x2ebb2: 0x6c565620, 0x2ebb3: 0x6c565820, + 0x2ebb4: 0x6c565a20, 0x2ebb5: 0x6c565c20, 0x2ebb6: 0x6c791020, 0x2ebb7: 0x6c791220, + 0x2ebb8: 0x6c791420, 0x2ebb9: 0x6c791620, 0x2ebba: 0x6c791820, 0x2ebbb: 0x6ca21e20, + 0x2ebbc: 0x6ca22020, 0x2ebbd: 0x6ca22220, 0x2ebbe: 0x6ca22420, 0x2ebbf: 0x6ca22620, + // Block 0xbaf, offset 0x2ebc0 + 0x2ebc0: 0x6ccf7820, 0x2ebc1: 0x6ca22820, 0x2ebc2: 0x6ccf7a20, 0x2ebc3: 0x6ccf7c20, + 0x2ebc4: 0x6ccf7e20, 0x2ebc5: 0x6ccf8020, 0x2ebc6: 0x6ccf8220, 0x2ebc7: 0x6ccf8420, + 0x2ebc8: 0x6ccf8620, 0x2ebc9: 0x6ccf8820, 0x2ebca: 0x6ccf8a20, 0x2ebcb: 0x6ccf8c20, + 0x2ebcc: 0x6cfd7820, 0x2ebcd: 0x6cfd7a20, 0x2ebce: 0x6cfd7c20, 0x2ebcf: 0x6cfd7e20, + 0x2ebd0: 0x6cfd8020, 0x2ebd1: 0x6cfd8220, 0x2ebd2: 0x6d2c1620, 0x2ebd3: 0x6d2c1820, + 0x2ebd4: 0x6d2c1a20, 0x2ebd5: 0x6d2c1c20, 0x2ebd6: 0x6d2c1e20, 0x2ebd7: 0x6d2c2020, + 0x2ebd8: 0x6d595020, 0x2ebd9: 0x6d595220, 0x2ebda: 0x6d595420, 0x2ebdb: 0x6d595620, + 0x2ebdc: 0x6d845820, 0x2ebdd: 0x6d845a20, 0x2ebde: 0x6d845c20, 0x2ebdf: 0x6d845e20, + 0x2ebe0: 0x6da94e20, 0x2ebe1: 0x6de5e620, 0x2ebe2: 0x6de5e820, 0x2ebe3: 0x6de5ea20, + 0x2ebe4: 0x6de5ec20, 0x2ebe5: 0x6de5ee20, 0x2ebe6: 0x6de5f020, 0x2ebe7: 0x6dfcd820, + 0x2ebe8: 0x6dfcda20, 0x2ebe9: 0x6e1e9c20, 0x2ebea: 0x6e390e20, 0x2ebeb: 0x6e407820, + 0x2ebec: 0x6c04f420, 0x2ebed: 0x6c01fe20, 0x2ebee: 0x6c09dc20, 0x2ebef: 0x6c09de20, + 0x2ebf0: 0x6c09e020, 0x2ebf1: 0x6c138c20, 0x2ebf2: 0x6c138e20, 0x2ebf3: 0x6c139020, + 0x2ebf4: 0x6c139220, 0x2ebf5: 0x6c139420, 0x2ebf6: 0x6c240020, 0x2ebf7: 0x6c139620, + 0x2ebf8: 0x6c139820, 0x2ebf9: 0x6c240a20, 0x2ebfa: 0x6c240c20, 0x2ebfb: 0x6c240e20, + 0x2ebfc: 0x6c241020, 0x2ebfd: 0x6c241220, 0x2ebfe: 0x6c241420, 0x2ebff: 0x6c241620, + // Block 0xbb0, offset 0x2ec00 + 0x2ec00: 0x6c3ab620, 0x2ec01: 0x6c241820, 0x2ec02: 0x6c241a20, 0x2ec03: 0x6c241c20, + 0x2ec04: 0x6c241e20, 0x2ec05: 0x6c242020, 0x2ec06: 0x6c242220, 0x2ec07: 0x6c242420, + 0x2ec08: 0x6c242620, 0x2ec09: 0x6c3acc20, 0x2ec0a: 0x6c569620, 0x2ec0b: 0x6c3ace20, + 0x2ec0c: 0x6c3ad020, 0x2ec0d: 0x6c3ad220, 0x2ec0e: 0x6c3ad420, 0x2ec0f: 0x6c3ad620, + 0x2ec10: 0x6c3ad820, 0x2ec11: 0x6c3ada20, 0x2ec12: 0x6c3adc20, 0x2ec13: 0x6c3ade20, + 0x2ec14: 0x6c3ae020, 0x2ec15: 0x6c3ae220, 0x2ec16: 0x6c3ae420, 0x2ec17: 0x6c3ae620, + 0x2ec18: 0x6c3ae820, 0x2ec19: 0x6c3aea20, 0x2ec1a: 0x6c3aec20, 0x2ec1b: 0x6c3aee20, + 0x2ec1c: 0x6c3af020, 0x2ec1d: 0x6c3af220, 0x2ec1e: 0x6c3af420, 0x2ec1f: 0x6c56a420, + 0x2ec20: 0x6c56a620, 0x2ec21: 0x6c56a820, 0x2ec22: 0x6c56aa20, 0x2ec23: 0x6c56ac20, + 0x2ec24: 0x6c56ae20, 0x2ec25: 0x6c56b020, 0x2ec26: 0x6c56b220, 0x2ec27: 0x6c56b420, + 0x2ec28: 0x6c56b620, 0x2ec29: 0x6c56b820, 0x2ec2a: 0x6c56ba20, 0x2ec2b: 0x6c56bc20, + 0x2ec2c: 0x6c56be20, 0x2ec2d: 0x6c56c020, 0x2ec2e: 0x6c56c220, 0x2ec2f: 0x6c56c420, + 0x2ec30: 0x6c56c620, 0x2ec31: 0x6c56c820, 0x2ec32: 0x6c56ca20, 0x2ec33: 0x6c794420, + 0x2ec34: 0x6c794620, 0x2ec35: 0x6c794820, 0x2ec36: 0x6c794a20, 0x2ec37: 0x6c794c20, + 0x2ec38: 0x6c794e20, 0x2ec39: 0x6c795020, 0x2ec3a: 0x6c795220, 0x2ec3b: 0x6c795420, + 0x2ec3c: 0x6c795620, 0x2ec3d: 0x6c795820, 0x2ec3e: 0x6c795a20, 0x2ec3f: 0x6ca25220, + // Block 0xbb1, offset 0x2ec40 + 0x2ec40: 0x6c795c20, 0x2ec41: 0x6c795e20, 0x2ec42: 0x6c796020, 0x2ec43: 0x6c796220, + 0x2ec44: 0x6ca26420, 0x2ec45: 0x6ca26620, 0x2ec46: 0x6ccfce20, 0x2ec47: 0x6ca26820, + 0x2ec48: 0x6ca26a20, 0x2ec49: 0x6ca26c20, 0x2ec4a: 0x6ca26e20, 0x2ec4b: 0x6ccfd020, + 0x2ec4c: 0x6ccfd220, 0x2ec4d: 0x6ca27020, 0x2ec4e: 0x6ca27220, 0x2ec4f: 0x6ca27420, + 0x2ec50: 0x6ca27620, 0x2ec51: 0x6ca27820, 0x2ec52: 0x6ccfd420, 0x2ec53: 0x6ca27a20, + 0x2ec54: 0x6ca27c20, 0x2ec55: 0x6ca27e20, 0x2ec56: 0x6ca28020, 0x2ec57: 0x6ca28220, + 0x2ec58: 0x6ca28420, 0x2ec59: 0x6ca28620, 0x2ec5a: 0x6ca28820, 0x2ec5b: 0x6ca28a20, + 0x2ec5c: 0x6ca28c20, 0x2ec5d: 0x6ca28e20, 0x2ec5e: 0x6ca29020, 0x2ec5f: 0x6ca29220, + 0x2ec60: 0x6ca29420, 0x2ec61: 0x6ca29620, 0x2ec62: 0x6ccfe420, 0x2ec63: 0x6ccfe620, + 0x2ec64: 0x6ccfe820, 0x2ec65: 0x6ccfea20, 0x2ec66: 0x6ccfec20, 0x2ec67: 0x6ccfee20, + 0x2ec68: 0x6ccff020, 0x2ec69: 0x6ccff220, 0x2ec6a: 0x6ca29820, 0x2ec6b: 0x6ccfd620, + 0x2ec6c: 0x6ccff420, 0x2ec6d: 0x6ccff620, 0x2ec6e: 0x6cfdbe20, 0x2ec6f: 0x6ccff820, + 0x2ec70: 0x6ccffa20, 0x2ec71: 0x6ccffc20, 0x2ec72: 0x6ccffe20, 0x2ec73: 0x6cd00020, + 0x2ec74: 0x6cd00220, 0x2ec75: 0x6cd00420, 0x2ec76: 0x6cd00620, 0x2ec77: 0x6cfdc020, + 0x2ec78: 0x6cd00820, 0x2ec79: 0x6cd00a20, 0x2ec7a: 0x6cfdd220, 0x2ec7b: 0x6cfdd420, + 0x2ec7c: 0x6cfdd620, 0x2ec7d: 0x6cfdd820, 0x2ec7e: 0x6cfdda20, 0x2ec7f: 0x6cfddc20, + // Block 0xbb2, offset 0x2ec80 + 0x2ec80: 0x6cfdde20, 0x2ec81: 0x6cfdc220, 0x2ec82: 0x6cfde020, 0x2ec83: 0x6d2c6a20, + 0x2ec84: 0x6d2c7820, 0x2ec85: 0x6cfde220, 0x2ec86: 0x6cfde420, 0x2ec87: 0x6cfde620, + 0x2ec88: 0x6cfde820, 0x2ec89: 0x6cfdea20, 0x2ec8a: 0x6cfdec20, 0x2ec8b: 0x6d599420, + 0x2ec8c: 0x6d2c7a20, 0x2ec8d: 0x6d2c7c20, 0x2ec8e: 0x6d598620, 0x2ec8f: 0x6d2c7e20, + 0x2ec90: 0x6d2c8020, 0x2ec91: 0x6d2c8220, 0x2ec92: 0x6d2c8420, 0x2ec93: 0x6d2c6820, + 0x2ec94: 0x6d2c8620, 0x2ec95: 0x6d2c8820, 0x2ec96: 0x6d599620, 0x2ec97: 0x6d599820, + 0x2ec98: 0x6d599a20, 0x2ec99: 0x6d599c20, 0x2ec9a: 0x6d599e20, 0x2ec9b: 0x6d59a020, + 0x2ec9c: 0x6d59a220, 0x2ec9d: 0x6d59a420, 0x2ec9e: 0x6d59a620, 0x2ec9f: 0x6d59a820, + 0x2eca0: 0x6d59aa20, 0x2eca1: 0x6d59ac20, 0x2eca2: 0x6d59ae20, 0x2eca3: 0x6d847e20, + 0x2eca4: 0x6d59b020, 0x2eca5: 0x6d848620, 0x2eca6: 0x6d848820, 0x2eca7: 0x6d848a20, + 0x2eca8: 0x6d848c20, 0x2eca9: 0x6d848e20, 0x2ecaa: 0x6d849020, 0x2ecab: 0x6d849220, + 0x2ecac: 0x6d849420, 0x2ecad: 0x6d849620, 0x2ecae: 0x6da96a20, 0x2ecaf: 0x6da96c20, + 0x2ecb0: 0x6da96e20, 0x2ecb1: 0x6da97020, 0x2ecb2: 0x6da97220, 0x2ecb3: 0x6da97420, + 0x2ecb4: 0x6da97620, 0x2ecb5: 0x6dca5a20, 0x2ecb6: 0x6dca5c20, 0x2ecb7: 0x6dca5e20, + 0x2ecb8: 0x6de60020, 0x2ecb9: 0x6de60620, 0x2ecba: 0x6de60820, 0x2ecbb: 0x6dfce620, + 0x2ecbc: 0x6dfcf020, 0x2ecbd: 0x6dfcf220, 0x2ecbe: 0x6e0fc820, 0x2ecbf: 0x6e1ea820, + // Block 0xbb3, offset 0x2ecc0 + 0x2ecc0: 0x6e1eaa20, 0x2ecc1: 0x6e2a0c20, 0x2ecc2: 0x6e2a0e20, 0x2ecc3: 0x6e2a1020, + 0x2ecc4: 0x6c09ee20, 0x2ecc5: 0x6c572620, 0x2ecc6: 0x6c79ba20, 0x2ecc7: 0x6ca2d620, + 0x2ecc8: 0x6ca2d820, 0x2ecc9: 0x6c09f220, 0x2ecca: 0x6c09f420, 0x2eccb: 0x6c04fa20, + 0x2eccc: 0x6c09f620, 0x2eccd: 0x6c09f820, 0x2ecce: 0x6c13be20, 0x2eccf: 0x6c13c020, + 0x2ecd0: 0x6c13c220, 0x2ecd1: 0x6c13c420, 0x2ecd2: 0x6c247420, 0x2ecd3: 0x6c247620, + 0x2ecd4: 0x6c247820, 0x2ecd5: 0x6c247a20, 0x2ecd6: 0x6c247c20, 0x2ecd7: 0x6c247e20, + 0x2ecd8: 0x6c248020, 0x2ecd9: 0x6c248220, 0x2ecda: 0x6c248420, 0x2ecdb: 0x6c248620, + 0x2ecdc: 0x6c3b4420, 0x2ecdd: 0x6c3b4620, 0x2ecde: 0x6c3b4820, 0x2ecdf: 0x6c3b4a20, + 0x2ece0: 0x6c3b4c20, 0x2ece1: 0x6c3b4e20, 0x2ece2: 0x6c3b5020, 0x2ece3: 0x6c3b5220, + 0x2ece4: 0x6c3b5420, 0x2ece5: 0x6c3b5620, 0x2ece6: 0x6c3b5820, 0x2ece7: 0x6c3b5a20, + 0x2ece8: 0x6c3b5c20, 0x2ece9: 0x6c3b5e20, 0x2ecea: 0x6c3b6020, 0x2eceb: 0x6c3b6220, + 0x2ecec: 0x6c3b6420, 0x2eced: 0x6c3b6620, 0x2ecee: 0x6c3b6820, 0x2ecef: 0x6c3b6a20, + 0x2ecf0: 0x6c3b6c20, 0x2ecf1: 0x6c3b6e20, 0x2ecf2: 0x6c573a20, 0x2ecf3: 0x6c573c20, + 0x2ecf4: 0x6c573e20, 0x2ecf5: 0x6c574020, 0x2ecf6: 0x6c574220, 0x2ecf7: 0x6c574420, + 0x2ecf8: 0x6c574620, 0x2ecf9: 0x6c574820, 0x2ecfa: 0x6c79be20, 0x2ecfb: 0x6c574a20, + 0x2ecfc: 0x6c79c020, 0x2ecfd: 0x6c574c20, 0x2ecfe: 0x6c574e20, 0x2ecff: 0x6c575020, + // Block 0xbb4, offset 0x2ed00 + 0x2ed00: 0x6c575220, 0x2ed01: 0x6c575420, 0x2ed02: 0x6c575620, 0x2ed03: 0x6c575820, + 0x2ed04: 0x6c575a20, 0x2ed05: 0x6c575c20, 0x2ed06: 0x6c575e20, 0x2ed07: 0x6c576020, + 0x2ed08: 0x6c576220, 0x2ed09: 0x6c576420, 0x2ed0a: 0x6c576620, 0x2ed0b: 0x6c576820, + 0x2ed0c: 0x6c576a20, 0x2ed0d: 0x6c576c20, 0x2ed0e: 0x6c576e20, 0x2ed0f: 0x6c577020, + 0x2ed10: 0x6c577220, 0x2ed11: 0x6c577420, 0x2ed12: 0x6c79d620, 0x2ed13: 0x6c79d820, + 0x2ed14: 0x6c79da20, 0x2ed15: 0x6c79dc20, 0x2ed16: 0x6c79de20, 0x2ed17: 0x6c79e020, + 0x2ed18: 0x6c79e220, 0x2ed19: 0x6c79e420, 0x2ed1a: 0x6c79e620, 0x2ed1b: 0x6c79e820, + 0x2ed1c: 0x6c79ea20, 0x2ed1d: 0x6c79ec20, 0x2ed1e: 0x6c79ee20, 0x2ed1f: 0x6c79f020, + 0x2ed20: 0x6c79f220, 0x2ed21: 0x6c79f420, 0x2ed22: 0x6c79f620, 0x2ed23: 0x6c79f820, + 0x2ed24: 0x6c79fa20, 0x2ed25: 0x6c79fc20, 0x2ed26: 0x6c79fe20, 0x2ed27: 0x6c7a0020, + 0x2ed28: 0x6c7a0220, 0x2ed29: 0x6c7a0420, 0x2ed2a: 0x6c7a0620, 0x2ed2b: 0x6c7a0820, + 0x2ed2c: 0x6c7a0a20, 0x2ed2d: 0x6c7a0c20, 0x2ed2e: 0x6c7a0e20, 0x2ed2f: 0x6c7a1020, + 0x2ed30: 0x6c7a1220, 0x2ed31: 0x6c7a1420, 0x2ed32: 0x6c7a1620, 0x2ed33: 0x6ca2ea20, + 0x2ed34: 0x6ca2ec20, 0x2ed35: 0x6ca2ee20, 0x2ed36: 0x6ca2f020, 0x2ed37: 0x6cd08c20, + 0x2ed38: 0x6ca2f220, 0x2ed39: 0x6c7a7220, 0x2ed3a: 0x6ca2f420, 0x2ed3b: 0x6ca2f620, + 0x2ed3c: 0x6ca2f820, 0x2ed3d: 0x6ca2fa20, 0x2ed3e: 0x6ca2fc20, 0x2ed3f: 0x6ca2fe20, + // Block 0xbb5, offset 0x2ed40 + 0x2ed40: 0x6ca30020, 0x2ed41: 0x6ca30220, 0x2ed42: 0x6ca30420, 0x2ed43: 0x6ca30620, + 0x2ed44: 0x6ca30820, 0x2ed45: 0x6ca30a20, 0x2ed46: 0x6ca30c20, 0x2ed47: 0x6ca30e20, + 0x2ed48: 0x6ca31020, 0x2ed49: 0x6c7a1820, 0x2ed4a: 0x6ca31220, 0x2ed4b: 0x6ca31420, + 0x2ed4c: 0x6ca31620, 0x2ed4d: 0x6ca31820, 0x2ed4e: 0x6ca31a20, 0x2ed4f: 0x6ca31c20, + 0x2ed50: 0x6ca31e20, 0x2ed51: 0x6ca32020, 0x2ed52: 0x6ca32220, 0x2ed53: 0x6ca32420, + 0x2ed54: 0x6cd08e20, 0x2ed55: 0x6cd09020, 0x2ed56: 0x6cd09220, 0x2ed57: 0x6cd09420, + 0x2ed58: 0x6cd09620, 0x2ed59: 0x6cd09820, 0x2ed5a: 0x6cd09a20, 0x2ed5b: 0x6cd09c20, + 0x2ed5c: 0x6cd09e20, 0x2ed5d: 0x6cd0a020, 0x2ed5e: 0x6cfe6220, 0x2ed5f: 0x6cd0a220, + 0x2ed60: 0x6cd0a420, 0x2ed61: 0x6cd0a620, 0x2ed62: 0x6cd0a820, 0x2ed63: 0x6cd0aa20, + 0x2ed64: 0x6cd0ac20, 0x2ed65: 0x6cd0ae20, 0x2ed66: 0x6cd0b020, 0x2ed67: 0x6cfe4c20, + 0x2ed68: 0x6cd0b220, 0x2ed69: 0x6cd0b420, 0x2ed6a: 0x6cd0b620, 0x2ed6b: 0x6cd0b820, + 0x2ed6c: 0x6cd0ba20, 0x2ed6d: 0x6cd0bc20, 0x2ed6e: 0x6cd0be20, 0x2ed6f: 0x6cd0c020, + 0x2ed70: 0x6cd0c220, 0x2ed71: 0x6cd0c420, 0x2ed72: 0x6cd0c620, 0x2ed73: 0x6cd0c820, + 0x2ed74: 0x6cd0ca20, 0x2ed75: 0x6cd0cc20, 0x2ed76: 0x6cd0ce20, 0x2ed77: 0x6cd0d020, + 0x2ed78: 0x6cd0d220, 0x2ed79: 0x6cd0d420, 0x2ed7a: 0x6cd0d620, 0x2ed7b: 0x6cd0d820, + 0x2ed7c: 0x6cd0da20, 0x2ed7d: 0x6cfe6420, 0x2ed7e: 0x6cfe6620, 0x2ed7f: 0x6cfe6820, + // Block 0xbb6, offset 0x2ed80 + 0x2ed80: 0x6cfe6a20, 0x2ed81: 0x6cfe6c20, 0x2ed82: 0x6cfe6e20, 0x2ed83: 0x6cfe7020, + 0x2ed84: 0x6cfe7220, 0x2ed85: 0x6cfe7420, 0x2ed86: 0x6cfe7620, 0x2ed87: 0x6cfe7820, + 0x2ed88: 0x6cfe7a20, 0x2ed89: 0x6cfe7c20, 0x2ed8a: 0x6cfe7e20, 0x2ed8b: 0x6cfe8020, + 0x2ed8c: 0x6cfe8220, 0x2ed8d: 0x6cfe8420, 0x2ed8e: 0x6cfe8620, 0x2ed8f: 0x6cfe8820, + 0x2ed90: 0x6cfe8a20, 0x2ed91: 0x6cfe8c20, 0x2ed92: 0x6cfe8e20, 0x2ed93: 0x6cfe9020, + 0x2ed94: 0x6cfe9220, 0x2ed95: 0x6cfe9420, 0x2ed96: 0x6cfe9620, 0x2ed97: 0x6cfe9820, + 0x2ed98: 0x6cfe9a20, 0x2ed99: 0x6cfe9c20, 0x2ed9a: 0x6cfe9e20, 0x2ed9b: 0x6cfea020, + 0x2ed9c: 0x6cfea220, 0x2ed9d: 0x6cfea420, 0x2ed9e: 0x6cfea620, 0x2ed9f: 0x6cfea820, + 0x2eda0: 0x6d2cea20, 0x2eda1: 0x6d2cec20, 0x2eda2: 0x6d2cee20, 0x2eda3: 0x6d2cf020, + 0x2eda4: 0x6d2cf220, 0x2eda5: 0x6d2cf420, 0x2eda6: 0x6d2cf620, 0x2eda7: 0x6d2cf820, + 0x2eda8: 0x6d2cfa20, 0x2eda9: 0x6d5a0620, 0x2edaa: 0x6d2cfc20, 0x2edab: 0x6d2cfe20, + 0x2edac: 0x6d5a0820, 0x2edad: 0x6d2d0020, 0x2edae: 0x6d2d0220, 0x2edaf: 0x6cff4020, + 0x2edb0: 0x6d2d0420, 0x2edb1: 0x6d2d0620, 0x2edb2: 0x6d2d0820, 0x2edb3: 0x6d2d0a20, + 0x2edb4: 0x6d2d0c20, 0x2edb5: 0x6d2d0e20, 0x2edb6: 0x6d2d1020, 0x2edb7: 0x6d2d1220, + 0x2edb8: 0x6d2d1420, 0x2edb9: 0x6d5a1e20, 0x2edba: 0x6d5a2020, 0x2edbb: 0x6d5a2220, + 0x2edbc: 0x6d5a2420, 0x2edbd: 0x6d5a2620, 0x2edbe: 0x6d5a2820, 0x2edbf: 0x6d84cc20, + // Block 0xbb7, offset 0x2edc0 + 0x2edc0: 0x6d5a2a20, 0x2edc1: 0x6d5a2c20, 0x2edc2: 0x6d5a2e20, 0x2edc3: 0x6d5a3020, + 0x2edc4: 0x6d5a3220, 0x2edc5: 0x6d5a3420, 0x2edc6: 0x6d5a3620, 0x2edc7: 0x6d5a3820, + 0x2edc8: 0x6d5a3a20, 0x2edc9: 0x6d5a3c20, 0x2edca: 0x6d5a3e20, 0x2edcb: 0x6d5a4020, + 0x2edcc: 0x6d5a4220, 0x2edcd: 0x6d84da20, 0x2edce: 0x6d5a4420, 0x2edcf: 0x6d84dc20, + 0x2edd0: 0x6da99a20, 0x2edd1: 0x6d84de20, 0x2edd2: 0x6d84e020, 0x2edd3: 0x6d5a4620, + 0x2edd4: 0x6d84e220, 0x2edd5: 0x6d84e420, 0x2edd6: 0x6d84e620, 0x2edd7: 0x6da99c20, + 0x2edd8: 0x6d84e820, 0x2edd9: 0x6d84ea20, 0x2edda: 0x6d84ec20, 0x2eddb: 0x6d84ee20, + 0x2eddc: 0x6d84f020, 0x2eddd: 0x6d84f220, 0x2edde: 0x6d84f420, 0x2eddf: 0x6d84f620, + 0x2ede0: 0x6d84f820, 0x2ede1: 0x6d84fa20, 0x2ede2: 0x6d856820, 0x2ede3: 0x6d84fc20, + 0x2ede4: 0x6d84fe20, 0x2ede5: 0x6da9a620, 0x2ede6: 0x6da9a820, 0x2ede7: 0x6dca8820, + 0x2ede8: 0x6da9aa20, 0x2ede9: 0x6da9ac20, 0x2edea: 0x6da9ae20, 0x2edeb: 0x6da9b020, + 0x2edec: 0x6da9b220, 0x2eded: 0x6da9b420, 0x2edee: 0x6da9b620, 0x2edef: 0x6da9b820, + 0x2edf0: 0x6da9ba20, 0x2edf1: 0x6da9bc20, 0x2edf2: 0x6da9be20, 0x2edf3: 0x6da9c020, + 0x2edf4: 0x6da9c220, 0x2edf5: 0x6dca8a20, 0x2edf6: 0x6dca8c20, 0x2edf7: 0x6de61c20, + 0x2edf8: 0x6dca8e20, 0x2edf9: 0x6dca9020, 0x2edfa: 0x6dfcfc20, 0x2edfb: 0x6dca9220, + 0x2edfc: 0x6dca9420, 0x2edfd: 0x6de61e20, 0x2edfe: 0x6dca9620, 0x2edff: 0x6dca9820, + // Block 0xbb8, offset 0x2ee00 + 0x2ee00: 0x6dca9a20, 0x2ee01: 0x6dca9c20, 0x2ee02: 0x6dca9e20, 0x2ee03: 0x6de62820, + 0x2ee04: 0x6de62a20, 0x2ee05: 0x6de62c20, 0x2ee06: 0x6de62e20, 0x2ee07: 0x6de63020, + 0x2ee08: 0x6de63220, 0x2ee09: 0x6de63420, 0x2ee0a: 0x6de63620, 0x2ee0b: 0x6de63820, + 0x2ee0c: 0x6dfd0020, 0x2ee0d: 0x6dfd0220, 0x2ee0e: 0x6dfd0420, 0x2ee0f: 0x6dfd0620, + 0x2ee10: 0x6dfd0820, 0x2ee11: 0x6dfd0a20, 0x2ee12: 0x6dfd0c20, 0x2ee13: 0x6e0fd620, + 0x2ee14: 0x6e0fd820, 0x2ee15: 0x6e1eb420, 0x2ee16: 0x6e0fda20, 0x2ee17: 0x6e1eb620, + 0x2ee18: 0x6e1eb820, 0x2ee19: 0x6e1eba20, 0x2ee1a: 0x6e2a1c20, 0x2ee1b: 0x6e32de20, + 0x2ee1c: 0x6c09fa20, 0x2ee1d: 0x6c3bac20, 0x2ee1e: 0x6c7a7820, 0x2ee1f: 0x6c7a7a20, + 0x2ee20: 0x6ca38020, 0x2ee21: 0x6cff4220, 0x2ee22: 0x6d856a20, 0x2ee23: 0x6de66820, + 0x2ee24: 0x6e1ec620, 0x2ee25: 0x6e32e420, 0x2ee26: 0x6c09fc20, 0x2ee27: 0x6c24a220, + 0x2ee28: 0x6c3bb620, 0x2ee29: 0x6c3bb820, 0x2ee2a: 0x6c57da20, 0x2ee2b: 0x6c57dc20, + 0x2ee2c: 0x6c57de20, 0x2ee2d: 0x6c57e020, 0x2ee2e: 0x6c57e220, 0x2ee2f: 0x6c57e420, + 0x2ee30: 0x6c57e620, 0x2ee31: 0x6c57e820, 0x2ee32: 0x6c57ea20, 0x2ee33: 0x6c7a9020, + 0x2ee34: 0x6c7a9220, 0x2ee35: 0x6c7a9420, 0x2ee36: 0x6ca39820, 0x2ee37: 0x6ca39a20, + 0x2ee38: 0x6ca39c20, 0x2ee39: 0x6cd17820, 0x2ee3a: 0x6cd17a20, 0x2ee3b: 0x6cd17c20, + 0x2ee3c: 0x6cd17e20, 0x2ee3d: 0x6cff6020, 0x2ee3e: 0x6cff6220, 0x2ee3f: 0x6cff6420, + // Block 0xbb9, offset 0x2ee40 + 0x2ee40: 0x6d2d9620, 0x2ee41: 0x6cff6620, 0x2ee42: 0x6d2da420, 0x2ee43: 0x6d2da620, + 0x2ee44: 0x6d2da820, 0x2ee45: 0x6d2daa20, 0x2ee46: 0x6d2dac20, 0x2ee47: 0x6d5acc20, + 0x2ee48: 0x6d5ace20, 0x2ee49: 0x6d5ad020, 0x2ee4a: 0x6d857a20, 0x2ee4b: 0x6d857c20, + 0x2ee4c: 0x6d857e20, 0x2ee4d: 0x6d858020, 0x2ee4e: 0x6d858220, 0x2ee4f: 0x6daa2020, + 0x2ee50: 0x6daa2220, 0x2ee51: 0x6daa2420, 0x2ee52: 0x6daa2620, 0x2ee53: 0x6dcaee20, + 0x2ee54: 0x6dcaf020, 0x2ee55: 0x6dcaf220, 0x2ee56: 0x6de66e20, 0x2ee57: 0x6e0ffa20, + 0x2ee58: 0x6c09fe20, 0x2ee59: 0x6c3bc420, 0x2ee5a: 0x6c57fe20, 0x2ee5b: 0x6ca3ba20, + 0x2ee5c: 0x6ca3bc20, 0x2ee5d: 0x6cff8a20, 0x2ee5e: 0x6cff8c20, 0x2ee5f: 0x6c0a0220, + 0x2ee60: 0x6c580a20, 0x2ee61: 0x6c7ab220, 0x2ee62: 0x6ca3be20, 0x2ee63: 0x6ca3c020, + 0x2ee64: 0x6cd1a420, 0x2ee65: 0x6cd1a620, 0x2ee66: 0x6cd1a820, 0x2ee67: 0x6d2dd620, + 0x2ee68: 0x6c0a0620, 0x2ee69: 0x6c0a0820, 0x2ee6a: 0x6c13d020, 0x2ee6b: 0x6c24aa20, + 0x2ee6c: 0x6c24ac20, 0x2ee6d: 0x6c581a20, 0x2ee6e: 0x6c581c20, 0x2ee6f: 0x6cd1b620, + 0x2ee70: 0x6c0a0a20, 0x2ee71: 0x6c0a0c20, 0x2ee72: 0x6c0a0e20, 0x2ee73: 0x6c0a1020, + 0x2ee74: 0x6c0a1220, 0x2ee75: 0x6c0a1420, 0x2ee76: 0x6c13d620, 0x2ee77: 0x6c24b620, + 0x2ee78: 0x6c24b820, 0x2ee79: 0x6c24ba20, 0x2ee7a: 0x6c24bc20, 0x2ee7b: 0x6c3be220, + 0x2ee7c: 0x6c24be20, 0x2ee7d: 0x6c3be420, 0x2ee7e: 0x6c3be620, 0x2ee7f: 0x6c3be820, + // Block 0xbba, offset 0x2ee80 + 0x2ee80: 0x6c3bea20, 0x2ee81: 0x6c3bec20, 0x2ee82: 0x6c3bee20, 0x2ee83: 0x6c3bf020, + 0x2ee84: 0x6c3bf220, 0x2ee85: 0x6c3bf420, 0x2ee86: 0x6c582420, 0x2ee87: 0x6c582620, + 0x2ee88: 0x6c582820, 0x2ee89: 0x6c582a20, 0x2ee8a: 0x6c582c20, 0x2ee8b: 0x6c582e20, + 0x2ee8c: 0x6c583020, 0x2ee8d: 0x6c583220, 0x2ee8e: 0x6c583420, 0x2ee8f: 0x6c583620, + 0x2ee90: 0x6c583820, 0x2ee91: 0x6c583a20, 0x2ee92: 0x6c583c20, 0x2ee93: 0x6c583e20, + 0x2ee94: 0x6c7abe20, 0x2ee95: 0x6c7ac020, 0x2ee96: 0x6c7ac220, 0x2ee97: 0x6c7ac420, + 0x2ee98: 0x6c7ac620, 0x2ee99: 0x6c7ac820, 0x2ee9a: 0x6c7aca20, 0x2ee9b: 0x6c7acc20, + 0x2ee9c: 0x6c7ace20, 0x2ee9d: 0x6c7ad020, 0x2ee9e: 0x6c7ad220, 0x2ee9f: 0x6c7ad420, + 0x2eea0: 0x6c7bac20, 0x2eea1: 0x6ca3d620, 0x2eea2: 0x6ca3d820, 0x2eea3: 0x6ca3da20, + 0x2eea4: 0x6ca3dc20, 0x2eea5: 0x6ca3de20, 0x2eea6: 0x6ca3e020, 0x2eea7: 0x6ca3e220, + 0x2eea8: 0x6ca89a20, 0x2eea9: 0x6ca3e420, 0x2eeaa: 0x6cd1be20, 0x2eeab: 0x6cd1c020, + 0x2eeac: 0x6cd1c220, 0x2eead: 0x6cd1c420, 0x2eeae: 0x6cd1c620, 0x2eeaf: 0x6cd1c820, + 0x2eeb0: 0x6ca3e620, 0x2eeb1: 0x6cd20620, 0x2eeb2: 0x6cd1ca20, 0x2eeb3: 0x6cd1cc20, + 0x2eeb4: 0x6cd1ce20, 0x2eeb5: 0x6cffaa20, 0x2eeb6: 0x6cffac20, 0x2eeb7: 0x6cffae20, + 0x2eeb8: 0x6cffb020, 0x2eeb9: 0x6cffb220, 0x2eeba: 0x6cffb420, 0x2eebb: 0x6d2de220, + 0x2eebc: 0x6d2de420, 0x2eebd: 0x6d2de620, 0x2eebe: 0x6d5b0420, 0x2eebf: 0x6d5b0620, + // Block 0xbbb, offset 0x2eec0 + 0x2eec0: 0x6d85a020, 0x2eec1: 0x6d85a220, 0x2eec2: 0x6d85a420, 0x2eec3: 0x6daa4620, + 0x2eec4: 0x6daa4820, 0x2eec5: 0x6dcb0e20, 0x2eec6: 0x6de68020, 0x2eec7: 0x6de68220, + 0x2eec8: 0x6dfd3620, 0x2eec9: 0x6dfd4820, 0x2eeca: 0x6e1ede20, 0x2eecb: 0x6c0a1a20, + 0x2eecc: 0x6c3c1420, 0x2eecd: 0x6c7b0e20, 0x2eece: 0x6cd20820, 0x2eecf: 0x6cd20a20, + 0x2eed0: 0x6d2e0420, 0x2eed1: 0x6d2e0620, 0x2eed2: 0x6c0a2020, 0x2eed3: 0x6c24d820, + 0x2eed4: 0x6c24da20, 0x2eed5: 0x6c24dc20, 0x2eed6: 0x6c24de20, 0x2eed7: 0x6c24e020, + 0x2eed8: 0x6c3c2020, 0x2eed9: 0x6c3c2220, 0x2eeda: 0x6c3c2420, 0x2eedb: 0x6c3c2620, + 0x2eedc: 0x6c3c2820, 0x2eedd: 0x6c3c2a20, 0x2eede: 0x6c3c2c20, 0x2eedf: 0x6c3c2e20, + 0x2eee0: 0x6c3c3020, 0x2eee1: 0x6c3c4220, 0x2eee2: 0x6c589c20, 0x2eee3: 0x6c589e20, + 0x2eee4: 0x6c58a020, 0x2eee5: 0x6c58a220, 0x2eee6: 0x6c58a420, 0x2eee7: 0x6c58a620, + 0x2eee8: 0x6c58a820, 0x2eee9: 0x6c58aa20, 0x2eeea: 0x6c58ac20, 0x2eeeb: 0x6c58ae20, + 0x2eeec: 0x6c58b020, 0x2eeed: 0x6c58b220, 0x2eeee: 0x6c58b420, 0x2eeef: 0x6c58b620, + 0x2eef0: 0x6c7b2c20, 0x2eef1: 0x6c7b2e20, 0x2eef2: 0x6c7b3020, 0x2eef3: 0x6c7b3220, + 0x2eef4: 0x6c7b3420, 0x2eef5: 0x6ca41a20, 0x2eef6: 0x6c7b3620, 0x2eef7: 0x6c7b3820, + 0x2eef8: 0x6c7b3a20, 0x2eef9: 0x6c7b3c20, 0x2eefa: 0x6c58b820, 0x2eefb: 0x6c7b3e20, + 0x2eefc: 0x6c7b4020, 0x2eefd: 0x6c7b4220, 0x2eefe: 0x6c7b4420, 0x2eeff: 0x6c7b4620, + // Block 0xbbc, offset 0x2ef00 + 0x2ef00: 0x6c7b4820, 0x2ef01: 0x6c7b4a20, 0x2ef02: 0x6c7b4c20, 0x2ef03: 0x6c7b4e20, + 0x2ef04: 0x6c7b5020, 0x2ef05: 0x6c7b5220, 0x2ef06: 0x6c7b5420, 0x2ef07: 0x6c7b5620, + 0x2ef08: 0x6c7b5820, 0x2ef09: 0x6c7b5a20, 0x2ef0a: 0x6ca42e20, 0x2ef0b: 0x6ca43020, + 0x2ef0c: 0x6ca43220, 0x2ef0d: 0x6ca43420, 0x2ef0e: 0x6ca43620, 0x2ef0f: 0x6ca43820, + 0x2ef10: 0x6ca43a20, 0x2ef11: 0x6ca43c20, 0x2ef12: 0x6ca43e20, 0x2ef13: 0x6ca44020, + 0x2ef14: 0x6ca44220, 0x2ef15: 0x6ca44420, 0x2ef16: 0x6ca44620, 0x2ef17: 0x6cd23020, + 0x2ef18: 0x6cd23220, 0x2ef19: 0x6cd23420, 0x2ef1a: 0x6cd23620, 0x2ef1b: 0x6cd23820, + 0x2ef1c: 0x6cd23a20, 0x2ef1d: 0x6cd23c20, 0x2ef1e: 0x6cd23e20, 0x2ef1f: 0x6cd24020, + 0x2ef20: 0x6cd24220, 0x2ef21: 0x6cd24420, 0x2ef22: 0x6cd24620, 0x2ef23: 0x6cd24820, + 0x2ef24: 0x6cd24a20, 0x2ef25: 0x6cd24c20, 0x2ef26: 0x6cd24e20, 0x2ef27: 0x6cd25020, + 0x2ef28: 0x6cd25220, 0x2ef29: 0x6cd25420, 0x2ef2a: 0x6cd25620, 0x2ef2b: 0x6cd25820, + 0x2ef2c: 0x6d000620, 0x2ef2d: 0x6d000820, 0x2ef2e: 0x6d000a20, 0x2ef2f: 0x6d000c20, + 0x2ef30: 0x6d000e20, 0x2ef31: 0x6d001020, 0x2ef32: 0x6d001220, 0x2ef33: 0x6d001420, + 0x2ef34: 0x6d001620, 0x2ef35: 0x6d001820, 0x2ef36: 0x6d001a20, 0x2ef37: 0x6d001c20, + 0x2ef38: 0x6d001e20, 0x2ef39: 0x6d002020, 0x2ef3a: 0x6d002220, 0x2ef3b: 0x6d002420, + 0x2ef3c: 0x6d002620, 0x2ef3d: 0x6d002820, 0x2ef3e: 0x6d002a20, 0x2ef3f: 0x6d002c20, + // Block 0xbbd, offset 0x2ef40 + 0x2ef40: 0x6d002e20, 0x2ef41: 0x6d003020, 0x2ef42: 0x6d003220, 0x2ef43: 0x6d003420, + 0x2ef44: 0x6d003620, 0x2ef45: 0x6d003820, 0x2ef46: 0x6d003a20, 0x2ef47: 0x6d2e2020, + 0x2ef48: 0x6d2e2220, 0x2ef49: 0x6d2e2420, 0x2ef4a: 0x6d2e2620, 0x2ef4b: 0x6d2e2820, + 0x2ef4c: 0x6d2e2a20, 0x2ef4d: 0x6d2e2c20, 0x2ef4e: 0x6d2e2e20, 0x2ef4f: 0x6d00b020, + 0x2ef50: 0x6d00b220, 0x2ef51: 0x6d2e3020, 0x2ef52: 0x6d2e3220, 0x2ef53: 0x6d2e3420, + 0x2ef54: 0x6d2e3620, 0x2ef55: 0x6d2e3820, 0x2ef56: 0x6d2e3a20, 0x2ef57: 0x6d2e3c20, + 0x2ef58: 0x6d2e3e20, 0x2ef59: 0x6d5b4a20, 0x2ef5a: 0x6d5b4c20, 0x2ef5b: 0x6d5b4e20, + 0x2ef5c: 0x6d5b5020, 0x2ef5d: 0x6d5b5220, 0x2ef5e: 0x6d5b5420, 0x2ef5f: 0x6d5b3020, + 0x2ef60: 0x6d5b5620, 0x2ef61: 0x6d5b5820, 0x2ef62: 0x6d5b5a20, 0x2ef63: 0x6d5b5c20, + 0x2ef64: 0x6d5b5e20, 0x2ef65: 0x6d5b6020, 0x2ef66: 0x6d5b6220, 0x2ef67: 0x6d2e4020, + 0x2ef68: 0x6d5b6420, 0x2ef69: 0x6d5b6620, 0x2ef6a: 0x6d5b6820, 0x2ef6b: 0x6d5b6a20, + 0x2ef6c: 0x6d85d420, 0x2ef6d: 0x6d85d620, 0x2ef6e: 0x6d85d820, 0x2ef6f: 0x6d85da20, + 0x2ef70: 0x6d85dc20, 0x2ef71: 0x6d85de20, 0x2ef72: 0x6d85e020, 0x2ef73: 0x6d85e220, + 0x2ef74: 0x6d85e420, 0x2ef75: 0x6d85e620, 0x2ef76: 0x6d85e820, 0x2ef77: 0x6d85ea20, + 0x2ef78: 0x6d85ec20, 0x2ef79: 0x6d85ee20, 0x2ef7a: 0x6d85f020, 0x2ef7b: 0x6d85f220, + 0x2ef7c: 0x6d85f420, 0x2ef7d: 0x6d85f620, 0x2ef7e: 0x6d85f820, 0x2ef7f: 0x6d85fa20, + // Block 0xbbe, offset 0x2ef80 + 0x2ef80: 0x6daa7420, 0x2ef81: 0x6daa7620, 0x2ef82: 0x6daa7820, 0x2ef83: 0x6daa7a20, + 0x2ef84: 0x6daa7c20, 0x2ef85: 0x6daa7e20, 0x2ef86: 0x6daa8020, 0x2ef87: 0x6daa8220, + 0x2ef88: 0x6daa8420, 0x2ef89: 0x6daa8620, 0x2ef8a: 0x6d85fc20, 0x2ef8b: 0x6daa8820, + 0x2ef8c: 0x6daa8a20, 0x2ef8d: 0x6daa8c20, 0x2ef8e: 0x6daa8e20, 0x2ef8f: 0x6dcb2c20, + 0x2ef90: 0x6dcb2e20, 0x2ef91: 0x6dcb3020, 0x2ef92: 0x6dcb3220, 0x2ef93: 0x6dcb3420, + 0x2ef94: 0x6dcb3620, 0x2ef95: 0x6dcb3820, 0x2ef96: 0x6dcb3a20, 0x2ef97: 0x6dcb3c20, + 0x2ef98: 0x6dcb3e20, 0x2ef99: 0x6dcb4020, 0x2ef9a: 0x6dcb4220, 0x2ef9b: 0x6dcb4420, + 0x2ef9c: 0x6dcb4620, 0x2ef9d: 0x6dcb4820, 0x2ef9e: 0x6dcb4a20, 0x2ef9f: 0x6de69c20, + 0x2efa0: 0x6de69e20, 0x2efa1: 0x6de6a020, 0x2efa2: 0x6dfd4c20, 0x2efa3: 0x6de6a220, + 0x2efa4: 0x6dcb8220, 0x2efa5: 0x6dfd4e20, 0x2efa6: 0x6dfd5020, 0x2efa7: 0x6e102420, + 0x2efa8: 0x6e102620, 0x2efa9: 0x6e102820, 0x2efaa: 0x6e102a20, 0x2efab: 0x6e102c20, + 0x2efac: 0x6e1eea20, 0x2efad: 0x6e1eec20, 0x2efae: 0x6e1eee20, 0x2efaf: 0x6e2a4a20, + 0x2efb0: 0x6e2a4c20, 0x2efb1: 0x6e32f220, 0x2efb2: 0x6e32f420, 0x2efb3: 0x6e3d8020, + 0x2efb4: 0x6e42ca20, 0x2efb5: 0x6e452a20, 0x2efb6: 0x6c0a2220, 0x2efb7: 0x6c3c4420, + 0x2efb8: 0x6c590220, 0x2efb9: 0x6c590420, 0x2efba: 0x6c590620, 0x2efbb: 0x6cd2b820, + 0x2efbc: 0x6cd2ba20, 0x2efbd: 0x6c0a2420, 0x2efbe: 0x6c13e020, 0x2efbf: 0x6c13e220, + // Block 0xbbf, offset 0x2efc0 + 0x2efc0: 0x6c24fa20, 0x2efc1: 0x6c24fc20, 0x2efc2: 0x6c24fe20, 0x2efc3: 0x6c250020, + 0x2efc4: 0x6c3c4620, 0x2efc5: 0x6c590e20, 0x2efc6: 0x6c591020, 0x2efc7: 0x6c591220, + 0x2efc8: 0x6c591420, 0x2efc9: 0x6ca48c20, 0x2efca: 0x6c7bae20, 0x2efcb: 0x6c7bb020, + 0x2efcc: 0x6c7bb220, 0x2efcd: 0x6c7bb420, 0x2efce: 0x6ca49220, 0x2efcf: 0x6ca49420, + 0x2efd0: 0x6ca49620, 0x2efd1: 0x6ca49820, 0x2efd2: 0x6cd2c420, 0x2efd3: 0x6cd2c620, + 0x2efd4: 0x6cd2c820, 0x2efd5: 0x6cd2ca20, 0x2efd6: 0x6cd2cc20, 0x2efd7: 0x6d00bc20, + 0x2efd8: 0x6d00be20, 0x2efd9: 0x6d00c020, 0x2efda: 0x6d5bde20, 0x2efdb: 0x6d5be020, + 0x2efdc: 0x6d5be220, 0x2efdd: 0x6d5be420, 0x2efde: 0x6d5be620, 0x2efdf: 0x6d865420, + 0x2efe0: 0x6d865620, 0x2efe1: 0x6d865820, 0x2efe2: 0x6dab0020, 0x2efe3: 0x6dab0220, + 0x2efe4: 0x6dab0420, 0x2efe5: 0x6dab0620, 0x2efe6: 0x6dcb8420, 0x2efe7: 0x6dcb8620, + 0x2efe8: 0x6dcb8820, 0x2efe9: 0x6de6de20, 0x2efea: 0x6dfd7420, 0x2efeb: 0x6dfd7620, + 0x2efec: 0x6e104620, 0x2efed: 0x6e1f0020, 0x2efee: 0x6c0a2620, 0x2efef: 0x6c3c5620, + 0x2eff0: 0x6c7bd820, 0x2eff1: 0x6c7bda20, 0x2eff2: 0x6ca4ac20, 0x2eff3: 0x6cd2f020, + 0x2eff4: 0x6cd2f220, 0x2eff5: 0x6d00e820, 0x2eff6: 0x6d2ecc20, 0x2eff7: 0x6d2ece20, + 0x2eff8: 0x6d2ed020, 0x2eff9: 0x6d2ed220, 0x2effa: 0x6d5bfc20, 0x2effb: 0x6d866620, + 0x2effc: 0x6dab1620, 0x2effd: 0x6dcb9420, 0x2effe: 0x6dfd8220, 0x2efff: 0x6c0a2820, + // Block 0xbc0, offset 0x2f000 + 0x2f000: 0x6c250c20, 0x2f001: 0x6c250e20, 0x2f002: 0x6c3c6820, 0x2f003: 0x6c595220, + 0x2f004: 0x6c595420, 0x2f005: 0x6c595620, 0x2f006: 0x6c595820, 0x2f007: 0x6c595a20, + 0x2f008: 0x6c595c20, 0x2f009: 0x6c7bf620, 0x2f00a: 0x6c7bf820, 0x2f00b: 0x6c7bfa20, + 0x2f00c: 0x6c7bfc20, 0x2f00d: 0x6c7bfe20, 0x2f00e: 0x6c7c0020, 0x2f00f: 0x6c7c0220, + 0x2f010: 0x6c7c0420, 0x2f011: 0x6c7c0620, 0x2f012: 0x6ca4c220, 0x2f013: 0x6ca4c420, + 0x2f014: 0x6ca4c620, 0x2f015: 0x6ca4c820, 0x2f016: 0x6ca4ca20, 0x2f017: 0x6ca4cc20, + 0x2f018: 0x6ca4ce20, 0x2f019: 0x6cd30c20, 0x2f01a: 0x6cd30e20, 0x2f01b: 0x6ca4d020, + 0x2f01c: 0x6cd31020, 0x2f01d: 0x6d010c20, 0x2f01e: 0x6d010e20, 0x2f01f: 0x6d011020, + 0x2f020: 0x6d2ef420, 0x2f021: 0x6d2ef620, 0x2f022: 0x6d2ef820, 0x2f023: 0x6d2efa20, + 0x2f024: 0x6d5c0c20, 0x2f025: 0x6d868220, 0x2f026: 0x6d868420, 0x2f027: 0x6d868620, + 0x2f028: 0x6dab2020, 0x2f029: 0x6dab2220, 0x2f02a: 0x6dab2420, 0x2f02b: 0x6dcba820, + 0x2f02c: 0x6dcbaa20, 0x2f02d: 0x6dfd8e20, 0x2f02e: 0x6c0a2a20, 0x2f02f: 0x6c251820, + 0x2f030: 0x6c3c8020, 0x2f031: 0x6c3c8220, 0x2f032: 0x6c3c8420, 0x2f033: 0x6c3c8620, + 0x2f034: 0x6c3c8820, 0x2f035: 0x6c3c8a20, 0x2f036: 0x6c598820, 0x2f037: 0x6c598a20, + 0x2f038: 0x6c598c20, 0x2f039: 0x6c598e20, 0x2f03a: 0x6c599020, 0x2f03b: 0x6c599220, + 0x2f03c: 0x6c599420, 0x2f03d: 0x6c599620, 0x2f03e: 0x6c599820, 0x2f03f: 0x6c599a20, + // Block 0xbc1, offset 0x2f040 + 0x2f040: 0x6c599c20, 0x2f041: 0x6c599e20, 0x2f042: 0x6c59a020, 0x2f043: 0x6c59a220, + 0x2f044: 0x6c59a420, 0x2f045: 0x6c59a620, 0x2f046: 0x6c59a820, 0x2f047: 0x6c59aa20, + 0x2f048: 0x6c59ac20, 0x2f049: 0x6c59ae20, 0x2f04a: 0x6c59b020, 0x2f04b: 0x6c59b220, + 0x2f04c: 0x6c59b420, 0x2f04d: 0x6c59b620, 0x2f04e: 0x6c7c3e20, 0x2f04f: 0x6c7c4020, + 0x2f050: 0x6c7c4220, 0x2f051: 0x6c7c4420, 0x2f052: 0x6c7c4620, 0x2f053: 0x6c7c4820, + 0x2f054: 0x6c7c4a20, 0x2f055: 0x6c7c4c20, 0x2f056: 0x6c7c4e20, 0x2f057: 0x6c7c5020, + 0x2f058: 0x6c7c5220, 0x2f059: 0x6c7c5420, 0x2f05a: 0x6c7c5620, 0x2f05b: 0x6c7c5820, + 0x2f05c: 0x6c7c5a20, 0x2f05d: 0x6c7c5c20, 0x2f05e: 0x6c7c5e20, 0x2f05f: 0x6c7c6020, + 0x2f060: 0x6c7c6220, 0x2f061: 0x6c7c6420, 0x2f062: 0x6c7c6620, 0x2f063: 0x6c7c6820, + 0x2f064: 0x6c7c6a20, 0x2f065: 0x6ca4ee20, 0x2f066: 0x6ca4f020, 0x2f067: 0x6c7c6c20, + 0x2f068: 0x6c7c6e20, 0x2f069: 0x6c7c7020, 0x2f06a: 0x6c7c7220, 0x2f06b: 0x6c7c7420, + 0x2f06c: 0x6c7c7620, 0x2f06d: 0x6ca50220, 0x2f06e: 0x6ca50420, 0x2f06f: 0x6ca50620, + 0x2f070: 0x6ca50820, 0x2f071: 0x6ca50a20, 0x2f072: 0x6ca50c20, 0x2f073: 0x6ca50e20, + 0x2f074: 0x6ca51020, 0x2f075: 0x6ca51220, 0x2f076: 0x6ca51420, 0x2f077: 0x6ca51620, + 0x2f078: 0x6ca51820, 0x2f079: 0x6ca51a20, 0x2f07a: 0x6ca51c20, 0x2f07b: 0x6ca51e20, + 0x2f07c: 0x6ca52020, 0x2f07d: 0x6ca52220, 0x2f07e: 0x6ca52420, 0x2f07f: 0x6c7c7820, + // Block 0xbc2, offset 0x2f080 + 0x2f080: 0x6ca59220, 0x2f081: 0x6ca52620, 0x2f082: 0x6cd35020, 0x2f083: 0x6cd35220, + 0x2f084: 0x6cd35420, 0x2f085: 0x6cd35620, 0x2f086: 0x6cd35820, 0x2f087: 0x6cd35a20, + 0x2f088: 0x6cd35c20, 0x2f089: 0x6cd35e20, 0x2f08a: 0x6cd36020, 0x2f08b: 0x6cd36220, + 0x2f08c: 0x6cd36420, 0x2f08d: 0x6cd36620, 0x2f08e: 0x6cd36820, 0x2f08f: 0x6cd36a20, + 0x2f090: 0x6cd36c20, 0x2f091: 0x6cd36e20, 0x2f092: 0x6d014220, 0x2f093: 0x6d014420, + 0x2f094: 0x6d014620, 0x2f095: 0x6d014820, 0x2f096: 0x6d014a20, 0x2f097: 0x6d014c20, + 0x2f098: 0x6d014e20, 0x2f099: 0x6d015020, 0x2f09a: 0x6d015220, 0x2f09b: 0x6d015420, + 0x2f09c: 0x6d015620, 0x2f09d: 0x6d015820, 0x2f09e: 0x6d015a20, 0x2f09f: 0x6d015c20, + 0x2f0a0: 0x6d015e20, 0x2f0a1: 0x6d01f620, 0x2f0a2: 0x6d016020, 0x2f0a3: 0x6d016220, + 0x2f0a4: 0x6d016420, 0x2f0a5: 0x6d016620, 0x2f0a6: 0x6d016820, 0x2f0a7: 0x6d016a20, + 0x2f0a8: 0x6d016c20, 0x2f0a9: 0x6d016e20, 0x2f0aa: 0x6d017020, 0x2f0ab: 0x6d017220, + 0x2f0ac: 0x6d017420, 0x2f0ad: 0x6d017620, 0x2f0ae: 0x6d2f2220, 0x2f0af: 0x6d2f2420, + 0x2f0b0: 0x6d2f2620, 0x2f0b1: 0x6d2f2820, 0x2f0b2: 0x6d2f2a20, 0x2f0b3: 0x6d2f2c20, + 0x2f0b4: 0x6d2f2e20, 0x2f0b5: 0x6d2f3020, 0x2f0b6: 0x6d2f3220, 0x2f0b7: 0x6d2f3420, + 0x2f0b8: 0x6d2f3620, 0x2f0b9: 0x6d01f820, 0x2f0ba: 0x6d2f3820, 0x2f0bb: 0x6d2f3a20, + 0x2f0bc: 0x6d2f3c20, 0x2f0bd: 0x6d2f3e20, 0x2f0be: 0x6d2f4020, 0x2f0bf: 0x6d2f4220, + // Block 0xbc3, offset 0x2f0c0 + 0x2f0c0: 0x6d2f4420, 0x2f0c1: 0x6d2f4620, 0x2f0c2: 0x6d2f4820, 0x2f0c3: 0x6d2f4a20, + 0x2f0c4: 0x6d2f4c20, 0x2f0c5: 0x6d2f4e20, 0x2f0c6: 0x6d2f5020, 0x2f0c7: 0x6d5c3e20, + 0x2f0c8: 0x6d5c4020, 0x2f0c9: 0x6d5c4220, 0x2f0ca: 0x6d5c4420, 0x2f0cb: 0x6d5c4620, + 0x2f0cc: 0x6d5c4820, 0x2f0cd: 0x6d5c4a20, 0x2f0ce: 0x6d5c4c20, 0x2f0cf: 0x6d5c4e20, + 0x2f0d0: 0x6d5c5020, 0x2f0d1: 0x6d5c5220, 0x2f0d2: 0x6d5c5420, 0x2f0d3: 0x6d5c5620, + 0x2f0d4: 0x6d86c020, 0x2f0d5: 0x6d86c220, 0x2f0d6: 0x6d86c420, 0x2f0d7: 0x6d86c620, + 0x2f0d8: 0x6d86c820, 0x2f0d9: 0x6d86ca20, 0x2f0da: 0x6d86cc20, 0x2f0db: 0x6d86ce20, + 0x2f0dc: 0x6d86d020, 0x2f0dd: 0x6d86d220, 0x2f0de: 0x6d86d420, 0x2f0df: 0x6d86d620, + 0x2f0e0: 0x6d86d820, 0x2f0e1: 0x6d86da20, 0x2f0e2: 0x6d86dc20, 0x2f0e3: 0x6d86de20, + 0x2f0e4: 0x6dab6020, 0x2f0e5: 0x6d875220, 0x2f0e6: 0x6dab6220, 0x2f0e7: 0x6dab6420, + 0x2f0e8: 0x6dab6620, 0x2f0e9: 0x6dab6820, 0x2f0ea: 0x6dab6a20, 0x2f0eb: 0x6dab6c20, + 0x2f0ec: 0x6dab6e20, 0x2f0ed: 0x6dab7020, 0x2f0ee: 0x6dab7220, 0x2f0ef: 0x6dab7420, + 0x2f0f0: 0x6dab7620, 0x2f0f1: 0x6dab7820, 0x2f0f2: 0x6dab7a20, 0x2f0f3: 0x6dab7c20, + 0x2f0f4: 0x6dab7e20, 0x2f0f5: 0x6dab8020, 0x2f0f6: 0x6dab8220, 0x2f0f7: 0x6dab8420, + 0x2f0f8: 0x6dcbcc20, 0x2f0f9: 0x6dcbce20, 0x2f0fa: 0x6dcbd020, 0x2f0fb: 0x6dcbd220, + 0x2f0fc: 0x6dcbd420, 0x2f0fd: 0x6dcbd620, 0x2f0fe: 0x6dcbd820, 0x2f0ff: 0x6dcbda20, + // Block 0xbc4, offset 0x2f100 + 0x2f100: 0x6dcbdc20, 0x2f101: 0x6dcbde20, 0x2f102: 0x6dcbe020, 0x2f103: 0x6de70c20, + 0x2f104: 0x6de70e20, 0x2f105: 0x6de71020, 0x2f106: 0x6de71220, 0x2f107: 0x6de71420, + 0x2f108: 0x6de71620, 0x2f109: 0x6de71820, 0x2f10a: 0x6de71a20, 0x2f10b: 0x6dfdae20, + 0x2f10c: 0x6dfdb020, 0x2f10d: 0x6dfdb220, 0x2f10e: 0x6dfdb420, 0x2f10f: 0x6dfdb620, + 0x2f110: 0x6e106020, 0x2f111: 0x6e106220, 0x2f112: 0x6e106420, 0x2f113: 0x6e106620, + 0x2f114: 0x6e2a6c20, 0x2f115: 0x6e331420, 0x2f116: 0x6e332020, 0x2f117: 0x6e331620, + 0x2f118: 0x6e393a20, 0x2f119: 0x6e393c20, 0x2f11a: 0x6e3d8a20, 0x2f11b: 0x6c0a2c20, + 0x2f11c: 0x6c5a1c20, 0x2f11d: 0x6c7cd620, 0x2f11e: 0x6cd3f420, 0x2f11f: 0x6cd3f620, + 0x2f120: 0x6d01fa20, 0x2f121: 0x6e394020, 0x2f122: 0x6c0a2e20, 0x2f123: 0x6c253220, + 0x2f124: 0x6c3cb620, 0x2f125: 0x6c3cb820, 0x2f126: 0x6c5a2420, 0x2f127: 0x6c5a2620, + 0x2f128: 0x6c5a2820, 0x2f129: 0x6c7ce820, 0x2f12a: 0x6ca59e20, 0x2f12b: 0x6ca5a020, + 0x2f12c: 0x6cd40c20, 0x2f12d: 0x6cd40e20, 0x2f12e: 0x6d020820, 0x2f12f: 0x6dabf820, + 0x2f130: 0x6dabfa20, 0x2f131: 0x6de76020, 0x2f132: 0x6dfde820, 0x2f133: 0x6c0a3020, + 0x2f134: 0x6c253a20, 0x2f135: 0x6c253c20, 0x2f136: 0x6c253e20, 0x2f137: 0x6c3cc020, + 0x2f138: 0x6c3cc220, 0x2f139: 0x6c3cc420, 0x2f13a: 0x6c3cc620, 0x2f13b: 0x6c3cc820, + 0x2f13c: 0x6c3cca20, 0x2f13d: 0x6c3ccc20, 0x2f13e: 0x6c3cce20, 0x2f13f: 0x6c3cd020, + // Block 0xbc5, offset 0x2f140 + 0x2f140: 0x6c3cd220, 0x2f141: 0x6c3cd420, 0x2f142: 0x6c5a4820, 0x2f143: 0x6c5a4a20, + 0x2f144: 0x6c5a4c20, 0x2f145: 0x6c5a4e20, 0x2f146: 0x6c5a5020, 0x2f147: 0x6c5a5220, + 0x2f148: 0x6c5a5420, 0x2f149: 0x6c5a5620, 0x2f14a: 0x6c5a5820, 0x2f14b: 0x6c5a5a20, + 0x2f14c: 0x6c5a5c20, 0x2f14d: 0x6c5a5e20, 0x2f14e: 0x6c5a6020, 0x2f14f: 0x6c5a6220, + 0x2f150: 0x6c5a6420, 0x2f151: 0x6c5a6620, 0x2f152: 0x6c5a6820, 0x2f153: 0x6c5a6a20, + 0x2f154: 0x6c5a6c20, 0x2f155: 0x6c5a6e20, 0x2f156: 0x6c5a7020, 0x2f157: 0x6c5a7220, + 0x2f158: 0x6c5a7420, 0x2f159: 0x6c5a7620, 0x2f15a: 0x6c5a7820, 0x2f15b: 0x6c5a7a20, + 0x2f15c: 0x6c5a7c20, 0x2f15d: 0x6c7d1220, 0x2f15e: 0x6c7d1420, 0x2f15f: 0x6c7d1620, + 0x2f160: 0x6c7d1820, 0x2f161: 0x6c7d1a20, 0x2f162: 0x6c7d1c20, 0x2f163: 0x6c7d1e20, + 0x2f164: 0x6c7d2020, 0x2f165: 0x6c7d2220, 0x2f166: 0x6ca5ce20, 0x2f167: 0x6c7d2420, + 0x2f168: 0x6c7d2620, 0x2f169: 0x6c7d2820, 0x2f16a: 0x6c7d2a20, 0x2f16b: 0x6c7d2c20, + 0x2f16c: 0x6c7d2e20, 0x2f16d: 0x6c7d3020, 0x2f16e: 0x6c7d3220, 0x2f16f: 0x6c7d3420, + 0x2f170: 0x6c7d3620, 0x2f171: 0x6c7d3820, 0x2f172: 0x6c7d3a20, 0x2f173: 0x6c7d3c20, + 0x2f174: 0x6c7d3e20, 0x2f175: 0x6c7d4020, 0x2f176: 0x6c7d4220, 0x2f177: 0x6c7d4420, + 0x2f178: 0x6c7d4620, 0x2f179: 0x6c7d4820, 0x2f17a: 0x6c7d4a20, 0x2f17b: 0x6c7d4c20, + 0x2f17c: 0x6c7d4e20, 0x2f17d: 0x6c7d5020, 0x2f17e: 0x6c7d5220, 0x2f17f: 0x6c7d5420, + // Block 0xbc6, offset 0x2f180 + 0x2f180: 0x6c7d5620, 0x2f181: 0x6c7d5820, 0x2f182: 0x6ca5de20, 0x2f183: 0x6ca5e020, + 0x2f184: 0x6ca5e220, 0x2f185: 0x6ca5e420, 0x2f186: 0x6ca5e620, 0x2f187: 0x6ca5e820, + 0x2f188: 0x6ca5ea20, 0x2f189: 0x6ca5ec20, 0x2f18a: 0x6ca5ee20, 0x2f18b: 0x6ca5f020, + 0x2f18c: 0x6ca5f220, 0x2f18d: 0x6ca5f420, 0x2f18e: 0x6ca5f620, 0x2f18f: 0x6ca5f820, + 0x2f190: 0x6ca5fa20, 0x2f191: 0x6ca5fc20, 0x2f192: 0x6ca5fe20, 0x2f193: 0x6ca60020, + 0x2f194: 0x6ca60220, 0x2f195: 0x6ca60420, 0x2f196: 0x6ca60620, 0x2f197: 0x6ca60820, + 0x2f198: 0x6ca60a20, 0x2f199: 0x6ca60c20, 0x2f19a: 0x6ca60e20, 0x2f19b: 0x6ca61020, + 0x2f19c: 0x6cd43420, 0x2f19d: 0x6cd43620, 0x2f19e: 0x6cd43820, 0x2f19f: 0x6cd43a20, + 0x2f1a0: 0x6cd43c20, 0x2f1a1: 0x6cd43e20, 0x2f1a2: 0x6cd44020, 0x2f1a3: 0x6cd44220, + 0x2f1a4: 0x6cd44420, 0x2f1a5: 0x6cd44620, 0x2f1a6: 0x6cd44820, 0x2f1a7: 0x6cd44a20, + 0x2f1a8: 0x6cd44c20, 0x2f1a9: 0x6cd44e20, 0x2f1aa: 0x6cd45020, 0x2f1ab: 0x6cd45220, + 0x2f1ac: 0x6cd45420, 0x2f1ad: 0x6cd45620, 0x2f1ae: 0x6cd45820, 0x2f1af: 0x6cd45a20, + 0x2f1b0: 0x6cd45c20, 0x2f1b1: 0x6cd45e20, 0x2f1b2: 0x6cd46020, 0x2f1b3: 0x6cd46220, + 0x2f1b4: 0x6cd46420, 0x2f1b5: 0x6cd46620, 0x2f1b6: 0x6cd46820, 0x2f1b7: 0x6cd46a20, + 0x2f1b8: 0x6d025220, 0x2f1b9: 0x6d025420, 0x2f1ba: 0x6d025620, 0x2f1bb: 0x6d025820, + 0x2f1bc: 0x6d025a20, 0x2f1bd: 0x6d025c20, 0x2f1be: 0x6d300e20, 0x2f1bf: 0x6d025e20, + // Block 0xbc7, offset 0x2f1c0 + 0x2f1c0: 0x6d026020, 0x2f1c1: 0x6d026220, 0x2f1c2: 0x6d026420, 0x2f1c3: 0x6d026620, + 0x2f1c4: 0x6d026820, 0x2f1c5: 0x6d026a20, 0x2f1c6: 0x6d026c20, 0x2f1c7: 0x6d026e20, + 0x2f1c8: 0x6d027020, 0x2f1c9: 0x6d027220, 0x2f1ca: 0x6d027420, 0x2f1cb: 0x6d027620, + 0x2f1cc: 0x6d027820, 0x2f1cd: 0x6d027a20, 0x2f1ce: 0x6d027c20, 0x2f1cf: 0x6d027e20, + 0x2f1d0: 0x6d028020, 0x2f1d1: 0x6d028220, 0x2f1d2: 0x6d028420, 0x2f1d3: 0x6d028620, + 0x2f1d4: 0x6d028820, 0x2f1d5: 0x6d028a20, 0x2f1d6: 0x6d028c20, 0x2f1d7: 0x6d028e20, + 0x2f1d8: 0x6d029020, 0x2f1d9: 0x6d029220, 0x2f1da: 0x6d029420, 0x2f1db: 0x6d029620, + 0x2f1dc: 0x6d029820, 0x2f1dd: 0x6d301020, 0x2f1de: 0x6d301220, 0x2f1df: 0x6d301420, + 0x2f1e0: 0x6d301620, 0x2f1e1: 0x6d301820, 0x2f1e2: 0x6d301a20, 0x2f1e3: 0x6d301c20, + 0x2f1e4: 0x6d301e20, 0x2f1e5: 0x6d302020, 0x2f1e6: 0x6d302220, 0x2f1e7: 0x6d302420, + 0x2f1e8: 0x6d302620, 0x2f1e9: 0x6d302820, 0x2f1ea: 0x6d302a20, 0x2f1eb: 0x6d302c20, + 0x2f1ec: 0x6d302e20, 0x2f1ed: 0x6d303020, 0x2f1ee: 0x6d303220, 0x2f1ef: 0x6d303420, + 0x2f1f0: 0x6d029a20, 0x2f1f1: 0x6d303620, 0x2f1f2: 0x6d303820, 0x2f1f3: 0x6d303a20, + 0x2f1f4: 0x6d303c20, 0x2f1f5: 0x6d303e20, 0x2f1f6: 0x6d304020, 0x2f1f7: 0x6d304220, + 0x2f1f8: 0x6d304420, 0x2f1f9: 0x6d304620, 0x2f1fa: 0x6d5d0620, 0x2f1fb: 0x6d5d0820, + 0x2f1fc: 0x6d5d0a20, 0x2f1fd: 0x6d5d0c20, 0x2f1fe: 0x6d5d0e20, 0x2f1ff: 0x6d5d1020, + // Block 0xbc8, offset 0x2f200 + 0x2f200: 0x6d5d1220, 0x2f201: 0x6d304820, 0x2f202: 0x6d5d1420, 0x2f203: 0x6d5d1620, + 0x2f204: 0x6d5d1820, 0x2f205: 0x6d5d1a20, 0x2f206: 0x6d5d1c20, 0x2f207: 0x6d5d1e20, + 0x2f208: 0x6d5d2020, 0x2f209: 0x6d5d2220, 0x2f20a: 0x6d5d2420, 0x2f20b: 0x6d5d2620, + 0x2f20c: 0x6d5d2820, 0x2f20d: 0x6d5d2a20, 0x2f20e: 0x6d5d2c20, 0x2f20f: 0x6d5d2e20, + 0x2f210: 0x6d5d3020, 0x2f211: 0x6d5d3220, 0x2f212: 0x6d5d3420, 0x2f213: 0x6d5d3620, + 0x2f214: 0x6d5d3820, 0x2f215: 0x6d5d3a20, 0x2f216: 0x6d876620, 0x2f217: 0x6d5d3c20, + 0x2f218: 0x6d5d3e20, 0x2f219: 0x6d5d4020, 0x2f21a: 0x6d877a20, 0x2f21b: 0x6d877c20, + 0x2f21c: 0x6d876820, 0x2f21d: 0x6d877e20, 0x2f21e: 0x6d878020, 0x2f21f: 0x6d878220, + 0x2f220: 0x6d878420, 0x2f221: 0x6d878620, 0x2f222: 0x6d878820, 0x2f223: 0x6d878a20, + 0x2f224: 0x6d5d4220, 0x2f225: 0x6d878c20, 0x2f226: 0x6d878e20, 0x2f227: 0x6d879020, + 0x2f228: 0x6d879220, 0x2f229: 0x6d879420, 0x2f22a: 0x6d879620, 0x2f22b: 0x6d879820, + 0x2f22c: 0x6d879a20, 0x2f22d: 0x6d879c20, 0x2f22e: 0x6d879e20, 0x2f22f: 0x6dac1c20, + 0x2f230: 0x6dac1e20, 0x2f231: 0x6dac2020, 0x2f232: 0x6dac2220, 0x2f233: 0x6dac2420, + 0x2f234: 0x6dac2620, 0x2f235: 0x6dac2820, 0x2f236: 0x6dac2a20, 0x2f237: 0x6dac2c20, + 0x2f238: 0x6dac2e20, 0x2f239: 0x6dac3020, 0x2f23a: 0x6dac3220, 0x2f23b: 0x6dac3420, + 0x2f23c: 0x6dac3620, 0x2f23d: 0x6dac3820, 0x2f23e: 0x6dac3a20, 0x2f23f: 0x6dac3c20, + // Block 0xbc9, offset 0x2f240 + 0x2f240: 0x6dac3e20, 0x2f241: 0x6dac4020, 0x2f242: 0x6dac4220, 0x2f243: 0x6dac4420, + 0x2f244: 0x6dac4620, 0x2f245: 0x6dac4820, 0x2f246: 0x6dcc5020, 0x2f247: 0x6dcc5220, + 0x2f248: 0x6dcc5420, 0x2f249: 0x6dcc5620, 0x2f24a: 0x6dcc5820, 0x2f24b: 0x6dcc5a20, + 0x2f24c: 0x6dcc5c20, 0x2f24d: 0x6dcc5e20, 0x2f24e: 0x6dcc6020, 0x2f24f: 0x6dcc6220, + 0x2f250: 0x6dcc6420, 0x2f251: 0x6dcc6620, 0x2f252: 0x6dcc6820, 0x2f253: 0x6dcc6a20, + 0x2f254: 0x6dcc6c20, 0x2f255: 0x6dcc6e20, 0x2f256: 0x6dcc7020, 0x2f257: 0x6de76c20, + 0x2f258: 0x6de76e20, 0x2f259: 0x6de77020, 0x2f25a: 0x6de77220, 0x2f25b: 0x6de77420, + 0x2f25c: 0x6de77620, 0x2f25d: 0x6de77820, 0x2f25e: 0x6de77a20, 0x2f25f: 0x6de77c20, + 0x2f260: 0x6de77e20, 0x2f261: 0x6de78020, 0x2f262: 0x6dfdf220, 0x2f263: 0x6dfdf420, + 0x2f264: 0x6dfdf620, 0x2f265: 0x6dfdf820, 0x2f266: 0x6dfdfa20, 0x2f267: 0x6dfdfc20, + 0x2f268: 0x6dfdfe20, 0x2f269: 0x6dfe0020, 0x2f26a: 0x6dfe0220, 0x2f26b: 0x6dfe0420, + 0x2f26c: 0x6dfe0620, 0x2f26d: 0x6e109420, 0x2f26e: 0x6e109620, 0x2f26f: 0x6e109820, + 0x2f270: 0x6e109a20, 0x2f271: 0x6e109c20, 0x2f272: 0x6e109e20, 0x2f273: 0x6e10a020, + 0x2f274: 0x6e10a220, 0x2f275: 0x6e1f3820, 0x2f276: 0x6e2a8820, 0x2f277: 0x6e2a8a20, + 0x2f278: 0x6e332620, 0x2f279: 0x6e394220, 0x2f27a: 0x6c0a3420, 0x2f27b: 0x6c04fe20, + 0x2f27c: 0x6c13f620, 0x2f27d: 0x6c254e20, 0x2f27e: 0x6c3cee20, 0x2f27f: 0x6c3cf020, + // Block 0xbca, offset 0x2f280 + 0x2f280: 0x6c3cf220, 0x2f281: 0x6c3cf420, 0x2f282: 0x6c3cf620, 0x2f283: 0x6c3cf820, + 0x2f284: 0x6c5ac620, 0x2f285: 0x6c5ac820, 0x2f286: 0x6c5aca20, 0x2f287: 0x6c5acc20, + 0x2f288: 0x6c5ace20, 0x2f289: 0x6c5ad020, 0x2f28a: 0x6c5ad220, 0x2f28b: 0x6c5ad420, + 0x2f28c: 0x6c5ad620, 0x2f28d: 0x6c5ad820, 0x2f28e: 0x6c5ada20, 0x2f28f: 0x6c7dc420, + 0x2f290: 0x6c7dc620, 0x2f291: 0x6c7dc820, 0x2f292: 0x6c7dca20, 0x2f293: 0x6c7dcc20, + 0x2f294: 0x6c7dce20, 0x2f295: 0x6c7dd020, 0x2f296: 0x6c7dd220, 0x2f297: 0x6c7dd420, + 0x2f298: 0x6c7dd620, 0x2f299: 0x6c7dd820, 0x2f29a: 0x6c7dda20, 0x2f29b: 0x6c7ddc20, + 0x2f29c: 0x6c7dde20, 0x2f29d: 0x6c7de020, 0x2f29e: 0x6c7de220, 0x2f29f: 0x6c7de420, + 0x2f2a0: 0x6c7de620, 0x2f2a1: 0x6ca68a20, 0x2f2a2: 0x6c7de820, 0x2f2a3: 0x6ca69220, + 0x2f2a4: 0x6ca69420, 0x2f2a5: 0x6ca69620, 0x2f2a6: 0x6cd4c020, 0x2f2a7: 0x6ca69820, + 0x2f2a8: 0x6ca69a20, 0x2f2a9: 0x6ca69c20, 0x2f2aa: 0x6ca69e20, 0x2f2ab: 0x6ca6a020, + 0x2f2ac: 0x6ca6a220, 0x2f2ad: 0x6ca6a420, 0x2f2ae: 0x6ca6a620, 0x2f2af: 0x6ca6a820, + 0x2f2b0: 0x6cd4c220, 0x2f2b1: 0x6cd4c420, 0x2f2b2: 0x6cd4c620, 0x2f2b3: 0x6cd4c820, + 0x2f2b4: 0x6cd4ca20, 0x2f2b5: 0x6cd4cc20, 0x2f2b6: 0x6cd4ce20, 0x2f2b7: 0x6cd4d020, + 0x2f2b8: 0x6cd4d220, 0x2f2b9: 0x6d031820, 0x2f2ba: 0x6d031a20, 0x2f2bb: 0x6d031c20, + 0x2f2bc: 0x6d031e20, 0x2f2bd: 0x6d032020, 0x2f2be: 0x6d032220, 0x2f2bf: 0x6d032420, + // Block 0xbcb, offset 0x2f2c0 + 0x2f2c0: 0x6d032620, 0x2f2c1: 0x6d032820, 0x2f2c2: 0x6d032a20, 0x2f2c3: 0x6d032c20, + 0x2f2c4: 0x6cd4d420, 0x2f2c5: 0x6d032e20, 0x2f2c6: 0x6d033020, 0x2f2c7: 0x6d30be20, + 0x2f2c8: 0x6d30c020, 0x2f2c9: 0x6d30c220, 0x2f2ca: 0x6d30c420, 0x2f2cb: 0x6d30c620, + 0x2f2cc: 0x6d30c820, 0x2f2cd: 0x6d30ca20, 0x2f2ce: 0x6d30cc20, 0x2f2cf: 0x6d30ce20, + 0x2f2d0: 0x6d30d020, 0x2f2d1: 0x6d30d220, 0x2f2d2: 0x6d30d420, 0x2f2d3: 0x6d30d620, + 0x2f2d4: 0x6d30d820, 0x2f2d5: 0x6d30da20, 0x2f2d6: 0x6d30dc20, 0x2f2d7: 0x6d30de20, + 0x2f2d8: 0x6d30e020, 0x2f2d9: 0x6d30e220, 0x2f2da: 0x6d5d8c20, 0x2f2db: 0x6d5d8e20, + 0x2f2dc: 0x6d5d9020, 0x2f2dd: 0x6d5d9220, 0x2f2de: 0x6d5d9420, 0x2f2df: 0x6d5d9620, + 0x2f2e0: 0x6d5d9820, 0x2f2e1: 0x6d5d9a20, 0x2f2e2: 0x6d5d9c20, 0x2f2e3: 0x6d5d9e20, + 0x2f2e4: 0x6d87fe20, 0x2f2e5: 0x6d880020, 0x2f2e6: 0x6d880220, 0x2f2e7: 0x6daca020, + 0x2f2e8: 0x6daca220, 0x2f2e9: 0x6d880420, 0x2f2ea: 0x6daca420, 0x2f2eb: 0x6daca620, + 0x2f2ec: 0x6dcca420, 0x2f2ed: 0x6dcca620, 0x2f2ee: 0x6dcca820, 0x2f2ef: 0x6dccaa20, + 0x2f2f0: 0x6de7ac20, 0x2f2f1: 0x6de7ae20, 0x2f2f2: 0x6dfe3a20, 0x2f2f3: 0x6e1f5620, + 0x2f2f4: 0x6e1f5820, 0x2f2f5: 0x6e2aa020, 0x2f2f6: 0x6e333020, 0x2f2f7: 0x6e333220, + 0x2f2f8: 0x6c0a3820, 0x2f2f9: 0x6c5b2a20, 0x2f2fa: 0x6c5b2c20, 0x2f2fb: 0x6ca6f420, + 0x2f2fc: 0x6cd52620, 0x2f2fd: 0x6d037620, 0x2f2fe: 0x6c0a3c20, 0x2f2ff: 0x6c256820, + // Block 0xbcc, offset 0x2f300 + 0x2f300: 0x6c256a20, 0x2f301: 0x6c256c20, 0x2f302: 0x6c256e20, 0x2f303: 0x6c257020, + 0x2f304: 0x6c3d3a20, 0x2f305: 0x6c3d3c20, 0x2f306: 0x6c3d3e20, 0x2f307: 0x6c3d4020, + 0x2f308: 0x6c3d4220, 0x2f309: 0x6c3d4420, 0x2f30a: 0x6c3d4620, 0x2f30b: 0x6c5b3e20, + 0x2f30c: 0x6c5b4020, 0x2f30d: 0x6c5b4220, 0x2f30e: 0x6c5b4420, 0x2f30f: 0x6c5b4620, + 0x2f310: 0x6c5b4820, 0x2f311: 0x6c5b4a20, 0x2f312: 0x6c5b4c20, 0x2f313: 0x6c5b4e20, + 0x2f314: 0x6c5b5020, 0x2f315: 0x6c5b5220, 0x2f316: 0x6c5b5420, 0x2f317: 0x6c5b5620, + 0x2f318: 0x6c7e3820, 0x2f319: 0x6c7e3a20, 0x2f31a: 0x6c7e3c20, 0x2f31b: 0x6c7e3e20, + 0x2f31c: 0x6c7e4020, 0x2f31d: 0x6c7e4220, 0x2f31e: 0x6c7e4420, 0x2f31f: 0x6c7e4620, + 0x2f320: 0x6c7e4820, 0x2f321: 0x6c7e4a20, 0x2f322: 0x6c7e4c20, 0x2f323: 0x6c7e4e20, + 0x2f324: 0x6c7e5020, 0x2f325: 0x6c7e5220, 0x2f326: 0x6c7e5420, 0x2f327: 0x6c7e5620, + 0x2f328: 0x6c7e5820, 0x2f329: 0x6c7e5a20, 0x2f32a: 0x6c7e5c20, 0x2f32b: 0x6c7e5e20, + 0x2f32c: 0x6c7e6020, 0x2f32d: 0x6c7e6220, 0x2f32e: 0x6c7e6420, 0x2f32f: 0x6c7e6620, + 0x2f330: 0x6c7e6820, 0x2f331: 0x6ca71a20, 0x2f332: 0x6ca71c20, 0x2f333: 0x6ca71e20, + 0x2f334: 0x6ca72020, 0x2f335: 0x6ca72220, 0x2f336: 0x6ca72420, 0x2f337: 0x6ca72620, + 0x2f338: 0x6ca72820, 0x2f339: 0x6ca72a20, 0x2f33a: 0x6ca72c20, 0x2f33b: 0x6ca72e20, + 0x2f33c: 0x6ca73020, 0x2f33d: 0x6ca73220, 0x2f33e: 0x6ca73420, 0x2f33f: 0x6cd54020, + // Block 0xbcd, offset 0x2f340 + 0x2f340: 0x6cd54220, 0x2f341: 0x6cd54420, 0x2f342: 0x6cd54620, 0x2f343: 0x6cd54820, + 0x2f344: 0x6cd54a20, 0x2f345: 0x6cd54c20, 0x2f346: 0x6ca73620, 0x2f347: 0x6cd54e20, + 0x2f348: 0x6cd55020, 0x2f349: 0x6cd55220, 0x2f34a: 0x6cd55420, 0x2f34b: 0x6cd55620, + 0x2f34c: 0x6cd55820, 0x2f34d: 0x6cd55a20, 0x2f34e: 0x6cd55c20, 0x2f34f: 0x6d039420, + 0x2f350: 0x6d039620, 0x2f351: 0x6d039820, 0x2f352: 0x6d039a20, 0x2f353: 0x6d039c20, + 0x2f354: 0x6d039e20, 0x2f355: 0x6d03a020, 0x2f356: 0x6d03a220, 0x2f357: 0x6d03a420, + 0x2f358: 0x6d03a620, 0x2f359: 0x6d03a820, 0x2f35a: 0x6d03aa20, 0x2f35b: 0x6d03ac20, + 0x2f35c: 0x6d03ae20, 0x2f35d: 0x6d03b020, 0x2f35e: 0x6d03b220, 0x2f35f: 0x6d03b420, + 0x2f360: 0x6d03b620, 0x2f361: 0x6d03b820, 0x2f362: 0x6d03ba20, 0x2f363: 0x6d03bc20, + 0x2f364: 0x6d03be20, 0x2f365: 0x6d03c020, 0x2f366: 0x6d313220, 0x2f367: 0x6d313420, + 0x2f368: 0x6d313620, 0x2f369: 0x6d313820, 0x2f36a: 0x6d313a20, 0x2f36b: 0x6d313c20, + 0x2f36c: 0x6d313e20, 0x2f36d: 0x6d314020, 0x2f36e: 0x6d314220, 0x2f36f: 0x6d314420, + 0x2f370: 0x6d314620, 0x2f371: 0x6d314820, 0x2f372: 0x6d314a20, 0x2f373: 0x6d314c20, + 0x2f374: 0x6d5dee20, 0x2f375: 0x6d31c220, 0x2f376: 0x6d5df020, 0x2f377: 0x6d5df220, + 0x2f378: 0x6d5df420, 0x2f379: 0x6d5df620, 0x2f37a: 0x6d5df820, 0x2f37b: 0x6d5dfa20, + 0x2f37c: 0x6d5dfc20, 0x2f37d: 0x6d5dfe20, 0x2f37e: 0x6d5e0020, 0x2f37f: 0x6d5e0220, + // Block 0xbce, offset 0x2f380 + 0x2f380: 0x6d5e0420, 0x2f381: 0x6d5e0620, 0x2f382: 0x6d5e0820, 0x2f383: 0x6d5e0a20, + 0x2f384: 0x6d884220, 0x2f385: 0x6d884420, 0x2f386: 0x6d884620, 0x2f387: 0x6d884820, + 0x2f388: 0x6d884a20, 0x2f389: 0x6dacd420, 0x2f38a: 0x6d314e20, 0x2f38b: 0x6d884c20, + 0x2f38c: 0x6d884e20, 0x2f38d: 0x6d885020, 0x2f38e: 0x6d885220, 0x2f38f: 0x6d885420, + 0x2f390: 0x6d885620, 0x2f391: 0x6d885820, 0x2f392: 0x6d885a20, 0x2f393: 0x6d88ba20, + 0x2f394: 0x6dacd620, 0x2f395: 0x6dacd820, 0x2f396: 0x6dacda20, 0x2f397: 0x6dacdc20, + 0x2f398: 0x6dacde20, 0x2f399: 0x6dace020, 0x2f39a: 0x6dace220, 0x2f39b: 0x6dace420, + 0x2f39c: 0x6dace620, 0x2f39d: 0x6dace820, 0x2f39e: 0x6dacea20, 0x2f39f: 0x6dccce20, + 0x2f3a0: 0x6dccd020, 0x2f3a1: 0x6dccd220, 0x2f3a2: 0x6dccd420, 0x2f3a3: 0x6dccd620, + 0x2f3a4: 0x6de7bc20, 0x2f3a5: 0x6de7be20, 0x2f3a6: 0x6de7c020, 0x2f3a7: 0x6de7c220, + 0x2f3a8: 0x6de7c420, 0x2f3a9: 0x6de7c620, 0x2f3aa: 0x6de7c820, 0x2f3ab: 0x6de7ca20, + 0x2f3ac: 0x6dfe4a20, 0x2f3ad: 0x6dfe4c20, 0x2f3ae: 0x6dfe4e20, 0x2f3af: 0x6dfe5020, + 0x2f3b0: 0x6e1f6a20, 0x2f3b1: 0x6e1f7420, 0x2f3b2: 0x6e333e20, 0x2f3b3: 0x6e333c20, + 0x2f3b4: 0x6c0a4020, 0x2f3b5: 0x6c140c20, 0x2f3b6: 0x6c257c20, 0x2f3b7: 0x6c257e20, + 0x2f3b8: 0x6c3d6a20, 0x2f3b9: 0x6c3d6c20, 0x2f3ba: 0x6c3d6e20, 0x2f3bb: 0x6c3d7020, + 0x2f3bc: 0x6c5b9a20, 0x2f3bd: 0x6c5b9c20, 0x2f3be: 0x6c5b9e20, 0x2f3bf: 0x6c5ba020, + // Block 0xbcf, offset 0x2f3c0 + 0x2f3c0: 0x6c5ba220, 0x2f3c1: 0x6c5ba420, 0x2f3c2: 0x6c5ba620, 0x2f3c3: 0x6c5ba820, + 0x2f3c4: 0x6c7eac20, 0x2f3c5: 0x6c7eae20, 0x2f3c6: 0x6c7eb020, 0x2f3c7: 0x6c7eb220, + 0x2f3c8: 0x6c7eb420, 0x2f3c9: 0x6c7eb620, 0x2f3ca: 0x6c7eb820, 0x2f3cb: 0x6c7eba20, + 0x2f3cc: 0x6c7ebc20, 0x2f3cd: 0x6c7ebe20, 0x2f3ce: 0x6c7ec020, 0x2f3cf: 0x6ca78620, + 0x2f3d0: 0x6ca78820, 0x2f3d1: 0x6ca78a20, 0x2f3d2: 0x6ca78c20, 0x2f3d3: 0x6ca78e20, + 0x2f3d4: 0x6ca79020, 0x2f3d5: 0x6ca79220, 0x2f3d6: 0x6cd5ac20, 0x2f3d7: 0x6cd5ae20, + 0x2f3d8: 0x6cd5b020, 0x2f3d9: 0x6cd5b220, 0x2f3da: 0x6ca7c420, 0x2f3db: 0x6cd5b420, + 0x2f3dc: 0x6cd5b620, 0x2f3dd: 0x6cd5b820, 0x2f3de: 0x6d043220, 0x2f3df: 0x6d043420, + 0x2f3e0: 0x6d043620, 0x2f3e1: 0x6d043820, 0x2f3e2: 0x6d043a20, 0x2f3e3: 0x6d043c20, + 0x2f3e4: 0x6d043e20, 0x2f3e5: 0x6d044020, 0x2f3e6: 0x6d044220, 0x2f3e7: 0x6d044420, + 0x2f3e8: 0x6d31c820, 0x2f3e9: 0x6d31ca20, 0x2f3ea: 0x6d31cc20, 0x2f3eb: 0x6d31ce20, + 0x2f3ec: 0x6d31d020, 0x2f3ed: 0x6d31d220, 0x2f3ee: 0x6d5e7020, 0x2f3ef: 0x6d5e7220, + 0x2f3f0: 0x6d5e7420, 0x2f3f1: 0x6d5e7620, 0x2f3f2: 0x6d5e7820, 0x2f3f3: 0x6d5e7a20, + 0x2f3f4: 0x6d5e7c20, 0x2f3f5: 0x6d88c820, 0x2f3f6: 0x6d88ca20, 0x2f3f7: 0x6d88cc20, + 0x2f3f8: 0x6d88ce20, 0x2f3f9: 0x6d88d020, 0x2f3fa: 0x6d88d220, 0x2f3fb: 0x6d88d420, + 0x2f3fc: 0x6d88d620, 0x2f3fd: 0x6d88d820, 0x2f3fe: 0x6dad5020, 0x2f3ff: 0x6dad5220, + // Block 0xbd0, offset 0x2f400 + 0x2f400: 0x6dad5420, 0x2f401: 0x6dad5620, 0x2f402: 0x6dad5820, 0x2f403: 0x6e10de20, + 0x2f404: 0x6dcd2020, 0x2f405: 0x6dcd2220, 0x2f406: 0x6de7f620, 0x2f407: 0x6dfe8620, + 0x2f408: 0x6e10e020, 0x2f409: 0x6e10e220, 0x2f40a: 0x6e1f7820, 0x2f40b: 0x6c0a4420, + 0x2f40c: 0x6c258a20, 0x2f40d: 0x6c258c20, 0x2f40e: 0x6c3d9020, 0x2f40f: 0x6c3d9220, + 0x2f410: 0x6c5bd620, 0x2f411: 0x6c5bd820, 0x2f412: 0x6c5bda20, 0x2f413: 0x6c5bdc20, + 0x2f414: 0x6c5bde20, 0x2f415: 0x6c5be020, 0x2f416: 0x6c5be220, 0x2f417: 0x6c5be420, + 0x2f418: 0x6c7efe20, 0x2f419: 0x6c7f0020, 0x2f41a: 0x6c7f0220, 0x2f41b: 0x6c7f0420, + 0x2f41c: 0x6c7f0620, 0x2f41d: 0x6c7f0820, 0x2f41e: 0x6c7f0a20, 0x2f41f: 0x6cb6ae20, + 0x2f420: 0x6cb6b020, 0x2f421: 0x6ca7c820, 0x2f422: 0x6cd60e20, 0x2f423: 0x6cd61020, + 0x2f424: 0x6cd61220, 0x2f425: 0x6cd61420, 0x2f426: 0x6cd61620, 0x2f427: 0x6cd61820, + 0x2f428: 0x6d048e20, 0x2f429: 0x6d049020, 0x2f42a: 0x6d049220, 0x2f42b: 0x6d049420, + 0x2f42c: 0x6d320820, 0x2f42d: 0x6d320a20, 0x2f42e: 0x6d322e20, 0x2f42f: 0x6d320c20, + 0x2f430: 0x6d320e20, 0x2f431: 0x6d892220, 0x2f432: 0x6dad8a20, 0x2f433: 0x6dad8c20, + 0x2f434: 0x6dad8e20, 0x2f435: 0x6dcd3a20, 0x2f436: 0x6dfe9a20, 0x2f437: 0x6dfe9c20, + 0x2f438: 0x6e1f7e20, 0x2f439: 0x6c141020, 0x2f43a: 0x6c3d9a20, 0x2f43b: 0x6c3d9c20, + 0x2f43c: 0x6c5bf820, 0x2f43d: 0x6c5bfa20, 0x2f43e: 0x6c5bfc20, 0x2f43f: 0x6c5bfe20, + // Block 0xbd1, offset 0x2f440 + 0x2f440: 0x6c5c0020, 0x2f441: 0x6c5c0220, 0x2f442: 0x6c5c0420, 0x2f443: 0x6c5c0620, + 0x2f444: 0x6c7fa820, 0x2f445: 0x6c7f4020, 0x2f446: 0x6c7f4220, 0x2f447: 0x6c7f4420, + 0x2f448: 0x6c7f4620, 0x2f449: 0x6c7f4820, 0x2f44a: 0x6c7f4a20, 0x2f44b: 0x6c7f4c20, + 0x2f44c: 0x6c7f4e20, 0x2f44d: 0x6c7f5020, 0x2f44e: 0x6c7f5220, 0x2f44f: 0x6c7f5420, + 0x2f450: 0x6c7f5620, 0x2f451: 0x6c7f5820, 0x2f452: 0x6c7f5a20, 0x2f453: 0x6c7f5c20, + 0x2f454: 0x6c7f5e20, 0x2f455: 0x6c7f6020, 0x2f456: 0x6ca7fa20, 0x2f457: 0x6ca7fc20, + 0x2f458: 0x6ca7fe20, 0x2f459: 0x6ca80020, 0x2f45a: 0x6ca80220, 0x2f45b: 0x6ca80420, + 0x2f45c: 0x6ca80620, 0x2f45d: 0x6ca80820, 0x2f45e: 0x6ca80a20, 0x2f45f: 0x6ca80c20, + 0x2f460: 0x6ca80e20, 0x2f461: 0x6ca81020, 0x2f462: 0x6ca81220, 0x2f463: 0x6ca81420, + 0x2f464: 0x6ca81620, 0x2f465: 0x6ca81820, 0x2f466: 0x6ca81a20, 0x2f467: 0x6ca81c20, + 0x2f468: 0x6ca81e20, 0x2f469: 0x6ca82020, 0x2f46a: 0x6ca82220, 0x2f46b: 0x6ca82420, + 0x2f46c: 0x6ca82620, 0x2f46d: 0x6ca82820, 0x2f46e: 0x6ca82a20, 0x2f46f: 0x6ca82c20, + 0x2f470: 0x6ca82e20, 0x2f471: 0x6ca83020, 0x2f472: 0x6ca83220, 0x2f473: 0x6ca83420, + 0x2f474: 0x6ca83620, 0x2f475: 0x6ca83820, 0x2f476: 0x6ca83a20, 0x2f477: 0x6ca83c20, + 0x2f478: 0x6ca83e20, 0x2f479: 0x6ca84020, 0x2f47a: 0x6ca84220, 0x2f47b: 0x6ca84420, + 0x2f47c: 0x6ca84620, 0x2f47d: 0x6ca84820, 0x2f47e: 0x6ca84a20, 0x2f47f: 0x6cd65220, + // Block 0xbd2, offset 0x2f480 + 0x2f480: 0x6cd65420, 0x2f481: 0x6cd65620, 0x2f482: 0x6cd65820, 0x2f483: 0x6cd65a20, + 0x2f484: 0x6cd65c20, 0x2f485: 0x6cd65e20, 0x2f486: 0x6cd66020, 0x2f487: 0x6cd66220, + 0x2f488: 0x6cd66420, 0x2f489: 0x6cd66620, 0x2f48a: 0x6cd66820, 0x2f48b: 0x6cd66a20, + 0x2f48c: 0x6cd66c20, 0x2f48d: 0x6cd66e20, 0x2f48e: 0x6cd67020, 0x2f48f: 0x6cd67220, + 0x2f490: 0x6cd67420, 0x2f491: 0x6cd67620, 0x2f492: 0x6cd67820, 0x2f493: 0x6cd67a20, + 0x2f494: 0x6cd67c20, 0x2f495: 0x6cd67e20, 0x2f496: 0x6cd68020, 0x2f497: 0x6cd68220, + 0x2f498: 0x6cd68420, 0x2f499: 0x6cd68620, 0x2f49a: 0x6cd68820, 0x2f49b: 0x6cd68a20, + 0x2f49c: 0x6cd68c20, 0x2f49d: 0x6cd68e20, 0x2f49e: 0x6d04ce20, 0x2f49f: 0x6d04d020, + 0x2f4a0: 0x6d04d220, 0x2f4a1: 0x6d04d420, 0x2f4a2: 0x6d04d620, 0x2f4a3: 0x6d04d820, + 0x2f4a4: 0x6d04da20, 0x2f4a5: 0x6d04dc20, 0x2f4a6: 0x6d04de20, 0x2f4a7: 0x6d04e020, + 0x2f4a8: 0x6d04e220, 0x2f4a9: 0x6d04e420, 0x2f4aa: 0x6d04e620, 0x2f4ab: 0x6d04e820, + 0x2f4ac: 0x6cd6de20, 0x2f4ad: 0x6d04ea20, 0x2f4ae: 0x6d04ec20, 0x2f4af: 0x6d04ee20, + 0x2f4b0: 0x6d04f020, 0x2f4b1: 0x6d04f220, 0x2f4b2: 0x6d04f420, 0x2f4b3: 0x6d04f620, + 0x2f4b4: 0x6d04f820, 0x2f4b5: 0x6d323020, 0x2f4b6: 0x6d04fa20, 0x2f4b7: 0x6d04fc20, + 0x2f4b8: 0x6d04fe20, 0x2f4b9: 0x6d050020, 0x2f4ba: 0x6d050220, 0x2f4bb: 0x6d050420, + 0x2f4bc: 0x6d050620, 0x2f4bd: 0x6d050820, 0x2f4be: 0x6d050a20, 0x2f4bf: 0x6d050c20, + // Block 0xbd3, offset 0x2f4c0 + 0x2f4c0: 0x6d050e20, 0x2f4c1: 0x6d324c20, 0x2f4c2: 0x6d324e20, 0x2f4c3: 0x6d325020, + 0x2f4c4: 0x6d325220, 0x2f4c5: 0x6d325420, 0x2f4c6: 0x6d325620, 0x2f4c7: 0x6d325820, + 0x2f4c8: 0x6d325a20, 0x2f4c9: 0x6d325c20, 0x2f4ca: 0x6d325e20, 0x2f4cb: 0x6d326020, + 0x2f4cc: 0x6d326220, 0x2f4cd: 0x6d326420, 0x2f4ce: 0x6d326620, 0x2f4cf: 0x6d326820, + 0x2f4d0: 0x6d326a20, 0x2f4d1: 0x6d326c20, 0x2f4d2: 0x6d326e20, 0x2f4d3: 0x6d327020, + 0x2f4d4: 0x6d327220, 0x2f4d5: 0x6d327420, 0x2f4d6: 0x6d327620, 0x2f4d7: 0x6d327820, + 0x2f4d8: 0x6d327a20, 0x2f4d9: 0x6d327c20, 0x2f4da: 0x6d327e20, 0x2f4db: 0x6d328020, + 0x2f4dc: 0x6d328220, 0x2f4dd: 0x6d328420, 0x2f4de: 0x6d328620, 0x2f4df: 0x6d328820, + 0x2f4e0: 0x6d328a20, 0x2f4e1: 0x6d328c20, 0x2f4e2: 0x6d328e20, 0x2f4e3: 0x6d329020, + 0x2f4e4: 0x6d329220, 0x2f4e5: 0x6d329420, 0x2f4e6: 0x6d329620, 0x2f4e7: 0x6d329820, + 0x2f4e8: 0x6d329a20, 0x2f4e9: 0x6d329c20, 0x2f4ea: 0x6d329e20, 0x2f4eb: 0x6d32a020, + 0x2f4ec: 0x6d5f0420, 0x2f4ed: 0x6d5f0620, 0x2f4ee: 0x6d5f0820, 0x2f4ef: 0x6d5f0a20, + 0x2f4f0: 0x6d5f0c20, 0x2f4f1: 0x6d5f0e20, 0x2f4f2: 0x6d5f1020, 0x2f4f3: 0x6d5f1220, + 0x2f4f4: 0x6d5f1420, 0x2f4f5: 0x6d5f1620, 0x2f4f6: 0x6d5f1820, 0x2f4f7: 0x6d5f1a20, + 0x2f4f8: 0x6d333620, 0x2f4f9: 0x6d5f1c20, 0x2f4fa: 0x6d5f1e20, 0x2f4fb: 0x6d5f2020, + 0x2f4fc: 0x6d5f2220, 0x2f4fd: 0x6d5f2420, 0x2f4fe: 0x6d5f2620, 0x2f4ff: 0x6d5f2820, + // Block 0xbd4, offset 0x2f500 + 0x2f500: 0x6d051020, 0x2f501: 0x6d5f2a20, 0x2f502: 0x6d5f2c20, 0x2f503: 0x6d5f2e20, + 0x2f504: 0x6d5f3020, 0x2f505: 0x6d5f3220, 0x2f506: 0x6d5f3420, 0x2f507: 0x6d5f3620, + 0x2f508: 0x6d5f3820, 0x2f509: 0x6d894a20, 0x2f50a: 0x6d5f3a20, 0x2f50b: 0x6d5f3c20, + 0x2f50c: 0x6d5f3e20, 0x2f50d: 0x6d5f4020, 0x2f50e: 0x6d5f4220, 0x2f50f: 0x6d5f4420, + 0x2f510: 0x6d5f4620, 0x2f511: 0x6d5f4820, 0x2f512: 0x6d5f4a20, 0x2f513: 0x6d5f4c20, + 0x2f514: 0x6d894c20, 0x2f515: 0x6d894e20, 0x2f516: 0x6d895020, 0x2f517: 0x6d895220, + 0x2f518: 0x6d895420, 0x2f519: 0x6d895620, 0x2f51a: 0x6d895820, 0x2f51b: 0x6d895a20, + 0x2f51c: 0x6d895c20, 0x2f51d: 0x6d895e20, 0x2f51e: 0x6d896020, 0x2f51f: 0x6d896220, + 0x2f520: 0x6d896420, 0x2f521: 0x6d896620, 0x2f522: 0x6d896820, 0x2f523: 0x6d896a20, + 0x2f524: 0x6d896c20, 0x2f525: 0x6d896e20, 0x2f526: 0x6d897020, 0x2f527: 0x6d897220, + 0x2f528: 0x6d897420, 0x2f529: 0x6d897620, 0x2f52a: 0x6d897820, 0x2f52b: 0x6d897a20, + 0x2f52c: 0x6d897c20, 0x2f52d: 0x6d897e20, 0x2f52e: 0x6d898020, 0x2f52f: 0x6d898220, + 0x2f530: 0x6dadc820, 0x2f531: 0x6dadca20, 0x2f532: 0x6dadcc20, 0x2f533: 0x6dadce20, + 0x2f534: 0x6dadd020, 0x2f535: 0x6dadd220, 0x2f536: 0x6dadd420, 0x2f537: 0x6dadd620, + 0x2f538: 0x6dadd820, 0x2f539: 0x6d8a5020, 0x2f53a: 0x6dadda20, 0x2f53b: 0x6daddc20, + 0x2f53c: 0x6dadde20, 0x2f53d: 0x6dade020, 0x2f53e: 0x6dade220, 0x2f53f: 0x6dade420, + // Block 0xbd5, offset 0x2f540 + 0x2f540: 0x6dade620, 0x2f541: 0x6dade820, 0x2f542: 0x6dadea20, 0x2f543: 0x6dadec20, + 0x2f544: 0x6dadee20, 0x2f545: 0x6dadf020, 0x2f546: 0x6dadf220, 0x2f547: 0x6dadf420, + 0x2f548: 0x6dadf620, 0x2f549: 0x6dadf820, 0x2f54a: 0x6dadfa20, 0x2f54b: 0x6dadfc20, + 0x2f54c: 0x6dadfe20, 0x2f54d: 0x6dae0020, 0x2f54e: 0x6dae0220, 0x2f54f: 0x6dae0420, + 0x2f550: 0x6dae0620, 0x2f551: 0x6d898420, 0x2f552: 0x6dae0820, 0x2f553: 0x6dae0a20, + 0x2f554: 0x6dae0c20, 0x2f555: 0x6dada620, 0x2f556: 0x6dae0e20, 0x2f557: 0x6dae1020, + 0x2f558: 0x6daec420, 0x2f559: 0x6dcd7220, 0x2f55a: 0x6dcd7420, 0x2f55b: 0x6dcd7620, + 0x2f55c: 0x6dcd7820, 0x2f55d: 0x6dcd7a20, 0x2f55e: 0x6dcd7c20, 0x2f55f: 0x6dcd7e20, + 0x2f560: 0x6dcd8020, 0x2f561: 0x6dcd8220, 0x2f562: 0x6dcd8420, 0x2f563: 0x6dcd8620, + 0x2f564: 0x6dcd8820, 0x2f565: 0x6dcd8a20, 0x2f566: 0x6dcd8c20, 0x2f567: 0x6dcd8e20, + 0x2f568: 0x6dcd9020, 0x2f569: 0x6dcd9220, 0x2f56a: 0x6dcd9420, 0x2f56b: 0x6dcd9620, + 0x2f56c: 0x6de81220, 0x2f56d: 0x6dcd9820, 0x2f56e: 0x6dcd9a20, 0x2f56f: 0x6dcd9c20, + 0x2f570: 0x6dcd9e20, 0x2f571: 0x6dcda020, 0x2f572: 0x6dcda220, 0x2f573: 0x6de82820, + 0x2f574: 0x6de82a20, 0x2f575: 0x6de82c20, 0x2f576: 0x6de82e20, 0x2f577: 0x6de83020, + 0x2f578: 0x6de83220, 0x2f579: 0x6de83420, 0x2f57a: 0x6de83620, 0x2f57b: 0x6de83820, + 0x2f57c: 0x6de83a20, 0x2f57d: 0x6de83c20, 0x2f57e: 0x6de83e20, 0x2f57f: 0x6de84020, + // Block 0xbd6, offset 0x2f580 + 0x2f580: 0x6de84220, 0x2f581: 0x6de84420, 0x2f582: 0x6de84620, 0x2f583: 0x6dfeac20, + 0x2f584: 0x6dfeae20, 0x2f585: 0x6dfeb020, 0x2f586: 0x6dfeb220, 0x2f587: 0x6dfeb420, + 0x2f588: 0x6dfeb620, 0x2f589: 0x6dfeb820, 0x2f58a: 0x6dfeba20, 0x2f58b: 0x6dfebc20, + 0x2f58c: 0x6dfebe20, 0x2f58d: 0x6dfec020, 0x2f58e: 0x6dfec220, 0x2f58f: 0x6dfec420, + 0x2f590: 0x6e111820, 0x2f591: 0x6e111a20, 0x2f592: 0x6e111c20, 0x2f593: 0x6e111e20, + 0x2f594: 0x6e112020, 0x2f595: 0x6dfec620, 0x2f596: 0x6e110620, 0x2f597: 0x6e1f8e20, + 0x2f598: 0x6e1f9020, 0x2f599: 0x6e1f9220, 0x2f59a: 0x6e1f9420, 0x2f59b: 0x6e1f9620, + 0x2f59c: 0x6e1f9820, 0x2f59d: 0x6e1f9a20, 0x2f59e: 0x6e2ac420, 0x2f59f: 0x6e1f9c20, + 0x2f5a0: 0x6e1f9e20, 0x2f5a1: 0x6e1fa020, 0x2f5a2: 0x6e2acc20, 0x2f5a3: 0x6e2ace20, + 0x2f5a4: 0x6e2ad020, 0x2f5a5: 0x6e2ad220, 0x2f5a6: 0x6e2ad420, 0x2f5a7: 0x6e2ad620, + 0x2f5a8: 0x6e2ad820, 0x2f5a9: 0x6e396020, 0x2f5aa: 0x6e335420, 0x2f5ab: 0x6e396220, + 0x2f5ac: 0x6e396420, 0x2f5ad: 0x6e396620, 0x2f5ae: 0x6e396820, 0x2f5af: 0x6e3dae20, + 0x2f5b0: 0x6e3db020, 0x2f5b1: 0x6e453420, 0x2f5b2: 0x6e463620, 0x2f5b3: 0x6c141420, + 0x2f5b4: 0x6c3da820, 0x2f5b5: 0x6c3daa20, 0x2f5b6: 0x6c3dac20, 0x2f5b7: 0x6c5c3220, + 0x2f5b8: 0x6c5c3420, 0x2f5b9: 0x6c5c3620, 0x2f5ba: 0x6c5c3820, 0x2f5bb: 0x6c5c3a20, + 0x2f5bc: 0x6c5c3c20, 0x2f5bd: 0x6c5c3e20, 0x2f5be: 0x6c5c4020, 0x2f5bf: 0x6c5c4220, + // Block 0xbd7, offset 0x2f5c0 + 0x2f5c0: 0x6c5c4420, 0x2f5c1: 0x6c5c4620, 0x2f5c2: 0x6c5c4820, 0x2f5c3: 0x6c7fae20, + 0x2f5c4: 0x6c7fb020, 0x2f5c5: 0x6c7fb220, 0x2f5c6: 0x6c7fb420, 0x2f5c7: 0x6c7fb620, + 0x2f5c8: 0x6c7fb820, 0x2f5c9: 0x6c7fba20, 0x2f5ca: 0x6c7fbc20, 0x2f5cb: 0x6c7fbe20, + 0x2f5cc: 0x6c7fc020, 0x2f5cd: 0x6c7fc220, 0x2f5ce: 0x6c7fc420, 0x2f5cf: 0x6c7fc620, + 0x2f5d0: 0x6c7fc820, 0x2f5d1: 0x6c7fca20, 0x2f5d2: 0x6ca89c20, 0x2f5d3: 0x6ca89e20, + 0x2f5d4: 0x6ca8a020, 0x2f5d5: 0x6ca8a220, 0x2f5d6: 0x6ca8a420, 0x2f5d7: 0x6ca8a620, + 0x2f5d8: 0x6ca8a820, 0x2f5d9: 0x6ca8aa20, 0x2f5da: 0x6ca8ac20, 0x2f5db: 0x6ca8ae20, + 0x2f5dc: 0x6ca8b020, 0x2f5dd: 0x6ca8b220, 0x2f5de: 0x6cd6ec20, 0x2f5df: 0x6cd6ee20, + 0x2f5e0: 0x6cd6f020, 0x2f5e1: 0x6cd6f220, 0x2f5e2: 0x6cd6f420, 0x2f5e3: 0x6ca8b420, + 0x2f5e4: 0x6cd6f620, 0x2f5e5: 0x6cd6f820, 0x2f5e6: 0x6cd6fa20, 0x2f5e7: 0x6cd6fc20, + 0x2f5e8: 0x6cd6fe20, 0x2f5e9: 0x6cd70020, 0x2f5ea: 0x6cd70220, 0x2f5eb: 0x6cd70420, + 0x2f5ec: 0x6cd70620, 0x2f5ed: 0x6cd70820, 0x2f5ee: 0x6d05a420, 0x2f5ef: 0x6d05a620, + 0x2f5f0: 0x6d05a820, 0x2f5f1: 0x6d05aa20, 0x2f5f2: 0x6d05ac20, 0x2f5f3: 0x6d05ae20, + 0x2f5f4: 0x6d05b020, 0x2f5f5: 0x6d05b220, 0x2f5f6: 0x6d334420, 0x2f5f7: 0x6d334620, + 0x2f5f8: 0x6d334820, 0x2f5f9: 0x6d334a20, 0x2f5fa: 0x6d334c20, 0x2f5fb: 0x6d334e20, + 0x2f5fc: 0x6d335020, 0x2f5fd: 0x6d335220, 0x2f5fe: 0x6d335420, 0x2f5ff: 0x6d335620, + // Block 0xbd8, offset 0x2f600 + 0x2f600: 0x6d05b420, 0x2f601: 0x6d335820, 0x2f602: 0x6d5ffc20, 0x2f603: 0x6d5ffe20, + 0x2f604: 0x6d600020, 0x2f605: 0x6d600220, 0x2f606: 0x6d600420, 0x2f607: 0x6d600620, + 0x2f608: 0x6d600820, 0x2f609: 0x6d600a20, 0x2f60a: 0x6d600c20, 0x2f60b: 0x6d600e20, + 0x2f60c: 0x6d601020, 0x2f60d: 0x6d601220, 0x2f60e: 0x6d601420, 0x2f60f: 0x6d8a5820, + 0x2f610: 0x6d8a5a20, 0x2f611: 0x6d8a5c20, 0x2f612: 0x6d8a5e20, 0x2f613: 0x6d8a6020, + 0x2f614: 0x6d8a6220, 0x2f615: 0x6d8a6420, 0x2f616: 0x6d8a6620, 0x2f617: 0x6d8a6820, + 0x2f618: 0x6d8a6a20, 0x2f619: 0x6daed420, 0x2f61a: 0x6daed620, 0x2f61b: 0x6daed820, + 0x2f61c: 0x6daeda20, 0x2f61d: 0x6daedc20, 0x2f61e: 0x6daede20, 0x2f61f: 0x6daee020, + 0x2f620: 0x6daee220, 0x2f621: 0x6daee420, 0x2f622: 0x6daee620, 0x2f623: 0x6dce7220, + 0x2f624: 0x6dce7420, 0x2f625: 0x6dce7620, 0x2f626: 0x6dce7820, 0x2f627: 0x6dce7a20, + 0x2f628: 0x6daee820, 0x2f629: 0x6de8c820, 0x2f62a: 0x6de8ca20, 0x2f62b: 0x6de8cc20, + 0x2f62c: 0x6de8ce20, 0x2f62d: 0x6de8d020, 0x2f62e: 0x6dff2020, 0x2f62f: 0x6dff2220, + 0x2f630: 0x6dff2420, 0x2f631: 0x6e1fe420, 0x2f632: 0x6e118c20, 0x2f633: 0x6e3dc220, + 0x2f634: 0x6e1fe620, 0x2f635: 0x6e2b0820, 0x2f636: 0x6e398820, 0x2f637: 0x6e409e20, + 0x2f638: 0x6c141620, 0x2f639: 0x6c141820, 0x2f63a: 0x6c259a20, 0x2f63b: 0x6c259c20, + 0x2f63c: 0x6c3dbc20, 0x2f63d: 0x6c3dbe20, 0x2f63e: 0x6c3dc020, 0x2f63f: 0x6c3dc220, + // Block 0xbd9, offset 0x2f640 + 0x2f640: 0x6c5c6620, 0x2f641: 0x6c5c6820, 0x2f642: 0x6c5c6a20, 0x2f643: 0x6c5c6c20, + 0x2f644: 0x6c5c6e20, 0x2f645: 0x6c5c7020, 0x2f646: 0x6c5c7220, 0x2f647: 0x6c5c7420, + 0x2f648: 0x6c5c7620, 0x2f649: 0x6c5c7820, 0x2f64a: 0x6c800a20, 0x2f64b: 0x6c800c20, + 0x2f64c: 0x6c800e20, 0x2f64d: 0x6c801020, 0x2f64e: 0x6c801220, 0x2f64f: 0x6c801420, + 0x2f650: 0x6c801620, 0x2f651: 0x6c801820, 0x2f652: 0x6c801a20, 0x2f653: 0x6c801c20, + 0x2f654: 0x6c801e20, 0x2f655: 0x6c802020, 0x2f656: 0x6c802220, 0x2f657: 0x6c802420, + 0x2f658: 0x6c802620, 0x2f659: 0x6c802820, 0x2f65a: 0x6c802a20, 0x2f65b: 0x6c802c20, + 0x2f65c: 0x6c802e20, 0x2f65d: 0x6c803020, 0x2f65e: 0x6c803220, 0x2f65f: 0x6c803420, + 0x2f660: 0x6c803620, 0x2f661: 0x6c803820, 0x2f662: 0x6c803a20, 0x2f663: 0x6c803c20, + 0x2f664: 0x6c803e20, 0x2f665: 0x6c804020, 0x2f666: 0x6c804220, 0x2f667: 0x6c804420, + 0x2f668: 0x6ca90c20, 0x2f669: 0x6ca90e20, 0x2f66a: 0x6cd74220, 0x2f66b: 0x6cd74420, + 0x2f66c: 0x6ca91020, 0x2f66d: 0x6ca91220, 0x2f66e: 0x6ca91420, 0x2f66f: 0x6ca91620, + 0x2f670: 0x6ca91820, 0x2f671: 0x6ca91a20, 0x2f672: 0x6ca91c20, 0x2f673: 0x6ca91e20, + 0x2f674: 0x6ca92020, 0x2f675: 0x6ca92220, 0x2f676: 0x6ca92420, 0x2f677: 0x6ca92620, + 0x2f678: 0x6ca92820, 0x2f679: 0x6ca92a20, 0x2f67a: 0x6ca92c20, 0x2f67b: 0x6ca92e20, + 0x2f67c: 0x6ca93020, 0x2f67d: 0x6ca93220, 0x2f67e: 0x6ca93420, 0x2f67f: 0x6ca93620, + // Block 0xbda, offset 0x2f680 + 0x2f680: 0x6ca93820, 0x2f681: 0x6ca93a20, 0x2f682: 0x6ca93c20, 0x2f683: 0x6ca93e20, + 0x2f684: 0x6ca94020, 0x2f685: 0x6ca94220, 0x2f686: 0x6ca94420, 0x2f687: 0x6ca94620, + 0x2f688: 0x6ca94820, 0x2f689: 0x6ca94a20, 0x2f68a: 0x6ca94c20, 0x2f68b: 0x6ca94e20, + 0x2f68c: 0x6ca95020, 0x2f68d: 0x6cd75a20, 0x2f68e: 0x6cd75c20, 0x2f68f: 0x6cd75e20, + 0x2f690: 0x6cd76020, 0x2f691: 0x6cd76220, 0x2f692: 0x6cd76420, 0x2f693: 0x6cd76620, + 0x2f694: 0x6cd76820, 0x2f695: 0x6cd76a20, 0x2f696: 0x6cd76c20, 0x2f697: 0x6cd76e20, + 0x2f698: 0x6cd77020, 0x2f699: 0x6cd77220, 0x2f69a: 0x6cd77420, 0x2f69b: 0x6d061420, + 0x2f69c: 0x6cd77620, 0x2f69d: 0x6cd77820, 0x2f69e: 0x6cd77a20, 0x2f69f: 0x6cd77c20, + 0x2f6a0: 0x6cd77e20, 0x2f6a1: 0x6cd78020, 0x2f6a2: 0x6cd78220, 0x2f6a3: 0x6cd78420, + 0x2f6a4: 0x6cd78620, 0x2f6a5: 0x6cd78820, 0x2f6a6: 0x6cd78a20, 0x2f6a7: 0x6cd78c20, + 0x2f6a8: 0x6cd78e20, 0x2f6a9: 0x6cd79020, 0x2f6aa: 0x6cd79220, 0x2f6ab: 0x6cd79420, + 0x2f6ac: 0x6cd79620, 0x2f6ad: 0x6cd79820, 0x2f6ae: 0x6cd79a20, 0x2f6af: 0x6cd79c20, + 0x2f6b0: 0x6cd79e20, 0x2f6b1: 0x6cd7a020, 0x2f6b2: 0x6cd7a220, 0x2f6b3: 0x6cd7a420, + 0x2f6b4: 0x6cd7a620, 0x2f6b5: 0x6cd7a820, 0x2f6b6: 0x6cd7aa20, 0x2f6b7: 0x6cd7ac20, + 0x2f6b8: 0x6d061620, 0x2f6b9: 0x6d061820, 0x2f6ba: 0x6d061a20, 0x2f6bb: 0x6d061c20, + 0x2f6bc: 0x6d061e20, 0x2f6bd: 0x6d062020, 0x2f6be: 0x6cd80c20, 0x2f6bf: 0x6d062220, + // Block 0xbdb, offset 0x2f6c0 + 0x2f6c0: 0x6d062420, 0x2f6c1: 0x6d062620, 0x2f6c2: 0x6d062820, 0x2f6c3: 0x6d062a20, + 0x2f6c4: 0x6d062c20, 0x2f6c5: 0x6d062e20, 0x2f6c6: 0x6d063020, 0x2f6c7: 0x6d063220, + 0x2f6c8: 0x6d063420, 0x2f6c9: 0x6d063620, 0x2f6ca: 0x6d063820, 0x2f6cb: 0x6d063a20, + 0x2f6cc: 0x6d063c20, 0x2f6cd: 0x6d063e20, 0x2f6ce: 0x6d064020, 0x2f6cf: 0x6d064220, + 0x2f6d0: 0x6d064420, 0x2f6d1: 0x6d064620, 0x2f6d2: 0x6d064820, 0x2f6d3: 0x6d064a20, + 0x2f6d4: 0x6d064c20, 0x2f6d5: 0x6d064e20, 0x2f6d6: 0x6d33b420, 0x2f6d7: 0x6d065020, + 0x2f6d8: 0x6d065220, 0x2f6d9: 0x6d065420, 0x2f6da: 0x6d065620, 0x2f6db: 0x6d065820, + 0x2f6dc: 0x6d33d020, 0x2f6dd: 0x6d33d220, 0x2f6de: 0x6d33d420, 0x2f6df: 0x6d33d620, + 0x2f6e0: 0x6d33d820, 0x2f6e1: 0x6d33da20, 0x2f6e2: 0x6d33dc20, 0x2f6e3: 0x6d33de20, + 0x2f6e4: 0x6d33e020, 0x2f6e5: 0x6d33e220, 0x2f6e6: 0x6d33e420, 0x2f6e7: 0x6d33e620, + 0x2f6e8: 0x6d33e820, 0x2f6e9: 0x6d33ea20, 0x2f6ea: 0x6d33ec20, 0x2f6eb: 0x6d33ee20, + 0x2f6ec: 0x6d33f020, 0x2f6ed: 0x6d33f220, 0x2f6ee: 0x6d33f420, 0x2f6ef: 0x6d33f620, + 0x2f6f0: 0x6d33f820, 0x2f6f1: 0x6d33fa20, 0x2f6f2: 0x6d33fc20, 0x2f6f3: 0x6d33fe20, + 0x2f6f4: 0x6d340020, 0x2f6f5: 0x6d340220, 0x2f6f6: 0x6d340420, 0x2f6f7: 0x6d340620, + 0x2f6f8: 0x6d340820, 0x2f6f9: 0x6d340a20, 0x2f6fa: 0x6d340c20, 0x2f6fb: 0x6d340e20, + 0x2f6fc: 0x6d341020, 0x2f6fd: 0x6d341220, 0x2f6fe: 0x6d341420, 0x2f6ff: 0x6d341620, + // Block 0xbdc, offset 0x2f700 + 0x2f700: 0x6d341820, 0x2f701: 0x6d341a20, 0x2f702: 0x6d341c20, 0x2f703: 0x6d341e20, + 0x2f704: 0x6d342020, 0x2f705: 0x6d342220, 0x2f706: 0x6d342420, 0x2f707: 0x6d342620, + 0x2f708: 0x6d342820, 0x2f709: 0x6d342a20, 0x2f70a: 0x6d342c20, 0x2f70b: 0x6d342e20, + 0x2f70c: 0x6d343020, 0x2f70d: 0x6d343220, 0x2f70e: 0x6d343420, 0x2f70f: 0x6d343620, + 0x2f710: 0x6d33b620, 0x2f711: 0x6d343820, 0x2f712: 0x6d343a20, 0x2f713: 0x6d608820, + 0x2f714: 0x6d343c20, 0x2f715: 0x6d343e20, 0x2f716: 0x6d608a20, 0x2f717: 0x6d608c20, + 0x2f718: 0x6d608e20, 0x2f719: 0x6d609020, 0x2f71a: 0x6d609220, 0x2f71b: 0x6d609420, + 0x2f71c: 0x6d609620, 0x2f71d: 0x6d609820, 0x2f71e: 0x6d609a20, 0x2f71f: 0x6d609c20, + 0x2f720: 0x6d609e20, 0x2f721: 0x6d60a020, 0x2f722: 0x6d60a220, 0x2f723: 0x6d60a420, + 0x2f724: 0x6d60a620, 0x2f725: 0x6d60a820, 0x2f726: 0x6d60aa20, 0x2f727: 0x6d60ac20, + 0x2f728: 0x6d60ae20, 0x2f729: 0x6d60b020, 0x2f72a: 0x6d60b220, 0x2f72b: 0x6d60b420, + 0x2f72c: 0x6d60b620, 0x2f72d: 0x6d60b820, 0x2f72e: 0x6d60ba20, 0x2f72f: 0x6d60bc20, + 0x2f730: 0x6d60be20, 0x2f731: 0x6d60c020, 0x2f732: 0x6d60c220, 0x2f733: 0x6d60c420, + 0x2f734: 0x6d60c620, 0x2f735: 0x6d60c820, 0x2f736: 0x6d60ca20, 0x2f737: 0x6d60cc20, + 0x2f738: 0x6d60ce20, 0x2f739: 0x6d60d020, 0x2f73a: 0x6d60d220, 0x2f73b: 0x6d60d420, + 0x2f73c: 0x6d60d620, 0x2f73d: 0x6d60d820, 0x2f73e: 0x6d60da20, 0x2f73f: 0x6d60dc20, + // Block 0xbdd, offset 0x2f740 + 0x2f740: 0x6d60de20, 0x2f741: 0x6d60e020, 0x2f742: 0x6d60e220, 0x2f743: 0x6d60e420, + 0x2f744: 0x6d60e620, 0x2f745: 0x6d60e820, 0x2f746: 0x6d60ea20, 0x2f747: 0x6d60ec20, + 0x2f748: 0x6d8aba20, 0x2f749: 0x6d8abc20, 0x2f74a: 0x6d8abe20, 0x2f74b: 0x6d8ac020, + 0x2f74c: 0x6d8ac220, 0x2f74d: 0x6d8ac420, 0x2f74e: 0x6d8ac620, 0x2f74f: 0x6d8ac820, + 0x2f750: 0x6d8aca20, 0x2f751: 0x6d8acc20, 0x2f752: 0x6d8ace20, 0x2f753: 0x6d8ad020, + 0x2f754: 0x6d8ad220, 0x2f755: 0x6d8ad420, 0x2f756: 0x6d8ad620, 0x2f757: 0x6d8ad820, + 0x2f758: 0x6d8ada20, 0x2f759: 0x6d8adc20, 0x2f75a: 0x6d8ade20, 0x2f75b: 0x6d8ae020, + 0x2f75c: 0x6d8ae220, 0x2f75d: 0x6d8ae420, 0x2f75e: 0x6d8ae620, 0x2f75f: 0x6d8ae820, + 0x2f760: 0x6d8aea20, 0x2f761: 0x6d8aec20, 0x2f762: 0x6d8aee20, 0x2f763: 0x6d8af020, + 0x2f764: 0x6d8af220, 0x2f765: 0x6d8af420, 0x2f766: 0x6d8af620, 0x2f767: 0x6d8af820, + 0x2f768: 0x6d8afa20, 0x2f769: 0x6daf3420, 0x2f76a: 0x6daf3620, 0x2f76b: 0x6daf3820, + 0x2f76c: 0x6daf3a20, 0x2f76d: 0x6daf3c20, 0x2f76e: 0x6daf3e20, 0x2f76f: 0x6daf4020, + 0x2f770: 0x6daf4220, 0x2f771: 0x6daf4420, 0x2f772: 0x6daf4620, 0x2f773: 0x6daf4820, + 0x2f774: 0x6daf4a20, 0x2f775: 0x6daf4c20, 0x2f776: 0x6daf4e20, 0x2f777: 0x6daf5020, + 0x2f778: 0x6daf5220, 0x2f779: 0x6daf5420, 0x2f77a: 0x6daf5620, 0x2f77b: 0x6daf5820, + 0x2f77c: 0x6daf5a20, 0x2f77d: 0x6daf5c20, 0x2f77e: 0x6daf5e20, 0x2f77f: 0x6daf6020, + // Block 0xbde, offset 0x2f780 + 0x2f780: 0x6daf6220, 0x2f781: 0x6daf6420, 0x2f782: 0x6daf6620, 0x2f783: 0x6daf6820, + 0x2f784: 0x6daf6a20, 0x2f785: 0x6daf6c20, 0x2f786: 0x6daf6e20, 0x2f787: 0x6daf7020, + 0x2f788: 0x6dafea20, 0x2f789: 0x6daf7220, 0x2f78a: 0x6daf7420, 0x2f78b: 0x6de91a20, + 0x2f78c: 0x6daf7620, 0x2f78d: 0x6daf7820, 0x2f78e: 0x6dcecc20, 0x2f78f: 0x6dcece20, + 0x2f790: 0x6dced020, 0x2f791: 0x6dced220, 0x2f792: 0x6dced420, 0x2f793: 0x6dced620, + 0x2f794: 0x6dced820, 0x2f795: 0x6dceda20, 0x2f796: 0x6dcedc20, 0x2f797: 0x6dcede20, + 0x2f798: 0x6dcee020, 0x2f799: 0x6dcee220, 0x2f79a: 0x6dcee420, 0x2f79b: 0x6dcee620, + 0x2f79c: 0x6dcee820, 0x2f79d: 0x6dceea20, 0x2f79e: 0x6dceec20, 0x2f79f: 0x6dceee20, + 0x2f7a0: 0x6dcef020, 0x2f7a1: 0x6dcef220, 0x2f7a2: 0x6dcef420, 0x2f7a3: 0x6dcef620, + 0x2f7a4: 0x6dcef820, 0x2f7a5: 0x6dcefa20, 0x2f7a6: 0x6de91c20, 0x2f7a7: 0x6dcefc20, + 0x2f7a8: 0x6de91e20, 0x2f7a9: 0x6de92020, 0x2f7aa: 0x6de92220, 0x2f7ab: 0x6de92420, + 0x2f7ac: 0x6de92620, 0x2f7ad: 0x6de92820, 0x2f7ae: 0x6de92a20, 0x2f7af: 0x6de92c20, + 0x2f7b0: 0x6de92e20, 0x2f7b1: 0x6dcefe20, 0x2f7b2: 0x6de93020, 0x2f7b3: 0x6de93220, + 0x2f7b4: 0x6de93420, 0x2f7b5: 0x6de93620, 0x2f7b6: 0x6de93820, 0x2f7b7: 0x6de93a20, + 0x2f7b8: 0x6de93c20, 0x2f7b9: 0x6de93e20, 0x2f7ba: 0x6de94020, 0x2f7bb: 0x6dff4220, + 0x2f7bc: 0x6dff4420, 0x2f7bd: 0x6dff4620, 0x2f7be: 0x6dff4820, 0x2f7bf: 0x6dff4a20, + // Block 0xbdf, offset 0x2f7c0 + 0x2f7c0: 0x6dff4c20, 0x2f7c1: 0x6dff4e20, 0x2f7c2: 0x6dff5020, 0x2f7c3: 0x6dff5220, + 0x2f7c4: 0x6e11aa20, 0x2f7c5: 0x6e11ac20, 0x2f7c6: 0x6e11ae20, 0x2f7c7: 0x6e11b020, + 0x2f7c8: 0x6e11b220, 0x2f7c9: 0x6e11b420, 0x2f7ca: 0x6e11b620, 0x2f7cb: 0x6e11b820, + 0x2f7cc: 0x6e11ba20, 0x2f7cd: 0x6e11bc20, 0x2f7ce: 0x6e11be20, 0x2f7cf: 0x6e11c020, + 0x2f7d0: 0x6e11c220, 0x2f7d1: 0x6e200820, 0x2f7d2: 0x6e200a20, 0x2f7d3: 0x6e2b1620, + 0x2f7d4: 0x6e2b1820, 0x2f7d5: 0x6e2b1a20, 0x2f7d6: 0x6e2b1c20, 0x2f7d7: 0x6e339220, + 0x2f7d8: 0x6e399820, 0x2f7d9: 0x6e399a20, 0x2f7da: 0x6e399c20, 0x2f7db: 0x6e399e20, + 0x2f7dc: 0x6e40a620, 0x2f7dd: 0x6e40a820, 0x2f7de: 0x6e445a20, 0x2f7df: 0x6c020020, + 0x2f7e0: 0x6c0a4620, 0x2f7e1: 0x6c141a20, 0x2f7e2: 0x6c141c20, 0x2f7e3: 0x6c141e20, + 0x2f7e4: 0x6c142020, 0x2f7e5: 0x6c142220, 0x2f7e6: 0x6c142420, 0x2f7e7: 0x6c142620, + 0x2f7e8: 0x6c142820, 0x2f7e9: 0x6c142a20, 0x2f7ea: 0x6c142c20, 0x2f7eb: 0x6c142e20, + 0x2f7ec: 0x6c25a020, 0x2f7ed: 0x6c25a220, 0x2f7ee: 0x6c25a420, 0x2f7ef: 0x6c25a620, + 0x2f7f0: 0x6c25a820, 0x2f7f1: 0x6c25aa20, 0x2f7f2: 0x6c25ac20, 0x2f7f3: 0x6c25ae20, + 0x2f7f4: 0x6c25b020, 0x2f7f5: 0x6c25b220, 0x2f7f6: 0x6c259e20, 0x2f7f7: 0x6c25b420, + 0x2f7f8: 0x6c25b620, 0x2f7f9: 0x6c25b820, 0x2f7fa: 0x6c25ba20, 0x2f7fb: 0x6c25bc20, + 0x2f7fc: 0x6c25be20, 0x2f7fd: 0x6c25c020, 0x2f7fe: 0x6c25c220, 0x2f7ff: 0x6c3dd620, + // Block 0xbe0, offset 0x2f800 + 0x2f800: 0x6c3dd820, 0x2f801: 0x6c3dda20, 0x2f802: 0x6c3ddc20, 0x2f803: 0x6c3dde20, + 0x2f804: 0x6c3de020, 0x2f805: 0x6c3de220, 0x2f806: 0x6c3de420, 0x2f807: 0x6c3de620, + 0x2f808: 0x6c3de820, 0x2f809: 0x6c3dea20, 0x2f80a: 0x6c3dec20, 0x2f80b: 0x6c3dee20, + 0x2f80c: 0x6c3df020, 0x2f80d: 0x6c3df220, 0x2f80e: 0x6c3df420, 0x2f80f: 0x6c3df620, + 0x2f810: 0x6c3df820, 0x2f811: 0x6c5c9a20, 0x2f812: 0x6c5c9c20, 0x2f813: 0x6c5c9e20, + 0x2f814: 0x6c5ca020, 0x2f815: 0x6c5ca220, 0x2f816: 0x6c5ca420, 0x2f817: 0x6c5ca620, + 0x2f818: 0x6c5ca820, 0x2f819: 0x6c5caa20, 0x2f81a: 0x6c5cac20, 0x2f81b: 0x6c5cae20, + 0x2f81c: 0x6c5cb020, 0x2f81d: 0x6c5cb220, 0x2f81e: 0x6c5cb420, 0x2f81f: 0x6c5cb620, + 0x2f820: 0x6c809e20, 0x2f821: 0x6c80a020, 0x2f822: 0x6c80a220, 0x2f823: 0x6c80a420, + 0x2f824: 0x6c80a620, 0x2f825: 0x6c80a820, 0x2f826: 0x6c80aa20, 0x2f827: 0x6c80ac20, + 0x2f828: 0x6c80ae20, 0x2f829: 0x6ca9a220, 0x2f82a: 0x6ca9a420, 0x2f82b: 0x6ca9a620, + 0x2f82c: 0x6ca9a820, 0x2f82d: 0x6ca9aa20, 0x2f82e: 0x6ca9ac20, 0x2f82f: 0x6ca9ae20, + 0x2f830: 0x6ca9b020, 0x2f831: 0x6ca9b220, 0x2f832: 0x6ca9b420, 0x2f833: 0x6ca9b620, + 0x2f834: 0x6ca9b820, 0x2f835: 0x6ca9ba20, 0x2f836: 0x6ca9bc20, 0x2f837: 0x6ca9be20, + 0x2f838: 0x6ca9c020, 0x2f839: 0x6ca9c220, 0x2f83a: 0x6ca9c420, 0x2f83b: 0x6ca9c620, + 0x2f83c: 0x6ca9c820, 0x2f83d: 0x6ca9ca20, 0x2f83e: 0x6ca9cc20, 0x2f83f: 0x6ca9ce20, + // Block 0xbe1, offset 0x2f840 + 0x2f840: 0x6ca9d020, 0x2f841: 0x6ca9d220, 0x2f842: 0x6cd81220, 0x2f843: 0x6cd81420, + 0x2f844: 0x6cd81620, 0x2f845: 0x6cd81820, 0x2f846: 0x6cd81a20, 0x2f847: 0x6cd81c20, + 0x2f848: 0x6cd81e20, 0x2f849: 0x6cd82020, 0x2f84a: 0x6cd82220, 0x2f84b: 0x6cd82420, + 0x2f84c: 0x6cd82620, 0x2f84d: 0x6cd82820, 0x2f84e: 0x6cd82a20, 0x2f84f: 0x6cd82c20, + 0x2f850: 0x6cd82e20, 0x2f851: 0x6cd83020, 0x2f852: 0x6cd83220, 0x2f853: 0x6cd83420, + 0x2f854: 0x6cd83620, 0x2f855: 0x6cd83820, 0x2f856: 0x6cd83a20, 0x2f857: 0x6cd83c20, + 0x2f858: 0x6cd83e20, 0x2f859: 0x6d06ce20, 0x2f85a: 0x6d06d020, 0x2f85b: 0x6d06d220, + 0x2f85c: 0x6d06d420, 0x2f85d: 0x6d06d620, 0x2f85e: 0x6d06d820, 0x2f85f: 0x6d06da20, + 0x2f860: 0x6d06dc20, 0x2f861: 0x6d06de20, 0x2f862: 0x6d06e020, 0x2f863: 0x6d06e220, + 0x2f864: 0x6d06e420, 0x2f865: 0x6d34c820, 0x2f866: 0x6d34ca20, 0x2f867: 0x6d34cc20, + 0x2f868: 0x6d34ce20, 0x2f869: 0x6d34d020, 0x2f86a: 0x6d34d220, 0x2f86b: 0x6d34d420, + 0x2f86c: 0x6d618020, 0x2f86d: 0x6d618220, 0x2f86e: 0x6d618420, 0x2f86f: 0x6d618620, + 0x2f870: 0x6d8b9620, 0x2f871: 0x6d8b9820, 0x2f872: 0x6d8b9a20, 0x2f873: 0x6d8b9c20, + 0x2f874: 0x6d8b9e20, 0x2f875: 0x6de9a220, 0x2f876: 0x6c143020, 0x2f877: 0x6c3e0020, + 0x2f878: 0x6c5cc620, 0x2f879: 0x6c80c620, 0x2f87a: 0x6c80c820, 0x2f87b: 0x6ca9ee20, + 0x2f87c: 0x6c80ca20, 0x2f87d: 0x6ca9f020, 0x2f87e: 0x6cd85420, 0x2f87f: 0x6cd85620, + // Block 0xbe2, offset 0x2f880 + 0x2f880: 0x6cd85820, 0x2f881: 0x6d34e420, 0x2f882: 0x6d34e620, 0x2f883: 0x6d8ba820, + 0x2f884: 0x6daff420, 0x2f885: 0x6daff620, 0x2f886: 0x6daff820, 0x2f887: 0x6dcf7c20, + 0x2f888: 0x6dcf7e20, 0x2f889: 0x6dcf8020, 0x2f88a: 0x6de9a420, 0x2f88b: 0x6de9a620, + 0x2f88c: 0x6dff9020, 0x2f88d: 0x6e120220, 0x2f88e: 0x6e203a20, 0x2f88f: 0x6e203c20, + 0x2f890: 0x6e33a620, 0x2f891: 0x6c143420, 0x2f892: 0x6c0a4a20, 0x2f893: 0x6c050420, + 0x2f894: 0x6c3e0420, 0x2f895: 0x6c25dc20, 0x2f896: 0x6c3e0620, 0x2f897: 0x6c3e0820, + 0x2f898: 0x6c5cd620, 0x2f899: 0x6c3e2020, 0x2f89a: 0x6c5cd820, 0x2f89b: 0x6c80d820, + 0x2f89c: 0x6c80da20, 0x2f89d: 0x6c80dc20, 0x2f89e: 0x6c80de20, 0x2f89f: 0x6c80e020, + 0x2f8a0: 0x6c80e220, 0x2f8a1: 0x6c80e420, 0x2f8a2: 0x6c80e620, 0x2f8a3: 0x6caa0020, + 0x2f8a4: 0x6cd86820, 0x2f8a5: 0x6cd86a20, 0x2f8a6: 0x6cd86c20, 0x2f8a7: 0x6d070220, + 0x2f8a8: 0x6d070420, 0x2f8a9: 0x6d070620, 0x2f8aa: 0x6d070820, 0x2f8ab: 0x6d070a20, + 0x2f8ac: 0x6d070c20, 0x2f8ad: 0x6d070e20, 0x2f8ae: 0x6d071020, 0x2f8af: 0x6d350020, + 0x2f8b0: 0x6d350220, 0x2f8b1: 0x6d350420, 0x2f8b2: 0x6d071220, 0x2f8b3: 0x6d350620, + 0x2f8b4: 0x6d350820, 0x2f8b5: 0x6d61a420, 0x2f8b6: 0x6d61a620, 0x2f8b7: 0x6d61a820, + 0x2f8b8: 0x6d61aa20, 0x2f8b9: 0x6d8bbe20, 0x2f8ba: 0x6d8bc020, 0x2f8bb: 0x6d8bc220, + 0x2f8bc: 0x6d8bc420, 0x2f8bd: 0x6db00820, 0x2f8be: 0x6db00a20, 0x2f8bf: 0x6db00c20, + // Block 0xbe3, offset 0x2f8c0 + 0x2f8c0: 0x6dcf8a20, 0x2f8c1: 0x6db00e20, 0x2f8c2: 0x6dcf8e20, 0x2f8c3: 0x6de9b620, + 0x2f8c4: 0x6de9b820, 0x2f8c5: 0x6de9ba20, 0x2f8c6: 0x6de9bc20, 0x2f8c7: 0x6e204020, + 0x2f8c8: 0x6e33b020, 0x2f8c9: 0x6e33b220, 0x2f8ca: 0x6c143a20, 0x2f8cb: 0x6c3e2220, + 0x2f8cc: 0x6c3e2420, 0x2f8cd: 0x6c5cf620, 0x2f8ce: 0x6c5cf820, 0x2f8cf: 0x6c5cfa20, + 0x2f8d0: 0x6c812220, 0x2f8d1: 0x6c5cfc20, 0x2f8d2: 0x6c812a20, 0x2f8d3: 0x6c812c20, + 0x2f8d4: 0x6c812e20, 0x2f8d5: 0x6caa3220, 0x2f8d6: 0x6c813020, 0x2f8d7: 0x6c813220, + 0x2f8d8: 0x6c813420, 0x2f8d9: 0x6c813620, 0x2f8da: 0x6caa3420, 0x2f8db: 0x6caa3620, + 0x2f8dc: 0x6caa3820, 0x2f8dd: 0x6caa3a20, 0x2f8de: 0x6caa3c20, 0x2f8df: 0x6caa3e20, + 0x2f8e0: 0x6cd88820, 0x2f8e1: 0x6cd88a20, 0x2f8e2: 0x6cd88c20, 0x2f8e3: 0x6d074820, + 0x2f8e4: 0x6d074a20, 0x2f8e5: 0x6d074c20, 0x2f8e6: 0x6d074e20, 0x2f8e7: 0x6d075020, + 0x2f8e8: 0x6d075220, 0x2f8e9: 0x6d075420, 0x2f8ea: 0x6d075620, 0x2f8eb: 0x6d353820, + 0x2f8ec: 0x6d61cc20, 0x2f8ed: 0x6d61ce20, 0x2f8ee: 0x6d61d020, 0x2f8ef: 0x6d61d220, + 0x2f8f0: 0x6d61d420, 0x2f8f1: 0x6d8bf620, 0x2f8f2: 0x6d8bf820, 0x2f8f3: 0x6dcfac20, + 0x2f8f4: 0x6dcfae20, 0x2f8f5: 0x6dcfb020, 0x2f8f6: 0x6de9d620, 0x2f8f7: 0x6de9d820, + 0x2f8f8: 0x6de9da20, 0x2f8f9: 0x6de9dc20, 0x2f8fa: 0x6dffa220, 0x2f8fb: 0x6e121020, + 0x2f8fc: 0x6e121220, 0x2f8fd: 0x6c144220, 0x2f8fe: 0x6c5d0c20, 0x2f8ff: 0x6c5d0e20, + // Block 0xbe4, offset 0x2f900 + 0x2f900: 0x6c815a20, 0x2f901: 0x6c815c20, 0x2f902: 0x6c815e20, 0x2f903: 0x6c816020, + 0x2f904: 0x6c816220, 0x2f905: 0x6c816420, 0x2f906: 0x6c816620, 0x2f907: 0x6caa7c20, + 0x2f908: 0x6caa7e20, 0x2f909: 0x6caa8020, 0x2f90a: 0x6caa8220, 0x2f90b: 0x6caa8420, + 0x2f90c: 0x6caa8620, 0x2f90d: 0x6caa8820, 0x2f90e: 0x6caa8a20, 0x2f90f: 0x6caa8c20, + 0x2f910: 0x6caa8e20, 0x2f911: 0x6caa9020, 0x2f912: 0x6caa9220, 0x2f913: 0x6cd8b220, + 0x2f914: 0x6cd8b420, 0x2f915: 0x6cd8b620, 0x2f916: 0x6cd8b820, 0x2f917: 0x6cd8ba20, + 0x2f918: 0x6cd8bc20, 0x2f919: 0x6cd8be20, 0x2f91a: 0x6cd8c020, 0x2f91b: 0x6d078420, + 0x2f91c: 0x6d078620, 0x2f91d: 0x6d078820, 0x2f91e: 0x6d355a20, 0x2f91f: 0x6d355c20, + 0x2f920: 0x6d355e20, 0x2f921: 0x6d356020, 0x2f922: 0x6d356220, 0x2f923: 0x6d356420, + 0x2f924: 0x6d356620, 0x2f925: 0x6d358c20, 0x2f926: 0x6d61f620, 0x2f927: 0x6d61f820, + 0x2f928: 0x6d61fa20, 0x2f929: 0x6d61fc20, 0x2f92a: 0x6d61fe20, 0x2f92b: 0x6d620020, + 0x2f92c: 0x6d620220, 0x2f92d: 0x6d620420, 0x2f92e: 0x6d8c1020, 0x2f92f: 0x6d8c1220, + 0x2f930: 0x6d8c1420, 0x2f931: 0x6d8c1620, 0x2f932: 0x6db05020, 0x2f933: 0x6db05220, + 0x2f934: 0x6db05420, 0x2f935: 0x6db05620, 0x2f936: 0x6db05820, 0x2f937: 0x6dcfde20, + 0x2f938: 0x6dcfe020, 0x2f939: 0x6dcfe220, 0x2f93a: 0x6dcfe420, 0x2f93b: 0x6dcfe620, + 0x2f93c: 0x6db05a20, 0x2f93d: 0x6de9ec20, 0x2f93e: 0x6de9ee20, 0x2f93f: 0x6dffb420, + // Block 0xbe5, offset 0x2f940 + 0x2f940: 0x6dffb620, 0x2f941: 0x6c144420, 0x2f942: 0x6c050620, 0x2f943: 0x6c144620, + 0x2f944: 0x6c819020, 0x2f945: 0x6c3e3620, 0x2f946: 0x6c819220, 0x2f947: 0x6c5d3820, + 0x2f948: 0x6caab220, 0x2f949: 0x6caab420, 0x2f94a: 0x6c81a420, 0x2f94b: 0x6cd8f820, + 0x2f94c: 0x6c144820, 0x2f94d: 0x6c5d3e20, 0x2f94e: 0x6c5d4020, 0x2f94f: 0x6c5d4220, + 0x2f950: 0x6c5d4420, 0x2f951: 0x6c5d4620, 0x2f952: 0x6c144c20, 0x2f953: 0x6c3e3e20, + 0x2f954: 0x6c5d4a20, 0x2f955: 0x6c81aa20, 0x2f956: 0x6c81ac20, 0x2f957: 0x6c81ae20, + 0x2f958: 0x6c81b020, 0x2f959: 0x6c81b220, 0x2f95a: 0x6caabc20, 0x2f95b: 0x6caabe20, + 0x2f95c: 0x6caac020, 0x2f95d: 0x6caac220, 0x2f95e: 0x6caac420, 0x2f95f: 0x6caac620, + 0x2f960: 0x6cd8fe20, 0x2f961: 0x6d07b420, 0x2f962: 0x6d07b620, 0x2f963: 0x6d359e20, + 0x2f964: 0x6d35a020, 0x2f965: 0x6d35a220, 0x2f966: 0x6d625020, 0x2f967: 0x6d625220, + 0x2f968: 0x6d8c4a20, 0x2f969: 0x6d8c4c20, 0x2f96a: 0x6d8c4e20, 0x2f96b: 0x6db08420, + 0x2f96c: 0x6db08620, 0x2f96d: 0x6dd01220, 0x2f96e: 0x6dd01420, 0x2f96f: 0x6dffc420, + 0x2f970: 0x6e122e20, 0x2f971: 0x6e205820, 0x2f972: 0x6e205a20, 0x2f973: 0x6c145020, + 0x2f974: 0x6c25e620, 0x2f975: 0x6c3e4620, 0x2f976: 0x6c5d5220, 0x2f977: 0x6c5d5420, + 0x2f978: 0x6c81ba20, 0x2f979: 0x6c81bc20, 0x2f97a: 0x6c81be20, 0x2f97b: 0x6c81c020, + 0x2f97c: 0x6c81c220, 0x2f97d: 0x6c81c420, 0x2f97e: 0x6c81c620, 0x2f97f: 0x6c81c820, + // Block 0xbe6, offset 0x2f980 + 0x2f980: 0x6c81ca20, 0x2f981: 0x6c81cc20, 0x2f982: 0x6c81ce20, 0x2f983: 0x6caad420, + 0x2f984: 0x6caad620, 0x2f985: 0x6caad820, 0x2f986: 0x6caada20, 0x2f987: 0x6caadc20, + 0x2f988: 0x6caade20, 0x2f989: 0x6caae020, 0x2f98a: 0x6caae220, 0x2f98b: 0x6caae420, + 0x2f98c: 0x6caae620, 0x2f98d: 0x6caae820, 0x2f98e: 0x6cd91020, 0x2f98f: 0x6cd91220, + 0x2f990: 0x6cd91420, 0x2f991: 0x6cd91620, 0x2f992: 0x6cd91820, 0x2f993: 0x6cd91a20, + 0x2f994: 0x6cd91c20, 0x2f995: 0x6d07c420, 0x2f996: 0x6d07c620, 0x2f997: 0x6d07c820, + 0x2f998: 0x6d07ca20, 0x2f999: 0x6d35c420, 0x2f99a: 0x6d35c620, 0x2f99b: 0x6d35c820, + 0x2f99c: 0x6d35ca20, 0x2f99d: 0x6d35cc20, 0x2f99e: 0x6d35ce20, 0x2f99f: 0x6d35d020, + 0x2f9a0: 0x6cd91e20, 0x2f9a1: 0x6d35d220, 0x2f9a2: 0x6d35d420, 0x2f9a3: 0x6d35d620, + 0x2f9a4: 0x6d626c20, 0x2f9a5: 0x6d626e20, 0x2f9a6: 0x6d627020, 0x2f9a7: 0x6d627220, + 0x2f9a8: 0x6d627420, 0x2f9a9: 0x6d627620, 0x2f9aa: 0x6d627820, 0x2f9ab: 0x6d627a20, + 0x2f9ac: 0x6d8c6820, 0x2f9ad: 0x6d8c6a20, 0x2f9ae: 0x6d8c9a20, 0x2f9af: 0x6db0a020, + 0x2f9b0: 0x6db0a220, 0x2f9b1: 0x6db0a420, 0x2f9b2: 0x6db0a620, 0x2f9b3: 0x6db0a820, + 0x2f9b4: 0x6db0cc20, 0x2f9b5: 0x6dd02c20, 0x2f9b6: 0x6dd02e20, 0x2f9b7: 0x6dd03020, + 0x2f9b8: 0x6dea0220, 0x2f9b9: 0x6dffc820, 0x2f9ba: 0x6dffca20, 0x2f9bb: 0x6dffcc20, + 0x2f9bc: 0x6dffce20, 0x2f9bd: 0x6e205e20, 0x2f9be: 0x6e206020, 0x2f9bf: 0x6c145220, + // Block 0xbe7, offset 0x2f9c0 + 0x2f9c0: 0x6c050820, 0x2f9c1: 0x6c81fa20, 0x2f9c2: 0x6c81fc20, 0x2f9c3: 0x6c3e5e20, + 0x2f9c4: 0x6d07fe20, 0x2f9c5: 0x6d080020, 0x2f9c6: 0x6d080220, 0x2f9c7: 0x6d360e20, + 0x2f9c8: 0x6d361020, 0x2f9c9: 0x6c145620, 0x2f9ca: 0x6c0a5420, 0x2f9cb: 0x6c145c20, + 0x2f9cc: 0x6c145e20, 0x2f9cd: 0x6c146020, 0x2f9ce: 0x6c146220, 0x2f9cf: 0x6c3e6020, + 0x2f9d0: 0x6c25ee20, 0x2f9d1: 0x6c25f020, 0x2f9d2: 0x6c25f220, 0x2f9d3: 0x6c25f420, + 0x2f9d4: 0x6c25f620, 0x2f9d5: 0x6c25f820, 0x2f9d6: 0x6c25fa20, 0x2f9d7: 0x6c25fc20, + 0x2f9d8: 0x6c25fe20, 0x2f9d9: 0x6c260020, 0x2f9da: 0x6c260220, 0x2f9db: 0x6c260420, + 0x2f9dc: 0x6c260620, 0x2f9dd: 0x6c260820, 0x2f9de: 0x6c260a20, 0x2f9df: 0x6c260c20, + 0x2f9e0: 0x6c260e20, 0x2f9e1: 0x6c3e7c20, 0x2f9e2: 0x6c3e7e20, 0x2f9e3: 0x6c3e8020, + 0x2f9e4: 0x6c3e8220, 0x2f9e5: 0x6c3e8420, 0x2f9e6: 0x6c3e8620, 0x2f9e7: 0x6c3e8820, + 0x2f9e8: 0x6c3e8a20, 0x2f9e9: 0x6c3e8c20, 0x2f9ea: 0x6c3e8e20, 0x2f9eb: 0x6c3e9020, + 0x2f9ec: 0x6c3e9220, 0x2f9ed: 0x6c3e9420, 0x2f9ee: 0x6c3e9620, 0x2f9ef: 0x6c3e9820, + 0x2f9f0: 0x6c3e9a20, 0x2f9f1: 0x6c3e9c20, 0x2f9f2: 0x6c3e9e20, 0x2f9f3: 0x6c3ea020, + 0x2f9f4: 0x6c3ea220, 0x2f9f5: 0x6c3ea420, 0x2f9f6: 0x6c3ea620, 0x2f9f7: 0x6c3ea820, + 0x2f9f8: 0x6c3eaa20, 0x2f9f9: 0x6c3eac20, 0x2f9fa: 0x6c3eae20, 0x2f9fb: 0x6c3eb020, + 0x2f9fc: 0x6c3eb220, 0x2f9fd: 0x6c3eb420, 0x2f9fe: 0x6c3eb620, 0x2f9ff: 0x6c3eb820, + // Block 0xbe8, offset 0x2fa00 + 0x2fa00: 0x6c3eba20, 0x2fa01: 0x6c3ebc20, 0x2fa02: 0x6c5d7220, 0x2fa03: 0x6c5d7420, + 0x2fa04: 0x6c5d7620, 0x2fa05: 0x6c5d7820, 0x2fa06: 0x6c5d7a20, 0x2fa07: 0x6c5d7c20, + 0x2fa08: 0x6c5d7e20, 0x2fa09: 0x6c5d8020, 0x2fa0a: 0x6c5d8220, 0x2fa0b: 0x6c5d8420, + 0x2fa0c: 0x6c5d8620, 0x2fa0d: 0x6c5d8820, 0x2fa0e: 0x6c5d8a20, 0x2fa0f: 0x6c5d8c20, + 0x2fa10: 0x6c5d8e20, 0x2fa11: 0x6c5d9020, 0x2fa12: 0x6c5d9220, 0x2fa13: 0x6c5d9420, + 0x2fa14: 0x6cd95220, 0x2fa15: 0x6c5d9620, 0x2fa16: 0x6c5d9820, 0x2fa17: 0x6c5d9a20, + 0x2fa18: 0x6c5d9c20, 0x2fa19: 0x6c5d9e20, 0x2fa1a: 0x6c5da020, 0x2fa1b: 0x6c5da220, + 0x2fa1c: 0x6c5da420, 0x2fa1d: 0x6c5da620, 0x2fa1e: 0x6c5da820, 0x2fa1f: 0x6c5daa20, + 0x2fa20: 0x6c5dac20, 0x2fa21: 0x6c5dae20, 0x2fa22: 0x6c5db020, 0x2fa23: 0x6c5db220, + 0x2fa24: 0x6c5db420, 0x2fa25: 0x6c5db620, 0x2fa26: 0x6c5db820, 0x2fa27: 0x6c5dba20, + 0x2fa28: 0x6c5dbc20, 0x2fa29: 0x6c5dbe20, 0x2fa2a: 0x6c5dc020, 0x2fa2b: 0x6c5dc220, + 0x2fa2c: 0x6cab1020, 0x2fa2d: 0x6c821220, 0x2fa2e: 0x6c821420, 0x2fa2f: 0x6c821620, + 0x2fa30: 0x6c821820, 0x2fa31: 0x6c821a20, 0x2fa32: 0x6c821c20, 0x2fa33: 0x6c821e20, + 0x2fa34: 0x6c822020, 0x2fa35: 0x6c822220, 0x2fa36: 0x6c822420, 0x2fa37: 0x6c822620, + 0x2fa38: 0x6c822820, 0x2fa39: 0x6c822a20, 0x2fa3a: 0x6c822c20, 0x2fa3b: 0x6c822e20, + 0x2fa3c: 0x6c823020, 0x2fa3d: 0x6c823220, 0x2fa3e: 0x6cd95420, 0x2fa3f: 0x6c823420, + // Block 0xbe9, offset 0x2fa40 + 0x2fa40: 0x6c823620, 0x2fa41: 0x6c823820, 0x2fa42: 0x6c823a20, 0x2fa43: 0x6c823c20, + 0x2fa44: 0x6c823e20, 0x2fa45: 0x6c824020, 0x2fa46: 0x6c824220, 0x2fa47: 0x6c824420, + 0x2fa48: 0x6c824620, 0x2fa49: 0x6c5dc420, 0x2fa4a: 0x6c824820, 0x2fa4b: 0x6c824a20, + 0x2fa4c: 0x6c824c20, 0x2fa4d: 0x6c824e20, 0x2fa4e: 0x6c825020, 0x2fa4f: 0x6c825220, + 0x2fa50: 0x6c825420, 0x2fa51: 0x6c825620, 0x2fa52: 0x6c825820, 0x2fa53: 0x6c825a20, + 0x2fa54: 0x6cd95620, 0x2fa55: 0x6cab2c20, 0x2fa56: 0x6cab2e20, 0x2fa57: 0x6cab3020, + 0x2fa58: 0x6cab3220, 0x2fa59: 0x6cab3420, 0x2fa5a: 0x6cab3620, 0x2fa5b: 0x6cab3820, + 0x2fa5c: 0x6cab3a20, 0x2fa5d: 0x6cab3c20, 0x2fa5e: 0x6cab3e20, 0x2fa5f: 0x6cab4020, + 0x2fa60: 0x6cd95820, 0x2fa61: 0x6cab4220, 0x2fa62: 0x6cab4420, 0x2fa63: 0x6cab4620, + 0x2fa64: 0x6cab4820, 0x2fa65: 0x6cab4a20, 0x2fa66: 0x6cab4c20, 0x2fa67: 0x6cab4e20, + 0x2fa68: 0x6cab5020, 0x2fa69: 0x6cab5220, 0x2fa6a: 0x6cab5420, 0x2fa6b: 0x6cab5620, + 0x2fa6c: 0x6cab5820, 0x2fa6d: 0x6cab5a20, 0x2fa6e: 0x6cab5c20, 0x2fa6f: 0x6cab5e20, + 0x2fa70: 0x6cab6020, 0x2fa71: 0x6cab6220, 0x2fa72: 0x6cab6420, 0x2fa73: 0x6cab6620, + 0x2fa74: 0x6cab6820, 0x2fa75: 0x6cab6a20, 0x2fa76: 0x6cab6c20, 0x2fa77: 0x6cab6e20, + 0x2fa78: 0x6cab7020, 0x2fa79: 0x6cd97e20, 0x2fa7a: 0x6cd98020, 0x2fa7b: 0x6cd98220, + 0x2fa7c: 0x6cd98420, 0x2fa7d: 0x6cd98620, 0x2fa7e: 0x6cd98820, 0x2fa7f: 0x6cd98a20, + // Block 0xbea, offset 0x2fa80 + 0x2fa80: 0x6cd98c20, 0x2fa81: 0x6cd98e20, 0x2fa82: 0x6cd99020, 0x2fa83: 0x6cd99220, + 0x2fa84: 0x6cd99420, 0x2fa85: 0x6cd99620, 0x2fa86: 0x6cd99820, 0x2fa87: 0x6cd99a20, + 0x2fa88: 0x6cd99c20, 0x2fa89: 0x6cd99e20, 0x2fa8a: 0x6cd9a020, 0x2fa8b: 0x6cd9a220, + 0x2fa8c: 0x6cd9a420, 0x2fa8d: 0x6cd9a620, 0x2fa8e: 0x6cd9a820, 0x2fa8f: 0x6cd9aa20, + 0x2fa90: 0x6d361a20, 0x2fa91: 0x6cd9ac20, 0x2fa92: 0x6cd9ae20, 0x2fa93: 0x6cd9b020, + 0x2fa94: 0x6cd9b220, 0x2fa95: 0x6cd9b420, 0x2fa96: 0x6cd9b620, 0x2fa97: 0x6cd9b820, + 0x2fa98: 0x6cd9ba20, 0x2fa99: 0x6cd9bc20, 0x2fa9a: 0x6cd9be20, 0x2fa9b: 0x6d082a20, + 0x2fa9c: 0x6d082c20, 0x2fa9d: 0x6d082e20, 0x2fa9e: 0x6d083020, 0x2fa9f: 0x6d083220, + 0x2faa0: 0x6d083420, 0x2faa1: 0x6d083620, 0x2faa2: 0x6d083820, 0x2faa3: 0x6d083a20, + 0x2faa4: 0x6d083c20, 0x2faa5: 0x6d083e20, 0x2faa6: 0x6d084020, 0x2faa7: 0x6d084220, + 0x2faa8: 0x6d084420, 0x2faa9: 0x6d084620, 0x2faaa: 0x6d084820, 0x2faab: 0x6d084a20, + 0x2faac: 0x6d084c20, 0x2faad: 0x6d084e20, 0x2faae: 0x6d085020, 0x2faaf: 0x6d085220, + 0x2fab0: 0x6d085420, 0x2fab1: 0x6d085620, 0x2fab2: 0x6d085820, 0x2fab3: 0x6d085a20, + 0x2fab4: 0x6cda6e20, 0x2fab5: 0x6d085c20, 0x2fab6: 0x6d085e20, 0x2fab7: 0x6d086020, + 0x2fab8: 0x6d086220, 0x2fab9: 0x6d086420, 0x2faba: 0x6d086620, 0x2fabb: 0x6d086820, + 0x2fabc: 0x6d086a20, 0x2fabd: 0x6d086c20, 0x2fabe: 0x6d086e20, 0x2fabf: 0x6d363820, + // Block 0xbeb, offset 0x2fac0 + 0x2fac0: 0x6d363a20, 0x2fac1: 0x6d363c20, 0x2fac2: 0x6d363e20, 0x2fac3: 0x6d364020, + 0x2fac4: 0x6d364220, 0x2fac5: 0x6d364420, 0x2fac6: 0x6d364620, 0x2fac7: 0x6d364820, + 0x2fac8: 0x6d364a20, 0x2fac9: 0x6d364c20, 0x2faca: 0x6d364e20, 0x2facb: 0x6d365020, + 0x2facc: 0x6d365220, 0x2facd: 0x6d365420, 0x2face: 0x6d365620, 0x2facf: 0x6d365820, + 0x2fad0: 0x6d8ca020, 0x2fad1: 0x6d365a20, 0x2fad2: 0x6d62d020, 0x2fad3: 0x6d62d220, + 0x2fad4: 0x6d62d420, 0x2fad5: 0x6d62d620, 0x2fad6: 0x6d62d820, 0x2fad7: 0x6d62da20, + 0x2fad8: 0x6d62dc20, 0x2fad9: 0x6d62de20, 0x2fada: 0x6d62e020, 0x2fadb: 0x6d62e220, + 0x2fadc: 0x6d62e420, 0x2fadd: 0x6d62e620, 0x2fade: 0x6d62e820, 0x2fadf: 0x6d62ea20, + 0x2fae0: 0x6d62ec20, 0x2fae1: 0x6d62ee20, 0x2fae2: 0x6d62f020, 0x2fae3: 0x6d62f220, + 0x2fae4: 0x6d538620, 0x2fae5: 0x6db0d420, 0x2fae6: 0x6d8cb420, 0x2fae7: 0x6d8cb620, + 0x2fae8: 0x6d8cb820, 0x2fae9: 0x6d8cba20, 0x2faea: 0x6d8cbc20, 0x2faeb: 0x6d8cbe20, + 0x2faec: 0x6d8cc020, 0x2faed: 0x6d8cc220, 0x2faee: 0x6d8cc420, 0x2faef: 0x6d8cc620, + 0x2faf0: 0x6d8cc820, 0x2faf1: 0x6d8cca20, 0x2faf2: 0x6d8ccc20, 0x2faf3: 0x6d8cce20, + 0x2faf4: 0x6d8cd020, 0x2faf5: 0x6d8cd220, 0x2faf6: 0x6d8cd420, 0x2faf7: 0x6d8d5820, + 0x2faf8: 0x6db0de20, 0x2faf9: 0x6d8d5a20, 0x2fafa: 0x6db0e020, 0x2fafb: 0x6db0e220, + 0x2fafc: 0x6db0e420, 0x2fafd: 0x6db0e620, 0x2fafe: 0x6db0e820, 0x2faff: 0x6db0ea20, + // Block 0xbec, offset 0x2fb00 + 0x2fb00: 0x6db0ec20, 0x2fb01: 0x6db0ee20, 0x2fb02: 0x6db0f020, 0x2fb03: 0x6db0f220, + 0x2fb04: 0x6db0f420, 0x2fb05: 0x6db0f620, 0x2fb06: 0x6db0f820, 0x2fb07: 0x6db0fa20, + 0x2fb08: 0x6db0fc20, 0x2fb09: 0x6db0fe20, 0x2fb0a: 0x6db10020, 0x2fb0b: 0x6dea1e20, + 0x2fb0c: 0x6db10220, 0x2fb0d: 0x6dd06620, 0x2fb0e: 0x6dd06820, 0x2fb0f: 0x6dd06a20, + 0x2fb10: 0x6dd06c20, 0x2fb11: 0x6dd06e20, 0x2fb12: 0x6dd07020, 0x2fb13: 0x6dd07220, + 0x2fb14: 0x6dea2620, 0x2fb15: 0x6dea2820, 0x2fb16: 0x6dffe420, 0x2fb17: 0x6dea2a20, + 0x2fb18: 0x6dea2c20, 0x2fb19: 0x6dffe620, 0x2fb1a: 0x6dffe820, 0x2fb1b: 0x6dffea20, + 0x2fb1c: 0x6dffec20, 0x2fb1d: 0x6e124820, 0x2fb1e: 0x6e206a20, 0x2fb1f: 0x6e206c20, + 0x2fb20: 0x6e39ae20, 0x2fb21: 0x6e39b020, 0x2fb22: 0x6e2b4820, 0x2fb23: 0x6c147a20, + 0x2fb24: 0x6c3f1a20, 0x2fb25: 0x6c3f1c20, 0x2fb26: 0x6cda7020, 0x2fb27: 0x6d36e420, + 0x2fb28: 0x6db16420, 0x2fb29: 0x6db16620, 0x2fb2a: 0x6c147e20, 0x2fb2b: 0x6c262820, + 0x2fb2c: 0x6c82dc20, 0x2fb2d: 0x6c82de20, 0x2fb2e: 0x6cda7c20, 0x2fb2f: 0x6cda7e20, + 0x2fb30: 0x6cda8020, 0x2fb31: 0x6d635a20, 0x2fb32: 0x6d8d5e20, 0x2fb33: 0x6c148220, + 0x2fb34: 0x6c5e4220, 0x2fb35: 0x6cda8c20, 0x2fb36: 0x6cda8e20, 0x2fb37: 0x6cda9020, + 0x2fb38: 0x6cda9220, 0x2fb39: 0x6cda9820, 0x2fb3a: 0x6d36f420, 0x2fb3b: 0x6d8d6620, + 0x2fb3c: 0x6c148820, 0x2fb3d: 0x6c3f2220, 0x2fb3e: 0x6c3f2420, 0x2fb3f: 0x6c5e4a20, + // Block 0xbed, offset 0x2fb40 + 0x2fb40: 0x6c82fc20, 0x2fb41: 0x6c82fe20, 0x2fb42: 0x6cabf420, 0x2fb43: 0x6cda9a20, + 0x2fb44: 0x6cda9c20, 0x2fb45: 0x6d090220, 0x2fb46: 0x6d8d7620, 0x2fb47: 0x6d370220, + 0x2fb48: 0x6d8d7220, 0x2fb49: 0x6d8d7820, 0x2fb4a: 0x6dd0c020, 0x2fb4b: 0x6dea7220, + 0x2fb4c: 0x6c149020, 0x2fb4d: 0x6c3f2c20, 0x2fb4e: 0x6c3f2e20, 0x2fb4f: 0x6c3f3020, + 0x2fb50: 0x6c831420, 0x2fb51: 0x6cac0620, 0x2fb52: 0x6cdaac20, 0x2fb53: 0x6d371820, + 0x2fb54: 0x6d371a20, 0x2fb55: 0x6d371c20, 0x2fb56: 0x6d638820, 0x2fb57: 0x6d638a20, + 0x2fb58: 0x6d8d8a20, 0x2fb59: 0x6dd0d220, 0x2fb5a: 0x6dea8020, 0x2fb5b: 0x6c149220, + 0x2fb5c: 0x6cdabe20, 0x2fb5d: 0x6d091c20, 0x2fb5e: 0x6d373020, 0x2fb5f: 0x6c149420, + 0x2fb60: 0x6c3f3620, 0x2fb61: 0x6c5e6020, 0x2fb62: 0x6c5e6220, 0x2fb63: 0x6c5e6420, + 0x2fb64: 0x6c5e6620, 0x2fb65: 0x6c832c20, 0x2fb66: 0x6c832e20, 0x2fb67: 0x6c833020, + 0x2fb68: 0x6c833220, 0x2fb69: 0x6c833420, 0x2fb6a: 0x6c833620, 0x2fb6b: 0x6c833820, + 0x2fb6c: 0x6c833a20, 0x2fb6d: 0x6c833c20, 0x2fb6e: 0x6c833e20, 0x2fb6f: 0x6c834020, + 0x2fb70: 0x6c834220, 0x2fb71: 0x6c834420, 0x2fb72: 0x6cac1820, 0x2fb73: 0x6cac1a20, + 0x2fb74: 0x6cac1c20, 0x2fb75: 0x6cac1e20, 0x2fb76: 0x6cac2020, 0x2fb77: 0x6cac2220, + 0x2fb78: 0x6cac2420, 0x2fb79: 0x6cac2620, 0x2fb7a: 0x6cac2820, 0x2fb7b: 0x6cac2a20, + 0x2fb7c: 0x6cdaca20, 0x2fb7d: 0x6cdacc20, 0x2fb7e: 0x6cdace20, 0x2fb7f: 0x6cdad020, + // Block 0xbee, offset 0x2fb80 + 0x2fb80: 0x6d092220, 0x2fb81: 0x6d092420, 0x2fb82: 0x6d092620, 0x2fb83: 0x6d092820, + 0x2fb84: 0x6d092a20, 0x2fb85: 0x6d092c20, 0x2fb86: 0x6d092e20, 0x2fb87: 0x6d093020, + 0x2fb88: 0x6d093220, 0x2fb89: 0x6d093420, 0x2fb8a: 0x6d374220, 0x2fb8b: 0x6d374420, + 0x2fb8c: 0x6d374620, 0x2fb8d: 0x6d374820, 0x2fb8e: 0x6d63a220, 0x2fb8f: 0x6d63a420, + 0x2fb90: 0x6d63a620, 0x2fb91: 0x6d63a820, 0x2fb92: 0x6d63aa20, 0x2fb93: 0x6d63ac20, + 0x2fb94: 0x6d63ae20, 0x2fb95: 0x6d8d9e20, 0x2fb96: 0x6d8da020, 0x2fb97: 0x6d8da220, + 0x2fb98: 0x6d8da420, 0x2fb99: 0x6d8da620, 0x2fb9a: 0x6db19c20, 0x2fb9b: 0x6db19e20, + 0x2fb9c: 0x6db1a020, 0x2fb9d: 0x6db1a220, 0x2fb9e: 0x6dd0e220, 0x2fb9f: 0x6dd0e420, + 0x2fba0: 0x6dd0e620, 0x2fba1: 0x6dea8620, 0x2fba2: 0x6dea8820, 0x2fba3: 0x6dea8a20, + 0x2fba4: 0x6dea8c20, 0x2fba5: 0x6dea8e20, 0x2fba6: 0x6e003620, 0x2fba7: 0x6e003820, + 0x2fba8: 0x6e003a20, 0x2fba9: 0x6e003c20, 0x2fbaa: 0x6e126c20, 0x2fbab: 0x6e208820, + 0x2fbac: 0x6e2b6e20, 0x2fbad: 0x6e33e220, 0x2fbae: 0x6c149820, 0x2fbaf: 0x6c263620, + 0x2fbb0: 0x6c3f4420, 0x2fbb1: 0x6db1bc20, 0x2fbb2: 0x6c149a20, 0x2fbb3: 0x6c835e20, + 0x2fbb4: 0x6cac4e20, 0x2fbb5: 0x6cdaf020, 0x2fbb6: 0x6deaa220, 0x2fbb7: 0x6e33e420, + 0x2fbb8: 0x6c149e20, 0x2fbb9: 0x6c020420, 0x2fbba: 0x6c0a5620, 0x2fbbb: 0x6c14a020, + 0x2fbbc: 0x6c14a220, 0x2fbbd: 0x6c14a420, 0x2fbbe: 0x6c14a620, 0x2fbbf: 0x6c14a820, + // Block 0xbef, offset 0x2fbc0 + 0x2fbc0: 0x6c14aa20, 0x2fbc1: 0x6c14ac20, 0x2fbc2: 0x6c14ae20, 0x2fbc3: 0x6c263820, + 0x2fbc4: 0x6c263a20, 0x2fbc5: 0x6c263c20, 0x2fbc6: 0x6c263e20, 0x2fbc7: 0x6c264020, + 0x2fbc8: 0x6c264220, 0x2fbc9: 0x6c264420, 0x2fbca: 0x6c264620, 0x2fbcb: 0x6c264820, + 0x2fbcc: 0x6c264a20, 0x2fbcd: 0x6c264c20, 0x2fbce: 0x6c264e20, 0x2fbcf: 0x6c265020, + 0x2fbd0: 0x6c265220, 0x2fbd1: 0x6c265420, 0x2fbd2: 0x6c265620, 0x2fbd3: 0x6c265820, + 0x2fbd4: 0x6c5e8820, 0x2fbd5: 0x6c265a20, 0x2fbd6: 0x6c265c20, 0x2fbd7: 0x6c265e20, + 0x2fbd8: 0x6c3f4c20, 0x2fbd9: 0x6c3f4e20, 0x2fbda: 0x6c3f5020, 0x2fbdb: 0x6c3f5220, + 0x2fbdc: 0x6c3f5420, 0x2fbdd: 0x6c3f5620, 0x2fbde: 0x6c3f5820, 0x2fbdf: 0x6c3f5a20, + 0x2fbe0: 0x6c3f5c20, 0x2fbe1: 0x6c3f5e20, 0x2fbe2: 0x6c3f6020, 0x2fbe3: 0x6c3f6220, + 0x2fbe4: 0x6c3f6420, 0x2fbe5: 0x6c3f6620, 0x2fbe6: 0x6c3f6820, 0x2fbe7: 0x6c3f6a20, + 0x2fbe8: 0x6c3f6c20, 0x2fbe9: 0x6c3f6e20, 0x2fbea: 0x6c3f7020, 0x2fbeb: 0x6c3f7220, + 0x2fbec: 0x6c3f7420, 0x2fbed: 0x6c3f7620, 0x2fbee: 0x6c3f7820, 0x2fbef: 0x6c3f7a20, + 0x2fbf0: 0x6c3f7c20, 0x2fbf1: 0x6c3f7e20, 0x2fbf2: 0x6c3f8020, 0x2fbf3: 0x6c3f8220, + 0x2fbf4: 0x6c3f8420, 0x2fbf5: 0x6c3f8620, 0x2fbf6: 0x6c3f8820, 0x2fbf7: 0x6c3f8a20, + 0x2fbf8: 0x6c3f8c20, 0x2fbf9: 0x6c3f8e20, 0x2fbfa: 0x6c3f9020, 0x2fbfb: 0x6c837820, + 0x2fbfc: 0x6c3f9220, 0x2fbfd: 0x6c3f9420, 0x2fbfe: 0x6c3f9620, 0x2fbff: 0x6c400c20, + // Block 0xbf0, offset 0x2fc00 + 0x2fc00: 0x6c3f9820, 0x2fc01: 0x6c3f9a20, 0x2fc02: 0x6c3f9c20, 0x2fc03: 0x6c3f9e20, + 0x2fc04: 0x6c3fa020, 0x2fc05: 0x6c3fa220, 0x2fc06: 0x6c3fa420, 0x2fc07: 0x6c3fa620, + 0x2fc08: 0x6c3fa820, 0x2fc09: 0x6c3faa20, 0x2fc0a: 0x6c3fac20, 0x2fc0b: 0x6c3fae20, + 0x2fc0c: 0x6c3fb020, 0x2fc0d: 0x6c3fb220, 0x2fc0e: 0x6c3fb420, 0x2fc0f: 0x6c3fb620, + 0x2fc10: 0x6c5e8a20, 0x2fc11: 0x6c5e8c20, 0x2fc12: 0x6c5e8e20, 0x2fc13: 0x6c5e9020, + 0x2fc14: 0x6c5e9220, 0x2fc15: 0x6c5e9420, 0x2fc16: 0x6c5e9620, 0x2fc17: 0x6c5e9820, + 0x2fc18: 0x6c5e9a20, 0x2fc19: 0x6c5e9c20, 0x2fc1a: 0x6c5e9e20, 0x2fc1b: 0x6c5ea020, + 0x2fc1c: 0x6c5ea220, 0x2fc1d: 0x6c5ea420, 0x2fc1e: 0x6c5ea620, 0x2fc1f: 0x6c5ea820, + 0x2fc20: 0x6c5eaa20, 0x2fc21: 0x6c5eac20, 0x2fc22: 0x6c5eae20, 0x2fc23: 0x6c5eb020, + 0x2fc24: 0x6c5eb220, 0x2fc25: 0x6c5eb420, 0x2fc26: 0x6c5eb620, 0x2fc27: 0x6c5eb820, + 0x2fc28: 0x6c5eba20, 0x2fc29: 0x6c5ebc20, 0x2fc2a: 0x6c5ebe20, 0x2fc2b: 0x6c5ec020, + 0x2fc2c: 0x6c5ec220, 0x2fc2d: 0x6c5ec420, 0x2fc2e: 0x6c5ec620, 0x2fc2f: 0x6c5ec820, + 0x2fc30: 0x6c5eca20, 0x2fc31: 0x6c5ecc20, 0x2fc32: 0x6c5ece20, 0x2fc33: 0x6c5ed020, + 0x2fc34: 0x6c5ed220, 0x2fc35: 0x6c5ed420, 0x2fc36: 0x6c5ed620, 0x2fc37: 0x6c5ed820, + 0x2fc38: 0x6c5eda20, 0x2fc39: 0x6c5edc20, 0x2fc3a: 0x6c5ede20, 0x2fc3b: 0x6c5ee020, + 0x2fc3c: 0x6c5ee220, 0x2fc3d: 0x6c5ee420, 0x2fc3e: 0x6c5ee620, 0x2fc3f: 0x6c5ee820, + // Block 0xbf1, offset 0x2fc40 + 0x2fc40: 0x6c5eea20, 0x2fc41: 0x6c5eec20, 0x2fc42: 0x6c5eee20, 0x2fc43: 0x6c5ef020, + 0x2fc44: 0x6c5ef220, 0x2fc45: 0x6c5ef420, 0x2fc46: 0x6c5ef620, 0x2fc47: 0x6c5ef820, + 0x2fc48: 0x6c837a20, 0x2fc49: 0x6c5efa20, 0x2fc4a: 0x6c5efc20, 0x2fc4b: 0x6c5efe20, + 0x2fc4c: 0x6c5f0020, 0x2fc4d: 0x6c5f0220, 0x2fc4e: 0x6c5f0420, 0x2fc4f: 0x6c5f0620, + 0x2fc50: 0x6c5f0820, 0x2fc51: 0x6c5f0a20, 0x2fc52: 0x6cdb1620, 0x2fc53: 0x6c5f0c20, + 0x2fc54: 0x6c5f0e20, 0x2fc55: 0x6c5f1020, 0x2fc56: 0x6c837c20, 0x2fc57: 0x6c837e20, + 0x2fc58: 0x6c838020, 0x2fc59: 0x6c838220, 0x2fc5a: 0x6c838420, 0x2fc5b: 0x6c838620, + 0x2fc5c: 0x6c838820, 0x2fc5d: 0x6cac7420, 0x2fc5e: 0x6c838a20, 0x2fc5f: 0x6c838c20, + 0x2fc60: 0x6c838e20, 0x2fc61: 0x6c839020, 0x2fc62: 0x6c839220, 0x2fc63: 0x6cac7620, + 0x2fc64: 0x6c839420, 0x2fc65: 0x6c839620, 0x2fc66: 0x6c839820, 0x2fc67: 0x6c839a20, + 0x2fc68: 0x6c839c20, 0x2fc69: 0x6c839e20, 0x2fc6a: 0x6c83a020, 0x2fc6b: 0x6c83a220, + 0x2fc6c: 0x6c83a420, 0x2fc6d: 0x6c83a620, 0x2fc6e: 0x6c83a820, 0x2fc6f: 0x6c83aa20, + 0x2fc70: 0x6c83ac20, 0x2fc71: 0x6c83ae20, 0x2fc72: 0x6c83b020, 0x2fc73: 0x6c83b220, + 0x2fc74: 0x6c83b420, 0x2fc75: 0x6c83b620, 0x2fc76: 0x6c83b820, 0x2fc77: 0x6c83ba20, + 0x2fc78: 0x6c83bc20, 0x2fc79: 0x6c83be20, 0x2fc7a: 0x6c5f9220, 0x2fc7b: 0x6cdb1820, + 0x2fc7c: 0x6c83c020, 0x2fc7d: 0x6c83c220, 0x2fc7e: 0x6c3fb820, 0x2fc7f: 0x6c83c420, + // Block 0xbf2, offset 0x2fc80 + 0x2fc80: 0x6c83c620, 0x2fc81: 0x6c83c820, 0x2fc82: 0x6c83ca20, 0x2fc83: 0x6c83cc20, + 0x2fc84: 0x6c83ce20, 0x2fc85: 0x6c83d020, 0x2fc86: 0x6cdb1a20, 0x2fc87: 0x6c83d220, + 0x2fc88: 0x6c83d420, 0x2fc89: 0x6c83d620, 0x2fc8a: 0x6c83d820, 0x2fc8b: 0x6c83da20, + 0x2fc8c: 0x6c83dc20, 0x2fc8d: 0x6c83de20, 0x2fc8e: 0x6c83e020, 0x2fc8f: 0x6c83e220, + 0x2fc90: 0x6c83e420, 0x2fc91: 0x6c83e620, 0x2fc92: 0x6c83e820, 0x2fc93: 0x6c84c420, + 0x2fc94: 0x6c83ea20, 0x2fc95: 0x6c83ec20, 0x2fc96: 0x6c83ee20, 0x2fc97: 0x6c83f020, + 0x2fc98: 0x6c83f220, 0x2fc99: 0x6cac7020, 0x2fc9a: 0x6c83f420, 0x2fc9b: 0x6c83f620, + 0x2fc9c: 0x6c83f820, 0x2fc9d: 0x6c83fa20, 0x2fc9e: 0x6c83fc20, 0x2fc9f: 0x6c83fe20, + 0x2fca0: 0x6c840020, 0x2fca1: 0x6c840220, 0x2fca2: 0x6c840420, 0x2fca3: 0x6c840620, + 0x2fca4: 0x6c840820, 0x2fca5: 0x6c840a20, 0x2fca6: 0x6c840c20, 0x2fca7: 0x6c840e20, + 0x2fca8: 0x6c841020, 0x2fca9: 0x6c841220, 0x2fcaa: 0x6c841420, 0x2fcab: 0x6cac7220, + 0x2fcac: 0x6c841620, 0x2fcad: 0x6c841820, 0x2fcae: 0x6c841a20, 0x2fcaf: 0x6c841c20, + 0x2fcb0: 0x6cac7820, 0x2fcb1: 0x6cac7a20, 0x2fcb2: 0x6cac7c20, 0x2fcb3: 0x6cac7e20, + 0x2fcb4: 0x6cac8020, 0x2fcb5: 0x6cac8220, 0x2fcb6: 0x6cac8420, 0x2fcb7: 0x6cac8620, + 0x2fcb8: 0x6cac8820, 0x2fcb9: 0x6cac8a20, 0x2fcba: 0x6cac8c20, 0x2fcbb: 0x6cac8e20, + 0x2fcbc: 0x6cac9020, 0x2fcbd: 0x6cac9220, 0x2fcbe: 0x6cac9420, 0x2fcbf: 0x6cac9620, + // Block 0xbf3, offset 0x2fcc0 + 0x2fcc0: 0x6cac9820, 0x2fcc1: 0x6cac9a20, 0x2fcc2: 0x6cac9c20, 0x2fcc3: 0x6cac9e20, + 0x2fcc4: 0x6caca020, 0x2fcc5: 0x6caca220, 0x2fcc6: 0x6caca420, 0x2fcc7: 0x6caca620, + 0x2fcc8: 0x6caca820, 0x2fcc9: 0x6cacaa20, 0x2fcca: 0x6cacac20, 0x2fccb: 0x6cacae20, + 0x2fccc: 0x6cacb020, 0x2fccd: 0x6cacb220, 0x2fcce: 0x6cacb420, 0x2fccf: 0x6cacb620, + 0x2fcd0: 0x6cacb820, 0x2fcd1: 0x6cacba20, 0x2fcd2: 0x6cacbc20, 0x2fcd3: 0x6cacbe20, + 0x2fcd4: 0x6cacc020, 0x2fcd5: 0x6cacc220, 0x2fcd6: 0x6cacc420, 0x2fcd7: 0x6cacc620, + 0x2fcd8: 0x6cacc820, 0x2fcd9: 0x6cacca20, 0x2fcda: 0x6cdb1c20, 0x2fcdb: 0x6caccc20, + 0x2fcdc: 0x6cacce20, 0x2fcdd: 0x6cacd020, 0x2fcde: 0x6cacd220, 0x2fcdf: 0x6cacd420, + 0x2fce0: 0x6cacd620, 0x2fce1: 0x6cacd820, 0x2fce2: 0x6cacda20, 0x2fce3: 0x6cacdc20, + 0x2fce4: 0x6cacde20, 0x2fce5: 0x6cace020, 0x2fce6: 0x6cace220, 0x2fce7: 0x6cace420, + 0x2fce8: 0x6cace620, 0x2fce9: 0x6cace820, 0x2fcea: 0x6cacea20, 0x2fceb: 0x6cacec20, + 0x2fcec: 0x6cacee20, 0x2fced: 0x6cae1e20, 0x2fcee: 0x6cacf020, 0x2fcef: 0x6cacf220, + 0x2fcf0: 0x6cacf420, 0x2fcf1: 0x6cacf620, 0x2fcf2: 0x6cacf820, 0x2fcf3: 0x6cacfa20, + 0x2fcf4: 0x6cacfc20, 0x2fcf5: 0x6cacfe20, 0x2fcf6: 0x6cad0020, 0x2fcf7: 0x6cad0220, + 0x2fcf8: 0x6cad0420, 0x2fcf9: 0x6cad0620, 0x2fcfa: 0x6cad0820, 0x2fcfb: 0x6d098220, + 0x2fcfc: 0x6cad0a20, 0x2fcfd: 0x6cad0c20, 0x2fcfe: 0x6cdb1e20, 0x2fcff: 0x6cdb2020, + // Block 0xbf4, offset 0x2fd00 + 0x2fd00: 0x6cdb2220, 0x2fd01: 0x6cdb2420, 0x2fd02: 0x6cdb2620, 0x2fd03: 0x6cdb2820, + 0x2fd04: 0x6cdb2a20, 0x2fd05: 0x6cdb2c20, 0x2fd06: 0x6cdb2e20, 0x2fd07: 0x6cdb3020, + 0x2fd08: 0x6cdb3220, 0x2fd09: 0x6cdb3420, 0x2fd0a: 0x6cdb3620, 0x2fd0b: 0x6cdb3820, + 0x2fd0c: 0x6cdb3a20, 0x2fd0d: 0x6cdb3c20, 0x2fd0e: 0x6cdb3e20, 0x2fd0f: 0x6cdb4020, + 0x2fd10: 0x6cdb4220, 0x2fd11: 0x6cdb4420, 0x2fd12: 0x6cdb4620, 0x2fd13: 0x6cdb4820, + 0x2fd14: 0x6cdb4a20, 0x2fd15: 0x6cdb4c20, 0x2fd16: 0x6cdb4e20, 0x2fd17: 0x6cdb5020, + 0x2fd18: 0x6cdb5220, 0x2fd19: 0x6d098420, 0x2fd1a: 0x6cdb5420, 0x2fd1b: 0x6cdb5620, + 0x2fd1c: 0x6cdb5820, 0x2fd1d: 0x6cdb5a20, 0x2fd1e: 0x6cdb5c20, 0x2fd1f: 0x6cdb5e20, + 0x2fd20: 0x6cdb6020, 0x2fd21: 0x6cdb6220, 0x2fd22: 0x6cdb6420, 0x2fd23: 0x6cdb6620, + 0x2fd24: 0x6cdb6820, 0x2fd25: 0x6cdb6a20, 0x2fd26: 0x6cdb6c20, 0x2fd27: 0x6cdb6e20, + 0x2fd28: 0x6cdb7020, 0x2fd29: 0x6cdb7220, 0x2fd2a: 0x6cdb7420, 0x2fd2b: 0x6cdb7620, + 0x2fd2c: 0x6cdb7820, 0x2fd2d: 0x6cdb7a20, 0x2fd2e: 0x6cdb7c20, 0x2fd2f: 0x6cdb7e20, + 0x2fd30: 0x6cdb8020, 0x2fd31: 0x6cdb8220, 0x2fd32: 0x6cdb8420, 0x2fd33: 0x6cdb8620, + 0x2fd34: 0x6cdb8820, 0x2fd35: 0x6cdb8a20, 0x2fd36: 0x6cdb8c20, 0x2fd37: 0x6cdb8e20, + 0x2fd38: 0x6cdb9020, 0x2fd39: 0x6cdb9220, 0x2fd3a: 0x6cdb9420, 0x2fd3b: 0x6cdb9620, + 0x2fd3c: 0x6cdb9820, 0x2fd3d: 0x6cdb9a20, 0x2fd3e: 0x6cdb9c20, 0x2fd3f: 0x6cdb9e20, + // Block 0xbf5, offset 0x2fd40 + 0x2fd40: 0x6cdba020, 0x2fd41: 0x6cdba220, 0x2fd42: 0x6cdba420, 0x2fd43: 0x6cdba620, + 0x2fd44: 0x6cdba820, 0x2fd45: 0x6cdbaa20, 0x2fd46: 0x6cdbac20, 0x2fd47: 0x6cdbae20, + 0x2fd48: 0x6cdbb020, 0x2fd49: 0x6cdbb220, 0x2fd4a: 0x6cdbb420, 0x2fd4b: 0x6cdbb620, + 0x2fd4c: 0x6cdbb820, 0x2fd4d: 0x6cdbba20, 0x2fd4e: 0x6cdbbc20, 0x2fd4f: 0x6cdbbe20, + 0x2fd50: 0x6cdbc020, 0x2fd51: 0x6cdbc220, 0x2fd52: 0x6cdbc420, 0x2fd53: 0x6cdbc620, + 0x2fd54: 0x6cdbc820, 0x2fd55: 0x6cdbca20, 0x2fd56: 0x6cdbcc20, 0x2fd57: 0x6cdbce20, + 0x2fd58: 0x6cdbd020, 0x2fd59: 0x6cdbd220, 0x2fd5a: 0x6cdbd420, 0x2fd5b: 0x6cdbd620, + 0x2fd5c: 0x6cdbd820, 0x2fd5d: 0x6cdbda20, 0x2fd5e: 0x6cdbdc20, 0x2fd5f: 0x6cdbde20, + 0x2fd60: 0x6cdbe020, 0x2fd61: 0x6cdbe220, 0x2fd62: 0x6cdbe420, 0x2fd63: 0x6cdbe620, + 0x2fd64: 0x6cdbe820, 0x2fd65: 0x6d098620, 0x2fd66: 0x6cdbea20, 0x2fd67: 0x6cdbec20, + 0x2fd68: 0x6d098820, 0x2fd69: 0x6d098a20, 0x2fd6a: 0x6d098c20, 0x2fd6b: 0x6d098e20, + 0x2fd6c: 0x6d037820, 0x2fd6d: 0x6d099020, 0x2fd6e: 0x6d099220, 0x2fd6f: 0x6d099420, + 0x2fd70: 0x6d099620, 0x2fd71: 0x6d099820, 0x2fd72: 0x6d099a20, 0x2fd73: 0x6d099c20, + 0x2fd74: 0x6d099e20, 0x2fd75: 0x6d09a020, 0x2fd76: 0x6d09a220, 0x2fd77: 0x6d09a420, + 0x2fd78: 0x6cdd4420, 0x2fd79: 0x6d09a620, 0x2fd7a: 0x6d09a820, 0x2fd7b: 0x6d09aa20, + 0x2fd7c: 0x6d09ac20, 0x2fd7d: 0x6d09ae20, 0x2fd7e: 0x6d09b020, 0x2fd7f: 0x6d09b220, + // Block 0xbf6, offset 0x2fd80 + 0x2fd80: 0x6d09b420, 0x2fd81: 0x6d09b620, 0x2fd82: 0x6d09b820, 0x2fd83: 0x6d09ba20, + 0x2fd84: 0x6d09bc20, 0x2fd85: 0x6d09be20, 0x2fd86: 0x6d09c020, 0x2fd87: 0x6d09c220, + 0x2fd88: 0x6d09c420, 0x2fd89: 0x6d09c620, 0x2fd8a: 0x6d09c820, 0x2fd8b: 0x6d09ca20, + 0x2fd8c: 0x6d09cc20, 0x2fd8d: 0x6d09ce20, 0x2fd8e: 0x6d09d020, 0x2fd8f: 0x6d09d220, + 0x2fd90: 0x6d09d420, 0x2fd91: 0x6d09d620, 0x2fd92: 0x6d09d820, 0x2fd93: 0x6d09da20, + 0x2fd94: 0x6d09dc20, 0x2fd95: 0x6d09de20, 0x2fd96: 0x6d09e020, 0x2fd97: 0x6cdbee20, + 0x2fd98: 0x6d09e220, 0x2fd99: 0x6d09e420, 0x2fd9a: 0x6d09e620, 0x2fd9b: 0x6d09e820, + 0x2fd9c: 0x6d09ea20, 0x2fd9d: 0x6d09ec20, 0x2fd9e: 0x6d09ee20, 0x2fd9f: 0x6d09f020, + 0x2fda0: 0x6d09f220, 0x2fda1: 0x6d09f420, 0x2fda2: 0x6d09f620, 0x2fda3: 0x6d09f820, + 0x2fda4: 0x6d09fa20, 0x2fda5: 0x6d09fc20, 0x2fda6: 0x6d09fe20, 0x2fda7: 0x6d0a0020, + 0x2fda8: 0x6d0a0220, 0x2fda9: 0x6d0a0420, 0x2fdaa: 0x6d0a0620, 0x2fdab: 0x6d0a0820, + 0x2fdac: 0x6d0a0a20, 0x2fdad: 0x6d0a0c20, 0x2fdae: 0x6d0a0e20, 0x2fdaf: 0x6d0a1020, + 0x2fdb0: 0x6d0a1220, 0x2fdb1: 0x6d0a1420, 0x2fdb2: 0x6d0a1620, 0x2fdb3: 0x6d0a1820, + 0x2fdb4: 0x6d0a1a20, 0x2fdb5: 0x6d0a1c20, 0x2fdb6: 0x6d0a1e20, 0x2fdb7: 0x6d0a2020, + 0x2fdb8: 0x6d0a2220, 0x2fdb9: 0x6d0a2420, 0x2fdba: 0x6d0a2620, 0x2fdbb: 0x6d0a2820, + 0x2fdbc: 0x6d0a2a20, 0x2fdbd: 0x6d0a2c20, 0x2fdbe: 0x6d0a2e20, 0x2fdbf: 0x6d0a3020, + // Block 0xbf7, offset 0x2fdc0 + 0x2fdc0: 0x6d0a3220, 0x2fdc1: 0x6d0a3420, 0x2fdc2: 0x6d0a3620, 0x2fdc3: 0x6d0a3820, + 0x2fdc4: 0x6d0a3a20, 0x2fdc5: 0x6d0a3c20, 0x2fdc6: 0x6d0a3e20, 0x2fdc7: 0x6d0a4020, + 0x2fdc8: 0x6d0a4220, 0x2fdc9: 0x6d0a4420, 0x2fdca: 0x6d640e20, 0x2fdcb: 0x6d0a4620, + 0x2fdcc: 0x6d0a4820, 0x2fdcd: 0x6d0a4a20, 0x2fdce: 0x6d0a4c20, 0x2fdcf: 0x6d0a4e20, + 0x2fdd0: 0x6d37b020, 0x2fdd1: 0x6d37b220, 0x2fdd2: 0x6d37b420, 0x2fdd3: 0x6d37b620, + 0x2fdd4: 0x6d37b820, 0x2fdd5: 0x6d37ba20, 0x2fdd6: 0x6d37bc20, 0x2fdd7: 0x6d37be20, + 0x2fdd8: 0x6d37c020, 0x2fdd9: 0x6d37c220, 0x2fdda: 0x6d37c420, 0x2fddb: 0x6d37c620, + 0x2fddc: 0x6d37c820, 0x2fddd: 0x6d37ca20, 0x2fdde: 0x6d37cc20, 0x2fddf: 0x6d37ce20, + 0x2fde0: 0x6d37d020, 0x2fde1: 0x6d37d220, 0x2fde2: 0x6d37d420, 0x2fde3: 0x6d37d620, + 0x2fde4: 0x6d37d820, 0x2fde5: 0x6d37da20, 0x2fde6: 0x6d37dc20, 0x2fde7: 0x6d37de20, + 0x2fde8: 0x6d37e020, 0x2fde9: 0x6d37e220, 0x2fdea: 0x6d37e420, 0x2fdeb: 0x6d37e620, + 0x2fdec: 0x6d37e820, 0x2fded: 0x6d37ea20, 0x2fdee: 0x6d37ec20, 0x2fdef: 0x6d37ee20, + 0x2fdf0: 0x6d37f020, 0x2fdf1: 0x6d37f220, 0x2fdf2: 0x6d37f420, 0x2fdf3: 0x6d37f620, + 0x2fdf4: 0x6d37f820, 0x2fdf5: 0x6d37fa20, 0x2fdf6: 0x6d37fc20, 0x2fdf7: 0x6d37fe20, + 0x2fdf8: 0x6d2b2a20, 0x2fdf9: 0x6d380020, 0x2fdfa: 0x6d380220, 0x2fdfb: 0x6d380420, + 0x2fdfc: 0x6d380620, 0x2fdfd: 0x6d380820, 0x2fdfe: 0x6d380a20, 0x2fdff: 0x6d380c20, + // Block 0xbf8, offset 0x2fe00 + 0x2fe00: 0x6d380e20, 0x2fe01: 0x6d381020, 0x2fe02: 0x6d381220, 0x2fe03: 0x6d381420, + 0x2fe04: 0x6d381620, 0x2fe05: 0x6d0bb820, 0x2fe06: 0x6d381820, 0x2fe07: 0x6d381a20, + 0x2fe08: 0x6d0bba20, 0x2fe09: 0x6d381c20, 0x2fe0a: 0x6d381e20, 0x2fe0b: 0x6d382020, + 0x2fe0c: 0x6d382220, 0x2fe0d: 0x6d382420, 0x2fe0e: 0x6d382620, 0x2fe0f: 0x6d382820, + 0x2fe10: 0x6d382a20, 0x2fe11: 0x6d382c20, 0x2fe12: 0x6d382e20, 0x2fe13: 0x6d383020, + 0x2fe14: 0x6d383220, 0x2fe15: 0x6d383420, 0x2fe16: 0x6d383620, 0x2fe17: 0x6d383820, + 0x2fe18: 0x6d383a20, 0x2fe19: 0x6d383c20, 0x2fe1a: 0x6d383e20, 0x2fe1b: 0x6d384020, + 0x2fe1c: 0x6d384220, 0x2fe1d: 0x6d384420, 0x2fe1e: 0x6d8dfe20, 0x2fe1f: 0x6d384620, + 0x2fe20: 0x6d641020, 0x2fe21: 0x6d384820, 0x2fe22: 0x6d384a20, 0x2fe23: 0x6d384c20, + 0x2fe24: 0x6d384e20, 0x2fe25: 0x6d39b820, 0x2fe26: 0x6d385020, 0x2fe27: 0x6d641220, + 0x2fe28: 0x6d641420, 0x2fe29: 0x6d641620, 0x2fe2a: 0x6d641820, 0x2fe2b: 0x6d641a20, + 0x2fe2c: 0x6d641c20, 0x2fe2d: 0x6d641e20, 0x2fe2e: 0x6d642020, 0x2fe2f: 0x6d642220, + 0x2fe30: 0x6d642420, 0x2fe31: 0x6d0bbc20, 0x2fe32: 0x6d642620, 0x2fe33: 0x6d642820, + 0x2fe34: 0x6d642a20, 0x2fe35: 0x6d642c20, 0x2fe36: 0x6d642e20, 0x2fe37: 0x6d643020, + 0x2fe38: 0x6d643220, 0x2fe39: 0x6d643420, 0x2fe3a: 0x6d643620, 0x2fe3b: 0x6d643820, + 0x2fe3c: 0x6d643a20, 0x2fe3d: 0x6d643c20, 0x2fe3e: 0x6d643e20, 0x2fe3f: 0x6d644020, + // Block 0xbf9, offset 0x2fe40 + 0x2fe40: 0x6d644220, 0x2fe41: 0x6d644420, 0x2fe42: 0x6d644620, 0x2fe43: 0x6d644820, + 0x2fe44: 0x6d644a20, 0x2fe45: 0x6d644c20, 0x2fe46: 0x6d644e20, 0x2fe47: 0x6d0bbe20, + 0x2fe48: 0x6d645020, 0x2fe49: 0x6d645220, 0x2fe4a: 0x6d645420, 0x2fe4b: 0x6d645620, + 0x2fe4c: 0x6d645820, 0x2fe4d: 0x6d645a20, 0x2fe4e: 0x6d645c20, 0x2fe4f: 0x6d645e20, + 0x2fe50: 0x6d646020, 0x2fe51: 0x6d646220, 0x2fe52: 0x6d646420, 0x2fe53: 0x6d646620, + 0x2fe54: 0x6d646820, 0x2fe55: 0x6d646a20, 0x2fe56: 0x6d646c20, 0x2fe57: 0x6d646e20, + 0x2fe58: 0x6d647020, 0x2fe59: 0x6d647220, 0x2fe5a: 0x6d647420, 0x2fe5b: 0x6d647620, + 0x2fe5c: 0x6d647820, 0x2fe5d: 0x6d647a20, 0x2fe5e: 0x6d647c20, 0x2fe5f: 0x6d647e20, + 0x2fe60: 0x6d648020, 0x2fe61: 0x6d648220, 0x2fe62: 0x6d648420, 0x2fe63: 0x6d648620, + 0x2fe64: 0x6d648820, 0x2fe65: 0x6d648a20, 0x2fe66: 0x6d648c20, 0x2fe67: 0x6d648e20, + 0x2fe68: 0x6d649020, 0x2fe69: 0x6d649220, 0x2fe6a: 0x6d649420, 0x2fe6b: 0x6d649620, + 0x2fe6c: 0x6d649820, 0x2fe6d: 0x6d649a20, 0x2fe6e: 0x6d649c20, 0x2fe6f: 0x6d649e20, + 0x2fe70: 0x6d64a020, 0x2fe71: 0x6d64a220, 0x2fe72: 0x6d64a420, 0x2fe73: 0x6d64a620, + 0x2fe74: 0x6d64a820, 0x2fe75: 0x6d64aa20, 0x2fe76: 0x6d64ac20, 0x2fe77: 0x6d64ae20, + 0x2fe78: 0x6d64b020, 0x2fe79: 0x6d64b220, 0x2fe7a: 0x6d64b420, 0x2fe7b: 0x6d64b620, + 0x2fe7c: 0x6d64b820, 0x2fe7d: 0x6d65f020, 0x2fe7e: 0x6d8e0020, 0x2fe7f: 0x6d8e0220, + // Block 0xbfa, offset 0x2fe80 + 0x2fe80: 0x6d8e0420, 0x2fe81: 0x6d8e0620, 0x2fe82: 0x6d8e0820, 0x2fe83: 0x6d8e0a20, + 0x2fe84: 0x6d8e0c20, 0x2fe85: 0x6d8e0e20, 0x2fe86: 0x6d8e1020, 0x2fe87: 0x6d8e1220, + 0x2fe88: 0x6d8e1420, 0x2fe89: 0x6d8e1620, 0x2fe8a: 0x6d8e1820, 0x2fe8b: 0x6d8e1a20, + 0x2fe8c: 0x6d8e1c20, 0x2fe8d: 0x6d8e1e20, 0x2fe8e: 0x6d8e2020, 0x2fe8f: 0x6d65f220, + 0x2fe90: 0x6d8e2220, 0x2fe91: 0x6d8e2420, 0x2fe92: 0x6d8e2620, 0x2fe93: 0x6d8e2820, + 0x2fe94: 0x6d8e2a20, 0x2fe95: 0x6d8e2c20, 0x2fe96: 0x6d8e2e20, 0x2fe97: 0x6db1fe20, + 0x2fe98: 0x6d8e3020, 0x2fe99: 0x6d8e3220, 0x2fe9a: 0x6d8e3420, 0x2fe9b: 0x6d8e3620, + 0x2fe9c: 0x6d8e3820, 0x2fe9d: 0x6d8e3a20, 0x2fe9e: 0x6d8e3c20, 0x2fe9f: 0x6d8e3e20, + 0x2fea0: 0x6d8e4020, 0x2fea1: 0x6d8e4220, 0x2fea2: 0x6d8e4420, 0x2fea3: 0x6d8e4620, + 0x2fea4: 0x6d8e4820, 0x2fea5: 0x6d8e4a20, 0x2fea6: 0x6d8e4c20, 0x2fea7: 0x6d8e4e20, + 0x2fea8: 0x6d8e5020, 0x2fea9: 0x6d8e5220, 0x2feaa: 0x6d8e5420, 0x2feab: 0x6d8e5620, + 0x2feac: 0x6d8e5820, 0x2fead: 0x6d8e5a20, 0x2feae: 0x6d8e5c20, 0x2feaf: 0x6d8e5e20, + 0x2feb0: 0x6d8e6020, 0x2feb1: 0x6d8e6220, 0x2feb2: 0x6d8e6420, 0x2feb3: 0x6d8e6620, + 0x2feb4: 0x6d8e6820, 0x2feb5: 0x6d8e6a20, 0x2feb6: 0x6db20020, 0x2feb7: 0x6db20220, + 0x2feb8: 0x6db20420, 0x2feb9: 0x6db20620, 0x2feba: 0x6db20820, 0x2febb: 0x6db20a20, + 0x2febc: 0x6db20c20, 0x2febd: 0x6db20e20, 0x2febe: 0x6db21020, 0x2febf: 0x6db21220, + // Block 0xbfb, offset 0x2fec0 + 0x2fec0: 0x6db21420, 0x2fec1: 0x6db21620, 0x2fec2: 0x6db21820, 0x2fec3: 0x6db21a20, + 0x2fec4: 0x6db21c20, 0x2fec5: 0x6db21e20, 0x2fec6: 0x6db22020, 0x2fec7: 0x6db22220, + 0x2fec8: 0x6db22420, 0x2fec9: 0x6db22620, 0x2feca: 0x6db22820, 0x2fecb: 0x6db22a20, + 0x2fecc: 0x6d8fc420, 0x2fecd: 0x6db22c20, 0x2fece: 0x6db22e20, 0x2fecf: 0x6db23020, + 0x2fed0: 0x6db23220, 0x2fed1: 0x6db23420, 0x2fed2: 0x6db23620, 0x2fed3: 0x6db23820, + 0x2fed4: 0x6db23a20, 0x2fed5: 0x6db23c20, 0x2fed6: 0x6db23e20, 0x2fed7: 0x6db24020, + 0x2fed8: 0x6db24220, 0x2fed9: 0x6db24420, 0x2feda: 0x6db24620, 0x2fedb: 0x6db24820, + 0x2fedc: 0x6db24a20, 0x2fedd: 0x6db24c20, 0x2fede: 0x6db24e20, 0x2fedf: 0x6db25020, + 0x2fee0: 0x6db25220, 0x2fee1: 0x6db25420, 0x2fee2: 0x6db25620, 0x2fee3: 0x6db25820, + 0x2fee4: 0x6db25a20, 0x2fee5: 0x6db25c20, 0x2fee6: 0x6db25e20, 0x2fee7: 0x6db26020, + 0x2fee8: 0x6db26220, 0x2fee9: 0x6dd14c20, 0x2feea: 0x6db26420, 0x2feeb: 0x6db26620, + 0x2feec: 0x6db26820, 0x2feed: 0x6db39420, 0x2feee: 0x6db26a20, 0x2feef: 0x6db39620, + 0x2fef0: 0x6dd14e20, 0x2fef1: 0x6dd15020, 0x2fef2: 0x6dd15220, 0x2fef3: 0x6dd15420, + 0x2fef4: 0x6dd15620, 0x2fef5: 0x6dd15820, 0x2fef6: 0x6dd15a20, 0x2fef7: 0x6dd15c20, + 0x2fef8: 0x6dd15e20, 0x2fef9: 0x6dd16020, 0x2fefa: 0x6dd16220, 0x2fefb: 0x6dd16420, + 0x2fefc: 0x6dd16620, 0x2fefd: 0x6dd16820, 0x2fefe: 0x6dd16a20, 0x2feff: 0x6dd16c20, + // Block 0xbfc, offset 0x2ff00 + 0x2ff00: 0x6dd16e20, 0x2ff01: 0x6dd17020, 0x2ff02: 0x6dd17220, 0x2ff03: 0x6dd17420, + 0x2ff04: 0x6dd17620, 0x2ff05: 0x6dd17820, 0x2ff06: 0x6dd17a20, 0x2ff07: 0x6dd17c20, + 0x2ff08: 0x6dd17e20, 0x2ff09: 0x6dd18020, 0x2ff0a: 0x6dd18220, 0x2ff0b: 0x6dd18420, + 0x2ff0c: 0x6dd18620, 0x2ff0d: 0x6dd18820, 0x2ff0e: 0x6dd18a20, 0x2ff0f: 0x6dd18c20, + 0x2ff10: 0x6dd18e20, 0x2ff11: 0x6deac020, 0x2ff12: 0x6dd19020, 0x2ff13: 0x6dd19220, + 0x2ff14: 0x6e128a20, 0x2ff15: 0x6deac220, 0x2ff16: 0x6deac420, 0x2ff17: 0x6deac620, + 0x2ff18: 0x6deac820, 0x2ff19: 0x6deaca20, 0x2ff1a: 0x6deacc20, 0x2ff1b: 0x6deace20, + 0x2ff1c: 0x6dead020, 0x2ff1d: 0x6dead220, 0x2ff1e: 0x6dead420, 0x2ff1f: 0x6dead620, + 0x2ff20: 0x6dead820, 0x2ff21: 0x6deada20, 0x2ff22: 0x6deadc20, 0x2ff23: 0x6deade20, + 0x2ff24: 0x6deae020, 0x2ff25: 0x6deae220, 0x2ff26: 0x6deae420, 0x2ff27: 0x6deae620, + 0x2ff28: 0x6deae820, 0x2ff29: 0x6deaea20, 0x2ff2a: 0x6deaec20, 0x2ff2b: 0x6deaee20, + 0x2ff2c: 0x6deaf020, 0x2ff2d: 0x6deaf220, 0x2ff2e: 0x6e006c20, 0x2ff2f: 0x6deaf420, + 0x2ff30: 0x6deaf620, 0x2ff31: 0x6deaf820, 0x2ff32: 0x6deafa20, 0x2ff33: 0x6deafc20, + 0x2ff34: 0x6deafe20, 0x2ff35: 0x6deb0020, 0x2ff36: 0x6e006e20, 0x2ff37: 0x6debce20, + 0x2ff38: 0x6debd020, 0x2ff39: 0x6e007020, 0x2ff3a: 0x6e007220, 0x2ff3b: 0x6e007420, + 0x2ff3c: 0x6e007620, 0x2ff3d: 0x6e007820, 0x2ff3e: 0x6e007a20, 0x2ff3f: 0x6e007c20, + // Block 0xbfd, offset 0x2ff40 + 0x2ff40: 0x6e007e20, 0x2ff41: 0x6e008020, 0x2ff42: 0x6e008220, 0x2ff43: 0x6e008420, + 0x2ff44: 0x6e008620, 0x2ff45: 0x6e008820, 0x2ff46: 0x6e008a20, 0x2ff47: 0x6e008c20, + 0x2ff48: 0x6e008e20, 0x2ff49: 0x6e009020, 0x2ff4a: 0x6e009220, 0x2ff4b: 0x6e009420, + 0x2ff4c: 0x6e009620, 0x2ff4d: 0x6e009820, 0x2ff4e: 0x6e009a20, 0x2ff4f: 0x6e009c20, + 0x2ff50: 0x6e009e20, 0x2ff51: 0x6e00a020, 0x2ff52: 0x6e015420, 0x2ff53: 0x6e00a220, + 0x2ff54: 0x6e00a420, 0x2ff55: 0x6e128c20, 0x2ff56: 0x6e128e20, 0x2ff57: 0x6e129020, + 0x2ff58: 0x6e129220, 0x2ff59: 0x6e129420, 0x2ff5a: 0x6e129620, 0x2ff5b: 0x6e015620, + 0x2ff5c: 0x6e129820, 0x2ff5d: 0x6e129a20, 0x2ff5e: 0x6e129c20, 0x2ff5f: 0x6e129e20, + 0x2ff60: 0x6e12a020, 0x2ff61: 0x6e12a220, 0x2ff62: 0x6e00a620, 0x2ff63: 0x6e12a420, + 0x2ff64: 0x6e006a20, 0x2ff65: 0x6e12a620, 0x2ff66: 0x6e12a820, 0x2ff67: 0x6e12aa20, + 0x2ff68: 0x6e12ac20, 0x2ff69: 0x6e12ae20, 0x2ff6a: 0x6e12b020, 0x2ff6b: 0x6e12b220, + 0x2ff6c: 0x6e20b820, 0x2ff6d: 0x6e12b420, 0x2ff6e: 0x6e12b620, 0x2ff6f: 0x6e12b820, + 0x2ff70: 0x6e015820, 0x2ff71: 0x6e2b7e20, 0x2ff72: 0x6e20ba20, 0x2ff73: 0x6e20bc20, + 0x2ff74: 0x6e20be20, 0x2ff75: 0x6e20c020, 0x2ff76: 0x6e20c220, 0x2ff77: 0x6e20c420, + 0x2ff78: 0x6e2b8020, 0x2ff79: 0x6e2b8220, 0x2ff7a: 0x6e2b8420, 0x2ff7b: 0x6e2b8620, + 0x2ff7c: 0x6e2b8820, 0x2ff7d: 0x6e2b8a20, 0x2ff7e: 0x6e2b8c20, 0x2ff7f: 0x6e2b8e20, + // Block 0xbfe, offset 0x2ff80 + 0x2ff80: 0x6e2b9020, 0x2ff81: 0x6e2b9220, 0x2ff82: 0x6e39ca20, 0x2ff83: 0x6e33ec20, + 0x2ff84: 0x6e3df420, 0x2ff85: 0x6e33ee20, 0x2ff86: 0x6e39cc20, 0x2ff87: 0x6e39ce20, + 0x2ff88: 0x6e39d020, 0x2ff89: 0x6e39d220, 0x2ff8a: 0x6e40cc20, 0x2ff8b: 0x6e446620, + 0x2ff8c: 0x6e42fa20, 0x2ff8d: 0x6c14ca20, 0x2ff8e: 0x6c401020, 0x2ff8f: 0x6c401220, + 0x2ff90: 0x6c5f9620, 0x2ff91: 0x6c84ce20, 0x2ff92: 0x6c674020, 0x2ff93: 0x6c84d020, + 0x2ff94: 0x6c84d220, 0x2ff95: 0x6cae2620, 0x2ff96: 0x6cae2820, 0x2ff97: 0x6cae2a20, + 0x2ff98: 0x6cae2c20, 0x2ff99: 0x6cae2e20, 0x2ff9a: 0x6cae3020, 0x2ff9b: 0x6cdd4c20, + 0x2ff9c: 0x6d0bc020, 0x2ff9d: 0x6cdd4e20, 0x2ff9e: 0x6d0bcc20, 0x2ff9f: 0x6d0bce20, + 0x2ffa0: 0x6d39ba20, 0x2ffa1: 0x6d39bc20, 0x2ffa2: 0x6d65f620, 0x2ffa3: 0x6d8fc620, + 0x2ffa4: 0x6d8fca20, 0x2ffa5: 0x6d8fcc20, 0x2ffa6: 0x6d8fce20, 0x2ffa7: 0x6db39a20, + 0x2ffa8: 0x6db39c20, 0x2ffa9: 0x6dd29a20, 0x2ffaa: 0x6e3e1220, 0x2ffab: 0x6c14cc20, + 0x2ffac: 0x6c268a20, 0x2ffad: 0x6c401620, 0x2ffae: 0x6c401820, 0x2ffaf: 0x6c401a20, + 0x2ffb0: 0x6c401c20, 0x2ffb1: 0x6c401e20, 0x2ffb2: 0x6c402020, 0x2ffb3: 0x6c5fa820, + 0x2ffb4: 0x6c5faa20, 0x2ffb5: 0x6c5fac20, 0x2ffb6: 0x6c5fae20, 0x2ffb7: 0x6c5fb020, + 0x2ffb8: 0x6c5fb220, 0x2ffb9: 0x6c5fb420, 0x2ffba: 0x6c5fb620, 0x2ffbb: 0x6c5fb820, + 0x2ffbc: 0x6c5fba20, 0x2ffbd: 0x6c5fbc20, 0x2ffbe: 0x6c5fbe20, 0x2ffbf: 0x6c5fc020, + // Block 0xbff, offset 0x2ffc0 + 0x2ffc0: 0x6c5fc220, 0x2ffc1: 0x6c5fc420, 0x2ffc2: 0x6c5fc620, 0x2ffc3: 0x6c5fc820, + 0x2ffc4: 0x6c84e420, 0x2ffc5: 0x6c84e620, 0x2ffc6: 0x6c84e820, 0x2ffc7: 0x6c84ea20, + 0x2ffc8: 0x6cdd7820, 0x2ffc9: 0x6c84ec20, 0x2ffca: 0x6c84ee20, 0x2ffcb: 0x6c84f020, + 0x2ffcc: 0x6c84f220, 0x2ffcd: 0x6c84f420, 0x2ffce: 0x6c84f620, 0x2ffcf: 0x6c84f820, + 0x2ffd0: 0x6c84fa20, 0x2ffd1: 0x6c84fc20, 0x2ffd2: 0x6c84fe20, 0x2ffd3: 0x6c850020, + 0x2ffd4: 0x6c850220, 0x2ffd5: 0x6c850420, 0x2ffd6: 0x6c850620, 0x2ffd7: 0x6c850820, + 0x2ffd8: 0x6c850a20, 0x2ffd9: 0x6c850c20, 0x2ffda: 0x6c850e20, 0x2ffdb: 0x6c851020, + 0x2ffdc: 0x6c851220, 0x2ffdd: 0x6c851420, 0x2ffde: 0x6c851620, 0x2ffdf: 0x6c851820, + 0x2ffe0: 0x6c851a20, 0x2ffe1: 0x6c851c20, 0x2ffe2: 0x6c851e20, 0x2ffe3: 0x6c852020, + 0x2ffe4: 0x6c852220, 0x2ffe5: 0x6c852420, 0x2ffe6: 0x6c852620, 0x2ffe7: 0x6c852820, + 0x2ffe8: 0x6c852a20, 0x2ffe9: 0x6c852c20, 0x2ffea: 0x6c852e20, 0x2ffeb: 0x6cae6020, + 0x2ffec: 0x6c853020, 0x2ffed: 0x6cae6220, 0x2ffee: 0x6cae6420, 0x2ffef: 0x6cae6620, + 0x2fff0: 0x6cae6820, 0x2fff1: 0x6cae6a20, 0x2fff2: 0x6cae6c20, 0x2fff3: 0x6cae6e20, + 0x2fff4: 0x6cae7020, 0x2fff5: 0x6cae7220, 0x2fff6: 0x6cae7420, 0x2fff7: 0x6cae7620, + 0x2fff8: 0x6cae7820, 0x2fff9: 0x6cae7a20, 0x2fffa: 0x6cae7c20, 0x2fffb: 0x6cae7e20, + 0x2fffc: 0x6cae8020, 0x2fffd: 0x6cae8220, 0x2fffe: 0x6cae8420, 0x2ffff: 0x6cae8620, + // Block 0xc00, offset 0x30000 + 0x30000: 0x6cae8820, 0x30001: 0x6cae8a20, 0x30002: 0x6cae8c20, 0x30003: 0x6cae8e20, + 0x30004: 0x6cae9020, 0x30005: 0x6cae9220, 0x30006: 0x6cae9420, 0x30007: 0x6cae9620, + 0x30008: 0x6cae9820, 0x30009: 0x6cae9a20, 0x3000a: 0x6cae9c20, 0x3000b: 0x6cae9e20, + 0x3000c: 0x6caea020, 0x3000d: 0x6caea220, 0x3000e: 0x6caea420, 0x3000f: 0x6caea620, + 0x30010: 0x6cdd7a20, 0x30011: 0x6cdd7c20, 0x30012: 0x6cdd7e20, 0x30013: 0x6cdd8020, + 0x30014: 0x6cdd8220, 0x30015: 0x6cdd8420, 0x30016: 0x6d0bf020, 0x30017: 0x6cdd8620, + 0x30018: 0x6cdd8820, 0x30019: 0x6cdd8a20, 0x3001a: 0x6cdd8c20, 0x3001b: 0x6cdd8e20, + 0x3001c: 0x6cdd9020, 0x3001d: 0x6cdd9220, 0x3001e: 0x6cdd9420, 0x3001f: 0x6cdd9620, + 0x30020: 0x6cdd9820, 0x30021: 0x6cdd9a20, 0x30022: 0x6cdd9c20, 0x30023: 0x6cdd9e20, + 0x30024: 0x6cdda020, 0x30025: 0x6cdda220, 0x30026: 0x6cdda420, 0x30027: 0x6cdda620, + 0x30028: 0x6cdda820, 0x30029: 0x6cddaa20, 0x3002a: 0x6cddac20, 0x3002b: 0x6cddae20, + 0x3002c: 0x6cddb020, 0x3002d: 0x6cddb220, 0x3002e: 0x6cddb420, 0x3002f: 0x6cddb620, + 0x30030: 0x6cddb820, 0x30031: 0x6cddba20, 0x30032: 0x6cddbc20, 0x30033: 0x6cddbe20, + 0x30034: 0x6cddc020, 0x30035: 0x6d0bf220, 0x30036: 0x6d0bf420, 0x30037: 0x6d0bf620, + 0x30038: 0x6d0bf820, 0x30039: 0x6d0bfa20, 0x3003a: 0x6d0bfc20, 0x3003b: 0x6d0bfe20, + 0x3003c: 0x6d0c0020, 0x3003d: 0x6d0c0220, 0x3003e: 0x6d0c0420, 0x3003f: 0x6d0c0620, + // Block 0xc01, offset 0x30040 + 0x30040: 0x6d0c0820, 0x30041: 0x6d0c0a20, 0x30042: 0x6d0c0c20, 0x30043: 0x6d0c0e20, + 0x30044: 0x6d0c1020, 0x30045: 0x6d0c1220, 0x30046: 0x6d0c1420, 0x30047: 0x6d0c1620, + 0x30048: 0x6d0c1820, 0x30049: 0x6d0c1a20, 0x3004a: 0x6d0c1c20, 0x3004b: 0x6d0c1e20, + 0x3004c: 0x6d0c2020, 0x3004d: 0x6d0c2220, 0x3004e: 0x6d0c2420, 0x3004f: 0x6d0c2620, + 0x30050: 0x6d0c2820, 0x30051: 0x6d39dc20, 0x30052: 0x6d39de20, 0x30053: 0x6d0c2a20, + 0x30054: 0x6d0c2c20, 0x30055: 0x6d0c2e20, 0x30056: 0x6d0c3020, 0x30057: 0x6d0c3220, + 0x30058: 0x6d39fc20, 0x30059: 0x6d39fe20, 0x3005a: 0x6d3a0020, 0x3005b: 0x6d3a0220, + 0x3005c: 0x6d3a0420, 0x3005d: 0x6d3a0620, 0x3005e: 0x6d3a0820, 0x3005f: 0x6d3a0a20, + 0x30060: 0x6d3a0c20, 0x30061: 0x6d3a0e20, 0x30062: 0x6d3a1020, 0x30063: 0x6d3a1220, + 0x30064: 0x6d3a1420, 0x30065: 0x6d3a1620, 0x30066: 0x6d3a1820, 0x30067: 0x6d3a1a20, + 0x30068: 0x6d3a1c20, 0x30069: 0x6d3a1e20, 0x3006a: 0x6d3a2020, 0x3006b: 0x6d39e020, + 0x3006c: 0x6d3a2220, 0x3006d: 0x6d3a2420, 0x3006e: 0x6d3a2620, 0x3006f: 0x6d3a2820, + 0x30070: 0x6d3a2a20, 0x30071: 0x6d3a2c20, 0x30072: 0x6d3a2e20, 0x30073: 0x6d3a3020, + 0x30074: 0x6d3a3220, 0x30075: 0x6d3a3420, 0x30076: 0x6d3a3620, 0x30077: 0x6d3a3820, + 0x30078: 0x6d3a3a20, 0x30079: 0x6d3a3c20, 0x3007a: 0x6d3a3e20, 0x3007b: 0x6d3a4020, + 0x3007c: 0x6d3a4220, 0x3007d: 0x6d3a4420, 0x3007e: 0x6d3a4620, 0x3007f: 0x6d3a4820, + // Block 0xc02, offset 0x30080 + 0x30080: 0x6d3a4a20, 0x30081: 0x6d3a4c20, 0x30082: 0x6d3a4e20, 0x30083: 0x6d3a5020, + 0x30084: 0x6d3a5220, 0x30085: 0x6d3a5420, 0x30086: 0x6d0c3420, 0x30087: 0x6d3a5620, + 0x30088: 0x6d3a5820, 0x30089: 0x6d3a5a20, 0x3008a: 0x6d3a5c20, 0x3008b: 0x6d3a5e20, + 0x3008c: 0x6d662820, 0x3008d: 0x6d0cba20, 0x3008e: 0x6d662a20, 0x3008f: 0x6d662c20, + 0x30090: 0x6d662e20, 0x30091: 0x6d663020, 0x30092: 0x6d663220, 0x30093: 0x6d663420, + 0x30094: 0x6d663620, 0x30095: 0x6d3b0c20, 0x30096: 0x6d663820, 0x30097: 0x6d663a20, + 0x30098: 0x6d663c20, 0x30099: 0x6d663e20, 0x3009a: 0x6d664020, 0x3009b: 0x6d664220, + 0x3009c: 0x6d664420, 0x3009d: 0x6d664620, 0x3009e: 0x6d664820, 0x3009f: 0x6d664a20, + 0x300a0: 0x6d664c20, 0x300a1: 0x6d664e20, 0x300a2: 0x6d665020, 0x300a3: 0x6d665220, + 0x300a4: 0x6d665420, 0x300a5: 0x6d665620, 0x300a6: 0x6d665820, 0x300a7: 0x6d665a20, + 0x300a8: 0x6d665c20, 0x300a9: 0x6d665e20, 0x300aa: 0x6d666020, 0x300ab: 0x6d3b0e20, + 0x300ac: 0x6d666220, 0x300ad: 0x6d666420, 0x300ae: 0x6d666620, 0x300af: 0x6d666820, + 0x300b0: 0x6d666a20, 0x300b1: 0x6d666c20, 0x300b2: 0x6d666e20, 0x300b3: 0x6d667020, + 0x300b4: 0x6d667220, 0x300b5: 0x6d667420, 0x300b6: 0x6d667620, 0x300b7: 0x6d667820, + 0x300b8: 0x6d667a20, 0x300b9: 0x6d900a20, 0x300ba: 0x6d667c20, 0x300bb: 0x6d667e20, + 0x300bc: 0x6d668020, 0x300bd: 0x6d668220, 0x300be: 0x6d668420, 0x300bf: 0x6d668620, + // Block 0xc03, offset 0x300c0 + 0x300c0: 0x6d668820, 0x300c1: 0x6d900c20, 0x300c2: 0x6d673820, 0x300c3: 0x6d900e20, + 0x300c4: 0x6d901020, 0x300c5: 0x6d901220, 0x300c6: 0x6d901420, 0x300c7: 0x6d901620, + 0x300c8: 0x6d901820, 0x300c9: 0x6d901a20, 0x300ca: 0x6d901c20, 0x300cb: 0x6d901e20, + 0x300cc: 0x6d902020, 0x300cd: 0x6d902220, 0x300ce: 0x6d902420, 0x300cf: 0x6d902620, + 0x300d0: 0x6d902820, 0x300d1: 0x6d902a20, 0x300d2: 0x6d902c20, 0x300d3: 0x6d902e20, + 0x300d4: 0x6d903020, 0x300d5: 0x6d903220, 0x300d6: 0x6d903420, 0x300d7: 0x6d903620, + 0x300d8: 0x6d903820, 0x300d9: 0x6d903a20, 0x300da: 0x6d903c20, 0x300db: 0x6d903e20, + 0x300dc: 0x6d904020, 0x300dd: 0x6d904220, 0x300de: 0x6d904420, 0x300df: 0x6d904620, + 0x300e0: 0x6d904820, 0x300e1: 0x6d904a20, 0x300e2: 0x6d904c20, 0x300e3: 0x6d904e20, + 0x300e4: 0x6d905020, 0x300e5: 0x6d905220, 0x300e6: 0x6d905420, 0x300e7: 0x6d905620, + 0x300e8: 0x6d905820, 0x300e9: 0x6d905a20, 0x300ea: 0x6db3d420, 0x300eb: 0x6db3d620, + 0x300ec: 0x6db3d820, 0x300ed: 0x6db3da20, 0x300ee: 0x6db3dc20, 0x300ef: 0x6db3de20, + 0x300f0: 0x6db3e020, 0x300f1: 0x6db3e220, 0x300f2: 0x6db3e420, 0x300f3: 0x6db3e620, + 0x300f4: 0x6db3e820, 0x300f5: 0x6db3ea20, 0x300f6: 0x6db3ec20, 0x300f7: 0x6db3ee20, + 0x300f8: 0x6db3f020, 0x300f9: 0x6db3f220, 0x300fa: 0x6db3f420, 0x300fb: 0x6db3f620, + 0x300fc: 0x6db3f820, 0x300fd: 0x6db3fa20, 0x300fe: 0x6db3fc20, 0x300ff: 0x6db3fe20, + // Block 0xc04, offset 0x30100 + 0x30100: 0x6db40020, 0x30101: 0x6db40220, 0x30102: 0x6db40420, 0x30103: 0x6db40620, + 0x30104: 0x6db40820, 0x30105: 0x6db40a20, 0x30106: 0x6db40c20, 0x30107: 0x6db40e20, + 0x30108: 0x6db41020, 0x30109: 0x6db41220, 0x3010a: 0x6db41420, 0x3010b: 0x6db41620, + 0x3010c: 0x6db41820, 0x3010d: 0x6db41a20, 0x3010e: 0x6db41c20, 0x3010f: 0x6db41e20, + 0x30110: 0x6db42020, 0x30111: 0x6db42220, 0x30112: 0x6db42420, 0x30113: 0x6dd2ba20, + 0x30114: 0x6dd2bc20, 0x30115: 0x6debe420, 0x30116: 0x6dd2be20, 0x30117: 0x6dd2ae20, + 0x30118: 0x6dd2c020, 0x30119: 0x6dd2c220, 0x3011a: 0x6dd2c420, 0x3011b: 0x6dd2c620, + 0x3011c: 0x6dd2c820, 0x3011d: 0x6dd2ca20, 0x3011e: 0x6db4c620, 0x3011f: 0x6dd2cc20, + 0x30120: 0x6dd2ce20, 0x30121: 0x6d668a20, 0x30122: 0x6dd2d020, 0x30123: 0x6dd2d220, + 0x30124: 0x6dd2d420, 0x30125: 0x6dd2d620, 0x30126: 0x6dd2d820, 0x30127: 0x6dd2da20, + 0x30128: 0x6dd2dc20, 0x30129: 0x6dd2de20, 0x3012a: 0x6dd2e020, 0x3012b: 0x6dd2e220, + 0x3012c: 0x6dd2e420, 0x3012d: 0x6dd2e620, 0x3012e: 0x6dd2e820, 0x3012f: 0x6dd2ea20, + 0x30130: 0x6dd2ec20, 0x30131: 0x6dd2ee20, 0x30132: 0x6dd2f020, 0x30133: 0x6dd2f220, + 0x30134: 0x6dd2f420, 0x30135: 0x6dd2f620, 0x30136: 0x6debf620, 0x30137: 0x6debf820, + 0x30138: 0x6debfa20, 0x30139: 0x6debfc20, 0x3013a: 0x6debfe20, 0x3013b: 0x6dec0020, + 0x3013c: 0x6dec0220, 0x3013d: 0x6dec0420, 0x3013e: 0x6dec0620, 0x3013f: 0x6dec0820, + // Block 0xc05, offset 0x30140 + 0x30140: 0x6dec0a20, 0x30141: 0x6debe220, 0x30142: 0x6dec0c20, 0x30143: 0x6dec0e20, + 0x30144: 0x6dec1020, 0x30145: 0x6dec1220, 0x30146: 0x6dec1420, 0x30147: 0x6dec1620, + 0x30148: 0x6dec1820, 0x30149: 0x6dec1a20, 0x3014a: 0x6dec1c20, 0x3014b: 0x6dec1e20, + 0x3014c: 0x6dec2020, 0x3014d: 0x6dec2220, 0x3014e: 0x6dd2f820, 0x3014f: 0x6dec2420, + 0x30150: 0x6e017020, 0x30151: 0x6e017220, 0x30152: 0x6e017420, 0x30153: 0x6e017620, + 0x30154: 0x6e017820, 0x30155: 0x6e017a20, 0x30156: 0x6e017c20, 0x30157: 0x6e017e20, + 0x30158: 0x6e018020, 0x30159: 0x6e018220, 0x3015a: 0x6e135620, 0x3015b: 0x6e135820, + 0x3015c: 0x6e135a20, 0x3015d: 0x6e135c20, 0x3015e: 0x6deca420, 0x3015f: 0x6e135e20, + 0x30160: 0x6e136020, 0x30161: 0x6e136220, 0x30162: 0x6e136420, 0x30163: 0x6e136620, + 0x30164: 0x6e136820, 0x30165: 0x6e212c20, 0x30166: 0x6e212e20, 0x30167: 0x6e213020, + 0x30168: 0x6e213220, 0x30169: 0x6e13c620, 0x3016a: 0x6e213420, 0x3016b: 0x6e13c820, + 0x3016c: 0x6e213620, 0x3016d: 0x6e2be220, 0x3016e: 0x6e2be420, 0x3016f: 0x6e2be620, + 0x30170: 0x6e2be820, 0x30171: 0x6e2bea20, 0x30172: 0x6e2bec20, 0x30173: 0x6e2bee20, + 0x30174: 0x6e2bda20, 0x30175: 0x6e342620, 0x30176: 0x6e342820, 0x30177: 0x6e342a20, + 0x30178: 0x6e342c20, 0x30179: 0x6e342e20, 0x3017a: 0x6e343020, 0x3017b: 0x6e39ec20, + 0x3017c: 0x6e3e1620, 0x3017d: 0x6e40de20, 0x3017e: 0x6e40e020, 0x3017f: 0x6e40fa20, + // Block 0xc06, offset 0x30180 + 0x30180: 0x6c14ce20, 0x30181: 0x6c5ff820, 0x30182: 0x6c5ffa20, 0x30183: 0x6c858420, + 0x30184: 0x6c858620, 0x30185: 0x6caf1c20, 0x30186: 0x6cde4420, 0x30187: 0x6cde4620, + 0x30188: 0x6cde4820, 0x30189: 0x6cde4a20, 0x3018a: 0x6e13ca20, 0x3018b: 0x6e345c20, + 0x3018c: 0x6c14d020, 0x3018d: 0x6c5ffe20, 0x3018e: 0x6c600020, 0x3018f: 0x6c859620, + 0x30190: 0x6caf2620, 0x30191: 0x6caf2820, 0x30192: 0x6caf2a20, 0x30193: 0x6caf2c20, + 0x30194: 0x6caf2e20, 0x30195: 0x6cde5220, 0x30196: 0x6cde5420, 0x30197: 0x6cde5620, + 0x30198: 0x6d0cc820, 0x30199: 0x6d0cca20, 0x3019a: 0x6d674620, 0x3019b: 0x6d674820, + 0x3019c: 0x6d674a20, 0x3019d: 0x6d674c20, 0x3019e: 0x6d912420, 0x3019f: 0x6d912620, + 0x301a0: 0x6d912820, 0x301a1: 0x6d912a20, 0x301a2: 0x6e345e20, 0x301a3: 0x6c14d220, + 0x301a4: 0x6c0a6020, 0x301a5: 0x6c404820, 0x301a6: 0x6c601220, 0x301a7: 0x6c601420, + 0x301a8: 0x6c404a20, 0x301a9: 0x6c601620, 0x301aa: 0x6c601820, 0x301ab: 0x6c601a20, + 0x301ac: 0x6c601c20, 0x301ad: 0x6c85a620, 0x301ae: 0x6c85a820, 0x301af: 0x6c85aa20, + 0x301b0: 0x6c85ac20, 0x301b1: 0x6c85ae20, 0x301b2: 0x6c85b020, 0x301b3: 0x6c85b220, + 0x301b4: 0x6c85b420, 0x301b5: 0x6c85b620, 0x301b6: 0x6c85b820, 0x301b7: 0x6c85ba20, + 0x301b8: 0x6c85bc20, 0x301b9: 0x6c85be20, 0x301ba: 0x6c85c020, 0x301bb: 0x6c85c220, + 0x301bc: 0x6c85c420, 0x301bd: 0x6c85c620, 0x301be: 0x6c85c820, 0x301bf: 0x6c85ca20, + // Block 0xc07, offset 0x301c0 + 0x301c0: 0x6c85cc20, 0x301c1: 0x6c85ce20, 0x301c2: 0x6c85d020, 0x301c3: 0x6c85d220, + 0x301c4: 0x6c85d420, 0x301c5: 0x6c85d620, 0x301c6: 0x6c85d820, 0x301c7: 0x6c85da20, + 0x301c8: 0x6caf4020, 0x301c9: 0x6caf4220, 0x301ca: 0x6caf4420, 0x301cb: 0x6caf4620, + 0x301cc: 0x6caf4820, 0x301cd: 0x6caf4a20, 0x301ce: 0x6caf4c20, 0x301cf: 0x6caf4e20, + 0x301d0: 0x6caf5020, 0x301d1: 0x6caf5220, 0x301d2: 0x6caf5420, 0x301d3: 0x6caf5620, + 0x301d4: 0x6caf5820, 0x301d5: 0x6caf5a20, 0x301d6: 0x6caf5c20, 0x301d7: 0x6caf5e20, + 0x301d8: 0x6caf6020, 0x301d9: 0x6caf6220, 0x301da: 0x6caf6420, 0x301db: 0x6caf6620, + 0x301dc: 0x6caf6820, 0x301dd: 0x6caf6a20, 0x301de: 0x6caf6c20, 0x301df: 0x6caf6e20, + 0x301e0: 0x6caf7020, 0x301e1: 0x6caf7220, 0x301e2: 0x6caf7420, 0x301e3: 0x6caf7620, + 0x301e4: 0x6caf7820, 0x301e5: 0x6caf7a20, 0x301e6: 0x6caf7c20, 0x301e7: 0x6caf7e20, + 0x301e8: 0x6caf8020, 0x301e9: 0x6caf8220, 0x301ea: 0x6caf8420, 0x301eb: 0x6caf8620, + 0x301ec: 0x6caf8820, 0x301ed: 0x6caf8a20, 0x301ee: 0x6caf8c20, 0x301ef: 0x6caf9020, + 0x301f0: 0x6caf8e20, 0x301f1: 0x6cde7820, 0x301f2: 0x6cde7a20, 0x301f3: 0x6cde7c20, + 0x301f4: 0x6cde7e20, 0x301f5: 0x6cde8020, 0x301f6: 0x6cde8220, 0x301f7: 0x6cde8420, + 0x301f8: 0x6cde8620, 0x301f9: 0x6cde8820, 0x301fa: 0x6cde8a20, 0x301fb: 0x6cde8c20, + 0x301fc: 0x6cde8e20, 0x301fd: 0x6cde9020, 0x301fe: 0x6cde9220, 0x301ff: 0x6cde9420, + // Block 0xc08, offset 0x30200 + 0x30200: 0x6cde9620, 0x30201: 0x6cde9820, 0x30202: 0x6cde9a20, 0x30203: 0x6cde9c20, + 0x30204: 0x6cde9e20, 0x30205: 0x6cdea020, 0x30206: 0x6cdea220, 0x30207: 0x6cdea420, + 0x30208: 0x6cdea620, 0x30209: 0x6cdea820, 0x3020a: 0x6d0ce020, 0x3020b: 0x6d0ce220, + 0x3020c: 0x6d0ce420, 0x3020d: 0x6d0ce620, 0x3020e: 0x6d0ce820, 0x3020f: 0x6d0cea20, + 0x30210: 0x6d0cec20, 0x30211: 0x6d0cee20, 0x30212: 0x6d0cf020, 0x30213: 0x6d0cf220, + 0x30214: 0x6d0cf420, 0x30215: 0x6d0cf620, 0x30216: 0x6d0cf820, 0x30217: 0x6cdeaa20, + 0x30218: 0x6d0cfa20, 0x30219: 0x6d0cfc20, 0x3021a: 0x6d0cfe20, 0x3021b: 0x6d0d0020, + 0x3021c: 0x6d0d0220, 0x3021d: 0x6d0d0420, 0x3021e: 0x6d0d0620, 0x3021f: 0x6d0d0820, + 0x30220: 0x6d0d0a20, 0x30221: 0x6d0d0c20, 0x30222: 0x6d3b2620, 0x30223: 0x6d0d0e20, + 0x30224: 0x6d0d1020, 0x30225: 0x6d0d1220, 0x30226: 0x6d676e20, 0x30227: 0x6d3b4820, + 0x30228: 0x6d3b4a20, 0x30229: 0x6d3b4c20, 0x3022a: 0x6d3b4e20, 0x3022b: 0x6d3b5020, + 0x3022c: 0x6d3b5220, 0x3022d: 0x6d3b5420, 0x3022e: 0x6d3b5620, 0x3022f: 0x6d3b5820, + 0x30230: 0x6d3b5a20, 0x30231: 0x6d3b5c20, 0x30232: 0x6d3b5e20, 0x30233: 0x6d3b6020, + 0x30234: 0x6d3b6220, 0x30235: 0x6d3b6420, 0x30236: 0x6d3b6620, 0x30237: 0x6d3b6820, + 0x30238: 0x6d3b6a20, 0x30239: 0x6d3b6c20, 0x3023a: 0x6d3b6e20, 0x3023b: 0x6d3b7020, + 0x3023c: 0x6d3b7220, 0x3023d: 0x6d3b7420, 0x3023e: 0x6d3b7620, 0x3023f: 0x6d3b7820, + // Block 0xc09, offset 0x30240 + 0x30240: 0x6d3b7a20, 0x30241: 0x6cdef820, 0x30242: 0x6d3b7c20, 0x30243: 0x6d3b7e20, + 0x30244: 0x6d3b8020, 0x30245: 0x6d677020, 0x30246: 0x6d677220, 0x30247: 0x6d677420, + 0x30248: 0x6d677620, 0x30249: 0x6d677820, 0x3024a: 0x6d677a20, 0x3024b: 0x6d677c20, + 0x3024c: 0x6d677e20, 0x3024d: 0x6d678020, 0x3024e: 0x6d678220, 0x3024f: 0x6d678420, + 0x30250: 0x6d678620, 0x30251: 0x6d678820, 0x30252: 0x6d678a20, 0x30253: 0x6d678c20, + 0x30254: 0x6d678e20, 0x30255: 0x6d679020, 0x30256: 0x6d679220, 0x30257: 0x6d679420, + 0x30258: 0x6d679620, 0x30259: 0x6d679820, 0x3025a: 0x6d3b8220, 0x3025b: 0x6d679a20, + 0x3025c: 0x6d679c20, 0x3025d: 0x6d679e20, 0x3025e: 0x6d913c20, 0x3025f: 0x6d913e20, + 0x30260: 0x6d914020, 0x30261: 0x6d914220, 0x30262: 0x6d914420, 0x30263: 0x6d914620, + 0x30264: 0x6d914820, 0x30265: 0x6d914a20, 0x30266: 0x6d914c20, 0x30267: 0x6d914e20, + 0x30268: 0x6d915020, 0x30269: 0x6d915220, 0x3026a: 0x6d915420, 0x3026b: 0x6d915620, + 0x3026c: 0x6d915820, 0x3026d: 0x6d915a20, 0x3026e: 0x6d915c20, 0x3026f: 0x6d915e20, + 0x30270: 0x6d916020, 0x30271: 0x6d916220, 0x30272: 0x6d916420, 0x30273: 0x6db4ee20, + 0x30274: 0x6d916620, 0x30275: 0x6db4f020, 0x30276: 0x6db4f220, 0x30277: 0x6db4f420, + 0x30278: 0x6db4f620, 0x30279: 0x6db4f820, 0x3027a: 0x6db4fa20, 0x3027b: 0x6db4fc20, + 0x3027c: 0x6db4fe20, 0x3027d: 0x6db50020, 0x3027e: 0x6db50220, 0x3027f: 0x6db50420, + // Block 0xc0a, offset 0x30280 + 0x30280: 0x6db50620, 0x30281: 0x6db50820, 0x30282: 0x6db50a20, 0x30283: 0x6db50c20, + 0x30284: 0x6db50e20, 0x30285: 0x6db51020, 0x30286: 0x6dd3b620, 0x30287: 0x6dd3b820, + 0x30288: 0x6dd3ba20, 0x30289: 0x6dd3bc20, 0x3028a: 0x6dd3be20, 0x3028b: 0x6dd3c020, + 0x3028c: 0x6dd3c220, 0x3028d: 0x6dd3c420, 0x3028e: 0x6dd3c620, 0x3028f: 0x6dd3c820, + 0x30290: 0x6dd3ca20, 0x30291: 0x6dd3cc20, 0x30292: 0x6db51420, 0x30293: 0x6dd3ce20, + 0x30294: 0x6db51220, 0x30295: 0x6dd3d020, 0x30296: 0x6decb020, 0x30297: 0x6decb220, + 0x30298: 0x6decb420, 0x30299: 0x6decb620, 0x3029a: 0x6decb820, 0x3029b: 0x6decba20, + 0x3029c: 0x6decbc20, 0x3029d: 0x6decbe20, 0x3029e: 0x6decc020, 0x3029f: 0x6decc220, + 0x302a0: 0x6decc420, 0x302a1: 0x6decc620, 0x302a2: 0x6decc820, 0x302a3: 0x6e01ec20, + 0x302a4: 0x6e01ee20, 0x302a5: 0x6e01f020, 0x302a6: 0x6e01f220, 0x302a7: 0x6e01f420, + 0x302a8: 0x6e01f620, 0x302a9: 0x6e13d220, 0x302aa: 0x6e13d420, 0x302ab: 0x6e13d620, + 0x302ac: 0x6e13d820, 0x302ad: 0x6e13da20, 0x302ae: 0x6e13dc20, 0x302af: 0x6e218e20, + 0x302b0: 0x6e219020, 0x302b1: 0x6e219220, 0x302b2: 0x6e219420, 0x302b3: 0x6e2c2620, + 0x302b4: 0x6e2c2820, 0x302b5: 0x6e346420, 0x302b6: 0x6e2c2a20, 0x302b7: 0x6e346620, + 0x302b8: 0x6e3a0c20, 0x302b9: 0x6e3a0e20, 0x302ba: 0x6e3a1020, 0x302bb: 0x6e3a1220, + 0x302bc: 0x6e3a1420, 0x302bd: 0x6e40fc20, 0x302be: 0x6c14d420, 0x302bf: 0x6c14d620, + // Block 0xc0b, offset 0x302c0 + 0x302c0: 0x6c14d820, 0x302c1: 0x6c606620, 0x302c2: 0x6cafe420, 0x302c3: 0x6cdefe20, + 0x302c4: 0x6cdf0020, 0x302c5: 0x6d0d7620, 0x302c6: 0x6dd40e20, 0x302c7: 0x6decfe20, + 0x302c8: 0x6ded0020, 0x302c9: 0x6e2c3820, 0x302ca: 0x6e3a2020, 0x302cb: 0x6c26a020, + 0x302cc: 0x6c606e20, 0x302cd: 0x6c862e20, 0x302ce: 0x6c863020, 0x302cf: 0x6caff420, + 0x302d0: 0x6caff620, 0x302d1: 0x6caff820, 0x302d2: 0x6caffa20, 0x302d3: 0x6caffc20, + 0x302d4: 0x6caffe20, 0x302d5: 0x6cdf1220, 0x302d6: 0x6ca6aa20, 0x302d7: 0x6cdf1420, + 0x302d8: 0x6cdf1620, 0x302d9: 0x6cdf0820, 0x302da: 0x6cdf1820, 0x302db: 0x6d0d8020, + 0x302dc: 0x6d0d8220, 0x302dd: 0x6d3bf020, 0x302de: 0x6d3bf220, 0x302df: 0x6d3bf420, + 0x302e0: 0x6d3bf620, 0x302e1: 0x6d3bf820, 0x302e2: 0x6d67fc20, 0x302e3: 0x6d67fe20, + 0x302e4: 0x6d680020, 0x302e5: 0x6d680220, 0x302e6: 0x6d91ca20, 0x302e7: 0x6d91cc20, + 0x302e8: 0x6d91ce20, 0x302e9: 0x6d683220, 0x302ea: 0x6d91d020, 0x302eb: 0x6db58620, + 0x302ec: 0x6db58820, 0x302ed: 0x6db58a20, 0x302ee: 0x6db58c20, 0x302ef: 0x6db58e20, + 0x302f0: 0x6dd41820, 0x302f1: 0x6dd41a20, 0x302f2: 0x6dd41c20, 0x302f3: 0x6dd41e20, + 0x302f4: 0x6ded0e20, 0x302f5: 0x6ded1020, 0x302f6: 0x6ded1220, 0x302f7: 0x6ded1420, + 0x302f8: 0x6ded1620, 0x302f9: 0x6e021a20, 0x302fa: 0x6e021c20, 0x302fb: 0x6e021e20, + 0x302fc: 0x6e13fe20, 0x302fd: 0x6e140020, 0x302fe: 0x6e21a220, 0x302ff: 0x6e21a420, + // Block 0xc0c, offset 0x30300 + 0x30300: 0x6e3a2420, 0x30301: 0x6c050c20, 0x30302: 0x6c14da20, 0x30303: 0x6c26a220, + 0x30304: 0x6c407220, 0x30305: 0x6c407420, 0x30306: 0x6c5adc20, 0x30307: 0x6c607220, + 0x30308: 0x6c607420, 0x30309: 0x6c607620, 0x3030a: 0x6c863e20, 0x3030b: 0x6cb01c20, + 0x3030c: 0x6cdf3420, 0x3030d: 0x6cdf3620, 0x3030e: 0x6d0dac20, 0x3030f: 0x6d3c1e20, + 0x30310: 0x6d683420, 0x30311: 0x6d683620, 0x30312: 0x6c26a620, 0x30313: 0x6c607c20, + 0x30314: 0x6c607e20, 0x30315: 0x6cb02020, 0x30316: 0x6cb02220, 0x30317: 0x6cb02420, + 0x30318: 0x6cb02620, 0x30319: 0x6cb02820, 0x3031a: 0x6cdf3820, 0x3031b: 0x6cdf3a20, + 0x3031c: 0x6d0db620, 0x3031d: 0x6cdf3c20, 0x3031e: 0x6cdf3e20, 0x3031f: 0x6d0db820, + 0x30320: 0x6d0dba20, 0x30321: 0x6d0dbc20, 0x30322: 0x6d0dbe20, 0x30323: 0x6d0dc020, + 0x30324: 0x6d0dc220, 0x30325: 0x6d0dc420, 0x30326: 0x6d0dc620, 0x30327: 0x6d0dc820, + 0x30328: 0x6d3c2220, 0x30329: 0x6d3c2420, 0x3032a: 0x6d3c2620, 0x3032b: 0x6d3c2820, + 0x3032c: 0x6d684420, 0x3032d: 0x6d684620, 0x3032e: 0x6d684820, 0x3032f: 0x6d684a20, + 0x30330: 0x6d687a20, 0x30331: 0x6d920a20, 0x30332: 0x6db5ac20, 0x30333: 0x6db5ae20, + 0x30334: 0x6dd43820, 0x30335: 0x6ded2a20, 0x30336: 0x6ded2c20, 0x30337: 0x6e023220, + 0x30338: 0x6e023420, 0x30339: 0x6e023620, 0x3033a: 0x6e140a20, 0x3033b: 0x6e21b420, + 0x3033c: 0x6e21b620, 0x3033d: 0x6e2c3c20, 0x3033e: 0x6e2c3e20, 0x3033f: 0x6e3a3820, + // Block 0xc0d, offset 0x30340 + 0x30340: 0x6c26aa20, 0x30341: 0x6c26ac20, 0x30342: 0x6c608c20, 0x30343: 0x6c608e20, + 0x30344: 0x6c609020, 0x30345: 0x6c609220, 0x30346: 0x6c609420, 0x30347: 0x6c609620, + 0x30348: 0x6c609820, 0x30349: 0x6c864e20, 0x3034a: 0x6c865020, 0x3034b: 0x6c865220, + 0x3034c: 0x6c865420, 0x3034d: 0x6c865620, 0x3034e: 0x6c865820, 0x3034f: 0x6c865a20, + 0x30350: 0x6c865c20, 0x30351: 0x6c865e20, 0x30352: 0x6c866020, 0x30353: 0x6c866220, + 0x30354: 0x6c866420, 0x30355: 0x6c866620, 0x30356: 0x6c866820, 0x30357: 0x6c866a20, + 0x30358: 0x6c866c20, 0x30359: 0x6c866e20, 0x3035a: 0x6c867020, 0x3035b: 0x6cb07820, + 0x3035c: 0x6cb07a20, 0x3035d: 0x6cb07c20, 0x3035e: 0x6cb07e20, 0x3035f: 0x6cb08020, + 0x30360: 0x6cb08220, 0x30361: 0x6cb08420, 0x30362: 0x6cb08620, 0x30363: 0x6cb08820, + 0x30364: 0x6cb08a20, 0x30365: 0x6cb08c20, 0x30366: 0x6cb08e20, 0x30367: 0x6cb09020, + 0x30368: 0x6cb09220, 0x30369: 0x6cb09420, 0x3036a: 0x6cb09620, 0x3036b: 0x6cb09820, + 0x3036c: 0x6cb09a20, 0x3036d: 0x6cb09c20, 0x3036e: 0x6cb09e20, 0x3036f: 0x6cb0a020, + 0x30370: 0x6cb0a220, 0x30371: 0x6cb0a420, 0x30372: 0x6cb0a620, 0x30373: 0x6cb0a820, + 0x30374: 0x6cdf8020, 0x30375: 0x6cdf8220, 0x30376: 0x6cdf8420, 0x30377: 0x6cdf8620, + 0x30378: 0x6cdf8820, 0x30379: 0x6cdf8a20, 0x3037a: 0x6cdf8c20, 0x3037b: 0x6cdf8e20, + 0x3037c: 0x6cdf9020, 0x3037d: 0x6cdf9220, 0x3037e: 0x6d0ddc20, 0x3037f: 0x6d0dde20, + // Block 0xc0e, offset 0x30380 + 0x30380: 0x6cdf9420, 0x30381: 0x6cdf9620, 0x30382: 0x6cdf9820, 0x30383: 0x6cdf9a20, + 0x30384: 0x6cdf9c20, 0x30385: 0x6cdf9e20, 0x30386: 0x6cdfa020, 0x30387: 0x6cdfa220, + 0x30388: 0x6cdfa420, 0x30389: 0x6cdfa620, 0x3038a: 0x6cdfa820, 0x3038b: 0x6cdfaa20, + 0x3038c: 0x6cdfac20, 0x3038d: 0x6cdfae20, 0x3038e: 0x6cdfb020, 0x3038f: 0x6cdfb220, + 0x30390: 0x6cdfb420, 0x30391: 0x6cdfb620, 0x30392: 0x6cdfb820, 0x30393: 0x6cdfba20, + 0x30394: 0x6cdfbc20, 0x30395: 0x6cdfbe20, 0x30396: 0x6cdfc020, 0x30397: 0x6cdfc220, + 0x30398: 0x6cdfc420, 0x30399: 0x6cdfc620, 0x3039a: 0x6cdfc820, 0x3039b: 0x6cdfca20, + 0x3039c: 0x6cdfcc20, 0x3039d: 0x6cdfce20, 0x3039e: 0x6cdfd020, 0x3039f: 0x6cdfd220, + 0x303a0: 0x6cdfd420, 0x303a1: 0x6d0df220, 0x303a2: 0x6d0df420, 0x303a3: 0x6d0df620, + 0x303a4: 0x6d0df820, 0x303a5: 0x6d0dfa20, 0x303a6: 0x6d0dfc20, 0x303a7: 0x6d0dfe20, + 0x303a8: 0x6d0e0020, 0x303a9: 0x6d0e0220, 0x303aa: 0x6d0e0420, 0x303ab: 0x6d0e0620, + 0x303ac: 0x6d0e0820, 0x303ad: 0x6d0e0a20, 0x303ae: 0x6d0e0c20, 0x303af: 0x6d0e0e20, + 0x303b0: 0x6d0e1020, 0x303b1: 0x6d0e1220, 0x303b2: 0x6d0e1420, 0x303b3: 0x6d0e1620, + 0x303b4: 0x6d0e1820, 0x303b5: 0x6d0e1a20, 0x303b6: 0x6d0e1c20, 0x303b7: 0x6d0e1e20, + 0x303b8: 0x6d0e2020, 0x303b9: 0x6d0e2220, 0x303ba: 0x6d0e2420, 0x303bb: 0x6d0e2620, + 0x303bc: 0x6d0e2820, 0x303bd: 0x6d0e2a20, 0x303be: 0x6d0e2c20, 0x303bf: 0x6d0e2e20, + // Block 0xc0f, offset 0x303c0 + 0x303c0: 0x6d0e3020, 0x303c1: 0x6d0e3220, 0x303c2: 0x6d0e3420, 0x303c3: 0x6d0e3620, + 0x303c4: 0x6d0e3820, 0x303c5: 0x6d0e3a20, 0x303c6: 0x6d0e3c20, 0x303c7: 0x6d0e3e20, + 0x303c8: 0x6d0e4020, 0x303c9: 0x6d0e4220, 0x303ca: 0x6d0e4420, 0x303cb: 0x6d3c5a20, + 0x303cc: 0x6d3c5c20, 0x303cd: 0x6d3c5e20, 0x303ce: 0x6d3c6020, 0x303cf: 0x6d3c6220, + 0x303d0: 0x6d3c6420, 0x303d1: 0x6d3c6620, 0x303d2: 0x6d3c6820, 0x303d3: 0x6d3c6a20, + 0x303d4: 0x6d3c6c20, 0x303d5: 0x6d687c20, 0x303d6: 0x6d3c6e20, 0x303d7: 0x6d3c7020, + 0x303d8: 0x6d3c7220, 0x303d9: 0x6d3c7420, 0x303da: 0x6d3c7620, 0x303db: 0x6d3c7820, + 0x303dc: 0x6d3c7a20, 0x303dd: 0x6d3c7c20, 0x303de: 0x6d3c7e20, 0x303df: 0x6d3c8020, + 0x303e0: 0x6d0e4620, 0x303e1: 0x6d3c8220, 0x303e2: 0x6d3c8420, 0x303e3: 0x6d3c8620, + 0x303e4: 0x6d3c8820, 0x303e5: 0x6d3c8a20, 0x303e6: 0x6d3c8c20, 0x303e7: 0x6d3c8e20, + 0x303e8: 0x6d3c9020, 0x303e9: 0x6d3c9220, 0x303ea: 0x6d3c9420, 0x303eb: 0x6d3c9620, + 0x303ec: 0x6d3c9820, 0x303ed: 0x6d3c9a20, 0x303ee: 0x6d3c9c20, 0x303ef: 0x6d689e20, + 0x303f0: 0x6d68a020, 0x303f1: 0x6d68a220, 0x303f2: 0x6d68a420, 0x303f3: 0x6d68a620, + 0x303f4: 0x6d68a820, 0x303f5: 0x6d68aa20, 0x303f6: 0x6d68ac20, 0x303f7: 0x6d68ae20, + 0x303f8: 0x6d68b020, 0x303f9: 0x6d68b220, 0x303fa: 0x6d68b420, 0x303fb: 0x6d68b620, + 0x303fc: 0x6d68b820, 0x303fd: 0x6d68ba20, 0x303fe: 0x6d68bc20, 0x303ff: 0x6d68be20, + // Block 0xc10, offset 0x30400 + 0x30400: 0x6d68c020, 0x30401: 0x6d68c220, 0x30402: 0x6d68c420, 0x30403: 0x6d68c620, + 0x30404: 0x6d68c820, 0x30405: 0x6d68ca20, 0x30406: 0x6d68cc20, 0x30407: 0x6d68ce20, + 0x30408: 0x6d68d020, 0x30409: 0x6d68d220, 0x3040a: 0x6d68d420, 0x3040b: 0x6d68d620, + 0x3040c: 0x6d68d820, 0x3040d: 0x6d68da20, 0x3040e: 0x6d68dc20, 0x3040f: 0x6d68de20, + 0x30410: 0x6d68e020, 0x30411: 0x6d68e220, 0x30412: 0x6d68e420, 0x30413: 0x6d68e620, + 0x30414: 0x6d68e820, 0x30415: 0x6d68ea20, 0x30416: 0x6d68ec20, 0x30417: 0x6d68ee20, + 0x30418: 0x6d68f020, 0x30419: 0x6d68f220, 0x3041a: 0x6d68f420, 0x3041b: 0x6d697620, + 0x3041c: 0x6d923c20, 0x3041d: 0x6d923e20, 0x3041e: 0x6d924020, 0x3041f: 0x6d924220, + 0x30420: 0x6d924420, 0x30421: 0x6d924620, 0x30422: 0x6d924820, 0x30423: 0x6d924a20, + 0x30424: 0x6d924c20, 0x30425: 0x6d924e20, 0x30426: 0x6d925020, 0x30427: 0x6d925220, + 0x30428: 0x6d925420, 0x30429: 0x6d68f620, 0x3042a: 0x6d925620, 0x3042b: 0x6d925820, + 0x3042c: 0x6d925a20, 0x3042d: 0x6d925c20, 0x3042e: 0x6d925e20, 0x3042f: 0x6d926020, + 0x30430: 0x6d926220, 0x30431: 0x6d926420, 0x30432: 0x6d926620, 0x30433: 0x6d926820, + 0x30434: 0x6d926a20, 0x30435: 0x6d926c20, 0x30436: 0x6d926e20, 0x30437: 0x6d927020, + 0x30438: 0x6d697820, 0x30439: 0x6d927220, 0x3043a: 0x6d927420, 0x3043b: 0x6d927620, + 0x3043c: 0x6d927820, 0x3043d: 0x6d927a20, 0x3043e: 0x6d927c20, 0x3043f: 0x6d927e20, + // Block 0xc11, offset 0x30440 + 0x30440: 0x6d928020, 0x30441: 0x6d928220, 0x30442: 0x6d928420, 0x30443: 0x6d928620, + 0x30444: 0x6db5e020, 0x30445: 0x6db5e220, 0x30446: 0x6db5e420, 0x30447: 0x6db5e620, + 0x30448: 0x6db5e820, 0x30449: 0x6db5ea20, 0x3044a: 0x6db5ec20, 0x3044b: 0x6db5ee20, + 0x3044c: 0x6db5f020, 0x3044d: 0x6db5f220, 0x3044e: 0x6db5f420, 0x3044f: 0x6db5f620, + 0x30450: 0x6db5f820, 0x30451: 0x6db5fa20, 0x30452: 0x6db5fc20, 0x30453: 0x6db5fe20, + 0x30454: 0x6d92fc20, 0x30455: 0x6db60020, 0x30456: 0x6db60220, 0x30457: 0x6db60420, + 0x30458: 0x6db60620, 0x30459: 0x6db60820, 0x3045a: 0x6db60a20, 0x3045b: 0x6db60c20, + 0x3045c: 0x6db60e20, 0x3045d: 0x6db61020, 0x3045e: 0x6db61220, 0x3045f: 0x6db61420, + 0x30460: 0x6db61620, 0x30461: 0x6db61820, 0x30462: 0x6db61a20, 0x30463: 0x6dd46220, + 0x30464: 0x6dd46420, 0x30465: 0x6dd46620, 0x30466: 0x6dd46820, 0x30467: 0x6dd46a20, + 0x30468: 0x6dd46c20, 0x30469: 0x6dd46e20, 0x3046a: 0x6dd47020, 0x3046b: 0x6dd47220, + 0x3046c: 0x6dd47420, 0x3046d: 0x6dd47620, 0x3046e: 0x6dd47820, 0x3046f: 0x6dd47a20, + 0x30470: 0x6dd47c20, 0x30471: 0x6dd47e20, 0x30472: 0x6dd48020, 0x30473: 0x6dd48220, + 0x30474: 0x6dd48420, 0x30475: 0x6dd48620, 0x30476: 0x6dd48820, 0x30477: 0x6dd48a20, + 0x30478: 0x6dd48c20, 0x30479: 0x6dd48e20, 0x3047a: 0x6dd49020, 0x3047b: 0x6dd49220, + 0x3047c: 0x6dd49420, 0x3047d: 0x6dd49620, 0x3047e: 0x6dd49820, 0x3047f: 0x6ded5020, + // Block 0xc12, offset 0x30480 + 0x30480: 0x6ded5220, 0x30481: 0x6ded5420, 0x30482: 0x6ded5620, 0x30483: 0x6ded5820, + 0x30484: 0x6ded5a20, 0x30485: 0x6e141420, 0x30486: 0x6ded5c20, 0x30487: 0x6dd4fa20, + 0x30488: 0x6ded5e20, 0x30489: 0x6ded6020, 0x3048a: 0x6ded6220, 0x3048b: 0x6ded6420, + 0x3048c: 0x6ded6620, 0x3048d: 0x6e024e20, 0x3048e: 0x6ded6820, 0x3048f: 0x6ded6a20, + 0x30490: 0x6ded6c20, 0x30491: 0x6ded6e20, 0x30492: 0x6ded7020, 0x30493: 0x6ded7220, + 0x30494: 0x6ded7420, 0x30495: 0x6ded7620, 0x30496: 0x6ded7820, 0x30497: 0x6ded7a20, + 0x30498: 0x6ded7c20, 0x30499: 0x6ded7e20, 0x3049a: 0x6ded8020, 0x3049b: 0x6ded8220, + 0x3049c: 0x6ded8420, 0x3049d: 0x6e025020, 0x3049e: 0x6e025220, 0x3049f: 0x6e025420, + 0x304a0: 0x6e025620, 0x304a1: 0x6e025820, 0x304a2: 0x6e025a20, 0x304a3: 0x6e025c20, + 0x304a4: 0x6e025e20, 0x304a5: 0x6e026020, 0x304a6: 0x6e026220, 0x304a7: 0x6e026420, + 0x304a8: 0x6e026620, 0x304a9: 0x6e026820, 0x304aa: 0x6e026a20, 0x304ab: 0x6e026c20, + 0x304ac: 0x6e026e20, 0x304ad: 0x6e027020, 0x304ae: 0x6e027220, 0x304af: 0x6e027420, + 0x304b0: 0x6e027620, 0x304b1: 0x6e027820, 0x304b2: 0x6e027a20, 0x304b3: 0x6e142220, + 0x304b4: 0x6e142420, 0x304b5: 0x6e142620, 0x304b6: 0x6e142820, 0x304b7: 0x6e142a20, + 0x304b8: 0x6e142c20, 0x304b9: 0x6e142e20, 0x304ba: 0x6e143020, 0x304bb: 0x6e143220, + 0x304bc: 0x6e143420, 0x304bd: 0x6e143620, 0x304be: 0x6e21c820, 0x304bf: 0x6e21ca20, + // Block 0xc13, offset 0x304c0 + 0x304c0: 0x6e21cc20, 0x304c1: 0x6e21ce20, 0x304c2: 0x6e21d020, 0x304c3: 0x6e21d220, + 0x304c4: 0x6e21d420, 0x304c5: 0x6e21d620, 0x304c6: 0x6e221420, 0x304c7: 0x6e2c4620, + 0x304c8: 0x6e2c4820, 0x304c9: 0x6e2c4a20, 0x304ca: 0x6e2c4c20, 0x304cb: 0x6e2c4e20, + 0x304cc: 0x6e2c5020, 0x304cd: 0x6e2c5220, 0x304ce: 0x6e2c5420, 0x304cf: 0x6e2c5620, + 0x304d0: 0x6e2c5820, 0x304d1: 0x6e347c20, 0x304d2: 0x6e347e20, 0x304d3: 0x6e348020, + 0x304d4: 0x6e348220, 0x304d5: 0x6e348420, 0x304d6: 0x6e348620, 0x304d7: 0x6e3a3c20, + 0x304d8: 0x6e3a3e20, 0x304d9: 0x6e3a4020, 0x304da: 0x6e3e3420, 0x304db: 0x6e3e3620, + 0x304dc: 0x6e410420, 0x304dd: 0x6e410620, 0x304de: 0x6e410820, 0x304df: 0x6e448020, + 0x304e0: 0x6c00c820, 0x304e1: 0x6c050e20, 0x304e2: 0x6c051020, 0x304e3: 0x6c051220, + 0x304e4: 0x6c051420, 0x304e5: 0x6c051620, 0x304e6: 0x6c0a6420, 0x304e7: 0x6c0a6620, + 0x304e8: 0x6c0a6820, 0x304e9: 0x6c0a6a20, 0x304ea: 0x6c0a6c20, 0x304eb: 0x6c0a6e20, + 0x304ec: 0x6c0a7020, 0x304ed: 0x6c0a7220, 0x304ee: 0x6c0a7420, 0x304ef: 0x6c0a7620, + 0x304f0: 0x6c0a7820, 0x304f1: 0x6c0a7a20, 0x304f2: 0x6c14dc20, 0x304f3: 0x6c14de20, + 0x304f4: 0x6c14e020, 0x304f5: 0x6c14e220, 0x304f6: 0x6c14e420, 0x304f7: 0x6c14e620, + 0x304f8: 0x6c14e820, 0x304f9: 0x6c14ea20, 0x304fa: 0x6c14ec20, 0x304fb: 0x6c14ee20, + 0x304fc: 0x6c14f020, 0x304fd: 0x6c14f220, 0x304fe: 0x6c14f420, 0x304ff: 0x6c14f620, + // Block 0xc14, offset 0x30500 + 0x30500: 0x6c14f820, 0x30501: 0x6c26b220, 0x30502: 0x6c26b420, 0x30503: 0x6c26b620, + 0x30504: 0x6c26b820, 0x30505: 0x6c26ba20, 0x30506: 0x6c26bc20, 0x30507: 0x6c26be20, + 0x30508: 0x6c26c020, 0x30509: 0x6c26c220, 0x3050a: 0x6c26c420, 0x3050b: 0x6c26c620, + 0x3050c: 0x6c26c820, 0x3050d: 0x6c26ca20, 0x3050e: 0x6c26cc20, 0x3050f: 0x6c26ce20, + 0x30510: 0x6c26d020, 0x30511: 0x6c26d220, 0x30512: 0x6c26d420, 0x30513: 0x6c407e20, + 0x30514: 0x6c408020, 0x30515: 0x6c408220, 0x30516: 0x6c408420, 0x30517: 0x6c408620, + 0x30518: 0x6c408820, 0x30519: 0x6c408a20, 0x3051a: 0x6c408c20, 0x3051b: 0x6c408e20, + 0x3051c: 0x6c409020, 0x3051d: 0x6c409220, 0x3051e: 0x6c409420, 0x3051f: 0x6c409620, + 0x30520: 0x6c409820, 0x30521: 0x6c409a20, 0x30522: 0x6c409c20, 0x30523: 0x6c409e20, + 0x30524: 0x6c40a020, 0x30525: 0x6c40a220, 0x30526: 0x6c40a420, 0x30527: 0x6c40a620, + 0x30528: 0x6c40a820, 0x30529: 0x6c40aa20, 0x3052a: 0x6c609c20, 0x3052b: 0x6c609e20, + 0x3052c: 0x6c60a020, 0x3052d: 0x6c60a220, 0x3052e: 0x6c60a420, 0x3052f: 0x6c60a620, + 0x30530: 0x6c60a820, 0x30531: 0x6c60aa20, 0x30532: 0x6c60ac20, 0x30533: 0x6c60ae20, + 0x30534: 0x6c60b020, 0x30535: 0x6c60b220, 0x30536: 0x6c60b420, 0x30537: 0x6c869020, + 0x30538: 0x6c869220, 0x30539: 0x6c869420, 0x3053a: 0x6c869620, 0x3053b: 0x6c869820, + 0x3053c: 0x6c869a20, 0x3053d: 0x6c869c20, 0x3053e: 0x6c869e20, 0x3053f: 0x6c86a020, + // Block 0xc15, offset 0x30540 + 0x30540: 0x6c86a220, 0x30541: 0x6c86a420, 0x30542: 0x6c86a620, 0x30543: 0x6c86a820, + 0x30544: 0x6c86aa20, 0x30545: 0x6c86ac20, 0x30546: 0x6c86ae20, 0x30547: 0x6c86b020, + 0x30548: 0x6c86b220, 0x30549: 0x6c86b420, 0x3054a: 0x6c86b620, 0x3054b: 0x6cb10c20, + 0x3054c: 0x6cb10e20, 0x3054d: 0x6cb11020, 0x3054e: 0x6cb11220, 0x3054f: 0x6cb11420, + 0x30550: 0x6cb11620, 0x30551: 0x6cb11820, 0x30552: 0x6cb11a20, 0x30553: 0x6cb11c20, + 0x30554: 0x6cb11e20, 0x30555: 0x6cb12020, 0x30556: 0x6cb12220, 0x30557: 0x6cb12420, + 0x30558: 0x6cb12620, 0x30559: 0x6cb12820, 0x3055a: 0x6cb12a20, 0x3055b: 0x6cb12c20, + 0x3055c: 0x6cb12e20, 0x3055d: 0x6cb13020, 0x3055e: 0x6cb13220, 0x3055f: 0x6ce02c20, + 0x30560: 0x6ce02e20, 0x30561: 0x6ce03020, 0x30562: 0x6ce03220, 0x30563: 0x6ce03420, + 0x30564: 0x6ce03620, 0x30565: 0x6ce03820, 0x30566: 0x6ce03a20, 0x30567: 0x6ce03c20, + 0x30568: 0x6d0eb420, 0x30569: 0x6d0eb620, 0x3056a: 0x6d0eb820, 0x3056b: 0x6d0eba20, + 0x3056c: 0x6d0ebc20, 0x3056d: 0x6d3d0620, 0x3056e: 0x6d3d0820, 0x3056f: 0x6d3d0a20, + 0x30570: 0x6d3d0c20, 0x30571: 0x6d3d0e20, 0x30572: 0x6d3d1020, 0x30573: 0x6d697c20, + 0x30574: 0x6d697e20, 0x30575: 0x6d698020, 0x30576: 0x6dede020, 0x30577: 0x6c26e620, + 0x30578: 0x6c86c620, 0x30579: 0x6cb14020, 0x3057a: 0x6cb14220, 0x3057b: 0x6cb14420, + 0x3057c: 0x6d0ec220, 0x3057d: 0x6d3d1820, 0x3057e: 0x6d698620, 0x3057f: 0x6db6a020, + // Block 0xc16, offset 0x30580 + 0x30580: 0x6db6a220, 0x30581: 0x6db6a420, 0x30582: 0x6dd50020, 0x30583: 0x6dede220, + 0x30584: 0x6e221820, 0x30585: 0x6e2c7820, 0x30586: 0x6c26ea20, 0x30587: 0x6c86ce20, + 0x30588: 0x6c86d020, 0x30589: 0x6cb15220, 0x3058a: 0x6d0ecc20, 0x3058b: 0x6d0ece20, + 0x3058c: 0x6d699820, 0x3058d: 0x6d699a20, 0x3058e: 0x6d699c20, 0x3058f: 0x6db6b420, + 0x30590: 0x6dd50420, 0x30591: 0x6e02ba20, 0x30592: 0x6e3a5620, 0x30593: 0x6e411420, + 0x30594: 0x6e431e20, 0x30595: 0x6c26ec20, 0x30596: 0x6c40b820, 0x30597: 0x6c86da20, + 0x30598: 0x6cb15c20, 0x30599: 0x6cb15e20, 0x3059a: 0x6cb16020, 0x3059b: 0x6cb16220, + 0x3059c: 0x6cb16420, 0x3059d: 0x6cb16620, 0x3059e: 0x6ce05e20, 0x3059f: 0x6ce06020, + 0x305a0: 0x6ce06220, 0x305a1: 0x6ce06420, 0x305a2: 0x6d0ed820, 0x305a3: 0x6d0eda20, + 0x305a4: 0x6d0edc20, 0x305a5: 0x6d0ede20, 0x305a6: 0x6d0ee020, 0x305a7: 0x6d3d2c20, + 0x305a8: 0x6d3d2e20, 0x305a9: 0x6d3d3020, 0x305aa: 0x6d3d3220, 0x305ab: 0x6d932420, + 0x305ac: 0x6d69da20, 0x305ad: 0x6d932620, 0x305ae: 0x6d932820, 0x305af: 0x6db6c620, + 0x305b0: 0x6db6c820, 0x305b1: 0x6db6ca20, 0x305b2: 0x6db6cc20, 0x305b3: 0x6db6ce20, + 0x305b4: 0x6dd51620, 0x305b5: 0x6dd51820, 0x305b6: 0x6dee1620, 0x305b7: 0x6dee0a20, + 0x305b8: 0x6c26f220, 0x305b9: 0x6c86e420, 0x305ba: 0x6c86e620, 0x305bb: 0x6c86e820, + 0x305bc: 0x6cb18020, 0x305bd: 0x6cb18220, 0x305be: 0x6ce07e20, 0x305bf: 0x6ce08020, + // Block 0xc17, offset 0x305c0 + 0x305c0: 0x6ce08220, 0x305c1: 0x6ce08420, 0x305c2: 0x6ce08620, 0x305c3: 0x6ce08820, + 0x305c4: 0x6d0efe20, 0x305c5: 0x6d0f0020, 0x305c6: 0x6d0f0220, 0x305c7: 0x6d0f0420, + 0x305c8: 0x6d0f0620, 0x305c9: 0x6d0f0820, 0x305ca: 0x6d0f0a20, 0x305cb: 0x6d3d5020, + 0x305cc: 0x6d3d5220, 0x305cd: 0x6d3d5420, 0x305ce: 0x6d69e020, 0x305cf: 0x6d69e220, + 0x305d0: 0x6d934220, 0x305d1: 0x6d934420, 0x305d2: 0x6d934620, 0x305d3: 0x6d934820, + 0x305d4: 0x6db6e420, 0x305d5: 0x6db6e620, 0x305d6: 0x6db6e820, 0x305d7: 0x6dd52c20, + 0x305d8: 0x6dd52e20, 0x305d9: 0x6dd53020, 0x305da: 0x6dee2020, 0x305db: 0x6e3a6620, + 0x305dc: 0x6e411c20, 0x305dd: 0x6c26f420, 0x305de: 0x6c60c820, 0x305df: 0x6c60ca20, + 0x305e0: 0x6c60cc20, 0x305e1: 0x6c86f020, 0x305e2: 0x6c86f220, 0x305e3: 0x6c86f420, + 0x305e4: 0x6c86f620, 0x305e5: 0x6cb19820, 0x305e6: 0x6cb19a20, 0x305e7: 0x6cb19c20, + 0x305e8: 0x6cb19e20, 0x305e9: 0x6cb1a020, 0x305ea: 0x6cb1a220, 0x305eb: 0x6cb1a420, + 0x305ec: 0x6cb1a620, 0x305ed: 0x6cb1a820, 0x305ee: 0x6cb1aa20, 0x305ef: 0x6ce0bc20, + 0x305f0: 0x6ce0be20, 0x305f1: 0x6ce0c020, 0x305f2: 0x6d0f2620, 0x305f3: 0x6ce0c220, + 0x305f4: 0x6ce0c420, 0x305f5: 0x6ce0c620, 0x305f6: 0x6ce0c820, 0x305f7: 0x6ce0ca20, + 0x305f8: 0x6ce0cc20, 0x305f9: 0x6ce0ce20, 0x305fa: 0x6ce0d020, 0x305fb: 0x6ce0d220, + 0x305fc: 0x6ce0d420, 0x305fd: 0x6ce0d620, 0x305fe: 0x6ce0d820, 0x305ff: 0x6ce0da20, + // Block 0xc18, offset 0x30600 + 0x30600: 0x6ce0dc20, 0x30601: 0x6ce0de20, 0x30602: 0x6d0f2e20, 0x30603: 0x6d0f3020, + 0x30604: 0x6d0f3220, 0x30605: 0x6d0f3420, 0x30606: 0x6d0f3620, 0x30607: 0x6d0f3820, + 0x30608: 0x6d0f3a20, 0x30609: 0x6d0f3c20, 0x3060a: 0x6d0f3e20, 0x3060b: 0x6d0f4020, + 0x3060c: 0x6d0f4220, 0x3060d: 0x6d0f4420, 0x3060e: 0x6d0f4620, 0x3060f: 0x6d3d7c20, + 0x30610: 0x6d3d7e20, 0x30611: 0x6d3d8020, 0x30612: 0x6d3d8220, 0x30613: 0x6d3d8420, + 0x30614: 0x6d3d8620, 0x30615: 0x6d3d8820, 0x30616: 0x6d3d8a20, 0x30617: 0x6d3d8c20, + 0x30618: 0x6d3d8e20, 0x30619: 0x6d6a1420, 0x3061a: 0x6d6a1620, 0x3061b: 0x6d6a1820, + 0x3061c: 0x6d6a1a20, 0x3061d: 0x6d6a1c20, 0x3061e: 0x6d6a1e20, 0x3061f: 0x6d6a2020, + 0x30620: 0x6d6a2220, 0x30621: 0x6d6a2420, 0x30622: 0x6d6a2620, 0x30623: 0x6d6a2820, + 0x30624: 0x6d6a2a20, 0x30625: 0x6d6a2c20, 0x30626: 0x6d6a2e20, 0x30627: 0x6d6a3020, + 0x30628: 0x6d6a3220, 0x30629: 0x6d6a3420, 0x3062a: 0x6d6a3620, 0x3062b: 0x6d6a3820, + 0x3062c: 0x6d6a3a20, 0x3062d: 0x6d6a6c20, 0x3062e: 0x6d937220, 0x3062f: 0x6d937420, + 0x30630: 0x6d937620, 0x30631: 0x6d937820, 0x30632: 0x6d937a20, 0x30633: 0x6d937c20, + 0x30634: 0x6d937e20, 0x30635: 0x6d938020, 0x30636: 0x6db70820, 0x30637: 0x6db70a20, + 0x30638: 0x6db70c20, 0x30639: 0x6db70e20, 0x3063a: 0x6db71020, 0x3063b: 0x6db71220, + 0x3063c: 0x6db71420, 0x3063d: 0x6db71620, 0x3063e: 0x6dd54820, 0x3063f: 0x6dd54a20, + // Block 0xc19, offset 0x30640 + 0x30640: 0x6dd54c20, 0x30641: 0x6dc6ba20, 0x30642: 0x6dd54e20, 0x30643: 0x6dd55020, + 0x30644: 0x6dd55220, 0x30645: 0x6dd55420, 0x30646: 0x6dee3820, 0x30647: 0x6dee3a20, + 0x30648: 0x6dee3c20, 0x30649: 0x6dee3e20, 0x3064a: 0x6dee4020, 0x3064b: 0x6dee4220, + 0x3064c: 0x6dee4420, 0x3064d: 0x6e02e420, 0x3064e: 0x6e02e620, 0x3064f: 0x6e02e820, + 0x30650: 0x6e148420, 0x30651: 0x6e148620, 0x30652: 0x6e148820, 0x30653: 0x6e148a20, + 0x30654: 0x6e148c20, 0x30655: 0x6e223220, 0x30656: 0x6e223420, 0x30657: 0x6e223620, + 0x30658: 0x6e223820, 0x30659: 0x6e2c8c20, 0x3065a: 0x6e2c8e20, 0x3065b: 0x6e34b020, + 0x3065c: 0x6e3a6820, 0x3065d: 0x6c051820, 0x3065e: 0x6c150020, 0x3065f: 0x6c150220, + 0x30660: 0x6c150420, 0x30661: 0x6c26f620, 0x30662: 0x6c26f820, 0x30663: 0x6c40c020, + 0x30664: 0x6c40c220, 0x30665: 0x6c40c420, 0x30666: 0x6c40c620, 0x30667: 0x6c40c820, + 0x30668: 0x6c40ca20, 0x30669: 0x6c40cc20, 0x3066a: 0x6c40ce20, 0x3066b: 0x6c40d020, + 0x3066c: 0x6c40d220, 0x3066d: 0x6c40d420, 0x3066e: 0x6c40d620, 0x3066f: 0x6c40d820, + 0x30670: 0x6c60dc20, 0x30671: 0x6c60de20, 0x30672: 0x6c60e020, 0x30673: 0x6c60e220, + 0x30674: 0x6c60e420, 0x30675: 0x6c60e620, 0x30676: 0x6c60e820, 0x30677: 0x6c60ea20, + 0x30678: 0x6c60ec20, 0x30679: 0x6c60ee20, 0x3067a: 0x6c60f020, 0x3067b: 0x6c60f220, + 0x3067c: 0x6c871020, 0x3067d: 0x6c871220, 0x3067e: 0x6c871420, 0x3067f: 0x6c871620, + // Block 0xc1a, offset 0x30680 + 0x30680: 0x6c871820, 0x30681: 0x6c871a20, 0x30682: 0x6c871c20, 0x30683: 0x6c871e20, + 0x30684: 0x6c872020, 0x30685: 0x6c872220, 0x30686: 0x6c872420, 0x30687: 0x6cb1dc20, + 0x30688: 0x6cb1de20, 0x30689: 0x6cb1e020, 0x3068a: 0x6cb1e220, 0x3068b: 0x6ce11820, + 0x3068c: 0x6ce11a20, 0x3068d: 0x6ce11c20, 0x3068e: 0x6ce11e20, 0x3068f: 0x6ce12020, + 0x30690: 0x6ce12220, 0x30691: 0x6ce12420, 0x30692: 0x6ce12620, 0x30693: 0x6ce12820, + 0x30694: 0x6ce12a20, 0x30695: 0x6ce12c20, 0x30696: 0x6d0f9220, 0x30697: 0x6d0f9420, + 0x30698: 0x6d3dc220, 0x30699: 0x6d3dc420, 0x3069a: 0x6d3dc620, 0x3069b: 0x6d3dc820, + 0x3069c: 0x6d6a7220, 0x3069d: 0x6d93c220, 0x3069e: 0x6d93c420, 0x3069f: 0x6d93c620, + 0x306a0: 0x6d93c820, 0x306a1: 0x6db74020, 0x306a2: 0x6db74220, 0x306a3: 0x6e14a420, + 0x306a4: 0x6c26fa20, 0x306a5: 0x6cb1e820, 0x306a6: 0x6cb1ea20, 0x306a7: 0x6cb1ec20, + 0x306a8: 0x6d0f9a20, 0x306a9: 0x6d0f9c20, 0x306aa: 0x6d0f9e20, 0x306ab: 0x6d3dce20, + 0x306ac: 0x6d93cc20, 0x306ad: 0x6d6a8220, 0x306ae: 0x6d93ce20, 0x306af: 0x6db74420, + 0x306b0: 0x6c26fc20, 0x306b1: 0x6c150620, 0x306b2: 0x6c60fe20, 0x306b3: 0x6c610020, + 0x306b4: 0x6c610220, 0x306b5: 0x6c610420, 0x306b6: 0x6c872e20, 0x306b7: 0x6c873020, + 0x306b8: 0x6c873220, 0x306b9: 0x6cb1fa20, 0x306ba: 0x6cb1fc20, 0x306bb: 0x6cb1fe20, + 0x306bc: 0x6cb20020, 0x306bd: 0x6cb20220, 0x306be: 0x6cb20420, 0x306bf: 0x6cb20620, + // Block 0xc1b, offset 0x306c0 + 0x306c0: 0x6ce14e20, 0x306c1: 0x6ce15020, 0x306c2: 0x6ce15220, 0x306c3: 0x6ce15420, + 0x306c4: 0x6ce15620, 0x306c5: 0x6ce15820, 0x306c6: 0x6ce15a20, 0x306c7: 0x6ce15c20, + 0x306c8: 0x6ce15e20, 0x306c9: 0x6ce16020, 0x306ca: 0x6ce16220, 0x306cb: 0x6ce16420, + 0x306cc: 0x6d0fb420, 0x306cd: 0x6d0fb620, 0x306ce: 0x6d0fb820, 0x306cf: 0x6d0fba20, + 0x306d0: 0x6d0fbc20, 0x306d1: 0x6d0fbe20, 0x306d2: 0x6d0fc020, 0x306d3: 0x6d0fc220, + 0x306d4: 0x6d0fc420, 0x306d5: 0x6d3de820, 0x306d6: 0x6d3dea20, 0x306d7: 0x6d3dec20, + 0x306d8: 0x6d3dee20, 0x306d9: 0x6d3df020, 0x306da: 0x6d3df220, 0x306db: 0x6d6a9020, + 0x306dc: 0x6d6a9220, 0x306dd: 0x6d6a9420, 0x306de: 0x6d6a9620, 0x306df: 0x6d6a9820, + 0x306e0: 0x6d6a9a20, 0x306e1: 0x6d6a9c20, 0x306e2: 0x6d6a9e20, 0x306e3: 0x6d6aa020, + 0x306e4: 0x6d6aa220, 0x306e5: 0x6d93e420, 0x306e6: 0x6d93e620, 0x306e7: 0x6d93e820, + 0x306e8: 0x6db75620, 0x306e9: 0x6dd5dc20, 0x306ea: 0x6dee8820, 0x306eb: 0x6dee8a20, + 0x306ec: 0x6dee8c20, 0x306ed: 0x6dee8e20, 0x306ee: 0x6e031220, 0x306ef: 0x6e14b020, + 0x306f0: 0x6e14b220, 0x306f1: 0x6e2cb020, 0x306f2: 0x6e3e4a20, 0x306f3: 0x6c270220, + 0x306f4: 0x6c611a20, 0x306f5: 0x6c875420, 0x306f6: 0x6c875620, 0x306f7: 0x6c875820, + 0x306f8: 0x6c875a20, 0x306f9: 0x6cb24e20, 0x306fa: 0x6cb25020, 0x306fb: 0x6cb25220, + 0x306fc: 0x6d101620, 0x306fd: 0x6cb25420, 0x306fe: 0x6cb25620, 0x306ff: 0x6cb25820, + // Block 0xc1c, offset 0x30700 + 0x30700: 0x6cb25a20, 0x30701: 0x6cb25c20, 0x30702: 0x6cb25e20, 0x30703: 0x6cb26020, + 0x30704: 0x6cb26220, 0x30705: 0x6ce1ba20, 0x30706: 0x6ce1bc20, 0x30707: 0x6ce1be20, + 0x30708: 0x6ce1c020, 0x30709: 0x6ce1c220, 0x3070a: 0x6ce1c420, 0x3070b: 0x6ce1c620, + 0x3070c: 0x6ce1c820, 0x3070d: 0x6ce1ca20, 0x3070e: 0x6ce1cc20, 0x3070f: 0x6ce1ce20, + 0x30710: 0x6d100820, 0x30711: 0x6ce1d020, 0x30712: 0x6ce1d220, 0x30713: 0x6ce1d420, + 0x30714: 0x6ce1d620, 0x30715: 0x6ce1d820, 0x30716: 0x6ce1da20, 0x30717: 0x6ce1dc20, + 0x30718: 0x6ce1de20, 0x30719: 0x6ce1e020, 0x3071a: 0x6ce1e220, 0x3071b: 0x6ce1e420, + 0x3071c: 0x6ce1e620, 0x3071d: 0x6ce1e820, 0x3071e: 0x6ce1ea20, 0x3071f: 0x6d101820, + 0x30720: 0x6d101a20, 0x30721: 0x6d101c20, 0x30722: 0x6d101e20, 0x30723: 0x6d102020, + 0x30724: 0x6d102220, 0x30725: 0x6d102420, 0x30726: 0x6d102620, 0x30727: 0x6d102820, + 0x30728: 0x6d102a20, 0x30729: 0x6d102c20, 0x3072a: 0x6d102e20, 0x3072b: 0x6d103020, + 0x3072c: 0x6d103220, 0x3072d: 0x6d103420, 0x3072e: 0x6d103620, 0x3072f: 0x6d103820, + 0x30730: 0x6d103a20, 0x30731: 0x6d103c20, 0x30732: 0x6d103e20, 0x30733: 0x6d104020, + 0x30734: 0x6d104220, 0x30735: 0x6ce1ec20, 0x30736: 0x6d104420, 0x30737: 0x6d104620, + 0x30738: 0x6d104820, 0x30739: 0x6d104a20, 0x3073a: 0x6d104c20, 0x3073b: 0x6d104e20, + 0x3073c: 0x6d3e4c20, 0x3073d: 0x6d3e4e20, 0x3073e: 0x6d3e5020, 0x3073f: 0x6d3e5220, + // Block 0xc1d, offset 0x30740 + 0x30740: 0x6d3e5420, 0x30741: 0x6d3e5620, 0x30742: 0x6d3e5820, 0x30743: 0x6d3e5a20, + 0x30744: 0x6d3e5c20, 0x30745: 0x6d3e5e20, 0x30746: 0x6d3e6020, 0x30747: 0x6d3e6220, + 0x30748: 0x6d3e6420, 0x30749: 0x6d3e6620, 0x3074a: 0x6d3e6820, 0x3074b: 0x6d3e6a20, + 0x3074c: 0x6d3e6c20, 0x3074d: 0x6d3e6e20, 0x3074e: 0x6d3e7020, 0x3074f: 0x6d6afa20, + 0x30750: 0x6d6afc20, 0x30751: 0x6d6afe20, 0x30752: 0x6d6b0020, 0x30753: 0x6d6b0220, + 0x30754: 0x6d6b0420, 0x30755: 0x6d6b0620, 0x30756: 0x6d6b0820, 0x30757: 0x6d6b0a20, + 0x30758: 0x6d6b0c20, 0x30759: 0x6d6b0e20, 0x3075a: 0x6d6b1020, 0x3075b: 0x6d6b1220, + 0x3075c: 0x6d6b1420, 0x3075d: 0x6d6b1620, 0x3075e: 0x6d6b1820, 0x3075f: 0x6d6b1a20, + 0x30760: 0x6d6b1c20, 0x30761: 0x6d6b1e20, 0x30762: 0x6d6b2020, 0x30763: 0x6d6b2220, + 0x30764: 0x6d6b2420, 0x30765: 0x6d6b2620, 0x30766: 0x6d6b2820, 0x30767: 0x6d6b2a20, + 0x30768: 0x6d6b2c20, 0x30769: 0x6d6b2e20, 0x3076a: 0x6d6b3020, 0x3076b: 0x6d6b9820, + 0x3076c: 0x6d6b3220, 0x3076d: 0x6d6b3420, 0x3076e: 0x6d6b3620, 0x3076f: 0x6d6b3820, + 0x30770: 0x6d944620, 0x30771: 0x6d944820, 0x30772: 0x6d944a20, 0x30773: 0x6d944c20, + 0x30774: 0x6d944e20, 0x30775: 0x6d945020, 0x30776: 0x6d945220, 0x30777: 0x6d6b9a20, + 0x30778: 0x6d945420, 0x30779: 0x6d945620, 0x3077a: 0x6d6b3a20, 0x3077b: 0x6d945820, + 0x3077c: 0x6d945a20, 0x3077d: 0x6d945c20, 0x3077e: 0x6d945e20, 0x3077f: 0x6d946020, + // Block 0xc1e, offset 0x30780 + 0x30780: 0x6d946220, 0x30781: 0x6d946420, 0x30782: 0x6d946620, 0x30783: 0x6d946820, + 0x30784: 0x6d946a20, 0x30785: 0x6d946c20, 0x30786: 0x6db79220, 0x30787: 0x6db79420, + 0x30788: 0x6db79620, 0x30789: 0x6db79820, 0x3078a: 0x6db79a20, 0x3078b: 0x6db79c20, + 0x3078c: 0x6db79e20, 0x3078d: 0x6db7a020, 0x3078e: 0x6db7a220, 0x3078f: 0x6db7a420, + 0x30790: 0x6db7a620, 0x30791: 0x6db7a820, 0x30792: 0x6db7aa20, 0x30793: 0x6db7ac20, + 0x30794: 0x6dd5e820, 0x30795: 0x6dd5ea20, 0x30796: 0x6dd5ec20, 0x30797: 0x6dd5ee20, + 0x30798: 0x6dd5f020, 0x30799: 0x6dd5f220, 0x3079a: 0x6dd5f420, 0x3079b: 0x6dd5f620, + 0x3079c: 0x6dd5f820, 0x3079d: 0x6dd5fa20, 0x3079e: 0x6dd5fc20, 0x3079f: 0x6dd5fe20, + 0x307a0: 0x6dd60020, 0x307a1: 0x6dd60220, 0x307a2: 0x6dd60420, 0x307a3: 0x6dd60620, + 0x307a4: 0x6dd60820, 0x307a5: 0x6dd60a20, 0x307a6: 0x6dd60c20, 0x307a7: 0x6dd60e20, + 0x307a8: 0x6deec820, 0x307a9: 0x6dd6aa20, 0x307aa: 0x6deeca20, 0x307ab: 0x6deecc20, + 0x307ac: 0x6deece20, 0x307ad: 0x6deed020, 0x307ae: 0x6dd61020, 0x307af: 0x6deed220, + 0x307b0: 0x6deed420, 0x307b1: 0x6deed620, 0x307b2: 0x6deed820, 0x307b3: 0x6deeda20, + 0x307b4: 0x6deedc20, 0x307b5: 0x6deede20, 0x307b6: 0x6deee020, 0x307b7: 0x6deee220, + 0x307b8: 0x6deee420, 0x307b9: 0x6deee620, 0x307ba: 0x6deee820, 0x307bb: 0x6deeea20, + 0x307bc: 0x6deeec20, 0x307bd: 0x6deeee20, 0x307be: 0x6deef020, 0x307bf: 0x6deef220, + // Block 0xc1f, offset 0x307c0 + 0x307c0: 0x6dd61220, 0x307c1: 0x6e033020, 0x307c2: 0x6e033220, 0x307c3: 0x6e033420, + 0x307c4: 0x6e033620, 0x307c5: 0x6e033820, 0x307c6: 0x6e033a20, 0x307c7: 0x6def6820, + 0x307c8: 0x6e033c20, 0x307c9: 0x6e033e20, 0x307ca: 0x6e14c820, 0x307cb: 0x6e14ca20, + 0x307cc: 0x6e14cc20, 0x307cd: 0x6e14ce20, 0x307ce: 0x6e14d020, 0x307cf: 0x6e14d220, + 0x307d0: 0x6e227220, 0x307d1: 0x6e227420, 0x307d2: 0x6e227620, 0x307d3: 0x6e227820, + 0x307d4: 0x6e227a20, 0x307d5: 0x6e227c20, 0x307d6: 0x6e227e20, 0x307d7: 0x6e22aa20, + 0x307d8: 0x6e2cc220, 0x307d9: 0x6e2cc420, 0x307da: 0x6e22ac20, 0x307db: 0x6e2cc620, + 0x307dc: 0x6e2cc820, 0x307dd: 0x6e34c220, 0x307de: 0x6e34c420, 0x307df: 0x6e34c620, + 0x307e0: 0x6e34c820, 0x307e1: 0x6e3a7c20, 0x307e2: 0x6e3a7e20, 0x307e3: 0x6e3a8020, + 0x307e4: 0x6e3a8220, 0x307e5: 0x6e3a8420, 0x307e6: 0x6e3e4c20, 0x307e7: 0x6e3e4e20, + 0x307e8: 0x6e432420, 0x307e9: 0x6e412220, 0x307ea: 0x6e412420, 0x307eb: 0x6c270620, + 0x307ec: 0x6c878020, 0x307ed: 0x6cb2aa20, 0x307ee: 0x6cb2ac20, 0x307ef: 0x6cb2ae20, + 0x307f0: 0x6ce24420, 0x307f1: 0x6d10b820, 0x307f2: 0x6d10ba20, 0x307f3: 0x6d3ee220, + 0x307f4: 0x6d3ee420, 0x307f5: 0x6d3ee620, 0x307f6: 0x6d6b9e20, 0x307f7: 0x6d6ba020, + 0x307f8: 0x6d6ba220, 0x307f9: 0x6d6ba420, 0x307fa: 0x6d6ba620, 0x307fb: 0x6d6ba820, + 0x307fc: 0x6d6baa20, 0x307fd: 0x6d94e420, 0x307fe: 0x6d94e620, 0x307ff: 0x6dd6ac20, + // Block 0xc20, offset 0x30800 + 0x30800: 0x6dd6ae20, 0x30801: 0x6dd6b020, 0x30802: 0x6def6c20, 0x30803: 0x6def6e20, + 0x30804: 0x6def7020, 0x30805: 0x6def7220, 0x30806: 0x6e039c20, 0x30807: 0x6e150620, + 0x30808: 0x6e34de20, 0x30809: 0x6e412c20, 0x3080a: 0x6c270e20, 0x3080b: 0x6c40e420, + 0x3080c: 0x6c613220, 0x3080d: 0x6c613420, 0x3080e: 0x6c878e20, 0x3080f: 0x6c879020, + 0x30810: 0x6c879220, 0x30811: 0x6c879420, 0x30812: 0x6c879620, 0x30813: 0x6c879820, + 0x30814: 0x6c879a20, 0x30815: 0x6c879c20, 0x30816: 0x6cb2e420, 0x30817: 0x6cb2e620, + 0x30818: 0x6cb2e820, 0x30819: 0x6cb2ea20, 0x3081a: 0x6cb2ec20, 0x3081b: 0x6cb2ee20, + 0x3081c: 0x6cb2f020, 0x3081d: 0x6cb2f220, 0x3081e: 0x6cb2f420, 0x3081f: 0x6cb2f620, + 0x30820: 0x6cb2f820, 0x30821: 0x6cb2fa20, 0x30822: 0x6cb2fc20, 0x30823: 0x6cb2fe20, + 0x30824: 0x6ce26c20, 0x30825: 0x6ce26e20, 0x30826: 0x6ce27020, 0x30827: 0x6ce27220, + 0x30828: 0x6ce27420, 0x30829: 0x6ce27620, 0x3082a: 0x6ce27820, 0x3082b: 0x6ce27a20, + 0x3082c: 0x6ce27c20, 0x3082d: 0x6d10ea20, 0x3082e: 0x6ce27e20, 0x3082f: 0x6ce28020, + 0x30830: 0x6ce28220, 0x30831: 0x6ce28420, 0x30832: 0x6ce28620, 0x30833: 0x6ce28820, + 0x30834: 0x6ce28a20, 0x30835: 0x6ce28c20, 0x30836: 0x6ce28e20, 0x30837: 0x6ce29020, + 0x30838: 0x6ce29220, 0x30839: 0x6ce29420, 0x3083a: 0x6ce29620, 0x3083b: 0x6ce29820, + 0x3083c: 0x6ce29a20, 0x3083d: 0x6ce29c20, 0x3083e: 0x6d10ec20, 0x3083f: 0x6d10ee20, + // Block 0xc21, offset 0x30840 + 0x30840: 0x6d10f020, 0x30841: 0x6d10f220, 0x30842: 0x6d10f420, 0x30843: 0x6d10f620, + 0x30844: 0x6d10f820, 0x30845: 0x6d10fa20, 0x30846: 0x6d10fc20, 0x30847: 0x6d10fe20, + 0x30848: 0x6d110020, 0x30849: 0x6d110220, 0x3084a: 0x6d110420, 0x3084b: 0x6d110620, + 0x3084c: 0x6d110820, 0x3084d: 0x6d3f0a20, 0x3084e: 0x6d3f0c20, 0x3084f: 0x6d3f0e20, + 0x30850: 0x6d3f1020, 0x30851: 0x6d3f1220, 0x30852: 0x6d3f1420, 0x30853: 0x6d3f1620, + 0x30854: 0x6d3f1820, 0x30855: 0x6d3f1a20, 0x30856: 0x6d6bd020, 0x30857: 0x6d6bd220, + 0x30858: 0x6d6bd420, 0x30859: 0x6d6bd620, 0x3085a: 0x6d6bd820, 0x3085b: 0x6d6bda20, + 0x3085c: 0x6d6bdc20, 0x3085d: 0x6d6bde20, 0x3085e: 0x6d6be020, 0x3085f: 0x6d6be220, + 0x30860: 0x6d6be420, 0x30861: 0x6d6be620, 0x30862: 0x6d6be820, 0x30863: 0x6d6bea20, + 0x30864: 0x6d6bec20, 0x30865: 0x6d6bee20, 0x30866: 0x6d6bf020, 0x30867: 0x6d6bf220, + 0x30868: 0x6d6bf420, 0x30869: 0x6d6bf620, 0x3086a: 0x6d6bf820, 0x3086b: 0x6d6bfa20, + 0x3086c: 0x6d6bfc20, 0x3086d: 0x6d950820, 0x3086e: 0x6d950a20, 0x3086f: 0x6d950c20, + 0x30870: 0x6d950e20, 0x30871: 0x6d951020, 0x30872: 0x6d951220, 0x30873: 0x6d951420, + 0x30874: 0x6d951620, 0x30875: 0x6d951820, 0x30876: 0x6d951a20, 0x30877: 0x6d951c20, + 0x30878: 0x6d951e20, 0x30879: 0x6d952020, 0x3087a: 0x6d952220, 0x3087b: 0x6d952420, + 0x3087c: 0x6d952620, 0x3087d: 0x6db84220, 0x3087e: 0x6db84420, 0x3087f: 0x6db84620, + // Block 0xc22, offset 0x30880 + 0x30880: 0x6db84820, 0x30881: 0x6db84a20, 0x30882: 0x6db84c20, 0x30883: 0x6db84e20, + 0x30884: 0x6db85020, 0x30885: 0x6db85220, 0x30886: 0x6dd6ce20, 0x30887: 0x6dd6d020, + 0x30888: 0x6dd6d220, 0x30889: 0x6dd6d420, 0x3088a: 0x6dd6d620, 0x3088b: 0x6dd6d820, + 0x3088c: 0x6dd6da20, 0x3088d: 0x6def9a20, 0x3088e: 0x6def9c20, 0x3088f: 0x6def9e20, + 0x30890: 0x6defa020, 0x30891: 0x6defa220, 0x30892: 0x6defa420, 0x30893: 0x6defa620, + 0x30894: 0x6defa820, 0x30895: 0x6e03ae20, 0x30896: 0x6e03b020, 0x30897: 0x6e03b220, + 0x30898: 0x6e03b420, 0x30899: 0x6e03b620, 0x3089a: 0x6e03b820, 0x3089b: 0x6e151820, + 0x3089c: 0x6e151a20, 0x3089d: 0x6e151c20, 0x3089e: 0x6e151e20, 0x3089f: 0x6e152020, + 0x308a0: 0x6e22b820, 0x308a1: 0x6e22ba20, 0x308a2: 0x6e22bc20, 0x308a3: 0x6e2cee20, + 0x308a4: 0x6e2cf020, 0x308a5: 0x6e413020, 0x308a6: 0x6c051a20, 0x308a7: 0x6c0a7e20, + 0x308a8: 0x6c150820, 0x308a9: 0x6c271020, 0x308aa: 0x6c271220, 0x308ab: 0x6c271420, + 0x308ac: 0x6c40e620, 0x308ad: 0x6c40e820, 0x308ae: 0x6c40ea20, 0x308af: 0x6c40ec20, + 0x308b0: 0x6c40ee20, 0x308b1: 0x6c614620, 0x308b2: 0x6c614820, 0x308b3: 0x6c614a20, + 0x308b4: 0x6c614c20, 0x308b5: 0x6c614e20, 0x308b6: 0x6c615020, 0x308b7: 0x6c615220, + 0x308b8: 0x6c615420, 0x308b9: 0x6c615620, 0x308ba: 0x6c615820, 0x308bb: 0x6c615a20, + 0x308bc: 0x6c87ba20, 0x308bd: 0x6c87bc20, 0x308be: 0x6c87be20, 0x308bf: 0x6c87c020, + // Block 0xc23, offset 0x308c0 + 0x308c0: 0x6c87c220, 0x308c1: 0x6c87c420, 0x308c2: 0x6c87c620, 0x308c3: 0x6c87c820, + 0x308c4: 0x6cb33a20, 0x308c5: 0x6cb33c20, 0x308c6: 0x6cb33e20, 0x308c7: 0x6ce2d820, + 0x308c8: 0x6ce2da20, 0x308c9: 0x6ce2dc20, 0x308ca: 0x6ce2de20, 0x308cb: 0x6ce2e020, + 0x308cc: 0x6ce2e220, 0x308cd: 0x6ce2e420, 0x308ce: 0x6ce2e620, 0x308cf: 0x6d113e20, + 0x308d0: 0x6d114020, 0x308d1: 0x6d114220, 0x308d2: 0x6d114420, 0x308d3: 0x6d114620, + 0x308d4: 0x6d114820, 0x308d5: 0x6d3f5e20, 0x308d6: 0x6d3f6020, 0x308d7: 0x6d3f6220, + 0x308d8: 0x6d6c4e20, 0x308d9: 0x6d957020, 0x308da: 0x6d957220, 0x308db: 0x6c271c20, + 0x308dc: 0x6ce2f020, 0x308dd: 0x6ce2f220, 0x308de: 0x6d114c20, 0x308df: 0x6d114e20, + 0x308e0: 0x6d115020, 0x308e1: 0x6d3f6820, 0x308e2: 0x6d3f6a20, 0x308e3: 0x6d3f6c20, + 0x308e4: 0x6d6c5620, 0x308e5: 0x6d957820, 0x308e6: 0x6d957a20, 0x308e7: 0x6d957c20, + 0x308e8: 0x6d957e20, 0x308e9: 0x6d958020, 0x308ea: 0x6d958220, 0x308eb: 0x6db89e20, + 0x308ec: 0x6dd71620, 0x308ed: 0x6defca20, 0x308ee: 0x6e03ee20, 0x308ef: 0x6e153620, + 0x308f0: 0x6c272020, 0x308f1: 0x6c87d620, 0x308f2: 0x6d116020, 0x308f3: 0x6d6c6220, + 0x308f4: 0x6defd620, 0x308f5: 0x6c272620, 0x308f6: 0x6c051e20, 0x308f7: 0x6c0a8020, + 0x308f8: 0x6c150a20, 0x308f9: 0x6c150c20, 0x308fa: 0x6c150e20, 0x308fb: 0x6c151020, + 0x308fc: 0x6c151220, 0x308fd: 0x6c151420, 0x308fe: 0x6c272e20, 0x308ff: 0x6c273020, + // Block 0xc24, offset 0x30900 + 0x30900: 0x6c273220, 0x30901: 0x6c273420, 0x30902: 0x6c273620, 0x30903: 0x6c273820, + 0x30904: 0x6c273a20, 0x30905: 0x6c273c20, 0x30906: 0x6c273e20, 0x30907: 0x6c274020, + 0x30908: 0x6c274220, 0x30909: 0x6c274420, 0x3090a: 0x6c410020, 0x3090b: 0x6c410220, + 0x3090c: 0x6c410420, 0x3090d: 0x6c410620, 0x3090e: 0x6c410820, 0x3090f: 0x6c410a20, + 0x30910: 0x6c410c20, 0x30911: 0x6c410e20, 0x30912: 0x6c411020, 0x30913: 0x6c411220, + 0x30914: 0x6c411420, 0x30915: 0x6c411620, 0x30916: 0x6c411820, 0x30917: 0x6c411a20, + 0x30918: 0x6c411c20, 0x30919: 0x6c411e20, 0x3091a: 0x6c412020, 0x3091b: 0x6c412220, + 0x3091c: 0x6c412420, 0x3091d: 0x6c412620, 0x3091e: 0x6c412820, 0x3091f: 0x6c412a20, + 0x30920: 0x6c616a20, 0x30921: 0x6c616c20, 0x30922: 0x6c616e20, 0x30923: 0x6c617020, + 0x30924: 0x6c617220, 0x30925: 0x6c617420, 0x30926: 0x6c617620, 0x30927: 0x6c617820, + 0x30928: 0x6c617a20, 0x30929: 0x6c617c20, 0x3092a: 0x6c617e20, 0x3092b: 0x6c618020, + 0x3092c: 0x6c412c20, 0x3092d: 0x6c618220, 0x3092e: 0x6c618420, 0x3092f: 0x6c618620, + 0x30930: 0x6c618820, 0x30931: 0x6c618a20, 0x30932: 0x6c618c20, 0x30933: 0x6c618e20, + 0x30934: 0x6c87e620, 0x30935: 0x6c87e820, 0x30936: 0x6c87ea20, 0x30937: 0x6c87ec20, + 0x30938: 0x6c87ee20, 0x30939: 0x6c87f020, 0x3093a: 0x6c87f220, 0x3093b: 0x6c87f420, + 0x3093c: 0x6c87f620, 0x3093d: 0x6c87f820, 0x3093e: 0x6c87fa20, 0x3093f: 0x6c87fc20, + // Block 0xc25, offset 0x30940 + 0x30940: 0x6c87fe20, 0x30941: 0x6c880020, 0x30942: 0x6c880220, 0x30943: 0x6c880420, + 0x30944: 0x6c880620, 0x30945: 0x6c880820, 0x30946: 0x6c880a20, 0x30947: 0x6c880c20, + 0x30948: 0x6c880e20, 0x30949: 0x6c881020, 0x3094a: 0x6c881220, 0x3094b: 0x6cb34e20, + 0x3094c: 0x6cb35020, 0x3094d: 0x6cb35220, 0x3094e: 0x6cb35420, 0x3094f: 0x6cb35620, + 0x30950: 0x6cb35820, 0x30951: 0x6cb35a20, 0x30952: 0x6cb35c20, 0x30953: 0x6cb35e20, + 0x30954: 0x6cb36020, 0x30955: 0x6cb36220, 0x30956: 0x6cb36420, 0x30957: 0x6cb36620, + 0x30958: 0x6cb36820, 0x30959: 0x6cb36a20, 0x3095a: 0x6cb36c20, 0x3095b: 0x6cb36e20, + 0x3095c: 0x6cb37020, 0x3095d: 0x6cb37220, 0x3095e: 0x6cb37420, 0x3095f: 0x6cb37620, + 0x30960: 0x6cb37820, 0x30961: 0x6cb37a20, 0x30962: 0x6cb37c20, 0x30963: 0x6cb37e20, + 0x30964: 0x6cb38020, 0x30965: 0x6cb38220, 0x30966: 0x6cb38420, 0x30967: 0x6cb38620, + 0x30968: 0x6ce30420, 0x30969: 0x6ce30620, 0x3096a: 0x6ce30820, 0x3096b: 0x6ce30a20, + 0x3096c: 0x6ce30c20, 0x3096d: 0x6ce30e20, 0x3096e: 0x6ce31020, 0x3096f: 0x6ce31220, + 0x30970: 0x6ce31420, 0x30971: 0x6ce31620, 0x30972: 0x6ce31820, 0x30973: 0x6ce31a20, + 0x30974: 0x6ce31c20, 0x30975: 0x6ce31e20, 0x30976: 0x6ce32020, 0x30977: 0x6ce32220, + 0x30978: 0x6ce32420, 0x30979: 0x6ce32620, 0x3097a: 0x6ce32820, 0x3097b: 0x6ce32a20, + 0x3097c: 0x6d116a20, 0x3097d: 0x6d116c20, 0x3097e: 0x6d116e20, 0x3097f: 0x6d117020, + // Block 0xc26, offset 0x30980 + 0x30980: 0x6d117220, 0x30981: 0x6d117420, 0x30982: 0x6d117620, 0x30983: 0x6d117820, + 0x30984: 0x6d117a20, 0x30985: 0x6d117c20, 0x30986: 0x6d117e20, 0x30987: 0x6d118020, + 0x30988: 0x6d118220, 0x30989: 0x6d118420, 0x3098a: 0x6d118620, 0x3098b: 0x6d118820, + 0x3098c: 0x6d118a20, 0x3098d: 0x6d118c20, 0x3098e: 0x6d118e20, 0x3098f: 0x6d119020, + 0x30990: 0x6d119220, 0x30991: 0x6d119420, 0x30992: 0x6d119620, 0x30993: 0x6d119820, + 0x30994: 0x6d119a20, 0x30995: 0x6d119c20, 0x30996: 0x6d119e20, 0x30997: 0x6d11a020, + 0x30998: 0x6d3f8020, 0x30999: 0x6d3f8220, 0x3099a: 0x6d3f8420, 0x3099b: 0x6d3f8620, + 0x3099c: 0x6d3f8820, 0x3099d: 0x6d3f8a20, 0x3099e: 0x6d3f8c20, 0x3099f: 0x6d3f8e20, + 0x309a0: 0x6d3f9020, 0x309a1: 0x6d3f9220, 0x309a2: 0x6d3f9420, 0x309a3: 0x6d3f9620, + 0x309a4: 0x6d3f9820, 0x309a5: 0x6d3f9a20, 0x309a6: 0x6d6c6e20, 0x309a7: 0x6d6c7020, + 0x309a8: 0x6d6c7220, 0x309a9: 0x6d6c7420, 0x309aa: 0x6d6c7620, 0x309ab: 0x6d6c7820, + 0x309ac: 0x6d6c7a20, 0x309ad: 0x6d6c7c20, 0x309ae: 0x6d6c7e20, 0x309af: 0x6d6c8020, + 0x309b0: 0x6d6c8220, 0x309b1: 0x6d6c8420, 0x309b2: 0x6d959e20, 0x309b3: 0x6d6c8620, + 0x309b4: 0x6d95a020, 0x309b5: 0x6d95a220, 0x309b6: 0x6d95a420, 0x309b7: 0x6d6c8820, + 0x309b8: 0x6d95a620, 0x309b9: 0x6d95a820, 0x309ba: 0x6d95aa20, 0x309bb: 0x6d95ac20, + 0x309bc: 0x6d95ae20, 0x309bd: 0x6db8b220, 0x309be: 0x6db8b420, 0x309bf: 0x6db8b620, + // Block 0xc27, offset 0x309c0 + 0x309c0: 0x6db8b820, 0x309c1: 0x6db8ba20, 0x309c2: 0x6db8bc20, 0x309c3: 0x6db8be20, + 0x309c4: 0x6db8c020, 0x309c5: 0x6db8c220, 0x309c6: 0x6d95b020, 0x309c7: 0x6dd72220, + 0x309c8: 0x6dd72420, 0x309c9: 0x6db8c420, 0x309ca: 0x6defdc20, 0x309cb: 0x6defde20, + 0x309cc: 0x6defe020, 0x309cd: 0x6e03fc20, 0x309ce: 0x6e153c20, 0x309cf: 0x6e2d0820, + 0x309d0: 0x6e2d0a20, 0x309d1: 0x6c278a20, 0x309d2: 0x6c0a8e20, 0x309d3: 0x6c0a9020, + 0x309d4: 0x6c153c20, 0x309d5: 0x6c886a20, 0x309d6: 0x6c153e20, 0x309d7: 0x6c154020, + 0x309d8: 0x6c154220, 0x309d9: 0x6c154420, 0x309da: 0x6c154620, 0x309db: 0x6c154820, + 0x309dc: 0x6c154a20, 0x309dd: 0x6c154c20, 0x309de: 0x6c279220, 0x309df: 0x6c279420, + 0x309e0: 0x6c279620, 0x309e1: 0x6c279820, 0x309e2: 0x6c279a20, 0x309e3: 0x6c279c20, + 0x309e4: 0x6c279e20, 0x309e5: 0x6c27a020, 0x309e6: 0x6c27a220, 0x309e7: 0x6c27a420, + 0x309e8: 0x6c27a620, 0x309e9: 0x6c27a820, 0x309ea: 0x6c27aa20, 0x309eb: 0x6cb3fc20, + 0x309ec: 0x6c27ac20, 0x309ed: 0x6c418220, 0x309ee: 0x6c418420, 0x309ef: 0x6c418620, + 0x309f0: 0x6c418820, 0x309f1: 0x6c418a20, 0x309f2: 0x6c418c20, 0x309f3: 0x6c418e20, + 0x309f4: 0x6c419020, 0x309f5: 0x6c419220, 0x309f6: 0x6c419420, 0x309f7: 0x6c419620, + 0x309f8: 0x6c419820, 0x309f9: 0x6c419a20, 0x309fa: 0x6c419c20, 0x309fb: 0x6c419e20, + 0x309fc: 0x6c61e020, 0x309fd: 0x6c61e220, 0x309fe: 0x6c61e420, 0x309ff: 0x6c61e620, + // Block 0xc28, offset 0x30a00 + 0x30a00: 0x6c61e820, 0x30a01: 0x6c61ea20, 0x30a02: 0x6c61ec20, 0x30a03: 0x6c61ee20, + 0x30a04: 0x6c61f020, 0x30a05: 0x6c61f220, 0x30a06: 0x6c61f420, 0x30a07: 0x6c61f620, + 0x30a08: 0x6c61f820, 0x30a09: 0x6c61fa20, 0x30a0a: 0x6c61fc20, 0x30a0b: 0x6c61fe20, + 0x30a0c: 0x6d11fe20, 0x30a0d: 0x6c620020, 0x30a0e: 0x6c620220, 0x30a0f: 0x6c620420, + 0x30a10: 0x6c620620, 0x30a11: 0x6c620820, 0x30a12: 0x6d400820, 0x30a13: 0x6c620a20, + 0x30a14: 0x6cb3fe20, 0x30a15: 0x6c620c20, 0x30a16: 0x6c887620, 0x30a17: 0x6c887820, + 0x30a18: 0x6c887a20, 0x30a19: 0x6c887c20, 0x30a1a: 0x6c887e20, 0x30a1b: 0x6c888020, + 0x30a1c: 0x6c888220, 0x30a1d: 0x6c888420, 0x30a1e: 0x6c888620, 0x30a1f: 0x6c888820, + 0x30a20: 0x6c888a20, 0x30a21: 0x6c888c20, 0x30a22: 0x6c888e20, 0x30a23: 0x6c889020, + 0x30a24: 0x6c889220, 0x30a25: 0x6c889420, 0x30a26: 0x6c889620, 0x30a27: 0x6c889820, + 0x30a28: 0x6cb40c20, 0x30a29: 0x6cb40e20, 0x30a2a: 0x6cb41020, 0x30a2b: 0x6cb41220, + 0x30a2c: 0x6cb41420, 0x30a2d: 0x6cb41620, 0x30a2e: 0x6cb41820, 0x30a2f: 0x6cb41a20, + 0x30a30: 0x6cb41c20, 0x30a31: 0x6c625420, 0x30a32: 0x6cb41e20, 0x30a33: 0x6cb42020, + 0x30a34: 0x6cb42220, 0x30a35: 0x6ce3be20, 0x30a36: 0x6d6cf820, 0x30a37: 0x6cb42420, + 0x30a38: 0x6cb42620, 0x30a39: 0x6ce3c620, 0x30a3a: 0x6d95fa20, 0x30a3b: 0x6ce3c820, + 0x30a3c: 0x6ce3ca20, 0x30a3d: 0x6cb42820, 0x30a3e: 0x6ce3cc20, 0x30a3f: 0x6ce3ce20, + // Block 0xc29, offset 0x30a40 + 0x30a40: 0x6ce3d020, 0x30a41: 0x6ce3d220, 0x30a42: 0x6ce3d420, 0x30a43: 0x6ce3d620, + 0x30a44: 0x6ce3d820, 0x30a45: 0x6ce3da20, 0x30a46: 0x6ce3dc20, 0x30a47: 0x6ce3de20, + 0x30a48: 0x6ce3e020, 0x30a49: 0x6ce3e220, 0x30a4a: 0x6ce3e420, 0x30a4b: 0x6d120820, + 0x30a4c: 0x6d120a20, 0x30a4d: 0x6d120c20, 0x30a4e: 0x6d120e20, 0x30a4f: 0x6d121020, + 0x30a50: 0x6d121220, 0x30a51: 0x6d121420, 0x30a52: 0x6d121620, 0x30a53: 0x6d121820, + 0x30a54: 0x6d121a20, 0x30a55: 0x6d121c20, 0x30a56: 0x6d121e20, 0x30a57: 0x6d122020, + 0x30a58: 0x6d401420, 0x30a59: 0x6d401620, 0x30a5a: 0x6d401820, 0x30a5b: 0x6d401a20, + 0x30a5c: 0x6d401c20, 0x30a5d: 0x6d401e20, 0x30a5e: 0x6d402020, 0x30a5f: 0x6d402220, + 0x30a60: 0x6d402420, 0x30a61: 0x6d402620, 0x30a62: 0x6d402820, 0x30a63: 0x6d402a20, + 0x30a64: 0x6d402c20, 0x30a65: 0x6d402e20, 0x30a66: 0x6d6d0220, 0x30a67: 0x6d6d0420, + 0x30a68: 0x6dd75620, 0x30a69: 0x6d6d0620, 0x30a6a: 0x6d6d0820, 0x30a6b: 0x6d6d0a20, + 0x30a6c: 0x6ce41e20, 0x30a6d: 0x6d6d0c20, 0x30a6e: 0x6d6d0e20, 0x30a6f: 0x6d6d1020, + 0x30a70: 0x6d6d1220, 0x30a71: 0x6d6d1420, 0x30a72: 0x6d6d1620, 0x30a73: 0x6d95fe20, + 0x30a74: 0x6d960020, 0x30a75: 0x6d960220, 0x30a76: 0x6d960420, 0x30a77: 0x6d960620, + 0x30a78: 0x6db90820, 0x30a79: 0x6db90a20, 0x30a7a: 0x6dd75820, 0x30a7b: 0x6dd75a20, + 0x30a7c: 0x6dd75c20, 0x30a7d: 0x6dd75e20, 0x30a7e: 0x6dd76020, 0x30a7f: 0x6deff620, + // Block 0xc2a, offset 0x30a80 + 0x30a80: 0x6deff820, 0x30a81: 0x6e042620, 0x30a82: 0x6deffa20, 0x30a83: 0x6e042820, + 0x30a84: 0x6e154e20, 0x30a85: 0x6e155020, 0x30a86: 0x6e155220, 0x30a87: 0x6e22ea20, + 0x30a88: 0x6e22ec20, 0x30a89: 0x6c27ec20, 0x30a8a: 0x6c625a20, 0x30a8b: 0x6c625c20, + 0x30a8c: 0x6c88ee20, 0x30a8d: 0x6c88f020, 0x30a8e: 0x6c88f220, 0x30a8f: 0x6c88f420, + 0x30a90: 0x6c88f620, 0x30a91: 0x6c88f820, 0x30a92: 0x6c88fa20, 0x30a93: 0x6cb47e20, + 0x30a94: 0x6cb48020, 0x30a95: 0x6cb48220, 0x30a96: 0x6cb48420, 0x30a97: 0x6cb48620, + 0x30a98: 0x6cb48820, 0x30a99: 0x6cb48a20, 0x30a9a: 0x6cb48c20, 0x30a9b: 0x6cb48e20, + 0x30a9c: 0x6cb49020, 0x30a9d: 0x6cb49220, 0x30a9e: 0x6cb49420, 0x30a9f: 0x6ce42a20, + 0x30aa0: 0x6ce42c20, 0x30aa1: 0x6ce42e20, 0x30aa2: 0x6ce43020, 0x30aa3: 0x6ce43220, + 0x30aa4: 0x6ce43420, 0x30aa5: 0x6ce43620, 0x30aa6: 0x6d127820, 0x30aa7: 0x6d127a20, + 0x30aa8: 0x6d127c20, 0x30aa9: 0x6d127e20, 0x30aaa: 0x6d128020, 0x30aab: 0x6d128220, + 0x30aac: 0x6d128420, 0x30aad: 0x6d128620, 0x30aae: 0x6d128820, 0x30aaf: 0x6d128a20, + 0x30ab0: 0x6d128c20, 0x30ab1: 0x6d128e20, 0x30ab2: 0x6d407e20, 0x30ab3: 0x6d408020, + 0x30ab4: 0x6d408220, 0x30ab5: 0x6d408420, 0x30ab6: 0x6d408620, 0x30ab7: 0x6d408820, + 0x30ab8: 0x6d408a20, 0x30ab9: 0x6d408c20, 0x30aba: 0x6d408e20, 0x30abb: 0x6d409020, + 0x30abc: 0x6d409220, 0x30abd: 0x6d409420, 0x30abe: 0x6d409620, 0x30abf: 0x6d409820, + // Block 0xc2b, offset 0x30ac0 + 0x30ac0: 0x6d6d5020, 0x30ac1: 0x6d6d5220, 0x30ac2: 0x6d6d5420, 0x30ac3: 0x6d6d5620, + 0x30ac4: 0x6d6d5820, 0x30ac5: 0x6d6d5a20, 0x30ac6: 0x6d6d5c20, 0x30ac7: 0x6d6d5e20, + 0x30ac8: 0x6d6d6020, 0x30ac9: 0x6d6d6220, 0x30aca: 0x6d6d6420, 0x30acb: 0x6d6d6620, + 0x30acc: 0x6d6d6820, 0x30acd: 0x6d964220, 0x30ace: 0x6d964420, 0x30acf: 0x6d964620, + 0x30ad0: 0x6d964820, 0x30ad1: 0x6d964a20, 0x30ad2: 0x6d964c20, 0x30ad3: 0x6d964e20, + 0x30ad4: 0x6d965020, 0x30ad5: 0x6d965220, 0x30ad6: 0x6d965420, 0x30ad7: 0x6d965620, + 0x30ad8: 0x6db93c20, 0x30ad9: 0x6db93e20, 0x30ada: 0x6db94020, 0x30adb: 0x6db94220, + 0x30adc: 0x6db94420, 0x30add: 0x6db94620, 0x30ade: 0x6db94820, 0x30adf: 0x6db94a20, + 0x30ae0: 0x6db94c20, 0x30ae1: 0x6db94e20, 0x30ae2: 0x6db95020, 0x30ae3: 0x6db95220, + 0x30ae4: 0x6db95420, 0x30ae5: 0x6dd78220, 0x30ae6: 0x6dd78420, 0x30ae7: 0x6dd78620, + 0x30ae8: 0x6dd78820, 0x30ae9: 0x6dd78a20, 0x30aea: 0x6dd78c20, 0x30aeb: 0x6dd78e20, + 0x30aec: 0x6dd79020, 0x30aed: 0x6df01420, 0x30aee: 0x6df01620, 0x30aef: 0x6df01820, + 0x30af0: 0x6df01a20, 0x30af1: 0x6df01c20, 0x30af2: 0x6e043420, 0x30af3: 0x6e043620, + 0x30af4: 0x6e043820, 0x30af5: 0x6e043a20, 0x30af6: 0x6e043c20, 0x30af7: 0x6e043e20, + 0x30af8: 0x6e044020, 0x30af9: 0x6e156020, 0x30afa: 0x6e156220, 0x30afb: 0x6e156420, + 0x30afc: 0x6e2d2620, 0x30afd: 0x6e350220, 0x30afe: 0x6e350420, 0x30aff: 0x6e350620, + // Block 0xc2c, offset 0x30b00 + 0x30b00: 0x6e350820, 0x30b01: 0x6e3aaa20, 0x30b02: 0x6e351420, 0x30b03: 0x6e3e6e20, + 0x30b04: 0x6e3e7020, 0x30b05: 0x6e413820, 0x30b06: 0x6c27ee20, 0x30b07: 0x6c41da20, + 0x30b08: 0x6cb4c420, 0x30b09: 0x6ce46a20, 0x30b0a: 0x6ce46c20, 0x30b0b: 0x6e046220, + 0x30b0c: 0x6c27f020, 0x30b0d: 0x6c625e20, 0x30b0e: 0x6cb4cc20, 0x30b0f: 0x6ce47020, + 0x30b10: 0x6dd7ce20, 0x30b11: 0x6c41dc20, 0x30b12: 0x6c41de20, 0x30b13: 0x6c626220, + 0x30b14: 0x6c626420, 0x30b15: 0x6c890e20, 0x30b16: 0x6c891020, 0x30b17: 0x6c891220, + 0x30b18: 0x6c891420, 0x30b19: 0x6c891620, 0x30b1a: 0x6c891820, 0x30b1b: 0x6c891a20, + 0x30b1c: 0x6c891c20, 0x30b1d: 0x6c891e20, 0x30b1e: 0x6c892020, 0x30b1f: 0x6c892220, + 0x30b20: 0x6c892420, 0x30b21: 0x6c892620, 0x30b22: 0x6c892820, 0x30b23: 0x6cb4d620, + 0x30b24: 0x6cb4d820, 0x30b25: 0x6cb4da20, 0x30b26: 0x6cb4dc20, 0x30b27: 0x6cb4de20, + 0x30b28: 0x6cb4e020, 0x30b29: 0x6cb4e220, 0x30b2a: 0x6cb4e420, 0x30b2b: 0x6cb4e620, + 0x30b2c: 0x6cb4e820, 0x30b2d: 0x6cb4ea20, 0x30b2e: 0x6cb4ec20, 0x30b2f: 0x6cb4ee20, + 0x30b30: 0x6cb4f020, 0x30b31: 0x6cb4f220, 0x30b32: 0x6cb4f420, 0x30b33: 0x6cb4f620, + 0x30b34: 0x6cb4f820, 0x30b35: 0x6cb4fa20, 0x30b36: 0x6cb4fc20, 0x30b37: 0x6cb4fe20, + 0x30b38: 0x6cb50020, 0x30b39: 0x6cb50220, 0x30b3a: 0x6cb50420, 0x30b3b: 0x6cb50620, + 0x30b3c: 0x6cb50820, 0x30b3d: 0x6ce48420, 0x30b3e: 0x6ce48620, 0x30b3f: 0x6ce48820, + // Block 0xc2d, offset 0x30b40 + 0x30b40: 0x6ce48a20, 0x30b41: 0x6ce48c20, 0x30b42: 0x6ce48e20, 0x30b43: 0x6ce49020, + 0x30b44: 0x6ce49220, 0x30b45: 0x6ce49420, 0x30b46: 0x6ce49620, 0x30b47: 0x6ce49820, + 0x30b48: 0x6ce49a20, 0x30b49: 0x6ce49c20, 0x30b4a: 0x6ce49e20, 0x30b4b: 0x6ce4a020, + 0x30b4c: 0x6ce4a220, 0x30b4d: 0x6ce4a420, 0x30b4e: 0x6ce4a620, 0x30b4f: 0x6ce4a820, + 0x30b50: 0x6ce4aa20, 0x30b51: 0x6ce4ac20, 0x30b52: 0x6ce4ae20, 0x30b53: 0x6ce4b020, + 0x30b54: 0x6ce4b220, 0x30b55: 0x6ce4b420, 0x30b56: 0x6ce4b620, 0x30b57: 0x6ce4b820, + 0x30b58: 0x6ce4ba20, 0x30b59: 0x6ce4bc20, 0x30b5a: 0x6ce4be20, 0x30b5b: 0x6ce4c020, + 0x30b5c: 0x6ce4c220, 0x30b5d: 0x6ce4c420, 0x30b5e: 0x6ce4c620, 0x30b5f: 0x6ce4c820, + 0x30b60: 0x6ce4ca20, 0x30b61: 0x6ce4cc20, 0x30b62: 0x6ce4ce20, 0x30b63: 0x6ce4d020, + 0x30b64: 0x6ce4d220, 0x30b65: 0x6ce4d420, 0x30b66: 0x6ce4d620, 0x30b67: 0x6ce4d820, + 0x30b68: 0x6ce4da20, 0x30b69: 0x6ce4dc20, 0x30b6a: 0x6ce4de20, 0x30b6b: 0x6ce4e020, + 0x30b6c: 0x6ce4e220, 0x30b6d: 0x6d40d420, 0x30b6e: 0x6d12c620, 0x30b6f: 0x6d12c820, + 0x30b70: 0x6d12ca20, 0x30b71: 0x6d12cc20, 0x30b72: 0x6d12ce20, 0x30b73: 0x6d12d020, + 0x30b74: 0x6d12d220, 0x30b75: 0x6d12d420, 0x30b76: 0x6d12d620, 0x30b77: 0x6d12d820, + 0x30b78: 0x6d12da20, 0x30b79: 0x6d12dc20, 0x30b7a: 0x6d12de20, 0x30b7b: 0x6d12e020, + 0x30b7c: 0x6d12e220, 0x30b7d: 0x6d12e420, 0x30b7e: 0x6d12e620, 0x30b7f: 0x6d12e820, + // Block 0xc2e, offset 0x30b80 + 0x30b80: 0x6d12ea20, 0x30b81: 0x6d12ec20, 0x30b82: 0x6d12ee20, 0x30b83: 0x6d12f020, + 0x30b84: 0x6d12f220, 0x30b85: 0x6d12f420, 0x30b86: 0x6d12f620, 0x30b87: 0x6d12f820, + 0x30b88: 0x6d12fa20, 0x30b89: 0x6d12fc20, 0x30b8a: 0x6d12fe20, 0x30b8b: 0x6d130020, + 0x30b8c: 0x6d130220, 0x30b8d: 0x6d130420, 0x30b8e: 0x6d130620, 0x30b8f: 0x6d130820, + 0x30b90: 0x6d130a20, 0x30b91: 0x6d130c20, 0x30b92: 0x6d130e20, 0x30b93: 0x6d131020, + 0x30b94: 0x6d131220, 0x30b95: 0x6d131420, 0x30b96: 0x6d131620, 0x30b97: 0x6d131820, + 0x30b98: 0x6d131a20, 0x30b99: 0x6d131c20, 0x30b9a: 0x6d131e20, 0x30b9b: 0x6d132020, + 0x30b9c: 0x6d132220, 0x30b9d: 0x6d132420, 0x30b9e: 0x6d132620, 0x30b9f: 0x6d132820, + 0x30ba0: 0x6d132a20, 0x30ba1: 0x6d132c20, 0x30ba2: 0x6d132e20, 0x30ba3: 0x6d133020, + 0x30ba4: 0x6d133220, 0x30ba5: 0x6d133420, 0x30ba6: 0x6d133620, 0x30ba7: 0x6d133820, + 0x30ba8: 0x6d133a20, 0x30ba9: 0x6d133c20, 0x30baa: 0x6d133e20, 0x30bab: 0x6d134020, + 0x30bac: 0x6d134220, 0x30bad: 0x6d134420, 0x30bae: 0x6d134620, 0x30baf: 0x6d134820, + 0x30bb0: 0x6d134a20, 0x30bb1: 0x6d134c20, 0x30bb2: 0x6d134e20, 0x30bb3: 0x6d135020, + 0x30bb4: 0x6d135220, 0x30bb5: 0x6d40e420, 0x30bb6: 0x6d40e620, 0x30bb7: 0x6d40e820, + 0x30bb8: 0x6d40ea20, 0x30bb9: 0x6d40ec20, 0x30bba: 0x6d40ee20, 0x30bbb: 0x6d40f020, + 0x30bbc: 0x6d41c020, 0x30bbd: 0x6d40f220, 0x30bbe: 0x6d40f420, 0x30bbf: 0x6d40f620, + // Block 0xc2f, offset 0x30bc0 + 0x30bc0: 0x6d40f820, 0x30bc1: 0x6d40fa20, 0x30bc2: 0x6d40fc20, 0x30bc3: 0x6d40fe20, + 0x30bc4: 0x6d410020, 0x30bc5: 0x6d410220, 0x30bc6: 0x6d410420, 0x30bc7: 0x6d410620, + 0x30bc8: 0x6d410820, 0x30bc9: 0x6d410a20, 0x30bca: 0x6d410c20, 0x30bcb: 0x6d410e20, + 0x30bcc: 0x6d411020, 0x30bcd: 0x6d411220, 0x30bce: 0x6d411420, 0x30bcf: 0x6d135420, + 0x30bd0: 0x6d411620, 0x30bd1: 0x6d411820, 0x30bd2: 0x6d411a20, 0x30bd3: 0x6d411c20, + 0x30bd4: 0x6d411e20, 0x30bd5: 0x6d412020, 0x30bd6: 0x6d412220, 0x30bd7: 0x6d412420, + 0x30bd8: 0x6d412620, 0x30bd9: 0x6d412820, 0x30bda: 0x6d412a20, 0x30bdb: 0x6d412c20, + 0x30bdc: 0x6d412e20, 0x30bdd: 0x6d413020, 0x30bde: 0x6d413220, 0x30bdf: 0x6d413420, + 0x30be0: 0x6d413620, 0x30be1: 0x6d413820, 0x30be2: 0x6d413a20, 0x30be3: 0x6d413c20, + 0x30be4: 0x6d413e20, 0x30be5: 0x6d414020, 0x30be6: 0x6d414220, 0x30be7: 0x6d414420, + 0x30be8: 0x6d414620, 0x30be9: 0x6d414820, 0x30bea: 0x6d414a20, 0x30beb: 0x6d414c20, + 0x30bec: 0x6d414e20, 0x30bed: 0x6d415020, 0x30bee: 0x6d415220, 0x30bef: 0x6d415420, + 0x30bf0: 0x6d415620, 0x30bf1: 0x6d415820, 0x30bf2: 0x6d6dc220, 0x30bf3: 0x6d6dc420, + 0x30bf4: 0x6d6dc620, 0x30bf5: 0x6d6dc820, 0x30bf6: 0x6d6dca20, 0x30bf7: 0x6d6dcc20, + 0x30bf8: 0x6d6dce20, 0x30bf9: 0x6d6dd020, 0x30bfa: 0x6d6dd220, 0x30bfb: 0x6d6dd420, + 0x30bfc: 0x6d6dd620, 0x30bfd: 0x6d6dd820, 0x30bfe: 0x6d6dda20, 0x30bff: 0x6d6ddc20, + // Block 0xc30, offset 0x30c00 + 0x30c00: 0x6d6dde20, 0x30c01: 0x6d6de020, 0x30c02: 0x6d6de220, 0x30c03: 0x6d6de420, + 0x30c04: 0x6d6de620, 0x30c05: 0x6d6de820, 0x30c06: 0x6d6dea20, 0x30c07: 0x6d6dec20, + 0x30c08: 0x6d6dee20, 0x30c09: 0x6d6df020, 0x30c0a: 0x6d6df220, 0x30c0b: 0x6d969820, + 0x30c0c: 0x6d6df420, 0x30c0d: 0x6d6df620, 0x30c0e: 0x6d6df820, 0x30c0f: 0x6d6dfa20, + 0x30c10: 0x6d6dfc20, 0x30c11: 0x6d6dfe20, 0x30c12: 0x6d6e0020, 0x30c13: 0x6d6e0220, + 0x30c14: 0x6d6e0420, 0x30c15: 0x6d6e0620, 0x30c16: 0x6d6e0820, 0x30c17: 0x6d6e0a20, + 0x30c18: 0x6d6e0c20, 0x30c19: 0x6d6e0e20, 0x30c1a: 0x6d6e1020, 0x30c1b: 0x6d6e1220, + 0x30c1c: 0x6d6e1420, 0x30c1d: 0x6d6e1620, 0x30c1e: 0x6d6e1820, 0x30c1f: 0x6d6e1a20, + 0x30c20: 0x6d6e1c20, 0x30c21: 0x6d6e1e20, 0x30c22: 0x6d6e2020, 0x30c23: 0x6d6e2220, + 0x30c24: 0x6d6e2420, 0x30c25: 0x6d6e2620, 0x30c26: 0x6d6e2820, 0x30c27: 0x6d6e2a20, + 0x30c28: 0x6d6e2c20, 0x30c29: 0x6d6e2e20, 0x30c2a: 0x6d6e3020, 0x30c2b: 0x6d6e3220, + 0x30c2c: 0x6d6e3420, 0x30c2d: 0x6d6e3620, 0x30c2e: 0x6d41be20, 0x30c2f: 0x6d6e3820, + 0x30c30: 0x6d6e3a20, 0x30c31: 0x6d6e3c20, 0x30c32: 0x6d6e3e20, 0x30c33: 0x6d6e4020, + 0x30c34: 0x6d6e4220, 0x30c35: 0x6d6e4420, 0x30c36: 0x6d6e4620, 0x30c37: 0x6d96a220, + 0x30c38: 0x6d96a420, 0x30c39: 0x6d96a620, 0x30c3a: 0x6d96a820, 0x30c3b: 0x6d96aa20, + 0x30c3c: 0x6d96ac20, 0x30c3d: 0x6d96ae20, 0x30c3e: 0x6d96b020, 0x30c3f: 0x6d96b220, + // Block 0xc31, offset 0x30c40 + 0x30c40: 0x6d96b420, 0x30c41: 0x6d96b620, 0x30c42: 0x6d96b820, 0x30c43: 0x6d96ba20, + 0x30c44: 0x6d96bc20, 0x30c45: 0x6d96be20, 0x30c46: 0x6d96c020, 0x30c47: 0x6d96c220, + 0x30c48: 0x6d96c420, 0x30c49: 0x6d96c620, 0x30c4a: 0x6d96c820, 0x30c4b: 0x6d96ca20, + 0x30c4c: 0x6d96cc20, 0x30c4d: 0x6d96ce20, 0x30c4e: 0x6d96d020, 0x30c4f: 0x6d96d220, + 0x30c50: 0x6d96d420, 0x30c51: 0x6d96d620, 0x30c52: 0x6d96d820, 0x30c53: 0x6d96da20, + 0x30c54: 0x6d96dc20, 0x30c55: 0x6d96de20, 0x30c56: 0x6d96e020, 0x30c57: 0x6d96e220, + 0x30c58: 0x6d96e420, 0x30c59: 0x6d96e620, 0x30c5a: 0x6d96e820, 0x30c5b: 0x6d96ea20, + 0x30c5c: 0x6d96ec20, 0x30c5d: 0x6d96ee20, 0x30c5e: 0x6d96f020, 0x30c5f: 0x6d96f220, + 0x30c60: 0x6d96f420, 0x30c61: 0x6d96f620, 0x30c62: 0x6d96f820, 0x30c63: 0x6d96fa20, + 0x30c64: 0x6d96fc20, 0x30c65: 0x6d96fe20, 0x30c66: 0x6d970020, 0x30c67: 0x6d970220, + 0x30c68: 0x6db9ac20, 0x30c69: 0x6d970420, 0x30c6a: 0x6d970620, 0x30c6b: 0x6d970820, + 0x30c6c: 0x6d970a20, 0x30c6d: 0x6d970c20, 0x30c6e: 0x6d970e20, 0x30c6f: 0x6d971020, + 0x30c70: 0x6d971220, 0x30c71: 0x6d971420, 0x30c72: 0x6d971620, 0x30c73: 0x6d971820, + 0x30c74: 0x6d971a20, 0x30c75: 0x6d971c20, 0x30c76: 0x6d971e20, 0x30c77: 0x6d972020, + 0x30c78: 0x6d972220, 0x30c79: 0x6d972420, 0x30c7a: 0x6d972620, 0x30c7b: 0x6d972820, + 0x30c7c: 0x6d972a20, 0x30c7d: 0x6d972c20, 0x30c7e: 0x6d972e20, 0x30c7f: 0x6d973020, + // Block 0xc32, offset 0x30c80 + 0x30c80: 0x6d973220, 0x30c81: 0x6d973420, 0x30c82: 0x6d973620, 0x30c83: 0x6d973820, + 0x30c84: 0x6d973a20, 0x30c85: 0x6d973c20, 0x30c86: 0x6d973e20, 0x30c87: 0x6db9ae20, + 0x30c88: 0x6d974020, 0x30c89: 0x6db9b020, 0x30c8a: 0x6db9b220, 0x30c8b: 0x6db9b420, + 0x30c8c: 0x6db9b620, 0x30c8d: 0x6db9b820, 0x30c8e: 0x6db9ba20, 0x30c8f: 0x6db9bc20, + 0x30c90: 0x6db9be20, 0x30c91: 0x6db9c020, 0x30c92: 0x6db9c220, 0x30c93: 0x6db9c420, + 0x30c94: 0x6db9c620, 0x30c95: 0x6db9c820, 0x30c96: 0x6db9ca20, 0x30c97: 0x6db9cc20, + 0x30c98: 0x6db9ce20, 0x30c99: 0x6db9d020, 0x30c9a: 0x6db9d220, 0x30c9b: 0x6db9d420, + 0x30c9c: 0x6db9d620, 0x30c9d: 0x6db9d820, 0x30c9e: 0x6db9da20, 0x30c9f: 0x6db9dc20, + 0x30ca0: 0x6db9de20, 0x30ca1: 0x6db9e020, 0x30ca2: 0x6db9e220, 0x30ca3: 0x6db9e420, + 0x30ca4: 0x6db9e620, 0x30ca5: 0x6db9e820, 0x30ca6: 0x6db9ea20, 0x30ca7: 0x6db9ec20, + 0x30ca8: 0x6db9ee20, 0x30ca9: 0x6db9f020, 0x30caa: 0x6db9f220, 0x30cab: 0x6db9f420, + 0x30cac: 0x6db9f620, 0x30cad: 0x6db9f820, 0x30cae: 0x6db9fa20, 0x30caf: 0x6db9fc20, + 0x30cb0: 0x6db9fe20, 0x30cb1: 0x6dba0020, 0x30cb2: 0x6dba0220, 0x30cb3: 0x6dba0420, + 0x30cb4: 0x6dba0620, 0x30cb5: 0x6dba0820, 0x30cb6: 0x6dba0a20, 0x30cb7: 0x6dba0c20, + 0x30cb8: 0x6dba0e20, 0x30cb9: 0x6dba1020, 0x30cba: 0x6d97ec20, 0x30cbb: 0x6dba1220, + 0x30cbc: 0x6dba1420, 0x30cbd: 0x6dba1620, 0x30cbe: 0x6dba1820, 0x30cbf: 0x6dba1a20, + // Block 0xc33, offset 0x30cc0 + 0x30cc0: 0x6dba1c20, 0x30cc1: 0x6dba1e20, 0x30cc2: 0x6dba2020, 0x30cc3: 0x6dba2220, + 0x30cc4: 0x6dba2420, 0x30cc5: 0x6dba2620, 0x30cc6: 0x6dba2820, 0x30cc7: 0x6dba2a20, + 0x30cc8: 0x6dd7ee20, 0x30cc9: 0x6dd7f020, 0x30cca: 0x6dd7f220, 0x30ccb: 0x6dd7f420, + 0x30ccc: 0x6dd7f620, 0x30ccd: 0x6dd7f820, 0x30cce: 0x6dd7fa20, 0x30ccf: 0x6dd7fc20, + 0x30cd0: 0x6dd7fe20, 0x30cd1: 0x6dd80020, 0x30cd2: 0x6dd80220, 0x30cd3: 0x6dd80420, + 0x30cd4: 0x6dd80620, 0x30cd5: 0x6dd80820, 0x30cd6: 0x6dd80a20, 0x30cd7: 0x6dd80c20, + 0x30cd8: 0x6dd80e20, 0x30cd9: 0x6dd81020, 0x30cda: 0x6dd81220, 0x30cdb: 0x6dd81420, + 0x30cdc: 0x6dd81620, 0x30cdd: 0x6dd81820, 0x30cde: 0x6dd81a20, 0x30cdf: 0x6dd81c20, + 0x30ce0: 0x6dd81e20, 0x30ce1: 0x6dbaec20, 0x30ce2: 0x6dd82020, 0x30ce3: 0x6dd82220, + 0x30ce4: 0x6dd82420, 0x30ce5: 0x6dd82620, 0x30ce6: 0x6dd82820, 0x30ce7: 0x6dd82a20, + 0x30ce8: 0x6dd82c20, 0x30ce9: 0x6df06e20, 0x30cea: 0x6dd82e20, 0x30ceb: 0x6dd83020, + 0x30cec: 0x6dd83220, 0x30ced: 0x6dd83420, 0x30cee: 0x6dd83620, 0x30cef: 0x6dbaee20, + 0x30cf0: 0x6dd83820, 0x30cf1: 0x6dd83a20, 0x30cf2: 0x6dd83c20, 0x30cf3: 0x6dd83e20, + 0x30cf4: 0x6dd84020, 0x30cf5: 0x6dd84220, 0x30cf6: 0x6dd84420, 0x30cf7: 0x6dd84620, + 0x30cf8: 0x6dd84820, 0x30cf9: 0x6dd84a20, 0x30cfa: 0x6dd84c20, 0x30cfb: 0x6dd84e20, + 0x30cfc: 0x6dd85020, 0x30cfd: 0x6dd85220, 0x30cfe: 0x6dd85420, 0x30cff: 0x6dd85620, + // Block 0xc34, offset 0x30d00 + 0x30d00: 0x6df07020, 0x30d01: 0x6df07220, 0x30d02: 0x6df07420, 0x30d03: 0x6df07620, + 0x30d04: 0x6df07820, 0x30d05: 0x6df07a20, 0x30d06: 0x6df07c20, 0x30d07: 0x6df07e20, + 0x30d08: 0x6df08020, 0x30d09: 0x6df08220, 0x30d0a: 0x6df08420, 0x30d0b: 0x6df08620, + 0x30d0c: 0x6df08820, 0x30d0d: 0x6df08a20, 0x30d0e: 0x6df08c20, 0x30d0f: 0x6df08e20, + 0x30d10: 0x6df09020, 0x30d11: 0x6df09220, 0x30d12: 0x6df09420, 0x30d13: 0x6df09620, + 0x30d14: 0x6df09820, 0x30d15: 0x6df09a20, 0x30d16: 0x6df09c20, 0x30d17: 0x6df09e20, + 0x30d18: 0x6df0a020, 0x30d19: 0x6df0a220, 0x30d1a: 0x6df0a420, 0x30d1b: 0x6df0a620, + 0x30d1c: 0x6df0a820, 0x30d1d: 0x6df0aa20, 0x30d1e: 0x6df0ac20, 0x30d1f: 0x6df0ae20, + 0x30d20: 0x6df0b020, 0x30d21: 0x6df0b220, 0x30d22: 0x6df0b420, 0x30d23: 0x6df0b620, + 0x30d24: 0x6df0b820, 0x30d25: 0x6df0ba20, 0x30d26: 0x6df0bc20, 0x30d27: 0x6df0be20, + 0x30d28: 0x6df0c020, 0x30d29: 0x6df0c220, 0x30d2a: 0x6df0c420, 0x30d2b: 0x6df0c620, + 0x30d2c: 0x6df0c820, 0x30d2d: 0x6df0ca20, 0x30d2e: 0x6df0cc20, 0x30d2f: 0x6df0ce20, + 0x30d30: 0x6df0d020, 0x30d31: 0x6df0d220, 0x30d32: 0x6df0d420, 0x30d33: 0x6e047c20, + 0x30d34: 0x6e159420, 0x30d35: 0x6e047e20, 0x30d36: 0x6e048020, 0x30d37: 0x6e048220, + 0x30d38: 0x6e048420, 0x30d39: 0x6df0d620, 0x30d3a: 0x6e048620, 0x30d3b: 0x6e048820, + 0x30d3c: 0x6e048a20, 0x30d3d: 0x6e048c20, 0x30d3e: 0x6e048e20, 0x30d3f: 0x6e049020, + // Block 0xc35, offset 0x30d40 + 0x30d40: 0x6e049220, 0x30d41: 0x6e049420, 0x30d42: 0x6e049620, 0x30d43: 0x6e049820, + 0x30d44: 0x6e049a20, 0x30d45: 0x6e049c20, 0x30d46: 0x6e049e20, 0x30d47: 0x6e04a020, + 0x30d48: 0x6e04a220, 0x30d49: 0x6e04a420, 0x30d4a: 0x6e04a620, 0x30d4b: 0x6e04a820, + 0x30d4c: 0x6e04aa20, 0x30d4d: 0x6e04ac20, 0x30d4e: 0x6e04ae20, 0x30d4f: 0x6e04b020, + 0x30d50: 0x6e04b220, 0x30d51: 0x6e04b420, 0x30d52: 0x6e04b620, 0x30d53: 0x6e04b820, + 0x30d54: 0x6e04ba20, 0x30d55: 0x6e04bc20, 0x30d56: 0x6e04be20, 0x30d57: 0x6e04c020, + 0x30d58: 0x6e04c220, 0x30d59: 0x6e04c420, 0x30d5a: 0x6e04c620, 0x30d5b: 0x6e04c820, + 0x30d5c: 0x6e04ca20, 0x30d5d: 0x6e04cc20, 0x30d5e: 0x6e04ce20, 0x30d5f: 0x6e04d020, + 0x30d60: 0x6e04d220, 0x30d61: 0x6e04d420, 0x30d62: 0x6e04d620, 0x30d63: 0x6e04d820, + 0x30d64: 0x6e04da20, 0x30d65: 0x6e04dc20, 0x30d66: 0x6e04de20, 0x30d67: 0x6e04e020, + 0x30d68: 0x6e04e220, 0x30d69: 0x6e159620, 0x30d6a: 0x6e159820, 0x30d6b: 0x6e159a20, + 0x30d6c: 0x6e159c20, 0x30d6d: 0x6e159e20, 0x30d6e: 0x6e15a020, 0x30d6f: 0x6e058820, + 0x30d70: 0x6e15a220, 0x30d71: 0x6e15a420, 0x30d72: 0x6e15a620, 0x30d73: 0x6e15a820, + 0x30d74: 0x6e15aa20, 0x30d75: 0x6e15ac20, 0x30d76: 0x6e15ae20, 0x30d77: 0x6e15b020, + 0x30d78: 0x6e15b220, 0x30d79: 0x6e15b420, 0x30d7a: 0x6e15b620, 0x30d7b: 0x6e15b820, + 0x30d7c: 0x6e058a20, 0x30d7d: 0x6e15ba20, 0x30d7e: 0x6e15bc20, 0x30d7f: 0x6e15be20, + // Block 0xc36, offset 0x30d80 + 0x30d80: 0x6e15c020, 0x30d81: 0x6e15c220, 0x30d82: 0x6e231620, 0x30d83: 0x6e231820, + 0x30d84: 0x6e231a20, 0x30d85: 0x6e231c20, 0x30d86: 0x6e231e20, 0x30d87: 0x6e232020, + 0x30d88: 0x6e232220, 0x30d89: 0x6e232420, 0x30d8a: 0x6e232620, 0x30d8b: 0x6e232820, + 0x30d8c: 0x6e232a20, 0x30d8d: 0x6e232c20, 0x30d8e: 0x6e232e20, 0x30d8f: 0x6e233020, + 0x30d90: 0x6e233220, 0x30d91: 0x6e233420, 0x30d92: 0x6e233620, 0x30d93: 0x6e233820, + 0x30d94: 0x6e233a20, 0x30d95: 0x6e2d4620, 0x30d96: 0x6e2d4820, 0x30d97: 0x6e2d4a20, + 0x30d98: 0x6e2d4c20, 0x30d99: 0x6e2d4e20, 0x30d9a: 0x6e2d5020, 0x30d9b: 0x6e2d5220, + 0x30d9c: 0x6e2d5420, 0x30d9d: 0x6e2d5620, 0x30d9e: 0x6e2d5820, 0x30d9f: 0x6e2d5a20, + 0x30da0: 0x6e2d5c20, 0x30da1: 0x6e2d5e20, 0x30da2: 0x6e2d6020, 0x30da3: 0x6e2d6220, + 0x30da4: 0x6e2d6420, 0x30da5: 0x6e2d6620, 0x30da6: 0x6e2d6820, 0x30da7: 0x6e233c20, + 0x30da8: 0x6e351c20, 0x30da9: 0x6e351e20, 0x30daa: 0x6e352020, 0x30dab: 0x6e352220, + 0x30dac: 0x6e352420, 0x30dad: 0x6e3ab420, 0x30dae: 0x6e3ab620, 0x30daf: 0x6e3ab820, + 0x30db0: 0x6e3aba20, 0x30db1: 0x6e3abc20, 0x30db2: 0x6e3abe20, 0x30db3: 0x6e3ac020, + 0x30db4: 0x6e3e7620, 0x30db5: 0x6e3e7820, 0x30db6: 0x6e3e7a20, 0x30db7: 0x6e3e7c20, + 0x30db8: 0x6e3e7e20, 0x30db9: 0x6e3e8020, 0x30dba: 0x6e3e8220, 0x30dbb: 0x6e414020, + 0x30dbc: 0x6e414220, 0x30dbd: 0x6e414420, 0x30dbe: 0x6e414620, 0x30dbf: 0x6e434020, + // Block 0xc37, offset 0x30dc0 + 0x30dc0: 0x6e434220, 0x30dc1: 0x6e434420, 0x30dc2: 0x6e434620, 0x30dc3: 0x6e449420, + 0x30dc4: 0x6e449620, 0x30dc5: 0x6c0aaa20, 0x30dc6: 0x6c158c20, 0x30dc7: 0x6c158e20, + 0x30dc8: 0x6c27f220, 0x30dc9: 0x6c27f420, 0x30dca: 0x6c27f620, 0x30dcb: 0x6c27f820, + 0x30dcc: 0x6c27fa20, 0x30dcd: 0x6c41e020, 0x30dce: 0x6c41e220, 0x30dcf: 0x6c41e420, + 0x30dd0: 0x6c41e620, 0x30dd1: 0x6c41e820, 0x30dd2: 0x6c41ea20, 0x30dd3: 0x6c41ec20, + 0x30dd4: 0x6c41ee20, 0x30dd5: 0x6c41f020, 0x30dd6: 0x6c41f220, 0x30dd7: 0x6c41f420, + 0x30dd8: 0x6c626620, 0x30dd9: 0x6c626820, 0x30dda: 0x6c626a20, 0x30ddb: 0x6c626c20, + 0x30ddc: 0x6c626e20, 0x30ddd: 0x6c627020, 0x30dde: 0x6c627220, 0x30ddf: 0x6c627420, + 0x30de0: 0x6c627620, 0x30de1: 0x6c627820, 0x30de2: 0x6c627a20, 0x30de3: 0x6c627c20, + 0x30de4: 0x6c627e20, 0x30de5: 0x6c628020, 0x30de6: 0x6c628220, 0x30de7: 0x6c628420, + 0x30de8: 0x6c628620, 0x30de9: 0x6c628820, 0x30dea: 0x6c628a20, 0x30deb: 0x6c628c20, + 0x30dec: 0x6c628e20, 0x30ded: 0x6c629020, 0x30dee: 0x6c629220, 0x30def: 0x6c629420, + 0x30df0: 0x6c893420, 0x30df1: 0x6c893620, 0x30df2: 0x6c893820, 0x30df3: 0x6c893a20, + 0x30df4: 0x6c893c20, 0x30df5: 0x6c893e20, 0x30df6: 0x6c894020, 0x30df7: 0x6c894220, + 0x30df8: 0x6c894420, 0x30df9: 0x6c894620, 0x30dfa: 0x6c894820, 0x30dfb: 0x6c894a20, + 0x30dfc: 0x6c894c20, 0x30dfd: 0x6c894e20, 0x30dfe: 0x6c895020, 0x30dff: 0x6c895220, + // Block 0xc38, offset 0x30e00 + 0x30e00: 0x6c895420, 0x30e01: 0x6c895620, 0x30e02: 0x6c895820, 0x30e03: 0x6c895a20, + 0x30e04: 0x6c895c20, 0x30e05: 0x6c895e20, 0x30e06: 0x6c896020, 0x30e07: 0x6c896220, + 0x30e08: 0x6c896420, 0x30e09: 0x6c896620, 0x30e0a: 0x6c896820, 0x30e0b: 0x6c896a20, + 0x30e0c: 0x6c896c20, 0x30e0d: 0x6c896e20, 0x30e0e: 0x6c897020, 0x30e0f: 0x6cb52220, + 0x30e10: 0x6cb52420, 0x30e11: 0x6cb52620, 0x30e12: 0x6cb52820, 0x30e13: 0x6cb52a20, + 0x30e14: 0x6cb52c20, 0x30e15: 0x6cb52e20, 0x30e16: 0x6cb53020, 0x30e17: 0x6cb53220, + 0x30e18: 0x6cb53420, 0x30e19: 0x6cb53620, 0x30e1a: 0x6cb53820, 0x30e1b: 0x6cb53a20, + 0x30e1c: 0x6cb53c20, 0x30e1d: 0x6cb53e20, 0x30e1e: 0x6cb54020, 0x30e1f: 0x6cb54220, + 0x30e20: 0x6cb54420, 0x30e21: 0x6cb54620, 0x30e22: 0x6cb54820, 0x30e23: 0x6cb54a20, + 0x30e24: 0x6cb54c20, 0x30e25: 0x6cb54e20, 0x30e26: 0x6cb55020, 0x30e27: 0x6cb55220, + 0x30e28: 0x6cb55420, 0x30e29: 0x6cb55620, 0x30e2a: 0x6cb55820, 0x30e2b: 0x6cb55a20, + 0x30e2c: 0x6cb55c20, 0x30e2d: 0x6cb55e20, 0x30e2e: 0x6cb56020, 0x30e2f: 0x6cb56220, + 0x30e30: 0x6cb56420, 0x30e31: 0x6cb56620, 0x30e32: 0x6cb56820, 0x30e33: 0x6cb56a20, + 0x30e34: 0x6cb56c20, 0x30e35: 0x6cb56e20, 0x30e36: 0x6cb57020, 0x30e37: 0x6cb57220, + 0x30e38: 0x6ce52a20, 0x30e39: 0x6ce52c20, 0x30e3a: 0x6ce52e20, 0x30e3b: 0x6ce53020, + 0x30e3c: 0x6ce53220, 0x30e3d: 0x6ce53420, 0x30e3e: 0x6ce53620, 0x30e3f: 0x6ce53820, + // Block 0xc39, offset 0x30e40 + 0x30e40: 0x6ce53a20, 0x30e41: 0x6ce53c20, 0x30e42: 0x6ce53e20, 0x30e43: 0x6ce54020, + 0x30e44: 0x6ce54220, 0x30e45: 0x6ce54420, 0x30e46: 0x6ce54620, 0x30e47: 0x6ce54820, + 0x30e48: 0x6ce54a20, 0x30e49: 0x6ce54c20, 0x30e4a: 0x6ce54e20, 0x30e4b: 0x6ce55020, + 0x30e4c: 0x6ce55220, 0x30e4d: 0x6ce55420, 0x30e4e: 0x6ce55620, 0x30e4f: 0x6ce55820, + 0x30e50: 0x6ce55a20, 0x30e51: 0x6ce55c20, 0x30e52: 0x6ce55e20, 0x30e53: 0x6ce56020, + 0x30e54: 0x6ce56220, 0x30e55: 0x6ce56420, 0x30e56: 0x6d13a420, 0x30e57: 0x6d13a620, + 0x30e58: 0x6d13a820, 0x30e59: 0x6d13aa20, 0x30e5a: 0x6d13ac20, 0x30e5b: 0x6d13ae20, + 0x30e5c: 0x6d13b020, 0x30e5d: 0x6d13b220, 0x30e5e: 0x6d13b420, 0x30e5f: 0x6d13b620, + 0x30e60: 0x6d13b820, 0x30e61: 0x6d13ba20, 0x30e62: 0x6d13bc20, 0x30e63: 0x6d13be20, + 0x30e64: 0x6d13c020, 0x30e65: 0x6d13c220, 0x30e66: 0x6d13c420, 0x30e67: 0x6d13c620, + 0x30e68: 0x6d13c820, 0x30e69: 0x6d13ca20, 0x30e6a: 0x6d13cc20, 0x30e6b: 0x6d13ce20, + 0x30e6c: 0x6d13d020, 0x30e6d: 0x6d13d220, 0x30e6e: 0x6d13d420, 0x30e6f: 0x6d13d620, + 0x30e70: 0x6d13d820, 0x30e71: 0x6d13da20, 0x30e72: 0x6d41c420, 0x30e73: 0x6d41c620, + 0x30e74: 0x6d41c820, 0x30e75: 0x6d41ca20, 0x30e76: 0x6d41cc20, 0x30e77: 0x6d41ce20, + 0x30e78: 0x6d41d020, 0x30e79: 0x6d41d220, 0x30e7a: 0x6d41d420, 0x30e7b: 0x6d41d620, + 0x30e7c: 0x6d41d820, 0x30e7d: 0x6d41da20, 0x30e7e: 0x6d41dc20, 0x30e7f: 0x6d41de20, + // Block 0xc3a, offset 0x30e80 + 0x30e80: 0x6d41e020, 0x30e81: 0x6d41e220, 0x30e82: 0x6d41e420, 0x30e83: 0x6d41e620, + 0x30e84: 0x6d41e820, 0x30e85: 0x6d41ea20, 0x30e86: 0x6d6ed220, 0x30e87: 0x6d6ed420, + 0x30e88: 0x6d6ed620, 0x30e89: 0x6d6ed820, 0x30e8a: 0x6d6eda20, 0x30e8b: 0x6d6edc20, + 0x30e8c: 0x6d6ede20, 0x30e8d: 0x6d6ee020, 0x30e8e: 0x6d6ee220, 0x30e8f: 0x6d6ee420, + 0x30e90: 0x6d6ee620, 0x30e91: 0x6d6ee820, 0x30e92: 0x6d6eea20, 0x30e93: 0x6d6eec20, + 0x30e94: 0x6d6eee20, 0x30e95: 0x6d6ef020, 0x30e96: 0x6d97ee20, 0x30e97: 0x6d97f020, + 0x30e98: 0x6d97f220, 0x30e99: 0x6d97f420, 0x30e9a: 0x6d97f620, 0x30e9b: 0x6d97f820, + 0x30e9c: 0x6d97fa20, 0x30e9d: 0x6d97fc20, 0x30e9e: 0x6d97fe20, 0x30e9f: 0x6d980020, + 0x30ea0: 0x6d980220, 0x30ea1: 0x6dbaf020, 0x30ea2: 0x6dbaf220, 0x30ea3: 0x6dbaf420, + 0x30ea4: 0x6dbaf620, 0x30ea5: 0x6dbaf820, 0x30ea6: 0x6dbafa20, 0x30ea7: 0x6dbafc20, + 0x30ea8: 0x6dbafe20, 0x30ea9: 0x6dbb0020, 0x30eaa: 0x6dbb0220, 0x30eab: 0x6dbb0420, + 0x30eac: 0x6dd8fc20, 0x30ead: 0x6dd8fe20, 0x30eae: 0x6dd90020, 0x30eaf: 0x6dd90220, + 0x30eb0: 0x6dd90420, 0x30eb1: 0x6dd90620, 0x30eb2: 0x6df15e20, 0x30eb3: 0x6e059220, + 0x30eb4: 0x6e059420, 0x30eb5: 0x6e239420, 0x30eb6: 0x6e239620, 0x30eb7: 0x6c41fe20, + 0x30eb8: 0x6c420020, 0x30eb9: 0x6cb58a20, 0x30eba: 0x6cb58c20, 0x30ebb: 0x6ce57220, + 0x30ebc: 0x6d6f0020, 0x30ebd: 0x6df16620, 0x30ebe: 0x6e239820, 0x30ebf: 0x6c0aac20, + // Block 0xc3b, offset 0x30ec0 + 0x30ec0: 0x6c420220, 0x30ec1: 0x6c62ac20, 0x30ec2: 0x6c62ae20, 0x30ec3: 0x6c898420, + 0x30ec4: 0x6c898620, 0x30ec5: 0x6c898820, 0x30ec6: 0x6cb5aa20, 0x30ec7: 0x6cb5ac20, + 0x30ec8: 0x6cb5ae20, 0x30ec9: 0x6cb5b020, 0x30eca: 0x6cb5b220, 0x30ecb: 0x6ce59420, + 0x30ecc: 0x6ce59620, 0x30ecd: 0x6ce59820, 0x30ece: 0x6ce59a20, 0x30ecf: 0x6ce59c20, + 0x30ed0: 0x6ce59e20, 0x30ed1: 0x6ce5a020, 0x30ed2: 0x6ce5a220, 0x30ed3: 0x6ce5a420, + 0x30ed4: 0x6ce5a620, 0x30ed5: 0x6ce5a820, 0x30ed6: 0x6ce5aa20, 0x30ed7: 0x6ce5ac20, + 0x30ed8: 0x6d141e20, 0x30ed9: 0x6d142020, 0x30eda: 0x6d142220, 0x30edb: 0x6d142420, + 0x30edc: 0x6d142620, 0x30edd: 0x6d142820, 0x30ede: 0x6d142a20, 0x30edf: 0x6d142c20, + 0x30ee0: 0x6d142e20, 0x30ee1: 0x6d421a20, 0x30ee2: 0x6d421c20, 0x30ee3: 0x6d421e20, + 0x30ee4: 0x6d422020, 0x30ee5: 0x6d422220, 0x30ee6: 0x6d422420, 0x30ee7: 0x6d422620, + 0x30ee8: 0x6d422820, 0x30ee9: 0x6d422a20, 0x30eea: 0x6d422c20, 0x30eeb: 0x6d6f2420, + 0x30eec: 0x6d6f2620, 0x30eed: 0x6d6f2820, 0x30eee: 0x6d6f2a20, 0x30eef: 0x6d6f2c20, + 0x30ef0: 0x6d6f2e20, 0x30ef1: 0x6d6f3020, 0x30ef2: 0x6d6f3220, 0x30ef3: 0x6d6f3420, + 0x30ef4: 0x6d6f3620, 0x30ef5: 0x6d983620, 0x30ef6: 0x6d983820, 0x30ef7: 0x6dbb3420, + 0x30ef8: 0x6d983a20, 0x30ef9: 0x6d983c20, 0x30efa: 0x6d983e20, 0x30efb: 0x6d984020, + 0x30efc: 0x6d984220, 0x30efd: 0x6d984420, 0x30efe: 0x6d984620, 0x30eff: 0x6d984820, + // Block 0xc3c, offset 0x30f00 + 0x30f00: 0x6dbb2420, 0x30f01: 0x6d984a20, 0x30f02: 0x6d984c20, 0x30f03: 0x6dbb3620, + 0x30f04: 0x6dbb3820, 0x30f05: 0x6dbb3a20, 0x30f06: 0x6dbb3c20, 0x30f07: 0x6dbb3e20, + 0x30f08: 0x6dbb4020, 0x30f09: 0x6dbb4220, 0x30f0a: 0x6dbb4420, 0x30f0b: 0x6dbb4620, + 0x30f0c: 0x6dbb4820, 0x30f0d: 0x6d988e20, 0x30f0e: 0x6dbb4a20, 0x30f0f: 0x6dbb4c20, + 0x30f10: 0x6dd92020, 0x30f11: 0x6dd92220, 0x30f12: 0x6dd92420, 0x30f13: 0x6dd92620, + 0x30f14: 0x6dd92820, 0x30f15: 0x6dd92a20, 0x30f16: 0x6dd92c20, 0x30f17: 0x6dd92e20, + 0x30f18: 0x6dd93020, 0x30f19: 0x6df17620, 0x30f1a: 0x6df17820, 0x30f1b: 0x6df17a20, + 0x30f1c: 0x6df17c20, 0x30f1d: 0x6df17e20, 0x30f1e: 0x6e05a220, 0x30f1f: 0x6e05a420, + 0x30f20: 0x6e05a620, 0x30f21: 0x6e05a820, 0x30f22: 0x6e165c20, 0x30f23: 0x6e165e20, + 0x30f24: 0x6e166020, 0x30f25: 0x6e166220, 0x30f26: 0x6e166420, 0x30f27: 0x6e23a620, + 0x30f28: 0x6c020a20, 0x30f29: 0x6c052620, 0x30f2a: 0x6c0aae20, 0x30f2b: 0x6c159020, + 0x30f2c: 0x6c159220, 0x30f2d: 0x6c159420, 0x30f2e: 0x6c159620, 0x30f2f: 0x6c159820, + 0x30f30: 0x6c280420, 0x30f31: 0x6c280620, 0x30f32: 0x6c280820, 0x30f33: 0x6c280a20, + 0x30f34: 0x6c280c20, 0x30f35: 0x6c280e20, 0x30f36: 0x6c281020, 0x30f37: 0x6c281220, + 0x30f38: 0x6c420820, 0x30f39: 0x6c420a20, 0x30f3a: 0x6c62b420, 0x30f3b: 0x6c62b620, + 0x30f3c: 0x6c62b820, 0x30f3d: 0x6c62ba20, 0x30f3e: 0x6c62bc20, 0x30f3f: 0x6c62be20, + // Block 0xc3d, offset 0x30f40 + 0x30f40: 0x6c62c020, 0x30f41: 0x6c62c220, 0x30f42: 0x6c62c420, 0x30f43: 0x6c899620, + 0x30f44: 0x6c899820, 0x30f45: 0x6c899a20, 0x30f46: 0x6c899c20, 0x30f47: 0x6cb5c420, + 0x30f48: 0x6cb5c620, 0x30f49: 0x6cb5c820, 0x30f4a: 0x6cb5ca20, 0x30f4b: 0x6cb5cc20, + 0x30f4c: 0x6cb5ce20, 0x30f4d: 0x6cb5d020, 0x30f4e: 0x6cb5d220, 0x30f4f: 0x6cb5d420, + 0x30f50: 0x6cb5d620, 0x30f51: 0x6ce5ea20, 0x30f52: 0x6ce5ec20, 0x30f53: 0x6ce5ee20, + 0x30f54: 0x6ce5f020, 0x30f55: 0x6ce5f220, 0x30f56: 0x6d146e20, 0x30f57: 0x6d147020, + 0x30f58: 0x6d147220, 0x30f59: 0x6d147420, 0x30f5a: 0x6d426420, 0x30f5b: 0x6d989020, + 0x30f5c: 0x6c421020, 0x30f5d: 0x6c020c20, 0x30f5e: 0x6c0ab420, 0x30f5f: 0x6c0ab620, + 0x30f60: 0x6c15a420, 0x30f61: 0x6c15a620, 0x30f62: 0x6c15a820, 0x30f63: 0x6c15aa20, + 0x30f64: 0x6c15ac20, 0x30f65: 0x6c282620, 0x30f66: 0x6c282820, 0x30f67: 0x6c282a20, + 0x30f68: 0x6c282c20, 0x30f69: 0x6c282e20, 0x30f6a: 0x6c283020, 0x30f6b: 0x6c283220, + 0x30f6c: 0x6c283420, 0x30f6d: 0x6c283620, 0x30f6e: 0x6c283820, 0x30f6f: 0x6c283a20, + 0x30f70: 0x6c283c20, 0x30f71: 0x6c283e20, 0x30f72: 0x6c284020, 0x30f73: 0x6c284220, + 0x30f74: 0x6c284420, 0x30f75: 0x6c284620, 0x30f76: 0x6c284820, 0x30f77: 0x6c421820, + 0x30f78: 0x6c421a20, 0x30f79: 0x6c421c20, 0x30f7a: 0x6c421e20, 0x30f7b: 0x6c422020, + 0x30f7c: 0x6c422220, 0x30f7d: 0x6c422420, 0x30f7e: 0x6c422620, 0x30f7f: 0x6c422820, + // Block 0xc3e, offset 0x30f80 + 0x30f80: 0x6c422a20, 0x30f81: 0x6c422c20, 0x30f82: 0x6c422e20, 0x30f83: 0x6c423020, + 0x30f84: 0x6c423220, 0x30f85: 0x6c423420, 0x30f86: 0x6c423620, 0x30f87: 0x6c423820, + 0x30f88: 0x6c423a20, 0x30f89: 0x6c423c20, 0x30f8a: 0x6c62d620, 0x30f8b: 0x6c62d820, + 0x30f8c: 0x6c62da20, 0x30f8d: 0x6c62dc20, 0x30f8e: 0x6c62de20, 0x30f8f: 0x6c62e020, + 0x30f90: 0x6c62e220, 0x30f91: 0x6c62e420, 0x30f92: 0x6c62e620, 0x30f93: 0x6c62e820, + 0x30f94: 0x6c62ea20, 0x30f95: 0x6c62ec20, 0x30f96: 0x6c89b220, 0x30f97: 0x6c89b420, + 0x30f98: 0x6c89b620, 0x30f99: 0x6c89b820, 0x30f9a: 0x6c89d820, 0x30f9b: 0x6c89ba20, + 0x30f9c: 0x6c89bc20, 0x30f9d: 0x6c89be20, 0x30f9e: 0x6c89c020, 0x30f9f: 0x6c89c220, + 0x30fa0: 0x6c89c420, 0x30fa1: 0x6c89c620, 0x30fa2: 0x6c89c820, 0x30fa3: 0x6c89ca20, + 0x30fa4: 0x6c89cc20, 0x30fa5: 0x6c89ce20, 0x30fa6: 0x6c89d020, 0x30fa7: 0x6c89d220, + 0x30fa8: 0x6c89d420, 0x30fa9: 0x6c89d620, 0x30faa: 0x6cb5e820, 0x30fab: 0x6cb5ea20, + 0x30fac: 0x6cb5ec20, 0x30fad: 0x6cb5ee20, 0x30fae: 0x6cb5f020, 0x30faf: 0x6cb5f220, + 0x30fb0: 0x6cb5f420, 0x30fb1: 0x6cb5f620, 0x30fb2: 0x6ce5fa20, 0x30fb3: 0x6cb5f820, + 0x30fb4: 0x6cb5fa20, 0x30fb5: 0x6cb5fc20, 0x30fb6: 0x6cb5fe20, 0x30fb7: 0x6cb60020, + 0x30fb8: 0x6cb60220, 0x30fb9: 0x6cb60420, 0x30fba: 0x6cb60620, 0x30fbb: 0x6ce60220, + 0x30fbc: 0x6cb60820, 0x30fbd: 0x6ce60420, 0x30fbe: 0x6ce60620, 0x30fbf: 0x6ce60820, + // Block 0xc3f, offset 0x30fc0 + 0x30fc0: 0x6ce60a20, 0x30fc1: 0x6ce60c20, 0x30fc2: 0x6ce60e20, 0x30fc3: 0x6ce61020, + 0x30fc4: 0x6ce61220, 0x30fc5: 0x6ce61420, 0x30fc6: 0x6ce61620, 0x30fc7: 0x6ce61820, + 0x30fc8: 0x6ce61a20, 0x30fc9: 0x6ce61c20, 0x30fca: 0x6ce61e20, 0x30fcb: 0x6ce62020, + 0x30fcc: 0x6ce62220, 0x30fcd: 0x6ce62420, 0x30fce: 0x6ce62620, 0x30fcf: 0x6d147e20, + 0x30fd0: 0x6ce62820, 0x30fd1: 0x6d148c20, 0x30fd2: 0x6d148e20, 0x30fd3: 0x6d149020, + 0x30fd4: 0x6d149220, 0x30fd5: 0x6d149420, 0x30fd6: 0x6d149620, 0x30fd7: 0x6d149820, + 0x30fd8: 0x6d149a20, 0x30fd9: 0x6d426a20, 0x30fda: 0x6d427420, 0x30fdb: 0x6d427620, + 0x30fdc: 0x6d427820, 0x30fdd: 0x6d427a20, 0x30fde: 0x6d427c20, 0x30fdf: 0x6d427e20, + 0x30fe0: 0x6d428020, 0x30fe1: 0x6d428220, 0x30fe2: 0x6d6f9020, 0x30fe3: 0x6d6f9220, + 0x30fe4: 0x6d6f9420, 0x30fe5: 0x6d6f9620, 0x30fe6: 0x6d989820, 0x30fe7: 0x6d989a20, + 0x30fe8: 0x6d989c20, 0x30fe9: 0x6d989e20, 0x30fea: 0x6d98a020, 0x30feb: 0x6d98a220, + 0x30fec: 0x6dbb9220, 0x30fed: 0x6dbb9420, 0x30fee: 0x6dbb9620, 0x30fef: 0x6dbb9820, + 0x30ff0: 0x6dbb9a20, 0x30ff1: 0x6dbb9c20, 0x30ff2: 0x6dbb9e20, 0x30ff3: 0x6dd96a20, + 0x30ff4: 0x6df1a420, 0x30ff5: 0x6e05dc20, 0x30ff6: 0x6c427220, 0x30ff7: 0x6d98c020, + 0x30ff8: 0x6dbbb220, 0x30ff9: 0x6c427420, 0x30ffa: 0x6c8a3220, 0x30ffb: 0x6c8a3420, + 0x30ffc: 0x6c8a3620, 0x30ffd: 0x6c8a3820, 0x30ffe: 0x6c8a3a20, 0x30fff: 0x6cb66420, + // Block 0xc40, offset 0x31000 + 0x31000: 0x6cb66620, 0x31001: 0x6ce69020, 0x31002: 0x6ce69220, 0x31003: 0x6ce69420, + 0x31004: 0x6ce69620, 0x31005: 0x6ce69820, 0x31006: 0x6ce69a20, 0x31007: 0x6ce69c20, + 0x31008: 0x6ce69e20, 0x31009: 0x6d14e820, 0x3100a: 0x6d14ea20, 0x3100b: 0x6d14ec20, + 0x3100c: 0x6d42ce20, 0x3100d: 0x6d14ee20, 0x3100e: 0x6d14f020, 0x3100f: 0x6d14f220, + 0x31010: 0x6d42d220, 0x31011: 0x6d42d420, 0x31012: 0x6d42d620, 0x31013: 0x6d6fd020, + 0x31014: 0x6d98cc20, 0x31015: 0x6d98ce20, 0x31016: 0x6dbbba20, 0x31017: 0x6dd98c20, + 0x31018: 0x6dd98e20, 0x31019: 0x6dd99020, 0x3101a: 0x6dd99220, 0x3101b: 0x6dd99420, + 0x3101c: 0x6dd99620, 0x3101d: 0x6dd99820, 0x3101e: 0x6dd99a20, 0x3101f: 0x6dd99c20, + 0x31020: 0x6dd99e20, 0x31021: 0x6df1b020, 0x31022: 0x6dd9bc20, 0x31023: 0x6df1b220, + 0x31024: 0x6e169620, 0x31025: 0x6e358020, 0x31026: 0x6e358220, 0x31027: 0x6e435c20, + 0x31028: 0x6c427820, 0x31029: 0x6cb67e20, 0x3102a: 0x6cb68020, 0x3102b: 0x6cb68220, + 0x3102c: 0x6ce6c220, 0x3102d: 0x6ce6c420, 0x3102e: 0x6ce6c620, 0x3102f: 0x6ce6c820, + 0x31030: 0x6ce6ca20, 0x31031: 0x6ce6cc20, 0x31032: 0x6ce6ce20, 0x31033: 0x6ce6d020, + 0x31034: 0x6d151a20, 0x31035: 0x6d151c20, 0x31036: 0x6d151e20, 0x31037: 0x6d152020, + 0x31038: 0x6d152220, 0x31039: 0x6d152420, 0x3103a: 0x6d152620, 0x3103b: 0x6d152820, + 0x3103c: 0x6d152a20, 0x3103d: 0x6d152c20, 0x3103e: 0x6d152e20, 0x3103f: 0x6d431c20, + // Block 0xc41, offset 0x31040 + 0x31040: 0x6d431e20, 0x31041: 0x6d432020, 0x31042: 0x6d700220, 0x31043: 0x6d700420, + 0x31044: 0x6d700620, 0x31045: 0x6d700820, 0x31046: 0x6d700a20, 0x31047: 0x6d700c20, + 0x31048: 0x6d700e20, 0x31049: 0x6d701020, 0x3104a: 0x6d701220, 0x3104b: 0x6d991620, + 0x3104c: 0x6d991820, 0x3104d: 0x6d991a20, 0x3104e: 0x6d991c20, 0x3104f: 0x6d991e20, + 0x31050: 0x6d992020, 0x31051: 0x6d992220, 0x31052: 0x6d992420, 0x31053: 0x6d992620, + 0x31054: 0x6d992820, 0x31055: 0x6d992a20, 0x31056: 0x6d992c20, 0x31057: 0x6d992e20, + 0x31058: 0x6dbbfa20, 0x31059: 0x6dbbfc20, 0x3105a: 0x6dbbfe20, 0x3105b: 0x6dbc0020, + 0x3105c: 0x6dbc0220, 0x3105d: 0x6dbc0420, 0x3105e: 0x6dbc0620, 0x3105f: 0x6dbc0820, + 0x31060: 0x6dbc0a20, 0x31061: 0x6dbc5220, 0x31062: 0x6dd9ca20, 0x31063: 0x6dd9cc20, + 0x31064: 0x6dd9ce20, 0x31065: 0x6dd9d020, 0x31066: 0x6df1de20, 0x31067: 0x6df1e020, + 0x31068: 0x6df1e220, 0x31069: 0x6df1e420, 0x3106a: 0x6df1e620, 0x3106b: 0x6df1e820, + 0x3106c: 0x6df1ea20, 0x3106d: 0x6df1ec20, 0x3106e: 0x6e061e20, 0x3106f: 0x6e062020, + 0x31070: 0x6e062220, 0x31071: 0x6e062420, 0x31072: 0x6e16b020, 0x31073: 0x6e062620, + 0x31074: 0x6e062820, 0x31075: 0x6e16b220, 0x31076: 0x6e16b420, 0x31077: 0x6e16b620, + 0x31078: 0x6e16b820, 0x31079: 0x6e16ba20, 0x3107a: 0x6e16bc20, 0x3107b: 0x6e16be20, + 0x3107c: 0x6e23d820, 0x3107d: 0x6e23da20, 0x3107e: 0x6e23dc20, 0x3107f: 0x6e23de20, + // Block 0xc42, offset 0x31080 + 0x31080: 0x6e23e020, 0x31081: 0x6e2dea20, 0x31082: 0x6e359020, 0x31083: 0x6e359220, + 0x31084: 0x6e359420, 0x31085: 0x6e359620, 0x31086: 0x6e359820, 0x31087: 0x6e359a20, + 0x31088: 0x6e359c20, 0x31089: 0x6e3b0420, 0x3108a: 0x6e3ec220, 0x3108b: 0x6e416820, + 0x3108c: 0x6e416a20, 0x3108d: 0x6e416c20, 0x3108e: 0x6e416e20, 0x3108f: 0x6e44a620, + 0x31090: 0x6e472220, 0x31091: 0x6c427a20, 0x31092: 0x6c427c20, 0x31093: 0x6ce6f620, + 0x31094: 0x6ce6f820, 0x31095: 0x6d155420, 0x31096: 0x6d155620, 0x31097: 0x6d435020, + 0x31098: 0x6d435220, 0x31099: 0x6d435420, 0x3109a: 0x6d704e20, 0x3109b: 0x6d997a20, + 0x3109c: 0x6d997c20, 0x3109d: 0x6dda1c20, 0x3109e: 0x6c427e20, 0x3109f: 0x6ce70020, + 0x310a0: 0x6d705220, 0x310a1: 0x6df23a20, 0x310a2: 0x6c632e20, 0x310a3: 0x6c428020, + 0x310a4: 0x6d436220, 0x310a5: 0x6d705c20, 0x310a6: 0x6d998a20, 0x310a7: 0x6e16f420, + 0x310a8: 0x6e2dfe20, 0x310a9: 0x6c633220, 0x310aa: 0x6cb6a820, 0x310ab: 0x6ce71e20, + 0x310ac: 0x6ce72020, 0x310ad: 0x6ce72220, 0x310ae: 0x6ce72420, 0x310af: 0x6ce72620, + 0x310b0: 0x6ce72820, 0x310b1: 0x6ce72a20, 0x310b2: 0x6d158820, 0x310b3: 0x6d158a20, + 0x310b4: 0x6d158c20, 0x310b5: 0x6d158e20, 0x310b6: 0x6d159020, 0x310b7: 0x6d159220, + 0x310b8: 0x6d159420, 0x310b9: 0x6d159620, 0x310ba: 0x6d438a20, 0x310bb: 0x6d438c20, + 0x310bc: 0x6d438e20, 0x310bd: 0x6d439020, 0x310be: 0x6d439220, 0x310bf: 0x6d439420, + // Block 0xc43, offset 0x310c0 + 0x310c0: 0x6d439620, 0x310c1: 0x6d439820, 0x310c2: 0x6d439a20, 0x310c3: 0x6d439c20, + 0x310c4: 0x6d439e20, 0x310c5: 0x6d43a020, 0x310c6: 0x6d43a220, 0x310c7: 0x6d707420, + 0x310c8: 0x6d707620, 0x310c9: 0x6d707820, 0x310ca: 0x6d707a20, 0x310cb: 0x6d707c20, + 0x310cc: 0x6d707e20, 0x310cd: 0x6d708020, 0x310ce: 0x6d708220, 0x310cf: 0x6d708420, + 0x310d0: 0x6d708620, 0x310d1: 0x6d708820, 0x310d2: 0x6d708a20, 0x310d3: 0x6d99b220, + 0x310d4: 0x6d99b420, 0x310d5: 0x6d99b620, 0x310d6: 0x6d99b820, 0x310d7: 0x6d99ba20, + 0x310d8: 0x6d99bc20, 0x310d9: 0x6d99be20, 0x310da: 0x6dbc7420, 0x310db: 0x6dbc7620, + 0x310dc: 0x6dbc7820, 0x310dd: 0x6dbc7a20, 0x310de: 0x6dbc7c20, 0x310df: 0x6dbc7e20, + 0x310e0: 0x6dbc8020, 0x310e1: 0x6dbc8220, 0x310e2: 0x6dda3e20, 0x310e3: 0x6dda4020, + 0x310e4: 0x6dda4220, 0x310e5: 0x6dda4420, 0x310e6: 0x6dda4620, 0x310e7: 0x6dda4820, + 0x310e8: 0x6dda4a20, 0x310e9: 0x6dda4c20, 0x310ea: 0x6dda4e20, 0x310eb: 0x6dda5020, + 0x310ec: 0x6dda5220, 0x310ed: 0x6dda5420, 0x310ee: 0x6dda5620, 0x310ef: 0x6dda5820, + 0x310f0: 0x6dda5a20, 0x310f1: 0x6df24e20, 0x310f2: 0x6df25020, 0x310f3: 0x6df25220, + 0x310f4: 0x6df25420, 0x310f5: 0x6df25620, 0x310f6: 0x6df25820, 0x310f7: 0x6df25a20, + 0x310f8: 0x6e069020, 0x310f9: 0x6e069220, 0x310fa: 0x6e069420, 0x310fb: 0x6e069620, + 0x310fc: 0x6e171620, 0x310fd: 0x6e171820, 0x310fe: 0x6e171a20, 0x310ff: 0x6e171c20, + // Block 0xc44, offset 0x31100 + 0x31100: 0x6e241820, 0x31101: 0x6e241a20, 0x31102: 0x6e241c20, 0x31103: 0x6e241e20, + 0x31104: 0x6e2e0e20, 0x31105: 0x6e2e1020, 0x31106: 0x6e35bc20, 0x31107: 0x6e35be20, + 0x31108: 0x6e35c020, 0x31109: 0x6e3ee020, 0x3110a: 0x6e456e20, 0x3110b: 0x6c633420, + 0x3110c: 0x6ce73420, 0x3110d: 0x6d43e020, 0x3110e: 0x6d43e220, 0x3110f: 0x6d70c220, + 0x31110: 0x6d70c420, 0x31111: 0x6d70c620, 0x31112: 0x6d99ee20, 0x31113: 0x6dbcc620, + 0x31114: 0x6dbcc820, 0x31115: 0x6dbcca20, 0x31116: 0x6ddaaa20, 0x31117: 0x6ddaac20, + 0x31118: 0x6ddaae20, 0x31119: 0x6ddab020, 0x3111a: 0x6ddab220, 0x3111b: 0x6e06d420, + 0x3111c: 0x6df2a820, 0x3111d: 0x6df2aa20, 0x3111e: 0x6df2ac20, 0x3111f: 0x6df2ae20, + 0x31120: 0x6e06d620, 0x31121: 0x6e174220, 0x31122: 0x6e174420, 0x31123: 0x6e244820, + 0x31124: 0x6e35ce20, 0x31125: 0x6e35d020, 0x31126: 0x6c053420, 0x31127: 0x6c287c20, + 0x31128: 0x6c633620, 0x31129: 0x6ce73820, 0x3112a: 0x6d15d420, 0x3112b: 0x6d15d620, + 0x3112c: 0x6d43fc20, 0x3112d: 0x6c633c20, 0x3112e: 0x6d15e020, 0x3112f: 0x6d70e220, + 0x31130: 0x6d9a0420, 0x31131: 0x6dbcea20, 0x31132: 0x6df2c620, 0x31133: 0x6c633e20, + 0x31134: 0x6d15e820, 0x31135: 0x6d15ea20, 0x31136: 0x6d440420, 0x31137: 0x6d440620, + 0x31138: 0x6d9a0c20, 0x31139: 0x6ddacc20, 0x3113a: 0x6ddace20, 0x3113b: 0x6df2d020, + 0x3113c: 0x6df2d220, 0x3113d: 0x6e06f220, 0x3113e: 0x6e06f420, 0x3113f: 0x6e06f620, + // Block 0xc45, offset 0x31140 + 0x31140: 0x6e2e3c20, 0x31141: 0x6c634020, 0x31142: 0x6cb6b220, 0x31143: 0x6cb6b420, + 0x31144: 0x6cb6b620, 0x31145: 0x6ce74820, 0x31146: 0x6ce74a20, 0x31147: 0x6ce74c20, + 0x31148: 0x6ce74e20, 0x31149: 0x6d15f220, 0x3114a: 0x6d15fa20, 0x3114b: 0x6d15fc20, + 0x3114c: 0x6d15fe20, 0x3114d: 0x6d160020, 0x3114e: 0x6d160220, 0x3114f: 0x6d160420, + 0x31150: 0x6d160620, 0x31151: 0x6d160820, 0x31152: 0x6d160a20, 0x31153: 0x6d160c20, + 0x31154: 0x6d442620, 0x31155: 0x6d442820, 0x31156: 0x6d442a20, 0x31157: 0x6d442c20, + 0x31158: 0x6d442e20, 0x31159: 0x6d441220, 0x3115a: 0x6d443020, 0x3115b: 0x6d710020, + 0x3115c: 0x6d710220, 0x3115d: 0x6d710420, 0x3115e: 0x6d710620, 0x3115f: 0x6d710820, + 0x31160: 0x6d710a20, 0x31161: 0x6d710c20, 0x31162: 0x6d710e20, 0x31163: 0x6d711020, + 0x31164: 0x6d9a2a20, 0x31165: 0x6d9a2c20, 0x31166: 0x6d711220, 0x31167: 0x6d711420, + 0x31168: 0x6d711620, 0x31169: 0x6d711820, 0x3116a: 0x6d711a20, 0x3116b: 0x6d711c20, + 0x3116c: 0x6d711e20, 0x3116d: 0x6d9a2e20, 0x3116e: 0x6d9a3020, 0x3116f: 0x6d9a3220, + 0x31170: 0x6d9a3420, 0x31171: 0x6d9a3620, 0x31172: 0x6d9a3820, 0x31173: 0x6d9a3a20, + 0x31174: 0x6d9a3c20, 0x31175: 0x6d9a3e20, 0x31176: 0x6d9a4020, 0x31177: 0x6d9a4220, + 0x31178: 0x6d9a4420, 0x31179: 0x6d9a4620, 0x3117a: 0x6d9a4820, 0x3117b: 0x6d9a4a20, + 0x3117c: 0x6d9a4c20, 0x3117d: 0x6d9a4e20, 0x3117e: 0x6ddaf020, 0x3117f: 0x6ddada20, + // Block 0xc46, offset 0x31180 + 0x31180: 0x6dbd0c20, 0x31181: 0x6dbd0e20, 0x31182: 0x6dbd1020, 0x31183: 0x6dbd1220, + 0x31184: 0x6dbd1420, 0x31185: 0x6dbd1620, 0x31186: 0x6dbd1820, 0x31187: 0x6dbd1a20, + 0x31188: 0x6dbd1c20, 0x31189: 0x6dbd1e20, 0x3118a: 0x6dbd2020, 0x3118b: 0x6ddaf220, + 0x3118c: 0x6ddaf420, 0x3118d: 0x6ddaf620, 0x3118e: 0x6ddaf820, 0x3118f: 0x6ddafa20, + 0x31190: 0x6ddafc20, 0x31191: 0x6ddafe20, 0x31192: 0x6ddb0020, 0x31193: 0x6ddb0220, + 0x31194: 0x6ddb0420, 0x31195: 0x6ddb0620, 0x31196: 0x6df2f020, 0x31197: 0x6df2f220, + 0x31198: 0x6df2f420, 0x31199: 0x6df2f620, 0x3119a: 0x6df2f820, 0x3119b: 0x6df2fa20, + 0x3119c: 0x6df2fc20, 0x3119d: 0x6df2fe20, 0x3119e: 0x6df30020, 0x3119f: 0x6e070e20, + 0x311a0: 0x6e071020, 0x311a1: 0x6e071220, 0x311a2: 0x6e071420, 0x311a3: 0x6e071620, + 0x311a4: 0x6e177220, 0x311a5: 0x6e177420, 0x311a6: 0x6e177620, 0x311a7: 0x6e177820, + 0x311a8: 0x6e177a20, 0x311a9: 0x6e246e20, 0x311aa: 0x6e247020, 0x311ab: 0x6e247220, + 0x311ac: 0x6e2e4020, 0x311ad: 0x6e2e4220, 0x311ae: 0x6e2e4420, 0x311af: 0x6e2e4620, + 0x311b0: 0x6e35de20, 0x311b1: 0x6e3b3820, 0x311b2: 0x6e3b3a20, 0x311b3: 0x6e418220, + 0x311b4: 0x6e418420, 0x311b5: 0x6c15d220, 0x311b6: 0x6c428620, 0x311b7: 0x6c428820, + 0x311b8: 0x6c634420, 0x311b9: 0x6c634620, 0x311ba: 0x6c634820, 0x311bb: 0x6c634a20, + 0x311bc: 0x6c8a5220, 0x311bd: 0x6c8a5420, 0x311be: 0x6c8a5620, 0x311bf: 0x6c8a5820, + // Block 0xc47, offset 0x311c0 + 0x311c0: 0x6c8a5a20, 0x311c1: 0x6c8a5c20, 0x311c2: 0x6c8a5e20, 0x311c3: 0x6c8a6020, + 0x311c4: 0x6c8a6220, 0x311c5: 0x6cb6c020, 0x311c6: 0x6cb6c220, 0x311c7: 0x6cb6c420, + 0x311c8: 0x6cb6c620, 0x311c9: 0x6ce76220, 0x311ca: 0x6ce76420, 0x311cb: 0x6ce76620, + 0x311cc: 0x6ce76820, 0x311cd: 0x6ce76a20, 0x311ce: 0x6ce76c20, 0x311cf: 0x6ce76e20, + 0x311d0: 0x6d163e20, 0x311d1: 0x6d164020, 0x311d2: 0x6d164220, 0x311d3: 0x6d164420, + 0x311d4: 0x6d164620, 0x311d5: 0x6d164820, 0x311d6: 0x6d164a20, 0x311d7: 0x6d447220, + 0x311d8: 0x6d715e20, 0x311d9: 0x6d716020, 0x311da: 0x6d716220, 0x311db: 0x6d716420, + 0x311dc: 0x6d716620, 0x311dd: 0x6d716820, 0x311de: 0x6d9ab220, 0x311df: 0x6d9ab420, + 0x311e0: 0x6d9ab620, 0x311e1: 0x6d9ab820, 0x311e2: 0x6ddb3e20, 0x311e3: 0x6ddb4020, + 0x311e4: 0x6df33820, 0x311e5: 0x6e074820, 0x311e6: 0x6e17aa20, 0x311e7: 0x6e2e6c20, + 0x311e8: 0x6c634e20, 0x311e9: 0x6ce77a20, 0x311ea: 0x6ce77c20, 0x311eb: 0x6d165820, + 0x311ec: 0x6d165a20, 0x311ed: 0x6d448a20, 0x311ee: 0x6d448c20, 0x311ef: 0x6d448e20, + 0x311f0: 0x6d449020, 0x311f1: 0x6d449220, 0x311f2: 0x6d717020, 0x311f3: 0x6d717220, + 0x311f4: 0x6d9ac620, 0x311f5: 0x6d9ac820, 0x311f6: 0x6dbd7820, 0x311f7: 0x6dbd7a20, + 0x311f8: 0x6ddb5020, 0x311f9: 0x6ddb5220, 0x311fa: 0x6ddb5420, 0x311fb: 0x6df34220, + 0x311fc: 0x6df34420, 0x311fd: 0x6df34620, 0x311fe: 0x6df34820, 0x311ff: 0x6df34a20, + // Block 0xc48, offset 0x31200 + 0x31200: 0x6df34c20, 0x31201: 0x6e074e20, 0x31202: 0x6e075020, 0x31203: 0x6e075220, + 0x31204: 0x6e075420, 0x31205: 0x6e17b020, 0x31206: 0x6e17b220, 0x31207: 0x6e17b420, + 0x31208: 0x6e17b620, 0x31209: 0x6e17b820, 0x3120a: 0x6e17ba20, 0x3120b: 0x6e249020, + 0x3120c: 0x6e418c20, 0x3120d: 0x6e418e20, 0x3120e: 0x6c053620, 0x3120f: 0x6c287e20, + 0x31210: 0x6c635020, 0x31211: 0x6c635220, 0x31212: 0x6c635420, 0x31213: 0x6ce78e20, + 0x31214: 0x6d168020, 0x31215: 0x6d44b820, 0x31216: 0x6d44b620, 0x31217: 0x6d44ba20, + 0x31218: 0x6d719420, 0x31219: 0x6d9af420, 0x3121a: 0x6d9af620, 0x3121b: 0x6c635c20, + 0x3121c: 0x6e17dc20, 0x3121d: 0x6e419420, 0x3121e: 0x6c020e20, 0x3121f: 0x6c636220, + 0x31220: 0x6c636420, 0x31221: 0x6cb6d820, 0x31222: 0x6c8a6820, 0x31223: 0x6c8a6a20, + 0x31224: 0x6c8a6c20, 0x31225: 0x6cb6da20, 0x31226: 0x6cb6dc20, 0x31227: 0x6ce79e20, + 0x31228: 0x6ce7a020, 0x31229: 0x6ce7a220, 0x3122a: 0x6ce7a420, 0x3122b: 0x6ce7a620, + 0x3122c: 0x6d169420, 0x3122d: 0x6ce7a820, 0x3122e: 0x6d169620, 0x3122f: 0x6ce7aa20, + 0x31230: 0x6ce7ac20, 0x31231: 0x6d169820, 0x31232: 0x6ce7ae20, 0x31233: 0x6d169a20, + 0x31234: 0x6d169c20, 0x31235: 0x6d169e20, 0x31236: 0x6d16a020, 0x31237: 0x6d16a220, + 0x31238: 0x6d44d620, 0x31239: 0x6d16a420, 0x3123a: 0x6d71a620, 0x3123b: 0x6d16a620, + 0x3123c: 0x6d16a820, 0x3123d: 0x6d16aa20, 0x3123e: 0x6d16ac20, 0x3123f: 0x6d16ae20, + // Block 0xc49, offset 0x31240 + 0x31240: 0x6d44d820, 0x31241: 0x6d44da20, 0x31242: 0x6d44dc20, 0x31243: 0x6d44de20, + 0x31244: 0x6d44e020, 0x31245: 0x6d44e220, 0x31246: 0x6d44e420, 0x31247: 0x6d44e620, + 0x31248: 0x6d71a820, 0x31249: 0x6d44e820, 0x3124a: 0x6d71aa20, 0x3124b: 0x6d71ac20, + 0x3124c: 0x6d44ea20, 0x3124d: 0x6d71ae20, 0x3124e: 0x6d44ec20, 0x3124f: 0x6d44ee20, + 0x31250: 0x6d9b0820, 0x31251: 0x6d71b020, 0x31252: 0x6d71b220, 0x31253: 0x6d71b420, + 0x31254: 0x6d71b620, 0x31255: 0x6d71b820, 0x31256: 0x6d71ba20, 0x31257: 0x6d71bc20, + 0x31258: 0x6d71be20, 0x31259: 0x6d71c020, 0x3125a: 0x6d9b0c20, 0x3125b: 0x6d9b0e20, + 0x3125c: 0x6d9b1020, 0x3125d: 0x6d9b0a20, 0x3125e: 0x6d9b1220, 0x3125f: 0x6d9b1420, + 0x31260: 0x6d9b1620, 0x31261: 0x6d9b1820, 0x31262: 0x6d9b1a20, 0x31263: 0x6d9b1c20, + 0x31264: 0x6d9b1e20, 0x31265: 0x6dbdca20, 0x31266: 0x6d9b2020, 0x31267: 0x6d9b2220, + 0x31268: 0x6d9b2420, 0x31269: 0x6d9b2620, 0x3126a: 0x6dbdcc20, 0x3126b: 0x6dbdce20, + 0x3126c: 0x6dbdd020, 0x3126d: 0x6dbdd220, 0x3126e: 0x6ddb9a20, 0x3126f: 0x6dbdd420, + 0x31270: 0x6dbdd620, 0x31271: 0x6dbdd820, 0x31272: 0x6dbdda20, 0x31273: 0x6dbddc20, + 0x31274: 0x6d9b8c20, 0x31275: 0x6dbdde20, 0x31276: 0x6ddb9c20, 0x31277: 0x6dbde020, + 0x31278: 0x6ddb9e20, 0x31279: 0x6ddba020, 0x3127a: 0x6ddba220, 0x3127b: 0x6ddba420, + 0x3127c: 0x6ddba620, 0x3127d: 0x6ddba820, 0x3127e: 0x6ddbaa20, 0x3127f: 0x6ddbac20, + // Block 0xc4a, offset 0x31280 + 0x31280: 0x6ddbae20, 0x31281: 0x6ddbb020, 0x31282: 0x6dbe4420, 0x31283: 0x6df38820, + 0x31284: 0x6df38a20, 0x31285: 0x6df38c20, 0x31286: 0x6dbe4620, 0x31287: 0x6df38e20, + 0x31288: 0x6df39020, 0x31289: 0x6df39220, 0x3128a: 0x6e077420, 0x3128b: 0x6e077620, + 0x3128c: 0x6e077820, 0x3128d: 0x6e077a20, 0x3128e: 0x6e077c20, 0x3128f: 0x6e17ec20, + 0x31290: 0x6e077e20, 0x31291: 0x6e078020, 0x31292: 0x6e078220, 0x31293: 0x6e078420, + 0x31294: 0x6e24ae20, 0x31295: 0x6e24b020, 0x31296: 0x6e17ee20, 0x31297: 0x6e17f020, + 0x31298: 0x6e17f220, 0x31299: 0x6e07c220, 0x3129a: 0x6e24b220, 0x3129b: 0x6e24b420, + 0x3129c: 0x6e2e8220, 0x3129d: 0x6e360220, 0x3129e: 0x6e3b4c20, 0x3129f: 0x6e3b4e20, + 0x312a0: 0x6e419820, 0x312a1: 0x6e419a20, 0x312a2: 0x6e457220, 0x312a3: 0x6c021020, + 0x312a4: 0x6c0ac220, 0x312a5: 0x6c0ac420, 0x312a6: 0x6c15d420, 0x312a7: 0x6c15d620, + 0x312a8: 0x6c288020, 0x312a9: 0x6c288220, 0x312aa: 0x6c288420, 0x312ab: 0x6c288620, + 0x312ac: 0x6c288820, 0x312ad: 0x6c288a20, 0x312ae: 0x6c288c20, 0x312af: 0x6c429820, + 0x312b0: 0x6c429a20, 0x312b1: 0x6c429c20, 0x312b2: 0x6c429e20, 0x312b3: 0x6c42a020, + 0x312b4: 0x6c42a220, 0x312b5: 0x6c636820, 0x312b6: 0x6c636a20, 0x312b7: 0x6c636c20, + 0x312b8: 0x6c636e20, 0x312b9: 0x6c637020, 0x312ba: 0x6c637220, 0x312bb: 0x6c637420, + 0x312bc: 0x6c637620, 0x312bd: 0x6c8a7420, 0x312be: 0x6c8a7620, 0x312bf: 0x6c8a7820, + // Block 0xc4b, offset 0x312c0 + 0x312c0: 0x6c8a7a20, 0x312c1: 0x6c8a7c20, 0x312c2: 0x6c8a7e20, 0x312c3: 0x6cb6fa20, + 0x312c4: 0x6cb6fc20, 0x312c5: 0x6cb6fe20, 0x312c6: 0x6cb70020, 0x312c7: 0x6ce7d820, + 0x312c8: 0x6ce7da20, 0x312c9: 0x6d16f420, 0x312ca: 0x6ce7dc20, 0x312cb: 0x6ce7de20, + 0x312cc: 0x6d16f620, 0x312cd: 0x6d16f820, 0x312ce: 0x6d16fa20, 0x312cf: 0x6d16fc20, + 0x312d0: 0x6d16fe20, 0x312d1: 0x6d452020, 0x312d2: 0x6d452220, 0x312d3: 0x6d71fe20, + 0x312d4: 0x6d720020, 0x312d5: 0x6e3b5220, 0x312d6: 0x6c637e20, 0x312d7: 0x6cb70c20, + 0x312d8: 0x6dbe4820, 0x312d9: 0x6c638220, 0x312da: 0x6d170820, 0x312db: 0x6d453620, + 0x312dc: 0x6d453820, 0x312dd: 0x6d453a20, 0x312de: 0x6d9ba020, 0x312df: 0x6d9ba220, + 0x312e0: 0x6d9ba420, 0x312e1: 0x6dbe5620, 0x312e2: 0x6dbe5820, 0x312e3: 0x6dbe5a20, + 0x312e4: 0x6ddc0420, 0x312e5: 0x6ddc0620, 0x312e6: 0x6df3ec20, 0x312e7: 0x6df3ee20, + 0x312e8: 0x6e07ca20, 0x312e9: 0x6e182420, 0x312ea: 0x6e2e9a20, 0x312eb: 0x6e41a020, + 0x312ec: 0x6c8a8e20, 0x312ed: 0x6ce7f220, 0x312ee: 0x6ce7f420, 0x312ef: 0x6d171420, + 0x312f0: 0x6d171620, 0x312f1: 0x6d171820, 0x312f2: 0x6d171a20, 0x312f3: 0x6d171c20, + 0x312f4: 0x6d171e20, 0x312f5: 0x6d172020, 0x312f6: 0x6d455820, 0x312f7: 0x6d455a20, + 0x312f8: 0x6d455c20, 0x312f9: 0x6d455e20, 0x312fa: 0x6d456020, 0x312fb: 0x6d456220, + 0x312fc: 0x6d456420, 0x312fd: 0x6d456620, 0x312fe: 0x6d456820, 0x312ff: 0x6d456a20, + // Block 0xc4c, offset 0x31300 + 0x31300: 0x6d456c20, 0x31301: 0x6d456e20, 0x31302: 0x6d457020, 0x31303: 0x6d457220, + 0x31304: 0x6d457420, 0x31305: 0x6d457620, 0x31306: 0x6d457820, 0x31307: 0x6d457a20, + 0x31308: 0x6d723220, 0x31309: 0x6d723420, 0x3130a: 0x6d723620, 0x3130b: 0x6d723820, + 0x3130c: 0x6d723a20, 0x3130d: 0x6d723c20, 0x3130e: 0x6d723e20, 0x3130f: 0x6d724020, + 0x31310: 0x6d724220, 0x31311: 0x6d724420, 0x31312: 0x6d724620, 0x31313: 0x6d724820, + 0x31314: 0x6d724a20, 0x31315: 0x6d724c20, 0x31316: 0x6d724e20, 0x31317: 0x6d725020, + 0x31318: 0x6d725220, 0x31319: 0x6d725420, 0x3131a: 0x6d725620, 0x3131b: 0x6d725820, + 0x3131c: 0x6d725a20, 0x3131d: 0x6d725c20, 0x3131e: 0x6d725e20, 0x3131f: 0x6d726020, + 0x31320: 0x6d726220, 0x31321: 0x6d9bba20, 0x31322: 0x6d9bbc20, 0x31323: 0x6d9bbe20, + 0x31324: 0x6d9bc020, 0x31325: 0x6d9bc220, 0x31326: 0x6d9bc420, 0x31327: 0x6d9bc620, + 0x31328: 0x6d9bc820, 0x31329: 0x6d9bca20, 0x3132a: 0x6d9bcc20, 0x3132b: 0x6d9bce20, + 0x3132c: 0x6d9bd020, 0x3132d: 0x6d9bd220, 0x3132e: 0x6d9bd420, 0x3132f: 0x6d9bd620, + 0x31330: 0x6d9bd820, 0x31331: 0x6d9bda20, 0x31332: 0x6d9bdc20, 0x31333: 0x6dbec020, + 0x31334: 0x6dbe7020, 0x31335: 0x6dbe7220, 0x31336: 0x6dbe7420, 0x31337: 0x6dbe7620, + 0x31338: 0x6dbe7820, 0x31339: 0x6dbe7a20, 0x3133a: 0x6dbe7c20, 0x3133b: 0x6dbe7e20, + 0x3133c: 0x6dbe8020, 0x3133d: 0x6dbe8220, 0x3133e: 0x6dbe8420, 0x3133f: 0x6dbe8620, + // Block 0xc4d, offset 0x31340 + 0x31340: 0x6dbe8820, 0x31341: 0x6dbe8a20, 0x31342: 0x6dbe8c20, 0x31343: 0x6dbe8e20, + 0x31344: 0x6ddc2820, 0x31345: 0x6ddc2a20, 0x31346: 0x6ddc2c20, 0x31347: 0x6ddc2e20, + 0x31348: 0x6ddc3020, 0x31349: 0x6ddc3220, 0x3134a: 0x6ddc3420, 0x3134b: 0x6ddc3620, + 0x3134c: 0x6ddc3820, 0x3134d: 0x6ddc3a20, 0x3134e: 0x6ddc3c20, 0x3134f: 0x6ddc3e20, + 0x31350: 0x6ddc4020, 0x31351: 0x6ddc4220, 0x31352: 0x6ddc4420, 0x31353: 0x6ddc4620, + 0x31354: 0x6df40a20, 0x31355: 0x6df40c20, 0x31356: 0x6df40e20, 0x31357: 0x6df41020, + 0x31358: 0x6df41220, 0x31359: 0x6df41420, 0x3135a: 0x6df41620, 0x3135b: 0x6df41820, + 0x3135c: 0x6df41a20, 0x3135d: 0x6df41c20, 0x3135e: 0x6df41e20, 0x3135f: 0x6df42020, + 0x31360: 0x6df42220, 0x31361: 0x6df42420, 0x31362: 0x6df42620, 0x31363: 0x6df42820, + 0x31364: 0x6df42a20, 0x31365: 0x6df42c20, 0x31366: 0x6df42e20, 0x31367: 0x6df43020, + 0x31368: 0x6df43220, 0x31369: 0x6e07e620, 0x3136a: 0x6e07e820, 0x3136b: 0x6e07ea20, + 0x3136c: 0x6e07ec20, 0x3136d: 0x6e07ee20, 0x3136e: 0x6e07f020, 0x3136f: 0x6e07f220, + 0x31370: 0x6e07f420, 0x31371: 0x6e07f620, 0x31372: 0x6e07f820, 0x31373: 0x6e07fa20, + 0x31374: 0x6e07fc20, 0x31375: 0x6e07fe20, 0x31376: 0x6e080020, 0x31377: 0x6e080220, + 0x31378: 0x6e080420, 0x31379: 0x6e184220, 0x3137a: 0x6e184420, 0x3137b: 0x6e184620, + 0x3137c: 0x6e184820, 0x3137d: 0x6e184a20, 0x3137e: 0x6e184c20, 0x3137f: 0x6e184e20, + // Block 0xc4e, offset 0x31380 + 0x31380: 0x6e185020, 0x31381: 0x6e185220, 0x31382: 0x6e185420, 0x31383: 0x6e185620, + 0x31384: 0x6e185820, 0x31385: 0x6e185a20, 0x31386: 0x6e185c20, 0x31387: 0x6e185e20, + 0x31388: 0x6e24ee20, 0x31389: 0x6e24f020, 0x3138a: 0x6e24f220, 0x3138b: 0x6e24f420, + 0x3138c: 0x6e24f620, 0x3138d: 0x6e24f820, 0x3138e: 0x6e24fa20, 0x3138f: 0x6e24fc20, + 0x31390: 0x6e24fe20, 0x31391: 0x6e250020, 0x31392: 0x6e250220, 0x31393: 0x6e250420, + 0x31394: 0x6e250620, 0x31395: 0x6e250820, 0x31396: 0x6e2ea420, 0x31397: 0x6e2ea620, + 0x31398: 0x6e2ea820, 0x31399: 0x6e2eaa20, 0x3139a: 0x6e2eac20, 0x3139b: 0x6e2eae20, + 0x3139c: 0x6e2eb020, 0x3139d: 0x6e362220, 0x3139e: 0x6e362420, 0x3139f: 0x6e362620, + 0x313a0: 0x6e3f1420, 0x313a1: 0x6e3f1620, 0x313a2: 0x6e3f1820, 0x313a3: 0x6e3f1a20, + 0x313a4: 0x6e41a420, 0x313a5: 0x6e3f2620, 0x313a6: 0x6e41a620, 0x313a7: 0x6e41a820, + 0x313a8: 0x6e437a20, 0x313a9: 0x6e437c20, 0x313aa: 0x6e44c220, 0x313ab: 0x6e457620, + 0x313ac: 0x6c021220, 0x313ad: 0x6c0ac620, 0x313ae: 0x6c15da20, 0x313af: 0x6c15dc20, + 0x313b0: 0x6c15de20, 0x313b1: 0x6c289820, 0x313b2: 0x6c289a20, 0x313b3: 0x6c289c20, + 0x313b4: 0x6c289e20, 0x313b5: 0x6c42ae20, 0x313b6: 0x6c42b020, 0x313b7: 0x6c42b220, + 0x313b8: 0x6c42b420, 0x313b9: 0x6c42b620, 0x313ba: 0x6c42b820, 0x313bb: 0x6c42ba20, + 0x313bc: 0x6c42bc20, 0x313bd: 0x6c42be20, 0x313be: 0x6c42c020, 0x313bf: 0x6c42c220, + // Block 0xc4f, offset 0x313c0 + 0x313c0: 0x6c42c420, 0x313c1: 0x6c638420, 0x313c2: 0x6c638620, 0x313c3: 0x6c638820, + 0x313c4: 0x6c638a20, 0x313c5: 0x6c638c20, 0x313c6: 0x6c638e20, 0x313c7: 0x6c639020, + 0x313c8: 0x6c639220, 0x313c9: 0x6c639420, 0x313ca: 0x6c8a9420, 0x313cb: 0x6c8a9620, + 0x313cc: 0x6c8a9820, 0x313cd: 0x6c8a9a20, 0x313ce: 0x6c8a9c20, 0x313cf: 0x6c8a9e20, + 0x313d0: 0x6cb71420, 0x313d1: 0x6cb71620, 0x313d2: 0x6cb71820, 0x313d3: 0x6cb71a20, + 0x313d4: 0x6cb71c20, 0x313d5: 0x6cb71e20, 0x313d6: 0x6cb72020, 0x313d7: 0x6ce80420, + 0x313d8: 0x6ce80620, 0x313d9: 0x6ce80820, 0x313da: 0x6ce80a20, 0x313db: 0x6ce80c20, + 0x313dc: 0x6d173220, 0x313dd: 0x6d173420, 0x313de: 0x6d173620, 0x313df: 0x6d173820, + 0x313e0: 0x6d45ac20, 0x313e1: 0x6d45ae20, 0x313e2: 0x6d45b020, 0x313e3: 0x6d72aa20, + 0x313e4: 0x6dbec420, 0x313e5: 0x6df48220, 0x313e6: 0x6e086e20, 0x313e7: 0x6e087020, + 0x313e8: 0x6c8aae20, 0x313e9: 0x6ce82c20, 0x313ea: 0x6d174820, 0x313eb: 0x6d174a20, + 0x313ec: 0x6d174c20, 0x313ed: 0x6d174e20, 0x313ee: 0x6d175020, 0x313ef: 0x6d45bc20, + 0x313f0: 0x6d45be20, 0x313f1: 0x6d45c020, 0x313f2: 0x6d72bc20, 0x313f3: 0x6d72be20, + 0x313f4: 0x6d72c020, 0x313f5: 0x6d72c220, 0x313f6: 0x6d72c420, 0x313f7: 0x6d72c620, + 0x313f8: 0x6d9c4220, 0x313f9: 0x6d9c4420, 0x313fa: 0x6d9c4620, 0x313fb: 0x6d9c4820, + 0x313fc: 0x6d9c4a20, 0x313fd: 0x6dbed220, 0x313fe: 0x6dbed420, 0x313ff: 0x6d9c6820, + // Block 0xc50, offset 0x31400 + 0x31400: 0x6ddcac20, 0x31401: 0x6ddcae20, 0x31402: 0x6df48c20, 0x31403: 0x6df48e20, + 0x31404: 0x6e087220, 0x31405: 0x6df49020, 0x31406: 0x6e087620, 0x31407: 0x6e087820, + 0x31408: 0x6e087a20, 0x31409: 0x6e087c20, 0x3140a: 0x6e087e20, 0x3140b: 0x6e088020, + 0x3140c: 0x6e088220, 0x3140d: 0x6e189420, 0x3140e: 0x6e189620, 0x3140f: 0x6e189820, + 0x31410: 0x6e254620, 0x31411: 0x6e2ee620, 0x31412: 0x6e254820, 0x31413: 0x6e2ee820, + 0x31414: 0x6e2eea20, 0x31415: 0x6e364420, 0x31416: 0x6e3b7420, 0x31417: 0x6e3f2820, + 0x31418: 0x6c8ab020, 0x31419: 0x6cb73620, 0x3141a: 0x6d45e620, 0x3141b: 0x6d72e220, + 0x3141c: 0x6ddcda20, 0x3141d: 0x6e256420, 0x3141e: 0x6e2ef820, 0x3141f: 0x6c8ab220, + 0x31420: 0x6ce84620, 0x31421: 0x6d177820, 0x31422: 0x6d177a20, 0x31423: 0x6d460620, + 0x31424: 0x6d460820, 0x31425: 0x6d460a20, 0x31426: 0x6d460c20, 0x31427: 0x6d460e20, + 0x31428: 0x6d461020, 0x31429: 0x6d461220, 0x3142a: 0x6d461420, 0x3142b: 0x6d72f220, + 0x3142c: 0x6d72f420, 0x3142d: 0x6d9c7a20, 0x3142e: 0x6d72f620, 0x3142f: 0x6d72f820, + 0x31430: 0x6d72fa20, 0x31431: 0x6d72fc20, 0x31432: 0x6d72fe20, 0x31433: 0x6d730020, + 0x31434: 0x6d730220, 0x31435: 0x6d9c8020, 0x31436: 0x6d9c8220, 0x31437: 0x6d9c8420, + 0x31438: 0x6d9c8620, 0x31439: 0x6d9c8820, 0x3143a: 0x6d9c8a20, 0x3143b: 0x6d9c8c20, + 0x3143c: 0x6dbf1420, 0x3143d: 0x6dbf1620, 0x3143e: 0x6dbf1820, 0x3143f: 0x6dbf1a20, + // Block 0xc51, offset 0x31440 + 0x31440: 0x6dbf1c20, 0x31441: 0x6dbf1e20, 0x31442: 0x6dbf2020, 0x31443: 0x6ddcf220, + 0x31444: 0x6ddcf420, 0x31445: 0x6ddcf620, 0x31446: 0x6ddcf820, 0x31447: 0x6d9c8e20, + 0x31448: 0x6ddcfa20, 0x31449: 0x6df4b220, 0x3144a: 0x6df4b420, 0x3144b: 0x6df4b620, + 0x3144c: 0x6df4b820, 0x3144d: 0x6df4ba20, 0x3144e: 0x6df4bc20, 0x3144f: 0x6df4be20, + 0x31450: 0x6e08b220, 0x31451: 0x6e08b420, 0x31452: 0x6e08b620, 0x31453: 0x6e08b820, + 0x31454: 0x6e18b420, 0x31455: 0x6e18b620, 0x31456: 0x6e18b820, 0x31457: 0x6e18ba20, + 0x31458: 0x6e18bc20, 0x31459: 0x6e256c20, 0x3145a: 0x6e256e20, 0x3145b: 0x6e257020, + 0x3145c: 0x6e257220, 0x3145d: 0x6e256820, 0x3145e: 0x6e2f0020, 0x3145f: 0x6e2f0220, + 0x31460: 0x6e2f0420, 0x31461: 0x6e365c20, 0x31462: 0x6e365e20, 0x31463: 0x6e3b8620, + 0x31464: 0x6e41be20, 0x31465: 0x6c8ab420, 0x31466: 0x6d463c20, 0x31467: 0x6d734420, + 0x31468: 0x6d9cc020, 0x31469: 0x6ddd3820, 0x3146a: 0x6e08ee20, 0x3146b: 0x6e25a420, + 0x3146c: 0x6e367420, 0x3146d: 0x6e367620, 0x3146e: 0x6e41c820, 0x3146f: 0x6c8aba20, + 0x31470: 0x6e41ca20, 0x31471: 0x6e44ca20, 0x31472: 0x6c8abc20, 0x31473: 0x6d9cc820, + 0x31474: 0x6dbf5620, 0x31475: 0x6ddd4020, 0x31476: 0x6ddd4220, 0x31477: 0x6df4fa20, + 0x31478: 0x6e08f420, 0x31479: 0x6e18f420, 0x3147a: 0x6e18f620, 0x3147b: 0x6e25ae20, + 0x3147c: 0x6c8abe20, 0x3147d: 0x6d179220, 0x3147e: 0x6d465020, 0x3147f: 0x6d465220, + // Block 0xc52, offset 0x31480 + 0x31480: 0x6d465420, 0x31481: 0x6d465620, 0x31482: 0x6d465820, 0x31483: 0x6d735820, + 0x31484: 0x6d735a20, 0x31485: 0x6d735c20, 0x31486: 0x6d735e20, 0x31487: 0x6d9cde20, + 0x31488: 0x6dbf6220, 0x31489: 0x6dbf6420, 0x3148a: 0x6ddd5620, 0x3148b: 0x6ddd5820, + 0x3148c: 0x6ddd5a20, 0x3148d: 0x6ddd5c20, 0x3148e: 0x6ddd5e20, 0x3148f: 0x6ddd6020, + 0x31490: 0x6e090220, 0x31491: 0x6e190620, 0x31492: 0x6e190820, 0x31493: 0x6e190a20, + 0x31494: 0x6e190c20, 0x31495: 0x6e25be20, 0x31496: 0x6e25c020, 0x31497: 0x6e368a20, + 0x31498: 0x6e368c20, 0x31499: 0x6e368e20, 0x3149a: 0x6cb74420, 0x3149b: 0x6d17c620, + 0x3149c: 0x6d17c820, 0x3149d: 0x6d17ca20, 0x3149e: 0x6d17cc20, 0x3149f: 0x6d469220, + 0x314a0: 0x6d469420, 0x314a1: 0x6d469620, 0x314a2: 0x6d469820, 0x314a3: 0x6d739620, + 0x314a4: 0x6d739820, 0x314a5: 0x6d739a20, 0x314a6: 0x6d739c20, 0x314a7: 0x6d739e20, + 0x314a8: 0x6d73a020, 0x314a9: 0x6d73a220, 0x314aa: 0x6d73a420, 0x314ab: 0x6d73a620, + 0x314ac: 0x6d73a820, 0x314ad: 0x6d73aa20, 0x314ae: 0x6d73ac20, 0x314af: 0x6d73ae20, + 0x314b0: 0x6d73b020, 0x314b1: 0x6d73b220, 0x314b2: 0x6d73b420, 0x314b3: 0x6d73b620, + 0x314b4: 0x6d73b820, 0x314b5: 0x6d73ba20, 0x314b6: 0x6d73bc20, 0x314b7: 0x6d73be20, + 0x314b8: 0x6d73c020, 0x314b9: 0x6d73c220, 0x314ba: 0x6d9d2420, 0x314bb: 0x6d9d2620, + 0x314bc: 0x6d9d2820, 0x314bd: 0x6d9d2a20, 0x314be: 0x6d9d2c20, 0x314bf: 0x6d9d2e20, + // Block 0xc53, offset 0x314c0 + 0x314c0: 0x6d9d3020, 0x314c1: 0x6d9d3220, 0x314c2: 0x6d9d3420, 0x314c3: 0x6d9d3620, + 0x314c4: 0x6d9d3820, 0x314c5: 0x6d9d3a20, 0x314c6: 0x6dbf9020, 0x314c7: 0x6d9d3c20, + 0x314c8: 0x6d9d3e20, 0x314c9: 0x6d9d4020, 0x314ca: 0x6d9d4220, 0x314cb: 0x6d9d4420, + 0x314cc: 0x6d9d4620, 0x314cd: 0x6d9d4820, 0x314ce: 0x6d9d4a20, 0x314cf: 0x6d9d4c20, + 0x314d0: 0x6d9d4e20, 0x314d1: 0x6d9d5020, 0x314d2: 0x6d9d5220, 0x314d3: 0x6d9d5420, + 0x314d4: 0x6d9d5620, 0x314d5: 0x6d9d5820, 0x314d6: 0x6d9d5a20, 0x314d7: 0x6d9d5c20, + 0x314d8: 0x6d9d5e20, 0x314d9: 0x6dbf9c20, 0x314da: 0x6dbf9e20, 0x314db: 0x6dbfa020, + 0x314dc: 0x6dbfa220, 0x314dd: 0x6dbfa420, 0x314de: 0x6dbfa620, 0x314df: 0x6dbfa820, + 0x314e0: 0x6dbfaa20, 0x314e1: 0x6dbfac20, 0x314e2: 0x6dbfae20, 0x314e3: 0x6d9d6020, + 0x314e4: 0x6dbfb020, 0x314e5: 0x6dbfb220, 0x314e6: 0x6dbfb420, 0x314e7: 0x6dbfb620, + 0x314e8: 0x6dbfb820, 0x314e9: 0x6dbfba20, 0x314ea: 0x6dbfbc20, 0x314eb: 0x6dbfbe20, + 0x314ec: 0x6dbfc020, 0x314ed: 0x6dbfc220, 0x314ee: 0x6dbfc420, 0x314ef: 0x6dbfc620, + 0x314f0: 0x6dbfc820, 0x314f1: 0x6dbfca20, 0x314f2: 0x6dbfcc20, 0x314f3: 0x6dbfce20, + 0x314f4: 0x6dbfd020, 0x314f5: 0x6ddd9820, 0x314f6: 0x6ddd9a20, 0x314f7: 0x6ddd9c20, + 0x314f8: 0x6ddd9e20, 0x314f9: 0x6ddda020, 0x314fa: 0x6dbfd220, 0x314fb: 0x6ddda220, + 0x314fc: 0x6ddda420, 0x314fd: 0x6ddda620, 0x314fe: 0x6ddda820, 0x314ff: 0x6dddaa20, + // Block 0xc54, offset 0x31500 + 0x31500: 0x6dddac20, 0x31501: 0x6dddae20, 0x31502: 0x6dddb020, 0x31503: 0x6dddb220, + 0x31504: 0x6dddb420, 0x31505: 0x6df51c20, 0x31506: 0x6dddb620, 0x31507: 0x6dddb820, + 0x31508: 0x6dddba20, 0x31509: 0x6dddbc20, 0x3150a: 0x6dddbe20, 0x3150b: 0x6dddc020, + 0x3150c: 0x6dddc220, 0x3150d: 0x6dddc420, 0x3150e: 0x6dc03a20, 0x3150f: 0x6dddc620, + 0x31510: 0x6dddc820, 0x31511: 0x6dddca20, 0x31512: 0x6dddcc20, 0x31513: 0x6dddce20, + 0x31514: 0x6df54220, 0x31515: 0x6df54420, 0x31516: 0x6df54620, 0x31517: 0x6df54820, + 0x31518: 0x6df54a20, 0x31519: 0x6df54c20, 0x3151a: 0x6df54e20, 0x3151b: 0x6df55020, + 0x3151c: 0x6df55220, 0x3151d: 0x6df55420, 0x3151e: 0x6df55620, 0x3151f: 0x6df55820, + 0x31520: 0x6df55a20, 0x31521: 0x6df55c20, 0x31522: 0x6df55e20, 0x31523: 0x6df56020, + 0x31524: 0x6df56220, 0x31525: 0x6df56420, 0x31526: 0x6df56620, 0x31527: 0x6df56820, + 0x31528: 0x6df56a20, 0x31529: 0x6df56c20, 0x3152a: 0x6df56e20, 0x3152b: 0x6df57020, + 0x3152c: 0x6df57220, 0x3152d: 0x6df57420, 0x3152e: 0x6df57620, 0x3152f: 0x6df57820, + 0x31530: 0x6df57a20, 0x31531: 0x6df57c20, 0x31532: 0x6df57e20, 0x31533: 0x6df58020, + 0x31534: 0x6df58220, 0x31535: 0x6df58420, 0x31536: 0x6e093220, 0x31537: 0x6e093420, + 0x31538: 0x6e093620, 0x31539: 0x6e093820, 0x3153a: 0x6df61c20, 0x3153b: 0x6e091c20, + 0x3153c: 0x6e093a20, 0x3153d: 0x6dddd020, 0x3153e: 0x6e093c20, 0x3153f: 0x6e093e20, + // Block 0xc55, offset 0x31540 + 0x31540: 0x6e094020, 0x31541: 0x6e094220, 0x31542: 0x6e094420, 0x31543: 0x6e094620, + 0x31544: 0x6e094820, 0x31545: 0x6e094a20, 0x31546: 0x6e094c20, 0x31547: 0x6e094e20, + 0x31548: 0x6e095020, 0x31549: 0x6e095220, 0x3154a: 0x6e095420, 0x3154b: 0x6e095620, + 0x3154c: 0x6e095820, 0x3154d: 0x6e095a20, 0x3154e: 0x6e095c20, 0x3154f: 0x6e095e20, + 0x31550: 0x6e096020, 0x31551: 0x6e096220, 0x31552: 0x6e096420, 0x31553: 0x6e096620, + 0x31554: 0x6e096820, 0x31555: 0x6e096a20, 0x31556: 0x6e096c20, 0x31557: 0x6e096e20, + 0x31558: 0x6e097020, 0x31559: 0x6e097220, 0x3155a: 0x6e097420, 0x3155b: 0x6e097620, + 0x3155c: 0x6e194620, 0x3155d: 0x6e194820, 0x3155e: 0x6e194a20, 0x3155f: 0x6e194c20, + 0x31560: 0x6e097820, 0x31561: 0x6e194e20, 0x31562: 0x6e195020, 0x31563: 0x6e195220, + 0x31564: 0x6e195420, 0x31565: 0x6e195620, 0x31566: 0x6e195820, 0x31567: 0x6e195a20, + 0x31568: 0x6e195c20, 0x31569: 0x6e195e20, 0x3156a: 0x6e196020, 0x3156b: 0x6e196220, + 0x3156c: 0x6e196420, 0x3156d: 0x6e196620, 0x3156e: 0x6e196820, 0x3156f: 0x6e196a20, + 0x31570: 0x6e196c20, 0x31571: 0x6e25de20, 0x31572: 0x6e25e020, 0x31573: 0x6e25e220, + 0x31574: 0x6e25e420, 0x31575: 0x6e25e620, 0x31576: 0x6e25e820, 0x31577: 0x6e25ea20, + 0x31578: 0x6e25ec20, 0x31579: 0x6e25ee20, 0x3157a: 0x6e25f020, 0x3157b: 0x6e25f220, + 0x3157c: 0x6e25f420, 0x3157d: 0x6e25f620, 0x3157e: 0x6e25f820, 0x3157f: 0x6e25fa20, + // Block 0xc56, offset 0x31580 + 0x31580: 0x6e09e620, 0x31581: 0x6e25fc20, 0x31582: 0x6e25fe20, 0x31583: 0x6e260020, + 0x31584: 0x6e260220, 0x31585: 0x6e260420, 0x31586: 0x6e260620, 0x31587: 0x6e260820, + 0x31588: 0x6e260a20, 0x31589: 0x6e267220, 0x3158a: 0x6e2f5620, 0x3158b: 0x6e2f5820, + 0x3158c: 0x6e2f5a20, 0x3158d: 0x6e2f5c20, 0x3158e: 0x6e2f5e20, 0x3158f: 0x6e2f6020, + 0x31590: 0x6e2f6220, 0x31591: 0x6e2f6420, 0x31592: 0x6e2f6620, 0x31593: 0x6e2f6820, + 0x31594: 0x6e2f6a20, 0x31595: 0x6e2f6c20, 0x31596: 0x6e2f6e20, 0x31597: 0x6e2f7020, + 0x31598: 0x6e2f7220, 0x31599: 0x6e2f7420, 0x3159a: 0x6e2f7620, 0x3159b: 0x6e2f7820, + 0x3159c: 0x6e36a620, 0x3159d: 0x6e36a820, 0x3159e: 0x6e36aa20, 0x3159f: 0x6e36ac20, + 0x315a0: 0x6e36ae20, 0x315a1: 0x6e36b020, 0x315a2: 0x6e36b220, 0x315a3: 0x6e36b420, + 0x315a4: 0x6e36b620, 0x315a5: 0x6e36b820, 0x315a6: 0x6e36ba20, 0x315a7: 0x6e36bc20, + 0x315a8: 0x6e3bac20, 0x315a9: 0x6e36be20, 0x315aa: 0x6e2fda20, 0x315ab: 0x6e36c020, + 0x315ac: 0x6e3bae20, 0x315ad: 0x6e3bb020, 0x315ae: 0x6e3bb220, 0x315af: 0x6e3bb420, + 0x315b0: 0x6e371420, 0x315b1: 0x6e3f5420, 0x315b2: 0x6e3f5620, 0x315b3: 0x6e3f5820, + 0x315b4: 0x6e3f5a20, 0x315b5: 0x6e3f5c20, 0x315b6: 0x6e3f5e20, 0x315b7: 0x6e41da20, + 0x315b8: 0x6e41dc20, 0x315b9: 0x6e44d220, 0x315ba: 0x6e458220, 0x315bb: 0x6e469a20, + 0x315bc: 0x6c42dc20, 0x315bd: 0x6c8ac020, 0x315be: 0x6cb74a20, 0x315bf: 0x6ce86e20, + // Block 0xc57, offset 0x315c0 + 0x315c0: 0x6ce87020, 0x315c1: 0x6ce87220, 0x315c2: 0x6ce87420, 0x315c3: 0x6ce87620, + 0x315c4: 0x6d17e020, 0x315c5: 0x6d17e220, 0x315c6: 0x6d17e420, 0x315c7: 0x6d17e620, + 0x315c8: 0x6d17e820, 0x315c9: 0x6d17ea20, 0x315ca: 0x6d17ec20, 0x315cb: 0x6d17ee20, + 0x315cc: 0x6d17f020, 0x315cd: 0x6d17f220, 0x315ce: 0x6d17f420, 0x315cf: 0x6d17f620, + 0x315d0: 0x6d17f820, 0x315d1: 0x6d46b620, 0x315d2: 0x6d46b820, 0x315d3: 0x6d46ba20, + 0x315d4: 0x6d46bc20, 0x315d5: 0x6d46be20, 0x315d6: 0x6d46c020, 0x315d7: 0x6d46c220, + 0x315d8: 0x6d46c420, 0x315d9: 0x6d46c620, 0x315da: 0x6d46c820, 0x315db: 0x6d46ca20, + 0x315dc: 0x6d46cc20, 0x315dd: 0x6d46ce20, 0x315de: 0x6d46d020, 0x315df: 0x6d46d220, + 0x315e0: 0x6d740c20, 0x315e1: 0x6d740e20, 0x315e2: 0x6d741020, 0x315e3: 0x6d741220, + 0x315e4: 0x6d741420, 0x315e5: 0x6d741620, 0x315e6: 0x6d741820, 0x315e7: 0x6d741a20, + 0x315e8: 0x6d741c20, 0x315e9: 0x6d741e20, 0x315ea: 0x6d742020, 0x315eb: 0x6d742220, + 0x315ec: 0x6d742420, 0x315ed: 0x6d9db020, 0x315ee: 0x6d9db220, 0x315ef: 0x6d9db420, + 0x315f0: 0x6d9db620, 0x315f1: 0x6d9db820, 0x315f2: 0x6d9dba20, 0x315f3: 0x6d9dbc20, + 0x315f4: 0x6d9dbe20, 0x315f5: 0x6d9dc020, 0x315f6: 0x6d9dc220, 0x315f7: 0x6d9dc420, + 0x315f8: 0x6d9dc620, 0x315f9: 0x6d9dc820, 0x315fa: 0x6d9dca20, 0x315fb: 0x6d9dcc20, + 0x315fc: 0x6dc03c20, 0x315fd: 0x6dc03e20, 0x315fe: 0x6dc06820, 0x315ff: 0x6dc04020, + // Block 0xc58, offset 0x31600 + 0x31600: 0x6dc04220, 0x31601: 0x6dc04420, 0x31602: 0x6dc04620, 0x31603: 0x6dc04820, + 0x31604: 0x6dc04a20, 0x31605: 0x6dc04c20, 0x31606: 0x6dc04e20, 0x31607: 0x6dc05020, + 0x31608: 0x6dc05220, 0x31609: 0x6dc05420, 0x3160a: 0x6dc05620, 0x3160b: 0x6dc05820, + 0x3160c: 0x6dde2e20, 0x3160d: 0x6dde3020, 0x3160e: 0x6dde3220, 0x3160f: 0x6dde3420, + 0x31610: 0x6dde3620, 0x31611: 0x6dde3820, 0x31612: 0x6dde3a20, 0x31613: 0x6df61e20, + 0x31614: 0x6df62020, 0x31615: 0x6df62220, 0x31616: 0x6df62420, 0x31617: 0x6df62620, + 0x31618: 0x6df62820, 0x31619: 0x6df62a20, 0x3161a: 0x6df62c20, 0x3161b: 0x6df62e20, + 0x3161c: 0x6e09ec20, 0x3161d: 0x6e09ee20, 0x3161e: 0x6e09f020, 0x3161f: 0x6e09f220, + 0x31620: 0x6e19f820, 0x31621: 0x6e19fa20, 0x31622: 0x6e19fc20, 0x31623: 0x6e19fe20, + 0x31624: 0x6e267420, 0x31625: 0x6cb75220, 0x31626: 0x6ce88620, 0x31627: 0x6d180820, + 0x31628: 0x6d180a20, 0x31629: 0x6d180c20, 0x3162a: 0x6d180e20, 0x3162b: 0x6d181020, + 0x3162c: 0x6c63ac20, 0x3162d: 0x6d181220, 0x3162e: 0x6d181420, 0x3162f: 0x6d181620, + 0x31630: 0x6d181820, 0x31631: 0x6d46f420, 0x31632: 0x6d46f620, 0x31633: 0x6d46f820, + 0x31634: 0x6d46fa20, 0x31635: 0x6d46fc20, 0x31636: 0x6d46fe20, 0x31637: 0x6d745020, + 0x31638: 0x6d745220, 0x31639: 0x6d745420, 0x3163a: 0x6d745620, 0x3163b: 0x6d745820, + 0x3163c: 0x6d745a20, 0x3163d: 0x6d745c20, 0x3163e: 0x6d745e20, 0x3163f: 0x6d746020, + // Block 0xc59, offset 0x31640 + 0x31640: 0x6d746220, 0x31641: 0x6d746420, 0x31642: 0x6d746620, 0x31643: 0x6d746820, + 0x31644: 0x6d746a20, 0x31645: 0x6d746c20, 0x31646: 0x6d746e20, 0x31647: 0x6d747020, + 0x31648: 0x6d747220, 0x31649: 0x6d747420, 0x3164a: 0x6d9e0620, 0x3164b: 0x6d747620, + 0x3164c: 0x6d747820, 0x3164d: 0x6d747a20, 0x3164e: 0x6d747c20, 0x3164f: 0x6d9e0820, + 0x31650: 0x6d9e0a20, 0x31651: 0x6d9e0c20, 0x31652: 0x6d9e0e20, 0x31653: 0x6d9e1020, + 0x31654: 0x6d9e1220, 0x31655: 0x6d9e1420, 0x31656: 0x6d9e1620, 0x31657: 0x6d9e1820, + 0x31658: 0x6d9e1a20, 0x31659: 0x6d9e1c20, 0x3165a: 0x6d9e1e20, 0x3165b: 0x6d9e2020, + 0x3165c: 0x6dc06a20, 0x3165d: 0x6d9e2220, 0x3165e: 0x6d9e2420, 0x3165f: 0x6d9e2620, + 0x31660: 0x6d9e2820, 0x31661: 0x6d9e2a20, 0x31662: 0x6d9e2c20, 0x31663: 0x6d9e2e20, + 0x31664: 0x6d9e3020, 0x31665: 0x6d9e3220, 0x31666: 0x6d9e3420, 0x31667: 0x6d9e3620, + 0x31668: 0x6d9e3820, 0x31669: 0x6d9e3a20, 0x3166a: 0x6d9e3c20, 0x3166b: 0x6d9e3e20, + 0x3166c: 0x6d9e4020, 0x3166d: 0x6dc08020, 0x3166e: 0x6dc08220, 0x3166f: 0x6dc08420, + 0x31670: 0x6dc08620, 0x31671: 0x6dc08820, 0x31672: 0x6dc08a20, 0x31673: 0x6dc08c20, + 0x31674: 0x6dc08e20, 0x31675: 0x6dc09020, 0x31676: 0x6dc09220, 0x31677: 0x6dc09420, + 0x31678: 0x6dc09620, 0x31679: 0x6dc09820, 0x3167a: 0x6dc09a20, 0x3167b: 0x6dc09c20, + 0x3167c: 0x6dc09e20, 0x3167d: 0x6dc0a020, 0x3167e: 0x6dc0a220, 0x3167f: 0x6dc0a420, + // Block 0xc5a, offset 0x31680 + 0x31680: 0x6dc0a620, 0x31681: 0x6dc0a820, 0x31682: 0x6dc0aa20, 0x31683: 0x6dc0ac20, + 0x31684: 0x6dc0ae20, 0x31685: 0x6dc0b020, 0x31686: 0x6dc0b220, 0x31687: 0x6dc0b420, + 0x31688: 0x6dc0b620, 0x31689: 0x6dc0b820, 0x3168a: 0x6dde4e20, 0x3168b: 0x6dde5020, + 0x3168c: 0x6dde5220, 0x3168d: 0x6dde5420, 0x3168e: 0x6dde5620, 0x3168f: 0x6dde5820, + 0x31690: 0x6dde5a20, 0x31691: 0x6dde5c20, 0x31692: 0x6dde5e20, 0x31693: 0x6dde6020, + 0x31694: 0x6dde6220, 0x31695: 0x6dde6420, 0x31696: 0x6dde6620, 0x31697: 0x6dde6820, + 0x31698: 0x6dde6a20, 0x31699: 0x6dde6c20, 0x3169a: 0x6dde6e20, 0x3169b: 0x6dde7020, + 0x3169c: 0x6dde7220, 0x3169d: 0x6dde7420, 0x3169e: 0x6dde7620, 0x3169f: 0x6dde7820, + 0x316a0: 0x6dde7a20, 0x316a1: 0x6df63820, 0x316a2: 0x6dde7c20, 0x316a3: 0x6dde7e20, + 0x316a4: 0x6dd43a20, 0x316a5: 0x6dde8020, 0x316a6: 0x6df64c20, 0x316a7: 0x6dc13220, + 0x316a8: 0x6df64e20, 0x316a9: 0x6df65020, 0x316aa: 0x6df65220, 0x316ab: 0x6df65420, + 0x316ac: 0x6df65620, 0x316ad: 0x6df65820, 0x316ae: 0x6df65a20, 0x316af: 0x6df65c20, + 0x316b0: 0x6df65e20, 0x316b1: 0x6df66020, 0x316b2: 0x6df66220, 0x316b3: 0x6df66420, + 0x316b4: 0x6df66620, 0x316b5: 0x6df66820, 0x316b6: 0x6df66a20, 0x316b7: 0x6df66c20, + 0x316b8: 0x6df66e20, 0x316b9: 0x6df67020, 0x316ba: 0x6df67220, 0x316bb: 0x6df67420, + 0x316bc: 0x6df67620, 0x316bd: 0x6df67820, 0x316be: 0x6df67a20, 0x316bf: 0x6df67c20, + // Block 0xc5b, offset 0x316c0 + 0x316c0: 0x6df67e20, 0x316c1: 0x6df68020, 0x316c2: 0x6df68220, 0x316c3: 0x6df68420, + 0x316c4: 0x6df68620, 0x316c5: 0x6df68820, 0x316c6: 0x6df68a20, 0x316c7: 0x6df68c20, + 0x316c8: 0x6df68e20, 0x316c9: 0x6df69020, 0x316ca: 0x6df69220, 0x316cb: 0x6df69420, + 0x316cc: 0x6df69620, 0x316cd: 0x6df69820, 0x316ce: 0x6df69a20, 0x316cf: 0x6df69c20, + 0x316d0: 0x6e0a0e20, 0x316d1: 0x6df69e20, 0x316d2: 0x6e0a1020, 0x316d3: 0x6e0a1220, + 0x316d4: 0x6e0a1420, 0x316d5: 0x6e0a1620, 0x316d6: 0x6e0a1820, 0x316d7: 0x6e0a1a20, + 0x316d8: 0x6e0a1c20, 0x316d9: 0x6e0a1e20, 0x316da: 0x6e0a2020, 0x316db: 0x6e0a2220, + 0x316dc: 0x6e0a2420, 0x316dd: 0x6e0a2620, 0x316de: 0x6e0a2820, 0x316df: 0x6e0a2a20, + 0x316e0: 0x6e0a2c20, 0x316e1: 0x6e0a2e20, 0x316e2: 0x6e0a3020, 0x316e3: 0x6e0a3220, + 0x316e4: 0x6e0a3420, 0x316e5: 0x6e0a3620, 0x316e6: 0x6e0a3820, 0x316e7: 0x6e0a3a20, + 0x316e8: 0x6e0a3c20, 0x316e9: 0x6e0a3e20, 0x316ea: 0x6e0a4020, 0x316eb: 0x6e0a4220, + 0x316ec: 0x6e1a1020, 0x316ed: 0x6e1a1220, 0x316ee: 0x6e1a1420, 0x316ef: 0x6e1a1620, + 0x316f0: 0x6e1a1820, 0x316f1: 0x6e1a1a20, 0x316f2: 0x6e1a1c20, 0x316f3: 0x6e1a1e20, + 0x316f4: 0x6e1a2020, 0x316f5: 0x6e1a2220, 0x316f6: 0x6e1a2420, 0x316f7: 0x6e1a2620, + 0x316f8: 0x6e1a2820, 0x316f9: 0x6e1a2a20, 0x316fa: 0x6e1a2c20, 0x316fb: 0x6e1a2e20, + 0x316fc: 0x6e1a3020, 0x316fd: 0x6e1a3220, 0x316fe: 0x6e1a3420, 0x316ff: 0x6e0ad220, + // Block 0xc5c, offset 0x31700 + 0x31700: 0x6e1a3620, 0x31701: 0x6e1a3820, 0x31702: 0x6e1a3a20, 0x31703: 0x6e1a3c20, + 0x31704: 0x6e1a3e20, 0x31705: 0x6e1a4020, 0x31706: 0x6e1a4220, 0x31707: 0x6e1a4420, + 0x31708: 0x6e1a4620, 0x31709: 0x6e1a4820, 0x3170a: 0x6e1a4a20, 0x3170b: 0x6e268620, + 0x3170c: 0x6e1a4c20, 0x3170d: 0x6e1a4e20, 0x3170e: 0x6e1a5020, 0x3170f: 0x6e1a5220, + 0x31710: 0x6e268820, 0x31711: 0x6e268a20, 0x31712: 0x6e268c20, 0x31713: 0x6e268e20, + 0x31714: 0x6e269020, 0x31715: 0x6e269220, 0x31716: 0x6e269420, 0x31717: 0x6e269620, + 0x31718: 0x6e269820, 0x31719: 0x6e269a20, 0x3171a: 0x6e269c20, 0x3171b: 0x6e269e20, + 0x3171c: 0x6e26a020, 0x3171d: 0x6e26a220, 0x3171e: 0x6e26a420, 0x3171f: 0x6e26a620, + 0x31720: 0x6e260c20, 0x31721: 0x6e2ff220, 0x31722: 0x6e2ff420, 0x31723: 0x6e2ff620, + 0x31724: 0x6e2ff820, 0x31725: 0x6e2ffa20, 0x31726: 0x6e2ffc20, 0x31727: 0x6e2ffe20, + 0x31728: 0x6e300020, 0x31729: 0x6e273020, 0x3172a: 0x6e300220, 0x3172b: 0x6e300420, + 0x3172c: 0x6e300620, 0x3172d: 0x6e300820, 0x3172e: 0x6e300a20, 0x3172f: 0x6e300c20, + 0x31730: 0x6e300e20, 0x31731: 0x6e301020, 0x31732: 0x6e301220, 0x31733: 0x6e301420, + 0x31734: 0x6e301620, 0x31735: 0x6e273220, 0x31736: 0x6e301820, 0x31737: 0x6e301a20, + 0x31738: 0x6e301c20, 0x31739: 0x6e372220, 0x3173a: 0x6e371620, 0x3173b: 0x6e301e20, + 0x3173c: 0x6e302020, 0x3173d: 0x6e372420, 0x3173e: 0x6e372620, 0x3173f: 0x6e372820, + // Block 0xc5d, offset 0x31740 + 0x31740: 0x6e372a20, 0x31741: 0x6e372c20, 0x31742: 0x6e372e20, 0x31743: 0x6e373020, + 0x31744: 0x6e373220, 0x31745: 0x6e373420, 0x31746: 0x6e373620, 0x31747: 0x6e373820, + 0x31748: 0x6e373a20, 0x31749: 0x6e373c20, 0x3174a: 0x6e373e20, 0x3174b: 0x6e3bea20, + 0x3174c: 0x6e3bec20, 0x3174d: 0x6e3bee20, 0x3174e: 0x6e3bf020, 0x3174f: 0x6e3bf220, + 0x31750: 0x6e3bf420, 0x31751: 0x6e3bf620, 0x31752: 0x6e3bf820, 0x31753: 0x6e3f8820, + 0x31754: 0x6e3f8a20, 0x31755: 0x6e41fa20, 0x31756: 0x6e41fc20, 0x31757: 0x6e41fe20, + 0x31758: 0x6e43c020, 0x31759: 0x6e43c220, 0x3175a: 0x6e43c420, 0x3175b: 0x6e44e620, + 0x3175c: 0x6e44e820, 0x3175d: 0x6e458c20, 0x3175e: 0x6e458e20, 0x3175f: 0x6c0ac820, + 0x31760: 0x6c28a620, 0x31761: 0x6c28a820, 0x31762: 0x6c42de20, 0x31763: 0x6c42e020, + 0x31764: 0x6c42e220, 0x31765: 0x6c63ae20, 0x31766: 0x6c63b020, 0x31767: 0x6c63b220, + 0x31768: 0x6c63b420, 0x31769: 0x6c63b620, 0x3176a: 0x6c8ac420, 0x3176b: 0x6c8ac620, + 0x3176c: 0x6c8ac820, 0x3176d: 0x6c8aca20, 0x3176e: 0x6c8acc20, 0x3176f: 0x6c8ace20, + 0x31770: 0x6c8ad020, 0x31771: 0x6c8ad220, 0x31772: 0x6c8ad420, 0x31773: 0x6c8ad620, + 0x31774: 0x6c8ad820, 0x31775: 0x6c8ada20, 0x31776: 0x6c8adc20, 0x31777: 0x6cb75620, + 0x31778: 0x6cb75820, 0x31779: 0x6cb75a20, 0x3177a: 0x6cb75c20, 0x3177b: 0x6cb75e20, + 0x3177c: 0x6cb76020, 0x3177d: 0x6cb76220, 0x3177e: 0x6cb76420, 0x3177f: 0x6cb76620, + // Block 0xc5e, offset 0x31780 + 0x31780: 0x6ce89020, 0x31781: 0x6ce89220, 0x31782: 0x6ce89420, 0x31783: 0x6ce89620, + 0x31784: 0x6ce89820, 0x31785: 0x6ce89a20, 0x31786: 0x6ce89c20, 0x31787: 0x6ce89e20, + 0x31788: 0x6ce8a020, 0x31789: 0x6d183020, 0x3178a: 0x6d183220, 0x3178b: 0x6d183420, + 0x3178c: 0x6d183620, 0x3178d: 0x6d183820, 0x3178e: 0x6d183a20, 0x3178f: 0x6d183c20, + 0x31790: 0x6d183e20, 0x31791: 0x6d184020, 0x31792: 0x6d184220, 0x31793: 0x6d184420, + 0x31794: 0x6d184620, 0x31795: 0x6d472620, 0x31796: 0x6d472820, 0x31797: 0x6d472a20, + 0x31798: 0x6d74e020, 0x31799: 0x6d472c20, 0x3179a: 0x6d472e20, 0x3179b: 0x6d473020, + 0x3179c: 0x6d473220, 0x3179d: 0x6d74e220, 0x3179e: 0x6d74e420, 0x3179f: 0x6d74e620, + 0x317a0: 0x6d74e820, 0x317a1: 0x6d74ea20, 0x317a2: 0x6d74ec20, 0x317a3: 0x6d74ee20, + 0x317a4: 0x6d74f020, 0x317a5: 0x6d9eba20, 0x317a6: 0x6d9ebc20, 0x317a7: 0x6d9ebe20, + 0x317a8: 0x6d9ec020, 0x317a9: 0x6dc13820, 0x317aa: 0x6dc13a20, 0x317ab: 0x6dc13c20, + 0x317ac: 0x6dc13e20, 0x317ad: 0x6ddee620, 0x317ae: 0x6ddee820, 0x317af: 0x6ddeea20, + 0x317b0: 0x6ddeec20, 0x317b1: 0x6df73020, 0x317b2: 0x6df73220, 0x317b3: 0x6e273420, + 0x317b4: 0x6e273620, 0x317b5: 0x6cb78220, 0x317b6: 0x6d750020, 0x317b7: 0x6d9eca20, + 0x317b8: 0x6df73620, 0x317b9: 0x6e0ad820, 0x317ba: 0x6e1ac620, 0x317bb: 0x6e1ac820, + 0x317bc: 0x6e378c20, 0x317bd: 0x6e378e20, 0x317be: 0x6d9ed820, 0x317bf: 0x6cb78620, + // Block 0xc5f, offset 0x317c0 + 0x317c0: 0x6d185620, 0x317c1: 0x6d185820, 0x317c2: 0x6d185a20, 0x317c3: 0x6d751220, + 0x317c4: 0x6d751420, 0x317c5: 0x6d9ee220, 0x317c6: 0x6d9ee420, 0x317c7: 0x6d9ee620, + 0x317c8: 0x6d9ee820, 0x317c9: 0x6dc14820, 0x317ca: 0x6dc14a20, 0x317cb: 0x6dc14c20, + 0x317cc: 0x6ddefc20, 0x317cd: 0x6ddefe20, 0x317ce: 0x6ddf0020, 0x317cf: 0x6ddf0220, + 0x317d0: 0x6ddf0420, 0x317d1: 0x6df74820, 0x317d2: 0x6df74a20, 0x317d3: 0x6df74c20, + 0x317d4: 0x6df74e20, 0x317d5: 0x6df75020, 0x317d6: 0x6df75220, 0x317d7: 0x6df75420, + 0x317d8: 0x6e0aec20, 0x317d9: 0x6e0aee20, 0x317da: 0x6e0af020, 0x317db: 0x6e0af220, + 0x317dc: 0x6e1ad620, 0x317dd: 0x6e1ad820, 0x317de: 0x6e274420, 0x317df: 0x6e30b220, + 0x317e0: 0x6e379a20, 0x317e1: 0x6e3c3820, 0x317e2: 0x6e43e220, 0x317e3: 0x6e460a20, + 0x317e4: 0x6e46a220, 0x317e5: 0x6cb78a20, 0x317e6: 0x6c28aa20, 0x317e7: 0x6d475620, + 0x317e8: 0x6d753420, 0x317e9: 0x6d753620, 0x317ea: 0x6d753820, 0x317eb: 0x6d753a20, + 0x317ec: 0x6d9f0620, 0x317ed: 0x6d9f0820, 0x317ee: 0x6d9f0a20, 0x317ef: 0x6dc17020, + 0x317f0: 0x6dc17220, 0x317f1: 0x6ddf2e20, 0x317f2: 0x6ddf3020, 0x317f3: 0x6df77420, + 0x317f4: 0x6df77620, 0x317f5: 0x6e0b0620, 0x317f6: 0x6e275620, 0x317f7: 0x6e44fe20, + 0x317f8: 0x6cb78c20, 0x317f9: 0x6d755a20, 0x317fa: 0x6d9f2620, 0x317fb: 0x6cb79420, + 0x317fc: 0x6d476420, 0x317fd: 0x6d476620, 0x317fe: 0x6d756420, 0x317ff: 0x6ddf5220, + // Block 0xc60, offset 0x31800 + 0x31800: 0x6df79a20, 0x31801: 0x6e0b2a20, 0x31802: 0x6e30dc20, 0x31803: 0x6ce8b420, + 0x31804: 0x6ce8b620, 0x31805: 0x6d9f3420, 0x31806: 0x6d9f3620, 0x31807: 0x6dc19420, + 0x31808: 0x6dc19620, 0x31809: 0x6dc19820, 0x3180a: 0x6ddf5a20, 0x3180b: 0x6ddf5c20, + 0x3180c: 0x6e3c4c20, 0x3180d: 0x6ce8b820, 0x3180e: 0x6d758020, 0x3180f: 0x6dc1a820, + 0x31810: 0x6e278420, 0x31811: 0x6ce8ba20, 0x31812: 0x6cb79620, 0x31813: 0x6d758a20, + 0x31814: 0x6d9f4c20, 0x31815: 0x6d9f4e20, 0x31816: 0x6d9f5020, 0x31817: 0x6d9f5220, + 0x31818: 0x6d9f5420, 0x31819: 0x6d585420, 0x3181a: 0x6dc1c220, 0x3181b: 0x6dc1c420, + 0x3181c: 0x6dc1c620, 0x3181d: 0x6dc1c820, 0x3181e: 0x6dc1ca20, 0x3181f: 0x6ddf7220, + 0x31820: 0x6ddf7420, 0x31821: 0x6ddf7620, 0x31822: 0x6df7c620, 0x31823: 0x6df7c820, + 0x31824: 0x6e0b5420, 0x31825: 0x6e0b5620, 0x31826: 0x6e0b5820, 0x31827: 0x6e0b5a20, + 0x31828: 0x6e0b5c20, 0x31829: 0x6e0b5e20, 0x3182a: 0x6e0b6020, 0x3182b: 0x6e1b2020, + 0x3182c: 0x6e1b2220, 0x3182d: 0x6e1b2420, 0x3182e: 0x6e1b2620, 0x3182f: 0x6e1b2820, + 0x31830: 0x6e278820, 0x31831: 0x6e278a20, 0x31832: 0x6e30f220, 0x31833: 0x6e30f420, + 0x31834: 0x6e30f620, 0x31835: 0x6e3c5820, 0x31836: 0x6e3fc820, 0x31837: 0x6e423420, + 0x31838: 0x6e43f420, 0x31839: 0x6ce8be20, 0x3183a: 0x6d9f7220, 0x3183b: 0x6dc1e620, + 0x3183c: 0x6df7e020, 0x3183d: 0x6d187420, 0x3183e: 0x6c42e420, 0x3183f: 0x6dc1e820, + // Block 0xc61, offset 0x31840 + 0x31840: 0x6ddf8e20, 0x31841: 0x6ddf9020, 0x31842: 0x6ddf9220, 0x31843: 0x6df7e420, + 0x31844: 0x6df7e620, 0x31845: 0x6e1b6620, 0x31846: 0x6e310c20, 0x31847: 0x6e310e20, + 0x31848: 0x6e3c7020, 0x31849: 0x6e3c7220, 0x3184a: 0x6e3fd420, 0x3184b: 0x6ce8c020, + 0x3184c: 0x6d187620, 0x3184d: 0x6e0b9620, 0x3184e: 0x6d187820, 0x3184f: 0x6d75a020, + 0x31850: 0x6d75a220, 0x31851: 0x6d75a420, 0x31852: 0x6d9f7820, 0x31853: 0x6d187a20, + 0x31854: 0x6d187c20, 0x31855: 0x6ddfaa20, 0x31856: 0x6ddfac20, 0x31857: 0x6df7f820, + 0x31858: 0x6e1b6e20, 0x31859: 0x6e1b7020, 0x3185a: 0x6e1b7220, 0x3185b: 0x6e1b7420, + 0x3185c: 0x6e311420, 0x3185d: 0x6e3c7a20, 0x3185e: 0x6e37ec20, 0x3185f: 0x6e3c7c20, + 0x31860: 0x6d188020, 0x31861: 0x6c42e620, 0x31862: 0x6dc20220, 0x31863: 0x6dc20420, + 0x31864: 0x6dc20620, 0x31865: 0x6ddfb820, 0x31866: 0x6ddfba20, 0x31867: 0x6ddfbc20, + 0x31868: 0x6ddfbe20, 0x31869: 0x6ddfc020, 0x3186a: 0x6ddfc220, 0x3186b: 0x6ddfc420, + 0x3186c: 0x6ddfc620, 0x3186d: 0x6df80c20, 0x3186e: 0x6e0ba420, 0x3186f: 0x6e0ba620, + 0x31870: 0x6e0ba820, 0x31871: 0x6e1b8020, 0x31872: 0x6e27d820, 0x31873: 0x6e27da20, + 0x31874: 0x6e27dc20, 0x31875: 0x6e27de20, 0x31876: 0x6e311c20, 0x31877: 0x6e311e20, + 0x31878: 0x6e312020, 0x31879: 0x6e312220, 0x3187a: 0x6e440020, 0x3187b: 0x6d478020, + 0x3187c: 0x6d9f8820, 0x3187d: 0x6d9f8a20, 0x3187e: 0x6dc22020, 0x3187f: 0x6dc22220, + // Block 0xc62, offset 0x31880 + 0x31880: 0x6df82220, 0x31881: 0x6df82420, 0x31882: 0x6e27f420, 0x31883: 0x6e313820, + 0x31884: 0x6e313a20, 0x31885: 0x6e380020, 0x31886: 0x6e380220, 0x31887: 0x6e3c9220, + 0x31888: 0x6e424e20, 0x31889: 0x6e46fc20, 0x3188a: 0x6d478220, 0x3188b: 0x6dc22c20, + 0x3188c: 0x6ddfec20, 0x3188d: 0x6df83420, 0x3188e: 0x6e1b9a20, 0x3188f: 0x6e314420, + 0x31890: 0x6c15e220, 0x31891: 0x6d75b420, 0x31892: 0x6d75b620, 0x31893: 0x6d9f9220, + 0x31894: 0x6dc23020, 0x31895: 0x6ddff620, 0x31896: 0x6df83e20, 0x31897: 0x6df84020, + 0x31898: 0x6df84220, 0x31899: 0x6e0bda20, 0x3189a: 0x6e0bdc20, 0x3189b: 0x6e0bde20, + 0x3189c: 0x6e1b9e20, 0x3189d: 0x6e0be020, 0x3189e: 0x6e0be220, 0x3189f: 0x6e0be420, + 0x318a0: 0x6e0be620, 0x318a1: 0x6e0be820, 0x318a2: 0x6dc23a20, 0x318a3: 0x6e0bea20, + 0x318a4: 0x6e1ba420, 0x318a5: 0x6e1ba620, 0x318a6: 0x6e1ba820, 0x318a7: 0x6e1baa20, + 0x318a8: 0x6e1bac20, 0x318a9: 0x6e1bae20, 0x318aa: 0x6e280020, 0x318ab: 0x6e280220, + 0x318ac: 0x6e280420, 0x318ad: 0x6e314a20, 0x318ae: 0x6e314c20, 0x318af: 0x6e314e20, + 0x318b0: 0x6e315020, 0x318b1: 0x6e315220, 0x318b2: 0x6e381220, 0x318b3: 0x6e381420, + 0x318b4: 0x6e381620, 0x318b5: 0x6e381820, 0x318b6: 0x6e381a20, 0x318b7: 0x6e381c20, + 0x318b8: 0x6e3ca820, 0x318b9: 0x6e3caa20, 0x318ba: 0x6e3cac20, 0x318bb: 0x6e3cae20, + 0x318bc: 0x6e440620, 0x318bd: 0x6e440820, 0x318be: 0x6e46dc20, 0x318bf: 0x6c42e820, + // Block 0xc63, offset 0x318c0 + 0x318c0: 0x6c8aee20, 0x318c1: 0x6cb79820, 0x318c2: 0x6ce8c420, 0x318c3: 0x6d188220, + 0x318c4: 0x6d188420, 0x318c5: 0x6d188620, 0x318c6: 0x6d188820, 0x318c7: 0x6d478620, + 0x318c8: 0x6d478820, 0x318c9: 0x6d75ba20, 0x318ca: 0x6d75bc20, 0x318cb: 0x6dc23c20, + 0x318cc: 0x6dc23e20, 0x318cd: 0x6d9f9c20, 0x318ce: 0x6de00020, 0x318cf: 0x6df85a20, + 0x318d0: 0x6de23620, 0x318d1: 0x6e0c1220, 0x318d2: 0x6e1be220, 0x318d3: 0x6e283820, + 0x318d4: 0x6e283a20, 0x318d5: 0x6e283c20, 0x318d6: 0x6e467820, 0x318d7: 0x6e46a820, + 0x318d8: 0x6e473c20, 0x318d9: 0x6c0aca20, 0x318da: 0x6cb79a20, 0x318db: 0x6cb79c20, + 0x318dc: 0x6d9f9e20, 0x318dd: 0x6e1bea20, 0x318de: 0x6e441620, 0x318df: 0x6c28ac20, + 0x318e0: 0x6dc24220, 0x318e1: 0x6e1c0020, 0x318e2: 0x6e284620, 0x318e3: 0x6e3cda20, + 0x318e4: 0x6e3ffc20, 0x318e5: 0x6e3ffe20, 0x318e6: 0x6d585620, 0x318e7: 0x6d7e6e20, + 0x318e8: 0x6c670020, 0x318e9: 0x6db26c20, 0x318ea: 0x6c610620, 0x318eb: 0x6ce29e20, + 0x318ec: 0x6d974220, 0x318ed: 0x6e186020, 0x318ee: 0x6e41aa20, 0x318ef: 0x6d135620, + 0x318f0: 0x6c04aa20, 0x318f1: 0x6c079420, 0x318f2: 0x6dd85820, 0x318f3: 0x6d789a20, + 0x318f4: 0x6c006420, 0x318f5: 0x6c01f820, 0x318f6: 0x6c03d220, 0x318f7: 0x6c0a5820, + 0x318f8: 0x6c083c20, 0x318f9: 0x6c0c7020, 0x318fa: 0x6c2bb820, 0x318fb: 0x6ded8620, + 0x318fc: 0x6da1a620, 0x318fd: 0x6d585820, 0x318fe: 0x6d00ea20, 0x318ff: 0x6cae1c20, + // Block 0xc64, offset 0x31900 + 0x31900: 0x6e134020, 0x31901: 0x6d0e4820, 0x31902: 0x6dd6dc20, 0x31903: 0x6cd37020, + 0x31904: 0x6c749620, 0x31905: 0x6daca820, 0x31906: 0x6c3cfa20, 0x31907: 0x6c29c820, + 0x31908: 0x6c1efa20, 0x31909: 0x6c1efc20, 0x3190a: 0x6cad0e20, 0x3190b: 0x6db51620, + // Block 0xc65, offset 0x31940 + 0x31940: 0x6c86d020, 0x31941: 0x6c219c20, 0x31942: 0x6c270e20, 0x31943: 0x6d0f3a20, + 0x31944: 0x6cfa9420, 0x31945: 0x6c160020, 0x31946: 0x6c073820, 0x31947: 0x6d9f9e20, + 0x31948: 0x6d9f9e20, 0x31949: 0x6c490c20, 0x3194a: 0x6c41dc20, 0x3194b: 0x6cbab020, + 0x3194c: 0x6c2eb020, 0x3194d: 0x6de28c20, 0x3194e: 0x6e102820, 0x3194f: 0x6de9ba20, + 0x31950: 0x6e2b8e20, 0x31951: 0x6db3f420, 0x31952: 0x6d3b6a20, 0x31953: 0x6e2d0820, + 0x31954: 0x6d540620, 0x31955: 0x6c542820, 0x31956: 0x6c782020, 0x31957: 0x6c79ee20, + 0x31958: 0x6d09ae20, 0x31959: 0x6d128020, 0x3195a: 0x6d9bda20, 0x3195b: 0x6ce8d220, + 0x3195c: 0x6c18d820, 0x3195d: 0x6e0e7820, 0x3195e: 0x6e0f8220, 0x3195f: 0x6e12b420, + 0x31960: 0x6e458e20, 0x31961: 0x6cc0c020, 0x31962: 0x6da7c620, 0x31963: 0x6dd18820, + 0x31964: 0x6e01ee20, 0x31965: 0x6c348020, 0x31966: 0x6dea2c20, 0x31967: 0x6e135e20, + 0x31968: 0x6cc21820, 0x31969: 0x6c73be20, 0x3196a: 0x6c769c20, 0x3196b: 0x6c795620, + 0x3196c: 0x6c620220, 0x3196d: 0x6c297820, 0x3196e: 0x6c179420, 0x3196f: 0x6cb9b220, + 0x31970: 0x6d7cd420, 0x31971: 0x6de3da20, 0x31972: 0x6dfc5620, 0x31973: 0x6d868620, + 0x31974: 0x6c144420, 0x31975: 0x6e008a20, 0x31976: 0x6d0bc020, 0x31977: 0x6d103820, + 0x31978: 0x6e16b020, 0x31979: 0x6d73ae20, 0x3197a: 0x6e371620, 0x3197b: 0x6d027820, + 0x3197c: 0x6d032420, 0x3197d: 0x6d33d820, 0x3197e: 0x6cdb3420, 0x3197f: 0x6d96bc20, + // Block 0xc66, offset 0x31980 + 0x31980: 0x6cb78620, 0x31981: 0x6d68ec20, 0x31982: 0x6de11020, 0x31983: 0x6c1e9220, + 0x31984: 0x6e1f9e20, 0x31985: 0x6e206020, 0x31986: 0x6c23f020, 0x31987: 0x6d5d2420, + 0x31988: 0x6d0f2e20, 0x31989: 0x6d152020, 0x3198a: 0x6dc3e620, 0x3198b: 0x6d1fe020, + 0x3198c: 0x6d542620, 0x3198d: 0x6c9f4220, 0x3198e: 0x6d295820, 0x3198f: 0x6ca91620, + 0x31990: 0x6daf5020, 0x31991: 0x6c62d820, 0x31992: 0x6c8d4420, 0x31993: 0x6c145c20, + 0x31994: 0x6d487e20, 0x31995: 0x6c65d820, 0x31996: 0x6d03ae20, 0x31997: 0x6d341420, + 0x31998: 0x6cdb8220, 0x31999: 0x6cb5fc20, 0x3199a: 0x6e21cc20, 0x3199b: 0x6c4ef420, + 0x3199c: 0x6d540620, 0x3199d: 0x6d927c20, 0x3199e: 0x6c024220, 0x3199f: 0x6d1f5620, + 0x319a0: 0x6c4d8620, 0x319a1: 0x6ca2d620, 0x319a2: 0x6ca3e620, 0x319a3: 0x6c06c620, + 0x319a4: 0x6dac3420, 0x319a5: 0x6c438020, 0x319a6: 0x6cc2d420, 0x319a7: 0x6c021a20, + 0x319a8: 0x6c38c420, 0x319a9: 0x6d527e20, 0x319aa: 0x6c803a20, 0x319ab: 0x6c8de620, + 0x319ac: 0x6ced8620, 0x319ad: 0x6c599e20, 0x319ae: 0x6d09c620, 0x319af: 0x6d3c9420, + 0x319b0: 0x6c9e2620, 0x319b1: 0x6c272020, 0x319b2: 0x6c22fc20, 0x319b3: 0x6c4f3820, + 0x319b4: 0x6c5eb420, 0x319b5: 0x6c997820, 0x319b6: 0x6ca3de20, 0x319b7: 0x6c433620, + 0x319b8: 0x6c2a4c20, 0x319b9: 0x6c65d220, 0x319ba: 0x6c9c8020, 0x319bb: 0x6dce7a20, + 0x319bc: 0x6c263620, 0x319bd: 0x6d68e420, 0x319be: 0x6ce47020, 0x319bf: 0x6da05e20, + // Block 0xc67, offset 0x319c0 + 0x319c0: 0x6c199220, 0x319c1: 0x6c019420, 0x319c2: 0x6de23220, 0x319c3: 0x6c72c420, + 0x319c4: 0x6dc8dc20, 0x319c5: 0x6dfe0220, 0x319c6: 0x6d6f2820, 0x319c7: 0x6e44c220, + 0x319c8: 0x6df75420, 0x319c9: 0x6d758020, 0x319ca: 0x6c00a820, 0x319cb: 0x6d7e5e20, + 0x319cc: 0x6d80f220, 0x319cd: 0x6e22bc20, 0x319ce: 0x6c10da20, 0x319cf: 0x6d4fbc20, + 0x319d0: 0x6e28d020, 0x319d1: 0x6d515420, 0x319d2: 0x6d297c20, 0x319d3: 0x6cfc0c20, + 0x319d4: 0x6d5a3c20, 0x319d5: 0x6c3d4620, 0x319d6: 0x6d60c620, 0x319d7: 0x6db0a020, + 0x319d8: 0x6d6bf020, 0x319d9: 0x6d642020, 0x319da: 0x6cb37e20, 0x319db: 0x6db9b220, + 0x319dc: 0x6c0cfc20, 0x319dd: 0x6c0d4020, 0x319de: 0x6c46c420, 0x319df: 0x6c77fe20, + 0x319e0: 0x6cde9a20, 0x319e1: 0x6d3c9420, 0x319e2: 0x6cf17420, 0x319e3: 0x6c32f220, + 0x319e4: 0x6c993220, 0x319e5: 0x6da72420, 0x319e6: 0x6de83e20, 0x319e7: 0x6dca5a20, + 0x319e8: 0x6c05e820, 0x319e9: 0x6c2d8820, 0x319ea: 0x6d1f5620, 0x319eb: 0x6da2f220, + 0x319ec: 0x6c333420, 0x319ed: 0x6c573a20, 0x319ee: 0x6d5a0620, 0x319ef: 0x6caa3420, + 0x319f0: 0x6caada20, 0x319f1: 0x6d12d220, 0x319f2: 0x6d151e20, 0x319f3: 0x6e359c20, + 0x319f4: 0x6d442e20, 0x319f5: 0x6c298220, 0x319f6: 0x6dcca820, 0x319f7: 0x6e043820, + 0x319f8: 0x6dbbb220, 0x319f9: 0x6cc32e20, 0x319fa: 0x6c006a20, 0x319fb: 0x6d18e420, + 0x319fc: 0x6d4cd620, 0x319fd: 0x6c1cfc20, 0x319fe: 0x6c729c20, 0x319ff: 0x6d540620, + // Block 0xc68, offset 0x31a00 + 0x31a00: 0x6d834420, 0x31a01: 0x6daa7820, 0x31a02: 0x6d643a20, 0x31a03: 0x6d95ae20, + 0x31a04: 0x6d9f9c20, 0x31a05: 0x6cf5f820, 0x31a06: 0x6c283820, 0x31a07: 0x6d48a020, + 0x31a08: 0x6c368e20, 0x31a09: 0x6c521a20, 0x31a0a: 0x6c546e20, 0x31a0b: 0x6cfa3020, + 0x31a0c: 0x6c7a1820, 0x31a0d: 0x6c7ac820, 0x31a0e: 0x6cd45220, 0x31a0f: 0x6c801620, + 0x31a10: 0x6df30020, 0x31a11: 0x6c02d820, 0x31a12: 0x6d50c420, 0x31a13: 0x6cb60220, + 0x31a14: 0x6c64a820, 0x31a15: 0x6c945a20, 0x31a16: 0x6c9f6220, 0x31a17: 0x6d6bf820, + 0x31a18: 0x6c4d5820, 0x31a19: 0x6cf2a220, 0x31a1a: 0x6c73f020, 0x31a1b: 0x6ca2d620, + 0x31a1c: 0x6ce61620, 0x31a1d: 0x6c17f820, 0x31a1e: 0x6c0e4220, 0x31a1f: 0x6d4d6420, + 0x31a20: 0x6c35ea20, 0x31a21: 0x6c21ce20, 0x31a22: 0x6c9cce20, 0x31a23: 0x6c38f420, + 0x31a24: 0x6ca30c20, 0x31a25: 0x6cd24620, 0x31a26: 0x6d8bbe20, 0x31a27: 0x6d0cea20, + 0x31a28: 0x6d0d0c20, 0x31a29: 0x6c27f020, 0x31a2a: 0x6dd9bc20, 0x31a2b: 0x6c8d9420, + 0x31a2c: 0x6cfa6c20, 0x31a2d: 0x6c194820, 0x31a2e: 0x6d834820, 0x31a2f: 0x6d84e820, + 0x31a30: 0x6e007220, 0x31a31: 0x6d6f9220, 0x31a32: 0x6e2f7020, 0x31a33: 0x6e30b220, + 0x31a34: 0x6c36c420, 0x31a35: 0x6c9f2420, 0x31a36: 0x6db16420, 0x31a37: 0x6c0a4420, + 0x31a38: 0x6ca80e20, 0x31a39: 0x6ca89c20, 0x31a3a: 0x6c3ab620, 0x31a3b: 0x6c39cc20, + 0x31a3c: 0x6ded7c20, 0x31a3d: 0x6c029620, 0x31a3e: 0x6c83b820, 0x31a3f: 0x6c2ae020, + // Block 0xc69, offset 0x31a40 + 0x31a40: 0x6c032820, 0x31a41: 0x6c4c8220, 0x31a42: 0x6c349220, 0x31a43: 0x6d8a6620, + 0x31a44: 0x6c0fbc20, 0x31a45: 0x6c542c20, 0x31a46: 0x6d531620, 0x31a47: 0x6d952420, + 0x31a48: 0x6c14d020, 0x31a49: 0x6c62dc20, 0x31a4a: 0x6c26a020, 0x31a4b: 0x6d212a20, + 0x31a4c: 0x6c014620, 0x31a4d: 0x6ceb7220, 0x31a4e: 0x6ceb3420, 0x31a4f: 0x6c69d820, + 0x31a50: 0x6ced7e20, 0x31a51: 0x6cc0dc20, 0x31a52: 0x6cc79a20, 0x31a53: 0x6cf79a20, + 0x31a54: 0x6d26f820, 0x31a55: 0x6d769020, 0x31a56: 0x6ca29820, 0x31a57: 0x6c7bf820, + 0x31a58: 0x6c13f620, 0x31a59: 0x6c7de220, 0x31a5a: 0x6ca69620, 0x31a5b: 0x6d30ce20, + 0x31a5c: 0x6d155620, 0x31a5d: 0x6d335420, 0x31a5e: 0x6c144220, 0x31a5f: 0x6deabe20, + 0x31a60: 0x6e015420, 0x31a61: 0x6caea820, 0x31a62: 0x6d697820, 0x31a63: 0x6cb20820, + 0x31a64: 0x6c412e20, 0x31a65: 0x6ce32420, 0x31a66: 0x6cb42820, 0x31a67: 0x6d6e4820, + 0x31a68: 0x6d974420, 0x31a69: 0x6d149c20, 0x31a6a: 0x6ce7aa20, 0x31a6b: 0x6d16a820, + 0x31a6c: 0x6d9b2420, 0x31a6d: 0x6e1a2020, 0x31a6e: 0x6c888620, 0x31a6f: 0x6d98c020, + 0x31a70: 0x6c435e20, 0x31a71: 0x6d18fe20, 0x31a72: 0x6c173820, 0x31a73: 0x6c456020, + 0x31a74: 0x6cea9c20, 0x31a75: 0x6c2bac20, 0x31a76: 0x6cbada20, 0x31a77: 0x6d1b7220, + 0x31a78: 0x6d773620, 0x31a79: 0x6cbcc820, 0x31a7a: 0x6d758820, 0x31a7b: 0x6d4d6220, + 0x31a7c: 0x6c01b620, 0x31a7d: 0x6c6fc020, 0x31a7e: 0x6cc3aa20, 0x31a7f: 0x6d4fb820, + // Block 0xc6a, offset 0x31a80 + 0x31a80: 0x6de28220, 0x31a81: 0x6c9ab020, 0x31a82: 0x6c50ac20, 0x31a83: 0x6cc7b820, + 0x31a84: 0x6c9c8820, 0x31a85: 0x6c76b620, 0x31a86: 0x6c9fb820, 0x31a87: 0x6d297a20, + 0x31a88: 0x6cce4620, 0x31a89: 0x6c04d820, 0x31a8a: 0x6cd0a820, 0x31a8b: 0x6d028220, + 0x31a8c: 0x6c3cee20, 0x31a8d: 0x6c5ad020, 0x31a8e: 0x6c5ace20, 0x31a8f: 0x6c7dc620, + 0x31a90: 0x6c7dd220, 0x31a91: 0x6c7de020, 0x31a92: 0x6d30ca20, 0x31a93: 0x6d30cc20, + 0x31a94: 0x6d5e0420, 0x31a95: 0x6c5ba420, 0x31a96: 0x6d051020, 0x31a97: 0x6d60c620, + 0x31a98: 0x6d8abc20, 0x31a99: 0x6daf6420, 0x31a9a: 0x6d071220, 0x31a9b: 0x6c3e3620, + 0x31a9c: 0x6c82de20, 0x31a9d: 0x6c020420, 0x31a9e: 0x6c020420, 0x31a9f: 0x6cdbee20, + 0x31aa0: 0x6d678620, 0x31aa1: 0x6ca6aa20, 0x31aa2: 0x6d928220, 0x31aa3: 0x6dd48e20, + 0x31aa4: 0x6d3d8420, 0x31aa5: 0x6dee3c20, 0x31aa6: 0x6c051e20, 0x31aa7: 0x6ce32420, + 0x31aa8: 0x6df1b220, 0x31aa9: 0x6e06f620, 0x31aaa: 0x6d9a4a20, 0x31aab: 0x6c6f8420, + 0x31aac: 0x6cfce020, 0x31aad: 0x6d8d8a20, + 0x31ab0: 0x6c28ae20, 0x31ab1: 0x6c179020, 0x31ab2: 0x6c0c5a20, 0x31ab3: 0x6c296c20, + 0x31ab4: 0x6c061420, 0x31ab5: 0x6d767a20, 0x31ab6: 0x6c455c20, 0x31ab7: 0x6c016420, + 0x31ab8: 0x6cbada20, 0x31ab9: 0x6c8e9a20, 0x31aba: 0x6cbad220, 0x31abb: 0x6cebb420, + 0x31abc: 0x6ced7e20, 0x31abd: 0x6d4b0420, 0x31abe: 0x6c2ea820, 0x31abf: 0x6c2ef220, + // Block 0xc6b, offset 0x31ac0 + 0x31ac0: 0x6c924620, 0x31ac1: 0x6d79de20, 0x31ac2: 0x6d212820, 0x31ac3: 0x6d216c20, + 0x31ac4: 0x6c96ac20, 0x31ac5: 0x6cf1fa20, 0x31ac6: 0x6c97b620, 0x31ac7: 0x6cf2b020, + 0x31ac8: 0x6cf25620, 0x31ac9: 0x6d4fb820, 0x31aca: 0x6d224e20, 0x31acb: 0x6de28220, + 0x31acc: 0x6da46c20, 0x31acd: 0x6cc4ee20, 0x31ace: 0x6cf40620, 0x31acf: 0x6cc56820, + 0x31ad0: 0x6c9abe20, 0x31ad1: 0x6cc79a20, 0x31ad2: 0x6c73be20, 0x31ad3: 0x6c9c2220, + 0x31ad4: 0x6c21de20, 0x31ad5: 0x6c04ae20, 0x31ad6: 0x6c9e2620, 0x31ad7: 0x6c546e20, + 0x31ad8: 0x6cfaa420, 0x31ad9: 0x6cccf220, 0x31ada: 0x6d297a20, 0x31adb: 0x6de4d620, + 0x31adc: 0x6cce4620, 0x31add: 0x6dab6420, 0x31ade: 0x6da93020, 0x31adf: 0x6c09de20, + 0x31ae0: 0x6ca29820, 0x31ae1: 0x6d2d0620, 0x31ae2: 0x6d2dac20, 0x31ae3: 0x6c3be220, + 0x31ae4: 0x6d5b5220, 0x31ae5: 0x6d5b3020, 0x31ae6: 0x6c7bf820, 0x31ae7: 0x6ca4d020, + 0x31ae8: 0x6c3c8820, 0x31ae9: 0x6cd36020, 0x31aea: 0x6ca59220, 0x31aeb: 0x6d5d2820, + 0x31aec: 0x6d5e7620, 0x31aed: 0x6d051020, 0x31aee: 0x6c5c3a20, 0x31aef: 0x6d061420, + 0x31af0: 0x6d60c620, 0x31af1: 0x6cd85420, 0x31af2: 0x6c3e3620, 0x31af3: 0x6c83e820, + 0x31af4: 0x6cdb7e20, 0x31af5: 0x6d900a20, 0x31af6: 0x6db50820, 0x31af7: 0x6dd40e20, + 0x31af8: 0x6ca6aa20, 0x31af9: 0x6d68be20, 0x31afa: 0x6d697820, 0x31afb: 0x6d68d620, + 0x31afc: 0x6d928220, 0x31afd: 0x6d927c20, 0x31afe: 0x6d925c20, 0x31aff: 0x6dd48e20, + // Block 0xc6c, offset 0x31b00 + 0x31b00: 0x6e2c4c20, 0x31b01: 0x6dee3c20, 0x31b02: 0x6d951e20, 0x31b03: 0x6d959e20, + 0x31b04: 0x6db93e20, 0x31b05: 0x6d40e620, 0x31b06: 0x6cb60820, 0x31b07: 0x6df1b220, + 0x31b08: 0x6d155620, 0x31b09: 0x6e06d420, 0x31b0a: 0x6e06f620, 0x31b0b: 0x6d15fc20, + 0x31b0c: 0x6d9a4a20, 0x31b0d: 0x6e08b620, 0x31b0e: 0x6d9f9e20, 0x31b0f: 0x6d502220, + 0x31b10: 0x6d501620, 0x31b11: 0x6c36f420, 0x31b12: 0x6cf6d620, 0x31b13: 0x6c597a20, + 0x31b14: 0x6cd34020, 0x31b15: 0x6d5c7220, 0x31b16: 0x6dcdba20, 0x31b17: 0x6d0fcc20, + 0x31b18: 0x6e313820, 0x31b19: 0x6de00020, + // Block 0xc6d, offset 0x31b40 + 0x31b40: 0xf0001c1c, 0x31b41: 0xf0001c1c, 0x31b42: 0x00658c9c, + 0x31b50: 0x2c047483, 0x31b51: 0x2c0faa83, 0x31b52: 0x2c03a483, 0x31b53: 0xf0001c1c, + 0x31b54: 0x2c007483, 0x31b55: 0x2c0f1e83, 0x31b56: 0x2d0dc083, 0x31b57: 0x2c03de83, + 0x31b58: 0x2c0b5483, 0x31b59: 0x2c50d083, 0x31b5a: 0x2cce0683, 0x31b5b: 0x2c729c83, + 0x31b5c: 0x2c44fc83, 0x31b5d: 0x2c4d5a83, 0x31b5e: 0x2c0c7883, 0x31b5f: 0x2cf5a283, + 0x31b60: 0x2c17e083, 0x31b61: 0x2ca93c83, 0x31b62: 0x2c0a0283, 0x31b63: 0x2cb1a083, + 0x31b64: 0x2c1b6883, 0x31b65: 0x2c198083, 0x31b66: 0x2d295e83, 0x31b67: 0x2c208683, + 0x31b68: 0x2c714283, 0x31b69: 0x2c000283, 0x31b6a: 0x2c00dc83, 0x31b6b: 0x2d118683, + 0x31b6c: 0x2c089283, 0x31b6d: 0x2c023683, 0x31b6e: 0x2c075483, 0x31b6f: 0x2c4f4883, + 0x31b70: 0x2c26fc83, 0x31b71: 0x2c093e83, 0x31b72: 0x2d032883, 0x31b73: 0x2c3d6e83, + 0x31b74: 0x2c0e3483, 0x31b75: 0x2cccd883, 0x31b76: 0x2c127483, 0x31b77: 0x2c049c83, + 0x31b78: 0x2c0a1083, 0x31b79: 0x2cb95283, 0x31b7a: 0x2c901a83, + // Block 0xc6e, offset 0x31b80 + 0x31b80: 0xe000b653, 0x31b81: 0xe000b64b, 0x31b82: 0xe000b647, 0x31b83: 0xe000b657, + 0x31b84: 0xe000b65b, 0x31b85: 0xe000b64f, 0x31b86: 0xe000b663, 0x31b87: 0xe000b667, + 0x31b88: 0xe000b65f, + 0x31b90: 0x2c96d483, 0x31b91: 0x2c074c83, + // Block 0xc6f, offset 0x31bc0 + 0x31bc0: 0x6c003e20, 0x31bc1: 0x6c004020, 0x31bc2: 0x6c004220, 0x31bc3: 0x6c00e820, + 0x31bc4: 0x6c00ea20, 0x31bc5: 0x6c00ec20, 0x31bc6: 0x6c00ee20, 0x31bc7: 0x6c022820, + 0x31bc8: 0x6c022a20, 0x31bc9: 0x6c022c20, 0x31bca: 0x6c022e20, 0x31bcb: 0x6c023020, + 0x31bcc: 0x6c023220, 0x31bcd: 0x6c055220, 0x31bce: 0x6c055420, 0x31bcf: 0x6c055620, + 0x31bd0: 0x6c055820, 0x31bd1: 0x6c055a20, 0x31bd2: 0x6c055c20, 0x31bd3: 0x6c055e20, + 0x31bd4: 0x6c056020, 0x31bd5: 0x6c056220, 0x31bd6: 0x6c056420, 0x31bd7: 0x6c056620, + 0x31bd8: 0x6c0ada20, 0x31bd9: 0x6c0adc20, 0x31bda: 0x6c0ade20, 0x31bdb: 0x6c0f4220, + 0x31bdc: 0x6c0ae020, 0x31bdd: 0x6c0dac20, 0x31bde: 0x6c0ae220, 0x31bdf: 0x6c0ae420, + 0x31be0: 0x6c0ae620, 0x31be1: 0x6c15ec20, 0x31be2: 0x6c15ee20, 0x31be3: 0x6c15f020, + 0x31be4: 0x6c15f220, 0x31be5: 0x6c162c20, 0x31be6: 0x6c15f420, 0x31be7: 0x6c15f620, + 0x31be8: 0x6c15f820, 0x31be9: 0x6c0b3a20, 0x31bea: 0x6c15fa20, 0x31beb: 0x6c15fc20, + 0x31bec: 0x6c28b220, 0x31bed: 0x6c28b420, 0x31bee: 0x6c28b620, 0x31bef: 0x6c2d9420, + 0x31bf0: 0x6c28b820, 0x31bf1: 0x6c28ba20, 0x31bf2: 0x6c28bc20, 0x31bf3: 0x6c28be20, + 0x31bf4: 0x6c28c020, 0x31bf5: 0x6c42ea20, 0x31bf6: 0x6c42ec20, 0x31bf7: 0x6c470a20, + 0x31bf8: 0x6c42ee20, 0x31bf9: 0x6c470c20, 0x31bfa: 0x6c42f020, 0x31bfb: 0x6c42f220, + 0x31bfc: 0x6c6a8820, 0x31bfd: 0x6c63cc20, 0x31bfe: 0x6c63ce20, 0x31bff: 0x6c63d020, + // Block 0xc70, offset 0x31c00 + 0x31c00: 0x6c63d220, 0x31c01: 0x6c8af020, 0x31c02: 0x6c8af220, 0x31c03: 0x6c8af420, + 0x31c04: 0x6c8af620, 0x31c05: 0x6c8af820, 0x31c06: 0x6cb79e20, 0x31c07: 0x6cb7a020, + 0x31c08: 0x6cb7a220, 0x31c09: 0x6cb93420, 0x31c0a: 0x6cb7a420, 0x31c0b: 0x6cb7a620, + 0x31c0c: 0x6ce8ca20, 0x31c0d: 0x6ce8cc20, 0x31c0e: 0x6d188c20, 0x31c0f: 0x6d188e20, + 0x31c10: 0x6d189020, 0x31c11: 0x6d189220, 0x31c12: 0x6d189420, 0x31c13: 0x6d479020, + 0x31c14: 0x6d479220, 0x31c15: 0x6d75c220, 0x31c16: 0x6d9fa420, 0x31c17: 0x6d75c420, + 0x31c18: 0x6d75c620, 0x31c19: 0x6d75c820, 0x31c1a: 0x6d75ca20, 0x31c1b: 0x6d75cc20, + 0x31c1c: 0x6da01620, 0x31c1d: 0x6d75ce20, 0x31c1e: 0x6da57820, 0x31c1f: 0x6dc24420, + 0x31c20: 0x6df86a20, 0x31c21: 0x6c004620, 0x31c22: 0x6c004820, 0x31c23: 0x6c023e20, + 0x31c24: 0x6c079620, 0x31c25: 0x6c056a20, 0x31c26: 0x6c0aea20, 0x31c27: 0x6c160220, + 0x31c28: 0x6c160420, 0x31c29: 0x6c28c620, 0x31c2a: 0x6c28c820, 0x31c2b: 0x6c28ca20, + 0x31c2c: 0x6c28cc20, 0x31c2d: 0x6c42f820, 0x31c2e: 0x6c42fa20, 0x31c2f: 0x6c42fc20, + 0x31c30: 0x6c63da20, 0x31c31: 0x6c63dc20, 0x31c32: 0x6c15ae20, 0x31c33: 0x6c8afc20, + 0x31c34: 0x6cb7a820, 0x31c35: 0x6cb7aa20, 0x31c36: 0x6d189820, 0x31c37: 0x6d1bb420, + 0x31c38: 0x6d479420, 0x31c39: 0x6dc24620, 0x31c3a: 0x6de00420, 0x31c3b: 0x6e1c0420, + 0x31c3c: 0x6c010220, 0x31c3d: 0x6c010420, 0x31c3e: 0x6c026420, 0x31c3f: 0x6c024620, + // Block 0xc71, offset 0x31c40 + 0x31c40: 0x6c057020, 0x31c41: 0x6c057220, 0x31c42: 0x6c0aec20, 0x31c43: 0x6c63de20, + 0x31c44: 0x6ce8ce20, 0x31c45: 0x6d75d420, 0x31c46: 0x6c005620, 0x31c47: 0x6c005820, + 0x31c48: 0x6c005a20, 0x31c49: 0x6c005c20, 0x31c4a: 0x6c005e20, 0x31c4b: 0x6c011020, + 0x31c4c: 0x6c011220, 0x31c4d: 0x6c011420, 0x31c4e: 0x6c011620, 0x31c4f: 0x6c024e20, + 0x31c50: 0x6c025020, 0x31c51: 0x6c025220, 0x31c52: 0x6c025420, 0x31c53: 0x6c025620, + 0x31c54: 0x6c057c20, 0x31c55: 0x6c057e20, 0x31c56: 0x6c058020, 0x31c57: 0x6c058220, + 0x31c58: 0x6c058420, 0x31c59: 0x6c058620, 0x31c5a: 0x6c058820, 0x31c5b: 0x6c058a20, + 0x31c5c: 0x6c058c20, 0x31c5d: 0x6c058e20, 0x31c5e: 0x6c059020, 0x31c5f: 0x6c059220, + 0x31c60: 0x6c059420, 0x31c61: 0x6c059620, 0x31c62: 0x6c0af820, 0x31c63: 0x6c0afa20, + 0x31c64: 0x6c0afc20, 0x31c65: 0x6c0afe20, 0x31c66: 0x6c0b0020, 0x31c67: 0x6c0b0220, + 0x31c68: 0x6c149620, 0x31c69: 0x6c0b0420, 0x31c6a: 0x6c0b0620, 0x31c6b: 0x6c0b0820, + 0x31c6c: 0x6c0dd620, 0x31c6d: 0x6c0b0a20, 0x31c6e: 0x6c0dd820, 0x31c6f: 0x6c160820, + 0x31c70: 0x6c18ea20, 0x31c71: 0x6c227c20, 0x31c72: 0x6c28d220, 0x31c73: 0x6c28d420, + 0x31c74: 0x6c430420, 0x31c75: 0x6c3bd820, 0x31c76: 0x6c28d620, 0x31c77: 0x6c430620, + 0x31c78: 0x6c431c20, 0x31c79: 0x6c63e220, 0x31c7a: 0x6c63e420, 0x31c7b: 0x6c63e620, + 0x31c7c: 0x6c63e820, 0x31c7d: 0x6c63ea20, 0x31c7e: 0x6c63ec20, 0x31c7f: 0x6c8afe20, + // Block 0xc72, offset 0x31c80 + 0x31c80: 0x6c8b0020, 0x31c81: 0x6c8b0220, 0x31c82: 0x6c8b0420, 0x31c83: 0x6cb7ac20, + 0x31c84: 0x6cb7ae20, 0x31c85: 0x6d189a20, 0x31c86: 0x6ce8d020, 0x31c87: 0x6d479620, + 0x31c88: 0x6e284820, 0x31c89: 0x6c001620, 0x31c8a: 0x6c001820, 0x31c8b: 0x6c001a20, + 0x31c8c: 0x6c001c20, 0x31c8d: 0x6c001e20, 0x31c8e: 0x6c002020, 0x31c8f: 0x6c006620, + 0x31c90: 0x6c006820, 0x31c91: 0x6c002220, 0x31c92: 0x6c012620, 0x31c93: 0x6c012820, + 0x31c94: 0x6c012a20, 0x31c95: 0x6c026620, 0x31c96: 0x6c026820, 0x31c97: 0x6c026a20, + 0x31c98: 0x6c026c20, 0x31c99: 0x6c026e20, 0x31c9a: 0x6c027020, 0x31c9b: 0x6c027220, + 0x31c9c: 0x6c027420, 0x31c9d: 0x6c027620, 0x31c9e: 0x6c05a220, 0x31c9f: 0x6c05a420, + 0x31ca0: 0x6c05a620, 0x31ca1: 0x6c05a820, 0x31ca2: 0x6c05aa20, 0x31ca3: 0x6c05ac20, + 0x31ca4: 0x6c0b2c20, 0x31ca5: 0x6c0b2e20, 0x31ca6: 0x6c0b3020, 0x31ca7: 0x6c0b3220, + 0x31ca8: 0x6c0b3420, 0x31ca9: 0x6c161420, 0x31caa: 0x6c161620, 0x31cab: 0x6c24c020, + 0x31cac: 0x6c161820, 0x31cad: 0x6c28ea20, 0x31cae: 0x6c28ec20, 0x31caf: 0x6c28ee20, + 0x31cb0: 0x6c3bda20, 0x31cb1: 0x6c2fdc20, 0x31cb2: 0x6c431e20, 0x31cb3: 0x6c432020, + 0x31cb4: 0x6c432220, 0x31cb5: 0x6c432420, 0x31cb6: 0x6c432620, 0x31cb7: 0x6c432820, + 0x31cb8: 0x6c63f420, 0x31cb9: 0x6c63f620, 0x31cba: 0x6c63f820, 0x31cbb: 0x6c63fa20, + 0x31cbc: 0x6c8b1220, 0x31cbd: 0x6c8b1420, 0x31cbe: 0x6c8b1620, 0x31cbf: 0x6c8b1820, + // Block 0xc73, offset 0x31cc0 + 0x31cc0: 0x6c8b1a20, 0x31cc1: 0x6c8b1c20, 0x31cc2: 0x6c8b1e20, 0x31cc3: 0x6ce8d820, + 0x31cc4: 0x6ce8da20, 0x31cc5: 0x6d189c20, 0x31cc6: 0x6d189e20, 0x31cc7: 0x6d18a020, + 0x31cc8: 0x6d18a220, 0x31cc9: 0x6d9fa620, 0x31cca: 0x6de00820, 0x31ccb: 0x6df86c20, + 0x31ccc: 0x6c002620, 0x31ccd: 0x6c006c20, 0x31cce: 0x6c006e20, 0x31ccf: 0x6c007020, + 0x31cd0: 0x6c007220, 0x31cd1: 0x6c012e20, 0x31cd2: 0x6c027c20, 0x31cd3: 0x6c027e20, + 0x31cd4: 0x6c028020, 0x31cd5: 0x6c0b3c20, 0x31cd6: 0x6c162220, 0x31cd7: 0x6c162420, + 0x31cd8: 0x6c162620, 0x31cd9: 0x6c28f620, 0x31cda: 0x6c8b2220, 0x31cdb: 0x6cb7ba20, + 0x31cdc: 0x6d479820, 0x31cdd: 0x6d75d820, 0x31cde: 0x6c007620, 0x31cdf: 0x6c007820, + 0x31ce0: 0x6c007a20, 0x31ce1: 0x6c028e20, 0x31ce2: 0x6c0b4420, 0x31ce3: 0x6c0b4620, + 0x31ce4: 0x6c0b4820, 0x31ce5: 0x6c0b4a20, 0x31ce6: 0x6c0b4c20, 0x31ce7: 0x6c0b4e20, + 0x31ce8: 0x6c162e20, 0x31ce9: 0x6c163020, 0x31cea: 0x6c163220, 0x31ceb: 0x6c290220, + 0x31cec: 0x6c290420, 0x31ced: 0x6c290620, 0x31cee: 0x6c290820, 0x31cef: 0x6c290a20, + 0x31cf0: 0x6c432c20, 0x31cf1: 0x6c432e20, 0x31cf2: 0x6c433020, 0x31cf3: 0x6c433220, + 0x31cf4: 0x6c4d0220, 0x31cf5: 0x6c640220, 0x31cf6: 0x6c640420, 0x31cf7: 0x6c640620, + 0x31cf8: 0x6c640820, 0x31cf9: 0x6c8b2420, 0x31cfa: 0x6c8b2620, 0x31cfb: 0x6cb7be20, + 0x31cfc: 0x6ce8de20, 0x31cfd: 0x6ce8e020, 0x31cfe: 0x6ce8e220, 0x31cff: 0x6d18a620, + // Block 0xc74, offset 0x31d00 + 0x31d00: 0x6d479a20, 0x31d01: 0x6c029420, 0x31d02: 0x6c05b220, 0x31d03: 0x6c0b5c20, + 0x31d04: 0x6c0b5e20, 0x31d05: 0x6c0b6020, 0x31d06: 0x6c0b6220, 0x31d07: 0x6c0b6420, + 0x31d08: 0x6c163c20, 0x31d09: 0x6c163e20, 0x31d0a: 0x6c164020, 0x31d0b: 0x6c164220, + 0x31d0c: 0x6c291220, 0x31d0d: 0x6c291420, 0x31d0e: 0x6c291620, 0x31d0f: 0x6c291820, + 0x31d10: 0x6c291a20, 0x31d11: 0x6c291c20, 0x31d12: 0x6c291e20, 0x31d13: 0x6c434020, + 0x31d14: 0x6c434220, 0x31d15: 0x6c434420, 0x31d16: 0x6c640c20, 0x31d17: 0x6c6a8e20, + 0x31d18: 0x6c640e20, 0x31d19: 0x6c641020, 0x31d1a: 0x6c641220, 0x31d1b: 0x6c641420, + 0x31d1c: 0x6c641620, 0x31d1d: 0x6c641820, 0x31d1e: 0x6c8b2820, 0x31d1f: 0x6c8b2a20, + 0x31d20: 0x6c8b2c20, 0x31d21: 0x6c8b2e20, 0x31d22: 0x6c8b3020, 0x31d23: 0x6c8b3220, + 0x31d24: 0x6c8b3420, 0x31d25: 0x6c8b3620, 0x31d26: 0x6c8b3820, 0x31d27: 0x6c8b3a20, + 0x31d28: 0x6cb7c420, 0x31d29: 0x6cb7c620, 0x31d2a: 0x6cb7c820, 0x31d2b: 0x6cb7ca20, + 0x31d2c: 0x6cb7cc20, 0x31d2d: 0x6cb7ce20, 0x31d2e: 0x6cb7d020, 0x31d2f: 0x6cb7d220, + 0x31d30: 0x6cd41020, 0x31d31: 0x6cbd9c20, 0x31d32: 0x6cb7d420, 0x31d33: 0x6ce8ea20, + 0x31d34: 0x6ce8ec20, 0x31d35: 0x6ce8ee20, 0x31d36: 0x6ce8f020, 0x31d37: 0x6ce8f220, + 0x31d38: 0x6ce8f420, 0x31d39: 0x6cf16620, 0x31d3a: 0x6ce8f620, 0x31d3b: 0x6ce8f820, + 0x31d3c: 0x6ce8fa20, 0x31d3d: 0x6cf00420, 0x31d3e: 0x6d18aa20, 0x31d3f: 0x6d18ac20, + // Block 0xc75, offset 0x31d40 + 0x31d40: 0x6ce8fc20, 0x31d41: 0x6d479e20, 0x31d42: 0x6d47a020, 0x31d43: 0x6d47a220, + 0x31d44: 0x6d47a420, 0x31d45: 0x6d47a620, 0x31d46: 0x6d47a820, 0x31d47: 0x6d47aa20, + 0x31d48: 0x6d47ac20, 0x31d49: 0x6d47ae20, 0x31d4a: 0x6d49c820, 0x31d4b: 0x6d75dc20, + 0x31d4c: 0x6d75de20, 0x31d4d: 0x6d75e020, 0x31d4e: 0x6d75e220, 0x31d4f: 0x6d75e420, + 0x31d50: 0x6d75e620, 0x31d51: 0x6d75e820, 0x31d52: 0x6d75ea20, 0x31d53: 0x6d790e20, + 0x31d54: 0x6d75ec20, 0x31d55: 0x6d791020, 0x31d56: 0x6d75ee20, 0x31d57: 0x6d75f020, + 0x31d58: 0x6d75f220, 0x31d59: 0x6da20a20, 0x31d5a: 0x6dc24820, 0x31d5b: 0x6dc70c20, + 0x31d5c: 0x6ddfee20, 0x31d5d: 0x6de00a20, 0x31d5e: 0x6e0c3c20, 0x31d5f: 0x6e318620, + 0x31d60: 0x6e428220, 0x31d61: 0x6e442020, 0x31d62: 0x6c008220, 0x31d63: 0x6c014020, + 0x31d64: 0x6c014220, 0x31d65: 0x6c014420, 0x31d66: 0x6c02be20, 0x31d67: 0x6c02c020, + 0x31d68: 0x6c02c220, 0x31d69: 0x6c05fc20, 0x31d6a: 0x6c05fe20, 0x31d6b: 0x6c060020, + 0x31d6c: 0x6c060220, 0x31d6d: 0x6c060420, 0x31d6e: 0x6c06ac20, 0x31d6f: 0x6c060620, + 0x31d70: 0x6c060820, 0x31d71: 0x6c06d820, 0x31d72: 0x6c08d020, 0x31d73: 0x6c060a20, + 0x31d74: 0x6c0bfa20, 0x31d75: 0x6c0bfc20, 0x31d76: 0x6c0bfe20, 0x31d77: 0x6c0c0020, + 0x31d78: 0x6c0c0220, 0x31d79: 0x6c0c0420, 0x31d7a: 0x6c0c0620, 0x31d7b: 0x6c0c0820, + 0x31d7c: 0x6c0c0a20, 0x31d7d: 0x6c0c0c20, 0x31d7e: 0x6c0c0e20, 0x31d7f: 0x6c0c1020, + // Block 0xc76, offset 0x31d80 + 0x31d80: 0x6c0c1220, 0x31d81: 0x6c0c1420, 0x31d82: 0x6c0c1620, 0x31d83: 0x6c0c1820, + 0x31d84: 0x6c0c1a20, 0x31d85: 0x6c0c1c20, 0x31d86: 0x6c0c1e20, 0x31d87: 0x6c0c2020, + 0x31d88: 0x6c0c2220, 0x31d89: 0x6c0c2420, 0x31d8a: 0x6c0c2620, 0x31d8b: 0x6c0c2820, + 0x31d8c: 0x6c0c2a20, 0x31d8d: 0x6c0c2c20, 0x31d8e: 0x6c0c2e20, 0x31d8f: 0x6c0c3020, + 0x31d90: 0x6c0c3220, 0x31d91: 0x6c0c3420, 0x31d92: 0x6c0c5e20, 0x31d93: 0x6c0c3620, + 0x31d94: 0x6c0c3820, 0x31d95: 0x6c0c3a20, 0x31d96: 0x6c16ca20, 0x31d97: 0x6c16cc20, + 0x31d98: 0x6c16ce20, 0x31d99: 0x6c16d020, 0x31d9a: 0x6c16d220, 0x31d9b: 0x6c16d420, + 0x31d9c: 0x6c16d620, 0x31d9d: 0x6c16d820, 0x31d9e: 0x6c16da20, 0x31d9f: 0x6c16dc20, + 0x31da0: 0x6c16de20, 0x31da1: 0x6c16e020, 0x31da2: 0x6c16e220, 0x31da3: 0x6c16e420, + 0x31da4: 0x6c16e620, 0x31da5: 0x6c16e820, 0x31da6: 0x6c16ea20, 0x31da7: 0x6c16ec20, + 0x31da8: 0x6c16ee20, 0x31da9: 0x6c16f020, 0x31daa: 0x6c16f220, 0x31dab: 0x6c16f420, + 0x31dac: 0x6c16f620, 0x31dad: 0x6c16f820, 0x31dae: 0x6c16fa20, 0x31daf: 0x6c16fc20, + 0x31db0: 0x6c16fe20, 0x31db1: 0x6c170020, 0x31db2: 0x6c170220, 0x31db3: 0x6c170420, + 0x31db4: 0x6c170620, 0x31db5: 0x6c170820, 0x31db6: 0x6c170a20, 0x31db7: 0x6c170c20, + 0x31db8: 0x6c170e20, 0x31db9: 0x6c171020, 0x31dba: 0x6c171220, 0x31dbb: 0x6c171420, + 0x31dbc: 0x6c171620, 0x31dbd: 0x6c171820, 0x31dbe: 0x6c171a20, 0x31dbf: 0x6c171c20, + // Block 0xc77, offset 0x31dc0 + 0x31dc0: 0x6c171e20, 0x31dc1: 0x6c172020, 0x31dc2: 0x6c19c820, 0x31dc3: 0x6c29ca20, + 0x31dc4: 0x6c29cc20, 0x31dc5: 0x6c29ce20, 0x31dc6: 0x6c29d020, 0x31dc7: 0x6c29d220, + 0x31dc8: 0x6c29d420, 0x31dc9: 0x6c29d620, 0x31dca: 0x6c29d820, 0x31dcb: 0x6c29da20, + 0x31dcc: 0x6c29dc20, 0x31dcd: 0x6c29de20, 0x31dce: 0x6c29e020, 0x31dcf: 0x6c29e220, + 0x31dd0: 0x6c29e420, 0x31dd1: 0x6c29e620, 0x31dd2: 0x6c29e820, 0x31dd3: 0x6c29ea20, + 0x31dd4: 0x6c29ec20, 0x31dd5: 0x6c29ee20, 0x31dd6: 0x6c29f020, 0x31dd7: 0x6c29f220, + 0x31dd8: 0x6c29f420, 0x31dd9: 0x6c29f620, 0x31dda: 0x6c29f820, 0x31ddb: 0x6c29fa20, + 0x31ddc: 0x6c29fc20, 0x31ddd: 0x6c29fe20, 0x31dde: 0x6c2a0020, 0x31ddf: 0x6c2a0220, + 0x31de0: 0x6c2a0420, 0x31de1: 0x6c2a0620, 0x31de2: 0x6c2a0820, 0x31de3: 0x6c2a0a20, + 0x31de4: 0x6c305c20, 0x31de5: 0x6c2a0c20, 0x31de6: 0x6c2a0e20, 0x31de7: 0x6c2a1020, + 0x31de8: 0x6c2a1220, 0x31de9: 0x6c2a1420, 0x31dea: 0x6c2a1620, 0x31deb: 0x6c2a1820, + 0x31dec: 0x6c2a1a20, 0x31ded: 0x6c43de20, 0x31dee: 0x6c43e020, 0x31def: 0x6c43e220, + 0x31df0: 0x6c43e420, 0x31df1: 0x6c43e620, 0x31df2: 0x6c43e820, 0x31df3: 0x6c43ea20, + 0x31df4: 0x6c43ec20, 0x31df5: 0x6c43ee20, 0x31df6: 0x6c43f020, 0x31df7: 0x6c43f220, + 0x31df8: 0x6c43f420, 0x31df9: 0x6c43f620, 0x31dfa: 0x6c43f820, 0x31dfb: 0x6c43fa20, + 0x31dfc: 0x6c43fc20, 0x31dfd: 0x6c43fe20, 0x31dfe: 0x6c440020, 0x31dff: 0x6c440220, + // Block 0xc78, offset 0x31e00 + 0x31e00: 0x6c440420, 0x31e01: 0x6c440620, 0x31e02: 0x6c440820, 0x31e03: 0x6c440a20, + 0x31e04: 0x6c440c20, 0x31e05: 0x6c440e20, 0x31e06: 0x6c441020, 0x31e07: 0x6c441220, + 0x31e08: 0x6c441420, 0x31e09: 0x6c441620, 0x31e0a: 0x6c441820, 0x31e0b: 0x6c441a20, + 0x31e0c: 0x6c441c20, 0x31e0d: 0x6c441e20, 0x31e0e: 0x6c442020, 0x31e0f: 0x6c442220, + 0x31e10: 0x6c442420, 0x31e11: 0x6c442620, 0x31e12: 0x6c442820, 0x31e13: 0x6c442a20, + 0x31e14: 0x6c442c20, 0x31e15: 0x6c442e20, 0x31e16: 0x6c443020, 0x31e17: 0x6c443220, + 0x31e18: 0x6c443420, 0x31e19: 0x6c443620, 0x31e1a: 0x6c443820, 0x31e1b: 0x6c443a20, + 0x31e1c: 0x6c443c20, 0x31e1d: 0x6c443e20, 0x31e1e: 0x6c444020, 0x31e1f: 0x6c444220, + 0x31e20: 0x6c444420, 0x31e21: 0x6c444620, 0x31e22: 0x6c444820, 0x31e23: 0x6c64d220, + 0x31e24: 0x6c64d420, 0x31e25: 0x6c64d620, 0x31e26: 0x6c64d820, 0x31e27: 0x6c64da20, + 0x31e28: 0x6c64dc20, 0x31e29: 0x6c64de20, 0x31e2a: 0x6c64e020, 0x31e2b: 0x6c64e220, + 0x31e2c: 0x6c64e420, 0x31e2d: 0x6c64e620, 0x31e2e: 0x6c64e820, 0x31e2f: 0x6c64ea20, + 0x31e30: 0x6c64ec20, 0x31e31: 0x6c64ee20, 0x31e32: 0x6c64f020, 0x31e33: 0x6c64f220, + 0x31e34: 0x6c64f420, 0x31e35: 0x6c64f620, 0x31e36: 0x6c64f820, 0x31e37: 0x6c64fa20, + 0x31e38: 0x6c64fc20, 0x31e39: 0x6c64fe20, 0x31e3a: 0x6c650020, 0x31e3b: 0x6c650220, + 0x31e3c: 0x6c650420, 0x31e3d: 0x6c650620, 0x31e3e: 0x6c650820, 0x31e3f: 0x6c650a20, + // Block 0xc79, offset 0x31e40 + 0x31e40: 0x6c650c20, 0x31e41: 0x6c650e20, 0x31e42: 0x6c651020, 0x31e43: 0x6c651220, + 0x31e44: 0x6c651420, 0x31e45: 0x6c651620, 0x31e46: 0x6c651820, 0x31e47: 0x6c651a20, + 0x31e48: 0x6c651c20, 0x31e49: 0x6c651e20, 0x31e4a: 0x6c652020, 0x31e4b: 0x6c652220, + 0x31e4c: 0x6c652420, 0x31e4d: 0x6c652620, 0x31e4e: 0x6c652820, 0x31e4f: 0x6c652a20, + 0x31e50: 0x6c652c20, 0x31e51: 0x6c652e20, 0x31e52: 0x6c653020, 0x31e53: 0x6c653220, + 0x31e54: 0x6c653420, 0x31e55: 0x6c653620, 0x31e56: 0x6c653820, 0x31e57: 0x6c653a20, + 0x31e58: 0x6c653c20, 0x31e59: 0x6c653e20, 0x31e5a: 0x6c654020, 0x31e5b: 0x6c654220, + 0x31e5c: 0x6c654420, 0x31e5d: 0x6c654620, 0x31e5e: 0x6c654820, 0x31e5f: 0x6c654a20, + 0x31e60: 0x6c654c20, 0x31e61: 0x6c654e20, 0x31e62: 0x6c655020, 0x31e63: 0x6c655220, + 0x31e64: 0x6c655420, 0x31e65: 0x6c655620, 0x31e66: 0x6c655820, 0x31e67: 0x6c8bc620, + 0x31e68: 0x6c8bc820, 0x31e69: 0x6c8bca20, 0x31e6a: 0x6c8bcc20, 0x31e6b: 0x6c8bce20, + 0x31e6c: 0x6c8bd020, 0x31e6d: 0x6c8bd220, 0x31e6e: 0x6c8bd420, 0x31e6f: 0x6c8bd620, + 0x31e70: 0x6c8bd820, 0x31e71: 0x6c8bda20, 0x31e72: 0x6c8bdc20, 0x31e73: 0x6c8bde20, + 0x31e74: 0x6c8be020, 0x31e75: 0x6c8be220, 0x31e76: 0x6c8be420, 0x31e77: 0x6c8be620, + 0x31e78: 0x6c8be820, 0x31e79: 0x6c8bea20, 0x31e7a: 0x6c8bec20, 0x31e7b: 0x6c8bee20, + 0x31e7c: 0x6c8bf020, 0x31e7d: 0x6c8bf220, 0x31e7e: 0x6c8bf420, 0x31e7f: 0x6c8bf620, + // Block 0xc7a, offset 0x31e80 + 0x31e80: 0x6c8bf820, 0x31e81: 0x6c8bfa20, 0x31e82: 0x6c8bfc20, 0x31e83: 0x6c8bfe20, + 0x31e84: 0x6c8c0020, 0x31e85: 0x6c8c0220, 0x31e86: 0x6c8c0420, 0x31e87: 0x6c8c0620, + 0x31e88: 0x6c8c0820, 0x31e89: 0x6c8c0a20, 0x31e8a: 0x6c8c0c20, 0x31e8b: 0x6c8c0e20, + 0x31e8c: 0x6c8c1020, 0x31e8d: 0x6c8c1220, 0x31e8e: 0x6c8c1420, 0x31e8f: 0x6c8c1620, + 0x31e90: 0x6c8c1820, 0x31e91: 0x6c428e20, 0x31e92: 0x6c8c1a20, 0x31e93: 0x6c8c1c20, + 0x31e94: 0x6c8c1e20, 0x31e95: 0x6c8c2020, 0x31e96: 0x6c8c2220, 0x31e97: 0x6c8c2420, + 0x31e98: 0x6c8c2620, 0x31e99: 0x6c8c2820, 0x31e9a: 0x6c8c2a20, 0x31e9b: 0x6c8c2c20, + 0x31e9c: 0x6c8c2e20, 0x31e9d: 0x6c8c3020, 0x31e9e: 0x6c8c3220, 0x31e9f: 0x6c655a20, + 0x31ea0: 0x6c8c3420, 0x31ea1: 0x6c8c3620, 0x31ea2: 0x6c8c3820, 0x31ea3: 0x6c8c3a20, + 0x31ea4: 0x6c8c3c20, 0x31ea5: 0x6c8c3e20, 0x31ea6: 0x6c8c4020, 0x31ea7: 0x6c8c4220, + 0x31ea8: 0x6c8c4420, 0x31ea9: 0x6c8c4620, 0x31eaa: 0x6c8c4820, 0x31eab: 0x6c8c4a20, + 0x31eac: 0x6c8c4c20, 0x31ead: 0x6cb83e20, 0x31eae: 0x6cb84020, 0x31eaf: 0x6cb84220, + 0x31eb0: 0x6cb84420, 0x31eb1: 0x6cb84620, 0x31eb2: 0x6cb84820, 0x31eb3: 0x6cb84a20, + 0x31eb4: 0x6cb84c20, 0x31eb5: 0x6cb84e20, 0x31eb6: 0x6cb85020, 0x31eb7: 0x6cb85220, + 0x31eb8: 0x6cb85420, 0x31eb9: 0x6cb85620, 0x31eba: 0x6cb85820, 0x31ebb: 0x6cb85a20, + 0x31ebc: 0x6cb85c20, 0x31ebd: 0x6cb85e20, 0x31ebe: 0x6cb86020, 0x31ebf: 0x6cb86220, + // Block 0xc7b, offset 0x31ec0 + 0x31ec0: 0x6cb86420, 0x31ec1: 0x6cb86620, 0x31ec2: 0x6cb86820, 0x31ec3: 0x6cb86a20, + 0x31ec4: 0x6cb86c20, 0x31ec5: 0x6cb86e20, 0x31ec6: 0x6cb8d620, 0x31ec7: 0x6cb87020, + 0x31ec8: 0x6cb87220, 0x31ec9: 0x6cb87420, 0x31eca: 0x6cb87620, 0x31ecb: 0x6cb87820, + 0x31ecc: 0x6cb87a20, 0x31ecd: 0x6cb87c20, 0x31ece: 0x6cb87e20, 0x31ecf: 0x6cb88020, + 0x31ed0: 0x6cb88220, 0x31ed1: 0x6cb88420, 0x31ed2: 0x6cb88620, 0x31ed3: 0x6cb88820, + 0x31ed4: 0x6cb88a20, 0x31ed5: 0x6cb88c20, 0x31ed6: 0x6cb88e20, 0x31ed7: 0x6cb89020, + 0x31ed8: 0x6cb89220, 0x31ed9: 0x6cb89420, 0x31eda: 0x6cb89620, 0x31edb: 0x6cb89820, + 0x31edc: 0x6cb89a20, 0x31edd: 0x6cb89c20, 0x31ede: 0x6cbd9420, 0x31edf: 0x6cd2ce20, + 0x31ee0: 0x6cb89e20, 0x31ee1: 0x6cb8a020, 0x31ee2: 0x6cb8a220, 0x31ee3: 0x6cb8a420, + 0x31ee4: 0x6cb8a620, 0x31ee5: 0x6cb8a820, 0x31ee6: 0x6cb8aa20, 0x31ee7: 0x6cb8ac20, + 0x31ee8: 0x6cb8ae20, 0x31ee9: 0x6cb8b020, 0x31eea: 0x6ca52820, 0x31eeb: 0x6ce95420, + 0x31eec: 0x6ce95620, 0x31eed: 0x6ce95820, 0x31eee: 0x6ce95a20, 0x31eef: 0x6ce95c20, + 0x31ef0: 0x6ce95e20, 0x31ef1: 0x6ce96020, 0x31ef2: 0x6ce96220, 0x31ef3: 0x6ce96420, + 0x31ef4: 0x6ce96620, 0x31ef5: 0x6ce96820, 0x31ef6: 0x6ce96a20, 0x31ef7: 0x6ce96c20, + 0x31ef8: 0x6ce96e20, 0x31ef9: 0x6ce97020, 0x31efa: 0x6ce97220, 0x31efb: 0x6ce97420, + 0x31efc: 0x6ce97620, 0x31efd: 0x6ce97820, 0x31efe: 0x6ce97a20, 0x31eff: 0x6ce97c20, + // Block 0xc7c, offset 0x31f00 + 0x31f00: 0x6ce97e20, 0x31f01: 0x6ce98020, 0x31f02: 0x6ce98220, 0x31f03: 0x6ce98420, + 0x31f04: 0x6ce98620, 0x31f05: 0x6ce98820, 0x31f06: 0x6ce98a20, 0x31f07: 0x6ce98c20, + 0x31f08: 0x6ce98e20, 0x31f09: 0x6ce99020, 0x31f0a: 0x6ce99220, 0x31f0b: 0x6ce99420, + 0x31f0c: 0x6ce99620, 0x31f0d: 0x6ce99820, 0x31f0e: 0x6ce99a20, 0x31f0f: 0x6ce99c20, + 0x31f10: 0x6ce99e20, 0x31f11: 0x6ce9a020, 0x31f12: 0x6ce9a220, 0x31f13: 0x6ce9a420, + 0x31f14: 0x6ce9a620, 0x31f15: 0x6ce9a820, 0x31f16: 0x6ce9aa20, 0x31f17: 0x6ce9ac20, + 0x31f18: 0x6ce9ae20, 0x31f19: 0x6ce9b020, 0x31f1a: 0x6ce9b220, 0x31f1b: 0x6ce9b420, + 0x31f1c: 0x6ce9b620, 0x31f1d: 0x6ce9b820, 0x31f1e: 0x6ce9ba20, 0x31f1f: 0x6ce9bc20, + 0x31f20: 0x6ce9be20, 0x31f21: 0x6ce9c020, 0x31f22: 0x6d01fc20, 0x31f23: 0x6ce9c220, + 0x31f24: 0x6ce9c420, 0x31f25: 0x6d191a20, 0x31f26: 0x6ce9c620, 0x31f27: 0x6ce9c820, + 0x31f28: 0x6ce9ca20, 0x31f29: 0x6ce9cc20, 0x31f2a: 0x6ce9ce20, 0x31f2b: 0x6ce9d020, + 0x31f2c: 0x6ce9d220, 0x31f2d: 0x6d191c20, 0x31f2e: 0x6d191e20, 0x31f2f: 0x6d192020, + 0x31f30: 0x6d192220, 0x31f31: 0x6d192420, 0x31f32: 0x6d192620, 0x31f33: 0x6d192820, + 0x31f34: 0x6d192a20, 0x31f35: 0x6d192c20, 0x31f36: 0x6d192e20, 0x31f37: 0x6d193020, + 0x31f38: 0x6d193220, 0x31f39: 0x6d193420, 0x31f3a: 0x6d193620, 0x31f3b: 0x6d193820, + 0x31f3c: 0x6d193a20, 0x31f3d: 0x6d193c20, 0x31f3e: 0x6d193e20, 0x31f3f: 0x6d194020, + // Block 0xc7d, offset 0x31f40 + 0x31f40: 0x6d194220, 0x31f41: 0x6d194420, 0x31f42: 0x6d194620, 0x31f43: 0x6d194820, + 0x31f44: 0x6d194a20, 0x31f45: 0x6d194c20, 0x31f46: 0x6d194e20, 0x31f47: 0x6d195020, + 0x31f48: 0x6d195220, 0x31f49: 0x6d195420, 0x31f4a: 0x6d195620, 0x31f4b: 0x6d195820, + 0x31f4c: 0x6d195a20, 0x31f4d: 0x6d195c20, 0x31f4e: 0x6d195e20, 0x31f4f: 0x6d196020, + 0x31f50: 0x6d196220, 0x31f51: 0x6d196420, 0x31f52: 0x6d196620, 0x31f53: 0x6d196820, + 0x31f54: 0x6d196a20, 0x31f55: 0x6d196c20, 0x31f56: 0x6d196e20, 0x31f57: 0x6d197020, + 0x31f58: 0x6d311420, 0x31f59: 0x6d197220, 0x31f5a: 0x6d197420, 0x31f5b: 0x6d2bee20, + 0x31f5c: 0x6e0bec20, 0x31f5d: 0x6d197620, 0x31f5e: 0x6d197820, 0x31f5f: 0x6d197a20, + 0x31f60: 0x6d197c20, 0x31f61: 0x6d197e20, 0x31f62: 0x6d198020, 0x31f63: 0x6d198220, + 0x31f64: 0x6d198420, 0x31f65: 0x6d198620, 0x31f66: 0x6d198820, 0x31f67: 0x6d198a20, + 0x31f68: 0x6d198c20, 0x31f69: 0x6d198e20, 0x31f6a: 0x6d199020, 0x31f6b: 0x6d199220, + 0x31f6c: 0x6d199420, 0x31f6d: 0x6d199620, 0x31f6e: 0x6d199820, 0x31f6f: 0x6d199a20, + 0x31f70: 0x6d199c20, 0x31f71: 0x6d199e20, 0x31f72: 0x6d19a020, 0x31f73: 0x6d19a220, + 0x31f74: 0x6d19a420, 0x31f75: 0x6ce9d420, 0x31f76: 0x6d234020, 0x31f77: 0x6d47f620, + 0x31f78: 0x6d47f820, 0x31f79: 0x6d47fa20, 0x31f7a: 0x6d47fc20, 0x31f7b: 0x6d47fe20, + 0x31f7c: 0x6d480020, 0x31f7d: 0x6d480220, 0x31f7e: 0x6d480420, 0x31f7f: 0x6d480620, + // Block 0xc7e, offset 0x31f80 + 0x31f80: 0x6d480820, 0x31f81: 0x6d480a20, 0x31f82: 0x6d480c20, 0x31f83: 0x6d480e20, + 0x31f84: 0x6d481020, 0x31f85: 0x6d481220, 0x31f86: 0x6d481420, 0x31f87: 0x6d481620, + 0x31f88: 0x6d481820, 0x31f89: 0x6d481a20, 0x31f8a: 0x6d481c20, 0x31f8b: 0x6d481e20, + 0x31f8c: 0x6d482020, 0x31f8d: 0x6d482220, 0x31f8e: 0x6d482420, 0x31f8f: 0x6d482620, + 0x31f90: 0x6d19a620, 0x31f91: 0x6d482820, 0x31f92: 0x6d761c20, 0x31f93: 0x6d49ca20, + 0x31f94: 0x6d482a20, 0x31f95: 0x6d482c20, 0x31f96: 0x6d482e20, 0x31f97: 0x6d483020, + 0x31f98: 0x6d483220, 0x31f99: 0x6d483420, 0x31f9a: 0x6d483620, 0x31f9b: 0x6d483820, + 0x31f9c: 0x6d483a20, 0x31f9d: 0x6d483c20, 0x31f9e: 0x6d483e20, 0x31f9f: 0x6d484020, + 0x31fa0: 0x6d484220, 0x31fa1: 0x6d484420, 0x31fa2: 0x6d484620, 0x31fa3: 0x6d484820, + 0x31fa4: 0x6d484a20, 0x31fa5: 0x6d484c20, 0x31fa6: 0x6d484e20, 0x31fa7: 0x6d49cc20, + 0x31fa8: 0x6d761e20, 0x31fa9: 0x6d762020, 0x31faa: 0x6d762220, 0x31fab: 0x6d762420, + 0x31fac: 0x6d762620, 0x31fad: 0x6d762820, 0x31fae: 0x6d762a20, 0x31faf: 0x6d762c20, + 0x31fb0: 0x6d762e20, 0x31fb1: 0x6d763020, 0x31fb2: 0x6d763220, 0x31fb3: 0x6d763420, + 0x31fb4: 0x6d763620, 0x31fb5: 0x6d763820, 0x31fb6: 0x6d763a20, 0x31fb7: 0x6d763c20, + 0x31fb8: 0x6d763e20, 0x31fb9: 0x6d764020, 0x31fba: 0x6d764220, 0x31fbb: 0x6d764420, + 0x31fbc: 0x6d764620, 0x31fbd: 0x6d764820, 0x31fbe: 0x6d764a20, 0x31fbf: 0x6d764c20, + // Block 0xc7f, offset 0x31fc0 + 0x31fc0: 0x6d764e20, 0x31fc1: 0x6d765020, 0x31fc2: 0x6d765220, 0x31fc3: 0x6d765420, + 0x31fc4: 0x6d765620, 0x31fc5: 0x6d765820, 0x31fc6: 0x6d765a20, 0x31fc7: 0x6d765c20, + 0x31fc8: 0x6d9fc820, 0x31fc9: 0x6d9fca20, 0x31fca: 0x6d9fcc20, 0x31fcb: 0x6d9fce20, + 0x31fcc: 0x6d9fd020, 0x31fcd: 0x6d9fd220, 0x31fce: 0x6d9fd420, 0x31fcf: 0x6d9fd620, + 0x31fd0: 0x6d9fd820, 0x31fd1: 0x6d9fda20, 0x31fd2: 0x6d9fdc20, 0x31fd3: 0x6d9fde20, + 0x31fd4: 0x6d9fe020, 0x31fd5: 0x6d9fe220, 0x31fd6: 0x6d9fe420, 0x31fd7: 0x6d9fe620, + 0x31fd8: 0x6d9fe820, 0x31fd9: 0x6d9fea20, 0x31fda: 0x6d9fec20, 0x31fdb: 0x6d9fee20, + 0x31fdc: 0x6db61c20, 0x31fdd: 0x6d9ff020, 0x31fde: 0x6d9ff220, 0x31fdf: 0x6d9ff420, + 0x31fe0: 0x6d9ff620, 0x31fe1: 0x6d9ff820, 0x31fe2: 0x6d9ffa20, 0x31fe3: 0x6dc25620, + 0x31fe4: 0x6dc25820, 0x31fe5: 0x6dc25a20, 0x31fe6: 0x6dc25c20, 0x31fe7: 0x6dc25e20, + 0x31fe8: 0x6dc26020, 0x31fe9: 0x6dc26220, 0x31fea: 0x6dc26420, 0x31feb: 0x6dc26620, + 0x31fec: 0x6dc26820, 0x31fed: 0x6dc26a20, 0x31fee: 0x6dc26c20, 0x31fef: 0x6dc26e20, + 0x31ff0: 0x6dc27020, 0x31ff1: 0x6dc27220, 0x31ff2: 0x6dc27420, 0x31ff3: 0x6dc27620, + 0x31ff4: 0x6dc27820, 0x31ff5: 0x6dc27a20, 0x31ff6: 0x6dc27c20, 0x31ff7: 0x6dc27e20, + 0x31ff8: 0x6dc28020, 0x31ff9: 0x6dc28220, 0x31ffa: 0x6dc28420, 0x31ffb: 0x6de01a20, + 0x31ffc: 0x6de01c20, 0x31ffd: 0x6de01e20, 0x31ffe: 0x6de02020, 0x31fff: 0x6de02220, + // Block 0xc80, offset 0x32000 + 0x32000: 0x6de02420, 0x32001: 0x6de02620, 0x32002: 0x6de5da20, 0x32003: 0x6de02820, + 0x32004: 0x6de02a20, 0x32005: 0x6de02c20, 0x32006: 0x6de02e20, 0x32007: 0x6de03020, + 0x32008: 0x6de03220, 0x32009: 0x6de03420, 0x3200a: 0x6de03620, 0x3200b: 0x6de03820, + 0x3200c: 0x6de03a20, 0x3200d: 0x6df87620, 0x3200e: 0x6df87820, 0x3200f: 0x6df87a20, + 0x32010: 0x6df87c20, 0x32011: 0x6df87e20, 0x32012: 0x6df88020, 0x32013: 0x6df88220, + 0x32014: 0x6df88420, 0x32015: 0x6df88620, 0x32016: 0x6df88820, 0x32017: 0x6e0c4a20, + 0x32018: 0x6e0c4c20, 0x32019: 0x6e0c4e20, 0x3201a: 0x6e0c5020, 0x3201b: 0x6e0c5220, + 0x3201c: 0x6e0c5420, 0x3201d: 0x6e0c5620, 0x3201e: 0x6df88a20, 0x3201f: 0x6e0c5820, + 0x32020: 0x6e0c5a20, 0x32021: 0x6e0c5c20, 0x32022: 0x6e0c5e20, 0x32023: 0x6e0c6020, + 0x32024: 0x6e1c0c20, 0x32025: 0x6e1c0e20, 0x32026: 0x6e1c1020, 0x32027: 0x6e1c1220, + 0x32028: 0x6e1c1420, 0x32029: 0x6e1c1620, 0x3202a: 0x6e284e20, 0x3202b: 0x6e285020, + 0x3202c: 0x6e285220, 0x3202d: 0x6e285420, 0x3202e: 0x6e285620, 0x3202f: 0x6e285820, + 0x32030: 0x6e318a20, 0x32031: 0x6e38ae20, 0x32032: 0x6e3ce420, 0x32033: 0x6e3ce620, + 0x32034: 0x6e446c20, 0x32035: 0x6e442220, 0x32036: 0x6c02cc20, 0x32037: 0x6c061020, + 0x32038: 0x6c061220, 0x32039: 0x6c0c5020, 0x3203a: 0x6c0c5220, 0x3203b: 0x6c0c5420, + 0x3203c: 0x6c0c5620, 0x3203d: 0x6c174220, 0x3203e: 0x6c174420, 0x3203f: 0x6c174620, + // Block 0xc81, offset 0x32040 + 0x32040: 0x6c174820, 0x32041: 0x6c174a20, 0x32042: 0x6c174c20, 0x32043: 0x6c2a3820, + 0x32044: 0x6c2a3a20, 0x32045: 0x6c2a3c20, 0x32046: 0x6c2a3e20, 0x32047: 0x6c2a4020, + 0x32048: 0x6c2a4220, 0x32049: 0x6c2a4420, 0x3204a: 0x6c2a4620, 0x3204b: 0x6c2a4820, + 0x3204c: 0x6c446020, 0x3204d: 0x6c446220, 0x3204e: 0x6c446420, 0x3204f: 0x6c446620, + 0x32050: 0x6c657620, 0x32051: 0x6c657820, 0x32052: 0x6c657a20, 0x32053: 0x6c657c20, + 0x32054: 0x6c657e20, 0x32055: 0x6c658020, 0x32056: 0x6c658220, 0x32057: 0x6c8c6e20, + 0x32058: 0x6c8c7020, 0x32059: 0x6c8c7220, 0x3205a: 0x6c8c7420, 0x3205b: 0x6c8c7620, + 0x3205c: 0x6c8c7820, 0x3205d: 0x6c8c7a20, 0x3205e: 0x6cb8ca20, 0x3205f: 0x6cb8cc20, + 0x32060: 0x6cb8ce20, 0x32061: 0x6cb8d020, 0x32062: 0x6cb8d220, 0x32063: 0x6cb8d420, + 0x32064: 0x6ce9e420, 0x32065: 0x6ce9e620, 0x32066: 0x6ce9e820, 0x32067: 0x6d19b820, + 0x32068: 0x6d19ba20, 0x32069: 0x6d19bc20, 0x3206a: 0x6d19be20, 0x3206b: 0x6d19c020, + 0x3206c: 0x6d19c220, 0x3206d: 0x6d19c420, 0x3206e: 0x6d19c620, 0x3206f: 0x6d19c820, + 0x32070: 0x6d485c20, 0x32071: 0x6d485e20, 0x32072: 0x6d486020, 0x32073: 0x6d766820, + 0x32074: 0x6d486220, 0x32075: 0x6d486420, 0x32076: 0x6d486620, 0x32077: 0x6d486820, + 0x32078: 0x6d766a20, 0x32079: 0x6d766c20, 0x3207a: 0x6d766e20, 0x3207b: 0x6d767020, + 0x3207c: 0x6d767220, 0x3207d: 0x6d767420, 0x3207e: 0x6d767620, 0x3207f: 0x6da00420, + // Block 0xc82, offset 0x32080 + 0x32080: 0x6da00620, 0x32081: 0x6da00820, 0x32082: 0x6da00a20, 0x32083: 0x6da00c20, + 0x32084: 0x6da00e20, 0x32085: 0x6da01020, 0x32086: 0x6dc28e20, 0x32087: 0x6da01220, + 0x32088: 0x6dc29020, 0x32089: 0x6dc29220, 0x3208a: 0x6dc29420, 0x3208b: 0x6de04220, + 0x3208c: 0x6de23820, 0x3208d: 0x6df88e20, 0x3208e: 0x6de04420, 0x3208f: 0x6df89020, + 0x32090: 0x6df89220, 0x32091: 0x6e0c6620, 0x32092: 0x6e0c6820, 0x32093: 0x6e1c1820, + 0x32094: 0x6e1c1a20, 0x32095: 0x6e285a20, 0x32096: 0x6e285c20, 0x32097: 0x6e318c20, + 0x32098: 0x6e318e20, 0x32099: 0x6e319020, 0x3209a: 0x6e3ce820, 0x3209b: 0x6c014a20, + 0x3209c: 0x6c02d020, 0x3209d: 0x6c02d220, 0x3209e: 0x6c02d420, 0x3209f: 0x6c061a20, + 0x320a0: 0x6c0c6020, 0x320a1: 0x6c0c6220, 0x320a2: 0x6c0c6420, 0x320a3: 0x6c0c6620, + 0x320a4: 0x6c175220, 0x320a5: 0x6c175420, 0x320a6: 0x6c175620, 0x320a7: 0x6c175820, + 0x320a8: 0x6c175a20, 0x320a9: 0x6c2a4e20, 0x320aa: 0x6c446e20, 0x320ab: 0x6c447020, + 0x320ac: 0x6c447220, 0x320ad: 0x6c658620, 0x320ae: 0x6c658820, 0x320af: 0x6c658a20, + 0x320b0: 0x6c658c20, 0x320b1: 0x6c8c7c20, 0x320b2: 0x6cb8d820, 0x320b3: 0x6cb8da20, + 0x320b4: 0x6ce9ec20, 0x320b5: 0x6ce9ee20, 0x320b6: 0x6ce9f020, 0x320b7: 0x6ce9f220, + 0x320b8: 0x6d19ca20, 0x320b9: 0x6d19cc20, 0x320ba: 0x6d19ce20, 0x320bb: 0x6d19d020, + 0x320bc: 0x6d767820, 0x320bd: 0x6da01420, 0x320be: 0x6dc29620, 0x320bf: 0x6df89420, + // Block 0xc83, offset 0x320c0 + 0x320c0: 0x6c014c20, 0x320c1: 0x6c02de20, 0x320c2: 0x6c02e020, 0x320c3: 0x6c02e220, + 0x320c4: 0x6c02e420, 0x320c5: 0x6c061e20, 0x320c6: 0x6c062020, 0x320c7: 0x6c020820, + 0x320c8: 0x6c0c7220, 0x320c9: 0x6c0c7420, 0x320ca: 0x6c176420, 0x320cb: 0x6c176620, + 0x320cc: 0x6c176820, 0x320cd: 0x6c176a20, 0x320ce: 0x6c176c20, 0x320cf: 0x6c176e20, + 0x320d0: 0x6c2a5620, 0x320d1: 0x6c2a5820, 0x320d2: 0x6c447a20, 0x320d3: 0x6c447c20, + 0x320d4: 0x6c447e20, 0x320d5: 0x6c448020, 0x320d6: 0x6c448220, 0x320d7: 0x6c448420, + 0x320d8: 0x6c4d0420, 0x320d9: 0x6c659420, 0x320da: 0x6c659620, 0x320db: 0x6c659820, + 0x320dc: 0x6c8c8020, 0x320dd: 0x6c8c8220, 0x320de: 0x6cb8dc20, 0x320df: 0x6cb8de20, + 0x320e0: 0x6cb8e020, 0x320e1: 0x6cb8e220, 0x320e2: 0x6cb8e420, 0x320e3: 0x6cb8e620, + 0x320e4: 0x6cb8e820, 0x320e5: 0x6cb8ea20, 0x320e6: 0x6cb8ec20, 0x320e7: 0x6cb8ee20, + 0x320e8: 0x6ce9f820, 0x320e9: 0x6ce9fa20, 0x320ea: 0x6ce9fc20, 0x320eb: 0x6ce9fe20, + 0x320ec: 0x6cea0020, 0x320ed: 0x6cea0220, 0x320ee: 0x6cea0420, 0x320ef: 0x6d19d220, + 0x320f0: 0x6d19d420, 0x320f1: 0x6d19d620, 0x320f2: 0x6d1b1620, 0x320f3: 0x6d767c20, + 0x320f4: 0x6d767e20, 0x320f5: 0x6d768020, 0x320f6: 0x6dc29a20, 0x320f7: 0x6dc29c20, + 0x320f8: 0x6de04820, 0x320f9: 0x6de04a20, 0x320fa: 0x6de04c20, 0x320fb: 0x6e474020, + 0x320fc: 0x6c014e20, 0x320fd: 0x6c02f220, 0x320fe: 0x6c02f420, 0x320ff: 0x6c02f620, + // Block 0xc84, offset 0x32100 + 0x32100: 0x6c02f820, 0x32101: 0x6c062a20, 0x32102: 0x6c062c20, 0x32103: 0x6c062e20, + 0x32104: 0x6c063020, 0x32105: 0x6c063220, 0x32106: 0x6c063420, 0x32107: 0x6c063620, + 0x32108: 0x6c063820, 0x32109: 0x6c063a20, 0x3210a: 0x6c063c20, 0x3210b: 0x6c0c7c20, + 0x3210c: 0x6c0c7e20, 0x3210d: 0x6c0c8020, 0x3210e: 0x6c0c8220, 0x3210f: 0x6c0c8420, + 0x32110: 0x6c177220, 0x32111: 0x6c177420, 0x32112: 0x6c177620, 0x32113: 0x6c177820, + 0x32114: 0x6c177a20, 0x32115: 0x6c177c20, 0x32116: 0x6c2a6020, 0x32117: 0x6c2a6220, + 0x32118: 0x6c2a6420, 0x32119: 0x6c2a6620, 0x3211a: 0x6c2a6820, 0x3211b: 0x6c448a20, + 0x3211c: 0x6c448c20, 0x3211d: 0x6c659e20, 0x3211e: 0x6c65a020, 0x3211f: 0x6c65a220, + 0x32120: 0x6c8c8a20, 0x32121: 0x6c8c8c20, 0x32122: 0x6c8c8e20, 0x32123: 0x6cb8f620, + 0x32124: 0x6cb8f820, 0x32125: 0x6cb8fa20, 0x32126: 0x6cea0a20, 0x32127: 0x6cea0c20, + 0x32128: 0x6d19dc20, 0x32129: 0x6d19de20, 0x3212a: 0x6d487220, 0x3212b: 0x6d227a20, + 0x3212c: 0x6d487420, 0x3212d: 0x6d768420, 0x3212e: 0x6d768620, 0x3212f: 0x6dc29e20, + 0x32130: 0x6dc2a020, 0x32131: 0x6df89820, 0x32132: 0x6e1c1e20, 0x32133: 0x6c030220, + 0x32134: 0x6c030420, 0x32135: 0x6c064220, 0x32136: 0x6c064420, 0x32137: 0x6c064620, + 0x32138: 0x6c064820, 0x32139: 0x6c0c8a20, 0x3213a: 0x6c0c8c20, 0x3213b: 0x6c0c8e20, + 0x3213c: 0x6c0c9020, 0x3213d: 0x6c0c9220, 0x3213e: 0x6c0c9420, 0x3213f: 0x6c0c9620, + // Block 0xc85, offset 0x32140 + 0x32140: 0x6c178220, 0x32141: 0x6c178420, 0x32142: 0x6c178620, 0x32143: 0x6c178820, + 0x32144: 0x6c2a6c20, 0x32145: 0x6c2a6e20, 0x32146: 0x6c2a7020, 0x32147: 0x6c449620, + 0x32148: 0x6c449820, 0x32149: 0x6c449a20, 0x3214a: 0x6c449c20, 0x3214b: 0x6c449e20, + 0x3214c: 0x6c65b220, 0x3214d: 0x6c65b420, 0x3214e: 0x6c65b620, 0x3214f: 0x6c65b820, + 0x32150: 0x6c65ba20, 0x32151: 0x6c65bc20, 0x32152: 0x6c65be20, 0x32153: 0x6c8c9220, + 0x32154: 0x6cb8fe20, 0x32155: 0x6cb90020, 0x32156: 0x6cb90220, 0x32157: 0x6cb90420, + 0x32158: 0x6cb90620, 0x32159: 0x6cb90820, 0x3215a: 0x6cea0e20, 0x3215b: 0x6cea1020, + 0x3215c: 0x6d19e220, 0x3215d: 0x6d19e420, 0x3215e: 0x6d19e620, 0x3215f: 0x6d30e420, + 0x32160: 0x6d768a20, 0x32161: 0x6d768c20, 0x32162: 0x6da01820, 0x32163: 0x6dc2a220, + 0x32164: 0x6dc2a420, 0x32165: 0x6dc2a620, 0x32166: 0x6df89a20, 0x32167: 0x6df89c20, + 0x32168: 0x6df89e20, 0x32169: 0x6e0c6a20, 0x3216a: 0x6e1c2020, 0x3216b: 0x6e285e20, + 0x3216c: 0x6c015020, 0x3216d: 0x6c030820, 0x3216e: 0x6c065220, 0x3216f: 0x6c065420, + 0x32170: 0x6c065620, 0x32171: 0x6c0ca620, 0x32172: 0x6c0ca820, 0x32173: 0x6c0caa20, + 0x32174: 0x6c0cac20, 0x32175: 0x6c0cae20, 0x32176: 0x6c0cb020, 0x32177: 0x6c179e20, + 0x32178: 0x6c17a020, 0x32179: 0x6c17a220, 0x3217a: 0x6c17a420, 0x3217b: 0x6c17a620, + 0x3217c: 0x6c17a820, 0x3217d: 0x6c17aa20, 0x3217e: 0x6c17ac20, 0x3217f: 0x6c17ae20, + // Block 0xc86, offset 0x32180 + 0x32180: 0x6c2a8820, 0x32181: 0x6c17b020, 0x32182: 0x6c2a8a20, 0x32183: 0x6c2a8c20, + 0x32184: 0x6c2a8e20, 0x32185: 0x6c2a9020, 0x32186: 0x6c2a9220, 0x32187: 0x6c2a9420, + 0x32188: 0x6c44aa20, 0x32189: 0x6c44ac20, 0x3218a: 0x6c44ae20, 0x3218b: 0x6c44b020, + 0x3218c: 0x6c44b220, 0x3218d: 0x6c44b420, 0x3218e: 0x6c44b620, 0x3218f: 0x6c44b820, + 0x32190: 0x6c44ba20, 0x32191: 0x6c44bc20, 0x32192: 0x6c44be20, 0x32193: 0x6c44c020, + 0x32194: 0x6c44c220, 0x32195: 0x6c44c420, 0x32196: 0x6c44c620, 0x32197: 0x6c44c820, + 0x32198: 0x6c65de20, 0x32199: 0x6c65e020, 0x3219a: 0x6c65e220, 0x3219b: 0x6c65e420, + 0x3219c: 0x6c65e620, 0x3219d: 0x6c65e820, 0x3219e: 0x6c65ea20, 0x3219f: 0x6c65ec20, + 0x321a0: 0x6c65ee20, 0x321a1: 0x6c65f020, 0x321a2: 0x6c65f220, 0x321a3: 0x6c65f420, + 0x321a4: 0x6c65f620, 0x321a5: 0x6c8c9e20, 0x321a6: 0x6c8ca020, 0x321a7: 0x6c8ca220, + 0x321a8: 0x6c8ca420, 0x321a9: 0x6c8ca620, 0x321aa: 0x6c8ca820, 0x321ab: 0x6c8caa20, + 0x321ac: 0x6c8cac20, 0x321ad: 0x6c8cae20, 0x321ae: 0x6c8cb020, 0x321af: 0x6c8cb220, + 0x321b0: 0x6c8cb420, 0x321b1: 0x6cb91a20, 0x321b2: 0x6cb91c20, 0x321b3: 0x6cb91e20, + 0x321b4: 0x6cb92020, 0x321b5: 0x6cb92220, 0x321b6: 0x6cb92420, 0x321b7: 0x6cb92620, + 0x321b8: 0x6cb92820, 0x321b9: 0x6cb92a20, 0x321ba: 0x6cea1620, 0x321bb: 0x6cea1820, + 0x321bc: 0x6cea1a20, 0x321bd: 0x6cea1c20, 0x321be: 0x6cea1e20, 0x321bf: 0x6cea2020, + // Block 0xc87, offset 0x321c0 + 0x321c0: 0x6cea2220, 0x321c1: 0x6cea2420, 0x321c2: 0x6cea2620, 0x321c3: 0x6cea2820, + 0x321c4: 0x6d19ee20, 0x321c5: 0x6d19f020, 0x321c6: 0x6d19f220, 0x321c7: 0x6d19f420, + 0x321c8: 0x6d19f620, 0x321c9: 0x6d19f820, 0x321ca: 0x6d488020, 0x321cb: 0x6d488220, + 0x321cc: 0x6d488420, 0x321cd: 0x6d488620, 0x321ce: 0x6d488820, 0x321cf: 0x6d488a20, + 0x321d0: 0x6d488c20, 0x321d1: 0x6d488e20, 0x321d2: 0x6d769220, 0x321d3: 0x6d19fa20, + 0x321d4: 0x6d769420, 0x321d5: 0x6d769620, 0x321d6: 0x6da01c20, 0x321d7: 0x6da01e20, + 0x321d8: 0x6da02020, 0x321d9: 0x6da02220, 0x321da: 0x6da02420, 0x321db: 0x6da02620, + 0x321dc: 0x6da02820, 0x321dd: 0x6dc2a820, 0x321de: 0x6dc2aa20, 0x321df: 0x6dc2ac20, + 0x321e0: 0x6dc2ae20, 0x321e1: 0x6dc2b020, 0x321e2: 0x6de04e20, 0x321e3: 0x6de05020, + 0x321e4: 0x6e0c6c20, 0x321e5: 0x6e1c2220, 0x321e6: 0x6e3cea20, 0x321e7: 0x6c009620, + 0x321e8: 0x6c009820, 0x321e9: 0x6c030c20, 0x321ea: 0x6c030e20, 0x321eb: 0x6c031020, + 0x321ec: 0x6c031220, 0x321ed: 0x6c031420, 0x321ee: 0x6c031620, 0x321ef: 0x6c031820, + 0x321f0: 0x6c031a20, 0x321f1: 0x6c066020, 0x321f2: 0x6c066220, 0x321f3: 0x6c066420, + 0x321f4: 0x6c066620, 0x321f5: 0x6c0cc220, 0x321f6: 0x6c0cc420, 0x321f7: 0x6c0cc620, + 0x321f8: 0x6c0cc820, 0x321f9: 0x6c0cca20, 0x321fa: 0x6c0ccc20, 0x321fb: 0x6c0cce20, + 0x321fc: 0x6c17ba20, 0x321fd: 0x6c17bc20, 0x321fe: 0x6c17be20, 0x321ff: 0x6c17c020, + // Block 0xc88, offset 0x32200 + 0x32200: 0x6c17c220, 0x32201: 0x6c17c420, 0x32202: 0x6c17c620, 0x32203: 0x6c17c820, + 0x32204: 0x6c17ca20, 0x32205: 0x6c17cc20, 0x32206: 0x6c2a9e20, 0x32207: 0x6c2aa020, + 0x32208: 0x6c2aa220, 0x32209: 0x6c2aa420, 0x3220a: 0x6c2aa620, 0x3220b: 0x6c2aa820, + 0x3220c: 0x6c2aaa20, 0x3220d: 0x6c2aac20, 0x3220e: 0x6c2aae20, 0x3220f: 0x6c44d220, + 0x32210: 0x6c44d420, 0x32211: 0x6c44d620, 0x32212: 0x6c660020, 0x32213: 0x6c660220, + 0x32214: 0x6c660420, 0x32215: 0x6c660620, 0x32216: 0x6c660820, 0x32217: 0x6c6de220, + 0x32218: 0x6c8cc220, 0x32219: 0x6c8cc420, 0x3221a: 0x6c916e20, 0x3221b: 0x6c8cc620, + 0x3221c: 0x6c8cc820, 0x3221d: 0x6c8cca20, 0x3221e: 0x6c8ccc20, 0x3221f: 0x6cb93620, + 0x32220: 0x6cb93820, 0x32221: 0x6cb93a20, 0x32222: 0x6cb93c20, 0x32223: 0x6cb93e20, + 0x32224: 0x6cea2e20, 0x32225: 0x6cea3020, 0x32226: 0x6cea3220, 0x32227: 0x6cea3420, + 0x32228: 0x6d1a0220, 0x32229: 0x6d1a0420, 0x3222a: 0x6d1a0620, 0x3222b: 0x6d489220, + 0x3222c: 0x6d717420, 0x3222d: 0x6d769a20, 0x3222e: 0x6d769c20, 0x3222f: 0x6d769e20, + 0x32230: 0x6d76a020, 0x32231: 0x6da02c20, 0x32232: 0x6df8a220, 0x32233: 0x6e0c6e20, + 0x32234: 0x6c009c20, 0x32235: 0x6c015820, 0x32236: 0x6c031e20, 0x32237: 0x6c032020, + 0x32238: 0x6c032220, 0x32239: 0x6c067220, 0x3223a: 0x6c067420, 0x3223b: 0x6c067620, + 0x3223c: 0x6c076c20, 0x3223d: 0x6c067820, 0x3223e: 0x6c0cd620, 0x3223f: 0x6c0cd820, + // Block 0xc89, offset 0x32240 + 0x32240: 0x6c0cda20, 0x32241: 0x6c0cdc20, 0x32242: 0x6c0cde20, 0x32243: 0x6c0ce020, + 0x32244: 0x6c0ce220, 0x32245: 0x6c0ce420, 0x32246: 0x6c17d020, 0x32247: 0x6c17d220, + 0x32248: 0x6c17d420, 0x32249: 0x6c17d620, 0x3224a: 0x6c17d820, 0x3224b: 0x6c2ab420, + 0x3224c: 0x6c2ab620, 0x3224d: 0x6c2ab820, 0x3224e: 0x6c44da20, 0x3224f: 0x6c44dc20, + 0x32250: 0x6c44de20, 0x32251: 0x6c633020, 0x32252: 0x6c660c20, 0x32253: 0x6c660e20, + 0x32254: 0x6c8cd020, 0x32255: 0x6c8cd220, 0x32256: 0x6c8cd420, 0x32257: 0x6c8cd620, + 0x32258: 0x6cb94220, 0x32259: 0x6d1a0820, 0x3225a: 0x6d1a0a20, 0x3225b: 0x6d4b1220, + 0x3225c: 0x6d489420, 0x3225d: 0x6d76a220, 0x3225e: 0x6da02e20, 0x3225f: 0x6de05220, + 0x32260: 0x6df8a420, 0x32261: 0x6e0c7020, 0x32262: 0x6e319220, 0x32263: 0x6c00a620, + 0x32264: 0x6c015e20, 0x32265: 0x6c032c20, 0x32266: 0x6c032e20, 0x32267: 0x6c033020, + 0x32268: 0x6c033220, 0x32269: 0x6c033420, 0x3226a: 0x6c033620, 0x3226b: 0x6c033820, + 0x3226c: 0x6c033a20, 0x3226d: 0x6c068c20, 0x3226e: 0x6c068e20, 0x3226f: 0x6c069020, + 0x32270: 0x6c069220, 0x32271: 0x6c069420, 0x32272: 0x6c069620, 0x32273: 0x6c069820, + 0x32274: 0x6c069a20, 0x32275: 0x6c0d0620, 0x32276: 0x6c069c20, 0x32277: 0x6c0d0820, + 0x32278: 0x6c0d0a20, 0x32279: 0x6c0d0c20, 0x3227a: 0x6c0d0e20, 0x3227b: 0x6c069e20, + 0x3227c: 0x6c0d1020, 0x3227d: 0x6c0d1220, 0x3227e: 0x6c0d1420, 0x3227f: 0x6c0d1620, + // Block 0xc8a, offset 0x32280 + 0x32280: 0x6c0d1820, 0x32281: 0x6c0d1a20, 0x32282: 0x6c0d1c20, 0x32283: 0x6c0d1e20, + 0x32284: 0x6c0d2020, 0x32285: 0x6c0d2220, 0x32286: 0x6c0d2420, 0x32287: 0x6c0d2620, + 0x32288: 0x6c0d2820, 0x32289: 0x6c0d2a20, 0x3228a: 0x6c0d2c20, 0x3228b: 0x6c0d2e20, + 0x3228c: 0x6c0d3020, 0x3228d: 0x6c0d3220, 0x3228e: 0x6c180220, 0x3228f: 0x6c180420, + 0x32290: 0x6c180620, 0x32291: 0x6c180820, 0x32292: 0x6c180a20, 0x32293: 0x6c180c20, + 0x32294: 0x6c180e20, 0x32295: 0x6c181020, 0x32296: 0x6c181220, 0x32297: 0x6c181420, + 0x32298: 0x6c181620, 0x32299: 0x6c181820, 0x3229a: 0x6c181a20, 0x3229b: 0x6c181c20, + 0x3229c: 0x6c181e20, 0x3229d: 0x6c182020, 0x3229e: 0x6c182220, 0x3229f: 0x6c182420, + 0x322a0: 0x6c182620, 0x322a1: 0x6c182820, 0x322a2: 0x6c182a20, 0x322a3: 0x6c182c20, + 0x322a4: 0x6c182e20, 0x322a5: 0x6c183020, 0x322a6: 0x6c183220, 0x322a7: 0x6c2af220, + 0x322a8: 0x6c2af420, 0x322a9: 0x6c2af620, 0x322aa: 0x6c2af820, 0x322ab: 0x6c2afa20, + 0x322ac: 0x6c2afc20, 0x322ad: 0x6c2afe20, 0x322ae: 0x6c2b0020, 0x322af: 0x6c2b0220, + 0x322b0: 0x6c2b0420, 0x322b1: 0x6c2b0620, 0x322b2: 0x6c2b0820, 0x322b3: 0x6c2b0a20, + 0x322b4: 0x6c2b0c20, 0x322b5: 0x6c2b0e20, 0x322b6: 0x6c2b1020, 0x322b7: 0x6c2b1220, + 0x322b8: 0x6c2b1420, 0x322b9: 0x6c2b1620, 0x322ba: 0x6c2b1820, 0x322bb: 0x6c2b1a20, + 0x322bc: 0x6c2b1c20, 0x322bd: 0x6c2b1e20, 0x322be: 0x6c2b2020, 0x322bf: 0x6c2b2220, + // Block 0xc8b, offset 0x322c0 + 0x322c0: 0x6c2b2420, 0x322c1: 0x6c2b2620, 0x322c2: 0x6c2b2820, 0x322c3: 0x6c2b2a20, + 0x322c4: 0x6c2b2c20, 0x322c5: 0x6c2b2e20, 0x322c6: 0x6c2b3020, 0x322c7: 0x6c2b3220, + 0x322c8: 0x6c2b3420, 0x322c9: 0x6c2b3620, 0x322ca: 0x6c2b3820, 0x322cb: 0x6c2b3a20, + 0x322cc: 0x6c2b3c20, 0x322cd: 0x6c2b3e20, 0x322ce: 0x6c2b4020, 0x322cf: 0x6c2b4220, + 0x322d0: 0x6c450620, 0x322d1: 0x6c450820, 0x322d2: 0x6c450a20, 0x322d3: 0x6c450c20, + 0x322d4: 0x6c450e20, 0x322d5: 0x6c451020, 0x322d6: 0x6c451220, 0x322d7: 0x6c451420, + 0x322d8: 0x6c451620, 0x322d9: 0x6c451820, 0x322da: 0x6c451a20, 0x322db: 0x6c451c20, + 0x322dc: 0x6c451e20, 0x322dd: 0x6c452020, 0x322de: 0x6c452220, 0x322df: 0x6c452420, + 0x322e0: 0x6c452620, 0x322e1: 0x6c452820, 0x322e2: 0x6c452a20, 0x322e3: 0x6c452c20, + 0x322e4: 0x6c452e20, 0x322e5: 0x6c453020, 0x322e6: 0x6c453220, 0x322e7: 0x6c453420, + 0x322e8: 0x6c453620, 0x322e9: 0x6c453820, 0x322ea: 0x6c453a20, 0x322eb: 0x6c453c20, + 0x322ec: 0x6c453e20, 0x322ed: 0x6c454020, 0x322ee: 0x6c454220, 0x322ef: 0x6c454420, + 0x322f0: 0x6c454620, 0x322f1: 0x6c664820, 0x322f2: 0x6c664a20, 0x322f3: 0x6c664c20, + 0x322f4: 0x6c664e20, 0x322f5: 0x6c665020, 0x322f6: 0x6c665220, 0x322f7: 0x6c665420, + 0x322f8: 0x6c665620, 0x322f9: 0x6c665820, 0x322fa: 0x6c665a20, 0x322fb: 0x6c665c20, + 0x322fc: 0x6c665e20, 0x322fd: 0x6c666020, 0x322fe: 0x6c666220, 0x322ff: 0x6c666420, + // Block 0xc8c, offset 0x32300 + 0x32300: 0x6c666620, 0x32301: 0x6c666820, 0x32302: 0x6c666a20, 0x32303: 0x6c666c20, + 0x32304: 0x6c666e20, 0x32305: 0x6c667020, 0x32306: 0x6c667220, 0x32307: 0x6c667420, + 0x32308: 0x6c667620, 0x32309: 0x6c667820, 0x3230a: 0x6c667a20, 0x3230b: 0x6c667c20, + 0x3230c: 0x6c667e20, 0x3230d: 0x6c668020, 0x3230e: 0x6c668220, 0x3230f: 0x6c668420, + 0x32310: 0x6c668620, 0x32311: 0x6c668820, 0x32312: 0x6c668a20, 0x32313: 0x6c668c20, + 0x32314: 0x6c668e20, 0x32315: 0x6c669020, 0x32316: 0x6c669220, 0x32317: 0x6c669420, + 0x32318: 0x6c669620, 0x32319: 0x6c669820, 0x3231a: 0x6c669a20, 0x3231b: 0x6c669c20, + 0x3231c: 0x6c669e20, 0x3231d: 0x6c8cf820, 0x3231e: 0x6c8cfa20, 0x3231f: 0x6c8cfc20, + 0x32320: 0x6c8cfe20, 0x32321: 0x6c8d0020, 0x32322: 0x6c8d0220, 0x32323: 0x6c8d0420, + 0x32324: 0x6c8d0620, 0x32325: 0x6c8d0820, 0x32326: 0x6c8d0a20, 0x32327: 0x6c8d0c20, + 0x32328: 0x6c8d0e20, 0x32329: 0x6c8d1020, 0x3232a: 0x6c8d1220, 0x3232b: 0x6c8d1420, + 0x3232c: 0x6c8d1620, 0x3232d: 0x6c8d1820, 0x3232e: 0x6c8d1a20, 0x3232f: 0x6c8d1c20, + 0x32330: 0x6c8d1e20, 0x32331: 0x6c8d2020, 0x32332: 0x6c8d2220, 0x32333: 0x6c8d2420, + 0x32334: 0x6c8d2620, 0x32335: 0x6c8d2820, 0x32336: 0x6c66a020, 0x32337: 0x6c8d2a20, + 0x32338: 0x6c8d2c20, 0x32339: 0x6c8d2e20, 0x3233a: 0x6c8d3020, 0x3233b: 0x6c8d3220, + 0x3233c: 0x6c8d3420, 0x3233d: 0x6c8d3620, 0x3233e: 0x6c8d3820, 0x3233f: 0x6cb95a20, + // Block 0xc8d, offset 0x32340 + 0x32340: 0x6cb95c20, 0x32341: 0x6cb95e20, 0x32342: 0x6cb96020, 0x32343: 0x6cb96220, + 0x32344: 0x6cb96420, 0x32345: 0x6cb96620, 0x32346: 0x6cb96820, 0x32347: 0x6cb96a20, + 0x32348: 0x6cb96c20, 0x32349: 0x6cb96e20, 0x3234a: 0x6cb97020, 0x3234b: 0x6cb97220, + 0x3234c: 0x6cb97420, 0x3234d: 0x6cb97620, 0x3234e: 0x6cb97820, 0x3234f: 0x6cb97a20, + 0x32350: 0x6cb97c20, 0x32351: 0x6cb97e20, 0x32352: 0x6cb98020, 0x32353: 0x6cb98220, + 0x32354: 0x6cb98420, 0x32355: 0x6cb98620, 0x32356: 0x6cb98820, 0x32357: 0x6cb98a20, + 0x32358: 0x6cb98c20, 0x32359: 0x6cb98e20, 0x3235a: 0x6cb99020, 0x3235b: 0x6cb99220, + 0x3235c: 0x6cd55e20, 0x3235d: 0x6cb99420, 0x3235e: 0x6cb99620, 0x3235f: 0x6cb99820, + 0x32360: 0x6cb99a20, 0x32361: 0x6cb99c20, 0x32362: 0x6cb99e20, 0x32363: 0x6cb9a020, + 0x32364: 0x6cb9a220, 0x32365: 0x6cea5220, 0x32366: 0x6cea5420, 0x32367: 0x6cea5620, + 0x32368: 0x6cea5820, 0x32369: 0x6cea5a20, 0x3236a: 0x6cea5c20, 0x3236b: 0x6cea5e20, + 0x3236c: 0x6cea6020, 0x3236d: 0x6cea6220, 0x3236e: 0x6cea6420, 0x3236f: 0x6cea6620, + 0x32370: 0x6cea6820, 0x32371: 0x6cea6a20, 0x32372: 0x6cea6c20, 0x32373: 0x6cea6e20, + 0x32374: 0x6cea7020, 0x32375: 0x6cea7220, 0x32376: 0x6cea7420, 0x32377: 0x6cea7620, + 0x32378: 0x6cea7820, 0x32379: 0x6cea7a20, 0x3237a: 0x6cea7c20, 0x3237b: 0x6cea7e20, + 0x3237c: 0x6cea8020, 0x3237d: 0x6cea8220, 0x3237e: 0x6cea8420, 0x3237f: 0x6cea8620, + // Block 0xc8e, offset 0x32380 + 0x32380: 0x6cea8820, 0x32381: 0x6cea8a20, 0x32382: 0x6d1a3020, 0x32383: 0x6d1a3220, + 0x32384: 0x6d1a3420, 0x32385: 0x6d1a3620, 0x32386: 0x6d1a3820, 0x32387: 0x6d1a3a20, + 0x32388: 0x6d1a3c20, 0x32389: 0x6d1a3e20, 0x3238a: 0x6d1a4020, 0x3238b: 0x6d1a4220, + 0x3238c: 0x6d1a4420, 0x3238d: 0x6d1a4620, 0x3238e: 0x6d1a4820, 0x3238f: 0x6d1a4a20, + 0x32390: 0x6d1a4c20, 0x32391: 0x6d1a4e20, 0x32392: 0x6d1a5020, 0x32393: 0x6d1a5220, + 0x32394: 0x6d1a5420, 0x32395: 0x6d1a5620, 0x32396: 0x6d1a5820, 0x32397: 0x6d1a5a20, + 0x32398: 0x6d1a5c20, 0x32399: 0x6d1a5e20, 0x3239a: 0x6d1a6020, 0x3239b: 0x6d1a6220, + 0x3239c: 0x6d1a6420, 0x3239d: 0x6d1a6620, 0x3239e: 0x6d1a6820, 0x3239f: 0x6d1a6a20, + 0x323a0: 0x6d48ae20, 0x323a1: 0x6d1a6c20, 0x323a2: 0x6d1a6e20, 0x323a3: 0x6d1a7020, + 0x323a4: 0x6d1a7220, 0x323a5: 0x6d1a7420, 0x323a6: 0x6d48b020, 0x323a7: 0x6d48b220, + 0x323a8: 0x6d48b420, 0x323a9: 0x6d48b620, 0x323aa: 0x6d48b820, 0x323ab: 0x6d48ba20, + 0x323ac: 0x6d48bc20, 0x323ad: 0x6d48be20, 0x323ae: 0x6d48c020, 0x323af: 0x6d48c220, + 0x323b0: 0x6d48c420, 0x323b1: 0x6d48c620, 0x323b2: 0x6d48c820, 0x323b3: 0x6d48ca20, + 0x323b4: 0x6d48cc20, 0x323b5: 0x6d48ce20, 0x323b6: 0x6d48d020, 0x323b7: 0x6d48d220, + 0x323b8: 0x6d48d420, 0x323b9: 0x6d48d620, 0x323ba: 0x6d76b420, 0x323bb: 0x6d76b620, + 0x323bc: 0x6d76b820, 0x323bd: 0x6d76ba20, 0x323be: 0x6d76bc20, 0x323bf: 0x6d76be20, + // Block 0xc8f, offset 0x323c0 + 0x323c0: 0x6d76c020, 0x323c1: 0x6d76c220, 0x323c2: 0x6d76c420, 0x323c3: 0x6d76c620, + 0x323c4: 0x6d76c820, 0x323c5: 0x6d76ca20, 0x323c6: 0x6d76cc20, 0x323c7: 0x6d76ce20, + 0x323c8: 0x6d76d020, 0x323c9: 0x6d76d220, 0x323ca: 0x6d76d420, 0x323cb: 0x6d938220, + 0x323cc: 0x6da03620, 0x323cd: 0x6da03820, 0x323ce: 0x6da03a20, 0x323cf: 0x6da03c20, + 0x323d0: 0x6da03e20, 0x323d1: 0x6da04020, 0x323d2: 0x6da04220, 0x323d3: 0x6da04420, + 0x323d4: 0x6da04620, 0x323d5: 0x6da04820, 0x323d6: 0x6da04a20, 0x323d7: 0x6da04c20, + 0x323d8: 0x6da04e20, 0x323d9: 0x6da05020, 0x323da: 0x6da05220, 0x323db: 0x6dc2b820, + 0x323dc: 0x6dc2ba20, 0x323dd: 0x6dc2bc20, 0x323de: 0x6dc2be20, 0x323df: 0x6dc2c020, + 0x323e0: 0x6dc2c220, 0x323e1: 0x6de05a20, 0x323e2: 0x6de05c20, 0x323e3: 0x6de05e20, + 0x323e4: 0x6df8a820, 0x323e5: 0x6e0c7620, 0x323e6: 0x6df8aa20, 0x323e7: 0x6df8ac20, + 0x323e8: 0x6df8ae20, 0x323e9: 0x6df8b020, 0x323ea: 0x6e0c7820, 0x323eb: 0x6e0c7a20, + 0x323ec: 0x6e0c7c20, 0x323ed: 0x6e0c7e20, 0x323ee: 0x6e286420, 0x323ef: 0x6e319420, + 0x323f0: 0x6e3cec20, 0x323f1: 0x6e3cee20, 0x323f2: 0x6c016220, 0x323f3: 0x6c034020, + 0x323f4: 0x6c034220, 0x323f5: 0x6c034420, 0x323f6: 0x6c06ae20, 0x323f7: 0x6c06b020, + 0x323f8: 0x6c06b220, 0x323f9: 0x6c0d4c20, 0x323fa: 0x6c0d4e20, 0x323fb: 0x6c0d5020, + 0x323fc: 0x6c0d5220, 0x323fd: 0x6c0d5420, 0x323fe: 0x6c0d5620, 0x323ff: 0x6c0d5820, + // Block 0xc90, offset 0x32400 + 0x32400: 0x6c0d5a20, 0x32401: 0x6c0d5c20, 0x32402: 0x6c185420, 0x32403: 0x6c185620, + 0x32404: 0x6c185820, 0x32405: 0x6c185a20, 0x32406: 0x6c185c20, 0x32407: 0x6c185e20, + 0x32408: 0x6c186020, 0x32409: 0x6c186220, 0x3240a: 0x6c186420, 0x3240b: 0x6c186620, + 0x3240c: 0x6c186820, 0x3240d: 0x6c186a20, 0x3240e: 0x6c186c20, 0x3240f: 0x6c186e20, + 0x32410: 0x6c187020, 0x32411: 0x6c2b6820, 0x32412: 0x6c2b6a20, 0x32413: 0x6c2b6c20, + 0x32414: 0x6c2b6e20, 0x32415: 0x6c2b7020, 0x32416: 0x6c2b7220, 0x32417: 0x6c2b7420, + 0x32418: 0x6c2b7620, 0x32419: 0x6c2b7820, 0x3241a: 0x6c2b7a20, 0x3241b: 0x6c2b7c20, + 0x3241c: 0x6c2b7e20, 0x3241d: 0x6c2b8020, 0x3241e: 0x6c456620, 0x3241f: 0x6c456820, + 0x32420: 0x6c456a20, 0x32421: 0x6c456c20, 0x32422: 0x6c456e20, 0x32423: 0x6c457020, + 0x32424: 0x6c457220, 0x32425: 0x6c457420, 0x32426: 0x6c457620, 0x32427: 0x6c457820, + 0x32428: 0x6c457a20, 0x32429: 0x6c457c20, 0x3242a: 0x6c457e20, 0x3242b: 0x6c66b820, + 0x3242c: 0x6c66ba20, 0x3242d: 0x6c66bc20, 0x3242e: 0x6c66be20, 0x3242f: 0x6c66c020, + 0x32430: 0x6c66c220, 0x32431: 0x6c66c420, 0x32432: 0x6c66c620, 0x32433: 0x6c66c820, + 0x32434: 0x6c66ca20, 0x32435: 0x6c66cc20, 0x32436: 0x6c66ce20, 0x32437: 0x6c66d020, + 0x32438: 0x6c66d220, 0x32439: 0x6c66d420, 0x3243a: 0x6c66d620, 0x3243b: 0x6c8d5420, + 0x3243c: 0x6c8d5620, 0x3243d: 0x6c8d5820, 0x3243e: 0x6c8d5a20, 0x3243f: 0x6c8d5c20, + // Block 0xc91, offset 0x32440 + 0x32440: 0x6c8d5e20, 0x32441: 0x6c8d6020, 0x32442: 0x6c8d6220, 0x32443: 0x6c8d6420, + 0x32444: 0x6c8d6620, 0x32445: 0x6cb9b420, 0x32446: 0x6cb9b620, 0x32447: 0x6cb9b820, + 0x32448: 0x6cb9ba20, 0x32449: 0x6cb9bc20, 0x3244a: 0x6cb9be20, 0x3244b: 0x6cb9c020, + 0x3244c: 0x6cb9c220, 0x3244d: 0x6cb9c420, 0x3244e: 0x6cb9c620, 0x3244f: 0x6cb9c820, + 0x32450: 0x6cb9ca20, 0x32451: 0x6cb9cc20, 0x32452: 0x6cb9ce20, 0x32453: 0x6ceaa420, + 0x32454: 0x6ceaa620, 0x32455: 0x6ceaa820, 0x32456: 0x6ceaaa20, 0x32457: 0x6ceaac20, + 0x32458: 0x6ceaae20, 0x32459: 0x6ceab020, 0x3245a: 0x6ceab220, 0x3245b: 0x6ceab420, + 0x3245c: 0x6ceab620, 0x3245d: 0x6ceab820, 0x3245e: 0x6ceaba20, 0x3245f: 0x6ceabc20, + 0x32460: 0x6d1a8420, 0x32461: 0x6d1a8620, 0x32462: 0x6d1a8820, 0x32463: 0x6d1a8a20, + 0x32464: 0x6d1a8c20, 0x32465: 0x6d1a8e20, 0x32466: 0x6d1a9020, 0x32467: 0x6d1a9220, + 0x32468: 0x6d1a9420, 0x32469: 0x6d1a9620, 0x3246a: 0x6d1a9820, 0x3246b: 0x6d1a9a20, + 0x3246c: 0x6d1a9c20, 0x3246d: 0x6d1a9e20, 0x3246e: 0x6d1aa020, 0x3246f: 0x6d1aa220, + 0x32470: 0x6d48e420, 0x32471: 0x6d48e620, 0x32472: 0x6d48e820, 0x32473: 0x6d48ea20, + 0x32474: 0x6d48ec20, 0x32475: 0x6d48ee20, 0x32476: 0x6d76dc20, 0x32477: 0x6d76de20, + 0x32478: 0x6d76e020, 0x32479: 0x6da06220, 0x3247a: 0x6da06420, 0x3247b: 0x6da06620, + 0x3247c: 0x6da06820, 0x3247d: 0x6da06a20, 0x3247e: 0x6da06c20, 0x3247f: 0x6da06e20, + // Block 0xc92, offset 0x32480 + 0x32480: 0x6dc2c620, 0x32481: 0x6dc2c820, 0x32482: 0x6dc2ca20, 0x32483: 0x6dc2cc20, + 0x32484: 0x6de06220, 0x32485: 0x6de06420, 0x32486: 0x6df8b220, 0x32487: 0x6e0c8020, + 0x32488: 0x6e286620, 0x32489: 0x6e286820, 0x3248a: 0x6e384220, 0x3248b: 0x6e46ae20, + 0x3248c: 0x6c035620, 0x3248d: 0x6c06be20, 0x3248e: 0x6c06c020, 0x3248f: 0x6c06c220, + 0x32490: 0x6c06c420, 0x32491: 0x6c0d6020, 0x32492: 0x6c0d6220, 0x32493: 0x6c0d6420, + 0x32494: 0x6c187a20, 0x32495: 0x6c187c20, 0x32496: 0x6c187e20, 0x32497: 0x6c188020, + 0x32498: 0x6c2b8e20, 0x32499: 0x6c2b9020, 0x3249a: 0x6c2b9220, 0x3249b: 0x6c2b9420, + 0x3249c: 0x6c2b9620, 0x3249d: 0x6c2b9820, 0x3249e: 0x6c458420, 0x3249f: 0x6c458620, + 0x324a0: 0x6c458820, 0x324a1: 0x6c458a20, 0x324a2: 0x6c458c20, 0x324a3: 0x6c458e20, + 0x324a4: 0x6c66e020, 0x324a5: 0x6c66e220, 0x324a6: 0x6c66e420, 0x324a7: 0x6c66e620, + 0x324a8: 0x6c66e820, 0x324a9: 0x6c66ea20, 0x324aa: 0x6c66ec20, 0x324ab: 0x6c66ee20, + 0x324ac: 0x6c66f020, 0x324ad: 0x6c66f220, 0x324ae: 0x6c8d7020, 0x324af: 0x6c8d7220, + 0x324b0: 0x6c8d7420, 0x324b1: 0x6c8d7620, 0x324b2: 0x6c8d7820, 0x324b3: 0x6c8d7a20, + 0x324b4: 0x6c8d7c20, 0x324b5: 0x6cb9da20, 0x324b6: 0x6cb9dc20, 0x324b7: 0x6cb9de20, + 0x324b8: 0x6ceac420, 0x324b9: 0x6ceac620, 0x324ba: 0x6ceac820, 0x324bb: 0x6ceaca20, + 0x324bc: 0x6ceacc20, 0x324bd: 0x6d1aa820, 0x324be: 0x6d1aaa20, 0x324bf: 0x6d1aac20, + // Block 0xc93, offset 0x324c0 + 0x324c0: 0x6d1aae20, 0x324c1: 0x6d1ab020, 0x324c2: 0x6d1ab220, 0x324c3: 0x6d48f420, + 0x324c4: 0x6d76e220, 0x324c5: 0x6d76e420, 0x324c6: 0x6d76e620, 0x324c7: 0x6d76e820, + 0x324c8: 0x6da07020, 0x324c9: 0x6da07220, 0x324ca: 0x6da07420, 0x324cb: 0x6df8b420, + 0x324cc: 0x6df8b620, 0x324cd: 0x6df8b820, 0x324ce: 0x6c00ae20, 0x324cf: 0x6c035c20, + 0x324d0: 0x6c06c820, 0x324d1: 0x6c188220, 0x324d2: 0x6c188420, 0x324d3: 0x6c188620, + 0x324d4: 0x6c188820, 0x324d5: 0x6c188a20, 0x324d6: 0x6c2b9c20, 0x324d7: 0x6c459020, + 0x324d8: 0x6c459220, 0x324d9: 0x6c459420, 0x324da: 0x6c459620, 0x324db: 0x6c459820, + 0x324dc: 0x6c459a20, 0x324dd: 0x6c459c20, 0x324de: 0x6c66f420, 0x324df: 0x6c66f620, + 0x324e0: 0x6c66f820, 0x324e1: 0x6c66fa20, 0x324e2: 0x6c63d420, 0x324e3: 0x6cb9e020, + 0x324e4: 0x6cb9e220, 0x324e5: 0x6ceace20, 0x324e6: 0x6d1ab420, 0x324e7: 0x6d1ab620, + 0x324e8: 0x6d1ab820, 0x324e9: 0x6da07620, 0x324ea: 0x6dc2ce20, 0x324eb: 0x6dea7420, + 0x324ec: 0x6c00b220, 0x324ed: 0x6c035e20, 0x324ee: 0x6c0d7020, 0x324ef: 0x6c0d7220, + 0x324f0: 0x6c0d7420, 0x324f1: 0x6c0d7620, 0x324f2: 0x6c0d7a20, 0x324f3: 0x6c189620, + 0x324f4: 0x6c189820, 0x324f5: 0x6c189a20, 0x324f6: 0x6c189c20, 0x324f7: 0x6c189e20, + 0x324f8: 0x6c2ba020, 0x324f9: 0x6c2ba220, 0x324fa: 0x6c2ba420, 0x324fb: 0x6c2ba620, + 0x324fc: 0x6c45a620, 0x324fd: 0x6c45a820, 0x324fe: 0x6c45aa20, 0x324ff: 0x6c45ac20, + // Block 0xc94, offset 0x32500 + 0x32500: 0x6c45ae20, 0x32501: 0x6c45b020, 0x32502: 0x6c45b220, 0x32503: 0x6c45c220, + 0x32504: 0x6c45b420, 0x32505: 0x6c45b620, 0x32506: 0x6c45b820, 0x32507: 0x6c45ba20, + 0x32508: 0x6c45bc20, 0x32509: 0x6c670220, 0x3250a: 0x6c670420, 0x3250b: 0x6c670620, + 0x3250c: 0x6c670820, 0x3250d: 0x6c670a20, 0x3250e: 0x6c8d8e20, 0x3250f: 0x6c8d9020, + 0x32510: 0x6cb9e420, 0x32511: 0x6cb9e620, 0x32512: 0x6cb9e820, 0x32513: 0x6cb9ea20, + 0x32514: 0x6cb9ec20, 0x32515: 0x6cb9ee20, 0x32516: 0x6ceada20, 0x32517: 0x6ceadc20, + 0x32518: 0x6ceade20, 0x32519: 0x6d1ac220, 0x3251a: 0x6d1ac420, 0x3251b: 0x6d1ac620, + 0x3251c: 0x6d48f820, 0x3251d: 0x6d48fa20, 0x3251e: 0x6d48fc20, 0x3251f: 0x6d48fe20, + 0x32520: 0x6d490020, 0x32521: 0x6d490220, 0x32522: 0x6d76ec20, 0x32523: 0x6d76ee20, + 0x32524: 0x6dc2d020, 0x32525: 0x6dc2d220, 0x32526: 0x6de06a20, 0x32527: 0x6de06c20, + 0x32528: 0x6df8bc20, 0x32529: 0x6df8be20, 0x3252a: 0x6e1c2420, 0x3252b: 0x6e3cf220, + 0x3252c: 0x6e451420, 0x3252d: 0x6c036420, 0x3252e: 0x6c0d7c20, 0x3252f: 0x6c0d7e20, + 0x32530: 0x6c18a820, 0x32531: 0x6c18aa20, 0x32532: 0x6c18ac20, 0x32533: 0x6c2baa20, + 0x32534: 0x6c45c420, 0x32535: 0x6c45c620, 0x32536: 0x6c670e20, 0x32537: 0x6d1aca20, + 0x32538: 0x6df8c220, 0x32539: 0x6e1c2620, 0x3253a: 0x6e1c2820, 0x3253b: 0x6c037020, + 0x3253c: 0x6c037220, 0x3253d: 0x6c06da20, 0x3253e: 0x6c06dc20, 0x3253f: 0x6c037420, + // Block 0xc95, offset 0x32540 + 0x32540: 0x6c06de20, 0x32541: 0x6c06e020, 0x32542: 0x6c0d8e20, 0x32543: 0x6c0d9020, + 0x32544: 0x6c0d9220, 0x32545: 0x6c0d9420, 0x32546: 0x6c0d9620, 0x32547: 0x6c0d9820, + 0x32548: 0x6c0d9a20, 0x32549: 0x6c0d9c20, 0x3254a: 0x6c0d9e20, 0x3254b: 0x6c0da020, + 0x3254c: 0x6c0da220, 0x3254d: 0x6c0da420, 0x3254e: 0x6c0da620, 0x3254f: 0x6c0da820, + 0x32550: 0x6c0daa20, 0x32551: 0x6c18ae20, 0x32552: 0x6c18b020, 0x32553: 0x6c18b220, + 0x32554: 0x6c18b420, 0x32555: 0x6c18b620, 0x32556: 0x6c18b820, 0x32557: 0x6c18ba20, + 0x32558: 0x6c2bba20, 0x32559: 0x6c2bbc20, 0x3255a: 0x6c2bbe20, 0x3255b: 0x6c2bc020, + 0x3255c: 0x6c2bc220, 0x3255d: 0x6c2bc420, 0x3255e: 0x6c2bc620, 0x3255f: 0x6c2bc820, + 0x32560: 0x6c2bca20, 0x32561: 0x6c2bcc20, 0x32562: 0x6c2bce20, 0x32563: 0x6c671020, + 0x32564: 0x6c671220, 0x32565: 0x6c671420, 0x32566: 0x6c671620, 0x32567: 0x6c671820, + 0x32568: 0x6c671a20, 0x32569: 0x6c671c20, 0x3256a: 0x6c8d9a20, 0x3256b: 0x6c8d9c20, + 0x3256c: 0x6c8d9e20, 0x3256d: 0x6c8da020, 0x3256e: 0x6c8da220, 0x3256f: 0x6c8da420, + 0x32570: 0x6cb9f420, 0x32571: 0x6cb9f620, 0x32572: 0x6cb9f820, 0x32573: 0x6cb9fa20, + 0x32574: 0x6ceae220, 0x32575: 0x6ceae420, 0x32576: 0x6ceae620, 0x32577: 0x6ceae820, + 0x32578: 0x6ceaea20, 0x32579: 0x6ceaec20, 0x3257a: 0x6ceaee20, 0x3257b: 0x6ceaf020, + 0x3257c: 0x6ceaf220, 0x3257d: 0x6d1acc20, 0x3257e: 0x6d1ace20, 0x3257f: 0x6d1ad020, + // Block 0xc96, offset 0x32580 + 0x32580: 0x6d490420, 0x32581: 0x6d490620, 0x32582: 0x6d490820, 0x32583: 0x6d490a20, + 0x32584: 0x6d490c20, 0x32585: 0x6da07a20, 0x32586: 0x6da07c20, 0x32587: 0x6da07e20, + 0x32588: 0x6da08020, 0x32589: 0x6dc2d420, 0x3258a: 0x6dc2d620, 0x3258b: 0x6dc2d820, + 0x3258c: 0x6dc2da20, 0x3258d: 0x6dc2dc20, 0x3258e: 0x6de06e20, 0x3258f: 0x6e0c8620, + 0x32590: 0x6e384420, 0x32591: 0x6e3cf420, 0x32592: 0x6c016c20, 0x32593: 0x6c06ea20, + 0x32594: 0x6c0dae20, 0x32595: 0x6c0db020, 0x32596: 0x6c0db220, 0x32597: 0x6c0db420, + 0x32598: 0x6c0db620, 0x32599: 0x6c18c420, 0x3259a: 0x6c18c620, 0x3259b: 0x6c18c820, + 0x3259c: 0x6c18ca20, 0x3259d: 0x6c161a20, 0x3259e: 0x6c2bdc20, 0x3259f: 0x6c2bde20, + 0x325a0: 0x6c2be020, 0x325a1: 0x6c2be220, 0x325a2: 0x6c2be420, 0x325a3: 0x6c2be620, + 0x325a4: 0x6c2be820, 0x325a5: 0x6c2bea20, 0x325a6: 0x6c2bec20, 0x325a7: 0x6c2bee20, + 0x325a8: 0x6c2bf020, 0x325a9: 0x6c45ce20, 0x325aa: 0x6c45d020, 0x325ab: 0x6c45d220, + 0x325ac: 0x6c45d420, 0x325ad: 0x6c45d620, 0x325ae: 0x6c45d820, 0x325af: 0x6c45da20, + 0x325b0: 0x6c45dc20, 0x325b1: 0x6c45de20, 0x325b2: 0x6c45e020, 0x325b3: 0x6c672020, + 0x325b4: 0x6c672220, 0x325b5: 0x6c672420, 0x325b6: 0x6c672620, 0x325b7: 0x6c672820, + 0x325b8: 0x6cb78420, 0x325b9: 0x6c672a20, 0x325ba: 0x6c8daa20, 0x325bb: 0x6c8dac20, + 0x325bc: 0x6c8dae20, 0x325bd: 0x6c8db020, 0x325be: 0x6c8db220, 0x325bf: 0x6c8db420, + // Block 0xc97, offset 0x325c0 + 0x325c0: 0x6cb9fc20, 0x325c1: 0x6cb9fe20, 0x325c2: 0x6cba0020, 0x325c3: 0x6cbd9e20, + 0x325c4: 0x6cba0220, 0x325c5: 0x6ceaf620, 0x325c6: 0x6d1ad420, 0x325c7: 0x6d1ad620, + 0x325c8: 0x6d491220, 0x325c9: 0x6d491420, 0x325ca: 0x6d491620, 0x325cb: 0x6e400820, + 0x325cc: 0x6e467a20, 0x325cd: 0x6c037e20, 0x325ce: 0x6c038020, 0x325cf: 0x6c038220, + 0x325d0: 0x6c038420, 0x325d1: 0x6c06f220, 0x325d2: 0x6c0dbc20, 0x325d3: 0x6c0dbe20, + 0x325d4: 0x6c0dc020, 0x325d5: 0x6c0dc220, 0x325d6: 0x6c0dc420, 0x325d7: 0x6c0dc620, + 0x325d8: 0x6c18da20, 0x325d9: 0x6c45ea20, 0x325da: 0x6c45ec20, 0x325db: 0x6c45ee20, + 0x325dc: 0x6c45f020, 0x325dd: 0x6c45f220, 0x325de: 0x6c672e20, 0x325df: 0x6cba0420, + 0x325e0: 0x6cba0620, 0x325e1: 0x6cba0820, 0x325e2: 0x6ceafc20, 0x325e3: 0x6ceafe20, + 0x325e4: 0x6ceb0020, 0x325e5: 0x6d1ada20, 0x325e6: 0x6da08420, 0x325e7: 0x6dc2e020, + 0x325e8: 0x6dc2e220, 0x325e9: 0x6dc2e420, 0x325ea: 0x6dc2e620, 0x325eb: 0x6e3cf620, + 0x325ec: 0x6c038e20, 0x325ed: 0x6c06fa20, 0x325ee: 0x6c06fc20, 0x325ef: 0x6c06fe20, + 0x325f0: 0x6c070020, 0x325f1: 0x6c070220, 0x325f2: 0x6c070420, 0x325f3: 0x6c070620, + 0x325f4: 0x6c0dda20, 0x325f5: 0x6c0ddc20, 0x325f6: 0x6c0dde20, 0x325f7: 0x6c0de020, + 0x325f8: 0x6c0de220, 0x325f9: 0x6c0de420, 0x325fa: 0x6c0de620, 0x325fb: 0x6c0de820, + 0x325fc: 0x6c0dea20, 0x325fd: 0x6c0dec20, 0x325fe: 0x6c0dee20, 0x325ff: 0x6c0df020, + // Block 0xc98, offset 0x32600 + 0x32600: 0x6c18ec20, 0x32601: 0x6c18ee20, 0x32602: 0x6c18f020, 0x32603: 0x6c18f220, + 0x32604: 0x6c18f420, 0x32605: 0x6c18f620, 0x32606: 0x6c18f820, 0x32607: 0x6c18fa20, + 0x32608: 0x6c18fc20, 0x32609: 0x6c18fe20, 0x3260a: 0x6c2c0c20, 0x3260b: 0x6c2c0e20, + 0x3260c: 0x6c2c1020, 0x3260d: 0x6c2c1220, 0x3260e: 0x6c2c1420, 0x3260f: 0x6c2c1620, + 0x32610: 0x6c2c1820, 0x32611: 0x6c2c1a20, 0x32612: 0x6c2c1c20, 0x32613: 0x6c2c1e20, + 0x32614: 0x6c2c2020, 0x32615: 0x6c2c2220, 0x32616: 0x6c2a5a20, 0x32617: 0x6c460420, + 0x32618: 0x6c460620, 0x32619: 0x6c460820, 0x3261a: 0x6c460a20, 0x3261b: 0x6c460c20, + 0x3261c: 0x6c460e20, 0x3261d: 0x6c461020, 0x3261e: 0x6c461220, 0x3261f: 0x6c461420, + 0x32620: 0x6c461620, 0x32621: 0x6c461820, 0x32622: 0x6c461a20, 0x32623: 0x6c461c20, + 0x32624: 0x6c461e20, 0x32625: 0x6c462020, 0x32626: 0x6c462220, 0x32627: 0x6c674220, + 0x32628: 0x6c674420, 0x32629: 0x6c674620, 0x3262a: 0x6c674820, 0x3262b: 0x6c674a20, + 0x3262c: 0x6c674c20, 0x3262d: 0x6c674e20, 0x3262e: 0x6c675020, 0x3262f: 0x6c675220, + 0x32630: 0x6c675420, 0x32631: 0x6c675620, 0x32632: 0x6c675820, 0x32633: 0x6c675a20, + 0x32634: 0x6c675c20, 0x32635: 0x6c675e20, 0x32636: 0x6c676020, 0x32637: 0x6c676220, + 0x32638: 0x6c8dc220, 0x32639: 0x6c8dc420, 0x3263a: 0x6c8dc620, 0x3263b: 0x6c8dc820, + 0x3263c: 0x6c8dca20, 0x3263d: 0x6c8dcc20, 0x3263e: 0x6c8dce20, 0x3263f: 0x6ceb0820, + // Block 0xc99, offset 0x32640 + 0x32640: 0x6c8dd020, 0x32641: 0x6c8dd220, 0x32642: 0x6c8dd420, 0x32643: 0x6c8dd620, + 0x32644: 0x6c8dd820, 0x32645: 0x6c8dda20, 0x32646: 0x6c8ddc20, 0x32647: 0x6cba1620, + 0x32648: 0x6cba1820, 0x32649: 0x6cba1a20, 0x3264a: 0x6cba1c20, 0x3264b: 0x6cba1e20, + 0x3264c: 0x6cba2020, 0x3264d: 0x6cba2220, 0x3264e: 0x6cba2420, 0x3264f: 0x6cba2620, + 0x32650: 0x6cba2820, 0x32651: 0x6ceb0a20, 0x32652: 0x6ceb0c20, 0x32653: 0x6ceb0e20, + 0x32654: 0x6ceb1020, 0x32655: 0x6ceb1220, 0x32656: 0x6ceb1420, 0x32657: 0x6ceb1620, + 0x32658: 0x6ceb1820, 0x32659: 0x6d1ae820, 0x3265a: 0x6d1aea20, 0x3265b: 0x6d1aec20, + 0x3265c: 0x6d1aee20, 0x3265d: 0x6d1af020, 0x3265e: 0x6d1af220, 0x3265f: 0x6d1af420, + 0x32660: 0x6d1af620, 0x32661: 0x6d1af820, 0x32662: 0x6d1afa20, 0x32663: 0x6d1afc20, + 0x32664: 0x6d1afe20, 0x32665: 0x6d1b0020, 0x32666: 0x6d1b0220, 0x32667: 0x6d1b0420, + 0x32668: 0x6d1b0620, 0x32669: 0x6d1b0820, 0x3266a: 0x6d1b0a20, 0x3266b: 0x6d1b0c20, + 0x3266c: 0x6d1b0e20, 0x3266d: 0x6d491e20, 0x3266e: 0x6d492020, 0x3266f: 0x6d492220, + 0x32670: 0x6d492420, 0x32671: 0x6d492620, 0x32672: 0x6d492820, 0x32673: 0x6d492a20, + 0x32674: 0x6d492c20, 0x32675: 0x6d492e20, 0x32676: 0x6d493020, 0x32677: 0x6d493220, + 0x32678: 0x6d493420, 0x32679: 0x6d5ad220, 0x3267a: 0x6d76f020, 0x3267b: 0x6d76f220, + 0x3267c: 0x6d76f420, 0x3267d: 0x6d76f620, 0x3267e: 0x6d76f820, 0x3267f: 0x6da08a20, + // Block 0xc9a, offset 0x32680 + 0x32680: 0x6dc2e820, 0x32681: 0x6dc2ea20, 0x32682: 0x6dc2ec20, 0x32683: 0x6dc2ee20, + 0x32684: 0x6dc2f020, 0x32685: 0x6dc2f220, 0x32686: 0x6dc2f420, 0x32687: 0x6df8c620, + 0x32688: 0x6dfbb620, 0x32689: 0x6e0c8820, 0x3268a: 0x6e0c8a20, 0x3268b: 0x6e1c2a20, + 0x3268c: 0x6e286a20, 0x3268d: 0x6e286c20, 0x3268e: 0x6e286e20, 0x3268f: 0x6e319820, + 0x32690: 0x6e442420, 0x32691: 0x6e462220, 0x32692: 0x6e467c20, 0x32693: 0x6c017620, + 0x32694: 0x6c017820, 0x32695: 0x6c017a20, 0x32696: 0x6c017c20, 0x32697: 0x6c039820, + 0x32698: 0x6c039a20, 0x32699: 0x6c071020, 0x3269a: 0x6c071220, 0x3269b: 0x6c071420, + 0x3269c: 0x6c071620, 0x3269d: 0x6c071820, 0x3269e: 0x6c0df620, 0x3269f: 0x6c0df820, + 0x326a0: 0x6c0dfa20, 0x326a1: 0x6c0dfc20, 0x326a2: 0x6c0dfe20, 0x326a3: 0x6c0e0020, + 0x326a4: 0x6c0e0220, 0x326a5: 0x6c0e0420, 0x326a6: 0x6c190620, 0x326a7: 0x6c190820, + 0x326a8: 0x6c190a20, 0x326a9: 0x6c2c2e20, 0x326aa: 0x6c2c3020, 0x326ab: 0x6c2c3220, + 0x326ac: 0x6c2c3420, 0x326ad: 0x6c2c3620, 0x326ae: 0x6c2ab020, 0x326af: 0x6c2c3820, + 0x326b0: 0x6c462c20, 0x326b1: 0x6c462e20, 0x326b2: 0x6c463020, 0x326b3: 0x6c464a20, + 0x326b4: 0x6c463220, 0x326b5: 0x6c463420, 0x326b6: 0x6c463620, 0x326b7: 0x6c463820, + 0x326b8: 0x6c463a20, 0x326b9: 0x6c677220, 0x326ba: 0x6c677420, 0x326bb: 0x6c677620, + 0x326bc: 0x6c677820, 0x326bd: 0x6c8dea20, 0x326be: 0x6c8dec20, 0x326bf: 0x6cba3020, + // Block 0xc9b, offset 0x326c0 + 0x326c0: 0x6cba3220, 0x326c1: 0x6cba3420, 0x326c2: 0x6cba3620, 0x326c3: 0x6cba3820, + 0x326c4: 0x6cba3a20, 0x326c5: 0x6cba3c20, 0x326c6: 0x6ceb2220, 0x326c7: 0x6ceb2420, + 0x326c8: 0x6ceb2620, 0x326c9: 0x6ceb2820, 0x326ca: 0x6ceb2a20, 0x326cb: 0x6ceb2c20, + 0x326cc: 0x6ceb2e20, 0x326cd: 0x6d1b1820, 0x326ce: 0x6d1b1a20, 0x326cf: 0x6d1b1c20, + 0x326d0: 0x6d1b1e20, 0x326d1: 0x6d493e20, 0x326d2: 0x6d494020, 0x326d3: 0x6d76fa20, + 0x326d4: 0x6de07220, 0x326d5: 0x6da08e20, 0x326d6: 0x6da09020, 0x326d7: 0x6da09220, + 0x326d8: 0x6de07420, 0x326d9: 0x6de07620, 0x326da: 0x6c03aa20, 0x326db: 0x6c03ac20, + 0x326dc: 0x6c03ae20, 0x326dd: 0x6c03b020, 0x326de: 0x6c03b220, 0x326df: 0x6c03b420, + 0x326e0: 0x6c03b620, 0x326e1: 0x6c072020, 0x326e2: 0x6c072220, 0x326e3: 0x6c072420, + 0x326e4: 0x6c072620, 0x326e5: 0x6c072820, 0x326e6: 0x6c072a20, 0x326e7: 0x6c072c20, + 0x326e8: 0x6c072e20, 0x326e9: 0x6c0e0a20, 0x326ea: 0x6c0e0c20, 0x326eb: 0x6c0e0e20, + 0x326ec: 0x6c0e1020, 0x326ed: 0x6c0e1220, 0x326ee: 0x6c0e1420, 0x326ef: 0x6c0e1620, + 0x326f0: 0x6c0e1820, 0x326f1: 0x6c191020, 0x326f2: 0x6c191220, 0x326f3: 0x6c191420, + 0x326f4: 0x6c191620, 0x326f5: 0x6c191820, 0x326f6: 0x6c191a20, 0x326f7: 0x6c191c20, + 0x326f8: 0x6c191e20, 0x326f9: 0x6c2c4620, 0x326fa: 0x6c2c4820, 0x326fb: 0x6c2c4a20, + 0x326fc: 0x6c2c4c20, 0x326fd: 0x6c2c4e20, 0x326fe: 0x6c2c5020, 0x326ff: 0x6c464c20, + // Block 0xc9c, offset 0x32700 + 0x32700: 0x6c464e20, 0x32701: 0x6c465020, 0x32702: 0x6c465220, 0x32703: 0x6c465420, + 0x32704: 0x6c465620, 0x32705: 0x6c465820, 0x32706: 0x6c465a20, 0x32707: 0x6c465c20, + 0x32708: 0x6c465e20, 0x32709: 0x6c45e220, 0x3270a: 0x6c678020, 0x3270b: 0x6c678220, + 0x3270c: 0x6c678420, 0x3270d: 0x6c678620, 0x3270e: 0x6c678820, 0x3270f: 0x6c678a20, + 0x32710: 0x6c678c20, 0x32711: 0x6c678e20, 0x32712: 0x6c679020, 0x32713: 0x6c679220, + 0x32714: 0x6c679420, 0x32715: 0x6c8df020, 0x32716: 0x6c8df220, 0x32717: 0x6c8df420, + 0x32718: 0x6c8df620, 0x32719: 0x6c8df820, 0x3271a: 0x6c8dfa20, 0x3271b: 0x6c8dfc20, + 0x3271c: 0x6c8dfe20, 0x3271d: 0x6c8e0020, 0x3271e: 0x6c8e0220, 0x3271f: 0x6c8e0420, + 0x32720: 0x6c8e0620, 0x32721: 0x6c8e0820, 0x32722: 0x6c8e0a20, 0x32723: 0x6c8e0c20, + 0x32724: 0x6c8e0e20, 0x32725: 0x6cba4420, 0x32726: 0x6cba4620, 0x32727: 0x6cba4820, + 0x32728: 0x6cba4a20, 0x32729: 0x6cba4c20, 0x3272a: 0x6cba4e20, 0x3272b: 0x6cba5020, + 0x3272c: 0x6cba5220, 0x3272d: 0x6cba5420, 0x3272e: 0x6cba5620, 0x3272f: 0x6ceb3620, + 0x32730: 0x6ceb3820, 0x32731: 0x6ceb3a20, 0x32732: 0x6ceb3c20, 0x32733: 0x6ceb3e20, + 0x32734: 0x6ceb4020, 0x32735: 0x6ceb4220, 0x32736: 0x6cee5e20, 0x32737: 0x6ceb4420, + 0x32738: 0x6ceb4620, 0x32739: 0x6ceb4820, 0x3273a: 0x6ceb4a20, 0x3273b: 0x6d19d820, + 0x3273c: 0x6d1b2220, 0x3273d: 0x6d1b2420, 0x3273e: 0x6d1b2620, 0x3273f: 0x6d1b2820, + // Block 0xc9d, offset 0x32740 + 0x32740: 0x6d1b2a20, 0x32741: 0x6d1b2c20, 0x32742: 0x6d1b2e20, 0x32743: 0x6d494420, + 0x32744: 0x6d494620, 0x32745: 0x6d494820, 0x32746: 0x6d494a20, 0x32747: 0x6d76fe20, + 0x32748: 0x6d770020, 0x32749: 0x6d770220, 0x3274a: 0x6d770420, 0x3274b: 0x6d770620, + 0x3274c: 0x6d770820, 0x3274d: 0x6da09420, 0x3274e: 0x6da09620, 0x3274f: 0x6da09820, + 0x32750: 0x6dc2f820, 0x32751: 0x6de07a20, 0x32752: 0x6de07c20, 0x32753: 0x6e0c8c20, + 0x32754: 0x6e0c8e20, 0x32755: 0x6e1c2c20, 0x32756: 0x6e287020, 0x32757: 0x6e319a20, + 0x32758: 0x6e319c20, 0x32759: 0x6c03bc20, 0x3275a: 0x6c03be20, 0x3275b: 0x6c03c020, + 0x3275c: 0x6c03c220, 0x3275d: 0x6c03c420, 0x3275e: 0x6c03c620, 0x3275f: 0x6c076e20, + 0x32760: 0x6c077020, 0x32761: 0x6c077220, 0x32762: 0x6c077420, 0x32763: 0x6c077620, + 0x32764: 0x6c077820, 0x32765: 0x6c077a20, 0x32766: 0x6c077c20, 0x32767: 0x6c077e20, + 0x32768: 0x6c078020, 0x32769: 0x6c078220, 0x3276a: 0x6c078420, 0x3276b: 0x6c0e5420, + 0x3276c: 0x6c0e5620, 0x3276d: 0x6c0e5820, 0x3276e: 0x6c0e5a20, 0x3276f: 0x6c0e5c20, + 0x32770: 0x6c0e5e20, 0x32771: 0x6c0e6020, 0x32772: 0x6c0e6220, 0x32773: 0x6c0e6420, + 0x32774: 0x6c0e6620, 0x32775: 0x6c0e6820, 0x32776: 0x6c0e6a20, 0x32777: 0x6c0e6c20, + 0x32778: 0x6c0e6e20, 0x32779: 0x6c0e7020, 0x3277a: 0x6c0e7220, 0x3277b: 0x6c0e7420, + 0x3277c: 0x6c0e7620, 0x3277d: 0x6c0e7820, 0x3277e: 0x6c0e7a20, 0x3277f: 0x6c0e7c20, + // Block 0xc9e, offset 0x32780 + 0x32780: 0x6c0e7e20, 0x32781: 0x6c0e8020, 0x32782: 0x6c0e8220, 0x32783: 0x6c0e8420, + 0x32784: 0x6c0e8620, 0x32785: 0x6c0e8820, 0x32786: 0x6c0e8a20, 0x32787: 0x6c0e8c20, + 0x32788: 0x6c0e8e20, 0x32789: 0x6c0e9020, 0x3278a: 0x6c0e9220, 0x3278b: 0x6c19ca20, + 0x3278c: 0x6c19cc20, 0x3278d: 0x6c19ce20, 0x3278e: 0x6c19d020, 0x3278f: 0x6c19d220, + 0x32790: 0x6c19d420, 0x32791: 0x6c19d620, 0x32792: 0x6c19d820, 0x32793: 0x6c19da20, + 0x32794: 0x6c19dc20, 0x32795: 0x6c19de20, 0x32796: 0x6c19e020, 0x32797: 0x6c19e220, + 0x32798: 0x6c19e420, 0x32799: 0x6c19e620, 0x3279a: 0x6c19e820, 0x3279b: 0x6c19ea20, + 0x3279c: 0x6c19ec20, 0x3279d: 0x6c19ee20, 0x3279e: 0x6c19f020, 0x3279f: 0x6c19f220, + 0x327a0: 0x6c19f420, 0x327a1: 0x6c19f620, 0x327a2: 0x6c19f820, 0x327a3: 0x6c19fa20, + 0x327a4: 0x6c19fc20, 0x327a5: 0x6c19fe20, 0x327a6: 0x6c1a0020, 0x327a7: 0x6c1a0220, + 0x327a8: 0x6c1a0420, 0x327a9: 0x6c1a0620, 0x327aa: 0x6c1a0820, 0x327ab: 0x6c1a0a20, + 0x327ac: 0x6c1a0c20, 0x327ad: 0x6c1a0e20, 0x327ae: 0x6c1a1020, 0x327af: 0x6c1a1220, + 0x327b0: 0x6c1a1420, 0x327b1: 0x6c1a1620, 0x327b2: 0x6c1a1820, 0x327b3: 0x6c1a1a20, + 0x327b4: 0x6c1a1c20, 0x327b5: 0x6c1a1e20, 0x327b6: 0x6c1a2020, 0x327b7: 0x6c1a2220, + 0x327b8: 0x6c1a2420, 0x327b9: 0x6c1a2620, 0x327ba: 0x6c1a2820, 0x327bb: 0x6c1a2a20, + 0x327bc: 0x6c1a2c20, 0x327bd: 0x6c1a2e20, 0x327be: 0x6c1a3020, 0x327bf: 0x6c1a3220, + // Block 0xc9f, offset 0x327c0 + 0x327c0: 0x6c1a3420, 0x327c1: 0x6c1a3620, 0x327c2: 0x6c1a3820, 0x327c3: 0x6c1a3a20, + 0x327c4: 0x6c1a3c20, 0x327c5: 0x6c1a3e20, 0x327c6: 0x6c1a4020, 0x327c7: 0x6c1a4220, + 0x327c8: 0x6c2ce620, 0x327c9: 0x6c2ce820, 0x327ca: 0x6c2cea20, 0x327cb: 0x6c2cec20, + 0x327cc: 0x6c2cee20, 0x327cd: 0x6c2cf020, 0x327ce: 0x6c2cf220, 0x327cf: 0x6c2cf420, + 0x327d0: 0x6c2cf620, 0x327d1: 0x6c2cf820, 0x327d2: 0x6c2cfa20, 0x327d3: 0x6c2cfc20, + 0x327d4: 0x6c2cfe20, 0x327d5: 0x6c2d0020, 0x327d6: 0x6c2d0220, 0x327d7: 0x6c2d0420, + 0x327d8: 0x6c2d0620, 0x327d9: 0x6c2d0820, 0x327da: 0x6c2d0a20, 0x327db: 0x6c2d0c20, + 0x327dc: 0x6c2d0e20, 0x327dd: 0x6c2d1020, 0x327de: 0x6c2d1220, 0x327df: 0x6c2d1420, + 0x327e0: 0x6c2d1620, 0x327e1: 0x6c2d1820, 0x327e2: 0x6c2d1a20, 0x327e3: 0x6c2d1c20, + 0x327e4: 0x6c2d1e20, 0x327e5: 0x6c2d2020, 0x327e6: 0x6c2d2220, 0x327e7: 0x6c2d2420, + 0x327e8: 0x6c2d2620, 0x327e9: 0x6c2d2820, 0x327ea: 0x6c2d2a20, 0x327eb: 0x6c2d2c20, + 0x327ec: 0x6c2d2e20, 0x327ed: 0x6c2d3020, 0x327ee: 0x6c2d3220, 0x327ef: 0x6c2d3420, + 0x327f0: 0x6c2d3620, 0x327f1: 0x6c2d3820, 0x327f2: 0x6c2d3a20, 0x327f3: 0x6c2d3c20, + 0x327f4: 0x6c2d3e20, 0x327f5: 0x6c2d4020, 0x327f6: 0x6c2d4220, 0x327f7: 0x6c2d4420, + 0x327f8: 0x6c2d4620, 0x327f9: 0x6c2d4820, 0x327fa: 0x6c2d4a20, 0x327fb: 0x6c2d4c20, + 0x327fc: 0x6c2d4e20, 0x327fd: 0x6c2d5020, 0x327fe: 0x6c2d5220, 0x327ff: 0x6c2d5420, + // Block 0xca0, offset 0x32800 + 0x32800: 0x6c2d5620, 0x32801: 0x6c2d5820, 0x32802: 0x6c2d5a20, 0x32803: 0x6c2d5c20, + 0x32804: 0x6c2d5e20, 0x32805: 0x6c2d6020, 0x32806: 0x6c2d6220, 0x32807: 0x6c2d6420, + 0x32808: 0x6c2d6620, 0x32809: 0x6c2d6820, 0x3280a: 0x6c2d6a20, 0x3280b: 0x6c2d6c20, + 0x3280c: 0x6c2d6e20, 0x3280d: 0x6c2d7020, 0x3280e: 0x6c2d7220, 0x3280f: 0x6c2d7420, + 0x32810: 0x6c470e20, 0x32811: 0x6c471020, 0x32812: 0x6c471220, 0x32813: 0x6c471420, + 0x32814: 0x6c471620, 0x32815: 0x6c471820, 0x32816: 0x6c471a20, 0x32817: 0x6c471c20, + 0x32818: 0x6c471e20, 0x32819: 0x6c472020, 0x3281a: 0x6c472220, 0x3281b: 0x6c472420, + 0x3281c: 0x6c472620, 0x3281d: 0x6c472820, 0x3281e: 0x6c472a20, 0x3281f: 0x6c472c20, + 0x32820: 0x6c472e20, 0x32821: 0x6c473020, 0x32822: 0x6c473220, 0x32823: 0x6c473420, + 0x32824: 0x6c473620, 0x32825: 0x6c473820, 0x32826: 0x6c473a20, 0x32827: 0x6c473c20, + 0x32828: 0x6c473e20, 0x32829: 0x6c474020, 0x3282a: 0x6c474220, 0x3282b: 0x6c474420, + 0x3282c: 0x6c474620, 0x3282d: 0x6c474820, 0x3282e: 0x6c474a20, 0x3282f: 0x6c474c20, + 0x32830: 0x6c474e20, 0x32831: 0x6c475020, 0x32832: 0x6c475220, 0x32833: 0x6c475420, + 0x32834: 0x6c475620, 0x32835: 0x6c475820, 0x32836: 0x6c475a20, 0x32837: 0x6c475c20, + 0x32838: 0x6c475e20, 0x32839: 0x6c476020, 0x3283a: 0x6c476220, 0x3283b: 0x6c476420, + 0x3283c: 0x6c476620, 0x3283d: 0x6c476820, 0x3283e: 0x6c476a20, 0x3283f: 0x6c476c20, + // Block 0xca1, offset 0x32840 + 0x32840: 0x6c476e20, 0x32841: 0x6c477020, 0x32842: 0x6c477220, 0x32843: 0x6c477420, + 0x32844: 0x6c477620, 0x32845: 0x6c477820, 0x32846: 0x6c477a20, 0x32847: 0x6c477c20, + 0x32848: 0x6c477e20, 0x32849: 0x6c478020, 0x3284a: 0x6c478220, 0x3284b: 0x6c478420, + 0x3284c: 0x6c478620, 0x3284d: 0x6c478820, 0x3284e: 0x6c478a20, 0x3284f: 0x6c478c20, + 0x32850: 0x6c478e20, 0x32851: 0x6c479020, 0x32852: 0x6c479220, 0x32853: 0x6c479420, + 0x32854: 0x6c479620, 0x32855: 0x6c479820, 0x32856: 0x6c479a20, 0x32857: 0x6c479c20, + 0x32858: 0x6c479e20, 0x32859: 0x6c47a020, 0x3285a: 0x6c47a220, 0x3285b: 0x6c47a420, + 0x3285c: 0x6c47a620, 0x3285d: 0x6c47a820, 0x3285e: 0x6c47aa20, 0x3285f: 0x6c47ac20, + 0x32860: 0x6c47ae20, 0x32861: 0x6c47b020, 0x32862: 0x6c47b220, 0x32863: 0x6c47b420, + 0x32864: 0x6c47b620, 0x32865: 0x6c47b820, 0x32866: 0x6c47ba20, 0x32867: 0x6c47bc20, + 0x32868: 0x6c47be20, 0x32869: 0x6c47c020, 0x3286a: 0x6c47c220, 0x3286b: 0x6c47c420, + 0x3286c: 0x6c684820, 0x3286d: 0x6c684a20, 0x3286e: 0x6c684c20, 0x3286f: 0x6c684e20, + 0x32870: 0x6c685020, 0x32871: 0x6c685220, 0x32872: 0x6c685420, 0x32873: 0x6c685620, + 0x32874: 0x6c685820, 0x32875: 0x6c685a20, 0x32876: 0x6c685c20, 0x32877: 0x6c685e20, + 0x32878: 0x6c686020, 0x32879: 0x6c686220, 0x3287a: 0x6c686420, 0x3287b: 0x6c686620, + 0x3287c: 0x6c686820, 0x3287d: 0x6c686a20, 0x3287e: 0x6c686c20, 0x3287f: 0x6c686e20, + // Block 0xca2, offset 0x32880 + 0x32880: 0x6c687020, 0x32881: 0x6c687220, 0x32882: 0x6c687420, 0x32883: 0x6c687620, + 0x32884: 0x6c687820, 0x32885: 0x6c687a20, 0x32886: 0x6c687c20, 0x32887: 0x6c687e20, + 0x32888: 0x6c688020, 0x32889: 0x6c688220, 0x3288a: 0x6c688420, 0x3288b: 0x6c688620, + 0x3288c: 0x6c688820, 0x3288d: 0x6c688a20, 0x3288e: 0x6c688c20, 0x3288f: 0x6c688e20, + 0x32890: 0x6c689020, 0x32891: 0x6c689220, 0x32892: 0x6c689420, 0x32893: 0x6c689620, + 0x32894: 0x6c689820, 0x32895: 0x6c689a20, 0x32896: 0x6c689c20, 0x32897: 0x6c689e20, + 0x32898: 0x6c68a020, 0x32899: 0x6c68a220, 0x3289a: 0x6c68a420, 0x3289b: 0x6c68a620, + 0x3289c: 0x6c68a820, 0x3289d: 0x6c68aa20, 0x3289e: 0x6c68ac20, 0x3289f: 0x6c68ae20, + 0x328a0: 0x6c68b020, 0x328a1: 0x6c68b220, 0x328a2: 0x6c68b420, 0x328a3: 0x6c68b620, + 0x328a4: 0x6c68b820, 0x328a5: 0x6c8ede20, 0x328a6: 0x6c68ba20, 0x328a7: 0x6c68bc20, + 0x328a8: 0x6c68be20, 0x328a9: 0x6c68c020, 0x328aa: 0x6c68c220, 0x328ab: 0x6c7ab620, + 0x328ac: 0x6c68c420, 0x328ad: 0x6c68c620, 0x328ae: 0x6c68c820, 0x328af: 0x6c68ca20, + 0x328b0: 0x6c68cc20, 0x328b1: 0x6c68ce20, 0x328b2: 0x6c68d020, 0x328b3: 0x6c68d220, + 0x328b4: 0x6c68d420, 0x328b5: 0x6c68d620, 0x328b6: 0x6c68d820, 0x328b7: 0x6c68da20, + 0x328b8: 0x6c68dc20, 0x328b9: 0x6c68de20, 0x328ba: 0x6c68e020, 0x328bb: 0x6c68e220, + 0x328bc: 0x6c68e420, 0x328bd: 0x6c68e620, 0x328be: 0x6c68e820, 0x328bf: 0x6c68ea20, + // Block 0xca3, offset 0x328c0 + 0x328c0: 0x6c68ec20, 0x328c1: 0x6c68ee20, 0x328c2: 0x6c68f020, 0x328c3: 0x6c68f220, + 0x328c4: 0x6c68f420, 0x328c5: 0x6c68f620, 0x328c6: 0x6c68f820, 0x328c7: 0x6c68fa20, + 0x328c8: 0x6c68fc20, 0x328c9: 0x6c68fe20, 0x328ca: 0x6c690020, 0x328cb: 0x6c690220, + 0x328cc: 0x6c690420, 0x328cd: 0x6c690620, 0x328ce: 0x6c690820, 0x328cf: 0x6c690a20, + 0x328d0: 0x6c690c20, 0x328d1: 0x6c690e20, 0x328d2: 0x6c691020, 0x328d3: 0x6c691220, + 0x328d4: 0x6c691420, 0x328d5: 0x6c691620, 0x328d6: 0x6c691820, 0x328d7: 0x6c691a20, + 0x328d8: 0x6c691c20, 0x328d9: 0x6c691e20, 0x328da: 0x6c692020, 0x328db: 0x6c692220, + 0x328dc: 0x6c692420, 0x328dd: 0x6c692620, 0x328de: 0x6c692820, 0x328df: 0x6c692a20, + 0x328e0: 0x6c692c20, 0x328e1: 0x6c692e20, 0x328e2: 0x6c693020, 0x328e3: 0x6c693220, + 0x328e4: 0x6c693420, 0x328e5: 0x6c693620, 0x328e6: 0x6c7a1a20, 0x328e7: 0x6c8ee020, + 0x328e8: 0x6c8ee220, 0x328e9: 0x6c8ee420, 0x328ea: 0x6c8ee620, 0x328eb: 0x6c8ee820, + 0x328ec: 0x6c8eea20, 0x328ed: 0x6c8eec20, 0x328ee: 0x6c8eee20, 0x328ef: 0x6c8ef020, + 0x328f0: 0x6c8ef220, 0x328f1: 0x6c8ef420, 0x328f2: 0x6c8ef620, 0x328f3: 0x6c8ef820, + 0x328f4: 0x6c8efa20, 0x328f5: 0x6c8efc20, 0x328f6: 0x6c8efe20, 0x328f7: 0x6c8f0020, + 0x328f8: 0x6c8f0220, 0x328f9: 0x6c8f0420, 0x328fa: 0x6c8f0620, 0x328fb: 0x6c8f0820, + 0x328fc: 0x6c8f0a20, 0x328fd: 0x6c8f0c20, 0x328fe: 0x6c8f0e20, 0x328ff: 0x6c8f1020, + // Block 0xca4, offset 0x32900 + 0x32900: 0x6c8f1220, 0x32901: 0x6c8f1420, 0x32902: 0x6c8f1620, 0x32903: 0x6c8f1820, + 0x32904: 0x6c8f1a20, 0x32905: 0x6c8f1c20, 0x32906: 0x6c8f1e20, 0x32907: 0x6c8f2020, + 0x32908: 0x6c8f2220, 0x32909: 0x6c8f2420, 0x3290a: 0x6c8f2620, 0x3290b: 0x6c8f2820, + 0x3290c: 0x6c8f2a20, 0x3290d: 0x6c8f2c20, 0x3290e: 0x6c8f2e20, 0x3290f: 0x6c8f3020, + 0x32910: 0x6c8f3220, 0x32911: 0x6c8f3420, 0x32912: 0x6c8f3620, 0x32913: 0x6c8f3820, + 0x32914: 0x6c8f3a20, 0x32915: 0x6c8f3c20, 0x32916: 0x6c8f3e20, 0x32917: 0x6c8f4020, + 0x32918: 0x6c8f4220, 0x32919: 0x6c8f4420, 0x3291a: 0x6c8f4620, 0x3291b: 0x6c8f4820, + 0x3291c: 0x6c8f4a20, 0x3291d: 0x6c8f4c20, 0x3291e: 0x6c8f4e20, 0x3291f: 0x6c8f5020, + 0x32920: 0x6c8f5220, 0x32921: 0x6c8f5420, 0x32922: 0x6c8f5620, 0x32923: 0x6c8f5820, + 0x32924: 0x6c8f5a20, 0x32925: 0x6c8f5c20, 0x32926: 0x6c8f5e20, 0x32927: 0x6c8f6020, + 0x32928: 0x6c8f6220, 0x32929: 0x6c8f6420, 0x3292a: 0x6c8f6620, 0x3292b: 0x6c8f6820, + 0x3292c: 0x6c8f6a20, 0x3292d: 0x6c8f6c20, 0x3292e: 0x6c8f6e20, 0x3292f: 0x6c8f7020, + 0x32930: 0x6c8f7220, 0x32931: 0x6c8f7420, 0x32932: 0x6c8f7620, 0x32933: 0x6c8f7820, + 0x32934: 0x6c8f7a20, 0x32935: 0x6c8f7c20, 0x32936: 0x6c8f7e20, 0x32937: 0x6c8f8020, + 0x32938: 0x6c8f8220, 0x32939: 0x6c8f8420, 0x3293a: 0x6c8f8620, 0x3293b: 0x6c8f8820, + 0x3293c: 0x6c8f8a20, 0x3293d: 0x6c8f8c20, 0x3293e: 0x6c8f8e20, 0x3293f: 0x6c8f9020, + // Block 0xca5, offset 0x32940 + 0x32940: 0x6c8f9220, 0x32941: 0x6c8f9420, 0x32942: 0x6c8f9620, 0x32943: 0x6c8f9820, + 0x32944: 0x6c8f9a20, 0x32945: 0x6c8f9c20, 0x32946: 0x6c8f9e20, 0x32947: 0x6c8fa020, + 0x32948: 0x6c8fa220, 0x32949: 0x6c8fa420, 0x3294a: 0x6c8fa620, 0x3294b: 0x6c8fa820, + 0x3294c: 0x6c8faa20, 0x3294d: 0x6c8fac20, 0x3294e: 0x6c8fae20, 0x3294f: 0x6c8fb020, + 0x32950: 0x6c8fb220, 0x32951: 0x6c8fb420, 0x32952: 0x6c8fb620, 0x32953: 0x6c8fb820, + 0x32954: 0x6c8fba20, 0x32955: 0x6c8fbc20, 0x32956: 0x6c8fbe20, 0x32957: 0x6c8fc020, + 0x32958: 0x6c8fc220, 0x32959: 0x6c8fc420, 0x3295a: 0x6c8fc620, 0x3295b: 0x6c8fc820, + 0x3295c: 0x6c8fca20, 0x3295d: 0x6c8fcc20, 0x3295e: 0x6c8fce20, 0x3295f: 0x6c8fd020, + 0x32960: 0x6c8fd220, 0x32961: 0x6c8fd420, 0x32962: 0x6c8fd620, 0x32963: 0x6c8fd820, + 0x32964: 0x6c8fda20, 0x32965: 0x6c8fdc20, 0x32966: 0x6c8fde20, 0x32967: 0x6c8fe020, + 0x32968: 0x6c8fe220, 0x32969: 0x6c8fe420, 0x3296a: 0x6c8fe620, 0x3296b: 0x6c8fe820, + 0x3296c: 0x6c8fea20, 0x3296d: 0x6c8fec20, 0x3296e: 0x6c8fee20, 0x3296f: 0x6c8ff020, + 0x32970: 0x6c8ff220, 0x32971: 0x6c8ff420, 0x32972: 0x6c8ff620, 0x32973: 0x6c8ff820, + 0x32974: 0x6c8ffa20, 0x32975: 0x6c8ffc20, 0x32976: 0x6c8ffe20, 0x32977: 0x6cbb1e20, + 0x32978: 0x6cbb2020, 0x32979: 0x6cbb2220, 0x3297a: 0x6cbb2420, 0x3297b: 0x6cbb2620, + 0x3297c: 0x6cbb2820, 0x3297d: 0x6cbb2a20, 0x3297e: 0x6cbb2c20, 0x3297f: 0x6cbb2e20, + // Block 0xca6, offset 0x32980 + 0x32980: 0x6cbb3020, 0x32981: 0x6cbb3220, 0x32982: 0x6cbb3420, 0x32983: 0x6cbb3620, + 0x32984: 0x6cbb3820, 0x32985: 0x6cbb3a20, 0x32986: 0x6cbb3c20, 0x32987: 0x6cbb3e20, + 0x32988: 0x6cbb4020, 0x32989: 0x6cbb4220, 0x3298a: 0x6cbb4420, 0x3298b: 0x6cbb4620, + 0x3298c: 0x6cbb4820, 0x3298d: 0x6cbb4a20, 0x3298e: 0x6cbb4c20, 0x3298f: 0x6cbb4e20, + 0x32990: 0x6cbb5020, 0x32991: 0x6cbb5220, 0x32992: 0x6cbb5420, 0x32993: 0x6cbb5620, + 0x32994: 0x6cbb5820, 0x32995: 0x6cbb5a20, 0x32996: 0x6cbb5c20, 0x32997: 0x6cbb5e20, + 0x32998: 0x6cbb6020, 0x32999: 0x6cbb6220, 0x3299a: 0x6cbb6420, 0x3299b: 0x6cbb6620, + 0x3299c: 0x6cbb6820, 0x3299d: 0x6cbb6a20, 0x3299e: 0x6cbb6c20, 0x3299f: 0x6cbb6e20, + 0x329a0: 0x6cbb7020, 0x329a1: 0x6cbb7220, 0x329a2: 0x6cebdc20, 0x329a3: 0x6cbb7420, + 0x329a4: 0x6cbb7620, 0x329a5: 0x6cbb7820, 0x329a6: 0x6cbb7a20, 0x329a7: 0x6cbb7c20, + 0x329a8: 0x6cbb7e20, 0x329a9: 0x6cbb8020, 0x329aa: 0x6cbb8220, 0x329ab: 0x6cbb8420, + 0x329ac: 0x6cbb8620, 0x329ad: 0x6cbb8820, 0x329ae: 0x6cbb8a20, 0x329af: 0x6cbb8c20, + 0x329b0: 0x6cbb8e20, 0x329b1: 0x6cbb9020, 0x329b2: 0x6cbb9220, 0x329b3: 0x6cbb9420, + 0x329b4: 0x6cbb9620, 0x329b5: 0x6cbb9820, 0x329b6: 0x6cbb9a20, 0x329b7: 0x6cbb9c20, + 0x329b8: 0x6cbb9e20, 0x329b9: 0x6cbba020, 0x329ba: 0x6cbba220, 0x329bb: 0x6cbba420, + 0x329bc: 0x6cbba620, 0x329bd: 0x6cbba820, 0x329be: 0x6cbbaa20, 0x329bf: 0x6cbbac20, + // Block 0xca7, offset 0x329c0 + 0x329c0: 0x6cbbae20, 0x329c1: 0x6cbbb020, 0x329c2: 0x6cbbb220, 0x329c3: 0x6cbbb420, + 0x329c4: 0x6cbbb620, 0x329c5: 0x6cbbb820, 0x329c6: 0x6cbbba20, 0x329c7: 0x6cbbbc20, + 0x329c8: 0x6cbbbe20, 0x329c9: 0x6cbbc020, 0x329ca: 0x6cbbc220, 0x329cb: 0x6cbbc420, + 0x329cc: 0x6cbbc620, 0x329cd: 0x6cbbc820, 0x329ce: 0x6cbbca20, 0x329cf: 0x6cbbcc20, + 0x329d0: 0x6cbbce20, 0x329d1: 0x6cbbd020, 0x329d2: 0x6cbbd220, 0x329d3: 0x6cbbd420, + 0x329d4: 0x6cbbd620, 0x329d5: 0x6cbbd820, 0x329d6: 0x6cbbda20, 0x329d7: 0x6cbbdc20, + 0x329d8: 0x6cbbde20, 0x329d9: 0x6cbbe020, 0x329da: 0x6cbbe220, 0x329db: 0x6cbbe420, + 0x329dc: 0x6cbbe620, 0x329dd: 0x6cbbe820, 0x329de: 0x6cbbea20, 0x329df: 0x6cbbec20, + 0x329e0: 0x6cbbee20, 0x329e1: 0x6cbbf020, 0x329e2: 0x6cbbf220, 0x329e3: 0x6cbbf420, + 0x329e4: 0x6cbbf620, 0x329e5: 0x6cbbf820, 0x329e6: 0x6cbbfa20, 0x329e7: 0x6cbbfc20, + 0x329e8: 0x6cbbfe20, 0x329e9: 0x6cbc0020, 0x329ea: 0x6cbc0220, 0x329eb: 0x6cbc0420, + 0x329ec: 0x6cbc0620, 0x329ed: 0x6cbc0820, 0x329ee: 0x6cbc0a20, 0x329ef: 0x6cbc0c20, + 0x329f0: 0x6cbc0e20, 0x329f1: 0x6cbc1020, 0x329f2: 0x6cbc1220, 0x329f3: 0x6cbc1420, + 0x329f4: 0x6cbc1620, 0x329f5: 0x6cbc1820, 0x329f6: 0x6cebde20, 0x329f7: 0x6cebe020, + 0x329f8: 0x6cebe220, 0x329f9: 0x6cebe420, 0x329fa: 0x6cebe620, 0x329fb: 0x6cbc1a20, + 0x329fc: 0x6cbc1c20, 0x329fd: 0x6cbc1e20, 0x329fe: 0x6cbc2020, 0x329ff: 0x6cebe820, + // Block 0xca8, offset 0x32a00 + 0x32a00: 0x6cebea20, 0x32a01: 0x6cebec20, 0x32a02: 0x6cebee20, 0x32a03: 0x6cebf020, + 0x32a04: 0x6cebf220, 0x32a05: 0x6cebf420, 0x32a06: 0x6cebf620, 0x32a07: 0x6cebf820, + 0x32a08: 0x6cebfa20, 0x32a09: 0x6cebfc20, 0x32a0a: 0x6cebfe20, 0x32a0b: 0x6cec0020, + 0x32a0c: 0x6cec0220, 0x32a0d: 0x6cec0420, 0x32a0e: 0x6cec0620, 0x32a0f: 0x6cec0820, + 0x32a10: 0x6cec0a20, 0x32a11: 0x6cec0c20, 0x32a12: 0x6cec0e20, 0x32a13: 0x6cec1020, + 0x32a14: 0x6cec1220, 0x32a15: 0x6cec1420, 0x32a16: 0x6cec1620, 0x32a17: 0x6cec1820, + 0x32a18: 0x6cec1a20, 0x32a19: 0x6cec1c20, 0x32a1a: 0x6cec1e20, 0x32a1b: 0x6cec2020, + 0x32a1c: 0x6cec2220, 0x32a1d: 0x6cec2420, 0x32a1e: 0x6cec2620, 0x32a1f: 0x6cec2820, + 0x32a20: 0x6cec2a20, 0x32a21: 0x6cec2c20, 0x32a22: 0x6cec2e20, 0x32a23: 0x6cec3020, + 0x32a24: 0x6cec3220, 0x32a25: 0x6cec3420, 0x32a26: 0x6cec3620, 0x32a27: 0x6cec3820, + 0x32a28: 0x6cec3a20, 0x32a29: 0x6cec3c20, 0x32a2a: 0x6cec3e20, 0x32a2b: 0x6cec4020, + 0x32a2c: 0x6cec4220, 0x32a2d: 0x6cec4420, 0x32a2e: 0x6cec4620, 0x32a2f: 0x6cec4820, + 0x32a30: 0x6d49ce20, 0x32a31: 0x6d49d020, 0x32a32: 0x6d49d220, 0x32a33: 0x6cec4a20, + 0x32a34: 0x6cec4c20, 0x32a35: 0x6cec4e20, 0x32a36: 0x6cec5020, 0x32a37: 0x6cec5220, + 0x32a38: 0x6cec5420, 0x32a39: 0x6cec5620, 0x32a3a: 0x6cec5820, 0x32a3b: 0x6cec5a20, + 0x32a3c: 0x6cec5c20, 0x32a3d: 0x6cec5e20, 0x32a3e: 0x6cec6020, 0x32a3f: 0x6cec6220, + // Block 0xca9, offset 0x32a40 + 0x32a40: 0x6cec6420, 0x32a41: 0x6cec6620, 0x32a42: 0x6cec6820, 0x32a43: 0x6cec6a20, + 0x32a44: 0x6cec6c20, 0x32a45: 0x6cec6e20, 0x32a46: 0x6cec7020, 0x32a47: 0x6cec7220, + 0x32a48: 0x6cec7420, 0x32a49: 0x6cec7620, 0x32a4a: 0x6cec7820, 0x32a4b: 0x6cec7a20, + 0x32a4c: 0x6cec7c20, 0x32a4d: 0x6cec7e20, 0x32a4e: 0x6cec8020, 0x32a4f: 0x6cec8220, + 0x32a50: 0x6cec8420, 0x32a51: 0x6cec8620, 0x32a52: 0x6cec8820, 0x32a53: 0x6cec8a20, + 0x32a54: 0x6cec8c20, 0x32a55: 0x6cec8e20, 0x32a56: 0x6cec9020, 0x32a57: 0x6cec9220, + 0x32a58: 0x6cec9420, 0x32a59: 0x6cec9620, 0x32a5a: 0x6cec9820, 0x32a5b: 0x6cec9a20, + 0x32a5c: 0x6cec9c20, 0x32a5d: 0x6cec9e20, 0x32a5e: 0x6ceca020, 0x32a5f: 0x6ceca220, + 0x32a60: 0x6ceca420, 0x32a61: 0x6ceca620, 0x32a62: 0x6ceca820, 0x32a63: 0x6cecaa20, + 0x32a64: 0x6cecac20, 0x32a65: 0x6cecae20, 0x32a66: 0x6cecb020, 0x32a67: 0x6cecb220, + 0x32a68: 0x6cecb420, 0x32a69: 0x6cecb620, 0x32a6a: 0x6cecb820, 0x32a6b: 0x6cecba20, + 0x32a6c: 0x6cecbc20, 0x32a6d: 0x6cecbe20, 0x32a6e: 0x6cecc020, 0x32a6f: 0x6cecc220, + 0x32a70: 0x6cecc420, 0x32a71: 0x6cecc620, 0x32a72: 0x6cecc820, 0x32a73: 0x6cecca20, + 0x32a74: 0x6ceccc20, 0x32a75: 0x6cecce20, 0x32a76: 0x6cecd020, 0x32a77: 0x6cecd220, + 0x32a78: 0x6cecd420, 0x32a79: 0x6cecd620, 0x32a7a: 0x6cecd820, 0x32a7b: 0x6cecda20, + 0x32a7c: 0x6cecdc20, 0x32a7d: 0x6cecde20, 0x32a7e: 0x6cece020, 0x32a7f: 0x6cece220, + // Block 0xcaa, offset 0x32a80 + 0x32a80: 0x6cece420, 0x32a81: 0x6cece620, 0x32a82: 0x6cece820, 0x32a83: 0x6cecea20, + 0x32a84: 0x6cecec20, 0x32a85: 0x6cecee20, 0x32a86: 0x6cecf020, 0x32a87: 0x6cecf220, + 0x32a88: 0x6cecf420, 0x32a89: 0x6cecf620, 0x32a8a: 0x6cecf820, 0x32a8b: 0x6cecfa20, + 0x32a8c: 0x6cecfc20, 0x32a8d: 0x6cecfe20, 0x32a8e: 0x6ced0020, 0x32a8f: 0x6ced0220, + 0x32a90: 0x6ced0420, 0x32a91: 0x6ced0620, 0x32a92: 0x6ced0820, 0x32a93: 0x6ced0a20, + 0x32a94: 0x6d1bb620, 0x32a95: 0x6d1bb820, 0x32a96: 0x6d1bba20, 0x32a97: 0x6d1bbc20, + 0x32a98: 0x6d1bbe20, 0x32a99: 0x6d1bc020, 0x32a9a: 0x6d1bc220, 0x32a9b: 0x6d1bc420, + 0x32a9c: 0x6d1bc620, 0x32a9d: 0x6d1bc820, 0x32a9e: 0x6d1bca20, 0x32a9f: 0x6d1bcc20, + 0x32aa0: 0x6d1bce20, 0x32aa1: 0x6d1bd020, 0x32aa2: 0x6d1bd220, 0x32aa3: 0x6d1bd420, + 0x32aa4: 0x6d1bd620, 0x32aa5: 0x6d1bd820, 0x32aa6: 0x6d1bda20, 0x32aa7: 0x6d1bdc20, + 0x32aa8: 0x6d1bde20, 0x32aa9: 0x6d1be020, 0x32aaa: 0x6d1be220, 0x32aab: 0x6d1be420, + 0x32aac: 0x6d1be620, 0x32aad: 0x6d1be820, 0x32aae: 0x6d1bea20, 0x32aaf: 0x6d1bec20, + 0x32ab0: 0x6d1bee20, 0x32ab1: 0x6d1bf020, 0x32ab2: 0x6d1bf220, 0x32ab3: 0x6d1bf420, + 0x32ab4: 0x6d1bf620, 0x32ab5: 0x6d1bf820, 0x32ab6: 0x6d1bfa20, 0x32ab7: 0x6d1bfc20, + 0x32ab8: 0x6d1bfe20, 0x32ab9: 0x6d1c0020, 0x32aba: 0x6d1c0220, 0x32abb: 0x6d1c0420, + 0x32abc: 0x6d1c0620, 0x32abd: 0x6d1c0820, 0x32abe: 0x6d1c0a20, 0x32abf: 0x6d1c0c20, + // Block 0xcab, offset 0x32ac0 + 0x32ac0: 0x6d1c0e20, 0x32ac1: 0x6d1c1020, 0x32ac2: 0x6d1c1220, 0x32ac3: 0x6d1c1420, + 0x32ac4: 0x6d1c1620, 0x32ac5: 0x6d1c1820, 0x32ac6: 0x6d1c1a20, 0x32ac7: 0x6d1c1c20, + 0x32ac8: 0x6d1c1e20, 0x32ac9: 0x6d1c2020, 0x32aca: 0x6d1c2220, 0x32acb: 0x6d1c2420, + 0x32acc: 0x6d1c2620, 0x32acd: 0x6d1c2820, 0x32ace: 0x6d1c2a20, 0x32acf: 0x6d1c2c20, + 0x32ad0: 0x6d1c2e20, 0x32ad1: 0x6d1c3020, 0x32ad2: 0x6d1c3220, 0x32ad3: 0x6d1c3420, + 0x32ad4: 0x6d1c3620, 0x32ad5: 0x6d1c3820, 0x32ad6: 0x6d1c3a20, 0x32ad7: 0x6d1c3c20, + 0x32ad8: 0x6d1c3e20, 0x32ad9: 0x6d1c4020, 0x32ada: 0x6d1c4220, 0x32adb: 0x6d1c4420, + 0x32adc: 0x6d1c4620, 0x32add: 0x6d1c4820, 0x32ade: 0x6d1c4a20, 0x32adf: 0x6d1c4c20, + 0x32ae0: 0x6d1c4e20, 0x32ae1: 0x6d1c5020, 0x32ae2: 0x6d1c5220, 0x32ae3: 0x6d1c5420, + 0x32ae4: 0x6d1c5620, 0x32ae5: 0x6d1c5820, 0x32ae6: 0x6d1c5a20, 0x32ae7: 0x6d1c5c20, + 0x32ae8: 0x6d1c5e20, 0x32ae9: 0x6d1c6020, 0x32aea: 0x6d1c6220, 0x32aeb: 0x6d1c6420, + 0x32aec: 0x6d1c6620, 0x32aed: 0x6d1c6820, 0x32aee: 0x6d1c6a20, 0x32aef: 0x6d1c6c20, + 0x32af0: 0x6d1c6e20, 0x32af1: 0x6d1c7020, 0x32af2: 0x6d1c7220, 0x32af3: 0x6d1c7420, + 0x32af4: 0x6d1c7620, 0x32af5: 0x6d1c7820, 0x32af6: 0x6d1c7a20, 0x32af7: 0x6d1c7c20, + 0x32af8: 0x6d1c7e20, 0x32af9: 0x6d1c8020, 0x32afa: 0x6d1c8220, 0x32afb: 0x6d1c8420, + 0x32afc: 0x6d1c8620, 0x32afd: 0x6d1c8820, 0x32afe: 0x6d1c8a20, 0x32aff: 0x6d1c8c20, + // Block 0xcac, offset 0x32b00 + 0x32b00: 0x6d1c8e20, 0x32b01: 0x6d1c9020, 0x32b02: 0x6d1c9220, 0x32b03: 0x6d1c9420, + 0x32b04: 0x6d1c9620, 0x32b05: 0x6d1c9820, 0x32b06: 0x6d1c9a20, 0x32b07: 0x6d1c9c20, + 0x32b08: 0x6d1c9e20, 0x32b09: 0x6d1ca020, 0x32b0a: 0x6d1ca220, 0x32b0b: 0x6d1ca420, + 0x32b0c: 0x6d1ca620, 0x32b0d: 0x6d1ca820, 0x32b0e: 0x6d1caa20, 0x32b0f: 0x6d1cac20, + 0x32b10: 0x6d1cae20, 0x32b11: 0x6d1cb020, 0x32b12: 0x6d1cb220, 0x32b13: 0x6d1cb420, + 0x32b14: 0x6d1cb620, 0x32b15: 0x6d1cb820, 0x32b16: 0x6d1cba20, 0x32b17: 0x6d1cbc20, + 0x32b18: 0x6d1cbe20, 0x32b19: 0x6d1cc020, 0x32b1a: 0x6d1cc220, 0x32b1b: 0x6d1cc420, + 0x32b1c: 0x6d1cc620, 0x32b1d: 0x6d1cc820, 0x32b1e: 0x6d1cca20, 0x32b1f: 0x6d1ccc20, + 0x32b20: 0x6d1cce20, 0x32b21: 0x6d49d420, 0x32b22: 0x6d49d620, 0x32b23: 0x6d49d820, + 0x32b24: 0x6d49da20, 0x32b25: 0x6d49dc20, 0x32b26: 0x6d49de20, 0x32b27: 0x6d49e020, + 0x32b28: 0x6d49e220, 0x32b29: 0x6d49e420, 0x32b2a: 0x6d49e620, 0x32b2b: 0x6d49e820, + 0x32b2c: 0x6d49ea20, 0x32b2d: 0x6d49ec20, 0x32b2e: 0x6d49ee20, 0x32b2f: 0x6d49f020, + 0x32b30: 0x6d49f220, 0x32b31: 0x6d49f420, 0x32b32: 0x6d49f620, 0x32b33: 0x6d49f820, + 0x32b34: 0x6d49fa20, 0x32b35: 0x6d49fc20, 0x32b36: 0x6d49fe20, 0x32b37: 0x6d4a0020, + 0x32b38: 0x6d4a0220, 0x32b39: 0x6d4a0420, 0x32b3a: 0x6d4a0620, 0x32b3b: 0x6d4a0820, + 0x32b3c: 0x6d4a0a20, 0x32b3d: 0x6d4a0c20, 0x32b3e: 0x6d4a0e20, 0x32b3f: 0x6d4a1020, + // Block 0xcad, offset 0x32b40 + 0x32b40: 0x6d4a1220, 0x32b41: 0x6d4a1420, 0x32b42: 0x6d4a1620, 0x32b43: 0x6d4a1820, + 0x32b44: 0x6d4a1a20, 0x32b45: 0x6d4a1c20, 0x32b46: 0x6d4a1e20, 0x32b47: 0x6d4a2020, + 0x32b48: 0x6d4a2220, 0x32b49: 0x6d4a2420, 0x32b4a: 0x6d4a2620, 0x32b4b: 0x6d4a2820, + 0x32b4c: 0x6d4a2a20, 0x32b4d: 0x6d4a2c20, 0x32b4e: 0x6d4a2e20, 0x32b4f: 0x6d4a3020, + 0x32b50: 0x6d4a3220, 0x32b51: 0x6d4a3420, 0x32b52: 0x6d4a3620, 0x32b53: 0x6d4a3820, + 0x32b54: 0x6d4a3a20, 0x32b55: 0x6d4a3c20, 0x32b56: 0x6d4a3e20, 0x32b57: 0x6d4a4020, + 0x32b58: 0x6d4a4220, 0x32b59: 0x6d4a4420, 0x32b5a: 0x6d4a4620, 0x32b5b: 0x6d4a4820, + 0x32b5c: 0x6d4a4a20, 0x32b5d: 0x6d4a4c20, 0x32b5e: 0x6d4a4e20, 0x32b5f: 0x6d4a5020, + 0x32b60: 0x6d4a5220, 0x32b61: 0x6d4a5420, 0x32b62: 0x6d4a5620, 0x32b63: 0x6d4a5820, + 0x32b64: 0x6d4a5a20, 0x32b65: 0x6d4a5c20, 0x32b66: 0x6d4a5e20, 0x32b67: 0x6d311620, + 0x32b68: 0x6d4a6020, 0x32b69: 0x6d4a6220, 0x32b6a: 0x6d4a6420, 0x32b6b: 0x6d4a6620, + 0x32b6c: 0x6d4a6820, 0x32b6d: 0x6d4a6a20, 0x32b6e: 0x6d4a6c20, 0x32b6f: 0x6d4a6e20, + 0x32b70: 0x6d4a7020, 0x32b71: 0x6d4a7220, 0x32b72: 0x6d4a7420, 0x32b73: 0x6d4a7620, + 0x32b74: 0x6d4a7820, 0x32b75: 0x6d4a7a20, 0x32b76: 0x6d4a7c20, 0x32b77: 0x6d4a7e20, + 0x32b78: 0x6d4a8020, 0x32b79: 0x6d4a8220, 0x32b7a: 0x6d4a8420, 0x32b7b: 0x6d4a8620, + 0x32b7c: 0x6d4a8820, 0x32b7d: 0x6d4a8a20, 0x32b7e: 0x6d4a8c20, 0x32b7f: 0x6d4a8e20, + // Block 0xcae, offset 0x32b80 + 0x32b80: 0x6d4a9020, 0x32b81: 0x6d4a9220, 0x32b82: 0x6d4a9420, 0x32b83: 0x6d4a9620, + 0x32b84: 0x6d4a9820, 0x32b85: 0x6d4a9a20, 0x32b86: 0x6d4a9c20, 0x32b87: 0x6d775e20, + 0x32b88: 0x6d776020, 0x32b89: 0x6d776220, 0x32b8a: 0x6d776420, 0x32b8b: 0x6d776620, + 0x32b8c: 0x6d776820, 0x32b8d: 0x6d776a20, 0x32b8e: 0x6d776c20, 0x32b8f: 0x6d776e20, + 0x32b90: 0x6d777020, 0x32b91: 0x6d777220, 0x32b92: 0x6d777420, 0x32b93: 0x6d777620, + 0x32b94: 0x6d777820, 0x32b95: 0x6d777a20, 0x32b96: 0x6d777c20, 0x32b97: 0x6d777e20, + 0x32b98: 0x6d778020, 0x32b99: 0x6d778220, 0x32b9a: 0x6d778420, 0x32b9b: 0x6d778620, + 0x32b9c: 0x6d778820, 0x32b9d: 0x6d778a20, 0x32b9e: 0x6d778c20, 0x32b9f: 0x6d778e20, + 0x32ba0: 0x6d779020, 0x32ba1: 0x6d779220, 0x32ba2: 0x6d779420, 0x32ba3: 0x6d779620, + 0x32ba4: 0x6d779820, 0x32ba5: 0x6d779a20, 0x32ba6: 0x6d779c20, 0x32ba7: 0x6d779e20, + 0x32ba8: 0x6d77a020, 0x32ba9: 0x6d77a220, 0x32baa: 0x6d77a420, 0x32bab: 0x6d77a620, + 0x32bac: 0x6d77a820, 0x32bad: 0x6d77aa20, 0x32bae: 0x6d77ac20, 0x32baf: 0x6d77ae20, + 0x32bb0: 0x6d77b020, 0x32bb1: 0x6d77b220, 0x32bb2: 0x6d77b420, 0x32bb3: 0x6d77b620, + 0x32bb4: 0x6d77b820, 0x32bb5: 0x6d77ba20, 0x32bb6: 0x6d77bc20, 0x32bb7: 0x6d77be20, + 0x32bb8: 0x6d77c020, 0x32bb9: 0x6d77c220, 0x32bba: 0x6d77c420, 0x32bbb: 0x6d77c620, + 0x32bbc: 0x6d77c820, 0x32bbd: 0x6d77ca20, 0x32bbe: 0x6d77cc20, 0x32bbf: 0x6d77ce20, + // Block 0xcaf, offset 0x32bc0 + 0x32bc0: 0x6d77d020, 0x32bc1: 0x6d77d220, 0x32bc2: 0x6d77d420, 0x32bc3: 0x6d77d620, + 0x32bc4: 0x6d77d820, 0x32bc5: 0x6d77da20, 0x32bc6: 0x6d77dc20, 0x32bc7: 0x6d77de20, + 0x32bc8: 0x6d77e020, 0x32bc9: 0x6d77e220, 0x32bca: 0x6d77e420, 0x32bcb: 0x6d77e620, + 0x32bcc: 0x6d77e820, 0x32bcd: 0x6d77ea20, 0x32bce: 0x6d77ec20, 0x32bcf: 0x6d77ee20, + 0x32bd0: 0x6d77f020, 0x32bd1: 0x6d77f220, 0x32bd2: 0x6d77f420, 0x32bd3: 0x6d77f620, + 0x32bd4: 0x6d4a9e20, 0x32bd5: 0x6d77f820, 0x32bd6: 0x6d77fa20, 0x32bd7: 0x6d77fc20, + 0x32bd8: 0x6d77fe20, 0x32bd9: 0x6d780020, 0x32bda: 0x6d780220, 0x32bdb: 0x6d780420, + 0x32bdc: 0x6d780620, 0x32bdd: 0x6d780820, 0x32bde: 0x6d780a20, 0x32bdf: 0x6d780c20, + 0x32be0: 0x6d780e20, 0x32be1: 0x6d781020, 0x32be2: 0x6d781220, 0x32be3: 0x6d781420, + 0x32be4: 0x6d781620, 0x32be5: 0x6d781820, 0x32be6: 0x6d4aa020, 0x32be7: 0x6d781a20, + 0x32be8: 0x6d781c20, 0x32be9: 0x6d781e20, 0x32bea: 0x6d782020, 0x32beb: 0x6d782220, + 0x32bec: 0x6d782420, 0x32bed: 0x6d782620, 0x32bee: 0x6d782820, 0x32bef: 0x6d782a20, + 0x32bf0: 0x6d782c20, 0x32bf1: 0x6d782e20, 0x32bf2: 0x6d783020, 0x32bf3: 0x6d783220, + 0x32bf4: 0x6d783420, 0x32bf5: 0x6d783620, 0x32bf6: 0x6d783820, 0x32bf7: 0x6d783a20, + 0x32bf8: 0x6d783c20, 0x32bf9: 0x6d783e20, 0x32bfa: 0x6d784020, 0x32bfb: 0x6d784220, + 0x32bfc: 0x6d784420, 0x32bfd: 0x6da0d020, 0x32bfe: 0x6da0d220, 0x32bff: 0x6da0d420, + // Block 0xcb0, offset 0x32c00 + 0x32c00: 0x6da0d620, 0x32c01: 0x6da0d820, 0x32c02: 0x6da0da20, 0x32c03: 0x6da0dc20, + 0x32c04: 0x6da0de20, 0x32c05: 0x6da0e020, 0x32c06: 0x6da0e220, 0x32c07: 0x6da0e420, + 0x32c08: 0x6da0e620, 0x32c09: 0x6da0e820, 0x32c0a: 0x6da0ea20, 0x32c0b: 0x6da0ec20, + 0x32c0c: 0x6da0ee20, 0x32c0d: 0x6da0f020, 0x32c0e: 0x6da0f220, 0x32c0f: 0x6da0f420, + 0x32c10: 0x6da0f620, 0x32c11: 0x6da0f820, 0x32c12: 0x6da0fa20, 0x32c13: 0x6da0fc20, + 0x32c14: 0x6da0fe20, 0x32c15: 0x6da10020, 0x32c16: 0x6da10220, 0x32c17: 0x6da10420, + 0x32c18: 0x6da10620, 0x32c19: 0x6da10820, 0x32c1a: 0x6da10a20, 0x32c1b: 0x6da10c20, + 0x32c1c: 0x6da10e20, 0x32c1d: 0x6da11020, 0x32c1e: 0x6da11220, 0x32c1f: 0x6da11420, + 0x32c20: 0x6da11620, 0x32c21: 0x6da11820, 0x32c22: 0x6da11a20, 0x32c23: 0x6da11c20, + 0x32c24: 0x6da11e20, 0x32c25: 0x6da12020, 0x32c26: 0x6da12220, 0x32c27: 0x6da12420, + 0x32c28: 0x6da12620, 0x32c29: 0x6da12820, 0x32c2a: 0x6da12a20, 0x32c2b: 0x6da12c20, + 0x32c2c: 0x6da12e20, 0x32c2d: 0x6da13020, 0x32c2e: 0x6da13220, 0x32c2f: 0x6da13420, + 0x32c30: 0x6da13620, 0x32c31: 0x6da13820, 0x32c32: 0x6da13a20, 0x32c33: 0x6da13c20, + 0x32c34: 0x6da13e20, 0x32c35: 0x6da14020, 0x32c36: 0x6da14220, 0x32c37: 0x6da14420, + 0x32c38: 0x6da14620, 0x32c39: 0x6da14820, 0x32c3a: 0x6da14a20, 0x32c3b: 0x6da14c20, + 0x32c3c: 0x6da14e20, 0x32c3d: 0x6da15020, 0x32c3e: 0x6da15220, 0x32c3f: 0x6da15420, + // Block 0xcb1, offset 0x32c40 + 0x32c40: 0x6da15620, 0x32c41: 0x6da15820, 0x32c42: 0x6da15a20, 0x32c43: 0x6da15c20, + 0x32c44: 0x6da15e20, 0x32c45: 0x6da16020, 0x32c46: 0x6da16220, 0x32c47: 0x6da16420, + 0x32c48: 0x6da16620, 0x32c49: 0x6da16820, 0x32c4a: 0x6da16a20, 0x32c4b: 0x6da16c20, + 0x32c4c: 0x6da16e20, 0x32c4d: 0x6da17020, 0x32c4e: 0x6da17220, 0x32c4f: 0x6dc32a20, + 0x32c50: 0x6dc32c20, 0x32c51: 0x6dc32e20, 0x32c52: 0x6dc33020, 0x32c53: 0x6dc33220, + 0x32c54: 0x6dc33420, 0x32c55: 0x6dc33620, 0x32c56: 0x6dc33820, 0x32c57: 0x6dc33a20, + 0x32c58: 0x6dc33c20, 0x32c59: 0x6dc33e20, 0x32c5a: 0x6dc34020, 0x32c5b: 0x6dc34220, + 0x32c5c: 0x6dc34420, 0x32c5d: 0x6dc34620, 0x32c5e: 0x6dc34820, 0x32c5f: 0x6dc34a20, + 0x32c60: 0x6dc34c20, 0x32c61: 0x6dc34e20, 0x32c62: 0x6dc35020, 0x32c63: 0x6dc35220, + 0x32c64: 0x6dc35420, 0x32c65: 0x6dc35620, 0x32c66: 0x6dc35820, 0x32c67: 0x6dc35a20, + 0x32c68: 0x6dc35c20, 0x32c69: 0x6dc35e20, 0x32c6a: 0x6dc36020, 0x32c6b: 0x6dc36220, + 0x32c6c: 0x6dc36420, 0x32c6d: 0x6dc36620, 0x32c6e: 0x6dc36820, 0x32c6f: 0x6dc36a20, + 0x32c70: 0x6dc36c20, 0x32c71: 0x6dc36e20, 0x32c72: 0x6dc37020, 0x32c73: 0x6dc37220, + 0x32c74: 0x6dc37420, 0x32c75: 0x6dc37620, 0x32c76: 0x6dc37820, 0x32c77: 0x6dc37a20, + 0x32c78: 0x6dc37c20, 0x32c79: 0x6dc37e20, 0x32c7a: 0x6dc38020, 0x32c7b: 0x6dc38220, + 0x32c7c: 0x6dc38420, 0x32c7d: 0x6dc38620, 0x32c7e: 0x6dc38820, 0x32c7f: 0x6dc38a20, + // Block 0xcb2, offset 0x32c80 + 0x32c80: 0x6dc38c20, 0x32c81: 0x6dc38e20, 0x32c82: 0x6dc39020, 0x32c83: 0x6dc39220, + 0x32c84: 0x6dc39420, 0x32c85: 0x6dc39620, 0x32c86: 0x6dc39820, 0x32c87: 0x6dc39a20, + 0x32c88: 0x6dc39c20, 0x32c89: 0x6dc39e20, 0x32c8a: 0x6dc3a020, 0x32c8b: 0x6dc3a220, + 0x32c8c: 0x6dc3a420, 0x32c8d: 0x6dc3a620, 0x32c8e: 0x6dc3a820, 0x32c8f: 0x6dc3aa20, + 0x32c90: 0x6dc3ac20, 0x32c91: 0x6dc3ae20, 0x32c92: 0x6dc3b020, 0x32c93: 0x6dc3b220, + 0x32c94: 0x6dc3b420, 0x32c95: 0x6dc3b620, 0x32c96: 0x6dc3b820, 0x32c97: 0x6dc3ba20, + 0x32c98: 0x6dc3bc20, 0x32c99: 0x6dc3be20, 0x32c9a: 0x6dc3c020, 0x32c9b: 0x6dc3c220, + 0x32c9c: 0x6dc3c420, 0x32c9d: 0x6dc3c620, 0x32c9e: 0x6dc3c820, 0x32c9f: 0x6dc3ca20, + 0x32ca0: 0x6de09a20, 0x32ca1: 0x6de09c20, 0x32ca2: 0x6de09e20, 0x32ca3: 0x6de0a020, + 0x32ca4: 0x6de0a220, 0x32ca5: 0x6de0a420, 0x32ca6: 0x6de0a620, 0x32ca7: 0x6de0a820, + 0x32ca8: 0x6de0aa20, 0x32ca9: 0x6de0ac20, 0x32caa: 0x6de0ae20, 0x32cab: 0x6de0b020, + 0x32cac: 0x6de0b220, 0x32cad: 0x6de0b420, 0x32cae: 0x6de0b620, 0x32caf: 0x6de0b820, + 0x32cb0: 0x6dc3cc20, 0x32cb1: 0x6de0ba20, 0x32cb2: 0x6de0bc20, 0x32cb3: 0x6de0be20, + 0x32cb4: 0x6de0c020, 0x32cb5: 0x6de0c220, 0x32cb6: 0x6de0c420, 0x32cb7: 0x6de0c620, + 0x32cb8: 0x6de0c820, 0x32cb9: 0x6de0ca20, 0x32cba: 0x6de0cc20, 0x32cbb: 0x6de0ce20, + 0x32cbc: 0x6de0d020, 0x32cbd: 0x6de0d220, 0x32cbe: 0x6de0d420, 0x32cbf: 0x6de0d620, + // Block 0xcb3, offset 0x32cc0 + 0x32cc0: 0x6de0d820, 0x32cc1: 0x6de0da20, 0x32cc2: 0x6de0dc20, 0x32cc3: 0x6de0de20, + 0x32cc4: 0x6de0e020, 0x32cc5: 0x6de0e220, 0x32cc6: 0x6de0e420, 0x32cc7: 0x6de0e620, + 0x32cc8: 0x6de0e820, 0x32cc9: 0x6de5dc20, 0x32cca: 0x6de0ea20, 0x32ccb: 0x6de0ec20, + 0x32ccc: 0x6de0ee20, 0x32ccd: 0x6de0f020, 0x32cce: 0x6de0f220, 0x32ccf: 0x6de0f420, + 0x32cd0: 0x6de0f620, 0x32cd1: 0x6df8e220, 0x32cd2: 0x6df8e420, 0x32cd3: 0x6df8e620, + 0x32cd4: 0x6df8e820, 0x32cd5: 0x6df8ea20, 0x32cd6: 0x6df8ec20, 0x32cd7: 0x6df8ee20, + 0x32cd8: 0x6df8f020, 0x32cd9: 0x6df8f220, 0x32cda: 0x6df8f420, 0x32cdb: 0x6df8f620, + 0x32cdc: 0x6df8f820, 0x32cdd: 0x6df8fa20, 0x32cde: 0x6df8fc20, 0x32cdf: 0x6df8fe20, + 0x32ce0: 0x6df90020, 0x32ce1: 0x6df90220, 0x32ce2: 0x6df90420, 0x32ce3: 0x6df90620, + 0x32ce4: 0x6df90820, 0x32ce5: 0x6df90a20, 0x32ce6: 0x6df90c20, 0x32ce7: 0x6df90e20, + 0x32ce8: 0x6df91020, 0x32ce9: 0x6df91220, 0x32cea: 0x6df91420, 0x32ceb: 0x6df91620, + 0x32cec: 0x6df91820, 0x32ced: 0x6df91a20, 0x32cee: 0x6df91c20, 0x32cef: 0x6df91e20, + 0x32cf0: 0x6df92020, 0x32cf1: 0x6e0cac20, 0x32cf2: 0x6e0cae20, 0x32cf3: 0x6e0cb020, + 0x32cf4: 0x6e0cb220, 0x32cf5: 0x6e0cb420, 0x32cf6: 0x6e0cb620, 0x32cf7: 0x6e0cb820, + 0x32cf8: 0x6e0cba20, 0x32cf9: 0x6e0cbc20, 0x32cfa: 0x6e0cbe20, 0x32cfb: 0x6e0cc020, + 0x32cfc: 0x6e0cc220, 0x32cfd: 0x6e0cc420, 0x32cfe: 0x6e0cc620, 0x32cff: 0x6e0cc820, + // Block 0xcb4, offset 0x32d00 + 0x32d00: 0x6e0cca20, 0x32d01: 0x6e0ccc20, 0x32d02: 0x6e0cce20, 0x32d03: 0x6e0cd020, + 0x32d04: 0x6e0cd220, 0x32d05: 0x6e0cd420, 0x32d06: 0x6e0cd620, 0x32d07: 0x6e0cd820, + 0x32d08: 0x6e0cda20, 0x32d09: 0x6e0cdc20, 0x32d0a: 0x6e0cde20, 0x32d0b: 0x6e0ce020, + 0x32d0c: 0x6e0ce220, 0x32d0d: 0x6e0ce420, 0x32d0e: 0x6e0ce620, 0x32d0f: 0x6e0ce820, + 0x32d10: 0x6e0cea20, 0x32d11: 0x6e0cec20, 0x32d12: 0x6e0cee20, 0x32d13: 0x6e0cf020, + 0x32d14: 0x6e0cf220, 0x32d15: 0x6e0d1c20, 0x32d16: 0x6e121420, 0x32d17: 0x6e1c4020, + 0x32d18: 0x6e1c4220, 0x32d19: 0x6e1c4420, 0x32d1a: 0x6e1c4620, 0x32d1b: 0x6e1c4820, + 0x32d1c: 0x6e1c4a20, 0x32d1d: 0x6e1c4c20, 0x32d1e: 0x6e1c4e20, 0x32d1f: 0x6e1c5020, + 0x32d20: 0x6e1c5220, 0x32d21: 0x6e1c5420, 0x32d22: 0x6e1c5620, 0x32d23: 0x6e0cf420, + 0x32d24: 0x6e1c5820, 0x32d25: 0x6e1c5a20, 0x32d26: 0x6e1c5c20, 0x32d27: 0x6e1c5e20, + 0x32d28: 0x6e1c6020, 0x32d29: 0x6e1c6220, 0x32d2a: 0x6e1c6420, 0x32d2b: 0x6e1c6620, + 0x32d2c: 0x6e1c6820, 0x32d2d: 0x6e1c6a20, 0x32d2e: 0x6e1c6c20, 0x32d2f: 0x6e1c6e20, + 0x32d30: 0x6e287c20, 0x32d31: 0x6e287e20, 0x32d32: 0x6e288020, 0x32d33: 0x6e288220, + 0x32d34: 0x6e288420, 0x32d35: 0x6e288620, 0x32d36: 0x6e288820, 0x32d37: 0x6e288a20, + 0x32d38: 0x6e288c20, 0x32d39: 0x6e31a420, 0x32d3a: 0x6e31a620, 0x32d3b: 0x6e31a820, + 0x32d3c: 0x6e31aa20, 0x32d3d: 0x6e31ac20, 0x32d3e: 0x6e31ae20, 0x32d3f: 0x6e31b020, + // Block 0xcb5, offset 0x32d40 + 0x32d40: 0x6e31b220, 0x32d41: 0x6e31b420, 0x32d42: 0x6e31b620, 0x32d43: 0x6e31b820, + 0x32d44: 0x6e31ba20, 0x32d45: 0x6e31bc20, 0x32d46: 0x6e384c20, 0x32d47: 0x6e384e20, + 0x32d48: 0x6e385020, 0x32d49: 0x6e385220, 0x32d4a: 0x6e385420, 0x32d4b: 0x6e385620, + 0x32d4c: 0x6e385820, 0x32d4d: 0x6e385a20, 0x32d4e: 0x6e385c20, 0x32d4f: 0x6e3cfa20, + 0x32d50: 0x6e3cfc20, 0x32d51: 0x6e3cfe20, 0x32d52: 0x6e3d0020, 0x32d53: 0x6e3d0220, + 0x32d54: 0x6e3d0420, 0x32d55: 0x6e3d0620, 0x32d56: 0x6e3d0820, 0x32d57: 0x6e3d0a20, + 0x32d58: 0x6e3d0c20, 0x32d59: 0x6e400a20, 0x32d5a: 0x6e400c20, 0x32d5b: 0x6e428620, + 0x32d5c: 0x6e428820, 0x32d5d: 0x6e428a20, 0x32d5e: 0x6e400e20, 0x32d5f: 0x6e45bc20, + 0x32d60: 0x6c03c820, 0x32d61: 0x6c03ca20, 0x32d62: 0x6c03cc20, 0x32d63: 0x6c079820, + 0x32d64: 0x6c079a20, 0x32d65: 0x6c079c20, 0x32d66: 0x6c079e20, 0x32d67: 0x6c0ea620, + 0x32d68: 0x6c0ea820, 0x32d69: 0x6c0eaa20, 0x32d6a: 0x6c0eac20, 0x32d6b: 0x6c0eae20, + 0x32d6c: 0x6c0eb020, 0x32d6d: 0x6c0eb220, 0x32d6e: 0x6c0eb420, 0x32d6f: 0x6c0eb620, + 0x32d70: 0x6c0eb820, 0x32d71: 0x6c0eba20, 0x32d72: 0x6c0ebc20, 0x32d73: 0x6c0ebe20, + 0x32d74: 0x6c1a6e20, 0x32d75: 0x6c1a7020, 0x32d76: 0x6c1a7220, 0x32d77: 0x6c1a7420, + 0x32d78: 0x6c1a7620, 0x32d79: 0x6c1a7820, 0x32d7a: 0x6c1a7a20, 0x32d7b: 0x6c1a7c20, + 0x32d7c: 0x6c1a7e20, 0x32d7d: 0x6c1a8020, 0x32d7e: 0x6c1a8220, 0x32d7f: 0x6c1a8420, + // Block 0xcb6, offset 0x32d80 + 0x32d80: 0x6c1a8620, 0x32d81: 0x6c1a8820, 0x32d82: 0x6c1a8a20, 0x32d83: 0x6c1a8c20, + 0x32d84: 0x6c1a8e20, 0x32d85: 0x6c1a9020, 0x32d86: 0x6c1a9220, 0x32d87: 0x6c1a9420, + 0x32d88: 0x6c2d9620, 0x32d89: 0x6c2d9820, 0x32d8a: 0x6c2d9a20, 0x32d8b: 0x6c2d9c20, + 0x32d8c: 0x6c2d9e20, 0x32d8d: 0x6c3bf620, 0x32d8e: 0x6c2da020, 0x32d8f: 0x6c2da220, + 0x32d90: 0x6c2da420, 0x32d91: 0x6c2da620, 0x32d92: 0x6c47e220, 0x32d93: 0x6c47e420, + 0x32d94: 0x6c47e620, 0x32d95: 0x6c47e820, 0x32d96: 0x6c47ea20, 0x32d97: 0x6c47ec20, + 0x32d98: 0x6c47ee20, 0x32d99: 0x6c47f020, 0x32d9a: 0x6c47f220, 0x32d9b: 0x6c47f420, + 0x32d9c: 0x6c47f620, 0x32d9d: 0x6c47f820, 0x32d9e: 0x6c47fa20, 0x32d9f: 0x6c47fc20, + 0x32da0: 0x6c695c20, 0x32da1: 0x6c695e20, 0x32da2: 0x6c696020, 0x32da3: 0x6c696220, + 0x32da4: 0x6c696420, 0x32da5: 0x6c696620, 0x32da6: 0x6c696820, 0x32da7: 0x6c696a20, + 0x32da8: 0x6c696c20, 0x32da9: 0x6c696e20, 0x32daa: 0x6c697020, 0x32dab: 0x6c697220, + 0x32dac: 0x6c697420, 0x32dad: 0x6c697620, 0x32dae: 0x6c697820, 0x32daf: 0x6c697a20, + 0x32db0: 0x6c902820, 0x32db1: 0x6c902a20, 0x32db2: 0x6c902c20, 0x32db3: 0x6c902e20, + 0x32db4: 0x6c903020, 0x32db5: 0x6c903220, 0x32db6: 0x6c903420, 0x32db7: 0x6c903620, + 0x32db8: 0x6c903820, 0x32db9: 0x6c903a20, 0x32dba: 0x6c903c20, 0x32dbb: 0x6c903e20, + 0x32dbc: 0x6cbc4820, 0x32dbd: 0x6cbc4a20, 0x32dbe: 0x6cbc4c20, 0x32dbf: 0x6cbc4e20, + // Block 0xcb7, offset 0x32dc0 + 0x32dc0: 0x6c904020, 0x32dc1: 0x6cbc5020, 0x32dc2: 0x6cbc5220, 0x32dc3: 0x6cbc5420, + 0x32dc4: 0x6cbc5620, 0x32dc5: 0x6cbc5820, 0x32dc6: 0x6cbc5a20, 0x32dc7: 0x6cbc5c20, + 0x32dc8: 0x6cbc5e20, 0x32dc9: 0x6cbc6020, 0x32dca: 0x6ced3220, 0x32dcb: 0x6ced3420, + 0x32dcc: 0x6ced3620, 0x32dcd: 0x6ced3820, 0x32dce: 0x6ced3a20, 0x32dcf: 0x6ced3c20, + 0x32dd0: 0x6ced3e20, 0x32dd1: 0x6ced4020, 0x32dd2: 0x6ced4220, 0x32dd3: 0x6ced4420, + 0x32dd4: 0x6ced4620, 0x32dd5: 0x6d1cfa20, 0x32dd6: 0x6d1cfc20, 0x32dd7: 0x6d1cfe20, + 0x32dd8: 0x6d1d0020, 0x32dd9: 0x6d1d0220, 0x32dda: 0x6d1d0420, 0x32ddb: 0x6d1d0620, + 0x32ddc: 0x6d1d0820, 0x32ddd: 0x6d1d0a20, 0x32dde: 0x6d1d0c20, 0x32ddf: 0x6d1d0e20, + 0x32de0: 0x6d1d1020, 0x32de1: 0x6d1d1220, 0x32de2: 0x6d4ab820, 0x32de3: 0x6d4aba20, + 0x32de4: 0x6d4abc20, 0x32de5: 0x6d785c20, 0x32de6: 0x6d4abe20, 0x32de7: 0x6d4ac020, + 0x32de8: 0x6d4ac220, 0x32de9: 0x6d4ac420, 0x32dea: 0x6d785e20, 0x32deb: 0x6d786020, + 0x32dec: 0x6d786220, 0x32ded: 0x6da17e20, 0x32dee: 0x6da18020, 0x32def: 0x6da18220, + 0x32df0: 0x6da18420, 0x32df1: 0x6da18620, 0x32df2: 0x6dc3de20, 0x32df3: 0x6de0fe20, + 0x32df4: 0x6de10020, 0x32df5: 0x6df92c20, 0x32df6: 0x6df92e20, 0x32df7: 0x6df93020, + 0x32df8: 0x6e0cf620, 0x32df9: 0x6e0cf820, 0x32dfa: 0x6e0cfa20, 0x32dfb: 0x6e3d1020, + 0x32dfc: 0x6c03d420, 0x32dfd: 0x6c03d620, 0x32dfe: 0x6c03d820, 0x32dff: 0x6c07ae20, + // Block 0xcb8, offset 0x32e00 + 0x32e00: 0x6c07b020, 0x32e01: 0x6c07b220, 0x32e02: 0x6c07b420, 0x32e03: 0x6c07b620, + 0x32e04: 0x6c07b820, 0x32e05: 0x6c07ba20, 0x32e06: 0x6c07bc20, 0x32e07: 0x6c07be20, + 0x32e08: 0x6c0ee620, 0x32e09: 0x6c0ee820, 0x32e0a: 0x6c0eea20, 0x32e0b: 0x6c0eec20, + 0x32e0c: 0x6c0eee20, 0x32e0d: 0x6c0ef020, 0x32e0e: 0x6c0ef220, 0x32e0f: 0x6c0ef420, + 0x32e10: 0x6c0ef620, 0x32e11: 0x6c0ef820, 0x32e12: 0x6c0efa20, 0x32e13: 0x6c0efc20, + 0x32e14: 0x6c0efe20, 0x32e15: 0x6c0f0020, 0x32e16: 0x6c0f0220, 0x32e17: 0x6c0fb020, + 0x32e18: 0x6c1af820, 0x32e19: 0x6c1afa20, 0x32e1a: 0x6c1afc20, 0x32e1b: 0x6c1afe20, + 0x32e1c: 0x6c1b0020, 0x32e1d: 0x6c1b0220, 0x32e1e: 0x6c1b0420, 0x32e1f: 0x6c1b0620, + 0x32e20: 0x6c1b0820, 0x32e21: 0x6c1b0a20, 0x32e22: 0x6c1b0c20, 0x32e23: 0x6c1b0e20, + 0x32e24: 0x6c1b1020, 0x32e25: 0x6c1b1220, 0x32e26: 0x6c1b1420, 0x32e27: 0x6c1b1620, + 0x32e28: 0x6c1b1820, 0x32e29: 0x6c1b1a20, 0x32e2a: 0x6c1b1c20, 0x32e2b: 0x6c1b1e20, + 0x32e2c: 0x6c1b2020, 0x32e2d: 0x6c1b2220, 0x32e2e: 0x6c1b2420, 0x32e2f: 0x6c1b2620, + 0x32e30: 0x6c1b2820, 0x32e31: 0x6c1b2a20, 0x32e32: 0x6c1b2c20, 0x32e33: 0x6c1b2e20, + 0x32e34: 0x6c1b3020, 0x32e35: 0x6c1b3220, 0x32e36: 0x6c1b3420, 0x32e37: 0x6c1b3620, + 0x32e38: 0x6c1b3820, 0x32e39: 0x6c1b3a20, 0x32e3a: 0x6c1b3c20, 0x32e3b: 0x6c1b3e20, + 0x32e3c: 0x6c1b4020, 0x32e3d: 0x6c1b4220, 0x32e3e: 0x6c1b4420, 0x32e3f: 0x6c1b4620, + // Block 0xcb9, offset 0x32e40 + 0x32e40: 0x6c1b4820, 0x32e41: 0x6c1b4a20, 0x32e42: 0x6c1b4c20, 0x32e43: 0x6c1b4e20, + 0x32e44: 0x6c2e0820, 0x32e45: 0x6c2e0a20, 0x32e46: 0x6c2e0c20, 0x32e47: 0x6c2e0e20, + 0x32e48: 0x6c2e1020, 0x32e49: 0x6c2e1220, 0x32e4a: 0x6c2e1420, 0x32e4b: 0x6c2e1620, + 0x32e4c: 0x6c2e1820, 0x32e4d: 0x6c2e1a20, 0x32e4e: 0x6c2e1c20, 0x32e4f: 0x6c2e1e20, + 0x32e50: 0x6c2e2020, 0x32e51: 0x6c2e2220, 0x32e52: 0x6c2e2420, 0x32e53: 0x6c2e2620, + 0x32e54: 0x6c2e2820, 0x32e55: 0x6c2e2a20, 0x32e56: 0x6c2e2c20, 0x32e57: 0x6c2e2e20, + 0x32e58: 0x6c2e3020, 0x32e59: 0x6c2e3220, 0x32e5a: 0x6c2e3420, 0x32e5b: 0x6c2e3620, + 0x32e5c: 0x6c2e3820, 0x32e5d: 0x6c2e3a20, 0x32e5e: 0x6c2e3c20, 0x32e5f: 0x6c2e3e20, + 0x32e60: 0x6c2e4020, 0x32e61: 0x6c2e4220, 0x32e62: 0x6c2e4420, 0x32e63: 0x6c2e4620, + 0x32e64: 0x6c2e4820, 0x32e65: 0x6c2e4a20, 0x32e66: 0x6c2e4c20, 0x32e67: 0x6c2e4e20, + 0x32e68: 0x6c2e5020, 0x32e69: 0x6c2e5220, 0x32e6a: 0x6c2e5420, 0x32e6b: 0x6c2e5620, + 0x32e6c: 0x6c2e5820, 0x32e6d: 0x6c2e5a20, 0x32e6e: 0x6c2e5c20, 0x32e6f: 0x6c2e5e20, + 0x32e70: 0x6c2e6020, 0x32e71: 0x6c2e6220, 0x32e72: 0x6c2e6420, 0x32e73: 0x6c2e6620, + 0x32e74: 0x6c2e6820, 0x32e75: 0x6c2e6a20, 0x32e76: 0x6c2e6c20, 0x32e77: 0x6c486a20, + 0x32e78: 0x6c486c20, 0x32e79: 0x6c486e20, 0x32e7a: 0x6c487020, 0x32e7b: 0x6c487220, + 0x32e7c: 0x6c487420, 0x32e7d: 0x6c487620, 0x32e7e: 0x6c487820, 0x32e7f: 0x6c487a20, + // Block 0xcba, offset 0x32e80 + 0x32e80: 0x6c487c20, 0x32e81: 0x6c487e20, 0x32e82: 0x6c488020, 0x32e83: 0x6c488220, + 0x32e84: 0x6c488420, 0x32e85: 0x6c488620, 0x32e86: 0x6c488820, 0x32e87: 0x6c488a20, + 0x32e88: 0x6c488c20, 0x32e89: 0x6c488e20, 0x32e8a: 0x6c489020, 0x32e8b: 0x6c489220, + 0x32e8c: 0x6c489420, 0x32e8d: 0x6c489620, 0x32e8e: 0x6c489820, 0x32e8f: 0x6c489a20, + 0x32e90: 0x6c489c20, 0x32e91: 0x6c489e20, 0x32e92: 0x6c48a020, 0x32e93: 0x6c48a220, + 0x32e94: 0x6c48a420, 0x32e95: 0x6c48a620, 0x32e96: 0x6c48a820, 0x32e97: 0x6c48aa20, + 0x32e98: 0x6c48ac20, 0x32e99: 0x6c48ae20, 0x32e9a: 0x6c48b020, 0x32e9b: 0x6c48b220, + 0x32e9c: 0x6c5dc620, 0x32e9d: 0x6c48b420, 0x32e9e: 0x6c48b620, 0x32e9f: 0x6c48b820, + 0x32ea0: 0x6c48ba20, 0x32ea1: 0x6c48bc20, 0x32ea2: 0x6c48be20, 0x32ea3: 0x6c48c020, + 0x32ea4: 0x6c48c220, 0x32ea5: 0x6c48c420, 0x32ea6: 0x6c48c620, 0x32ea7: 0x6c48c820, + 0x32ea8: 0x6c48ca20, 0x32ea9: 0x6c48cc20, 0x32eaa: 0x6c48ce20, 0x32eab: 0x6c48d020, + 0x32eac: 0x6c48d220, 0x32ead: 0x6c69da20, 0x32eae: 0x6c69dc20, 0x32eaf: 0x6c69de20, + 0x32eb0: 0x6c69e020, 0x32eb1: 0x6c69e220, 0x32eb2: 0x6c69e420, 0x32eb3: 0x6c69e620, + 0x32eb4: 0x6c69e820, 0x32eb5: 0x6c69ea20, 0x32eb6: 0x6c69ec20, 0x32eb7: 0x6c69ee20, + 0x32eb8: 0x6c69f020, 0x32eb9: 0x6c69f220, 0x32eba: 0x6c69f420, 0x32ebb: 0x6c69f620, + 0x32ebc: 0x6c69f820, 0x32ebd: 0x6c69fa20, 0x32ebe: 0x6c69fc20, 0x32ebf: 0x6c69fe20, + // Block 0xcbb, offset 0x32ec0 + 0x32ec0: 0x6c6a0020, 0x32ec1: 0x6c6a0220, 0x32ec2: 0x6c6a0420, 0x32ec3: 0x6c6a0620, + 0x32ec4: 0x6c6a0820, 0x32ec5: 0x6c6a0a20, 0x32ec6: 0x6c6a0c20, 0x32ec7: 0x6c6a0e20, + 0x32ec8: 0x6c6a1020, 0x32ec9: 0x6c6a1220, 0x32eca: 0x6c6a1420, 0x32ecb: 0x6c6a1620, + 0x32ecc: 0x6c6a1820, 0x32ecd: 0x6c6a1a20, 0x32ece: 0x6c6a1c20, 0x32ecf: 0x6c6a1e20, + 0x32ed0: 0x6c6a2020, 0x32ed1: 0x6c6a2220, 0x32ed2: 0x6c6a2420, 0x32ed3: 0x6c6a2620, + 0x32ed4: 0x6c6a2820, 0x32ed5: 0x6c6a2a20, 0x32ed6: 0x6c6a2c20, 0x32ed7: 0x6c6a2e20, + 0x32ed8: 0x6c6a3020, 0x32ed9: 0x6c6a3220, 0x32eda: 0x6c6a3420, 0x32edb: 0x6c6a3620, + 0x32edc: 0x6c6a3820, 0x32edd: 0x6c6a3a20, 0x32ede: 0x6c6a3c20, 0x32edf: 0x6c6a3e20, + 0x32ee0: 0x6c6a4020, 0x32ee1: 0x6c6a4220, 0x32ee2: 0x6c6a4420, 0x32ee3: 0x6c6a4620, + 0x32ee4: 0x6c6a4820, 0x32ee5: 0x6c6a4a20, 0x32ee6: 0x6c90c620, 0x32ee7: 0x6c90c820, + 0x32ee8: 0x6c90ca20, 0x32ee9: 0x6c90cc20, 0x32eea: 0x6c90ce20, 0x32eeb: 0x6c90d020, + 0x32eec: 0x6c90d220, 0x32eed: 0x6c90d420, 0x32eee: 0x6c90d620, 0x32eef: 0x6c90d820, + 0x32ef0: 0x6c90da20, 0x32ef1: 0x6c90dc20, 0x32ef2: 0x6c90de20, 0x32ef3: 0x6c90e020, + 0x32ef4: 0x6c90e220, 0x32ef5: 0x6c90e420, 0x32ef6: 0x6c90e620, 0x32ef7: 0x6c90e820, + 0x32ef8: 0x6c90ea20, 0x32ef9: 0x6c90ec20, 0x32efa: 0x6c90ee20, 0x32efb: 0x6c90f020, + 0x32efc: 0x6c90f220, 0x32efd: 0x6c90f420, 0x32efe: 0x6c90f620, 0x32eff: 0x6c90f820, + // Block 0xcbc, offset 0x32f00 + 0x32f00: 0x6c90fa20, 0x32f01: 0x6c90fc20, 0x32f02: 0x6c90fe20, 0x32f03: 0x6c910020, + 0x32f04: 0x6c910220, 0x32f05: 0x6c910420, 0x32f06: 0x6c910620, 0x32f07: 0x6c910820, + 0x32f08: 0x6c910a20, 0x32f09: 0x6c910c20, 0x32f0a: 0x6c910e20, 0x32f0b: 0x6c911020, + 0x32f0c: 0x6c911220, 0x32f0d: 0x6c911420, 0x32f0e: 0x6c911620, 0x32f0f: 0x6c911820, + 0x32f10: 0x6c911a20, 0x32f11: 0x6c911c20, 0x32f12: 0x6c911e20, 0x32f13: 0x6c912020, + 0x32f14: 0x6c912220, 0x32f15: 0x6c912420, 0x32f16: 0x6c912620, 0x32f17: 0x6c912820, + 0x32f18: 0x6c912a20, 0x32f19: 0x6c912c20, 0x32f1a: 0x6c912e20, 0x32f1b: 0x6c913020, + 0x32f1c: 0x6c913220, 0x32f1d: 0x6c913420, 0x32f1e: 0x6c913620, 0x32f1f: 0x6c913820, + 0x32f20: 0x6c913a20, 0x32f21: 0x6c913c20, 0x32f22: 0x6c913e20, 0x32f23: 0x6c914020, + 0x32f24: 0x6cbcd820, 0x32f25: 0x6cbcda20, 0x32f26: 0x6cbcdc20, 0x32f27: 0x6cbcde20, + 0x32f28: 0x6cbce020, 0x32f29: 0x6cbce220, 0x32f2a: 0x6cbce420, 0x32f2b: 0x6cbce620, + 0x32f2c: 0x6cbce820, 0x32f2d: 0x6cbcea20, 0x32f2e: 0x6cbcec20, 0x32f2f: 0x6cbcee20, + 0x32f30: 0x6cbcf020, 0x32f31: 0x6cbcf220, 0x32f32: 0x6cbcf420, 0x32f33: 0x6cbcf620, + 0x32f34: 0x6cbcf820, 0x32f35: 0x6cbcfa20, 0x32f36: 0x6cbcfc20, 0x32f37: 0x6cbcfe20, + 0x32f38: 0x6cbd0020, 0x32f39: 0x6cbd0220, 0x32f3a: 0x6cbd0420, 0x32f3b: 0x6cbd0620, + 0x32f3c: 0x6cbd0820, 0x32f3d: 0x6cbd0a20, 0x32f3e: 0x6cbd0c20, 0x32f3f: 0x6cbd0e20, + // Block 0xcbd, offset 0x32f40 + 0x32f40: 0x6cbd1020, 0x32f41: 0x6cbd1220, 0x32f42: 0x6cbd1420, 0x32f43: 0x6cbd1620, + 0x32f44: 0x6cbd1820, 0x32f45: 0x6cbd1a20, 0x32f46: 0x6cbd1c20, 0x32f47: 0x6cbd1e20, + 0x32f48: 0x6cbd2020, 0x32f49: 0x6cbd2220, 0x32f4a: 0x6cbd2420, 0x32f4b: 0x6cbd2620, + 0x32f4c: 0x6cbd2820, 0x32f4d: 0x6cbd2a20, 0x32f4e: 0x6cbd2c20, 0x32f4f: 0x6cbd2e20, + 0x32f50: 0x6cbd3020, 0x32f51: 0x6cbd3220, 0x32f52: 0x6cbd3420, 0x32f53: 0x6cbd3620, + 0x32f54: 0x6cbd3820, 0x32f55: 0x6cbd3a20, 0x32f56: 0x6cbd3c20, 0x32f57: 0x6cbd3e20, + 0x32f58: 0x6cbd4020, 0x32f59: 0x6cbd4220, 0x32f5a: 0x6cbd4420, 0x32f5b: 0x6cbd4620, + 0x32f5c: 0x6cbd4820, 0x32f5d: 0x6cbd4a20, 0x32f5e: 0x6cbd4c20, 0x32f5f: 0x6cbd4e20, + 0x32f60: 0x6cbd5020, 0x32f61: 0x6cbd5220, 0x32f62: 0x6cbd5420, 0x32f63: 0x6cbd5620, + 0x32f64: 0x6cbd5820, 0x32f65: 0x6cbd5a20, 0x32f66: 0x6cbd5c20, 0x32f67: 0x6cbd5e20, + 0x32f68: 0x6cbd6020, 0x32f69: 0x6cbd6220, 0x32f6a: 0x6cbd6420, 0x32f6b: 0x6cbd6620, + 0x32f6c: 0x6cbd6820, 0x32f6d: 0x6cbd6a20, 0x32f6e: 0x6cedae20, 0x32f6f: 0x6cedb020, + 0x32f70: 0x6cedb220, 0x32f71: 0x6cedb420, 0x32f72: 0x6cedb620, 0x32f73: 0x6cedb820, + 0x32f74: 0x6cedba20, 0x32f75: 0x6cedbc20, 0x32f76: 0x6cedbe20, 0x32f77: 0x6cedc020, + 0x32f78: 0x6cedc220, 0x32f79: 0x6cedc420, 0x32f7a: 0x6cedc620, 0x32f7b: 0x6cedc820, + 0x32f7c: 0x6cedca20, 0x32f7d: 0x6cedcc20, 0x32f7e: 0x6cedce20, 0x32f7f: 0x6cedd020, + // Block 0xcbe, offset 0x32f80 + 0x32f80: 0x6cedd220, 0x32f81: 0x6cedd420, 0x32f82: 0x6cedd620, 0x32f83: 0x6cedd820, + 0x32f84: 0x6cedda20, 0x32f85: 0x6ceddc20, 0x32f86: 0x6cedde20, 0x32f87: 0x6cede020, + 0x32f88: 0x6cede220, 0x32f89: 0x6cede420, 0x32f8a: 0x6cede620, 0x32f8b: 0x6cede820, + 0x32f8c: 0x6cedea20, 0x32f8d: 0x6cedec20, 0x32f8e: 0x6cedee20, 0x32f8f: 0x6cedf020, + 0x32f90: 0x6cedf220, 0x32f91: 0x6cedf420, 0x32f92: 0x6cedf620, 0x32f93: 0x6cedf820, + 0x32f94: 0x6cedfa20, 0x32f95: 0x6cedfc20, 0x32f96: 0x6cedfe20, 0x32f97: 0x6cee0020, + 0x32f98: 0x6cee0220, 0x32f99: 0x6cee0420, 0x32f9a: 0x6cee0620, 0x32f9b: 0x6cee0820, + 0x32f9c: 0x6cee0a20, 0x32f9d: 0x6cee0c20, 0x32f9e: 0x6cee0e20, 0x32f9f: 0x6cee1020, + 0x32fa0: 0x6cee1220, 0x32fa1: 0x6cee1420, 0x32fa2: 0x6cee1620, 0x32fa3: 0x6cee1820, + 0x32fa4: 0x6cee1a20, 0x32fa5: 0x6cee1c20, 0x32fa6: 0x6cee1e20, 0x32fa7: 0x6cee2020, + 0x32fa8: 0x6cee2220, 0x32fa9: 0x6cee2420, 0x32faa: 0x6cee2620, 0x32fab: 0x6cee2820, + 0x32fac: 0x6cee2a20, 0x32fad: 0x6d1d7620, 0x32fae: 0x6d1d7820, 0x32faf: 0x6d1d7a20, + 0x32fb0: 0x6d1d7c20, 0x32fb1: 0x6d1d7e20, 0x32fb2: 0x6d1d8020, 0x32fb3: 0x6d1d8220, + 0x32fb4: 0x6d1d8420, 0x32fb5: 0x6d1d8620, 0x32fb6: 0x6d1d8820, 0x32fb7: 0x6d1d8a20, + 0x32fb8: 0x6d1d8c20, 0x32fb9: 0x6d1d8e20, 0x32fba: 0x6d1d9020, 0x32fbb: 0x6d1d9220, + 0x32fbc: 0x6d1d9420, 0x32fbd: 0x6d1d9620, 0x32fbe: 0x6d1d9820, 0x32fbf: 0x6d1d9a20, + // Block 0xcbf, offset 0x32fc0 + 0x32fc0: 0x6d1d9c20, 0x32fc1: 0x6d1d9e20, 0x32fc2: 0x6d1da020, 0x32fc3: 0x6d1da220, + 0x32fc4: 0x6d1da420, 0x32fc5: 0x6d1da620, 0x32fc6: 0x6d1da820, 0x32fc7: 0x6d1daa20, + 0x32fc8: 0x6d1dac20, 0x32fc9: 0x6d1dae20, 0x32fca: 0x6d1db020, 0x32fcb: 0x6d1db220, + 0x32fcc: 0x6d1db420, 0x32fcd: 0x6d1db620, 0x32fce: 0x6d1db820, 0x32fcf: 0x6d1dba20, + 0x32fd0: 0x6d1dbc20, 0x32fd1: 0x6d1dbe20, 0x32fd2: 0x6d1dc020, 0x32fd3: 0x6d1dc220, + 0x32fd4: 0x6d1dc420, 0x32fd5: 0x6d1dc620, 0x32fd6: 0x6d1dc820, 0x32fd7: 0x6d1dca20, + 0x32fd8: 0x6d1dcc20, 0x32fd9: 0x6d1dce20, 0x32fda: 0x6d1dd020, 0x32fdb: 0x6d1dd220, + 0x32fdc: 0x6d1dd420, 0x32fdd: 0x6d1dd620, 0x32fde: 0x6d4b1420, 0x32fdf: 0x6d4b1620, + 0x32fe0: 0x6d4b1820, 0x32fe1: 0x6d4b1a20, 0x32fe2: 0x6d4b1c20, 0x32fe3: 0x6d4b1e20, + 0x32fe4: 0x6d4b2020, 0x32fe5: 0x6d4b2220, 0x32fe6: 0x6d4b2420, 0x32fe7: 0x6d4b2620, + 0x32fe8: 0x6d4b2820, 0x32fe9: 0x6d4b2a20, 0x32fea: 0x6d4b2c20, 0x32feb: 0x6d4b2e20, + 0x32fec: 0x6d4b3020, 0x32fed: 0x6d4b3220, 0x32fee: 0x6d4b3420, 0x32fef: 0x6d4b3620, + 0x32ff0: 0x6d4b3820, 0x32ff1: 0x6d4b3a20, 0x32ff2: 0x6d4b3c20, 0x32ff3: 0x6d4b3e20, + 0x32ff4: 0x6d4b4020, 0x32ff5: 0x6d4b4220, 0x32ff6: 0x6d4b4420, 0x32ff7: 0x6d4b4620, + 0x32ff8: 0x6d4b4820, 0x32ff9: 0x6d4b4a20, 0x32ffa: 0x6d4b4c20, 0x32ffb: 0x6d4b4e20, + 0x32ffc: 0x6d4b5020, 0x32ffd: 0x6d4b5220, 0x32ffe: 0x6d4b5420, 0x32fff: 0x6d4b5620, + // Block 0xcc0, offset 0x33000 + 0x33000: 0x6d4b5820, 0x33001: 0x6d4b5a20, 0x33002: 0x6d4b5c20, 0x33003: 0x6d4b5e20, + 0x33004: 0x6d4b6020, 0x33005: 0x6d4b6220, 0x33006: 0x6d4b6420, 0x33007: 0x6d4b6620, + 0x33008: 0x6d4b6820, 0x33009: 0x6d4b6a20, 0x3300a: 0x6d4b6c20, 0x3300b: 0x6d4b6e20, + 0x3300c: 0x6d4b7020, 0x3300d: 0x6d4b7220, 0x3300e: 0x6d4b7420, 0x3300f: 0x6d4b7620, + 0x33010: 0x6d4b7820, 0x33011: 0x6d4b7a20, 0x33012: 0x6d4b7c20, 0x33013: 0x6d4b7e20, + 0x33014: 0x6d4b8020, 0x33015: 0x6d4b8220, 0x33016: 0x6d4b8420, 0x33017: 0x6d4b8620, + 0x33018: 0x6d4b8820, 0x33019: 0x6d4b8a20, 0x3301a: 0x6d4b8c20, 0x3301b: 0x6d4b8e20, + 0x3301c: 0x6d4b9020, 0x3301d: 0x6d4b9220, 0x3301e: 0x6d789c20, 0x3301f: 0x6d789e20, + 0x33020: 0x6d78a020, 0x33021: 0x6d78a220, 0x33022: 0x6d78a420, 0x33023: 0x6d78a620, + 0x33024: 0x6d78a820, 0x33025: 0x6d78aa20, 0x33026: 0x6d78ac20, 0x33027: 0x6d78ae20, + 0x33028: 0x6d78b020, 0x33029: 0x6d78b220, 0x3302a: 0x6d78b420, 0x3302b: 0x6d78b620, + 0x3302c: 0x6d78b820, 0x3302d: 0x6d78ba20, 0x3302e: 0x6d78bc20, 0x3302f: 0x6d78be20, + 0x33030: 0x6d78c020, 0x33031: 0x6d78c220, 0x33032: 0x6d78c420, 0x33033: 0x6d78c620, + 0x33034: 0x6d78c820, 0x33035: 0x6d78ca20, 0x33036: 0x6d78cc20, 0x33037: 0x6d78ce20, + 0x33038: 0x6d78d020, 0x33039: 0x6d78d220, 0x3303a: 0x6d980c20, 0x3303b: 0x6d78d420, + 0x3303c: 0x6d78d620, 0x3303d: 0x6d78d820, 0x3303e: 0x6d78da20, 0x3303f: 0x6d78dc20, + // Block 0xcc1, offset 0x33040 + 0x33040: 0x6d78de20, 0x33041: 0x6d78e020, 0x33042: 0x6d78e220, 0x33043: 0x6d78e420, + 0x33044: 0x6d78e620, 0x33045: 0x6d78e820, 0x33046: 0x6d78ea20, 0x33047: 0x6d78ec20, + 0x33048: 0x6d78ee20, 0x33049: 0x6da1a820, 0x3304a: 0x6da1aa20, 0x3304b: 0x6da1ac20, + 0x3304c: 0x6da1ae20, 0x3304d: 0x6da1b020, 0x3304e: 0x6da1b220, 0x3304f: 0x6da1b420, + 0x33050: 0x6da1b620, 0x33051: 0x6da1b820, 0x33052: 0x6da1ba20, 0x33053: 0x6da1bc20, + 0x33054: 0x6da1be20, 0x33055: 0x6da1c020, 0x33056: 0x6da1c220, 0x33057: 0x6da1c420, + 0x33058: 0x6da1c620, 0x33059: 0x6da1c820, 0x3305a: 0x6da1ca20, 0x3305b: 0x6da1cc20, + 0x3305c: 0x6da1ce20, 0x3305d: 0x6da1d020, 0x3305e: 0x6da1d220, 0x3305f: 0x6da1d420, + 0x33060: 0x6da1d620, 0x33061: 0x6dc1f820, 0x33062: 0x6da1d820, 0x33063: 0x6da1da20, + 0x33064: 0x6da1dc20, 0x33065: 0x6da1de20, 0x33066: 0x6da1e020, 0x33067: 0x6da1e220, + 0x33068: 0x6da1e420, 0x33069: 0x6da1e620, 0x3306a: 0x6da1e820, 0x3306b: 0x6da1ea20, + 0x3306c: 0x6da1ec20, 0x3306d: 0x6da1ee20, 0x3306e: 0x6da1f020, 0x3306f: 0x6da1f220, + 0x33070: 0x6dc3ea20, 0x33071: 0x6dc3ec20, 0x33072: 0x6dc3ee20, 0x33073: 0x6dc3f020, + 0x33074: 0x6dc3f220, 0x33075: 0x6dc3f420, 0x33076: 0x6dc3f620, 0x33077: 0x6dc3f820, + 0x33078: 0x6dc3fa20, 0x33079: 0x6dc3fc20, 0x3307a: 0x6dc3fe20, 0x3307b: 0x6dc40020, + 0x3307c: 0x6dc40220, 0x3307d: 0x6dc40420, 0x3307e: 0x6dc40620, 0x3307f: 0x6dc40820, + // Block 0xcc2, offset 0x33080 + 0x33080: 0x6de11620, 0x33081: 0x6dc40a20, 0x33082: 0x6dc40c20, 0x33083: 0x6dc40e20, + 0x33084: 0x6dc41020, 0x33085: 0x6dc41220, 0x33086: 0x6dc41420, 0x33087: 0x6dc41620, + 0x33088: 0x6dc41820, 0x33089: 0x6dc41a20, 0x3308a: 0x6dc41c20, 0x3308b: 0x6dc41e20, + 0x3308c: 0x6dc42020, 0x3308d: 0x6dc42220, 0x3308e: 0x6dc42420, 0x3308f: 0x6dc42620, + 0x33090: 0x6de11820, 0x33091: 0x6de11a20, 0x33092: 0x6de11c20, 0x33093: 0x6de11e20, + 0x33094: 0x6de12020, 0x33095: 0x6de12220, 0x33096: 0x6de12420, 0x33097: 0x6de12620, + 0x33098: 0x6de12820, 0x33099: 0x6de12a20, 0x3309a: 0x6de12c20, 0x3309b: 0x6dede420, + 0x3309c: 0x6de12e20, 0x3309d: 0x6de13020, 0x3309e: 0x6de13220, 0x3309f: 0x6de13420, + 0x330a0: 0x6de13620, 0x330a1: 0x6de13820, 0x330a2: 0x6de13a20, 0x330a3: 0x6de13c20, + 0x330a4: 0x6de13e20, 0x330a5: 0x6de14020, 0x330a6: 0x6df93a20, 0x330a7: 0x6df93c20, + 0x330a8: 0x6df93e20, 0x330a9: 0x6df94020, 0x330aa: 0x6df94220, 0x330ab: 0x6df94420, + 0x330ac: 0x6df94620, 0x330ad: 0x6df94820, 0x330ae: 0x6df94a20, 0x330af: 0x6df94c20, + 0x330b0: 0x6df94e20, 0x330b1: 0x6e0cfe20, 0x330b2: 0x6e0d0020, 0x330b3: 0x6e0d0220, + 0x330b4: 0x6e0d0420, 0x330b5: 0x6e0d0620, 0x330b6: 0x6e0d0820, 0x330b7: 0x6e078620, + 0x330b8: 0x6e0d0a20, 0x330b9: 0x6e0d0c20, 0x330ba: 0x6e1c7620, 0x330bb: 0x6e0d0e20, + 0x330bc: 0x6e0d1020, 0x330bd: 0x6e0d1220, 0x330be: 0x6e0d1420, 0x330bf: 0x6e0d1620, + // Block 0xcc3, offset 0x330c0 + 0x330c0: 0x6e0d1820, 0x330c1: 0x6e0d1a20, 0x330c2: 0x6e1c7820, 0x330c3: 0x6e1c7a20, + 0x330c4: 0x6e1c7c20, 0x330c5: 0x6e1c7e20, 0x330c6: 0x6e1c8020, 0x330c7: 0x6e1c8220, + 0x330c8: 0x6e1c8420, 0x330c9: 0x6e1c8620, 0x330ca: 0x6e289220, 0x330cb: 0x6e289420, + 0x330cc: 0x6e289620, 0x330cd: 0x6e289820, 0x330ce: 0x6e289a20, 0x330cf: 0x6e31c620, + 0x330d0: 0x6e31c820, 0x330d1: 0x6e31ca20, 0x330d2: 0x6e31cc20, 0x330d3: 0x6e31ce20, + 0x330d4: 0x6e31d020, 0x330d5: 0x6e31d220, 0x330d6: 0x6e3d1220, 0x330d7: 0x6e442620, + 0x330d8: 0x6e451820, 0x330d9: 0x6e46e220, 0x330da: 0x6e471e20, 0x330db: 0x6c07c620, + 0x330dc: 0x6c0f1020, 0x330dd: 0x6c1b7020, 0x330de: 0x6c1b7220, 0x330df: 0x6c2e7e20, + 0x330e0: 0x6c48ea20, 0x330e1: 0x6c48ec20, 0x330e2: 0x6c48ee20, 0x330e3: 0x6c6a7220, + 0x330e4: 0x6c6a7420, 0x330e5: 0x6c6a7620, 0x330e6: 0x6c6a7820, 0x330e7: 0x6c6a7a20, + 0x330e8: 0x6c6a7c20, 0x330e9: 0x6c6a7e20, 0x330ea: 0x6c916620, 0x330eb: 0x6c916820, + 0x330ec: 0x6c916a20, 0x330ed: 0x6c916c20, 0x330ee: 0x6cbd8e20, 0x330ef: 0x6cbd9020, + 0x330f0: 0x6cee5020, 0x330f1: 0x6cbdc220, 0x330f2: 0x6cee5220, 0x330f3: 0x6cee5420, + 0x330f4: 0x6cee5620, 0x330f5: 0x6cee5820, 0x330f6: 0x6d1df820, 0x330f7: 0x6d187e20, + 0x330f8: 0x6d1dfa20, 0x330f9: 0x6d1dfc20, 0x330fa: 0x6d1dfe20, 0x330fb: 0x6d1e0020, + 0x330fc: 0x6d4ba620, 0x330fd: 0x6d4ba820, 0x330fe: 0x6d790220, 0x330ff: 0x6d790420, + // Block 0xcc4, offset 0x33100 + 0x33100: 0x6d790620, 0x33101: 0x6da20020, 0x33102: 0x6da20220, 0x33103: 0x6da20420, + 0x33104: 0x6da20620, 0x33105: 0x6dc43020, 0x33106: 0x6dd50620, 0x33107: 0x6dc43220, + 0x33108: 0x6dc43420, 0x33109: 0x6dc43620, 0x3310a: 0x6dc43820, 0x3310b: 0x6de14420, + 0x3310c: 0x6de14620, 0x3310d: 0x6df95220, 0x3310e: 0x6dfe0820, 0x3310f: 0x6e1c8820, + 0x33110: 0x6e1c8a20, 0x33111: 0x6e1c8c20, 0x33112: 0x6c018a20, 0x33113: 0x6c07ca20, + 0x33114: 0x6c07cc20, 0x33115: 0x6c0f1420, 0x33116: 0x6c0f1620, 0x33117: 0x6c1b7620, + 0x33118: 0x6c1b7820, 0x33119: 0x6c1b7a20, 0x3311a: 0x6c6a8220, 0x3311b: 0x6c917020, + 0x3311c: 0x6c917220, 0x3311d: 0x6cee5c20, 0x3311e: 0x6c0f1820, 0x3311f: 0x6c0f1a20, + 0x33120: 0x6c1b7e20, 0x33121: 0x6c1b8020, 0x33122: 0x6c2e8420, 0x33123: 0x6c2e8620, + 0x33124: 0x6c2e8820, 0x33125: 0x6c2e8a20, 0x33126: 0x6c6a8a20, 0x33127: 0x6c917420, + 0x33128: 0x6c917620, 0x33129: 0x6c917820, 0x3312a: 0x6c917a20, 0x3312b: 0x6c917c20, + 0x3312c: 0x6c917e20, 0x3312d: 0x6cbd9620, 0x3312e: 0x6cee6020, 0x3312f: 0x6cee6220, + 0x33130: 0x6cee6420, 0x33131: 0x6cee6620, 0x33132: 0x6d1e0420, 0x33133: 0x6d1e0620, + 0x33134: 0x6d1e0820, 0x33135: 0x6d1e0a20, 0x33136: 0x6d4baa20, 0x33137: 0x6d4bac20, + 0x33138: 0x6d790820, 0x33139: 0x6d790a20, 0x3313a: 0x6d790c20, 0x3313b: 0x6da20820, + 0x3313c: 0x6dc43e20, 0x3313d: 0x6dc44020, 0x3313e: 0x6dc44220, 0x3313f: 0x6dc44420, + // Block 0xcc5, offset 0x33140 + 0x33140: 0x6de14a20, 0x33141: 0x6df95620, 0x33142: 0x6e289c20, 0x33143: 0x6e451a20, + 0x33144: 0x6c07d620, 0x33145: 0x6c07d820, 0x33146: 0x6c07da20, 0x33147: 0x6c0f2220, + 0x33148: 0x6c0f2420, 0x33149: 0x6c0f2620, 0x3314a: 0x6c1b8220, 0x3314b: 0x6c1b8420, + 0x3314c: 0x6c1b8620, 0x3314d: 0x6c2e9220, 0x3314e: 0x6c2e9420, 0x3314f: 0x6c2e9620, + 0x33150: 0x6c48fc20, 0x33151: 0x6c48fe20, 0x33152: 0x6c6a9020, 0x33153: 0x6c6a9220, + 0x33154: 0x6c6a9420, 0x33155: 0x6c6a9620, 0x33156: 0x6c6a9820, 0x33157: 0x6c6a9a20, + 0x33158: 0x6c6a9c20, 0x33159: 0x6c6a9e20, 0x3315a: 0x6c6aa020, 0x3315b: 0x6c6aa220, + 0x3315c: 0x6c6aa420, 0x3315d: 0x6c918420, 0x3315e: 0x6c918620, 0x3315f: 0x6c918820, + 0x33160: 0x6c918a20, 0x33161: 0x6c918c20, 0x33162: 0x6c918e20, 0x33163: 0x6c919020, + 0x33164: 0x6c919220, 0x33165: 0x6c919420, 0x33166: 0x6cbda020, 0x33167: 0x6cbda220, + 0x33168: 0x6cbda420, 0x33169: 0x6cbda620, 0x3316a: 0x6cbda820, 0x3316b: 0x6cbdaa20, + 0x3316c: 0x6cbdac20, 0x3316d: 0x6cbdae20, 0x3316e: 0x6cbdb020, 0x3316f: 0x6cee6a20, + 0x33170: 0x6cbdb220, 0x33171: 0x6cee6c20, 0x33172: 0x6cee6e20, 0x33173: 0x6cee7020, + 0x33174: 0x6cee7220, 0x33175: 0x6cee7420, 0x33176: 0x6d1e1820, 0x33177: 0x6d1e1a20, + 0x33178: 0x6d1e1c20, 0x33179: 0x6d1e1e20, 0x3317a: 0x6d1e2020, 0x3317b: 0x6d1e2220, + 0x3317c: 0x6d1e2420, 0x3317d: 0x6d1e2620, 0x3317e: 0x6d1e2820, 0x3317f: 0x6d4bb020, + // Block 0xcc6, offset 0x33180 + 0x33180: 0x6d4bb220, 0x33181: 0x6d4bb420, 0x33182: 0x6d791220, 0x33183: 0x6d791420, + 0x33184: 0x6d791620, 0x33185: 0x6d791820, 0x33186: 0x6da20c20, 0x33187: 0x6da20e20, + 0x33188: 0x6da21020, 0x33189: 0x6dc44820, 0x3318a: 0x6dc44a20, 0x3318b: 0x6de14c20, + 0x3318c: 0x6de14e20, 0x3318d: 0x6e0d2020, 0x3318e: 0x6e0d2220, 0x3318f: 0x6e3d1420, + 0x33190: 0x6de15020, 0x33191: 0x6e45be20, 0x33192: 0x6c03e820, 0x33193: 0x6c03ea20, + 0x33194: 0x6c03ec20, 0x33195: 0x6c07ec20, 0x33196: 0x6c07ee20, 0x33197: 0x6c07f020, + 0x33198: 0x6c07f220, 0x33199: 0x6c07f420, 0x3319a: 0x6c07f620, 0x3319b: 0x6c07f820, + 0x3319c: 0x6c04f620, 0x3319d: 0x6c0f4420, 0x3319e: 0x6c0f4620, 0x3319f: 0x6c0f4820, + 0x331a0: 0x6c0f4a20, 0x331a1: 0x6c0f4c20, 0x331a2: 0x6c0f4e20, 0x331a3: 0x6c0f5020, + 0x331a4: 0x6c0f5220, 0x331a5: 0x6c1b9a20, 0x331a6: 0x6c1b9c20, 0x331a7: 0x6c1b9e20, + 0x331a8: 0x6c1ba020, 0x331a9: 0x6c1ba220, 0x331aa: 0x6c1ba420, 0x331ab: 0x6c1ba620, + 0x331ac: 0x6c1ba820, 0x331ad: 0x6c1baa20, 0x331ae: 0x6c1bac20, 0x331af: 0x6c1bae20, + 0x331b0: 0x6c1bb020, 0x331b1: 0x6c1bb220, 0x331b2: 0x6c1bb420, 0x331b3: 0x6c1bb620, + 0x331b4: 0x6c1bb820, 0x331b5: 0x6c1bba20, 0x331b6: 0x6c1bbc20, 0x331b7: 0x6c2eba20, + 0x331b8: 0x6c2ebc20, 0x331b9: 0x6c2ebe20, 0x331ba: 0x6c2ec020, 0x331bb: 0x6c2ec220, + 0x331bc: 0x6c2ec420, 0x331bd: 0x6c2ec620, 0x331be: 0x6c2ec820, 0x331bf: 0x6c2eca20, + // Block 0xcc7, offset 0x331c0 + 0x331c0: 0x6c2ecc20, 0x331c1: 0x6c2ece20, 0x331c2: 0x6c2ed020, 0x331c3: 0x6c2ed220, + 0x331c4: 0x6c2ed420, 0x331c5: 0x6c2ed620, 0x331c6: 0x6c2ed820, 0x331c7: 0x6c2eda20, + 0x331c8: 0x6c2edc20, 0x331c9: 0x6c2ede20, 0x331ca: 0x6c2ee020, 0x331cb: 0x6c2ee220, + 0x331cc: 0x6c2ee420, 0x331cd: 0x6c491620, 0x331ce: 0x6c491820, 0x331cf: 0x6c491a20, + 0x331d0: 0x6c491c20, 0x331d1: 0x6c491e20, 0x331d2: 0x6c492020, 0x331d3: 0x6c492220, + 0x331d4: 0x6c492420, 0x331d5: 0x6c492620, 0x331d6: 0x6c492820, 0x331d7: 0x6c492a20, + 0x331d8: 0x6c492c20, 0x331d9: 0x6c492e20, 0x331da: 0x6c493020, 0x331db: 0x6c493220, + 0x331dc: 0x6c493420, 0x331dd: 0x6c6ab420, 0x331de: 0x6c6ab620, 0x331df: 0x6c6ab820, + 0x331e0: 0x6c6aba20, 0x331e1: 0x6c6abc20, 0x331e2: 0x6c6abe20, 0x331e3: 0x6c6ac020, + 0x331e4: 0x6c6ac220, 0x331e5: 0x6c6ac420, 0x331e6: 0x6c6ac620, 0x331e7: 0x6c6ac820, + 0x331e8: 0x6c6aca20, 0x331e9: 0x6c6acc20, 0x331ea: 0x6c6ace20, 0x331eb: 0x6c6ad020, + 0x331ec: 0x6c6ad220, 0x331ed: 0x6c6ad420, 0x331ee: 0x6c6ad620, 0x331ef: 0x6c6ad820, + 0x331f0: 0x6c6ada20, 0x331f1: 0x6c6adc20, 0x331f2: 0x6c6ade20, 0x331f3: 0x6c6ae020, + 0x331f4: 0x6c91a620, 0x331f5: 0x6c91a820, 0x331f6: 0x6c91aa20, 0x331f7: 0x6c91ac20, + 0x331f8: 0x6c91ae20, 0x331f9: 0x6c91b020, 0x331fa: 0x6c91b220, 0x331fb: 0x6c91b420, + 0x331fc: 0x6c91b620, 0x331fd: 0x6c91b820, 0x331fe: 0x6c91ba20, 0x331ff: 0x6c91bc20, + // Block 0xcc8, offset 0x33200 + 0x33200: 0x6c91be20, 0x33201: 0x6c91c020, 0x33202: 0x6c91c220, 0x33203: 0x6c91c420, + 0x33204: 0x6c91c620, 0x33205: 0x6c91c820, 0x33206: 0x6c91ca20, 0x33207: 0x6cbdc420, + 0x33208: 0x6cbdc620, 0x33209: 0x6cbdc820, 0x3320a: 0x6cbdca20, 0x3320b: 0x6cbdcc20, + 0x3320c: 0x6cbdce20, 0x3320d: 0x6cbdd020, 0x3320e: 0x6cbdd220, 0x3320f: 0x6cbdd420, + 0x33210: 0x6cbdd620, 0x33211: 0x6cbdd820, 0x33212: 0x6cbdda20, 0x33213: 0x6cbddc20, + 0x33214: 0x6cbdde20, 0x33215: 0x6cbde020, 0x33216: 0x6cbde220, 0x33217: 0x6cbde420, + 0x33218: 0x6cbde620, 0x33219: 0x6cbde820, 0x3321a: 0x6cbdea20, 0x3321b: 0x6cee7e20, + 0x3321c: 0x6cee8020, 0x3321d: 0x6cee8220, 0x3321e: 0x6cee8420, 0x3321f: 0x6cee8620, + 0x33220: 0x6cee8820, 0x33221: 0x6cee8a20, 0x33222: 0x6cee8c20, 0x33223: 0x6cee8e20, + 0x33224: 0x6cee9020, 0x33225: 0x6cee9220, 0x33226: 0x6cee9420, 0x33227: 0x6cee9620, + 0x33228: 0x6cee9820, 0x33229: 0x6cee9a20, 0x3322a: 0x6cee9c20, 0x3322b: 0x6cee9e20, + 0x3322c: 0x6d1e3620, 0x3322d: 0x6d1e3820, 0x3322e: 0x6d1e3a20, 0x3322f: 0x6d1e3c20, + 0x33230: 0x6d1e3e20, 0x33231: 0x6d1e4020, 0x33232: 0x6d1e4220, 0x33233: 0x6d1e4420, + 0x33234: 0x6d1e4620, 0x33235: 0x6d1e4820, 0x33236: 0x6d1e4a20, 0x33237: 0x6d4bba20, + 0x33238: 0x6d4bbc20, 0x33239: 0x6d4bbe20, 0x3323a: 0x6d4bc020, 0x3323b: 0x6d4bc220, + 0x3323c: 0x6d4bc420, 0x3323d: 0x6d4bc620, 0x3323e: 0x6d4bc820, 0x3323f: 0x6d4bca20, + // Block 0xcc9, offset 0x33240 + 0x33240: 0x6d4bcc20, 0x33241: 0x6d4bce20, 0x33242: 0x6d4bd020, 0x33243: 0x6d4bd220, + 0x33244: 0x6d4bd420, 0x33245: 0x6d4bd620, 0x33246: 0x6d792220, 0x33247: 0x6d792420, + 0x33248: 0x6d792620, 0x33249: 0x6d792820, 0x3324a: 0x6d792a20, 0x3324b: 0x6d792c20, + 0x3324c: 0x6d792e20, 0x3324d: 0x6d793020, 0x3324e: 0x6d793220, 0x3324f: 0x6da21220, + 0x33250: 0x6da21420, 0x33251: 0x6da21620, 0x33252: 0x6da21820, 0x33253: 0x6da21a20, + 0x33254: 0x6da21c20, 0x33255: 0x6da21e20, 0x33256: 0x6da22020, 0x33257: 0x6dc44e20, + 0x33258: 0x6de15220, 0x33259: 0x6de15420, 0x3325a: 0x6de15620, 0x3325b: 0x6df95820, + 0x3325c: 0x6e0d2420, 0x3325d: 0x6e0d2620, 0x3325e: 0x6e1c9420, 0x3325f: 0x6e1c9620, + 0x33260: 0x6e289e20, 0x33261: 0x6e28a020, 0x33262: 0x6e28a220, 0x33263: 0x6e31d420, + 0x33264: 0x6e31d620, 0x33265: 0x6e401220, 0x33266: 0x6c03f020, 0x33267: 0x6c080420, + 0x33268: 0x6c080620, 0x33269: 0x6c080820, 0x3326a: 0x6c080a20, 0x3326b: 0x6c080c20, + 0x3326c: 0x6c080e20, 0x3326d: 0x6c081020, 0x3326e: 0x6c0f8620, 0x3326f: 0x6c0f8820, + 0x33270: 0x6c0f8a20, 0x33271: 0x6c0f8c20, 0x33272: 0x6c0f8e20, 0x33273: 0x6c0f9020, + 0x33274: 0x6c0f9220, 0x33275: 0x6c0f9420, 0x33276: 0x6c0f9620, 0x33277: 0x6c0f9820, + 0x33278: 0x6c0f9a20, 0x33279: 0x6c0f9c20, 0x3327a: 0x6c0f9e20, 0x3327b: 0x6c0fa020, + 0x3327c: 0x6c1c1820, 0x3327d: 0x6c1c1a20, 0x3327e: 0x6c1c1c20, 0x3327f: 0x6c1c1e20, + // Block 0xcca, offset 0x33280 + 0x33280: 0x6c1c2020, 0x33281: 0x6c1c2220, 0x33282: 0x6c1c2420, 0x33283: 0x6c1c2620, + 0x33284: 0x6c1c2820, 0x33285: 0x6c1c2a20, 0x33286: 0x6c1c2c20, 0x33287: 0x6c1c2e20, + 0x33288: 0x6c1c3020, 0x33289: 0x6c1c3220, 0x3328a: 0x6c1c3420, 0x3328b: 0x6c1c3620, + 0x3328c: 0x6c1c3820, 0x3328d: 0x6c1c3a20, 0x3328e: 0x6c1c3c20, 0x3328f: 0x6c1c3e20, + 0x33290: 0x6c1c4020, 0x33291: 0x6c1c4220, 0x33292: 0x6c1c4420, 0x33293: 0x6c1c4620, + 0x33294: 0x6c1c4820, 0x33295: 0x6c1c4a20, 0x33296: 0x6c1c4c20, 0x33297: 0x6c1c4e20, + 0x33298: 0x6c1c5020, 0x33299: 0x6c2f6e20, 0x3329a: 0x6c2f7020, 0x3329b: 0x6c2f7220, + 0x3329c: 0x6c2f7420, 0x3329d: 0x6c2f7620, 0x3329e: 0x6c2f7820, 0x3329f: 0x6c2f7a20, + 0x332a0: 0x6c2f7c20, 0x332a1: 0x6c2f7e20, 0x332a2: 0x6c2f8020, 0x332a3: 0x6c2f8220, + 0x332a4: 0x6c2f8420, 0x332a5: 0x6c2f8620, 0x332a6: 0x6c2f8820, 0x332a7: 0x6c2f8a20, + 0x332a8: 0x6c2f8c20, 0x332a9: 0x6c2f8e20, 0x332aa: 0x6c2f9020, 0x332ab: 0x6c2f9220, + 0x332ac: 0x6c2f9420, 0x332ad: 0x6c2f9620, 0x332ae: 0x6c2f9820, 0x332af: 0x6c2f9a20, + 0x332b0: 0x6c2f9c20, 0x332b1: 0x6c2f9e20, 0x332b2: 0x6c2fa020, 0x332b3: 0x6c2fa220, + 0x332b4: 0x6c2fa420, 0x332b5: 0x6c2fa620, 0x332b6: 0x6c2fa820, 0x332b7: 0x6c2faa20, + 0x332b8: 0x6c2fac20, 0x332b9: 0x6c2fae20, 0x332ba: 0x6c2fb020, 0x332bb: 0x6c2fb220, + 0x332bc: 0x6c2fb420, 0x332bd: 0x6c2fb620, 0x332be: 0x6c2fb820, 0x332bf: 0x6c2fba20, + // Block 0xccb, offset 0x332c0 + 0x332c0: 0x6c2fbc20, 0x332c1: 0x6c2fbe20, 0x332c2: 0x6c49b420, 0x332c3: 0x6c49b620, + 0x332c4: 0x6c49b820, 0x332c5: 0x6c49ba20, 0x332c6: 0x6c49bc20, 0x332c7: 0x6c49be20, + 0x332c8: 0x6c49c020, 0x332c9: 0x6c49c220, 0x332ca: 0x6c49c420, 0x332cb: 0x6c49c620, + 0x332cc: 0x6c49c820, 0x332cd: 0x6c49ca20, 0x332ce: 0x6c49cc20, 0x332cf: 0x6c49ce20, + 0x332d0: 0x6c49d020, 0x332d1: 0x6c49d220, 0x332d2: 0x6c49d420, 0x332d3: 0x6c49d620, + 0x332d4: 0x6c49d820, 0x332d5: 0x6c49da20, 0x332d6: 0x6c49dc20, 0x332d7: 0x6c49de20, + 0x332d8: 0x6c49e020, 0x332d9: 0x6c49e220, 0x332da: 0x6c49e420, 0x332db: 0x6c49e620, + 0x332dc: 0x6c49e820, 0x332dd: 0x6c49ea20, 0x332de: 0x6c49ec20, 0x332df: 0x6c49ee20, + 0x332e0: 0x6c49f020, 0x332e1: 0x6c49f220, 0x332e2: 0x6c49f420, 0x332e3: 0x6c49f620, + 0x332e4: 0x6c49f820, 0x332e5: 0x6c49fa20, 0x332e6: 0x6c49fc20, 0x332e7: 0x6c49fe20, + 0x332e8: 0x6c4a0020, 0x332e9: 0x6c4a0220, 0x332ea: 0x6c4a0420, 0x332eb: 0x6c4a0620, + 0x332ec: 0x6c4a0820, 0x332ed: 0x6c4a0a20, 0x332ee: 0x6c6b6c20, 0x332ef: 0x6c6b6e20, + 0x332f0: 0x6c6b7020, 0x332f1: 0x6c6b7220, 0x332f2: 0x6c6b7420, 0x332f3: 0x6c6b7620, + 0x332f4: 0x6c6b7820, 0x332f5: 0x6c6b7a20, 0x332f6: 0x6c6b7c20, 0x332f7: 0x6c6b7e20, + 0x332f8: 0x6c6b8020, 0x332f9: 0x6c6b8220, 0x332fa: 0x6c6b8420, 0x332fb: 0x6c6b8620, + 0x332fc: 0x6c6b8820, 0x332fd: 0x6c6b8a20, 0x332fe: 0x6c6b8c20, 0x332ff: 0x6c6b8e20, + // Block 0xccc, offset 0x33300 + 0x33300: 0x6c6b9020, 0x33301: 0x6c6b9220, 0x33302: 0x6c6b9420, 0x33303: 0x6c6b9620, + 0x33304: 0x6c6b9820, 0x33305: 0x6c6b9a20, 0x33306: 0x6c6b9c20, 0x33307: 0x6c6b9e20, + 0x33308: 0x6c6ba020, 0x33309: 0x6c6ba220, 0x3330a: 0x6c6ba420, 0x3330b: 0x6c6ba620, + 0x3330c: 0x6c6ba820, 0x3330d: 0x6c6baa20, 0x3330e: 0x6c6bac20, 0x3330f: 0x6c6bae20, + 0x33310: 0x6c6bb020, 0x33311: 0x6c6bb220, 0x33312: 0x6c6bb420, 0x33313: 0x6c6bb620, + 0x33314: 0x6c6bb820, 0x33315: 0x6c6bba20, 0x33316: 0x6c6bbc20, 0x33317: 0x6c6bbe20, + 0x33318: 0x6c6bc020, 0x33319: 0x6c6bc220, 0x3331a: 0x6c6bc420, 0x3331b: 0x6c6bc620, + 0x3331c: 0x6c6bc820, 0x3331d: 0x6c6bca20, 0x3331e: 0x6c927020, 0x3331f: 0x6c927220, + 0x33320: 0x6c927420, 0x33321: 0x6c927620, 0x33322: 0x6c927820, 0x33323: 0x6c927a20, + 0x33324: 0x6c927c20, 0x33325: 0x6c927e20, 0x33326: 0x6c928020, 0x33327: 0x6c928220, + 0x33328: 0x6c928420, 0x33329: 0x6c928620, 0x3332a: 0x6c928820, 0x3332b: 0x6c928a20, + 0x3332c: 0x6c928c20, 0x3332d: 0x6c928e20, 0x3332e: 0x6c929020, 0x3332f: 0x6c929220, + 0x33330: 0x6c929420, 0x33331: 0x6c929620, 0x33332: 0x6c929820, 0x33333: 0x6c929a20, + 0x33334: 0x6c929c20, 0x33335: 0x6c929e20, 0x33336: 0x6c92a020, 0x33337: 0x6c92a220, + 0x33338: 0x6c92a420, 0x33339: 0x6c92a620, 0x3333a: 0x6c92a820, 0x3333b: 0x6c92aa20, + 0x3333c: 0x6c92ac20, 0x3333d: 0x6c92ae20, 0x3333e: 0x6c92b020, 0x3333f: 0x6c92b220, + // Block 0xccd, offset 0x33340 + 0x33340: 0x6c92b420, 0x33341: 0x6c92b620, 0x33342: 0x6c92b820, 0x33343: 0x6c92ba20, + 0x33344: 0x6c92bc20, 0x33345: 0x6c92be20, 0x33346: 0x6c92c020, 0x33347: 0x6c92c220, + 0x33348: 0x6c92c420, 0x33349: 0x6c92c620, 0x3334a: 0x6c92c820, 0x3334b: 0x6c92ca20, + 0x3334c: 0x6c92cc20, 0x3334d: 0x6c92ce20, 0x3334e: 0x6c92d020, 0x3334f: 0x6c92d220, + 0x33350: 0x6c92d420, 0x33351: 0x6c92d620, 0x33352: 0x6c92d820, 0x33353: 0x6c92da20, + 0x33354: 0x6c92dc20, 0x33355: 0x6c92de20, 0x33356: 0x6c92e020, 0x33357: 0x6c92e220, + 0x33358: 0x6c92e420, 0x33359: 0x6c92e620, 0x3335a: 0x6c92e820, 0x3335b: 0x6c92ea20, + 0x3335c: 0x6cbe9020, 0x3335d: 0x6cbe9220, 0x3335e: 0x6cbe9420, 0x3335f: 0x6cbe9620, + 0x33360: 0x6cbe9820, 0x33361: 0x6cbe9a20, 0x33362: 0x6cbe9c20, 0x33363: 0x6cbe9e20, + 0x33364: 0x6cbea020, 0x33365: 0x6cbea220, 0x33366: 0x6cbea420, 0x33367: 0x6cbea620, + 0x33368: 0x6cbea820, 0x33369: 0x6cbeaa20, 0x3336a: 0x6cbeac20, 0x3336b: 0x6cbeae20, + 0x3336c: 0x6cbeb020, 0x3336d: 0x6cbeb220, 0x3336e: 0x6cbeb420, 0x3336f: 0x6cbeb620, + 0x33370: 0x6cbeb820, 0x33371: 0x6cbeba20, 0x33372: 0x6cbebc20, 0x33373: 0x6cbebe20, + 0x33374: 0x6cbec020, 0x33375: 0x6cbec220, 0x33376: 0x6cbec420, 0x33377: 0x6cbec620, + 0x33378: 0x6cbec820, 0x33379: 0x6cbeca20, 0x3337a: 0x6cbecc20, 0x3337b: 0x6cbece20, + 0x3337c: 0x6cbed020, 0x3337d: 0x6cbed220, 0x3337e: 0x6cbed420, 0x3337f: 0x6cbed620, + // Block 0xcce, offset 0x33380 + 0x33380: 0x6cbed820, 0x33381: 0x6cbeda20, 0x33382: 0x6cbedc20, 0x33383: 0x6cbede20, + 0x33384: 0x6cbee020, 0x33385: 0x6cbee220, 0x33386: 0x6cbee420, 0x33387: 0x6cbee620, + 0x33388: 0x6cbee820, 0x33389: 0x6cbeea20, 0x3338a: 0x6cbeec20, 0x3338b: 0x6cbeee20, + 0x3338c: 0x6cbef020, 0x3338d: 0x6cbef220, 0x3338e: 0x6cbef420, 0x3338f: 0x6cbef620, + 0x33390: 0x6cbef820, 0x33391: 0x6cbefa20, 0x33392: 0x6cbefc20, 0x33393: 0x6cbefe20, + 0x33394: 0x6cbf0020, 0x33395: 0x6cbf0220, 0x33396: 0x6cbf0420, 0x33397: 0x6cbf0620, + 0x33398: 0x6cbf0820, 0x33399: 0x6cbf0a20, 0x3339a: 0x6cbf0c20, 0x3339b: 0x6cbf0e20, + 0x3339c: 0x6cbf1020, 0x3339d: 0x6cbf1220, 0x3339e: 0x6cbf1420, 0x3339f: 0x6cbf1620, + 0x333a0: 0x6cbf1820, 0x333a1: 0x6cbf1a20, 0x333a2: 0x6cbf1c20, 0x333a3: 0x6cbf1e20, + 0x333a4: 0x6cbf2020, 0x333a5: 0x6cbf2220, 0x333a6: 0x6cbf2420, 0x333a7: 0x6cbf2620, + 0x333a8: 0x6cef1020, 0x333a9: 0x6cef1220, 0x333aa: 0x6cef1420, 0x333ab: 0x6cef1620, + 0x333ac: 0x6cef1820, 0x333ad: 0x6cef1a20, 0x333ae: 0x6cef1c20, 0x333af: 0x6cef1e20, + 0x333b0: 0x6cef2020, 0x333b1: 0x6cef2220, 0x333b2: 0x6cef2420, 0x333b3: 0x6cef2620, + 0x333b4: 0x6cef2820, 0x333b5: 0x6cef2a20, 0x333b6: 0x6cef2c20, 0x333b7: 0x6cef2e20, + 0x333b8: 0x6cef3020, 0x333b9: 0x6cef3220, 0x333ba: 0x6cef3420, 0x333bb: 0x6cef3620, + 0x333bc: 0x6cef3820, 0x333bd: 0x6cef3a20, 0x333be: 0x6cef3c20, 0x333bf: 0x6cef3e20, + // Block 0xccf, offset 0x333c0 + 0x333c0: 0x6cef4020, 0x333c1: 0x6cef4220, 0x333c2: 0x6cef4420, 0x333c3: 0x6cef4620, + 0x333c4: 0x6cef4820, 0x333c5: 0x6cef4a20, 0x333c6: 0x6cef4c20, 0x333c7: 0x6cef4e20, + 0x333c8: 0x6cef5020, 0x333c9: 0x6cef5220, 0x333ca: 0x6cef5420, 0x333cb: 0x6cef5620, + 0x333cc: 0x6cef5820, 0x333cd: 0x6cef5a20, 0x333ce: 0x6cef5c20, 0x333cf: 0x6cef5e20, + 0x333d0: 0x6cef6020, 0x333d1: 0x6cef6220, 0x333d2: 0x6cef6420, 0x333d3: 0x6cef6620, + 0x333d4: 0x6cef6820, 0x333d5: 0x6cef6a20, 0x333d6: 0x6d4c2220, 0x333d7: 0x6d1eaa20, + 0x333d8: 0x6d4c2420, 0x333d9: 0x6d1eac20, 0x333da: 0x6d1eae20, 0x333db: 0x6d1eb020, + 0x333dc: 0x6d1eb220, 0x333dd: 0x6d1eb420, 0x333de: 0x6d1eb620, 0x333df: 0x6d1eb820, + 0x333e0: 0x6d1eba20, 0x333e1: 0x6d1ebc20, 0x333e2: 0x6d1ebe20, 0x333e3: 0x6cbf2820, + 0x333e4: 0x6d1ec020, 0x333e5: 0x6d1ec220, 0x333e6: 0x6d1ec420, 0x333e7: 0x6d1ec620, + 0x333e8: 0x6d1ec820, 0x333e9: 0x6d1eca20, 0x333ea: 0x6d1ecc20, 0x333eb: 0x6d1ece20, + 0x333ec: 0x6d1ed020, 0x333ed: 0x6d1ed220, 0x333ee: 0x6d1ed420, 0x333ef: 0x6d1ed620, + 0x333f0: 0x6d1ed820, 0x333f1: 0x6d1eda20, 0x333f2: 0x6d4c2620, 0x333f3: 0x6d1edc20, + 0x333f4: 0x6d1ede20, 0x333f5: 0x6d1ee020, 0x333f6: 0x6d1ee220, 0x333f7: 0x6d1ee420, + 0x333f8: 0x6d1ee620, 0x333f9: 0x6d1ee820, 0x333fa: 0x6d1eea20, 0x333fb: 0x6d1eec20, + 0x333fc: 0x6d1eee20, 0x333fd: 0x6d1ef020, 0x333fe: 0x6d1ef220, 0x333ff: 0x6d1ef420, + // Block 0xcd0, offset 0x33400 + 0x33400: 0x6d1ef620, 0x33401: 0x6d1ef820, 0x33402: 0x6d1efa20, 0x33403: 0x6d1efc20, + 0x33404: 0x6d1efe20, 0x33405: 0x6d1f0020, 0x33406: 0x6d1f0220, 0x33407: 0x6d1f0420, + 0x33408: 0x6d1f0620, 0x33409: 0x6d1f0820, 0x3340a: 0x6d1f0a20, 0x3340b: 0x6d1f0c20, + 0x3340c: 0x6d1f0e20, 0x3340d: 0x6d1f1020, 0x3340e: 0x6d1f1220, 0x3340f: 0x6d4c2820, + 0x33410: 0x6d4c2a20, 0x33411: 0x6d4c2c20, 0x33412: 0x6d4c2e20, 0x33413: 0x6d4c3020, + 0x33414: 0x6d4c3220, 0x33415: 0x6d4c3420, 0x33416: 0x6d4c3620, 0x33417: 0x6d4c3820, + 0x33418: 0x6d4c3a20, 0x33419: 0x6d4c3c20, 0x3341a: 0x6d4c3e20, 0x3341b: 0x6d4c4020, + 0x3341c: 0x6d4c4220, 0x3341d: 0x6d4c4420, 0x3341e: 0x6d4c4620, 0x3341f: 0x6d4c4820, + 0x33420: 0x6d4c4a20, 0x33421: 0x6d4c4c20, 0x33422: 0x6d4c4e20, 0x33423: 0x6d4c5020, + 0x33424: 0x6d4c5220, 0x33425: 0x6d4c5420, 0x33426: 0x6d4c5620, 0x33427: 0x6d4c5820, + 0x33428: 0x6d4c5a20, 0x33429: 0x6d4c5c20, 0x3342a: 0x6d4c5e20, 0x3342b: 0x6d4c6020, + 0x3342c: 0x6d4c6220, 0x3342d: 0x6d4c6420, 0x3342e: 0x6d4c6620, 0x3342f: 0x6d4c6820, + 0x33430: 0x6d4c6a20, 0x33431: 0x6d4c6c20, 0x33432: 0x6d4c6e20, 0x33433: 0x6d4c7020, + 0x33434: 0x6d4c7220, 0x33435: 0x6d4c7420, 0x33436: 0x6d4c7620, 0x33437: 0x6d4c7820, + 0x33438: 0x6d4c7a20, 0x33439: 0x6d4c7c20, 0x3343a: 0x6d4c7e20, 0x3343b: 0x6d4c8020, + 0x3343c: 0x6d4c8220, 0x3343d: 0x6d4c8420, 0x3343e: 0x6d4c8620, 0x3343f: 0x6d4c8820, + // Block 0xcd1, offset 0x33440 + 0x33440: 0x6d4c8a20, 0x33441: 0x6d4c8c20, 0x33442: 0x6d4c8e20, 0x33443: 0x6d4c9020, + 0x33444: 0x6d4c9220, 0x33445: 0x6d4c9420, 0x33446: 0x6d4c9620, 0x33447: 0x6d4c9820, + 0x33448: 0x6d4c9a20, 0x33449: 0x6d4c9c20, 0x3344a: 0x6d4c9e20, 0x3344b: 0x6d4ca020, + 0x3344c: 0x6d4ca220, 0x3344d: 0x6d4ca420, 0x3344e: 0x6d796a20, 0x3344f: 0x6d601620, + 0x33450: 0x6d4ca620, 0x33451: 0x6d796c20, 0x33452: 0x6d796e20, 0x33453: 0x6d797020, + 0x33454: 0x6d797220, 0x33455: 0x6d797420, 0x33456: 0x6d797620, 0x33457: 0x6d797820, + 0x33458: 0x6d797a20, 0x33459: 0x6d797c20, 0x3345a: 0x6d797e20, 0x3345b: 0x6d798020, + 0x3345c: 0x6d798220, 0x3345d: 0x6d798420, 0x3345e: 0x6d798620, 0x3345f: 0x6d798820, + 0x33460: 0x6d798a20, 0x33461: 0x6d798c20, 0x33462: 0x6d798e20, 0x33463: 0x6d799020, + 0x33464: 0x6d799220, 0x33465: 0x6d799420, 0x33466: 0x6d799620, 0x33467: 0x6d799820, + 0x33468: 0x6d799a20, 0x33469: 0x6d799c20, 0x3346a: 0x6d799e20, 0x3346b: 0x6d79a020, + 0x3346c: 0x6d79a220, 0x3346d: 0x6d79a420, 0x3346e: 0x6d79a620, 0x3346f: 0x6d79a820, + 0x33470: 0x6d79aa20, 0x33471: 0x6d79ac20, 0x33472: 0x6d79ae20, 0x33473: 0x6d79b020, + 0x33474: 0x6d79b220, 0x33475: 0x6d79b420, 0x33476: 0x6d79b620, 0x33477: 0x6d79b820, + 0x33478: 0x6d79ba20, 0x33479: 0x6d79bc20, 0x3347a: 0x6d79be20, 0x3347b: 0x6d79c020, + 0x3347c: 0x6d79c220, 0x3347d: 0x6d79c420, 0x3347e: 0x6d79c620, 0x3347f: 0x6d79c820, + // Block 0xcd2, offset 0x33480 + 0x33480: 0x6d79ca20, 0x33481: 0x6d79cc20, 0x33482: 0x6d79ce20, 0x33483: 0x6d79d020, + 0x33484: 0x6d79d220, 0x33485: 0x6da24c20, 0x33486: 0x6da24e20, 0x33487: 0x6da25020, + 0x33488: 0x6da25220, 0x33489: 0x6da25420, 0x3348a: 0x6da25620, 0x3348b: 0x6da25820, + 0x3348c: 0x6da25a20, 0x3348d: 0x6da25c20, 0x3348e: 0x6da25e20, 0x3348f: 0x6da26020, + 0x33490: 0x6da26220, 0x33491: 0x6da26420, 0x33492: 0x6da26620, 0x33493: 0x6da26820, + 0x33494: 0x6da26a20, 0x33495: 0x6da26c20, 0x33496: 0x6da26e20, 0x33497: 0x6da27020, + 0x33498: 0x6da27220, 0x33499: 0x6da27420, 0x3349a: 0x6da27620, 0x3349b: 0x6da27820, + 0x3349c: 0x6da27a20, 0x3349d: 0x6da27c20, 0x3349e: 0x6da27e20, 0x3349f: 0x6da28020, + 0x334a0: 0x6da28220, 0x334a1: 0x6da28420, 0x334a2: 0x6db99820, 0x334a3: 0x6da28620, + 0x334a4: 0x6da28820, 0x334a5: 0x6da28a20, 0x334a6: 0x6da28c20, 0x334a7: 0x6da28e20, + 0x334a8: 0x6da29020, 0x334a9: 0x6da29220, 0x334aa: 0x6dc46020, 0x334ab: 0x6dc46220, + 0x334ac: 0x6dc46420, 0x334ad: 0x6dc46620, 0x334ae: 0x6dc46820, 0x334af: 0x6dc46a20, + 0x334b0: 0x6dc46c20, 0x334b1: 0x6dc46e20, 0x334b2: 0x6dc47020, 0x334b3: 0x6dc47220, + 0x334b4: 0x6dc47420, 0x334b5: 0x6dc47620, 0x334b6: 0x6dc47820, 0x334b7: 0x6dc47a20, + 0x334b8: 0x6dc47c20, 0x334b9: 0x6dc47e20, 0x334ba: 0x6dc48020, 0x334bb: 0x6dc48220, + 0x334bc: 0x6dc48420, 0x334bd: 0x6de16820, 0x334be: 0x6de16a20, 0x334bf: 0x6de16c20, + // Block 0xcd3, offset 0x334c0 + 0x334c0: 0x6de16e20, 0x334c1: 0x6de17020, 0x334c2: 0x6de17220, 0x334c3: 0x6de17420, + 0x334c4: 0x6de17620, 0x334c5: 0x6de17820, 0x334c6: 0x6de17a20, 0x334c7: 0x6de17c20, + 0x334c8: 0x6de17e20, 0x334c9: 0x6de18020, 0x334ca: 0x6de18220, 0x334cb: 0x6de18420, + 0x334cc: 0x6de18620, 0x334cd: 0x6de18820, 0x334ce: 0x6df97020, 0x334cf: 0x6df97220, + 0x334d0: 0x6df97420, 0x334d1: 0x6df97620, 0x334d2: 0x6df97820, 0x334d3: 0x6df97a20, + 0x334d4: 0x6df97c20, 0x334d5: 0x6df97e20, 0x334d6: 0x6df98020, 0x334d7: 0x6df98220, + 0x334d8: 0x6e0d3020, 0x334d9: 0x6e0d3220, 0x334da: 0x6e0d3420, 0x334db: 0x6e0d3620, + 0x334dc: 0x6e0d3820, 0x334dd: 0x6e0d3a20, 0x334de: 0x6de18a20, 0x334df: 0x6e0d3c20, + 0x334e0: 0x6e0d3e20, 0x334e1: 0x6e1ca020, 0x334e2: 0x6e1ca220, 0x334e3: 0x6e1ca420, + 0x334e4: 0x6e1ca620, 0x334e5: 0x6e1ca820, 0x334e6: 0x6e1caa20, 0x334e7: 0x6e1cac20, + 0x334e8: 0x6e1cae20, 0x334e9: 0x6e1cb020, 0x334ea: 0x6e1cb220, 0x334eb: 0x6e28a820, + 0x334ec: 0x6e28aa20, 0x334ed: 0x6e28ac20, 0x334ee: 0x6e31dc20, 0x334ef: 0x6e31de20, + 0x334f0: 0x6e31e020, 0x334f1: 0x6e31e220, 0x334f2: 0x6e31e420, 0x334f3: 0x6e31e620, + 0x334f4: 0x6e386220, 0x334f5: 0x6e386420, 0x334f6: 0x6e386620, 0x334f7: 0x6e401420, + 0x334f8: 0x6e401620, 0x334f9: 0x6e401820, 0x334fa: 0x6e401a20, 0x334fb: 0x6e467e20, + 0x334fc: 0x6c019e20, 0x334fd: 0x6c03f420, 0x334fe: 0x6c081420, 0x334ff: 0x6c081620, + // Block 0xcd4, offset 0x33500 + 0x33500: 0x6c081820, 0x33501: 0x6c081a20, 0x33502: 0x6c081c20, 0x33503: 0x6c0fb220, + 0x33504: 0x6c0fb420, 0x33505: 0x6c0fb620, 0x33506: 0x6c1c7020, 0x33507: 0x6c1c7220, + 0x33508: 0x6c1c7420, 0x33509: 0x6c1c7620, 0x3350a: 0x6c1c7820, 0x3350b: 0x6c18cc20, + 0x3350c: 0x6c1c7a20, 0x3350d: 0x6c1c7c20, 0x3350e: 0x6c2fde20, 0x3350f: 0x6c2fe020, + 0x33510: 0x6c2fe220, 0x33511: 0x6c2fe420, 0x33512: 0x6c2fe620, 0x33513: 0x6c2fe820, + 0x33514: 0x6c2fea20, 0x33515: 0x6c2fec20, 0x33516: 0x6c2fee20, 0x33517: 0x6c2ff020, + 0x33518: 0x6c2ff220, 0x33519: 0x6c2ff420, 0x3351a: 0x6c2ff620, 0x3351b: 0x6c4a2420, + 0x3351c: 0x6c4a2620, 0x3351d: 0x6c4a2820, 0x3351e: 0x6c4a2a20, 0x3351f: 0x6c4a2c20, + 0x33520: 0x6c4a2e20, 0x33521: 0x6c4a3020, 0x33522: 0x6c4a3220, 0x33523: 0x6c4a3420, + 0x33524: 0x6c4a3620, 0x33525: 0x6c4a3820, 0x33526: 0x6c4a3a20, 0x33527: 0x6c4a3c20, + 0x33528: 0x6c6be620, 0x33529: 0x6c6be820, 0x3352a: 0x6c6bea20, 0x3352b: 0x6c6bec20, + 0x3352c: 0x6c6bee20, 0x3352d: 0x6c6bf020, 0x3352e: 0x6c930c20, 0x3352f: 0x6c930e20, + 0x33530: 0x6c931020, 0x33531: 0x6c931220, 0x33532: 0x6c931420, 0x33533: 0x6c931620, + 0x33534: 0x6c931820, 0x33535: 0x6c931a20, 0x33536: 0x6cbf4620, 0x33537: 0x6cbf4820, + 0x33538: 0x6cbf4a20, 0x33539: 0x6cbf4c20, 0x3353a: 0x6cbf4e20, 0x3353b: 0x6cbf5020, + 0x3353c: 0x6cbf5220, 0x3353d: 0x6cbf5420, 0x3353e: 0x6cbf5620, 0x3353f: 0x6cbf5820, + // Block 0xcd5, offset 0x33540 + 0x33540: 0x6cbf5a20, 0x33541: 0x6cbf5c20, 0x33542: 0x6cbf5e20, 0x33543: 0x6cef7c20, + 0x33544: 0x6cef7e20, 0x33545: 0x6cef8020, 0x33546: 0x6cef8220, 0x33547: 0x6cef8420, + 0x33548: 0x6cef8620, 0x33549: 0x6cef8820, 0x3354a: 0x6cef8a20, 0x3354b: 0x6cef8c20, + 0x3354c: 0x6cef8e20, 0x3354d: 0x6cef9020, 0x3354e: 0x6cef9220, 0x3354f: 0x6cef9420, + 0x33550: 0x6cef9620, 0x33551: 0x6d1f2e20, 0x33552: 0x6d1f3020, 0x33553: 0x6d1f3220, + 0x33554: 0x6d1f3420, 0x33555: 0x6d1f3620, 0x33556: 0x6d1f3820, 0x33557: 0x6d4cb820, + 0x33558: 0x6d4cba20, 0x33559: 0x6d4cbc20, 0x3355a: 0x6d4cbe20, 0x3355b: 0x6d4cc020, + 0x3355c: 0x6d4cc220, 0x3355d: 0x6d4cc420, 0x3355e: 0x6d79e620, 0x3355f: 0x6d79e820, + 0x33560: 0x6d79ea20, 0x33561: 0x6d79ec20, 0x33562: 0x6d79ee20, 0x33563: 0x6d79f020, + 0x33564: 0x6d79f220, 0x33565: 0x6d79f420, 0x33566: 0x6d79f620, 0x33567: 0x6d79f820, + 0x33568: 0x6d79fa20, 0x33569: 0x6da29a20, 0x3356a: 0x6dc48e20, 0x3356b: 0x6dc49020, + 0x3356c: 0x6dc49220, 0x3356d: 0x6de19220, 0x3356e: 0x6de19420, 0x3356f: 0x6de19620, + 0x33570: 0x6de19820, 0x33571: 0x6df98a20, 0x33572: 0x6df98c20, 0x33573: 0x6df98e20, + 0x33574: 0x6df99020, 0x33575: 0x6df99220, 0x33576: 0x6df99420, 0x33577: 0x6e1cb620, + 0x33578: 0x6e401c20, 0x33579: 0x6c03f820, 0x3357a: 0x6c082a20, 0x3357b: 0x6c082c20, + 0x3357c: 0x6c082e20, 0x3357d: 0x6c0fc620, 0x3357e: 0x6c0fc820, 0x3357f: 0x6c0fca20, + // Block 0xcd6, offset 0x33580 + 0x33580: 0x6c0fcc20, 0x33581: 0x6c0fce20, 0x33582: 0x6c0fd020, 0x33583: 0x6c0fd220, + 0x33584: 0x6c0fd420, 0x33585: 0x6c0fd620, 0x33586: 0x6c0fd820, 0x33587: 0x6c0fda20, + 0x33588: 0x6c0fdc20, 0x33589: 0x6c0fde20, 0x3358a: 0x6c0fe020, 0x3358b: 0x6c1ca020, + 0x3358c: 0x6c1ca220, 0x3358d: 0x6c1ca420, 0x3358e: 0x6c1ca620, 0x3358f: 0x6c1ca820, + 0x33590: 0x6c1caa20, 0x33591: 0x6c1cac20, 0x33592: 0x6c1cae20, 0x33593: 0x6c1cb020, + 0x33594: 0x6c1cb220, 0x33595: 0x6c1cb420, 0x33596: 0x6c301a20, 0x33597: 0x6c301c20, + 0x33598: 0x6c301e20, 0x33599: 0x6c302020, 0x3359a: 0x6c302220, 0x3359b: 0x6c302420, + 0x3359c: 0x6c302620, 0x3359d: 0x6c302820, 0x3359e: 0x6c302a20, 0x3359f: 0x6c302c20, + 0x335a0: 0x6c302e20, 0x335a1: 0x6c303020, 0x335a2: 0x6c303220, 0x335a3: 0x6c303420, + 0x335a4: 0x6c303620, 0x335a5: 0x6c303820, 0x335a6: 0x6c303a20, 0x335a7: 0x6c303c20, + 0x335a8: 0x6c303e20, 0x335a9: 0x6c4a5a20, 0x335aa: 0x6c4a5c20, 0x335ab: 0x6c4a5e20, + 0x335ac: 0x6c4a6020, 0x335ad: 0x6c4a6220, 0x335ae: 0x6c4a6420, 0x335af: 0x6c4a6620, + 0x335b0: 0x6c4a6820, 0x335b1: 0x6c4a6a20, 0x335b2: 0x6c4a6c20, 0x335b3: 0x6c4a6e20, + 0x335b4: 0x6c4a7020, 0x335b5: 0x6c4a7220, 0x335b6: 0x6c4a7420, 0x335b7: 0x6c4a7620, + 0x335b8: 0x6c4a7820, 0x335b9: 0x6c4a7a20, 0x335ba: 0x6c4a7c20, 0x335bb: 0x6c4a7e20, + 0x335bc: 0x6c4a8020, 0x335bd: 0x6c4a8220, 0x335be: 0x6c4a8420, 0x335bf: 0x6c4a8620, + // Block 0xcd7, offset 0x335c0 + 0x335c0: 0x6c6c2620, 0x335c1: 0x6c6c2820, 0x335c2: 0x6c6c2a20, 0x335c3: 0x6c6c2c20, + 0x335c4: 0x6c6c2e20, 0x335c5: 0x6c6c3020, 0x335c6: 0x6c6c3220, 0x335c7: 0x6c6c3420, + 0x335c8: 0x6c6c3620, 0x335c9: 0x6c6c3820, 0x335ca: 0x6c6c3a20, 0x335cb: 0x6c6c3c20, + 0x335cc: 0x6c6c3e20, 0x335cd: 0x6c6c4020, 0x335ce: 0x6c6c4220, 0x335cf: 0x6c6c4420, + 0x335d0: 0x6c6c4620, 0x335d1: 0x6c6c4820, 0x335d2: 0x6c6c4a20, 0x335d3: 0x6c6c4c20, + 0x335d4: 0x6c6c4e20, 0x335d5: 0x6c6c5020, 0x335d6: 0x6c6c5220, 0x335d7: 0x6c6c5420, + 0x335d8: 0x6c6c5620, 0x335d9: 0x6c6c5820, 0x335da: 0x6c6c5a20, 0x335db: 0x6c6c5c20, + 0x335dc: 0x6c6c5e20, 0x335dd: 0x6c6c6020, 0x335de: 0x6c6c6220, 0x335df: 0x6c6c6420, + 0x335e0: 0x6c6c6620, 0x335e1: 0x6c6c6820, 0x335e2: 0x6c934620, 0x335e3: 0x6c934820, + 0x335e4: 0x6c934a20, 0x335e5: 0x6c934c20, 0x335e6: 0x6c934e20, 0x335e7: 0x6c935020, + 0x335e8: 0x6c935220, 0x335e9: 0x6c935420, 0x335ea: 0x6c935620, 0x335eb: 0x6c935820, + 0x335ec: 0x6c935a20, 0x335ed: 0x6c935c20, 0x335ee: 0x6c935e20, 0x335ef: 0x6c936020, + 0x335f0: 0x6c936220, 0x335f1: 0x6c936420, 0x335f2: 0x6c936620, 0x335f3: 0x6c936820, + 0x335f4: 0x6c936a20, 0x335f5: 0x6c936c20, 0x335f6: 0x6c936e20, 0x335f7: 0x6c937020, + 0x335f8: 0x6c937220, 0x335f9: 0x6c937420, 0x335fa: 0x6c937620, 0x335fb: 0x6c937820, + 0x335fc: 0x6c937a20, 0x335fd: 0x6cbf8220, 0x335fe: 0x6cbf8420, 0x335ff: 0x6cbf8620, + // Block 0xcd8, offset 0x33600 + 0x33600: 0x6cbf8820, 0x33601: 0x6cbf8a20, 0x33602: 0x6cbf8c20, 0x33603: 0x6cbf8e20, + 0x33604: 0x6cbf9020, 0x33605: 0x6cbf9220, 0x33606: 0x6cbf9420, 0x33607: 0x6cbf9620, + 0x33608: 0x6cbf9820, 0x33609: 0x6cbf9a20, 0x3360a: 0x6cbf9c20, 0x3360b: 0x6cbf9e20, + 0x3360c: 0x6cbfa020, 0x3360d: 0x6cbfa220, 0x3360e: 0x6cbfa420, 0x3360f: 0x6cbfa620, + 0x33610: 0x6cbfa820, 0x33611: 0x6cbfaa20, 0x33612: 0x6cbfac20, 0x33613: 0x6cbfae20, + 0x33614: 0x6cbfb020, 0x33615: 0x6cbfb220, 0x33616: 0x6cbfb420, 0x33617: 0x6cbfb620, + 0x33618: 0x6cbfb820, 0x33619: 0x6cbfba20, 0x3361a: 0x6cbfbc20, 0x3361b: 0x6cbfbe20, + 0x3361c: 0x6cbfc020, 0x3361d: 0x6cbfc220, 0x3361e: 0x6cbfc420, 0x3361f: 0x6cefb420, + 0x33620: 0x6cefb620, 0x33621: 0x6cefb820, 0x33622: 0x6cefba20, 0x33623: 0x6cefbc20, + 0x33624: 0x6cefbe20, 0x33625: 0x6cefc020, 0x33626: 0x6cefc220, 0x33627: 0x6cefc420, + 0x33628: 0x6cefc620, 0x33629: 0x6cefc820, 0x3362a: 0x6cefca20, 0x3362b: 0x6cefcc20, + 0x3362c: 0x6cefce20, 0x3362d: 0x6cefd020, 0x3362e: 0x6cefd220, 0x3362f: 0x6cefd420, + 0x33630: 0x6cefd620, 0x33631: 0x6cefd820, 0x33632: 0x6cefda20, 0x33633: 0x6cefdc20, + 0x33634: 0x6cefde20, 0x33635: 0x6cefe020, 0x33636: 0x6cefe220, 0x33637: 0x6cefe420, + 0x33638: 0x6cefe620, 0x33639: 0x6cefe820, 0x3363a: 0x6cefea20, 0x3363b: 0x6d1f5a20, + 0x3363c: 0x6d1f5c20, 0x3363d: 0x6d1f5e20, 0x3363e: 0x6d1f6020, 0x3363f: 0x6d1f6220, + // Block 0xcd9, offset 0x33640 + 0x33640: 0x6d1f6420, 0x33641: 0x6d1f6620, 0x33642: 0x6d1f6820, 0x33643: 0x6d1f6a20, + 0x33644: 0x6d1f6c20, 0x33645: 0x6d1f6e20, 0x33646: 0x6d1f7020, 0x33647: 0x6d1f7220, + 0x33648: 0x6d1f7420, 0x33649: 0x6d1f7620, 0x3364a: 0x6d1f7820, 0x3364b: 0x6d1f7a20, + 0x3364c: 0x6d1f7c20, 0x3364d: 0x6d1f7e20, 0x3364e: 0x6d1f8020, 0x3364f: 0x6d1f8220, + 0x33650: 0x6d1f8420, 0x33651: 0x6d1f8620, 0x33652: 0x6d1f8820, 0x33653: 0x6d1f8a20, + 0x33654: 0x6d1f8c20, 0x33655: 0x6d1f8e20, 0x33656: 0x6d1f9020, 0x33657: 0x6d1f9220, + 0x33658: 0x6d1f9420, 0x33659: 0x6d1f9620, 0x3365a: 0x6d1f9820, 0x3365b: 0x6d1f9a20, + 0x3365c: 0x6d1f9c20, 0x3365d: 0x6d1f9e20, 0x3365e: 0x6d1b3020, 0x3365f: 0x6d4cd820, + 0x33660: 0x6d4cda20, 0x33661: 0x6d4cdc20, 0x33662: 0x6d4cde20, 0x33663: 0x6d4ce020, + 0x33664: 0x6d4ce220, 0x33665: 0x6d4ce420, 0x33666: 0x6d4ce620, 0x33667: 0x6d4ce820, + 0x33668: 0x6d4cea20, 0x33669: 0x6d4cec20, 0x3366a: 0x6d4cee20, 0x3366b: 0x6d4cf020, + 0x3366c: 0x6d4cf220, 0x3366d: 0x6d4cf420, 0x3366e: 0x6d4cf620, 0x3366f: 0x6d4cf820, + 0x33670: 0x6d4cfa20, 0x33671: 0x6d4cfc20, 0x33672: 0x6d4cfe20, 0x33673: 0x6d4d0020, + 0x33674: 0x6d4d0220, 0x33675: 0x6d4d0420, 0x33676: 0x6d4d0620, 0x33677: 0x6d4d0820, + 0x33678: 0x6d4d0a20, 0x33679: 0x6d4d0c20, 0x3367a: 0x6d4d0e20, 0x3367b: 0x6d4d1020, + 0x3367c: 0x6d4d1220, 0x3367d: 0x6d4d1420, 0x3367e: 0x6d7a0220, 0x3367f: 0x6d7a0420, + // Block 0xcda, offset 0x33680 + 0x33680: 0x6d7a0620, 0x33681: 0x6d7a0820, 0x33682: 0x6d7a0a20, 0x33683: 0x6d7a0c20, + 0x33684: 0x6d7a0e20, 0x33685: 0x6d7a1020, 0x33686: 0x6d7a1220, 0x33687: 0x6d7a1420, + 0x33688: 0x6d7a1620, 0x33689: 0x6d7a1820, 0x3368a: 0x6d7a1a20, 0x3368b: 0x6d7a1c20, + 0x3368c: 0x6d7a1e20, 0x3368d: 0x6d7a2020, 0x3368e: 0x6d7a2220, 0x3368f: 0x6d7a2420, + 0x33690: 0x6d7a2620, 0x33691: 0x6da2a420, 0x33692: 0x6da2a620, 0x33693: 0x6da2a820, + 0x33694: 0x6da2aa20, 0x33695: 0x6da2ac20, 0x33696: 0x6da2ae20, 0x33697: 0x6da2b020, + 0x33698: 0x6da2b220, 0x33699: 0x6da2b420, 0x3369a: 0x6da2b620, 0x3369b: 0x6da2b820, + 0x3369c: 0x6da2ba20, 0x3369d: 0x6da2bc20, 0x3369e: 0x6dc49620, 0x3369f: 0x6dc49820, + 0x336a0: 0x6dc49a20, 0x336a1: 0x6dc49c20, 0x336a2: 0x6dc49e20, 0x336a3: 0x6dc4a020, + 0x336a4: 0x6dc4a220, 0x336a5: 0x6dc4a420, 0x336a6: 0x6dc4a620, 0x336a7: 0x6dc4a820, + 0x336a8: 0x6dc4aa20, 0x336a9: 0x6dc4ac20, 0x336aa: 0x6dc4ae20, 0x336ab: 0x6dc4b020, + 0x336ac: 0x6de1a020, 0x336ad: 0x6de1a220, 0x336ae: 0x6de1a420, 0x336af: 0x6de1a620, + 0x336b0: 0x6de1a820, 0x336b1: 0x6de1aa20, 0x336b2: 0x6de1ac20, 0x336b3: 0x6de1ae20, + 0x336b4: 0x6de1b020, 0x336b5: 0x6de1b220, 0x336b6: 0x6de1b420, 0x336b7: 0x6df99820, + 0x336b8: 0x6df99a20, 0x336b9: 0x6df99c20, 0x336ba: 0x6df99e20, 0x336bb: 0x6df9a020, + 0x336bc: 0x6e0d4a20, 0x336bd: 0x6e0d4c20, 0x336be: 0x6e0d4e20, 0x336bf: 0x6e0d5020, + // Block 0xcdb, offset 0x336c0 + 0x336c0: 0x6e0d5220, 0x336c1: 0x6e0d5420, 0x336c2: 0x6e0d5620, 0x336c3: 0x6e0d5820, + 0x336c4: 0x6e1cb820, 0x336c5: 0x6e1cba20, 0x336c6: 0x6e1cbc20, 0x336c7: 0x6e1cbe20, + 0x336c8: 0x6e1cc020, 0x336c9: 0x6e1cc220, 0x336ca: 0x6e1cc420, 0x336cb: 0x6e1cc620, + 0x336cc: 0x6e28b020, 0x336cd: 0x6e31e820, 0x336ce: 0x6e401e20, 0x336cf: 0x6e31ea20, + 0x336d0: 0x6e31ec20, 0x336d1: 0x6e386a20, 0x336d2: 0x6e428e20, 0x336d3: 0x6e386c20, + 0x336d4: 0x6e386e20, 0x336d5: 0x6e387020, 0x336d6: 0x6e3d1c20, 0x336d7: 0x6e3d1e20, + 0x336d8: 0x6e3d2020, 0x336d9: 0x6e402020, 0x336da: 0x6e402220, 0x336db: 0x6e442820, + 0x336dc: 0x6e46e420, 0x336dd: 0x6c03fa20, 0x336de: 0x6c0fe820, 0x336df: 0x6c304820, + 0x336e0: 0x6c304a20, 0x336e1: 0x6c304c20, 0x336e2: 0x6c304e20, 0x336e3: 0x6c305020, + 0x336e4: 0x6c305220, 0x336e5: 0x6c305420, 0x336e6: 0x6c305620, 0x336e7: 0x6c4a9420, + 0x336e8: 0x6c4a9620, 0x336e9: 0x6c4a9820, 0x336ea: 0x6c4a9a20, 0x336eb: 0x6c4a9c20, + 0x336ec: 0x6c4a9e20, 0x336ed: 0x6c6c7a20, 0x336ee: 0x6c938820, 0x336ef: 0x6c938a20, + 0x336f0: 0x6c938c20, 0x336f1: 0x6c938e20, 0x336f2: 0x6c939020, 0x336f3: 0x6cbfdc20, + 0x336f4: 0x6cbfde20, 0x336f5: 0x6cbfe020, 0x336f6: 0x6cbfe220, 0x336f7: 0x6cbfe420, + 0x336f8: 0x6cbfe620, 0x336f9: 0x6ceff820, 0x336fa: 0x6ceffa20, 0x336fb: 0x6ceffc20, + 0x336fc: 0x6ceffe20, 0x336fd: 0x6d1fae20, 0x336fe: 0x6d1fb020, 0x336ff: 0x6d1fb220, + // Block 0xcdc, offset 0x33700 + 0x33700: 0x6d1fb420, 0x33701: 0x6d1fb620, 0x33702: 0x6d1fb820, 0x33703: 0x6d4d2420, + 0x33704: 0x6d4d2620, 0x33705: 0x6d4d2820, 0x33706: 0x6d4d2a20, 0x33707: 0x6d4d2c20, + 0x33708: 0x6d4d2e20, 0x33709: 0x6d4d3020, 0x3370a: 0x6d7a3020, 0x3370b: 0x6d7a3220, + 0x3370c: 0x6d7a3420, 0x3370d: 0x6da2c020, 0x3370e: 0x6da2c220, 0x3370f: 0x6da2c420, + 0x33710: 0x6dc4b820, 0x33711: 0x6de1b620, 0x33712: 0x6df9a620, 0x33713: 0x6e0d5c20, + 0x33714: 0x6c01aa20, 0x33715: 0x6c040020, 0x33716: 0x6c040220, 0x33717: 0x6c083e20, + 0x33718: 0x6c084020, 0x33719: 0x6c0ff220, 0x3371a: 0x6c0ff420, 0x3371b: 0x6c0ff620, + 0x3371c: 0x6c0ff820, 0x3371d: 0x6c1cc420, 0x3371e: 0x6c1cc620, 0x3371f: 0x6c1cc820, + 0x33720: 0x6c1cca20, 0x33721: 0x6c1ccc20, 0x33722: 0x6c1cce20, 0x33723: 0x6c1cd020, + 0x33724: 0x6c1cd220, 0x33725: 0x6c305e20, 0x33726: 0x6c306020, 0x33727: 0x6c306220, + 0x33728: 0x6c306420, 0x33729: 0x6c306620, 0x3372a: 0x6c4aa620, 0x3372b: 0x6c4aa820, + 0x3372c: 0x6c4aaa20, 0x3372d: 0x6c4aac20, 0x3372e: 0x6c4aae20, 0x3372f: 0x6c4ab020, + 0x33730: 0x6c4ab220, 0x33731: 0x6c4ab420, 0x33732: 0x6c4ab620, 0x33733: 0x6c4ab820, + 0x33734: 0x6c6c7e20, 0x33735: 0x6c6c8020, 0x33736: 0x6c6c8220, 0x33737: 0x6c6c8420, + 0x33738: 0x6c6c8620, 0x33739: 0x6c6c8820, 0x3373a: 0x6c6c8a20, 0x3373b: 0x6c6c8c20, + 0x3373c: 0x6c6c8e20, 0x3373d: 0x6c939620, 0x3373e: 0x6c939820, 0x3373f: 0x6c939a20, + // Block 0xcdd, offset 0x33740 + 0x33740: 0x6c939c20, 0x33741: 0x6c939e20, 0x33742: 0x6c93a020, 0x33743: 0x6c93a220, + 0x33744: 0x6c93a420, 0x33745: 0x6c93a620, 0x33746: 0x6c93a820, 0x33747: 0x6c93aa20, + 0x33748: 0x6c93ac20, 0x33749: 0x6c93ae20, 0x3374a: 0x6c93b020, 0x3374b: 0x6c93b220, + 0x3374c: 0x6c93b420, 0x3374d: 0x6c93b620, 0x3374e: 0x6cbfee20, 0x3374f: 0x6cbff020, + 0x33750: 0x6cbff220, 0x33751: 0x6cbff420, 0x33752: 0x6cbff620, 0x33753: 0x6cbff820, + 0x33754: 0x6cbffa20, 0x33755: 0x6cbffc20, 0x33756: 0x6cbffe20, 0x33757: 0x6cc00020, + 0x33758: 0x6cf00620, 0x33759: 0x6cf00820, 0x3375a: 0x6cf00a20, 0x3375b: 0x6cf00c20, + 0x3375c: 0x6cf00e20, 0x3375d: 0x6cf01020, 0x3375e: 0x6d1fbe20, 0x3375f: 0x6d1fc020, + 0x33760: 0x6d1fc220, 0x33761: 0x6d1fc420, 0x33762: 0x6d1fc620, 0x33763: 0x6d1fc820, + 0x33764: 0x6d1fca20, 0x33765: 0x6d1fcc20, 0x33766: 0x6d4d3a20, 0x33767: 0x6d4d3c20, + 0x33768: 0x6d4d3e20, 0x33769: 0x6d4d4020, 0x3376a: 0x6d4d4220, 0x3376b: 0x6d4d4420, + 0x3376c: 0x6d4d4620, 0x3376d: 0x6d4d4820, 0x3376e: 0x6d4d4a20, 0x3376f: 0x6d4d4c20, + 0x33770: 0x6d7a3820, 0x33771: 0x6d7a3a20, 0x33772: 0x6d7a3c20, 0x33773: 0x6d7a3e20, + 0x33774: 0x6da2c820, 0x33775: 0x6da2ca20, 0x33776: 0x6da2cc20, 0x33777: 0x6dc4ba20, + 0x33778: 0x6dc4bc20, 0x33779: 0x6dc4be20, 0x3377a: 0x6dc4c020, 0x3377b: 0x6dc4c220, + 0x3377c: 0x6de1b820, 0x3377d: 0x6de1ba20, 0x3377e: 0x6de1bc20, 0x3377f: 0x6e0d5e20, + // Block 0xcde, offset 0x33780 + 0x33780: 0x6e462420, 0x33781: 0x6c01ae20, 0x33782: 0x6c01b020, 0x33783: 0x6c040820, + 0x33784: 0x6c084220, 0x33785: 0x6c084420, 0x33786: 0x6c084620, 0x33787: 0x6c084820, + 0x33788: 0x6c084a20, 0x33789: 0x6c084c20, 0x3378a: 0x6c084e20, 0x3378b: 0x6c100220, + 0x3378c: 0x6c100420, 0x3378d: 0x6c100620, 0x3378e: 0x6c100820, 0x3378f: 0x6c1ce220, + 0x33790: 0x6c1ce420, 0x33791: 0x6c1ce620, 0x33792: 0x6c1ce820, 0x33793: 0x6c1cea20, + 0x33794: 0x6c1cec20, 0x33795: 0x6c1cee20, 0x33796: 0x6c1cf020, 0x33797: 0x6c1cf220, + 0x33798: 0x6c1cf420, 0x33799: 0x6c1cf620, 0x3379a: 0x6c307020, 0x3379b: 0x6c307220, + 0x3379c: 0x6c307420, 0x3379d: 0x6c307620, 0x3379e: 0x6c307820, 0x3379f: 0x6c307a20, + 0x337a0: 0x6c307c20, 0x337a1: 0x6c307e20, 0x337a2: 0x6c4ac220, 0x337a3: 0x6c4ac420, + 0x337a4: 0x6c4ac620, 0x337a5: 0x6c5fca20, 0x337a6: 0x6c4ac820, 0x337a7: 0x6c4aca20, + 0x337a8: 0x6c6c9620, 0x337a9: 0x6c6c9820, 0x337aa: 0x6c6c9a20, 0x337ab: 0x6c6c9c20, + 0x337ac: 0x6c6c9e20, 0x337ad: 0x6c6ca020, 0x337ae: 0x6c6ca220, 0x337af: 0x6c6ca420, + 0x337b0: 0x6c6ca620, 0x337b1: 0x6c6ca820, 0x337b2: 0x6c6caa20, 0x337b3: 0x6c93c020, + 0x337b4: 0x6c93c220, 0x337b5: 0x6c93c420, 0x337b6: 0x6c93c620, 0x337b7: 0x6c93c820, + 0x337b8: 0x6c93ca20, 0x337b9: 0x6cc00a20, 0x337ba: 0x6cc00c20, 0x337bb: 0x6cc00e20, + 0x337bc: 0x6cc01020, 0x337bd: 0x6cc01220, 0x337be: 0x6cc01420, 0x337bf: 0x6cc01620, + // Block 0xcdf, offset 0x337c0 + 0x337c0: 0x6cc01820, 0x337c1: 0x6cc01a20, 0x337c2: 0x6cc01c20, 0x337c3: 0x6cf01c20, + 0x337c4: 0x6cf01e20, 0x337c5: 0x6cf02020, 0x337c6: 0x6cf02220, 0x337c7: 0x6cf02420, + 0x337c8: 0x6cf02620, 0x337c9: 0x6cf02820, 0x337ca: 0x6cf02a20, 0x337cb: 0x6d1fd020, + 0x337cc: 0x6d1fd220, 0x337cd: 0x6d1fd420, 0x337ce: 0x6d1fd620, 0x337cf: 0x6d1fd820, + 0x337d0: 0x6d4d5220, 0x337d1: 0x6d4d5420, 0x337d2: 0x6d4d5620, 0x337d3: 0x6d4d5820, + 0x337d4: 0x6d4d5a20, 0x337d5: 0x6d4d5c20, 0x337d6: 0x6d7a4220, 0x337d7: 0x6d7a4420, + 0x337d8: 0x6d7a4620, 0x337d9: 0x6d7a4820, 0x337da: 0x6d7a4a20, 0x337db: 0x6da2d620, + 0x337dc: 0x6da2d820, 0x337dd: 0x6e0d6020, 0x337de: 0x6e0d6220, 0x337df: 0x6e1cc820, + 0x337e0: 0x6e1cca20, 0x337e1: 0x6e387220, 0x337e2: 0x6e387420, 0x337e3: 0x6c01b420, + 0x337e4: 0x6c085620, 0x337e5: 0x6c085820, 0x337e6: 0x6c085a20, 0x337e7: 0x6c085c20, + 0x337e8: 0x6c085e20, 0x337e9: 0x6c101020, 0x337ea: 0x6c101220, 0x337eb: 0x6c101420, + 0x337ec: 0x6c101620, 0x337ed: 0x6c101820, 0x337ee: 0x6c101a20, 0x337ef: 0x6c101c20, + 0x337f0: 0x6c101e20, 0x337f1: 0x6c102020, 0x337f2: 0x6c102220, 0x337f3: 0x6c102420, + 0x337f4: 0x6c086020, 0x337f5: 0x6c1d0620, 0x337f6: 0x6c1d0820, 0x337f7: 0x6c1d0a20, + 0x337f8: 0x6c1d0c20, 0x337f9: 0x6c1d0e20, 0x337fa: 0x6c1d1020, 0x337fb: 0x6c1d1220, + 0x337fc: 0x6c1d1420, 0x337fd: 0x6c1d1620, 0x337fe: 0x6c309420, 0x337ff: 0x6c309620, + // Block 0xce0, offset 0x33800 + 0x33800: 0x6c309820, 0x33801: 0x6c309a20, 0x33802: 0x6c309c20, 0x33803: 0x6c309e20, + 0x33804: 0x6c30a020, 0x33805: 0x6c30a220, 0x33806: 0x6c30a420, 0x33807: 0x6c30a620, + 0x33808: 0x6c30a820, 0x33809: 0x6c30aa20, 0x3380a: 0x6c30ac20, 0x3380b: 0x6c30ae20, + 0x3380c: 0x6c4ae020, 0x3380d: 0x6c4ae220, 0x3380e: 0x6c4ae420, 0x3380f: 0x6c4ae620, + 0x33810: 0x6c4ae820, 0x33811: 0x6c4aea20, 0x33812: 0x6c4aec20, 0x33813: 0x6c4aee20, + 0x33814: 0x6c4af020, 0x33815: 0x6c4af220, 0x33816: 0x6c4af420, 0x33817: 0x6c4af620, + 0x33818: 0x6c4af820, 0x33819: 0x6c4afa20, 0x3381a: 0x6c4afc20, 0x3381b: 0x6c4afe20, + 0x3381c: 0x6c4b0020, 0x3381d: 0x6c4b0220, 0x3381e: 0x6c4b0420, 0x3381f: 0x6c4b0620, + 0x33820: 0x6c4b0820, 0x33821: 0x6c4b0a20, 0x33822: 0x6c6cc020, 0x33823: 0x6c6cc220, + 0x33824: 0x6c6cc420, 0x33825: 0x6c6cc620, 0x33826: 0x6c6cc820, 0x33827: 0x6c6cca20, + 0x33828: 0x6c6ccc20, 0x33829: 0x6c6cce20, 0x3382a: 0x6c6cd020, 0x3382b: 0x6c6cd220, + 0x3382c: 0x6c6cd420, 0x3382d: 0x6c6cd620, 0x3382e: 0x6c6cd820, 0x3382f: 0x6c6cda20, + 0x33830: 0x6c6cdc20, 0x33831: 0x6c6cde20, 0x33832: 0x6c6ce020, 0x33833: 0x6c6ce220, + 0x33834: 0x6c6ce420, 0x33835: 0x6c6ce620, 0x33836: 0x6c6ce820, 0x33837: 0x6c6cea20, + 0x33838: 0x6c6cec20, 0x33839: 0x6c6cee20, 0x3383a: 0x6c93da20, 0x3383b: 0x6c93dc20, + 0x3383c: 0x6c93de20, 0x3383d: 0x6c93e020, 0x3383e: 0x6c93e220, 0x3383f: 0x6c93e420, + // Block 0xce1, offset 0x33840 + 0x33840: 0x6c93e620, 0x33841: 0x6c93e820, 0x33842: 0x6c93ea20, 0x33843: 0x6c93ec20, + 0x33844: 0x6c93ee20, 0x33845: 0x6c93f020, 0x33846: 0x6c93f220, 0x33847: 0x6c93f420, + 0x33848: 0x6c93f620, 0x33849: 0x6c93f820, 0x3384a: 0x6c93fa20, 0x3384b: 0x6c93fc20, + 0x3384c: 0x6c93fe20, 0x3384d: 0x6c940020, 0x3384e: 0x6c940220, 0x3384f: 0x6c940420, + 0x33850: 0x6c940620, 0x33851: 0x6c940820, 0x33852: 0x6c940a20, 0x33853: 0x6c940c20, + 0x33854: 0x6cc02a20, 0x33855: 0x6cc02c20, 0x33856: 0x6cc02e20, 0x33857: 0x6cc03020, + 0x33858: 0x6cc03220, 0x33859: 0x6cc03420, 0x3385a: 0x6cc03620, 0x3385b: 0x6cc03820, + 0x3385c: 0x6cc03a20, 0x3385d: 0x6cc03c20, 0x3385e: 0x6cc03e20, 0x3385f: 0x6cc04020, + 0x33860: 0x6cc04220, 0x33861: 0x6cc04420, 0x33862: 0x6cc04620, 0x33863: 0x6cc04820, + 0x33864: 0x6cc04a20, 0x33865: 0x6cc04c20, 0x33866: 0x6cc04e20, 0x33867: 0x6cc05020, + 0x33868: 0x6cc05220, 0x33869: 0x6cc05420, 0x3386a: 0x6cc05620, 0x3386b: 0x6cc05820, + 0x3386c: 0x6cf02e20, 0x3386d: 0x6cf03020, 0x3386e: 0x6cf03220, 0x3386f: 0x6cf03420, + 0x33870: 0x6cf03620, 0x33871: 0x6cf03820, 0x33872: 0x6cf03a20, 0x33873: 0x6cf03c20, + 0x33874: 0x6cf03e20, 0x33875: 0x6cf04020, 0x33876: 0x6cf04220, 0x33877: 0x6cf04420, + 0x33878: 0x6cf04620, 0x33879: 0x6cf04820, 0x3387a: 0x6cf04a20, 0x3387b: 0x6cf04c20, + 0x3387c: 0x6cf04e20, 0x3387d: 0x6cf05020, 0x3387e: 0x6cf05220, 0x3387f: 0x6cf05420, + // Block 0xce2, offset 0x33880 + 0x33880: 0x6cf05620, 0x33881: 0x6cf05820, 0x33882: 0x6cf05a20, 0x33883: 0x6cf05c20, + 0x33884: 0x6d1fe420, 0x33885: 0x6d1fe620, 0x33886: 0x6d1fe820, 0x33887: 0x6d1fea20, + 0x33888: 0x6d1fec20, 0x33889: 0x6d1fee20, 0x3388a: 0x6d1ff020, 0x3388b: 0x6d1ff220, + 0x3388c: 0x6d1ff420, 0x3388d: 0x6d1ff620, 0x3388e: 0x6d1ff820, 0x3388f: 0x6d1ffa20, + 0x33890: 0x6d4d6a20, 0x33891: 0x6d4d6c20, 0x33892: 0x6d4d6e20, 0x33893: 0x6d4d7020, + 0x33894: 0x6d4d7220, 0x33895: 0x6d4d7420, 0x33896: 0x6d4d7620, 0x33897: 0x6d4d7820, + 0x33898: 0x6d4d7a20, 0x33899: 0x6d4d7c20, 0x3389a: 0x6d4d7e20, 0x3389b: 0x6d4d8020, + 0x3389c: 0x6d4d8220, 0x3389d: 0x6d4d8420, 0x3389e: 0x6d4d8620, 0x3389f: 0x6d7a4c20, + 0x338a0: 0x6d7a4e20, 0x338a1: 0x6d7a5020, 0x338a2: 0x6d7a5220, 0x338a3: 0x6d7a5420, + 0x338a4: 0x6d7a5620, 0x338a5: 0x6d7a5820, 0x338a6: 0x6d7a5a20, 0x338a7: 0x6d7a5c20, + 0x338a8: 0x6da2dc20, 0x338a9: 0x6da2de20, 0x338aa: 0x6dc4ca20, 0x338ab: 0x6dc4cc20, + 0x338ac: 0x6de1c220, 0x338ad: 0x6de1c420, 0x338ae: 0x6de1c620, 0x338af: 0x6de1c820, + 0x338b0: 0x6de1ca20, 0x338b1: 0x6df9a820, 0x338b2: 0x6df9aa20, 0x338b3: 0x6df9ac20, + 0x338b4: 0x6df9ae20, 0x338b5: 0x6e0d6620, 0x338b6: 0x6e0d6820, 0x338b7: 0x6e0d6a20, + 0x338b8: 0x6e1ccc20, 0x338b9: 0x6e1cce20, 0x338ba: 0x6e1cd020, 0x338bb: 0x6e31f220, + 0x338bc: 0x6e387620, 0x338bd: 0x6e387820, 0x338be: 0x6c01b820, 0x338bf: 0x6c086220, + // Block 0xce3, offset 0x338c0 + 0x338c0: 0x6c102a20, 0x338c1: 0x6c102c20, 0x338c2: 0x6c102e20, 0x338c3: 0x6c103020, + 0x338c4: 0x6c103220, 0x338c5: 0x6c103420, 0x338c6: 0x6c1d2220, 0x338c7: 0x6c1d2420, + 0x338c8: 0x6c1d2620, 0x338c9: 0x6c1d2820, 0x338ca: 0x6c1d2a20, 0x338cb: 0x6c30b220, + 0x338cc: 0x6c30b420, 0x338cd: 0x6c30b620, 0x338ce: 0x6c4b1220, 0x338cf: 0x6c4b1420, + 0x338d0: 0x6c4b1620, 0x338d1: 0x6c4b1820, 0x338d2: 0x6c4b1a20, 0x338d3: 0x6c4b1c20, + 0x338d4: 0x6c4b1e20, 0x338d5: 0x6c6cf420, 0x338d6: 0x6c6cf620, 0x338d7: 0x6c6cf820, + 0x338d8: 0x6c6cfa20, 0x338d9: 0x6c6cfc20, 0x338da: 0x6c6cfe20, 0x338db: 0x6c941220, + 0x338dc: 0x6c941420, 0x338dd: 0x6cc06220, 0x338de: 0x6cc06420, 0x338df: 0x6cc06620, + 0x338e0: 0x6cc06820, 0x338e1: 0x6cc06a20, 0x338e2: 0x6cc06c20, 0x338e3: 0x6cc06e20, + 0x338e4: 0x6cf06420, 0x338e5: 0x6cf06620, 0x338e6: 0x6d4d8c20, 0x338e7: 0x6d4d8e20, + 0x338e8: 0x6d4d9020, 0x338e9: 0x6d4d9220, 0x338ea: 0x6dc4ce20, 0x338eb: 0x6e0d6c20, + 0x338ec: 0x6e1cd420, 0x338ed: 0x6c041420, 0x338ee: 0x6c041620, 0x338ef: 0x6c041820, + 0x338f0: 0x6c087620, 0x338f1: 0x6c087820, 0x338f2: 0x6c087a20, 0x338f3: 0x6c087c20, + 0x338f4: 0x6c087e20, 0x338f5: 0x6c088020, 0x338f6: 0x6c088220, 0x338f7: 0x6c088420, + 0x338f8: 0x6c088620, 0x338f9: 0x6c088820, 0x338fa: 0x6c088a20, 0x338fb: 0x6c088c20, + 0x338fc: 0x6c088e20, 0x338fd: 0x6c089020, 0x338fe: 0x6c105e20, 0x338ff: 0x6c106020, + // Block 0xce4, offset 0x33900 + 0x33900: 0x6c106220, 0x33901: 0x6c106420, 0x33902: 0x6c106620, 0x33903: 0x6c106820, + 0x33904: 0x6c106a20, 0x33905: 0x6c106c20, 0x33906: 0x6c106e20, 0x33907: 0x6c107020, + 0x33908: 0x6c107220, 0x33909: 0x6c107420, 0x3390a: 0x6c107620, 0x3390b: 0x6c107820, + 0x3390c: 0x6c107a20, 0x3390d: 0x6c107c20, 0x3390e: 0x6c107e20, 0x3390f: 0x6c108020, + 0x33910: 0x6c108220, 0x33911: 0x6c108420, 0x33912: 0x6c108620, 0x33913: 0x6c1d6c20, + 0x33914: 0x6c1d6e20, 0x33915: 0x6c1d7020, 0x33916: 0x6c1d7220, 0x33917: 0x6c1d7420, + 0x33918: 0x6c1d7620, 0x33919: 0x6c1d7820, 0x3391a: 0x6c1d7a20, 0x3391b: 0x6c1d7c20, + 0x3391c: 0x6c1d7e20, 0x3391d: 0x6c1d8020, 0x3391e: 0x6c1d8220, 0x3391f: 0x6c1d8420, + 0x33920: 0x6c1d8620, 0x33921: 0x6c1d8820, 0x33922: 0x6c1d8a20, 0x33923: 0x6c1d8c20, + 0x33924: 0x6c1d8e20, 0x33925: 0x6c1d9020, 0x33926: 0x6c1d9220, 0x33927: 0x6c1d9420, + 0x33928: 0x6c1d9620, 0x33929: 0x6c1d9820, 0x3392a: 0x6c1d9a20, 0x3392b: 0x6c1d9c20, + 0x3392c: 0x6c1d9e20, 0x3392d: 0x6c1da020, 0x3392e: 0x6c1da220, 0x3392f: 0x6c1da420, + 0x33930: 0x6c1da620, 0x33931: 0x6c1da820, 0x33932: 0x6c1daa20, 0x33933: 0x6c1dac20, + 0x33934: 0x6c1dae20, 0x33935: 0x6c1db020, 0x33936: 0x6c1db220, 0x33937: 0x6c1db420, + 0x33938: 0x6c1db620, 0x33939: 0x6c1db820, 0x3393a: 0x6c1dba20, 0x3393b: 0x6c1dbc20, + 0x3393c: 0x6c1dbe20, 0x3393d: 0x6c1dc020, 0x3393e: 0x6c1dc220, 0x3393f: 0x6c1dc420, + // Block 0xce5, offset 0x33940 + 0x33940: 0x6c1dc620, 0x33941: 0x6c1dc820, 0x33942: 0x6c1dca20, 0x33943: 0x6c312020, + 0x33944: 0x6c312220, 0x33945: 0x6c312420, 0x33946: 0x6c312620, 0x33947: 0x6c312820, + 0x33948: 0x6c312a20, 0x33949: 0x6c312c20, 0x3394a: 0x6c312e20, 0x3394b: 0x6c313020, + 0x3394c: 0x6c313220, 0x3394d: 0x6c313420, 0x3394e: 0x6c313620, 0x3394f: 0x6c313820, + 0x33950: 0x6c313a20, 0x33951: 0x6c313c20, 0x33952: 0x6c313e20, 0x33953: 0x6c314020, + 0x33954: 0x6c314220, 0x33955: 0x6c314420, 0x33956: 0x6c314620, 0x33957: 0x6c314820, + 0x33958: 0x6c314a20, 0x33959: 0x6c314c20, 0x3395a: 0x6c314e20, 0x3395b: 0x6c315020, + 0x3395c: 0x6c315220, 0x3395d: 0x6c315420, 0x3395e: 0x6c315620, 0x3395f: 0x6c315820, + 0x33960: 0x6c315a20, 0x33961: 0x6c315c20, 0x33962: 0x6c315e20, 0x33963: 0x6c316020, + 0x33964: 0x6c3bdc20, 0x33965: 0x6c316220, 0x33966: 0x6c316420, 0x33967: 0x6c316620, + 0x33968: 0x6c316820, 0x33969: 0x6c316a20, 0x3396a: 0x6c316c20, 0x3396b: 0x6c4b6a20, + 0x3396c: 0x6c4b6c20, 0x3396d: 0x6c4b6e20, 0x3396e: 0x6c4b7020, 0x3396f: 0x6c4b7220, + 0x33970: 0x6c4b7420, 0x33971: 0x6c4b7620, 0x33972: 0x6c4b7820, 0x33973: 0x6c4b7a20, + 0x33974: 0x6c4b7c20, 0x33975: 0x6c4b7e20, 0x33976: 0x6c4b8020, 0x33977: 0x6c4b8220, + 0x33978: 0x6c4b8420, 0x33979: 0x6c4b8620, 0x3397a: 0x6c4b8820, 0x3397b: 0x6c4b8a20, + 0x3397c: 0x6c4b8c20, 0x3397d: 0x6c4b8e20, 0x3397e: 0x6c4b9020, 0x3397f: 0x6c4b9220, + // Block 0xce6, offset 0x33980 + 0x33980: 0x6c4b9420, 0x33981: 0x6c4b9620, 0x33982: 0x6c4b9820, 0x33983: 0x6c4b9a20, + 0x33984: 0x6c4b9c20, 0x33985: 0x6c4b9e20, 0x33986: 0x6c4ba020, 0x33987: 0x6c4ba220, + 0x33988: 0x6c4ba420, 0x33989: 0x6c4ba620, 0x3398a: 0x6c4ba820, 0x3398b: 0x6c4baa20, + 0x3398c: 0x6c4bac20, 0x3398d: 0x6c4bae20, 0x3398e: 0x6c4bb020, 0x3398f: 0x6c4bb220, + 0x33990: 0x6c4bb420, 0x33991: 0x6c4bb620, 0x33992: 0x6c4bb820, 0x33993: 0x6c4bba20, + 0x33994: 0x6c4bbc20, 0x33995: 0x6c6d5a20, 0x33996: 0x6c6d5c20, 0x33997: 0x6c6d5e20, + 0x33998: 0x6c6d6020, 0x33999: 0x6c6d6220, 0x3399a: 0x6c6d6420, 0x3399b: 0x6c6d6620, + 0x3399c: 0x6c6d6820, 0x3399d: 0x6c6d6a20, 0x3399e: 0x6c6d6c20, 0x3399f: 0x6c6d6e20, + 0x339a0: 0x6c6d7020, 0x339a1: 0x6c6d7220, 0x339a2: 0x6c6d7420, 0x339a3: 0x6c6d7620, + 0x339a4: 0x6c6d7820, 0x339a5: 0x6c6d7a20, 0x339a6: 0x6c6d7c20, 0x339a7: 0x6c6d7e20, + 0x339a8: 0x6c6d8020, 0x339a9: 0x6c6d8220, 0x339aa: 0x6c6d8420, 0x339ab: 0x6c6d8620, + 0x339ac: 0x6c6d8820, 0x339ad: 0x6c6d8a20, 0x339ae: 0x6c6d8c20, 0x339af: 0x6c6d8e20, + 0x339b0: 0x6c6d9020, 0x339b1: 0x6c6d9220, 0x339b2: 0x6c6d9420, 0x339b3: 0x6c6d9620, + 0x339b4: 0x6c6d9820, 0x339b5: 0x6c6d9a20, 0x339b6: 0x6c6d9c20, 0x339b7: 0x6c6d9e20, + 0x339b8: 0x6c6da020, 0x339b9: 0x6c6da220, 0x339ba: 0x6c6da420, 0x339bb: 0x6c6da620, + 0x339bc: 0x6c6da820, 0x339bd: 0x6c6daa20, 0x339be: 0x6c6dac20, 0x339bf: 0x6c6dae20, + // Block 0xce7, offset 0x339c0 + 0x339c0: 0x6c6db020, 0x339c1: 0x6c6db220, 0x339c2: 0x6c6db420, 0x339c3: 0x6c6db620, + 0x339c4: 0x6c6db820, 0x339c5: 0x6c6dba20, 0x339c6: 0x6c6dbc20, 0x339c7: 0x6c6dbe20, + 0x339c8: 0x6c6dc020, 0x339c9: 0x6c6dc220, 0x339ca: 0x6c6dc420, 0x339cb: 0x6c6dc620, + 0x339cc: 0x6c6dc820, 0x339cd: 0x6c6dca20, 0x339ce: 0x6c6dcc20, 0x339cf: 0x6c6dce20, + 0x339d0: 0x6c6dd020, 0x339d1: 0x6c948a20, 0x339d2: 0x6c948c20, 0x339d3: 0x6c948e20, + 0x339d4: 0x6c949020, 0x339d5: 0x6c949220, 0x339d6: 0x6c949420, 0x339d7: 0x6c949620, + 0x339d8: 0x6c949820, 0x339d9: 0x6c949a20, 0x339da: 0x6c949c20, 0x339db: 0x6c949e20, + 0x339dc: 0x6c94a020, 0x339dd: 0x6c94a220, 0x339de: 0x6c94a420, 0x339df: 0x6c94a620, + 0x339e0: 0x6c94a820, 0x339e1: 0x6c94aa20, 0x339e2: 0x6c94ac20, 0x339e3: 0x6c94ae20, + 0x339e4: 0x6c94b020, 0x339e5: 0x6c94b220, 0x339e6: 0x6c94b420, 0x339e7: 0x6c94b620, + 0x339e8: 0x6c94b820, 0x339e9: 0x6c94ba20, 0x339ea: 0x6c94bc20, 0x339eb: 0x6c94be20, + 0x339ec: 0x6c94c020, 0x339ed: 0x6c94c220, 0x339ee: 0x6c94c420, 0x339ef: 0x6c94c620, + 0x339f0: 0x6c94c820, 0x339f1: 0x6c94ca20, 0x339f2: 0x6c94cc20, 0x339f3: 0x6c94ce20, + 0x339f4: 0x6c94d020, 0x339f5: 0x6c94d220, 0x339f6: 0x6c94d420, 0x339f7: 0x6c94d620, + 0x339f8: 0x6c94d820, 0x339f9: 0x6c94da20, 0x339fa: 0x6c94dc20, 0x339fb: 0x6c94de20, + 0x339fc: 0x6c94e020, 0x339fd: 0x6c94e220, 0x339fe: 0x6c94e420, 0x339ff: 0x6c94e620, + // Block 0xce8, offset 0x33a00 + 0x33a00: 0x6c94e820, 0x33a01: 0x6c94ea20, 0x33a02: 0x6c94ec20, 0x33a03: 0x6c94ee20, + 0x33a04: 0x6c94f020, 0x33a05: 0x6c94f220, 0x33a06: 0x6c94f420, 0x33a07: 0x6c94f620, + 0x33a08: 0x6c94f820, 0x33a09: 0x6c94fa20, 0x33a0a: 0x6c94fc20, 0x33a0b: 0x6c94fe20, + 0x33a0c: 0x6c950020, 0x33a0d: 0x6c950220, 0x33a0e: 0x6c950420, 0x33a0f: 0x6c950620, + 0x33a10: 0x6c950820, 0x33a11: 0x6c950a20, 0x33a12: 0x6c950c20, 0x33a13: 0x6c950e20, + 0x33a14: 0x6c951020, 0x33a15: 0x6c951220, 0x33a16: 0x6c951420, 0x33a17: 0x6c951620, + 0x33a18: 0x6c951820, 0x33a19: 0x6c951a20, 0x33a1a: 0x6c951c20, 0x33a1b: 0x6c951e20, + 0x33a1c: 0x6c952020, 0x33a1d: 0x6c952220, 0x33a1e: 0x6c952420, 0x33a1f: 0x6c952620, + 0x33a20: 0x6c952820, 0x33a21: 0x6c952a20, 0x33a22: 0x6c952c20, 0x33a23: 0x6c952e20, + 0x33a24: 0x6c953020, 0x33a25: 0x6c953220, 0x33a26: 0x6c953420, 0x33a27: 0x6c953620, + 0x33a28: 0x6c953820, 0x33a29: 0x6c953a20, 0x33a2a: 0x6cc0de20, 0x33a2b: 0x6cc0e020, + 0x33a2c: 0x6cc0e220, 0x33a2d: 0x6cc0e420, 0x33a2e: 0x6cc0e620, 0x33a2f: 0x6cc0e820, + 0x33a30: 0x6cc0ea20, 0x33a31: 0x6cc0ec20, 0x33a32: 0x6cc0ee20, 0x33a33: 0x6cc0f020, + 0x33a34: 0x6cc0f220, 0x33a35: 0x6cc0f420, 0x33a36: 0x6cc0f620, 0x33a37: 0x6cc0f820, + 0x33a38: 0x6cc0fa20, 0x33a39: 0x6cc0fc20, 0x33a3a: 0x6cc0fe20, 0x33a3b: 0x6cc10020, + 0x33a3c: 0x6cc10220, 0x33a3d: 0x6cc10420, 0x33a3e: 0x6cc10620, 0x33a3f: 0x6cc10820, + // Block 0xce9, offset 0x33a40 + 0x33a40: 0x6cc10a20, 0x33a41: 0x6cc10c20, 0x33a42: 0x6cc10e20, 0x33a43: 0x6cc11020, + 0x33a44: 0x6cc11220, 0x33a45: 0x6cc11420, 0x33a46: 0x6cc11620, 0x33a47: 0x6cc11820, + 0x33a48: 0x6cc11a20, 0x33a49: 0x6cc11c20, 0x33a4a: 0x6cc11e20, 0x33a4b: 0x6cc12020, + 0x33a4c: 0x6cc12220, 0x33a4d: 0x6cc12420, 0x33a4e: 0x6cc12620, 0x33a4f: 0x6cc12820, + 0x33a50: 0x6cc12a20, 0x33a51: 0x6cc12c20, 0x33a52: 0x6cc12e20, 0x33a53: 0x6cc13020, + 0x33a54: 0x6cc13220, 0x33a55: 0x6cc13420, 0x33a56: 0x6cc13620, 0x33a57: 0x6cc13820, + 0x33a58: 0x6cc13a20, 0x33a59: 0x6cc13c20, 0x33a5a: 0x6cc13e20, 0x33a5b: 0x6cc14020, + 0x33a5c: 0x6cc14220, 0x33a5d: 0x6cc14420, 0x33a5e: 0x6cc14620, 0x33a5f: 0x6cc14820, + 0x33a60: 0x6cc14a20, 0x33a61: 0x6cc14c20, 0x33a62: 0x6cc14e20, 0x33a63: 0x6cc15020, + 0x33a64: 0x6cc15220, 0x33a65: 0x6cc15420, 0x33a66: 0x6cc15620, 0x33a67: 0x6cc15820, + 0x33a68: 0x6cc15a20, 0x33a69: 0x6cc15c20, 0x33a6a: 0x6cf0ac20, 0x33a6b: 0x6cf0ae20, + 0x33a6c: 0x6cf0b020, 0x33a6d: 0x6cf0b220, 0x33a6e: 0x6cf0b420, 0x33a6f: 0x6cf0b620, + 0x33a70: 0x6cf0b820, 0x33a71: 0x6cf0ba20, 0x33a72: 0x6cf0bc20, 0x33a73: 0x6cf0be20, + 0x33a74: 0x6cf0c020, 0x33a75: 0x6cf0c220, 0x33a76: 0x6cf0c420, 0x33a77: 0x6cf0c620, + 0x33a78: 0x6cf0c820, 0x33a79: 0x6cf0ca20, 0x33a7a: 0x6cf0cc20, 0x33a7b: 0x6cf0ce20, + 0x33a7c: 0x6cf0d020, 0x33a7d: 0x6cf0d220, 0x33a7e: 0x6cf0d420, 0x33a7f: 0x6cf0d620, + // Block 0xcea, offset 0x33a80 + 0x33a80: 0x6cf0d820, 0x33a81: 0x6cf0da20, 0x33a82: 0x6cf0dc20, 0x33a83: 0x6cf0de20, + 0x33a84: 0x6cf0e020, 0x33a85: 0x6cf0e220, 0x33a86: 0x6cf0e420, 0x33a87: 0x6cf0e620, + 0x33a88: 0x6cf0e820, 0x33a89: 0x6cf0ea20, 0x33a8a: 0x6cf0ec20, 0x33a8b: 0x6cf0ee20, + 0x33a8c: 0x6cf0f020, 0x33a8d: 0x6cf0f220, 0x33a8e: 0x6cf0f420, 0x33a8f: 0x6cf0f620, + 0x33a90: 0x6cf0f820, 0x33a91: 0x6cf0fa20, 0x33a92: 0x6cf0fc20, 0x33a93: 0x6cf0fe20, + 0x33a94: 0x6cf10020, 0x33a95: 0x6cf10220, 0x33a96: 0x6cf10420, 0x33a97: 0x6cf10620, + 0x33a98: 0x6d204820, 0x33a99: 0x6d204a20, 0x33a9a: 0x6d204c20, 0x33a9b: 0x6d204e20, + 0x33a9c: 0x6d205020, 0x33a9d: 0x6d205220, 0x33a9e: 0x6d205420, 0x33a9f: 0x6d205620, + 0x33aa0: 0x6d205820, 0x33aa1: 0x6d205a20, 0x33aa2: 0x6d205c20, 0x33aa3: 0x6d205e20, + 0x33aa4: 0x6d206020, 0x33aa5: 0x6d206220, 0x33aa6: 0x6d206420, 0x33aa7: 0x6d206620, + 0x33aa8: 0x6d206820, 0x33aa9: 0x6d206a20, 0x33aaa: 0x6d206c20, 0x33aab: 0x6d206e20, + 0x33aac: 0x6d207020, 0x33aad: 0x6d207220, 0x33aae: 0x6d207420, 0x33aaf: 0x6d207620, + 0x33ab0: 0x6d207820, 0x33ab1: 0x6d207a20, 0x33ab2: 0x6d207c20, 0x33ab3: 0x6d207e20, + 0x33ab4: 0x6d208020, 0x33ab5: 0x6d208220, 0x33ab6: 0x6d208420, 0x33ab7: 0x6d208620, + 0x33ab8: 0x6d208820, 0x33ab9: 0x6d208a20, 0x33aba: 0x6d208c20, 0x33abb: 0x6d208e20, + 0x33abc: 0x6d209020, 0x33abd: 0x6d209220, 0x33abe: 0x6d209420, 0x33abf: 0x6d209620, + // Block 0xceb, offset 0x33ac0 + 0x33ac0: 0x6d209820, 0x33ac1: 0x6d209a20, 0x33ac2: 0x6d209c20, 0x33ac3: 0x6d209e20, + 0x33ac4: 0x6d20a020, 0x33ac5: 0x6d20a220, 0x33ac6: 0x6d20a420, 0x33ac7: 0x6d20a620, + 0x33ac8: 0x6d20a820, 0x33ac9: 0x6d20aa20, 0x33aca: 0x6d4dda20, 0x33acb: 0x6d4ddc20, + 0x33acc: 0x6d4dde20, 0x33acd: 0x6d4de020, 0x33ace: 0x6d4de220, 0x33acf: 0x6d4de420, + 0x33ad0: 0x6d4de620, 0x33ad1: 0x6d4de820, 0x33ad2: 0x6d4dea20, 0x33ad3: 0x6d4dec20, + 0x33ad4: 0x6d4dee20, 0x33ad5: 0x6d4df020, 0x33ad6: 0x6d4df220, 0x33ad7: 0x6d4df420, + 0x33ad8: 0x6d4df620, 0x33ad9: 0x6d4df820, 0x33ada: 0x6d4dfa20, 0x33adb: 0x6d4dfc20, + 0x33adc: 0x6d4dfe20, 0x33add: 0x6d4e0020, 0x33ade: 0x6d4e0220, 0x33adf: 0x6d4e0420, + 0x33ae0: 0x6d4e0620, 0x33ae1: 0x6d4e0820, 0x33ae2: 0x6d4e0a20, 0x33ae3: 0x6d4e0c20, + 0x33ae4: 0x6d4e0e20, 0x33ae5: 0x6d4e1020, 0x33ae6: 0x6d4e1220, 0x33ae7: 0x6d4e1420, + 0x33ae8: 0x6d4e1620, 0x33ae9: 0x6d4e1820, 0x33aea: 0x6d4e1a20, 0x33aeb: 0x6d4e1c20, + 0x33aec: 0x6d4e1e20, 0x33aed: 0x6d4e2020, 0x33aee: 0x6d4e2220, 0x33aef: 0x6d4e2420, + 0x33af0: 0x6d4e2620, 0x33af1: 0x6d4e2820, 0x33af2: 0x6d4e2a20, 0x33af3: 0x6d4e2c20, + 0x33af4: 0x6d4e2e20, 0x33af5: 0x6d4e3020, 0x33af6: 0x6d4e3220, 0x33af7: 0x6d4e3420, + 0x33af8: 0x6d4e3620, 0x33af9: 0x6d4e3820, 0x33afa: 0x6d4e3a20, 0x33afb: 0x6d4e3c20, + 0x33afc: 0x6d4e3e20, 0x33afd: 0x6d7a9020, 0x33afe: 0x6d7a9220, 0x33aff: 0x6d7a9420, + // Block 0xcec, offset 0x33b00 + 0x33b00: 0x6d7a9620, 0x33b01: 0x6d7a9820, 0x33b02: 0x6d7a9a20, 0x33b03: 0x6d7a9c20, + 0x33b04: 0x6d7a9e20, 0x33b05: 0x6d7aa020, 0x33b06: 0x6d7aa220, 0x33b07: 0x6d7aa420, + 0x33b08: 0x6d7aa620, 0x33b09: 0x6da2fc20, 0x33b0a: 0x6d7aa820, 0x33b0b: 0x6d7aaa20, + 0x33b0c: 0x6d7aac20, 0x33b0d: 0x6d7aae20, 0x33b0e: 0x6d7ab020, 0x33b0f: 0x6d7ab220, + 0x33b10: 0x6d7ab420, 0x33b11: 0x6d7ab620, 0x33b12: 0x6d7ab820, 0x33b13: 0x6d7aba20, + 0x33b14: 0x6d7abc20, 0x33b15: 0x6d7abe20, 0x33b16: 0x6d7ac020, 0x33b17: 0x6d7ac220, + 0x33b18: 0x6d7ac420, 0x33b19: 0x6d7ac620, 0x33b1a: 0x6d7ac820, 0x33b1b: 0x6d7aca20, + 0x33b1c: 0x6da2fe20, 0x33b1d: 0x6da30020, 0x33b1e: 0x6da30220, 0x33b1f: 0x6da30420, + 0x33b20: 0x6da30620, 0x33b21: 0x6da30820, 0x33b22: 0x6da30a20, 0x33b23: 0x6da30c20, + 0x33b24: 0x6da30e20, 0x33b25: 0x6da31020, 0x33b26: 0x6da31220, 0x33b27: 0x6da31420, + 0x33b28: 0x6da31620, 0x33b29: 0x6da31820, 0x33b2a: 0x6da31a20, 0x33b2b: 0x6da31c20, + 0x33b2c: 0x6da31e20, 0x33b2d: 0x6da32020, 0x33b2e: 0x6da32220, 0x33b2f: 0x6da32420, + 0x33b30: 0x6da32620, 0x33b31: 0x6da32820, 0x33b32: 0x6da32a20, 0x33b33: 0x6da32c20, + 0x33b34: 0x6da32e20, 0x33b35: 0x6da33020, 0x33b36: 0x6da33220, 0x33b37: 0x6da33420, + 0x33b38: 0x6da33620, 0x33b39: 0x6da33820, 0x33b3a: 0x6da33a20, 0x33b3b: 0x6da33c20, + 0x33b3c: 0x6da33e20, 0x33b3d: 0x6da34020, 0x33b3e: 0x6da34220, 0x33b3f: 0x6da34420, + // Block 0xced, offset 0x33b40 + 0x33b40: 0x6da34620, 0x33b41: 0x6da34820, 0x33b42: 0x6dc4dc20, 0x33b43: 0x6dc4de20, + 0x33b44: 0x6dc4e020, 0x33b45: 0x6dc4e220, 0x33b46: 0x6dc4e420, 0x33b47: 0x6dc4e620, + 0x33b48: 0x6dc4e820, 0x33b49: 0x6dc4ea20, 0x33b4a: 0x6dc4ec20, 0x33b4b: 0x6dc4ee20, + 0x33b4c: 0x6dc4f020, 0x33b4d: 0x6dc4f220, 0x33b4e: 0x6dc4f420, 0x33b4f: 0x6dc4f620, + 0x33b50: 0x6dc4f820, 0x33b51: 0x6dc4fa20, 0x33b52: 0x6dc4fc20, 0x33b53: 0x6dc4fe20, + 0x33b54: 0x6dc50020, 0x33b55: 0x6dc50220, 0x33b56: 0x6dc50420, 0x33b57: 0x6dc45020, + 0x33b58: 0x6de1de20, 0x33b59: 0x6de1e020, 0x33b5a: 0x6de1e220, 0x33b5b: 0x6de1e420, + 0x33b5c: 0x6de1e620, 0x33b5d: 0x6de1e820, 0x33b5e: 0x6de1ea20, 0x33b5f: 0x6de1ec20, + 0x33b60: 0x6dc50620, 0x33b61: 0x6de1ee20, 0x33b62: 0x6de1f020, 0x33b63: 0x6de1f220, + 0x33b64: 0x6de1f420, 0x33b65: 0x6de1f620, 0x33b66: 0x6de1f820, 0x33b67: 0x6de1fa20, + 0x33b68: 0x6de1fc20, 0x33b69: 0x6de1fe20, 0x33b6a: 0x6de20020, 0x33b6b: 0x6de20220, + 0x33b6c: 0x6de20420, 0x33b6d: 0x6de20620, 0x33b6e: 0x6df9be20, 0x33b6f: 0x6df9c020, + 0x33b70: 0x6df9c220, 0x33b71: 0x6df9c420, 0x33b72: 0x6df9c620, 0x33b73: 0x6df9c820, + 0x33b74: 0x6df9ca20, 0x33b75: 0x6df9cc20, 0x33b76: 0x6df9ce20, 0x33b77: 0x6df9d020, + 0x33b78: 0x6df9d220, 0x33b79: 0x6df9d420, 0x33b7a: 0x6df9d620, 0x33b7b: 0x6da34a20, + 0x33b7c: 0x6e0d7a20, 0x33b7d: 0x6e0d7c20, 0x33b7e: 0x6e0d7e20, 0x33b7f: 0x6e0d8020, + // Block 0xcee, offset 0x33b80 + 0x33b80: 0x6e0d8220, 0x33b81: 0x6e0d8420, 0x33b82: 0x6e0d8620, 0x33b83: 0x6e0d8820, + 0x33b84: 0x6e0d8a20, 0x33b85: 0x6e0d8c20, 0x33b86: 0x6e0d8e20, 0x33b87: 0x6e1ce620, + 0x33b88: 0x6e1ce820, 0x33b89: 0x6e1cea20, 0x33b8a: 0x6e1cec20, 0x33b8b: 0x6e1cee20, + 0x33b8c: 0x6e1cf020, 0x33b8d: 0x6e1cf220, 0x33b8e: 0x6e1cf420, 0x33b8f: 0x6e1cf620, + 0x33b90: 0x6e1cf820, 0x33b91: 0x6e1cfa20, 0x33b92: 0x6e28b820, 0x33b93: 0x6e28ba20, + 0x33b94: 0x6e31f620, 0x33b95: 0x6e31f820, 0x33b96: 0x6e31fa20, 0x33b97: 0x6e31fc20, + 0x33b98: 0x6e31fe20, 0x33b99: 0x6e320020, 0x33b9a: 0x6e320220, 0x33b9b: 0x6e320420, + 0x33b9c: 0x6e320620, 0x33b9d: 0x6e387a20, 0x33b9e: 0x6e387c20, 0x33b9f: 0x6e387e20, + 0x33ba0: 0x6e402420, 0x33ba1: 0x6e402620, 0x33ba2: 0x6e429220, 0x33ba3: 0x6e402820, + 0x33ba4: 0x6e402a20, 0x33ba5: 0x6e462620, 0x33ba6: 0x6c01c020, 0x33ba7: 0x6c041a20, + 0x33ba8: 0x6c01c220, 0x33ba9: 0x6c109820, 0x33baa: 0x6c109a20, 0x33bab: 0x6c109c20, + 0x33bac: 0x6c109e20, 0x33bad: 0x6c10a020, 0x33bae: 0x6c1dd620, 0x33baf: 0x6c1dd820, + 0x33bb0: 0x6c1dda20, 0x33bb1: 0x6c317a20, 0x33bb2: 0x6c317c20, 0x33bb3: 0x6c317e20, + 0x33bb4: 0x6c318020, 0x33bb5: 0x6c318220, 0x33bb6: 0x6c318420, 0x33bb7: 0x6c4bce20, + 0x33bb8: 0x6c4bd020, 0x33bb9: 0x6c4bd220, 0x33bba: 0x6c4bd420, 0x33bbb: 0x6c4bd620, + 0x33bbc: 0x6c6de420, 0x33bbd: 0x6c6de620, 0x33bbe: 0x6c954e20, 0x33bbf: 0x6c955020, + // Block 0xcef, offset 0x33bc0 + 0x33bc0: 0x6c955220, 0x33bc1: 0x6cc16c20, 0x33bc2: 0x6d20ba20, 0x33bc3: 0x6d4e4a20, + 0x33bc4: 0x6d7ad420, 0x33bc5: 0x6d7ad620, 0x33bc6: 0x6d7ad820, 0x33bc7: 0x6da35420, + 0x33bc8: 0x6dc50820, 0x33bc9: 0x6de20c20, 0x33bca: 0x6de20e20, 0x33bcb: 0x6df9d820, + 0x33bcc: 0x6e1cfe20, 0x33bcd: 0x6e1d0020, 0x33bce: 0x6e320820, 0x33bcf: 0x6e402c20, + 0x33bd0: 0x6e442a20, 0x33bd1: 0x6c041e20, 0x33bd2: 0x6c042020, 0x33bd3: 0x6c042220, + 0x33bd4: 0x6c042420, 0x33bd5: 0x6c042620, 0x33bd6: 0x6c089820, 0x33bd7: 0x6c089a20, + 0x33bd8: 0x6c089c20, 0x33bd9: 0x6c089e20, 0x33bda: 0x6c10a620, 0x33bdb: 0x6c10a820, + 0x33bdc: 0x6c1de020, 0x33bdd: 0x6c1de220, 0x33bde: 0x6c1de420, 0x33bdf: 0x6c318620, + 0x33be0: 0x6c4bde20, 0x33be1: 0x6c6dee20, 0x33be2: 0x6c6df020, 0x33be3: 0x6c955420, + 0x33be4: 0x6cc17220, 0x33be5: 0x6cc17420, 0x33be6: 0x6cf11220, 0x33be7: 0x6cf11420, + 0x33be8: 0x6d4e4e20, 0x33be9: 0x6d4e5020, 0x33bea: 0x6d4e5220, 0x33beb: 0x6d4e5420, + 0x33bec: 0x6d7ada20, 0x33bed: 0x6da35620, 0x33bee: 0x6dc50a20, 0x33bef: 0x6de21020, + 0x33bf0: 0x6e0d9220, 0x33bf1: 0x6e0d9420, 0x33bf2: 0x6e0d9620, 0x33bf3: 0x6c042a20, + 0x33bf4: 0x6c08a220, 0x33bf5: 0x6c08a420, 0x33bf6: 0x6c10ac20, 0x33bf7: 0x6c318c20, + 0x33bf8: 0x6c318e20, 0x33bf9: 0x6c4bea20, 0x33bfa: 0x6c4bec20, 0x33bfb: 0x6c4bee20, + 0x33bfc: 0x6c6df420, 0x33bfd: 0x6c6df620, 0x33bfe: 0x6c6df820, 0x33bff: 0x6c6dfa20, + // Block 0xcf0, offset 0x33c00 + 0x33c00: 0x6c955a20, 0x33c01: 0x6c955c20, 0x33c02: 0x6c955e20, 0x33c03: 0x6c956020, + 0x33c04: 0x6c956220, 0x33c05: 0x6cc17a20, 0x33c06: 0x6cc17c20, 0x33c07: 0x6cc17e20, + 0x33c08: 0x6cc18020, 0x33c09: 0x6cc18220, 0x33c0a: 0x6cf11820, 0x33c0b: 0x6d4e5620, + 0x33c0c: 0x6d4e5820, 0x33c0d: 0x6d7ae020, 0x33c0e: 0x6da35a20, 0x33c0f: 0x6d7ae220, + 0x33c10: 0x6dc50e20, 0x33c11: 0x6df9da20, 0x33c12: 0x6c08b220, 0x33c13: 0x6c08b420, + 0x33c14: 0x6c08b620, 0x33c15: 0x6c10ba20, 0x33c16: 0x6c10bc20, 0x33c17: 0x6c10be20, + 0x33c18: 0x6c10c020, 0x33c19: 0x6c10c220, 0x33c1a: 0x6c10c420, 0x33c1b: 0x6c10c620, + 0x33c1c: 0x6c10c820, 0x33c1d: 0x6c10ca20, 0x33c1e: 0x6c10cc20, 0x33c1f: 0x6c10ce20, + 0x33c20: 0x6c10d020, 0x33c21: 0x6c10d220, 0x33c22: 0x6c10d420, 0x33c23: 0x6c10d620, + 0x33c24: 0x6c10d820, 0x33c25: 0x6c1e0620, 0x33c26: 0x6c1e0820, 0x33c27: 0x6c1e0a20, + 0x33c28: 0x6c1e0c20, 0x33c29: 0x6c1e0e20, 0x33c2a: 0x6c1e1020, 0x33c2b: 0x6c1e1220, + 0x33c2c: 0x6c1e1420, 0x33c2d: 0x6c1e1620, 0x33c2e: 0x6c1e1820, 0x33c2f: 0x6c1e1a20, + 0x33c30: 0x6c1e1c20, 0x33c31: 0x6c1e1e20, 0x33c32: 0x6c1e2020, 0x33c33: 0x6c1e2220, + 0x33c34: 0x6c1e2420, 0x33c35: 0x6c1e2620, 0x33c36: 0x6c1e2820, 0x33c37: 0x6c1e2a20, + 0x33c38: 0x6c1e2c20, 0x33c39: 0x6c1e2e20, 0x33c3a: 0x6c1e3020, 0x33c3b: 0x6c31b220, + 0x33c3c: 0x6c31b420, 0x33c3d: 0x6c31b620, 0x33c3e: 0x6c31b820, 0x33c3f: 0x6c31ba20, + // Block 0xcf1, offset 0x33c40 + 0x33c40: 0x6c31bc20, 0x33c41: 0x6c31be20, 0x33c42: 0x6c31c020, 0x33c43: 0x6c31c220, + 0x33c44: 0x6c31c420, 0x33c45: 0x6c31c620, 0x33c46: 0x6c31c820, 0x33c47: 0x6c31ca20, + 0x33c48: 0x6c31cc20, 0x33c49: 0x6c31ce20, 0x33c4a: 0x6c31d020, 0x33c4b: 0x6c31d220, + 0x33c4c: 0x6c31d420, 0x33c4d: 0x6c31d620, 0x33c4e: 0x6c31d820, 0x33c4f: 0x6c31da20, + 0x33c50: 0x6c4c1220, 0x33c51: 0x6c4c1420, 0x33c52: 0x6c4c1620, 0x33c53: 0x6c4c1820, + 0x33c54: 0x6c4c1a20, 0x33c55: 0x6c4c1c20, 0x33c56: 0x6c4c1e20, 0x33c57: 0x6c4c2020, + 0x33c58: 0x6c4c2220, 0x33c59: 0x6c4c2420, 0x33c5a: 0x6c4c2620, 0x33c5b: 0x6c4c2820, + 0x33c5c: 0x6c4c2a20, 0x33c5d: 0x6c4c2c20, 0x33c5e: 0x6c4c2e20, 0x33c5f: 0x6c4c3020, + 0x33c60: 0x6c4c3220, 0x33c61: 0x6c4c3420, 0x33c62: 0x6c4c3620, 0x33c63: 0x6c4c3820, + 0x33c64: 0x6c4c3a20, 0x33c65: 0x6c4c3c20, 0x33c66: 0x6c4c3e20, 0x33c67: 0x6c4c4020, + 0x33c68: 0x6c4c4220, 0x33c69: 0x6c4c4420, 0x33c6a: 0x6c4c4620, 0x33c6b: 0x6c4c4820, + 0x33c6c: 0x6c4c4a20, 0x33c6d: 0x6c4c4c20, 0x33c6e: 0x6c4c4e20, 0x33c6f: 0x6c4c5020, + 0x33c70: 0x6c4c5220, 0x33c71: 0x6c6e1420, 0x33c72: 0x6c6e1620, 0x33c73: 0x6c6e1820, + 0x33c74: 0x6c6e1a20, 0x33c75: 0x6c6e1c20, 0x33c76: 0x6c6e1e20, 0x33c77: 0x6c6e2020, + 0x33c78: 0x6c6e2220, 0x33c79: 0x6c6e2420, 0x33c7a: 0x6c6e2620, 0x33c7b: 0x6c6e2820, + 0x33c7c: 0x6c6e2a20, 0x33c7d: 0x6c6e2c20, 0x33c7e: 0x6c6e2e20, 0x33c7f: 0x6c6e3020, + // Block 0xcf2, offset 0x33c80 + 0x33c80: 0x6c6e3220, 0x33c81: 0x6c6e3420, 0x33c82: 0x6c6e3620, 0x33c83: 0x6c6e3820, + 0x33c84: 0x6c6e3a20, 0x33c85: 0x6c6e3c20, 0x33c86: 0x6c6e3e20, 0x33c87: 0x6c6e4020, + 0x33c88: 0x6c6e4220, 0x33c89: 0x6c6e4420, 0x33c8a: 0x6c6e4620, 0x33c8b: 0x6c6e4820, + 0x33c8c: 0x6c6e4a20, 0x33c8d: 0x6c958620, 0x33c8e: 0x6c958820, 0x33c8f: 0x6c958a20, + 0x33c90: 0x6c958c20, 0x33c91: 0x6c958e20, 0x33c92: 0x6c959020, 0x33c93: 0x6c959220, + 0x33c94: 0x6c959420, 0x33c95: 0x6c959620, 0x33c96: 0x6c959820, 0x33c97: 0x6c959a20, + 0x33c98: 0x6c959c20, 0x33c99: 0x6c959e20, 0x33c9a: 0x6c95a020, 0x33c9b: 0x6c95a220, + 0x33c9c: 0x6c95a420, 0x33c9d: 0x6c95a620, 0x33c9e: 0x6c95a820, 0x33c9f: 0x6c95aa20, + 0x33ca0: 0x6c95ac20, 0x33ca1: 0x6c95ae20, 0x33ca2: 0x6c95b020, 0x33ca3: 0x6c95b220, + 0x33ca4: 0x6c95b420, 0x33ca5: 0x6c95b620, 0x33ca6: 0x6c95b820, 0x33ca7: 0x6c95ba20, + 0x33ca8: 0x6c95bc20, 0x33ca9: 0x6c95be20, 0x33caa: 0x6c95c020, 0x33cab: 0x6cc1ae20, + 0x33cac: 0x6cc1b020, 0x33cad: 0x6cc1b220, 0x33cae: 0x6cc1b420, 0x33caf: 0x6cc1b620, + 0x33cb0: 0x6cc1b820, 0x33cb1: 0x6cc1ba20, 0x33cb2: 0x6cc1bc20, 0x33cb3: 0x6cc1be20, + 0x33cb4: 0x6cc1c020, 0x33cb5: 0x6cc1c220, 0x33cb6: 0x6cc1c420, 0x33cb7: 0x6cc1c620, + 0x33cb8: 0x6cc1c820, 0x33cb9: 0x6cc1ca20, 0x33cba: 0x6cc1cc20, 0x33cbb: 0x6cc1ce20, + 0x33cbc: 0x6cc1d020, 0x33cbd: 0x6cc1d220, 0x33cbe: 0x6cc1d420, 0x33cbf: 0x6cc1d620, + // Block 0xcf3, offset 0x33cc0 + 0x33cc0: 0x6cc1d820, 0x33cc1: 0x6cc1da20, 0x33cc2: 0x6cc1dc20, 0x33cc3: 0x6cc1de20, + 0x33cc4: 0x6cc1e020, 0x33cc5: 0x6cc1e220, 0x33cc6: 0x6cc1e420, 0x33cc7: 0x6cc1e620, + 0x33cc8: 0x6cc1e820, 0x33cc9: 0x6cc1ea20, 0x33cca: 0x6cf13020, 0x33ccb: 0x6cf13220, + 0x33ccc: 0x6cf13420, 0x33ccd: 0x6cf13620, 0x33cce: 0x6cf13820, 0x33ccf: 0x6cf13a20, + 0x33cd0: 0x6cf13c20, 0x33cd1: 0x6cf13e20, 0x33cd2: 0x6cf14020, 0x33cd3: 0x6cf14220, + 0x33cd4: 0x6cf14420, 0x33cd5: 0x6cf14620, 0x33cd6: 0x6cf14820, 0x33cd7: 0x6cf14a20, + 0x33cd8: 0x6cf14c20, 0x33cd9: 0x6cf14e20, 0x33cda: 0x6cf15020, 0x33cdb: 0x6cf15220, + 0x33cdc: 0x6cf15420, 0x33cdd: 0x6cf15620, 0x33cde: 0x6cf15820, 0x33cdf: 0x6d20dc20, + 0x33ce0: 0x6d20de20, 0x33ce1: 0x6d20e020, 0x33ce2: 0x6d20e220, 0x33ce3: 0x6d20e420, + 0x33ce4: 0x6d20e620, 0x33ce5: 0x6d20e820, 0x33ce6: 0x6d20ea20, 0x33ce7: 0x6d20ec20, + 0x33ce8: 0x6d20ee20, 0x33ce9: 0x6d20f020, 0x33cea: 0x6d20f220, 0x33ceb: 0x6d20f420, + 0x33cec: 0x6d20f620, 0x33ced: 0x6d20f820, 0x33cee: 0x6d20fa20, 0x33cef: 0x6d20fc20, + 0x33cf0: 0x6d20fe20, 0x33cf1: 0x6d210020, 0x33cf2: 0x6d210220, 0x33cf3: 0x6d4e7220, + 0x33cf4: 0x6d4e7420, 0x33cf5: 0x6d4e7620, 0x33cf6: 0x6d4e7820, 0x33cf7: 0x6d4e7a20, + 0x33cf8: 0x6d4e7c20, 0x33cf9: 0x6d4e7e20, 0x33cfa: 0x6d4e8020, 0x33cfb: 0x6d4e8220, + 0x33cfc: 0x6d4e8420, 0x33cfd: 0x6d4e8620, 0x33cfe: 0x6d4e8820, 0x33cff: 0x6d4e8a20, + // Block 0xcf4, offset 0x33d00 + 0x33d00: 0x6d4e8c20, 0x33d01: 0x6d4e8e20, 0x33d02: 0x6d4e9020, 0x33d03: 0x6d4e9220, + 0x33d04: 0x6d4e9420, 0x33d05: 0x6d4e9620, 0x33d06: 0x6d4e9820, 0x33d07: 0x6d4e9a20, + 0x33d08: 0x6d4e9c20, 0x33d09: 0x6d4e9e20, 0x33d0a: 0x6d4ea020, 0x33d0b: 0x6d4ea220, + 0x33d0c: 0x6d4ea420, 0x33d0d: 0x6d7af420, 0x33d0e: 0x6d7af620, 0x33d0f: 0x6d7af820, + 0x33d10: 0x6d7afa20, 0x33d11: 0x6d7afc20, 0x33d12: 0x6d7afe20, 0x33d13: 0x6d7b0020, + 0x33d14: 0x6d7b0220, 0x33d15: 0x6d7b0420, 0x33d16: 0x6d7b0620, 0x33d17: 0x6d7b0820, + 0x33d18: 0x6d7b0a20, 0x33d19: 0x6d7b0c20, 0x33d1a: 0x6d7b0e20, 0x33d1b: 0x6d7b1020, + 0x33d1c: 0x6d7b1220, 0x33d1d: 0x6d7b1420, 0x33d1e: 0x6d7b1620, 0x33d1f: 0x6da36620, + 0x33d20: 0x6da36820, 0x33d21: 0x6da36a20, 0x33d22: 0x6da36c20, 0x33d23: 0x6da36e20, + 0x33d24: 0x6da37020, 0x33d25: 0x6da37220, 0x33d26: 0x6da37420, 0x33d27: 0x6da37620, + 0x33d28: 0x6da37820, 0x33d29: 0x6dc51420, 0x33d2a: 0x6dc51620, 0x33d2b: 0x6dc51820, + 0x33d2c: 0x6dc51a20, 0x33d2d: 0x6de21420, 0x33d2e: 0x6de21620, 0x33d2f: 0x6de21820, + 0x33d30: 0x6de21a20, 0x33d31: 0x6de21c20, 0x33d32: 0x6de21e20, 0x33d33: 0x6de22020, + 0x33d34: 0x6de22220, 0x33d35: 0x6de22420, 0x33d36: 0x6de22620, 0x33d37: 0x6de22820, + 0x33d38: 0x6df9e220, 0x33d39: 0x6df9e420, 0x33d3a: 0x6df9e620, 0x33d3b: 0x6e0d9820, + 0x33d3c: 0x6e0d9a20, 0x33d3d: 0x6e0d9c20, 0x33d3e: 0x6e1d0820, 0x33d3f: 0x6e1d0a20, + // Block 0xcf5, offset 0x33d40 + 0x33d40: 0x6e1d0c20, 0x33d41: 0x6e1d0e20, 0x33d42: 0x6e28bc20, 0x33d43: 0x6e320a20, + 0x33d44: 0x6e320c20, 0x33d45: 0x6e320e20, 0x33d46: 0x6e321020, 0x33d47: 0x6e402e20, + 0x33d48: 0x6e403020, 0x33d49: 0x6c08bc20, 0x33d4a: 0x6c1e3220, 0x33d4b: 0x6c1e3420, + 0x33d4c: 0x6c1e3620, 0x33d4d: 0x6c31e020, 0x33d4e: 0x6c31e220, 0x33d4f: 0x6c31e420, + 0x33d50: 0x6c31e620, 0x33d51: 0x6c4c5420, 0x33d52: 0x6c4c5620, 0x33d53: 0x6c4c5820, + 0x33d54: 0x6c4c5a20, 0x33d55: 0x6c4c5c20, 0x33d56: 0x6c6e4e20, 0x33d57: 0x6c6e5020, + 0x33d58: 0x6c6e5220, 0x33d59: 0x6c6e5420, 0x33d5a: 0x6c95cc20, 0x33d5b: 0x6cc1f420, + 0x33d5c: 0x6cc1f620, 0x33d5d: 0x6cc1f820, 0x33d5e: 0x6cf15c20, 0x33d5f: 0x6cf15e20, + 0x33d60: 0x6cf16020, 0x33d61: 0x6d18a420, 0x33d62: 0x6d210820, 0x33d63: 0x6d1e2a20, + 0x33d64: 0x6d210a20, 0x33d65: 0x6d4eaa20, 0x33d66: 0x6d7b1c20, 0x33d67: 0x6d7b1e20, + 0x33d68: 0x6d7b2020, 0x33d69: 0x6d7b2220, 0x33d6a: 0x6dc51c20, 0x33d6b: 0x6de22c20, + 0x33d6c: 0x6df9ea20, 0x33d6d: 0x6e0d9e20, 0x33d6e: 0x6e28be20, 0x33d6f: 0x6c043420, + 0x33d70: 0x6c043620, 0x33d71: 0x6c043820, 0x33d72: 0x6c08c020, 0x33d73: 0x6c08c220, + 0x33d74: 0x6c08c420, 0x33d75: 0x6c08c620, 0x33d76: 0x6c10e020, 0x33d77: 0x6c1e3a20, + 0x33d78: 0x6c1e3c20, 0x33d79: 0x6c1e3e20, 0x33d7a: 0x6c1e4020, 0x33d7b: 0x6c31e820, + 0x33d7c: 0x6c31ea20, 0x33d7d: 0x6c31ec20, 0x33d7e: 0x6c31ee20, 0x33d7f: 0x6c4c6020, + // Block 0xcf6, offset 0x33d80 + 0x33d80: 0x6c4b0c20, 0x33d81: 0x6c6e5620, 0x33d82: 0x6c4c6220, 0x33d83: 0x6c6e5820, + 0x33d84: 0x6c6e5a20, 0x33d85: 0x6c6e5c20, 0x33d86: 0x6c6e5e20, 0x33d87: 0x6c95d220, + 0x33d88: 0x6c95d420, 0x33d89: 0x6c95d620, 0x33d8a: 0x6cc20220, 0x33d8b: 0x6cf16820, + 0x33d8c: 0x6d210e20, 0x33d8d: 0x6d211020, 0x33d8e: 0x6d211220, 0x33d8f: 0x6d211420, + 0x33d90: 0x6d4eae20, 0x33d91: 0x6d4eb020, 0x33d92: 0x6d4eb220, 0x33d93: 0x6d4eb420, + 0x33d94: 0x6da2ce20, 0x33d95: 0x6dc2b220, 0x33d96: 0x6e1d1020, 0x33d97: 0x6c10f020, + 0x33d98: 0x6c10f220, 0x33d99: 0x6c10f420, 0x33d9a: 0x6c10f620, 0x33d9b: 0x6c10f820, + 0x33d9c: 0x6c10fa20, 0x33d9d: 0x6c10fc20, 0x33d9e: 0x6c10fe20, 0x33d9f: 0x6c110020, + 0x33da0: 0x6c110220, 0x33da1: 0x6c110420, 0x33da2: 0x6c110620, 0x33da3: 0x6c1e6220, + 0x33da4: 0x6c1e6420, 0x33da5: 0x6c1e6620, 0x33da6: 0x6c1e6820, 0x33da7: 0x6c1e6a20, + 0x33da8: 0x6c1e6c20, 0x33da9: 0x6c1e6e20, 0x33daa: 0x6c1e7020, 0x33dab: 0x6c1e7220, + 0x33dac: 0x6c1e7420, 0x33dad: 0x6c1e7620, 0x33dae: 0x6c1e7820, 0x33daf: 0x6c1e7a20, + 0x33db0: 0x6c1e7c20, 0x33db1: 0x6c1e7e20, 0x33db2: 0x6c321420, 0x33db3: 0x6c321620, + 0x33db4: 0x6c321820, 0x33db5: 0x6c321a20, 0x33db6: 0x6c321c20, 0x33db7: 0x6c321e20, + 0x33db8: 0x6c322020, 0x33db9: 0x6c322220, 0x33dba: 0x6c322420, 0x33dbb: 0x6c322620, + 0x33dbc: 0x6c322820, 0x33dbd: 0x6c322a20, 0x33dbe: 0x6c322c20, 0x33dbf: 0x6c322e20, + // Block 0xcf7, offset 0x33dc0 + 0x33dc0: 0x6c323020, 0x33dc1: 0x6c323220, 0x33dc2: 0x6c323420, 0x33dc3: 0x6c323620, + 0x33dc4: 0x6c323820, 0x33dc5: 0x6c323a20, 0x33dc6: 0x6c323c20, 0x33dc7: 0x6c4c8420, + 0x33dc8: 0x6c4c8620, 0x33dc9: 0x6c4c8820, 0x33dca: 0x6c4c8a20, 0x33dcb: 0x6c4c8c20, + 0x33dcc: 0x6c4c8e20, 0x33dcd: 0x6c4c9020, 0x33dce: 0x6c4c9220, 0x33dcf: 0x6c4c9420, + 0x33dd0: 0x6c4c9620, 0x33dd1: 0x6c4c9820, 0x33dd2: 0x6c4c9a20, 0x33dd3: 0x6c4c9c20, + 0x33dd4: 0x6c4c9e20, 0x33dd5: 0x6c4ca020, 0x33dd6: 0x6c4ca220, 0x33dd7: 0x6c4ca420, + 0x33dd8: 0x6c4ca620, 0x33dd9: 0x6c6e7c20, 0x33dda: 0x6c6e7e20, 0x33ddb: 0x6c6e8020, + 0x33ddc: 0x6c6e8220, 0x33ddd: 0x6c6e8420, 0x33dde: 0x6c6e8620, 0x33ddf: 0x6c6e8820, + 0x33de0: 0x6c6e8a20, 0x33de1: 0x6c6e8c20, 0x33de2: 0x6c6e8e20, 0x33de3: 0x6c6e9020, + 0x33de4: 0x6c6e9220, 0x33de5: 0x6c6e9420, 0x33de6: 0x6c6e9620, 0x33de7: 0x6c6e9820, + 0x33de8: 0x6c6e9a20, 0x33de9: 0x6c6e9c20, 0x33dea: 0x6c6e9e20, 0x33deb: 0x6c6ea020, + 0x33dec: 0x6c6ea220, 0x33ded: 0x6c6ea420, 0x33dee: 0x6c6ea620, 0x33def: 0x6c6ea820, + 0x33df0: 0x6c6eaa20, 0x33df1: 0x6c6eac20, 0x33df2: 0x6c6bf220, 0x33df3: 0x6c95fa20, + 0x33df4: 0x6c95fc20, 0x33df5: 0x6c95fe20, 0x33df6: 0x6c960020, 0x33df7: 0x6c960220, + 0x33df8: 0x6c960420, 0x33df9: 0x6c960620, 0x33dfa: 0x6c960820, 0x33dfb: 0x6c960a20, + 0x33dfc: 0x6c960c20, 0x33dfd: 0x6c960e20, 0x33dfe: 0x6c961020, 0x33dff: 0x6c961220, + // Block 0xcf8, offset 0x33e00 + 0x33e00: 0x6c961420, 0x33e01: 0x6c961620, 0x33e02: 0x6c961820, 0x33e03: 0x6c961a20, + 0x33e04: 0x6c961c20, 0x33e05: 0x6c961e20, 0x33e06: 0x6c962020, 0x33e07: 0x6c962220, + 0x33e08: 0x6c962420, 0x33e09: 0x6c962620, 0x33e0a: 0x6c962820, 0x33e0b: 0x6c962a20, + 0x33e0c: 0x6c962c20, 0x33e0d: 0x6c962e20, 0x33e0e: 0x6c963020, 0x33e0f: 0x6c963220, + 0x33e10: 0x6c963420, 0x33e11: 0x6c963620, 0x33e12: 0x6c963820, 0x33e13: 0x6c963a20, + 0x33e14: 0x6c963c20, 0x33e15: 0x6c963e20, 0x33e16: 0x6cb78820, 0x33e17: 0x6c964020, + 0x33e18: 0x6c964220, 0x33e19: 0x6c964420, 0x33e1a: 0x6c964620, 0x33e1b: 0x6cc21a20, + 0x33e1c: 0x6cc21c20, 0x33e1d: 0x6cc21e20, 0x33e1e: 0x6cc22020, 0x33e1f: 0x6cc22220, + 0x33e20: 0x6cc22420, 0x33e21: 0x6cc22620, 0x33e22: 0x6cc22820, 0x33e23: 0x6cc22a20, + 0x33e24: 0x6cc22c20, 0x33e25: 0x6cc22e20, 0x33e26: 0x6cc23020, 0x33e27: 0x6cc23220, + 0x33e28: 0x6cc23420, 0x33e29: 0x6cc23620, 0x33e2a: 0x6cc23820, 0x33e2b: 0x6cc23a20, + 0x33e2c: 0x6cc23c20, 0x33e2d: 0x6cc23e20, 0x33e2e: 0x6cc24020, 0x33e2f: 0x6cc24220, + 0x33e30: 0x6cc24420, 0x33e31: 0x6cc24620, 0x33e32: 0x6cc24820, 0x33e33: 0x6cc24a20, + 0x33e34: 0x6cc24c20, 0x33e35: 0x6cc24e20, 0x33e36: 0x6cc25020, 0x33e37: 0x6cc25220, + 0x33e38: 0x6cc25420, 0x33e39: 0x6cc25620, 0x33e3a: 0x6cc25820, 0x33e3b: 0x6cc25a20, + 0x33e3c: 0x6cf17a20, 0x33e3d: 0x6cc25c20, 0x33e3e: 0x6cc25e20, 0x33e3f: 0x6cf17c20, + // Block 0xcf9, offset 0x33e40 + 0x33e40: 0x6cf17e20, 0x33e41: 0x6cf18020, 0x33e42: 0x6cf18220, 0x33e43: 0x6cf18420, + 0x33e44: 0x6cf18620, 0x33e45: 0x6cf18820, 0x33e46: 0x6cf18a20, 0x33e47: 0x6cf18c20, + 0x33e48: 0x6cf18e20, 0x33e49: 0x6cf19020, 0x33e4a: 0x6cf19220, 0x33e4b: 0x6cf19420, + 0x33e4c: 0x6cf19620, 0x33e4d: 0x6cf19820, 0x33e4e: 0x6cf19a20, 0x33e4f: 0x6cf19c20, + 0x33e50: 0x6cf19e20, 0x33e51: 0x6cf1a020, 0x33e52: 0x6cf1a220, 0x33e53: 0x6cf1a420, + 0x33e54: 0x6cf1a620, 0x33e55: 0x6d213620, 0x33e56: 0x6d213820, 0x33e57: 0x6d213a20, + 0x33e58: 0x6d213c20, 0x33e59: 0x6d213e20, 0x33e5a: 0x6d214020, 0x33e5b: 0x6d214220, + 0x33e5c: 0x6d214420, 0x33e5d: 0x6d214620, 0x33e5e: 0x6d214820, 0x33e5f: 0x6d214a20, + 0x33e60: 0x6d214c20, 0x33e61: 0x6d214e20, 0x33e62: 0x6d215020, 0x33e63: 0x6d215220, + 0x33e64: 0x6d215420, 0x33e65: 0x6d215620, 0x33e66: 0x6d215820, 0x33e67: 0x6d215a20, + 0x33e68: 0x6d215c20, 0x33e69: 0x6d215e20, 0x33e6a: 0x6d216020, 0x33e6b: 0x6d216220, + 0x33e6c: 0x6d216420, 0x33e6d: 0x6d4ed020, 0x33e6e: 0x6d4ed220, 0x33e6f: 0x6d4ed420, + 0x33e70: 0x6d4ed620, 0x33e71: 0x6d4ed820, 0x33e72: 0x6d4eda20, 0x33e73: 0x6d4edc20, + 0x33e74: 0x6d4ede20, 0x33e75: 0x6d4ee020, 0x33e76: 0x6d4ee220, 0x33e77: 0x6d4ee420, + 0x33e78: 0x6d4ee620, 0x33e79: 0x6d4ee820, 0x33e7a: 0x6d4eea20, 0x33e7b: 0x6d4eec20, + 0x33e7c: 0x6d4eee20, 0x33e7d: 0x6d4ef020, 0x33e7e: 0x6d4ef220, 0x33e7f: 0x6d4ef420, + // Block 0xcfa, offset 0x33e80 + 0x33e80: 0x6d4ef620, 0x33e81: 0x6d4ef820, 0x33e82: 0x6d7b3a20, 0x33e83: 0x6d7b3c20, + 0x33e84: 0x6d7b3e20, 0x33e85: 0x6d7b4020, 0x33e86: 0x6d7b4220, 0x33e87: 0x6d7b4420, + 0x33e88: 0x6d7b4620, 0x33e89: 0x6d7b4820, 0x33e8a: 0x6d7b4a20, 0x33e8b: 0x6d7b4c20, + 0x33e8c: 0x6d7b4e20, 0x33e8d: 0x6d7b5020, 0x33e8e: 0x6d7b5220, 0x33e8f: 0x6d7b5420, + 0x33e90: 0x6d7b5620, 0x33e91: 0x6da37c20, 0x33e92: 0x6da37e20, 0x33e93: 0x6da38020, + 0x33e94: 0x6da38220, 0x33e95: 0x6da38420, 0x33e96: 0x6da38620, 0x33e97: 0x6da38820, + 0x33e98: 0x6da38a20, 0x33e99: 0x6da38c20, 0x33e9a: 0x6da38e20, 0x33e9b: 0x6da39020, + 0x33e9c: 0x6db42620, 0x33e9d: 0x6da39220, 0x33e9e: 0x6da39420, 0x33e9f: 0x6da39620, + 0x33ea0: 0x6da39820, 0x33ea1: 0x6dc52220, 0x33ea2: 0x6dc52420, 0x33ea3: 0x6dc52620, + 0x33ea4: 0x6dc52820, 0x33ea5: 0x6dc52a20, 0x33ea6: 0x6dc52c20, 0x33ea7: 0x6dc52e20, + 0x33ea8: 0x6dc53020, 0x33ea9: 0x6dc53220, 0x33eaa: 0x6dc53420, 0x33eab: 0x6dc53620, + 0x33eac: 0x6dc53820, 0x33ead: 0x6dc53a20, 0x33eae: 0x6de23a20, 0x33eaf: 0x6de23c20, + 0x33eb0: 0x6de23e20, 0x33eb1: 0x6de24020, 0x33eb2: 0x6de24220, 0x33eb3: 0x6de24420, + 0x33eb4: 0x6de24620, 0x33eb5: 0x6de24820, 0x33eb6: 0x6de24a20, 0x33eb7: 0x6de24c20, + 0x33eb8: 0x6de24e20, 0x33eb9: 0x6de25020, 0x33eba: 0x6de25220, 0x33ebb: 0x6df9f420, + 0x33ebc: 0x6df9f620, 0x33ebd: 0x6df9f820, 0x33ebe: 0x6df9fa20, 0x33ebf: 0x6df9fc20, + // Block 0xcfb, offset 0x33ec0 + 0x33ec0: 0x6df9fe20, 0x33ec1: 0x6dfa0020, 0x33ec2: 0x6dfa0220, 0x33ec3: 0x6dfa0420, + 0x33ec4: 0x6e0da220, 0x33ec5: 0x6e0da420, 0x33ec6: 0x6e0da620, 0x33ec7: 0x6e0f2020, + 0x33ec8: 0x6e1d1420, 0x33ec9: 0x6e1d1620, 0x33eca: 0x6e1d1820, 0x33ecb: 0x6e1d1a20, + 0x33ecc: 0x6e1d1c20, 0x33ecd: 0x6e28c020, 0x33ece: 0x6e28c220, 0x33ecf: 0x6e28c420, + 0x33ed0: 0x6e28c620, 0x33ed1: 0x6e28c820, 0x33ed2: 0x6e321220, 0x33ed3: 0x6e3d2220, + 0x33ed4: 0x6e403220, 0x33ed5: 0x6e403420, 0x33ed6: 0x6e429420, 0x33ed7: 0x6c043a20, + 0x33ed8: 0x6c08d220, 0x33ed9: 0x6c08d420, 0x33eda: 0x6c08d620, 0x33edb: 0x6c1e8620, + 0x33edc: 0x6c110c20, 0x33edd: 0x6c1e8820, 0x33ede: 0x6c1e8a20, 0x33edf: 0x6c324a20, + 0x33ee0: 0x6c4cb420, 0x33ee1: 0x6c4cb620, 0x33ee2: 0x6c4cb820, 0x33ee3: 0x6c4cba20, + 0x33ee4: 0x6c4cbc20, 0x33ee5: 0x6c4cbe20, 0x33ee6: 0x6c6ebc20, 0x33ee7: 0x6c6ebe20, + 0x33ee8: 0x6c965220, 0x33ee9: 0x6c965420, 0x33eea: 0x6c965620, 0x33eeb: 0x6cc26620, + 0x33eec: 0x6c01da20, 0x33eed: 0x6c044020, 0x33eee: 0x6c08dc20, 0x33eef: 0x6c08de20, + 0x33ef0: 0x6c111020, 0x33ef1: 0x6c111220, 0x33ef2: 0x6c111420, 0x33ef3: 0x6c1e9620, + 0x33ef4: 0x6c4cc620, 0x33ef5: 0x6c1e9820, 0x33ef6: 0x6c1e9a20, 0x33ef7: 0x6c1e9c20, + 0x33ef8: 0x6c1e9e20, 0x33ef9: 0x6c1ea020, 0x33efa: 0x6c1ea220, 0x33efb: 0x6c324e20, + 0x33efc: 0x6c4cc820, 0x33efd: 0x6c325020, 0x33efe: 0x6c325220, 0x33eff: 0x6c325420, + // Block 0xcfc, offset 0x33f00 + 0x33f00: 0x6c325620, 0x33f01: 0x6c325820, 0x33f02: 0x6c4cca20, 0x33f03: 0x6c4ccc20, + 0x33f04: 0x6c4cce20, 0x33f05: 0x6c4cd020, 0x33f06: 0x6c4cd220, 0x33f07: 0x6c4cd420, + 0x33f08: 0x6c4cd620, 0x33f09: 0x6c4cd820, 0x33f0a: 0x6c4cda20, 0x33f0b: 0x6c4cdc20, + 0x33f0c: 0x6c4cde20, 0x33f0d: 0x6c6ec420, 0x33f0e: 0x6c6ec620, 0x33f0f: 0x6c6ec820, + 0x33f10: 0x6c6eca20, 0x33f11: 0x6c6ecc20, 0x33f12: 0x6c6ece20, 0x33f13: 0x6c6ed020, + 0x33f14: 0x6c965a20, 0x33f15: 0x6c965c20, 0x33f16: 0x6c965e20, 0x33f17: 0x6c966020, + 0x33f18: 0x6c966220, 0x33f19: 0x6c966420, 0x33f1a: 0x6cc26820, 0x33f1b: 0x6cc26a20, + 0x33f1c: 0x6cc26c20, 0x33f1d: 0x6cc26e20, 0x33f1e: 0x6cc27020, 0x33f1f: 0x6cc27220, + 0x33f20: 0x6cc27420, 0x33f21: 0x6cc27620, 0x33f22: 0x6cf1ae20, 0x33f23: 0x6cf1b020, + 0x33f24: 0x6cf1b220, 0x33f25: 0x6cf1b420, 0x33f26: 0x6d217620, 0x33f27: 0x6d217820, + 0x33f28: 0x6d217a20, 0x33f29: 0x6d217c20, 0x33f2a: 0x6d217e20, 0x33f2b: 0x6d218020, + 0x33f2c: 0x6d4f0220, 0x33f2d: 0x6d1a0c20, 0x33f2e: 0x6d7b5e20, 0x33f2f: 0x6d7b6020, + 0x33f30: 0x6d7b6220, 0x33f31: 0x6d7b6420, 0x33f32: 0x6da3a020, 0x33f33: 0x6da3a220, + 0x33f34: 0x6da3a420, 0x33f35: 0x6de25620, 0x33f36: 0x6e1d1e20, 0x33f37: 0x6e403620, + 0x33f38: 0x6e403820, 0x33f39: 0x6e442c20, 0x33f3a: 0x6c01de20, 0x33f3b: 0x6c044420, + 0x33f3c: 0x6c044620, 0x33f3d: 0x6c111c20, 0x33f3e: 0x6c111e20, 0x33f3f: 0x6c1ea820, + // Block 0xcfd, offset 0x33f40 + 0x33f40: 0x6c1eaa20, 0x33f41: 0x6c1eac20, 0x33f42: 0x6c1eae20, 0x33f43: 0x6c1eb020, + 0x33f44: 0x6c325c20, 0x33f45: 0x6c325e20, 0x33f46: 0x6c4ce220, 0x33f47: 0x6c4ce420, + 0x33f48: 0x6c4ce620, 0x33f49: 0x6c4ce820, 0x33f4a: 0x6c4cea20, 0x33f4b: 0x6c6ed420, + 0x33f4c: 0x6c6ed620, 0x33f4d: 0x6c966620, 0x33f4e: 0x6cc27c20, 0x33f4f: 0x6cf1bc20, + 0x33f50: 0x6cf1be20, 0x33f51: 0x6d4f0420, 0x33f52: 0x6d4f0620, 0x33f53: 0x6d7b6620, + 0x33f54: 0x6da3a820, 0x33f55: 0x6dc53e20, 0x33f56: 0x6e0daa20, 0x33f57: 0x6c01e220, + 0x33f58: 0x6c01e420, 0x33f59: 0x6c045020, 0x33f5a: 0x6c045220, 0x33f5b: 0x6c045420, + 0x33f5c: 0x6c045620, 0x33f5d: 0x6c045820, 0x33f5e: 0x6c045a20, 0x33f5f: 0x6c045c20, + 0x33f60: 0x6c045e20, 0x33f61: 0x6c046020, 0x33f62: 0x6c08e620, 0x33f63: 0x6c08e820, + 0x33f64: 0x6c08ea20, 0x33f65: 0x6c08ec20, 0x33f66: 0x6c08ee20, 0x33f67: 0x6c08f020, + 0x33f68: 0x6c08f220, 0x33f69: 0x6c08f420, 0x33f6a: 0x6c08f620, 0x33f6b: 0x6c113020, + 0x33f6c: 0x6c113220, 0x33f6d: 0x6c113420, 0x33f6e: 0x6c113620, 0x33f6f: 0x6c113820, + 0x33f70: 0x6c113a20, 0x33f71: 0x6c113c20, 0x33f72: 0x6c113e20, 0x33f73: 0x6c114020, + 0x33f74: 0x6c114220, 0x33f75: 0x6c114420, 0x33f76: 0x6c114620, 0x33f77: 0x6c1ebe20, + 0x33f78: 0x6c1ec020, 0x33f79: 0x6c1ec220, 0x33f7a: 0x6c1ec420, 0x33f7b: 0x6c1ec620, + 0x33f7c: 0x6c1ec820, 0x33f7d: 0x6c1eca20, 0x33f7e: 0x6c1ecc20, 0x33f7f: 0x6c1ece20, + // Block 0xcfe, offset 0x33f80 + 0x33f80: 0x6c1ed020, 0x33f81: 0x6c1ed220, 0x33f82: 0x6c1ed420, 0x33f83: 0x6c1ed620, + 0x33f84: 0x6c1ed820, 0x33f85: 0x6c1eda20, 0x33f86: 0x6c327c20, 0x33f87: 0x6c327e20, + 0x33f88: 0x6c328020, 0x33f89: 0x6c328220, 0x33f8a: 0x6c328420, 0x33f8b: 0x6c328620, + 0x33f8c: 0x6c328820, 0x33f8d: 0x6c328a20, 0x33f8e: 0x6c328c20, 0x33f8f: 0x6c328e20, + 0x33f90: 0x6c329020, 0x33f91: 0x6c329220, 0x33f92: 0x6c329420, 0x33f93: 0x6c329620, + 0x33f94: 0x6c4d0620, 0x33f95: 0x6c4d0820, 0x33f96: 0x6c4d0a20, 0x33f97: 0x6c4d0c20, + 0x33f98: 0x6c4d0e20, 0x33f99: 0x6c4d1020, 0x33f9a: 0x6c4d1220, 0x33f9b: 0x6c4d1420, + 0x33f9c: 0x6c4d1620, 0x33f9d: 0x6c4d1820, 0x33f9e: 0x6c4d1a20, 0x33f9f: 0x6c4d1c20, + 0x33fa0: 0x6c4d1e20, 0x33fa1: 0x6c4d2020, 0x33fa2: 0x6c4d2220, 0x33fa3: 0x6c4d2420, + 0x33fa4: 0x6c6ee420, 0x33fa5: 0x6c6ee620, 0x33fa6: 0x6c6ee820, 0x33fa7: 0x6c6eea20, + 0x33fa8: 0x6c6eec20, 0x33fa9: 0x6c6eee20, 0x33faa: 0x6c6ef020, 0x33fab: 0x6c6ef220, + 0x33fac: 0x6c6ef420, 0x33fad: 0x6c6ef620, 0x33fae: 0x6c967a20, 0x33faf: 0x6c967c20, + 0x33fb0: 0x6c967e20, 0x33fb1: 0x6c968020, 0x33fb2: 0x6c968220, 0x33fb3: 0x6c968420, + 0x33fb4: 0x6c968620, 0x33fb5: 0x6c968820, 0x33fb6: 0x6c968a20, 0x33fb7: 0x6c968c20, + 0x33fb8: 0x6c968e20, 0x33fb9: 0x6c969020, 0x33fba: 0x6c969220, 0x33fbb: 0x6c969420, + 0x33fbc: 0x6c969620, 0x33fbd: 0x6c969820, 0x33fbe: 0x6c969a20, 0x33fbf: 0x6c969c20, + // Block 0xcff, offset 0x33fc0 + 0x33fc0: 0x6cc28e20, 0x33fc1: 0x6cc29020, 0x33fc2: 0x6cc29220, 0x33fc3: 0x6cc29420, + 0x33fc4: 0x6cc29620, 0x33fc5: 0x6cc29820, 0x33fc6: 0x6cc29a20, 0x33fc7: 0x6cc29c20, + 0x33fc8: 0x6cc29e20, 0x33fc9: 0x6cc2a020, 0x33fca: 0x6cf1d020, 0x33fcb: 0x6cf1d220, + 0x33fcc: 0x6cf1d420, 0x33fcd: 0x6cf1d620, 0x33fce: 0x6cf1d820, 0x33fcf: 0x6cf1da20, + 0x33fd0: 0x6cf1dc20, 0x33fd1: 0x6cf1de20, 0x33fd2: 0x6d218c20, 0x33fd3: 0x6d218e20, + 0x33fd4: 0x6d219020, 0x33fd5: 0x6d219220, 0x33fd6: 0x6d219420, 0x33fd7: 0x6d219620, + 0x33fd8: 0x6d219820, 0x33fd9: 0x6d219a20, 0x33fda: 0x6d219c20, 0x33fdb: 0x6d219e20, + 0x33fdc: 0x6d21a020, 0x33fdd: 0x6d21a220, 0x33fde: 0x6d4f1220, 0x33fdf: 0x6d4f1420, + 0x33fe0: 0x6d4f1620, 0x33fe1: 0x6d4f1820, 0x33fe2: 0x6d4f1a20, 0x33fe3: 0x6d4f1c20, + 0x33fe4: 0x6d4f1e20, 0x33fe5: 0x6d7b6c20, 0x33fe6: 0x6d7b6e20, 0x33fe7: 0x6d7b7020, + 0x33fe8: 0x6d7b7220, 0x33fe9: 0x6d7b7420, 0x33fea: 0x6d7b7620, 0x33feb: 0x6d8a6c20, + 0x33fec: 0x6da3ac20, 0x33fed: 0x6da3ae20, 0x33fee: 0x6da3b020, 0x33fef: 0x6da3b220, + 0x33ff0: 0x6da3b420, 0x33ff1: 0x6da3b620, 0x33ff2: 0x6dc54220, 0x33ff3: 0x6dc54420, + 0x33ff4: 0x6dc54620, 0x33ff5: 0x6dc54820, 0x33ff6: 0x6dc54a20, 0x33ff7: 0x6dc54c20, + 0x33ff8: 0x6de25820, 0x33ff9: 0x6de25a20, 0x33ffa: 0x6de25c20, 0x33ffb: 0x6de25e20, + 0x33ffc: 0x6de26020, 0x33ffd: 0x6de26220, 0x33ffe: 0x6de26420, 0x33fff: 0x6dfa0620, + // Block 0xd00, offset 0x34000 + 0x34000: 0x6dfa0820, 0x34001: 0x6dfa0a20, 0x34002: 0x6dfa0c20, 0x34003: 0x6dfa0e20, + 0x34004: 0x6dfa1020, 0x34005: 0x6dfa1220, 0x34006: 0x6e0dae20, 0x34007: 0x6e0db020, + 0x34008: 0x6e0db220, 0x34009: 0x6e0db420, 0x3400a: 0x6e1d2420, 0x3400b: 0x6e321420, + 0x3400c: 0x6e388220, 0x3400d: 0x6e429620, 0x3400e: 0x6e462820, 0x3400f: 0x6c114c20, + 0x34010: 0x6c114e20, 0x34011: 0x6c115020, 0x34012: 0x6c115220, 0x34013: 0x6c1edc20, + 0x34014: 0x6c32a020, 0x34015: 0x6c32a220, 0x34016: 0x6c3bf820, 0x34017: 0x6c4d2c20, + 0x34018: 0x6c4d2e20, 0x34019: 0x6c4d3020, 0x3401a: 0x6c4d3220, 0x3401b: 0x6c6efa20, + 0x3401c: 0x6c6efc20, 0x3401d: 0x6c6efe20, 0x3401e: 0x6c96a220, 0x3401f: 0x6c96a420, + 0x34020: 0x6c96a620, 0x34021: 0x6c96a820, 0x34022: 0x6cc2a820, 0x34023: 0x6cc2aa20, + 0x34024: 0x6cc2ac20, 0x34025: 0x6cf1e420, 0x34026: 0x6cf1e620, 0x34027: 0x6cf1e820, + 0x34028: 0x6d21a820, 0x34029: 0x6d21aa20, 0x3402a: 0x6d21ac20, 0x3402b: 0x6d21ae20, + 0x3402c: 0x6d21b020, 0x3402d: 0x6d4f2020, 0x3402e: 0x6d4f2220, 0x3402f: 0x6d7b7e20, + 0x34030: 0x6d7adc20, 0x34031: 0x6d7b8020, 0x34032: 0x6da3ba20, 0x34033: 0x6dc55220, + 0x34034: 0x6dc55420, 0x34035: 0x6dc55620, 0x34036: 0x6dc55820, 0x34037: 0x6de26a20, + 0x34038: 0x6de26c20, 0x34039: 0x6de26e20, 0x3403a: 0x6de27020, 0x3403b: 0x6dfa1420, + 0x3403c: 0x6dfa1620, 0x3403d: 0x6e1d2620, 0x3403e: 0x6e28cc20, 0x3403f: 0x6e3d2620, + // Block 0xd01, offset 0x34040 + 0x34040: 0x6c08fa20, 0x34041: 0x6c08fc20, 0x34042: 0x6c08fe20, 0x34043: 0x6c115820, + 0x34044: 0x6c115a20, 0x34045: 0x6c115c20, 0x34046: 0x6c115e20, 0x34047: 0x6c1ee620, + 0x34048: 0x6c1ee820, 0x34049: 0x6c32aa20, 0x3404a: 0x6c32ac20, 0x3404b: 0x6c32ae20, + 0x3404c: 0x6c32b020, 0x3404d: 0x6c32b220, 0x3404e: 0x6c4d3820, 0x3404f: 0x6c6f0420, + 0x34050: 0x6c6f0620, 0x34051: 0x6c6f0820, 0x34052: 0x6c6f0a20, 0x34053: 0x6c6f0c20, + 0x34054: 0x6c96b220, 0x34055: 0x6c96b420, 0x34056: 0x6c96b620, 0x34057: 0x6c96b820, + 0x34058: 0x6c96ba20, 0x34059: 0x6c96bc20, 0x3405a: 0x6c96be20, 0x3405b: 0x6c96c020, + 0x3405c: 0x6c96c220, 0x3405d: 0x6c96c420, 0x3405e: 0x6cc2b420, 0x3405f: 0x6cc2b620, + 0x34060: 0x6cc2b820, 0x34061: 0x6cc2ba20, 0x34062: 0x6cc2bc20, 0x34063: 0x6cc2be20, + 0x34064: 0x6cf1ec20, 0x34065: 0x6cf1ee20, 0x34066: 0x6cf1f020, 0x34067: 0x6cf1f220, + 0x34068: 0x6cf1f420, 0x34069: 0x6d21b820, 0x3406a: 0x6d21ba20, 0x3406b: 0x6d4f2a20, + 0x3406c: 0x6d4f2c20, 0x3406d: 0x6d4f2e20, 0x3406e: 0x6d4f3020, 0x3406f: 0x6d4f3220, + 0x34070: 0x6d7b8420, 0x34071: 0x6d7b8620, 0x34072: 0x6d7b8820, 0x34073: 0x6d7b8a20, + 0x34074: 0x6da3bc20, 0x34075: 0x6dc55c20, 0x34076: 0x6e0db820, 0x34077: 0x6dfa1820, + 0x34078: 0x6e1d2a20, 0x34079: 0x6e1d2c20, 0x3407a: 0x6e1d2e20, 0x3407b: 0x6e388620, + 0x3407c: 0x6c046220, 0x3407d: 0x6c046420, 0x3407e: 0x6c090220, 0x3407f: 0x6c090420, + // Block 0xd02, offset 0x34080 + 0x34080: 0x6c116620, 0x34081: 0x6c116820, 0x34082: 0x6c116a20, 0x34083: 0x6c116c20, + 0x34084: 0x6c1efe20, 0x34085: 0x6c1f0020, 0x34086: 0x6c1f0220, 0x34087: 0x6c1f0420, + 0x34088: 0x6c1f0620, 0x34089: 0x6c1f0820, 0x3408a: 0x6c1f0a20, 0x3408b: 0x6c1f0c20, + 0x3408c: 0x6c1f0e20, 0x3408d: 0x6c1f1020, 0x3408e: 0x6c1f1220, 0x3408f: 0x6c1f1420, + 0x34090: 0x6c1f1620, 0x34091: 0x6c1f1820, 0x34092: 0x6c32ca20, 0x34093: 0x6c32cc20, + 0x34094: 0x6c32ce20, 0x34095: 0x6c32d020, 0x34096: 0x6c32d220, 0x34097: 0x6c32d420, + 0x34098: 0x6c32d620, 0x34099: 0x6c32d820, 0x3409a: 0x6c32da20, 0x3409b: 0x6c32dc20, + 0x3409c: 0x6c4d6020, 0x3409d: 0x6c4d6220, 0x3409e: 0x6c4d6420, 0x3409f: 0x6c4d6620, + 0x340a0: 0x6c4d6820, 0x340a1: 0x6c4d6a20, 0x340a2: 0x6c4d6c20, 0x340a3: 0x6c4d6e20, + 0x340a4: 0x6c4d7020, 0x340a5: 0x6c4d7220, 0x340a6: 0x6c4d7420, 0x340a7: 0x6c4d7620, + 0x340a8: 0x6c4d7820, 0x340a9: 0x6c4d7a20, 0x340aa: 0x6c6f2420, 0x340ab: 0x6c6f2620, + 0x340ac: 0x6c6f2820, 0x340ad: 0x6c6f2a20, 0x340ae: 0x6c6f2c20, 0x340af: 0x6c6f2e20, + 0x340b0: 0x6c6f3020, 0x340b1: 0x6c6f3220, 0x340b2: 0x6c6f3420, 0x340b3: 0x6c6f3620, + 0x340b4: 0x6c6f3820, 0x340b5: 0x6c6f3a20, 0x340b6: 0x6c6f3c20, 0x340b7: 0x6c6f3e20, + 0x340b8: 0x6c6f4020, 0x340b9: 0x6c6f4220, 0x340ba: 0x6c6f4420, 0x340bb: 0x6c6f4620, + 0x340bc: 0x6c6f4820, 0x340bd: 0x6c6f4a20, 0x340be: 0x6c6f4c20, 0x340bf: 0x6c6f4e20, + // Block 0xd03, offset 0x340c0 + 0x340c0: 0x6c6f5020, 0x340c1: 0x6c96ee20, 0x340c2: 0x6c96f020, 0x340c3: 0x6c96f220, + 0x340c4: 0x6c96f420, 0x340c5: 0x6c96f620, 0x340c6: 0x6c96f820, 0x340c7: 0x6c96fa20, + 0x340c8: 0x6c96fc20, 0x340c9: 0x6c96fe20, 0x340ca: 0x6c970020, 0x340cb: 0x6c970220, + 0x340cc: 0x6c970420, 0x340cd: 0x6c970620, 0x340ce: 0x6c970820, 0x340cf: 0x6c970a20, + 0x340d0: 0x6c970c20, 0x340d1: 0x6c970e20, 0x340d2: 0x6c971020, 0x340d3: 0x6c971220, + 0x340d4: 0x6c971420, 0x340d5: 0x6c971620, 0x340d6: 0x6c971820, 0x340d7: 0x6c971a20, + 0x340d8: 0x6c971c20, 0x340d9: 0x6c971e20, 0x340da: 0x6c972020, 0x340db: 0x6c972220, + 0x340dc: 0x6c972420, 0x340dd: 0x6c972620, 0x340de: 0x6c972820, 0x340df: 0x6cc2da20, + 0x340e0: 0x6cc2dc20, 0x340e1: 0x6cc2de20, 0x340e2: 0x6cc2e020, 0x340e3: 0x6cc2e220, + 0x340e4: 0x6cc2e420, 0x340e5: 0x6cc2e620, 0x340e6: 0x6cc2e820, 0x340e7: 0x6cc2ea20, + 0x340e8: 0x6cc2ec20, 0x340e9: 0x6cc2ee20, 0x340ea: 0x6cc2f020, 0x340eb: 0x6cc2f220, + 0x340ec: 0x6cde5820, 0x340ed: 0x6cc2f420, 0x340ee: 0x6cc2f620, 0x340ef: 0x6cc2f820, + 0x340f0: 0x6cc2fa20, 0x340f1: 0x6cc2fc20, 0x340f2: 0x6cf20220, 0x340f3: 0x6cf20420, + 0x340f4: 0x6cf20620, 0x340f5: 0x6cf20820, 0x340f6: 0x6cf20a20, 0x340f7: 0x6cf20c20, + 0x340f8: 0x6cf20e20, 0x340f9: 0x6cf21020, 0x340fa: 0x6cf21220, 0x340fb: 0x6cf21420, + 0x340fc: 0x6cf21620, 0x340fd: 0x6cf21820, 0x340fe: 0x6cf21a20, 0x340ff: 0x6cf21c20, + // Block 0xd04, offset 0x34100 + 0x34100: 0x6cf21e20, 0x34101: 0x6cf22020, 0x34102: 0x6cf22220, 0x34103: 0x6cf22420, + 0x34104: 0x6cf22620, 0x34105: 0x6cf22820, 0x34106: 0x6cf22a20, 0x34107: 0x6cf22c20, + 0x34108: 0x6cf22e20, 0x34109: 0x6cf23020, 0x3410a: 0x6cf23220, 0x3410b: 0x6cf23420, + 0x3410c: 0x6cf23620, 0x3410d: 0x6cf23820, 0x3410e: 0x6cf23a20, 0x3410f: 0x6d21c820, + 0x34110: 0x6d21ca20, 0x34111: 0x6d21cc20, 0x34112: 0x6d21ce20, 0x34113: 0x6d21d020, + 0x34114: 0x6d21d220, 0x34115: 0x6d21d420, 0x34116: 0x6d21d620, 0x34117: 0x6d21d820, + 0x34118: 0x6d21da20, 0x34119: 0x6d21dc20, 0x3411a: 0x6d21de20, 0x3411b: 0x6d21e020, + 0x3411c: 0x6d21e220, 0x3411d: 0x6d21e420, 0x3411e: 0x6d21e620, 0x3411f: 0x6d21e820, + 0x34120: 0x6d21ea20, 0x34121: 0x6d21ec20, 0x34122: 0x6d21ee20, 0x34123: 0x6d21f020, + 0x34124: 0x6d21f220, 0x34125: 0x6d21f420, 0x34126: 0x6d21f620, 0x34127: 0x6cf23c20, + 0x34128: 0x6d21f820, 0x34129: 0x6d21fa20, 0x3412a: 0x6d4f4620, 0x3412b: 0x6d4f4820, + 0x3412c: 0x6d4f4a20, 0x3412d: 0x6d4f4c20, 0x3412e: 0x6d4f4e20, 0x3412f: 0x6d4f5020, + 0x34130: 0x6d4f5220, 0x34131: 0x6d4f5420, 0x34132: 0x6d4f5620, 0x34133: 0x6d4f5820, + 0x34134: 0x6d4f5a20, 0x34135: 0x6d4f5c20, 0x34136: 0x6d4f5e20, 0x34137: 0x6d4f6020, + 0x34138: 0x6d4f6220, 0x34139: 0x6d7b9420, 0x3413a: 0x6d7b9620, 0x3413b: 0x6d7b9820, + 0x3413c: 0x6d7b9a20, 0x3413d: 0x6d7b9c20, 0x3413e: 0x6d7b9e20, 0x3413f: 0x6d7ba020, + // Block 0xd05, offset 0x34140 + 0x34140: 0x6d7ba220, 0x34141: 0x6d7ba420, 0x34142: 0x6d7ba620, 0x34143: 0x6d7ba820, + 0x34144: 0x6d7baa20, 0x34145: 0x6d912c20, 0x34146: 0x6d7bac20, 0x34147: 0x6d7bae20, + 0x34148: 0x6da3c620, 0x34149: 0x6da3c820, 0x3414a: 0x6da3ca20, 0x3414b: 0x6db4d020, + 0x3414c: 0x6da3cc20, 0x3414d: 0x6da3ce20, 0x3414e: 0x6da3d020, 0x3414f: 0x6dc55e20, + 0x34150: 0x6dc56020, 0x34151: 0x6dc56220, 0x34152: 0x6dc56420, 0x34153: 0x6dc56620, + 0x34154: 0x6dc56820, 0x34155: 0x6dc56a20, 0x34156: 0x6dc56c20, 0x34157: 0x6dc56e20, + 0x34158: 0x6de27620, 0x34159: 0x6de27820, 0x3415a: 0x6de27a20, 0x3415b: 0x6df7ca20, + 0x3415c: 0x6de27c20, 0x3415d: 0x6dfa2020, 0x3415e: 0x6dfa2220, 0x3415f: 0x6dfa2420, + 0x34160: 0x6dfa2620, 0x34161: 0x6e01e220, 0x34162: 0x6dfa2820, 0x34163: 0x6e0dbc20, + 0x34164: 0x6e0dbe20, 0x34165: 0x6e1d3020, 0x34166: 0x6e28ce20, 0x34167: 0x6e388820, + 0x34168: 0x6e403a20, 0x34169: 0x6c01f220, 0x3416a: 0x6c046a20, 0x3416b: 0x6c091020, + 0x3416c: 0x6c091220, 0x3416d: 0x6c091420, 0x3416e: 0x6c091620, 0x3416f: 0x6c091820, + 0x34170: 0x6c091a20, 0x34171: 0x6c091c20, 0x34172: 0x6c118a20, 0x34173: 0x6c118c20, + 0x34174: 0x6c118e20, 0x34175: 0x6c119020, 0x34176: 0x6c119220, 0x34177: 0x6c119420, + 0x34178: 0x6c119620, 0x34179: 0x6c119820, 0x3417a: 0x6c119a20, 0x3417b: 0x6c119c20, + 0x3417c: 0x6c119e20, 0x3417d: 0x6c11a020, 0x3417e: 0x6c11a220, 0x3417f: 0x6c11a420, + // Block 0xd06, offset 0x34180 + 0x34180: 0x6c11a620, 0x34181: 0x6c11a820, 0x34182: 0x6c11aa20, 0x34183: 0x6c11ac20, + 0x34184: 0x6c11ae20, 0x34185: 0x6c11b020, 0x34186: 0x6c11b220, 0x34187: 0x6c11b420, + 0x34188: 0x6c11b620, 0x34189: 0x6c1f8020, 0x3418a: 0x6c1f8220, 0x3418b: 0x6c1f8420, + 0x3418c: 0x6c1f8620, 0x3418d: 0x6c1f8820, 0x3418e: 0x6c1f8a20, 0x3418f: 0x6c1f8c20, + 0x34190: 0x6c1f8e20, 0x34191: 0x6c1f9020, 0x34192: 0x6c1f9220, 0x34193: 0x6c1f9420, + 0x34194: 0x6c1f9620, 0x34195: 0x6c1f9820, 0x34196: 0x6c1f9a20, 0x34197: 0x6c1f9c20, + 0x34198: 0x6c1f9e20, 0x34199: 0x6c1fa020, 0x3419a: 0x6c1fa220, 0x3419b: 0x6c1fa420, + 0x3419c: 0x6c1fa620, 0x3419d: 0x6c1fa820, 0x3419e: 0x6c1faa20, 0x3419f: 0x6c1fac20, + 0x341a0: 0x6c1fae20, 0x341a1: 0x6c1fb020, 0x341a2: 0x6c1fb220, 0x341a3: 0x6c1fb420, + 0x341a4: 0x6c1fb620, 0x341a5: 0x6c1fb820, 0x341a6: 0x6c1fba20, 0x341a7: 0x6c1fbc20, + 0x341a8: 0x6c1fbe20, 0x341a9: 0x6c1fc020, 0x341aa: 0x6c1fc220, 0x341ab: 0x6c1fc420, + 0x341ac: 0x6c1fc620, 0x341ad: 0x6c1fc820, 0x341ae: 0x6c1fca20, 0x341af: 0x6c1fcc20, + 0x341b0: 0x6c1fce20, 0x341b1: 0x6c1fd020, 0x341b2: 0x6c1fd220, 0x341b3: 0x6c1fd420, + 0x341b4: 0x6c1fd620, 0x341b5: 0x6c1fd820, 0x341b6: 0x6c1fda20, 0x341b7: 0x6c1fdc20, + 0x341b8: 0x6c1fde20, 0x341b9: 0x6c1fe020, 0x341ba: 0x6c1fe220, 0x341bb: 0x6c1fe420, + 0x341bc: 0x6c1fe620, 0x341bd: 0x6c1fe820, 0x341be: 0x6c1fea20, 0x341bf: 0x6c336420, + // Block 0xd07, offset 0x341c0 + 0x341c0: 0x6c336620, 0x341c1: 0x6c336820, 0x341c2: 0x6c336a20, 0x341c3: 0x6c336c20, + 0x341c4: 0x6c336e20, 0x341c5: 0x6c337020, 0x341c6: 0x6c337220, 0x341c7: 0x6c337420, + 0x341c8: 0x6c337620, 0x341c9: 0x6c337820, 0x341ca: 0x6c337a20, 0x341cb: 0x6c337c20, + 0x341cc: 0x6c337e20, 0x341cd: 0x6c338020, 0x341ce: 0x6c338220, 0x341cf: 0x6c338420, + 0x341d0: 0x6c338620, 0x341d1: 0x6c338820, 0x341d2: 0x6c338a20, 0x341d3: 0x6c338c20, + 0x341d4: 0x6c338e20, 0x341d5: 0x6c339020, 0x341d6: 0x6c339220, 0x341d7: 0x6c339420, + 0x341d8: 0x6c339620, 0x341d9: 0x6c339820, 0x341da: 0x6c339a20, 0x341db: 0x6c339c20, + 0x341dc: 0x6c339e20, 0x341dd: 0x6c33a020, 0x341de: 0x6c33a220, 0x341df: 0x6c33a420, + 0x341e0: 0x6c33a620, 0x341e1: 0x6c33a820, 0x341e2: 0x6c33aa20, 0x341e3: 0x6c33ac20, + 0x341e4: 0x6c33ae20, 0x341e5: 0x6c33b020, 0x341e6: 0x6c33b220, 0x341e7: 0x6c33b420, + 0x341e8: 0x6c33b620, 0x341e9: 0x6c33b820, 0x341ea: 0x6c33ba20, 0x341eb: 0x6c33bc20, + 0x341ec: 0x6c33be20, 0x341ed: 0x6c33c020, 0x341ee: 0x6c33c220, 0x341ef: 0x6c33c420, + 0x341f0: 0x6c33c620, 0x341f1: 0x6c33c820, 0x341f2: 0x6c33ca20, 0x341f3: 0x6c33cc20, + 0x341f4: 0x6c4e1420, 0x341f5: 0x6c4e1620, 0x341f6: 0x6c4e1820, 0x341f7: 0x6c4e1a20, + 0x341f8: 0x6c4e1c20, 0x341f9: 0x6c4e1e20, 0x341fa: 0x6c4e2020, 0x341fb: 0x6c4e2220, + 0x341fc: 0x6c4e2420, 0x341fd: 0x6c4e2620, 0x341fe: 0x6c4e2820, 0x341ff: 0x6c4e2a20, + // Block 0xd08, offset 0x34200 + 0x34200: 0x6c4e2c20, 0x34201: 0x6c4e2e20, 0x34202: 0x6c4e3020, 0x34203: 0x6c4e3220, + 0x34204: 0x6c4e3420, 0x34205: 0x6c4e3620, 0x34206: 0x6c4e3820, 0x34207: 0x6c4e3a20, + 0x34208: 0x6c4e3c20, 0x34209: 0x6c4e3e20, 0x3420a: 0x6c4e4020, 0x3420b: 0x6c4e4220, + 0x3420c: 0x6c4e4420, 0x3420d: 0x6c4e4620, 0x3420e: 0x6c4e4820, 0x3420f: 0x6c4e4a20, + 0x34210: 0x6c4e4c20, 0x34211: 0x6c4e4e20, 0x34212: 0x6c4e5020, 0x34213: 0x6c4e5220, + 0x34214: 0x6c4e5420, 0x34215: 0x6c4e5620, 0x34216: 0x6c4e5820, 0x34217: 0x6c4e5a20, + 0x34218: 0x6c4e5c20, 0x34219: 0x6c4e5e20, 0x3421a: 0x6c4e6020, 0x3421b: 0x6c4e6220, + 0x3421c: 0x6c4e6420, 0x3421d: 0x6c4e6620, 0x3421e: 0x6c4e6820, 0x3421f: 0x6c4e6a20, + 0x34220: 0x6c4e6c20, 0x34221: 0x6c4e6e20, 0x34222: 0x6c4e7020, 0x34223: 0x6c4e7220, + 0x34224: 0x6c4e7420, 0x34225: 0x6c4e7620, 0x34226: 0x6c4e7820, 0x34227: 0x6c4e7a20, + 0x34228: 0x6c4e7c20, 0x34229: 0x6c4e7e20, 0x3422a: 0x6c4e8020, 0x3422b: 0x6c4e8220, + 0x3422c: 0x6c4e8420, 0x3422d: 0x6c4e8620, 0x3422e: 0x6c4e8820, 0x3422f: 0x6c4e8a20, + 0x34230: 0x6c4e8c20, 0x34231: 0x6c6fe420, 0x34232: 0x6c6fe620, 0x34233: 0x6c6fe820, + 0x34234: 0x6c6fea20, 0x34235: 0x6c6fec20, 0x34236: 0x6c6fee20, 0x34237: 0x6c6ff020, + 0x34238: 0x6c6ff220, 0x34239: 0x6c6ff420, 0x3423a: 0x6c6ff620, 0x3423b: 0x6c6ff820, + 0x3423c: 0x6c6ffa20, 0x3423d: 0x6c6ffc20, 0x3423e: 0x6c6ffe20, 0x3423f: 0x6c700020, + // Block 0xd09, offset 0x34240 + 0x34240: 0x6c700220, 0x34241: 0x6c700420, 0x34242: 0x6c700620, 0x34243: 0x6c700820, + 0x34244: 0x6c700a20, 0x34245: 0x6c700c20, 0x34246: 0x6c700e20, 0x34247: 0x6c701020, + 0x34248: 0x6c701220, 0x34249: 0x6c701420, 0x3424a: 0x6c701620, 0x3424b: 0x6c701820, + 0x3424c: 0x6c701a20, 0x3424d: 0x6c701c20, 0x3424e: 0x6c701e20, 0x3424f: 0x6c702020, + 0x34250: 0x6c702220, 0x34251: 0x6c702420, 0x34252: 0x6c702620, 0x34253: 0x6c702820, + 0x34254: 0x6c702a20, 0x34255: 0x6c702c20, 0x34256: 0x6c702e20, 0x34257: 0x6c703020, + 0x34258: 0x6c703220, 0x34259: 0x6c703420, 0x3425a: 0x6c703620, 0x3425b: 0x6c703820, + 0x3425c: 0x6c703a20, 0x3425d: 0x6c703c20, 0x3425e: 0x6c703e20, 0x3425f: 0x6c704020, + 0x34260: 0x6c704220, 0x34261: 0x6c704420, 0x34262: 0x6c704620, 0x34263: 0x6c704820, + 0x34264: 0x6c704a20, 0x34265: 0x6c704c20, 0x34266: 0x6c704e20, 0x34267: 0x6c705020, + 0x34268: 0x6c705220, 0x34269: 0x6c705420, 0x3426a: 0x6c705620, 0x3426b: 0x6c705820, + 0x3426c: 0x6c705a20, 0x3426d: 0x6c705c20, 0x3426e: 0x6c705e20, 0x3426f: 0x6c706020, + 0x34270: 0x6c706220, 0x34271: 0x6c706420, 0x34272: 0x6c706620, 0x34273: 0x6c706820, + 0x34274: 0x6c706a20, 0x34275: 0x6c706c20, 0x34276: 0x6c706e20, 0x34277: 0x6c707020, + 0x34278: 0x6c707220, 0x34279: 0x6c707420, 0x3427a: 0x6c707620, 0x3427b: 0x6c707820, + 0x3427c: 0x6c707a20, 0x3427d: 0x6c707c20, 0x3427e: 0x6c707e20, 0x3427f: 0x6c708020, + // Block 0xd0a, offset 0x34280 + 0x34280: 0x6c97d620, 0x34281: 0x6c97d820, 0x34282: 0x6c97da20, 0x34283: 0x6c97dc20, + 0x34284: 0x6c97de20, 0x34285: 0x6c97e020, 0x34286: 0x6c97e220, 0x34287: 0x6c97e420, + 0x34288: 0x6c97e620, 0x34289: 0x6c97e820, 0x3428a: 0x6c97ea20, 0x3428b: 0x6c97ec20, + 0x3428c: 0x6c97ee20, 0x3428d: 0x6c97f020, 0x3428e: 0x6c97f220, 0x3428f: 0x6c97f420, + 0x34290: 0x6c97f620, 0x34291: 0x6c97f820, 0x34292: 0x6c97fa20, 0x34293: 0x6c97fc20, + 0x34294: 0x6c97fe20, 0x34295: 0x6c980020, 0x34296: 0x6c980220, 0x34297: 0x6c980420, + 0x34298: 0x6c980620, 0x34299: 0x6c980820, 0x3429a: 0x6c980a20, 0x3429b: 0x6c980c20, + 0x3429c: 0x6c980e20, 0x3429d: 0x6c981020, 0x3429e: 0x6c981220, 0x3429f: 0x6c981420, + 0x342a0: 0x6c981620, 0x342a1: 0x6c981820, 0x342a2: 0x6c981a20, 0x342a3: 0x6c981c20, + 0x342a4: 0x6c981e20, 0x342a5: 0x6c982020, 0x342a6: 0x6c982220, 0x342a7: 0x6c982420, + 0x342a8: 0x6c982620, 0x342a9: 0x6c982820, 0x342aa: 0x6c982a20, 0x342ab: 0x6c982c20, + 0x342ac: 0x6c982e20, 0x342ad: 0x6c983020, 0x342ae: 0x6c983220, 0x342af: 0x6c983420, + 0x342b0: 0x6c983620, 0x342b1: 0x6c983820, 0x342b2: 0x6c983a20, 0x342b3: 0x6c983c20, + 0x342b4: 0x6c983e20, 0x342b5: 0x6c984020, 0x342b6: 0x6c984220, 0x342b7: 0x6c984420, + 0x342b8: 0x6c984620, 0x342b9: 0x6c984820, 0x342ba: 0x6c984a20, 0x342bb: 0x6c984c20, + 0x342bc: 0x6c984e20, 0x342bd: 0x6c985020, 0x342be: 0x6c985220, 0x342bf: 0x6c985420, + // Block 0xd0b, offset 0x342c0 + 0x342c0: 0x6c985620, 0x342c1: 0x6c985820, 0x342c2: 0x6c985a20, 0x342c3: 0x6c985c20, + 0x342c4: 0x6c985e20, 0x342c5: 0x6c986020, 0x342c6: 0x6c986220, 0x342c7: 0x6c986420, + 0x342c8: 0x6c986620, 0x342c9: 0x6c986820, 0x342ca: 0x6c986a20, 0x342cb: 0x6c986c20, + 0x342cc: 0x6c986e20, 0x342cd: 0x6c987020, 0x342ce: 0x6c987220, 0x342cf: 0x6c987420, + 0x342d0: 0x6c987620, 0x342d1: 0x6c987820, 0x342d2: 0x6c987a20, 0x342d3: 0x6c987c20, + 0x342d4: 0x6c987e20, 0x342d5: 0x6c988020, 0x342d6: 0x6c988220, 0x342d7: 0x6c988420, + 0x342d8: 0x6c988620, 0x342d9: 0x6c988820, 0x342da: 0x6c988a20, 0x342db: 0x6c988c20, + 0x342dc: 0x6c988e20, 0x342dd: 0x6c989020, 0x342de: 0x6c989220, 0x342df: 0x6c989420, + 0x342e0: 0x6c989620, 0x342e1: 0x6c989820, 0x342e2: 0x6c989a20, 0x342e3: 0x6c989c20, + 0x342e4: 0x6c989e20, 0x342e5: 0x6c98a020, 0x342e6: 0x6c98a220, 0x342e7: 0x6c98a420, + 0x342e8: 0x6cc3ac20, 0x342e9: 0x6cc3ae20, 0x342ea: 0x6cc3b020, 0x342eb: 0x6cc3b220, + 0x342ec: 0x6cc3b420, 0x342ed: 0x6cc3b620, 0x342ee: 0x6cc3b820, 0x342ef: 0x6cc3ba20, + 0x342f0: 0x6cc3bc20, 0x342f1: 0x6cc3be20, 0x342f2: 0x6cc3c020, 0x342f3: 0x6cc3c220, + 0x342f4: 0x6cc3c420, 0x342f5: 0x6cc3c620, 0x342f6: 0x6cc3c820, 0x342f7: 0x6cc3ca20, + 0x342f8: 0x6cc3cc20, 0x342f9: 0x6cc3ce20, 0x342fa: 0x6cc3d020, 0x342fb: 0x6cc3d220, + 0x342fc: 0x6cc3d420, 0x342fd: 0x6cc3d620, 0x342fe: 0x6cc3d820, 0x342ff: 0x6cc3da20, + // Block 0xd0c, offset 0x34300 + 0x34300: 0x6cc3dc20, 0x34301: 0x6cc3de20, 0x34302: 0x6cc3e020, 0x34303: 0x6cc3e220, + 0x34304: 0x6cc3e420, 0x34305: 0x6cc3e620, 0x34306: 0x6cc3e820, 0x34307: 0x6cc3ea20, + 0x34308: 0x6cc3ec20, 0x34309: 0x6cc3ee20, 0x3430a: 0x6cc3f020, 0x3430b: 0x6cc3f220, + 0x3430c: 0x6cc3f420, 0x3430d: 0x6cc3f620, 0x3430e: 0x6cc3f820, 0x3430f: 0x6cc3fa20, + 0x34310: 0x6cc3fc20, 0x34311: 0x6cc3fe20, 0x34312: 0x6cc40020, 0x34313: 0x6cc40220, + 0x34314: 0x6cc40420, 0x34315: 0x6cc40620, 0x34316: 0x6cc40820, 0x34317: 0x6cc40a20, + 0x34318: 0x6cc40c20, 0x34319: 0x6cc40e20, 0x3431a: 0x6cc41020, 0x3431b: 0x6cc41220, + 0x3431c: 0x6cc41420, 0x3431d: 0x6cc41620, 0x3431e: 0x6cc41820, 0x3431f: 0x6cc41a20, + 0x34320: 0x6cc41c20, 0x34321: 0x6cc41e20, 0x34322: 0x6cc42020, 0x34323: 0x6cc42220, + 0x34324: 0x6cc42420, 0x34325: 0x6cc42620, 0x34326: 0x6cc42820, 0x34327: 0x6cc42a20, + 0x34328: 0x6cc42c20, 0x34329: 0x6cc42e20, 0x3432a: 0x6cc43020, 0x3432b: 0x6cc43220, + 0x3432c: 0x6cc43420, 0x3432d: 0x6cc43620, 0x3432e: 0x6cc43820, 0x3432f: 0x6cc43a20, + 0x34330: 0x6cc43c20, 0x34331: 0x6cc43e20, 0x34332: 0x6cc44020, 0x34333: 0x6cc44220, + 0x34334: 0x6cc44420, 0x34335: 0x6cc44620, 0x34336: 0x6cc44820, 0x34337: 0x6cc44a20, + 0x34338: 0x6cc44c20, 0x34339: 0x6cc44e20, 0x3433a: 0x6cc45020, 0x3433b: 0x6cc45220, + 0x3433c: 0x6cc45420, 0x3433d: 0x6cc45620, 0x3433e: 0x6cc45820, 0x3433f: 0x6cc45a20, + // Block 0xd0d, offset 0x34340 + 0x34340: 0x6cc45c20, 0x34341: 0x6cc45e20, 0x34342: 0x6cc46020, 0x34343: 0x6cc46220, + 0x34344: 0x6cc46420, 0x34345: 0x6cc46620, 0x34346: 0x6cc46820, 0x34347: 0x6cc46a20, + 0x34348: 0x6cc46c20, 0x34349: 0x6cc46e20, 0x3434a: 0x6cc47020, 0x3434b: 0x6cc47220, + 0x3434c: 0x6cc47420, 0x3434d: 0x6cf2b620, 0x3434e: 0x6cf2b820, 0x3434f: 0x6cf2ba20, + 0x34350: 0x6cf2bc20, 0x34351: 0x6cf2be20, 0x34352: 0x6cf2c020, 0x34353: 0x6cf2c220, + 0x34354: 0x6cf2c420, 0x34355: 0x6cf2c620, 0x34356: 0x6cf2c820, 0x34357: 0x6cf2ca20, + 0x34358: 0x6cf2cc20, 0x34359: 0x6cf2ce20, 0x3435a: 0x6cf2d020, 0x3435b: 0x6cf2d220, + 0x3435c: 0x6cf2d420, 0x3435d: 0x6cf2d620, 0x3435e: 0x6cf2d820, 0x3435f: 0x6cf2da20, + 0x34360: 0x6cf2dc20, 0x34361: 0x6cf2de20, 0x34362: 0x6cf2e020, 0x34363: 0x6cf2e220, + 0x34364: 0x6cf2e420, 0x34365: 0x6cf2e620, 0x34366: 0x6cf2e820, 0x34367: 0x6cf2ea20, + 0x34368: 0x6cf2ec20, 0x34369: 0x6cf2ee20, 0x3436a: 0x6cf2f020, 0x3436b: 0x6cf2f220, + 0x3436c: 0x6cf2f420, 0x3436d: 0x6cf2f620, 0x3436e: 0x6cf2f820, 0x3436f: 0x6cf2fa20, + 0x34370: 0x6cf2fc20, 0x34371: 0x6cf2fe20, 0x34372: 0x6cf30020, 0x34373: 0x6cf30220, + 0x34374: 0x6cf30420, 0x34375: 0x6cf30620, 0x34376: 0x6cf30820, 0x34377: 0x6cf30a20, + 0x34378: 0x6cf30c20, 0x34379: 0x6cf30e20, 0x3437a: 0x6cf31020, 0x3437b: 0x6cf31220, + 0x3437c: 0x6cf31420, 0x3437d: 0x6cf31620, 0x3437e: 0x6cf31820, 0x3437f: 0x6cf31a20, + // Block 0xd0e, offset 0x34380 + 0x34380: 0x6cf31c20, 0x34381: 0x6cf31e20, 0x34382: 0x6cf32020, 0x34383: 0x6cf32220, + 0x34384: 0x6cf32420, 0x34385: 0x6cf32620, 0x34386: 0x6cf32820, 0x34387: 0x6cf32a20, + 0x34388: 0x6cf32c20, 0x34389: 0x6cf32e20, 0x3438a: 0x6cf33020, 0x3438b: 0x6cf33220, + 0x3438c: 0x6cf33420, 0x3438d: 0x6cf33620, 0x3438e: 0x6cf33820, 0x3438f: 0x6cf33a20, + 0x34390: 0x6cf33c20, 0x34391: 0x6cf33e20, 0x34392: 0x6cf34020, 0x34393: 0x6cf34220, + 0x34394: 0x6cf34420, 0x34395: 0x6cf34620, 0x34396: 0x6cf34820, 0x34397: 0x6cf34a20, + 0x34398: 0x6cf34c20, 0x34399: 0x6cf34e20, 0x3439a: 0x6cf35020, 0x3439b: 0x6cf35220, + 0x3439c: 0x6cf35420, 0x3439d: 0x6cf35620, 0x3439e: 0x6cf35820, 0x3439f: 0x6cf35a20, + 0x343a0: 0x6d227c20, 0x343a1: 0x6d227e20, 0x343a2: 0x6d228020, 0x343a3: 0x6d228220, + 0x343a4: 0x6d228420, 0x343a5: 0x6d228620, 0x343a6: 0x6d228820, 0x343a7: 0x6d228a20, + 0x343a8: 0x6d228c20, 0x343a9: 0x6d228e20, 0x343aa: 0x6d229020, 0x343ab: 0x6d229220, + 0x343ac: 0x6d229420, 0x343ad: 0x6d229620, 0x343ae: 0x6d229820, 0x343af: 0x6d229a20, + 0x343b0: 0x6d229c20, 0x343b1: 0x6d229e20, 0x343b2: 0x6d22a020, 0x343b3: 0x6d22a220, + 0x343b4: 0x6d22a420, 0x343b5: 0x6d22a620, 0x343b6: 0x6d22a820, 0x343b7: 0x6d22aa20, + 0x343b8: 0x6d22ac20, 0x343b9: 0x6d22ae20, 0x343ba: 0x6d22b020, 0x343bb: 0x6d22b220, + 0x343bc: 0x6d22b420, 0x343bd: 0x6d22b620, 0x343be: 0x6d22b820, 0x343bf: 0x6d22ba20, + // Block 0xd0f, offset 0x343c0 + 0x343c0: 0x6d22bc20, 0x343c1: 0x6d22be20, 0x343c2: 0x6d22c020, 0x343c3: 0x6d22c220, + 0x343c4: 0x6d22c420, 0x343c5: 0x6d22c620, 0x343c6: 0x6d22c820, 0x343c7: 0x6d22ca20, + 0x343c8: 0x6d22cc20, 0x343c9: 0x6d22ce20, 0x343ca: 0x6d22d020, 0x343cb: 0x6d22d220, + 0x343cc: 0x6d22d420, 0x343cd: 0x6d22d620, 0x343ce: 0x6d22d820, 0x343cf: 0x6d22da20, + 0x343d0: 0x6d22dc20, 0x343d1: 0x6d22de20, 0x343d2: 0x6d22e020, 0x343d3: 0x6d22e220, + 0x343d4: 0x6d22e420, 0x343d5: 0x6d22e620, 0x343d6: 0x6d22e820, 0x343d7: 0x6d22ea20, + 0x343d8: 0x6d22ec20, 0x343d9: 0x6d22ee20, 0x343da: 0x6d22f020, 0x343db: 0x6d22f220, + 0x343dc: 0x6d22f420, 0x343dd: 0x6d22f620, 0x343de: 0x6d22f820, 0x343df: 0x6d22fa20, + 0x343e0: 0x6d22fc20, 0x343e1: 0x6d22fe20, 0x343e2: 0x6d230020, 0x343e3: 0x6d230220, + 0x343e4: 0x6d230420, 0x343e5: 0x6d230620, 0x343e6: 0x6d230820, 0x343e7: 0x6d230a20, + 0x343e8: 0x6d230c20, 0x343e9: 0x6d230e20, 0x343ea: 0x6d231020, 0x343eb: 0x6d231220, + 0x343ec: 0x6d231420, 0x343ed: 0x6d231620, 0x343ee: 0x6d231820, 0x343ef: 0x6d231a20, + 0x343f0: 0x6d231c20, 0x343f1: 0x6d4ff020, 0x343f2: 0x6d4ff220, 0x343f3: 0x6d4ff420, + 0x343f4: 0x6d4ff620, 0x343f5: 0x6d4ff820, 0x343f6: 0x6d4ffa20, 0x343f7: 0x6d4ffc20, + 0x343f8: 0x6d4ffe20, 0x343f9: 0x6d500020, 0x343fa: 0x6d500220, 0x343fb: 0x6d500420, + 0x343fc: 0x6d500620, 0x343fd: 0x6d500820, 0x343fe: 0x6d500a20, 0x343ff: 0x6d500c20, + // Block 0xd10, offset 0x34400 + 0x34400: 0x6d500e20, 0x34401: 0x6d501020, 0x34402: 0x6d501220, 0x34403: 0x6d501420, + 0x34404: 0x6d501620, 0x34405: 0x6d501820, 0x34406: 0x6d501a20, 0x34407: 0x6d501c20, + 0x34408: 0x6d501e20, 0x34409: 0x6d502020, 0x3440a: 0x6d502220, 0x3440b: 0x6d502420, + 0x3440c: 0x6d502620, 0x3440d: 0x6d502820, 0x3440e: 0x6d502a20, 0x3440f: 0x6d502c20, + 0x34410: 0x6d502e20, 0x34411: 0x6d503020, 0x34412: 0x6d503220, 0x34413: 0x6d503420, + 0x34414: 0x6d503620, 0x34415: 0x6d503820, 0x34416: 0x6d503a20, 0x34417: 0x6d503c20, + 0x34418: 0x6d503e20, 0x34419: 0x6d504020, 0x3441a: 0x6d504220, 0x3441b: 0x6d504420, + 0x3441c: 0x6d504620, 0x3441d: 0x6d504820, 0x3441e: 0x6d504a20, 0x3441f: 0x6d504c20, + 0x34420: 0x6d504e20, 0x34421: 0x6d505020, 0x34422: 0x6d505220, 0x34423: 0x6d505420, + 0x34424: 0x6d505620, 0x34425: 0x6d505820, 0x34426: 0x6d505a20, 0x34427: 0x6d505c20, + 0x34428: 0x6d505e20, 0x34429: 0x6d506020, 0x3442a: 0x6d506220, 0x3442b: 0x6d506420, + 0x3442c: 0x6d506620, 0x3442d: 0x6d506820, 0x3442e: 0x6d506a20, 0x3442f: 0x6d506c20, + 0x34430: 0x6d506e20, 0x34431: 0x6d507020, 0x34432: 0x6d507220, 0x34433: 0x6d507420, + 0x34434: 0x6d507620, 0x34435: 0x6d507820, 0x34436: 0x6d507a20, 0x34437: 0x6d507c20, + 0x34438: 0x6d507e20, 0x34439: 0x6d508020, 0x3443a: 0x6d508220, 0x3443b: 0x6d508420, + 0x3443c: 0x6d508620, 0x3443d: 0x6d508820, 0x3443e: 0x6d508a20, 0x3443f: 0x6d508c20, + // Block 0xd11, offset 0x34440 + 0x34440: 0x6d508e20, 0x34441: 0x6d509020, 0x34442: 0x6d509220, 0x34443: 0x6d509420, + 0x34444: 0x6d509620, 0x34445: 0x6d509820, 0x34446: 0x6d509a20, 0x34447: 0x6d509c20, + 0x34448: 0x6d509e20, 0x34449: 0x6d50a020, 0x3444a: 0x6d50a220, 0x3444b: 0x6d50a420, + 0x3444c: 0x6d50a620, 0x3444d: 0x6d50a820, 0x3444e: 0x6d50aa20, 0x3444f: 0x6d50ac20, + 0x34450: 0x6d50ae20, 0x34451: 0x6d50b020, 0x34452: 0x6d7c0220, 0x34453: 0x6d7c0420, + 0x34454: 0x6d7c0620, 0x34455: 0x6d7c0820, 0x34456: 0x6d7c0a20, 0x34457: 0x6d7c0c20, + 0x34458: 0x6d7c0e20, 0x34459: 0x6d7c1020, 0x3445a: 0x6d7c1220, 0x3445b: 0x6d7c1420, + 0x3445c: 0x6d7c1620, 0x3445d: 0x6d7c1820, 0x3445e: 0x6d7c1a20, 0x3445f: 0x6d7c1c20, + 0x34460: 0x6d7c1e20, 0x34461: 0x6d7c2020, 0x34462: 0x6d7c2220, 0x34463: 0x6d7c2420, + 0x34464: 0x6d7c2620, 0x34465: 0x6d7c2820, 0x34466: 0x6d7c2a20, 0x34467: 0x6d7c2c20, + 0x34468: 0x6d7c2e20, 0x34469: 0x6d7c3020, 0x3446a: 0x6d7c3220, 0x3446b: 0x6d7c3420, + 0x3446c: 0x6d7c3620, 0x3446d: 0x6d7c3820, 0x3446e: 0x6d7c3a20, 0x3446f: 0x6d7c3c20, + 0x34470: 0x6d7c3e20, 0x34471: 0x6d7c4020, 0x34472: 0x6d7c4220, 0x34473: 0x6d7c4420, + 0x34474: 0x6d7c4620, 0x34475: 0x6d7c4820, 0x34476: 0x6d7c4a20, 0x34477: 0x6d7c4c20, + 0x34478: 0x6d7c4e20, 0x34479: 0x6d7c5020, 0x3447a: 0x6d7c5220, 0x3447b: 0x6d7c5420, + 0x3447c: 0x6d7c5620, 0x3447d: 0x6d7c5820, 0x3447e: 0x6d7c5a20, 0x3447f: 0x6d7c5c20, + // Block 0xd12, offset 0x34480 + 0x34480: 0x6d7c5e20, 0x34481: 0x6d7c6020, 0x34482: 0x6d7c6220, 0x34483: 0x6d7c6420, + 0x34484: 0x6d7c6620, 0x34485: 0x6d7c6820, 0x34486: 0x6d7c6a20, 0x34487: 0x6d7c6c20, + 0x34488: 0x6d7c6e20, 0x34489: 0x6d7c7020, 0x3448a: 0x6d7c7220, 0x3448b: 0x6d7c7420, + 0x3448c: 0x6d7c7620, 0x3448d: 0x6d7c7820, 0x3448e: 0x6da40820, 0x3448f: 0x6da40a20, + 0x34490: 0x6da40c20, 0x34491: 0x6da40e20, 0x34492: 0x6da41020, 0x34493: 0x6da41220, + 0x34494: 0x6da41420, 0x34495: 0x6da41620, 0x34496: 0x6da41820, 0x34497: 0x6da41a20, + 0x34498: 0x6da41c20, 0x34499: 0x6da41e20, 0x3449a: 0x6da42020, 0x3449b: 0x6da42220, + 0x3449c: 0x6da42420, 0x3449d: 0x6da42620, 0x3449e: 0x6da42820, 0x3449f: 0x6da42a20, + 0x344a0: 0x6da42c20, 0x344a1: 0x6da42e20, 0x344a2: 0x6da43020, 0x344a3: 0x6da43220, + 0x344a4: 0x6da43420, 0x344a5: 0x6da43620, 0x344a6: 0x6da43820, 0x344a7: 0x6da43a20, + 0x344a8: 0x6da43c20, 0x344a9: 0x6da43e20, 0x344aa: 0x6da44020, 0x344ab: 0x6da44220, + 0x344ac: 0x6da44420, 0x344ad: 0x6da44620, 0x344ae: 0x6da44820, 0x344af: 0x6da44a20, + 0x344b0: 0x6da44c20, 0x344b1: 0x6da44e20, 0x344b2: 0x6da45020, 0x344b3: 0x6da45220, + 0x344b4: 0x6da45420, 0x344b5: 0x6da45620, 0x344b6: 0x6da45820, 0x344b7: 0x6da45a20, + 0x344b8: 0x6da45c20, 0x344b9: 0x6da45e20, 0x344ba: 0x6da46020, 0x344bb: 0x6dc59e20, + 0x344bc: 0x6dc5a020, 0x344bd: 0x6dc5a220, 0x344be: 0x6dc5a420, 0x344bf: 0x6dc5a620, + // Block 0xd13, offset 0x344c0 + 0x344c0: 0x6dc5a820, 0x344c1: 0x6dc5aa20, 0x344c2: 0x6dc5ac20, 0x344c3: 0x6dc5ae20, + 0x344c4: 0x6dc5b020, 0x344c5: 0x6dc5b220, 0x344c6: 0x6dc5b420, 0x344c7: 0x6dc5b620, + 0x344c8: 0x6dc5b820, 0x344c9: 0x6dc5ba20, 0x344ca: 0x6dc5bc20, 0x344cb: 0x6dc5be20, + 0x344cc: 0x6dc5c020, 0x344cd: 0x6dc5c220, 0x344ce: 0x6dc5c420, 0x344cf: 0x6dc5c620, + 0x344d0: 0x6dc5c820, 0x344d1: 0x6dc5ca20, 0x344d2: 0x6dc5cc20, 0x344d3: 0x6dc5ce20, + 0x344d4: 0x6dc5d020, 0x344d5: 0x6dc5d220, 0x344d6: 0x6dc5d420, 0x344d7: 0x6dc5d620, + 0x344d8: 0x6dc5d820, 0x344d9: 0x6dc5da20, 0x344da: 0x6dc5dc20, 0x344db: 0x6dc5de20, + 0x344dc: 0x6dc5e020, 0x344dd: 0x6dc5e220, 0x344de: 0x6dc5e420, 0x344df: 0x6dc5e620, + 0x344e0: 0x6dc5e820, 0x344e1: 0x6dc5ea20, 0x344e2: 0x6dc5ec20, 0x344e3: 0x6dc5ee20, + 0x344e4: 0x6dc5f020, 0x344e5: 0x6dc5f220, 0x344e6: 0x6de29020, 0x344e7: 0x6de29220, + 0x344e8: 0x6de29420, 0x344e9: 0x6de29620, 0x344ea: 0x6de29820, 0x344eb: 0x6de29a20, + 0x344ec: 0x6de29c20, 0x344ed: 0x6de29e20, 0x344ee: 0x6de2a020, 0x344ef: 0x6de2a220, + 0x344f0: 0x6de2a420, 0x344f1: 0x6de2a620, 0x344f2: 0x6de2a820, 0x344f3: 0x6de2aa20, + 0x344f4: 0x6de2ac20, 0x344f5: 0x6de2ae20, 0x344f6: 0x6de2b020, 0x344f7: 0x6de2b220, + 0x344f8: 0x6de2b420, 0x344f9: 0x6de2b620, 0x344fa: 0x6de2b820, 0x344fb: 0x6de2ba20, + 0x344fc: 0x6de2bc20, 0x344fd: 0x6de2be20, 0x344fe: 0x6de2c020, 0x344ff: 0x6de2c220, + // Block 0xd14, offset 0x34500 + 0x34500: 0x6de2c420, 0x34501: 0x6de2c620, 0x34502: 0x6de2c820, 0x34503: 0x6de2ca20, + 0x34504: 0x6de2cc20, 0x34505: 0x6de2ce20, 0x34506: 0x6de2d020, 0x34507: 0x6de2d220, + 0x34508: 0x6de2d420, 0x34509: 0x6de2d620, 0x3450a: 0x6de2d820, 0x3450b: 0x6dfa3a20, + 0x3450c: 0x6dfa3c20, 0x3450d: 0x6dfa3e20, 0x3450e: 0x6dfa4020, 0x3450f: 0x6dfa4220, + 0x34510: 0x6dfa4420, 0x34511: 0x6dfa4620, 0x34512: 0x6dfa4820, 0x34513: 0x6dfa4a20, + 0x34514: 0x6dfa4c20, 0x34515: 0x6dfa4e20, 0x34516: 0x6dfa5020, 0x34517: 0x6e0dc620, + 0x34518: 0x6e0dc820, 0x34519: 0x6e0dca20, 0x3451a: 0x6e0dcc20, 0x3451b: 0x6e0dce20, + 0x3451c: 0x6e0dd020, 0x3451d: 0x6e0dd220, 0x3451e: 0x6e0dd420, 0x3451f: 0x6e0dd620, + 0x34520: 0x6e0dd820, 0x34521: 0x6e0dda20, 0x34522: 0x6e0ddc20, 0x34523: 0x6e0dde20, + 0x34524: 0x6e0de020, 0x34525: 0x6e1d3a20, 0x34526: 0x6e1d3c20, 0x34527: 0x6e1d3e20, + 0x34528: 0x6e1d4020, 0x34529: 0x6e1d4220, 0x3452a: 0x6e1d4420, 0x3452b: 0x6e1d4620, + 0x3452c: 0x6e1d4820, 0x3452d: 0x6e1d4a20, 0x3452e: 0x6e1d4c20, 0x3452f: 0x6e28d820, + 0x34530: 0x6e28da20, 0x34531: 0x6e28dc20, 0x34532: 0x6e28de20, 0x34533: 0x6e28e020, + 0x34534: 0x6e28e220, 0x34535: 0x6e28e420, 0x34536: 0x6e28e620, 0x34537: 0x6e28e820, + 0x34538: 0x6e28ea20, 0x34539: 0x6e28ec20, 0x3453a: 0x6e28ee20, 0x3453b: 0x6e321620, + 0x3453c: 0x6e321820, 0x3453d: 0x6e321a20, 0x3453e: 0x6e321c20, 0x3453f: 0x6e321e20, + // Block 0xd15, offset 0x34540 + 0x34540: 0x6e322020, 0x34541: 0x6e322220, 0x34542: 0x6e322420, 0x34543: 0x6e3d2820, + 0x34544: 0x6e3d2a20, 0x34545: 0x6e403e20, 0x34546: 0x6e404020, 0x34547: 0x6e404220, + 0x34548: 0x6e429a20, 0x34549: 0x6e429c20, 0x3454a: 0x6e451c20, 0x3454b: 0x6e45c020, + 0x3454c: 0x6c092620, 0x3454d: 0x6c092820, 0x3454e: 0x6c11c420, 0x3454f: 0x6c11c620, + 0x34550: 0x6c11c820, 0x34551: 0x6c11ca20, 0x34552: 0x6c200620, 0x34553: 0x6c200820, + 0x34554: 0x6c200a20, 0x34555: 0x6c200c20, 0x34556: 0x6c200e20, 0x34557: 0x6c201020, + 0x34558: 0x6c201220, 0x34559: 0x6c201420, 0x3455a: 0x6c33ea20, 0x3455b: 0x6c33ec20, + 0x3455c: 0x6c33ee20, 0x3455d: 0x6c33f020, 0x3455e: 0x6c33f220, 0x3455f: 0x6c33f420, + 0x34560: 0x6c33f620, 0x34561: 0x6c33f820, 0x34562: 0x6c33fa20, 0x34563: 0x6c33fc20, + 0x34564: 0x6c33fe20, 0x34565: 0x6c340020, 0x34566: 0x6c4ea220, 0x34567: 0x6c4ea420, + 0x34568: 0x6c4ea620, 0x34569: 0x6c4ea820, 0x3456a: 0x6c4eaa20, 0x3456b: 0x6c4eac20, + 0x3456c: 0x6c4eae20, 0x3456d: 0x6c4eb020, 0x3456e: 0x6c4eb220, 0x3456f: 0x6c4eb420, + 0x34570: 0x6c4eb620, 0x34571: 0x6c4eb820, 0x34572: 0x6c4eba20, 0x34573: 0x6c4ebc20, + 0x34574: 0x6c4ebe20, 0x34575: 0x6c4ec020, 0x34576: 0x6c4ec220, 0x34577: 0x6c709e20, + 0x34578: 0x6c70a020, 0x34579: 0x6c70a220, 0x3457a: 0x6c70a420, 0x3457b: 0x6c70a620, + 0x3457c: 0x6c70a820, 0x3457d: 0x6c70aa20, 0x3457e: 0x6c70ac20, 0x3457f: 0x6c98c020, + // Block 0xd16, offset 0x34580 + 0x34580: 0x6c98c220, 0x34581: 0x6c98c420, 0x34582: 0x6c98c620, 0x34583: 0x6c98c820, + 0x34584: 0x6c98ca20, 0x34585: 0x6c98cc20, 0x34586: 0x6c98ce20, 0x34587: 0x6c98d020, + 0x34588: 0x6cc49420, 0x34589: 0x6cc49620, 0x3458a: 0x6cc49820, 0x3458b: 0x6cc49a20, + 0x3458c: 0x6cc49c20, 0x3458d: 0x6cc49e20, 0x3458e: 0x6cc4a020, 0x3458f: 0x6cc4a220, + 0x34590: 0x6cc4a420, 0x34591: 0x6cc4a620, 0x34592: 0x6cc4a820, 0x34593: 0x6cc4aa20, + 0x34594: 0x6cf38420, 0x34595: 0x6cf38620, 0x34596: 0x6cf38820, 0x34597: 0x6cf38a20, + 0x34598: 0x6cf38c20, 0x34599: 0x6cf38e20, 0x3459a: 0x6cf39020, 0x3459b: 0x6cf39220, + 0x3459c: 0x6cf39420, 0x3459d: 0x6cf39620, 0x3459e: 0x6cf39820, 0x3459f: 0x6cf39a20, + 0x345a0: 0x6cf39c20, 0x345a1: 0x6cf39e20, 0x345a2: 0x6d234220, 0x345a3: 0x6d234420, + 0x345a4: 0x6d234620, 0x345a5: 0x6d234820, 0x345a6: 0x6d234a20, 0x345a7: 0x6d234c20, + 0x345a8: 0x6d50c820, 0x345a9: 0x6d234e20, 0x345aa: 0x6d235020, 0x345ab: 0x6d235220, + 0x345ac: 0x6d235420, 0x345ad: 0x6d235620, 0x345ae: 0x6d235820, 0x345af: 0x6d235a20, + 0x345b0: 0x6d235c20, 0x345b1: 0x6d235e20, 0x345b2: 0x6d50ca20, 0x345b3: 0x6d50cc20, + 0x345b4: 0x6d50ce20, 0x345b5: 0x6d50d020, 0x345b6: 0x6d50d220, 0x345b7: 0x6d50d420, + 0x345b8: 0x6d50d620, 0x345b9: 0x6d50d820, 0x345ba: 0x6d50da20, 0x345bb: 0x6d50dc20, + 0x345bc: 0x6d50de20, 0x345bd: 0x6d50e020, 0x345be: 0x6d50e220, 0x345bf: 0x6d50e420, + // Block 0xd17, offset 0x345c0 + 0x345c0: 0x6d50e620, 0x345c1: 0x6d50e820, 0x345c2: 0x6d50ea20, 0x345c3: 0x6d50ec20, + 0x345c4: 0x6d50ee20, 0x345c5: 0x6d50f020, 0x345c6: 0x6d50f220, 0x345c7: 0x6d7c9420, + 0x345c8: 0x6d7c9620, 0x345c9: 0x6d7c9820, 0x345ca: 0x6d7c9a20, 0x345cb: 0x6d7c9c20, + 0x345cc: 0x6d7c9e20, 0x345cd: 0x6d7ca020, 0x345ce: 0x6d7ca220, 0x345cf: 0x6d7ca420, + 0x345d0: 0x6d784620, 0x345d1: 0x6d7ca620, 0x345d2: 0x6d7ca820, 0x345d3: 0x6da46e20, + 0x345d4: 0x6da47020, 0x345d5: 0x6da47220, 0x345d6: 0x6da47420, 0x345d7: 0x6da47620, + 0x345d8: 0x6dc60220, 0x345d9: 0x6dc60420, 0x345da: 0x6de2e020, 0x345db: 0x6de2e220, + 0x345dc: 0x6de2e420, 0x345dd: 0x6de2e620, 0x345de: 0x6dfa5620, 0x345df: 0x6dfa5820, + 0x345e0: 0x6dfa5a20, 0x345e1: 0x6e0de620, 0x345e2: 0x6e0de820, 0x345e3: 0x6e0dea20, + 0x345e4: 0x6c092e20, 0x345e5: 0x6c093020, 0x345e6: 0x6c11ce20, 0x345e7: 0x6c11d020, + 0x345e8: 0x6c11d220, 0x345e9: 0x6c11d420, 0x345ea: 0x6c201e20, 0x345eb: 0x6c202020, + 0x345ec: 0x6c202220, 0x345ed: 0x6c202420, 0x345ee: 0x6c202620, 0x345ef: 0x6c340e20, + 0x345f0: 0x6c341020, 0x345f1: 0x6c341220, 0x345f2: 0x6c341420, 0x345f3: 0x6c341620, + 0x345f4: 0x6c341820, 0x345f5: 0x6c341a20, 0x345f6: 0x6c4ed220, 0x345f7: 0x6c4ed420, + 0x345f8: 0x6c4ed620, 0x345f9: 0x6c4ed820, 0x345fa: 0x6c4eda20, 0x345fb: 0x6c4edc20, + 0x345fc: 0x6c4ede20, 0x345fd: 0x6c4ee020, 0x345fe: 0x6c4ee220, 0x345ff: 0x6c4ee420, + // Block 0xd18, offset 0x34600 + 0x34600: 0x6c4ee620, 0x34601: 0x6c4ee820, 0x34602: 0x6c4eea20, 0x34603: 0x6c4eec20, + 0x34604: 0x6c4eee20, 0x34605: 0x6c70ba20, 0x34606: 0x6c70bc20, 0x34607: 0x6c70be20, + 0x34608: 0x6c70c020, 0x34609: 0x6c70c220, 0x3460a: 0x6c70c420, 0x3460b: 0x6c70c620, + 0x3460c: 0x6c70c820, 0x3460d: 0x6c98d820, 0x3460e: 0x6c98da20, 0x3460f: 0x6c98dc20, + 0x34610: 0x6c98de20, 0x34611: 0x6cc4b220, 0x34612: 0x6cc4b420, 0x34613: 0x6cc4b620, + 0x34614: 0x6cc4b820, 0x34615: 0x6cc4ba20, 0x34616: 0x6cf3a220, 0x34617: 0x6cf3a420, + 0x34618: 0x6d236220, 0x34619: 0x6d236420, 0x3461a: 0x6d236620, 0x3461b: 0x6d236820, + 0x3461c: 0x6d50f420, 0x3461d: 0x6d50f620, 0x3461e: 0x6d50f820, 0x3461f: 0x6d7cb020, + 0x34620: 0x6da47820, 0x34621: 0x6dc60620, 0x34622: 0x6e0dec20, 0x34623: 0x6e28f220, + 0x34624: 0x6e28f420, 0x34625: 0x6c047820, 0x34626: 0x6c047a20, 0x34627: 0x6c047c20, + 0x34628: 0x6c094620, 0x34629: 0x6c094820, 0x3462a: 0x6c094a20, 0x3462b: 0x6c094c20, + 0x3462c: 0x6c094e20, 0x3462d: 0x6c120620, 0x3462e: 0x6c120820, 0x3462f: 0x6c120a20, + 0x34630: 0x6c120c20, 0x34631: 0x6c120e20, 0x34632: 0x6c121020, 0x34633: 0x6c121220, + 0x34634: 0x6c121420, 0x34635: 0x6c121620, 0x34636: 0x6c121820, 0x34637: 0x6c121a20, + 0x34638: 0x6c121c20, 0x34639: 0x6c121e20, 0x3463a: 0x6c122020, 0x3463b: 0x6c122220, + 0x3463c: 0x6c122420, 0x3463d: 0x6c122620, 0x3463e: 0x6c122820, 0x3463f: 0x6c122a20, + // Block 0xd19, offset 0x34640 + 0x34640: 0x6c122c20, 0x34641: 0x6c122e20, 0x34642: 0x6c123020, 0x34643: 0x6c20a820, + 0x34644: 0x6c20aa20, 0x34645: 0x6c20ac20, 0x34646: 0x6c20ae20, 0x34647: 0x6c20b020, + 0x34648: 0x6c20b220, 0x34649: 0x6c20b420, 0x3464a: 0x6c20b620, 0x3464b: 0x6c20b820, + 0x3464c: 0x6c20ba20, 0x3464d: 0x6c20bc20, 0x3464e: 0x6c20be20, 0x3464f: 0x6c20c020, + 0x34650: 0x6c20c220, 0x34651: 0x6c20c420, 0x34652: 0x6c20c620, 0x34653: 0x6c20c820, + 0x34654: 0x6c20ca20, 0x34655: 0x6c20cc20, 0x34656: 0x6c20ce20, 0x34657: 0x6c20d020, + 0x34658: 0x6c20d220, 0x34659: 0x6c20d420, 0x3465a: 0x6c20d620, 0x3465b: 0x6c20d820, + 0x3465c: 0x6c20da20, 0x3465d: 0x6c20dc20, 0x3465e: 0x6c20de20, 0x3465f: 0x6c20e020, + 0x34660: 0x6c20e220, 0x34661: 0x6c20e420, 0x34662: 0x6c20e620, 0x34663: 0x6c20e820, + 0x34664: 0x6c20ea20, 0x34665: 0x6c20ec20, 0x34666: 0x6c20ee20, 0x34667: 0x6c20f020, + 0x34668: 0x6c20f220, 0x34669: 0x6c20f420, 0x3466a: 0x6c20f620, 0x3466b: 0x6c20f820, + 0x3466c: 0x6c20fa20, 0x3466d: 0x6c20fc20, 0x3466e: 0x6c20fe20, 0x3466f: 0x6c210020, + 0x34670: 0x6c210220, 0x34671: 0x6c210420, 0x34672: 0x6c210620, 0x34673: 0x6c210820, + 0x34674: 0x6c34be20, 0x34675: 0x6c34c020, 0x34676: 0x6c34c220, 0x34677: 0x6c34c420, + 0x34678: 0x6c34c620, 0x34679: 0x6c34c820, 0x3467a: 0x6c34ca20, 0x3467b: 0x6c34cc20, + 0x3467c: 0x6c34ce20, 0x3467d: 0x6c34d020, 0x3467e: 0x6c34d220, 0x3467f: 0x6c34d420, + // Block 0xd1a, offset 0x34680 + 0x34680: 0x6c34d620, 0x34681: 0x6c34d820, 0x34682: 0x6c34da20, 0x34683: 0x6c34dc20, + 0x34684: 0x6c34de20, 0x34685: 0x6c34e020, 0x34686: 0x6c34e220, 0x34687: 0x6c34e420, + 0x34688: 0x6c34e620, 0x34689: 0x6c34e820, 0x3468a: 0x6c34ea20, 0x3468b: 0x6c34ec20, + 0x3468c: 0x6c34ee20, 0x3468d: 0x6c34f020, 0x3468e: 0x6c34f220, 0x3468f: 0x6c34f420, + 0x34690: 0x6c34f620, 0x34691: 0x6c34f820, 0x34692: 0x6c34fa20, 0x34693: 0x6c34fc20, + 0x34694: 0x6c34fe20, 0x34695: 0x6c350020, 0x34696: 0x6c350220, 0x34697: 0x6c350420, + 0x34698: 0x6c350620, 0x34699: 0x6c350820, 0x3469a: 0x6c350a20, 0x3469b: 0x6c350c20, + 0x3469c: 0x6c350e20, 0x3469d: 0x6c351020, 0x3469e: 0x6c351220, 0x3469f: 0x6c351420, + 0x346a0: 0x6c351620, 0x346a1: 0x6c351820, 0x346a2: 0x6c351a20, 0x346a3: 0x6c351c20, + 0x346a4: 0x6c4f8020, 0x346a5: 0x6c4f8220, 0x346a6: 0x6c4f8420, 0x346a7: 0x6c4f8620, + 0x346a8: 0x6c4f8820, 0x346a9: 0x6c4f8a20, 0x346aa: 0x6c4f8c20, 0x346ab: 0x6c4f8e20, + 0x346ac: 0x6c4f9020, 0x346ad: 0x6c4f9220, 0x346ae: 0x6c4f9420, 0x346af: 0x6c4f9620, + 0x346b0: 0x6c4f9820, 0x346b1: 0x6c4f9a20, 0x346b2: 0x6c4f9c20, 0x346b3: 0x6c4f9e20, + 0x346b4: 0x6c4fa020, 0x346b5: 0x6c4fa220, 0x346b6: 0x6c4fa420, 0x346b7: 0x6c4fa620, + 0x346b8: 0x6c4fa820, 0x346b9: 0x6c4faa20, 0x346ba: 0x6c4fac20, 0x346bb: 0x6c4fae20, + 0x346bc: 0x6c4fb020, 0x346bd: 0x6c4fb220, 0x346be: 0x6c4fb420, 0x346bf: 0x6c4fb620, + // Block 0xd1b, offset 0x346c0 + 0x346c0: 0x6c4fb820, 0x346c1: 0x6c4fba20, 0x346c2: 0x6c4fbc20, 0x346c3: 0x6c4fbe20, + 0x346c4: 0x6c4fc020, 0x346c5: 0x6c4fc220, 0x346c6: 0x6c4fc420, 0x346c7: 0x6c4fc620, + 0x346c8: 0x6c4fc820, 0x346c9: 0x6c4fca20, 0x346ca: 0x6c4fcc20, 0x346cb: 0x6c4fce20, + 0x346cc: 0x6c4fd020, 0x346cd: 0x6c4fd220, 0x346ce: 0x6c4fd420, 0x346cf: 0x6c4fd620, + 0x346d0: 0x6c4fd820, 0x346d1: 0x6c4fda20, 0x346d2: 0x6c4fdc20, 0x346d3: 0x6c4fde20, + 0x346d4: 0x6c4fe020, 0x346d5: 0x6c4fe220, 0x346d6: 0x6c4fe420, 0x346d7: 0x6c4fe620, + 0x346d8: 0x6c4fe820, 0x346d9: 0x6c4fea20, 0x346da: 0x6c4fec20, 0x346db: 0x6c4fee20, + 0x346dc: 0x6c4ff020, 0x346dd: 0x6c4ff220, 0x346de: 0x6c4ff420, 0x346df: 0x6c4ff620, + 0x346e0: 0x6c4ff820, 0x346e1: 0x6c4ffa20, 0x346e2: 0x6c4ffc20, 0x346e3: 0x6c4ffe20, + 0x346e4: 0x6c500020, 0x346e5: 0x6c500220, 0x346e6: 0x6c500420, 0x346e7: 0x6c500620, + 0x346e8: 0x6c500820, 0x346e9: 0x6c500a20, 0x346ea: 0x6c500c20, 0x346eb: 0x6c500e20, + 0x346ec: 0x6c501020, 0x346ed: 0x6c501220, 0x346ee: 0x6c501420, 0x346ef: 0x6c716220, + 0x346f0: 0x6c716420, 0x346f1: 0x6c716620, 0x346f2: 0x6c716820, 0x346f3: 0x6c716a20, + 0x346f4: 0x6c716c20, 0x346f5: 0x6c716e20, 0x346f6: 0x6c717020, 0x346f7: 0x6c717220, + 0x346f8: 0x6c717420, 0x346f9: 0x6c717620, 0x346fa: 0x6c717820, 0x346fb: 0x6c717a20, + 0x346fc: 0x6c717c20, 0x346fd: 0x6c717e20, 0x346fe: 0x6c718020, 0x346ff: 0x6c718220, + // Block 0xd1c, offset 0x34700 + 0x34700: 0x6c718420, 0x34701: 0x6c718620, 0x34702: 0x6c718820, 0x34703: 0x6c718a20, + 0x34704: 0x6c718c20, 0x34705: 0x6c718e20, 0x34706: 0x6c719020, 0x34707: 0x6c719220, + 0x34708: 0x6c719420, 0x34709: 0x6c719620, 0x3470a: 0x6c719820, 0x3470b: 0x6c719a20, + 0x3470c: 0x6c719c20, 0x3470d: 0x6c719e20, 0x3470e: 0x6c71a020, 0x3470f: 0x6c71a220, + 0x34710: 0x6c71a420, 0x34711: 0x6c71a620, 0x34712: 0x6c71a820, 0x34713: 0x6c71aa20, + 0x34714: 0x6c71ac20, 0x34715: 0x6c71ae20, 0x34716: 0x6c71b020, 0x34717: 0x6c71b220, + 0x34718: 0x6c71b420, 0x34719: 0x6c71b620, 0x3471a: 0x6c71b820, 0x3471b: 0x6c71ba20, + 0x3471c: 0x6c71bc20, 0x3471d: 0x6c71be20, 0x3471e: 0x6c71c020, 0x3471f: 0x6c71c220, + 0x34720: 0x6c71c420, 0x34721: 0x6c71c620, 0x34722: 0x6c71c820, 0x34723: 0x6c71ca20, + 0x34724: 0x6c71cc20, 0x34725: 0x6c71ce20, 0x34726: 0x6c71d020, 0x34727: 0x6c71d220, + 0x34728: 0x6c71d420, 0x34729: 0x6c71d620, 0x3472a: 0x6c71d820, 0x3472b: 0x6c71da20, + 0x3472c: 0x6c71dc20, 0x3472d: 0x6c71de20, 0x3472e: 0x6c71e020, 0x3472f: 0x6c71e220, + 0x34730: 0x6c71e420, 0x34731: 0x6c71e620, 0x34732: 0x6c71e820, 0x34733: 0x6c71ea20, + 0x34734: 0x6c71ec20, 0x34735: 0x6c71ee20, 0x34736: 0x6c71f020, 0x34737: 0x6c71f220, + 0x34738: 0x6c71f420, 0x34739: 0x6c71f620, 0x3473a: 0x6c71f820, 0x3473b: 0x6c71fa20, + 0x3473c: 0x6c71fc20, 0x3473d: 0x6c71fe20, 0x3473e: 0x6c720020, 0x3473f: 0x6c720220, + // Block 0xd1d, offset 0x34740 + 0x34740: 0x6c720420, 0x34741: 0x6c99ac20, 0x34742: 0x6c99ae20, 0x34743: 0x6c99b020, + 0x34744: 0x6c99b220, 0x34745: 0x6c99b420, 0x34746: 0x6c99b620, 0x34747: 0x6c99b820, + 0x34748: 0x6c99ba20, 0x34749: 0x6c99bc20, 0x3474a: 0x6c99be20, 0x3474b: 0x6c99c020, + 0x3474c: 0x6c99c220, 0x3474d: 0x6c99c420, 0x3474e: 0x6c99c620, 0x3474f: 0x6c99c820, + 0x34750: 0x6c99ca20, 0x34751: 0x6c99cc20, 0x34752: 0x6c99ce20, 0x34753: 0x6c99d020, + 0x34754: 0x6c99d220, 0x34755: 0x6c99d420, 0x34756: 0x6c99d620, 0x34757: 0x6c99d820, + 0x34758: 0x6c99da20, 0x34759: 0x6c99dc20, 0x3475a: 0x6c99de20, 0x3475b: 0x6c99e020, + 0x3475c: 0x6c99e220, 0x3475d: 0x6c99e420, 0x3475e: 0x6c99e620, 0x3475f: 0x6c99e820, + 0x34760: 0x6c99ea20, 0x34761: 0x6c99ec20, 0x34762: 0x6c99ee20, 0x34763: 0x6c99f020, + 0x34764: 0x6c99f220, 0x34765: 0x6c99f420, 0x34766: 0x6c99f620, 0x34767: 0x6c99f820, + 0x34768: 0x6c99fa20, 0x34769: 0x6c99fc20, 0x3476a: 0x6c99fe20, 0x3476b: 0x6c9a0020, + 0x3476c: 0x6c9a0220, 0x3476d: 0x6c9a0420, 0x3476e: 0x6c9a0620, 0x3476f: 0x6c9a0820, + 0x34770: 0x6c9a0a20, 0x34771: 0x6c9a0c20, 0x34772: 0x6c9a0e20, 0x34773: 0x6c9a1020, + 0x34774: 0x6c9a1220, 0x34775: 0x6c9a1420, 0x34776: 0x6c9a1620, 0x34777: 0x6c9a1820, + 0x34778: 0x6c9a1a20, 0x34779: 0x6c9a1c20, 0x3477a: 0x6c9a1e20, 0x3477b: 0x6c9a2020, + 0x3477c: 0x6c9a2220, 0x3477d: 0x6c9a2420, 0x3477e: 0x6c9a2620, 0x3477f: 0x6c9a2820, + // Block 0xd1e, offset 0x34780 + 0x34780: 0x6c9a2a20, 0x34781: 0x6c9a2c20, 0x34782: 0x6c9a2e20, 0x34783: 0x6c9a3020, + 0x34784: 0x6c9a3220, 0x34785: 0x6c9a3420, 0x34786: 0x6c9a3620, 0x34787: 0x6c9a3820, + 0x34788: 0x6c9a3a20, 0x34789: 0x6c9a3c20, 0x3478a: 0x6c9a3e20, 0x3478b: 0x6c9a4020, + 0x3478c: 0x6c9a4220, 0x3478d: 0x6c9a4420, 0x3478e: 0x6c9a4620, 0x3478f: 0x6c9a4820, + 0x34790: 0x6c9a4a20, 0x34791: 0x6c9a4c20, 0x34792: 0x6c9a4e20, 0x34793: 0x6c9a5020, + 0x34794: 0x6c9a5220, 0x34795: 0x6c9a5420, 0x34796: 0x6c9a5620, 0x34797: 0x6c9a5820, + 0x34798: 0x6c9a5a20, 0x34799: 0x6c9a5c20, 0x3479a: 0x6c9a5e20, 0x3479b: 0x6c9a6020, + 0x3479c: 0x6c9a6220, 0x3479d: 0x6c9a6420, 0x3479e: 0x6c9a6620, 0x3479f: 0x6c9a6820, + 0x347a0: 0x6c9a6a20, 0x347a1: 0x6c9a6c20, 0x347a2: 0x6c9a6e20, 0x347a3: 0x6c9a7020, + 0x347a4: 0x6c9a7220, 0x347a5: 0x6c9a7420, 0x347a6: 0x6c9a7620, 0x347a7: 0x6c9a7820, + 0x347a8: 0x6c9a7a20, 0x347a9: 0x6cc56a20, 0x347aa: 0x6cc56c20, 0x347ab: 0x6cc56e20, + 0x347ac: 0x6cc57020, 0x347ad: 0x6cc57220, 0x347ae: 0x6cc57420, 0x347af: 0x6cc57620, + 0x347b0: 0x6cc57820, 0x347b1: 0x6cc57a20, 0x347b2: 0x6cc57c20, 0x347b3: 0x6cc57e20, + 0x347b4: 0x6cc58020, 0x347b5: 0x6cc58220, 0x347b6: 0x6cc58420, 0x347b7: 0x6cc58620, + 0x347b8: 0x6cc58820, 0x347b9: 0x6cc58a20, 0x347ba: 0x6cc58c20, 0x347bb: 0x6cc58e20, + 0x347bc: 0x6cc59020, 0x347bd: 0x6cc59220, 0x347be: 0x6cc59420, 0x347bf: 0x6cc59620, + // Block 0xd1f, offset 0x347c0 + 0x347c0: 0x6cc59820, 0x347c1: 0x6cc59a20, 0x347c2: 0x6cc59c20, 0x347c3: 0x6cc59e20, + 0x347c4: 0x6cc5a020, 0x347c5: 0x6cc5a220, 0x347c6: 0x6cc5a420, 0x347c7: 0x6cc5a620, + 0x347c8: 0x6cc5a820, 0x347c9: 0x6cc5aa20, 0x347ca: 0x6cc5ac20, 0x347cb: 0x6cc5ae20, + 0x347cc: 0x6cc5b020, 0x347cd: 0x6cc5b220, 0x347ce: 0x6cc5b420, 0x347cf: 0x6cc5b620, + 0x347d0: 0x6cc5b820, 0x347d1: 0x6cc5ba20, 0x347d2: 0x6cc5bc20, 0x347d3: 0x6cc5be20, + 0x347d4: 0x6cc5c020, 0x347d5: 0x6cc5c220, 0x347d6: 0x6cc5c420, 0x347d7: 0x6cc5c620, + 0x347d8: 0x6cc5c820, 0x347d9: 0x6cc5ca20, 0x347da: 0x6cc5cc20, 0x347db: 0x6cc5ce20, + 0x347dc: 0x6cc5d020, 0x347dd: 0x6cc5d220, 0x347de: 0x6cc5d420, 0x347df: 0x6cc5d620, + 0x347e0: 0x6cc5d820, 0x347e1: 0x6cc5da20, 0x347e2: 0x6cc5dc20, 0x347e3: 0x6cc5de20, + 0x347e4: 0x6cc5e020, 0x347e5: 0x6cc5e220, 0x347e6: 0x6cc5e420, 0x347e7: 0x6cc5e620, + 0x347e8: 0x6cc5e820, 0x347e9: 0x6cc5ea20, 0x347ea: 0x6cc5ec20, 0x347eb: 0x6cc5ee20, + 0x347ec: 0x6cc5f020, 0x347ed: 0x6cc5f220, 0x347ee: 0x6cc5f420, 0x347ef: 0x6cc5f620, + 0x347f0: 0x6cc5f820, 0x347f1: 0x6cc5fa20, 0x347f2: 0x6cc5fc20, 0x347f3: 0x6cc5fe20, + 0x347f4: 0x6cc60020, 0x347f5: 0x6cc60220, 0x347f6: 0x6cc60420, 0x347f7: 0x6cc60620, + 0x347f8: 0x6cc60820, 0x347f9: 0x6cc60a20, 0x347fa: 0x6cc60c20, 0x347fb: 0x6cc60e20, + 0x347fc: 0x6cc61020, 0x347fd: 0x6cc61220, 0x347fe: 0x6cc61420, 0x347ff: 0x6d017820, + // Block 0xd20, offset 0x34800 + 0x34800: 0x6cc61620, 0x34801: 0x6cc61820, 0x34802: 0x6cc61a20, 0x34803: 0x6cc61c20, + 0x34804: 0x6cc61e20, 0x34805: 0x6cc62020, 0x34806: 0x6cc62220, 0x34807: 0x6cc62420, + 0x34808: 0x6cc62620, 0x34809: 0x6cc62820, 0x3480a: 0x6cc62a20, 0x3480b: 0x6cc62c20, + 0x3480c: 0x6cc62e20, 0x3480d: 0x6cc63020, 0x3480e: 0x6cc63220, 0x3480f: 0x6cc63420, + 0x34810: 0x6cc63620, 0x34811: 0x6cc63820, 0x34812: 0x6cc63a20, 0x34813: 0x6cc63c20, + 0x34814: 0x6cc63e20, 0x34815: 0x6cc64020, 0x34816: 0x6cc64220, 0x34817: 0x6cc64420, + 0x34818: 0x6cc64620, 0x34819: 0x6cc64820, 0x3481a: 0x6cc64a20, 0x3481b: 0x6cc64c20, + 0x3481c: 0x6cc64e20, 0x3481d: 0x6cc65020, 0x3481e: 0x6cc65220, 0x3481f: 0x6cf45a20, + 0x34820: 0x6cf45c20, 0x34821: 0x6cf45e20, 0x34822: 0x6cf46020, 0x34823: 0x6cf46220, + 0x34824: 0x6cf46420, 0x34825: 0x6cf46620, 0x34826: 0x6cf46820, 0x34827: 0x6cf46a20, + 0x34828: 0x6cf46c20, 0x34829: 0x6cf46e20, 0x3482a: 0x6cf47020, 0x3482b: 0x6cf47220, + 0x3482c: 0x6cf47420, 0x3482d: 0x6cf47620, 0x3482e: 0x6cf47820, 0x3482f: 0x6cf47a20, + 0x34830: 0x6cf47c20, 0x34831: 0x6cf47e20, 0x34832: 0x6cf48020, 0x34833: 0x6cf48220, + 0x34834: 0x6cf48420, 0x34835: 0x6cf48620, 0x34836: 0x6cf48820, 0x34837: 0x6cf48a20, + 0x34838: 0x6cf48c20, 0x34839: 0x6cf48e20, 0x3483a: 0x6cf49020, 0x3483b: 0x6cf49220, + 0x3483c: 0x6cf49420, 0x3483d: 0x6cf49620, 0x3483e: 0x6cf49820, 0x3483f: 0x6cf49a20, + // Block 0xd21, offset 0x34840 + 0x34840: 0x6cf49c20, 0x34841: 0x6cf49e20, 0x34842: 0x6cf4a020, 0x34843: 0x6cf4a220, + 0x34844: 0x6cf4a420, 0x34845: 0x6cf4a620, 0x34846: 0x6cf4a820, 0x34847: 0x6cf4aa20, + 0x34848: 0x6cf4ac20, 0x34849: 0x6cf4ae20, 0x3484a: 0x6cf4b020, 0x3484b: 0x6cf4b220, + 0x3484c: 0x6cf4b420, 0x3484d: 0x6cf4b620, 0x3484e: 0x6cf4b820, 0x3484f: 0x6cf4ba20, + 0x34850: 0x6cf4bc20, 0x34851: 0x6cf4be20, 0x34852: 0x6cf4c020, 0x34853: 0x6cf4c220, + 0x34854: 0x6cf4c420, 0x34855: 0x6cf4c620, 0x34856: 0x6cf4c820, 0x34857: 0x6cf4ca20, + 0x34858: 0x6cf4cc20, 0x34859: 0x6cf4ce20, 0x3485a: 0x6cf4d020, 0x3485b: 0x6cf4d220, + 0x3485c: 0x6cf4d420, 0x3485d: 0x6cf4d620, 0x3485e: 0x6cf4d820, 0x3485f: 0x6cf4da20, + 0x34860: 0x6cf4dc20, 0x34861: 0x6cf4de20, 0x34862: 0x6cf4e020, 0x34863: 0x6cf4e220, + 0x34864: 0x6cf4e420, 0x34865: 0x6cf4e620, 0x34866: 0x6cf4e820, 0x34867: 0x6cf4ea20, + 0x34868: 0x6cf4ec20, 0x34869: 0x6cf4ee20, 0x3486a: 0x6cf4f020, 0x3486b: 0x6cf4f220, + 0x3486c: 0x6cf4f420, 0x3486d: 0x6cf4f620, 0x3486e: 0x6cf4f820, 0x3486f: 0x6cf4fa20, + 0x34870: 0x6cf4fc20, 0x34871: 0x6cf4fe20, 0x34872: 0x6cf50020, 0x34873: 0x6d23fa20, + 0x34874: 0x6d23fc20, 0x34875: 0x6d23fe20, 0x34876: 0x6d240020, 0x34877: 0x6d240220, + 0x34878: 0x6d240420, 0x34879: 0x6d240620, 0x3487a: 0x6d240820, 0x3487b: 0x6d240a20, + 0x3487c: 0x6d240c20, 0x3487d: 0x6d240e20, 0x3487e: 0x6d241020, 0x3487f: 0x6d241220, + // Block 0xd22, offset 0x34880 + 0x34880: 0x6d241420, 0x34881: 0x6d241620, 0x34882: 0x6d241820, 0x34883: 0x6d241a20, + 0x34884: 0x6d241c20, 0x34885: 0x6d241e20, 0x34886: 0x6d242020, 0x34887: 0x6d242220, + 0x34888: 0x6d242420, 0x34889: 0x6d242620, 0x3488a: 0x6d242820, 0x3488b: 0x6d242a20, + 0x3488c: 0x6d242c20, 0x3488d: 0x6d242e20, 0x3488e: 0x6d243020, 0x3488f: 0x6d243220, + 0x34890: 0x6d243420, 0x34891: 0x6d243620, 0x34892: 0x6d243820, 0x34893: 0x6d243a20, + 0x34894: 0x6d243c20, 0x34895: 0x6d243e20, 0x34896: 0x6d244020, 0x34897: 0x6d244220, + 0x34898: 0x6d244420, 0x34899: 0x6d244620, 0x3489a: 0x6d244820, 0x3489b: 0x6d244a20, + 0x3489c: 0x6d244c20, 0x3489d: 0x6d244e20, 0x3489e: 0x6d245020, 0x3489f: 0x6d245220, + 0x348a0: 0x6d245420, 0x348a1: 0x6d245620, 0x348a2: 0x6d245820, 0x348a3: 0x6d245a20, + 0x348a4: 0x6d245c20, 0x348a5: 0x6d245e20, 0x348a6: 0x6d246020, 0x348a7: 0x6d246220, + 0x348a8: 0x6d246420, 0x348a9: 0x6d246620, 0x348aa: 0x6d246820, 0x348ab: 0x6d246a20, + 0x348ac: 0x6d246c20, 0x348ad: 0x6d246e20, 0x348ae: 0x6d247020, 0x348af: 0x6d247220, + 0x348b0: 0x6d247420, 0x348b1: 0x6d247620, 0x348b2: 0x6d247820, 0x348b3: 0x6d247a20, + 0x348b4: 0x6d247c20, 0x348b5: 0x6d247e20, 0x348b6: 0x6d248020, 0x348b7: 0x6d248220, + 0x348b8: 0x6d248420, 0x348b9: 0x6d248620, 0x348ba: 0x6d248820, 0x348bb: 0x6d248a20, + 0x348bc: 0x6d248c20, 0x348bd: 0x6d248e20, 0x348be: 0x6d249020, 0x348bf: 0x6d249220, + // Block 0xd23, offset 0x348c0 + 0x348c0: 0x6d249420, 0x348c1: 0x6d249620, 0x348c2: 0x6d249820, 0x348c3: 0x6d249a20, + 0x348c4: 0x6d249c20, 0x348c5: 0x6d249e20, 0x348c6: 0x6d24a020, 0x348c7: 0x6d24a220, + 0x348c8: 0x6d24a420, 0x348c9: 0x6d24a620, 0x348ca: 0x6d24a820, 0x348cb: 0x6d24aa20, + 0x348cc: 0x6d24ac20, 0x348cd: 0x6d24ae20, 0x348ce: 0x6d24b020, 0x348cf: 0x6d24b220, + 0x348d0: 0x6d24b420, 0x348d1: 0x6d24b620, 0x348d2: 0x6d24b820, 0x348d3: 0x6d24ba20, + 0x348d4: 0x6d24bc20, 0x348d5: 0x6d24be20, 0x348d6: 0x6d24c020, 0x348d7: 0x6d24c220, + 0x348d8: 0x6d24c420, 0x348d9: 0x6d24c620, 0x348da: 0x6d24c820, 0x348db: 0x6d24ca20, + 0x348dc: 0x6d24cc20, 0x348dd: 0x6d24ce20, 0x348de: 0x6d24d020, 0x348df: 0x6d24d220, + 0x348e0: 0x6d519620, 0x348e1: 0x6d519820, 0x348e2: 0x6d519a20, 0x348e3: 0x6d519c20, + 0x348e4: 0x6d519e20, 0x348e5: 0x6d51a020, 0x348e6: 0x6d51a220, 0x348e7: 0x6d51a420, + 0x348e8: 0x6d51a620, 0x348e9: 0x6d51a820, 0x348ea: 0x6d51aa20, 0x348eb: 0x6d51ac20, + 0x348ec: 0x6d51ae20, 0x348ed: 0x6d51b020, 0x348ee: 0x6d51b220, 0x348ef: 0x6d51b420, + 0x348f0: 0x6d51b620, 0x348f1: 0x6d51b820, 0x348f2: 0x6d51ba20, 0x348f3: 0x6d51bc20, + 0x348f4: 0x6d51be20, 0x348f5: 0x6d51c020, 0x348f6: 0x6d51c220, 0x348f7: 0x6d51c420, + 0x348f8: 0x6d51c620, 0x348f9: 0x6d51c820, 0x348fa: 0x6d51ca20, 0x348fb: 0x6d51cc20, + 0x348fc: 0x6d51ce20, 0x348fd: 0x6d51d020, 0x348fe: 0x6d51d220, 0x348ff: 0x6d51d420, + // Block 0xd24, offset 0x34900 + 0x34900: 0x6d51d620, 0x34901: 0x6d51d820, 0x34902: 0x6d51da20, 0x34903: 0x6d51dc20, + 0x34904: 0x6d51de20, 0x34905: 0x6d51e020, 0x34906: 0x6d51e220, 0x34907: 0x6d51e420, + 0x34908: 0x6d51e620, 0x34909: 0x6d51e820, 0x3490a: 0x6d51ea20, 0x3490b: 0x6d51ec20, + 0x3490c: 0x6d51ee20, 0x3490d: 0x6d51f020, 0x3490e: 0x6d51f220, 0x3490f: 0x6d51f420, + 0x34910: 0x6d51f620, 0x34911: 0x6d51f820, 0x34912: 0x6d51fa20, 0x34913: 0x6d51fc20, + 0x34914: 0x6d51fe20, 0x34915: 0x6d520020, 0x34916: 0x6d520220, 0x34917: 0x6d520420, + 0x34918: 0x6d520620, 0x34919: 0x6d520820, 0x3491a: 0x6d520a20, 0x3491b: 0x6d520c20, + 0x3491c: 0x6d520e20, 0x3491d: 0x6d521020, 0x3491e: 0x6d521220, 0x3491f: 0x6d521420, + 0x34920: 0x6d521620, 0x34921: 0x6d521820, 0x34922: 0x6d521a20, 0x34923: 0x6d521c20, + 0x34924: 0x6d521e20, 0x34925: 0x6d522020, 0x34926: 0x6d522220, 0x34927: 0x6d522420, + 0x34928: 0x6d522620, 0x34929: 0x6d522820, 0x3492a: 0x6d522a20, 0x3492b: 0x6d522c20, + 0x3492c: 0x6d522e20, 0x3492d: 0x6d523020, 0x3492e: 0x6d523220, 0x3492f: 0x6d523420, + 0x34930: 0x6d523620, 0x34931: 0x6d523820, 0x34932: 0x6d523a20, 0x34933: 0x6d523c20, + 0x34934: 0x6d523e20, 0x34935: 0x6d524020, 0x34936: 0x6d524220, 0x34937: 0x6d524420, + 0x34938: 0x6d524620, 0x34939: 0x6d524820, 0x3493a: 0x6d524a20, 0x3493b: 0x6d524c20, + 0x3493c: 0x6d524e20, 0x3493d: 0x6d525020, 0x3493e: 0x6d525220, 0x3493f: 0x6d7d0220, + // Block 0xd25, offset 0x34940 + 0x34940: 0x6d7d0420, 0x34941: 0x6d7d0620, 0x34942: 0x6d7d0820, 0x34943: 0x6d7d0a20, + 0x34944: 0x6d7d0c20, 0x34945: 0x6d7d0e20, 0x34946: 0x6d7d1020, 0x34947: 0x6d7d1220, + 0x34948: 0x6d7d1420, 0x34949: 0x6d7d1620, 0x3494a: 0x6d7d1820, 0x3494b: 0x6d7d1a20, + 0x3494c: 0x6d7d1c20, 0x3494d: 0x6d7d1e20, 0x3494e: 0x6d7d2020, 0x3494f: 0x6d7d2220, + 0x34950: 0x6d7d2420, 0x34951: 0x6d7d2620, 0x34952: 0x6d7d2820, 0x34953: 0x6d7d2a20, + 0x34954: 0x6d7d2c20, 0x34955: 0x6d7d2e20, 0x34956: 0x6d7d3020, 0x34957: 0x6d7d3220, + 0x34958: 0x6d7d3420, 0x34959: 0x6d7d3620, 0x3495a: 0x6d7d3820, 0x3495b: 0x6d7d3a20, + 0x3495c: 0x6d7d3c20, 0x3495d: 0x6d7d3e20, 0x3495e: 0x6d7d4020, 0x3495f: 0x6d7d4220, + 0x34960: 0x6d7d4420, 0x34961: 0x6d7d4620, 0x34962: 0x6d7d4820, 0x34963: 0x6d7d4a20, + 0x34964: 0x6d7d4c20, 0x34965: 0x6d7d4e20, 0x34966: 0x6d7d5020, 0x34967: 0x6d7d5220, + 0x34968: 0x6d7d5420, 0x34969: 0x6d7d5620, 0x3496a: 0x6d7d5820, 0x3496b: 0x6d7d5a20, + 0x3496c: 0x6d7d5c20, 0x3496d: 0x6d7d5e20, 0x3496e: 0x6d7d6020, 0x3496f: 0x6d7d6220, + 0x34970: 0x6d7d6420, 0x34971: 0x6d7d6620, 0x34972: 0x6d7d6820, 0x34973: 0x6d7d6a20, + 0x34974: 0x6d7d6c20, 0x34975: 0x6d7d6e20, 0x34976: 0x6d7d7020, 0x34977: 0x6d7d7220, + 0x34978: 0x6d7d7420, 0x34979: 0x6d7d7620, 0x3497a: 0x6d7d7820, 0x3497b: 0x6d7d7a20, + 0x3497c: 0x6d7d7c20, 0x3497d: 0x6d7d7e20, 0x3497e: 0x6d7d8020, 0x3497f: 0x6d7d8220, + // Block 0xd26, offset 0x34980 + 0x34980: 0x6d7d8420, 0x34981: 0x6d7d8620, 0x34982: 0x6d7d8820, 0x34983: 0x6d7d8a20, + 0x34984: 0x6d7d8c20, 0x34985: 0x6d525420, 0x34986: 0x6d7d8e20, 0x34987: 0x6d7d9020, + 0x34988: 0x6d7d9220, 0x34989: 0x6d7d9420, 0x3498a: 0x6d7d9620, 0x3498b: 0x6da4ae20, + 0x3498c: 0x6da4b020, 0x3498d: 0x6da4b220, 0x3498e: 0x6da4b420, 0x3498f: 0x6da4b620, + 0x34990: 0x6da4b820, 0x34991: 0x6da4ba20, 0x34992: 0x6da4bc20, 0x34993: 0x6da4be20, + 0x34994: 0x6da4c020, 0x34995: 0x6da4c220, 0x34996: 0x6da4c420, 0x34997: 0x6da4c620, + 0x34998: 0x6da4c820, 0x34999: 0x6da4ca20, 0x3499a: 0x6da4cc20, 0x3499b: 0x6da4ce20, + 0x3499c: 0x6da4d020, 0x3499d: 0x6da4d220, 0x3499e: 0x6da4d420, 0x3499f: 0x6da4d620, + 0x349a0: 0x6da4d820, 0x349a1: 0x6da4da20, 0x349a2: 0x6da4dc20, 0x349a3: 0x6da4de20, + 0x349a4: 0x6da4e020, 0x349a5: 0x6da4e220, 0x349a6: 0x6da4e420, 0x349a7: 0x6da4e620, + 0x349a8: 0x6da4e820, 0x349a9: 0x6da4ea20, 0x349aa: 0x6da4ec20, 0x349ab: 0x6da4ee20, + 0x349ac: 0x6da4f020, 0x349ad: 0x6da4f220, 0x349ae: 0x6da4f420, 0x349af: 0x6da4f620, + 0x349b0: 0x6da4f820, 0x349b1: 0x6da4fa20, 0x349b2: 0x6da4fc20, 0x349b3: 0x6da4fe20, + 0x349b4: 0x6da50020, 0x349b5: 0x6da50220, 0x349b6: 0x6dc64e20, 0x349b7: 0x6dc65020, + 0x349b8: 0x6dc65220, 0x349b9: 0x6dc65420, 0x349ba: 0x6dc65620, 0x349bb: 0x6dc65820, + 0x349bc: 0x6dc65a20, 0x349bd: 0x6dc65c20, 0x349be: 0x6dc65e20, 0x349bf: 0x6dc66020, + // Block 0xd27, offset 0x349c0 + 0x349c0: 0x6dc66220, 0x349c1: 0x6dc66420, 0x349c2: 0x6dc66620, 0x349c3: 0x6dc66820, + 0x349c4: 0x6dc66a20, 0x349c5: 0x6dc66c20, 0x349c6: 0x6dc66e20, 0x349c7: 0x6dc67020, + 0x349c8: 0x6dc67220, 0x349c9: 0x6dc67420, 0x349ca: 0x6dc67620, 0x349cb: 0x6dc67820, + 0x349cc: 0x6dc67a20, 0x349cd: 0x6dc67c20, 0x349ce: 0x6dc67e20, 0x349cf: 0x6dc68020, + 0x349d0: 0x6dc68220, 0x349d1: 0x6dc68420, 0x349d2: 0x6dc68620, 0x349d3: 0x6dc68820, + 0x349d4: 0x6dc68a20, 0x349d5: 0x6dc68c20, 0x349d6: 0x6dc68e20, 0x349d7: 0x6dc69020, + 0x349d8: 0x6dc69220, 0x349d9: 0x6dc69420, 0x349da: 0x6dc69620, 0x349db: 0x6dc69820, + 0x349dc: 0x6dc69a20, 0x349dd: 0x6dc69c20, 0x349de: 0x6dc69e20, 0x349df: 0x6dc6a020, + 0x349e0: 0x6dc6a220, 0x349e1: 0x6dc6a420, 0x349e2: 0x6dc6a620, 0x349e3: 0x6de30420, + 0x349e4: 0x6de30620, 0x349e5: 0x6de30820, 0x349e6: 0x6de30a20, 0x349e7: 0x6de30c20, + 0x349e8: 0x6de30e20, 0x349e9: 0x6de31020, 0x349ea: 0x6de31220, 0x349eb: 0x6de31420, + 0x349ec: 0x6de31620, 0x349ed: 0x6de31820, 0x349ee: 0x6de31a20, 0x349ef: 0x6de31c20, + 0x349f0: 0x6de31e20, 0x349f1: 0x6de32020, 0x349f2: 0x6de32220, 0x349f3: 0x6de32420, + 0x349f4: 0x6de32620, 0x349f5: 0x6de32820, 0x349f6: 0x6de32a20, 0x349f7: 0x6de32c20, + 0x349f8: 0x6de32e20, 0x349f9: 0x6de33020, 0x349fa: 0x6de33220, 0x349fb: 0x6de33420, + 0x349fc: 0x6de33620, 0x349fd: 0x6de33820, 0x349fe: 0x6de33a20, 0x349ff: 0x6de33c20, + // Block 0xd28, offset 0x34a00 + 0x34a00: 0x6de33e20, 0x34a01: 0x6de34020, 0x34a02: 0x6de34220, 0x34a03: 0x6de34420, + 0x34a04: 0x6de34620, 0x34a05: 0x6de34820, 0x34a06: 0x6de34a20, 0x34a07: 0x6de34c20, + 0x34a08: 0x6de34e20, 0x34a09: 0x6de35020, 0x34a0a: 0x6de35220, 0x34a0b: 0x6de35420, + 0x34a0c: 0x6de35620, 0x34a0d: 0x6dfa7220, 0x34a0e: 0x6dfa7420, 0x34a0f: 0x6dfa7620, + 0x34a10: 0x6dfa7820, 0x34a11: 0x6dfa7a20, 0x34a12: 0x6dfa7c20, 0x34a13: 0x6dfa7e20, + 0x34a14: 0x6dfa8020, 0x34a15: 0x6dfa8220, 0x34a16: 0x6dfa8420, 0x34a17: 0x6dfa8620, + 0x34a18: 0x6dfa8820, 0x34a19: 0x6dfa8a20, 0x34a1a: 0x6dfa8c20, 0x34a1b: 0x6dfa8e20, + 0x34a1c: 0x6dfa9020, 0x34a1d: 0x6dfa9220, 0x34a1e: 0x6dfa9420, 0x34a1f: 0x6dfa9620, + 0x34a20: 0x6dfa9820, 0x34a21: 0x6dfa9a20, 0x34a22: 0x6e0dfe20, 0x34a23: 0x6dfa9c20, + 0x34a24: 0x6dfa9e20, 0x34a25: 0x6dfaa020, 0x34a26: 0x6dfaa220, 0x34a27: 0x6dfaa420, + 0x34a28: 0x6dfaa620, 0x34a29: 0x6dfaa820, 0x34a2a: 0x6dfaaa20, 0x34a2b: 0x6dfaac20, + 0x34a2c: 0x6e0e0020, 0x34a2d: 0x6e0e0220, 0x34a2e: 0x6e0e0420, 0x34a2f: 0x6e0e0620, + 0x34a30: 0x6e0e0820, 0x34a31: 0x6e0e0a20, 0x34a32: 0x6e0e0c20, 0x34a33: 0x6e0e0e20, + 0x34a34: 0x6e0e1020, 0x34a35: 0x6e0e1220, 0x34a36: 0x6e0e1420, 0x34a37: 0x6e0e1620, + 0x34a38: 0x6e0e1820, 0x34a39: 0x6e0e1a20, 0x34a3a: 0x6e0e1c20, 0x34a3b: 0x6e0e1e20, + 0x34a3c: 0x6e0e2020, 0x34a3d: 0x6e0e2220, 0x34a3e: 0x6e0e2420, 0x34a3f: 0x6e0e2620, + // Block 0xd29, offset 0x34a40 + 0x34a40: 0x6e0e2820, 0x34a41: 0x6e0e2a20, 0x34a42: 0x6e1d6620, 0x34a43: 0x6e1d6820, + 0x34a44: 0x6e1d6a20, 0x34a45: 0x6e1d6c20, 0x34a46: 0x6e1d6e20, 0x34a47: 0x6e1d7020, + 0x34a48: 0x6e1d7220, 0x34a49: 0x6e1d7420, 0x34a4a: 0x6e1d7620, 0x34a4b: 0x6e1d7820, + 0x34a4c: 0x6e1d7a20, 0x34a4d: 0x6e1d7c20, 0x34a4e: 0x6e1d7e20, 0x34a4f: 0x6e1d8020, + 0x34a50: 0x6e1d8220, 0x34a51: 0x6e1d8420, 0x34a52: 0x6e1d8620, 0x34a53: 0x6e1d8820, + 0x34a54: 0x6e1d8a20, 0x34a55: 0x6e1d8c20, 0x34a56: 0x6e290820, 0x34a57: 0x6e290a20, + 0x34a58: 0x6e290c20, 0x34a59: 0x6e290e20, 0x34a5a: 0x6e291020, 0x34a5b: 0x6e291220, + 0x34a5c: 0x6e291420, 0x34a5d: 0x6e291620, 0x34a5e: 0x6e322a20, 0x34a5f: 0x6e322c20, + 0x34a60: 0x6e322e20, 0x34a61: 0x6e323020, 0x34a62: 0x6e323220, 0x34a63: 0x6e323420, + 0x34a64: 0x6e323620, 0x34a65: 0x6e323820, 0x34a66: 0x6e323a20, 0x34a67: 0x6e323c20, + 0x34a68: 0x6e323e20, 0x34a69: 0x6e324020, 0x34a6a: 0x6e324220, 0x34a6b: 0x6e324420, + 0x34a6c: 0x6e389620, 0x34a6d: 0x6e389820, 0x34a6e: 0x6e389a20, 0x34a6f: 0x6e389c20, + 0x34a70: 0x6e404420, 0x34a71: 0x6e404620, 0x34a72: 0x6e404820, 0x34a73: 0x6e429e20, + 0x34a74: 0x6e462a20, 0x34a75: 0x6c123820, 0x34a76: 0x6c211a20, 0x34a77: 0x6c353020, + 0x34a78: 0x6c353220, 0x34a79: 0x6c353420, 0x34a7a: 0x6c353620, 0x34a7b: 0x6c353820, + 0x34a7c: 0x6c353a20, 0x34a7d: 0x6c353c20, 0x34a7e: 0x6c502c20, 0x34a7f: 0x6c502e20, + // Block 0xd2a, offset 0x34a80 + 0x34a80: 0x6c503020, 0x34a81: 0x6c722620, 0x34a82: 0x6c722820, 0x34a83: 0x6c722a20, + 0x34a84: 0x6c722c20, 0x34a85: 0x6c722e20, 0x34a86: 0x6c723020, 0x34a87: 0x6c723220, + 0x34a88: 0x6c6aa620, 0x34a89: 0x6c723420, 0x34a8a: 0x6c9a9620, 0x34a8b: 0x6c9a9820, + 0x34a8c: 0x6c9a9a20, 0x34a8d: 0x6c9a9c20, 0x34a8e: 0x6cc67420, 0x34a8f: 0x6cc67620, + 0x34a90: 0x6cc67820, 0x34a91: 0x6cc67a20, 0x34a92: 0x6cc67c20, 0x34a93: 0x6cc67e20, + 0x34a94: 0x6cc68020, 0x34a95: 0x6cf52020, 0x34a96: 0x6cf52220, 0x34a97: 0x6cf52420, + 0x34a98: 0x6cf52620, 0x34a99: 0x6cf52820, 0x34a9a: 0x6d24ea20, 0x34a9b: 0x6d24ec20, + 0x34a9c: 0x6d24ee20, 0x34a9d: 0x6d526a20, 0x34a9e: 0x6d526c20, 0x34a9f: 0x6d526e20, + 0x34aa0: 0x6d7da220, 0x34aa1: 0x6d7da420, 0x34aa2: 0x6d7da620, 0x34aa3: 0x6d7da820, + 0x34aa4: 0x6d7daa20, 0x34aa5: 0x6da50a20, 0x34aa6: 0x6da50c20, 0x34aa7: 0x6da50e20, + 0x34aa8: 0x6da51020, 0x34aa9: 0x6da51220, 0x34aaa: 0x6dfab020, 0x34aab: 0x6c212a20, + 0x34aac: 0x6c212c20, 0x34aad: 0x6c212e20, 0x34aae: 0x6c213020, 0x34aaf: 0x6c213220, + 0x34ab0: 0x6c213420, 0x34ab1: 0x6c213620, 0x34ab2: 0x6c213820, 0x34ab3: 0x6c354820, + 0x34ab4: 0x6c354a20, 0x34ab5: 0x6c354c20, 0x34ab6: 0x6c354e20, 0x34ab7: 0x6c355020, + 0x34ab8: 0x6c355220, 0x34ab9: 0x6c355420, 0x34aba: 0x6c355620, 0x34abb: 0x6c355820, + 0x34abc: 0x6c355a20, 0x34abd: 0x6c355c20, 0x34abe: 0x6c355e20, 0x34abf: 0x6c356020, + // Block 0xd2b, offset 0x34ac0 + 0x34ac0: 0x6c356220, 0x34ac1: 0x6c356420, 0x34ac2: 0x6c356620, 0x34ac3: 0x6c356820, + 0x34ac4: 0x6c356a20, 0x34ac5: 0x6c356c20, 0x34ac6: 0x6c356e20, 0x34ac7: 0x6c357020, + 0x34ac8: 0x6c357220, 0x34ac9: 0x6c504820, 0x34aca: 0x6c504a20, 0x34acb: 0x6c504c20, + 0x34acc: 0x6c504e20, 0x34acd: 0x6c505020, 0x34ace: 0x6c505220, 0x34acf: 0x6c505420, + 0x34ad0: 0x6c505620, 0x34ad1: 0x6c505820, 0x34ad2: 0x6c505a20, 0x34ad3: 0x6c505c20, + 0x34ad4: 0x6c505e20, 0x34ad5: 0x6c506020, 0x34ad6: 0x6c506220, 0x34ad7: 0x6c506420, + 0x34ad8: 0x6c506620, 0x34ad9: 0x6c506820, 0x34ada: 0x6c506a20, 0x34adb: 0x6c724a20, + 0x34adc: 0x6c724c20, 0x34add: 0x6c724e20, 0x34ade: 0x6c725020, 0x34adf: 0x6c725220, + 0x34ae0: 0x6c725420, 0x34ae1: 0x6c725620, 0x34ae2: 0x6c725820, 0x34ae3: 0x6c725a20, + 0x34ae4: 0x6c725c20, 0x34ae5: 0x6c725e20, 0x34ae6: 0x6c726020, 0x34ae7: 0x6c726220, + 0x34ae8: 0x6c726420, 0x34ae9: 0x6c726620, 0x34aea: 0x6c726820, 0x34aeb: 0x6c726a20, + 0x34aec: 0x6c726c20, 0x34aed: 0x6c726e20, 0x34aee: 0x6c727020, 0x34aef: 0x6c727220, + 0x34af0: 0x6c727420, 0x34af1: 0x6c727620, 0x34af2: 0x6c727820, 0x34af3: 0x6c727a20, + 0x34af4: 0x6c727c20, 0x34af5: 0x6c727e20, 0x34af6: 0x6c728020, 0x34af7: 0x6c728220, + 0x34af8: 0x6c728420, 0x34af9: 0x6c9aca20, 0x34afa: 0x6c9acc20, 0x34afb: 0x6c9ace20, + 0x34afc: 0x6c9ad020, 0x34afd: 0x6c9ad220, 0x34afe: 0x6c9ad420, 0x34aff: 0x6c9ad620, + // Block 0xd2c, offset 0x34b00 + 0x34b00: 0x6c9ad820, 0x34b01: 0x6c9ada20, 0x34b02: 0x6c9adc20, 0x34b03: 0x6c9ade20, + 0x34b04: 0x6c9ae020, 0x34b05: 0x6c9ae220, 0x34b06: 0x6c9ae420, 0x34b07: 0x6c9ae620, + 0x34b08: 0x6c9ae820, 0x34b09: 0x6c9aea20, 0x34b0a: 0x6c9aec20, 0x34b0b: 0x6c9aee20, + 0x34b0c: 0x6c9af020, 0x34b0d: 0x6c9af220, 0x34b0e: 0x6c9af420, 0x34b0f: 0x6c9af620, + 0x34b10: 0x6c9af820, 0x34b11: 0x6c9afa20, 0x34b12: 0x6c9afc20, 0x34b13: 0x6c9afe20, + 0x34b14: 0x6c9b0020, 0x34b15: 0x6c9b0220, 0x34b16: 0x6c9b0420, 0x34b17: 0x6c9b0620, + 0x34b18: 0x6c9b0820, 0x34b19: 0x6c9b0a20, 0x34b1a: 0x6cc6b620, 0x34b1b: 0x6cc6b820, + 0x34b1c: 0x6c9b0c20, 0x34b1d: 0x6cc6ba20, 0x34b1e: 0x6cc6bc20, 0x34b1f: 0x6cc6be20, + 0x34b20: 0x6cc6c020, 0x34b21: 0x6cc6c220, 0x34b22: 0x6cc6c420, 0x34b23: 0x6cc6c620, + 0x34b24: 0x6cc6c820, 0x34b25: 0x6cc6ca20, 0x34b26: 0x6cc6cc20, 0x34b27: 0x6cc6ce20, + 0x34b28: 0x6cc6d020, 0x34b29: 0x6cc6d220, 0x34b2a: 0x6cc6d420, 0x34b2b: 0x6cc6d620, + 0x34b2c: 0x6cc6d820, 0x34b2d: 0x6cc6da20, 0x34b2e: 0x6cc6dc20, 0x34b2f: 0x6cc6de20, + 0x34b30: 0x6cc6e020, 0x34b31: 0x6cc6e220, 0x34b32: 0x6cc6e420, 0x34b33: 0x6cc6e620, + 0x34b34: 0x6cc6e820, 0x34b35: 0x6cc6ea20, 0x34b36: 0x6cc6ec20, 0x34b37: 0x6c9b0e20, + 0x34b38: 0x6cc6ee20, 0x34b39: 0x6cc6f020, 0x34b3a: 0x6cc6f220, 0x34b3b: 0x6cc6f420, + 0x34b3c: 0x6cc6f620, 0x34b3d: 0x6cc6f820, 0x34b3e: 0x6cc6fa20, 0x34b3f: 0x6cf54020, + // Block 0xd2d, offset 0x34b40 + 0x34b40: 0x6cf54220, 0x34b41: 0x6cf54420, 0x34b42: 0x6cf54620, 0x34b43: 0x6cf54820, + 0x34b44: 0x6cf54a20, 0x34b45: 0x6cf54c20, 0x34b46: 0x6cf54e20, 0x34b47: 0x6cf55020, + 0x34b48: 0x6cf55220, 0x34b49: 0x6cf55420, 0x34b4a: 0x6cf55620, 0x34b4b: 0x6cf55820, + 0x34b4c: 0x6cf55a20, 0x34b4d: 0x6cf55c20, 0x34b4e: 0x6cf55e20, 0x34b4f: 0x6cf56020, + 0x34b50: 0x6cf56220, 0x34b51: 0x6cf56420, 0x34b52: 0x6cf56620, 0x34b53: 0x6cf56820, + 0x34b54: 0x6cf56a20, 0x34b55: 0x6cf56c20, 0x34b56: 0x6cf56e20, 0x34b57: 0x6cf57020, + 0x34b58: 0x6cf57220, 0x34b59: 0x6cf57420, 0x34b5a: 0x6cf57620, 0x34b5b: 0x6cf57820, + 0x34b5c: 0x6cf57a20, 0x34b5d: 0x6cf57c20, 0x34b5e: 0x6cf57e20, 0x34b5f: 0x6cf58020, + 0x34b60: 0x6cf58220, 0x34b61: 0x6cf58420, 0x34b62: 0x6cf58620, 0x34b63: 0x6cc6fc20, + 0x34b64: 0x6cf58820, 0x34b65: 0x6d017a20, 0x34b66: 0x6d24fe20, 0x34b67: 0x6d250020, + 0x34b68: 0x6d250220, 0x34b69: 0x6d250420, 0x34b6a: 0x6d250620, 0x34b6b: 0x6d250820, + 0x34b6c: 0x6d250a20, 0x34b6d: 0x6d250c20, 0x34b6e: 0x6d250e20, 0x34b6f: 0x6d251020, + 0x34b70: 0x6d251220, 0x34b71: 0x6d251420, 0x34b72: 0x6d251620, 0x34b73: 0x6d251820, + 0x34b74: 0x6d251a20, 0x34b75: 0x6d251c20, 0x34b76: 0x6d251e20, 0x34b77: 0x6d252020, + 0x34b78: 0x6d252220, 0x34b79: 0x6d252420, 0x34b7a: 0x6d252620, 0x34b7b: 0x6d252820, + 0x34b7c: 0x6d252a20, 0x34b7d: 0x6d252c20, 0x34b7e: 0x6d252e20, 0x34b7f: 0x6d253020, + // Block 0xd2e, offset 0x34b80 + 0x34b80: 0x6d253220, 0x34b81: 0x6d253420, 0x34b82: 0x6d253620, 0x34b83: 0x6d253820, + 0x34b84: 0x6d253a20, 0x34b85: 0x6d253c20, 0x34b86: 0x6d033220, 0x34b87: 0x6d528620, + 0x34b88: 0x6d528820, 0x34b89: 0x6d528a20, 0x34b8a: 0x6d528c20, 0x34b8b: 0x6d528e20, + 0x34b8c: 0x6d529020, 0x34b8d: 0x6d529220, 0x34b8e: 0x6d529420, 0x34b8f: 0x6d529620, + 0x34b90: 0x6d529820, 0x34b91: 0x6d529a20, 0x34b92: 0x6d529c20, 0x34b93: 0x6d529e20, + 0x34b94: 0x6d52a020, 0x34b95: 0x6d52a220, 0x34b96: 0x6d52a420, 0x34b97: 0x6d52a620, + 0x34b98: 0x6d52a820, 0x34b99: 0x6d52aa20, 0x34b9a: 0x6d52ac20, 0x34b9b: 0x6d52ae20, + 0x34b9c: 0x6d52b020, 0x34b9d: 0x6d52b220, 0x34b9e: 0x6d7dbe20, 0x34b9f: 0x6d7dc020, + 0x34ba0: 0x6d7dc220, 0x34ba1: 0x6d7dc420, 0x34ba2: 0x6d7dc620, 0x34ba3: 0x6d7dc820, + 0x34ba4: 0x6d7dca20, 0x34ba5: 0x6d7dcc20, 0x34ba6: 0x6d7dce20, 0x34ba7: 0x6d7dd020, + 0x34ba8: 0x6d7dd220, 0x34ba9: 0x6d7dd420, 0x34baa: 0x6d7dd620, 0x34bab: 0x6d7dd820, + 0x34bac: 0x6d7dda20, 0x34bad: 0x6d7ddc20, 0x34bae: 0x6d7dde20, 0x34baf: 0x6d7de020, + 0x34bb0: 0x6d7de220, 0x34bb1: 0x6d7de420, 0x34bb2: 0x6d7de620, 0x34bb3: 0x6d7de820, + 0x34bb4: 0x6d7dea20, 0x34bb5: 0x6d7dec20, 0x34bb6: 0x6d7dee20, 0x34bb7: 0x6d7df020, + 0x34bb8: 0x6d7df220, 0x34bb9: 0x6d7df420, 0x34bba: 0x6d7df620, 0x34bbb: 0x6d7df820, + 0x34bbc: 0x6d7dfa20, 0x34bbd: 0x6d7dfc20, 0x34bbe: 0x6da51a20, 0x34bbf: 0x6da51c20, + // Block 0xd2f, offset 0x34bc0 + 0x34bc0: 0x6da51e20, 0x34bc1: 0x6da52020, 0x34bc2: 0x6da52220, 0x34bc3: 0x6da52420, + 0x34bc4: 0x6dc6bc20, 0x34bc5: 0x6da52620, 0x34bc6: 0x6da52820, 0x34bc7: 0x6da52a20, + 0x34bc8: 0x6da52c20, 0x34bc9: 0x6da52e20, 0x34bca: 0x6da53020, 0x34bcb: 0x6da53220, + 0x34bcc: 0x6da53420, 0x34bcd: 0x6da53620, 0x34bce: 0x6da53820, 0x34bcf: 0x6da53a20, + 0x34bd0: 0x6dc6be20, 0x34bd1: 0x6dc6c020, 0x34bd2: 0x6dc6c220, 0x34bd3: 0x6dc6c420, + 0x34bd4: 0x6dc6c620, 0x34bd5: 0x6dc6c820, 0x34bd6: 0x6dc6ca20, 0x34bd7: 0x6dc6cc20, + 0x34bd8: 0x6dc6ce20, 0x34bd9: 0x6dc6d020, 0x34bda: 0x6dc6d220, 0x34bdb: 0x6de35c20, + 0x34bdc: 0x6de35e20, 0x34bdd: 0x6de36020, 0x34bde: 0x6de36220, 0x34bdf: 0x6de36420, + 0x34be0: 0x6de36620, 0x34be1: 0x6de36820, 0x34be2: 0x6de36a20, 0x34be3: 0x6dfab820, + 0x34be4: 0x6dfaba20, 0x34be5: 0x6dfabc20, 0x34be6: 0x6dfabe20, 0x34be7: 0x6dfac020, + 0x34be8: 0x6dfac220, 0x34be9: 0x6dfac420, 0x34bea: 0x6dfac620, 0x34beb: 0x6dfac820, + 0x34bec: 0x6dfaca20, 0x34bed: 0x6dfacc20, 0x34bee: 0x6e0e2e20, 0x34bef: 0x6e0e3020, + 0x34bf0: 0x6e0e3220, 0x34bf1: 0x6e0e3420, 0x34bf2: 0x6e0e3620, 0x34bf3: 0x6e1d9020, + 0x34bf4: 0x6e1d9220, 0x34bf5: 0x6e291a20, 0x34bf6: 0x6e291c20, 0x34bf7: 0x6e291e20, + 0x34bf8: 0x6e292020, 0x34bf9: 0x6e292220, 0x34bfa: 0x6e292420, 0x34bfb: 0x6e389e20, + 0x34bfc: 0x6e38a020, 0x34bfd: 0x6e404a20, 0x34bfe: 0x6e404c20, 0x34bff: 0x6e42a020, + // Block 0xd30, offset 0x34c00 + 0x34c00: 0x6e442e20, 0x34c01: 0x6c123e20, 0x34c02: 0x6c213e20, 0x34c03: 0x6c357820, + 0x34c04: 0x6c357a20, 0x34c05: 0x6c357c20, 0x34c06: 0x6c507020, 0x34c07: 0x6c507220, + 0x34c08: 0x6c507420, 0x34c09: 0x6c507620, 0x34c0a: 0x6c729220, 0x34c0b: 0x6c728620, + 0x34c0c: 0x6c729420, 0x34c0d: 0x6c729620, 0x34c0e: 0x6c9b1c20, 0x34c0f: 0x6c9b1e20, + 0x34c10: 0x6c9b2020, 0x34c11: 0x6c9b2220, 0x34c12: 0x6c9b2420, 0x34c13: 0x6c9b2620, + 0x34c14: 0x6cc70820, 0x34c15: 0x6cc70a20, 0x34c16: 0x6cc70c20, 0x34c17: 0x6cf59020, + 0x34c18: 0x6cf59220, 0x34c19: 0x6cf59420, 0x34c1a: 0x6d52b420, 0x34c1b: 0x6d52be20, + 0x34c1c: 0x6d52c020, 0x34c1d: 0x6d52c220, 0x34c1e: 0x6d52c420, 0x34c1f: 0x6d52c620, + 0x34c20: 0x6d52c820, 0x34c21: 0x6d52ca20, 0x34c22: 0x6d7e0620, 0x34c23: 0x6d7e0820, + 0x34c24: 0x6da54020, 0x34c25: 0x6dc6d820, 0x34c26: 0x6dc6da20, 0x34c27: 0x6de36e20, + 0x34c28: 0x6dfad020, 0x34c29: 0x6e0e3e20, 0x34c2a: 0x6e0e4020, 0x34c2b: 0x6e292820, + 0x34c2c: 0x6c048820, 0x34c2d: 0x6c214420, 0x34c2e: 0x6c358420, 0x34c2f: 0x6c358620, + 0x34c30: 0x6c358820, 0x34c31: 0x6c507c20, 0x34c32: 0x6c507e20, 0x34c33: 0x6c72a020, + 0x34c34: 0x6c72a220, 0x34c35: 0x6c72a420, 0x34c36: 0x6c72a620, 0x34c37: 0x6c9b2e20, + 0x34c38: 0x6c9b3020, 0x34c39: 0x6c9b3220, 0x34c3a: 0x6c9b3420, 0x34c3b: 0x6c9b3620, + 0x34c3c: 0x6cc71820, 0x34c3d: 0x6cc71a20, 0x34c3e: 0x6cc71c20, 0x34c3f: 0x6cc71e20, + // Block 0xd31, offset 0x34c40 + 0x34c40: 0x6cc72020, 0x34c41: 0x6cf59a20, 0x34c42: 0x6d254c20, 0x34c43: 0x6cf59c20, + 0x34c44: 0x6cf59e20, 0x34c45: 0x6cf5a020, 0x34c46: 0x6d254e20, 0x34c47: 0x6d255020, + 0x34c48: 0x6d255220, 0x34c49: 0x6d52ce20, 0x34c4a: 0x6d52d020, 0x34c4b: 0x6d52d220, + 0x34c4c: 0x6da54620, 0x34c4d: 0x6da54820, 0x34c4e: 0x6dc6de20, 0x34c4f: 0x6de37020, + 0x34c50: 0x6dfad220, 0x34c51: 0x6c048c20, 0x34c52: 0x6c124420, 0x34c53: 0x6c214620, + 0x34c54: 0x6c359220, 0x34c55: 0x6c359420, 0x34c56: 0x6c359620, 0x34c57: 0x6c359820, + 0x34c58: 0x6c359a20, 0x34c59: 0x6c508a20, 0x34c5a: 0x6c508c20, 0x34c5b: 0x6c72ae20, + 0x34c5c: 0x6c72b020, 0x34c5d: 0x6c72b220, 0x34c5e: 0x6c9b3c20, 0x34c5f: 0x6c9b3e20, + 0x34c60: 0x6c9b4020, 0x34c61: 0x6cc72a20, 0x34c62: 0x6cc72c20, 0x34c63: 0x6cc72e20, + 0x34c64: 0x6cc73020, 0x34c65: 0x6cc73220, 0x34c66: 0x6cc73420, 0x34c67: 0x6cc73620, + 0x34c68: 0x6cc73820, 0x34c69: 0x6cc73a20, 0x34c6a: 0x6cc73c20, 0x34c6b: 0x6ca6ac20, + 0x34c6c: 0x6cc73e20, 0x34c6d: 0x6cc74020, 0x34c6e: 0x6cf5a420, 0x34c6f: 0x6cf5a620, + 0x34c70: 0x6cf5a820, 0x34c71: 0x6cf5aa20, 0x34c72: 0x6cf5ac20, 0x34c73: 0x6cf5ae20, + 0x34c74: 0x6cf5b020, 0x34c75: 0x6cf5b220, 0x34c76: 0x6d255a20, 0x34c77: 0x6d255c20, + 0x34c78: 0x6d255e20, 0x34c79: 0x6d256020, 0x34c7a: 0x6d256220, 0x34c7b: 0x6d52da20, + 0x34c7c: 0x6d52dc20, 0x34c7d: 0x6d52de20, 0x34c7e: 0x6d52e020, 0x34c7f: 0x6d52e220, + // Block 0xd32, offset 0x34c80 + 0x34c80: 0x6d7e0e20, 0x34c81: 0x6d7e1020, 0x34c82: 0x6d7e1220, 0x34c83: 0x6d7e1420, + 0x34c84: 0x6d7e1620, 0x34c85: 0x6d7e1820, 0x34c86: 0x6d7e1a20, 0x34c87: 0x6da55020, + 0x34c88: 0x6da55220, 0x34c89: 0x6da55420, 0x34c8a: 0x6da55620, 0x34c8b: 0x6da55820, + 0x34c8c: 0x6dc6e220, 0x34c8d: 0x6dc6e420, 0x34c8e: 0x6dc6e620, 0x34c8f: 0x6dc6e820, + 0x34c90: 0x6dc6ea20, 0x34c91: 0x6de37220, 0x34c92: 0x6de37420, 0x34c93: 0x6de37620, + 0x34c94: 0x6dfad420, 0x34c95: 0x6dfad620, 0x34c96: 0x6e1d9420, 0x34c97: 0x6c124820, + 0x34c98: 0x6c214820, 0x34c99: 0x6c214a20, 0x34c9a: 0x6c35a620, 0x34c9b: 0x6c35a820, + 0x34c9c: 0x6c35aa20, 0x34c9d: 0x6c509820, 0x34c9e: 0x6c509a20, 0x34c9f: 0x6c509c20, + 0x34ca0: 0x6c509e20, 0x34ca1: 0x6c50a020, 0x34ca2: 0x6c50a220, 0x34ca3: 0x6c50a420, + 0x34ca4: 0x6c50a620, 0x34ca5: 0x6c50a820, 0x34ca6: 0x6c72ca20, 0x34ca7: 0x6c72cc20, + 0x34ca8: 0x6c72ce20, 0x34ca9: 0x6c72d020, 0x34caa: 0x6c72d220, 0x34cab: 0x6c72d420, + 0x34cac: 0x6c72d620, 0x34cad: 0x6c72d820, 0x34cae: 0x6c72da20, 0x34caf: 0x6c72dc20, + 0x34cb0: 0x6c72de20, 0x34cb1: 0x6c72e020, 0x34cb2: 0x6c72e220, 0x34cb3: 0x6c9b5820, + 0x34cb4: 0x6c9b5a20, 0x34cb5: 0x6c9b5c20, 0x34cb6: 0x6c9b5e20, 0x34cb7: 0x6c9b6020, + 0x34cb8: 0x6c9b6220, 0x34cb9: 0x6c9b6420, 0x34cba: 0x6c9b6620, 0x34cbb: 0x6c9b6820, + 0x34cbc: 0x6cc74a20, 0x34cbd: 0x6cc74c20, 0x34cbe: 0x6cc74e20, 0x34cbf: 0x6cc75020, + // Block 0xd33, offset 0x34cc0 + 0x34cc0: 0x6cc75220, 0x34cc1: 0x6cc75420, 0x34cc2: 0x6cc75620, 0x34cc3: 0x6cc75820, + 0x34cc4: 0x6cc75a20, 0x34cc5: 0x6cc75c20, 0x34cc6: 0x6cc75e20, 0x34cc7: 0x6cc76020, + 0x34cc8: 0x6cf5be20, 0x34cc9: 0x6cf5c020, 0x34cca: 0x6cf5c220, 0x34ccb: 0x6cf5c420, + 0x34ccc: 0x6cf5c620, 0x34ccd: 0x6cf5c820, 0x34cce: 0x6d256820, 0x34ccf: 0x6d256a20, + 0x34cd0: 0x6d256c20, 0x34cd1: 0x6d256e20, 0x34cd2: 0x6d257020, 0x34cd3: 0x6d257220, + 0x34cd4: 0x6d52e820, 0x34cd5: 0x6d52ea20, 0x34cd6: 0x6d52ec20, 0x34cd7: 0x6d7e2020, + 0x34cd8: 0x6d7e2220, 0x34cd9: 0x6d7e2420, 0x34cda: 0x6d7e2620, 0x34cdb: 0x6d7e2820, + 0x34cdc: 0x6d7e2a20, 0x34cdd: 0x6da55c20, 0x34cde: 0x6dc6ee20, 0x34cdf: 0x6dc6f020, + 0x34ce0: 0x6dc6f220, 0x34ce1: 0x6dc6f420, 0x34ce2: 0x6dc6f620, 0x34ce3: 0x6dc6f820, + 0x34ce4: 0x6de37e20, 0x34ce5: 0x6dfada20, 0x34ce6: 0x6e0e4420, 0x34ce7: 0x6e1d9620, + 0x34ce8: 0x6e1d9820, 0x34ce9: 0x6e292c20, 0x34cea: 0x6e324820, 0x34ceb: 0x6e38a420, + 0x34cec: 0x6e3d2e20, 0x34ced: 0x6c124a20, 0x34cee: 0x6c214c20, 0x34cef: 0x6c214e20, + 0x34cf0: 0x6c50ae20, 0x34cf1: 0x6c72ea20, 0x34cf2: 0x6c72ec20, 0x34cf3: 0x6c72ee20, + 0x34cf4: 0x6cc76a20, 0x34cf5: 0x6cc76c20, 0x34cf6: 0x6cf5d020, 0x34cf7: 0x6cf5d220, + 0x34cf8: 0x6cf5d420, 0x34cf9: 0x6d52f220, 0x34cfa: 0x6d7e3020, 0x34cfb: 0x6c095820, + 0x34cfc: 0x6c095a20, 0x34cfd: 0x6c095c20, 0x34cfe: 0x6c126020, 0x34cff: 0x6c126220, + // Block 0xd34, offset 0x34d00 + 0x34d00: 0x6c126420, 0x34d01: 0x6c126620, 0x34d02: 0x6c126820, 0x34d03: 0x6c126a20, + 0x34d04: 0x6c216e20, 0x34d05: 0x6c126c20, 0x34d06: 0x6c217020, 0x34d07: 0x6c217220, + 0x34d08: 0x6c217420, 0x34d09: 0x6c217620, 0x34d0a: 0x6c217820, 0x34d0b: 0x6c217a20, + 0x34d0c: 0x6c217c20, 0x34d0d: 0x6c217e20, 0x34d0e: 0x6c218020, 0x34d0f: 0x6c218220, + 0x34d10: 0x6c218420, 0x34d11: 0x6c218620, 0x34d12: 0x6c218820, 0x34d13: 0x6c218a20, + 0x34d14: 0x6c218c20, 0x34d15: 0x6c218e20, 0x34d16: 0x6c219020, 0x34d17: 0x6c219220, + 0x34d18: 0x6c219420, 0x34d19: 0x6c219620, 0x34d1a: 0x6c35f820, 0x34d1b: 0x6c35fa20, + 0x34d1c: 0x6c35fc20, 0x34d1d: 0x6c35fe20, 0x34d1e: 0x6c360020, 0x34d1f: 0x6c360220, + 0x34d20: 0x6c360420, 0x34d21: 0x6c360620, 0x34d22: 0x6c360820, 0x34d23: 0x6c360a20, + 0x34d24: 0x6c360c20, 0x34d25: 0x6c360e20, 0x34d26: 0x6c361020, 0x34d27: 0x6c361220, + 0x34d28: 0x6c361420, 0x34d29: 0x6c361620, 0x34d2a: 0x6c361820, 0x34d2b: 0x6c361a20, + 0x34d2c: 0x6c361c20, 0x34d2d: 0x6c361e20, 0x34d2e: 0x6c362020, 0x34d2f: 0x6c362220, + 0x34d30: 0x6c362420, 0x34d31: 0x6c362620, 0x34d32: 0x6c362820, 0x34d33: 0x6c362a20, + 0x34d34: 0x6c362c20, 0x34d35: 0x6c362e20, 0x34d36: 0x6c363020, 0x34d37: 0x6c511020, + 0x34d38: 0x6c511220, 0x34d39: 0x6c511420, 0x34d3a: 0x6c511620, 0x34d3b: 0x6c511820, + 0x34d3c: 0x6c511a20, 0x34d3d: 0x6c511c20, 0x34d3e: 0x6c511e20, 0x34d3f: 0x6c512020, + // Block 0xd35, offset 0x34d40 + 0x34d40: 0x6c512220, 0x34d41: 0x6c512420, 0x34d42: 0x6c512620, 0x34d43: 0x6c512820, + 0x34d44: 0x6c512a20, 0x34d45: 0x6c512c20, 0x34d46: 0x6c512e20, 0x34d47: 0x6c513020, + 0x34d48: 0x6c513220, 0x34d49: 0x6c515e20, 0x34d4a: 0x6c513420, 0x34d4b: 0x6c513620, + 0x34d4c: 0x6c513820, 0x34d4d: 0x6c513a20, 0x34d4e: 0x6c513c20, 0x34d4f: 0x6c513e20, + 0x34d50: 0x6c514020, 0x34d51: 0x6c514220, 0x34d52: 0x6c733220, 0x34d53: 0x6c733420, + 0x34d54: 0x6c733620, 0x34d55: 0x6c733820, 0x34d56: 0x6c733a20, 0x34d57: 0x6c733c20, + 0x34d58: 0x6c733e20, 0x34d59: 0x6c734020, 0x34d5a: 0x6c734220, 0x34d5b: 0x6c734420, + 0x34d5c: 0x6c734620, 0x34d5d: 0x6c734820, 0x34d5e: 0x6c734a20, 0x34d5f: 0x6c734c20, + 0x34d60: 0x6c734e20, 0x34d61: 0x6c735020, 0x34d62: 0x6c735220, 0x34d63: 0x6c735420, + 0x34d64: 0x6c735620, 0x34d65: 0x6c735820, 0x34d66: 0x6c735a20, 0x34d67: 0x6c735c20, + 0x34d68: 0x6c735e20, 0x34d69: 0x6c736020, 0x34d6a: 0x6c736220, 0x34d6b: 0x6c736420, + 0x34d6c: 0x6c736620, 0x34d6d: 0x6c736820, 0x34d6e: 0x6c736a20, 0x34d6f: 0x6c736c20, + 0x34d70: 0x6c736e20, 0x34d71: 0x6c737020, 0x34d72: 0x6c9ba220, 0x34d73: 0x6c9ba420, + 0x34d74: 0x6c9ba620, 0x34d75: 0x6c9ba820, 0x34d76: 0x6c9baa20, 0x34d77: 0x6c9bac20, + 0x34d78: 0x6c9bae20, 0x34d79: 0x6c9bb020, 0x34d7a: 0x6c9bb220, 0x34d7b: 0x6c9bb420, + 0x34d7c: 0x6c9bb620, 0x34d7d: 0x6c9bb820, 0x34d7e: 0x6c9bba20, 0x34d7f: 0x6c9bbc20, + // Block 0xd36, offset 0x34d80 + 0x34d80: 0x6c9bbe20, 0x34d81: 0x6c9bc020, 0x34d82: 0x6c9bc220, 0x34d83: 0x6c9bc420, + 0x34d84: 0x6c9bc620, 0x34d85: 0x6c9bc820, 0x34d86: 0x6c9bca20, 0x34d87: 0x6c9bcc20, + 0x34d88: 0x6c9bce20, 0x34d89: 0x6c9bd020, 0x34d8a: 0x6c9bd220, 0x34d8b: 0x6c9bd420, + 0x34d8c: 0x6c9bd620, 0x34d8d: 0x6c9bd820, 0x34d8e: 0x6c9bda20, 0x34d8f: 0x6c9bdc20, + 0x34d90: 0x6c9bde20, 0x34d91: 0x6c9be020, 0x34d92: 0x6c9be220, 0x34d93: 0x6c9be420, + 0x34d94: 0x6c9be620, 0x34d95: 0x6c9be820, 0x34d96: 0x6c9bea20, 0x34d97: 0x6c9bec20, + 0x34d98: 0x6c9bee20, 0x34d99: 0x6c9bf020, 0x34d9a: 0x6c9bf220, 0x34d9b: 0x6c9bf420, + 0x34d9c: 0x6c9bf620, 0x34d9d: 0x6c9bf820, 0x34d9e: 0x6c9bfa20, 0x34d9f: 0x6c9bfc20, + 0x34da0: 0x6c9bfe20, 0x34da1: 0x6c9c0020, 0x34da2: 0x6cc7ba20, 0x34da3: 0x6cc7bc20, + 0x34da4: 0x6cc7be20, 0x34da5: 0x6cc7c020, 0x34da6: 0x6cc7c220, 0x34da7: 0x6cc7c420, + 0x34da8: 0x6cc7c620, 0x34da9: 0x6cc7c820, 0x34daa: 0x6cc7ca20, 0x34dab: 0x6cc7cc20, + 0x34dac: 0x6cc7ce20, 0x34dad: 0x6cc7d020, 0x34dae: 0x6cc7d220, 0x34daf: 0x6cc7d420, + 0x34db0: 0x6cc7d620, 0x34db1: 0x6cc7d820, 0x34db2: 0x6cc7da20, 0x34db3: 0x6cc7dc20, + 0x34db4: 0x6cc7de20, 0x34db5: 0x6cc7e020, 0x34db6: 0x6cc7e220, 0x34db7: 0x6cc7e420, + 0x34db8: 0x6cc7e620, 0x34db9: 0x6cc7e820, 0x34dba: 0x6cc7ea20, 0x34dbb: 0x6cc7ec20, + 0x34dbc: 0x6cc7ee20, 0x34dbd: 0x6cc7f020, 0x34dbe: 0x6cc7f220, 0x34dbf: 0x6cc7f420, + // Block 0xd37, offset 0x34dc0 + 0x34dc0: 0x6cc7f620, 0x34dc1: 0x6cc7f820, 0x34dc2: 0x6cc7fa20, 0x34dc3: 0x6cc7fc20, + 0x34dc4: 0x6cc7fe20, 0x34dc5: 0x6cc80020, 0x34dc6: 0x6cc80220, 0x34dc7: 0x6cc80420, + 0x34dc8: 0x6cc80620, 0x34dc9: 0x6cc80820, 0x34dca: 0x6cc80a20, 0x34dcb: 0x6cc80c20, + 0x34dcc: 0x6cc80e20, 0x34dcd: 0x6cc81020, 0x34dce: 0x6cc81220, 0x34dcf: 0x6cc81420, + 0x34dd0: 0x6cc81620, 0x34dd1: 0x6cc81820, 0x34dd2: 0x6cc81a20, 0x34dd3: 0x6cc81c20, + 0x34dd4: 0x6cc81e20, 0x34dd5: 0x6cc82020, 0x34dd6: 0x6cc82220, 0x34dd7: 0x6cc82420, + 0x34dd8: 0x6cc82620, 0x34dd9: 0x6cc82820, 0x34dda: 0x6cc82a20, 0x34ddb: 0x6cc82c20, + 0x34ddc: 0x6cc82e20, 0x34ddd: 0x6cc83020, 0x34dde: 0x6cc83220, 0x34ddf: 0x6cc83420, + 0x34de0: 0x6cc83620, 0x34de1: 0x6cc83820, 0x34de2: 0x6cc83a20, 0x34de3: 0x6cc83c20, + 0x34de4: 0x6cf61a20, 0x34de5: 0x6cf61c20, 0x34de6: 0x6cf61e20, 0x34de7: 0x6cf62020, + 0x34de8: 0x6cf62220, 0x34de9: 0x6cf62420, 0x34dea: 0x6cf62620, 0x34deb: 0x6cf62820, + 0x34dec: 0x6cf62a20, 0x34ded: 0x6cf62c20, 0x34dee: 0x6cf62e20, 0x34def: 0x6cf63020, + 0x34df0: 0x6cf63220, 0x34df1: 0x6cf63420, 0x34df2: 0x6cf63620, 0x34df3: 0x6cf63820, + 0x34df4: 0x6cf63a20, 0x34df5: 0x6cf63c20, 0x34df6: 0x6cf63e20, 0x34df7: 0x6cf64020, + 0x34df8: 0x6cf64220, 0x34df9: 0x6cf64420, 0x34dfa: 0x6cf64620, 0x34dfb: 0x6cf64820, + 0x34dfc: 0x6cf64a20, 0x34dfd: 0x6cf64c20, 0x34dfe: 0x6cf64e20, 0x34dff: 0x6cf65020, + // Block 0xd38, offset 0x34e00 + 0x34e00: 0x6cf65220, 0x34e01: 0x6cf65420, 0x34e02: 0x6cf65620, 0x34e03: 0x6cf65820, + 0x34e04: 0x6cf65a20, 0x34e05: 0x6cf65c20, 0x34e06: 0x6cf65e20, 0x34e07: 0x6cf66020, + 0x34e08: 0x6cf66220, 0x34e09: 0x6cf66420, 0x34e0a: 0x6cf66620, 0x34e0b: 0x6cf66820, + 0x34e0c: 0x6cf66a20, 0x34e0d: 0x6cf66c20, 0x34e0e: 0x6cf66e20, 0x34e0f: 0x6cf67020, + 0x34e10: 0x6cf67220, 0x34e11: 0x6cf67420, 0x34e12: 0x6d259c20, 0x34e13: 0x6d259e20, + 0x34e14: 0x6d25a020, 0x34e15: 0x6d25a220, 0x34e16: 0x6d25a420, 0x34e17: 0x6d25a620, + 0x34e18: 0x6d25a820, 0x34e19: 0x6d25aa20, 0x34e1a: 0x6d25ac20, 0x34e1b: 0x6d25ae20, + 0x34e1c: 0x6d25b020, 0x34e1d: 0x6d25b220, 0x34e1e: 0x6d25b420, 0x34e1f: 0x6d25b620, + 0x34e20: 0x6d25b820, 0x34e21: 0x6cf1ac20, 0x34e22: 0x6d25ba20, 0x34e23: 0x6d25bc20, + 0x34e24: 0x6d25be20, 0x34e25: 0x6d25c020, 0x34e26: 0x6d25c220, 0x34e27: 0x6d25c420, + 0x34e28: 0x6d25c620, 0x34e29: 0x6d25c820, 0x34e2a: 0x6d25ca20, 0x34e2b: 0x6d25cc20, + 0x34e2c: 0x6d25ce20, 0x34e2d: 0x6d25d020, 0x34e2e: 0x6d25d220, 0x34e2f: 0x6d25d420, + 0x34e30: 0x6d25d620, 0x34e31: 0x6d25d820, 0x34e32: 0x6d25da20, 0x34e33: 0x6d25dc20, + 0x34e34: 0x6d25de20, 0x34e35: 0x6d25e020, 0x34e36: 0x6d25e220, 0x34e37: 0x6d25e420, + 0x34e38: 0x6d25e620, 0x34e39: 0x6d25e820, 0x34e3a: 0x6d25ea20, 0x34e3b: 0x6d531e20, + 0x34e3c: 0x6d532020, 0x34e3d: 0x6d532220, 0x34e3e: 0x6d532420, 0x34e3f: 0x6d532620, + // Block 0xd39, offset 0x34e40 + 0x34e40: 0x6d532820, 0x34e41: 0x6d532a20, 0x34e42: 0x6d532c20, 0x34e43: 0x6d532e20, + 0x34e44: 0x6d533020, 0x34e45: 0x6d533220, 0x34e46: 0x6d533420, 0x34e47: 0x6d533620, + 0x34e48: 0x6d533820, 0x34e49: 0x6d7e7020, 0x34e4a: 0x6d533a20, 0x34e4b: 0x6d533c20, + 0x34e4c: 0x6d533e20, 0x34e4d: 0x6d534020, 0x34e4e: 0x6d534220, 0x34e4f: 0x6d534420, + 0x34e50: 0x6d534620, 0x34e51: 0x6d534820, 0x34e52: 0x6d4d3220, 0x34e53: 0x6d534a20, + 0x34e54: 0x6d534c20, 0x34e55: 0x6d534e20, 0x34e56: 0x6d535020, 0x34e57: 0x6d535220, + 0x34e58: 0x6d535420, 0x34e59: 0x6d535620, 0x34e5a: 0x6d535820, 0x34e5b: 0x6d535a20, + 0x34e5c: 0x6d535c20, 0x34e5d: 0x6d535e20, 0x34e5e: 0x6d7e7220, 0x34e5f: 0x6d7e7420, + 0x34e60: 0x6d7e7620, 0x34e61: 0x6d7e7820, 0x34e62: 0x6d7e7a20, 0x34e63: 0x6d7e7c20, + 0x34e64: 0x6d7e7e20, 0x34e65: 0x6d7e8020, 0x34e66: 0x6d7e8220, 0x34e67: 0x6d7e8420, + 0x34e68: 0x6d7e8620, 0x34e69: 0x6d7e8820, 0x34e6a: 0x6d7e8a20, 0x34e6b: 0x6d7e8c20, + 0x34e6c: 0x6d7e8e20, 0x34e6d: 0x6d7e9020, 0x34e6e: 0x6d7e9220, 0x34e6f: 0x6d7e9420, + 0x34e70: 0x6d7e9620, 0x34e71: 0x6d7e9820, 0x34e72: 0x6d7e9a20, 0x34e73: 0x6d7e9c20, + 0x34e74: 0x6d7e9e20, 0x34e75: 0x6d7ea020, 0x34e76: 0x6d7ea220, 0x34e77: 0x6d7ea420, + 0x34e78: 0x6d7ea620, 0x34e79: 0x6d7ea820, 0x34e7a: 0x6d7eaa20, 0x34e7b: 0x6d7eac20, + 0x34e7c: 0x6d7eae20, 0x34e7d: 0x6d7eb020, 0x34e7e: 0x6d7eb220, 0x34e7f: 0x6d7eb420, + // Block 0xd3a, offset 0x34e80 + 0x34e80: 0x6d7eb620, 0x34e81: 0x6d7eb820, 0x34e82: 0x6d7eba20, 0x34e83: 0x6d7ebc20, + 0x34e84: 0x6d7ebe20, 0x34e85: 0x6d7ec020, 0x34e86: 0x6d7ec220, 0x34e87: 0x6d536020, + 0x34e88: 0x6d7ec420, 0x34e89: 0x6da57a20, 0x34e8a: 0x6da57c20, 0x34e8b: 0x6da57e20, + 0x34e8c: 0x6da58020, 0x34e8d: 0x6da58220, 0x34e8e: 0x6da58420, 0x34e8f: 0x6da58620, + 0x34e90: 0x6da58820, 0x34e91: 0x6da58a20, 0x34e92: 0x6da58c20, 0x34e93: 0x6da58e20, + 0x34e94: 0x6da59020, 0x34e95: 0x6da59220, 0x34e96: 0x6da59420, 0x34e97: 0x6da59620, + 0x34e98: 0x6da59820, 0x34e99: 0x6da59a20, 0x34e9a: 0x6da59c20, 0x34e9b: 0x6da59e20, + 0x34e9c: 0x6da5a020, 0x34e9d: 0x6da5a220, 0x34e9e: 0x6dc70e20, 0x34e9f: 0x6dc71020, + 0x34ea0: 0x6dc71220, 0x34ea1: 0x6dc71420, 0x34ea2: 0x6dc71620, 0x34ea3: 0x6dc71820, + 0x34ea4: 0x6dc71a20, 0x34ea5: 0x6dc71c20, 0x34ea6: 0x6dc71e20, 0x34ea7: 0x6dc72020, + 0x34ea8: 0x6dc72220, 0x34ea9: 0x6dc72420, 0x34eaa: 0x6dc72620, 0x34eab: 0x6dc72820, + 0x34eac: 0x6dc72a20, 0x34ead: 0x6dc72c20, 0x34eae: 0x6dc72e20, 0x34eaf: 0x6dc73020, + 0x34eb0: 0x6dc73220, 0x34eb1: 0x6dc73420, 0x34eb2: 0x6de39420, 0x34eb3: 0x6de39620, + 0x34eb4: 0x6de39820, 0x34eb5: 0x6de39a20, 0x34eb6: 0x6de39c20, 0x34eb7: 0x6de39e20, + 0x34eb8: 0x6de3a020, 0x34eb9: 0x6de3a220, 0x34eba: 0x6de3a420, 0x34ebb: 0x6de3a620, + 0x34ebc: 0x6de3a820, 0x34ebd: 0x6de3aa20, 0x34ebe: 0x6de3ac20, 0x34ebf: 0x6dfaec20, + // Block 0xd3b, offset 0x34ec0 + 0x34ec0: 0x6dfaee20, 0x34ec1: 0x6dfaf020, 0x34ec2: 0x6dfaf220, 0x34ec3: 0x6dfaf420, + 0x34ec4: 0x6dfaf620, 0x34ec5: 0x6dfaf820, 0x34ec6: 0x6dfafa20, 0x34ec7: 0x6dfafc20, + 0x34ec8: 0x6e0e4820, 0x34ec9: 0x6e0e4a20, 0x34eca: 0x6e0e4c20, 0x34ecb: 0x6e0e4e20, + 0x34ecc: 0x6e0e5020, 0x34ecd: 0x6e1d9e20, 0x34ece: 0x6e1da020, 0x34ecf: 0x6e1da220, + 0x34ed0: 0x6e1da420, 0x34ed1: 0x6e1da620, 0x34ed2: 0x6e1da820, 0x34ed3: 0x6e1daa20, + 0x34ed4: 0x6e1dac20, 0x34ed5: 0x6e1dae20, 0x34ed6: 0x6e293620, 0x34ed7: 0x6e324e20, + 0x34ed8: 0x6e325020, 0x34ed9: 0x6e325220, 0x34eda: 0x6e348820, 0x34edb: 0x6e325420, + 0x34edc: 0x6e38aa20, 0x34edd: 0x6e38ac20, 0x34ede: 0x6e40ba20, 0x34edf: 0x6e42a220, + 0x34ee0: 0x6e46e620, 0x34ee1: 0x6c21a020, 0x34ee2: 0x6c21a220, 0x34ee3: 0x6c364220, + 0x34ee4: 0x6c364420, 0x34ee5: 0x6c364620, 0x34ee6: 0x6c364820, 0x34ee7: 0x6c516020, + 0x34ee8: 0x6c516220, 0x34ee9: 0x6c516420, 0x34eea: 0x6c516620, 0x34eeb: 0x6c516820, + 0x34eec: 0x6c516a20, 0x34eed: 0x6c739420, 0x34eee: 0x6c739620, 0x34eef: 0x6c739820, + 0x34ef0: 0x6c739a20, 0x34ef1: 0x6c739c20, 0x34ef2: 0x6c739e20, 0x34ef3: 0x6c73a020, + 0x34ef4: 0x6c73a220, 0x34ef5: 0x6c73a420, 0x34ef6: 0x6c73a620, 0x34ef7: 0x6c9c0e20, + 0x34ef8: 0x6c9c1020, 0x34ef9: 0x6c9c1220, 0x34efa: 0x6c9c1420, 0x34efb: 0x6cc85220, + 0x34efc: 0x6cc85420, 0x34efd: 0x6cc85620, 0x34efe: 0x6cf68a20, 0x34eff: 0x6cf68c20, + // Block 0xd3c, offset 0x34f00 + 0x34f00: 0x6cf68e20, 0x34f01: 0x6cf69020, 0x34f02: 0x6cf69220, 0x34f03: 0x6d25fc20, + 0x34f04: 0x6d25fe20, 0x34f05: 0x6d260020, 0x34f06: 0x6d537420, 0x34f07: 0x6d537620, + 0x34f08: 0x6d537820, 0x34f09: 0x6d537a20, 0x34f0a: 0x6d537c20, 0x34f0b: 0x6d7ed820, + 0x34f0c: 0x6d7eda20, 0x34f0d: 0x6d7edc20, 0x34f0e: 0x6d7ede20, 0x34f0f: 0x6da5ac20, + 0x34f10: 0x6da5ae20, 0x34f11: 0x6dc73e20, 0x34f12: 0x6dc74020, 0x34f13: 0x6dc74220, + 0x34f14: 0x6dc74420, 0x34f15: 0x6dc74620, 0x34f16: 0x6de3ae20, 0x34f17: 0x6de3b020, + 0x34f18: 0x6dfafe20, 0x34f19: 0x6dfb0020, 0x34f1a: 0x6e325820, 0x34f1b: 0x6e42a420, + 0x34f1c: 0x6e46c620, 0x34f1d: 0x6c096020, 0x34f1e: 0x6c127620, 0x34f1f: 0x6c21a420, + 0x34f20: 0x6c21a620, 0x34f21: 0x6c21a820, 0x34f22: 0x6c21aa20, 0x34f23: 0x6c21ac20, + 0x34f24: 0x6c365420, 0x34f25: 0x6c517420, 0x34f26: 0x6c517620, 0x34f27: 0x6c517820, + 0x34f28: 0x6c5dc820, 0x34f29: 0x6c517a20, 0x34f2a: 0x6c517c20, 0x34f2b: 0x6c517e20, + 0x34f2c: 0x6c518020, 0x34f2d: 0x6c73b620, 0x34f2e: 0x6c73b820, 0x34f2f: 0x6c825c20, + 0x34f30: 0x6c825e20, 0x34f31: 0x6c9c2420, 0x34f32: 0x6c9c2620, 0x34f33: 0x6c9c2820, + 0x34f34: 0x6c9c2a20, 0x34f35: 0x6c9c2c20, 0x34f36: 0x6c9c2e20, 0x34f37: 0x6cc86220, + 0x34f38: 0x6cc86420, 0x34f39: 0x6cc86620, 0x34f3a: 0x6cc86820, 0x34f3b: 0x6cc86a20, + 0x34f3c: 0x6cc86c20, 0x34f3d: 0x6cc86e20, 0x34f3e: 0x6cc87020, 0x34f3f: 0x6cc87220, + // Block 0xd3d, offset 0x34f40 + 0x34f40: 0x6cc87420, 0x34f41: 0x6cc87620, 0x34f42: 0x6cc87820, 0x34f43: 0x6cc87a20, + 0x34f44: 0x6cf69820, 0x34f45: 0x6cf69a20, 0x34f46: 0x6cf69c20, 0x34f47: 0x6cf69e20, + 0x34f48: 0x6cf6a020, 0x34f49: 0x6cf6a220, 0x34f4a: 0x6cf6a420, 0x34f4b: 0x6cf6a620, + 0x34f4c: 0x6cf6a820, 0x34f4d: 0x6d260820, 0x34f4e: 0x6d260a20, 0x34f4f: 0x6d260c20, + 0x34f50: 0x6d260e20, 0x34f51: 0x6d261020, 0x34f52: 0x6d538820, 0x34f53: 0x6d538a20, + 0x34f54: 0x6d538c20, 0x34f55: 0x6d538e20, 0x34f56: 0x6d539020, 0x34f57: 0x6d539220, + 0x34f58: 0x6d539420, 0x34f59: 0x6d539620, 0x34f5a: 0x6d7eec20, 0x34f5b: 0x6d7eee20, + 0x34f5c: 0x6da5b220, 0x34f5d: 0x6d7ef020, 0x34f5e: 0x6d7ef220, 0x34f5f: 0x6d7ef420, + 0x34f60: 0x6d7ef620, 0x34f61: 0x6d7ef820, 0x34f62: 0x6d7efa20, 0x34f63: 0x6da5b420, + 0x34f64: 0x6da5b620, 0x34f65: 0x6da5b820, 0x34f66: 0x6da5ba20, 0x34f67: 0x6da5bc20, + 0x34f68: 0x6da5be20, 0x34f69: 0x6dc74a20, 0x34f6a: 0x6dc74c20, 0x34f6b: 0x6dc74e20, + 0x34f6c: 0x6dc75020, 0x34f6d: 0x6dc75220, 0x34f6e: 0x6dfb0420, 0x34f6f: 0x6dfb0620, + 0x34f70: 0x6e1db020, 0x34f71: 0x6e293820, 0x34f72: 0x6e325a20, 0x34f73: 0x6c04a220, + 0x34f74: 0x6c04a420, 0x34f75: 0x6c097020, 0x34f76: 0x6c097220, 0x34f77: 0x6c097420, + 0x34f78: 0x6c12a220, 0x34f79: 0x6c12a420, 0x34f7a: 0x6c12a620, 0x34f7b: 0x6c12a820, + 0x34f7c: 0x6c12aa20, 0x34f7d: 0x6c12ac20, 0x34f7e: 0x6c12ae20, 0x34f7f: 0x6c12b020, + // Block 0xd3e, offset 0x34f80 + 0x34f80: 0x6c12b220, 0x34f81: 0x6c220820, 0x34f82: 0x6c220a20, 0x34f83: 0x6c220c20, + 0x34f84: 0x6c220e20, 0x34f85: 0x6c221020, 0x34f86: 0x6c221220, 0x34f87: 0x6c221420, + 0x34f88: 0x6c221620, 0x34f89: 0x6c221820, 0x34f8a: 0x6c221a20, 0x34f8b: 0x6c221c20, + 0x34f8c: 0x6c221e20, 0x34f8d: 0x6c222020, 0x34f8e: 0x6c222220, 0x34f8f: 0x6c222420, + 0x34f90: 0x6c222620, 0x34f91: 0x6c222820, 0x34f92: 0x6c222a20, 0x34f93: 0x6c222c20, + 0x34f94: 0x6c36f220, 0x34f95: 0x6c36f420, 0x34f96: 0x6c36f620, 0x34f97: 0x6c36f820, + 0x34f98: 0x6c36fa20, 0x34f99: 0x6c36fc20, 0x34f9a: 0x6c36fe20, 0x34f9b: 0x6c370020, + 0x34f9c: 0x6c370220, 0x34f9d: 0x6c370420, 0x34f9e: 0x6c370620, 0x34f9f: 0x6c370820, + 0x34fa0: 0x6c370a20, 0x34fa1: 0x6c370c20, 0x34fa2: 0x6c370e20, 0x34fa3: 0x6c371020, + 0x34fa4: 0x6c371220, 0x34fa5: 0x6c371420, 0x34fa6: 0x6c371620, 0x34fa7: 0x6c371820, + 0x34fa8: 0x6c371a20, 0x34fa9: 0x6c371c20, 0x34faa: 0x6c371e20, 0x34fab: 0x6c372020, + 0x34fac: 0x6c372220, 0x34fad: 0x6c372420, 0x34fae: 0x6c372620, 0x34faf: 0x6c372820, + 0x34fb0: 0x6c372a20, 0x34fb1: 0x6c372c20, 0x34fb2: 0x6c372e20, 0x34fb3: 0x6c373020, + 0x34fb4: 0x6c373220, 0x34fb5: 0x6c373420, 0x34fb6: 0x6c373620, 0x34fb7: 0x6c373820, + 0x34fb8: 0x6c373a20, 0x34fb9: 0x6c373c20, 0x34fba: 0x6c373e20, 0x34fbb: 0x6c374020, + 0x34fbc: 0x6c374220, 0x34fbd: 0x6c374420, 0x34fbe: 0x6c374620, 0x34fbf: 0x6c374820, + // Block 0xd3f, offset 0x34fc0 + 0x34fc0: 0x6c374a20, 0x34fc1: 0x6c374c20, 0x34fc2: 0x6c374e20, 0x34fc3: 0x6c375020, + 0x34fc4: 0x6c375220, 0x34fc5: 0x6c375420, 0x34fc6: 0x6c375620, 0x34fc7: 0x6c375820, + 0x34fc8: 0x6c525420, 0x34fc9: 0x6c525620, 0x34fca: 0x6c525820, 0x34fcb: 0x6c525a20, + 0x34fcc: 0x6c525c20, 0x34fcd: 0x6c525e20, 0x34fce: 0x6c526020, 0x34fcf: 0x6c526220, + 0x34fd0: 0x6c526420, 0x34fd1: 0x6c526620, 0x34fd2: 0x6c526820, 0x34fd3: 0x6c526a20, + 0x34fd4: 0x6c526c20, 0x34fd5: 0x6c526e20, 0x34fd6: 0x6c527020, 0x34fd7: 0x6c527220, + 0x34fd8: 0x6c527420, 0x34fd9: 0x6c527620, 0x34fda: 0x6c527820, 0x34fdb: 0x6c527a20, + 0x34fdc: 0x6c527c20, 0x34fdd: 0x6c527e20, 0x34fde: 0x6c528020, 0x34fdf: 0x6c528220, + 0x34fe0: 0x6c528420, 0x34fe1: 0x6c528620, 0x34fe2: 0x6c528820, 0x34fe3: 0x6c528a20, + 0x34fe4: 0x6c528c20, 0x34fe5: 0x6c528e20, 0x34fe6: 0x6c529020, 0x34fe7: 0x6c529220, + 0x34fe8: 0x6c529420, 0x34fe9: 0x6c529620, 0x34fea: 0x6c529820, 0x34feb: 0x6c529a20, + 0x34fec: 0x6c529c20, 0x34fed: 0x6c529e20, 0x34fee: 0x6c52a020, 0x34fef: 0x6c52a220, + 0x34ff0: 0x6c52a420, 0x34ff1: 0x6c52a620, 0x34ff2: 0x6c52a820, 0x34ff3: 0x6c52aa20, + 0x34ff4: 0x6c52ac20, 0x34ff5: 0x6c749820, 0x34ff6: 0x6c749a20, 0x34ff7: 0x6c749c20, + 0x34ff8: 0x6c749e20, 0x34ff9: 0x6c74a020, 0x34ffa: 0x6c74a220, 0x34ffb: 0x6c74a420, + 0x34ffc: 0x6c74a620, 0x34ffd: 0x6c74a820, 0x34ffe: 0x6c74aa20, 0x34fff: 0x6c74ac20, + // Block 0xd40, offset 0x35000 + 0x35000: 0x6c74ae20, 0x35001: 0x6c74b020, 0x35002: 0x6c74b220, 0x35003: 0x6c74b420, + 0x35004: 0x6c74b620, 0x35005: 0x6c74b820, 0x35006: 0x6c74ba20, 0x35007: 0x6c74bc20, + 0x35008: 0x6c74be20, 0x35009: 0x6c74c020, 0x3500a: 0x6c74c220, 0x3500b: 0x6c74c420, + 0x3500c: 0x6c74c620, 0x3500d: 0x6c74c820, 0x3500e: 0x6c74ca20, 0x3500f: 0x6c74cc20, + 0x35010: 0x6c74ce20, 0x35011: 0x6c74d020, 0x35012: 0x6c74d220, 0x35013: 0x6c74d420, + 0x35014: 0x6c74d620, 0x35015: 0x6c74d820, 0x35016: 0x6c74da20, 0x35017: 0x6c74dc20, + 0x35018: 0x6c74de20, 0x35019: 0x6c74e020, 0x3501a: 0x6c74e220, 0x3501b: 0x6c74e420, + 0x3501c: 0x6c74e620, 0x3501d: 0x6c74e820, 0x3501e: 0x6c74ea20, 0x3501f: 0x6c74ec20, + 0x35020: 0x6c74ee20, 0x35021: 0x6c74f020, 0x35022: 0x6c74f220, 0x35023: 0x6c74f420, + 0x35024: 0x6c74f620, 0x35025: 0x6c74f820, 0x35026: 0x6c74fa20, 0x35027: 0x6c6a4c20, + 0x35028: 0x6c74fc20, 0x35029: 0x6c74fe20, 0x3502a: 0x6c750020, 0x3502b: 0x6c750220, + 0x3502c: 0x6c750420, 0x3502d: 0x6c750620, 0x3502e: 0x6c750820, 0x3502f: 0x6c750a20, + 0x35030: 0x6c750c20, 0x35031: 0x6c750e20, 0x35032: 0x6c751020, 0x35033: 0x6c751220, + 0x35034: 0x6c751420, 0x35035: 0x6c751620, 0x35036: 0x6c751820, 0x35037: 0x6c751a20, + 0x35038: 0x6c751c20, 0x35039: 0x6c751e20, 0x3503a: 0x6c752020, 0x3503b: 0x6c752220, + 0x3503c: 0x6c752420, 0x3503d: 0x6c752620, 0x3503e: 0x6c752820, 0x3503f: 0x6c9d0220, + // Block 0xd41, offset 0x35040 + 0x35040: 0x6c9d0420, 0x35041: 0x6c9d0620, 0x35042: 0x6c9d0820, 0x35043: 0x6c9d0a20, + 0x35044: 0x6c9d0c20, 0x35045: 0x6c9d0e20, 0x35046: 0x6c9d1020, 0x35047: 0x6c9d1220, + 0x35048: 0x6c9d1420, 0x35049: 0x6c9d1620, 0x3504a: 0x6c9d1820, 0x3504b: 0x6c9d1a20, + 0x3504c: 0x6c9d1c20, 0x3504d: 0x6c9d1e20, 0x3504e: 0x6c9d2020, 0x3504f: 0x6c9d2220, + 0x35050: 0x6c9d2420, 0x35051: 0x6c9d2620, 0x35052: 0x6c9d2820, 0x35053: 0x6c9d2a20, + 0x35054: 0x6c9d2c20, 0x35055: 0x6c9d2e20, 0x35056: 0x6c9d3020, 0x35057: 0x6c9d3220, + 0x35058: 0x6c9d3420, 0x35059: 0x6c9d3620, 0x3505a: 0x6c9d3820, 0x3505b: 0x6c9d3a20, + 0x3505c: 0x6c9d3c20, 0x3505d: 0x6c9d3e20, 0x3505e: 0x6c9d4020, 0x3505f: 0x6c9d4220, + 0x35060: 0x6c9d4420, 0x35061: 0x6c9d4620, 0x35062: 0x6c9d4820, 0x35063: 0x6c9d4a20, + 0x35064: 0x6c9d4c20, 0x35065: 0x6c9d4e20, 0x35066: 0x6c9d5020, 0x35067: 0x6c9d5220, + 0x35068: 0x6c9d5420, 0x35069: 0x6c9d5620, 0x3506a: 0x6c9d5820, 0x3506b: 0x6c9d5a20, + 0x3506c: 0x6c9d5c20, 0x3506d: 0x6c9d5e20, 0x3506e: 0x6c9d6020, 0x3506f: 0x6c9d6220, + 0x35070: 0x6c9d6420, 0x35071: 0x6c9d6620, 0x35072: 0x6c9d6820, 0x35073: 0x6c9d6a20, + 0x35074: 0x6c9d6c20, 0x35075: 0x6c9d6e20, 0x35076: 0x6c9d7020, 0x35077: 0x6c9d7220, + 0x35078: 0x6c9d7420, 0x35079: 0x6c9d7620, 0x3507a: 0x6c9d7820, 0x3507b: 0x6c9d7a20, + 0x3507c: 0x6c9d7c20, 0x3507d: 0x6c9d7e20, 0x3507e: 0x6c9d8020, 0x3507f: 0x6c9d8220, + // Block 0xd42, offset 0x35080 + 0x35080: 0x6c9d8420, 0x35081: 0x6cc98620, 0x35082: 0x6cc98820, 0x35083: 0x6cc98a20, + 0x35084: 0x6cc98c20, 0x35085: 0x6cc98e20, 0x35086: 0x6cc99020, 0x35087: 0x6cc99220, + 0x35088: 0x6cc99420, 0x35089: 0x6cc99620, 0x3508a: 0x6cc99820, 0x3508b: 0x6cc99a20, + 0x3508c: 0x6cc99c20, 0x3508d: 0x6cc99e20, 0x3508e: 0x6cc9a020, 0x3508f: 0x6cc9a220, + 0x35090: 0x6cc9a420, 0x35091: 0x6cc9a620, 0x35092: 0x6cc9a820, 0x35093: 0x6cc9aa20, + 0x35094: 0x6cc9ac20, 0x35095: 0x6cc9ae20, 0x35096: 0x6cc9b020, 0x35097: 0x6cc9b220, + 0x35098: 0x6cc9b420, 0x35099: 0x6cc9b620, 0x3509a: 0x6cc9b820, 0x3509b: 0x6cc9ba20, + 0x3509c: 0x6cc9bc20, 0x3509d: 0x6cc9be20, 0x3509e: 0x6cc9c020, 0x3509f: 0x6cc9c220, + 0x350a0: 0x6cc9c420, 0x350a1: 0x6cc9c620, 0x350a2: 0x6cc9c820, 0x350a3: 0x6cc9ca20, + 0x350a4: 0x6cc9cc20, 0x350a5: 0x6cc9ce20, 0x350a6: 0x6cc9d020, 0x350a7: 0x6cc9d220, + 0x350a8: 0x6cc9d420, 0x350a9: 0x6cc9d620, 0x350aa: 0x6cc9d820, 0x350ab: 0x6cc9da20, + 0x350ac: 0x6cc9dc20, 0x350ad: 0x6cc9de20, 0x350ae: 0x6cc9e020, 0x350af: 0x6cc9e220, + 0x350b0: 0x6cc9e420, 0x350b1: 0x6cc9e620, 0x350b2: 0x6cc9e820, 0x350b3: 0x6cc9ea20, + 0x350b4: 0x6cc9ec20, 0x350b5: 0x6cc9ee20, 0x350b6: 0x6cc9f020, 0x350b7: 0x6cc9f220, + 0x350b8: 0x6cc9f420, 0x350b9: 0x6cc9f620, 0x350ba: 0x6cc9f820, 0x350bb: 0x6cc9fa20, + 0x350bc: 0x6cc9fc20, 0x350bd: 0x6cc9fe20, 0x350be: 0x6cca0020, 0x350bf: 0x6cca0220, + // Block 0xd43, offset 0x350c0 + 0x350c0: 0x6cca0420, 0x350c1: 0x6cca0620, 0x350c2: 0x6cca0820, 0x350c3: 0x6cca0a20, + 0x350c4: 0x6cca0c20, 0x350c5: 0x6cca0e20, 0x350c6: 0x6cca1020, 0x350c7: 0x6cca1220, + 0x350c8: 0x6cca1420, 0x350c9: 0x6cca1620, 0x350ca: 0x6cca1820, 0x350cb: 0x6cca1a20, + 0x350cc: 0x6cca1c20, 0x350cd: 0x6cca1e20, 0x350ce: 0x6cca2020, 0x350cf: 0x6cca2220, + 0x350d0: 0x6cca2420, 0x350d1: 0x6cca2620, 0x350d2: 0x6cca2820, 0x350d3: 0x6cca2a20, + 0x350d4: 0x6cca2c20, 0x350d5: 0x6cca2e20, 0x350d6: 0x6cca3020, 0x350d7: 0x6cca3220, + 0x350d8: 0x6cca3420, 0x350d9: 0x6cca3620, 0x350da: 0x6cca3820, 0x350db: 0x6cca3a20, + 0x350dc: 0x6cca3c20, 0x350dd: 0x6cca3e20, 0x350de: 0x6cca4020, 0x350df: 0x6cca4220, + 0x350e0: 0x6cca4420, 0x350e1: 0x6cca4620, 0x350e2: 0x6cca4820, 0x350e3: 0x6cca4a20, + 0x350e4: 0x6cca4c20, 0x350e5: 0x6cca4e20, 0x350e6: 0x6cca5020, 0x350e7: 0x6cca5220, + 0x350e8: 0x6cca5420, 0x350e9: 0x6cca5620, 0x350ea: 0x6cca5820, 0x350eb: 0x6cca5a20, + 0x350ec: 0x6cca5c20, 0x350ed: 0x6cca5e20, 0x350ee: 0x6cca6020, 0x350ef: 0x6cca6220, + 0x350f0: 0x6cca6420, 0x350f1: 0x6cf79c20, 0x350f2: 0x6cf79e20, 0x350f3: 0x6cf7a020, + 0x350f4: 0x6cf7a220, 0x350f5: 0x6cf7a420, 0x350f6: 0x6cf7a620, 0x350f7: 0x6cf7a820, + 0x350f8: 0x6cf7aa20, 0x350f9: 0x6cf7ac20, 0x350fa: 0x6cf7ae20, 0x350fb: 0x6cf7b020, + 0x350fc: 0x6cf7b220, 0x350fd: 0x6cf7b420, 0x350fe: 0x6cf7b620, 0x350ff: 0x6cf7b820, + // Block 0xd44, offset 0x35100 + 0x35100: 0x6cf7ba20, 0x35101: 0x6cf7bc20, 0x35102: 0x6cf7be20, 0x35103: 0x6cf7c020, + 0x35104: 0x6cf7c220, 0x35105: 0x6cf7c420, 0x35106: 0x6cf7c620, 0x35107: 0x6cf7c820, + 0x35108: 0x6cf7ca20, 0x35109: 0x6cf7cc20, 0x3510a: 0x6cf7ce20, 0x3510b: 0x6cf7d020, + 0x3510c: 0x6cf7d220, 0x3510d: 0x6cf7d420, 0x3510e: 0x6cf7d620, 0x3510f: 0x6cf7d820, + 0x35110: 0x6cf7da20, 0x35111: 0x6cf7dc20, 0x35112: 0x6cf7de20, 0x35113: 0x6cf7e020, + 0x35114: 0x6cf7e220, 0x35115: 0x6cf7e420, 0x35116: 0x6cf7e620, 0x35117: 0x6cf7e820, + 0x35118: 0x6cf7ea20, 0x35119: 0x6cf7ec20, 0x3511a: 0x6cf7ee20, 0x3511b: 0x6cf7f020, + 0x3511c: 0x6cf7f220, 0x3511d: 0x6cf7f420, 0x3511e: 0x6cf7f620, 0x3511f: 0x6cf7f820, + 0x35120: 0x6cf7fa20, 0x35121: 0x6cf7fc20, 0x35122: 0x6cf7fe20, 0x35123: 0x6cf80020, + 0x35124: 0x6d26fa20, 0x35125: 0x6cf80220, 0x35126: 0x6cf80420, 0x35127: 0x6cf80620, + 0x35128: 0x6cf80820, 0x35129: 0x6cf80a20, 0x3512a: 0x6cf80c20, 0x3512b: 0x6cf80e20, + 0x3512c: 0x6cf81020, 0x3512d: 0x6cf81220, 0x3512e: 0x6cf81420, 0x3512f: 0x6cf81620, + 0x35130: 0x6cf81820, 0x35131: 0x6cf81a20, 0x35132: 0x6cf81c20, 0x35133: 0x6cf81e20, + 0x35134: 0x6cf82020, 0x35135: 0x6cf82220, 0x35136: 0x6cf82420, 0x35137: 0x6cf82620, + 0x35138: 0x6cf82820, 0x35139: 0x6cf82a20, 0x3513a: 0x6cf82c20, 0x3513b: 0x6cf82e20, + 0x3513c: 0x6cf83020, 0x3513d: 0x6cf83220, 0x3513e: 0x6cf83420, 0x3513f: 0x6cf83620, + // Block 0xd45, offset 0x35140 + 0x35140: 0x6cf83820, 0x35141: 0x6cf83a20, 0x35142: 0x6cf83c20, 0x35143: 0x6cf83e20, + 0x35144: 0x6cf84020, 0x35145: 0x6cf84220, 0x35146: 0x6cf84420, 0x35147: 0x6cf84620, + 0x35148: 0x6cf84820, 0x35149: 0x6cf84a20, 0x3514a: 0x6cf84c20, 0x3514b: 0x6cf84e20, + 0x3514c: 0x6cf85020, 0x3514d: 0x6cf85220, 0x3514e: 0x6cf85420, 0x3514f: 0x6cf85620, + 0x35150: 0x6cf85820, 0x35151: 0x6cf85a20, 0x35152: 0x6cf85c20, 0x35153: 0x6cf85e20, + 0x35154: 0x6cf86020, 0x35155: 0x6cf86220, 0x35156: 0x6cf86420, 0x35157: 0x6cf86620, + 0x35158: 0x6cf86820, 0x35159: 0x6cf86a20, 0x3515a: 0x6cf86c20, 0x3515b: 0x6cf86e20, + 0x3515c: 0x6cf87020, 0x3515d: 0x6cf87220, 0x3515e: 0x6cf87420, 0x3515f: 0x6cf87620, + 0x35160: 0x6cf87820, 0x35161: 0x6cf87a20, 0x35162: 0x6cf87c20, 0x35163: 0x6cf87e20, + 0x35164: 0x6cf88020, 0x35165: 0x6cf88220, 0x35166: 0x6cf88420, 0x35167: 0x6cf88620, + 0x35168: 0x6cf88820, 0x35169: 0x6cf88a20, 0x3516a: 0x6d26fc20, 0x3516b: 0x6d26fe20, + 0x3516c: 0x6d270020, 0x3516d: 0x6d270220, 0x3516e: 0x6d270420, 0x3516f: 0x6d270620, + 0x35170: 0x6d270820, 0x35171: 0x6d270a20, 0x35172: 0x6d270c20, 0x35173: 0x6d270e20, + 0x35174: 0x6d271020, 0x35175: 0x6d271220, 0x35176: 0x6d271420, 0x35177: 0x6d271620, + 0x35178: 0x6d271820, 0x35179: 0x6d271a20, 0x3517a: 0x6d271c20, 0x3517b: 0x6d271e20, + 0x3517c: 0x6d272020, 0x3517d: 0x6d272220, 0x3517e: 0x6d272420, 0x3517f: 0x6d272620, + // Block 0xd46, offset 0x35180 + 0x35180: 0x6d272820, 0x35181: 0x6d272a20, 0x35182: 0x6d272c20, 0x35183: 0x6d272e20, + 0x35184: 0x6d273020, 0x35185: 0x6d273220, 0x35186: 0x6d273420, 0x35187: 0x6d273620, + 0x35188: 0x6d273820, 0x35189: 0x6d273a20, 0x3518a: 0x6d273c20, 0x3518b: 0x6d273e20, + 0x3518c: 0x6d274020, 0x3518d: 0x6d274220, 0x3518e: 0x6d274420, 0x3518f: 0x6d274620, + 0x35190: 0x6d274820, 0x35191: 0x6d274a20, 0x35192: 0x6d274c20, 0x35193: 0x6d274e20, + 0x35194: 0x6d275020, 0x35195: 0x6d275220, 0x35196: 0x6d275420, 0x35197: 0x6d275620, + 0x35198: 0x6d275820, 0x35199: 0x6d275a20, 0x3519a: 0x6d275c20, 0x3519b: 0x6d275e20, + 0x3519c: 0x6d276020, 0x3519d: 0x6d276220, 0x3519e: 0x6d276420, 0x3519f: 0x6d276620, + 0x351a0: 0x6d276820, 0x351a1: 0x6d276a20, 0x351a2: 0x6d276c20, 0x351a3: 0x6d276e20, + 0x351a4: 0x6d277020, 0x351a5: 0x6d277220, 0x351a6: 0x6d277420, 0x351a7: 0x6d277620, + 0x351a8: 0x6d277820, 0x351a9: 0x6d277a20, 0x351aa: 0x6d277c20, 0x351ab: 0x6d277e20, + 0x351ac: 0x6d278020, 0x351ad: 0x6d278220, 0x351ae: 0x6d278420, 0x351af: 0x6d278620, + 0x351b0: 0x6d278820, 0x351b1: 0x6d278a20, 0x351b2: 0x6d278c20, 0x351b3: 0x6d278e20, + 0x351b4: 0x6d279020, 0x351b5: 0x6d279220, 0x351b6: 0x6d279420, 0x351b7: 0x6d279620, + 0x351b8: 0x6d279820, 0x351b9: 0x6d279a20, 0x351ba: 0x6d279c20, 0x351bb: 0x6d279e20, + 0x351bc: 0x6d27a020, 0x351bd: 0x6d27a220, 0x351be: 0x6d27a420, 0x351bf: 0x6d27a620, + // Block 0xd47, offset 0x351c0 + 0x351c0: 0x6d27a820, 0x351c1: 0x6d27aa20, 0x351c2: 0x6d27ac20, 0x351c3: 0x6d27ae20, + 0x351c4: 0x6d27b020, 0x351c5: 0x6d27b220, 0x351c6: 0x6d27b420, 0x351c7: 0x6d27b620, + 0x351c8: 0x6d27b820, 0x351c9: 0x6d27ba20, 0x351ca: 0x6d27bc20, 0x351cb: 0x6d27be20, + 0x351cc: 0x6d27c020, 0x351cd: 0x6d27c220, 0x351ce: 0x6d27c420, 0x351cf: 0x6d27c620, + 0x351d0: 0x6d27c820, 0x351d1: 0x6d27ca20, 0x351d2: 0x6d27cc20, 0x351d3: 0x6d27ce20, + 0x351d4: 0x6d27d020, 0x351d5: 0x6d546220, 0x351d6: 0x6d546420, 0x351d7: 0x6d546620, + 0x351d8: 0x6d546820, 0x351d9: 0x6d546a20, 0x351da: 0x6d546c20, 0x351db: 0x6d546e20, + 0x351dc: 0x6d547020, 0x351dd: 0x6d547220, 0x351de: 0x6d547420, 0x351df: 0x6d547620, + 0x351e0: 0x6d547820, 0x351e1: 0x6d547a20, 0x351e2: 0x6d547c20, 0x351e3: 0x6d547e20, + 0x351e4: 0x6d548020, 0x351e5: 0x6d548220, 0x351e6: 0x6d548420, 0x351e7: 0x6d548620, + 0x351e8: 0x6d548820, 0x351e9: 0x6d548a20, 0x351ea: 0x6d548c20, 0x351eb: 0x6d548e20, + 0x351ec: 0x6d549020, 0x351ed: 0x6d549220, 0x351ee: 0x6d549420, 0x351ef: 0x6d549620, + 0x351f0: 0x6d549820, 0x351f1: 0x6d549a20, 0x351f2: 0x6d549c20, 0x351f3: 0x6d549e20, + 0x351f4: 0x6d54a020, 0x351f5: 0x6d54a220, 0x351f6: 0x6d54a420, 0x351f7: 0x6d54a620, + 0x351f8: 0x6d54a820, 0x351f9: 0x6d54aa20, 0x351fa: 0x6d54ac20, 0x351fb: 0x6d54ae20, + 0x351fc: 0x6d54b020, 0x351fd: 0x6d54b220, 0x351fe: 0x6d54b420, 0x351ff: 0x6d54b620, + // Block 0xd48, offset 0x35200 + 0x35200: 0x6d54b820, 0x35201: 0x6d54ba20, 0x35202: 0x6d54bc20, 0x35203: 0x6d54be20, + 0x35204: 0x6d54c020, 0x35205: 0x6d54c220, 0x35206: 0x6d54c420, 0x35207: 0x6d54c620, + 0x35208: 0x6d54c820, 0x35209: 0x6d54ca20, 0x3520a: 0x6d54cc20, 0x3520b: 0x6d54ce20, + 0x3520c: 0x6d54d020, 0x3520d: 0x6d54d220, 0x3520e: 0x6d54d420, 0x3520f: 0x6d54d620, + 0x35210: 0x6d54d820, 0x35211: 0x6d54da20, 0x35212: 0x6d7fc220, 0x35213: 0x6d54dc20, + 0x35214: 0x6d54de20, 0x35215: 0x6d54e020, 0x35216: 0x6d54e220, 0x35217: 0x6d54e420, + 0x35218: 0x6d54e620, 0x35219: 0x6d54e820, 0x3521a: 0x6d54ea20, 0x3521b: 0x6d54ec20, + 0x3521c: 0x6d54ee20, 0x3521d: 0x6d54f020, 0x3521e: 0x6d54f220, 0x3521f: 0x6d54f420, + 0x35220: 0x6d54f620, 0x35221: 0x6d54f820, 0x35222: 0x6d54fa20, 0x35223: 0x6d54fc20, + 0x35224: 0x6d54fe20, 0x35225: 0x6d550020, 0x35226: 0x6d550220, 0x35227: 0x6d550420, + 0x35228: 0x6d550620, 0x35229: 0x6d550820, 0x3522a: 0x6d550a20, 0x3522b: 0x6d550c20, + 0x3522c: 0x6d550e20, 0x3522d: 0x6d551020, 0x3522e: 0x6d551220, 0x3522f: 0x6d551420, + 0x35230: 0x6d551620, 0x35231: 0x6d551820, 0x35232: 0x6d551a20, 0x35233: 0x6d551c20, + 0x35234: 0x6d551e20, 0x35235: 0x6d552020, 0x35236: 0x6d552220, 0x35237: 0x6d552420, + 0x35238: 0x6d552620, 0x35239: 0x6d552820, 0x3523a: 0x6d552a20, 0x3523b: 0x6d7fc420, + 0x3523c: 0x6d7fc620, 0x3523d: 0x6d7fc820, 0x3523e: 0x6d7fca20, 0x3523f: 0x6d7fcc20, + // Block 0xd49, offset 0x35240 + 0x35240: 0x6d7fce20, 0x35241: 0x6d7fd020, 0x35242: 0x6d7fd220, 0x35243: 0x6d7fd420, + 0x35244: 0x6d7fd620, 0x35245: 0x6d7fd820, 0x35246: 0x6d7fda20, 0x35247: 0x6d7fdc20, + 0x35248: 0x6d7fde20, 0x35249: 0x6d7fe020, 0x3524a: 0x6d7fe220, 0x3524b: 0x6d7fe420, + 0x3524c: 0x6d7fe620, 0x3524d: 0x6d7fe820, 0x3524e: 0x6d7fea20, 0x3524f: 0x6d7fec20, + 0x35250: 0x6d7fee20, 0x35251: 0x6d7ff020, 0x35252: 0x6d7ff220, 0x35253: 0x6d7ff420, + 0x35254: 0x6d7ff620, 0x35255: 0x6d7ff820, 0x35256: 0x6d7ffa20, 0x35257: 0x6d7ffc20, + 0x35258: 0x6d7ffe20, 0x35259: 0x6d800020, 0x3525a: 0x6d800220, 0x3525b: 0x6d800420, + 0x3525c: 0x6d800620, 0x3525d: 0x6d800820, 0x3525e: 0x6d800a20, 0x3525f: 0x6d800c20, + 0x35260: 0x6d800e20, 0x35261: 0x6d801020, 0x35262: 0x6d801220, 0x35263: 0x6d801420, + 0x35264: 0x6d801620, 0x35265: 0x6d801820, 0x35266: 0x6d801a20, 0x35267: 0x6d801c20, + 0x35268: 0x6d801e20, 0x35269: 0x6d802020, 0x3526a: 0x6d802220, 0x3526b: 0x6d802420, + 0x3526c: 0x6d802620, 0x3526d: 0x6d802820, 0x3526e: 0x6d802a20, 0x3526f: 0x6d802c20, + 0x35270: 0x6d802e20, 0x35271: 0x6d803020, 0x35272: 0x6d803220, 0x35273: 0x6d803420, + 0x35274: 0x6d803620, 0x35275: 0x6d803820, 0x35276: 0x6d803a20, 0x35277: 0x6d803c20, + 0x35278: 0x6d803e20, 0x35279: 0x6d804020, 0x3527a: 0x6d804220, 0x3527b: 0x6d804420, + 0x3527c: 0x6d804620, 0x3527d: 0x6d804820, 0x3527e: 0x6d804a20, 0x3527f: 0x6d804c20, + // Block 0xd4a, offset 0x35280 + 0x35280: 0x6d804e20, 0x35281: 0x6d805020, 0x35282: 0x6d805220, 0x35283: 0x6d805420, + 0x35284: 0x6d805620, 0x35285: 0x6d805820, 0x35286: 0x6d805a20, 0x35287: 0x6d805c20, + 0x35288: 0x6d805e20, 0x35289: 0x6d806020, 0x3528a: 0x6d806220, 0x3528b: 0x6d806420, + 0x3528c: 0x6d806620, 0x3528d: 0x6d806820, 0x3528e: 0x6d806a20, 0x3528f: 0x6d806c20, + 0x35290: 0x6d806e20, 0x35291: 0x6d807020, 0x35292: 0x6d807220, 0x35293: 0x6d807420, + 0x35294: 0x6d807620, 0x35295: 0x6d807820, 0x35296: 0x6d807a20, 0x35297: 0x6d807c20, + 0x35298: 0x6d807e20, 0x35299: 0x6d808020, 0x3529a: 0x6d808220, 0x3529b: 0x6d808420, + 0x3529c: 0x6d808620, 0x3529d: 0x6d808820, 0x3529e: 0x6d808a20, 0x3529f: 0x6d808c20, + 0x352a0: 0x6d808e20, 0x352a1: 0x6d809020, 0x352a2: 0x6d809220, 0x352a3: 0x6d809420, + 0x352a4: 0x6d809620, 0x352a5: 0x6d809820, 0x352a6: 0x6d809a20, 0x352a7: 0x6d809c20, + 0x352a8: 0x6d809e20, 0x352a9: 0x6d80a020, 0x352aa: 0x6d80a220, 0x352ab: 0x6d80a420, + 0x352ac: 0x6d80a620, 0x352ad: 0x6d80a820, 0x352ae: 0x6d80aa20, 0x352af: 0x6d80ac20, + 0x352b0: 0x6da63820, 0x352b1: 0x6da63a20, 0x352b2: 0x6da63c20, 0x352b3: 0x6da63e20, + 0x352b4: 0x6da64020, 0x352b5: 0x6da64220, 0x352b6: 0x6da64420, 0x352b7: 0x6da64620, + 0x352b8: 0x6da64820, 0x352b9: 0x6da64a20, 0x352ba: 0x6da64c20, 0x352bb: 0x6da64e20, + 0x352bc: 0x6da65020, 0x352bd: 0x6da65220, 0x352be: 0x6da65420, 0x352bf: 0x6da65620, + // Block 0xd4b, offset 0x352c0 + 0x352c0: 0x6da65820, 0x352c1: 0x6da65a20, 0x352c2: 0x6da65c20, 0x352c3: 0x6da65e20, + 0x352c4: 0x6da66020, 0x352c5: 0x6da66220, 0x352c6: 0x6da66420, 0x352c7: 0x6da66620, + 0x352c8: 0x6da66820, 0x352c9: 0x6da66a20, 0x352ca: 0x6da66c20, 0x352cb: 0x6da66e20, + 0x352cc: 0x6da67020, 0x352cd: 0x6da67220, 0x352ce: 0x6da67420, 0x352cf: 0x6da67620, + 0x352d0: 0x6da67820, 0x352d1: 0x6da67a20, 0x352d2: 0x6da67c20, 0x352d3: 0x6da67e20, + 0x352d4: 0x6da68020, 0x352d5: 0x6da68220, 0x352d6: 0x6da68420, 0x352d7: 0x6da68620, + 0x352d8: 0x6da68820, 0x352d9: 0x6da68a20, 0x352da: 0x6da68c20, 0x352db: 0x6da68e20, + 0x352dc: 0x6da69020, 0x352dd: 0x6da69220, 0x352de: 0x6da69420, 0x352df: 0x6da69620, + 0x352e0: 0x6da69820, 0x352e1: 0x6da69a20, 0x352e2: 0x6d883220, 0x352e3: 0x6da69c20, + 0x352e4: 0x6da69e20, 0x352e5: 0x6da6a020, 0x352e6: 0x6da6a220, 0x352e7: 0x6da6a420, + 0x352e8: 0x6da6a620, 0x352e9: 0x6da6a820, 0x352ea: 0x6da6aa20, 0x352eb: 0x6da6ac20, + 0x352ec: 0x6da6ae20, 0x352ed: 0x6da6b020, 0x352ee: 0x6da6b220, 0x352ef: 0x6da6b420, + 0x352f0: 0x6da6b620, 0x352f1: 0x6da6b820, 0x352f2: 0x6da6ba20, 0x352f3: 0x6da6bc20, + 0x352f4: 0x6da6be20, 0x352f5: 0x6da6c020, 0x352f6: 0x6da6c220, 0x352f7: 0x6da6c420, + 0x352f8: 0x6da6c620, 0x352f9: 0x6da6c820, 0x352fa: 0x6da6ca20, 0x352fb: 0x6da6cc20, + 0x352fc: 0x6da6ce20, 0x352fd: 0x6da6d020, 0x352fe: 0x6da6d220, 0x352ff: 0x6da6d420, + // Block 0xd4c, offset 0x35300 + 0x35300: 0x6da6d620, 0x35301: 0x6dc7a220, 0x35302: 0x6dc7a420, 0x35303: 0x6dc7a620, + 0x35304: 0x6dc7a820, 0x35305: 0x6dc7aa20, 0x35306: 0x6dc7ac20, 0x35307: 0x6dc7ae20, + 0x35308: 0x6dc7b020, 0x35309: 0x6dc7b220, 0x3530a: 0x6dc7b420, 0x3530b: 0x6dc7b620, + 0x3530c: 0x6dc7b820, 0x3530d: 0x6dc7ba20, 0x3530e: 0x6dc7bc20, 0x3530f: 0x6dc7be20, + 0x35310: 0x6dc7c020, 0x35311: 0x6dc7c220, 0x35312: 0x6dc7c420, 0x35313: 0x6dc7c620, + 0x35314: 0x6dc7c820, 0x35315: 0x6dc7ca20, 0x35316: 0x6dc7cc20, 0x35317: 0x6dc7ce20, + 0x35318: 0x6dc7d020, 0x35319: 0x6de40020, 0x3531a: 0x6dc7d220, 0x3531b: 0x6dc7d420, + 0x3531c: 0x6dc7d620, 0x3531d: 0x6dc7d820, 0x3531e: 0x6dc7da20, 0x3531f: 0x6dc7dc20, + 0x35320: 0x6dc7de20, 0x35321: 0x6dc7e020, 0x35322: 0x6dc7e220, 0x35323: 0x6dc7e420, + 0x35324: 0x6dc7e620, 0x35325: 0x6dc7e820, 0x35326: 0x6dc7ea20, 0x35327: 0x6dc7ec20, + 0x35328: 0x6dc7ee20, 0x35329: 0x6dc7f020, 0x3532a: 0x6dc7f220, 0x3532b: 0x6dc7f420, + 0x3532c: 0x6dc7f620, 0x3532d: 0x6dc7f820, 0x3532e: 0x6dc7fa20, 0x3532f: 0x6dc7fc20, + 0x35330: 0x6dc7fe20, 0x35331: 0x6dc80020, 0x35332: 0x6dc80220, 0x35333: 0x6dc80420, + 0x35334: 0x6dc80620, 0x35335: 0x6dc80820, 0x35336: 0x6dc80a20, 0x35337: 0x6dc80c20, + 0x35338: 0x6dc80e20, 0x35339: 0x6dc81020, 0x3533a: 0x6dc81220, 0x3533b: 0x6dc81420, + 0x3533c: 0x6dc81620, 0x3533d: 0x6dc81820, 0x3533e: 0x6dc81a20, 0x3533f: 0x6dc81c20, + // Block 0xd4d, offset 0x35340 + 0x35340: 0x6dc81e20, 0x35341: 0x6dc82020, 0x35342: 0x6dc82220, 0x35343: 0x6dc82420, + 0x35344: 0x6dc82620, 0x35345: 0x6dc82820, 0x35346: 0x6dc82a20, 0x35347: 0x6dc82c20, + 0x35348: 0x6dc82e20, 0x35349: 0x6dc83020, 0x3534a: 0x6dc83220, 0x3534b: 0x6dc83420, + 0x3534c: 0x6dc83620, 0x3534d: 0x6dc83820, 0x3534e: 0x6dc83a20, 0x3534f: 0x6dcc7220, + 0x35350: 0x6de40220, 0x35351: 0x6de40420, 0x35352: 0x6de40620, 0x35353: 0x6de40820, + 0x35354: 0x6de40a20, 0x35355: 0x6de40c20, 0x35356: 0x6de40e20, 0x35357: 0x6de41020, + 0x35358: 0x6de41220, 0x35359: 0x6de41420, 0x3535a: 0x6de41620, 0x3535b: 0x6de41820, + 0x3535c: 0x6de41a20, 0x3535d: 0x6de41c20, 0x3535e: 0x6de41e20, 0x3535f: 0x6de42020, + 0x35360: 0x6de42220, 0x35361: 0x6de42420, 0x35362: 0x6de42620, 0x35363: 0x6de42820, + 0x35364: 0x6de42a20, 0x35365: 0x6de42c20, 0x35366: 0x6de42e20, 0x35367: 0x6de43020, + 0x35368: 0x6de43220, 0x35369: 0x6de43420, 0x3536a: 0x6de43620, 0x3536b: 0x6de43820, + 0x3536c: 0x6de43a20, 0x3536d: 0x6de43c20, 0x3536e: 0x6de43e20, 0x3536f: 0x6de44020, + 0x35370: 0x6de44220, 0x35371: 0x6de44420, 0x35372: 0x6de44620, 0x35373: 0x6de44820, + 0x35374: 0x6de44a20, 0x35375: 0x6de44c20, 0x35376: 0x6de44e20, 0x35377: 0x6de45020, + 0x35378: 0x6de45220, 0x35379: 0x6de45420, 0x3537a: 0x6de45620, 0x3537b: 0x6de45820, + 0x3537c: 0x6de45a20, 0x3537d: 0x6de45c20, 0x3537e: 0x6de45e20, 0x3537f: 0x6de46020, + // Block 0xd4e, offset 0x35380 + 0x35380: 0x6de46220, 0x35381: 0x6de46420, 0x35382: 0x6de46620, 0x35383: 0x6de46820, + 0x35384: 0x6dfb3a20, 0x35385: 0x6dfb3c20, 0x35386: 0x6dfb3e20, 0x35387: 0x6dfb4020, + 0x35388: 0x6dfb4220, 0x35389: 0x6dfb4420, 0x3538a: 0x6dfb4620, 0x3538b: 0x6dfb4820, + 0x3538c: 0x6dfb4a20, 0x3538d: 0x6dfb4c20, 0x3538e: 0x6dfb4e20, 0x3538f: 0x6dfb5020, + 0x35390: 0x6dfb5220, 0x35391: 0x6de46a20, 0x35392: 0x6dfb5420, 0x35393: 0x6dfb5620, + 0x35394: 0x6dfb5820, 0x35395: 0x6dfb5a20, 0x35396: 0x6dfb5c20, 0x35397: 0x6dfb5e20, + 0x35398: 0x6dfb6020, 0x35399: 0x6dfb6220, 0x3539a: 0x6dfb6420, 0x3539b: 0x6dfb6620, + 0x3539c: 0x6dfb6820, 0x3539d: 0x6dfb6a20, 0x3539e: 0x6dfb6c20, 0x3539f: 0x6dfb6e20, + 0x353a0: 0x6dfb7020, 0x353a1: 0x6dfb7220, 0x353a2: 0x6dfb7420, 0x353a3: 0x6dfb7620, + 0x353a4: 0x6dfb7820, 0x353a5: 0x6dfb7a20, 0x353a6: 0x6dfb7c20, 0x353a7: 0x6dfb7e20, + 0x353a8: 0x6dfb8020, 0x353a9: 0x6dfb8220, 0x353aa: 0x6dfb8420, 0x353ab: 0x6dfb8620, + 0x353ac: 0x6dfb8820, 0x353ad: 0x6dfb8a20, 0x353ae: 0x6dfb8c20, 0x353af: 0x6e0e7e20, + 0x353b0: 0x6e0e8020, 0x353b1: 0x6e0e8220, 0x353b2: 0x6e0e8420, 0x353b3: 0x6e0e8620, + 0x353b4: 0x6e0e8820, 0x353b5: 0x6e0e8a20, 0x353b6: 0x6e0e8c20, 0x353b7: 0x6e0e8e20, + 0x353b8: 0x6e0e9020, 0x353b9: 0x6e0e9220, 0x353ba: 0x6e0e9420, 0x353bb: 0x6e0e9620, + 0x353bc: 0x6e0e9820, 0x353bd: 0x6e0e9a20, 0x353be: 0x6e0e9c20, 0x353bf: 0x6e0e9e20, + // Block 0xd4f, offset 0x353c0 + 0x353c0: 0x6e0ea020, 0x353c1: 0x6e0ea220, 0x353c2: 0x6e1dc820, 0x353c3: 0x6e0ea420, + 0x353c4: 0x6e0ea620, 0x353c5: 0x6e0ea820, 0x353c6: 0x6e0eaa20, 0x353c7: 0x6e0eac20, + 0x353c8: 0x6e0eae20, 0x353c9: 0x6e0eb020, 0x353ca: 0x6e0eb220, 0x353cb: 0x6e0eb420, + 0x353cc: 0x6e0eb620, 0x353cd: 0x6e0eb820, 0x353ce: 0x6e0eba20, 0x353cf: 0x6e0ebc20, + 0x353d0: 0x6e0ebe20, 0x353d1: 0x6e0ec020, 0x353d2: 0x6e0ec220, 0x353d3: 0x6e0ec420, + 0x353d4: 0x6e0ec620, 0x353d5: 0x6e0ec820, 0x353d6: 0x6e0eca20, 0x353d7: 0x6e0ecc20, + 0x353d8: 0x6e0ece20, 0x353d9: 0x6e1dca20, 0x353da: 0x6e1dcc20, 0x353db: 0x6e1dce20, + 0x353dc: 0x6e1dd020, 0x353dd: 0x6e1dd220, 0x353de: 0x6e1dd420, 0x353df: 0x6e1dd620, + 0x353e0: 0x6e1dd820, 0x353e1: 0x6e1dda20, 0x353e2: 0x6e1ddc20, 0x353e3: 0x6e1dde20, + 0x353e4: 0x6e1de020, 0x353e5: 0x6e1de220, 0x353e6: 0x6e1de420, 0x353e7: 0x6e1de620, + 0x353e8: 0x6e1de820, 0x353e9: 0x6e1dea20, 0x353ea: 0x6e1dec20, 0x353eb: 0x6e1dee20, + 0x353ec: 0x6e1df020, 0x353ed: 0x6e1df220, 0x353ee: 0x6e1df420, 0x353ef: 0x6e1df620, + 0x353f0: 0x6e1df820, 0x353f1: 0x6e1dfa20, 0x353f2: 0x6e1dfc20, 0x353f3: 0x6e1dfe20, + 0x353f4: 0x6e1e0020, 0x353f5: 0x6e1e0220, 0x353f6: 0x6e1e0420, 0x353f7: 0x6e294a20, + 0x353f8: 0x6e294c20, 0x353f9: 0x6e294e20, 0x353fa: 0x6e295020, 0x353fb: 0x6e295220, + 0x353fc: 0x6e295420, 0x353fd: 0x6e295620, 0x353fe: 0x6e295820, 0x353ff: 0x6e295a20, + // Block 0xd50, offset 0x35400 + 0x35400: 0x6e295c20, 0x35401: 0x6e295e20, 0x35402: 0x6e296020, 0x35403: 0x6e296220, + 0x35404: 0x6e296420, 0x35405: 0x6e296620, 0x35406: 0x6e296820, 0x35407: 0x6e296a20, + 0x35408: 0x6e296c20, 0x35409: 0x6e296e20, 0x3540a: 0x6e297020, 0x3540b: 0x6e326420, + 0x3540c: 0x6e326620, 0x3540d: 0x6e326820, 0x3540e: 0x6e326a20, 0x3540f: 0x6e326c20, + 0x35410: 0x6e326e20, 0x35411: 0x6e327020, 0x35412: 0x6e327220, 0x35413: 0x6e327420, + 0x35414: 0x6e327620, 0x35415: 0x6e327820, 0x35416: 0x6e327a20, 0x35417: 0x6e327c20, + 0x35418: 0x6e327e20, 0x35419: 0x6e328020, 0x3541a: 0x6e328220, 0x3541b: 0x6e328420, + 0x3541c: 0x6e328620, 0x3541d: 0x6e328820, 0x3541e: 0x6e38bc20, 0x3541f: 0x6e38be20, + 0x35420: 0x6e38c020, 0x35421: 0x6e38c220, 0x35422: 0x6e38c420, 0x35423: 0x6e38c620, + 0x35424: 0x6e38c820, 0x35425: 0x6e38ca20, 0x35426: 0x6e38cc20, 0x35427: 0x6e38ce20, + 0x35428: 0x6e38d020, 0x35429: 0x6e3d3220, 0x3542a: 0x6e3d3420, 0x3542b: 0x6e3d3620, + 0x3542c: 0x6e3d3820, 0x3542d: 0x6e3d3a20, 0x3542e: 0x6e3d3c20, 0x3542f: 0x6e3d3e20, + 0x35430: 0x6e3d4020, 0x35431: 0x6e3d4220, 0x35432: 0x6e404e20, 0x35433: 0x6e401020, + 0x35434: 0x6e405020, 0x35435: 0x6e405220, 0x35436: 0x6e42aa20, 0x35437: 0x6e42ac20, + 0x35438: 0x6e42ae20, 0x35439: 0x6e443020, 0x3543a: 0x6e451e20, 0x3543b: 0x6e452020, + 0x3543c: 0x6e45c220, 0x3543d: 0x6e462c20, 0x3543e: 0x6e462e20, 0x3543f: 0x6e46b020, + // Block 0xd51, offset 0x35440 + 0x35440: 0x6c12b820, 0x35441: 0x6c223e20, 0x35442: 0x6c224020, 0x35443: 0x6c224220, + 0x35444: 0x6c224420, 0x35445: 0x6c224620, 0x35446: 0x6c224820, 0x35447: 0x6c224a20, + 0x35448: 0x6c224c20, 0x35449: 0x6c377620, 0x3544a: 0x6c377820, 0x3544b: 0x6c377a20, + 0x3544c: 0x6c377c20, 0x3544d: 0x6c377e20, 0x3544e: 0x6c378020, 0x3544f: 0x6c378220, + 0x35450: 0x6c378420, 0x35451: 0x6c378620, 0x35452: 0x6c378820, 0x35453: 0x6c378a20, + 0x35454: 0x6c378c20, 0x35455: 0x6c378e20, 0x35456: 0x6c379020, 0x35457: 0x6c52d420, + 0x35458: 0x6c52d620, 0x35459: 0x6c52d820, 0x3545a: 0x6c52da20, 0x3545b: 0x6c52dc20, + 0x3545c: 0x6c52de20, 0x3545d: 0x6c52e020, 0x3545e: 0x6c52e220, 0x3545f: 0x6c52e420, + 0x35460: 0x6c52e620, 0x35461: 0x6c52e820, 0x35462: 0x6c52ea20, 0x35463: 0x6c52ec20, + 0x35464: 0x6c52ee20, 0x35465: 0x6c52f020, 0x35466: 0x6c52f220, 0x35467: 0x6c756020, + 0x35468: 0x6c756220, 0x35469: 0x6c756420, 0x3546a: 0x6c756620, 0x3546b: 0x6c756820, + 0x3546c: 0x6c756a20, 0x3546d: 0x6c756c20, 0x3546e: 0x6c756e20, 0x3546f: 0x6c757020, + 0x35470: 0x6c757220, 0x35471: 0x6c757420, 0x35472: 0x6c757620, 0x35473: 0x6c757820, + 0x35474: 0x6c757a20, 0x35475: 0x6c757c20, 0x35476: 0x6c757e20, 0x35477: 0x6c758020, + 0x35478: 0x6c758220, 0x35479: 0x6c758420, 0x3547a: 0x6c9dba20, 0x3547b: 0x6c9dbc20, + 0x3547c: 0x6c9dbe20, 0x3547d: 0x6c9dc020, 0x3547e: 0x6c9dc220, 0x3547f: 0x6c9dc420, + // Block 0xd52, offset 0x35480 + 0x35480: 0x6c9dc620, 0x35481: 0x6c9dc820, 0x35482: 0x6c9dca20, 0x35483: 0x6c9dcc20, + 0x35484: 0x6c9dce20, 0x35485: 0x6c9dd020, 0x35486: 0x6c9dd220, 0x35487: 0x6c9dd420, + 0x35488: 0x6ccaa620, 0x35489: 0x6ccaa820, 0x3548a: 0x6ccaaa20, 0x3548b: 0x6ccaac20, + 0x3548c: 0x6ccaae20, 0x3548d: 0x6ccab020, 0x3548e: 0x6ccab220, 0x3548f: 0x6ccab420, + 0x35490: 0x6ccab620, 0x35491: 0x6ccab820, 0x35492: 0x6ccaba20, 0x35493: 0x6ccabc20, + 0x35494: 0x6ccabe20, 0x35495: 0x6ccac020, 0x35496: 0x6ccac220, 0x35497: 0x6ccac420, + 0x35498: 0x6ccac620, 0x35499: 0x6ccac820, 0x3549a: 0x6ccaca20, 0x3549b: 0x6ccacc20, + 0x3549c: 0x6ccace20, 0x3549d: 0x6cf8da20, 0x3549e: 0x6cf8dc20, 0x3549f: 0x6cf8de20, + 0x354a0: 0x6cf8e020, 0x354a1: 0x6cf8e220, 0x354a2: 0x6cf8e420, 0x354a3: 0x6cf8e620, + 0x354a4: 0x6cf8e820, 0x354a5: 0x6cf8ea20, 0x354a6: 0x6cf8ec20, 0x354a7: 0x6cf8ee20, + 0x354a8: 0x6cf8f020, 0x354a9: 0x6cf8f220, 0x354aa: 0x6cf8f420, 0x354ab: 0x6cf8f620, + 0x354ac: 0x6d0f4820, 0x354ad: 0x6cf8f820, 0x354ae: 0x6cf8fa20, 0x354af: 0x6cf8fc20, + 0x354b0: 0x6cf8fe20, 0x354b1: 0x6cf90020, 0x354b2: 0x6d281220, 0x354b3: 0x6d281420, + 0x354b4: 0x6d281620, 0x354b5: 0x6d281820, 0x354b6: 0x6d281a20, 0x354b7: 0x6d281c20, + 0x354b8: 0x6d281e20, 0x354b9: 0x6d282020, 0x354ba: 0x6d282220, 0x354bb: 0x6d282420, + 0x354bc: 0x6d282620, 0x354bd: 0x6d282820, 0x354be: 0x6d282a20, 0x354bf: 0x6d282c20, + // Block 0xd53, offset 0x354c0 + 0x354c0: 0x6d282e20, 0x354c1: 0x6d283020, 0x354c2: 0x6d283220, 0x354c3: 0x6d283420, + 0x354c4: 0x6d283620, 0x354c5: 0x6d283820, 0x354c6: 0x6d283a20, 0x354c7: 0x6d283c20, + 0x354c8: 0x6d556220, 0x354c9: 0x6d556420, 0x354ca: 0x6d556620, 0x354cb: 0x6d556820, + 0x354cc: 0x6d556a20, 0x354cd: 0x6d556c20, 0x354ce: 0x6d556e20, 0x354cf: 0x6d557020, + 0x354d0: 0x6d557220, 0x354d1: 0x6d557420, 0x354d2: 0x6d557620, 0x354d3: 0x6d557820, + 0x354d4: 0x6d557a20, 0x354d5: 0x6d557c20, 0x354d6: 0x6d557e20, 0x354d7: 0x6d558020, + 0x354d8: 0x6d80e220, 0x354d9: 0x6d80e420, 0x354da: 0x6d80e620, 0x354db: 0x6d80e820, + 0x354dc: 0x6d80ea20, 0x354dd: 0x6d80ec20, 0x354de: 0x6d80ee20, 0x354df: 0x6d80f020, + 0x354e0: 0x6da70220, 0x354e1: 0x6da70420, 0x354e2: 0x6da70620, 0x354e3: 0x6da70820, + 0x354e4: 0x6da70a20, 0x354e5: 0x6da70c20, 0x354e6: 0x6da70e20, 0x354e7: 0x6da71020, + 0x354e8: 0x6dc85420, 0x354e9: 0x6dc85620, 0x354ea: 0x6dc85820, 0x354eb: 0x6dc85a20, + 0x354ec: 0x6de47e20, 0x354ed: 0x6de48020, 0x354ee: 0x6de48220, 0x354ef: 0x6de48420, + 0x354f0: 0x6de48620, 0x354f1: 0x6dfb9c20, 0x354f2: 0x6dfb9e20, 0x354f3: 0x6dfba020, + 0x354f4: 0x6e0ed820, 0x354f5: 0x6e0eda20, 0x354f6: 0x6e1e1020, 0x354f7: 0x6e0edc20, + 0x354f8: 0x6e0ede20, 0x354f9: 0x6e1e1220, 0x354fa: 0x6e1e1420, 0x354fb: 0x6e1e1620, + 0x354fc: 0x6e1e1820, 0x354fd: 0x6e297820, 0x354fe: 0x6e329020, 0x354ff: 0x6e38d820, + // Block 0xd54, offset 0x35500 + 0x35500: 0x6e38da20, 0x35501: 0x6e3d4620, 0x35502: 0x6c04ac20, 0x35503: 0x6c097820, + 0x35504: 0x6c097a20, 0x35505: 0x6c12be20, 0x35506: 0x6c12c020, 0x35507: 0x6c225420, + 0x35508: 0x6c225620, 0x35509: 0x6c379c20, 0x3550a: 0x6c225820, 0x3550b: 0x6c225a20, + 0x3550c: 0x6c225c20, 0x3550d: 0x6c379e20, 0x3550e: 0x6c37a020, 0x3550f: 0x6c37a220, + 0x35510: 0x6c37a420, 0x35511: 0x6c37a620, 0x35512: 0x6c37a820, 0x35513: 0x6c37aa20, + 0x35514: 0x6c37ac20, 0x35515: 0x6c37ae20, 0x35516: 0x6c37b020, 0x35517: 0x6c37b220, + 0x35518: 0x6c37b420, 0x35519: 0x6c37b620, 0x3551a: 0x6c37b820, 0x3551b: 0x6c37ba20, + 0x3551c: 0x6c37bc20, 0x3551d: 0x6c37be20, 0x3551e: 0x6c37c020, 0x3551f: 0x6c37c220, + 0x35520: 0x6c37c420, 0x35521: 0x6c37c620, 0x35522: 0x6c530220, 0x35523: 0x6c530420, + 0x35524: 0x6c530620, 0x35525: 0x6c2bd020, 0x35526: 0x6c758c20, 0x35527: 0x6c758e20, + 0x35528: 0x6c759020, 0x35529: 0x6c759220, 0x3552a: 0x6c759420, 0x3552b: 0x6c759620, + 0x3552c: 0x6c759820, 0x3552d: 0x6c759a20, 0x3552e: 0x6c759c20, 0x3552f: 0x6c759e20, + 0x35530: 0x6c75a020, 0x35531: 0x6c75a220, 0x35532: 0x6c6f0e20, 0x35533: 0x6c9dda20, + 0x35534: 0x6c9ddc20, 0x35535: 0x6c9dde20, 0x35536: 0x6c9de020, 0x35537: 0x6c9de220, + 0x35538: 0x6c9de420, 0x35539: 0x6ccada20, 0x3553a: 0x6ccadc20, 0x3553b: 0x6ccade20, + 0x3553c: 0x6ccae020, 0x3553d: 0x6ccae220, 0x3553e: 0x6ccae420, 0x3553f: 0x6ccae620, + // Block 0xd55, offset 0x35540 + 0x35540: 0x6ccae820, 0x35541: 0x6ccaea20, 0x35542: 0x6ccaec20, 0x35543: 0x6ccaee20, + 0x35544: 0x6ccaf020, 0x35545: 0x6ccaf220, 0x35546: 0x6ccaf420, 0x35547: 0x6cf90c20, + 0x35548: 0x6cf90e20, 0x35549: 0x6cf91020, 0x3554a: 0x6cf91220, 0x3554b: 0x6d75b820, + 0x3554c: 0x6cf91420, 0x3554d: 0x6cf91620, 0x3554e: 0x6cf91820, 0x3554f: 0x6cf1c020, + 0x35550: 0x6d284620, 0x35551: 0x6d284820, 0x35552: 0x6d284a20, 0x35553: 0x6d284c20, + 0x35554: 0x6d558820, 0x35555: 0x6d558a20, 0x35556: 0x6d558c20, 0x35557: 0x6d558e20, + 0x35558: 0x6d559020, 0x35559: 0x6d559220, 0x3555a: 0x6d559420, 0x3555b: 0x6d559620, + 0x3555c: 0x6d80f420, 0x3555d: 0x6d80f620, 0x3555e: 0x6d80f820, 0x3555f: 0x6d80fa20, + 0x35560: 0x6d80fc20, 0x35561: 0x6da71220, 0x35562: 0x6da71420, 0x35563: 0x6da71620, + 0x35564: 0x6da71820, 0x35565: 0x6da71a20, 0x35566: 0x6dc86020, 0x35567: 0x6dc86220, + 0x35568: 0x6dc86420, 0x35569: 0x6dc86620, 0x3556a: 0x6dc86820, 0x3556b: 0x6dc86a20, + 0x3556c: 0x6de48820, 0x3556d: 0x6de20820, 0x3556e: 0x6e0ee020, 0x3556f: 0x6e1e1a20, + 0x35570: 0x6e1e1c20, 0x35571: 0x6e297a20, 0x35572: 0x6e297c20, 0x35573: 0x6e329420, + 0x35574: 0x6e329620, 0x35575: 0x6c04b020, 0x35576: 0x6c04b220, 0x35577: 0x6c097e20, + 0x35578: 0x6c12c620, 0x35579: 0x6c12c820, 0x3557a: 0x6c12ca20, 0x3557b: 0x6c12cc20, + 0x3557c: 0x6c12ce20, 0x3557d: 0x6c12d020, 0x3557e: 0x6c12d220, 0x3557f: 0x6c226020, + // Block 0xd56, offset 0x35580 + 0x35580: 0x6c226220, 0x35581: 0x6c226420, 0x35582: 0x6c226620, 0x35583: 0x6c226820, + 0x35584: 0x6c226a20, 0x35585: 0x6c226c20, 0x35586: 0x6c226e20, 0x35587: 0x6c227020, + 0x35588: 0x6c227220, 0x35589: 0x6c37dc20, 0x3558a: 0x6c37de20, 0x3558b: 0x6c37e020, + 0x3558c: 0x6c37e220, 0x3558d: 0x6c37e420, 0x3558e: 0x6c37e620, 0x3558f: 0x6c37e820, + 0x35590: 0x6c37ea20, 0x35591: 0x6c37ec20, 0x35592: 0x6c37ee20, 0x35593: 0x6c37f020, + 0x35594: 0x6c37f220, 0x35595: 0x6c37f420, 0x35596: 0x6c37f620, 0x35597: 0x6c37f820, + 0x35598: 0x6c37fa20, 0x35599: 0x6c37fc20, 0x3559a: 0x6c37fe20, 0x3559b: 0x6c380020, + 0x3559c: 0x6c380220, 0x3559d: 0x6c531a20, 0x3559e: 0x6c531c20, 0x3559f: 0x6c531e20, + 0x355a0: 0x6c532020, 0x355a1: 0x6c532220, 0x355a2: 0x6c532420, 0x355a3: 0x6c532620, + 0x355a4: 0x6c532820, 0x355a5: 0x6c532a20, 0x355a6: 0x6c532c20, 0x355a7: 0x6c532e20, + 0x355a8: 0x6c533020, 0x355a9: 0x6c533220, 0x355aa: 0x6c533420, 0x355ab: 0x6c533620, + 0x355ac: 0x6c533820, 0x355ad: 0x6c533a20, 0x355ae: 0x6c533c20, 0x355af: 0x6c533e20, + 0x355b0: 0x6c534020, 0x355b1: 0x6c534220, 0x355b2: 0x6c75b220, 0x355b3: 0x6c75b420, + 0x355b4: 0x6c75b620, 0x355b5: 0x6c75b820, 0x355b6: 0x6c75ba20, 0x355b7: 0x6c75bc20, + 0x355b8: 0x6c75be20, 0x355b9: 0x6c75c020, 0x355ba: 0x6c75c220, 0x355bb: 0x6c75c420, + 0x355bc: 0x6c75c620, 0x355bd: 0x6c75c820, 0x355be: 0x6c75ca20, 0x355bf: 0x6c75cc20, + // Block 0xd57, offset 0x355c0 + 0x355c0: 0x6c75ce20, 0x355c1: 0x6c75d020, 0x355c2: 0x6c75d220, 0x355c3: 0x6c75d420, + 0x355c4: 0x6c75d620, 0x355c5: 0x6c9dfc20, 0x355c6: 0x6c9dfe20, 0x355c7: 0x6c9e0020, + 0x355c8: 0x6c9e0220, 0x355c9: 0x6c9e0420, 0x355ca: 0x6c9e0620, 0x355cb: 0x6c9e0820, + 0x355cc: 0x6c9e0a20, 0x355cd: 0x6c9e0c20, 0x355ce: 0x6c9e0e20, 0x355cf: 0x6c9e1020, + 0x355d0: 0x6c9e1220, 0x355d1: 0x6c9e1420, 0x355d2: 0x6c9e1620, 0x355d3: 0x6c9e1820, + 0x355d4: 0x6c9e1a20, 0x355d5: 0x6c9e1c20, 0x355d6: 0x6ccb1220, 0x355d7: 0x6ccb1420, + 0x355d8: 0x6ccb1620, 0x355d9: 0x6ccb1820, 0x355da: 0x6ccb1a20, 0x355db: 0x6ccb1c20, + 0x355dc: 0x6ccb1e20, 0x355dd: 0x6ccb2020, 0x355de: 0x6ccb2220, 0x355df: 0x6ccb2420, + 0x355e0: 0x6ccb2620, 0x355e1: 0x6ccb2820, 0x355e2: 0x6ccb2a20, 0x355e3: 0x6ccb2c20, + 0x355e4: 0x6ccb2e20, 0x355e5: 0x6ccb3020, 0x355e6: 0x6ccb3220, 0x355e7: 0x6ccb3420, + 0x355e8: 0x6ccb3620, 0x355e9: 0x6ccb3820, 0x355ea: 0x6ccb3a20, 0x355eb: 0x6ccb3c20, + 0x355ec: 0x6ccb3e20, 0x355ed: 0x6ccb4020, 0x355ee: 0x6ccb4220, 0x355ef: 0x6ccb4420, + 0x355f0: 0x6ccb4620, 0x355f1: 0x6cf93020, 0x355f2: 0x6cf93220, 0x355f3: 0x6cf93420, + 0x355f4: 0x6cf93620, 0x355f5: 0x6cf93820, 0x355f6: 0x6cf93a20, 0x355f7: 0x6cf93c20, + 0x355f8: 0x6cf93e20, 0x355f9: 0x6cf94020, 0x355fa: 0x6cf94220, 0x355fb: 0x6cf94420, + 0x355fc: 0x6cf94620, 0x355fd: 0x6cf94820, 0x355fe: 0x6cf94a20, 0x355ff: 0x6cf94c20, + // Block 0xd58, offset 0x35600 + 0x35600: 0x6cf94e20, 0x35601: 0x6cf95020, 0x35602: 0x6cf95220, 0x35603: 0x6cf95420, + 0x35604: 0x6d286220, 0x35605: 0x6d286420, 0x35606: 0x6d286620, 0x35607: 0x6d286820, + 0x35608: 0x6d286a20, 0x35609: 0x6d286c20, 0x3560a: 0x6d286e20, 0x3560b: 0x6d287020, + 0x3560c: 0x6d287220, 0x3560d: 0x6d55a820, 0x3560e: 0x6d55aa20, 0x3560f: 0x6d55ac20, + 0x35610: 0x6d55ae20, 0x35611: 0x6d55b020, 0x35612: 0x6d55b220, 0x35613: 0x6d55b420, + 0x35614: 0x6d55b620, 0x35615: 0x6d55b820, 0x35616: 0x6d55ba20, 0x35617: 0x6d55bc20, + 0x35618: 0x6d55be20, 0x35619: 0x6d55c020, 0x3561a: 0x6d55c220, 0x3561b: 0x6d55c420, + 0x3561c: 0x6d55c620, 0x3561d: 0x6d811220, 0x3561e: 0x6d811420, 0x3561f: 0x6d811620, + 0x35620: 0x6d811820, 0x35621: 0x6d811a20, 0x35622: 0x6d811c20, 0x35623: 0x6d811e20, + 0x35624: 0x6d812020, 0x35625: 0x6d812220, 0x35626: 0x6d812420, 0x35627: 0x6d812620, + 0x35628: 0x6da72620, 0x35629: 0x6da72820, 0x3562a: 0x6da72a20, 0x3562b: 0x6da72c20, + 0x3562c: 0x6da72e20, 0x3562d: 0x6da73020, 0x3562e: 0x6da73220, 0x3562f: 0x6dc86e20, + 0x35630: 0x6dc87020, 0x35631: 0x6dc87220, 0x35632: 0x6dc87420, 0x35633: 0x6dc87620, + 0x35634: 0x6dc87820, 0x35635: 0x6dc87a20, 0x35636: 0x6dc87c20, 0x35637: 0x6de48e20, + 0x35638: 0x6de49020, 0x35639: 0x6dfba820, 0x3563a: 0x6dfbaa20, 0x3563b: 0x6dfbac20, + 0x3563c: 0x6e0ee420, 0x3563d: 0x6e0ee620, 0x3563e: 0x6e1e1e20, 0x3563f: 0x6e298020, + // Block 0xd59, offset 0x35640 + 0x35640: 0x6e298220, 0x35641: 0x6e298420, 0x35642: 0x6c380820, 0x35643: 0x6c380a20, + 0x35644: 0x6c380c20, 0x35645: 0x6c534c20, 0x35646: 0x6c534e20, 0x35647: 0x6c535020, + 0x35648: 0x6c75e220, 0x35649: 0x6c75e420, 0x3564a: 0x6c75e620, 0x3564b: 0x6c9e2a20, + 0x3564c: 0x6c9e2c20, 0x3564d: 0x6c9e2e20, 0x3564e: 0x6c9e3020, 0x3564f: 0x6c9e3220, + 0x35650: 0x6c9e3420, 0x35651: 0x6c9e3620, 0x35652: 0x6c9e3820, 0x35653: 0x6c9e3a20, + 0x35654: 0x6c9e3c20, 0x35655: 0x6c9e3e20, 0x35656: 0x6c9e4020, 0x35657: 0x6c9e4220, + 0x35658: 0x6c9e4420, 0x35659: 0x6ccb5420, 0x3565a: 0x6ccb5620, 0x3565b: 0x6ccb5820, + 0x3565c: 0x6ccb5a20, 0x3565d: 0x6ccb5c20, 0x3565e: 0x6ccb5e20, 0x3565f: 0x6ccb6020, + 0x35660: 0x6cf96020, 0x35661: 0x6cf96220, 0x35662: 0x6cf96420, 0x35663: 0x6cf96620, + 0x35664: 0x6cf96820, 0x35665: 0x6cf96a20, 0x35666: 0x6cf96c20, 0x35667: 0x6cf96e20, + 0x35668: 0x6cf97020, 0x35669: 0x6cf97220, 0x3566a: 0x6cf97420, 0x3566b: 0x6cf97620, + 0x3566c: 0x6cf97820, 0x3566d: 0x6d017c20, 0x3566e: 0x6d287c20, 0x3566f: 0x6d287e20, + 0x35670: 0x6d288020, 0x35671: 0x6d288220, 0x35672: 0x6d288420, 0x35673: 0x6d288620, + 0x35674: 0x6d288820, 0x35675: 0x6d288a20, 0x35676: 0x6d55ce20, 0x35677: 0x6d55d020, + 0x35678: 0x6d55d220, 0x35679: 0x6d55d420, 0x3567a: 0x6d55d620, 0x3567b: 0x6d813220, + 0x3567c: 0x6d813420, 0x3567d: 0x6d813620, 0x3567e: 0x6d813820, 0x3567f: 0x6d813a20, + // Block 0xd5a, offset 0x35680 + 0x35680: 0x6d813c20, 0x35681: 0x6d813e20, 0x35682: 0x6d814020, 0x35683: 0x6d814220, + 0x35684: 0x6d814420, 0x35685: 0x6d814620, 0x35686: 0x6d814820, 0x35687: 0x6d814a20, + 0x35688: 0x6d814c20, 0x35689: 0x6d814e20, 0x3568a: 0x6d815020, 0x3568b: 0x6d815220, + 0x3568c: 0x6da73820, 0x3568d: 0x6da73a20, 0x3568e: 0x6da73c20, 0x3568f: 0x6da73e20, + 0x35690: 0x6dc88020, 0x35691: 0x6dc88220, 0x35692: 0x6dc88420, 0x35693: 0x6dc88620, + 0x35694: 0x6dc88820, 0x35695: 0x6dc88a20, 0x35696: 0x6dc88c20, 0x35697: 0x6dc88e20, + 0x35698: 0x6de49220, 0x35699: 0x6de49420, 0x3569a: 0x6de49620, 0x3569b: 0x6de49820, + 0x3569c: 0x6de49a20, 0x3569d: 0x6de49c20, 0x3569e: 0x6dfbae20, 0x3569f: 0x6dfbb020, + 0x356a0: 0x6e0ee820, 0x356a1: 0x6e0eea20, 0x356a2: 0x6e298820, 0x356a3: 0x6e298a20, + 0x356a4: 0x6e298c20, 0x356a5: 0x6e298e20, 0x356a6: 0x6e329820, 0x356a7: 0x6e329a20, + 0x356a8: 0x6e329c20, 0x356a9: 0x6e38dc20, 0x356aa: 0x6e405620, 0x356ab: 0x6e405820, + 0x356ac: 0x6c04ba20, 0x356ad: 0x6c12d620, 0x356ae: 0x6c227a20, 0x356af: 0x6c381020, + 0x356b0: 0x6c381220, 0x356b1: 0x6c381420, 0x356b2: 0x6c381620, 0x356b3: 0x6c535420, + 0x356b4: 0x6c75ec20, 0x356b5: 0x6c9e4820, 0x356b6: 0x6c9e4a20, 0x356b7: 0x6c9e4c20, + 0x356b8: 0x6c9e4e20, 0x356b9: 0x6cf97e20, 0x356ba: 0x6d288c20, 0x356bb: 0x6d288e20, + 0x356bc: 0x6d289020, 0x356bd: 0x6d815420, 0x356be: 0x6d815620, 0x356bf: 0x6da74420, + // Block 0xd5b, offset 0x356c0 + 0x356c0: 0x6de49e20, 0x356c1: 0x6e1e2020, 0x356c2: 0x6c227e20, 0x356c3: 0x6c228020, + 0x356c4: 0x6c381820, 0x356c5: 0x6c381a20, 0x356c6: 0x6c381c20, 0x356c7: 0x6c381e20, + 0x356c8: 0x6c75f020, 0x356c9: 0x6c75f220, 0x356ca: 0x6c75f420, 0x356cb: 0x6c9e5020, + 0x356cc: 0x6c9e5220, 0x356cd: 0x6cf98020, 0x356ce: 0x6d289420, 0x356cf: 0x6d289620, + 0x356d0: 0x6d289820, 0x356d1: 0x6d289a20, 0x356d2: 0x6d55dc20, 0x356d3: 0x6d815820, + 0x356d4: 0x6d815a20, 0x356d5: 0x6da74820, 0x356d6: 0x6de4a020, 0x356d7: 0x6dfbb220, + 0x356d8: 0x6dfbb420, 0x356d9: 0x6e1e2220, 0x356da: 0x6e405a20, 0x356db: 0x6c04c020, + 0x356dc: 0x6c12dc20, 0x356dd: 0x6c12de20, 0x356de: 0x6c12e020, 0x356df: 0x6c12e220, + 0x356e0: 0x6c12e420, 0x356e1: 0x6c228620, 0x356e2: 0x6c228820, 0x356e3: 0x6c228a20, + 0x356e4: 0x6c228c20, 0x356e5: 0x6c228e20, 0x356e6: 0x6c229020, 0x356e7: 0x6c229220, + 0x356e8: 0x6c229420, 0x356e9: 0x6c382e20, 0x356ea: 0x6c383020, 0x356eb: 0x6c383220, + 0x356ec: 0x6c383420, 0x356ed: 0x6c383620, 0x356ee: 0x6c383820, 0x356ef: 0x6c383a20, + 0x356f0: 0x6c383c20, 0x356f1: 0x6c383e20, 0x356f2: 0x6c384020, 0x356f3: 0x6c384220, + 0x356f4: 0x6c384420, 0x356f5: 0x6c384620, 0x356f6: 0x6c384820, 0x356f7: 0x6c384a20, + 0x356f8: 0x6c536420, 0x356f9: 0x6c536620, 0x356fa: 0x6c536820, 0x356fb: 0x6c536a20, + 0x356fc: 0x6c536c20, 0x356fd: 0x6c536e20, 0x356fe: 0x6c537020, 0x356ff: 0x6c537220, + // Block 0xd5c, offset 0x35700 + 0x35700: 0x6c537420, 0x35701: 0x6c537620, 0x35702: 0x6c537820, 0x35703: 0x6c537a20, + 0x35704: 0x6c537c20, 0x35705: 0x6c537e20, 0x35706: 0x6c538020, 0x35707: 0x6c538220, + 0x35708: 0x6c538420, 0x35709: 0x6c538620, 0x3570a: 0x6c538820, 0x3570b: 0x6c538a20, + 0x3570c: 0x6c538c20, 0x3570d: 0x6c538e20, 0x3570e: 0x6c539020, 0x3570f: 0x6c539220, + 0x35710: 0x6c539420, 0x35711: 0x6c539620, 0x35712: 0x6c539820, 0x35713: 0x6c539a20, + 0x35714: 0x6c539c20, 0x35715: 0x6c539e20, 0x35716: 0x6c53a020, 0x35717: 0x6c53a220, + 0x35718: 0x6c53a420, 0x35719: 0x6c53a620, 0x3571a: 0x6c53a820, 0x3571b: 0x6c53aa20, + 0x3571c: 0x6c760a20, 0x3571d: 0x6c760c20, 0x3571e: 0x6c760e20, 0x3571f: 0x6c761020, + 0x35720: 0x6c761220, 0x35721: 0x6c761420, 0x35722: 0x6c761620, 0x35723: 0x6c761820, + 0x35724: 0x6c761a20, 0x35725: 0x6c761c20, 0x35726: 0x6c761e20, 0x35727: 0x6c762020, + 0x35728: 0x6c762220, 0x35729: 0x6c762420, 0x3572a: 0x6c762620, 0x3572b: 0x6c762820, + 0x3572c: 0x6c762a20, 0x3572d: 0x6c762c20, 0x3572e: 0x6c762e20, 0x3572f: 0x6c763020, + 0x35730: 0x6c763220, 0x35731: 0x6c9e6a20, 0x35732: 0x6c9e6c20, 0x35733: 0x6c9e6e20, + 0x35734: 0x6c9e7020, 0x35735: 0x6c9e7220, 0x35736: 0x6c9e7420, 0x35737: 0x6c9e7620, + 0x35738: 0x6c9e7820, 0x35739: 0x6c9e7a20, 0x3573a: 0x6c9e7c20, 0x3573b: 0x6c9e7e20, + 0x3573c: 0x6c9e8020, 0x3573d: 0x6c9e8220, 0x3573e: 0x6c9e8420, 0x3573f: 0x6c9e8620, + // Block 0xd5d, offset 0x35740 + 0x35740: 0x6c9e8820, 0x35741: 0x6c9e8a20, 0x35742: 0x6c9e8c20, 0x35743: 0x6c9e8e20, + 0x35744: 0x6c9e9020, 0x35745: 0x6c9e9220, 0x35746: 0x6c9e9420, 0x35747: 0x6c9e9620, + 0x35748: 0x6ccb8220, 0x35749: 0x6ccb8420, 0x3574a: 0x6ccb8620, 0x3574b: 0x6ccb8820, + 0x3574c: 0x6ccb8a20, 0x3574d: 0x6ccb8c20, 0x3574e: 0x6ccb8e20, 0x3574f: 0x6ccb9020, + 0x35750: 0x6ccb9220, 0x35751: 0x6ccb9420, 0x35752: 0x6ccb9620, 0x35753: 0x6ccb9820, + 0x35754: 0x6ccb9a20, 0x35755: 0x6ccb9c20, 0x35756: 0x6ccb9e20, 0x35757: 0x6ccba020, + 0x35758: 0x6ccba220, 0x35759: 0x6ccba420, 0x3575a: 0x6ccba620, 0x3575b: 0x6ccba820, + 0x3575c: 0x6ccbaa20, 0x3575d: 0x6ccbac20, 0x3575e: 0x6ccbae20, 0x3575f: 0x6ccbb020, + 0x35760: 0x6ccbb220, 0x35761: 0x6ccbb420, 0x35762: 0x6ccbb620, 0x35763: 0x6ccbb820, + 0x35764: 0x6ccbba20, 0x35765: 0x6ccbbc20, 0x35766: 0x6ccbbe20, 0x35767: 0x6ccbc020, + 0x35768: 0x6cf99a20, 0x35769: 0x6cf99c20, 0x3576a: 0x6cf99e20, 0x3576b: 0x6cf9a020, + 0x3576c: 0x6cf9a220, 0x3576d: 0x6cf9a420, 0x3576e: 0x6cf9a620, 0x3576f: 0x6cf9a820, + 0x35770: 0x6cf9aa20, 0x35771: 0x6cf9ac20, 0x35772: 0x6cf9ae20, 0x35773: 0x6cf9b020, + 0x35774: 0x6cf9b220, 0x35775: 0x6cf9b420, 0x35776: 0x6cf9b620, 0x35777: 0x6cf9b820, + 0x35778: 0x6cf9ba20, 0x35779: 0x6cf9bc20, 0x3577a: 0x6cf9be20, 0x3577b: 0x6cf9c020, + 0x3577c: 0x6cf9c220, 0x3577d: 0x6cf9c420, 0x3577e: 0x6cf9c620, 0x3577f: 0x6cf9c820, + // Block 0xd5e, offset 0x35780 + 0x35780: 0x6cf9ca20, 0x35781: 0x6cf9cc20, 0x35782: 0x6cf9ce20, 0x35783: 0x6cf9d020, + 0x35784: 0x6cf9d220, 0x35785: 0x6d28ac20, 0x35786: 0x6d28ae20, 0x35787: 0x6d28b020, + 0x35788: 0x6d28b220, 0x35789: 0x6d28b420, 0x3578a: 0x6d28b620, 0x3578b: 0x6d28b820, + 0x3578c: 0x6d28ba20, 0x3578d: 0x6d28bc20, 0x3578e: 0x6d28be20, 0x3578f: 0x6d28c020, + 0x35790: 0x6d28c220, 0x35791: 0x6d28c420, 0x35792: 0x6d28c620, 0x35793: 0x6d28c820, + 0x35794: 0x6d28ca20, 0x35795: 0x6d28cc20, 0x35796: 0x6d28ce20, 0x35797: 0x6d28d020, + 0x35798: 0x6d28d220, 0x35799: 0x6d28d420, 0x3579a: 0x6d28d620, 0x3579b: 0x6d28d820, + 0x3579c: 0x6d28da20, 0x3579d: 0x6d28dc20, 0x3579e: 0x6d28de20, 0x3579f: 0x6d28e020, + 0x357a0: 0x6d28e220, 0x357a1: 0x6d28e420, 0x357a2: 0x6d28e620, 0x357a3: 0x6d55e620, + 0x357a4: 0x6d55e820, 0x357a5: 0x6d55ea20, 0x357a6: 0x6d55ec20, 0x357a7: 0x6d55ee20, + 0x357a8: 0x6d55f020, 0x357a9: 0x6d55f220, 0x357aa: 0x6d55f420, 0x357ab: 0x6d55f620, + 0x357ac: 0x6d55f820, 0x357ad: 0x6d55fa20, 0x357ae: 0x6d55fc20, 0x357af: 0x6d55fe20, + 0x357b0: 0x6d560020, 0x357b1: 0x6d560220, 0x357b2: 0x6d560420, 0x357b3: 0x6d560620, + 0x357b4: 0x6d560820, 0x357b5: 0x6d560a20, 0x357b6: 0x6d560c20, 0x357b7: 0x6d560e20, + 0x357b8: 0x6d817020, 0x357b9: 0x6d817220, 0x357ba: 0x6d817420, 0x357bb: 0x6d817620, + 0x357bc: 0x6d817820, 0x357bd: 0x6d817a20, 0x357be: 0x6d817c20, 0x357bf: 0x6d817e20, + // Block 0xd5f, offset 0x357c0 + 0x357c0: 0x6d818020, 0x357c1: 0x6d818220, 0x357c2: 0x6d818420, 0x357c3: 0x6d818620, + 0x357c4: 0x6d818820, 0x357c5: 0x6d818a20, 0x357c6: 0x6d818c20, 0x357c7: 0x6d818e20, + 0x357c8: 0x6d819020, 0x357c9: 0x6d819220, 0x357ca: 0x6da75020, 0x357cb: 0x6da75220, + 0x357cc: 0x6da75420, 0x357cd: 0x6da75620, 0x357ce: 0x6da75820, 0x357cf: 0x6da75a20, + 0x357d0: 0x6da75c20, 0x357d1: 0x6da75e20, 0x357d2: 0x6da76020, 0x357d3: 0x6da76220, + 0x357d4: 0x6da76420, 0x357d5: 0x6da76620, 0x357d6: 0x6da76820, 0x357d7: 0x6da76a20, + 0x357d8: 0x6da76c20, 0x357d9: 0x6da76e20, 0x357da: 0x6dc89820, 0x357db: 0x6dc89a20, + 0x357dc: 0x6dc89c20, 0x357dd: 0x6dc89e20, 0x357de: 0x6dc8a020, 0x357df: 0x6dc8a220, + 0x357e0: 0x6dc8a420, 0x357e1: 0x6dc8a620, 0x357e2: 0x6dc8a820, 0x357e3: 0x6dc8aa20, + 0x357e4: 0x6dc8ac20, 0x357e5: 0x6dc8ae20, 0x357e6: 0x6dc8b020, 0x357e7: 0x6dc8b220, + 0x357e8: 0x6dc8b420, 0x357e9: 0x6dc8b620, 0x357ea: 0x6dc8b820, 0x357eb: 0x6de4a620, + 0x357ec: 0x6de4a820, 0x357ed: 0x6de4aa20, 0x357ee: 0x6de4ac20, 0x357ef: 0x6de4ae20, + 0x357f0: 0x6de4b020, 0x357f1: 0x6dfbb820, 0x357f2: 0x6dfbba20, 0x357f3: 0x6dfbbc20, + 0x357f4: 0x6dfbbe20, 0x357f5: 0x6dfbc020, 0x357f6: 0x6e0eec20, 0x357f7: 0x6e0eee20, + 0x357f8: 0x6e0ef020, 0x357f9: 0x6e0ef220, 0x357fa: 0x6e0ef420, 0x357fb: 0x6e1e2620, + 0x357fc: 0x6e1e2820, 0x357fd: 0x6e1e2a20, 0x357fe: 0x6e1e2c20, 0x357ff: 0x6e299020, + // Block 0xd60, offset 0x35800 + 0x35800: 0x6e299220, 0x35801: 0x6e299420, 0x35802: 0x6e3d4c20, 0x35803: 0x6e3d4e20, + 0x35804: 0x6e42b020, 0x35805: 0x6c385220, 0x35806: 0x6c385420, 0x35807: 0x6c53b020, + 0x35808: 0x6c53b220, 0x35809: 0x6c53b420, 0x3580a: 0x6c53b620, 0x3580b: 0x6c9e9820, + 0x3580c: 0x6c9e9a20, 0x3580d: 0x6c9e9c20, 0x3580e: 0x6c9e9e20, 0x3580f: 0x6cf9d620, + 0x35810: 0x6d28ea20, 0x35811: 0x6d819420, 0x35812: 0x6da77020, 0x35813: 0x6dc8bc20, + 0x35814: 0x6dc8be20, 0x35815: 0x6c12f020, 0x35816: 0x6c12f220, 0x35817: 0x6c229a20, + 0x35818: 0x6c229c20, 0x35819: 0x6c385e20, 0x3581a: 0x6c386020, 0x3581b: 0x6c386220, + 0x3581c: 0x6c53c220, 0x3581d: 0x6c53c420, 0x3581e: 0x6c53c620, 0x3581f: 0x6c53c820, + 0x35820: 0x6c53ca20, 0x35821: 0x6c764820, 0x35822: 0x6ccbd020, 0x35823: 0x6c9ea620, + 0x35824: 0x6ccbd220, 0x35825: 0x6ccbd420, 0x35826: 0x6cf9da20, 0x35827: 0x6cf9dc20, + 0x35828: 0x6cf9de20, 0x35829: 0x6d28f020, 0x3582a: 0x6d561420, 0x3582b: 0x6d561620, + 0x3582c: 0x6da77220, 0x3582d: 0x6da77420, 0x3582e: 0x6dc8c020, 0x3582f: 0x6e0ef620, + 0x35830: 0x6e0ef820, 0x35831: 0x6c01fc20, 0x35832: 0x6c04ca20, 0x35833: 0x6c04cc20, + 0x35834: 0x6c04ce20, 0x35835: 0x6c09b220, 0x35836: 0x6c09b420, 0x35837: 0x6c09b620, + 0x35838: 0x6c09b820, 0x35839: 0x6c09ba20, 0x3583a: 0x6c09bc20, 0x3583b: 0x6c09be20, + 0x3583c: 0x6c09c020, 0x3583d: 0x6c09c220, 0x3583e: 0x6c09c420, 0x3583f: 0x6c09c620, + // Block 0xd61, offset 0x35840 + 0x35840: 0x6c133020, 0x35841: 0x6c133220, 0x35842: 0x6c133420, 0x35843: 0x6c133620, + 0x35844: 0x6c133820, 0x35845: 0x6c133a20, 0x35846: 0x6c133c20, 0x35847: 0x6c133e20, + 0x35848: 0x6c134020, 0x35849: 0x6c134220, 0x3584a: 0x6c134420, 0x3584b: 0x6c134620, + 0x3584c: 0x6c134820, 0x3584d: 0x6c134a20, 0x3584e: 0x6c233a20, 0x3584f: 0x6c233c20, + 0x35850: 0x6c233e20, 0x35851: 0x6c234020, 0x35852: 0x6c234220, 0x35853: 0x6c234420, + 0x35854: 0x6c234620, 0x35855: 0x6c234820, 0x35856: 0x6c234a20, 0x35857: 0x6c234c20, + 0x35858: 0x6c234e20, 0x35859: 0x6c235020, 0x3585a: 0x6c235220, 0x3585b: 0x6c235420, + 0x3585c: 0x6c235620, 0x3585d: 0x6c235820, 0x3585e: 0x6c235a20, 0x3585f: 0x6c235c20, + 0x35860: 0x6c235e20, 0x35861: 0x6c236020, 0x35862: 0x6c236220, 0x35863: 0x6c236420, + 0x35864: 0x6c236620, 0x35865: 0x6c236820, 0x35866: 0x6c236a20, 0x35867: 0x6c236c20, + 0x35868: 0x6c236e20, 0x35869: 0x6c237020, 0x3586a: 0x6c237220, 0x3586b: 0x6c237420, + 0x3586c: 0x6c237620, 0x3586d: 0x6c237820, 0x3586e: 0x6c237a20, 0x3586f: 0x6c237c20, + 0x35870: 0x6c237e20, 0x35871: 0x6c238020, 0x35872: 0x6c392020, 0x35873: 0x6c392220, + 0x35874: 0x6c392420, 0x35875: 0x6c392620, 0x35876: 0x6c392820, 0x35877: 0x6c392a20, + 0x35878: 0x6c392c20, 0x35879: 0x6c392e20, 0x3587a: 0x6c393020, 0x3587b: 0x6c393220, + 0x3587c: 0x6c393420, 0x3587d: 0x6c393620, 0x3587e: 0x6c393820, 0x3587f: 0x6c393a20, + // Block 0xd62, offset 0x35880 + 0x35880: 0x6c393c20, 0x35881: 0x6c393e20, 0x35882: 0x6c394020, 0x35883: 0x6c394220, + 0x35884: 0x6c394420, 0x35885: 0x6c394620, 0x35886: 0x6c394820, 0x35887: 0x6c394a20, + 0x35888: 0x6c394c20, 0x35889: 0x6c394e20, 0x3588a: 0x6c395020, 0x3588b: 0x6c395220, + 0x3588c: 0x6c395420, 0x3588d: 0x6c395620, 0x3588e: 0x6c395820, 0x3588f: 0x6c395a20, + 0x35890: 0x6c395c20, 0x35891: 0x6c395e20, 0x35892: 0x6c396020, 0x35893: 0x6c396220, + 0x35894: 0x6c396420, 0x35895: 0x6c396620, 0x35896: 0x6c396820, 0x35897: 0x6c396a20, + 0x35898: 0x6c396c20, 0x35899: 0x6c396e20, 0x3589a: 0x6c397020, 0x3589b: 0x6c397220, + 0x3589c: 0x6c397420, 0x3589d: 0x6c397620, 0x3589e: 0x6c397820, 0x3589f: 0x6c397a20, + 0x358a0: 0x6c397c20, 0x358a1: 0x6c397e20, 0x358a2: 0x6c398020, 0x358a3: 0x6c398220, + 0x358a4: 0x6c549620, 0x358a5: 0x6c549820, 0x358a6: 0x6c549a20, 0x358a7: 0x6c549c20, + 0x358a8: 0x6c549e20, 0x358a9: 0x6c54a020, 0x358aa: 0x6c54a220, 0x358ab: 0x6c54a420, + 0x358ac: 0x6c54a620, 0x358ad: 0x6c54a820, 0x358ae: 0x6c54aa20, 0x358af: 0x6c54ac20, + 0x358b0: 0x6c54ae20, 0x358b1: 0x6c54b020, 0x358b2: 0x6c54b220, 0x358b3: 0x6c54b420, + 0x358b4: 0x6c54b620, 0x358b5: 0x6c54b820, 0x358b6: 0x6c54ba20, 0x358b7: 0x6c54bc20, + 0x358b8: 0x6c54be20, 0x358b9: 0x6c54c020, 0x358ba: 0x6c54c220, 0x358bb: 0x6c54c420, + 0x358bc: 0x6c54c620, 0x358bd: 0x6c54c820, 0x358be: 0x6c54ca20, 0x358bf: 0x6c54cc20, + // Block 0xd63, offset 0x358c0 + 0x358c0: 0x6c54ce20, 0x358c1: 0x6c54d020, 0x358c2: 0x6c54d220, 0x358c3: 0x6c54d420, + 0x358c4: 0x6c54d620, 0x358c5: 0x6c54d820, 0x358c6: 0x6c54da20, 0x358c7: 0x6c54dc20, + 0x358c8: 0x6c54de20, 0x358c9: 0x6c54e020, 0x358ca: 0x6c54e220, 0x358cb: 0x6c54e420, + 0x358cc: 0x6c54e620, 0x358cd: 0x6c54e820, 0x358ce: 0x6c54ea20, 0x358cf: 0x6c54ec20, + 0x358d0: 0x6c54ee20, 0x358d1: 0x6c54f020, 0x358d2: 0x6c54f220, 0x358d3: 0x6c54f420, + 0x358d4: 0x6c54f620, 0x358d5: 0x6c54f820, 0x358d6: 0x6c54fa20, 0x358d7: 0x6c54fc20, + 0x358d8: 0x6c54fe20, 0x358d9: 0x6c550020, 0x358da: 0x6c550220, 0x358db: 0x6c550420, + 0x358dc: 0x6c550620, 0x358dd: 0x6c550820, 0x358de: 0x6c771820, 0x358df: 0x6c771a20, + 0x358e0: 0x6c771c20, 0x358e1: 0x6c771e20, 0x358e2: 0x6c772020, 0x358e3: 0x6c772220, + 0x358e4: 0x6c772420, 0x358e5: 0x6c772620, 0x358e6: 0x6c772820, 0x358e7: 0x6c772a20, + 0x358e8: 0x6c772c20, 0x358e9: 0x6c772e20, 0x358ea: 0x6c773020, 0x358eb: 0x6c773220, + 0x358ec: 0x6c773420, 0x358ed: 0x6c773620, 0x358ee: 0x6c773820, 0x358ef: 0x6c773a20, + 0x358f0: 0x6c773c20, 0x358f1: 0x6c773e20, 0x358f2: 0x6c774020, 0x358f3: 0x6c774220, + 0x358f4: 0x6c774420, 0x358f5: 0x6c774620, 0x358f6: 0x6c774820, 0x358f7: 0x6c774a20, + 0x358f8: 0x6c774c20, 0x358f9: 0x6c774e20, 0x358fa: 0x6c775020, 0x358fb: 0x6c775220, + 0x358fc: 0x6c775420, 0x358fd: 0x6c775620, 0x358fe: 0x6c775820, 0x358ff: 0x6c775a20, + // Block 0xd64, offset 0x35900 + 0x35900: 0x6c775c20, 0x35901: 0x6c775e20, 0x35902: 0x6c776020, 0x35903: 0x6c776220, + 0x35904: 0x6c776420, 0x35905: 0x6c776620, 0x35906: 0x6c776820, 0x35907: 0x6c776a20, + 0x35908: 0x6c776c20, 0x35909: 0x6c776e20, 0x3590a: 0x6c777020, 0x3590b: 0x6c777220, + 0x3590c: 0x6c777420, 0x3590d: 0x6c777620, 0x3590e: 0x6c777820, 0x3590f: 0x6c777a20, + 0x35910: 0x6c777c20, 0x35911: 0x6c777e20, 0x35912: 0x6c778020, 0x35913: 0x6c778220, + 0x35914: 0x6c778420, 0x35915: 0x6c778620, 0x35916: 0x6c778820, 0x35917: 0x6c778a20, + 0x35918: 0x6c778c20, 0x35919: 0x6c778e20, 0x3591a: 0x6c779020, 0x3591b: 0x6c779220, + 0x3591c: 0x6c779420, 0x3591d: 0x6c779620, 0x3591e: 0x6c779820, 0x3591f: 0x6c779a20, + 0x35920: 0x6c779c20, 0x35921: 0x6c779e20, 0x35922: 0x6c77a020, 0x35923: 0x6c77a220, + 0x35924: 0x6c77a420, 0x35925: 0x6c77a620, 0x35926: 0x6c77a820, 0x35927: 0x6c77aa20, + 0x35928: 0x6c77ac20, 0x35929: 0x6c77ae20, 0x3592a: 0x6c77b020, 0x3592b: 0x6c77b220, + 0x3592c: 0x6c77b420, 0x3592d: 0x6c77b620, 0x3592e: 0x6c77b820, 0x3592f: 0x6c77ba20, + 0x35930: 0x6c77bc20, 0x35931: 0x6c77be20, 0x35932: 0x6c77c020, 0x35933: 0x6c77c220, + 0x35934: 0x6c77c420, 0x35935: 0x6c77c620, 0x35936: 0x6c77c820, 0x35937: 0x6c9fbc20, + 0x35938: 0x6c9fbe20, 0x35939: 0x6c9fc020, 0x3593a: 0x6c9fc220, 0x3593b: 0x6c9fc420, + 0x3593c: 0x6c9fc620, 0x3593d: 0x6c9fc820, 0x3593e: 0x6c9fca20, 0x3593f: 0x6c9fcc20, + // Block 0xd65, offset 0x35940 + 0x35940: 0x6c9fce20, 0x35941: 0x6c9fd020, 0x35942: 0x6c9fd220, 0x35943: 0x6c9fd420, + 0x35944: 0x6c9fd620, 0x35945: 0x6c9fd820, 0x35946: 0x6c9fda20, 0x35947: 0x6c9fdc20, + 0x35948: 0x6c9fde20, 0x35949: 0x6c9fe020, 0x3594a: 0x6c9fe220, 0x3594b: 0x6c9fe420, + 0x3594c: 0x6c9fe620, 0x3594d: 0x6c9fe820, 0x3594e: 0x6c9fea20, 0x3594f: 0x6c9fec20, + 0x35950: 0x6c9fee20, 0x35951: 0x6c9ff020, 0x35952: 0x6c9ff220, 0x35953: 0x6c9ff420, + 0x35954: 0x6c9ff620, 0x35955: 0x6c9ff820, 0x35956: 0x6c9ffa20, 0x35957: 0x6c9ffc20, + 0x35958: 0x6c9ffe20, 0x35959: 0x6ca00020, 0x3595a: 0x6ca00220, 0x3595b: 0x6ca00420, + 0x3595c: 0x6ca00620, 0x3595d: 0x6ca00820, 0x3595e: 0x6ca00a20, 0x3595f: 0x6ca00c20, + 0x35960: 0x6ca00e20, 0x35961: 0x6ca01020, 0x35962: 0x6ca01220, 0x35963: 0x6ca01420, + 0x35964: 0x6ca01620, 0x35965: 0x6ca01820, 0x35966: 0x6ca01a20, 0x35967: 0x6ca01c20, + 0x35968: 0x6ca01e20, 0x35969: 0x6ca02020, 0x3596a: 0x6ca02220, 0x3596b: 0x6ca02420, + 0x3596c: 0x6ca02620, 0x3596d: 0x6ca02820, 0x3596e: 0x6ca02a20, 0x3596f: 0x6ca02c20, + 0x35970: 0x6ca02e20, 0x35971: 0x6ca03020, 0x35972: 0x6ca03220, 0x35973: 0x6ca03420, + 0x35974: 0x6ca03620, 0x35975: 0x6ca03820, 0x35976: 0x6ca03a20, 0x35977: 0x6ca03c20, + 0x35978: 0x6ca03e20, 0x35979: 0x6ca04020, 0x3597a: 0x6ca04220, 0x3597b: 0x6ca04420, + 0x3597c: 0x6ca04620, 0x3597d: 0x6ca04820, 0x3597e: 0x6ca04a20, 0x3597f: 0x6ca04c20, + // Block 0xd66, offset 0x35980 + 0x35980: 0x6ca04e20, 0x35981: 0x6ca05020, 0x35982: 0x6ca05220, 0x35983: 0x6ca05420, + 0x35984: 0x6ca05620, 0x35985: 0x6ca05820, 0x35986: 0x6ca05a20, 0x35987: 0x6ca05c20, + 0x35988: 0x6ca05e20, 0x35989: 0x6ca06020, 0x3598a: 0x6ca06220, 0x3598b: 0x6ca06420, + 0x3598c: 0x6ca06620, 0x3598d: 0x6ca06820, 0x3598e: 0x6ca06a20, 0x3598f: 0x6ca06c20, + 0x35990: 0x6ca06e20, 0x35991: 0x6ca07020, 0x35992: 0x6ca07220, 0x35993: 0x6ca07420, + 0x35994: 0x6ca07620, 0x35995: 0x6ca07820, 0x35996: 0x6ca07a20, 0x35997: 0x6ca07c20, + 0x35998: 0x6ca07e20, 0x35999: 0x6ca08020, 0x3599a: 0x6c77ca20, 0x3599b: 0x6ca08220, + 0x3599c: 0x6ca08420, 0x3599d: 0x6ca08620, 0x3599e: 0x6ca08820, 0x3599f: 0x6ca08a20, + 0x359a0: 0x6ca08c20, 0x359a1: 0x6ca08e20, 0x359a2: 0x6ca09020, 0x359a3: 0x6ca09220, + 0x359a4: 0x6ca09420, 0x359a5: 0x6ca09620, 0x359a6: 0x6ca09820, 0x359a7: 0x6ca09a20, + 0x359a8: 0x6ca09c20, 0x359a9: 0x6ca09e20, 0x359aa: 0x6ca0a020, 0x359ab: 0x6ca0a220, + 0x359ac: 0x6ca0a420, 0x359ad: 0x6ca0a620, 0x359ae: 0x6ca0a820, 0x359af: 0x6ca0aa20, + 0x359b0: 0x6ca0ac20, 0x359b1: 0x6ca0ae20, 0x359b2: 0x6ca0b020, 0x359b3: 0x6ca0b220, + 0x359b4: 0x6ca0b420, 0x359b5: 0x6ca0b620, 0x359b6: 0x6ca0b820, 0x359b7: 0x6ca0ba20, + 0x359b8: 0x6ca0bc20, 0x359b9: 0x6ca0be20, 0x359ba: 0x6ca0c020, 0x359bb: 0x6ca0c220, + 0x359bc: 0x6cccf620, 0x359bd: 0x6cccf820, 0x359be: 0x6cccfa20, 0x359bf: 0x6cccfc20, + // Block 0xd67, offset 0x359c0 + 0x359c0: 0x6cccfe20, 0x359c1: 0x6ccd0020, 0x359c2: 0x6ccd0220, 0x359c3: 0x6ccd0420, + 0x359c4: 0x6ccd0620, 0x359c5: 0x6ccd0820, 0x359c6: 0x6ccd0a20, 0x359c7: 0x6ccd0c20, + 0x359c8: 0x6ccd0e20, 0x359c9: 0x6ccd1020, 0x359ca: 0x6ca0c420, 0x359cb: 0x6ccd1220, + 0x359cc: 0x6ccd1420, 0x359cd: 0x6ccd1620, 0x359ce: 0x6ccd1820, 0x359cf: 0x6ccd1a20, + 0x359d0: 0x6ccd1c20, 0x359d1: 0x6ccd1e20, 0x359d2: 0x6ccd2020, 0x359d3: 0x6ccd2220, + 0x359d4: 0x6ccd2420, 0x359d5: 0x6ccd2620, 0x359d6: 0x6ccd2820, 0x359d7: 0x6ccd2a20, + 0x359d8: 0x6ccd2c20, 0x359d9: 0x6ccd2e20, 0x359da: 0x6ccd3020, 0x359db: 0x6ccd3220, + 0x359dc: 0x6ccd3420, 0x359dd: 0x6ccd3620, 0x359de: 0x6ccd3820, 0x359df: 0x6ccd3a20, + 0x359e0: 0x6ccd3c20, 0x359e1: 0x6ccd3e20, 0x359e2: 0x6ccd4020, 0x359e3: 0x6ccd4220, + 0x359e4: 0x6ccd4420, 0x359e5: 0x6ccd4620, 0x359e6: 0x6ccd4820, 0x359e7: 0x6ccd4a20, + 0x359e8: 0x6ccd4c20, 0x359e9: 0x6ccd4e20, 0x359ea: 0x6ccd5020, 0x359eb: 0x6ccd5220, + 0x359ec: 0x6ccd5420, 0x359ed: 0x6ccd5620, 0x359ee: 0x6ccd5820, 0x359ef: 0x6ccd5a20, + 0x359f0: 0x6ccd5c20, 0x359f1: 0x6ccd5e20, 0x359f2: 0x6ccd6020, 0x359f3: 0x6ccd6220, + 0x359f4: 0x6ccd6420, 0x359f5: 0x6ccd6620, 0x359f6: 0x6ccd6820, 0x359f7: 0x6ccd6a20, + 0x359f8: 0x6ccd6c20, 0x359f9: 0x6ccd6e20, 0x359fa: 0x6ccd7020, 0x359fb: 0x6ccd7220, + 0x359fc: 0x6ccd7420, 0x359fd: 0x6ccd7620, 0x359fe: 0x6ccd7820, 0x359ff: 0x6ccd7a20, + // Block 0xd68, offset 0x35a00 + 0x35a00: 0x6ccd7c20, 0x35a01: 0x6ccd7e20, 0x35a02: 0x6ccd8020, 0x35a03: 0x6ccd8220, + 0x35a04: 0x6ccd8420, 0x35a05: 0x6ccd8620, 0x35a06: 0x6ccd8820, 0x35a07: 0x6ccd8a20, + 0x35a08: 0x6ccd8c20, 0x35a09: 0x6ccd8e20, 0x35a0a: 0x6ccd9020, 0x35a0b: 0x6ccd9220, + 0x35a0c: 0x6ccd9420, 0x35a0d: 0x6ccd9620, 0x35a0e: 0x6ccd9820, 0x35a0f: 0x6ccd9a20, + 0x35a10: 0x6ccd9c20, 0x35a11: 0x6ccd9e20, 0x35a12: 0x6ccda020, 0x35a13: 0x6ccda220, + 0x35a14: 0x6ccda420, 0x35a15: 0x6ccda620, 0x35a16: 0x6ccda820, 0x35a17: 0x6ccdaa20, + 0x35a18: 0x6ccdac20, 0x35a19: 0x6ccdae20, 0x35a1a: 0x6ccdb020, 0x35a1b: 0x6ccdb220, + 0x35a1c: 0x6ccdb420, 0x35a1d: 0x6cfac420, 0x35a1e: 0x6cfac620, 0x35a1f: 0x6cfac820, + 0x35a20: 0x6cfaca20, 0x35a21: 0x6cfacc20, 0x35a22: 0x6cface20, 0x35a23: 0x6cfad020, + 0x35a24: 0x6cfad220, 0x35a25: 0x6cfad420, 0x35a26: 0x6cfad620, 0x35a27: 0x6cfad820, + 0x35a28: 0x6cfada20, 0x35a29: 0x6cfadc20, 0x35a2a: 0x6cfade20, 0x35a2b: 0x6cfae020, + 0x35a2c: 0x6cfae220, 0x35a2d: 0x6cfae420, 0x35a2e: 0x6cfae620, 0x35a2f: 0x6cfae820, + 0x35a30: 0x6cfaea20, 0x35a31: 0x6cfaec20, 0x35a32: 0x6cfaee20, 0x35a33: 0x6cfaf020, + 0x35a34: 0x6cfaf220, 0x35a35: 0x6cfaf420, 0x35a36: 0x6cfaf620, 0x35a37: 0x6cfaf820, + 0x35a38: 0x6cfafa20, 0x35a39: 0x6cfafc20, 0x35a3a: 0x6cfafe20, 0x35a3b: 0x6cfb0020, + 0x35a3c: 0x6cfb0220, 0x35a3d: 0x6cfb0420, 0x35a3e: 0x6cfb0620, 0x35a3f: 0x6cfb0820, + // Block 0xd69, offset 0x35a40 + 0x35a40: 0x6cfb0a20, 0x35a41: 0x6cfb0c20, 0x35a42: 0x6cfb0e20, 0x35a43: 0x6cfb1020, + 0x35a44: 0x6cfb1220, 0x35a45: 0x6cfb1420, 0x35a46: 0x6cfb1620, 0x35a47: 0x6cfb1820, + 0x35a48: 0x6cfb1a20, 0x35a49: 0x6cfb1c20, 0x35a4a: 0x6cfb1e20, 0x35a4b: 0x6cfb2020, + 0x35a4c: 0x6cfb2220, 0x35a4d: 0x6cfb2420, 0x35a4e: 0x6cfb2620, 0x35a4f: 0x6cfb2820, + 0x35a50: 0x6cfb2a20, 0x35a51: 0x6cfb2c20, 0x35a52: 0x6cfb2e20, 0x35a53: 0x6cfb3020, + 0x35a54: 0x6cfb3220, 0x35a55: 0x6cfb3420, 0x35a56: 0x6cfb3620, 0x35a57: 0x6cfb3820, + 0x35a58: 0x6cfb3a20, 0x35a59: 0x6cfb3c20, 0x35a5a: 0x6cfb3e20, 0x35a5b: 0x6cfb4020, + 0x35a5c: 0x6cfb4220, 0x35a5d: 0x6cfb4420, 0x35a5e: 0x6cfb4620, 0x35a5f: 0x6cfb4820, + 0x35a60: 0x6cfb4a20, 0x35a61: 0x6cfb4c20, 0x35a62: 0x6cfb4e20, 0x35a63: 0x6cfb5020, + 0x35a64: 0x6cfb5220, 0x35a65: 0x6cfb5420, 0x35a66: 0x6cfb5620, 0x35a67: 0x6cfb5820, + 0x35a68: 0x6cfb5a20, 0x35a69: 0x6cfb5c20, 0x35a6a: 0x6cfb5e20, 0x35a6b: 0x6cfb6020, + 0x35a6c: 0x6cfb6220, 0x35a6d: 0x6cfb6420, 0x35a6e: 0x6cfb6620, 0x35a6f: 0x6cfb6820, + 0x35a70: 0x6cfb6a20, 0x35a71: 0x6cfb6c20, 0x35a72: 0x6cfb6e20, 0x35a73: 0x6cfb7020, + 0x35a74: 0x6cfb7220, 0x35a75: 0x6cfb7420, 0x35a76: 0x6cfb7620, 0x35a77: 0x6cfb7820, + 0x35a78: 0x6cfb7a20, 0x35a79: 0x6cfb7c20, 0x35a7a: 0x6cfb7e20, 0x35a7b: 0x6cfb8020, + 0x35a7c: 0x6cfb8220, 0x35a7d: 0x6cfb8420, 0x35a7e: 0x6cfb8620, 0x35a7f: 0x6cfb8820, + // Block 0xd6a, offset 0x35a80 + 0x35a80: 0x6cfb8a20, 0x35a81: 0x6cfb8c20, 0x35a82: 0x6cfb8e20, 0x35a83: 0x6cfb9020, + 0x35a84: 0x6cfb9220, 0x35a85: 0x6cfb9420, 0x35a86: 0x6cfb9620, 0x35a87: 0x6cfb9820, + 0x35a88: 0x6cfb9a20, 0x35a89: 0x6cfb9c20, 0x35a8a: 0x6cfb9e20, 0x35a8b: 0x6cfba020, + 0x35a8c: 0x6cfba220, 0x35a8d: 0x6d29ca20, 0x35a8e: 0x6d29cc20, 0x35a8f: 0x6d29ce20, + 0x35a90: 0x6d29d020, 0x35a91: 0x6d29d220, 0x35a92: 0x6d29d420, 0x35a93: 0x6d29d620, + 0x35a94: 0x6d29d820, 0x35a95: 0x6d29da20, 0x35a96: 0x6d29dc20, 0x35a97: 0x6d29de20, + 0x35a98: 0x6d29e020, 0x35a99: 0x6d29e220, 0x35a9a: 0x6d29e420, 0x35a9b: 0x6d29e620, + 0x35a9c: 0x6d29e820, 0x35a9d: 0x6d29ea20, 0x35a9e: 0x6d29ec20, 0x35a9f: 0x6d29ee20, + 0x35aa0: 0x6d29f020, 0x35aa1: 0x6d29f220, 0x35aa2: 0x6d29f420, 0x35aa3: 0x6d29f620, + 0x35aa4: 0x6d29f820, 0x35aa5: 0x6d29fa20, 0x35aa6: 0x6d29fc20, 0x35aa7: 0x6d29fe20, + 0x35aa8: 0x6d2a0020, 0x35aa9: 0x6d2a0220, 0x35aaa: 0x6d2a0420, 0x35aab: 0x6d2a0620, + 0x35aac: 0x6d2a0820, 0x35aad: 0x6d2a0a20, 0x35aae: 0x6d2a0c20, 0x35aaf: 0x6d2a0e20, + 0x35ab0: 0x6d2a1020, 0x35ab1: 0x6d2a1220, 0x35ab2: 0x6d2a1420, 0x35ab3: 0x6d2a1620, + 0x35ab4: 0x6d56e220, 0x35ab5: 0x6d2a1820, 0x35ab6: 0x6d2a1a20, 0x35ab7: 0x6d2a1c20, + 0x35ab8: 0x6d2a1e20, 0x35ab9: 0x6d2a2020, 0x35aba: 0x6d2a2220, 0x35abb: 0x6d2a2420, + 0x35abc: 0x6d2a2620, 0x35abd: 0x6d2a2820, 0x35abe: 0x6d2a2a20, 0x35abf: 0x6d2a2c20, + // Block 0xd6b, offset 0x35ac0 + 0x35ac0: 0x6d2a2e20, 0x35ac1: 0x6d2a3020, 0x35ac2: 0x6d2a3220, 0x35ac3: 0x6d2a3420, + 0x35ac4: 0x6d2a3620, 0x35ac5: 0x6d2a3820, 0x35ac6: 0x6d2a3a20, 0x35ac7: 0x6d2a3c20, + 0x35ac8: 0x6d2a3e20, 0x35ac9: 0x6d2a4020, 0x35aca: 0x6d2a4220, 0x35acb: 0x6d2a4420, + 0x35acc: 0x6d2a4620, 0x35acd: 0x6d2a4820, 0x35ace: 0x6d2a4a20, 0x35acf: 0x6d2a4c20, + 0x35ad0: 0x6d2a4e20, 0x35ad1: 0x6d2a5020, 0x35ad2: 0x6d2a5220, 0x35ad3: 0x6d2a5420, + 0x35ad4: 0x6d2a5620, 0x35ad5: 0x6d2a5820, 0x35ad6: 0x6d2a5a20, 0x35ad7: 0x6d2a5c20, + 0x35ad8: 0x6d2a5e20, 0x35ad9: 0x6d4f2420, 0x35ada: 0x6d2a6020, 0x35adb: 0x6d2a6220, + 0x35adc: 0x6d2a6420, 0x35add: 0x6d2a6620, 0x35ade: 0x6d2a6820, 0x35adf: 0x6d2a6a20, + 0x35ae0: 0x6d2a6c20, 0x35ae1: 0x6d2a6e20, 0x35ae2: 0x6d2a7020, 0x35ae3: 0x6d2a7220, + 0x35ae4: 0x6d2a7420, 0x35ae5: 0x6d2a7620, 0x35ae6: 0x6d2a7820, 0x35ae7: 0x6d2a7a20, + 0x35ae8: 0x6d2a7c20, 0x35ae9: 0x6d2a7e20, 0x35aea: 0x6d2a8020, 0x35aeb: 0x6d2a8220, + 0x35aec: 0x6d2a8420, 0x35aed: 0x6d2a8620, 0x35aee: 0x6d2a8820, 0x35aef: 0x6d2a8a20, + 0x35af0: 0x6d2a8c20, 0x35af1: 0x6d2a8e20, 0x35af2: 0x6d2a9020, 0x35af3: 0x6d2a9220, + 0x35af4: 0x6d2a9420, 0x35af5: 0x6d2a9620, 0x35af6: 0x6d2a9820, 0x35af7: 0x6d2a9a20, + 0x35af8: 0x6d2a9c20, 0x35af9: 0x6d2a9e20, 0x35afa: 0x6d2aa020, 0x35afb: 0x6d2aa220, + 0x35afc: 0x6d2aa420, 0x35afd: 0x6d2aa620, 0x35afe: 0x6d2aa820, 0x35aff: 0x6d2aaa20, + // Block 0xd6c, offset 0x35b00 + 0x35b00: 0x6d2aac20, 0x35b01: 0x6d2aae20, 0x35b02: 0x6d2ab020, 0x35b03: 0x6d56e420, + 0x35b04: 0x6d56e620, 0x35b05: 0x6d56e820, 0x35b06: 0x6d56ea20, 0x35b07: 0x6d56ec20, + 0x35b08: 0x6d56ee20, 0x35b09: 0x6d56f020, 0x35b0a: 0x6d56f220, 0x35b0b: 0x6d56f420, + 0x35b0c: 0x6d56f620, 0x35b0d: 0x6d56f820, 0x35b0e: 0x6d56fa20, 0x35b0f: 0x6d56fc20, + 0x35b10: 0x6d56fe20, 0x35b11: 0x6d570020, 0x35b12: 0x6d570220, 0x35b13: 0x6d570420, + 0x35b14: 0x6d570620, 0x35b15: 0x6d570820, 0x35b16: 0x6d570a20, 0x35b17: 0x6d570c20, + 0x35b18: 0x6d570e20, 0x35b19: 0x6d571020, 0x35b1a: 0x6d571220, 0x35b1b: 0x6d571420, + 0x35b1c: 0x6d571620, 0x35b1d: 0x6d571820, 0x35b1e: 0x6d571a20, 0x35b1f: 0x6d571c20, + 0x35b20: 0x6d571e20, 0x35b21: 0x6d572020, 0x35b22: 0x6d572220, 0x35b23: 0x6d572420, + 0x35b24: 0x6d572620, 0x35b25: 0x6d572820, 0x35b26: 0x6d572a20, 0x35b27: 0x6d572c20, + 0x35b28: 0x6d572e20, 0x35b29: 0x6d573020, 0x35b2a: 0x6d573220, 0x35b2b: 0x6d573420, + 0x35b2c: 0x6d573620, 0x35b2d: 0x6d573820, 0x35b2e: 0x6d573a20, 0x35b2f: 0x6d573c20, + 0x35b30: 0x6d573e20, 0x35b31: 0x6d574020, 0x35b32: 0x6d574220, 0x35b33: 0x6d574420, + 0x35b34: 0x6d574620, 0x35b35: 0x6d574820, 0x35b36: 0x6d574a20, 0x35b37: 0x6d574c20, + 0x35b38: 0x6d574e20, 0x35b39: 0x6d575020, 0x35b3a: 0x6d575220, 0x35b3b: 0x6d575420, + 0x35b3c: 0x6d575620, 0x35b3d: 0x6d575820, 0x35b3e: 0x6d575a20, 0x35b3f: 0x6d575c20, + // Block 0xd6d, offset 0x35b40 + 0x35b40: 0x6d575e20, 0x35b41: 0x6d576020, 0x35b42: 0x6d576220, 0x35b43: 0x6d576420, + 0x35b44: 0x6d576620, 0x35b45: 0x6d576820, 0x35b46: 0x6d576a20, 0x35b47: 0x6d576c20, + 0x35b48: 0x6d576e20, 0x35b49: 0x6d577020, 0x35b4a: 0x6d577220, 0x35b4b: 0x6d577420, + 0x35b4c: 0x6d577620, 0x35b4d: 0x6d577820, 0x35b4e: 0x6d577a20, 0x35b4f: 0x6d577c20, + 0x35b50: 0x6d577e20, 0x35b51: 0x6d578020, 0x35b52: 0x6d578220, 0x35b53: 0x6d578420, + 0x35b54: 0x6d578620, 0x35b55: 0x6d578820, 0x35b56: 0x6d578a20, 0x35b57: 0x6d578c20, + 0x35b58: 0x6d578e20, 0x35b59: 0x6d579020, 0x35b5a: 0x6d579220, 0x35b5b: 0x6d579420, + 0x35b5c: 0x6d579620, 0x35b5d: 0x6d579820, 0x35b5e: 0x6d579a20, 0x35b5f: 0x6d579c20, + 0x35b60: 0x6d579e20, 0x35b61: 0x6d57a020, 0x35b62: 0x6d57a220, 0x35b63: 0x6d57a420, + 0x35b64: 0x6d57a620, 0x35b65: 0x6d57a820, 0x35b66: 0x6d57aa20, 0x35b67: 0x6d57ac20, + 0x35b68: 0x6d57ae20, 0x35b69: 0x6d822820, 0x35b6a: 0x6d57b020, 0x35b6b: 0x6d57b220, + 0x35b6c: 0x6d57b420, 0x35b6d: 0x6d57b620, 0x35b6e: 0x6d57b820, 0x35b6f: 0x6d57ba20, + 0x35b70: 0x6d57bc20, 0x35b71: 0x6d57be20, 0x35b72: 0x6d57c020, 0x35b73: 0x6d57c220, + 0x35b74: 0x6d57c420, 0x35b75: 0x6d57c620, 0x35b76: 0x6d57c820, 0x35b77: 0x6d57ca20, + 0x35b78: 0x6d57cc20, 0x35b79: 0x6d57ce20, 0x35b7a: 0x6d57d020, 0x35b7b: 0x6d57d220, + 0x35b7c: 0x6d57d420, 0x35b7d: 0x6d57d620, 0x35b7e: 0x6d57d820, 0x35b7f: 0x6d57da20, + // Block 0xd6e, offset 0x35b80 + 0x35b80: 0x6da7de20, 0x35b81: 0x6d57dc20, 0x35b82: 0x6d57de20, 0x35b83: 0x6d57e020, + 0x35b84: 0x6d57e220, 0x35b85: 0x6d822a20, 0x35b86: 0x6d822c20, 0x35b87: 0x6d822e20, + 0x35b88: 0x6d823020, 0x35b89: 0x6d823220, 0x35b8a: 0x6d823420, 0x35b8b: 0x6d823620, + 0x35b8c: 0x6d823820, 0x35b8d: 0x6d823a20, 0x35b8e: 0x6d823c20, 0x35b8f: 0x6d823e20, + 0x35b90: 0x6d824020, 0x35b91: 0x6d824220, 0x35b92: 0x6d824420, 0x35b93: 0x6d824620, + 0x35b94: 0x6d824820, 0x35b95: 0x6d824a20, 0x35b96: 0x6d824c20, 0x35b97: 0x6d824e20, + 0x35b98: 0x6d825020, 0x35b99: 0x6d825220, 0x35b9a: 0x6d825420, 0x35b9b: 0x6d825620, + 0x35b9c: 0x6d825820, 0x35b9d: 0x6d825a20, 0x35b9e: 0x6d825c20, 0x35b9f: 0x6d825e20, + 0x35ba0: 0x6d826020, 0x35ba1: 0x6d826220, 0x35ba2: 0x6d826420, 0x35ba3: 0x6d826620, + 0x35ba4: 0x6d826820, 0x35ba5: 0x6d826a20, 0x35ba6: 0x6d826c20, 0x35ba7: 0x6d826e20, + 0x35ba8: 0x6d827020, 0x35ba9: 0x6d827220, 0x35baa: 0x6d827420, 0x35bab: 0x6d827620, + 0x35bac: 0x6d827820, 0x35bad: 0x6d827a20, 0x35bae: 0x6d827c20, 0x35baf: 0x6d827e20, + 0x35bb0: 0x6d828020, 0x35bb1: 0x6d828220, 0x35bb2: 0x6d828420, 0x35bb3: 0x6d828620, + 0x35bb4: 0x6d828820, 0x35bb5: 0x6d828a20, 0x35bb6: 0x6d828c20, 0x35bb7: 0x6d828e20, + 0x35bb8: 0x6d829020, 0x35bb9: 0x6d829220, 0x35bba: 0x6d829420, 0x35bbb: 0x6d829620, + 0x35bbc: 0x6d829820, 0x35bbd: 0x6d829a20, 0x35bbe: 0x6d829c20, 0x35bbf: 0x6d829e20, + // Block 0xd6f, offset 0x35bc0 + 0x35bc0: 0x6d82a020, 0x35bc1: 0x6d82a220, 0x35bc2: 0x6d82a420, 0x35bc3: 0x6d82a620, + 0x35bc4: 0x6d82a820, 0x35bc5: 0x6d82aa20, 0x35bc6: 0x6d82ac20, 0x35bc7: 0x6d82ae20, + 0x35bc8: 0x6d82b020, 0x35bc9: 0x6d82b220, 0x35bca: 0x6d82b420, 0x35bcb: 0x6d82b620, + 0x35bcc: 0x6d82b820, 0x35bcd: 0x6d82ba20, 0x35bce: 0x6d82bc20, 0x35bcf: 0x6d82be20, + 0x35bd0: 0x6d82c020, 0x35bd1: 0x6d82c220, 0x35bd2: 0x6d82c420, 0x35bd3: 0x6d82c620, + 0x35bd4: 0x6d82c820, 0x35bd5: 0x6d82ca20, 0x35bd6: 0x6d82cc20, 0x35bd7: 0x6d82ce20, + 0x35bd8: 0x6d82d020, 0x35bd9: 0x6d82d220, 0x35bda: 0x6d82d420, 0x35bdb: 0x6d82d620, + 0x35bdc: 0x6d82d820, 0x35bdd: 0x6d82da20, 0x35bde: 0x6d82dc20, 0x35bdf: 0x6d82de20, + 0x35be0: 0x6d82e020, 0x35be1: 0x6d82e220, 0x35be2: 0x6d7ade20, 0x35be3: 0x6da7e020, + 0x35be4: 0x6da7e220, 0x35be5: 0x6da7e420, 0x35be6: 0x6da7e620, 0x35be7: 0x6da7e820, + 0x35be8: 0x6da7ea20, 0x35be9: 0x6da7ec20, 0x35bea: 0x6da7ee20, 0x35beb: 0x6da7f020, + 0x35bec: 0x6da7f220, 0x35bed: 0x6da7f420, 0x35bee: 0x6da7f620, 0x35bef: 0x6da7f820, + 0x35bf0: 0x6da7fa20, 0x35bf1: 0x6da7fc20, 0x35bf2: 0x6da7fe20, 0x35bf3: 0x6da80020, + 0x35bf4: 0x6da80220, 0x35bf5: 0x6da80420, 0x35bf6: 0x6da80620, 0x35bf7: 0x6da80820, + 0x35bf8: 0x6da80a20, 0x35bf9: 0x6da80c20, 0x35bfa: 0x6da80e20, 0x35bfb: 0x6da81020, + 0x35bfc: 0x6da81220, 0x35bfd: 0x6da81420, 0x35bfe: 0x6da81620, 0x35bff: 0x6da81820, + // Block 0xd70, offset 0x35c00 + 0x35c00: 0x6da81a20, 0x35c01: 0x6da81c20, 0x35c02: 0x6da81e20, 0x35c03: 0x6da82020, + 0x35c04: 0x6da82220, 0x35c05: 0x6da82420, 0x35c06: 0x6da82620, 0x35c07: 0x6da82820, + 0x35c08: 0x6da82a20, 0x35c09: 0x6da82c20, 0x35c0a: 0x6da82e20, 0x35c0b: 0x6da83020, + 0x35c0c: 0x6da83220, 0x35c0d: 0x6da83420, 0x35c0e: 0x6da83620, 0x35c0f: 0x6da83820, + 0x35c10: 0x6da83a20, 0x35c11: 0x6da83c20, 0x35c12: 0x6da83e20, 0x35c13: 0x6da84020, + 0x35c14: 0x6da84220, 0x35c15: 0x6da84420, 0x35c16: 0x6da84620, 0x35c17: 0x6da84820, + 0x35c18: 0x6da84a20, 0x35c19: 0x6da84c20, 0x35c1a: 0x6da84e20, 0x35c1b: 0x6da85020, + 0x35c1c: 0x6da85220, 0x35c1d: 0x6da85420, 0x35c1e: 0x6dc90820, 0x35c1f: 0x6da85620, + 0x35c20: 0x6da85820, 0x35c21: 0x6dc90a20, 0x35c22: 0x6dc90c20, 0x35c23: 0x6dc90e20, + 0x35c24: 0x6dc91020, 0x35c25: 0x6dc91220, 0x35c26: 0x6dc91420, 0x35c27: 0x6dc91620, + 0x35c28: 0x6dc91820, 0x35c29: 0x6dc91a20, 0x35c2a: 0x6dc91c20, 0x35c2b: 0x6dc91e20, + 0x35c2c: 0x6dc92020, 0x35c2d: 0x6dc92220, 0x35c2e: 0x6dc92420, 0x35c2f: 0x6dc92620, + 0x35c30: 0x6dc92820, 0x35c31: 0x6dc92a20, 0x35c32: 0x6dc92c20, 0x35c33: 0x6dc92e20, + 0x35c34: 0x6dc93020, 0x35c35: 0x6dc93220, 0x35c36: 0x6dc93420, 0x35c37: 0x6dc93620, + 0x35c38: 0x6dc93820, 0x35c39: 0x6dc93a20, 0x35c3a: 0x6dc93c20, 0x35c3b: 0x6dc93e20, + 0x35c3c: 0x6dc94020, 0x35c3d: 0x6dc94220, 0x35c3e: 0x6dc94420, 0x35c3f: 0x6dc94620, + // Block 0xd71, offset 0x35c40 + 0x35c40: 0x6dc94820, 0x35c41: 0x6dc94a20, 0x35c42: 0x6dc94c20, 0x35c43: 0x6dc94e20, + 0x35c44: 0x6dc95020, 0x35c45: 0x6dc95220, 0x35c46: 0x6dc95420, 0x35c47: 0x6dc95620, + 0x35c48: 0x6dc95820, 0x35c49: 0x6dc95a20, 0x35c4a: 0x6dc95c20, 0x35c4b: 0x6dc95e20, + 0x35c4c: 0x6dc96020, 0x35c4d: 0x6dc96220, 0x35c4e: 0x6dc96420, 0x35c4f: 0x6dc96620, + 0x35c50: 0x6dc96820, 0x35c51: 0x6dc96a20, 0x35c52: 0x6dc96c20, 0x35c53: 0x6dc96e20, + 0x35c54: 0x6dc97020, 0x35c55: 0x6dc97220, 0x35c56: 0x6dc97420, 0x35c57: 0x6dc97620, + 0x35c58: 0x6dc97820, 0x35c59: 0x6dc97a20, 0x35c5a: 0x6dc97c20, 0x35c5b: 0x6dc97e20, + 0x35c5c: 0x6dc98020, 0x35c5d: 0x6de4f420, 0x35c5e: 0x6dc98220, 0x35c5f: 0x6dc98420, + 0x35c60: 0x6dc98620, 0x35c61: 0x6de4f620, 0x35c62: 0x6dc98820, 0x35c63: 0x6dc98a20, + 0x35c64: 0x6dc98c20, 0x35c65: 0x6dc98e20, 0x35c66: 0x6dc99020, 0x35c67: 0x6dc99220, + 0x35c68: 0x6dc99420, 0x35c69: 0x6dc99620, 0x35c6a: 0x6dc99820, 0x35c6b: 0x6dc99a20, + 0x35c6c: 0x6dc99c20, 0x35c6d: 0x6dc99e20, 0x35c6e: 0x6dc9a020, 0x35c6f: 0x6dc9a220, + 0x35c70: 0x6dc9a420, 0x35c71: 0x6dc9a620, 0x35c72: 0x6dc9a820, 0x35c73: 0x6de4f820, + 0x35c74: 0x6de4fa20, 0x35c75: 0x6de4fc20, 0x35c76: 0x6de4fe20, 0x35c77: 0x6de50020, + 0x35c78: 0x6de50220, 0x35c79: 0x6de50420, 0x35c7a: 0x6de50620, 0x35c7b: 0x6de50820, + 0x35c7c: 0x6de50a20, 0x35c7d: 0x6de50c20, 0x35c7e: 0x6de50e20, 0x35c7f: 0x6de51020, + // Block 0xd72, offset 0x35c80 + 0x35c80: 0x6de51220, 0x35c81: 0x6de51420, 0x35c82: 0x6de51620, 0x35c83: 0x6de51820, + 0x35c84: 0x6de51a20, 0x35c85: 0x6de51c20, 0x35c86: 0x6de51e20, 0x35c87: 0x6de52020, + 0x35c88: 0x6de52220, 0x35c89: 0x6de52420, 0x35c8a: 0x6de52620, 0x35c8b: 0x6de52820, + 0x35c8c: 0x6de52a20, 0x35c8d: 0x6de52c20, 0x35c8e: 0x6de52e20, 0x35c8f: 0x6de53020, + 0x35c90: 0x6de53220, 0x35c91: 0x6de53420, 0x35c92: 0x6de53620, 0x35c93: 0x6de53820, + 0x35c94: 0x6de53a20, 0x35c95: 0x6de53c20, 0x35c96: 0x6de53e20, 0x35c97: 0x6de54020, + 0x35c98: 0x6de54220, 0x35c99: 0x6de54420, 0x35c9a: 0x6de54620, 0x35c9b: 0x6de54820, + 0x35c9c: 0x6de54a20, 0x35c9d: 0x6de54c20, 0x35c9e: 0x6de54e20, 0x35c9f: 0x6de55020, + 0x35ca0: 0x6de55220, 0x35ca1: 0x6de55420, 0x35ca2: 0x6de55620, 0x35ca3: 0x6de55820, + 0x35ca4: 0x6de55a20, 0x35ca5: 0x6de55c20, 0x35ca6: 0x6de55e20, 0x35ca7: 0x6de56020, + 0x35ca8: 0x6dfbf620, 0x35ca9: 0x6dfbf820, 0x35caa: 0x6dfbfa20, 0x35cab: 0x6dfbfc20, + 0x35cac: 0x6dfbfe20, 0x35cad: 0x6dfc0020, 0x35cae: 0x6dfc0220, 0x35caf: 0x6dfc0420, + 0x35cb0: 0x6dfc0620, 0x35cb1: 0x6dfc0820, 0x35cb2: 0x6dfc0a20, 0x35cb3: 0x6dfc0c20, + 0x35cb4: 0x6dfc0e20, 0x35cb5: 0x6dfc1020, 0x35cb6: 0x6dfc1220, 0x35cb7: 0x6dfc1420, + 0x35cb8: 0x6dfc1620, 0x35cb9: 0x6dfc1820, 0x35cba: 0x6dfc1a20, 0x35cbb: 0x6dfc1c20, + 0x35cbc: 0x6dfc1e20, 0x35cbd: 0x6dfc2020, 0x35cbe: 0x6dfc2220, 0x35cbf: 0x6dfc2420, + // Block 0xd73, offset 0x35cc0 + 0x35cc0: 0x6dfc2620, 0x35cc1: 0x6dfc2820, 0x35cc2: 0x6dfc2a20, 0x35cc3: 0x6dfc2c20, + 0x35cc4: 0x6dfc2e20, 0x35cc5: 0x6dfc3020, 0x35cc6: 0x6dfc3220, 0x35cc7: 0x6dfc3420, + 0x35cc8: 0x6dfc3620, 0x35cc9: 0x6dfc3820, 0x35cca: 0x6dfc3a20, 0x35ccb: 0x6dfc3c20, + 0x35ccc: 0x6dfc3e20, 0x35ccd: 0x6dfc4020, 0x35cce: 0x6e0f2220, 0x35ccf: 0x6e0f2420, + 0x35cd0: 0x6e0f2620, 0x35cd1: 0x6e0f2820, 0x35cd2: 0x6e0f2a20, 0x35cd3: 0x6e0f2c20, + 0x35cd4: 0x6e0f2e20, 0x35cd5: 0x6e0f3020, 0x35cd6: 0x6e0f3220, 0x35cd7: 0x6e0f3420, + 0x35cd8: 0x6e0f3620, 0x35cd9: 0x6e0f3820, 0x35cda: 0x6e0f3a20, 0x35cdb: 0x6e0f3c20, + 0x35cdc: 0x6e0f3e20, 0x35cdd: 0x6e0f4020, 0x35cde: 0x6e0f4220, 0x35cdf: 0x6e0f4420, + 0x35ce0: 0x6e0f4620, 0x35ce1: 0x6e0f4820, 0x35ce2: 0x6e0f4a20, 0x35ce3: 0x6e0f4c20, + 0x35ce4: 0x6e0f4e20, 0x35ce5: 0x6e0f5020, 0x35ce6: 0x6e0f5220, 0x35ce7: 0x6e0f5420, + 0x35ce8: 0x6e0f5620, 0x35ce9: 0x6e0f5820, 0x35cea: 0x6e0f5a20, 0x35ceb: 0x6e0f5c20, + 0x35cec: 0x6e0f5e20, 0x35ced: 0x6e0f6020, 0x35cee: 0x6e0f6220, 0x35cef: 0x6e0f6420, + 0x35cf0: 0x6e0f6620, 0x35cf1: 0x6e0f6820, 0x35cf2: 0x6e0f6a20, 0x35cf3: 0x6e0f6c20, + 0x35cf4: 0x6e0f6e20, 0x35cf5: 0x6e0f7020, 0x35cf6: 0x6e1e4220, 0x35cf7: 0x6e1e4420, + 0x35cf8: 0x6e1e4620, 0x35cf9: 0x6e1e4820, 0x35cfa: 0x6e1e4a20, 0x35cfb: 0x6e1e4c20, + 0x35cfc: 0x6e1e4e20, 0x35cfd: 0x6e1e5020, 0x35cfe: 0x6e1e5220, 0x35cff: 0x6e1e5420, + // Block 0xd74, offset 0x35d00 + 0x35d00: 0x6e1e5620, 0x35d01: 0x6e1e5820, 0x35d02: 0x6e1e5a20, 0x35d03: 0x6e1e5c20, + 0x35d04: 0x6e1e5e20, 0x35d05: 0x6e1e6020, 0x35d06: 0x6e1e6220, 0x35d07: 0x6e1e6420, + 0x35d08: 0x6e1e6620, 0x35d09: 0x6e1e6820, 0x35d0a: 0x6e29a620, 0x35d0b: 0x6e29a820, + 0x35d0c: 0x6e29aa20, 0x35d0d: 0x6e29ac20, 0x35d0e: 0x6e29ae20, 0x35d0f: 0x6e29b020, + 0x35d10: 0x6e29b220, 0x35d11: 0x6e29b420, 0x35d12: 0x6e29b620, 0x35d13: 0x6e29b820, + 0x35d14: 0x6e29ba20, 0x35d15: 0x6e29bc20, 0x35d16: 0x6e29be20, 0x35d17: 0x6e29c020, + 0x35d18: 0x6e29c220, 0x35d19: 0x6e29c420, 0x35d1a: 0x6e29c620, 0x35d1b: 0x6e29c820, + 0x35d1c: 0x6e29ca20, 0x35d1d: 0x6e29cc20, 0x35d1e: 0x6e29ce20, 0x35d1f: 0x6e29d020, + 0x35d20: 0x6e32ac20, 0x35d21: 0x6e32ae20, 0x35d22: 0x6e32b020, 0x35d23: 0x6e32b220, + 0x35d24: 0x6e32b420, 0x35d25: 0x6e32b620, 0x35d26: 0x6e32b820, 0x35d27: 0x6e32ba20, + 0x35d28: 0x6e32bc20, 0x35d29: 0x6e38e420, 0x35d2a: 0x6e38e620, 0x35d2b: 0x6e38e820, + 0x35d2c: 0x6e38ea20, 0x35d2d: 0x6e38ec20, 0x35d2e: 0x6e38ee20, 0x35d2f: 0x6e38f020, + 0x35d30: 0x6e3d5820, 0x35d31: 0x6e3d5a20, 0x35d32: 0x6e3d5c20, 0x35d33: 0x6e3d5e20, + 0x35d34: 0x6e3d6020, 0x35d35: 0x6e3d6220, 0x35d36: 0x6e3d6420, 0x35d37: 0x6e406220, + 0x35d38: 0x6e406420, 0x35d39: 0x6e406620, 0x35d3a: 0x6e406820, 0x35d3b: 0x6e406a20, + 0x35d3c: 0x6e42b220, 0x35d3d: 0x6e42b420, 0x35d3e: 0x6e443220, 0x35d3f: 0x6e452220, + // Block 0xd75, offset 0x35d40 + 0x35d40: 0x6e468020, 0x35d41: 0x6e46c820, 0x35d42: 0x6c09cc20, 0x35d43: 0x6c136620, + 0x35d44: 0x6c136820, 0x35d45: 0x6c136a20, 0x35d46: 0x6c136c20, 0x35d47: 0x6c136e20, + 0x35d48: 0x6c137020, 0x35d49: 0x6c137220, 0x35d4a: 0x6c137420, 0x35d4b: 0x6c137620, + 0x35d4c: 0x6c137820, 0x35d4d: 0x6c23aa20, 0x35d4e: 0x6c23ac20, 0x35d4f: 0x6c23ae20, + 0x35d50: 0x6c23b020, 0x35d51: 0x6c23b220, 0x35d52: 0x6c23b420, 0x35d53: 0x6c23b620, + 0x35d54: 0x6c23b820, 0x35d55: 0x6c23ba20, 0x35d56: 0x6c23bc20, 0x35d57: 0x6c23be20, + 0x35d58: 0x6c23c020, 0x35d59: 0x6c23c220, 0x35d5a: 0x6c23c420, 0x35d5b: 0x6c23c620, + 0x35d5c: 0x6c23c820, 0x35d5d: 0x6c39d820, 0x35d5e: 0x6c39da20, 0x35d5f: 0x6c39dc20, + 0x35d60: 0x6c39de20, 0x35d61: 0x6c39e020, 0x35d62: 0x6c39e220, 0x35d63: 0x6c39e420, + 0x35d64: 0x6c39e620, 0x35d65: 0x6c39e820, 0x35d66: 0x6c39ea20, 0x35d67: 0x6c39ec20, + 0x35d68: 0x6c39ee20, 0x35d69: 0x6c39f020, 0x35d6a: 0x6c39f220, 0x35d6b: 0x6c39f420, + 0x35d6c: 0x6c39f620, 0x35d6d: 0x6c39f820, 0x35d6e: 0x6c39fa20, 0x35d6f: 0x6c39fc20, + 0x35d70: 0x6c39fe20, 0x35d71: 0x6c3a0020, 0x35d72: 0x6c3a0220, 0x35d73: 0x6c3a0420, + 0x35d74: 0x6c3a0620, 0x35d75: 0x6c3a0820, 0x35d76: 0x6c3a0a20, 0x35d77: 0x6c3a0c20, + 0x35d78: 0x6c3a0e20, 0x35d79: 0x6c3a1020, 0x35d7a: 0x6c3a1220, 0x35d7b: 0x6c3a1420, + 0x35d7c: 0x6c557220, 0x35d7d: 0x6c557420, 0x35d7e: 0x6c557620, 0x35d7f: 0x6c557820, + // Block 0xd76, offset 0x35d80 + 0x35d80: 0x6c557a20, 0x35d81: 0x6c557c20, 0x35d82: 0x6c557e20, 0x35d83: 0x6c558020, + 0x35d84: 0x6c558220, 0x35d85: 0x6c558420, 0x35d86: 0x6c558620, 0x35d87: 0x6c558820, + 0x35d88: 0x6c558a20, 0x35d89: 0x6c558c20, 0x35d8a: 0x6c558e20, 0x35d8b: 0x6c559020, + 0x35d8c: 0x6c559220, 0x35d8d: 0x6c559420, 0x35d8e: 0x6c559620, 0x35d8f: 0x6c559820, + 0x35d90: 0x6c559a20, 0x35d91: 0x6c559c20, 0x35d92: 0x6c559e20, 0x35d93: 0x6c55a020, + 0x35d94: 0x6c55a220, 0x35d95: 0x6c55a420, 0x35d96: 0x6c55a620, 0x35d97: 0x6c55a820, + 0x35d98: 0x6c55aa20, 0x35d99: 0x6c55ac20, 0x35d9a: 0x6c55ae20, 0x35d9b: 0x6c55b020, + 0x35d9c: 0x6c55b220, 0x35d9d: 0x6c55b420, 0x35d9e: 0x6c55b620, 0x35d9f: 0x6c55b820, + 0x35da0: 0x6c55ba20, 0x35da1: 0x6c55bc20, 0x35da2: 0x6c55be20, 0x35da3: 0x6c55c020, + 0x35da4: 0x6c55c220, 0x35da5: 0x6c55c420, 0x35da6: 0x6c55c620, 0x35da7: 0x6c55c820, + 0x35da8: 0x6c55ca20, 0x35da9: 0x6c55cc20, 0x35daa: 0x6c55ce20, 0x35dab: 0x6c55d020, + 0x35dac: 0x6c55d220, 0x35dad: 0x6c55d420, 0x35dae: 0x6c55d620, 0x35daf: 0x6c784c20, + 0x35db0: 0x6c784e20, 0x35db1: 0x6c785020, 0x35db2: 0x6c785220, 0x35db3: 0x6c785420, + 0x35db4: 0x6c785620, 0x35db5: 0x6c785820, 0x35db6: 0x6c785a20, 0x35db7: 0x6c785c20, + 0x35db8: 0x6c785e20, 0x35db9: 0x6c786020, 0x35dba: 0x6c786220, 0x35dbb: 0x6c786420, + 0x35dbc: 0x6c786620, 0x35dbd: 0x6c786820, 0x35dbe: 0x6c786a20, 0x35dbf: 0x6c786c20, + // Block 0xd77, offset 0x35dc0 + 0x35dc0: 0x6c786e20, 0x35dc1: 0x6c787020, 0x35dc2: 0x6c787220, 0x35dc3: 0x6c787420, + 0x35dc4: 0x6c787620, 0x35dc5: 0x6c787820, 0x35dc6: 0x6c787a20, 0x35dc7: 0x6c787c20, + 0x35dc8: 0x6c787e20, 0x35dc9: 0x6c788020, 0x35dca: 0x6c788220, 0x35dcb: 0x6c788420, + 0x35dcc: 0x6c788620, 0x35dcd: 0x6c788820, 0x35dce: 0x6c788a20, 0x35dcf: 0x6c788c20, + 0x35dd0: 0x6c788e20, 0x35dd1: 0x6c789020, 0x35dd2: 0x6c789220, 0x35dd3: 0x6c789420, + 0x35dd4: 0x6c789620, 0x35dd5: 0x6c789820, 0x35dd6: 0x6c789a20, 0x35dd7: 0x6c789c20, + 0x35dd8: 0x6c789e20, 0x35dd9: 0x6c78a020, 0x35dda: 0x6c78a220, 0x35ddb: 0x6c78a420, + 0x35ddc: 0x6c78a620, 0x35ddd: 0x6c78a820, 0x35dde: 0x6c78aa20, 0x35ddf: 0x6c78ac20, + 0x35de0: 0x6c78ae20, 0x35de1: 0x6c78b020, 0x35de2: 0x6c78b220, 0x35de3: 0x6c78b420, + 0x35de4: 0x6c78b620, 0x35de5: 0x6ca14020, 0x35de6: 0x6ca14220, 0x35de7: 0x6ca14420, + 0x35de8: 0x6ca14620, 0x35de9: 0x6ca14820, 0x35dea: 0x6ca14a20, 0x35deb: 0x6ca14c20, + 0x35dec: 0x6ca14e20, 0x35ded: 0x6ca15020, 0x35dee: 0x6ca15220, 0x35def: 0x6ca15420, + 0x35df0: 0x6ca15620, 0x35df1: 0x6ca15820, 0x35df2: 0x6ca15a20, 0x35df3: 0x6ca15c20, + 0x35df4: 0x6ca15e20, 0x35df5: 0x6ca16020, 0x35df6: 0x6ca16220, 0x35df7: 0x6ca16420, + 0x35df8: 0x6ca16620, 0x35df9: 0x6ca16820, 0x35dfa: 0x6ca16a20, 0x35dfb: 0x6ca16c20, + 0x35dfc: 0x6ca16e20, 0x35dfd: 0x6ca17020, 0x35dfe: 0x6ca17220, 0x35dff: 0x6ca17420, + // Block 0xd78, offset 0x35e00 + 0x35e00: 0x6ca17620, 0x35e01: 0x6ca17820, 0x35e02: 0x6ca17a20, 0x35e03: 0x6ca17c20, + 0x35e04: 0x6ca17e20, 0x35e05: 0x6ca18020, 0x35e06: 0x6ca18220, 0x35e07: 0x6ca18420, + 0x35e08: 0x6ca18620, 0x35e09: 0x6ca18820, 0x35e0a: 0x6ca18a20, 0x35e0b: 0x6ca18c20, + 0x35e0c: 0x6ca18e20, 0x35e0d: 0x6ca19020, 0x35e0e: 0x6ca19220, 0x35e0f: 0x6ca19420, + 0x35e10: 0x6ca19620, 0x35e11: 0x6ca19820, 0x35e12: 0x6ca19a20, 0x35e13: 0x6ca19c20, + 0x35e14: 0x6ca19e20, 0x35e15: 0x6ca1a020, 0x35e16: 0x6ca1a220, 0x35e17: 0x6ca1a420, + 0x35e18: 0x6ca1a620, 0x35e19: 0x6ca1a820, 0x35e1a: 0x6ca1aa20, 0x35e1b: 0x6ca1ac20, + 0x35e1c: 0x6ca1ae20, 0x35e1d: 0x6ca1b020, 0x35e1e: 0x6ca1b220, 0x35e1f: 0x6ca1b420, + 0x35e20: 0x6ca1b620, 0x35e21: 0x6ca1b820, 0x35e22: 0x6cce4820, 0x35e23: 0x6cce4a20, + 0x35e24: 0x6cce4c20, 0x35e25: 0x6cce4e20, 0x35e26: 0x6cce5020, 0x35e27: 0x6cce5220, + 0x35e28: 0x6cce5420, 0x35e29: 0x6cce5620, 0x35e2a: 0x6cce5820, 0x35e2b: 0x6cce5a20, + 0x35e2c: 0x6cce5c20, 0x35e2d: 0x6cce5e20, 0x35e2e: 0x6cce6020, 0x35e2f: 0x6cce6220, + 0x35e30: 0x6cce6420, 0x35e31: 0x6cce6620, 0x35e32: 0x6cce6820, 0x35e33: 0x6cce6a20, + 0x35e34: 0x6cce6c20, 0x35e35: 0x6cce6e20, 0x35e36: 0x6cce7020, 0x35e37: 0x6cce7220, + 0x35e38: 0x6cce7420, 0x35e39: 0x6cce7620, 0x35e3a: 0x6cce7820, 0x35e3b: 0x6cce7a20, + 0x35e3c: 0x6cce7c20, 0x35e3d: 0x6cce7e20, 0x35e3e: 0x6cce8020, 0x35e3f: 0x6cce8220, + // Block 0xd79, offset 0x35e40 + 0x35e40: 0x6cce8420, 0x35e41: 0x6cce8620, 0x35e42: 0x6cce8820, 0x35e43: 0x6cce8a20, + 0x35e44: 0x6cce8c20, 0x35e45: 0x6cce8e20, 0x35e46: 0x6cce9020, 0x35e47: 0x6cce9220, + 0x35e48: 0x6cce9420, 0x35e49: 0x6cce9620, 0x35e4a: 0x6cce9820, 0x35e4b: 0x6cce9a20, + 0x35e4c: 0x6cce9c20, 0x35e4d: 0x6cce9e20, 0x35e4e: 0x6ccea020, 0x35e4f: 0x6ccea220, + 0x35e50: 0x6ccea420, 0x35e51: 0x6ccea620, 0x35e52: 0x6ccea820, 0x35e53: 0x6cceaa20, + 0x35e54: 0x6cceac20, 0x35e55: 0x6cceae20, 0x35e56: 0x6cceb020, 0x35e57: 0x6cceb220, + 0x35e58: 0x6cceb420, 0x35e59: 0x6cceb620, 0x35e5a: 0x6cceb820, 0x35e5b: 0x6cceba20, + 0x35e5c: 0x6ccebc20, 0x35e5d: 0x6ccebe20, 0x35e5e: 0x6ccec020, 0x35e5f: 0x6ccec220, + 0x35e60: 0x6ccec420, 0x35e61: 0x6ccec620, 0x35e62: 0x6ccec820, 0x35e63: 0x6cceca20, + 0x35e64: 0x6ccecc20, 0x35e65: 0x6ccece20, 0x35e66: 0x6cced020, 0x35e67: 0x6cced220, + 0x35e68: 0x6cced420, 0x35e69: 0x6cced620, 0x35e6a: 0x6cced820, 0x35e6b: 0x6cceda20, + 0x35e6c: 0x6ccedc20, 0x35e6d: 0x6ccede20, 0x35e6e: 0x6ccee020, 0x35e6f: 0x6ccee220, + 0x35e70: 0x6ccee420, 0x35e71: 0x6ccee620, 0x35e72: 0x6cfc6820, 0x35e73: 0x6cfc6a20, + 0x35e74: 0x6cfc6c20, 0x35e75: 0x6cfc6e20, 0x35e76: 0x6cfc7020, 0x35e77: 0x6cfc7220, + 0x35e78: 0x6cfc7420, 0x35e79: 0x6cfc7620, 0x35e7a: 0x6cfc7820, 0x35e7b: 0x6cfc7a20, + 0x35e7c: 0x6cfc7c20, 0x35e7d: 0x6cfc7e20, 0x35e7e: 0x6cfc8020, 0x35e7f: 0x6cfc8220, + // Block 0xd7a, offset 0x35e80 + 0x35e80: 0x6cfc8420, 0x35e81: 0x6cfc8620, 0x35e82: 0x6cfc8820, 0x35e83: 0x6cfc8a20, + 0x35e84: 0x6cfc8c20, 0x35e85: 0x6cfc8e20, 0x35e86: 0x6cfc9020, 0x35e87: 0x6cfc9220, + 0x35e88: 0x6cfc9420, 0x35e89: 0x6cfc9620, 0x35e8a: 0x6cfc9820, 0x35e8b: 0x6cfc9a20, + 0x35e8c: 0x6cfc9c20, 0x35e8d: 0x6cfc9e20, 0x35e8e: 0x6cfca020, 0x35e8f: 0x6cfca220, + 0x35e90: 0x6cfca420, 0x35e91: 0x6cfca620, 0x35e92: 0x6cfca820, 0x35e93: 0x6cfcaa20, + 0x35e94: 0x6cfcac20, 0x35e95: 0x6cfcae20, 0x35e96: 0x6cfcb020, 0x35e97: 0x6cfcb220, + 0x35e98: 0x6cfcb420, 0x35e99: 0x6cfcb620, 0x35e9a: 0x6cfcb820, 0x35e9b: 0x6cfcba20, + 0x35e9c: 0x6cfcbc20, 0x35e9d: 0x6cfcbe20, 0x35e9e: 0x6cfcc020, 0x35e9f: 0x6cfcc220, + 0x35ea0: 0x6cfcc420, 0x35ea1: 0x6cfcc620, 0x35ea2: 0x6cfcc820, 0x35ea3: 0x6cfcca20, + 0x35ea4: 0x6cfccc20, 0x35ea5: 0x6cfcce20, 0x35ea6: 0x6cfcd020, 0x35ea7: 0x6cfcd220, + 0x35ea8: 0x6cfcd420, 0x35ea9: 0x6cfcd620, 0x35eaa: 0x6cfcd820, 0x35eab: 0x6cfcda20, + 0x35eac: 0x6cfcdc20, 0x35ead: 0x6cfcde20, 0x35eae: 0x6cfce020, 0x35eaf: 0x6cfce220, + 0x35eb0: 0x6cfce420, 0x35eb1: 0x6cfce620, 0x35eb2: 0x6cfce820, 0x35eb3: 0x6cb74620, + 0x35eb4: 0x6cfcea20, 0x35eb5: 0x6cfcec20, 0x35eb6: 0x6cfcee20, 0x35eb7: 0x6cfcf020, + 0x35eb8: 0x6cfcf220, 0x35eb9: 0x6cfcf420, 0x35eba: 0x6cfcf620, 0x35ebb: 0x6cfcf820, + 0x35ebc: 0x6cfcfa20, 0x35ebd: 0x6cfcfc20, 0x35ebe: 0x6cfcfe20, 0x35ebf: 0x6cfd0020, + // Block 0xd7b, offset 0x35ec0 + 0x35ec0: 0x6cfd0220, 0x35ec1: 0x6cfd0420, 0x35ec2: 0x6cfd0620, 0x35ec3: 0x6cfd0820, + 0x35ec4: 0x6cfd0a20, 0x35ec5: 0x6cfd0c20, 0x35ec6: 0x6cfd0e20, 0x35ec7: 0x6d2b2c20, + 0x35ec8: 0x6d2b2e20, 0x35ec9: 0x6d2b3020, 0x35eca: 0x6d2b3220, 0x35ecb: 0x6d2b3420, + 0x35ecc: 0x6d2b3620, 0x35ecd: 0x6d2b3820, 0x35ece: 0x6d2b3a20, 0x35ecf: 0x6d2b3c20, + 0x35ed0: 0x6d2b3e20, 0x35ed1: 0x6d2b4020, 0x35ed2: 0x6d2b4220, 0x35ed3: 0x6d2b4420, + 0x35ed4: 0x6d2b4620, 0x35ed5: 0x6d2b4820, 0x35ed6: 0x6d2b4a20, 0x35ed7: 0x6d2b4c20, + 0x35ed8: 0x6d2b4e20, 0x35ed9: 0x6d2b5020, 0x35eda: 0x6d2b5220, 0x35edb: 0x6d2b5420, + 0x35edc: 0x6d2b5620, 0x35edd: 0x6d2b5820, 0x35ede: 0x6d2b5a20, 0x35edf: 0x6d2b5c20, + 0x35ee0: 0x6d2b5e20, 0x35ee1: 0x6d2b6020, 0x35ee2: 0x6d2b6220, 0x35ee3: 0x6d2b6420, + 0x35ee4: 0x6d2b6620, 0x35ee5: 0x6d2b6820, 0x35ee6: 0x6d2b6a20, 0x35ee7: 0x6d2b6c20, + 0x35ee8: 0x6d2b6e20, 0x35ee9: 0x6d2b7020, 0x35eea: 0x6d2b7220, 0x35eeb: 0x6d2b7420, + 0x35eec: 0x6d2b7620, 0x35eed: 0x6d2b7820, 0x35eee: 0x6d2b7a20, 0x35eef: 0x6d2b7c20, + 0x35ef0: 0x6d2b7e20, 0x35ef1: 0x6d2b8020, 0x35ef2: 0x6d585a20, 0x35ef3: 0x6d2b8220, + 0x35ef4: 0x6d2b8420, 0x35ef5: 0x6d2b8620, 0x35ef6: 0x6d2b8820, 0x35ef7: 0x6d2b8a20, + 0x35ef8: 0x6d2b8c20, 0x35ef9: 0x6d2b8e20, 0x35efa: 0x6d2b9020, 0x35efb: 0x6d2b9220, + 0x35efc: 0x6d2b9420, 0x35efd: 0x6d2b9620, 0x35efe: 0x6d2b9820, 0x35eff: 0x6d2b9a20, + // Block 0xd7c, offset 0x35f00 + 0x35f00: 0x6d2b9c20, 0x35f01: 0x6d2b9e20, 0x35f02: 0x6d2ba020, 0x35f03: 0x6d2ba220, + 0x35f04: 0x6d2ba420, 0x35f05: 0x6d2ba620, 0x35f06: 0x6d2ba820, 0x35f07: 0x6d2baa20, + 0x35f08: 0x6d2bac20, 0x35f09: 0x6d2bae20, 0x35f0a: 0x6d2bb020, 0x35f0b: 0x6d2bb220, + 0x35f0c: 0x6d2bb420, 0x35f0d: 0x6d2bb620, 0x35f0e: 0x6d2bb820, 0x35f0f: 0x6cfd1020, + 0x35f10: 0x6d585c20, 0x35f11: 0x6d585e20, 0x35f12: 0x6d586020, 0x35f13: 0x6d586220, + 0x35f14: 0x6d586420, 0x35f15: 0x6d586620, 0x35f16: 0x6d586820, 0x35f17: 0x6d586a20, + 0x35f18: 0x6d586c20, 0x35f19: 0x6d586e20, 0x35f1a: 0x6d587020, 0x35f1b: 0x6d587220, + 0x35f1c: 0x6d587420, 0x35f1d: 0x6d587620, 0x35f1e: 0x6d587820, 0x35f1f: 0x6d587a20, + 0x35f20: 0x6d587c20, 0x35f21: 0x6d587e20, 0x35f22: 0x6d588020, 0x35f23: 0x6d588220, + 0x35f24: 0x6d588420, 0x35f25: 0x6d588620, 0x35f26: 0x6d588820, 0x35f27: 0x6d588a20, + 0x35f28: 0x6d588c20, 0x35f29: 0x6d836620, 0x35f2a: 0x6d588e20, 0x35f2b: 0x6d589020, + 0x35f2c: 0x6d589220, 0x35f2d: 0x6d589420, 0x35f2e: 0x6d589620, 0x35f2f: 0x6d589820, + 0x35f30: 0x6d589a20, 0x35f31: 0x6d589c20, 0x35f32: 0x6d589e20, 0x35f33: 0x6d58a020, + 0x35f34: 0x6d58a220, 0x35f35: 0x6d58a420, 0x35f36: 0x6d58a620, 0x35f37: 0x6d58a820, + 0x35f38: 0x6d58aa20, 0x35f39: 0x6d58ac20, 0x35f3a: 0x6d58ae20, 0x35f3b: 0x6d58b020, + 0x35f3c: 0x6d58b220, 0x35f3d: 0x6d58b420, 0x35f3e: 0x6d58b620, 0x35f3f: 0x6d58b820, + // Block 0xd7d, offset 0x35f40 + 0x35f40: 0x6d385220, 0x35f41: 0x6d58ba20, 0x35f42: 0x6d705e20, 0x35f43: 0x6d58bc20, + 0x35f44: 0x6d58be20, 0x35f45: 0x6d58c020, 0x35f46: 0x6d58c220, 0x35f47: 0x6d58c420, + 0x35f48: 0x6d58c620, 0x35f49: 0x6d58c820, 0x35f4a: 0x6d58ca20, 0x35f4b: 0x6d58cc20, + 0x35f4c: 0x6d58ce20, 0x35f4d: 0x6d58d020, 0x35f4e: 0x6d58d220, 0x35f4f: 0x6d58d420, + 0x35f50: 0x6d58d620, 0x35f51: 0x6d58d820, 0x35f52: 0x6d58da20, 0x35f53: 0x6d58dc20, + 0x35f54: 0x6d58de20, 0x35f55: 0x6d58e020, 0x35f56: 0x6d58e220, 0x35f57: 0x6d58e420, + 0x35f58: 0x6d58e620, 0x35f59: 0x6d58e820, 0x35f5a: 0x6d58ea20, 0x35f5b: 0x6d58ec20, + 0x35f5c: 0x6d58ee20, 0x35f5d: 0x6d836820, 0x35f5e: 0x6d836a20, 0x35f5f: 0x6d836c20, + 0x35f60: 0x6d836e20, 0x35f61: 0x6d837020, 0x35f62: 0x6d837220, 0x35f63: 0x6d837420, + 0x35f64: 0x6d837620, 0x35f65: 0x6d837820, 0x35f66: 0x6d837a20, 0x35f67: 0x6d837c20, + 0x35f68: 0x6d837e20, 0x35f69: 0x6d838020, 0x35f6a: 0x6d838220, 0x35f6b: 0x6d838420, + 0x35f6c: 0x6d838620, 0x35f6d: 0x6d838820, 0x35f6e: 0x6d838a20, 0x35f6f: 0x6d838c20, + 0x35f70: 0x6d838e20, 0x35f71: 0x6d839020, 0x35f72: 0x6d839220, 0x35f73: 0x6d839420, + 0x35f74: 0x6d839620, 0x35f75: 0x6d839820, 0x35f76: 0x6d839a20, 0x35f77: 0x6d839c20, + 0x35f78: 0x6d839e20, 0x35f79: 0x6d83a020, 0x35f7a: 0x6d83a220, 0x35f7b: 0x6d83a420, + 0x35f7c: 0x6d83a620, 0x35f7d: 0x6d83a820, 0x35f7e: 0x6d83aa20, 0x35f7f: 0x6d83ac20, + // Block 0xd7e, offset 0x35f80 + 0x35f80: 0x6d83ae20, 0x35f81: 0x6d83b020, 0x35f82: 0x6d83b220, 0x35f83: 0x6d83b420, + 0x35f84: 0x6d83b620, 0x35f85: 0x6d83b820, 0x35f86: 0x6d83ba20, 0x35f87: 0x6d83bc20, + 0x35f88: 0x6d83be20, 0x35f89: 0x6d83c020, 0x35f8a: 0x6d83c220, 0x35f8b: 0x6d83c420, + 0x35f8c: 0x6d83c620, 0x35f8d: 0x6d83c820, 0x35f8e: 0x6d83ca20, 0x35f8f: 0x6d83cc20, + 0x35f90: 0x6d83ce20, 0x35f91: 0x6d83d020, 0x35f92: 0x6d83d220, 0x35f93: 0x6d83d420, + 0x35f94: 0x6d83d620, 0x35f95: 0x6d83d820, 0x35f96: 0x6d83da20, 0x35f97: 0x6d83dc20, + 0x35f98: 0x6d83de20, 0x35f99: 0x6d83e020, 0x35f9a: 0x6d83e220, 0x35f9b: 0x6d83e420, + 0x35f9c: 0x6d83e620, 0x35f9d: 0x6d83e820, 0x35f9e: 0x6d83ea20, 0x35f9f: 0x6d83ec20, + 0x35fa0: 0x6d793420, 0x35fa1: 0x6d83ee20, 0x35fa2: 0x6d83f020, 0x35fa3: 0x6d83f220, + 0x35fa4: 0x6d83f420, 0x35fa5: 0x6d83f620, 0x35fa6: 0x6d83f820, 0x35fa7: 0x6d83fa20, + 0x35fa8: 0x6d83fc20, 0x35fa9: 0x6d83fe20, 0x35faa: 0x6d840020, 0x35fab: 0x6d840220, + 0x35fac: 0x6d840420, 0x35fad: 0x6d840620, 0x35fae: 0x6d840820, 0x35faf: 0x6d840a20, + 0x35fb0: 0x6d840c20, 0x35fb1: 0x6d840e20, 0x35fb2: 0x6d841020, 0x35fb3: 0x6d841220, + 0x35fb4: 0x6d841420, 0x35fb5: 0x6da8ae20, 0x35fb6: 0x6da8b020, 0x35fb7: 0x6da8b220, + 0x35fb8: 0x6da8b420, 0x35fb9: 0x6da8b620, 0x35fba: 0x6da8b820, 0x35fbb: 0x6da8ba20, + 0x35fbc: 0x6da8bc20, 0x35fbd: 0x6da8be20, 0x35fbe: 0x6da8c020, 0x35fbf: 0x6da8c220, + // Block 0xd7f, offset 0x35fc0 + 0x35fc0: 0x6da8c420, 0x35fc1: 0x6da8c620, 0x35fc2: 0x6da8c820, 0x35fc3: 0x6da8ca20, + 0x35fc4: 0x6da8cc20, 0x35fc5: 0x6da8ce20, 0x35fc6: 0x6da8d020, 0x35fc7: 0x6da8d220, + 0x35fc8: 0x6da8d420, 0x35fc9: 0x6da8d620, 0x35fca: 0x6da8d820, 0x35fcb: 0x6da8da20, + 0x35fcc: 0x6da8dc20, 0x35fcd: 0x6da8de20, 0x35fce: 0x6da8e020, 0x35fcf: 0x6da8e220, + 0x35fd0: 0x6da8e420, 0x35fd1: 0x6da8e620, 0x35fd2: 0x6da8e820, 0x35fd3: 0x6da8ea20, + 0x35fd4: 0x6da8ec20, 0x35fd5: 0x6da8ee20, 0x35fd6: 0x6da8f020, 0x35fd7: 0x6da8f220, + 0x35fd8: 0x6da8f420, 0x35fd9: 0x6da8f620, 0x35fda: 0x6da8f820, 0x35fdb: 0x6da8fa20, + 0x35fdc: 0x6da8fc20, 0x35fdd: 0x6da8fe20, 0x35fde: 0x6da90020, 0x35fdf: 0x6da90220, + 0x35fe0: 0x6da90420, 0x35fe1: 0x6da90620, 0x35fe2: 0x6da90820, 0x35fe3: 0x6da90a20, + 0x35fe4: 0x6dc9d420, 0x35fe5: 0x6dc9d620, 0x35fe6: 0x6dc9d820, 0x35fe7: 0x6dc9da20, + 0x35fe8: 0x6dc9dc20, 0x35fe9: 0x6dc9de20, 0x35fea: 0x6dc9e020, 0x35feb: 0x6dc9e220, + 0x35fec: 0x6dc9e420, 0x35fed: 0x6dc9e620, 0x35fee: 0x6dc9e820, 0x35fef: 0x6dc9ea20, + 0x35ff0: 0x6dc9ec20, 0x35ff1: 0x6dc9ee20, 0x35ff2: 0x6dc9f020, 0x35ff3: 0x6dc9f220, + 0x35ff4: 0x6dc9f420, 0x35ff5: 0x6dc9f620, 0x35ff6: 0x6dc9f820, 0x35ff7: 0x6dc9fa20, + 0x35ff8: 0x6dc9fc20, 0x35ff9: 0x6dc9fe20, 0x35ffa: 0x6dca0020, 0x35ffb: 0x6dca0220, + 0x35ffc: 0x6dca0420, 0x35ffd: 0x6dca0620, 0x35ffe: 0x6dca0820, 0x35fff: 0x6dca0a20, + // Block 0xd80, offset 0x36000 + 0x36000: 0x6dca0c20, 0x36001: 0x6dca0e20, 0x36002: 0x6dca1020, 0x36003: 0x6dd07420, + 0x36004: 0x6dca1220, 0x36005: 0x6dca1420, 0x36006: 0x6dca1620, 0x36007: 0x6dca1820, + 0x36008: 0x6dca1a20, 0x36009: 0x6dca1c20, 0x3600a: 0x6dca1e20, 0x3600b: 0x6dca2020, + 0x3600c: 0x6dca2220, 0x3600d: 0x6dca2420, 0x3600e: 0x6dca2620, 0x3600f: 0x6dca2820, + 0x36010: 0x6dca2a20, 0x36011: 0x6dca2c20, 0x36012: 0x6de58e20, 0x36013: 0x6de59020, + 0x36014: 0x6de59220, 0x36015: 0x6de59420, 0x36016: 0x6de59620, 0x36017: 0x6de59820, + 0x36018: 0x6de59a20, 0x36019: 0x6de59c20, 0x3601a: 0x6de59e20, 0x3601b: 0x6de5a020, + 0x3601c: 0x6de5a220, 0x3601d: 0x6de5a420, 0x3601e: 0x6de5a620, 0x3601f: 0x6de5a820, + 0x36020: 0x6de5aa20, 0x36021: 0x6de5ac20, 0x36022: 0x6de5ae20, 0x36023: 0x6de5b020, + 0x36024: 0x6de5b220, 0x36025: 0x6de5b420, 0x36026: 0x6de5b620, 0x36027: 0x6de5b820, + 0x36028: 0x6de5ba20, 0x36029: 0x6de5bc20, 0x3602a: 0x6de5be20, 0x3602b: 0x6de5c020, + 0x3602c: 0x6de5c220, 0x3602d: 0x6de5c420, 0x3602e: 0x6de5c620, 0x3602f: 0x6de5c820, + 0x36030: 0x6de5ca20, 0x36031: 0x6de5cc20, 0x36032: 0x6de5ce20, 0x36033: 0x6dfc6620, + 0x36034: 0x6dfc6820, 0x36035: 0x6dfc6a20, 0x36036: 0x6dfc6c20, 0x36037: 0x6dfc6e20, + 0x36038: 0x6dfc7020, 0x36039: 0x6dfc7220, 0x3603a: 0x6dfc7420, 0x3603b: 0x6dfc7620, + 0x3603c: 0x6dfc7820, 0x3603d: 0x6dfc7a20, 0x3603e: 0x6dfc7c20, 0x3603f: 0x6dfc7e20, + // Block 0xd81, offset 0x36040 + 0x36040: 0x6dfc8020, 0x36041: 0x6dfc8220, 0x36042: 0x6dfc8420, 0x36043: 0x6dfc8620, + 0x36044: 0x6dfc8820, 0x36045: 0x6dfc8a20, 0x36046: 0x6dfc8c20, 0x36047: 0x6dfc8e20, + 0x36048: 0x6dfc9020, 0x36049: 0x6dfc9220, 0x3604a: 0x6dfc9420, 0x3604b: 0x6dfc9620, + 0x3604c: 0x6dfc9820, 0x3604d: 0x6dfc9a20, 0x3604e: 0x6dfc9c20, 0x3604f: 0x6dfc9e20, + 0x36050: 0x6dfca020, 0x36051: 0x6dfca220, 0x36052: 0x6dfca420, 0x36053: 0x6dfca620, + 0x36054: 0x6dfca820, 0x36055: 0x6dfcaa20, 0x36056: 0x6dfcac20, 0x36057: 0x6dfcae20, + 0x36058: 0x6dfcb020, 0x36059: 0x6dfcb220, 0x3605a: 0x6dfcb420, 0x3605b: 0x6dfcb620, + 0x3605c: 0x6dfcb820, 0x3605d: 0x6dfcba20, 0x3605e: 0x6dfcbc20, 0x3605f: 0x6dfcbe20, + 0x36060: 0x6dfcc020, 0x36061: 0x6e0f8420, 0x36062: 0x6e0f8620, 0x36063: 0x6e0f8820, + 0x36064: 0x6e0f8a20, 0x36065: 0x6e0f8c20, 0x36066: 0x6e0f8e20, 0x36067: 0x6e0f9020, + 0x36068: 0x6dfcc220, 0x36069: 0x6e1e7820, 0x3606a: 0x6e0f9220, 0x3606b: 0x6e0f9420, + 0x3606c: 0x6e0f9620, 0x3606d: 0x6e0f9820, 0x3606e: 0x6e0f9a20, 0x3606f: 0x6e0f9c20, + 0x36070: 0x6e0f9e20, 0x36071: 0x6e0fa020, 0x36072: 0x6e0fa220, 0x36073: 0x6e0fa420, + 0x36074: 0x6e0fa620, 0x36075: 0x6e0fa820, 0x36076: 0x6e0faa20, 0x36077: 0x6e0fac20, + 0x36078: 0x6e0fae20, 0x36079: 0x6e0fb020, 0x3607a: 0x6e1e7a20, 0x3607b: 0x6e1e7c20, + 0x3607c: 0x6e29de20, 0x3607d: 0x6e1e7e20, 0x3607e: 0x6e1e8020, 0x3607f: 0x6e1e8220, + // Block 0xd82, offset 0x36080 + 0x36080: 0x6e1e8420, 0x36081: 0x6e1e8620, 0x36082: 0x6e1e8820, 0x36083: 0x6e1e8a20, + 0x36084: 0x6e1e8c20, 0x36085: 0x6e1e8e20, 0x36086: 0x6e1e9020, 0x36087: 0x6e1e9220, + 0x36088: 0x6e29e020, 0x36089: 0x6e29e220, 0x3608a: 0x6e29e420, 0x3608b: 0x6e29e620, + 0x3608c: 0x6e29e820, 0x3608d: 0x6e29ea20, 0x3608e: 0x6e29ec20, 0x3608f: 0x6e2b4a20, + 0x36090: 0x6e29ee20, 0x36091: 0x6e29f020, 0x36092: 0x6e29f220, 0x36093: 0x6e29f420, + 0x36094: 0x6e29f620, 0x36095: 0x6e29f820, 0x36096: 0x6e29fa20, 0x36097: 0x6e32c220, + 0x36098: 0x6e32c420, 0x36099: 0x6e32c620, 0x3609a: 0x6e32c820, 0x3609b: 0x6e32ca20, + 0x3609c: 0x6e38f820, 0x3609d: 0x6e38fa20, 0x3609e: 0x6e38fc20, 0x3609f: 0x6e33dc20, + 0x360a0: 0x6e38fe20, 0x360a1: 0x6e390020, 0x360a2: 0x6e390220, 0x360a3: 0x6e390420, + 0x360a4: 0x6e3d6820, 0x360a5: 0x6e3d6a20, 0x360a6: 0x6e406c20, 0x360a7: 0x6e406e20, + 0x360a8: 0x6e407020, 0x360a9: 0x6e407220, 0x360aa: 0x6e42b820, 0x360ab: 0x6e443620, + 0x360ac: 0x6e42ba20, 0x360ad: 0x6e452420, 0x360ae: 0x6e468420, 0x360af: 0x6c04da20, + 0x360b0: 0x6c04dc20, 0x360b1: 0x6c09d020, 0x360b2: 0x6c23d020, 0x360b3: 0x6c23d220, + 0x360b4: 0x6c23d420, 0x360b5: 0x6c23d620, 0x360b6: 0x6c3a2c20, 0x360b7: 0x6c3a2e20, + 0x360b8: 0x6c3a3020, 0x360b9: 0x6c3a3220, 0x360ba: 0x6c3a3420, 0x360bb: 0x6c3a3620, + 0x360bc: 0x6c3a3820, 0x360bd: 0x6c55f420, 0x360be: 0x6c55f620, 0x360bf: 0x6c55f820, + // Block 0xd83, offset 0x360c0 + 0x360c0: 0x6c55fa20, 0x360c1: 0x6c55fc20, 0x360c2: 0x6c55fe20, 0x360c3: 0x6c560020, + 0x360c4: 0x6c560220, 0x360c5: 0x6c560420, 0x360c6: 0x6c560620, 0x360c7: 0x6c560820, + 0x360c8: 0x6c560a20, 0x360c9: 0x6c560c20, 0x360ca: 0x6c560e20, 0x360cb: 0x6c561020, + 0x360cc: 0x6c78cc20, 0x360cd: 0x6c78ce20, 0x360ce: 0x6c78d020, 0x360cf: 0x6c78d220, + 0x360d0: 0x6ca1d020, 0x360d1: 0x6ca1d220, 0x360d2: 0x6ca1d420, 0x360d3: 0x6ca1d620, + 0x360d4: 0x6ccf0c20, 0x360d5: 0x6ccf0e20, 0x360d6: 0x6ccf1020, 0x360d7: 0x6cbc6220, + 0x360d8: 0x6ccf1220, 0x360d9: 0x6ccf1420, 0x360da: 0x6ccf1620, 0x360db: 0x6ccf1820, + 0x360dc: 0x6cfd2e20, 0x360dd: 0x6cfd3020, 0x360de: 0x6cfd3220, 0x360df: 0x6cfd3420, + 0x360e0: 0x6cfd3620, 0x360e1: 0x6cfd3820, 0x360e2: 0x6d2bde20, 0x360e3: 0x6d2be020, + 0x360e4: 0x6d2be220, 0x360e5: 0x6d2be420, 0x360e6: 0x6d2be620, 0x360e7: 0x6d590620, + 0x360e8: 0x6d590820, 0x360e9: 0x6d590a20, 0x360ea: 0x6d590c20, 0x360eb: 0x6d590e20, + 0x360ec: 0x6d591020, 0x360ed: 0x6d591220, 0x360ee: 0x6d842a20, 0x360ef: 0x6d842c20, + 0x360f0: 0x6d842e20, 0x360f1: 0x6d843020, 0x360f2: 0x6da91c20, 0x360f3: 0x6da91e20, + 0x360f4: 0x6da92020, 0x360f5: 0x6da92220, 0x360f6: 0x6da92420, 0x360f7: 0x6da92620, + 0x360f8: 0x6da92820, 0x360f9: 0x6dca3a20, 0x360fa: 0x6de5d420, 0x360fb: 0x6dca3c20, + 0x360fc: 0x6da92a20, 0x360fd: 0x6dca3e20, 0x360fe: 0x6dca4020, 0x360ff: 0x6de5d620, + // Block 0xd84, offset 0x36100 + 0x36100: 0x6de5d820, 0x36101: 0x6de9a820, 0x36102: 0x6dfcca20, 0x36103: 0x6dfccc20, + 0x36104: 0x6dfcce20, 0x36105: 0x6dfcd020, 0x36106: 0x6dfcd220, 0x36107: 0x6e0fb420, + 0x36108: 0x6e29fe20, 0x36109: 0x6e2a0020, 0x3610a: 0x6e2a0220, 0x3610b: 0x6e32ce20, + 0x3610c: 0x6e390a20, 0x3610d: 0x6e390c20, 0x3610e: 0x6c23da20, 0x3610f: 0x6c23dc20, + 0x36110: 0x6c3a3c20, 0x36111: 0x6c3a3e20, 0x36112: 0x6c561620, 0x36113: 0x6c78d820, + 0x36114: 0x6c78da20, 0x36115: 0x6ca1dc20, 0x36116: 0x6ccf2220, 0x36117: 0x6ccf2420, + 0x36118: 0x6cfd4220, 0x36119: 0x6d2be820, 0x3611a: 0x6d2bea20, 0x3611b: 0x6d843220, + 0x3611c: 0x6c09d220, 0x3611d: 0x6c3a4220, 0x3611e: 0x6c561a20, 0x3611f: 0x6c561c20, + 0x36120: 0x6c78de20, 0x36121: 0x6c78e020, 0x36122: 0x6ca1e220, 0x36123: 0x6ccf2620, + 0x36124: 0x6cfd4420, 0x36125: 0x6cfd4620, 0x36126: 0x6d591820, 0x36127: 0x6d591a20, + 0x36128: 0x6d591c20, 0x36129: 0x6d843420, 0x3612a: 0x6c04e620, 0x3612b: 0x6c09d420, + 0x3612c: 0x6c09d620, 0x3612d: 0x6c137c20, 0x3612e: 0x6c23de20, 0x3612f: 0x6c3a4820, + 0x36130: 0x6c3a4a20, 0x36131: 0x6c3a4c20, 0x36132: 0x6c562220, 0x36133: 0x6c562420, + 0x36134: 0x6c562620, 0x36135: 0x6c562820, 0x36136: 0x6c78e420, 0x36137: 0x6c78e620, + 0x36138: 0x6c78e820, 0x36139: 0x6c78ea20, 0x3613a: 0x6c78ec20, 0x3613b: 0x6ca1e420, + 0x3613c: 0x6ca1e620, 0x3613d: 0x6ca1e820, 0x3613e: 0x6ca1ea20, 0x3613f: 0x6ca1ec20, + // Block 0xd85, offset 0x36140 + 0x36140: 0x6ca1ee20, 0x36141: 0x6ca1f020, 0x36142: 0x6ca1f220, 0x36143: 0x6ca1f420, + 0x36144: 0x6ccf2a20, 0x36145: 0x6ccf2c20, 0x36146: 0x6ccf2e20, 0x36147: 0x6ccf3020, + 0x36148: 0x6ccf3220, 0x36149: 0x6ccf3420, 0x3614a: 0x6ccf3620, 0x3614b: 0x6ccf3820, + 0x3614c: 0x6cfd4a20, 0x3614d: 0x6cfd4c20, 0x3614e: 0x6cfd4e20, 0x3614f: 0x6d2bf220, + 0x36150: 0x6d2bf420, 0x36151: 0x6d2bf620, 0x36152: 0x6d2bf820, 0x36153: 0x6d592020, + 0x36154: 0x6d592220, 0x36155: 0x6d592420, 0x36156: 0x6d843620, 0x36157: 0x6d843820, + 0x36158: 0x6d843a20, 0x36159: 0x6d843c20, 0x3615a: 0x6d843e20, 0x3615b: 0x6d844020, + 0x3615c: 0x6da93420, 0x3615d: 0x6da93620, 0x3615e: 0x6da93820, 0x3615f: 0x6da93a20, + 0x36160: 0x6de5de20, 0x36161: 0x6de5e020, 0x36162: 0x6dfcd420, 0x36163: 0x6e1e9820, + 0x36164: 0x6e2a0420, 0x36165: 0x6e407620, 0x36166: 0x6e42bc20, 0x36167: 0x6e42be20, + 0x36168: 0x6c09d820, 0x36169: 0x6c23e020, 0x3616a: 0x6c23e220, 0x3616b: 0x6c23e420, + 0x3616c: 0x6c3a5420, 0x3616d: 0x6c3a5620, 0x3616e: 0x6c3a5820, 0x3616f: 0x6c3a5a20, + 0x36170: 0x6c3a5c20, 0x36171: 0x6c562e20, 0x36172: 0x6c563020, 0x36173: 0x6c563220, + 0x36174: 0x6c563420, 0x36175: 0x6c563620, 0x36176: 0x6c563820, 0x36177: 0x6c563a20, + 0x36178: 0x6c563c20, 0x36179: 0x6c563e20, 0x3617a: 0x6c78f420, 0x3617b: 0x6c78f620, + 0x3617c: 0x6c78f820, 0x3617d: 0x6c78fa20, 0x3617e: 0x6c78fc20, 0x3617f: 0x6c78fe20, + // Block 0xd86, offset 0x36180 + 0x36180: 0x6ca1f820, 0x36181: 0x6ca1fa20, 0x36182: 0x6ca1fc20, 0x36183: 0x6ca1fe20, + 0x36184: 0x6ca20020, 0x36185: 0x6ca20220, 0x36186: 0x6ca20420, 0x36187: 0x6ccf4220, + 0x36188: 0x6ccf4420, 0x36189: 0x6ccf4620, 0x3618a: 0x6ccf4820, 0x3618b: 0x6ccf4a20, + 0x3618c: 0x6ccf4c20, 0x3618d: 0x6ccf4e20, 0x3618e: 0x6ccf5020, 0x3618f: 0x6ccf5220, + 0x36190: 0x6ccf5420, 0x36191: 0x6ccf5620, 0x36192: 0x6ccf5820, 0x36193: 0x6ccf5a20, + 0x36194: 0x6ccf5c20, 0x36195: 0x6ccf5e20, 0x36196: 0x6ccf6020, 0x36197: 0x6ccf6220, + 0x36198: 0x6cfd5a20, 0x36199: 0x6cfd5c20, 0x3619a: 0x6cfd5e20, 0x3619b: 0x6cfd6020, + 0x3619c: 0x6cfd6220, 0x3619d: 0x6cfd6420, 0x3619e: 0x6cfd6620, 0x3619f: 0x6cfd6820, + 0x361a0: 0x6cfd6a20, 0x361a1: 0x6cfd6c20, 0x361a2: 0x6d2c0020, 0x361a3: 0x6d2c0220, + 0x361a4: 0x6d2c0420, 0x361a5: 0x6d2c0620, 0x361a6: 0x6d2c0820, 0x361a7: 0x6d2c0a20, + 0x361a8: 0x6d592e20, 0x361a9: 0x6d593020, 0x361aa: 0x6d593220, 0x361ab: 0x6d593420, + 0x361ac: 0x6d593620, 0x361ad: 0x6d593820, 0x361ae: 0x6d593a20, 0x361af: 0x6d593c20, + 0x361b0: 0x6d593e20, 0x361b1: 0x6d594020, 0x361b2: 0x6d594220, 0x361b3: 0x6d844220, + 0x361b4: 0x6d844420, 0x361b5: 0x6d844620, 0x361b6: 0x6d844820, 0x361b7: 0x6d844a20, + 0x361b8: 0x6d844c20, 0x361b9: 0x6d844e20, 0x361ba: 0x6da93e20, 0x361bb: 0x6da94020, + 0x361bc: 0x6da94220, 0x361bd: 0x6da94420, 0x361be: 0x6da94620, 0x361bf: 0x6dca4620, + // Block 0xd87, offset 0x361c0 + 0x361c0: 0x6dca4820, 0x361c1: 0x6dca4a20, 0x361c2: 0x6dca4c20, 0x361c3: 0x6dfcd620, + 0x361c4: 0x6e0fb820, 0x361c5: 0x6c23e620, 0x361c6: 0x6c3a5e20, 0x361c7: 0x6c564020, + 0x361c8: 0x6c790420, 0x361c9: 0x6c790620, 0x361ca: 0x6ca20a20, 0x361cb: 0x6ca20c20, + 0x361cc: 0x6ccf6820, 0x361cd: 0x6ccf6a20, 0x361ce: 0x6ccf6c20, 0x361cf: 0x6ccf6e20, + 0x361d0: 0x6cfd6e20, 0x361d1: 0x6d2c0c20, 0x361d2: 0x6d594420, 0x361d3: 0x6dca4e20, + 0x361d4: 0x6c09da20, 0x361d5: 0x6c138620, 0x361d6: 0x6c138820, 0x361d7: 0x6c138a20, + 0x361d8: 0x6c23f620, 0x361d9: 0x6c23f820, 0x361da: 0x6c23fa20, 0x361db: 0x6c23fc20, + 0x361dc: 0x6c3a7c20, 0x361dd: 0x6c3a7e20, 0x361de: 0x6c3a8020, 0x361df: 0x6c3a8220, + 0x361e0: 0x6c3a8420, 0x361e1: 0x6c3a8620, 0x361e2: 0x6c3a8820, 0x361e3: 0x6c3a8a20, + 0x361e4: 0x6c3a8c20, 0x361e5: 0x6c3a8e20, 0x361e6: 0x6c3a9020, 0x361e7: 0x6c3a9220, + 0x361e8: 0x6c3a9420, 0x361e9: 0x6c3a9620, 0x361ea: 0x6c3a9820, 0x361eb: 0x6c3a9a20, + 0x361ec: 0x6c3a9c20, 0x361ed: 0x6c3a9e20, 0x361ee: 0x6c3aa020, 0x361ef: 0x6c3aa220, + 0x361f0: 0x6c3aa420, 0x361f1: 0x6c3aa620, 0x361f2: 0x6c3aa820, 0x361f3: 0x6c3aaa20, + 0x361f4: 0x6c3aac20, 0x361f5: 0x6c3aae20, 0x361f6: 0x6c3ab020, 0x361f7: 0x6c3ab220, + 0x361f8: 0x6c565e20, 0x361f9: 0x6c566020, 0x361fa: 0x6c566220, 0x361fb: 0x6c566420, + 0x361fc: 0x6c566620, 0x361fd: 0x6c566820, 0x361fe: 0x6c566a20, 0x361ff: 0x6c566c20, + // Block 0xd88, offset 0x36200 + 0x36200: 0x6c566e20, 0x36201: 0x6c567020, 0x36202: 0x6c567220, 0x36203: 0x6c567420, + 0x36204: 0x6c567620, 0x36205: 0x6c567820, 0x36206: 0x6c567a20, 0x36207: 0x6c567c20, + 0x36208: 0x6c567e20, 0x36209: 0x6c568020, 0x3620a: 0x6c568220, 0x3620b: 0x6c568420, + 0x3620c: 0x6c568620, 0x3620d: 0x6c568820, 0x3620e: 0x6c568a20, 0x3620f: 0x6c568c20, + 0x36210: 0x6c568e20, 0x36211: 0x6c791a20, 0x36212: 0x6c791c20, 0x36213: 0x6c791e20, + 0x36214: 0x6c792020, 0x36215: 0x6c792220, 0x36216: 0x6c792420, 0x36217: 0x6c792620, + 0x36218: 0x6c792820, 0x36219: 0x6c792a20, 0x3621a: 0x6c792c20, 0x3621b: 0x6ca22a20, + 0x3621c: 0x6ca22c20, 0x3621d: 0x6ca22e20, 0x3621e: 0x6ca23020, 0x3621f: 0x6ca23220, + 0x36220: 0x6ca23420, 0x36221: 0x6ca23620, 0x36222: 0x6ca23820, 0x36223: 0x6ca23a20, + 0x36224: 0x6ca23c20, 0x36225: 0x6ca23e20, 0x36226: 0x6ca24020, 0x36227: 0x6ca24220, + 0x36228: 0x6ca24420, 0x36229: 0x6ca24620, 0x3622a: 0x6ca24820, 0x3622b: 0x6ca24a20, + 0x3622c: 0x6ca24c20, 0x3622d: 0x6ca24e20, 0x3622e: 0x6ca25020, 0x3622f: 0x6ccf8e20, + 0x36230: 0x6ccf9020, 0x36231: 0x6ccf9220, 0x36232: 0x6ccf9420, 0x36233: 0x6ccf9620, + 0x36234: 0x6ccf9820, 0x36235: 0x6ccf9a20, 0x36236: 0x6ccf9c20, 0x36237: 0x6ccf9e20, + 0x36238: 0x6ccfa020, 0x36239: 0x6ccfa220, 0x3623a: 0x6ccfa420, 0x3623b: 0x6ccfa620, + 0x3623c: 0x6ccfa820, 0x3623d: 0x6ccfaa20, 0x3623e: 0x6ccfac20, 0x3623f: 0x6ccfae20, + // Block 0xd89, offset 0x36240 + 0x36240: 0x6ccfb020, 0x36241: 0x6ccfb220, 0x36242: 0x6ccfb420, 0x36243: 0x6ccfb620, + 0x36244: 0x6ccfb820, 0x36245: 0x6ccfba20, 0x36246: 0x6ccfbc20, 0x36247: 0x6ccfbe20, + 0x36248: 0x6ccfc020, 0x36249: 0x6ccfc220, 0x3624a: 0x6ccfc420, 0x3624b: 0x6ccfc620, + 0x3624c: 0x6ccfc820, 0x3624d: 0x6cfd8420, 0x3624e: 0x6cfd8620, 0x3624f: 0x6cfd8820, + 0x36250: 0x6cfd8a20, 0x36251: 0x6cfd8c20, 0x36252: 0x6cfd8e20, 0x36253: 0x6cfd9020, + 0x36254: 0x6cfd9220, 0x36255: 0x6cfd9420, 0x36256: 0x6cfd9620, 0x36257: 0x6cfd9820, + 0x36258: 0x6cfd9a20, 0x36259: 0x6cfd9c20, 0x3625a: 0x6cfd9e20, 0x3625b: 0x6cfda020, + 0x3625c: 0x6cf91a20, 0x3625d: 0x6cfda220, 0x3625e: 0x6cfda420, 0x3625f: 0x6cfda620, + 0x36260: 0x6cfda820, 0x36261: 0x6cfdaa20, 0x36262: 0x6cfdac20, 0x36263: 0x6cfdae20, + 0x36264: 0x6cfdb020, 0x36265: 0x6cfdb220, 0x36266: 0x6cfdb420, 0x36267: 0x6cfdb620, + 0x36268: 0x6cfdb820, 0x36269: 0x6d2c2220, 0x3626a: 0x6d2c2420, 0x3626b: 0x6d2c2620, + 0x3626c: 0x6d2c2820, 0x3626d: 0x6d2c2a20, 0x3626e: 0x6d2c2c20, 0x3626f: 0x6d2c2e20, + 0x36270: 0x6d2c3020, 0x36271: 0x6d2c3220, 0x36272: 0x6d2c3420, 0x36273: 0x6d2c3620, + 0x36274: 0x6d2c3820, 0x36275: 0x6d2c3a20, 0x36276: 0x6d2c3c20, 0x36277: 0x6d2c3e20, + 0x36278: 0x6d2c4020, 0x36279: 0x6d2c4220, 0x3627a: 0x6d2c4420, 0x3627b: 0x6d2c4620, + 0x3627c: 0x6d2c4820, 0x3627d: 0x6d2c4a20, 0x3627e: 0x6d2c4c20, 0x3627f: 0x6cfdba20, + // Block 0xd8a, offset 0x36280 + 0x36280: 0x6d2c4e20, 0x36281: 0x6d2c5020, 0x36282: 0x6d2c5220, 0x36283: 0x6d2c5420, + 0x36284: 0x6d2c5620, 0x36285: 0x6d2c5820, 0x36286: 0x6d2c5a20, 0x36287: 0x6d2c5c20, + 0x36288: 0x6d2c5e20, 0x36289: 0x6d2c6020, 0x3628a: 0x6d595820, 0x3628b: 0x6d595a20, + 0x3628c: 0x6d595c20, 0x3628d: 0x6d595e20, 0x3628e: 0x6d596020, 0x3628f: 0x6d596220, + 0x36290: 0x6d596420, 0x36291: 0x6d596620, 0x36292: 0x6d596820, 0x36293: 0x6d596a20, + 0x36294: 0x6d596c20, 0x36295: 0x6d596e20, 0x36296: 0x6d597020, 0x36297: 0x6d55d820, + 0x36298: 0x6d597220, 0x36299: 0x6d597420, 0x3629a: 0x6d597620, 0x3629b: 0x6d597820, + 0x3629c: 0x6d597a20, 0x3629d: 0x6d597c20, 0x3629e: 0x6d597e20, 0x3629f: 0x6d598020, + 0x362a0: 0x6d598220, 0x362a1: 0x6d846020, 0x362a2: 0x6d846220, 0x362a3: 0x6d846420, + 0x362a4: 0x6d846620, 0x362a5: 0x6d846820, 0x362a6: 0x6d846a20, 0x362a7: 0x6d846c20, + 0x362a8: 0x6d846e20, 0x362a9: 0x6d847020, 0x362aa: 0x6d847220, 0x362ab: 0x6d847420, + 0x362ac: 0x6d847620, 0x362ad: 0x6d847820, 0x362ae: 0x6d847a20, 0x362af: 0x6da95020, + 0x362b0: 0x6da95220, 0x362b1: 0x6da95420, 0x362b2: 0x6da95620, 0x362b3: 0x6da95820, + 0x362b4: 0x6da95a20, 0x362b5: 0x6da95c20, 0x362b6: 0x6da95e20, 0x362b7: 0x6da96020, + 0x362b8: 0x6da96220, 0x362b9: 0x6dca5420, 0x362ba: 0x6dca5620, 0x362bb: 0x6de5f220, + 0x362bc: 0x6de5f420, 0x362bd: 0x6de5f620, 0x362be: 0x6de5f820, 0x362bf: 0x6de5fa20, + // Block 0xd8b, offset 0x362c0 + 0x362c0: 0x6de5fc20, 0x362c1: 0x6de5fe20, 0x362c2: 0x6dfcdc20, 0x362c3: 0x6dfcde20, + 0x362c4: 0x6dfce020, 0x362c5: 0x6dfce220, 0x362c6: 0x6dfce420, 0x362c7: 0x6e0fbc20, + 0x362c8: 0x6e0fbe20, 0x362c9: 0x6e0fc020, 0x362ca: 0x6e0fc220, 0x362cb: 0x6e0fc420, + 0x362cc: 0x6e1e9e20, 0x362cd: 0x6e1ea020, 0x362ce: 0x6e1ea220, 0x362cf: 0x6e1ea420, + 0x362d0: 0x6e1ea620, 0x362d1: 0x6e2a0620, 0x362d2: 0x6e2a0820, 0x362d3: 0x6e2a0a20, + 0x362d4: 0x6e32d020, 0x362d5: 0x6e32d220, 0x362d6: 0x6e391020, 0x362d7: 0x6e391220, + 0x362d8: 0x6e391420, 0x362d9: 0x6e42c020, 0x362da: 0x6c04f820, 0x362db: 0x6c09e220, + 0x362dc: 0x6c09e420, 0x362dd: 0x6c09e620, 0x362de: 0x6c09e820, 0x362df: 0x6c09ea20, + 0x362e0: 0x6c09ec20, 0x362e1: 0x6c139a20, 0x362e2: 0x6c139c20, 0x362e3: 0x6c139e20, + 0x362e4: 0x6c13a020, 0x362e5: 0x6c13a220, 0x362e6: 0x6c13a420, 0x362e7: 0x6c13a620, + 0x362e8: 0x6c13a820, 0x362e9: 0x6c13aa20, 0x362ea: 0x6c13ac20, 0x362eb: 0x6c13ae20, + 0x362ec: 0x6c13b020, 0x362ed: 0x6c13b220, 0x362ee: 0x6c13b420, 0x362ef: 0x6c242820, + 0x362f0: 0x6c242a20, 0x362f1: 0x6c242c20, 0x362f2: 0x6c242e20, 0x362f3: 0x6c243020, + 0x362f4: 0x6c243220, 0x362f5: 0x6c243420, 0x362f6: 0x6c243620, 0x362f7: 0x6c243820, + 0x362f8: 0x6c243a20, 0x362f9: 0x6c243c20, 0x362fa: 0x6c243e20, 0x362fb: 0x6c244020, + 0x362fc: 0x6c244220, 0x362fd: 0x6c244420, 0x362fe: 0x6c244620, 0x362ff: 0x6c244820, + // Block 0xd8c, offset 0x36300 + 0x36300: 0x6c244a20, 0x36301: 0x6c244c20, 0x36302: 0x6c244e20, 0x36303: 0x6c245020, + 0x36304: 0x6c245220, 0x36305: 0x6c245420, 0x36306: 0x6c245620, 0x36307: 0x6c245820, + 0x36308: 0x6c245a20, 0x36309: 0x6c245c20, 0x3630a: 0x6c245e20, 0x3630b: 0x6c246020, + 0x3630c: 0x6c246220, 0x3630d: 0x6c246420, 0x3630e: 0x6c246620, 0x3630f: 0x6c3af620, + 0x36310: 0x6c3af820, 0x36311: 0x6c3afa20, 0x36312: 0x6c3afc20, 0x36313: 0x6c3afe20, + 0x36314: 0x6c3b0020, 0x36315: 0x6c3b0220, 0x36316: 0x6c3b0420, 0x36317: 0x6c3b0620, + 0x36318: 0x6c3b0820, 0x36319: 0x6c3b0a20, 0x3631a: 0x6c3b0c20, 0x3631b: 0x6c3b0e20, + 0x3631c: 0x6c3b1020, 0x3631d: 0x6c3b1220, 0x3631e: 0x6c3b1420, 0x3631f: 0x6c3b1620, + 0x36320: 0x6c3b1820, 0x36321: 0x6c3b1a20, 0x36322: 0x6c3b1c20, 0x36323: 0x6c3b1e20, + 0x36324: 0x6c3b2020, 0x36325: 0x6c3b2220, 0x36326: 0x6c3b2420, 0x36327: 0x6c3b2620, + 0x36328: 0x6c3b2820, 0x36329: 0x6c3b2a20, 0x3632a: 0x6c3b2c20, 0x3632b: 0x6c3b2e20, + 0x3632c: 0x6c3b3020, 0x3632d: 0x6c3b3220, 0x3632e: 0x6c246820, 0x3632f: 0x6c56cc20, + 0x36330: 0x6c56ce20, 0x36331: 0x6c56d020, 0x36332: 0x6c56d220, 0x36333: 0x6c56d420, + 0x36334: 0x6c56d620, 0x36335: 0x6c56d820, 0x36336: 0x6c56da20, 0x36337: 0x6c56dc20, + 0x36338: 0x6c56de20, 0x36339: 0x6c56e020, 0x3633a: 0x6c56e220, 0x3633b: 0x6c56e420, + 0x3633c: 0x6c56e620, 0x3633d: 0x6c56e820, 0x3633e: 0x6c56ea20, 0x3633f: 0x6c56ec20, + // Block 0xd8d, offset 0x36340 + 0x36340: 0x6c56ee20, 0x36341: 0x6c56f020, 0x36342: 0x6c56f220, 0x36343: 0x6c56f420, + 0x36344: 0x6c56f620, 0x36345: 0x6c56f820, 0x36346: 0x6c56fa20, 0x36347: 0x6c56fc20, + 0x36348: 0x6c56fe20, 0x36349: 0x6c570020, 0x3634a: 0x6c570220, 0x3634b: 0x6c570420, + 0x3634c: 0x6c570620, 0x3634d: 0x6c570820, 0x3634e: 0x6c570a20, 0x3634f: 0x6c570c20, + 0x36350: 0x6c570e20, 0x36351: 0x6c571020, 0x36352: 0x6c571220, 0x36353: 0x6c571420, + 0x36354: 0x6c571620, 0x36355: 0x6c571820, 0x36356: 0x6c571a20, 0x36357: 0x6c571c20, + 0x36358: 0x6c571e20, 0x36359: 0x6c796420, 0x3635a: 0x6c796620, 0x3635b: 0x6c796820, + 0x3635c: 0x6c796a20, 0x3635d: 0x6c796c20, 0x3635e: 0x6c796e20, 0x3635f: 0x6c797020, + 0x36360: 0x6c797220, 0x36361: 0x6c797420, 0x36362: 0x6c797620, 0x36363: 0x6c572020, + 0x36364: 0x6c797820, 0x36365: 0x6c797a20, 0x36366: 0x6c797c20, 0x36367: 0x6c797e20, + 0x36368: 0x6c798020, 0x36369: 0x6c798220, 0x3636a: 0x6c798420, 0x3636b: 0x6c798620, + 0x3636c: 0x6c798820, 0x3636d: 0x6c798a20, 0x3636e: 0x6c798c20, 0x3636f: 0x6c798e20, + 0x36370: 0x6c799020, 0x36371: 0x6c799220, 0x36372: 0x6c799420, 0x36373: 0x6c799620, + 0x36374: 0x6c799820, 0x36375: 0x6c799a20, 0x36376: 0x6c799c20, 0x36377: 0x6c799e20, + 0x36378: 0x6c79a020, 0x36379: 0x6c79a220, 0x3637a: 0x6c79a420, 0x3637b: 0x6c79a620, + 0x3637c: 0x6c79a820, 0x3637d: 0x6c79aa20, 0x3637e: 0x6c79ac20, 0x3637f: 0x6c79ae20, + // Block 0xd8e, offset 0x36380 + 0x36380: 0x6c79b020, 0x36381: 0x6c79b220, 0x36382: 0x6c79b420, 0x36383: 0x6ca29a20, + 0x36384: 0x6ca29c20, 0x36385: 0x6ca29e20, 0x36386: 0x6ca2a020, 0x36387: 0x6ca2a220, + 0x36388: 0x6ca2a420, 0x36389: 0x6ca2a620, 0x3638a: 0x6ca2a820, 0x3638b: 0x6ca2aa20, + 0x3638c: 0x6ca2ac20, 0x3638d: 0x6ca2ae20, 0x3638e: 0x6ca2b020, 0x3638f: 0x6ca2b220, + 0x36390: 0x6ca2b420, 0x36391: 0x6ca2b620, 0x36392: 0x6ca2b820, 0x36393: 0x6ca2ba20, + 0x36394: 0x6ca2bc20, 0x36395: 0x6ca2be20, 0x36396: 0x6ca2c020, 0x36397: 0x6ca2c220, + 0x36398: 0x6ca2c420, 0x36399: 0x6ca2c620, 0x3639a: 0x6ca2c820, 0x3639b: 0x6ca2ca20, + 0x3639c: 0x6cd00c20, 0x3639d: 0x6cd00e20, 0x3639e: 0x6cd01020, 0x3639f: 0x6cd01220, + 0x363a0: 0x6cd01420, 0x363a1: 0x6cd01620, 0x363a2: 0x6cd01820, 0x363a3: 0x6cd01a20, + 0x363a4: 0x6cd01c20, 0x363a5: 0x6cd01e20, 0x363a6: 0x6cd02020, 0x363a7: 0x6cd02220, + 0x363a8: 0x6cd02420, 0x363a9: 0x6cd02620, 0x363aa: 0x6cd02820, 0x363ab: 0x6cd02a20, + 0x363ac: 0x6cd02c20, 0x363ad: 0x6cd02e20, 0x363ae: 0x6cd03020, 0x363af: 0x6cd03220, + 0x363b0: 0x6cd03420, 0x363b1: 0x6cd03620, 0x363b2: 0x6cd03820, 0x363b3: 0x6cd03a20, + 0x363b4: 0x6cd03c20, 0x363b5: 0x6cf3a620, 0x363b6: 0x6cd03e20, 0x363b7: 0x6cd04020, + 0x363b8: 0x6cd04220, 0x363b9: 0x6cd04420, 0x363ba: 0x6cd04620, 0x363bb: 0x6cd04820, + 0x363bc: 0x6cd04a20, 0x363bd: 0x6cd04c20, 0x363be: 0x6cd04e20, 0x363bf: 0x6cd05020, + // Block 0xd8f, offset 0x363c0 + 0x363c0: 0x6cd05220, 0x363c1: 0x6cd05420, 0x363c2: 0x6cd05620, 0x363c3: 0x6cd05820, + 0x363c4: 0x6cd05a20, 0x363c5: 0x6cd05c20, 0x363c6: 0x6cd05e20, 0x363c7: 0x6cd06020, + 0x363c8: 0x6cd06220, 0x363c9: 0x6cd06420, 0x363ca: 0x6cd06620, 0x363cb: 0x6cd06820, + 0x363cc: 0x6cd06a20, 0x363cd: 0x6cfdee20, 0x363ce: 0x6cfdf020, 0x363cf: 0x6cfdf220, + 0x363d0: 0x6cfdf420, 0x363d1: 0x6cfdf620, 0x363d2: 0x6cfdf820, 0x363d3: 0x6cfdfa20, + 0x363d4: 0x6cfdfc20, 0x363d5: 0x6cfdfe20, 0x363d6: 0x6cfe0020, 0x363d7: 0x6cfe0220, + 0x363d8: 0x6cfe0420, 0x363d9: 0x6cfe0620, 0x363da: 0x6cfe0820, 0x363db: 0x6cfe0a20, + 0x363dc: 0x6cfe0c20, 0x363dd: 0x6cfe0e20, 0x363de: 0x6cfe1020, 0x363df: 0x6cfe1220, + 0x363e0: 0x6cfe1420, 0x363e1: 0x6cfe1620, 0x363e2: 0x6cfe1820, 0x363e3: 0x6cfe1a20, + 0x363e4: 0x6cfe1c20, 0x363e5: 0x6cfe1e20, 0x363e6: 0x6cfe2020, 0x363e7: 0x6cfe2220, + 0x363e8: 0x6cfe2420, 0x363e9: 0x6cfe2620, 0x363ea: 0x6cfe2820, 0x363eb: 0x6cfe2a20, + 0x363ec: 0x6cfe2c20, 0x363ed: 0x6cfe2e20, 0x363ee: 0x6cfe3020, 0x363ef: 0x6cfe3220, + 0x363f0: 0x6cfe3420, 0x363f1: 0x6cfe3620, 0x363f2: 0x6cfe3820, 0x363f3: 0x6cfe3a20, + 0x363f4: 0x6cfe3c20, 0x363f5: 0x6cfe3e20, 0x363f6: 0x6cfe4020, 0x363f7: 0x6cfe4220, + 0x363f8: 0x6cfe4420, 0x363f9: 0x6d2c8a20, 0x363fa: 0x6d2c8c20, 0x363fb: 0x6d2c8e20, + 0x363fc: 0x6d2c9020, 0x363fd: 0x6d2c9220, 0x363fe: 0x6d2c9420, 0x363ff: 0x6d2c9620, + // Block 0xd90, offset 0x36400 + 0x36400: 0x6d2c9820, 0x36401: 0x6d2c9a20, 0x36402: 0x6d2c9c20, 0x36403: 0x6d2c9e20, + 0x36404: 0x6d2ca020, 0x36405: 0x6d2ca220, 0x36406: 0x6d2ca420, 0x36407: 0x6d2ca620, + 0x36408: 0x6d2ca820, 0x36409: 0x6d2caa20, 0x3640a: 0x6d2cac20, 0x3640b: 0x6d2cae20, + 0x3640c: 0x6d2cb020, 0x3640d: 0x6d2cb220, 0x3640e: 0x6d2cb420, 0x3640f: 0x6d2cb620, + 0x36410: 0x6d2cb820, 0x36411: 0x6d2cba20, 0x36412: 0x6d2cbc20, 0x36413: 0x6d2cbe20, + 0x36414: 0x6d2cc020, 0x36415: 0x6d2cc220, 0x36416: 0x6d2cc420, 0x36417: 0x6d2cc620, + 0x36418: 0x6d2cc820, 0x36419: 0x6d2cca20, 0x3641a: 0x6d2ccc20, 0x3641b: 0x6d2cce20, + 0x3641c: 0x6d2cd020, 0x3641d: 0x6d2cd220, 0x3641e: 0x6d2cd420, 0x3641f: 0x6d2cd620, + 0x36420: 0x6d2cd820, 0x36421: 0x6d2cda20, 0x36422: 0x6d2cdc20, 0x36423: 0x6d59b220, + 0x36424: 0x6d59b420, 0x36425: 0x6d59b620, 0x36426: 0x6d59b820, 0x36427: 0x6d59ba20, + 0x36428: 0x6d59bc20, 0x36429: 0x6d59be20, 0x3642a: 0x6d59c020, 0x3642b: 0x6d59c220, + 0x3642c: 0x6d59c420, 0x3642d: 0x6d59c620, 0x3642e: 0x6d59c820, 0x3642f: 0x6d59ca20, + 0x36430: 0x6d59cc20, 0x36431: 0x6d59ce20, 0x36432: 0x6d59d020, 0x36433: 0x6d59d220, + 0x36434: 0x6d59d420, 0x36435: 0x6d59d620, 0x36436: 0x6d59d820, 0x36437: 0x6d59da20, + 0x36438: 0x6d59dc20, 0x36439: 0x6d59de20, 0x3643a: 0x6d59e020, 0x3643b: 0x6d59e220, + 0x3643c: 0x6d59e420, 0x3643d: 0x6d59e620, 0x3643e: 0x6d59e820, 0x3643f: 0x6d59ea20, + // Block 0xd91, offset 0x36440 + 0x36440: 0x6d59ec20, 0x36441: 0x6d59ee20, 0x36442: 0x6d59f020, 0x36443: 0x6d59f220, + 0x36444: 0x6d59f420, 0x36445: 0x6d59f620, 0x36446: 0x6d59f820, 0x36447: 0x6d59fa20, + 0x36448: 0x6d59fc20, 0x36449: 0x6d59fe20, 0x3644a: 0x6d5a0020, 0x3644b: 0x6d5a0220, + 0x3644c: 0x6d849820, 0x3644d: 0x6d849a20, 0x3644e: 0x6d849c20, 0x3644f: 0x6d849e20, + 0x36450: 0x6d84a020, 0x36451: 0x6d84a220, 0x36452: 0x6d84a420, 0x36453: 0x6d84a620, + 0x36454: 0x6d84a820, 0x36455: 0x6d84aa20, 0x36456: 0x6d84ac20, 0x36457: 0x6d84ae20, + 0x36458: 0x6d84b020, 0x36459: 0x6d84b220, 0x3645a: 0x6d84b420, 0x3645b: 0x6d84b620, + 0x3645c: 0x6d84b820, 0x3645d: 0x6d84ba20, 0x3645e: 0x6d84bc20, 0x3645f: 0x6d84be20, + 0x36460: 0x6d84c020, 0x36461: 0x6d84c220, 0x36462: 0x6d84c420, 0x36463: 0x6d84c620, + 0x36464: 0x6d84c820, 0x36465: 0x6d84ca20, 0x36466: 0x6da97820, 0x36467: 0x6da97a20, + 0x36468: 0x6da97c20, 0x36469: 0x6da97e20, 0x3646a: 0x6da98020, 0x3646b: 0x6da98220, + 0x3646c: 0x6da98420, 0x3646d: 0x6da98620, 0x3646e: 0x6da98820, 0x3646f: 0x6da98a20, + 0x36470: 0x6da98c20, 0x36471: 0x6da98e20, 0x36472: 0x6da99020, 0x36473: 0x6da99220, + 0x36474: 0x6dca6020, 0x36475: 0x6dca6220, 0x36476: 0x6dca6420, 0x36477: 0x6dca6620, + 0x36478: 0x6dca6820, 0x36479: 0x6dca6a20, 0x3647a: 0x6dca6c20, 0x3647b: 0x6dca6e20, + 0x3647c: 0x6dca7020, 0x3647d: 0x6dca7220, 0x3647e: 0x6dca7420, 0x3647f: 0x6dca7620, + // Block 0xd92, offset 0x36480 + 0x36480: 0x6dca7820, 0x36481: 0x6dca7a20, 0x36482: 0x6dca7c20, 0x36483: 0x6dca7e20, + 0x36484: 0x6dca8020, 0x36485: 0x6de60a20, 0x36486: 0x6de60c20, 0x36487: 0x6de60e20, + 0x36488: 0x6de61020, 0x36489: 0x6de61220, 0x3648a: 0x6de61420, 0x3648b: 0x6de61620, + 0x3648c: 0x6de61820, 0x3648d: 0x6dfcf420, 0x3648e: 0x6dfcf620, 0x3648f: 0x6dfcf820, + 0x36490: 0x6dfcfa20, 0x36491: 0x6e0fca20, 0x36492: 0x6e0fcc20, 0x36493: 0x6e0fce20, + 0x36494: 0x6e0fd020, 0x36495: 0x6e0fd220, 0x36496: 0x6e0fd420, 0x36497: 0x6e1eac20, + 0x36498: 0x6e1eae20, 0x36499: 0x6e1eb020, 0x3649a: 0x6e1eb220, 0x3649b: 0x6e2a1220, + 0x3649c: 0x6e2a1420, 0x3649d: 0x6e2a1620, 0x3649e: 0x6e2a1820, 0x3649f: 0x6e32d620, + 0x364a0: 0x6e32d820, 0x364a1: 0x6e32da20, 0x364a2: 0x6e32dc20, 0x364a3: 0x6e391620, + 0x364a4: 0x6e407a20, 0x364a5: 0x6c09f020, 0x364a6: 0x6c572820, 0x364a7: 0x6cd07420, + 0x364a8: 0x6d2ce020, 0x364a9: 0x6c04fc20, 0x364aa: 0x6c13c620, 0x364ab: 0x6c13c820, + 0x364ac: 0x6c13ca20, 0x364ad: 0x6c248820, 0x364ae: 0x6c248a20, 0x364af: 0x6c248c20, + 0x364b0: 0x6c248e20, 0x364b1: 0x6c249020, 0x364b2: 0x6c249220, 0x364b3: 0x6c249420, + 0x364b4: 0x6c249620, 0x364b5: 0x6c249820, 0x364b6: 0x6c249a20, 0x364b7: 0x6c249c20, + 0x364b8: 0x6c249e20, 0x364b9: 0x6c3b7020, 0x364ba: 0x6c3b7220, 0x364bb: 0x6c3b7420, + 0x364bc: 0x6c3b7620, 0x364bd: 0x6c3b7820, 0x364be: 0x6c3b7a20, 0x364bf: 0x6c3b7c20, + // Block 0xd93, offset 0x364c0 + 0x364c0: 0x6c3b7e20, 0x364c1: 0x6c3b8020, 0x364c2: 0x6c3b8220, 0x364c3: 0x6c3b8420, + 0x364c4: 0x6c3b8620, 0x364c5: 0x6c3b8820, 0x364c6: 0x6c3b8a20, 0x364c7: 0x6c3b8c20, + 0x364c8: 0x6c3b8e20, 0x364c9: 0x6c3b9020, 0x364ca: 0x6c3b9220, 0x364cb: 0x6c3b9420, + 0x364cc: 0x6c3b9620, 0x364cd: 0x6c3b9820, 0x364ce: 0x6c3b9a20, 0x364cf: 0x6c577620, + 0x364d0: 0x6c577820, 0x364d1: 0x6c577a20, 0x364d2: 0x6c577c20, 0x364d3: 0x6c577e20, + 0x364d4: 0x6c578020, 0x364d5: 0x6c578220, 0x364d6: 0x6c578420, 0x364d7: 0x6c578620, + 0x364d8: 0x6c578820, 0x364d9: 0x6c578a20, 0x364da: 0x6c578c20, 0x364db: 0x6c578e20, + 0x364dc: 0x6c579020, 0x364dd: 0x6c579220, 0x364de: 0x6c579420, 0x364df: 0x6c579620, + 0x364e0: 0x6c579820, 0x364e1: 0x6c579a20, 0x364e2: 0x6c579c20, 0x364e3: 0x6c579e20, + 0x364e4: 0x6c57a020, 0x364e5: 0x6c57a220, 0x364e6: 0x6c57a420, 0x364e7: 0x6c57a620, + 0x364e8: 0x6c57a820, 0x364e9: 0x6c57aa20, 0x364ea: 0x6c57ac20, 0x364eb: 0x6c57ae20, + 0x364ec: 0x6c57b020, 0x364ed: 0x6c57b220, 0x364ee: 0x6c57b420, 0x364ef: 0x6c57b620, + 0x364f0: 0x6c57b820, 0x364f1: 0x6c57ba20, 0x364f2: 0x6c57bc20, 0x364f3: 0x6c57be20, + 0x364f4: 0x6c57c020, 0x364f5: 0x6c7a1c20, 0x364f6: 0x6c7a1e20, 0x364f7: 0x6c7a2020, + 0x364f8: 0x6c7a2220, 0x364f9: 0x6c7a2420, 0x364fa: 0x6c7a2620, 0x364fb: 0x6c7a2820, + 0x364fc: 0x6c7a2a20, 0x364fd: 0x6c7a2c20, 0x364fe: 0x6c7a2e20, 0x364ff: 0x6c7a3020, + // Block 0xd94, offset 0x36500 + 0x36500: 0x6c7a3220, 0x36501: 0x6c7a3420, 0x36502: 0x6c7a3620, 0x36503: 0x6c7a3820, + 0x36504: 0x6c7a3a20, 0x36505: 0x6c7a3c20, 0x36506: 0x6c7a3e20, 0x36507: 0x6c7a4020, + 0x36508: 0x6c7a4220, 0x36509: 0x6c7a4420, 0x3650a: 0x6c7a4620, 0x3650b: 0x6c7a4820, + 0x3650c: 0x6c7a4a20, 0x3650d: 0x6c7a4c20, 0x3650e: 0x6c7a4e20, 0x3650f: 0x6c7a5020, + 0x36510: 0x6c7a5220, 0x36511: 0x6c7a5420, 0x36512: 0x6c7a5620, 0x36513: 0x6c7a5820, + 0x36514: 0x6c7a5a20, 0x36515: 0x6c7a5c20, 0x36516: 0x6ca32620, 0x36517: 0x6ca32820, + 0x36518: 0x6ca32a20, 0x36519: 0x6ca32c20, 0x3651a: 0x6ca32e20, 0x3651b: 0x6ca33020, + 0x3651c: 0x6ca33220, 0x3651d: 0x6ca33420, 0x3651e: 0x6ca33620, 0x3651f: 0x6ca33820, + 0x36520: 0x6ca33a20, 0x36521: 0x6ca33c20, 0x36522: 0x6ca33e20, 0x36523: 0x6ca34020, + 0x36524: 0x6ca34220, 0x36525: 0x6ca34420, 0x36526: 0x6ca34620, 0x36527: 0x6ca34820, + 0x36528: 0x6ca34a20, 0x36529: 0x6ca34c20, 0x3652a: 0x6ca34e20, 0x3652b: 0x6ca35020, + 0x3652c: 0x6ca35220, 0x3652d: 0x6ca35420, 0x3652e: 0x6ca35620, 0x3652f: 0x6ca35820, + 0x36530: 0x6ca35a20, 0x36531: 0x6ca35c20, 0x36532: 0x6ca35e20, 0x36533: 0x6ca36020, + 0x36534: 0x6ca36220, 0x36535: 0x6ca36420, 0x36536: 0x6ca36620, 0x36537: 0x6ca36820, + 0x36538: 0x6ca36a20, 0x36539: 0x6ca36c20, 0x3653a: 0x6ca36e20, 0x3653b: 0x6cd0dc20, + 0x3653c: 0x6cd0de20, 0x3653d: 0x6cd0e020, 0x3653e: 0x6cd0e220, 0x3653f: 0x6cd0e420, + // Block 0xd95, offset 0x36540 + 0x36540: 0x6cd0e620, 0x36541: 0x6cd0e820, 0x36542: 0x6cd0ea20, 0x36543: 0x6cd0ec20, + 0x36544: 0x6cd0ee20, 0x36545: 0x6cd0f020, 0x36546: 0x6cd0f220, 0x36547: 0x6cd0f420, + 0x36548: 0x6cd0f620, 0x36549: 0x6cd0f820, 0x3654a: 0x6cd0fa20, 0x3654b: 0x6cd0fc20, + 0x3654c: 0x6cd0fe20, 0x3654d: 0x6cd10020, 0x3654e: 0x6cd10220, 0x3654f: 0x6cd10420, + 0x36550: 0x6cd10620, 0x36551: 0x6cd10820, 0x36552: 0x6cd10a20, 0x36553: 0x6cd10c20, + 0x36554: 0x6cd10e20, 0x36555: 0x6cd11020, 0x36556: 0x6cd11220, 0x36557: 0x6cd11420, + 0x36558: 0x6cd11620, 0x36559: 0x6cd11820, 0x3655a: 0x6cd11a20, 0x3655b: 0x6cd11c20, + 0x3655c: 0x6cd11e20, 0x3655d: 0x6cd12020, 0x3655e: 0x6cd12220, 0x3655f: 0x6cd12420, + 0x36560: 0x6cd12620, 0x36561: 0x6cd12820, 0x36562: 0x6cd12a20, 0x36563: 0x6cd12c20, + 0x36564: 0x6cd12e20, 0x36565: 0x6cd13020, 0x36566: 0x6cd13220, 0x36567: 0x6cd13420, + 0x36568: 0x6cd13620, 0x36569: 0x6cd13820, 0x3656a: 0x6cd13a20, 0x3656b: 0x6cd13c20, + 0x3656c: 0x6cd13e20, 0x3656d: 0x6cd14020, 0x3656e: 0x6cd14220, 0x3656f: 0x6cfeaa20, + 0x36570: 0x6cfeac20, 0x36571: 0x6cfeae20, 0x36572: 0x6cfeb020, 0x36573: 0x6cfeb220, + 0x36574: 0x6cfeb420, 0x36575: 0x6cfeb620, 0x36576: 0x6cfeb820, 0x36577: 0x6cfeba20, + 0x36578: 0x6cfebc20, 0x36579: 0x6cfebe20, 0x3657a: 0x6cfec020, 0x3657b: 0x6cfec220, + 0x3657c: 0x6cfec420, 0x3657d: 0x6cfec620, 0x3657e: 0x6cfec820, 0x3657f: 0x6cfeca20, + // Block 0xd96, offset 0x36580 + 0x36580: 0x6cfecc20, 0x36581: 0x6cfece20, 0x36582: 0x6cfed020, 0x36583: 0x6cfed220, + 0x36584: 0x6cfed420, 0x36585: 0x6cfed620, 0x36586: 0x6cfed820, 0x36587: 0x6cfeda20, + 0x36588: 0x6cfedc20, 0x36589: 0x6cfede20, 0x3658a: 0x6cfee020, 0x3658b: 0x6cfee220, + 0x3658c: 0x6cfee420, 0x3658d: 0x6cfee620, 0x3658e: 0x6cfee820, 0x3658f: 0x6cfeea20, + 0x36590: 0x6cfeec20, 0x36591: 0x6cfeee20, 0x36592: 0x6cfef020, 0x36593: 0x6cfef220, + 0x36594: 0x6cfef420, 0x36595: 0x6cfef620, 0x36596: 0x6cfef820, 0x36597: 0x6cfefa20, + 0x36598: 0x6cfefc20, 0x36599: 0x6cfefe20, 0x3659a: 0x6cff0020, 0x3659b: 0x6cff0220, + 0x3659c: 0x6cff0420, 0x3659d: 0x6cff0620, 0x3659e: 0x6cff0820, 0x3659f: 0x6cff0a20, + 0x365a0: 0x6cff0c20, 0x365a1: 0x6cff0e20, 0x365a2: 0x6cff1020, 0x365a3: 0x6cff1220, + 0x365a4: 0x6cff1420, 0x365a5: 0x6cff1620, 0x365a6: 0x6cff1820, 0x365a7: 0x6cff1a20, + 0x365a8: 0x6cff1c20, 0x365a9: 0x6cff1e20, 0x365aa: 0x6d2d1620, 0x365ab: 0x6d2d1820, + 0x365ac: 0x6d2d1a20, 0x365ad: 0x6d2d1c20, 0x365ae: 0x6d2d1e20, 0x365af: 0x6d2d2020, + 0x365b0: 0x6d2d2220, 0x365b1: 0x6d2d2420, 0x365b2: 0x6d2d2620, 0x365b3: 0x6d2d2820, + 0x365b4: 0x6d2d2a20, 0x365b5: 0x6d2d2c20, 0x365b6: 0x6d2d2e20, 0x365b7: 0x6d2d3020, + 0x365b8: 0x6d2d3220, 0x365b9: 0x6d2d3420, 0x365ba: 0x6d2d3620, 0x365bb: 0x6d2d3820, + 0x365bc: 0x6d2d3a20, 0x365bd: 0x6d2d3c20, 0x365be: 0x6d2d3e20, 0x365bf: 0x6d2d4020, + // Block 0xd97, offset 0x365c0 + 0x365c0: 0x6d2d4220, 0x365c1: 0x6d2d4420, 0x365c2: 0x6d2d4620, 0x365c3: 0x6d2d4820, + 0x365c4: 0x6d2d4a20, 0x365c5: 0x6d2d4c20, 0x365c6: 0x6d2d4e20, 0x365c7: 0x6d2d5020, + 0x365c8: 0x6d2d5220, 0x365c9: 0x6d2d5420, 0x365ca: 0x6d2d5620, 0x365cb: 0x6d2d5820, + 0x365cc: 0x6d2d5a20, 0x365cd: 0x6d2d5c20, 0x365ce: 0x6d2d5e20, 0x365cf: 0x6d2d6020, + 0x365d0: 0x6d2d6220, 0x365d1: 0x6d2d6420, 0x365d2: 0x6d2d6620, 0x365d3: 0x6d2d6820, + 0x365d4: 0x6d5a4820, 0x365d5: 0x6d5a4a20, 0x365d6: 0x6d5a4c20, 0x365d7: 0x6d5a4e20, + 0x365d8: 0x6d5a5020, 0x365d9: 0x6d5a5220, 0x365da: 0x6d5a5420, 0x365db: 0x6d5a5620, + 0x365dc: 0x6d5a5820, 0x365dd: 0x6d5a5a20, 0x365de: 0x6d5a5c20, 0x365df: 0x6d5a5e20, + 0x365e0: 0x6d5a6020, 0x365e1: 0x6d5a6220, 0x365e2: 0x6d5a6420, 0x365e3: 0x6d5a6620, + 0x365e4: 0x6d5a6820, 0x365e5: 0x6d5a6a20, 0x365e6: 0x6d5a6c20, 0x365e7: 0x6d5a6e20, + 0x365e8: 0x6d5a7020, 0x365e9: 0x6d5a7220, 0x365ea: 0x6d5a7420, 0x365eb: 0x6d5a7620, + 0x365ec: 0x6d5a7820, 0x365ed: 0x6d5a7a20, 0x365ee: 0x6d5a7c20, 0x365ef: 0x6d5a7e20, + 0x365f0: 0x6d5a8020, 0x365f1: 0x6d5a8220, 0x365f2: 0x6d5a8420, 0x365f3: 0x6d5a8620, + 0x365f4: 0x6d5a8820, 0x365f5: 0x6d5a8a20, 0x365f6: 0x6d5a8c20, 0x365f7: 0x6d5a8e20, + 0x365f8: 0x6d5a9020, 0x365f9: 0x6d5a9220, 0x365fa: 0x6d5a9420, 0x365fb: 0x6d5a9620, + 0x365fc: 0x6d5a9820, 0x365fd: 0x6d5a9a20, 0x365fe: 0x6d5a9c20, 0x365ff: 0x6d5a9e20, + // Block 0xd98, offset 0x36600 + 0x36600: 0x6d850020, 0x36601: 0x6d5aa020, 0x36602: 0x6d850220, 0x36603: 0x6d850420, + 0x36604: 0x6d850620, 0x36605: 0x6d850820, 0x36606: 0x6d850a20, 0x36607: 0x6d850c20, + 0x36608: 0x6d850e20, 0x36609: 0x6d851020, 0x3660a: 0x6d851220, 0x3660b: 0x6d851420, + 0x3660c: 0x6d851620, 0x3660d: 0x6d851820, 0x3660e: 0x6d851a20, 0x3660f: 0x6d851c20, + 0x36610: 0x6d851e20, 0x36611: 0x6d852020, 0x36612: 0x6d852220, 0x36613: 0x6d852420, + 0x36614: 0x6d852620, 0x36615: 0x6d852820, 0x36616: 0x6d852a20, 0x36617: 0x6d852c20, + 0x36618: 0x6d852e20, 0x36619: 0x6d853020, 0x3661a: 0x6d853220, 0x3661b: 0x6d853420, + 0x3661c: 0x6d853620, 0x3661d: 0x6d853820, 0x3661e: 0x6d853a20, 0x3661f: 0x6d853c20, + 0x36620: 0x6d853e20, 0x36621: 0x6d854020, 0x36622: 0x6d854220, 0x36623: 0x6d854420, + 0x36624: 0x6d854620, 0x36625: 0x6d854820, 0x36626: 0x6d854a20, 0x36627: 0x6d854c20, + 0x36628: 0x6d854e20, 0x36629: 0x6d855020, 0x3662a: 0x6d855220, 0x3662b: 0x6da9c420, + 0x3662c: 0x6da9c620, 0x3662d: 0x6da9c820, 0x3662e: 0x6da9ca20, 0x3662f: 0x6da9cc20, + 0x36630: 0x6da9ce20, 0x36631: 0x6da9d020, 0x36632: 0x6da9d220, 0x36633: 0x6da9d420, + 0x36634: 0x6da9d620, 0x36635: 0x6da9d820, 0x36636: 0x6da9da20, 0x36637: 0x6da9dc20, + 0x36638: 0x6da9de20, 0x36639: 0x6da9e020, 0x3663a: 0x6da9e220, 0x3663b: 0x6da9e420, + 0x3663c: 0x6da9e620, 0x3663d: 0x6da9e820, 0x3663e: 0x6da9ea20, 0x3663f: 0x6da9ec20, + // Block 0xd99, offset 0x36640 + 0x36640: 0x6da9ee20, 0x36641: 0x6da9f020, 0x36642: 0x6da9f220, 0x36643: 0x6da9f420, + 0x36644: 0x6da9f620, 0x36645: 0x6da9f820, 0x36646: 0x6da9fa20, 0x36647: 0x6da9fc20, + 0x36648: 0x6da9fe20, 0x36649: 0x6daa0020, 0x3664a: 0x6daa0220, 0x3664b: 0x6dcaa020, + 0x3664c: 0x6dcaa220, 0x3664d: 0x6dcaa420, 0x3664e: 0x6dcaa620, 0x3664f: 0x6dcaa820, + 0x36650: 0x6dcaaa20, 0x36651: 0x6dcaac20, 0x36652: 0x6dcaae20, 0x36653: 0x6dcab020, + 0x36654: 0x6dcab220, 0x36655: 0x6dcab420, 0x36656: 0x6dcab620, 0x36657: 0x6dcab820, + 0x36658: 0x6dcaba20, 0x36659: 0x6dcabc20, 0x3665a: 0x6dcabe20, 0x3665b: 0x6dcac020, + 0x3665c: 0x6dcac220, 0x3665d: 0x6dcac420, 0x3665e: 0x6dcac620, 0x3665f: 0x6dcac820, + 0x36660: 0x6dcaca20, 0x36661: 0x6dcacc20, 0x36662: 0x6dcace20, 0x36663: 0x6dcad020, + 0x36664: 0x6dcad220, 0x36665: 0x6dcad420, 0x36666: 0x6dcad620, 0x36667: 0x6dcad820, + 0x36668: 0x6dcada20, 0x36669: 0x6de63a20, 0x3666a: 0x6de63c20, 0x3666b: 0x6de63e20, + 0x3666c: 0x6de64020, 0x3666d: 0x6de64220, 0x3666e: 0x6de64420, 0x3666f: 0x6de64620, + 0x36670: 0x6de64820, 0x36671: 0x6de64a20, 0x36672: 0x6de64c20, 0x36673: 0x6de64e20, + 0x36674: 0x6dcadc20, 0x36675: 0x6de65020, 0x36676: 0x6de65220, 0x36677: 0x6de65420, + 0x36678: 0x6de65620, 0x36679: 0x6de65820, 0x3667a: 0x6de65a20, 0x3667b: 0x6de65c20, + 0x3667c: 0x6de65e20, 0x3667d: 0x6de66020, 0x3667e: 0x6dfd0e20, 0x3667f: 0x6dfd1020, + // Block 0xd9a, offset 0x36680 + 0x36680: 0x6dfd1220, 0x36681: 0x6dfd1420, 0x36682: 0x6dfd1620, 0x36683: 0x6dfd1820, + 0x36684: 0x6dfd1a20, 0x36685: 0x6dfd1c20, 0x36686: 0x6dfd1e20, 0x36687: 0x6dfd2020, + 0x36688: 0x6dfd2220, 0x36689: 0x6e0fdc20, 0x3668a: 0x6e0fde20, 0x3668b: 0x6e0fe020, + 0x3668c: 0x6e0fe220, 0x3668d: 0x6e0fe420, 0x3668e: 0x6e0fe620, 0x3668f: 0x6e0fe820, + 0x36690: 0x6e0fea20, 0x36691: 0x6e0fec20, 0x36692: 0x6e0fee20, 0x36693: 0x6e0ff020, + 0x36694: 0x6e1ebc20, 0x36695: 0x6e1ebe20, 0x36696: 0x6e1ec020, 0x36697: 0x6e1ec220, + 0x36698: 0x6e1ec420, 0x36699: 0x6e2a1e20, 0x3669a: 0x6e2a2020, 0x3669b: 0x6e2a2220, + 0x3669c: 0x6e2a2420, 0x3669d: 0x6e2a2620, 0x3669e: 0x6e2a2820, 0x3669f: 0x6e2a2a20, + 0x366a0: 0x6e32e020, 0x366a1: 0x6e33a820, 0x366a2: 0x6e3d6c20, 0x366a3: 0x6e391820, + 0x366a4: 0x6e391a20, 0x366a5: 0x6e391c20, 0x366a6: 0x6e391e20, 0x366a7: 0x6e392020, + 0x366a8: 0x6e3d6e20, 0x366a9: 0x6e42c220, 0x366aa: 0x6c3bae20, 0x366ab: 0x6c57ca20, + 0x366ac: 0x6c57cc20, 0x366ad: 0x6c57ce20, 0x366ae: 0x6c57d020, 0x366af: 0x6c57d220, + 0x366b0: 0x6c7a7c20, 0x366b1: 0x6c7a7e20, 0x366b2: 0x6c7a8020, 0x366b3: 0x6c7a8220, + 0x366b4: 0x6c7a8420, 0x366b5: 0x6ca38220, 0x366b6: 0x6ca38420, 0x366b7: 0x6ca38620, + 0x366b8: 0x6ca38820, 0x366b9: 0x6ca38a20, 0x366ba: 0x6cd16220, 0x366bb: 0x6cd16420, + 0x366bc: 0x6cd16620, 0x366bd: 0x6cd16820, 0x366be: 0x6cd16a20, 0x366bf: 0x6cd16c20, + // Block 0xd9b, offset 0x366c0 + 0x366c0: 0x6cd16e20, 0x366c1: 0x6cff4420, 0x366c2: 0x6cff4620, 0x366c3: 0x6cff4820, + 0x366c4: 0x6cff4a20, 0x366c5: 0x6cff4c20, 0x366c6: 0x6cff4e20, 0x366c7: 0x6d5ab620, + 0x366c8: 0x6d2d8c20, 0x366c9: 0x6d2d8e20, 0x366ca: 0x6d2d9020, 0x366cb: 0x6d2d9220, + 0x366cc: 0x6d2d9420, 0x366cd: 0x6d5ab820, 0x366ce: 0x6d856c20, 0x366cf: 0x6d856e20, + 0x366d0: 0x6d5aba20, 0x366d1: 0x6d5abc20, 0x366d2: 0x6d5abe20, 0x366d3: 0x6d5ac020, + 0x366d4: 0x6d5ac220, 0x366d5: 0x6d5ac420, 0x366d6: 0x6d857020, 0x366d7: 0x6daa1020, + 0x366d8: 0x6dcae420, 0x366d9: 0x6dcae620, 0x366da: 0x6dcae820, 0x366db: 0x6e0ff420, + 0x366dc: 0x6e0ff620, 0x366dd: 0x6e0ff820, 0x366de: 0x6e1ec820, 0x366df: 0x6e1eca20, + 0x366e0: 0x6e2a2e20, 0x366e1: 0x6e2a3020, 0x366e2: 0x6e32e620, 0x366e3: 0x6e3d7220, + 0x366e4: 0x6e3d7420, 0x366e5: 0x6e452620, 0x366e6: 0x6c24a420, 0x366e7: 0x6c24a620, + 0x366e8: 0x6c3bba20, 0x366e9: 0x6c3bbc20, 0x366ea: 0x6c3bbe20, 0x366eb: 0x6c3bc020, + 0x366ec: 0x6c57ec20, 0x366ed: 0x6c57ee20, 0x366ee: 0x6c57f020, 0x366ef: 0x6c57f220, + 0x366f0: 0x6c57f420, 0x366f1: 0x6c57f620, 0x366f2: 0x6c57f820, 0x366f3: 0x6c7a9620, + 0x366f4: 0x6c7a9820, 0x366f5: 0x6c7a9a20, 0x366f6: 0x6c7a9c20, 0x366f7: 0x6c7a9e20, + 0x366f8: 0x6c7aa020, 0x366f9: 0x6c7aa220, 0x366fa: 0x6c7aa420, 0x366fb: 0x6c7aa620, + 0x366fc: 0x6c7aa820, 0x366fd: 0x6c7aaa20, 0x366fe: 0x6ca39e20, 0x366ff: 0x6ca3a020, + // Block 0xd9c, offset 0x36700 + 0x36700: 0x6ca3a220, 0x36701: 0x6ca3a420, 0x36702: 0x6ca3a620, 0x36703: 0x6ca3a820, + 0x36704: 0x6ca3aa20, 0x36705: 0x6ca3ac20, 0x36706: 0x6ca3ae20, 0x36707: 0x6ca3b020, + 0x36708: 0x6ca3b220, 0x36709: 0x6ca3b420, 0x3670a: 0x6ca3b620, 0x3670b: 0x6ca3b820, + 0x3670c: 0x6cd18020, 0x3670d: 0x6cd18220, 0x3670e: 0x6cd18420, 0x3670f: 0x6cd18620, + 0x36710: 0x6cd18820, 0x36711: 0x6cd18a20, 0x36712: 0x6cd18c20, 0x36713: 0x6cd18e20, + 0x36714: 0x6cd19020, 0x36715: 0x6cd19220, 0x36716: 0x6cd19420, 0x36717: 0x6cd19620, + 0x36718: 0x6cd19820, 0x36719: 0x6cd19a20, 0x3671a: 0x6cd19c20, 0x3671b: 0x6cff6820, + 0x3671c: 0x6cff6a20, 0x3671d: 0x6cff6c20, 0x3671e: 0x6cff6e20, 0x3671f: 0x6cff7020, + 0x36720: 0x6cff7220, 0x36721: 0x6cff7420, 0x36722: 0x6cff7620, 0x36723: 0x6cff7820, + 0x36724: 0x6cff7a20, 0x36725: 0x6cff7c20, 0x36726: 0x6cff7e20, 0x36727: 0x6d2dae20, + 0x36728: 0x6d2db020, 0x36729: 0x6d2db220, 0x3672a: 0x6d2db420, 0x3672b: 0x6d2db620, + 0x3672c: 0x6d2db820, 0x3672d: 0x6d2dba20, 0x3672e: 0x6d2dbc20, 0x3672f: 0x6d2dbe20, + 0x36730: 0x6d2dc020, 0x36731: 0x6d2dc220, 0x36732: 0x6cff8020, 0x36733: 0x6d2dc420, + 0x36734: 0x6d2dc620, 0x36735: 0x6d2dc820, 0x36736: 0x6d2dca20, 0x36737: 0x6d2dcc20, + 0x36738: 0x6d2dce20, 0x36739: 0x6d5ad420, 0x3673a: 0x6d5ad620, 0x3673b: 0x6d5ad820, + 0x3673c: 0x6d5ada20, 0x3673d: 0x6d5adc20, 0x3673e: 0x6d5ade20, 0x3673f: 0x6d5ae020, + // Block 0xd9d, offset 0x36740 + 0x36740: 0x6d5ae220, 0x36741: 0x6d5ae420, 0x36742: 0x6d5ae620, 0x36743: 0x6d5ae820, + 0x36744: 0x6d5aea20, 0x36745: 0x6d858420, 0x36746: 0x6d858620, 0x36747: 0x6d858820, + 0x36748: 0x6d858a20, 0x36749: 0x6d858c20, 0x3674a: 0x6d858e20, 0x3674b: 0x6d859020, + 0x3674c: 0x6d859220, 0x3674d: 0x6d859420, 0x3674e: 0x6daa2820, 0x3674f: 0x6daa2a20, + 0x36750: 0x6daa2c20, 0x36751: 0x6daa2e20, 0x36752: 0x6daa3020, 0x36753: 0x6daa3220, + 0x36754: 0x6daa3420, 0x36755: 0x6daa3620, 0x36756: 0x6cff8220, 0x36757: 0x6daa3820, + 0x36758: 0x6dcaf420, 0x36759: 0x6dcaf620, 0x3675a: 0x6dcaf820, 0x3675b: 0x6dcafa20, + 0x3675c: 0x6dcafc20, 0x3675d: 0x6dcafe20, 0x3675e: 0x6dcb0020, 0x3675f: 0x6dcb0220, + 0x36760: 0x6de67020, 0x36761: 0x6de67220, 0x36762: 0x6dfd2c20, 0x36763: 0x6dfd2e20, + 0x36764: 0x6dfd3020, 0x36765: 0x6dfd3220, 0x36766: 0x6e0ffc20, 0x36767: 0x6e0ffe20, + 0x36768: 0x6e100020, 0x36769: 0x6e100220, 0x3676a: 0x6e100420, 0x3676b: 0x6e100620, + 0x3676c: 0x6e100820, 0x3676d: 0x6e1ece20, 0x3676e: 0x6e1ed020, 0x3676f: 0x6e1ed220, + 0x36770: 0x6e2a3220, 0x36771: 0x6e2a3420, 0x36772: 0x6e2a3620, 0x36773: 0x6e2a3820, + 0x36774: 0x6e2a3a20, 0x36775: 0x6e2a3c20, 0x36776: 0x6e32ea20, 0x36777: 0x6e392420, + 0x36778: 0x6e407c20, 0x36779: 0x6e443820, 0x3677a: 0x6c0a0020, 0x3677b: 0x6c3bc620, + 0x3677c: 0x6c3bc820, 0x3677d: 0x6c3bca20, 0x3677e: 0x6c3bcc20, 0x3677f: 0x6c3bce20, + // Block 0xd9e, offset 0x36780 + 0x36780: 0x6c3bd020, 0x36781: 0x6c580020, 0x36782: 0x6c580220, 0x36783: 0x6c580420, + 0x36784: 0x6c580620, 0x36785: 0x6c7ab020, 0x36786: 0x6cd19e20, 0x36787: 0x6cff8e20, + 0x36788: 0x6d2dd420, 0x36789: 0x6d5af220, 0x3678a: 0x6d5af420, 0x3678b: 0x6d859620, + 0x3678c: 0x6d859820, 0x3678d: 0x6daa3c20, 0x3678e: 0x6dcb0420, 0x3678f: 0x6dc4c420, + 0x36790: 0x6e100a20, 0x36791: 0x6e1ed620, 0x36792: 0x6e42c420, 0x36793: 0x6c0a0420, + 0x36794: 0x6c13ce20, 0x36795: 0x6c3bd220, 0x36796: 0x6c3bd420, 0x36797: 0x6c3bd620, + 0x36798: 0x6c580c20, 0x36799: 0x6c580e20, 0x3679a: 0x6c581020, 0x3679b: 0x6c581220, + 0x3679c: 0x6c581420, 0x3679d: 0x6c581620, 0x3679e: 0x6c581820, 0x3679f: 0x6c7ab420, + 0x367a0: 0x6ca3c220, 0x367a1: 0x6ca3c420, 0x367a2: 0x6ca3c620, 0x367a3: 0x6ca3c820, + 0x367a4: 0x6ca3ca20, 0x367a5: 0x6ca3cc20, 0x367a6: 0x6cd1aa20, 0x367a7: 0x6cd1ac20, + 0x367a8: 0x6cd1ae20, 0x367a9: 0x6cd1b020, 0x367aa: 0x6cd1b220, 0x367ab: 0x6cd1b420, + 0x367ac: 0x6cff9020, 0x367ad: 0x6cff9220, 0x367ae: 0x6cff9420, 0x367af: 0x6cff9620, + 0x367b0: 0x6cff9820, 0x367b1: 0x6cff9a20, 0x367b2: 0x6d2dd820, 0x367b3: 0x6d2dda20, + 0x367b4: 0x6d2ddc20, 0x367b5: 0x6d5af820, 0x367b6: 0x6d859c20, 0x367b7: 0x6daa3e20, + 0x367b8: 0x6daa4020, 0x367b9: 0x6daa4220, 0x367ba: 0x6dcb0620, 0x367bb: 0x6de67420, + 0x367bc: 0x6de67620, 0x367bd: 0x6de26620, 0x367be: 0x6de67820, 0x367bf: 0x6de67a20, + // Block 0xd9f, offset 0x367c0 + 0x367c0: 0x6e100c20, 0x367c1: 0x6e1ed820, 0x367c2: 0x6e1eda20, 0x367c3: 0x6c13d220, + 0x367c4: 0x6c24ae20, 0x367c5: 0x6c3bde20, 0x367c6: 0x6c3be020, 0x367c7: 0x6c7ab820, + 0x367c8: 0x6ca3d020, 0x367c9: 0x6cd1b820, 0x367ca: 0x6d2dde20, 0x367cb: 0x6d5afa20, + 0x367cc: 0x6d5afc20, 0x367cd: 0x6dcb0820, 0x367ce: 0x6de67c20, 0x367cf: 0x6e1edc20, + 0x367d0: 0x6e392620, 0x367d1: 0x6e2a3e20, 0x367d2: 0x6c0a1620, 0x367d3: 0x6c13d820, + 0x367d4: 0x6c13da20, 0x367d5: 0x6c24c220, 0x367d6: 0x6c24c420, 0x367d7: 0x6c24c620, + 0x367d8: 0x6c24c820, 0x367d9: 0x6c24ca20, 0x367da: 0x6c24cc20, 0x367db: 0x6c24ce20, + 0x367dc: 0x6c24d020, 0x367dd: 0x6c3bfa20, 0x367de: 0x6c3bfc20, 0x367df: 0x6c3bfe20, + 0x367e0: 0x6c3c0020, 0x367e1: 0x6c3c0220, 0x367e2: 0x6c3c0420, 0x367e3: 0x6c3c0620, + 0x367e4: 0x6c3c0820, 0x367e5: 0x6c3c0a20, 0x367e6: 0x6c3c0c20, 0x367e7: 0x6c3c0e20, + 0x367e8: 0x6c3c1020, 0x367e9: 0x6c584020, 0x367ea: 0x6c584220, 0x367eb: 0x6c584420, + 0x367ec: 0x6c584620, 0x367ed: 0x6c584820, 0x367ee: 0x6c584a20, 0x367ef: 0x6c584c20, + 0x367f0: 0x6c584e20, 0x367f1: 0x6c585020, 0x367f2: 0x6c585220, 0x367f3: 0x6c585420, + 0x367f4: 0x6c585620, 0x367f5: 0x6c585820, 0x367f6: 0x6c585a20, 0x367f7: 0x6c585c20, + 0x367f8: 0x6c585e20, 0x367f9: 0x6c586020, 0x367fa: 0x6c586220, 0x367fb: 0x6c586420, + 0x367fc: 0x6c586620, 0x367fd: 0x6c586820, 0x367fe: 0x6c586a20, 0x367ff: 0x6c586c20, + // Block 0xda0, offset 0x36800 + 0x36800: 0x6c586e20, 0x36801: 0x6c587020, 0x36802: 0x6c587220, 0x36803: 0x6c587420, + 0x36804: 0x6c587620, 0x36805: 0x6c587820, 0x36806: 0x6c587a20, 0x36807: 0x6c587c20, + 0x36808: 0x6c587e20, 0x36809: 0x6c588020, 0x3680a: 0x6c588220, 0x3680b: 0x6c588420, + 0x3680c: 0x6c7ad620, 0x3680d: 0x6c7ad820, 0x3680e: 0x6c7ada20, 0x3680f: 0x6c7adc20, + 0x36810: 0x6c7ade20, 0x36811: 0x6c7ae020, 0x36812: 0x6c7ae220, 0x36813: 0x6c7ae420, + 0x36814: 0x6c7ae620, 0x36815: 0x6c7ae820, 0x36816: 0x6c7aea20, 0x36817: 0x6c7aec20, + 0x36818: 0x6c7aee20, 0x36819: 0x6c7af020, 0x3681a: 0x6c7af220, 0x3681b: 0x6c7af420, + 0x3681c: 0x6c7af620, 0x3681d: 0x6c7af820, 0x3681e: 0x6c7afa20, 0x3681f: 0x6c7afc20, + 0x36820: 0x6c7afe20, 0x36821: 0x6c63fc20, 0x36822: 0x6c7b0020, 0x36823: 0x6c7b0220, + 0x36824: 0x6c7b0420, 0x36825: 0x6ca3e820, 0x36826: 0x6ca3ea20, 0x36827: 0x6ca3ec20, + 0x36828: 0x6ca3ee20, 0x36829: 0x6ca3f020, 0x3682a: 0x6ca3f220, 0x3682b: 0x6ca3f420, + 0x3682c: 0x6ca3f620, 0x3682d: 0x6ca3f820, 0x3682e: 0x6ca3fa20, 0x3682f: 0x6ca3fc20, + 0x36830: 0x6ca3fe20, 0x36831: 0x6ca40020, 0x36832: 0x6ca40220, 0x36833: 0x6ca40420, + 0x36834: 0x6ca40620, 0x36835: 0x6ca40820, 0x36836: 0x6ca40a20, 0x36837: 0x6ca40c20, + 0x36838: 0x6ca40e20, 0x36839: 0x6ca41020, 0x3683a: 0x6ca41220, 0x3683b: 0x6cd1d020, + 0x3683c: 0x6cd1d220, 0x3683d: 0x6cd1d420, 0x3683e: 0x6cd1d620, 0x3683f: 0x6cd1d820, + // Block 0xda1, offset 0x36840 + 0x36840: 0x6cd1da20, 0x36841: 0x6cd1dc20, 0x36842: 0x6cd1de20, 0x36843: 0x6cd1e020, + 0x36844: 0x6cd1e220, 0x36845: 0x6cd1e420, 0x36846: 0x6cd1e620, 0x36847: 0x6cd1e820, + 0x36848: 0x6cd1ea20, 0x36849: 0x6cd1ec20, 0x3684a: 0x6cd1ee20, 0x3684b: 0x6cd1f020, + 0x3684c: 0x6cd1f220, 0x3684d: 0x6cd1f420, 0x3684e: 0x6cd1f620, 0x3684f: 0x6cd1f820, + 0x36850: 0x6cd1fa20, 0x36851: 0x6cffb620, 0x36852: 0x6cffb820, 0x36853: 0x6cffba20, + 0x36854: 0x6cffbc20, 0x36855: 0x6cffbe20, 0x36856: 0x6cffc020, 0x36857: 0x6cffc220, + 0x36858: 0x6cffc420, 0x36859: 0x6cffc620, 0x3685a: 0x6cffc820, 0x3685b: 0x6cffca20, + 0x3685c: 0x6cffcc20, 0x3685d: 0x6cffce20, 0x3685e: 0x6cffd020, 0x3685f: 0x6cffd220, + 0x36860: 0x6cffd420, 0x36861: 0x6cffd620, 0x36862: 0x6cffd820, 0x36863: 0x6cffda20, + 0x36864: 0x6cffdc20, 0x36865: 0x6cffde20, 0x36866: 0x6cffe020, 0x36867: 0x6cffe220, + 0x36868: 0x6cffe420, 0x36869: 0x6cffe620, 0x3686a: 0x6cffe820, 0x3686b: 0x6d2de820, + 0x3686c: 0x6d2dea20, 0x3686d: 0x6d2dec20, 0x3686e: 0x6d2dee20, 0x3686f: 0x6d2df020, + 0x36870: 0x6d2df220, 0x36871: 0x6d2df420, 0x36872: 0x6d2df620, 0x36873: 0x6d2df820, + 0x36874: 0x6d2dfa20, 0x36875: 0x6d2dfc20, 0x36876: 0x6d2dfe20, 0x36877: 0x6d5b0820, + 0x36878: 0x6d5b0a20, 0x36879: 0x6d5b0c20, 0x3687a: 0x6d5b0e20, 0x3687b: 0x6d5b1020, + 0x3687c: 0x6d5b1220, 0x3687d: 0x6d5b1420, 0x3687e: 0x6d5b1620, 0x3687f: 0x6d5b1820, + // Block 0xda2, offset 0x36880 + 0x36880: 0x6d5b1a20, 0x36881: 0x6d5b1c20, 0x36882: 0x6d5b1e20, 0x36883: 0x6d5b2020, + 0x36884: 0x6d5b2220, 0x36885: 0x6d5b2420, 0x36886: 0x6d5b2620, 0x36887: 0x6d5b2820, + 0x36888: 0x6d85a620, 0x36889: 0x6d85a820, 0x3688a: 0x6d85aa20, 0x3688b: 0x6d85ac20, + 0x3688c: 0x6d85ae20, 0x3688d: 0x6d85b020, 0x3688e: 0x6d85b220, 0x3688f: 0x6d75d020, + 0x36890: 0x6d85b420, 0x36891: 0x6d85b620, 0x36892: 0x6daa4a20, 0x36893: 0x6daa4c20, + 0x36894: 0x6daa4e20, 0x36895: 0x6daa5020, 0x36896: 0x6daa5220, 0x36897: 0x6daa5420, + 0x36898: 0x6daa5620, 0x36899: 0x6daa5820, 0x3689a: 0x6daa5a20, 0x3689b: 0x6db99020, + 0x3689c: 0x6daa5c20, 0x3689d: 0x6daa5e20, 0x3689e: 0x6daa6020, 0x3689f: 0x6daa6220, + 0x368a0: 0x6daa6420, 0x368a1: 0x6daa6620, 0x368a2: 0x6daa6820, 0x368a3: 0x6daa6a20, + 0x368a4: 0x6dcb1020, 0x368a5: 0x6dcb1220, 0x368a6: 0x6dcb1420, 0x368a7: 0x6dcb1620, + 0x368a8: 0x6dcb1820, 0x368a9: 0x6de68420, 0x368aa: 0x6de68620, 0x368ab: 0x6de68820, + 0x368ac: 0x6de68a20, 0x368ad: 0x6de68c20, 0x368ae: 0x6de68e20, 0x368af: 0x6de69020, + 0x368b0: 0x6de69220, 0x368b1: 0x6dfd3820, 0x368b2: 0x6de69420, 0x368b3: 0x6dfd3a20, + 0x368b4: 0x6dfd3c20, 0x368b5: 0x6dfd3e20, 0x368b6: 0x6dfd4020, 0x368b7: 0x6dfd4220, + 0x368b8: 0x6dfd4420, 0x368b9: 0x6e100e20, 0x368ba: 0x6e101020, 0x368bb: 0x6e101220, + 0x368bc: 0x6e101420, 0x368bd: 0x6e101620, 0x368be: 0x6e101820, 0x368bf: 0x6e1ee020, + // Block 0xda3, offset 0x368c0 + 0x368c0: 0x6e1ee220, 0x368c1: 0x6e1ee420, 0x368c2: 0x6e2a4220, 0x368c3: 0x6e2a4420, + 0x368c4: 0x6e2a4620, 0x368c5: 0x6e32ec20, 0x368c6: 0x6e392820, 0x368c7: 0x6e3d7620, + 0x368c8: 0x6e3d7820, 0x368c9: 0x6e3d7a20, 0x368ca: 0x6e3d7c20, 0x368cb: 0x6e3d7e20, + 0x368cc: 0x6e407e20, 0x368cd: 0x6e408020, 0x368ce: 0x6e42c620, 0x368cf: 0x6e452820, + 0x368d0: 0x6e463220, 0x368d1: 0x6e468620, 0x368d2: 0x6e46e820, 0x368d3: 0x6c0a1c20, + 0x368d4: 0x6c0a1e20, 0x368d5: 0x6c13dc20, 0x368d6: 0x6c3c1620, 0x368d7: 0x6c7b1020, + 0x368d8: 0x6c588e20, 0x368d9: 0x6cd20c20, 0x368da: 0x6cd20e20, 0x368db: 0x6cd21020, + 0x368dc: 0x6cfff220, 0x368dd: 0x6cfff420, 0x368de: 0x6d5b2e20, 0x368df: 0x6d85be20, + 0x368e0: 0x6d85c020, 0x368e1: 0x6d85c220, 0x368e2: 0x6d85c420, 0x368e3: 0x6dcb1e20, + 0x368e4: 0x6e1ee620, 0x368e5: 0x6c13de20, 0x368e6: 0x6c24e220, 0x368e7: 0x6c24e420, + 0x368e8: 0x6c24e620, 0x368e9: 0x6c24e820, 0x368ea: 0x6c24ea20, 0x368eb: 0x6c24ec20, + 0x368ec: 0x6c24ee20, 0x368ed: 0x6c24f020, 0x368ee: 0x6c24f220, 0x368ef: 0x6c3c3220, + 0x368f0: 0x6c3c3420, 0x368f1: 0x6c3c3620, 0x368f2: 0x6c3c3820, 0x368f3: 0x6c3c3a20, + 0x368f4: 0x6c3c3c20, 0x368f5: 0x6c3c3e20, 0x368f6: 0x6c3c4020, 0x368f7: 0x6c58ba20, + 0x368f8: 0x6c58bc20, 0x368f9: 0x6c58be20, 0x368fa: 0x6c58c020, 0x368fb: 0x6c58c220, + 0x368fc: 0x6c58c420, 0x368fd: 0x6c58c620, 0x368fe: 0x6c58c820, 0x368ff: 0x6c58ca20, + // Block 0xda4, offset 0x36900 + 0x36900: 0x6c58cc20, 0x36901: 0x6c58ce20, 0x36902: 0x6c58d020, 0x36903: 0x6c58d220, + 0x36904: 0x6c58d420, 0x36905: 0x6c58d620, 0x36906: 0x6c58d820, 0x36907: 0x6c58da20, + 0x36908: 0x6c58dc20, 0x36909: 0x6c58de20, 0x3690a: 0x6c58e020, 0x3690b: 0x6c58e220, + 0x3690c: 0x6c58e420, 0x3690d: 0x6c58e620, 0x3690e: 0x6c58e820, 0x3690f: 0x6c58ea20, + 0x36910: 0x6c58ec20, 0x36911: 0x6c58ee20, 0x36912: 0x6c58f020, 0x36913: 0x6c58f220, + 0x36914: 0x6c58f420, 0x36915: 0x6c58f620, 0x36916: 0x6c58f820, 0x36917: 0x6c7b5c20, + 0x36918: 0x6c7b5e20, 0x36919: 0x6c7b6020, 0x3691a: 0x6c7b6220, 0x3691b: 0x6c7b6420, + 0x3691c: 0x6c7b6620, 0x3691d: 0x6c7b6820, 0x3691e: 0x6c7b6a20, 0x3691f: 0x6c7b6c20, + 0x36920: 0x6c7b6e20, 0x36921: 0x6c7b7020, 0x36922: 0x6c7b7220, 0x36923: 0x6c7b7420, + 0x36924: 0x6c7b7620, 0x36925: 0x6c7b7820, 0x36926: 0x6c7b7a20, 0x36927: 0x6c7b7c20, + 0x36928: 0x6c7b7e20, 0x36929: 0x6c7b8020, 0x3692a: 0x6c7b8220, 0x3692b: 0x6c7b8420, + 0x3692c: 0x6c7b8620, 0x3692d: 0x6c7b8820, 0x3692e: 0x6c7b8a20, 0x3692f: 0x6c7b8c20, + 0x36930: 0x6c7b8e20, 0x36931: 0x6c7b9020, 0x36932: 0x6c7b9220, 0x36933: 0x6c7b9420, + 0x36934: 0x6c7b9620, 0x36935: 0x6c7b9820, 0x36936: 0x6c7b9a20, 0x36937: 0x6ca44820, + 0x36938: 0x6ca44a20, 0x36939: 0x6ca44c20, 0x3693a: 0x6ca44e20, 0x3693b: 0x6ca45020, + 0x3693c: 0x6ca45220, 0x3693d: 0x6ca45420, 0x3693e: 0x6ca45620, 0x3693f: 0x6ca45820, + // Block 0xda5, offset 0x36940 + 0x36940: 0x6ca45a20, 0x36941: 0x6ca45c20, 0x36942: 0x6ca45e20, 0x36943: 0x6ca46020, + 0x36944: 0x6ca46220, 0x36945: 0x6ca46420, 0x36946: 0x6ca46620, 0x36947: 0x6ca46820, + 0x36948: 0x6ca46a20, 0x36949: 0x6ca46c20, 0x3694a: 0x6ca46e20, 0x3694b: 0x6ca47020, + 0x3694c: 0x6ca47220, 0x3694d: 0x6ca47420, 0x3694e: 0x6ca47620, 0x3694f: 0x6ca47820, + 0x36950: 0x6ca47a20, 0x36951: 0x6ca47c20, 0x36952: 0x6ca47e20, 0x36953: 0x6ca48020, + 0x36954: 0x6ca48220, 0x36955: 0x6cd25a20, 0x36956: 0x6cd25c20, 0x36957: 0x6cd25e20, + 0x36958: 0x6cd26020, 0x36959: 0x6cd26220, 0x3695a: 0x6cd26420, 0x3695b: 0x6cd26620, + 0x3695c: 0x6cd26820, 0x3695d: 0x6cd26a20, 0x3695e: 0x6cd26c20, 0x3695f: 0x6cd26e20, + 0x36960: 0x6cd27020, 0x36961: 0x6cd27220, 0x36962: 0x6cd27420, 0x36963: 0x6cd27620, + 0x36964: 0x6cd27820, 0x36965: 0x6cd27a20, 0x36966: 0x6cd27c20, 0x36967: 0x6cd27e20, + 0x36968: 0x6cd28020, 0x36969: 0x6cd28220, 0x3696a: 0x6cd28420, 0x3696b: 0x6cd28620, + 0x3696c: 0x6cd28820, 0x3696d: 0x6cd28a20, 0x3696e: 0x6cd28c20, 0x3696f: 0x6cd28e20, + 0x36970: 0x6cd29020, 0x36971: 0x6cd29220, 0x36972: 0x6cd29420, 0x36973: 0x6cd29620, + 0x36974: 0x6cd29820, 0x36975: 0x6cd29a20, 0x36976: 0x6cd29c20, 0x36977: 0x6cd29e20, + 0x36978: 0x6cd2a020, 0x36979: 0x6cd2a220, 0x3697a: 0x6cd2a420, 0x3697b: 0x6cd2a620, + 0x3697c: 0x6cd2a820, 0x3697d: 0x6cd2aa20, 0x3697e: 0x6cd2ac20, 0x3697f: 0x6cd2ae20, + // Block 0xda6, offset 0x36980 + 0x36980: 0x6cd2b020, 0x36981: 0x6cd2b220, 0x36982: 0x6d003c20, 0x36983: 0x6d003e20, + 0x36984: 0x6d004020, 0x36985: 0x6d004220, 0x36986: 0x6d004420, 0x36987: 0x6d004620, + 0x36988: 0x6d004820, 0x36989: 0x6d004a20, 0x3698a: 0x6d004c20, 0x3698b: 0x6d004e20, + 0x3698c: 0x6d005020, 0x3698d: 0x6d005220, 0x3698e: 0x6d005420, 0x3698f: 0x6d005620, + 0x36990: 0x6d005820, 0x36991: 0x6d005a20, 0x36992: 0x6d005c20, 0x36993: 0x6d005e20, + 0x36994: 0x6d006020, 0x36995: 0x6d006220, 0x36996: 0x6d006420, 0x36997: 0x6d006620, + 0x36998: 0x6d006820, 0x36999: 0x6d006a20, 0x3699a: 0x6d006c20, 0x3699b: 0x6d006e20, + 0x3699c: 0x6d007020, 0x3699d: 0x6d007220, 0x3699e: 0x6d007420, 0x3699f: 0x6d007620, + 0x369a0: 0x6d007820, 0x369a1: 0x6d007a20, 0x369a2: 0x6d007c20, 0x369a3: 0x6d007e20, + 0x369a4: 0x6d008020, 0x369a5: 0x6d008220, 0x369a6: 0x6d008420, 0x369a7: 0x6d008620, + 0x369a8: 0x6d008820, 0x369a9: 0x6d008a20, 0x369aa: 0x6d008c20, 0x369ab: 0x6d008e20, + 0x369ac: 0x6d009020, 0x369ad: 0x6d009220, 0x369ae: 0x6d009420, 0x369af: 0x6d009620, + 0x369b0: 0x6d009820, 0x369b1: 0x6d009a20, 0x369b2: 0x6d009c20, 0x369b3: 0x6d009e20, + 0x369b4: 0x6d00a020, 0x369b5: 0x6d00a220, 0x369b6: 0x6d00a420, 0x369b7: 0x6d00a620, + 0x369b8: 0x6d00a820, 0x369b9: 0x6d00aa20, 0x369ba: 0x6d00ac20, 0x369bb: 0x6d2e4220, + 0x369bc: 0x6d2e4420, 0x369bd: 0x6d2e4620, 0x369be: 0x6d2e4820, 0x369bf: 0x6d2e4a20, + // Block 0xda7, offset 0x369c0 + 0x369c0: 0x6d2e4c20, 0x369c1: 0x6d2e4e20, 0x369c2: 0x6d2e5020, 0x369c3: 0x6d2e5220, + 0x369c4: 0x6d2e5420, 0x369c5: 0x6d2e5620, 0x369c6: 0x6d2e5820, 0x369c7: 0x6d2e5a20, + 0x369c8: 0x6d2e5c20, 0x369c9: 0x6d2e5e20, 0x369ca: 0x6d2e6020, 0x369cb: 0x6d2e6220, + 0x369cc: 0x6d2e6420, 0x369cd: 0x6d2e6620, 0x369ce: 0x6d2e6820, 0x369cf: 0x6d2e6a20, + 0x369d0: 0x6d2e6c20, 0x369d1: 0x6d2e6e20, 0x369d2: 0x6d2e7020, 0x369d3: 0x6d2e7220, + 0x369d4: 0x6d2e7420, 0x369d5: 0x6d2e7620, 0x369d6: 0x6d2e7820, 0x369d7: 0x6d2e7a20, + 0x369d8: 0x6d2e7c20, 0x369d9: 0x6d2e7e20, 0x369da: 0x6d2e8020, 0x369db: 0x6d2e8220, + 0x369dc: 0x6d2e8420, 0x369dd: 0x6d2e8620, 0x369de: 0x6d2e8820, 0x369df: 0x6d2e8a20, + 0x369e0: 0x6d2e8c20, 0x369e1: 0x6d2e8e20, 0x369e2: 0x6d2e9020, 0x369e3: 0x6d2e9220, + 0x369e4: 0x6d2e9420, 0x369e5: 0x6d2e9620, 0x369e6: 0x6d2e9820, 0x369e7: 0x6d2e9a20, + 0x369e8: 0x6d2e9c20, 0x369e9: 0x6d2e9e20, 0x369ea: 0x6d5b6c20, 0x369eb: 0x6d5b6e20, + 0x369ec: 0x6d5b7020, 0x369ed: 0x6d5b7220, 0x369ee: 0x6d5b7420, 0x369ef: 0x6d5b7620, + 0x369f0: 0x6d5b7820, 0x369f1: 0x6d5b7a20, 0x369f2: 0x6d5b7c20, 0x369f3: 0x6d5b7e20, + 0x369f4: 0x6d5b8020, 0x369f5: 0x6d5b8220, 0x369f6: 0x6d5b8420, 0x369f7: 0x6d5b8620, + 0x369f8: 0x6d5b8820, 0x369f9: 0x6d5b8a20, 0x369fa: 0x6d5b8c20, 0x369fb: 0x6d5b8e20, + 0x369fc: 0x6d5b9020, 0x369fd: 0x6d5b9220, 0x369fe: 0x6d5b9420, 0x369ff: 0x6d5b9620, + // Block 0xda8, offset 0x36a00 + 0x36a00: 0x6d5b9820, 0x36a01: 0x6d5b9a20, 0x36a02: 0x6d5b9c20, 0x36a03: 0x6d5b9e20, + 0x36a04: 0x6d5ba020, 0x36a05: 0x6d5ba220, 0x36a06: 0x6d5ba420, 0x36a07: 0x6d5ba620, + 0x36a08: 0x6d5ba820, 0x36a09: 0x6d5baa20, 0x36a0a: 0x6d5bac20, 0x36a0b: 0x6d5bae20, + 0x36a0c: 0x6d5bb020, 0x36a0d: 0x6d5bb220, 0x36a0e: 0x6d5bb420, 0x36a0f: 0x6d5bb620, + 0x36a10: 0x6d5bb820, 0x36a11: 0x6d5bba20, 0x36a12: 0x6d5bbc20, 0x36a13: 0x6d5bbe20, + 0x36a14: 0x6d5bc020, 0x36a15: 0x6d5bc220, 0x36a16: 0x6d5bc420, 0x36a17: 0x6d5bc620, + 0x36a18: 0x6d5bc820, 0x36a19: 0x6d5bca20, 0x36a1a: 0x6d5bcc20, 0x36a1b: 0x6d5bce20, + 0x36a1c: 0x6d5bd020, 0x36a1d: 0x6d85fe20, 0x36a1e: 0x6d860020, 0x36a1f: 0x6d860220, + 0x36a20: 0x6d860420, 0x36a21: 0x6d860620, 0x36a22: 0x6d860820, 0x36a23: 0x6d860a20, + 0x36a24: 0x6d860c20, 0x36a25: 0x6d860e20, 0x36a26: 0x6d861020, 0x36a27: 0x6d861220, + 0x36a28: 0x6d861420, 0x36a29: 0x6d861620, 0x36a2a: 0x6d861820, 0x36a2b: 0x6d861a20, + 0x36a2c: 0x6d861c20, 0x36a2d: 0x6d861e20, 0x36a2e: 0x6d862020, 0x36a2f: 0x6d862220, + 0x36a30: 0x6d862420, 0x36a31: 0x6d862620, 0x36a32: 0x6d862820, 0x36a33: 0x6d862a20, + 0x36a34: 0x6d862c20, 0x36a35: 0x6d862e20, 0x36a36: 0x6d863020, 0x36a37: 0x6d863220, + 0x36a38: 0x6d863420, 0x36a39: 0x6d863620, 0x36a3a: 0x6d863820, 0x36a3b: 0x6d863a20, + 0x36a3c: 0x6d863c20, 0x36a3d: 0x6d863e20, 0x36a3e: 0x6d864020, 0x36a3f: 0x6d864220, + // Block 0xda9, offset 0x36a40 + 0x36a40: 0x6d864420, 0x36a41: 0x6d864620, 0x36a42: 0x6d864820, 0x36a43: 0x6daa9020, + 0x36a44: 0x6daa9220, 0x36a45: 0x6daa9420, 0x36a46: 0x6daa9620, 0x36a47: 0x6daa9820, + 0x36a48: 0x6daa9a20, 0x36a49: 0x6daa9c20, 0x36a4a: 0x6daa9e20, 0x36a4b: 0x6daaa020, + 0x36a4c: 0x6daaa220, 0x36a4d: 0x6daaa420, 0x36a4e: 0x6daaa620, 0x36a4f: 0x6daaa820, + 0x36a50: 0x6daaaa20, 0x36a51: 0x6daaac20, 0x36a52: 0x6daaae20, 0x36a53: 0x6daab020, + 0x36a54: 0x6daab220, 0x36a55: 0x6daab420, 0x36a56: 0x6daab620, 0x36a57: 0x6daab820, + 0x36a58: 0x6daaba20, 0x36a59: 0x6daabc20, 0x36a5a: 0x6daabe20, 0x36a5b: 0x6daac020, + 0x36a5c: 0x6daac220, 0x36a5d: 0x6daac420, 0x36a5e: 0x6d864a20, 0x36a5f: 0x6daac620, + 0x36a60: 0x6daac820, 0x36a61: 0x6daaca20, 0x36a62: 0x6daacc20, 0x36a63: 0x6daace20, + 0x36a64: 0x6daad020, 0x36a65: 0x6daad220, 0x36a66: 0x6daad420, 0x36a67: 0x6daad620, + 0x36a68: 0x6daad820, 0x36a69: 0x6daada20, 0x36a6a: 0x6daadc20, 0x36a6b: 0x6daade20, + 0x36a6c: 0x6daae020, 0x36a6d: 0x6daae220, 0x36a6e: 0x6daae420, 0x36a6f: 0x6daae620, + 0x36a70: 0x6daae820, 0x36a71: 0x6daaea20, 0x36a72: 0x6daaec20, 0x36a73: 0x6daaee20, + 0x36a74: 0x6daaf020, 0x36a75: 0x6daaf220, 0x36a76: 0x6daaf420, 0x36a77: 0x6daaf620, + 0x36a78: 0x6daaf820, 0x36a79: 0x6daafa20, 0x36a7a: 0x6dcb4c20, 0x36a7b: 0x6dcb4e20, + 0x36a7c: 0x6dcb5020, 0x36a7d: 0x6dcb5220, 0x36a7e: 0x6dcb5420, 0x36a7f: 0x6dcb5620, + // Block 0xdaa, offset 0x36a80 + 0x36a80: 0x6dcb5820, 0x36a81: 0x6dcb5a20, 0x36a82: 0x6dcb5c20, 0x36a83: 0x6dcb5e20, + 0x36a84: 0x6dcb6020, 0x36a85: 0x6dcb6220, 0x36a86: 0x6dcb6420, 0x36a87: 0x6dcb6620, + 0x36a88: 0x6dcb6820, 0x36a89: 0x6dcb6a20, 0x36a8a: 0x6dcb6c20, 0x36a8b: 0x6dcb6e20, + 0x36a8c: 0x6dcb7020, 0x36a8d: 0x6dcb7220, 0x36a8e: 0x6dcb7420, 0x36a8f: 0x6dcb7620, + 0x36a90: 0x6dcb7820, 0x36a91: 0x6dcb7a20, 0x36a92: 0x6dcb7c20, 0x36a93: 0x6dcb7e20, + 0x36a94: 0x6dcb8020, 0x36a95: 0x6de6a420, 0x36a96: 0x6de6a620, 0x36a97: 0x6de6a820, + 0x36a98: 0x6de6aa20, 0x36a99: 0x6de6ac20, 0x36a9a: 0x6de6ae20, 0x36a9b: 0x6de6b020, + 0x36a9c: 0x6de6b220, 0x36a9d: 0x6de6b420, 0x36a9e: 0x6de6b620, 0x36a9f: 0x6de6b820, + 0x36aa0: 0x6de6ba20, 0x36aa1: 0x6de6bc20, 0x36aa2: 0x6de6be20, 0x36aa3: 0x6de6c020, + 0x36aa4: 0x6de6c220, 0x36aa5: 0x6de6c420, 0x36aa6: 0x6de6c620, 0x36aa7: 0x6de6c820, + 0x36aa8: 0x6de6ca20, 0x36aa9: 0x6de6cc20, 0x36aaa: 0x6de6ce20, 0x36aab: 0x6de6d020, + 0x36aac: 0x6de6d220, 0x36aad: 0x6de6d420, 0x36aae: 0x6de6d620, 0x36aaf: 0x6de6d820, + 0x36ab0: 0x6dfd5220, 0x36ab1: 0x6dfd5420, 0x36ab2: 0x6dfd5620, 0x36ab3: 0x6dfd5820, + 0x36ab4: 0x6dfd5a20, 0x36ab5: 0x6dfd5c20, 0x36ab6: 0x6dfd5e20, 0x36ab7: 0x6dfd6020, + 0x36ab8: 0x6dfd6220, 0x36ab9: 0x6dfd6420, 0x36aba: 0x6dfd6620, 0x36abb: 0x6dfd6820, + 0x36abc: 0x6dfd6a20, 0x36abd: 0x6dfd6c20, 0x36abe: 0x6dfd6e20, 0x36abf: 0x6dfd7020, + // Block 0xdab, offset 0x36ac0 + 0x36ac0: 0x6e102e20, 0x36ac1: 0x6e103020, 0x36ac2: 0x6e103220, 0x36ac3: 0x6e103420, + 0x36ac4: 0x6e103620, 0x36ac5: 0x6e103820, 0x36ac6: 0x6e103a20, 0x36ac7: 0x6e103c20, + 0x36ac8: 0x6e103e20, 0x36ac9: 0x6e104020, 0x36aca: 0x6e104220, 0x36acb: 0x6e1ef020, + 0x36acc: 0x6e1ef220, 0x36acd: 0x6e1ef420, 0x36ace: 0x6e1ef620, 0x36acf: 0x6e1ef820, + 0x36ad0: 0x6e2a4e20, 0x36ad1: 0x6e2a5020, 0x36ad2: 0x6e2a5220, 0x36ad3: 0x6e2a5420, + 0x36ad4: 0x6e2a5620, 0x36ad5: 0x6e2a5820, 0x36ad6: 0x6e2a5a20, 0x36ad7: 0x6e2a5c20, + 0x36ad8: 0x6e32f620, 0x36ad9: 0x6e32f820, 0x36ada: 0x6e32fa20, 0x36adb: 0x6e32fc20, + 0x36adc: 0x6e392a20, 0x36add: 0x6e392c20, 0x36ade: 0x6e392e20, 0x36adf: 0x6e3d8220, + 0x36ae0: 0x6e3d8420, 0x36ae1: 0x6e3d8620, 0x36ae2: 0x6e408220, 0x36ae3: 0x6e42cc20, + 0x36ae4: 0x6e443a20, 0x36ae5: 0x6c24f420, 0x36ae6: 0x6c24f620, 0x36ae7: 0x6c590820, + 0x36ae8: 0x6c590a20, 0x36ae9: 0x6c7ba420, 0x36aea: 0x6c7ba620, 0x36aeb: 0x6c7ba820, + 0x36aec: 0x6ca48620, 0x36aed: 0x6ca48820, 0x36aee: 0x6ca48a20, 0x36aef: 0x6cd2bc20, + 0x36af0: 0x6cd2be20, 0x36af1: 0x6cd2c020, 0x36af2: 0x6cd2c220, 0x36af3: 0x6d00b420, + 0x36af4: 0x6d00b620, 0x36af5: 0x6d00b820, 0x36af6: 0x6d2ea620, 0x36af7: 0x6d5bd820, + 0x36af8: 0x6d5bda20, 0x36af9: 0x6d864c20, 0x36afa: 0x6d864e20, 0x36afb: 0x6dfd7220, + 0x36afc: 0x6d865020, 0x36afd: 0x6c13e420, 0x36afe: 0x6c13e620, 0x36aff: 0x6c250220, + // Block 0xdac, offset 0x36b00 + 0x36b00: 0x6c250420, 0x36b01: 0x6c250620, 0x36b02: 0x6c3c4820, 0x36b03: 0x6c3c4a20, + 0x36b04: 0x6c3c4c20, 0x36b05: 0x6c3c4e20, 0x36b06: 0x6c3c5020, 0x36b07: 0x6c3c5220, + 0x36b08: 0x6c591620, 0x36b09: 0x6c591820, 0x36b0a: 0x6c591a20, 0x36b0b: 0x6c591c20, + 0x36b0c: 0x6c591e20, 0x36b0d: 0x6c592020, 0x36b0e: 0x6c592220, 0x36b0f: 0x6c592420, + 0x36b10: 0x6c592620, 0x36b11: 0x6c592820, 0x36b12: 0x6c592a20, 0x36b13: 0x6c592c20, + 0x36b14: 0x6c592e20, 0x36b15: 0x6c593020, 0x36b16: 0x6c593220, 0x36b17: 0x6c593420, + 0x36b18: 0x6c7bb620, 0x36b19: 0x6c7bb820, 0x36b1a: 0x6c7bba20, 0x36b1b: 0x6c7bbc20, + 0x36b1c: 0x6c7bbe20, 0x36b1d: 0x6c7bc020, 0x36b1e: 0x6c7bc220, 0x36b1f: 0x6c7bc420, + 0x36b20: 0x6c7bc620, 0x36b21: 0x6c7bc820, 0x36b22: 0x6c7bca20, 0x36b23: 0x6c7bcc20, + 0x36b24: 0x6c7bce20, 0x36b25: 0x6ca49a20, 0x36b26: 0x6ca49c20, 0x36b27: 0x6ca49e20, + 0x36b28: 0x6ca4a020, 0x36b29: 0x6ca4a220, 0x36b2a: 0x6ca4a420, 0x36b2b: 0x6ca4a620, + 0x36b2c: 0x6cd2d020, 0x36b2d: 0x6cd2d220, 0x36b2e: 0x6cd2d420, 0x36b2f: 0x6cd2d620, + 0x36b30: 0x6cd2d820, 0x36b31: 0x6cd2da20, 0x36b32: 0x6cd2dc20, 0x36b33: 0x6cd2de20, + 0x36b34: 0x6cd2e020, 0x36b35: 0x6cd2e220, 0x36b36: 0x6cd2e420, 0x36b37: 0x6cd2e620, + 0x36b38: 0x6cd2e820, 0x36b39: 0x6d00c220, 0x36b3a: 0x6d00c420, 0x36b3b: 0x6d00c620, + 0x36b3c: 0x6d00c820, 0x36b3d: 0x6d00ca20, 0x36b3e: 0x6d00cc20, 0x36b3f: 0x6d00ce20, + // Block 0xdad, offset 0x36b40 + 0x36b40: 0x6d00d020, 0x36b41: 0x6d00d220, 0x36b42: 0x6d00d420, 0x36b43: 0x6d00d620, + 0x36b44: 0x6d00d820, 0x36b45: 0x6d00da20, 0x36b46: 0x6d00dc20, 0x36b47: 0x6d00de20, + 0x36b48: 0x6d2eac20, 0x36b49: 0x6d2eae20, 0x36b4a: 0x6d2eb020, 0x36b4b: 0x6d2eb220, + 0x36b4c: 0x6d2eb420, 0x36b4d: 0x6d2eb620, 0x36b4e: 0x6d2eb820, 0x36b4f: 0x6d2eba20, + 0x36b50: 0x6d2ebc20, 0x36b51: 0x6d2ebe20, 0x36b52: 0x6d2ec020, 0x36b53: 0x6d2ec220, + 0x36b54: 0x6d5be820, 0x36b55: 0x6d5bea20, 0x36b56: 0x6d5bec20, 0x36b57: 0x6d5bee20, + 0x36b58: 0x6d5bf020, 0x36b59: 0x6d5bf220, 0x36b5a: 0x6d5bf420, 0x36b5b: 0x6d865a20, + 0x36b5c: 0x6d865c20, 0x36b5d: 0x6d865e20, 0x36b5e: 0x6d866020, 0x36b5f: 0x6d866220, + 0x36b60: 0x6dab0820, 0x36b61: 0x6dab0a20, 0x36b62: 0x6dab0c20, 0x36b63: 0x6dab0e20, + 0x36b64: 0x6dab1020, 0x36b65: 0x6dab1220, 0x36b66: 0x6dab1420, 0x36b67: 0x6dcb8a20, + 0x36b68: 0x6dcb8c20, 0x36b69: 0x6dcb8e20, 0x36b6a: 0x6dcb9020, 0x36b6b: 0x6de6e020, + 0x36b6c: 0x6de6e220, 0x36b6d: 0x6de6e420, 0x36b6e: 0x6de6e620, 0x36b6f: 0x6de6e820, + 0x36b70: 0x6de6ea20, 0x36b71: 0x6de6ec20, 0x36b72: 0x6de6ee20, 0x36b73: 0x6de6f020, + 0x36b74: 0x6dfd7820, 0x36b75: 0x6dfd7a20, 0x36b76: 0x6dfd7c20, 0x36b77: 0x6dfd7e20, + 0x36b78: 0x6e104820, 0x36b79: 0x6e104a20, 0x36b7a: 0x6e104c20, 0x36b7b: 0x6e1efa20, + 0x36b7c: 0x6e1efc20, 0x36b7d: 0x6e1efe20, 0x36b7e: 0x6e2a5e20, 0x36b7f: 0x6e2a6020, + // Block 0xdae, offset 0x36b80 + 0x36b80: 0x6e32fe20, 0x36b81: 0x6e330020, 0x36b82: 0x6e330220, 0x36b83: 0x6e330420, + 0x36b84: 0x6e393220, 0x36b85: 0x6e443c20, 0x36b86: 0x6c250820, 0x36b87: 0x6c250a20, + 0x36b88: 0x6c3c5820, 0x36b89: 0x6c3c5a20, 0x36b8a: 0x6c3c5c20, 0x36b8b: 0x6c3c5e20, + 0x36b8c: 0x6c3c6020, 0x36b8d: 0x6c3c6220, 0x36b8e: 0x6c593e20, 0x36b8f: 0x6c594020, + 0x36b90: 0x6c594220, 0x36b91: 0x6c594420, 0x36b92: 0x6c594620, 0x36b93: 0x6c594820, + 0x36b94: 0x6c594a20, 0x36b95: 0x6c7bdc20, 0x36b96: 0x6c7bde20, 0x36b97: 0x6c7be020, + 0x36b98: 0x6c7be220, 0x36b99: 0x6c7be420, 0x36b9a: 0x6c7be620, 0x36b9b: 0x6c7be820, + 0x36b9c: 0x6c7bea20, 0x36b9d: 0x6c7bec20, 0x36b9e: 0x6c7bee20, 0x36b9f: 0x6ca4ae20, + 0x36ba0: 0x6ca4b020, 0x36ba1: 0x6ca4b220, 0x36ba2: 0x6ca4b420, 0x36ba3: 0x6ca4b620, + 0x36ba4: 0x6ca4b820, 0x36ba5: 0x6ca4ba20, 0x36ba6: 0x6ca4bc20, 0x36ba7: 0x6cd2f420, + 0x36ba8: 0x6cd2f620, 0x36ba9: 0x6cd2f820, 0x36baa: 0x6cd2fa20, 0x36bab: 0x6cd2fc20, + 0x36bac: 0x6cd2fe20, 0x36bad: 0x6cd30020, 0x36bae: 0x6cd30220, 0x36baf: 0x6d00ec20, + 0x36bb0: 0x6cd30420, 0x36bb1: 0x6cd30620, 0x36bb2: 0x6cd30820, 0x36bb3: 0x6d00ee20, + 0x36bb4: 0x6d00f020, 0x36bb5: 0x6d00f220, 0x36bb6: 0x6d00f420, 0x36bb7: 0x6d00f620, + 0x36bb8: 0x6d00f820, 0x36bb9: 0x6d00fa20, 0x36bba: 0x6d00fc20, 0x36bbb: 0x6d00fe20, + 0x36bbc: 0x6d010020, 0x36bbd: 0x6d010220, 0x36bbe: 0x6d010420, 0x36bbf: 0x6d010620, + // Block 0xdaf, offset 0x36bc0 + 0x36bc0: 0x6d2ed420, 0x36bc1: 0x6d2ed620, 0x36bc2: 0x6d2ed820, 0x36bc3: 0x6d2eda20, + 0x36bc4: 0x6d2edc20, 0x36bc5: 0x6d2ede20, 0x36bc6: 0x6d2ee020, 0x36bc7: 0x6d2ee220, + 0x36bc8: 0x6d2ee420, 0x36bc9: 0x6d2ee620, 0x36bca: 0x6d2ee820, 0x36bcb: 0x6d2eea20, + 0x36bcc: 0x6d2eec20, 0x36bcd: 0x6d5bfe20, 0x36bce: 0x6d5c0020, 0x36bcf: 0x6d5c0220, + 0x36bd0: 0x6d5c0420, 0x36bd1: 0x6d5c0620, 0x36bd2: 0x6d5c0820, 0x36bd3: 0x6d5c0a20, + 0x36bd4: 0x6d866820, 0x36bd5: 0x6d866a20, 0x36bd6: 0x6d866c20, 0x36bd7: 0x6d866e20, + 0x36bd8: 0x6d867020, 0x36bd9: 0x6d867220, 0x36bda: 0x6d867420, 0x36bdb: 0x6d867620, + 0x36bdc: 0x6d867820, 0x36bdd: 0x6d867a20, 0x36bde: 0x6d867c20, 0x36bdf: 0x6dab1820, + 0x36be0: 0x6dab1a20, 0x36be1: 0x6dab1c20, 0x36be2: 0x6dcb9620, 0x36be3: 0x6dcb9820, + 0x36be4: 0x6dcb9a20, 0x36be5: 0x6dcb9c20, 0x36be6: 0x6dcb9e20, 0x36be7: 0x6dcba020, + 0x36be8: 0x6dcba220, 0x36be9: 0x6dcba420, 0x36bea: 0x6dcba620, 0x36beb: 0x6de6f220, + 0x36bec: 0x6de6f420, 0x36bed: 0x6de6f620, 0x36bee: 0x6de6f820, 0x36bef: 0x6dfd8420, + 0x36bf0: 0x6dfd8620, 0x36bf1: 0x6dfd8820, 0x36bf2: 0x6dfd8a20, 0x36bf3: 0x6dfd8c20, + 0x36bf4: 0x6e105020, 0x36bf5: 0x6e105220, 0x36bf6: 0x6e1f0220, 0x36bf7: 0x6e1f0420, + 0x36bf8: 0x6e1f0620, 0x36bf9: 0x6e330620, 0x36bfa: 0x6e330820, 0x36bfb: 0x6e3c7e20, + 0x36bfc: 0x6e3fda20, 0x36bfd: 0x6e450420, 0x36bfe: 0x6e46a420, 0x36bff: 0x6c251020, + // Block 0xdb0, offset 0x36c00 + 0x36c00: 0x6c251220, 0x36c01: 0x6c3c6a20, 0x36c02: 0x6c3c6c20, 0x36c03: 0x6c3c6e20, + 0x36c04: 0x6c3c7020, 0x36c05: 0x6c3c7220, 0x36c06: 0x6c595e20, 0x36c07: 0x6c596020, + 0x36c08: 0x6c596220, 0x36c09: 0x6c596420, 0x36c0a: 0x6c596620, 0x36c0b: 0x6c596820, + 0x36c0c: 0x6c596a20, 0x36c0d: 0x6c596c20, 0x36c0e: 0x6c7c0820, 0x36c0f: 0x6c7c0a20, + 0x36c10: 0x6c7c0c20, 0x36c11: 0x6c7c0e20, 0x36c12: 0x6c7c1020, 0x36c13: 0x6c7c1220, + 0x36c14: 0x6c7c1420, 0x36c15: 0x6c7c1620, 0x36c16: 0x6c7c1820, 0x36c17: 0x6c7c1a20, + 0x36c18: 0x6c7c1c20, 0x36c19: 0x6c7c1e20, 0x36c1a: 0x6c7c2020, 0x36c1b: 0x6c7c2220, + 0x36c1c: 0x6c7c2420, 0x36c1d: 0x6c7c2620, 0x36c1e: 0x6ca4d220, 0x36c1f: 0x6ca4d420, + 0x36c20: 0x6ca4d620, 0x36c21: 0x6ca4d820, 0x36c22: 0x6ca4da20, 0x36c23: 0x6ca4dc20, + 0x36c24: 0x6ca4de20, 0x36c25: 0x6ca4e020, 0x36c26: 0x6ca4e220, 0x36c27: 0x6ca4e420, + 0x36c28: 0x6ca4e620, 0x36c29: 0x6ca4e820, 0x36c2a: 0x6ca4ea20, 0x36c2b: 0x6c7c2820, + 0x36c2c: 0x6cd31220, 0x36c2d: 0x6cd31420, 0x36c2e: 0x6cd31620, 0x36c2f: 0x6cd31820, + 0x36c30: 0x6cd31a20, 0x36c31: 0x6cd31c20, 0x36c32: 0x6cd31e20, 0x36c33: 0x6cd32020, + 0x36c34: 0x6cd32220, 0x36c35: 0x6cd32420, 0x36c36: 0x6cd32620, 0x36c37: 0x6d011220, + 0x36c38: 0x6d011420, 0x36c39: 0x6d011620, 0x36c3a: 0x6d011820, 0x36c3b: 0x6d011a20, + 0x36c3c: 0x6d011c20, 0x36c3d: 0x6d011e20, 0x36c3e: 0x6d012020, 0x36c3f: 0x6d012220, + // Block 0xdb1, offset 0x36c40 + 0x36c40: 0x6d012420, 0x36c41: 0x6d012620, 0x36c42: 0x6d012820, 0x36c43: 0x6d2efc20, + 0x36c44: 0x6d2efe20, 0x36c45: 0x6d2f0020, 0x36c46: 0x6d2f0220, 0x36c47: 0x6d5c0e20, + 0x36c48: 0x6d5c1020, 0x36c49: 0x6d5c1220, 0x36c4a: 0x6d5c1420, 0x36c4b: 0x6d5c1620, + 0x36c4c: 0x6d5c1820, 0x36c4d: 0x6d5c1a20, 0x36c4e: 0x6d5c1c20, 0x36c4f: 0x6d5c1e20, + 0x36c50: 0x6d5c2020, 0x36c51: 0x6d5c2220, 0x36c52: 0x6d5c2420, 0x36c53: 0x6d868820, + 0x36c54: 0x6d868a20, 0x36c55: 0x6d868c20, 0x36c56: 0x6d868e20, 0x36c57: 0x6d869020, + 0x36c58: 0x6d869220, 0x36c59: 0x6d869420, 0x36c5a: 0x6d869620, 0x36c5b: 0x6d869820, + 0x36c5c: 0x6d869a20, 0x36c5d: 0x6d869c20, 0x36c5e: 0x6d869e20, 0x36c5f: 0x6d86a020, + 0x36c60: 0x6d86a220, 0x36c61: 0x6d86a420, 0x36c62: 0x6d86a620, 0x36c63: 0x6d86a820, + 0x36c64: 0x6d86aa20, 0x36c65: 0x6dab2620, 0x36c66: 0x6dab2820, 0x36c67: 0x6dab2a20, + 0x36c68: 0x6dab2c20, 0x36c69: 0x6dab2e20, 0x36c6a: 0x6dab3020, 0x36c6b: 0x6dab3220, + 0x36c6c: 0x6dab3420, 0x36c6d: 0x6dab3620, 0x36c6e: 0x6dab3820, 0x36c6f: 0x6dab3a20, + 0x36c70: 0x6dab3c20, 0x36c71: 0x6dab3e20, 0x36c72: 0x6dab4020, 0x36c73: 0x6da02a20, + 0x36c74: 0x6dab4220, 0x36c75: 0x6dab4420, 0x36c76: 0x6dab4620, 0x36c77: 0x6dab4820, + 0x36c78: 0x6dcbac20, 0x36c79: 0x6dcbae20, 0x36c7a: 0x6dcbb020, 0x36c7b: 0x6de6fc20, + 0x36c7c: 0x6dcbb220, 0x36c7d: 0x6dcbb420, 0x36c7e: 0x6dcbb620, 0x36c7f: 0x6dcbb820, + // Block 0xdb2, offset 0x36c80 + 0x36c80: 0x6dcbba20, 0x36c81: 0x6de6fe20, 0x36c82: 0x6de70020, 0x36c83: 0x6de70220, + 0x36c84: 0x6de70420, 0x36c85: 0x6de70620, 0x36c86: 0x6de70820, 0x36c87: 0x6dfd9020, + 0x36c88: 0x6dfd9220, 0x36c89: 0x6dfd9420, 0x36c8a: 0x6dfd9620, 0x36c8b: 0x6dfd9820, + 0x36c8c: 0x6dfd9a20, 0x36c8d: 0x6dfd9c20, 0x36c8e: 0x6dfd9e20, 0x36c8f: 0x6dfda020, + 0x36c90: 0x6dfda220, 0x36c91: 0x6dfda420, 0x36c92: 0x6e105620, 0x36c93: 0x6e1f0a20, + 0x36c94: 0x6e1f0c20, 0x36c95: 0x6e1f0e20, 0x36c96: 0x6e1f1020, 0x36c97: 0x6e1f1220, + 0x36c98: 0x6e2a6220, 0x36c99: 0x6e2a6420, 0x36c9a: 0x6e330a20, 0x36c9b: 0x6e330c20, + 0x36c9c: 0x6e330e20, 0x36c9d: 0x6e331020, 0x36c9e: 0x6e2a6620, 0x36c9f: 0x6e393420, + 0x36ca0: 0x6e393620, 0x36ca1: 0x6e3d8820, 0x36ca2: 0x6e452c20, 0x36ca3: 0x6e468820, + 0x36ca4: 0x6c13e820, 0x36ca5: 0x6c13ea20, 0x36ca6: 0x6c251a20, 0x36ca7: 0x6c251c20, + 0x36ca8: 0x6c251e20, 0x36ca9: 0x6c252020, 0x36caa: 0x6c252220, 0x36cab: 0x6c252420, + 0x36cac: 0x6c252620, 0x36cad: 0x6c252820, 0x36cae: 0x6c252a20, 0x36caf: 0x6c252c20, + 0x36cb0: 0x6c252e20, 0x36cb1: 0x6c253020, 0x36cb2: 0x6c3c8c20, 0x36cb3: 0x6c3c8e20, + 0x36cb4: 0x6c3c9020, 0x36cb5: 0x6c3c9220, 0x36cb6: 0x6c3c9420, 0x36cb7: 0x6c3c9620, + 0x36cb8: 0x6c3c9820, 0x36cb9: 0x6c3c9a20, 0x36cba: 0x6c3c9c20, 0x36cbb: 0x6c3c9e20, + 0x36cbc: 0x6c3ca020, 0x36cbd: 0x6c3ca220, 0x36cbe: 0x6c3ca420, 0x36cbf: 0x6c3ca620, + // Block 0xdb3, offset 0x36cc0 + 0x36cc0: 0x6c3ca820, 0x36cc1: 0x6c3caa20, 0x36cc2: 0x6c3cac20, 0x36cc3: 0x6c59b820, + 0x36cc4: 0x6c59ba20, 0x36cc5: 0x6c59bc20, 0x36cc6: 0x6c59be20, 0x36cc7: 0x6c59c020, + 0x36cc8: 0x6c59c220, 0x36cc9: 0x6c59c420, 0x36cca: 0x6c59c620, 0x36ccb: 0x6c59c820, + 0x36ccc: 0x6c59ca20, 0x36ccd: 0x6c59cc20, 0x36cce: 0x6c59ce20, 0x36ccf: 0x6c59d020, + 0x36cd0: 0x6c59d220, 0x36cd1: 0x6c59d420, 0x36cd2: 0x6c59d620, 0x36cd3: 0x6c59d820, + 0x36cd4: 0x6c59da20, 0x36cd5: 0x6c59dc20, 0x36cd6: 0x6c59de20, 0x36cd7: 0x6c59e020, + 0x36cd8: 0x6c59e220, 0x36cd9: 0x6c59e420, 0x36cda: 0x6c59e620, 0x36cdb: 0x6c59e820, + 0x36cdc: 0x6c59ea20, 0x36cdd: 0x6c59ec20, 0x36cde: 0x6c59ee20, 0x36cdf: 0x6c59f020, + 0x36ce0: 0x6c59f220, 0x36ce1: 0x6c59f420, 0x36ce2: 0x6c59f620, 0x36ce3: 0x6c59f820, + 0x36ce4: 0x6c59fa20, 0x36ce5: 0x6c59fc20, 0x36ce6: 0x6c59fe20, 0x36ce7: 0x6c5a0020, + 0x36ce8: 0x6c5a0220, 0x36ce9: 0x6c5a0420, 0x36cea: 0x6c5a0620, 0x36ceb: 0x6c5a0820, + 0x36cec: 0x6c5a0a20, 0x36ced: 0x6c5a0c20, 0x36cee: 0x6c5a0e20, 0x36cef: 0x6c5a1020, + 0x36cf0: 0x6c5a1220, 0x36cf1: 0x6c7c7a20, 0x36cf2: 0x6c7c7c20, 0x36cf3: 0x6c7c7e20, + 0x36cf4: 0x6c7c8020, 0x36cf5: 0x6c7c8220, 0x36cf6: 0x6c7c8420, 0x36cf7: 0x6c7c8620, + 0x36cf8: 0x6c7c8820, 0x36cf9: 0x6c7c8a20, 0x36cfa: 0x6c7c8c20, 0x36cfb: 0x6c7c8e20, + 0x36cfc: 0x6c7c9020, 0x36cfd: 0x6c7c9220, 0x36cfe: 0x6c7c9420, 0x36cff: 0x6c7c9620, + // Block 0xdb4, offset 0x36d00 + 0x36d00: 0x6c7c9820, 0x36d01: 0x6c7c9a20, 0x36d02: 0x6c7c9c20, 0x36d03: 0x6c7c9e20, + 0x36d04: 0x6c7ca020, 0x36d05: 0x6c7ca220, 0x36d06: 0x6c7ca420, 0x36d07: 0x6c7ca620, + 0x36d08: 0x6c7ca820, 0x36d09: 0x6c7caa20, 0x36d0a: 0x6c7cac20, 0x36d0b: 0x6c7cae20, + 0x36d0c: 0x6c7cb020, 0x36d0d: 0x6c7cb220, 0x36d0e: 0x6c7cb420, 0x36d0f: 0x6c7cb620, + 0x36d10: 0x6c7cb820, 0x36d11: 0x6c7cba20, 0x36d12: 0x6c7cbc20, 0x36d13: 0x6c7cbe20, + 0x36d14: 0x6c7cc020, 0x36d15: 0x6c7cc220, 0x36d16: 0x6c7cc420, 0x36d17: 0x6c7cc620, + 0x36d18: 0x6c7cc820, 0x36d19: 0x6c7cca20, 0x36d1a: 0x6ca52a20, 0x36d1b: 0x6ca52c20, + 0x36d1c: 0x6ca52e20, 0x36d1d: 0x6ca53020, 0x36d1e: 0x6ca53220, 0x36d1f: 0x6ca53420, + 0x36d20: 0x6ca53620, 0x36d21: 0x6ca53820, 0x36d22: 0x6ca53a20, 0x36d23: 0x6ca53c20, + 0x36d24: 0x6ca53e20, 0x36d25: 0x6ca54020, 0x36d26: 0x6ca54220, 0x36d27: 0x6ca54420, + 0x36d28: 0x6ca54620, 0x36d29: 0x6ca54820, 0x36d2a: 0x6ca54a20, 0x36d2b: 0x6ca54c20, + 0x36d2c: 0x6ca54e20, 0x36d2d: 0x6ca55020, 0x36d2e: 0x6ca55220, 0x36d2f: 0x6ca55420, + 0x36d30: 0x6ca55620, 0x36d31: 0x6ca55820, 0x36d32: 0x6ca55a20, 0x36d33: 0x6ca55c20, + 0x36d34: 0x6ca55e20, 0x36d35: 0x6ca56020, 0x36d36: 0x6ca56220, 0x36d37: 0x6ca56420, + 0x36d38: 0x6ca56620, 0x36d39: 0x6ca56820, 0x36d3a: 0x6ca56a20, 0x36d3b: 0x6ca56c20, + 0x36d3c: 0x6ca56e20, 0x36d3d: 0x6ca57020, 0x36d3e: 0x6ca57220, 0x36d3f: 0x6ca57420, + // Block 0xdb5, offset 0x36d40 + 0x36d40: 0x6ca57620, 0x36d41: 0x6ca57820, 0x36d42: 0x6ca57a20, 0x36d43: 0x6ca57c20, + 0x36d44: 0x6ca57e20, 0x36d45: 0x6ca58020, 0x36d46: 0x6ca58220, 0x36d47: 0x6ca58420, + 0x36d48: 0x6ca58620, 0x36d49: 0x6ca58820, 0x36d4a: 0x6cd37220, 0x36d4b: 0x6cd37420, + 0x36d4c: 0x6cd37620, 0x36d4d: 0x6cd37820, 0x36d4e: 0x6cd37a20, 0x36d4f: 0x6cd37c20, + 0x36d50: 0x6cd37e20, 0x36d51: 0x6cd38020, 0x36d52: 0x6cd38220, 0x36d53: 0x6cd38420, + 0x36d54: 0x6cd38620, 0x36d55: 0x6cd38820, 0x36d56: 0x6cd38a20, 0x36d57: 0x6cd38c20, + 0x36d58: 0x6cd38e20, 0x36d59: 0x6cd39020, 0x36d5a: 0x6cd39220, 0x36d5b: 0x6cd39420, + 0x36d5c: 0x6cd39620, 0x36d5d: 0x6cd39820, 0x36d5e: 0x6cd39a20, 0x36d5f: 0x6cd39c20, + 0x36d60: 0x6cd39e20, 0x36d61: 0x6cd3a020, 0x36d62: 0x6cd3a220, 0x36d63: 0x6cd3a420, + 0x36d64: 0x6cd3a620, 0x36d65: 0x6cd3a820, 0x36d66: 0x6cd3aa20, 0x36d67: 0x6cd3ac20, + 0x36d68: 0x6cd3ae20, 0x36d69: 0x6cd3b020, 0x36d6a: 0x6cd3b220, 0x36d6b: 0x6cd3b420, + 0x36d6c: 0x6cd3b620, 0x36d6d: 0x6cd3b820, 0x36d6e: 0x6cd3ba20, 0x36d6f: 0x6cd3bc20, + 0x36d70: 0x6cd3be20, 0x36d71: 0x6cd3c020, 0x36d72: 0x6cd3c220, 0x36d73: 0x6cd3c420, + 0x36d74: 0x6cd3c620, 0x36d75: 0x6cd3c820, 0x36d76: 0x6cd3ca20, 0x36d77: 0x6cd3cc20, + 0x36d78: 0x6cd3ce20, 0x36d79: 0x6cd3d020, 0x36d7a: 0x6cd3d220, 0x36d7b: 0x6cd3d420, + 0x36d7c: 0x6cd3d620, 0x36d7d: 0x6cd3d820, 0x36d7e: 0x6cd3da20, 0x36d7f: 0x6cd3dc20, + // Block 0xdb6, offset 0x36d80 + 0x36d80: 0x6cd3de20, 0x36d81: 0x6cd3e020, 0x36d82: 0x6cd3e220, 0x36d83: 0x6cd3e420, + 0x36d84: 0x6cd3e620, 0x36d85: 0x6d017e20, 0x36d86: 0x6cd3e820, 0x36d87: 0x6cd3ea20, + 0x36d88: 0x6cd3ec20, 0x36d89: 0x6d018020, 0x36d8a: 0x6d018220, 0x36d8b: 0x6d018420, + 0x36d8c: 0x6d018620, 0x36d8d: 0x6d018820, 0x36d8e: 0x6d018a20, 0x36d8f: 0x6d018c20, + 0x36d90: 0x6d018e20, 0x36d91: 0x6d019020, 0x36d92: 0x6d019220, 0x36d93: 0x6d019420, + 0x36d94: 0x6d019620, 0x36d95: 0x6d019820, 0x36d96: 0x6d019a20, 0x36d97: 0x6d019c20, + 0x36d98: 0x6d019e20, 0x36d99: 0x6d01a020, 0x36d9a: 0x6d01a220, 0x36d9b: 0x6d01a420, + 0x36d9c: 0x6d01a620, 0x36d9d: 0x6d01a820, 0x36d9e: 0x6d01aa20, 0x36d9f: 0x6d01ac20, + 0x36da0: 0x6d01ae20, 0x36da1: 0x6d01b020, 0x36da2: 0x6d01b220, 0x36da3: 0x6d01b420, + 0x36da4: 0x6d01b620, 0x36da5: 0x6d01b820, 0x36da6: 0x6d01ba20, 0x36da7: 0x6d01bc20, + 0x36da8: 0x6d01be20, 0x36da9: 0x6d01c020, 0x36daa: 0x6d01c220, 0x36dab: 0x6cd3ee20, + 0x36dac: 0x6d01c420, 0x36dad: 0x6d01c620, 0x36dae: 0x6d01c820, 0x36daf: 0x6d01ca20, + 0x36db0: 0x6d01cc20, 0x36db1: 0x6d01ce20, 0x36db2: 0x6d01d020, 0x36db3: 0x6d01d220, + 0x36db4: 0x6cf5b420, 0x36db5: 0x6d01d420, 0x36db6: 0x6d01d620, 0x36db7: 0x6d01d820, + 0x36db8: 0x6d01da20, 0x36db9: 0x6d01dc20, 0x36dba: 0x6d01de20, 0x36dbb: 0x6d01e020, + 0x36dbc: 0x6d01e220, 0x36dbd: 0x6d01e420, 0x36dbe: 0x6d01e620, 0x36dbf: 0x6d01e820, + // Block 0xdb7, offset 0x36dc0 + 0x36dc0: 0x6d01ea20, 0x36dc1: 0x6d01ec20, 0x36dc2: 0x6d2f5220, 0x36dc3: 0x6d2f5420, + 0x36dc4: 0x6d2f5620, 0x36dc5: 0x6d2f5820, 0x36dc6: 0x6d2f5a20, 0x36dc7: 0x6d2f5c20, + 0x36dc8: 0x6d2f5e20, 0x36dc9: 0x6d2f6020, 0x36dca: 0x6d2f6220, 0x36dcb: 0x6d2f6420, + 0x36dcc: 0x6d2f6620, 0x36dcd: 0x6d2f6820, 0x36dce: 0x6d2f6a20, 0x36dcf: 0x6d2f6c20, + 0x36dd0: 0x6d2f6e20, 0x36dd1: 0x6d2f7020, 0x36dd2: 0x6d2f7220, 0x36dd3: 0x6d2f7420, + 0x36dd4: 0x6d2f7620, 0x36dd5: 0x6d2f7820, 0x36dd6: 0x6d2f7a20, 0x36dd7: 0x6d2f7c20, + 0x36dd8: 0x6d2f7e20, 0x36dd9: 0x6d2f8020, 0x36dda: 0x6d2f8220, 0x36ddb: 0x6d2f8420, + 0x36ddc: 0x6d2f8620, 0x36ddd: 0x6d2f8820, 0x36dde: 0x6d2f8a20, 0x36ddf: 0x6d2f8c20, + 0x36de0: 0x6d2f8e20, 0x36de1: 0x6d2f9020, 0x36de2: 0x6d2f9220, 0x36de3: 0x6d2f9420, + 0x36de4: 0x6d2f9620, 0x36de5: 0x6d2f9820, 0x36de6: 0x6d2f9a20, 0x36de7: 0x6d2f9c20, + 0x36de8: 0x6d2f9e20, 0x36de9: 0x6d2fa020, 0x36dea: 0x6d2fa220, 0x36deb: 0x6d2fa420, + 0x36dec: 0x6d2fa620, 0x36ded: 0x6d2fa820, 0x36dee: 0x6d2faa20, 0x36def: 0x6d2fac20, + 0x36df0: 0x6d2fae20, 0x36df1: 0x6d2fb020, 0x36df2: 0x6d2fb220, 0x36df3: 0x6d2fb420, + 0x36df4: 0x6d2fb620, 0x36df5: 0x6d2fb820, 0x36df6: 0x6d2fba20, 0x36df7: 0x6d2fbc20, + 0x36df8: 0x6d2fbe20, 0x36df9: 0x6d2fc020, 0x36dfa: 0x6d2fc220, 0x36dfb: 0x6d2fc420, + 0x36dfc: 0x6d5c5820, 0x36dfd: 0x6d5c5a20, 0x36dfe: 0x6d5c5c20, 0x36dff: 0x6d5c5e20, + // Block 0xdb8, offset 0x36e00 + 0x36e00: 0x6d5c6020, 0x36e01: 0x6d5c6220, 0x36e02: 0x6d5c6420, 0x36e03: 0x6d5c6620, + 0x36e04: 0x6d5c6820, 0x36e05: 0x6d5c6a20, 0x36e06: 0x6d5c6c20, 0x36e07: 0x6d5c6e20, + 0x36e08: 0x6d5c7020, 0x36e09: 0x6d5c7220, 0x36e0a: 0x6d5c7420, 0x36e0b: 0x6d5c7620, + 0x36e0c: 0x6d5c7820, 0x36e0d: 0x6d5c7a20, 0x36e0e: 0x6d5c7c20, 0x36e0f: 0x6d5c7e20, + 0x36e10: 0x6d5c8020, 0x36e11: 0x6d5c8220, 0x36e12: 0x6d5c8420, 0x36e13: 0x6d5c8620, + 0x36e14: 0x6d5c8820, 0x36e15: 0x6d5c8a20, 0x36e16: 0x6d5c8c20, 0x36e17: 0x6d5c8e20, + 0x36e18: 0x6d5c9020, 0x36e19: 0x6d5c9220, 0x36e1a: 0x6d5c9420, 0x36e1b: 0x6d5c9620, + 0x36e1c: 0x6d5c9820, 0x36e1d: 0x6d5c9a20, 0x36e1e: 0x6d5c9c20, 0x36e1f: 0x6d5c9e20, + 0x36e20: 0x6d5ca020, 0x36e21: 0x6d5ca220, 0x36e22: 0x6d5ca420, 0x36e23: 0x6d5ca620, + 0x36e24: 0x6d5ca820, 0x36e25: 0x6d5caa20, 0x36e26: 0x6d5cac20, 0x36e27: 0x6d5cae20, + 0x36e28: 0x6d5cb020, 0x36e29: 0x6d5cb220, 0x36e2a: 0x6d5cb420, 0x36e2b: 0x6d5cb620, + 0x36e2c: 0x6d5cb820, 0x36e2d: 0x6d5cba20, 0x36e2e: 0x6d5cbc20, 0x36e2f: 0x6d5cbe20, + 0x36e30: 0x6d5cc020, 0x36e31: 0x6d5cc220, 0x36e32: 0x6d5cc420, 0x36e33: 0x6d5cc620, + 0x36e34: 0x6d86e020, 0x36e35: 0x6d86e220, 0x36e36: 0x6d86e420, 0x36e37: 0x6d86e620, + 0x36e38: 0x6d86e820, 0x36e39: 0x6d86ea20, 0x36e3a: 0x6d86ec20, 0x36e3b: 0x6d86ee20, + 0x36e3c: 0x6d86f020, 0x36e3d: 0x6d86f220, 0x36e3e: 0x6d86f420, 0x36e3f: 0x6d86f620, + // Block 0xdb9, offset 0x36e40 + 0x36e40: 0x6d86f820, 0x36e41: 0x6d86fa20, 0x36e42: 0x6d86fc20, 0x36e43: 0x6d86fe20, + 0x36e44: 0x6d870020, 0x36e45: 0x6d870220, 0x36e46: 0x6d870420, 0x36e47: 0x6d5cc820, + 0x36e48: 0x6d870620, 0x36e49: 0x6d870820, 0x36e4a: 0x6d870a20, 0x36e4b: 0x6d870c20, + 0x36e4c: 0x6d870e20, 0x36e4d: 0x6d871020, 0x36e4e: 0x6d871220, 0x36e4f: 0x6d871420, + 0x36e50: 0x6d871620, 0x36e51: 0x6d871820, 0x36e52: 0x6d871a20, 0x36e53: 0x6d871c20, + 0x36e54: 0x6d871e20, 0x36e55: 0x6d872020, 0x36e56: 0x6d872220, 0x36e57: 0x6d872420, + 0x36e58: 0x6d872620, 0x36e59: 0x6d872820, 0x36e5a: 0x6d872a20, 0x36e5b: 0x6d872c20, + 0x36e5c: 0x6d872e20, 0x36e5d: 0x6d873020, 0x36e5e: 0x6d873220, 0x36e5f: 0x6d873420, + 0x36e60: 0x6d873620, 0x36e61: 0x6d873820, 0x36e62: 0x6d873a20, 0x36e63: 0x6d873c20, + 0x36e64: 0x6d873e20, 0x36e65: 0x6d874020, 0x36e66: 0x6d874220, 0x36e67: 0x6d874420, + 0x36e68: 0x6d874620, 0x36e69: 0x6d874820, 0x36e6a: 0x6dab8620, 0x36e6b: 0x6dab8820, + 0x36e6c: 0x6dab8a20, 0x36e6d: 0x6dab8c20, 0x36e6e: 0x6dab8e20, 0x36e6f: 0x6dab9020, + 0x36e70: 0x6dab9220, 0x36e71: 0x6dab9420, 0x36e72: 0x6dab9620, 0x36e73: 0x6dab9820, + 0x36e74: 0x6dab9a20, 0x36e75: 0x6dab9c20, 0x36e76: 0x6dab9e20, 0x36e77: 0x6daba020, + 0x36e78: 0x6daba220, 0x36e79: 0x6daba420, 0x36e7a: 0x6daba620, 0x36e7b: 0x6daba820, + 0x36e7c: 0x6dabaa20, 0x36e7d: 0x6dabac20, 0x36e7e: 0x6dabae20, 0x36e7f: 0x6dabb020, + // Block 0xdba, offset 0x36e80 + 0x36e80: 0x6dabb220, 0x36e81: 0x6dabb420, 0x36e82: 0x6dabb620, 0x36e83: 0x6dabb820, + 0x36e84: 0x6dabba20, 0x36e85: 0x6dabbc20, 0x36e86: 0x6dabbe20, 0x36e87: 0x6dabc020, + 0x36e88: 0x6dabc220, 0x36e89: 0x6dabc420, 0x36e8a: 0x6dabc620, 0x36e8b: 0x6dabc820, + 0x36e8c: 0x6dabca20, 0x36e8d: 0x6dabcc20, 0x36e8e: 0x6dabce20, 0x36e8f: 0x6dabd020, + 0x36e90: 0x6dabd220, 0x36e91: 0x6dabd420, 0x36e92: 0x6dabd620, 0x36e93: 0x6dabd820, + 0x36e94: 0x6dabda20, 0x36e95: 0x6dabdc20, 0x36e96: 0x6d874a20, 0x36e97: 0x6dabde20, + 0x36e98: 0x6dcbe220, 0x36e99: 0x6dcbe420, 0x36e9a: 0x6dcbe620, 0x36e9b: 0x6dcbe820, + 0x36e9c: 0x6dcbea20, 0x36e9d: 0x6dcbec20, 0x36e9e: 0x6dcbee20, 0x36e9f: 0x6dcbf020, + 0x36ea0: 0x6dcbf220, 0x36ea1: 0x6dcbf420, 0x36ea2: 0x6dcbf620, 0x36ea3: 0x6dcbf820, + 0x36ea4: 0x6dcbfa20, 0x36ea5: 0x6dcbfc20, 0x36ea6: 0x6dcbfe20, 0x36ea7: 0x6dcc0020, + 0x36ea8: 0x6dcc0220, 0x36ea9: 0x6dcc0420, 0x36eaa: 0x6dcc0620, 0x36eab: 0x6dcc0820, + 0x36eac: 0x6dcc0a20, 0x36ead: 0x6dcc0c20, 0x36eae: 0x6dcc0e20, 0x36eaf: 0x6dcc1020, + 0x36eb0: 0x6dcc1220, 0x36eb1: 0x6dcc1420, 0x36eb2: 0x6dcc1620, 0x36eb3: 0x6dcc1820, + 0x36eb4: 0x6dcc1a20, 0x36eb5: 0x6dcc1c20, 0x36eb6: 0x6dcc1e20, 0x36eb7: 0x6dcc2020, + 0x36eb8: 0x6dcc2220, 0x36eb9: 0x6dcc2420, 0x36eba: 0x6dcc2620, 0x36ebb: 0x6dcc2820, + 0x36ebc: 0x6dcc2a20, 0x36ebd: 0x6dcc2c20, 0x36ebe: 0x6dcc2e20, 0x36ebf: 0x6de71c20, + // Block 0xdbb, offset 0x36ec0 + 0x36ec0: 0x6de71e20, 0x36ec1: 0x6de72020, 0x36ec2: 0x6de72220, 0x36ec3: 0x6de72420, + 0x36ec4: 0x6de72620, 0x36ec5: 0x6de72820, 0x36ec6: 0x6de72a20, 0x36ec7: 0x6de72c20, + 0x36ec8: 0x6de72e20, 0x36ec9: 0x6de73020, 0x36eca: 0x6de73220, 0x36ecb: 0x6de73420, + 0x36ecc: 0x6de73620, 0x36ecd: 0x6de73820, 0x36ece: 0x6de73a20, 0x36ecf: 0x6de73c20, + 0x36ed0: 0x6de73e20, 0x36ed1: 0x6de74020, 0x36ed2: 0x6de74220, 0x36ed3: 0x6de74420, + 0x36ed4: 0x6de74620, 0x36ed5: 0x6df25c20, 0x36ed6: 0x6de74820, 0x36ed7: 0x6de74a20, + 0x36ed8: 0x6de74c20, 0x36ed9: 0x6de74e20, 0x36eda: 0x6dfdb820, 0x36edb: 0x6dfdba20, + 0x36edc: 0x6dfdbc20, 0x36edd: 0x6dfdbe20, 0x36ede: 0x6dfdc020, 0x36edf: 0x6dfdc220, + 0x36ee0: 0x6dfdc420, 0x36ee1: 0x6dfdc620, 0x36ee2: 0x6dfdc820, 0x36ee3: 0x6dfdca20, + 0x36ee4: 0x6dfdcc20, 0x36ee5: 0x6dfdce20, 0x36ee6: 0x6dfdd020, 0x36ee7: 0x6dfdd220, + 0x36ee8: 0x6dfdd420, 0x36ee9: 0x6dfdd620, 0x36eea: 0x6dfdd820, 0x36eeb: 0x6dfdda20, + 0x36eec: 0x6dfddc20, 0x36eed: 0x6e106820, 0x36eee: 0x6e106a20, 0x36eef: 0x6e106c20, + 0x36ef0: 0x6e106e20, 0x36ef1: 0x6e107020, 0x36ef2: 0x6e107220, 0x36ef3: 0x6e107420, + 0x36ef4: 0x6e107620, 0x36ef5: 0x6e107820, 0x36ef6: 0x6e107a20, 0x36ef7: 0x6e107c20, + 0x36ef8: 0x6e107e20, 0x36ef9: 0x6e108020, 0x36efa: 0x6e1f1820, 0x36efb: 0x6e1f1a20, + 0x36efc: 0x6e1f1c20, 0x36efd: 0x6e1f1e20, 0x36efe: 0x6e1f2020, 0x36eff: 0x6e1f2220, + // Block 0xdbc, offset 0x36f00 + 0x36f00: 0x6e1f2420, 0x36f01: 0x6e1f2620, 0x36f02: 0x6e108220, 0x36f03: 0x6e1f2820, + 0x36f04: 0x6e21a620, 0x36f05: 0x6e1f2a20, 0x36f06: 0x6e1f2c20, 0x36f07: 0x6e1f2e20, + 0x36f08: 0x6e2a6e20, 0x36f09: 0x6e2a7020, 0x36f0a: 0x6e2a7220, 0x36f0b: 0x6e2a7420, + 0x36f0c: 0x6e2a7620, 0x36f0d: 0x6e2a7820, 0x36f0e: 0x6e2a7a20, 0x36f0f: 0x6e331820, + 0x36f10: 0x6e331a20, 0x36f11: 0x6e331c20, 0x36f12: 0x6e331e20, 0x36f13: 0x6e393e20, + 0x36f14: 0x6e3d8c20, 0x36f15: 0x6e3d8e20, 0x36f16: 0x6e3d9020, 0x36f17: 0x6e3d9220, + 0x36f18: 0x6e3d9420, 0x36f19: 0x6e408420, 0x36f1a: 0x6e408620, 0x36f1b: 0x6e42ce20, + 0x36f1c: 0x6e444220, 0x36f1d: 0x6c13ec20, 0x36f1e: 0x6c3cb420, 0x36f1f: 0x6c5a1e20, + 0x36f20: 0x6c5a2020, 0x36f21: 0x6c7cd820, 0x36f22: 0x6c7cda20, 0x36f23: 0x6c7cdc20, + 0x36f24: 0x6c7cde20, 0x36f25: 0x6c7ce020, 0x36f26: 0x6c7ce220, 0x36f27: 0x6ca59620, + 0x36f28: 0x6ca59820, 0x36f29: 0x6ca59a20, 0x36f2a: 0x6cd3f820, 0x36f2b: 0x6cd3fa20, + 0x36f2c: 0x6cd3fc20, 0x36f2d: 0x6cd3fe20, 0x36f2e: 0x6cd40020, 0x36f2f: 0x6cd40220, + 0x36f30: 0x6cd40420, 0x36f31: 0x6cd40620, 0x36f32: 0x6d01fe20, 0x36f33: 0x6d020020, + 0x36f34: 0x6d020220, 0x36f35: 0x6d020420, 0x36f36: 0x6d2fd020, 0x36f37: 0x6d2fd220, + 0x36f38: 0x6d2fd420, 0x36f39: 0x6d2fd620, 0x36f3a: 0x6d2fd820, 0x36f3b: 0x6d2fda20, + 0x36f3c: 0x6d2fdc20, 0x36f3d: 0x6d2fde20, 0x36f3e: 0x6d2fe020, 0x36f3f: 0x6d2fe220, + // Block 0xdbd, offset 0x36f40 + 0x36f40: 0x6d2fe420, 0x36f41: 0x6d2fe620, 0x36f42: 0x6d5cd220, 0x36f43: 0x6d5cd420, + 0x36f44: 0x6d5cd620, 0x36f45: 0x6d5cd820, 0x36f46: 0x6d5cda20, 0x36f47: 0x6d5cdc20, + 0x36f48: 0x6d5cde20, 0x36f49: 0x6d5ce020, 0x36f4a: 0x6d875420, 0x36f4b: 0x6d875620, + 0x36f4c: 0x6d875820, 0x36f4d: 0x6d875a20, 0x36f4e: 0x6dcc3020, 0x36f4f: 0x6dabf020, + 0x36f50: 0x6dabf220, 0x36f51: 0x6dabf420, 0x36f52: 0x6dabf620, 0x36f53: 0x6dcc3220, + 0x36f54: 0x6dcc3420, 0x36f55: 0x6dcc3620, 0x36f56: 0x6de75220, 0x36f57: 0x6de75420, + 0x36f58: 0x6de75620, 0x36f59: 0x6de75820, 0x36f5a: 0x6de75a20, 0x36f5b: 0x6de75c20, + 0x36f5c: 0x6de75e20, 0x36f5d: 0x6e108820, 0x36f5e: 0x6dfde220, 0x36f5f: 0x6dfde420, + 0x36f60: 0x6dfde620, 0x36f61: 0x6e2a7c20, 0x36f62: 0x6e2a7e20, 0x36f63: 0x6e2a8020, + 0x36f64: 0x6e46ca20, 0x36f65: 0x6e46ea20, 0x36f66: 0x6c253420, 0x36f67: 0x6c253620, + 0x36f68: 0x6c3cba20, 0x36f69: 0x6c5a2a20, 0x36f6a: 0x6c5a2c20, 0x36f6b: 0x6c5a2e20, + 0x36f6c: 0x6c5a3020, 0x36f6d: 0x6c5a3220, 0x36f6e: 0x6c5a3420, 0x36f6f: 0x6c5a3620, + 0x36f70: 0x6c7cea20, 0x36f71: 0x6c7cec20, 0x36f72: 0x6c7cee20, 0x36f73: 0x6c7cf020, + 0x36f74: 0x6c7cf220, 0x36f75: 0x6c7cf420, 0x36f76: 0x6c7cf620, 0x36f77: 0x6c7cf820, + 0x36f78: 0x6c7cfa20, 0x36f79: 0x6ca5a220, 0x36f7a: 0x6ca5a420, 0x36f7b: 0x6ca5a620, + 0x36f7c: 0x6ca5a820, 0x36f7d: 0x6ca5aa20, 0x36f7e: 0x6ca5ac20, 0x36f7f: 0x6ca5ae20, + // Block 0xdbe, offset 0x36f80 + 0x36f80: 0x6ca5b020, 0x36f81: 0x6ca5b220, 0x36f82: 0x6ca5b420, 0x36f83: 0x6ca5b620, + 0x36f84: 0x6ca5b820, 0x36f85: 0x6ca5ba20, 0x36f86: 0x6ca5bc20, 0x36f87: 0x6ca5be20, + 0x36f88: 0x6ca5c020, 0x36f89: 0x6ca5c220, 0x36f8a: 0x6ca5c420, 0x36f8b: 0x6ca5c620, + 0x36f8c: 0x6ca5c820, 0x36f8d: 0x6ca5ca20, 0x36f8e: 0x6cd41220, 0x36f8f: 0x6cd41420, + 0x36f90: 0x6cd41620, 0x36f91: 0x6cd41820, 0x36f92: 0x6cd41a20, 0x36f93: 0x6cd41c20, + 0x36f94: 0x6cd41e20, 0x36f95: 0x6cd42020, 0x36f96: 0x6cd42220, 0x36f97: 0x6cd42420, + 0x36f98: 0x6d020a20, 0x36f99: 0x6d020c20, 0x36f9a: 0x6d020e20, 0x36f9b: 0x6d021020, + 0x36f9c: 0x6d021220, 0x36f9d: 0x6d021420, 0x36f9e: 0x6d021620, 0x36f9f: 0x6d021820, + 0x36fa0: 0x6d021a20, 0x36fa1: 0x6d021c20, 0x36fa2: 0x6d021e20, 0x36fa3: 0x6d022020, + 0x36fa4: 0x6d022220, 0x36fa5: 0x6d022420, 0x36fa6: 0x6d022620, 0x36fa7: 0x6d022820, + 0x36fa8: 0x6d022a20, 0x36fa9: 0x6d022c20, 0x36faa: 0x6d2fea20, 0x36fab: 0x6d2fec20, + 0x36fac: 0x6d2fee20, 0x36fad: 0x6d2ff020, 0x36fae: 0x6d2ff220, 0x36faf: 0x6d2ff420, + 0x36fb0: 0x6d2ff620, 0x36fb1: 0x6d2ff820, 0x36fb2: 0x6d5ce220, 0x36fb3: 0x6d5ce420, + 0x36fb4: 0x6d5ce620, 0x36fb5: 0x6d5ce820, 0x36fb6: 0x6d5cea20, 0x36fb7: 0x6d5cec20, + 0x36fb8: 0x6d5cee20, 0x36fb9: 0x6d5cf020, 0x36fba: 0x6d5cf220, 0x36fbb: 0x6d875c20, + 0x36fbc: 0x6d875e20, 0x36fbd: 0x6d876020, 0x36fbe: 0x6d876220, 0x36fbf: 0x6d876420, + // Block 0xdbf, offset 0x36fc0 + 0x36fc0: 0x6dabfc20, 0x36fc1: 0x6dabfe20, 0x36fc2: 0x6dac0020, 0x36fc3: 0x6dac0220, + 0x36fc4: 0x6dac0420, 0x36fc5: 0x6dac0620, 0x36fc6: 0x6dac0820, 0x36fc7: 0x6dcc3820, + 0x36fc8: 0x6dcc3a20, 0x36fc9: 0x6dcc3c20, 0x36fca: 0x6dcc3e20, 0x36fcb: 0x6dcc4020, + 0x36fcc: 0x6de76220, 0x36fcd: 0x6de76420, 0x36fce: 0x6de76620, 0x36fcf: 0x6de76820, + 0x36fd0: 0x6e2a8220, 0x36fd1: 0x6e1f3020, 0x36fd2: 0x6e1f3220, 0x36fd3: 0x6e2a8420, + 0x36fd4: 0x6e2a8620, 0x36fd5: 0x6c13f020, 0x36fd6: 0x6c13f220, 0x36fd7: 0x6c254020, + 0x36fd8: 0x6c254220, 0x36fd9: 0x6c254420, 0x36fda: 0x6c254620, 0x36fdb: 0x6c254820, + 0x36fdc: 0x6c254a20, 0x36fdd: 0x6c3cd620, 0x36fde: 0x6c3cd820, 0x36fdf: 0x6c3cda20, + 0x36fe0: 0x6c3cdc20, 0x36fe1: 0x6c3cde20, 0x36fe2: 0x6c3ce020, 0x36fe3: 0x6c3ce220, + 0x36fe4: 0x6c3ce420, 0x36fe5: 0x6c3ce620, 0x36fe6: 0x6c3ce820, 0x36fe7: 0x6c3cea20, + 0x36fe8: 0x6c3cec20, 0x36fe9: 0x6c5a7e20, 0x36fea: 0x6c5a8020, 0x36feb: 0x6c5a8220, + 0x36fec: 0x6c5a8420, 0x36fed: 0x6c5a8620, 0x36fee: 0x6c5a8820, 0x36fef: 0x6c5a8a20, + 0x36ff0: 0x6c5a8c20, 0x36ff1: 0x6c5a8e20, 0x36ff2: 0x6c5a9020, 0x36ff3: 0x6c5a9220, + 0x36ff4: 0x6c5a9420, 0x36ff5: 0x6c5a9620, 0x36ff6: 0x6c5a9820, 0x36ff7: 0x6c5a9a20, + 0x36ff8: 0x6c5a9c20, 0x36ff9: 0x6c5a9e20, 0x36ffa: 0x6c5aa020, 0x36ffb: 0x6c5aa220, + 0x36ffc: 0x6c5aa420, 0x36ffd: 0x6c5aa620, 0x36ffe: 0x6c5aa820, 0x36fff: 0x6c5aaa20, + // Block 0xdc0, offset 0x37000 + 0x37000: 0x6c5aac20, 0x37001: 0x6c5aae20, 0x37002: 0x6c5ab020, 0x37003: 0x6c5ab220, + 0x37004: 0x6c5ab420, 0x37005: 0x6c5ab620, 0x37006: 0x6c7d5a20, 0x37007: 0x6c7d5c20, + 0x37008: 0x6c7d5e20, 0x37009: 0x6c7d6020, 0x3700a: 0x6c7d6220, 0x3700b: 0x6c7d6420, + 0x3700c: 0x6c7d6620, 0x3700d: 0x6c7d6820, 0x3700e: 0x6c7d6a20, 0x3700f: 0x6c7d6c20, + 0x37010: 0x6c7d6e20, 0x37011: 0x6c7d7020, 0x37012: 0x6c7d7220, 0x37013: 0x6c7d7420, + 0x37014: 0x6c7d7620, 0x37015: 0x6c7d7820, 0x37016: 0x6c7d7a20, 0x37017: 0x6c7d7c20, + 0x37018: 0x6c7d7e20, 0x37019: 0x6c7d8020, 0x3701a: 0x6c7d8220, 0x3701b: 0x6c7d8420, + 0x3701c: 0x6c7d8620, 0x3701d: 0x6c7d8820, 0x3701e: 0x6c7d8a20, 0x3701f: 0x6c7d8c20, + 0x37020: 0x6c7d8e20, 0x37021: 0x6c7d9020, 0x37022: 0x6c7d9220, 0x37023: 0x6c7d9420, + 0x37024: 0x6c7d9620, 0x37025: 0x6c7d9820, 0x37026: 0x6c7d9a20, 0x37027: 0x6c7d9c20, + 0x37028: 0x6c7d9e20, 0x37029: 0x6c7da020, 0x3702a: 0x6c7da220, 0x3702b: 0x6c7da420, + 0x3702c: 0x6c7da620, 0x3702d: 0x6c7da820, 0x3702e: 0x6c7daa20, 0x3702f: 0x6c7dac20, + 0x37030: 0x6c7dae20, 0x37031: 0x6c7db020, 0x37032: 0x6c7db220, 0x37033: 0x6ca61220, + 0x37034: 0x6ca61420, 0x37035: 0x6ca61620, 0x37036: 0x6ca61820, 0x37037: 0x6ca61a20, + 0x37038: 0x6ca61c20, 0x37039: 0x6ca61e20, 0x3703a: 0x6ca62020, 0x3703b: 0x6ca62220, + 0x3703c: 0x6ca62420, 0x3703d: 0x6ca62620, 0x3703e: 0x6ca62820, 0x3703f: 0x6ca62a20, + // Block 0xdc1, offset 0x37040 + 0x37040: 0x6ca62c20, 0x37041: 0x6ca62e20, 0x37042: 0x6ca63020, 0x37043: 0x6ca63220, + 0x37044: 0x6ca63420, 0x37045: 0x6ca63620, 0x37046: 0x6ca63820, 0x37047: 0x6ca63a20, + 0x37048: 0x6ca63c20, 0x37049: 0x6ca63e20, 0x3704a: 0x6ca64020, 0x3704b: 0x6ca64220, + 0x3704c: 0x6ca64420, 0x3704d: 0x6ca64620, 0x3704e: 0x6ca64820, 0x3704f: 0x6ca64a20, + 0x37050: 0x6ca64c20, 0x37051: 0x6ca64e20, 0x37052: 0x6ca65020, 0x37053: 0x6ca65220, + 0x37054: 0x6ca65420, 0x37055: 0x6ca65620, 0x37056: 0x6ca65820, 0x37057: 0x6ca65a20, + 0x37058: 0x6ca65c20, 0x37059: 0x6ca65e20, 0x3705a: 0x6ca66020, 0x3705b: 0x6ca66220, + 0x3705c: 0x6ca66420, 0x3705d: 0x6ca66620, 0x3705e: 0x6ca66820, 0x3705f: 0x6ca66a20, + 0x37060: 0x6ca66c20, 0x37061: 0x6ca66e20, 0x37062: 0x6ca67020, 0x37063: 0x6ca67220, + 0x37064: 0x6ca67420, 0x37065: 0x6ca67620, 0x37066: 0x6ca67820, 0x37067: 0x6ca67a20, + 0x37068: 0x6ca67c20, 0x37069: 0x6ca67e20, 0x3706a: 0x6cd46c20, 0x3706b: 0x6cd46e20, + 0x3706c: 0x6cd47020, 0x3706d: 0x6cd47220, 0x3706e: 0x6cd47420, 0x3706f: 0x6cd47620, + 0x37070: 0x6cd47820, 0x37071: 0x6cd47a20, 0x37072: 0x6cd47c20, 0x37073: 0x6cd47e20, + 0x37074: 0x6cd48020, 0x37075: 0x6cd48220, 0x37076: 0x6cd48420, 0x37077: 0x6cd48620, + 0x37078: 0x6cd48820, 0x37079: 0x6cd48a20, 0x3707a: 0x6cd48c20, 0x3707b: 0x6cd48e20, + 0x3707c: 0x6cd49020, 0x3707d: 0x6cd49220, 0x3707e: 0x6cd49420, 0x3707f: 0x6cd49620, + // Block 0xdc2, offset 0x37080 + 0x37080: 0x6cd49820, 0x37081: 0x6cd49a20, 0x37082: 0x6cd49c20, 0x37083: 0x6cd49e20, + 0x37084: 0x6cd4a020, 0x37085: 0x6cd4a220, 0x37086: 0x6cd4a420, 0x37087: 0x6cd4a620, + 0x37088: 0x6cd4a820, 0x37089: 0x6cd4aa20, 0x3708a: 0x6d029c20, 0x3708b: 0x6d029e20, + 0x3708c: 0x6d02a020, 0x3708d: 0x6d02a220, 0x3708e: 0x6d02a420, 0x3708f: 0x6d02a620, + 0x37090: 0x6d02a820, 0x37091: 0x6d02aa20, 0x37092: 0x6d02ac20, 0x37093: 0x6d02ae20, + 0x37094: 0x6d02b020, 0x37095: 0x6d02b220, 0x37096: 0x6d02b420, 0x37097: 0x6d02b620, + 0x37098: 0x6d02b820, 0x37099: 0x6d02ba20, 0x3709a: 0x6d02bc20, 0x3709b: 0x6d02be20, + 0x3709c: 0x6d02c020, 0x3709d: 0x6d02c220, 0x3709e: 0x6d02c420, 0x3709f: 0x6d02c620, + 0x370a0: 0x6d02c820, 0x370a1: 0x6d02ca20, 0x370a2: 0x6d02cc20, 0x370a3: 0x6d02ce20, + 0x370a4: 0x6d02d020, 0x370a5: 0x6d02d220, 0x370a6: 0x6d02d420, 0x370a7: 0x6d02d620, + 0x370a8: 0x6d02d820, 0x370a9: 0x6d02da20, 0x370aa: 0x6d02dc20, 0x370ab: 0x6d02de20, + 0x370ac: 0x6d02e020, 0x370ad: 0x6d02e220, 0x370ae: 0x6d02e420, 0x370af: 0x6d02e620, + 0x370b0: 0x6d02e820, 0x370b1: 0x6d02ea20, 0x370b2: 0x6d02ec20, 0x370b3: 0x6d02ee20, + 0x370b4: 0x6d02f020, 0x370b5: 0x6d02f220, 0x370b6: 0x6d02f420, 0x370b7: 0x6d02f620, + 0x370b8: 0x6d02f820, 0x370b9: 0x6d02fa20, 0x370ba: 0x6d304a20, 0x370bb: 0x6d304c20, + 0x370bc: 0x6d304e20, 0x370bd: 0x6d305020, 0x370be: 0x6d305220, 0x370bf: 0x6d305420, + // Block 0xdc3, offset 0x370c0 + 0x370c0: 0x6d305620, 0x370c1: 0x6d305820, 0x370c2: 0x6d305a20, 0x370c3: 0x6d305c20, + 0x370c4: 0x6d305e20, 0x370c5: 0x6d306020, 0x370c6: 0x6d306220, 0x370c7: 0x6d306420, + 0x370c8: 0x6d306620, 0x370c9: 0x6d306820, 0x370ca: 0x6d306a20, 0x370cb: 0x6d306c20, + 0x370cc: 0x6d306e20, 0x370cd: 0x6d307020, 0x370ce: 0x6d307220, 0x370cf: 0x6d307420, + 0x370d0: 0x6d307620, 0x370d1: 0x6d307820, 0x370d2: 0x6d307a20, 0x370d3: 0x6d307c20, + 0x370d4: 0x6d307e20, 0x370d5: 0x6d308020, 0x370d6: 0x6d308220, 0x370d7: 0x6d308420, + 0x370d8: 0x6d308620, 0x370d9: 0x6d308820, 0x370da: 0x6d308a20, 0x370db: 0x6d308c20, + 0x370dc: 0x6d308e20, 0x370dd: 0x6d309020, 0x370de: 0x6d309220, 0x370df: 0x6d309420, + 0x370e0: 0x6d309620, 0x370e1: 0x6d309820, 0x370e2: 0x6d309a20, 0x370e3: 0x6d309c20, + 0x370e4: 0x6d309e20, 0x370e5: 0x6d30a020, 0x370e6: 0x6d30a220, 0x370e7: 0x6d30a420, + 0x370e8: 0x6d30a620, 0x370e9: 0x6d30a820, 0x370ea: 0x6d30aa20, 0x370eb: 0x6d30ac20, + 0x370ec: 0x6d30ae20, 0x370ed: 0x6d5d4420, 0x370ee: 0x6d5d4620, 0x370ef: 0x6d5d4820, + 0x370f0: 0x6d5d4a20, 0x370f1: 0x6d5d4c20, 0x370f2: 0x6d5d4e20, 0x370f3: 0x6d5d5020, + 0x370f4: 0x6d5d5220, 0x370f5: 0x6d5d5420, 0x370f6: 0x6d5d5620, 0x370f7: 0x6d5d5820, + 0x370f8: 0x6d5d5a20, 0x370f9: 0x6d5d5c20, 0x370fa: 0x6d5d5e20, 0x370fb: 0x6d5d6020, + 0x370fc: 0x6d5d6220, 0x370fd: 0x6d5d6420, 0x370fe: 0x6d5d6620, 0x370ff: 0x6d5d6820, + // Block 0xdc4, offset 0x37100 + 0x37100: 0x6d5d6a20, 0x37101: 0x6d5d6c20, 0x37102: 0x6d5d6e20, 0x37103: 0x6d5d7020, + 0x37104: 0x6d5d7220, 0x37105: 0x6d5d7420, 0x37106: 0x6d5d7620, 0x37107: 0x6d5d7820, + 0x37108: 0x6d5d7a20, 0x37109: 0x6d5d7c20, 0x3710a: 0x6d5d7e20, 0x3710b: 0x6d5d8020, + 0x3710c: 0x6d87a020, 0x3710d: 0x6d87a220, 0x3710e: 0x6d87a420, 0x3710f: 0x6d87a620, + 0x37110: 0x6d87a820, 0x37111: 0x6d87aa20, 0x37112: 0x6d87ac20, 0x37113: 0x6d87ae20, + 0x37114: 0x6d87b020, 0x37115: 0x6d87b220, 0x37116: 0x6d87b420, 0x37117: 0x6d87b620, + 0x37118: 0x6d87b820, 0x37119: 0x6d87ba20, 0x3711a: 0x6d87bc20, 0x3711b: 0x6d87be20, + 0x3711c: 0x6d87c020, 0x3711d: 0x6d87c220, 0x3711e: 0x6d87c420, 0x3711f: 0x6d87c620, + 0x37120: 0x6d87c820, 0x37121: 0x6d87ca20, 0x37122: 0x6d87cc20, 0x37123: 0x6d87ce20, + 0x37124: 0x6d87d020, 0x37125: 0x6d87d220, 0x37126: 0x6d87d420, 0x37127: 0x6d87d620, + 0x37128: 0x6d87d820, 0x37129: 0x6d87da20, 0x3712a: 0x6d87dc20, 0x3712b: 0x6d87de20, + 0x3712c: 0x6d87e020, 0x3712d: 0x6d87e220, 0x3712e: 0x6d87e420, 0x3712f: 0x6d87e620, + 0x37130: 0x6dac4a20, 0x37131: 0x6dac4c20, 0x37132: 0x6dac4e20, 0x37133: 0x6dac5020, + 0x37134: 0x6dac5220, 0x37135: 0x6dac5420, 0x37136: 0x6dac5620, 0x37137: 0x6dac5820, + 0x37138: 0x6dac5a20, 0x37139: 0x6dac5c20, 0x3713a: 0x6dac5e20, 0x3713b: 0x6dac6020, + 0x3713c: 0x6dac6220, 0x3713d: 0x6dac6420, 0x3713e: 0x6dac6620, 0x3713f: 0x6dac6820, + // Block 0xdc5, offset 0x37140 + 0x37140: 0x6dac6a20, 0x37141: 0x6dac6c20, 0x37142: 0x6dac6e20, 0x37143: 0x6dac7020, + 0x37144: 0x6dac7220, 0x37145: 0x6dac7420, 0x37146: 0x6dac7620, 0x37147: 0x6dac7820, + 0x37148: 0x6dac7a20, 0x37149: 0x6dac7c20, 0x3714a: 0x6dac7e20, 0x3714b: 0x6dac8020, + 0x3714c: 0x6dac8220, 0x3714d: 0x6dac8420, 0x3714e: 0x6dac8620, 0x3714f: 0x6dac8820, + 0x37150: 0x6dac8a20, 0x37151: 0x6dac8c20, 0x37152: 0x6dac8e20, 0x37153: 0x6dac9020, + 0x37154: 0x6dac9220, 0x37155: 0x6dac9420, 0x37156: 0x6dac9620, 0x37157: 0x6dcc7420, + 0x37158: 0x6dcc7620, 0x37159: 0x6dcc7820, 0x3715a: 0x6dcc7a20, 0x3715b: 0x6dcc7c20, + 0x3715c: 0x6dcc7e20, 0x3715d: 0x6dcc8020, 0x3715e: 0x6dcc8220, 0x3715f: 0x6dcc8420, + 0x37160: 0x6dcc8620, 0x37161: 0x6dcc8820, 0x37162: 0x6dcc8a20, 0x37163: 0x6dcc8c20, + 0x37164: 0x6dcc8e20, 0x37165: 0x6dcc9020, 0x37166: 0x6dcc9220, 0x37167: 0x6dcc9420, + 0x37168: 0x6dcc9620, 0x37169: 0x6dcc9820, 0x3716a: 0x6de78220, 0x3716b: 0x6de78420, + 0x3716c: 0x6de78620, 0x3716d: 0x6de78820, 0x3716e: 0x6de78a20, 0x3716f: 0x6de78c20, + 0x37170: 0x6de78e20, 0x37171: 0x6de79020, 0x37172: 0x6de79220, 0x37173: 0x6de79420, + 0x37174: 0x6de79620, 0x37175: 0x6de79820, 0x37176: 0x6de79a20, 0x37177: 0x6de79c20, + 0x37178: 0x6de79e20, 0x37179: 0x6de7a020, 0x3717a: 0x6de7a220, 0x3717b: 0x6dfe0a20, + 0x3717c: 0x6dfe0c20, 0x3717d: 0x6dfe0e20, 0x3717e: 0x6dfe1020, 0x3717f: 0x6dfe1220, + // Block 0xdc6, offset 0x37180 + 0x37180: 0x6dfe1420, 0x37181: 0x6dfe1620, 0x37182: 0x6dfe1820, 0x37183: 0x6dfe1a20, + 0x37184: 0x6dfe1c20, 0x37185: 0x6dfe1e20, 0x37186: 0x6dfe2020, 0x37187: 0x6dfe2220, + 0x37188: 0x6dfe2420, 0x37189: 0x6dfe2620, 0x3718a: 0x6dfe2820, 0x3718b: 0x6dfe2a20, + 0x3718c: 0x6dfe2c20, 0x3718d: 0x6dfe2e20, 0x3718e: 0x6dfe3020, 0x3718f: 0x6dfe3220, + 0x37190: 0x6dfe3420, 0x37191: 0x6dfe3620, 0x37192: 0x6e10a420, 0x37193: 0x6e10a620, + 0x37194: 0x6e10a820, 0x37195: 0x6e10aa20, 0x37196: 0x6e10ac20, 0x37197: 0x6e10ae20, + 0x37198: 0x6e10b020, 0x37199: 0x6e10b220, 0x3719a: 0x6e10b420, 0x3719b: 0x6e10b620, + 0x3719c: 0x6e10b820, 0x3719d: 0x6e1f3a20, 0x3719e: 0x6e1f3c20, 0x3719f: 0x6e1f3e20, + 0x371a0: 0x6e1f4020, 0x371a1: 0x6e1f4220, 0x371a2: 0x6e1f4420, 0x371a3: 0x6e1f4620, + 0x371a4: 0x6e1f4820, 0x371a5: 0x6e1f4a20, 0x371a6: 0x6e1f4c20, 0x371a7: 0x6e1f4e20, + 0x371a8: 0x6e1f5020, 0x371a9: 0x6e1f5220, 0x371aa: 0x6e1f5420, 0x371ab: 0x6e2a8c20, + 0x371ac: 0x6e2a8e20, 0x371ad: 0x6e2a9020, 0x371ae: 0x6e2a9220, 0x371af: 0x6e2a9420, + 0x371b0: 0x6e2a9620, 0x371b1: 0x6e2a9820, 0x371b2: 0x6e2a9a20, 0x371b3: 0x6e2a9c20, + 0x371b4: 0x6e332820, 0x371b5: 0x6e332a20, 0x371b6: 0x6e361a20, 0x371b7: 0x6e332c20, + 0x371b8: 0x6e332e20, 0x371b9: 0x6e394420, 0x371ba: 0x6e3d9820, 0x371bb: 0x6e3d9a20, + 0x371bc: 0x6e3d9c20, 0x371bd: 0x6e3d9e20, 0x371be: 0x6e408820, 0x371bf: 0x6e408a20, + // Block 0xdc7, offset 0x371c0 + 0x371c0: 0x6e408c20, 0x371c1: 0x6e42d020, 0x371c2: 0x6e42d220, 0x371c3: 0x6e444620, + 0x371c4: 0x6e46b220, 0x371c5: 0x6c050020, 0x371c6: 0x6c0a3620, 0x371c7: 0x6c13f820, + 0x371c8: 0x6c13fa20, 0x371c9: 0x6c13fc20, 0x371ca: 0x6c13fe20, 0x371cb: 0x6c140020, + 0x371cc: 0x6c140220, 0x371cd: 0x6c255020, 0x371ce: 0x6c255220, 0x371cf: 0x6c255420, + 0x371d0: 0x6c255620, 0x371d1: 0x6c255820, 0x371d2: 0x6c255a20, 0x371d3: 0x6c255c20, + 0x371d4: 0x6c255e20, 0x371d5: 0x6c3cfc20, 0x371d6: 0x6c3cfe20, 0x371d7: 0x6c3d0020, + 0x371d8: 0x6c3d0220, 0x371d9: 0x6c3d0420, 0x371da: 0x6c3d0620, 0x371db: 0x6c3d0820, + 0x371dc: 0x6c3d0a20, 0x371dd: 0x6c3d0c20, 0x371de: 0x6c3d0e20, 0x371df: 0x6c3d1020, + 0x371e0: 0x6c3d1220, 0x371e1: 0x6c3d1420, 0x371e2: 0x6c3d1620, 0x371e3: 0x6c3d1820, + 0x371e4: 0x6c3d1a20, 0x371e5: 0x6c3d1c20, 0x371e6: 0x6c3d1e20, 0x371e7: 0x6c3d2020, + 0x371e8: 0x6c3d2220, 0x371e9: 0x6c3d2420, 0x371ea: 0x6c3d2620, 0x371eb: 0x6c5ade20, + 0x371ec: 0x6c5ae020, 0x371ed: 0x6c5ae220, 0x371ee: 0x6c5ae420, 0x371ef: 0x6c5ae620, + 0x371f0: 0x6c5ae820, 0x371f1: 0x6c5aea20, 0x371f2: 0x6c5aec20, 0x371f3: 0x6c5aee20, + 0x371f4: 0x6c5af020, 0x371f5: 0x6c5af220, 0x371f6: 0x6c5af420, 0x371f7: 0x6c5af620, + 0x371f8: 0x6c5af820, 0x371f9: 0x6c5afa20, 0x371fa: 0x6c5afc20, 0x371fb: 0x6c5afe20, + 0x371fc: 0x6c5b0020, 0x371fd: 0x6c5b0220, 0x371fe: 0x6c5b0420, 0x371ff: 0x6c5b0620, + // Block 0xdc8, offset 0x37200 + 0x37200: 0x6c5b0820, 0x37201: 0x6c5b0a20, 0x37202: 0x6c5b0c20, 0x37203: 0x6c5b0e20, + 0x37204: 0x6c5b1020, 0x37205: 0x6c5b1220, 0x37206: 0x6c5b1420, 0x37207: 0x6c5b1620, + 0x37208: 0x6c5b1820, 0x37209: 0x6c5b1a20, 0x3720a: 0x6c5b1c20, 0x3720b: 0x6c5b1e20, + 0x3720c: 0x6c5b2020, 0x3720d: 0x6c5b2220, 0x3720e: 0x6c7dea20, 0x3720f: 0x6c7dec20, + 0x37210: 0x6c7dee20, 0x37211: 0x6c7df020, 0x37212: 0x6c7df220, 0x37213: 0x6c7df420, + 0x37214: 0x6c7df620, 0x37215: 0x6c7df820, 0x37216: 0x6c7dfa20, 0x37217: 0x6c7dfc20, + 0x37218: 0x6c7dfe20, 0x37219: 0x6c7e0020, 0x3721a: 0x6c7e0220, 0x3721b: 0x6c7e0420, + 0x3721c: 0x6c7e0620, 0x3721d: 0x6c7e0820, 0x3721e: 0x6c7e0a20, 0x3721f: 0x6c7e0c20, + 0x37220: 0x6c7e0e20, 0x37221: 0x6c7e1020, 0x37222: 0x6c7e1220, 0x37223: 0x6c7e1420, + 0x37224: 0x6c7e1620, 0x37225: 0x6c7e1820, 0x37226: 0x6c7e1a20, 0x37227: 0x6c7e1c20, + 0x37228: 0x6c7e1e20, 0x37229: 0x6c7e2020, 0x3722a: 0x6c7e2220, 0x3722b: 0x6ca6ae20, + 0x3722c: 0x6ca6b020, 0x3722d: 0x6ca6b220, 0x3722e: 0x6ca6b420, 0x3722f: 0x6ca6b620, + 0x37230: 0x6ca6b820, 0x37231: 0x6ca6ba20, 0x37232: 0x6ca6bc20, 0x37233: 0x6ca6be20, + 0x37234: 0x6ca6c020, 0x37235: 0x6ca6c220, 0x37236: 0x6ca6c420, 0x37237: 0x6ca6c620, + 0x37238: 0x6ca6c820, 0x37239: 0x6ca6ca20, 0x3723a: 0x6ca6cc20, 0x3723b: 0x6ca6ce20, + 0x3723c: 0x6ca6d020, 0x3723d: 0x6ca6d220, 0x3723e: 0x6ca6d420, 0x3723f: 0x6ca6d620, + // Block 0xdc9, offset 0x37240 + 0x37240: 0x6ca6d820, 0x37241: 0x6ca6da20, 0x37242: 0x6ca6dc20, 0x37243: 0x6ca6de20, + 0x37244: 0x6ca6e020, 0x37245: 0x6ca6e220, 0x37246: 0x6ca6e420, 0x37247: 0x6ca6e620, + 0x37248: 0x6cd4d620, 0x37249: 0x6cd4d820, 0x3724a: 0x6cd4da20, 0x3724b: 0x6cd4dc20, + 0x3724c: 0x6cd4de20, 0x3724d: 0x6cd4e020, 0x3724e: 0x6cd4e220, 0x3724f: 0x6cd4e420, + 0x37250: 0x6cd4e620, 0x37251: 0x6cd4e820, 0x37252: 0x6cd4ea20, 0x37253: 0x6cd4ec20, + 0x37254: 0x6cd4ee20, 0x37255: 0x6cd4f020, 0x37256: 0x6cd4f220, 0x37257: 0x6cd4f420, + 0x37258: 0x6cd4f620, 0x37259: 0x6cd4f820, 0x3725a: 0x6cd4fa20, 0x3725b: 0x6cd4fc20, + 0x3725c: 0x6cd4fe20, 0x3725d: 0x6cd50020, 0x3725e: 0x6cd50220, 0x3725f: 0x6cd50420, + 0x37260: 0x6cd50620, 0x37261: 0x6cd50820, 0x37262: 0x6cd50a20, 0x37263: 0x6cd50c20, + 0x37264: 0x6cd50e20, 0x37265: 0x6cd51020, 0x37266: 0x6d033420, 0x37267: 0x6d033620, + 0x37268: 0x6d033820, 0x37269: 0x6d033a20, 0x3726a: 0x6d033c20, 0x3726b: 0x6d033e20, + 0x3726c: 0x6d034020, 0x3726d: 0x6d034220, 0x3726e: 0x6d034420, 0x3726f: 0x6d034620, + 0x37270: 0x6d034820, 0x37271: 0x6d034a20, 0x37272: 0x6d034c20, 0x37273: 0x6d034e20, + 0x37274: 0x6d035020, 0x37275: 0x6d035220, 0x37276: 0x6d035420, 0x37277: 0x6d035620, + 0x37278: 0x6d035820, 0x37279: 0x6d035a20, 0x3727a: 0x6d035c20, 0x3727b: 0x6d035e20, + 0x3727c: 0x6d036020, 0x3727d: 0x6d036220, 0x3727e: 0x6d036420, 0x3727f: 0x6d036620, + // Block 0xdca, offset 0x37280 + 0x37280: 0x6d036820, 0x37281: 0x6d036a20, 0x37282: 0x6d036c20, 0x37283: 0x6d036e20, + 0x37284: 0x6d037020, 0x37285: 0x6d30e620, 0x37286: 0x6d30e820, 0x37287: 0x6d30ea20, + 0x37288: 0x6d30ec20, 0x37289: 0x6d30ee20, 0x3728a: 0x6d30f020, 0x3728b: 0x6d30f220, + 0x3728c: 0x6d30f420, 0x3728d: 0x6d30f620, 0x3728e: 0x6d30f820, 0x3728f: 0x6d30fa20, + 0x37290: 0x6d30fc20, 0x37291: 0x6d30fe20, 0x37292: 0x6d310020, 0x37293: 0x6d310220, + 0x37294: 0x6d310420, 0x37295: 0x6d310620, 0x37296: 0x6d310820, 0x37297: 0x6d310a20, + 0x37298: 0x6d5da020, 0x37299: 0x6d5da220, 0x3729a: 0x6d5da420, 0x3729b: 0x6d5da620, + 0x3729c: 0x6d5da820, 0x3729d: 0x6d5daa20, 0x3729e: 0x6d5dac20, 0x3729f: 0x6d5dae20, + 0x372a0: 0x6d5db020, 0x372a1: 0x6d5db220, 0x372a2: 0x6d5db420, 0x372a3: 0x6d5db620, + 0x372a4: 0x6d5db820, 0x372a5: 0x6d5dba20, 0x372a6: 0x6d5dbc20, 0x372a7: 0x6d5dbe20, + 0x372a8: 0x6d5dc020, 0x372a9: 0x6d5dc220, 0x372aa: 0x6d5dc420, 0x372ab: 0x6d5dc620, + 0x372ac: 0x6d5dc820, 0x372ad: 0x6d5dca20, 0x372ae: 0x6d880620, 0x372af: 0x6d880820, + 0x372b0: 0x6d880a20, 0x372b1: 0x6d880c20, 0x372b2: 0x6d880e20, 0x372b3: 0x6d881020, + 0x372b4: 0x6d881220, 0x372b5: 0x6d881420, 0x372b6: 0x6d881620, 0x372b7: 0x6d881820, + 0x372b8: 0x6d881a20, 0x372b9: 0x6d881c20, 0x372ba: 0x6d881e20, 0x372bb: 0x6d882020, + 0x372bc: 0x6d882220, 0x372bd: 0x6d882420, 0x372be: 0x6d882620, 0x372bf: 0x6d882820, + // Block 0xdcb, offset 0x372c0 + 0x372c0: 0x6d882a20, 0x372c1: 0x6d882c20, 0x372c2: 0x6d882e20, 0x372c3: 0x6dacaa20, + 0x372c4: 0x6dacac20, 0x372c5: 0x6dacae20, 0x372c6: 0x6dacb020, 0x372c7: 0x6dacb220, + 0x372c8: 0x6dacb420, 0x372c9: 0x6dacb620, 0x372ca: 0x6dacb820, 0x372cb: 0x6dacba20, + 0x372cc: 0x6dacbc20, 0x372cd: 0x6dacbe20, 0x372ce: 0x6dacc020, 0x372cf: 0x6dacc220, + 0x372d0: 0x6dacc420, 0x372d1: 0x6dacc620, 0x372d2: 0x6dccac20, 0x372d3: 0x6dccae20, + 0x372d4: 0x6dccb020, 0x372d5: 0x6dccb220, 0x372d6: 0x6dccb420, 0x372d7: 0x6dccb620, + 0x372d8: 0x6dccb820, 0x372d9: 0x6dccba20, 0x372da: 0x6de7b020, 0x372db: 0x6de7b220, + 0x372dc: 0x6de7b420, 0x372dd: 0x6de7b620, 0x372de: 0x6de7b820, 0x372df: 0x6de7ba20, + 0x372e0: 0x6dfe3c20, 0x372e1: 0x6dfe3e20, 0x372e2: 0x6dfe4020, 0x372e3: 0x6dfe4220, + 0x372e4: 0x6dfe4420, 0x372e5: 0x6e10be20, 0x372e6: 0x6e10c020, 0x372e7: 0x6e10c220, + 0x372e8: 0x6e10c420, 0x372e9: 0x6e10c620, 0x372ea: 0x6e1f5a20, 0x372eb: 0x6e1f5c20, + 0x372ec: 0x6e1f5e20, 0x372ed: 0x6e1f6020, 0x372ee: 0x6e1f6220, 0x372ef: 0x6e1f6420, + 0x372f0: 0x6e2aa220, 0x372f1: 0x6e2aa420, 0x372f2: 0x6e2aa620, 0x372f3: 0x6e2aa820, + 0x372f4: 0x6e333420, 0x372f5: 0x6e333620, 0x372f6: 0x6e394620, 0x372f7: 0x6e394820, + 0x372f8: 0x6e394a20, 0x372f9: 0x6e3da020, 0x372fa: 0x6e3da220, 0x372fb: 0x6c0a3a20, + 0x372fc: 0x6c3d2c20, 0x372fd: 0x6c7e2e20, 0x372fe: 0x6ca6f620, 0x372ff: 0x6cd52820, + // Block 0xdcc, offset 0x37300 + 0x37300: 0x6cb7b420, 0x37301: 0x6cd52a20, 0x37302: 0x6cd52c20, 0x37303: 0x6d037a20, + 0x37304: 0x6d311820, 0x37305: 0x6d5dd020, 0x37306: 0x6d5dd220, 0x37307: 0x6d5dd420, + 0x37308: 0x6dacca20, 0x37309: 0x6daccc20, 0x3730a: 0x6e10c820, 0x3730b: 0x6e333a20, + 0x3730c: 0x6c0a3e20, 0x3730d: 0x6c140420, 0x3730e: 0x6c140620, 0x3730f: 0x6c140820, + 0x37310: 0x6c257220, 0x37311: 0x6c257420, 0x37312: 0x6c257620, 0x37313: 0x6c257820, + 0x37314: 0x6c3d4820, 0x37315: 0x6c3d4a20, 0x37316: 0x6c3d4c20, 0x37317: 0x6c3d4e20, + 0x37318: 0x6c3d5020, 0x37319: 0x6c3d5220, 0x3731a: 0x6c3d5420, 0x3731b: 0x6c3d5620, + 0x3731c: 0x6c3d5820, 0x3731d: 0x6c3d5a20, 0x3731e: 0x6c3d5c20, 0x3731f: 0x6c3d5e20, + 0x37320: 0x6c3d6020, 0x37321: 0x6c3d6220, 0x37322: 0x6c3d6420, 0x37323: 0x6c5b5820, + 0x37324: 0x6c5b5a20, 0x37325: 0x6c5b5c20, 0x37326: 0x6c5b5e20, 0x37327: 0x6c5b6020, + 0x37328: 0x6c5b6220, 0x37329: 0x6c5b6420, 0x3732a: 0x6c5b6620, 0x3732b: 0x6c5b6820, + 0x3732c: 0x6c5b6a20, 0x3732d: 0x6c5b6c20, 0x3732e: 0x6c5b6e20, 0x3732f: 0x6c5b7020, + 0x37330: 0x6c5b7220, 0x37331: 0x6c5b7420, 0x37332: 0x6c5b7620, 0x37333: 0x6c5b7820, + 0x37334: 0x6c5b7a20, 0x37335: 0x6c5b7c20, 0x37336: 0x6c5b7e20, 0x37337: 0x6c5b8020, + 0x37338: 0x6c5b8220, 0x37339: 0x6c5b8420, 0x3733a: 0x6c5b8620, 0x3733b: 0x6c5b8820, + 0x3733c: 0x6c5b8a20, 0x3733d: 0x6c5b8c20, 0x3733e: 0x6c7e6a20, 0x3733f: 0x6c7e6c20, + // Block 0xdcd, offset 0x37340 + 0x37340: 0x6c7e6e20, 0x37341: 0x6c7e7020, 0x37342: 0x6c7e7220, 0x37343: 0x6c7e7420, + 0x37344: 0x6c7e7620, 0x37345: 0x6c7e7820, 0x37346: 0x6c7e7a20, 0x37347: 0x6c7e7c20, + 0x37348: 0x6c7e7e20, 0x37349: 0x6c7e8020, 0x3734a: 0x6c7e8220, 0x3734b: 0x6c7e8420, + 0x3734c: 0x6c7e8620, 0x3734d: 0x6c7e8820, 0x3734e: 0x6c7e8a20, 0x3734f: 0x6c7e8c20, + 0x37350: 0x6c7e8e20, 0x37351: 0x6c7e9020, 0x37352: 0x6c7e9220, 0x37353: 0x6c7e9420, + 0x37354: 0x6c7e9620, 0x37355: 0x6c7e9820, 0x37356: 0x6c7e9a20, 0x37357: 0x6c7e9c20, + 0x37358: 0x6ca73820, 0x37359: 0x6ca73a20, 0x3735a: 0x6ca73c20, 0x3735b: 0x6ca73e20, + 0x3735c: 0x6ca74020, 0x3735d: 0x6ca74220, 0x3735e: 0x6ca74420, 0x3735f: 0x6ca74620, + 0x37360: 0x6ca74820, 0x37361: 0x6ca74a20, 0x37362: 0x6ca74c20, 0x37363: 0x6ca74e20, + 0x37364: 0x6ca75020, 0x37365: 0x6ca75220, 0x37366: 0x6ca75420, 0x37367: 0x6ca75620, + 0x37368: 0x6ca75820, 0x37369: 0x6ca75a20, 0x3736a: 0x6ca75c20, 0x3736b: 0x6ca75e20, + 0x3736c: 0x6ca76020, 0x3736d: 0x6ca76220, 0x3736e: 0x6ca76420, 0x3736f: 0x6ca76620, + 0x37370: 0x6ca76820, 0x37371: 0x6ca76a20, 0x37372: 0x6cd56020, 0x37373: 0x6cd56220, + 0x37374: 0x6cd56420, 0x37375: 0x6cd56620, 0x37376: 0x6cd56820, 0x37377: 0x6cd56a20, + 0x37378: 0x6cd56c20, 0x37379: 0x6cd56e20, 0x3737a: 0x6cd57020, 0x3737b: 0x6cd57220, + 0x3737c: 0x6cd57420, 0x3737d: 0x6cd57620, 0x3737e: 0x6cd57820, 0x3737f: 0x6cd57a20, + // Block 0xdce, offset 0x37380 + 0x37380: 0x6cd57c20, 0x37381: 0x6cd57e20, 0x37382: 0x6cd58020, 0x37383: 0x6cd58220, + 0x37384: 0x6cd58420, 0x37385: 0x6ca76c20, 0x37386: 0x6cd58620, 0x37387: 0x6cd58820, + 0x37388: 0x6cd58a20, 0x37389: 0x6cd58c20, 0x3738a: 0x6cd58e20, 0x3738b: 0x6cd59020, + 0x3738c: 0x6cd59220, 0x3738d: 0x6d03c220, 0x3738e: 0x6d03c420, 0x3738f: 0x6d03c620, + 0x37390: 0x6d03c820, 0x37391: 0x6d03ca20, 0x37392: 0x6d03cc20, 0x37393: 0x6d03ce20, + 0x37394: 0x6d03d020, 0x37395: 0x6d03d220, 0x37396: 0x6d03d420, 0x37397: 0x6d03d620, + 0x37398: 0x6d03d820, 0x37399: 0x6d03da20, 0x3739a: 0x6d03dc20, 0x3739b: 0x6d03de20, + 0x3739c: 0x6d03e020, 0x3739d: 0x6d03e220, 0x3739e: 0x6d03e420, 0x3739f: 0x6d03e620, + 0x373a0: 0x6d03e820, 0x373a1: 0x6d03ea20, 0x373a2: 0x6d03ec20, 0x373a3: 0x6d03ee20, + 0x373a4: 0x6d03f020, 0x373a5: 0x6d03f220, 0x373a6: 0x6d03f420, 0x373a7: 0x6d03f620, + 0x373a8: 0x6d03f820, 0x373a9: 0x6d03fa20, 0x373aa: 0x6d03fc20, 0x373ab: 0x6d03fe20, + 0x373ac: 0x6d040020, 0x373ad: 0x6d040220, 0x373ae: 0x6d040420, 0x373af: 0x6d040620, + 0x373b0: 0x6d040820, 0x373b1: 0x6d040a20, 0x373b2: 0x6d040c20, 0x373b3: 0x6d040e20, + 0x373b4: 0x6d041020, 0x373b5: 0x6d041220, 0x373b6: 0x6d041420, 0x373b7: 0x6d041620, + 0x373b8: 0x6d041820, 0x373b9: 0x6d041a20, 0x373ba: 0x6d041c20, 0x373bb: 0x6d041e20, + 0x373bc: 0x6d042020, 0x373bd: 0x6d315020, 0x373be: 0x6d315220, 0x373bf: 0x6d315420, + // Block 0xdcf, offset 0x373c0 + 0x373c0: 0x6d315620, 0x373c1: 0x6d315820, 0x373c2: 0x6d315a20, 0x373c3: 0x6d315c20, + 0x373c4: 0x6d315e20, 0x373c5: 0x6d316020, 0x373c6: 0x6d316220, 0x373c7: 0x6d316420, + 0x373c8: 0x6d316620, 0x373c9: 0x6d316820, 0x373ca: 0x6d316a20, 0x373cb: 0x6d316c20, + 0x373cc: 0x6d316e20, 0x373cd: 0x6d317020, 0x373ce: 0x6d317220, 0x373cf: 0x6d317420, + 0x373d0: 0x6d317620, 0x373d1: 0x6d317820, 0x373d2: 0x6d317a20, 0x373d3: 0x6d317c20, + 0x373d4: 0x6d317e20, 0x373d5: 0x6d318020, 0x373d6: 0x6d318220, 0x373d7: 0x6d318420, + 0x373d8: 0x6d318620, 0x373d9: 0x6d318820, 0x373da: 0x6d318a20, 0x373db: 0x6d318c20, + 0x373dc: 0x6d318e20, 0x373dd: 0x6d319020, 0x373de: 0x6d319220, 0x373df: 0x6d319420, + 0x373e0: 0x6d319620, 0x373e1: 0x6d319820, 0x373e2: 0x6d319a20, 0x373e3: 0x6d319c20, + 0x373e4: 0x6d319e20, 0x373e5: 0x6d31a020, 0x373e6: 0x6d31a220, 0x373e7: 0x6d31a420, + 0x373e8: 0x6d31a620, 0x373e9: 0x6d31a820, 0x373ea: 0x6d31aa20, 0x373eb: 0x6d31ac20, + 0x373ec: 0x6d31ae20, 0x373ed: 0x6d31b020, 0x373ee: 0x6d31b220, 0x373ef: 0x6d31b420, + 0x373f0: 0x6d31b620, 0x373f1: 0x6d5e0c20, 0x373f2: 0x6d5e0e20, 0x373f3: 0x6d5e1020, + 0x373f4: 0x6d5e1220, 0x373f5: 0x6d5e1420, 0x373f6: 0x6d5e1620, 0x373f7: 0x6d5e1820, + 0x373f8: 0x6d5e1a20, 0x373f9: 0x6d5e1c20, 0x373fa: 0x6d5e1e20, 0x373fb: 0x6d5e2020, + 0x373fc: 0x6d5e2220, 0x373fd: 0x6d5e2420, 0x373fe: 0x6d5e2620, 0x373ff: 0x6d5e2820, + // Block 0xdd0, offset 0x37400 + 0x37400: 0x6d5e2a20, 0x37401: 0x6d5e2c20, 0x37402: 0x6d5e2e20, 0x37403: 0x6d5e3020, + 0x37404: 0x6d5e3220, 0x37405: 0x6d5e3420, 0x37406: 0x6d5e3620, 0x37407: 0x6d5e3820, + 0x37408: 0x6d5e3a20, 0x37409: 0x6d5e3c20, 0x3740a: 0x6d5e3e20, 0x3740b: 0x6d5e4020, + 0x3740c: 0x6d5e4220, 0x3740d: 0x6d5e4420, 0x3740e: 0x6d5e4620, 0x3740f: 0x6d5e4820, + 0x37410: 0x6d5e4a20, 0x37411: 0x6d5e4c20, 0x37412: 0x6d5e4e20, 0x37413: 0x6d5e5020, + 0x37414: 0x6d5e5220, 0x37415: 0x6d5e5420, 0x37416: 0x6d5e5620, 0x37417: 0x6d5e5820, + 0x37418: 0x6d5e5a20, 0x37419: 0x6d5e5c20, 0x3741a: 0x6d5e5e20, 0x3741b: 0x6d5e6020, + 0x3741c: 0x6d885c20, 0x3741d: 0x6d885e20, 0x3741e: 0x6d886020, 0x3741f: 0x6d886220, + 0x37420: 0x6d886420, 0x37421: 0x6d886620, 0x37422: 0x6d886820, 0x37423: 0x6d886a20, + 0x37424: 0x6d886c20, 0x37425: 0x6d886e20, 0x37426: 0x6d887020, 0x37427: 0x6d887220, + 0x37428: 0x6d887420, 0x37429: 0x6d887620, 0x3742a: 0x6d887820, 0x3742b: 0x6d887a20, + 0x3742c: 0x6d887c20, 0x3742d: 0x6d887e20, 0x3742e: 0x6d888020, 0x3742f: 0x6d888220, + 0x37430: 0x6d888420, 0x37431: 0x6d888620, 0x37432: 0x6d888820, 0x37433: 0x6d888a20, + 0x37434: 0x6d888c20, 0x37435: 0x6d888e20, 0x37436: 0x6d889020, 0x37437: 0x6d889220, + 0x37438: 0x6d889420, 0x37439: 0x6d889620, 0x3743a: 0x6d889820, 0x3743b: 0x6d889a20, + 0x3743c: 0x6d889c20, 0x3743d: 0x6d889e20, 0x3743e: 0x6d88a020, 0x3743f: 0x6d88a220, + // Block 0xdd1, offset 0x37440 + 0x37440: 0x6d88a420, 0x37441: 0x6d88a620, 0x37442: 0x6d88a820, 0x37443: 0x6d88aa20, + 0x37444: 0x6d88ac20, 0x37445: 0x6d88ae20, 0x37446: 0x6d88b020, 0x37447: 0x6d88b220, + 0x37448: 0x6d88b420, 0x37449: 0x6d88b620, 0x3744a: 0x6dacec20, 0x3744b: 0x6dacee20, + 0x3744c: 0x6dacf020, 0x3744d: 0x6dacf220, 0x3744e: 0x6dacf420, 0x3744f: 0x6dacf620, + 0x37450: 0x6dacf820, 0x37451: 0x6dacfa20, 0x37452: 0x6dacfc20, 0x37453: 0x6dacfe20, + 0x37454: 0x6dad0020, 0x37455: 0x6dad0220, 0x37456: 0x6dad0420, 0x37457: 0x6dad0620, + 0x37458: 0x6dad0820, 0x37459: 0x6dad0a20, 0x3745a: 0x6dad0c20, 0x3745b: 0x6dad0e20, + 0x3745c: 0x6dad1020, 0x3745d: 0x6dad1220, 0x3745e: 0x6dad1420, 0x3745f: 0x6dad1620, + 0x37460: 0x6dad1820, 0x37461: 0x6dad1a20, 0x37462: 0x6dad1c20, 0x37463: 0x6dad1e20, + 0x37464: 0x6dad2020, 0x37465: 0x6dad2220, 0x37466: 0x6dad2420, 0x37467: 0x6dad2620, + 0x37468: 0x6dad2820, 0x37469: 0x6dad2a20, 0x3746a: 0x6dad2c20, 0x3746b: 0x6dad2e20, + 0x3746c: 0x6dad3020, 0x3746d: 0x6dad3220, 0x3746e: 0x6dad3420, 0x3746f: 0x6dad3620, + 0x37470: 0x6dad3820, 0x37471: 0x6dad3a20, 0x37472: 0x6dad3c20, 0x37473: 0x6dad3e20, + 0x37474: 0x6dccd820, 0x37475: 0x6dccda20, 0x37476: 0x6dccdc20, 0x37477: 0x6dccde20, + 0x37478: 0x6dcce020, 0x37479: 0x6dcce220, 0x3747a: 0x6dcce420, 0x3747b: 0x6dcce620, + 0x3747c: 0x6dcce820, 0x3747d: 0x6dccea20, 0x3747e: 0x6dccec20, 0x3747f: 0x6dccee20, + // Block 0xdd2, offset 0x37480 + 0x37480: 0x6dccf020, 0x37481: 0x6dccf220, 0x37482: 0x6dccf420, 0x37483: 0x6dccf620, + 0x37484: 0x6dccf820, 0x37485: 0x6dccfa20, 0x37486: 0x6dccfc20, 0x37487: 0x6dccfe20, + 0x37488: 0x6dcd0020, 0x37489: 0x6dcd0220, 0x3748a: 0x6de7cc20, 0x3748b: 0x6dcd0420, + 0x3748c: 0x6dcd0620, 0x3748d: 0x6dcd0820, 0x3748e: 0x6dcd0a20, 0x3748f: 0x6dcd0c20, + 0x37490: 0x6dcd0e20, 0x37491: 0x6dcd1020, 0x37492: 0x6dcd1220, 0x37493: 0x6dcd1420, + 0x37494: 0x6dcd1620, 0x37495: 0x6de7ce20, 0x37496: 0x6de7d020, 0x37497: 0x6de7d220, + 0x37498: 0x6de7d420, 0x37499: 0x6de7d620, 0x3749a: 0x6de7d820, 0x3749b: 0x6de7da20, + 0x3749c: 0x6de7dc20, 0x3749d: 0x6de7de20, 0x3749e: 0x6de7e020, 0x3749f: 0x6de7e220, + 0x374a0: 0x6de7e420, 0x374a1: 0x6de7e620, 0x374a2: 0x6dfe5220, 0x374a3: 0x6de7e820, + 0x374a4: 0x6de7ea20, 0x374a5: 0x6de7ec20, 0x374a6: 0x6de7ee20, 0x374a7: 0x6de7f020, + 0x374a8: 0x6dfe5420, 0x374a9: 0x6dfe5620, 0x374aa: 0x6dfe5820, 0x374ab: 0x6dfe5a20, + 0x374ac: 0x6dfe5c20, 0x374ad: 0x6dfe5e20, 0x374ae: 0x6dfe6020, 0x374af: 0x6dfe6220, + 0x374b0: 0x6dfe6420, 0x374b1: 0x6dfe6620, 0x374b2: 0x6dfe6820, 0x374b3: 0x6dfe6a20, + 0x374b4: 0x6dfe6c20, 0x374b5: 0x6dfe6e20, 0x374b6: 0x6dfe7020, 0x374b7: 0x6e046620, + 0x374b8: 0x6dfe7220, 0x374b9: 0x6dfe7420, 0x374ba: 0x6dfe7620, 0x374bb: 0x6dfe7820, + 0x374bc: 0x6dfe7a20, 0x374bd: 0x6dfe7c20, 0x374be: 0x6dfe7e20, 0x374bf: 0x6dfe8020, + // Block 0xdd3, offset 0x374c0 + 0x374c0: 0x6e10d220, 0x374c1: 0x6e10d420, 0x374c2: 0x6e10d620, 0x374c3: 0x6e10d820, + 0x374c4: 0x6e10da20, 0x374c5: 0x6e10dc20, 0x374c6: 0x6e1f6c20, 0x374c7: 0x6e1f6e20, + 0x374c8: 0x6e1f7020, 0x374c9: 0x6e1f7220, 0x374ca: 0x6e2aaa20, 0x374cb: 0x6e2aac20, + 0x374cc: 0x6e2aae20, 0x374cd: 0x6e2ab020, 0x374ce: 0x6e2ab220, 0x374cf: 0x6e2ab420, + 0x374d0: 0x6e2ab620, 0x374d1: 0x6e2ab820, 0x374d2: 0x6e2aba20, 0x374d3: 0x6e334020, + 0x374d4: 0x6e328a20, 0x374d5: 0x6e334220, 0x374d6: 0x6e334420, 0x374d7: 0x6e394e20, + 0x374d8: 0x6e395020, 0x374d9: 0x6e395220, 0x374da: 0x6e395420, 0x374db: 0x6e3da420, + 0x374dc: 0x6e3da620, 0x374dd: 0x6e3da820, 0x374de: 0x6e444a20, 0x374df: 0x6e444c20, + 0x374e0: 0x6e463420, 0x374e1: 0x6e46cc20, 0x374e2: 0x6c0a4220, 0x374e3: 0x6c258020, + 0x374e4: 0x6c258220, 0x374e5: 0x6c258420, 0x374e6: 0x6c258620, 0x374e7: 0x6c3d7220, + 0x374e8: 0x6c3d7420, 0x374e9: 0x6c3d7620, 0x374ea: 0x6c3d7820, 0x374eb: 0x6c3d7a20, + 0x374ec: 0x6c3d7c20, 0x374ed: 0x6c3d7e20, 0x374ee: 0x6c3d8020, 0x374ef: 0x6c3d8220, + 0x374f0: 0x6c3d8420, 0x374f1: 0x6c3d8620, 0x374f2: 0x6c3d8820, 0x374f3: 0x6c3d8a20, + 0x374f4: 0x6c5baa20, 0x374f5: 0x6c5bac20, 0x374f6: 0x6c5bae20, 0x374f7: 0x6c5bb020, + 0x374f8: 0x6c5bb220, 0x374f9: 0x6c5bb420, 0x374fa: 0x6c5bb620, 0x374fb: 0x6c5bb820, + 0x374fc: 0x6c5bba20, 0x374fd: 0x6c5bbc20, 0x374fe: 0x6c5bbe20, 0x374ff: 0x6c5bc020, + // Block 0xdd4, offset 0x37500 + 0x37500: 0x6c5bc220, 0x37501: 0x6c5bc420, 0x37502: 0x6c5bc620, 0x37503: 0x6c5bc820, + 0x37504: 0x6c5bca20, 0x37505: 0x6c5bcc20, 0x37506: 0x6c5bce20, 0x37507: 0x6c7ec220, + 0x37508: 0x6c7ec420, 0x37509: 0x6c7ec620, 0x3750a: 0x6c7ec820, 0x3750b: 0x6c7eca20, + 0x3750c: 0x6c7ecc20, 0x3750d: 0x6c7ece20, 0x3750e: 0x6c7ed020, 0x3750f: 0x6c7ed220, + 0x37510: 0x6c7ed420, 0x37511: 0x6c7ed620, 0x37512: 0x6c7ed820, 0x37513: 0x6c7eda20, + 0x37514: 0x6c7edc20, 0x37515: 0x6c7ede20, 0x37516: 0x6c7ee020, 0x37517: 0x6c7ee220, + 0x37518: 0x6c7ee420, 0x37519: 0x6c7ee620, 0x3751a: 0x6c7ee820, 0x3751b: 0x6c7eea20, + 0x3751c: 0x6c7eec20, 0x3751d: 0x6c7eee20, 0x3751e: 0x6c7ef020, 0x3751f: 0x6c7ef220, + 0x37520: 0x6ca79420, 0x37521: 0x6ca79620, 0x37522: 0x6ca79820, 0x37523: 0x6ca79a20, + 0x37524: 0x6ca79c20, 0x37525: 0x6ca79e20, 0x37526: 0x6ca7a020, 0x37527: 0x6ca7a220, + 0x37528: 0x6ca7a420, 0x37529: 0x6ca7a620, 0x3752a: 0x6ca7a820, 0x3752b: 0x6ca7aa20, + 0x3752c: 0x6ca7ac20, 0x3752d: 0x6ca7ae20, 0x3752e: 0x6ca7b020, 0x3752f: 0x6ca7b220, + 0x37530: 0x6ca7b420, 0x37531: 0x6ca7b620, 0x37532: 0x6ca7b820, 0x37533: 0x6ca7ba20, + 0x37534: 0x6ca7bc20, 0x37535: 0x6ca7be20, 0x37536: 0x6cd5ba20, 0x37537: 0x6cd5bc20, + 0x37538: 0x6cd5be20, 0x37539: 0x6cd5c020, 0x3753a: 0x6cd5c220, 0x3753b: 0x6cd5c420, + 0x3753c: 0x6cd5c620, 0x3753d: 0x6cd5c820, 0x3753e: 0x6cd5ca20, 0x3753f: 0x6cd5cc20, + // Block 0xdd5, offset 0x37540 + 0x37540: 0x6cd5ce20, 0x37541: 0x6cd5d020, 0x37542: 0x6cd5d220, 0x37543: 0x6cd5d420, + 0x37544: 0x6cd5d620, 0x37545: 0x6cd5d820, 0x37546: 0x6cd5da20, 0x37547: 0x6cd5dc20, + 0x37548: 0x6cd5de20, 0x37549: 0x6cd5e020, 0x3754a: 0x6cd5e220, 0x3754b: 0x6cd5e420, + 0x3754c: 0x6cd5e620, 0x3754d: 0x6cd5e820, 0x3754e: 0x6cd5ea20, 0x3754f: 0x6cd5ec20, + 0x37550: 0x6cd5ee20, 0x37551: 0x6cd5f020, 0x37552: 0x6cd5f220, 0x37553: 0x6cd5f420, + 0x37554: 0x6cd5f620, 0x37555: 0x6cd5f820, 0x37556: 0x6cd5fa20, 0x37557: 0x6cd5fc20, + 0x37558: 0x6cd5fe20, 0x37559: 0x6cd60020, 0x3755a: 0x6cd60220, 0x3755b: 0x6d044620, + 0x3755c: 0x6d044820, 0x3755d: 0x6d044a20, 0x3755e: 0x6d044c20, 0x3755f: 0x6d044e20, + 0x37560: 0x6d045020, 0x37561: 0x6d045220, 0x37562: 0x6d045420, 0x37563: 0x6d045620, + 0x37564: 0x6d045820, 0x37565: 0x6d045a20, 0x37566: 0x6d045c20, 0x37567: 0x6d045e20, + 0x37568: 0x6d046020, 0x37569: 0x6d046220, 0x3756a: 0x6d046420, 0x3756b: 0x6d046620, + 0x3756c: 0x6d046820, 0x3756d: 0x6d046a20, 0x3756e: 0x6d046c20, 0x3756f: 0x6d046e20, + 0x37570: 0x6d047020, 0x37571: 0x6d047220, 0x37572: 0x6d047420, 0x37573: 0x6d047620, + 0x37574: 0x6d047820, 0x37575: 0x6d047a20, 0x37576: 0x6d047c20, 0x37577: 0x6d047e20, + 0x37578: 0x6d31d420, 0x37579: 0x6d31d620, 0x3757a: 0x6d31d820, 0x3757b: 0x6d31da20, + 0x3757c: 0x6d31dc20, 0x3757d: 0x6d31de20, 0x3757e: 0x6d31e020, 0x3757f: 0x6d31e220, + // Block 0xdd6, offset 0x37580 + 0x37580: 0x6d31e420, 0x37581: 0x6d31e620, 0x37582: 0x6d31e820, 0x37583: 0x6d31ea20, + 0x37584: 0x6d31ec20, 0x37585: 0x6d31ee20, 0x37586: 0x6d31f020, 0x37587: 0x6d31f220, + 0x37588: 0x6d31f420, 0x37589: 0x6d31f620, 0x3758a: 0x6d31f820, 0x3758b: 0x6d31fa20, + 0x3758c: 0x6d31fc20, 0x3758d: 0x6d31fe20, 0x3758e: 0x6d320020, 0x3758f: 0x6d320220, + 0x37590: 0x6d5e7e20, 0x37591: 0x6d5e8020, 0x37592: 0x6d5e8220, 0x37593: 0x6d5e8420, + 0x37594: 0x6d5e8620, 0x37595: 0x6d5e8820, 0x37596: 0x6d5e8a20, 0x37597: 0x6d5e8c20, + 0x37598: 0x6d5e8e20, 0x37599: 0x6d5e9020, 0x3759a: 0x6d5e9220, 0x3759b: 0x6d5e9420, + 0x3759c: 0x6d5e9620, 0x3759d: 0x6d5e9820, 0x3759e: 0x6d5e9a20, 0x3759f: 0x6d5e9c20, + 0x375a0: 0x6d5e9e20, 0x375a1: 0x6d5ea020, 0x375a2: 0x6d627c20, 0x375a3: 0x6d5ea220, + 0x375a4: 0x6d5ea420, 0x375a5: 0x6d5ea620, 0x375a6: 0x6d5ea820, 0x375a7: 0x6d5eaa20, + 0x375a8: 0x6d5eac20, 0x375a9: 0x6d5eae20, 0x375aa: 0x6d5eb020, 0x375ab: 0x6d5eb220, + 0x375ac: 0x6d88da20, 0x375ad: 0x6d88dc20, 0x375ae: 0x6d88de20, 0x375af: 0x6d88e020, + 0x375b0: 0x6d88e220, 0x375b1: 0x6d88e420, 0x375b2: 0x6d88e620, 0x375b3: 0x6d88e820, + 0x375b4: 0x6d88ea20, 0x375b5: 0x6d88ec20, 0x375b6: 0x6d88ee20, 0x375b7: 0x6d88f020, + 0x375b8: 0x6d88f220, 0x375b9: 0x6d88f420, 0x375ba: 0x6d88f620, 0x375bb: 0x6d88f820, + 0x375bc: 0x6dad5a20, 0x375bd: 0x6d88fa20, 0x375be: 0x6d88fc20, 0x375bf: 0x6d88fe20, + // Block 0xdd7, offset 0x375c0 + 0x375c0: 0x6d890020, 0x375c1: 0x6d890220, 0x375c2: 0x6d890420, 0x375c3: 0x6d890620, + 0x375c4: 0x6d890820, 0x375c5: 0x6d890a20, 0x375c6: 0x6d890c20, 0x375c7: 0x6d890e20, + 0x375c8: 0x6d891020, 0x375c9: 0x6d891220, 0x375ca: 0x6d891420, 0x375cb: 0x6d891620, + 0x375cc: 0x6dad5c20, 0x375cd: 0x6dad5e20, 0x375ce: 0x6dad6020, 0x375cf: 0x6dad6220, + 0x375d0: 0x6dad6420, 0x375d1: 0x6dad6620, 0x375d2: 0x6dad6820, 0x375d3: 0x6dad6a20, + 0x375d4: 0x6dad6c20, 0x375d5: 0x6dad6e20, 0x375d6: 0x6dad7020, 0x375d7: 0x6dad7220, + 0x375d8: 0x6dad7420, 0x375d9: 0x6dad7620, 0x375da: 0x6dad7820, 0x375db: 0x6dad7a20, + 0x375dc: 0x6dad7c20, 0x375dd: 0x6dad7e20, 0x375de: 0x6dad8020, 0x375df: 0x6dad8220, + 0x375e0: 0x6dcd2420, 0x375e1: 0x6dcd2620, 0x375e2: 0x6dcd2820, 0x375e3: 0x6dcd2a20, + 0x375e4: 0x6dcd2c20, 0x375e5: 0x6dcd2e20, 0x375e6: 0x6dcd3020, 0x375e7: 0x6dcd3220, + 0x375e8: 0x6dcd3420, 0x375e9: 0x6dad8420, 0x375ea: 0x6de7f820, 0x375eb: 0x6de7fa20, + 0x375ec: 0x6de7fc20, 0x375ed: 0x6de7fe20, 0x375ee: 0x6de80020, 0x375ef: 0x6de80220, + 0x375f0: 0x6dfe8820, 0x375f1: 0x6dfe8a20, 0x375f2: 0x6de80420, 0x375f3: 0x6dfe8c20, + 0x375f4: 0x6dfe8e20, 0x375f5: 0x6e10e420, 0x375f6: 0x6dfe9020, 0x375f7: 0x6dfe9220, + 0x375f8: 0x6dfe9420, 0x375f9: 0x6dfe9620, 0x375fa: 0x6dfe9820, 0x375fb: 0x6e10e620, + 0x375fc: 0x6e10e820, 0x375fd: 0x6e10ea20, 0x375fe: 0x6e10ec20, 0x375ff: 0x6e10ee20, + // Block 0xdd8, offset 0x37600 + 0x37600: 0x6e10f020, 0x37601: 0x6e10f220, 0x37602: 0x6e10f420, 0x37603: 0x6e10f620, + 0x37604: 0x6e10f820, 0x37605: 0x6e10fa20, 0x37606: 0x6e10fc20, 0x37607: 0x6e10fe20, + 0x37608: 0x6e110020, 0x37609: 0x6e1f7a20, 0x3760a: 0x6e2abc20, 0x3760b: 0x6e2abe20, + 0x3760c: 0x6e334620, 0x3760d: 0x6e334820, 0x3760e: 0x6e395620, 0x3760f: 0x6e334a20, + 0x37610: 0x6e334c20, 0x37611: 0x6e334e20, 0x37612: 0x6e395820, 0x37613: 0x6e3daa20, + 0x37614: 0x6e444e20, 0x37615: 0x6c258e20, 0x37616: 0x6c259020, 0x37617: 0x6c3d9420, + 0x37618: 0x6c3d9620, 0x37619: 0x6c5be620, 0x3761a: 0x6c5be820, 0x3761b: 0x6c5bea20, + 0x3761c: 0x6c5bec20, 0x3761d: 0x6c5bee20, 0x3761e: 0x6c5bf020, 0x3761f: 0x6c5bf220, + 0x37620: 0x6c7f0c20, 0x37621: 0x6c7f0e20, 0x37622: 0x6c7f1020, 0x37623: 0x6c7f1220, + 0x37624: 0x6c7f1420, 0x37625: 0x6c7f1620, 0x37626: 0x6c7f1820, 0x37627: 0x6c7f1a20, + 0x37628: 0x6c7f1c20, 0x37629: 0x6c7f1e20, 0x3762a: 0x6c7f2020, 0x3762b: 0x6c7f2220, + 0x3762c: 0x6c7f2420, 0x3762d: 0x6c7f2620, 0x3762e: 0x6c7f2820, 0x3762f: 0x6c7f2a20, + 0x37630: 0x6c7f2c20, 0x37631: 0x6ca7ca20, 0x37632: 0x6ca7cc20, 0x37633: 0x6ca7ce20, + 0x37634: 0x6ca7d020, 0x37635: 0x6ca7d220, 0x37636: 0x6ca7d420, 0x37637: 0x6ca7d620, + 0x37638: 0x6ca7d820, 0x37639: 0x6ca7da20, 0x3763a: 0x6ca7dc20, 0x3763b: 0x6ca7de20, + 0x3763c: 0x6ca7e020, 0x3763d: 0x6ca7e220, 0x3763e: 0x6cd61a20, 0x3763f: 0x6cd61c20, + // Block 0xdd9, offset 0x37640 + 0x37640: 0x6cd61e20, 0x37641: 0x6cd62020, 0x37642: 0x6cd62220, 0x37643: 0x6cd62420, + 0x37644: 0x6cd62620, 0x37645: 0x6cd62820, 0x37646: 0x6cd62a20, 0x37647: 0x6cd62c20, + 0x37648: 0x6cd62e20, 0x37649: 0x6cd63020, 0x3764a: 0x6d049620, 0x3764b: 0x6d049820, + 0x3764c: 0x6d049a20, 0x3764d: 0x6d049c20, 0x3764e: 0x6d049e20, 0x3764f: 0x6d04a020, + 0x37650: 0x6d04a220, 0x37651: 0x6d04a420, 0x37652: 0x6d04a620, 0x37653: 0x6d04a820, + 0x37654: 0x6d04aa20, 0x37655: 0x6d04ac20, 0x37656: 0x6d04ae20, 0x37657: 0x6d04b020, + 0x37658: 0x6d321020, 0x37659: 0x6d321220, 0x3765a: 0x6d321420, 0x3765b: 0x6d321620, + 0x3765c: 0x6d321820, 0x3765d: 0x6d321a20, 0x3765e: 0x6d321c20, 0x3765f: 0x6d321e20, + 0x37660: 0x6d322020, 0x37661: 0x6d322220, 0x37662: 0x6d322420, 0x37663: 0x6d322620, + 0x37664: 0x6d322820, 0x37665: 0x6d5eb620, 0x37666: 0x6d5eb820, 0x37667: 0x6d5eba20, + 0x37668: 0x6d5ebc20, 0x37669: 0x6d5ebe20, 0x3766a: 0x6d5ec020, 0x3766b: 0x6d5ec220, + 0x3766c: 0x6d5ec420, 0x3766d: 0x6d892420, 0x3766e: 0x6d892620, 0x3766f: 0x6dad9020, + 0x37670: 0x6d892820, 0x37671: 0x6d892a20, 0x37672: 0x6dad9220, 0x37673: 0x6dad9420, + 0x37674: 0x6dad9620, 0x37675: 0x6dad9820, 0x37676: 0x6dad9a20, 0x37677: 0x6dad9c20, + 0x37678: 0x6dad9e20, 0x37679: 0x6dada020, 0x3767a: 0x6de80820, 0x3767b: 0x6dada220, + 0x3767c: 0x6dcd3c20, 0x3767d: 0x6dcd3e20, 0x3767e: 0x6dcd4020, 0x3767f: 0x6dcd4220, + // Block 0xdda, offset 0x37680 + 0x37680: 0x6dcd4420, 0x37681: 0x6dcd4620, 0x37682: 0x6dc73620, 0x37683: 0x6dcd4820, + 0x37684: 0x6dcd4a20, 0x37685: 0x6de80a20, 0x37686: 0x6de80c20, 0x37687: 0x6de80e20, + 0x37688: 0x6dfe9e20, 0x37689: 0x6dfea020, 0x3768a: 0x6dfea220, 0x3768b: 0x6dfea420, + 0x3768c: 0x6dfea620, 0x3768d: 0x6dfea820, 0x3768e: 0x6e110220, 0x3768f: 0x6e110420, + 0x37690: 0x6e1f8020, 0x37691: 0x6e1f8220, 0x37692: 0x6e395a20, 0x37693: 0x6e2ac220, + 0x37694: 0x6e335020, 0x37695: 0x6e395c20, 0x37696: 0x6e395e20, 0x37697: 0x6c141220, + 0x37698: 0x6c259420, 0x37699: 0x6c3d9e20, 0x3769a: 0x6c3da020, 0x3769b: 0x6c3da220, + 0x3769c: 0x6c3da420, 0x3769d: 0x6c5c0820, 0x3769e: 0x6c5c0a20, 0x3769f: 0x6c5c0c20, + 0x376a0: 0x6c5c0e20, 0x376a1: 0x6c5c1020, 0x376a2: 0x6c5c1220, 0x376a3: 0x6c5c1420, + 0x376a4: 0x6c5c1620, 0x376a5: 0x6c5c1820, 0x376a6: 0x6c5c1a20, 0x376a7: 0x6c5c1c20, + 0x376a8: 0x6c5c1e20, 0x376a9: 0x6c5c2020, 0x376aa: 0x6c5c2220, 0x376ab: 0x6c5c2420, + 0x376ac: 0x6c5c2620, 0x376ad: 0x6c5c2820, 0x376ae: 0x6c5c2a20, 0x376af: 0x6c7f6220, + 0x376b0: 0x6c7f6420, 0x376b1: 0x6c7f6620, 0x376b2: 0x6c7f6820, 0x376b3: 0x6c7f6a20, + 0x376b4: 0x6c7f6c20, 0x376b5: 0x6c7f6e20, 0x376b6: 0x6c7f7020, 0x376b7: 0x6c7f7220, + 0x376b8: 0x6c7f7420, 0x376b9: 0x6c7f7620, 0x376ba: 0x6c7f7820, 0x376bb: 0x6c7f7a20, + 0x376bc: 0x6c7f7c20, 0x376bd: 0x6c7f7e20, 0x376be: 0x6c7f8020, 0x376bf: 0x6c7f8220, + // Block 0xddb, offset 0x376c0 + 0x376c0: 0x6c7f8420, 0x376c1: 0x6c7f8620, 0x376c2: 0x6c7f8820, 0x376c3: 0x6c7f8a20, + 0x376c4: 0x6c7f8c20, 0x376c5: 0x6c7f8e20, 0x376c6: 0x6c7f9020, 0x376c7: 0x6c7f9220, + 0x376c8: 0x6c7f9420, 0x376c9: 0x6c7f9620, 0x376ca: 0x6c7f9820, 0x376cb: 0x6c7f9a20, + 0x376cc: 0x6ca84c20, 0x376cd: 0x6ca84e20, 0x376ce: 0x6ca85020, 0x376cf: 0x6ca85220, + 0x376d0: 0x6ca85420, 0x376d1: 0x6ca85620, 0x376d2: 0x6ca85820, 0x376d3: 0x6ca85a20, + 0x376d4: 0x6ca85c20, 0x376d5: 0x6ca85e20, 0x376d6: 0x6ca86020, 0x376d7: 0x6ca86220, + 0x376d8: 0x6ca86420, 0x376d9: 0x6ca86620, 0x376da: 0x6ca86820, 0x376db: 0x6ca86a20, + 0x376dc: 0x6ca86c20, 0x376dd: 0x6ca86e20, 0x376de: 0x6ca87020, 0x376df: 0x6ca87220, + 0x376e0: 0x6ca87420, 0x376e1: 0x6ca87620, 0x376e2: 0x6ca87820, 0x376e3: 0x6ca87a20, + 0x376e4: 0x6ca87c20, 0x376e5: 0x6ca87e20, 0x376e6: 0x6ca88020, 0x376e7: 0x6ca88220, + 0x376e8: 0x6ca88420, 0x376e9: 0x6ca88620, 0x376ea: 0x6cd69020, 0x376eb: 0x6cd69220, + 0x376ec: 0x6cd69420, 0x376ed: 0x6cd69620, 0x376ee: 0x6cd69820, 0x376ef: 0x6cd69a20, + 0x376f0: 0x6cd69c20, 0x376f1: 0x6cd69e20, 0x376f2: 0x6cd6a020, 0x376f3: 0x6cd6a220, + 0x376f4: 0x6cd6a420, 0x376f5: 0x6cd6a620, 0x376f6: 0x6cd6a820, 0x376f7: 0x6cd6aa20, + 0x376f8: 0x6cd6ac20, 0x376f9: 0x6cd6ae20, 0x376fa: 0x6cd6b020, 0x376fb: 0x6cd6b220, + 0x376fc: 0x6cd6b420, 0x376fd: 0x6cd6b620, 0x376fe: 0x6cd6b820, 0x376ff: 0x6ca88820, + // Block 0xddc, offset 0x37700 + 0x37700: 0x6cd6ba20, 0x37701: 0x6cd6bc20, 0x37702: 0x6cd6be20, 0x37703: 0x6cd6c020, + 0x37704: 0x6cd6c220, 0x37705: 0x6cd6c420, 0x37706: 0x6cd6c620, 0x37707: 0x6cd6c820, + 0x37708: 0x6cd6ca20, 0x37709: 0x6cd6cc20, 0x3770a: 0x6cd6ce20, 0x3770b: 0x6cd6d020, + 0x3770c: 0x6cd6d220, 0x3770d: 0x6cd6d420, 0x3770e: 0x6cd6d620, 0x3770f: 0x6cd6d820, + 0x37710: 0x6d051220, 0x37711: 0x6d051420, 0x37712: 0x6d051620, 0x37713: 0x6d051820, + 0x37714: 0x6d051a20, 0x37715: 0x6d051c20, 0x37716: 0x6d051e20, 0x37717: 0x6d052020, + 0x37718: 0x6d052220, 0x37719: 0x6d052420, 0x3771a: 0x6d052620, 0x3771b: 0x6d052820, + 0x3771c: 0x6d052a20, 0x3771d: 0x6d052c20, 0x3771e: 0x6d052e20, 0x3771f: 0x6d053020, + 0x37720: 0x6d053220, 0x37721: 0x6d053420, 0x37722: 0x6d053620, 0x37723: 0x6d053820, + 0x37724: 0x6d053a20, 0x37725: 0x6d053c20, 0x37726: 0x6d053e20, 0x37727: 0x6d054020, + 0x37728: 0x6d054220, 0x37729: 0x6d054420, 0x3772a: 0x6d054620, 0x3772b: 0x6d054820, + 0x3772c: 0x6d054a20, 0x3772d: 0x6d054c20, 0x3772e: 0x6d054e20, 0x3772f: 0x6d055020, + 0x37730: 0x6d055220, 0x37731: 0x6d055420, 0x37732: 0x6d055620, 0x37733: 0x6d055820, + 0x37734: 0x6d055a20, 0x37735: 0x6d055c20, 0x37736: 0x6d055e20, 0x37737: 0x6d056020, + 0x37738: 0x6d056220, 0x37739: 0x6d056420, 0x3773a: 0x6d056620, 0x3773b: 0x6d056820, + 0x3773c: 0x6d056a20, 0x3773d: 0x6d056c20, 0x3773e: 0x6d056e20, 0x3773f: 0x6d057020, + // Block 0xddd, offset 0x37740 + 0x37740: 0x6d057220, 0x37741: 0x6d057420, 0x37742: 0x6d057620, 0x37743: 0x6d057820, + 0x37744: 0x6d057a20, 0x37745: 0x6d057c20, 0x37746: 0x6d057e20, 0x37747: 0x6d058020, + 0x37748: 0x6d058220, 0x37749: 0x6d058420, 0x3774a: 0x6d058620, 0x3774b: 0x6d058820, + 0x3774c: 0x6d058a20, 0x3774d: 0x6d32a220, 0x3774e: 0x6d32a420, 0x3774f: 0x6d32a620, + 0x37750: 0x6d32a820, 0x37751: 0x6d32aa20, 0x37752: 0x6d32ac20, 0x37753: 0x6d32ae20, + 0x37754: 0x6d32b020, 0x37755: 0x6d32b220, 0x37756: 0x6d32b420, 0x37757: 0x6d32b620, + 0x37758: 0x6d32b820, 0x37759: 0x6d32ba20, 0x3775a: 0x6d32bc20, 0x3775b: 0x6d32be20, + 0x3775c: 0x6d32c020, 0x3775d: 0x6d32c220, 0x3775e: 0x6d32c420, 0x3775f: 0x6d32c620, + 0x37760: 0x6d32c820, 0x37761: 0x6d32ca20, 0x37762: 0x6d32cc20, 0x37763: 0x6d32ce20, + 0x37764: 0x6d32d020, 0x37765: 0x6d32d220, 0x37766: 0x6d32d420, 0x37767: 0x6d32d620, + 0x37768: 0x6d32d820, 0x37769: 0x6d32da20, 0x3776a: 0x6d32dc20, 0x3776b: 0x6d32de20, + 0x3776c: 0x6d32e020, 0x3776d: 0x6d32e220, 0x3776e: 0x6d32e420, 0x3776f: 0x6d32e620, + 0x37770: 0x6d32e820, 0x37771: 0x6d32ea20, 0x37772: 0x6d32ec20, 0x37773: 0x6d32ee20, + 0x37774: 0x6d32f020, 0x37775: 0x6d32f220, 0x37776: 0x6d32f420, 0x37777: 0x6d32f620, + 0x37778: 0x6d32f820, 0x37779: 0x6d32fa20, 0x3777a: 0x6d32fc20, 0x3777b: 0x6d32fe20, + 0x3777c: 0x6d330020, 0x3777d: 0x6d330220, 0x3777e: 0x6d330420, 0x3777f: 0x6d330620, + // Block 0xdde, offset 0x37780 + 0x37780: 0x6d330820, 0x37781: 0x6d330a20, 0x37782: 0x6d330c20, 0x37783: 0x6d330e20, + 0x37784: 0x6d331020, 0x37785: 0x6d331220, 0x37786: 0x6d331420, 0x37787: 0x6d331620, + 0x37788: 0x6d331820, 0x37789: 0x6d331a20, 0x3778a: 0x6d331c20, 0x3778b: 0x6d331e20, + 0x3778c: 0x6d332020, 0x3778d: 0x6d332220, 0x3778e: 0x6d332420, 0x3778f: 0x6d332620, + 0x37790: 0x6d332820, 0x37791: 0x6d5f4e20, 0x37792: 0x6d5f5020, 0x37793: 0x6d5f5220, + 0x37794: 0x6d5f5420, 0x37795: 0x6d5f5620, 0x37796: 0x6d5f5820, 0x37797: 0x6d5f5a20, + 0x37798: 0x6d5f5c20, 0x37799: 0x6d5f5e20, 0x3779a: 0x6d5f6020, 0x3779b: 0x6d5f6220, + 0x3779c: 0x6d5f6420, 0x3779d: 0x6d5f6620, 0x3779e: 0x6d5f6820, 0x3779f: 0x6d5f6a20, + 0x377a0: 0x6d5f6c20, 0x377a1: 0x6d5f6e20, 0x377a2: 0x6d5f7020, 0x377a3: 0x6d5f7220, + 0x377a4: 0x6d5f7420, 0x377a5: 0x6d5f7620, 0x377a6: 0x6d5f7820, 0x377a7: 0x6d5f7a20, + 0x377a8: 0x6d5f7c20, 0x377a9: 0x6d5f7e20, 0x377aa: 0x6d5f8020, 0x377ab: 0x6d5f8220, + 0x377ac: 0x6d5f8420, 0x377ad: 0x6d5f8620, 0x377ae: 0x6d5f8820, 0x377af: 0x6d5f8a20, + 0x377b0: 0x6d5f8c20, 0x377b1: 0x6d5f8e20, 0x377b2: 0x6d5f9020, 0x377b3: 0x6d5f9220, + 0x377b4: 0x6d5f9420, 0x377b5: 0x6d5f9620, 0x377b6: 0x6d5f9820, 0x377b7: 0x6d5f9a20, + 0x377b8: 0x6d5f9c20, 0x377b9: 0x6d5f9e20, 0x377ba: 0x6d5fa020, 0x377bb: 0x6d5fa220, + 0x377bc: 0x6d5fa420, 0x377bd: 0x6d5fa620, 0x377be: 0x6d5fa820, 0x377bf: 0x6d5faa20, + // Block 0xddf, offset 0x377c0 + 0x377c0: 0x6d5fac20, 0x377c1: 0x6d5fae20, 0x377c2: 0x6d5fb020, 0x377c3: 0x6d5fb220, + 0x377c4: 0x6d5fb420, 0x377c5: 0x6d5fb620, 0x377c6: 0x6d5fb820, 0x377c7: 0x6d5fba20, + 0x377c8: 0x6d5fbc20, 0x377c9: 0x6d5fbe20, 0x377ca: 0x6d5fc020, 0x377cb: 0x6d5fc220, + 0x377cc: 0x6d5fc420, 0x377cd: 0x6d5fc620, 0x377ce: 0x6d5fc820, 0x377cf: 0x6d5fca20, + 0x377d0: 0x6d5fcc20, 0x377d1: 0x6d5fce20, 0x377d2: 0x6d5fd020, 0x377d3: 0x6d5fd220, + 0x377d4: 0x6d5fd420, 0x377d5: 0x6d5fd620, 0x377d6: 0x6d5fd820, 0x377d7: 0x6d5fda20, + 0x377d8: 0x6d898620, 0x377d9: 0x6d898820, 0x377da: 0x6d898a20, 0x377db: 0x6d898c20, + 0x377dc: 0x6d898e20, 0x377dd: 0x6d899020, 0x377de: 0x6d899220, 0x377df: 0x6d899420, + 0x377e0: 0x6d899620, 0x377e1: 0x6d899820, 0x377e2: 0x6d899a20, 0x377e3: 0x6d899c20, + 0x377e4: 0x6d899e20, 0x377e5: 0x6d89a020, 0x377e6: 0x6d89a220, 0x377e7: 0x6d89a420, + 0x377e8: 0x6d89a620, 0x377e9: 0x6d89a820, 0x377ea: 0x6d89aa20, 0x377eb: 0x6d89ac20, + 0x377ec: 0x6d89ae20, 0x377ed: 0x6d89b020, 0x377ee: 0x6d89b220, 0x377ef: 0x6d89b420, + 0x377f0: 0x6d89b620, 0x377f1: 0x6d89b820, 0x377f2: 0x6d89ba20, 0x377f3: 0x6d89bc20, + 0x377f4: 0x6d89be20, 0x377f5: 0x6d89c020, 0x377f6: 0x6d89c220, 0x377f7: 0x6d89c420, + 0x377f8: 0x6d89c620, 0x377f9: 0x6d89c820, 0x377fa: 0x6d89ca20, 0x377fb: 0x6d89cc20, + 0x377fc: 0x6d89ce20, 0x377fd: 0x6d89d020, 0x377fe: 0x6d89d220, 0x377ff: 0x6d89d420, + // Block 0xde0, offset 0x37800 + 0x37800: 0x6d89d620, 0x37801: 0x6d89d820, 0x37802: 0x6d89da20, 0x37803: 0x6d89dc20, + 0x37804: 0x6d89de20, 0x37805: 0x6d89e020, 0x37806: 0x6d89e220, 0x37807: 0x6d89e420, + 0x37808: 0x6d89e620, 0x37809: 0x6d89e820, 0x3780a: 0x6d89ea20, 0x3780b: 0x6d89ec20, + 0x3780c: 0x6d89ee20, 0x3780d: 0x6d89f020, 0x3780e: 0x6d89f220, 0x3780f: 0x6d89f420, + 0x37810: 0x6d89f620, 0x37811: 0x6d89f820, 0x37812: 0x6d89fa20, 0x37813: 0x6d89fc20, + 0x37814: 0x6d89fe20, 0x37815: 0x6d8a0020, 0x37816: 0x6d8a0220, 0x37817: 0x6d8a0420, + 0x37818: 0x6d8a0620, 0x37819: 0x6d8a0820, 0x3781a: 0x6d8a0a20, 0x3781b: 0x6d8a0c20, + 0x3781c: 0x6d8a0e20, 0x3781d: 0x6d8a1020, 0x3781e: 0x6d8a1220, 0x3781f: 0x6d8a1420, + 0x37820: 0x6d8a1620, 0x37821: 0x6d8a1820, 0x37822: 0x6d8a1a20, 0x37823: 0x6d8a1c20, + 0x37824: 0x6d8a1e20, 0x37825: 0x6d8a2020, 0x37826: 0x6d8a2220, 0x37827: 0x6d8a2420, + 0x37828: 0x6d8a2620, 0x37829: 0x6d8a2820, 0x3782a: 0x6d8a2a20, 0x3782b: 0x6d8a2c20, + 0x3782c: 0x6d8a2e20, 0x3782d: 0x6d8a3020, 0x3782e: 0x6d8a3220, 0x3782f: 0x6d8a3420, + 0x37830: 0x6d8a3620, 0x37831: 0x6d8a3820, 0x37832: 0x6d8a3a20, 0x37833: 0x6d8a3c20, + 0x37834: 0x6d8a3e20, 0x37835: 0x6dae1220, 0x37836: 0x6dae1420, 0x37837: 0x6dae1620, + 0x37838: 0x6dae1820, 0x37839: 0x6dae1a20, 0x3783a: 0x6dae1c20, 0x3783b: 0x6dae1e20, + 0x3783c: 0x6dae2020, 0x3783d: 0x6dae2220, 0x3783e: 0x6dae2420, 0x3783f: 0x6dae2620, + // Block 0xde1, offset 0x37840 + 0x37840: 0x6dae2820, 0x37841: 0x6dae2a20, 0x37842: 0x6dae2c20, 0x37843: 0x6dae2e20, + 0x37844: 0x6dae3020, 0x37845: 0x6dae3220, 0x37846: 0x6dae3420, 0x37847: 0x6dae3620, + 0x37848: 0x6dae3820, 0x37849: 0x6dae3a20, 0x3784a: 0x6dae3c20, 0x3784b: 0x6dae3e20, + 0x3784c: 0x6dae4020, 0x3784d: 0x6dae4220, 0x3784e: 0x6dae4420, 0x3784f: 0x6dae4620, + 0x37850: 0x6dae4820, 0x37851: 0x6dae4a20, 0x37852: 0x6dae4c20, 0x37853: 0x6dae4e20, + 0x37854: 0x6dae5020, 0x37855: 0x6dae5220, 0x37856: 0x6dae5420, 0x37857: 0x6dae5620, + 0x37858: 0x6dae5820, 0x37859: 0x6dae5a20, 0x3785a: 0x6dae5c20, 0x3785b: 0x6dae5e20, + 0x3785c: 0x6dae6020, 0x3785d: 0x6dae6220, 0x3785e: 0x6dae6420, 0x3785f: 0x6dae6620, + 0x37860: 0x6dae6820, 0x37861: 0x6dae6a20, 0x37862: 0x6dae6c20, 0x37863: 0x6dae6e20, + 0x37864: 0x6dae7020, 0x37865: 0x6dae7220, 0x37866: 0x6dae7420, 0x37867: 0x6dae7620, + 0x37868: 0x6dae7820, 0x37869: 0x6dae7a20, 0x3786a: 0x6dae7c20, 0x3786b: 0x6dae7e20, + 0x3786c: 0x6dae8020, 0x3786d: 0x6dae8220, 0x3786e: 0x6dae8420, 0x3786f: 0x6dae8620, + 0x37870: 0x6dae8820, 0x37871: 0x6dae8a20, 0x37872: 0x6dae8c20, 0x37873: 0x6dae8e20, + 0x37874: 0x6dae9020, 0x37875: 0x6dae9220, 0x37876: 0x6dae9420, 0x37877: 0x6dae9620, + 0x37878: 0x6dae9820, 0x37879: 0x6dae9a20, 0x3787a: 0x6dae9c20, 0x3787b: 0x6dae9e20, + 0x3787c: 0x6daea020, 0x3787d: 0x6daea220, 0x3787e: 0x6daea420, 0x3787f: 0x6daea620, + // Block 0xde2, offset 0x37880 + 0x37880: 0x6daea820, 0x37881: 0x6dcda420, 0x37882: 0x6daeaa20, 0x37883: 0x6daeac20, + 0x37884: 0x6daeae20, 0x37885: 0x6daeb020, 0x37886: 0x6dcda620, 0x37887: 0x6dcda820, + 0x37888: 0x6dcdaa20, 0x37889: 0x6dcdac20, 0x3788a: 0x6dcdae20, 0x3788b: 0x6dcdb020, + 0x3788c: 0x6dcdb220, 0x3788d: 0x6dcdb420, 0x3788e: 0x6dcdb620, 0x3788f: 0x6dcdb820, + 0x37890: 0x6dcdba20, 0x37891: 0x6dcdbc20, 0x37892: 0x6dcdbe20, 0x37893: 0x6dcdc020, + 0x37894: 0x6dcdc220, 0x37895: 0x6dcdc420, 0x37896: 0x6dcdc620, 0x37897: 0x6dcdc820, + 0x37898: 0x6dcdca20, 0x37899: 0x6dcdcc20, 0x3789a: 0x6dcdce20, 0x3789b: 0x6dcdd020, + 0x3789c: 0x6dcdd220, 0x3789d: 0x6dcdd420, 0x3789e: 0x6dcdd620, 0x3789f: 0x6dcdd820, + 0x378a0: 0x6dcdda20, 0x378a1: 0x6dcddc20, 0x378a2: 0x6dcdde20, 0x378a3: 0x6dcde020, + 0x378a4: 0x6dcde220, 0x378a5: 0x6dcde420, 0x378a6: 0x6dcde620, 0x378a7: 0x6dcde820, + 0x378a8: 0x6dcdea20, 0x378a9: 0x6dcdec20, 0x378aa: 0x6dcdee20, 0x378ab: 0x6dcdf020, + 0x378ac: 0x6dcdf220, 0x378ad: 0x6dcdf420, 0x378ae: 0x6dcdf620, 0x378af: 0x6dcdf820, + 0x378b0: 0x6dcdfa20, 0x378b1: 0x6dcdfc20, 0x378b2: 0x6dcdfe20, 0x378b3: 0x6dce0020, + 0x378b4: 0x6dce0220, 0x378b5: 0x6dce0420, 0x378b6: 0x6dce0620, 0x378b7: 0x6dce0820, + 0x378b8: 0x6dce0a20, 0x378b9: 0x6dce0c20, 0x378ba: 0x6dce0e20, 0x378bb: 0x6dce1020, + 0x378bc: 0x6dce1220, 0x378bd: 0x6dce1420, 0x378be: 0x6dce1620, 0x378bf: 0x6dce1820, + // Block 0xde3, offset 0x378c0 + 0x378c0: 0x6dce1a20, 0x378c1: 0x6dce1c20, 0x378c2: 0x6dce1e20, 0x378c3: 0x6dce2020, + 0x378c4: 0x6dce2220, 0x378c5: 0x6dce2420, 0x378c6: 0x6dce2620, 0x378c7: 0x6dce2820, + 0x378c8: 0x6dce2a20, 0x378c9: 0x6dce2c20, 0x378ca: 0x6dce2e20, 0x378cb: 0x6dce3020, + 0x378cc: 0x6dce3220, 0x378cd: 0x6dce3420, 0x378ce: 0x6daeb220, 0x378cf: 0x6dce3620, + 0x378d0: 0x6dce3820, 0x378d1: 0x6dce3a20, 0x378d2: 0x6dce3c20, 0x378d3: 0x6dce3e20, + 0x378d4: 0x6dce4020, 0x378d5: 0x6dce4220, 0x378d6: 0x6dce4420, 0x378d7: 0x6dce4620, + 0x378d8: 0x6dce4820, 0x378d9: 0x6dce4a20, 0x378da: 0x6dce4c20, 0x378db: 0x6dce4e20, + 0x378dc: 0x6dce5020, 0x378dd: 0x6dce5220, 0x378de: 0x6dce5420, 0x378df: 0x6dce5620, + 0x378e0: 0x6dce5820, 0x378e1: 0x6de84820, 0x378e2: 0x6de84a20, 0x378e3: 0x6de84c20, + 0x378e4: 0x6de84e20, 0x378e5: 0x6de85020, 0x378e6: 0x6de85220, 0x378e7: 0x6de85420, + 0x378e8: 0x6de85620, 0x378e9: 0x6de85820, 0x378ea: 0x6de85a20, 0x378eb: 0x6de85c20, + 0x378ec: 0x6de85e20, 0x378ed: 0x6de86020, 0x378ee: 0x6de86220, 0x378ef: 0x6de86420, + 0x378f0: 0x6de86620, 0x378f1: 0x6de86820, 0x378f2: 0x6de86a20, 0x378f3: 0x6de86c20, + 0x378f4: 0x6de86e20, 0x378f5: 0x6de87020, 0x378f6: 0x6de87220, 0x378f7: 0x6de87420, + 0x378f8: 0x6de87620, 0x378f9: 0x6de87820, 0x378fa: 0x6de87a20, 0x378fb: 0x6de87c20, + 0x378fc: 0x6de87e20, 0x378fd: 0x6de88020, 0x378fe: 0x6de88220, 0x378ff: 0x6de88420, + // Block 0xde4, offset 0x37900 + 0x37900: 0x6de88620, 0x37901: 0x6de88820, 0x37902: 0x6de88a20, 0x37903: 0x6de88c20, + 0x37904: 0x6de88e20, 0x37905: 0x6de89020, 0x37906: 0x6de89220, 0x37907: 0x6de89420, + 0x37908: 0x6de89620, 0x37909: 0x6de89820, 0x3790a: 0x6de89a20, 0x3790b: 0x6de89c20, + 0x3790c: 0x6de89e20, 0x3790d: 0x6de8a020, 0x3790e: 0x6de8a220, 0x3790f: 0x6de8a420, + 0x37910: 0x6de8a620, 0x37911: 0x6de8a820, 0x37912: 0x6de8aa20, 0x37913: 0x6de8ac20, + 0x37914: 0x6de8ae20, 0x37915: 0x6de8b020, 0x37916: 0x6de8b220, 0x37917: 0x6de8b420, + 0x37918: 0x6de8b620, 0x37919: 0x6de8b820, 0x3791a: 0x6de8ba20, 0x3791b: 0x6de8bc20, + 0x3791c: 0x6dfec820, 0x3791d: 0x6dfeca20, 0x3791e: 0x6dfecc20, 0x3791f: 0x6dfece20, + 0x37920: 0x6dfed020, 0x37921: 0x6dfed220, 0x37922: 0x6dfed420, 0x37923: 0x6dfed620, + 0x37924: 0x6dfed820, 0x37925: 0x6dfeda20, 0x37926: 0x6dfedc20, 0x37927: 0x6dfede20, + 0x37928: 0x6dfee020, 0x37929: 0x6dfee220, 0x3792a: 0x6dfee420, 0x3792b: 0x6dfee620, + 0x3792c: 0x6dfee820, 0x3792d: 0x6dfeea20, 0x3792e: 0x6dfeec20, 0x3792f: 0x6dfeee20, + 0x37930: 0x6dfef020, 0x37931: 0x6dfef220, 0x37932: 0x6dfef420, 0x37933: 0x6dfef620, + 0x37934: 0x6dfef820, 0x37935: 0x6dfefa20, 0x37936: 0x6dfefc20, 0x37937: 0x6dfefe20, + 0x37938: 0x6dff0020, 0x37939: 0x6dff0220, 0x3793a: 0x6dff0420, 0x3793b: 0x6dff0620, + 0x3793c: 0x6dff0820, 0x3793d: 0x6dff0a20, 0x3793e: 0x6dff0c20, 0x3793f: 0x6dff0e20, + // Block 0xde5, offset 0x37940 + 0x37940: 0x6dff1020, 0x37941: 0x6dff1220, 0x37942: 0x6dff1420, 0x37943: 0x6dff1620, + 0x37944: 0x6dff1820, 0x37945: 0x6e112220, 0x37946: 0x6e112420, 0x37947: 0x6e112620, + 0x37948: 0x6e112820, 0x37949: 0x6e112a20, 0x3794a: 0x6e112c20, 0x3794b: 0x6e112e20, + 0x3794c: 0x6e113020, 0x3794d: 0x6e113220, 0x3794e: 0x6e113420, 0x3794f: 0x6e113620, + 0x37950: 0x6e113820, 0x37951: 0x6e113a20, 0x37952: 0x6e113c20, 0x37953: 0x6e113e20, + 0x37954: 0x6e114020, 0x37955: 0x6e114220, 0x37956: 0x6e114420, 0x37957: 0x6e114620, + 0x37958: 0x6e114820, 0x37959: 0x6e114a20, 0x3795a: 0x6e114c20, 0x3795b: 0x6e114e20, + 0x3795c: 0x6e115020, 0x3795d: 0x6e115220, 0x3795e: 0x6e115420, 0x3795f: 0x6e115620, + 0x37960: 0x6e115820, 0x37961: 0x6e115a20, 0x37962: 0x6e115c20, 0x37963: 0x6e115e20, + 0x37964: 0x6e116020, 0x37965: 0x6e116220, 0x37966: 0x6e116420, 0x37967: 0x6e116620, + 0x37968: 0x6e116820, 0x37969: 0x6e116a20, 0x3796a: 0x6e116c20, 0x3796b: 0x6e116e20, + 0x3796c: 0x6e117020, 0x3796d: 0x6e117220, 0x3796e: 0x6e117420, 0x3796f: 0x6e117620, + 0x37970: 0x6e117820, 0x37971: 0x6e117a20, 0x37972: 0x6e117c20, 0x37973: 0x6e117e20, + 0x37974: 0x6e118020, 0x37975: 0x6e1fa220, 0x37976: 0x6e1fa420, 0x37977: 0x6e1fa620, + 0x37978: 0x6e1fa820, 0x37979: 0x6e1faa20, 0x3797a: 0x6e1fac20, 0x3797b: 0x6e1fae20, + 0x3797c: 0x6e1fb020, 0x3797d: 0x6e1fb220, 0x3797e: 0x6e1fb420, 0x3797f: 0x6e1fb620, + // Block 0xde6, offset 0x37980 + 0x37980: 0x6e1fb820, 0x37981: 0x6e1fba20, 0x37982: 0x6e1fbc20, 0x37983: 0x6e1fbe20, + 0x37984: 0x6e1fc020, 0x37985: 0x6e1fc220, 0x37986: 0x6e1fc420, 0x37987: 0x6e1fc620, + 0x37988: 0x6e1fc820, 0x37989: 0x6e1fca20, 0x3798a: 0x6e1fcc20, 0x3798b: 0x6e1fce20, + 0x3798c: 0x6e1fd020, 0x3798d: 0x6e1fd220, 0x3798e: 0x6e1fd420, 0x3798f: 0x6e1fd620, + 0x37990: 0x6e1fd820, 0x37991: 0x6e1fda20, 0x37992: 0x6e1fdc20, 0x37993: 0x6e1fde20, + 0x37994: 0x6e2ada20, 0x37995: 0x6e2adc20, 0x37996: 0x6e2ade20, 0x37997: 0x6e2ae020, + 0x37998: 0x6e2ae220, 0x37999: 0x6e2ae420, 0x3799a: 0x6e2ae620, 0x3799b: 0x6e2ae820, + 0x3799c: 0x6e2aea20, 0x3799d: 0x6e2aec20, 0x3799e: 0x6e2aee20, 0x3799f: 0x6e2af020, + 0x379a0: 0x6e2af220, 0x379a1: 0x6e2af420, 0x379a2: 0x6e2af620, 0x379a3: 0x6e2af820, + 0x379a4: 0x6e2afa20, 0x379a5: 0x6e2afc20, 0x379a6: 0x6e2afe20, 0x379a7: 0x6e2b0020, + 0x379a8: 0x6e335620, 0x379a9: 0x6e335820, 0x379aa: 0x6e335a20, 0x379ab: 0x6e335c20, + 0x379ac: 0x6e335e20, 0x379ad: 0x6e336020, 0x379ae: 0x6e336220, 0x379af: 0x6e336420, + 0x379b0: 0x6e336620, 0x379b1: 0x6e336820, 0x379b2: 0x6e336a20, 0x379b3: 0x6e336c20, + 0x379b4: 0x6e336e20, 0x379b5: 0x6e337020, 0x379b6: 0x6e337220, 0x379b7: 0x6e337420, + 0x379b8: 0x6e337620, 0x379b9: 0x6e337820, 0x379ba: 0x6e337a20, 0x379bb: 0x6e337c20, + 0x379bc: 0x6e396a20, 0x379bd: 0x6e396c20, 0x379be: 0x6e396e20, 0x379bf: 0x6e397020, + // Block 0xde7, offset 0x379c0 + 0x379c0: 0x6e397220, 0x379c1: 0x6e397420, 0x379c2: 0x6e397620, 0x379c3: 0x6e397820, + 0x379c4: 0x6e397a20, 0x379c5: 0x6e397c20, 0x379c6: 0x6e397e20, 0x379c7: 0x6e398020, + 0x379c8: 0x6e3db220, 0x379c9: 0x6e3db420, 0x379ca: 0x6e3db620, 0x379cb: 0x6e3db820, + 0x379cc: 0x6e3dba20, 0x379cd: 0x6e3dbc20, 0x379ce: 0x6e3dbe20, 0x379cf: 0x6e3dc020, + 0x379d0: 0x6e409020, 0x379d1: 0x6e409220, 0x379d2: 0x6e409420, 0x379d3: 0x6e409620, + 0x379d4: 0x6e409820, 0x379d5: 0x6e409a20, 0x379d6: 0x6e409c20, 0x379d7: 0x6e42d420, + 0x379d8: 0x6e445020, 0x379d9: 0x6e445220, 0x379da: 0x6e42d620, 0x379db: 0x6e42d820, + 0x379dc: 0x6e42da20, 0x379dd: 0x6e42dc20, 0x379de: 0x6e445420, 0x379df: 0x6e445620, + 0x379e0: 0x6e445820, 0x379e1: 0x6e453620, 0x379e2: 0x6e453820, 0x379e3: 0x6e45c620, + 0x379e4: 0x6e463820, 0x379e5: 0x6c259620, 0x379e6: 0x6c259820, 0x379e7: 0x6c3dae20, + 0x379e8: 0x6c3db020, 0x379e9: 0x6c3db220, 0x379ea: 0x6c3db420, 0x379eb: 0x6c5c4a20, + 0x379ec: 0x6c5c4c20, 0x379ed: 0x6c5c4e20, 0x379ee: 0x6c5c5020, 0x379ef: 0x6c5c5220, + 0x379f0: 0x6c5c5420, 0x379f1: 0x6c5c5620, 0x379f2: 0x6c5c5820, 0x379f3: 0x6c7fcc20, + 0x379f4: 0x6c7fce20, 0x379f5: 0x6c7fd020, 0x379f6: 0x6c7fd220, 0x379f7: 0x6c7fd420, + 0x379f8: 0x6c7fd620, 0x379f9: 0x6c7fd820, 0x379fa: 0x6c7fda20, 0x379fb: 0x6c7fdc20, + 0x379fc: 0x6c7fde20, 0x379fd: 0x6c7fe020, 0x379fe: 0x6c7fe220, 0x379ff: 0x6c7fe420, + // Block 0xde8, offset 0x37a00 + 0x37a00: 0x6c7fe620, 0x37a01: 0x6ca8b620, 0x37a02: 0x6ca8b820, 0x37a03: 0x6ca8ba20, + 0x37a04: 0x6ca8bc20, 0x37a05: 0x6ca8be20, 0x37a06: 0x6ca8c020, 0x37a07: 0x6ca8c220, + 0x37a08: 0x6ca8c420, 0x37a09: 0x6ca8c620, 0x37a0a: 0x6ca8c820, 0x37a0b: 0x6ca8ca20, + 0x37a0c: 0x6ca8cc20, 0x37a0d: 0x6ca8ce20, 0x37a0e: 0x6ca8d020, 0x37a0f: 0x6ca8d220, + 0x37a10: 0x6ca8d420, 0x37a11: 0x6ca8d620, 0x37a12: 0x6ca8d820, 0x37a13: 0x6ca8da20, + 0x37a14: 0x6ca8dc20, 0x37a15: 0x6ca8de20, 0x37a16: 0x6ca8e020, 0x37a17: 0x6cd70a20, + 0x37a18: 0x6ca8e220, 0x37a19: 0x6ca8e420, 0x37a1a: 0x6cd70c20, 0x37a1b: 0x6cd70e20, + 0x37a1c: 0x6cd71020, 0x37a1d: 0x6cd71220, 0x37a1e: 0x6cd71420, 0x37a1f: 0x6cd71620, + 0x37a20: 0x6cd71820, 0x37a21: 0x6cd71a20, 0x37a22: 0x6cd71c20, 0x37a23: 0x6cd71e20, + 0x37a24: 0x6cd72020, 0x37a25: 0x6cd72220, 0x37a26: 0x6cd72420, 0x37a27: 0x6cd72620, + 0x37a28: 0x6cd72820, 0x37a29: 0x6cd72a20, 0x37a2a: 0x6cd72c20, 0x37a2b: 0x6cd72e20, + 0x37a2c: 0x6cd73020, 0x37a2d: 0x6cd73220, 0x37a2e: 0x6cd73420, 0x37a2f: 0x6cd73620, + 0x37a30: 0x6cd73820, 0x37a31: 0x6ca8e620, 0x37a32: 0x6d05b620, 0x37a33: 0x6d05b820, + 0x37a34: 0x6d05ba20, 0x37a35: 0x6d05bc20, 0x37a36: 0x6d05be20, 0x37a37: 0x6d05c020, + 0x37a38: 0x6d05c220, 0x37a39: 0x6d05c420, 0x37a3a: 0x6d05c620, 0x37a3b: 0x6d05c820, + 0x37a3c: 0x6d05ca20, 0x37a3d: 0x6d05cc20, 0x37a3e: 0x6d05ce20, 0x37a3f: 0x6d05d020, + // Block 0xde9, offset 0x37a40 + 0x37a40: 0x6d05d220, 0x37a41: 0x6d05d420, 0x37a42: 0x6d05d620, 0x37a43: 0x6d05d820, + 0x37a44: 0x6d05da20, 0x37a45: 0x6d05dc20, 0x37a46: 0x6d05de20, 0x37a47: 0x6d05e020, + 0x37a48: 0x6d05e220, 0x37a49: 0x6d05e420, 0x37a4a: 0x6d05e620, 0x37a4b: 0x6d05e820, + 0x37a4c: 0x6d05ea20, 0x37a4d: 0x6d05ec20, 0x37a4e: 0x6d05ee20, 0x37a4f: 0x6d05f020, + 0x37a50: 0x6d05f220, 0x37a51: 0x6d05f420, 0x37a52: 0x6d05f620, 0x37a53: 0x6d05f820, + 0x37a54: 0x6d05fa20, 0x37a55: 0x6d05fc20, 0x37a56: 0x6d05fe20, 0x37a57: 0x6d060020, + 0x37a58: 0x6d335a20, 0x37a59: 0x6d335c20, 0x37a5a: 0x6d335e20, 0x37a5b: 0x6d336020, + 0x37a5c: 0x6d336220, 0x37a5d: 0x6d336420, 0x37a5e: 0x6d336620, 0x37a5f: 0x6d336820, + 0x37a60: 0x6d336a20, 0x37a61: 0x6d336c20, 0x37a62: 0x6d336e20, 0x37a63: 0x6d337020, + 0x37a64: 0x6d337220, 0x37a65: 0x6d337420, 0x37a66: 0x6d337620, 0x37a67: 0x6d337820, + 0x37a68: 0x6d337a20, 0x37a69: 0x6d337c20, 0x37a6a: 0x6d337e20, 0x37a6b: 0x6d338020, + 0x37a6c: 0x6d338220, 0x37a6d: 0x6d338420, 0x37a6e: 0x6d338620, 0x37a6f: 0x6d338820, + 0x37a70: 0x6d338a20, 0x37a71: 0x6d338c20, 0x37a72: 0x6d338e20, 0x37a73: 0x6d339020, + 0x37a74: 0x6d339220, 0x37a75: 0x6d339420, 0x37a76: 0x6d339620, 0x37a77: 0x6d339820, + 0x37a78: 0x6d339a20, 0x37a79: 0x6d339c20, 0x37a7a: 0x6d339e20, 0x37a7b: 0x6d33a020, + 0x37a7c: 0x6d33a220, 0x37a7d: 0x6d33a420, 0x37a7e: 0x6d33a620, 0x37a7f: 0x6d33a820, + // Block 0xdea, offset 0x37a80 + 0x37a80: 0x6d33aa20, 0x37a81: 0x6d601820, 0x37a82: 0x6d601a20, 0x37a83: 0x6d601c20, + 0x37a84: 0x6d601e20, 0x37a85: 0x6d602020, 0x37a86: 0x6d602220, 0x37a87: 0x6d602420, + 0x37a88: 0x6d602620, 0x37a89: 0x6d602820, 0x37a8a: 0x6d602a20, 0x37a8b: 0x6d602c20, + 0x37a8c: 0x6d602e20, 0x37a8d: 0x6d603020, 0x37a8e: 0x6d603220, 0x37a8f: 0x6d603420, + 0x37a90: 0x6d603620, 0x37a91: 0x6d603820, 0x37a92: 0x6d603a20, 0x37a93: 0x6d603c20, + 0x37a94: 0x6d603e20, 0x37a95: 0x6d604020, 0x37a96: 0x6d604220, 0x37a97: 0x6d604420, + 0x37a98: 0x6d604620, 0x37a99: 0x6d604820, 0x37a9a: 0x6d604a20, 0x37a9b: 0x6d604c20, + 0x37a9c: 0x6d604e20, 0x37a9d: 0x6d605020, 0x37a9e: 0x6d605220, 0x37a9f: 0x6d605420, + 0x37aa0: 0x6d605620, 0x37aa1: 0x6d605820, 0x37aa2: 0x6d605a20, 0x37aa3: 0x6d605c20, + 0x37aa4: 0x6d8a6e20, 0x37aa5: 0x6d8a7020, 0x37aa6: 0x6d8a7220, 0x37aa7: 0x6d8a7420, + 0x37aa8: 0x6d8a7620, 0x37aa9: 0x6d8a7820, 0x37aaa: 0x6d8a7a20, 0x37aab: 0x6d8a7c20, + 0x37aac: 0x6d8a7e20, 0x37aad: 0x6d8a8020, 0x37aae: 0x6d8a8220, 0x37aaf: 0x6d8a8420, + 0x37ab0: 0x6d8a8620, 0x37ab1: 0x6d8a8820, 0x37ab2: 0x6d8a8a20, 0x37ab3: 0x6d8a8c20, + 0x37ab4: 0x6d8a8e20, 0x37ab5: 0x6d8a9020, 0x37ab6: 0x6d8a9220, 0x37ab7: 0x6d8a9420, + 0x37ab8: 0x6d8a9620, 0x37ab9: 0x6d8a9820, 0x37aba: 0x6d8a9a20, 0x37abb: 0x6d8a9c20, + 0x37abc: 0x6d8a9e20, 0x37abd: 0x6d8aa020, 0x37abe: 0x6d8aa220, 0x37abf: 0x6daeea20, + // Block 0xdeb, offset 0x37ac0 + 0x37ac0: 0x6daeec20, 0x37ac1: 0x6daeee20, 0x37ac2: 0x6daef020, 0x37ac3: 0x6daef220, + 0x37ac4: 0x6daef420, 0x37ac5: 0x6daef620, 0x37ac6: 0x6daef820, 0x37ac7: 0x6daefa20, + 0x37ac8: 0x6daefc20, 0x37ac9: 0x6daefe20, 0x37aca: 0x6daf0020, 0x37acb: 0x6daf0220, + 0x37acc: 0x6daf0420, 0x37acd: 0x6daf0620, 0x37ace: 0x6daf0820, 0x37acf: 0x6daf0a20, + 0x37ad0: 0x6daf0c20, 0x37ad1: 0x6daf0e20, 0x37ad2: 0x6daf1020, 0x37ad3: 0x6daf1220, + 0x37ad4: 0x6daf1420, 0x37ad5: 0x6daf1620, 0x37ad6: 0x6daf1820, 0x37ad7: 0x6dce7c20, + 0x37ad8: 0x6dce7e20, 0x37ad9: 0x6dce8020, 0x37ada: 0x6dce8220, 0x37adb: 0x6dce8420, + 0x37adc: 0x6dce8620, 0x37add: 0x6dce8820, 0x37ade: 0x6dce8a20, 0x37adf: 0x6dce8c20, + 0x37ae0: 0x6dce8e20, 0x37ae1: 0x6dce9020, 0x37ae2: 0x6dce9220, 0x37ae3: 0x6dce9420, + 0x37ae4: 0x6dce9620, 0x37ae5: 0x6dce9820, 0x37ae6: 0x6dce9a20, 0x37ae7: 0x6dce9c20, + 0x37ae8: 0x6dce9e20, 0x37ae9: 0x6dcea020, 0x37aea: 0x6dcea220, 0x37aeb: 0x6dcea420, + 0x37aec: 0x6dcea620, 0x37aed: 0x6dcea820, 0x37aee: 0x6dceaa20, 0x37aef: 0x6dceac20, + 0x37af0: 0x6dceae20, 0x37af1: 0x6dceb020, 0x37af2: 0x6dceb220, 0x37af3: 0x6dceb420, + 0x37af4: 0x6dceb620, 0x37af5: 0x6dceb820, 0x37af6: 0x6de8d220, 0x37af7: 0x6de8d420, + 0x37af8: 0x6de8d620, 0x37af9: 0x6de8d820, 0x37afa: 0x6de8da20, 0x37afb: 0x6de8dc20, + 0x37afc: 0x6de8de20, 0x37afd: 0x6de8e020, 0x37afe: 0x6de8e220, 0x37aff: 0x6de8e420, + // Block 0xdec, offset 0x37b00 + 0x37b00: 0x6de8e620, 0x37b01: 0x6de8e820, 0x37b02: 0x6de8ea20, 0x37b03: 0x6de8ec20, + 0x37b04: 0x6de8ee20, 0x37b05: 0x6de8f020, 0x37b06: 0x6de8f220, 0x37b07: 0x6de8f420, + 0x37b08: 0x6de8f620, 0x37b09: 0x6de8f820, 0x37b0a: 0x6de8fa20, 0x37b0b: 0x6de8fc20, + 0x37b0c: 0x6de8fe20, 0x37b0d: 0x6de90020, 0x37b0e: 0x6de90220, 0x37b0f: 0x6dff2620, + 0x37b10: 0x6dff2820, 0x37b11: 0x6dff2a20, 0x37b12: 0x6dff2c20, 0x37b13: 0x6dff2e20, + 0x37b14: 0x6dff3020, 0x37b15: 0x6dff3220, 0x37b16: 0x6dff3420, 0x37b17: 0x6e118e20, + 0x37b18: 0x6e119020, 0x37b19: 0x6e119220, 0x37b1a: 0x6e119420, 0x37b1b: 0x6e119620, + 0x37b1c: 0x6e119820, 0x37b1d: 0x6e119a20, 0x37b1e: 0x6e119c20, 0x37b1f: 0x6e119e20, + 0x37b20: 0x6e11a020, 0x37b21: 0x6e1fe820, 0x37b22: 0x6e11a220, 0x37b23: 0x6e11a420, + 0x37b24: 0x6e1fea20, 0x37b25: 0x6e1fec20, 0x37b26: 0x6e1fee20, 0x37b27: 0x6e1ff020, + 0x37b28: 0x6e1ff220, 0x37b29: 0x6e1ff420, 0x37b2a: 0x6e1ff620, 0x37b2b: 0x6e1ff820, + 0x37b2c: 0x6e2b0a20, 0x37b2d: 0x6e2b0c20, 0x37b2e: 0x6e2b0e20, 0x37b2f: 0x6e2b1020, + 0x37b30: 0x6e2b1220, 0x37b31: 0x6e338020, 0x37b32: 0x6e338220, 0x37b33: 0x6e338420, + 0x37b34: 0x6e338620, 0x37b35: 0x6e338820, 0x37b36: 0x6e398a20, 0x37b37: 0x6e398c20, + 0x37b38: 0x6e398e20, 0x37b39: 0x6e399020, 0x37b3a: 0x6e399220, 0x37b3b: 0x6e3dc420, + 0x37b3c: 0x6e3dc620, 0x37b3d: 0x6e3dc820, 0x37b3e: 0x6e3dca20, 0x37b3f: 0x6e3dcc20, + // Block 0xded, offset 0x37b40 + 0x37b40: 0x6e40a020, 0x37b41: 0x6e40a220, 0x37b42: 0x6e453a20, 0x37b43: 0x6e45c820, + 0x37b44: 0x6e468a20, 0x37b45: 0x6c3dc420, 0x37b46: 0x6c3dc620, 0x37b47: 0x6c3dc820, + 0x37b48: 0x6c3dca20, 0x37b49: 0x6c3dcc20, 0x37b4a: 0x6c3dce20, 0x37b4b: 0x6c3dd020, + 0x37b4c: 0x6c5c7a20, 0x37b4d: 0x6c5c7c20, 0x37b4e: 0x6c5c7e20, 0x37b4f: 0x6c5c8020, + 0x37b50: 0x6c5c8220, 0x37b51: 0x6c5c8420, 0x37b52: 0x6c5c8620, 0x37b53: 0x6c5c8820, + 0x37b54: 0x6c5c8a20, 0x37b55: 0x6c5c8c20, 0x37b56: 0x6c5c8e20, 0x37b57: 0x6c5c9020, + 0x37b58: 0x6c5c9220, 0x37b59: 0x6c804620, 0x37b5a: 0x6c804820, 0x37b5b: 0x6c804a20, + 0x37b5c: 0x6c804c20, 0x37b5d: 0x6c804e20, 0x37b5e: 0x6c805020, 0x37b5f: 0x6c805220, + 0x37b60: 0x6c805420, 0x37b61: 0x6c805620, 0x37b62: 0x6c805820, 0x37b63: 0x6c805a20, + 0x37b64: 0x6c805c20, 0x37b65: 0x6c805e20, 0x37b66: 0x6c806020, 0x37b67: 0x6c806220, + 0x37b68: 0x6c806420, 0x37b69: 0x6c806620, 0x37b6a: 0x6c806820, 0x37b6b: 0x6c806a20, + 0x37b6c: 0x6c806c20, 0x37b6d: 0x6c806e20, 0x37b6e: 0x6c807020, 0x37b6f: 0x6c807220, + 0x37b70: 0x6c807420, 0x37b71: 0x6c807620, 0x37b72: 0x6c807820, 0x37b73: 0x6c807a20, + 0x37b74: 0x6c807c20, 0x37b75: 0x6c807e20, 0x37b76: 0x6c808020, 0x37b77: 0x6c808220, + 0x37b78: 0x6c808420, 0x37b79: 0x6c808620, 0x37b7a: 0x6c808820, 0x37b7b: 0x6c808a20, + 0x37b7c: 0x6c808c20, 0x37b7d: 0x6c808e20, 0x37b7e: 0x6c809020, 0x37b7f: 0x6c809220, + // Block 0xdee, offset 0x37b80 + 0x37b80: 0x6c809420, 0x37b81: 0x6c809620, 0x37b82: 0x6c809820, 0x37b83: 0x6ca95220, + 0x37b84: 0x6ca95420, 0x37b85: 0x6ca95620, 0x37b86: 0x6ca95820, 0x37b87: 0x6ca95a20, + 0x37b88: 0x6ca95c20, 0x37b89: 0x6ca95e20, 0x37b8a: 0x6ca96020, 0x37b8b: 0x6ca96220, + 0x37b8c: 0x6ca96420, 0x37b8d: 0x6ca96620, 0x37b8e: 0x6ca96820, 0x37b8f: 0x6ca96a20, + 0x37b90: 0x6ca96c20, 0x37b91: 0x6ca96e20, 0x37b92: 0x6ca97020, 0x37b93: 0x6ca97220, + 0x37b94: 0x6ca97420, 0x37b95: 0x6ca97620, 0x37b96: 0x6ca97820, 0x37b97: 0x6ca97a20, + 0x37b98: 0x6ca97c20, 0x37b99: 0x6ca97e20, 0x37b9a: 0x6ca98020, 0x37b9b: 0x6ca98220, + 0x37b9c: 0x6ca98420, 0x37b9d: 0x6ca98620, 0x37b9e: 0x6ca98820, 0x37b9f: 0x6ca98a20, + 0x37ba0: 0x6ca98c20, 0x37ba1: 0x6ca98e20, 0x37ba2: 0x6ca99020, 0x37ba3: 0x6ca99220, + 0x37ba4: 0x6ca99420, 0x37ba5: 0x6ca99620, 0x37ba6: 0x6cd7ae20, 0x37ba7: 0x6cd7b020, + 0x37ba8: 0x6cd7b220, 0x37ba9: 0x6cd7b420, 0x37baa: 0x6cd7b620, 0x37bab: 0x6cd7b820, + 0x37bac: 0x6cd7ba20, 0x37bad: 0x6cd7bc20, 0x37bae: 0x6cd7be20, 0x37baf: 0x6cd7c020, + 0x37bb0: 0x6cd7c220, 0x37bb1: 0x6cd7c420, 0x37bb2: 0x6cd7c620, 0x37bb3: 0x6cd7c820, + 0x37bb4: 0x6cd7ca20, 0x37bb5: 0x6cd7cc20, 0x37bb6: 0x6cd7ce20, 0x37bb7: 0x6cd7d020, + 0x37bb8: 0x6cd7d220, 0x37bb9: 0x6cd7d420, 0x37bba: 0x6cd7d620, 0x37bbb: 0x6cd7d820, + 0x37bbc: 0x6cd7da20, 0x37bbd: 0x6cd7dc20, 0x37bbe: 0x6cd7de20, 0x37bbf: 0x6cd7e020, + // Block 0xdef, offset 0x37bc0 + 0x37bc0: 0x6cd7e220, 0x37bc1: 0x6cd7e420, 0x37bc2: 0x6cd7e620, 0x37bc3: 0x6cd7e820, + 0x37bc4: 0x6cd7ea20, 0x37bc5: 0x6cd7ec20, 0x37bc6: 0x6cd7ee20, 0x37bc7: 0x6cd7f020, + 0x37bc8: 0x6cd7f220, 0x37bc9: 0x6cd7f420, 0x37bca: 0x6cd7f620, 0x37bcb: 0x6cd7f820, + 0x37bcc: 0x6cd7fa20, 0x37bcd: 0x6cd7fc20, 0x37bce: 0x6cd7fe20, 0x37bcf: 0x6cd80020, + 0x37bd0: 0x6cd80220, 0x37bd1: 0x6cd80420, 0x37bd2: 0x6d065a20, 0x37bd3: 0x6d065c20, + 0x37bd4: 0x6d065e20, 0x37bd5: 0x6d066020, 0x37bd6: 0x6d066220, 0x37bd7: 0x6d066420, + 0x37bd8: 0x6d066620, 0x37bd9: 0x6d066820, 0x37bda: 0x6d066a20, 0x37bdb: 0x6d066c20, + 0x37bdc: 0x6d066e20, 0x37bdd: 0x6d067020, 0x37bde: 0x6d067220, 0x37bdf: 0x6d067420, + 0x37be0: 0x6d067620, 0x37be1: 0x6d067820, 0x37be2: 0x6d067a20, 0x37be3: 0x6d067c20, + 0x37be4: 0x6d067e20, 0x37be5: 0x6d068020, 0x37be6: 0x6d068220, 0x37be7: 0x6d068420, + 0x37be8: 0x6d068620, 0x37be9: 0x6d068820, 0x37bea: 0x6d068a20, 0x37beb: 0x6d068c20, + 0x37bec: 0x6d068e20, 0x37bed: 0x6d069020, 0x37bee: 0x6d069220, 0x37bef: 0x6d069420, + 0x37bf0: 0x6d069620, 0x37bf1: 0x6d069820, 0x37bf2: 0x6d069a20, 0x37bf3: 0x6d069c20, + 0x37bf4: 0x6d069e20, 0x37bf5: 0x6d06a020, 0x37bf6: 0x6d06a220, 0x37bf7: 0x6d06a420, + 0x37bf8: 0x6d06a620, 0x37bf9: 0x6d06a820, 0x37bfa: 0x6d06aa20, 0x37bfb: 0x6d06ac20, + 0x37bfc: 0x6d06ae20, 0x37bfd: 0x6d06b020, 0x37bfe: 0x6d06b220, 0x37bff: 0x6d06b420, + // Block 0xdf0, offset 0x37c00 + 0x37c00: 0x6d06b620, 0x37c01: 0x6d06b820, 0x37c02: 0x6d06ba20, 0x37c03: 0x6d06bc20, + 0x37c04: 0x6d06be20, 0x37c05: 0x6d06c020, 0x37c06: 0x6d344020, 0x37c07: 0x6d344220, + 0x37c08: 0x6d344420, 0x37c09: 0x6d344620, 0x37c0a: 0x6d344820, 0x37c0b: 0x6d344a20, + 0x37c0c: 0x6d344c20, 0x37c0d: 0x6d344e20, 0x37c0e: 0x6d345020, 0x37c0f: 0x6d345220, + 0x37c10: 0x6d345420, 0x37c11: 0x6d345620, 0x37c12: 0x6d345820, 0x37c13: 0x6d345a20, + 0x37c14: 0x6d345c20, 0x37c15: 0x6d345e20, 0x37c16: 0x6d346020, 0x37c17: 0x6d346220, + 0x37c18: 0x6d346420, 0x37c19: 0x6d346620, 0x37c1a: 0x6d346820, 0x37c1b: 0x6d346a20, + 0x37c1c: 0x6d346c20, 0x37c1d: 0x6d346e20, 0x37c1e: 0x6d347020, 0x37c1f: 0x6d347220, + 0x37c20: 0x6d347420, 0x37c21: 0x6d347620, 0x37c22: 0x6d347820, 0x37c23: 0x6d347a20, + 0x37c24: 0x6d347c20, 0x37c25: 0x6d347e20, 0x37c26: 0x6d348020, 0x37c27: 0x6d348220, + 0x37c28: 0x6d348420, 0x37c29: 0x6d348620, 0x37c2a: 0x6d348820, 0x37c2b: 0x6d348a20, + 0x37c2c: 0x6d348c20, 0x37c2d: 0x6d348e20, 0x37c2e: 0x6d349020, 0x37c2f: 0x6d349220, + 0x37c30: 0x6d349420, 0x37c31: 0x6d349620, 0x37c32: 0x6d349820, 0x37c33: 0x6d349a20, + 0x37c34: 0x6d349c20, 0x37c35: 0x6d349e20, 0x37c36: 0x6d34a020, 0x37c37: 0x6d34a220, + 0x37c38: 0x6d34a420, 0x37c39: 0x6d34a620, 0x37c3a: 0x6d34a820, 0x37c3b: 0x6d34aa20, + 0x37c3c: 0x6d34ac20, 0x37c3d: 0x6d34ae20, 0x37c3e: 0x6d34b020, 0x37c3f: 0x6d34b220, + // Block 0xdf1, offset 0x37c40 + 0x37c40: 0x6d60ee20, 0x37c41: 0x6d60f020, 0x37c42: 0x6d60f220, 0x37c43: 0x6d60f420, + 0x37c44: 0x6d60f620, 0x37c45: 0x6d60f820, 0x37c46: 0x6d60fa20, 0x37c47: 0x6d60fc20, + 0x37c48: 0x6d60fe20, 0x37c49: 0x6d610020, 0x37c4a: 0x6d610220, 0x37c4b: 0x6d610420, + 0x37c4c: 0x6d610620, 0x37c4d: 0x6d610820, 0x37c4e: 0x6d610a20, 0x37c4f: 0x6d610c20, + 0x37c50: 0x6d610e20, 0x37c51: 0x6d611020, 0x37c52: 0x6d611220, 0x37c53: 0x6d611420, + 0x37c54: 0x6d611620, 0x37c55: 0x6d611820, 0x37c56: 0x6d611a20, 0x37c57: 0x6d611c20, + 0x37c58: 0x6d611e20, 0x37c59: 0x6d612020, 0x37c5a: 0x6d612220, 0x37c5b: 0x6d612420, + 0x37c5c: 0x6d612620, 0x37c5d: 0x6d612820, 0x37c5e: 0x6d612a20, 0x37c5f: 0x6d612c20, + 0x37c60: 0x6d612e20, 0x37c61: 0x6d613020, 0x37c62: 0x6d613220, 0x37c63: 0x6d613420, + 0x37c64: 0x6d613620, 0x37c65: 0x6d613820, 0x37c66: 0x6d613a20, 0x37c67: 0x6d8afc20, + 0x37c68: 0x6d613c20, 0x37c69: 0x6d613e20, 0x37c6a: 0x6d614020, 0x37c6b: 0x6d614220, + 0x37c6c: 0x6d614420, 0x37c6d: 0x6d614620, 0x37c6e: 0x6d614820, 0x37c6f: 0x6d614a20, + 0x37c70: 0x6d614c20, 0x37c71: 0x6d614e20, 0x37c72: 0x6d615020, 0x37c73: 0x6d615220, + 0x37c74: 0x6d615420, 0x37c75: 0x6d615620, 0x37c76: 0x6d615820, 0x37c77: 0x6d615a20, + 0x37c78: 0x6d615c20, 0x37c79: 0x6d615e20, 0x37c7a: 0x6d616020, 0x37c7b: 0x6d616220, + 0x37c7c: 0x6d616420, 0x37c7d: 0x6d616620, 0x37c7e: 0x6d616820, 0x37c7f: 0x6d616a20, + // Block 0xdf2, offset 0x37c80 + 0x37c80: 0x6d616c20, 0x37c81: 0x6d616e20, 0x37c82: 0x6d8afe20, 0x37c83: 0x6d8b0020, + 0x37c84: 0x6d8b0220, 0x37c85: 0x6d8b0420, 0x37c86: 0x6d8b0620, 0x37c87: 0x6d8b0820, + 0x37c88: 0x6d8b0a20, 0x37c89: 0x6d8b0c20, 0x37c8a: 0x6d8b0e20, 0x37c8b: 0x6d8b1020, + 0x37c8c: 0x6d8b1220, 0x37c8d: 0x6d8b1420, 0x37c8e: 0x6d8b1620, 0x37c8f: 0x6d8b1820, + 0x37c90: 0x6d8b1a20, 0x37c91: 0x6d8b1c20, 0x37c92: 0x6d8b1e20, 0x37c93: 0x6d8b2020, + 0x37c94: 0x6d8b2220, 0x37c95: 0x6d8b2420, 0x37c96: 0x6d8b2620, 0x37c97: 0x6d8b2820, + 0x37c98: 0x6d8b2a20, 0x37c99: 0x6d8b2c20, 0x37c9a: 0x6d8b2e20, 0x37c9b: 0x6d8b3020, + 0x37c9c: 0x6d8b3220, 0x37c9d: 0x6d8b3420, 0x37c9e: 0x6d8b3620, 0x37c9f: 0x6d8b3820, + 0x37ca0: 0x6d8b3a20, 0x37ca1: 0x6d8b3c20, 0x37ca2: 0x6d8b3e20, 0x37ca3: 0x6d8b4020, + 0x37ca4: 0x6d8b4220, 0x37ca5: 0x6d8b4420, 0x37ca6: 0x6d8b4620, 0x37ca7: 0x6d8b4820, + 0x37ca8: 0x6d8b4a20, 0x37ca9: 0x6d8b4c20, 0x37caa: 0x6d8b4e20, 0x37cab: 0x6d8b5020, + 0x37cac: 0x6d8b5220, 0x37cad: 0x6d8b5420, 0x37cae: 0x6d8b5620, 0x37caf: 0x6d8b5820, + 0x37cb0: 0x6d8b5a20, 0x37cb1: 0x6d8b5c20, 0x37cb2: 0x6d8b5e20, 0x37cb3: 0x6d8b6020, + 0x37cb4: 0x6d8b6220, 0x37cb5: 0x6d8b6420, 0x37cb6: 0x6d8b6620, 0x37cb7: 0x6d8b6820, + 0x37cb8: 0x6d8b6a20, 0x37cb9: 0x6d8b6c20, 0x37cba: 0x6d8b6e20, 0x37cbb: 0x6d8b7020, + 0x37cbc: 0x6d8b7220, 0x37cbd: 0x6d8b7420, 0x37cbe: 0x6d8b7620, 0x37cbf: 0x6d8b7820, + // Block 0xdf3, offset 0x37cc0 + 0x37cc0: 0x6d8b7a20, 0x37cc1: 0x6d8b7c20, 0x37cc2: 0x6daf7a20, 0x37cc3: 0x6d8b7e20, + 0x37cc4: 0x6d8b8020, 0x37cc5: 0x6d8b8220, 0x37cc6: 0x6d8b8420, 0x37cc7: 0x6d8b8620, + 0x37cc8: 0x6d8b8820, 0x37cc9: 0x6daf7c20, 0x37cca: 0x6daf7e20, 0x37ccb: 0x6daf8020, + 0x37ccc: 0x6daf8220, 0x37ccd: 0x6daf8420, 0x37cce: 0x6daf8620, 0x37ccf: 0x6daf8820, + 0x37cd0: 0x6daf8a20, 0x37cd1: 0x6daf8c20, 0x37cd2: 0x6daf8e20, 0x37cd3: 0x6daf9020, + 0x37cd4: 0x6daf9220, 0x37cd5: 0x6daf9420, 0x37cd6: 0x6daf9620, 0x37cd7: 0x6daf9820, + 0x37cd8: 0x6daf9a20, 0x37cd9: 0x6daf9c20, 0x37cda: 0x6daf9e20, 0x37cdb: 0x6dafa020, + 0x37cdc: 0x6dafa220, 0x37cdd: 0x6dafa420, 0x37cde: 0x6dafa620, 0x37cdf: 0x6dafa820, + 0x37ce0: 0x6dafaa20, 0x37ce1: 0x6dafac20, 0x37ce2: 0x6dafae20, 0x37ce3: 0x6dafb020, + 0x37ce4: 0x6dafb220, 0x37ce5: 0x6dafb420, 0x37ce6: 0x6dafb620, 0x37ce7: 0x6dafb820, + 0x37ce8: 0x6dafba20, 0x37ce9: 0x6dafbc20, 0x37cea: 0x6dafbe20, 0x37ceb: 0x6dafc020, + 0x37cec: 0x6dafc220, 0x37ced: 0x6dafc420, 0x37cee: 0x6dafc620, 0x37cef: 0x6dafc820, + 0x37cf0: 0x6dafca20, 0x37cf1: 0x6dafcc20, 0x37cf2: 0x6dafce20, 0x37cf3: 0x6dafd020, + 0x37cf4: 0x6dafd220, 0x37cf5: 0x6dafd420, 0x37cf6: 0x6dafd620, 0x37cf7: 0x6dafd820, + 0x37cf8: 0x6dafda20, 0x37cf9: 0x6dafdc20, 0x37cfa: 0x6dafde20, 0x37cfb: 0x6dafe020, + 0x37cfc: 0x6dcf0020, 0x37cfd: 0x6dcf0220, 0x37cfe: 0x6dcf0420, 0x37cff: 0x6dcf0620, + // Block 0xdf4, offset 0x37d00 + 0x37d00: 0x6dcf0820, 0x37d01: 0x6dcf0a20, 0x37d02: 0x6dcf0c20, 0x37d03: 0x6dcf0e20, + 0x37d04: 0x6dcf1020, 0x37d05: 0x6dcf1220, 0x37d06: 0x6dcf1420, 0x37d07: 0x6dcf1620, + 0x37d08: 0x6dcf1820, 0x37d09: 0x6dcf1a20, 0x37d0a: 0x6dcf1c20, 0x37d0b: 0x6dcf1e20, + 0x37d0c: 0x6dcf2020, 0x37d0d: 0x6dcf2220, 0x37d0e: 0x6dcf2420, 0x37d0f: 0x6dcf2620, + 0x37d10: 0x6dcf2820, 0x37d11: 0x6dcf2a20, 0x37d12: 0x6dcf2c20, 0x37d13: 0x6dcf2e20, + 0x37d14: 0x6dcf3020, 0x37d15: 0x6dcf3220, 0x37d16: 0x6dcf3420, 0x37d17: 0x6dcf3620, + 0x37d18: 0x6dcf3820, 0x37d19: 0x6dcf3a20, 0x37d1a: 0x6dcf3c20, 0x37d1b: 0x6dcf3e20, + 0x37d1c: 0x6dcf4020, 0x37d1d: 0x6dcf4220, 0x37d1e: 0x6dcf4420, 0x37d1f: 0x6dcf4620, + 0x37d20: 0x6dcf4820, 0x37d21: 0x6dcf4a20, 0x37d22: 0x6dcf4c20, 0x37d23: 0x6dcf4e20, + 0x37d24: 0x6dcf5020, 0x37d25: 0x6dcf5220, 0x37d26: 0x6dcf5420, 0x37d27: 0x6dcf5620, + 0x37d28: 0x6dcf5820, 0x37d29: 0x6dcf5a20, 0x37d2a: 0x6dcf5c20, 0x37d2b: 0x6dcf5e20, + 0x37d2c: 0x6dcf6020, 0x37d2d: 0x6dcf6220, 0x37d2e: 0x6dcf6420, 0x37d2f: 0x6dcf6620, + 0x37d30: 0x6dcf6820, 0x37d31: 0x6dcf6a20, 0x37d32: 0x6dcf6c20, 0x37d33: 0x6dcf6e20, + 0x37d34: 0x6dcf7020, 0x37d35: 0x6de94220, 0x37d36: 0x6de94420, 0x37d37: 0x6de94620, + 0x37d38: 0x6de94820, 0x37d39: 0x6de94a20, 0x37d3a: 0x6de94c20, 0x37d3b: 0x6de94e20, + 0x37d3c: 0x6de95020, 0x37d3d: 0x6de95220, 0x37d3e: 0x6de95420, 0x37d3f: 0x6de95620, + // Block 0xdf5, offset 0x37d40 + 0x37d40: 0x6de95820, 0x37d41: 0x6de95a20, 0x37d42: 0x6de95c20, 0x37d43: 0x6de95e20, + 0x37d44: 0x6de96020, 0x37d45: 0x6de96220, 0x37d46: 0x6de96420, 0x37d47: 0x6de96620, + 0x37d48: 0x6de96820, 0x37d49: 0x6de96a20, 0x37d4a: 0x6de96c20, 0x37d4b: 0x6de96e20, + 0x37d4c: 0x6de97020, 0x37d4d: 0x6de97220, 0x37d4e: 0x6de97420, 0x37d4f: 0x6de97620, + 0x37d50: 0x6de97820, 0x37d51: 0x6de97a20, 0x37d52: 0x6de97c20, 0x37d53: 0x6de97e20, + 0x37d54: 0x6de98020, 0x37d55: 0x6de98220, 0x37d56: 0x6de98420, 0x37d57: 0x6de98620, + 0x37d58: 0x6de98820, 0x37d59: 0x6de98a20, 0x37d5a: 0x6de98c20, 0x37d5b: 0x6de98e20, + 0x37d5c: 0x6dff5420, 0x37d5d: 0x6dff5620, 0x37d5e: 0x6dff5820, 0x37d5f: 0x6dff5a20, + 0x37d60: 0x6dff5c20, 0x37d61: 0x6dff5e20, 0x37d62: 0x6dff6020, 0x37d63: 0x6dff6220, + 0x37d64: 0x6e11c420, 0x37d65: 0x6de99020, 0x37d66: 0x6dff6420, 0x37d67: 0x6dff6620, + 0x37d68: 0x6e11c620, 0x37d69: 0x6dff6820, 0x37d6a: 0x6dff6a20, 0x37d6b: 0x6e11c820, + 0x37d6c: 0x6dff6c20, 0x37d6d: 0x6dff6e20, 0x37d6e: 0x6dff7020, 0x37d6f: 0x6dff7220, + 0x37d70: 0x6dff7420, 0x37d71: 0x6dff7620, 0x37d72: 0x6dff7820, 0x37d73: 0x6dff7a20, + 0x37d74: 0x6dff7c20, 0x37d75: 0x6dff7e20, 0x37d76: 0x6dff8020, 0x37d77: 0x6dff8220, + 0x37d78: 0x6dff8420, 0x37d79: 0x6dff8620, 0x37d7a: 0x6dff8820, 0x37d7b: 0x6e11ca20, + 0x37d7c: 0x6e11cc20, 0x37d7d: 0x6e11ce20, 0x37d7e: 0x6e11d020, 0x37d7f: 0x6e11d220, + // Block 0xdf6, offset 0x37d80 + 0x37d80: 0x6e11d420, 0x37d81: 0x6e11d620, 0x37d82: 0x6e200c20, 0x37d83: 0x6e11d820, + 0x37d84: 0x6e11da20, 0x37d85: 0x6e11dc20, 0x37d86: 0x6e11de20, 0x37d87: 0x6e11e020, + 0x37d88: 0x6e11e220, 0x37d89: 0x6e11e420, 0x37d8a: 0x6e11e620, 0x37d8b: 0x6e11e820, + 0x37d8c: 0x6e11ea20, 0x37d8d: 0x6e11ec20, 0x37d8e: 0x6e11ee20, 0x37d8f: 0x6e11f020, + 0x37d90: 0x6e11f220, 0x37d91: 0x6e11f420, 0x37d92: 0x6e11f620, 0x37d93: 0x6e11f820, + 0x37d94: 0x6e200e20, 0x37d95: 0x6e201020, 0x37d96: 0x6e201220, 0x37d97: 0x6e201420, + 0x37d98: 0x6e201620, 0x37d99: 0x6e201820, 0x37d9a: 0x6e201a20, 0x37d9b: 0x6e201c20, + 0x37d9c: 0x6e201e20, 0x37d9d: 0x6e202020, 0x37d9e: 0x6e202220, 0x37d9f: 0x6e202420, + 0x37da0: 0x6e202620, 0x37da1: 0x6e202820, 0x37da2: 0x6e202a20, 0x37da3: 0x6e202c20, + 0x37da4: 0x6e202e20, 0x37da5: 0x6e203020, 0x37da6: 0x6e203220, 0x37da7: 0x6e2b1e20, + 0x37da8: 0x6e2b2020, 0x37da9: 0x6e2b2220, 0x37daa: 0x6e2b2420, 0x37dab: 0x6e2b2620, + 0x37dac: 0x6e2b2820, 0x37dad: 0x6e2b2a20, 0x37dae: 0x6e2b2c20, 0x37daf: 0x6e2b2e20, + 0x37db0: 0x6e339420, 0x37db1: 0x6e339620, 0x37db2: 0x6e339820, 0x37db3: 0x6e339a20, + 0x37db4: 0x6e339c20, 0x37db5: 0x6e339e20, 0x37db6: 0x6e33a020, 0x37db7: 0x6e33a220, + 0x37db8: 0x6e39a020, 0x37db9: 0x6e33a420, 0x37dba: 0x6e39a220, 0x37dbb: 0x6e39a420, + 0x37dbc: 0x6e3dce20, 0x37dbd: 0x6e3dd020, 0x37dbe: 0x6e40aa20, 0x37dbf: 0x6e40ac20, + // Block 0xdf7, offset 0x37dc0 + 0x37dc0: 0x6e40ae20, 0x37dc1: 0x6e40b020, 0x37dc2: 0x6e40b220, 0x37dc3: 0x6e42e020, + 0x37dc4: 0x6e42e220, 0x37dc5: 0x6e445c20, 0x37dc6: 0x6e453c20, 0x37dc7: 0x6e45ca20, + 0x37dc8: 0x6c3dfa20, 0x37dc9: 0x6c5cb820, 0x37dca: 0x6c80b020, 0x37dcb: 0x6c80b220, + 0x37dcc: 0x6c80b420, 0x37dcd: 0x6ca9d420, 0x37dce: 0x6ca9d620, 0x37dcf: 0x6ca9d820, + 0x37dd0: 0x6ca9da20, 0x37dd1: 0x6cd84020, 0x37dd2: 0x6cd84220, 0x37dd3: 0x6cd84420, + 0x37dd4: 0x6cd84620, 0x37dd5: 0x6cd84820, 0x37dd6: 0x6d06e620, 0x37dd7: 0x6d06e820, + 0x37dd8: 0x6d06ea20, 0x37dd9: 0x6d06ec20, 0x37dda: 0x6d34d620, 0x37ddb: 0x6d618820, + 0x37ddc: 0x6d618a20, 0x37ddd: 0x6d618c20, 0x37dde: 0x6d8ba020, 0x37ddf: 0x6d8ba220, + 0x37de0: 0x6dafec20, 0x37de1: 0x6dafee20, 0x37de2: 0x6c143220, 0x37de3: 0x6c5cc820, + 0x37de4: 0x6c5cca20, 0x37de5: 0x6c5ccc20, 0x37de6: 0x6c80cc20, 0x37de7: 0x6c80ce20, + 0x37de8: 0x6c80d020, 0x37de9: 0x6ca9f220, 0x37dea: 0x6ca9f420, 0x37deb: 0x6ca9f620, + 0x37dec: 0x6ca9f820, 0x37ded: 0x6ca9fa20, 0x37dee: 0x6ca9fc20, 0x37def: 0x6cd85a20, + 0x37df0: 0x6cd85c20, 0x37df1: 0x6cd85e20, 0x37df2: 0x6cd86020, 0x37df3: 0x6cd86220, + 0x37df4: 0x6d06f220, 0x37df5: 0x6d06f420, 0x37df6: 0x6d06f620, 0x37df7: 0x6d06f820, + 0x37df8: 0x6d34e820, 0x37df9: 0x6d34ea20, 0x37dfa: 0x6d34ec20, 0x37dfb: 0x6d34ee20, + 0x37dfc: 0x6d34f020, 0x37dfd: 0x6d34f220, 0x37dfe: 0x6d34f420, 0x37dff: 0x6d34f620, + // Block 0xdf8, offset 0x37e00 + 0x37e00: 0x6d34f820, 0x37e01: 0x6d619220, 0x37e02: 0x6d619420, 0x37e03: 0x6d619620, + 0x37e04: 0x6d619820, 0x37e05: 0x6d619a20, 0x37e06: 0x6d619c20, 0x37e07: 0x6d619e20, + 0x37e08: 0x6d8baa20, 0x37e09: 0x6d8bac20, 0x37e0a: 0x6d8bae20, 0x37e0b: 0x6d8bb020, + 0x37e0c: 0x6d8bb220, 0x37e0d: 0x6d8bb420, 0x37e0e: 0x6d8bb620, 0x37e0f: 0x6daffa20, + 0x37e10: 0x6daffc20, 0x37e11: 0x6daffe20, 0x37e12: 0x6db00020, 0x37e13: 0x6db00220, + 0x37e14: 0x6db00420, 0x37e15: 0x6dcf8220, 0x37e16: 0x6dcf8420, 0x37e17: 0x6dcf8620, + 0x37e18: 0x6dcf8820, 0x37e19: 0x6de9aa20, 0x37e1a: 0x6de9ac20, 0x37e1b: 0x6de9ae20, + 0x37e1c: 0x6de9b020, 0x37e1d: 0x6dff9220, 0x37e1e: 0x6dff9420, 0x37e1f: 0x6e120420, + 0x37e20: 0x6e120620, 0x37e21: 0x6e203e20, 0x37e22: 0x6e2b3420, 0x37e23: 0x6e2b3620, + 0x37e24: 0x6e2b3820, 0x37e25: 0x6e33aa20, 0x37e26: 0x6e33ac20, 0x37e27: 0x6e3dd420, + 0x37e28: 0x6e40b620, 0x37e29: 0x6e45cc20, 0x37e2a: 0x6c0a4c20, 0x37e2b: 0x6c0a4e20, + 0x37e2c: 0x6c25cc20, 0x37e2d: 0x6c0a5020, 0x37e2e: 0x6c25ce20, 0x37e2f: 0x6c143620, + 0x37e30: 0x6c0a5220, 0x37e31: 0x6c25d020, 0x37e32: 0x6c25d220, 0x37e33: 0x6c25d420, + 0x37e34: 0x6c25d620, 0x37e35: 0x6c25d820, 0x37e36: 0x6c25da20, 0x37e37: 0x6c3e0a20, + 0x37e38: 0x6c3e0c20, 0x37e39: 0x6c3e0e20, 0x37e3a: 0x6c3e1020, 0x37e3b: 0x6c3e1220, + 0x37e3c: 0x6c3e1420, 0x37e3d: 0x6c3e1620, 0x37e3e: 0x6c3e1820, 0x37e3f: 0x6c3e1a20, + // Block 0xdf9, offset 0x37e40 + 0x37e40: 0x6c3e1c20, 0x37e41: 0x6c5cda20, 0x37e42: 0x6c5cdc20, 0x37e43: 0x6c5cde20, + 0x37e44: 0x6c5ce020, 0x37e45: 0x6c5ce220, 0x37e46: 0x6c5ce420, 0x37e47: 0x6c5ce620, + 0x37e48: 0x6c5ce820, 0x37e49: 0x6c5cea20, 0x37e4a: 0x6c5cec20, 0x37e4b: 0x6c5cee20, + 0x37e4c: 0x6c5cf020, 0x37e4d: 0x6c5cf220, 0x37e4e: 0x6c80e820, 0x37e4f: 0x6c80ea20, + 0x37e50: 0x6c80ec20, 0x37e51: 0x6c80ee20, 0x37e52: 0x6c80f020, 0x37e53: 0x6c80f220, + 0x37e54: 0x6c80f420, 0x37e55: 0x6c80f620, 0x37e56: 0x6c80f820, 0x37e57: 0x6c80fa20, + 0x37e58: 0x6c80fc20, 0x37e59: 0x6c80fe20, 0x37e5a: 0x6c810020, 0x37e5b: 0x6c810220, + 0x37e5c: 0x6c810420, 0x37e5d: 0x6c810620, 0x37e5e: 0x6c810820, 0x37e5f: 0x6c810a20, + 0x37e60: 0x6c810c20, 0x37e61: 0x6c810e20, 0x37e62: 0x6c811020, 0x37e63: 0x6c811220, + 0x37e64: 0x6c6dd220, 0x37e65: 0x6c811420, 0x37e66: 0x6c811620, 0x37e67: 0x6c811820, + 0x37e68: 0x6c811a20, 0x37e69: 0x6c811c20, 0x37e6a: 0x6caa0220, 0x37e6b: 0x6caa0420, + 0x37e6c: 0x6caa0620, 0x37e6d: 0x6caa0820, 0x37e6e: 0x6caa0a20, 0x37e6f: 0x6caa0c20, + 0x37e70: 0x6caa0e20, 0x37e71: 0x6caa1020, 0x37e72: 0x6caa1220, 0x37e73: 0x6c811e20, + 0x37e74: 0x6caa1420, 0x37e75: 0x6caa1620, 0x37e76: 0x6caa1820, 0x37e77: 0x6caa1a20, + 0x37e78: 0x6caa1c20, 0x37e79: 0x6caa1e20, 0x37e7a: 0x6caa2020, 0x37e7b: 0x6caa2220, + 0x37e7c: 0x6cd86e20, 0x37e7d: 0x6cd87020, 0x37e7e: 0x6cd87220, 0x37e7f: 0x6cd87420, + // Block 0xdfa, offset 0x37e80 + 0x37e80: 0x6cd87620, 0x37e81: 0x6cd87820, 0x37e82: 0x6cd87a20, 0x37e83: 0x6cd87c20, + 0x37e84: 0x6cd87e20, 0x37e85: 0x6d071420, 0x37e86: 0x6d071620, 0x37e87: 0x6d071820, + 0x37e88: 0x6d071a20, 0x37e89: 0x6d071c20, 0x37e8a: 0x6d071e20, 0x37e8b: 0x6d072020, + 0x37e8c: 0x6d072220, 0x37e8d: 0x6d072420, 0x37e8e: 0x6d072620, 0x37e8f: 0x6d072820, + 0x37e90: 0x6d072a20, 0x37e91: 0x6cd88020, 0x37e92: 0x6d072c20, 0x37e93: 0x6d072e20, + 0x37e94: 0x6d073020, 0x37e95: 0x6d073220, 0x37e96: 0x6d073420, 0x37e97: 0x6d073620, + 0x37e98: 0x6d073820, 0x37e99: 0x6d073a20, 0x37e9a: 0x6d073c20, 0x37e9b: 0x6d073e20, + 0x37e9c: 0x6d074020, 0x37e9d: 0x6d350a20, 0x37e9e: 0x6d350c20, 0x37e9f: 0x6d350e20, + 0x37ea0: 0x6d351020, 0x37ea1: 0x6d351220, 0x37ea2: 0x6d351420, 0x37ea3: 0x6d351620, + 0x37ea4: 0x6d351820, 0x37ea5: 0x6d351a20, 0x37ea6: 0x6d351c20, 0x37ea7: 0x6d351e20, + 0x37ea8: 0x6d352020, 0x37ea9: 0x6d352220, 0x37eaa: 0x6d217020, 0x37eab: 0x6d352420, + 0x37eac: 0x6d352620, 0x37ead: 0x6d352820, 0x37eae: 0x6d352a20, 0x37eaf: 0x6d61ac20, + 0x37eb0: 0x6d61ae20, 0x37eb1: 0x6d61b020, 0x37eb2: 0x6d61b220, 0x37eb3: 0x6d61b420, + 0x37eb4: 0x6d61b620, 0x37eb5: 0x6d61b820, 0x37eb6: 0x6d61ba20, 0x37eb7: 0x6d61bc20, + 0x37eb8: 0x6d61be20, 0x37eb9: 0x6d61c020, 0x37eba: 0x6d61c220, 0x37ebb: 0x6d61c420, + 0x37ebc: 0x6d61c620, 0x37ebd: 0x6d8bc620, 0x37ebe: 0x6d8bc820, 0x37ebf: 0x6d8bca20, + // Block 0xdfb, offset 0x37ec0 + 0x37ec0: 0x6d8bcc20, 0x37ec1: 0x6d8bce20, 0x37ec2: 0x6d8bd020, 0x37ec3: 0x6d8bd220, + 0x37ec4: 0x6d8bd420, 0x37ec5: 0x6d8bd620, 0x37ec6: 0x6d8bd820, 0x37ec7: 0x6d8bda20, + 0x37ec8: 0x6d8bdc20, 0x37ec9: 0x6d8bde20, 0x37eca: 0x6d8be020, 0x37ecb: 0x6d8be220, + 0x37ecc: 0x6d8be420, 0x37ecd: 0x6d8be620, 0x37ece: 0x6d8be820, 0x37ecf: 0x6d8bea20, + 0x37ed0: 0x6d8bec20, 0x37ed1: 0x6d8bee20, 0x37ed2: 0x6db01020, 0x37ed3: 0x6db01220, + 0x37ed4: 0x6db01420, 0x37ed5: 0x6db01620, 0x37ed6: 0x6db01820, 0x37ed7: 0x6db01a20, + 0x37ed8: 0x6db01c20, 0x37ed9: 0x6db01e20, 0x37eda: 0x6db02020, 0x37edb: 0x6db02220, + 0x37edc: 0x6db02420, 0x37edd: 0x6db02620, 0x37ede: 0x6db02820, 0x37edf: 0x6dcf9020, + 0x37ee0: 0x6dcf9220, 0x37ee1: 0x6dcf9420, 0x37ee2: 0x6dcf9620, 0x37ee3: 0x6dcf9820, + 0x37ee4: 0x6dcf9a20, 0x37ee5: 0x6dcf9c20, 0x37ee6: 0x6dcf9e20, 0x37ee7: 0x6dcfa020, + 0x37ee8: 0x6dcfa220, 0x37ee9: 0x6dcfb220, 0x37eea: 0x6de9be20, 0x37eeb: 0x6de9c020, + 0x37eec: 0x6de9c220, 0x37eed: 0x6de9c420, 0x37eee: 0x6de9c620, 0x37eef: 0x6de9c820, + 0x37ef0: 0x6de9ca20, 0x37ef1: 0x6de9cc20, 0x37ef2: 0x6de9ce20, 0x37ef3: 0x6de9d020, + 0x37ef4: 0x6de9d220, 0x37ef5: 0x6dff9620, 0x37ef6: 0x6dff9820, 0x37ef7: 0x6dff9a20, + 0x37ef8: 0x6dff9c20, 0x37ef9: 0x6dff9e20, 0x37efa: 0x6dffa020, 0x37efb: 0x6e120a20, + 0x37efc: 0x6e120c20, 0x37efd: 0x6e2b3a20, 0x37efe: 0x6e33b420, 0x37eff: 0x6e33b620, + // Block 0xdfc, offset 0x37f00 + 0x37f00: 0x6e33b820, 0x37f01: 0x6e33ba20, 0x37f02: 0x6e33bc20, 0x37f03: 0x6e33be20, + 0x37f04: 0x6e33c020, 0x37f05: 0x6e33c220, 0x37f06: 0x6e3dd620, 0x37f07: 0x6e40b820, + 0x37f08: 0x6e42e420, 0x37f09: 0x6e42e620, 0x37f0a: 0x6e42e820, 0x37f0b: 0x6c143c20, + 0x37f0c: 0x6c143e20, 0x37f0d: 0x6c144020, 0x37f0e: 0x6c3e2620, 0x37f0f: 0x6c3e2820, + 0x37f10: 0x6c3e2a20, 0x37f11: 0x6c5cfe20, 0x37f12: 0x6c5d0020, 0x37f13: 0x6c5d0220, + 0x37f14: 0x6c5d0420, 0x37f15: 0x6c5d0620, 0x37f16: 0x6c5d0820, 0x37f17: 0x6c813820, + 0x37f18: 0x6c813a20, 0x37f19: 0x6c813c20, 0x37f1a: 0x6c813e20, 0x37f1b: 0x6c814020, + 0x37f1c: 0x6c814220, 0x37f1d: 0x6c814420, 0x37f1e: 0x6c814620, 0x37f1f: 0x6c814820, + 0x37f20: 0x6c814a20, 0x37f21: 0x6c814c20, 0x37f22: 0x6c814e20, 0x37f23: 0x6c815020, + 0x37f24: 0x6c815220, 0x37f25: 0x6caa4020, 0x37f26: 0x6caa4220, 0x37f27: 0x6caa4420, + 0x37f28: 0x6caa4620, 0x37f29: 0x6caa4820, 0x37f2a: 0x6caa4a20, 0x37f2b: 0x6caa4c20, + 0x37f2c: 0x6caa4e20, 0x37f2d: 0x6caa5020, 0x37f2e: 0x6c815420, 0x37f2f: 0x6caa5220, + 0x37f30: 0x6caa5420, 0x37f31: 0x6caa5620, 0x37f32: 0x6caa5820, 0x37f33: 0x6caa5a20, + 0x37f34: 0x6caa5c20, 0x37f35: 0x6caa5e20, 0x37f36: 0x6caa6020, 0x37f37: 0x6caa6220, + 0x37f38: 0x6caa6420, 0x37f39: 0x6cd88e20, 0x37f3a: 0x6cd89020, 0x37f3b: 0x6cd89220, + 0x37f3c: 0x6cd89420, 0x37f3d: 0x6cd89620, 0x37f3e: 0x6cd89820, 0x37f3f: 0x6cd89a20, + // Block 0xdfd, offset 0x37f40 + 0x37f40: 0x6cd89c20, 0x37f41: 0x6cd89e20, 0x37f42: 0x6cd8a020, 0x37f43: 0x6cd8a220, + 0x37f44: 0x6cd8a420, 0x37f45: 0x6cba3e20, 0x37f46: 0x6d075820, 0x37f47: 0x6d075a20, + 0x37f48: 0x6d075c20, 0x37f49: 0x6d075e20, 0x37f4a: 0x6d076020, 0x37f4b: 0x6d076220, + 0x37f4c: 0x6d076420, 0x37f4d: 0x6d076620, 0x37f4e: 0x6d076820, 0x37f4f: 0x6d076a20, + 0x37f50: 0x6d076c20, 0x37f51: 0x6d076e20, 0x37f52: 0x6d077020, 0x37f53: 0x6d077220, + 0x37f54: 0x6d077420, 0x37f55: 0x6d077620, 0x37f56: 0x6d077820, 0x37f57: 0x6d353a20, + 0x37f58: 0x6d353c20, 0x37f59: 0x6d353e20, 0x37f5a: 0x6d354020, 0x37f5b: 0x6d354220, + 0x37f5c: 0x6d354420, 0x37f5d: 0x6d354620, 0x37f5e: 0x6d354820, 0x37f5f: 0x6d354a20, + 0x37f60: 0x6d354c20, 0x37f61: 0x6d354e20, 0x37f62: 0x6d61d620, 0x37f63: 0x6d61d820, + 0x37f64: 0x6d61da20, 0x37f65: 0x6d61dc20, 0x37f66: 0x6d61de20, 0x37f67: 0x6d61e020, + 0x37f68: 0x6d61e220, 0x37f69: 0x6d61e420, 0x37f6a: 0x6d61e620, 0x37f6b: 0x6d61e820, + 0x37f6c: 0x6d61ea20, 0x37f6d: 0x6d61ec20, 0x37f6e: 0x6d61ee20, 0x37f6f: 0x6d8bfa20, + 0x37f70: 0x6d8bfc20, 0x37f71: 0x6d8bfe20, 0x37f72: 0x6d8c0020, 0x37f73: 0x6d8c0220, + 0x37f74: 0x6d8c0420, 0x37f75: 0x6d8c0620, 0x37f76: 0x6d8c0820, 0x37f77: 0x6db02e20, + 0x37f78: 0x6db03020, 0x37f79: 0x6db03220, 0x37f7a: 0x6db03420, 0x37f7b: 0x6db03620, + 0x37f7c: 0x6db03820, 0x37f7d: 0x6db03a20, 0x37f7e: 0x6db03c20, 0x37f7f: 0x6db03e20, + // Block 0xdfe, offset 0x37f80 + 0x37f80: 0x6db04020, 0x37f81: 0x6db04220, 0x37f82: 0x6db04420, 0x37f83: 0x6db04620, + 0x37f84: 0x6db04820, 0x37f85: 0x6dcfb420, 0x37f86: 0x6dcfb620, 0x37f87: 0x6dcfb820, + 0x37f88: 0x6dcfba20, 0x37f89: 0x6dcfbc20, 0x37f8a: 0x6dcfbe20, 0x37f8b: 0x6dcfc020, + 0x37f8c: 0x6dcfc220, 0x37f8d: 0x6dcfc420, 0x37f8e: 0x6dcfc620, 0x37f8f: 0x6dcfc820, + 0x37f90: 0x6dcfca20, 0x37f91: 0x6dcfcc20, 0x37f92: 0x6dcfce20, 0x37f93: 0x6dcfd020, + 0x37f94: 0x6dcfd220, 0x37f95: 0x6de9de20, 0x37f96: 0x6de9e020, 0x37f97: 0x6de9e220, + 0x37f98: 0x6de9e420, 0x37f99: 0x6de9e620, 0x37f9a: 0x6de9e820, 0x37f9b: 0x6de9ea20, + 0x37f9c: 0x6dffa420, 0x37f9d: 0x6dffa620, 0x37f9e: 0x6dffa820, 0x37f9f: 0x6dffaa20, + 0x37fa0: 0x6dffac20, 0x37fa1: 0x6dffae20, 0x37fa2: 0x6e121620, 0x37fa3: 0x6e121820, + 0x37fa4: 0x6e121a20, 0x37fa5: 0x6e121c20, 0x37fa6: 0x6e121e20, 0x37fa7: 0x6e122020, + 0x37fa8: 0x6e204420, 0x37fa9: 0x6e204620, 0x37faa: 0x6e2b3c20, 0x37fab: 0x6e2b3e20, + 0x37fac: 0x6e33c420, 0x37fad: 0x6e39a820, 0x37fae: 0x6e3dd820, 0x37faf: 0x6e40bc20, + 0x37fb0: 0x6e453e20, 0x37fb1: 0x6e454020, 0x37fb2: 0x6c3e2e20, 0x37fb3: 0x6c25de20, + 0x37fb4: 0x6c5d1020, 0x37fb5: 0x6c5d1220, 0x37fb6: 0x6c5d1420, 0x37fb7: 0x6c5d1620, + 0x37fb8: 0x6c5d1820, 0x37fb9: 0x6c5d1a20, 0x37fba: 0x6c5d1c20, 0x37fbb: 0x6c5d1e20, + 0x37fbc: 0x6c5d2020, 0x37fbd: 0x6c5d2220, 0x37fbe: 0x6c5d2420, 0x37fbf: 0x6c5d2620, + // Block 0xdff, offset 0x37fc0 + 0x37fc0: 0x6c5d2820, 0x37fc1: 0x6c5d2a20, 0x37fc2: 0x6c816820, 0x37fc3: 0x6c816a20, + 0x37fc4: 0x6c816c20, 0x37fc5: 0x6c816e20, 0x37fc6: 0x6c817020, 0x37fc7: 0x6c817220, + 0x37fc8: 0x6c817420, 0x37fc9: 0x6c817620, 0x37fca: 0x6c817820, 0x37fcb: 0x6c817a20, + 0x37fcc: 0x6c817c20, 0x37fcd: 0x6c817e20, 0x37fce: 0x6c818020, 0x37fcf: 0x6c818220, + 0x37fd0: 0x6c818420, 0x37fd1: 0x6c818620, 0x37fd2: 0x6c818820, 0x37fd3: 0x6c818a20, + 0x37fd4: 0x6c818c20, 0x37fd5: 0x6caa9420, 0x37fd6: 0x6caa9620, 0x37fd7: 0x6caa9820, + 0x37fd8: 0x6caa9a20, 0x37fd9: 0x6caa9c20, 0x37fda: 0x6caa9e20, 0x37fdb: 0x6caaa020, + 0x37fdc: 0x6caaa220, 0x37fdd: 0x6caaa420, 0x37fde: 0x6caaa620, 0x37fdf: 0x6caaa820, + 0x37fe0: 0x6caaaa20, 0x37fe1: 0x6caaac20, 0x37fe2: 0x6caaae20, 0x37fe3: 0x6cd8c220, + 0x37fe4: 0x6cd8c420, 0x37fe5: 0x6cd8c620, 0x37fe6: 0x6cd8c820, 0x37fe7: 0x6cd8ca20, + 0x37fe8: 0x6cd8cc20, 0x37fe9: 0x6cd8ce20, 0x37fea: 0x6cd8d020, 0x37feb: 0x6cd8d220, + 0x37fec: 0x6cd8d420, 0x37fed: 0x6cd8d620, 0x37fee: 0x6cd8d820, 0x37fef: 0x6cd8da20, + 0x37ff0: 0x6cd8dc20, 0x37ff1: 0x6cd8de20, 0x37ff2: 0x6cd8e020, 0x37ff3: 0x6cd8e220, + 0x37ff4: 0x6cd8e420, 0x37ff5: 0x6cd8e620, 0x37ff6: 0x6cd8e820, 0x37ff7: 0x6cd8ea20, + 0x37ff8: 0x6d078a20, 0x37ff9: 0x6d078c20, 0x37ffa: 0x6d078e20, 0x37ffb: 0x6d079020, + 0x37ffc: 0x6d079220, 0x37ffd: 0x6d079420, 0x37ffe: 0x6d079620, 0x37fff: 0x6d079820, + // Block 0xe00, offset 0x38000 + 0x38000: 0x6d079a20, 0x38001: 0x6d079c20, 0x38002: 0x6d079e20, 0x38003: 0x6d07a020, + 0x38004: 0x6d07a220, 0x38005: 0x6d356820, 0x38006: 0x6d07a420, 0x38007: 0x6d356a20, + 0x38008: 0x6d356c20, 0x38009: 0x6d356e20, 0x3800a: 0x6d357020, 0x3800b: 0x6d357220, + 0x3800c: 0x6d357420, 0x3800d: 0x6d357620, 0x3800e: 0x6d357820, 0x3800f: 0x6d357a20, + 0x38010: 0x6d357c20, 0x38011: 0x6d231e20, 0x38012: 0x6d357e20, 0x38013: 0x6d358020, + 0x38014: 0x6d358220, 0x38015: 0x6d358420, 0x38016: 0x6d358620, 0x38017: 0x6d358820, + 0x38018: 0x6d620620, 0x38019: 0x6d620820, 0x3801a: 0x6d620a20, 0x3801b: 0x6d620c20, + 0x3801c: 0x6d620e20, 0x3801d: 0x6d621020, 0x3801e: 0x6d621220, 0x3801f: 0x6d621420, + 0x38020: 0x6d621620, 0x38021: 0x6d621820, 0x38022: 0x6d621a20, 0x38023: 0x6d621c20, + 0x38024: 0x6d621e20, 0x38025: 0x6d622020, 0x38026: 0x6d622220, 0x38027: 0x6d622420, + 0x38028: 0x6d622620, 0x38029: 0x6d622820, 0x3802a: 0x6d622a20, 0x3802b: 0x6d622c20, + 0x3802c: 0x6d622e20, 0x3802d: 0x6d623020, 0x3802e: 0x6d623220, 0x3802f: 0x6d623420, + 0x38030: 0x6d8c1820, 0x38031: 0x6d8c1a20, 0x38032: 0x6d8c1c20, 0x38033: 0x6d8c1e20, + 0x38034: 0x6d8c2020, 0x38035: 0x6d8c2220, 0x38036: 0x6d8c2420, 0x38037: 0x6d8c2620, + 0x38038: 0x6d8c2820, 0x38039: 0x6d8c2a20, 0x3803a: 0x6d8c2c20, 0x3803b: 0x6d623620, + 0x3803c: 0x6d8c2e20, 0x3803d: 0x6d8c3020, 0x3803e: 0x6d8c3220, 0x3803f: 0x6d8c3420, + // Block 0xe01, offset 0x38040 + 0x38040: 0x6d8c3620, 0x38041: 0x6d8c3820, 0x38042: 0x6d8c3a20, 0x38043: 0x6db05c20, + 0x38044: 0x6db05e20, 0x38045: 0x6db06020, 0x38046: 0x6db06220, 0x38047: 0x6db06420, + 0x38048: 0x6db06620, 0x38049: 0x6db06820, 0x3804a: 0x6db06a20, 0x3804b: 0x6db06c20, + 0x3804c: 0x6db06e20, 0x3804d: 0x6dcfe820, 0x3804e: 0x6dcfea20, 0x3804f: 0x6dcfec20, + 0x38050: 0x6dcfee20, 0x38051: 0x6dcff020, 0x38052: 0x6dcff220, 0x38053: 0x6dcff420, + 0x38054: 0x6dcff620, 0x38055: 0x6dcff820, 0x38056: 0x6dcffa20, 0x38057: 0x6dcffc20, + 0x38058: 0x6dcffe20, 0x38059: 0x6dd00020, 0x3805a: 0x6dd00220, 0x3805b: 0x6dd00420, + 0x3805c: 0x6de9f020, 0x3805d: 0x6de9f220, 0x3805e: 0x6d8c3c20, 0x3805f: 0x6dd00620, + 0x38060: 0x6de9f420, 0x38061: 0x6de9f620, 0x38062: 0x6dffb820, 0x38063: 0x6dffba20, + 0x38064: 0x6dffbc20, 0x38065: 0x6dffbe20, 0x38066: 0x6e122420, 0x38067: 0x6e204c20, + 0x38068: 0x6e122620, 0x38069: 0x6e122820, 0x3806a: 0x6dffc020, 0x3806b: 0x6dffc220, + 0x3806c: 0x6e122a20, 0x3806d: 0x6e204e20, 0x3806e: 0x6e205020, 0x3806f: 0x6e205220, + 0x38070: 0x6e33c620, 0x38071: 0x6c25e020, 0x38072: 0x6c25e220, 0x38073: 0x6c3e3020, + 0x38074: 0x6c3e3220, 0x38075: 0x6c3e3420, 0x38076: 0x6c5d3020, 0x38077: 0x6c5d3220, + 0x38078: 0x6c5d3420, 0x38079: 0x6c5d3620, 0x3807a: 0x6c819420, 0x3807b: 0x6c819620, + 0x3807c: 0x6c819820, 0x3807d: 0x6c819a20, 0x3807e: 0x6c819c20, 0x3807f: 0x6c819e20, + // Block 0xe02, offset 0x38080 + 0x38080: 0x6caab620, 0x38081: 0x6d07aa20, 0x38082: 0x6d358e20, 0x38083: 0x6db07220, + 0x38084: 0x6d623c20, 0x38085: 0x6d623e20, 0x38086: 0x6d8c4220, 0x38087: 0x6d8c4420, + 0x38088: 0x6db07420, 0x38089: 0x6db07620, 0x3808a: 0x6dd00c20, 0x3808b: 0x6e2b4020, + 0x3808c: 0x6e2b4220, 0x3808d: 0x6e3dda20, 0x3808e: 0x6c3e3820, 0x3808f: 0x6c3e3a20, + 0x38090: 0x6c144a20, 0x38091: 0x6c3e3c20, 0x38092: 0x6c81a820, 0x38093: 0x6caab820, + 0x38094: 0x6cd8fa20, 0x38095: 0x6cd8fc20, 0x38096: 0x6d07ae20, 0x38097: 0x6d359220, + 0x38098: 0x6d624220, 0x38099: 0x6d624420, 0x3809a: 0x6d624620, 0x3809b: 0x6d624820, + 0x3809c: 0x6d624a20, 0x3809d: 0x6d8c4620, 0x3809e: 0x6d8c4820, 0x3809f: 0x6db07820, + 0x380a0: 0x6db07a20, 0x380a1: 0x6db07c20, 0x380a2: 0x6e205620, 0x380a3: 0x6e33c820, + 0x380a4: 0x6c144e20, 0x380a5: 0x6c3e4020, 0x380a6: 0x6c3e4220, 0x380a7: 0x6c3e4420, + 0x380a8: 0x6c5d4c20, 0x380a9: 0x6c5d4e20, 0x380aa: 0x6c5d5020, 0x380ab: 0x6c81b420, + 0x380ac: 0x6caac820, 0x380ad: 0x6caaca20, 0x380ae: 0x6caacc20, 0x380af: 0x6cd90020, + 0x380b0: 0x6cd90220, 0x380b1: 0x6cd90420, 0x380b2: 0x6cd90620, 0x380b3: 0x6cd90820, + 0x380b4: 0x6d07b820, 0x380b5: 0x6d07ba20, 0x380b6: 0x6d07bc20, 0x380b7: 0x6d35a420, + 0x380b8: 0x6d35a620, 0x380b9: 0x6d35a820, 0x380ba: 0x6d35aa20, 0x380bb: 0x6d35ac20, + 0x380bc: 0x6d35ae20, 0x380bd: 0x6d35b020, 0x380be: 0x6d35b220, 0x380bf: 0x6d35b420, + // Block 0xe03, offset 0x380c0 + 0x380c0: 0x6d35b620, 0x380c1: 0x6d35b820, 0x380c2: 0x6d625420, 0x380c3: 0x6d625620, + 0x380c4: 0x6d625820, 0x380c5: 0x6d625a20, 0x380c6: 0x6d625c20, 0x380c7: 0x6d625e20, + 0x380c8: 0x6d626020, 0x380c9: 0x6d626220, 0x380ca: 0x6d626420, 0x380cb: 0x6d8c5020, + 0x380cc: 0x6d8c5220, 0x380cd: 0x6d8c5420, 0x380ce: 0x6d8c5620, 0x380cf: 0x6d8c5820, + 0x380d0: 0x6d8c5a20, 0x380d1: 0x6d8c5c20, 0x380d2: 0x6d8c5e20, 0x380d3: 0x6db08820, + 0x380d4: 0x6db08a20, 0x380d5: 0x6db08c20, 0x380d6: 0x6db08e20, 0x380d7: 0x6db09020, + 0x380d8: 0x6db09220, 0x380d9: 0x6db09420, 0x380da: 0x6db09620, 0x380db: 0x6dd01620, + 0x380dc: 0x6dd01820, 0x380dd: 0x6dd01a20, 0x380de: 0x6dd01c20, 0x380df: 0x6de9f820, + 0x380e0: 0x6dd01e20, 0x380e1: 0x6dd02020, 0x380e2: 0x6dd02220, 0x380e3: 0x6dd02420, + 0x380e4: 0x6dd02620, 0x380e5: 0x6de9fa20, 0x380e6: 0x6de9fc20, 0x380e7: 0x6de9fe20, + 0x380e8: 0x6dea0020, 0x380e9: 0x6e123020, 0x380ea: 0x6e123220, 0x380eb: 0x6e33ca20, + 0x380ec: 0x6e33cc20, 0x380ed: 0x6e39aa20, 0x380ee: 0x6c25e820, 0x380ef: 0x6c3e4820, + 0x380f0: 0x6c3e4a20, 0x380f1: 0x6c3e4c20, 0x380f2: 0x6c3e4e20, 0x380f3: 0x6c3e5020, + 0x380f4: 0x6c3e5220, 0x380f5: 0x6c3e5420, 0x380f6: 0x6c3e5620, 0x380f7: 0x6c5d5620, + 0x380f8: 0x6c5d5820, 0x380f9: 0x6c5d5a20, 0x380fa: 0x6c5d5c20, 0x380fb: 0x6c5d5e20, + 0x380fc: 0x6c81d020, 0x380fd: 0x6c81d220, 0x380fe: 0x6c81d420, 0x380ff: 0x6c81d620, + // Block 0xe04, offset 0x38100 + 0x38100: 0x6c81d820, 0x38101: 0x6c81da20, 0x38102: 0x6c81dc20, 0x38103: 0x6c81de20, + 0x38104: 0x6c81e020, 0x38105: 0x6c81e220, 0x38106: 0x6c81e420, 0x38107: 0x6c81e620, + 0x38108: 0x6c81e820, 0x38109: 0x6c81ea20, 0x3810a: 0x6c81ec20, 0x3810b: 0x6c81ee20, + 0x3810c: 0x6c81f020, 0x3810d: 0x6c81f220, 0x3810e: 0x6c81f420, 0x3810f: 0x6c81f620, + 0x38110: 0x6caaea20, 0x38111: 0x6caaec20, 0x38112: 0x6caaee20, 0x38113: 0x6caaf020, + 0x38114: 0x6caaf220, 0x38115: 0x6caaf420, 0x38116: 0x6caaf620, 0x38117: 0x6caaf820, + 0x38118: 0x6caafa20, 0x38119: 0x6caafc20, 0x3811a: 0x6caafe20, 0x3811b: 0x6cab0020, + 0x3811c: 0x6cab0220, 0x3811d: 0x6cab0420, 0x3811e: 0x6cab0620, 0x3811f: 0x6cab0820, + 0x38120: 0x6cd92020, 0x38121: 0x6cd92220, 0x38122: 0x6cd92420, 0x38123: 0x6d07cc20, + 0x38124: 0x6cd92620, 0x38125: 0x6cd92820, 0x38126: 0x6cd92a20, 0x38127: 0x6cd92c20, + 0x38128: 0x6cd92e20, 0x38129: 0x6cd93020, 0x3812a: 0x6cd93220, 0x3812b: 0x6cd93420, + 0x3812c: 0x6cd93620, 0x3812d: 0x6cd93820, 0x3812e: 0x6cd93a20, 0x3812f: 0x6cd93c20, + 0x38130: 0x6cd93e20, 0x38131: 0x6cd94020, 0x38132: 0x6cd94220, 0x38133: 0x6cd94420, + 0x38134: 0x6cd94620, 0x38135: 0x6d07ce20, 0x38136: 0x6d07d020, 0x38137: 0x6d07d220, + 0x38138: 0x6d07d420, 0x38139: 0x6d07d620, 0x3813a: 0x6d07d820, 0x3813b: 0x6d07da20, + 0x3813c: 0x6d07dc20, 0x3813d: 0x6d07de20, 0x3813e: 0x6d07e020, 0x3813f: 0x6d07e220, + // Block 0xe05, offset 0x38140 + 0x38140: 0x6d07e420, 0x38141: 0x6d07e620, 0x38142: 0x6d07e820, 0x38143: 0x6d07ea20, + 0x38144: 0x6d07ec20, 0x38145: 0x6d07ee20, 0x38146: 0x6d07f020, 0x38147: 0x6d07f220, + 0x38148: 0x6d35d820, 0x38149: 0x6d35da20, 0x3814a: 0x6d35dc20, 0x3814b: 0x6d35de20, + 0x3814c: 0x6d35e020, 0x3814d: 0x6d35e220, 0x3814e: 0x6d35e420, 0x3814f: 0x6d35e620, + 0x38150: 0x6d35e820, 0x38151: 0x6d35ea20, 0x38152: 0x6d35ec20, 0x38153: 0x6d35ee20, + 0x38154: 0x6d35f020, 0x38155: 0x6d35f220, 0x38156: 0x6d35f420, 0x38157: 0x6d07f420, + 0x38158: 0x6d35f620, 0x38159: 0x6d35f820, 0x3815a: 0x6d35fa20, 0x3815b: 0x6d35fc20, + 0x3815c: 0x6d35fe20, 0x3815d: 0x6d360020, 0x3815e: 0x6d360220, 0x3815f: 0x6d360420, + 0x38160: 0x6d360620, 0x38161: 0x6d360820, 0x38162: 0x6d627e20, 0x38163: 0x6d628020, + 0x38164: 0x6d628220, 0x38165: 0x6d628420, 0x38166: 0x6d628620, 0x38167: 0x6d628820, + 0x38168: 0x6d628a20, 0x38169: 0x6d628c20, 0x3816a: 0x6d628e20, 0x3816b: 0x6d629020, + 0x3816c: 0x6d629220, 0x3816d: 0x6d629420, 0x3816e: 0x6d629620, 0x3816f: 0x6d629820, + 0x38170: 0x6d629a20, 0x38171: 0x6d629c20, 0x38172: 0x6d629e20, 0x38173: 0x6d62a020, + 0x38174: 0x6d62a220, 0x38175: 0x6d62a420, 0x38176: 0x6d62a620, 0x38177: 0x6d62a820, + 0x38178: 0x6d62aa20, 0x38179: 0x6d62ac20, 0x3817a: 0x6d62ae20, 0x3817b: 0x6d62b020, + 0x3817c: 0x6d8c6c20, 0x3817d: 0x6d8c6e20, 0x3817e: 0x6d8c7020, 0x3817f: 0x6d8c7220, + // Block 0xe06, offset 0x38180 + 0x38180: 0x6d8c7420, 0x38181: 0x6d8c7620, 0x38182: 0x6d8c7820, 0x38183: 0x6d8c7a20, + 0x38184: 0x6d8c7c20, 0x38185: 0x6d8c7e20, 0x38186: 0x6d8c8020, 0x38187: 0x6d62b220, + 0x38188: 0x6d8c8220, 0x38189: 0x6d8c8420, 0x3818a: 0x6d8c8620, 0x3818b: 0x6d8c8820, + 0x3818c: 0x6d8c8a20, 0x3818d: 0x6d8c8c20, 0x3818e: 0x6d8c8e20, 0x3818f: 0x6d8c9020, + 0x38190: 0x6db0aa20, 0x38191: 0x6db0ac20, 0x38192: 0x6db0ae20, 0x38193: 0x6db0b020, + 0x38194: 0x6db0b220, 0x38195: 0x6db0b420, 0x38196: 0x6db0b620, 0x38197: 0x6db0b820, + 0x38198: 0x6db0ba20, 0x38199: 0x6db0bc20, 0x3819a: 0x6db0be20, 0x3819b: 0x6db0c020, + 0x3819c: 0x6db0c220, 0x3819d: 0x6db0c420, 0x3819e: 0x6db0c620, 0x3819f: 0x6dd03220, + 0x381a0: 0x6dd03420, 0x381a1: 0x6dd03620, 0x381a2: 0x6dd03820, 0x381a3: 0x6dd03a20, + 0x381a4: 0x6dd03c20, 0x381a5: 0x6dd03e20, 0x381a6: 0x6dd04020, 0x381a7: 0x6dd04220, + 0x381a8: 0x6dd04420, 0x381a9: 0x6dd04620, 0x381aa: 0x6dd04820, 0x381ab: 0x6dd04a20, + 0x381ac: 0x6dd04c20, 0x381ad: 0x6dd04e20, 0x381ae: 0x6dd05020, 0x381af: 0x6dd05220, + 0x381b0: 0x6dd05420, 0x381b1: 0x6dd05620, 0x381b2: 0x6dd05820, 0x381b3: 0x6dea0420, + 0x381b4: 0x6dea0620, 0x381b5: 0x6dea0820, 0x381b6: 0x6dea0a20, 0x381b7: 0x6dea0c20, + 0x381b8: 0x6dea0e20, 0x381b9: 0x6dea1020, 0x381ba: 0x6dea1220, 0x381bb: 0x6dea1420, + 0x381bc: 0x6dea1620, 0x381bd: 0x6dea1820, 0x381be: 0x6dffd020, 0x381bf: 0x6dffd220, + // Block 0xe07, offset 0x381c0 + 0x381c0: 0x6dffd420, 0x381c1: 0x6dffd620, 0x381c2: 0x6dffd820, 0x381c3: 0x6dffda20, + 0x381c4: 0x6dffdc20, 0x381c5: 0x6e123420, 0x381c6: 0x6e123620, 0x381c7: 0x6e123820, + 0x381c8: 0x6e123a20, 0x381c9: 0x6e123c20, 0x381ca: 0x6e206220, 0x381cb: 0x6e206420, + 0x381cc: 0x6e206620, 0x381cd: 0x6e2b4420, 0x381ce: 0x6e2b4620, 0x381cf: 0x6e33ce20, + 0x381d0: 0x6e39ac20, 0x381d1: 0x6e3ddc20, 0x381d2: 0x6c145420, 0x381d3: 0x6c3e5c20, + 0x381d4: 0x6c5d6020, 0x381d5: 0x6cab0a20, 0x381d6: 0x6cab0c20, 0x381d7: 0x6cab0e20, + 0x381d8: 0x6cd94c20, 0x381d9: 0x6cd94e20, 0x381da: 0x6cd95020, 0x381db: 0x6d080420, + 0x381dc: 0x6d080620, 0x381dd: 0x6d361220, 0x381de: 0x6d361420, 0x381df: 0x6d361620, + 0x381e0: 0x6d62b620, 0x381e1: 0x6d62b820, 0x381e2: 0x6d62ba20, 0x381e3: 0x6d8c9c20, + 0x381e4: 0x6db0ce20, 0x381e5: 0x6db0d020, 0x381e6: 0x6db0d220, 0x381e7: 0x6dea1c20, + 0x381e8: 0x6dffde20, 0x381e9: 0x6c146420, 0x381ea: 0x6c146620, 0x381eb: 0x6c146820, + 0x381ec: 0x6c146a20, 0x381ed: 0x6c146c20, 0x381ee: 0x6c146e20, 0x381ef: 0x6c147020, + 0x381f0: 0x6c147220, 0x381f1: 0x6c147420, 0x381f2: 0x6c147620, 0x381f3: 0x6c147820, + 0x381f4: 0x6c261020, 0x381f5: 0x6c261220, 0x381f6: 0x6c261420, 0x381f7: 0x6c261620, + 0x381f8: 0x6c261820, 0x381f9: 0x6c261a20, 0x381fa: 0x6c261c20, 0x381fb: 0x6c261e20, + 0x381fc: 0x6c262020, 0x381fd: 0x6c262220, 0x381fe: 0x6c262420, 0x381ff: 0x6c3ebe20, + // Block 0xe08, offset 0x38200 + 0x38200: 0x6c3ec020, 0x38201: 0x6c3ec220, 0x38202: 0x6c3ec420, 0x38203: 0x6c3ec620, + 0x38204: 0x6c3ec820, 0x38205: 0x6c3eca20, 0x38206: 0x6c3ecc20, 0x38207: 0x6c3ece20, + 0x38208: 0x6c3ed020, 0x38209: 0x6c3ed220, 0x3820a: 0x6c3ed420, 0x3820b: 0x6c3ed620, + 0x3820c: 0x6c3ed820, 0x3820d: 0x6c3eda20, 0x3820e: 0x6c3edc20, 0x3820f: 0x6c3ede20, + 0x38210: 0x6c3ee020, 0x38211: 0x6c3ee220, 0x38212: 0x6c3ee420, 0x38213: 0x6c3ee620, + 0x38214: 0x6c3ee820, 0x38215: 0x6c3eea20, 0x38216: 0x6c3eec20, 0x38217: 0x6c3eee20, + 0x38218: 0x6c3ef020, 0x38219: 0x6c3ef220, 0x3821a: 0x6c3ef420, 0x3821b: 0x6c3ef620, + 0x3821c: 0x6c3ef820, 0x3821d: 0x6c3efa20, 0x3821e: 0x6c3efc20, 0x3821f: 0x6c3efe20, + 0x38220: 0x6c3f0020, 0x38221: 0x6c3f0220, 0x38222: 0x6c3f0420, 0x38223: 0x6c3f0620, + 0x38224: 0x6c3f0820, 0x38225: 0x6c3f0a20, 0x38226: 0x6c3f0c20, 0x38227: 0x6c3f0e20, + 0x38228: 0x6c3f1020, 0x38229: 0x6c3f1220, 0x3822a: 0x6c5dca20, 0x3822b: 0x6c5dcc20, + 0x3822c: 0x6c5dce20, 0x3822d: 0x6c5dd020, 0x3822e: 0x6c5dd220, 0x3822f: 0x6c5dd420, + 0x38230: 0x6c5dd620, 0x38231: 0x6c5dd820, 0x38232: 0x6c5dda20, 0x38233: 0x6c5ddc20, + 0x38234: 0x6c5dde20, 0x38235: 0x6c5de020, 0x38236: 0x6c5de220, 0x38237: 0x6c5de420, + 0x38238: 0x6c5de620, 0x38239: 0x6c5de820, 0x3823a: 0x6c5dea20, 0x3823b: 0x6c5dec20, + 0x3823c: 0x6c5dee20, 0x3823d: 0x6c5df020, 0x3823e: 0x6c5df220, 0x3823f: 0x6c5df420, + // Block 0xe09, offset 0x38240 + 0x38240: 0x6c5df620, 0x38241: 0x6c5df820, 0x38242: 0x6c5dfa20, 0x38243: 0x6c5dfc20, + 0x38244: 0x6c5dfe20, 0x38245: 0x6c5e0020, 0x38246: 0x6c5e0220, 0x38247: 0x6c5e0420, + 0x38248: 0x6c5e0620, 0x38249: 0x6c5e0820, 0x3824a: 0x6c5e0a20, 0x3824b: 0x6c5e0c20, + 0x3824c: 0x6c5e0e20, 0x3824d: 0x6c5e1020, 0x3824e: 0x6c5e1220, 0x3824f: 0x6c5e1420, + 0x38250: 0x6c5e1620, 0x38251: 0x6c5e1820, 0x38252: 0x6c5e1a20, 0x38253: 0x6c5e1c20, + 0x38254: 0x6c5e1e20, 0x38255: 0x6c5e2020, 0x38256: 0x6c5e2220, 0x38257: 0x6c5e2420, + 0x38258: 0x6c5e2620, 0x38259: 0x6c5e2820, 0x3825a: 0x6c5e2a20, 0x3825b: 0x6c5e2c20, + 0x3825c: 0x6c5e2e20, 0x3825d: 0x6c826020, 0x3825e: 0x6c826220, 0x3825f: 0x6c826420, + 0x38260: 0x6c826620, 0x38261: 0x6c826820, 0x38262: 0x6c826a20, 0x38263: 0x6c826c20, + 0x38264: 0x6c826e20, 0x38265: 0x6c827020, 0x38266: 0x6c827220, 0x38267: 0x6c827420, + 0x38268: 0x6c827620, 0x38269: 0x6c827820, 0x3826a: 0x6c827a20, 0x3826b: 0x6c827c20, + 0x3826c: 0x6c827e20, 0x3826d: 0x6c828020, 0x3826e: 0x6c828220, 0x3826f: 0x6c828420, + 0x38270: 0x6c828620, 0x38271: 0x6c828820, 0x38272: 0x6c828a20, 0x38273: 0x6c828c20, + 0x38274: 0x6c828e20, 0x38275: 0x6c829020, 0x38276: 0x6c829220, 0x38277: 0x6c829420, + 0x38278: 0x6c829620, 0x38279: 0x6c829820, 0x3827a: 0x6c829a20, 0x3827b: 0x6c829c20, + 0x3827c: 0x6c829e20, 0x3827d: 0x6c82a020, 0x3827e: 0x6c82a220, 0x3827f: 0x6c82a420, + // Block 0xe0a, offset 0x38280 + 0x38280: 0x6c82a620, 0x38281: 0x6c82a820, 0x38282: 0x6c82aa20, 0x38283: 0x6c82ac20, + 0x38284: 0x6c82ae20, 0x38285: 0x6c82b020, 0x38286: 0x6c82b220, 0x38287: 0x6c82b420, + 0x38288: 0x6c82b620, 0x38289: 0x6c82b820, 0x3828a: 0x6c82ba20, 0x3828b: 0x6c82bc20, + 0x3828c: 0x6c82be20, 0x3828d: 0x6c82c020, 0x3828e: 0x6c82c220, 0x3828f: 0x6c82c420, + 0x38290: 0x6c82c620, 0x38291: 0x6c82c820, 0x38292: 0x6c82ca20, 0x38293: 0x6c82cc20, + 0x38294: 0x6cab7220, 0x38295: 0x6cab7420, 0x38296: 0x6cab7620, 0x38297: 0x6cab7820, + 0x38298: 0x6cab7a20, 0x38299: 0x6cab7c20, 0x3829a: 0x6cab7e20, 0x3829b: 0x6cab8020, + 0x3829c: 0x6cab8220, 0x3829d: 0x6cab8420, 0x3829e: 0x6cab8620, 0x3829f: 0x6cab8820, + 0x382a0: 0x6cab8a20, 0x382a1: 0x6cab8c20, 0x382a2: 0x6cab8e20, 0x382a3: 0x6cab9020, + 0x382a4: 0x6cab9220, 0x382a5: 0x6cab9420, 0x382a6: 0x6cab9620, 0x382a7: 0x6cab9820, + 0x382a8: 0x6cab9a20, 0x382a9: 0x6cab9c20, 0x382aa: 0x6cab9e20, 0x382ab: 0x6caba020, + 0x382ac: 0x6caba220, 0x382ad: 0x6caba420, 0x382ae: 0x6caba620, 0x382af: 0x6caba820, + 0x382b0: 0x6cabaa20, 0x382b1: 0x6cabac20, 0x382b2: 0x6cabae20, 0x382b3: 0x6cabb020, + 0x382b4: 0x6cabb220, 0x382b5: 0x6cabb420, 0x382b6: 0x6cabb620, 0x382b7: 0x6cabb820, + 0x382b8: 0x6cabba20, 0x382b9: 0x6cabbc20, 0x382ba: 0x6cabbe20, 0x382bb: 0x6cabc020, + 0x382bc: 0x6cabc220, 0x382bd: 0x6cabc420, 0x382be: 0x6cabc620, 0x382bf: 0x6cabc820, + // Block 0xe0b, offset 0x382c0 + 0x382c0: 0x6cabca20, 0x382c1: 0x6cabcc20, 0x382c2: 0x6cabce20, 0x382c3: 0x6cabd020, + 0x382c4: 0x6cabd220, 0x382c5: 0x6cabd420, 0x382c6: 0x6cd9c020, 0x382c7: 0x6cd9c220, + 0x382c8: 0x6cd9c420, 0x382c9: 0x6cd9c620, 0x382ca: 0x6cd9c820, 0x382cb: 0x6cd9ca20, + 0x382cc: 0x6cd9cc20, 0x382cd: 0x6cd9ce20, 0x382ce: 0x6cd9d020, 0x382cf: 0x6cd9d220, + 0x382d0: 0x6cd9d420, 0x382d1: 0x6cd9d620, 0x382d2: 0x6cd9d820, 0x382d3: 0x6cd9da20, + 0x382d4: 0x6cd9dc20, 0x382d5: 0x6cd9de20, 0x382d6: 0x6cd9e020, 0x382d7: 0x6cd9e220, + 0x382d8: 0x6cd9e420, 0x382d9: 0x6cd9e620, 0x382da: 0x6cd9e820, 0x382db: 0x6cd9ea20, + 0x382dc: 0x6cd9ec20, 0x382dd: 0x6cd9ee20, 0x382de: 0x6cd9f020, 0x382df: 0x6cd9f220, + 0x382e0: 0x6cd9f420, 0x382e1: 0x6cd9f620, 0x382e2: 0x6cd9f820, 0x382e3: 0x6cd9fa20, + 0x382e4: 0x6cd9fc20, 0x382e5: 0x6cd9fe20, 0x382e6: 0x6cda0020, 0x382e7: 0x6cda0220, + 0x382e8: 0x6cda0420, 0x382e9: 0x6cda0620, 0x382ea: 0x6cda0820, 0x382eb: 0x6cda0a20, + 0x382ec: 0x6cda0c20, 0x382ed: 0x6cda0e20, 0x382ee: 0x6cda1020, 0x382ef: 0x6cda1220, + 0x382f0: 0x6cda1420, 0x382f1: 0x6cda1620, 0x382f2: 0x6cda1820, 0x382f3: 0x6cc87c20, + 0x382f4: 0x6cda1a20, 0x382f5: 0x6cda1c20, 0x382f6: 0x6cda1e20, 0x382f7: 0x6cda2020, + 0x382f8: 0x6cda2220, 0x382f9: 0x6cda2420, 0x382fa: 0x6cda2620, 0x382fb: 0x6cda2820, + 0x382fc: 0x6cda2a20, 0x382fd: 0x6cda2c20, 0x382fe: 0x6cda2e20, 0x382ff: 0x6cda3020, + // Block 0xe0c, offset 0x38300 + 0x38300: 0x6cda3220, 0x38301: 0x6cda3420, 0x38302: 0x6cda3620, 0x38303: 0x6cda3820, + 0x38304: 0x6cda3a20, 0x38305: 0x6cda3c20, 0x38306: 0x6cda3e20, 0x38307: 0x6cda4020, + 0x38308: 0x6cda4220, 0x38309: 0x6cda4420, 0x3830a: 0x6cda4620, 0x3830b: 0x6cda4820, + 0x3830c: 0x6cda4a20, 0x3830d: 0x6cda4c20, 0x3830e: 0x6cda4e20, 0x3830f: 0x6cda5020, + 0x38310: 0x6cda5220, 0x38311: 0x6cda5420, 0x38312: 0x6cda5620, 0x38313: 0x6cda5820, + 0x38314: 0x6cda5a20, 0x38315: 0x6cda5c20, 0x38316: 0x6cda5e20, 0x38317: 0x6cda6020, + 0x38318: 0x6cda6220, 0x38319: 0x6cda6420, 0x3831a: 0x6d087020, 0x3831b: 0x6d087220, + 0x3831c: 0x6d087420, 0x3831d: 0x6d087620, 0x3831e: 0x6d087820, 0x3831f: 0x6d087a20, + 0x38320: 0x6d087c20, 0x38321: 0x6d087e20, 0x38322: 0x6d088020, 0x38323: 0x6d088220, + 0x38324: 0x6d088420, 0x38325: 0x6d088620, 0x38326: 0x6d088820, 0x38327: 0x6d088a20, + 0x38328: 0x6d088c20, 0x38329: 0x6d088e20, 0x3832a: 0x6d089020, 0x3832b: 0x6d089220, + 0x3832c: 0x6d089420, 0x3832d: 0x6d089620, 0x3832e: 0x6d089820, 0x3832f: 0x6d089a20, + 0x38330: 0x6d089c20, 0x38331: 0x6d089e20, 0x38332: 0x6d08a020, 0x38333: 0x6d08a220, + 0x38334: 0x6d08a420, 0x38335: 0x6d08a620, 0x38336: 0x6d08a820, 0x38337: 0x6d08aa20, + 0x38338: 0x6d08ac20, 0x38339: 0x6d08ae20, 0x3833a: 0x6d08b020, 0x3833b: 0x6d08b220, + 0x3833c: 0x6d08b420, 0x3833d: 0x6d08b620, 0x3833e: 0x6d08b820, 0x3833f: 0x6d08ba20, + // Block 0xe0d, offset 0x38340 + 0x38340: 0x6d08bc20, 0x38341: 0x6d08be20, 0x38342: 0x6d08c020, 0x38343: 0x6d08c220, + 0x38344: 0x6d08c420, 0x38345: 0x6d08c620, 0x38346: 0x6d08c820, 0x38347: 0x6d08ca20, + 0x38348: 0x6d08cc20, 0x38349: 0x6d08ce20, 0x3834a: 0x6d08d020, 0x3834b: 0x6d08d220, + 0x3834c: 0x6d08d420, 0x3834d: 0x6d08d620, 0x3834e: 0x6d08d820, 0x3834f: 0x6d08da20, + 0x38350: 0x6d08dc20, 0x38351: 0x6d08de20, 0x38352: 0x6d08e020, 0x38353: 0x6d08e220, + 0x38354: 0x6d08e420, 0x38355: 0x6d08e620, 0x38356: 0x6d08e820, 0x38357: 0x6d08ea20, + 0x38358: 0x6d08ec20, 0x38359: 0x6d365c20, 0x3835a: 0x6d365e20, 0x3835b: 0x6d366020, + 0x3835c: 0x6d366220, 0x3835d: 0x6d366420, 0x3835e: 0x6d366620, 0x3835f: 0x6d366820, + 0x38360: 0x6d366a20, 0x38361: 0x6d366c20, 0x38362: 0x6d366e20, 0x38363: 0x6d367020, + 0x38364: 0x6d367220, 0x38365: 0x6d367420, 0x38366: 0x6d367620, 0x38367: 0x6d367820, + 0x38368: 0x6d367a20, 0x38369: 0x6d367c20, 0x3836a: 0x6d367e20, 0x3836b: 0x6d368020, + 0x3836c: 0x6d368220, 0x3836d: 0x6d368420, 0x3836e: 0x6d368620, 0x3836f: 0x6d368820, + 0x38370: 0x6d368a20, 0x38371: 0x6d368c20, 0x38372: 0x6d368e20, 0x38373: 0x6d369020, + 0x38374: 0x6d369220, 0x38375: 0x6d369420, 0x38376: 0x6d369620, 0x38377: 0x6d369820, + 0x38378: 0x6d369a20, 0x38379: 0x6d369c20, 0x3837a: 0x6d369e20, 0x3837b: 0x6d36a020, + 0x3837c: 0x6d36a220, 0x3837d: 0x6d36a420, 0x3837e: 0x6d36a620, 0x3837f: 0x6d36a820, + // Block 0xe0e, offset 0x38380 + 0x38380: 0x6d36aa20, 0x38381: 0x6d36ac20, 0x38382: 0x6d36ae20, 0x38383: 0x6d36b020, + 0x38384: 0x6d36b220, 0x38385: 0x6d36b420, 0x38386: 0x6d36b620, 0x38387: 0x6d36b820, + 0x38388: 0x6d36ba20, 0x38389: 0x6d36bc20, 0x3838a: 0x6d36be20, 0x3838b: 0x6d36c020, + 0x3838c: 0x6d36c220, 0x3838d: 0x6d36c420, 0x3838e: 0x6d36c620, 0x3838f: 0x6d36c820, + 0x38390: 0x6d36ca20, 0x38391: 0x6d36cc20, 0x38392: 0x6d36ce20, 0x38393: 0x6d08ee20, + 0x38394: 0x6d08f020, 0x38395: 0x6d36d020, 0x38396: 0x6d36d220, 0x38397: 0x6d36d420, + 0x38398: 0x6d62f420, 0x38399: 0x6d62f620, 0x3839a: 0x6d62f820, 0x3839b: 0x6d62fa20, + 0x3839c: 0x6d62fc20, 0x3839d: 0x6d62fe20, 0x3839e: 0x6d630020, 0x3839f: 0x6d630220, + 0x383a0: 0x6d630420, 0x383a1: 0x6d630620, 0x383a2: 0x6d630820, 0x383a3: 0x6d630a20, + 0x383a4: 0x6d630c20, 0x383a5: 0x6d630e20, 0x383a6: 0x6d631020, 0x383a7: 0x6d631220, + 0x383a8: 0x6d631420, 0x383a9: 0x6d631620, 0x383aa: 0x6d631820, 0x383ab: 0x6d631a20, + 0x383ac: 0x6d631c20, 0x383ad: 0x6d631e20, 0x383ae: 0x6d632020, 0x383af: 0x6d632220, + 0x383b0: 0x6d632420, 0x383b1: 0x6d632620, 0x383b2: 0x6d632820, 0x383b3: 0x6d632a20, + 0x383b4: 0x6d632c20, 0x383b5: 0x6d632e20, 0x383b6: 0x6d633020, 0x383b7: 0x6d633220, + 0x383b8: 0x6d633420, 0x383b9: 0x6d633620, 0x383ba: 0x6d633820, 0x383bb: 0x6d633a20, + 0x383bc: 0x6d633c20, 0x383bd: 0x6d633e20, 0x383be: 0x6d634020, 0x383bf: 0x6d634220, + // Block 0xe0f, offset 0x383c0 + 0x383c0: 0x6d634420, 0x383c1: 0x6d634620, 0x383c2: 0x6d634820, 0x383c3: 0x6d8cd620, + 0x383c4: 0x6d8cd820, 0x383c5: 0x6d8cda20, 0x383c6: 0x6d8cdc20, 0x383c7: 0x6d8cde20, + 0x383c8: 0x6d8ce020, 0x383c9: 0x6d8ce220, 0x383ca: 0x6d8ce420, 0x383cb: 0x6d8ce620, + 0x383cc: 0x6d8ce820, 0x383cd: 0x6d8cea20, 0x383ce: 0x6d8cec20, 0x383cf: 0x6d8cee20, + 0x383d0: 0x6d8cf020, 0x383d1: 0x6d8cf220, 0x383d2: 0x6d8cf420, 0x383d3: 0x6d8cf620, + 0x383d4: 0x6d8cf820, 0x383d5: 0x6d8cfa20, 0x383d6: 0x6d8cfc20, 0x383d7: 0x6d8cfe20, + 0x383d8: 0x6d8d0020, 0x383d9: 0x6d8d0220, 0x383da: 0x6d8d0420, 0x383db: 0x6d8d0620, + 0x383dc: 0x6d8d0820, 0x383dd: 0x6d8d0a20, 0x383de: 0x6d8d0c20, 0x383df: 0x6d8d0e20, + 0x383e0: 0x6d8d1020, 0x383e1: 0x6d8d1220, 0x383e2: 0x6d8d1420, 0x383e3: 0x6d8d1620, + 0x383e4: 0x6d8d1820, 0x383e5: 0x6d8d1a20, 0x383e6: 0x6d8d1c20, 0x383e7: 0x6d8d1e20, + 0x383e8: 0x6d8d2020, 0x383e9: 0x6d8d2220, 0x383ea: 0x6d8d2420, 0x383eb: 0x6d8d2620, + 0x383ec: 0x6d8d2820, 0x383ed: 0x6d8d2a20, 0x383ee: 0x6d8d2c20, 0x383ef: 0x6d8d2e20, + 0x383f0: 0x6d8d3020, 0x383f1: 0x6d8d3220, 0x383f2: 0x6d8d3420, 0x383f3: 0x6d8d3620, + 0x383f4: 0x6d8d3820, 0x383f5: 0x6d8d3a20, 0x383f6: 0x6d8d3c20, 0x383f7: 0x6d8d3e20, + 0x383f8: 0x6d8d4020, 0x383f9: 0x6d8d4220, 0x383fa: 0x6d8d4420, 0x383fb: 0x6d8d4620, + 0x383fc: 0x6d8d4820, 0x383fd: 0x6d8d4a20, 0x383fe: 0x6db10420, 0x383ff: 0x6db10620, + // Block 0xe10, offset 0x38400 + 0x38400: 0x6db10820, 0x38401: 0x6db10a20, 0x38402: 0x6db10c20, 0x38403: 0x6db10e20, + 0x38404: 0x6d8d4c20, 0x38405: 0x6db11020, 0x38406: 0x6db11220, 0x38407: 0x6db11420, + 0x38408: 0x6db11620, 0x38409: 0x6db11820, 0x3840a: 0x6db11a20, 0x3840b: 0x6db11c20, + 0x3840c: 0x6db11e20, 0x3840d: 0x6db12020, 0x3840e: 0x6dd07620, 0x3840f: 0x6db12220, + 0x38410: 0x6db12420, 0x38411: 0x6db12620, 0x38412: 0x6db12820, 0x38413: 0x6db12a20, + 0x38414: 0x6db12c20, 0x38415: 0x6db12e20, 0x38416: 0x6da5c020, 0x38417: 0x6d7c7a20, + 0x38418: 0x6db13020, 0x38419: 0x6db13220, 0x3841a: 0x6db13420, 0x3841b: 0x6db13620, + 0x3841c: 0x6db13820, 0x3841d: 0x6db13a20, 0x3841e: 0x6db13c20, 0x3841f: 0x6db13e20, + 0x38420: 0x6db14020, 0x38421: 0x6db14220, 0x38422: 0x6db14420, 0x38423: 0x6db14620, + 0x38424: 0x6db14820, 0x38425: 0x6db14a20, 0x38426: 0x6db14c20, 0x38427: 0x6db14e20, + 0x38428: 0x6db15020, 0x38429: 0x6db15220, 0x3842a: 0x6db15420, 0x3842b: 0x6db15620, + 0x3842c: 0x6db15820, 0x3842d: 0x6db15a20, 0x3842e: 0x6d8d4e20, 0x3842f: 0x6db15c20, + 0x38430: 0x6dd07820, 0x38431: 0x6dd07a20, 0x38432: 0x6dd07c20, 0x38433: 0x6dd07e20, + 0x38434: 0x6dd08020, 0x38435: 0x6dd08220, 0x38436: 0x6dd08420, 0x38437: 0x6dd08620, + 0x38438: 0x6dd08820, 0x38439: 0x6dd08a20, 0x3843a: 0x6dd08c20, 0x3843b: 0x6dd08e20, + 0x3843c: 0x6dd09020, 0x3843d: 0x6dd09220, 0x3843e: 0x6dd09420, 0x3843f: 0x6dd09620, + // Block 0xe11, offset 0x38440 + 0x38440: 0x6dd09820, 0x38441: 0x6dd09a20, 0x38442: 0x6dd09c20, 0x38443: 0x6dd09e20, + 0x38444: 0x6dd0a020, 0x38445: 0x6dd0a220, 0x38446: 0x6dd0a420, 0x38447: 0x6dd0a620, + 0x38448: 0x6dd0a820, 0x38449: 0x6dd0aa20, 0x3844a: 0x6dea2e20, 0x3844b: 0x6dea3020, + 0x3844c: 0x6dea3220, 0x3844d: 0x6dea3420, 0x3844e: 0x6dea3620, 0x3844f: 0x6dea3820, + 0x38450: 0x6dea3a20, 0x38451: 0x6dea3c20, 0x38452: 0x6dea3e20, 0x38453: 0x6dea4020, + 0x38454: 0x6dea4220, 0x38455: 0x6dea4420, 0x38456: 0x6dea4620, 0x38457: 0x6dea4820, + 0x38458: 0x6dea4a20, 0x38459: 0x6dea4c20, 0x3845a: 0x6dea4e20, 0x3845b: 0x6dea5020, + 0x3845c: 0x6dea5220, 0x3845d: 0x6dea5420, 0x3845e: 0x6dea5620, 0x3845f: 0x6dea5820, + 0x38460: 0x6dea5a20, 0x38461: 0x6dea5c20, 0x38462: 0x6dea5e20, 0x38463: 0x6dea6020, + 0x38464: 0x6dea6220, 0x38465: 0x6dffee20, 0x38466: 0x6dfff020, 0x38467: 0x6dfff220, + 0x38468: 0x6dfff420, 0x38469: 0x6dfff620, 0x3846a: 0x6dfff820, 0x3846b: 0x6dfffa20, + 0x3846c: 0x6dfffc20, 0x3846d: 0x6dfffe20, 0x3846e: 0x6e000020, 0x3846f: 0x6e000220, + 0x38470: 0x6e000420, 0x38471: 0x6e000620, 0x38472: 0x6e000820, 0x38473: 0x6e000a20, + 0x38474: 0x6e000c20, 0x38475: 0x6e000e20, 0x38476: 0x6e001020, 0x38477: 0x6e001220, + 0x38478: 0x6e124a20, 0x38479: 0x6e124c20, 0x3847a: 0x6e124e20, 0x3847b: 0x6e125020, + 0x3847c: 0x6e125220, 0x3847d: 0x6e125420, 0x3847e: 0x6e125620, 0x3847f: 0x6e206e20, + // Block 0xe12, offset 0x38480 + 0x38480: 0x6e207020, 0x38481: 0x6e207220, 0x38482: 0x6e207420, 0x38483: 0x6e207620, + 0x38484: 0x6e207820, 0x38485: 0x6e207a20, 0x38486: 0x6e2b4c20, 0x38487: 0x6e2b4e20, + 0x38488: 0x6e2b5020, 0x38489: 0x6e2b5220, 0x3848a: 0x6e2b5420, 0x3848b: 0x6e2b5620, + 0x3848c: 0x6e2b5820, 0x3848d: 0x6e2b5a20, 0x3848e: 0x6e2b5c20, 0x3848f: 0x6e2b5e20, + 0x38490: 0x6e2b6020, 0x38491: 0x6e33d020, 0x38492: 0x6e33d220, 0x38493: 0x6e33d420, + 0x38494: 0x6e33d620, 0x38495: 0x6e33d820, 0x38496: 0x6e39b220, 0x38497: 0x6e39b420, + 0x38498: 0x6e3dde20, 0x38499: 0x6e3de020, 0x3849a: 0x6e3de220, 0x3849b: 0x6e40be20, + 0x3849c: 0x6e42ec20, 0x3849d: 0x6c262620, 0x3849e: 0x6c147c20, 0x3849f: 0x6c5e3820, + 0x384a0: 0x6c82d220, 0x384a1: 0x6c82d420, 0x384a2: 0x6c82d620, 0x384a3: 0x6c82d820, + 0x384a4: 0x6cabde20, 0x384a5: 0x6cabe020, 0x384a6: 0x6cda7220, 0x384a7: 0x6cda7420, + 0x384a8: 0x6cda7620, 0x384a9: 0x6cda7820, 0x384aa: 0x6d8d5c20, 0x384ab: 0x6d36e620, + 0x384ac: 0x6d36e820, 0x384ad: 0x6d635620, 0x384ae: 0x6d36ea20, 0x384af: 0x6d635820, + 0x384b0: 0x6db16820, 0x384b1: 0x6db16a20, 0x384b2: 0x6dd0b220, 0x384b3: 0x6dd0b420, + 0x384b4: 0x6e125a20, 0x384b5: 0x6e125c20, 0x384b6: 0x6e207e20, 0x384b7: 0x6e445e20, + 0x384b8: 0x6e45ce20, 0x384b9: 0x6c148020, 0x384ba: 0x6c262a20, 0x384bb: 0x6c262c20, + 0x384bc: 0x6c262e20, 0x384bd: 0x6c3f1e20, 0x384be: 0x6c5e3a20, 0x384bf: 0x6c5e3c20, + // Block 0xe13, offset 0x384c0 + 0x384c0: 0x6c5e3e20, 0x384c1: 0x6c82e020, 0x384c2: 0x6c82e220, 0x384c3: 0x6c82e420, + 0x384c4: 0x6c82e620, 0x384c5: 0x6c82e820, 0x384c6: 0x6c82ea20, 0x384c7: 0x6c82ec20, + 0x384c8: 0x6c82ee20, 0x384c9: 0x6c82f020, 0x384ca: 0x6c82f220, 0x384cb: 0x6c82f420, + 0x384cc: 0x6cabe220, 0x384cd: 0x6cabe420, 0x384ce: 0x6cabe620, 0x384cf: 0x6cabe820, + 0x384d0: 0x6cda8220, 0x384d1: 0x6cda8420, 0x384d2: 0x6cda8620, 0x384d3: 0x6cda8820, + 0x384d4: 0x6d08fa20, 0x384d5: 0x6d36ee20, 0x384d6: 0x6d36f020, 0x384d7: 0x6d36f220, + 0x384d8: 0x6d635c20, 0x384d9: 0x6d635e20, 0x384da: 0x6d636020, 0x384db: 0x6d636220, + 0x384dc: 0x6d636420, 0x384dd: 0x6d636620, 0x384de: 0x6d8d6020, 0x384df: 0x6d8d6220, + 0x384e0: 0x6d8d6420, 0x384e1: 0x6db16c20, 0x384e2: 0x6db16e20, 0x384e3: 0x6db17020, + 0x384e4: 0x6db17220, 0x384e5: 0x6dd0b820, 0x384e6: 0x6dea6820, 0x384e7: 0x6dea6a20, + 0x384e8: 0x6dea6c20, 0x384e9: 0x6dea6e20, 0x384ea: 0x6dea7020, 0x384eb: 0x6e001620, + 0x384ec: 0x6e001820, 0x384ed: 0x6e001a20, 0x384ee: 0x6e001c20, 0x384ef: 0x6e125e20, + 0x384f0: 0x6e126020, 0x384f1: 0x6e33da20, 0x384f2: 0x6e3de420, 0x384f3: 0x6c148420, + 0x384f4: 0x6c148620, 0x384f5: 0x6c3f2020, 0x384f6: 0x6c5e4420, 0x384f7: 0x6c5e4620, + 0x384f8: 0x6c5e4820, 0x384f9: 0x6c82f620, 0x384fa: 0x6c82f820, 0x384fb: 0x6cabea20, + 0x384fc: 0x6cabec20, 0x384fd: 0x6cabee20, 0x384fe: 0x6cabf020, 0x384ff: 0x6cda9420, + // Block 0xe14, offset 0x38500 + 0x38500: 0x6cda9620, 0x38501: 0x6d08fe20, 0x38502: 0x6d36f620, 0x38503: 0x6d36f820, + 0x38504: 0x6d36fa20, 0x38505: 0x6d636a20, 0x38506: 0x6d636c20, 0x38507: 0x6d636e20, + 0x38508: 0x6d1dd820, 0x38509: 0x6d8d6820, 0x3850a: 0x6d8d6a20, 0x3850b: 0x6d8d6c20, + 0x3850c: 0x6d8d6e20, 0x3850d: 0x6d8d7020, 0x3850e: 0x6db17420, 0x3850f: 0x6dd0bc20, + 0x38510: 0x6dd0be20, 0x38511: 0x6c148a20, 0x38512: 0x6c148c20, 0x38513: 0x6c148e20, + 0x38514: 0x6c263020, 0x38515: 0x6c3f2620, 0x38516: 0x6c3f2820, 0x38517: 0x6c5e4c20, + 0x38518: 0x6c5e4e20, 0x38519: 0x6c3f2a20, 0x3851a: 0x6c5e5020, 0x3851b: 0x6c5e5220, + 0x3851c: 0x6c5e5420, 0x3851d: 0x6c830020, 0x3851e: 0x6c830220, 0x3851f: 0x6c830420, + 0x38520: 0x6c830620, 0x38521: 0x6c830820, 0x38522: 0x6c830a20, 0x38523: 0x6c830c20, + 0x38524: 0x6c830e20, 0x38525: 0x6cabf620, 0x38526: 0x6cabf820, 0x38527: 0x6c5e5620, + 0x38528: 0x6cabfa20, 0x38529: 0x6cabfc20, 0x3852a: 0x6cabfe20, 0x3852b: 0x6cac0020, + 0x3852c: 0x6cac0220, 0x3852d: 0x6cda9e20, 0x3852e: 0x6cdaa020, 0x3852f: 0x6cdaa220, + 0x38530: 0x6cdaa420, 0x38531: 0x6cdaa620, 0x38532: 0x6cdaa820, 0x38533: 0x6d090420, + 0x38534: 0x6d090620, 0x38535: 0x6d090820, 0x38536: 0x6d090a20, 0x38537: 0x6d090c20, + 0x38538: 0x6d090e20, 0x38539: 0x6d091020, 0x3853a: 0x6d091220, 0x3853b: 0x6d370420, + 0x3853c: 0x6d370620, 0x3853d: 0x6d370820, 0x3853e: 0x6d370a20, 0x3853f: 0x6d370c20, + // Block 0xe15, offset 0x38540 + 0x38540: 0x6d370e20, 0x38541: 0x6d371020, 0x38542: 0x6d371220, 0x38543: 0x6d371420, + 0x38544: 0x6d371620, 0x38545: 0x6d637220, 0x38546: 0x6d637420, 0x38547: 0x6d637620, + 0x38548: 0x6d637820, 0x38549: 0x6d637a20, 0x3854a: 0x6d637c20, 0x3854b: 0x6d637e20, + 0x3854c: 0x6d638020, 0x3854d: 0x6d638220, 0x3854e: 0x6d638420, 0x3854f: 0x6d8d7a20, + 0x38550: 0x6d8d7c20, 0x38551: 0x6d8d7e20, 0x38552: 0x6d8d8020, 0x38553: 0x6d8d8220, + 0x38554: 0x6d5dd620, 0x38555: 0x6d8d8420, 0x38556: 0x6d8d8620, 0x38557: 0x6d8d8820, + 0x38558: 0x6db17620, 0x38559: 0x6db17820, 0x3855a: 0x6db17a20, 0x3855b: 0x6db17c20, + 0x3855c: 0x6db17e20, 0x3855d: 0x6db18020, 0x3855e: 0x6db18220, 0x3855f: 0x6db18420, + 0x38560: 0x6db18620, 0x38561: 0x6dd0c220, 0x38562: 0x6dd0c420, 0x38563: 0x6dd0c620, + 0x38564: 0x6dd0c820, 0x38565: 0x6dd0ca20, 0x38566: 0x6dd0cc20, 0x38567: 0x6dd0ce20, + 0x38568: 0x6dca2e20, 0x38569: 0x6dea7620, 0x3856a: 0x6dea7820, 0x3856b: 0x6dea7a20, + 0x3856c: 0x6dea7c20, 0x3856d: 0x6e002020, 0x3856e: 0x6e002220, 0x3856f: 0x6dea7e20, + 0x38570: 0x6e002420, 0x38571: 0x6e002620, 0x38572: 0x6e002820, 0x38573: 0x6e002a20, + 0x38574: 0x6e002c20, 0x38575: 0x6e002e20, 0x38576: 0x6e126220, 0x38577: 0x6e126420, + 0x38578: 0x6e126620, 0x38579: 0x6e208020, 0x3857a: 0x6e2b6420, 0x3857b: 0x6e2b6620, + 0x3857c: 0x6e33de20, 0x3857d: 0x6e39b620, 0x3857e: 0x6e39b820, 0x3857f: 0x6e39ba20, + // Block 0xe16, offset 0x38580 + 0x38580: 0x6e3de820, 0x38581: 0x6e40c020, 0x38582: 0x6e40c220, 0x38583: 0x6e454420, + 0x38584: 0x6e472c20, 0x38585: 0x6e473620, 0x38586: 0x6c263220, 0x38587: 0x6c5e5820, + 0x38588: 0x6c831620, 0x38589: 0x6c831820, 0x3858a: 0x6c831a20, 0x3858b: 0x6c831c20, + 0x3858c: 0x6c831e20, 0x3858d: 0x6c832020, 0x3858e: 0x6c832220, 0x3858f: 0x6c832420, + 0x38590: 0x6c832620, 0x38591: 0x6cac0820, 0x38592: 0x6cac0a20, 0x38593: 0x6cac0c20, + 0x38594: 0x6cac0e20, 0x38595: 0x6cdaae20, 0x38596: 0x6cdab020, 0x38597: 0x6cdab220, + 0x38598: 0x6cdab420, 0x38599: 0x6cdab620, 0x3859a: 0x6cdab820, 0x3859b: 0x6cdaba20, + 0x3859c: 0x6cdabc20, 0x3859d: 0x6d091420, 0x3859e: 0x6d091620, 0x3859f: 0x6d371e20, + 0x385a0: 0x6d372020, 0x385a1: 0x6d372220, 0x385a2: 0x6d372420, 0x385a3: 0x6d372620, + 0x385a4: 0x6d372820, 0x385a5: 0x6d372a20, 0x385a6: 0x6d372c20, 0x385a7: 0x6d638c20, + 0x385a8: 0x6d638e20, 0x385a9: 0x6d639020, 0x385aa: 0x6d639220, 0x385ab: 0x6d639420, + 0x385ac: 0x6d639620, 0x385ad: 0x6d8d8c20, 0x385ae: 0x6d8d8e20, 0x385af: 0x6d8d9020, + 0x385b0: 0x6d8d9220, 0x385b1: 0x6db18820, 0x385b2: 0x6db18a20, 0x385b3: 0x6db18c20, + 0x385b4: 0x6dd0d420, 0x385b5: 0x6dd0d620, 0x385b6: 0x6dd0d820, 0x385b7: 0x6dea8220, + 0x385b8: 0x6e003020, 0x385b9: 0x6e126820, 0x385ba: 0x6e208220, 0x385bb: 0x6e2b6820, + 0x385bc: 0x6e2b6a20, 0x385bd: 0x6e3dec20, 0x385be: 0x6d639820, 0x385bf: 0x6d639a20, + // Block 0xe17, offset 0x385c0 + 0x385c0: 0x6dd0da20, 0x385c1: 0x6e003220, 0x385c2: 0x6e2b6c20, 0x385c3: 0x6e208620, + 0x385c4: 0x6e33e020, 0x385c5: 0x6e39bc20, 0x385c6: 0x6e40c420, 0x385c7: 0x6c263420, + 0x385c8: 0x6c3f3820, 0x385c9: 0x6c3f3a20, 0x385ca: 0x6c3f3c20, 0x385cb: 0x6c3f3e20, + 0x385cc: 0x6c3f4020, 0x385cd: 0x6c3f4220, 0x385ce: 0x6c5e6820, 0x385cf: 0x6c5e6a20, + 0x385d0: 0x6c5e6c20, 0x385d1: 0x6c5e6e20, 0x385d2: 0x6c5e7020, 0x385d3: 0x6c5e7220, + 0x385d4: 0x6c5e7420, 0x385d5: 0x6c834620, 0x385d6: 0x6c834820, 0x385d7: 0x6c834a20, + 0x385d8: 0x6c834c20, 0x385d9: 0x6c834e20, 0x385da: 0x6c835020, 0x385db: 0x6c835220, + 0x385dc: 0x6c835420, 0x385dd: 0x6c835620, 0x385de: 0x6c835820, 0x385df: 0x6c835a20, + 0x385e0: 0x6c835c20, 0x385e1: 0x6cac2c20, 0x385e2: 0x6cac2e20, 0x385e3: 0x6cac3020, + 0x385e4: 0x6cac3220, 0x385e5: 0x6cac3420, 0x385e6: 0x6cac3620, 0x385e7: 0x6cac3820, + 0x385e8: 0x6cac3a20, 0x385e9: 0x6cac3c20, 0x385ea: 0x6cac3e20, 0x385eb: 0x6cac4020, + 0x385ec: 0x6cac4220, 0x385ed: 0x6cac4420, 0x385ee: 0x6cac4620, 0x385ef: 0x6cdad220, + 0x385f0: 0x6cdad420, 0x385f1: 0x6cdad620, 0x385f2: 0x6cdad820, 0x385f3: 0x6d093620, + 0x385f4: 0x6cdada20, 0x385f5: 0x6cdadc20, 0x385f6: 0x6cdade20, 0x385f7: 0x6cdae020, + 0x385f8: 0x6cdae220, 0x385f9: 0x6cdae420, 0x385fa: 0x6cdae620, 0x385fb: 0x6cdae820, + 0x385fc: 0x6cdaea20, 0x385fd: 0x6d093820, 0x385fe: 0x6d093a20, 0x385ff: 0x6d093c20, + // Block 0xe18, offset 0x38600 + 0x38600: 0x6d093e20, 0x38601: 0x6d094020, 0x38602: 0x6d094220, 0x38603: 0x6d094420, + 0x38604: 0x6d094620, 0x38605: 0x6d094820, 0x38606: 0x6d094a20, 0x38607: 0x6d094c20, + 0x38608: 0x6d094e20, 0x38609: 0x6d095020, 0x3860a: 0x6d374a20, 0x3860b: 0x6d374c20, + 0x3860c: 0x6d374e20, 0x3860d: 0x6d375020, 0x3860e: 0x6d375220, 0x3860f: 0x6d375420, + 0x38610: 0x6d375620, 0x38611: 0x6d375820, 0x38612: 0x6d375a20, 0x38613: 0x6d375c20, + 0x38614: 0x6d375e20, 0x38615: 0x6d376020, 0x38616: 0x6d376220, 0x38617: 0x6d376420, + 0x38618: 0x6d376620, 0x38619: 0x6d376820, 0x3861a: 0x6d376a20, 0x3861b: 0x6d376c20, + 0x3861c: 0x6d376e20, 0x3861d: 0x6d63b020, 0x3861e: 0x6d63b220, 0x3861f: 0x6d63b420, + 0x38620: 0x6d63b620, 0x38621: 0x6d63b820, 0x38622: 0x6d63ba20, 0x38623: 0x6d63bc20, + 0x38624: 0x6d63be20, 0x38625: 0x6d63c020, 0x38626: 0x6d63c220, 0x38627: 0x6d63c420, + 0x38628: 0x6d63c620, 0x38629: 0x6d63c820, 0x3862a: 0x6d63ca20, 0x3862b: 0x6d63cc20, + 0x3862c: 0x6d63ce20, 0x3862d: 0x6d63d020, 0x3862e: 0x6d63d220, 0x3862f: 0x6d63d420, + 0x38630: 0x6d63d620, 0x38631: 0x6d63d820, 0x38632: 0x6d63da20, 0x38633: 0x6d63dc20, + 0x38634: 0x6d8da820, 0x38635: 0x6d8daa20, 0x38636: 0x6d8dac20, 0x38637: 0x6d8dae20, + 0x38638: 0x6d8db020, 0x38639: 0x6d8db220, 0x3863a: 0x6d8db420, 0x3863b: 0x6d8db620, + 0x3863c: 0x6d8db820, 0x3863d: 0x6d8dba20, 0x3863e: 0x6d8dbc20, 0x3863f: 0x6d63de20, + // Block 0xe19, offset 0x38640 + 0x38640: 0x6d8dbe20, 0x38641: 0x6d8dc020, 0x38642: 0x6d8dc220, 0x38643: 0x6d8dc420, + 0x38644: 0x6d8dc620, 0x38645: 0x6d8dc820, 0x38646: 0x6db1a420, 0x38647: 0x6db1a620, + 0x38648: 0x6db1a820, 0x38649: 0x6db1aa20, 0x3864a: 0x6db1ac20, 0x3864b: 0x6db1ae20, + 0x3864c: 0x6db1b020, 0x3864d: 0x6db1b220, 0x3864e: 0x6db1b420, 0x3864f: 0x6db1b620, + 0x38650: 0x6db1b820, 0x38651: 0x6dd0e820, 0x38652: 0x6dd0ea20, 0x38653: 0x6dd0ec20, + 0x38654: 0x6dd0ee20, 0x38655: 0x6dd0f020, 0x38656: 0x6dd0f220, 0x38657: 0x6dd0f420, + 0x38658: 0x6dd0f620, 0x38659: 0x6dd0f820, 0x3865a: 0x6dd0fa20, 0x3865b: 0x6dd0fc20, + 0x3865c: 0x6dd0fe20, 0x3865d: 0x6dd10020, 0x3865e: 0x6dd10220, 0x3865f: 0x6dd10420, + 0x38660: 0x6dd10620, 0x38661: 0x6dd10820, 0x38662: 0x6dd10a20, 0x38663: 0x6dd10c20, + 0x38664: 0x6dd10e20, 0x38665: 0x6dd11020, 0x38666: 0x6dd11220, 0x38667: 0x6dd11420, + 0x38668: 0x6dea9020, 0x38669: 0x6dea9220, 0x3866a: 0x6dea9420, 0x3866b: 0x6dea9620, + 0x3866c: 0x6dea9820, 0x3866d: 0x6dea9a20, 0x3866e: 0x6dea9c20, 0x3866f: 0x6dea9e20, + 0x38670: 0x6deaa020, 0x38671: 0x6e003e20, 0x38672: 0x6e004020, 0x38673: 0x6e004220, + 0x38674: 0x6e004420, 0x38675: 0x6e004620, 0x38676: 0x6e126e20, 0x38677: 0x6e127020, + 0x38678: 0x6e127220, 0x38679: 0x6e105820, 0x3867a: 0x6e127420, 0x3867b: 0x6e127620, + 0x3867c: 0x6e127820, 0x3867d: 0x6e208a20, 0x3867e: 0x6e208c20, 0x3867f: 0x6e208e20, + // Block 0xe1a, offset 0x38680 + 0x38680: 0x6e209020, 0x38681: 0x6e209220, 0x38682: 0x6e209420, 0x38683: 0x6e2b7020, + 0x38684: 0x6e2b7220, 0x38685: 0x6e39be20, 0x38686: 0x6e39c020, 0x38687: 0x6e3dee20, + 0x38688: 0x6e40c620, 0x38689: 0x6e3df020, 0x3868a: 0x6e454620, 0x3868b: 0x6c5e7820, + 0x3868c: 0x6cac4820, 0x3868d: 0x6cac4a20, 0x3868e: 0x6cdaec20, 0x3868f: 0x6d095220, + 0x38690: 0x6d63e420, 0x38691: 0x6db1be20, 0x38692: 0x6e004a20, 0x38693: 0x6c5e7c20, + 0x38694: 0x6cac5020, 0x38695: 0x6cac5220, 0x38696: 0x6cac5420, 0x38697: 0x6cac5620, + 0x38698: 0x6cac5820, 0x38699: 0x6cac5a20, 0x3869a: 0x6cdaee20, 0x3869b: 0x6d095420, + 0x3869c: 0x6d095620, 0x3869d: 0x6d095820, 0x3869e: 0x6d377420, 0x3869f: 0x6d377620, + 0x386a0: 0x6d377820, 0x386a1: 0x6d377a20, 0x386a2: 0x6d377c20, 0x386a3: 0x6d377e20, + 0x386a4: 0x6d63e620, 0x386a5: 0x6d63e820, 0x386a6: 0x6d63ea20, 0x386a7: 0x6d63ec20, + 0x386a8: 0x6d63ee20, 0x386a9: 0x6d63f020, 0x386aa: 0x6d8dce20, 0x386ab: 0x6d8dd020, + 0x386ac: 0x6d8dd220, 0x386ad: 0x6d8dd420, 0x386ae: 0x6d8dd620, 0x386af: 0x6e004c20, + 0x386b0: 0x6e004e20, 0x386b1: 0x6e005020, 0x386b2: 0x6e39c220, 0x386b3: 0x6c0a5a20, + 0x386b4: 0x6c0a5c20, 0x386b5: 0x6c0a5e20, 0x386b6: 0x6c14b020, 0x386b7: 0x6c14b220, + 0x386b8: 0x6c14b420, 0x386b9: 0x6c14b620, 0x386ba: 0x6c14b820, 0x386bb: 0x6c14ba20, + 0x386bc: 0x6c14bc20, 0x386bd: 0x6c14be20, 0x386be: 0x6c14c020, 0x386bf: 0x6c14c220, + // Block 0xe1b, offset 0x386c0 + 0x386c0: 0x6c14c420, 0x386c1: 0x6c266020, 0x386c2: 0x6c266220, 0x386c3: 0x6c266420, + 0x386c4: 0x6c266620, 0x386c5: 0x6c266820, 0x386c6: 0x6c266a20, 0x386c7: 0x6c266c20, + 0x386c8: 0x6c266e20, 0x386c9: 0x6c267020, 0x386ca: 0x6c267220, 0x386cb: 0x6c267420, + 0x386cc: 0x6c267620, 0x386cd: 0x6c267820, 0x386ce: 0x6c267a20, 0x386cf: 0x6c267c20, + 0x386d0: 0x6c267e20, 0x386d1: 0x6c268020, 0x386d2: 0x6c268220, 0x386d3: 0x6c3fba20, + 0x386d4: 0x6c3fbc20, 0x386d5: 0x6c3fbe20, 0x386d6: 0x6c3fc020, 0x386d7: 0x6c3fc220, + 0x386d8: 0x6c3fc420, 0x386d9: 0x6c3fc620, 0x386da: 0x6c3fc820, 0x386db: 0x6c3fca20, + 0x386dc: 0x6c3fcc20, 0x386dd: 0x6c3fce20, 0x386de: 0x6c3fd020, 0x386df: 0x6c3fd220, + 0x386e0: 0x6c3fd420, 0x386e1: 0x6c3fd620, 0x386e2: 0x6c3fd820, 0x386e3: 0x6c3fda20, + 0x386e4: 0x6c3fdc20, 0x386e5: 0x6c3fde20, 0x386e6: 0x6c3fe020, 0x386e7: 0x6c3fe220, + 0x386e8: 0x6c3fe420, 0x386e9: 0x6c3fe620, 0x386ea: 0x6c3fe820, 0x386eb: 0x6c3fea20, + 0x386ec: 0x6c3fec20, 0x386ed: 0x6c3fee20, 0x386ee: 0x6c3ff020, 0x386ef: 0x6c3ff220, + 0x386f0: 0x6c3ff420, 0x386f1: 0x6c3ff620, 0x386f2: 0x6c3ff820, 0x386f3: 0x6c3ffa20, + 0x386f4: 0x6c3ffc20, 0x386f5: 0x6c3ffe20, 0x386f6: 0x6c400020, 0x386f7: 0x6c5f1220, + 0x386f8: 0x6c5f1420, 0x386f9: 0x6c5f1620, 0x386fa: 0x6c5f1820, 0x386fb: 0x6c5f1a20, + 0x386fc: 0x6c5f1c20, 0x386fd: 0x6c5f1e20, 0x386fe: 0x6c5f2020, 0x386ff: 0x6c5f2220, + // Block 0xe1c, offset 0x38700 + 0x38700: 0x6c5f2420, 0x38701: 0x6c5f2620, 0x38702: 0x6c5f2820, 0x38703: 0x6c5f2a20, + 0x38704: 0x6c5f2c20, 0x38705: 0x6c5f2e20, 0x38706: 0x6c5f3020, 0x38707: 0x6c5f3220, + 0x38708: 0x6c5f3420, 0x38709: 0x6c5f3620, 0x3870a: 0x6c5f3820, 0x3870b: 0x6c5f3a20, + 0x3870c: 0x6c5f3c20, 0x3870d: 0x6c5f3e20, 0x3870e: 0x6c5f4020, 0x3870f: 0x6c5f4220, + 0x38710: 0x6c5f4420, 0x38711: 0x6c5f4620, 0x38712: 0x6c5f4820, 0x38713: 0x6c5f4a20, + 0x38714: 0x6c5f4c20, 0x38715: 0x6c5f4e20, 0x38716: 0x6c5f5020, 0x38717: 0x6c5f5220, + 0x38718: 0x6c5f5420, 0x38719: 0x6c5f5620, 0x3871a: 0x6c5f5820, 0x3871b: 0x6c5f5a20, + 0x3871c: 0x6c5f5c20, 0x3871d: 0x6c5f5e20, 0x3871e: 0x6c5f6020, 0x3871f: 0x6c5f6220, + 0x38720: 0x6c5f6420, 0x38721: 0x6c5f6620, 0x38722: 0x6c5f6820, 0x38723: 0x6c5f6a20, + 0x38724: 0x6c5f6c20, 0x38725: 0x6c5f6e20, 0x38726: 0x6c5f7020, 0x38727: 0x6c5f7220, + 0x38728: 0x6c5f7420, 0x38729: 0x6c5f7620, 0x3872a: 0x6c5f7820, 0x3872b: 0x6c5f7a20, + 0x3872c: 0x6c5f7c20, 0x3872d: 0x6c841e20, 0x3872e: 0x6c842020, 0x3872f: 0x6c842220, + 0x38730: 0x6c842420, 0x38731: 0x6c842620, 0x38732: 0x6c842820, 0x38733: 0x6c842a20, + 0x38734: 0x6c842c20, 0x38735: 0x6c842e20, 0x38736: 0x6c843020, 0x38737: 0x6c843220, + 0x38738: 0x6c843420, 0x38739: 0x6c843620, 0x3873a: 0x6c843820, 0x3873b: 0x6c843a20, + 0x3873c: 0x6c843c20, 0x3873d: 0x6c843e20, 0x3873e: 0x6c844020, 0x3873f: 0x6c844220, + // Block 0xe1d, offset 0x38740 + 0x38740: 0x6c844420, 0x38741: 0x6c844620, 0x38742: 0x6c844820, 0x38743: 0x6c844a20, + 0x38744: 0x6c844c20, 0x38745: 0x6c844e20, 0x38746: 0x6c845020, 0x38747: 0x6c845220, + 0x38748: 0x6c845420, 0x38749: 0x6c845620, 0x3874a: 0x6c845820, 0x3874b: 0x6c845a20, + 0x3874c: 0x6c845c20, 0x3874d: 0x6c845e20, 0x3874e: 0x6c846020, 0x3874f: 0x6c846220, + 0x38750: 0x6c846420, 0x38751: 0x6c846620, 0x38752: 0x6c846820, 0x38753: 0x6c846a20, + 0x38754: 0x6c846c20, 0x38755: 0x6c846e20, 0x38756: 0x6c847020, 0x38757: 0x6c847220, + 0x38758: 0x6c847420, 0x38759: 0x6c847620, 0x3875a: 0x6c847820, 0x3875b: 0x6c847a20, + 0x3875c: 0x6c847c20, 0x3875d: 0x6c847e20, 0x3875e: 0x6c848020, 0x3875f: 0x6c848220, + 0x38760: 0x6c848420, 0x38761: 0x6c848620, 0x38762: 0x6c848820, 0x38763: 0x6c848a20, + 0x38764: 0x6c848c20, 0x38765: 0x6c848e20, 0x38766: 0x6c849020, 0x38767: 0x6c849220, + 0x38768: 0x6c849420, 0x38769: 0x6c849620, 0x3876a: 0x6c849820, 0x3876b: 0x6c849a20, + 0x3876c: 0x6c849c20, 0x3876d: 0x6c849e20, 0x3876e: 0x6c84a020, 0x3876f: 0x6c84a220, + 0x38770: 0x6c84a420, 0x38771: 0x6c84a620, 0x38772: 0x6c84a820, 0x38773: 0x6c84aa20, + 0x38774: 0x6c84ac20, 0x38775: 0x6c84ae20, 0x38776: 0x6cad1020, 0x38777: 0x6cad1220, + 0x38778: 0x6cad1420, 0x38779: 0x6cad1620, 0x3877a: 0x6cad1820, 0x3877b: 0x6cad1a20, + 0x3877c: 0x6cad1c20, 0x3877d: 0x6cad1e20, 0x3877e: 0x6cad2020, 0x3877f: 0x6cad2220, + // Block 0xe1e, offset 0x38780 + 0x38780: 0x6cad2420, 0x38781: 0x6cad2620, 0x38782: 0x6cad2820, 0x38783: 0x6cad2a20, + 0x38784: 0x6cad2c20, 0x38785: 0x6cad2e20, 0x38786: 0x6cad3020, 0x38787: 0x6cad3220, + 0x38788: 0x6cad3420, 0x38789: 0x6cad3620, 0x3878a: 0x6cad3820, 0x3878b: 0x6cad3a20, + 0x3878c: 0x6cad3c20, 0x3878d: 0x6cad3e20, 0x3878e: 0x6cad4020, 0x3878f: 0x6cad4220, + 0x38790: 0x6cad4420, 0x38791: 0x6cad4620, 0x38792: 0x6cad4820, 0x38793: 0x6cad4a20, + 0x38794: 0x6cad4c20, 0x38795: 0x6cad4e20, 0x38796: 0x6cad5020, 0x38797: 0x6cad5220, + 0x38798: 0x6cad5420, 0x38799: 0x6cad5620, 0x3879a: 0x6cad5820, 0x3879b: 0x6cad5a20, + 0x3879c: 0x6cad5c20, 0x3879d: 0x6cad5e20, 0x3879e: 0x6cad6020, 0x3879f: 0x6cad6220, + 0x387a0: 0x6cad6420, 0x387a1: 0x6cad6620, 0x387a2: 0x6cad6820, 0x387a3: 0x6cad6a20, + 0x387a4: 0x6cad6c20, 0x387a5: 0x6cad6e20, 0x387a6: 0x6cad7020, 0x387a7: 0x6cad7220, + 0x387a8: 0x6cad7420, 0x387a9: 0x6cad7620, 0x387aa: 0x6cad7820, 0x387ab: 0x6cad7a20, + 0x387ac: 0x6cad7c20, 0x387ad: 0x6cad7e20, 0x387ae: 0x6cad8020, 0x387af: 0x6cad8220, + 0x387b0: 0x6cad8420, 0x387b1: 0x6cdbf020, 0x387b2: 0x6cad8620, 0x387b3: 0x6cad8820, + 0x387b4: 0x6cad8a20, 0x387b5: 0x6cad8c20, 0x387b6: 0x6cad8e20, 0x387b7: 0x6cad9020, + 0x387b8: 0x6cad9220, 0x387b9: 0x6cad9420, 0x387ba: 0x6cad9620, 0x387bb: 0x6cad9820, + 0x387bc: 0x6cad9a20, 0x387bd: 0x6cad9c20, 0x387be: 0x6cad9e20, 0x387bf: 0x6cada020, + // Block 0xe1f, offset 0x387c0 + 0x387c0: 0x6cada220, 0x387c1: 0x6cada420, 0x387c2: 0x6cada620, 0x387c3: 0x6cada820, + 0x387c4: 0x6cadaa20, 0x387c5: 0x6cadac20, 0x387c6: 0x6cadae20, 0x387c7: 0x6cadb020, + 0x387c8: 0x6cadb220, 0x387c9: 0x6cadb420, 0x387ca: 0x6cadb620, 0x387cb: 0x6cadb820, + 0x387cc: 0x6cadba20, 0x387cd: 0x6cadbc20, 0x387ce: 0x6cadbe20, 0x387cf: 0x6cadc020, + 0x387d0: 0x6cadc220, 0x387d1: 0x6cadc420, 0x387d2: 0x6cadc620, 0x387d3: 0x6cadc820, + 0x387d4: 0x6cadca20, 0x387d5: 0x6cadcc20, 0x387d6: 0x6cdbf220, 0x387d7: 0x6cadce20, + 0x387d8: 0x6cadd020, 0x387d9: 0x6cadd220, 0x387da: 0x6cadd420, 0x387db: 0x6cadd620, + 0x387dc: 0x6cadd820, 0x387dd: 0x6cadda20, 0x387de: 0x6caddc20, 0x387df: 0x6cadde20, + 0x387e0: 0x6cade020, 0x387e1: 0x6cade220, 0x387e2: 0x6cade420, 0x387e3: 0x6cade620, + 0x387e4: 0x6cade820, 0x387e5: 0x6cadea20, 0x387e6: 0x6cadec20, 0x387e7: 0x6cadee20, + 0x387e8: 0x6cadf020, 0x387e9: 0x6cadf220, 0x387ea: 0x6cdbf420, 0x387eb: 0x6cdbf620, + 0x387ec: 0x6cdbf820, 0x387ed: 0x6cdbfa20, 0x387ee: 0x6cdbfc20, 0x387ef: 0x6cdbfe20, + 0x387f0: 0x6cdc0020, 0x387f1: 0x6cdc0220, 0x387f2: 0x6cdc0420, 0x387f3: 0x6cdc0620, + 0x387f4: 0x6cdc0820, 0x387f5: 0x6cdc0a20, 0x387f6: 0x6cdc0c20, 0x387f7: 0x6cdc0e20, + 0x387f8: 0x6cdc1020, 0x387f9: 0x6cdc1220, 0x387fa: 0x6cdc1420, 0x387fb: 0x6cdc1620, + 0x387fc: 0x6cdc1820, 0x387fd: 0x6cdc1a20, 0x387fe: 0x6cdc1c20, 0x387ff: 0x6cdc1e20, + // Block 0xe20, offset 0x38800 + 0x38800: 0x6cdc2020, 0x38801: 0x6cdc2220, 0x38802: 0x6cdc2420, 0x38803: 0x6cdc2620, + 0x38804: 0x6cdc2820, 0x38805: 0x6cdc2a20, 0x38806: 0x6cdc2c20, 0x38807: 0x6cdc2e20, + 0x38808: 0x6cdc3020, 0x38809: 0x6cdc3220, 0x3880a: 0x6cdc3420, 0x3880b: 0x6cdc3620, + 0x3880c: 0x6cdc3820, 0x3880d: 0x6cdc3a20, 0x3880e: 0x6cdc3c20, 0x3880f: 0x6cdc3e20, + 0x38810: 0x6cdc4020, 0x38811: 0x6cdc4220, 0x38812: 0x6cdc4420, 0x38813: 0x6cdc4620, + 0x38814: 0x6cdc4820, 0x38815: 0x6cdc4a20, 0x38816: 0x6cdc4c20, 0x38817: 0x6cdc4e20, + 0x38818: 0x6cdc5020, 0x38819: 0x6cdc5220, 0x3881a: 0x6cdc5420, 0x3881b: 0x6cdc5620, + 0x3881c: 0x6cdc5820, 0x3881d: 0x6cdc5a20, 0x3881e: 0x6cdc5c20, 0x3881f: 0x6cdc5e20, + 0x38820: 0x6cdc6020, 0x38821: 0x6cdc6220, 0x38822: 0x6cdc6420, 0x38823: 0x6cdc6620, + 0x38824: 0x6cdc6820, 0x38825: 0x6cdc6a20, 0x38826: 0x6cdc6c20, 0x38827: 0x6cdc6e20, + 0x38828: 0x6cdc7020, 0x38829: 0x6cdc7220, 0x3882a: 0x6cdc7420, 0x3882b: 0x6cdc7620, + 0x3882c: 0x6cdc7820, 0x3882d: 0x6cdc7a20, 0x3882e: 0x6cdc7c20, 0x3882f: 0x6cdc7e20, + 0x38830: 0x6cdc8020, 0x38831: 0x6cdc8220, 0x38832: 0x6cdc8420, 0x38833: 0x6cdc8620, + 0x38834: 0x6cdc8820, 0x38835: 0x6cdc8a20, 0x38836: 0x6cdc8c20, 0x38837: 0x6cdc8e20, + 0x38838: 0x6cdc9020, 0x38839: 0x6cdc9220, 0x3883a: 0x6cdc9420, 0x3883b: 0x6cdc9620, + 0x3883c: 0x6cdc9820, 0x3883d: 0x6cdc9a20, 0x3883e: 0x6cdc9c20, 0x3883f: 0x6cdc9e20, + // Block 0xe21, offset 0x38840 + 0x38840: 0x6cdca020, 0x38841: 0x6cdca220, 0x38842: 0x6cdca420, 0x38843: 0x6cdca620, + 0x38844: 0x6cdca820, 0x38845: 0x6cdcaa20, 0x38846: 0x6cdcac20, 0x38847: 0x6cdcae20, + 0x38848: 0x6cdcb020, 0x38849: 0x6cdcb220, 0x3884a: 0x6cdcb420, 0x3884b: 0x6cdcb620, + 0x3884c: 0x6cdcb820, 0x3884d: 0x6cdcba20, 0x3884e: 0x6cdcbc20, 0x3884f: 0x6cdcbe20, + 0x38850: 0x6cdcc020, 0x38851: 0x6cdcc220, 0x38852: 0x6cdcc420, 0x38853: 0x6cdcc620, + 0x38854: 0x6cdcc820, 0x38855: 0x6cdcca20, 0x38856: 0x6cdccc20, 0x38857: 0x6cdcce20, + 0x38858: 0x6cdcd020, 0x38859: 0x6cdcd220, 0x3885a: 0x6cdcd420, 0x3885b: 0x6cdcd620, + 0x3885c: 0x6cdcd820, 0x3885d: 0x6cdcda20, 0x3885e: 0x6cdcdc20, 0x3885f: 0x6cdcde20, + 0x38860: 0x6cdce020, 0x38861: 0x6cdce220, 0x38862: 0x6cdce420, 0x38863: 0x6cdce620, + 0x38864: 0x6cdce820, 0x38865: 0x6cdcea20, 0x38866: 0x6cdcec20, 0x38867: 0x6cdcee20, + 0x38868: 0x6cdcf020, 0x38869: 0x6cdcf220, 0x3886a: 0x6cdcf420, 0x3886b: 0x6cdcf620, + 0x3886c: 0x6cdcf820, 0x3886d: 0x6cdcfa20, 0x3886e: 0x6cdcfc20, 0x3886f: 0x6cdcfe20, + 0x38870: 0x6cdd0020, 0x38871: 0x6cdd0220, 0x38872: 0x6cdd0420, 0x38873: 0x6cdd0620, + 0x38874: 0x6cdd0820, 0x38875: 0x6cdd0a20, 0x38876: 0x6cdd0c20, 0x38877: 0x6cdd0e20, + 0x38878: 0x6cdd1020, 0x38879: 0x6cdd1220, 0x3887a: 0x6cdd1420, 0x3887b: 0x6cdd1620, + 0x3887c: 0x6cdd1820, 0x3887d: 0x6cdd1a20, 0x3887e: 0x6cdd1c20, 0x3887f: 0x6cdd1e20, + // Block 0xe22, offset 0x38880 + 0x38880: 0x6cdd2020, 0x38881: 0x6d0a5020, 0x38882: 0x6d0a5220, 0x38883: 0x6d0a5420, + 0x38884: 0x6d0a5620, 0x38885: 0x6d0a5820, 0x38886: 0x6d0a5a20, 0x38887: 0x6d0a5c20, + 0x38888: 0x6d0a5e20, 0x38889: 0x6d0a6020, 0x3888a: 0x6d0a6220, 0x3888b: 0x6d0a6420, + 0x3888c: 0x6d0a6620, 0x3888d: 0x6d0a6820, 0x3888e: 0x6d0a6a20, 0x3888f: 0x6d0a6c20, + 0x38890: 0x6d0a6e20, 0x38891: 0x6d0a7020, 0x38892: 0x6d0a7220, 0x38893: 0x6d0a7420, + 0x38894: 0x6d0a7620, 0x38895: 0x6d0a7820, 0x38896: 0x6d0a7a20, 0x38897: 0x6d0a7c20, + 0x38898: 0x6d0a7e20, 0x38899: 0x6d0a8020, 0x3889a: 0x6d0a8220, 0x3889b: 0x6d0a8420, + 0x3889c: 0x6d0a8620, 0x3889d: 0x6d0a8820, 0x3889e: 0x6d0a8a20, 0x3889f: 0x6d0a8c20, + 0x388a0: 0x6d0a8e20, 0x388a1: 0x6d0a9020, 0x388a2: 0x6d0a9220, 0x388a3: 0x6d0a9420, + 0x388a4: 0x6d0a9620, 0x388a5: 0x6d0a9820, 0x388a6: 0x6d0a9a20, 0x388a7: 0x6d0a9c20, + 0x388a8: 0x6d0a9e20, 0x388a9: 0x6d0aa020, 0x388aa: 0x6d0aa220, 0x388ab: 0x6d0aa420, + 0x388ac: 0x6d0aa620, 0x388ad: 0x6d0aa820, 0x388ae: 0x6d0aaa20, 0x388af: 0x6d0aac20, + 0x388b0: 0x6d0aae20, 0x388b1: 0x6d0ab020, 0x388b2: 0x6d0ab220, 0x388b3: 0x6d0ab420, + 0x388b4: 0x6d0ab620, 0x388b5: 0x6d0ab820, 0x388b6: 0x6d0aba20, 0x388b7: 0x6d0abc20, + 0x388b8: 0x6d0abe20, 0x388b9: 0x6d0ac020, 0x388ba: 0x6d0ac220, 0x388bb: 0x6d0ac420, + 0x388bc: 0x6d0ac620, 0x388bd: 0x6d0ac820, 0x388be: 0x6d0aca20, 0x388bf: 0x6d0acc20, + // Block 0xe23, offset 0x388c0 + 0x388c0: 0x6d0ace20, 0x388c1: 0x6d0ad020, 0x388c2: 0x6d0ad220, 0x388c3: 0x6d0ad420, + 0x388c4: 0x6d0ad620, 0x388c5: 0x6d0ad820, 0x388c6: 0x6d0ada20, 0x388c7: 0x6d0adc20, + 0x388c8: 0x6d0ade20, 0x388c9: 0x6d0ae020, 0x388ca: 0x6d0ae220, 0x388cb: 0x6d0ae420, + 0x388cc: 0x6d0ae620, 0x388cd: 0x6d0ae820, 0x388ce: 0x6d0aea20, 0x388cf: 0x6d0aec20, + 0x388d0: 0x6d0aee20, 0x388d1: 0x6d0af020, 0x388d2: 0x6d0af220, 0x388d3: 0x6d0af420, + 0x388d4: 0x6d0af620, 0x388d5: 0x6d0af820, 0x388d6: 0x6d0afa20, 0x388d7: 0x6d0afc20, + 0x388d8: 0x6d0afe20, 0x388d9: 0x6d0b0020, 0x388da: 0x6d0b0220, 0x388db: 0x6d0b0420, + 0x388dc: 0x6d0b0620, 0x388dd: 0x6d0b0820, 0x388de: 0x6d0b0a20, 0x388df: 0x6d0b0c20, + 0x388e0: 0x6d0b0e20, 0x388e1: 0x6d0b1020, 0x388e2: 0x6d0b1220, 0x388e3: 0x6d0b1420, + 0x388e4: 0x6d0b1620, 0x388e5: 0x6d0b1820, 0x388e6: 0x6d0b1a20, 0x388e7: 0x6d0b1c20, + 0x388e8: 0x6d0b1e20, 0x388e9: 0x6d0b2020, 0x388ea: 0x6d0b2220, 0x388eb: 0x6d0b2420, + 0x388ec: 0x6d0b2620, 0x388ed: 0x6d0b2820, 0x388ee: 0x6d0b2a20, 0x388ef: 0x6d0b2c20, + 0x388f0: 0x6d0b2e20, 0x388f1: 0x6d0b3020, 0x388f2: 0x6d0b3220, 0x388f3: 0x6d0b3420, + 0x388f4: 0x6d0b3620, 0x388f5: 0x6d0b3820, 0x388f6: 0x6cfba420, 0x388f7: 0x6d0b3a20, + 0x388f8: 0x6d0b3c20, 0x388f9: 0x6d0b3e20, 0x388fa: 0x6d0b4020, 0x388fb: 0x6d0b4220, + 0x388fc: 0x6d0b4420, 0x388fd: 0x6d0b4620, 0x388fe: 0x6d0b4820, 0x388ff: 0x6d0b4a20, + // Block 0xe24, offset 0x38900 + 0x38900: 0x6d0b4c20, 0x38901: 0x6d0b4e20, 0x38902: 0x6d0b5020, 0x38903: 0x6d0b5220, + 0x38904: 0x6d0b5420, 0x38905: 0x6d0b5620, 0x38906: 0x6d0b5820, 0x38907: 0x6d385420, + 0x38908: 0x6d0b5a20, 0x38909: 0x6d0b5c20, 0x3890a: 0x6d0b5e20, 0x3890b: 0x6d0b6020, + 0x3890c: 0x6d0b6220, 0x3890d: 0x6d0b6420, 0x3890e: 0x6d0b6620, 0x3890f: 0x6d0b6820, + 0x38910: 0x6d0b6a20, 0x38911: 0x6d0b6c20, 0x38912: 0x6d0b6e20, 0x38913: 0x6d0b7020, + 0x38914: 0x6d0b7220, 0x38915: 0x6d0b7420, 0x38916: 0x6d0b7620, 0x38917: 0x6d0b7820, + 0x38918: 0x6d0b7a20, 0x38919: 0x6d0b7c20, 0x3891a: 0x6d0b7e20, 0x3891b: 0x6d0b8020, + 0x3891c: 0x6d0b8220, 0x3891d: 0x6d0b8420, 0x3891e: 0x6d0b8620, 0x3891f: 0x6d0b8820, + 0x38920: 0x6d0b8a20, 0x38921: 0x6d385620, 0x38922: 0x6d385820, 0x38923: 0x6d385a20, + 0x38924: 0x6d385c20, 0x38925: 0x6d385e20, 0x38926: 0x6d386020, 0x38927: 0x6d386220, + 0x38928: 0x6d386420, 0x38929: 0x6d386620, 0x3892a: 0x6d386820, 0x3892b: 0x6d386a20, + 0x3892c: 0x6d386c20, 0x3892d: 0x6d386e20, 0x3892e: 0x6d387020, 0x3892f: 0x6d387220, + 0x38930: 0x6d387420, 0x38931: 0x6d387620, 0x38932: 0x6d387820, 0x38933: 0x6d387a20, + 0x38934: 0x6d387c20, 0x38935: 0x6d387e20, 0x38936: 0x6d388020, 0x38937: 0x6d388220, + 0x38938: 0x6d388420, 0x38939: 0x6d388620, 0x3893a: 0x6d388820, 0x3893b: 0x6d388a20, + 0x3893c: 0x6d388c20, 0x3893d: 0x6d388e20, 0x3893e: 0x6d389020, 0x3893f: 0x6d389220, + // Block 0xe25, offset 0x38940 + 0x38940: 0x6d389420, 0x38941: 0x6d389620, 0x38942: 0x6d389820, 0x38943: 0x6d389a20, + 0x38944: 0x6d389c20, 0x38945: 0x6d389e20, 0x38946: 0x6d38a020, 0x38947: 0x6d38a220, + 0x38948: 0x6d38a420, 0x38949: 0x6d38a620, 0x3894a: 0x6d38a820, 0x3894b: 0x6d38aa20, + 0x3894c: 0x6d38ac20, 0x3894d: 0x6d38ae20, 0x3894e: 0x6d38b020, 0x3894f: 0x6d38b220, + 0x38950: 0x6d38b420, 0x38951: 0x6d38b620, 0x38952: 0x6d38b820, 0x38953: 0x6d38ba20, + 0x38954: 0x6d38bc20, 0x38955: 0x6d38be20, 0x38956: 0x6d38c020, 0x38957: 0x6d38c220, + 0x38958: 0x6d38c420, 0x38959: 0x6d38c620, 0x3895a: 0x6d38c820, 0x3895b: 0x6d38ca20, + 0x3895c: 0x6d38cc20, 0x3895d: 0x6d38ce20, 0x3895e: 0x6d38d020, 0x3895f: 0x6d38d220, + 0x38960: 0x6d38d420, 0x38961: 0x6d38d620, 0x38962: 0x6d38d820, 0x38963: 0x6d38da20, + 0x38964: 0x6d38dc20, 0x38965: 0x6d38de20, 0x38966: 0x6d38e020, 0x38967: 0x6d38e220, + 0x38968: 0x6d38e420, 0x38969: 0x6d38e620, 0x3896a: 0x6d38e820, 0x3896b: 0x6d38ea20, + 0x3896c: 0x6d38ec20, 0x3896d: 0x6d38ee20, 0x3896e: 0x6d38f020, 0x3896f: 0x6d38f220, + 0x38970: 0x6d38f420, 0x38971: 0x6d38f620, 0x38972: 0x6d38f820, 0x38973: 0x6d38fa20, + 0x38974: 0x6d38fc20, 0x38975: 0x6d38fe20, 0x38976: 0x6d390020, 0x38977: 0x6d390220, + 0x38978: 0x6d390420, 0x38979: 0x6d390620, 0x3897a: 0x6d390820, 0x3897b: 0x6d390a20, + 0x3897c: 0x6d390c20, 0x3897d: 0x6d390e20, 0x3897e: 0x6d391020, 0x3897f: 0x6d391220, + // Block 0xe26, offset 0x38980 + 0x38980: 0x6d391420, 0x38981: 0x6d391620, 0x38982: 0x6d391820, 0x38983: 0x6d391a20, + 0x38984: 0x6d391c20, 0x38985: 0x6d391e20, 0x38986: 0x6d392020, 0x38987: 0x6d392220, + 0x38988: 0x6d392420, 0x38989: 0x6d392620, 0x3898a: 0x6d392820, 0x3898b: 0x6d392a20, + 0x3898c: 0x6d392c20, 0x3898d: 0x6d392e20, 0x3898e: 0x6d393020, 0x3898f: 0x6d393220, + 0x38990: 0x6d393420, 0x38991: 0x6d393620, 0x38992: 0x6d393820, 0x38993: 0x6d393a20, + 0x38994: 0x6d393c20, 0x38995: 0x6d393e20, 0x38996: 0x6d394020, 0x38997: 0x6d394220, + 0x38998: 0x6d394420, 0x38999: 0x6d394620, 0x3899a: 0x6d394820, 0x3899b: 0x6d394a20, + 0x3899c: 0x6d394c20, 0x3899d: 0x6d394e20, 0x3899e: 0x6d395020, 0x3899f: 0x6d395220, + 0x389a0: 0x6d395420, 0x389a1: 0x6d395620, 0x389a2: 0x6d395820, 0x389a3: 0x6d395a20, + 0x389a4: 0x6d395c20, 0x389a5: 0x6d395e20, 0x389a6: 0x6d396020, 0x389a7: 0x6d396220, + 0x389a8: 0x6d396420, 0x389a9: 0x6d396620, 0x389aa: 0x6d396820, 0x389ab: 0x6d396a20, + 0x389ac: 0x6d396c20, 0x389ad: 0x6d396e20, 0x389ae: 0x6d397020, 0x389af: 0x6d397220, + 0x389b0: 0x6d397420, 0x389b1: 0x6d397620, 0x389b2: 0x6d397820, 0x389b3: 0x6d397a20, + 0x389b4: 0x6d397c20, 0x389b5: 0x6d397e20, 0x389b6: 0x6d398020, 0x389b7: 0x6d398220, + 0x389b8: 0x6d398420, 0x389b9: 0x6d398620, 0x389ba: 0x6d398820, 0x389bb: 0x6d398a20, + 0x389bc: 0x6d398c20, 0x389bd: 0x6d398e20, 0x389be: 0x6d399020, 0x389bf: 0x6d64ba20, + // Block 0xe27, offset 0x389c0 + 0x389c0: 0x6d64bc20, 0x389c1: 0x6d64be20, 0x389c2: 0x6d64c020, 0x389c3: 0x6d64c220, + 0x389c4: 0x6d64c420, 0x389c5: 0x6d64c620, 0x389c6: 0x6d64c820, 0x389c7: 0x6d64ca20, + 0x389c8: 0x6d64cc20, 0x389c9: 0x6d64ce20, 0x389ca: 0x6d64d020, 0x389cb: 0x6d64d220, + 0x389cc: 0x6d64d420, 0x389cd: 0x6d64d620, 0x389ce: 0x6d64d820, 0x389cf: 0x6d64da20, + 0x389d0: 0x6d64dc20, 0x389d1: 0x6d64de20, 0x389d2: 0x6d64e020, 0x389d3: 0x6d64e220, + 0x389d4: 0x6d64e420, 0x389d5: 0x6d64e620, 0x389d6: 0x6d64e820, 0x389d7: 0x6d64ea20, + 0x389d8: 0x6d64ec20, 0x389d9: 0x6d64ee20, 0x389da: 0x6d64f020, 0x389db: 0x6d64f220, + 0x389dc: 0x6d64f420, 0x389dd: 0x6d64f620, 0x389de: 0x6d64f820, 0x389df: 0x6d64fa20, + 0x389e0: 0x6d64fc20, 0x389e1: 0x6d64fe20, 0x389e2: 0x6d650020, 0x389e3: 0x6d650220, + 0x389e4: 0x6d650420, 0x389e5: 0x6d650620, 0x389e6: 0x6d650820, 0x389e7: 0x6d650a20, + 0x389e8: 0x6d650c20, 0x389e9: 0x6d650e20, 0x389ea: 0x6d651020, 0x389eb: 0x6d651220, + 0x389ec: 0x6d651420, 0x389ed: 0x6d651620, 0x389ee: 0x6d651820, 0x389ef: 0x6d651a20, + 0x389f0: 0x6d651c20, 0x389f1: 0x6d651e20, 0x389f2: 0x6d652020, 0x389f3: 0x6d652220, + 0x389f4: 0x6d652420, 0x389f5: 0x6d652620, 0x389f6: 0x6d652820, 0x389f7: 0x6d652a20, + 0x389f8: 0x6d652c20, 0x389f9: 0x6d652e20, 0x389fa: 0x6d653020, 0x389fb: 0x6d653220, + 0x389fc: 0x6d653420, 0x389fd: 0x6d8e6c20, 0x389fe: 0x6d653620, 0x389ff: 0x6d653820, + // Block 0xe28, offset 0x38a00 + 0x38a00: 0x6d653a20, 0x38a01: 0x6d653c20, 0x38a02: 0x6d653e20, 0x38a03: 0x6d654020, + 0x38a04: 0x6d654220, 0x38a05: 0x6d654420, 0x38a06: 0x6d654620, 0x38a07: 0x6d654820, + 0x38a08: 0x6d654a20, 0x38a09: 0x6d654c20, 0x38a0a: 0x6d654e20, 0x38a0b: 0x6d655020, + 0x38a0c: 0x6d655220, 0x38a0d: 0x6d655420, 0x38a0e: 0x6d655620, 0x38a0f: 0x6d655820, + 0x38a10: 0x6d655a20, 0x38a11: 0x6d655c20, 0x38a12: 0x6d655e20, 0x38a13: 0x6d656020, + 0x38a14: 0x6d656220, 0x38a15: 0x6d656420, 0x38a16: 0x6d656620, 0x38a17: 0x6d656820, + 0x38a18: 0x6d656a20, 0x38a19: 0x6d656c20, 0x38a1a: 0x6d656e20, 0x38a1b: 0x6d657020, + 0x38a1c: 0x6d657220, 0x38a1d: 0x6d657420, 0x38a1e: 0x6d657620, 0x38a1f: 0x6d657820, + 0x38a20: 0x6d657a20, 0x38a21: 0x6d657c20, 0x38a22: 0x6d657e20, 0x38a23: 0x6d658020, + 0x38a24: 0x6d658220, 0x38a25: 0x6d658420, 0x38a26: 0x6d658620, 0x38a27: 0x6d658820, + 0x38a28: 0x6d658a20, 0x38a29: 0x6d658c20, 0x38a2a: 0x6d658e20, 0x38a2b: 0x6d659020, + 0x38a2c: 0x6d659220, 0x38a2d: 0x6d659420, 0x38a2e: 0x6d659620, 0x38a2f: 0x6d659820, + 0x38a30: 0x6d659a20, 0x38a31: 0x6d659c20, 0x38a32: 0x6d659e20, 0x38a33: 0x6d65a020, + 0x38a34: 0x6d65a220, 0x38a35: 0x6d65a420, 0x38a36: 0x6d65a620, 0x38a37: 0x6d65a820, + 0x38a38: 0x6d65aa20, 0x38a39: 0x6d65ac20, 0x38a3a: 0x6d65ae20, 0x38a3b: 0x6d65b020, + 0x38a3c: 0x6d65b220, 0x38a3d: 0x6d65b420, 0x38a3e: 0x6d65b620, 0x38a3f: 0x6d65b820, + // Block 0xe29, offset 0x38a40 + 0x38a40: 0x6d65ba20, 0x38a41: 0x6d65bc20, 0x38a42: 0x6d65be20, 0x38a43: 0x6d65c020, + 0x38a44: 0x6d65c220, 0x38a45: 0x6e454c20, 0x38a46: 0x6d8e6e20, 0x38a47: 0x6d8e7020, + 0x38a48: 0x6d8e7220, 0x38a49: 0x6d8e7420, 0x38a4a: 0x6d8e7620, 0x38a4b: 0x6d8e7820, + 0x38a4c: 0x6d8e7a20, 0x38a4d: 0x6d8e7c20, 0x38a4e: 0x6d8e7e20, 0x38a4f: 0x6d8e8020, + 0x38a50: 0x6d8e8220, 0x38a51: 0x6d8e8420, 0x38a52: 0x6d8e8620, 0x38a53: 0x6d8e8820, + 0x38a54: 0x6d8e8a20, 0x38a55: 0x6d8e8c20, 0x38a56: 0x6d8e8e20, 0x38a57: 0x6d8e9020, + 0x38a58: 0x6d8e9220, 0x38a59: 0x6d8e9420, 0x38a5a: 0x6d8e9620, 0x38a5b: 0x6d8e9820, + 0x38a5c: 0x6d8e9a20, 0x38a5d: 0x6d8e9c20, 0x38a5e: 0x6d8e9e20, 0x38a5f: 0x6d8ea020, + 0x38a60: 0x6d8ea220, 0x38a61: 0x6d8ea420, 0x38a62: 0x6d8ea620, 0x38a63: 0x6d8ea820, + 0x38a64: 0x6d8eaa20, 0x38a65: 0x6d8eac20, 0x38a66: 0x6d8eae20, 0x38a67: 0x6d8eb020, + 0x38a68: 0x6d8eb220, 0x38a69: 0x6d8eb420, 0x38a6a: 0x6d8eb620, 0x38a6b: 0x6d8eb820, + 0x38a6c: 0x6d8eba20, 0x38a6d: 0x6d8ebc20, 0x38a6e: 0x6d8ebe20, 0x38a6f: 0x6d8ec020, + 0x38a70: 0x6d8ec220, 0x38a71: 0x6d8ec420, 0x38a72: 0x6d8ec620, 0x38a73: 0x6d8ec820, + 0x38a74: 0x6d8eca20, 0x38a75: 0x6d8ecc20, 0x38a76: 0x6d8ece20, 0x38a77: 0x6d8ed020, + 0x38a78: 0x6d8ed220, 0x38a79: 0x6d8ed420, 0x38a7a: 0x6d8ed620, 0x38a7b: 0x6d8ed820, + 0x38a7c: 0x6d8eda20, 0x38a7d: 0x6d8edc20, 0x38a7e: 0x6d8ede20, 0x38a7f: 0x6d8ee020, + // Block 0xe2a, offset 0x38a80 + 0x38a80: 0x6d8ee220, 0x38a81: 0x6d8ee420, 0x38a82: 0x6d8ee620, 0x38a83: 0x6d8ee820, + 0x38a84: 0x6d8eea20, 0x38a85: 0x6d8eec20, 0x38a86: 0x6d8eee20, 0x38a87: 0x6dc5f420, + 0x38a88: 0x6d8ef020, 0x38a89: 0x6d8ef220, 0x38a8a: 0x6d8ef420, 0x38a8b: 0x6d8ef620, + 0x38a8c: 0x6d8ef820, 0x38a8d: 0x6d8efa20, 0x38a8e: 0x6d8efc20, 0x38a8f: 0x6d8efe20, + 0x38a90: 0x6d8f0020, 0x38a91: 0x6d8f0220, 0x38a92: 0x6d8f0420, 0x38a93: 0x6d8f0620, + 0x38a94: 0x6d8f0820, 0x38a95: 0x6d8f0a20, 0x38a96: 0x6d8f0c20, 0x38a97: 0x6d8f0e20, + 0x38a98: 0x6d8f1020, 0x38a99: 0x6d8f1220, 0x38a9a: 0x6d8f1420, 0x38a9b: 0x6d8f1620, + 0x38a9c: 0x6d8f1820, 0x38a9d: 0x6d8f1a20, 0x38a9e: 0x6d8f1c20, 0x38a9f: 0x6d8f1e20, + 0x38aa0: 0x6d8f2020, 0x38aa1: 0x6d8f2220, 0x38aa2: 0x6d8f2420, 0x38aa3: 0x6d8f2620, + 0x38aa4: 0x6d8f2820, 0x38aa5: 0x6d8f2a20, 0x38aa6: 0x6d8f2c20, 0x38aa7: 0x6d8f2e20, + 0x38aa8: 0x6d8f3020, 0x38aa9: 0x6d8f3220, 0x38aaa: 0x6d8f3420, 0x38aab: 0x6d8f3620, + 0x38aac: 0x6d8f3820, 0x38aad: 0x6d8f3a20, 0x38aae: 0x6d8f3c20, 0x38aaf: 0x6d8f3e20, + 0x38ab0: 0x6d8f4020, 0x38ab1: 0x6d8f4220, 0x38ab2: 0x6d8f4420, 0x38ab3: 0x6d8f4620, + 0x38ab4: 0x6d8f4820, 0x38ab5: 0x6d8f4a20, 0x38ab6: 0x6d8f4c20, 0x38ab7: 0x6d8f4e20, + 0x38ab8: 0x6d8f5020, 0x38ab9: 0x6d8f5220, 0x38aba: 0x6d8f5420, 0x38abb: 0x6d8f5620, + 0x38abc: 0x6d8f5820, 0x38abd: 0x6d8f5a20, 0x38abe: 0x6db26e20, 0x38abf: 0x6d8f5c20, + // Block 0xe2b, offset 0x38ac0 + 0x38ac0: 0x6d8f5e20, 0x38ac1: 0x6d8f6020, 0x38ac2: 0x6d8f6220, 0x38ac3: 0x6d8f6420, + 0x38ac4: 0x6d8f6620, 0x38ac5: 0x6d8f6820, 0x38ac6: 0x6d8f6a20, 0x38ac7: 0x6d8f6c20, + 0x38ac8: 0x6d8f6e20, 0x38ac9: 0x6d8f7020, 0x38aca: 0x6d8f7220, 0x38acb: 0x6d8f7420, + 0x38acc: 0x6d8f7620, 0x38acd: 0x6d8f7820, 0x38ace: 0x6d8f7a20, 0x38acf: 0x6d8f7c20, + 0x38ad0: 0x6d8f7e20, 0x38ad1: 0x6d8f8020, 0x38ad2: 0x6d8f8220, 0x38ad3: 0x6d8f8420, + 0x38ad4: 0x6d8f8620, 0x38ad5: 0x6d8f8820, 0x38ad6: 0x6d8f8a20, 0x38ad7: 0x6d8f8c20, + 0x38ad8: 0x6d8f8e20, 0x38ad9: 0x6d8f9020, 0x38ada: 0x6d8f9220, 0x38adb: 0x6d8f9420, + 0x38adc: 0x6d8f9620, 0x38add: 0x6d8f9820, 0x38ade: 0x6d8f9a20, 0x38adf: 0x6d8f9c20, + 0x38ae0: 0x6d8f9e20, 0x38ae1: 0x6d8fa020, 0x38ae2: 0x6d8fa220, 0x38ae3: 0x6d8fa420, + 0x38ae4: 0x6d8fa620, 0x38ae5: 0x6d8fa820, 0x38ae6: 0x6d8faa20, 0x38ae7: 0x6d8fac20, + 0x38ae8: 0x6d8fae20, 0x38ae9: 0x6db27020, 0x38aea: 0x6db27220, 0x38aeb: 0x6db27420, + 0x38aec: 0x6db27620, 0x38aed: 0x6db27820, 0x38aee: 0x6db27a20, 0x38aef: 0x6db27c20, + 0x38af0: 0x6db27e20, 0x38af1: 0x6db28020, 0x38af2: 0x6db28220, 0x38af3: 0x6db28420, + 0x38af4: 0x6db28620, 0x38af5: 0x6db28820, 0x38af6: 0x6db28a20, 0x38af7: 0x6db28c20, + 0x38af8: 0x6db28e20, 0x38af9: 0x6db29020, 0x38afa: 0x6db29220, 0x38afb: 0x6db29420, + 0x38afc: 0x6db29620, 0x38afd: 0x6db29820, 0x38afe: 0x6db29a20, 0x38aff: 0x6db29c20, + // Block 0xe2c, offset 0x38b00 + 0x38b00: 0x6db29e20, 0x38b01: 0x6db2a020, 0x38b02: 0x6db2a220, 0x38b03: 0x6db2a420, + 0x38b04: 0x6db2a620, 0x38b05: 0x6db2a820, 0x38b06: 0x6db2aa20, 0x38b07: 0x6db2ac20, + 0x38b08: 0x6db2ae20, 0x38b09: 0x6db2b020, 0x38b0a: 0x6db2b220, 0x38b0b: 0x6db2b420, + 0x38b0c: 0x6db2b620, 0x38b0d: 0x6db2b820, 0x38b0e: 0x6db2ba20, 0x38b0f: 0x6db2bc20, + 0x38b10: 0x6db2be20, 0x38b11: 0x6db2c020, 0x38b12: 0x6db2c220, 0x38b13: 0x6db2c420, + 0x38b14: 0x6db2c620, 0x38b15: 0x6db2c820, 0x38b16: 0x6db2ca20, 0x38b17: 0x6db2cc20, + 0x38b18: 0x6db2ce20, 0x38b19: 0x6db2d020, 0x38b1a: 0x6db2d220, 0x38b1b: 0x6db2d420, + 0x38b1c: 0x6db2d620, 0x38b1d: 0x6db2d820, 0x38b1e: 0x6db2da20, 0x38b1f: 0x6db2dc20, + 0x38b20: 0x6db2de20, 0x38b21: 0x6db2e020, 0x38b22: 0x6db2e220, 0x38b23: 0x6db2e420, + 0x38b24: 0x6db2e620, 0x38b25: 0x6db2e820, 0x38b26: 0x6db2ea20, 0x38b27: 0x6db2ec20, + 0x38b28: 0x6db2ee20, 0x38b29: 0x6db2f020, 0x38b2a: 0x6db2f220, 0x38b2b: 0x6db2f420, + 0x38b2c: 0x6db2f620, 0x38b2d: 0x6d8fb020, 0x38b2e: 0x6db2f820, 0x38b2f: 0x6db2fa20, + 0x38b30: 0x6db2fc20, 0x38b31: 0x6db2fe20, 0x38b32: 0x6db30020, 0x38b33: 0x6db30220, + 0x38b34: 0x6db30420, 0x38b35: 0x6db30620, 0x38b36: 0x6db30820, 0x38b37: 0x6db30a20, + 0x38b38: 0x6db30c20, 0x38b39: 0x6db30e20, 0x38b3a: 0x6db31020, 0x38b3b: 0x6db31220, + 0x38b3c: 0x6db31420, 0x38b3d: 0x6db31620, 0x38b3e: 0x6db31820, 0x38b3f: 0x6db31a20, + // Block 0xe2d, offset 0x38b40 + 0x38b40: 0x6db31c20, 0x38b41: 0x6db31e20, 0x38b42: 0x6db32020, 0x38b43: 0x6db32220, + 0x38b44: 0x6db32420, 0x38b45: 0x6db32620, 0x38b46: 0x6db32820, 0x38b47: 0x6db32a20, + 0x38b48: 0x6db32c20, 0x38b49: 0x6db32e20, 0x38b4a: 0x6db33020, 0x38b4b: 0x6db33220, + 0x38b4c: 0x6db33420, 0x38b4d: 0x6db33620, 0x38b4e: 0x6db33820, 0x38b4f: 0x6db33a20, + 0x38b50: 0x6db33c20, 0x38b51: 0x6db33e20, 0x38b52: 0x6db34020, 0x38b53: 0x6db34220, + 0x38b54: 0x6db34420, 0x38b55: 0x6db34620, 0x38b56: 0x6db34820, 0x38b57: 0x6db34a20, + 0x38b58: 0x6db34c20, 0x38b59: 0x6db34e20, 0x38b5a: 0x6db35020, 0x38b5b: 0x6db35220, + 0x38b5c: 0x6db35420, 0x38b5d: 0x6db35620, 0x38b5e: 0x6db35820, 0x38b5f: 0x6db35a20, + 0x38b60: 0x6db35c20, 0x38b61: 0x6db35e20, 0x38b62: 0x6db36020, 0x38b63: 0x6db36220, + 0x38b64: 0x6db36420, 0x38b65: 0x6db36620, 0x38b66: 0x6db36820, 0x38b67: 0x6db36a20, + 0x38b68: 0x6db36c20, 0x38b69: 0x6db36e20, 0x38b6a: 0x6dd19420, 0x38b6b: 0x6dd19620, + 0x38b6c: 0x6dd19820, 0x38b6d: 0x6dd19a20, 0x38b6e: 0x6dd19c20, 0x38b6f: 0x6dd19e20, + 0x38b70: 0x6dd1a020, 0x38b71: 0x6dd1a220, 0x38b72: 0x6dd1a420, 0x38b73: 0x6dd1a620, + 0x38b74: 0x6dd1a820, 0x38b75: 0x6dd1aa20, 0x38b76: 0x6dd1ac20, 0x38b77: 0x6dd1ae20, + 0x38b78: 0x6dd1b020, 0x38b79: 0x6dd1b220, 0x38b7a: 0x6dd1b420, 0x38b7b: 0x6dd1b620, + 0x38b7c: 0x6dd1b820, 0x38b7d: 0x6dd1ba20, 0x38b7e: 0x6dd1bc20, 0x38b7f: 0x6dd1be20, + // Block 0xe2e, offset 0x38b80 + 0x38b80: 0x6dd1c020, 0x38b81: 0x6dd1c220, 0x38b82: 0x6dd1c420, 0x38b83: 0x6dd1c620, + 0x38b84: 0x6dd1c820, 0x38b85: 0x6dd1ca20, 0x38b86: 0x6dd1cc20, 0x38b87: 0x6dd1ce20, + 0x38b88: 0x6dd1d020, 0x38b89: 0x6dd1d220, 0x38b8a: 0x6dd1d420, 0x38b8b: 0x6dd1d620, + 0x38b8c: 0x6dd1d820, 0x38b8d: 0x6dd1da20, 0x38b8e: 0x6dd1dc20, 0x38b8f: 0x6dd1de20, + 0x38b90: 0x6dd1e020, 0x38b91: 0x6dd1e220, 0x38b92: 0x6dd1e420, 0x38b93: 0x6dd1e620, + 0x38b94: 0x6deb0220, 0x38b95: 0x6deb0420, 0x38b96: 0x6dd1e820, 0x38b97: 0x6dd1ea20, + 0x38b98: 0x6dd1ec20, 0x38b99: 0x6dd1ee20, 0x38b9a: 0x6dd1f020, 0x38b9b: 0x6dd1f220, + 0x38b9c: 0x6dd1f420, 0x38b9d: 0x6deb0620, 0x38b9e: 0x6dd1f620, 0x38b9f: 0x6dd1f820, + 0x38ba0: 0x6dd1fa20, 0x38ba1: 0x6db37020, 0x38ba2: 0x6dd1fc20, 0x38ba3: 0x6dd1fe20, + 0x38ba4: 0x6dd20020, 0x38ba5: 0x6dd20220, 0x38ba6: 0x6dd20420, 0x38ba7: 0x6dd20620, + 0x38ba8: 0x6dd20820, 0x38ba9: 0x6dd20a20, 0x38baa: 0x6dd20c20, 0x38bab: 0x6dd20e20, + 0x38bac: 0x6dd21020, 0x38bad: 0x6dd21220, 0x38bae: 0x6dd21420, 0x38baf: 0x6dd21620, + 0x38bb0: 0x6dd21820, 0x38bb1: 0x6dd21a20, 0x38bb2: 0x6dd21c20, 0x38bb3: 0x6dd21e20, + 0x38bb4: 0x6dd22020, 0x38bb5: 0x6dd22220, 0x38bb6: 0x6dd22420, 0x38bb7: 0x6dd22620, + 0x38bb8: 0x6db37220, 0x38bb9: 0x6dd22820, 0x38bba: 0x6dd22a20, 0x38bbb: 0x6dd22c20, + 0x38bbc: 0x6dd22e20, 0x38bbd: 0x6dd23020, 0x38bbe: 0x6dd23220, 0x38bbf: 0x6dd23420, + // Block 0xe2f, offset 0x38bc0 + 0x38bc0: 0x6dd23620, 0x38bc1: 0x6dd23820, 0x38bc2: 0x6dd23a20, 0x38bc3: 0x6dd23c20, + 0x38bc4: 0x6dd23e20, 0x38bc5: 0x6dd24020, 0x38bc6: 0x6dd24220, 0x38bc7: 0x6dd24420, + 0x38bc8: 0x6dd24620, 0x38bc9: 0x6dd24820, 0x38bca: 0x6dd24a20, 0x38bcb: 0x6dd24c20, + 0x38bcc: 0x6dd24e20, 0x38bcd: 0x6dd25020, 0x38bce: 0x6dd25220, 0x38bcf: 0x6dd25420, + 0x38bd0: 0x6dd25620, 0x38bd1: 0x6dd25820, 0x38bd2: 0x6dd25a20, 0x38bd3: 0x6dd25c20, + 0x38bd4: 0x6dd25e20, 0x38bd5: 0x6dd26020, 0x38bd6: 0x6dd26220, 0x38bd7: 0x6dd26420, + 0x38bd8: 0x6dd26620, 0x38bd9: 0x6dd26820, 0x38bda: 0x6dd26a20, 0x38bdb: 0x6dd26c20, + 0x38bdc: 0x6dd26e20, 0x38bdd: 0x6dd27020, 0x38bde: 0x6dd27220, 0x38bdf: 0x6dd27420, + 0x38be0: 0x6deb0820, 0x38be1: 0x6deb0a20, 0x38be2: 0x6deb0c20, 0x38be3: 0x6deb0e20, + 0x38be4: 0x6deb1020, 0x38be5: 0x6deb1220, 0x38be6: 0x6deb1420, 0x38be7: 0x6deb1620, + 0x38be8: 0x6deb1820, 0x38be9: 0x6deb1a20, 0x38bea: 0x6deb1c20, 0x38beb: 0x6deb1e20, + 0x38bec: 0x6deb2020, 0x38bed: 0x6deb2220, 0x38bee: 0x6deb2420, 0x38bef: 0x6deb2620, + 0x38bf0: 0x6deb2820, 0x38bf1: 0x6deb2a20, 0x38bf2: 0x6deb2c20, 0x38bf3: 0x6deb2e20, + 0x38bf4: 0x6deb3020, 0x38bf5: 0x6deb3220, 0x38bf6: 0x6deb3420, 0x38bf7: 0x6deb3620, + 0x38bf8: 0x6deb3820, 0x38bf9: 0x6deb3a20, 0x38bfa: 0x6deb3c20, 0x38bfb: 0x6deb3e20, + 0x38bfc: 0x6deb4020, 0x38bfd: 0x6deb4220, 0x38bfe: 0x6deb4420, 0x38bff: 0x6deb4620, + // Block 0xe30, offset 0x38c00 + 0x38c00: 0x6deb4820, 0x38c01: 0x6deb4a20, 0x38c02: 0x6deb4c20, 0x38c03: 0x6deb4e20, + 0x38c04: 0x6deb5020, 0x38c05: 0x6deb5220, 0x38c06: 0x6deb5420, 0x38c07: 0x6deb5620, + 0x38c08: 0x6deb5820, 0x38c09: 0x6deb5a20, 0x38c0a: 0x6deb5c20, 0x38c0b: 0x6deb5e20, + 0x38c0c: 0x6deb6020, 0x38c0d: 0x6deb6220, 0x38c0e: 0x6deb6420, 0x38c0f: 0x6deb6620, + 0x38c10: 0x6deb6820, 0x38c11: 0x6deb6a20, 0x38c12: 0x6deb6c20, 0x38c13: 0x6deb6e20, + 0x38c14: 0x6deb7020, 0x38c15: 0x6deb7220, 0x38c16: 0x6deb7420, 0x38c17: 0x6deb7620, + 0x38c18: 0x6deb7820, 0x38c19: 0x6deb7a20, 0x38c1a: 0x6deb7c20, 0x38c1b: 0x6deb7e20, + 0x38c1c: 0x6deb8020, 0x38c1d: 0x6deb8220, 0x38c1e: 0x6deb8420, 0x38c1f: 0x6deb8620, + 0x38c20: 0x6deb8820, 0x38c21: 0x6deb8a20, 0x38c22: 0x6deb8c20, 0x38c23: 0x6deb8e20, + 0x38c24: 0x6deb9020, 0x38c25: 0x6deb9220, 0x38c26: 0x6deb9420, 0x38c27: 0x6deb9620, + 0x38c28: 0x6deb9820, 0x38c29: 0x6deb9a20, 0x38c2a: 0x6deb9c20, 0x38c2b: 0x6deb9e20, + 0x38c2c: 0x6deba020, 0x38c2d: 0x6deba220, 0x38c2e: 0x6deba420, 0x38c2f: 0x6deba620, + 0x38c30: 0x6deba820, 0x38c31: 0x6debaa20, 0x38c32: 0x6debac20, 0x38c33: 0x6debae20, + 0x38c34: 0x6debb020, 0x38c35: 0x6debb220, 0x38c36: 0x6debb420, 0x38c37: 0x6debb620, + 0x38c38: 0x6debb820, 0x38c39: 0x6debba20, 0x38c3a: 0x6debbc20, 0x38c3b: 0x6e00a820, + 0x38c3c: 0x6e00aa20, 0x38c3d: 0x6e00ac20, 0x38c3e: 0x6e00ae20, 0x38c3f: 0x6e00b020, + // Block 0xe31, offset 0x38c40 + 0x38c40: 0x6e00b220, 0x38c41: 0x6e00b420, 0x38c42: 0x6e00b620, 0x38c43: 0x6e00b820, + 0x38c44: 0x6e00ba20, 0x38c45: 0x6e00bc20, 0x38c46: 0x6e00be20, 0x38c47: 0x6e00c020, + 0x38c48: 0x6e00c220, 0x38c49: 0x6e00c420, 0x38c4a: 0x6e00c620, 0x38c4b: 0x6e00c820, + 0x38c4c: 0x6e00ca20, 0x38c4d: 0x6e00cc20, 0x38c4e: 0x6e00ce20, 0x38c4f: 0x6e00d020, + 0x38c50: 0x6e00d220, 0x38c51: 0x6e00d420, 0x38c52: 0x6e00d620, 0x38c53: 0x6e00d820, + 0x38c54: 0x6e00da20, 0x38c55: 0x6e00dc20, 0x38c56: 0x6e00de20, 0x38c57: 0x6e00e020, + 0x38c58: 0x6e00e220, 0x38c59: 0x6e00e420, 0x38c5a: 0x6e00e620, 0x38c5b: 0x6e00e820, + 0x38c5c: 0x6e00ea20, 0x38c5d: 0x6e00ec20, 0x38c5e: 0x6e00ee20, 0x38c5f: 0x6e00f020, + 0x38c60: 0x6e00f220, 0x38c61: 0x6e00f420, 0x38c62: 0x6e00f620, 0x38c63: 0x6e00f820, + 0x38c64: 0x6e00fa20, 0x38c65: 0x6e00fc20, 0x38c66: 0x6e00fe20, 0x38c67: 0x6e010020, + 0x38c68: 0x6e010220, 0x38c69: 0x6e010420, 0x38c6a: 0x6e010620, 0x38c6b: 0x6e010820, + 0x38c6c: 0x6e010a20, 0x38c6d: 0x6e010c20, 0x38c6e: 0x6e010e20, 0x38c6f: 0x6e011020, + 0x38c70: 0x6e011220, 0x38c71: 0x6e011420, 0x38c72: 0x6e011620, 0x38c73: 0x6e011820, + 0x38c74: 0x6e011a20, 0x38c75: 0x6e011c20, 0x38c76: 0x6e011e20, 0x38c77: 0x6e012020, + 0x38c78: 0x6e012220, 0x38c79: 0x6e012420, 0x38c7a: 0x6e012620, 0x38c7b: 0x6e012820, + 0x38c7c: 0x6e012a20, 0x38c7d: 0x6e012c20, 0x38c7e: 0x6e012e20, 0x38c7f: 0x6e013020, + // Block 0xe32, offset 0x38c80 + 0x38c80: 0x6e013220, 0x38c81: 0x6e013420, 0x38c82: 0x6e013620, 0x38c83: 0x6e013820, + 0x38c84: 0x6e013a20, 0x38c85: 0x6e013c20, 0x38c86: 0x6e013e20, 0x38c87: 0x6e014020, + 0x38c88: 0x6e014220, 0x38c89: 0x6e014420, 0x38c8a: 0x6e014620, 0x38c8b: 0x6e014820, + 0x38c8c: 0x6debbe20, 0x38c8d: 0x6e12ba20, 0x38c8e: 0x6e014a20, 0x38c8f: 0x6e12bc20, + 0x38c90: 0x6e12be20, 0x38c91: 0x6e12c020, 0x38c92: 0x6e12c220, 0x38c93: 0x6e12c420, + 0x38c94: 0x6e12c620, 0x38c95: 0x6e12c820, 0x38c96: 0x6e12ca20, 0x38c97: 0x6e12cc20, + 0x38c98: 0x6e12ce20, 0x38c99: 0x6e12d020, 0x38c9a: 0x6e12d220, 0x38c9b: 0x6e12d420, + 0x38c9c: 0x6e12d620, 0x38c9d: 0x6e12d820, 0x38c9e: 0x6e12da20, 0x38c9f: 0x6e12dc20, + 0x38ca0: 0x6e12de20, 0x38ca1: 0x6e12e020, 0x38ca2: 0x6e12e220, 0x38ca3: 0x6e12e420, + 0x38ca4: 0x6e12e620, 0x38ca5: 0x6e12e820, 0x38ca6: 0x6e12ea20, 0x38ca7: 0x6e12ec20, + 0x38ca8: 0x6e12ee20, 0x38ca9: 0x6e12f020, 0x38caa: 0x6e12f220, 0x38cab: 0x6e12f420, + 0x38cac: 0x6e12f620, 0x38cad: 0x6e12f820, 0x38cae: 0x6e12fa20, 0x38caf: 0x6e12fc20, + 0x38cb0: 0x6e12fe20, 0x38cb1: 0x6e130020, 0x38cb2: 0x6e130220, 0x38cb3: 0x6e130420, + 0x38cb4: 0x6e130620, 0x38cb5: 0x6e130820, 0x38cb6: 0x6e130a20, 0x38cb7: 0x6e130c20, + 0x38cb8: 0x6e130e20, 0x38cb9: 0x6e131020, 0x38cba: 0x6e131220, 0x38cbb: 0x6e131420, + 0x38cbc: 0x6e131620, 0x38cbd: 0x6e131820, 0x38cbe: 0x6e131a20, 0x38cbf: 0x6e131c20, + // Block 0xe33, offset 0x38cc0 + 0x38cc0: 0x6e131e20, 0x38cc1: 0x6e132020, 0x38cc2: 0x6e132220, 0x38cc3: 0x6e132420, + 0x38cc4: 0x6e132620, 0x38cc5: 0x6e132820, 0x38cc6: 0x6e132a20, 0x38cc7: 0x6e132c20, + 0x38cc8: 0x6e132e20, 0x38cc9: 0x6e133020, 0x38cca: 0x6e133220, 0x38ccb: 0x6e133420, + 0x38ccc: 0x6e133620, 0x38ccd: 0x6e20c620, 0x38cce: 0x6e20c820, 0x38ccf: 0x6e20ca20, + 0x38cd0: 0x6e20cc20, 0x38cd1: 0x6e20ce20, 0x38cd2: 0x6e20d020, 0x38cd3: 0x6e20d220, + 0x38cd4: 0x6e20d420, 0x38cd5: 0x6e20d620, 0x38cd6: 0x6e20d820, 0x38cd7: 0x6e20da20, + 0x38cd8: 0x6e20dc20, 0x38cd9: 0x6e20de20, 0x38cda: 0x6e20e020, 0x38cdb: 0x6e20e220, + 0x38cdc: 0x6e20e420, 0x38cdd: 0x6e20e620, 0x38cde: 0x6e20e820, 0x38cdf: 0x6e20ea20, + 0x38ce0: 0x6e20ec20, 0x38ce1: 0x6e20ee20, 0x38ce2: 0x6e20f020, 0x38ce3: 0x6e20f220, + 0x38ce4: 0x6e20f420, 0x38ce5: 0x6e20f620, 0x38ce6: 0x6e20f820, 0x38ce7: 0x6e20fa20, + 0x38ce8: 0x6e20fc20, 0x38ce9: 0x6e20fe20, 0x38cea: 0x6e210020, 0x38ceb: 0x6e210220, + 0x38cec: 0x6e210420, 0x38ced: 0x6e210620, 0x38cee: 0x6e210820, 0x38cef: 0x6e210a20, + 0x38cf0: 0x6e210c20, 0x38cf1: 0x6e210e20, 0x38cf2: 0x6e211020, 0x38cf3: 0x6e211220, + 0x38cf4: 0x6e211420, 0x38cf5: 0x6e211620, 0x38cf6: 0x6e2b9420, 0x38cf7: 0x6e2b9620, + 0x38cf8: 0x6e2b9820, 0x38cf9: 0x6e2b9a20, 0x38cfa: 0x6e2b9c20, 0x38cfb: 0x6e2b9e20, + 0x38cfc: 0x6e2ba020, 0x38cfd: 0x6e2ba220, 0x38cfe: 0x6e2ba420, 0x38cff: 0x6e2ba620, + // Block 0xe34, offset 0x38d00 + 0x38d00: 0x6e2ba820, 0x38d01: 0x6e2baa20, 0x38d02: 0x6e2bac20, 0x38d03: 0x6e2bae20, + 0x38d04: 0x6e2bb020, 0x38d05: 0x6e2bb220, 0x38d06: 0x6e2bb420, 0x38d07: 0x6e2bb620, + 0x38d08: 0x6e2bb820, 0x38d09: 0x6e2bba20, 0x38d0a: 0x6e2bbc20, 0x38d0b: 0x6e2bbe20, + 0x38d0c: 0x6e2bc020, 0x38d0d: 0x6e2bc220, 0x38d0e: 0x6e2bc420, 0x38d0f: 0x6e2bc620, + 0x38d10: 0x6e2bc820, 0x38d11: 0x6e2bca20, 0x38d12: 0x6e2bcc20, 0x38d13: 0x6e2bce20, + 0x38d14: 0x6e2bd020, 0x38d15: 0x6e2bd220, 0x38d16: 0x6e33f020, 0x38d17: 0x6e33f220, + 0x38d18: 0x6e33f420, 0x38d19: 0x6e33f620, 0x38d1a: 0x6e33f820, 0x38d1b: 0x6e33fa20, + 0x38d1c: 0x6e33fc20, 0x38d1d: 0x6e33fe20, 0x38d1e: 0x6e340020, 0x38d1f: 0x6e340220, + 0x38d20: 0x6e340420, 0x38d21: 0x6e340620, 0x38d22: 0x6e340820, 0x38d23: 0x6e340a20, + 0x38d24: 0x6e340c20, 0x38d25: 0x6e340e20, 0x38d26: 0x6e341020, 0x38d27: 0x6e341220, + 0x38d28: 0x6e341420, 0x38d29: 0x6e341620, 0x38d2a: 0x6e341820, 0x38d2b: 0x6e341a20, + 0x38d2c: 0x6e341c20, 0x38d2d: 0x6e341e20, 0x38d2e: 0x6e39d420, 0x38d2f: 0x6e39d620, + 0x38d30: 0x6e39d820, 0x38d31: 0x6e39da20, 0x38d32: 0x6e39dc20, 0x38d33: 0x6e39de20, + 0x38d34: 0x6e39e020, 0x38d35: 0x6e42f020, 0x38d36: 0x6e39e220, 0x38d37: 0x6e39e420, + 0x38d38: 0x6e39e620, 0x38d39: 0x6e39e820, 0x38d3a: 0x6e3df620, 0x38d3b: 0x6e3df820, + 0x38d3c: 0x6e3dfa20, 0x38d3d: 0x6e3dfc20, 0x38d3e: 0x6e3dfe20, 0x38d3f: 0x6e3e0020, + // Block 0xe35, offset 0x38d40 + 0x38d40: 0x6e3e0220, 0x38d41: 0x6e3e0420, 0x38d42: 0x6e3e0620, 0x38d43: 0x6e3e0820, + 0x38d44: 0x6e3e0a20, 0x38d45: 0x6e3e0c20, 0x38d46: 0x6e394c20, 0x38d47: 0x6e40ce20, + 0x38d48: 0x6e40d020, 0x38d49: 0x6e40d220, 0x38d4a: 0x6e40d420, 0x38d4b: 0x6e40d620, + 0x38d4c: 0x6e40d820, 0x38d4d: 0x6e40da20, 0x38d4e: 0x6e40dc20, 0x38d4f: 0x6e42f220, + 0x38d50: 0x6e42f420, 0x38d51: 0x6e42f620, 0x38d52: 0x6e42f820, 0x38d53: 0x6e470220, + 0x38d54: 0x6e446820, 0x38d55: 0x6e446a20, 0x38d56: 0x6e454e20, 0x38d57: 0x6e45d020, + 0x38d58: 0x6e472e20, 0x38d59: 0x6e468c20, 0x38d5a: 0x6e455020, 0x38d5b: 0x6c401420, + 0x38d5c: 0x6c5f9820, 0x38d5d: 0x6c5f9a20, 0x38d5e: 0x6c5f9c20, 0x38d5f: 0x6c84d420, + 0x38d60: 0x6c84d620, 0x38d61: 0x6c84d820, 0x38d62: 0x6c84da20, 0x38d63: 0x6cae3220, + 0x38d64: 0x6cae3420, 0x38d65: 0x6cae3620, 0x38d66: 0x6cae3820, 0x38d67: 0x6cae3a20, + 0x38d68: 0x6cae3c20, 0x38d69: 0x6cae3e20, 0x38d6a: 0x6cae4020, 0x38d6b: 0x6cae4220, + 0x38d6c: 0x6cae4420, 0x38d6d: 0x6cae4620, 0x38d6e: 0x6cae4820, 0x38d6f: 0x6cae4a20, + 0x38d70: 0x6cae4c20, 0x38d71: 0x6cdd5020, 0x38d72: 0x6cdd5220, 0x38d73: 0x6cdd5420, + 0x38d74: 0x6cdd5620, 0x38d75: 0x6cdd5820, 0x38d76: 0x6cdd5a20, 0x38d77: 0x6cdd5c20, + 0x38d78: 0x6cdd5e20, 0x38d79: 0x6cdd6020, 0x38d7a: 0x6d0bd020, 0x38d7b: 0x6d0bd220, + 0x38d7c: 0x6d0bd420, 0x38d7d: 0x6d0bd620, 0x38d7e: 0x6d0bd820, 0x38d7f: 0x6d0bda20, + // Block 0xe36, offset 0x38d80 + 0x38d80: 0x6d0bdc20, 0x38d81: 0x6d39be20, 0x38d82: 0x6d39c020, 0x38d83: 0x6d39c220, + 0x38d84: 0x6d39c420, 0x38d85: 0x6d39c620, 0x38d86: 0x6d39c820, 0x38d87: 0x6d39ca20, + 0x38d88: 0x6d39cc20, 0x38d89: 0x6d39ce20, 0x38d8a: 0x6d39d020, 0x38d8b: 0x6d39d220, + 0x38d8c: 0x6d39d420, 0x38d8d: 0x6d39d620, 0x38d8e: 0x6d39d820, 0x38d8f: 0x6d65f820, + 0x38d90: 0x6d65fa20, 0x38d91: 0x6d65fc20, 0x38d92: 0x6d65fe20, 0x38d93: 0x6d660020, + 0x38d94: 0x6d660220, 0x38d95: 0x6d660420, 0x38d96: 0x6d660620, 0x38d97: 0x6d660820, + 0x38d98: 0x6d660a20, 0x38d99: 0x6d660c20, 0x38d9a: 0x6d660e20, 0x38d9b: 0x6d661020, + 0x38d9c: 0x6d8fd020, 0x38d9d: 0x6d8fd220, 0x38d9e: 0x6d8fd420, 0x38d9f: 0x6d8fd620, + 0x38da0: 0x6d8fd820, 0x38da1: 0x6d8fda20, 0x38da2: 0x6d8fdc20, 0x38da3: 0x6d8fde20, + 0x38da4: 0x6d8fe020, 0x38da5: 0x6d8fe220, 0x38da6: 0x6d8fe420, 0x38da7: 0x6d8fe620, + 0x38da8: 0x6d8fe820, 0x38da9: 0x6d8fea20, 0x38daa: 0x6d8fec20, 0x38dab: 0x6d8fee20, + 0x38dac: 0x6d8ff020, 0x38dad: 0x6d8ff220, 0x38dae: 0x6d8ff420, 0x38daf: 0x6d8ff620, + 0x38db0: 0x6d8ff820, 0x38db1: 0x6db39e20, 0x38db2: 0x6db3a020, 0x38db3: 0x6db3a220, + 0x38db4: 0x6db3a420, 0x38db5: 0x6db3a620, 0x38db6: 0x6db3a820, 0x38db7: 0x6db3aa20, + 0x38db8: 0x6db3ac20, 0x38db9: 0x6db3ae20, 0x38dba: 0x6db3b020, 0x38dbb: 0x6dd29c20, + 0x38dbc: 0x6dd29e20, 0x38dbd: 0x6dd2a020, 0x38dbe: 0x6dd2a220, 0x38dbf: 0x6dd2a420, + // Block 0xe37, offset 0x38dc0 + 0x38dc0: 0x6dd2a620, 0x38dc1: 0x6dd2a820, 0x38dc2: 0x6debd420, 0x38dc3: 0x6dd2aa20, + 0x38dc4: 0x6dd2ac20, 0x38dc5: 0x6debd620, 0x38dc6: 0x6debd820, 0x38dc7: 0x6debda20, + 0x38dc8: 0x6debdc20, 0x38dc9: 0x6debde20, 0x38dca: 0x6debe020, 0x38dcb: 0x6e015a20, + 0x38dcc: 0x6e015c20, 0x38dcd: 0x6e015e20, 0x38dce: 0x6e016020, 0x38dcf: 0x6e016220, + 0x38dd0: 0x6df39420, 0x38dd1: 0x6e134220, 0x38dd2: 0x6e134420, 0x38dd3: 0x6e134620, + 0x38dd4: 0x6e134820, 0x38dd5: 0x6e134a20, 0x38dd6: 0x6e134c20, 0x38dd7: 0x6e134e20, + 0x38dd8: 0x6e211e20, 0x38dd9: 0x6e212020, 0x38dda: 0x6e2bd620, 0x38ddb: 0x6e2bd820, + 0x38ddc: 0x6e3e1420, 0x38ddd: 0x6c268c20, 0x38dde: 0x6c268e20, 0x38ddf: 0x6c402220, + 0x38de0: 0x6c402420, 0x38de1: 0x6c402620, 0x38de2: 0x6c402820, 0x38de3: 0x6c402a20, + 0x38de4: 0x6c402c20, 0x38de5: 0x6c402e20, 0x38de6: 0x6c403020, 0x38de7: 0x6c403220, + 0x38de8: 0x6c5fcc20, 0x38de9: 0x6c5fce20, 0x38dea: 0x6c5fd020, 0x38deb: 0x6c5fd220, + 0x38dec: 0x6c5fd420, 0x38ded: 0x6c5fd620, 0x38dee: 0x6c5fd820, 0x38def: 0x6c5fda20, + 0x38df0: 0x6c5fdc20, 0x38df1: 0x6c5fde20, 0x38df2: 0x6c5fe020, 0x38df3: 0x6c5fe220, + 0x38df4: 0x6c5fe420, 0x38df5: 0x6c5fe620, 0x38df6: 0x6c5fe820, 0x38df7: 0x6c5fea20, + 0x38df8: 0x6c5fec20, 0x38df9: 0x6c5fee20, 0x38dfa: 0x6c5ff020, 0x38dfb: 0x6c853220, + 0x38dfc: 0x6c853420, 0x38dfd: 0x6c853620, 0x38dfe: 0x6c853820, 0x38dff: 0x6c853a20, + // Block 0xe38, offset 0x38e00 + 0x38e00: 0x6c853c20, 0x38e01: 0x6c853e20, 0x38e02: 0x6c854020, 0x38e03: 0x6c854220, + 0x38e04: 0x6c854420, 0x38e05: 0x6c854620, 0x38e06: 0x6c854820, 0x38e07: 0x6c854a20, + 0x38e08: 0x6c854c20, 0x38e09: 0x6c854e20, 0x38e0a: 0x6c855020, 0x38e0b: 0x6c855220, + 0x38e0c: 0x6c855420, 0x38e0d: 0x6c855620, 0x38e0e: 0x6c855820, 0x38e0f: 0x6c855a20, + 0x38e10: 0x6c855c20, 0x38e11: 0x6c855e20, 0x38e12: 0x6c856020, 0x38e13: 0x6c856220, + 0x38e14: 0x6c856420, 0x38e15: 0x6c856620, 0x38e16: 0x6c856820, 0x38e17: 0x6c856a20, + 0x38e18: 0x6c856c20, 0x38e19: 0x6c856e20, 0x38e1a: 0x6c857020, 0x38e1b: 0x6c857220, + 0x38e1c: 0x6c857420, 0x38e1d: 0x6c857620, 0x38e1e: 0x6caeaa20, 0x38e1f: 0x6caeac20, + 0x38e20: 0x6caeae20, 0x38e21: 0x6caeb020, 0x38e22: 0x6caeb220, 0x38e23: 0x6caeb420, + 0x38e24: 0x6caeb620, 0x38e25: 0x6caeb820, 0x38e26: 0x6caeba20, 0x38e27: 0x6caebc20, + 0x38e28: 0x6caebe20, 0x38e29: 0x6caec020, 0x38e2a: 0x6caec220, 0x38e2b: 0x6caec420, + 0x38e2c: 0x6caec620, 0x38e2d: 0x6caec820, 0x38e2e: 0x6caeca20, 0x38e2f: 0x6caecc20, + 0x38e30: 0x6caece20, 0x38e31: 0x6caed020, 0x38e32: 0x6caed220, 0x38e33: 0x6caed420, + 0x38e34: 0x6caed620, 0x38e35: 0x6caed820, 0x38e36: 0x6caeda20, 0x38e37: 0x6caedc20, + 0x38e38: 0x6caede20, 0x38e39: 0x6caee020, 0x38e3a: 0x6caee220, 0x38e3b: 0x6caee420, + 0x38e3c: 0x6caee620, 0x38e3d: 0x6caee820, 0x38e3e: 0x6caeea20, 0x38e3f: 0x6caeec20, + // Block 0xe39, offset 0x38e40 + 0x38e40: 0x6caeee20, 0x38e41: 0x6caef020, 0x38e42: 0x6caef220, 0x38e43: 0x6caef420, + 0x38e44: 0x6caef620, 0x38e45: 0x6caef820, 0x38e46: 0x6caefa20, 0x38e47: 0x6caefc20, + 0x38e48: 0x6caefe20, 0x38e49: 0x6caf0020, 0x38e4a: 0x6caf0220, 0x38e4b: 0x6caf0420, + 0x38e4c: 0x6caf0620, 0x38e4d: 0x6caf0820, 0x38e4e: 0x6caf0a20, 0x38e4f: 0x6cddc220, + 0x38e50: 0x6cddc420, 0x38e51: 0x6cddc620, 0x38e52: 0x6cddc820, 0x38e53: 0x6cddca20, + 0x38e54: 0x6cddcc20, 0x38e55: 0x6cddce20, 0x38e56: 0x6cddd020, 0x38e57: 0x6cddd220, + 0x38e58: 0x6cddd420, 0x38e59: 0x6cddd620, 0x38e5a: 0x6cddd820, 0x38e5b: 0x6cddda20, + 0x38e5c: 0x6cdddc20, 0x38e5d: 0x6cddde20, 0x38e5e: 0x6cdde020, 0x38e5f: 0x6cdde220, + 0x38e60: 0x6cdde420, 0x38e61: 0x6cdde620, 0x38e62: 0x6cdde820, 0x38e63: 0x6cddea20, + 0x38e64: 0x6cddec20, 0x38e65: 0x6cddee20, 0x38e66: 0x6cddf020, 0x38e67: 0x6cddf220, + 0x38e68: 0x6cddf420, 0x38e69: 0x6cddf620, 0x38e6a: 0x6cddf820, 0x38e6b: 0x6d0c3620, + 0x38e6c: 0x6cddfa20, 0x38e6d: 0x6cddfc20, 0x38e6e: 0x6d0c3820, 0x38e6f: 0x6cddfe20, + 0x38e70: 0x6cde0020, 0x38e71: 0x6cde0220, 0x38e72: 0x6cde0420, 0x38e73: 0x6cde0620, + 0x38e74: 0x6cde0820, 0x38e75: 0x6cde0a20, 0x38e76: 0x6cde0c20, 0x38e77: 0x6cde0e20, + 0x38e78: 0x6cde1020, 0x38e79: 0x6cde1220, 0x38e7a: 0x6cde1420, 0x38e7b: 0x6cde1620, + 0x38e7c: 0x6cde1820, 0x38e7d: 0x6cde1a20, 0x38e7e: 0x6cde1c20, 0x38e7f: 0x6cde1e20, + // Block 0xe3a, offset 0x38e80 + 0x38e80: 0x6cde2020, 0x38e81: 0x6cde2220, 0x38e82: 0x6cde2420, 0x38e83: 0x6cde2620, + 0x38e84: 0x6cde2820, 0x38e85: 0x6cde2a20, 0x38e86: 0x6cde2c20, 0x38e87: 0x6cde2e20, + 0x38e88: 0x6d0c3a20, 0x38e89: 0x6d0c3c20, 0x38e8a: 0x6d0c3e20, 0x38e8b: 0x6d0c4020, + 0x38e8c: 0x6d0c4220, 0x38e8d: 0x6d0c4420, 0x38e8e: 0x6d0c4620, 0x38e8f: 0x6d0c4820, + 0x38e90: 0x6d0c4a20, 0x38e91: 0x6d0c4c20, 0x38e92: 0x6d0c4e20, 0x38e93: 0x6d0c5020, + 0x38e94: 0x6d0c5220, 0x38e95: 0x6d0c5420, 0x38e96: 0x6d0c5620, 0x38e97: 0x6d0c5820, + 0x38e98: 0x6d0c5a20, 0x38e99: 0x6d0c5c20, 0x38e9a: 0x6d0c5e20, 0x38e9b: 0x6d0c6020, + 0x38e9c: 0x6d0c6220, 0x38e9d: 0x6d0c6420, 0x38e9e: 0x6d3a6020, 0x38e9f: 0x6d0c6620, + 0x38ea0: 0x6d0c6820, 0x38ea1: 0x6d0c6a20, 0x38ea2: 0x6d0c6c20, 0x38ea3: 0x6d0c6e20, + 0x38ea4: 0x6d0c7020, 0x38ea5: 0x6d0c7220, 0x38ea6: 0x6d0c7420, 0x38ea7: 0x6d0c7620, + 0x38ea8: 0x6d0c7820, 0x38ea9: 0x6d0c7a20, 0x38eaa: 0x6d0c7c20, 0x38eab: 0x6d0c7e20, + 0x38eac: 0x6d0c8020, 0x38ead: 0x6d0c8220, 0x38eae: 0x6d0c8420, 0x38eaf: 0x6d0c8620, + 0x38eb0: 0x6d0c8820, 0x38eb1: 0x6d0c8a20, 0x38eb2: 0x6d0c8c20, 0x38eb3: 0x6d0c8e20, + 0x38eb4: 0x6d0c9020, 0x38eb5: 0x6d0c9220, 0x38eb6: 0x6d0c9420, 0x38eb7: 0x6d0c9620, + 0x38eb8: 0x6d0c9820, 0x38eb9: 0x6d0c9a20, 0x38eba: 0x6d0c9c20, 0x38ebb: 0x6d0c9e20, + 0x38ebc: 0x6d0ca020, 0x38ebd: 0x6d0ca220, 0x38ebe: 0x6d0ca420, 0x38ebf: 0x6d0ca620, + // Block 0xe3b, offset 0x38ec0 + 0x38ec0: 0x6d0ca820, 0x38ec1: 0x6d0caa20, 0x38ec2: 0x6d0cac20, 0x38ec3: 0x6d3a6220, + 0x38ec4: 0x6d3a6420, 0x38ec5: 0x6d3a6620, 0x38ec6: 0x6d3a6820, 0x38ec7: 0x6d3a6a20, + 0x38ec8: 0x6d3a6c20, 0x38ec9: 0x6d3a6e20, 0x38eca: 0x6d3a7020, 0x38ecb: 0x6d3a7220, + 0x38ecc: 0x6d3a7420, 0x38ecd: 0x6d3a7620, 0x38ece: 0x6d3a7820, 0x38ecf: 0x6d3a7a20, + 0x38ed0: 0x6d3a7c20, 0x38ed1: 0x6d3a7e20, 0x38ed2: 0x6d3a8020, 0x38ed3: 0x6d3a8220, + 0x38ed4: 0x6d3a8420, 0x38ed5: 0x6d3a8620, 0x38ed6: 0x6d3a8820, 0x38ed7: 0x6d3a8a20, + 0x38ed8: 0x6d3a8c20, 0x38ed9: 0x6d3a8e20, 0x38eda: 0x6d3a9020, 0x38edb: 0x6d3a9220, + 0x38edc: 0x6d3a9420, 0x38edd: 0x6d3a9620, 0x38ede: 0x6d0cae20, 0x38edf: 0x6d3a9820, + 0x38ee0: 0x6d3a9a20, 0x38ee1: 0x6d3a9c20, 0x38ee2: 0x6d3a9e20, 0x38ee3: 0x6d3aa020, + 0x38ee4: 0x6d3aa220, 0x38ee5: 0x6d3aa420, 0x38ee6: 0x6d3aa620, 0x38ee7: 0x6d3aa820, + 0x38ee8: 0x6d3aaa20, 0x38ee9: 0x6d3aac20, 0x38eea: 0x6d3aae20, 0x38eeb: 0x6d3ab020, + 0x38eec: 0x6d3ab220, 0x38eed: 0x6d3ab420, 0x38eee: 0x6d3ab620, 0x38eef: 0x6d3ab820, + 0x38ef0: 0x6d668c20, 0x38ef1: 0x6d3aba20, 0x38ef2: 0x6d3abc20, 0x38ef3: 0x6d3abe20, + 0x38ef4: 0x6d3ac020, 0x38ef5: 0x6d3ac220, 0x38ef6: 0x6d3ac420, 0x38ef7: 0x6d3ac620, + 0x38ef8: 0x6d3ac820, 0x38ef9: 0x6d3aca20, 0x38efa: 0x6d3acc20, 0x38efb: 0x6d3ace20, + 0x38efc: 0x6d3ad020, 0x38efd: 0x6d3ad220, 0x38efe: 0x6d3ad420, 0x38eff: 0x6d3ad620, + // Block 0xe3c, offset 0x38f00 + 0x38f00: 0x6d3ad820, 0x38f01: 0x6d3ada20, 0x38f02: 0x6d3adc20, 0x38f03: 0x6d3ade20, + 0x38f04: 0x6d3ae020, 0x38f05: 0x6d3ae220, 0x38f06: 0x6d3ae420, 0x38f07: 0x6d3ae620, + 0x38f08: 0x6d3ae820, 0x38f09: 0x6d3aea20, 0x38f0a: 0x6d3aec20, 0x38f0b: 0x6d3aee20, + 0x38f0c: 0x6d3af020, 0x38f0d: 0x6d3af220, 0x38f0e: 0x6d3af420, 0x38f0f: 0x6d3af620, + 0x38f10: 0x6d3af820, 0x38f11: 0x6d3afa20, 0x38f12: 0x6d668e20, 0x38f13: 0x6d669020, + 0x38f14: 0x6d669220, 0x38f15: 0x6d669420, 0x38f16: 0x6d669620, 0x38f17: 0x6d669820, + 0x38f18: 0x6d669a20, 0x38f19: 0x6d669c20, 0x38f1a: 0x6d669e20, 0x38f1b: 0x6d66a020, + 0x38f1c: 0x6d66a220, 0x38f1d: 0x6d66a420, 0x38f1e: 0x6d66a620, 0x38f1f: 0x6d66a820, + 0x38f20: 0x6d66aa20, 0x38f21: 0x6d66ac20, 0x38f22: 0x6d66ae20, 0x38f23: 0x6d66b020, + 0x38f24: 0x6d66b220, 0x38f25: 0x6d66b420, 0x38f26: 0x6d66b620, 0x38f27: 0x6d66b820, + 0x38f28: 0x6d66ba20, 0x38f29: 0x6d66bc20, 0x38f2a: 0x6d66be20, 0x38f2b: 0x6d66c020, + 0x38f2c: 0x6d66c220, 0x38f2d: 0x6d66c420, 0x38f2e: 0x6d66c620, 0x38f2f: 0x6d66c820, + 0x38f30: 0x6d66ca20, 0x38f31: 0x6d66cc20, 0x38f32: 0x6d66ce20, 0x38f33: 0x6d66d020, + 0x38f34: 0x6d66d220, 0x38f35: 0x6d66d420, 0x38f36: 0x6d66d620, 0x38f37: 0x6d66d820, + 0x38f38: 0x6d66da20, 0x38f39: 0x6d66dc20, 0x38f3a: 0x6d66de20, 0x38f3b: 0x6d66e020, + 0x38f3c: 0x6d66e220, 0x38f3d: 0x6d66e420, 0x38f3e: 0x6d66e620, 0x38f3f: 0x6d66e820, + // Block 0xe3d, offset 0x38f40 + 0x38f40: 0x6d66ea20, 0x38f41: 0x6d66ec20, 0x38f42: 0x6d66ee20, 0x38f43: 0x6d66f020, + 0x38f44: 0x6d66f220, 0x38f45: 0x6d66f420, 0x38f46: 0x6d66f620, 0x38f47: 0x6d66f820, + 0x38f48: 0x6d66fa20, 0x38f49: 0x6d66fc20, 0x38f4a: 0x6d66fe20, 0x38f4b: 0x6d670020, + 0x38f4c: 0x6d670220, 0x38f4d: 0x6d670420, 0x38f4e: 0x6d670620, 0x38f4f: 0x6d670820, + 0x38f50: 0x6d670a20, 0x38f51: 0x6d670c20, 0x38f52: 0x6d670e20, 0x38f53: 0x6d671020, + 0x38f54: 0x6d671220, 0x38f55: 0x6d671420, 0x38f56: 0x6d671620, 0x38f57: 0x6d671820, + 0x38f58: 0x6d671a20, 0x38f59: 0x6d671c20, 0x38f5a: 0x6d671e20, 0x38f5b: 0x6d672020, + 0x38f5c: 0x6d672220, 0x38f5d: 0x6d672420, 0x38f5e: 0x6d672620, 0x38f5f: 0x6d672820, + 0x38f60: 0x6d672a20, 0x38f61: 0x6d905c20, 0x38f62: 0x6d905e20, 0x38f63: 0x6d906020, + 0x38f64: 0x6d906220, 0x38f65: 0x6d906420, 0x38f66: 0x6d906620, 0x38f67: 0x6d906820, + 0x38f68: 0x6d906a20, 0x38f69: 0x6d906c20, 0x38f6a: 0x6d906e20, 0x38f6b: 0x6d907020, + 0x38f6c: 0x6d907220, 0x38f6d: 0x6d907420, 0x38f6e: 0x6d907620, 0x38f6f: 0x6d907820, + 0x38f70: 0x6d907a20, 0x38f71: 0x6d907c20, 0x38f72: 0x6d907e20, 0x38f73: 0x6d908020, + 0x38f74: 0x6d908220, 0x38f75: 0x6d908420, 0x38f76: 0x6d908620, 0x38f77: 0x6d908820, + 0x38f78: 0x6d908a20, 0x38f79: 0x6d908c20, 0x38f7a: 0x6d908e20, 0x38f7b: 0x6d909020, + 0x38f7c: 0x6d909220, 0x38f7d: 0x6d909420, 0x38f7e: 0x6d909620, 0x38f7f: 0x6d909820, + // Block 0xe3e, offset 0x38f80 + 0x38f80: 0x6d909a20, 0x38f81: 0x6d909c20, 0x38f82: 0x6d909e20, 0x38f83: 0x6d90a020, + 0x38f84: 0x6d90a220, 0x38f85: 0x6d90a420, 0x38f86: 0x6d90a620, 0x38f87: 0x6d672c20, + 0x38f88: 0x6d90a820, 0x38f89: 0x6d90aa20, 0x38f8a: 0x6d90ac20, 0x38f8b: 0x6d90ae20, + 0x38f8c: 0x6d90b020, 0x38f8d: 0x6d90b220, 0x38f8e: 0x6d90b420, 0x38f8f: 0x6d90b620, + 0x38f90: 0x6d90b820, 0x38f91: 0x6d90ba20, 0x38f92: 0x6d90bc20, 0x38f93: 0x6d90be20, + 0x38f94: 0x6d90c020, 0x38f95: 0x6d90c220, 0x38f96: 0x6d90c420, 0x38f97: 0x6d90c620, + 0x38f98: 0x6d90c820, 0x38f99: 0x6d90ca20, 0x38f9a: 0x6d90cc20, 0x38f9b: 0x6d90ce20, + 0x38f9c: 0x6d90d020, 0x38f9d: 0x6d90d220, 0x38f9e: 0x6d90d420, 0x38f9f: 0x6d90d620, + 0x38fa0: 0x6d90d820, 0x38fa1: 0x6d90da20, 0x38fa2: 0x6d90dc20, 0x38fa3: 0x6d90de20, + 0x38fa4: 0x6d90e020, 0x38fa5: 0x6d90e220, 0x38fa6: 0x6d90e420, 0x38fa7: 0x6d90e620, + 0x38fa8: 0x6d90e820, 0x38fa9: 0x6d90ea20, 0x38faa: 0x6d90ec20, 0x38fab: 0x6d90ee20, + 0x38fac: 0x6d90f020, 0x38fad: 0x6d90f220, 0x38fae: 0x6d90f420, 0x38faf: 0x6d90f620, + 0x38fb0: 0x6d90f820, 0x38fb1: 0x6d90fa20, 0x38fb2: 0x6d90fc20, 0x38fb3: 0x6d90fe20, + 0x38fb4: 0x6d910020, 0x38fb5: 0x6d910220, 0x38fb6: 0x6d910420, 0x38fb7: 0x6d910620, + 0x38fb8: 0x6db42820, 0x38fb9: 0x6db42a20, 0x38fba: 0x6db42c20, 0x38fbb: 0x6db42e20, + 0x38fbc: 0x6db43020, 0x38fbd: 0x6db43220, 0x38fbe: 0x6db43420, 0x38fbf: 0x6db43620, + // Block 0xe3f, offset 0x38fc0 + 0x38fc0: 0x6db43820, 0x38fc1: 0x6db43a20, 0x38fc2: 0x6db43c20, 0x38fc3: 0x6db43e20, + 0x38fc4: 0x6db44020, 0x38fc5: 0x6db44220, 0x38fc6: 0x6db44420, 0x38fc7: 0x6db44620, + 0x38fc8: 0x6db44820, 0x38fc9: 0x6db44a20, 0x38fca: 0x6db44c20, 0x38fcb: 0x6db44e20, + 0x38fcc: 0x6db45020, 0x38fcd: 0x6db45220, 0x38fce: 0x6db45420, 0x38fcf: 0x6db45620, + 0x38fd0: 0x6db45820, 0x38fd1: 0x6db45a20, 0x38fd2: 0x6db45c20, 0x38fd3: 0x6db45e20, + 0x38fd4: 0x6db46020, 0x38fd5: 0x6db46220, 0x38fd6: 0x6db46420, 0x38fd7: 0x6db46620, + 0x38fd8: 0x6db46820, 0x38fd9: 0x6db46a20, 0x38fda: 0x6db46c20, 0x38fdb: 0x6db46e20, + 0x38fdc: 0x6db47020, 0x38fdd: 0x6db47220, 0x38fde: 0x6db47420, 0x38fdf: 0x6db47620, + 0x38fe0: 0x6db47820, 0x38fe1: 0x6db47a20, 0x38fe2: 0x6db47c20, 0x38fe3: 0x6db47e20, + 0x38fe4: 0x6db48020, 0x38fe5: 0x6db48220, 0x38fe6: 0x6db48420, 0x38fe7: 0x6db48620, + 0x38fe8: 0x6db48820, 0x38fe9: 0x6db48a20, 0x38fea: 0x6db48c20, 0x38feb: 0x6db48e20, + 0x38fec: 0x6db49020, 0x38fed: 0x6db49220, 0x38fee: 0x6db49420, 0x38fef: 0x6db49620, + 0x38ff0: 0x6dcfa420, 0x38ff1: 0x6db49820, 0x38ff2: 0x6db49a20, 0x38ff3: 0x6db49c20, + 0x38ff4: 0x6db49e20, 0x38ff5: 0x6db4a020, 0x38ff6: 0x6db4a220, 0x38ff7: 0x6db4a420, + 0x38ff8: 0x6db4a620, 0x38ff9: 0x6db4a820, 0x38ffa: 0x6db4aa20, 0x38ffb: 0x6db4ac20, + 0x38ffc: 0x6db4ae20, 0x38ffd: 0x6db4b020, 0x38ffe: 0x6db4b220, 0x38fff: 0x6db4b420, + // Block 0xe40, offset 0x39000 + 0x39000: 0x6db4b620, 0x39001: 0x6db4b820, 0x39002: 0x6db4ba20, 0x39003: 0x6db4bc20, + 0x39004: 0x6dd2fa20, 0x39005: 0x6dd2fc20, 0x39006: 0x6dd2fe20, 0x39007: 0x6dd30020, + 0x39008: 0x6dd30220, 0x39009: 0x6dd30420, 0x3900a: 0x6dd30620, 0x3900b: 0x6dd30820, + 0x3900c: 0x6dd30a20, 0x3900d: 0x6dd30c20, 0x3900e: 0x6dd30e20, 0x3900f: 0x6dd31020, + 0x39010: 0x6dd31220, 0x39011: 0x6dd31420, 0x39012: 0x6dd31620, 0x39013: 0x6dd31820, + 0x39014: 0x6dd31a20, 0x39015: 0x6dd31c20, 0x39016: 0x6dd31e20, 0x39017: 0x6dd32020, + 0x39018: 0x6dd32220, 0x39019: 0x6dd32420, 0x3901a: 0x6dd32620, 0x3901b: 0x6dd32820, + 0x3901c: 0x6dd32a20, 0x3901d: 0x6dd32c20, 0x3901e: 0x6dd32e20, 0x3901f: 0x6dd33020, + 0x39020: 0x6dd33220, 0x39021: 0x6dd33420, 0x39022: 0x6dd33620, 0x39023: 0x6dd33820, + 0x39024: 0x6dd33a20, 0x39025: 0x6dd33c20, 0x39026: 0x6dd33e20, 0x39027: 0x6dd34020, + 0x39028: 0x6dd34220, 0x39029: 0x6dd34420, 0x3902a: 0x6dd34620, 0x3902b: 0x6dd34820, + 0x3902c: 0x6dd34a20, 0x3902d: 0x6dd34c20, 0x3902e: 0x6dd34e20, 0x3902f: 0x6dd35020, + 0x39030: 0x6dd35220, 0x39031: 0x6dd35420, 0x39032: 0x6dd35620, 0x39033: 0x6dd35820, + 0x39034: 0x6dd35a20, 0x39035: 0x6dd35c20, 0x39036: 0x6dd35e20, 0x39037: 0x6dd36020, + 0x39038: 0x6dd36220, 0x39039: 0x6dd36420, 0x3903a: 0x6dd36620, 0x3903b: 0x6dd36820, + 0x3903c: 0x6dd36a20, 0x3903d: 0x6dd36c20, 0x3903e: 0x6dd36e20, 0x3903f: 0x6dd37020, + // Block 0xe41, offset 0x39040 + 0x39040: 0x6dd37220, 0x39041: 0x6dd37420, 0x39042: 0x6dd37620, 0x39043: 0x6dd37820, + 0x39044: 0x6dd37a20, 0x39045: 0x6dd37c20, 0x39046: 0x6dd37e20, 0x39047: 0x6dd38020, + 0x39048: 0x6dd38220, 0x39049: 0x6dd38420, 0x3904a: 0x6dd38620, 0x3904b: 0x6dd38820, + 0x3904c: 0x6dd38a20, 0x3904d: 0x6dd38c20, 0x3904e: 0x6dec2620, 0x3904f: 0x6dec2820, + 0x39050: 0x6dec2a20, 0x39051: 0x6dec2c20, 0x39052: 0x6dec2e20, 0x39053: 0x6dec3020, + 0x39054: 0x6dec3220, 0x39055: 0x6dec3420, 0x39056: 0x6dec3620, 0x39057: 0x6dec3820, + 0x39058: 0x6dec3a20, 0x39059: 0x6dec3c20, 0x3905a: 0x6dec3e20, 0x3905b: 0x6dec4020, + 0x3905c: 0x6dec4220, 0x3905d: 0x6dec4420, 0x3905e: 0x6dec4620, 0x3905f: 0x6dec4820, + 0x39060: 0x6dec4a20, 0x39061: 0x6dec4c20, 0x39062: 0x6dec4e20, 0x39063: 0x6dec5020, + 0x39064: 0x6dec5220, 0x39065: 0x6dec5420, 0x39066: 0x6dec5620, 0x39067: 0x6dec5820, + 0x39068: 0x6dec5a20, 0x39069: 0x6dec5c20, 0x3906a: 0x6dec5e20, 0x3906b: 0x6dec6020, + 0x3906c: 0x6dec6220, 0x3906d: 0x6dec6420, 0x3906e: 0x6dec6620, 0x3906f: 0x6dec6820, + 0x39070: 0x6dec6a20, 0x39071: 0x6dec6c20, 0x39072: 0x6dec6e20, 0x39073: 0x6dec7020, + 0x39074: 0x6dec7220, 0x39075: 0x6dec7420, 0x39076: 0x6dec7620, 0x39077: 0x6dec7820, + 0x39078: 0x6dec7a20, 0x39079: 0x6dec7c20, 0x3907a: 0x6dec7e20, 0x3907b: 0x6dec8020, + 0x3907c: 0x6dec8220, 0x3907d: 0x6dec8420, 0x3907e: 0x6dec8620, 0x3907f: 0x6dec8820, + // Block 0xe42, offset 0x39080 + 0x39080: 0x6dec8a20, 0x39081: 0x6dec8c20, 0x39082: 0x6dec8e20, 0x39083: 0x6dec9020, + 0x39084: 0x6dec9220, 0x39085: 0x6dec9420, 0x39086: 0x6dec9620, 0x39087: 0x6dec9820, + 0x39088: 0x6dec9a20, 0x39089: 0x6e018420, 0x3908a: 0x6e018620, 0x3908b: 0x6e018820, + 0x3908c: 0x6e018a20, 0x3908d: 0x6e018c20, 0x3908e: 0x6e018e20, 0x3908f: 0x6e019020, + 0x39090: 0x6e019220, 0x39091: 0x6e019420, 0x39092: 0x6e019620, 0x39093: 0x6e019820, + 0x39094: 0x6e019a20, 0x39095: 0x6e019c20, 0x39096: 0x6e019e20, 0x39097: 0x6e01a020, + 0x39098: 0x6e01a220, 0x39099: 0x6e01a420, 0x3909a: 0x6e01a620, 0x3909b: 0x6e01a820, + 0x3909c: 0x6e01aa20, 0x3909d: 0x6e01ac20, 0x3909e: 0x6e01ae20, 0x3909f: 0x6e01b020, + 0x390a0: 0x6e01b220, 0x390a1: 0x6e01b420, 0x390a2: 0x6e01b620, 0x390a3: 0x6e01b820, + 0x390a4: 0x6e01ba20, 0x390a5: 0x6e01bc20, 0x390a6: 0x6e01be20, 0x390a7: 0x6e01c020, + 0x390a8: 0x6e01c220, 0x390a9: 0x6e01c420, 0x390aa: 0x6e01c620, 0x390ab: 0x6e01c820, + 0x390ac: 0x6e01ca20, 0x390ad: 0x6e01cc20, 0x390ae: 0x6e01ce20, 0x390af: 0x6e01d020, + 0x390b0: 0x6e01d220, 0x390b1: 0x6e136a20, 0x390b2: 0x6e136c20, 0x390b3: 0x6e136e20, + 0x390b4: 0x6e137020, 0x390b5: 0x6e137220, 0x390b6: 0x6e137420, 0x390b7: 0x6e137620, + 0x390b8: 0x6e137820, 0x390b9: 0x6e137a20, 0x390ba: 0x6e137c20, 0x390bb: 0x6e137e20, + 0x390bc: 0x6e138020, 0x390bd: 0x6e138220, 0x390be: 0x6e138420, 0x390bf: 0x6e138620, + // Block 0xe43, offset 0x390c0 + 0x390c0: 0x6e138820, 0x390c1: 0x6e138a20, 0x390c2: 0x6e138c20, 0x390c3: 0x6e138e20, + 0x390c4: 0x6e139020, 0x390c5: 0x6e139220, 0x390c6: 0x6e139420, 0x390c7: 0x6e139620, + 0x390c8: 0x6e139820, 0x390c9: 0x6e139a20, 0x390ca: 0x6e139c20, 0x390cb: 0x6e139e20, + 0x390cc: 0x6e13a020, 0x390cd: 0x6e13a220, 0x390ce: 0x6e13a420, 0x390cf: 0x6e13a620, + 0x390d0: 0x6e13a820, 0x390d1: 0x6e13aa20, 0x390d2: 0x6e13ac20, 0x390d3: 0x6e13ae20, + 0x390d4: 0x6e13b020, 0x390d5: 0x6e13b220, 0x390d6: 0x6e13b420, 0x390d7: 0x6e13b620, + 0x390d8: 0x6e13b820, 0x390d9: 0x6e13ba20, 0x390da: 0x6e13bc20, 0x390db: 0x6e13be20, + 0x390dc: 0x6e13c020, 0x390dd: 0x6e213820, 0x390de: 0x6e213a20, 0x390df: 0x6e213c20, + 0x390e0: 0x6e213e20, 0x390e1: 0x6e214020, 0x390e2: 0x6e214220, 0x390e3: 0x6e214420, + 0x390e4: 0x6e214620, 0x390e5: 0x6e214820, 0x390e6: 0x6e214a20, 0x390e7: 0x6e214c20, + 0x390e8: 0x6e214e20, 0x390e9: 0x6e215020, 0x390ea: 0x6e215220, 0x390eb: 0x6e215420, + 0x390ec: 0x6e215620, 0x390ed: 0x6e215820, 0x390ee: 0x6e215a20, 0x390ef: 0x6e215c20, + 0x390f0: 0x6e215e20, 0x390f1: 0x6e216020, 0x390f2: 0x6e216220, 0x390f3: 0x6e216420, + 0x390f4: 0x6e216620, 0x390f5: 0x6e216820, 0x390f6: 0x6e216a20, 0x390f7: 0x6e216c20, + 0x390f8: 0x6e216e20, 0x390f9: 0x6e217020, 0x390fa: 0x6e217220, 0x390fb: 0x6e217420, + 0x390fc: 0x6e217620, 0x390fd: 0x6e217820, 0x390fe: 0x6e217a20, 0x390ff: 0x6e217c20, + // Block 0xe44, offset 0x39100 + 0x39100: 0x6e217e20, 0x39101: 0x6e218020, 0x39102: 0x6e218220, 0x39103: 0x6e2bf020, + 0x39104: 0x6e2bf220, 0x39105: 0x6e2bf420, 0x39106: 0x6e2bf620, 0x39107: 0x6e2bf820, + 0x39108: 0x6e2bfa20, 0x39109: 0x6e2bfc20, 0x3910a: 0x6e2bfe20, 0x3910b: 0x6e2c0020, + 0x3910c: 0x6e2c0220, 0x3910d: 0x6e2c0420, 0x3910e: 0x6e2c0620, 0x3910f: 0x6e2c0820, + 0x39110: 0x6e2c0a20, 0x39111: 0x6e2c0c20, 0x39112: 0x6e2c0e20, 0x39113: 0x6e343220, + 0x39114: 0x6e2c1020, 0x39115: 0x6e2c1220, 0x39116: 0x6e2c1420, 0x39117: 0x6e2c1620, + 0x39118: 0x6e2c1820, 0x39119: 0x6e2c1a20, 0x3911a: 0x6e2c1c20, 0x3911b: 0x6e343420, + 0x3911c: 0x6e343620, 0x3911d: 0x6e343820, 0x3911e: 0x6e343a20, 0x3911f: 0x6e343c20, + 0x39120: 0x6e343e20, 0x39121: 0x6e344020, 0x39122: 0x6e344220, 0x39123: 0x6e344420, + 0x39124: 0x6e344620, 0x39125: 0x6e344820, 0x39126: 0x6e344a20, 0x39127: 0x6e344c20, + 0x39128: 0x6e344e20, 0x39129: 0x6e345020, 0x3912a: 0x6e345220, 0x3912b: 0x6e345420, + 0x3912c: 0x6e345620, 0x3912d: 0x6e345820, 0x3912e: 0x6e345a20, 0x3912f: 0x6e39ee20, + 0x39130: 0x6e39f020, 0x39131: 0x6e39f220, 0x39132: 0x6e39f420, 0x39133: 0x6e39f620, + 0x39134: 0x6e39f820, 0x39135: 0x6e39fa20, 0x39136: 0x6e39fc20, 0x39137: 0x6e39fe20, + 0x39138: 0x6e3a0020, 0x39139: 0x6e3a0220, 0x3913a: 0x6e3a0420, 0x3913b: 0x6e3a0620, + 0x3913c: 0x6e3a0820, 0x3913d: 0x6e3e1820, 0x3913e: 0x6e3e1a20, 0x3913f: 0x6e3e1c20, + // Block 0xe45, offset 0x39140 + 0x39140: 0x6e3e1e20, 0x39141: 0x6e3e2020, 0x39142: 0x6e3e2220, 0x39143: 0x6e3e2420, + 0x39144: 0x6e40e220, 0x39145: 0x6e40e420, 0x39146: 0x6e40e620, 0x39147: 0x6e40e820, + 0x39148: 0x6e40ea20, 0x39149: 0x6e40ec20, 0x3914a: 0x6e3e2620, 0x3914b: 0x6e40ee20, + 0x3914c: 0x6e40f020, 0x3914d: 0x6e40f220, 0x3914e: 0x6e40f420, 0x3914f: 0x6e40f620, + 0x39150: 0x6e40f820, 0x39151: 0x6e42fe20, 0x39152: 0x6e430020, 0x39153: 0x6e430220, + 0x39154: 0x6e430420, 0x39155: 0x6e430620, 0x39156: 0x6e430820, 0x39157: 0x6e430a20, + 0x39158: 0x6e446e20, 0x39159: 0x6e447020, 0x3915a: 0x6e447220, 0x3915b: 0x6e447420, + 0x3915c: 0x6e455220, 0x3915d: 0x6e455420, 0x3915e: 0x6e455620, 0x3915f: 0x6e455820, + 0x39160: 0x6e459020, 0x39161: 0x6e455a20, 0x39162: 0x6e45d220, 0x39163: 0x6e45d420, + 0x39164: 0x6e463a20, 0x39165: 0x6e463c20, 0x39166: 0x6e463e20, 0x39167: 0x6c403620, + 0x39168: 0x6c403820, 0x39169: 0x6c403a20, 0x3916a: 0x6c5ffc20, 0x3916b: 0x6c858820, + 0x3916c: 0x6c858a20, 0x3916d: 0x6c858c20, 0x3916e: 0x6c858e20, 0x3916f: 0x6c859020, + 0x39170: 0x6caf1e20, 0x39171: 0x6caf2020, 0x39172: 0x6caf2220, 0x39173: 0x6cde4c20, + 0x39174: 0x6cde4e20, 0x39175: 0x6d0cbe20, 0x39176: 0x6d0cc020, 0x39177: 0x6d0cc220, + 0x39178: 0x6d0cc420, 0x39179: 0x6d0cc620, 0x3917a: 0x6d3b1220, 0x3917b: 0x6d3b1420, + 0x3917c: 0x6d3b1620, 0x3917d: 0x6d3b1820, 0x3917e: 0x6d3b1a20, 0x3917f: 0x6d3b1c20, + // Block 0xe46, offset 0x39180 + 0x39180: 0x6d673c20, 0x39181: 0x6d673e20, 0x39182: 0x6d674020, 0x39183: 0x6d674220, + 0x39184: 0x6d3b1e20, 0x39185: 0x6d674420, 0x39186: 0x6d911620, 0x39187: 0x6d911820, + 0x39188: 0x6d911a20, 0x39189: 0x6d911c20, 0x3918a: 0x6d911e20, 0x3918b: 0x6db4c820, + 0x3918c: 0x6db4ca20, 0x3918d: 0x6db4cc20, 0x3918e: 0x6dd39820, 0x3918f: 0x6dd39a20, + 0x39190: 0x6dd39c20, 0x39191: 0x6dd39e20, 0x39192: 0x6dd3a020, 0x39193: 0x6dd3a220, + 0x39194: 0x6deca620, 0x39195: 0x6deca820, 0x39196: 0x6e01dc20, 0x39197: 0x6e01de20, + 0x39198: 0x6e13cc20, 0x39199: 0x6e218620, 0x3919a: 0x6e218820, 0x3919b: 0x6e2c1e20, + 0x3919c: 0x6e455c20, 0x3919d: 0x6c403c20, 0x3919e: 0x6c403e20, 0x3919f: 0x6c404020, + 0x391a0: 0x6c404220, 0x391a1: 0x6c600220, 0x391a2: 0x6c600420, 0x391a3: 0x6c600620, + 0x391a4: 0x6c600820, 0x391a5: 0x6c600a20, 0x391a6: 0x6c859820, 0x391a7: 0x6c859a20, + 0x391a8: 0x6c859c20, 0x391a9: 0x6c859e20, 0x391aa: 0x6caf3020, 0x391ab: 0x6cde5a20, + 0x391ac: 0x6cde5c20, 0x391ad: 0x6cde5e20, 0x391ae: 0x6cde6020, 0x391af: 0x6cde6220, + 0x391b0: 0x6cde6420, 0x391b1: 0x6cde6620, 0x391b2: 0x6d0ccc20, 0x391b3: 0x6d0cce20, + 0x391b4: 0x6d0cd020, 0x391b5: 0x6d0cd220, 0x391b6: 0x6d0cd420, 0x391b7: 0x6d0cd620, + 0x391b8: 0x6d3b2020, 0x391b9: 0x6d674e20, 0x391ba: 0x6d3b2220, 0x391bb: 0x6d3b2420, + 0x391bc: 0x6d675020, 0x391bd: 0x6d675220, 0x391be: 0x6d912e20, 0x391bf: 0x6db4d220, + // Block 0xe47, offset 0x391c0 + 0x391c0: 0x6db4d420, 0x391c1: 0x6db4d620, 0x391c2: 0x6dd3a420, 0x391c3: 0x6dd3a620, + 0x391c4: 0x6decaa20, 0x391c5: 0x6e13ce20, 0x391c6: 0x6e218a20, 0x391c7: 0x6c0a6220, + 0x391c8: 0x6c269020, 0x391c9: 0x6c269220, 0x391ca: 0x6c269420, 0x391cb: 0x6c269620, + 0x391cc: 0x6c269820, 0x391cd: 0x6c404c20, 0x391ce: 0x6c404e20, 0x391cf: 0x6c405020, + 0x391d0: 0x6c405220, 0x391d1: 0x6c405420, 0x391d2: 0x6c405620, 0x391d3: 0x6c405820, + 0x391d4: 0x6c405a20, 0x391d5: 0x6c405c20, 0x391d6: 0x6c405e20, 0x391d7: 0x6c406020, + 0x391d8: 0x6c406220, 0x391d9: 0x6c406420, 0x391da: 0x6c406620, 0x391db: 0x6c406820, + 0x391dc: 0x6c406a20, 0x391dd: 0x6c601e20, 0x391de: 0x6c602020, 0x391df: 0x6c602220, + 0x391e0: 0x6c602420, 0x391e1: 0x6c602620, 0x391e2: 0x6c602820, 0x391e3: 0x6c602a20, + 0x391e4: 0x6c602c20, 0x391e5: 0x6c602e20, 0x391e6: 0x6c603020, 0x391e7: 0x6c603220, + 0x391e8: 0x6c603420, 0x391e9: 0x6c603620, 0x391ea: 0x6c603820, 0x391eb: 0x6c603a20, + 0x391ec: 0x6c603c20, 0x391ed: 0x6c603e20, 0x391ee: 0x6c604020, 0x391ef: 0x6c604220, + 0x391f0: 0x6c604420, 0x391f1: 0x6c604620, 0x391f2: 0x6c604820, 0x391f3: 0x6c604a20, + 0x391f4: 0x6c604c20, 0x391f5: 0x6c604e20, 0x391f6: 0x6c605020, 0x391f7: 0x6c605220, + 0x391f8: 0x6c605420, 0x391f9: 0x6c605620, 0x391fa: 0x6c605820, 0x391fb: 0x6c605a20, + 0x391fc: 0x6c605c20, 0x391fd: 0x6c85dc20, 0x391fe: 0x6caf9220, 0x391ff: 0x6c85de20, + // Block 0xe48, offset 0x39200 + 0x39200: 0x6c85e020, 0x39201: 0x6c85e220, 0x39202: 0x6c85e420, 0x39203: 0x6c85e620, + 0x39204: 0x6c85e820, 0x39205: 0x6c85ea20, 0x39206: 0x6c85ec20, 0x39207: 0x6c85ee20, + 0x39208: 0x6c85f020, 0x39209: 0x6c85f220, 0x3920a: 0x6c85f420, 0x3920b: 0x6c85f620, + 0x3920c: 0x6c85f820, 0x3920d: 0x6c85fa20, 0x3920e: 0x6c85fc20, 0x3920f: 0x6c85fe20, + 0x39210: 0x6c860020, 0x39211: 0x6c860220, 0x39212: 0x6c860420, 0x39213: 0x6c860620, + 0x39214: 0x6c860820, 0x39215: 0x6c860a20, 0x39216: 0x6c860c20, 0x39217: 0x6c860e20, + 0x39218: 0x6c861020, 0x39219: 0x6c861220, 0x3921a: 0x6c861420, 0x3921b: 0x6c861620, + 0x3921c: 0x6c861820, 0x3921d: 0x6c861a20, 0x3921e: 0x6caf9420, 0x3921f: 0x6caf9620, + 0x39220: 0x6caf9820, 0x39221: 0x6caf9a20, 0x39222: 0x6caf9c20, 0x39223: 0x6caf9e20, + 0x39224: 0x6cafa020, 0x39225: 0x6cafa220, 0x39226: 0x6cafa420, 0x39227: 0x6cafa620, + 0x39228: 0x6cafa820, 0x39229: 0x6cafaa20, 0x3922a: 0x6cafac20, 0x3922b: 0x6cafae20, + 0x3922c: 0x6cafb020, 0x3922d: 0x6cafb220, 0x3922e: 0x6cafb420, 0x3922f: 0x6cafb620, + 0x39230: 0x6cafb820, 0x39231: 0x6cafba20, 0x39232: 0x6cafbc20, 0x39233: 0x6cafbe20, + 0x39234: 0x6cafc020, 0x39235: 0x6cafc220, 0x39236: 0x6cafc420, 0x39237: 0x6cafc620, + 0x39238: 0x6cafc820, 0x39239: 0x6cafca20, 0x3923a: 0x6cafcc20, 0x3923b: 0x6cafce20, + 0x3923c: 0x6cafd020, 0x3923d: 0x6cafd220, 0x3923e: 0x6cafd420, 0x3923f: 0x6cafd620, + // Block 0xe49, offset 0x39240 + 0x39240: 0x6cdeac20, 0x39241: 0x6cdeae20, 0x39242: 0x6cdeb020, 0x39243: 0x6cdeb220, + 0x39244: 0x6cdeb420, 0x39245: 0x6cdeb620, 0x39246: 0x6cdeb820, 0x39247: 0x6cdeba20, + 0x39248: 0x6cdebc20, 0x39249: 0x6cdebe20, 0x3924a: 0x6cdec020, 0x3924b: 0x6cdec220, + 0x3924c: 0x6cdec420, 0x3924d: 0x6cdec620, 0x3924e: 0x6cdec820, 0x3924f: 0x6cdeca20, + 0x39250: 0x6cdecc20, 0x39251: 0x6cdece20, 0x39252: 0x6cded020, 0x39253: 0x6cded220, + 0x39254: 0x6cded420, 0x39255: 0x6cded620, 0x39256: 0x6cded820, 0x39257: 0x6cdeda20, + 0x39258: 0x6cdedc20, 0x39259: 0x6cdede20, 0x3925a: 0x6cdee020, 0x3925b: 0x6cdee220, + 0x3925c: 0x6cdee420, 0x3925d: 0x6cdee620, 0x3925e: 0x6cdee820, 0x3925f: 0x6cdeea20, + 0x39260: 0x6cdeec20, 0x39261: 0x6cdeee20, 0x39262: 0x6cdef020, 0x39263: 0x6cdef220, + 0x39264: 0x6d0d1420, 0x39265: 0x6d0d1620, 0x39266: 0x6d0d1820, 0x39267: 0x6d0d1a20, + 0x39268: 0x6d0d1c20, 0x39269: 0x6d0d1e20, 0x3926a: 0x6d0d2020, 0x3926b: 0x6d0d2220, + 0x3926c: 0x6d0d2420, 0x3926d: 0x6d0d2620, 0x3926e: 0x6d0d2820, 0x3926f: 0x6d0d2a20, + 0x39270: 0x6d0d2c20, 0x39271: 0x6d0d2e20, 0x39272: 0x6d0d3020, 0x39273: 0x6d0d3220, + 0x39274: 0x6d0d3420, 0x39275: 0x6d0d3620, 0x39276: 0x6d0d3820, 0x39277: 0x6d0d3a20, + 0x39278: 0x6d0d3c20, 0x39279: 0x6d0d3e20, 0x3927a: 0x6d0d4020, 0x3927b: 0x6d3b8420, + 0x3927c: 0x6d0d4220, 0x3927d: 0x6d0d4420, 0x3927e: 0x6d0d4620, 0x3927f: 0x6d0d4820, + // Block 0xe4a, offset 0x39280 + 0x39280: 0x6d0d4a20, 0x39281: 0x6d0d4c20, 0x39282: 0x6d0d4e20, 0x39283: 0x6d0d5020, + 0x39284: 0x6d0d5220, 0x39285: 0x6d0d5420, 0x39286: 0x6d0d5620, 0x39287: 0x6d0d5820, + 0x39288: 0x6d0d5a20, 0x39289: 0x6d0d5c20, 0x3928a: 0x6d0d5e20, 0x3928b: 0x6d0d6020, + 0x3928c: 0x6d0d6220, 0x3928d: 0x6d0d6420, 0x3928e: 0x6d0d6620, 0x3928f: 0x6d3b8620, + 0x39290: 0x6d3b8820, 0x39291: 0x6d3b8a20, 0x39292: 0x6d3b8c20, 0x39293: 0x6d3b8e20, + 0x39294: 0x6d3b9020, 0x39295: 0x6d3b9220, 0x39296: 0x6d3b9420, 0x39297: 0x6d3b9620, + 0x39298: 0x6d3b9820, 0x39299: 0x6d3b9a20, 0x3929a: 0x6d3b9c20, 0x3929b: 0x6d3b9e20, + 0x3929c: 0x6d3ba020, 0x3929d: 0x6d3ba220, 0x3929e: 0x6d3ba420, 0x3929f: 0x6d3ba620, + 0x392a0: 0x6d3ba820, 0x392a1: 0x6d3baa20, 0x392a2: 0x6d3bac20, 0x392a3: 0x6d3bae20, + 0x392a4: 0x6d3bb020, 0x392a5: 0x6d3bb220, 0x392a6: 0x6d3bb420, 0x392a7: 0x6d3bb620, + 0x392a8: 0x6d3bb820, 0x392a9: 0x6d3bba20, 0x392aa: 0x6d3bbc20, 0x392ab: 0x6d3bbe20, + 0x392ac: 0x6d3bc020, 0x392ad: 0x6d3bc220, 0x392ae: 0x6d3bc420, 0x392af: 0x6d3bc620, + 0x392b0: 0x6d3bc820, 0x392b1: 0x6d3bca20, 0x392b2: 0x6d3bcc20, 0x392b3: 0x6d3bce20, + 0x392b4: 0x6d3bd020, 0x392b5: 0x6d3bd220, 0x392b6: 0x6d3bd420, 0x392b7: 0x6d3bd620, + 0x392b8: 0x6d67a020, 0x392b9: 0x6d67a220, 0x392ba: 0x6d67a420, 0x392bb: 0x6d67a620, + 0x392bc: 0x6d67a820, 0x392bd: 0x6d67aa20, 0x392be: 0x6d67ac20, 0x392bf: 0x6d67ae20, + // Block 0xe4b, offset 0x392c0 + 0x392c0: 0x6d67b020, 0x392c1: 0x6d67b220, 0x392c2: 0x6d67b420, 0x392c3: 0x6d67b620, + 0x392c4: 0x6d67b820, 0x392c5: 0x6d67ba20, 0x392c6: 0x6d67bc20, 0x392c7: 0x6d67be20, + 0x392c8: 0x6d67c020, 0x392c9: 0x6d67c220, 0x392ca: 0x6d67c420, 0x392cb: 0x6d67c620, + 0x392cc: 0x6d67c820, 0x392cd: 0x6d67ca20, 0x392ce: 0x6d67cc20, 0x392cf: 0x6d67ce20, + 0x392d0: 0x6d67d020, 0x392d1: 0x6d67d220, 0x392d2: 0x6d67d420, 0x392d3: 0x6d67d620, + 0x392d4: 0x6d67d820, 0x392d5: 0x6d67da20, 0x392d6: 0x6d67dc20, 0x392d7: 0x6d67de20, + 0x392d8: 0x6d67e020, 0x392d9: 0x6d67e220, 0x392da: 0x6d67e420, 0x392db: 0x6d67e620, + 0x392dc: 0x6d67e820, 0x392dd: 0x6d916820, 0x392de: 0x6d916a20, 0x392df: 0x6d916c20, + 0x392e0: 0x6d916e20, 0x392e1: 0x6d917020, 0x392e2: 0x6d917220, 0x392e3: 0x6d917420, + 0x392e4: 0x6d917620, 0x392e5: 0x6d917820, 0x392e6: 0x6d917a20, 0x392e7: 0x6d917c20, + 0x392e8: 0x6d67ea20, 0x392e9: 0x6d917e20, 0x392ea: 0x6d918020, 0x392eb: 0x6d918220, + 0x392ec: 0x6d918420, 0x392ed: 0x6db51820, 0x392ee: 0x6d918620, 0x392ef: 0x6d918820, + 0x392f0: 0x6d918a20, 0x392f1: 0x6d918c20, 0x392f2: 0x6d918e20, 0x392f3: 0x6d919020, + 0x392f4: 0x6d919220, 0x392f5: 0x6d919420, 0x392f6: 0x6d919620, 0x392f7: 0x6d919820, + 0x392f8: 0x6d919a20, 0x392f9: 0x6d919c20, 0x392fa: 0x6d919e20, 0x392fb: 0x6d91a020, + 0x392fc: 0x6d91a220, 0x392fd: 0x6d91a420, 0x392fe: 0x6d91a620, 0x392ff: 0x6d91a820, + // Block 0xe4c, offset 0x39300 + 0x39300: 0x6d91aa20, 0x39301: 0x6d91ac20, 0x39302: 0x6db51a20, 0x39303: 0x6db51c20, + 0x39304: 0x6db51e20, 0x39305: 0x6db52020, 0x39306: 0x6db52220, 0x39307: 0x6db52420, + 0x39308: 0x6db52620, 0x39309: 0x6db52820, 0x3930a: 0x6db52a20, 0x3930b: 0x6db52c20, + 0x3930c: 0x6db52e20, 0x3930d: 0x6db53020, 0x3930e: 0x6db53220, 0x3930f: 0x6db53420, + 0x39310: 0x6db53620, 0x39311: 0x6db53820, 0x39312: 0x6db53a20, 0x39313: 0x6db53c20, + 0x39314: 0x6db53e20, 0x39315: 0x6db54020, 0x39316: 0x6db54220, 0x39317: 0x6db54420, + 0x39318: 0x6db54620, 0x39319: 0x6db54820, 0x3931a: 0x6db54a20, 0x3931b: 0x6db54c20, + 0x3931c: 0x6db54e20, 0x3931d: 0x6db55020, 0x3931e: 0x6db55220, 0x3931f: 0x6db55420, + 0x39320: 0x6db55620, 0x39321: 0x6db55820, 0x39322: 0x6db55a20, 0x39323: 0x6db55c20, + 0x39324: 0x6db55e20, 0x39325: 0x6db56020, 0x39326: 0x6db56220, 0x39327: 0x6db56420, + 0x39328: 0x6db56620, 0x39329: 0x6db56820, 0x3932a: 0x6db56a20, 0x3932b: 0x6db56c20, + 0x3932c: 0x6db56e20, 0x3932d: 0x6db57020, 0x3932e: 0x6db57220, 0x3932f: 0x6db57420, + 0x39330: 0x6db57620, 0x39331: 0x6dd3d220, 0x39332: 0x6dd3d420, 0x39333: 0x6dd3d620, + 0x39334: 0x6dd3d820, 0x39335: 0x6dd3da20, 0x39336: 0x6dd3dc20, 0x39337: 0x6dd3de20, + 0x39338: 0x6dd3e020, 0x39339: 0x6dd3e220, 0x3933a: 0x6dd3e420, 0x3933b: 0x6dd3e620, + 0x3933c: 0x6dd3e820, 0x3933d: 0x6dd3ea20, 0x3933e: 0x6dd3ec20, 0x3933f: 0x6dd3ee20, + // Block 0xe4d, offset 0x39340 + 0x39340: 0x6dd3f020, 0x39341: 0x6dd3f220, 0x39342: 0x6dd3f420, 0x39343: 0x6dd3f620, + 0x39344: 0x6dd3f820, 0x39345: 0x6dd3fa20, 0x39346: 0x6dd3fc20, 0x39347: 0x6dd3fe20, + 0x39348: 0x6dd40020, 0x39349: 0x6dd40220, 0x3934a: 0x6dd40420, 0x3934b: 0x6dd40620, + 0x3934c: 0x6dd40820, 0x3934d: 0x6decca20, 0x3934e: 0x6deccc20, 0x3934f: 0x6decce20, + 0x39350: 0x6decd020, 0x39351: 0x6decd220, 0x39352: 0x6decd420, 0x39353: 0x6decd620, + 0x39354: 0x6decd820, 0x39355: 0x6decda20, 0x39356: 0x6decdc20, 0x39357: 0x6e01f820, + 0x39358: 0x6decde20, 0x39359: 0x6dece020, 0x3935a: 0x6dece220, 0x3935b: 0x6dece420, + 0x3935c: 0x6dece620, 0x3935d: 0x6dece820, 0x3935e: 0x6decea20, 0x3935f: 0x6decec20, + 0x39360: 0x6decee20, 0x39361: 0x6decf020, 0x39362: 0x6decf220, 0x39363: 0x6decf420, + 0x39364: 0x6decf620, 0x39365: 0x6decf820, 0x39366: 0x6decfa20, 0x39367: 0x6e01fa20, + 0x39368: 0x6e01fc20, 0x39369: 0x6e01fe20, 0x3936a: 0x6e020020, 0x3936b: 0x6e020220, + 0x3936c: 0x6e020420, 0x3936d: 0x6e020620, 0x3936e: 0x6e020820, 0x3936f: 0x6e020a20, + 0x39370: 0x6e020c20, 0x39371: 0x6e020e20, 0x39372: 0x6e13de20, 0x39373: 0x6e021020, + 0x39374: 0x6e021220, 0x39375: 0x6e021420, 0x39376: 0x6e13e020, 0x39377: 0x6e13e220, + 0x39378: 0x6e13e420, 0x39379: 0x6e13e620, 0x3937a: 0x6e13e820, 0x3937b: 0x6e13ea20, + 0x3937c: 0x6e13ec20, 0x3937d: 0x6e13ee20, 0x3937e: 0x6e13f020, 0x3937f: 0x6e13f220, + // Block 0xe4e, offset 0x39380 + 0x39380: 0x6e13f420, 0x39381: 0x6e13f620, 0x39382: 0x6e13f820, 0x39383: 0x6e219620, + 0x39384: 0x6e219820, 0x39385: 0x6e219a20, 0x39386: 0x6e219c20, 0x39387: 0x6e219e20, + 0x39388: 0x6e2c2c20, 0x39389: 0x6e2c2e20, 0x3938a: 0x6e2c3020, 0x3938b: 0x6e2c3220, + 0x3938c: 0x6e346820, 0x3938d: 0x6e346a20, 0x3938e: 0x6e346c20, 0x3938f: 0x6e346e20, + 0x39390: 0x6e3a1620, 0x39391: 0x6e3a1820, 0x39392: 0x6e3a1a20, 0x39393: 0x6e3a1c20, + 0x39394: 0x6e3a1e20, 0x39395: 0x6e3e2820, 0x39396: 0x6e3e2a20, 0x39397: 0x6e3e2c20, + 0x39398: 0x6e410020, 0x39399: 0x6e447820, 0x3939a: 0x6e447a20, 0x3939b: 0x6e45d620, + 0x3939c: 0x6e468e20, 0x3939d: 0x6e469020, 0x3939e: 0x6e470420, 0x3939f: 0x6e470620, + 0x393a0: 0x6c269a20, 0x393a1: 0x6c269c20, 0x393a2: 0x6c269e20, 0x393a3: 0x6c406c20, + 0x393a4: 0x6c606820, 0x393a5: 0x6c606a20, 0x393a6: 0x6c606c20, 0x393a7: 0x6c862420, + 0x393a8: 0x6c862620, 0x393a9: 0x6c862820, 0x393aa: 0x6cafe620, 0x393ab: 0x6cafe820, + 0x393ac: 0x6cafea20, 0x393ad: 0x6cdf0220, 0x393ae: 0x6cdf0420, 0x393af: 0x6d0d7820, + 0x393b0: 0x6d0d7a20, 0x393b1: 0x6d3bdc20, 0x393b2: 0x6d3bde20, 0x393b3: 0x6d3be020, + 0x393b4: 0x6d3be220, 0x393b5: 0x6d3be420, 0x393b6: 0x6d3be620, 0x393b7: 0x6d3be820, + 0x393b8: 0x6d3bea20, 0x393b9: 0x6d67f220, 0x393ba: 0x6d67f420, 0x393bb: 0x6d67f620, + 0x393bc: 0x6d91ba20, 0x393bd: 0x6d91bc20, 0x393be: 0x6d91be20, 0x393bf: 0x6db57e20, + // Block 0xe4f, offset 0x393c0 + 0x393c0: 0x6dd41020, 0x393c1: 0x6dd41220, 0x393c2: 0x6ded0220, 0x393c3: 0x6e021820, + 0x393c4: 0x6e13fa20, 0x393c5: 0x6e3a2220, 0x393c6: 0x6c406e20, 0x393c7: 0x6c407020, + 0x393c8: 0x6c607020, 0x393c9: 0x6c863220, 0x393ca: 0x6c863420, 0x393cb: 0x6c863620, + 0x393cc: 0x6c863820, 0x393cd: 0x6c863a20, 0x393ce: 0x6cb00020, 0x393cf: 0x6cb00220, + 0x393d0: 0x6cb00420, 0x393d1: 0x6cb00620, 0x393d2: 0x6cb00820, 0x393d3: 0x6cb00a20, + 0x393d4: 0x6cb00c20, 0x393d5: 0x6cb00e20, 0x393d6: 0x6cb01020, 0x393d7: 0x6cb01220, + 0x393d8: 0x6cb01420, 0x393d9: 0x6cb01620, 0x393da: 0x6cb01820, 0x393db: 0x6cb01a20, + 0x393dc: 0x6cdf1a20, 0x393dd: 0x6cdf1c20, 0x393de: 0x6cdf1e20, 0x393df: 0x6cdf2020, + 0x393e0: 0x6cdf2220, 0x393e1: 0x6cdf2420, 0x393e2: 0x6cdf2620, 0x393e3: 0x6cdf2820, + 0x393e4: 0x6cdf2a20, 0x393e5: 0x6cdf2c20, 0x393e6: 0x6cdf2e20, 0x393e7: 0x6cdf3020, + 0x393e8: 0x6d0d8420, 0x393e9: 0x6d0d8620, 0x393ea: 0x6d0d8820, 0x393eb: 0x6d0d8a20, + 0x393ec: 0x6d0d8c20, 0x393ed: 0x6d0d8e20, 0x393ee: 0x6d0d9020, 0x393ef: 0x6d0d9220, + 0x393f0: 0x6d0d9420, 0x393f1: 0x6d0d9620, 0x393f2: 0x6d0d9820, 0x393f3: 0x6d0d9a20, + 0x393f4: 0x6d0d9c20, 0x393f5: 0x6d0d9e20, 0x393f6: 0x6d0da020, 0x393f7: 0x6d0da220, + 0x393f8: 0x6d0da420, 0x393f9: 0x6d0da620, 0x393fa: 0x6d0da820, 0x393fb: 0x6d3bfa20, + 0x393fc: 0x6d3bfc20, 0x393fd: 0x6d3bfe20, 0x393fe: 0x6d3c0020, 0x393ff: 0x6d3c0220, + // Block 0xe50, offset 0x39400 + 0x39400: 0x6d3c0420, 0x39401: 0x6d3c0620, 0x39402: 0x6d3c0820, 0x39403: 0x6d3c0a20, + 0x39404: 0x6d3c0c20, 0x39405: 0x6d3c0e20, 0x39406: 0x6d3c1020, 0x39407: 0x6d3c1220, + 0x39408: 0x6d3c1420, 0x39409: 0x6d3c1620, 0x3940a: 0x6d3c1820, 0x3940b: 0x6d680420, + 0x3940c: 0x6d680620, 0x3940d: 0x6d680820, 0x3940e: 0x6d680a20, 0x3940f: 0x6d680c20, + 0x39410: 0x6d680e20, 0x39411: 0x6d681020, 0x39412: 0x6d681220, 0x39413: 0x6d681420, + 0x39414: 0x6d681620, 0x39415: 0x6d681820, 0x39416: 0x6d681a20, 0x39417: 0x6d681c20, + 0x39418: 0x6d681e20, 0x39419: 0x6d682020, 0x3941a: 0x6d682220, 0x3941b: 0x6d682420, + 0x3941c: 0x6d682620, 0x3941d: 0x6d682820, 0x3941e: 0x6d682a20, 0x3941f: 0x6d682c20, + 0x39420: 0x6d682e20, 0x39421: 0x6d91d220, 0x39422: 0x6d91d420, 0x39423: 0x6d91d620, + 0x39424: 0x6d91d820, 0x39425: 0x6d91da20, 0x39426: 0x6d91dc20, 0x39427: 0x6d91de20, + 0x39428: 0x6d91e020, 0x39429: 0x6d91e220, 0x3942a: 0x6d91e420, 0x3942b: 0x6d91e620, + 0x3942c: 0x6d91e820, 0x3942d: 0x6d91ea20, 0x3942e: 0x6d91ec20, 0x3942f: 0x6d91ee20, + 0x39430: 0x6d91f020, 0x39431: 0x6d91f220, 0x39432: 0x6d91f420, 0x39433: 0x6d91f620, + 0x39434: 0x6d91f820, 0x39435: 0x6d91fa20, 0x39436: 0x6d91fc20, 0x39437: 0x6db59020, + 0x39438: 0x6db59220, 0x39439: 0x6db59420, 0x3943a: 0x6db59620, 0x3943b: 0x6db59820, + 0x3943c: 0x6db59a20, 0x3943d: 0x6db59c20, 0x3943e: 0x6db59e20, 0x3943f: 0x6db5a020, + // Block 0xe51, offset 0x39440 + 0x39440: 0x6db5a220, 0x39441: 0x6db5a420, 0x39442: 0x6dd42020, 0x39443: 0x6dd42220, + 0x39444: 0x6dd42420, 0x39445: 0x6dd42620, 0x39446: 0x6dd42820, 0x39447: 0x6dd42a20, + 0x39448: 0x6dd42c20, 0x39449: 0x6dd42e20, 0x3944a: 0x6dd43020, 0x3944b: 0x6dd43220, + 0x3944c: 0x6ded1820, 0x3944d: 0x6ded1a20, 0x3944e: 0x6ded1c20, 0x3944f: 0x6ded1e20, + 0x39450: 0x6ded2020, 0x39451: 0x6ded2220, 0x39452: 0x6e022020, 0x39453: 0x6e022220, + 0x39454: 0x6e022420, 0x39455: 0x6e022620, 0x39456: 0x6e022820, 0x39457: 0x6e022a20, + 0x39458: 0x6e140220, 0x39459: 0x6e140420, 0x3945a: 0x6e140620, 0x3945b: 0x6e140820, + 0x3945c: 0x6e21a820, 0x3945d: 0x6e21aa20, 0x3945e: 0x6e21ac20, 0x3945f: 0x6e21ae20, + 0x39460: 0x6e21b020, 0x39461: 0x6e21b220, 0x39462: 0x6e347020, 0x39463: 0x6e347220, + 0x39464: 0x6e347420, 0x39465: 0x6e347620, 0x39466: 0x6e3a2620, 0x39467: 0x6e3a2820, + 0x39468: 0x6e3a2a20, 0x39469: 0x6e3a2c20, 0x3946a: 0x6e3a2e20, 0x3946b: 0x6e3a3020, + 0x3946c: 0x6e3e3020, 0x3946d: 0x6e410220, 0x3946e: 0x6e430c20, 0x3946f: 0x6e46b420, + 0x39470: 0x6e470820, 0x39471: 0x6e473020, 0x39472: 0x6c26a820, 0x39473: 0x6c407620, + 0x39474: 0x6c608020, 0x39475: 0x6c608220, 0x39476: 0x6c608420, 0x39477: 0x6c864220, + 0x39478: 0x6c864420, 0x39479: 0x6c864620, 0x3947a: 0x6c864820, 0x3947b: 0x6cb02a20, + 0x3947c: 0x6cb02c20, 0x3947d: 0x6cb02e20, 0x3947e: 0x6cb03020, 0x3947f: 0x6cb03220, + // Block 0xe52, offset 0x39480 + 0x39480: 0x6cb03420, 0x39481: 0x6cb03620, 0x39482: 0x6cb03820, 0x39483: 0x6cb03a20, + 0x39484: 0x6cb03c20, 0x39485: 0x6cb03e20, 0x39486: 0x6cb04020, 0x39487: 0x6cb04220, + 0x39488: 0x6cb04420, 0x39489: 0x6cb04620, 0x3948a: 0x6cb04820, 0x3948b: 0x6cb04a20, + 0x3948c: 0x6cb04c20, 0x3948d: 0x6cb04e20, 0x3948e: 0x6cb05020, 0x3948f: 0x6cb05220, + 0x39490: 0x6cb05420, 0x39491: 0x6cdf4020, 0x39492: 0x6cdf4220, 0x39493: 0x6cdf4420, + 0x39494: 0x6cdf4620, 0x39495: 0x6cdf4820, 0x39496: 0x6cdf4a20, 0x39497: 0x6cdf4c20, + 0x39498: 0x6cdf4e20, 0x39499: 0x6cdf5020, 0x3949a: 0x6cdf5220, 0x3949b: 0x6cdf5420, + 0x3949c: 0x6cdf5620, 0x3949d: 0x6cdf5820, 0x3949e: 0x6cdf5a20, 0x3949f: 0x6cdf5c20, + 0x394a0: 0x6cdf5e20, 0x394a1: 0x6d0dca20, 0x394a2: 0x6d0dcc20, 0x394a3: 0x6d0dce20, + 0x394a4: 0x6d0dd020, 0x394a5: 0x6d0dd220, 0x394a6: 0x6d0dd420, 0x394a7: 0x6d0dd620, + 0x394a8: 0x6d3c2a20, 0x394a9: 0x6d3c2c20, 0x394aa: 0x6d3c2e20, 0x394ab: 0x6d3c3020, + 0x394ac: 0x6d3c3220, 0x394ad: 0x6d3c3420, 0x394ae: 0x6d3c3620, 0x394af: 0x6d3c3820, + 0x394b0: 0x6d3c3a20, 0x394b1: 0x6d3c3c20, 0x394b2: 0x6d3c3e20, 0x394b3: 0x6d3c4020, + 0x394b4: 0x6d684c20, 0x394b5: 0x6d684e20, 0x394b6: 0x6d685020, 0x394b7: 0x6d685220, + 0x394b8: 0x6d685420, 0x394b9: 0x6d685620, 0x394ba: 0x6d685820, 0x394bb: 0x6d685a20, + 0x394bc: 0x6d685c20, 0x394bd: 0x6d685e20, 0x394be: 0x6d686020, 0x394bf: 0x6d686220, + // Block 0xe53, offset 0x394c0 + 0x394c0: 0x6d686420, 0x394c1: 0x6d686620, 0x394c2: 0x6d686820, 0x394c3: 0x6d686a20, + 0x394c4: 0x6d686c20, 0x394c5: 0x6d686e20, 0x394c6: 0x6d687020, 0x394c7: 0x6d687220, + 0x394c8: 0x6d687420, 0x394c9: 0x6d687620, 0x394ca: 0x6d687820, 0x394cb: 0x6d920c20, + 0x394cc: 0x6d920e20, 0x394cd: 0x6d921020, 0x394ce: 0x6d921220, 0x394cf: 0x6d921420, + 0x394d0: 0x6d921620, 0x394d1: 0x6d921820, 0x394d2: 0x6d921a20, 0x394d3: 0x6d921c20, + 0x394d4: 0x6d921e20, 0x394d5: 0x6d922020, 0x394d6: 0x6d922220, 0x394d7: 0x6d922420, + 0x394d8: 0x6d922620, 0x394d9: 0x6d922820, 0x394da: 0x6d922a20, 0x394db: 0x6db5b020, + 0x394dc: 0x6db5b220, 0x394dd: 0x6db5b420, 0x394de: 0x6db5b620, 0x394df: 0x6db5b820, + 0x394e0: 0x6db5ba20, 0x394e1: 0x6db5bc20, 0x394e2: 0x6d922c20, 0x394e3: 0x6db5be20, + 0x394e4: 0x6db5c020, 0x394e5: 0x6db5c220, 0x394e6: 0x6db5c420, 0x394e7: 0x6db5c620, + 0x394e8: 0x6db5c820, 0x394e9: 0x6db5ca20, 0x394ea: 0x6db5cc20, 0x394eb: 0x6db5ce20, + 0x394ec: 0x6db5d020, 0x394ed: 0x6db5d220, 0x394ee: 0x6db5d420, 0x394ef: 0x6dd43c20, + 0x394f0: 0x6dd43e20, 0x394f1: 0x6dd44020, 0x394f2: 0x6dd44220, 0x394f3: 0x6dd44420, + 0x394f4: 0x6dd44620, 0x394f5: 0x6dd44820, 0x394f6: 0x6dd44a20, 0x394f7: 0x6dd44c20, + 0x394f8: 0x6dd44e20, 0x394f9: 0x6dd45020, 0x394fa: 0x6ded2e20, 0x394fb: 0x6ded3020, + 0x394fc: 0x6ded3220, 0x394fd: 0x6ded3420, 0x394fe: 0x6ded3620, 0x394ff: 0x6ded3820, + // Block 0xe54, offset 0x39500 + 0x39500: 0x6ded3a20, 0x39501: 0x6ded3c20, 0x39502: 0x6ded3e20, 0x39503: 0x6ded4020, + 0x39504: 0x6e023820, 0x39505: 0x6e023a20, 0x39506: 0x6e023c20, 0x39507: 0x6e023e20, + 0x39508: 0x6e140c20, 0x39509: 0x6e140e20, 0x3950a: 0x6e141020, 0x3950b: 0x6e141220, + 0x3950c: 0x6e21b820, 0x3950d: 0x6e21ba20, 0x3950e: 0x6e21bc20, 0x3950f: 0x6e21be20, + 0x39510: 0x6e21c020, 0x39511: 0x6e2c4020, 0x39512: 0x6e2c4220, 0x39513: 0x6e347820, + 0x39514: 0x6e347a20, 0x39515: 0x6e3a3a20, 0x39516: 0x6e3e3220, 0x39517: 0x6e430e20, + 0x39518: 0x6e431020, 0x39519: 0x6e447c20, 0x3951a: 0x6e447e20, 0x3951b: 0x6c26ae20, + 0x3951c: 0x6c26b020, 0x3951d: 0x6c407820, 0x3951e: 0x6c407a20, 0x3951f: 0x6c407c20, + 0x39520: 0x6c609a20, 0x39521: 0x6c867220, 0x39522: 0x6c867420, 0x39523: 0x6c867620, + 0x39524: 0x6c867820, 0x39525: 0x6c867a20, 0x39526: 0x6c867c20, 0x39527: 0x6c867e20, + 0x39528: 0x6c868020, 0x39529: 0x6c868220, 0x3952a: 0x6c868420, 0x3952b: 0x6c868620, + 0x3952c: 0x6c868820, 0x3952d: 0x6c868a20, 0x3952e: 0x6cb0aa20, 0x3952f: 0x6cb0ac20, + 0x39530: 0x6cb0ae20, 0x39531: 0x6cb0b020, 0x39532: 0x6cb0b220, 0x39533: 0x6cb0b420, + 0x39534: 0x6cb0b620, 0x39535: 0x6cb0b820, 0x39536: 0x6cb0ba20, 0x39537: 0x6cb0bc20, + 0x39538: 0x6cb0be20, 0x39539: 0x6cb0c020, 0x3953a: 0x6cb0c220, 0x3953b: 0x6cb0c420, + 0x3953c: 0x6cb0c620, 0x3953d: 0x6cb0c820, 0x3953e: 0x6cb0ca20, 0x3953f: 0x6cb0cc20, + // Block 0xe55, offset 0x39540 + 0x39540: 0x6cb0ce20, 0x39541: 0x6cb0d020, 0x39542: 0x6cb0d220, 0x39543: 0x6cb0d420, + 0x39544: 0x6cb0d620, 0x39545: 0x6cb0d820, 0x39546: 0x6cb0da20, 0x39547: 0x6cb0dc20, + 0x39548: 0x6cb0de20, 0x39549: 0x6cb0e020, 0x3954a: 0x6cb0e220, 0x3954b: 0x6cb0e420, + 0x3954c: 0x6cb0e620, 0x3954d: 0x6cb0e820, 0x3954e: 0x6cb0ea20, 0x3954f: 0x6cb0ec20, + 0x39550: 0x6cb0ee20, 0x39551: 0x6cb0f020, 0x39552: 0x6cb0f220, 0x39553: 0x6cb0f420, + 0x39554: 0x6cb0f620, 0x39555: 0x6cb0f820, 0x39556: 0x6cb0fa20, 0x39557: 0x6cb0fc20, + 0x39558: 0x6cb0fe20, 0x39559: 0x6cb10020, 0x3955a: 0x6cb10220, 0x3955b: 0x6cb10420, + 0x3955c: 0x6cdfd620, 0x3955d: 0x6cdfd820, 0x3955e: 0x6cdfda20, 0x3955f: 0x6cdfdc20, + 0x39560: 0x6cdfde20, 0x39561: 0x6cdfe020, 0x39562: 0x6cdfe220, 0x39563: 0x6cdfe420, + 0x39564: 0x6cdfe620, 0x39565: 0x6cdfe820, 0x39566: 0x6cdfea20, 0x39567: 0x6cdfec20, + 0x39568: 0x6cdfee20, 0x39569: 0x6cdff020, 0x3956a: 0x6cdff220, 0x3956b: 0x6cdff420, + 0x3956c: 0x6cdff620, 0x3956d: 0x6cdff820, 0x3956e: 0x6cdffa20, 0x3956f: 0x6cdffc20, + 0x39570: 0x6cdffe20, 0x39571: 0x6ce00020, 0x39572: 0x6ce00220, 0x39573: 0x6ce00420, + 0x39574: 0x6ce00620, 0x39575: 0x6ce00820, 0x39576: 0x6ce00a20, 0x39577: 0x6ce00c20, + 0x39578: 0x6ce00e20, 0x39579: 0x6ce01020, 0x3957a: 0x6ce01220, 0x3957b: 0x6ce01420, + 0x3957c: 0x6ce01620, 0x3957d: 0x6ce01820, 0x3957e: 0x6ce01a20, 0x3957f: 0x6ce01c20, + // Block 0xe56, offset 0x39580 + 0x39580: 0x6ce01e20, 0x39581: 0x6ce02020, 0x39582: 0x6ce02220, 0x39583: 0x6d0e4a20, + 0x39584: 0x6d0e4c20, 0x39585: 0x6d0e4e20, 0x39586: 0x6d0e5020, 0x39587: 0x6d0e5220, + 0x39588: 0x6d0e5420, 0x39589: 0x6d0e5620, 0x3958a: 0x6d0e5820, 0x3958b: 0x6d0e5a20, + 0x3958c: 0x6d0e5c20, 0x3958d: 0x6d0e5e20, 0x3958e: 0x6d0e6020, 0x3958f: 0x6d0e6220, + 0x39590: 0x6d0e6420, 0x39591: 0x6d0e6620, 0x39592: 0x6d0e6820, 0x39593: 0x6d0e6a20, + 0x39594: 0x6d0e6c20, 0x39595: 0x6d0e6e20, 0x39596: 0x6d0e7020, 0x39597: 0x6d0e7220, + 0x39598: 0x6d0e7420, 0x39599: 0x6d0e7620, 0x3959a: 0x6d0e7820, 0x3959b: 0x6d0e7a20, + 0x3959c: 0x6d0e7c20, 0x3959d: 0x6d0e7e20, 0x3959e: 0x6d0e8020, 0x3959f: 0x6d0e8220, + 0x395a0: 0x6d0e8420, 0x395a1: 0x6d0e8620, 0x395a2: 0x6d0e8820, 0x395a3: 0x6d0e8a20, + 0x395a4: 0x6d0e8c20, 0x395a5: 0x6d0e8e20, 0x395a6: 0x6d0e9020, 0x395a7: 0x6d0e9220, + 0x395a8: 0x6d0e9420, 0x395a9: 0x6d0e9620, 0x395aa: 0x6d0e9820, 0x395ab: 0x6d0e9a20, + 0x395ac: 0x6d0e9c20, 0x395ad: 0x6d0e9e20, 0x395ae: 0x6d0ea020, 0x395af: 0x6d0ea220, + 0x395b0: 0x6d0ea420, 0x395b1: 0x6d0ea620, 0x395b2: 0x6d0ea820, 0x395b3: 0x6d0eaa20, + 0x395b4: 0x6d3c9e20, 0x395b5: 0x6d3ca020, 0x395b6: 0x6d3ca220, 0x395b7: 0x6d3ca420, + 0x395b8: 0x6d3ca620, 0x395b9: 0x6d3ca820, 0x395ba: 0x6d3caa20, 0x395bb: 0x6d3cac20, + 0x395bc: 0x6d3cae20, 0x395bd: 0x6d3cb020, 0x395be: 0x6d3cb220, 0x395bf: 0x6d3cb420, + // Block 0xe57, offset 0x395c0 + 0x395c0: 0x6d3cb620, 0x395c1: 0x6d3cb820, 0x395c2: 0x6d3cba20, 0x395c3: 0x6d3cbc20, + 0x395c4: 0x6d3cbe20, 0x395c5: 0x6d3cc020, 0x395c6: 0x6d3cc220, 0x395c7: 0x6d3cc420, + 0x395c8: 0x6d3cc620, 0x395c9: 0x6d3cc820, 0x395ca: 0x6d3cca20, 0x395cb: 0x6d3ccc20, + 0x395cc: 0x6d3cce20, 0x395cd: 0x6d3cd020, 0x395ce: 0x6d3cd220, 0x395cf: 0x6d3cd420, + 0x395d0: 0x6d3cd620, 0x395d1: 0x6d3cd820, 0x395d2: 0x6d3cda20, 0x395d3: 0x6d3cdc20, + 0x395d4: 0x6d3cde20, 0x395d5: 0x6d3ce020, 0x395d6: 0x6d3ce220, 0x395d7: 0x6d3ce420, + 0x395d8: 0x6d3ce620, 0x395d9: 0x6d3ce820, 0x395da: 0x6d3cea20, 0x395db: 0x6d3cec20, + 0x395dc: 0x6d0eac20, 0x395dd: 0x6d3cee20, 0x395de: 0x6d3cf020, 0x395df: 0x6d3cf220, + 0x395e0: 0x6d3cf420, 0x395e1: 0x6d3cf620, 0x395e2: 0x6d3cf820, 0x395e3: 0x6d3cfa20, + 0x395e4: 0x6d3cfc20, 0x395e5: 0x6d3cfe20, 0x395e6: 0x6d68f820, 0x395e7: 0x6d68fa20, + 0x395e8: 0x6d68fc20, 0x395e9: 0x6d68fe20, 0x395ea: 0x6d690020, 0x395eb: 0x6d690220, + 0x395ec: 0x6d690420, 0x395ed: 0x6d690620, 0x395ee: 0x6d690820, 0x395ef: 0x6d690a20, + 0x395f0: 0x6d690c20, 0x395f1: 0x6d690e20, 0x395f2: 0x6d691020, 0x395f3: 0x6d691220, + 0x395f4: 0x6d691420, 0x395f5: 0x6d691620, 0x395f6: 0x6d691820, 0x395f7: 0x6d691a20, + 0x395f8: 0x6d691c20, 0x395f9: 0x6d691e20, 0x395fa: 0x6d692020, 0x395fb: 0x6d692220, + 0x395fc: 0x6d692420, 0x395fd: 0x6d692620, 0x395fe: 0x6d692820, 0x395ff: 0x6d692a20, + // Block 0xe58, offset 0x39600 + 0x39600: 0x6d692c20, 0x39601: 0x6d692e20, 0x39602: 0x6d693020, 0x39603: 0x6d693220, + 0x39604: 0x6d693420, 0x39605: 0x6d693620, 0x39606: 0x6d693820, 0x39607: 0x6d693a20, + 0x39608: 0x6d693c20, 0x39609: 0x6d693e20, 0x3960a: 0x6d694020, 0x3960b: 0x6d694220, + 0x3960c: 0x6d694420, 0x3960d: 0x6d694620, 0x3960e: 0x6d694820, 0x3960f: 0x6d694a20, + 0x39610: 0x6d694c20, 0x39611: 0x6d694e20, 0x39612: 0x6d695020, 0x39613: 0x6d695220, + 0x39614: 0x6d695420, 0x39615: 0x6d695620, 0x39616: 0x6d695820, 0x39617: 0x6d695a20, + 0x39618: 0x6d695c20, 0x39619: 0x6d695e20, 0x3961a: 0x6d696020, 0x3961b: 0x6d696220, + 0x3961c: 0x6d696420, 0x3961d: 0x6d696620, 0x3961e: 0x6d696820, 0x3961f: 0x6d696a20, + 0x39620: 0x6d696c20, 0x39621: 0x6d696e20, 0x39622: 0x6d697020, 0x39623: 0x6d928820, + 0x39624: 0x6d928a20, 0x39625: 0x6d928c20, 0x39626: 0x6d928e20, 0x39627: 0x6d929020, + 0x39628: 0x6d929220, 0x39629: 0x6d929420, 0x3962a: 0x6d929620, 0x3962b: 0x6d929820, + 0x3962c: 0x6d929a20, 0x3962d: 0x6d929c20, 0x3962e: 0x6d929e20, 0x3962f: 0x6d92a020, + 0x39630: 0x6d92a220, 0x39631: 0x6d92a420, 0x39632: 0x6d92a620, 0x39633: 0x6d92a820, + 0x39634: 0x6d92aa20, 0x39635: 0x6d92ac20, 0x39636: 0x6d92ae20, 0x39637: 0x6d92b020, + 0x39638: 0x6d92b220, 0x39639: 0x6d92b420, 0x3963a: 0x6d92b620, 0x3963b: 0x6d92b820, + 0x3963c: 0x6d92ba20, 0x3963d: 0x6d92bc20, 0x3963e: 0x6d92be20, 0x3963f: 0x6d92c020, + // Block 0xe59, offset 0x39640 + 0x39640: 0x6d92c220, 0x39641: 0x6d92c420, 0x39642: 0x6d92c620, 0x39643: 0x6d92c820, + 0x39644: 0x6d92ca20, 0x39645: 0x6d92cc20, 0x39646: 0x6d92ce20, 0x39647: 0x6d92d020, + 0x39648: 0x6d92d220, 0x39649: 0x6d92d420, 0x3964a: 0x6d92d620, 0x3964b: 0x6d92d820, + 0x3964c: 0x6d92da20, 0x3964d: 0x6d92dc20, 0x3964e: 0x6d92de20, 0x3964f: 0x6d92e020, + 0x39650: 0x6d92e220, 0x39651: 0x6d92e420, 0x39652: 0x6d92e620, 0x39653: 0x6d92e820, + 0x39654: 0x6d92ea20, 0x39655: 0x6d92ec20, 0x39656: 0x6d92ee20, 0x39657: 0x6d92f020, + 0x39658: 0x6db61e20, 0x39659: 0x6db62020, 0x3965a: 0x6db62220, 0x3965b: 0x6db62420, + 0x3965c: 0x6db62620, 0x3965d: 0x6db62820, 0x3965e: 0x6db62a20, 0x3965f: 0x6db62c20, + 0x39660: 0x6db62e20, 0x39661: 0x6db63020, 0x39662: 0x6db63220, 0x39663: 0x6db63420, + 0x39664: 0x6db63620, 0x39665: 0x6db63820, 0x39666: 0x6db63a20, 0x39667: 0x6db63c20, + 0x39668: 0x6db63e20, 0x39669: 0x6db64020, 0x3966a: 0x6db64220, 0x3966b: 0x6db64420, + 0x3966c: 0x6db64620, 0x3966d: 0x6db64820, 0x3966e: 0x6db64a20, 0x3966f: 0x6db64c20, + 0x39670: 0x6db64e20, 0x39671: 0x6db65020, 0x39672: 0x6db65220, 0x39673: 0x6db65420, + 0x39674: 0x6db65620, 0x39675: 0x6db65820, 0x39676: 0x6db65a20, 0x39677: 0x6db65c20, + 0x39678: 0x6db65e20, 0x39679: 0x6db66020, 0x3967a: 0x6db66220, 0x3967b: 0x6db66420, + 0x3967c: 0x6db66620, 0x3967d: 0x6db66820, 0x3967e: 0x6db66a20, 0x3967f: 0x6db66c20, + // Block 0xe5a, offset 0x39680 + 0x39680: 0x6db66e20, 0x39681: 0x6db67020, 0x39682: 0x6db67220, 0x39683: 0x6db67420, + 0x39684: 0x6db67620, 0x39685: 0x6db67820, 0x39686: 0x6db67a20, 0x39687: 0x6db67c20, + 0x39688: 0x6db67e20, 0x39689: 0x6db68020, 0x3968a: 0x6db68220, 0x3968b: 0x6db68420, + 0x3968c: 0x6db68620, 0x3968d: 0x6db68820, 0x3968e: 0x6db68a20, 0x3968f: 0x6db68c20, + 0x39690: 0x6db68e20, 0x39691: 0x6db69020, 0x39692: 0x6dd49a20, 0x39693: 0x6dd49c20, + 0x39694: 0x6dd49e20, 0x39695: 0x6dd4a020, 0x39696: 0x6dd4a220, 0x39697: 0x6dd4a420, + 0x39698: 0x6dd4a620, 0x39699: 0x6dd4a820, 0x3969a: 0x6dd4aa20, 0x3969b: 0x6dd4ac20, + 0x3969c: 0x6dd4ae20, 0x3969d: 0x6dd4b020, 0x3969e: 0x6dd4b220, 0x3969f: 0x6dd4b420, + 0x396a0: 0x6dd4b620, 0x396a1: 0x6dd4b820, 0x396a2: 0x6dd4ba20, 0x396a3: 0x6dd4bc20, + 0x396a4: 0x6dd4be20, 0x396a5: 0x6dd4c020, 0x396a6: 0x6dd4c220, 0x396a7: 0x6dd4c420, + 0x396a8: 0x6dd4c620, 0x396a9: 0x6dd4c820, 0x396aa: 0x6dd4ca20, 0x396ab: 0x6dd4cc20, + 0x396ac: 0x6dd4ce20, 0x396ad: 0x6dd4d020, 0x396ae: 0x6dd4d220, 0x396af: 0x6dd4d420, + 0x396b0: 0x6dd4d620, 0x396b1: 0x6dd4d820, 0x396b2: 0x6dd4da20, 0x396b3: 0x6dd4dc20, + 0x396b4: 0x6dd4de20, 0x396b5: 0x6dd4e020, 0x396b6: 0x6dd4e220, 0x396b7: 0x6dd4e420, + 0x396b8: 0x6dd4e620, 0x396b9: 0x6dd4e820, 0x396ba: 0x6dd4ea20, 0x396bb: 0x6dd4ec20, + 0x396bc: 0x6dd4ee20, 0x396bd: 0x6dd4f020, 0x396be: 0x6ded8820, 0x396bf: 0x6ded8a20, + // Block 0xe5b, offset 0x396c0 + 0x396c0: 0x6ded8c20, 0x396c1: 0x6ded8e20, 0x396c2: 0x6ded9020, 0x396c3: 0x6ded9220, + 0x396c4: 0x6ded9420, 0x396c5: 0x6ded9620, 0x396c6: 0x6ded9820, 0x396c7: 0x6ded9a20, + 0x396c8: 0x6ded9c20, 0x396c9: 0x6ded9e20, 0x396ca: 0x6deda020, 0x396cb: 0x6deda220, + 0x396cc: 0x6deda420, 0x396cd: 0x6deda620, 0x396ce: 0x6deda820, 0x396cf: 0x6dedaa20, + 0x396d0: 0x6dedac20, 0x396d1: 0x6dedae20, 0x396d2: 0x6dedb020, 0x396d3: 0x6dedb220, + 0x396d4: 0x6dedb420, 0x396d5: 0x6dedb620, 0x396d6: 0x6dedb820, 0x396d7: 0x6dedba20, + 0x396d8: 0x6dedbc20, 0x396d9: 0x6dedbe20, 0x396da: 0x6dedc020, 0x396db: 0x6dedc220, + 0x396dc: 0x6dedc420, 0x396dd: 0x6dedc620, 0x396de: 0x6dedc820, 0x396df: 0x6dedca20, + 0x396e0: 0x6dedcc20, 0x396e1: 0x6dedce20, 0x396e2: 0x6dedd020, 0x396e3: 0x6dedd220, + 0x396e4: 0x6dedd420, 0x396e5: 0x6dedd620, 0x396e6: 0x6dedd820, 0x396e7: 0x6e027c20, + 0x396e8: 0x6e027e20, 0x396e9: 0x6e028020, 0x396ea: 0x6e028220, 0x396eb: 0x6e028420, + 0x396ec: 0x6e028620, 0x396ed: 0x6e028820, 0x396ee: 0x6e028a20, 0x396ef: 0x6e028c20, + 0x396f0: 0x6e028e20, 0x396f1: 0x6e029020, 0x396f2: 0x6e029220, 0x396f3: 0x6e029420, + 0x396f4: 0x6e029620, 0x396f5: 0x6e029820, 0x396f6: 0x6e029a20, 0x396f7: 0x6e029c20, + 0x396f8: 0x6e029e20, 0x396f9: 0x6e02a020, 0x396fa: 0x6e02a220, 0x396fb: 0x6e02a420, + 0x396fc: 0x6e02a620, 0x396fd: 0x6e02a820, 0x396fe: 0x6e02aa20, 0x396ff: 0x6e02ac20, + // Block 0xe5c, offset 0x39700 + 0x39700: 0x6e02ae20, 0x39701: 0x6e02b020, 0x39702: 0x6e143820, 0x39703: 0x6e143a20, + 0x39704: 0x6e143c20, 0x39705: 0x6e143e20, 0x39706: 0x6e144020, 0x39707: 0x6e144220, + 0x39708: 0x6e144420, 0x39709: 0x6e144620, 0x3970a: 0x6e144820, 0x3970b: 0x6e144a20, + 0x3970c: 0x6e144c20, 0x3970d: 0x6e144e20, 0x3970e: 0x6e145020, 0x3970f: 0x6e145220, + 0x39710: 0x6e145420, 0x39711: 0x6e21d820, 0x39712: 0x6e145620, 0x39713: 0x6e145820, + 0x39714: 0x6e145a20, 0x39715: 0x6e145c20, 0x39716: 0x6e145e20, 0x39717: 0x6e146020, + 0x39718: 0x6e146220, 0x39719: 0x6e146420, 0x3971a: 0x6e146620, 0x3971b: 0x6e146820, + 0x3971c: 0x6e21da20, 0x3971d: 0x6e21dc20, 0x3971e: 0x6e21de20, 0x3971f: 0x6e21e020, + 0x39720: 0x6e21e220, 0x39721: 0x6e21e420, 0x39722: 0x6e21e620, 0x39723: 0x6e21e820, + 0x39724: 0x6e21ea20, 0x39725: 0x6e21ec20, 0x39726: 0x6e21ee20, 0x39727: 0x6e21f020, + 0x39728: 0x6e21f220, 0x39729: 0x6e21f420, 0x3972a: 0x6e21f620, 0x3972b: 0x6e21f820, + 0x3972c: 0x6e21fa20, 0x3972d: 0x6e21fc20, 0x3972e: 0x6e21fe20, 0x3972f: 0x6e220020, + 0x39730: 0x6e220220, 0x39731: 0x6e220420, 0x39732: 0x6e220620, 0x39733: 0x6e220820, + 0x39734: 0x6e220a20, 0x39735: 0x6e220c20, 0x39736: 0x6e220e20, 0x39737: 0x6e221020, + 0x39738: 0x6e2c5a20, 0x39739: 0x6e2c5c20, 0x3973a: 0x6e2c5e20, 0x3973b: 0x6e2c6020, + 0x3973c: 0x6e2c6220, 0x3973d: 0x6e2c6420, 0x3973e: 0x6e2c6620, 0x3973f: 0x6e2c6820, + // Block 0xe5d, offset 0x39740 + 0x39740: 0x6e2c6a20, 0x39741: 0x6e2c6c20, 0x39742: 0x6e2c6e20, 0x39743: 0x6e2c7020, + 0x39744: 0x6e2c7220, 0x39745: 0x6e348a20, 0x39746: 0x6e348c20, 0x39747: 0x6e348e20, + 0x39748: 0x6e349020, 0x39749: 0x6e349220, 0x3974a: 0x6e349420, 0x3974b: 0x6e349620, + 0x3974c: 0x6e349820, 0x3974d: 0x6e349a20, 0x3974e: 0x6e349c20, 0x3974f: 0x6e349e20, + 0x39750: 0x6e34a020, 0x39751: 0x6e3a4220, 0x39752: 0x6e3a4420, 0x39753: 0x6e3a4620, + 0x39754: 0x6e3a4820, 0x39755: 0x6e3a4a20, 0x39756: 0x6e3a4c20, 0x39757: 0x6e3a4e20, + 0x39758: 0x6e3a5020, 0x39759: 0x6e3e3820, 0x3975a: 0x6e3e3a20, 0x3975b: 0x6e3e3c20, + 0x3975c: 0x6e3e3e20, 0x3975d: 0x6e3e4020, 0x3975e: 0x6e410a20, 0x3975f: 0x6e410c20, + 0x39760: 0x6e410e20, 0x39761: 0x6e411020, 0x39762: 0x6e431220, 0x39763: 0x6e431420, + 0x39764: 0x6e431620, 0x39765: 0x6e428c20, 0x39766: 0x6e431820, 0x39767: 0x6e431a20, + 0x39768: 0x6e448220, 0x39769: 0x6e472020, 0x3976a: 0x6c26d620, 0x3976b: 0x6c26e820, + 0x3976c: 0x6c86c820, 0x3976d: 0x6c86ca20, 0x3976e: 0x6c86cc20, 0x3976f: 0x6cb14620, + 0x39770: 0x6cb14820, 0x39771: 0x6cb14a20, 0x39772: 0x6cb14c20, 0x39773: 0x6ce04c20, + 0x39774: 0x6ce04e20, 0x39775: 0x6d0ec420, 0x39776: 0x6d0ec620, 0x39777: 0x6d0ec820, + 0x39778: 0x6d3d1a20, 0x39779: 0x6d3d1c20, 0x3977a: 0x6d698820, 0x3977b: 0x6d698a20, + 0x3977c: 0x6d698c20, 0x3977d: 0x6d698e20, 0x3977e: 0x6d699020, 0x3977f: 0x6d699220, + // Block 0xe5e, offset 0x39780 + 0x39780: 0x6d930020, 0x39781: 0x6d930220, 0x39782: 0x6d930420, 0x39783: 0x6d930620, + 0x39784: 0x6d930820, 0x39785: 0x6d930a20, 0x39786: 0x6db6a620, 0x39787: 0x6db6a820, + 0x39788: 0x6db6aa20, 0x39789: 0x6db6ac20, 0x3978a: 0x6dd50220, 0x3978b: 0x6dede620, + 0x3978c: 0x6dede820, 0x3978d: 0x6dedea20, 0x3978e: 0x6dedec20, 0x3978f: 0x6dedee20, + 0x39790: 0x6dedf020, 0x39791: 0x6dedf220, 0x39792: 0x6dedf420, 0x39793: 0x6e02b620, + 0x39794: 0x6e02b820, 0x39795: 0x6e146c20, 0x39796: 0x6e146e20, 0x39797: 0x6e3a5220, + 0x39798: 0x6e411220, 0x39799: 0x6e45da20, 0x3979a: 0x6c60c220, 0x3979b: 0x6c86d220, + 0x3979c: 0x6c86d420, 0x3979d: 0x6c86d620, 0x3979e: 0x6cb15420, 0x3979f: 0x6cb15620, + 0x397a0: 0x6ce05220, 0x397a1: 0x6ce05420, 0x397a2: 0x6ce05620, 0x397a3: 0x6ce05820, + 0x397a4: 0x6ce05a20, 0x397a5: 0x6d0ed020, 0x397a6: 0x6d0ed220, 0x397a7: 0x6cee2c20, + 0x397a8: 0x6d0ed420, 0x397a9: 0x6d3d2420, 0x397aa: 0x6d3d2620, 0x397ab: 0x6d3d2820, + 0x397ac: 0x6d3d2a20, 0x397ad: 0x6d699e20, 0x397ae: 0x6d69a020, 0x397af: 0x6d69a220, + 0x397b0: 0x6d69a420, 0x397b1: 0x6d69a620, 0x397b2: 0x6d69a820, 0x397b3: 0x6d69aa20, + 0x397b4: 0x6d69ac20, 0x397b5: 0x6d69ae20, 0x397b6: 0x6d69b020, 0x397b7: 0x6d931620, + 0x397b8: 0x6d931820, 0x397b9: 0x6d931a20, 0x397ba: 0x6d931c20, 0x397bb: 0x6d931e20, + 0x397bc: 0x6db6b620, 0x397bd: 0x6db6b820, 0x397be: 0x6db6ba20, 0x397bf: 0x6db6bc20, + // Block 0xe5f, offset 0x397c0 + 0x397c0: 0x6db6be20, 0x397c1: 0x6db6c020, 0x397c2: 0x6db6c220, 0x397c3: 0x6dd50820, + 0x397c4: 0x6dd50a20, 0x397c5: 0x6dd50c20, 0x397c6: 0x6dd50e20, 0x397c7: 0x6dd51020, + 0x397c8: 0x6db6c420, 0x397c9: 0x6dedf620, 0x397ca: 0x6dedf820, 0x397cb: 0x6dedfa20, + 0x397cc: 0x6dedfc20, 0x397cd: 0x6dedfe20, 0x397ce: 0x6dee0020, 0x397cf: 0x6dee0220, + 0x397d0: 0x6dee0420, 0x397d1: 0x6e02bc20, 0x397d2: 0x6e02be20, 0x397d3: 0x6e02c020, + 0x397d4: 0x6e02c220, 0x397d5: 0x6e02c420, 0x397d6: 0x6e02c620, 0x397d7: 0x6e147220, + 0x397d8: 0x6e147420, 0x397d9: 0x6e221a20, 0x397da: 0x6e221c20, 0x397db: 0x6e221e20, + 0x397dc: 0x6e222020, 0x397dd: 0x6e2c7a20, 0x397de: 0x6e2c7c20, 0x397df: 0x6e2c7e20, + 0x397e0: 0x6e34a820, 0x397e1: 0x6e3a5820, 0x397e2: 0x6e3a5a20, 0x397e3: 0x6e411620, + 0x397e4: 0x6e411820, 0x397e5: 0x6e448420, 0x397e6: 0x6c40ba20, 0x397e7: 0x6c26ee20, + 0x397e8: 0x6c26f020, 0x397e9: 0x6c60c420, 0x397ea: 0x6c86dc20, 0x397eb: 0x6c86de20, + 0x397ec: 0x6c86e020, 0x397ed: 0x6c86e220, 0x397ee: 0x6cb16820, 0x397ef: 0x6cb16a20, + 0x397f0: 0x6cb16c20, 0x397f1: 0x6cb16e20, 0x397f2: 0x6cb17020, 0x397f3: 0x6cb17220, + 0x397f4: 0x6cb17420, 0x397f5: 0x6ce06620, 0x397f6: 0x6ce06820, 0x397f7: 0x6ce06a20, + 0x397f8: 0x6ce06c20, 0x397f9: 0x6ce06e20, 0x397fa: 0x6ce07020, 0x397fb: 0x6ce07220, + 0x397fc: 0x6ce07420, 0x397fd: 0x6ce07620, 0x397fe: 0x6ce07820, 0x397ff: 0x6d0ee220, + // Block 0xe60, offset 0x39800 + 0x39800: 0x6d0ee420, 0x39801: 0x6d0ee620, 0x39802: 0x6d0ee820, 0x39803: 0x6d0eea20, + 0x39804: 0x6d0eec20, 0x39805: 0x6d0eee20, 0x39806: 0x6d0ef020, 0x39807: 0x6d0ef220, + 0x39808: 0x6d0ef420, 0x39809: 0x6d0ef620, 0x3980a: 0x6d0ef820, 0x3980b: 0x6d0efa20, + 0x3980c: 0x6d0efc20, 0x3980d: 0x6d3d3420, 0x3980e: 0x6d3d3620, 0x3980f: 0x6d3d3820, + 0x39810: 0x6d3d3a20, 0x39811: 0x6d3d3c20, 0x39812: 0x6d3d3e20, 0x39813: 0x6d3d4020, + 0x39814: 0x6d3d4220, 0x39815: 0x6d3d4420, 0x39816: 0x6d3d4620, 0x39817: 0x6d3d4820, + 0x39818: 0x6d69ba20, 0x39819: 0x6d69bc20, 0x3981a: 0x6d69be20, 0x3981b: 0x6d69c020, + 0x3981c: 0x6d69c220, 0x3981d: 0x6d69c420, 0x3981e: 0x6d69c620, 0x3981f: 0x6d69c820, + 0x39820: 0x6d69ca20, 0x39821: 0x6d69cc20, 0x39822: 0x6d69ce20, 0x39823: 0x6d69d020, + 0x39824: 0x6d69d220, 0x39825: 0x6d69d420, 0x39826: 0x6d69d620, 0x39827: 0x6d69d820, + 0x39828: 0x6d932a20, 0x39829: 0x6d932c20, 0x3982a: 0x6d932e20, 0x3982b: 0x6d933020, + 0x3982c: 0x6d933220, 0x3982d: 0x6d933420, 0x3982e: 0x6d933620, 0x3982f: 0x6d933820, + 0x39830: 0x6d933a20, 0x39831: 0x6d933c20, 0x39832: 0x6db6d020, 0x39833: 0x6db6d220, + 0x39834: 0x6db6d420, 0x39835: 0x6db6d620, 0x39836: 0x6db6d820, 0x39837: 0x6db6da20, + 0x39838: 0x6db6dc20, 0x39839: 0x6db6de20, 0x3983a: 0x6db6e020, 0x3983b: 0x6dd51a20, + 0x3983c: 0x6dd51c20, 0x3983d: 0x6dd51e20, 0x3983e: 0x6dd52020, 0x3983f: 0x6dd52220, + // Block 0xe61, offset 0x39840 + 0x39840: 0x6dd52420, 0x39841: 0x6dd52620, 0x39842: 0x6dee0c20, 0x39843: 0x6dee0e20, + 0x39844: 0x6dee1020, 0x39845: 0x6dee1220, 0x39846: 0x6dee1420, 0x39847: 0x6e02c820, + 0x39848: 0x6e02ca20, 0x39849: 0x6e02cc20, 0x3984a: 0x6e02ce20, 0x3984b: 0x6e02d020, + 0x3984c: 0x6e147820, 0x3984d: 0x6e147a20, 0x3984e: 0x6e147c20, 0x3984f: 0x6e147e20, + 0x39850: 0x6e222420, 0x39851: 0x6e222620, 0x39852: 0x6e222820, 0x39853: 0x6e222a20, + 0x39854: 0x6e2c8020, 0x39855: 0x6e2c8220, 0x39856: 0x6e2c8420, 0x39857: 0x6e222c20, + 0x39858: 0x6e34aa20, 0x39859: 0x6e34ac20, 0x3985a: 0x6e3a6020, 0x3985b: 0x6e3a6220, + 0x3985c: 0x6e3a6420, 0x3985d: 0x6e411a20, 0x3985e: 0x6e448620, 0x3985f: 0x6e46ec20, + 0x39860: 0x6c40be20, 0x39861: 0x6c60c620, 0x39862: 0x6c86ea20, 0x39863: 0x6c86ec20, + 0x39864: 0x6cb18420, 0x39865: 0x6cb18620, 0x39866: 0x6cb18820, 0x39867: 0x6cb18a20, + 0x39868: 0x6cb18c20, 0x39869: 0x6cb18e20, 0x3986a: 0x6cb19020, 0x3986b: 0x6cb19220, + 0x3986c: 0x6ce08a20, 0x3986d: 0x6ce08c20, 0x3986e: 0x6ce08e20, 0x3986f: 0x6ce09020, + 0x39870: 0x6ce09220, 0x39871: 0x6ce09420, 0x39872: 0x6ce09620, 0x39873: 0x6ce09820, + 0x39874: 0x6ce09a20, 0x39875: 0x6ce09c20, 0x39876: 0x6ce09e20, 0x39877: 0x6ce0a020, + 0x39878: 0x6ce0a220, 0x39879: 0x6ce0a420, 0x3987a: 0x6ce0a620, 0x3987b: 0x6ce0a820, + 0x3987c: 0x6ce0aa20, 0x3987d: 0x6ce0ac20, 0x3987e: 0x6d0f0c20, 0x3987f: 0x6d0f0e20, + // Block 0xe62, offset 0x39880 + 0x39880: 0x6d0f1020, 0x39881: 0x6d0f1220, 0x39882: 0x6d0f1420, 0x39883: 0x6d0f1620, + 0x39884: 0x6d0f1820, 0x39885: 0x6d0f1a20, 0x39886: 0x6d0f1c20, 0x39887: 0x6d0f1e20, + 0x39888: 0x6d0f2020, 0x39889: 0x6d0f2220, 0x3988a: 0x6d3d5620, 0x3988b: 0x6d3d5820, + 0x3988c: 0x6d3d5a20, 0x3988d: 0x6d3d5c20, 0x3988e: 0x6d3d5e20, 0x3988f: 0x6d3d6020, + 0x39890: 0x6d3d6220, 0x39891: 0x6d3d6420, 0x39892: 0x6d3d6620, 0x39893: 0x6d3d6820, + 0x39894: 0x6d3d6a20, 0x39895: 0x6d3d6c20, 0x39896: 0x6d3d6e20, 0x39897: 0x6d3d7020, + 0x39898: 0x6d3d7220, 0x39899: 0x6d69e420, 0x3989a: 0x6d69e620, 0x3989b: 0x6d69e820, + 0x3989c: 0x6d69ea20, 0x3989d: 0x6d69ec20, 0x3989e: 0x6d69ee20, 0x3989f: 0x6d69f020, + 0x398a0: 0x6d69f220, 0x398a1: 0x6d69f420, 0x398a2: 0x6d69f620, 0x398a3: 0x6d69f820, + 0x398a4: 0x6d69fa20, 0x398a5: 0x6d69fc20, 0x398a6: 0x6d934a20, 0x398a7: 0x6d934c20, + 0x398a8: 0x6d934e20, 0x398a9: 0x6d935020, 0x398aa: 0x6d935220, 0x398ab: 0x6d935420, + 0x398ac: 0x6d935620, 0x398ad: 0x6d935820, 0x398ae: 0x6d935a20, 0x398af: 0x6d935c20, + 0x398b0: 0x6d935e20, 0x398b1: 0x6d69fe20, 0x398b2: 0x6d936020, 0x398b3: 0x6d936220, + 0x398b4: 0x6d936420, 0x398b5: 0x6db6ea20, 0x398b6: 0x6db6ec20, 0x398b7: 0x6db6ee20, + 0x398b8: 0x6db6f020, 0x398b9: 0x6db6f220, 0x398ba: 0x6db6f420, 0x398bb: 0x6db6f620, + 0x398bc: 0x6db6f820, 0x398bd: 0x6db6fa20, 0x398be: 0x6db6fc20, 0x398bf: 0x6db6fe20, + // Block 0xe63, offset 0x398c0 + 0x398c0: 0x6db70020, 0x398c1: 0x6dd53220, 0x398c2: 0x6dd53420, 0x398c3: 0x6dd53620, + 0x398c4: 0x6dd53820, 0x398c5: 0x6dd53a20, 0x398c6: 0x6dee2220, 0x398c7: 0x6dd53c20, + 0x398c8: 0x6dd53e20, 0x398c9: 0x6dd54020, 0x398ca: 0x6dd54220, 0x398cb: 0x6dd54420, + 0x398cc: 0x6dee2420, 0x398cd: 0x6dee2620, 0x398ce: 0x6dee2820, 0x398cf: 0x6dee2a20, + 0x398d0: 0x6e02d220, 0x398d1: 0x6dee2c20, 0x398d2: 0x6dee2e20, 0x398d3: 0x6dee3020, + 0x398d4: 0x6dee3220, 0x398d5: 0x6dee3420, 0x398d6: 0x6e02d420, 0x398d7: 0x6e02d620, + 0x398d8: 0x6e02d820, 0x398d9: 0x6e02da20, 0x398da: 0x6e02dc20, 0x398db: 0x6e02de20, + 0x398dc: 0x6e02e020, 0x398dd: 0x6e148020, 0x398de: 0x6e148220, 0x398df: 0x6e222e20, + 0x398e0: 0x6e2c8620, 0x398e1: 0x6e2c8820, 0x398e2: 0x6e34ae20, 0x398e3: 0x6e411e20, + 0x398e4: 0x6c60ce20, 0x398e5: 0x6c60d020, 0x398e6: 0x6c60d220, 0x398e7: 0x6c60d420, + 0x398e8: 0x6c60d620, 0x398e9: 0x6c60d820, 0x398ea: 0x6c86f820, 0x398eb: 0x6c86fa20, + 0x398ec: 0x6c86fc20, 0x398ed: 0x6c86fe20, 0x398ee: 0x6c870020, 0x398ef: 0x6c870220, + 0x398f0: 0x6c870420, 0x398f1: 0x6c870620, 0x398f2: 0x6c870820, 0x398f3: 0x6cb1ac20, + 0x398f4: 0x6cb1ae20, 0x398f5: 0x6cb1b020, 0x398f6: 0x6cb1b220, 0x398f7: 0x6cb1b420, + 0x398f8: 0x6cb1b620, 0x398f9: 0x6cb1b820, 0x398fa: 0x6cb1ba20, 0x398fb: 0x6cb1bc20, + 0x398fc: 0x6cb1be20, 0x398fd: 0x6cb1c020, 0x398fe: 0x6cb1c220, 0x398ff: 0x6cb1c420, + // Block 0xe64, offset 0x39900 + 0x39900: 0x6cb1c620, 0x39901: 0x6cb1c820, 0x39902: 0x6cb1ca20, 0x39903: 0x6cb1cc20, + 0x39904: 0x6cb1ce20, 0x39905: 0x6cb1d020, 0x39906: 0x6cb1d220, 0x39907: 0x6cb1d420, + 0x39908: 0x6cb1d620, 0x39909: 0x6ce0e020, 0x3990a: 0x6ce0e220, 0x3990b: 0x6ce0e420, + 0x3990c: 0x6ce0e620, 0x3990d: 0x6ce0e820, 0x3990e: 0x6ce0ea20, 0x3990f: 0x6ce0ec20, + 0x39910: 0x6ce0ee20, 0x39911: 0x6ce0f020, 0x39912: 0x6ce0f220, 0x39913: 0x6ce0f420, + 0x39914: 0x6ce0f620, 0x39915: 0x6ce0f820, 0x39916: 0x6ce0fa20, 0x39917: 0x6ce0fc20, + 0x39918: 0x6ce0fe20, 0x39919: 0x6ce10020, 0x3991a: 0x6ce10220, 0x3991b: 0x6ce10420, + 0x3991c: 0x6ce10620, 0x3991d: 0x6ce10820, 0x3991e: 0x6ce10a20, 0x3991f: 0x6ce10c20, + 0x39920: 0x6ce10e20, 0x39921: 0x6ce11020, 0x39922: 0x6ce11220, 0x39923: 0x6d0f4a20, + 0x39924: 0x6d0f4c20, 0x39925: 0x6d0f4e20, 0x39926: 0x6d0f5020, 0x39927: 0x6d0f5220, + 0x39928: 0x6d0f5420, 0x39929: 0x6d0f5620, 0x3992a: 0x6d0f5820, 0x3992b: 0x6d0f5a20, + 0x3992c: 0x6d0f5c20, 0x3992d: 0x6d0f5e20, 0x3992e: 0x6d0f6020, 0x3992f: 0x6d0f6220, + 0x39930: 0x6d0f6420, 0x39931: 0x6d0f6620, 0x39932: 0x6d0f6820, 0x39933: 0x6d0f6a20, + 0x39934: 0x6d0f6c20, 0x39935: 0x6d0f6e20, 0x39936: 0x6d0f7020, 0x39937: 0x6d0f7220, + 0x39938: 0x6d0f7420, 0x39939: 0x6d0f7620, 0x3993a: 0x6d0f7820, 0x3993b: 0x6d0f7a20, + 0x3993c: 0x6d0f7c20, 0x3993d: 0x6d0f7e20, 0x3993e: 0x6d0f8020, 0x3993f: 0x6d0f8220, + // Block 0xe65, offset 0x39940 + 0x39940: 0x6d0f8420, 0x39941: 0x6d0f8620, 0x39942: 0x6d0f8820, 0x39943: 0x6d0f8a20, + 0x39944: 0x6d0f8c20, 0x39945: 0x6d3d9020, 0x39946: 0x6d3d9220, 0x39947: 0x6d3d9420, + 0x39948: 0x6d3d9620, 0x39949: 0x6d3d9820, 0x3994a: 0x6d3d9a20, 0x3994b: 0x6d3d9c20, + 0x3994c: 0x6d3d9e20, 0x3994d: 0x6d3da020, 0x3994e: 0x6d3da220, 0x3994f: 0x6d3da420, + 0x39950: 0x6d3da620, 0x39951: 0x6d3da820, 0x39952: 0x6d3daa20, 0x39953: 0x6d3dac20, + 0x39954: 0x6d3dae20, 0x39955: 0x6d3db020, 0x39956: 0x6d3db220, 0x39957: 0x6d3db420, + 0x39958: 0x6d3db620, 0x39959: 0x6d3db820, 0x3995a: 0x6d3dba20, 0x3995b: 0x6d6a3c20, + 0x3995c: 0x6d6a3e20, 0x3995d: 0x6d6a4020, 0x3995e: 0x6d6a4220, 0x3995f: 0x6d6a4420, + 0x39960: 0x6d6a4620, 0x39961: 0x6d6a4820, 0x39962: 0x6d6a4a20, 0x39963: 0x6d6a4c20, + 0x39964: 0x6d6a4e20, 0x39965: 0x6d6a5020, 0x39966: 0x6d6a5220, 0x39967: 0x6d6a5420, + 0x39968: 0x6d6a5620, 0x39969: 0x6d6a5820, 0x3996a: 0x6d6a5a20, 0x3996b: 0x6d6a5c20, + 0x3996c: 0x6d6a5e20, 0x3996d: 0x6d6a6020, 0x3996e: 0x6d6a6220, 0x3996f: 0x6d6a6420, + 0x39970: 0x6d6a6620, 0x39971: 0x6d938420, 0x39972: 0x6d938620, 0x39973: 0x6d938820, + 0x39974: 0x6d938a20, 0x39975: 0x6d938c20, 0x39976: 0x6d938e20, 0x39977: 0x6d939020, + 0x39978: 0x6d939220, 0x39979: 0x6d939420, 0x3997a: 0x6d939620, 0x3997b: 0x6d939820, + 0x3997c: 0x6d939a20, 0x3997d: 0x6d939c20, 0x3997e: 0x6d939e20, 0x3997f: 0x6d93a020, + // Block 0xe66, offset 0x39980 + 0x39980: 0x6d93a220, 0x39981: 0x6d93a420, 0x39982: 0x6d93a620, 0x39983: 0x6d93a820, + 0x39984: 0x6d93aa20, 0x39985: 0x6db02a20, 0x39986: 0x6d93ac20, 0x39987: 0x6d93ae20, + 0x39988: 0x6d93b020, 0x39989: 0x6d93b220, 0x3998a: 0x6d93b420, 0x3998b: 0x6d93b620, + 0x3998c: 0x6db71820, 0x3998d: 0x6db71a20, 0x3998e: 0x6db71c20, 0x3998f: 0x6db71e20, + 0x39990: 0x6db72020, 0x39991: 0x6db72220, 0x39992: 0x6db72420, 0x39993: 0x6db72620, + 0x39994: 0x6db72820, 0x39995: 0x6db72a20, 0x39996: 0x6db72c20, 0x39997: 0x6db72e20, + 0x39998: 0x6db73020, 0x39999: 0x6db73220, 0x3999a: 0x6db73420, 0x3999b: 0x6db73620, + 0x3999c: 0x6db73820, 0x3999d: 0x6db73a20, 0x3999e: 0x6dd55620, 0x3999f: 0x6dd55820, + 0x399a0: 0x6dd55a20, 0x399a1: 0x6dd55c20, 0x399a2: 0x6dd55e20, 0x399a3: 0x6dd56020, + 0x399a4: 0x6dd56220, 0x399a5: 0x6dd56420, 0x399a6: 0x6dd56620, 0x399a7: 0x6dd56820, + 0x399a8: 0x6dd56a20, 0x399a9: 0x6dd56c20, 0x399aa: 0x6dd56e20, 0x399ab: 0x6dd57020, + 0x399ac: 0x6dd57220, 0x399ad: 0x6dd57420, 0x399ae: 0x6dd57620, 0x399af: 0x6dd57820, + 0x399b0: 0x6dd57a20, 0x399b1: 0x6dd57c20, 0x399b2: 0x6dd57e20, 0x399b3: 0x6dd58020, + 0x399b4: 0x6dd58220, 0x399b5: 0x6dd58420, 0x399b6: 0x6dd58620, 0x399b7: 0x6dd58820, + 0x399b8: 0x6dd58a20, 0x399b9: 0x6dd58c20, 0x399ba: 0x6dd58e20, 0x399bb: 0x6dd59020, + 0x399bc: 0x6dee4620, 0x399bd: 0x6dee4820, 0x399be: 0x6dee4a20, 0x399bf: 0x6dee4c20, + // Block 0xe67, offset 0x399c0 + 0x399c0: 0x6dee4e20, 0x399c1: 0x6dee5020, 0x399c2: 0x6dee5220, 0x399c3: 0x6dee5420, + 0x399c4: 0x6dee5620, 0x399c5: 0x6dee5820, 0x399c6: 0x6dee5a20, 0x399c7: 0x6dee5c20, + 0x399c8: 0x6dee5e20, 0x399c9: 0x6dee6020, 0x399ca: 0x6dee6220, 0x399cb: 0x6dee6420, + 0x399cc: 0x6dee6620, 0x399cd: 0x6dee6820, 0x399ce: 0x6dee6a20, 0x399cf: 0x6dee6c20, + 0x399d0: 0x6dee6e20, 0x399d1: 0x6dee7020, 0x399d2: 0x6dee7220, 0x399d3: 0x6dee7420, + 0x399d4: 0x6dee7620, 0x399d5: 0x6dee7820, 0x399d6: 0x6e02ea20, 0x399d7: 0x6e02ec20, + 0x399d8: 0x6e02ee20, 0x399d9: 0x6e02f020, 0x399da: 0x6e02f220, 0x399db: 0x6e02f420, + 0x399dc: 0x6e02f620, 0x399dd: 0x6e02f820, 0x399de: 0x6e02fa20, 0x399df: 0x6e02fc20, + 0x399e0: 0x6e02fe20, 0x399e1: 0x6e030020, 0x399e2: 0x6e030220, 0x399e3: 0x6e030420, + 0x399e4: 0x6e030620, 0x399e5: 0x6e030820, 0x399e6: 0x6e148e20, 0x399e7: 0x6e149020, + 0x399e8: 0x6e149220, 0x399e9: 0x6e149420, 0x399ea: 0x6e149620, 0x399eb: 0x6e149820, + 0x399ec: 0x6e149a20, 0x399ed: 0x6e149c20, 0x399ee: 0x6e149e20, 0x399ef: 0x6e14a020, + 0x399f0: 0x6e14a220, 0x399f1: 0x6e223a20, 0x399f2: 0x6e223c20, 0x399f3: 0x6e223e20, + 0x399f4: 0x6e224020, 0x399f5: 0x6e224220, 0x399f6: 0x6e224420, 0x399f7: 0x6e224620, + 0x399f8: 0x6e224820, 0x399f9: 0x6e224a20, 0x399fa: 0x6e224c20, 0x399fb: 0x6e224e20, + 0x399fc: 0x6e225020, 0x399fd: 0x6e2c9020, 0x399fe: 0x6e2c9220, 0x399ff: 0x6e225220, + // Block 0xe68, offset 0x39a00 + 0x39a00: 0x6e2c9420, 0x39a01: 0x6e2c9620, 0x39a02: 0x6e2c9820, 0x39a03: 0x6e2c9a20, + 0x39a04: 0x6e2c9c20, 0x39a05: 0x6e2c9e20, 0x39a06: 0x6e2ca020, 0x39a07: 0x6e2ca220, + 0x39a08: 0x6e34b220, 0x39a09: 0x6e34b420, 0x39a0a: 0x6e34b620, 0x39a0b: 0x6e34b820, + 0x39a0c: 0x6e3a6a20, 0x39a0d: 0x6e3a6c20, 0x39a0e: 0x6e3e4420, 0x39a0f: 0x6e3e4620, + 0x39a10: 0x6e3e4820, 0x39a11: 0x6c40da20, 0x39a12: 0x6c60f420, 0x39a13: 0x6cb1e420, + 0x39a14: 0x6ce12e20, 0x39a15: 0x6ce13020, 0x39a16: 0x6ce13220, 0x39a17: 0x6d6a7420, + 0x39a18: 0x6c40dc20, 0x39a19: 0x6c60fa20, 0x39a1a: 0x6c60fc20, 0x39a1b: 0x6cb1ee20, + 0x39a1c: 0x6cb1f020, 0x39a1d: 0x6ce13620, 0x39a1e: 0x6ce13820, 0x39a1f: 0x6ce13a20, + 0x39a20: 0x6d0fa020, 0x39a21: 0x6d0fa220, 0x39a22: 0x6d0fa420, 0x39a23: 0x6d3dd020, + 0x39a24: 0x6d3dd220, 0x39a25: 0x6d3dd420, 0x39a26: 0x6d3dd620, 0x39a27: 0x6d6a7620, + 0x39a28: 0x6d6a7820, 0x39a29: 0x6d6a7a20, 0x39a2a: 0x6d6a7c20, 0x39a2b: 0x6d6a7e20, + 0x39a2c: 0x6d93d020, 0x39a2d: 0x6d93d220, 0x39a2e: 0x6d93d420, 0x39a2f: 0x6d93d620, + 0x39a30: 0x6d93d820, 0x39a31: 0x6d93da20, 0x39a32: 0x6db74620, 0x39a33: 0x6db74820, + 0x39a34: 0x6db74a20, 0x39a35: 0x6db74c20, 0x39a36: 0x6dd59620, 0x39a37: 0x6dd59820, + 0x39a38: 0x6dee7c20, 0x39a39: 0x6dee7e20, 0x39a3a: 0x6dee8020, 0x39a3b: 0x6dee8220, + 0x39a3c: 0x6dee8420, 0x39a3d: 0x6e14a820, 0x39a3e: 0x6e14aa20, 0x39a3f: 0x6e14ac20, + // Block 0xe69, offset 0x39a40 + 0x39a40: 0x6e225820, 0x39a41: 0x6e225a20, 0x39a42: 0x6e2ca620, 0x39a43: 0x6e2ca820, + 0x39a44: 0x6e2caa20, 0x39a45: 0x6e2cac20, 0x39a46: 0x6c26fe20, 0x39a47: 0x6c40de20, + 0x39a48: 0x6c610820, 0x39a49: 0x6c610a20, 0x39a4a: 0x6c610c20, 0x39a4b: 0x6c610e20, + 0x39a4c: 0x6c611020, 0x39a4d: 0x6c611220, 0x39a4e: 0x6c611420, 0x39a4f: 0x6c873420, + 0x39a50: 0x6c873620, 0x39a51: 0x6c873820, 0x39a52: 0x6c873a20, 0x39a53: 0x6c873c20, + 0x39a54: 0x6c873e20, 0x39a55: 0x6c874020, 0x39a56: 0x6c874220, 0x39a57: 0x6c874420, + 0x39a58: 0x6c874620, 0x39a59: 0x6c874820, 0x39a5a: 0x6c874a20, 0x39a5b: 0x6c874c20, + 0x39a5c: 0x6c874e20, 0x39a5d: 0x6cb20a20, 0x39a5e: 0x6cb20c20, 0x39a5f: 0x6cb20e20, + 0x39a60: 0x6cb21020, 0x39a61: 0x6cb21220, 0x39a62: 0x6cb21420, 0x39a63: 0x6cb21620, + 0x39a64: 0x6cb21820, 0x39a65: 0x6cb21a20, 0x39a66: 0x6cb21c20, 0x39a67: 0x6cb21e20, + 0x39a68: 0x6cb22020, 0x39a69: 0x6cb22220, 0x39a6a: 0x6cb22420, 0x39a6b: 0x6cb22620, + 0x39a6c: 0x6cb22820, 0x39a6d: 0x6cb22a20, 0x39a6e: 0x6cb22c20, 0x39a6f: 0x6cb22e20, + 0x39a70: 0x6cb23020, 0x39a71: 0x6cb23220, 0x39a72: 0x6cb23420, 0x39a73: 0x6cb23620, + 0x39a74: 0x6cb23820, 0x39a75: 0x6cb23a20, 0x39a76: 0x6ce16620, 0x39a77: 0x6ce16820, + 0x39a78: 0x6ce16a20, 0x39a79: 0x6ce16c20, 0x39a7a: 0x6ce16e20, 0x39a7b: 0x6ce17020, + 0x39a7c: 0x6ce17220, 0x39a7d: 0x6ce17420, 0x39a7e: 0x6ce17620, 0x39a7f: 0x6ce17820, + // Block 0xe6a, offset 0x39a80 + 0x39a80: 0x6ce17a20, 0x39a81: 0x6ce17c20, 0x39a82: 0x6ce17e20, 0x39a83: 0x6ce18020, + 0x39a84: 0x6ce18220, 0x39a85: 0x6ce18420, 0x39a86: 0x6ce18620, 0x39a87: 0x6ce18820, + 0x39a88: 0x6ce18a20, 0x39a89: 0x6ce18c20, 0x39a8a: 0x6ce18e20, 0x39a8b: 0x6ce19020, + 0x39a8c: 0x6ce19220, 0x39a8d: 0x6ce19420, 0x39a8e: 0x6ce19620, 0x39a8f: 0x6ce19820, + 0x39a90: 0x6d0fc620, 0x39a91: 0x6d0fc820, 0x39a92: 0x6d0fca20, 0x39a93: 0x6d0fcc20, + 0x39a94: 0x6d0fce20, 0x39a95: 0x6d0fd020, 0x39a96: 0x6d0fd220, 0x39a97: 0x6d0fd420, + 0x39a98: 0x6d0fd620, 0x39a99: 0x6d0fd820, 0x39a9a: 0x6d0fda20, 0x39a9b: 0x6d0fdc20, + 0x39a9c: 0x6d0fde20, 0x39a9d: 0x6d0fe020, 0x39a9e: 0x6d0fe220, 0x39a9f: 0x6d0fe420, + 0x39aa0: 0x6d0fe620, 0x39aa1: 0x6d0fe820, 0x39aa2: 0x6d0fea20, 0x39aa3: 0x6d0fec20, + 0x39aa4: 0x6d0fee20, 0x39aa5: 0x6d0ff020, 0x39aa6: 0x6d0ff220, 0x39aa7: 0x6d0ff420, + 0x39aa8: 0x6d0ff620, 0x39aa9: 0x6d0ff820, 0x39aaa: 0x6d0ffa20, 0x39aab: 0x6d0ffc20, + 0x39aac: 0x6d0ffe20, 0x39aad: 0x6d100020, 0x39aae: 0x6d100220, 0x39aaf: 0x6d3df420, + 0x39ab0: 0x6d3df620, 0x39ab1: 0x6d3df820, 0x39ab2: 0x6d3dfa20, 0x39ab3: 0x6d3dfc20, + 0x39ab4: 0x6d3dfe20, 0x39ab5: 0x6d3e0020, 0x39ab6: 0x6d3e0220, 0x39ab7: 0x6d3e0420, + 0x39ab8: 0x6d3e0620, 0x39ab9: 0x6d3e0820, 0x39aba: 0x6d3e0a20, 0x39abb: 0x6d3e0c20, + 0x39abc: 0x6d3e0e20, 0x39abd: 0x6d3e1020, 0x39abe: 0x6d3e1220, 0x39abf: 0x6d3e1420, + // Block 0xe6b, offset 0x39ac0 + 0x39ac0: 0x6d3e1620, 0x39ac1: 0x6d3e1820, 0x39ac2: 0x6d3e1a20, 0x39ac3: 0x6d3e1c20, + 0x39ac4: 0x6d3e1e20, 0x39ac5: 0x6d3e2020, 0x39ac6: 0x6d3e2220, 0x39ac7: 0x6d3e2420, + 0x39ac8: 0x6d3e2620, 0x39ac9: 0x6d3e2820, 0x39aca: 0x6d3e2a20, 0x39acb: 0x6d3e2c20, + 0x39acc: 0x6d3e2e20, 0x39acd: 0x6d3e3020, 0x39ace: 0x6d6aa420, 0x39acf: 0x6d6aa620, + 0x39ad0: 0x6d6aa820, 0x39ad1: 0x6d6aaa20, 0x39ad2: 0x6d6aac20, 0x39ad3: 0x6d6aae20, + 0x39ad4: 0x6d6ab020, 0x39ad5: 0x6d6ab220, 0x39ad6: 0x6d6ab420, 0x39ad7: 0x6d6ab620, + 0x39ad8: 0x6d6ab820, 0x39ad9: 0x6d6aba20, 0x39ada: 0x6d6abc20, 0x39adb: 0x6d6abe20, + 0x39adc: 0x6d6ac020, 0x39add: 0x6d3e3220, 0x39ade: 0x6d6ac220, 0x39adf: 0x6d93ea20, + 0x39ae0: 0x6d6ac420, 0x39ae1: 0x6d6ac620, 0x39ae2: 0x6d6ac820, 0x39ae3: 0x6d6aca20, + 0x39ae4: 0x6d6acc20, 0x39ae5: 0x6d6ace20, 0x39ae6: 0x6d6ad020, 0x39ae7: 0x6d6ad220, + 0x39ae8: 0x6d93ec20, 0x39ae9: 0x6d93ee20, 0x39aea: 0x6d93f020, 0x39aeb: 0x6d93f220, + 0x39aec: 0x6d93f420, 0x39aed: 0x6d93f620, 0x39aee: 0x6d93f820, 0x39aef: 0x6d93fa20, + 0x39af0: 0x6d93fc20, 0x39af1: 0x6d93fe20, 0x39af2: 0x6d940020, 0x39af3: 0x6d940220, + 0x39af4: 0x6d940420, 0x39af5: 0x6d940620, 0x39af6: 0x6d940820, 0x39af7: 0x6d940a20, + 0x39af8: 0x6d940c20, 0x39af9: 0x6d940e20, 0x39afa: 0x6d941020, 0x39afb: 0x6d941220, + 0x39afc: 0x6d941420, 0x39afd: 0x6d941620, 0x39afe: 0x6d941820, 0x39aff: 0x6d941a20, + // Block 0xe6c, offset 0x39b00 + 0x39b00: 0x6d941c20, 0x39b01: 0x6d941e20, 0x39b02: 0x6d942020, 0x39b03: 0x6d942220, + 0x39b04: 0x6d942420, 0x39b05: 0x6d942620, 0x39b06: 0x6d942820, 0x39b07: 0x6d942a20, + 0x39b08: 0x6d942c20, 0x39b09: 0x6db75820, 0x39b0a: 0x6db75a20, 0x39b0b: 0x6db75c20, + 0x39b0c: 0x6db75e20, 0x39b0d: 0x6db76020, 0x39b0e: 0x6db76220, 0x39b0f: 0x6db76420, + 0x39b10: 0x6db76620, 0x39b11: 0x6db76820, 0x39b12: 0x6db76a20, 0x39b13: 0x6db76c20, + 0x39b14: 0x6db76e20, 0x39b15: 0x6db77020, 0x39b16: 0x6db77220, 0x39b17: 0x6db77420, + 0x39b18: 0x6db77620, 0x39b19: 0x6db77820, 0x39b1a: 0x6db77a20, 0x39b1b: 0x6db77c20, + 0x39b1c: 0x6db77e20, 0x39b1d: 0x6db78020, 0x39b1e: 0x6dd5a820, 0x39b1f: 0x6dd5aa20, + 0x39b20: 0x6dd5ac20, 0x39b21: 0x6dd5ae20, 0x39b22: 0x6dd5b020, 0x39b23: 0x6dd5b220, + 0x39b24: 0x6dd5b420, 0x39b25: 0x6dd5b620, 0x39b26: 0x6dd5b820, 0x39b27: 0x6dd5ba20, + 0x39b28: 0x6dd5bc20, 0x39b29: 0x6dd5be20, 0x39b2a: 0x6dd5c020, 0x39b2b: 0x6dd5c220, + 0x39b2c: 0x6dd5c420, 0x39b2d: 0x6dd5c620, 0x39b2e: 0x6dd5c820, 0x39b2f: 0x6dd5ca20, + 0x39b30: 0x6dd5cc20, 0x39b31: 0x6dd5ce20, 0x39b32: 0x6dd5d020, 0x39b33: 0x6dd5d220, + 0x39b34: 0x6dd5d420, 0x39b35: 0x6dd5d620, 0x39b36: 0x6dee9020, 0x39b37: 0x6dee9220, + 0x39b38: 0x6dee9420, 0x39b39: 0x6dee9620, 0x39b3a: 0x6dee9820, 0x39b3b: 0x6dee9a20, + 0x39b3c: 0x6dee9c20, 0x39b3d: 0x6dee9e20, 0x39b3e: 0x6deea020, 0x39b3f: 0x6deea220, + // Block 0xe6d, offset 0x39b40 + 0x39b40: 0x6deea420, 0x39b41: 0x6deea620, 0x39b42: 0x6deea820, 0x39b43: 0x6deeaa20, + 0x39b44: 0x6deeac20, 0x39b45: 0x6deeae20, 0x39b46: 0x6deeb020, 0x39b47: 0x6deeb220, + 0x39b48: 0x6deeb420, 0x39b49: 0x6deeb620, 0x39b4a: 0x6deeb820, 0x39b4b: 0x6deeba20, + 0x39b4c: 0x6deebc20, 0x39b4d: 0x6e031420, 0x39b4e: 0x6e031620, 0x39b4f: 0x6e031820, + 0x39b50: 0x6e031a20, 0x39b51: 0x6e031c20, 0x39b52: 0x6e031e20, 0x39b53: 0x6e032020, + 0x39b54: 0x6e032220, 0x39b55: 0x6e032420, 0x39b56: 0x6e032620, 0x39b57: 0x6e032820, + 0x39b58: 0x6e032a20, 0x39b59: 0x6e14b420, 0x39b5a: 0x6e14b620, 0x39b5b: 0x6e14b820, + 0x39b5c: 0x6e14ba20, 0x39b5d: 0x6e14bc20, 0x39b5e: 0x6e14be20, 0x39b5f: 0x6e14c020, + 0x39b60: 0x6e14c220, 0x39b61: 0x6e226220, 0x39b62: 0x6e226420, 0x39b63: 0x6e226620, + 0x39b64: 0x6e226820, 0x39b65: 0x6e226a20, 0x39b66: 0x6e226c20, 0x39b67: 0x6e226e20, + 0x39b68: 0x6e2cb220, 0x39b69: 0x6e2cb420, 0x39b6a: 0x6e2cb620, 0x39b6b: 0x6e2cb820, + 0x39b6c: 0x6e2cba20, 0x39b6d: 0x6e2cbc20, 0x39b6e: 0x6e34bc20, 0x39b6f: 0x6e34be20, + 0x39b70: 0x6e3a7020, 0x39b71: 0x6e3a7220, 0x39b72: 0x6e3a7420, 0x39b73: 0x6e3a7620, + 0x39b74: 0x6e3a7820, 0x39b75: 0x6e412020, 0x39b76: 0x6e432020, 0x39b77: 0x6c270420, + 0x39b78: 0x6c40e020, 0x39b79: 0x6c40e220, 0x39b7a: 0x6c611c20, 0x39b7b: 0x6c611e20, + 0x39b7c: 0x6c612020, 0x39b7d: 0x6c612220, 0x39b7e: 0x6c612420, 0x39b7f: 0x6c612620, + // Block 0xe6e, offset 0x39b80 + 0x39b80: 0x6c612820, 0x39b81: 0x6c875c20, 0x39b82: 0x6c875e20, 0x39b83: 0x6c876020, + 0x39b84: 0x6c876220, 0x39b85: 0x6c876420, 0x39b86: 0x6c876620, 0x39b87: 0x6c876820, + 0x39b88: 0x6c876a20, 0x39b89: 0x6c876c20, 0x39b8a: 0x6c876e20, 0x39b8b: 0x6c877020, + 0x39b8c: 0x6c877220, 0x39b8d: 0x6c877420, 0x39b8e: 0x6c877620, 0x39b8f: 0x6c877820, + 0x39b90: 0x6c877a20, 0x39b91: 0x6c877c20, 0x39b92: 0x6cb26420, 0x39b93: 0x6cb26620, + 0x39b94: 0x6cb26820, 0x39b95: 0x6cb26a20, 0x39b96: 0x6cb26c20, 0x39b97: 0x6cb26e20, + 0x39b98: 0x6cb27020, 0x39b99: 0x6cb27220, 0x39b9a: 0x6cb27420, 0x39b9b: 0x6cb27620, + 0x39b9c: 0x6cb27820, 0x39b9d: 0x6cb27a20, 0x39b9e: 0x6cb27c20, 0x39b9f: 0x6cb27e20, + 0x39ba0: 0x6cb28020, 0x39ba1: 0x6cb28220, 0x39ba2: 0x6cb28420, 0x39ba3: 0x6cb28620, + 0x39ba4: 0x6cb28820, 0x39ba5: 0x6cb28a20, 0x39ba6: 0x6cb28c20, 0x39ba7: 0x6cb28e20, + 0x39ba8: 0x6cb29020, 0x39ba9: 0x6cb29220, 0x39baa: 0x6cb29420, 0x39bab: 0x6cb29620, + 0x39bac: 0x6cb29820, 0x39bad: 0x6cb29a20, 0x39bae: 0x6cb29c20, 0x39baf: 0x6cb29e20, + 0x39bb0: 0x6cb2a020, 0x39bb1: 0x6cb2a220, 0x39bb2: 0x6ce1ee20, 0x39bb3: 0x6ce1f020, + 0x39bb4: 0x6ce1f220, 0x39bb5: 0x6ce1f420, 0x39bb6: 0x6ce1f620, 0x39bb7: 0x6ce1f820, + 0x39bb8: 0x6ce1fa20, 0x39bb9: 0x6ce1fc20, 0x39bba: 0x6ce1fe20, 0x39bbb: 0x6ce20020, + 0x39bbc: 0x6ce20220, 0x39bbd: 0x6ce20420, 0x39bbe: 0x6ce20620, 0x39bbf: 0x6ce20820, + // Block 0xe6f, offset 0x39bc0 + 0x39bc0: 0x6ce20a20, 0x39bc1: 0x6ce20c20, 0x39bc2: 0x6ce20e20, 0x39bc3: 0x6ce21020, + 0x39bc4: 0x6ce21220, 0x39bc5: 0x6ce21420, 0x39bc6: 0x6ce21620, 0x39bc7: 0x6ce21820, + 0x39bc8: 0x6ce21a20, 0x39bc9: 0x6ce21c20, 0x39bca: 0x6ce21e20, 0x39bcb: 0x6ce22020, + 0x39bcc: 0x6ce22220, 0x39bcd: 0x6ce22420, 0x39bce: 0x6ce22620, 0x39bcf: 0x6ce22820, + 0x39bd0: 0x6ce22a20, 0x39bd1: 0x6ce22c20, 0x39bd2: 0x6ce22e20, 0x39bd3: 0x6ce23020, + 0x39bd4: 0x6ce23220, 0x39bd5: 0x6d105020, 0x39bd6: 0x6d105220, 0x39bd7: 0x6d105420, + 0x39bd8: 0x6d105620, 0x39bd9: 0x6d105820, 0x39bda: 0x6d105a20, 0x39bdb: 0x6d105c20, + 0x39bdc: 0x6d105e20, 0x39bdd: 0x6d106020, 0x39bde: 0x6d106220, 0x39bdf: 0x6d106420, + 0x39be0: 0x6d106620, 0x39be1: 0x6d106820, 0x39be2: 0x6d106a20, 0x39be3: 0x6d106c20, + 0x39be4: 0x6d106e20, 0x39be5: 0x6d107020, 0x39be6: 0x6d107220, 0x39be7: 0x6d107420, + 0x39be8: 0x6d107620, 0x39be9: 0x6d107820, 0x39bea: 0x6d107a20, 0x39beb: 0x6d107c20, + 0x39bec: 0x6d107e20, 0x39bed: 0x6d108020, 0x39bee: 0x6d108220, 0x39bef: 0x6d108420, + 0x39bf0: 0x6d108620, 0x39bf1: 0x6d108820, 0x39bf2: 0x6d108a20, 0x39bf3: 0x6d108c20, + 0x39bf4: 0x6d108e20, 0x39bf5: 0x6d109020, 0x39bf6: 0x6d109220, 0x39bf7: 0x6d109420, + 0x39bf8: 0x6d109620, 0x39bf9: 0x6d109820, 0x39bfa: 0x6d109a20, 0x39bfb: 0x6d109c20, + 0x39bfc: 0x6d109e20, 0x39bfd: 0x6d10a020, 0x39bfe: 0x6d10a220, 0x39bff: 0x6d10a420, + // Block 0xe70, offset 0x39c00 + 0x39c00: 0x6d3e7220, 0x39c01: 0x6d3e7420, 0x39c02: 0x6d3e7620, 0x39c03: 0x6d3e7820, + 0x39c04: 0x6d3e7a20, 0x39c05: 0x6d3e7c20, 0x39c06: 0x6d3e7e20, 0x39c07: 0x6d3e8020, + 0x39c08: 0x6d3e8220, 0x39c09: 0x6d3e8420, 0x39c0a: 0x6d3e8620, 0x39c0b: 0x6d3e8820, + 0x39c0c: 0x6d3e8a20, 0x39c0d: 0x6d3e8c20, 0x39c0e: 0x6d3e8e20, 0x39c0f: 0x6d3e9020, + 0x39c10: 0x6d3e9220, 0x39c11: 0x6d3e9420, 0x39c12: 0x6d3e9620, 0x39c13: 0x6d3e9820, + 0x39c14: 0x6d3e9a20, 0x39c15: 0x6d3e9c20, 0x39c16: 0x6d3e9e20, 0x39c17: 0x6d3ea020, + 0x39c18: 0x6d3ea220, 0x39c19: 0x6d3ea420, 0x39c1a: 0x6d3ea620, 0x39c1b: 0x6d3ea820, + 0x39c1c: 0x6d3eaa20, 0x39c1d: 0x6d3eac20, 0x39c1e: 0x6d3eae20, 0x39c1f: 0x6d3eb020, + 0x39c20: 0x6d3eb220, 0x39c21: 0x6d3eb420, 0x39c22: 0x6d3eb620, 0x39c23: 0x6d3eb820, + 0x39c24: 0x6d3eba20, 0x39c25: 0x6d3ebc20, 0x39c26: 0x6d3ebe20, 0x39c27: 0x6d3ec020, + 0x39c28: 0x6d3ec220, 0x39c29: 0x6d3ec420, 0x39c2a: 0x6d3ec620, 0x39c2b: 0x6d3ec820, + 0x39c2c: 0x6d3eca20, 0x39c2d: 0x6d3ecc20, 0x39c2e: 0x6d3ece20, 0x39c2f: 0x6d3ed020, + 0x39c30: 0x6d3ed220, 0x39c31: 0x6d3ed420, 0x39c32: 0x6d3ed620, 0x39c33: 0x6d3ed820, + 0x39c34: 0x6d3eda20, 0x39c35: 0x6d6b3c20, 0x39c36: 0x6d6b3e20, 0x39c37: 0x6d6b4020, + 0x39c38: 0x6d6b4220, 0x39c39: 0x6d6b4420, 0x39c3a: 0x6d6b4620, 0x39c3b: 0x6d6b4820, + 0x39c3c: 0x6d6b4a20, 0x39c3d: 0x6d6b4c20, 0x39c3e: 0x6d6b4e20, 0x39c3f: 0x6d6b5020, + // Block 0xe71, offset 0x39c40 + 0x39c40: 0x6d6b5220, 0x39c41: 0x6d6b5420, 0x39c42: 0x6d6b5620, 0x39c43: 0x6d6b5820, + 0x39c44: 0x6d6b5a20, 0x39c45: 0x6d6b5c20, 0x39c46: 0x6d6b5e20, 0x39c47: 0x6d6b6020, + 0x39c48: 0x6d6b6220, 0x39c49: 0x6d6b6420, 0x39c4a: 0x6d6b6620, 0x39c4b: 0x6d6b6820, + 0x39c4c: 0x6d6b6a20, 0x39c4d: 0x6d6b6c20, 0x39c4e: 0x6d6b6e20, 0x39c4f: 0x6d6b7020, + 0x39c50: 0x6d6b7220, 0x39c51: 0x6d6b7420, 0x39c52: 0x6d6b7620, 0x39c53: 0x6d6b7820, + 0x39c54: 0x6d6b7a20, 0x39c55: 0x6d6b7c20, 0x39c56: 0x6d6b7e20, 0x39c57: 0x6d6b8020, + 0x39c58: 0x6d6b8220, 0x39c59: 0x6d6b8420, 0x39c5a: 0x6d6b8620, 0x39c5b: 0x6d6b8820, + 0x39c5c: 0x6d6b8a20, 0x39c5d: 0x6d946e20, 0x39c5e: 0x6d947020, 0x39c5f: 0x6d6b8c20, + 0x39c60: 0x6d947220, 0x39c61: 0x6d947420, 0x39c62: 0x6d947620, 0x39c63: 0x6d947820, + 0x39c64: 0x6d947a20, 0x39c65: 0x6d947c20, 0x39c66: 0x6d947e20, 0x39c67: 0x6d948020, + 0x39c68: 0x6d948220, 0x39c69: 0x6d948420, 0x39c6a: 0x6d948620, 0x39c6b: 0x6d948820, + 0x39c6c: 0x6d948a20, 0x39c6d: 0x6d948c20, 0x39c6e: 0x6d948e20, 0x39c6f: 0x6d949020, + 0x39c70: 0x6d949220, 0x39c71: 0x6d949420, 0x39c72: 0x6d949620, 0x39c73: 0x6d949820, + 0x39c74: 0x6d949a20, 0x39c75: 0x6d949c20, 0x39c76: 0x6d949e20, 0x39c77: 0x6d94a020, + 0x39c78: 0x6d94a220, 0x39c79: 0x6d94a420, 0x39c7a: 0x6d94a620, 0x39c7b: 0x6d94a820, + 0x39c7c: 0x6d94aa20, 0x39c7d: 0x6d94ac20, 0x39c7e: 0x6d94ae20, 0x39c7f: 0x6d94b020, + // Block 0xe72, offset 0x39c80 + 0x39c80: 0x6d94b220, 0x39c81: 0x6d94b420, 0x39c82: 0x6d94b620, 0x39c83: 0x6d94b820, + 0x39c84: 0x6d94ba20, 0x39c85: 0x6d94bc20, 0x39c86: 0x6d94be20, 0x39c87: 0x6d94c020, + 0x39c88: 0x6d94c220, 0x39c89: 0x6d94c420, 0x39c8a: 0x6d94c620, 0x39c8b: 0x6d94c820, + 0x39c8c: 0x6d94ca20, 0x39c8d: 0x6d94cc20, 0x39c8e: 0x6d94ce20, 0x39c8f: 0x6d94d020, + 0x39c90: 0x6d94d220, 0x39c91: 0x6d94d420, 0x39c92: 0x6d94d620, 0x39c93: 0x6db7ae20, + 0x39c94: 0x6db7b020, 0x39c95: 0x6db7b220, 0x39c96: 0x6db7b420, 0x39c97: 0x6db7b620, + 0x39c98: 0x6db7b820, 0x39c99: 0x6db7ba20, 0x39c9a: 0x6db7bc20, 0x39c9b: 0x6db7be20, + 0x39c9c: 0x6db7c020, 0x39c9d: 0x6db7c220, 0x39c9e: 0x6db7c420, 0x39c9f: 0x6db7c620, + 0x39ca0: 0x6db7c820, 0x39ca1: 0x6db7ca20, 0x39ca2: 0x6db7cc20, 0x39ca3: 0x6db7ce20, + 0x39ca4: 0x6db7d020, 0x39ca5: 0x6db7d220, 0x39ca6: 0x6db7d420, 0x39ca7: 0x6db7d620, + 0x39ca8: 0x6db7d820, 0x39ca9: 0x6db7da20, 0x39caa: 0x6db7dc20, 0x39cab: 0x6db7de20, + 0x39cac: 0x6db7e020, 0x39cad: 0x6db7e220, 0x39cae: 0x6db7e420, 0x39caf: 0x6db7e620, + 0x39cb0: 0x6db7e820, 0x39cb1: 0x6db7ea20, 0x39cb2: 0x6db7ec20, 0x39cb3: 0x6db7ee20, + 0x39cb4: 0x6db7f020, 0x39cb5: 0x6db7f220, 0x39cb6: 0x6db7f420, 0x39cb7: 0x6db7f620, + 0x39cb8: 0x6db7f820, 0x39cb9: 0x6db7fa20, 0x39cba: 0x6db7fc20, 0x39cbb: 0x6db7fe20, + 0x39cbc: 0x6db80020, 0x39cbd: 0x6db80220, 0x39cbe: 0x6db80420, 0x39cbf: 0x6db80620, + // Block 0xe73, offset 0x39cc0 + 0x39cc0: 0x6db80820, 0x39cc1: 0x6db80a20, 0x39cc2: 0x6db80c20, 0x39cc3: 0x6dd61420, + 0x39cc4: 0x6db80e20, 0x39cc5: 0x6dd61620, 0x39cc6: 0x6dd61820, 0x39cc7: 0x6dd61a20, + 0x39cc8: 0x6dd61c20, 0x39cc9: 0x6dd61e20, 0x39cca: 0x6dd62020, 0x39ccb: 0x6dd62220, + 0x39ccc: 0x6dd62420, 0x39ccd: 0x6dd62620, 0x39cce: 0x6dd62820, 0x39ccf: 0x6dd62a20, + 0x39cd0: 0x6dd62c20, 0x39cd1: 0x6dd62e20, 0x39cd2: 0x6dd63020, 0x39cd3: 0x6dd63220, + 0x39cd4: 0x6dd63420, 0x39cd5: 0x6dd63620, 0x39cd6: 0x6dd63820, 0x39cd7: 0x6dd63a20, + 0x39cd8: 0x6dd63c20, 0x39cd9: 0x6dd63e20, 0x39cda: 0x6dd64020, 0x39cdb: 0x6dd64220, + 0x39cdc: 0x6dd64420, 0x39cdd: 0x6dd64620, 0x39cde: 0x6dd64820, 0x39cdf: 0x6dd64a20, + 0x39ce0: 0x6dd64c20, 0x39ce1: 0x6dd64e20, 0x39ce2: 0x6dd65020, 0x39ce3: 0x6dd65220, + 0x39ce4: 0x6dd65420, 0x39ce5: 0x6dd65620, 0x39ce6: 0x6dd65820, 0x39ce7: 0x6dd65a20, + 0x39ce8: 0x6dd65c20, 0x39ce9: 0x6dd65e20, 0x39cea: 0x6dd66020, 0x39ceb: 0x6dd66220, + 0x39cec: 0x6dd66420, 0x39ced: 0x6dd66620, 0x39cee: 0x6dd66820, 0x39cef: 0x6dd66a20, + 0x39cf0: 0x6dd66c20, 0x39cf1: 0x6dd66e20, 0x39cf2: 0x6dd67020, 0x39cf3: 0x6dd67220, + 0x39cf4: 0x6dd67420, 0x39cf5: 0x6dd67620, 0x39cf6: 0x6dd67820, 0x39cf7: 0x6dd67a20, + 0x39cf8: 0x6dd67c20, 0x39cf9: 0x6dd67e20, 0x39cfa: 0x6dd68020, 0x39cfb: 0x6dd68220, + 0x39cfc: 0x6dd68420, 0x39cfd: 0x6dd68620, 0x39cfe: 0x6dd68820, 0x39cff: 0x6dd68a20, + // Block 0xe74, offset 0x39d00 + 0x39d00: 0x6dd68c20, 0x39d01: 0x6dd68e20, 0x39d02: 0x6dd69020, 0x39d03: 0x6dd69220, + 0x39d04: 0x6dd69420, 0x39d05: 0x6dd69620, 0x39d06: 0x6dd69820, 0x39d07: 0x6dd69a20, + 0x39d08: 0x6dd69c20, 0x39d09: 0x6dd69e20, 0x39d0a: 0x6deef420, 0x39d0b: 0x6deef620, + 0x39d0c: 0x6deef820, 0x39d0d: 0x6deefa20, 0x39d0e: 0x6deefc20, 0x39d0f: 0x6deefe20, + 0x39d10: 0x6def0020, 0x39d11: 0x6def0220, 0x39d12: 0x6def0420, 0x39d13: 0x6def0620, + 0x39d14: 0x6def0820, 0x39d15: 0x6def0a20, 0x39d16: 0x6def0c20, 0x39d17: 0x6def0e20, + 0x39d18: 0x6def1020, 0x39d19: 0x6def1220, 0x39d1a: 0x6dd6a020, 0x39d1b: 0x6def1420, + 0x39d1c: 0x6def1620, 0x39d1d: 0x6def1820, 0x39d1e: 0x6def1a20, 0x39d1f: 0x6def1c20, + 0x39d20: 0x6def1e20, 0x39d21: 0x6def2020, 0x39d22: 0x6def2220, 0x39d23: 0x6def2420, + 0x39d24: 0x6def2620, 0x39d25: 0x6def2820, 0x39d26: 0x6def2a20, 0x39d27: 0x6def2c20, + 0x39d28: 0x6def2e20, 0x39d29: 0x6def3020, 0x39d2a: 0x6def3220, 0x39d2b: 0x6def3420, + 0x39d2c: 0x6def3620, 0x39d2d: 0x6def3820, 0x39d2e: 0x6def3a20, 0x39d2f: 0x6def3c20, + 0x39d30: 0x6def3e20, 0x39d31: 0x6def4020, 0x39d32: 0x6def4220, 0x39d33: 0x6def4420, + 0x39d34: 0x6def4620, 0x39d35: 0x6def4820, 0x39d36: 0x6def4a20, 0x39d37: 0x6def4c20, + 0x39d38: 0x6def4e20, 0x39d39: 0x6def5020, 0x39d3a: 0x6def5220, 0x39d3b: 0x6def5420, + 0x39d3c: 0x6def5620, 0x39d3d: 0x6def5820, 0x39d3e: 0x6def5a20, 0x39d3f: 0x6def5c20, + // Block 0xe75, offset 0x39d40 + 0x39d40: 0x6def5e20, 0x39d41: 0x6e034020, 0x39d42: 0x6e034220, 0x39d43: 0x6e034420, + 0x39d44: 0x6e034620, 0x39d45: 0x6e034820, 0x39d46: 0x6e034a20, 0x39d47: 0x6e034c20, + 0x39d48: 0x6e034e20, 0x39d49: 0x6e035020, 0x39d4a: 0x6e035220, 0x39d4b: 0x6e035420, + 0x39d4c: 0x6e035620, 0x39d4d: 0x6e035820, 0x39d4e: 0x6e035a20, 0x39d4f: 0x6e035c20, + 0x39d50: 0x6e035e20, 0x39d51: 0x6e036020, 0x39d52: 0x6e036220, 0x39d53: 0x6e036420, + 0x39d54: 0x6e036620, 0x39d55: 0x6e036820, 0x39d56: 0x6e036a20, 0x39d57: 0x6e036c20, + 0x39d58: 0x6e036e20, 0x39d59: 0x6e037020, 0x39d5a: 0x6e037220, 0x39d5b: 0x6e037420, + 0x39d5c: 0x6e037620, 0x39d5d: 0x6e037820, 0x39d5e: 0x6e037a20, 0x39d5f: 0x6e037c20, + 0x39d60: 0x6e037e20, 0x39d61: 0x6e038020, 0x39d62: 0x6e038220, 0x39d63: 0x6e038420, + 0x39d64: 0x6e038620, 0x39d65: 0x6e038820, 0x39d66: 0x6e038a20, 0x39d67: 0x6e038c20, + 0x39d68: 0x6e038e20, 0x39d69: 0x6e039020, 0x39d6a: 0x6e14d420, 0x39d6b: 0x6e14d620, + 0x39d6c: 0x6e14d820, 0x39d6d: 0x6e14da20, 0x39d6e: 0x6e14dc20, 0x39d6f: 0x6e14de20, + 0x39d70: 0x6e14e020, 0x39d71: 0x6e14e220, 0x39d72: 0x6e14e420, 0x39d73: 0x6e14e620, + 0x39d74: 0x6e14e820, 0x39d75: 0x6e14ea20, 0x39d76: 0x6e14ec20, 0x39d77: 0x6e14ee20, + 0x39d78: 0x6e14f020, 0x39d79: 0x6e14f220, 0x39d7a: 0x6e14f420, 0x39d7b: 0x6e14f620, + 0x39d7c: 0x6e14f820, 0x39d7d: 0x6e14fa20, 0x39d7e: 0x6e14fc20, 0x39d7f: 0x6e14fe20, + // Block 0xe76, offset 0x39d80 + 0x39d80: 0x6e150020, 0x39d81: 0x6e228020, 0x39d82: 0x6e228220, 0x39d83: 0x6e228420, + 0x39d84: 0x6e228620, 0x39d85: 0x6e228820, 0x39d86: 0x6e228a20, 0x39d87: 0x6e228c20, + 0x39d88: 0x6e228e20, 0x39d89: 0x6e229020, 0x39d8a: 0x6e229220, 0x39d8b: 0x6e229420, + 0x39d8c: 0x6e229620, 0x39d8d: 0x6e229820, 0x39d8e: 0x6e229a20, 0x39d8f: 0x6e229c20, + 0x39d90: 0x6e229e20, 0x39d91: 0x6e22a020, 0x39d92: 0x6e22a220, 0x39d93: 0x6e22a420, + 0x39d94: 0x6e22a620, 0x39d95: 0x6e22a820, 0x39d96: 0x6e2cca20, 0x39d97: 0x6e2ccc20, + 0x39d98: 0x6e2cce20, 0x39d99: 0x6e2cd020, 0x39d9a: 0x6e2cd220, 0x39d9b: 0x6e2cd420, + 0x39d9c: 0x6e2cd620, 0x39d9d: 0x6e2cd820, 0x39d9e: 0x6e2cda20, 0x39d9f: 0x6e2cdc20, + 0x39da0: 0x6e2cde20, 0x39da1: 0x6e2ce020, 0x39da2: 0x6e2ce220, 0x39da3: 0x6e2ce420, + 0x39da4: 0x6e34ca20, 0x39da5: 0x6e34cc20, 0x39da6: 0x6e34ce20, 0x39da7: 0x6e34d020, + 0x39da8: 0x6e34d220, 0x39da9: 0x6e34d420, 0x39daa: 0x6e34d620, 0x39dab: 0x6e34d820, + 0x39dac: 0x6e34da20, 0x39dad: 0x6e34dc20, 0x39dae: 0x6e3a8620, 0x39daf: 0x6e3a8820, + 0x39db0: 0x6e3a8a20, 0x39db1: 0x6e3a8c20, 0x39db2: 0x6e3a8e20, 0x39db3: 0x6e3a9020, + 0x39db4: 0x6e3a9220, 0x39db5: 0x6e3a9420, 0x39db6: 0x6e3a9620, 0x39db7: 0x6e3a9820, + 0x39db8: 0x6e3a9a20, 0x39db9: 0x6e3a9c20, 0x39dba: 0x6e3a9e20, 0x39dbb: 0x6e3e5020, + 0x39dbc: 0x6e3e5220, 0x39dbd: 0x6e3e5420, 0x39dbe: 0x6e3e5620, 0x39dbf: 0x6e3e5820, + // Block 0xe77, offset 0x39dc0 + 0x39dc0: 0x6e3e5a20, 0x39dc1: 0x6e412620, 0x39dc2: 0x6e412820, 0x39dc3: 0x6e412a20, + 0x39dc4: 0x6e432620, 0x39dc5: 0x6e432820, 0x39dc6: 0x6e432a20, 0x39dc7: 0x6e432c20, + 0x39dc8: 0x6e448820, 0x39dc9: 0x6e448a20, 0x39dca: 0x6e448c20, 0x39dcb: 0x6e455e20, + 0x39dcc: 0x6e456020, 0x39dcd: 0x6e45dc20, 0x39dce: 0x6e470a20, 0x39dcf: 0x6c270820, + 0x39dd0: 0x6c270a20, 0x39dd1: 0x6c270c20, 0x39dd2: 0x6c612a20, 0x39dd3: 0x6c878220, + 0x39dd4: 0x6c878420, 0x39dd5: 0x6c878620, 0x39dd6: 0x6c878820, 0x39dd7: 0x6c878a20, + 0x39dd8: 0x6cb2b020, 0x39dd9: 0x6cb2b220, 0x39dda: 0x6cb2b420, 0x39ddb: 0x6cb2b620, + 0x39ddc: 0x6cb2b820, 0x39ddd: 0x6cb2ba20, 0x39dde: 0x6cb2bc20, 0x39ddf: 0x6cb2be20, + 0x39de0: 0x6cb2c020, 0x39de1: 0x6cb2c220, 0x39de2: 0x6cb2c420, 0x39de3: 0x6cb2c620, + 0x39de4: 0x6cb2c820, 0x39de5: 0x6cb2ca20, 0x39de6: 0x6cb2cc20, 0x39de7: 0x6cb2ce20, + 0x39de8: 0x6cb2d020, 0x39de9: 0x6ce24620, 0x39dea: 0x6ce24820, 0x39deb: 0x6ce24a20, + 0x39dec: 0x6ce24c20, 0x39ded: 0x6ce24e20, 0x39dee: 0x6ce25020, 0x39def: 0x6ce25220, + 0x39df0: 0x6ce25420, 0x39df1: 0x6ce25620, 0x39df2: 0x6ce25820, 0x39df3: 0x6ce25a20, + 0x39df4: 0x6ce25c20, 0x39df5: 0x6ce25e20, 0x39df6: 0x6ce26020, 0x39df7: 0x6ce26220, + 0x39df8: 0x6d10bc20, 0x39df9: 0x6d10be20, 0x39dfa: 0x6d10c020, 0x39dfb: 0x6d10c220, + 0x39dfc: 0x6d10c420, 0x39dfd: 0x6d10c620, 0x39dfe: 0x6d10c820, 0x39dff: 0x6d10ca20, + // Block 0xe78, offset 0x39e00 + 0x39e00: 0x6d10cc20, 0x39e01: 0x6d10ce20, 0x39e02: 0x6d10d020, 0x39e03: 0x6d10d220, + 0x39e04: 0x6d10d420, 0x39e05: 0x6d10d620, 0x39e06: 0x6d10d820, 0x39e07: 0x6d10da20, + 0x39e08: 0x6d3ee820, 0x39e09: 0x6d3eea20, 0x39e0a: 0x6d3eec20, 0x39e0b: 0x6d3eee20, + 0x39e0c: 0x6d3ef020, 0x39e0d: 0x6d3ef220, 0x39e0e: 0x6d3ef420, 0x39e0f: 0x6d3ef620, + 0x39e10: 0x6d3ef820, 0x39e11: 0x6d3efa20, 0x39e12: 0x6d3efc20, 0x39e13: 0x6d3efe20, + 0x39e14: 0x6d6bac20, 0x39e15: 0x6d6bae20, 0x39e16: 0x6d6bb020, 0x39e17: 0x6d6bb220, + 0x39e18: 0x6d6bb420, 0x39e19: 0x6d6bb620, 0x39e1a: 0x6d6bb820, 0x39e1b: 0x6d6bba20, + 0x39e1c: 0x6d6bbc20, 0x39e1d: 0x6d6bbe20, 0x39e1e: 0x6d6bc020, 0x39e1f: 0x6d6bc220, + 0x39e20: 0x6d6bc420, 0x39e21: 0x6d6bc620, 0x39e22: 0x6d94e820, 0x39e23: 0x6d94ea20, + 0x39e24: 0x6d94ec20, 0x39e25: 0x6d94ee20, 0x39e26: 0x6db81a20, 0x39e27: 0x6d94f020, + 0x39e28: 0x6d94f220, 0x39e29: 0x6d94f420, 0x39e2a: 0x6d94f620, 0x39e2b: 0x6d94f820, + 0x39e2c: 0x6d94fa20, 0x39e2d: 0x6d94fc20, 0x39e2e: 0x6db81c20, 0x39e2f: 0x6db81e20, + 0x39e30: 0x6db82020, 0x39e31: 0x6db82220, 0x39e32: 0x6db82420, 0x39e33: 0x6db82620, + 0x39e34: 0x6db82820, 0x39e35: 0x6db82a20, 0x39e36: 0x6db82c20, 0x39e37: 0x6db82e20, + 0x39e38: 0x6db83020, 0x39e39: 0x6dd6b220, 0x39e3a: 0x6dd6b420, 0x39e3b: 0x6dd6b620, + 0x39e3c: 0x6dd6b820, 0x39e3d: 0x6dd6ba20, 0x39e3e: 0x6dd6bc20, 0x39e3f: 0x6def7420, + // Block 0xe79, offset 0x39e40 + 0x39e40: 0x6def7620, 0x39e41: 0x6def7820, 0x39e42: 0x6def7a20, 0x39e43: 0x6def7c20, + 0x39e44: 0x6def7e20, 0x39e45: 0x6def8020, 0x39e46: 0x6def8220, 0x39e47: 0x6def8420, + 0x39e48: 0x6def8620, 0x39e49: 0x6def8820, 0x39e4a: 0x6def8a20, 0x39e4b: 0x6def8c20, + 0x39e4c: 0x6def8e20, 0x39e4d: 0x6e039e20, 0x39e4e: 0x6e03a020, 0x39e4f: 0x6e03a220, + 0x39e50: 0x6e03a420, 0x39e51: 0x6e03a620, 0x39e52: 0x6e03a820, 0x39e53: 0x6e150820, + 0x39e54: 0x6e150a20, 0x39e55: 0x6e150c20, 0x39e56: 0x6e150e20, 0x39e57: 0x6e151020, + 0x39e58: 0x6e22ae20, 0x39e59: 0x6e22b020, 0x39e5a: 0x6e22b220, 0x39e5b: 0x6e2cea20, + 0x39e5c: 0x6e2cec20, 0x39e5d: 0x6e3aa020, 0x39e5e: 0x6e3aa220, 0x39e5f: 0x6e3e5c20, + 0x39e60: 0x6c613620, 0x39e61: 0x6c613820, 0x39e62: 0x6c613a20, 0x39e63: 0x6c613c20, + 0x39e64: 0x6c613e20, 0x39e65: 0x6c614020, 0x39e66: 0x6c614220, 0x39e67: 0x6c879e20, + 0x39e68: 0x6c87a020, 0x39e69: 0x6c87a220, 0x39e6a: 0x6c87a420, 0x39e6b: 0x6c87a620, + 0x39e6c: 0x6c87a820, 0x39e6d: 0x6c87aa20, 0x39e6e: 0x6c87ac20, 0x39e6f: 0x6c87ae20, + 0x39e70: 0x6c87b020, 0x39e71: 0x6c87b220, 0x39e72: 0x6c87b420, 0x39e73: 0x6cb30020, + 0x39e74: 0x6cb30220, 0x39e75: 0x6cb30420, 0x39e76: 0x6cb30620, 0x39e77: 0x6cb30820, + 0x39e78: 0x6cb30a20, 0x39e79: 0x6cb30c20, 0x39e7a: 0x6cb30e20, 0x39e7b: 0x6cb31020, + 0x39e7c: 0x6cb31220, 0x39e7d: 0x6cb31420, 0x39e7e: 0x6cb31620, 0x39e7f: 0x6cb31820, + // Block 0xe7a, offset 0x39e80 + 0x39e80: 0x6cb31a20, 0x39e81: 0x6cb31c20, 0x39e82: 0x6cb31e20, 0x39e83: 0x6cb32020, + 0x39e84: 0x6cb32220, 0x39e85: 0x6cb32420, 0x39e86: 0x6cb32620, 0x39e87: 0x6cb32820, + 0x39e88: 0x6cb32a20, 0x39e89: 0x6cb32c20, 0x39e8a: 0x6cb32e20, 0x39e8b: 0x6cb33020, + 0x39e8c: 0x6cb33220, 0x39e8d: 0x6cb33420, 0x39e8e: 0x6ce2a020, 0x39e8f: 0x6ce2a220, + 0x39e90: 0x6ce2a420, 0x39e91: 0x6ce2a620, 0x39e92: 0x6ce2a820, 0x39e93: 0x6ce2aa20, + 0x39e94: 0x6ce2ac20, 0x39e95: 0x6ce2ae20, 0x39e96: 0x6ce2b020, 0x39e97: 0x6ce2b220, + 0x39e98: 0x6ce2b420, 0x39e99: 0x6ce2b620, 0x39e9a: 0x6ce2b820, 0x39e9b: 0x6ce2ba20, + 0x39e9c: 0x6ce2bc20, 0x39e9d: 0x6ce2be20, 0x39e9e: 0x6ce2c020, 0x39e9f: 0x6ce2c220, + 0x39ea0: 0x6ce2c420, 0x39ea1: 0x6ce2c620, 0x39ea2: 0x6ce2c820, 0x39ea3: 0x6ce2ca20, + 0x39ea4: 0x6ce2cc20, 0x39ea5: 0x6ce2ce20, 0x39ea6: 0x6ce2d020, 0x39ea7: 0x6ce2d220, + 0x39ea8: 0x6d110a20, 0x39ea9: 0x6d110c20, 0x39eaa: 0x6d110e20, 0x39eab: 0x6d111020, + 0x39eac: 0x6d111220, 0x39ead: 0x6d111420, 0x39eae: 0x6d111620, 0x39eaf: 0x6d111820, + 0x39eb0: 0x6d111a20, 0x39eb1: 0x6d111c20, 0x39eb2: 0x6d111e20, 0x39eb3: 0x6d112020, + 0x39eb4: 0x6d112220, 0x39eb5: 0x6d112420, 0x39eb6: 0x6d112620, 0x39eb7: 0x6d112820, + 0x39eb8: 0x6d112a20, 0x39eb9: 0x6d112c20, 0x39eba: 0x6d112e20, 0x39ebb: 0x6d113020, + 0x39ebc: 0x6d113220, 0x39ebd: 0x6d113420, 0x39ebe: 0x6d113620, 0x39ebf: 0x6d113820, + // Block 0xe7b, offset 0x39ec0 + 0x39ec0: 0x6d113a20, 0x39ec1: 0x6d113c20, 0x39ec2: 0x6d3f1c20, 0x39ec3: 0x6d3f1e20, + 0x39ec4: 0x6d3f2020, 0x39ec5: 0x6d3f2220, 0x39ec6: 0x6d3f2420, 0x39ec7: 0x6d3f2620, + 0x39ec8: 0x6d3f2820, 0x39ec9: 0x6d3f2a20, 0x39eca: 0x6d3f2c20, 0x39ecb: 0x6d3f2e20, + 0x39ecc: 0x6d3f3020, 0x39ecd: 0x6d3f3220, 0x39ece: 0x6d3f3420, 0x39ecf: 0x6d3f3620, + 0x39ed0: 0x6d3f3820, 0x39ed1: 0x6d3f3a20, 0x39ed2: 0x6d3f3c20, 0x39ed3: 0x6d3f3e20, + 0x39ed4: 0x6d3f4020, 0x39ed5: 0x6d3f4220, 0x39ed6: 0x6d3f4420, 0x39ed7: 0x6d3f4620, + 0x39ed8: 0x6d3f4820, 0x39ed9: 0x6d3f4a20, 0x39eda: 0x6d3f4c20, 0x39edb: 0x6d3f4e20, + 0x39edc: 0x6d3f5020, 0x39edd: 0x6d3f5220, 0x39ede: 0x6d3f5420, 0x39edf: 0x6d3f5620, + 0x39ee0: 0x6d6bfe20, 0x39ee1: 0x6d6c0020, 0x39ee2: 0x6d6c0220, 0x39ee3: 0x6d6c0420, + 0x39ee4: 0x6d6c0620, 0x39ee5: 0x6d6c0820, 0x39ee6: 0x6d6c0a20, 0x39ee7: 0x6d6c0c20, + 0x39ee8: 0x6d6c0e20, 0x39ee9: 0x6d6c1020, 0x39eea: 0x6d6c1220, 0x39eeb: 0x6d6c1420, + 0x39eec: 0x6d6c1620, 0x39eed: 0x6d6c1820, 0x39eee: 0x6d6c1a20, 0x39eef: 0x6d6c1c20, + 0x39ef0: 0x6d6c1e20, 0x39ef1: 0x6d6c2020, 0x39ef2: 0x6d6c2220, 0x39ef3: 0x6d6c2420, + 0x39ef4: 0x6d6c2620, 0x39ef5: 0x6d6c2820, 0x39ef6: 0x6d6c2a20, 0x39ef7: 0x6d6c2c20, + 0x39ef8: 0x6d6c2e20, 0x39ef9: 0x6d6c3020, 0x39efa: 0x6d6c3220, 0x39efb: 0x6d6c3420, + 0x39efc: 0x6d6c3620, 0x39efd: 0x6d6c3820, 0x39efe: 0x6d6c3a20, 0x39eff: 0x6d6c3c20, + // Block 0xe7c, offset 0x39f00 + 0x39f00: 0x6d6c3e20, 0x39f01: 0x6d6c4020, 0x39f02: 0x6d6c4220, 0x39f03: 0x6d6c4420, + 0x39f04: 0x6d6c4620, 0x39f05: 0x6d6c4820, 0x39f06: 0x6d6c4a20, 0x39f07: 0x6d952820, + 0x39f08: 0x6d952a20, 0x39f09: 0x6d952c20, 0x39f0a: 0x6d952e20, 0x39f0b: 0x6d953020, + 0x39f0c: 0x6d953220, 0x39f0d: 0x6d953420, 0x39f0e: 0x6d953620, 0x39f0f: 0x6d953820, + 0x39f10: 0x6d953a20, 0x39f11: 0x6d953c20, 0x39f12: 0x6d953e20, 0x39f13: 0x6d954020, + 0x39f14: 0x6d954220, 0x39f15: 0x6d954420, 0x39f16: 0x6d954620, 0x39f17: 0x6d954820, + 0x39f18: 0x6d954a20, 0x39f19: 0x6d954c20, 0x39f1a: 0x6d954e20, 0x39f1b: 0x6d955020, + 0x39f1c: 0x6d955220, 0x39f1d: 0x6d955420, 0x39f1e: 0x6d955620, 0x39f1f: 0x6d955820, + 0x39f20: 0x6d955a20, 0x39f21: 0x6d955c20, 0x39f22: 0x6d955e20, 0x39f23: 0x6d956020, + 0x39f24: 0x6d956220, 0x39f25: 0x6d956420, 0x39f26: 0x6d956620, 0x39f27: 0x6d956820, + 0x39f28: 0x6d956a20, 0x39f29: 0x6db85420, 0x39f2a: 0x6db85620, 0x39f2b: 0x6db85820, + 0x39f2c: 0x6db85a20, 0x39f2d: 0x6db85c20, 0x39f2e: 0x6db85e20, 0x39f2f: 0x6db86020, + 0x39f30: 0x6db86220, 0x39f31: 0x6db86420, 0x39f32: 0x6db86620, 0x39f33: 0x6db86820, + 0x39f34: 0x6db86a20, 0x39f35: 0x6db86c20, 0x39f36: 0x6db86e20, 0x39f37: 0x6db87020, + 0x39f38: 0x6db87220, 0x39f39: 0x6db87420, 0x39f3a: 0x6db87620, 0x39f3b: 0x6db87820, + 0x39f3c: 0x6db87a20, 0x39f3d: 0x6db87c20, 0x39f3e: 0x6db87e20, 0x39f3f: 0x6db88020, + // Block 0xe7d, offset 0x39f40 + 0x39f40: 0x6db88220, 0x39f41: 0x6db88420, 0x39f42: 0x6db88620, 0x39f43: 0x6db88820, + 0x39f44: 0x6db88a20, 0x39f45: 0x6db88c20, 0x39f46: 0x6db88e20, 0x39f47: 0x6db89020, + 0x39f48: 0x6db89220, 0x39f49: 0x6db89420, 0x39f4a: 0x6dd6de20, 0x39f4b: 0x6dd6e020, + 0x39f4c: 0x6dd6e220, 0x39f4d: 0x6dd6e420, 0x39f4e: 0x6dd6e620, 0x39f4f: 0x6dd6e820, + 0x39f50: 0x6dd6ea20, 0x39f51: 0x6dd6ec20, 0x39f52: 0x6dd6ee20, 0x39f53: 0x6dd6f020, + 0x39f54: 0x6dd6f220, 0x39f55: 0x6dd6f420, 0x39f56: 0x6dd6f620, 0x39f57: 0x6dd6f820, + 0x39f58: 0x6dd6fa20, 0x39f59: 0x6dd6fc20, 0x39f5a: 0x6dd6fe20, 0x39f5b: 0x6dd70020, + 0x39f5c: 0x6dd70220, 0x39f5d: 0x6dd70420, 0x39f5e: 0x6dd70620, 0x39f5f: 0x6dd70820, + 0x39f60: 0x6dd70a20, 0x39f61: 0x6dd70c20, 0x39f62: 0x6dd70e20, 0x39f63: 0x6dd71020, + 0x39f64: 0x6defaa20, 0x39f65: 0x6defac20, 0x39f66: 0x6defae20, 0x39f67: 0x6defb020, + 0x39f68: 0x6defb220, 0x39f69: 0x6defb420, 0x39f6a: 0x6defb620, 0x39f6b: 0x6defb820, + 0x39f6c: 0x6defba20, 0x39f6d: 0x6defbc20, 0x39f6e: 0x6defbe20, 0x39f6f: 0x6defc020, + 0x39f70: 0x6defc220, 0x39f71: 0x6defc420, 0x39f72: 0x6e03ba20, 0x39f73: 0x6e03bc20, + 0x39f74: 0x6e03be20, 0x39f75: 0x6e03c020, 0x39f76: 0x6e03c220, 0x39f77: 0x6e03c420, + 0x39f78: 0x6e03c620, 0x39f79: 0x6e03c820, 0x39f7a: 0x6e03ca20, 0x39f7b: 0x6e03cc20, + 0x39f7c: 0x6e03ce20, 0x39f7d: 0x6e03d020, 0x39f7e: 0x6e03d220, 0x39f7f: 0x6e03d420, + // Block 0xe7e, offset 0x39f80 + 0x39f80: 0x6e03d620, 0x39f81: 0x6e03d820, 0x39f82: 0x6e03da20, 0x39f83: 0x6e03dc20, + 0x39f84: 0x6e03de20, 0x39f85: 0x6e03e020, 0x39f86: 0x6e03e220, 0x39f87: 0x6e03e420, + 0x39f88: 0x6e152220, 0x39f89: 0x6e152420, 0x39f8a: 0x6e152620, 0x39f8b: 0x6e152820, + 0x39f8c: 0x6e152a20, 0x39f8d: 0x6e152c20, 0x39f8e: 0x6e152e20, 0x39f8f: 0x6e153020, + 0x39f90: 0x6e153220, 0x39f91: 0x6e22be20, 0x39f92: 0x6e22c020, 0x39f93: 0x6e22c220, + 0x39f94: 0x6e22c420, 0x39f95: 0x6e22c620, 0x39f96: 0x6e22c820, 0x39f97: 0x6e22ca20, + 0x39f98: 0x6e22cc20, 0x39f99: 0x6e22ce20, 0x39f9a: 0x6e22d020, 0x39f9b: 0x6e22d220, + 0x39f9c: 0x6e22d420, 0x39f9d: 0x6e22d620, 0x39f9e: 0x6e2cf220, 0x39f9f: 0x6e2cf420, + 0x39fa0: 0x6e2cf620, 0x39fa1: 0x6e2cf820, 0x39fa2: 0x6e2cfa20, 0x39fa3: 0x6e2cfc20, + 0x39fa4: 0x6e2cfe20, 0x39fa5: 0x6e2d0020, 0x39fa6: 0x6e2d0220, 0x39fa7: 0x6e2d0420, + 0x39fa8: 0x6e2d0620, 0x39fa9: 0x6e34e220, 0x39faa: 0x6e34e420, 0x39fab: 0x6e34e620, + 0x39fac: 0x6e34e820, 0x39fad: 0x6e34ea20, 0x39fae: 0x6e34ec20, 0x39faf: 0x6e34ee20, + 0x39fb0: 0x6e34f020, 0x39fb1: 0x6e34f220, 0x39fb2: 0x6e34f420, 0x39fb3: 0x6e3aa420, + 0x39fb4: 0x6e3aa620, 0x39fb5: 0x6e3e6020, 0x39fb6: 0x6e3e6220, 0x39fb7: 0x6e3e6420, + 0x39fb8: 0x6e3e6620, 0x39fb9: 0x6e413220, 0x39fba: 0x6e432e20, 0x39fbb: 0x6e413420, + 0x39fbc: 0x6e433020, 0x39fbd: 0x6e3e6820, 0x39fbe: 0x6e413620, 0x39fbf: 0x6e433220, + // Block 0xe7f, offset 0x39fc0 + 0x39fc0: 0x6e433420, 0x39fc1: 0x6e448e20, 0x39fc2: 0x6e456220, 0x39fc3: 0x6e45e020, + 0x39fc4: 0x6e471420, 0x39fc5: 0x6c40f020, 0x39fc6: 0x6c40f220, 0x39fc7: 0x6c615c20, + 0x39fc8: 0x6c87ca20, 0x39fc9: 0x6d957420, 0x39fca: 0x6e03ea20, 0x39fcb: 0x6c271e20, + 0x39fcc: 0x6c40f620, 0x39fcd: 0x6c87d220, 0x39fce: 0x6c87d420, 0x39fcf: 0x6cb34220, + 0x39fd0: 0x6cb34420, 0x39fd1: 0x6cb34620, 0x39fd2: 0x6ce2f420, 0x39fd3: 0x6ce2f620, + 0x39fd4: 0x6d115220, 0x39fd5: 0x6d115420, 0x39fd6: 0x6d115620, 0x39fd7: 0x6d115820, + 0x39fd8: 0x6d3f6e20, 0x39fd9: 0x6d3f7020, 0x39fda: 0x6d3f7220, 0x39fdb: 0x6d3f7420, + 0x39fdc: 0x6d6c5820, 0x39fdd: 0x6d6c5a20, 0x39fde: 0x6d6c5c20, 0x39fdf: 0x6d6c5e20, + 0x39fe0: 0x6d958420, 0x39fe1: 0x6d958620, 0x39fe2: 0x6d958820, 0x39fe3: 0x6d958a20, + 0x39fe4: 0x6d958c20, 0x39fe5: 0x6d958e20, 0x39fe6: 0x6d959020, 0x39fe7: 0x6d959220, + 0x39fe8: 0x6db8a020, 0x39fe9: 0x6db8a220, 0x39fea: 0x6db8a420, 0x39feb: 0x6db8a620, + 0x39fec: 0x6db8a820, 0x39fed: 0x6db8aa20, 0x39fee: 0x6db8ac20, 0x39fef: 0x6db8ae20, + 0x39ff0: 0x6dd71820, 0x39ff1: 0x6dd71a20, 0x39ff2: 0x6dd71c20, 0x39ff3: 0x6dc60820, + 0x39ff4: 0x6dcb1a20, 0x39ff5: 0x6defcc20, 0x39ff6: 0x6defce20, 0x39ff7: 0x6defd020, + 0x39ff8: 0x6defd220, 0x39ff9: 0x6defd420, 0x39ffa: 0x6e03f020, 0x39ffb: 0x6e03f220, + 0x39ffc: 0x6e03f420, 0x39ffd: 0x6e153820, 0x39ffe: 0x6e22d820, 0x39fff: 0x6e22da20, + // Block 0xe80, offset 0x3a000 + 0x3a000: 0x6e34f620, 0x3a001: 0x6e449020, 0x3a002: 0x6e456420, 0x3a003: 0x6c272220, + 0x3a004: 0x6c272420, 0x3a005: 0x6d116220, 0x3a006: 0x6d116420, 0x3a007: 0x6d116620, + 0x3a008: 0x6d6c6420, 0x3a009: 0x6d959420, 0x3a00a: 0x6defd820, 0x3a00b: 0x6e153a20, + 0x3a00c: 0x6e22dc20, 0x3a00d: 0x6c0a8220, 0x3a00e: 0x6c0a8420, 0x3a00f: 0x6c0a8620, + 0x3a010: 0x6c0a8820, 0x3a011: 0x6c151620, 0x3a012: 0x6c151820, 0x3a013: 0x6c151a20, + 0x3a014: 0x6c151c20, 0x3a015: 0x6c151e20, 0x3a016: 0x6c152020, 0x3a017: 0x6c152220, + 0x3a018: 0x6c152420, 0x3a019: 0x6c152620, 0x3a01a: 0x6c152820, 0x3a01b: 0x6c152a20, + 0x3a01c: 0x6c152c20, 0x3a01d: 0x6c152e20, 0x3a01e: 0x6c153020, 0x3a01f: 0x6c153220, + 0x3a020: 0x6c153420, 0x3a021: 0x6c153620, 0x3a022: 0x6c274620, 0x3a023: 0x6c274820, + 0x3a024: 0x6c274a20, 0x3a025: 0x6c274c20, 0x3a026: 0x6c274e20, 0x3a027: 0x6c275020, + 0x3a028: 0x6c275220, 0x3a029: 0x6c275420, 0x3a02a: 0x6c275620, 0x3a02b: 0x6c275820, + 0x3a02c: 0x6c275a20, 0x3a02d: 0x6c275c20, 0x3a02e: 0x6c275e20, 0x3a02f: 0x6c276020, + 0x3a030: 0x6c276220, 0x3a031: 0x6c276420, 0x3a032: 0x6c276620, 0x3a033: 0x6c276820, + 0x3a034: 0x6c276a20, 0x3a035: 0x6c276c20, 0x3a036: 0x6c276e20, 0x3a037: 0x6c277020, + 0x3a038: 0x6c277220, 0x3a039: 0x6c277420, 0x3a03a: 0x6c277620, 0x3a03b: 0x6c277820, + 0x3a03c: 0x6c277a20, 0x3a03d: 0x6c277c20, 0x3a03e: 0x6c277e20, 0x3a03f: 0x6c278020, + // Block 0xe81, offset 0x3a040 + 0x3a040: 0x6c278220, 0x3a041: 0x6c278420, 0x3a042: 0x6c413020, 0x3a043: 0x6c413220, + 0x3a044: 0x6c413420, 0x3a045: 0x6c413620, 0x3a046: 0x6c413820, 0x3a047: 0x6c413a20, + 0x3a048: 0x6c413c20, 0x3a049: 0x6c413e20, 0x3a04a: 0x6c414020, 0x3a04b: 0x6c414220, + 0x3a04c: 0x6c414420, 0x3a04d: 0x6c414620, 0x3a04e: 0x6c414820, 0x3a04f: 0x6c414a20, + 0x3a050: 0x6c414c20, 0x3a051: 0x6c414e20, 0x3a052: 0x6c415020, 0x3a053: 0x6c415220, + 0x3a054: 0x6c415420, 0x3a055: 0x6c415620, 0x3a056: 0x6c415820, 0x3a057: 0x6c415a20, + 0x3a058: 0x6c415c20, 0x3a059: 0x6c415e20, 0x3a05a: 0x6c416020, 0x3a05b: 0x6c416220, + 0x3a05c: 0x6c416420, 0x3a05d: 0x6c416620, 0x3a05e: 0x6c416820, 0x3a05f: 0x6c416a20, + 0x3a060: 0x6c416c20, 0x3a061: 0x6c416e20, 0x3a062: 0x6c417020, 0x3a063: 0x6c417220, + 0x3a064: 0x6c417420, 0x3a065: 0x6c619020, 0x3a066: 0x6c619220, 0x3a067: 0x6c619420, + 0x3a068: 0x6c619620, 0x3a069: 0x6c619820, 0x3a06a: 0x6c619a20, 0x3a06b: 0x6c619c20, + 0x3a06c: 0x6c619e20, 0x3a06d: 0x6c61a020, 0x3a06e: 0x6c61a220, 0x3a06f: 0x6c61a420, + 0x3a070: 0x6c61a620, 0x3a071: 0x6c61a820, 0x3a072: 0x6c61aa20, 0x3a073: 0x6c61ac20, + 0x3a074: 0x6c61ae20, 0x3a075: 0x6c61b020, 0x3a076: 0x6c61b220, 0x3a077: 0x6c61b420, + 0x3a078: 0x6c61b620, 0x3a079: 0x6c61b820, 0x3a07a: 0x6c61ba20, 0x3a07b: 0x6c61bc20, + 0x3a07c: 0x6c61be20, 0x3a07d: 0x6c61c020, 0x3a07e: 0x6c61c220, 0x3a07f: 0x6c61c420, + // Block 0xe82, offset 0x3a080 + 0x3a080: 0x6c61c620, 0x3a081: 0x6c61c820, 0x3a082: 0x6c61ca20, 0x3a083: 0x6c61cc20, + 0x3a084: 0x6c61ce20, 0x3a085: 0x6c881420, 0x3a086: 0x6c881620, 0x3a087: 0x6c881820, + 0x3a088: 0x6c881a20, 0x3a089: 0x6c881c20, 0x3a08a: 0x6c881e20, 0x3a08b: 0x6c882020, + 0x3a08c: 0x6c882220, 0x3a08d: 0x6c882420, 0x3a08e: 0x6c882620, 0x3a08f: 0x6c882820, + 0x3a090: 0x6c882a20, 0x3a091: 0x6c882c20, 0x3a092: 0x6c882e20, 0x3a093: 0x6c883020, + 0x3a094: 0x6c883220, 0x3a095: 0x6c883420, 0x3a096: 0x6c883620, 0x3a097: 0x6c883820, + 0x3a098: 0x6c883a20, 0x3a099: 0x6c883c20, 0x3a09a: 0x6c883e20, 0x3a09b: 0x6c884020, + 0x3a09c: 0x6c884220, 0x3a09d: 0x6c884420, 0x3a09e: 0x6c884620, 0x3a09f: 0x6c884820, + 0x3a0a0: 0x6c884a20, 0x3a0a1: 0x6c884c20, 0x3a0a2: 0x6c884e20, 0x3a0a3: 0x6c885020, + 0x3a0a4: 0x6c885220, 0x3a0a5: 0x6c885420, 0x3a0a6: 0x6c885620, 0x3a0a7: 0x6c885820, + 0x3a0a8: 0x6c885a20, 0x3a0a9: 0x6c885c20, 0x3a0aa: 0x6c885e20, 0x3a0ab: 0x6cb38820, + 0x3a0ac: 0x6cb38a20, 0x3a0ad: 0x6cb38c20, 0x3a0ae: 0x6cb38e20, 0x3a0af: 0x6cb39020, + 0x3a0b0: 0x6cb39220, 0x3a0b1: 0x6cb39420, 0x3a0b2: 0x6cb39620, 0x3a0b3: 0x6cb39820, + 0x3a0b4: 0x6cb39a20, 0x3a0b5: 0x6cb39c20, 0x3a0b6: 0x6cb39e20, 0x3a0b7: 0x6cb3a020, + 0x3a0b8: 0x6cb3a220, 0x3a0b9: 0x6cb3a420, 0x3a0ba: 0x6cb3a620, 0x3a0bb: 0x6cb3a820, + 0x3a0bc: 0x6cb3aa20, 0x3a0bd: 0x6cb3ac20, 0x3a0be: 0x6cb3ae20, 0x3a0bf: 0x6cb3b020, + // Block 0xe83, offset 0x3a0c0 + 0x3a0c0: 0x6cb3b220, 0x3a0c1: 0x6cb3b420, 0x3a0c2: 0x6cb3b620, 0x3a0c3: 0x6cb3b820, + 0x3a0c4: 0x6cb3ba20, 0x3a0c5: 0x6cb3bc20, 0x3a0c6: 0x6cb3be20, 0x3a0c7: 0x6cb3c020, + 0x3a0c8: 0x6cb3c220, 0x3a0c9: 0x6cb3c420, 0x3a0ca: 0x6cb3c620, 0x3a0cb: 0x6cb3c820, + 0x3a0cc: 0x6cb3ca20, 0x3a0cd: 0x6cb3cc20, 0x3a0ce: 0x6ce32c20, 0x3a0cf: 0x6cb3ce20, + 0x3a0d0: 0x6cb3d020, 0x3a0d1: 0x6cb3d220, 0x3a0d2: 0x6cb3d420, 0x3a0d3: 0x6cb3d620, + 0x3a0d4: 0x6cb3d820, 0x3a0d5: 0x6cb3da20, 0x3a0d6: 0x6cb3dc20, 0x3a0d7: 0x6cb3de20, + 0x3a0d8: 0x6cb3e020, 0x3a0d9: 0x6cb3e220, 0x3a0da: 0x6cb3e420, 0x3a0db: 0x6cb3e620, + 0x3a0dc: 0x6cb3e820, 0x3a0dd: 0x6ce32e20, 0x3a0de: 0x6ce33020, 0x3a0df: 0x6ce33220, + 0x3a0e0: 0x6cb3ea20, 0x3a0e1: 0x6ce33420, 0x3a0e2: 0x6ce33620, 0x3a0e3: 0x6ce33820, + 0x3a0e4: 0x6ce33a20, 0x3a0e5: 0x6ce33c20, 0x3a0e6: 0x6ce33e20, 0x3a0e7: 0x6ce34020, + 0x3a0e8: 0x6ce34220, 0x3a0e9: 0x6ce34420, 0x3a0ea: 0x6ce34620, 0x3a0eb: 0x6ce34820, + 0x3a0ec: 0x6ce34a20, 0x3a0ed: 0x6ce34c20, 0x3a0ee: 0x6ce34e20, 0x3a0ef: 0x6ce35020, + 0x3a0f0: 0x6ce35220, 0x3a0f1: 0x6ce35420, 0x3a0f2: 0x6ce35620, 0x3a0f3: 0x6ce35820, + 0x3a0f4: 0x6ce35a20, 0x3a0f5: 0x6ce35c20, 0x3a0f6: 0x6ce35e20, 0x3a0f7: 0x6ce36020, + 0x3a0f8: 0x6ce36220, 0x3a0f9: 0x6ce36420, 0x3a0fa: 0x6ce36620, 0x3a0fb: 0x6ce36820, + 0x3a0fc: 0x6ce36a20, 0x3a0fd: 0x6ce36c20, 0x3a0fe: 0x6ce36e20, 0x3a0ff: 0x6ce37020, + // Block 0xe84, offset 0x3a100 + 0x3a100: 0x6ce37220, 0x3a101: 0x6ce37420, 0x3a102: 0x6ce37620, 0x3a103: 0x6ce37820, + 0x3a104: 0x6ce37a20, 0x3a105: 0x6ce37c20, 0x3a106: 0x6ce37e20, 0x3a107: 0x6ce38020, + 0x3a108: 0x6ce38220, 0x3a109: 0x6ce38420, 0x3a10a: 0x6ce38620, 0x3a10b: 0x6ce38820, + 0x3a10c: 0x6ce38a20, 0x3a10d: 0x6ce38c20, 0x3a10e: 0x6ce38e20, 0x3a10f: 0x6ce39020, + 0x3a110: 0x6ce39220, 0x3a111: 0x6ce39420, 0x3a112: 0x6ce39620, 0x3a113: 0x6ce39820, + 0x3a114: 0x6ce39a20, 0x3a115: 0x6ce39c20, 0x3a116: 0x6ce39e20, 0x3a117: 0x6ce3a020, + 0x3a118: 0x6ce3a220, 0x3a119: 0x6ce3a420, 0x3a11a: 0x6ce3a620, 0x3a11b: 0x6ce3a820, + 0x3a11c: 0x6ce3aa20, 0x3a11d: 0x6d11a220, 0x3a11e: 0x6d11a420, 0x3a11f: 0x6d11a620, + 0x3a120: 0x6d11a820, 0x3a121: 0x6d11aa20, 0x3a122: 0x6d11ac20, 0x3a123: 0x6d11ae20, + 0x3a124: 0x6d11b020, 0x3a125: 0x6d11b220, 0x3a126: 0x6d11b420, 0x3a127: 0x6d11b620, + 0x3a128: 0x6d11b820, 0x3a129: 0x6d11ba20, 0x3a12a: 0x6d11bc20, 0x3a12b: 0x6d11be20, + 0x3a12c: 0x6d11c020, 0x3a12d: 0x6d11c220, 0x3a12e: 0x6d11c420, 0x3a12f: 0x6d11c620, + 0x3a130: 0x6d11c820, 0x3a131: 0x6d11ca20, 0x3a132: 0x6d11cc20, 0x3a133: 0x6d11ce20, + 0x3a134: 0x6d11d020, 0x3a135: 0x6d11d220, 0x3a136: 0x6d11d420, 0x3a137: 0x6d11d620, + 0x3a138: 0x6d11d820, 0x3a139: 0x6d11da20, 0x3a13a: 0x6d11dc20, 0x3a13b: 0x6d11de20, + 0x3a13c: 0x6d11e020, 0x3a13d: 0x6d11e220, 0x3a13e: 0x6d11e420, 0x3a13f: 0x6d11e620, + // Block 0xe85, offset 0x3a140 + 0x3a140: 0x6d11e820, 0x3a141: 0x6d11ea20, 0x3a142: 0x6d11ec20, 0x3a143: 0x6d11ee20, + 0x3a144: 0x6d11f020, 0x3a145: 0x6d11f220, 0x3a146: 0x6d3f9c20, 0x3a147: 0x6d3f9e20, + 0x3a148: 0x6d3fa020, 0x3a149: 0x6d3fa220, 0x3a14a: 0x6d3fa420, 0x3a14b: 0x6d3fa620, + 0x3a14c: 0x6d3fa820, 0x3a14d: 0x6d3faa20, 0x3a14e: 0x6d3fac20, 0x3a14f: 0x6d3fae20, + 0x3a150: 0x6d3fb020, 0x3a151: 0x6d3fb220, 0x3a152: 0x6d3fb420, 0x3a153: 0x6d3fb620, + 0x3a154: 0x6d3fb820, 0x3a155: 0x6d3fba20, 0x3a156: 0x6d3fbc20, 0x3a157: 0x6d3fbe20, + 0x3a158: 0x6d3fc020, 0x3a159: 0x6d3fc220, 0x3a15a: 0x6d3fc420, 0x3a15b: 0x6d3fc620, + 0x3a15c: 0x6d3fc820, 0x3a15d: 0x6d3fca20, 0x3a15e: 0x6d3fcc20, 0x3a15f: 0x6d3fce20, + 0x3a160: 0x6d3fd020, 0x3a161: 0x6d3fd220, 0x3a162: 0x6d3fd420, 0x3a163: 0x6d3fd620, + 0x3a164: 0x6d3fd820, 0x3a165: 0x6d3fda20, 0x3a166: 0x6d3fdc20, 0x3a167: 0x6d3fde20, + 0x3a168: 0x6d3fe020, 0x3a169: 0x6d3fe220, 0x3a16a: 0x6d3fe420, 0x3a16b: 0x6d3fe620, + 0x3a16c: 0x6d3fe820, 0x3a16d: 0x6d3fea20, 0x3a16e: 0x6d3fec20, 0x3a16f: 0x6d3fee20, + 0x3a170: 0x6d3ff020, 0x3a171: 0x6d3ff220, 0x3a172: 0x6d3ff420, 0x3a173: 0x6d3ff620, + 0x3a174: 0x6d6c8a20, 0x3a175: 0x6d6c8c20, 0x3a176: 0x6d6c8e20, 0x3a177: 0x6d6c9020, + 0x3a178: 0x6d6c9220, 0x3a179: 0x6d6c9420, 0x3a17a: 0x6d6c9620, 0x3a17b: 0x6d6c9820, + 0x3a17c: 0x6d6c9a20, 0x3a17d: 0x6d6c9c20, 0x3a17e: 0x6d6c9e20, 0x3a17f: 0x6d6ca020, + // Block 0xe86, offset 0x3a180 + 0x3a180: 0x6d6ca220, 0x3a181: 0x6d6ca420, 0x3a182: 0x6d6ca620, 0x3a183: 0x6d6ca820, + 0x3a184: 0x6d6caa20, 0x3a185: 0x6d6cac20, 0x3a186: 0x6d6cae20, 0x3a187: 0x6d6cb020, + 0x3a188: 0x6d6cb220, 0x3a189: 0x6d6cb420, 0x3a18a: 0x6d6cb620, 0x3a18b: 0x6d6cb820, + 0x3a18c: 0x6d6cba20, 0x3a18d: 0x6d6cbc20, 0x3a18e: 0x6d6cbe20, 0x3a18f: 0x6d6cc020, + 0x3a190: 0x6d6cc220, 0x3a191: 0x6d6cc420, 0x3a192: 0x6d6cc620, 0x3a193: 0x6d784820, + 0x3a194: 0x6d6cc820, 0x3a195: 0x6d6cca20, 0x3a196: 0x6d6ccc20, 0x3a197: 0x6d6cce20, + 0x3a198: 0x6d6cd020, 0x3a199: 0x6d6cd220, 0x3a19a: 0x6d6cd420, 0x3a19b: 0x6d6cd620, + 0x3a19c: 0x6d6cd820, 0x3a19d: 0x6d6cda20, 0x3a19e: 0x6d6cdc20, 0x3a19f: 0x6d6cde20, + 0x3a1a0: 0x6d6ce020, 0x3a1a1: 0x6d6ce220, 0x3a1a2: 0x6d6ce420, 0x3a1a3: 0x6d6ce620, + 0x3a1a4: 0x6d6ce820, 0x3a1a5: 0x6d95b220, 0x3a1a6: 0x6d95b420, 0x3a1a7: 0x6d95b620, + 0x3a1a8: 0x6d95b820, 0x3a1a9: 0x6d95ba20, 0x3a1aa: 0x6d95bc20, 0x3a1ab: 0x6d95be20, + 0x3a1ac: 0x6d95c020, 0x3a1ad: 0x6d95c220, 0x3a1ae: 0x6d95c420, 0x3a1af: 0x6d95c620, + 0x3a1b0: 0x6d95c820, 0x3a1b1: 0x6d95ca20, 0x3a1b2: 0x6d95cc20, 0x3a1b3: 0x6d95ce20, + 0x3a1b4: 0x6d95d020, 0x3a1b5: 0x6d95d220, 0x3a1b6: 0x6d95d420, 0x3a1b7: 0x6d95d620, + 0x3a1b8: 0x6d95d820, 0x3a1b9: 0x6d95da20, 0x3a1ba: 0x6d95dc20, 0x3a1bb: 0x6d95de20, + 0x3a1bc: 0x6d95e020, 0x3a1bd: 0x6d95e220, 0x3a1be: 0x6d95e420, 0x3a1bf: 0x6d95e620, + // Block 0xe87, offset 0x3a1c0 + 0x3a1c0: 0x6d95e820, 0x3a1c1: 0x6d95ea20, 0x3a1c2: 0x6d95ec20, 0x3a1c3: 0x6d95ee20, + 0x3a1c4: 0x6d95f020, 0x3a1c5: 0x6d95f220, 0x3a1c6: 0x6d95f420, 0x3a1c7: 0x6db8c620, + 0x3a1c8: 0x6db8c820, 0x3a1c9: 0x6db8ca20, 0x3a1ca: 0x6db8cc20, 0x3a1cb: 0x6db8ce20, + 0x3a1cc: 0x6db8d020, 0x3a1cd: 0x6db8d220, 0x3a1ce: 0x6db8d420, 0x3a1cf: 0x6db8d620, + 0x3a1d0: 0x6db8d820, 0x3a1d1: 0x6db8da20, 0x3a1d2: 0x6db8dc20, 0x3a1d3: 0x6db8de20, + 0x3a1d4: 0x6db8e020, 0x3a1d5: 0x6db8e220, 0x3a1d6: 0x6db8e420, 0x3a1d7: 0x6db8e620, + 0x3a1d8: 0x6db8e820, 0x3a1d9: 0x6db8ea20, 0x3a1da: 0x6db8ec20, 0x3a1db: 0x6db8ee20, + 0x3a1dc: 0x6db8f020, 0x3a1dd: 0x6db8f220, 0x3a1de: 0x6db8f420, 0x3a1df: 0x6db8f620, + 0x3a1e0: 0x6db8f820, 0x3a1e1: 0x6dd72620, 0x3a1e2: 0x6dd72820, 0x3a1e3: 0x6dd72a20, + 0x3a1e4: 0x6dd72c20, 0x3a1e5: 0x6dd72e20, 0x3a1e6: 0x6dd73020, 0x3a1e7: 0x6dd73220, + 0x3a1e8: 0x6dd73420, 0x3a1e9: 0x6dd73620, 0x3a1ea: 0x6dd73820, 0x3a1eb: 0x6dd73a20, + 0x3a1ec: 0x6dd73c20, 0x3a1ed: 0x6dd73e20, 0x3a1ee: 0x6dd74020, 0x3a1ef: 0x6dd74220, + 0x3a1f0: 0x6dd74420, 0x3a1f1: 0x6dd74620, 0x3a1f2: 0x6dd74820, 0x3a1f3: 0x6dd74a20, + 0x3a1f4: 0x6dd74c20, 0x3a1f5: 0x6dd74e20, 0x3a1f6: 0x6dd75020, 0x3a1f7: 0x6defe220, + 0x3a1f8: 0x6defe420, 0x3a1f9: 0x6defe620, 0x3a1fa: 0x6defe820, 0x3a1fb: 0x6defea20, + 0x3a1fc: 0x6e03e620, 0x3a1fd: 0x6defec20, 0x3a1fe: 0x6defee20, 0x3a1ff: 0x6deff020, + // Block 0xe88, offset 0x3a200 + 0x3a200: 0x6deff220, 0x3a201: 0x6deff420, 0x3a202: 0x6e03fe20, 0x3a203: 0x6e040020, + 0x3a204: 0x6e040220, 0x3a205: 0x6e040420, 0x3a206: 0x6e040620, 0x3a207: 0x6e040820, + 0x3a208: 0x6e040a20, 0x3a209: 0x6e040c20, 0x3a20a: 0x6e040e20, 0x3a20b: 0x6e041020, + 0x3a20c: 0x6e041220, 0x3a20d: 0x6e041420, 0x3a20e: 0x6e041620, 0x3a20f: 0x6e041820, + 0x3a210: 0x6e041a20, 0x3a211: 0x6e041c20, 0x3a212: 0x6e153e20, 0x3a213: 0x6e154020, + 0x3a214: 0x6e154220, 0x3a215: 0x6e154420, 0x3a216: 0x6e154620, 0x3a217: 0x6e154820, + 0x3a218: 0x6e154a20, 0x3a219: 0x6e22de20, 0x3a21a: 0x6e22e020, 0x3a21b: 0x6e22e220, + 0x3a21c: 0x6e22e420, 0x3a21d: 0x6e22e620, 0x3a21e: 0x6e22e820, 0x3a21f: 0x6e2d0c20, + 0x3a220: 0x6e2d0e20, 0x3a221: 0x6e2d1020, 0x3a222: 0x6e2d1220, 0x3a223: 0x6e2d1420, + 0x3a224: 0x6e34fa20, 0x3a225: 0x6e34fc20, 0x3a226: 0x6e3aa820, 0x3a227: 0x6e3e6a20, + 0x3a228: 0x6c00ca20, 0x3a229: 0x6c052220, 0x3a22a: 0x6c052420, 0x3a22b: 0x6c0a9220, + 0x3a22c: 0x6c0a9420, 0x3a22d: 0x6c0a9620, 0x3a22e: 0x6c0a9820, 0x3a22f: 0x6c0a9a20, + 0x3a230: 0x6c0a9c20, 0x3a231: 0x6c0a9e20, 0x3a232: 0x6c0aa020, 0x3a233: 0x6c0aa220, + 0x3a234: 0x6c0aa420, 0x3a235: 0x6c0aa620, 0x3a236: 0x6c154e20, 0x3a237: 0x6c155020, + 0x3a238: 0x6c155220, 0x3a239: 0x6c155420, 0x3a23a: 0x6c155620, 0x3a23b: 0x6c155820, + 0x3a23c: 0x6c155a20, 0x3a23d: 0x6c155c20, 0x3a23e: 0x6c155e20, 0x3a23f: 0x6c156020, + // Block 0xe89, offset 0x3a240 + 0x3a240: 0x6c156220, 0x3a241: 0x6c156420, 0x3a242: 0x6c156620, 0x3a243: 0x6c156820, + 0x3a244: 0x6c156a20, 0x3a245: 0x6c156c20, 0x3a246: 0x6c156e20, 0x3a247: 0x6c157020, + 0x3a248: 0x6c157220, 0x3a249: 0x6c157420, 0x3a24a: 0x6c157620, 0x3a24b: 0x6c157820, + 0x3a24c: 0x6c157a20, 0x3a24d: 0x6c157c20, 0x3a24e: 0x6c157e20, 0x3a24f: 0x6c158020, + 0x3a250: 0x6c158220, 0x3a251: 0x6c158420, 0x3a252: 0x6c158620, 0x3a253: 0x6c27ae20, + 0x3a254: 0x6c27b020, 0x3a255: 0x6c27b220, 0x3a256: 0x6c27b420, 0x3a257: 0x6c27b620, + 0x3a258: 0x6c27b820, 0x3a259: 0x6c27ba20, 0x3a25a: 0x6c27bc20, 0x3a25b: 0x6c27be20, + 0x3a25c: 0x6c27c020, 0x3a25d: 0x6c27c220, 0x3a25e: 0x6c27c420, 0x3a25f: 0x6c27c620, + 0x3a260: 0x6c27c820, 0x3a261: 0x6c27ca20, 0x3a262: 0x6c27cc20, 0x3a263: 0x6c27ce20, + 0x3a264: 0x6c27d020, 0x3a265: 0x6c27d220, 0x3a266: 0x6c27d420, 0x3a267: 0x6c27d620, + 0x3a268: 0x6c27d820, 0x3a269: 0x6c27da20, 0x3a26a: 0x6c27dc20, 0x3a26b: 0x6c27de20, + 0x3a26c: 0x6c27e020, 0x3a26d: 0x6c27e220, 0x3a26e: 0x6c27e420, 0x3a26f: 0x6c41a020, + 0x3a270: 0x6c41a220, 0x3a271: 0x6c41a420, 0x3a272: 0x6c41a620, 0x3a273: 0x6c41a820, + 0x3a274: 0x6c41aa20, 0x3a275: 0x6c41ac20, 0x3a276: 0x6c41ae20, 0x3a277: 0x6c41b020, + 0x3a278: 0x6c41b220, 0x3a279: 0x6c41b420, 0x3a27a: 0x6c41b620, 0x3a27b: 0x6c41b820, + 0x3a27c: 0x6c41ba20, 0x3a27d: 0x6c41bc20, 0x3a27e: 0x6c41be20, 0x3a27f: 0x6c41c020, + // Block 0xe8a, offset 0x3a280 + 0x3a280: 0x6c41c220, 0x3a281: 0x6c41c420, 0x3a282: 0x6c41c620, 0x3a283: 0x6c41c820, + 0x3a284: 0x6c41ca20, 0x3a285: 0x6c41cc20, 0x3a286: 0x6c41ce20, 0x3a287: 0x6c41d020, + 0x3a288: 0x6c41d220, 0x3a289: 0x6c41d420, 0x3a28a: 0x6c41d620, 0x3a28b: 0x6c620e20, + 0x3a28c: 0x6c621020, 0x3a28d: 0x6c621220, 0x3a28e: 0x6c621420, 0x3a28f: 0x6c621620, + 0x3a290: 0x6c621820, 0x3a291: 0x6c621a20, 0x3a292: 0x6c621c20, 0x3a293: 0x6c621e20, + 0x3a294: 0x6c622020, 0x3a295: 0x6c622220, 0x3a296: 0x6c622420, 0x3a297: 0x6c622620, + 0x3a298: 0x6c622820, 0x3a299: 0x6c622a20, 0x3a29a: 0x6c622c20, 0x3a29b: 0x6c622e20, + 0x3a29c: 0x6c623020, 0x3a29d: 0x6c623220, 0x3a29e: 0x6c623420, 0x3a29f: 0x6c623620, + 0x3a2a0: 0x6c623820, 0x3a2a1: 0x6c623a20, 0x3a2a2: 0x6c623c20, 0x3a2a3: 0x6c623e20, + 0x3a2a4: 0x6c624020, 0x3a2a5: 0x6c624220, 0x3a2a6: 0x6c624420, 0x3a2a7: 0x6c624620, + 0x3a2a8: 0x6c624820, 0x3a2a9: 0x6c624a20, 0x3a2aa: 0x6c624c20, 0x3a2ab: 0x6c889a20, + 0x3a2ac: 0x6c889c20, 0x3a2ad: 0x6c889e20, 0x3a2ae: 0x6c88a020, 0x3a2af: 0x6c88a220, + 0x3a2b0: 0x6c88a420, 0x3a2b1: 0x6c88a620, 0x3a2b2: 0x6c88a820, 0x3a2b3: 0x6c88aa20, + 0x3a2b4: 0x6c88ac20, 0x3a2b5: 0x6c88ae20, 0x3a2b6: 0x6c88b020, 0x3a2b7: 0x6c88b220, + 0x3a2b8: 0x6c88b420, 0x3a2b9: 0x6c88b620, 0x3a2ba: 0x6c88b820, 0x3a2bb: 0x6c88ba20, + 0x3a2bc: 0x6c88bc20, 0x3a2bd: 0x6c88be20, 0x3a2be: 0x6c88c020, 0x3a2bf: 0x6c88c220, + // Block 0xe8b, offset 0x3a2c0 + 0x3a2c0: 0x6c88c420, 0x3a2c1: 0x6c88c620, 0x3a2c2: 0x6c88c820, 0x3a2c3: 0x6c88ca20, + 0x3a2c4: 0x6c88cc20, 0x3a2c5: 0x6c88ce20, 0x3a2c6: 0x6c88d020, 0x3a2c7: 0x6c88d220, + 0x3a2c8: 0x6c88d420, 0x3a2c9: 0x6c88d620, 0x3a2ca: 0x6c88d820, 0x3a2cb: 0x6c88da20, + 0x3a2cc: 0x6c88dc20, 0x3a2cd: 0x6c88de20, 0x3a2ce: 0x6c88e020, 0x3a2cf: 0x6cb42a20, + 0x3a2d0: 0x6cb42c20, 0x3a2d1: 0x6cb42e20, 0x3a2d2: 0x6cb43020, 0x3a2d3: 0x6cb43220, + 0x3a2d4: 0x6cb43420, 0x3a2d5: 0x6cb43620, 0x3a2d6: 0x6cb43820, 0x3a2d7: 0x6ce3e620, + 0x3a2d8: 0x6cb43a20, 0x3a2d9: 0x6cb43c20, 0x3a2da: 0x6cb43e20, 0x3a2db: 0x6cb44020, + 0x3a2dc: 0x6cb44220, 0x3a2dd: 0x6cb44420, 0x3a2de: 0x6cb44620, 0x3a2df: 0x6cb44820, + 0x3a2e0: 0x6cb44a20, 0x3a2e1: 0x6cb44c20, 0x3a2e2: 0x6cb44e20, 0x3a2e3: 0x6cb45020, + 0x3a2e4: 0x6cb45220, 0x3a2e5: 0x6cb45420, 0x3a2e6: 0x6cb45620, 0x3a2e7: 0x6cb45820, + 0x3a2e8: 0x6cb45a20, 0x3a2e9: 0x6cb45c20, 0x3a2ea: 0x6cb45e20, 0x3a2eb: 0x6cb46020, + 0x3a2ec: 0x6cb46220, 0x3a2ed: 0x6cb46420, 0x3a2ee: 0x6cb46620, 0x3a2ef: 0x6cb46820, + 0x3a2f0: 0x6cb46a20, 0x3a2f1: 0x6cb46c20, 0x3a2f2: 0x6ce3e820, 0x3a2f3: 0x6ce3ea20, + 0x3a2f4: 0x6ce3ec20, 0x3a2f5: 0x6ce3ee20, 0x3a2f6: 0x6ce3f020, 0x3a2f7: 0x6ce3f220, + 0x3a2f8: 0x6ce3f420, 0x3a2f9: 0x6ce3f620, 0x3a2fa: 0x6ce3f820, 0x3a2fb: 0x6ce3fa20, + 0x3a2fc: 0x6ce3fc20, 0x3a2fd: 0x6ce3fe20, 0x3a2fe: 0x6ce40020, 0x3a2ff: 0x6ce40220, + // Block 0xe8c, offset 0x3a300 + 0x3a300: 0x6ce40420, 0x3a301: 0x6ce40620, 0x3a302: 0x6ce40820, 0x3a303: 0x6ce40a20, + 0x3a304: 0x6ce40c20, 0x3a305: 0x6ce40e20, 0x3a306: 0x6ce41020, 0x3a307: 0x6ce41220, + 0x3a308: 0x6ce41420, 0x3a309: 0x6ce41620, 0x3a30a: 0x6ce41820, 0x3a30b: 0x6d122220, + 0x3a30c: 0x6d122420, 0x3a30d: 0x6d122620, 0x3a30e: 0x6d122820, 0x3a30f: 0x6d122a20, + 0x3a310: 0x6d122c20, 0x3a311: 0x6d122e20, 0x3a312: 0x6d123020, 0x3a313: 0x6d123220, + 0x3a314: 0x6d123420, 0x3a315: 0x6d123620, 0x3a316: 0x6d123820, 0x3a317: 0x6d123a20, + 0x3a318: 0x6d123c20, 0x3a319: 0x6d123e20, 0x3a31a: 0x6d124020, 0x3a31b: 0x6d124220, + 0x3a31c: 0x6d124420, 0x3a31d: 0x6d124620, 0x3a31e: 0x6d124820, 0x3a31f: 0x6d124a20, + 0x3a320: 0x6d124c20, 0x3a321: 0x6d124e20, 0x3a322: 0x6d125020, 0x3a323: 0x6d125220, + 0x3a324: 0x6d125420, 0x3a325: 0x6d125620, 0x3a326: 0x6d125820, 0x3a327: 0x6d125a20, + 0x3a328: 0x6d125c20, 0x3a329: 0x6d125e20, 0x3a32a: 0x6d126020, 0x3a32b: 0x6d403020, + 0x3a32c: 0x6d403220, 0x3a32d: 0x6d403420, 0x3a32e: 0x6d403620, 0x3a32f: 0x6d403820, + 0x3a330: 0x6d403a20, 0x3a331: 0x6d403c20, 0x3a332: 0x6d403e20, 0x3a333: 0x6d404020, + 0x3a334: 0x6d404220, 0x3a335: 0x6d404420, 0x3a336: 0x6d404620, 0x3a337: 0x6d404820, + 0x3a338: 0x6d404a20, 0x3a339: 0x6d126220, 0x3a33a: 0x6d404c20, 0x3a33b: 0x6d404e20, + 0x3a33c: 0x6d405020, 0x3a33d: 0x6d405220, 0x3a33e: 0x6d405420, 0x3a33f: 0x6d405620, + // Block 0xe8d, offset 0x3a340 + 0x3a340: 0x6d405820, 0x3a341: 0x6d405a20, 0x3a342: 0x6d405c20, 0x3a343: 0x6d405e20, + 0x3a344: 0x6d406020, 0x3a345: 0x6d406220, 0x3a346: 0x6d406420, 0x3a347: 0x6d406620, + 0x3a348: 0x6d406820, 0x3a349: 0x6d406a20, 0x3a34a: 0x6d406c20, 0x3a34b: 0x6d406e20, + 0x3a34c: 0x6d407020, 0x3a34d: 0x6d407220, 0x3a34e: 0x6d407420, 0x3a34f: 0x6d407620, + 0x3a350: 0x6d407820, 0x3a351: 0x6d6d1820, 0x3a352: 0x6d6d1a20, 0x3a353: 0x6d6d1c20, + 0x3a354: 0x6d6d1e20, 0x3a355: 0x6d6d2020, 0x3a356: 0x6d6d2220, 0x3a357: 0x6d6d2420, + 0x3a358: 0x6d6d2620, 0x3a359: 0x6d6d2820, 0x3a35a: 0x6d6d2a20, 0x3a35b: 0x6d6d2c20, + 0x3a35c: 0x6d6d2e20, 0x3a35d: 0x6d6d3020, 0x3a35e: 0x6d6d3220, 0x3a35f: 0x6d6d3420, + 0x3a360: 0x6d6d3620, 0x3a361: 0x6d6d3820, 0x3a362: 0x6d6d3a20, 0x3a363: 0x6d6d3c20, + 0x3a364: 0x6d6d3e20, 0x3a365: 0x6d6d4020, 0x3a366: 0x6d6d4220, 0x3a367: 0x6d960820, + 0x3a368: 0x6d960a20, 0x3a369: 0x6d960c20, 0x3a36a: 0x6d960e20, 0x3a36b: 0x6d961020, + 0x3a36c: 0x6d961220, 0x3a36d: 0x6d961420, 0x3a36e: 0x6d961620, 0x3a36f: 0x6d961820, + 0x3a370: 0x6d961a20, 0x3a371: 0x6d961c20, 0x3a372: 0x6d961e20, 0x3a373: 0x6d962020, + 0x3a374: 0x6d962220, 0x3a375: 0x6d962420, 0x3a376: 0x6d962620, 0x3a377: 0x6d962820, + 0x3a378: 0x6d962a20, 0x3a379: 0x6d962c20, 0x3a37a: 0x6db90c20, 0x3a37b: 0x6db90e20, + 0x3a37c: 0x6db91020, 0x3a37d: 0x6db91220, 0x3a37e: 0x6db91420, 0x3a37f: 0x6db91620, + // Block 0xe8e, offset 0x3a380 + 0x3a380: 0x6db91820, 0x3a381: 0x6db91a20, 0x3a382: 0x6db91c20, 0x3a383: 0x6db91e20, + 0x3a384: 0x6db92020, 0x3a385: 0x6db92220, 0x3a386: 0x6db92420, 0x3a387: 0x6db92620, + 0x3a388: 0x6db92820, 0x3a389: 0x6db92a20, 0x3a38a: 0x6db92c20, 0x3a38b: 0x6db92e20, + 0x3a38c: 0x6db93020, 0x3a38d: 0x6dd76220, 0x3a38e: 0x6dd76420, 0x3a38f: 0x6dd76620, + 0x3a390: 0x6dd76820, 0x3a391: 0x6dd76a20, 0x3a392: 0x6dd76c20, 0x3a393: 0x6dd76e20, + 0x3a394: 0x6dd77020, 0x3a395: 0x6dd77220, 0x3a396: 0x6dd77420, 0x3a397: 0x6dd77620, + 0x3a398: 0x6dd77820, 0x3a399: 0x6deffc20, 0x3a39a: 0x6deffe20, 0x3a39b: 0x6df00020, + 0x3a39c: 0x6df00220, 0x3a39d: 0x6df00420, 0x3a39e: 0x6df00620, 0x3a39f: 0x6df00820, + 0x3a3a0: 0x6e042a20, 0x3a3a1: 0x6e042c20, 0x3a3a2: 0x6e042e20, 0x3a3a3: 0x6e043020, + 0x3a3a4: 0x6e155420, 0x3a3a5: 0x6e155620, 0x3a3a6: 0x6e155820, 0x3a3a7: 0x6e155a20, + 0x3a3a8: 0x6e22ee20, 0x3a3a9: 0x6e2d1a20, 0x3a3aa: 0x6e2d1c20, 0x3a3ab: 0x6e2d1e20, + 0x3a3ac: 0x6e2d2020, 0x3a3ad: 0x6e2d2220, 0x3a3ae: 0x6e2d2420, 0x3a3af: 0x6e3e6c20, + 0x3a3b0: 0x6c88fc20, 0x3a3b1: 0x6c88fe20, 0x3a3b2: 0x6c890020, 0x3a3b3: 0x6c890220, + 0x3a3b4: 0x6cb49620, 0x3a3b5: 0x6cb49820, 0x3a3b6: 0x6cb49a20, 0x3a3b7: 0x6cb49c20, + 0x3a3b8: 0x6cb49e20, 0x3a3b9: 0x6cb4a020, 0x3a3ba: 0x6cb4a220, 0x3a3bb: 0x6cb4a420, + 0x3a3bc: 0x6cb4a620, 0x3a3bd: 0x6cb4a820, 0x3a3be: 0x6cb4aa20, 0x3a3bf: 0x6cb4ac20, + // Block 0xe8f, offset 0x3a3c0 + 0x3a3c0: 0x6cb4ae20, 0x3a3c1: 0x6cb4b020, 0x3a3c2: 0x6cb4b220, 0x3a3c3: 0x6cb4b420, + 0x3a3c4: 0x6cb4b620, 0x3a3c5: 0x6cb4b820, 0x3a3c6: 0x6cb4ba20, 0x3a3c7: 0x6cb4bc20, + 0x3a3c8: 0x6cb4be20, 0x3a3c9: 0x6cb4c020, 0x3a3ca: 0x6cb4c220, 0x3a3cb: 0x6ce43820, + 0x3a3cc: 0x6ce43a20, 0x3a3cd: 0x6ce43c20, 0x3a3ce: 0x6ce43e20, 0x3a3cf: 0x6ce44020, + 0x3a3d0: 0x6ce44220, 0x3a3d1: 0x6ce44420, 0x3a3d2: 0x6ce44620, 0x3a3d3: 0x6ce44820, + 0x3a3d4: 0x6ce44a20, 0x3a3d5: 0x6ce44c20, 0x3a3d6: 0x6ce44e20, 0x3a3d7: 0x6ce45020, + 0x3a3d8: 0x6ce45220, 0x3a3d9: 0x6ce45420, 0x3a3da: 0x6ce45620, 0x3a3db: 0x6ce45820, + 0x3a3dc: 0x6ce45a20, 0x3a3dd: 0x6ce45c20, 0x3a3de: 0x6ce45e20, 0x3a3df: 0x6ce46020, + 0x3a3e0: 0x6ce46220, 0x3a3e1: 0x6ce46420, 0x3a3e2: 0x6ce46620, 0x3a3e3: 0x6ce46820, + 0x3a3e4: 0x6d129020, 0x3a3e5: 0x6d129220, 0x3a3e6: 0x6d129420, 0x3a3e7: 0x6d129620, + 0x3a3e8: 0x6d129820, 0x3a3e9: 0x6d129a20, 0x3a3ea: 0x6d129c20, 0x3a3eb: 0x6d129e20, + 0x3a3ec: 0x6d12a020, 0x3a3ed: 0x6d12a220, 0x3a3ee: 0x6d12a420, 0x3a3ef: 0x6d12a620, + 0x3a3f0: 0x6d12a820, 0x3a3f1: 0x6d12aa20, 0x3a3f2: 0x6d12ac20, 0x3a3f3: 0x6d12ae20, + 0x3a3f4: 0x6d12b020, 0x3a3f5: 0x6d12b220, 0x3a3f6: 0x6d12b420, 0x3a3f7: 0x6d409a20, + 0x3a3f8: 0x6d409c20, 0x3a3f9: 0x6d409e20, 0x3a3fa: 0x6d40a020, 0x3a3fb: 0x6d40a220, + 0x3a3fc: 0x6d40a420, 0x3a3fd: 0x6d40a620, 0x3a3fe: 0x6d40a820, 0x3a3ff: 0x6d40aa20, + // Block 0xe90, offset 0x3a400 + 0x3a400: 0x6d40ac20, 0x3a401: 0x6d40ae20, 0x3a402: 0x6d40b020, 0x3a403: 0x6d40b220, + 0x3a404: 0x6d40b420, 0x3a405: 0x6d40b620, 0x3a406: 0x6d40b820, 0x3a407: 0x6d40ba20, + 0x3a408: 0x6d40bc20, 0x3a409: 0x6d40be20, 0x3a40a: 0x6d40c020, 0x3a40b: 0x6d40c220, + 0x3a40c: 0x6d6d6a20, 0x3a40d: 0x6d6d6c20, 0x3a40e: 0x6d6d6e20, 0x3a40f: 0x6d6d7020, + 0x3a410: 0x6d6d7220, 0x3a411: 0x6d6d7420, 0x3a412: 0x6d6d7620, 0x3a413: 0x6d6d7820, + 0x3a414: 0x6d6d7a20, 0x3a415: 0x6d6d7c20, 0x3a416: 0x6d6d7e20, 0x3a417: 0x6d6d8020, + 0x3a418: 0x6d6d8220, 0x3a419: 0x6d6d8420, 0x3a41a: 0x6d6d8620, 0x3a41b: 0x6d6d8820, + 0x3a41c: 0x6d6d8a20, 0x3a41d: 0x6d6d8c20, 0x3a41e: 0x6d6d8e20, 0x3a41f: 0x6d6d9020, + 0x3a420: 0x6d6d9220, 0x3a421: 0x6d6d9420, 0x3a422: 0x6d6d9620, 0x3a423: 0x6d6d9820, + 0x3a424: 0x6d6d9a20, 0x3a425: 0x6d6d9c20, 0x3a426: 0x6d6d9e20, 0x3a427: 0x6d6da020, + 0x3a428: 0x6d6da220, 0x3a429: 0x6d965820, 0x3a42a: 0x6d965a20, 0x3a42b: 0x6d965c20, + 0x3a42c: 0x6d965e20, 0x3a42d: 0x6d966020, 0x3a42e: 0x6d966220, 0x3a42f: 0x6d966420, + 0x3a430: 0x6d966620, 0x3a431: 0x6d966820, 0x3a432: 0x6d966a20, 0x3a433: 0x6d966c20, + 0x3a434: 0x6d966e20, 0x3a435: 0x6d967020, 0x3a436: 0x6d967220, 0x3a437: 0x6d967420, + 0x3a438: 0x6d967620, 0x3a439: 0x6d967820, 0x3a43a: 0x6d967a20, 0x3a43b: 0x6d967c20, + 0x3a43c: 0x6d967e20, 0x3a43d: 0x6d968020, 0x3a43e: 0x6d968220, 0x3a43f: 0x6d968420, + // Block 0xe91, offset 0x3a440 + 0x3a440: 0x6d968620, 0x3a441: 0x6d968820, 0x3a442: 0x6d968a20, 0x3a443: 0x6d968c20, + 0x3a444: 0x6d968e20, 0x3a445: 0x6db95620, 0x3a446: 0x6db95820, 0x3a447: 0x6db95a20, + 0x3a448: 0x6db95c20, 0x3a449: 0x6db95e20, 0x3a44a: 0x6db96020, 0x3a44b: 0x6db96220, + 0x3a44c: 0x6db96420, 0x3a44d: 0x6db96620, 0x3a44e: 0x6db96820, 0x3a44f: 0x6db96a20, + 0x3a450: 0x6db96c20, 0x3a451: 0x6db96e20, 0x3a452: 0x6db97020, 0x3a453: 0x6db97220, + 0x3a454: 0x6db97420, 0x3a455: 0x6db97620, 0x3a456: 0x6db97820, 0x3a457: 0x6db97a20, + 0x3a458: 0x6db97c20, 0x3a459: 0x6db97e20, 0x3a45a: 0x6db98020, 0x3a45b: 0x6db98220, + 0x3a45c: 0x6db98420, 0x3a45d: 0x6db98620, 0x3a45e: 0x6db98820, 0x3a45f: 0x6db98a20, + 0x3a460: 0x6db98c20, 0x3a461: 0x6dd79220, 0x3a462: 0x6dd79420, 0x3a463: 0x6dd79620, + 0x3a464: 0x6dd79820, 0x3a465: 0x6dd79a20, 0x3a466: 0x6dd79c20, 0x3a467: 0x6dd79e20, + 0x3a468: 0x6dd7a020, 0x3a469: 0x6dd7a220, 0x3a46a: 0x6dd7a420, 0x3a46b: 0x6dd7a620, + 0x3a46c: 0x6dd7a820, 0x3a46d: 0x6dd7aa20, 0x3a46e: 0x6dd7ac20, 0x3a46f: 0x6dd7ae20, + 0x3a470: 0x6dd7b020, 0x3a471: 0x6dd7b220, 0x3a472: 0x6dd7b420, 0x3a473: 0x6dd7b620, + 0x3a474: 0x6dd7b820, 0x3a475: 0x6dd7ba20, 0x3a476: 0x6dd7bc20, 0x3a477: 0x6dd7be20, + 0x3a478: 0x6dd7c020, 0x3a479: 0x6dd7c220, 0x3a47a: 0x6dd7c420, 0x3a47b: 0x6dd7c620, + 0x3a47c: 0x6dd7c820, 0x3a47d: 0x6df01e20, 0x3a47e: 0x6df02020, 0x3a47f: 0x6df02220, + // Block 0xe92, offset 0x3a480 + 0x3a480: 0x6df02420, 0x3a481: 0x6df02620, 0x3a482: 0x6df02820, 0x3a483: 0x6df02a20, + 0x3a484: 0x6df02c20, 0x3a485: 0x6df02e20, 0x3a486: 0x6df03020, 0x3a487: 0x6df03220, + 0x3a488: 0x6df03420, 0x3a489: 0x6df03620, 0x3a48a: 0x6df03820, 0x3a48b: 0x6df03a20, + 0x3a48c: 0x6df03c20, 0x3a48d: 0x6df03e20, 0x3a48e: 0x6df04020, 0x3a48f: 0x6df04220, + 0x3a490: 0x6df04420, 0x3a491: 0x6df04620, 0x3a492: 0x6df04820, 0x3a493: 0x6df04a20, + 0x3a494: 0x6df04c20, 0x3a495: 0x6df04e20, 0x3a496: 0x6e044220, 0x3a497: 0x6e044420, + 0x3a498: 0x6e044620, 0x3a499: 0x6e044820, 0x3a49a: 0x6e044a20, 0x3a49b: 0x6e044c20, + 0x3a49c: 0x6e044e20, 0x3a49d: 0x6e045020, 0x3a49e: 0x6e045220, 0x3a49f: 0x6e045420, + 0x3a4a0: 0x6e045620, 0x3a4a1: 0x6e045820, 0x3a4a2: 0x6e045a20, 0x3a4a3: 0x6e045c20, + 0x3a4a4: 0x6e045e20, 0x3a4a5: 0x6e046020, 0x3a4a6: 0x6e156620, 0x3a4a7: 0x6e156820, + 0x3a4a8: 0x6e156a20, 0x3a4a9: 0x6e156c20, 0x3a4aa: 0x6e156e20, 0x3a4ab: 0x6e157020, + 0x3a4ac: 0x6e157220, 0x3a4ad: 0x6e157420, 0x3a4ae: 0x6e22f420, 0x3a4af: 0x6e22f620, + 0x3a4b0: 0x6e22f820, 0x3a4b1: 0x6e22fa20, 0x3a4b2: 0x6e22fc20, 0x3a4b3: 0x6e22fe20, + 0x3a4b4: 0x6e230020, 0x3a4b5: 0x6e230220, 0x3a4b6: 0x6e2d2820, 0x3a4b7: 0x6e2d2a20, + 0x3a4b8: 0x6e2d2c20, 0x3a4b9: 0x6e2d2e20, 0x3a4ba: 0x6e2d3020, 0x3a4bb: 0x6e2d3220, + 0x3a4bc: 0x6e2d3420, 0x3a4bd: 0x6e2d3620, 0x3a4be: 0x6e350a20, 0x3a4bf: 0x6e350c20, + // Block 0xe93, offset 0x3a4c0 + 0x3a4c0: 0x6e350e20, 0x3a4c1: 0x6e351020, 0x3a4c2: 0x6e351220, 0x3a4c3: 0x6e3aac20, + 0x3a4c4: 0x6e3aae20, 0x3a4c5: 0x6e3e7220, 0x3a4c6: 0x6e3e7420, 0x3a4c7: 0x6e413a20, + 0x3a4c8: 0x6e413c20, 0x3a4c9: 0x6e413e20, 0x3a4ca: 0x6e433a20, 0x3a4cb: 0x6e433c20, + 0x3a4cc: 0x6e433e20, 0x3a4cd: 0x6e45e220, 0x3a4ce: 0x6e45e420, 0x3a4cf: 0x6c890620, + 0x3a4d0: 0x6cb4c620, 0x3a4d1: 0x6cb4c820, 0x3a4d2: 0x6d40ca20, 0x3a4d3: 0x6d40cc20, + 0x3a4d4: 0x6d40ce20, 0x3a4d5: 0x6d6da620, 0x3a4d6: 0x6d6da820, 0x3a4d7: 0x6d6daa20, + 0x3a4d8: 0x6d969020, 0x3a4d9: 0x6d969220, 0x3a4da: 0x6db99220, 0x3a4db: 0x6db99420, + 0x3a4dc: 0x6db99620, 0x3a4dd: 0x6dd7cc20, 0x3a4de: 0x6e046420, 0x3a4df: 0x6e157820, + 0x3a4e0: 0x6e157a20, 0x3a4e1: 0x6e230420, 0x3a4e2: 0x6cb4ce20, 0x3a4e3: 0x6c890820, + 0x3a4e4: 0x6c890a20, 0x3a4e5: 0x6cb4d020, 0x3a4e6: 0x6ce47220, 0x3a4e7: 0x6ce47420, + 0x3a4e8: 0x6ce47620, 0x3a4e9: 0x6ce47820, 0x3a4ea: 0x6d12bc20, 0x3a4eb: 0x6d12be20, + 0x3a4ec: 0x6d40d020, 0x3a4ed: 0x6d6dac20, 0x3a4ee: 0x6d6dae20, 0x3a4ef: 0x6d6db020, + 0x3a4f0: 0x6d969420, 0x3a4f1: 0x6d969620, 0x3a4f2: 0x6db99a20, 0x3a4f3: 0x6db99c20, + 0x3a4f4: 0x6dd7d020, 0x3a4f5: 0x6dd7d220, 0x3a4f6: 0x6dd7d420, 0x3a4f7: 0x6dd7d620, + 0x3a4f8: 0x6e046820, 0x3a4f9: 0x6e157c20, 0x3a4fa: 0x6e157e20, 0x3a4fb: 0x6e3ab020, + 0x3a4fc: 0x6e456620, 0x3a4fd: 0x6c892a20, 0x3a4fe: 0x6c892c20, 0x3a4ff: 0x6c892e20, + // Block 0xe94, offset 0x3a500 + 0x3a500: 0x6c893020, 0x3a501: 0x6c893220, 0x3a502: 0x6cb50a20, 0x3a503: 0x6cb50c20, + 0x3a504: 0x6cb50e20, 0x3a505: 0x6cb51020, 0x3a506: 0x6cb51220, 0x3a507: 0x6cb51420, + 0x3a508: 0x6cb51620, 0x3a509: 0x6cb51820, 0x3a50a: 0x6ce4e420, 0x3a50b: 0x6ce4e620, + 0x3a50c: 0x6ce4e820, 0x3a50d: 0x6ce4ea20, 0x3a50e: 0x6ce4ec20, 0x3a50f: 0x6ce4ee20, + 0x3a510: 0x6ce4f020, 0x3a511: 0x6ce4f220, 0x3a512: 0x6ce4f420, 0x3a513: 0x6ce4f620, + 0x3a514: 0x6ce4f820, 0x3a515: 0x6ce4fa20, 0x3a516: 0x6ce4fc20, 0x3a517: 0x6ce4fe20, + 0x3a518: 0x6ce50020, 0x3a519: 0x6ce50220, 0x3a51a: 0x6ce50420, 0x3a51b: 0x6ce50620, + 0x3a51c: 0x6ce50820, 0x3a51d: 0x6ce50a20, 0x3a51e: 0x6ce50c20, 0x3a51f: 0x6ce50e20, + 0x3a520: 0x6ce51020, 0x3a521: 0x6ce51220, 0x3a522: 0x6ce51420, 0x3a523: 0x6ce51620, + 0x3a524: 0x6ce51820, 0x3a525: 0x6d135820, 0x3a526: 0x6d135a20, 0x3a527: 0x6d135c20, + 0x3a528: 0x6d135e20, 0x3a529: 0x6d136020, 0x3a52a: 0x6d136220, 0x3a52b: 0x6d136420, + 0x3a52c: 0x6d136620, 0x3a52d: 0x6d136820, 0x3a52e: 0x6d136a20, 0x3a52f: 0x6d136c20, + 0x3a530: 0x6d136e20, 0x3a531: 0x6d137020, 0x3a532: 0x6d137220, 0x3a533: 0x6d137420, + 0x3a534: 0x6d137620, 0x3a535: 0x6d137820, 0x3a536: 0x6d137a20, 0x3a537: 0x6d137c20, + 0x3a538: 0x6d137e20, 0x3a539: 0x6d138020, 0x3a53a: 0x6d138220, 0x3a53b: 0x6d138420, + 0x3a53c: 0x6d138620, 0x3a53d: 0x6d138820, 0x3a53e: 0x6d138a20, 0x3a53f: 0x6d138c20, + // Block 0xe95, offset 0x3a540 + 0x3a540: 0x6d138e20, 0x3a541: 0x6d139020, 0x3a542: 0x6d415a20, 0x3a543: 0x6d415c20, + 0x3a544: 0x6d415e20, 0x3a545: 0x6d416020, 0x3a546: 0x6d416220, 0x3a547: 0x6d416420, + 0x3a548: 0x6d416620, 0x3a549: 0x6d416820, 0x3a54a: 0x6d416a20, 0x3a54b: 0x6d416c20, + 0x3a54c: 0x6d416e20, 0x3a54d: 0x6d417020, 0x3a54e: 0x6d417220, 0x3a54f: 0x6d417420, + 0x3a550: 0x6d417620, 0x3a551: 0x6d417820, 0x3a552: 0x6d417a20, 0x3a553: 0x6d417c20, + 0x3a554: 0x6d417e20, 0x3a555: 0x6d418020, 0x3a556: 0x6d418220, 0x3a557: 0x6d418420, + 0x3a558: 0x6d418620, 0x3a559: 0x6d418820, 0x3a55a: 0x6d418a20, 0x3a55b: 0x6d418c20, + 0x3a55c: 0x6d418e20, 0x3a55d: 0x6d419020, 0x3a55e: 0x6d377020, 0x3a55f: 0x6d419220, + 0x3a560: 0x6d419420, 0x3a561: 0x6d419620, 0x3a562: 0x6d419820, 0x3a563: 0x6d419a20, + 0x3a564: 0x6d419c20, 0x3a565: 0x6d419e20, 0x3a566: 0x6d41a020, 0x3a567: 0x6d41a220, + 0x3a568: 0x6d41a420, 0x3a569: 0x6d41a620, 0x3a56a: 0x6d41a820, 0x3a56b: 0x6d41aa20, + 0x3a56c: 0x6d6e4a20, 0x3a56d: 0x6d6e4c20, 0x3a56e: 0x6d6e4e20, 0x3a56f: 0x6d6e5020, + 0x3a570: 0x6d6e5220, 0x3a571: 0x6d6e5420, 0x3a572: 0x6d6e5620, 0x3a573: 0x6d6e5820, + 0x3a574: 0x6d6e5a20, 0x3a575: 0x6d6e5c20, 0x3a576: 0x6d6e5e20, 0x3a577: 0x6d6e6020, + 0x3a578: 0x6d6e6220, 0x3a579: 0x6d6e6420, 0x3a57a: 0x6d6e6620, 0x3a57b: 0x6d6e6820, + 0x3a57c: 0x6d6e6a20, 0x3a57d: 0x6d6e6c20, 0x3a57e: 0x6d6e6e20, 0x3a57f: 0x6d6e7020, + // Block 0xe96, offset 0x3a580 + 0x3a580: 0x6d6e7220, 0x3a581: 0x6d6e7420, 0x3a582: 0x6d6e7620, 0x3a583: 0x6d6e7820, + 0x3a584: 0x6d6e7a20, 0x3a585: 0x6d6e7c20, 0x3a586: 0x6d6e7e20, 0x3a587: 0x6d6e8020, + 0x3a588: 0x6d6e8220, 0x3a589: 0x6d6e8420, 0x3a58a: 0x6d6e8620, 0x3a58b: 0x6d6e8820, + 0x3a58c: 0x6d6e8a20, 0x3a58d: 0x6d6e8c20, 0x3a58e: 0x6d6e8e20, 0x3a58f: 0x6d6e9020, + 0x3a590: 0x6d6e9220, 0x3a591: 0x6d6e9420, 0x3a592: 0x6d6e9620, 0x3a593: 0x6d6e9820, + 0x3a594: 0x6d6e9a20, 0x3a595: 0x6d6e9c20, 0x3a596: 0x6d6e9e20, 0x3a597: 0x6d6ea020, + 0x3a598: 0x6d6ea220, 0x3a599: 0x6d6ea420, 0x3a59a: 0x6d6ea620, 0x3a59b: 0x6d6ea820, + 0x3a59c: 0x6d6eaa20, 0x3a59d: 0x6d6eac20, 0x3a59e: 0x6d6eae20, 0x3a59f: 0x6d6eb020, + 0x3a5a0: 0x6d6eb220, 0x3a5a1: 0x6d6eb420, 0x3a5a2: 0x6d6eb620, 0x3a5a3: 0x6d6eb820, + 0x3a5a4: 0x6d6eba20, 0x3a5a5: 0x6d6ebc20, 0x3a5a6: 0x6d974620, 0x3a5a7: 0x6d974820, + 0x3a5a8: 0x6d974a20, 0x3a5a9: 0x6d974c20, 0x3a5aa: 0x6d974e20, 0x3a5ab: 0x6d975020, + 0x3a5ac: 0x6d975220, 0x3a5ad: 0x6d975420, 0x3a5ae: 0x6d975620, 0x3a5af: 0x6d975820, + 0x3a5b0: 0x6d975a20, 0x3a5b1: 0x6d975c20, 0x3a5b2: 0x6d975e20, 0x3a5b3: 0x6d976020, + 0x3a5b4: 0x6d976220, 0x3a5b5: 0x6d976420, 0x3a5b6: 0x6d976620, 0x3a5b7: 0x6d976820, + 0x3a5b8: 0x6d976a20, 0x3a5b9: 0x6d976c20, 0x3a5ba: 0x6d976e20, 0x3a5bb: 0x6d977020, + 0x3a5bc: 0x6d977220, 0x3a5bd: 0x6d977420, 0x3a5be: 0x6d977620, 0x3a5bf: 0x6d977820, + // Block 0xe97, offset 0x3a5c0 + 0x3a5c0: 0x6d977a20, 0x3a5c1: 0x6d977c20, 0x3a5c2: 0x6d977e20, 0x3a5c3: 0x6d978020, + 0x3a5c4: 0x6d978220, 0x3a5c5: 0x6d978420, 0x3a5c6: 0x6d978620, 0x3a5c7: 0x6d978820, + 0x3a5c8: 0x6d978a20, 0x3a5c9: 0x6d978c20, 0x3a5ca: 0x6d978e20, 0x3a5cb: 0x6d979020, + 0x3a5cc: 0x6d979220, 0x3a5cd: 0x6d979420, 0x3a5ce: 0x6d979620, 0x3a5cf: 0x6d979820, + 0x3a5d0: 0x6d979a20, 0x3a5d1: 0x6d979c20, 0x3a5d2: 0x6d979e20, 0x3a5d3: 0x6d97a020, + 0x3a5d4: 0x6d97a220, 0x3a5d5: 0x6d97a420, 0x3a5d6: 0x6d97a620, 0x3a5d7: 0x6d97a820, + 0x3a5d8: 0x6d97aa20, 0x3a5d9: 0x6d97ac20, 0x3a5da: 0x6d97ae20, 0x3a5db: 0x6d97b020, + 0x3a5dc: 0x6d97b220, 0x3a5dd: 0x6d97b420, 0x3a5de: 0x6d97b620, 0x3a5df: 0x6d97b820, + 0x3a5e0: 0x6d97ba20, 0x3a5e1: 0x6d97bc20, 0x3a5e2: 0x6d97be20, 0x3a5e3: 0x6d97c020, + 0x3a5e4: 0x6d97c220, 0x3a5e5: 0x6d97c420, 0x3a5e6: 0x6d97c620, 0x3a5e7: 0x6d97c820, + 0x3a5e8: 0x6d97ca20, 0x3a5e9: 0x6d97cc20, 0x3a5ea: 0x6d97ce20, 0x3a5eb: 0x6d97d020, + 0x3a5ec: 0x6d97d220, 0x3a5ed: 0x6d97d420, 0x3a5ee: 0x6d97d620, 0x3a5ef: 0x6dba2c20, + 0x3a5f0: 0x6dba2e20, 0x3a5f1: 0x6dba3020, 0x3a5f2: 0x6dba3220, 0x3a5f3: 0x6dba3420, + 0x3a5f4: 0x6dba3620, 0x3a5f5: 0x6dba3820, 0x3a5f6: 0x6dba3a20, 0x3a5f7: 0x6dba3c20, + 0x3a5f8: 0x6dba3e20, 0x3a5f9: 0x6dba4020, 0x3a5fa: 0x6dba4220, 0x3a5fb: 0x6dba4420, + 0x3a5fc: 0x6dba4620, 0x3a5fd: 0x6dba4820, 0x3a5fe: 0x6dba4a20, 0x3a5ff: 0x6dba4c20, + // Block 0xe98, offset 0x3a600 + 0x3a600: 0x6dba4e20, 0x3a601: 0x6dba5020, 0x3a602: 0x6dba5220, 0x3a603: 0x6dba5420, + 0x3a604: 0x6dba5620, 0x3a605: 0x6dba5820, 0x3a606: 0x6dba5a20, 0x3a607: 0x6dba5c20, + 0x3a608: 0x6dba5e20, 0x3a609: 0x6dba6020, 0x3a60a: 0x6dba6220, 0x3a60b: 0x6dba6420, + 0x3a60c: 0x6dba6620, 0x3a60d: 0x6dba6820, 0x3a60e: 0x6dba6a20, 0x3a60f: 0x6dba6c20, + 0x3a610: 0x6dba6e20, 0x3a611: 0x6dba7020, 0x3a612: 0x6dba7220, 0x3a613: 0x6dba7420, + 0x3a614: 0x6dba7620, 0x3a615: 0x6dba7820, 0x3a616: 0x6dba7a20, 0x3a617: 0x6dba7c20, + 0x3a618: 0x6dba7e20, 0x3a619: 0x6dba8020, 0x3a61a: 0x6dba8220, 0x3a61b: 0x6dba8420, + 0x3a61c: 0x6dba8620, 0x3a61d: 0x6dba8820, 0x3a61e: 0x6dba8a20, 0x3a61f: 0x6dba8c20, + 0x3a620: 0x6dba8e20, 0x3a621: 0x6dba9020, 0x3a622: 0x6dba9220, 0x3a623: 0x6dba9420, + 0x3a624: 0x6dba9620, 0x3a625: 0x6dba9820, 0x3a626: 0x6dba9a20, 0x3a627: 0x6dba9c20, + 0x3a628: 0x6dba9e20, 0x3a629: 0x6dbaa020, 0x3a62a: 0x6dbaa220, 0x3a62b: 0x6dbaa420, + 0x3a62c: 0x6dbaa620, 0x3a62d: 0x6dbaa820, 0x3a62e: 0x6dbaaa20, 0x3a62f: 0x6dbaac20, + 0x3a630: 0x6dbaae20, 0x3a631: 0x6dbab020, 0x3a632: 0x6dbab220, 0x3a633: 0x6dbab420, + 0x3a634: 0x6dbab620, 0x3a635: 0x6dbab820, 0x3a636: 0x6dbaba20, 0x3a637: 0x6dbabc20, + 0x3a638: 0x6dbabe20, 0x3a639: 0x6dbac020, 0x3a63a: 0x6dbac220, 0x3a63b: 0x6dbac420, + 0x3a63c: 0x6dbac620, 0x3a63d: 0x6dbac820, 0x3a63e: 0x6dbaca20, 0x3a63f: 0x6dbacc20, + // Block 0xe99, offset 0x3a640 + 0x3a640: 0x6dbace20, 0x3a641: 0x6dbad020, 0x3a642: 0x6dbad220, 0x3a643: 0x6dbad420, + 0x3a644: 0x6dbad620, 0x3a645: 0x6dbad820, 0x3a646: 0x6dbada20, 0x3a647: 0x6dd85a20, + 0x3a648: 0x6dd85c20, 0x3a649: 0x6dd85e20, 0x3a64a: 0x6dd86020, 0x3a64b: 0x6dd86220, + 0x3a64c: 0x6dd86420, 0x3a64d: 0x6dd86620, 0x3a64e: 0x6dd86820, 0x3a64f: 0x6dd86a20, + 0x3a650: 0x6dd86c20, 0x3a651: 0x6dd86e20, 0x3a652: 0x6dd87020, 0x3a653: 0x6dd87220, + 0x3a654: 0x6dd87420, 0x3a655: 0x6dd87620, 0x3a656: 0x6dd87820, 0x3a657: 0x6dd87a20, + 0x3a658: 0x6dd87c20, 0x3a659: 0x6dd87e20, 0x3a65a: 0x6dd88020, 0x3a65b: 0x6dd88220, + 0x3a65c: 0x6dd88420, 0x3a65d: 0x6dd88620, 0x3a65e: 0x6dd88820, 0x3a65f: 0x6dd88a20, + 0x3a660: 0x6dd88c20, 0x3a661: 0x6dd88e20, 0x3a662: 0x6dd89020, 0x3a663: 0x6dd89220, + 0x3a664: 0x6dd89420, 0x3a665: 0x6dd89620, 0x3a666: 0x6dd89820, 0x3a667: 0x6dd89a20, + 0x3a668: 0x6dd89c20, 0x3a669: 0x6dd89e20, 0x3a66a: 0x6dd8a020, 0x3a66b: 0x6dd8a220, + 0x3a66c: 0x6dd8a420, 0x3a66d: 0x6dd8a620, 0x3a66e: 0x6dd8a820, 0x3a66f: 0x6dd8aa20, + 0x3a670: 0x6dd8ac20, 0x3a671: 0x6dd8ae20, 0x3a672: 0x6dd8b020, 0x3a673: 0x6dd8b220, + 0x3a674: 0x6dd8b420, 0x3a675: 0x6dd8b620, 0x3a676: 0x6dd8b820, 0x3a677: 0x6dd8ba20, + 0x3a678: 0x6dd8bc20, 0x3a679: 0x6dd8be20, 0x3a67a: 0x6dd8c020, 0x3a67b: 0x6dd8c220, + 0x3a67c: 0x6dd8c420, 0x3a67d: 0x6dd8c620, 0x3a67e: 0x6dd8c820, 0x3a67f: 0x6dd8ca20, + // Block 0xe9a, offset 0x3a680 + 0x3a680: 0x6dd8cc20, 0x3a681: 0x6dd8ce20, 0x3a682: 0x6dd8d020, 0x3a683: 0x6dd8d220, + 0x3a684: 0x6dd8d420, 0x3a685: 0x6dd8d620, 0x3a686: 0x6dd8d820, 0x3a687: 0x6dd8da20, + 0x3a688: 0x6dd8dc20, 0x3a689: 0x6dd8de20, 0x3a68a: 0x6dd8e020, 0x3a68b: 0x6dd8e220, + 0x3a68c: 0x6dd8e420, 0x3a68d: 0x6dd8e620, 0x3a68e: 0x6dd8e820, 0x3a68f: 0x6df0d820, + 0x3a690: 0x6df0da20, 0x3a691: 0x6df0dc20, 0x3a692: 0x6df0de20, 0x3a693: 0x6df0e020, + 0x3a694: 0x6df0e220, 0x3a695: 0x6df0e420, 0x3a696: 0x6df0e620, 0x3a697: 0x6df0e820, + 0x3a698: 0x6df0ea20, 0x3a699: 0x6df0ec20, 0x3a69a: 0x6df0ee20, 0x3a69b: 0x6df0f020, + 0x3a69c: 0x6df0f220, 0x3a69d: 0x6df0f420, 0x3a69e: 0x6df0f620, 0x3a69f: 0x6df0f820, + 0x3a6a0: 0x6df0fa20, 0x3a6a1: 0x6df0fc20, 0x3a6a2: 0x6df0fe20, 0x3a6a3: 0x6df10020, + 0x3a6a4: 0x6df10220, 0x3a6a5: 0x6df10420, 0x3a6a6: 0x6df10620, 0x3a6a7: 0x6df10820, + 0x3a6a8: 0x6df10a20, 0x3a6a9: 0x6df10c20, 0x3a6aa: 0x6df10e20, 0x3a6ab: 0x6df11020, + 0x3a6ac: 0x6df11220, 0x3a6ad: 0x6df11420, 0x3a6ae: 0x6df11620, 0x3a6af: 0x6df11820, + 0x3a6b0: 0x6df11a20, 0x3a6b1: 0x6df11c20, 0x3a6b2: 0x6df11e20, 0x3a6b3: 0x6df12020, + 0x3a6b4: 0x6df12220, 0x3a6b5: 0x6df12420, 0x3a6b6: 0x6df12620, 0x3a6b7: 0x6df12820, + 0x3a6b8: 0x6df12a20, 0x3a6b9: 0x6df12c20, 0x3a6ba: 0x6df12e20, 0x3a6bb: 0x6df13020, + 0x3a6bc: 0x6df13220, 0x3a6bd: 0x6df13420, 0x3a6be: 0x6df13620, 0x3a6bf: 0x6df13820, + // Block 0xe9b, offset 0x3a6c0 + 0x3a6c0: 0x6df13a20, 0x3a6c1: 0x6df13c20, 0x3a6c2: 0x6df13e20, 0x3a6c3: 0x6df14020, + 0x3a6c4: 0x6df14220, 0x3a6c5: 0x6df14420, 0x3a6c6: 0x6df14620, 0x3a6c7: 0x6df14820, + 0x3a6c8: 0x6df14a20, 0x3a6c9: 0x6df14c20, 0x3a6ca: 0x6df14e20, 0x3a6cb: 0x6df15020, + 0x3a6cc: 0x6df15220, 0x3a6cd: 0x6e04e420, 0x3a6ce: 0x6e04e620, 0x3a6cf: 0x6e04e820, + 0x3a6d0: 0x6e04ea20, 0x3a6d1: 0x6e04ec20, 0x3a6d2: 0x6e04ee20, 0x3a6d3: 0x6e04f020, + 0x3a6d4: 0x6e04f220, 0x3a6d5: 0x6e15c420, 0x3a6d6: 0x6e04f420, 0x3a6d7: 0x6e04f620, + 0x3a6d8: 0x6e04f820, 0x3a6d9: 0x6e04fa20, 0x3a6da: 0x6e04fc20, 0x3a6db: 0x6e04fe20, + 0x3a6dc: 0x6e050020, 0x3a6dd: 0x6e050220, 0x3a6de: 0x6e050420, 0x3a6df: 0x6e050620, + 0x3a6e0: 0x6e050820, 0x3a6e1: 0x6e050a20, 0x3a6e2: 0x6e050c20, 0x3a6e3: 0x6e050e20, + 0x3a6e4: 0x6e051020, 0x3a6e5: 0x6e051220, 0x3a6e6: 0x6e051420, 0x3a6e7: 0x6e051620, + 0x3a6e8: 0x6e051820, 0x3a6e9: 0x6e051a20, 0x3a6ea: 0x6e051c20, 0x3a6eb: 0x6e051e20, + 0x3a6ec: 0x6e052020, 0x3a6ed: 0x6e052220, 0x3a6ee: 0x6e052420, 0x3a6ef: 0x6e052620, + 0x3a6f0: 0x6e052820, 0x3a6f1: 0x6e052a20, 0x3a6f2: 0x6e052c20, 0x3a6f3: 0x6e052e20, + 0x3a6f4: 0x6e053020, 0x3a6f5: 0x6e053220, 0x3a6f6: 0x6e053420, 0x3a6f7: 0x6e053620, + 0x3a6f8: 0x6e053820, 0x3a6f9: 0x6e053a20, 0x3a6fa: 0x6e053c20, 0x3a6fb: 0x6e053e20, + 0x3a6fc: 0x6e054020, 0x3a6fd: 0x6e054220, 0x3a6fe: 0x6e054420, 0x3a6ff: 0x6e054620, + // Block 0xe9c, offset 0x3a700 + 0x3a700: 0x6e054820, 0x3a701: 0x6e054a20, 0x3a702: 0x6e054c20, 0x3a703: 0x6e054e20, + 0x3a704: 0x6e055020, 0x3a705: 0x6e055220, 0x3a706: 0x6e055420, 0x3a707: 0x6e055620, + 0x3a708: 0x6e055820, 0x3a709: 0x6e055a20, 0x3a70a: 0x6e055c20, 0x3a70b: 0x6e055e20, + 0x3a70c: 0x6e056020, 0x3a70d: 0x6e056220, 0x3a70e: 0x6e056420, 0x3a70f: 0x6e056620, + 0x3a710: 0x6e056820, 0x3a711: 0x6e056a20, 0x3a712: 0x6e056c20, 0x3a713: 0x6e056e20, + 0x3a714: 0x6e057020, 0x3a715: 0x6e15c620, 0x3a716: 0x6e15c820, 0x3a717: 0x6e15ca20, + 0x3a718: 0x6e15cc20, 0x3a719: 0x6e15ce20, 0x3a71a: 0x6e15d020, 0x3a71b: 0x6e15d220, + 0x3a71c: 0x6e15d420, 0x3a71d: 0x6e15d620, 0x3a71e: 0x6e15d820, 0x3a71f: 0x6e15da20, + 0x3a720: 0x6e15dc20, 0x3a721: 0x6e15de20, 0x3a722: 0x6e15e020, 0x3a723: 0x6e15e220, + 0x3a724: 0x6e15e420, 0x3a725: 0x6e15e620, 0x3a726: 0x6e15e820, 0x3a727: 0x6e15ea20, + 0x3a728: 0x6e15ec20, 0x3a729: 0x6e15ee20, 0x3a72a: 0x6e15f020, 0x3a72b: 0x6e15f220, + 0x3a72c: 0x6e15f420, 0x3a72d: 0x6e15f620, 0x3a72e: 0x6e15f820, 0x3a72f: 0x6e15fa20, + 0x3a730: 0x6e15fc20, 0x3a731: 0x6e15fe20, 0x3a732: 0x6e160020, 0x3a733: 0x6e160220, + 0x3a734: 0x6e160420, 0x3a735: 0x6e160620, 0x3a736: 0x6e160820, 0x3a737: 0x6e160a20, + 0x3a738: 0x6e160c20, 0x3a739: 0x6e160e20, 0x3a73a: 0x6e161020, 0x3a73b: 0x6e161220, + 0x3a73c: 0x6e161420, 0x3a73d: 0x6e161620, 0x3a73e: 0x6e161820, 0x3a73f: 0x6e161a20, + // Block 0xe9d, offset 0x3a740 + 0x3a740: 0x6e161c20, 0x3a741: 0x6e161e20, 0x3a742: 0x6e162020, 0x3a743: 0x6e162220, + 0x3a744: 0x6e162420, 0x3a745: 0x6e162620, 0x3a746: 0x6e162820, 0x3a747: 0x6e162a20, + 0x3a748: 0x6e162c20, 0x3a749: 0x6e162e20, 0x3a74a: 0x6e163020, 0x3a74b: 0x6e163220, + 0x3a74c: 0x6e163420, 0x3a74d: 0x6e163620, 0x3a74e: 0x6e163820, 0x3a74f: 0x6e163a20, + 0x3a750: 0x6e163c20, 0x3a751: 0x6e163e20, 0x3a752: 0x6e233e20, 0x3a753: 0x6e234020, + 0x3a754: 0x6e234220, 0x3a755: 0x6e234420, 0x3a756: 0x6e234620, 0x3a757: 0x6e234820, + 0x3a758: 0x6e234a20, 0x3a759: 0x6e234c20, 0x3a75a: 0x6e234e20, 0x3a75b: 0x6e235020, + 0x3a75c: 0x6e235220, 0x3a75d: 0x6e235420, 0x3a75e: 0x6e235620, 0x3a75f: 0x6e235820, + 0x3a760: 0x6e235a20, 0x3a761: 0x6e235c20, 0x3a762: 0x6e235e20, 0x3a763: 0x6e236020, + 0x3a764: 0x6e236220, 0x3a765: 0x6e236420, 0x3a766: 0x6e236620, 0x3a767: 0x6e236820, + 0x3a768: 0x6e236a20, 0x3a769: 0x6e236c20, 0x3a76a: 0x6e236e20, 0x3a76b: 0x6e237020, + 0x3a76c: 0x6e237220, 0x3a76d: 0x6e237420, 0x3a76e: 0x6e237620, 0x3a76f: 0x6e237820, + 0x3a770: 0x6e237a20, 0x3a771: 0x6e237c20, 0x3a772: 0x6e237e20, 0x3a773: 0x6e238020, + 0x3a774: 0x6e238220, 0x3a775: 0x6e238420, 0x3a776: 0x6e238620, 0x3a777: 0x6e238820, + 0x3a778: 0x6e2d6a20, 0x3a779: 0x6e2d6c20, 0x3a77a: 0x6e2d6e20, 0x3a77b: 0x6e2d7020, + 0x3a77c: 0x6e2d7220, 0x3a77d: 0x6e2d7420, 0x3a77e: 0x6e2d7620, 0x3a77f: 0x6e2d7820, + // Block 0xe9e, offset 0x3a780 + 0x3a780: 0x6e2d7a20, 0x3a781: 0x6e2d7c20, 0x3a782: 0x6e2d7e20, 0x3a783: 0x6e2d8020, + 0x3a784: 0x6e2d8220, 0x3a785: 0x6e2d8420, 0x3a786: 0x6e2d8620, 0x3a787: 0x6e2d8820, + 0x3a788: 0x6e2d8a20, 0x3a789: 0x6e2d8c20, 0x3a78a: 0x6e2d8e20, 0x3a78b: 0x6e2d9020, + 0x3a78c: 0x6e2d9220, 0x3a78d: 0x6e2d9420, 0x3a78e: 0x6e2d9620, 0x3a78f: 0x6e2d9820, + 0x3a790: 0x6e2d9a20, 0x3a791: 0x6e2d9c20, 0x3a792: 0x6e2d9e20, 0x3a793: 0x6e2da020, + 0x3a794: 0x6e2da220, 0x3a795: 0x6e2da420, 0x3a796: 0x6e2da620, 0x3a797: 0x6e2da820, + 0x3a798: 0x6e2daa20, 0x3a799: 0x6e2dac20, 0x3a79a: 0x6e2dae20, 0x3a79b: 0x6e2db020, + 0x3a79c: 0x6e2db220, 0x3a79d: 0x6e352620, 0x3a79e: 0x6e352820, 0x3a79f: 0x6e352a20, + 0x3a7a0: 0x6e352c20, 0x3a7a1: 0x6e352e20, 0x3a7a2: 0x6e353020, 0x3a7a3: 0x6e353220, + 0x3a7a4: 0x6e353420, 0x3a7a5: 0x6e353620, 0x3a7a6: 0x6e353820, 0x3a7a7: 0x6e353a20, + 0x3a7a8: 0x6e353c20, 0x3a7a9: 0x6e353e20, 0x3a7aa: 0x6e354020, 0x3a7ab: 0x6e354220, + 0x3a7ac: 0x6e354420, 0x3a7ad: 0x6e354620, 0x3a7ae: 0x6e354820, 0x3a7af: 0x6e354a20, + 0x3a7b0: 0x6e354c20, 0x3a7b1: 0x6e354e20, 0x3a7b2: 0x6e355020, 0x3a7b3: 0x6e355220, + 0x3a7b4: 0x6e355420, 0x3a7b5: 0x6e355620, 0x3a7b6: 0x6e355820, 0x3a7b7: 0x6e355a20, + 0x3a7b8: 0x6e355c20, 0x3a7b9: 0x6e355e20, 0x3a7ba: 0x6e3ac220, 0x3a7bb: 0x6e3ac420, + 0x3a7bc: 0x6e3ac620, 0x3a7bd: 0x6e3ac820, 0x3a7be: 0x6e3aca20, 0x3a7bf: 0x6e3acc20, + // Block 0xe9f, offset 0x3a7c0 + 0x3a7c0: 0x6e3ace20, 0x3a7c1: 0x6e3ad020, 0x3a7c2: 0x6e3ad220, 0x3a7c3: 0x6e3ad420, + 0x3a7c4: 0x6e3ad620, 0x3a7c5: 0x6e3ad820, 0x3a7c6: 0x6e3ada20, 0x3a7c7: 0x6e3adc20, + 0x3a7c8: 0x6e3ade20, 0x3a7c9: 0x6e3e8420, 0x3a7ca: 0x6e3e8620, 0x3a7cb: 0x6e3e8820, + 0x3a7cc: 0x6e3e8a20, 0x3a7cd: 0x6e3e8c20, 0x3a7ce: 0x6e3e8e20, 0x3a7cf: 0x6e3e9020, + 0x3a7d0: 0x6e3e9220, 0x3a7d1: 0x6e3e9420, 0x3a7d2: 0x6e3e9620, 0x3a7d3: 0x6e3e9820, + 0x3a7d4: 0x6e3e9a20, 0x3a7d5: 0x6e3e9c20, 0x3a7d6: 0x6e3e9e20, 0x3a7d7: 0x6e3ea020, + 0x3a7d8: 0x6e3ea220, 0x3a7d9: 0x6e3ea420, 0x3a7da: 0x6e3ea620, 0x3a7db: 0x6e3ea820, + 0x3a7dc: 0x6e3eaa20, 0x3a7dd: 0x6e3eac20, 0x3a7de: 0x6e414820, 0x3a7df: 0x6e414a20, + 0x3a7e0: 0x6e414c20, 0x3a7e1: 0x6e414e20, 0x3a7e2: 0x6e415020, 0x3a7e3: 0x6e415220, + 0x3a7e4: 0x6e415420, 0x3a7e5: 0x6e415620, 0x3a7e6: 0x6e415820, 0x3a7e7: 0x6e415a20, + 0x3a7e8: 0x6e415c20, 0x3a7e9: 0x6e434820, 0x3a7ea: 0x6e434a20, 0x3a7eb: 0x6e434c20, + 0x3a7ec: 0x6e434e20, 0x3a7ed: 0x6e435020, 0x3a7ee: 0x6e435220, 0x3a7ef: 0x6e435420, + 0x3a7f0: 0x6e435620, 0x3a7f1: 0x6e3ae020, 0x3a7f2: 0x6e449820, 0x3a7f3: 0x6e449a20, + 0x3a7f4: 0x6e449c20, 0x3a7f5: 0x6e449e20, 0x3a7f6: 0x6e44a020, 0x3a7f7: 0x6e456820, + 0x3a7f8: 0x6e456a20, 0x3a7f9: 0x6e456c20, 0x3a7fa: 0x6e45e620, 0x3a7fb: 0x6e464020, + 0x3a7fc: 0x6e46d020, 0x3a7fd: 0x6e471620, 0x3a7fe: 0x6c41f620, 0x3a7ff: 0x6c41f820, + // Block 0xea0, offset 0x3a800 + 0x3a800: 0x6c629620, 0x3a801: 0x6c629820, 0x3a802: 0x6c629a20, 0x3a803: 0x6c897220, + 0x3a804: 0x6c897420, 0x3a805: 0x6c897620, 0x3a806: 0x6c897820, 0x3a807: 0x6ce56620, + 0x3a808: 0x6ce56820, 0x3a809: 0x6d13dc20, 0x3a80a: 0x6d13de20, 0x3a80b: 0x6d13e020, + 0x3a80c: 0x6d13e220, 0x3a80d: 0x6d6ef220, 0x3a80e: 0x6d41ec20, 0x3a80f: 0x6d6ef420, + 0x3a810: 0x6d980420, 0x3a811: 0x6dbb0620, 0x3a812: 0x6d980620, 0x3a813: 0x6dbb0820, + 0x3a814: 0x6dbb0a20, 0x3a815: 0x6dd90820, 0x3a816: 0x6dd90a20, 0x3a817: 0x6c280020, + 0x3a818: 0x6c280220, 0x3a819: 0x6c62aa20, 0x3a81a: 0x6cb58e20, 0x3a81b: 0x6cb59020, + 0x3a81c: 0x6cb59220, 0x3a81d: 0x6cb59420, 0x3a81e: 0x6cb59620, 0x3a81f: 0x6cb59820, + 0x3a820: 0x6cb59a20, 0x3a821: 0x6cb59c20, 0x3a822: 0x6cb59e20, 0x3a823: 0x6cb5a020, + 0x3a824: 0x6cb5a220, 0x3a825: 0x6cb5a420, 0x3a826: 0x6ce57420, 0x3a827: 0x6ce57620, + 0x3a828: 0x6ce57820, 0x3a829: 0x6ce57a20, 0x3a82a: 0x6ce57c20, 0x3a82b: 0x6ce57e20, + 0x3a82c: 0x6ce58020, 0x3a82d: 0x6ce58220, 0x3a82e: 0x6ce58420, 0x3a82f: 0x6ce58620, + 0x3a830: 0x6ce58820, 0x3a831: 0x6ce58a20, 0x3a832: 0x6d13fa20, 0x3a833: 0x6d13fc20, + 0x3a834: 0x6d13fe20, 0x3a835: 0x6d140020, 0x3a836: 0x6d140220, 0x3a837: 0x6d140420, + 0x3a838: 0x6d140620, 0x3a839: 0x6d140820, 0x3a83a: 0x6d140a20, 0x3a83b: 0x6d140c20, + 0x3a83c: 0x6d140e20, 0x3a83d: 0x6d141020, 0x3a83e: 0x6d141220, 0x3a83f: 0x6d141420, + // Block 0xea1, offset 0x3a840 + 0x3a840: 0x6d41fe20, 0x3a841: 0x6d420020, 0x3a842: 0x6d420220, 0x3a843: 0x6d420420, + 0x3a844: 0x6d420620, 0x3a845: 0x6d420820, 0x3a846: 0x6d420a20, 0x3a847: 0x6d6f0220, + 0x3a848: 0x6d6f0420, 0x3a849: 0x6d6f0620, 0x3a84a: 0x6d6f0820, 0x3a84b: 0x6d6f0a20, + 0x3a84c: 0x6d6f0c20, 0x3a84d: 0x6d6f0e20, 0x3a84e: 0x6d6f1020, 0x3a84f: 0x6d6f1220, + 0x3a850: 0x6d6f1420, 0x3a851: 0x6d6f1620, 0x3a852: 0x6d6f1820, 0x3a853: 0x6d980e20, + 0x3a854: 0x6d981020, 0x3a855: 0x6d981220, 0x3a856: 0x6d981420, 0x3a857: 0x6d981620, + 0x3a858: 0x6d981820, 0x3a859: 0x6d981a20, 0x3a85a: 0x6d981c20, 0x3a85b: 0x6d981e20, + 0x3a85c: 0x6d982020, 0x3a85d: 0x6d982220, 0x3a85e: 0x6dbb1620, 0x3a85f: 0x6dbb1820, + 0x3a860: 0x6dbb1a20, 0x3a861: 0x6dbb1c20, 0x3a862: 0x6dbb1e20, 0x3a863: 0x6dbb2020, + 0x3a864: 0x6dbb2220, 0x3a865: 0x6dd91020, 0x3a866: 0x6dd91220, 0x3a867: 0x6dd91420, + 0x3a868: 0x6dd91620, 0x3a869: 0x6dd91820, 0x3a86a: 0x6dd91a20, 0x3a86b: 0x6dd91c20, + 0x3a86c: 0x6dd91e20, 0x3a86d: 0x6df16820, 0x3a86e: 0x6df16a20, 0x3a86f: 0x6df16c20, + 0x3a870: 0x6df16e20, 0x3a871: 0x6df17020, 0x3a872: 0x6df17220, 0x3a873: 0x6e059620, + 0x3a874: 0x6e059820, 0x3a875: 0x6e059a20, 0x3a876: 0x6e059c20, 0x3a877: 0x6e059e20, + 0x3a878: 0x6e165020, 0x3a879: 0x6e165220, 0x3a87a: 0x6e165420, 0x3a87b: 0x6e239a20, + 0x3a87c: 0x6e239c20, 0x3a87d: 0x6e239e20, 0x3a87e: 0x6e23a020, 0x3a87f: 0x6e23a220, + // Block 0xea2, offset 0x3a880 + 0x3a880: 0x6e2dba20, 0x3a881: 0x6e2dbc20, 0x3a882: 0x6e356820, 0x3a883: 0x6e356a20, + 0x3a884: 0x6e3eb020, 0x3a885: 0x6e435a20, 0x3a886: 0x6e44a220, 0x3a887: 0x6c420420, + 0x3a888: 0x6c420620, 0x3a889: 0x6c62b020, 0x3a88a: 0x6c898a20, 0x3a88b: 0x6c898c20, + 0x3a88c: 0x6c898e20, 0x3a88d: 0x6c899020, 0x3a88e: 0x6c899220, 0x3a88f: 0x6c899420, + 0x3a890: 0x6cb5b420, 0x3a891: 0x6cb5b620, 0x3a892: 0x6cb5b820, 0x3a893: 0x6cb5ba20, + 0x3a894: 0x6cb5bc20, 0x3a895: 0x6cb5be20, 0x3a896: 0x6cb5c020, 0x3a897: 0x6ce5ae20, + 0x3a898: 0x6ce5b020, 0x3a899: 0x6ce5b220, 0x3a89a: 0x6ce5b420, 0x3a89b: 0x6ce5b620, + 0x3a89c: 0x6ce5b820, 0x3a89d: 0x6ce5ba20, 0x3a89e: 0x6ce5bc20, 0x3a89f: 0x6ce5be20, + 0x3a8a0: 0x6ce5c020, 0x3a8a1: 0x6ce5c220, 0x3a8a2: 0x6ce5c420, 0x3a8a3: 0x6ce5c620, + 0x3a8a4: 0x6ce5c820, 0x3a8a5: 0x6ce5ca20, 0x3a8a6: 0x6ce5cc20, 0x3a8a7: 0x6ce5ce20, + 0x3a8a8: 0x6ce5d020, 0x3a8a9: 0x6ce5d220, 0x3a8aa: 0x6ce5d420, 0x3a8ab: 0x6ce5d620, + 0x3a8ac: 0x6ce5d820, 0x3a8ad: 0x6ce5da20, 0x3a8ae: 0x6ce5dc20, 0x3a8af: 0x6ce5de20, + 0x3a8b0: 0x6ce5e020, 0x3a8b1: 0x6ce5e220, 0x3a8b2: 0x6ce5e420, 0x3a8b3: 0x6d143020, + 0x3a8b4: 0x6d143220, 0x3a8b5: 0x6d143420, 0x3a8b6: 0x6d143620, 0x3a8b7: 0x6d143820, + 0x3a8b8: 0x6d143a20, 0x3a8b9: 0x6d143c20, 0x3a8ba: 0x6d143e20, 0x3a8bb: 0x6d144020, + 0x3a8bc: 0x6d144220, 0x3a8bd: 0x6d144420, 0x3a8be: 0x6d144620, 0x3a8bf: 0x6d144820, + // Block 0xea3, offset 0x3a8c0 + 0x3a8c0: 0x6d144a20, 0x3a8c1: 0x6d144c20, 0x3a8c2: 0x6d144e20, 0x3a8c3: 0x6d145020, + 0x3a8c4: 0x6d145220, 0x3a8c5: 0x6d145420, 0x3a8c6: 0x6d145620, 0x3a8c7: 0x6d145820, + 0x3a8c8: 0x6d145a20, 0x3a8c9: 0x6d145c20, 0x3a8ca: 0x6d145e20, 0x3a8cb: 0x6d146020, + 0x3a8cc: 0x6d146220, 0x3a8cd: 0x6d422e20, 0x3a8ce: 0x6d423020, 0x3a8cf: 0x6d423220, + 0x3a8d0: 0x6d423420, 0x3a8d1: 0x6d423620, 0x3a8d2: 0x6d423820, 0x3a8d3: 0x6d423a20, + 0x3a8d4: 0x6d423c20, 0x3a8d5: 0x6d423e20, 0x3a8d6: 0x6d424020, 0x3a8d7: 0x6d424220, + 0x3a8d8: 0x6d424420, 0x3a8d9: 0x6d424620, 0x3a8da: 0x6d424820, 0x3a8db: 0x6d424a20, + 0x3a8dc: 0x6d424c20, 0x3a8dd: 0x6d424e20, 0x3a8de: 0x6d425020, 0x3a8df: 0x6d425220, + 0x3a8e0: 0x6d425420, 0x3a8e1: 0x6d425620, 0x3a8e2: 0x6d425820, 0x3a8e3: 0x6d425a20, + 0x3a8e4: 0x6d425c20, 0x3a8e5: 0x6d425e20, 0x3a8e6: 0x6d426020, 0x3a8e7: 0x6d6f3820, + 0x3a8e8: 0x6d6f3a20, 0x3a8e9: 0x6d6f3c20, 0x3a8ea: 0x6d6f3e20, 0x3a8eb: 0x6d6f4020, + 0x3a8ec: 0x6d6f4220, 0x3a8ed: 0x6d6f4420, 0x3a8ee: 0x6d6f4620, 0x3a8ef: 0x6d6f4820, + 0x3a8f0: 0x6d6f4a20, 0x3a8f1: 0x6d6f4c20, 0x3a8f2: 0x6d6f4e20, 0x3a8f3: 0x6d6f5020, + 0x3a8f4: 0x6d6f5220, 0x3a8f5: 0x6d6f5420, 0x3a8f6: 0x6d6f5620, 0x3a8f7: 0x6d6f5820, + 0x3a8f8: 0x6d6f5a20, 0x3a8f9: 0x6d6f5c20, 0x3a8fa: 0x6d6f5e20, 0x3a8fb: 0x6d6f6020, + 0x3a8fc: 0x6d6f6220, 0x3a8fd: 0x6d6f6420, 0x3a8fe: 0x6d6f6620, 0x3a8ff: 0x6d6f6820, + // Block 0xea4, offset 0x3a900 + 0x3a900: 0x6d6f6a20, 0x3a901: 0x6d6f6c20, 0x3a902: 0x6d6f6e20, 0x3a903: 0x6d6f7020, + 0x3a904: 0x6d6f7220, 0x3a905: 0x6d6f7420, 0x3a906: 0x6d6f7620, 0x3a907: 0x6d6f7820, + 0x3a908: 0x6d984e20, 0x3a909: 0x6d985020, 0x3a90a: 0x6d985220, 0x3a90b: 0x6d985420, + 0x3a90c: 0x6d985620, 0x3a90d: 0x6d985820, 0x3a90e: 0x6d985a20, 0x3a90f: 0x6d985c20, + 0x3a910: 0x6d985e20, 0x3a911: 0x6d986020, 0x3a912: 0x6d986220, 0x3a913: 0x6d986420, + 0x3a914: 0x6d986620, 0x3a915: 0x6d986820, 0x3a916: 0x6d986a20, 0x3a917: 0x6d986c20, + 0x3a918: 0x6d986e20, 0x3a919: 0x6d987020, 0x3a91a: 0x6d987220, 0x3a91b: 0x6d987420, + 0x3a91c: 0x6d987620, 0x3a91d: 0x6d987820, 0x3a91e: 0x6d987a20, 0x3a91f: 0x6d987c20, + 0x3a920: 0x6d987e20, 0x3a921: 0x6d988020, 0x3a922: 0x6d988220, 0x3a923: 0x6d988420, + 0x3a924: 0x6d988620, 0x3a925: 0x6dbb4e20, 0x3a926: 0x6dbb5020, 0x3a927: 0x6dbb5220, + 0x3a928: 0x6dbb5420, 0x3a929: 0x6dbb5620, 0x3a92a: 0x6dbb5820, 0x3a92b: 0x6dbb5a20, + 0x3a92c: 0x6dbb5c20, 0x3a92d: 0x6dbb5e20, 0x3a92e: 0x6dbb6020, 0x3a92f: 0x6dbb6220, + 0x3a930: 0x6dbb6420, 0x3a931: 0x6dbb6620, 0x3a932: 0x6dbb6820, 0x3a933: 0x6dbb6a20, + 0x3a934: 0x6dbb6c20, 0x3a935: 0x6dbb6e20, 0x3a936: 0x6dbb7020, 0x3a937: 0x6dbb7220, + 0x3a938: 0x6dbb7420, 0x3a939: 0x6dbb7620, 0x3a93a: 0x6dbb7820, 0x3a93b: 0x6dbb7a20, + 0x3a93c: 0x6dbb7c20, 0x3a93d: 0x6dbb7e20, 0x3a93e: 0x6dbb8020, 0x3a93f: 0x6dbb8220, + // Block 0xea5, offset 0x3a940 + 0x3a940: 0x6dd93220, 0x3a941: 0x6dd93420, 0x3a942: 0x6dd93620, 0x3a943: 0x6dd93820, + 0x3a944: 0x6dd93a20, 0x3a945: 0x6dd93c20, 0x3a946: 0x6dd93e20, 0x3a947: 0x6dd94020, + 0x3a948: 0x6dd94220, 0x3a949: 0x6dd94420, 0x3a94a: 0x6dd94620, 0x3a94b: 0x6dd94820, + 0x3a94c: 0x6dd94a20, 0x3a94d: 0x6dd94c20, 0x3a94e: 0x6dd94e20, 0x3a94f: 0x6dd95020, + 0x3a950: 0x6dd95220, 0x3a951: 0x6dd95420, 0x3a952: 0x6dd95620, 0x3a953: 0x6dd95820, + 0x3a954: 0x6dd95a20, 0x3a955: 0x6dd95c20, 0x3a956: 0x6dd95e20, 0x3a957: 0x6dd96020, + 0x3a958: 0x6dd96220, 0x3a959: 0x6dd96420, 0x3a95a: 0x6dd96620, 0x3a95b: 0x6dd96820, + 0x3a95c: 0x6df18020, 0x3a95d: 0x6df18220, 0x3a95e: 0x6df18420, 0x3a95f: 0x6df18620, + 0x3a960: 0x6df18820, 0x3a961: 0x6df18a20, 0x3a962: 0x6df18c20, 0x3a963: 0x6df18e20, + 0x3a964: 0x6df19020, 0x3a965: 0x6df19220, 0x3a966: 0x6df19420, 0x3a967: 0x6df19620, + 0x3a968: 0x6df19820, 0x3a969: 0x6df19a20, 0x3a96a: 0x6df19c20, 0x3a96b: 0x6df19e20, + 0x3a96c: 0x6e05aa20, 0x3a96d: 0x6e05ac20, 0x3a96e: 0x6e05ae20, 0x3a96f: 0x6e05b020, + 0x3a970: 0x6e05b220, 0x3a971: 0x6e05b420, 0x3a972: 0x6e05b620, 0x3a973: 0x6e05b820, + 0x3a974: 0x6e05ba20, 0x3a975: 0x6e05bc20, 0x3a976: 0x6e05be20, 0x3a977: 0x6e05c020, + 0x3a978: 0x6e05c220, 0x3a979: 0x6e05c420, 0x3a97a: 0x6e05c620, 0x3a97b: 0x6e05c820, + 0x3a97c: 0x6e05ca20, 0x3a97d: 0x6e05cc20, 0x3a97e: 0x6e05ce20, 0x3a97f: 0x6e05d020, + // Block 0xea6, offset 0x3a980 + 0x3a980: 0x6e05d220, 0x3a981: 0x6e05d420, 0x3a982: 0x6e05d620, 0x3a983: 0x6e166620, + 0x3a984: 0x6e166820, 0x3a985: 0x6e166a20, 0x3a986: 0x6e166c20, 0x3a987: 0x6e166e20, + 0x3a988: 0x6e167020, 0x3a989: 0x6e167220, 0x3a98a: 0x6e167420, 0x3a98b: 0x6e167620, + 0x3a98c: 0x6e167820, 0x3a98d: 0x6e167a20, 0x3a98e: 0x6e167c20, 0x3a98f: 0x6e167e20, + 0x3a990: 0x6e168020, 0x3a991: 0x6e168220, 0x3a992: 0x6e168420, 0x3a993: 0x6e168620, + 0x3a994: 0x6e23a820, 0x3a995: 0x6e168820, 0x3a996: 0x6e168a20, 0x3a997: 0x6e168c20, + 0x3a998: 0x6e23aa20, 0x3a999: 0x6e23ac20, 0x3a99a: 0x6e23ae20, 0x3a99b: 0x6e23b020, + 0x3a99c: 0x6e23b220, 0x3a99d: 0x6e23b420, 0x3a99e: 0x6e23b620, 0x3a99f: 0x6e2dbe20, + 0x3a9a0: 0x6e2dc020, 0x3a9a1: 0x6e2dc220, 0x3a9a2: 0x6e2dc420, 0x3a9a3: 0x6e2dc620, + 0x3a9a4: 0x6e2dc820, 0x3a9a5: 0x6e2dca20, 0x3a9a6: 0x6e356c20, 0x3a9a7: 0x6e356e20, + 0x3a9a8: 0x6e357020, 0x3a9a9: 0x6e357220, 0x3a9aa: 0x6e357420, 0x3a9ab: 0x6e357620, + 0x3a9ac: 0x6e357820, 0x3a9ad: 0x6e357a20, 0x3a9ae: 0x6e357c20, 0x3a9af: 0x6e3ae820, + 0x3a9b0: 0x6e3aea20, 0x3a9b1: 0x6e3aec20, 0x3a9b2: 0x6e3aee20, 0x3a9b3: 0x6e3af020, + 0x3a9b4: 0x6e3af220, 0x3a9b5: 0x6e3af420, 0x3a9b6: 0x6e357e20, 0x3a9b7: 0x6e3eb220, + 0x3a9b8: 0x6e3af620, 0x3a9b9: 0x6e3eb420, 0x3a9ba: 0x6e3eb620, 0x3a9bb: 0x6e416020, + 0x3a9bc: 0x6e44a420, 0x3a9bd: 0x6e464220, 0x3a9be: 0x6e464420, 0x3a9bf: 0x6c159a20, + // Block 0xea7, offset 0x3a9c0 + 0x3a9c0: 0x6c159c20, 0x3a9c1: 0x6c159e20, 0x3a9c2: 0x6c281420, 0x3a9c3: 0x6c281620, + 0x3a9c4: 0x6c62c620, 0x3a9c5: 0x6c62c820, 0x3a9c6: 0x6ce5f420, 0x3a9c7: 0x6ce5f620, + 0x3a9c8: 0x6ce5f820, 0x3a9c9: 0x6d147620, 0x3a9ca: 0x6d147820, 0x3a9cb: 0x6d6f8420, + 0x3a9cc: 0x6d6f8620, 0x3a9cd: 0x6dbb8820, 0x3a9ce: 0x6e05d820, 0x3a9cf: 0x6c00d020, + 0x3a9d0: 0x6c052820, 0x3a9d1: 0x6c052a20, 0x3a9d2: 0x6c052c20, 0x3a9d3: 0x6c052e20, + 0x3a9d4: 0x6c053020, 0x3a9d5: 0x6c053220, 0x3a9d6: 0x6c0ab820, 0x3a9d7: 0x6c0aba20, + 0x3a9d8: 0x6c0abc20, 0x3a9d9: 0x6c0abe20, 0x3a9da: 0x6c15b020, 0x3a9db: 0x6c15b220, + 0x3a9dc: 0x6c15b420, 0x3a9dd: 0x6c15b620, 0x3a9de: 0x6c15b820, 0x3a9df: 0x6c15ba20, + 0x3a9e0: 0x6c15bc20, 0x3a9e1: 0x6c15be20, 0x3a9e2: 0x6c15c020, 0x3a9e3: 0x6c15c220, + 0x3a9e4: 0x6c15c420, 0x3a9e5: 0x6c15c620, 0x3a9e6: 0x6c15c820, 0x3a9e7: 0x6c15ca20, + 0x3a9e8: 0x6c15cc20, 0x3a9e9: 0x6c15ce20, 0x3a9ea: 0x6c284a20, 0x3a9eb: 0x6c284c20, + 0x3a9ec: 0x6c284e20, 0x3a9ed: 0x6c285020, 0x3a9ee: 0x6c285220, 0x3a9ef: 0x6c285420, + 0x3a9f0: 0x6c285620, 0x3a9f1: 0x6c285820, 0x3a9f2: 0x6c285a20, 0x3a9f3: 0x6c285c20, + 0x3a9f4: 0x6c285e20, 0x3a9f5: 0x6c286020, 0x3a9f6: 0x6c286220, 0x3a9f7: 0x6c286420, + 0x3a9f8: 0x6c286620, 0x3a9f9: 0x6c286820, 0x3a9fa: 0x6c286a20, 0x3a9fb: 0x6c286c20, + 0x3a9fc: 0x6c286e20, 0x3a9fd: 0x6c287020, 0x3a9fe: 0x6c287220, 0x3a9ff: 0x6c287420, + // Block 0xea8, offset 0x3aa00 + 0x3aa00: 0x6c287620, 0x3aa01: 0x6c423e20, 0x3aa02: 0x6c424020, 0x3aa03: 0x6c424220, + 0x3aa04: 0x6c424420, 0x3aa05: 0x6c424620, 0x3aa06: 0x6c424820, 0x3aa07: 0x6c424a20, + 0x3aa08: 0x6c424c20, 0x3aa09: 0x6c424e20, 0x3aa0a: 0x6c425020, 0x3aa0b: 0x6c425220, + 0x3aa0c: 0x6c425420, 0x3aa0d: 0x6c425620, 0x3aa0e: 0x6c425820, 0x3aa0f: 0x6c425a20, + 0x3aa10: 0x6c425c20, 0x3aa11: 0x6c425e20, 0x3aa12: 0x6c426020, 0x3aa13: 0x6c426220, + 0x3aa14: 0x6c426420, 0x3aa15: 0x6c426620, 0x3aa16: 0x6c426820, 0x3aa17: 0x6c426a20, + 0x3aa18: 0x6c62ee20, 0x3aa19: 0x6c62f020, 0x3aa1a: 0x6c62f220, 0x3aa1b: 0x6c62f420, + 0x3aa1c: 0x6c62f620, 0x3aa1d: 0x6c62f820, 0x3aa1e: 0x6c62fa20, 0x3aa1f: 0x6c62fc20, + 0x3aa20: 0x6c62fe20, 0x3aa21: 0x6c630020, 0x3aa22: 0x6c630220, 0x3aa23: 0x6c630420, + 0x3aa24: 0x6c630620, 0x3aa25: 0x6c630820, 0x3aa26: 0x6c630a20, 0x3aa27: 0x6c630c20, + 0x3aa28: 0x6c630e20, 0x3aa29: 0x6c631020, 0x3aa2a: 0x6c631220, 0x3aa2b: 0x6c631420, + 0x3aa2c: 0x6c631620, 0x3aa2d: 0x6c631820, 0x3aa2e: 0x6c631a20, 0x3aa2f: 0x6c631c20, + 0x3aa30: 0x6c631e20, 0x3aa31: 0x6c632020, 0x3aa32: 0x6c632220, 0x3aa33: 0x6c632420, + 0x3aa34: 0x6c6bf420, 0x3aa35: 0x6c89da20, 0x3aa36: 0x6c89dc20, 0x3aa37: 0x6c89de20, + 0x3aa38: 0x6c89e020, 0x3aa39: 0x6c89e220, 0x3aa3a: 0x6c89e420, 0x3aa3b: 0x6c89e620, + 0x3aa3c: 0x6c89e820, 0x3aa3d: 0x6c89ea20, 0x3aa3e: 0x6c89ec20, 0x3aa3f: 0x6c89ee20, + // Block 0xea9, offset 0x3aa40 + 0x3aa40: 0x6c89f020, 0x3aa41: 0x6c89f220, 0x3aa42: 0x6c89f420, 0x3aa43: 0x6c89f620, + 0x3aa44: 0x6c89f820, 0x3aa45: 0x6c89fa20, 0x3aa46: 0x6c89fc20, 0x3aa47: 0x6c89fe20, + 0x3aa48: 0x6c8a0020, 0x3aa49: 0x6c8a0220, 0x3aa4a: 0x6c8a0420, 0x3aa4b: 0x6c8a0620, + 0x3aa4c: 0x6c8a0820, 0x3aa4d: 0x6c8a0a20, 0x3aa4e: 0x6c8a0c20, 0x3aa4f: 0x6c8a0e20, + 0x3aa50: 0x6c8a1020, 0x3aa51: 0x6c8a1220, 0x3aa52: 0x6c8a1420, 0x3aa53: 0x6c8a1620, + 0x3aa54: 0x6c8a1820, 0x3aa55: 0x6c8a1a20, 0x3aa56: 0x6c8a1c20, 0x3aa57: 0x6c8a1e20, + 0x3aa58: 0x6c8a2020, 0x3aa59: 0x6c8a2220, 0x3aa5a: 0x6c8a2420, 0x3aa5b: 0x6c8a2620, + 0x3aa5c: 0x6c8a2820, 0x3aa5d: 0x6c8a2a20, 0x3aa5e: 0x6cb60a20, 0x3aa5f: 0x6cb60c20, + 0x3aa60: 0x6cb60e20, 0x3aa61: 0x6cb61020, 0x3aa62: 0x6cb61220, 0x3aa63: 0x6cb61420, + 0x3aa64: 0x6cb61620, 0x3aa65: 0x6cb61820, 0x3aa66: 0x6cb61a20, 0x3aa67: 0x6cb61c20, + 0x3aa68: 0x6cb61e20, 0x3aa69: 0x6cb62020, 0x3aa6a: 0x6cb62220, 0x3aa6b: 0x6cb62420, + 0x3aa6c: 0x6cb62620, 0x3aa6d: 0x6cb62820, 0x3aa6e: 0x6cb62a20, 0x3aa6f: 0x6cb62c20, + 0x3aa70: 0x6cb62e20, 0x3aa71: 0x6cb63020, 0x3aa72: 0x6cb63220, 0x3aa73: 0x6cb63420, + 0x3aa74: 0x6cb63620, 0x3aa75: 0x6cb63820, 0x3aa76: 0x6cb63a20, 0x3aa77: 0x6cb63c20, + 0x3aa78: 0x6cb63e20, 0x3aa79: 0x6cb64020, 0x3aa7a: 0x6cb64220, 0x3aa7b: 0x6cb64420, + 0x3aa7c: 0x6cb64620, 0x3aa7d: 0x6cb64820, 0x3aa7e: 0x6cb64a20, 0x3aa7f: 0x6cb64c20, + // Block 0xeaa, offset 0x3aa80 + 0x3aa80: 0x6ce62a20, 0x3aa81: 0x6ce62c20, 0x3aa82: 0x6ce62e20, 0x3aa83: 0x6ce63020, + 0x3aa84: 0x6ce63220, 0x3aa85: 0x6ce63420, 0x3aa86: 0x6ce63620, 0x3aa87: 0x6ce63820, + 0x3aa88: 0x6ce63a20, 0x3aa89: 0x6ce63c20, 0x3aa8a: 0x6ce63e20, 0x3aa8b: 0x6ce64020, + 0x3aa8c: 0x6ce64220, 0x3aa8d: 0x6ce64420, 0x3aa8e: 0x6ce64620, 0x3aa8f: 0x6ce64820, + 0x3aa90: 0x6ce64a20, 0x3aa91: 0x6ce64c20, 0x3aa92: 0x6ce64e20, 0x3aa93: 0x6ce65020, + 0x3aa94: 0x6ce65220, 0x3aa95: 0x6ce65420, 0x3aa96: 0x6ce65620, 0x3aa97: 0x6ce65820, + 0x3aa98: 0x6ce65a20, 0x3aa99: 0x6ce65c20, 0x3aa9a: 0x6ce65e20, 0x3aa9b: 0x6ce66020, + 0x3aa9c: 0x6ce66220, 0x3aa9d: 0x6ce66420, 0x3aa9e: 0x6ce66620, 0x3aa9f: 0x6ce66820, + 0x3aaa0: 0x6ce66a20, 0x3aaa1: 0x6ce66c20, 0x3aaa2: 0x6ce66e20, 0x3aaa3: 0x6ce67020, + 0x3aaa4: 0x6ce67220, 0x3aaa5: 0x6ce67420, 0x3aaa6: 0x6ce67620, 0x3aaa7: 0x6ce67820, + 0x3aaa8: 0x6ce67a20, 0x3aaa9: 0x6ce67c20, 0x3aaaa: 0x6ce67e20, 0x3aaab: 0x6ce68020, + 0x3aaac: 0x6ce68220, 0x3aaad: 0x6ce68420, 0x3aaae: 0x6d149e20, 0x3aaaf: 0x6d14a020, + 0x3aab0: 0x6d14a220, 0x3aab1: 0x6d14a420, 0x3aab2: 0x6d14a620, 0x3aab3: 0x6d14a820, + 0x3aab4: 0x6d14aa20, 0x3aab5: 0x6d14ac20, 0x3aab6: 0x6d14ae20, 0x3aab7: 0x6d14b020, + 0x3aab8: 0x6d14b220, 0x3aab9: 0x6d14b420, 0x3aaba: 0x6d14b620, 0x3aabb: 0x6d14b820, + 0x3aabc: 0x6d14ba20, 0x3aabd: 0x6d14bc20, 0x3aabe: 0x6d14be20, 0x3aabf: 0x6d14c020, + // Block 0xeab, offset 0x3aac0 + 0x3aac0: 0x6d14c220, 0x3aac1: 0x6d14c420, 0x3aac2: 0x6d14c620, 0x3aac3: 0x6d14c820, + 0x3aac4: 0x6d14ca20, 0x3aac5: 0x6d14cc20, 0x3aac6: 0x6d14ce20, 0x3aac7: 0x6d14d020, + 0x3aac8: 0x6d14d220, 0x3aac9: 0x6d14d420, 0x3aaca: 0x6d428420, 0x3aacb: 0x6d428620, + 0x3aacc: 0x6d428820, 0x3aacd: 0x6d428a20, 0x3aace: 0x6d428c20, 0x3aacf: 0x6d428e20, + 0x3aad0: 0x6d429020, 0x3aad1: 0x6d429220, 0x3aad2: 0x6d429420, 0x3aad3: 0x6d429620, + 0x3aad4: 0x6d429820, 0x3aad5: 0x6d429a20, 0x3aad6: 0x6d429c20, 0x3aad7: 0x6d429e20, + 0x3aad8: 0x6d42a020, 0x3aad9: 0x6d42a220, 0x3aada: 0x6d42a420, 0x3aadb: 0x6d42a620, + 0x3aadc: 0x6d42a820, 0x3aadd: 0x6d42aa20, 0x3aade: 0x6d42ac20, 0x3aadf: 0x6d42ae20, + 0x3aae0: 0x6d42b020, 0x3aae1: 0x6d42b220, 0x3aae2: 0x6d42b420, 0x3aae3: 0x6d42b620, + 0x3aae4: 0x6d42b820, 0x3aae5: 0x6d42ba20, 0x3aae6: 0x6d42bc20, 0x3aae7: 0x6d42be20, + 0x3aae8: 0x6d42c020, 0x3aae9: 0x6d42c220, 0x3aaea: 0x6d6f9820, 0x3aaeb: 0x6d6f9a20, + 0x3aaec: 0x6d6f9c20, 0x3aaed: 0x6d6f9e20, 0x3aaee: 0x6d6fa020, 0x3aaef: 0x6d6fa220, + 0x3aaf0: 0x6d6fa420, 0x3aaf1: 0x6d6fa620, 0x3aaf2: 0x6d6fa820, 0x3aaf3: 0x6d6faa20, + 0x3aaf4: 0x6d6fac20, 0x3aaf5: 0x6d6fae20, 0x3aaf6: 0x6d6fb020, 0x3aaf7: 0x6d6fb220, + 0x3aaf8: 0x6d6fb420, 0x3aaf9: 0x6d6fb620, 0x3aafa: 0x6d6fb820, 0x3aafb: 0x6d6fba20, + 0x3aafc: 0x6d6fbc20, 0x3aafd: 0x6d6fbe20, 0x3aafe: 0x6d6fc020, 0x3aaff: 0x6d98a420, + // Block 0xeac, offset 0x3ab00 + 0x3ab00: 0x6d98a620, 0x3ab01: 0x6d98a820, 0x3ab02: 0x6d98aa20, 0x3ab03: 0x6d98ac20, + 0x3ab04: 0x6d98ae20, 0x3ab05: 0x6d98b020, 0x3ab06: 0x6d98b220, 0x3ab07: 0x6d98b420, + 0x3ab08: 0x6d98b620, 0x3ab09: 0x6d98b820, 0x3ab0a: 0x6d98ba20, 0x3ab0b: 0x6d98bc20, + 0x3ab0c: 0x6d98be20, 0x3ab0d: 0x6dbba020, 0x3ab0e: 0x6dbba220, 0x3ab0f: 0x6dbba420, + 0x3ab10: 0x6dbba620, 0x3ab11: 0x6dbba820, 0x3ab12: 0x6dbbaa20, 0x3ab13: 0x6dbbac20, + 0x3ab14: 0x6dbbae20, 0x3ab15: 0x6dbbb020, 0x3ab16: 0x6dd96c20, 0x3ab17: 0x6dd96e20, + 0x3ab18: 0x6dd97020, 0x3ab19: 0x6dd97220, 0x3ab1a: 0x6dd97420, 0x3ab1b: 0x6dd97620, + 0x3ab1c: 0x6dd97820, 0x3ab1d: 0x6dd97a20, 0x3ab1e: 0x6dd97c20, 0x3ab1f: 0x6dd97e20, + 0x3ab20: 0x6dd98020, 0x3ab21: 0x6dd98220, 0x3ab22: 0x6df1a620, 0x3ab23: 0x6df1a820, + 0x3ab24: 0x6df1aa20, 0x3ab25: 0x6df1ac20, 0x3ab26: 0x6e05de20, 0x3ab27: 0x6e05e020, + 0x3ab28: 0x6e05e220, 0x3ab29: 0x6e05e420, 0x3ab2a: 0x6e05e620, 0x3ab2b: 0x6e05e820, + 0x3ab2c: 0x6e169220, 0x3ab2d: 0x6e169420, 0x3ab2e: 0x6e23b820, 0x3ab2f: 0x6e23ba20, + 0x3ab30: 0x6e2dcc20, 0x3ab31: 0x6e2dce20, 0x3ab32: 0x6e3eb820, 0x3ab33: 0x6e3eba20, + 0x3ab34: 0x6e416220, 0x3ab35: 0x6e416420, 0x3ab36: 0x6d14de20, 0x3ab37: 0x6d42cc20, + 0x3ab38: 0x6d6fc220, 0x3ab39: 0x6d6fc420, 0x3ab3a: 0x6d6fc620, 0x3ab3b: 0x6d6fc820, + 0x3ab3c: 0x6d98c220, 0x3ab3d: 0x6d98c420, 0x3ab3e: 0x6d98c620, 0x3ab3f: 0x6dbbb420, + // Block 0xead, offset 0x3ab40 + 0x3ab40: 0x6dd98620, 0x3ab41: 0x6dd98820, 0x3ab42: 0x6e05ea20, 0x3ab43: 0x6e05ec20, + 0x3ab44: 0x6e23bc20, 0x3ab45: 0x6c8a3c20, 0x3ab46: 0x6c8a3e20, 0x3ab47: 0x6c8a4020, + 0x3ab48: 0x6cb66820, 0x3ab49: 0x6cb66a20, 0x3ab4a: 0x6cb66c20, 0x3ab4b: 0x6cb66e20, + 0x3ab4c: 0x6cb67020, 0x3ab4d: 0x6cb67220, 0x3ab4e: 0x6cb67420, 0x3ab4f: 0x6cb67620, + 0x3ab50: 0x6cb67820, 0x3ab51: 0x6cb67a20, 0x3ab52: 0x6ce6a020, 0x3ab53: 0x6ce6a220, + 0x3ab54: 0x6ce6a420, 0x3ab55: 0x6ce6a620, 0x3ab56: 0x6ce6a820, 0x3ab57: 0x6ce6aa20, + 0x3ab58: 0x6ce6ac20, 0x3ab59: 0x6ce6ae20, 0x3ab5a: 0x6ce6b020, 0x3ab5b: 0x6ce6b220, + 0x3ab5c: 0x6ce6b420, 0x3ab5d: 0x6ce6b620, 0x3ab5e: 0x6ce6b820, 0x3ab5f: 0x6ce6ba20, + 0x3ab60: 0x6d14f420, 0x3ab61: 0x6d14f620, 0x3ab62: 0x6d14f820, 0x3ab63: 0x6d14fa20, + 0x3ab64: 0x6d14fc20, 0x3ab65: 0x6d14fe20, 0x3ab66: 0x6d150020, 0x3ab67: 0x6d150220, + 0x3ab68: 0x6d150420, 0x3ab69: 0x6d150620, 0x3ab6a: 0x6d150820, 0x3ab6b: 0x6d150a20, + 0x3ab6c: 0x6d150c20, 0x3ab6d: 0x6d150e20, 0x3ab6e: 0x6d151020, 0x3ab6f: 0x6d151220, + 0x3ab70: 0x6d151420, 0x3ab71: 0x6d151620, 0x3ab72: 0x6d42d820, 0x3ab73: 0x6d42da20, + 0x3ab74: 0x6d42dc20, 0x3ab75: 0x6d42de20, 0x3ab76: 0x6d42e020, 0x3ab77: 0x6d42e220, + 0x3ab78: 0x6d42e420, 0x3ab79: 0x6d42e620, 0x3ab7a: 0x6d42e820, 0x3ab7b: 0x6d42ea20, + 0x3ab7c: 0x6d42ec20, 0x3ab7d: 0x6d42ee20, 0x3ab7e: 0x6d42f020, 0x3ab7f: 0x6d42f220, + // Block 0xeae, offset 0x3ab80 + 0x3ab80: 0x6d42f420, 0x3ab81: 0x6d42f620, 0x3ab82: 0x6d42f820, 0x3ab83: 0x6d42fa20, + 0x3ab84: 0x6d42fc20, 0x3ab85: 0x6d42fe20, 0x3ab86: 0x6d430020, 0x3ab87: 0x6d430220, + 0x3ab88: 0x6d430420, 0x3ab89: 0x6d430620, 0x3ab8a: 0x6d430820, 0x3ab8b: 0x6d6fd220, + 0x3ab8c: 0x6d6fd420, 0x3ab8d: 0x6d6fd620, 0x3ab8e: 0x6d6fd820, 0x3ab8f: 0x6d6fda20, + 0x3ab90: 0x6d6fdc20, 0x3ab91: 0x6d6fde20, 0x3ab92: 0x6d6fe020, 0x3ab93: 0x6d6fe220, + 0x3ab94: 0x6d6fe420, 0x3ab95: 0x6d6fe620, 0x3ab96: 0x6d6fe820, 0x3ab97: 0x6d6fea20, + 0x3ab98: 0x6d6fec20, 0x3ab99: 0x6d6fee20, 0x3ab9a: 0x6d6ff020, 0x3ab9b: 0x6d6ff220, + 0x3ab9c: 0x6d6ff420, 0x3ab9d: 0x6d6ff620, 0x3ab9e: 0x6d6ff820, 0x3ab9f: 0x6d6ffa20, + 0x3aba0: 0x6d98d020, 0x3aba1: 0x6d98d220, 0x3aba2: 0x6d98d420, 0x3aba3: 0x6d98d620, + 0x3aba4: 0x6d98d820, 0x3aba5: 0x6d98da20, 0x3aba6: 0x6d98dc20, 0x3aba7: 0x6d98de20, + 0x3aba8: 0x6d98e020, 0x3aba9: 0x6d98e220, 0x3abaa: 0x6d98e420, 0x3abab: 0x6d98e620, + 0x3abac: 0x6d98e820, 0x3abad: 0x6d98ea20, 0x3abae: 0x6d98ec20, 0x3abaf: 0x6d98ee20, + 0x3abb0: 0x6d98f020, 0x3abb1: 0x6d98f220, 0x3abb2: 0x6d98f420, 0x3abb3: 0x6d98f620, + 0x3abb4: 0x6d98f820, 0x3abb5: 0x6d98fa20, 0x3abb6: 0x6d98fc20, 0x3abb7: 0x6d98fe20, + 0x3abb8: 0x6d990020, 0x3abb9: 0x6d990220, 0x3abba: 0x6d990420, 0x3abbb: 0x6d990620, + 0x3abbc: 0x6d990820, 0x3abbd: 0x6d990a20, 0x3abbe: 0x6d990c20, 0x3abbf: 0x6dbbbc20, + // Block 0xeaf, offset 0x3abc0 + 0x3abc0: 0x6dbbbe20, 0x3abc1: 0x6dbbc020, 0x3abc2: 0x6dbbc220, 0x3abc3: 0x6dbbc420, + 0x3abc4: 0x6dbbc620, 0x3abc5: 0x6dbbc820, 0x3abc6: 0x6dbbca20, 0x3abc7: 0x6dbbcc20, + 0x3abc8: 0x6dbbce20, 0x3abc9: 0x6dbbd020, 0x3abca: 0x6dbbd220, 0x3abcb: 0x6dbbd420, + 0x3abcc: 0x6dbbd620, 0x3abcd: 0x6dbbd820, 0x3abce: 0x6dbbda20, 0x3abcf: 0x6dbbdc20, + 0x3abd0: 0x6dbbde20, 0x3abd1: 0x6dbbe020, 0x3abd2: 0x6dbbe220, 0x3abd3: 0x6dbbe420, + 0x3abd4: 0x6dbbe620, 0x3abd5: 0x6dbbe820, 0x3abd6: 0x6dbbea20, 0x3abd7: 0x6dd9a020, + 0x3abd8: 0x6dd9a220, 0x3abd9: 0x6dd9a420, 0x3abda: 0x6dd9a620, 0x3abdb: 0x6dd9a820, + 0x3abdc: 0x6dd9aa20, 0x3abdd: 0x6dd9ac20, 0x3abde: 0x6dd9ae20, 0x3abdf: 0x6dd9b020, + 0x3abe0: 0x6dd9b220, 0x3abe1: 0x6dd9b420, 0x3abe2: 0x6dd9b620, 0x3abe3: 0x6dd9b820, + 0x3abe4: 0x6df1b420, 0x3abe5: 0x6df1b620, 0x3abe6: 0x6df1b820, 0x3abe7: 0x6df1ba20, + 0x3abe8: 0x6df1bc20, 0x3abe9: 0x6df1be20, 0x3abea: 0x6df1c020, 0x3abeb: 0x6df1c220, + 0x3abec: 0x6df1c420, 0x3abed: 0x6df1c620, 0x3abee: 0x6df1c820, 0x3abef: 0x6df1ca20, + 0x3abf0: 0x6df1cc20, 0x3abf1: 0x6df1ce20, 0x3abf2: 0x6df1d020, 0x3abf3: 0x6df1d220, + 0x3abf4: 0x6e05f420, 0x3abf5: 0x6e05f620, 0x3abf6: 0x6e05f820, 0x3abf7: 0x6e05fa20, + 0x3abf8: 0x6e05fc20, 0x3abf9: 0x6e05fe20, 0x3abfa: 0x6e060020, 0x3abfb: 0x6e060220, + 0x3abfc: 0x6e060420, 0x3abfd: 0x6e060620, 0x3abfe: 0x6e060820, 0x3abff: 0x6e060a20, + // Block 0xeb0, offset 0x3ac00 + 0x3ac00: 0x6e060c20, 0x3ac01: 0x6e060e20, 0x3ac02: 0x6e061020, 0x3ac03: 0x6e061220, + 0x3ac04: 0x6e061420, 0x3ac05: 0x6e061620, 0x3ac06: 0x6e061820, 0x3ac07: 0x6e169820, + 0x3ac08: 0x6e169a20, 0x3ac09: 0x6e169c20, 0x3ac0a: 0x6e169e20, 0x3ac0b: 0x6e16a020, + 0x3ac0c: 0x6e16a220, 0x3ac0d: 0x6e16a420, 0x3ac0e: 0x6e16a620, 0x3ac0f: 0x6e16a820, + 0x3ac10: 0x6e16aa20, 0x3ac11: 0x6e16ac20, 0x3ac12: 0x6e16ae20, 0x3ac13: 0x6e23c020, + 0x3ac14: 0x6e23c220, 0x3ac15: 0x6e23c420, 0x3ac16: 0x6e23c620, 0x3ac17: 0x6e23c820, + 0x3ac18: 0x6e23ca20, 0x3ac19: 0x6e23cc20, 0x3ac1a: 0x6e23ce20, 0x3ac1b: 0x6e23d020, + 0x3ac1c: 0x6e2dd020, 0x3ac1d: 0x6e2dd220, 0x3ac1e: 0x6e2dd420, 0x3ac1f: 0x6e2dd620, + 0x3ac20: 0x6e2dd820, 0x3ac21: 0x6e2dda20, 0x3ac22: 0x6e2ddc20, 0x3ac23: 0x6e2dde20, + 0x3ac24: 0x6e2de020, 0x3ac25: 0x6e2de220, 0x3ac26: 0x6e2de420, 0x3ac27: 0x6e358420, + 0x3ac28: 0x6e358620, 0x3ac29: 0x6e358820, 0x3ac2a: 0x6e358a20, 0x3ac2b: 0x6e358c20, + 0x3ac2c: 0x6e3afc20, 0x3ac2d: 0x6e3afe20, 0x3ac2e: 0x6e3b0020, 0x3ac2f: 0x6e3ebc20, + 0x3ac30: 0x6e3ebe20, 0x3ac31: 0x6e3ec020, 0x3ac32: 0x6e435e20, 0x3ac33: 0x6e436020, + 0x3ac34: 0x6e464820, 0x3ac35: 0x6e46ee20, 0x3ac36: 0x6c632c20, 0x3ac37: 0x6c8a4220, + 0x3ac38: 0x6c8a4420, 0x3ac39: 0x6cb68420, 0x3ac3a: 0x6cb68620, 0x3ac3b: 0x6cb68820, + 0x3ac3c: 0x6cb68a20, 0x3ac3d: 0x6cb68c20, 0x3ac3e: 0x6cb68e20, 0x3ac3f: 0x6cb69020, + // Block 0xeb1, offset 0x3ac40 + 0x3ac40: 0x6cb69220, 0x3ac41: 0x6cb69420, 0x3ac42: 0x6ce6d220, 0x3ac43: 0x6ce6d420, + 0x3ac44: 0x6ce6d620, 0x3ac45: 0x6ce6d820, 0x3ac46: 0x6ce6da20, 0x3ac47: 0x6ce6dc20, + 0x3ac48: 0x6ce6de20, 0x3ac49: 0x6ce6e020, 0x3ac4a: 0x6ce6e220, 0x3ac4b: 0x6ce6e420, + 0x3ac4c: 0x6ce6e620, 0x3ac4d: 0x6ce6e820, 0x3ac4e: 0x6ce6ea20, 0x3ac4f: 0x6ce6ec20, + 0x3ac50: 0x6ce6ee20, 0x3ac51: 0x6ce6f020, 0x3ac52: 0x6d153020, 0x3ac53: 0x6d153220, + 0x3ac54: 0x6d153420, 0x3ac55: 0x6d153620, 0x3ac56: 0x6d153820, 0x3ac57: 0x6d153a20, + 0x3ac58: 0x6d153c20, 0x3ac59: 0x6d153e20, 0x3ac5a: 0x6d154020, 0x3ac5b: 0x6d154220, + 0x3ac5c: 0x6d154420, 0x3ac5d: 0x6d154620, 0x3ac5e: 0x6d154820, 0x3ac5f: 0x6d154a20, + 0x3ac60: 0x6d154c20, 0x3ac61: 0x6d154e20, 0x3ac62: 0x6d432220, 0x3ac63: 0x6d432420, + 0x3ac64: 0x6d432620, 0x3ac65: 0x6d432820, 0x3ac66: 0x6d432a20, 0x3ac67: 0x6d432c20, + 0x3ac68: 0x6d432e20, 0x3ac69: 0x6d433020, 0x3ac6a: 0x6d433220, 0x3ac6b: 0x6d433420, + 0x3ac6c: 0x6d433620, 0x3ac6d: 0x6d433820, 0x3ac6e: 0x6d433a20, 0x3ac6f: 0x6d433c20, + 0x3ac70: 0x6d433e20, 0x3ac71: 0x6d434020, 0x3ac72: 0x6d434220, 0x3ac73: 0x6d434420, + 0x3ac74: 0x6d434620, 0x3ac75: 0x6d434820, 0x3ac76: 0x6d434a20, 0x3ac77: 0x6d701420, + 0x3ac78: 0x6d701620, 0x3ac79: 0x6d701820, 0x3ac7a: 0x6d701a20, 0x3ac7b: 0x6d701c20, + 0x3ac7c: 0x6d701e20, 0x3ac7d: 0x6d702020, 0x3ac7e: 0x6d702220, 0x3ac7f: 0x6d702420, + // Block 0xeb2, offset 0x3ac80 + 0x3ac80: 0x6d702620, 0x3ac81: 0x6d702820, 0x3ac82: 0x6d702a20, 0x3ac83: 0x6d702c20, + 0x3ac84: 0x6d702e20, 0x3ac85: 0x6d703020, 0x3ac86: 0x6d703220, 0x3ac87: 0x6d703420, + 0x3ac88: 0x6d703620, 0x3ac89: 0x6d703820, 0x3ac8a: 0x6d703a20, 0x3ac8b: 0x6d703c20, + 0x3ac8c: 0x6d703e20, 0x3ac8d: 0x6d704020, 0x3ac8e: 0x6d704220, 0x3ac8f: 0x6d704420, + 0x3ac90: 0x6d704620, 0x3ac91: 0x6d704820, 0x3ac92: 0x6d993020, 0x3ac93: 0x6d993220, + 0x3ac94: 0x6d993420, 0x3ac95: 0x6d993620, 0x3ac96: 0x6d993820, 0x3ac97: 0x6d993a20, + 0x3ac98: 0x6d993c20, 0x3ac99: 0x6d993e20, 0x3ac9a: 0x6d994020, 0x3ac9b: 0x6d994220, + 0x3ac9c: 0x6d994420, 0x3ac9d: 0x6d994620, 0x3ac9e: 0x6d994820, 0x3ac9f: 0x6d994a20, + 0x3aca0: 0x6d994c20, 0x3aca1: 0x6d994e20, 0x3aca2: 0x6d995020, 0x3aca3: 0x6d995220, + 0x3aca4: 0x6d995420, 0x3aca5: 0x6d995620, 0x3aca6: 0x6d995820, 0x3aca7: 0x6d995a20, + 0x3aca8: 0x6d995c20, 0x3aca9: 0x6d995e20, 0x3acaa: 0x6d996020, 0x3acab: 0x6d996220, + 0x3acac: 0x6d996420, 0x3acad: 0x6d996620, 0x3acae: 0x6d996820, 0x3acaf: 0x6d996a20, + 0x3acb0: 0x6d996c20, 0x3acb1: 0x6d996e20, 0x3acb2: 0x6d997020, 0x3acb3: 0x6d997220, + 0x3acb4: 0x6d997420, 0x3acb5: 0x6dbc0c20, 0x3acb6: 0x6dbc0e20, 0x3acb7: 0x6dbc1020, + 0x3acb8: 0x6dbc1220, 0x3acb9: 0x6dbc1420, 0x3acba: 0x6dbc1620, 0x3acbb: 0x6dbc1820, + 0x3acbc: 0x6dbc1a20, 0x3acbd: 0x6dbc1c20, 0x3acbe: 0x6dd9d220, 0x3acbf: 0x6dbc1e20, + // Block 0xeb3, offset 0x3acc0 + 0x3acc0: 0x6dbc2020, 0x3acc1: 0x6dbc2220, 0x3acc2: 0x6dbc2420, 0x3acc3: 0x6dbc2620, + 0x3acc4: 0x6dbc2820, 0x3acc5: 0x6dbc2a20, 0x3acc6: 0x6dbc2c20, 0x3acc7: 0x6dbc2e20, + 0x3acc8: 0x6dbc3020, 0x3acc9: 0x6dbc3220, 0x3acca: 0x6dbc3420, 0x3accb: 0x6dbc3620, + 0x3accc: 0x6dbc3820, 0x3accd: 0x6dbc3a20, 0x3acce: 0x6dbc3c20, 0x3accf: 0x6dbc3e20, + 0x3acd0: 0x6dbc4020, 0x3acd1: 0x6dbc4220, 0x3acd2: 0x6dbc4420, 0x3acd3: 0x6dbc4620, + 0x3acd4: 0x6dbc4820, 0x3acd5: 0x6dbc4a20, 0x3acd6: 0x6dbc4c20, 0x3acd7: 0x6dd9d420, + 0x3acd8: 0x6dd9d620, 0x3acd9: 0x6dd9d820, 0x3acda: 0x6dd9da20, 0x3acdb: 0x6dd9dc20, + 0x3acdc: 0x6dd9de20, 0x3acdd: 0x6dd9e020, 0x3acde: 0x6dd9e220, 0x3acdf: 0x6dd9e420, + 0x3ace0: 0x6dd9e620, 0x3ace1: 0x6dd9e820, 0x3ace2: 0x6dd9ea20, 0x3ace3: 0x6dd9ec20, + 0x3ace4: 0x6dd9ee20, 0x3ace5: 0x6dd9f020, 0x3ace6: 0x6dd9f220, 0x3ace7: 0x6dd9f420, + 0x3ace8: 0x6dd9f620, 0x3ace9: 0x6dd9f820, 0x3acea: 0x6dd9fa20, 0x3aceb: 0x6dd9fc20, + 0x3acec: 0x6dd9fe20, 0x3aced: 0x6dda0020, 0x3acee: 0x6db8fa20, 0x3acef: 0x6dda0220, + 0x3acf0: 0x6dda0420, 0x3acf1: 0x6dda0620, 0x3acf2: 0x6dda0820, 0x3acf3: 0x6dda0a20, + 0x3acf4: 0x6dda0c20, 0x3acf5: 0x6dda0e20, 0x3acf6: 0x6dda1020, 0x3acf7: 0x6dda1220, + 0x3acf8: 0x6dda1420, 0x3acf9: 0x6dda1620, 0x3acfa: 0x6dda1820, 0x3acfb: 0x6df1ee20, + 0x3acfc: 0x6df1f020, 0x3acfd: 0x6df1f220, 0x3acfe: 0x6df1f420, 0x3acff: 0x6df1f620, + // Block 0xeb4, offset 0x3ad00 + 0x3ad00: 0x6df1f820, 0x3ad01: 0x6df1fa20, 0x3ad02: 0x6df1fc20, 0x3ad03: 0x6df1fe20, + 0x3ad04: 0x6df20020, 0x3ad05: 0x6df20220, 0x3ad06: 0x6df20420, 0x3ad07: 0x6df20620, + 0x3ad08: 0x6df20820, 0x3ad09: 0x6df20a20, 0x3ad0a: 0x6df20c20, 0x3ad0b: 0x6df20e20, + 0x3ad0c: 0x6df21020, 0x3ad0d: 0x6df21220, 0x3ad0e: 0x6df21420, 0x3ad0f: 0x6df21620, + 0x3ad10: 0x6df21820, 0x3ad11: 0x6df21a20, 0x3ad12: 0x6df21c20, 0x3ad13: 0x6df21e20, + 0x3ad14: 0x6df22020, 0x3ad15: 0x6df22220, 0x3ad16: 0x6df22420, 0x3ad17: 0x6df22620, + 0x3ad18: 0x6df22820, 0x3ad19: 0x6df22a20, 0x3ad1a: 0x6df22c20, 0x3ad1b: 0x6df22e20, + 0x3ad1c: 0x6df23020, 0x3ad1d: 0x6e062a20, 0x3ad1e: 0x6e062c20, 0x3ad1f: 0x6e062e20, + 0x3ad20: 0x6e063020, 0x3ad21: 0x6e063220, 0x3ad22: 0x6e063420, 0x3ad23: 0x6e063620, + 0x3ad24: 0x6e063820, 0x3ad25: 0x6e063a20, 0x3ad26: 0x6e063c20, 0x3ad27: 0x6e063e20, + 0x3ad28: 0x6e064020, 0x3ad29: 0x6e064220, 0x3ad2a: 0x6e064420, 0x3ad2b: 0x6e064620, + 0x3ad2c: 0x6e064820, 0x3ad2d: 0x6e064a20, 0x3ad2e: 0x6e064c20, 0x3ad2f: 0x6e064e20, + 0x3ad30: 0x6e065020, 0x3ad31: 0x6e065220, 0x3ad32: 0x6e065420, 0x3ad33: 0x6e065620, + 0x3ad34: 0x6e065820, 0x3ad35: 0x6e065a20, 0x3ad36: 0x6e065c20, 0x3ad37: 0x6e065e20, + 0x3ad38: 0x6e066020, 0x3ad39: 0x6e066220, 0x3ad3a: 0x6e066420, 0x3ad3b: 0x6e066620, + 0x3ad3c: 0x6e16c020, 0x3ad3d: 0x6e16c220, 0x3ad3e: 0x6e16c420, 0x3ad3f: 0x6e16c620, + // Block 0xeb5, offset 0x3ad40 + 0x3ad40: 0x6e16c820, 0x3ad41: 0x6e16ca20, 0x3ad42: 0x6e16cc20, 0x3ad43: 0x6e16ce20, + 0x3ad44: 0x6e16d020, 0x3ad45: 0x6e16d220, 0x3ad46: 0x6e16d420, 0x3ad47: 0x6e16d620, + 0x3ad48: 0x6e16d820, 0x3ad49: 0x6e16da20, 0x3ad4a: 0x6e16dc20, 0x3ad4b: 0x6e16de20, + 0x3ad4c: 0x6e16e020, 0x3ad4d: 0x6e16e220, 0x3ad4e: 0x6e16e420, 0x3ad4f: 0x6e16e620, + 0x3ad50: 0x6e16e820, 0x3ad51: 0x6e23e220, 0x3ad52: 0x6e23e420, 0x3ad53: 0x6e23e620, + 0x3ad54: 0x6e23e820, 0x3ad55: 0x6e23ea20, 0x3ad56: 0x6e23ec20, 0x3ad57: 0x6e23ee20, + 0x3ad58: 0x6e23f020, 0x3ad59: 0x6e23f220, 0x3ad5a: 0x6e23f420, 0x3ad5b: 0x6e23f620, + 0x3ad5c: 0x6e23f820, 0x3ad5d: 0x6e23fa20, 0x3ad5e: 0x6e23fc20, 0x3ad5f: 0x6e23fe20, + 0x3ad60: 0x6e240020, 0x3ad61: 0x6e240220, 0x3ad62: 0x6e240420, 0x3ad63: 0x6e240620, + 0x3ad64: 0x6e2dec20, 0x3ad65: 0x6e2dee20, 0x3ad66: 0x6e2df020, 0x3ad67: 0x6e2df220, + 0x3ad68: 0x6e2df420, 0x3ad69: 0x6e2df620, 0x3ad6a: 0x6e2df820, 0x3ad6b: 0x6e2dfa20, + 0x3ad6c: 0x6e2dfc20, 0x3ad6d: 0x6e359e20, 0x3ad6e: 0x6e35a020, 0x3ad6f: 0x6e35a220, + 0x3ad70: 0x6e35a420, 0x3ad71: 0x6e35a620, 0x3ad72: 0x6e35a820, 0x3ad73: 0x6e35aa20, + 0x3ad74: 0x6e35ac20, 0x3ad75: 0x6e3b0620, 0x3ad76: 0x6e3b0820, 0x3ad77: 0x6e3b0a20, + 0x3ad78: 0x6e3b0c20, 0x3ad79: 0x6e3b0e20, 0x3ad7a: 0x6e3b1020, 0x3ad7b: 0x6e3b1220, + 0x3ad7c: 0x6e3b1420, 0x3ad7d: 0x6e3b1620, 0x3ad7e: 0x6e3b1820, 0x3ad7f: 0x6e3ec420, + // Block 0xeb6, offset 0x3ad80 + 0x3ad80: 0x6e3ec620, 0x3ad81: 0x6e3ec820, 0x3ad82: 0x6e3eca20, 0x3ad83: 0x6e3ecc20, + 0x3ad84: 0x6e3ece20, 0x3ad85: 0x6e3ed020, 0x3ad86: 0x6e3ed220, 0x3ad87: 0x6e3ed420, + 0x3ad88: 0x6e436220, 0x3ad89: 0x6e436420, 0x3ad8a: 0x6e44a820, 0x3ad8b: 0x6e44aa20, + 0x3ad8c: 0x6e44ac20, 0x3ad8d: 0x6e44ae20, 0x3ad8e: 0x6e44b020, 0x3ad8f: 0x6e45e820, + 0x3ad90: 0x6e464a20, 0x3ad91: 0x6e464c20, 0x3ad92: 0x6e471820, 0x3ad93: 0x6e472420, + 0x3ad94: 0x6e473820, 0x3ad95: 0x6cb69820, 0x3ad96: 0x6ce6fa20, 0x3ad97: 0x6ce6fc20, + 0x3ad98: 0x6d155820, 0x3ad99: 0x6d155a20, 0x3ad9a: 0x6d155c20, 0x3ad9b: 0x6d155e20, + 0x3ad9c: 0x6d435620, 0x3ad9d: 0x6d997e20, 0x3ad9e: 0x6d998020, 0x3ad9f: 0x6dbc5420, + 0x3ada0: 0x6dda1e20, 0x3ada1: 0x6df23620, 0x3ada2: 0x6e067020, 0x3ada3: 0x6e16ec20, + 0x3ada4: 0x6e35b220, 0x3ada5: 0x6e3b1a20, 0x3ada6: 0x6c8a4820, 0x3ada7: 0x6c8a4a20, + 0x3ada8: 0x6c8a4c20, 0x3ada9: 0x6cb6a020, 0x3adaa: 0x6cb6a220, 0x3adab: 0x6cb6a420, + 0x3adac: 0x6cb6a620, 0x3adad: 0x6ce70220, 0x3adae: 0x6ce70420, 0x3adaf: 0x6ce70620, + 0x3adb0: 0x6ce70820, 0x3adb1: 0x6ce70a20, 0x3adb2: 0x6ce70c20, 0x3adb3: 0x6ce70e20, + 0x3adb4: 0x6ce71020, 0x3adb5: 0x6d156420, 0x3adb6: 0x6d156620, 0x3adb7: 0x6d435820, + 0x3adb8: 0x6d705420, 0x3adb9: 0x6d705620, 0x3adba: 0x6d705820, 0x3adbb: 0x6d705a20, + 0x3adbc: 0x6d998420, 0x3adbd: 0x6dda2020, 0x3adbe: 0x6e067420, 0x3adbf: 0x6e067620, + // Block 0xeb7, offset 0x3adc0 + 0x3adc0: 0x6e067820, 0x3adc1: 0x6e067a20, 0x3adc2: 0x6e3ed620, 0x3adc3: 0x6ce71220, + 0x3adc4: 0x6ce71420, 0x3adc5: 0x6ce71620, 0x3adc6: 0x6d156e20, 0x3adc7: 0x6d157020, + 0x3adc8: 0x6d157220, 0x3adc9: 0x6d157420, 0x3adca: 0x6d157620, 0x3adcb: 0x6d157820, + 0x3adcc: 0x6d157a20, 0x3adcd: 0x6d436420, 0x3adce: 0x6d436620, 0x3adcf: 0x6d436820, + 0x3add0: 0x6d436a20, 0x3add1: 0x6d436c20, 0x3add2: 0x6d436e20, 0x3add3: 0x6d437020, + 0x3add4: 0x6d437220, 0x3add5: 0x6d437420, 0x3add6: 0x6d437620, 0x3add7: 0x6d437820, + 0x3add8: 0x6d437a20, 0x3add9: 0x6d706020, 0x3adda: 0x6d706220, 0x3addb: 0x6d706420, + 0x3addc: 0x6d706620, 0x3addd: 0x6d706820, 0x3adde: 0x6d706a20, 0x3addf: 0x6d706c20, + 0x3ade0: 0x6d706e20, 0x3ade1: 0x6d998c20, 0x3ade2: 0x6d998e20, 0x3ade3: 0x6d999020, + 0x3ade4: 0x6d999220, 0x3ade5: 0x6d999420, 0x3ade6: 0x6d999620, 0x3ade7: 0x6d999820, + 0x3ade8: 0x6d999a20, 0x3ade9: 0x6d999c20, 0x3adea: 0x6d999e20, 0x3adeb: 0x6dbc5820, + 0x3adec: 0x6dbc5a20, 0x3aded: 0x6dbc5c20, 0x3adee: 0x6dbc5e20, 0x3adef: 0x6dbc6020, + 0x3adf0: 0x6dbc6220, 0x3adf1: 0x6dbc6420, 0x3adf2: 0x6dda2220, 0x3adf3: 0x6dda2420, + 0x3adf4: 0x6dda2620, 0x3adf5: 0x6dda2820, 0x3adf6: 0x6dda2a20, 0x3adf7: 0x6dda2c20, + 0x3adf8: 0x6df23c20, 0x3adf9: 0x6df23e20, 0x3adfa: 0x6df24020, 0x3adfb: 0x6e067e20, + 0x3adfc: 0x6e068020, 0x3adfd: 0x6e068220, 0x3adfe: 0x6e068420, 0x3adff: 0x6e068620, + // Block 0xeb8, offset 0x3ae00 + 0x3ae00: 0x6e068820, 0x3ae01: 0x6e16f620, 0x3ae02: 0x6e16f820, 0x3ae03: 0x6e16fa20, + 0x3ae04: 0x6e16fc20, 0x3ae05: 0x6e16fe20, 0x3ae06: 0x6e170020, 0x3ae07: 0x6e170220, + 0x3ae08: 0x6e170420, 0x3ae09: 0x6e170620, 0x3ae0a: 0x6e241020, 0x3ae0b: 0x6e241220, + 0x3ae0c: 0x6e2e0020, 0x3ae0d: 0x6e2e0220, 0x3ae0e: 0x6e2e0420, 0x3ae0f: 0x6e2e0620, + 0x3ae10: 0x6e2e0820, 0x3ae11: 0x6e35b620, 0x3ae12: 0x6e35b820, 0x3ae13: 0x6e3b1e20, + 0x3ae14: 0x6e3ed820, 0x3ae15: 0x6e3eda20, 0x3ae16: 0x6e417020, 0x3ae17: 0x6e417220, + 0x3ae18: 0x6e417420, 0x3ae19: 0x6e436620, 0x3ae1a: 0x6e436820, 0x3ae1b: 0x6cb6aa20, + 0x3ae1c: 0x6cb6ac20, 0x3ae1d: 0x6ce72c20, 0x3ae1e: 0x6ce72e20, 0x3ae1f: 0x6ce73020, + 0x3ae20: 0x6ce73220, 0x3ae21: 0x6d159820, 0x3ae22: 0x6d159a20, 0x3ae23: 0x6d159c20, + 0x3ae24: 0x6d159e20, 0x3ae25: 0x6d15a020, 0x3ae26: 0x6d15a220, 0x3ae27: 0x6d15a420, + 0x3ae28: 0x6d15a620, 0x3ae29: 0x6d15a820, 0x3ae2a: 0x6d15aa20, 0x3ae2b: 0x6d15ac20, + 0x3ae2c: 0x6d15ae20, 0x3ae2d: 0x6d15b020, 0x3ae2e: 0x6d15b220, 0x3ae2f: 0x6d15b420, + 0x3ae30: 0x6d15b620, 0x3ae31: 0x6d15b820, 0x3ae32: 0x6d15ba20, 0x3ae33: 0x6d15bc20, + 0x3ae34: 0x6d15be20, 0x3ae35: 0x6d15c020, 0x3ae36: 0x6d15c220, 0x3ae37: 0x6d15c420, + 0x3ae38: 0x6d43a420, 0x3ae39: 0x6d43a620, 0x3ae3a: 0x6d43a820, 0x3ae3b: 0x6d43aa20, + 0x3ae3c: 0x6d43ac20, 0x3ae3d: 0x6d43ae20, 0x3ae3e: 0x6d43b020, 0x3ae3f: 0x6d43b220, + // Block 0xeb9, offset 0x3ae40 + 0x3ae40: 0x6d43b420, 0x3ae41: 0x6d43b620, 0x3ae42: 0x6d43b820, 0x3ae43: 0x6d43ba20, + 0x3ae44: 0x6d43bc20, 0x3ae45: 0x6d43be20, 0x3ae46: 0x6d43c020, 0x3ae47: 0x6d43c220, + 0x3ae48: 0x6d43c420, 0x3ae49: 0x6d43c620, 0x3ae4a: 0x6d43c820, 0x3ae4b: 0x6d43ca20, + 0x3ae4c: 0x6d43cc20, 0x3ae4d: 0x6d43ce20, 0x3ae4e: 0x6d43d020, 0x3ae4f: 0x6d43d220, + 0x3ae50: 0x6d708c20, 0x3ae51: 0x6d708e20, 0x3ae52: 0x6d709020, 0x3ae53: 0x6d709220, + 0x3ae54: 0x6d709420, 0x3ae55: 0x6d709620, 0x3ae56: 0x6d709820, 0x3ae57: 0x6d709a20, + 0x3ae58: 0x6d709c20, 0x3ae59: 0x6d709e20, 0x3ae5a: 0x6d70a020, 0x3ae5b: 0x6d70a220, + 0x3ae5c: 0x6d70a420, 0x3ae5d: 0x6d70a620, 0x3ae5e: 0x6d70a820, 0x3ae5f: 0x6d70aa20, + 0x3ae60: 0x6d70ac20, 0x3ae61: 0x6d70ae20, 0x3ae62: 0x6d70b020, 0x3ae63: 0x6d70b220, + 0x3ae64: 0x6d70b420, 0x3ae65: 0x6d70b620, 0x3ae66: 0x6d70b820, 0x3ae67: 0x6d70ba20, + 0x3ae68: 0x6d70bc20, 0x3ae69: 0x6d99c020, 0x3ae6a: 0x6d99c220, 0x3ae6b: 0x6d99c420, + 0x3ae6c: 0x6d99c620, 0x3ae6d: 0x6d99c820, 0x3ae6e: 0x6d99ca20, 0x3ae6f: 0x6d99cc20, + 0x3ae70: 0x6d99ce20, 0x3ae71: 0x6d99d020, 0x3ae72: 0x6d99d220, 0x3ae73: 0x6d99d420, + 0x3ae74: 0x6d99d620, 0x3ae75: 0x6d99d820, 0x3ae76: 0x6d99da20, 0x3ae77: 0x6d99dc20, + 0x3ae78: 0x6d99de20, 0x3ae79: 0x6d99e020, 0x3ae7a: 0x6d99e220, 0x3ae7b: 0x6d99e420, + 0x3ae7c: 0x6d99e620, 0x3ae7d: 0x6d99e820, 0x3ae7e: 0x6d99ea20, 0x3ae7f: 0x6dbc8420, + // Block 0xeba, offset 0x3ae80 + 0x3ae80: 0x6dbc8620, 0x3ae81: 0x6dbc8820, 0x3ae82: 0x6dbc8a20, 0x3ae83: 0x6dbc8c20, + 0x3ae84: 0x6dbc8e20, 0x3ae85: 0x6dbc9020, 0x3ae86: 0x6dbc9220, 0x3ae87: 0x6dbc9420, + 0x3ae88: 0x6dbc9620, 0x3ae89: 0x6dbc9820, 0x3ae8a: 0x6dbc9a20, 0x3ae8b: 0x6dbc9c20, + 0x3ae8c: 0x6dbc9e20, 0x3ae8d: 0x6dbca020, 0x3ae8e: 0x6dbca220, 0x3ae8f: 0x6dbca420, + 0x3ae90: 0x6dbca620, 0x3ae91: 0x6dbca820, 0x3ae92: 0x6dbcaa20, 0x3ae93: 0x6dbcac20, + 0x3ae94: 0x6dbcae20, 0x3ae95: 0x6dbcb020, 0x3ae96: 0x6dbcb220, 0x3ae97: 0x6dbcb420, + 0x3ae98: 0x6dbcb620, 0x3ae99: 0x6dbcb820, 0x3ae9a: 0x6dbcba20, 0x3ae9b: 0x6dbcbc20, + 0x3ae9c: 0x6dbcbe20, 0x3ae9d: 0x6dbcc020, 0x3ae9e: 0x6dbcc220, 0x3ae9f: 0x6dda5c20, + 0x3aea0: 0x6dda5e20, 0x3aea1: 0x6dda6020, 0x3aea2: 0x6dda6220, 0x3aea3: 0x6dda6420, + 0x3aea4: 0x6dda6620, 0x3aea5: 0x6dda6820, 0x3aea6: 0x6dda6a20, 0x3aea7: 0x6dda6c20, + 0x3aea8: 0x6dda6e20, 0x3aea9: 0x6dda7020, 0x3aeaa: 0x6dda7220, 0x3aeab: 0x6dda7420, + 0x3aeac: 0x6dda7620, 0x3aead: 0x6dda7820, 0x3aeae: 0x6dda7a20, 0x3aeaf: 0x6dda7c20, + 0x3aeb0: 0x6dda7e20, 0x3aeb1: 0x6dda8020, 0x3aeb2: 0x6dda8220, 0x3aeb3: 0x6dda8420, + 0x3aeb4: 0x6dda8620, 0x3aeb5: 0x6dda8820, 0x3aeb6: 0x6dda8a20, 0x3aeb7: 0x6dda8c20, + 0x3aeb8: 0x6dda8e20, 0x3aeb9: 0x6dda9020, 0x3aeba: 0x6dda9220, 0x3aebb: 0x6dda9420, + 0x3aebc: 0x6dda9620, 0x3aebd: 0x6dda9820, 0x3aebe: 0x6dda9a20, 0x3aebf: 0x6dda9c20, + // Block 0xebb, offset 0x3aec0 + 0x3aec0: 0x6dda9e20, 0x3aec1: 0x6ddaa020, 0x3aec2: 0x6ddaa220, 0x3aec3: 0x6df25e20, + 0x3aec4: 0x6df26020, 0x3aec5: 0x6df26220, 0x3aec6: 0x6df26420, 0x3aec7: 0x6df26620, + 0x3aec8: 0x6df26820, 0x3aec9: 0x6df26a20, 0x3aeca: 0x6df26c20, 0x3aecb: 0x6df26e20, + 0x3aecc: 0x6df27020, 0x3aecd: 0x6df27220, 0x3aece: 0x6df27420, 0x3aecf: 0x6df27620, + 0x3aed0: 0x6df27820, 0x3aed1: 0x6df27a20, 0x3aed2: 0x6df27c20, 0x3aed3: 0x6df27e20, + 0x3aed4: 0x6df28020, 0x3aed5: 0x6df28220, 0x3aed6: 0x6df28420, 0x3aed7: 0x6df28620, + 0x3aed8: 0x6df28820, 0x3aed9: 0x6df28a20, 0x3aeda: 0x6df28c20, 0x3aedb: 0x6df28e20, + 0x3aedc: 0x6df29020, 0x3aedd: 0x6df29220, 0x3aede: 0x6df29420, 0x3aedf: 0x6df29620, + 0x3aee0: 0x6df29820, 0x3aee1: 0x6df29a20, 0x3aee2: 0x6df29c20, 0x3aee3: 0x6df29e20, + 0x3aee4: 0x6df2a020, 0x3aee5: 0x6df2a220, 0x3aee6: 0x6e069820, 0x3aee7: 0x6e069a20, + 0x3aee8: 0x6e069c20, 0x3aee9: 0x6e069e20, 0x3aeea: 0x6e06a020, 0x3aeeb: 0x6e06a220, + 0x3aeec: 0x6e06a420, 0x3aeed: 0x6e06a620, 0x3aeee: 0x6e06a820, 0x3aeef: 0x6e06aa20, + 0x3aef0: 0x6e06ac20, 0x3aef1: 0x6e06ae20, 0x3aef2: 0x6e06b020, 0x3aef3: 0x6e06b220, + 0x3aef4: 0x6e06b420, 0x3aef5: 0x6e06b620, 0x3aef6: 0x6e06b820, 0x3aef7: 0x6e06ba20, + 0x3aef8: 0x6e06bc20, 0x3aef9: 0x6e06be20, 0x3aefa: 0x6e06c020, 0x3aefb: 0x6e06c220, + 0x3aefc: 0x6e06c420, 0x3aefd: 0x6e06c620, 0x3aefe: 0x6e06c820, 0x3aeff: 0x6e06ca20, + // Block 0xebc, offset 0x3af00 + 0x3af00: 0x6e06cc20, 0x3af01: 0x6e06ce20, 0x3af02: 0x6e06d020, 0x3af03: 0x6e171e20, + 0x3af04: 0x6e172020, 0x3af05: 0x6e172220, 0x3af06: 0x6e172420, 0x3af07: 0x6e172620, + 0x3af08: 0x6e172820, 0x3af09: 0x6e172a20, 0x3af0a: 0x6e172c20, 0x3af0b: 0x6e172e20, + 0x3af0c: 0x6e173020, 0x3af0d: 0x6e173220, 0x3af0e: 0x6e173420, 0x3af0f: 0x6e173620, + 0x3af10: 0x6e173820, 0x3af11: 0x6e173a20, 0x3af12: 0x6e173c20, 0x3af13: 0x6e242020, + 0x3af14: 0x6e242220, 0x3af15: 0x6e242420, 0x3af16: 0x6e242620, 0x3af17: 0x6e242820, + 0x3af18: 0x6e242a20, 0x3af19: 0x6e242c20, 0x3af1a: 0x6e242e20, 0x3af1b: 0x6e243020, + 0x3af1c: 0x6e243220, 0x3af1d: 0x6e243420, 0x3af1e: 0x6e243620, 0x3af1f: 0x6e243820, + 0x3af20: 0x6e243a20, 0x3af21: 0x6e243c20, 0x3af22: 0x6e243e20, 0x3af23: 0x6e244020, + 0x3af24: 0x6e244220, 0x3af25: 0x6e2e1220, 0x3af26: 0x6e2e1420, 0x3af27: 0x6e2e1620, + 0x3af28: 0x6e2e1820, 0x3af29: 0x6e2e1a20, 0x3af2a: 0x6e2e1c20, 0x3af2b: 0x6e2e1e20, + 0x3af2c: 0x6e2e2020, 0x3af2d: 0x6e2e2220, 0x3af2e: 0x6e2e2420, 0x3af2f: 0x6e2e2620, + 0x3af30: 0x6e2e2820, 0x3af31: 0x6e2e2a20, 0x3af32: 0x6e35c220, 0x3af33: 0x6e35c420, + 0x3af34: 0x6e35c620, 0x3af35: 0x6e35c820, 0x3af36: 0x6e35ca20, 0x3af37: 0x6e35cc20, + 0x3af38: 0x6e3b2420, 0x3af39: 0x6e3b2620, 0x3af3a: 0x6e3b2820, 0x3af3b: 0x6e3b9e20, + 0x3af3c: 0x6e3b2a20, 0x3af3d: 0x6e3b2c20, 0x3af3e: 0x6e3b2e20, 0x3af3f: 0x6e3ee220, + // Block 0xebd, offset 0x3af40 + 0x3af40: 0x6e3ee420, 0x3af41: 0x6e3ee620, 0x3af42: 0x6e3ee820, 0x3af43: 0x6e3eea20, + 0x3af44: 0x6e3eec20, 0x3af45: 0x6e3eee20, 0x3af46: 0x6e3ef020, 0x3af47: 0x6e417820, + 0x3af48: 0x6e436a20, 0x3af49: 0x6e436c20, 0x3af4a: 0x6e436e20, 0x3af4b: 0x6e457020, + 0x3af4c: 0x6e464e20, 0x3af4d: 0x6e465020, 0x3af4e: 0x6e469420, 0x3af4f: 0x6e469620, + 0x3af50: 0x6e46b620, 0x3af51: 0x6e471a20, 0x3af52: 0x6ce73620, 0x3af53: 0x6d15c820, + 0x3af54: 0x6d15ca20, 0x3af55: 0x6d15cc20, 0x3af56: 0x6d15ce20, 0x3af57: 0x6d15d020, + 0x3af58: 0x6d43e420, 0x3af59: 0x6d43e620, 0x3af5a: 0x6d43e820, 0x3af5b: 0x6d43ea20, + 0x3af5c: 0x6d43ec20, 0x3af5d: 0x6d43ee20, 0x3af5e: 0x6d43f020, 0x3af5f: 0x6d43f220, + 0x3af60: 0x6d43f420, 0x3af61: 0x6d43f620, 0x3af62: 0x6d43f820, 0x3af63: 0x6d43fa20, + 0x3af64: 0x6d70c820, 0x3af65: 0x6d70ca20, 0x3af66: 0x6d70cc20, 0x3af67: 0x6d70ce20, + 0x3af68: 0x6d70d020, 0x3af69: 0x6d70d220, 0x3af6a: 0x6d70d420, 0x3af6b: 0x6d70d620, + 0x3af6c: 0x6d70d820, 0x3af6d: 0x6d70da20, 0x3af6e: 0x6d70dc20, 0x3af6f: 0x6d99f020, + 0x3af70: 0x6d99f220, 0x3af71: 0x6d99f420, 0x3af72: 0x6d99f620, 0x3af73: 0x6d99f820, + 0x3af74: 0x6d99fa20, 0x3af75: 0x6d99fc20, 0x3af76: 0x6d99fe20, 0x3af77: 0x6d9a0020, + 0x3af78: 0x6dbccc20, 0x3af79: 0x6dbcce20, 0x3af7a: 0x6dbcd020, 0x3af7b: 0x6dbcd220, + 0x3af7c: 0x6dbcd420, 0x3af7d: 0x6dbcd620, 0x3af7e: 0x6dbcd820, 0x3af7f: 0x6dbcda20, + // Block 0xebe, offset 0x3af80 + 0x3af80: 0x6dbcdc20, 0x3af81: 0x6dbcde20, 0x3af82: 0x6dbce020, 0x3af83: 0x6dbce220, + 0x3af84: 0x6dbce420, 0x3af85: 0x6ddab420, 0x3af86: 0x6ddab620, 0x3af87: 0x6ddab820, + 0x3af88: 0x6ddaba20, 0x3af89: 0x6ddabc20, 0x3af8a: 0x6ddabe20, 0x3af8b: 0x6ddac020, + 0x3af8c: 0x6ddac220, 0x3af8d: 0x6ddac420, 0x3af8e: 0x6ddac620, 0x3af8f: 0x6df2b020, + 0x3af90: 0x6df2b220, 0x3af91: 0x6df2b420, 0x3af92: 0x6df2b620, 0x3af93: 0x6df2b820, + 0x3af94: 0x6df2ba20, 0x3af95: 0x6df2bc20, 0x3af96: 0x6df2be20, 0x3af97: 0x6df2c020, + 0x3af98: 0x6e06d820, 0x3af99: 0x6e06da20, 0x3af9a: 0x6e06dc20, 0x3af9b: 0x6e06de20, + 0x3af9c: 0x6e06e020, 0x3af9d: 0x6e06e220, 0x3af9e: 0x6e06e420, 0x3af9f: 0x6e06e620, + 0x3afa0: 0x6e174620, 0x3afa1: 0x6e174820, 0x3afa2: 0x6e174a20, 0x3afa3: 0x6e174c20, + 0x3afa4: 0x6e174e20, 0x3afa5: 0x6e175020, 0x3afa6: 0x6e175220, 0x3afa7: 0x6e175420, + 0x3afa8: 0x6e244a20, 0x3afa9: 0x6e244c20, 0x3afaa: 0x6e244e20, 0x3afab: 0x6e245020, + 0x3afac: 0x6e245220, 0x3afad: 0x6e245420, 0x3afae: 0x6e2e2e20, 0x3afaf: 0x6e2e3020, + 0x3afb0: 0x6e2e3220, 0x3afb1: 0x6e2e3420, 0x3afb2: 0x6e35d220, 0x3afb3: 0x6e35d420, + 0x3afb4: 0x6e3b3020, 0x3afb5: 0x6e3ef220, 0x3afb6: 0x6e417a20, 0x3afb7: 0x6e417c20, + 0x3afb8: 0x6e417e20, 0x3afb9: 0x6e437020, 0x3afba: 0x6e44b420, 0x3afbb: 0x6e44b620, + 0x3afbc: 0x6c428220, 0x3afbd: 0x6c633820, 0x3afbe: 0x6c633a20, 0x3afbf: 0x6d15d820, + // Block 0xebf, offset 0x3afc0 + 0x3afc0: 0x6d15da20, 0x3afc1: 0x6d15e220, 0x3afc2: 0x6d15e420, 0x3afc3: 0x6d70e420, + 0x3afc4: 0x6d9a0620, 0x3afc5: 0x6dbcec20, 0x3afc6: 0x6dbcee20, 0x3afc7: 0x6dbcf020, + 0x3afc8: 0x6ddac820, 0x3afc9: 0x6df2c820, 0x3afca: 0x6df2ca20, 0x3afcb: 0x6e06ec20, + 0x3afcc: 0x6e175820, 0x3afcd: 0x6e06ee20, 0x3afce: 0x6e06f020, 0x3afcf: 0x6e175a20, + 0x3afd0: 0x6e175c20, 0x3afd1: 0x6e245620, 0x3afd2: 0x6e245820, 0x3afd3: 0x6e245a20, + 0x3afd4: 0x6e2e3820, 0x3afd5: 0x6e2e3a20, 0x3afd6: 0x6e3b3220, 0x3afd7: 0x6ce74220, + 0x3afd8: 0x6d15ec20, 0x3afd9: 0x6d15ee20, 0x3afda: 0x6d440820, 0x3afdb: 0x6d440a20, + 0x3afdc: 0x6d440c20, 0x3afdd: 0x6d440e20, 0x3afde: 0x6d70e620, 0x3afdf: 0x6d70e820, + 0x3afe0: 0x6d70ea20, 0x3afe1: 0x6d70ec20, 0x3afe2: 0x6d70ee20, 0x3afe3: 0x6d70f020, + 0x3afe4: 0x6d70f220, 0x3afe5: 0x6d70f420, 0x3afe6: 0x6d70f620, 0x3afe7: 0x6d9a0e20, + 0x3afe8: 0x6d9a1020, 0x3afe9: 0x6d9a1220, 0x3afea: 0x6d9a1420, 0x3afeb: 0x6d9a1620, + 0x3afec: 0x6d9a1820, 0x3afed: 0x6dbcf220, 0x3afee: 0x6dbcf420, 0x3afef: 0x6dbcf620, + 0x3aff0: 0x6dbcf820, 0x3aff1: 0x6ddad020, 0x3aff2: 0x6ddad220, 0x3aff3: 0x6ddad420, + 0x3aff4: 0x6ddad620, 0x3aff5: 0x6df2d420, 0x3aff6: 0x6df2d620, 0x3aff7: 0x6df2d820, + 0x3aff8: 0x6df2da20, 0x3aff9: 0x6e06f820, 0x3affa: 0x6e06fa20, 0x3affb: 0x6e06fc20, + 0x3affc: 0x6e06fe20, 0x3affd: 0x6e070020, 0x3affe: 0x6e070220, 0x3afff: 0x6e175e20, + // Block 0xec0, offset 0x3b000 + 0x3b000: 0x6e176020, 0x3b001: 0x6e176220, 0x3b002: 0x6e245e20, 0x3b003: 0x6e246020, + 0x3b004: 0x6e246220, 0x3b005: 0x6e246420, 0x3b006: 0x6e246620, 0x3b007: 0x6e2e3e20, + 0x3b008: 0x6e35d820, 0x3b009: 0x6e418020, 0x3b00a: 0x6e469820, 0x3b00b: 0x6c634220, + 0x3b00c: 0x6cb6b820, 0x3b00d: 0x6cb6ba20, 0x3b00e: 0x6cb6bc20, 0x3b00f: 0x6cb6be20, + 0x3b010: 0x6ce75020, 0x3b011: 0x6ce75220, 0x3b012: 0x6ce75420, 0x3b013: 0x6ce75620, + 0x3b014: 0x6ce75820, 0x3b015: 0x6ce75a20, 0x3b016: 0x6ce75c20, 0x3b017: 0x6ce75e20, + 0x3b018: 0x6ce76020, 0x3b019: 0x6d160e20, 0x3b01a: 0x6d161020, 0x3b01b: 0x6d161220, + 0x3b01c: 0x6d161420, 0x3b01d: 0x6d161620, 0x3b01e: 0x6d161820, 0x3b01f: 0x6d161a20, + 0x3b020: 0x6d161c20, 0x3b021: 0x6d161e20, 0x3b022: 0x6d162020, 0x3b023: 0x6d162220, + 0x3b024: 0x6d162420, 0x3b025: 0x6d162620, 0x3b026: 0x6d162820, 0x3b027: 0x6d162a20, + 0x3b028: 0x6d162c20, 0x3b029: 0x6d162e20, 0x3b02a: 0x6d163020, 0x3b02b: 0x6d163220, + 0x3b02c: 0x6d163420, 0x3b02d: 0x6d163620, 0x3b02e: 0x6d163820, 0x3b02f: 0x6d163a20, + 0x3b030: 0x6d443220, 0x3b031: 0x6d443420, 0x3b032: 0x6d443620, 0x3b033: 0x6d443820, + 0x3b034: 0x6d443a20, 0x3b035: 0x6d443c20, 0x3b036: 0x6d443e20, 0x3b037: 0x6d444020, + 0x3b038: 0x6d444220, 0x3b039: 0x6d444420, 0x3b03a: 0x6d444620, 0x3b03b: 0x6d444820, + 0x3b03c: 0x6d444a20, 0x3b03d: 0x6d444c20, 0x3b03e: 0x6d444e20, 0x3b03f: 0x6d445020, + // Block 0xec1, offset 0x3b040 + 0x3b040: 0x6d445220, 0x3b041: 0x6d445420, 0x3b042: 0x6d445620, 0x3b043: 0x6d445820, + 0x3b044: 0x6d445a20, 0x3b045: 0x6d445c20, 0x3b046: 0x6d445e20, 0x3b047: 0x6d446020, + 0x3b048: 0x6d446220, 0x3b049: 0x6d446420, 0x3b04a: 0x6d446620, 0x3b04b: 0x6d446820, + 0x3b04c: 0x6d446a20, 0x3b04d: 0x6d446c20, 0x3b04e: 0x6d446e20, 0x3b04f: 0x6d712020, + 0x3b050: 0x6d712220, 0x3b051: 0x6d712420, 0x3b052: 0x6d712620, 0x3b053: 0x6d712820, + 0x3b054: 0x6d712a20, 0x3b055: 0x6d712c20, 0x3b056: 0x6d712e20, 0x3b057: 0x6d713020, + 0x3b058: 0x6d713220, 0x3b059: 0x6d713420, 0x3b05a: 0x6d713620, 0x3b05b: 0x6d713820, + 0x3b05c: 0x6d713a20, 0x3b05d: 0x6d713c20, 0x3b05e: 0x6d713e20, 0x3b05f: 0x6d714020, + 0x3b060: 0x6d714220, 0x3b061: 0x6d714420, 0x3b062: 0x6d714620, 0x3b063: 0x6d714820, + 0x3b064: 0x6d714a20, 0x3b065: 0x6d714c20, 0x3b066: 0x6d714e20, 0x3b067: 0x6d715020, + 0x3b068: 0x6d715220, 0x3b069: 0x6d715420, 0x3b06a: 0x6d715620, 0x3b06b: 0x6d715820, + 0x3b06c: 0x6d715a20, 0x3b06d: 0x6d715c20, 0x3b06e: 0x6d9a5020, 0x3b06f: 0x6d9a5220, + 0x3b070: 0x6d9a5420, 0x3b071: 0x6d9a5620, 0x3b072: 0x6d9a5820, 0x3b073: 0x6d9a5a20, + 0x3b074: 0x6d9a5c20, 0x3b075: 0x6d9a5e20, 0x3b076: 0x6d9a6020, 0x3b077: 0x6d9a6220, + 0x3b078: 0x6d9a6420, 0x3b079: 0x6d9a6620, 0x3b07a: 0x6d9a6820, 0x3b07b: 0x6d9a6a20, + 0x3b07c: 0x6d9a6c20, 0x3b07d: 0x6d9a6e20, 0x3b07e: 0x6d9a7020, 0x3b07f: 0x6d9a7220, + // Block 0xec2, offset 0x3b080 + 0x3b080: 0x6d9a7420, 0x3b081: 0x6d9a7620, 0x3b082: 0x6d9a7820, 0x3b083: 0x6d9a7a20, + 0x3b084: 0x6d9a7c20, 0x3b085: 0x6d9a7e20, 0x3b086: 0x6d9a8020, 0x3b087: 0x6d9a8220, + 0x3b088: 0x6d9a8420, 0x3b089: 0x6d9a8620, 0x3b08a: 0x6d9a8820, 0x3b08b: 0x6d9a8a20, + 0x3b08c: 0x6d9a8c20, 0x3b08d: 0x6d9a8e20, 0x3b08e: 0x6d9a9020, 0x3b08f: 0x6d9a9220, + 0x3b090: 0x6d9a9420, 0x3b091: 0x6d9a9620, 0x3b092: 0x6d9a9820, 0x3b093: 0x6d9a9a20, + 0x3b094: 0x6d9a9c20, 0x3b095: 0x6d9a9e20, 0x3b096: 0x6d9aa020, 0x3b097: 0x6d9aa220, + 0x3b098: 0x6d9aa420, 0x3b099: 0x6d9aa620, 0x3b09a: 0x6d9aa820, 0x3b09b: 0x6d9aaa20, + 0x3b09c: 0x6d9aac20, 0x3b09d: 0x6dbd2220, 0x3b09e: 0x6dbd2420, 0x3b09f: 0x6dbd2620, + 0x3b0a0: 0x6dbd2820, 0x3b0a1: 0x6dbd2a20, 0x3b0a2: 0x6dbd2c20, 0x3b0a3: 0x6dbd2e20, + 0x3b0a4: 0x6dbd3020, 0x3b0a5: 0x6dbd3220, 0x3b0a6: 0x6dbd3420, 0x3b0a7: 0x6dbd3620, + 0x3b0a8: 0x6dbd3820, 0x3b0a9: 0x6dbd3a20, 0x3b0aa: 0x6dbd3c20, 0x3b0ab: 0x6dbd3e20, + 0x3b0ac: 0x6dbd4020, 0x3b0ad: 0x6dbd4220, 0x3b0ae: 0x6dbd4420, 0x3b0af: 0x6dbd4620, + 0x3b0b0: 0x6dbd4820, 0x3b0b1: 0x6dbd4a20, 0x3b0b2: 0x6dbd4c20, 0x3b0b3: 0x6dbd4e20, + 0x3b0b4: 0x6dbd5020, 0x3b0b5: 0x6dbd5220, 0x3b0b6: 0x6dbd5420, 0x3b0b7: 0x6dbd5620, + 0x3b0b8: 0x6dbd5820, 0x3b0b9: 0x6dbd5a20, 0x3b0ba: 0x6dbd5c20, 0x3b0bb: 0x6dbd5e20, + 0x3b0bc: 0x6dbd6020, 0x3b0bd: 0x6dbd6220, 0x3b0be: 0x6dbd6420, 0x3b0bf: 0x6dbd6620, + // Block 0xec3, offset 0x3b0c0 + 0x3b0c0: 0x6ddb0820, 0x3b0c1: 0x6ddb0a20, 0x3b0c2: 0x6ddb0c20, 0x3b0c3: 0x6ddb0e20, + 0x3b0c4: 0x6ddb1020, 0x3b0c5: 0x6ddb1220, 0x3b0c6: 0x6ddb1420, 0x3b0c7: 0x6ddb1620, + 0x3b0c8: 0x6ddb1820, 0x3b0c9: 0x6ddb1a20, 0x3b0ca: 0x6ddb1c20, 0x3b0cb: 0x6ddb1e20, + 0x3b0cc: 0x6ddb2020, 0x3b0cd: 0x6ddb2220, 0x3b0ce: 0x6ddb2420, 0x3b0cf: 0x6ddb2620, + 0x3b0d0: 0x6ddb2820, 0x3b0d1: 0x6ddb2a20, 0x3b0d2: 0x6ddb2c20, 0x3b0d3: 0x6ddb2e20, + 0x3b0d4: 0x6ddb3020, 0x3b0d5: 0x6ddb3220, 0x3b0d6: 0x6ddb3420, 0x3b0d7: 0x6ddb3620, + 0x3b0d8: 0x6ddb3820, 0x3b0d9: 0x6df30220, 0x3b0da: 0x6df30420, 0x3b0db: 0x6df30620, + 0x3b0dc: 0x6df30820, 0x3b0dd: 0x6df30a20, 0x3b0de: 0x6df30c20, 0x3b0df: 0x6df30e20, + 0x3b0e0: 0x6df31020, 0x3b0e1: 0x6df31220, 0x3b0e2: 0x6df31420, 0x3b0e3: 0x6df31620, + 0x3b0e4: 0x6df31820, 0x3b0e5: 0x6df31a20, 0x3b0e6: 0x6df31c20, 0x3b0e7: 0x6df31e20, + 0x3b0e8: 0x6df32020, 0x3b0e9: 0x6df32220, 0x3b0ea: 0x6df32420, 0x3b0eb: 0x6df32620, + 0x3b0ec: 0x6df32820, 0x3b0ed: 0x6df32a20, 0x3b0ee: 0x6df32c20, 0x3b0ef: 0x6df32e20, + 0x3b0f0: 0x6df33020, 0x3b0f1: 0x6df33220, 0x3b0f2: 0x6df33420, 0x3b0f3: 0x6e071820, + 0x3b0f4: 0x6e071a20, 0x3b0f5: 0x6e071c20, 0x3b0f6: 0x6e071e20, 0x3b0f7: 0x6e072020, + 0x3b0f8: 0x6e072220, 0x3b0f9: 0x6e072420, 0x3b0fa: 0x6e072620, 0x3b0fb: 0x6e072820, + 0x3b0fc: 0x6e072a20, 0x3b0fd: 0x6e072c20, 0x3b0fe: 0x6e072e20, 0x3b0ff: 0x6e073020, + // Block 0xec4, offset 0x3b100 + 0x3b100: 0x6e073220, 0x3b101: 0x6e073420, 0x3b102: 0x6e073620, 0x3b103: 0x6e073820, + 0x3b104: 0x6e073a20, 0x3b105: 0x6e073c20, 0x3b106: 0x6e073e20, 0x3b107: 0x6e074020, + 0x3b108: 0x6e074220, 0x3b109: 0x6e177c20, 0x3b10a: 0x6e177e20, 0x3b10b: 0x6e178020, + 0x3b10c: 0x6e178220, 0x3b10d: 0x6e178420, 0x3b10e: 0x6e178620, 0x3b10f: 0x6e178820, + 0x3b110: 0x6e178a20, 0x3b111: 0x6e178c20, 0x3b112: 0x6e178e20, 0x3b113: 0x6e179020, + 0x3b114: 0x6e179220, 0x3b115: 0x6e179420, 0x3b116: 0x6e179620, 0x3b117: 0x6e179820, + 0x3b118: 0x6e179a20, 0x3b119: 0x6e179c20, 0x3b11a: 0x6e179e20, 0x3b11b: 0x6e17a020, + 0x3b11c: 0x6e17a220, 0x3b11d: 0x6e17a420, 0x3b11e: 0x6e17a620, 0x3b11f: 0x6e247420, + 0x3b120: 0x6e247620, 0x3b121: 0x6e247820, 0x3b122: 0x6e247a20, 0x3b123: 0x6e247c20, + 0x3b124: 0x6e247e20, 0x3b125: 0x6e248020, 0x3b126: 0x6e248220, 0x3b127: 0x6e248420, + 0x3b128: 0x6e248620, 0x3b129: 0x6e248820, 0x3b12a: 0x6e248a20, 0x3b12b: 0x6e248c20, + 0x3b12c: 0x6e2e4820, 0x3b12d: 0x6e2e4a20, 0x3b12e: 0x6e2e4c20, 0x3b12f: 0x6e2e4e20, + 0x3b130: 0x6e2e5020, 0x3b131: 0x6e2e5220, 0x3b132: 0x6e2e5420, 0x3b133: 0x6e2e5620, + 0x3b134: 0x6e2e5820, 0x3b135: 0x6e2e5a20, 0x3b136: 0x6e2e5c20, 0x3b137: 0x6e2e5e20, + 0x3b138: 0x6e2e6020, 0x3b139: 0x6e2e6220, 0x3b13a: 0x6e2e6420, 0x3b13b: 0x6e2e6620, + 0x3b13c: 0x6e2e6820, 0x3b13d: 0x6e2e6a20, 0x3b13e: 0x6e35e020, 0x3b13f: 0x6e35e220, + // Block 0xec5, offset 0x3b140 + 0x3b140: 0x6e35e420, 0x3b141: 0x6e35e620, 0x3b142: 0x6e35e820, 0x3b143: 0x6e35ea20, + 0x3b144: 0x6e35ec20, 0x3b145: 0x6e35ee20, 0x3b146: 0x6e3b3c20, 0x3b147: 0x6e3b3e20, + 0x3b148: 0x6e3b4020, 0x3b149: 0x6e3ef420, 0x3b14a: 0x6e3ef620, 0x3b14b: 0x6e3ef820, + 0x3b14c: 0x6e3efa20, 0x3b14d: 0x6e3efc20, 0x3b14e: 0x6e3efe20, 0x3b14f: 0x6e418620, + 0x3b150: 0x6e418820, 0x3b151: 0x6e418a20, 0x3b152: 0x6e44b820, 0x3b153: 0x6e44ba20, + 0x3b154: 0x6e460020, 0x3b155: 0x6d447420, 0x3b156: 0x6d447620, 0x3b157: 0x6df33a20, + 0x3b158: 0x6cb6ce20, 0x3b159: 0x6cb6d020, 0x3b15a: 0x6ce77e20, 0x3b15b: 0x6ce78020, + 0x3b15c: 0x6ce78220, 0x3b15d: 0x6ce78420, 0x3b15e: 0x6ce78620, 0x3b15f: 0x6ce78820, + 0x3b160: 0x6ce78a20, 0x3b161: 0x6ce78c20, 0x3b162: 0x6d165c20, 0x3b163: 0x6d165e20, + 0x3b164: 0x6d166020, 0x3b165: 0x6d166220, 0x3b166: 0x6d166420, 0x3b167: 0x6d166620, + 0x3b168: 0x6d166820, 0x3b169: 0x6d166a20, 0x3b16a: 0x6d166c20, 0x3b16b: 0x6d166e20, + 0x3b16c: 0x6d167020, 0x3b16d: 0x6d167220, 0x3b16e: 0x6d167420, 0x3b16f: 0x6d167620, + 0x3b170: 0x6cf59620, 0x3b171: 0x6d167820, 0x3b172: 0x6d167a20, 0x3b173: 0x6d167c20, + 0x3b174: 0x6d449420, 0x3b175: 0x6d449620, 0x3b176: 0x6d449820, 0x3b177: 0x6d449a20, + 0x3b178: 0x6d449c20, 0x3b179: 0x6d449e20, 0x3b17a: 0x6d44a020, 0x3b17b: 0x6d44a220, + 0x3b17c: 0x6d44a420, 0x3b17d: 0x6d44a620, 0x3b17e: 0x6d44a820, 0x3b17f: 0x6d44aa20, + // Block 0xec6, offset 0x3b180 + 0x3b180: 0x6d44ac20, 0x3b181: 0x6d44ae20, 0x3b182: 0x6d44b020, 0x3b183: 0x6d44b220, + 0x3b184: 0x6d717620, 0x3b185: 0x6d717820, 0x3b186: 0x6d717a20, 0x3b187: 0x6d717c20, + 0x3b188: 0x6d717e20, 0x3b189: 0x6d718020, 0x3b18a: 0x6d718220, 0x3b18b: 0x6d718420, + 0x3b18c: 0x6d718620, 0x3b18d: 0x6d718820, 0x3b18e: 0x6d718a20, 0x3b18f: 0x6d718c20, + 0x3b190: 0x6d718e20, 0x3b191: 0x6d719020, 0x3b192: 0x6d719220, 0x3b193: 0x6d9aca20, + 0x3b194: 0x6d9acc20, 0x3b195: 0x6d9ace20, 0x3b196: 0x6d9ad020, 0x3b197: 0x6d9ad220, + 0x3b198: 0x6d9ad420, 0x3b199: 0x6d9ad620, 0x3b19a: 0x6d9ad820, 0x3b19b: 0x6d9ada20, + 0x3b19c: 0x6d9adc20, 0x3b19d: 0x6d9ade20, 0x3b19e: 0x6d9ae020, 0x3b19f: 0x6d9ae220, + 0x3b1a0: 0x6d9ae420, 0x3b1a1: 0x6d9ae620, 0x3b1a2: 0x6d9ae820, 0x3b1a3: 0x6d9aea20, + 0x3b1a4: 0x6d9aec20, 0x3b1a5: 0x6d9aee20, 0x3b1a6: 0x6d9af020, 0x3b1a7: 0x6d9af220, + 0x3b1a8: 0x6dbd7c20, 0x3b1a9: 0x6dbd7e20, 0x3b1aa: 0x6dbd8020, 0x3b1ab: 0x6dbd8220, + 0x3b1ac: 0x6dbd8420, 0x3b1ad: 0x6dbd8620, 0x3b1ae: 0x6dbd8820, 0x3b1af: 0x6dbd8a20, + 0x3b1b0: 0x6dbd8c20, 0x3b1b1: 0x6dbd8e20, 0x3b1b2: 0x6dbd9020, 0x3b1b3: 0x6dbd9220, + 0x3b1b4: 0x6dbd9420, 0x3b1b5: 0x6dbd9620, 0x3b1b6: 0x6dbd9820, 0x3b1b7: 0x6dbd9a20, + 0x3b1b8: 0x6dbd9c20, 0x3b1b9: 0x6dbd9e20, 0x3b1ba: 0x6dbda020, 0x3b1bb: 0x6dbda220, + 0x3b1bc: 0x6dbda420, 0x3b1bd: 0x6dbda620, 0x3b1be: 0x6dbda820, 0x3b1bf: 0x6dbdaa20, + // Block 0xec7, offset 0x3b1c0 + 0x3b1c0: 0x6dbdac20, 0x3b1c1: 0x6dbdae20, 0x3b1c2: 0x6dbdb020, 0x3b1c3: 0x6dbdb220, + 0x3b1c4: 0x6dbdb420, 0x3b1c5: 0x6ddb5620, 0x3b1c6: 0x6ddb5820, 0x3b1c7: 0x6ddb5a20, + 0x3b1c8: 0x6ddb5c20, 0x3b1c9: 0x6ddb5e20, 0x3b1ca: 0x6ddb6020, 0x3b1cb: 0x6ddb6220, + 0x3b1cc: 0x6ddb6420, 0x3b1cd: 0x6ddb6620, 0x3b1ce: 0x6df34e20, 0x3b1cf: 0x6ddb6820, + 0x3b1d0: 0x6ddb6a20, 0x3b1d1: 0x6ddb6c20, 0x3b1d2: 0x6ddb6e20, 0x3b1d3: 0x6ddb7020, + 0x3b1d4: 0x6ddb7220, 0x3b1d5: 0x6ddb7420, 0x3b1d6: 0x6ddb7620, 0x3b1d7: 0x6ddb7820, + 0x3b1d8: 0x6ddb7a20, 0x3b1d9: 0x6ddb7c20, 0x3b1da: 0x6ddb7e20, 0x3b1db: 0x6ddb8020, + 0x3b1dc: 0x6df35020, 0x3b1dd: 0x6df35220, 0x3b1de: 0x6df35420, 0x3b1df: 0x6df35620, + 0x3b1e0: 0x6df35820, 0x3b1e1: 0x6df35a20, 0x3b1e2: 0x6df35c20, 0x3b1e3: 0x6df35e20, + 0x3b1e4: 0x6df36020, 0x3b1e5: 0x6df36220, 0x3b1e6: 0x6df36420, 0x3b1e7: 0x6df36620, + 0x3b1e8: 0x6df36820, 0x3b1e9: 0x6df36a20, 0x3b1ea: 0x6df36c20, 0x3b1eb: 0x6df36e20, + 0x3b1ec: 0x6df37020, 0x3b1ed: 0x6e075620, 0x3b1ee: 0x6e075820, 0x3b1ef: 0x6e075a20, + 0x3b1f0: 0x6e075c20, 0x3b1f1: 0x6e075e20, 0x3b1f2: 0x6e076020, 0x3b1f3: 0x6e076220, + 0x3b1f4: 0x6e076420, 0x3b1f5: 0x6e076620, 0x3b1f6: 0x6e076820, 0x3b1f7: 0x6e076a20, + 0x3b1f8: 0x6e17bc20, 0x3b1f9: 0x6e17be20, 0x3b1fa: 0x6e17c020, 0x3b1fb: 0x6e17c220, + 0x3b1fc: 0x6e17c420, 0x3b1fd: 0x6e17c620, 0x3b1fe: 0x6e17c820, 0x3b1ff: 0x6e17ca20, + // Block 0xec8, offset 0x3b200 + 0x3b200: 0x6e17cc20, 0x3b201: 0x6e17ce20, 0x3b202: 0x6e17d020, 0x3b203: 0x6e17d220, + 0x3b204: 0x6e17d420, 0x3b205: 0x6e17d620, 0x3b206: 0x6e17d820, 0x3b207: 0x6e17da20, + 0x3b208: 0x6e249220, 0x3b209: 0x6e249420, 0x3b20a: 0x6e249620, 0x3b20b: 0x6e249820, + 0x3b20c: 0x6e249a20, 0x3b20d: 0x6e249c20, 0x3b20e: 0x6e2e7020, 0x3b20f: 0x6e2e7220, + 0x3b210: 0x6e2e7420, 0x3b211: 0x6e35f420, 0x3b212: 0x6e35f620, 0x3b213: 0x6e35f820, + 0x3b214: 0x6e35fa20, 0x3b215: 0x6e35fc20, 0x3b216: 0x6e3b4220, 0x3b217: 0x6e3b4420, + 0x3b218: 0x6e3b4620, 0x3b219: 0x6e3b4820, 0x3b21a: 0x6e3b4a20, 0x3b21b: 0x6e3f0020, + 0x3b21c: 0x6e3f0220, 0x3b21d: 0x6e419020, 0x3b21e: 0x6e419220, 0x3b21f: 0x6e437220, + 0x3b220: 0x6e46d220, 0x3b221: 0x6e46f220, 0x3b222: 0x6e470c20, 0x3b223: 0x6e473420, + 0x3b224: 0x6e473a20, 0x3b225: 0x6c635620, 0x3b226: 0x6c635820, 0x3b227: 0x6cb6d220, + 0x3b228: 0x6ce79020, 0x3b229: 0x6ce79220, 0x3b22a: 0x6ce79420, 0x3b22b: 0x6d168220, + 0x3b22c: 0x6d168420, 0x3b22d: 0x6d44bc20, 0x3b22e: 0x6d44be20, 0x3b22f: 0x6d9af820, + 0x3b230: 0x6dbdb820, 0x3b231: 0x6c635e20, 0x3b232: 0x6d168820, 0x3b233: 0x6d44c020, + 0x3b234: 0x6d719620, 0x3b235: 0x6ddb8820, 0x3b236: 0x6df37820, 0x3b237: 0x6df37a20, + 0x3b238: 0x6df37c20, 0x3b239: 0x6e076c20, 0x3b23a: 0x6e17de20, 0x3b23b: 0x6e17e020, + 0x3b23c: 0x6e24a220, 0x3b23d: 0x6e24a420, 0x3b23e: 0x6e45ea20, 0x3b23f: 0x6c429020, + // Block 0xec9, offset 0x3b240 + 0x3b240: 0x6c429220, 0x3b241: 0x6c429420, 0x3b242: 0x6c636620, 0x3b243: 0x6c429620, + 0x3b244: 0x6c8a6e20, 0x3b245: 0x6c8a7020, 0x3b246: 0x6c8a7220, 0x3b247: 0x6cb6de20, + 0x3b248: 0x6cb6e020, 0x3b249: 0x6cb6e220, 0x3b24a: 0x6cb6e420, 0x3b24b: 0x6cb6e620, + 0x3b24c: 0x6cb6e820, 0x3b24d: 0x6cb6ea20, 0x3b24e: 0x6cb6ec20, 0x3b24f: 0x6cb6ee20, + 0x3b250: 0x6cb6f020, 0x3b251: 0x6cb6f220, 0x3b252: 0x6cb6f420, 0x3b253: 0x6cb6f620, + 0x3b254: 0x6cb6f820, 0x3b255: 0x6ce7b020, 0x3b256: 0x6ce7b220, 0x3b257: 0x6ce7b420, + 0x3b258: 0x6ce7b620, 0x3b259: 0x6ce7b820, 0x3b25a: 0x6ce7ba20, 0x3b25b: 0x6ce7bc20, + 0x3b25c: 0x6ce7be20, 0x3b25d: 0x6ce7c020, 0x3b25e: 0x6ce7c220, 0x3b25f: 0x6ce7c420, + 0x3b260: 0x6ce7c620, 0x3b261: 0x6ce7c820, 0x3b262: 0x6ce7ca20, 0x3b263: 0x6ce7cc20, + 0x3b264: 0x6ce7ce20, 0x3b265: 0x6ce7d020, 0x3b266: 0x6ce7d220, 0x3b267: 0x6ce7d420, + 0x3b268: 0x6d16b020, 0x3b269: 0x6d16b220, 0x3b26a: 0x6d16b420, 0x3b26b: 0x6d16b620, + 0x3b26c: 0x6d16b820, 0x3b26d: 0x6d16ba20, 0x3b26e: 0x6d16bc20, 0x3b26f: 0x6d16be20, + 0x3b270: 0x6d16c020, 0x3b271: 0x6d16c220, 0x3b272: 0x6d16c420, 0x3b273: 0x6d16c620, + 0x3b274: 0x6d16c820, 0x3b275: 0x6d16ca20, 0x3b276: 0x6d16cc20, 0x3b277: 0x6d16ce20, + 0x3b278: 0x6d16d020, 0x3b279: 0x6d16d220, 0x3b27a: 0x6d16d420, 0x3b27b: 0x6d16d620, + 0x3b27c: 0x6d16d820, 0x3b27d: 0x6d16da20, 0x3b27e: 0x6d16dc20, 0x3b27f: 0x6d16de20, + // Block 0xeca, offset 0x3b280 + 0x3b280: 0x6d16e020, 0x3b281: 0x6d16e220, 0x3b282: 0x6d16e420, 0x3b283: 0x6d16e620, + 0x3b284: 0x6d16e820, 0x3b285: 0x6d16ea20, 0x3b286: 0x6d16ec20, 0x3b287: 0x6d16ee20, + 0x3b288: 0x6d16f020, 0x3b289: 0x6d44f020, 0x3b28a: 0x6d44f220, 0x3b28b: 0x6d44f420, + 0x3b28c: 0x6d44f620, 0x3b28d: 0x6d44f820, 0x3b28e: 0x6d44fa20, 0x3b28f: 0x6d44fc20, + 0x3b290: 0x6d44fe20, 0x3b291: 0x6d450020, 0x3b292: 0x6d450220, 0x3b293: 0x6d450420, + 0x3b294: 0x6d450620, 0x3b295: 0x6d450820, 0x3b296: 0x6d450a20, 0x3b297: 0x6d450c20, + 0x3b298: 0x6d450e20, 0x3b299: 0x6d451020, 0x3b29a: 0x6d451220, 0x3b29b: 0x6d451420, + 0x3b29c: 0x6d451620, 0x3b29d: 0x6d71c220, 0x3b29e: 0x6d71c420, 0x3b29f: 0x6d71c620, + 0x3b2a0: 0x6d71c820, 0x3b2a1: 0x6d71ca20, 0x3b2a2: 0x6d71cc20, 0x3b2a3: 0x6d71ce20, + 0x3b2a4: 0x6d71d020, 0x3b2a5: 0x6d71d220, 0x3b2a6: 0x6d71d420, 0x3b2a7: 0x6d71d620, + 0x3b2a8: 0x6d71d820, 0x3b2a9: 0x6d71da20, 0x3b2aa: 0x6d71dc20, 0x3b2ab: 0x6d71de20, + 0x3b2ac: 0x6d71e020, 0x3b2ad: 0x6d71e220, 0x3b2ae: 0x6d71e420, 0x3b2af: 0x6d71e620, + 0x3b2b0: 0x6d71e820, 0x3b2b1: 0x6d71ea20, 0x3b2b2: 0x6d71ec20, 0x3b2b3: 0x6d71ee20, + 0x3b2b4: 0x6d71f020, 0x3b2b5: 0x6d71f220, 0x3b2b6: 0x6d71f420, 0x3b2b7: 0x6d71f620, + 0x3b2b8: 0x6d71f820, 0x3b2b9: 0x6d71fa20, 0x3b2ba: 0x6d9b2820, 0x3b2bb: 0x6d9b2a20, + 0x3b2bc: 0x6d9b2c20, 0x3b2bd: 0x6d9b2e20, 0x3b2be: 0x6d9b3020, 0x3b2bf: 0x6d9b3220, + // Block 0xecb, offset 0x3b2c0 + 0x3b2c0: 0x6d9b3420, 0x3b2c1: 0x6d9b3620, 0x3b2c2: 0x6d9b3820, 0x3b2c3: 0x6d9b3a20, + 0x3b2c4: 0x6d9b3c20, 0x3b2c5: 0x6d9b3e20, 0x3b2c6: 0x6d9b4020, 0x3b2c7: 0x6d9b4220, + 0x3b2c8: 0x6d9b4420, 0x3b2c9: 0x6d9b4620, 0x3b2ca: 0x6d9b4820, 0x3b2cb: 0x6d9b4a20, + 0x3b2cc: 0x6d9b4c20, 0x3b2cd: 0x6d9b4e20, 0x3b2ce: 0x6d9b5020, 0x3b2cf: 0x6d9b5220, + 0x3b2d0: 0x6d9b5420, 0x3b2d1: 0x6d9b5620, 0x3b2d2: 0x6d9b5820, 0x3b2d3: 0x6d9b5a20, + 0x3b2d4: 0x6d9b5c20, 0x3b2d5: 0x6d9b5e20, 0x3b2d6: 0x6d9b6020, 0x3b2d7: 0x6d9b6220, + 0x3b2d8: 0x6d9b6420, 0x3b2d9: 0x6d9b6620, 0x3b2da: 0x6d9b6820, 0x3b2db: 0x6d9b6a20, + 0x3b2dc: 0x6d9b6c20, 0x3b2dd: 0x6d9b6e20, 0x3b2de: 0x6d9b7020, 0x3b2df: 0x6d9b7220, + 0x3b2e0: 0x6d9b7420, 0x3b2e1: 0x6d9b7620, 0x3b2e2: 0x6d9b7820, 0x3b2e3: 0x6dbde220, + 0x3b2e4: 0x6d9b7a20, 0x3b2e5: 0x6d9b7c20, 0x3b2e6: 0x6d9b7e20, 0x3b2e7: 0x6d9b8020, + 0x3b2e8: 0x6d9b8220, 0x3b2e9: 0x6d9b8420, 0x3b2ea: 0x6d9b8620, 0x3b2eb: 0x6d9b8820, + 0x3b2ec: 0x6d9b8a20, 0x3b2ed: 0x6dbde420, 0x3b2ee: 0x6dbde620, 0x3b2ef: 0x6dbde820, + 0x3b2f0: 0x6dbdea20, 0x3b2f1: 0x6dbdec20, 0x3b2f2: 0x6dbdee20, 0x3b2f3: 0x6dbdf020, + 0x3b2f4: 0x6dbdf220, 0x3b2f5: 0x6dbdf420, 0x3b2f6: 0x6dbdf620, 0x3b2f7: 0x6dbdf820, + 0x3b2f8: 0x6dbdfa20, 0x3b2f9: 0x6dbdfc20, 0x3b2fa: 0x6dbdfe20, 0x3b2fb: 0x6dbe0020, + 0x3b2fc: 0x6dbe0220, 0x3b2fd: 0x6dbe0420, 0x3b2fe: 0x6dbe0620, 0x3b2ff: 0x6dbe0820, + // Block 0xecc, offset 0x3b300 + 0x3b300: 0x6dbe0a20, 0x3b301: 0x6dbe0c20, 0x3b302: 0x6dbe0e20, 0x3b303: 0x6dbe1020, + 0x3b304: 0x6dbe1220, 0x3b305: 0x6dbe1420, 0x3b306: 0x6dbe1620, 0x3b307: 0x6dbe1820, + 0x3b308: 0x6dbe1a20, 0x3b309: 0x6dbe1c20, 0x3b30a: 0x6dbe1e20, 0x3b30b: 0x6dbe2020, + 0x3b30c: 0x6dbe2220, 0x3b30d: 0x6dbe2420, 0x3b30e: 0x6dbe2620, 0x3b30f: 0x6dbe2820, + 0x3b310: 0x6dbe2a20, 0x3b311: 0x6dbe2c20, 0x3b312: 0x6dbe2e20, 0x3b313: 0x6dbe3020, + 0x3b314: 0x6dbe3220, 0x3b315: 0x6dbe3420, 0x3b316: 0x6dbe3620, 0x3b317: 0x6dbe3820, + 0x3b318: 0x6dbe3a20, 0x3b319: 0x6ddbb220, 0x3b31a: 0x6ddbb420, 0x3b31b: 0x6ddbb620, + 0x3b31c: 0x6ddbb820, 0x3b31d: 0x6ddbba20, 0x3b31e: 0x6ddbbc20, 0x3b31f: 0x6ddbbe20, + 0x3b320: 0x6ddbc020, 0x3b321: 0x6ddbc220, 0x3b322: 0x6ddbc420, 0x3b323: 0x6ddbc620, + 0x3b324: 0x6ddbc820, 0x3b325: 0x6ddbca20, 0x3b326: 0x6ddbcc20, 0x3b327: 0x6ddbce20, + 0x3b328: 0x6ddbd020, 0x3b329: 0x6ddbd220, 0x3b32a: 0x6ddbd420, 0x3b32b: 0x6ddbd620, + 0x3b32c: 0x6ddbd820, 0x3b32d: 0x6ddbda20, 0x3b32e: 0x6ddbdc20, 0x3b32f: 0x6ddbde20, + 0x3b330: 0x6ddbe020, 0x3b331: 0x6ddbe220, 0x3b332: 0x6ddbe420, 0x3b333: 0x6ddbe620, + 0x3b334: 0x6df39620, 0x3b335: 0x6ddbe820, 0x3b336: 0x6ddbea20, 0x3b337: 0x6ddbec20, + 0x3b338: 0x6ddbee20, 0x3b339: 0x6ddbf020, 0x3b33a: 0x6ddbf220, 0x3b33b: 0x6ddbf420, + 0x3b33c: 0x6ddbf620, 0x3b33d: 0x6df39820, 0x3b33e: 0x6df39a20, 0x3b33f: 0x6df39c20, + // Block 0xecd, offset 0x3b340 + 0x3b340: 0x6df39e20, 0x3b341: 0x6df3a020, 0x3b342: 0x6df3a220, 0x3b343: 0x6df3a420, + 0x3b344: 0x6df3a620, 0x3b345: 0x6df3a820, 0x3b346: 0x6df3aa20, 0x3b347: 0x6df3ac20, + 0x3b348: 0x6df3ae20, 0x3b349: 0x6df3b020, 0x3b34a: 0x6df3b220, 0x3b34b: 0x6df3b420, + 0x3b34c: 0x6df3b620, 0x3b34d: 0x6df3b820, 0x3b34e: 0x6df3ba20, 0x3b34f: 0x6df3bc20, + 0x3b350: 0x6df3be20, 0x3b351: 0x6df3c020, 0x3b352: 0x6df3c220, 0x3b353: 0x6df3c420, + 0x3b354: 0x6df3c620, 0x3b355: 0x6df3c820, 0x3b356: 0x6df3ca20, 0x3b357: 0x6df3cc20, + 0x3b358: 0x6df3ce20, 0x3b359: 0x6df3d020, 0x3b35a: 0x6df3d220, 0x3b35b: 0x6df3d420, + 0x3b35c: 0x6df3d620, 0x3b35d: 0x6df3d820, 0x3b35e: 0x6df3da20, 0x3b35f: 0x6df3dc20, + 0x3b360: 0x6df3de20, 0x3b361: 0x6e078820, 0x3b362: 0x6e078a20, 0x3b363: 0x6e078c20, + 0x3b364: 0x6e078e20, 0x3b365: 0x6e079020, 0x3b366: 0x6e079220, 0x3b367: 0x6e079420, + 0x3b368: 0x6e079620, 0x3b369: 0x6e079820, 0x3b36a: 0x6e079a20, 0x3b36b: 0x6e079c20, + 0x3b36c: 0x6e079e20, 0x3b36d: 0x6e07a020, 0x3b36e: 0x6e07a220, 0x3b36f: 0x6e07a420, + 0x3b370: 0x6e07a620, 0x3b371: 0x6e07a820, 0x3b372: 0x6e07aa20, 0x3b373: 0x6e07ac20, + 0x3b374: 0x6e07ae20, 0x3b375: 0x6e07b020, 0x3b376: 0x6e17f420, 0x3b377: 0x6e07b220, + 0x3b378: 0x6e07b420, 0x3b379: 0x6e07b620, 0x3b37a: 0x6e07b820, 0x3b37b: 0x6e07ba20, + 0x3b37c: 0x6e07bc20, 0x3b37d: 0x6e07be20, 0x3b37e: 0x6e17f620, 0x3b37f: 0x6e17f820, + // Block 0xece, offset 0x3b380 + 0x3b380: 0x6e17fa20, 0x3b381: 0x6e17fc20, 0x3b382: 0x6e17fe20, 0x3b383: 0x6e180020, + 0x3b384: 0x6e180220, 0x3b385: 0x6e180420, 0x3b386: 0x6e180620, 0x3b387: 0x6e180820, + 0x3b388: 0x6e180a20, 0x3b389: 0x6e180c20, 0x3b38a: 0x6e180e20, 0x3b38b: 0x6e181020, + 0x3b38c: 0x6e181220, 0x3b38d: 0x6e181420, 0x3b38e: 0x6e181620, 0x3b38f: 0x6e181820, + 0x3b390: 0x6e181a20, 0x3b391: 0x6e181c20, 0x3b392: 0x6e181e20, 0x3b393: 0x6e24b620, + 0x3b394: 0x6e24b820, 0x3b395: 0x6e24ba20, 0x3b396: 0x6e24bc20, 0x3b397: 0x6e24be20, + 0x3b398: 0x6e24c020, 0x3b399: 0x6e24c220, 0x3b39a: 0x6e24c420, 0x3b39b: 0x6e24c620, + 0x3b39c: 0x6e24c820, 0x3b39d: 0x6e24ca20, 0x3b39e: 0x6e24cc20, 0x3b39f: 0x6e24ce20, + 0x3b3a0: 0x6e24d020, 0x3b3a1: 0x6e24d220, 0x3b3a2: 0x6e24d420, 0x3b3a3: 0x6e24d620, + 0x3b3a4: 0x6e2e8420, 0x3b3a5: 0x6e2e8620, 0x3b3a6: 0x6e2e8820, 0x3b3a7: 0x6e2e8a20, + 0x3b3a8: 0x6e2e8c20, 0x3b3a9: 0x6e2e8e20, 0x3b3aa: 0x6e2e9020, 0x3b3ab: 0x6e2e9220, + 0x3b3ac: 0x6e2e9420, 0x3b3ad: 0x6e360420, 0x3b3ae: 0x6e360620, 0x3b3af: 0x6e360820, + 0x3b3b0: 0x6e360a20, 0x3b3b1: 0x6e360c20, 0x3b3b2: 0x6e360e20, 0x3b3b3: 0x6e361020, + 0x3b3b4: 0x6e361220, 0x3b3b5: 0x6e361420, 0x3b3b6: 0x6e3b5020, 0x3b3b7: 0x6e3f0820, + 0x3b3b8: 0x6e3f0a20, 0x3b3b9: 0x6e3f0c20, 0x3b3ba: 0x6e3f0e20, 0x3b3bb: 0x6e44bc20, + 0x3b3bc: 0x6e457420, 0x3b3bd: 0x6e465220, 0x3b3be: 0x6c288e20, 0x3b3bf: 0x6c289020, + // Block 0xecf, offset 0x3b3c0 + 0x3b3c0: 0x6c289220, 0x3b3c1: 0x6c42a420, 0x3b3c2: 0x6c42a620, 0x3b3c3: 0x6c637820, + 0x3b3c4: 0x6c8a8020, 0x3b3c5: 0x6c8a8220, 0x3b3c6: 0x6cb70220, 0x3b3c7: 0x6c8a8420, + 0x3b3c8: 0x6cb70420, 0x3b3c9: 0x6cb70620, 0x3b3ca: 0x6ce7e020, 0x3b3cb: 0x6ce7e220, + 0x3b3cc: 0x6d170020, 0x3b3cd: 0x6d452420, 0x3b3ce: 0x6d452620, 0x3b3cf: 0x6d720220, + 0x3b3d0: 0x6c638020, 0x3b3d1: 0x6cb70e20, 0x3b3d2: 0x6cb71020, 0x3b3d3: 0x6ce7ee20, + 0x3b3d4: 0x6d170620, 0x3b3d5: 0x6d452820, 0x3b3d6: 0x6d452a20, 0x3b3d7: 0x6d452c20, + 0x3b3d8: 0x6d452e20, 0x3b3d9: 0x6d453020, 0x3b3da: 0x6d720c20, 0x3b3db: 0x6d720e20, + 0x3b3dc: 0x6d721020, 0x3b3dd: 0x6d721220, 0x3b3de: 0x6d721420, 0x3b3df: 0x6d721620, + 0x3b3e0: 0x6d721820, 0x3b3e1: 0x6d9b9020, 0x3b3e2: 0x6d9b9220, 0x3b3e3: 0x6d9b9420, + 0x3b3e4: 0x6d9b9620, 0x3b3e5: 0x6d9b9820, 0x3b3e6: 0x6d9b9a20, 0x3b3e7: 0x6d9b9c20, + 0x3b3e8: 0x6dbe4a20, 0x3b3e9: 0x6dbe4c20, 0x3b3ea: 0x6ddbfc20, 0x3b3eb: 0x6ddbfe20, + 0x3b3ec: 0x6ddc0020, 0x3b3ed: 0x6ddc0220, 0x3b3ee: 0x6de36c20, 0x3b3ef: 0x6df3e620, + 0x3b3f0: 0x6dface20, 0x3b3f1: 0x6df3e820, 0x3b3f2: 0x6e07c620, 0x3b3f3: 0x6e182220, + 0x3b3f4: 0x6e24dc20, 0x3b3f5: 0x6e2e9620, 0x3b3f6: 0x6e2e9820, 0x3b3f7: 0x6e361620, + 0x3b3f8: 0x6e3b5420, 0x3b3f9: 0x6e419c20, 0x3b3fa: 0x6c8a8c20, 0x3b3fb: 0x6d170a20, + 0x3b3fc: 0x6d170c20, 0x3b3fd: 0x6d170e20, 0x3b3fe: 0x6d453c20, 0x3b3ff: 0x6d453e20, + // Block 0xed0, offset 0x3b400 + 0x3b400: 0x6d454020, 0x3b401: 0x6d454220, 0x3b402: 0x6d721a20, 0x3b403: 0x6d454420, + 0x3b404: 0x6d454620, 0x3b405: 0x6d721c20, 0x3b406: 0x6d721e20, 0x3b407: 0x6d9ba620, + 0x3b408: 0x6d9ba820, 0x3b409: 0x6dbe5c20, 0x3b40a: 0x6dbe5e20, 0x3b40b: 0x6dbe6020, + 0x3b40c: 0x6ddc0820, 0x3b40d: 0x6ddc0a20, 0x3b40e: 0x6ddc0c20, 0x3b40f: 0x6dbe6220, + 0x3b410: 0x6ddc0e20, 0x3b411: 0x6ddc1020, 0x3b412: 0x6ddc1220, 0x3b413: 0x6df3f020, + 0x3b414: 0x6df3f220, 0x3b415: 0x6df3f420, 0x3b416: 0x6df3f620, 0x3b417: 0x6df3f820, + 0x3b418: 0x6df3fa20, 0x3b419: 0x6e07cc20, 0x3b41a: 0x6e07ce20, 0x3b41b: 0x6e07d020, + 0x3b41c: 0x6e07d220, 0x3b41d: 0x6e182620, 0x3b41e: 0x6e182820, 0x3b41f: 0x6e182a20, + 0x3b420: 0x6e182c20, 0x3b421: 0x6e182e20, 0x3b422: 0x6e24de20, 0x3b423: 0x6e24e020, + 0x3b424: 0x6e2e9c20, 0x3b425: 0x6e3f1020, 0x3b426: 0x6e437620, 0x3b427: 0x6c8a9020, + 0x3b428: 0x6cb71220, 0x3b429: 0x6ce7f620, 0x3b42a: 0x6ce7f820, 0x3b42b: 0x6ce7fa20, + 0x3b42c: 0x6ce7fc20, 0x3b42d: 0x6ce7fe20, 0x3b42e: 0x6ce80020, 0x3b42f: 0x6ce80220, + 0x3b430: 0x6d172220, 0x3b431: 0x6d172420, 0x3b432: 0x6d172620, 0x3b433: 0x6d172820, + 0x3b434: 0x6d172a20, 0x3b435: 0x6d172c20, 0x3b436: 0x6d172e20, 0x3b437: 0x6d457c20, + 0x3b438: 0x6d457e20, 0x3b439: 0x6d458020, 0x3b43a: 0x6d458220, 0x3b43b: 0x6d458420, + 0x3b43c: 0x6d458620, 0x3b43d: 0x6d458820, 0x3b43e: 0x6d458a20, 0x3b43f: 0x6d726420, + // Block 0xed1, offset 0x3b440 + 0x3b440: 0x6d458c20, 0x3b441: 0x6d458e20, 0x3b442: 0x6d459020, 0x3b443: 0x6d459220, + 0x3b444: 0x6d459420, 0x3b445: 0x6d459620, 0x3b446: 0x6d726620, 0x3b447: 0x6d459820, + 0x3b448: 0x6d459a20, 0x3b449: 0x6d459c20, 0x3b44a: 0x6d459e20, 0x3b44b: 0x6d45a020, + 0x3b44c: 0x6d45a220, 0x3b44d: 0x6d726820, 0x3b44e: 0x6d726a20, 0x3b44f: 0x6d726c20, + 0x3b450: 0x6d726e20, 0x3b451: 0x6d727020, 0x3b452: 0x6d727220, 0x3b453: 0x6d727420, + 0x3b454: 0x6d727620, 0x3b455: 0x6d727820, 0x3b456: 0x6d727a20, 0x3b457: 0x6d727c20, + 0x3b458: 0x6d727e20, 0x3b459: 0x6d728020, 0x3b45a: 0x6d728220, 0x3b45b: 0x6d728420, + 0x3b45c: 0x6d728620, 0x3b45d: 0x6d728820, 0x3b45e: 0x6d728a20, 0x3b45f: 0x6d728c20, + 0x3b460: 0x6d728e20, 0x3b461: 0x6d729020, 0x3b462: 0x6d729220, 0x3b463: 0x6d729420, + 0x3b464: 0x6d729620, 0x3b465: 0x6d729820, 0x3b466: 0x6d729a20, 0x3b467: 0x6d729c20, + 0x3b468: 0x6d729e20, 0x3b469: 0x6d72a020, 0x3b46a: 0x6d72a220, 0x3b46b: 0x6d72a420, + 0x3b46c: 0x6d72a620, 0x3b46d: 0x6d72a820, 0x3b46e: 0x6d9bde20, 0x3b46f: 0x6d9be020, + 0x3b470: 0x6d9be220, 0x3b471: 0x6d9be420, 0x3b472: 0x6d9be620, 0x3b473: 0x6d9be820, + 0x3b474: 0x6d9bea20, 0x3b475: 0x6d9bec20, 0x3b476: 0x6d9bee20, 0x3b477: 0x6d9bf020, + 0x3b478: 0x6d9bf220, 0x3b479: 0x6d9bf420, 0x3b47a: 0x6d9bf620, 0x3b47b: 0x6d9bf820, + 0x3b47c: 0x6d9bfa20, 0x3b47d: 0x6d9bfc20, 0x3b47e: 0x6d9bfe20, 0x3b47f: 0x6d9c0020, + // Block 0xed2, offset 0x3b480 + 0x3b480: 0x6d9c0220, 0x3b481: 0x6d9c0420, 0x3b482: 0x6d9c0620, 0x3b483: 0x6d9c0820, + 0x3b484: 0x6d9c0a20, 0x3b485: 0x6d9c0c20, 0x3b486: 0x6d9c0e20, 0x3b487: 0x6d9c1020, + 0x3b488: 0x6d9c1220, 0x3b489: 0x6d9c1420, 0x3b48a: 0x6d9c1620, 0x3b48b: 0x6d9c1820, + 0x3b48c: 0x6d9c1a20, 0x3b48d: 0x6d9c1c20, 0x3b48e: 0x6d9c1e20, 0x3b48f: 0x6d9c2020, + 0x3b490: 0x6d9c2220, 0x3b491: 0x6d9c2420, 0x3b492: 0x6d9c2620, 0x3b493: 0x6d9c2820, + 0x3b494: 0x6d9c2a20, 0x3b495: 0x6d9c2c20, 0x3b496: 0x6dbe9020, 0x3b497: 0x6dbe9220, + 0x3b498: 0x6dbe9420, 0x3b499: 0x6dbe9620, 0x3b49a: 0x6dbe9820, 0x3b49b: 0x6dbe9a20, + 0x3b49c: 0x6dbe9c20, 0x3b49d: 0x6dbe9e20, 0x3b49e: 0x6dbea020, 0x3b49f: 0x6dbea220, + 0x3b4a0: 0x6dbea420, 0x3b4a1: 0x6dbea620, 0x3b4a2: 0x6dbea820, 0x3b4a3: 0x6dbeaa20, + 0x3b4a4: 0x6dbeac20, 0x3b4a5: 0x6dbeae20, 0x3b4a6: 0x6dbeb020, 0x3b4a7: 0x6dbeb220, + 0x3b4a8: 0x6dbeb420, 0x3b4a9: 0x6dbeb620, 0x3b4aa: 0x6dbeb820, 0x3b4ab: 0x6dbeba20, + 0x3b4ac: 0x6dbebc20, 0x3b4ad: 0x6ddc4820, 0x3b4ae: 0x6ddc4a20, 0x3b4af: 0x6ddc4c20, + 0x3b4b0: 0x6ddc4e20, 0x3b4b1: 0x6ddc5020, 0x3b4b2: 0x6ddc5220, 0x3b4b3: 0x6ddc5420, + 0x3b4b4: 0x6ddc5620, 0x3b4b5: 0x6ddc5820, 0x3b4b6: 0x6ddc5a20, 0x3b4b7: 0x6ddc5c20, + 0x3b4b8: 0x6ddc5e20, 0x3b4b9: 0x6ddc6020, 0x3b4ba: 0x6ddc6220, 0x3b4bb: 0x6ddc6420, + 0x3b4bc: 0x6ddc6620, 0x3b4bd: 0x6ddc6820, 0x3b4be: 0x6ddc6a20, 0x3b4bf: 0x6ddc6c20, + // Block 0xed3, offset 0x3b4c0 + 0x3b4c0: 0x6ddc6e20, 0x3b4c1: 0x6ddc7020, 0x3b4c2: 0x6ddc7220, 0x3b4c3: 0x6ddc7420, + 0x3b4c4: 0x6ddc7620, 0x3b4c5: 0x6ddc7820, 0x3b4c6: 0x6ddc7a20, 0x3b4c7: 0x6ddc7c20, + 0x3b4c8: 0x6ddc7e20, 0x3b4c9: 0x6ddc8020, 0x3b4ca: 0x6ddc8220, 0x3b4cb: 0x6ddc8420, + 0x3b4cc: 0x6ddc8620, 0x3b4cd: 0x6ddc8820, 0x3b4ce: 0x6ddc8a20, 0x3b4cf: 0x6ddc8c20, + 0x3b4d0: 0x6ddc8e20, 0x3b4d1: 0x6ddc9020, 0x3b4d2: 0x6ddc9220, 0x3b4d3: 0x6ddc9420, + 0x3b4d4: 0x6ddc9620, 0x3b4d5: 0x6ddc9820, 0x3b4d6: 0x6ddc9a20, 0x3b4d7: 0x6df43420, + 0x3b4d8: 0x6df43620, 0x3b4d9: 0x6df43820, 0x3b4da: 0x6df43a20, 0x3b4db: 0x6df43c20, + 0x3b4dc: 0x6df43e20, 0x3b4dd: 0x6df44020, 0x3b4de: 0x6ddc9c20, 0x3b4df: 0x6df44220, + 0x3b4e0: 0x6df44420, 0x3b4e1: 0x6df44620, 0x3b4e2: 0x6df44820, 0x3b4e3: 0x6df44a20, + 0x3b4e4: 0x6df44c20, 0x3b4e5: 0x6df44e20, 0x3b4e6: 0x6df45020, 0x3b4e7: 0x6df45220, + 0x3b4e8: 0x6df45420, 0x3b4e9: 0x6df45620, 0x3b4ea: 0x6df45820, 0x3b4eb: 0x6df45a20, + 0x3b4ec: 0x6df45c20, 0x3b4ed: 0x6df45e20, 0x3b4ee: 0x6df46020, 0x3b4ef: 0x6df46220, + 0x3b4f0: 0x6df46420, 0x3b4f1: 0x6df46620, 0x3b4f2: 0x6df46820, 0x3b4f3: 0x6df46a20, + 0x3b4f4: 0x6df46c20, 0x3b4f5: 0x6df46e20, 0x3b4f6: 0x6df47020, 0x3b4f7: 0x6dbebe20, + 0x3b4f8: 0x6df47220, 0x3b4f9: 0x6df47420, 0x3b4fa: 0x6df47620, 0x3b4fb: 0x6df47820, + 0x3b4fc: 0x6df47a20, 0x3b4fd: 0x6e080620, 0x3b4fe: 0x6e080820, 0x3b4ff: 0x6e080a20, + // Block 0xed4, offset 0x3b500 + 0x3b500: 0x6e080c20, 0x3b501: 0x6e080e20, 0x3b502: 0x6e081020, 0x3b503: 0x6e081220, + 0x3b504: 0x6e081420, 0x3b505: 0x6e081620, 0x3b506: 0x6e081820, 0x3b507: 0x6e081a20, + 0x3b508: 0x6e081c20, 0x3b509: 0x6e081e20, 0x3b50a: 0x6e082020, 0x3b50b: 0x6e082220, + 0x3b50c: 0x6e082420, 0x3b50d: 0x6e082620, 0x3b50e: 0x6e082820, 0x3b50f: 0x6e082a20, + 0x3b510: 0x6e082c20, 0x3b511: 0x6e082e20, 0x3b512: 0x6e083020, 0x3b513: 0x6e083220, + 0x3b514: 0x6e083420, 0x3b515: 0x6e083620, 0x3b516: 0x6e083820, 0x3b517: 0x6e083a20, + 0x3b518: 0x6e083c20, 0x3b519: 0x6e083e20, 0x3b51a: 0x6e084020, 0x3b51b: 0x6e084220, + 0x3b51c: 0x6e084420, 0x3b51d: 0x6e084620, 0x3b51e: 0x6e084820, 0x3b51f: 0x6e084a20, + 0x3b520: 0x6e084c20, 0x3b521: 0x6e084e20, 0x3b522: 0x6e085020, 0x3b523: 0x6e085220, + 0x3b524: 0x6e085420, 0x3b525: 0x6e085620, 0x3b526: 0x6e085820, 0x3b527: 0x6e085a20, + 0x3b528: 0x6e085c20, 0x3b529: 0x6e085e20, 0x3b52a: 0x6e086020, 0x3b52b: 0x6e186220, + 0x3b52c: 0x6e186420, 0x3b52d: 0x6e186620, 0x3b52e: 0x6e186820, 0x3b52f: 0x6e186a20, + 0x3b530: 0x6e186c20, 0x3b531: 0x6e186e20, 0x3b532: 0x6e187020, 0x3b533: 0x6e187220, + 0x3b534: 0x6e187420, 0x3b535: 0x6e187620, 0x3b536: 0x6e187820, 0x3b537: 0x6e187a20, + 0x3b538: 0x6e187c20, 0x3b539: 0x6e187e20, 0x3b53a: 0x6e188020, 0x3b53b: 0x6e188220, + 0x3b53c: 0x6e188420, 0x3b53d: 0x6e188620, 0x3b53e: 0x6e188820, 0x3b53f: 0x6e188a20, + // Block 0xed5, offset 0x3b540 + 0x3b540: 0x6e188c20, 0x3b541: 0x6e188e20, 0x3b542: 0x6e250a20, 0x3b543: 0x6e250c20, + 0x3b544: 0x6e250e20, 0x3b545: 0x6e251020, 0x3b546: 0x6e251220, 0x3b547: 0x6e251420, + 0x3b548: 0x6e251620, 0x3b549: 0x6e251820, 0x3b54a: 0x6e251a20, 0x3b54b: 0x6e251c20, + 0x3b54c: 0x6e251e20, 0x3b54d: 0x6e252020, 0x3b54e: 0x6e252220, 0x3b54f: 0x6e252420, + 0x3b550: 0x6e252620, 0x3b551: 0x6e252820, 0x3b552: 0x6e252a20, 0x3b553: 0x6e252c20, + 0x3b554: 0x6e252e20, 0x3b555: 0x6e253020, 0x3b556: 0x6e253220, 0x3b557: 0x6e253420, + 0x3b558: 0x6e253620, 0x3b559: 0x6e253820, 0x3b55a: 0x6e253a20, 0x3b55b: 0x6e253c20, + 0x3b55c: 0x6e253e20, 0x3b55d: 0x6e254020, 0x3b55e: 0x6e2eb220, 0x3b55f: 0x6e2eb420, + 0x3b560: 0x6e2eb620, 0x3b561: 0x6e2eb820, 0x3b562: 0x6e2eba20, 0x3b563: 0x6e2ebc20, + 0x3b564: 0x6e2ebe20, 0x3b565: 0x6e2ec020, 0x3b566: 0x6e2ec220, 0x3b567: 0x6e2ec420, + 0x3b568: 0x6e2ec620, 0x3b569: 0x6e2ec820, 0x3b56a: 0x6e2eca20, 0x3b56b: 0x6e2ecc20, + 0x3b56c: 0x6e2ece20, 0x3b56d: 0x6e2ed020, 0x3b56e: 0x6e2ed220, 0x3b56f: 0x6e2ed420, + 0x3b570: 0x6e2ed620, 0x3b571: 0x6e2ed820, 0x3b572: 0x6e2eda20, 0x3b573: 0x6e2edc20, + 0x3b574: 0x6e2ede20, 0x3b575: 0x6e2ee020, 0x3b576: 0x6e362820, 0x3b577: 0x6e362a20, + 0x3b578: 0x6e362c20, 0x3b579: 0x6e362e20, 0x3b57a: 0x6e363020, 0x3b57b: 0x6e363220, + 0x3b57c: 0x6e363420, 0x3b57d: 0x6e363620, 0x3b57e: 0x6e363820, 0x3b57f: 0x6e363a20, + // Block 0xed6, offset 0x3b580 + 0x3b580: 0x6e363c20, 0x3b581: 0x6e363e20, 0x3b582: 0x6e3b5820, 0x3b583: 0x6e3b5a20, + 0x3b584: 0x6e3b5c20, 0x3b585: 0x6e3b5e20, 0x3b586: 0x6e3b6020, 0x3b587: 0x6e3b6220, + 0x3b588: 0x6e3b6420, 0x3b589: 0x6e3b6620, 0x3b58a: 0x6e3b6820, 0x3b58b: 0x6e3b6a20, + 0x3b58c: 0x6e3b6c20, 0x3b58d: 0x6e3b6e20, 0x3b58e: 0x6e3b7020, 0x3b58f: 0x6e3f1c20, + 0x3b590: 0x6e3f1e20, 0x3b591: 0x6e3f2020, 0x3b592: 0x6e3f2220, 0x3b593: 0x6e3f2420, + 0x3b594: 0x6e41ac20, 0x3b595: 0x6e41ae20, 0x3b596: 0x6e41b020, 0x3b597: 0x6e41b220, + 0x3b598: 0x6e437e20, 0x3b599: 0x6e438020, 0x3b59a: 0x6e438220, 0x3b59b: 0x6e438420, + 0x3b59c: 0x6e438620, 0x3b59d: 0x6e438820, 0x3b59e: 0x6e438a20, 0x3b59f: 0x6e44c420, + 0x3b5a0: 0x6e44c620, 0x3b5a1: 0x6e457820, 0x3b5a2: 0x6e457a20, 0x3b5a3: 0x6e45ec20, + 0x3b5a4: 0x6e45ee20, 0x3b5a5: 0x6e46f420, 0x3b5a6: 0x6c28a020, 0x3b5a7: 0x6c42c620, + 0x3b5a8: 0x6c42c820, 0x3b5a9: 0x6c42ca20, 0x3b5aa: 0x6c42cc20, 0x3b5ab: 0x6c42ce20, + 0x3b5ac: 0x6c42d020, 0x3b5ad: 0x6c42d220, 0x3b5ae: 0x6c639620, 0x3b5af: 0x6c42d420, + 0x3b5b0: 0x6c639820, 0x3b5b1: 0x6c639a20, 0x3b5b2: 0x6c639c20, 0x3b5b3: 0x6c639e20, + 0x3b5b4: 0x6c63a020, 0x3b5b5: 0x6c63a220, 0x3b5b6: 0x6c63a420, 0x3b5b7: 0x6c8aa020, + 0x3b5b8: 0x6c8aa220, 0x3b5b9: 0x6c8aa420, 0x3b5ba: 0x6c8aa620, 0x3b5bb: 0x6cb72220, + 0x3b5bc: 0x6cb72420, 0x3b5bd: 0x6cb72620, 0x3b5be: 0x6ce80e20, 0x3b5bf: 0x6ce81020, + // Block 0xed7, offset 0x3b5c0 + 0x3b5c0: 0x6ce81220, 0x3b5c1: 0x6ce81420, 0x3b5c2: 0x6ce81620, 0x3b5c3: 0x6ce81820, + 0x3b5c4: 0x6d173a20, 0x3b5c5: 0x6ce81a20, 0x3b5c6: 0x6ce81c20, 0x3b5c7: 0x6ce81e20, + 0x3b5c8: 0x6ce82020, 0x3b5c9: 0x6ce82220, 0x3b5ca: 0x6ce82420, 0x3b5cb: 0x6d173c20, + 0x3b5cc: 0x6d173e20, 0x3b5cd: 0x6d174020, 0x3b5ce: 0x6d72ac20, 0x3b5cf: 0x6d72ae20, + 0x3b5d0: 0x6ddca620, 0x3b5d1: 0x6cb73020, 0x3b5d2: 0x6cb73220, 0x3b5d3: 0x6cb73420, + 0x3b5d4: 0x6ce82e20, 0x3b5d5: 0x6ce83020, 0x3b5d6: 0x6ce83220, 0x3b5d7: 0x6ce83420, + 0x3b5d8: 0x6ce83620, 0x3b5d9: 0x6ce83820, 0x3b5da: 0x6ce83a20, 0x3b5db: 0x6ce83c20, + 0x3b5dc: 0x6d175220, 0x3b5dd: 0x6d175420, 0x3b5de: 0x6d175620, 0x3b5df: 0x6d175820, + 0x3b5e0: 0x6d175a20, 0x3b5e1: 0x6d175c20, 0x3b5e2: 0x6d175e20, 0x3b5e3: 0x6d176020, + 0x3b5e4: 0x6d176220, 0x3b5e5: 0x6d176420, 0x3b5e6: 0x6d176620, 0x3b5e7: 0x6d176820, + 0x3b5e8: 0x6d176a20, 0x3b5e9: 0x6d176c20, 0x3b5ea: 0x6d176e20, 0x3b5eb: 0x6d177020, + 0x3b5ec: 0x6d45c220, 0x3b5ed: 0x6d45c420, 0x3b5ee: 0x6d45c620, 0x3b5ef: 0x6d45c820, + 0x3b5f0: 0x6d45ca20, 0x3b5f1: 0x6d45cc20, 0x3b5f2: 0x6d45ce20, 0x3b5f3: 0x6d45d020, + 0x3b5f4: 0x6d45d220, 0x3b5f5: 0x6d45d420, 0x3b5f6: 0x6d45d620, 0x3b5f7: 0x6d45d820, + 0x3b5f8: 0x6d45da20, 0x3b5f9: 0x6d45dc20, 0x3b5fa: 0x6d45de20, 0x3b5fb: 0x6d45e020, + 0x3b5fc: 0x6d45e220, 0x3b5fd: 0x6d72c820, 0x3b5fe: 0x6d72ca20, 0x3b5ff: 0x6d72cc20, + // Block 0xed8, offset 0x3b600 + 0x3b600: 0x6d72ce20, 0x3b601: 0x6d72d020, 0x3b602: 0x6d72d220, 0x3b603: 0x6d72d420, + 0x3b604: 0x6d72d620, 0x3b605: 0x6d72d820, 0x3b606: 0x6d72da20, 0x3b607: 0x6d72dc20, + 0x3b608: 0x6d72de20, 0x3b609: 0x6d9c4c20, 0x3b60a: 0x6d9c4e20, 0x3b60b: 0x6d9c5020, + 0x3b60c: 0x6d9c5220, 0x3b60d: 0x6d9c5420, 0x3b60e: 0x6d9c5620, 0x3b60f: 0x6d9c5820, + 0x3b610: 0x6d9c5a20, 0x3b611: 0x6d9c5c20, 0x3b612: 0x6d9c5e20, 0x3b613: 0x6d9c6020, + 0x3b614: 0x6d9c6220, 0x3b615: 0x6d9c6420, 0x3b616: 0x6d9c6620, 0x3b617: 0x6dbed620, + 0x3b618: 0x6dbed820, 0x3b619: 0x6dbeda20, 0x3b61a: 0x6dbedc20, 0x3b61b: 0x6dbede20, + 0x3b61c: 0x6dbee020, 0x3b61d: 0x6dbee220, 0x3b61e: 0x6dbee420, 0x3b61f: 0x6dbee620, + 0x3b620: 0x6dbee820, 0x3b621: 0x6dbeea20, 0x3b622: 0x6dbeec20, 0x3b623: 0x6dbeee20, + 0x3b624: 0x6dbef020, 0x3b625: 0x6dbef220, 0x3b626: 0x6dbef420, 0x3b627: 0x6dbef620, + 0x3b628: 0x6dbef820, 0x3b629: 0x6dbefa20, 0x3b62a: 0x6dbefc20, 0x3b62b: 0x6dbefe20, + 0x3b62c: 0x6dbf0020, 0x3b62d: 0x6ddcb020, 0x3b62e: 0x6ddcb220, 0x3b62f: 0x6ddcb420, + 0x3b630: 0x6ddcb620, 0x3b631: 0x6ddcb820, 0x3b632: 0x6ddcba20, 0x3b633: 0x6ddcbc20, + 0x3b634: 0x6ddcbe20, 0x3b635: 0x6ddcc020, 0x3b636: 0x6ddcc220, 0x3b637: 0x6ddcc420, + 0x3b638: 0x6ddcc620, 0x3b639: 0x6ddcc820, 0x3b63a: 0x6ddcca20, 0x3b63b: 0x6ddccc20, + 0x3b63c: 0x6ddcce20, 0x3b63d: 0x6ddcd020, 0x3b63e: 0x6ddcd220, 0x3b63f: 0x6ddcd420, + // Block 0xed9, offset 0x3b640 + 0x3b640: 0x6df49220, 0x3b641: 0x6df49420, 0x3b642: 0x6df49620, 0x3b643: 0x6df49820, + 0x3b644: 0x6df49a20, 0x3b645: 0x6df49c20, 0x3b646: 0x6df49e20, 0x3b647: 0x6df4a020, + 0x3b648: 0x6df4a220, 0x3b649: 0x6e088420, 0x3b64a: 0x6e088620, 0x3b64b: 0x6e088820, + 0x3b64c: 0x6e088a20, 0x3b64d: 0x6e088c20, 0x3b64e: 0x6e088e20, 0x3b64f: 0x6e089020, + 0x3b650: 0x6e089220, 0x3b651: 0x6e089420, 0x3b652: 0x6e089620, 0x3b653: 0x6e089820, + 0x3b654: 0x6e089a20, 0x3b655: 0x6e089c20, 0x3b656: 0x6e089e20, 0x3b657: 0x6e189a20, + 0x3b658: 0x6e189c20, 0x3b659: 0x6e189e20, 0x3b65a: 0x6e18a020, 0x3b65b: 0x6e18a220, + 0x3b65c: 0x6e18a420, 0x3b65d: 0x6e18a620, 0x3b65e: 0x6e18a820, 0x3b65f: 0x6e18aa20, + 0x3b660: 0x6e254a20, 0x3b661: 0x6e254c20, 0x3b662: 0x6e254e20, 0x3b663: 0x6e255020, + 0x3b664: 0x6e255220, 0x3b665: 0x6e255420, 0x3b666: 0x6e255620, 0x3b667: 0x6e255820, + 0x3b668: 0x6e255a20, 0x3b669: 0x6e255c20, 0x3b66a: 0x6e255e20, 0x3b66b: 0x6e256020, + 0x3b66c: 0x6e2eec20, 0x3b66d: 0x6e2eee20, 0x3b66e: 0x6e2ef020, 0x3b66f: 0x6e2ef220, + 0x3b670: 0x6e2ef420, 0x3b671: 0x6e2ef620, 0x3b672: 0x6e364620, 0x3b673: 0x6e364820, + 0x3b674: 0x6e364a20, 0x3b675: 0x6e364c20, 0x3b676: 0x6e364e20, 0x3b677: 0x6e3b7620, + 0x3b678: 0x6e3b7820, 0x3b679: 0x6e3b7a20, 0x3b67a: 0x6e3b7c20, 0x3b67b: 0x6e3f2a20, + 0x3b67c: 0x6e41b620, 0x3b67d: 0x6e41b820, 0x3b67e: 0x6e438c20, 0x3b67f: 0x6d177420, + // Block 0xeda, offset 0x3b680 + 0x3b680: 0x6d177620, 0x3b681: 0x6d45e820, 0x3b682: 0x6d45ea20, 0x3b683: 0x6d45ec20, + 0x3b684: 0x6d45ee20, 0x3b685: 0x6d45f020, 0x3b686: 0x6d45f220, 0x3b687: 0x6d45f420, + 0x3b688: 0x6d45f620, 0x3b689: 0x6d45f820, 0x3b68a: 0x6d72e420, 0x3b68b: 0x6d72e620, + 0x3b68c: 0x6d72e820, 0x3b68d: 0x6d72ea20, 0x3b68e: 0x6d9c6a20, 0x3b68f: 0x6d9c6c20, + 0x3b690: 0x6d9c6e20, 0x3b691: 0x6d9c7020, 0x3b692: 0x6d9c7220, 0x3b693: 0x6d9c7420, + 0x3b694: 0x6d9c7620, 0x3b695: 0x6dbf0220, 0x3b696: 0x6dbf0420, 0x3b697: 0x6dbf0620, + 0x3b698: 0x6dbf0820, 0x3b699: 0x6dbf0a20, 0x3b69a: 0x6ddcdc20, 0x3b69b: 0x6ddcde20, + 0x3b69c: 0x6ddce020, 0x3b69d: 0x6ddce220, 0x3b69e: 0x6df4a620, 0x3b69f: 0x6df4a820, + 0x3b6a0: 0x6e08a020, 0x3b6a1: 0x6e08a220, 0x3b6a2: 0x6e08a420, 0x3b6a3: 0x6e08a620, + 0x3b6a4: 0x6e08a820, 0x3b6a5: 0x6e18ac20, 0x3b6a6: 0x6e18ae20, 0x3b6a7: 0x6e256620, + 0x3b6a8: 0x6e2efa20, 0x3b6a9: 0x6e2efc20, 0x3b6aa: 0x6e2efe20, 0x3b6ab: 0x6e365020, + 0x3b6ac: 0x6e365220, 0x3b6ad: 0x6e3b8020, 0x3b6ae: 0x6e3f2c20, 0x3b6af: 0x6e3f2e20, + 0x3b6b0: 0x6e41ba20, 0x3b6b1: 0x6e41bc20, 0x3b6b2: 0x6e438e20, 0x3b6b3: 0x6e45f020, + 0x3b6b4: 0x6ce84820, 0x3b6b5: 0x6ce84a20, 0x3b6b6: 0x6ce84c20, 0x3b6b7: 0x6ce84e20, + 0x3b6b8: 0x6ce85020, 0x3b6b9: 0x6d177c20, 0x3b6ba: 0x6d177e20, 0x3b6bb: 0x6d178020, + 0x3b6bc: 0x6d178220, 0x3b6bd: 0x6d178420, 0x3b6be: 0x6d178620, 0x3b6bf: 0x6d461620, + // Block 0xedb, offset 0x3b6c0 + 0x3b6c0: 0x6d461820, 0x3b6c1: 0x6d461a20, 0x3b6c2: 0x6d461c20, 0x3b6c3: 0x6d461e20, + 0x3b6c4: 0x6d462020, 0x3b6c5: 0x6d462220, 0x3b6c6: 0x6d462420, 0x3b6c7: 0x6d462620, + 0x3b6c8: 0x6d462820, 0x3b6c9: 0x6d462a20, 0x3b6ca: 0x6d462c20, 0x3b6cb: 0x6d462e20, + 0x3b6cc: 0x6d463020, 0x3b6cd: 0x6d463220, 0x3b6ce: 0x6d463420, 0x3b6cf: 0x6d463620, + 0x3b6d0: 0x6d463820, 0x3b6d1: 0x6d730420, 0x3b6d2: 0x6d730620, 0x3b6d3: 0x6d730820, + 0x3b6d4: 0x6d730a20, 0x3b6d5: 0x6d730c20, 0x3b6d6: 0x6d730e20, 0x3b6d7: 0x6d731020, + 0x3b6d8: 0x6d731220, 0x3b6d9: 0x6d731420, 0x3b6da: 0x6d731620, 0x3b6db: 0x6d731820, + 0x3b6dc: 0x6d731a20, 0x3b6dd: 0x6d731c20, 0x3b6de: 0x6d731e20, 0x3b6df: 0x6d732020, + 0x3b6e0: 0x6d732220, 0x3b6e1: 0x6d732420, 0x3b6e2: 0x6d732620, 0x3b6e3: 0x6d732820, + 0x3b6e4: 0x6d732a20, 0x3b6e5: 0x6d732c20, 0x3b6e6: 0x6d732e20, 0x3b6e7: 0x6d733020, + 0x3b6e8: 0x6d733220, 0x3b6e9: 0x6d733420, 0x3b6ea: 0x6d733620, 0x3b6eb: 0x6d733820, + 0x3b6ec: 0x6d733a20, 0x3b6ed: 0x6d733c20, 0x3b6ee: 0x6d733e20, 0x3b6ef: 0x6d734020, + 0x3b6f0: 0x6d9c9020, 0x3b6f1: 0x6d9c9220, 0x3b6f2: 0x6d9c9420, 0x3b6f3: 0x6d9c9620, + 0x3b6f4: 0x6d9c9820, 0x3b6f5: 0x6d9c9a20, 0x3b6f6: 0x6d9c9c20, 0x3b6f7: 0x6d9c9e20, + 0x3b6f8: 0x6d9ca020, 0x3b6f9: 0x6d9ca220, 0x3b6fa: 0x6d9ca420, 0x3b6fb: 0x6d9ca620, + 0x3b6fc: 0x6d9ca820, 0x3b6fd: 0x6d9caa20, 0x3b6fe: 0x6d9cac20, 0x3b6ff: 0x6d9cae20, + // Block 0xedc, offset 0x3b700 + 0x3b700: 0x6d9cb020, 0x3b701: 0x6d9cb220, 0x3b702: 0x6d9cb420, 0x3b703: 0x6d9cb620, + 0x3b704: 0x6d9cb820, 0x3b705: 0x6d9cba20, 0x3b706: 0x6d9cbc20, 0x3b707: 0x6dbf2220, + 0x3b708: 0x6dbf2420, 0x3b709: 0x6dbf2620, 0x3b70a: 0x6dbf2820, 0x3b70b: 0x6dbf2a20, + 0x3b70c: 0x6dbf2c20, 0x3b70d: 0x6dbf2e20, 0x3b70e: 0x6dbf3020, 0x3b70f: 0x6dbf3220, + 0x3b710: 0x6dbf3420, 0x3b711: 0x6dbf3620, 0x3b712: 0x6dbf3820, 0x3b713: 0x6dbf3a20, + 0x3b714: 0x6dbf3c20, 0x3b715: 0x6dbf3e20, 0x3b716: 0x6dbf4020, 0x3b717: 0x6dbf4220, + 0x3b718: 0x6dbf4420, 0x3b719: 0x6dbf4620, 0x3b71a: 0x6dbf4820, 0x3b71b: 0x6dbf4a20, + 0x3b71c: 0x6dbf4c20, 0x3b71d: 0x6dbf4e20, 0x3b71e: 0x6ddcfc20, 0x3b71f: 0x6ddcfe20, + 0x3b720: 0x6ddd0020, 0x3b721: 0x6ddd0220, 0x3b722: 0x6ddd0420, 0x3b723: 0x6ddd0620, + 0x3b724: 0x6ddd0820, 0x3b725: 0x6ddd0a20, 0x3b726: 0x6ddd0c20, 0x3b727: 0x6ddd0e20, + 0x3b728: 0x6ddd1020, 0x3b729: 0x6ddd1220, 0x3b72a: 0x6ddd1420, 0x3b72b: 0x6ddd1620, + 0x3b72c: 0x6ddd1820, 0x3b72d: 0x6ddd1a20, 0x3b72e: 0x6ddd1c20, 0x3b72f: 0x6ddd1e20, + 0x3b730: 0x6ddd2020, 0x3b731: 0x6ddd2220, 0x3b732: 0x6ddd2420, 0x3b733: 0x6ddd2620, + 0x3b734: 0x6ddd2820, 0x3b735: 0x6ddd2a20, 0x3b736: 0x6ddd2c20, 0x3b737: 0x6ddd2e20, + 0x3b738: 0x6ddd3020, 0x3b739: 0x6ddd3220, 0x3b73a: 0x6df4c020, 0x3b73b: 0x6df4c220, + 0x3b73c: 0x6df4c420, 0x3b73d: 0x6df4c620, 0x3b73e: 0x6df4c820, 0x3b73f: 0x6df4ca20, + // Block 0xedd, offset 0x3b740 + 0x3b740: 0x6df4cc20, 0x3b741: 0x6df4ce20, 0x3b742: 0x6df4d020, 0x3b743: 0x6df4d220, + 0x3b744: 0x6df4d420, 0x3b745: 0x6df4d620, 0x3b746: 0x6df4d820, 0x3b747: 0x6df4da20, + 0x3b748: 0x6df4dc20, 0x3b749: 0x6df4de20, 0x3b74a: 0x6df4e020, 0x3b74b: 0x6df4e220, + 0x3b74c: 0x6df4e420, 0x3b74d: 0x6df4e620, 0x3b74e: 0x6df4e820, 0x3b74f: 0x6df4ea20, + 0x3b750: 0x6df4ec20, 0x3b751: 0x6df4ee20, 0x3b752: 0x6df4f020, 0x3b753: 0x6df4f220, + 0x3b754: 0x6df4f420, 0x3b755: 0x6df4f620, 0x3b756: 0x6e08ba20, 0x3b757: 0x6e08bc20, + 0x3b758: 0x6e08be20, 0x3b759: 0x6e08c020, 0x3b75a: 0x6e08c220, 0x3b75b: 0x6e08c420, + 0x3b75c: 0x6e08c620, 0x3b75d: 0x6e08c820, 0x3b75e: 0x6e08ca20, 0x3b75f: 0x6e08cc20, + 0x3b760: 0x6e08ce20, 0x3b761: 0x6e08d020, 0x3b762: 0x6e08d220, 0x3b763: 0x6e08d420, + 0x3b764: 0x6e08d620, 0x3b765: 0x6e08d820, 0x3b766: 0x6e08da20, 0x3b767: 0x6e08dc20, + 0x3b768: 0x6e08de20, 0x3b769: 0x6e08e020, 0x3b76a: 0x6e08e220, 0x3b76b: 0x6e08e420, + 0x3b76c: 0x6e08e620, 0x3b76d: 0x6e08e820, 0x3b76e: 0x6e08ea20, 0x3b76f: 0x6e18be20, + 0x3b770: 0x6e18c020, 0x3b771: 0x6e18c220, 0x3b772: 0x6e18c420, 0x3b773: 0x6e18c620, + 0x3b774: 0x6e18c820, 0x3b775: 0x6e18ca20, 0x3b776: 0x6e18cc20, 0x3b777: 0x6e18ce20, + 0x3b778: 0x6e18d020, 0x3b779: 0x6e18d220, 0x3b77a: 0x6e18d420, 0x3b77b: 0x6e18d620, + 0x3b77c: 0x6e18d820, 0x3b77d: 0x6e18da20, 0x3b77e: 0x6e18dc20, 0x3b77f: 0x6e18de20, + // Block 0xede, offset 0x3b780 + 0x3b780: 0x6e18e020, 0x3b781: 0x6e18e220, 0x3b782: 0x6e18e420, 0x3b783: 0x6e257420, + 0x3b784: 0x6e257620, 0x3b785: 0x6e257820, 0x3b786: 0x6e257a20, 0x3b787: 0x6e257c20, + 0x3b788: 0x6e257e20, 0x3b789: 0x6e258020, 0x3b78a: 0x6e258220, 0x3b78b: 0x6e258420, + 0x3b78c: 0x6e258620, 0x3b78d: 0x6e258820, 0x3b78e: 0x6e258a20, 0x3b78f: 0x6e258c20, + 0x3b790: 0x6e258e20, 0x3b791: 0x6e259020, 0x3b792: 0x6e259220, 0x3b793: 0x6e259420, + 0x3b794: 0x6e259620, 0x3b795: 0x6e259820, 0x3b796: 0x6e259a20, 0x3b797: 0x6e259c20, + 0x3b798: 0x6e259e20, 0x3b799: 0x6e25a020, 0x3b79a: 0x6e25a220, 0x3b79b: 0x6e2f0620, + 0x3b79c: 0x6e2f0820, 0x3b79d: 0x6e2f0a20, 0x3b79e: 0x6e2f0c20, 0x3b79f: 0x6e2f0e20, + 0x3b7a0: 0x6e2f1020, 0x3b7a1: 0x6e2f1220, 0x3b7a2: 0x6e2f1420, 0x3b7a3: 0x6e2f1620, + 0x3b7a4: 0x6e2f1820, 0x3b7a5: 0x6e2f1a20, 0x3b7a6: 0x6e366020, 0x3b7a7: 0x6e366220, + 0x3b7a8: 0x6e366420, 0x3b7a9: 0x6e366620, 0x3b7aa: 0x6e366820, 0x3b7ab: 0x6e366a20, + 0x3b7ac: 0x6e366c20, 0x3b7ad: 0x6e366e20, 0x3b7ae: 0x6e367020, 0x3b7af: 0x6e367220, + 0x3b7b0: 0x6e3b8820, 0x3b7b1: 0x6e3b8a20, 0x3b7b2: 0x6e3b8c20, 0x3b7b3: 0x6e3b8e20, + 0x3b7b4: 0x6e3b9020, 0x3b7b5: 0x6e3b9220, 0x3b7b6: 0x6e3b9420, 0x3b7b7: 0x6e3b9620, + 0x3b7b8: 0x6e3b9820, 0x3b7b9: 0x6e3b9a20, 0x3b7ba: 0x6e3f3220, 0x3b7bb: 0x6e3f3420, + 0x3b7bc: 0x6e3f3620, 0x3b7bd: 0x6e3f3820, 0x3b7be: 0x6e3f3a20, 0x3b7bf: 0x6e3f3c20, + // Block 0xedf, offset 0x3b7c0 + 0x3b7c0: 0x6e3f3e20, 0x3b7c1: 0x6e41c020, 0x3b7c2: 0x6e41c220, 0x3b7c3: 0x6e41c420, + 0x3b7c4: 0x6e41c620, 0x3b7c5: 0x6e439020, 0x3b7c6: 0x6e439220, 0x3b7c7: 0x6e439420, + 0x3b7c8: 0x6e45f220, 0x3b7c9: 0x6e465420, 0x3b7ca: 0x6c8ab620, 0x3b7cb: 0x6c8ab820, + 0x3b7cc: 0x6d178c20, 0x3b7cd: 0x6d463e20, 0x3b7ce: 0x6d464020, 0x3b7cf: 0x6d464220, + 0x3b7d0: 0x6d734620, 0x3b7d1: 0x6d9cc220, 0x3b7d2: 0x6dbf5420, 0x3b7d3: 0x6ddd3a20, + 0x3b7d4: 0x6ddd3c20, 0x3b7d5: 0x6e08f020, 0x3b7d6: 0x6e18ea20, 0x3b7d7: 0x6e18ec20, + 0x3b7d8: 0x6e18ee20, 0x3b7d9: 0x6e25a620, 0x3b7da: 0x6e25a820, 0x3b7db: 0x6e2f1c20, + 0x3b7dc: 0x6e367820, 0x3b7dd: 0x6e367a20, 0x3b7de: 0x6e367c20, 0x3b7df: 0x6e439620, + 0x3b7e0: 0x6d734820, 0x3b7e1: 0x6d734a20, 0x3b7e2: 0x6d9cc420, 0x3b7e3: 0x6ddd3e20, + 0x3b7e4: 0x6e08f220, 0x3b7e5: 0x6e18f020, 0x3b7e6: 0x6e18f220, 0x3b7e7: 0x6e25aa20, + 0x3b7e8: 0x6e2f1e20, 0x3b7e9: 0x6e41cc20, 0x3b7ea: 0x6e439820, 0x3b7eb: 0x6d178e20, + 0x3b7ec: 0x6d179020, 0x3b7ed: 0x6d464820, 0x3b7ee: 0x6d464a20, 0x3b7ef: 0x6d734e20, + 0x3b7f0: 0x6d735020, 0x3b7f1: 0x6d9cca20, 0x3b7f2: 0x6d9ccc20, 0x3b7f3: 0x6d9cce20, + 0x3b7f4: 0x6d9cd020, 0x3b7f5: 0x6d9cd220, 0x3b7f6: 0x6d9cd420, 0x3b7f7: 0x6d9cd620, + 0x3b7f8: 0x6d9cd820, 0x3b7f9: 0x6dbf5820, 0x3b7fa: 0x6dbf5a20, 0x3b7fb: 0x6dbf5c20, + 0x3b7fc: 0x6dbf5e20, 0x3b7fd: 0x6dbf6020, 0x3b7fe: 0x6ddd4420, 0x3b7ff: 0x6ddd4620, + // Block 0xee0, offset 0x3b800 + 0x3b800: 0x6ddd4820, 0x3b801: 0x6ddd4a20, 0x3b802: 0x6ddd4c20, 0x3b803: 0x6df4fc20, + 0x3b804: 0x6df4fe20, 0x3b805: 0x6df50020, 0x3b806: 0x6df50220, 0x3b807: 0x6e08f620, + 0x3b808: 0x6e08f820, 0x3b809: 0x6e08fa20, 0x3b80a: 0x6e08fc20, 0x3b80b: 0x6e08fe20, + 0x3b80c: 0x6e18f820, 0x3b80d: 0x6e18fa20, 0x3b80e: 0x6e18fc20, 0x3b80f: 0x6e18fe20, + 0x3b810: 0x6e190020, 0x3b811: 0x6e190220, 0x3b812: 0x6e25b020, 0x3b813: 0x6e25b220, + 0x3b814: 0x6e25b420, 0x3b815: 0x6e25b620, 0x3b816: 0x6e2f2020, 0x3b817: 0x6e2f2220, + 0x3b818: 0x6e2f2420, 0x3b819: 0x6e2f2620, 0x3b81a: 0x6e2f2820, 0x3b81b: 0x6e2f2a20, + 0x3b81c: 0x6e2f2c20, 0x3b81d: 0x6e2f2e20, 0x3b81e: 0x6e2f3020, 0x3b81f: 0x6e2f3220, + 0x3b820: 0x6e367e20, 0x3b821: 0x6e368020, 0x3b822: 0x6e368220, 0x3b823: 0x6e368420, + 0x3b824: 0x6e3ba020, 0x3b825: 0x6e3ba220, 0x3b826: 0x6e3f4020, 0x3b827: 0x6e3f4220, + 0x3b828: 0x6e3f4420, 0x3b829: 0x6e3f4620, 0x3b82a: 0x6e3f4820, 0x3b82b: 0x6e41ce20, + 0x3b82c: 0x6e41d020, 0x3b82d: 0x6e439a20, 0x3b82e: 0x6e439c20, 0x3b82f: 0x6e44cc20, + 0x3b830: 0x6e44ce20, 0x3b831: 0x6e457c20, 0x3b832: 0x6e457e20, 0x3b833: 0x6e458020, + 0x3b834: 0x6e45f420, 0x3b835: 0x6e45f620, 0x3b836: 0x6e465620, 0x3b837: 0x6e470e20, + 0x3b838: 0x6e471020, 0x3b839: 0x6cb73a20, 0x3b83a: 0x6cb73c20, 0x3b83b: 0x6cb73e20, + 0x3b83c: 0x6cb74020, 0x3b83d: 0x6ce85220, 0x3b83e: 0x6ce85420, 0x3b83f: 0x6ce85620, + // Block 0xee1, offset 0x3b840 + 0x3b840: 0x6ce85820, 0x3b841: 0x6ce85a20, 0x3b842: 0x6ce85c20, 0x3b843: 0x6ce85e20, + 0x3b844: 0x6ce86020, 0x3b845: 0x6ce86220, 0x3b846: 0x6ce86420, 0x3b847: 0x6ce86620, + 0x3b848: 0x6ce86820, 0x3b849: 0x6ce86a20, 0x3b84a: 0x6d179420, 0x3b84b: 0x6d179620, + 0x3b84c: 0x6d179820, 0x3b84d: 0x6d179a20, 0x3b84e: 0x6d179c20, 0x3b84f: 0x6d179e20, + 0x3b850: 0x6d17a020, 0x3b851: 0x6d17a220, 0x3b852: 0x6d17a420, 0x3b853: 0x6d17a620, + 0x3b854: 0x6d17a820, 0x3b855: 0x6d17aa20, 0x3b856: 0x6d17ac20, 0x3b857: 0x6d17ae20, + 0x3b858: 0x6d17b020, 0x3b859: 0x6d17b220, 0x3b85a: 0x6d17b420, 0x3b85b: 0x6d17b620, + 0x3b85c: 0x6d17b820, 0x3b85d: 0x6d17ba20, 0x3b85e: 0x6d17bc20, 0x3b85f: 0x6d17be20, + 0x3b860: 0x6d17c020, 0x3b861: 0x6d465a20, 0x3b862: 0x6d465c20, 0x3b863: 0x6d465e20, + 0x3b864: 0x6d466020, 0x3b865: 0x6d466220, 0x3b866: 0x6d466420, 0x3b867: 0x6d466620, + 0x3b868: 0x6d466820, 0x3b869: 0x6d466a20, 0x3b86a: 0x6d466c20, 0x3b86b: 0x6d466e20, + 0x3b86c: 0x6d467020, 0x3b86d: 0x6d467220, 0x3b86e: 0x6d467420, 0x3b86f: 0x6d467620, + 0x3b870: 0x6d467820, 0x3b871: 0x6d467a20, 0x3b872: 0x6d467c20, 0x3b873: 0x6d467e20, + 0x3b874: 0x6d468020, 0x3b875: 0x6d468220, 0x3b876: 0x6d468420, 0x3b877: 0x6d468620, + 0x3b878: 0x6d468820, 0x3b879: 0x6d468a20, 0x3b87a: 0x6d736020, 0x3b87b: 0x6d736220, + 0x3b87c: 0x6d736420, 0x3b87d: 0x6d736620, 0x3b87e: 0x6d736820, 0x3b87f: 0x6d736a20, + // Block 0xee2, offset 0x3b880 + 0x3b880: 0x6d736c20, 0x3b881: 0x6d736e20, 0x3b882: 0x6d737020, 0x3b883: 0x6d737220, + 0x3b884: 0x6d737420, 0x3b885: 0x6d737620, 0x3b886: 0x6d737820, 0x3b887: 0x6d737a20, + 0x3b888: 0x6d737c20, 0x3b889: 0x6d737e20, 0x3b88a: 0x6d738020, 0x3b88b: 0x6d738220, + 0x3b88c: 0x6d9ce020, 0x3b88d: 0x6d9ce220, 0x3b88e: 0x6d9ce420, 0x3b88f: 0x6d9ce620, + 0x3b890: 0x6d9ce820, 0x3b891: 0x6d9cea20, 0x3b892: 0x6d9cec20, 0x3b893: 0x6d9cee20, + 0x3b894: 0x6d9cf020, 0x3b895: 0x6d9cf220, 0x3b896: 0x6d9cf420, 0x3b897: 0x6d9cf620, + 0x3b898: 0x6d9cf820, 0x3b899: 0x6d9cfa20, 0x3b89a: 0x6d9cfc20, 0x3b89b: 0x6d9cfe20, + 0x3b89c: 0x6d9d0020, 0x3b89d: 0x6d9d0220, 0x3b89e: 0x6d9d0420, 0x3b89f: 0x6d9d0620, + 0x3b8a0: 0x6d9d0820, 0x3b8a1: 0x6d9d0a20, 0x3b8a2: 0x6dbf6620, 0x3b8a3: 0x6dbf6820, + 0x3b8a4: 0x6dbf6a20, 0x3b8a5: 0x6dbf6c20, 0x3b8a6: 0x6dbf6e20, 0x3b8a7: 0x6dbf7020, + 0x3b8a8: 0x6dbf7220, 0x3b8a9: 0x6dbf7420, 0x3b8aa: 0x6dbf7620, 0x3b8ab: 0x6dbf7820, + 0x3b8ac: 0x6dbf7a20, 0x3b8ad: 0x6dbf7c20, 0x3b8ae: 0x6dbf7e20, 0x3b8af: 0x6dbf8020, + 0x3b8b0: 0x6dbf8220, 0x3b8b1: 0x6dbf8420, 0x3b8b2: 0x6dbf8620, 0x3b8b3: 0x6dbf8820, + 0x3b8b4: 0x6dbf8a20, 0x3b8b5: 0x6ddd6220, 0x3b8b6: 0x6ddd6420, 0x3b8b7: 0x6ddd6620, + 0x3b8b8: 0x6ddd6820, 0x3b8b9: 0x6ddd6a20, 0x3b8ba: 0x6ddd6c20, 0x3b8bb: 0x6ddd6e20, + 0x3b8bc: 0x6ddd7020, 0x3b8bd: 0x6ddd7220, 0x3b8be: 0x6ddd7420, 0x3b8bf: 0x6ddd7620, + // Block 0xee3, offset 0x3b8c0 + 0x3b8c0: 0x6ddd7820, 0x3b8c1: 0x6ddd7a20, 0x3b8c2: 0x6ddd7c20, 0x3b8c3: 0x6ddd7e20, + 0x3b8c4: 0x6ddd8020, 0x3b8c5: 0x6ddd8220, 0x3b8c6: 0x6df50820, 0x3b8c7: 0x6df50a20, + 0x3b8c8: 0x6df50c20, 0x3b8c9: 0x6df50e20, 0x3b8ca: 0x6df51020, 0x3b8cb: 0x6df51220, + 0x3b8cc: 0x6df51420, 0x3b8cd: 0x6df51620, 0x3b8ce: 0x6df51820, 0x3b8cf: 0x6df51a20, + 0x3b8d0: 0x6e090420, 0x3b8d1: 0x6e090620, 0x3b8d2: 0x6e090820, 0x3b8d3: 0x6e090a20, + 0x3b8d4: 0x6e090c20, 0x3b8d5: 0x6e090e20, 0x3b8d6: 0x6e091020, 0x3b8d7: 0x6e091220, + 0x3b8d8: 0x6e091420, 0x3b8d9: 0x6e091620, 0x3b8da: 0x6e091820, 0x3b8db: 0x6e091a20, + 0x3b8dc: 0x6e190e20, 0x3b8dd: 0x6e191020, 0x3b8de: 0x6e191220, 0x3b8df: 0x6e191420, + 0x3b8e0: 0x6e191620, 0x3b8e1: 0x6e191820, 0x3b8e2: 0x6e191a20, 0x3b8e3: 0x6e191c20, + 0x3b8e4: 0x6e191e20, 0x3b8e5: 0x6e192020, 0x3b8e6: 0x6e192220, 0x3b8e7: 0x6e192420, + 0x3b8e8: 0x6e192620, 0x3b8e9: 0x6e192820, 0x3b8ea: 0x6e192a20, 0x3b8eb: 0x6e192c20, + 0x3b8ec: 0x6e192e20, 0x3b8ed: 0x6e193020, 0x3b8ee: 0x6e25c220, 0x3b8ef: 0x6e25c420, + 0x3b8f0: 0x6e25c620, 0x3b8f1: 0x6e2f3620, 0x3b8f2: 0x6e2f3820, 0x3b8f3: 0x6e2f3a20, + 0x3b8f4: 0x6e2f3c20, 0x3b8f5: 0x6e2f3e20, 0x3b8f6: 0x6e2f4020, 0x3b8f7: 0x6e2f4220, + 0x3b8f8: 0x6e2f4420, 0x3b8f9: 0x6e2f4620, 0x3b8fa: 0x6e369020, 0x3b8fb: 0x6e369220, + 0x3b8fc: 0x6e369420, 0x3b8fd: 0x6e369620, 0x3b8fe: 0x6e369820, 0x3b8ff: 0x6e3ba420, + // Block 0xee4, offset 0x3b900 + 0x3b900: 0x6e3f4a20, 0x3b901: 0x6e3f4c20, 0x3b902: 0x6e3f4e20, 0x3b903: 0x6e3f5020, + 0x3b904: 0x6e41d220, 0x3b905: 0x6e41d420, 0x3b906: 0x6e43a020, 0x3b907: 0x6e43a220, + 0x3b908: 0x6e44d020, 0x3b909: 0x6e45f820, 0x3b90a: 0x6e465820, 0x3b90b: 0x6cb74820, + 0x3b90c: 0x6d17ce20, 0x3b90d: 0x6d17d020, 0x3b90e: 0x6d17d220, 0x3b90f: 0x6d17d420, + 0x3b910: 0x6d17d620, 0x3b911: 0x6d17d820, 0x3b912: 0x6d17da20, 0x3b913: 0x6d17dc20, + 0x3b914: 0x6d469a20, 0x3b915: 0x6d469c20, 0x3b916: 0x6d469e20, 0x3b917: 0x6d46a020, + 0x3b918: 0x6d46a220, 0x3b919: 0x6d46a420, 0x3b91a: 0x6d46a620, 0x3b91b: 0x6d46a820, + 0x3b91c: 0x6d46aa20, 0x3b91d: 0x6d46ac20, 0x3b91e: 0x6d46ae20, 0x3b91f: 0x6d46b020, + 0x3b920: 0x6d73c420, 0x3b921: 0x6d73c620, 0x3b922: 0x6d73c820, 0x3b923: 0x6d73ca20, + 0x3b924: 0x6d73cc20, 0x3b925: 0x6d73ce20, 0x3b926: 0x6d73d020, 0x3b927: 0x6d73d220, + 0x3b928: 0x6d73d420, 0x3b929: 0x6d73d620, 0x3b92a: 0x6d73d820, 0x3b92b: 0x6d73da20, + 0x3b92c: 0x6d73dc20, 0x3b92d: 0x6d73de20, 0x3b92e: 0x6d73e020, 0x3b92f: 0x6d73e220, + 0x3b930: 0x6d73e420, 0x3b931: 0x6d73e620, 0x3b932: 0x6d73e820, 0x3b933: 0x6d73ea20, + 0x3b934: 0x6d73ec20, 0x3b935: 0x6d73ee20, 0x3b936: 0x6d73f020, 0x3b937: 0x6d73f220, + 0x3b938: 0x6d73f420, 0x3b939: 0x6d73f620, 0x3b93a: 0x6d73f820, 0x3b93b: 0x6d73fa20, + 0x3b93c: 0x6d73fc20, 0x3b93d: 0x6d73fe20, 0x3b93e: 0x6d740020, 0x3b93f: 0x6d740220, + // Block 0xee5, offset 0x3b940 + 0x3b940: 0x6d740420, 0x3b941: 0x6d9d6220, 0x3b942: 0x6d9d6420, 0x3b943: 0x6d9d6620, + 0x3b944: 0x6d9d6820, 0x3b945: 0x6d9d6a20, 0x3b946: 0x6d9d6c20, 0x3b947: 0x6d9d6e20, + 0x3b948: 0x6d9d7020, 0x3b949: 0x6d9d7220, 0x3b94a: 0x6d9d7420, 0x3b94b: 0x6d9d7620, + 0x3b94c: 0x6d9d7820, 0x3b94d: 0x6d9d7a20, 0x3b94e: 0x6d9d7c20, 0x3b94f: 0x6d9d7e20, + 0x3b950: 0x6d9d8020, 0x3b951: 0x6d9d8220, 0x3b952: 0x6d9d8420, 0x3b953: 0x6d9d8620, + 0x3b954: 0x6d9d8820, 0x3b955: 0x6d9d8a20, 0x3b956: 0x6d9d8c20, 0x3b957: 0x6d9d8e20, + 0x3b958: 0x6d9d9020, 0x3b959: 0x6d9d9220, 0x3b95a: 0x6d9d9420, 0x3b95b: 0x6d9d9620, + 0x3b95c: 0x6d9d9820, 0x3b95d: 0x6d9d9a20, 0x3b95e: 0x6d9d9c20, 0x3b95f: 0x6d9d9e20, + 0x3b960: 0x6d9da020, 0x3b961: 0x6dbfd420, 0x3b962: 0x6dbfd620, 0x3b963: 0x6dbfd820, + 0x3b964: 0x6dbfda20, 0x3b965: 0x6dbfdc20, 0x3b966: 0x6dbfde20, 0x3b967: 0x6dbfe020, + 0x3b968: 0x6dbfe220, 0x3b969: 0x6dbfe420, 0x3b96a: 0x6dbfe620, 0x3b96b: 0x6dbfe820, + 0x3b96c: 0x6dbfea20, 0x3b96d: 0x6dbfec20, 0x3b96e: 0x6dbfee20, 0x3b96f: 0x6dbff020, + 0x3b970: 0x6dbff220, 0x3b971: 0x6dbff420, 0x3b972: 0x6dbff620, 0x3b973: 0x6dbff820, + 0x3b974: 0x6dbffa20, 0x3b975: 0x6dbffc20, 0x3b976: 0x6dbffe20, 0x3b977: 0x6d46b220, + 0x3b978: 0x6dc00020, 0x3b979: 0x6dc00220, 0x3b97a: 0x6dc00420, 0x3b97b: 0x6dc00620, + 0x3b97c: 0x6dc00820, 0x3b97d: 0x6dc00a20, 0x3b97e: 0x6dc00c20, 0x3b97f: 0x6dc00e20, + // Block 0xee6, offset 0x3b980 + 0x3b980: 0x6dc01020, 0x3b981: 0x6dc01220, 0x3b982: 0x6dc01420, 0x3b983: 0x6dc01620, + 0x3b984: 0x6dc01820, 0x3b985: 0x6dc01a20, 0x3b986: 0x6dc01c20, 0x3b987: 0x6dc01e20, + 0x3b988: 0x6dc02020, 0x3b989: 0x6dc02220, 0x3b98a: 0x6dc02420, 0x3b98b: 0x6dc02620, + 0x3b98c: 0x6dc02820, 0x3b98d: 0x6dddd220, 0x3b98e: 0x6dddd420, 0x3b98f: 0x6dddd620, + 0x3b990: 0x6dddd820, 0x3b991: 0x6dddda20, 0x3b992: 0x6ddddc20, 0x3b993: 0x6dddde20, + 0x3b994: 0x6ddde020, 0x3b995: 0x6ddde220, 0x3b996: 0x6ddde420, 0x3b997: 0x6ddde620, + 0x3b998: 0x6ddde820, 0x3b999: 0x6dddea20, 0x3b99a: 0x6dddec20, 0x3b99b: 0x6dddee20, + 0x3b99c: 0x6dddf020, 0x3b99d: 0x6dddf220, 0x3b99e: 0x6dddf420, 0x3b99f: 0x6dddf620, + 0x3b9a0: 0x6dddf820, 0x3b9a1: 0x6dddfa20, 0x3b9a2: 0x6dddfc20, 0x3b9a3: 0x6dddfe20, + 0x3b9a4: 0x6dde0020, 0x3b9a5: 0x6dde0220, 0x3b9a6: 0x6dde0420, 0x3b9a7: 0x6dde0620, + 0x3b9a8: 0x6dde0820, 0x3b9a9: 0x6dde0a20, 0x3b9aa: 0x6dde0c20, 0x3b9ab: 0x6dde0e20, + 0x3b9ac: 0x6dde1020, 0x3b9ad: 0x6dde1220, 0x3b9ae: 0x6dde1420, 0x3b9af: 0x6dde1620, + 0x3b9b0: 0x6dde1820, 0x3b9b1: 0x6dde1a20, 0x3b9b2: 0x6dde1c20, 0x3b9b3: 0x6dde1e20, + 0x3b9b4: 0x6dde2020, 0x3b9b5: 0x6dde2220, 0x3b9b6: 0x6dde2420, 0x3b9b7: 0x6df58620, + 0x3b9b8: 0x6df58820, 0x3b9b9: 0x6df58a20, 0x3b9ba: 0x6df58c20, 0x3b9bb: 0x6df58e20, + 0x3b9bc: 0x6df59020, 0x3b9bd: 0x6df59220, 0x3b9be: 0x6df59420, 0x3b9bf: 0x6df59620, + // Block 0xee7, offset 0x3b9c0 + 0x3b9c0: 0x6df59820, 0x3b9c1: 0x6df59a20, 0x3b9c2: 0x6df59c20, 0x3b9c3: 0x6df59e20, + 0x3b9c4: 0x6df5a020, 0x3b9c5: 0x6df5a220, 0x3b9c6: 0x6df5a420, 0x3b9c7: 0x6df5a620, + 0x3b9c8: 0x6df5a820, 0x3b9c9: 0x6df5aa20, 0x3b9ca: 0x6df5ac20, 0x3b9cb: 0x6df5ae20, + 0x3b9cc: 0x6df5b020, 0x3b9cd: 0x6df5b220, 0x3b9ce: 0x6df5b420, 0x3b9cf: 0x6df5b620, + 0x3b9d0: 0x6df5b820, 0x3b9d1: 0x6df5ba20, 0x3b9d2: 0x6df5bc20, 0x3b9d3: 0x6df5be20, + 0x3b9d4: 0x6df5c020, 0x3b9d5: 0x6df5c220, 0x3b9d6: 0x6df5c420, 0x3b9d7: 0x6df5c620, + 0x3b9d8: 0x6df5c820, 0x3b9d9: 0x6df5ca20, 0x3b9da: 0x6df5cc20, 0x3b9db: 0x6df5ce20, + 0x3b9dc: 0x6df5d020, 0x3b9dd: 0x6df5d220, 0x3b9de: 0x6df5d420, 0x3b9df: 0x6df5d620, + 0x3b9e0: 0x6df5d820, 0x3b9e1: 0x6df5da20, 0x3b9e2: 0x6df5dc20, 0x3b9e3: 0x6df5de20, + 0x3b9e4: 0x6df5e020, 0x3b9e5: 0x6df5e220, 0x3b9e6: 0x6df5e420, 0x3b9e7: 0x6df5e620, + 0x3b9e8: 0x6df5e820, 0x3b9e9: 0x6df5ea20, 0x3b9ea: 0x6df5ec20, 0x3b9eb: 0x6df5ee20, + 0x3b9ec: 0x6df5f020, 0x3b9ed: 0x6df5f220, 0x3b9ee: 0x6df5f420, 0x3b9ef: 0x6df5f620, + 0x3b9f0: 0x6df5f820, 0x3b9f1: 0x6df5fa20, 0x3b9f2: 0x6df5fc20, 0x3b9f3: 0x6df5fe20, + 0x3b9f4: 0x6df60020, 0x3b9f5: 0x6df60220, 0x3b9f6: 0x6df60420, 0x3b9f7: 0x6df60620, + 0x3b9f8: 0x6df60820, 0x3b9f9: 0x6df60a20, 0x3b9fa: 0x6df60c20, 0x3b9fb: 0x6df60e20, + 0x3b9fc: 0x6df61020, 0x3b9fd: 0x6df61220, 0x3b9fe: 0x6e097a20, 0x3b9ff: 0x6e097c20, + // Block 0xee8, offset 0x3ba00 + 0x3ba00: 0x6e097e20, 0x3ba01: 0x6e098020, 0x3ba02: 0x6e098220, 0x3ba03: 0x6e098420, + 0x3ba04: 0x6e098620, 0x3ba05: 0x6e098820, 0x3ba06: 0x6e098a20, 0x3ba07: 0x6e098c20, + 0x3ba08: 0x6e098e20, 0x3ba09: 0x6e099020, 0x3ba0a: 0x6e099220, 0x3ba0b: 0x6e099420, + 0x3ba0c: 0x6e099620, 0x3ba0d: 0x6e099820, 0x3ba0e: 0x6e099a20, 0x3ba0f: 0x6e099c20, + 0x3ba10: 0x6e099e20, 0x3ba11: 0x6e09a020, 0x3ba12: 0x6e09a220, 0x3ba13: 0x6e09a420, + 0x3ba14: 0x6e09a620, 0x3ba15: 0x6e09a820, 0x3ba16: 0x6e09aa20, 0x3ba17: 0x6e09ac20, + 0x3ba18: 0x6e09ae20, 0x3ba19: 0x6e09b020, 0x3ba1a: 0x6e09b220, 0x3ba1b: 0x6e09b420, + 0x3ba1c: 0x6e09b620, 0x3ba1d: 0x6e09b820, 0x3ba1e: 0x6e09ba20, 0x3ba1f: 0x6e09bc20, + 0x3ba20: 0x6e09be20, 0x3ba21: 0x6e09c020, 0x3ba22: 0x6e09c220, 0x3ba23: 0x6e09c420, + 0x3ba24: 0x6e09c620, 0x3ba25: 0x6e09c820, 0x3ba26: 0x6e09ca20, 0x3ba27: 0x6e09cc20, + 0x3ba28: 0x6e09ce20, 0x3ba29: 0x6e09d020, 0x3ba2a: 0x6e09d220, 0x3ba2b: 0x6e09d420, + 0x3ba2c: 0x6e09d620, 0x3ba2d: 0x6e09d820, 0x3ba2e: 0x6e09da20, 0x3ba2f: 0x6e09dc20, + 0x3ba30: 0x6e09de20, 0x3ba31: 0x6e196e20, 0x3ba32: 0x6e197020, 0x3ba33: 0x6e197220, + 0x3ba34: 0x6e197420, 0x3ba35: 0x6e197620, 0x3ba36: 0x6e197820, 0x3ba37: 0x6e197a20, + 0x3ba38: 0x6e197c20, 0x3ba39: 0x6e197e20, 0x3ba3a: 0x6e198020, 0x3ba3b: 0x6e198220, + 0x3ba3c: 0x6e198420, 0x3ba3d: 0x6e198620, 0x3ba3e: 0x6e198820, 0x3ba3f: 0x6e198a20, + // Block 0xee9, offset 0x3ba40 + 0x3ba40: 0x6e198c20, 0x3ba41: 0x6e198e20, 0x3ba42: 0x6e199020, 0x3ba43: 0x6e199220, + 0x3ba44: 0x6e199420, 0x3ba45: 0x6e199620, 0x3ba46: 0x6e199820, 0x3ba47: 0x6e199a20, + 0x3ba48: 0x6e199c20, 0x3ba49: 0x6e199e20, 0x3ba4a: 0x6e19a020, 0x3ba4b: 0x6e19a220, + 0x3ba4c: 0x6e19a420, 0x3ba4d: 0x6e19a620, 0x3ba4e: 0x6e19a820, 0x3ba4f: 0x6e19aa20, + 0x3ba50: 0x6e19ac20, 0x3ba51: 0x6e19ae20, 0x3ba52: 0x6e19b020, 0x3ba53: 0x6e19b220, + 0x3ba54: 0x6e19b420, 0x3ba55: 0x6e19b620, 0x3ba56: 0x6e19b820, 0x3ba57: 0x6e19ba20, + 0x3ba58: 0x6e19bc20, 0x3ba59: 0x6e19be20, 0x3ba5a: 0x6e19c020, 0x3ba5b: 0x6e19c220, + 0x3ba5c: 0x6e19c420, 0x3ba5d: 0x6e19c620, 0x3ba5e: 0x6e19c820, 0x3ba5f: 0x6e19ca20, + 0x3ba60: 0x6e19cc20, 0x3ba61: 0x6e19ce20, 0x3ba62: 0x6e19d020, 0x3ba63: 0x6e19d220, + 0x3ba64: 0x6e19d420, 0x3ba65: 0x6e19d620, 0x3ba66: 0x6e19d820, 0x3ba67: 0x6e19da20, + 0x3ba68: 0x6e19dc20, 0x3ba69: 0x6e19de20, 0x3ba6a: 0x6e19e020, 0x3ba6b: 0x6e19e220, + 0x3ba6c: 0x6e19e420, 0x3ba6d: 0x6e260e20, 0x3ba6e: 0x6e261020, 0x3ba6f: 0x6e261220, + 0x3ba70: 0x6e261420, 0x3ba71: 0x6e261620, 0x3ba72: 0x6e261820, 0x3ba73: 0x6e261a20, + 0x3ba74: 0x6e261c20, 0x3ba75: 0x6e261e20, 0x3ba76: 0x6e262020, 0x3ba77: 0x6e262220, + 0x3ba78: 0x6e262420, 0x3ba79: 0x6e262620, 0x3ba7a: 0x6e262820, 0x3ba7b: 0x6e262a20, + 0x3ba7c: 0x6e262c20, 0x3ba7d: 0x6e262e20, 0x3ba7e: 0x6e263020, 0x3ba7f: 0x6e263220, + // Block 0xeea, offset 0x3ba80 + 0x3ba80: 0x6e263420, 0x3ba81: 0x6e263620, 0x3ba82: 0x6e263820, 0x3ba83: 0x6e263a20, + 0x3ba84: 0x6e263c20, 0x3ba85: 0x6e263e20, 0x3ba86: 0x6e264020, 0x3ba87: 0x6e264220, + 0x3ba88: 0x6e264420, 0x3ba89: 0x6e264620, 0x3ba8a: 0x6e264820, 0x3ba8b: 0x6e264a20, + 0x3ba8c: 0x6e264c20, 0x3ba8d: 0x6e264e20, 0x3ba8e: 0x6e265020, 0x3ba8f: 0x6e265220, + 0x3ba90: 0x6e265420, 0x3ba91: 0x6e265620, 0x3ba92: 0x6e265820, 0x3ba93: 0x6e265a20, + 0x3ba94: 0x6e265c20, 0x3ba95: 0x6e265e20, 0x3ba96: 0x6e266020, 0x3ba97: 0x6e266220, + 0x3ba98: 0x6e2f7a20, 0x3ba99: 0x6e2f7c20, 0x3ba9a: 0x6e2f7e20, 0x3ba9b: 0x6e2f8020, + 0x3ba9c: 0x6e2f8220, 0x3ba9d: 0x6e2f8420, 0x3ba9e: 0x6e2f8620, 0x3ba9f: 0x6e2f8820, + 0x3baa0: 0x6e2f8a20, 0x3baa1: 0x6e2f8c20, 0x3baa2: 0x6e2f8e20, 0x3baa3: 0x6e2f9020, + 0x3baa4: 0x6e2f9220, 0x3baa5: 0x6e2f9420, 0x3baa6: 0x6e2f9620, 0x3baa7: 0x6e2f9820, + 0x3baa8: 0x6e2f9a20, 0x3baa9: 0x6e2f9c20, 0x3baaa: 0x6e2f9e20, 0x3baab: 0x6e2fa020, + 0x3baac: 0x6e2fa220, 0x3baad: 0x6e2fa420, 0x3baae: 0x6e2fa620, 0x3baaf: 0x6e2fa820, + 0x3bab0: 0x6e2faa20, 0x3bab1: 0x6e2fac20, 0x3bab2: 0x6e2fae20, 0x3bab3: 0x6e2fb020, + 0x3bab4: 0x6e2fb220, 0x3bab5: 0x6e2fb420, 0x3bab6: 0x6e2fb620, 0x3bab7: 0x6e2fb820, + 0x3bab8: 0x6e2fba20, 0x3bab9: 0x6e2fbc20, 0x3baba: 0x6e2fbe20, 0x3babb: 0x6e2fc020, + 0x3babc: 0x6e2fc220, 0x3babd: 0x6e2fc420, 0x3babe: 0x6e2fc620, 0x3babf: 0x6e2fc820, + // Block 0xeeb, offset 0x3bac0 + 0x3bac0: 0x6e2fca20, 0x3bac1: 0x6e2fcc20, 0x3bac2: 0x6e36c220, 0x3bac3: 0x6e36c420, + 0x3bac4: 0x6e36c620, 0x3bac5: 0x6e36c820, 0x3bac6: 0x6e36ca20, 0x3bac7: 0x6e36cc20, + 0x3bac8: 0x6e36ce20, 0x3bac9: 0x6e36d020, 0x3baca: 0x6e36d220, 0x3bacb: 0x6e36d420, + 0x3bacc: 0x6e36d620, 0x3bacd: 0x6e36d820, 0x3bace: 0x6e36da20, 0x3bacf: 0x6e36dc20, + 0x3bad0: 0x6e36de20, 0x3bad1: 0x6e36e020, 0x3bad2: 0x6e36e220, 0x3bad3: 0x6e36e420, + 0x3bad4: 0x6e36e620, 0x3bad5: 0x6e36e820, 0x3bad6: 0x6e36ea20, 0x3bad7: 0x6e36ec20, + 0x3bad8: 0x6e36ee20, 0x3bad9: 0x6e36f020, 0x3bada: 0x6e36f220, 0x3badb: 0x6e36f420, + 0x3badc: 0x6e36f620, 0x3badd: 0x6e36f820, 0x3bade: 0x6e36fa20, 0x3badf: 0x6e36fc20, + 0x3bae0: 0x6e36fe20, 0x3bae1: 0x6e370020, 0x3bae2: 0x6e370220, 0x3bae3: 0x6e370420, + 0x3bae4: 0x6e370620, 0x3bae5: 0x6e3bb620, 0x3bae6: 0x6e3bb820, 0x3bae7: 0x6e3bba20, + 0x3bae8: 0x6e3bbc20, 0x3bae9: 0x6e3bbe20, 0x3baea: 0x6e3bc020, 0x3baeb: 0x6e3bc220, + 0x3baec: 0x6e3bc420, 0x3baed: 0x6e3bc620, 0x3baee: 0x6e3bc820, 0x3baef: 0x6e3bca20, + 0x3baf0: 0x6e3bcc20, 0x3baf1: 0x6e3bce20, 0x3baf2: 0x6e3bd020, 0x3baf3: 0x6e3bd220, + 0x3baf4: 0x6e3bd420, 0x3baf5: 0x6e3bd620, 0x3baf6: 0x6e3bd820, 0x3baf7: 0x6e3bda20, + 0x3baf8: 0x6e3bdc20, 0x3baf9: 0x6e3bde20, 0x3bafa: 0x6e3be020, 0x3bafb: 0x6e3f6020, + 0x3bafc: 0x6e3f6220, 0x3bafd: 0x6e3f6420, 0x3bafe: 0x6e3f6620, 0x3baff: 0x6e3f6820, + // Block 0xeec, offset 0x3bb00 + 0x3bb00: 0x6e3f6a20, 0x3bb01: 0x6e3f6c20, 0x3bb02: 0x6e3f6e20, 0x3bb03: 0x6e3f7020, + 0x3bb04: 0x6e3f7220, 0x3bb05: 0x6e3f7420, 0x3bb06: 0x6e3f7620, 0x3bb07: 0x6e3f7820, + 0x3bb08: 0x6e3f7a20, 0x3bb09: 0x6e3f7c20, 0x3bb0a: 0x6e3f7e20, 0x3bb0b: 0x6e3f8020, + 0x3bb0c: 0x6e3f8220, 0x3bb0d: 0x6e41de20, 0x3bb0e: 0x6e41e020, 0x3bb0f: 0x6e41e220, + 0x3bb10: 0x6e41e420, 0x3bb11: 0x6e41e620, 0x3bb12: 0x6e41e820, 0x3bb13: 0x6e41ea20, + 0x3bb14: 0x6e41ec20, 0x3bb15: 0x6e41ee20, 0x3bb16: 0x6e41f020, 0x3bb17: 0x6e41f220, + 0x3bb18: 0x6e41f420, 0x3bb19: 0x6e41f620, 0x3bb1a: 0x6e43a420, 0x3bb1b: 0x6e43a620, + 0x3bb1c: 0x6e43a820, 0x3bb1d: 0x6e43aa20, 0x3bb1e: 0x6e43ac20, 0x3bb1f: 0x6e43ae20, + 0x3bb20: 0x6e43b020, 0x3bb21: 0x6e43b220, 0x3bb22: 0x6e43b420, 0x3bb23: 0x6e43b620, + 0x3bb24: 0x6e43b820, 0x3bb25: 0x6e43ba20, 0x3bb26: 0x6e43bc20, 0x3bb27: 0x6e44d420, + 0x3bb28: 0x6e44d620, 0x3bb29: 0x6e44d820, 0x3bb2a: 0x6e44da20, 0x3bb2b: 0x6e44dc20, + 0x3bb2c: 0x6e44de20, 0x3bb2d: 0x6e44e020, 0x3bb2e: 0x6e44e220, 0x3bb2f: 0x6e44e420, + 0x3bb30: 0x6e458420, 0x3bb31: 0x6e458620, 0x3bb32: 0x6e458820, 0x3bb33: 0x6e45fa20, + 0x3bb34: 0x6e45fc20, 0x3bb35: 0x6e465a20, 0x3bb36: 0x6e465c20, 0x3bb37: 0x6e465e20, + 0x3bb38: 0x6e466020, 0x3bb39: 0x6ce87820, 0x3bb3a: 0x6ce87a20, 0x3bb3b: 0x6ce87c20, + 0x3bb3c: 0x6d46d420, 0x3bb3d: 0x6d46d620, 0x3bb3e: 0x6d46d820, 0x3bb3f: 0x6d46da20, + // Block 0xeed, offset 0x3bb40 + 0x3bb40: 0x6d17fa20, 0x3bb41: 0x6d742620, 0x3bb42: 0x6d742820, 0x3bb43: 0x6d742a20, + 0x3bb44: 0x6d742c20, 0x3bb45: 0x6d9dce20, 0x3bb46: 0x6d9dd020, 0x3bb47: 0x6d9dd220, + 0x3bb48: 0x6d9dd420, 0x3bb49: 0x6d742e20, 0x3bb4a: 0x6dc05a20, 0x3bb4b: 0x6dc05c20, + 0x3bb4c: 0x6df63020, 0x3bb4d: 0x6e1a0020, 0x3bb4e: 0x6e2fdc20, 0x3bb4f: 0x6ce88820, + 0x3bb50: 0x6ce88a20, 0x3bb51: 0x6ce88c20, 0x3bb52: 0x6d181a20, 0x3bb53: 0x6d181c20, + 0x3bb54: 0x6d181e20, 0x3bb55: 0x6d182020, 0x3bb56: 0x6d182220, 0x3bb57: 0x6d182420, + 0x3bb58: 0x6d182620, 0x3bb59: 0x6d182820, 0x3bb5a: 0x6d182a20, 0x3bb5b: 0x6d182c20, + 0x3bb5c: 0x6d182e20, 0x3bb5d: 0x6d470020, 0x3bb5e: 0x6d470220, 0x3bb5f: 0x6d470420, + 0x3bb60: 0x6d470620, 0x3bb61: 0x6d470820, 0x3bb62: 0x6d470a20, 0x3bb63: 0x6d470c20, + 0x3bb64: 0x6d470e20, 0x3bb65: 0x6d471020, 0x3bb66: 0x6d471220, 0x3bb67: 0x6d471420, + 0x3bb68: 0x6d471620, 0x3bb69: 0x6d471820, 0x3bb6a: 0x6d471a20, 0x3bb6b: 0x6d471c20, + 0x3bb6c: 0x6d471e20, 0x3bb6d: 0x6d472020, 0x3bb6e: 0x6d472220, 0x3bb6f: 0x6d472420, + 0x3bb70: 0x6d747e20, 0x3bb71: 0x6d748020, 0x3bb72: 0x6d748220, 0x3bb73: 0x6d748420, + 0x3bb74: 0x6d748620, 0x3bb75: 0x6d748820, 0x3bb76: 0x6d748a20, 0x3bb77: 0x6d748c20, + 0x3bb78: 0x6d748e20, 0x3bb79: 0x6d749020, 0x3bb7a: 0x6d749220, 0x3bb7b: 0x6d749420, + 0x3bb7c: 0x6d749620, 0x3bb7d: 0x6d749820, 0x3bb7e: 0x6d749a20, 0x3bb7f: 0x6d749c20, + // Block 0xeee, offset 0x3bb80 + 0x3bb80: 0x6d749e20, 0x3bb81: 0x6d74a020, 0x3bb82: 0x6d74a220, 0x3bb83: 0x6d74a420, + 0x3bb84: 0x6d74a620, 0x3bb85: 0x6d74a820, 0x3bb86: 0x6d74aa20, 0x3bb87: 0x6d74ac20, + 0x3bb88: 0x6d74ae20, 0x3bb89: 0x6d74b020, 0x3bb8a: 0x6d74b220, 0x3bb8b: 0x6d74b420, + 0x3bb8c: 0x6d74b620, 0x3bb8d: 0x6d74b820, 0x3bb8e: 0x6d74ba20, 0x3bb8f: 0x6d74bc20, + 0x3bb90: 0x6d74be20, 0x3bb91: 0x6d74c020, 0x3bb92: 0x6d74c220, 0x3bb93: 0x6d74c420, + 0x3bb94: 0x6d74c620, 0x3bb95: 0x6d74c820, 0x3bb96: 0x6d74ca20, 0x3bb97: 0x6d74cc20, + 0x3bb98: 0x6d74ce20, 0x3bb99: 0x6d74d020, 0x3bb9a: 0x6d74d220, 0x3bb9b: 0x6d74d420, + 0x3bb9c: 0x6d9e4220, 0x3bb9d: 0x6d9e4420, 0x3bb9e: 0x6d9e4620, 0x3bb9f: 0x6d9e4820, + 0x3bba0: 0x6d9e4a20, 0x3bba1: 0x6d9e4c20, 0x3bba2: 0x6d9e4e20, 0x3bba3: 0x6d9e5020, + 0x3bba4: 0x6d9e5220, 0x3bba5: 0x6d9e5420, 0x3bba6: 0x6d9e5620, 0x3bba7: 0x6d9e5820, + 0x3bba8: 0x6d9e5a20, 0x3bba9: 0x6d9e5c20, 0x3bbaa: 0x6d9e5e20, 0x3bbab: 0x6d9e6020, + 0x3bbac: 0x6d9e6220, 0x3bbad: 0x6d9e6420, 0x3bbae: 0x6d9e6620, 0x3bbaf: 0x6d9e6820, + 0x3bbb0: 0x6d9e6a20, 0x3bbb1: 0x6d9e6c20, 0x3bbb2: 0x6d9e6e20, 0x3bbb3: 0x6d9e7020, + 0x3bbb4: 0x6d9e7220, 0x3bbb5: 0x6d9e7420, 0x3bbb6: 0x6d9e7620, 0x3bbb7: 0x6d9e7820, + 0x3bbb8: 0x6d9e7a20, 0x3bbb9: 0x6d9e7c20, 0x3bbba: 0x6d9e7e20, 0x3bbbb: 0x6d9e8020, + 0x3bbbc: 0x6d9e8220, 0x3bbbd: 0x6d9e8420, 0x3bbbe: 0x6d9e8620, 0x3bbbf: 0x6d9e8820, + // Block 0xeef, offset 0x3bbc0 + 0x3bbc0: 0x6d9e8a20, 0x3bbc1: 0x6d9e8c20, 0x3bbc2: 0x6d9e8e20, 0x3bbc3: 0x6d9e9020, + 0x3bbc4: 0x6d9e9220, 0x3bbc5: 0x6d9e9420, 0x3bbc6: 0x6d9e9620, 0x3bbc7: 0x6d9e9820, + 0x3bbc8: 0x6d9e9a20, 0x3bbc9: 0x6d9e9c20, 0x3bbca: 0x6d9e9e20, 0x3bbcb: 0x6d9ea020, + 0x3bbcc: 0x6d9ea220, 0x3bbcd: 0x6d9ea420, 0x3bbce: 0x6d9ea620, 0x3bbcf: 0x6d9ea820, + 0x3bbd0: 0x6d9eaa20, 0x3bbd1: 0x6d9eac20, 0x3bbd2: 0x6dc0ba20, 0x3bbd3: 0x6dc0bc20, + 0x3bbd4: 0x6dc0be20, 0x3bbd5: 0x6dc0c020, 0x3bbd6: 0x6dc0c220, 0x3bbd7: 0x6dc0c420, + 0x3bbd8: 0x6dc0c620, 0x3bbd9: 0x6dc0c820, 0x3bbda: 0x6dc0ca20, 0x3bbdb: 0x6dc0cc20, + 0x3bbdc: 0x6dc0ce20, 0x3bbdd: 0x6dc0d020, 0x3bbde: 0x6dc0d220, 0x3bbdf: 0x6dc0d420, + 0x3bbe0: 0x6dc0d620, 0x3bbe1: 0x6dc0d820, 0x3bbe2: 0x6dc0da20, 0x3bbe3: 0x6dc0dc20, + 0x3bbe4: 0x6dc0de20, 0x3bbe5: 0x6dc0e020, 0x3bbe6: 0x6dc0e220, 0x3bbe7: 0x6dc0e420, + 0x3bbe8: 0x6dc0e620, 0x3bbe9: 0x6dc0e820, 0x3bbea: 0x6dc0ea20, 0x3bbeb: 0x6dc0ec20, + 0x3bbec: 0x6dc0ee20, 0x3bbed: 0x6dc0f020, 0x3bbee: 0x6dc0f220, 0x3bbef: 0x6dc0f420, + 0x3bbf0: 0x6dc0f620, 0x3bbf1: 0x6dc0f820, 0x3bbf2: 0x6dc0fa20, 0x3bbf3: 0x6dc0fc20, + 0x3bbf4: 0x6dc0fe20, 0x3bbf5: 0x6dc10020, 0x3bbf6: 0x6dc10220, 0x3bbf7: 0x6dc10420, + 0x3bbf8: 0x6dc10620, 0x3bbf9: 0x6dc10820, 0x3bbfa: 0x6dc10a20, 0x3bbfb: 0x6dc10c20, + 0x3bbfc: 0x6dc10e20, 0x3bbfd: 0x6dc11020, 0x3bbfe: 0x6dc11220, 0x3bbff: 0x6dc11420, + // Block 0xef0, offset 0x3bc00 + 0x3bc00: 0x6dc11620, 0x3bc01: 0x6dc11820, 0x3bc02: 0x6dc11a20, 0x3bc03: 0x6dc11c20, + 0x3bc04: 0x6dc11e20, 0x3bc05: 0x6dc12020, 0x3bc06: 0x6dc12220, 0x3bc07: 0x6dc12420, + 0x3bc08: 0x6dc12620, 0x3bc09: 0x6dc12820, 0x3bc0a: 0x6dde8220, 0x3bc0b: 0x6dde8420, + 0x3bc0c: 0x6dde8620, 0x3bc0d: 0x6dde8820, 0x3bc0e: 0x6dde8a20, 0x3bc0f: 0x6dde8c20, + 0x3bc10: 0x6dde8e20, 0x3bc11: 0x6dde9020, 0x3bc12: 0x6dde9220, 0x3bc13: 0x6dde9420, + 0x3bc14: 0x6dde9620, 0x3bc15: 0x6dde9820, 0x3bc16: 0x6dde9a20, 0x3bc17: 0x6dde9c20, + 0x3bc18: 0x6dde9e20, 0x3bc19: 0x6ddea020, 0x3bc1a: 0x6ddea220, 0x3bc1b: 0x6ddea420, + 0x3bc1c: 0x6ddea620, 0x3bc1d: 0x6ddea820, 0x3bc1e: 0x6ddeaa20, 0x3bc1f: 0x6ddeac20, + 0x3bc20: 0x6ddeae20, 0x3bc21: 0x6ddeb020, 0x3bc22: 0x6ddeb220, 0x3bc23: 0x6ddeb420, + 0x3bc24: 0x6ddeb620, 0x3bc25: 0x6ddeb820, 0x3bc26: 0x6ddeba20, 0x3bc27: 0x6ddebc20, + 0x3bc28: 0x6ddebe20, 0x3bc29: 0x6ddec020, 0x3bc2a: 0x6ddec220, 0x3bc2b: 0x6ddec420, + 0x3bc2c: 0x6ddec620, 0x3bc2d: 0x6ddec820, 0x3bc2e: 0x6ddeca20, 0x3bc2f: 0x6ddecc20, + 0x3bc30: 0x6ddece20, 0x3bc31: 0x6dded020, 0x3bc32: 0x6dded220, 0x3bc33: 0x6dded420, + 0x3bc34: 0x6dded620, 0x3bc35: 0x6dded820, 0x3bc36: 0x6ddeda20, 0x3bc37: 0x6df6a020, + 0x3bc38: 0x6df6a220, 0x3bc39: 0x6df6a420, 0x3bc3a: 0x6df6a620, 0x3bc3b: 0x6df6a820, + 0x3bc3c: 0x6df6aa20, 0x3bc3d: 0x6df6ac20, 0x3bc3e: 0x6df6ae20, 0x3bc3f: 0x6df6b020, + // Block 0xef1, offset 0x3bc40 + 0x3bc40: 0x6df6b220, 0x3bc41: 0x6df6b420, 0x3bc42: 0x6df6b620, 0x3bc43: 0x6df6b820, + 0x3bc44: 0x6df6ba20, 0x3bc45: 0x6df6bc20, 0x3bc46: 0x6df6be20, 0x3bc47: 0x6df6c020, + 0x3bc48: 0x6df6c220, 0x3bc49: 0x6df6c420, 0x3bc4a: 0x6df6c620, 0x3bc4b: 0x6df6c820, + 0x3bc4c: 0x6df6ca20, 0x3bc4d: 0x6df6cc20, 0x3bc4e: 0x6df6ce20, 0x3bc4f: 0x6df6d020, + 0x3bc50: 0x6df6d220, 0x3bc51: 0x6df6d420, 0x3bc52: 0x6df6d620, 0x3bc53: 0x6df6d820, + 0x3bc54: 0x6df6da20, 0x3bc55: 0x6df6dc20, 0x3bc56: 0x6df6de20, 0x3bc57: 0x6df6e020, + 0x3bc58: 0x6df6e220, 0x3bc59: 0x6df6e420, 0x3bc5a: 0x6df6e620, 0x3bc5b: 0x6df6e820, + 0x3bc5c: 0x6df6ea20, 0x3bc5d: 0x6df6ec20, 0x3bc5e: 0x6df6ee20, 0x3bc5f: 0x6df6f020, + 0x3bc60: 0x6df6f220, 0x3bc61: 0x6df6f420, 0x3bc62: 0x6df6f620, 0x3bc63: 0x6df6f820, + 0x3bc64: 0x6df6fa20, 0x3bc65: 0x6df6fc20, 0x3bc66: 0x6df6fe20, 0x3bc67: 0x6df70020, + 0x3bc68: 0x6df70220, 0x3bc69: 0x6df70420, 0x3bc6a: 0x6df70620, 0x3bc6b: 0x6df70820, + 0x3bc6c: 0x6df70a20, 0x3bc6d: 0x6df70c20, 0x3bc6e: 0x6df70e20, 0x3bc6f: 0x6df71020, + 0x3bc70: 0x6df71220, 0x3bc71: 0x6df71420, 0x3bc72: 0x6df71620, 0x3bc73: 0x6df71820, + 0x3bc74: 0x6df71a20, 0x3bc75: 0x6df71c20, 0x3bc76: 0x6e0a4420, 0x3bc77: 0x6e0a4620, + 0x3bc78: 0x6e0a4820, 0x3bc79: 0x6e0a4a20, 0x3bc7a: 0x6e0a4c20, 0x3bc7b: 0x6e0a4e20, + 0x3bc7c: 0x6e0a5020, 0x3bc7d: 0x6e0a5220, 0x3bc7e: 0x6e0a5420, 0x3bc7f: 0x6e0a5620, + // Block 0xef2, offset 0x3bc80 + 0x3bc80: 0x6e0a5820, 0x3bc81: 0x6e0a5a20, 0x3bc82: 0x6e0a5c20, 0x3bc83: 0x6e0a5e20, + 0x3bc84: 0x6e0a6020, 0x3bc85: 0x6e0a6220, 0x3bc86: 0x6e0a6420, 0x3bc87: 0x6e0a6620, + 0x3bc88: 0x6e0a6820, 0x3bc89: 0x6e0a6a20, 0x3bc8a: 0x6e0a6c20, 0x3bc8b: 0x6e0a6e20, + 0x3bc8c: 0x6e0a7020, 0x3bc8d: 0x6e0a7220, 0x3bc8e: 0x6e0a7420, 0x3bc8f: 0x6e0a7620, + 0x3bc90: 0x6e0a7820, 0x3bc91: 0x6e0a7a20, 0x3bc92: 0x6e0a7c20, 0x3bc93: 0x6e0a7e20, + 0x3bc94: 0x6e0a8020, 0x3bc95: 0x6e0a8220, 0x3bc96: 0x6e0a8420, 0x3bc97: 0x6e0a8620, + 0x3bc98: 0x6e0a8820, 0x3bc99: 0x6e0a8a20, 0x3bc9a: 0x6e0a8c20, 0x3bc9b: 0x6e0a8e20, + 0x3bc9c: 0x6e0a9020, 0x3bc9d: 0x6e0a9220, 0x3bc9e: 0x6e0a9420, 0x3bc9f: 0x6e0a9620, + 0x3bca0: 0x6e0a9820, 0x3bca1: 0x6e0a9a20, 0x3bca2: 0x6e0a9c20, 0x3bca3: 0x6e0a9e20, + 0x3bca4: 0x6e0aa020, 0x3bca5: 0x6e0aa220, 0x3bca6: 0x6e0aa420, 0x3bca7: 0x6e0aa620, + 0x3bca8: 0x6e0aa820, 0x3bca9: 0x6e0aaa20, 0x3bcaa: 0x6e0aac20, 0x3bcab: 0x6e0aae20, + 0x3bcac: 0x6e0ab020, 0x3bcad: 0x6e0ab220, 0x3bcae: 0x6e0ab420, 0x3bcaf: 0x6e0ab620, + 0x3bcb0: 0x6e0ab820, 0x3bcb1: 0x6e0aba20, 0x3bcb2: 0x6e0abc20, 0x3bcb3: 0x6e0abe20, + 0x3bcb4: 0x6e0ac020, 0x3bcb5: 0x6e0ac220, 0x3bcb6: 0x6e0ac420, 0x3bcb7: 0x6e0ac620, + 0x3bcb8: 0x6e0ac820, 0x3bcb9: 0x6e0aca20, 0x3bcba: 0x6e1a5420, 0x3bcbb: 0x6e1a5620, + 0x3bcbc: 0x6e1a5820, 0x3bcbd: 0x6e1a5a20, 0x3bcbe: 0x6e1a5c20, 0x3bcbf: 0x6e1a5e20, + // Block 0xef3, offset 0x3bcc0 + 0x3bcc0: 0x6e1a6020, 0x3bcc1: 0x6e1a6220, 0x3bcc2: 0x6e1a6420, 0x3bcc3: 0x6e1a6620, + 0x3bcc4: 0x6e1a6820, 0x3bcc5: 0x6e1a6a20, 0x3bcc6: 0x6e1a6c20, 0x3bcc7: 0x6e1a6e20, + 0x3bcc8: 0x6e1a7020, 0x3bcc9: 0x6e1a7220, 0x3bcca: 0x6e1a7420, 0x3bccb: 0x6e1a7620, + 0x3bccc: 0x6e1a7820, 0x3bccd: 0x6e1a7a20, 0x3bcce: 0x6e1a7c20, 0x3bccf: 0x6e1a7e20, + 0x3bcd0: 0x6e1a8020, 0x3bcd1: 0x6e1a8220, 0x3bcd2: 0x6e1a8420, 0x3bcd3: 0x6e1a8620, + 0x3bcd4: 0x6e1a8820, 0x3bcd5: 0x6e1a8a20, 0x3bcd6: 0x6e1a8c20, 0x3bcd7: 0x6e1a8e20, + 0x3bcd8: 0x6e1a9020, 0x3bcd9: 0x6e1a9220, 0x3bcda: 0x6e1a9420, 0x3bcdb: 0x6e1a9620, + 0x3bcdc: 0x6e1a9820, 0x3bcdd: 0x6e1a9a20, 0x3bcde: 0x6e1a9c20, 0x3bcdf: 0x6e1a9e20, + 0x3bce0: 0x6e1aa020, 0x3bce1: 0x6e1aa220, 0x3bce2: 0x6e1aa420, 0x3bce3: 0x6e1aa620, + 0x3bce4: 0x6e1aa820, 0x3bce5: 0x6e1aaa20, 0x3bce6: 0x6e1aac20, 0x3bce7: 0x6e1aae20, + 0x3bce8: 0x6e1ab020, 0x3bce9: 0x6e1ab220, 0x3bcea: 0x6e1ab420, 0x3bceb: 0x6e1ab620, + 0x3bcec: 0x6e1ab820, 0x3bced: 0x6e26a820, 0x3bcee: 0x6e26aa20, 0x3bcef: 0x6e26ac20, + 0x3bcf0: 0x6e26ae20, 0x3bcf1: 0x6e26b020, 0x3bcf2: 0x6e26b220, 0x3bcf3: 0x6e26b420, + 0x3bcf4: 0x6e26b620, 0x3bcf5: 0x6e26b820, 0x3bcf6: 0x6e26ba20, 0x3bcf7: 0x6e26bc20, + 0x3bcf8: 0x6e26be20, 0x3bcf9: 0x6e26c020, 0x3bcfa: 0x6e26c220, 0x3bcfb: 0x6e26c420, + 0x3bcfc: 0x6e26c620, 0x3bcfd: 0x6e26c820, 0x3bcfe: 0x6e26ca20, 0x3bcff: 0x6e26cc20, + // Block 0xef4, offset 0x3bd00 + 0x3bd00: 0x6e26ce20, 0x3bd01: 0x6e26d020, 0x3bd02: 0x6e26d220, 0x3bd03: 0x6e26d420, + 0x3bd04: 0x6e26d620, 0x3bd05: 0x6e26d820, 0x3bd06: 0x6e26da20, 0x3bd07: 0x6e26dc20, + 0x3bd08: 0x6e26de20, 0x3bd09: 0x6e26e020, 0x3bd0a: 0x6e26e220, 0x3bd0b: 0x6e26e420, + 0x3bd0c: 0x6e26e620, 0x3bd0d: 0x6e26e820, 0x3bd0e: 0x6e26ea20, 0x3bd0f: 0x6e26ec20, + 0x3bd10: 0x6e26ee20, 0x3bd11: 0x6e26f020, 0x3bd12: 0x6e26f220, 0x3bd13: 0x6e26f420, + 0x3bd14: 0x6e26f620, 0x3bd15: 0x6e26f820, 0x3bd16: 0x6e26fa20, 0x3bd17: 0x6e26fc20, + 0x3bd18: 0x6e26fe20, 0x3bd19: 0x6e270020, 0x3bd1a: 0x6e270220, 0x3bd1b: 0x6e270420, + 0x3bd1c: 0x6e270620, 0x3bd1d: 0x6e270820, 0x3bd1e: 0x6e270a20, 0x3bd1f: 0x6e270c20, + 0x3bd20: 0x6e270e20, 0x3bd21: 0x6e271020, 0x3bd22: 0x6e271220, 0x3bd23: 0x6e271420, + 0x3bd24: 0x6e271620, 0x3bd25: 0x6e271820, 0x3bd26: 0x6e271a20, 0x3bd27: 0x6e271c20, + 0x3bd28: 0x6e271e20, 0x3bd29: 0x6e272020, 0x3bd2a: 0x6e272220, 0x3bd2b: 0x6e272420, + 0x3bd2c: 0x6e272620, 0x3bd2d: 0x6e272820, 0x3bd2e: 0x6e272a20, 0x3bd2f: 0x6e302220, + 0x3bd30: 0x6e302420, 0x3bd31: 0x6e302620, 0x3bd32: 0x6e302820, 0x3bd33: 0x6e302a20, + 0x3bd34: 0x6e302c20, 0x3bd35: 0x6e302e20, 0x3bd36: 0x6e303020, 0x3bd37: 0x6e303220, + 0x3bd38: 0x6e303420, 0x3bd39: 0x6e303620, 0x3bd3a: 0x6e303820, 0x3bd3b: 0x6e303a20, + 0x3bd3c: 0x6e303c20, 0x3bd3d: 0x6e303e20, 0x3bd3e: 0x6e304020, 0x3bd3f: 0x6e304220, + // Block 0xef5, offset 0x3bd40 + 0x3bd40: 0x6e304420, 0x3bd41: 0x6e304620, 0x3bd42: 0x6e304820, 0x3bd43: 0x6e304a20, + 0x3bd44: 0x6e304c20, 0x3bd45: 0x6e304e20, 0x3bd46: 0x6e305020, 0x3bd47: 0x6e305220, + 0x3bd48: 0x6e305420, 0x3bd49: 0x6e305620, 0x3bd4a: 0x6e305820, 0x3bd4b: 0x6e305a20, + 0x3bd4c: 0x6e305c20, 0x3bd4d: 0x6e305e20, 0x3bd4e: 0x6e306020, 0x3bd4f: 0x6e306220, + 0x3bd50: 0x6e306420, 0x3bd51: 0x6e306620, 0x3bd52: 0x6e306820, 0x3bd53: 0x6e306a20, + 0x3bd54: 0x6e306c20, 0x3bd55: 0x6e306e20, 0x3bd56: 0x6e307020, 0x3bd57: 0x6e307220, + 0x3bd58: 0x6e307420, 0x3bd59: 0x6e307620, 0x3bd5a: 0x6e307820, 0x3bd5b: 0x6e307a20, + 0x3bd5c: 0x6e307c20, 0x3bd5d: 0x6e307e20, 0x3bd5e: 0x6e308020, 0x3bd5f: 0x6e308220, + 0x3bd60: 0x6e308420, 0x3bd61: 0x6e308620, 0x3bd62: 0x6e308820, 0x3bd63: 0x6e308a20, + 0x3bd64: 0x6e308c20, 0x3bd65: 0x6e308e20, 0x3bd66: 0x6e309020, 0x3bd67: 0x6e309220, + 0x3bd68: 0x6e309420, 0x3bd69: 0x6e309620, 0x3bd6a: 0x6e309820, 0x3bd6b: 0x6e309a20, + 0x3bd6c: 0x6e374020, 0x3bd6d: 0x6e309c20, 0x3bd6e: 0x6e374220, 0x3bd6f: 0x6e374420, + 0x3bd70: 0x6e374620, 0x3bd71: 0x6e374820, 0x3bd72: 0x6e374a20, 0x3bd73: 0x6e374c20, + 0x3bd74: 0x6e374e20, 0x3bd75: 0x6e375020, 0x3bd76: 0x6e375220, 0x3bd77: 0x6e375420, + 0x3bd78: 0x6e375620, 0x3bd79: 0x6e375820, 0x3bd7a: 0x6e375a20, 0x3bd7b: 0x6e375c20, + 0x3bd7c: 0x6e375e20, 0x3bd7d: 0x6e376020, 0x3bd7e: 0x6e376220, 0x3bd7f: 0x6e376420, + // Block 0xef6, offset 0x3bd80 + 0x3bd80: 0x6e376620, 0x3bd81: 0x6e376820, 0x3bd82: 0x6e376a20, 0x3bd83: 0x6e376c20, + 0x3bd84: 0x6e376e20, 0x3bd85: 0x6e377020, 0x3bd86: 0x6e377220, 0x3bd87: 0x6e377420, + 0x3bd88: 0x6e377620, 0x3bd89: 0x6e377820, 0x3bd8a: 0x6e377a20, 0x3bd8b: 0x6e377c20, + 0x3bd8c: 0x6e377e20, 0x3bd8d: 0x6e378020, 0x3bd8e: 0x6e378220, 0x3bd8f: 0x6e378420, + 0x3bd90: 0x6e378620, 0x3bd91: 0x6e3bfa20, 0x3bd92: 0x6e3bfc20, 0x3bd93: 0x6e3bfe20, + 0x3bd94: 0x6e3c0020, 0x3bd95: 0x6e3c0220, 0x3bd96: 0x6e3c0420, 0x3bd97: 0x6e3c0620, + 0x3bd98: 0x6e3c0820, 0x3bd99: 0x6e3c0a20, 0x3bd9a: 0x6e3c0c20, 0x3bd9b: 0x6e3c0e20, + 0x3bd9c: 0x6e3c1020, 0x3bd9d: 0x6e3c1220, 0x3bd9e: 0x6e3c8020, 0x3bd9f: 0x6e3c1420, + 0x3bda0: 0x6e3c1620, 0x3bda1: 0x6e3c1820, 0x3bda2: 0x6e3c1a20, 0x3bda3: 0x6e3c1c20, + 0x3bda4: 0x6e3c1e20, 0x3bda5: 0x6e3c2020, 0x3bda6: 0x6e3c2220, 0x3bda7: 0x6e3c2420, + 0x3bda8: 0x6e3c2620, 0x3bda9: 0x6e3c2820, 0x3bdaa: 0x6e3c2a20, 0x3bdab: 0x6e3c2c20, + 0x3bdac: 0x6e3c2e20, 0x3bdad: 0x6e3f8c20, 0x3bdae: 0x6e3f8e20, 0x3bdaf: 0x6e3f9020, + 0x3bdb0: 0x6e3f9220, 0x3bdb1: 0x6e3f9420, 0x3bdb2: 0x6e3f9620, 0x3bdb3: 0x6e3f9820, + 0x3bdb4: 0x6e3f9a20, 0x3bdb5: 0x6e3f9c20, 0x3bdb6: 0x6e3f9e20, 0x3bdb7: 0x6e3fa020, + 0x3bdb8: 0x6e3fa220, 0x3bdb9: 0x6e3fa420, 0x3bdba: 0x6e3fa620, 0x3bdbb: 0x6e3fa820, + 0x3bdbc: 0x6e3faa20, 0x3bdbd: 0x6e3fac20, 0x3bdbe: 0x6e3fae20, 0x3bdbf: 0x6e3fb020, + // Block 0xef7, offset 0x3bdc0 + 0x3bdc0: 0x6e3fb220, 0x3bdc1: 0x6e3fb420, 0x3bdc2: 0x6e3fb620, 0x3bdc3: 0x6e420020, + 0x3bdc4: 0x6e420220, 0x3bdc5: 0x6e420420, 0x3bdc6: 0x6e420620, 0x3bdc7: 0x6e420820, + 0x3bdc8: 0x6e420a20, 0x3bdc9: 0x6e420c20, 0x3bdca: 0x6e420e20, 0x3bdcb: 0x6e421020, + 0x3bdcc: 0x6e421220, 0x3bdcd: 0x6e421420, 0x3bdce: 0x6e421620, 0x3bdcf: 0x6e421820, + 0x3bdd0: 0x6e421a20, 0x3bdd1: 0x6e421c20, 0x3bdd2: 0x6e421e20, 0x3bdd3: 0x6e422020, + 0x3bdd4: 0x6e422220, 0x3bdd5: 0x6e422420, 0x3bdd6: 0x6e422620, 0x3bdd7: 0x6e422820, + 0x3bdd8: 0x6e43c620, 0x3bdd9: 0x6e43c820, 0x3bdda: 0x6e43ca20, 0x3bddb: 0x6e43cc20, + 0x3bddc: 0x6e43ce20, 0x3bddd: 0x6e43d020, 0x3bdde: 0x6e43d220, 0x3bddf: 0x6e43d420, + 0x3bde0: 0x6e43d620, 0x3bde1: 0x6e43d820, 0x3bde2: 0x6e43da20, 0x3bde3: 0x6e43dc20, + 0x3bde4: 0x6e43de20, 0x3bde5: 0x6e44ea20, 0x3bde6: 0x6e44ec20, 0x3bde7: 0x6e44ee20, + 0x3bde8: 0x6e44f020, 0x3bde9: 0x6e44f220, 0x3bdea: 0x6e44f420, 0x3bdeb: 0x6e44f620, + 0x3bdec: 0x6e44f820, 0x3bded: 0x6e44fa20, 0x3bdee: 0x6e459220, 0x3bdef: 0x6e459420, + 0x3bdf0: 0x6e459620, 0x3bdf1: 0x6e459820, 0x3bdf2: 0x6e459a20, 0x3bdf3: 0x6e459c20, + 0x3bdf4: 0x6e460220, 0x3bdf5: 0x6e460420, 0x3bdf6: 0x6e460620, 0x3bdf7: 0x6e460820, + 0x3bdf8: 0x6e466420, 0x3bdf9: 0x6e466620, 0x3bdfa: 0x6e466820, 0x3bdfb: 0x6e469c20, + 0x3bdfc: 0x6e469e20, 0x3bdfd: 0x6e46a020, 0x3bdfe: 0x6e46d620, 0x3bdff: 0x6e46f620, + // Block 0xef8, offset 0x3be00 + 0x3be00: 0x6e46f820, 0x3be01: 0x6c63b820, 0x3be02: 0x6c63ba20, 0x3be03: 0x6c63bc20, + 0x3be04: 0x6c8ade20, 0x3be05: 0x6cb76820, 0x3be06: 0x6cb76a20, 0x3be07: 0x6cb76c20, + 0x3be08: 0x6cb76e20, 0x3be09: 0x6cb77020, 0x3be0a: 0x6cb77220, 0x3be0b: 0x6cb77420, + 0x3be0c: 0x6ce8a220, 0x3be0d: 0x6ce8a420, 0x3be0e: 0x6d184820, 0x3be0f: 0x6d473420, + 0x3be10: 0x6d473620, 0x3be11: 0x6d74f220, 0x3be12: 0x6d74f420, 0x3be13: 0x6d74f620, + 0x3be14: 0x6d74f820, 0x3be15: 0x6e0ad620, 0x3be16: 0x6d474620, 0x3be17: 0x6d474820, + 0x3be18: 0x6d750220, 0x3be19: 0x6d750420, 0x3be1a: 0x6d750620, 0x3be1b: 0x6d750820, + 0x3be1c: 0x6d9ecc20, 0x3be1d: 0x6d9ece20, 0x3be1e: 0x6d9ed020, 0x3be1f: 0x6d9ed220, + 0x3be20: 0x6d9ed420, 0x3be21: 0x6d9ed620, 0x3be22: 0x6dc14420, 0x3be23: 0x6ddef220, + 0x3be24: 0x6ddef420, 0x3be25: 0x6ddef620, 0x3be26: 0x6df73820, 0x3be27: 0x6df73a20, + 0x3be28: 0x6df73c20, 0x3be29: 0x6df73e20, 0x3be2a: 0x6df74020, 0x3be2b: 0x6df74220, + 0x3be2c: 0x6df74420, 0x3be2d: 0x6e0ada20, 0x3be2e: 0x6e0adc20, 0x3be2f: 0x6e0ade20, + 0x3be30: 0x6e0ae020, 0x3be31: 0x6e0ae220, 0x3be32: 0x6e0ae420, 0x3be33: 0x6e0ae620, + 0x3be34: 0x6e0ae820, 0x3be35: 0x6e1aca20, 0x3be36: 0x6e1acc20, 0x3be37: 0x6e1ace20, + 0x3be38: 0x6e1ad020, 0x3be39: 0x6e1ad220, 0x3be3a: 0x6e273820, 0x3be3b: 0x6e273a20, + 0x3be3c: 0x6e273c20, 0x3be3d: 0x6e273e20, 0x3be3e: 0x6e274020, 0x3be3f: 0x6e30aa20, + // Block 0xef9, offset 0x3be40 + 0x3be40: 0x6e30ac20, 0x3be41: 0x6e30ae20, 0x3be42: 0x6e30b020, 0x3be43: 0x6e379020, + 0x3be44: 0x6e379220, 0x3be45: 0x6e379420, 0x3be46: 0x6e3c3420, 0x3be47: 0x6e3c3620, + 0x3be48: 0x6e3fba20, 0x3be49: 0x6e422a20, 0x3be4a: 0x6e43e020, 0x3be4b: 0x6d185c20, + 0x3be4c: 0x6d185e20, 0x3be4d: 0x6d474c20, 0x3be4e: 0x6d474e20, 0x3be4f: 0x6d751620, + 0x3be50: 0x6d751820, 0x3be51: 0x6d751a20, 0x3be52: 0x6d751c20, 0x3be53: 0x6d751e20, + 0x3be54: 0x6d752020, 0x3be55: 0x6d752220, 0x3be56: 0x6d752420, 0x3be57: 0x6d752620, + 0x3be58: 0x6d752820, 0x3be59: 0x6d752a20, 0x3be5a: 0x6d752c20, 0x3be5b: 0x6d9eea20, + 0x3be5c: 0x6d9eec20, 0x3be5d: 0x6d9eee20, 0x3be5e: 0x6d9ef020, 0x3be5f: 0x6d9ef220, + 0x3be60: 0x6d9ef420, 0x3be61: 0x6d9ef620, 0x3be62: 0x6d9ef820, 0x3be63: 0x6d9efa20, + 0x3be64: 0x6d9efc20, 0x3be65: 0x6dc14e20, 0x3be66: 0x6dc15020, 0x3be67: 0x6dc15220, + 0x3be68: 0x6dc15420, 0x3be69: 0x6dc15620, 0x3be6a: 0x6dc15820, 0x3be6b: 0x6dc15a20, + 0x3be6c: 0x6dc15c20, 0x3be6d: 0x6dc15e20, 0x3be6e: 0x6dc16020, 0x3be6f: 0x6dc16220, + 0x3be70: 0x6dc16420, 0x3be71: 0x6dc16620, 0x3be72: 0x6dc16820, 0x3be73: 0x6dc16a20, + 0x3be74: 0x6ddf0620, 0x3be75: 0x6ddf0820, 0x3be76: 0x6ddf0a20, 0x3be77: 0x6ddf0c20, + 0x3be78: 0x6ddf0e20, 0x3be79: 0x6ddf1020, 0x3be7a: 0x6ddf1220, 0x3be7b: 0x6ddf1420, + 0x3be7c: 0x6ddf1620, 0x3be7d: 0x6ddf1820, 0x3be7e: 0x6ddf1a20, 0x3be7f: 0x6ddf1c20, + // Block 0xefa, offset 0x3be80 + 0x3be80: 0x6ddf1e20, 0x3be81: 0x6ddf2020, 0x3be82: 0x6ddf2220, 0x3be83: 0x6ddf2420, + 0x3be84: 0x6df75620, 0x3be85: 0x6df75820, 0x3be86: 0x6df75a20, 0x3be87: 0x6df75c20, + 0x3be88: 0x6df75e20, 0x3be89: 0x6df76020, 0x3be8a: 0x6df76220, 0x3be8b: 0x6df76420, + 0x3be8c: 0x6df76620, 0x3be8d: 0x6df76820, 0x3be8e: 0x6e0af420, 0x3be8f: 0x6e0af620, + 0x3be90: 0x6e0af820, 0x3be91: 0x6e0afa20, 0x3be92: 0x6e0afc20, 0x3be93: 0x6e0afe20, + 0x3be94: 0x6e0b0020, 0x3be95: 0x6e0b0220, 0x3be96: 0x6e0b0420, 0x3be97: 0x6e1ada20, + 0x3be98: 0x6e1adc20, 0x3be99: 0x6e1ade20, 0x3be9a: 0x6e1ae020, 0x3be9b: 0x6e1ae220, + 0x3be9c: 0x6e274620, 0x3be9d: 0x6e274820, 0x3be9e: 0x6e274a20, 0x3be9f: 0x6e274c20, + 0x3bea0: 0x6e274e20, 0x3bea1: 0x6e30b420, 0x3bea2: 0x6e30b620, 0x3bea3: 0x6e30b820, + 0x3bea4: 0x6e30ba20, 0x3bea5: 0x6e30bc20, 0x3bea6: 0x6e30be20, 0x3bea7: 0x6e30c020, + 0x3bea8: 0x6e30c220, 0x3bea9: 0x6e30c420, 0x3beaa: 0x6e379c20, 0x3beab: 0x6e379e20, + 0x3beac: 0x6e37a020, 0x3bead: 0x6e37a220, 0x3beae: 0x6e3c3a20, 0x3beaf: 0x6e3c3c20, + 0x3beb0: 0x6e3c3e20, 0x3beb1: 0x6e3c4020, 0x3beb2: 0x6e3c4220, 0x3beb3: 0x6e3c4420, + 0x3beb4: 0x6e3c4620, 0x3beb5: 0x6e422c20, 0x3beb6: 0x6e43e420, 0x3beb7: 0x6e43e620, + 0x3beb8: 0x6e44fc20, 0x3beb9: 0x6e460c20, 0x3beba: 0x6e46d820, 0x3bebb: 0x6e46fa20, + 0x3bebc: 0x6d186220, 0x3bebd: 0x6d186420, 0x3bebe: 0x6d186620, 0x3bebf: 0x6d186820, + // Block 0xefb, offset 0x3bec0 + 0x3bec0: 0x6d186a20, 0x3bec1: 0x6d475820, 0x3bec2: 0x6d475a20, 0x3bec3: 0x6d475c20, + 0x3bec4: 0x6d475e20, 0x3bec5: 0x6d753c20, 0x3bec6: 0x6d753e20, 0x3bec7: 0x6d754020, + 0x3bec8: 0x6d754220, 0x3bec9: 0x6d754420, 0x3beca: 0x6d754620, 0x3becb: 0x6d754820, + 0x3becc: 0x6d754a20, 0x3becd: 0x6d754c20, 0x3bece: 0x6d754e20, 0x3becf: 0x6d755020, + 0x3bed0: 0x6d755220, 0x3bed1: 0x6d755420, 0x3bed2: 0x6d755620, 0x3bed3: 0x6d755820, + 0x3bed4: 0x6d9f0c20, 0x3bed5: 0x6d9f0e20, 0x3bed6: 0x6d9f1020, 0x3bed7: 0x6d9f1220, + 0x3bed8: 0x6d9f1420, 0x3bed9: 0x6d9f1620, 0x3beda: 0x6d9f1820, 0x3bedb: 0x6cbd9220, + 0x3bedc: 0x6d9f1a20, 0x3bedd: 0x6d9f1c20, 0x3bede: 0x6d9f1e20, 0x3bedf: 0x6d9f2020, + 0x3bee0: 0x6d9f2220, 0x3bee1: 0x6d9f2420, 0x3bee2: 0x6dc17420, 0x3bee3: 0x6dc17620, + 0x3bee4: 0x6dc17820, 0x3bee5: 0x6dc17a20, 0x3bee6: 0x6dc17c20, 0x3bee7: 0x6dc17e20, + 0x3bee8: 0x6dc18020, 0x3bee9: 0x6dc18220, 0x3beea: 0x6dc18420, 0x3beeb: 0x6dc18620, + 0x3beec: 0x6dc18820, 0x3beed: 0x6ddf3220, 0x3beee: 0x6ddf3420, 0x3beef: 0x6ddf3620, + 0x3bef0: 0x6ddf3820, 0x3bef1: 0x6ddf3a20, 0x3bef2: 0x6ddf3c20, 0x3bef3: 0x6ddf3e20, + 0x3bef4: 0x6ddf4020, 0x3bef5: 0x6ddf4220, 0x3bef6: 0x6ddf4420, 0x3bef7: 0x6ddf4620, + 0x3bef8: 0x6ddf4820, 0x3bef9: 0x6ddf4a20, 0x3befa: 0x6ddf4c20, 0x3befb: 0x6ddf4e20, + 0x3befc: 0x6df77820, 0x3befd: 0x6df77a20, 0x3befe: 0x6df77c20, 0x3beff: 0x6df77e20, + // Block 0xefc, offset 0x3bf00 + 0x3bf00: 0x6df78020, 0x3bf01: 0x6df78220, 0x3bf02: 0x6df78420, 0x3bf03: 0x6df78620, + 0x3bf04: 0x6df78820, 0x3bf05: 0x6df78a20, 0x3bf06: 0x6df78c20, 0x3bf07: 0x6df78e20, + 0x3bf08: 0x6df79020, 0x3bf09: 0x6df79220, 0x3bf0a: 0x6df79420, 0x3bf0b: 0x6df79620, + 0x3bf0c: 0x6e0b0820, 0x3bf0d: 0x6e0b0a20, 0x3bf0e: 0x6e0b0c20, 0x3bf0f: 0x6e0b0e20, + 0x3bf10: 0x6e0b1020, 0x3bf11: 0x6e0b1220, 0x3bf12: 0x6e0b1420, 0x3bf13: 0x6e0b1620, + 0x3bf14: 0x6e0b1820, 0x3bf15: 0x6e0b1a20, 0x3bf16: 0x6e0b1c20, 0x3bf17: 0x6e0b1e20, + 0x3bf18: 0x6e0b2020, 0x3bf19: 0x6e0b2220, 0x3bf1a: 0x6e0b2420, 0x3bf1b: 0x6e1aea20, + 0x3bf1c: 0x6e1aec20, 0x3bf1d: 0x6e1aee20, 0x3bf1e: 0x6e1af020, 0x3bf1f: 0x6e1af220, + 0x3bf20: 0x6e1af420, 0x3bf21: 0x6e1af620, 0x3bf22: 0x6e1af820, 0x3bf23: 0x6e275820, + 0x3bf24: 0x6e275a20, 0x3bf25: 0x6e275c20, 0x3bf26: 0x6e275e20, 0x3bf27: 0x6e276020, + 0x3bf28: 0x6e276220, 0x3bf29: 0x6e276420, 0x3bf2a: 0x6e276620, 0x3bf2b: 0x6e276820, + 0x3bf2c: 0x6e276a20, 0x3bf2d: 0x6e276c20, 0x3bf2e: 0x6e276e20, 0x3bf2f: 0x6e277020, + 0x3bf30: 0x6e277220, 0x3bf31: 0x6e277420, 0x3bf32: 0x6e30ca20, 0x3bf33: 0x6e30cc20, + 0x3bf34: 0x6e30ce20, 0x3bf35: 0x6e30d020, 0x3bf36: 0x6e30d220, 0x3bf37: 0x6e30d420, + 0x3bf38: 0x6e37a620, 0x3bf39: 0x6e37a820, 0x3bf3a: 0x6e37aa20, 0x3bf3b: 0x6e37ac20, + 0x3bf3c: 0x6e37ae20, 0x3bf3d: 0x6e37b020, 0x3bf3e: 0x6e37b220, 0x3bf3f: 0x6e3fbc20, + // Block 0xefd, offset 0x3bf40 + 0x3bf40: 0x6e3fbe20, 0x3bf41: 0x6e422e20, 0x3bf42: 0x6e423020, 0x3bf43: 0x6e43e820, + 0x3bf44: 0x6e43ea20, 0x3bf45: 0x6e43ec20, 0x3bf46: 0x6e45a020, 0x3bf47: 0x6e460e20, + 0x3bf48: 0x6c8aec20, 0x3bf49: 0x6cb78e20, 0x3bf4a: 0x6cb79020, 0x3bf4b: 0x6ce8b020, + 0x3bf4c: 0x6d476020, 0x3bf4d: 0x6c63ca20, 0x3bf4e: 0x6d755c20, 0x3bf4f: 0x6d755e20, + 0x3bf50: 0x6ddf5020, 0x3bf51: 0x6d186c20, 0x3bf52: 0x6d476820, 0x3bf53: 0x6d476a20, + 0x3bf54: 0x6d476c20, 0x3bf55: 0x6d756620, 0x3bf56: 0x6d756820, 0x3bf57: 0x6d756a20, + 0x3bf58: 0x6d756c20, 0x3bf59: 0x6d756e20, 0x3bf5a: 0x6d757020, 0x3bf5b: 0x6d9f2820, + 0x3bf5c: 0x6d9f2a20, 0x3bf5d: 0x6d9f2c20, 0x3bf5e: 0x6d9f2e20, 0x3bf5f: 0x6d9f3020, + 0x3bf60: 0x6dc18c20, 0x3bf61: 0x6dc18e20, 0x3bf62: 0x6dc19020, 0x3bf63: 0x6ddf5420, + 0x3bf64: 0x6ddf5620, 0x3bf65: 0x6df79c20, 0x3bf66: 0x6df79e20, 0x3bf67: 0x6df7a020, + 0x3bf68: 0x6e0b2c20, 0x3bf69: 0x6e0b2e20, 0x3bf6a: 0x6e1afa20, 0x3bf6b: 0x6e1afc20, + 0x3bf6c: 0x6e277620, 0x3bf6d: 0x6e30d620, 0x3bf6e: 0x6e30d820, 0x3bf6f: 0x6e30da20, + 0x3bf70: 0x6e37b420, 0x3bf71: 0x6e3c4a20, 0x3bf72: 0x6e461020, 0x3bf73: 0x6d186e20, + 0x3bf74: 0x6d476e20, 0x3bf75: 0x6d757220, 0x3bf76: 0x6d757420, 0x3bf77: 0x6d757620, + 0x3bf78: 0x6d757820, 0x3bf79: 0x6d757a20, 0x3bf7a: 0x6d9f3820, 0x3bf7b: 0x6dc19a20, + 0x3bf7c: 0x6dc19c20, 0x3bf7d: 0x6dc19e20, 0x3bf7e: 0x6dc1a020, 0x3bf7f: 0x6dc1a220, + // Block 0xefe, offset 0x3bf80 + 0x3bf80: 0x6dc1a420, 0x3bf81: 0x6dc1a620, 0x3bf82: 0x6ddf5e20, 0x3bf83: 0x6ddf6020, + 0x3bf84: 0x6ddf6220, 0x3bf85: 0x6ddf6420, 0x3bf86: 0x6df7a620, 0x3bf87: 0x6df7a820, + 0x3bf88: 0x6df7aa20, 0x3bf89: 0x6df7ac20, 0x3bf8a: 0x6df7ae20, 0x3bf8b: 0x6df7b020, + 0x3bf8c: 0x6df7b220, 0x3bf8d: 0x6df7b420, 0x3bf8e: 0x6df7b620, 0x3bf8f: 0x6df7b820, + 0x3bf90: 0x6df7ba20, 0x3bf91: 0x6df7bc20, 0x3bf92: 0x6df7be20, 0x3bf93: 0x6e0b3220, + 0x3bf94: 0x6e0b3420, 0x3bf95: 0x6e0b3620, 0x3bf96: 0x6e0b3820, 0x3bf97: 0x6e0b3a20, + 0x3bf98: 0x6e0b3c20, 0x3bf99: 0x6e1b0020, 0x3bf9a: 0x6e1b0220, 0x3bf9b: 0x6e1b0420, + 0x3bf9c: 0x6e1b0620, 0x3bf9d: 0x6e1b0820, 0x3bf9e: 0x6e1b0a20, 0x3bf9f: 0x6e277820, + 0x3bfa0: 0x6e277a20, 0x3bfa1: 0x6e277c20, 0x3bfa2: 0x6e277e20, 0x3bfa3: 0x6e278020, + 0x3bfa4: 0x6e30e020, 0x3bfa5: 0x6e30e220, 0x3bfa6: 0x6e30e420, 0x3bfa7: 0x6e37b820, + 0x3bfa8: 0x6e37ba20, 0x3bfa9: 0x6e37bc20, 0x3bfaa: 0x6e3fc020, 0x3bfab: 0x6e423220, + 0x3bfac: 0x6e461220, 0x3bfad: 0x6d477020, 0x3bfae: 0x6d758220, 0x3bfaf: 0x6d758420, + 0x3bfb0: 0x6d9f3e20, 0x3bfb1: 0x6d9f4020, 0x3bfb2: 0x6d9f4220, 0x3bfb3: 0x6d9f4420, + 0x3bfb4: 0x6d9f4620, 0x3bfb5: 0x6d9f4820, 0x3bfb6: 0x6dc1aa20, 0x3bfb7: 0x6dc1ac20, + 0x3bfb8: 0x6dc1ae20, 0x3bfb9: 0x6dc1b020, 0x3bfba: 0x6dc1b220, 0x3bfbb: 0x6dc1b420, + 0x3bfbc: 0x6dc1b620, 0x3bfbd: 0x6dc1b820, 0x3bfbe: 0x6dc1ba20, 0x3bfbf: 0x6ddf6620, + // Block 0xeff, offset 0x3bfc0 + 0x3bfc0: 0x6ddf6820, 0x3bfc1: 0x6df7c020, 0x3bfc2: 0x6e0b4420, 0x3bfc3: 0x6e0b4620, + 0x3bfc4: 0x6e0b4820, 0x3bfc5: 0x6e0b4a20, 0x3bfc6: 0x6e0b4c20, 0x3bfc7: 0x6e1b1220, + 0x3bfc8: 0x6e1b1420, 0x3bfc9: 0x6e1b1620, 0x3bfca: 0x6e1b1820, 0x3bfcb: 0x6e278620, + 0x3bfcc: 0x6e30e820, 0x3bfcd: 0x6e30ea20, 0x3bfce: 0x6e30ec20, 0x3bfcf: 0x6e30ee20, + 0x3bfd0: 0x6e37be20, 0x3bfd1: 0x6e3fc220, 0x3bfd2: 0x6e3c5020, 0x3bfd3: 0x6e3fc420, + 0x3bfd4: 0x6e43ee20, 0x3bfd5: 0x6e43f020, 0x3bfd6: 0x6e43f220, 0x3bfd7: 0x6ce8bc20, + 0x3bfd8: 0x6d187220, 0x3bfd9: 0x6d477420, 0x3bfda: 0x6d477620, 0x3bfdb: 0x6d477820, + 0x3bfdc: 0x6d758c20, 0x3bfdd: 0x6d758e20, 0x3bfde: 0x6d759020, 0x3bfdf: 0x6d759220, + 0x3bfe0: 0x6d759420, 0x3bfe1: 0x6d759620, 0x3bfe2: 0x6d759820, 0x3bfe3: 0x6d759a20, + 0x3bfe4: 0x6d9f5620, 0x3bfe5: 0x6d9f5820, 0x3bfe6: 0x6d9f5a20, 0x3bfe7: 0x6d9f5c20, + 0x3bfe8: 0x6d9f5e20, 0x3bfe9: 0x6d9f6020, 0x3bfea: 0x6d9f6220, 0x3bfeb: 0x6d9f6420, + 0x3bfec: 0x6d9f6620, 0x3bfed: 0x6d9f6820, 0x3bfee: 0x6d9f6a20, 0x3bfef: 0x6d9f6c20, + 0x3bff0: 0x6d9f6e20, 0x3bff1: 0x6d9f7020, 0x3bff2: 0x6dc1cc20, 0x3bff3: 0x6dc1ce20, + 0x3bff4: 0x6dc1d020, 0x3bff5: 0x6dc1d220, 0x3bff6: 0x6dc1d420, 0x3bff7: 0x6dc1d620, + 0x3bff8: 0x6dc1d820, 0x3bff9: 0x6dc1da20, 0x3bffa: 0x6dc1dc20, 0x3bffb: 0x6dc1de20, + 0x3bffc: 0x6dc1e020, 0x3bffd: 0x6dc1e220, 0x3bffe: 0x6dc1e420, 0x3bfff: 0x6ddf7820, + // Block 0xf00, offset 0x3c000 + 0x3c000: 0x6ddf7a20, 0x3c001: 0x6ddf7c20, 0x3c002: 0x6ddf7e20, 0x3c003: 0x6ddf8020, + 0x3c004: 0x6ddf8220, 0x3c005: 0x6ddf8420, 0x3c006: 0x6ddf8620, 0x3c007: 0x6ddf8820, + 0x3c008: 0x6df7cc20, 0x3c009: 0x6df7ce20, 0x3c00a: 0x6df7d020, 0x3c00b: 0x6df7d220, + 0x3c00c: 0x6df7d420, 0x3c00d: 0x6df7d620, 0x3c00e: 0x6df7d820, 0x3c00f: 0x6df7da20, + 0x3c010: 0x6df7dc20, 0x3c011: 0x6df7de20, 0x3c012: 0x6e0b6220, 0x3c013: 0x6e0b6420, + 0x3c014: 0x6e0b6620, 0x3c015: 0x6e0b6820, 0x3c016: 0x6e0b6a20, 0x3c017: 0x6e0b6c20, + 0x3c018: 0x6e0b6e20, 0x3c019: 0x6e0b7020, 0x3c01a: 0x6e0b7220, 0x3c01b: 0x6e0b7420, + 0x3c01c: 0x6e0b7620, 0x3c01d: 0x6e0b7820, 0x3c01e: 0x6e0b7a20, 0x3c01f: 0x6e0b7c20, + 0x3c020: 0x6e0b7e20, 0x3c021: 0x6e0b8020, 0x3c022: 0x6e0b8220, 0x3c023: 0x6e1b2a20, + 0x3c024: 0x6e0b8420, 0x3c025: 0x6e1b2c20, 0x3c026: 0x6e1b2e20, 0x3c027: 0x6e1b3020, + 0x3c028: 0x6e1b3220, 0x3c029: 0x6e1b3420, 0x3c02a: 0x6e1b3620, 0x3c02b: 0x6e1b3820, + 0x3c02c: 0x6e1b3a20, 0x3c02d: 0x6e1b3c20, 0x3c02e: 0x6e1b3e20, 0x3c02f: 0x6e1b4020, + 0x3c030: 0x6e1b4220, 0x3c031: 0x6e1b4420, 0x3c032: 0x6e1b4620, 0x3c033: 0x6e1b4820, + 0x3c034: 0x6e1b4a20, 0x3c035: 0x6e1b4c20, 0x3c036: 0x6e1b4e20, 0x3c037: 0x6e1b5020, + 0x3c038: 0x6e1b5220, 0x3c039: 0x6e1b5420, 0x3c03a: 0x6e1b5620, 0x3c03b: 0x6e1b5820, + 0x3c03c: 0x6e1b5a20, 0x3c03d: 0x6e1b5c20, 0x3c03e: 0x6e278c20, 0x3c03f: 0x6e278e20, + // Block 0xf01, offset 0x3c040 + 0x3c040: 0x6e279020, 0x3c041: 0x6e279220, 0x3c042: 0x6e279420, 0x3c043: 0x6e279620, + 0x3c044: 0x6e279820, 0x3c045: 0x6e279a20, 0x3c046: 0x6e279c20, 0x3c047: 0x6e279e20, + 0x3c048: 0x6e27a020, 0x3c049: 0x6e27a220, 0x3c04a: 0x6e27a420, 0x3c04b: 0x6e27a620, + 0x3c04c: 0x6e27a820, 0x3c04d: 0x6e27aa20, 0x3c04e: 0x6e27ac20, 0x3c04f: 0x6e30f820, + 0x3c050: 0x6e30fa20, 0x3c051: 0x6e30fc20, 0x3c052: 0x6e30fe20, 0x3c053: 0x6e310020, + 0x3c054: 0x6e310220, 0x3c055: 0x6e310420, 0x3c056: 0x6e310620, 0x3c057: 0x6e310820, + 0x3c058: 0x6e37c220, 0x3c059: 0x6e37c420, 0x3c05a: 0x6e37c620, 0x3c05b: 0x6e37c820, + 0x3c05c: 0x6e37ca20, 0x3c05d: 0x6e37cc20, 0x3c05e: 0x6e37ce20, 0x3c05f: 0x6e37d020, + 0x3c060: 0x6e37d220, 0x3c061: 0x6e37d420, 0x3c062: 0x6e37d620, 0x3c063: 0x6e37d820, + 0x3c064: 0x6e37da20, 0x3c065: 0x6e37dc20, 0x3c066: 0x6e37de20, 0x3c067: 0x6e37e020, + 0x3c068: 0x6e37e220, 0x3c069: 0x6e3c5a20, 0x3c06a: 0x6e3c5c20, 0x3c06b: 0x6e3c5e20, + 0x3c06c: 0x6e3c6020, 0x3c06d: 0x6e3c6220, 0x3c06e: 0x6e3c6420, 0x3c06f: 0x6e3c6620, + 0x3c070: 0x6e3c6820, 0x3c071: 0x6e3c6a20, 0x3c072: 0x6e3c6c20, 0x3c073: 0x6e3c6e20, + 0x3c074: 0x6e3fca20, 0x3c075: 0x6e3fcc20, 0x3c076: 0x6e3fce20, 0x3c077: 0x6e3fd020, + 0x3c078: 0x6e3fd220, 0x3c079: 0x6e423620, 0x3c07a: 0x6e423820, 0x3c07b: 0x6e423a20, + 0x3c07c: 0x6e423c20, 0x3c07d: 0x6e423e20, 0x3c07e: 0x6e424020, 0x3c07f: 0x6e43f620, + // Block 0xf02, offset 0x3c080 + 0x3c080: 0x6e43f820, 0x3c081: 0x6e43fa20, 0x3c082: 0x6e43fc20, 0x3c083: 0x6e450020, + 0x3c084: 0x6e450220, 0x3c085: 0x6e45a220, 0x3c086: 0x6e45a420, 0x3c087: 0x6e466a20, + 0x3c088: 0x6e466c20, 0x3c089: 0x6e471c20, 0x3c08a: 0x6e472a20, 0x3c08b: 0x6ddf8a20, + 0x3c08c: 0x6e0b8a20, 0x3c08d: 0x6e1b6020, 0x3c08e: 0x6e1b6220, 0x3c08f: 0x6e1b6420, + 0x3c090: 0x6e310a20, 0x3c091: 0x6d477a20, 0x3c092: 0x6d759c20, 0x3c093: 0x6d759e20, + 0x3c094: 0x6dc1ea20, 0x3c095: 0x6dc1ec20, 0x3c096: 0x6dc1ee20, 0x3c097: 0x6dc1f020, + 0x3c098: 0x6dc1f220, 0x3c099: 0x6dc1f420, 0x3c09a: 0x6ddf9420, 0x3c09b: 0x6ddf9620, + 0x3c09c: 0x6ddf9820, 0x3c09d: 0x6ddf9a20, 0x3c09e: 0x6ddf9c20, 0x3c09f: 0x6ddf9e20, + 0x3c0a0: 0x6ddfa020, 0x3c0a1: 0x6df7e820, 0x3c0a2: 0x6df7ea20, 0x3c0a3: 0x6df7ec20, + 0x3c0a4: 0x6df7ee20, 0x3c0a5: 0x6df7f020, 0x3c0a6: 0x6df7f220, 0x3c0a7: 0x6e0b8c20, + 0x3c0a8: 0x6e0b8e20, 0x3c0a9: 0x6e0b9020, 0x3c0aa: 0x6e0b9220, 0x3c0ab: 0x6e0b9420, + 0x3c0ac: 0x6e1b6820, 0x3c0ad: 0x6e1b6a20, 0x3c0ae: 0x6e27b020, 0x3c0af: 0x6e27b220, + 0x3c0b0: 0x6e27b420, 0x3c0b1: 0x6e27b620, 0x3c0b2: 0x6e27b820, 0x3c0b3: 0x6e27ba20, + 0x3c0b4: 0x6e27bc20, 0x3c0b5: 0x6e27be20, 0x3c0b6: 0x6e27c020, 0x3c0b7: 0x6e311020, + 0x3c0b8: 0x6e311220, 0x3c0b9: 0x6e37e620, 0x3c0ba: 0x6e3c7420, 0x3c0bb: 0x6e3cd420, + 0x3c0bc: 0x6e3fd620, 0x3c0bd: 0x6e3c7620, 0x3c0be: 0x6e3fd820, 0x3c0bf: 0x6e424220, + // Block 0xf03, offset 0x3c0c0 + 0x3c0c0: 0x6e424420, 0x3c0c1: 0x6e43fe20, 0x3c0c2: 0x6ce8c220, 0x3c0c3: 0x6d477c20, + 0x3c0c4: 0x6d75a620, 0x3c0c5: 0x6d75a820, 0x3c0c6: 0x6d75aa20, 0x3c0c7: 0x6d9f7a20, + 0x3c0c8: 0x6ddfa220, 0x3c0c9: 0x6e27c220, 0x3c0ca: 0x6e424620, 0x3c0cb: 0x6d9f7c20, + 0x3c0cc: 0x6d9f7e20, 0x3c0cd: 0x6dc1fa20, 0x3c0ce: 0x6dc1fc20, 0x3c0cf: 0x6dc1fe20, + 0x3c0d0: 0x6ddfae20, 0x3c0d1: 0x6ddfb020, 0x3c0d2: 0x6ddfb220, 0x3c0d3: 0x6ddfb420, + 0x3c0d4: 0x6df7fa20, 0x3c0d5: 0x6df7fc20, 0x3c0d6: 0x6df7fe20, 0x3c0d7: 0x6df80020, + 0x3c0d8: 0x6df80220, 0x3c0d9: 0x6df80420, 0x3c0da: 0x6df80620, 0x3c0db: 0x6df80820, + 0x3c0dc: 0x6e0b9820, 0x3c0dd: 0x6e0b9a20, 0x3c0de: 0x6e0b9c20, 0x3c0df: 0x6e0b9e20, + 0x3c0e0: 0x6e0ba020, 0x3c0e1: 0x6e0ba220, 0x3c0e2: 0x6e1b7620, 0x3c0e3: 0x6e1b7820, + 0x3c0e4: 0x6e1b7a20, 0x3c0e5: 0x6e1b7c20, 0x3c0e6: 0x6e27c620, 0x3c0e7: 0x6e27c820, + 0x3c0e8: 0x6e27ca20, 0x3c0e9: 0x6e27cc20, 0x3c0ea: 0x6e27ce20, 0x3c0eb: 0x6e27d020, + 0x3c0ec: 0x6e27d220, 0x3c0ed: 0x6e27d420, 0x3c0ee: 0x6e311620, 0x3c0ef: 0x6e37ee20, + 0x3c0f0: 0x6e37f020, 0x3c0f1: 0x6e37f220, 0x3c0f2: 0x6e37f420, 0x3c0f3: 0x6e3c8220, + 0x3c0f4: 0x6e3c8420, 0x3c0f5: 0x6e3fdc20, 0x3c0f6: 0x6e424820, 0x3c0f7: 0x6e450620, + 0x3c0f8: 0x6d75ae20, 0x3c0f9: 0x6d75b020, 0x3c0fa: 0x6d9f8220, 0x3c0fb: 0x6d9f8420, + 0x3c0fc: 0x6d9f8620, 0x3c0fd: 0x6dc20820, 0x3c0fe: 0x6dc20a20, 0x3c0ff: 0x6dc20c20, + // Block 0xf04, offset 0x3c100 + 0x3c100: 0x6dc20e20, 0x3c101: 0x6dc21020, 0x3c102: 0x6dc21220, 0x3c103: 0x6dc21420, + 0x3c104: 0x6dc21620, 0x3c105: 0x6dc21820, 0x3c106: 0x6dc21a20, 0x3c107: 0x6dc21c20, + 0x3c108: 0x6dc21e20, 0x3c109: 0x6ddfc820, 0x3c10a: 0x6ddfca20, 0x3c10b: 0x6ddfcc20, + 0x3c10c: 0x6ddfce20, 0x3c10d: 0x6ddfd020, 0x3c10e: 0x6ddfd220, 0x3c10f: 0x6ddfd420, + 0x3c110: 0x6ddfd620, 0x3c111: 0x6ddfd820, 0x3c112: 0x6df80e20, 0x3c113: 0x6df81020, + 0x3c114: 0x6df81220, 0x3c115: 0x6df81420, 0x3c116: 0x6df81620, 0x3c117: 0x6df81820, + 0x3c118: 0x6df81a20, 0x3c119: 0x6df81c20, 0x3c11a: 0x6e0baa20, 0x3c11b: 0x6e0bac20, + 0x3c11c: 0x6e0bae20, 0x3c11d: 0x6e0bb020, 0x3c11e: 0x6e0bb220, 0x3c11f: 0x6df81e20, + 0x3c120: 0x6e0bb420, 0x3c121: 0x6e0bb620, 0x3c122: 0x6e0bb820, 0x3c123: 0x6e0bba20, + 0x3c124: 0x6e0bbc20, 0x3c125: 0x6e0bbe20, 0x3c126: 0x6e0bc020, 0x3c127: 0x6e0bc220, + 0x3c128: 0x6e1b8220, 0x3c129: 0x6e1b8420, 0x3c12a: 0x6e1b8620, 0x3c12b: 0x6e27e020, + 0x3c12c: 0x6e27e220, 0x3c12d: 0x6e27e420, 0x3c12e: 0x6e27e620, 0x3c12f: 0x6e27e820, + 0x3c130: 0x6e27ea20, 0x3c131: 0x6e27ec20, 0x3c132: 0x6e27ee20, 0x3c133: 0x6e27f020, + 0x3c134: 0x6e27f220, 0x3c135: 0x6e312420, 0x3c136: 0x6e312620, 0x3c137: 0x6e312820, + 0x3c138: 0x6e312a20, 0x3c139: 0x6e312c20, 0x3c13a: 0x6e312e20, 0x3c13b: 0x6e313020, + 0x3c13c: 0x6e313220, 0x3c13d: 0x6e313420, 0x3c13e: 0x6e313620, 0x3c13f: 0x6e380420, + // Block 0xf05, offset 0x3c140 + 0x3c140: 0x6e37f620, 0x3c141: 0x6e37f820, 0x3c142: 0x6e37fa20, 0x3c143: 0x6e37fc20, + 0x3c144: 0x6e37fe20, 0x3c145: 0x6e3c8620, 0x3c146: 0x6e3c8820, 0x3c147: 0x6e3c8a20, + 0x3c148: 0x6e3c8c20, 0x3c149: 0x6e3c8e20, 0x3c14a: 0x6e3fde20, 0x3c14b: 0x6e424a20, + 0x3c14c: 0x6e450820, 0x3c14d: 0x6e450a20, 0x3c14e: 0x6e45a620, 0x3c14f: 0x6e461420, + 0x3c150: 0x6d75b220, 0x3c151: 0x6d9f8c20, 0x3c152: 0x6d9f8e20, 0x3c153: 0x6dc22420, + 0x3c154: 0x6dc22620, 0x3c155: 0x6ddfe020, 0x3c156: 0x6ddfe220, 0x3c157: 0x6ddfe420, + 0x3c158: 0x6ddfe620, 0x3c159: 0x6ddfe820, 0x3c15a: 0x6df82620, 0x3c15b: 0x6df82820, + 0x3c15c: 0x6df82a20, 0x3c15d: 0x6df82c20, 0x3c15e: 0x6df82e20, 0x3c15f: 0x6df83020, + 0x3c160: 0x6df83220, 0x3c161: 0x6e0bc820, 0x3c162: 0x6e0bca20, 0x3c163: 0x6e0bcc20, + 0x3c164: 0x6e0bce20, 0x3c165: 0x6e1b8a20, 0x3c166: 0x6e1b8c20, 0x3c167: 0x6e1b8e20, + 0x3c168: 0x6e1b9020, 0x3c169: 0x6e1b9220, 0x3c16a: 0x6e1b9420, 0x3c16b: 0x6e1b9620, + 0x3c16c: 0x6e1b9820, 0x3c16d: 0x6e27f620, 0x3c16e: 0x6e27f820, 0x3c16f: 0x6e313c20, + 0x3c170: 0x6e313e20, 0x3c171: 0x6e314020, 0x3c172: 0x6e314220, 0x3c173: 0x6e380620, + 0x3c174: 0x6e380820, 0x3c175: 0x6e380a20, 0x3c176: 0x6e3c9420, 0x3c177: 0x6e3c9620, + 0x3c178: 0x6e3c9820, 0x3c179: 0x6e3c9a20, 0x3c17a: 0x6e3c9c20, 0x3c17b: 0x6e3fe020, + 0x3c17c: 0x6e3fe220, 0x3c17d: 0x6e3fe420, 0x3c17e: 0x6e425020, 0x3c17f: 0x6e425220, + // Block 0xf06, offset 0x3c180 + 0x3c180: 0x6e425420, 0x3c181: 0x6e45aa20, 0x3c182: 0x6e461620, 0x3c183: 0x6e466e20, + 0x3c184: 0x6d478420, 0x3c185: 0x6d9f9020, 0x3c186: 0x6dc22e20, 0x3c187: 0x6ddff020, + 0x3c188: 0x6ddff220, 0x3c189: 0x6df83620, 0x3c18a: 0x6df83820, 0x3c18b: 0x6e0bd020, + 0x3c18c: 0x6e0bd220, 0x3c18d: 0x6e27fa20, 0x3c18e: 0x6e1b9c20, 0x3c18f: 0x6e3c9e20, + 0x3c190: 0x6e3ca020, 0x3c191: 0x6e3ca220, 0x3c192: 0x6e440220, 0x3c193: 0x6e45ac20, + 0x3c194: 0x6dc23220, 0x3c195: 0x6dc23420, 0x3c196: 0x6dc23620, 0x3c197: 0x6dc23820, + 0x3c198: 0x6ddff820, 0x3c199: 0x6ddffa20, 0x3c19a: 0x6ddffc20, 0x3c19b: 0x6df84420, + 0x3c19c: 0x6df84620, 0x3c19d: 0x6df84820, 0x3c19e: 0x6df84a20, 0x3c19f: 0x6df84c20, + 0x3c1a0: 0x6df84e20, 0x3c1a1: 0x6df85020, 0x3c1a2: 0x6df85220, 0x3c1a3: 0x6df85420, + 0x3c1a4: 0x6df85620, 0x3c1a5: 0x6e0bee20, 0x3c1a6: 0x6e0bf020, 0x3c1a7: 0x6e0bf220, + 0x3c1a8: 0x6e0bf420, 0x3c1a9: 0x6e0bf620, 0x3c1aa: 0x6e0bf820, 0x3c1ab: 0x6e0bfa20, + 0x3c1ac: 0x6e0bfc20, 0x3c1ad: 0x6e0bfe20, 0x3c1ae: 0x6e0c0020, 0x3c1af: 0x6e0c0220, + 0x3c1b0: 0x6e0c0420, 0x3c1b1: 0x6e0c0620, 0x3c1b2: 0x6e0c0820, 0x3c1b3: 0x6e0c0a20, + 0x3c1b4: 0x6e0c0c20, 0x3c1b5: 0x6e0c0e20, 0x3c1b6: 0x6e0c1020, 0x3c1b7: 0x6e1bb020, + 0x3c1b8: 0x6e1bb220, 0x3c1b9: 0x6e1bb420, 0x3c1ba: 0x6e1bb620, 0x3c1bb: 0x6e1bb820, + 0x3c1bc: 0x6e1bba20, 0x3c1bd: 0x6e1bbc20, 0x3c1be: 0x6e1bbe20, 0x3c1bf: 0x6e1bc020, + // Block 0xf07, offset 0x3c1c0 + 0x3c1c0: 0x6e1bc220, 0x3c1c1: 0x6e1bc420, 0x3c1c2: 0x6e1bc620, 0x3c1c3: 0x6e1bc820, + 0x3c1c4: 0x6e1bca20, 0x3c1c5: 0x6e1bcc20, 0x3c1c6: 0x6e1bce20, 0x3c1c7: 0x6e1bd020, + 0x3c1c8: 0x6e1bd220, 0x3c1c9: 0x6e1bd420, 0x3c1ca: 0x6e1bd620, 0x3c1cb: 0x6e1bd820, + 0x3c1cc: 0x6e1bda20, 0x3c1cd: 0x6e1bdc20, 0x3c1ce: 0x6e280620, 0x3c1cf: 0x6e280820, + 0x3c1d0: 0x6e280a20, 0x3c1d1: 0x6e280c20, 0x3c1d2: 0x6e280e20, 0x3c1d3: 0x6e281020, + 0x3c1d4: 0x6e281220, 0x3c1d5: 0x6e281420, 0x3c1d6: 0x6e281620, 0x3c1d7: 0x6e281820, + 0x3c1d8: 0x6e281a20, 0x3c1d9: 0x6e281c20, 0x3c1da: 0x6e281e20, 0x3c1db: 0x6e282020, + 0x3c1dc: 0x6e282220, 0x3c1dd: 0x6e282420, 0x3c1de: 0x6e282620, 0x3c1df: 0x6e282820, + 0x3c1e0: 0x6e282a20, 0x3c1e1: 0x6e282c20, 0x3c1e2: 0x6e282e20, 0x3c1e3: 0x6e283020, + 0x3c1e4: 0x6e283220, 0x3c1e5: 0x6e315420, 0x3c1e6: 0x6e315620, 0x3c1e7: 0x6e315820, + 0x3c1e8: 0x6e315a20, 0x3c1e9: 0x6e315c20, 0x3c1ea: 0x6e315e20, 0x3c1eb: 0x6e316020, + 0x3c1ec: 0x6e316220, 0x3c1ed: 0x6e316420, 0x3c1ee: 0x6e316620, 0x3c1ef: 0x6e316820, + 0x3c1f0: 0x6e316a20, 0x3c1f1: 0x6e316c20, 0x3c1f2: 0x6e316e20, 0x3c1f3: 0x6e317020, + 0x3c1f4: 0x6e317220, 0x3c1f5: 0x6e317420, 0x3c1f6: 0x6e317620, 0x3c1f7: 0x6e317820, + 0x3c1f8: 0x6e317a20, 0x3c1f9: 0x6e381e20, 0x3c1fa: 0x6e382020, 0x3c1fb: 0x6e382220, + 0x3c1fc: 0x6e382420, 0x3c1fd: 0x6e382620, 0x3c1fe: 0x6e382820, 0x3c1ff: 0x6e382a20, + // Block 0xf08, offset 0x3c200 + 0x3c200: 0x6e382c20, 0x3c201: 0x6e382e20, 0x3c202: 0x6e383020, 0x3c203: 0x6e383220, + 0x3c204: 0x6e383420, 0x3c205: 0x6e383620, 0x3c206: 0x6e383820, 0x3c207: 0x6e383a20, + 0x3c208: 0x6e383c20, 0x3c209: 0x6e3cb020, 0x3c20a: 0x6e3cb220, 0x3c20b: 0x6e3cb420, + 0x3c20c: 0x6e3cb620, 0x3c20d: 0x6e3cb820, 0x3c20e: 0x6e3cba20, 0x3c20f: 0x6e3cbc20, + 0x3c210: 0x6e3cbe20, 0x3c211: 0x6e3cc020, 0x3c212: 0x6e3cc220, 0x3c213: 0x6e3cc420, + 0x3c214: 0x6e3cc620, 0x3c215: 0x6e3cc820, 0x3c216: 0x6e3cca20, 0x3c217: 0x6e3ccc20, + 0x3c218: 0x6e3cce20, 0x3c219: 0x6e3cd020, 0x3c21a: 0x6e3fea20, 0x3c21b: 0x6e3fec20, + 0x3c21c: 0x6e3fee20, 0x3c21d: 0x6e3ff020, 0x3c21e: 0x6e3ff220, 0x3c21f: 0x6e3ff420, + 0x3c220: 0x6e3ff620, 0x3c221: 0x6e3ff820, 0x3c222: 0x6e3ffa20, 0x3c223: 0x6e425820, + 0x3c224: 0x6e425a20, 0x3c225: 0x6e425c20, 0x3c226: 0x6e425e20, 0x3c227: 0x6e426020, + 0x3c228: 0x6e426220, 0x3c229: 0x6e426420, 0x3c22a: 0x6e426620, 0x3c22b: 0x6e426820, + 0x3c22c: 0x6e426a20, 0x3c22d: 0x6e426c20, 0x3c22e: 0x6e426e20, 0x3c22f: 0x6e427020, + 0x3c230: 0x6e440a20, 0x3c231: 0x6e440c20, 0x3c232: 0x6e440e20, 0x3c233: 0x6e441020, + 0x3c234: 0x6e441220, 0x3c235: 0x6e441420, 0x3c236: 0x6e451020, 0x3c237: 0x6e45ae20, + 0x3c238: 0x6e45b020, 0x3c239: 0x6e45b220, 0x3c23a: 0x6e45b420, 0x3c23b: 0x6e45b620, + 0x3c23c: 0x6e45b820, 0x3c23d: 0x6e461820, 0x3c23e: 0x6e461a20, 0x3c23f: 0x6e461c20, + // Block 0xf09, offset 0x3c240 + 0x3c240: 0x6e461e20, 0x3c241: 0x6e467020, 0x3c242: 0x6e467220, 0x3c243: 0x6e467420, + 0x3c244: 0x6e467620, 0x3c245: 0x6e46a620, 0x3c246: 0x6e46be20, 0x3c247: 0x6e46c020, + 0x3c248: 0x6e46c220, 0x3c249: 0x6e46c420, 0x3c24a: 0x6e46de20, 0x3c24b: 0x6e46e020, + 0x3c24c: 0x6e46fe20, 0x3c24d: 0x6e472620, 0x3c24e: 0x6e472820, 0x3c24f: 0x6d478a20, + 0x3c250: 0x6d9f9420, 0x3c251: 0x6df85c20, 0x3c252: 0x6df85e20, 0x3c253: 0x6df86020, + 0x3c254: 0x6df86220, 0x3c255: 0x6e0c1420, 0x3c256: 0x6e0c1620, 0x3c257: 0x6e0c1820, + 0x3c258: 0x6e0c1a20, 0x3c259: 0x6e1be420, 0x3c25a: 0x6e0c1c20, 0x3c25b: 0x6e0c1e20, + 0x3c25c: 0x6e283e20, 0x3c25d: 0x6e284020, 0x3c25e: 0x6e284220, 0x3c25f: 0x6e284420, + 0x3c260: 0x6e317c20, 0x3c261: 0x6e317e20, 0x3c262: 0x6e3cd220, 0x3c263: 0x6e427420, + 0x3c264: 0x6e427620, 0x3c265: 0x6e474220, 0x3c266: 0x6d9fa020, 0x3c267: 0x6e1bec20, + 0x3c268: 0x6de00220, 0x3c269: 0x6df86620, 0x3c26a: 0x6df86820, 0x3c26b: 0x6e0c2620, + 0x3c26c: 0x6e0c2820, 0x3c26d: 0x6e0c2a20, 0x3c26e: 0x6e0c2c20, 0x3c26f: 0x6e0c2e20, + 0x3c270: 0x6e0c3020, 0x3c271: 0x6e0c3220, 0x3c272: 0x6e0c3420, 0x3c273: 0x6e0c3620, + 0x3c274: 0x6e0c3820, 0x3c275: 0x6e0c3a20, 0x3c276: 0x6e1bee20, 0x3c277: 0x6e1bf020, + 0x3c278: 0x6e1bf220, 0x3c279: 0x6e1bf420, 0x3c27a: 0x6e1bf620, 0x3c27b: 0x6e1bf820, + 0x3c27c: 0x6e1bfa20, 0x3c27d: 0x6e1bfc20, 0x3c27e: 0x6e318220, 0x3c27f: 0x6e318420, + // Block 0xf0a, offset 0x3c280 + 0x3c280: 0x6e384020, 0x3c281: 0x6e3cd620, 0x3c282: 0x6e427820, 0x3c283: 0x6e427a20, + 0x3c284: 0x6e427c20, 0x3c285: 0x6e441820, 0x3c286: 0x6e441a20, 0x3c287: 0x6e45ba20, + 0x3c288: 0x6e46aa20, 0x3c289: 0x6d9fa220, 0x3c28a: 0x6e1c0220, 0x3c28b: 0x6e3cdc20, + 0x3c28c: 0x6e3cde20, 0x3c28d: 0x6e3ce020, 0x3c28e: 0x6e400020, 0x3c28f: 0x6e400220, + 0x3c290: 0x6e400420, 0x3c291: 0x6e400620, 0x3c292: 0x6e428020, 0x3c293: 0x6e441e20, + 0x3c294: 0x6e462020, 0x3c295: 0x6e46ac20, 0x3c296: 0x6e471220, + // Block 0xf0b, offset 0x3c2c0 + 0x3c2c0: 0x6c00f020, 0x3c2c1: 0x6c00f220, 0x3c2c2: 0x6c023420, 0x3c2c3: 0x6c28c220, + 0x3c2c4: 0x6c42f420, 0x3c2c5: 0x6c63d620, 0x3c2c6: 0x6c8afa20, 0x3c2c7: 0x6d75d220, + 0x3c2c8: 0x6c024020, 0x3c2c9: 0x6c42fe20, 0x3c2ca: 0x6c004c20, 0x3c2cb: 0x6c28ce20, + 0x3c2cc: 0x6c0b0c20, 0x3c2cd: 0x6c430820, 0x3c2ce: 0x6c63ee20, 0x3c2cf: 0x6c63f020, + 0x3c2d0: 0x6c05ae20, 0x3c2d1: 0x6c0b3620, 0x3c2d2: 0x6c161c20, 0x3c2d3: 0x6c161e20, + 0x3c2d4: 0x6c28f020, 0x3c2d5: 0x6c432a20, 0x3c2d6: 0x6c63fe20, 0x3c2d7: 0x6c640020, + 0x3c2d8: 0x6c8b2020, 0x3c2d9: 0x6cb7b620, 0x3c2da: 0x6cb7b820, 0x3c2db: 0x6ce8dc20, + 0x3c2dc: 0x6c162820, 0x3c2dd: 0x6cb7bc20, 0x3c2de: 0x6d18a820, 0x3c2df: 0x6d479c20, + 0x3c2e0: 0x6c05b420, 0x3c2e1: 0x6c05b620, 0x3c2e2: 0x6c164420, 0x3c2e3: 0x6c8b3c20, + 0x3c2e4: 0x6cb7d620, 0x3c2e5: 0x6d47b020, 0x3c2e6: 0x6de00c20, 0x3c2e7: 0x6c02c420, + 0x3c2e8: 0x6c0c3c20, 0x3c2e9: 0x6c0c3e20, 0x3c2ea: 0x6c0c4020, 0x3c2eb: 0x6c0c4220, + 0x3c2ec: 0x6c172220, 0x3c2ed: 0x6c172420, 0x3c2ee: 0x6c172620, 0x3c2ef: 0x6c172820, + 0x3c2f0: 0x6c172a20, 0x3c2f1: 0x6c172c20, 0x3c2f2: 0x6c172e20, 0x3c2f3: 0x6c173020, + 0x3c2f4: 0x6c173220, 0x3c2f5: 0x6c2a1c20, 0x3c2f6: 0x6c2a1e20, 0x3c2f7: 0x6c2a2020, + 0x3c2f8: 0x6c2a2220, 0x3c2f9: 0x6c2a2420, 0x3c2fa: 0x6c2a2620, 0x3c2fb: 0x6c444a20, + 0x3c2fc: 0x6c444c20, 0x3c2fd: 0x6c444e20, 0x3c2fe: 0x6c445020, 0x3c2ff: 0x6c445220, + // Block 0xf0c, offset 0x3c300 + 0x3c300: 0x6c445420, 0x3c301: 0x6c445620, 0x3c302: 0x6c445820, 0x3c303: 0x6c655c20, + 0x3c304: 0x6c655e20, 0x3c305: 0x6c656020, 0x3c306: 0x6c656220, 0x3c307: 0x6c656420, + 0x3c308: 0x6c656620, 0x3c309: 0x6c656820, 0x3c30a: 0x6c656a20, 0x3c30b: 0x6c8c4e20, + 0x3c30c: 0x6c8c5020, 0x3c30d: 0x6c8c5220, 0x3c30e: 0x6c8c5420, 0x3c30f: 0x6c8c5620, + 0x3c310: 0x6c8c5820, 0x3c311: 0x6c8c5a20, 0x3c312: 0x6c8c5c20, 0x3c313: 0x6c8c5e20, + 0x3c314: 0x6c8c6020, 0x3c315: 0x6c8c6220, 0x3c316: 0x6cb8b220, 0x3c317: 0x6cb8b420, + 0x3c318: 0x6cb8b620, 0x3c319: 0x6cb8b820, 0x3c31a: 0x6cb8ba20, 0x3c31b: 0x6cb8bc20, + 0x3c31c: 0x6cb8be20, 0x3c31d: 0x6cb8c020, 0x3c31e: 0x6cb8c220, 0x3c31f: 0x6cb8c420, + 0x3c320: 0x6ce9d620, 0x3c321: 0x6ce9d820, 0x3c322: 0x6ce9da20, 0x3c323: 0x6ce9dc20, + 0x3c324: 0x6ce9de20, 0x3c325: 0x6d19a820, 0x3c326: 0x6d19aa20, 0x3c327: 0x6d19ac20, + 0x3c328: 0x6d19ae20, 0x3c329: 0x6d19b020, 0x3c32a: 0x6d19b220, 0x3c32b: 0x6d485020, + 0x3c32c: 0x6d485220, 0x3c32d: 0x6d485420, 0x3c32e: 0x6d485620, 0x3c32f: 0x6d485820, + 0x3c330: 0x6d765e20, 0x3c331: 0x6d766020, 0x3c332: 0x6d766220, 0x3c333: 0x6d766420, + 0x3c334: 0x6d9ffc20, 0x3c335: 0x6d9ffe20, 0x3c336: 0x6da00020, 0x3c337: 0x6dc28620, + 0x3c338: 0x6dc28820, 0x3c339: 0x6dc28a20, 0x3c33a: 0x6de03c20, 0x3c33b: 0x6de03e20, + 0x3c33c: 0x6de04020, 0x3c33d: 0x6df88c20, 0x3c33e: 0x6e0c6220, 0x3c33f: 0x6c2a4a20, + // Block 0xf0d, offset 0x3c340 + 0x3c340: 0x6c446820, 0x3c341: 0x6c658420, 0x3c342: 0x6ce9ea20, 0x3c343: 0x6d486a20, + 0x3c344: 0x6d486c20, 0x3c345: 0x6d486e20, 0x3c346: 0x6de04620, 0x3c347: 0x6c658e20, + 0x3c348: 0x6c0c7620, 0x3c349: 0x6cb8f020, 0x3c34a: 0x6cea0620, 0x3c34b: 0x6d19da20, + 0x3c34c: 0x6d487020, 0x3c34d: 0x6d768220, 0x3c34e: 0x6c177e20, 0x3c34f: 0x6c178a20, + 0x3c350: 0x6c178c20, 0x3c351: 0x6c2a7220, 0x3c352: 0x6c65c020, 0x3c353: 0x6c8c9420, + 0x3c354: 0x6cb90a20, 0x3c355: 0x6d19e820, 0x3c356: 0x6c065820, 0x3c357: 0x6c0cb220, + 0x3c358: 0x6c0cb420, 0x3c359: 0x6c0cb620, 0x3c35a: 0x6c0cb820, 0x3c35b: 0x6c17b220, + 0x3c35c: 0x6c17b420, 0x3c35d: 0x6c17b620, 0x3c35e: 0x6c2a9620, 0x3c35f: 0x6c44ca20, + 0x3c360: 0x6c44cc20, 0x3c361: 0x6c44ce20, 0x3c362: 0x6c65f820, 0x3c363: 0x6c65fa20, + 0x3c364: 0x6c65fc20, 0x3c365: 0x6c65fe20, 0x3c366: 0x6c8cb620, 0x3c367: 0x6c8cb820, + 0x3c368: 0x6c8cba20, 0x3c369: 0x6cb92c20, 0x3c36a: 0x6cb92e20, 0x3c36b: 0x6cea2a20, + 0x3c36c: 0x6cea2c20, 0x3c36d: 0x6d19fc20, 0x3c36e: 0x6d489020, 0x3c36f: 0x6d769820, + 0x3c370: 0x6df8a020, 0x3c371: 0x6c0cd020, 0x3c372: 0x6c17ce20, 0x3c373: 0x6c660a20, + 0x3c374: 0x6c8cce20, 0x3c375: 0x6cea3620, 0x3c376: 0x6c067a20, 0x3c377: 0x6c2aba20, + 0x3c378: 0x6c661020, 0x3c379: 0x6cb94420, 0x3c37a: 0x6cea3820, 0x3c37b: 0x6cea3a20, + 0x3c37c: 0x6dc2b420, 0x3c37d: 0x6de05420, 0x3c37e: 0x6c0d3420, 0x3c37f: 0x6c0d3620, + // Block 0xf0e, offset 0x3c380 + 0x3c380: 0x6c0d3820, 0x3c381: 0x6c183420, 0x3c382: 0x6c183620, 0x3c383: 0x6c2b4420, + 0x3c384: 0x6c2b4620, 0x3c385: 0x6c2b4820, 0x3c386: 0x6c454820, 0x3c387: 0x6c454a20, + 0x3c388: 0x6c66a220, 0x3c389: 0x6c66a420, 0x3c38a: 0x6c8d3a20, 0x3c38b: 0x6c8d3c20, + 0x3c38c: 0x6c8d3e20, 0x3c38d: 0x6c8d4020, 0x3c38e: 0x6cb9a420, 0x3c38f: 0x6cb9a620, + 0x3c390: 0x6cb9a820, 0x3c391: 0x6cea8c20, 0x3c392: 0x6cea8e20, 0x3c393: 0x6cea9020, + 0x3c394: 0x6d48d820, 0x3c395: 0x6d76d620, 0x3c396: 0x6d76d820, 0x3c397: 0x6c187220, + 0x3c398: 0x6c187420, 0x3c399: 0x6c187620, 0x3c39a: 0x6c2b8220, 0x3c39b: 0x6c2b8420, + 0x3c39c: 0x6c458020, 0x3c39d: 0x6c66d820, 0x3c39e: 0x6c66da20, 0x3c39f: 0x6c66dc20, + 0x3c3a0: 0x6c8d6820, 0x3c3a1: 0x6cb9d020, 0x3c3a2: 0x6cb9d220, 0x3c3a3: 0x6ceabe20, + 0x3c3a4: 0x6d1aa420, 0x3c3a5: 0x6d1aa620, 0x3c3a6: 0x6d48f020, 0x3c3a7: 0x6e0c8220, + 0x3c3a8: 0x6c016620, 0x3c3a9: 0x6c0d6620, 0x3c3aa: 0x6c459e20, 0x3c3ab: 0x6cead020, + 0x3c3ac: 0x6c0d7820, 0x3c3ad: 0x6c18a020, 0x3c3ae: 0x6c18a220, 0x3c3af: 0x6c45be20, + 0x3c3b0: 0x6c670c20, 0x3c3b1: 0x6d1ac820, 0x3c3b2: 0x6df8c020, 0x3c3b3: 0x6c18bc20, + 0x3c3b4: 0x6c671e20, 0x3c3b5: 0x6c8da620, 0x3c3b6: 0x6ceaf420, 0x3c3b7: 0x6d1ad220, + 0x3c3b8: 0x6d490e20, 0x3c3b9: 0x6d491020, 0x3c3ba: 0x6da08220, 0x3c3bb: 0x6dc2de20, + 0x3c3bc: 0x6df8c420, 0x3c3bd: 0x6c037a20, 0x3c3be: 0x6c18ce20, 0x3c3bf: 0x6c672c20, + // Block 0xf0f, offset 0x3c3c0 + 0x3c3c0: 0x6d1ad820, 0x3c3c1: 0x6c2bfe20, 0x3c3c2: 0x6c45f420, 0x3c3c3: 0x6c070820, + 0x3c3c4: 0x6c190020, 0x3c3c5: 0x6c2c2420, 0x3c3c6: 0x6c2c2620, 0x3c3c7: 0x6c462420, + 0x3c3c8: 0x6c462620, 0x3c3c9: 0x6c462820, 0x3c3ca: 0x6c462a20, 0x3c3cb: 0x6c676420, + 0x3c3cc: 0x6c676620, 0x3c3cd: 0x6c676820, 0x3c3ce: 0x6c676a20, 0x3c3cf: 0x6c8dde20, + 0x3c3d0: 0x6c8de020, 0x3c3d1: 0x6cba2a20, 0x3c3d2: 0x6cba2c20, 0x3c3d3: 0x6ceb1a20, + 0x3c3d4: 0x6ceb1c20, 0x3c3d5: 0x6ceb1e20, 0x3c3d6: 0x6d1b1020, 0x3c3d7: 0x6d1b1220, + 0x3c3d8: 0x6d493620, 0x3c3d9: 0x6d493820, 0x3c3da: 0x6da08c20, 0x3c3db: 0x6df8c820, + 0x3c3dc: 0x6c463c20, 0x3c3dd: 0x6c677a20, 0x3c3de: 0x6c8dee20, 0x3c3df: 0x6cba4020, + 0x3c3e0: 0x6ceb3020, 0x3c3e1: 0x6d494220, 0x3c3e2: 0x6df8ca20, 0x3c3e3: 0x6c03b820, + 0x3c3e4: 0x6c03ba20, 0x3c3e5: 0x6c0e1a20, 0x3c3e6: 0x6c192020, 0x3c3e7: 0x6c2c5220, + 0x3c3e8: 0x6c2c5420, 0x3c3e9: 0x6c466020, 0x3c3ea: 0x6c466220, 0x3c3eb: 0x6c679620, + 0x3c3ec: 0x6c679820, 0x3c3ed: 0x6cba5820, 0x3c3ee: 0x6cba5a20, 0x3c3ef: 0x6ceb4c20, + 0x3c3f0: 0x6d1b3220, 0x3c3f1: 0x6d770a20, 0x3c3f2: 0x6c078620, 0x3c3f3: 0x6c1a4420, + 0x3c3f4: 0x6c1a4620, 0x3c3f5: 0x6c1a4820, 0x3c3f6: 0x6c2d7620, 0x3c3f7: 0x6c2d7820, + 0x3c3f8: 0x6c2d7a20, 0x3c3f9: 0x6c2d7c20, 0x3c3fa: 0x6c47c620, 0x3c3fb: 0x6c47c820, + 0x3c3fc: 0x6c47ca20, 0x3c3fd: 0x6c47cc20, 0x3c3fe: 0x6c47ce20, 0x3c3ff: 0x6c47d020, + // Block 0xf10, offset 0x3c400 + 0x3c400: 0x6c47d220, 0x3c401: 0x6c47d420, 0x3c402: 0x6c47d620, 0x3c403: 0x6c47d820, + 0x3c404: 0x6c693820, 0x3c405: 0x6c693a20, 0x3c406: 0x6c693c20, 0x3c407: 0x6c693e20, + 0x3c408: 0x6c694020, 0x3c409: 0x6c694220, 0x3c40a: 0x6c694420, 0x3c40b: 0x6c694620, + 0x3c40c: 0x6c694820, 0x3c40d: 0x6c694a20, 0x3c40e: 0x6c694c20, 0x3c40f: 0x6d770c20, + 0x3c410: 0x6c900020, 0x3c411: 0x6c900220, 0x3c412: 0x6c900420, 0x3c413: 0x6c900620, + 0x3c414: 0x6c900820, 0x3c415: 0x6c900a20, 0x3c416: 0x6c900c20, 0x3c417: 0x6c900e20, + 0x3c418: 0x6c901020, 0x3c419: 0x6c901220, 0x3c41a: 0x6c901420, 0x3c41b: 0x6c901620, + 0x3c41c: 0x6cbc2220, 0x3c41d: 0x6cbc2420, 0x3c41e: 0x6cbc2620, 0x3c41f: 0x6cbc2820, + 0x3c420: 0x6cbc2a20, 0x3c421: 0x6cbc2c20, 0x3c422: 0x6cbc2e20, 0x3c423: 0x6cbc3020, + 0x3c424: 0x6cbc3220, 0x3c425: 0x6cbc3420, 0x3c426: 0x6cbc3620, 0x3c427: 0x6cbc3820, + 0x3c428: 0x6cbc3a20, 0x3c429: 0x6cbc3c20, 0x3c42a: 0x6ced0c20, 0x3c42b: 0x6ced0e20, + 0x3c42c: 0x6ced1020, 0x3c42d: 0x6ced1220, 0x3c42e: 0x6ced1420, 0x3c42f: 0x6ced1620, + 0x3c430: 0x6ced1820, 0x3c431: 0x6ced1a20, 0x3c432: 0x6ced1c20, 0x3c433: 0x6ced1e20, + 0x3c434: 0x6ced2020, 0x3c435: 0x6ced2220, 0x3c436: 0x6ced2420, 0x3c437: 0x6ced2620, + 0x3c438: 0x6d1cd020, 0x3c439: 0x6d1cd220, 0x3c43a: 0x6d1cd420, 0x3c43b: 0x6d1cd620, + 0x3c43c: 0x6d1cd820, 0x3c43d: 0x6d1cda20, 0x3c43e: 0x6d1cdc20, 0x3c43f: 0x6d1cde20, + // Block 0xf11, offset 0x3c440 + 0x3c440: 0x6d1ce020, 0x3c441: 0x6d1ce220, 0x3c442: 0x6d1ce420, 0x3c443: 0x6d1ce620, + 0x3c444: 0x6d1ce820, 0x3c445: 0x6d4aa220, 0x3c446: 0x6d4aa420, 0x3c447: 0x6d4aa620, + 0x3c448: 0x6d4aa820, 0x3c449: 0x6d4aaa20, 0x3c44a: 0x6d4aac20, 0x3c44b: 0x6d4aae20, + 0x3c44c: 0x6d4ab020, 0x3c44d: 0x6d4ab220, 0x3c44e: 0x6d784a20, 0x3c44f: 0x6d784c20, + 0x3c450: 0x6d784e20, 0x3c451: 0x6d785020, 0x3c452: 0x6d785220, 0x3c453: 0x6d785420, + 0x3c454: 0x6d785620, 0x3c455: 0x6da17420, 0x3c456: 0x6da17620, 0x3c457: 0x6da17820, + 0x3c458: 0x6da17a20, 0x3c459: 0x6dc3ce20, 0x3c45a: 0x6dc3d020, 0x3c45b: 0x6dc3d220, + 0x3c45c: 0x6dc3d420, 0x3c45d: 0x6dc3d620, 0x3c45e: 0x6dc3d820, 0x3c45f: 0x6de0f820, + 0x3c460: 0x6de0fa20, 0x3c461: 0x6de0fc20, 0x3c462: 0x6df92220, 0x3c463: 0x6df92420, + 0x3c464: 0x6df92620, 0x3c465: 0x6e1c7020, 0x3c466: 0x6e31be20, 0x3c467: 0x6e31c020, + 0x3c468: 0x6c1a9620, 0x3c469: 0x6c2da820, 0x3c46a: 0x6c47fe20, 0x3c46b: 0x6c697c20, + 0x3c46c: 0x6c904220, 0x3c46d: 0x6c904420, 0x3c46e: 0x6ced4820, 0x3c46f: 0x6d1d1420, + 0x3c470: 0x6d786420, 0x3c471: 0x6c07c020, 0x3c472: 0x6c07c220, 0x3c473: 0x6c0f0420, + 0x3c474: 0x6c0f0620, 0x3c475: 0x6c0f0820, 0x3c476: 0x6c0f0a20, 0x3c477: 0x6c0f0c20, + 0x3c478: 0x6c1b5020, 0x3c479: 0x6c1b5220, 0x3c47a: 0x6c1b5420, 0x3c47b: 0x6c1b5620, + 0x3c47c: 0x6c1b5820, 0x3c47d: 0x6c1b5a20, 0x3c47e: 0x6c1b5c20, 0x3c47f: 0x6c1b5e20, + // Block 0xf12, offset 0x3c480 + 0x3c480: 0x6c1b6020, 0x3c481: 0x6c1b6220, 0x3c482: 0x6c1b6420, 0x3c483: 0x6c2e6e20, + 0x3c484: 0x6c2e7020, 0x3c485: 0x6c2e7220, 0x3c486: 0x6c2e7420, 0x3c487: 0x6c2e7620, + 0x3c488: 0x6c2e7820, 0x3c489: 0x6c2e7a20, 0x3c48a: 0x6c2e7c20, 0x3c48b: 0x6c48d420, + 0x3c48c: 0x6c48d620, 0x3c48d: 0x6c48d820, 0x3c48e: 0x6c48da20, 0x3c48f: 0x6c48dc20, + 0x3c490: 0x6c48de20, 0x3c491: 0x6c48e020, 0x3c492: 0x6c48e220, 0x3c493: 0x6c48e420, + 0x3c494: 0x6c6a4e20, 0x3c495: 0x6c6a5020, 0x3c496: 0x6c6a5220, 0x3c497: 0x6c6a5420, + 0x3c498: 0x6c6a5620, 0x3c499: 0x6c6a5820, 0x3c49a: 0x6c6a5a20, 0x3c49b: 0x6c6a5c20, + 0x3c49c: 0x6c6a5e20, 0x3c49d: 0x6c6a6020, 0x3c49e: 0x6c6a6220, 0x3c49f: 0x6c6a6420, + 0x3c4a0: 0x6c6a6620, 0x3c4a1: 0x6c6a6820, 0x3c4a2: 0x6c6a6a20, 0x3c4a3: 0x6c6a6c20, + 0x3c4a4: 0x6c914220, 0x3c4a5: 0x6c914420, 0x3c4a6: 0x6c914620, 0x3c4a7: 0x6c914820, + 0x3c4a8: 0x6c914a20, 0x3c4a9: 0x6c914c20, 0x3c4aa: 0x6c914e20, 0x3c4ab: 0x6c915020, + 0x3c4ac: 0x6c915220, 0x3c4ad: 0x6c915420, 0x3c4ae: 0x6c915620, 0x3c4af: 0x6c915820, + 0x3c4b0: 0x6c915a20, 0x3c4b1: 0x6c915c20, 0x3c4b2: 0x6cbd6c20, 0x3c4b3: 0x6cbd6e20, + 0x3c4b4: 0x6cbd7020, 0x3c4b5: 0x6cbd7220, 0x3c4b6: 0x6cbd7420, 0x3c4b7: 0x6cbd7620, + 0x3c4b8: 0x6cbd7820, 0x3c4b9: 0x6cbd7a20, 0x3c4ba: 0x6cbd7c20, 0x3c4bb: 0x6cbd7e20, + 0x3c4bc: 0x6cbd8020, 0x3c4bd: 0x6cbd8220, 0x3c4be: 0x6cee2e20, 0x3c4bf: 0x6cee3020, + // Block 0xf13, offset 0x3c4c0 + 0x3c4c0: 0x6cee3220, 0x3c4c1: 0x6cee3420, 0x3c4c2: 0x6cee3620, 0x3c4c3: 0x6cee3820, + 0x3c4c4: 0x6cee3a20, 0x3c4c5: 0x6cee3c20, 0x3c4c6: 0x6cee3e20, 0x3c4c7: 0x6cee4020, + 0x3c4c8: 0x6cee4220, 0x3c4c9: 0x6cee4420, 0x3c4ca: 0x6cee4620, 0x3c4cb: 0x6cee4820, + 0x3c4cc: 0x6cee4a20, 0x3c4cd: 0x6cee4c20, 0x3c4ce: 0x6d1dda20, 0x3c4cf: 0x6d1ddc20, + 0x3c4d0: 0x6d1dde20, 0x3c4d1: 0x6d1de020, 0x3c4d2: 0x6d1de220, 0x3c4d3: 0x6d1de420, + 0x3c4d4: 0x6d1de620, 0x3c4d5: 0x6d1de820, 0x3c4d6: 0x6d1dea20, 0x3c4d7: 0x6d1dec20, + 0x3c4d8: 0x6d1dee20, 0x3c4d9: 0x6d4b9420, 0x3c4da: 0x6d4b9620, 0x3c4db: 0x6d4b9820, + 0x3c4dc: 0x6d4b9a20, 0x3c4dd: 0x6d4b9c20, 0x3c4de: 0x6d4b9e20, 0x3c4df: 0x6d78f020, + 0x3c4e0: 0x6d78f220, 0x3c4e1: 0x6d78f420, 0x3c4e2: 0x6d78f620, 0x3c4e3: 0x6d78f820, + 0x3c4e4: 0x6d78fa20, 0x3c4e5: 0x6d78fc20, 0x3c4e6: 0x6da1f420, 0x3c4e7: 0x6da1f620, + 0x3c4e8: 0x6da1f820, 0x3c4e9: 0x6da1fa20, 0x3c4ea: 0x6da1fc20, 0x3c4eb: 0x6da1fe20, + 0x3c4ec: 0x6dc42820, 0x3c4ed: 0x6dc42a20, 0x3c4ee: 0x6dc42c20, 0x3c4ef: 0x6dc42e20, + 0x3c4f0: 0x6de14220, 0x3c4f1: 0x6df95020, 0x3c4f2: 0x6c6a8020, 0x3c4f3: 0x6cee5a20, + 0x3c4f4: 0x6e1c8e20, 0x3c4f5: 0x6df95420, 0x3c4f6: 0x6cee6820, 0x3c4f7: 0x6c0f2820, + 0x3c4f8: 0x6c2e9820, 0x3c4f9: 0x6c490020, 0x3c4fa: 0x6c6aa820, 0x3c4fb: 0x6c919620, + 0x3c4fc: 0x6cbdb420, 0x3c4fd: 0x6d1e2c20, 0x3c4fe: 0x6d4bb620, 0x3c4ff: 0x6d791a20, + // Block 0xf14, offset 0x3c500 + 0x3c500: 0x6e1c9020, 0x3c501: 0x6c03ee20, 0x3c502: 0x6c07fa20, 0x3c503: 0x6c0f5420, + 0x3c504: 0x6c1bbe20, 0x3c505: 0x6c1bc020, 0x3c506: 0x6c1bc220, 0x3c507: 0x6c2ee620, + 0x3c508: 0x6c2ee820, 0x3c509: 0x6c2eea20, 0x3c50a: 0x6c2eec20, 0x3c50b: 0x6c2eee20, + 0x3c50c: 0x6c2ef020, 0x3c50d: 0x6c493620, 0x3c50e: 0x6c493820, 0x3c50f: 0x6c493a20, + 0x3c510: 0x6c6ae220, 0x3c511: 0x6c6ae420, 0x3c512: 0x6c6ae620, 0x3c513: 0x6c91cc20, + 0x3c514: 0x6c91ce20, 0x3c515: 0x6c91d020, 0x3c516: 0x6cbdec20, 0x3c517: 0x6cbdee20, + 0x3c518: 0x6cbdf020, 0x3c519: 0x6ceea020, 0x3c51a: 0x6ceea220, 0x3c51b: 0x6ceea420, + 0x3c51c: 0x6d1e4c20, 0x3c51d: 0x6d1e4e20, 0x3c51e: 0x6d1e5020, 0x3c51f: 0x6d4bd820, + 0x3c520: 0x6d4bda20, 0x3c521: 0x6d4bdc20, 0x3c522: 0x6dc45220, 0x3c523: 0x6df95a20, + 0x3c524: 0x6c0fa220, 0x3c525: 0x6c0fa420, 0x3c526: 0x6c1c5220, 0x3c527: 0x6c1c5420, + 0x3c528: 0x6c1c5620, 0x3c529: 0x6c1c5820, 0x3c52a: 0x6c1c5a20, 0x3c52b: 0x6c1c5c20, + 0x3c52c: 0x6c1c5e20, 0x3c52d: 0x6c2fc020, 0x3c52e: 0x6c2fc220, 0x3c52f: 0x6c2fc420, + 0x3c530: 0x6c2fc620, 0x3c531: 0x6c4a0c20, 0x3c532: 0x6c4a0e20, 0x3c533: 0x6c4a1020, + 0x3c534: 0x6c4a1220, 0x3c535: 0x6c4a1420, 0x3c536: 0x6c6bcc20, 0x3c537: 0x6c6bce20, + 0x3c538: 0x6c6bd020, 0x3c539: 0x6c6bd220, 0x3c53a: 0x6c6bd420, 0x3c53b: 0x6c92ec20, + 0x3c53c: 0x6c92ee20, 0x3c53d: 0x6c92f020, 0x3c53e: 0x6c92f220, 0x3c53f: 0x6c92f420, + // Block 0xf15, offset 0x3c540 + 0x3c540: 0x6c92f620, 0x3c541: 0x6c92f820, 0x3c542: 0x6c92fa20, 0x3c543: 0x6c92fc20, + 0x3c544: 0x6c92fe20, 0x3c545: 0x6c930020, 0x3c546: 0x6cbf2a20, 0x3c547: 0x6cbf2c20, + 0x3c548: 0x6cbf2e20, 0x3c549: 0x6cbf3020, 0x3c54a: 0x6cbf3220, 0x3c54b: 0x6cbf3420, + 0x3c54c: 0x6cbf3620, 0x3c54d: 0x6cbf3820, 0x3c54e: 0x6cbf3a20, 0x3c54f: 0x6cbf3c20, + 0x3c550: 0x6cbf3e20, 0x3c551: 0x6cef6c20, 0x3c552: 0x6cef6e20, 0x3c553: 0x6cef7020, + 0x3c554: 0x6cef7220, 0x3c555: 0x6cef7420, 0x3c556: 0x6cef7620, 0x3c557: 0x6d1f1420, + 0x3c558: 0x6d1f1620, 0x3c559: 0x6d1f1820, 0x3c55a: 0x6d1f1a20, 0x3c55b: 0x6d1f1c20, + 0x3c55c: 0x6d1f1e20, 0x3c55d: 0x6d1f2020, 0x3c55e: 0x6d1f2220, 0x3c55f: 0x6d1f2420, + 0x3c560: 0x6d4ca820, 0x3c561: 0x6d4caa20, 0x3c562: 0x6d4cac20, 0x3c563: 0x6d4cae20, + 0x3c564: 0x6d4cb020, 0x3c565: 0x6d4cb220, 0x3c566: 0x6d79d420, 0x3c567: 0x6d79d620, + 0x3c568: 0x6d79d820, 0x3c569: 0x6d79da20, 0x3c56a: 0x6d79dc20, 0x3c56b: 0x6da29420, + 0x3c56c: 0x6dc48620, 0x3c56d: 0x6dc48820, 0x3c56e: 0x6dc48a20, 0x3c56f: 0x6dc48c20, + 0x3c570: 0x6de18c20, 0x3c571: 0x6de18e20, 0x3c572: 0x6df98420, 0x3c573: 0x6e0d4020, + 0x3c574: 0x6e0d4220, 0x3c575: 0x6e28ae20, 0x3c576: 0x6c1c7e20, 0x3c577: 0x6c1c8020, + 0x3c578: 0x6c1c8220, 0x3c579: 0x6c1c8420, 0x3c57a: 0x6c2ff820, 0x3c57b: 0x6c4a3e20, + 0x3c57c: 0x6c931c20, 0x3c57d: 0x6c931e20, 0x3c57e: 0x6c932020, 0x3c57f: 0x6cbf6020, + // Block 0xf16, offset 0x3c580 + 0x3c580: 0x6d1f3a20, 0x3c581: 0x6d79fc20, 0x3c582: 0x6da29c20, 0x3c583: 0x6da29e20, + 0x3c584: 0x6e0d4420, 0x3c585: 0x6c1cb620, 0x3c586: 0x6c1cb820, 0x3c587: 0x6c1cba20, + 0x3c588: 0x6c304020, 0x3c589: 0x6c304220, 0x3c58a: 0x6c4a8820, 0x3c58b: 0x6c4a8a20, + 0x3c58c: 0x6c4a8c20, 0x3c58d: 0x6c6c6a20, 0x3c58e: 0x6c6c6c20, 0x3c58f: 0x6c6c6e20, + 0x3c590: 0x6c6c7020, 0x3c591: 0x6c937c20, 0x3c592: 0x6c937e20, 0x3c593: 0x6c938020, + 0x3c594: 0x6cbfc620, 0x3c595: 0x6cbfc820, 0x3c596: 0x6cbfca20, 0x3c597: 0x6cbfcc20, + 0x3c598: 0x6cbfce20, 0x3c599: 0x6cbfd020, 0x3c59a: 0x6cbfd220, 0x3c59b: 0x6cefec20, + 0x3c59c: 0x6cefee20, 0x3c59d: 0x6ceff020, 0x3c59e: 0x6ceff220, 0x3c59f: 0x6ceff420, + 0x3c5a0: 0x6ceff620, 0x3c5a1: 0x6d1fa020, 0x3c5a2: 0x6d1fa220, 0x3c5a3: 0x6d1fa420, + 0x3c5a4: 0x6d1fa620, 0x3c5a5: 0x6d1fa820, 0x3c5a6: 0x6d4d1620, 0x3c5a7: 0x6d4d1820, + 0x3c5a8: 0x6d4d1a20, 0x3c5a9: 0x6d4d1c20, 0x3c5aa: 0x6d4d1e20, 0x3c5ab: 0x6d7a2820, + 0x3c5ac: 0x6d7a2a20, 0x3c5ad: 0x6d7a2c20, 0x3c5ae: 0x6d7a2e20, 0x3c5af: 0x6da2be20, + 0x3c5b0: 0x6dc4b220, 0x3c5b1: 0x6dc4b420, 0x3c5b2: 0x6dc4b620, 0x3c5b3: 0x6df9a220, + 0x3c5b4: 0x6df9a420, 0x3c5b5: 0x6e0d5a20, 0x3c5b6: 0x6e31ee20, 0x3c5b7: 0x6c0fea20, + 0x3c5b8: 0x6c939220, 0x3c5b9: 0x6c939420, 0x3c5ba: 0x6cbfe820, 0x3c5bb: 0x6d4d3420, + 0x3c5bc: 0x6d4d3620, 0x3c5bd: 0x6d7a3620, 0x3c5be: 0x6da2c620, 0x3c5bf: 0x6c1cd420, + // Block 0xf17, offset 0x3c5c0 + 0x3c5c0: 0x6c306820, 0x3c5c1: 0x6c6c9020, 0x3c5c2: 0x6c6c9220, 0x3c5c3: 0x6d1fce20, + 0x3c5c4: 0x6d4d4e20, 0x3c5c5: 0x6d7a4020, 0x3c5c6: 0x6da2d020, 0x3c5c7: 0x6cc01e20, + 0x3c5c8: 0x6cf02c20, 0x3c5c9: 0x6c1d1820, 0x3c5ca: 0x6c1d1a20, 0x3c5cb: 0x6c1d1c20, + 0x3c5cc: 0x6c30b020, 0x3c5cd: 0x6c4b0e20, 0x3c5ce: 0x6c4b1020, 0x3c5cf: 0x6c6cf020, + 0x3c5d0: 0x6c6cf220, 0x3c5d1: 0x6c940e20, 0x3c5d2: 0x6cf05e20, 0x3c5d3: 0x6cf06020, + 0x3c5d4: 0x6cf06220, 0x3c5d5: 0x6cc05a20, 0x3c5d6: 0x6cc05c20, 0x3c5d7: 0x6cc05e20, + 0x3c5d8: 0x6cc06020, 0x3c5d9: 0x6d1ffc20, 0x3c5da: 0x6d1ffe20, 0x3c5db: 0x6d4d8820, + 0x3c5dc: 0x6d4d8a20, 0x3c5dd: 0x6d7a5e20, 0x3c5de: 0x6da2e020, 0x3c5df: 0x6de1cc20, + 0x3c5e0: 0x6de1ce20, 0x3c5e1: 0x6e1cd220, 0x3c5e2: 0x6c108820, 0x3c5e3: 0x6c108a20, + 0x3c5e4: 0x6c108c20, 0x3c5e5: 0x6c108e20, 0x3c5e6: 0x6c1dcc20, 0x3c5e7: 0x6c1dce20, + 0x3c5e8: 0x6c1dd020, 0x3c5e9: 0x6c316e20, 0x3c5ea: 0x6c317020, 0x3c5eb: 0x6c317220, + 0x3c5ec: 0x6c317420, 0x3c5ed: 0x6c317620, 0x3c5ee: 0x6c317820, 0x3c5ef: 0x6c4bbe20, + 0x3c5f0: 0x6c4bc020, 0x3c5f1: 0x6c4bc220, 0x3c5f2: 0x6c4bc420, 0x3c5f3: 0x6c4bc620, + 0x3c5f4: 0x6c4bc820, 0x3c5f5: 0x6c6dd420, 0x3c5f6: 0x6c6dd620, 0x3c5f7: 0x6c6dd820, + 0x3c5f8: 0x6c6dda20, 0x3c5f9: 0x6c6ddc20, 0x3c5fa: 0x6c6dde20, 0x3c5fb: 0x6c953c20, + 0x3c5fc: 0x6c953e20, 0x3c5fd: 0x6c954020, 0x3c5fe: 0x6c954220, 0x3c5ff: 0x6c954420, + // Block 0xf18, offset 0x3c600 + 0x3c600: 0x6c954620, 0x3c601: 0x6c954820, 0x3c602: 0x6cc15e20, 0x3c603: 0x6cc16020, + 0x3c604: 0x6cc16220, 0x3c605: 0x6cc16420, 0x3c606: 0x6cc16620, 0x3c607: 0x6cc16820, + 0x3c608: 0x6cf10820, 0x3c609: 0x6cf10a20, 0x3c60a: 0x6cf10c20, 0x3c60b: 0x6cf10e20, + 0x3c60c: 0x6d20ac20, 0x3c60d: 0x6d20ae20, 0x3c60e: 0x6d20b020, 0x3c60f: 0x6d20b220, + 0x3c610: 0x6d20b420, 0x3c611: 0x6d20b620, 0x3c612: 0x6d20b820, 0x3c613: 0x6d4e4020, + 0x3c614: 0x6d4e4220, 0x3c615: 0x6d4e4420, 0x3c616: 0x6d4e4620, 0x3c617: 0x6d7acc20, + 0x3c618: 0x6d7ace20, 0x3c619: 0x6d7ad020, 0x3c61a: 0x6d7ad220, 0x3c61b: 0x6da34c20, + 0x3c61c: 0x6da34e20, 0x3c61d: 0x6da35020, 0x3c61e: 0x6de20a20, 0x3c61f: 0x6e0d9020, + 0x3c620: 0x6e1cfc20, 0x3c621: 0x6c1ddc20, 0x3c622: 0x6c4bd820, 0x3c623: 0x6c10aa20, + 0x3c624: 0x6c955620, 0x3c625: 0x6cc17620, 0x3c626: 0x6cf11620, 0x3c627: 0x6d20bc20, + 0x3c628: 0x6da35820, 0x3c629: 0x6dc50c20, 0x3c62a: 0x6e1d0220, 0x3c62b: 0x6c319020, + 0x3c62c: 0x6c1de820, 0x3c62d: 0x6cc18420, 0x3c62e: 0x6cc18620, 0x3c62f: 0x6d20be20, + 0x3c630: 0x6d7ae420, 0x3c631: 0x6d7ae620, 0x3c632: 0x6c08b820, 0x3c633: 0x6c6e4c20, + 0x3c634: 0x6c95c220, 0x3c635: 0x6c95c420, 0x3c636: 0x6c95c620, 0x3c637: 0x6c95c820, + 0x3c638: 0x6cc1ec20, 0x3c639: 0x6cc1ee20, 0x3c63a: 0x6cc1f020, 0x3c63b: 0x6d210420, + 0x3c63c: 0x6d4ea620, 0x3c63d: 0x6d7b1820, 0x3c63e: 0x6da37a20, 0x3c63f: 0x6de22a20, + // Block 0xf19, offset 0x3c640 + 0x3c640: 0x6df9e820, 0x3c641: 0x6c1e3820, 0x3c642: 0x6c95ce20, 0x3c643: 0x6c95d020, + 0x3c644: 0x6cc1fa20, 0x3c645: 0x6cf16220, 0x3c646: 0x6cf16420, 0x3c647: 0x6d4eac20, + 0x3c648: 0x6dc51e20, 0x3c649: 0x6de22e20, 0x3c64a: 0x6c10e220, 0x3c64b: 0x6c4c6420, + 0x3c64c: 0x6c1e8020, 0x3c64d: 0x6c1e8220, 0x3c64e: 0x6c323e20, 0x3c64f: 0x6c324020, + 0x3c650: 0x6c4ca820, 0x3c651: 0x6c4caa20, 0x3c652: 0x6c6eae20, 0x3c653: 0x6c6eb020, + 0x3c654: 0x6c6eb220, 0x3c655: 0x6c6eb420, 0x3c656: 0x6c6eb620, 0x3c657: 0x6c6eb820, + 0x3c658: 0x6c964820, 0x3c659: 0x6c964a20, 0x3c65a: 0x6cc26020, 0x3c65b: 0x6cc26220, + 0x3c65c: 0x6cf1a820, 0x3c65d: 0x6cf1aa20, 0x3c65e: 0x6d216620, 0x3c65f: 0x6d216820, + 0x3c660: 0x6d216a20, 0x3c661: 0x6d4efa20, 0x3c662: 0x6d4efc20, 0x3c663: 0x6d4efe20, + 0x3c664: 0x6d7b5820, 0x3c665: 0x6d7b5a20, 0x3c666: 0x6da39a20, 0x3c667: 0x6da39c20, + 0x3c668: 0x6da39e20, 0x3c669: 0x6dc53c20, 0x3c66a: 0x6de25420, 0x3c66b: 0x6e0da820, + 0x3c66c: 0x6c08d820, 0x3c66d: 0x6c1e8c20, 0x3c66e: 0x6c1e8e20, 0x3c66f: 0x6c4cc020, + 0x3c670: 0x6c6ec020, 0x3c671: 0x6c965820, 0x3c672: 0x6d217220, 0x3c673: 0x6c1ea420, + 0x3c674: 0x6c325a20, 0x3c675: 0x6c6ed220, 0x3c676: 0x6cc27820, 0x3c677: 0x6cf1b620, + 0x3c678: 0x6da3a620, 0x3c679: 0x6e1d2020, 0x3c67a: 0x6c114820, 0x3c67b: 0x6c329820, + 0x3c67c: 0x6c4d2620, 0x3c67d: 0x6c4d2820, 0x3c67e: 0x6c6ef820, 0x3c67f: 0x6c969e20, + // Block 0xf1a, offset 0x3c680 + 0x3c680: 0x6cc2a220, 0x3c681: 0x6cc2a420, 0x3c682: 0x6d21a420, 0x3c683: 0x6da3b820, + 0x3c684: 0x6e0db620, 0x3c685: 0x6e388420, 0x3c686: 0x6c115420, 0x3c687: 0x6dc55a20, + 0x3c688: 0x6c6f1020, 0x3c689: 0x6d4f3420, 0x3c68a: 0x6da3be20, 0x3c68b: 0x6c1f1a20, + 0x3c68c: 0x6c32de20, 0x3c68d: 0x6c6f5220, 0x3c68e: 0x6c6f5420, 0x3c68f: 0x6c972a20, + 0x3c690: 0x6c972c20, 0x3c691: 0x6cc2fe20, 0x3c692: 0x6cc30020, 0x3c693: 0x6cc30220, + 0x3c694: 0x6cf23e20, 0x3c695: 0x6cf24020, 0x3c696: 0x6d21fc20, 0x3c697: 0x6d21fe20, + 0x3c698: 0x6d220020, 0x3c699: 0x6d7bb020, 0x3c69a: 0x6da3d220, 0x3c69b: 0x6dc57020, + 0x3c69c: 0x6dc57220, 0x3c69d: 0x6c091e20, 0x3c69e: 0x6c11b820, 0x3c69f: 0x6c1fec20, + 0x3c6a0: 0x6c1fee20, 0x3c6a1: 0x6c1ff020, 0x3c6a2: 0x6c1ff220, 0x3c6a3: 0x6c1ff420, + 0x3c6a4: 0x6c1ff620, 0x3c6a5: 0x6c1ff820, 0x3c6a6: 0x6c33ce20, 0x3c6a7: 0x6c33d020, + 0x3c6a8: 0x6c33d220, 0x3c6a9: 0x6c33d420, 0x3c6aa: 0x6c33d620, 0x3c6ab: 0x6c33d820, + 0x3c6ac: 0x6c33da20, 0x3c6ad: 0x6c4e8e20, 0x3c6ae: 0x6c4e9020, 0x3c6af: 0x6c4e9220, + 0x3c6b0: 0x6c4e9420, 0x3c6b1: 0x6c4e9620, 0x3c6b2: 0x6c4e9820, 0x3c6b3: 0x6c4e9a20, + 0x3c6b4: 0x6c4e9c20, 0x3c6b5: 0x6c708220, 0x3c6b6: 0x6c708420, 0x3c6b7: 0x6c708620, + 0x3c6b8: 0x6c708820, 0x3c6b9: 0x6c708a20, 0x3c6ba: 0x6c708c20, 0x3c6bb: 0x6c708e20, + 0x3c6bc: 0x6c709020, 0x3c6bd: 0x6c709220, 0x3c6be: 0x6c709420, 0x3c6bf: 0x6c98a620, + // Block 0xf1b, offset 0x3c6c0 + 0x3c6c0: 0x6c98a820, 0x3c6c1: 0x6c98aa20, 0x3c6c2: 0x6c98ac20, 0x3c6c3: 0x6c98ae20, + 0x3c6c4: 0x6c98b020, 0x3c6c5: 0x6c98b220, 0x3c6c6: 0x6c98b420, 0x3c6c7: 0x6cc47620, + 0x3c6c8: 0x6cc47820, 0x3c6c9: 0x6cc47a20, 0x3c6ca: 0x6cc47c20, 0x3c6cb: 0x6cc47e20, + 0x3c6cc: 0x6cc48020, 0x3c6cd: 0x6cc48220, 0x3c6ce: 0x6cc48420, 0x3c6cf: 0x6cc48620, + 0x3c6d0: 0x6cc48820, 0x3c6d1: 0x6cc48a20, 0x3c6d2: 0x6cc48c20, 0x3c6d3: 0x6cf35c20, + 0x3c6d4: 0x6cf35e20, 0x3c6d5: 0x6cf36020, 0x3c6d6: 0x6cf36220, 0x3c6d7: 0x6cf36420, + 0x3c6d8: 0x6cf36620, 0x3c6d9: 0x6cf36820, 0x3c6da: 0x6cf36a20, 0x3c6db: 0x6cf36c20, + 0x3c6dc: 0x6cf36e20, 0x3c6dd: 0x6cf37020, 0x3c6de: 0x6cf37220, 0x3c6df: 0x6d232020, + 0x3c6e0: 0x6d232220, 0x3c6e1: 0x6d232420, 0x3c6e2: 0x6d232620, 0x3c6e3: 0x6d232820, + 0x3c6e4: 0x6d232a20, 0x3c6e5: 0x6d232c20, 0x3c6e6: 0x6d232e20, 0x3c6e7: 0x6d233020, + 0x3c6e8: 0x6d50b220, 0x3c6e9: 0x6d50b420, 0x3c6ea: 0x6d50b620, 0x3c6eb: 0x6d50b820, + 0x3c6ec: 0x6d50ba20, 0x3c6ed: 0x6d50bc20, 0x3c6ee: 0x6d7c7c20, 0x3c6ef: 0x6d7c7e20, + 0x3c6f0: 0x6d7c8020, 0x3c6f1: 0x6d7c8220, 0x3c6f2: 0x6d7c8420, 0x3c6f3: 0x6d7c8620, + 0x3c6f4: 0x6d7c8820, 0x3c6f5: 0x6d7c8a20, 0x3c6f6: 0x6d7c8c20, 0x3c6f7: 0x6da46220, + 0x3c6f8: 0x6da46420, 0x3c6f9: 0x6da46620, 0x3c6fa: 0x6dc5f620, 0x3c6fb: 0x6dc5f820, + 0x3c6fc: 0x6dc5fa20, 0x3c6fd: 0x6dc5fc20, 0x3c6fe: 0x6dc5fe20, 0x3c6ff: 0x6de2da20, + // Block 0xf1c, offset 0x3c700 + 0x3c700: 0x6de2dc20, 0x3c701: 0x6dfa5220, 0x3c702: 0x6dfa5420, 0x3c703: 0x6e0de220, + 0x3c704: 0x6e0de420, 0x3c705: 0x6e1d4e20, 0x3c706: 0x6e1d5020, 0x3c707: 0x6e28f020, + 0x3c708: 0x6e388e20, 0x3c709: 0x6c092a20, 0x3c70a: 0x6c11cc20, 0x3c70b: 0x6c4ec420, + 0x3c70c: 0x6c4ec620, 0x3c70d: 0x6c70ae20, 0x3c70e: 0x6c70b020, 0x3c70f: 0x6c98d220, + 0x3c710: 0x6c98d420, 0x3c711: 0x6cc4ac20, 0x3c712: 0x6cf3a020, 0x3c713: 0x6d236020, + 0x3c714: 0x6d7caa20, 0x3c715: 0x6d7cac20, 0x3c716: 0x6d7cae20, 0x3c717: 0x6e3d2c20, + 0x3c718: 0x6c4ef020, 0x3c719: 0x6c98e020, 0x3c71a: 0x6d50fa20, 0x3c71b: 0x6e1d5420, + 0x3c71c: 0x6c123220, 0x3c71d: 0x6c210a20, 0x3c71e: 0x6c210c20, 0x3c71f: 0x6c210e20, + 0x3c720: 0x6c211020, 0x3c721: 0x6c211220, 0x3c722: 0x6c211420, 0x3c723: 0x6c211620, + 0x3c724: 0x6c351e20, 0x3c725: 0x6c352020, 0x3c726: 0x6c352220, 0x3c727: 0x6c352420, + 0x3c728: 0x6c352620, 0x3c729: 0x6c352820, 0x3c72a: 0x6c352a20, 0x3c72b: 0x6c501620, + 0x3c72c: 0x6c501820, 0x3c72d: 0x6c501a20, 0x3c72e: 0x6c501c20, 0x3c72f: 0x6c501e20, + 0x3c730: 0x6c502020, 0x3c731: 0x6c502220, 0x3c732: 0x6c502420, 0x3c733: 0x6c502620, + 0x3c734: 0x6c720620, 0x3c735: 0x6c720820, 0x3c736: 0x6c720a20, 0x3c737: 0x6c720c20, + 0x3c738: 0x6c720e20, 0x3c739: 0x6c721020, 0x3c73a: 0x6c721220, 0x3c73b: 0x6c721420, + 0x3c73c: 0x6c721620, 0x3c73d: 0x6c721820, 0x3c73e: 0x6c721a20, 0x3c73f: 0x6c721c20, + // Block 0xf1d, offset 0x3c740 + 0x3c740: 0x6c721e20, 0x3c741: 0x6c9a7c20, 0x3c742: 0x6c9a7e20, 0x3c743: 0x6c9a8020, + 0x3c744: 0x6c9a8220, 0x3c745: 0x6c9a8420, 0x3c746: 0x6c9a8620, 0x3c747: 0x6c9a8820, + 0x3c748: 0x6c9a8a20, 0x3c749: 0x6c9a8c20, 0x3c74a: 0x6c9a8e20, 0x3c74b: 0x6c9a9020, + 0x3c74c: 0x6cc65420, 0x3c74d: 0x6cc65620, 0x3c74e: 0x6cc65820, 0x3c74f: 0x6cc65a20, + 0x3c750: 0x6cc65c20, 0x3c751: 0x6cc65e20, 0x3c752: 0x6cc66020, 0x3c753: 0x6cc66220, + 0x3c754: 0x6cc66420, 0x3c755: 0x6cc66620, 0x3c756: 0x6cc66820, 0x3c757: 0x6cf50220, + 0x3c758: 0x6cf50420, 0x3c759: 0x6cf50620, 0x3c75a: 0x6cf50820, 0x3c75b: 0x6cf50a20, + 0x3c75c: 0x6cf50c20, 0x3c75d: 0x6cf50e20, 0x3c75e: 0x6cf51020, 0x3c75f: 0x6cf51220, + 0x3c760: 0x6cf51420, 0x3c761: 0x6cf51620, 0x3c762: 0x6cf51820, 0x3c763: 0x6d24d420, + 0x3c764: 0x6d24d620, 0x3c765: 0x6d24d820, 0x3c766: 0x6d24da20, 0x3c767: 0x6d24dc20, + 0x3c768: 0x6d24de20, 0x3c769: 0x6d24e020, 0x3c76a: 0x6d24e220, 0x3c76b: 0x6d525620, + 0x3c76c: 0x6d525820, 0x3c76d: 0x6d525a20, 0x3c76e: 0x6d525c20, 0x3c76f: 0x6d525e20, + 0x3c770: 0x6d526020, 0x3c771: 0x6d526220, 0x3c772: 0x6d526420, 0x3c773: 0x6d526620, + 0x3c774: 0x6d526820, 0x3c775: 0x6d7d9820, 0x3c776: 0x6d7d9a20, 0x3c777: 0x6d7d9c20, + 0x3c778: 0x6da50420, 0x3c779: 0x6da50620, 0x3c77a: 0x6da50820, 0x3c77b: 0x6dc6a820, + 0x3c77c: 0x6dc6aa20, 0x3c77d: 0x6dc6ac20, 0x3c77e: 0x6dc6ae20, 0x3c77f: 0x6dc6b020, + // Block 0xf1e, offset 0x3c780 + 0x3c780: 0x6dc6b220, 0x3c781: 0x6de35820, 0x3c782: 0x6dfaae20, 0x3c783: 0x6e1d8e20, + 0x3c784: 0x6e291820, 0x3c785: 0x6c9a9e20, 0x3c786: 0x6c353e20, 0x3c787: 0x6d527020, + 0x3c788: 0x6c357420, 0x3c789: 0x6c506c20, 0x3c78a: 0x6c506e20, 0x3c78b: 0x6c728820, + 0x3c78c: 0x6c728a20, 0x3c78d: 0x6c9b1020, 0x3c78e: 0x6cc6fe20, 0x3c78f: 0x6cc70020, + 0x3c790: 0x6cf58a20, 0x3c791: 0x6d253e20, 0x3c792: 0x6d254020, 0x3c793: 0x6d52b620, + 0x3c794: 0x6d52b820, 0x3c795: 0x6d52ba20, 0x3c796: 0x6d52bc20, 0x3c797: 0x6d7dfe20, + 0x3c798: 0x6d7e0020, 0x3c799: 0x6d7e0220, 0x3c79a: 0x6da53c20, 0x3c79b: 0x6dc6d420, + 0x3c79c: 0x6dc6d620, 0x3c79d: 0x6e0e3820, 0x3c79e: 0x6e0e3a20, 0x3c79f: 0x6e324620, + 0x3c7a0: 0x6c214020, 0x3c7a1: 0x6c357e20, 0x3c7a2: 0x6c358020, 0x3c7a3: 0x6c507820, + 0x3c7a4: 0x6c729820, 0x3c7a5: 0x6cc70e20, 0x3c7a6: 0x6cc71020, 0x3c7a7: 0x6cc71220, + 0x3c7a8: 0x6d254220, 0x3c7a9: 0x6d254420, 0x3c7aa: 0x6d254620, 0x3c7ab: 0x6c508020, + 0x3c7ac: 0x6c72a820, 0x3c7ad: 0x6d255420, 0x3c7ae: 0x6d52d420, 0x3c7af: 0x6da54a20, + 0x3c7b0: 0x6e0e4220, 0x3c7b1: 0x6c359c20, 0x3c7b2: 0x6c35ac20, 0x3c7b3: 0x6c35ae20, + 0x3c7b4: 0x6c50aa20, 0x3c7b5: 0x6c72e420, 0x3c7b6: 0x6c72e620, 0x3c7b7: 0x6c72e820, + 0x3c7b8: 0x6c9b6a20, 0x3c7b9: 0x6cc76220, 0x3c7ba: 0x6cc76420, 0x3c7bb: 0x6cc76620, + 0x3c7bc: 0x6cc76820, 0x3c7bd: 0x6cf5ca20, 0x3c7be: 0x6d257420, 0x3c7bf: 0x6d52ee20, + // Block 0xf1f, offset 0x3c7c0 + 0x3c7c0: 0x6d52f020, 0x3c7c1: 0x6d7e2c20, 0x3c7c2: 0x6d7e2e20, 0x3c7c3: 0x6de38020, + 0x3c7c4: 0x6de38220, 0x3c7c5: 0x6dfadc20, 0x3c7c6: 0x6c219820, 0x3c7c7: 0x6c219a20, + 0x3c7c8: 0x6c363220, 0x3c7c9: 0x6c363420, 0x3c7ca: 0x6c363620, 0x3c7cb: 0x6c363820, + 0x3c7cc: 0x6c363a20, 0x3c7cd: 0x6c363c20, 0x3c7ce: 0x6c363e20, 0x3c7cf: 0x6c514420, + 0x3c7d0: 0x6c514620, 0x3c7d1: 0x6c514820, 0x3c7d2: 0x6c514a20, 0x3c7d3: 0x6c514c20, + 0x3c7d4: 0x6c514e20, 0x3c7d5: 0x6c515020, 0x3c7d6: 0x6c515220, 0x3c7d7: 0x6c515420, + 0x3c7d8: 0x6c515620, 0x3c7d9: 0x6c737220, 0x3c7da: 0x6c737420, 0x3c7db: 0x6c737620, + 0x3c7dc: 0x6c737820, 0x3c7dd: 0x6c737a20, 0x3c7de: 0x6c737c20, 0x3c7df: 0x6c737e20, + 0x3c7e0: 0x6c738020, 0x3c7e1: 0x6c738220, 0x3c7e2: 0x6c738420, 0x3c7e3: 0x6c738620, + 0x3c7e4: 0x6c738820, 0x3c7e5: 0x6c9c0220, 0x3c7e6: 0x6c9c0420, 0x3c7e7: 0x6c9c0620, + 0x3c7e8: 0x6c9c0820, 0x3c7e9: 0x6cc83e20, 0x3c7ea: 0x6cc84020, 0x3c7eb: 0x6cc84220, + 0x3c7ec: 0x6cc84420, 0x3c7ed: 0x6cc84620, 0x3c7ee: 0x6cc84820, 0x3c7ef: 0x6cf67620, + 0x3c7f0: 0x6cf67820, 0x3c7f1: 0x6cf67a20, 0x3c7f2: 0x6cf67c20, 0x3c7f3: 0x6cf67e20, + 0x3c7f4: 0x6cf68020, 0x3c7f5: 0x6cf68220, 0x3c7f6: 0x6cf68420, 0x3c7f7: 0x6cf68620, + 0x3c7f8: 0x6d25ec20, 0x3c7f9: 0x6d25ee20, 0x3c7fa: 0x6d25f020, 0x3c7fb: 0x6d25f220, + 0x3c7fc: 0x6d25f420, 0x3c7fd: 0x6d25f620, 0x3c7fe: 0x6d536220, 0x3c7ff: 0x6d536420, + // Block 0xf20, offset 0x3c800 + 0x3c800: 0x6d536620, 0x3c801: 0x6d536820, 0x3c802: 0x6d536a20, 0x3c803: 0x6d536c20, + 0x3c804: 0x6d536e20, 0x3c805: 0x6d537020, 0x3c806: 0x6da5a420, 0x3c807: 0x6d7ec620, + 0x3c808: 0x6d7ec820, 0x3c809: 0x6d7eca20, 0x3c80a: 0x6d7ecc20, 0x3c80b: 0x6d7ece20, + 0x3c80c: 0x6d7ed020, 0x3c80d: 0x6da5a620, 0x3c80e: 0x6dc73820, 0x3c80f: 0x6dc73a20, + 0x3c810: 0x6dc73c20, 0x3c811: 0x6e0e5220, 0x3c812: 0x6e0e5420, 0x3c813: 0x6e0e5620, + 0x3c814: 0x6e325620, 0x3c815: 0x6d537e20, 0x3c816: 0x6d7ee020, 0x3c817: 0x6d7ee220, + 0x3c818: 0x6de3b220, 0x3c819: 0x6c127820, 0x3c81a: 0x6c21ae20, 0x3c81b: 0x6c365620, + 0x3c81c: 0x6c518220, 0x3c81d: 0x6c518420, 0x3c81e: 0x6c73ba20, 0x3c81f: 0x6d261220, + 0x3c820: 0x6c9c3020, 0x3c821: 0x6c9c3220, 0x3c822: 0x6c9c3420, 0x3c823: 0x6cc87e20, + 0x3c824: 0x6cf6aa20, 0x3c825: 0x6cf6ac20, 0x3c826: 0x6cf6ae20, 0x3c827: 0x6cf6b020, + 0x3c828: 0x6d261420, 0x3c829: 0x6d261620, 0x3c82a: 0x6d261820, 0x3c82b: 0x6d539820, + 0x3c82c: 0x6d539a20, 0x3c82d: 0x6d7efc20, 0x3c82e: 0x6e0e5a20, 0x3c82f: 0x6e0e5c20, + 0x3c830: 0x6e325c20, 0x3c831: 0x6c222e20, 0x3c832: 0x6c223020, 0x3c833: 0x6c223220, + 0x3c834: 0x6c223420, 0x3c835: 0x6c223620, 0x3c836: 0x6c375a20, 0x3c837: 0x6c375c20, + 0x3c838: 0x6c375e20, 0x3c839: 0x6c376020, 0x3c83a: 0x6c52ae20, 0x3c83b: 0x6c52b020, + 0x3c83c: 0x6c52b220, 0x3c83d: 0x6c52b420, 0x3c83e: 0x6c52b620, 0x3c83f: 0x6c52b820, + // Block 0xf21, offset 0x3c840 + 0x3c840: 0x6c52ba20, 0x3c841: 0x6c52bc20, 0x3c842: 0x6c52be20, 0x3c843: 0x6c752a20, + 0x3c844: 0x6c752c20, 0x3c845: 0x6c752e20, 0x3c846: 0x6c753020, 0x3c847: 0x6c753220, + 0x3c848: 0x6c753420, 0x3c849: 0x6c753620, 0x3c84a: 0x6c753820, 0x3c84b: 0x6c753a20, + 0x3c84c: 0x6c753c20, 0x3c84d: 0x6c753e20, 0x3c84e: 0x6c754020, 0x3c84f: 0x6c754220, + 0x3c850: 0x6c9d8620, 0x3c851: 0x6c9d8820, 0x3c852: 0x6c9d8a20, 0x3c853: 0x6c9d8c20, + 0x3c854: 0x6c9d8e20, 0x3c855: 0x6c9d9020, 0x3c856: 0x6c9d9220, 0x3c857: 0x6c9d9420, + 0x3c858: 0x6c9d9620, 0x3c859: 0x6c9d9820, 0x3c85a: 0x6c9d9a20, 0x3c85b: 0x6c9d9c20, + 0x3c85c: 0x6c9d9e20, 0x3c85d: 0x6c9da020, 0x3c85e: 0x6c9da220, 0x3c85f: 0x6cca6620, + 0x3c860: 0x6cca6820, 0x3c861: 0x6cca6a20, 0x3c862: 0x6cca6c20, 0x3c863: 0x6cca6e20, + 0x3c864: 0x6cca7020, 0x3c865: 0x6cca7220, 0x3c866: 0x6cca7420, 0x3c867: 0x6cca7620, + 0x3c868: 0x6cca7820, 0x3c869: 0x6cca7a20, 0x3c86a: 0x6cca7c20, 0x3c86b: 0x6cca7e20, + 0x3c86c: 0x6cca8020, 0x3c86d: 0x6cca8220, 0x3c86e: 0x6cca8420, 0x3c86f: 0x6cca8620, + 0x3c870: 0x6cf88c20, 0x3c871: 0x6cf88e20, 0x3c872: 0x6cf89020, 0x3c873: 0x6cf89220, + 0x3c874: 0x6cf89420, 0x3c875: 0x6cf89620, 0x3c876: 0x6cf89820, 0x3c877: 0x6cf89a20, + 0x3c878: 0x6cf89c20, 0x3c879: 0x6cf89e20, 0x3c87a: 0x6cf8a020, 0x3c87b: 0x6cf8a220, + 0x3c87c: 0x6cf8a420, 0x3c87d: 0x6cf8a620, 0x3c87e: 0x6cf8a820, 0x3c87f: 0x6cf8aa20, + // Block 0xf22, offset 0x3c880 + 0x3c880: 0x6cf8ac20, 0x3c881: 0x6cf8ae20, 0x3c882: 0x6cf8b020, 0x3c883: 0x6cf8b220, + 0x3c884: 0x6cf8b420, 0x3c885: 0x6cf8b620, 0x3c886: 0x6cf8b820, 0x3c887: 0x6cf8ba20, + 0x3c888: 0x6d27d220, 0x3c889: 0x6d27d420, 0x3c88a: 0x6d27d620, 0x3c88b: 0x6d27d820, + 0x3c88c: 0x6d27da20, 0x3c88d: 0x6d27dc20, 0x3c88e: 0x6d27de20, 0x3c88f: 0x6d27e020, + 0x3c890: 0x6d27e220, 0x3c891: 0x6d27e420, 0x3c892: 0x6d27e620, 0x3c893: 0x6d27e820, + 0x3c894: 0x6d27ea20, 0x3c895: 0x6d27ec20, 0x3c896: 0x6d27ee20, 0x3c897: 0x6d27f020, + 0x3c898: 0x6d27f220, 0x3c899: 0x6d27f420, 0x3c89a: 0x6d27f620, 0x3c89b: 0x6d27f820, + 0x3c89c: 0x6d27fa20, 0x3c89d: 0x6d552c20, 0x3c89e: 0x6d552e20, 0x3c89f: 0x6d553020, + 0x3c8a0: 0x6d553220, 0x3c8a1: 0x6d553420, 0x3c8a2: 0x6d553620, 0x3c8a3: 0x6d553820, + 0x3c8a4: 0x6d553a20, 0x3c8a5: 0x6d553c20, 0x3c8a6: 0x6d553e20, 0x3c8a7: 0x6d554020, + 0x3c8a8: 0x6d554220, 0x3c8a9: 0x6d554420, 0x3c8aa: 0x6d554620, 0x3c8ab: 0x6d554820, + 0x3c8ac: 0x6d554a20, 0x3c8ad: 0x6d80ae20, 0x3c8ae: 0x6d80b020, 0x3c8af: 0x6d80b220, + 0x3c8b0: 0x6d80b420, 0x3c8b1: 0x6d80b620, 0x3c8b2: 0x6d80b820, 0x3c8b3: 0x6d80ba20, + 0x3c8b4: 0x6d80bc20, 0x3c8b5: 0x6d80be20, 0x3c8b6: 0x6d80c020, 0x3c8b7: 0x6d80c220, + 0x3c8b8: 0x6d80c420, 0x3c8b9: 0x6d80c620, 0x3c8ba: 0x6d80c820, 0x3c8bb: 0x6d80ca20, + 0x3c8bc: 0x6d80cc20, 0x3c8bd: 0x6da6d820, 0x3c8be: 0x6da6da20, 0x3c8bf: 0x6da6dc20, + // Block 0xf23, offset 0x3c8c0 + 0x3c8c0: 0x6da6de20, 0x3c8c1: 0x6da6e020, 0x3c8c2: 0x6da6e220, 0x3c8c3: 0x6da6e420, + 0x3c8c4: 0x6da6e620, 0x3c8c5: 0x6da6e820, 0x3c8c6: 0x6da6ea20, 0x3c8c7: 0x6da6ec20, + 0x3c8c8: 0x6da6ee20, 0x3c8c9: 0x6dc83c20, 0x3c8ca: 0x6dc83e20, 0x3c8cb: 0x6dc84020, + 0x3c8cc: 0x6dc84220, 0x3c8cd: 0x6dc84420, 0x3c8ce: 0x6dc84620, 0x3c8cf: 0x6dc84820, + 0x3c8d0: 0x6de46c20, 0x3c8d1: 0x6de46e20, 0x3c8d2: 0x6de47020, 0x3c8d3: 0x6de47220, + 0x3c8d4: 0x6de47420, 0x3c8d5: 0x6de47620, 0x3c8d6: 0x6dfb8e20, 0x3c8d7: 0x6dfb9020, + 0x3c8d8: 0x6dfb9220, 0x3c8d9: 0x6dfb9420, 0x3c8da: 0x6dfb9620, 0x3c8db: 0x6e0ed020, + 0x3c8dc: 0x6e0ed220, 0x3c8dd: 0x6e0ed420, 0x3c8de: 0x6e0ed620, 0x3c8df: 0x6e1e0620, + 0x3c8e0: 0x6e1e0820, 0x3c8e1: 0x6e1e0a20, 0x3c8e2: 0x6e297220, 0x3c8e3: 0x6e297420, + 0x3c8e4: 0x6e328c20, 0x3c8e5: 0x6e328e20, 0x3c8e6: 0x6e38d220, 0x3c8e7: 0x6e405420, + 0x3c8e8: 0x6e3d4420, 0x3c8e9: 0x6c379220, 0x3c8ea: 0x6c52f420, 0x3c8eb: 0x6c52f620, + 0x3c8ec: 0x6c9dd620, 0x3c8ed: 0x6c9dd820, 0x3c8ee: 0x6ccad020, 0x3c8ef: 0x6cf90220, + 0x3c8f0: 0x6cf90420, 0x3c8f1: 0x6d283e20, 0x3c8f2: 0x6d558220, 0x3c8f3: 0x6dfba220, + 0x3c8f4: 0x6e329220, 0x3c8f5: 0x6c37c820, 0x3c8f6: 0x6c75a420, 0x3c8f7: 0x6c9de620, + 0x3c8f8: 0x6ccaf620, 0x3c8f9: 0x6cf91c20, 0x3c8fa: 0x6cf91e20, 0x3c8fb: 0x6d284e20, + 0x3c8fc: 0x6d559820, 0x3c8fd: 0x6d80fe20, 0x3c8fe: 0x6d810020, 0x3c8ff: 0x6da71c20, + // Block 0xf24, offset 0x3c900 + 0x3c900: 0x6c534420, 0x3c901: 0x6c534620, 0x3c902: 0x6c75d820, 0x3c903: 0x6c75da20, + 0x3c904: 0x6c9e1e20, 0x3c905: 0x6ccb4820, 0x3c906: 0x6d287420, 0x3c907: 0x6da73420, + 0x3c908: 0x6c75e820, 0x3c909: 0x6c75ea20, 0x3c90a: 0x6c9b1220, 0x3c90b: 0x6c9e4620, + 0x3c90c: 0x6ccb6220, 0x3c90d: 0x6ccb6420, 0x3c90e: 0x6ccb6620, 0x3c90f: 0x6cf97a20, + 0x3c910: 0x6d55da20, 0x3c911: 0x6da74020, 0x3c912: 0x6da74220, 0x3c913: 0x6e38de20, + 0x3c914: 0x6d289220, 0x3c915: 0x6d289c20, 0x3c916: 0x6c098220, 0x3c917: 0x6c384c20, + 0x3c918: 0x6c384e20, 0x3c919: 0x6c53ac20, 0x3c91a: 0x6c53ae20, 0x3c91b: 0x6c763420, + 0x3c91c: 0x6c763620, 0x3c91d: 0x6ccbc220, 0x3c91e: 0x6ccbc420, 0x3c91f: 0x6cf9d420, + 0x3c920: 0x6d28e820, 0x3c921: 0x6d561020, 0x3c922: 0x6dc8ba20, 0x3c923: 0x6c386420, + 0x3c924: 0x6c53cc20, 0x3c925: 0x6c9ea820, 0x3c926: 0x6cf9e020, 0x3c927: 0x6d28f220, + 0x3c928: 0x6c09c820, 0x3c929: 0x6c134c20, 0x3c92a: 0x6c134e20, 0x3c92b: 0x6c135020, + 0x3c92c: 0x6c135220, 0x3c92d: 0x6c238220, 0x3c92e: 0x6c238420, 0x3c92f: 0x6c238620, + 0x3c930: 0x6c238820, 0x3c931: 0x6c398420, 0x3c932: 0x6c398620, 0x3c933: 0x6c398820, + 0x3c934: 0x6c398a20, 0x3c935: 0x6c398c20, 0x3c936: 0x6c398e20, 0x3c937: 0x6c550a20, + 0x3c938: 0x6c550c20, 0x3c939: 0x6c550e20, 0x3c93a: 0x6c551020, 0x3c93b: 0x6c551220, + 0x3c93c: 0x6c551420, 0x3c93d: 0x6c551620, 0x3c93e: 0x6c77cc20, 0x3c93f: 0x6c77ce20, + // Block 0xf25, offset 0x3c940 + 0x3c940: 0x6c77d020, 0x3c941: 0x6c77d220, 0x3c942: 0x6c77d420, 0x3c943: 0x6c77d620, + 0x3c944: 0x6c77d820, 0x3c945: 0x6c77da20, 0x3c946: 0x6c77dc20, 0x3c947: 0x6c77de20, + 0x3c948: 0x6c77e020, 0x3c949: 0x6c77e220, 0x3c94a: 0x6c77e420, 0x3c94b: 0x6c77e620, + 0x3c94c: 0x6ca0c620, 0x3c94d: 0x6ca0c820, 0x3c94e: 0x6ca0ca20, 0x3c94f: 0x6ca0cc20, + 0x3c950: 0x6ca0ce20, 0x3c951: 0x6ca0d020, 0x3c952: 0x6ca0d220, 0x3c953: 0x6ca0d420, + 0x3c954: 0x6ca0d620, 0x3c955: 0x6ca0d820, 0x3c956: 0x6ca0da20, 0x3c957: 0x6ccdb620, + 0x3c958: 0x6ccdb820, 0x3c959: 0x6ccdba20, 0x3c95a: 0x6ccdbc20, 0x3c95b: 0x6ccdbe20, + 0x3c95c: 0x6ccdc020, 0x3c95d: 0x6ccdc220, 0x3c95e: 0x6ccdc420, 0x3c95f: 0x6ccdc620, + 0x3c960: 0x6ccdc820, 0x3c961: 0x6ccdca20, 0x3c962: 0x6ccdcc20, 0x3c963: 0x6ccdce20, + 0x3c964: 0x6ccdd020, 0x3c965: 0x6ccdd220, 0x3c966: 0x6ccdd420, 0x3c967: 0x6ccdd620, + 0x3c968: 0x6ccdd820, 0x3c969: 0x6ccdda20, 0x3c96a: 0x6cfba620, 0x3c96b: 0x6cfba820, + 0x3c96c: 0x6cfbaa20, 0x3c96d: 0x6cfbac20, 0x3c96e: 0x6cfbae20, 0x3c96f: 0x6cfbb020, + 0x3c970: 0x6cfbb220, 0x3c971: 0x6cfbb420, 0x3c972: 0x6cfbb620, 0x3c973: 0x6cfbb820, + 0x3c974: 0x6cfbba20, 0x3c975: 0x6cfbbc20, 0x3c976: 0x6cfbbe20, 0x3c977: 0x6cfbc020, + 0x3c978: 0x6cfbc220, 0x3c979: 0x6cfbc420, 0x3c97a: 0x6cfbc620, 0x3c97b: 0x6cfbc820, + 0x3c97c: 0x6cfbca20, 0x3c97d: 0x6cfbcc20, 0x3c97e: 0x6cfbce20, 0x3c97f: 0x6d2ab220, + // Block 0xf26, offset 0x3c980 + 0x3c980: 0x6d2ab420, 0x3c981: 0x6d2ab620, 0x3c982: 0x6d2ab820, 0x3c983: 0x6d2aba20, + 0x3c984: 0x6d2abc20, 0x3c985: 0x6d2abe20, 0x3c986: 0x6d2ac020, 0x3c987: 0x6d2ac220, + 0x3c988: 0x6d2ac420, 0x3c989: 0x6d2ac620, 0x3c98a: 0x6d2ac820, 0x3c98b: 0x6d57e420, + 0x3c98c: 0x6d57e620, 0x3c98d: 0x6d57e820, 0x3c98e: 0x6d57ea20, 0x3c98f: 0x6d57ec20, + 0x3c990: 0x6d57ee20, 0x3c991: 0x6d57f020, 0x3c992: 0x6d57f220, 0x3c993: 0x6d57f420, + 0x3c994: 0x6d57f620, 0x3c995: 0x6d57f820, 0x3c996: 0x6d57fa20, 0x3c997: 0x6d57fc20, + 0x3c998: 0x6d57fe20, 0x3c999: 0x6d580020, 0x3c99a: 0x6d580220, 0x3c99b: 0x6d580420, + 0x3c99c: 0x6d580620, 0x3c99d: 0x6d82e420, 0x3c99e: 0x6d82e620, 0x3c99f: 0x6d82e820, + 0x3c9a0: 0x6d82ea20, 0x3c9a1: 0x6d82ec20, 0x3c9a2: 0x6d82ee20, 0x3c9a3: 0x6d82f020, + 0x3c9a4: 0x6d82f220, 0x3c9a5: 0x6d82f420, 0x3c9a6: 0x6d82f620, 0x3c9a7: 0x6d82f820, + 0x3c9a8: 0x6da85a20, 0x3c9a9: 0x6da85c20, 0x3c9aa: 0x6da85e20, 0x3c9ab: 0x6da86020, + 0x3c9ac: 0x6da86220, 0x3c9ad: 0x6da86420, 0x3c9ae: 0x6da86620, 0x3c9af: 0x6da86820, + 0x3c9b0: 0x6da86a20, 0x3c9b1: 0x6da86c20, 0x3c9b2: 0x6da86e20, 0x3c9b3: 0x6dc9aa20, + 0x3c9b4: 0x6dc9ac20, 0x3c9b5: 0x6dc9ae20, 0x3c9b6: 0x6dc9b020, 0x3c9b7: 0x6dc9b220, + 0x3c9b8: 0x6dc9b420, 0x3c9b9: 0x6dc9b620, 0x3c9ba: 0x6de56220, 0x3c9bb: 0x6de56420, + 0x3c9bc: 0x6de56620, 0x3c9bd: 0x6de56820, 0x3c9be: 0x6de56a20, 0x3c9bf: 0x6de56c20, + // Block 0xf27, offset 0x3c9c0 + 0x3c9c0: 0x6dfc4220, 0x3c9c1: 0x6dfc4420, 0x3c9c2: 0x6dfc4620, 0x3c9c3: 0x6e0f7220, + 0x3c9c4: 0x6e0f7420, 0x3c9c5: 0x6e0f7620, 0x3c9c6: 0x6e0f7820, 0x3c9c7: 0x6e0f7a20, + 0x3c9c8: 0x6e1e6a20, 0x3c9c9: 0x6e1e6c20, 0x3c9ca: 0x6e29d220, 0x3c9cb: 0x6e29d420, + 0x3c9cc: 0x6e32be20, 0x3c9cd: 0x6c09ce20, 0x3c9ce: 0x6c23ca20, 0x3c9cf: 0x6c23cc20, + 0x3c9d0: 0x6c23ce20, 0x3c9d1: 0x6c3a1620, 0x3c9d2: 0x6c3a1820, 0x3c9d3: 0x6c3a1a20, + 0x3c9d4: 0x6c3a1c20, 0x3c9d5: 0x6c3a1e20, 0x3c9d6: 0x6c3a2020, 0x3c9d7: 0x6c3a2220, + 0x3c9d8: 0x6c55d820, 0x3c9d9: 0x6c55da20, 0x3c9da: 0x6c55dc20, 0x3c9db: 0x6c55de20, + 0x3c9dc: 0x6c55e020, 0x3c9dd: 0x6c55e220, 0x3c9de: 0x6c55e420, 0x3c9df: 0x6c55e620, + 0x3c9e0: 0x6c55e820, 0x3c9e1: 0x6c55ea20, 0x3c9e2: 0x6c55ec20, 0x3c9e3: 0x6c78b820, + 0x3c9e4: 0x6c78ba20, 0x3c9e5: 0x6c78bc20, 0x3c9e6: 0x6c78be20, 0x3c9e7: 0x6c78c020, + 0x3c9e8: 0x6c78c220, 0x3c9e9: 0x6c78c420, 0x3c9ea: 0x6c78c620, 0x3c9eb: 0x6ca1ba20, + 0x3c9ec: 0x6ca1bc20, 0x3c9ed: 0x6ca1be20, 0x3c9ee: 0x6ca1c020, 0x3c9ef: 0x6ca1c220, + 0x3c9f0: 0x6ca1c420, 0x3c9f1: 0x6ca1c620, 0x3c9f2: 0x6ca1c820, 0x3c9f3: 0x6ccee820, + 0x3c9f4: 0x6cceea20, 0x3c9f5: 0x6cceec20, 0x3c9f6: 0x6cceee20, 0x3c9f7: 0x6ccef020, + 0x3c9f8: 0x6ccef220, 0x3c9f9: 0x6ccef420, 0x3c9fa: 0x6ccef620, 0x3c9fb: 0x6ccef820, + 0x3c9fc: 0x6ccefa20, 0x3c9fd: 0x6ccefc20, 0x3c9fe: 0x6ccefe20, 0x3c9ff: 0x6ccf0020, + // Block 0xf28, offset 0x3ca00 + 0x3ca00: 0x6ccf0220, 0x3ca01: 0x6ccf0420, 0x3ca02: 0x6ccf0620, 0x3ca03: 0x6ccf0820, + 0x3ca04: 0x6cfd1220, 0x3ca05: 0x6cfd1420, 0x3ca06: 0x6cfd1620, 0x3ca07: 0x6cfd1820, + 0x3ca08: 0x6cfd1a20, 0x3ca09: 0x6cfd1c20, 0x3ca0a: 0x6cfd1e20, 0x3ca0b: 0x6cfd2020, + 0x3ca0c: 0x6cfd2220, 0x3ca0d: 0x6cfd2420, 0x3ca0e: 0x6cfd2620, 0x3ca0f: 0x6cfd2820, + 0x3ca10: 0x6cfd2a20, 0x3ca11: 0x6cfd2c20, 0x3ca12: 0x6d2bba20, 0x3ca13: 0x6d2bbc20, + 0x3ca14: 0x6d2bbe20, 0x3ca15: 0x6d2bc020, 0x3ca16: 0x6d2bc220, 0x3ca17: 0x6d2bc420, + 0x3ca18: 0x6d2bc620, 0x3ca19: 0x6d2bc820, 0x3ca1a: 0x6d2bca20, 0x3ca1b: 0x6d2bcc20, + 0x3ca1c: 0x6d2bce20, 0x3ca1d: 0x6d2bd020, 0x3ca1e: 0x6d2bd220, 0x3ca1f: 0x6d2bd420, + 0x3ca20: 0x6d2bd620, 0x3ca21: 0x6d58f020, 0x3ca22: 0x6d58f220, 0x3ca23: 0x6d58f420, + 0x3ca24: 0x6d58f620, 0x3ca25: 0x6d58f820, 0x3ca26: 0x6d58fa20, 0x3ca27: 0x6d58fc20, + 0x3ca28: 0x6d58fe20, 0x3ca29: 0x6d590020, 0x3ca2a: 0x6d841620, 0x3ca2b: 0x6d841820, + 0x3ca2c: 0x6d841a20, 0x3ca2d: 0x6d841c20, 0x3ca2e: 0x6d841e20, 0x3ca2f: 0x6d842020, + 0x3ca30: 0x6d842220, 0x3ca31: 0x6d842420, 0x3ca32: 0x6d842620, 0x3ca33: 0x6d842820, + 0x3ca34: 0x6da90c20, 0x3ca35: 0x6da90e20, 0x3ca36: 0x6da91020, 0x3ca37: 0x6da91220, + 0x3ca38: 0x6da91420, 0x3ca39: 0x6da91620, 0x3ca3a: 0x6da91820, 0x3ca3b: 0x6da91a20, + 0x3ca3c: 0x6dca3020, 0x3ca3d: 0x6dca3220, 0x3ca3e: 0x6dca3420, 0x3ca3f: 0x6dca3620, + // Block 0xf29, offset 0x3ca40 + 0x3ca40: 0x6dca3820, 0x3ca41: 0x6de5d020, 0x3ca42: 0x6de5d220, 0x3ca43: 0x6dfcc420, + 0x3ca44: 0x6dfcc620, 0x3ca45: 0x6dfcc820, 0x3ca46: 0x6e1e9420, 0x3ca47: 0x6e1e9620, + 0x3ca48: 0x6e29fc20, 0x3ca49: 0x6e32cc20, 0x3ca4a: 0x6e390620, 0x3ca4b: 0x6e390820, + 0x3ca4c: 0x6e407420, 0x3ca4d: 0x6c23d820, 0x3ca4e: 0x6c561220, 0x3ca4f: 0x6ca1d820, + 0x3ca50: 0x6ccf1a20, 0x3ca51: 0x6ccf1c20, 0x3ca52: 0x6ccf1e20, 0x3ca53: 0x6ccf2020, + 0x3ca54: 0x6cfd3a20, 0x3ca55: 0x6cfd3c20, 0x3ca56: 0x6d591420, 0x3ca57: 0x6d591620, + 0x3ca58: 0x6da92c20, 0x3ca59: 0x6da92e20, 0x3ca5a: 0x6e470020, 0x3ca5b: 0x6c78dc20, + 0x3ca5c: 0x6ca1de20, 0x3ca5d: 0x6c3a4420, 0x3ca5e: 0x6ca1f620, 0x3ca5f: 0x6ccf3a20, + 0x3ca60: 0x6d592620, 0x3ca61: 0x6dca4220, 0x3ca62: 0x6c790020, 0x3ca63: 0x6ca20620, + 0x3ca64: 0x6ca20820, 0x3ca65: 0x6ccf6420, 0x3ca66: 0x6d845020, 0x3ca67: 0x6c3a6020, + 0x3ca68: 0x6ccf7020, 0x3ca69: 0x6c23fe20, 0x3ca6a: 0x6c569020, 0x3ca6b: 0x6c569220, + 0x3ca6c: 0x6c792e20, 0x3ca6d: 0x6c793020, 0x3ca6e: 0x6c793220, 0x3ca6f: 0x6ccfca20, + 0x3ca70: 0x6cfdbc20, 0x3ca71: 0x6d2c6220, 0x3ca72: 0x6d2c6420, 0x3ca73: 0x6d2c6620, + 0x3ca74: 0x6d598420, 0x3ca75: 0x6d847c20, 0x3ca76: 0x6e0fc620, 0x3ca77: 0x6c246a20, + 0x3ca78: 0x6c3b3420, 0x3ca79: 0x6ccfcc20, 0x3ca7a: 0x6c572220, 0x3ca7b: 0x6c572420, + 0x3ca7c: 0x6c79b620, 0x3ca7d: 0x6c79b820, 0x3ca7e: 0x6ca2cc20, 0x3ca7f: 0x6ca2ce20, + // Block 0xf2a, offset 0x3ca80 + 0x3ca80: 0x6ca2d020, 0x3ca81: 0x6ca2d220, 0x3ca82: 0x6cd06c20, 0x3ca83: 0x6cd06e20, + 0x3ca84: 0x6cd07020, 0x3ca85: 0x6cd07220, 0x3ca86: 0x6cfe4620, 0x3ca87: 0x6cfe4820, + 0x3ca88: 0x6d2cde20, 0x3ca89: 0x6d5a0420, 0x3ca8a: 0x6da99420, 0x3ca8b: 0x6dca8220, + 0x3ca8c: 0x6de61a20, 0x3ca8d: 0x6c13cc20, 0x3ca8e: 0x6c3b9c20, 0x3ca8f: 0x6c3b9e20, + 0x3ca90: 0x6c3ba020, 0x3ca91: 0x6c3ba220, 0x3ca92: 0x6c3ba420, 0x3ca93: 0x6c3ba620, + 0x3ca94: 0x6c3ba820, 0x3ca95: 0x6c57c220, 0x3ca96: 0x6c57c420, 0x3ca97: 0x6c7a5e20, + 0x3ca98: 0x6c7a6020, 0x3ca99: 0x6c7a6220, 0x3ca9a: 0x6c7a6420, 0x3ca9b: 0x6c7a6620, + 0x3ca9c: 0x6c7a6820, 0x3ca9d: 0x6c7a6a20, 0x3ca9e: 0x6c7a6c20, 0x3ca9f: 0x6c7a6e20, + 0x3caa0: 0x6ca37020, 0x3caa1: 0x6ca37220, 0x3caa2: 0x6ca37420, 0x3caa3: 0x6ca37620, + 0x3caa4: 0x6ca37820, 0x3caa5: 0x6ca37a20, 0x3caa6: 0x6cd14420, 0x3caa7: 0x6cd14620, + 0x3caa8: 0x6cd14820, 0x3caa9: 0x6cd14a20, 0x3caaa: 0x6cd14c20, 0x3caab: 0x6cd14e20, + 0x3caac: 0x6cd15020, 0x3caad: 0x6cd15220, 0x3caae: 0x6cd15420, 0x3caaf: 0x6cd15620, + 0x3cab0: 0x6cd15820, 0x3cab1: 0x6cd15a20, 0x3cab2: 0x6cd15c20, 0x3cab3: 0x6cff2020, + 0x3cab4: 0x6cff2220, 0x3cab5: 0x6cff2420, 0x3cab6: 0x6cff2620, 0x3cab7: 0x6cff2820, + 0x3cab8: 0x6cff2a20, 0x3cab9: 0x6cff2c20, 0x3caba: 0x6cff2e20, 0x3cabb: 0x6cff3020, + 0x3cabc: 0x6cff3220, 0x3cabd: 0x6cff3420, 0x3cabe: 0x6cff3620, 0x3cabf: 0x6cff3820, + // Block 0xf2b, offset 0x3cac0 + 0x3cac0: 0x6cff3a20, 0x3cac1: 0x6cff3c20, 0x3cac2: 0x6cff3e20, 0x3cac3: 0x6d2d6a20, + 0x3cac4: 0x6d2d6c20, 0x3cac5: 0x6d2d6e20, 0x3cac6: 0x6d2d7020, 0x3cac7: 0x6d2d7220, + 0x3cac8: 0x6d2d7420, 0x3cac9: 0x6d2d7620, 0x3caca: 0x6d2d7820, 0x3cacb: 0x6d2d7a20, + 0x3cacc: 0x6d2d7c20, 0x3cacd: 0x6d2d7e20, 0x3cace: 0x6d2d8020, 0x3cacf: 0x6d2d8220, + 0x3cad0: 0x6d5aa220, 0x3cad1: 0x6d5aa420, 0x3cad2: 0x6d5aa620, 0x3cad3: 0x6d5aa820, + 0x3cad4: 0x6d5aaa20, 0x3cad5: 0x6d5aac20, 0x3cad6: 0x6d5aae20, 0x3cad7: 0x6d855420, + 0x3cad8: 0x6d855620, 0x3cad9: 0x6d855820, 0x3cada: 0x6d855a20, 0x3cadb: 0x6d855c20, + 0x3cadc: 0x6d855e20, 0x3cadd: 0x6d856020, 0x3cade: 0x6d856220, 0x3cadf: 0x6d856420, + 0x3cae0: 0x6d856620, 0x3cae1: 0x6daa0420, 0x3cae2: 0x6daa0620, 0x3cae3: 0x6daa0820, + 0x3cae4: 0x6daa0a20, 0x3cae5: 0x6daa0c20, 0x3cae6: 0x6daa0e20, 0x3cae7: 0x6dcade20, + 0x3cae8: 0x6dcae020, 0x3cae9: 0x6de66220, 0x3caea: 0x6de66420, 0x3caeb: 0x6de66620, + 0x3caec: 0x6dfd2420, 0x3caed: 0x6dfd2620, 0x3caee: 0x6dfd2820, 0x3caef: 0x6dfd2a20, + 0x3caf0: 0x6e0ff220, 0x3caf1: 0x6e2a2c20, 0x3caf2: 0x6e32e220, 0x3caf3: 0x6c3bb020, + 0x3caf4: 0x6c57d420, 0x3caf5: 0x6cff5020, 0x3caf6: 0x6c3bc220, 0x3caf7: 0x6c57fa20, + 0x3caf8: 0x6c57fc20, 0x3caf9: 0x6c7aac20, 0x3cafa: 0x6cff8420, 0x3cafb: 0x6cff8620, + 0x3cafc: 0x6d2dd020, 0x3cafd: 0x6d5aec20, 0x3cafe: 0x6d5aee20, 0x3caff: 0x6e1ed420, + // Block 0xf2c, offset 0x3cb00 + 0x3cb00: 0x6cd1a020, 0x3cb01: 0x6c24a820, 0x3cb02: 0x6ca3ce20, 0x3cb03: 0x6cff9c20, + 0x3cb04: 0x6cff9e20, 0x3cb05: 0x6cffa020, 0x3cb06: 0x6c13d420, 0x3cb07: 0x6c24d220, + 0x3cb08: 0x6c3c1220, 0x3cb09: 0x6c588620, 0x3cb0a: 0x6c588820, 0x3cb0b: 0x6c588a20, + 0x3cb0c: 0x6c588c20, 0x3cb0d: 0x6c7b0620, 0x3cb0e: 0x6c7b0820, 0x3cb0f: 0x6c7b0a20, + 0x3cb10: 0x6c7b0c20, 0x3cb11: 0x6ca41420, 0x3cb12: 0x6ca41620, 0x3cb13: 0x6cd1fc20, + 0x3cb14: 0x6cd1fe20, 0x3cb15: 0x6cd20020, 0x3cb16: 0x6cd20220, 0x3cb17: 0x6cd20420, + 0x3cb18: 0x6cffea20, 0x3cb19: 0x6cffec20, 0x3cb1a: 0x6cffee20, 0x3cb1b: 0x6d2e0020, + 0x3cb1c: 0x6d2e0220, 0x3cb1d: 0x6d5b2a20, 0x3cb1e: 0x6d5b2c20, 0x3cb1f: 0x6d85b820, + 0x3cb20: 0x6d85ba20, 0x3cb21: 0x6d85bc20, 0x3cb22: 0x6daa6c20, 0x3cb23: 0x6dcb1c20, + 0x3cb24: 0x6dfd4620, 0x3cb25: 0x6e101a20, 0x3cb26: 0x6e101c20, 0x3cb27: 0x6daa6e20, + 0x3cb28: 0x6c58fa20, 0x3cb29: 0x6c58fc20, 0x3cb2a: 0x6c58fe20, 0x3cb2b: 0x6c590020, + 0x3cb2c: 0x6c7b9c20, 0x3cb2d: 0x6c7b9e20, 0x3cb2e: 0x6c7ba020, 0x3cb2f: 0x6ca48420, + 0x3cb30: 0x6cd2b420, 0x3cb31: 0x6cd2b620, 0x3cb32: 0x6d00ae20, 0x3cb33: 0x6d2ea020, + 0x3cb34: 0x6d2ea220, 0x3cb35: 0x6d2ea420, 0x3cb36: 0x6d5bd220, 0x3cb37: 0x6d5bd420, + 0x3cb38: 0x6daafc20, 0x3cb39: 0x6daafe20, 0x3cb3a: 0x6de6da20, 0x3cb3b: 0x6c593620, + 0x3cb3c: 0x6c593820, 0x3cb3d: 0x6c7bd020, 0x3cb3e: 0x6cd2ea20, 0x3cb3f: 0x6cd2ec20, + // Block 0xf2d, offset 0x3cb40 + 0x3cb40: 0x6d00e020, 0x3cb41: 0x6d00e220, 0x3cb42: 0x6d2ec420, 0x3cb43: 0x6d2ec620, + 0x3cb44: 0x6d5bf620, 0x3cb45: 0x6e104e20, 0x3cb46: 0x6c3c6420, 0x3cb47: 0x6c594c20, + 0x3cb48: 0x6d2eee20, 0x3cb49: 0x6d2ef020, 0x3cb4a: 0x6c596e20, 0x3cb4b: 0x6c597020, + 0x3cb4c: 0x6c7c2a20, 0x3cb4d: 0x6c7c2c20, 0x3cb4e: 0x6ca4ec20, 0x3cb4f: 0x6cd32820, + 0x3cb50: 0x6cd32a20, 0x3cb51: 0x6d012a20, 0x3cb52: 0x6d012c20, 0x3cb53: 0x6d2f0420, + 0x3cb54: 0x6d2f0620, 0x3cb55: 0x6d5c2620, 0x3cb56: 0x6d86ac20, 0x3cb57: 0x6dab4a20, + 0x3cb58: 0x6dab4c20, 0x3cb59: 0x6dcbbc20, 0x3cb5a: 0x6de70a20, 0x3cb5b: 0x6e105a20, + 0x3cb5c: 0x6e1f1420, 0x3cb5d: 0x6e331220, 0x3cb5e: 0x6e444020, 0x3cb5f: 0x6c3cae20, + 0x3cb60: 0x6c3cb020, 0x3cb61: 0x6c5a1420, 0x3cb62: 0x6c5a1620, 0x3cb63: 0x6c5a1820, + 0x3cb64: 0x6c7ccc20, 0x3cb65: 0x6c7cce20, 0x3cb66: 0x6c7cd020, 0x3cb67: 0x6c7cd220, + 0x3cb68: 0x6ca58a20, 0x3cb69: 0x6ca58c20, 0x3cb6a: 0x6ca58e20, 0x3cb6b: 0x6cd3f020, + 0x3cb6c: 0x6cd3f220, 0x3cb6d: 0x6d01ee20, 0x3cb6e: 0x6d01f020, 0x3cb6f: 0x6d01f220, + 0x3cb70: 0x6d01f420, 0x3cb71: 0x6d2fc620, 0x3cb72: 0x6d2fc820, 0x3cb73: 0x6d2fca20, + 0x3cb74: 0x6d2fcc20, 0x3cb75: 0x6d5cca20, 0x3cb76: 0x6d5ccc20, 0x3cb77: 0x6d5cce20, + 0x3cb78: 0x6d5cd020, 0x3cb79: 0x6d874c20, 0x3cb7a: 0x6d874e20, 0x3cb7b: 0x6d875020, + 0x3cb7c: 0x6dabe020, 0x3cb7d: 0x6dabe220, 0x3cb7e: 0x6dabe420, 0x3cb7f: 0x6dabe620, + // Block 0xf2e, offset 0x3cb80 + 0x3cb80: 0x6dabe820, 0x3cb81: 0x6de75020, 0x3cb82: 0x6dfdde20, 0x3cb83: 0x6e108420, + 0x3cb84: 0x6e108620, 0x3cb85: 0x6e444420, 0x3cb86: 0x6c5a2220, 0x3cb87: 0x6cd40820, + 0x3cb88: 0x6c5a3820, 0x3cb89: 0x6c5a3a20, 0x3cb8a: 0x6ca5cc20, 0x3cb8b: 0x6d022e20, + 0x3cb8c: 0x6d2ffa20, 0x3cb8d: 0x6d5cf420, 0x3cb8e: 0x6d5cf620, 0x3cb8f: 0x6dfdea20, + 0x3cb90: 0x6e108a20, 0x3cb91: 0x6c5ab820, 0x3cb92: 0x6c5aba20, 0x3cb93: 0x6c5abc20, + 0x3cb94: 0x6c7db420, 0x3cb95: 0x6c7db620, 0x3cb96: 0x6c7db820, 0x3cb97: 0x6c7dba20, + 0x3cb98: 0x6c7dbc20, 0x3cb99: 0x6ca68020, 0x3cb9a: 0x6ca68220, 0x3cb9b: 0x6ca68420, + 0x3cb9c: 0x6ca68620, 0x3cb9d: 0x6ca68820, 0x3cb9e: 0x6cd4ac20, 0x3cb9f: 0x6cd4ae20, + 0x3cba0: 0x6cd4b020, 0x3cba1: 0x6cd4b220, 0x3cba2: 0x6cd4b420, 0x3cba3: 0x6cd4b620, + 0x3cba4: 0x6d02fc20, 0x3cba5: 0x6d02fe20, 0x3cba6: 0x6d030020, 0x3cba7: 0x6d030220, + 0x3cba8: 0x6d030420, 0x3cba9: 0x6d030620, 0x3cbaa: 0x6d30b020, 0x3cbab: 0x6d30b220, + 0x3cbac: 0x6d5d8220, 0x3cbad: 0x6d5d8420, 0x3cbae: 0x6d5d8620, 0x3cbaf: 0x6d87e820, + 0x3cbb0: 0x6d87ea20, 0x3cbb1: 0x6d87ec20, 0x3cbb2: 0x6d87ee20, 0x3cbb3: 0x6d87f020, + 0x3cbb4: 0x6d87f220, 0x3cbb5: 0x6dac9820, 0x3cbb6: 0x6dac9a20, 0x3cbb7: 0x6dac9c20, + 0x3cbb8: 0x6dcc9a20, 0x3cbb9: 0x6dcc9c20, 0x3cbba: 0x6dcc9e20, 0x3cbbb: 0x6de7a420, + 0x3cbbc: 0x6de7a620, 0x3cbbd: 0x6de7a820, 0x3cbbe: 0x6e10ba20, 0x3cbbf: 0x6e2a9e20, + // Block 0xf2f, offset 0x3cbc0 + 0x3cbc0: 0x6c256020, 0x3cbc1: 0x6c256220, 0x3cbc2: 0x6c3d2820, 0x3cbc3: 0x6c3d2a20, + 0x3cbc4: 0x6c5b2420, 0x3cbc5: 0x6c5b2620, 0x3cbc6: 0x6c5b2820, 0x3cbc7: 0x6c7e2420, + 0x3cbc8: 0x6c7e2620, 0x3cbc9: 0x6c7e2820, 0x3cbca: 0x6c7e2a20, 0x3cbcb: 0x6ca6e820, + 0x3cbcc: 0x6ca6ea20, 0x3cbcd: 0x6ca6ec20, 0x3cbce: 0x6ca6ee20, 0x3cbcf: 0x6ca6f020, + 0x3cbd0: 0x6cd51220, 0x3cbd1: 0x6cd51420, 0x3cbd2: 0x6cd51620, 0x3cbd3: 0x6cd51820, + 0x3cbd4: 0x6cd51a20, 0x3cbd5: 0x6cd51c20, 0x3cbd6: 0x6cd51e20, 0x3cbd7: 0x6cd52020, + 0x3cbd8: 0x6cd52220, 0x3cbd9: 0x6cd52420, 0x3cbda: 0x6d037220, 0x3cbdb: 0x6d037420, + 0x3cbdc: 0x6d310c20, 0x3cbdd: 0x6d310e20, 0x3cbde: 0x6d311020, 0x3cbdf: 0x6d311220, + 0x3cbe0: 0x6d5dcc20, 0x3cbe1: 0x6d5dce20, 0x3cbe2: 0x6dacc820, 0x3cbe3: 0x6dccbc20, + 0x3cbe4: 0x6e333820, 0x3cbe5: 0x6dccbe20, 0x3cbe6: 0x6c140a20, 0x3cbe7: 0x6c3d6620, + 0x3cbe8: 0x6c5b8e20, 0x3cbe9: 0x6c5b9020, 0x3cbea: 0x6c7e9e20, 0x3cbeb: 0x6c7ea020, + 0x3cbec: 0x6c7ea220, 0x3cbed: 0x6c7ea420, 0x3cbee: 0x6ca76e20, 0x3cbef: 0x6ca77020, + 0x3cbf0: 0x6ca77220, 0x3cbf1: 0x6ca77420, 0x3cbf2: 0x6cd59420, 0x3cbf3: 0x6cd59620, + 0x3cbf4: 0x6cd59820, 0x3cbf5: 0x6cd59a20, 0x3cbf6: 0x6cd59c20, 0x3cbf7: 0x6cd59e20, + 0x3cbf8: 0x6cd5a020, 0x3cbf9: 0x6d042220, 0x3cbfa: 0x6d042420, 0x3cbfb: 0x6d042620, + 0x3cbfc: 0x6d31b820, 0x3cbfd: 0x6d31ba20, 0x3cbfe: 0x6d31bc20, 0x3cbff: 0x6d31be20, + // Block 0xf30, offset 0x3cc00 + 0x3cc00: 0x6d31c020, 0x3cc01: 0x6d5e6220, 0x3cc02: 0x6d5e6420, 0x3cc03: 0x6d5e6620, + 0x3cc04: 0x6d5e6820, 0x3cc05: 0x6d88b820, 0x3cc06: 0x6dad4020, 0x3cc07: 0x6dcd1820, + 0x3cc08: 0x6dcd1a20, 0x3cc09: 0x6dfe8220, 0x3cc0a: 0x6c5bd020, 0x3cc0b: 0x6c7ef420, + 0x3cc0c: 0x6ca7c020, 0x3cc0d: 0x6ca7c220, 0x3cc0e: 0x6cd60420, 0x3cc0f: 0x6cd60620, + 0x3cc10: 0x6cd60820, 0x3cc11: 0x6d048020, 0x3cc12: 0x6d048220, 0x3cc13: 0x6d048420, + 0x3cc14: 0x6d320420, 0x3cc15: 0x6d320620, 0x3cc16: 0x6d5eb420, 0x3cc17: 0x6d891820, + 0x3cc18: 0x6d891a20, 0x3cc19: 0x6d891c20, 0x3cc1a: 0x6d891e20, 0x3cc1b: 0x6dad8620, + 0x3cc1c: 0x6dcd3620, 0x3cc1d: 0x6e2ac020, 0x3cc1e: 0x6c3d9820, 0x3cc1f: 0x6c5bf420, + 0x3cc20: 0x6c7f2e20, 0x3cc21: 0x6c7f3020, 0x3cc22: 0x6ca7e420, 0x3cc23: 0x6cd63220, + 0x3cc24: 0x6cd63420, 0x3cc25: 0x6d04b220, 0x3cc26: 0x6d04b420, 0x3cc27: 0x6d322a20, + 0x3cc28: 0x6d322c20, 0x3cc29: 0x6d5ec620, 0x3cc2a: 0x6d5ec820, 0x3cc2b: 0x6d5eca20, + 0x3cc2c: 0x6d892c20, 0x3cc2d: 0x6dada420, 0x3cc2e: 0x6de81020, 0x3cc2f: 0x6e1f8420, + 0x3cc30: 0x6c3da620, 0x3cc31: 0x6c5c2c20, 0x3cc32: 0x6c7f9c20, 0x3cc33: 0x6c7f9e20, + 0x3cc34: 0x6c7fa020, 0x3cc35: 0x6c7fa220, 0x3cc36: 0x6c7fa420, 0x3cc37: 0x6c7fa620, + 0x3cc38: 0x6ca88a20, 0x3cc39: 0x6ca88c20, 0x3cc3a: 0x6ca88e20, 0x3cc3b: 0x6ca89020, + 0x3cc3c: 0x6cd6da20, 0x3cc3d: 0x6cd6dc20, 0x3cc3e: 0x6d058c20, 0x3cc3f: 0x6d058e20, + // Block 0xf31, offset 0x3cc40 + 0x3cc40: 0x6d059020, 0x3cc41: 0x6d059220, 0x3cc42: 0x6d059420, 0x3cc43: 0x6d059620, + 0x3cc44: 0x6d332a20, 0x3cc45: 0x6d332c20, 0x3cc46: 0x6d332e20, 0x3cc47: 0x6d333020, + 0x3cc48: 0x6d333220, 0x3cc49: 0x6d333420, 0x3cc4a: 0x6d5fdc20, 0x3cc4b: 0x6d5fde20, + 0x3cc4c: 0x6d5fe020, 0x3cc4d: 0x6d5fe220, 0x3cc4e: 0x6d5fe420, 0x3cc4f: 0x6d5fe620, + 0x3cc50: 0x6d8a4020, 0x3cc51: 0x6d8a4220, 0x3cc52: 0x6d8a4420, 0x3cc53: 0x6d8a4620, + 0x3cc54: 0x6d8a4820, 0x3cc55: 0x6d8a4a20, 0x3cc56: 0x6d8a4c20, 0x3cc57: 0x6d8a4e20, + 0x3cc58: 0x6daeb420, 0x3cc59: 0x6daeb620, 0x3cc5a: 0x6daeb820, 0x3cc5b: 0x6daeba20, + 0x3cc5c: 0x6daebc20, 0x3cc5d: 0x6daebe20, 0x3cc5e: 0x6daec020, 0x3cc5f: 0x6daec220, + 0x3cc60: 0x6dce5a20, 0x3cc61: 0x6dce5c20, 0x3cc62: 0x6dce5e20, 0x3cc63: 0x6dce6020, + 0x3cc64: 0x6dce6220, 0x3cc65: 0x6de8be20, 0x3cc66: 0x6de8c020, 0x3cc67: 0x6dff1a20, + 0x3cc68: 0x6e118220, 0x3cc69: 0x6e118420, 0x3cc6a: 0x6e118620, 0x3cc6b: 0x6e118820, + 0x3cc6c: 0x6e1fe020, 0x3cc6d: 0x6e2b0220, 0x3cc6e: 0x6e337e20, 0x3cc6f: 0x6e398220, + 0x3cc70: 0x6e42de20, 0x3cc71: 0x6c3db620, 0x3cc72: 0x6c3db820, 0x3cc73: 0x6c5c5a20, + 0x3cc74: 0x6c5c5c20, 0x3cc75: 0x6c7fe820, 0x3cc76: 0x6c7fea20, 0x3cc77: 0x6c7fec20, + 0x3cc78: 0x6ca8e820, 0x3cc79: 0x6ca8ea20, 0x3cc7a: 0x6ca8ec20, 0x3cc7b: 0x6ca8ee20, + 0x3cc7c: 0x6ca8f020, 0x3cc7d: 0x6cd73a20, 0x3cc7e: 0x6cd73c20, 0x3cc7f: 0x6cd73e20, + // Block 0xf32, offset 0x3cc80 + 0x3cc80: 0x6cd74020, 0x3cc81: 0x6d060220, 0x3cc82: 0x6d33ac20, 0x3cc83: 0x6d33ae20, + 0x3cc84: 0x6d33b020, 0x3cc85: 0x6d33b220, 0x3cc86: 0x6d605e20, 0x3cc87: 0x6d606020, + 0x3cc88: 0x6d606220, 0x3cc89: 0x6d8aa420, 0x3cc8a: 0x6d8aa620, 0x3cc8b: 0x6d8aa820, + 0x3cc8c: 0x6d8aaa20, 0x3cc8d: 0x6daf1a20, 0x3cc8e: 0x6daf1c20, 0x3cc8f: 0x6dceba20, + 0x3cc90: 0x6dcebc20, 0x3cc91: 0x6dcebe20, 0x3cc92: 0x6de90420, 0x3cc93: 0x6de90620, + 0x3cc94: 0x6de90820, 0x3cc95: 0x6de90a20, 0x3cc96: 0x6dff3620, 0x3cc97: 0x6e1ffa20, + 0x3cc98: 0x6e1ffc20, 0x3cc99: 0x6e1ffe20, 0x3cc9a: 0x6c3dd220, 0x3cc9b: 0x6c3dd420, + 0x3cc9c: 0x6c5c9420, 0x3cc9d: 0x6c5c9620, 0x3cc9e: 0x6c809a20, 0x3cc9f: 0x6ca99820, + 0x3cca0: 0x6ca99a20, 0x3cca1: 0x6ca99c20, 0x3cca2: 0x6cd80620, 0x3cca3: 0x6cd80820, + 0x3cca4: 0x6cd80a20, 0x3cca5: 0x6d06c220, 0x3cca6: 0x6d06c420, 0x3cca7: 0x6d06c620, + 0x3cca8: 0x6d06c820, 0x3cca9: 0x6d06ca20, 0x3ccaa: 0x6d34b420, 0x3ccab: 0x6d34b620, + 0x3ccac: 0x6d34b820, 0x3ccad: 0x6d34ba20, 0x3ccae: 0x6d34bc20, 0x3ccaf: 0x6d34be20, + 0x3ccb0: 0x6d34c020, 0x3ccb1: 0x6d34c220, 0x3ccb2: 0x6d34c420, 0x3ccb3: 0x6d617020, + 0x3ccb4: 0x6d617220, 0x3ccb5: 0x6d617420, 0x3ccb6: 0x6d617620, 0x3ccb7: 0x6d617820, + 0x3ccb8: 0x6d8b8a20, 0x3ccb9: 0x6d8b8c20, 0x3ccba: 0x6d8b8e20, 0x3ccbb: 0x6d8b9020, + 0x3ccbc: 0x6d8b9220, 0x3ccbd: 0x6dafe220, 0x3ccbe: 0x6dafe420, 0x3ccbf: 0x6dafe620, + // Block 0xf33, offset 0x3ccc0 + 0x3ccc0: 0x6dafe820, 0x3ccc1: 0x6dcf7220, 0x3ccc2: 0x6dcf7420, 0x3ccc3: 0x6dcf7620, + 0x3ccc4: 0x6dcf7820, 0x3ccc5: 0x6de99220, 0x3ccc6: 0x6de99420, 0x3ccc7: 0x6de99620, + 0x3ccc8: 0x6de99820, 0x3ccc9: 0x6de99a20, 0x3ccca: 0x6de99c20, 0x3cccb: 0x6de99e20, + 0x3cccc: 0x6dff8a20, 0x3cccd: 0x6dff8c20, 0x3ccce: 0x6dff8e20, 0x3cccf: 0x6e11fa20, + 0x3ccd0: 0x6e11fc20, 0x3ccd1: 0x6e11fe20, 0x3ccd2: 0x6e203420, 0x3ccd3: 0x6e203620, + 0x3ccd4: 0x6e203820, 0x3ccd5: 0x6e2b3020, 0x3ccd6: 0x6e39a620, 0x3ccd7: 0x6e3dd220, + 0x3ccd8: 0x6e40b420, 0x3ccd9: 0x6c050220, 0x3ccda: 0x6c25c420, 0x3ccdb: 0x6c25c620, + 0x3ccdc: 0x6c25c820, 0x3ccdd: 0x6c25ca20, 0x3ccde: 0x6c3dfc20, 0x3ccdf: 0x6c3dfe20, + 0x3cce0: 0x6c5cba20, 0x3cce1: 0x6c5cbc20, 0x3cce2: 0x6c5cbe20, 0x3cce3: 0x6c5cc020, + 0x3cce4: 0x6c80b620, 0x3cce5: 0x6c80b820, 0x3cce6: 0x6c80ba20, 0x3cce7: 0x6c80bc20, + 0x3cce8: 0x6c80be20, 0x3cce9: 0x6c80c020, 0x3ccea: 0x6ca9dc20, 0x3cceb: 0x6ca9de20, + 0x3ccec: 0x6cd84a20, 0x3cced: 0x6cd84c20, 0x3ccee: 0x6cd84e20, 0x3ccef: 0x6d06ee20, + 0x3ccf0: 0x6d06f020, 0x3ccf1: 0x6d34d820, 0x3ccf2: 0x6d34da20, 0x3ccf3: 0x6d34dc20, + 0x3ccf4: 0x6d34de20, 0x3ccf5: 0x6d618e20, 0x3ccf6: 0x6d619020, 0x3ccf7: 0x6d8ba420, + 0x3ccf8: 0x6daff020, 0x3ccf9: 0x6e120020, 0x3ccfa: 0x6d06fa20, 0x3ccfb: 0x6d34fa20, + 0x3ccfc: 0x6d61a020, 0x3ccfd: 0x6d61a220, 0x3ccfe: 0x6d8bb820, 0x3ccff: 0x6de9b220, + // Block 0xf34, offset 0x3cd00 + 0x3cd00: 0x6c3e1e20, 0x3cd01: 0x6c5cf420, 0x3cd02: 0x6c812020, 0x3cd03: 0x6caa2420, + 0x3cd04: 0x6caa2620, 0x3cd05: 0x6caa2820, 0x3cd06: 0x6d074220, 0x3cd07: 0x6d074420, + 0x3cd08: 0x6d352c20, 0x3cd09: 0x6d61c820, 0x3cd0a: 0x6d8bf020, 0x3cd0b: 0x6dcfa620, + 0x3cd0c: 0x6de9d420, 0x3cd0d: 0x6e120e20, 0x3cd0e: 0x6c3e2c20, 0x3cd0f: 0x6caa6620, + 0x3cd10: 0x6caa6820, 0x3cd11: 0x6caa6a20, 0x3cd12: 0x6caa6c20, 0x3cd13: 0x6cd8a620, + 0x3cd14: 0x6cd8a820, 0x3cd15: 0x6d077a20, 0x3cd16: 0x6d61f020, 0x3cd17: 0x6d61f220, + 0x3cd18: 0x6d61f420, 0x3cd19: 0x6d8c0a20, 0x3cd1a: 0x6db04a20, 0x3cd1b: 0x6db04c20, + 0x3cd1c: 0x6db04e20, 0x3cd1d: 0x6dcfd420, 0x3cd1e: 0x6dcfd620, 0x3cd1f: 0x6dffb020, + 0x3cd20: 0x6e204820, 0x3cd21: 0x6e204a20, 0x3cd22: 0x6c5d2c20, 0x3cd23: 0x6c818e20, + 0x3cd24: 0x6caab020, 0x3cd25: 0x6cd8ec20, 0x3cd26: 0x6cd8ee20, 0x3cd27: 0x6cd8f020, + 0x3cd28: 0x6d07a620, 0x3cd29: 0x6d07a820, 0x3cd2a: 0x6d358a20, 0x3cd2b: 0x6d623820, + 0x3cd2c: 0x6d623a20, 0x3cd2d: 0x6d8c3e20, 0x3cd2e: 0x6d8c4020, 0x3cd2f: 0x6db07020, + 0x3cd30: 0x6dd00820, 0x3cd31: 0x6dd00a20, 0x3cd32: 0x6e205420, 0x3cd33: 0x6c81a020, + 0x3cd34: 0x6c81a220, 0x3cd35: 0x6d07ac20, 0x3cd36: 0x6d359020, 0x3cd37: 0x6d624020, + 0x3cd38: 0x6dd00e20, 0x3cd39: 0x6caace20, 0x3cd3a: 0x6cd90a20, 0x3cd3b: 0x6cd90c20, + 0x3cd3c: 0x6d07be20, 0x3cd3d: 0x6d626620, 0x3cd3e: 0x6d8c6020, 0x3cd3f: 0x6dd02820, + // Block 0xf35, offset 0x3cd40 + 0x3cd40: 0x6c3e5820, 0x3cd41: 0x6c81f820, 0x3cd42: 0x6cd94820, 0x3cd43: 0x6cd94a20, + 0x3cd44: 0x6d07f620, 0x3cd45: 0x6d07f820, 0x3cd46: 0x6d07fa20, 0x3cd47: 0x6d360a20, + 0x3cd48: 0x6d360c20, 0x3cd49: 0x6d62b420, 0x3cd4a: 0x6d8c9220, 0x3cd4b: 0x6d8c9420, + 0x3cd4c: 0x6d8c9620, 0x3cd4d: 0x6d8c9820, 0x3cd4e: 0x6db0c820, 0x3cd4f: 0x6db0ca20, + 0x3cd50: 0x6dd05a20, 0x3cd51: 0x6dd05c20, 0x3cd52: 0x6dea1a20, 0x3cd53: 0x6e42ea20, + 0x3cd54: 0x6d080820, 0x3cd55: 0x6d361820, 0x3cd56: 0x6c3f1420, 0x3cd57: 0x6c3f1620, + 0x3cd58: 0x6c3f1820, 0x3cd59: 0x6c5e3020, 0x3cd5a: 0x6c5e3220, 0x3cd5b: 0x6c5e3420, + 0x3cd5c: 0x6c5e3620, 0x3cd5d: 0x6c82ce20, 0x3cd5e: 0x6c82d020, 0x3cd5f: 0x6cabd620, + 0x3cd60: 0x6cabd820, 0x3cd61: 0x6cabda20, 0x3cd62: 0x6cda6620, 0x3cd63: 0x6cda6820, + 0x3cd64: 0x6cda6a20, 0x3cd65: 0x6cda6c20, 0x3cd66: 0x6d08f220, 0x3cd67: 0x6d08f420, + 0x3cd68: 0x6d08f620, 0x3cd69: 0x6d36d620, 0x3cd6a: 0x6d36d820, 0x3cd6b: 0x6d36da20, + 0x3cd6c: 0x6d36dc20, 0x3cd6d: 0x6d36de20, 0x3cd6e: 0x6d36e020, 0x3cd6f: 0x6d634a20, + 0x3cd70: 0x6d634c20, 0x3cd71: 0x6d634e20, 0x3cd72: 0x6d635020, 0x3cd73: 0x6d635220, + 0x3cd74: 0x6d635420, 0x3cd75: 0x6d8d5020, 0x3cd76: 0x6d8d5220, 0x3cd77: 0x6d8d5420, + 0x3cd78: 0x6d8d5620, 0x3cd79: 0x6db15e20, 0x3cd7a: 0x6db16020, 0x3cd7b: 0x6db16220, + 0x3cd7c: 0x6dd0ac20, 0x3cd7d: 0x6dd0ae20, 0x3cd7e: 0x6dea6420, 0x3cd7f: 0x6dea6620, + // Block 0xf36, offset 0x3cd80 + 0x3cd80: 0x6e001420, 0x3cd81: 0x6e125820, 0x3cd82: 0x6e207c20, 0x3cd83: 0x6e2b6220, + 0x3cd84: 0x6e454220, 0x3cd85: 0x6c82da20, 0x3cd86: 0x6cda7a20, 0x3cd87: 0x6d08f820, + 0x3cd88: 0x6d36ec20, 0x3cd89: 0x6dd0b620, 0x3cd8a: 0x6cda8a20, 0x3cd8b: 0x6d636820, + 0x3cd8c: 0x6dd0ba20, 0x3cd8d: 0x6e3de620, 0x3cd8e: 0x6d090020, 0x3cd8f: 0x6d36fc20, + 0x3cd90: 0x6d36fe20, 0x3cd91: 0x6e001e20, 0x3cd92: 0x6dd0d020, 0x3cd93: 0x6e3dea20, + 0x3cd94: 0x6c3f3220, 0x3cd95: 0x6d091820, 0x3cd96: 0x6d091a20, 0x3cd97: 0x6d8d9420, + 0x3cd98: 0x6dea8420, 0x3cd99: 0x6e208420, 0x3cd9a: 0x6c5e7620, 0x3cd9b: 0x6d377220, + 0x3cd9c: 0x6d63e020, 0x3cd9d: 0x6d63e220, 0x3cd9e: 0x6db1ba20, 0x3cd9f: 0x6dd11620, + 0x3cda0: 0x6e004820, 0x3cda1: 0x6e209620, 0x3cda2: 0x6e209820, 0x3cda3: 0x6e209a20, + 0x3cda4: 0x6d8dd820, 0x3cda5: 0x6c14c620, 0x3cda6: 0x6c14c820, 0x3cda7: 0x6c268420, + 0x3cda8: 0x6c268620, 0x3cda9: 0x6c400220, 0x3cdaa: 0x6c400420, 0x3cdab: 0x6c400620, + 0x3cdac: 0x6c400820, 0x3cdad: 0x6c400a20, 0x3cdae: 0x6c5f7e20, 0x3cdaf: 0x6c5f8020, + 0x3cdb0: 0x6c5f8220, 0x3cdb1: 0x6c5f8420, 0x3cdb2: 0x6c5f8620, 0x3cdb3: 0x6c5f8820, + 0x3cdb4: 0x6c5f8a20, 0x3cdb5: 0x6c5f8c20, 0x3cdb6: 0x6c84b020, 0x3cdb7: 0x6c84b220, + 0x3cdb8: 0x6c84b420, 0x3cdb9: 0x6c84b620, 0x3cdba: 0x6c84b820, 0x3cdbb: 0x6c84ba20, + 0x3cdbc: 0x6c84bc20, 0x3cdbd: 0x6c84be20, 0x3cdbe: 0x6c84c020, 0x3cdbf: 0x6cadf420, + // Block 0xf37, offset 0x3cdc0 + 0x3cdc0: 0x6cadf620, 0x3cdc1: 0x6cadf820, 0x3cdc2: 0x6cadfa20, 0x3cdc3: 0x6cadfc20, + 0x3cdc4: 0x6cadfe20, 0x3cdc5: 0x6cae0020, 0x3cdc6: 0x6cae0220, 0x3cdc7: 0x6cae0420, + 0x3cdc8: 0x6cae0620, 0x3cdc9: 0x6cae0820, 0x3cdca: 0x6cae0a20, 0x3cdcb: 0x6cae0c20, + 0x3cdcc: 0x6cae0e20, 0x3cdcd: 0x6cae1020, 0x3cdce: 0x6cae1220, 0x3cdcf: 0x6cae1420, + 0x3cdd0: 0x6cdd2220, 0x3cdd1: 0x6cdd2420, 0x3cdd2: 0x6cdd2620, 0x3cdd3: 0x6cdd2820, + 0x3cdd4: 0x6cdd2a20, 0x3cdd5: 0x6cdd2c20, 0x3cdd6: 0x6cdd2e20, 0x3cdd7: 0x6cdd3020, + 0x3cdd8: 0x6cdd3220, 0x3cdd9: 0x6cdd3420, 0x3cdda: 0x6cdd3620, 0x3cddb: 0x6cdd3820, + 0x3cddc: 0x6cdd3a20, 0x3cddd: 0x6cdd3c20, 0x3cdde: 0x6cdd3e20, 0x3cddf: 0x6cdd4020, + 0x3cde0: 0x6cdd4220, 0x3cde1: 0x6d0b8c20, 0x3cde2: 0x6d0b8e20, 0x3cde3: 0x6d0b9020, + 0x3cde4: 0x6d0b9220, 0x3cde5: 0x6d0b9420, 0x3cde6: 0x6d0b9620, 0x3cde7: 0x6d0b9820, + 0x3cde8: 0x6d0b9a20, 0x3cde9: 0x6d0b9c20, 0x3cdea: 0x6d0b9e20, 0x3cdeb: 0x6d0ba020, + 0x3cdec: 0x6d0ba220, 0x3cded: 0x6d0ba420, 0x3cdee: 0x6d0ba620, 0x3cdef: 0x6d0ba820, + 0x3cdf0: 0x6cdd4620, 0x3cdf1: 0x6d0baa20, 0x3cdf2: 0x6d0bac20, 0x3cdf3: 0x6d0bae20, + 0x3cdf4: 0x6d0bb020, 0x3cdf5: 0x6d0bb220, 0x3cdf6: 0x6d399220, 0x3cdf7: 0x6d399420, + 0x3cdf8: 0x6d399620, 0x3cdf9: 0x6d399820, 0x3cdfa: 0x6d399a20, 0x3cdfb: 0x6d399c20, + 0x3cdfc: 0x6d399e20, 0x3cdfd: 0x6d39a020, 0x3cdfe: 0x6d39a220, 0x3cdff: 0x6d39a420, + // Block 0xf38, offset 0x3ce00 + 0x3ce00: 0x6d39a620, 0x3ce01: 0x6d39a820, 0x3ce02: 0x6d39aa20, 0x3ce03: 0x6d39ac20, + 0x3ce04: 0x6d39ae20, 0x3ce05: 0x6d39b020, 0x3ce06: 0x6d39b220, 0x3ce07: 0x6d39b420, + 0x3ce08: 0x6d65c420, 0x3ce09: 0x6d65c620, 0x3ce0a: 0x6d65c820, 0x3ce0b: 0x6d65ca20, + 0x3ce0c: 0x6d65cc20, 0x3ce0d: 0x6d65ce20, 0x3ce0e: 0x6d65d020, 0x3ce0f: 0x6d65d220, + 0x3ce10: 0x6d65d420, 0x3ce11: 0x6d65d620, 0x3ce12: 0x6d65d820, 0x3ce13: 0x6d65da20, + 0x3ce14: 0x6d65dc20, 0x3ce15: 0x6d65de20, 0x3ce16: 0x6d65e020, 0x3ce17: 0x6d65e220, + 0x3ce18: 0x6d65e420, 0x3ce19: 0x6d65e620, 0x3ce1a: 0x6d65e820, 0x3ce1b: 0x6d65ea20, + 0x3ce1c: 0x6d65ec20, 0x3ce1d: 0x6d8fb220, 0x3ce1e: 0x6d8fb420, 0x3ce1f: 0x6d8fb620, + 0x3ce20: 0x6d8fb820, 0x3ce21: 0x6d8fba20, 0x3ce22: 0x6d8fbc20, 0x3ce23: 0x6d8fbe20, + 0x3ce24: 0x6d8fc020, 0x3ce25: 0x6db37420, 0x3ce26: 0x6db37620, 0x3ce27: 0x6db37820, + 0x3ce28: 0x6db37a20, 0x3ce29: 0x6db37c20, 0x3ce2a: 0x6db37e20, 0x3ce2b: 0x6db38020, + 0x3ce2c: 0x6db38220, 0x3ce2d: 0x6db38420, 0x3ce2e: 0x6db38620, 0x3ce2f: 0x6db38820, + 0x3ce30: 0x6db38a20, 0x3ce31: 0x6db38c20, 0x3ce32: 0x6db38e20, 0x3ce33: 0x6db39020, + 0x3ce34: 0x6db39220, 0x3ce35: 0x6dd27620, 0x3ce36: 0x6dd27820, 0x3ce37: 0x6dd27a20, + 0x3ce38: 0x6dd27c20, 0x3ce39: 0x6dd27e20, 0x3ce3a: 0x6dd28020, 0x3ce3b: 0x6dd28220, + 0x3ce3c: 0x6dd28420, 0x3ce3d: 0x6dd28620, 0x3ce3e: 0x6dd28820, 0x3ce3f: 0x6dd28a20, + // Block 0xf39, offset 0x3ce40 + 0x3ce40: 0x6dd28c20, 0x3ce41: 0x6dd28e20, 0x3ce42: 0x6dd29020, 0x3ce43: 0x6dd29220, + 0x3ce44: 0x6dd29420, 0x3ce45: 0x6debc020, 0x3ce46: 0x6debc220, 0x3ce47: 0x6debc420, + 0x3ce48: 0x6debc620, 0x3ce49: 0x6debc820, 0x3ce4a: 0x6debca20, 0x3ce4b: 0x6debcc20, + 0x3ce4c: 0x6e014c20, 0x3ce4d: 0x6e014e20, 0x3ce4e: 0x6e015020, 0x3ce4f: 0x6e015220, + 0x3ce50: 0x6e133820, 0x3ce51: 0x6e133a20, 0x3ce52: 0x6e133c20, 0x3ce53: 0x6e133e20, + 0x3ce54: 0x6e211820, 0x3ce55: 0x6e211a20, 0x3ce56: 0x6e211c20, 0x3ce57: 0x6e2bd420, + 0x3ce58: 0x6e342020, 0x3ce59: 0x6e342220, 0x3ce5a: 0x6e342420, 0x3ce5b: 0x6e3e0e20, + 0x3ce5c: 0x6e3e1020, 0x3ce5d: 0x6c5f9e20, 0x3ce5e: 0x6c5fa020, 0x3ce5f: 0x6c84dc20, + 0x3ce60: 0x6cdd6220, 0x3ce61: 0x6cdd6420, 0x3ce62: 0x6d39da20, 0x3ce63: 0x6db3b220, + 0x3ce64: 0x6c403420, 0x3ce65: 0x6c5ff220, 0x3ce66: 0x6c5ff420, 0x3ce67: 0x6c857820, + 0x3ce68: 0x6c857a20, 0x3ce69: 0x6c857c20, 0x3ce6a: 0x6c857e20, 0x3ce6b: 0x6c858020, + 0x3ce6c: 0x6caf0c20, 0x3ce6d: 0x6caf0e20, 0x3ce6e: 0x6caf1020, 0x3ce6f: 0x6caf1220, + 0x3ce70: 0x6caf1420, 0x3ce71: 0x6caf1620, 0x3ce72: 0x6caf1820, 0x3ce73: 0x6cde3020, + 0x3ce74: 0x6cde3220, 0x3ce75: 0x6cde3420, 0x3ce76: 0x6cde3620, 0x3ce77: 0x6cde3820, + 0x3ce78: 0x6cde3a20, 0x3ce79: 0x6cde3c20, 0x3ce7a: 0x6cde3e20, 0x3ce7b: 0x6cde4020, + 0x3ce7c: 0x6cde4220, 0x3ce7d: 0x6d0cb020, 0x3ce7e: 0x6d0cb220, 0x3ce7f: 0x6d0cb420, + // Block 0xf3a, offset 0x3ce80 + 0x3ce80: 0x6d0cb620, 0x3ce81: 0x6d0cb820, 0x3ce82: 0x6d3afc20, 0x3ce83: 0x6d3afe20, + 0x3ce84: 0x6d3b0020, 0x3ce85: 0x6d3b0220, 0x3ce86: 0x6d3b0420, 0x3ce87: 0x6d3b0620, + 0x3ce88: 0x6d3b0820, 0x3ce89: 0x6d3b0a20, 0x3ce8a: 0x6d672e20, 0x3ce8b: 0x6d673020, + 0x3ce8c: 0x6d673220, 0x3ce8d: 0x6d673420, 0x3ce8e: 0x6d673620, 0x3ce8f: 0x6d910820, + 0x3ce90: 0x6d910a20, 0x3ce91: 0x6d910c20, 0x3ce92: 0x6d910e20, 0x3ce93: 0x6d911020, + 0x3ce94: 0x6d911220, 0x3ce95: 0x6d911420, 0x3ce96: 0x6db4be20, 0x3ce97: 0x6db4c020, + 0x3ce98: 0x6db4c220, 0x3ce99: 0x6db4c420, 0x3ce9a: 0x6dd38e20, 0x3ce9b: 0x6dd39020, + 0x3ce9c: 0x6dd39220, 0x3ce9d: 0x6dd39420, 0x3ce9e: 0x6dd39620, 0x3ce9f: 0x6dec9c20, + 0x3cea0: 0x6dec9e20, 0x3cea1: 0x6deca020, 0x3cea2: 0x6deca220, 0x3cea3: 0x6e01d420, + 0x3cea4: 0x6e01d620, 0x3cea5: 0x6e01d820, 0x3cea6: 0x6e13c220, 0x3cea7: 0x6e13c420, + 0x3cea8: 0x6e218420, 0x3cea9: 0x6e447620, 0x3ceaa: 0x6c859220, 0x3ceab: 0x6caf2420, + 0x3ceac: 0x6db4ce20, 0x3cead: 0x6caf3220, 0x3ceae: 0x6cde6820, 0x3ceaf: 0x6d675420, + 0x3ceb0: 0x6dd3a820, 0x3ceb1: 0x6e2c2020, 0x3ceb2: 0x6c605e20, 0x3ceb3: 0x6c606020, + 0x3ceb4: 0x6c606220, 0x3ceb5: 0x6c861c20, 0x3ceb6: 0x6c861e20, 0x3ceb7: 0x6c862020, + 0x3ceb8: 0x6cafd820, 0x3ceb9: 0x6cafda20, 0x3ceba: 0x6cafdc20, 0x3cebb: 0x6cafde20, + 0x3cebc: 0x6cafe020, 0x3cebd: 0x6cdef420, 0x3cebe: 0x6d0d6820, 0x3cebf: 0x6d0d6a20, + // Block 0xf3b, offset 0x3cec0 + 0x3cec0: 0x6d0d6c20, 0x3cec1: 0x6d0d6e20, 0x3cec2: 0x6d0d7020, 0x3cec3: 0x6d0d7220, + 0x3cec4: 0x6d0d7420, 0x3cec5: 0x6d3bd820, 0x3cec6: 0x6d3bda20, 0x3cec7: 0x6d67ec20, + 0x3cec8: 0x6d67ee20, 0x3cec9: 0x6d67f020, 0x3ceca: 0x6d91ae20, 0x3cecb: 0x6d91b020, + 0x3cecc: 0x6d91b220, 0x3cecd: 0x6d91b420, 0x3cece: 0x6d91b620, 0x3cecf: 0x6d91b820, + 0x3ced0: 0x6db57820, 0x3ced1: 0x6db57a20, 0x3ced2: 0x6db57c20, 0x3ced3: 0x6dd40a20, + 0x3ced4: 0x6dd40c20, 0x3ced5: 0x6decfc20, 0x3ced6: 0x6e021620, 0x3ced7: 0x6e21a020, + 0x3ced8: 0x6e2c3420, 0x3ced9: 0x6e2c3620, 0x3ceda: 0x6cafec20, 0x3cedb: 0x6d91c020, + 0x3cedc: 0x6c863c20, 0x3cedd: 0x6cdf3220, 0x3cede: 0x6d0daa20, 0x3cedf: 0x6d3c1a20, + 0x3cee0: 0x6d3c1c20, 0x3cee1: 0x6d683020, 0x3cee2: 0x6d91fe20, 0x3cee3: 0x6d920020, + 0x3cee4: 0x6dd43420, 0x3cee5: 0x6e022c20, 0x3cee6: 0x6e3a3220, 0x3cee7: 0x6e3a3420, + 0x3cee8: 0x6c607820, 0x3cee9: 0x6c607a20, 0x3ceea: 0x6c864020, 0x3ceeb: 0x6d0dae20, + 0x3ceec: 0x6d683820, 0x3ceed: 0x6db5a620, 0x3ceee: 0x6d0dd820, 0x3ceef: 0x6d0dda20, + 0x3cef0: 0x6d922e20, 0x3cef1: 0x6d923020, 0x3cef2: 0x6c868c20, 0x3cef3: 0x6c868e20, + 0x3cef4: 0x6cb10620, 0x3cef5: 0x6cb10820, 0x3cef6: 0x6ce02420, 0x3cef7: 0x6ce02620, + 0x3cef8: 0x6ce02820, 0x3cef9: 0x6ce02a20, 0x3cefa: 0x6d0eae20, 0x3cefb: 0x6d0eb020, + 0x3cefc: 0x6d3d0020, 0x3cefd: 0x6d3d0220, 0x3cefe: 0x6d3d0420, 0x3ceff: 0x6d697220, + // Block 0xf3c, offset 0x3cf00 + 0x3cf00: 0x6d697420, 0x3cf01: 0x6d92f220, 0x3cf02: 0x6d92f420, 0x3cf03: 0x6d92f620, + 0x3cf04: 0x6d92f820, 0x3cf05: 0x6d92fa20, 0x3cf06: 0x6db69220, 0x3cf07: 0x6db69420, + 0x3cf08: 0x6db69620, 0x3cf09: 0x6dd4f220, 0x3cf0a: 0x6dd4f420, 0x3cf0b: 0x6dd4f620, + 0x3cf0c: 0x6dd4f820, 0x3cf0d: 0x6dedda20, 0x3cf0e: 0x6deddc20, 0x3cf0f: 0x6dedde20, + 0x3cf10: 0x6e02b220, 0x3cf11: 0x6e02b420, 0x3cf12: 0x6e146a20, 0x3cf13: 0x6e2c7420, + 0x3cf14: 0x6e34a220, 0x3cf15: 0x6e34a420, 0x3cf16: 0x6e34a620, 0x3cf17: 0x6e3e4220, + 0x3cf18: 0x6e431c20, 0x3cf19: 0x6c0a7c20, 0x3cf1a: 0x6c14fa20, 0x3cf1b: 0x6c14fc20, + 0x3cf1c: 0x6c26d820, 0x3cf1d: 0x6c26da20, 0x3cf1e: 0x6c26dc20, 0x3cf1f: 0x6c26de20, + 0x3cf20: 0x6c26e020, 0x3cf21: 0x6c26e220, 0x3cf22: 0x6c40ac20, 0x3cf23: 0x6c40ae20, + 0x3cf24: 0x6c40b020, 0x3cf25: 0x6c40b220, 0x3cf26: 0x6c40b420, 0x3cf27: 0x6c60b620, + 0x3cf28: 0x6c60b820, 0x3cf29: 0x6c60ba20, 0x3cf2a: 0x6c60bc20, 0x3cf2b: 0x6c86b820, + 0x3cf2c: 0x6c86ba20, 0x3cf2d: 0x6c86bc20, 0x3cf2e: 0x6c86be20, 0x3cf2f: 0x6cb13420, + 0x3cf30: 0x6cb13620, 0x3cf31: 0x6cb13820, 0x3cf32: 0x6cb13a20, 0x3cf33: 0x6cb13c20, + 0x3cf34: 0x6cb13e20, 0x3cf35: 0x6ce03e20, 0x3cf36: 0x6ce04020, 0x3cf37: 0x6ce04220, + 0x3cf38: 0x6ce04420, 0x3cf39: 0x6d0ebe20, 0x3cf3a: 0x6d0ec020, 0x3cf3b: 0x6d3d1220, + 0x3cf3c: 0x6d3d1420, 0x3cf3d: 0x6d698220, 0x3cf3e: 0x6d92fe20, 0x3cf3f: 0x6db69c20, + // Block 0xf3d, offset 0x3cf40 + 0x3cf40: 0x6c60c020, 0x3cf41: 0x6cb14e20, 0x3cf42: 0x6d699420, 0x3cf43: 0x6d69b220, + 0x3cf44: 0x6dd51220, 0x3cf45: 0x6c40bc20, 0x3cf46: 0x6cb17620, 0x3cf47: 0x6d3d4a20, + 0x3cf48: 0x6d3d4c20, 0x3cf49: 0x6d933e20, 0x3cf4a: 0x6c86ee20, 0x3cf4b: 0x6d0f2420, + 0x3cf4c: 0x6d936620, 0x3cf4d: 0x6db70220, 0x3cf4e: 0x6c60da20, 0x3cf4f: 0x6c870a20, + 0x3cf50: 0x6c870c20, 0x3cf51: 0x6c870e20, 0x3cf52: 0x6cb1d820, 0x3cf53: 0x6cb1da20, + 0x3cf54: 0x6ce11420, 0x3cf55: 0x6ce11620, 0x3cf56: 0x6d0f8e20, 0x3cf57: 0x6d3dbc20, + 0x3cf58: 0x6d3dbe20, 0x3cf59: 0x6d3dc020, 0x3cf5a: 0x6d6a6820, 0x3cf5b: 0x6d6a6a20, + 0x3cf5c: 0x6d93b820, 0x3cf5d: 0x6d93ba20, 0x3cf5e: 0x6d93bc20, 0x3cf5f: 0x6db73c20, + 0x3cf60: 0x6db73e20, 0x3cf61: 0x6dd59220, 0x3cf62: 0x6dee7a20, 0x3cf63: 0x6e225420, + 0x3cf64: 0x6e225620, 0x3cf65: 0x6e2ca420, 0x3cf66: 0x6c60f620, 0x3cf67: 0x6c60f820, + 0x3cf68: 0x6cb1e620, 0x3cf69: 0x6ce13420, 0x3cf6a: 0x6d0f9620, 0x3cf6b: 0x6d93ca20, + 0x3cf6c: 0x6dd59420, 0x3cf6d: 0x6ce13c20, 0x3cf6e: 0x6d0fa620, 0x3cf6f: 0x6d6a8020, + 0x3cf70: 0x6dd59a20, 0x3cf71: 0x6cb23c20, 0x3cf72: 0x6ce19a20, 0x3cf73: 0x6d100420, + 0x3cf74: 0x6d100620, 0x3cf75: 0x6d3e3420, 0x3cf76: 0x6d3e3620, 0x3cf77: 0x6d3e3820, + 0x3cf78: 0x6d6ad420, 0x3cf79: 0x6d6ad620, 0x3cf7a: 0x6d6ad820, 0x3cf7b: 0x6d942e20, + 0x3cf7c: 0x6d943020, 0x3cf7d: 0x6db78220, 0x3cf7e: 0x6dd5d820, 0x3cf7f: 0x6dd5da20, + // Block 0xf3e, offset 0x3cf80 + 0x3cf80: 0x6c877e20, 0x3cf81: 0x6cb2a420, 0x3cf82: 0x6cb2a620, 0x3cf83: 0x6cb2a820, + 0x3cf84: 0x6ce23420, 0x3cf85: 0x6ce23620, 0x3cf86: 0x6ce23820, 0x3cf87: 0x6d10a620, + 0x3cf88: 0x6d10a820, 0x3cf89: 0x6d10aa20, 0x3cf8a: 0x6d10ac20, 0x3cf8b: 0x6d10ae20, + 0x3cf8c: 0x6d3edc20, 0x3cf8d: 0x6d3ede20, 0x3cf8e: 0x6d3ee020, 0x3cf8f: 0x6d6b8e20, + 0x3cf90: 0x6d6b9020, 0x3cf91: 0x6d6b9220, 0x3cf92: 0x6d6b9420, 0x3cf93: 0x6d6b9620, + 0x3cf94: 0x6d94d820, 0x3cf95: 0x6d94da20, 0x3cf96: 0x6d94dc20, 0x3cf97: 0x6d94de20, + 0x3cf98: 0x6d94e020, 0x3cf99: 0x6db81020, 0x3cf9a: 0x6db81220, 0x3cf9b: 0x6db81420, + 0x3cf9c: 0x6dd6a220, 0x3cf9d: 0x6dd6a420, 0x3cf9e: 0x6dd6a620, 0x3cf9f: 0x6dd6a820, + 0x3cfa0: 0x6def6020, 0x3cfa1: 0x6def6220, 0x3cfa2: 0x6def6420, 0x3cfa3: 0x6e039220, + 0x3cfa4: 0x6e039420, 0x3cfa5: 0x6e039620, 0x3cfa6: 0x6e039820, 0x3cfa7: 0x6e150220, + 0x3cfa8: 0x6e150420, 0x3cfa9: 0x6e2ce620, 0x3cfaa: 0x6d10dc20, 0x3cfab: 0x6d10de20, + 0x3cfac: 0x6d3f0020, 0x3cfad: 0x6db83220, 0x3cfae: 0x6db83420, 0x3cfaf: 0x6dd6be20, + 0x3cfb0: 0x6def9020, 0x3cfb1: 0x6e03aa20, 0x3cfb2: 0x6c87b620, 0x3cfb3: 0x6cb33620, + 0x3cfb4: 0x6ce2d420, 0x3cfb5: 0x6ce2d620, 0x3cfb6: 0x6d3f5820, 0x3cfb7: 0x6d3f5a20, + 0x3cfb8: 0x6d3f5c20, 0x3cfb9: 0x6d6c4c20, 0x3cfba: 0x6d956c20, 0x3cfbb: 0x6d956e20, + 0x3cfbc: 0x6db89620, 0x3cfbd: 0x6db89820, 0x3cfbe: 0x6dd71220, 0x3cfbf: 0x6dd71420, + // Block 0xf3f, offset 0x3cfc0 + 0x3cfc0: 0x6defc620, 0x3cfc1: 0x6e03e820, 0x3cfc2: 0x6e153420, 0x3cfc3: 0x6e469220, + 0x3cfc4: 0x6c271620, 0x3cfc5: 0x6c271820, 0x3cfc6: 0x6c271a20, 0x3cfc7: 0x6c40f420, + 0x3cfc8: 0x6c615e20, 0x3cfc9: 0x6c616020, 0x3cfca: 0x6c616220, 0x3cfcb: 0x6c87cc20, + 0x3cfcc: 0x6c87ce20, 0x3cfcd: 0x6cb34020, 0x3cfce: 0x6ce2e820, 0x3cfcf: 0x6ce2ea20, + 0x3cfd0: 0x6ce2ec20, 0x3cfd1: 0x6ce2ee20, 0x3cfd2: 0x6d114a20, 0x3cfd3: 0x6c87d020, + 0x3cfd4: 0x6d3f6420, 0x3cfd5: 0x6d6c5020, 0x3cfd6: 0x6d6c5220, 0x3cfd7: 0x6d957620, + 0x3cfd8: 0x6db89a20, 0x3cfd9: 0x6defc820, 0x3cfda: 0x6ce2f820, 0x3cfdb: 0x6d115a20, + 0x3cfdc: 0x6d115c20, 0x3cfdd: 0x6e03f620, 0x3cfde: 0x6c052020, 0x3cfdf: 0x6c153820, + 0x3cfe0: 0x6c278620, 0x3cfe1: 0x6c278820, 0x3cfe2: 0x6c417620, 0x3cfe3: 0x6c417820, + 0x3cfe4: 0x6c417a20, 0x3cfe5: 0x6c61d020, 0x3cfe6: 0x6c886020, 0x3cfe7: 0x6c886220, + 0x3cfe8: 0x6c886420, 0x3cfe9: 0x6c886620, 0x3cfea: 0x6c886820, 0x3cfeb: 0x6cb3ec20, + 0x3cfec: 0x6cb3ee20, 0x3cfed: 0x6cb3f020, 0x3cfee: 0x6cb3f220, 0x3cfef: 0x6cb3f420, + 0x3cff0: 0x6cb3f620, 0x3cff1: 0x6cb3f820, 0x3cff2: 0x6cb3fa20, 0x3cff3: 0x6ce3ac20, + 0x3cff4: 0x6ce3ae20, 0x3cff5: 0x6ce3b020, 0x3cff6: 0x6ce3b220, 0x3cff7: 0x6ce3b420, + 0x3cff8: 0x6ce3b620, 0x3cff9: 0x6ce3b820, 0x3cffa: 0x6d11f420, 0x3cffb: 0x6d11f620, + 0x3cffc: 0x6d11f820, 0x3cffd: 0x6d11fa20, 0x3cffe: 0x6d3ff820, 0x3cfff: 0x6d3ffa20, + // Block 0xf40, offset 0x3d000 + 0x3d000: 0x6d3ffc20, 0x3d001: 0x6d3ffe20, 0x3d002: 0x6d400020, 0x3d003: 0x6d400220, + 0x3d004: 0x6d6cea20, 0x3d005: 0x6d6cec20, 0x3d006: 0x6d6cee20, 0x3d007: 0x6d6cf020, + 0x3d008: 0x6d6cf220, 0x3d009: 0x6d6cf420, 0x3d00a: 0x6d6cf620, 0x3d00b: 0x6d95f620, + 0x3d00c: 0x6db8fc20, 0x3d00d: 0x6db8fe20, 0x3d00e: 0x6db90020, 0x3d00f: 0x6db90220, + 0x3d010: 0x6dd75220, 0x3d011: 0x6dd75420, 0x3d012: 0x6e041e20, 0x3d013: 0x6e042020, + 0x3d014: 0x6e042220, 0x3d015: 0x6e042420, 0x3d016: 0x6e154c20, 0x3d017: 0x6c0aa820, + 0x3d018: 0x6c158820, 0x3d019: 0x6c158a20, 0x3d01a: 0x6c27e620, 0x3d01b: 0x6c27e820, + 0x3d01c: 0x6c41d820, 0x3d01d: 0x6c624e20, 0x3d01e: 0x6c625020, 0x3d01f: 0x6c625220, + 0x3d020: 0x6c88e220, 0x3d021: 0x6c88e420, 0x3d022: 0x6c88e620, 0x3d023: 0x6cb46e20, + 0x3d024: 0x6cb47020, 0x3d025: 0x6ce41a20, 0x3d026: 0x6ce41c20, 0x3d027: 0x6d126420, + 0x3d028: 0x6d126620, 0x3d029: 0x6d126820, 0x3d02a: 0x6d6d4420, 0x3d02b: 0x6d6d4620, + 0x3d02c: 0x6d962e20, 0x3d02d: 0x6db93220, 0x3d02e: 0x6dd77a20, 0x3d02f: 0x6dd77c20, + 0x3d030: 0x6dd77e20, 0x3d031: 0x6e043220, 0x3d032: 0x6e433620, 0x3d033: 0x6c890420, + 0x3d034: 0x6d12b620, 0x3d035: 0x6d12b820, 0x3d036: 0x6d40c420, 0x3d037: 0x6d40c620, + 0x3d038: 0x6d40c820, 0x3d039: 0x6d6da420, 0x3d03a: 0x6db98e20, 0x3d03b: 0x6dd7ca20, + 0x3d03c: 0x6df05020, 0x3d03d: 0x6df05220, 0x3d03e: 0x6e157620, 0x3d03f: 0x6e2d3820, + // Block 0xf41, offset 0x3d040 + 0x3d040: 0x6ce46e20, 0x3d041: 0x6cb4d220, 0x3d042: 0x6ce47a20, 0x3d043: 0x6d40d220, + 0x3d044: 0x6db99e20, 0x3d045: 0x6df05420, 0x3d046: 0x6cb51a20, 0x3d047: 0x6cb51c20, + 0x3d048: 0x6cb51e20, 0x3d049: 0x6cb52020, 0x3d04a: 0x6ce51a20, 0x3d04b: 0x6ce51c20, + 0x3d04c: 0x6ce51e20, 0x3d04d: 0x6ce52020, 0x3d04e: 0x6ce52220, 0x3d04f: 0x6d139220, + 0x3d050: 0x6d139420, 0x3d051: 0x6d139620, 0x3d052: 0x6d139820, 0x3d053: 0x6d139a20, + 0x3d054: 0x6d139c20, 0x3d055: 0x6d41ac20, 0x3d056: 0x6d41ae20, 0x3d057: 0x6d41b020, + 0x3d058: 0x6d41b220, 0x3d059: 0x6d41b420, 0x3d05a: 0x6d41b620, 0x3d05b: 0x6d41b820, + 0x3d05c: 0x6d41ba20, 0x3d05d: 0x6d6ebe20, 0x3d05e: 0x6d6ec020, 0x3d05f: 0x6d6ec220, + 0x3d060: 0x6d6ec420, 0x3d061: 0x6d6ec620, 0x3d062: 0x6d6ec820, 0x3d063: 0x6d6eca20, + 0x3d064: 0x6d6ecc20, 0x3d065: 0x6d6ece20, 0x3d066: 0x6d97d820, 0x3d067: 0x6d97da20, + 0x3d068: 0x6d97dc20, 0x3d069: 0x6d97de20, 0x3d06a: 0x6d97e020, 0x3d06b: 0x6d97e220, + 0x3d06c: 0x6d97e420, 0x3d06d: 0x6d97e620, 0x3d06e: 0x6d97e820, 0x3d06f: 0x6d97ea20, + 0x3d070: 0x6dbadc20, 0x3d071: 0x6dbade20, 0x3d072: 0x6dbae020, 0x3d073: 0x6dbae220, + 0x3d074: 0x6dbae420, 0x3d075: 0x6dbae620, 0x3d076: 0x6dbae820, 0x3d077: 0x6dbaea20, + 0x3d078: 0x6dd8ea20, 0x3d079: 0x6dd8ec20, 0x3d07a: 0x6dd8ee20, 0x3d07b: 0x6dd8f020, + 0x3d07c: 0x6dd8f220, 0x3d07d: 0x6dd8f420, 0x3d07e: 0x6dd8f620, 0x3d07f: 0x6df15420, + // Block 0xf42, offset 0x3d080 + 0x3d080: 0x6df15620, 0x3d081: 0x6df15820, 0x3d082: 0x6df15a20, 0x3d083: 0x6df15c20, + 0x3d084: 0x6e057220, 0x3d085: 0x6e057420, 0x3d086: 0x6e057620, 0x3d087: 0x6e057820, + 0x3d088: 0x6e057a20, 0x3d089: 0x6e057c20, 0x3d08a: 0x6e057e20, 0x3d08b: 0x6e058020, + 0x3d08c: 0x6e058220, 0x3d08d: 0x6e058420, 0x3d08e: 0x6e058620, 0x3d08f: 0x6e164020, + 0x3d090: 0x6e164220, 0x3d091: 0x6e164420, 0x3d092: 0x6e164620, 0x3d093: 0x6e164820, + 0x3d094: 0x6e164a20, 0x3d095: 0x6e164c20, 0x3d096: 0x6e238a20, 0x3d097: 0x6e238c20, + 0x3d098: 0x6e238e20, 0x3d099: 0x6e239020, 0x3d09a: 0x6e239220, 0x3d09b: 0x6e2db420, + 0x3d09c: 0x6e2db620, 0x3d09d: 0x6e356020, 0x3d09e: 0x6e356220, 0x3d09f: 0x6e356420, + 0x3d0a0: 0x6e3ae220, 0x3d0a1: 0x6e3ae420, 0x3d0a2: 0x6e3ae620, 0x3d0a3: 0x6e3eae20, + 0x3d0a4: 0x6e415e20, 0x3d0a5: 0x6c27fc20, 0x3d0a6: 0x6c41fa20, 0x3d0a7: 0x6c629c20, + 0x3d0a8: 0x6c629e20, 0x3d0a9: 0x6c62a020, 0x3d0aa: 0x6c62a220, 0x3d0ab: 0x6c62a420, + 0x3d0ac: 0x6c897a20, 0x3d0ad: 0x6c897c20, 0x3d0ae: 0x6c897e20, 0x3d0af: 0x6cb57420, + 0x3d0b0: 0x6cb57620, 0x3d0b1: 0x6cb57820, 0x3d0b2: 0x6cb57a20, 0x3d0b3: 0x6cb57c20, + 0x3d0b4: 0x6cb57e20, 0x3d0b5: 0x6ce56a20, 0x3d0b6: 0x6ce56c20, 0x3d0b7: 0x6ce56e20, + 0x3d0b8: 0x6d13e420, 0x3d0b9: 0x6d13e620, 0x3d0ba: 0x6d13e820, 0x3d0bb: 0x6d13ea20, + 0x3d0bc: 0x6d13ec20, 0x3d0bd: 0x6d13ee20, 0x3d0be: 0x6d13f020, 0x3d0bf: 0x6d13f220, + // Block 0xf43, offset 0x3d0c0 + 0x3d0c0: 0x6d41ee20, 0x3d0c1: 0x6d41f020, 0x3d0c2: 0x6d41f220, 0x3d0c3: 0x6d41f420, + 0x3d0c4: 0x6d41f620, 0x3d0c5: 0x6d6ef620, 0x3d0c6: 0x6d6ef820, 0x3d0c7: 0x6d6efa20, + 0x3d0c8: 0x6d6efc20, 0x3d0c9: 0x6d980820, 0x3d0ca: 0x6d980a20, 0x3d0cb: 0x6dbb0c20, + 0x3d0cc: 0x6dbb0e20, 0x3d0cd: 0x6dbb1020, 0x3d0ce: 0x6dbb1220, 0x3d0cf: 0x6dbb1420, + 0x3d0d0: 0x6dd90c20, 0x3d0d1: 0x6dd90e20, 0x3d0d2: 0x6df16020, 0x3d0d3: 0x6e164e20, + 0x3d0d4: 0x6e2db820, 0x3d0d5: 0x6e356620, 0x3d0d6: 0x6d141620, 0x3d0d7: 0x6d6f1a20, + 0x3d0d8: 0x6c62b220, 0x3d0d9: 0x6cb5c220, 0x3d0da: 0x6ce5e620, 0x3d0db: 0x6ce5e820, + 0x3d0dc: 0x6d146420, 0x3d0dd: 0x6d146620, 0x3d0de: 0x6d146820, 0x3d0df: 0x6d146a20, + 0x3d0e0: 0x6d146c20, 0x3d0e1: 0x6d6f7a20, 0x3d0e2: 0x6d6f7c20, 0x3d0e3: 0x6d6f7e20, + 0x3d0e4: 0x6d6f8020, 0x3d0e5: 0x6d988820, 0x3d0e6: 0x6d988a20, 0x3d0e7: 0x6d988c20, + 0x3d0e8: 0x6dbb8420, 0x3d0e9: 0x6df1a020, 0x3d0ea: 0x6e168e20, 0x3d0eb: 0x6e3af820, + 0x3d0ec: 0x6c15a020, 0x3d0ed: 0x6c281820, 0x3d0ee: 0x6c281a20, 0x3d0ef: 0x6c281c20, + 0x3d0f0: 0x6c420c20, 0x3d0f1: 0x6c62ca20, 0x3d0f2: 0x6c899e20, 0x3d0f3: 0x6c89a020, + 0x3d0f4: 0x6cb5d820, 0x3d0f5: 0x6d147a20, 0x3d0f6: 0x6d147c20, 0x3d0f7: 0x6d426620, + 0x3d0f8: 0x6d426820, 0x3d0f9: 0x6dbb8a20, 0x3d0fa: 0x6c0ac020, 0x3d0fb: 0x6c15d020, + 0x3d0fc: 0x6c287820, 0x3d0fd: 0x6c287a20, 0x3d0fe: 0x6c426c20, 0x3d0ff: 0x6c426e20, + // Block 0xf44, offset 0x3d100 + 0x3d100: 0x6c427020, 0x3d101: 0x6c632620, 0x3d102: 0x6c632820, 0x3d103: 0x6c632a20, + 0x3d104: 0x6c8a2c20, 0x3d105: 0x6c8a2e20, 0x3d106: 0x6cb64e20, 0x3d107: 0x6cb65020, + 0x3d108: 0x6cb65220, 0x3d109: 0x6cb65420, 0x3d10a: 0x6cb65620, 0x3d10b: 0x6cb65820, + 0x3d10c: 0x6cb65a20, 0x3d10d: 0x6cb65c20, 0x3d10e: 0x6ce68620, 0x3d10f: 0x6ce68820, + 0x3d110: 0x6d14d620, 0x3d111: 0x6d14d820, 0x3d112: 0x6d14da20, 0x3d113: 0x6d14dc20, + 0x3d114: 0x6d42c420, 0x3d115: 0x6d42c620, 0x3d116: 0x6d42c820, 0x3d117: 0x6d42ca20, + 0x3d118: 0x6dd98420, 0x3d119: 0x6d6fca20, 0x3d11a: 0x6ce6bc20, 0x3d11b: 0x6d430a20, + 0x3d11c: 0x6dd9ba20, 0x3d11d: 0x6c8a4620, 0x3d11e: 0x6cb69620, 0x3d11f: 0x6ce6f220, + 0x3d120: 0x6ce6f420, 0x3d121: 0x6d155020, 0x3d122: 0x6d155220, 0x3d123: 0x6d434c20, + 0x3d124: 0x6d434e20, 0x3d125: 0x6d704a20, 0x3d126: 0x6d704c20, 0x3d127: 0x6d997620, + 0x3d128: 0x6d997820, 0x3d129: 0x6dbc4e20, 0x3d12a: 0x6dbc5020, 0x3d12b: 0x6dda1a20, + 0x3d12c: 0x6df23220, 0x3d12d: 0x6df23420, 0x3d12e: 0x6e066820, 0x3d12f: 0x6e066a20, + 0x3d130: 0x6e066c20, 0x3d131: 0x6e066e20, 0x3d132: 0x6e16ea20, 0x3d133: 0x6e240820, + 0x3d134: 0x6e240a20, 0x3d135: 0x6e35ae20, 0x3d136: 0x6e35b020, 0x3d137: 0x6e44b220, + 0x3d138: 0x6cb69a20, 0x3d139: 0x6d156020, 0x3d13a: 0x6d156220, 0x3d13b: 0x6d998220, + 0x3d13c: 0x6df23820, 0x3d13d: 0x6d435a20, 0x3d13e: 0x6e16ee20, 0x3d13f: 0x6e3b1c20, + // Block 0xf45, offset 0x3d140 + 0x3d140: 0x6d437c20, 0x3d141: 0x6d707020, 0x3d142: 0x6d99a020, 0x3d143: 0x6dda2e20, + 0x3d144: 0x6e170820, 0x3d145: 0x6d43d420, 0x3d146: 0x6d43d620, 0x3d147: 0x6d70be20, + 0x3d148: 0x6d70c020, 0x3d149: 0x6e06d220, 0x3d14a: 0x6e173e20, 0x3d14b: 0x6e244420, + 0x3d14c: 0x6c8a4e20, 0x3d14d: 0x6d15d220, 0x3d14e: 0x6dbce620, 0x3d14f: 0x6e06e820, + 0x3d150: 0x6e35d620, 0x3d151: 0x6c428420, 0x3d152: 0x6c8a5020, 0x3d153: 0x6ce73a20, + 0x3d154: 0x6d43fe20, 0x3d155: 0x6d440020, 0x3d156: 0x6d9a0220, 0x3d157: 0x6d15f020, + 0x3d158: 0x6d441020, 0x3d159: 0x6ddad820, 0x3d15a: 0x6e070420, 0x3d15b: 0x6e176420, + 0x3d15c: 0x6e3b3420, 0x3d15d: 0x6d163c20, 0x3d15e: 0x6d447020, 0x3d15f: 0x6d9aae20, + 0x3d160: 0x6d9ab020, 0x3d161: 0x6dbd6820, 0x3d162: 0x6ddb3a20, 0x3d163: 0x6ddb3c20, + 0x3d164: 0x6df33620, 0x3d165: 0x6e074420, 0x3d166: 0x6e074620, 0x3d167: 0x6e17a820, + 0x3d168: 0x6e248e20, 0x3d169: 0x6e35f020, 0x3d16a: 0x6c634c20, 0x3d16b: 0x6c8a6420, + 0x3d16c: 0x6cb6c820, 0x3d16d: 0x6cb6ca20, 0x3d16e: 0x6ce77020, 0x3d16f: 0x6ce77220, + 0x3d170: 0x6ce77420, 0x3d171: 0x6ce77620, 0x3d172: 0x6d164c20, 0x3d173: 0x6d164e20, + 0x3d174: 0x6d447820, 0x3d175: 0x6d447a20, 0x3d176: 0x6d447c20, 0x3d177: 0x6d716a20, + 0x3d178: 0x6d9aba20, 0x3d179: 0x6dbd6a20, 0x3d17a: 0x6e17ac20, 0x3d17b: 0x6d167e20, + 0x3d17c: 0x6d44b420, 0x3d17d: 0x6dbdb620, 0x3d17e: 0x6ddb8220, 0x3d17f: 0x6ddb8420, + // Block 0xf46, offset 0x3d180 + 0x3d180: 0x6df37220, 0x3d181: 0x6df37420, 0x3d182: 0x6df37620, 0x3d183: 0x6e249e20, + 0x3d184: 0x6e24a020, 0x3d185: 0x6e2e7620, 0x3d186: 0x6e35fe20, 0x3d187: 0x6c428a20, + 0x3d188: 0x6cb6d420, 0x3d189: 0x6ce79620, 0x3d18a: 0x6d168620, 0x3d18b: 0x6dbdba20, + 0x3d18c: 0x6dbdbe20, 0x3d18d: 0x6ce7d620, 0x3d18e: 0x6d16f220, 0x3d18f: 0x6d451820, + 0x3d190: 0x6d451a20, 0x3d191: 0x6d451c20, 0x3d192: 0x6d451e20, 0x3d193: 0x6d71fc20, + 0x3d194: 0x6dbe3c20, 0x3d195: 0x6dbe3e20, 0x3d196: 0x6dbe4020, 0x3d197: 0x6dbe4220, + 0x3d198: 0x6ddbf820, 0x3d199: 0x6df3e020, 0x3d19a: 0x6df3e220, 0x3d19b: 0x6e07c020, + 0x3d19c: 0x6e24d820, 0x3d19d: 0x6e24da20, 0x3d19e: 0x6c15d820, 0x3d19f: 0x6c289420, + 0x3d1a0: 0x6c289620, 0x3d1a1: 0x6c42a820, 0x3d1a2: 0x6c42aa20, 0x3d1a3: 0x6c42ac20, + 0x3d1a4: 0x6c637a20, 0x3d1a5: 0x6c637c20, 0x3d1a6: 0x6c8a8620, 0x3d1a7: 0x6c8a8820, + 0x3d1a8: 0x6c8a8a20, 0x3d1a9: 0x6cb70820, 0x3d1aa: 0x6cb70a20, 0x3d1ab: 0x6ce7e420, + 0x3d1ac: 0x6ce7e620, 0x3d1ad: 0x6ce7e820, 0x3d1ae: 0x6ce7ea20, 0x3d1af: 0x6ce7ec20, + 0x3d1b0: 0x6d170220, 0x3d1b1: 0x6d170420, 0x3d1b2: 0x6d720420, 0x3d1b3: 0x6d720620, + 0x3d1b4: 0x6d9b8e20, 0x3d1b5: 0x6e07c420, 0x3d1b6: 0x6d453220, 0x3d1b7: 0x6d9b9e20, + 0x3d1b8: 0x6dbe4e20, 0x3d1b9: 0x6df3ea20, 0x3d1ba: 0x6e07c820, 0x3d1bb: 0x6e361820, + 0x3d1bc: 0x6d722020, 0x3d1bd: 0x6d722220, 0x3d1be: 0x6dbe6420, 0x3d1bf: 0x6ddc1420, + // Block 0xf47, offset 0x3d1c0 + 0x3d1c0: 0x6e07d420, 0x3d1c1: 0x6e07d620, 0x3d1c2: 0x6e183020, 0x3d1c3: 0x6e24e220, + 0x3d1c4: 0x6e44be20, 0x3d1c5: 0x6d173020, 0x3d1c6: 0x6d45a420, 0x3d1c7: 0x6d45a620, + 0x3d1c8: 0x6d45a820, 0x3d1c9: 0x6d45aa20, 0x3d1ca: 0x6d9c2e20, 0x3d1cb: 0x6ddc9e20, + 0x3d1cc: 0x6ddca020, 0x3d1cd: 0x6ddca220, 0x3d1ce: 0x6ddca420, 0x3d1cf: 0x6df47c20, + 0x3d1d0: 0x6df47e20, 0x3d1d1: 0x6df48020, 0x3d1d2: 0x6e086220, 0x3d1d3: 0x6e086420, + 0x3d1d4: 0x6e086620, 0x3d1d5: 0x6e086820, 0x3d1d6: 0x6e086a20, 0x3d1d7: 0x6e254220, + 0x3d1d8: 0x6e2ee220, 0x3d1d9: 0x6e364020, 0x3d1da: 0x6e41b420, 0x3d1db: 0x6c15e020, + 0x3d1dc: 0x6c28a220, 0x3d1dd: 0x6c28a420, 0x3d1de: 0x6c42d620, 0x3d1df: 0x6c42d820, + 0x3d1e0: 0x6c63a620, 0x3d1e1: 0x6c63a820, 0x3d1e2: 0x6c8aa820, 0x3d1e3: 0x6c8aaa20, + 0x3d1e4: 0x6c8aac20, 0x3d1e5: 0x6cb72820, 0x3d1e6: 0x6cb72a20, 0x3d1e7: 0x6cb72c20, + 0x3d1e8: 0x6ce82620, 0x3d1e9: 0x6ce82820, 0x3d1ea: 0x6d174220, 0x3d1eb: 0x6d174420, + 0x3d1ec: 0x6d174620, 0x3d1ed: 0x6d45b220, 0x3d1ee: 0x6d45b420, 0x3d1ef: 0x6d72b020, + 0x3d1f0: 0x6d9c3220, 0x3d1f1: 0x6e189020, 0x3d1f2: 0x6d72e020, 0x3d1f3: 0x6ddcd620, + 0x3d1f4: 0x6ddcd820, 0x3d1f5: 0x6ce84020, 0x3d1f6: 0x6d72ec20, 0x3d1f7: 0x6d9c7820, + 0x3d1f8: 0x6cb73820, 0x3d1f9: 0x6d178820, 0x3d1fa: 0x6d178a20, 0x3d1fb: 0x6d463a20, + 0x3d1fc: 0x6d734220, 0x3d1fd: 0x6d9cbe20, 0x3d1fe: 0x6dbf5020, 0x3d1ff: 0x6dbf5220, + // Block 0xf48, offset 0x3d200 + 0x3d200: 0x6ddd3420, 0x3d201: 0x6ddd3620, 0x3d202: 0x6df4f820, 0x3d203: 0x6e18e620, + 0x3d204: 0x6d464c20, 0x3d205: 0x6d735220, 0x3d206: 0x6e190420, 0x3d207: 0x6e439e20, + 0x3d208: 0x6cb74220, 0x3d209: 0x6d17c220, 0x3d20a: 0x6d738420, 0x3d20b: 0x6d9d0c20, + 0x3d20c: 0x6dbf8c20, 0x3d20d: 0x6dbf8e20, 0x3d20e: 0x6e193220, 0x3d20f: 0x6d17de20, + 0x3d210: 0x6d46b420, 0x3d211: 0x6d740620, 0x3d212: 0x6d740820, 0x3d213: 0x6d9da220, + 0x3d214: 0x6d9da420, 0x3d215: 0x6d9da620, 0x3d216: 0x6d9da820, 0x3d217: 0x6d9daa20, + 0x3d218: 0x6dc02a20, 0x3d219: 0x6dc02c20, 0x3d21a: 0x6dc02e20, 0x3d21b: 0x6dc03020, + 0x3d21c: 0x6dc03220, 0x3d21d: 0x6dc03420, 0x3d21e: 0x6dc03620, 0x3d21f: 0x6dc03820, + 0x3d220: 0x6dde2620, 0x3d221: 0x6dde2820, 0x3d222: 0x6dde2a20, 0x3d223: 0x6dde2c20, + 0x3d224: 0x6df61420, 0x3d225: 0x6df61620, 0x3d226: 0x6df61820, 0x3d227: 0x6df61a20, + 0x3d228: 0x6e09e020, 0x3d229: 0x6e09e220, 0x3d22a: 0x6e09e420, 0x3d22b: 0x6e19e620, + 0x3d22c: 0x6e19e820, 0x3d22d: 0x6e19ea20, 0x3d22e: 0x6e19ec20, 0x3d22f: 0x6e19ee20, + 0x3d230: 0x6e266420, 0x3d231: 0x6e266620, 0x3d232: 0x6e266820, 0x3d233: 0x6e266a20, + 0x3d234: 0x6e266c20, 0x3d235: 0x6e266e20, 0x3d236: 0x6e267020, 0x3d237: 0x6e2fce20, + 0x3d238: 0x6e2fd020, 0x3d239: 0x6e2fd220, 0x3d23a: 0x6e2fd420, 0x3d23b: 0x6e2fd620, + 0x3d23c: 0x6e2fd820, 0x3d23d: 0x6e370820, 0x3d23e: 0x6e370a20, 0x3d23f: 0x6e370c20, + // Block 0xf49, offset 0x3d240 + 0x3d240: 0x6e370e20, 0x3d241: 0x6e371020, 0x3d242: 0x6e3be220, 0x3d243: 0x6e3be420, + 0x3d244: 0x6e3f8420, 0x3d245: 0x6e43be20, 0x3d246: 0x6e458a20, 0x3d247: 0x6e466220, + 0x3d248: 0x6cb74c20, 0x3d249: 0x6cb74e20, 0x3d24a: 0x6cb75020, 0x3d24b: 0x6ce87e20, + 0x3d24c: 0x6ce88020, 0x3d24d: 0x6ce88220, 0x3d24e: 0x6d17fc20, 0x3d24f: 0x6d17fe20, + 0x3d250: 0x6d180020, 0x3d251: 0x6d180220, 0x3d252: 0x6c8ac220, 0x3d253: 0x6d46dc20, + 0x3d254: 0x6d46de20, 0x3d255: 0x6d46e020, 0x3d256: 0x6d46e220, 0x3d257: 0x6d46e420, + 0x3d258: 0x6d46e620, 0x3d259: 0x6d743020, 0x3d25a: 0x6d743220, 0x3d25b: 0x6d743420, + 0x3d25c: 0x6d9dd620, 0x3d25d: 0x6d9dd820, 0x3d25e: 0x6d9dda20, 0x3d25f: 0x6d9ddc20, + 0x3d260: 0x6d9dde20, 0x3d261: 0x6d9de020, 0x3d262: 0x6dc05e20, 0x3d263: 0x6dc06020, + 0x3d264: 0x6dc06220, 0x3d265: 0x6dc06420, 0x3d266: 0x6dde3c20, 0x3d267: 0x6df63220, + 0x3d268: 0x6df63420, 0x3d269: 0x6e09f420, 0x3d26a: 0x6e09f620, 0x3d26b: 0x6e1a0220, + 0x3d26c: 0x6e267620, 0x3d26d: 0x6e2fde20, 0x3d26e: 0x6ce88e20, 0x3d26f: 0x6d74d620, + 0x3d270: 0x6d74d820, 0x3d271: 0x6d74da20, 0x3d272: 0x6d74dc20, 0x3d273: 0x6d9eae20, + 0x3d274: 0x6d9eb020, 0x3d275: 0x6d9eb220, 0x3d276: 0x6d9eb420, 0x3d277: 0x6d9eb620, + 0x3d278: 0x6dc12a20, 0x3d279: 0x6dc12c20, 0x3d27a: 0x6dc12e20, 0x3d27b: 0x6dc13020, + 0x3d27c: 0x6ddedc20, 0x3d27d: 0x6ddede20, 0x3d27e: 0x6ddee020, 0x3d27f: 0x6ddee220, + // Block 0xf4a, offset 0x3d280 + 0x3d280: 0x6ddee420, 0x3d281: 0x6df71e20, 0x3d282: 0x6df72020, 0x3d283: 0x6df72220, + 0x3d284: 0x6df72420, 0x3d285: 0x6df72620, 0x3d286: 0x6df72820, 0x3d287: 0x6df72a20, + 0x3d288: 0x6df72c20, 0x3d289: 0x6e0acc20, 0x3d28a: 0x6e0ace20, 0x3d28b: 0x6e0ad020, + 0x3d28c: 0x6e1aba20, 0x3d28d: 0x6e1abc20, 0x3d28e: 0x6e1abe20, 0x3d28f: 0x6e1ac020, + 0x3d290: 0x6e272c20, 0x3d291: 0x6e309e20, 0x3d292: 0x6e30a020, 0x3d293: 0x6e30a220, + 0x3d294: 0x6e30a420, 0x3d295: 0x6e30a620, 0x3d296: 0x6e378820, 0x3d297: 0x6e3c3020, + 0x3d298: 0x6e3fb820, 0x3d299: 0x6e459e20, 0x3d29a: 0x6c63be20, 0x3d29b: 0x6c63c020, + 0x3d29c: 0x6c63c220, 0x3d29d: 0x6c63c420, 0x3d29e: 0x6c63c620, 0x3d29f: 0x6c8ae020, + 0x3d2a0: 0x6c8ae220, 0x3d2a1: 0x6c8ae420, 0x3d2a2: 0x6c8ae620, 0x3d2a3: 0x6c8ae820, + 0x3d2a4: 0x6c8aea20, 0x3d2a5: 0x6cb77620, 0x3d2a6: 0x6cb77820, 0x3d2a7: 0x6cb77a20, + 0x3d2a8: 0x6cb77c20, 0x3d2a9: 0x6cb77e20, 0x3d2aa: 0x6cb78020, 0x3d2ab: 0x6ce8a620, + 0x3d2ac: 0x6ce8a820, 0x3d2ad: 0x6ce8aa20, 0x3d2ae: 0x6ce8ac20, 0x3d2af: 0x6ce8ae20, + 0x3d2b0: 0x6d184a20, 0x3d2b1: 0x6d184c20, 0x3d2b2: 0x6d184e20, 0x3d2b3: 0x6d185020, + 0x3d2b4: 0x6d185220, 0x3d2b5: 0x6d185420, 0x3d2b6: 0x6d473820, 0x3d2b7: 0x6d473a20, + 0x3d2b8: 0x6d473c20, 0x3d2b9: 0x6d473e20, 0x3d2ba: 0x6d474020, 0x3d2bb: 0x6d474220, + 0x3d2bc: 0x6d474420, 0x3d2bd: 0x6d74fa20, 0x3d2be: 0x6d74fc20, 0x3d2bf: 0x6d9ec220, + // Block 0xf4b, offset 0x3d2c0 + 0x3d2c0: 0x6d9ec420, 0x3d2c1: 0x6d9ec620, 0x3d2c2: 0x6d9ec820, 0x3d2c3: 0x6dc14020, + 0x3d2c4: 0x6dc14220, 0x3d2c5: 0x6ddeee20, 0x3d2c6: 0x6df73420, 0x3d2c7: 0x6dc14620, + 0x3d2c8: 0x6ddef820, 0x3d2c9: 0x6e0aea20, 0x3d2ca: 0x6d9eda20, 0x3d2cb: 0x6d186020, + 0x3d2cc: 0x6d752e20, 0x3d2cd: 0x6dc16c20, 0x3d2ce: 0x6ddf2620, 0x3d2cf: 0x6e30c620, + 0x3d2d0: 0x6df79820, 0x3d2d1: 0x6cb79220, 0x3d2d2: 0x6ce8b220, 0x3d2d3: 0x6d476220, + 0x3d2d4: 0x6d756020, 0x3d2d5: 0x6dc18a20, 0x3d2d6: 0x6dc19220, 0x3d2d7: 0x6df7a220, + 0x3d2d8: 0x6d757c20, 0x3d2d9: 0x6e0b8620, 0x3d2da: 0x6e0b8820, 0x3d2db: 0x6e1b5e20, + 0x3d2dc: 0x6d9f7420, 0x3d2dd: 0x6df7f420, 0x3d2de: 0x6e3c7820, 0x3d2df: 0x6dc1f620, + 0x3d2e0: 0x6d75ac20, 0x3d2e1: 0x6e27c420, 0x3d2e2: 0x6d477e20, 0x3d2e3: 0x6e3c9020, + 0x3d2e4: 0x6ddfea20, 0x3d2e5: 0x6e1bde20, 0x3d2e6: 0x6e283420, 0x3d2e7: 0x6e427220, + 0x3d2e8: 0x6ce8c620, 0x3d2e9: 0x6d478c20, 0x3d2ea: 0x6d478e20, 0x3d2eb: 0x6d75be20, + 0x3d2ec: 0x6d9f9620, 0x3d2ed: 0x6d9f9820, 0x3d2ee: 0x6dc24020, 0x3d2ef: 0x6ddffe20, + 0x3d2f0: 0x6e1be020, 0x3d2f1: 0x6e318020, 0x3d2f2: 0x6d75c020, 0x3d2f3: 0x6ce8c820, + 0x3d2f4: 0x6e451220, + // Block 0xf4c, offset 0x3d300 + 0x3d300: 0x6c00f420, 0x3d301: 0x6c0ae820, 0x3d302: 0x6c15fe20, 0x3d303: 0x6d189620, + 0x3d304: 0x6c011820, 0x3d305: 0x6c0b6620, 0x3d306: 0x6c060c20, 0x3d307: 0x6c2a2820, + 0x3d308: 0x6c2a2a20, 0x3d309: 0x6c656c20, 0x3d30a: 0x6c8c6420, 0x3d30b: 0x6ce9e020, + 0x3d30c: 0x6c446a20, 0x3d30d: 0x6c448e20, 0x3d30e: 0x6c44d020, 0x3d30f: 0x6c8cbc20, + 0x3d310: 0x6c454c20, 0x3d311: 0x6ceac020, 0x3d312: 0x6c18be20, 0x3d313: 0x6c2bd220, + 0x3d314: 0x6c45cc20, 0x3d315: 0x6c190220, 0x3d316: 0x6c676c20, 0x3d317: 0x6c676e20, + 0x3d318: 0x6c0e9420, 0x3d319: 0x6c47da20, 0x3d31a: 0x6d1cea20, 0x3d31b: 0x6d4ab420, + 0x3d31c: 0x6da17c20, 0x3d31d: 0x6dc3da20, 0x3d31e: 0x6e1c7220, 0x3d31f: 0x6cbd8420, + 0x3d320: 0x6d1df020, 0x3d321: 0x6d78fe20, 0x3d322: 0x6c0f2a20, 0x3d323: 0x6c1b8820, + 0x3d324: 0x6c6ae820, 0x3d325: 0x6d793620, 0x3d326: 0x6c1c6020, 0x3d327: 0x6c4a1620, + 0x3d328: 0x6c4a1820, 0x3d329: 0x6c6bd620, 0x3d32a: 0x6c6bd820, 0x3d32b: 0x6c6bda20, + 0x3d32c: 0x6cbf4020, 0x3d32d: 0x6d1f2620, 0x3d32e: 0x6d4cb420, 0x3d32f: 0x6d4cc620, + 0x3d330: 0x6d1faa20, 0x3d331: 0x6d4d2020, 0x3d332: 0x6c102620, 0x3d333: 0x6c109020, + 0x3d334: 0x6c4bca20, 0x3d335: 0x6c6de020, 0x3d336: 0x6c964c20, 0x3d337: 0x6c964e20, + 0x3d338: 0x6c4d3a20, 0x3d339: 0x6c1ffa20, 0x3d33a: 0x6c352c20, 0x3d33b: 0x6c502820, + 0x3d33c: 0x6cc66a20, 0x3d33d: 0x6cf51a20, 0x3d33e: 0x6d24e420, 0x3d33f: 0x6dc6b420, + // Block 0xf4d, offset 0x3d340 + 0x3d340: 0x6c9b6c20, 0x3d341: 0x6cf5cc20, 0x3d342: 0x6c515820, 0x3d343: 0x6c515a20, + 0x3d344: 0x6c738a20, 0x3d345: 0x6c73bc20, 0x3d346: 0x6cc88020, 0x3d347: 0x6cc88220, + 0x3d348: 0x6c376220, 0x3d349: 0x6c754420, 0x3d34a: 0x6c754620, 0x3d34b: 0x6d27fc20, + 0x3d34c: 0x6d27fe20, 0x3d34d: 0x6d554c20, 0x3d34e: 0x6d554e20, 0x3d34f: 0x6d555020, + 0x3d350: 0x6d80ce20, 0x3d351: 0x6da6f020, 0x3d352: 0x6dc84a20, 0x3d353: 0x6cf92020, + 0x3d354: 0x6d55c820, 0x3d355: 0x6c098820, 0x3d356: 0x6c12e820, 0x3d357: 0x6c77e820, + 0x3d358: 0x6ca0dc20, 0x3d359: 0x6cfbd020, 0x3d35a: 0x6cfbd220, 0x3d35b: 0x6cfbd420, + 0x3d35c: 0x6d580820, 0x3d35d: 0x6d82fa20, 0x3d35e: 0x6de56e20, 0x3d35f: 0x6c78c820, + 0x3d360: 0x6ca1ca20, 0x3d361: 0x6d2bd820, 0x3d362: 0x6c569420, 0x3d363: 0x6c3b3620, + 0x3d364: 0x6ca2d420, 0x3d365: 0x6c3baa20, 0x3d366: 0x6c7a7020, 0x3d367: 0x6cd15e20, + 0x3d368: 0x6d2d8420, 0x3d369: 0x6d5ab020, 0x3d36a: 0x6c580820, 0x3d36b: 0x6ca41820, + 0x3d36c: 0x6c7ba220, 0x3d36d: 0x6d5bd620, 0x3d36e: 0x6c7bd220, 0x3d36f: 0x6c3c7420, + 0x3d370: 0x6c597220, 0x3d371: 0x6d012e20, 0x3d372: 0x6c7cd420, 0x3d373: 0x6ca59020, + 0x3d374: 0x6c7e2c20, 0x3d375: 0x6ca6f220, 0x3d376: 0x6d883020, 0x3d377: 0x6ca77620, + 0x3d378: 0x6d042820, 0x3d379: 0x6c258820, 0x3d37a: 0x6e1f7c20, 0x3d37b: 0x6c259220, + 0x3d37c: 0x6ca7e620, 0x3d37d: 0x6d5fe820, 0x3d37e: 0x6d5fea20, 0x3d37f: 0x6d5fec20, + // Block 0xf4e, offset 0x3d380 + 0x3d380: 0x6daf1e20, 0x3d381: 0x6d617a20, 0x3d382: 0x6dcf7a20, 0x3d383: 0x6c5cc220, + 0x3d384: 0x6c80c220, 0x3d385: 0x6ca9e020, 0x3d386: 0x6cd85020, 0x3d387: 0x6daff220, + 0x3d388: 0x6c5d0a20, 0x3d389: 0x6c3e5a20, 0x3d38a: 0x6d36e220, 0x3d38b: 0x6cdaaa20, + 0x3d38c: 0x6c5f8e20, 0x3d38d: 0x6c5f9020, 0x3d38e: 0x6c84c220, 0x3d38f: 0x6cae1620, + 0x3d390: 0x6cae1820, 0x3d391: 0x6cae1a20, 0x3d392: 0x6d0bb420, 0x3d393: 0x6d0bb620, + 0x3d394: 0x6d39b620, 0x3d395: 0x6d65ee20, 0x3d396: 0x6d8fc220, 0x3d397: 0x6e01da20, + 0x3d398: 0x6d675620, 0x3d399: 0x6db4d820, 0x3d39a: 0x6cdef620, 0x3d39b: 0x6cdf0620, + 0x3d39c: 0x6e2c3a20, 0x3d39d: 0x6e221220, 0x3d39e: 0x6c14fe20, 0x3d39f: 0x6c26e420, + 0x3d3a0: 0x6c86c020, 0x3d3a1: 0x6c86c220, 0x3d3a2: 0x6ce04620, 0x3d3a3: 0x6def6620, + 0x3d3a4: 0x6c616420, 0x3d3a5: 0x6d3f6620, 0x3d3a6: 0x6db89c20, 0x3d3a7: 0x6c0a8a20, + 0x3d3a8: 0x6ce3ba20, 0x3d3a9: 0x6ce3bc20, 0x3d3aa: 0x6d95f820, 0x3d3ab: 0x6c27ea20, + 0x3d3ac: 0x6c88e820, 0x3d3ad: 0x6cb47220, 0x3d3ae: 0x6d12ba20, 0x3d3af: 0x6c626020, + 0x3d3b0: 0x6d41bc20, 0x3d3b1: 0x6dd8f820, 0x3d3b2: 0x6c27fe20, 0x3d3b3: 0x6c41fc20, + 0x3d3b4: 0x6c62a620, 0x3d3b5: 0x6c62a820, 0x3d3b6: 0x6c898020, 0x3d3b7: 0x6c898220, + 0x3d3b8: 0x6cb58020, 0x3d3b9: 0x6cb58220, 0x3d3ba: 0x6cb58420, 0x3d3bb: 0x6cb58620, + 0x3d3bc: 0x6ce57020, 0x3d3bd: 0x6d13f420, 0x3d3be: 0x6d41f820, 0x3d3bf: 0x6d41fa20, + // Block 0xf4f, offset 0x3d3c0 + 0x3d3c0: 0x6d6efe20, 0x3d3c1: 0x6df16220, 0x3d3c2: 0x6c420e20, 0x3d3c3: 0x6cb65e20, + 0x3d3c4: 0x6d70de20, 0x3d3c5: 0x6d15dc20, 0x3d3c6: 0x6c8a6620, 0x3d3c7: 0x6c428c20, + 0x3d3c8: 0x6c635a20, 0x3d3c9: 0x6c8a9220, 0x3d3ca: 0x6c42da20, 0x3d3cb: 0x6d45b620, + 0x3d3cc: 0x6d9c3420, 0x3d3cd: 0x6e19f020, 0x3d3ce: 0x6e371220, 0x3d3cf: 0x6ce88420, + 0x3d3d0: 0x6d180420, 0x3d3d1: 0x6dc06620, 0x3d3d2: 0x6df63620, 0x3d3d3: 0x6cb75420, + 0x3d3d4: 0x6d9eb820, 0x3d3d5: 0x6e272e20, 0x3d3d6: 0x6c63c820, 0x3d3d7: 0x6d750a20, + 0x3d3d8: 0x6ddfda20, 0x3d3d9: 0x6df85820, 0x3d3da: 0x6d188a20, 0x3d3db: 0x6e383e20, + 0x3d3dc: 0x6d9f9a20, 0x3d3dd: 0x6e441c20, + // Block 0xf50, offset 0x3d400 + 0x3d400: 0x6c15ea20, 0x3d401: 0x6c00fe20, 0x3d402: 0x6c000c20, 0x3d403: 0x6c0b4420, + 0x3d404: 0x6c16ba20, 0x3d405: 0x6c435e20, 0x3d406: 0x6c437820, 0x3d407: 0x6c645620, + 0x3d408: 0x6c8bba20, 0x3d409: 0x6cb81c20, 0x3d40a: 0x6d18fe20, 0x3d40b: 0x6d18ce20, + 0x3d40c: 0x6d9fac20, 0x3d40d: 0x6c0ccc20, 0x3d40e: 0x6c173820, 0x3d40f: 0x6c2a3220, + 0x3d410: 0x6e0c6420, 0x3d411: 0x6c2a5220, 0x3d412: 0x6c8c8020, 0x3d413: 0x6df89620, + 0x3d414: 0x6c02ce20, 0x3d415: 0x6c0c7820, 0x3d416: 0x6c0c7c20, 0x3d417: 0x6c02fe20, + 0x3d418: 0x6c65aa20, 0x3d419: 0x6c02ae20, 0x3d41a: 0x6c064a20, 0x3d41b: 0x6c179020, + 0x3d41c: 0x6dbc5420, 0x3d41d: 0x6c009a20, 0x3d41e: 0x6c015a20, 0x3d41f: 0x6c17da20, + 0x3d420: 0x6c2ae220, 0x3d421: 0x6c2b4a20, 0x3d422: 0x6cb95220, 0x3d423: 0x6cea4020, + 0x3d424: 0x6c0d3c20, 0x3d425: 0x6c455c20, 0x3d426: 0x6c456020, 0x3d427: 0x6cea9c20, + 0x3d428: 0x6c016420, 0x3d429: 0x6c06b820, 0x3d42a: 0x6c06ba20, 0x3d42b: 0x6c06c620, + 0x3d42c: 0x6c06d220, 0x3d42d: 0x6c2bac20, 0x3d42e: 0x6cb9f220, 0x3d42f: 0x6c18d420, + 0x3d430: 0x6c45e820, 0x3d431: 0x6c673020, 0x3d432: 0x6c673020, 0x3d433: 0x6c673020, + 0x3d434: 0x6c038e20, 0x3d435: 0x6c135e20, 0x3d436: 0x6c03a020, 0x3d437: 0x6c677e20, + 0x3d438: 0x6c8e0c20, 0x3d439: 0x6c074420, 0x3d43a: 0x6c075020, 0x3d43b: 0x6c0e3020, + 0x3d43c: 0x6c468620, 0x3d43d: 0x6c197e20, 0x3d43e: 0x6c199e20, 0x3d43f: 0x6c2c7e20, + // Block 0xf51, offset 0x3d440 + 0x3d440: 0x6c468e20, 0x3d441: 0x6c67e620, 0x3d442: 0x6c681820, 0x3d443: 0x6c8e9620, + 0x3d444: 0x6c8eb220, 0x3d445: 0x6cbaaa20, 0x3d446: 0x6cbaaa20, 0x3d447: 0x6cbad220, + 0x3d448: 0x6cbaf620, 0x3d449: 0x6cbb0620, 0x3d44a: 0x6ceb7620, 0x3d44b: 0x6d1cf220, + 0x3d44c: 0x6d1b7220, 0x3d44d: 0x6d1cf420, 0x3d44e: 0x6d1bb220, 0x3d44f: 0x6d49c620, + 0x3d450: 0x6c032820, 0x3d451: 0x6c0f0e20, 0x3d452: 0x6c486820, 0x3d453: 0x6c908220, + 0x3d454: 0x6c90b420, 0x3d455: 0x6c481220, 0x3d456: 0x6c6a6e20, 0x3d457: 0x6cbcb020, + 0x3d458: 0x6d4af820, 0x3d459: 0x6de13e20, 0x3d45a: 0x6c1b6c20, 0x3d45b: 0x6c916220, + 0x3d45c: 0x6c1b7420, 0x3d45d: 0x6c0f1e20, 0x3d45e: 0x6d1e1020, 0x3d45f: 0x6c91d420, + 0x3d460: 0x6c080620, 0x3d461: 0x6c2f9020, 0x3d462: 0x6c6b1820, 0x3d463: 0x6c6b3c20, + 0x3d464: 0x6c6b5420, 0x3d465: 0x6c495620, 0x3d466: 0x6c924e20, 0x3d467: 0x6cbdf220, + 0x3d468: 0x6cbe0e20, 0x3d469: 0x6d4c1220, 0x3d46a: 0x6de16420, 0x3d46b: 0x6de16420, + 0x3d46c: 0x6c0fdc20, 0x3d46d: 0x6c933820, 0x3d46e: 0x6cefa820, 0x3d46f: 0x6d1f5620, + 0x3d470: 0x6de19a20, 0x3d471: 0x6e3d2020, 0x3d472: 0x6c1cc220, 0x3d473: 0x6c4a9220, + 0x3d474: 0x6c114a20, 0x3d475: 0x6c01ac20, 0x3d476: 0x6c4abc20, 0x3d477: 0x6c941020, + 0x3d478: 0x6c01b620, 0x3d479: 0x6c311420, 0x3d47a: 0x6c1dd220, 0x3d47b: 0x6c6d7820, + 0x3d47c: 0x6cc0a820, 0x3d47d: 0x6c6d7c20, 0x3d47e: 0x6cf09a20, 0x3d47f: 0x6cc16a20, + // Block 0xf52, offset 0x3d480 + 0x3d480: 0x6d202220, 0x3d481: 0x6c272c20, 0x3d482: 0x6c954a20, 0x3d483: 0x6c08a020, + 0x3d484: 0x6cc17820, 0x3d485: 0x6c6e0020, 0x3d486: 0x6cc19820, 0x3d487: 0x6d4ea820, + 0x3d488: 0x6d7ae820, 0x3d489: 0x6e320a20, 0x3d48a: 0x6c4c6820, 0x3d48b: 0x6c4cac20, + 0x3d48c: 0x6c95e620, 0x3d48d: 0x6c95ec20, 0x3d48e: 0x6cc21820, 0x3d48f: 0x6d476820, + 0x3d490: 0x6c01d820, 0x3d491: 0x6c111220, 0x3d492: 0x6c111220, 0x3d493: 0x6c82fe20, + 0x3d494: 0x6c326a20, 0x3d495: 0x6c326a20, 0x3d496: 0x6c329a20, 0x3d497: 0x6d7ea620, + 0x3d498: 0x6e201a20, 0x3d499: 0x6c1ee020, 0x3d49a: 0x6c96ae20, 0x3d49b: 0x6c6f1420, + 0x3d49c: 0x6cc2ca20, 0x3d49d: 0x6c1f2220, 0x3d49e: 0x6c1f2c20, 0x3d49f: 0x6c1f6c20, + 0x3d4a0: 0x6c6fa220, 0x3d4a1: 0x6c4dbe20, 0x3d4a2: 0x6c4da620, 0x3d4a3: 0x6c6fc020, + 0x3d4a4: 0x6c97fe20, 0x3d4a5: 0x6c97a020, 0x3d4a6: 0x6d222420, 0x3d4a7: 0x6cf2ac20, + 0x3d4a8: 0x6cf2b020, 0x3d4a9: 0x6cf2ac20, 0x3d4aa: 0x6d226c20, 0x3d4ab: 0x6d4fb820, + 0x3d4ac: 0x6d7bcc20, 0x3d4ad: 0x6d4fd820, 0x3d4ae: 0x6d4fe820, 0x3d4af: 0x6da3f620, + 0x3d4b0: 0x6de28220, 0x3d4b1: 0x6de28c20, 0x3d4b2: 0x6c11c220, 0x3d4b3: 0x6c98ba20, + 0x3d4b4: 0x6c11e820, 0x3d4b5: 0x6c345020, 0x3d4b6: 0x6c349420, 0x3d4b7: 0x6c713820, + 0x3d4b8: 0x6c4fd020, 0x3d4b9: 0x6c711220, 0x3d4ba: 0x6c4f3420, 0x3d4bb: 0x6c990c20, + 0x3d4bc: 0x6c994220, 0x3d4bd: 0x6c722020, 0x3d4be: 0x6cc57a20, 0x3d4bf: 0x6cf41220, + // Block 0xf53, offset 0x3d4c0 + 0x3d4c0: 0x6cf51c20, 0x3d4c1: 0x6c998820, 0x3d4c2: 0x6d237420, 0x3d4c3: 0x6d510220, + 0x3d4c4: 0x6d23ee20, 0x3d4c5: 0x6d515a20, 0x3d4c6: 0x6d23e220, 0x3d4c7: 0x6de2ea20, + 0x3d4c8: 0x6c9ab020, 0x3d4c9: 0x6cf53820, 0x3d4ca: 0x6da53020, 0x3d4cb: 0x6c9b6e20, + 0x3d4cc: 0x6c739020, 0x3d4cd: 0x6c731620, 0x3d4ce: 0x6d7e3620, 0x3d4cf: 0x6cc7b820, + 0x3d4d0: 0x6cf5e620, 0x3d4d1: 0x6c50c220, 0x3d4d2: 0x6c448820, 0x3d4d3: 0x6c8c8820, + 0x3d4d4: 0x6cb8f420, 0x3d4d5: 0x6d258220, 0x3d4d6: 0x6c3e9420, 0x3d4d7: 0x6c3e7220, + 0x3d4d8: 0x6c73be20, 0x3d4d9: 0x6c9c2220, 0x3d4da: 0x6cf69620, 0x3d4db: 0x6c21ee20, + 0x3d4dc: 0x6c21d820, 0x3d4dd: 0x6c220c20, 0x3d4de: 0x6c365c20, 0x3d4df: 0x6c522420, + 0x3d4e0: 0x6c36a020, 0x3d4e1: 0x6c52c020, 0x3d4e2: 0x6c9c8820, 0x3d4e3: 0x6c750620, + 0x3d4e4: 0x6c9c9a20, 0x3d4e5: 0x6c740020, 0x3d4e6: 0x6cc95020, 0x3d4e7: 0x6cf6d620, + 0x3d4e8: 0x6cf70820, 0x3d4e9: 0x6d267820, 0x3d4ea: 0x6d53d620, 0x3d4eb: 0x6da63220, + 0x3d4ec: 0x6d801420, 0x3d4ed: 0x6da6f220, 0x3d4ee: 0x6e1db420, 0x3d4ef: 0x6c12b420, + 0x3d4f0: 0x6c756020, 0x3d4f1: 0x6d80d420, 0x3d4f2: 0x6e38d620, 0x3d4f3: 0x6cf90820, + 0x3d4f4: 0x6d285c20, 0x3d4f5: 0x6c9e2620, 0x3d4f6: 0x6c9e2820, 0x3d4f7: 0x6c9e2e20, + 0x3d4f8: 0x6c30b220, 0x3d4f9: 0x6d288c20, 0x3d4fa: 0x6c130620, 0x3d4fb: 0x6c393420, + 0x3d4fc: 0x6c38ac20, 0x3d4fd: 0x6c38c620, 0x3d4fe: 0x6c22c020, 0x3d4ff: 0x6c767220, + // Block 0xf54, offset 0x3d500 + 0x3d500: 0x6c546820, 0x3d501: 0x6c76b620, 0x3d502: 0x6c546e20, 0x3d503: 0x6c769a20, + 0x3d504: 0x6c76b820, 0x3d505: 0x6c76d220, 0x3d506: 0x6c771820, 0x3d507: 0x6c545420, + 0x3d508: 0x6ccc3a20, 0x3d509: 0x6cccb620, 0x3d50a: 0x6cfa0020, 0x3d50b: 0x6cccf220, + 0x3d50c: 0x6cfa8620, 0x3d50d: 0x6d29d220, 0x3d50e: 0x6c9f8020, 0x3d50f: 0x6d568820, + 0x3d510: 0x6d571a20, 0x3d511: 0x6d577a20, 0x3d512: 0x6d580a20, 0x3d513: 0x6dfbe420, + 0x3d514: 0x6de4d620, 0x3d515: 0x6de4d020, 0x3d516: 0x6e0f0220, 0x3d517: 0x6e0f1420, + 0x3d518: 0x6c23a220, 0x3d519: 0x6c239620, 0x3d51a: 0x6c554420, 0x3d51b: 0x6cb8ea20, + 0x3d51c: 0x6cfc0420, 0x3d51d: 0x6cce4a20, 0x3d51e: 0x6d582220, 0x3d51f: 0x6d838420, + 0x3d520: 0x6e443420, 0x3d521: 0x6da93020, 0x3d522: 0x6cfd5420, 0x3d523: 0x6c790420, + 0x3d524: 0x6ccf7820, 0x3d525: 0x6d2c1c20, 0x3d526: 0x6c243420, 0x3d527: 0x6cfdfc20, + 0x3d528: 0x6de60820, 0x3d529: 0x6c04fa20, 0x3d52a: 0x6c246c20, 0x3d52b: 0x6c3b5620, + 0x3d52c: 0x6c79bc20, 0x3d52d: 0x6c79bc20, 0x3d52e: 0x6cfe7820, 0x3d52f: 0x6cfea220, + 0x3d530: 0x6d2d0620, 0x3d531: 0x6d5a3420, 0x3d532: 0x6de63620, 0x3d533: 0x6c57d820, + 0x3d534: 0x6cd1a420, 0x3d535: 0x6c585a20, 0x3d536: 0x6c3be620, 0x3d537: 0x6cffb820, + 0x3d538: 0x6ca3e620, 0x3d539: 0x6cf15e20, 0x3d53a: 0x6d00b220, 0x3d53b: 0x6dab0a20, + 0x3d53c: 0x6e104820, 0x3d53d: 0x6c3c7020, 0x3d53e: 0x6c594e20, 0x3d53f: 0x6d868020, + // Block 0xf55, offset 0x3d540 + 0x3d540: 0x6c3c8820, 0x3d541: 0x6c3c8e20, 0x3d542: 0x6c3c8c20, 0x3d543: 0x6c59e420, + 0x3d544: 0x6c7c7e20, 0x3d545: 0x6c7c5e20, 0x3d546: 0x6c7c6020, 0x3d547: 0x6c7c6020, + 0x3d548: 0x6cd36020, 0x3d549: 0x6cd34020, 0x3d54a: 0x6d5c4620, 0x3d54b: 0x6d013a20, + 0x3d54c: 0x6c13ee20, 0x3d54d: 0x6c3cd620, 0x3d54e: 0x6ca5f620, 0x3d54f: 0x6d027820, + 0x3d550: 0x6d5d2820, 0x3d551: 0x6dac1020, 0x3d552: 0x6c3d1e20, 0x3d553: 0x6c7dd220, + 0x3d554: 0x6cd4fa20, 0x3d555: 0x6d30e620, 0x3d556: 0x6d30ce20, 0x3d557: 0x6c7e5e20, + 0x3d558: 0x6c5b3020, 0x3d559: 0x6d5e0420, 0x3d55a: 0x6d314e20, 0x3d55b: 0x6d885420, + 0x3d55c: 0x6cd5c620, 0x3d55d: 0x6d5eba20, 0x3d55e: 0x6d5eba20, 0x3d55f: 0x6d322e20, + 0x3d560: 0x6d323420, 0x3d561: 0x6d32de20, 0x3d562: 0x6d5f3420, 0x3d563: 0x6d894a20, + 0x3d564: 0x6d5efe20, 0x3d565: 0x6dae2820, 0x3d566: 0x6d8a5e20, 0x3d567: 0x6daece20, + 0x3d568: 0x6daee820, 0x3d569: 0x6dce7220, 0x3d56a: 0x6c5c6620, 0x3d56b: 0x6c3dc620, + 0x3d56c: 0x6cd78420, 0x3d56d: 0x6d608020, 0x3d56e: 0x6d342620, 0x3d56f: 0x6d60e220, + 0x3d570: 0x6daf6c20, 0x3d571: 0x6e399620, 0x3d572: 0x6c80d020, 0x3d573: 0x6d619e20, + 0x3d574: 0x6cd86420, 0x3d575: 0x6d073a20, 0x3d576: 0x6d8bc020, 0x3d577: 0x6e33b420, + 0x3d578: 0x6caa3220, 0x3d579: 0x6dcfe420, 0x3d57a: 0x6c3e3620, 0x3d57b: 0x6d624620, + 0x3d57c: 0x6dd02420, 0x3d57d: 0x6cd91e20, 0x3d57e: 0x6d628a20, 0x3d57f: 0x6db0a220, + // Block 0xf56, offset 0x3d580 + 0x3d580: 0x6c21a420, 0x3d581: 0x6c3e6a20, 0x3d582: 0x6c3e9e20, 0x3d583: 0x6c823c20, + 0x3d584: 0x6cd97a20, 0x3d585: 0x6cd98820, 0x3d586: 0x6ceed220, 0x3d587: 0x6d367820, + 0x3d588: 0x6d369420, 0x3d589: 0x6d538a20, 0x3d58a: 0x6da5b220, 0x3d58b: 0x6c82fe20, + 0x3d58c: 0x6cda9c20, 0x3d58d: 0x6d114c20, 0x3d58e: 0x6cdac220, 0x3d58f: 0x6c265420, + 0x3d590: 0x6c264820, 0x3d591: 0x6c3f5620, 0x3d592: 0x6c185020, 0x3d593: 0x6c3f7e20, + 0x3d594: 0x6c3f8220, 0x3d595: 0x6c3f9420, 0x3d596: 0x6c5eb620, 0x3d597: 0x6c5f1c20, + 0x3d598: 0x6c5eb420, 0x3d599: 0x6cac7420, 0x3d59a: 0x6c840620, 0x3d59b: 0x6cae1e20, + 0x3d59c: 0x6cac7620, 0x3d59d: 0x6cad0c20, 0x3d59e: 0x6cdb6e20, 0x3d59f: 0x6cdbee20, + 0x3d5a0: 0x6c84c420, 0x3d5a1: 0x6cdb3620, 0x3d5a2: 0x6cdb3a20, 0x3d5a3: 0x6cdb5820, + 0x3d5a4: 0x6cdc0c20, 0x3d5a5: 0x6d386a20, 0x3d5a6: 0x6d0a7820, 0x3d5a7: 0x6db1fa20, + 0x3d5a8: 0x6d0bbc20, 0x3d5a9: 0x6d642820, 0x3d5aa: 0x6d646c20, 0x3d5ab: 0x6d90ac20, + 0x3d5ac: 0x6d8e4820, 0x3d5ad: 0x6db27620, 0x3d5ae: 0x6e006820, 0x3d5af: 0x6e128020, + 0x3d5b0: 0x6dd1a220, 0x3d5b1: 0x6e12c220, 0x3d5b2: 0x6e20a820, 0x3d5b3: 0x6c5f9620, + 0x3d5b4: 0x6d0bc020, 0x3d5b5: 0x6db39a20, 0x3d5b6: 0x6dd29a20, 0x3d5b7: 0x6c852c20, + 0x3d5b8: 0x6cdd7820, 0x3d5b9: 0x6d0c2420, 0x3d5ba: 0x6cdd9c20, 0x3d5bb: 0x6d900a20, + 0x3d5bc: 0x6d3a1c20, 0x3d5bd: 0x6d3b0e20, 0x3d5be: 0x6d901420, 0x3d5bf: 0x6d8ffa20, + // Block 0xf57, offset 0x3d5c0 + 0x3d5c0: 0x6d668a20, 0x3d5c1: 0x6debe220, 0x3d5c2: 0x6debf020, 0x3d5c3: 0x6d912820, + 0x3d5c4: 0x6c14d220, 0x3d5c5: 0x6cafa620, 0x3d5c6: 0x6cdeaa20, 0x3d5c7: 0x6d0d0620, + 0x3d5c8: 0x6d3b2c20, 0x3d5c9: 0x6d3b6e20, 0x3d5ca: 0x6c8c8420, 0x3d5cb: 0x6e430c20, + 0x3d5cc: 0x6c867c20, 0x3d5cd: 0x6cb06c20, 0x3d5ce: 0x6cdf6620, 0x3d5cf: 0x6d0e4620, + 0x3d5d0: 0x6d925c20, 0x3d5d1: 0x6e2c4c20, 0x3d5d2: 0x6c26ec20, 0x3d5d3: 0x6cb18c20, + 0x3d5d4: 0x6cb1a420, 0x3d5d5: 0x6ce0de20, 0x3d5d6: 0x6e34b020, 0x3d5d7: 0x6c873020, + 0x3d5d8: 0x6d93fa20, 0x3d5d9: 0x6d76c820, 0x3d5da: 0x6ce1c620, 0x3d5db: 0x6d101620, + 0x3d5dc: 0x6d103a20, 0x3d5dd: 0x6c458420, 0x3d5de: 0x6c879a20, 0x3d5df: 0x6d951e20, + 0x3d5e0: 0x6d6cc620, 0x3d5e1: 0x6d95c220, 0x3d5e2: 0x6c153c20, 0x3d5e3: 0x6c625420, + 0x3d5e4: 0x6d121420, 0x3d5e5: 0x6cb46620, 0x3d5e6: 0x6d401a20, 0x3d5e7: 0x6d12da20, + 0x3d5e8: 0x6d6e0a20, 0x3d5e9: 0x6d6e0c20, 0x3d5ea: 0x6d41c020, 0x3d5eb: 0x6df0d620, + 0x3d5ec: 0x6e04bc20, 0x3d5ed: 0x6e3ac220, 0x3d5ee: 0x6ce59420, 0x3d5ef: 0x6d420c20, + 0x3d5f0: 0x6dbb3420, 0x3d5f1: 0x6dbb7220, 0x3d5f2: 0x6d6f8c20, 0x3d5f3: 0x6ce69420, + 0x3d5f4: 0x6d7a8620, 0x3d5f5: 0x6dd9cc20, 0x3d5f6: 0x6df20220, 0x3d5f7: 0x6d706220, + 0x3d5f8: 0x6dbc7220, 0x3d5f9: 0x6df24220, 0x3d5fa: 0x6e06d620, 0x3d5fb: 0x6df2ca20, + 0x3d5fc: 0x6ce74620, 0x3d5fd: 0x6d712e20, 0x3d5fe: 0x6d15fc20, 0x3d5ff: 0x6d15fc20, + // Block 0xf58, offset 0x3d600 + 0x3d600: 0x6d711820, 0x3d601: 0x6d449820, 0x3d602: 0x6c8a6820, 0x3d603: 0x6d44d220, + 0x3d604: 0x6d9b2620, 0x3d605: 0x6df3ee20, 0x3d606: 0x6d457020, 0x3d607: 0x6dbe8420, + 0x3d608: 0x6d72ba20, 0x3d609: 0x6d9c9020, 0x3d60a: 0x6e08b620, 0x3d60b: 0x6e09e620, + 0x3d60c: 0x6d745c20, 0x3d60d: 0x6dc07220, 0x3d60e: 0x6e0a0620, 0x3d60f: 0x6dc13220, + 0x3d610: 0x6e0a7420, 0x3d611: 0x6e267a20, 0x3d612: 0x6e1a6a20, 0x3d613: 0x6e421620, + 0x3d614: 0x6d751a20, 0x3d615: 0x6cb79420, 0x3d616: 0x6e0b4220, 0x3d617: 0x6ce8be20, + 0x3d618: 0x6c42e420, 0x3d619: 0x6e1b6620, 0x3d61a: 0x6d75a020, 0x3d61b: 0x6ddfac20, + 0x3d61c: 0x6d478020, 0x3d61d: 0x6e1bc220, +} + +// mainLookup: 16576 entries, 33152 bytes +// Block 0 is the null block. +var mainLookup = [16576]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0x0e0: 0x1f, 0x0e1: 0x20, 0x0e2: 0x21, 0x0e3: 0x22, 0x0e4: 0x23, 0x0e5: 0x24, 0x0e6: 0x25, 0x0e7: 0x26, + 0x0e8: 0x27, 0x0e9: 0x28, 0x0ea: 0x29, 0x0eb: 0x2a, 0x0ec: 0x2b, 0x0ed: 0x2c, 0x0ee: 0x2d, 0x0ef: 0x2e, + 0x0f0: 0x2f, 0x0f1: 0x30, 0x0f2: 0x31, 0x0f3: 0x32, 0x0f4: 0x33, 0x0f5: 0x34, 0x0f6: 0x35, 0x0f7: 0x36, + 0x0f8: 0x37, 0x0f9: 0x38, 0x0fa: 0x39, 0x0fb: 0x3a, 0x0fc: 0x3b, 0x0fd: 0x3c, 0x0fe: 0x3d, 0x0ff: 0x3e, + // Block 0x4, offset 0x100 + 0x100: 0x3f, 0x101: 0x40, 0x102: 0x41, 0x103: 0x42, 0x104: 0x43, 0x105: 0x44, 0x106: 0x45, 0x107: 0x46, + 0x108: 0x47, 0x109: 0x48, 0x10a: 0x49, 0x10b: 0x4a, 0x10c: 0x4b, 0x10d: 0x4c, 0x10e: 0x4d, 0x10f: 0x4e, + 0x110: 0x4f, 0x111: 0x50, 0x112: 0x51, 0x113: 0x52, 0x114: 0x53, 0x115: 0x54, 0x116: 0x55, 0x117: 0x56, + 0x118: 0x57, 0x119: 0x58, 0x11a: 0x59, 0x11b: 0x5a, 0x11c: 0x5b, 0x11d: 0x5c, 0x11e: 0x5d, 0x11f: 0x5e, + 0x120: 0x5f, 0x121: 0x60, 0x122: 0x61, 0x123: 0x62, 0x124: 0x63, 0x125: 0x64, 0x126: 0x65, 0x127: 0x66, + 0x128: 0x67, 0x129: 0x68, 0x12a: 0x69, 0x12c: 0x6a, 0x12d: 0x6b, 0x12e: 0x6c, 0x12f: 0x6d, + 0x130: 0x6e, 0x131: 0x6f, 0x133: 0x70, 0x134: 0x71, 0x135: 0x72, 0x136: 0x73, 0x137: 0x74, + 0x138: 0x75, 0x139: 0x76, 0x13a: 0x77, 0x13b: 0x78, 0x13c: 0x79, 0x13d: 0x7a, 0x13e: 0x7b, 0x13f: 0x7c, + // Block 0x5, offset 0x140 + 0x140: 0x7d, 0x141: 0x7e, 0x142: 0x7f, 0x143: 0x80, 0x144: 0x81, 0x145: 0x82, 0x146: 0x83, 0x147: 0x84, + 0x148: 0x85, 0x149: 0x86, 0x14a: 0x87, 0x14b: 0x88, 0x14c: 0x89, 0x14d: 0x8a, 0x14e: 0x8b, 0x14f: 0x8c, + 0x150: 0x8d, 0x151: 0x8e, 0x152: 0x8f, 0x153: 0x90, 0x154: 0x91, 0x155: 0x92, 0x156: 0x93, 0x157: 0x94, + 0x158: 0x95, 0x159: 0x96, 0x15a: 0x97, 0x15b: 0x98, 0x15c: 0x99, 0x15d: 0x9a, 0x15e: 0x9b, 0x15f: 0x9c, + 0x160: 0x9d, 0x161: 0x9e, 0x162: 0x9f, 0x163: 0xa0, 0x164: 0xa1, 0x165: 0xa2, 0x166: 0xa3, 0x167: 0xa4, + 0x168: 0xa5, 0x169: 0xa6, 0x16a: 0xa7, 0x16b: 0xa8, 0x16c: 0xa9, 0x16d: 0xaa, + 0x170: 0xab, 0x171: 0xac, 0x172: 0xad, 0x173: 0xae, 0x174: 0xaf, 0x175: 0xb0, 0x176: 0xb1, 0x177: 0xb2, + 0x178: 0xb3, 0x17a: 0xb4, 0x17b: 0xb5, 0x17c: 0xb6, 0x17d: 0xb7, 0x17e: 0xb8, 0x17f: 0xb9, + // Block 0x6, offset 0x180 + 0x180: 0xba, 0x181: 0xbb, 0x182: 0xbc, 0x183: 0xbd, 0x184: 0xbe, 0x185: 0xbf, 0x186: 0xc0, 0x187: 0xc1, + 0x188: 0xc2, 0x189: 0xc3, 0x18a: 0xc4, 0x18b: 0xc5, 0x18c: 0xc6, 0x18d: 0xc7, 0x18e: 0xc8, 0x18f: 0xc9, + // Block 0x7, offset 0x1c0 + 0x1f7: 0xca, + // Block 0x8, offset 0x200 + 0x200: 0xcb, 0x201: 0xcc, 0x202: 0xcd, 0x203: 0xce, 0x204: 0xcf, 0x205: 0xd0, 0x206: 0xd1, 0x207: 0xd2, + 0x208: 0xd3, 0x209: 0xd4, 0x20a: 0xd5, 0x20b: 0xd6, 0x20c: 0xd7, 0x20d: 0xd8, 0x20e: 0xd9, 0x20f: 0xda, + 0x210: 0xdb, 0x211: 0xdc, 0x212: 0xdd, 0x213: 0xde, 0x214: 0xdf, 0x215: 0xe0, 0x216: 0xe1, 0x217: 0xe2, + 0x218: 0xe3, 0x219: 0xe4, 0x21a: 0xe5, 0x21b: 0xe6, 0x21c: 0xe7, 0x21d: 0xe8, 0x21e: 0xe9, 0x21f: 0xea, + 0x220: 0xeb, 0x221: 0xec, 0x222: 0xed, 0x223: 0xee, 0x224: 0xef, 0x225: 0xf0, 0x226: 0xf1, 0x227: 0xf2, + 0x228: 0xf3, 0x229: 0xf4, 0x22a: 0xf5, 0x22b: 0xf6, 0x22c: 0xf7, 0x22f: 0xf8, + // Block 0x9, offset 0x240 + 0x25e: 0xf9, 0x25f: 0xfa, + // Block 0xa, offset 0x280 + 0x2a4: 0xfb, 0x2a5: 0xfc, 0x2a6: 0xfd, 0x2a7: 0xfe, + 0x2a8: 0xff, 0x2a9: 0x100, 0x2aa: 0x101, 0x2ab: 0x102, 0x2ac: 0x103, 0x2ad: 0x104, 0x2ae: 0x105, 0x2af: 0x106, + 0x2b0: 0x107, 0x2b1: 0x108, 0x2b2: 0x109, 0x2b3: 0x10a, 0x2b4: 0x10b, 0x2b5: 0x10c, 0x2b6: 0x10d, 0x2b7: 0x10e, + 0x2b8: 0x10f, 0x2b9: 0x110, 0x2ba: 0x111, 0x2bb: 0x112, 0x2bc: 0x113, 0x2bd: 0x114, 0x2be: 0x115, 0x2bf: 0x116, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x117, 0x2c1: 0x118, 0x2c2: 0x119, 0x2c3: 0x11a, 0x2c4: 0x11b, 0x2c5: 0x11c, 0x2c6: 0x11d, 0x2c7: 0x11e, + 0x2ca: 0x11f, 0x2cb: 0x120, 0x2cc: 0x121, 0x2cd: 0x122, 0x2ce: 0x123, 0x2cf: 0x124, + 0x2d0: 0x125, 0x2d1: 0x126, 0x2d2: 0x127, + 0x2e0: 0x128, 0x2e1: 0x129, 0x2e4: 0x12a, 0x2e6: 0x12b, + 0x2e8: 0x12c, 0x2e9: 0x12d, 0x2ec: 0x12e, 0x2ed: 0x12f, + 0x2f0: 0x130, 0x2f1: 0x131, + 0x2f9: 0x132, + // Block 0xc, offset 0x300 + 0x300: 0x133, 0x301: 0x134, 0x302: 0x135, 0x303: 0x136, 0x304: 0x137, 0x305: 0x138, 0x306: 0x139, 0x307: 0x13a, + 0x31a: 0x13b, 0x31b: 0x13c, + // Block 0xd, offset 0x340 + 0x340: 0x13d, 0x341: 0x13e, 0x342: 0x13f, 0x343: 0x140, 0x344: 0x141, 0x345: 0x142, 0x346: 0x143, 0x347: 0x144, + 0x348: 0x145, 0x349: 0x146, 0x34a: 0x147, 0x34b: 0x148, 0x34c: 0x149, 0x34d: 0x14a, + 0x350: 0x14b, 0x351: 0x14c, + // Block 0xe, offset 0x380 + 0x380: 0x14d, 0x381: 0x14e, 0x382: 0x14f, 0x383: 0x150, 0x384: 0x151, 0x385: 0x152, 0x386: 0x153, 0x387: 0x154, + 0x388: 0x155, 0x389: 0x156, 0x38a: 0x157, 0x38b: 0x158, 0x38c: 0x159, 0x38d: 0x15a, 0x38e: 0x15b, 0x38f: 0x15c, + 0x390: 0x15d, + // Block 0xf, offset 0x3c0 + 0x3e0: 0x15e, 0x3e1: 0x15f, 0x3e2: 0x160, 0x3e3: 0x161, 0x3e4: 0x162, 0x3e5: 0x163, 0x3e6: 0x164, 0x3e7: 0x165, + 0x3e8: 0x166, + 0x3fc: 0x167, 0x3fd: 0x168, 0x3fe: 0x169, + // Block 0x10, offset 0x400 + 0x400: 0x16a, + // Block 0x11, offset 0x440 + 0x440: 0x16b, 0x441: 0x16c, 0x442: 0x16d, 0x443: 0x16e, 0x444: 0x16f, 0x445: 0x170, 0x446: 0x171, 0x447: 0x172, + 0x448: 0x173, 0x449: 0x174, 0x44c: 0x175, 0x44d: 0x176, + 0x450: 0x177, 0x451: 0x178, 0x452: 0x179, 0x453: 0x17a, 0x454: 0x17b, 0x455: 0x17c, 0x456: 0x17d, 0x457: 0x17e, + 0x458: 0x17f, 0x459: 0x180, 0x45a: 0x181, 0x45b: 0x182, 0x45c: 0x183, 0x45d: 0x184, 0x45e: 0x185, 0x45f: 0x186, + // Block 0x12, offset 0x480 + 0x4b8: 0x187, 0x4b9: 0x188, 0x4ba: 0x189, 0x4bb: 0x18a, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x18b, 0x4c1: 0x18c, 0x4c2: 0x18d, 0x4c3: 0x18e, 0x4c4: 0x18f, 0x4c5: 0x190, 0x4c6: 0x191, 0x4c7: 0x192, + 0x4c8: 0x193, 0x4c9: 0x194, 0x4cc: 0x195, 0x4cd: 0x196, 0x4ce: 0x197, 0x4cf: 0x198, + 0x4d0: 0x199, 0x4d1: 0x19a, 0x4d2: 0x19b, 0x4d3: 0x19c, 0x4d4: 0x19d, 0x4d5: 0x19e, 0x4d7: 0x19f, + 0x4d8: 0x1a0, 0x4d9: 0x1a1, 0x4da: 0x1a2, 0x4db: 0x1a3, 0x4dc: 0x1a4, 0x4dd: 0x1a5, + // Block 0x14, offset 0x500 + 0x520: 0x1a6, 0x521: 0x1a7, 0x522: 0x1a8, 0x523: 0x1a9, 0x524: 0x1aa, 0x525: 0x1ab, 0x526: 0x1ac, 0x527: 0x1ad, + 0x528: 0x1ae, + // Block 0x15, offset 0x540 + 0x550: 0x09, 0x551: 0x0a, 0x552: 0x0b, 0x553: 0x0c, 0x556: 0x0d, + 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, + 0x56f: 0x12, + // Block 0x16, offset 0x580 + 0x580: 0x1af, 0x581: 0x1b0, 0x584: 0x1b0, 0x585: 0x1b0, 0x586: 0x1b0, 0x587: 0x1b1, + // Block 0x17, offset 0x5c0 + 0x5e0: 0x14, + // Block 0x18, offset 0x600 + 0x602: 0x01, 0x603: 0x02, 0x604: 0x03, 0x605: 0x04, 0x606: 0x05, 0x607: 0x06, + 0x608: 0x07, 0x609: 0x08, 0x60a: 0x09, 0x60b: 0x0a, 0x60c: 0x0b, 0x60d: 0x0c, 0x60e: 0x0d, 0x60f: 0x0e, + 0x610: 0x0f, 0x611: 0x10, 0x612: 0x11, 0x613: 0x12, 0x614: 0x13, 0x615: 0x14, 0x616: 0x15, 0x617: 0x16, + 0x618: 0x17, 0x619: 0x18, 0x61a: 0x19, 0x61b: 0x1a, 0x61c: 0x1b, 0x61d: 0x1c, 0x61e: 0x1d, 0x61f: 0x1e, + 0x620: 0x01, 0x621: 0x02, 0x622: 0x03, 0x623: 0x04, 0x624: 0x05, + 0x62a: 0x06, 0x62d: 0x07, 0x62f: 0x08, + 0x630: 0x13, 0x633: 0x15, + // Block 0x19, offset 0x640 + 0x640: 0x3f, 0x641: 0x40, 0x642: 0x41, 0x643: 0x42, 0x644: 0x43, 0x645: 0x44, 0x646: 0x45, 0x647: 0x46, + 0x648: 0x47, 0x649: 0x48, 0x64a: 0x49, 0x64b: 0x4a, 0x64c: 0x4b, 0x64d: 0x4c, 0x64e: 0x4d, 0x64f: 0x4e, + 0x650: 0x4f, 0x651: 0x50, 0x652: 0x51, 0x653: 0x52, 0x654: 0x53, 0x655: 0x54, 0x656: 0x55, 0x657: 0x56, + 0x658: 0x57, 0x659: 0x58, 0x65a: 0x59, 0x65b: 0x5a, 0x65c: 0x5b, 0x65d: 0x5c, 0x65e: 0x5d, 0x65f: 0x5e, + 0x660: 0x5f, 0x661: 0x60, 0x662: 0x61, 0x663: 0x62, 0x664: 0x63, 0x665: 0x64, 0x666: 0x65, 0x667: 0x66, + 0x668: 0x67, 0x669: 0x68, 0x66a: 0x69, 0x66c: 0x6a, 0x66d: 0x6b, 0x66e: 0x6c, 0x66f: 0x6d, + 0x670: 0x6e, 0x671: 0x6f, 0x673: 0x70, 0x674: 0x71, 0x675: 0x72, 0x676: 0x73, 0x677: 0x74, + 0x678: 0x1ba, 0x679: 0x1bb, 0x67a: 0x1bc, 0x67b: 0x1bd, 0x67c: 0x79, 0x67d: 0x7a, 0x67e: 0x7b, 0x67f: 0x7c, + // Block 0x1a, offset 0x680 + 0x680: 0x7d, 0x681: 0x7e, 0x682: 0x7f, 0x683: 0x80, 0x684: 0x1be, 0x685: 0x1bf, 0x686: 0x83, 0x687: 0x84, + 0x688: 0x85, 0x689: 0x86, 0x68a: 0x87, 0x68b: 0x88, 0x68c: 0x89, 0x68d: 0x8a, 0x68e: 0x8b, 0x68f: 0x8c, + 0x690: 0x8d, 0x691: 0x8e, 0x692: 0x1c0, 0x693: 0x90, 0x694: 0x91, 0x695: 0x92, 0x696: 0x93, 0x697: 0x94, + 0x698: 0x95, 0x699: 0x96, 0x69a: 0x97, 0x69b: 0x98, 0x69c: 0x99, 0x69d: 0x9a, 0x69e: 0x9b, 0x69f: 0x9c, + 0x6a0: 0x9d, 0x6a1: 0x9e, 0x6a2: 0x9f, 0x6a3: 0xa0, 0x6a4: 0xa1, 0x6a5: 0xa2, 0x6a6: 0xa3, 0x6a7: 0xa4, + 0x6a8: 0xa5, 0x6a9: 0xa6, 0x6aa: 0xa7, 0x6ab: 0xa8, 0x6ac: 0xa9, 0x6ad: 0xaa, + 0x6b0: 0xab, 0x6b1: 0xac, 0x6b2: 0xad, 0x6b3: 0xae, 0x6b4: 0xaf, 0x6b5: 0xb0, 0x6b6: 0xb1, 0x6b7: 0xb2, + 0x6b8: 0xb3, 0x6ba: 0xb4, 0x6bb: 0xb5, 0x6bc: 0xb6, 0x6bd: 0xb7, 0x6be: 0xb8, 0x6bf: 0xb9, + // Block 0x1b, offset 0x6c0 + 0x6c0: 0xba, 0x6c1: 0xbb, 0x6c2: 0xbc, 0x6c3: 0xbd, 0x6c4: 0xbe, 0x6c5: 0xbf, 0x6c6: 0xc0, 0x6c7: 0xc1, + 0x6c8: 0xc2, 0x6c9: 0xc3, 0x6ca: 0xc4, 0x6cb: 0x1c1, 0x6cc: 0xc6, 0x6cd: 0x1c2, 0x6ce: 0x1c3, 0x6cf: 0x1c4, + // Block 0x1c, offset 0x700 + 0x724: 0xfb, 0x725: 0xfc, 0x726: 0xfd, 0x727: 0xfe, + 0x728: 0xff, 0x729: 0x100, 0x72a: 0x101, 0x72b: 0x102, 0x72c: 0x1c5, 0x72d: 0x104, 0x72e: 0x105, 0x72f: 0x106, + 0x730: 0x107, 0x731: 0x108, 0x732: 0x109, 0x733: 0x10a, 0x734: 0x10b, 0x735: 0x10c, 0x736: 0x10d, 0x737: 0x10e, + 0x738: 0x10f, 0x739: 0x110, 0x73a: 0x111, 0x73b: 0x112, 0x73c: 0x113, 0x73d: 0x114, 0x73e: 0x115, 0x73f: 0x116, + // Block 0x1d, offset 0x740 + 0x740: 0x18b, 0x741: 0x18c, 0x742: 0x18d, 0x743: 0x18e, 0x744: 0x1c6, 0x745: 0x1c7, 0x746: 0x191, 0x747: 0x192, + 0x748: 0x193, 0x749: 0x194, 0x74c: 0x195, 0x74d: 0x196, 0x74e: 0x197, 0x74f: 0x198, + 0x750: 0x199, 0x751: 0x19a, 0x752: 0x19b, 0x753: 0x19c, 0x754: 0x19d, 0x755: 0x19e, 0x757: 0x19f, + 0x758: 0x1a0, 0x759: 0x1a1, 0x75a: 0x1a2, 0x75b: 0x1a3, 0x75c: 0x1a4, 0x75d: 0x1a5, + // Block 0x1e, offset 0x780 + 0x790: 0x09, 0x791: 0x0a, 0x792: 0x0b, 0x793: 0x0c, 0x796: 0x0d, + 0x79b: 0x0e, 0x79d: 0x0f, 0x79e: 0x10, 0x79f: 0x1b, + 0x7af: 0x12, + // Block 0x1f, offset 0x7c0 + 0x7c2: 0x01, 0x7c3: 0x1b4, 0x7c4: 0x1b5, 0x7c5: 0x1b6, 0x7c6: 0x1b7, 0x7c7: 0x1b8, + 0x7c8: 0x1b9, 0x7c9: 0x08, 0x7ca: 0x09, 0x7cb: 0x0a, 0x7cc: 0x0b, 0x7cd: 0x0c, 0x7ce: 0x0d, 0x7cf: 0x0e, + 0x7d0: 0x0f, 0x7d1: 0x10, 0x7d2: 0x11, 0x7d3: 0x12, 0x7d4: 0x13, 0x7d5: 0x14, 0x7d6: 0x15, 0x7d7: 0x16, + 0x7d8: 0x17, 0x7d9: 0x18, 0x7da: 0x19, 0x7db: 0x1a, 0x7dc: 0x1b, 0x7dd: 0x1c, 0x7de: 0x1d, 0x7df: 0x1e, + 0x7e0: 0x01, 0x7e1: 0x17, 0x7e2: 0x18, 0x7e3: 0x19, 0x7e4: 0x05, + 0x7ea: 0x06, 0x7ed: 0x07, 0x7ef: 0x1a, + 0x7f0: 0x1c, 0x7f3: 0x15, + // Block 0x20, offset 0x800 + 0x802: 0x01, 0x803: 0x02, 0x804: 0x03, 0x805: 0x1c8, 0x806: 0x05, 0x807: 0x06, + 0x808: 0x07, 0x809: 0x08, 0x80a: 0x09, 0x80b: 0x0a, 0x80c: 0x0b, 0x80d: 0x0c, 0x80e: 0x0d, 0x80f: 0x0e, + 0x810: 0x0f, 0x811: 0x10, 0x812: 0x11, 0x813: 0x12, 0x814: 0x13, 0x815: 0x14, 0x816: 0x15, 0x817: 0x16, + 0x818: 0x17, 0x819: 0x18, 0x81a: 0x19, 0x81b: 0x1a, 0x81c: 0x1b, 0x81d: 0x1c, 0x81e: 0x1d, 0x81f: 0x1e, + 0x820: 0x01, 0x821: 0x02, 0x822: 0x03, 0x823: 0x04, 0x824: 0x05, + 0x82a: 0x06, 0x82d: 0x07, 0x82f: 0x08, + 0x830: 0x13, 0x833: 0x15, + // Block 0x21, offset 0x840 + 0x864: 0xfb, 0x865: 0xfc, 0x866: 0xfd, 0x867: 0xfe, + 0x868: 0xff, 0x869: 0x100, 0x86a: 0x101, 0x86b: 0x102, 0x86c: 0x103, 0x86d: 0x104, 0x86e: 0x105, 0x86f: 0x1cb, + 0x870: 0x1cc, 0x871: 0x1cd, 0x872: 0x1ce, 0x873: 0x1cf, 0x874: 0x1d0, 0x875: 0x10c, 0x876: 0x10d, 0x877: 0x10e, + 0x878: 0x10f, 0x879: 0x110, 0x87a: 0x1d1, 0x87b: 0x1d2, 0x87c: 0x113, 0x87d: 0x114, 0x87e: 0x115, 0x87f: 0x116, + // Block 0x22, offset 0x880 + 0x882: 0x01, 0x883: 0x02, 0x884: 0x03, 0x885: 0x04, 0x886: 0x05, 0x887: 0x06, + 0x888: 0x07, 0x889: 0x08, 0x88a: 0x09, 0x88b: 0x0a, 0x88c: 0x0b, 0x88d: 0x0c, 0x88e: 0x0d, 0x88f: 0x0e, + 0x890: 0x0f, 0x891: 0x10, 0x892: 0x11, 0x893: 0x12, 0x894: 0x13, 0x895: 0x14, 0x896: 0x15, 0x897: 0x16, + 0x898: 0x1c9, 0x899: 0x1ca, 0x89a: 0x19, 0x89b: 0x1a, 0x89c: 0x1b, 0x89d: 0x1c, 0x89e: 0x1d, 0x89f: 0x1e, + 0x8a0: 0x01, 0x8a1: 0x02, 0x8a2: 0x03, 0x8a3: 0x04, 0x8a4: 0x05, + 0x8aa: 0x06, 0x8ad: 0x07, 0x8af: 0x1f, + 0x8b0: 0x13, 0x8b3: 0x15, + // Block 0x23, offset 0x8c0 + 0x8e0: 0x1f, 0x8e1: 0x20, 0x8e2: 0x21, 0x8e3: 0x22, 0x8e4: 0x23, 0x8e5: 0x24, 0x8e6: 0x1d3, 0x8e7: 0x1d4, + 0x8e8: 0x27, 0x8e9: 0x28, 0x8ea: 0x29, 0x8eb: 0x2a, 0x8ec: 0x2b, 0x8ed: 0x2c, 0x8ee: 0x2d, 0x8ef: 0x2e, + 0x8f0: 0x2f, 0x8f1: 0x30, 0x8f2: 0x31, 0x8f3: 0x32, 0x8f4: 0x33, 0x8f5: 0x34, 0x8f6: 0x35, 0x8f7: 0x36, + 0x8f8: 0x37, 0x8f9: 0x38, 0x8fa: 0x39, 0x8fb: 0x3a, 0x8fc: 0x3b, 0x8fd: 0x3c, 0x8fe: 0x3d, 0x8ff: 0x3e, + // Block 0x24, offset 0x900 + 0x902: 0x01, 0x903: 0x02, 0x904: 0x03, 0x905: 0x04, 0x906: 0x05, 0x907: 0x06, + 0x908: 0x07, 0x909: 0x08, 0x90a: 0x09, 0x90b: 0x0a, 0x90c: 0x0b, 0x90d: 0x0c, 0x90e: 0x0d, 0x90f: 0x0e, + 0x910: 0x0f, 0x911: 0x10, 0x912: 0x11, 0x913: 0x12, 0x914: 0x13, 0x915: 0x14, 0x916: 0x15, 0x917: 0x16, + 0x918: 0x17, 0x919: 0x18, 0x91a: 0x19, 0x91b: 0x1a, 0x91c: 0x1b, 0x91d: 0x1c, 0x91e: 0x1d, 0x91f: 0x1e, + 0x920: 0x21, 0x921: 0x02, 0x922: 0x03, 0x923: 0x04, 0x924: 0x05, + 0x92a: 0x06, 0x92d: 0x07, 0x92f: 0x08, + 0x930: 0x13, 0x933: 0x15, + // Block 0x25, offset 0x940 + 0x940: 0x3f, 0x941: 0x40, 0x942: 0x41, 0x943: 0x42, 0x944: 0x43, 0x945: 0x44, 0x946: 0x45, 0x947: 0x46, + 0x948: 0x47, 0x949: 0x48, 0x94a: 0x49, 0x94b: 0x4a, 0x94c: 0x4b, 0x94d: 0x4c, 0x94e: 0x4d, 0x94f: 0x4e, + 0x950: 0x4f, 0x951: 0x50, 0x952: 0x51, 0x953: 0x52, 0x954: 0x53, 0x955: 0x54, 0x956: 0x55, 0x957: 0x56, + 0x958: 0x57, 0x959: 0x58, 0x95a: 0x59, 0x95b: 0x5a, 0x95c: 0x5b, 0x95d: 0x5c, 0x95e: 0x5d, 0x95f: 0x5e, + 0x960: 0x5f, 0x961: 0x60, 0x962: 0x61, 0x963: 0x62, 0x964: 0x63, 0x965: 0x64, 0x966: 0x65, 0x967: 0x66, + 0x968: 0x67, 0x969: 0x68, 0x96a: 0x69, 0x96c: 0x6a, 0x96d: 0x6b, 0x96e: 0x6c, 0x96f: 0x6d, + 0x970: 0x6e, 0x971: 0x6f, 0x973: 0x70, 0x974: 0x71, 0x975: 0x72, 0x976: 0x73, 0x977: 0x74, + 0x978: 0x1de, 0x979: 0x1df, 0x97a: 0x1e0, 0x97b: 0x1e1, 0x97c: 0x79, 0x97d: 0x7a, 0x97e: 0x7b, 0x97f: 0x7c, + // Block 0x26, offset 0x980 + 0x980: 0x7d, 0x981: 0x7e, 0x982: 0x7f, 0x983: 0x80, 0x984: 0x81, 0x985: 0x1e2, 0x986: 0x83, 0x987: 0x84, + 0x988: 0x85, 0x989: 0x86, 0x98a: 0x87, 0x98b: 0x88, 0x98c: 0x89, 0x98d: 0x8a, 0x98e: 0x8b, 0x98f: 0x8c, + 0x990: 0x8d, 0x991: 0x8e, 0x992: 0x1e3, 0x993: 0x90, 0x994: 0x91, 0x995: 0x92, 0x996: 0x93, 0x997: 0x94, + 0x998: 0x95, 0x999: 0x96, 0x99a: 0x97, 0x99b: 0x98, 0x99c: 0x99, 0x99d: 0x9a, 0x99e: 0x9b, 0x99f: 0x9c, + 0x9a0: 0x9d, 0x9a1: 0x9e, 0x9a2: 0x9f, 0x9a3: 0xa0, 0x9a4: 0xa1, 0x9a5: 0xa2, 0x9a6: 0xa3, 0x9a7: 0xa4, + 0x9a8: 0xa5, 0x9a9: 0xa6, 0x9aa: 0xa7, 0x9ab: 0xa8, 0x9ac: 0xa9, 0x9ad: 0xaa, + 0x9b0: 0xab, 0x9b1: 0xac, 0x9b2: 0xad, 0x9b3: 0xae, 0x9b4: 0xaf, 0x9b5: 0xb0, 0x9b6: 0xb1, 0x9b7: 0xb2, + 0x9b8: 0xb3, 0x9ba: 0xb4, 0x9bb: 0xb5, 0x9bc: 0xb6, 0x9bd: 0xb7, 0x9be: 0xb8, 0x9bf: 0xb9, + // Block 0x27, offset 0x9c0 + 0x9c0: 0xba, 0x9c1: 0xbb, 0x9c2: 0xbc, 0x9c3: 0xbd, 0x9c4: 0xbe, 0x9c5: 0xbf, 0x9c6: 0xc0, 0x9c7: 0xc1, + 0x9c8: 0xc2, 0x9c9: 0xc3, 0x9ca: 0xc4, 0x9cb: 0xc5, 0x9cc: 0xc6, 0x9cd: 0x1e4, 0x9ce: 0xc8, 0x9cf: 0x1e5, + // Block 0x28, offset 0xa00 + 0xa00: 0x18b, 0xa01: 0x18c, 0xa02: 0x18d, 0xa03: 0x18e, 0xa04: 0x1e6, 0xa05: 0x190, 0xa06: 0x191, 0xa07: 0x192, + 0xa08: 0x193, 0xa09: 0x194, 0xa0c: 0x195, 0xa0d: 0x196, 0xa0e: 0x197, 0xa0f: 0x198, + 0xa10: 0x199, 0xa11: 0x19a, 0xa12: 0x19b, 0xa13: 0x19c, 0xa14: 0x19d, 0xa15: 0x19e, 0xa17: 0x19f, + 0xa18: 0x1a0, 0xa19: 0x1a1, 0xa1a: 0x1a2, 0xa1b: 0x1a3, 0xa1c: 0x1a4, 0xa1d: 0x1a5, + // Block 0x29, offset 0xa40 + 0xa50: 0x09, 0xa51: 0x0a, 0xa52: 0x0b, 0xa53: 0x0c, 0xa56: 0x0d, + 0xa5b: 0x0e, 0xa5d: 0x0f, 0xa5e: 0x10, 0xa5f: 0x26, + 0xa6f: 0x12, + // Block 0x2a, offset 0xa80 + 0xa82: 0x01, 0xa83: 0x1d7, 0xa84: 0x1d8, 0xa85: 0x1d9, 0xa86: 0x1da, 0xa87: 0x1db, + 0xa88: 0x1dc, 0xa89: 0x1dd, 0xa8a: 0x09, 0xa8b: 0x0a, 0xa8c: 0x0b, 0xa8d: 0x0c, 0xa8e: 0x0d, 0xa8f: 0x0e, + 0xa90: 0x0f, 0xa91: 0x10, 0xa92: 0x11, 0xa93: 0x12, 0xa94: 0x13, 0xa95: 0x14, 0xa96: 0x15, 0xa97: 0x16, + 0xa98: 0x17, 0xa99: 0x18, 0xa9a: 0x19, 0xa9b: 0x1a, 0xa9c: 0x1b, 0xa9d: 0x1c, 0xa9e: 0x1d, 0xa9f: 0x1e, + 0xaa0: 0x01, 0xaa1: 0x23, 0xaa2: 0x24, 0xaa3: 0x25, 0xaa4: 0x05, + 0xaaa: 0x06, 0xaad: 0x07, 0xaaf: 0x08, + 0xab0: 0x27, 0xab3: 0x15, + // Block 0x2b, offset 0xac0 + 0xac2: 0x01, 0xac3: 0x02, 0xac4: 0x03, 0xac5: 0x04, 0xac6: 0x05, 0xac7: 0x06, + 0xac8: 0x07, 0xac9: 0x08, 0xaca: 0x09, 0xacb: 0x0a, 0xacc: 0x0b, 0xacd: 0x0c, 0xace: 0x0d, 0xacf: 0x0e, + 0xad0: 0x1e7, 0xad1: 0x1e8, 0xad2: 0x11, 0xad3: 0x12, 0xad4: 0x13, 0xad5: 0x14, 0xad6: 0x15, 0xad7: 0x16, + 0xad8: 0x17, 0xad9: 0x18, 0xada: 0x19, 0xadb: 0x1a, 0xadc: 0x1b, 0xadd: 0x1c, 0xade: 0x1d, 0xadf: 0x1e, + 0xae0: 0x01, 0xae1: 0x02, 0xae2: 0x03, 0xae3: 0x04, 0xae4: 0x05, + 0xaea: 0x06, 0xaed: 0x07, 0xaef: 0x08, + 0xaf0: 0x13, 0xaf3: 0x15, + // Block 0x2c, offset 0xb00 + 0xb20: 0x1f, 0xb21: 0x20, 0xb22: 0x21, 0xb23: 0x22, 0xb24: 0x23, 0xb25: 0x24, 0xb26: 0x1e9, 0xb27: 0x26, + 0xb28: 0x27, 0xb29: 0x28, 0xb2a: 0x29, 0xb2b: 0x2a, 0xb2c: 0x2b, 0xb2d: 0x2c, 0xb2e: 0x2d, 0xb2f: 0x2e, + 0xb30: 0x2f, 0xb31: 0x30, 0xb32: 0x31, 0xb33: 0x32, 0xb34: 0x33, 0xb35: 0x34, 0xb36: 0x35, 0xb37: 0x36, + 0xb38: 0x37, 0xb39: 0x38, 0xb3a: 0x39, 0xb3b: 0x3a, 0xb3c: 0x3b, 0xb3d: 0x3c, 0xb3e: 0x3d, 0xb3f: 0x3e, + // Block 0x2d, offset 0xb40 + 0xb42: 0x01, 0xb43: 0x02, 0xb44: 0x03, 0xb45: 0x04, 0xb46: 0x05, 0xb47: 0x06, + 0xb48: 0x07, 0xb49: 0x08, 0xb4a: 0x09, 0xb4b: 0x0a, 0xb4c: 0x0b, 0xb4d: 0x0c, 0xb4e: 0x0d, 0xb4f: 0x0e, + 0xb50: 0x0f, 0xb51: 0x10, 0xb52: 0x11, 0xb53: 0x12, 0xb54: 0x13, 0xb55: 0x14, 0xb56: 0x15, 0xb57: 0x16, + 0xb58: 0x17, 0xb59: 0x18, 0xb5a: 0x19, 0xb5b: 0x1a, 0xb5c: 0x1b, 0xb5d: 0x1c, 0xb5e: 0x1d, 0xb5f: 0x1e, + 0xb60: 0x2a, 0xb61: 0x02, 0xb62: 0x03, 0xb63: 0x04, 0xb64: 0x05, + 0xb6a: 0x06, 0xb6d: 0x07, 0xb6f: 0x08, + 0xb70: 0x13, 0xb73: 0x15, + // Block 0x2e, offset 0xb80 + 0xb82: 0x01, 0xb83: 0x02, 0xb84: 0x1ec, 0xb85: 0x1ed, 0xb86: 0x05, 0xb87: 0x06, + 0xb88: 0x07, 0xb89: 0x08, 0xb8a: 0x09, 0xb8b: 0x0a, 0xb8c: 0x0b, 0xb8d: 0x0c, 0xb8e: 0x0d, 0xb8f: 0x0e, + 0xb90: 0x0f, 0xb91: 0x10, 0xb92: 0x11, 0xb93: 0x12, 0xb94: 0x13, 0xb95: 0x14, 0xb96: 0x15, 0xb97: 0x16, + 0xb98: 0x17, 0xb99: 0x18, 0xb9a: 0x19, 0xb9b: 0x1a, 0xb9c: 0x1b, 0xb9d: 0x1c, 0xb9e: 0x1d, 0xb9f: 0x1e, + 0xba0: 0x01, 0xba1: 0x02, 0xba2: 0x03, 0xba3: 0x04, 0xba4: 0x05, + 0xbaa: 0x06, 0xbad: 0x07, 0xbaf: 0x08, + 0xbb0: 0x13, 0xbb3: 0x15, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x3f, 0xbc1: 0x40, 0xbc2: 0x41, 0xbc3: 0x42, 0xbc4: 0x43, 0xbc5: 0x44, 0xbc6: 0x45, 0xbc7: 0x46, + 0xbc8: 0x47, 0xbc9: 0x48, 0xbca: 0x49, 0xbcb: 0x4a, 0xbcc: 0x4b, 0xbcd: 0x4c, 0xbce: 0x4d, 0xbcf: 0x4e, + 0xbd0: 0x4f, 0xbd1: 0x50, 0xbd2: 0x51, 0xbd3: 0x52, 0xbd4: 0x53, 0xbd5: 0x54, 0xbd6: 0x55, 0xbd7: 0x56, + 0xbd8: 0x57, 0xbd9: 0x58, 0xbda: 0x59, 0xbdb: 0x5a, 0xbdc: 0x5b, 0xbdd: 0x5c, 0xbde: 0x5d, 0xbdf: 0x5e, + 0xbe0: 0x5f, 0xbe1: 0x60, 0xbe2: 0x61, 0xbe3: 0x62, 0xbe4: 0x63, 0xbe5: 0x64, 0xbe6: 0x65, 0xbe7: 0x66, + 0xbe8: 0x67, 0xbe9: 0x68, 0xbea: 0x69, 0xbec: 0x6a, 0xbed: 0x6b, 0xbee: 0x6c, 0xbef: 0x6d, + 0xbf0: 0x6e, 0xbf1: 0x6f, 0xbf3: 0x70, 0xbf4: 0x71, 0xbf5: 0x72, 0xbf6: 0x73, 0xbf7: 0x74, + 0xbf8: 0x75, 0xbf9: 0x1f2, 0xbfa: 0x77, 0xbfb: 0x78, 0xbfc: 0x79, 0xbfd: 0x7a, 0xbfe: 0x7b, 0xbff: 0x7c, + // Block 0x30, offset 0xc00 + 0xc02: 0x01, 0xc03: 0x02, 0xc04: 0x1f0, 0xc05: 0x1f1, 0xc06: 0x05, 0xc07: 0x06, + 0xc08: 0x07, 0xc09: 0x08, 0xc0a: 0x09, 0xc0b: 0x0a, 0xc0c: 0x0b, 0xc0d: 0x0c, 0xc0e: 0x0d, 0xc0f: 0x0e, + 0xc10: 0x0f, 0xc11: 0x10, 0xc12: 0x11, 0xc13: 0x12, 0xc14: 0x13, 0xc15: 0x14, 0xc16: 0x15, 0xc17: 0x16, + 0xc18: 0x17, 0xc19: 0x18, 0xc1a: 0x19, 0xc1b: 0x1a, 0xc1c: 0x1b, 0xc1d: 0x1c, 0xc1e: 0x1d, 0xc1f: 0x1e, + 0xc20: 0x01, 0xc21: 0x2d, 0xc22: 0x03, 0xc23: 0x04, 0xc24: 0x05, + 0xc2a: 0x06, 0xc2d: 0x07, 0xc2f: 0x08, + 0xc30: 0x13, 0xc33: 0x15, + // Block 0x31, offset 0xc40 + 0xc40: 0x3f, 0xc41: 0x40, 0xc42: 0x41, 0xc43: 0x42, 0xc44: 0x43, 0xc45: 0x44, 0xc46: 0x45, 0xc47: 0x46, + 0xc48: 0x47, 0xc49: 0x48, 0xc4a: 0x49, 0xc4b: 0x4a, 0xc4c: 0x4b, 0xc4d: 0x4c, 0xc4e: 0x4d, 0xc4f: 0x4e, + 0xc50: 0x4f, 0xc51: 0x50, 0xc52: 0x51, 0xc53: 0x52, 0xc54: 0x53, 0xc55: 0x54, 0xc56: 0x55, 0xc57: 0x56, + 0xc58: 0x57, 0xc59: 0x58, 0xc5a: 0x59, 0xc5b: 0x5a, 0xc5c: 0x5b, 0xc5d: 0x5c, 0xc5e: 0x5d, 0xc5f: 0x5e, + 0xc60: 0x5f, 0xc61: 0x60, 0xc62: 0x61, 0xc63: 0x62, 0xc64: 0x63, 0xc65: 0x64, 0xc66: 0x65, 0xc67: 0x66, + 0xc68: 0x67, 0xc69: 0x68, 0xc6a: 0x69, 0xc6c: 0x6a, 0xc6d: 0x6b, 0xc6e: 0x6c, 0xc6f: 0x6d, + 0xc70: 0x6e, 0xc71: 0x6f, 0xc73: 0x70, 0xc74: 0x71, 0xc75: 0x72, 0xc76: 0x1fc, 0xc77: 0x74, + 0xc78: 0x75, 0xc79: 0x1fd, 0xc7a: 0x77, 0xc7b: 0x78, 0xc7c: 0x79, 0xc7d: 0x7a, 0xc7e: 0x7b, 0xc7f: 0x7c, + // Block 0x32, offset 0xc80 + 0xc80: 0x7d, 0xc81: 0x7e, 0xc82: 0x7f, 0xc83: 0x80, 0xc84: 0x1fe, 0xc85: 0x82, 0xc86: 0x83, 0xc87: 0x84, + 0xc88: 0x85, 0xc89: 0x86, 0xc8a: 0x87, 0xc8b: 0x88, 0xc8c: 0x89, 0xc8d: 0x8a, 0xc8e: 0x8b, 0xc8f: 0x8c, + 0xc90: 0x8d, 0xc91: 0x8e, 0xc92: 0x8f, 0xc93: 0x90, 0xc94: 0x91, 0xc95: 0x92, 0xc96: 0x93, 0xc97: 0x94, + 0xc98: 0x95, 0xc99: 0x96, 0xc9a: 0x97, 0xc9b: 0x98, 0xc9c: 0x99, 0xc9d: 0x9a, 0xc9e: 0x9b, 0xc9f: 0x9c, + 0xca0: 0x9d, 0xca1: 0x9e, 0xca2: 0x9f, 0xca3: 0xa0, 0xca4: 0xa1, 0xca5: 0xa2, 0xca6: 0xa3, 0xca7: 0xa4, + 0xca8: 0xa5, 0xca9: 0xa6, 0xcaa: 0xa7, 0xcab: 0xa8, 0xcac: 0xa9, 0xcad: 0xaa, + 0xcb0: 0xab, 0xcb1: 0xac, 0xcb2: 0xad, 0xcb3: 0xae, 0xcb4: 0xaf, 0xcb5: 0xb0, 0xcb6: 0xb1, 0xcb7: 0xb2, + 0xcb8: 0xb3, 0xcba: 0xb4, 0xcbb: 0xb5, 0xcbc: 0xb6, 0xcbd: 0xb7, 0xcbe: 0xb8, 0xcbf: 0xb9, + // Block 0x33, offset 0xcc0 + 0xcc2: 0x01, 0xcc3: 0x1f7, 0xcc4: 0x1f8, 0xcc5: 0x1f9, 0xcc6: 0x05, 0xcc7: 0x1fa, + 0xcc8: 0x1fb, 0xcc9: 0x08, 0xcca: 0x09, 0xccb: 0x0a, 0xccc: 0x0b, 0xccd: 0x0c, 0xcce: 0x0d, 0xccf: 0x0e, + 0xcd0: 0x0f, 0xcd1: 0x10, 0xcd2: 0x11, 0xcd3: 0x12, 0xcd4: 0x13, 0xcd5: 0x14, 0xcd6: 0x15, 0xcd7: 0x16, + 0xcd8: 0x17, 0xcd9: 0x18, 0xcda: 0x19, 0xcdb: 0x1a, 0xcdc: 0x1b, 0xcdd: 0x1c, 0xcde: 0x1d, 0xcdf: 0x1e, + 0xce0: 0x01, 0xce1: 0x2f, 0xce2: 0x30, 0xce3: 0x04, 0xce4: 0x05, + 0xcea: 0x06, 0xced: 0x07, 0xcef: 0x08, + 0xcf0: 0x13, 0xcf3: 0x15, + // Block 0x34, offset 0xd00 + 0xd00: 0x3f, 0xd01: 0x40, 0xd02: 0x41, 0xd03: 0x42, 0xd04: 0x43, 0xd05: 0x44, 0xd06: 0x45, 0xd07: 0x46, + 0xd08: 0x47, 0xd09: 0x48, 0xd0a: 0x49, 0xd0b: 0x4a, 0xd0c: 0x4b, 0xd0d: 0x4c, 0xd0e: 0x4d, 0xd0f: 0x4e, + 0xd10: 0x4f, 0xd11: 0x50, 0xd12: 0x51, 0xd13: 0x52, 0xd14: 0x53, 0xd15: 0x54, 0xd16: 0x55, 0xd17: 0x56, + 0xd18: 0x57, 0xd19: 0x58, 0xd1a: 0x59, 0xd1b: 0x5a, 0xd1c: 0x5b, 0xd1d: 0x5c, 0xd1e: 0x5d, 0xd1f: 0x5e, + 0xd20: 0x5f, 0xd21: 0x60, 0xd22: 0x61, 0xd23: 0x62, 0xd24: 0x63, 0xd25: 0x64, 0xd26: 0x65, 0xd27: 0x66, + 0xd28: 0x67, 0xd29: 0x68, 0xd2a: 0x69, 0xd2c: 0x6a, 0xd2d: 0x6b, 0xd2e: 0x6c, 0xd2f: 0x6d, + 0xd30: 0x6e, 0xd31: 0x6f, 0xd33: 0x70, 0xd34: 0x71, 0xd35: 0x72, 0xd36: 0x73, 0xd37: 0x74, + 0xd38: 0x75, 0xd39: 0x204, 0xd3a: 0x77, 0xd3b: 0x78, 0xd3c: 0x79, 0xd3d: 0x7a, 0xd3e: 0x7b, 0xd3f: 0x7c, + // Block 0x35, offset 0xd40 + 0xd42: 0x01, 0xd43: 0x201, 0xd44: 0x03, 0xd45: 0x04, 0xd46: 0x05, 0xd47: 0x202, + 0xd48: 0x203, 0xd49: 0x08, 0xd4a: 0x09, 0xd4b: 0x0a, 0xd4c: 0x0b, 0xd4d: 0x0c, 0xd4e: 0x0d, 0xd4f: 0x0e, + 0xd50: 0x0f, 0xd51: 0x10, 0xd52: 0x11, 0xd53: 0x12, 0xd54: 0x13, 0xd55: 0x14, 0xd56: 0x15, 0xd57: 0x16, + 0xd58: 0x17, 0xd59: 0x18, 0xd5a: 0x19, 0xd5b: 0x1a, 0xd5c: 0x1b, 0xd5d: 0x1c, 0xd5e: 0x1d, 0xd5f: 0x1e, + 0xd60: 0x01, 0xd61: 0x32, 0xd62: 0x03, 0xd63: 0x04, 0xd64: 0x05, + 0xd6a: 0x06, 0xd6d: 0x07, 0xd6f: 0x08, + 0xd70: 0x13, 0xd73: 0x15, + // Block 0x36, offset 0xd80 + 0xda0: 0x1f, 0xda1: 0x20, 0xda2: 0x21, 0xda3: 0x22, 0xda4: 0x23, 0xda5: 0x24, 0xda6: 0x25, 0xda7: 0x26, + 0xda8: 0x27, 0xda9: 0x28, 0xdaa: 0x29, 0xdab: 0x2a, 0xdac: 0x2b, 0xdad: 0x2c, 0xdae: 0x2d, 0xdaf: 0x2e, + 0xdb0: 0x2f, 0xdb1: 0x30, 0xdb2: 0x31, 0xdb3: 0x32, 0xdb4: 0x33, 0xdb5: 0x34, 0xdb6: 0x35, 0xdb7: 0x36, + 0xdb8: 0x37, 0xdb9: 0x38, 0xdba: 0x39, 0xdbb: 0x3a, 0xdbc: 0x205, 0xdbd: 0x206, 0xdbe: 0x207, 0xdbf: 0x3e, + // Block 0x37, offset 0xdc0 + 0xdc2: 0x01, 0xdc3: 0x02, 0xdc4: 0x03, 0xdc5: 0x04, 0xdc6: 0x05, 0xdc7: 0x06, + 0xdc8: 0x07, 0xdc9: 0x08, 0xdca: 0x09, 0xdcb: 0x0a, 0xdcc: 0x0b, 0xdcd: 0x0c, 0xdce: 0x0d, 0xdcf: 0x0e, + 0xdd0: 0x0f, 0xdd1: 0x10, 0xdd2: 0x11, 0xdd3: 0x12, 0xdd4: 0x13, 0xdd5: 0x14, 0xdd6: 0x15, 0xdd7: 0x16, + 0xdd8: 0x17, 0xdd9: 0x18, 0xdda: 0x19, 0xddb: 0x1a, 0xddc: 0x1b, 0xddd: 0x1c, 0xdde: 0x1d, 0xddf: 0x1e, + 0xde0: 0x34, 0xde1: 0x02, 0xde2: 0x03, 0xde3: 0x04, 0xde4: 0x05, + 0xdea: 0x06, 0xded: 0x07, 0xdef: 0x08, + 0xdf0: 0x13, 0xdf3: 0x15, + // Block 0x38, offset 0xe00 + 0xe00: 0x3f, 0xe01: 0x40, 0xe02: 0x41, 0xe03: 0x42, 0xe04: 0x43, 0xe05: 0x44, 0xe06: 0x45, 0xe07: 0x46, + 0xe08: 0x47, 0xe09: 0x48, 0xe0a: 0x49, 0xe0b: 0x4a, 0xe0c: 0x4b, 0xe0d: 0x4c, 0xe0e: 0x4d, 0xe0f: 0x4e, + 0xe10: 0x4f, 0xe11: 0x50, 0xe12: 0x51, 0xe13: 0x52, 0xe14: 0x53, 0xe15: 0x54, 0xe16: 0x55, 0xe17: 0x56, + 0xe18: 0x57, 0xe19: 0x58, 0xe1a: 0x59, 0xe1b: 0x5a, 0xe1c: 0x5b, 0xe1d: 0x5c, 0xe1e: 0x5d, 0xe1f: 0x5e, + 0xe20: 0x5f, 0xe21: 0x60, 0xe22: 0x61, 0xe23: 0x62, 0xe24: 0x63, 0xe25: 0x64, 0xe26: 0x65, 0xe27: 0x66, + 0xe28: 0x67, 0xe29: 0x68, 0xe2a: 0x69, 0xe2c: 0x6a, 0xe2d: 0x6b, 0xe2e: 0x6c, 0xe2f: 0x6d, + 0xe30: 0x6e, 0xe31: 0x6f, 0xe33: 0x70, 0xe34: 0x71, 0xe35: 0x72, 0xe36: 0x73, 0xe37: 0x74, + 0xe38: 0x75, 0xe39: 0x76, 0xe3a: 0x211, 0xe3b: 0x212, 0xe3c: 0x79, 0xe3d: 0x7a, 0xe3e: 0x7b, 0xe3f: 0x7c, + // Block 0x39, offset 0xe40 + 0xe40: 0x7d, 0xe41: 0x7e, 0xe42: 0x7f, 0xe43: 0x80, 0xe44: 0x81, 0xe45: 0x213, 0xe46: 0x83, 0xe47: 0x84, + 0xe48: 0x85, 0xe49: 0x86, 0xe4a: 0x87, 0xe4b: 0x88, 0xe4c: 0x89, 0xe4d: 0x8a, 0xe4e: 0x8b, 0xe4f: 0x8c, + 0xe50: 0x8d, 0xe51: 0x8e, 0xe52: 0x214, 0xe53: 0x90, 0xe54: 0x91, 0xe55: 0x92, 0xe56: 0x93, 0xe57: 0x94, + 0xe58: 0x95, 0xe59: 0x96, 0xe5a: 0x97, 0xe5b: 0x98, 0xe5c: 0x99, 0xe5d: 0x9a, 0xe5e: 0x9b, 0xe5f: 0x9c, + 0xe60: 0x9d, 0xe61: 0x9e, 0xe62: 0x9f, 0xe63: 0xa0, 0xe64: 0xa1, 0xe65: 0xa2, 0xe66: 0xa3, 0xe67: 0xa4, + 0xe68: 0xa5, 0xe69: 0xa6, 0xe6a: 0xa7, 0xe6b: 0xa8, 0xe6c: 0xa9, 0xe6d: 0xaa, + 0xe70: 0xab, 0xe71: 0xac, 0xe72: 0xad, 0xe73: 0xae, 0xe74: 0xaf, 0xe75: 0xb0, 0xe76: 0xb1, 0xe77: 0xb2, + 0xe78: 0xb3, 0xe7a: 0xb4, 0xe7b: 0xb5, 0xe7c: 0xb6, 0xe7d: 0xb7, 0xe7e: 0xb8, 0xe7f: 0xb9, + // Block 0x3a, offset 0xe80 + 0xe80: 0xba, 0xe81: 0xbb, 0xe82: 0xbc, 0xe83: 0xbd, 0xe84: 0xbe, 0xe85: 0xbf, 0xe86: 0xc0, 0xe87: 0xc1, + 0xe88: 0xc2, 0xe89: 0xc3, 0xe8a: 0xc4, 0xe8b: 0xc5, 0xe8c: 0xc6, 0xe8d: 0xc7, 0xe8e: 0xc8, 0xe8f: 0x215, + // Block 0x3b, offset 0xec0 + 0xec0: 0x18b, 0xec1: 0x18c, 0xec2: 0x18d, 0xec3: 0x18e, 0xec4: 0x216, 0xec5: 0x190, 0xec6: 0x191, 0xec7: 0x192, + 0xec8: 0x193, 0xec9: 0x194, 0xecc: 0x195, 0xecd: 0x196, 0xece: 0x197, 0xecf: 0x198, + 0xed0: 0x199, 0xed1: 0x19a, 0xed2: 0x19b, 0xed3: 0x19c, 0xed4: 0x19d, 0xed5: 0x19e, 0xed7: 0x19f, + 0xed8: 0x1a0, 0xed9: 0x1a1, 0xeda: 0x1a2, 0xedb: 0x1a3, 0xedc: 0x1a4, 0xedd: 0x1a5, + // Block 0x3c, offset 0xf00 + 0xf10: 0x09, 0xf11: 0x0a, 0xf12: 0x0b, 0xf13: 0x0c, 0xf16: 0x0d, + 0xf1b: 0x0e, 0xf1d: 0x0f, 0xf1e: 0x10, 0xf1f: 0x39, + 0xf2f: 0x12, + // Block 0x3d, offset 0xf40 + 0xf42: 0x01, 0xf43: 0x20a, 0xf44: 0x20b, 0xf45: 0x20c, 0xf46: 0x20d, 0xf47: 0x06, + 0xf48: 0x07, 0xf49: 0x20e, 0xf4a: 0x20f, 0xf4b: 0x0a, 0xf4c: 0x210, 0xf4d: 0x0c, 0xf4e: 0x0d, 0xf4f: 0x0e, + 0xf50: 0x0f, 0xf51: 0x10, 0xf52: 0x11, 0xf53: 0x12, 0xf54: 0x13, 0xf55: 0x14, 0xf56: 0x15, 0xf57: 0x16, + 0xf58: 0x17, 0xf59: 0x18, 0xf5a: 0x19, 0xf5b: 0x1a, 0xf5c: 0x1b, 0xf5d: 0x1c, 0xf5e: 0x1d, 0xf5f: 0x1e, + 0xf60: 0x01, 0xf61: 0x36, 0xf62: 0x37, 0xf63: 0x38, 0xf64: 0x05, + 0xf6a: 0x06, 0xf6d: 0x07, 0xf6f: 0x08, + 0xf70: 0x3a, 0xf73: 0x15, + // Block 0x3e, offset 0xf80 + 0xf80: 0x3f, 0xf81: 0x40, 0xf82: 0x41, 0xf83: 0x42, 0xf84: 0x43, 0xf85: 0x44, 0xf86: 0x45, 0xf87: 0x46, + 0xf88: 0x47, 0xf89: 0x48, 0xf8a: 0x49, 0xf8b: 0x4a, 0xf8c: 0x4b, 0xf8d: 0x4c, 0xf8e: 0x4d, 0xf8f: 0x4e, + 0xf90: 0x4f, 0xf91: 0x50, 0xf92: 0x51, 0xf93: 0x52, 0xf94: 0x53, 0xf95: 0x54, 0xf96: 0x55, 0xf97: 0x56, + 0xf98: 0x57, 0xf99: 0x58, 0xf9a: 0x59, 0xf9b: 0x5a, 0xf9c: 0x5b, 0xf9d: 0x5c, 0xf9e: 0x5d, 0xf9f: 0x5e, + 0xfa0: 0x5f, 0xfa1: 0x60, 0xfa2: 0x61, 0xfa3: 0x62, 0xfa4: 0x63, 0xfa5: 0x64, 0xfa6: 0x65, 0xfa7: 0x66, + 0xfa8: 0x67, 0xfa9: 0x68, 0xfaa: 0x69, 0xfac: 0x6a, 0xfad: 0x6b, 0xfae: 0x6c, 0xfaf: 0x6d, + 0xfb0: 0x6e, 0xfb1: 0x6f, 0xfb3: 0x70, 0xfb4: 0x71, 0xfb5: 0x72, 0xfb6: 0x73, 0xfb7: 0x74, + 0xfb8: 0x220, 0xfb9: 0x221, 0xfba: 0x222, 0xfbb: 0x223, 0xfbc: 0x79, 0xfbd: 0x7a, 0xfbe: 0x7b, 0xfbf: 0x224, + // Block 0x3f, offset 0xfc0 + 0xfc0: 0x225, 0xfc1: 0x226, 0xfc2: 0x7f, 0xfc3: 0x80, 0xfc4: 0x227, 0xfc5: 0x228, 0xfc6: 0x83, 0xfc7: 0x84, + 0xfc8: 0x85, 0xfc9: 0x229, 0xfca: 0x87, 0xfcb: 0x88, 0xfcc: 0x89, 0xfcd: 0x8a, 0xfce: 0x8b, 0xfcf: 0x8c, + 0xfd0: 0x8d, 0xfd1: 0x22a, 0xfd2: 0x22b, 0xfd3: 0x90, 0xfd4: 0x91, 0xfd5: 0x92, 0xfd6: 0x93, 0xfd7: 0x94, + 0xfd8: 0x95, 0xfd9: 0x96, 0xfda: 0x97, 0xfdb: 0x98, 0xfdc: 0x99, 0xfdd: 0x9a, 0xfde: 0x9b, 0xfdf: 0x9c, + 0xfe0: 0x9d, 0xfe1: 0x9e, 0xfe2: 0x9f, 0xfe3: 0xa0, 0xfe4: 0xa1, 0xfe5: 0xa2, 0xfe6: 0xa3, 0xfe7: 0xa4, + 0xfe8: 0xa5, 0xfe9: 0x22c, 0xfea: 0xa7, 0xfeb: 0xa8, 0xfec: 0xa9, 0xfed: 0xaa, + 0xff0: 0xab, 0xff1: 0xac, 0xff2: 0xad, 0xff3: 0xae, 0xff4: 0xaf, 0xff5: 0xb0, 0xff6: 0xb1, 0xff7: 0xb2, + 0xff8: 0xb3, 0xffa: 0xb4, 0xffb: 0xb5, 0xffc: 0xb6, 0xffd: 0xb7, 0xffe: 0xb8, 0xfff: 0xb9, + // Block 0x40, offset 0x1000 + 0x1000: 0xba, 0x1001: 0xbb, 0x1002: 0xbc, 0x1003: 0xbd, 0x1004: 0xbe, 0x1005: 0xbf, 0x1006: 0xc0, 0x1007: 0xc1, + 0x1008: 0x22d, 0x1009: 0x22e, 0x100a: 0x22f, 0x100b: 0x230, 0x100c: 0xc6, 0x100d: 0x231, 0x100e: 0x232, 0x100f: 0x233, + // Block 0x41, offset 0x1040 + 0x1064: 0xfb, 0x1065: 0xfc, 0x1066: 0xfd, 0x1067: 0xfe, + 0x1068: 0xff, 0x1069: 0x100, 0x106a: 0x101, 0x106b: 0x102, 0x106c: 0x234, 0x106d: 0x104, 0x106e: 0x105, 0x106f: 0x106, + 0x1070: 0x107, 0x1071: 0x108, 0x1072: 0x109, 0x1073: 0x10a, 0x1074: 0x10b, 0x1075: 0x10c, 0x1076: 0x10d, 0x1077: 0x10e, + 0x1078: 0x235, 0x1079: 0x110, 0x107a: 0x111, 0x107b: 0x112, 0x107c: 0x113, 0x107d: 0x114, 0x107e: 0x115, 0x107f: 0x116, + // Block 0x42, offset 0x1080 + 0x1080: 0x18b, 0x1081: 0x18c, 0x1082: 0x18d, 0x1083: 0x18e, 0x1084: 0x236, 0x1085: 0x237, 0x1086: 0x238, 0x1087: 0x192, + 0x1088: 0x193, 0x1089: 0x194, 0x108c: 0x195, 0x108d: 0x196, 0x108e: 0x197, 0x108f: 0x198, + 0x1090: 0x199, 0x1091: 0x19a, 0x1092: 0x19b, 0x1093: 0x19c, 0x1094: 0x19d, 0x1095: 0x19e, 0x1097: 0x19f, + 0x1098: 0x1a0, 0x1099: 0x1a1, 0x109a: 0x1a2, 0x109b: 0x1a3, 0x109c: 0x1a4, 0x109d: 0x1a5, + // Block 0x43, offset 0x10c0 + 0x10d0: 0x09, 0x10d1: 0x0a, 0x10d2: 0x0b, 0x10d3: 0x0c, 0x10d6: 0x0d, + 0x10db: 0x0e, 0x10dd: 0x0f, 0x10de: 0x10, 0x10df: 0x40, + 0x10ef: 0x12, + // Block 0x44, offset 0x1100 + 0x1102: 0x01, 0x1103: 0x219, 0x1104: 0x21a, 0x1105: 0x21b, 0x1106: 0x21c, 0x1107: 0x21d, + 0x1108: 0x21e, 0x1109: 0x08, 0x110a: 0x09, 0x110b: 0x0a, 0x110c: 0x0b, 0x110d: 0x21f, 0x110e: 0x0d, 0x110f: 0x0e, + 0x1110: 0x0f, 0x1111: 0x10, 0x1112: 0x11, 0x1113: 0x12, 0x1114: 0x13, 0x1115: 0x14, 0x1116: 0x15, 0x1117: 0x16, + 0x1118: 0x17, 0x1119: 0x18, 0x111a: 0x19, 0x111b: 0x1a, 0x111c: 0x1b, 0x111d: 0x1c, 0x111e: 0x1d, 0x111f: 0x1e, + 0x1120: 0x01, 0x1121: 0x3c, 0x1122: 0x3d, 0x1123: 0x3e, 0x1124: 0x05, + 0x112a: 0x06, 0x112d: 0x07, 0x112f: 0x3f, + 0x1130: 0x41, 0x1133: 0x15, + // Block 0x45, offset 0x1140 + 0x1142: 0x01, 0x1143: 0x02, 0x1144: 0x23b, 0x1145: 0x23c, 0x1146: 0x05, 0x1147: 0x06, + 0x1148: 0x07, 0x1149: 0x08, 0x114a: 0x09, 0x114b: 0x0a, 0x114c: 0x0b, 0x114d: 0x0c, 0x114e: 0x0d, 0x114f: 0x0e, + 0x1150: 0x0f, 0x1151: 0x10, 0x1152: 0x11, 0x1153: 0x12, 0x1154: 0x13, 0x1155: 0x14, 0x1156: 0x15, 0x1157: 0x16, + 0x1158: 0x17, 0x1159: 0x18, 0x115a: 0x19, 0x115b: 0x1a, 0x115c: 0x1b, 0x115d: 0x1c, 0x115e: 0x1d, 0x115f: 0x1e, + 0x1160: 0x01, 0x1161: 0x02, 0x1162: 0x03, 0x1163: 0x04, 0x1164: 0x05, + 0x116a: 0x06, 0x116d: 0x07, 0x116f: 0x08, + 0x1170: 0x13, 0x1173: 0x15, + // Block 0x46, offset 0x1180 + 0x1182: 0x01, 0x1183: 0x23f, 0x1184: 0x03, 0x1185: 0x04, 0x1186: 0x05, 0x1187: 0x06, + 0x1188: 0x07, 0x1189: 0x08, 0x118a: 0x09, 0x118b: 0x0a, 0x118c: 0x0b, 0x118d: 0x0c, 0x118e: 0x0d, 0x118f: 0x0e, + 0x1190: 0x0f, 0x1191: 0x10, 0x1192: 0x11, 0x1193: 0x12, 0x1194: 0x13, 0x1195: 0x14, 0x1196: 0x15, 0x1197: 0x16, + 0x1198: 0x17, 0x1199: 0x18, 0x119a: 0x19, 0x119b: 0x1a, 0x119c: 0x1b, 0x119d: 0x1c, 0x119e: 0x1d, 0x119f: 0x1e, + 0x11a0: 0x01, 0x11a1: 0x02, 0x11a2: 0x03, 0x11a3: 0x04, 0x11a4: 0x05, + 0x11aa: 0x06, 0x11ad: 0x07, 0x11af: 0x08, + 0x11b0: 0x13, 0x11b3: 0x15, + // Block 0x47, offset 0x11c0 + 0x11c0: 0x3f, 0x11c1: 0x40, 0x11c2: 0x41, 0x11c3: 0x42, 0x11c4: 0x43, 0x11c5: 0x44, 0x11c6: 0x45, 0x11c7: 0x46, + 0x11c8: 0x47, 0x11c9: 0x48, 0x11ca: 0x49, 0x11cb: 0x4a, 0x11cc: 0x4b, 0x11cd: 0x4c, 0x11ce: 0x4d, 0x11cf: 0x4e, + 0x11d0: 0x4f, 0x11d1: 0x50, 0x11d2: 0x51, 0x11d3: 0x52, 0x11d4: 0x53, 0x11d5: 0x54, 0x11d6: 0x55, 0x11d7: 0x56, + 0x11d8: 0x57, 0x11d9: 0x58, 0x11da: 0x59, 0x11db: 0x5a, 0x11dc: 0x5b, 0x11dd: 0x5c, 0x11de: 0x5d, 0x11df: 0x5e, + 0x11e0: 0x5f, 0x11e1: 0x60, 0x11e2: 0x61, 0x11e3: 0x62, 0x11e4: 0x63, 0x11e5: 0x64, 0x11e6: 0x65, 0x11e7: 0x66, + 0x11e8: 0x67, 0x11e9: 0x68, 0x11ea: 0x69, 0x11ec: 0x6a, 0x11ed: 0x6b, 0x11ee: 0x6c, 0x11ef: 0x6d, + 0x11f0: 0x6e, 0x11f1: 0x6f, 0x11f3: 0x70, 0x11f4: 0x71, 0x11f5: 0x72, 0x11f6: 0x73, 0x11f7: 0x74, + 0x11f8: 0x75, 0x11f9: 0x246, 0x11fa: 0x247, 0x11fb: 0x248, 0x11fc: 0x79, 0x11fd: 0x7a, 0x11fe: 0x7b, 0x11ff: 0x7c, + // Block 0x48, offset 0x1200 + 0x1200: 0x7d, 0x1201: 0x7e, 0x1202: 0x7f, 0x1203: 0x80, 0x1204: 0x81, 0x1205: 0x82, 0x1206: 0x83, 0x1207: 0x84, + 0x1208: 0x85, 0x1209: 0x86, 0x120a: 0x87, 0x120b: 0x88, 0x120c: 0x89, 0x120d: 0x8a, 0x120e: 0x8b, 0x120f: 0x8c, + 0x1210: 0x8d, 0x1211: 0x8e, 0x1212: 0x249, 0x1213: 0x90, 0x1214: 0x91, 0x1215: 0x92, 0x1216: 0x93, 0x1217: 0x94, + 0x1218: 0x95, 0x1219: 0x96, 0x121a: 0x97, 0x121b: 0x98, 0x121c: 0x99, 0x121d: 0x9a, 0x121e: 0x9b, 0x121f: 0x9c, + 0x1220: 0x9d, 0x1221: 0x9e, 0x1222: 0x9f, 0x1223: 0xa0, 0x1224: 0xa1, 0x1225: 0xa2, 0x1226: 0xa3, 0x1227: 0xa4, + 0x1228: 0xa5, 0x1229: 0xa6, 0x122a: 0xa7, 0x122b: 0xa8, 0x122c: 0xa9, 0x122d: 0xaa, + 0x1230: 0xab, 0x1231: 0xac, 0x1232: 0xad, 0x1233: 0xae, 0x1234: 0xaf, 0x1235: 0xb0, 0x1236: 0xb1, 0x1237: 0xb2, + 0x1238: 0xb3, 0x123a: 0xb4, 0x123b: 0xb5, 0x123c: 0xb6, 0x123d: 0xb7, 0x123e: 0xb8, 0x123f: 0xb9, + // Block 0x49, offset 0x1240 + 0x1240: 0xba, 0x1241: 0xbb, 0x1242: 0xbc, 0x1243: 0xbd, 0x1244: 0xbe, 0x1245: 0xbf, 0x1246: 0xc0, 0x1247: 0xc1, + 0x1248: 0xc2, 0x1249: 0xc3, 0x124a: 0xc4, 0x124b: 0xc5, 0x124c: 0xc6, 0x124d: 0xc7, 0x124e: 0x24a, 0x124f: 0x24b, + // Block 0x4a, offset 0x1280 + 0x1280: 0x18b, 0x1281: 0x18c, 0x1282: 0x18d, 0x1283: 0x18e, 0x1284: 0x24c, 0x1285: 0x24d, 0x1286: 0x191, 0x1287: 0x192, + 0x1288: 0x193, 0x1289: 0x194, 0x128c: 0x195, 0x128d: 0x196, 0x128e: 0x197, 0x128f: 0x198, + 0x1290: 0x199, 0x1291: 0x19a, 0x1292: 0x19b, 0x1293: 0x19c, 0x1294: 0x19d, 0x1295: 0x19e, 0x1297: 0x19f, + 0x1298: 0x1a0, 0x1299: 0x1a1, 0x129a: 0x1a2, 0x129b: 0x1a3, 0x129c: 0x1a4, 0x129d: 0x1a5, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x09, 0x12d1: 0x0a, 0x12d2: 0x0b, 0x12d3: 0x0c, 0x12d6: 0x0d, + 0x12db: 0x0e, 0x12dd: 0x0f, 0x12de: 0x10, 0x12df: 0x48, + 0x12ef: 0x12, + // Block 0x4c, offset 0x1300 + 0x1302: 0x01, 0x1303: 0x242, 0x1304: 0x03, 0x1305: 0x243, 0x1306: 0x05, 0x1307: 0x244, + 0x1308: 0x245, 0x1309: 0x08, 0x130a: 0x09, 0x130b: 0x0a, 0x130c: 0x0b, 0x130d: 0x0c, 0x130e: 0x0d, 0x130f: 0x0e, + 0x1310: 0x0f, 0x1311: 0x10, 0x1312: 0x11, 0x1313: 0x12, 0x1314: 0x13, 0x1315: 0x14, 0x1316: 0x15, 0x1317: 0x16, + 0x1318: 0x17, 0x1319: 0x18, 0x131a: 0x19, 0x131b: 0x1a, 0x131c: 0x1b, 0x131d: 0x1c, 0x131e: 0x1d, 0x131f: 0x1e, + 0x1320: 0x01, 0x1321: 0x45, 0x1322: 0x46, 0x1323: 0x47, 0x1324: 0x05, + 0x132a: 0x06, 0x132d: 0x07, 0x132f: 0x08, + 0x1330: 0x49, 0x1333: 0x15, + // Block 0x4d, offset 0x1340 + 0x1364: 0xfb, 0x1365: 0xfc, 0x1366: 0xfd, 0x1367: 0xfe, + 0x1368: 0xff, 0x1369: 0x100, 0x136a: 0x101, 0x136b: 0x102, 0x136c: 0x103, 0x136d: 0x104, 0x136e: 0x252, 0x136f: 0x106, + 0x1370: 0x253, 0x1371: 0x254, 0x1372: 0x255, 0x1373: 0x256, 0x1374: 0x257, 0x1375: 0x10c, 0x1376: 0x10d, 0x1377: 0x10e, + 0x1378: 0x10f, 0x1379: 0x110, 0x137a: 0x111, 0x137b: 0x112, 0x137c: 0x113, 0x137d: 0x114, 0x137e: 0x115, 0x137f: 0x116, + // Block 0x4e, offset 0x1380 + 0x1382: 0x01, 0x1383: 0x02, 0x1384: 0x03, 0x1385: 0x04, 0x1386: 0x05, 0x1387: 0x06, + 0x1388: 0x07, 0x1389: 0x08, 0x138a: 0x09, 0x138b: 0x0a, 0x138c: 0x0b, 0x138d: 0x0c, 0x138e: 0x0d, 0x138f: 0x0e, + 0x1390: 0x0f, 0x1391: 0x10, 0x1392: 0x11, 0x1393: 0x12, 0x1394: 0x13, 0x1395: 0x14, 0x1396: 0x15, 0x1397: 0x16, + 0x1398: 0x24e, 0x1399: 0x24f, 0x139a: 0x250, 0x139b: 0x251, 0x139c: 0x1b, 0x139d: 0x1c, 0x139e: 0x1d, 0x139f: 0x1e, + 0x13a0: 0x01, 0x13a1: 0x02, 0x13a2: 0x03, 0x13a3: 0x04, 0x13a4: 0x05, + 0x13aa: 0x06, 0x13ad: 0x07, 0x13af: 0x4b, + 0x13b0: 0x13, 0x13b3: 0x15, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x3f, 0x13c1: 0x40, 0x13c2: 0x41, 0x13c3: 0x42, 0x13c4: 0x43, 0x13c5: 0x44, 0x13c6: 0x45, 0x13c7: 0x46, + 0x13c8: 0x47, 0x13c9: 0x48, 0x13ca: 0x49, 0x13cb: 0x4a, 0x13cc: 0x4b, 0x13cd: 0x4c, 0x13ce: 0x4d, 0x13cf: 0x4e, + 0x13d0: 0x4f, 0x13d1: 0x50, 0x13d2: 0x51, 0x13d3: 0x52, 0x13d4: 0x53, 0x13d5: 0x54, 0x13d6: 0x55, 0x13d7: 0x56, + 0x13d8: 0x57, 0x13d9: 0x58, 0x13da: 0x59, 0x13db: 0x5a, 0x13dc: 0x5b, 0x13dd: 0x5c, 0x13de: 0x5d, 0x13df: 0x5e, + 0x13e0: 0x5f, 0x13e1: 0x60, 0x13e2: 0x61, 0x13e3: 0x62, 0x13e4: 0x63, 0x13e5: 0x64, 0x13e6: 0x65, 0x13e7: 0x66, + 0x13e8: 0x67, 0x13e9: 0x68, 0x13ea: 0x69, 0x13ec: 0x6a, 0x13ed: 0x6b, 0x13ee: 0x6c, 0x13ef: 0x6d, + 0x13f0: 0x6e, 0x13f1: 0x6f, 0x13f3: 0x70, 0x13f4: 0x71, 0x13f5: 0x72, 0x13f6: 0x73, 0x13f7: 0x74, + 0x13f8: 0x75, 0x13f9: 0x261, 0x13fa: 0x77, 0x13fb: 0x78, 0x13fc: 0x79, 0x13fd: 0x7a, 0x13fe: 0x7b, 0x13ff: 0x7c, + // Block 0x50, offset 0x1400 + 0x1400: 0x7d, 0x1401: 0x7e, 0x1402: 0x7f, 0x1403: 0x80, 0x1404: 0x262, 0x1405: 0x82, 0x1406: 0x83, 0x1407: 0x84, + 0x1408: 0x85, 0x1409: 0x86, 0x140a: 0x87, 0x140b: 0x88, 0x140c: 0x89, 0x140d: 0x8a, 0x140e: 0x8b, 0x140f: 0x8c, + 0x1410: 0x8d, 0x1411: 0x8e, 0x1412: 0x8f, 0x1413: 0x90, 0x1414: 0x91, 0x1415: 0x92, 0x1416: 0x93, 0x1417: 0x94, + 0x1418: 0x95, 0x1419: 0x96, 0x141a: 0x97, 0x141b: 0x98, 0x141c: 0x99, 0x141d: 0x9a, 0x141e: 0x9b, 0x141f: 0x9c, + 0x1420: 0x9d, 0x1421: 0x9e, 0x1422: 0x9f, 0x1423: 0xa0, 0x1424: 0xa1, 0x1425: 0xa2, 0x1426: 0xa3, 0x1427: 0xa4, + 0x1428: 0xa5, 0x1429: 0xa6, 0x142a: 0xa7, 0x142b: 0xa8, 0x142c: 0xa9, 0x142d: 0xaa, + 0x1430: 0xab, 0x1431: 0xac, 0x1432: 0xad, 0x1433: 0xae, 0x1434: 0xaf, 0x1435: 0xb0, 0x1436: 0xb1, 0x1437: 0xb2, + 0x1438: 0xb3, 0x143a: 0xb4, 0x143b: 0xb5, 0x143c: 0xb6, 0x143d: 0xb7, 0x143e: 0xb8, 0x143f: 0xb9, + // Block 0x51, offset 0x1440 + 0x1442: 0x01, 0x1443: 0x25a, 0x1444: 0x25b, 0x1445: 0x25c, 0x1446: 0x25d, 0x1447: 0x25e, + 0x1448: 0x25f, 0x1449: 0x08, 0x144a: 0x260, 0x144b: 0x0a, 0x144c: 0x0b, 0x144d: 0x0c, 0x144e: 0x0d, 0x144f: 0x0e, + 0x1450: 0x0f, 0x1451: 0x10, 0x1452: 0x11, 0x1453: 0x12, 0x1454: 0x13, 0x1455: 0x14, 0x1456: 0x15, 0x1457: 0x16, + 0x1458: 0x17, 0x1459: 0x18, 0x145a: 0x19, 0x145b: 0x1a, 0x145c: 0x1b, 0x145d: 0x1c, 0x145e: 0x1d, 0x145f: 0x1e, + 0x1460: 0x01, 0x1461: 0x4d, 0x1462: 0x4e, 0x1463: 0x04, 0x1464: 0x05, + 0x146a: 0x06, 0x146d: 0x07, 0x146f: 0x08, + 0x1470: 0x13, 0x1473: 0x15, + // Block 0x52, offset 0x1480 + 0x1480: 0x3f, 0x1481: 0x40, 0x1482: 0x41, 0x1483: 0x42, 0x1484: 0x43, 0x1485: 0x44, 0x1486: 0x45, 0x1487: 0x46, + 0x1488: 0x47, 0x1489: 0x48, 0x148a: 0x49, 0x148b: 0x4a, 0x148c: 0x4b, 0x148d: 0x4c, 0x148e: 0x4d, 0x148f: 0x4e, + 0x1490: 0x4f, 0x1491: 0x50, 0x1492: 0x51, 0x1493: 0x52, 0x1494: 0x53, 0x1495: 0x54, 0x1496: 0x55, 0x1497: 0x56, + 0x1498: 0x57, 0x1499: 0x58, 0x149a: 0x59, 0x149b: 0x5a, 0x149c: 0x5b, 0x149d: 0x5c, 0x149e: 0x5d, 0x149f: 0x5e, + 0x14a0: 0x5f, 0x14a1: 0x60, 0x14a2: 0x61, 0x14a3: 0x62, 0x14a4: 0x63, 0x14a5: 0x64, 0x14a6: 0x65, 0x14a7: 0x66, + 0x14a8: 0x67, 0x14a9: 0x68, 0x14aa: 0x69, 0x14ac: 0x6a, 0x14ad: 0x6b, 0x14ae: 0x6c, 0x14af: 0x6d, + 0x14b0: 0x6e, 0x14b1: 0x6f, 0x14b3: 0x70, 0x14b4: 0x71, 0x14b5: 0x72, 0x14b6: 0x1fc, 0x14b7: 0x74, + 0x14b8: 0x75, 0x14b9: 0x26a, 0x14ba: 0x26b, 0x14bb: 0x26c, 0x14bc: 0x79, 0x14bd: 0x7a, 0x14be: 0x7b, 0x14bf: 0x7c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x7d, 0x14c1: 0x7e, 0x14c2: 0x7f, 0x14c3: 0x80, 0x14c4: 0x262, 0x14c5: 0x82, 0x14c6: 0x83, 0x14c7: 0x84, + 0x14c8: 0x85, 0x14c9: 0x86, 0x14ca: 0x87, 0x14cb: 0x88, 0x14cc: 0x89, 0x14cd: 0x8a, 0x14ce: 0x8b, 0x14cf: 0x8c, + 0x14d0: 0x8d, 0x14d1: 0x8e, 0x14d2: 0x26d, 0x14d3: 0x90, 0x14d4: 0x91, 0x14d5: 0x92, 0x14d6: 0x93, 0x14d7: 0x94, + 0x14d8: 0x95, 0x14d9: 0x96, 0x14da: 0x97, 0x14db: 0x98, 0x14dc: 0x99, 0x14dd: 0x9a, 0x14de: 0x9b, 0x14df: 0x9c, + 0x14e0: 0x9d, 0x14e1: 0x9e, 0x14e2: 0x9f, 0x14e3: 0xa0, 0x14e4: 0xa1, 0x14e5: 0xa2, 0x14e6: 0xa3, 0x14e7: 0xa4, + 0x14e8: 0xa5, 0x14e9: 0xa6, 0x14ea: 0xa7, 0x14eb: 0xa8, 0x14ec: 0xa9, 0x14ed: 0xaa, + 0x14f0: 0xab, 0x14f1: 0xac, 0x14f2: 0xad, 0x14f3: 0xae, 0x14f4: 0xaf, 0x14f5: 0xb0, 0x14f6: 0xb1, 0x14f7: 0xb2, + 0x14f8: 0xb3, 0x14fa: 0xb4, 0x14fb: 0xb5, 0x14fc: 0xb6, 0x14fd: 0xb7, 0x14fe: 0xb8, 0x14ff: 0xb9, + // Block 0x54, offset 0x1500 + 0x1500: 0xba, 0x1501: 0xbb, 0x1502: 0xbc, 0x1503: 0xbd, 0x1504: 0xbe, 0x1505: 0xbf, 0x1506: 0xc0, 0x1507: 0xc1, + 0x1508: 0xc2, 0x1509: 0xc3, 0x150a: 0xc4, 0x150b: 0xc5, 0x150c: 0xc6, 0x150d: 0xc7, 0x150e: 0x26e, 0x150f: 0x24b, + // Block 0x55, offset 0x1540 + 0x1540: 0x18b, 0x1541: 0x18c, 0x1542: 0x18d, 0x1543: 0x18e, 0x1544: 0x26f, 0x1545: 0x24d, 0x1546: 0x191, 0x1547: 0x192, + 0x1548: 0x193, 0x1549: 0x194, 0x154c: 0x195, 0x154d: 0x196, 0x154e: 0x197, 0x154f: 0x198, + 0x1550: 0x199, 0x1551: 0x19a, 0x1552: 0x19b, 0x1553: 0x19c, 0x1554: 0x19d, 0x1555: 0x19e, 0x1557: 0x19f, + 0x1558: 0x1a0, 0x1559: 0x1a1, 0x155a: 0x1a2, 0x155b: 0x1a3, 0x155c: 0x1a4, 0x155d: 0x1a5, + // Block 0x56, offset 0x1580 + 0x1590: 0x09, 0x1591: 0x0a, 0x1592: 0x0b, 0x1593: 0x0c, 0x1596: 0x0d, + 0x159b: 0x0e, 0x159d: 0x0f, 0x159e: 0x10, 0x159f: 0x53, + 0x15af: 0x12, + // Block 0x57, offset 0x15c0 + 0x15c2: 0x01, 0x15c3: 0x265, 0x15c4: 0x266, 0x15c5: 0x267, 0x15c6: 0x05, 0x15c7: 0x268, + 0x15c8: 0x269, 0x15c9: 0x08, 0x15ca: 0x09, 0x15cb: 0x0a, 0x15cc: 0x0b, 0x15cd: 0x0c, 0x15ce: 0x0d, 0x15cf: 0x0e, + 0x15d0: 0x0f, 0x15d1: 0x10, 0x15d2: 0x11, 0x15d3: 0x12, 0x15d4: 0x13, 0x15d5: 0x14, 0x15d6: 0x15, 0x15d7: 0x16, + 0x15d8: 0x17, 0x15d9: 0x18, 0x15da: 0x19, 0x15db: 0x1a, 0x15dc: 0x1b, 0x15dd: 0x1c, 0x15de: 0x1d, 0x15df: 0x1e, + 0x15e0: 0x01, 0x15e1: 0x50, 0x15e2: 0x51, 0x15e3: 0x52, 0x15e4: 0x05, + 0x15ea: 0x06, 0x15ed: 0x07, 0x15ef: 0x08, + 0x15f0: 0x54, 0x15f3: 0x15, + // Block 0x58, offset 0x1600 + 0x1620: 0x1f, 0x1621: 0x20, 0x1622: 0x21, 0x1623: 0x22, 0x1624: 0x23, 0x1625: 0x24, 0x1626: 0x25, 0x1627: 0x26, + 0x1628: 0x27, 0x1629: 0x28, 0x162a: 0x272, 0x162b: 0x2a, 0x162c: 0x2b, 0x162d: 0x2c, 0x162e: 0x2d, 0x162f: 0x2e, + 0x1630: 0x2f, 0x1631: 0x30, 0x1632: 0x31, 0x1633: 0x32, 0x1634: 0x33, 0x1635: 0x34, 0x1636: 0x35, 0x1637: 0x36, + 0x1638: 0x37, 0x1639: 0x38, 0x163a: 0x39, 0x163b: 0x3a, 0x163c: 0x3b, 0x163d: 0x3c, 0x163e: 0x3d, 0x163f: 0x3e, + // Block 0x59, offset 0x1640 + 0x1642: 0x01, 0x1643: 0x02, 0x1644: 0x03, 0x1645: 0x04, 0x1646: 0x05, 0x1647: 0x06, + 0x1648: 0x07, 0x1649: 0x08, 0x164a: 0x09, 0x164b: 0x0a, 0x164c: 0x0b, 0x164d: 0x0c, 0x164e: 0x0d, 0x164f: 0x0e, + 0x1650: 0x0f, 0x1651: 0x10, 0x1652: 0x11, 0x1653: 0x12, 0x1654: 0x13, 0x1655: 0x14, 0x1656: 0x15, 0x1657: 0x16, + 0x1658: 0x17, 0x1659: 0x18, 0x165a: 0x19, 0x165b: 0x1a, 0x165c: 0x1b, 0x165d: 0x1c, 0x165e: 0x1d, 0x165f: 0x1e, + 0x1660: 0x56, 0x1661: 0x02, 0x1662: 0x03, 0x1663: 0x04, 0x1664: 0x05, + 0x166a: 0x06, 0x166d: 0x07, 0x166f: 0x08, + 0x1670: 0x13, 0x1673: 0x15, + // Block 0x5a, offset 0x1680 + 0x1682: 0x01, 0x1683: 0x02, 0x1684: 0x03, 0x1685: 0x04, 0x1686: 0x275, 0x1687: 0x06, + 0x1688: 0x07, 0x1689: 0x276, 0x168a: 0x277, 0x168b: 0x0a, 0x168c: 0x0b, 0x168d: 0x0c, 0x168e: 0x0d, 0x168f: 0x0e, + 0x1690: 0x0f, 0x1691: 0x10, 0x1692: 0x11, 0x1693: 0x12, 0x1694: 0x13, 0x1695: 0x14, 0x1696: 0x15, 0x1697: 0x16, + 0x1698: 0x17, 0x1699: 0x18, 0x169a: 0x19, 0x169b: 0x1a, 0x169c: 0x1b, 0x169d: 0x1c, 0x169e: 0x1d, 0x169f: 0x1e, + 0x16a0: 0x01, 0x16a1: 0x02, 0x16a2: 0x03, 0x16a3: 0x04, 0x16a4: 0x05, + 0x16aa: 0x06, 0x16ad: 0x07, 0x16af: 0x08, + 0x16b0: 0x13, 0x16b3: 0x15, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x3f, 0x16c1: 0x40, 0x16c2: 0x41, 0x16c3: 0x42, 0x16c4: 0x43, 0x16c5: 0x44, 0x16c6: 0x45, 0x16c7: 0x46, + 0x16c8: 0x47, 0x16c9: 0x48, 0x16ca: 0x49, 0x16cb: 0x4a, 0x16cc: 0x4b, 0x16cd: 0x4c, 0x16ce: 0x4d, 0x16cf: 0x4e, + 0x16d0: 0x4f, 0x16d1: 0x50, 0x16d2: 0x51, 0x16d3: 0x52, 0x16d4: 0x53, 0x16d5: 0x54, 0x16d6: 0x55, 0x16d7: 0x56, + 0x16d8: 0x57, 0x16d9: 0x58, 0x16da: 0x59, 0x16db: 0x5a, 0x16dc: 0x5b, 0x16dd: 0x5c, 0x16de: 0x5d, 0x16df: 0x5e, + 0x16e0: 0x5f, 0x16e1: 0x60, 0x16e2: 0x61, 0x16e3: 0x62, 0x16e4: 0x63, 0x16e5: 0x64, 0x16e6: 0x65, 0x16e7: 0x66, + 0x16e8: 0x67, 0x16e9: 0x68, 0x16ea: 0x69, 0x16ec: 0x6a, 0x16ed: 0x6b, 0x16ee: 0x6c, 0x16ef: 0x6d, + 0x16f0: 0x6e, 0x16f1: 0x6f, 0x16f3: 0x70, 0x16f4: 0x71, 0x16f5: 0x72, 0x16f6: 0x73, 0x16f7: 0x74, + 0x16f8: 0x281, 0x16f9: 0x282, 0x16fa: 0x283, 0x16fb: 0x284, 0x16fc: 0x79, 0x16fd: 0x7a, 0x16fe: 0x7b, 0x16ff: 0x7c, + // Block 0x5c, offset 0x1700 + 0x1700: 0x7d, 0x1701: 0x7e, 0x1702: 0x7f, 0x1703: 0x80, 0x1704: 0x285, 0x1705: 0x1bf, 0x1706: 0x83, 0x1707: 0x84, + 0x1708: 0x85, 0x1709: 0x86, 0x170a: 0x87, 0x170b: 0x88, 0x170c: 0x89, 0x170d: 0x8a, 0x170e: 0x8b, 0x170f: 0x8c, + 0x1710: 0x8d, 0x1711: 0x8e, 0x1712: 0x286, 0x1713: 0x90, 0x1714: 0x91, 0x1715: 0x92, 0x1716: 0x93, 0x1717: 0x94, + 0x1718: 0x95, 0x1719: 0x96, 0x171a: 0x97, 0x171b: 0x98, 0x171c: 0x99, 0x171d: 0x9a, 0x171e: 0x9b, 0x171f: 0x9c, + 0x1720: 0x9d, 0x1721: 0x9e, 0x1722: 0x9f, 0x1723: 0xa0, 0x1724: 0xa1, 0x1725: 0xa2, 0x1726: 0xa3, 0x1727: 0xa4, + 0x1728: 0xa5, 0x1729: 0xa6, 0x172a: 0xa7, 0x172b: 0xa8, 0x172c: 0xa9, 0x172d: 0xaa, + 0x1730: 0xab, 0x1731: 0xac, 0x1732: 0xad, 0x1733: 0xae, 0x1734: 0xaf, 0x1735: 0xb0, 0x1736: 0xb1, 0x1737: 0xb2, + 0x1738: 0xb3, 0x173a: 0xb4, 0x173b: 0xb5, 0x173c: 0xb6, 0x173d: 0xb7, 0x173e: 0xb8, 0x173f: 0xb9, + // Block 0x5d, offset 0x1740 + 0x1740: 0xba, 0x1741: 0xbb, 0x1742: 0xbc, 0x1743: 0xbd, 0x1744: 0xbe, 0x1745: 0xbf, 0x1746: 0xc0, 0x1747: 0xc1, + 0x1748: 0xc2, 0x1749: 0xc3, 0x174a: 0xc4, 0x174b: 0x1c1, 0x174c: 0xc6, 0x174d: 0x287, 0x174e: 0x288, 0x174f: 0x289, + // Block 0x5e, offset 0x1780 + 0x17a4: 0xfb, 0x17a5: 0xfc, 0x17a6: 0xfd, 0x17a7: 0xfe, + 0x17a8: 0xff, 0x17a9: 0x100, 0x17aa: 0x101, 0x17ab: 0x102, 0x17ac: 0x28a, 0x17ad: 0x104, 0x17ae: 0x105, 0x17af: 0x106, + 0x17b0: 0x107, 0x17b1: 0x108, 0x17b2: 0x109, 0x17b3: 0x10a, 0x17b4: 0x10b, 0x17b5: 0x10c, 0x17b6: 0x10d, 0x17b7: 0x10e, + 0x17b8: 0x10f, 0x17b9: 0x110, 0x17ba: 0x111, 0x17bb: 0x112, 0x17bc: 0x113, 0x17bd: 0x114, 0x17be: 0x115, 0x17bf: 0x116, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x18b, 0x17c1: 0x18c, 0x17c2: 0x18d, 0x17c3: 0x18e, 0x17c4: 0x28b, 0x17c5: 0x28c, 0x17c6: 0x191, 0x17c7: 0x192, + 0x17c8: 0x193, 0x17c9: 0x194, 0x17cc: 0x195, 0x17cd: 0x196, 0x17ce: 0x197, 0x17cf: 0x198, + 0x17d0: 0x199, 0x17d1: 0x19a, 0x17d2: 0x19b, 0x17d3: 0x19c, 0x17d4: 0x19d, 0x17d5: 0x19e, 0x17d7: 0x19f, + 0x17d8: 0x1a0, 0x17d9: 0x1a1, 0x17da: 0x1a2, 0x17db: 0x1a3, 0x17dc: 0x1a4, 0x17dd: 0x1a5, + // Block 0x60, offset 0x1800 + 0x1810: 0x09, 0x1811: 0x0a, 0x1812: 0x0b, 0x1813: 0x0c, 0x1816: 0x0d, + 0x181b: 0x0e, 0x181d: 0x0f, 0x181e: 0x10, 0x181f: 0x5d, + 0x182f: 0x12, + // Block 0x61, offset 0x1840 + 0x1842: 0x01, 0x1843: 0x27a, 0x1844: 0x27b, 0x1845: 0x27c, 0x1846: 0x27d, 0x1847: 0x27e, + 0x1848: 0x27f, 0x1849: 0x08, 0x184a: 0x280, 0x184b: 0x0a, 0x184c: 0x0b, 0x184d: 0x0c, 0x184e: 0x0d, 0x184f: 0x0e, + 0x1850: 0x0f, 0x1851: 0x10, 0x1852: 0x11, 0x1853: 0x12, 0x1854: 0x13, 0x1855: 0x14, 0x1856: 0x15, 0x1857: 0x16, + 0x1858: 0x17, 0x1859: 0x18, 0x185a: 0x19, 0x185b: 0x1a, 0x185c: 0x1b, 0x185d: 0x1c, 0x185e: 0x1d, 0x185f: 0x1e, + 0x1860: 0x01, 0x1861: 0x59, 0x1862: 0x5a, 0x1863: 0x5b, 0x1864: 0x05, + 0x186a: 0x06, 0x186d: 0x07, 0x186f: 0x5c, + 0x1870: 0x5e, 0x1873: 0x15, + // Block 0x62, offset 0x1880 + 0x1882: 0x01, 0x1883: 0x02, 0x1884: 0x03, 0x1885: 0x04, 0x1886: 0x05, 0x1887: 0x06, + 0x1888: 0x07, 0x1889: 0x08, 0x188a: 0x09, 0x188b: 0x0a, 0x188c: 0x0b, 0x188d: 0x0c, 0x188e: 0x0d, 0x188f: 0x0e, + 0x1890: 0x0f, 0x1891: 0x10, 0x1892: 0x11, 0x1893: 0x12, 0x1894: 0x13, 0x1895: 0x14, 0x1896: 0x15, 0x1897: 0x28d, + 0x1898: 0x17, 0x1899: 0x18, 0x189a: 0x19, 0x189b: 0x1a, 0x189c: 0x1b, 0x189d: 0x1c, 0x189e: 0x1d, 0x189f: 0x1e, + 0x18a0: 0x01, 0x18a1: 0x02, 0x18a2: 0x03, 0x18a3: 0x04, 0x18a4: 0x05, + 0x18aa: 0x06, 0x18ad: 0x07, 0x18af: 0x08, + 0x18b0: 0x13, 0x18b3: 0x15, + // Block 0x63, offset 0x18c0 + 0x18e0: 0x1f, 0x18e1: 0x20, 0x18e2: 0x21, 0x18e3: 0x22, 0x18e4: 0x28e, 0x18e5: 0x24, 0x18e6: 0x25, 0x18e7: 0x26, + 0x18e8: 0x27, 0x18e9: 0x28, 0x18ea: 0x29, 0x18eb: 0x2a, 0x18ec: 0x2b, 0x18ed: 0x2c, 0x18ee: 0x2d, 0x18ef: 0x2e, + 0x18f0: 0x2f, 0x18f1: 0x30, 0x18f2: 0x31, 0x18f3: 0x32, 0x18f4: 0x33, 0x18f5: 0x34, 0x18f6: 0x35, 0x18f7: 0x36, + 0x18f8: 0x37, 0x18f9: 0x38, 0x18fa: 0x39, 0x18fb: 0x3a, 0x18fc: 0x3b, 0x18fd: 0x3c, 0x18fe: 0x3d, 0x18ff: 0x3e, + // Block 0x64, offset 0x1900 + 0x1902: 0x01, 0x1903: 0x02, 0x1904: 0x03, 0x1905: 0x04, 0x1906: 0x05, 0x1907: 0x06, + 0x1908: 0x07, 0x1909: 0x08, 0x190a: 0x09, 0x190b: 0x0a, 0x190c: 0x0b, 0x190d: 0x0c, 0x190e: 0x0d, 0x190f: 0x0e, + 0x1910: 0x0f, 0x1911: 0x10, 0x1912: 0x11, 0x1913: 0x12, 0x1914: 0x13, 0x1915: 0x14, 0x1916: 0x15, 0x1917: 0x16, + 0x1918: 0x17, 0x1919: 0x18, 0x191a: 0x19, 0x191b: 0x1a, 0x191c: 0x1b, 0x191d: 0x1c, 0x191e: 0x1d, 0x191f: 0x1e, + 0x1920: 0x61, 0x1921: 0x02, 0x1922: 0x03, 0x1923: 0x04, 0x1924: 0x05, + 0x192a: 0x06, 0x192d: 0x07, 0x192f: 0x08, + 0x1930: 0x13, 0x1933: 0x15, + // Block 0x65, offset 0x1940 + 0x1940: 0x3f, 0x1941: 0x40, 0x1942: 0x41, 0x1943: 0x42, 0x1944: 0x43, 0x1945: 0x44, 0x1946: 0x45, 0x1947: 0x46, + 0x1948: 0x47, 0x1949: 0x48, 0x194a: 0x49, 0x194b: 0x4a, 0x194c: 0x4b, 0x194d: 0x4c, 0x194e: 0x4d, 0x194f: 0x4e, + 0x1950: 0x4f, 0x1951: 0x50, 0x1952: 0x51, 0x1953: 0x52, 0x1954: 0x53, 0x1955: 0x54, 0x1956: 0x55, 0x1957: 0x56, + 0x1958: 0x57, 0x1959: 0x58, 0x195a: 0x59, 0x195b: 0x5a, 0x195c: 0x5b, 0x195d: 0x5c, 0x195e: 0x5d, 0x195f: 0x5e, + 0x1960: 0x5f, 0x1961: 0x60, 0x1962: 0x61, 0x1963: 0x62, 0x1964: 0x63, 0x1965: 0x64, 0x1966: 0x65, 0x1967: 0x66, + 0x1968: 0x67, 0x1969: 0x68, 0x196a: 0x69, 0x196c: 0x6a, 0x196d: 0x6b, 0x196e: 0x6c, 0x196f: 0x6d, + 0x1970: 0x6e, 0x1971: 0x6f, 0x1973: 0x70, 0x1974: 0x71, 0x1975: 0x72, 0x1976: 0x73, 0x1977: 0x74, + 0x1978: 0x294, 0x1979: 0x1f2, 0x197a: 0x77, 0x197b: 0x78, 0x197c: 0x79, 0x197d: 0x7a, 0x197e: 0x7b, 0x197f: 0x7c, + // Block 0x66, offset 0x1980 + 0x1982: 0x01, 0x1983: 0x02, 0x1984: 0x291, 0x1985: 0x292, 0x1986: 0x05, 0x1987: 0x293, + 0x1988: 0x07, 0x1989: 0x08, 0x198a: 0x09, 0x198b: 0x0a, 0x198c: 0x0b, 0x198d: 0x0c, 0x198e: 0x0d, 0x198f: 0x0e, + 0x1990: 0x0f, 0x1991: 0x10, 0x1992: 0x11, 0x1993: 0x12, 0x1994: 0x13, 0x1995: 0x14, 0x1996: 0x15, 0x1997: 0x16, + 0x1998: 0x17, 0x1999: 0x18, 0x199a: 0x19, 0x199b: 0x1a, 0x199c: 0x1b, 0x199d: 0x1c, 0x199e: 0x1d, 0x199f: 0x1e, + 0x19a0: 0x01, 0x19a1: 0x63, 0x19a2: 0x03, 0x19a3: 0x04, 0x19a4: 0x05, + 0x19aa: 0x06, 0x19ad: 0x07, 0x19af: 0x08, + 0x19b0: 0x13, 0x19b3: 0x15, + // Block 0x67, offset 0x19c0 + 0x19c0: 0x3f, 0x19c1: 0x40, 0x19c2: 0x41, 0x19c3: 0x42, 0x19c4: 0x43, 0x19c5: 0x44, 0x19c6: 0x45, 0x19c7: 0x46, + 0x19c8: 0x47, 0x19c9: 0x48, 0x19ca: 0x49, 0x19cb: 0x4a, 0x19cc: 0x4b, 0x19cd: 0x4c, 0x19ce: 0x4d, 0x19cf: 0x4e, + 0x19d0: 0x4f, 0x19d1: 0x50, 0x19d2: 0x51, 0x19d3: 0x52, 0x19d4: 0x53, 0x19d5: 0x54, 0x19d6: 0x55, 0x19d7: 0x56, + 0x19d8: 0x57, 0x19d9: 0x58, 0x19da: 0x59, 0x19db: 0x5a, 0x19dc: 0x5b, 0x19dd: 0x5c, 0x19de: 0x5d, 0x19df: 0x5e, + 0x19e0: 0x5f, 0x19e1: 0x60, 0x19e2: 0x61, 0x19e3: 0x62, 0x19e4: 0x63, 0x19e5: 0x64, 0x19e6: 0x65, 0x19e7: 0x66, + 0x19e8: 0x67, 0x19e9: 0x68, 0x19ea: 0x69, 0x19ec: 0x6a, 0x19ed: 0x6b, 0x19ee: 0x6c, 0x19ef: 0x6d, + 0x19f0: 0x6e, 0x19f1: 0x6f, 0x19f3: 0x70, 0x19f4: 0x71, 0x19f5: 0x72, 0x19f6: 0x73, 0x19f7: 0x74, + 0x19f8: 0x75, 0x19f9: 0x1df, 0x19fa: 0x77, 0x19fb: 0x78, 0x19fc: 0x79, 0x19fd: 0x7a, 0x19fe: 0x7b, 0x19ff: 0x7c, + // Block 0x68, offset 0x1a00 + 0x1a02: 0x01, 0x1a03: 0x297, 0x1a04: 0x03, 0x1a05: 0x298, 0x1a06: 0x05, 0x1a07: 0x299, + 0x1a08: 0x29a, 0x1a09: 0x08, 0x1a0a: 0x09, 0x1a0b: 0x0a, 0x1a0c: 0x0b, 0x1a0d: 0x0c, 0x1a0e: 0x0d, 0x1a0f: 0x0e, + 0x1a10: 0x0f, 0x1a11: 0x10, 0x1a12: 0x11, 0x1a13: 0x12, 0x1a14: 0x13, 0x1a15: 0x14, 0x1a16: 0x15, 0x1a17: 0x16, + 0x1a18: 0x17, 0x1a19: 0x18, 0x1a1a: 0x19, 0x1a1b: 0x1a, 0x1a1c: 0x1b, 0x1a1d: 0x1c, 0x1a1e: 0x1d, 0x1a1f: 0x1e, + 0x1a20: 0x01, 0x1a21: 0x65, 0x1a22: 0x03, 0x1a23: 0x04, 0x1a24: 0x05, + 0x1a2a: 0x06, 0x1a2d: 0x07, 0x1a2f: 0x08, + 0x1a30: 0x13, 0x1a33: 0x15, + // Block 0x69, offset 0x1a40 + 0x1a42: 0x01, 0x1a43: 0x02, 0x1a44: 0x03, 0x1a45: 0x04, 0x1a46: 0x05, 0x1a47: 0x06, + 0x1a48: 0x07, 0x1a49: 0x08, 0x1a4a: 0x09, 0x1a4b: 0x0a, 0x1a4c: 0x0b, 0x1a4d: 0x0c, 0x1a4e: 0x0d, 0x1a4f: 0x0e, + 0x1a50: 0x0f, 0x1a51: 0x10, 0x1a52: 0x11, 0x1a53: 0x12, 0x1a54: 0x29b, 0x1a55: 0x14, 0x1a56: 0x29c, 0x1a57: 0x16, + 0x1a58: 0x17, 0x1a59: 0x18, 0x1a5a: 0x19, 0x1a5b: 0x1a, 0x1a5c: 0x1b, 0x1a5d: 0x1c, 0x1a5e: 0x1d, 0x1a5f: 0x1e, + 0x1a60: 0x01, 0x1a61: 0x02, 0x1a62: 0x03, 0x1a63: 0x04, 0x1a64: 0x05, + 0x1a6a: 0x06, 0x1a6d: 0x07, 0x1a6f: 0x08, + 0x1a70: 0x13, 0x1a73: 0x15, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x3f, 0x1a81: 0x40, 0x1a82: 0x41, 0x1a83: 0x42, 0x1a84: 0x43, 0x1a85: 0x44, 0x1a86: 0x45, 0x1a87: 0x46, + 0x1a88: 0x47, 0x1a89: 0x48, 0x1a8a: 0x49, 0x1a8b: 0x4a, 0x1a8c: 0x4b, 0x1a8d: 0x4c, 0x1a8e: 0x4d, 0x1a8f: 0x4e, + 0x1a90: 0x4f, 0x1a91: 0x50, 0x1a92: 0x51, 0x1a93: 0x52, 0x1a94: 0x53, 0x1a95: 0x54, 0x1a96: 0x55, 0x1a97: 0x56, + 0x1a98: 0x57, 0x1a99: 0x58, 0x1a9a: 0x59, 0x1a9b: 0x5a, 0x1a9c: 0x5b, 0x1a9d: 0x5c, 0x1a9e: 0x5d, 0x1a9f: 0x5e, + 0x1aa0: 0x5f, 0x1aa1: 0x60, 0x1aa2: 0x61, 0x1aa3: 0x62, 0x1aa4: 0x63, 0x1aa5: 0x64, 0x1aa6: 0x65, 0x1aa7: 0x66, + 0x1aa8: 0x67, 0x1aa9: 0x68, 0x1aaa: 0x69, 0x1aac: 0x6a, 0x1aad: 0x6b, 0x1aae: 0x6c, 0x1aaf: 0x6d, + 0x1ab0: 0x6e, 0x1ab1: 0x6f, 0x1ab3: 0x70, 0x1ab4: 0x71, 0x1ab5: 0x72, 0x1ab6: 0x73, 0x1ab7: 0x74, + 0x1ab8: 0x75, 0x1ab9: 0x29f, 0x1aba: 0x77, 0x1abb: 0x2a0, 0x1abc: 0x79, 0x1abd: 0x7a, 0x1abe: 0x7b, 0x1abf: 0x7c, + // Block 0x6b, offset 0x1ac0 + 0x1ac2: 0x01, 0x1ac3: 0x02, 0x1ac4: 0x03, 0x1ac5: 0x04, 0x1ac6: 0x05, 0x1ac7: 0x06, + 0x1ac8: 0x07, 0x1ac9: 0x08, 0x1aca: 0x09, 0x1acb: 0x0a, 0x1acc: 0x0b, 0x1acd: 0x0c, 0x1ace: 0x0d, 0x1acf: 0x0e, + 0x1ad0: 0x0f, 0x1ad1: 0x10, 0x1ad2: 0x11, 0x1ad3: 0x12, 0x1ad4: 0x13, 0x1ad5: 0x14, 0x1ad6: 0x15, 0x1ad7: 0x16, + 0x1ad8: 0x17, 0x1ad9: 0x18, 0x1ada: 0x19, 0x1adb: 0x1a, 0x1adc: 0x1b, 0x1add: 0x1c, 0x1ade: 0x1d, 0x1adf: 0x1e, + 0x1ae0: 0x01, 0x1ae1: 0x68, 0x1ae2: 0x03, 0x1ae3: 0x04, 0x1ae4: 0x05, + 0x1aea: 0x06, 0x1aed: 0x07, 0x1aef: 0x08, + 0x1af0: 0x13, 0x1af3: 0x15, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x3f, 0x1b01: 0x40, 0x1b02: 0x41, 0x1b03: 0x42, 0x1b04: 0x43, 0x1b05: 0x44, 0x1b06: 0x45, 0x1b07: 0x46, + 0x1b08: 0x47, 0x1b09: 0x48, 0x1b0a: 0x49, 0x1b0b: 0x4a, 0x1b0c: 0x4b, 0x1b0d: 0x4c, 0x1b0e: 0x4d, 0x1b0f: 0x4e, + 0x1b10: 0x4f, 0x1b11: 0x50, 0x1b12: 0x51, 0x1b13: 0x52, 0x1b14: 0x53, 0x1b15: 0x54, 0x1b16: 0x55, 0x1b17: 0x56, + 0x1b18: 0x57, 0x1b19: 0x58, 0x1b1a: 0x59, 0x1b1b: 0x5a, 0x1b1c: 0x5b, 0x1b1d: 0x5c, 0x1b1e: 0x5d, 0x1b1f: 0x5e, + 0x1b20: 0x5f, 0x1b21: 0x60, 0x1b22: 0x61, 0x1b23: 0x62, 0x1b24: 0x63, 0x1b25: 0x64, 0x1b26: 0x65, 0x1b27: 0x66, + 0x1b28: 0x67, 0x1b29: 0x68, 0x1b2a: 0x69, 0x1b2c: 0x6a, 0x1b2d: 0x6b, 0x1b2e: 0x6c, 0x1b2f: 0x6d, + 0x1b30: 0x6e, 0x1b31: 0x6f, 0x1b33: 0x70, 0x1b34: 0x71, 0x1b35: 0x72, 0x1b36: 0x1fc, 0x1b37: 0x74, + 0x1b38: 0x2a7, 0x1b39: 0x2a8, 0x1b3a: 0x2a9, 0x1b3b: 0x2aa, 0x1b3c: 0x79, 0x1b3d: 0x7a, 0x1b3e: 0x7b, 0x1b3f: 0x7c, + // Block 0x6d, offset 0x1b40 + 0x1b42: 0x01, 0x1b43: 0x2a3, 0x1b44: 0x2a4, 0x1b45: 0x04, 0x1b46: 0x05, 0x1b47: 0x2a5, + 0x1b48: 0x2a6, 0x1b49: 0x08, 0x1b4a: 0x09, 0x1b4b: 0x0a, 0x1b4c: 0x0b, 0x1b4d: 0x0c, 0x1b4e: 0x0d, 0x1b4f: 0x0e, + 0x1b50: 0x0f, 0x1b51: 0x10, 0x1b52: 0x11, 0x1b53: 0x12, 0x1b54: 0x13, 0x1b55: 0x14, 0x1b56: 0x15, 0x1b57: 0x16, + 0x1b58: 0x17, 0x1b59: 0x18, 0x1b5a: 0x19, 0x1b5b: 0x1a, 0x1b5c: 0x1b, 0x1b5d: 0x1c, 0x1b5e: 0x1d, 0x1b5f: 0x1e, + 0x1b60: 0x01, 0x1b61: 0x6a, 0x1b62: 0x30, 0x1b63: 0x04, 0x1b64: 0x05, + 0x1b6a: 0x06, 0x1b6d: 0x07, 0x1b6f: 0x08, + 0x1b70: 0x13, 0x1b73: 0x15, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x2ab, 0x1b81: 0x2ac, 0x1b82: 0x2ad, 0x1b83: 0x2ae, 0x1b84: 0x2af, 0x1b85: 0x2b0, 0x1b86: 0xc0, 0x1b87: 0x2b1, + 0x1b88: 0x2b2, 0x1b89: 0x2b3, 0x1b8a: 0xc4, 0x1b8b: 0x2b4, 0x1b8c: 0xc6, 0x1b8d: 0x2b5, 0x1b8e: 0xc8, 0x1b8f: 0x2b6, + // Block 0x6f, offset 0x1bc0 + 0x1bf7: 0xca, + 0x1bf8: 0x2b7, 0x1bf9: 0x2b8, 0x1bfa: 0x2b9, 0x1bfb: 0x2ba, 0x1bfc: 0x2bb, 0x1bfd: 0x2bc, 0x1bfe: 0x2bd, 0x1bff: 0x2be, + // Block 0x70, offset 0x1c00 + 0x1c00: 0x2bf, 0x1c01: 0x2c0, 0x1c02: 0x2c1, 0x1c03: 0x2c2, 0x1c04: 0x2c3, 0x1c05: 0x2c4, 0x1c06: 0x2c5, 0x1c07: 0x2c6, + 0x1c08: 0x2c7, 0x1c09: 0x2c8, 0x1c0a: 0x2c9, 0x1c0b: 0x2ca, 0x1c0c: 0x2cb, 0x1c0d: 0x2cc, 0x1c0e: 0x2cd, 0x1c0f: 0x2ce, + 0x1c10: 0x2cf, 0x1c11: 0x2d0, 0x1c12: 0x2d1, 0x1c13: 0x2d2, 0x1c14: 0x2d3, 0x1c15: 0x2d4, 0x1c16: 0x2d5, 0x1c17: 0x2d6, + 0x1c18: 0x2d7, 0x1c19: 0x2d8, 0x1c1a: 0x2d9, 0x1c1b: 0x2da, 0x1c1c: 0x2db, 0x1c1d: 0x2dc, 0x1c1e: 0x2dd, 0x1c1f: 0x2de, + 0x1c20: 0x2df, 0x1c21: 0x2e0, 0x1c22: 0x2e1, 0x1c23: 0x2e2, 0x1c24: 0x2e3, 0x1c25: 0x2e4, 0x1c26: 0x2e5, 0x1c27: 0x2e6, + 0x1c28: 0x2e7, 0x1c29: 0x2e8, 0x1c2a: 0x2e9, 0x1c2b: 0x2ea, 0x1c2c: 0x2eb, 0x1c2d: 0x2ec, 0x1c2e: 0x2ed, 0x1c2f: 0x2ee, + 0x1c30: 0x2ef, 0x1c31: 0x2f0, 0x1c32: 0x2f1, 0x1c33: 0x2f2, 0x1c34: 0x2f3, 0x1c35: 0x2f4, 0x1c36: 0x2f5, 0x1c37: 0x2f6, + 0x1c38: 0x2f7, 0x1c39: 0x2f8, 0x1c3a: 0x2f9, 0x1c3b: 0x2fa, 0x1c3c: 0x2fb, 0x1c3d: 0x2fc, 0x1c3e: 0x2fd, 0x1c3f: 0x2fe, + // Block 0x71, offset 0x1c40 + 0x1c40: 0x2ff, 0x1c41: 0x300, 0x1c42: 0x301, 0x1c43: 0x302, 0x1c44: 0x303, 0x1c45: 0x304, 0x1c46: 0x305, 0x1c47: 0x306, + 0x1c48: 0x307, 0x1c49: 0x308, 0x1c4a: 0x309, 0x1c4b: 0x30a, 0x1c4c: 0x30b, 0x1c4d: 0x30c, 0x1c4e: 0x30d, 0x1c4f: 0x30e, + 0x1c50: 0x30f, 0x1c51: 0x310, 0x1c52: 0x311, 0x1c53: 0x312, 0x1c54: 0x313, 0x1c55: 0x314, 0x1c56: 0x315, 0x1c57: 0x316, + 0x1c58: 0x317, 0x1c59: 0x318, 0x1c5a: 0x319, 0x1c5b: 0x31a, 0x1c5c: 0x31b, 0x1c5d: 0x31c, 0x1c5e: 0x31d, 0x1c5f: 0x31e, + 0x1c60: 0x31f, 0x1c61: 0x320, 0x1c62: 0x321, 0x1c63: 0x322, 0x1c64: 0x323, 0x1c65: 0x324, 0x1c66: 0x325, 0x1c67: 0x326, + 0x1c68: 0x327, 0x1c69: 0x328, 0x1c6a: 0x329, 0x1c6b: 0x32a, 0x1c6c: 0x32b, 0x1c6d: 0x32c, 0x1c6e: 0x32d, 0x1c6f: 0x32e, + 0x1c70: 0x32f, 0x1c71: 0x330, 0x1c72: 0x331, 0x1c73: 0x332, 0x1c74: 0x333, 0x1c75: 0x334, 0x1c76: 0x335, 0x1c77: 0x336, + 0x1c78: 0x337, 0x1c79: 0x338, 0x1c7a: 0x339, 0x1c7b: 0x33a, 0x1c7c: 0x33b, 0x1c7d: 0x33c, 0x1c7e: 0x33d, 0x1c7f: 0x33e, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x33f, 0x1c81: 0x340, 0x1c82: 0x341, 0x1c83: 0x342, 0x1c84: 0x343, 0x1c85: 0x344, 0x1c86: 0x345, 0x1c87: 0x346, + 0x1c88: 0x347, 0x1c89: 0x348, 0x1c8a: 0x349, 0x1c8b: 0x34a, 0x1c8c: 0x34b, 0x1c8d: 0x34c, 0x1c8e: 0x34d, 0x1c8f: 0x34e, + 0x1c90: 0x34f, 0x1c91: 0x350, 0x1c92: 0x351, 0x1c93: 0x352, 0x1c94: 0x353, 0x1c95: 0x354, 0x1c96: 0x355, 0x1c97: 0x356, + 0x1c98: 0x357, 0x1c99: 0x358, 0x1c9a: 0x359, 0x1c9b: 0x35a, 0x1c9c: 0x35b, 0x1c9d: 0x35c, 0x1c9e: 0x35d, 0x1c9f: 0x35e, + 0x1ca0: 0x35f, 0x1ca1: 0x360, 0x1ca2: 0x361, 0x1ca3: 0x362, 0x1ca4: 0x363, 0x1ca5: 0x364, 0x1ca6: 0x365, 0x1ca7: 0x366, + 0x1ca8: 0x367, 0x1ca9: 0x368, 0x1caa: 0x369, 0x1cab: 0x36a, 0x1cac: 0x36b, 0x1cad: 0x36c, 0x1cae: 0x36d, 0x1caf: 0x36e, + 0x1cb0: 0x36f, 0x1cb1: 0x370, 0x1cb2: 0x371, 0x1cb3: 0x372, 0x1cb4: 0x373, 0x1cb5: 0x374, 0x1cb6: 0x375, 0x1cb7: 0x376, + 0x1cb8: 0x377, 0x1cb9: 0x378, 0x1cba: 0x379, 0x1cbc: 0x37a, 0x1cbd: 0x37b, 0x1cbe: 0x37c, 0x1cbf: 0x37d, + // Block 0x73, offset 0x1cc0 + 0x1cc0: 0x37e, 0x1cc1: 0x37f, 0x1cc2: 0x380, 0x1cc3: 0x381, 0x1cc4: 0x382, 0x1cc5: 0x383, 0x1cc6: 0x384, 0x1cc7: 0x385, + 0x1cc8: 0x386, 0x1cc9: 0x387, 0x1cca: 0x388, 0x1ccb: 0x389, 0x1ccc: 0x38a, 0x1ccd: 0x38b, 0x1cce: 0x38c, 0x1ccf: 0x38d, + 0x1cd0: 0x38e, 0x1cd1: 0x38f, 0x1cd2: 0x390, 0x1cd3: 0x391, 0x1cd4: 0x392, 0x1cd5: 0x393, 0x1cd6: 0x394, 0x1cd7: 0x395, + 0x1cd8: 0x396, 0x1cd9: 0x397, 0x1cda: 0x398, 0x1cdb: 0x399, 0x1cdc: 0x39a, 0x1cdd: 0x39b, 0x1cde: 0x39c, 0x1cdf: 0x39d, + 0x1ce0: 0x39e, 0x1ce1: 0x39f, 0x1ce2: 0x3a0, 0x1ce3: 0x3a1, 0x1ce4: 0x3a2, 0x1ce5: 0x3a3, 0x1ce6: 0x3a4, 0x1ce7: 0x3a5, + 0x1ce8: 0x3a6, 0x1ce9: 0x3a7, 0x1cea: 0x3a8, 0x1ceb: 0x3a9, 0x1cec: 0x3aa, 0x1ced: 0x3ab, 0x1cee: 0x3ac, + 0x1cf0: 0x3ad, 0x1cf1: 0x3ae, 0x1cf2: 0x3af, 0x1cf3: 0x3b0, 0x1cf4: 0x3b1, 0x1cf5: 0x3b2, 0x1cf6: 0x3b3, 0x1cf7: 0x3b4, + 0x1cf8: 0x3b5, 0x1cf9: 0x3b6, 0x1cfa: 0x3b7, 0x1cfb: 0x3b8, 0x1cfc: 0x3b9, 0x1cfd: 0x3ba, 0x1cfe: 0x3bb, 0x1cff: 0x3bc, + // Block 0x74, offset 0x1d00 + 0x1d00: 0x3bd, 0x1d01: 0x3be, 0x1d02: 0x3bf, 0x1d03: 0x3c0, 0x1d04: 0x3c1, 0x1d05: 0x3c2, 0x1d06: 0x3c3, 0x1d07: 0x3c4, + 0x1d08: 0x3c5, 0x1d09: 0x3c6, 0x1d0a: 0x3c7, 0x1d0b: 0x3c8, 0x1d0c: 0x3c9, 0x1d0d: 0x3ca, 0x1d0e: 0x3cb, 0x1d0f: 0x3cc, + 0x1d10: 0x3cd, 0x1d11: 0x3ce, 0x1d12: 0x3cf, 0x1d15: 0x3d0, 0x1d16: 0x3d1, 0x1d17: 0x3d2, + 0x1d18: 0x3d3, 0x1d19: 0x3d4, 0x1d1a: 0x3d5, 0x1d1b: 0x3d6, 0x1d1c: 0x3d7, 0x1d1d: 0x3d8, 0x1d1e: 0x3d9, 0x1d1f: 0x3da, + 0x1d20: 0x3db, 0x1d21: 0x3dc, 0x1d22: 0x3dd, 0x1d23: 0x3de, 0x1d24: 0x3df, 0x1d25: 0x3e0, 0x1d26: 0x3e1, 0x1d27: 0x3e2, + 0x1d28: 0x3e3, 0x1d29: 0x3e4, 0x1d2a: 0x3e5, 0x1d2b: 0x3e6, 0x1d2c: 0x3e7, 0x1d2d: 0x3e8, 0x1d2e: 0x3e9, 0x1d2f: 0x3ea, + 0x1d30: 0x3eb, 0x1d31: 0x3ec, 0x1d33: 0x3ed, 0x1d34: 0x3ee, 0x1d35: 0x3ef, 0x1d36: 0x3f0, 0x1d37: 0x3f1, + 0x1d38: 0x3f2, 0x1d39: 0x3f3, 0x1d3a: 0x3f4, 0x1d3b: 0x3f5, 0x1d3c: 0x3f6, 0x1d3d: 0x3f7, 0x1d3e: 0x3f8, + // Block 0x75, offset 0x1d40 + 0x1d64: 0x3f9, 0x1d65: 0x3fa, 0x1d66: 0x3fb, 0x1d67: 0x3fc, + 0x1d68: 0x3fd, 0x1d69: 0x3fe, 0x1d6a: 0x3ff, 0x1d6b: 0x400, 0x1d6c: 0x103, 0x1d6d: 0x104, 0x1d6e: 0x105, 0x1d6f: 0x106, + 0x1d70: 0x107, 0x1d71: 0x108, 0x1d72: 0x109, 0x1d73: 0x10a, 0x1d74: 0x10b, 0x1d75: 0x10c, 0x1d76: 0x10d, 0x1d77: 0x10e, + 0x1d78: 0x10f, 0x1d79: 0x110, 0x1d7a: 0x111, 0x1d7b: 0x112, 0x1d7c: 0x401, 0x1d7d: 0x402, 0x1d7e: 0x403, 0x1d7f: 0x404, + // Block 0x76, offset 0x1d80 + 0x1d80: 0x18b, 0x1d81: 0x18c, 0x1d82: 0x18d, 0x1d83: 0x18e, 0x1d84: 0x18f, 0x1d85: 0x190, 0x1d86: 0x191, 0x1d87: 0x192, + 0x1d88: 0x193, 0x1d89: 0x405, 0x1d8c: 0x195, 0x1d8d: 0x196, 0x1d8e: 0x197, 0x1d8f: 0x198, + 0x1d90: 0x199, 0x1d91: 0x19a, 0x1d92: 0x19b, 0x1d93: 0x19c, 0x1d94: 0x19d, 0x1d95: 0x19e, 0x1d97: 0x19f, + 0x1d98: 0x1a0, 0x1d99: 0x1a1, 0x1d9a: 0x1a2, 0x1d9b: 0x1a3, 0x1d9c: 0x1a4, 0x1d9d: 0x1a5, + // Block 0x77, offset 0x1dc0 + 0x1de0: 0x406, 0x1de1: 0x407, 0x1de2: 0x408, 0x1de3: 0x409, 0x1de4: 0x40a, 0x1de5: 0x40b, 0x1de6: 0x40c, 0x1de7: 0x40d, + 0x1de8: 0x40e, + // Block 0x78, offset 0x1e00 + 0x1e10: 0x09, 0x1e11: 0x0a, 0x1e12: 0x0b, 0x1e13: 0x0c, 0x1e16: 0x0d, + 0x1e1b: 0x0e, 0x1e1d: 0x0f, 0x1e1e: 0x10, 0x1e1f: 0x74, + 0x1e2f: 0x75, + // Block 0x79, offset 0x1e40 + 0x1e42: 0x01, 0x1e43: 0x02, 0x1e44: 0x03, 0x1e45: 0x04, 0x1e46: 0x05, 0x1e47: 0x06, + 0x1e48: 0x07, 0x1e49: 0x08, 0x1e4a: 0x09, 0x1e4b: 0x0a, 0x1e4c: 0x0b, 0x1e4d: 0x0c, 0x1e4e: 0x0d, 0x1e4f: 0x0e, + 0x1e50: 0x0f, 0x1e51: 0x10, 0x1e52: 0x11, 0x1e53: 0x12, 0x1e54: 0x13, 0x1e55: 0x14, 0x1e56: 0x15, 0x1e57: 0x16, + 0x1e58: 0x17, 0x1e59: 0x18, 0x1e5a: 0x19, 0x1e5b: 0x1a, 0x1e5c: 0x1b, 0x1e5d: 0x1c, 0x1e5e: 0x1d, 0x1e5f: 0x1e, + 0x1e60: 0x01, 0x1e61: 0x02, 0x1e62: 0x03, 0x1e63: 0x6c, 0x1e64: 0x6d, 0x1e65: 0x6e, 0x1e66: 0x6f, 0x1e67: 0x70, + 0x1e68: 0x71, 0x1e69: 0x72, 0x1e6a: 0x06, 0x1e6d: 0x07, 0x1e6f: 0x73, + 0x1e70: 0x76, 0x1e73: 0x15, + // Block 0x7a, offset 0x1e80 + 0x1e82: 0x01, 0x1e83: 0x02, 0x1e84: 0x03, 0x1e85: 0x04, 0x1e86: 0x05, 0x1e87: 0x06, + 0x1e88: 0x07, 0x1e89: 0x08, 0x1e8a: 0x09, 0x1e8b: 0x0a, 0x1e8c: 0x0b, 0x1e8d: 0x0c, 0x1e8e: 0x0d, 0x1e8f: 0x0e, + 0x1e90: 0x40f, 0x1e91: 0x410, 0x1e92: 0x411, 0x1e93: 0x12, 0x1e94: 0x13, 0x1e95: 0x14, 0x1e96: 0x15, 0x1e97: 0x16, + 0x1e98: 0x17, 0x1e99: 0x18, 0x1e9a: 0x19, 0x1e9b: 0x1a, 0x1e9c: 0x1b, 0x1e9d: 0x1c, 0x1e9e: 0x1d, 0x1e9f: 0x1e, + 0x1ea0: 0x01, 0x1ea1: 0x02, 0x1ea2: 0x03, 0x1ea3: 0x04, 0x1ea4: 0x05, + 0x1eaa: 0x06, 0x1ead: 0x07, 0x1eaf: 0x08, + 0x1eb0: 0x13, 0x1eb3: 0x15, + // Block 0x7b, offset 0x1ec0 + 0x1ec2: 0x01, 0x1ec3: 0x1f7, 0x1ec4: 0x414, 0x1ec5: 0x1f9, 0x1ec6: 0x05, 0x1ec7: 0x1fa, + 0x1ec8: 0x1fb, 0x1ec9: 0x08, 0x1eca: 0x09, 0x1ecb: 0x0a, 0x1ecc: 0x0b, 0x1ecd: 0x0c, 0x1ece: 0x0d, 0x1ecf: 0x0e, + 0x1ed0: 0x0f, 0x1ed1: 0x10, 0x1ed2: 0x11, 0x1ed3: 0x12, 0x1ed4: 0x13, 0x1ed5: 0x14, 0x1ed6: 0x15, 0x1ed7: 0x16, + 0x1ed8: 0x17, 0x1ed9: 0x18, 0x1eda: 0x19, 0x1edb: 0x1a, 0x1edc: 0x1b, 0x1edd: 0x1c, 0x1ede: 0x1d, 0x1edf: 0x1e, + 0x1ee0: 0x01, 0x1ee1: 0x2f, 0x1ee2: 0x30, 0x1ee3: 0x04, 0x1ee4: 0x05, + 0x1eea: 0x06, 0x1eed: 0x07, 0x1eef: 0x08, + 0x1ef0: 0x13, 0x1ef3: 0x15, + // Block 0x7c, offset 0x1f00 + 0x1f00: 0x3f, 0x1f01: 0x40, 0x1f02: 0x41, 0x1f03: 0x42, 0x1f04: 0x43, 0x1f05: 0x44, 0x1f06: 0x45, 0x1f07: 0x46, + 0x1f08: 0x47, 0x1f09: 0x48, 0x1f0a: 0x49, 0x1f0b: 0x4a, 0x1f0c: 0x4b, 0x1f0d: 0x4c, 0x1f0e: 0x4d, 0x1f0f: 0x4e, + 0x1f10: 0x4f, 0x1f11: 0x50, 0x1f12: 0x51, 0x1f13: 0x52, 0x1f14: 0x53, 0x1f15: 0x54, 0x1f16: 0x55, 0x1f17: 0x56, + 0x1f18: 0x57, 0x1f19: 0x58, 0x1f1a: 0x59, 0x1f1b: 0x5a, 0x1f1c: 0x5b, 0x1f1d: 0x5c, 0x1f1e: 0x415, 0x1f1f: 0x416, + 0x1f20: 0x5f, 0x1f21: 0x60, 0x1f22: 0x61, 0x1f23: 0x62, 0x1f24: 0x63, 0x1f25: 0x64, 0x1f26: 0x65, 0x1f27: 0x66, + 0x1f28: 0x67, 0x1f29: 0x68, 0x1f2a: 0x69, 0x1f2c: 0x6a, 0x1f2d: 0x6b, 0x1f2e: 0x6c, 0x1f2f: 0x6d, + 0x1f30: 0x6e, 0x1f31: 0x6f, 0x1f33: 0x70, 0x1f34: 0x71, 0x1f35: 0x72, 0x1f36: 0x73, 0x1f37: 0x74, + 0x1f38: 0x75, 0x1f39: 0x76, 0x1f3a: 0x77, 0x1f3b: 0x78, 0x1f3c: 0x79, 0x1f3d: 0x7a, 0x1f3e: 0x7b, 0x1f3f: 0x7c, + // Block 0x7d, offset 0x1f40 + 0x1f42: 0x01, 0x1f43: 0x02, 0x1f44: 0x03, 0x1f45: 0x04, 0x1f46: 0x05, 0x1f47: 0x06, + 0x1f48: 0x07, 0x1f49: 0x08, 0x1f4a: 0x09, 0x1f4b: 0x0a, 0x1f4c: 0x0b, 0x1f4d: 0x0c, 0x1f4e: 0x0d, 0x1f4f: 0x0e, + 0x1f50: 0x0f, 0x1f51: 0x10, 0x1f52: 0x11, 0x1f53: 0x12, 0x1f54: 0x13, 0x1f55: 0x14, 0x1f56: 0x15, 0x1f57: 0x16, + 0x1f58: 0x17, 0x1f59: 0x18, 0x1f5a: 0x19, 0x1f5b: 0x1a, 0x1f5c: 0x1b, 0x1f5d: 0x1c, 0x1f5e: 0x1d, 0x1f5f: 0x1e, + 0x1f60: 0x01, 0x1f61: 0x7a, 0x1f62: 0x03, 0x1f63: 0x04, 0x1f64: 0x05, + 0x1f6a: 0x06, 0x1f6d: 0x07, 0x1f6f: 0x08, + 0x1f70: 0x13, 0x1f73: 0x15, + // Block 0x7e, offset 0x1f80 + 0x1fa0: 0x1f, 0x1fa1: 0x20, 0x1fa2: 0x21, 0x1fa3: 0x22, 0x1fa4: 0x23, 0x1fa5: 0x24, 0x1fa6: 0x25, 0x1fa7: 0x26, + 0x1fa8: 0x27, 0x1fa9: 0x28, 0x1faa: 0x29, 0x1fab: 0x2a, 0x1fac: 0x2b, 0x1fad: 0x2c, 0x1fae: 0x2d, 0x1faf: 0x2e, + 0x1fb0: 0x2f, 0x1fb1: 0x30, 0x1fb2: 0x417, 0x1fb3: 0x418, 0x1fb4: 0x33, 0x1fb5: 0x34, 0x1fb6: 0x35, 0x1fb7: 0x36, + 0x1fb8: 0x37, 0x1fb9: 0x38, 0x1fba: 0x39, 0x1fbb: 0x3a, 0x1fbc: 0x3b, 0x1fbd: 0x3c, 0x1fbe: 0x3d, 0x1fbf: 0x3e, + // Block 0x7f, offset 0x1fc0 + 0x1fc2: 0x01, 0x1fc3: 0x02, 0x1fc4: 0x03, 0x1fc5: 0x04, 0x1fc6: 0x05, 0x1fc7: 0x06, + 0x1fc8: 0x07, 0x1fc9: 0x08, 0x1fca: 0x09, 0x1fcb: 0x0a, 0x1fcc: 0x0b, 0x1fcd: 0x0c, 0x1fce: 0x0d, 0x1fcf: 0x0e, + 0x1fd0: 0x0f, 0x1fd1: 0x10, 0x1fd2: 0x11, 0x1fd3: 0x12, 0x1fd4: 0x13, 0x1fd5: 0x14, 0x1fd6: 0x15, 0x1fd7: 0x16, + 0x1fd8: 0x17, 0x1fd9: 0x18, 0x1fda: 0x19, 0x1fdb: 0x1a, 0x1fdc: 0x1b, 0x1fdd: 0x1c, 0x1fde: 0x1d, 0x1fdf: 0x1e, + 0x1fe0: 0x7c, 0x1fe1: 0x02, 0x1fe2: 0x03, 0x1fe3: 0x04, 0x1fe4: 0x05, + 0x1fea: 0x06, 0x1fed: 0x07, 0x1fef: 0x08, + 0x1ff0: 0x13, 0x1ff3: 0x15, + // Block 0x80, offset 0x2000 + 0x2000: 0xba, 0x2001: 0xbb, 0x2002: 0xbc, 0x2003: 0xbd, 0x2004: 0xbe, 0x2005: 0xbf, 0x2006: 0xc0, 0x2007: 0xc1, + 0x2008: 0x419, 0x2009: 0x2b3, 0x200a: 0xc4, 0x200b: 0x2b4, 0x200c: 0xc6, 0x200d: 0x2b5, 0x200e: 0xc8, 0x200f: 0x2b6, + // Block 0x81, offset 0x2040 + 0x2077: 0xca, + 0x2078: 0x41a, 0x2079: 0x41b, 0x207a: 0x41c, 0x207b: 0x41d, 0x207c: 0x41e, 0x207d: 0x41f, 0x207e: 0x420, 0x207f: 0x421, + // Block 0x82, offset 0x2080 + 0x2080: 0x422, 0x2081: 0x423, 0x2082: 0x424, 0x2083: 0x425, 0x2084: 0x426, 0x2085: 0x427, 0x2086: 0x428, 0x2087: 0x429, + 0x2088: 0x42a, 0x2089: 0x42b, 0x208a: 0x42c, 0x208b: 0x42d, 0x208c: 0x42e, 0x208d: 0x42f, 0x208e: 0x430, 0x208f: 0x431, + 0x2090: 0x432, 0x2091: 0x433, 0x2092: 0x434, 0x2093: 0x435, 0x2094: 0x436, 0x2095: 0x437, 0x2096: 0x438, 0x2097: 0x439, + 0x2098: 0x43a, 0x2099: 0x43b, 0x209a: 0x43c, 0x209b: 0x43d, 0x209c: 0x43e, 0x209d: 0x43f, 0x209e: 0x440, 0x209f: 0x441, + 0x20a0: 0x442, 0x20a1: 0x443, 0x20a2: 0x444, 0x20a3: 0x445, 0x20a4: 0x446, 0x20a5: 0x447, 0x20a6: 0x448, 0x20a7: 0x449, + 0x20a8: 0x44a, 0x20a9: 0x44b, 0x20aa: 0x44c, 0x20ab: 0x44d, 0x20ac: 0x44e, 0x20ad: 0x44f, 0x20ae: 0x450, 0x20af: 0x451, + 0x20b0: 0x452, 0x20b1: 0x453, 0x20b2: 0x454, 0x20b3: 0x455, 0x20b4: 0x456, 0x20b5: 0x457, 0x20b6: 0x458, 0x20b7: 0x459, + 0x20b8: 0x45a, 0x20b9: 0x45b, 0x20ba: 0x45c, 0x20bb: 0x45d, 0x20bc: 0x45e, 0x20bd: 0x45f, 0x20be: 0x460, 0x20bf: 0x461, + // Block 0x83, offset 0x20c0 + 0x20c0: 0x462, 0x20c1: 0x463, 0x20c2: 0x464, 0x20c3: 0x465, 0x20c4: 0x466, 0x20c5: 0x467, 0x20c6: 0x468, 0x20c7: 0x469, + 0x20c8: 0x46a, 0x20c9: 0x46b, 0x20ca: 0x46c, 0x20cb: 0x46d, 0x20cc: 0x46e, 0x20cd: 0x46f, 0x20ce: 0x470, 0x20cf: 0x471, + 0x20d0: 0x472, 0x20d1: 0x473, 0x20d2: 0x474, 0x20d3: 0x475, 0x20d4: 0x476, 0x20d5: 0x477, 0x20d6: 0x478, 0x20d7: 0x479, + 0x20d8: 0x47a, 0x20d9: 0x47b, 0x20da: 0x47c, 0x20db: 0x47d, 0x20dc: 0x47e, 0x20dd: 0x47f, 0x20de: 0x480, 0x20df: 0x481, + 0x20e0: 0x482, 0x20e1: 0x483, 0x20e2: 0x484, 0x20e3: 0x485, 0x20e4: 0x486, 0x20e5: 0x487, 0x20e6: 0x488, 0x20e7: 0x489, + 0x20e8: 0x48a, 0x20e9: 0x48b, 0x20ea: 0x48c, 0x20eb: 0x48d, 0x20ec: 0x48e, 0x20ed: 0x48f, 0x20ee: 0x490, 0x20ef: 0x491, + 0x20f0: 0x492, 0x20f1: 0x493, 0x20f2: 0x494, 0x20f3: 0x495, 0x20f4: 0x496, 0x20f5: 0x497, 0x20f6: 0x498, 0x20f7: 0x499, + 0x20f8: 0x49a, 0x20f9: 0x49b, 0x20fa: 0x49c, 0x20fb: 0x49d, 0x20fc: 0x49e, 0x20fd: 0x49f, 0x20fe: 0x4a0, 0x20ff: 0x4a1, + // Block 0x84, offset 0x2100 + 0x2100: 0x4a2, 0x2101: 0x4a3, 0x2102: 0x4a4, 0x2103: 0x4a5, 0x2104: 0x4a6, 0x2105: 0x4a7, 0x2106: 0x4a8, 0x2107: 0x4a9, + 0x2108: 0x4aa, 0x2109: 0x4ab, 0x210a: 0x4ac, 0x210b: 0x4ad, 0x210c: 0x4ae, 0x210d: 0x4af, 0x210e: 0x4b0, 0x210f: 0x4b1, + 0x2110: 0x4b2, 0x2111: 0x4b3, 0x2112: 0x4b4, 0x2113: 0x4b5, 0x2114: 0x4b6, 0x2115: 0x4b7, 0x2116: 0x4b8, 0x2117: 0x4b9, + 0x2118: 0x4ba, 0x2119: 0x4bb, 0x211a: 0x4bc, 0x211b: 0x4bd, 0x211c: 0x4be, 0x211d: 0x4bf, 0x211e: 0x4c0, 0x211f: 0x4c1, + 0x2120: 0x4c2, 0x2121: 0x4c3, 0x2122: 0x4c4, 0x2123: 0x4c5, 0x2124: 0x4c6, 0x2125: 0x4c7, 0x2126: 0x4c8, 0x2127: 0x4c9, + 0x2128: 0x4ca, 0x2129: 0x4cb, 0x212a: 0x4cc, 0x212b: 0x4cd, 0x212c: 0x4ce, 0x212d: 0x4cf, 0x212e: 0x4d0, 0x212f: 0x4d1, + 0x2130: 0x4d2, 0x2131: 0x4d3, 0x2132: 0x4d4, 0x2133: 0x4d5, 0x2134: 0x4d6, 0x2135: 0x4d7, 0x2136: 0x4d8, 0x2137: 0x4d9, + 0x2138: 0x4da, 0x2139: 0x4db, 0x213a: 0x4dc, 0x213c: 0x4dd, 0x213d: 0x4de, 0x213e: 0x4df, 0x213f: 0x4e0, + // Block 0x85, offset 0x2140 + 0x2140: 0x4e1, 0x2141: 0x4e2, 0x2142: 0x4e3, 0x2143: 0x4e4, 0x2144: 0x4e5, 0x2145: 0x4e6, 0x2146: 0x4e7, 0x2147: 0x4e8, + 0x2148: 0x4e9, 0x2149: 0x4ea, 0x214a: 0x4eb, 0x214b: 0x4ec, 0x214c: 0x4ed, 0x214d: 0x4ee, 0x214e: 0x4ef, 0x214f: 0x4f0, + 0x2150: 0x4f1, 0x2151: 0x4f2, 0x2152: 0x4f3, 0x2153: 0x4f4, 0x2154: 0x4f5, 0x2155: 0x4f6, 0x2156: 0x4f7, 0x2157: 0x4f8, + 0x2158: 0x4f9, 0x2159: 0x4fa, 0x215a: 0x4fb, 0x215b: 0x4fc, 0x215c: 0x4fd, 0x215d: 0x4fe, 0x215e: 0x4ff, 0x215f: 0x500, + 0x2160: 0x501, 0x2161: 0x502, 0x2162: 0x503, 0x2163: 0x504, 0x2164: 0x505, 0x2165: 0x506, 0x2166: 0x507, 0x2167: 0x508, + 0x2168: 0x509, 0x2169: 0x50a, 0x216a: 0x50b, 0x216b: 0x50c, 0x216c: 0x50d, 0x216d: 0x50e, 0x216e: 0x50f, + 0x2170: 0x510, 0x2171: 0x511, 0x2172: 0x512, 0x2173: 0x513, 0x2174: 0x514, 0x2175: 0x515, 0x2176: 0x516, 0x2177: 0x517, + 0x2178: 0x518, 0x2179: 0x519, 0x217a: 0x51a, 0x217b: 0x51b, 0x217c: 0x51c, 0x217d: 0x51d, 0x217e: 0x51e, 0x217f: 0x51f, + // Block 0x86, offset 0x2180 + 0x2180: 0x520, 0x2181: 0x521, 0x2182: 0x522, 0x2183: 0x523, 0x2184: 0x524, 0x2185: 0x525, 0x2186: 0x526, 0x2187: 0x527, + 0x2188: 0x528, 0x2189: 0x529, 0x218a: 0x52a, 0x218b: 0x52b, 0x218c: 0x52c, 0x218d: 0x52d, 0x218e: 0x52e, 0x218f: 0x52f, + 0x2190: 0x530, 0x2191: 0x531, 0x2195: 0x532, 0x2196: 0x533, 0x2197: 0x534, + 0x2198: 0x535, 0x2199: 0x536, 0x219a: 0x537, 0x219b: 0x538, 0x219c: 0x539, 0x219d: 0x53a, 0x219e: 0x53b, 0x219f: 0x53c, + 0x21a0: 0x53d, 0x21a1: 0x53e, 0x21a2: 0x53f, 0x21a3: 0x540, 0x21a4: 0x541, 0x21a5: 0x542, 0x21a6: 0x543, 0x21a7: 0x544, + 0x21a8: 0x545, 0x21a9: 0x546, 0x21aa: 0x547, 0x21ab: 0x548, 0x21ac: 0x549, 0x21ad: 0x54a, 0x21ae: 0x54b, 0x21af: 0x54c, + 0x21b0: 0x54d, 0x21b1: 0x54e, 0x21b3: 0x54f, 0x21b4: 0x550, 0x21b5: 0x551, 0x21b6: 0x552, 0x21b7: 0x553, + 0x21b8: 0x554, 0x21b9: 0x555, 0x21ba: 0x556, 0x21bb: 0x557, 0x21bc: 0x558, 0x21bd: 0x559, 0x21be: 0x55a, + // Block 0x87, offset 0x21c0 + 0x21e4: 0x55b, 0x21e5: 0x55c, 0x21e6: 0x55d, 0x21e7: 0x55e, + 0x21e8: 0x55f, 0x21e9: 0x560, 0x21ea: 0x561, 0x21eb: 0x562, 0x21ec: 0x103, 0x21ed: 0x104, 0x21ee: 0x105, 0x21ef: 0x106, + 0x21f0: 0x107, 0x21f1: 0x108, 0x21f2: 0x109, 0x21f3: 0x10a, 0x21f4: 0x10b, 0x21f5: 0x10c, 0x21f6: 0x10d, 0x21f7: 0x10e, + 0x21f8: 0x10f, 0x21f9: 0x110, 0x21fa: 0x111, 0x21fb: 0x112, 0x21fc: 0x113, 0x21fd: 0x114, 0x21fe: 0x115, 0x21ff: 0x116, + // Block 0x88, offset 0x2200 + 0x2200: 0x18b, 0x2201: 0x18c, 0x2202: 0x18d, 0x2203: 0x18e, 0x2204: 0x18f, 0x2205: 0x190, 0x2206: 0x191, 0x2207: 0x192, + 0x2208: 0x193, 0x2209: 0x563, 0x220c: 0x195, 0x220d: 0x196, 0x220e: 0x197, 0x220f: 0x198, + 0x2210: 0x199, 0x2211: 0x19a, 0x2212: 0x19b, 0x2213: 0x19c, 0x2214: 0x19d, 0x2215: 0x19e, 0x2217: 0x19f, + 0x2218: 0x1a0, 0x2219: 0x1a1, 0x221a: 0x1a2, 0x221b: 0x1a3, 0x221c: 0x1a4, 0x221d: 0x1a5, + // Block 0x89, offset 0x2240 + 0x2260: 0x564, 0x2261: 0x565, 0x2262: 0x566, 0x2263: 0x567, 0x2264: 0x568, 0x2265: 0x569, 0x2266: 0x56a, 0x2267: 0x56b, + 0x2268: 0x56c, + // Block 0x8a, offset 0x2280 + 0x2290: 0x09, 0x2291: 0x0a, 0x2292: 0x0b, 0x2293: 0x0c, 0x2296: 0x0d, + 0x229b: 0x0e, 0x229d: 0x0f, 0x229e: 0x10, 0x229f: 0x86, + 0x22af: 0x87, + // Block 0x8b, offset 0x22c0 + 0x22c2: 0x01, 0x22c3: 0x02, 0x22c4: 0x03, 0x22c5: 0x04, 0x22c6: 0x05, 0x22c7: 0x06, + 0x22c8: 0x07, 0x22c9: 0x08, 0x22ca: 0x09, 0x22cb: 0x0a, 0x22cc: 0x0b, 0x22cd: 0x0c, 0x22ce: 0x0d, 0x22cf: 0x0e, + 0x22d0: 0x0f, 0x22d1: 0x10, 0x22d2: 0x11, 0x22d3: 0x12, 0x22d4: 0x13, 0x22d5: 0x14, 0x22d6: 0x15, 0x22d7: 0x16, + 0x22d8: 0x17, 0x22d9: 0x18, 0x22da: 0x19, 0x22db: 0x1a, 0x22dc: 0x1b, 0x22dd: 0x1c, 0x22de: 0x1d, 0x22df: 0x1e, + 0x22e0: 0x01, 0x22e1: 0x02, 0x22e2: 0x03, 0x22e3: 0x7e, 0x22e4: 0x7f, 0x22e5: 0x80, 0x22e6: 0x81, 0x22e7: 0x82, + 0x22e8: 0x83, 0x22e9: 0x84, 0x22ea: 0x06, 0x22ed: 0x07, 0x22ef: 0x85, + 0x22f0: 0x88, 0x22f3: 0x15, + // Block 0x8c, offset 0x2300 + 0x2320: 0x1f, 0x2321: 0x20, 0x2322: 0x21, 0x2323: 0x22, 0x2324: 0x56d, 0x2325: 0x24, 0x2326: 0x25, 0x2327: 0x26, + 0x2328: 0x27, 0x2329: 0x28, 0x232a: 0x29, 0x232b: 0x2a, 0x232c: 0x2b, 0x232d: 0x2c, 0x232e: 0x2d, 0x232f: 0x2e, + 0x2330: 0x2f, 0x2331: 0x30, 0x2332: 0x31, 0x2333: 0x32, 0x2334: 0x33, 0x2335: 0x34, 0x2336: 0x35, 0x2337: 0x36, + 0x2338: 0x37, 0x2339: 0x38, 0x233a: 0x39, 0x233b: 0x3a, 0x233c: 0x3b, 0x233d: 0x3c, 0x233e: 0x3d, 0x233f: 0x3e, + // Block 0x8d, offset 0x2340 + 0x2342: 0x01, 0x2343: 0x02, 0x2344: 0x03, 0x2345: 0x04, 0x2346: 0x05, 0x2347: 0x06, + 0x2348: 0x07, 0x2349: 0x08, 0x234a: 0x09, 0x234b: 0x0a, 0x234c: 0x0b, 0x234d: 0x0c, 0x234e: 0x0d, 0x234f: 0x0e, + 0x2350: 0x0f, 0x2351: 0x10, 0x2352: 0x11, 0x2353: 0x12, 0x2354: 0x13, 0x2355: 0x14, 0x2356: 0x15, 0x2357: 0x16, + 0x2358: 0x17, 0x2359: 0x18, 0x235a: 0x19, 0x235b: 0x1a, 0x235c: 0x1b, 0x235d: 0x1c, 0x235e: 0x1d, 0x235f: 0x1e, + 0x2360: 0x8a, 0x2361: 0x02, 0x2362: 0x03, 0x2363: 0x04, 0x2364: 0x05, + 0x236a: 0x06, 0x236d: 0x07, 0x236f: 0x08, + 0x2370: 0x13, 0x2373: 0x15, + // Block 0x8e, offset 0x2380 + 0x2382: 0x01, 0x2383: 0x02, 0x2384: 0x03, 0x2385: 0x04, 0x2386: 0x570, 0x2387: 0x06, + 0x2388: 0x07, 0x2389: 0x571, 0x238a: 0x09, 0x238b: 0x0a, 0x238c: 0x0b, 0x238d: 0x0c, 0x238e: 0x0d, 0x238f: 0x0e, + 0x2390: 0x0f, 0x2391: 0x10, 0x2392: 0x11, 0x2393: 0x12, 0x2394: 0x13, 0x2395: 0x14, 0x2396: 0x15, 0x2397: 0x16, + 0x2398: 0x17, 0x2399: 0x18, 0x239a: 0x19, 0x239b: 0x1a, 0x239c: 0x1b, 0x239d: 0x1c, 0x239e: 0x1d, 0x239f: 0x1e, + 0x23a0: 0x01, 0x23a1: 0x02, 0x23a2: 0x03, 0x23a3: 0x04, 0x23a4: 0x05, + 0x23aa: 0x06, 0x23ad: 0x07, 0x23af: 0x08, + 0x23b0: 0x13, 0x23b3: 0x15, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x3f, 0x23c1: 0x40, 0x23c2: 0x41, 0x23c3: 0x42, 0x23c4: 0x43, 0x23c5: 0x44, 0x23c6: 0x45, 0x23c7: 0x46, + 0x23c8: 0x47, 0x23c9: 0x48, 0x23ca: 0x49, 0x23cb: 0x4a, 0x23cc: 0x4b, 0x23cd: 0x4c, 0x23ce: 0x4d, 0x23cf: 0x4e, + 0x23d0: 0x4f, 0x23d1: 0x50, 0x23d2: 0x51, 0x23d3: 0x52, 0x23d4: 0x53, 0x23d5: 0x54, 0x23d6: 0x55, 0x23d7: 0x56, + 0x23d8: 0x57, 0x23d9: 0x58, 0x23da: 0x59, 0x23db: 0x5a, 0x23dc: 0x5b, 0x23dd: 0x5c, 0x23de: 0x5d, 0x23df: 0x5e, + 0x23e0: 0x5f, 0x23e1: 0x60, 0x23e2: 0x61, 0x23e3: 0x62, 0x23e4: 0x63, 0x23e5: 0x64, 0x23e6: 0x65, 0x23e7: 0x66, + 0x23e8: 0x67, 0x23e9: 0x68, 0x23ea: 0x69, 0x23ec: 0x6a, 0x23ed: 0x6b, 0x23ee: 0x6c, 0x23ef: 0x6d, + 0x23f0: 0x6e, 0x23f1: 0x6f, 0x23f3: 0x70, 0x23f4: 0x71, 0x23f5: 0x72, 0x23f6: 0x73, 0x23f7: 0x74, + 0x23f8: 0x75, 0x23f9: 0x57a, 0x23fa: 0x57b, 0x23fb: 0x57c, 0x23fc: 0x79, 0x23fd: 0x7a, 0x23fe: 0x7b, 0x23ff: 0x7c, + // Block 0x90, offset 0x2400 + 0x2400: 0x7d, 0x2401: 0x7e, 0x2402: 0x7f, 0x2403: 0x80, 0x2404: 0x81, 0x2405: 0x82, 0x2406: 0x83, 0x2407: 0x84, + 0x2408: 0x85, 0x2409: 0x86, 0x240a: 0x87, 0x240b: 0x88, 0x240c: 0x89, 0x240d: 0x8a, 0x240e: 0x8b, 0x240f: 0x8c, + 0x2410: 0x8d, 0x2411: 0x8e, 0x2412: 0x57d, 0x2413: 0x90, 0x2414: 0x91, 0x2415: 0x92, 0x2416: 0x93, 0x2417: 0x94, + 0x2418: 0x95, 0x2419: 0x96, 0x241a: 0x97, 0x241b: 0x98, 0x241c: 0x99, 0x241d: 0x9a, 0x241e: 0x9b, 0x241f: 0x9c, + 0x2420: 0x9d, 0x2421: 0x9e, 0x2422: 0x9f, 0x2423: 0xa0, 0x2424: 0xa1, 0x2425: 0xa2, 0x2426: 0xa3, 0x2427: 0xa4, + 0x2428: 0xa5, 0x2429: 0xa6, 0x242a: 0xa7, 0x242b: 0xa8, 0x242c: 0xa9, 0x242d: 0xaa, + 0x2430: 0xab, 0x2431: 0xac, 0x2432: 0xad, 0x2433: 0xae, 0x2434: 0xaf, 0x2435: 0xb0, 0x2436: 0xb1, 0x2437: 0xb2, + 0x2438: 0xb3, 0x243a: 0xb4, 0x243b: 0xb5, 0x243c: 0xb6, 0x243d: 0xb7, 0x243e: 0xb8, 0x243f: 0xb9, + // Block 0x91, offset 0x2440 + 0x2440: 0xba, 0x2441: 0xbb, 0x2442: 0xbc, 0x2443: 0xbd, 0x2444: 0xbe, 0x2445: 0xbf, 0x2446: 0xc0, 0x2447: 0xc1, + 0x2448: 0xc2, 0x2449: 0xc3, 0x244a: 0xc4, 0x244b: 0xc5, 0x244c: 0xc6, 0x244d: 0xc7, 0x244e: 0xc8, 0x244f: 0x57e, + // Block 0x92, offset 0x2480 + 0x2480: 0x18b, 0x2481: 0x18c, 0x2482: 0x18d, 0x2483: 0x18e, 0x2484: 0x57f, 0x2485: 0x190, 0x2486: 0x191, 0x2487: 0x192, + 0x2488: 0x193, 0x2489: 0x194, 0x248c: 0x195, 0x248d: 0x196, 0x248e: 0x197, 0x248f: 0x198, + 0x2490: 0x199, 0x2491: 0x19a, 0x2492: 0x19b, 0x2493: 0x19c, 0x2494: 0x19d, 0x2495: 0x19e, 0x2497: 0x19f, + 0x2498: 0x1a0, 0x2499: 0x1a1, 0x249a: 0x1a2, 0x249b: 0x1a3, 0x249c: 0x1a4, 0x249d: 0x1a5, + // Block 0x93, offset 0x24c0 + 0x24d0: 0x09, 0x24d1: 0x0a, 0x24d2: 0x0b, 0x24d3: 0x0c, 0x24d6: 0x0d, + 0x24db: 0x0e, 0x24dd: 0x0f, 0x24de: 0x10, 0x24df: 0x90, + 0x24ef: 0x12, + // Block 0x94, offset 0x2500 + 0x2502: 0x01, 0x2503: 0x574, 0x2504: 0x575, 0x2505: 0x576, 0x2506: 0x05, 0x2507: 0x577, + 0x2508: 0x578, 0x2509: 0x08, 0x250a: 0x09, 0x250b: 0x0a, 0x250c: 0x579, 0x250d: 0x0c, 0x250e: 0x0d, 0x250f: 0x0e, + 0x2510: 0x0f, 0x2511: 0x10, 0x2512: 0x11, 0x2513: 0x12, 0x2514: 0x13, 0x2515: 0x14, 0x2516: 0x15, 0x2517: 0x16, + 0x2518: 0x17, 0x2519: 0x18, 0x251a: 0x19, 0x251b: 0x1a, 0x251c: 0x1b, 0x251d: 0x1c, 0x251e: 0x1d, 0x251f: 0x1e, + 0x2520: 0x01, 0x2521: 0x8d, 0x2522: 0x8e, 0x2523: 0x8f, 0x2524: 0x05, + 0x252a: 0x06, 0x252d: 0x07, 0x252f: 0x08, + 0x2530: 0x91, 0x2533: 0x15, + // Block 0x95, offset 0x2540 + 0x2540: 0x3f, 0x2541: 0x40, 0x2542: 0x41, 0x2543: 0x42, 0x2544: 0x43, 0x2545: 0x44, 0x2546: 0x45, 0x2547: 0x46, + 0x2548: 0x47, 0x2549: 0x48, 0x254a: 0x49, 0x254b: 0x4a, 0x254c: 0x4b, 0x254d: 0x4c, 0x254e: 0x4d, 0x254f: 0x4e, + 0x2550: 0x4f, 0x2551: 0x50, 0x2552: 0x51, 0x2553: 0x52, 0x2554: 0x53, 0x2555: 0x54, 0x2556: 0x55, 0x2557: 0x56, + 0x2558: 0x57, 0x2559: 0x58, 0x255a: 0x59, 0x255b: 0x5a, 0x255c: 0x5b, 0x255d: 0x5c, 0x255e: 0x5d, 0x255f: 0x5e, + 0x2560: 0x5f, 0x2561: 0x60, 0x2562: 0x61, 0x2563: 0x62, 0x2564: 0x63, 0x2565: 0x64, 0x2566: 0x65, 0x2567: 0x66, + 0x2568: 0x67, 0x2569: 0x68, 0x256a: 0x69, 0x256c: 0x6a, 0x256d: 0x6b, 0x256e: 0x6c, 0x256f: 0x6d, + 0x2570: 0x6e, 0x2571: 0x6f, 0x2573: 0x70, 0x2574: 0x71, 0x2575: 0x72, 0x2576: 0x73, 0x2577: 0x74, + 0x2578: 0x75, 0x2579: 0x584, 0x257a: 0x77, 0x257b: 0x78, 0x257c: 0x79, 0x257d: 0x7a, 0x257e: 0x7b, 0x257f: 0x7c, + // Block 0x96, offset 0x2580 + 0x2582: 0x01, 0x2583: 0x02, 0x2584: 0x582, 0x2585: 0x583, 0x2586: 0x05, 0x2587: 0x06, + 0x2588: 0x07, 0x2589: 0x08, 0x258a: 0x09, 0x258b: 0x0a, 0x258c: 0x0b, 0x258d: 0x0c, 0x258e: 0x0d, 0x258f: 0x0e, + 0x2590: 0x0f, 0x2591: 0x10, 0x2592: 0x11, 0x2593: 0x12, 0x2594: 0x13, 0x2595: 0x14, 0x2596: 0x15, 0x2597: 0x16, + 0x2598: 0x17, 0x2599: 0x18, 0x259a: 0x19, 0x259b: 0x1a, 0x259c: 0x1b, 0x259d: 0x1c, 0x259e: 0x1d, 0x259f: 0x1e, + 0x25a0: 0x01, 0x25a1: 0x93, 0x25a2: 0x03, 0x25a3: 0x04, 0x25a4: 0x05, + 0x25aa: 0x06, 0x25ad: 0x07, 0x25af: 0x08, + 0x25b0: 0x13, 0x25b3: 0x15, + // Block 0x97, offset 0x25c0 + 0x25e0: 0x1f, 0x25e1: 0x20, 0x25e2: 0x21, 0x25e3: 0x22, 0x25e4: 0x23, 0x25e5: 0x24, 0x25e6: 0x25, 0x25e7: 0x26, + 0x25e8: 0x27, 0x25e9: 0x28, 0x25ea: 0x29, 0x25eb: 0x2a, 0x25ec: 0x2b, 0x25ed: 0x2c, 0x25ee: 0x2d, 0x25ef: 0x2e, + 0x25f0: 0x2f, 0x25f1: 0x30, 0x25f2: 0x31, 0x25f3: 0x32, 0x25f4: 0x585, 0x25f5: 0x586, 0x25f6: 0x35, 0x25f7: 0x36, + 0x25f8: 0x37, 0x25f9: 0x38, 0x25fa: 0x39, 0x25fb: 0x3a, 0x25fc: 0x3b, 0x25fd: 0x3c, 0x25fe: 0x3d, 0x25ff: 0x3e, + // Block 0x98, offset 0x2600 + 0x2602: 0x01, 0x2603: 0x02, 0x2604: 0x03, 0x2605: 0x04, 0x2606: 0x05, 0x2607: 0x06, + 0x2608: 0x07, 0x2609: 0x08, 0x260a: 0x09, 0x260b: 0x0a, 0x260c: 0x0b, 0x260d: 0x0c, 0x260e: 0x0d, 0x260f: 0x0e, + 0x2610: 0x0f, 0x2611: 0x10, 0x2612: 0x11, 0x2613: 0x12, 0x2614: 0x13, 0x2615: 0x14, 0x2616: 0x15, 0x2617: 0x16, + 0x2618: 0x17, 0x2619: 0x18, 0x261a: 0x19, 0x261b: 0x1a, 0x261c: 0x1b, 0x261d: 0x1c, 0x261e: 0x1d, 0x261f: 0x1e, + 0x2620: 0x95, 0x2621: 0x02, 0x2622: 0x03, 0x2623: 0x04, 0x2624: 0x05, + 0x262a: 0x06, 0x262d: 0x07, 0x262f: 0x08, + 0x2630: 0x13, 0x2633: 0x15, + // Block 0x99, offset 0x2640 + 0x2660: 0x1f, 0x2661: 0x20, 0x2662: 0x21, 0x2663: 0x22, 0x2664: 0x587, 0x2665: 0x24, 0x2666: 0x25, 0x2667: 0x26, + 0x2668: 0x27, 0x2669: 0x28, 0x266a: 0x29, 0x266b: 0x2a, 0x266c: 0x2b, 0x266d: 0x2c, 0x266e: 0x2d, 0x266f: 0x2e, + 0x2670: 0x2f, 0x2671: 0x30, 0x2672: 0x31, 0x2673: 0x32, 0x2674: 0x33, 0x2675: 0x34, 0x2676: 0x35, 0x2677: 0x36, + 0x2678: 0x37, 0x2679: 0x38, 0x267a: 0x39, 0x267b: 0x3a, 0x267c: 0x3b, 0x267d: 0x3c, 0x267e: 0x3d, 0x267f: 0x3e, + // Block 0x9a, offset 0x2680 + 0x2682: 0x01, 0x2683: 0x02, 0x2684: 0x03, 0x2685: 0x04, 0x2686: 0x05, 0x2687: 0x06, + 0x2688: 0x07, 0x2689: 0x08, 0x268a: 0x09, 0x268b: 0x0a, 0x268c: 0x0b, 0x268d: 0x0c, 0x268e: 0x0d, 0x268f: 0x0e, + 0x2690: 0x0f, 0x2691: 0x10, 0x2692: 0x11, 0x2693: 0x12, 0x2694: 0x13, 0x2695: 0x14, 0x2696: 0x15, 0x2697: 0x16, + 0x2698: 0x17, 0x2699: 0x18, 0x269a: 0x19, 0x269b: 0x1a, 0x269c: 0x1b, 0x269d: 0x1c, 0x269e: 0x1d, 0x269f: 0x1e, + 0x26a0: 0x97, 0x26a1: 0x02, 0x26a2: 0x03, 0x26a3: 0x04, 0x26a4: 0x05, + 0x26aa: 0x06, 0x26ad: 0x07, 0x26af: 0x08, + 0x26b0: 0x13, 0x26b3: 0x15, + // Block 0x9b, offset 0x26c0 + 0x26c0: 0x7d, 0x26c1: 0x7e, 0x26c2: 0x7f, 0x26c3: 0x80, 0x26c4: 0x58c, 0x26c5: 0x82, 0x26c6: 0x83, 0x26c7: 0x84, + 0x26c8: 0x85, 0x26c9: 0x86, 0x26ca: 0x87, 0x26cb: 0x88, 0x26cc: 0x89, 0x26cd: 0x8a, 0x26ce: 0x8b, 0x26cf: 0x8c, + 0x26d0: 0x8d, 0x26d1: 0x8e, 0x26d2: 0x8f, 0x26d3: 0x90, 0x26d4: 0x91, 0x26d5: 0x92, 0x26d6: 0x93, 0x26d7: 0x94, + 0x26d8: 0x95, 0x26d9: 0x96, 0x26da: 0x97, 0x26db: 0x98, 0x26dc: 0x99, 0x26dd: 0x9a, 0x26de: 0x9b, 0x26df: 0x9c, + 0x26e0: 0x9d, 0x26e1: 0x9e, 0x26e2: 0x9f, 0x26e3: 0xa0, 0x26e4: 0xa1, 0x26e5: 0xa2, 0x26e6: 0xa3, 0x26e7: 0xa4, + 0x26e8: 0xa5, 0x26e9: 0xa6, 0x26ea: 0xa7, 0x26eb: 0xa8, 0x26ec: 0xa9, 0x26ed: 0xaa, + 0x26f0: 0xab, 0x26f1: 0xac, 0x26f2: 0xad, 0x26f3: 0xae, 0x26f4: 0xaf, 0x26f5: 0xb0, 0x26f6: 0xb1, 0x26f7: 0xb2, + 0x26f8: 0xb3, 0x26fa: 0xb4, 0x26fb: 0xb5, 0x26fc: 0xb6, 0x26fd: 0xb7, 0x26fe: 0xb8, 0x26ff: 0xb9, + // Block 0x9c, offset 0x2700 + 0x2700: 0xcb, 0x2701: 0xcc, 0x2702: 0xcd, 0x2703: 0xce, 0x2704: 0xcf, 0x2705: 0xd0, 0x2706: 0xd1, 0x2707: 0xd2, + 0x2708: 0xd3, 0x2709: 0xd4, 0x270a: 0xd5, 0x270b: 0xd6, 0x270c: 0xd7, 0x270d: 0xd8, 0x270e: 0xd9, 0x270f: 0xda, + 0x2710: 0xdb, 0x2711: 0xdc, 0x2712: 0xdd, 0x2713: 0xde, 0x2714: 0xdf, 0x2715: 0xe0, 0x2716: 0xe1, 0x2717: 0xe2, + 0x2718: 0xe3, 0x2719: 0xe4, 0x271a: 0xe5, 0x271b: 0xe6, 0x271c: 0xe7, 0x271d: 0xe8, 0x271e: 0xe9, 0x271f: 0x58d, + 0x2720: 0xeb, 0x2721: 0xec, 0x2722: 0xed, 0x2723: 0xee, 0x2724: 0xef, 0x2725: 0xf0, 0x2726: 0xf1, 0x2727: 0xf2, + 0x2728: 0xf3, 0x2729: 0xf4, 0x272a: 0xf5, 0x272b: 0xf6, 0x272c: 0xf7, 0x272f: 0xf8, + // Block 0x9d, offset 0x2740 + 0x2742: 0x01, 0x2743: 0x02, 0x2744: 0x58a, 0x2745: 0x58b, 0x2746: 0x05, 0x2747: 0x06, + 0x2748: 0x07, 0x2749: 0x08, 0x274a: 0x09, 0x274b: 0x0a, 0x274c: 0x0b, 0x274d: 0x0c, 0x274e: 0x0d, 0x274f: 0x0e, + 0x2750: 0x0f, 0x2751: 0x10, 0x2752: 0x11, 0x2753: 0x12, 0x2754: 0x13, 0x2755: 0x14, 0x2756: 0x15, 0x2757: 0x16, + 0x2758: 0x17, 0x2759: 0x18, 0x275a: 0x19, 0x275b: 0x1a, 0x275c: 0x1b, 0x275d: 0x1c, 0x275e: 0x1d, 0x275f: 0x1e, + 0x2760: 0x01, 0x2761: 0x02, 0x2762: 0x99, 0x2763: 0x04, 0x2764: 0x05, + 0x276a: 0x9a, 0x276d: 0x07, 0x276f: 0x08, + 0x2770: 0x13, 0x2773: 0x15, + // Block 0x9e, offset 0x2780 + 0x2780: 0x58e, 0x2781: 0x58f, 0x2782: 0x590, 0x2783: 0x42, 0x2784: 0x43, 0x2785: 0x44, 0x2786: 0x45, 0x2787: 0x46, + 0x2788: 0x47, 0x2789: 0x48, 0x278a: 0x49, 0x278b: 0x4a, 0x278c: 0x4b, 0x278d: 0x4c, 0x278e: 0x4d, 0x278f: 0x4e, + 0x2790: 0x4f, 0x2791: 0x50, 0x2792: 0x51, 0x2793: 0x52, 0x2794: 0x53, 0x2795: 0x54, 0x2796: 0x55, 0x2797: 0x56, + 0x2798: 0x57, 0x2799: 0x58, 0x279a: 0x59, 0x279b: 0x5a, 0x279c: 0x5b, 0x279d: 0x5c, 0x279e: 0x5d, 0x279f: 0x5e, + 0x27a0: 0x5f, 0x27a1: 0x60, 0x27a2: 0x61, 0x27a3: 0x62, 0x27a4: 0x63, 0x27a5: 0x64, 0x27a6: 0x65, 0x27a7: 0x66, + 0x27a8: 0x67, 0x27a9: 0x68, 0x27aa: 0x69, 0x27ac: 0x6a, 0x27ad: 0x6b, 0x27ae: 0x6c, 0x27af: 0x6d, + 0x27b0: 0x6e, 0x27b1: 0x6f, 0x27b3: 0x70, 0x27b4: 0x71, 0x27b5: 0x72, 0x27b6: 0x73, 0x27b7: 0x74, + 0x27b8: 0x75, 0x27b9: 0x76, 0x27ba: 0x77, 0x27bb: 0x78, 0x27bc: 0x79, 0x27bd: 0x7a, 0x27be: 0x7b, 0x27bf: 0x7c, + // Block 0x9f, offset 0x27c0 + 0x27c2: 0x01, 0x27c3: 0x02, 0x27c4: 0x03, 0x27c5: 0x04, 0x27c6: 0x05, 0x27c7: 0x06, + 0x27c8: 0x07, 0x27c9: 0x08, 0x27ca: 0x09, 0x27cb: 0x0a, 0x27cc: 0x0b, 0x27cd: 0x0c, 0x27ce: 0x0d, 0x27cf: 0x0e, + 0x27d0: 0x0f, 0x27d1: 0x10, 0x27d2: 0x11, 0x27d3: 0x12, 0x27d4: 0x13, 0x27d5: 0x14, 0x27d6: 0x15, 0x27d7: 0x16, + 0x27d8: 0x17, 0x27d9: 0x18, 0x27da: 0x19, 0x27db: 0x1a, 0x27dc: 0x1b, 0x27dd: 0x1c, 0x27de: 0x1d, 0x27df: 0x1e, + 0x27e0: 0x01, 0x27e1: 0x9c, 0x27e2: 0x03, 0x27e3: 0x04, 0x27e4: 0x05, + 0x27ea: 0x06, 0x27ed: 0x07, 0x27ef: 0x08, + 0x27f0: 0x13, 0x27f3: 0x15, + // Block 0xa0, offset 0x2800 + 0x2800: 0x3f, 0x2801: 0x40, 0x2802: 0x41, 0x2803: 0x42, 0x2804: 0x43, 0x2805: 0x44, 0x2806: 0x45, 0x2807: 0x46, + 0x2808: 0x47, 0x2809: 0x48, 0x280a: 0x49, 0x280b: 0x4a, 0x280c: 0x4b, 0x280d: 0x4c, 0x280e: 0x4d, 0x280f: 0x4e, + 0x2810: 0x4f, 0x2811: 0x50, 0x2812: 0x51, 0x2813: 0x52, 0x2814: 0x53, 0x2815: 0x54, 0x2816: 0x55, 0x2817: 0x56, + 0x2818: 0x57, 0x2819: 0x58, 0x281a: 0x59, 0x281b: 0x5a, 0x281c: 0x5b, 0x281d: 0x5c, 0x281e: 0x5d, 0x281f: 0x5e, + 0x2820: 0x5f, 0x2821: 0x60, 0x2822: 0x61, 0x2823: 0x62, 0x2824: 0x63, 0x2825: 0x64, 0x2826: 0x65, 0x2827: 0x66, + 0x2828: 0x67, 0x2829: 0x68, 0x282a: 0x69, 0x282c: 0x6a, 0x282d: 0x6b, 0x282e: 0x6c, 0x282f: 0x6d, + 0x2830: 0x6e, 0x2831: 0x6f, 0x2833: 0x70, 0x2834: 0x71, 0x2835: 0x72, 0x2836: 0x73, 0x2837: 0x74, + 0x2838: 0x75, 0x2839: 0x1f2, 0x283a: 0x597, 0x283b: 0x598, 0x283c: 0x79, 0x283d: 0x7a, 0x283e: 0x7b, 0x283f: 0x7c, + // Block 0xa1, offset 0x2840 + 0x2842: 0x01, 0x2843: 0x595, 0x2844: 0x03, 0x2845: 0x596, 0x2846: 0x05, 0x2847: 0x06, + 0x2848: 0x07, 0x2849: 0x08, 0x284a: 0x09, 0x284b: 0x0a, 0x284c: 0x0b, 0x284d: 0x0c, 0x284e: 0x0d, 0x284f: 0x0e, + 0x2850: 0x0f, 0x2851: 0x10, 0x2852: 0x11, 0x2853: 0x12, 0x2854: 0x13, 0x2855: 0x14, 0x2856: 0x15, 0x2857: 0x16, + 0x2858: 0x17, 0x2859: 0x18, 0x285a: 0x19, 0x285b: 0x1a, 0x285c: 0x1b, 0x285d: 0x1c, 0x285e: 0x1d, 0x285f: 0x1e, + 0x2860: 0x01, 0x2861: 0x9e, 0x2862: 0x03, 0x2863: 0x04, 0x2864: 0x05, + 0x286a: 0x06, 0x286d: 0x07, 0x286f: 0x08, + 0x2870: 0x13, 0x2873: 0x15, + // Block 0xa2, offset 0x2880 + 0x28a0: 0x1f, 0x28a1: 0x20, 0x28a2: 0x21, 0x28a3: 0x22, 0x28a4: 0x23, 0x28a5: 0x24, 0x28a6: 0x25, 0x28a7: 0x26, + 0x28a8: 0x27, 0x28a9: 0x28, 0x28aa: 0x29, 0x28ab: 0x2a, 0x28ac: 0x59b, 0x28ad: 0x59c, 0x28ae: 0x2d, 0x28af: 0x2e, + 0x28b0: 0x2f, 0x28b1: 0x30, 0x28b2: 0x31, 0x28b3: 0x32, 0x28b4: 0x33, 0x28b5: 0x34, 0x28b6: 0x35, 0x28b7: 0x36, + 0x28b8: 0x37, 0x28b9: 0x38, 0x28ba: 0x39, 0x28bb: 0x3a, 0x28bc: 0x3b, 0x28bd: 0x3c, 0x28be: 0x3d, 0x28bf: 0x3e, + // Block 0xa3, offset 0x28c0 + 0x28c2: 0x01, 0x28c3: 0x02, 0x28c4: 0x03, 0x28c5: 0x04, 0x28c6: 0x05, 0x28c7: 0x06, + 0x28c8: 0x07, 0x28c9: 0x08, 0x28ca: 0x09, 0x28cb: 0x0a, 0x28cc: 0x0b, 0x28cd: 0x0c, 0x28ce: 0x0d, 0x28cf: 0x0e, + 0x28d0: 0x0f, 0x28d1: 0x10, 0x28d2: 0x11, 0x28d3: 0x12, 0x28d4: 0x13, 0x28d5: 0x14, 0x28d6: 0x15, 0x28d7: 0x16, + 0x28d8: 0x17, 0x28d9: 0x18, 0x28da: 0x19, 0x28db: 0x1a, 0x28dc: 0x1b, 0x28dd: 0x1c, 0x28de: 0x1d, 0x28df: 0x1e, + 0x28e0: 0xa0, 0x28e1: 0x02, 0x28e2: 0x03, 0x28e3: 0x04, 0x28e4: 0x05, + 0x28ea: 0x06, 0x28ed: 0x07, 0x28ef: 0x08, + 0x28f0: 0x13, 0x28f3: 0x15, + // Block 0xa4, offset 0x2900 + 0x2920: 0x1f, 0x2921: 0x20, 0x2922: 0x21, 0x2923: 0x22, 0x2924: 0x23, 0x2925: 0x24, 0x2926: 0x25, 0x2927: 0x26, + 0x2928: 0x59d, 0x2929: 0x59e, 0x292a: 0x29, 0x292b: 0x2a, 0x292c: 0x2b, 0x292d: 0x2c, 0x292e: 0x2d, 0x292f: 0x2e, + 0x2930: 0x2f, 0x2931: 0x30, 0x2932: 0x31, 0x2933: 0x32, 0x2934: 0x33, 0x2935: 0x34, 0x2936: 0x35, 0x2937: 0x36, + 0x2938: 0x37, 0x2939: 0x38, 0x293a: 0x39, 0x293b: 0x3a, 0x293c: 0x3b, 0x293d: 0x3c, 0x293e: 0x3d, 0x293f: 0x3e, + // Block 0xa5, offset 0x2940 + 0x2942: 0x01, 0x2943: 0x02, 0x2944: 0x03, 0x2945: 0x04, 0x2946: 0x05, 0x2947: 0x06, + 0x2948: 0x07, 0x2949: 0x08, 0x294a: 0x09, 0x294b: 0x0a, 0x294c: 0x0b, 0x294d: 0x0c, 0x294e: 0x0d, 0x294f: 0x0e, + 0x2950: 0x0f, 0x2951: 0x10, 0x2952: 0x11, 0x2953: 0x12, 0x2954: 0x13, 0x2955: 0x14, 0x2956: 0x15, 0x2957: 0x16, + 0x2958: 0x17, 0x2959: 0x18, 0x295a: 0x19, 0x295b: 0x1a, 0x295c: 0x1b, 0x295d: 0x1c, 0x295e: 0x1d, 0x295f: 0x1e, + 0x2960: 0xa2, 0x2961: 0x02, 0x2962: 0x03, 0x2963: 0x04, 0x2964: 0x05, + 0x296a: 0x06, 0x296d: 0x07, 0x296f: 0x08, + 0x2970: 0x13, 0x2973: 0x15, + // Block 0xa6, offset 0x2980 + 0x2980: 0x3f, 0x2981: 0x40, 0x2982: 0x41, 0x2983: 0x42, 0x2984: 0x43, 0x2985: 0x44, 0x2986: 0x45, 0x2987: 0x46, + 0x2988: 0x47, 0x2989: 0x48, 0x298a: 0x49, 0x298b: 0x4a, 0x298c: 0x4b, 0x298d: 0x4c, 0x298e: 0x4d, 0x298f: 0x4e, + 0x2990: 0x4f, 0x2991: 0x50, 0x2992: 0x51, 0x2993: 0x52, 0x2994: 0x53, 0x2995: 0x54, 0x2996: 0x55, 0x2997: 0x56, + 0x2998: 0x57, 0x2999: 0x58, 0x299a: 0x59, 0x299b: 0x5a, 0x299c: 0x5b, 0x299d: 0x5c, 0x299e: 0x5d, 0x299f: 0x5e, + 0x29a0: 0x5f, 0x29a1: 0x60, 0x29a2: 0x61, 0x29a3: 0x62, 0x29a4: 0x63, 0x29a5: 0x64, 0x29a6: 0x65, 0x29a7: 0x66, + 0x29a8: 0x67, 0x29a9: 0x68, 0x29aa: 0x69, 0x29ac: 0x6a, 0x29ad: 0x6b, 0x29ae: 0x6c, 0x29af: 0x6d, + 0x29b0: 0x6e, 0x29b1: 0x6f, 0x29b3: 0x70, 0x29b4: 0x71, 0x29b5: 0x72, 0x29b6: 0x73, 0x29b7: 0x74, + 0x29b8: 0x5a4, 0x29b9: 0x5a5, 0x29ba: 0x77, 0x29bb: 0x5a6, 0x29bc: 0x79, 0x29bd: 0x7a, 0x29be: 0x7b, 0x29bf: 0x7c, + // Block 0xa7, offset 0x29c0 + 0x29c2: 0x01, 0x29c3: 0x5a1, 0x29c4: 0x5a2, 0x29c5: 0x5a3, 0x29c6: 0x05, 0x29c7: 0x06, + 0x29c8: 0x07, 0x29c9: 0x08, 0x29ca: 0x09, 0x29cb: 0x0a, 0x29cc: 0x0b, 0x29cd: 0x0c, 0x29ce: 0x0d, 0x29cf: 0x0e, + 0x29d0: 0x0f, 0x29d1: 0x10, 0x29d2: 0x11, 0x29d3: 0x12, 0x29d4: 0x13, 0x29d5: 0x14, 0x29d6: 0x15, 0x29d7: 0x16, + 0x29d8: 0x17, 0x29d9: 0x18, 0x29da: 0x19, 0x29db: 0x1a, 0x29dc: 0x1b, 0x29dd: 0x1c, 0x29de: 0x1d, 0x29df: 0x1e, + 0x29e0: 0x01, 0x29e1: 0xa4, 0x29e2: 0x03, 0x29e3: 0x04, 0x29e4: 0x05, + 0x29ea: 0x06, 0x29ed: 0x07, 0x29ef: 0x08, + 0x29f0: 0x13, 0x29f3: 0x15, + // Block 0xa8, offset 0x2a00 + 0x2a00: 0x5ab, 0x2a01: 0x7e, 0x2a02: 0x7f, 0x2a03: 0x80, 0x2a04: 0x81, 0x2a05: 0x82, 0x2a06: 0x83, 0x2a07: 0x84, + 0x2a08: 0x85, 0x2a09: 0x86, 0x2a0a: 0x87, 0x2a0b: 0x88, 0x2a0c: 0x89, 0x2a0d: 0x8a, 0x2a0e: 0x8b, 0x2a0f: 0x8c, + 0x2a10: 0x8d, 0x2a11: 0x8e, 0x2a12: 0x8f, 0x2a13: 0x90, 0x2a14: 0x91, 0x2a15: 0x92, 0x2a16: 0x93, 0x2a17: 0x94, + 0x2a18: 0x95, 0x2a19: 0x96, 0x2a1a: 0x97, 0x2a1b: 0x98, 0x2a1c: 0x99, 0x2a1d: 0x9a, 0x2a1e: 0x9b, 0x2a1f: 0x9c, + 0x2a20: 0x9d, 0x2a21: 0x9e, 0x2a22: 0x9f, 0x2a23: 0xa0, 0x2a24: 0xa1, 0x2a25: 0xa2, 0x2a26: 0xa3, 0x2a27: 0xa4, + 0x2a28: 0xa5, 0x2a29: 0xa6, 0x2a2a: 0xa7, 0x2a2b: 0xa8, 0x2a2c: 0xa9, 0x2a2d: 0xaa, + 0x2a30: 0xab, 0x2a31: 0xac, 0x2a32: 0xad, 0x2a33: 0xae, 0x2a34: 0xaf, 0x2a35: 0xb0, 0x2a36: 0xb1, 0x2a37: 0xb2, + 0x2a38: 0xb3, 0x2a3a: 0xb4, 0x2a3b: 0xb5, 0x2a3c: 0xb6, 0x2a3d: 0xb7, 0x2a3e: 0xb8, 0x2a3f: 0xb9, + // Block 0xa9, offset 0x2a40 + 0x2a64: 0xfb, 0x2a65: 0xfc, 0x2a66: 0xfd, 0x2a67: 0xfe, + 0x2a68: 0xff, 0x2a69: 0x100, 0x2a6a: 0x101, 0x2a6b: 0x102, 0x2a6c: 0x103, 0x2a6d: 0x104, 0x2a6e: 0x252, 0x2a6f: 0x5ac, + 0x2a70: 0x253, 0x2a71: 0x5ad, 0x2a72: 0x5ae, 0x2a73: 0x5af, 0x2a74: 0x5b0, 0x2a75: 0x10c, 0x2a76: 0x10d, 0x2a77: 0x10e, + 0x2a78: 0x10f, 0x2a79: 0x110, 0x2a7a: 0x111, 0x2a7b: 0x112, 0x2a7c: 0x113, 0x2a7d: 0x114, 0x2a7e: 0x115, 0x2a7f: 0x116, + // Block 0xaa, offset 0x2a80 + 0x2a82: 0x01, 0x2a83: 0x02, 0x2a84: 0x03, 0x2a85: 0x04, 0x2a86: 0x05, 0x2a87: 0x06, + 0x2a88: 0x07, 0x2a89: 0x08, 0x2a8a: 0x09, 0x2a8b: 0x0a, 0x2a8c: 0x0b, 0x2a8d: 0x0c, 0x2a8e: 0x0d, 0x2a8f: 0x0e, + 0x2a90: 0x0f, 0x2a91: 0x10, 0x2a92: 0x11, 0x2a93: 0x12, 0x2a94: 0x13, 0x2a95: 0x14, 0x2a96: 0x15, 0x2a97: 0x16, + 0x2a98: 0x5a7, 0x2a99: 0x5a8, 0x2a9a: 0x5a9, 0x2a9b: 0x5aa, 0x2a9c: 0x1b, 0x2a9d: 0x1c, 0x2a9e: 0x1d, 0x2a9f: 0x1e, + 0x2aa0: 0x01, 0x2aa1: 0x02, 0x2aa2: 0xa6, 0x2aa3: 0x04, 0x2aa4: 0x05, + 0x2aaa: 0x06, 0x2aad: 0x07, 0x2aaf: 0xa7, + 0x2ab0: 0x13, 0x2ab3: 0x15, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x3f, 0x2ac1: 0x40, 0x2ac2: 0x41, 0x2ac3: 0x42, 0x2ac4: 0x43, 0x2ac5: 0x44, 0x2ac6: 0x45, 0x2ac7: 0x46, + 0x2ac8: 0x47, 0x2ac9: 0x48, 0x2aca: 0x49, 0x2acb: 0x4a, 0x2acc: 0x4b, 0x2acd: 0x4c, 0x2ace: 0x4d, 0x2acf: 0x4e, + 0x2ad0: 0x4f, 0x2ad1: 0x50, 0x2ad2: 0x51, 0x2ad3: 0x52, 0x2ad4: 0x53, 0x2ad5: 0x54, 0x2ad6: 0x55, 0x2ad7: 0x56, + 0x2ad8: 0x57, 0x2ad9: 0x58, 0x2ada: 0x59, 0x2adb: 0x5a, 0x2adc: 0x5b, 0x2add: 0x5c, 0x2ade: 0x5d, 0x2adf: 0x5e, + 0x2ae0: 0x5f, 0x2ae1: 0x60, 0x2ae2: 0x61, 0x2ae3: 0x62, 0x2ae4: 0x63, 0x2ae5: 0x64, 0x2ae6: 0x65, 0x2ae7: 0x66, + 0x2ae8: 0x67, 0x2ae9: 0x68, 0x2aea: 0x69, 0x2aec: 0x6a, 0x2aed: 0x6b, 0x2aee: 0x6c, 0x2aef: 0x6d, + 0x2af0: 0x6e, 0x2af1: 0x6f, 0x2af3: 0x70, 0x2af4: 0x71, 0x2af5: 0x72, 0x2af6: 0x73, 0x2af7: 0x74, + 0x2af8: 0x75, 0x2af9: 0x76, 0x2afa: 0x5b7, 0x2afb: 0x78, 0x2afc: 0x79, 0x2afd: 0x7a, 0x2afe: 0x7b, 0x2aff: 0x7c, + // Block 0xac, offset 0x2b00 + 0x2b02: 0x01, 0x2b03: 0x5b3, 0x2b04: 0x5b4, 0x2b05: 0x5b5, 0x2b06: 0x05, 0x2b07: 0x06, + 0x2b08: 0x5b6, 0x2b09: 0x08, 0x2b0a: 0x09, 0x2b0b: 0x0a, 0x2b0c: 0x0b, 0x2b0d: 0x0c, 0x2b0e: 0x0d, 0x2b0f: 0x0e, + 0x2b10: 0x0f, 0x2b11: 0x10, 0x2b12: 0x11, 0x2b13: 0x12, 0x2b14: 0x13, 0x2b15: 0x14, 0x2b16: 0x15, 0x2b17: 0x16, + 0x2b18: 0x17, 0x2b19: 0x18, 0x2b1a: 0x19, 0x2b1b: 0x1a, 0x2b1c: 0x1b, 0x2b1d: 0x1c, 0x2b1e: 0x1d, 0x2b1f: 0x1e, + 0x2b20: 0x01, 0x2b21: 0xa9, 0x2b22: 0x03, 0x2b23: 0x04, 0x2b24: 0x05, + 0x2b2a: 0x06, 0x2b2d: 0x07, 0x2b2f: 0x08, + 0x2b30: 0x13, 0x2b33: 0x15, + // Block 0xad, offset 0x2b40 + 0x2b40: 0x3f, 0x2b41: 0x40, 0x2b42: 0x41, 0x2b43: 0x42, 0x2b44: 0x43, 0x2b45: 0x44, 0x2b46: 0x45, 0x2b47: 0x46, + 0x2b48: 0x47, 0x2b49: 0x48, 0x2b4a: 0x49, 0x2b4b: 0x4a, 0x2b4c: 0x4b, 0x2b4d: 0x4c, 0x2b4e: 0x4d, 0x2b4f: 0x4e, + 0x2b50: 0x4f, 0x2b51: 0x50, 0x2b52: 0x51, 0x2b53: 0x52, 0x2b54: 0x53, 0x2b55: 0x54, 0x2b56: 0x55, 0x2b57: 0x56, + 0x2b58: 0x57, 0x2b59: 0x58, 0x2b5a: 0x59, 0x2b5b: 0x5a, 0x2b5c: 0x5b, 0x2b5d: 0x5c, 0x2b5e: 0x5d, 0x2b5f: 0x5e, + 0x2b60: 0x5f, 0x2b61: 0x60, 0x2b62: 0x61, 0x2b63: 0x62, 0x2b64: 0x63, 0x2b65: 0x64, 0x2b66: 0x65, 0x2b67: 0x66, + 0x2b68: 0x67, 0x2b69: 0x68, 0x2b6a: 0x69, 0x2b6c: 0x6a, 0x2b6d: 0x6b, 0x2b6e: 0x6c, 0x2b6f: 0x6d, + 0x2b70: 0x6e, 0x2b71: 0x6f, 0x2b73: 0x70, 0x2b74: 0x71, 0x2b75: 0x72, 0x2b76: 0x1fc, 0x2b77: 0x74, + 0x2b78: 0x75, 0x2b79: 0x5c1, 0x2b7a: 0x5c2, 0x2b7b: 0x5c3, 0x2b7c: 0x79, 0x2b7d: 0x7a, 0x2b7e: 0x7b, 0x2b7f: 0x7c, + // Block 0xae, offset 0x2b80 + 0x2b82: 0x01, 0x2b83: 0x5ba, 0x2b84: 0x5bb, 0x2b85: 0x5bc, 0x2b86: 0x5bd, 0x2b87: 0x5be, + 0x2b88: 0x5bf, 0x2b89: 0x08, 0x2b8a: 0x5c0, 0x2b8b: 0x0a, 0x2b8c: 0x0b, 0x2b8d: 0x0c, 0x2b8e: 0x0d, 0x2b8f: 0x0e, + 0x2b90: 0x0f, 0x2b91: 0x10, 0x2b92: 0x11, 0x2b93: 0x12, 0x2b94: 0x13, 0x2b95: 0x14, 0x2b96: 0x15, 0x2b97: 0x16, + 0x2b98: 0x17, 0x2b99: 0x18, 0x2b9a: 0x19, 0x2b9b: 0x1a, 0x2b9c: 0x1b, 0x2b9d: 0x1c, 0x2b9e: 0x1d, 0x2b9f: 0x1e, + 0x2ba0: 0x01, 0x2ba1: 0xab, 0x2ba2: 0x4e, 0x2ba3: 0x04, 0x2ba4: 0x05, + 0x2baa: 0x06, 0x2bad: 0x07, 0x2baf: 0x08, + 0x2bb0: 0x13, 0x2bb3: 0x15, + // Block 0xaf, offset 0x2bc0 + 0x2be0: 0x1f, 0x2be1: 0x20, 0x2be2: 0x21, 0x2be3: 0x22, 0x2be4: 0x23, 0x2be5: 0x24, 0x2be6: 0x25, 0x2be7: 0x26, + 0x2be8: 0x27, 0x2be9: 0x28, 0x2bea: 0x29, 0x2beb: 0x2a, 0x2bec: 0x2b, 0x2bed: 0x2c, 0x2bee: 0x2d, 0x2bef: 0x2e, + 0x2bf0: 0x2f, 0x2bf1: 0x30, 0x2bf2: 0x31, 0x2bf3: 0x32, 0x2bf4: 0x33, 0x2bf5: 0x34, 0x2bf6: 0x5c4, 0x2bf7: 0x36, + 0x2bf8: 0x37, 0x2bf9: 0x38, 0x2bfa: 0x39, 0x2bfb: 0x3a, 0x2bfc: 0x3b, 0x2bfd: 0x3c, 0x2bfe: 0x3d, 0x2bff: 0x3e, + // Block 0xb0, offset 0x2c00 + 0x2c02: 0x01, 0x2c03: 0x02, 0x2c04: 0x03, 0x2c05: 0x04, 0x2c06: 0x05, 0x2c07: 0x06, + 0x2c08: 0x07, 0x2c09: 0x08, 0x2c0a: 0x09, 0x2c0b: 0x0a, 0x2c0c: 0x0b, 0x2c0d: 0x0c, 0x2c0e: 0x0d, 0x2c0f: 0x0e, + 0x2c10: 0x0f, 0x2c11: 0x10, 0x2c12: 0x11, 0x2c13: 0x12, 0x2c14: 0x13, 0x2c15: 0x14, 0x2c16: 0x15, 0x2c17: 0x16, + 0x2c18: 0x17, 0x2c19: 0x18, 0x2c1a: 0x19, 0x2c1b: 0x1a, 0x2c1c: 0x1b, 0x2c1d: 0x1c, 0x2c1e: 0x1d, 0x2c1f: 0x1e, + 0x2c20: 0xad, 0x2c21: 0x02, 0x2c22: 0x03, 0x2c23: 0x04, 0x2c24: 0x05, + 0x2c2a: 0x06, 0x2c2d: 0x07, 0x2c2f: 0x08, + 0x2c30: 0x13, 0x2c33: 0x15, + // Block 0xb1, offset 0x2c40 + 0x2c40: 0x3f, 0x2c41: 0x40, 0x2c42: 0x41, 0x2c43: 0x42, 0x2c44: 0x43, 0x2c45: 0x44, 0x2c46: 0x45, 0x2c47: 0x46, + 0x2c48: 0x47, 0x2c49: 0x48, 0x2c4a: 0x49, 0x2c4b: 0x4a, 0x2c4c: 0x4b, 0x2c4d: 0x4c, 0x2c4e: 0x4d, 0x2c4f: 0x4e, + 0x2c50: 0x4f, 0x2c51: 0x50, 0x2c52: 0x51, 0x2c53: 0x52, 0x2c54: 0x53, 0x2c55: 0x54, 0x2c56: 0x55, 0x2c57: 0x56, + 0x2c58: 0x57, 0x2c59: 0x58, 0x2c5a: 0x59, 0x2c5b: 0x5a, 0x2c5c: 0x5b, 0x2c5d: 0x5c, 0x2c5e: 0x5d, 0x2c5f: 0x5e, + 0x2c60: 0x5f, 0x2c61: 0x60, 0x2c62: 0x61, 0x2c63: 0x62, 0x2c64: 0x63, 0x2c65: 0x64, 0x2c66: 0x65, 0x2c67: 0x66, + 0x2c68: 0x67, 0x2c69: 0x68, 0x2c6a: 0x69, 0x2c6c: 0x6a, 0x2c6d: 0x6b, 0x2c6e: 0x6c, 0x2c6f: 0x6d, + 0x2c70: 0x6e, 0x2c71: 0x6f, 0x2c73: 0x70, 0x2c74: 0x71, 0x2c75: 0x72, 0x2c76: 0x73, 0x2c77: 0x74, + 0x2c78: 0x75, 0x2c79: 0x1f2, 0x2c7a: 0x77, 0x2c7b: 0x5c9, 0x2c7c: 0x79, 0x2c7d: 0x7a, 0x2c7e: 0x7b, 0x2c7f: 0x7c, + // Block 0xb2, offset 0x2c80 + 0x2c82: 0x01, 0x2c83: 0x5c7, 0x2c84: 0x1f0, 0x2c85: 0x1f1, 0x2c86: 0x05, 0x2c87: 0x5c8, + 0x2c88: 0x07, 0x2c89: 0x08, 0x2c8a: 0x09, 0x2c8b: 0x0a, 0x2c8c: 0x0b, 0x2c8d: 0x0c, 0x2c8e: 0x0d, 0x2c8f: 0x0e, + 0x2c90: 0x0f, 0x2c91: 0x10, 0x2c92: 0x11, 0x2c93: 0x12, 0x2c94: 0x13, 0x2c95: 0x14, 0x2c96: 0x15, 0x2c97: 0x16, + 0x2c98: 0x17, 0x2c99: 0x18, 0x2c9a: 0x19, 0x2c9b: 0x1a, 0x2c9c: 0x1b, 0x2c9d: 0x1c, 0x2c9e: 0x1d, 0x2c9f: 0x1e, + 0x2ca0: 0x01, 0x2ca1: 0xaf, 0x2ca2: 0x03, 0x2ca3: 0x04, 0x2ca4: 0x05, + 0x2caa: 0x06, 0x2cad: 0x07, 0x2caf: 0x08, + 0x2cb0: 0x13, 0x2cb3: 0x15, + // Block 0xb3, offset 0x2cc0 + 0x2cc2: 0x01, 0x2cc3: 0x02, 0x2cc4: 0x5cc, 0x2cc5: 0x292, 0x2cc6: 0x05, 0x2cc7: 0x06, + 0x2cc8: 0x07, 0x2cc9: 0x08, 0x2cca: 0x09, 0x2ccb: 0x0a, 0x2ccc: 0x0b, 0x2ccd: 0x0c, 0x2cce: 0x0d, 0x2ccf: 0x0e, + 0x2cd0: 0x0f, 0x2cd1: 0x10, 0x2cd2: 0x11, 0x2cd3: 0x12, 0x2cd4: 0x13, 0x2cd5: 0x14, 0x2cd6: 0x15, 0x2cd7: 0x16, + 0x2cd8: 0x17, 0x2cd9: 0x18, 0x2cda: 0x19, 0x2cdb: 0x1a, 0x2cdc: 0x1b, 0x2cdd: 0x1c, 0x2cde: 0x1d, 0x2cdf: 0x1e, + 0x2ce0: 0x01, 0x2ce1: 0x63, 0x2ce2: 0x03, 0x2ce3: 0x04, 0x2ce4: 0x05, + 0x2cea: 0x06, 0x2ced: 0x07, 0x2cef: 0x08, + 0x2cf0: 0x13, 0x2cf3: 0x15, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x3f, 0x2d01: 0x40, 0x2d02: 0x41, 0x2d03: 0x42, 0x2d04: 0x43, 0x2d05: 0x44, 0x2d06: 0x45, 0x2d07: 0x46, + 0x2d08: 0x47, 0x2d09: 0x48, 0x2d0a: 0x49, 0x2d0b: 0x4a, 0x2d0c: 0x4b, 0x2d0d: 0x4c, 0x2d0e: 0x4d, 0x2d0f: 0x4e, + 0x2d10: 0x4f, 0x2d11: 0x50, 0x2d12: 0x51, 0x2d13: 0x52, 0x2d14: 0x53, 0x2d15: 0x54, 0x2d16: 0x55, 0x2d17: 0x56, + 0x2d18: 0x57, 0x2d19: 0x58, 0x2d1a: 0x59, 0x2d1b: 0x5a, 0x2d1c: 0x5b, 0x2d1d: 0x5c, 0x2d1e: 0x5d, 0x2d1f: 0x5e, + 0x2d20: 0x5f, 0x2d21: 0x60, 0x2d22: 0x61, 0x2d23: 0x62, 0x2d24: 0x63, 0x2d25: 0x64, 0x2d26: 0x65, 0x2d27: 0x66, + 0x2d28: 0x67, 0x2d29: 0x68, 0x2d2a: 0x69, 0x2d2c: 0x6a, 0x2d2d: 0x6b, 0x2d2e: 0x6c, 0x2d2f: 0x6d, + 0x2d30: 0x6e, 0x2d31: 0x6f, 0x2d33: 0x70, 0x2d34: 0x71, 0x2d35: 0x72, 0x2d36: 0x73, 0x2d37: 0x74, + 0x2d38: 0x5d0, 0x2d39: 0x76, 0x2d3a: 0x77, 0x2d3b: 0x78, 0x2d3c: 0x79, 0x2d3d: 0x7a, 0x2d3e: 0x7b, 0x2d3f: 0x7c, + // Block 0xb5, offset 0x2d40 + 0x2d42: 0x01, 0x2d43: 0x5cf, 0x2d44: 0x03, 0x2d45: 0x04, 0x2d46: 0x05, 0x2d47: 0x06, + 0x2d48: 0x07, 0x2d49: 0x08, 0x2d4a: 0x09, 0x2d4b: 0x0a, 0x2d4c: 0x0b, 0x2d4d: 0x0c, 0x2d4e: 0x0d, 0x2d4f: 0x0e, + 0x2d50: 0x0f, 0x2d51: 0x10, 0x2d52: 0x11, 0x2d53: 0x12, 0x2d54: 0x13, 0x2d55: 0x14, 0x2d56: 0x15, 0x2d57: 0x16, + 0x2d58: 0x17, 0x2d59: 0x18, 0x2d5a: 0x19, 0x2d5b: 0x1a, 0x2d5c: 0x1b, 0x2d5d: 0x1c, 0x2d5e: 0x1d, 0x2d5f: 0x1e, + 0x2d60: 0x01, 0x2d61: 0xb2, 0x2d62: 0x03, 0x2d63: 0x04, 0x2d64: 0x05, + 0x2d6a: 0x06, 0x2d6d: 0x07, 0x2d6f: 0x08, + 0x2d70: 0x13, 0x2d73: 0x15, + // Block 0xb6, offset 0x2d80 + 0x2d80: 0x3f, 0x2d81: 0x40, 0x2d82: 0x41, 0x2d83: 0x42, 0x2d84: 0x43, 0x2d85: 0x44, 0x2d86: 0x45, 0x2d87: 0x46, + 0x2d88: 0x47, 0x2d89: 0x48, 0x2d8a: 0x49, 0x2d8b: 0x4a, 0x2d8c: 0x4b, 0x2d8d: 0x4c, 0x2d8e: 0x4d, 0x2d8f: 0x4e, + 0x2d90: 0x4f, 0x2d91: 0x50, 0x2d92: 0x51, 0x2d93: 0x52, 0x2d94: 0x53, 0x2d95: 0x54, 0x2d96: 0x55, 0x2d97: 0x56, + 0x2d98: 0x57, 0x2d99: 0x58, 0x2d9a: 0x59, 0x2d9b: 0x5a, 0x2d9c: 0x5b, 0x2d9d: 0x5c, 0x2d9e: 0x5d, 0x2d9f: 0x5e, + 0x2da0: 0x5f, 0x2da1: 0x60, 0x2da2: 0x61, 0x2da3: 0x62, 0x2da4: 0x63, 0x2da5: 0x64, 0x2da6: 0x65, 0x2da7: 0x66, + 0x2da8: 0x67, 0x2da9: 0x68, 0x2daa: 0x69, 0x2dac: 0x6a, 0x2dad: 0x6b, 0x2dae: 0x6c, 0x2daf: 0x6d, + 0x2db0: 0x6e, 0x2db1: 0x6f, 0x2db3: 0x70, 0x2db4: 0x71, 0x2db5: 0x72, 0x2db6: 0x1fc, 0x2db7: 0x74, + 0x2db8: 0x75, 0x2db9: 0x261, 0x2dba: 0x77, 0x2dbb: 0x5d6, 0x2dbc: 0x79, 0x2dbd: 0x7a, 0x2dbe: 0x7b, 0x2dbf: 0x7c, + // Block 0xb7, offset 0x2dc0 + 0x2dc2: 0x01, 0x2dc3: 0x5d3, 0x2dc4: 0x5d4, 0x2dc5: 0x5d5, 0x2dc6: 0x05, 0x2dc7: 0x268, + 0x2dc8: 0x25f, 0x2dc9: 0x08, 0x2dca: 0x09, 0x2dcb: 0x0a, 0x2dcc: 0x0b, 0x2dcd: 0x0c, 0x2dce: 0x0d, 0x2dcf: 0x0e, + 0x2dd0: 0x0f, 0x2dd1: 0x10, 0x2dd2: 0x11, 0x2dd3: 0x12, 0x2dd4: 0x13, 0x2dd5: 0x14, 0x2dd6: 0x15, 0x2dd7: 0x16, + 0x2dd8: 0x17, 0x2dd9: 0x18, 0x2dda: 0x19, 0x2ddb: 0x1a, 0x2ddc: 0x1b, 0x2ddd: 0x1c, 0x2dde: 0x1d, 0x2ddf: 0x1e, + 0x2de0: 0x01, 0x2de1: 0xb4, 0x2de2: 0x4e, 0x2de3: 0x04, 0x2de4: 0x05, + 0x2dea: 0x06, 0x2ded: 0x07, 0x2def: 0x08, + 0x2df0: 0x13, 0x2df3: 0x15, + // Block 0xb8, offset 0x2e00 + 0x2e00: 0x3f, 0x2e01: 0x40, 0x2e02: 0x41, 0x2e03: 0x42, 0x2e04: 0x43, 0x2e05: 0x44, 0x2e06: 0x45, 0x2e07: 0x46, + 0x2e08: 0x47, 0x2e09: 0x48, 0x2e0a: 0x49, 0x2e0b: 0x4a, 0x2e0c: 0x4b, 0x2e0d: 0x4c, 0x2e0e: 0x4d, 0x2e0f: 0x4e, + 0x2e10: 0x4f, 0x2e11: 0x50, 0x2e12: 0x51, 0x2e13: 0x52, 0x2e14: 0x53, 0x2e15: 0x54, 0x2e16: 0x55, 0x2e17: 0x56, + 0x2e18: 0x57, 0x2e19: 0x58, 0x2e1a: 0x59, 0x2e1b: 0x5a, 0x2e1c: 0x5b, 0x2e1d: 0x5c, 0x2e1e: 0x5d, 0x2e1f: 0x5e, + 0x2e20: 0x5f, 0x2e21: 0x60, 0x2e22: 0x61, 0x2e23: 0x62, 0x2e24: 0x63, 0x2e25: 0x64, 0x2e26: 0x65, 0x2e27: 0x66, + 0x2e28: 0x67, 0x2e29: 0x68, 0x2e2a: 0x69, 0x2e2c: 0x6a, 0x2e2d: 0x6b, 0x2e2e: 0x6c, 0x2e2f: 0x6d, + 0x2e30: 0x6e, 0x2e31: 0x6f, 0x2e33: 0x70, 0x2e34: 0x71, 0x2e35: 0x72, 0x2e36: 0x1fc, 0x2e37: 0x74, + 0x2e38: 0x75, 0x2e39: 0x5da, 0x2e3a: 0x26b, 0x2e3b: 0x5d6, 0x2e3c: 0x79, 0x2e3d: 0x7a, 0x2e3e: 0x7b, 0x2e3f: 0x7c, + // Block 0xb9, offset 0x2e40 + 0x2e42: 0x01, 0x2e43: 0x5d3, 0x2e44: 0x5d4, 0x2e45: 0x5d9, 0x2e46: 0x05, 0x2e47: 0x268, + 0x2e48: 0x25f, 0x2e49: 0x08, 0x2e4a: 0x09, 0x2e4b: 0x0a, 0x2e4c: 0x0b, 0x2e4d: 0x0c, 0x2e4e: 0x0d, 0x2e4f: 0x0e, + 0x2e50: 0x0f, 0x2e51: 0x10, 0x2e52: 0x11, 0x2e53: 0x12, 0x2e54: 0x13, 0x2e55: 0x14, 0x2e56: 0x15, 0x2e57: 0x16, + 0x2e58: 0x17, 0x2e59: 0x18, 0x2e5a: 0x19, 0x2e5b: 0x1a, 0x2e5c: 0x1b, 0x2e5d: 0x1c, 0x2e5e: 0x1d, 0x2e5f: 0x1e, + 0x2e60: 0x01, 0x2e61: 0xb6, 0x2e62: 0x51, 0x2e63: 0x52, 0x2e64: 0x05, + 0x2e6a: 0x06, 0x2e6d: 0x07, 0x2e6f: 0x08, + 0x2e70: 0x54, 0x2e73: 0x15, + // Block 0xba, offset 0x2e80 + 0x2ea0: 0x1f, 0x2ea1: 0x20, 0x2ea2: 0x21, 0x2ea3: 0x22, 0x2ea4: 0x23, 0x2ea5: 0x24, 0x2ea6: 0x25, 0x2ea7: 0x26, + 0x2ea8: 0x27, 0x2ea9: 0x28, 0x2eaa: 0x29, 0x2eab: 0x2a, 0x2eac: 0x2b, 0x2ead: 0x2c, 0x2eae: 0x5db, 0x2eaf: 0x2e, + 0x2eb0: 0x2f, 0x2eb1: 0x30, 0x2eb2: 0x31, 0x2eb3: 0x32, 0x2eb4: 0x33, 0x2eb5: 0x34, 0x2eb6: 0x35, 0x2eb7: 0x36, + 0x2eb8: 0x37, 0x2eb9: 0x38, 0x2eba: 0x39, 0x2ebb: 0x3a, 0x2ebc: 0x3b, 0x2ebd: 0x3c, 0x2ebe: 0x3d, 0x2ebf: 0x3e, + // Block 0xbb, offset 0x2ec0 + 0x2ec2: 0x01, 0x2ec3: 0x02, 0x2ec4: 0x03, 0x2ec5: 0x04, 0x2ec6: 0x05, 0x2ec7: 0x06, + 0x2ec8: 0x07, 0x2ec9: 0x08, 0x2eca: 0x09, 0x2ecb: 0x0a, 0x2ecc: 0x0b, 0x2ecd: 0x0c, 0x2ece: 0x0d, 0x2ecf: 0x0e, + 0x2ed0: 0x0f, 0x2ed1: 0x10, 0x2ed2: 0x11, 0x2ed3: 0x12, 0x2ed4: 0x13, 0x2ed5: 0x14, 0x2ed6: 0x15, 0x2ed7: 0x16, + 0x2ed8: 0x17, 0x2ed9: 0x18, 0x2eda: 0x19, 0x2edb: 0x1a, 0x2edc: 0x1b, 0x2edd: 0x1c, 0x2ede: 0x1d, 0x2edf: 0x1e, + 0x2ee0: 0xb8, 0x2ee1: 0x02, 0x2ee2: 0x03, 0x2ee3: 0x04, 0x2ee4: 0x05, + 0x2eea: 0x06, 0x2eed: 0x07, 0x2eef: 0x08, + 0x2ef0: 0x13, 0x2ef3: 0x15, + // Block 0xbc, offset 0x2f00 + 0x2f20: 0x1f, 0x2f21: 0x20, 0x2f22: 0x21, 0x2f23: 0x22, 0x2f24: 0x23, 0x2f25: 0x24, 0x2f26: 0x25, 0x2f27: 0x26, + 0x2f28: 0x27, 0x2f29: 0x28, 0x2f2a: 0x29, 0x2f2b: 0x2a, 0x2f2c: 0x2b, 0x2f2d: 0x2c, 0x2f2e: 0x2d, 0x2f2f: 0x2e, + 0x2f30: 0x5dc, 0x2f31: 0x30, 0x2f32: 0x31, 0x2f33: 0x32, 0x2f34: 0x33, 0x2f35: 0x34, 0x2f36: 0x35, 0x2f37: 0x36, + 0x2f38: 0x37, 0x2f39: 0x38, 0x2f3a: 0x39, 0x2f3b: 0x3a, 0x2f3c: 0x3b, 0x2f3d: 0x3c, 0x2f3e: 0x3d, 0x2f3f: 0x3e, + // Block 0xbd, offset 0x2f40 + 0x2f42: 0x01, 0x2f43: 0x02, 0x2f44: 0x03, 0x2f45: 0x04, 0x2f46: 0x05, 0x2f47: 0x06, + 0x2f48: 0x07, 0x2f49: 0x08, 0x2f4a: 0x09, 0x2f4b: 0x0a, 0x2f4c: 0x0b, 0x2f4d: 0x0c, 0x2f4e: 0x0d, 0x2f4f: 0x0e, + 0x2f50: 0x0f, 0x2f51: 0x10, 0x2f52: 0x11, 0x2f53: 0x12, 0x2f54: 0x13, 0x2f55: 0x14, 0x2f56: 0x15, 0x2f57: 0x16, + 0x2f58: 0x17, 0x2f59: 0x18, 0x2f5a: 0x19, 0x2f5b: 0x1a, 0x2f5c: 0x1b, 0x2f5d: 0x1c, 0x2f5e: 0x1d, 0x2f5f: 0x1e, + 0x2f60: 0xba, 0x2f61: 0x02, 0x2f62: 0x03, 0x2f63: 0x04, 0x2f64: 0x05, + 0x2f6a: 0x06, 0x2f6d: 0x07, 0x2f6f: 0x08, + 0x2f70: 0x13, 0x2f73: 0x15, + // Block 0xbe, offset 0x2f80 + 0x2fa0: 0x1f, 0x2fa1: 0x20, 0x2fa2: 0x21, 0x2fa3: 0x22, 0x2fa4: 0x23, 0x2fa5: 0x24, 0x2fa6: 0x25, 0x2fa7: 0x26, + 0x2fa8: 0x27, 0x2fa9: 0x28, 0x2faa: 0x29, 0x2fab: 0x2a, 0x2fac: 0x2b, 0x2fad: 0x2c, 0x2fae: 0x2d, 0x2faf: 0x2e, + 0x2fb0: 0x2f, 0x2fb1: 0x30, 0x2fb2: 0x31, 0x2fb3: 0x32, 0x2fb4: 0x33, 0x2fb5: 0x34, 0x2fb6: 0x35, 0x2fb7: 0x36, + 0x2fb8: 0x5dd, 0x2fb9: 0x5de, 0x2fba: 0x39, 0x2fbb: 0x3a, 0x2fbc: 0x3b, 0x2fbd: 0x3c, 0x2fbe: 0x3d, 0x2fbf: 0x3e, + // Block 0xbf, offset 0x2fc0 + 0x2fc2: 0x01, 0x2fc3: 0x02, 0x2fc4: 0x03, 0x2fc5: 0x04, 0x2fc6: 0x05, 0x2fc7: 0x06, + 0x2fc8: 0x07, 0x2fc9: 0x08, 0x2fca: 0x09, 0x2fcb: 0x0a, 0x2fcc: 0x0b, 0x2fcd: 0x0c, 0x2fce: 0x0d, 0x2fcf: 0x0e, + 0x2fd0: 0x0f, 0x2fd1: 0x10, 0x2fd2: 0x11, 0x2fd3: 0x12, 0x2fd4: 0x13, 0x2fd5: 0x14, 0x2fd6: 0x15, 0x2fd7: 0x16, + 0x2fd8: 0x17, 0x2fd9: 0x18, 0x2fda: 0x19, 0x2fdb: 0x1a, 0x2fdc: 0x1b, 0x2fdd: 0x1c, 0x2fde: 0x1d, 0x2fdf: 0x1e, + 0x2fe0: 0xbc, 0x2fe1: 0x02, 0x2fe2: 0x03, 0x2fe3: 0x04, 0x2fe4: 0x05, + 0x2fea: 0x06, 0x2fed: 0x07, 0x2fef: 0x08, + 0x2ff0: 0x13, 0x2ff3: 0x15, + // Block 0xc0, offset 0x3000 + 0x3000: 0x3f, 0x3001: 0x40, 0x3002: 0x41, 0x3003: 0x42, 0x3004: 0x43, 0x3005: 0x44, 0x3006: 0x45, 0x3007: 0x46, + 0x3008: 0x47, 0x3009: 0x48, 0x300a: 0x49, 0x300b: 0x4a, 0x300c: 0x4b, 0x300d: 0x4c, 0x300e: 0x4d, 0x300f: 0x4e, + 0x3010: 0x4f, 0x3011: 0x50, 0x3012: 0x51, 0x3013: 0x52, 0x3014: 0x53, 0x3015: 0x54, 0x3016: 0x55, 0x3017: 0x56, + 0x3018: 0x57, 0x3019: 0x58, 0x301a: 0x59, 0x301b: 0x5a, 0x301c: 0x5b, 0x301d: 0x5c, 0x301e: 0x5d, 0x301f: 0x5e, + 0x3020: 0x5f, 0x3021: 0x60, 0x3022: 0x61, 0x3023: 0x62, 0x3024: 0x63, 0x3025: 0x64, 0x3026: 0x65, 0x3027: 0x66, + 0x3028: 0x67, 0x3029: 0x68, 0x302a: 0x69, 0x302c: 0x6a, 0x302d: 0x6b, 0x302e: 0x6c, 0x302f: 0x6d, + 0x3030: 0x6e, 0x3031: 0x6f, 0x3033: 0x70, 0x3034: 0x71, 0x3035: 0x72, 0x3036: 0x73, 0x3037: 0x74, + 0x3038: 0x5e7, 0x3039: 0x5e8, 0x303a: 0x5e9, 0x303b: 0x5ea, 0x303c: 0x79, 0x303d: 0x7a, 0x303e: 0x7b, 0x303f: 0x7c, + // Block 0xc1, offset 0x3040 + 0x3042: 0x01, 0x3043: 0x5e1, 0x3044: 0x5e2, 0x3045: 0x5e3, 0x3046: 0x05, 0x3047: 0x5e4, + 0x3048: 0x5e5, 0x3049: 0x08, 0x304a: 0x5e6, 0x304b: 0x0a, 0x304c: 0x0b, 0x304d: 0x0c, 0x304e: 0x0d, 0x304f: 0x0e, + 0x3050: 0x0f, 0x3051: 0x10, 0x3052: 0x11, 0x3053: 0x12, 0x3054: 0x13, 0x3055: 0x14, 0x3056: 0x15, 0x3057: 0x16, + 0x3058: 0x17, 0x3059: 0x18, 0x305a: 0x19, 0x305b: 0x1a, 0x305c: 0x1b, 0x305d: 0x1c, 0x305e: 0x1d, 0x305f: 0x1e, + 0x3060: 0x01, 0x3061: 0xbe, 0x3062: 0x03, 0x3063: 0x04, 0x3064: 0x05, + 0x306a: 0x06, 0x306d: 0x07, 0x306f: 0x08, + 0x3070: 0x13, 0x3073: 0x15, + // Block 0xc2, offset 0x3080 + 0x3080: 0x3f, 0x3081: 0x40, 0x3082: 0x41, 0x3083: 0x42, 0x3084: 0x43, 0x3085: 0x44, 0x3086: 0x45, 0x3087: 0x46, + 0x3088: 0x47, 0x3089: 0x48, 0x308a: 0x49, 0x308b: 0x4a, 0x308c: 0x4b, 0x308d: 0x4c, 0x308e: 0x4d, 0x308f: 0x4e, + 0x3090: 0x4f, 0x3091: 0x50, 0x3092: 0x51, 0x3093: 0x52, 0x3094: 0x53, 0x3095: 0x54, 0x3096: 0x55, 0x3097: 0x56, + 0x3098: 0x57, 0x3099: 0x58, 0x309a: 0x59, 0x309b: 0x5a, 0x309c: 0x5b, 0x309d: 0x5c, 0x309e: 0x5d, 0x309f: 0x5e, + 0x30a0: 0x5f, 0x30a1: 0x60, 0x30a2: 0x61, 0x30a3: 0x62, 0x30a4: 0x63, 0x30a5: 0x64, 0x30a6: 0x65, 0x30a7: 0x66, + 0x30a8: 0x67, 0x30a9: 0x68, 0x30aa: 0x69, 0x30ac: 0x6a, 0x30ad: 0x6b, 0x30ae: 0x6c, 0x30af: 0x6d, + 0x30b0: 0x6e, 0x30b1: 0x6f, 0x30b3: 0x70, 0x30b4: 0x71, 0x30b5: 0x72, 0x30b6: 0x73, 0x30b7: 0x74, + 0x30b8: 0x1de, 0x30b9: 0x1df, 0x30ba: 0x77, 0x30bb: 0x1e1, 0x30bc: 0x79, 0x30bd: 0x7a, 0x30be: 0x7b, 0x30bf: 0x7c, + // Block 0xc3, offset 0x30c0 + 0x30c0: 0x7d, 0x30c1: 0x7e, 0x30c2: 0x7f, 0x30c3: 0x80, 0x30c4: 0x81, 0x30c5: 0x5ed, 0x30c6: 0x83, 0x30c7: 0x84, + 0x30c8: 0x85, 0x30c9: 0x86, 0x30ca: 0x87, 0x30cb: 0x88, 0x30cc: 0x89, 0x30cd: 0x8a, 0x30ce: 0x8b, 0x30cf: 0x8c, + 0x30d0: 0x8d, 0x30d1: 0x8e, 0x30d2: 0x8f, 0x30d3: 0x90, 0x30d4: 0x91, 0x30d5: 0x92, 0x30d6: 0x93, 0x30d7: 0x94, + 0x30d8: 0x95, 0x30d9: 0x96, 0x30da: 0x97, 0x30db: 0x98, 0x30dc: 0x99, 0x30dd: 0x9a, 0x30de: 0x9b, 0x30df: 0x9c, + 0x30e0: 0x9d, 0x30e1: 0x9e, 0x30e2: 0x9f, 0x30e3: 0xa0, 0x30e4: 0xa1, 0x30e5: 0xa2, 0x30e6: 0xa3, 0x30e7: 0xa4, + 0x30e8: 0xa5, 0x30e9: 0xa6, 0x30ea: 0xa7, 0x30eb: 0xa8, 0x30ec: 0xa9, 0x30ed: 0xaa, + 0x30f0: 0xab, 0x30f1: 0xac, 0x30f2: 0xad, 0x30f3: 0xae, 0x30f4: 0xaf, 0x30f5: 0xb0, 0x30f6: 0xb1, 0x30f7: 0xb2, + 0x30f8: 0xb3, 0x30fa: 0xb4, 0x30fb: 0xb5, 0x30fc: 0xb6, 0x30fd: 0xb7, 0x30fe: 0xb8, 0x30ff: 0xb9, + // Block 0xc4, offset 0x3100 + 0x3100: 0xba, 0x3101: 0xbb, 0x3102: 0xbc, 0x3103: 0xbd, 0x3104: 0xbe, 0x3105: 0xbf, 0x3106: 0xc0, 0x3107: 0xc1, + 0x3108: 0xc2, 0x3109: 0xc3, 0x310a: 0xc4, 0x310b: 0xc5, 0x310c: 0xc6, 0x310d: 0x1e4, 0x310e: 0xc8, 0x310f: 0xc9, + // Block 0xc5, offset 0x3140 + 0x3140: 0x18b, 0x3141: 0x18c, 0x3142: 0x18d, 0x3143: 0x18e, 0x3144: 0x5ee, 0x3145: 0x190, 0x3146: 0x191, 0x3147: 0x192, + 0x3148: 0x193, 0x3149: 0x194, 0x314c: 0x195, 0x314d: 0x196, 0x314e: 0x197, 0x314f: 0x198, + 0x3150: 0x199, 0x3151: 0x19a, 0x3152: 0x19b, 0x3153: 0x19c, 0x3154: 0x19d, 0x3155: 0x19e, 0x3157: 0x19f, + 0x3158: 0x1a0, 0x3159: 0x1a1, 0x315a: 0x1a2, 0x315b: 0x1a3, 0x315c: 0x1a4, 0x315d: 0x1a5, + // Block 0xc6, offset 0x3180 + 0x3190: 0x09, 0x3191: 0x0a, 0x3192: 0x0b, 0x3193: 0x0c, 0x3196: 0x0d, + 0x319b: 0x0e, 0x319d: 0x0f, 0x319e: 0x10, 0x319f: 0xc3, + 0x31af: 0x12, + // Block 0xc7, offset 0x31c0 + 0x31c2: 0x01, 0x31c3: 0x1d7, 0x31c4: 0x1d8, 0x31c5: 0x1d9, 0x31c6: 0x05, 0x31c7: 0x1db, + 0x31c8: 0x1dc, 0x31c9: 0x08, 0x31ca: 0x09, 0x31cb: 0x0a, 0x31cc: 0x0b, 0x31cd: 0x0c, 0x31ce: 0x0d, 0x31cf: 0x0e, + 0x31d0: 0x0f, 0x31d1: 0x10, 0x31d2: 0x11, 0x31d3: 0x12, 0x31d4: 0x13, 0x31d5: 0x14, 0x31d6: 0x15, 0x31d7: 0x16, + 0x31d8: 0x17, 0x31d9: 0x18, 0x31da: 0x19, 0x31db: 0x1a, 0x31dc: 0x1b, 0x31dd: 0x1c, 0x31de: 0x1d, 0x31df: 0x1e, + 0x31e0: 0x01, 0x31e1: 0xc0, 0x31e2: 0xc1, 0x31e3: 0xc2, 0x31e4: 0x05, + 0x31ea: 0x06, 0x31ed: 0x07, 0x31ef: 0x08, + 0x31f0: 0xc4, 0x31f3: 0x15, + // Block 0xc8, offset 0x3200 + 0x3202: 0x01, 0x3203: 0x02, 0x3204: 0x03, 0x3205: 0x04, 0x3206: 0x05, 0x3207: 0x06, + 0x3208: 0x07, 0x3209: 0x08, 0x320a: 0x09, 0x320b: 0x0a, 0x320c: 0x0b, 0x320d: 0x0c, 0x320e: 0x0d, 0x320f: 0x0e, + 0x3210: 0x0f, 0x3211: 0x10, 0x3212: 0x5ef, 0x3213: 0x12, 0x3214: 0x13, 0x3215: 0x14, 0x3216: 0x15, 0x3217: 0x16, + 0x3218: 0x17, 0x3219: 0x18, 0x321a: 0x19, 0x321b: 0x1a, 0x321c: 0x1b, 0x321d: 0x1c, 0x321e: 0x1d, 0x321f: 0x1e, + 0x3220: 0x01, 0x3221: 0x02, 0x3222: 0x03, 0x3223: 0x04, 0x3224: 0x05, + 0x322a: 0x06, 0x322d: 0x07, 0x322f: 0x08, + 0x3230: 0x13, 0x3233: 0x15, + // Block 0xc9, offset 0x3240 + 0x3264: 0xfb, 0x3265: 0xfc, 0x3266: 0xfd, 0x3267: 0xfe, + 0x3268: 0xff, 0x3269: 0x100, 0x326a: 0x101, 0x326b: 0x102, 0x326c: 0x103, 0x326d: 0x104, 0x326e: 0x252, 0x326f: 0x106, + 0x3270: 0x5f4, 0x3271: 0x5f5, 0x3272: 0x5f6, 0x3273: 0x5f7, 0x3274: 0x5f8, 0x3275: 0x10c, 0x3276: 0x10d, 0x3277: 0x10e, + 0x3278: 0x10f, 0x3279: 0x110, 0x327a: 0x111, 0x327b: 0x5f9, 0x327c: 0x113, 0x327d: 0x114, 0x327e: 0x115, 0x327f: 0x116, + // Block 0xca, offset 0x3280 + 0x3282: 0x01, 0x3283: 0x02, 0x3284: 0x03, 0x3285: 0x04, 0x3286: 0x05, 0x3287: 0x06, + 0x3288: 0x07, 0x3289: 0x08, 0x328a: 0x09, 0x328b: 0x0a, 0x328c: 0x0b, 0x328d: 0x0c, 0x328e: 0x0d, 0x328f: 0x0e, + 0x3290: 0x0f, 0x3291: 0x10, 0x3292: 0x11, 0x3293: 0x12, 0x3294: 0x13, 0x3295: 0x14, 0x3296: 0x15, 0x3297: 0x16, + 0x3298: 0x5f0, 0x3299: 0x5f1, 0x329a: 0x5f2, 0x329b: 0x5f3, 0x329c: 0x1b, 0x329d: 0x1c, 0x329e: 0x1d, 0x329f: 0x1e, + 0x32a0: 0x01, 0x32a1: 0x02, 0x32a2: 0x03, 0x32a3: 0x04, 0x32a4: 0x05, + 0x32aa: 0x06, 0x32ad: 0x07, 0x32af: 0xc7, + 0x32b0: 0x13, 0x32b3: 0x15, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x3f, 0x32c1: 0x40, 0x32c2: 0x41, 0x32c3: 0x42, 0x32c4: 0x43, 0x32c5: 0x44, 0x32c6: 0x45, 0x32c7: 0x46, + 0x32c8: 0x47, 0x32c9: 0x48, 0x32ca: 0x49, 0x32cb: 0x4a, 0x32cc: 0x4b, 0x32cd: 0x4c, 0x32ce: 0x4d, 0x32cf: 0x4e, + 0x32d0: 0x4f, 0x32d1: 0x50, 0x32d2: 0x51, 0x32d3: 0x52, 0x32d4: 0x53, 0x32d5: 0x54, 0x32d6: 0x55, 0x32d7: 0x56, + 0x32d8: 0x57, 0x32d9: 0x58, 0x32da: 0x59, 0x32db: 0x5a, 0x32dc: 0x5b, 0x32dd: 0x5c, 0x32de: 0x5d, 0x32df: 0x5e, + 0x32e0: 0x5f, 0x32e1: 0x60, 0x32e2: 0x61, 0x32e3: 0x62, 0x32e4: 0x63, 0x32e5: 0x64, 0x32e6: 0x65, 0x32e7: 0x66, + 0x32e8: 0x67, 0x32e9: 0x68, 0x32ea: 0x69, 0x32ec: 0x6a, 0x32ed: 0x6b, 0x32ee: 0x6c, 0x32ef: 0x6d, + 0x32f0: 0x6e, 0x32f1: 0x6f, 0x32f3: 0x70, 0x32f4: 0x71, 0x32f5: 0x72, 0x32f6: 0x73, 0x32f7: 0x74, + 0x32f8: 0x606, 0x32f9: 0x607, 0x32fa: 0x608, 0x32fb: 0x609, 0x32fc: 0x60a, 0x32fd: 0x60b, 0x32fe: 0x60c, 0x32ff: 0x60d, + // Block 0xcc, offset 0x3300 + 0x3302: 0x01, 0x3303: 0x5fc, 0x3304: 0x5fd, 0x3305: 0x5fe, 0x3306: 0x5ff, 0x3307: 0x600, + 0x3308: 0x601, 0x3309: 0x08, 0x330a: 0x09, 0x330b: 0x0a, 0x330c: 0x602, 0x330d: 0x603, 0x330e: 0x604, 0x330f: 0x605, + 0x3310: 0x0f, 0x3311: 0x10, 0x3312: 0x11, 0x3313: 0x12, 0x3314: 0x13, 0x3315: 0x14, 0x3316: 0x15, 0x3317: 0x16, + 0x3318: 0x17, 0x3319: 0x18, 0x331a: 0x19, 0x331b: 0x1a, 0x331c: 0x1b, 0x331d: 0x1c, 0x331e: 0x1d, 0x331f: 0x1e, + 0x3320: 0x01, 0x3321: 0xc9, 0x3322: 0x03, 0x3323: 0x04, 0x3324: 0x05, + 0x332a: 0x06, 0x332d: 0x07, 0x332f: 0x08, + 0x3330: 0x13, 0x3333: 0x15, + // Block 0xcd, offset 0x3340 + 0x3342: 0x01, 0x3343: 0x610, 0x3344: 0x03, 0x3345: 0x04, 0x3346: 0x05, 0x3347: 0x06, + 0x3348: 0x07, 0x3349: 0x08, 0x334a: 0x09, 0x334b: 0x0a, 0x334c: 0x0b, 0x334d: 0x0c, 0x334e: 0x0d, 0x334f: 0x0e, + 0x3350: 0x0f, 0x3351: 0x10, 0x3352: 0x11, 0x3353: 0x12, 0x3354: 0x13, 0x3355: 0x14, 0x3356: 0x15, 0x3357: 0x16, + 0x3358: 0x17, 0x3359: 0x18, 0x335a: 0x19, 0x335b: 0x1a, 0x335c: 0x1b, 0x335d: 0x1c, 0x335e: 0x1d, 0x335f: 0x1e, + 0x3360: 0x01, 0x3361: 0x02, 0x3362: 0x03, 0x3363: 0x04, 0x3364: 0x05, + 0x336a: 0x06, 0x336d: 0x07, 0x336f: 0x08, + 0x3370: 0x13, 0x3373: 0x15, + // Block 0xce, offset 0x3380 + 0x3380: 0x3f, 0x3381: 0x40, 0x3382: 0x41, 0x3383: 0x42, 0x3384: 0x43, 0x3385: 0x44, 0x3386: 0x45, 0x3387: 0x46, + 0x3388: 0x47, 0x3389: 0x48, 0x338a: 0x49, 0x338b: 0x4a, 0x338c: 0x4b, 0x338d: 0x4c, 0x338e: 0x4d, 0x338f: 0x4e, + 0x3390: 0x4f, 0x3391: 0x50, 0x3392: 0x51, 0x3393: 0x52, 0x3394: 0x53, 0x3395: 0x54, 0x3396: 0x55, 0x3397: 0x56, + 0x3398: 0x57, 0x3399: 0x58, 0x339a: 0x59, 0x339b: 0x5a, 0x339c: 0x5b, 0x339d: 0x5c, 0x339e: 0x5d, 0x339f: 0x5e, + 0x33a0: 0x5f, 0x33a1: 0x60, 0x33a2: 0x61, 0x33a3: 0x62, 0x33a4: 0x63, 0x33a5: 0x64, 0x33a6: 0x65, 0x33a7: 0x66, + 0x33a8: 0x67, 0x33a9: 0x68, 0x33aa: 0x69, 0x33ac: 0x6a, 0x33ad: 0x6b, 0x33ae: 0x6c, 0x33af: 0x6d, + 0x33b0: 0x6e, 0x33b1: 0x6f, 0x33b3: 0x70, 0x33b4: 0x71, 0x33b5: 0x72, 0x33b6: 0x73, 0x33b7: 0x74, + 0x33b8: 0x75, 0x33b9: 0x613, 0x33ba: 0x614, 0x33bb: 0x615, 0x33bc: 0x79, 0x33bd: 0x7a, 0x33be: 0x7b, 0x33bf: 0x7c, + // Block 0xcf, offset 0x33c0 + 0x33c2: 0x01, 0x33c3: 0x02, 0x33c4: 0x03, 0x33c5: 0x04, 0x33c6: 0x05, 0x33c7: 0x06, + 0x33c8: 0x07, 0x33c9: 0x08, 0x33ca: 0x09, 0x33cb: 0x0a, 0x33cc: 0x0b, 0x33cd: 0x0c, 0x33ce: 0x0d, 0x33cf: 0x0e, + 0x33d0: 0x0f, 0x33d1: 0x10, 0x33d2: 0x11, 0x33d3: 0x12, 0x33d4: 0x13, 0x33d5: 0x14, 0x33d6: 0x15, 0x33d7: 0x16, + 0x33d8: 0x17, 0x33d9: 0x18, 0x33da: 0x19, 0x33db: 0x1a, 0x33dc: 0x1b, 0x33dd: 0x1c, 0x33de: 0x1d, 0x33df: 0x1e, + 0x33e0: 0x01, 0x33e1: 0xcc, 0x33e2: 0x03, 0x33e3: 0x04, 0x33e4: 0x05, + 0x33ea: 0x06, 0x33ed: 0x07, 0x33ef: 0x08, + 0x33f0: 0x13, 0x33f3: 0x15, + // Block 0xd0, offset 0x3400 + 0x3400: 0x3f, 0x3401: 0x40, 0x3402: 0x41, 0x3403: 0x42, 0x3404: 0x43, 0x3405: 0x44, 0x3406: 0x45, 0x3407: 0x46, + 0x3408: 0x47, 0x3409: 0x48, 0x340a: 0x49, 0x340b: 0x4a, 0x340c: 0x4b, 0x340d: 0x4c, 0x340e: 0x4d, 0x340f: 0x4e, + 0x3410: 0x4f, 0x3411: 0x50, 0x3412: 0x51, 0x3413: 0x52, 0x3414: 0x53, 0x3415: 0x54, 0x3416: 0x55, 0x3417: 0x56, + 0x3418: 0x57, 0x3419: 0x58, 0x341a: 0x59, 0x341b: 0x5a, 0x341c: 0x5b, 0x341d: 0x5c, 0x341e: 0x5d, 0x341f: 0x5e, + 0x3420: 0x5f, 0x3421: 0x60, 0x3422: 0x61, 0x3423: 0x62, 0x3424: 0x63, 0x3425: 0x64, 0x3426: 0x65, 0x3427: 0x66, + 0x3428: 0x67, 0x3429: 0x68, 0x342a: 0x69, 0x342c: 0x6a, 0x342d: 0x6b, 0x342e: 0x6c, 0x342f: 0x6d, + 0x3430: 0x6e, 0x3431: 0x6f, 0x3433: 0x70, 0x3434: 0x71, 0x3435: 0x72, 0x3436: 0x73, 0x3437: 0x74, + 0x3438: 0x61d, 0x3439: 0x61e, 0x343a: 0x61f, 0x343b: 0x620, 0x343c: 0x79, 0x343d: 0x7a, 0x343e: 0x7b, 0x343f: 0x7c, + // Block 0xd1, offset 0x3440 + 0x3440: 0x7d, 0x3441: 0x7e, 0x3442: 0x7f, 0x3443: 0x80, 0x3444: 0x81, 0x3445: 0x82, 0x3446: 0x83, 0x3447: 0x84, + 0x3448: 0x85, 0x3449: 0x86, 0x344a: 0x87, 0x344b: 0x88, 0x344c: 0x89, 0x344d: 0x8a, 0x344e: 0x8b, 0x344f: 0x8c, + 0x3450: 0x8d, 0x3451: 0x8e, 0x3452: 0x8f, 0x3453: 0x90, 0x3454: 0x91, 0x3455: 0x92, 0x3456: 0x93, 0x3457: 0x94, + 0x3458: 0x95, 0x3459: 0x96, 0x345a: 0x97, 0x345b: 0x98, 0x345c: 0x99, 0x345d: 0x9a, 0x345e: 0x9b, 0x345f: 0x9c, + 0x3460: 0x9d, 0x3461: 0x9e, 0x3462: 0x9f, 0x3463: 0xa0, 0x3464: 0xa1, 0x3465: 0xa2, 0x3466: 0xa3, 0x3467: 0xa4, + 0x3468: 0xa5, 0x3469: 0xa6, 0x346a: 0xa7, 0x346b: 0xa8, 0x346c: 0xa9, 0x346d: 0xaa, + 0x3470: 0xab, 0x3471: 0xac, 0x3472: 0xad, 0x3473: 0xae, 0x3474: 0xaf, 0x3475: 0xb0, 0x3476: 0xb1, 0x3477: 0xb2, + 0x3478: 0xb3, 0x347a: 0x621, 0x347b: 0x622, 0x347c: 0x623, 0x347d: 0x624, 0x347e: 0x625, 0x347f: 0x626, + // Block 0xd2, offset 0x3480 + 0x3480: 0x627, 0x3481: 0xbb, 0x3482: 0xbc, 0x3483: 0xbd, 0x3484: 0xbe, 0x3485: 0xbf, 0x3486: 0x628, 0x3487: 0xc1, + 0x3488: 0x629, 0x3489: 0x62a, 0x348a: 0x62b, 0x348b: 0x62c, 0x348c: 0xc6, 0x348d: 0x62d, 0x348e: 0xc8, 0x348f: 0x62e, + 0x3490: 0x62f, 0x3491: 0x630, 0x3492: 0x631, 0x3493: 0x632, 0x3494: 0x633, 0x3495: 0x634, 0x3496: 0x635, 0x3497: 0x636, + 0x3498: 0x637, 0x3499: 0x638, 0x349a: 0x639, 0x349b: 0x63a, 0x349c: 0x63b, 0x349d: 0x63c, 0x349e: 0x63d, 0x349f: 0x63e, + 0x34a0: 0x63f, 0x34a1: 0x640, 0x34a2: 0x641, 0x34a3: 0x642, 0x34a4: 0x643, 0x34a5: 0x644, 0x34a6: 0x645, 0x34a7: 0x646, + 0x34a8: 0x647, 0x34a9: 0x648, 0x34aa: 0x649, 0x34ab: 0x64a, 0x34ac: 0x64b, 0x34ad: 0x64c, 0x34ae: 0x64d, 0x34af: 0x64e, + 0x34b0: 0x64f, 0x34b1: 0x650, 0x34b2: 0x651, 0x34b3: 0x652, 0x34b4: 0x653, 0x34b5: 0x654, 0x34b6: 0x655, 0x34b7: 0x656, + 0x34b8: 0x657, 0x34b9: 0x658, 0x34ba: 0x659, 0x34bb: 0x65a, 0x34bc: 0x65b, 0x34bd: 0x65c, 0x34be: 0x65d, 0x34bf: 0x65e, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x65f, 0x34c1: 0x660, 0x34c2: 0x661, 0x34c3: 0x662, 0x34c4: 0x663, 0x34c5: 0x664, 0x34c6: 0x665, 0x34c7: 0x666, + 0x34c8: 0x667, 0x34c9: 0x668, 0x34ca: 0x669, 0x34cb: 0x66a, 0x34cc: 0x66b, 0x34cd: 0x66c, 0x34ce: 0x66d, 0x34cf: 0x66e, + 0x34d0: 0x66f, 0x34d1: 0x670, 0x34d2: 0x671, 0x34d3: 0x672, 0x34d4: 0x673, 0x34d5: 0x674, 0x34d6: 0x675, 0x34d7: 0x676, + 0x34d8: 0x677, 0x34d9: 0x678, 0x34da: 0x679, 0x34db: 0x67a, 0x34dc: 0x67b, 0x34dd: 0x67c, 0x34de: 0x67d, 0x34df: 0x67e, + 0x34e0: 0x67f, 0x34e1: 0x680, 0x34e2: 0x681, 0x34e3: 0x682, 0x34e4: 0x683, 0x34e5: 0x684, 0x34e6: 0x685, 0x34e7: 0x686, + 0x34e8: 0x687, 0x34e9: 0x688, 0x34ea: 0x689, 0x34eb: 0x68a, 0x34ec: 0x68b, 0x34ed: 0x68c, 0x34ee: 0x68d, 0x34ef: 0x68e, + 0x34f0: 0x68f, 0x34f1: 0x690, 0x34f2: 0x691, 0x34f3: 0x692, 0x34f4: 0x693, 0x34f5: 0x694, 0x34f6: 0x695, 0x34f7: 0xca, + 0x34f8: 0x696, 0x34f9: 0x697, 0x34fa: 0x698, 0x34fb: 0x699, 0x34fc: 0x69a, 0x34fd: 0x69b, 0x34fe: 0x69c, 0x34ff: 0x69d, + // Block 0xd4, offset 0x3500 + 0x3500: 0x69e, 0x3501: 0x69f, 0x3502: 0x6a0, 0x3503: 0x6a1, 0x3504: 0x6a2, 0x3505: 0x6a3, 0x3506: 0x6a4, 0x3507: 0x6a5, + 0x3508: 0x6a6, 0x3509: 0x6a7, 0x350a: 0x6a8, 0x350b: 0x6a9, 0x350c: 0x6aa, 0x350d: 0x6ab, 0x350e: 0x6ac, 0x350f: 0x6ad, + 0x3510: 0x6ae, 0x3511: 0x6af, 0x3512: 0x6b0, 0x3513: 0x6b1, 0x3514: 0x6b2, 0x3515: 0x6b3, 0x3516: 0x6b4, 0x3517: 0x6b5, + 0x3518: 0x6b6, 0x3519: 0x6b7, 0x351a: 0x6b8, 0x351b: 0x6b9, 0x351c: 0x6ba, 0x351d: 0x6bb, 0x351e: 0x6bc, 0x351f: 0x6bd, + 0x3520: 0x6be, 0x3521: 0x6bf, 0x3522: 0x6c0, 0x3523: 0x6c1, 0x3524: 0x6c2, 0x3525: 0x6c3, 0x3526: 0x6c4, 0x3527: 0x6c5, + 0x3528: 0x6c6, 0x3529: 0x6c7, 0x352a: 0x6c8, 0x352b: 0x6c9, 0x352c: 0x6ca, 0x352d: 0x6cb, 0x352e: 0x6cc, 0x352f: 0x6cd, + 0x3530: 0x6ce, 0x3531: 0x6cf, 0x3532: 0x6d0, 0x3533: 0x6d1, 0x3534: 0x6d2, 0x3535: 0x6d3, 0x3536: 0x6d4, 0x3537: 0x6d5, + 0x3538: 0x6d6, 0x3539: 0x6d7, 0x353a: 0x6d8, 0x353b: 0x6d9, 0x353c: 0x6da, 0x353d: 0x6db, 0x353e: 0x6dc, 0x353f: 0x6dd, + // Block 0xd5, offset 0x3540 + 0x3540: 0x6de, 0x3541: 0x6df, 0x3542: 0x6e0, 0x3543: 0x6e1, 0x3544: 0x6e2, 0x3545: 0x6e3, 0x3546: 0x6e4, 0x3547: 0x6e5, + 0x3548: 0x6e6, 0x3549: 0x6e7, 0x354a: 0x6e8, 0x354b: 0x6e9, 0x354c: 0x6ea, 0x354d: 0x6eb, 0x354e: 0x6ec, 0x354f: 0x6ed, + 0x3550: 0x6ee, 0x3551: 0x6ef, 0x3552: 0x6f0, 0x3553: 0x6f1, 0x3554: 0x6f2, 0x3555: 0x6f3, 0x3556: 0x6f4, 0x3557: 0x6f5, + 0x3558: 0x6f6, 0x3559: 0x6f7, 0x355a: 0x6f8, 0x355b: 0x6f9, 0x355c: 0x6fa, 0x355d: 0x6fb, 0x355e: 0x6fc, 0x355f: 0x6fd, + 0x3560: 0x6fe, 0x3561: 0x6ff, 0x3562: 0x700, 0x3563: 0x701, 0x3564: 0x702, 0x3565: 0x703, 0x3566: 0x704, 0x3567: 0x705, + 0x3568: 0x706, 0x3569: 0x707, 0x356a: 0x708, 0x356b: 0x709, 0x356c: 0x70a, 0x356d: 0x70b, 0x356e: 0x70c, 0x356f: 0x70d, + 0x3570: 0x70e, 0x3571: 0x70f, 0x3572: 0x710, 0x3573: 0x711, 0x3574: 0x712, 0x3575: 0x713, 0x3576: 0x714, 0x3577: 0x715, + 0x3578: 0x716, 0x3579: 0x717, 0x357a: 0x718, 0x357b: 0x719, 0x357c: 0x71a, 0x357d: 0x71b, 0x357e: 0x71c, 0x357f: 0x71d, + // Block 0xd6, offset 0x3580 + 0x3580: 0x71e, 0x3581: 0x71f, 0x3582: 0x720, 0x3583: 0x721, 0x3584: 0x722, 0x3585: 0x723, 0x3586: 0x724, 0x3587: 0x725, + 0x3588: 0x726, 0x3589: 0x727, 0x358a: 0x728, 0x358b: 0x729, 0x358c: 0x72a, 0x358d: 0x72b, 0x358e: 0x72c, 0x358f: 0x72d, + 0x3590: 0x72e, 0x3591: 0x72f, 0x3592: 0x730, 0x3593: 0x731, 0x3594: 0x732, 0x3595: 0x733, 0x3596: 0x734, 0x3597: 0x735, + 0x3598: 0x736, 0x3599: 0x737, 0x359a: 0x738, 0x359b: 0x739, 0x359c: 0x73a, 0x359d: 0x73b, 0x359e: 0x73c, 0x359f: 0x73d, + 0x35a0: 0x73e, 0x35a1: 0x73f, 0x35a2: 0x740, 0x35a3: 0x741, 0x35a4: 0x742, 0x35a5: 0x743, 0x35a6: 0x744, 0x35a7: 0x745, + 0x35a8: 0x746, 0x35a9: 0x747, 0x35aa: 0x748, 0x35ab: 0x749, 0x35ac: 0x74a, 0x35ad: 0x74b, 0x35ae: 0x74c, 0x35af: 0x74d, + 0x35b0: 0x74e, 0x35b1: 0x74f, 0x35b2: 0x750, 0x35b3: 0x751, 0x35b4: 0x752, 0x35b5: 0x753, 0x35b6: 0x754, 0x35b7: 0x755, + 0x35b8: 0x756, 0x35b9: 0x757, 0x35ba: 0x758, 0x35bb: 0x759, 0x35bc: 0x75a, 0x35bd: 0x75b, 0x35be: 0x75c, 0x35bf: 0x75d, + // Block 0xd7, offset 0x35c0 + 0x35c0: 0x75e, 0x35c1: 0x75f, 0x35c2: 0x760, 0x35c3: 0x761, 0x35c4: 0x762, 0x35c5: 0x763, 0x35c6: 0x764, 0x35c7: 0x765, + 0x35c8: 0x766, 0x35c9: 0x767, 0x35ca: 0x768, 0x35cb: 0x769, 0x35cc: 0x76a, 0x35cd: 0x76b, 0x35ce: 0x76c, 0x35cf: 0x76d, + 0x35d0: 0x76e, 0x35d1: 0x76f, 0x35d2: 0x770, 0x35d3: 0x771, 0x35d4: 0x772, 0x35d5: 0x773, 0x35d6: 0x774, 0x35d7: 0x775, + 0x35d8: 0x776, 0x35d9: 0x777, 0x35da: 0x778, 0x35db: 0x779, 0x35dc: 0x77a, 0x35dd: 0x77b, 0x35de: 0x77c, 0x35df: 0x77d, + 0x35e0: 0x77e, 0x35e1: 0x77f, 0x35e2: 0x780, 0x35e3: 0x781, 0x35e4: 0x782, 0x35e5: 0x783, 0x35e6: 0x784, 0x35e7: 0x785, + 0x35e8: 0x786, 0x35e9: 0x787, 0x35ea: 0x788, 0x35eb: 0x789, 0x35ec: 0x78a, 0x35ed: 0x78b, 0x35ee: 0x78c, 0x35ef: 0x78d, + 0x35f0: 0x78e, 0x35f1: 0x78f, 0x35f2: 0x790, 0x35f3: 0x791, 0x35f4: 0x792, 0x35f5: 0x793, 0x35f6: 0x794, 0x35f7: 0x795, + 0x35f8: 0x796, 0x35f9: 0x797, 0x35fa: 0x798, 0x35fb: 0x799, 0x35fc: 0x79a, 0x35fd: 0x79b, 0x35fe: 0x79c, 0x35ff: 0x79d, + // Block 0xd8, offset 0x3600 + 0x3600: 0x79e, 0x3601: 0x79f, 0x3602: 0x7a0, 0x3603: 0x7a1, 0x3604: 0x7a2, 0x3605: 0x7a3, 0x3606: 0x7a4, 0x3607: 0x7a5, + 0x3608: 0x7a6, 0x3609: 0x7a7, 0x360a: 0x7a8, 0x360b: 0x7a9, 0x360c: 0x7aa, 0x360d: 0x7ab, 0x360e: 0x7ac, 0x360f: 0x7ad, + 0x3610: 0x7ae, 0x3611: 0x7af, 0x3612: 0x7b0, 0x3613: 0x7b1, 0x3614: 0x7b2, 0x3615: 0x7b3, 0x3616: 0x7b4, 0x3617: 0x7b5, + 0x3618: 0x7b6, 0x3619: 0x7b7, 0x361a: 0x7b8, 0x361b: 0x7b9, 0x361c: 0x7ba, 0x361d: 0x7bb, 0x361e: 0x7bc, 0x361f: 0x7bd, + 0x3620: 0x7be, 0x3621: 0x7bf, 0x3622: 0x7c0, 0x3623: 0x7c1, 0x3624: 0x7c2, 0x3625: 0x7c3, 0x3626: 0x7c4, 0x3627: 0x7c5, + 0x3628: 0x7c6, 0x3629: 0x7c7, 0x362a: 0x7c8, 0x362b: 0x7c9, 0x362c: 0x7ca, 0x362d: 0x7cb, 0x362e: 0x7cc, 0x362f: 0x7cd, + 0x3630: 0x7ce, 0x3631: 0x7cf, 0x3632: 0x7d0, 0x3633: 0x7d1, 0x3634: 0x7d2, 0x3635: 0x7d3, 0x3636: 0x7d4, 0x3637: 0x7d5, + 0x3638: 0x7d6, 0x3639: 0x7d7, 0x363a: 0x7d8, 0x363b: 0x7d9, 0x363c: 0x7da, 0x363d: 0x7db, 0x363e: 0x7dc, 0x363f: 0x7dd, + // Block 0xd9, offset 0x3640 + 0x3664: 0x7de, 0x3665: 0x7df, 0x3666: 0x7e0, 0x3667: 0x7e1, + 0x3668: 0x7e2, 0x3669: 0x7e3, 0x366a: 0x7e4, 0x366b: 0x7e5, 0x366c: 0x103, 0x366d: 0x104, 0x366e: 0x105, 0x366f: 0x106, + 0x3670: 0x107, 0x3671: 0x108, 0x3672: 0x109, 0x3673: 0x10a, 0x3674: 0x10b, 0x3675: 0x10c, 0x3676: 0x10d, 0x3677: 0x10e, + 0x3678: 0x10f, 0x3679: 0x110, 0x367a: 0x111, 0x367b: 0x112, 0x367c: 0x113, 0x367d: 0x114, 0x367e: 0x115, 0x367f: 0x116, + // Block 0xda, offset 0x3680 + 0x3680: 0x18b, 0x3681: 0x18c, 0x3682: 0x18d, 0x3683: 0x18e, 0x3684: 0x18f, 0x3685: 0x190, 0x3686: 0x191, 0x3687: 0x192, + 0x3688: 0x7e6, 0x3689: 0x7e7, 0x368c: 0x195, 0x368d: 0x196, 0x368e: 0x197, 0x368f: 0x198, + 0x3690: 0x199, 0x3691: 0x19a, 0x3692: 0x19b, 0x3693: 0x19c, 0x3694: 0x19d, 0x3695: 0x19e, 0x3697: 0x19f, + 0x3698: 0x1a0, 0x3699: 0x1a1, 0x369a: 0x1a2, 0x369b: 0x1a3, 0x369c: 0x1a4, 0x369d: 0x1a5, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x7e8, 0x36c1: 0x7e9, 0x36c2: 0x7ea, 0x36c3: 0x7eb, 0x36c4: 0x7ec, 0x36c5: 0x7ed, 0x36c6: 0x7ee, 0x36c7: 0x7ef, + 0x36c8: 0x7f0, 0x36c9: 0x7f1, 0x36ca: 0x7f2, 0x36cb: 0x7f3, 0x36cc: 0x7f4, 0x36cd: 0x7f5, 0x36ce: 0x7f6, 0x36cf: 0x7f7, + 0x36d0: 0x7f8, 0x36d1: 0x7f9, 0x36d2: 0x7fa, 0x36d3: 0x7fb, 0x36d4: 0x7fc, 0x36d5: 0x7fd, 0x36d6: 0x7fe, 0x36d7: 0x7ff, + 0x36d8: 0x800, 0x36d9: 0x801, 0x36da: 0x802, 0x36db: 0x803, 0x36dc: 0x804, 0x36dd: 0x805, 0x36de: 0x806, 0x36df: 0x807, + 0x36e0: 0x808, 0x36e1: 0x809, 0x36e2: 0x80a, 0x36e3: 0x80b, 0x36e4: 0x80c, 0x36e5: 0x80d, 0x36e6: 0x80e, 0x36e7: 0x80f, + 0x36e8: 0x810, 0x36e9: 0x811, 0x36ea: 0x812, 0x36eb: 0x813, 0x36ec: 0x814, 0x36ed: 0x815, 0x36ee: 0x816, 0x36ef: 0x817, + 0x36f0: 0x818, 0x36f1: 0x819, 0x36f2: 0x81a, 0x36f3: 0x81b, 0x36f4: 0x81c, 0x36f5: 0x81d, 0x36f6: 0x81e, 0x36f7: 0x81f, + 0x36f8: 0x820, 0x36f9: 0x821, 0x36fa: 0x822, 0x36fb: 0x823, 0x36fc: 0x824, 0x36fd: 0x825, 0x36fe: 0x826, 0x36ff: 0x827, + // Block 0xdc, offset 0x3700 + 0x3700: 0x828, 0x3701: 0x829, 0x3702: 0x82a, 0x3703: 0x82b, 0x3704: 0x82c, 0x3705: 0x82d, 0x3706: 0x82e, 0x3707: 0x82f, + 0x3708: 0x830, 0x3709: 0x831, 0x370a: 0x832, 0x370b: 0x833, 0x370c: 0x834, 0x370d: 0x835, 0x370e: 0x836, 0x370f: 0x837, + 0x3710: 0x838, 0x3711: 0x839, 0x3712: 0x83a, 0x3713: 0x83b, 0x3714: 0x83c, 0x3715: 0x83d, 0x3716: 0x83e, 0x3717: 0x83f, + 0x3718: 0x840, 0x3719: 0x841, 0x371a: 0x842, 0x371b: 0x843, 0x371c: 0x844, 0x371d: 0x845, 0x371e: 0x846, 0x371f: 0x847, + 0x3720: 0x848, 0x3721: 0x849, 0x3722: 0x84a, 0x3723: 0x84b, 0x3724: 0x84c, 0x3725: 0x84d, 0x3726: 0x84e, 0x3727: 0x84f, + 0x3728: 0x850, 0x3729: 0x851, 0x372a: 0x852, 0x372b: 0x853, 0x372c: 0x854, 0x372d: 0x855, 0x372e: 0x856, 0x372f: 0x857, + 0x3730: 0x858, 0x3731: 0x859, 0x3732: 0x85a, 0x3733: 0x85b, 0x3734: 0x85c, 0x3735: 0x85d, 0x3736: 0x85e, 0x3737: 0x85f, + 0x3738: 0x860, 0x3739: 0x861, 0x373a: 0x862, 0x373b: 0x863, 0x373c: 0x864, 0x373d: 0x865, 0x373e: 0x866, 0x373f: 0x867, + // Block 0xdd, offset 0x3740 + 0x3740: 0x868, 0x3741: 0x869, 0x3742: 0x86a, 0x3743: 0x86b, 0x3744: 0x86c, 0x3745: 0x86d, 0x3746: 0x86e, 0x3747: 0x86f, + 0x3748: 0x870, 0x3749: 0x871, 0x374a: 0x872, 0x374b: 0x873, 0x374c: 0x874, 0x374d: 0x875, 0x374e: 0x876, 0x374f: 0x877, + 0x3750: 0x878, 0x3751: 0x879, 0x3752: 0x87a, 0x3753: 0x87b, 0x3754: 0x87c, 0x3755: 0x87d, 0x3756: 0x87e, 0x3757: 0x87f, + 0x3758: 0x880, 0x3759: 0x881, 0x375a: 0x882, 0x375b: 0x883, 0x375c: 0x884, 0x375d: 0x885, 0x375e: 0x886, 0x375f: 0x887, + 0x3760: 0x888, 0x3761: 0x889, 0x3762: 0x88a, 0x3763: 0x88b, 0x3764: 0x88c, 0x3765: 0x88d, 0x3766: 0x88e, 0x3767: 0x88f, + 0x3768: 0x890, 0x3769: 0x891, 0x376a: 0x892, 0x376b: 0x893, 0x376c: 0x894, 0x376d: 0x895, 0x376e: 0x896, 0x376f: 0x897, + 0x3770: 0x898, 0x3771: 0x899, 0x3772: 0x89a, 0x3773: 0x89b, 0x3774: 0x89c, 0x3775: 0x89d, 0x3776: 0x89e, 0x3777: 0x89f, + 0x3778: 0x8a0, 0x3779: 0x8a1, 0x377a: 0x8a2, 0x377b: 0x8a3, 0x377c: 0x8a4, 0x377d: 0x8a5, 0x377e: 0x8a6, 0x377f: 0x8a7, + // Block 0xde, offset 0x3780 + 0x3780: 0x8a8, 0x3781: 0x8a9, 0x3782: 0x8aa, 0x3783: 0x8ab, 0x3784: 0x8ac, 0x3785: 0x8ad, 0x3786: 0x8ae, 0x3787: 0x8af, + 0x3788: 0x8b0, 0x3789: 0x8b1, 0x378a: 0x8b2, 0x378b: 0x8b3, 0x378c: 0x8b4, 0x378d: 0x8b5, 0x378e: 0x8b6, 0x378f: 0x8b7, + 0x3790: 0x8b8, 0x3791: 0x8b9, 0x3792: 0x8ba, 0x3793: 0x8bb, 0x3794: 0x8bc, 0x3795: 0x8bd, 0x3796: 0x8be, 0x3797: 0x8bf, + 0x3798: 0x8c0, 0x3799: 0x8c1, 0x379a: 0x8c2, 0x379b: 0x8c3, 0x379c: 0x8c4, 0x379d: 0x8c5, 0x379e: 0x8c6, 0x379f: 0x8c7, + 0x37a0: 0x8c8, 0x37a1: 0x8c9, 0x37a2: 0x8ca, 0x37a3: 0x8cb, 0x37a4: 0x8cc, 0x37a5: 0x8cd, 0x37a6: 0x8ce, 0x37a7: 0x8cf, + 0x37a8: 0x8d0, 0x37a9: 0x8d1, 0x37aa: 0x8d2, 0x37ab: 0x8d3, 0x37ac: 0x8d4, 0x37ad: 0x8d5, 0x37ae: 0x8d6, 0x37af: 0x8d7, + 0x37b0: 0x8d8, 0x37b1: 0x8d9, 0x37b2: 0x8da, 0x37b3: 0x8db, 0x37b4: 0x8dc, 0x37b5: 0x8dd, 0x37b6: 0x8de, 0x37b7: 0x8df, + 0x37b8: 0x8e0, 0x37b9: 0x8e1, 0x37ba: 0x8e2, 0x37bb: 0x8e3, 0x37bc: 0x8e4, 0x37bd: 0x8e5, 0x37be: 0x8e6, 0x37bf: 0x8e7, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x8e8, 0x37c1: 0x8e9, 0x37c2: 0x8ea, 0x37c3: 0x8eb, 0x37c4: 0x8ec, 0x37c5: 0x8ed, 0x37c6: 0x8ee, 0x37c7: 0x8ef, + 0x37c8: 0x8f0, 0x37c9: 0x8f1, 0x37ca: 0x8f2, 0x37cb: 0x8f3, 0x37cc: 0x8f4, 0x37cd: 0x8f5, 0x37ce: 0x8f6, 0x37cf: 0x8f7, + 0x37d0: 0x8f8, 0x37d1: 0x8f9, 0x37d2: 0x8fa, 0x37d3: 0x8fb, 0x37d4: 0x8fc, 0x37d5: 0x8fd, 0x37d6: 0x8fe, 0x37d7: 0x8ff, + 0x37d8: 0x900, 0x37d9: 0x901, 0x37da: 0x902, 0x37db: 0x903, 0x37dc: 0x904, 0x37dd: 0x905, 0x37de: 0x906, 0x37df: 0x907, + 0x37e0: 0x908, 0x37e1: 0x909, 0x37e2: 0x90a, 0x37e3: 0x90b, 0x37e4: 0x90c, 0x37e5: 0x90d, 0x37e6: 0x90e, 0x37e7: 0x90f, + 0x37e8: 0x910, 0x37e9: 0x911, 0x37ea: 0x912, 0x37eb: 0x913, 0x37ec: 0x914, 0x37ed: 0x915, 0x37ee: 0x916, 0x37ef: 0x917, + 0x37f0: 0x918, 0x37f1: 0x919, 0x37f2: 0x91a, 0x37f3: 0x91b, 0x37f4: 0x91c, 0x37f5: 0x91d, 0x37f6: 0x91e, 0x37f7: 0x91f, + 0x37f8: 0x920, 0x37f9: 0x921, 0x37fa: 0x922, 0x37fb: 0x923, 0x37fc: 0x924, 0x37fd: 0x925, 0x37fe: 0x926, 0x37ff: 0x927, + // Block 0xe0, offset 0x3800 + 0x3800: 0x928, 0x3801: 0x929, 0x3802: 0x92a, 0x3803: 0x92b, 0x3804: 0x92c, 0x3805: 0x92d, 0x3806: 0x92e, 0x3807: 0x92f, + 0x3808: 0x930, 0x3809: 0x931, 0x380a: 0x932, 0x380b: 0x933, 0x380c: 0x934, 0x380d: 0x935, 0x380e: 0x936, 0x380f: 0x937, + 0x3810: 0x938, 0x3811: 0x939, 0x3812: 0x93a, 0x3813: 0x93b, 0x3814: 0x93c, 0x3815: 0x93d, 0x3816: 0x93e, 0x3817: 0x93f, + 0x3818: 0x940, 0x3819: 0x941, 0x381a: 0x942, 0x381b: 0x943, 0x381c: 0x944, 0x381d: 0x945, 0x381e: 0x946, 0x381f: 0x947, + 0x3820: 0x948, 0x3821: 0x949, 0x3822: 0x94a, 0x3823: 0x94b, 0x3824: 0x94c, 0x3825: 0x94d, 0x3826: 0x94e, 0x3827: 0x94f, + 0x3828: 0x950, 0x3829: 0x951, 0x382a: 0x952, 0x382b: 0x953, 0x382c: 0x954, 0x382d: 0x955, 0x382e: 0x956, 0x382f: 0x957, + 0x3830: 0x958, 0x3831: 0x959, 0x3832: 0x95a, 0x3833: 0x95b, 0x3834: 0x95c, 0x3835: 0x95d, 0x3836: 0x95e, 0x3837: 0x95f, + 0x3838: 0x960, 0x3839: 0x961, 0x383a: 0x962, 0x383b: 0x963, 0x383c: 0x964, 0x383d: 0x965, 0x383e: 0x966, 0x383f: 0x967, + // Block 0xe1, offset 0x3840 + 0x3840: 0x968, 0x3841: 0x969, 0x3842: 0x96a, 0x3843: 0x96b, 0x3844: 0x96c, 0x3845: 0x96d, 0x3846: 0x96e, 0x3847: 0x96f, + 0x3848: 0x970, 0x3849: 0x971, 0x384a: 0x972, 0x384b: 0x973, 0x384c: 0x974, 0x384d: 0x975, 0x384e: 0x976, 0x384f: 0x977, + 0x3850: 0x978, 0x3851: 0x979, 0x3852: 0x97a, 0x3853: 0x97b, 0x3854: 0x97c, 0x3855: 0x97d, 0x3856: 0x97e, 0x3857: 0x97f, + 0x3858: 0x980, 0x3859: 0x981, 0x385a: 0x982, 0x385b: 0x983, 0x385c: 0x984, 0x385d: 0x985, 0x385e: 0x986, 0x385f: 0x987, + 0x3860: 0x988, 0x3861: 0x989, 0x3862: 0x98a, 0x3863: 0x98b, 0x3864: 0x98c, 0x3865: 0x98d, 0x3866: 0x98e, 0x3867: 0x98f, + 0x3868: 0x990, 0x3869: 0x991, 0x386a: 0x992, 0x386b: 0x993, 0x386c: 0x994, 0x386d: 0x995, 0x386e: 0x996, 0x386f: 0x997, + 0x3870: 0x998, 0x3871: 0x999, 0x3872: 0x99a, 0x3873: 0x99b, 0x3874: 0x99c, 0x3875: 0x99d, 0x3876: 0x99e, 0x3877: 0x99f, + 0x3878: 0x9a0, 0x3879: 0x9a1, 0x387a: 0x9a2, 0x387b: 0x9a3, 0x387c: 0x9a4, 0x387d: 0x9a5, 0x387e: 0x9a6, 0x387f: 0x9a7, + // Block 0xe2, offset 0x3880 + 0x3880: 0x9a8, 0x3881: 0x9a9, 0x3882: 0x9aa, 0x3883: 0x9ab, 0x3884: 0x9ac, 0x3885: 0x9ad, 0x3886: 0x9ae, 0x3887: 0x9af, + 0x3888: 0x9b0, 0x3889: 0x9b1, 0x388a: 0x9b2, 0x388b: 0x9b3, 0x388c: 0x9b4, 0x388d: 0x9b5, 0x388e: 0x9b6, 0x388f: 0x9b7, + 0x3890: 0x9b8, 0x3891: 0x9b9, 0x3892: 0x9ba, 0x3893: 0x9bb, 0x3894: 0x9bc, 0x3895: 0x9bd, 0x3896: 0x9be, 0x3897: 0x9bf, + 0x3898: 0x9c0, 0x3899: 0x9c1, 0x389a: 0x9c2, 0x389b: 0x9c3, 0x389c: 0x9c4, 0x389d: 0x9c5, 0x389e: 0x9c6, 0x389f: 0x9c7, + 0x38a0: 0x9c8, 0x38a1: 0x9c9, 0x38a2: 0x9ca, 0x38a3: 0x9cb, 0x38a4: 0x9cc, 0x38a5: 0x9cd, 0x38a6: 0x9ce, 0x38a7: 0x9cf, + 0x38a8: 0x9d0, 0x38a9: 0x9d1, 0x38aa: 0x9d2, 0x38ab: 0x9d3, 0x38ac: 0x9d4, 0x38ad: 0x9d5, 0x38ae: 0x9d6, 0x38af: 0x9d7, + 0x38b0: 0x9d8, 0x38b1: 0x9d9, 0x38b2: 0x9da, 0x38b3: 0x9db, 0x38b4: 0x9dc, 0x38b5: 0x9dd, 0x38b6: 0x9de, 0x38b7: 0x9df, + 0x38b8: 0x9e0, 0x38b9: 0x9e1, 0x38ba: 0x9e2, 0x38bb: 0x9e3, 0x38bc: 0x9e4, 0x38bd: 0x9e5, 0x38be: 0x9e6, 0x38bf: 0x9e7, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x9e8, 0x38c1: 0x9e9, 0x38c2: 0x9ea, 0x38c3: 0x9eb, 0x38c4: 0x9ec, 0x38c5: 0x9ed, 0x38c6: 0x9ee, 0x38c7: 0x9ef, + 0x38c8: 0x9f0, 0x38c9: 0x9f1, 0x38ca: 0x9f2, 0x38cb: 0x9f3, 0x38cc: 0x9f4, 0x38cd: 0x9f5, 0x38ce: 0x9f6, 0x38cf: 0x9f7, + 0x38d0: 0x9f8, 0x38d1: 0x9f9, 0x38d2: 0x9fa, 0x38d3: 0x9fb, 0x38d4: 0x9fc, 0x38d5: 0x9fd, 0x38d6: 0x9fe, 0x38d7: 0x9ff, + 0x38d8: 0xa00, 0x38d9: 0xa01, 0x38da: 0xa02, 0x38db: 0xa03, 0x38dc: 0xa04, 0x38dd: 0xa05, 0x38de: 0xa06, 0x38df: 0xa07, + 0x38e0: 0xa08, 0x38e1: 0xa09, 0x38e2: 0xa0a, 0x38e3: 0xa0b, 0x38e4: 0xa0c, 0x38e5: 0xa0d, 0x38e6: 0xa0e, 0x38e7: 0xa0f, + 0x38e8: 0xa10, 0x38e9: 0xa11, 0x38ea: 0xa12, 0x38eb: 0xa13, 0x38ec: 0xa14, 0x38ed: 0xa15, 0x38ee: 0xa16, 0x38ef: 0xa17, + 0x38f0: 0xa18, 0x38f1: 0xa19, 0x38f2: 0xa1a, 0x38f3: 0xa1b, 0x38f4: 0xa1c, 0x38f5: 0xa1d, 0x38f6: 0xa1e, 0x38f7: 0xa1f, + 0x38f8: 0xa20, 0x38f9: 0xa21, 0x38fa: 0xa22, 0x38fb: 0xa23, 0x38fc: 0xa24, 0x38fd: 0xa25, 0x38fe: 0xa26, 0x38ff: 0xa27, + // Block 0xe4, offset 0x3900 + 0x3900: 0xa28, 0x3901: 0xa29, 0x3902: 0xa2a, 0x3903: 0xa2b, 0x3904: 0xa2c, 0x3905: 0xa2d, 0x3906: 0xa2e, 0x3907: 0xa2f, + 0x3908: 0xa30, 0x3909: 0xa31, 0x390a: 0xa32, 0x390b: 0xa33, 0x390c: 0xa34, 0x390d: 0xa35, 0x390e: 0xa36, 0x390f: 0xa37, + 0x3910: 0xa38, 0x3911: 0xa39, 0x3912: 0xa3a, 0x3913: 0xa3b, 0x3914: 0xa3c, 0x3915: 0xa3d, 0x3916: 0xa3e, 0x3917: 0xa3f, + 0x3918: 0xa40, 0x3919: 0xa41, 0x391a: 0xa42, 0x391b: 0xa43, 0x391c: 0xa44, 0x391d: 0xa45, 0x391e: 0xa46, 0x391f: 0xa47, + 0x3920: 0xa48, 0x3921: 0xa49, 0x3922: 0xa4a, 0x3923: 0xa4b, 0x3924: 0xa4c, 0x3925: 0xa4d, 0x3926: 0xa4e, 0x3927: 0xa4f, + 0x3928: 0xa50, 0x3929: 0xa51, 0x392a: 0xa52, 0x392b: 0xa53, 0x392c: 0xa54, 0x392d: 0xa55, 0x392e: 0xa56, 0x392f: 0xa57, + 0x3930: 0xa58, 0x3931: 0xa59, 0x3932: 0xa5a, 0x3933: 0xa5b, 0x3934: 0xa5c, 0x3935: 0xa5d, 0x3936: 0xa5e, 0x3937: 0xa5f, + 0x3938: 0xa60, 0x3939: 0xa61, 0x393a: 0xa62, 0x393b: 0xa63, 0x393c: 0xa64, 0x393d: 0xa65, 0x393e: 0xa66, 0x393f: 0xa67, + // Block 0xe5, offset 0x3940 + 0x3940: 0xa68, 0x3941: 0xa69, 0x3942: 0xa6a, 0x3943: 0xa6b, 0x3944: 0xa6c, 0x3945: 0xa6d, 0x3946: 0xa6e, 0x3947: 0xa6f, + 0x3948: 0xa70, 0x3949: 0xa71, 0x394a: 0xa72, 0x394b: 0xa73, 0x394c: 0xa74, 0x394d: 0xa75, 0x394e: 0xa76, 0x394f: 0xa77, + 0x3950: 0xa78, 0x3951: 0xa79, 0x3952: 0xa7a, 0x3953: 0xa7b, 0x3954: 0xa7c, 0x3955: 0xa7d, 0x3956: 0xa7e, 0x3957: 0xa7f, + 0x3958: 0xa80, 0x3959: 0xa81, 0x395a: 0xa82, 0x395b: 0xa83, 0x395e: 0xa84, + 0x3961: 0xa85, 0x3962: 0xa86, + 0x3968: 0xa87, 0x396a: 0xa88, + 0x397a: 0xa89, 0x397b: 0xa8a, 0x397e: 0xa8b, + // Block 0xe6, offset 0x3980 + 0x3981: 0xa8c, 0x3982: 0xa8d, 0x3983: 0xa8e, 0x3984: 0xa8f, + 0x3988: 0xa90, 0x398b: 0xa91, 0x398c: 0xa92, 0x398d: 0xa93, 0x398f: 0xa94, + 0x3990: 0xa95, 0x3992: 0xa96, 0x3993: 0xa97, 0x3994: 0xa98, 0x3997: 0xa99, + 0x3998: 0xa9a, 0x399a: 0xa9b, 0x399b: 0xa9c, + // Block 0xe7, offset 0x39c0 + 0x39e0: 0xa9d, 0x39e1: 0xa9e, 0x39e2: 0xa9f, 0x39e3: 0xaa0, 0x39e4: 0xaa1, 0x39e5: 0xaa2, 0x39e6: 0xaa3, 0x39e7: 0xaa4, + 0x39e8: 0xaa5, + // Block 0xe8, offset 0x3a00 + 0x3a10: 0x09, 0x3a11: 0x0a, 0x3a12: 0x0b, 0x3a13: 0x0c, 0x3a16: 0x0d, + 0x3a1b: 0x0e, 0x3a1d: 0x0f, 0x3a1e: 0x10, 0x3a1f: 0xd8, + 0x3a20: 0xd9, 0x3a21: 0xda, 0x3a22: 0xdb, 0x3a23: 0xdc, 0x3a24: 0xdd, 0x3a25: 0xde, 0x3a26: 0xdf, 0x3a27: 0xe0, + 0x3a28: 0xe1, 0x3a29: 0xe2, 0x3a2a: 0xe3, 0x3a2b: 0xe4, 0x3a2f: 0xe5, + // Block 0xe9, offset 0x3a40 + 0x3a42: 0x01, 0x3a43: 0x618, 0x3a44: 0x619, 0x3a45: 0x61a, 0x3a46: 0x05, 0x3a47: 0x61b, + 0x3a48: 0x61c, 0x3a49: 0x08, 0x3a4a: 0x09, 0x3a4b: 0x0a, 0x3a4c: 0x0b, 0x3a4d: 0x0c, 0x3a4e: 0x0d, 0x3a4f: 0x0e, + 0x3a50: 0x0f, 0x3a51: 0x10, 0x3a52: 0x11, 0x3a53: 0x12, 0x3a54: 0x13, 0x3a55: 0x14, 0x3a56: 0x15, 0x3a57: 0x16, + 0x3a58: 0x17, 0x3a59: 0x18, 0x3a5a: 0x19, 0x3a5b: 0x1a, 0x3a5c: 0x1b, 0x3a5d: 0x1c, 0x3a5e: 0x1d, 0x3a5f: 0x1e, + 0x3a60: 0x01, 0x3a61: 0xce, 0x3a62: 0xcf, 0x3a63: 0xd0, 0x3a64: 0xd1, 0x3a65: 0xd2, 0x3a66: 0xd3, 0x3a67: 0xd4, + 0x3a68: 0xd5, 0x3a69: 0xd6, 0x3a6a: 0x06, 0x3a6d: 0x07, 0x3a6f: 0xd7, + 0x3a70: 0xe6, 0x3a73: 0x15, + // Block 0xea, offset 0x3a80 + 0x3a80: 0x7d, 0x3a81: 0x7e, 0x3a82: 0x7f, 0x3a83: 0x80, 0x3a84: 0x81, 0x3a85: 0x82, 0x3a86: 0x83, 0x3a87: 0x84, + 0x3a88: 0x85, 0x3a89: 0x86, 0x3a8a: 0x87, 0x3a8b: 0x88, 0x3a8c: 0x89, 0x3a8d: 0x8a, 0x3a8e: 0x8b, 0x3a8f: 0x8c, + 0x3a90: 0x8d, 0x3a91: 0x8e, 0x3a92: 0x8f, 0x3a93: 0x90, 0x3a94: 0x91, 0x3a95: 0x92, 0x3a96: 0x93, 0x3a97: 0x94, + 0x3a98: 0x95, 0x3a99: 0x96, 0x3a9a: 0x97, 0x3a9b: 0x98, 0x3a9c: 0x99, 0x3a9d: 0x9a, 0x3a9e: 0x9b, 0x3a9f: 0x9c, + 0x3aa0: 0x9d, 0x3aa1: 0x9e, 0x3aa2: 0x9f, 0x3aa3: 0xa0, 0x3aa4: 0xa1, 0x3aa5: 0xa2, 0x3aa6: 0xa3, 0x3aa7: 0xa4, + 0x3aa8: 0xa5, 0x3aa9: 0xa6, 0x3aaa: 0xa7, 0x3aab: 0xa8, 0x3aac: 0xa9, 0x3aad: 0xaa, + 0x3ab0: 0xab, 0x3ab1: 0xac, 0x3ab2: 0xad, 0x3ab3: 0xae, 0x3ab4: 0xaf, 0x3ab5: 0xb0, 0x3ab6: 0xb1, 0x3ab7: 0xb2, + 0x3ab8: 0xb3, 0x3aba: 0xaa6, 0x3abb: 0xaa7, 0x3abc: 0xaa8, 0x3abd: 0xaa9, 0x3abe: 0xaaa, 0x3abf: 0xaab, + // Block 0xeb, offset 0x3ac0 + 0x3ac0: 0xaac, 0x3ac1: 0xbb, 0x3ac2: 0xbc, 0x3ac3: 0xbd, 0x3ac4: 0xbe, 0x3ac5: 0xbf, 0x3ac6: 0xaad, 0x3ac7: 0xc1, + 0x3ac8: 0xaae, 0x3ac9: 0xaaf, 0x3aca: 0xab0, 0x3acb: 0xab1, 0x3acc: 0xc6, 0x3acd: 0xab2, 0x3ace: 0xc8, 0x3acf: 0xab3, + 0x3ad0: 0xab4, 0x3ad1: 0xab5, 0x3ad2: 0xab6, 0x3ad3: 0xab7, 0x3ad4: 0xab8, 0x3ad5: 0xab9, 0x3ad6: 0xaba, 0x3ad7: 0xabb, + 0x3ad8: 0xabc, 0x3ad9: 0xabd, 0x3ada: 0xabe, 0x3adb: 0xabf, 0x3adc: 0xac0, 0x3add: 0xac1, 0x3ade: 0xac2, 0x3adf: 0xac3, + 0x3ae0: 0xac4, 0x3ae1: 0xac5, 0x3ae2: 0xac6, 0x3ae3: 0xac7, 0x3ae4: 0xac8, 0x3ae5: 0xac9, 0x3ae6: 0xaca, 0x3ae7: 0xacb, + 0x3ae8: 0xacc, 0x3ae9: 0xacd, 0x3aea: 0xace, 0x3aeb: 0xacf, 0x3aec: 0xad0, 0x3aed: 0xad1, 0x3aee: 0xad2, 0x3aef: 0xad3, + 0x3af0: 0xad4, 0x3af1: 0xad5, 0x3af2: 0xad6, 0x3af3: 0xad7, 0x3af4: 0xad8, 0x3af5: 0xad9, 0x3af6: 0xada, 0x3af7: 0xadb, + 0x3af8: 0xadc, 0x3af9: 0xadd, 0x3afa: 0xade, 0x3afb: 0xadf, 0x3afc: 0xae0, 0x3afd: 0xae1, 0x3afe: 0xae2, 0x3aff: 0xae3, + // Block 0xec, offset 0x3b00 + 0x3b00: 0xae4, 0x3b01: 0xae5, 0x3b02: 0xae6, 0x3b03: 0xae7, 0x3b04: 0xae8, 0x3b05: 0xae9, 0x3b06: 0xaea, 0x3b07: 0xaeb, + 0x3b08: 0xaec, 0x3b09: 0xaed, 0x3b0a: 0xaee, 0x3b0b: 0xaef, 0x3b0c: 0xaf0, 0x3b0d: 0xaf1, 0x3b0e: 0xaf2, 0x3b0f: 0xaf3, + 0x3b10: 0xaf4, 0x3b11: 0xaf5, 0x3b12: 0xaf6, 0x3b13: 0xaf7, 0x3b14: 0xaf8, 0x3b15: 0xaf9, 0x3b16: 0xafa, 0x3b17: 0xafb, + 0x3b18: 0xafc, 0x3b19: 0xafd, 0x3b1a: 0xafe, 0x3b1b: 0xaff, 0x3b1c: 0xb00, 0x3b1d: 0xb01, 0x3b1e: 0xb02, 0x3b1f: 0xb03, + 0x3b20: 0xb04, 0x3b21: 0xb05, 0x3b22: 0xb06, 0x3b23: 0xb07, 0x3b24: 0xb08, 0x3b25: 0xb09, 0x3b26: 0xb0a, 0x3b27: 0xb0b, + 0x3b28: 0xb0c, 0x3b29: 0xb0d, 0x3b2a: 0xb0e, 0x3b2b: 0xb0f, 0x3b2c: 0xb10, 0x3b2d: 0xb11, 0x3b2e: 0xb12, 0x3b2f: 0xb13, + 0x3b30: 0xb14, 0x3b31: 0xb15, 0x3b32: 0xb16, 0x3b33: 0xb17, 0x3b34: 0xb18, 0x3b35: 0xb19, 0x3b36: 0xb1a, 0x3b37: 0xca, + 0x3b38: 0xb1b, 0x3b39: 0xb1c, 0x3b3a: 0xb1d, 0x3b3b: 0xb1e, 0x3b3c: 0xb1f, 0x3b3d: 0xb20, 0x3b3e: 0xb21, 0x3b3f: 0xb22, + // Block 0xed, offset 0x3b40 + 0x3b40: 0xb23, 0x3b41: 0xb24, 0x3b42: 0xb25, 0x3b43: 0xb26, 0x3b44: 0xb27, 0x3b45: 0xb28, 0x3b46: 0xb29, 0x3b47: 0xb2a, + 0x3b48: 0xb2b, 0x3b49: 0xb2c, 0x3b4a: 0xb2d, 0x3b4b: 0xb2e, 0x3b4c: 0xb2f, 0x3b4d: 0xb30, 0x3b4e: 0xb31, 0x3b4f: 0xb32, + 0x3b50: 0xb33, 0x3b51: 0xb34, 0x3b52: 0xb35, 0x3b53: 0xb36, 0x3b54: 0xb37, 0x3b55: 0xb38, 0x3b56: 0xb39, 0x3b57: 0xb3a, + 0x3b58: 0xb3b, 0x3b59: 0xb3c, 0x3b5a: 0xb3d, 0x3b5b: 0xb3e, 0x3b5c: 0xb3f, 0x3b5d: 0xb40, 0x3b5e: 0xb41, 0x3b5f: 0xb42, + 0x3b60: 0xb43, 0x3b61: 0xb44, 0x3b62: 0xb45, 0x3b63: 0xb46, 0x3b64: 0xb47, 0x3b65: 0xb48, 0x3b66: 0xb49, 0x3b67: 0xb4a, + 0x3b68: 0xb4b, 0x3b69: 0xb4c, 0x3b6a: 0xb4d, 0x3b6b: 0xb4e, 0x3b6c: 0xb4f, 0x3b6d: 0xb50, 0x3b6e: 0xb51, 0x3b6f: 0xb52, + 0x3b70: 0xb53, 0x3b71: 0xb54, 0x3b72: 0xb55, 0x3b73: 0xb56, 0x3b74: 0xb57, 0x3b75: 0xb58, 0x3b76: 0xb59, 0x3b77: 0xb5a, + 0x3b78: 0xb5b, 0x3b79: 0xb5c, 0x3b7a: 0xb5d, 0x3b7b: 0xb5e, 0x3b7c: 0xb5f, 0x3b7d: 0xb60, 0x3b7e: 0xb61, 0x3b7f: 0xb62, + // Block 0xee, offset 0x3b80 + 0x3b80: 0xb63, 0x3b81: 0xb64, 0x3b82: 0xb65, 0x3b83: 0xb66, 0x3b84: 0xb67, 0x3b85: 0xb68, 0x3b86: 0xb69, 0x3b87: 0xb6a, + 0x3b88: 0xb6b, 0x3b89: 0xb6c, 0x3b8a: 0xb6d, 0x3b8b: 0xb6e, 0x3b8c: 0xb6f, 0x3b8d: 0xb70, 0x3b8e: 0xb71, 0x3b8f: 0xb72, + 0x3b90: 0xb73, 0x3b91: 0xb74, 0x3b92: 0xb75, 0x3b93: 0xb76, 0x3b94: 0xb77, 0x3b95: 0xb78, 0x3b96: 0xb79, 0x3b97: 0xb7a, + 0x3b98: 0xb7b, 0x3b99: 0xb7c, 0x3b9a: 0xb7d, 0x3b9b: 0xb7e, 0x3b9c: 0xb7f, 0x3b9d: 0xb80, 0x3b9e: 0xb81, 0x3b9f: 0xb82, + 0x3ba0: 0xb83, 0x3ba1: 0xb84, 0x3ba2: 0xb85, 0x3ba3: 0xb86, 0x3ba4: 0xb87, 0x3ba5: 0xb88, 0x3ba6: 0xb89, 0x3ba7: 0xb8a, + 0x3ba8: 0xb8b, 0x3ba9: 0xb8c, 0x3baa: 0xb8d, 0x3bab: 0xb8e, 0x3bac: 0xb8f, 0x3bad: 0xb90, 0x3bae: 0xb91, 0x3baf: 0xb92, + 0x3bb0: 0xb93, 0x3bb1: 0xb94, 0x3bb2: 0xb95, 0x3bb3: 0xb96, 0x3bb4: 0xb97, 0x3bb5: 0xb98, 0x3bb6: 0xb99, 0x3bb7: 0xb9a, + 0x3bb8: 0xb9b, 0x3bb9: 0xb9c, 0x3bba: 0xb9d, 0x3bbb: 0xb9e, 0x3bbc: 0xb9f, 0x3bbd: 0xba0, 0x3bbe: 0xba1, 0x3bbf: 0xba2, + // Block 0xef, offset 0x3bc0 + 0x3bc0: 0xba3, 0x3bc1: 0xba4, 0x3bc2: 0xba5, 0x3bc3: 0xba6, 0x3bc4: 0xba7, 0x3bc5: 0xba8, 0x3bc6: 0xba9, 0x3bc7: 0xbaa, + 0x3bc8: 0xbab, 0x3bc9: 0xbac, 0x3bca: 0xbad, 0x3bcb: 0xbae, 0x3bcc: 0xbaf, 0x3bcd: 0xbb0, 0x3bce: 0xbb1, 0x3bcf: 0xbb2, + 0x3bd0: 0xbb3, 0x3bd1: 0xbb4, 0x3bd2: 0xbb5, 0x3bd3: 0xbb6, 0x3bd4: 0xbb7, 0x3bd5: 0xbb8, 0x3bd6: 0xbb9, 0x3bd7: 0xbba, + 0x3bd8: 0xbbb, 0x3bd9: 0xbbc, 0x3bda: 0xbbd, 0x3bdb: 0xbbe, 0x3bdc: 0xbbf, 0x3bdd: 0xbc0, 0x3bde: 0xbc1, 0x3bdf: 0xbc2, + 0x3be0: 0xbc3, 0x3be1: 0xbc4, 0x3be2: 0xbc5, 0x3be3: 0xbc6, 0x3be4: 0xbc7, 0x3be5: 0xbc8, 0x3be6: 0xbc9, 0x3be7: 0xbca, + 0x3be8: 0xbcb, 0x3be9: 0xbcc, 0x3bea: 0xbcd, 0x3beb: 0xbce, 0x3bec: 0xbcf, 0x3bed: 0xbd0, 0x3bee: 0xbd1, 0x3bef: 0xbd2, + 0x3bf0: 0xbd3, 0x3bf1: 0xbd4, 0x3bf2: 0xbd5, 0x3bf3: 0xbd6, 0x3bf4: 0xbd7, 0x3bf5: 0xbd8, 0x3bf6: 0xbd9, 0x3bf7: 0xbda, + 0x3bf8: 0xbdb, 0x3bf9: 0xbdc, 0x3bfa: 0xbdd, 0x3bfb: 0xbde, 0x3bfc: 0xbdf, 0x3bfd: 0xbe0, 0x3bfe: 0xbe1, 0x3bff: 0xbe2, + // Block 0xf0, offset 0x3c00 + 0x3c00: 0xbe3, 0x3c01: 0xbe4, 0x3c02: 0xbe5, 0x3c03: 0xbe6, 0x3c04: 0xbe7, 0x3c05: 0xbe8, 0x3c06: 0xbe9, 0x3c07: 0xbea, + 0x3c08: 0xbeb, 0x3c09: 0xbec, 0x3c0a: 0xbed, 0x3c0b: 0xbee, 0x3c0c: 0xbef, 0x3c0d: 0xbf0, 0x3c0e: 0xbf1, 0x3c0f: 0xbf2, + 0x3c10: 0xbf3, 0x3c11: 0xbf4, 0x3c12: 0xbf5, 0x3c13: 0xbf6, 0x3c14: 0xbf7, 0x3c15: 0xbf8, 0x3c16: 0xbf9, 0x3c17: 0xbfa, + 0x3c18: 0xbfb, 0x3c19: 0xbfc, 0x3c1a: 0xbfd, 0x3c1b: 0xbfe, 0x3c1c: 0xbff, 0x3c1d: 0xc00, 0x3c1e: 0xc01, 0x3c1f: 0xc02, + 0x3c20: 0xc03, 0x3c21: 0xc04, 0x3c22: 0xc05, 0x3c23: 0xc06, 0x3c24: 0xc07, 0x3c25: 0xc08, 0x3c26: 0xc09, 0x3c27: 0xc0a, + 0x3c28: 0xc0b, 0x3c29: 0xc0c, 0x3c2a: 0xc0d, 0x3c2b: 0xc0e, 0x3c2c: 0xc0f, 0x3c2d: 0xc10, 0x3c2e: 0xc11, 0x3c2f: 0xc12, + 0x3c30: 0xc13, 0x3c31: 0xc14, 0x3c32: 0xc15, 0x3c33: 0xc16, 0x3c34: 0xc17, 0x3c35: 0xc18, 0x3c36: 0xc19, 0x3c37: 0xc1a, + 0x3c38: 0xc1b, 0x3c39: 0xc1c, 0x3c3a: 0xc1d, 0x3c3b: 0xc1e, 0x3c3c: 0xc1f, 0x3c3d: 0xc20, 0x3c3e: 0xc21, 0x3c3f: 0xc22, + // Block 0xf1, offset 0x3c40 + 0x3c40: 0xc23, 0x3c41: 0xc24, 0x3c42: 0xc25, 0x3c43: 0xc26, 0x3c44: 0xc27, 0x3c45: 0xc28, 0x3c46: 0xc29, 0x3c47: 0xc2a, + 0x3c48: 0xc2b, 0x3c49: 0xc2c, 0x3c4a: 0xc2d, 0x3c4b: 0xc2e, 0x3c4c: 0xc2f, 0x3c4d: 0xc30, 0x3c4e: 0xc31, 0x3c4f: 0xc32, + 0x3c50: 0xc33, 0x3c51: 0xc34, 0x3c52: 0xc35, 0x3c53: 0xc36, 0x3c54: 0xc37, 0x3c55: 0xc38, 0x3c56: 0xc39, 0x3c57: 0xc3a, + 0x3c58: 0xc3b, 0x3c59: 0xc3c, 0x3c5a: 0xc3d, 0x3c5b: 0xc3e, 0x3c5c: 0xc3f, 0x3c5d: 0xc40, 0x3c5e: 0xc41, 0x3c5f: 0xc42, + 0x3c60: 0xc43, 0x3c61: 0xc44, 0x3c62: 0xc45, 0x3c63: 0xc46, 0x3c64: 0xc47, 0x3c65: 0xc48, 0x3c66: 0xc49, 0x3c67: 0xc4a, + 0x3c68: 0xc4b, 0x3c69: 0xc4c, 0x3c6a: 0xc4d, 0x3c6b: 0xc4e, 0x3c6c: 0xc4f, 0x3c6d: 0xc50, 0x3c6e: 0xc51, 0x3c6f: 0xc52, + 0x3c70: 0xc53, 0x3c71: 0xc54, 0x3c72: 0xc55, 0x3c73: 0xc56, 0x3c74: 0xc57, 0x3c75: 0xc58, 0x3c76: 0xc59, 0x3c77: 0xc5a, + 0x3c78: 0xc5b, 0x3c79: 0xc5c, 0x3c7a: 0xc5d, 0x3c7b: 0xc5e, 0x3c7c: 0xc5f, 0x3c7d: 0xc60, 0x3c7e: 0xc61, 0x3c7f: 0xc62, + // Block 0xf2, offset 0x3c80 + 0x3ca4: 0xc63, 0x3ca5: 0xc64, 0x3ca6: 0xc65, 0x3ca7: 0xc66, + 0x3ca8: 0xc67, 0x3ca9: 0xc68, 0x3caa: 0xc69, 0x3cab: 0xc6a, 0x3cac: 0x103, 0x3cad: 0x104, 0x3cae: 0x105, 0x3caf: 0x106, + 0x3cb0: 0x107, 0x3cb1: 0x108, 0x3cb2: 0x109, 0x3cb3: 0x10a, 0x3cb4: 0x10b, 0x3cb5: 0x10c, 0x3cb6: 0x10d, 0x3cb7: 0x10e, + 0x3cb8: 0x10f, 0x3cb9: 0x110, 0x3cba: 0x111, 0x3cbb: 0x112, 0x3cbc: 0x113, 0x3cbd: 0x114, 0x3cbe: 0x115, 0x3cbf: 0x116, + // Block 0xf3, offset 0x3cc0 + 0x3cc0: 0x18b, 0x3cc1: 0x18c, 0x3cc2: 0x18d, 0x3cc3: 0x18e, 0x3cc4: 0x18f, 0x3cc5: 0x190, 0x3cc6: 0x191, 0x3cc7: 0x192, + 0x3cc8: 0xc6b, 0x3cc9: 0xc6c, 0x3ccc: 0x195, 0x3ccd: 0x196, 0x3cce: 0x197, 0x3ccf: 0x198, + 0x3cd0: 0x199, 0x3cd1: 0x19a, 0x3cd2: 0x19b, 0x3cd3: 0x19c, 0x3cd4: 0x19d, 0x3cd5: 0x19e, 0x3cd7: 0x19f, + 0x3cd8: 0x1a0, 0x3cd9: 0x1a1, 0x3cda: 0x1a2, 0x3cdb: 0x1a3, 0x3cdc: 0x1a4, 0x3cdd: 0x1a5, + // Block 0xf4, offset 0x3d00 + 0x3d00: 0xc6d, 0x3d01: 0xc6e, 0x3d02: 0xc6f, 0x3d03: 0xc70, 0x3d04: 0xc71, 0x3d05: 0xc72, 0x3d06: 0xc73, 0x3d07: 0xc74, + 0x3d08: 0xc75, 0x3d09: 0xc76, 0x3d0a: 0xc77, 0x3d0b: 0xc78, 0x3d0c: 0xc79, 0x3d0d: 0xc7a, 0x3d0e: 0xc7b, 0x3d0f: 0xc7c, + 0x3d10: 0xc7d, 0x3d11: 0xc7e, 0x3d12: 0xc7f, 0x3d13: 0xc80, 0x3d14: 0xc81, 0x3d15: 0xc82, 0x3d16: 0xc83, 0x3d17: 0xc84, + 0x3d18: 0xc85, 0x3d19: 0xc86, 0x3d1a: 0xc87, 0x3d1b: 0xc88, 0x3d1c: 0xc89, 0x3d1d: 0xc8a, 0x3d1e: 0xc8b, 0x3d1f: 0xc8c, + 0x3d20: 0xc8d, 0x3d21: 0xc8e, 0x3d22: 0xc8f, 0x3d23: 0xc90, 0x3d24: 0xc91, 0x3d25: 0xc92, 0x3d26: 0xc93, 0x3d27: 0xc94, + 0x3d28: 0xc95, 0x3d29: 0xc96, 0x3d2a: 0xc97, 0x3d2b: 0xc98, 0x3d2c: 0xc99, 0x3d2d: 0xc9a, 0x3d2e: 0xc9b, 0x3d2f: 0xc9c, + 0x3d30: 0xc9d, 0x3d31: 0xc9e, 0x3d32: 0xc9f, 0x3d33: 0xca0, 0x3d34: 0xca1, 0x3d35: 0xca2, 0x3d36: 0xca3, 0x3d37: 0xca4, + 0x3d38: 0xca5, 0x3d39: 0xca6, 0x3d3a: 0xca7, 0x3d3b: 0xca8, 0x3d3c: 0xca9, 0x3d3d: 0xcaa, 0x3d3e: 0xcab, 0x3d3f: 0xcac, + // Block 0xf5, offset 0x3d40 + 0x3d40: 0xcad, 0x3d41: 0xcae, 0x3d42: 0xcaf, 0x3d43: 0xcb0, 0x3d44: 0xcb1, 0x3d45: 0xcb2, 0x3d46: 0xcb3, 0x3d47: 0xcb4, + 0x3d48: 0xcb5, 0x3d49: 0xcb6, 0x3d4a: 0xcb7, 0x3d4b: 0xcb8, 0x3d4c: 0xcb9, 0x3d4d: 0xcba, 0x3d4e: 0xcbb, 0x3d4f: 0xcbc, + 0x3d50: 0xcbd, 0x3d51: 0xcbe, 0x3d52: 0xcbf, 0x3d53: 0xcc0, 0x3d54: 0xcc1, 0x3d55: 0xcc2, 0x3d56: 0xcc3, 0x3d57: 0xcc4, + 0x3d58: 0xcc5, 0x3d59: 0xcc6, 0x3d5a: 0xcc7, 0x3d5b: 0xcc8, 0x3d5c: 0xcc9, 0x3d5d: 0xcca, 0x3d5e: 0xccb, 0x3d5f: 0xccc, + 0x3d60: 0xccd, 0x3d61: 0xcce, 0x3d62: 0xccf, 0x3d63: 0xcd0, 0x3d64: 0xcd1, 0x3d65: 0xcd2, 0x3d66: 0xcd3, 0x3d67: 0xcd4, + 0x3d68: 0xcd5, 0x3d69: 0xcd6, 0x3d6a: 0xcd7, 0x3d6b: 0xcd8, 0x3d6c: 0xcd9, 0x3d6d: 0xcda, 0x3d6e: 0xcdb, 0x3d6f: 0xcdc, + 0x3d70: 0xcdd, 0x3d71: 0xcde, 0x3d72: 0xcdf, 0x3d73: 0xce0, 0x3d74: 0xce1, 0x3d75: 0xce2, 0x3d76: 0xce3, 0x3d77: 0xce4, + 0x3d78: 0xce5, 0x3d79: 0xce6, 0x3d7a: 0xce7, 0x3d7b: 0xce8, 0x3d7c: 0xce9, 0x3d7d: 0xcea, 0x3d7e: 0xceb, 0x3d7f: 0xcec, + // Block 0xf6, offset 0x3d80 + 0x3d80: 0xced, 0x3d81: 0xcee, 0x3d82: 0xcef, 0x3d83: 0xcf0, 0x3d84: 0xcf1, 0x3d85: 0xcf2, 0x3d86: 0xcf3, 0x3d87: 0xcf4, + 0x3d88: 0xcf5, 0x3d89: 0xcf6, 0x3d8a: 0xcf7, 0x3d8b: 0xcf8, 0x3d8c: 0xcf9, 0x3d8d: 0xcfa, 0x3d8e: 0xcfb, 0x3d8f: 0xcfc, + 0x3d90: 0xcfd, 0x3d91: 0xcfe, 0x3d92: 0xcff, 0x3d93: 0xd00, 0x3d94: 0xd01, 0x3d95: 0xd02, 0x3d96: 0xd03, 0x3d97: 0xd04, + 0x3d98: 0xd05, 0x3d99: 0xd06, 0x3d9a: 0xd07, 0x3d9b: 0xd08, 0x3d9c: 0xd09, 0x3d9d: 0xd0a, 0x3d9e: 0xd0b, 0x3d9f: 0xd0c, + 0x3da0: 0xd0d, 0x3da1: 0xd0e, 0x3da2: 0xd0f, 0x3da3: 0xd10, 0x3da4: 0xd11, 0x3da5: 0xd12, 0x3da6: 0xd13, 0x3da7: 0xd14, + 0x3da8: 0xd15, 0x3da9: 0xd16, 0x3daa: 0xd17, 0x3dab: 0xd18, 0x3dac: 0xd19, 0x3dad: 0xd1a, 0x3dae: 0xd1b, 0x3daf: 0xd1c, + 0x3db0: 0xd1d, 0x3db1: 0xd1e, 0x3db2: 0xd1f, 0x3db3: 0xd20, 0x3db4: 0xd21, 0x3db5: 0xd22, 0x3db6: 0xd23, 0x3db7: 0xd24, + 0x3db8: 0xd25, 0x3db9: 0xd26, 0x3dba: 0xd27, 0x3dbb: 0xd28, 0x3dbc: 0xd29, 0x3dbd: 0xd2a, 0x3dbe: 0xd2b, 0x3dbf: 0xd2c, + // Block 0xf7, offset 0x3dc0 + 0x3dc0: 0xd2d, 0x3dc1: 0xd2e, 0x3dc2: 0xd2f, 0x3dc3: 0xd30, 0x3dc4: 0xd31, 0x3dc5: 0xd32, 0x3dc6: 0xd33, 0x3dc7: 0xd34, + 0x3dc8: 0xd35, 0x3dc9: 0xd36, 0x3dca: 0xd37, 0x3dcb: 0xd38, 0x3dcc: 0xd39, 0x3dcd: 0xd3a, 0x3dce: 0xd3b, 0x3dcf: 0xd3c, + 0x3dd0: 0xd3d, 0x3dd1: 0xd3e, 0x3dd2: 0xd3f, 0x3dd3: 0xd40, 0x3dd4: 0xd41, 0x3dd5: 0xd42, 0x3dd6: 0xd43, 0x3dd7: 0xd44, + 0x3dd8: 0xd45, 0x3dd9: 0xd46, 0x3dda: 0xd47, 0x3ddb: 0xd48, 0x3ddc: 0xd49, 0x3ddd: 0xd4a, 0x3dde: 0xd4b, 0x3ddf: 0xd4c, + 0x3de0: 0xd4d, 0x3de1: 0xd4e, 0x3de2: 0xd4f, 0x3de3: 0xd50, 0x3de4: 0xd51, 0x3de5: 0xd52, 0x3de6: 0xd53, 0x3de7: 0xd54, + 0x3de8: 0xd55, 0x3de9: 0xd56, 0x3dea: 0xd57, 0x3deb: 0xd58, 0x3dec: 0xd59, 0x3ded: 0xd5a, 0x3dee: 0xd5b, 0x3def: 0xd5c, + 0x3df0: 0xd5d, 0x3df1: 0xd5e, 0x3df2: 0xd5f, 0x3df3: 0xd60, 0x3df4: 0xd61, 0x3df5: 0xd62, 0x3df6: 0xd63, 0x3df7: 0xd64, + 0x3df8: 0xd65, 0x3df9: 0xd66, 0x3dfa: 0xd67, 0x3dfb: 0xd68, 0x3dfc: 0xd69, 0x3dfd: 0xd6a, 0x3dfe: 0xd6b, 0x3dff: 0xd6c, + // Block 0xf8, offset 0x3e00 + 0x3e00: 0xd6d, 0x3e01: 0xd6e, 0x3e02: 0xd6f, 0x3e03: 0xd70, 0x3e04: 0xd71, 0x3e05: 0xd72, 0x3e06: 0xd73, 0x3e07: 0xd74, + 0x3e08: 0xd75, 0x3e09: 0xd76, 0x3e0a: 0xd77, 0x3e0b: 0xd78, 0x3e0c: 0xd79, 0x3e0d: 0xd7a, 0x3e0e: 0xd7b, 0x3e0f: 0xd7c, + 0x3e10: 0xd7d, 0x3e11: 0xd7e, 0x3e12: 0xd7f, 0x3e13: 0xd80, 0x3e14: 0xd81, 0x3e15: 0xd82, 0x3e16: 0xd83, 0x3e17: 0xd84, + 0x3e18: 0xd85, 0x3e19: 0xd86, 0x3e1a: 0xd87, 0x3e1b: 0xd88, 0x3e1c: 0xd89, 0x3e1d: 0xd8a, 0x3e1e: 0xd8b, 0x3e1f: 0xd8c, + 0x3e20: 0xd8d, 0x3e21: 0xd8e, 0x3e22: 0xd8f, 0x3e23: 0xd90, 0x3e24: 0xd91, 0x3e25: 0xd92, 0x3e26: 0xd93, 0x3e27: 0xd94, + 0x3e28: 0xd95, 0x3e29: 0xd96, 0x3e2a: 0xd97, 0x3e2b: 0xd98, 0x3e2c: 0xd99, 0x3e2d: 0xd9a, 0x3e2e: 0xd9b, 0x3e2f: 0xd9c, + 0x3e30: 0xd9d, 0x3e31: 0xd9e, 0x3e32: 0xd9f, 0x3e33: 0xda0, 0x3e34: 0xda1, 0x3e35: 0xda2, 0x3e36: 0xda3, 0x3e37: 0xda4, + 0x3e38: 0xda5, 0x3e39: 0xda6, 0x3e3a: 0xda7, 0x3e3b: 0xda8, 0x3e3c: 0xda9, 0x3e3d: 0xdaa, 0x3e3e: 0xdab, 0x3e3f: 0xdac, + // Block 0xf9, offset 0x3e40 + 0x3e40: 0xdad, 0x3e41: 0xdae, 0x3e42: 0xdaf, 0x3e43: 0xdb0, 0x3e44: 0xdb1, 0x3e45: 0xdb2, 0x3e46: 0xdb3, 0x3e47: 0xdb4, + 0x3e48: 0xdb5, 0x3e49: 0xdb6, 0x3e4a: 0xdb7, 0x3e4b: 0xdb8, 0x3e4c: 0xdb9, 0x3e4d: 0xdba, 0x3e4e: 0xdbb, 0x3e4f: 0xdbc, + 0x3e50: 0xdbd, 0x3e51: 0xdbe, 0x3e52: 0xdbf, 0x3e53: 0xdc0, 0x3e54: 0xdc1, 0x3e55: 0xdc2, 0x3e56: 0xdc3, 0x3e57: 0xdc4, + 0x3e58: 0xdc5, 0x3e59: 0xdc6, 0x3e5a: 0xdc7, 0x3e5b: 0xdc8, 0x3e5c: 0xdc9, 0x3e5d: 0xdca, 0x3e5e: 0xdcb, 0x3e5f: 0xdcc, + 0x3e60: 0xdcd, 0x3e61: 0xdce, 0x3e62: 0xdcf, 0x3e63: 0xdd0, 0x3e64: 0xdd1, 0x3e65: 0xdd2, 0x3e66: 0xdd3, 0x3e67: 0xdd4, + 0x3e68: 0xdd5, 0x3e69: 0xdd6, 0x3e6a: 0xdd7, 0x3e6b: 0xdd8, 0x3e6c: 0xdd9, 0x3e6d: 0xdda, 0x3e6e: 0xddb, 0x3e6f: 0xddc, + 0x3e70: 0xddd, 0x3e71: 0xdde, 0x3e72: 0xddf, 0x3e73: 0xde0, 0x3e74: 0xde1, 0x3e75: 0xde2, 0x3e76: 0xde3, 0x3e77: 0xde4, + 0x3e78: 0xde5, 0x3e79: 0xde6, 0x3e7a: 0xde7, 0x3e7b: 0xde8, 0x3e7c: 0xde9, 0x3e7d: 0xdea, 0x3e7e: 0xdeb, 0x3e7f: 0xdec, + // Block 0xfa, offset 0x3e80 + 0x3e80: 0xded, 0x3e81: 0xdee, 0x3e82: 0xdef, 0x3e83: 0xdf0, 0x3e84: 0xdf1, 0x3e85: 0xdf2, 0x3e86: 0xdf3, 0x3e87: 0xdf4, + 0x3e88: 0xdf5, 0x3e89: 0xdf6, 0x3e8a: 0xdf7, 0x3e8b: 0xdf8, 0x3e8c: 0xdf9, 0x3e8d: 0xdfa, 0x3e8e: 0xdfb, 0x3e8f: 0xdfc, + 0x3e90: 0xdfd, 0x3e91: 0xdfe, 0x3e92: 0xdff, 0x3e93: 0xe00, 0x3e94: 0xe01, 0x3e95: 0xe02, 0x3e96: 0xe03, 0x3e97: 0xe04, + 0x3e98: 0xe05, 0x3e99: 0xe06, 0x3e9a: 0xe07, 0x3e9b: 0xe08, 0x3e9c: 0xe09, 0x3e9d: 0xe0a, 0x3e9e: 0xe0b, 0x3e9f: 0xe0c, + 0x3ea0: 0xe0d, 0x3ea1: 0xe0e, 0x3ea2: 0xe0f, 0x3ea3: 0xe10, 0x3ea4: 0xe11, 0x3ea5: 0xe12, 0x3ea6: 0xe13, 0x3ea7: 0xe14, + 0x3ea8: 0xe15, 0x3ea9: 0xe16, 0x3eaa: 0xe17, 0x3eab: 0xe18, 0x3eac: 0xe19, 0x3ead: 0xe1a, 0x3eae: 0xe1b, 0x3eaf: 0xe1c, + 0x3eb0: 0xe1d, 0x3eb1: 0xe1e, 0x3eb2: 0xe1f, 0x3eb3: 0xe20, 0x3eb4: 0xe21, 0x3eb5: 0xe22, 0x3eb6: 0xe23, 0x3eb7: 0xe24, + 0x3eb8: 0xe25, 0x3eb9: 0xe26, 0x3eba: 0xe27, 0x3ebb: 0xe28, 0x3ebc: 0xe29, 0x3ebd: 0xe2a, 0x3ebe: 0xe2b, 0x3ebf: 0xe2c, + // Block 0xfb, offset 0x3ec0 + 0x3ec0: 0xe2d, 0x3ec1: 0xe2e, 0x3ec2: 0xe2f, 0x3ec3: 0xe30, 0x3ec4: 0xe31, 0x3ec5: 0xe32, 0x3ec6: 0xe33, 0x3ec7: 0xe34, + 0x3ec8: 0xe35, 0x3ec9: 0xe36, 0x3eca: 0xe37, 0x3ecb: 0xe38, 0x3ecc: 0xe39, 0x3ecd: 0xe3a, 0x3ece: 0xe3b, 0x3ecf: 0xe3c, + 0x3ed0: 0xe3d, 0x3ed1: 0xe3e, 0x3ed2: 0xe3f, 0x3ed3: 0xe40, 0x3ed4: 0xe41, 0x3ed5: 0xe42, 0x3ed6: 0xe43, 0x3ed7: 0xe44, + 0x3ed8: 0xe45, 0x3ed9: 0xe46, 0x3eda: 0xe47, 0x3edb: 0xe48, 0x3edc: 0xe49, 0x3edd: 0xe4a, 0x3ede: 0xe4b, 0x3edf: 0xe4c, + 0x3ee0: 0xe4d, 0x3ee1: 0xe4e, 0x3ee2: 0xe4f, 0x3ee3: 0xe50, 0x3ee4: 0xe51, 0x3ee5: 0xe52, 0x3ee6: 0xe53, 0x3ee7: 0xe54, + 0x3ee8: 0xe55, 0x3ee9: 0xe56, 0x3eea: 0xe57, 0x3eeb: 0xe58, 0x3eec: 0xe59, 0x3eed: 0xe5a, 0x3eee: 0xe5b, 0x3eef: 0xe5c, + 0x3ef0: 0xe5d, 0x3ef1: 0xe5e, 0x3ef2: 0xe5f, 0x3ef3: 0xe60, 0x3ef4: 0xe61, 0x3ef5: 0xe62, 0x3ef6: 0xe63, 0x3ef7: 0xe64, + 0x3ef8: 0xe65, 0x3ef9: 0xe66, 0x3efa: 0xe67, 0x3efb: 0xe68, 0x3efc: 0xe69, 0x3efd: 0xe6a, 0x3efe: 0xe6b, 0x3eff: 0xe6c, + // Block 0xfc, offset 0x3f00 + 0x3f00: 0xe6d, 0x3f01: 0xe6e, 0x3f02: 0xe6f, 0x3f03: 0xe70, 0x3f04: 0xe71, 0x3f05: 0xe72, 0x3f06: 0xe73, 0x3f07: 0xe74, + 0x3f08: 0xe75, 0x3f09: 0xe76, 0x3f0a: 0xe77, 0x3f0b: 0xe78, 0x3f0c: 0xe79, 0x3f0d: 0xe7a, 0x3f0e: 0xe7b, 0x3f0f: 0xe7c, + 0x3f10: 0xe7d, 0x3f11: 0xe7e, 0x3f12: 0xe7f, 0x3f13: 0xe80, 0x3f14: 0xe81, 0x3f15: 0xe82, 0x3f16: 0xe83, 0x3f17: 0xe84, + 0x3f18: 0xe85, 0x3f19: 0xe86, 0x3f1a: 0xe87, 0x3f1b: 0xe88, 0x3f1c: 0xe89, 0x3f1d: 0xe8a, 0x3f1e: 0xe8b, 0x3f1f: 0xe8c, + 0x3f20: 0xe8d, 0x3f21: 0xe8e, 0x3f22: 0xe8f, 0x3f23: 0xe90, 0x3f24: 0xe91, 0x3f25: 0xe92, 0x3f26: 0xe93, 0x3f27: 0xe94, + 0x3f28: 0xe95, 0x3f29: 0xe96, 0x3f2a: 0xe97, 0x3f2b: 0xe98, 0x3f2c: 0xe99, 0x3f2d: 0xe9a, 0x3f2e: 0xe9b, 0x3f2f: 0xe9c, + 0x3f30: 0xe9d, 0x3f31: 0xe9e, 0x3f32: 0xe9f, 0x3f33: 0xea0, 0x3f34: 0xea1, 0x3f35: 0xea2, 0x3f36: 0xea3, 0x3f37: 0xea4, + 0x3f38: 0xea5, 0x3f39: 0xea6, 0x3f3a: 0xea7, 0x3f3b: 0xea8, 0x3f3c: 0xea9, 0x3f3d: 0xeaa, 0x3f3e: 0xeab, 0x3f3f: 0xeac, + // Block 0xfd, offset 0x3f40 + 0x3f40: 0xead, 0x3f41: 0xeae, 0x3f42: 0xeaf, 0x3f43: 0xeb0, 0x3f44: 0xeb1, 0x3f45: 0xeb2, 0x3f46: 0xeb3, 0x3f47: 0xeb4, + 0x3f48: 0xeb5, 0x3f49: 0xeb6, 0x3f4a: 0xeb7, 0x3f4b: 0xeb8, 0x3f4c: 0xeb9, 0x3f4d: 0xeba, 0x3f4e: 0xebb, 0x3f4f: 0xebc, + 0x3f50: 0xebd, 0x3f51: 0xebe, 0x3f52: 0xebf, 0x3f53: 0xec0, 0x3f54: 0xec1, 0x3f55: 0xec2, 0x3f56: 0xec3, 0x3f57: 0xec4, + 0x3f58: 0xec5, 0x3f59: 0xec6, 0x3f5a: 0xec7, 0x3f5b: 0xec8, 0x3f5c: 0xec9, 0x3f5d: 0xeca, 0x3f5e: 0xecb, 0x3f5f: 0xecc, + 0x3f60: 0xecd, 0x3f61: 0xece, 0x3f62: 0xecf, 0x3f63: 0xed0, 0x3f64: 0xed1, 0x3f65: 0xed2, 0x3f66: 0xed3, 0x3f67: 0xed4, + 0x3f68: 0xed5, 0x3f69: 0xed6, 0x3f6a: 0xed7, 0x3f6b: 0xed8, 0x3f6c: 0xed9, 0x3f6d: 0xeda, 0x3f6e: 0xedb, 0x3f6f: 0xedc, + 0x3f70: 0xedd, 0x3f71: 0xede, 0x3f72: 0xedf, 0x3f73: 0xee0, 0x3f74: 0xee1, 0x3f75: 0xee2, 0x3f76: 0xee3, 0x3f77: 0xee4, + 0x3f78: 0xee5, 0x3f79: 0xee6, 0x3f7a: 0xee7, 0x3f7b: 0xee8, 0x3f7c: 0xee9, 0x3f7d: 0xeea, 0x3f7e: 0xeeb, 0x3f7f: 0xeec, + // Block 0xfe, offset 0x3f80 + 0x3f80: 0xeed, 0x3f81: 0xeee, 0x3f82: 0xeef, 0x3f83: 0xef0, 0x3f84: 0xef1, 0x3f85: 0xef2, 0x3f86: 0xef3, 0x3f87: 0xef4, + 0x3f88: 0xef5, 0x3f89: 0xef6, 0x3f8a: 0xef7, 0x3f8b: 0xef8, 0x3f8c: 0xef9, 0x3f8d: 0xefa, 0x3f8e: 0xefb, 0x3f8f: 0xefc, + 0x3f90: 0xefd, 0x3f91: 0xefe, 0x3f92: 0xeff, 0x3f93: 0xf00, 0x3f94: 0xf01, 0x3f95: 0xf02, 0x3f96: 0xf03, 0x3f97: 0xf04, + 0x3f98: 0xf05, 0x3f99: 0xf06, 0x3f9a: 0xf07, 0x3f9b: 0xf08, 0x3f9c: 0xf09, 0x3f9d: 0xf0a, 0x3f9e: 0xf0b, 0x3f9f: 0xf0c, + 0x3fa0: 0xf0d, 0x3fa1: 0xf0e, 0x3fa2: 0xf0f, 0x3fa3: 0xf10, 0x3fa4: 0xf11, 0x3fa5: 0xf12, 0x3fa6: 0xf13, 0x3fa7: 0xf14, + 0x3fa8: 0xf15, 0x3fa9: 0xf16, 0x3faa: 0xf17, 0x3fab: 0xf18, 0x3fac: 0xf19, 0x3fad: 0xf1a, 0x3fae: 0xf1b, 0x3faf: 0xf1c, + 0x3fb0: 0xf1d, 0x3fb1: 0xf1e, 0x3fb2: 0xf1f, 0x3fb3: 0xf20, 0x3fb4: 0xf21, 0x3fb5: 0xf22, 0x3fb6: 0xf23, 0x3fb7: 0xf24, + 0x3fb8: 0xf25, 0x3fb9: 0xf26, 0x3fba: 0xf27, 0x3fbb: 0xf28, 0x3fbc: 0xf29, 0x3fbd: 0xf2a, 0x3fbe: 0xf2b, 0x3fbf: 0xf2c, + // Block 0xff, offset 0x3fc0 + 0x3fc0: 0xf2d, 0x3fc1: 0xf2e, 0x3fc2: 0xf2f, 0x3fc3: 0xf30, 0x3fc4: 0xf31, 0x3fc5: 0xf32, 0x3fc6: 0xf33, 0x3fc7: 0xf34, + 0x3fc8: 0xf35, 0x3fc9: 0xf36, 0x3fca: 0xf37, 0x3fcb: 0xf38, 0x3fcc: 0xf39, 0x3fcd: 0xf3a, 0x3fce: 0xf3b, 0x3fcf: 0xf3c, + 0x3fd0: 0xf3d, 0x3fd1: 0xf3e, 0x3fd2: 0xf3f, 0x3fd3: 0xf40, 0x3fd4: 0xf41, 0x3fd5: 0xf42, 0x3fd6: 0xf43, 0x3fd7: 0xf44, + 0x3fd8: 0xf45, 0x3fd9: 0xf46, 0x3fda: 0xf47, 0x3fdb: 0xf48, 0x3fdc: 0xf49, 0x3fdd: 0xf4a, 0x3fde: 0xf4b, 0x3fdf: 0xf4c, + 0x3fe0: 0xf4d, + // Block 0x100, offset 0x4000 + 0x4020: 0xf4e, 0x4021: 0xf4f, 0x4022: 0xf50, 0x4023: 0xf51, 0x4024: 0xf52, 0x4025: 0xf53, 0x4026: 0xf54, 0x4027: 0xf55, + 0x4028: 0xf56, + // Block 0x101, offset 0x4040 + 0x4050: 0x09, 0x4051: 0x0a, 0x4052: 0x0b, 0x4053: 0x0c, 0x4056: 0x0d, + 0x405b: 0x0e, 0x405d: 0x0f, 0x405e: 0x10, 0x405f: 0xf1, + 0x4060: 0xf2, 0x4061: 0xf3, 0x4062: 0xf4, 0x4063: 0xf5, 0x4064: 0xf6, 0x4065: 0xf7, 0x4066: 0xf8, 0x4067: 0xf9, + 0x4068: 0xfa, 0x4069: 0xfb, 0x406a: 0xfc, 0x406b: 0xfd, 0x406f: 0xfe, + // Block 0x102, offset 0x4080 + 0x4082: 0x01, 0x4083: 0x618, 0x4084: 0x619, 0x4085: 0x61a, 0x4086: 0x05, 0x4087: 0x61b, + 0x4088: 0x61c, 0x4089: 0x08, 0x408a: 0x09, 0x408b: 0x0a, 0x408c: 0x0b, 0x408d: 0x0c, 0x408e: 0x0d, 0x408f: 0x0e, + 0x4090: 0x0f, 0x4091: 0x10, 0x4092: 0x11, 0x4093: 0x12, 0x4094: 0x13, 0x4095: 0x14, 0x4096: 0x15, 0x4097: 0x16, + 0x4098: 0x17, 0x4099: 0x18, 0x409a: 0x19, 0x409b: 0x1a, 0x409c: 0x1b, 0x409d: 0x1c, 0x409e: 0x1d, 0x409f: 0x1e, + 0x40a0: 0x01, 0x40a1: 0xce, 0x40a2: 0xe8, 0x40a3: 0xe9, 0x40a4: 0xea, 0x40a5: 0xeb, 0x40a6: 0xec, 0x40a7: 0xed, + 0x40a8: 0xee, 0x40a9: 0xef, 0x40aa: 0x06, 0x40ad: 0x07, 0x40af: 0xf0, + 0x40b0: 0xff, 0x40b3: 0x15, +} + +// mainCTEntries: 2529 entries, 10116 bytes +var mainCTEntries = [2529]struct{ L, H, N, I uint8 }{ + {0xCE, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0xB7, 0xB7, 0, 1}, + {0x87, 0x87, 0, 2}, + {0xCC, 0x0, 2, 255}, + {0x88, 0x88, 0, 2}, + {0x86, 0x86, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x88, 0x88, 0, 1}, + {0xCD, 0x1, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x81, 0x81, 0, 1}, + {0x81, 0x81, 0, 2}, + {0xCC, 0x0, 1, 255}, + {0x86, 0x86, 0, 1}, + {0xCC, 0x0, 3, 255}, + {0x8B, 0x8B, 0, 3}, + {0x88, 0x88, 0, 2}, + {0x86, 0x86, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x8F, 0x8F, 0, 1}, + {0xD9, 0x0, 1, 255}, + {0x93, 0x95, 0, 1}, + {0xD9, 0x0, 1, 255}, + {0x94, 0x94, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xA7, 0x1, 1, 255}, + {0xA6, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0x97, 0x97, 0, 2}, + {0xE0, 0x0, 2, 255}, + {0xAD, 0x1, 1, 255}, + {0xAC, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0x96, 0x97, 0, 2}, + {0xE0, 0x0, 1, 255}, + {0xAF, 0x0, 1, 255}, + {0x97, 0x97, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xAF, 0x1, 1, 255}, + {0xAE, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0x97, 0x97, 0, 2}, + {0xE0, 0x0, 1, 255}, + {0xAE, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB1, 0x0, 1, 255}, + {0x96, 0x96, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB3, 0x0, 1, 255}, + {0x95, 0x95, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB3, 0x0, 2, 255}, + {0x95, 0x96, 0, 3}, + {0x82, 0x0, 1, 2}, + {0xE0, 0x0, 1, 255}, + {0xB3, 0x0, 1, 255}, + {0x95, 0x95, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xB5, 0x1, 1, 255}, + {0xB4, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0x97, 0x97, 0, 2}, + {0xE0, 0x0, 1, 255}, + {0xB4, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB7, 0x0, 3, 255}, + {0x9F, 0x9F, 0, 4}, + {0x8F, 0x0, 1, 3}, + {0x8A, 0x8A, 0, 2}, + {0xE0, 0x0, 1, 255}, + {0xB7, 0x0, 1, 255}, + {0x8A, 0x8A, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB7, 0x0, 1, 255}, + {0x8A, 0x8A, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB8, 0x0, 1, 255}, + {0x81, 0xAE, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB8, 0x0, 1, 255}, + {0xB2, 0xB2, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xBB, 0xC, 1, 255}, + {0xBA, 0x0, 12, 255}, + {0xAD, 0xAE, 0, 26}, + {0xAA, 0xAB, 0, 24}, + {0xA7, 0xA7, 0, 23}, + {0xA5, 0xA5, 0, 22}, + {0xA1, 0xA3, 0, 19}, + {0x99, 0x9F, 0, 12}, + {0x94, 0x97, 0, 8}, + {0x8D, 0x8D, 0, 7}, + {0x8A, 0x8A, 0, 6}, + {0x87, 0x88, 0, 4}, + {0x84, 0x84, 0, 3}, + {0x81, 0x82, 0, 1}, + {0x9C, 0x9F, 0, 28}, + {0xE0, 0x0, 1, 255}, + {0xBA, 0x0, 1, 255}, + {0xB2, 0xB2, 0, 1}, + {0xEA, 0x0, 1, 255}, + {0xAA, 0x0, 1, 255}, + {0x80, 0xAF, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x7, 1, 255}, + {0xBD, 0x0, 1, 255}, + {0xB1, 0x0, 1, 255}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x2, 1, 255}, + {0xBD, 0x0, 2, 255}, + {0xB4, 0xB4, 0, 2}, + {0xB2, 0xB2, 0, 1}, + {0x80, 0x80, 0, 3}, + {0x80, 0x81, 0, 4}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x2, 1, 255}, + {0xBD, 0x0, 2, 255}, + {0xB4, 0xB4, 0, 2}, + {0xB2, 0xB2, 0, 1}, + {0x80, 0x80, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xAE, 0xAE, 0, 1}, + {0xF0, 0x0, 1, 255}, + {0x91, 0x0, 1, 255}, + {0x84, 0x0, 1, 255}, + {0xA7, 0xA7, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0xAC, 0x0, 1, 255}, + {0xB5, 0xB5, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xA7, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE2, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x8D, 0x8D, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xA7, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE0, 0x0, 1, 255}, + {0xA6, 0x0, 1, 255}, + {0xB7, 0xB7, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0xA7, 0xA7, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x87, 0x87, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x68, 0x68, 0, 3}, + {0x48, 0x48, 0, 2}, + {0x8C, 0x8C, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x8C, 0x8C, 0, 1}, + {0x68, 0x68, 0, 1}, + {0x68, 0x68, 0, 2}, + {0x48, 0x48, 0, 1}, + {0x64, 0x64, 0, 1}, + {0x64, 0x64, 0, 2}, + {0x44, 0x44, 0, 1}, + {0x66, 0x66, 0, 1}, + {0x66, 0x66, 0, 2}, + {0x46, 0x46, 0, 1}, + {0x67, 0x67, 0, 1}, + {0x67, 0x67, 0, 2}, + {0x47, 0x47, 0, 1}, + {0xCE, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0x6C, 0x6C, 0, 3}, + {0xB7, 0xB7, 0, 1}, + {0x87, 0x87, 0, 2}, + {0xCE, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0x6C, 0x6C, 0, 4}, + {0x4C, 0x4C, 0, 3}, + {0xB7, 0xB7, 0, 1}, + {0x87, 0x87, 0, 2}, + {0xCC, 0x0, 2, 255}, + {0x8B, 0x8B, 0, 2}, + {0x88, 0x88, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x61, 0x61, 0, 3}, + {0x8A, 0x8A, 0, 2}, + {0x88, 0x88, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x61, 0x61, 0, 4}, + {0x41, 0x41, 0, 3}, + {0x8A, 0x8A, 0, 2}, + {0x88, 0x88, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0xA8, 0xA8, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 1, 255}, + {0x90, 0x91, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 6, 255}, + {0x98, 0x42, 1, 255}, + {0x96, 0x31, 1, 255}, + {0x94, 0x1B, 1, 255}, + {0x84, 0x11, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x80, 0x80, 0, 73}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0xD, 1, 255}, + {0xBD, 0x0, 13, 255}, + {0xBC, 0xBC, 0, 20}, + {0xBA, 0xBA, 0, 19}, + {0xB4, 0xB4, 0, 18}, + {0xA6, 0xA6, 0, 17}, + {0xA2, 0xA3, 0, 15}, + {0xA0, 0xA0, 0, 14}, + {0x9D, 0x9D, 0, 13}, + {0x96, 0x96, 0, 12}, + {0x91, 0x91, 0, 11}, + {0x8C, 0x8C, 0, 10}, + {0x8A, 0x8A, 0, 9}, + {0x84, 0x84, 0, 8}, + {0x82, 0x82, 0, 7}, + {0xB1, 0xB2, 0, 21}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 8, 255}, + {0xBC, 0xBC, 0, 30}, + {0xB4, 0xB4, 0, 29}, + {0xA2, 0xA2, 0, 28}, + {0x93, 0x93, 0, 27}, + {0x8C, 0x8C, 0, 26}, + {0x8A, 0x8A, 0, 25}, + {0x84, 0x84, 0, 24}, + {0x82, 0x82, 0, 23}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x12, 1, 255}, + {0xBD, 0x0, 11, 255}, + {0xBC, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 41}, + {0xB4, 0xB4, 0, 40}, + {0xA6, 0xA6, 0, 39}, + {0xA2, 0xA3, 0, 37}, + {0xA0, 0xA0, 0, 36}, + {0x91, 0x91, 0, 35}, + {0x8C, 0x8C, 0, 34}, + {0x8A, 0x8A, 0, 33}, + {0x84, 0x84, 0, 32}, + {0x82, 0x82, 0, 31}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 5, 255}, + {0xA2, 0xA2, 0, 5}, + {0x93, 0x93, 0, 4}, + {0x91, 0x91, 0, 3}, + {0x84, 0x84, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xB1, 0xB2, 0, 42}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0xD, 1, 255}, + {0xBD, 0x0, 13, 255}, + {0xBC, 0xBC, 0, 57}, + {0xBA, 0xBA, 0, 56}, + {0xB4, 0xB4, 0, 55}, + {0xA6, 0xA6, 0, 54}, + {0xA2, 0xA3, 0, 52}, + {0xA0, 0xA0, 0, 51}, + {0x96, 0x96, 0, 50}, + {0x93, 0x93, 0, 49}, + {0x91, 0x91, 0, 48}, + {0x8C, 0x8C, 0, 47}, + {0x8A, 0x8A, 0, 46}, + {0x84, 0x84, 0, 45}, + {0x82, 0x82, 0, 44}, + {0xB1, 0xB2, 0, 58}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x10, 1, 255}, + {0xBD, 0x0, 13, 255}, + {0xBC, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 71}, + {0xB4, 0xB4, 0, 70}, + {0xB2, 0xB2, 0, 69}, + {0xA6, 0xA6, 0, 68}, + {0xA2, 0xA2, 0, 67}, + {0xA0, 0xA0, 0, 66}, + {0x9D, 0x9D, 0, 65}, + {0x93, 0x93, 0, 64}, + {0x8C, 0x8C, 0, 63}, + {0x8A, 0x8A, 0, 62}, + {0x84, 0x84, 0, 61}, + {0x82, 0x82, 0, 60}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 1, 255}, + {0x91, 0x91, 0, 6}, + {0xB1, 0xB1, 0, 72}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 11, 255}, + {0xA6, 0x2E, 1, 255}, + {0xA4, 0xA4, 0, 72}, + {0xA3, 0x29, 1, 255}, + {0xA2, 0x1C, 1, 255}, + {0x9E, 0x9F, 0, 70}, + {0x99, 0x99, 0, 69}, + {0x91, 0xF, 1, 255}, + {0x8F, 0x8F, 0, 68}, + {0x85, 0x85, 0, 67}, + {0x82, 0x0, 1, 255}, + {0x80, 0x80, 0, 66}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0xB, 1, 255}, + {0xBD, 0x0, 11, 255}, + {0xBE, 0xBE, 0, 11}, + {0xBC, 0xBC, 0, 10}, + {0xBA, 0xBA, 0, 9}, + {0xA2, 0xA2, 0, 8}, + {0xA0, 0xA0, 0, 7}, + {0x9D, 0x9D, 0, 6}, + {0x98, 0x98, 0, 5}, + {0x91, 0x91, 0, 4}, + {0x8C, 0x8C, 0, 3}, + {0x8A, 0x8A, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xB1, 0xB3, 0, 12}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 11, 255}, + {0xBE, 0xBE, 0, 26}, + {0xBC, 0xBC, 0, 25}, + {0xBA, 0xBA, 0, 24}, + {0xB4, 0xB4, 0, 23}, + {0xA6, 0xA6, 0, 22}, + {0xA2, 0xA3, 0, 20}, + {0xA0, 0xA0, 0, 19}, + {0x98, 0x98, 0, 18}, + {0x8C, 0x8C, 0, 17}, + {0x8A, 0x8A, 0, 16}, + {0x82, 0x82, 0, 15}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 11, 255}, + {0xB3, 0xB3, 0, 37}, + {0xAB, 0xAB, 0, 36}, + {0xA9, 0xA9, 0, 35}, + {0xA3, 0xA3, 0, 34}, + {0xA1, 0xA1, 0, 33}, + {0x9F, 0x9F, 0, 32}, + {0x99, 0x99, 0, 31}, + {0x97, 0x97, 0, 30}, + {0x94, 0x94, 0, 29}, + {0x92, 0x92, 0, 28}, + {0x90, 0x90, 0, 27}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 3, 255}, + {0xA1, 0xA1, 0, 40}, + {0x9F, 0x9F, 0, 39}, + {0x95, 0x95, 0, 38}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0xD, 10, 255}, + {0xBD, 0x0, 13, 255}, + {0xBE, 0xBE, 0, 54}, + {0xBC, 0xBC, 0, 53}, + {0xBA, 0xBA, 0, 52}, + {0xB4, 0xB4, 0, 51}, + {0xB2, 0xB2, 0, 50}, + {0xA2, 0xA3, 0, 48}, + {0x98, 0x98, 0, 47}, + {0x96, 0x96, 0, 46}, + {0x91, 0x91, 0, 45}, + {0x8C, 0x8C, 0, 44}, + {0x8A, 0x8A, 0, 43}, + {0x84, 0x84, 0, 42}, + {0x82, 0x82, 0, 41}, + {0xB2, 0xB3, 0, 64}, + {0xAD, 0xAD, 0, 63}, + {0xA9, 0xA9, 0, 62}, + {0xA3, 0xA3, 0, 61}, + {0xA1, 0xA1, 0, 60}, + {0x9F, 0x9F, 0, 59}, + {0x99, 0x99, 0, 58}, + {0x94, 0x94, 0, 57}, + {0x92, 0x92, 0, 56}, + {0x90, 0x90, 0, 55}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 11, 255}, + {0xAB, 0xAB, 0, 12}, + {0xA8, 0xA9, 0, 10}, + {0xA6, 0xA6, 0, 9}, + {0xA3, 0xA3, 0, 8}, + {0xA1, 0xA1, 0, 7}, + {0x9F, 0x9F, 0, 6}, + {0x99, 0x99, 0, 5}, + {0x97, 0x97, 0, 4}, + {0x94, 0x94, 0, 3}, + {0x92, 0x92, 0, 2}, + {0x90, 0x90, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 9, 255}, + {0xB7, 0xB7, 0, 10}, + {0xA6, 0xA6, 0, 9}, + {0xA4, 0xA4, 0, 8}, + {0xA1, 0xA1, 0, 7}, + {0x9F, 0x9F, 0, 6}, + {0x97, 0x97, 0, 5}, + {0x94, 0x95, 0, 3}, + {0x92, 0x92, 0, 2}, + {0x90, 0x90, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 9, 255}, + {0x9A, 0x9B, 0, 45}, + {0x93, 0x1D, 1, 255}, + {0x91, 0x11, 1, 255}, + {0x90, 0x90, 0, 44}, + {0x89, 0x89, 0, 43}, + {0x86, 0x87, 0, 41}, + {0x84, 0x8, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x81, 0x81, 0, 40}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x4, 1, 255}, + {0xBD, 0x0, 4, 255}, + {0xBC, 0xBC, 0, 5}, + {0xBA, 0xBA, 0, 4}, + {0xB4, 0xB4, 0, 3}, + {0xA2, 0xA3, 0, 1}, + {0xB1, 0xB2, 0, 6}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 7, 255}, + {0xBC, 0xBC, 0, 15}, + {0xA2, 0xA3, 0, 13}, + {0xA0, 0xA0, 0, 12}, + {0x93, 0x93, 0, 11}, + {0x8C, 0x8C, 0, 10}, + {0x8A, 0x8A, 0, 9}, + {0x82, 0x82, 0, 8}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 10, 255}, + {0xBC, 0xBC, 0, 25}, + {0xBA, 0xBA, 0, 24}, + {0xB4, 0xB4, 0, 23}, + {0xA2, 0xA2, 0, 22}, + {0xA0, 0xA0, 0, 21}, + {0x93, 0x93, 0, 20}, + {0x8C, 0x8C, 0, 19}, + {0x8A, 0x8A, 0, 18}, + {0x84, 0x84, 0, 17}, + {0x82, 0x82, 0, 16}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 13, 255}, + {0xBE, 0xBE, 0, 39}, + {0xBC, 0xBC, 0, 38}, + {0xBA, 0xBA, 0, 37}, + {0xB4, 0xB4, 0, 36}, + {0xA2, 0xA3, 0, 34}, + {0xA0, 0xA0, 0, 33}, + {0x98, 0x98, 0, 32}, + {0x96, 0x96, 0, 31}, + {0x93, 0x93, 0, 30}, + {0x8C, 0x8C, 0, 29}, + {0x8A, 0x8A, 0, 28}, + {0x84, 0x84, 0, 27}, + {0x82, 0x82, 0, 26}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 9, 255}, + {0xA8, 0xA9, 0, 10}, + {0xA6, 0xA6, 0, 9}, + {0xA3, 0xA4, 0, 7}, + {0xA1, 0xA1, 0, 6}, + {0x9F, 0x9F, 0, 5}, + {0x99, 0x99, 0, 4}, + {0x94, 0x94, 0, 3}, + {0x92, 0x92, 0, 2}, + {0x90, 0x90, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 8, 255}, + {0x9A, 0x9B, 0, 62}, + {0x96, 0x29, 1, 255}, + {0x95, 0x95, 0, 61}, + {0x91, 0x14, 1, 255}, + {0x90, 0x90, 0, 60}, + {0x86, 0x87, 0, 58}, + {0x82, 0x0, 1, 255}, + {0x81, 0x81, 0, 57}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x10, 1, 255}, + {0xBD, 0x0, 16, 255}, + {0xBE, 0xBE, 0, 17}, + {0xBC, 0xBC, 0, 16}, + {0xBA, 0xBA, 0, 15}, + {0xB4, 0xB4, 0, 14}, + {0xB2, 0xB2, 0, 13}, + {0xA6, 0xA6, 0, 12}, + {0xA2, 0xA3, 0, 10}, + {0xA0, 0xA0, 0, 9}, + {0x98, 0x98, 0, 8}, + {0x96, 0x96, 0, 7}, + {0x93, 0x93, 0, 6}, + {0x91, 0x91, 0, 5}, + {0x8C, 0x8C, 0, 4}, + {0x8A, 0x8A, 0, 3}, + {0x84, 0x84, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xB1, 0xB2, 0, 18}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x11, 1, 255}, + {0xBD, 0x0, 17, 255}, + {0xBE, 0xBE, 0, 37}, + {0xBC, 0xBC, 0, 36}, + {0xBA, 0xBA, 0, 35}, + {0xB4, 0xB4, 0, 34}, + {0xB2, 0xB2, 0, 33}, + {0xA6, 0xA6, 0, 32}, + {0xA2, 0xA3, 0, 30}, + {0xA0, 0xA0, 0, 29}, + {0x9D, 0x9D, 0, 28}, + {0x98, 0x98, 0, 27}, + {0x96, 0x96, 0, 26}, + {0x93, 0x93, 0, 25}, + {0x91, 0x91, 0, 24}, + {0x8C, 0x8C, 0, 23}, + {0x8A, 0x8A, 0, 22}, + {0x84, 0x84, 0, 21}, + {0x82, 0x82, 0, 20}, + {0xB2, 0xB2, 0, 38}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0xF, 1, 255}, + {0xBD, 0x0, 15, 255}, + {0xBE, 0xBE, 0, 54}, + {0xBC, 0xBC, 0, 53}, + {0xBA, 0xBA, 0, 52}, + {0xB4, 0xB4, 0, 51}, + {0xB2, 0xB2, 0, 50}, + {0xA2, 0xA3, 0, 48}, + {0xA0, 0xA0, 0, 47}, + {0x98, 0x98, 0, 46}, + {0x96, 0x96, 0, 45}, + {0x93, 0x93, 0, 44}, + {0x91, 0x91, 0, 43}, + {0x8C, 0x8C, 0, 42}, + {0x8A, 0x8A, 0, 41}, + {0x84, 0x84, 0, 40}, + {0x82, 0x82, 0, 39}, + {0xB1, 0xB2, 0, 55}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 10, 255}, + {0xA6, 0x20, 1, 255}, + {0xA4, 0xA4, 0, 52}, + {0xA1, 0xA1, 0, 51}, + {0x9E, 0x9F, 0, 49}, + {0x99, 0x99, 0, 48}, + {0x93, 0x11, 1, 255}, + {0x91, 0x0, 1, 255}, + {0x8F, 0x8F, 0, 47}, + {0x89, 0x89, 0, 46}, + {0x85, 0x85, 0, 45}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 15, 255}, + {0xBE, 0xBE, 0, 16}, + {0xBC, 0xBC, 0, 15}, + {0xBA, 0xBA, 0, 14}, + {0xB4, 0xB4, 0, 13}, + {0xB2, 0xB2, 0, 12}, + {0xA6, 0xA6, 0, 11}, + {0xA2, 0xA3, 0, 9}, + {0xA0, 0xA0, 0, 8}, + {0x98, 0x98, 0, 7}, + {0x96, 0x96, 0, 6}, + {0x93, 0x93, 0, 5}, + {0x8C, 0x8C, 0, 4}, + {0x8A, 0x8A, 0, 3}, + {0x84, 0x84, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 13, 255}, + {0xBE, 0xBE, 0, 29}, + {0xBC, 0xBC, 0, 28}, + {0xB4, 0xB4, 0, 27}, + {0xA6, 0xA6, 0, 26}, + {0xA0, 0xA0, 0, 25}, + {0x9D, 0x9D, 0, 24}, + {0x98, 0x98, 0, 23}, + {0x93, 0x93, 0, 22}, + {0x91, 0x91, 0, 21}, + {0x8C, 0x8C, 0, 20}, + {0x8A, 0x8A, 0, 19}, + {0x84, 0x84, 0, 18}, + {0x82, 0x82, 0, 17}, + {0xE0, 0x0, 1, 255}, + {0xBD, 0x0, 14, 255}, + {0xBC, 0xBC, 0, 44}, + {0xBA, 0xBA, 0, 43}, + {0xB4, 0xB4, 0, 42}, + {0xB2, 0xB2, 0, 41}, + {0xA6, 0xA6, 0, 40}, + {0xA2, 0xA3, 0, 38}, + {0xA0, 0xA0, 0, 37}, + {0x96, 0x96, 0, 36}, + {0x93, 0x93, 0, 35}, + {0x91, 0x91, 0, 34}, + {0x8C, 0x8C, 0, 33}, + {0x8A, 0x8A, 0, 32}, + {0x84, 0x84, 0, 31}, + {0x82, 0x82, 0, 30}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xBE, 0x0, 1, 255}, + {0xA4, 0xA5, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x9, 1, 255}, + {0xBD, 0x0, 3, 255}, + {0xB5, 0xB5, 0, 6}, + {0xB3, 0xB3, 0, 5}, + {0xB1, 0x0, 1, 4}, + {0xE0, 0x0, 2, 255}, + {0xBE, 0x2, 1, 255}, + {0xBD, 0x0, 2, 255}, + {0xB4, 0xB4, 0, 2}, + {0xB2, 0xB2, 0, 1}, + {0x80, 0x80, 0, 3}, + {0x80, 0x81, 0, 7}, + {0x7A, 0x7A, 0, 1}, + {0x7A, 0x7A, 0, 2}, + {0x5A, 0x5A, 0, 1}, + {0x62, 0x62, 0, 1}, + {0x62, 0x62, 0, 2}, + {0x42, 0x42, 0, 1}, + {0x70, 0x70, 0, 1}, + {0x70, 0x70, 0, 2}, + {0x50, 0x50, 0, 1}, + {0x79, 0x79, 0, 1}, + {0x79, 0x79, 0, 2}, + {0x59, 0x59, 0, 1}, + {0x73, 0x73, 0, 1}, + {0x73, 0x73, 0, 2}, + {0x53, 0x53, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x82, 0x82, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x83, 0x83, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x88, 0x88, 0, 2}, + {0x83, 0x83, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x8A, 0x8A, 0, 2}, + {0x88, 0x88, 0, 1}, + {0xCC, 0x0, 3, 255}, + {0x8B, 0x8B, 0, 3}, + {0x88, 0x88, 0, 2}, + {0x83, 0x83, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x67, 0x67, 0, 2}, + {0x83, 0x83, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x67, 0x67, 0, 3}, + {0x47, 0x47, 0, 2}, + {0x83, 0x83, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x8C, 0x8C, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xC5, 0x2, 1, 255}, + {0x7A, 0x0, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x8C, 0x8C, 0, 1}, + {0xBE, 0xBE, 0, 2}, + {0xC5, 0x4, 1, 255}, + {0x7A, 0x2, 1, 255}, + {0x5A, 0x0, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x8C, 0x8C, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x8C, 0x8C, 0, 2}, + {0xBD, 0xBE, 0, 3}, + {0xCE, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0x6A, 0x6A, 0, 3}, + {0xB7, 0xB7, 0, 1}, + {0x87, 0x87, 0, 2}, + {0xCE, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0x6A, 0x6A, 0, 4}, + {0x4A, 0x4A, 0, 3}, + {0xB7, 0xB7, 0, 1}, + {0x87, 0x87, 0, 2}, + {0x6A, 0x6A, 0, 1}, + {0x6A, 0x6A, 0, 2}, + {0x4A, 0x4A, 0, 1}, + {0x73, 0x73, 0, 2}, + {0x63, 0x0, 1, 255}, + {0x73, 0x73, 0, 1}, + {0x73, 0x73, 0, 4}, + {0x63, 0x1, 1, 255}, + {0x53, 0x53, 0, 3}, + {0x43, 0x0, 1, 255}, + {0x53, 0x53, 0, 1}, + {0x73, 0x73, 0, 2}, + {0x7A, 0x2, 1, 4}, + {0x64, 0x0, 1, 255}, + {0x7A, 0x0, 1, 2}, + {0x73, 0x73, 0, 1}, + {0x73, 0x73, 0, 3}, + {0x7A, 0x5, 1, 8}, + {0x64, 0x3, 1, 255}, + {0x5A, 0x2, 1, 7}, + {0x44, 0x0, 1, 255}, + {0x5A, 0x0, 1, 3}, + {0x53, 0x53, 0, 1}, + {0x53, 0x53, 0, 4}, + {0x7A, 0x0, 1, 5}, + {0x73, 0x73, 0, 2}, + {0x73, 0x73, 0, 6}, + {0x79, 0x79, 0, 2}, + {0x67, 0x0, 1, 255}, + {0x79, 0x79, 0, 1}, + {0x79, 0x79, 0, 4}, + {0x67, 0x1, 1, 255}, + {0x59, 0x59, 0, 3}, + {0x47, 0x0, 1, 255}, + {0x59, 0x59, 0, 1}, + {0x79, 0x79, 0, 2}, + {0xCE, 0x2, 1, 255}, + {0xC2, 0x1, 1, 255}, + {0x79, 0x79, 0, 4}, + {0x6C, 0x0, 1, 255}, + {0x79, 0x79, 0, 1}, + {0xB7, 0xB7, 0, 2}, + {0x87, 0x87, 0, 3}, + {0xCE, 0x3, 1, 255}, + {0xC2, 0x2, 1, 255}, + {0x79, 0x79, 0, 6}, + {0x6C, 0x1, 1, 255}, + {0x59, 0x59, 0, 5}, + {0x4C, 0x0, 1, 255}, + {0x59, 0x59, 0, 1}, + {0x79, 0x79, 0, 2}, + {0xB7, 0xB7, 0, 3}, + {0x87, 0x87, 0, 4}, + {0x79, 0x79, 0, 2}, + {0x6E, 0x0, 1, 255}, + {0x79, 0x79, 0, 1}, + {0x79, 0x79, 0, 4}, + {0x6E, 0x1, 1, 255}, + {0x59, 0x59, 0, 3}, + {0x4E, 0x0, 1, 255}, + {0x59, 0x59, 0, 1}, + {0x79, 0x79, 0, 2}, + {0x7A, 0x7A, 0, 2}, + {0x73, 0x0, 1, 255}, + {0x7A, 0x7A, 0, 1}, + {0x7A, 0x7A, 0, 4}, + {0x73, 0x1, 1, 255}, + {0x5A, 0x5A, 0, 3}, + {0x53, 0x0, 1, 255}, + {0x5A, 0x5A, 0, 1}, + {0x7A, 0x7A, 0, 2}, + {0x79, 0x79, 0, 2}, + {0x74, 0x0, 1, 255}, + {0x79, 0x79, 0, 1}, + {0x79, 0x79, 0, 4}, + {0x74, 0x1, 1, 255}, + {0x59, 0x59, 0, 3}, + {0x54, 0x0, 1, 255}, + {0x59, 0x59, 0, 1}, + {0x79, 0x79, 0, 2}, + {0x7A, 0x0, 1, 255}, + {0x73, 0x73, 0, 2}, + {0x73, 0x73, 0, 1}, + {0x7A, 0x1, 1, 255}, + {0x73, 0x73, 0, 4}, + {0x5A, 0x0, 1, 255}, + {0x53, 0x53, 0, 3}, + {0x53, 0x53, 0, 1}, + {0x73, 0x73, 0, 2}, + {0xD6, 0x0, 1, 255}, + {0x82, 0x82, 0, 1}, + {0x77, 0x77, 0, 3}, + {0x68, 0x68, 0, 2}, + {0x62, 0x62, 0, 1}, + {0x77, 0x77, 0, 6}, + {0x68, 0x68, 0, 5}, + {0x62, 0x62, 0, 4}, + {0x57, 0x57, 0, 3}, + {0x48, 0x48, 0, 2}, + {0x42, 0x42, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0xA3, 0xA3, 0, 1}, + {0x77, 0x77, 0, 2}, + {0x70, 0x70, 0, 1}, + {0x77, 0x77, 0, 4}, + {0x70, 0x70, 0, 3}, + {0x57, 0x57, 0, 2}, + {0x50, 0x50, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x79, 0x79, 0, 3}, + {0x77, 0x77, 0, 2}, + {0x87, 0x87, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x79, 0x79, 0, 5}, + {0x77, 0x77, 0, 4}, + {0x59, 0x59, 0, 3}, + {0x57, 0x57, 0, 2}, + {0x87, 0x87, 0, 1}, + {0xCC, 0x0, 3, 255}, + {0x8A, 0x8A, 0, 3}, + {0x88, 0x88, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x81, 0x81, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x88, 0x88, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x1, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x9D, 0, 1}, + {0xBC, 0xBC, 0, 2}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 1, 255}, + {0xBC, 0xBD, 0, 1}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x7, 1, 255}, + {0x82, 0x0, 2, 255}, + {0x9D, 0x9D, 0, 3}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x1, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x9D, 0, 1}, + {0xBC, 0xBC, 0, 2}, + {0xBC, 0xBC, 0, 4}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x4, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 1, 255}, + {0xBC, 0xBD, 0, 1}, + {0xBC, 0xBD, 0, 3}, + {0xE3, 0x0, 2, 255}, + {0x83, 0xE, 1, 255}, + {0x82, 0x0, 3, 255}, + {0x9E, 0x9E, 0, 6}, + {0x9D, 0x8, 1, 5}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x4, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x0, 1, 2}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xBC, 0xBC, 0, 3}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 4}, + {0xBC, 0xBC, 0, 7}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x8, 2, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 2, 255}, + {0xBD, 0x0, 1, 3}, + {0xBC, 0xBD, 0, 2}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xBD, 0x0, 1, 6}, + {0xBC, 0xBE, 0, 5}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 4}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 2, 255}, + {0xBD, 0x0, 1, 3}, + {0xBC, 0xBE, 0, 2}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x1, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x9E, 0, 1}, + {0xBC, 0xBC, 0, 3}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 1, 255}, + {0xBC, 0xBE, 0, 1}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x17, 1, 255}, + {0x82, 0x0, 4, 255}, + {0x9E, 0x9E, 0, 9}, + {0x9D, 0x10, 1, 8}, + {0x9A, 0x8, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x4, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x0, 1, 3}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xBC, 0xBC, 0, 4}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x4, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x0, 1, 5}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 2}, + {0xBC, 0xBC, 0, 6}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 7}, + {0xBC, 0xBC, 0, 10}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x10, 2, 255}, + {0x82, 0x0, 2, 255}, + {0x9A, 0x7, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 2, 255}, + {0xBD, 0x0, 1, 4}, + {0xBC, 0xBD, 0, 3}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 2, 255}, + {0xBD, 0x0, 1, 6}, + {0xBC, 0xBD, 0, 5}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 2}, + {0xBD, 0x0, 1, 9}, + {0xBC, 0xBE, 0, 8}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 7}, + {0xE3, 0x0, 2, 255}, + {0x83, 0x5, 1, 255}, + {0x82, 0x0, 2, 255}, + {0x9E, 0x9E, 0, 3}, + {0x9D, 0x0, 1, 2}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x99, 0x99, 0, 1}, + {0xBC, 0xBC, 0, 4}, + {0xE3, 0x0, 1, 255}, + {0x82, 0x0, 1, 255}, + {0x9D, 0x9D, 0, 1}, + {0xE3, 0x0, 1, 255}, + {0x83, 0x0, 1, 255}, + {0xBD, 0xBD, 0, 1}, + {0x27, 0x27, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x9F, 0x0, 1, 255}, + {0x8C, 0x8C, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x9F, 0x0, 1, 255}, + {0x86, 0x87, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x9F, 0x0, 1, 255}, + {0x86, 0x86, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x9F, 0x0, 1, 255}, + {0x87, 0x87, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xA5, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE0, 0x0, 1, 255}, + {0xA4, 0x0, 1, 255}, + {0xB7, 0xB7, 0, 1}, + {0x76, 0x76, 0, 8}, + {0x70, 0x70, 0, 7}, + {0x66, 0x66, 0, 6}, + {0x62, 0x62, 0, 5}, + {0x56, 0x56, 0, 4}, + {0x50, 0x50, 0, 3}, + {0x46, 0x46, 0, 2}, + {0x42, 0x42, 0, 1}, + {0x79, 0x7A, 0, 17}, + {0x73, 0x74, 0, 15}, + {0x6B, 0x6B, 0, 14}, + {0x67, 0x2, 2, 13}, + {0x64, 0x64, 0, 12}, + {0x59, 0x5A, 0, 10}, + {0x53, 0x54, 0, 8}, + {0x4B, 0x4B, 0, 7}, + {0x47, 0x0, 2, 6}, + {0x44, 0x44, 0, 5}, + {0x62, 0x62, 0, 2}, + {0x42, 0x42, 0, 1}, + {0x62, 0x62, 0, 4}, + {0x42, 0x42, 0, 3}, + {0x79, 0x7A, 0, 16}, + {0x73, 0x74, 0, 14}, + {0x6B, 0x6B, 0, 13}, + {0x67, 0x1, 2, 12}, + {0x64, 0x64, 0, 11}, + {0x59, 0x5A, 0, 9}, + {0x53, 0x54, 0, 7}, + {0x4B, 0x4B, 0, 6}, + {0x47, 0x0, 1, 5}, + {0x44, 0x44, 0, 4}, + {0x42, 0x42, 0, 1}, + {0x62, 0x62, 0, 3}, + {0x42, 0x42, 0, 2}, + {0xCC, 0x0, 2, 255}, + {0x83, 0x83, 0, 3}, + {0x80, 0x81, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0xA8, 0xA8, 0, 2}, + {0x87, 0x87, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0xA8, 0xA8, 0, 2}, + {0x84, 0x84, 0, 1}, + {0xCE, 0x2, 1, 255}, + {0xCC, 0x1, 1, 255}, + {0xC2, 0x0, 1, 255}, + {0xB7, 0xB7, 0, 1}, + {0xA7, 0xA7, 0, 2}, + {0x87, 0x87, 0, 3}, + {0xE0, 0x0, 1, 255}, + {0xB5, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE2, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x8D, 0x8D, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB5, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE2, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0x20, 0x20, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xB5, 0x0, 1, 255}, + {0x8D, 0x8D, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xA5, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE0, 0x0, 1, 255}, + {0xA4, 0x0, 1, 255}, + {0x9E, 0x9E, 0, 1}, + {0xCC, 0x1, 1, 255}, + {0xC4, 0x0, 1, 255}, + {0xA6, 0xA7, 0, 1}, + {0x87, 0x87, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xBA, 0xBA, 0, 3}, + {0xB9, 0x0, 1, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x84, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB8, 0xB8, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xBA, 0x0, 1, 3}, + {0xB9, 0xBA, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xAF, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x95, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 3, 255}, + {0xBA, 0xBA, 0, 4}, + {0xB9, 0x9, 1, 3}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBB, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xAC, 0xAC, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x98, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x84, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB8, 0xB8, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xBA, 0xBA, 0, 3}, + {0xB9, 0x0, 1, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0x99, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xAE, 0xAE, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xAF, 0x0, 1, 255}, + {0xAE, 0xAE, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB6, 0xB6, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 31, 255}, + {0xB1, 0x5A, 1, 255}, + {0x9F, 0x57, 1, 255}, + {0x9E, 0x54, 1, 255}, + {0x9C, 0x51, 1, 255}, + {0x9B, 0x4E, 1, 255}, + {0x9A, 0x4B, 1, 255}, + {0x99, 0x48, 1, 255}, + {0x98, 0x45, 1, 255}, + {0x97, 0x42, 1, 255}, + {0x96, 0x3F, 1, 255}, + {0x95, 0x3C, 1, 255}, + {0x94, 0x39, 1, 255}, + {0x93, 0x36, 1, 255}, + {0x92, 0x33, 1, 255}, + {0x91, 0x30, 1, 255}, + {0x90, 0x2D, 1, 255}, + {0x8F, 0x2A, 1, 255}, + {0x8E, 0x27, 1, 255}, + {0x8D, 0x24, 1, 255}, + {0x8C, 0x21, 1, 255}, + {0x8B, 0x1E, 1, 255}, + {0x8A, 0x1B, 1, 255}, + {0x89, 0x18, 1, 255}, + {0x87, 0x15, 1, 255}, + {0x86, 0x12, 1, 255}, + {0x85, 0xF, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 61}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 63}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 65}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 67}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 69}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 71}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 73}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 75}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 77}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 79}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 81}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 83}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 85}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 87}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 89}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 91}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 93}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 95}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 97}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 99}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 101}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 103}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 105}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 107}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 109}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 111}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 113}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 115}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 117}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 119}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xAC, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 30, 255}, + {0x9F, 0x57, 1, 255}, + {0x9E, 0x54, 1, 255}, + {0x9C, 0x51, 1, 255}, + {0x9B, 0x4E, 1, 255}, + {0x9A, 0x4B, 1, 255}, + {0x99, 0x48, 1, 255}, + {0x98, 0x45, 1, 255}, + {0x97, 0x42, 1, 255}, + {0x96, 0x3F, 1, 255}, + {0x95, 0x3C, 1, 255}, + {0x94, 0x39, 1, 255}, + {0x93, 0x36, 1, 255}, + {0x92, 0x33, 1, 255}, + {0x91, 0x30, 1, 255}, + {0x90, 0x2D, 1, 255}, + {0x8F, 0x2A, 1, 255}, + {0x8E, 0x27, 1, 255}, + {0x8D, 0x24, 1, 255}, + {0x8C, 0x21, 1, 255}, + {0x8B, 0x1E, 1, 255}, + {0x8A, 0x1B, 1, 255}, + {0x89, 0x18, 1, 255}, + {0x87, 0x15, 1, 255}, + {0x86, 0x12, 1, 255}, + {0x85, 0xF, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 5}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 7}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 9}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 11}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 13}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 15}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 17}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 19}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 21}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 23}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 25}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 27}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 29}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 31}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 33}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 35}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 37}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 39}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 41}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 43}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 45}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 47}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 49}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 51}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 53}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 55}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 57}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 59}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 36, 255}, + {0xAC, 0xF7, 1, 197}, + {0xAB, 0x69, 1, 196}, + {0xA1, 0x66, 1, 255}, + {0xA0, 0x63, 1, 255}, + {0x9F, 0x60, 1, 255}, + {0x9E, 0x5D, 1, 255}, + {0x9D, 0x5A, 1, 255}, + {0x9C, 0x57, 1, 255}, + {0x9B, 0x54, 1, 255}, + {0x9A, 0x51, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 131}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 133}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 135}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 137}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 139}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 4}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 140}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 142}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 144}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 146}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 147}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 149}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 151}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 153}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 155}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 157}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 159}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 161}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 163}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 165}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 167}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 169}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 171}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 173}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 175}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 177}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 179}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 181}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 183}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 185}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 187}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 188}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 190}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 192}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 193}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 35, 255}, + {0xBA, 0xBA, 0, 194}, + {0xA1, 0x66, 1, 255}, + {0xA0, 0x63, 1, 255}, + {0x9F, 0x60, 1, 255}, + {0x9E, 0x5D, 1, 255}, + {0x9D, 0x5A, 1, 255}, + {0x9C, 0x57, 1, 255}, + {0x9B, 0x54, 1, 255}, + {0x9A, 0x51, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 5}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 7}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 9}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 11}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 13}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 14}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 16}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 18}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 20}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 21}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 23}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 25}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 27}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 29}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 31}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 33}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 35}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 37}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 39}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 41}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 43}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 45}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 47}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 49}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 51}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 53}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 55}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 57}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 59}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 61}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 62}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 64}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 66}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 67}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 35, 255}, + {0xBA, 0xBA, 0, 195}, + {0xA1, 0x6A, 1, 255}, + {0xA0, 0x67, 1, 255}, + {0x9F, 0x64, 1, 255}, + {0x9E, 0x61, 1, 255}, + {0x9D, 0x5E, 1, 255}, + {0x9C, 0x5B, 1, 255}, + {0x9B, 0x58, 1, 255}, + {0x9A, 0x55, 1, 255}, + {0x99, 0x52, 1, 255}, + {0x98, 0x4F, 1, 255}, + {0x97, 0x4C, 1, 255}, + {0x96, 0x49, 1, 255}, + {0x95, 0x46, 1, 255}, + {0x94, 0x43, 1, 255}, + {0x93, 0x40, 1, 255}, + {0x92, 0x3D, 1, 255}, + {0x91, 0x3A, 1, 255}, + {0x90, 0x37, 1, 255}, + {0x8F, 0x34, 1, 255}, + {0x8E, 0x31, 1, 255}, + {0x8D, 0x2E, 1, 255}, + {0x8C, 0x2B, 1, 255}, + {0x8B, 0x28, 1, 255}, + {0x8A, 0x25, 1, 255}, + {0x89, 0x22, 1, 255}, + {0x88, 0x1F, 1, 255}, + {0x87, 0x1C, 1, 255}, + {0x86, 0x19, 1, 255}, + {0x85, 0x16, 1, 255}, + {0x84, 0x10, 1, 255}, + {0x83, 0xD, 1, 255}, + {0x82, 0xA, 1, 255}, + {0x81, 0x7, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xBA, 0x0, 1, 69}, + {0xB9, 0xBA, 0, 68}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBB, 0xBB, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 70}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 72}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 74}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 76}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 77}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 79}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 81}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 83}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 84}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 86}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 88}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 90}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 92}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 94}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 96}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 98}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 100}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 102}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 104}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 106}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 108}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 110}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 112}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 114}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 116}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 118}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 120}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 122}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 124}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 125}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 127}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 129}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 130}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 36, 255}, + {0xB6, 0xFE, 1, 134}, + {0xAF, 0x71, 1, 133}, + {0xA1, 0x6E, 1, 255}, + {0xA0, 0x6B, 1, 255}, + {0x9F, 0x68, 1, 255}, + {0x9E, 0x65, 1, 255}, + {0x9D, 0x62, 1, 255}, + {0x9C, 0x5F, 1, 255}, + {0x9B, 0x5C, 1, 255}, + {0x9A, 0x59, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 68}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 70}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 72}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 74}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 76}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 77}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 79}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 81}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 83}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 84}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 86}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 88}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 90}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 92}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 94}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 96}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 98}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 100}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 102}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 104}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 106}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 108}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 110}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 112}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 114}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 3, 255}, + {0xBA, 0x3, 1, 117}, + {0xB9, 0xBA, 0, 116}, + {0xB7, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB8, 0xB8, 0, 4}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 118}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 120}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 122}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 124}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 125}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 127}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 129}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 130}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 34, 255}, + {0xA1, 0x66, 1, 255}, + {0xA0, 0x63, 1, 255}, + {0x9F, 0x60, 1, 255}, + {0x9E, 0x5D, 1, 255}, + {0x9D, 0x5A, 1, 255}, + {0x9C, 0x57, 1, 255}, + {0x9B, 0x54, 1, 255}, + {0x9A, 0x51, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 5}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 7}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 9}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 11}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 13}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 14}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 16}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 18}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 20}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 21}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 23}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 25}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 27}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 29}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 31}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 33}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 35}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 37}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 39}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 41}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 43}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 45}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 47}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 49}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 51}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 53}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 55}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 57}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 59}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 61}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 62}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 64}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 66}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 67}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB7, 0xB8, 0, 131}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 34, 255}, + {0xA1, 0x66, 1, 255}, + {0xA0, 0x63, 1, 255}, + {0x9F, 0x60, 1, 255}, + {0x9E, 0x5D, 1, 255}, + {0x9D, 0x5A, 1, 255}, + {0x9C, 0x57, 1, 255}, + {0x9B, 0x54, 1, 255}, + {0x9A, 0x51, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 4}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 6}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 8}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 10}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 11}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 13}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 15}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 17}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 18}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 20}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 22}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 24}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 26}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 28}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 30}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 32}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 34}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 36}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 38}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 40}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 42}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 44}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 46}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 48}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 50}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 52}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 54}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 56}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 58}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 59}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 61}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 63}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 64}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 35, 255}, + {0xB6, 0x71, 1, 69}, + {0xA1, 0x6E, 1, 255}, + {0xA0, 0x6B, 1, 255}, + {0x9F, 0x68, 1, 255}, + {0x9E, 0x65, 1, 255}, + {0x9D, 0x62, 1, 255}, + {0x9C, 0x5F, 1, 255}, + {0x9B, 0x5C, 1, 255}, + {0x9A, 0x59, 1, 255}, + {0x99, 0x4E, 1, 255}, + {0x98, 0x4B, 1, 255}, + {0x97, 0x48, 1, 255}, + {0x96, 0x45, 1, 255}, + {0x95, 0x42, 1, 255}, + {0x94, 0x3F, 1, 255}, + {0x93, 0x3C, 1, 255}, + {0x92, 0x39, 1, 255}, + {0x91, 0x36, 1, 255}, + {0x90, 0x33, 1, 255}, + {0x8F, 0x30, 1, 255}, + {0x8E, 0x2D, 1, 255}, + {0x8D, 0x2A, 1, 255}, + {0x8C, 0x27, 1, 255}, + {0x8B, 0x24, 1, 255}, + {0x8A, 0x21, 1, 255}, + {0x89, 0x1E, 1, 255}, + {0x88, 0x1B, 1, 255}, + {0x87, 0x18, 1, 255}, + {0x86, 0x15, 1, 255}, + {0x85, 0x12, 1, 255}, + {0x84, 0xC, 1, 255}, + {0x83, 0x9, 1, 255}, + {0x82, 0x6, 1, 255}, + {0x81, 0x3, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 4}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 6}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 8}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 10}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 12}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 13}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 15}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 17}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 19}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 20}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 22}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 24}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 26}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 28}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 30}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 32}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 34}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 36}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 38}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 40}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 42}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 44}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 46}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 48}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 50}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 3, 255}, + {0xBA, 0x3, 1, 53}, + {0xB9, 0xBA, 0, 52}, + {0xB7, 0x0, 1, 255}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB8, 0xB8, 0, 3}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 54}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 56}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 58}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 60}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 61}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xBA, 0, 63}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 65}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 66}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB7, 0xB8, 0, 67}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB8, 0xB8, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0x0, 1, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xB9, 0xB9, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBA, 0xBA, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 2, 255}, + {0xBE, 0xBE, 0, 3}, + {0xBD, 0x0, 1, 2}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0xE1, 0x0, 1, 255}, + {0x80, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xAD, 0x0, 1, 255}, + {0x8D, 0x0, 1, 255}, + {0xE0, 0x0, 1, 255}, + {0xAC, 0x0, 1, 255}, + {0xB7, 0xB7, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x87, 0x87, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x86, 0x86, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0xA6, 0xA7, 0, 1}, + {0xCC, 0x0, 4, 255}, + {0x8A, 0x8A, 0, 5}, + {0x87, 0x88, 0, 3}, + {0x83, 0x83, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x83, 0x83, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xCC, 0x0, 4, 255}, + {0xA8, 0xA8, 0, 5}, + {0x8B, 0x8B, 0, 4}, + {0x88, 0x88, 0, 3}, + {0x82, 0x83, 0, 1}, + {0x72, 0x72, 0, 1}, + {0x72, 0x72, 0, 2}, + {0x52, 0x52, 0, 1}, + {0xCC, 0x0, 3, 255}, + {0x8B, 0x8B, 0, 3}, + {0x88, 0x88, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xAF, 0x0, 1, 255}, + {0x8D, 0x0, 1, 3}, + {0xE0, 0x0, 1, 255}, + {0xAE, 0x0, 1, 255}, + {0xB7, 0x0, 1, 2}, + {0xE0, 0x0, 1, 255}, + {0xAF, 0x0, 1, 255}, + {0x8D, 0x8D, 0, 1}, + {0xE0, 0x0, 1, 255}, + {0xAF, 0x0, 1, 255}, + {0x8D, 0x8D, 0, 1}, + {0xE0, 0x0, 2, 255}, + {0xB9, 0x1, 1, 255}, + {0xB8, 0x0, 1, 255}, + {0xB2, 0xB2, 0, 1}, + {0x85, 0x85, 0, 2}, + {0xCC, 0x0, 2, 255}, + {0x84, 0x84, 0, 2}, + {0x81, 0x81, 0, 1}, + {0xDA, 0x0, 1, 255}, + {0xBE, 0xBE, 0, 1}, + {0xDA, 0x1, 1, 255}, + {0xD9, 0x0, 1, 255}, + {0x94, 0x94, 0, 1}, + {0xBE, 0xBE, 0, 2}, + {0xCC, 0x0, 2, 255}, + {0x9B, 0x9B, 0, 2}, + {0x82, 0x82, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x9B, 0x9B, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x61, 0x61, 0, 2}, + {0x88, 0x0, 1, 255}, + {0x61, 0x0, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x88, 0x88, 0, 1}, + {0xC3, 0x0, 1, 255}, + {0xA4, 0xA4, 0, 1}, + {0x65, 0x65, 0, 1}, + {0x69, 0x69, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x6F, 0x6F, 0, 2}, + {0x88, 0x0, 1, 255}, + {0x6F, 0x0, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x88, 0x88, 0, 1}, + {0xC3, 0x0, 1, 255}, + {0xB6, 0xB6, 0, 1}, + {0x63, 0x0, 1, 255}, + {0x68, 0x68, 0, 1}, + {0xCC, 0x0, 1, 255}, + {0x75, 0x75, 0, 2}, + {0x88, 0x0, 1, 255}, + {0x75, 0x0, 1, 255}, + {0xCC, 0x0, 1, 255}, + {0x88, 0x88, 0, 1}, + {0xC3, 0x0, 1, 255}, + {0xBC, 0xBC, 0, 1}, + {0xCC, 0x0, 3, 255}, + {0x8C, 0x8C, 0, 4}, + {0x84, 0x84, 0, 3}, + {0x80, 0x81, 0, 1}, + {0xCC, 0x0, 4, 255}, + {0x8C, 0x8C, 0, 8}, + {0x84, 0x84, 0, 7}, + {0x82, 0x0, 1, 255}, + {0x80, 0x81, 0, 5}, + {0xCC, 0x0, 3, 255}, + {0x8C, 0x8C, 0, 4}, + {0x84, 0x84, 0, 3}, + {0x80, 0x81, 0, 1}, + {0xCC, 0x0, 2, 255}, + {0x8C, 0x8C, 0, 2}, + {0x84, 0x84, 0, 1}, + {0xCC, 0x0, 4, 255}, + {0x8C, 0x8C, 0, 9}, + {0x88, 0x0, 1, 8}, + {0x84, 0x84, 0, 7}, + {0x80, 0x81, 0, 5}, + {0xCC, 0x0, 3, 255}, + {0x8C, 0x8C, 0, 4}, + {0x84, 0x84, 0, 3}, + {0x80, 0x81, 0, 1}, +} + +// Total size of mainTable is 1253028 bytes diff --git a/vendor/golang.org/x/text/internal/colltab/collelem.go b/vendor/golang.org/x/text/internal/colltab/collelem.go new file mode 100644 index 000000000000..28555897b759 --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/collelem.go @@ -0,0 +1,371 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package colltab + +import ( + "fmt" + "unicode" +) + +// Level identifies the collation comparison level. +// The primary level corresponds to the basic sorting of text. +// The secondary level corresponds to accents and related linguistic elements. +// The tertiary level corresponds to casing and related concepts. +// The quaternary level is derived from the other levels by the +// various algorithms for handling variable elements. +type Level int + +const ( + Primary Level = iota + Secondary + Tertiary + Quaternary + Identity + + NumLevels +) + +const ( + defaultSecondary = 0x20 + defaultTertiary = 0x2 + maxTertiary = 0x1F + MaxQuaternary = 0x1FFFFF // 21 bits. +) + +// Elem is a representation of a collation element. This API provides ways to encode +// and decode Elems. Implementations of collation tables may use values greater +// or equal to PrivateUse for their own purposes. However, these should never be +// returned by AppendNext. +type Elem uint32 + +const ( + maxCE Elem = 0xAFFFFFFF + PrivateUse = minContract + minContract = 0xC0000000 + maxContract = 0xDFFFFFFF + minExpand = 0xE0000000 + maxExpand = 0xEFFFFFFF + minDecomp = 0xF0000000 +) + +type ceType int + +const ( + ceNormal ceType = iota // ceNormal includes implicits (ce == 0) + ceContractionIndex // rune can be a start of a contraction + ceExpansionIndex // rune expands into a sequence of collation elements + ceDecompose // rune expands using NFKC decomposition +) + +func (ce Elem) ctype() ceType { + if ce <= maxCE { + return ceNormal + } + if ce <= maxContract { + return ceContractionIndex + } else { + if ce <= maxExpand { + return ceExpansionIndex + } + return ceDecompose + } + panic("should not reach here") + return ceType(-1) +} + +// For normal collation elements, we assume that a collation element either has +// a primary or non-default secondary value, not both. +// Collation elements with a primary value are of the form +// 01pppppp pppppppp ppppppp0 ssssssss +// - p* is primary collation value +// - s* is the secondary collation value +// 00pppppp pppppppp ppppppps sssttttt, where +// - p* is primary collation value +// - s* offset of secondary from default value. +// - t* is the tertiary collation value +// 100ttttt cccccccc pppppppp pppppppp +// - t* is the tertiar collation value +// - c* is the canonical combining class +// - p* is the primary collation value +// Collation elements with a secondary value are of the form +// 1010cccc ccccssss ssssssss tttttttt, where +// - c* is the canonical combining class +// - s* is the secondary collation value +// - t* is the tertiary collation value +// 11qqqqqq qqqqqqqq qqqqqqq0 00000000 +// - q* quaternary value +const ( + ceTypeMask = 0xC0000000 + ceTypeMaskExt = 0xE0000000 + ceIgnoreMask = 0xF00FFFFF + ceType1 = 0x40000000 + ceType2 = 0x00000000 + ceType3or4 = 0x80000000 + ceType4 = 0xA0000000 + ceTypeQ = 0xC0000000 + Ignore = ceType4 + firstNonPrimary = 0x80000000 + lastSpecialPrimary = 0xA0000000 + secondaryMask = 0x80000000 + hasTertiaryMask = 0x40000000 + primaryValueMask = 0x3FFFFE00 + maxPrimaryBits = 21 + compactPrimaryBits = 16 + maxSecondaryBits = 12 + maxTertiaryBits = 8 + maxCCCBits = 8 + maxSecondaryCompactBits = 8 + maxSecondaryDiffBits = 4 + maxTertiaryCompactBits = 5 + primaryShift = 9 + compactSecondaryShift = 5 + minCompactSecondary = defaultSecondary - 4 +) + +func makeImplicitCE(primary int) Elem { + return ceType1 | Elem(primary<= 1<= %x", w, 1<= 1<= %x", w, 1<= 1<= %x", w, 1<= 1<= %x", primary, 1<= 1<= %x", secondary, 1<= 1< %x", d, d, 1<= 1< %x", tertiary, 1<> 16) + } + return uint8(ce >> 20) + } + return 0 +} + +// Primary returns the primary collation weight for ce. +func (ce Elem) Primary() int { + if ce >= firstNonPrimary { + if ce > lastSpecialPrimary { + return 0 + } + return int(uint16(ce)) + } + return int(ce&primaryValueMask) >> primaryShift +} + +// Secondary returns the secondary collation weight for ce. +func (ce Elem) Secondary() int { + switch ce & ceTypeMask { + case ceType1: + return int(uint8(ce)) + case ceType2: + return minCompactSecondary + int((ce>>compactSecondaryShift)&0xF) + case ceType3or4: + if ce < ceType4 { + return defaultSecondary + } + return int(ce>>8) & 0xFFF + case ceTypeQ: + return 0 + } + panic("should not reach here") +} + +// Tertiary returns the tertiary collation weight for ce. +func (ce Elem) Tertiary() uint8 { + if ce&hasTertiaryMask == 0 { + if ce&ceType3or4 == 0 { + return uint8(ce & 0x1F) + } + if ce&ceType4 == ceType4 { + return uint8(ce) + } + return uint8(ce>>24) & 0x1F // type 2 + } else if ce&ceTypeMask == ceType1 { + return defaultTertiary + } + // ce is a quaternary value. + return 0 +} + +func (ce Elem) updateTertiary(t uint8) Elem { + if ce&ceTypeMask == ceType1 { + // convert to type 4 + nce := ce & primaryValueMask + nce |= Elem(uint8(ce)-minCompactSecondary) << compactSecondaryShift + ce = nce + } else if ce&ceTypeMaskExt == ceType3or4 { + ce &= ^Elem(maxTertiary << 24) + return ce | (Elem(t) << 24) + } else { + // type 2 or 4 + ce &= ^Elem(maxTertiary) + } + return ce | Elem(t) +} + +// Quaternary returns the quaternary value if explicitly specified, +// 0 if ce == Ignore, or MaxQuaternary otherwise. +// Quaternary values are used only for shifted variants. +func (ce Elem) Quaternary() int { + if ce&ceTypeMask == ceTypeQ { + return int(ce&primaryValueMask) >> primaryShift + } else if ce&ceIgnoreMask == Ignore { + return 0 + } + return MaxQuaternary +} + +// Weight returns the collation weight for the given level. +func (ce Elem) Weight(l Level) int { + switch l { + case Primary: + return ce.Primary() + case Secondary: + return ce.Secondary() + case Tertiary: + return int(ce.Tertiary()) + case Quaternary: + return ce.Quaternary() + } + return 0 // return 0 (ignore) for undefined levels. +} + +// For contractions, collation elements are of the form +// 110bbbbb bbbbbbbb iiiiiiii iiiinnnn, where +// - n* is the size of the first node in the contraction trie. +// - i* is the index of the first node in the contraction trie. +// - b* is the offset into the contraction collation element table. +// See contract.go for details on the contraction trie. +const ( + maxNBits = 4 + maxTrieIndexBits = 12 + maxContractOffsetBits = 13 +) + +func splitContractIndex(ce Elem) (index, n, offset int) { + n = int(ce & (1<>= maxNBits + index = int(ce & (1<>= maxTrieIndexBits + offset = int(ce & (1<> 8) +} + +const ( + // These constants were taken from http://www.unicode.org/versions/Unicode6.0.0/ch12.pdf. + minUnified rune = 0x4E00 + maxUnified = 0x9FFF + minCompatibility = 0xF900 + maxCompatibility = 0xFAFF + minRare = 0x3400 + maxRare = 0x4DBF +) +const ( + commonUnifiedOffset = 0x10000 + rareUnifiedOffset = 0x20000 // largest rune in common is U+FAFF + otherOffset = 0x50000 // largest rune in rare is U+2FA1D + illegalOffset = otherOffset + int(unicode.MaxRune) + maxPrimary = illegalOffset + 1 +) + +// implicitPrimary returns the primary weight for the a rune +// for which there is no entry for the rune in the collation table. +// We take a different approach from the one specified in +// http://unicode.org/reports/tr10/#Implicit_Weights, +// but preserve the resulting relative ordering of the runes. +func implicitPrimary(r rune) int { + if unicode.Is(unicode.Ideographic, r) { + if r >= minUnified && r <= maxUnified { + // The most common case for CJK. + return int(r) + commonUnifiedOffset + } + if r >= minCompatibility && r <= maxCompatibility { + // This will typically not hit. The DUCET explicitly specifies mappings + // for all characters that do not decompose. + return int(r) + commonUnifiedOffset + } + return int(r) + rareUnifiedOffset + } + return int(r) + otherOffset +} diff --git a/vendor/golang.org/x/text/internal/colltab/colltab.go b/vendor/golang.org/x/text/internal/colltab/colltab.go new file mode 100644 index 000000000000..02f22477ec2d --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/colltab.go @@ -0,0 +1,105 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package colltab contains functionality related to collation tables. +// It is only to be used by the collate and search packages. +package colltab // import "golang.org/x/text/internal/colltab" + +import ( + "sort" + + "golang.org/x/text/language" +) + +// MatchLang finds the index of t in tags, using a matching algorithm used for +// collation and search. tags[0] must be language.Und, the remaining tags should +// be sorted alphabetically. +// +// Language matching for collation and search is different from the matching +// defined by language.Matcher: the (inferred) base language must be an exact +// match for the relevant fields. For example, "gsw" should not match "de". +// Also the parent relation is different, as a parent may have a different +// script. So usually the parent of zh-Hant is und, whereas for MatchLang it is +// zh. +func MatchLang(t language.Tag, tags []language.Tag) int { + // Canonicalize the values, including collapsing macro languages. + t, _ = language.All.Canonicalize(t) + + base, conf := t.Base() + // Estimate the base language, but only use high-confidence values. + if conf < language.High { + // The root locale supports "search" and "standard". We assume that any + // implementation will only use one of both. + return 0 + } + + // Maximize base and script and normalize the tag. + if _, s, r := t.Raw(); (r != language.Region{}) { + p, _ := language.Raw.Compose(base, s, r) + // Taking the parent forces the script to be maximized. + p = p.Parent() + // Add back region and extensions. + t, _ = language.Raw.Compose(p, r, t.Extensions()) + } else { + // Set the maximized base language. + t, _ = language.Raw.Compose(base, s, t.Extensions()) + } + + // Find start index of the language tag. + start := 1 + sort.Search(len(tags)-1, func(i int) bool { + b, _, _ := tags[i+1].Raw() + return base.String() <= b.String() + }) + if start < len(tags) { + if b, _, _ := tags[start].Raw(); b != base { + return 0 + } + } + + // Besides the base language, script and region, only the collation type and + // the custom variant defined in the 'u' extension are used to distinguish a + // locale. + // Strip all variants and extensions and add back the custom variant. + tdef, _ := language.Raw.Compose(t.Raw()) + tdef, _ = tdef.SetTypeForKey("va", t.TypeForKey("va")) + + // First search for a specialized collation type, if present. + try := []language.Tag{tdef} + if co := t.TypeForKey("co"); co != "" { + tco, _ := tdef.SetTypeForKey("co", co) + try = []language.Tag{tco, tdef} + } + + for _, tx := range try { + for ; tx != language.Und; tx = parent(tx) { + for i, t := range tags[start:] { + if b, _, _ := t.Raw(); b != base { + break + } + if tx == t { + return start + i + } + } + } + } + return 0 +} + +// parent computes the structural parent. This means inheritance may change +// script. So, unlike the CLDR parent, parent(zh-Hant) == zh. +func parent(t language.Tag) language.Tag { + if t.TypeForKey("va") != "" { + t, _ = t.SetTypeForKey("va", "") + return t + } + result := language.Und + if b, s, r := t.Raw(); (r != language.Region{}) { + result, _ = language.Raw.Compose(b, s, t.Extensions()) + } else if (s != language.Script{}) { + result, _ = language.Raw.Compose(b, t.Extensions()) + } else if (b != language.Base{}) { + result, _ = language.Raw.Compose(t.Extensions()) + } + return result +} diff --git a/vendor/golang.org/x/text/internal/colltab/contract.go b/vendor/golang.org/x/text/internal/colltab/contract.go new file mode 100644 index 000000000000..25649d4f55ff --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/contract.go @@ -0,0 +1,145 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package colltab + +import "unicode/utf8" + +// For a description of ContractTrieSet, see text/collate/build/contract.go. + +type ContractTrieSet []struct{ L, H, N, I uint8 } + +// ctScanner is used to match a trie to an input sequence. +// A contraction may match a non-contiguous sequence of bytes in an input string. +// For example, if there is a contraction for , it should match +// the sequence , as combining_cedilla does +// not block combining_ring. +// ctScanner does not automatically skip over non-blocking non-starters, but rather +// retains the state of the last match and leaves it up to the user to continue +// the match at the appropriate points. +type ctScanner struct { + states ContractTrieSet + s []byte + n int + index int + pindex int + done bool +} + +type ctScannerString struct { + states ContractTrieSet + s string + n int + index int + pindex int + done bool +} + +func (t ContractTrieSet) scanner(index, n int, b []byte) ctScanner { + return ctScanner{s: b, states: t[index:], n: n} +} + +func (t ContractTrieSet) scannerString(index, n int, str string) ctScannerString { + return ctScannerString{s: str, states: t[index:], n: n} +} + +// result returns the offset i and bytes consumed p so far. If no suffix +// matched, i and p will be 0. +func (s *ctScanner) result() (i, p int) { + return s.index, s.pindex +} + +func (s *ctScannerString) result() (i, p int) { + return s.index, s.pindex +} + +const ( + final = 0 + noIndex = 0xFF +) + +// scan matches the longest suffix at the current location in the input +// and returns the number of bytes consumed. +func (s *ctScanner) scan(p int) int { + pr := p // the p at the rune start + str := s.s + states, n := s.states, s.n + for i := 0; i < n && p < len(str); { + e := states[i] + c := str[p] + // TODO: a significant number of contractions are of a form that + // cannot match discontiguous UTF-8 in a normalized string. We could let + // a negative value of e.n mean that we can set s.done = true and avoid + // the need for additional matches. + if c >= e.L { + if e.L == c { + p++ + if e.I != noIndex { + s.index = int(e.I) + s.pindex = p + } + if e.N != final { + i, states, n = 0, states[int(e.H)+n:], int(e.N) + if p >= len(str) || utf8.RuneStart(str[p]) { + s.states, s.n, pr = states, n, p + } + } else { + s.done = true + return p + } + continue + } else if e.N == final && c <= e.H { + p++ + s.done = true + s.index = int(c-e.L) + int(e.I) + s.pindex = p + return p + } + } + i++ + } + return pr +} + +// scan is a verbatim copy of ctScanner.scan. +func (s *ctScannerString) scan(p int) int { + pr := p // the p at the rune start + str := s.s + states, n := s.states, s.n + for i := 0; i < n && p < len(str); { + e := states[i] + c := str[p] + // TODO: a significant number of contractions are of a form that + // cannot match discontiguous UTF-8 in a normalized string. We could let + // a negative value of e.n mean that we can set s.done = true and avoid + // the need for additional matches. + if c >= e.L { + if e.L == c { + p++ + if e.I != noIndex { + s.index = int(e.I) + s.pindex = p + } + if e.N != final { + i, states, n = 0, states[int(e.H)+n:], int(e.N) + if p >= len(str) || utf8.RuneStart(str[p]) { + s.states, s.n, pr = states, n, p + } + } else { + s.done = true + return p + } + continue + } else if e.N == final && c <= e.H { + p++ + s.done = true + s.index = int(c-e.L) + int(e.I) + s.pindex = p + return p + } + } + i++ + } + return pr +} diff --git a/vendor/golang.org/x/text/internal/colltab/iter.go b/vendor/golang.org/x/text/internal/colltab/iter.go new file mode 100644 index 000000000000..c1b1ba81ef0e --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/iter.go @@ -0,0 +1,178 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package colltab + +// An Iter incrementally converts chunks of the input text to collation +// elements, while ensuring that the collation elements are in normalized order +// (that is, they are in the order as if the input text were normalized first). +type Iter struct { + Weighter Weighter + Elems []Elem + // N is the number of elements in Elems that will not be reordered on + // subsequent iterations, N <= len(Elems). + N int + + bytes []byte + str string + // Because the Elems buffer may contain collation elements that are needed + // for look-ahead, we need two positions in the text (bytes or str): one for + // the end position in the text for the current iteration and one for the + // start of the next call to appendNext. + pEnd int // end position in text corresponding to N. + pNext int // pEnd <= pNext. +} + +// Reset sets the position in the current input text to p and discards any +// results obtained so far. +func (i *Iter) Reset(p int) { + i.Elems = i.Elems[:0] + i.N = 0 + i.pEnd = p + i.pNext = p +} + +// Len returns the length of the input text. +func (i *Iter) Len() int { + if i.bytes != nil { + return len(i.bytes) + } + return len(i.str) +} + +// Discard removes the collation elements up to N. +func (i *Iter) Discard() { + // TODO: change this such that only modifiers following starters will have + // to be copied. + i.Elems = i.Elems[:copy(i.Elems, i.Elems[i.N:])] + i.N = 0 +} + +// End returns the end position of the input text for which Next has returned +// results. +func (i *Iter) End() int { + return i.pEnd +} + +// SetInput resets i to input s. +func (i *Iter) SetInput(s []byte) { + i.bytes = s + i.str = "" + i.Reset(0) +} + +// SetInputString resets i to input s. +func (i *Iter) SetInputString(s string) { + i.str = s + i.bytes = nil + i.Reset(0) +} + +func (i *Iter) done() bool { + return i.pNext >= len(i.str) && i.pNext >= len(i.bytes) +} + +func (i *Iter) appendNext() bool { + if i.done() { + return false + } + var sz int + if i.bytes == nil { + i.Elems, sz = i.Weighter.AppendNextString(i.Elems, i.str[i.pNext:]) + } else { + i.Elems, sz = i.Weighter.AppendNext(i.Elems, i.bytes[i.pNext:]) + } + if sz == 0 { + sz = 1 + } + i.pNext += sz + return true +} + +// Next appends Elems to the internal array. On each iteration, it will either +// add starters or modifiers. In the majority of cases, an Elem with a primary +// value > 0 will have a CCC of 0. The CCC values of collation elements are also +// used to detect if the input string was not normalized and to adjust the +// result accordingly. +func (i *Iter) Next() bool { + if i.N == len(i.Elems) && !i.appendNext() { + return false + } + + // Check if the current segment starts with a starter. + prevCCC := i.Elems[len(i.Elems)-1].CCC() + if prevCCC == 0 { + i.N = len(i.Elems) + i.pEnd = i.pNext + return true + } else if i.Elems[i.N].CCC() == 0 { + // set i.N to only cover part of i.Elems for which prevCCC == 0 and + // use rest for the next call to next. + for i.N++; i.N < len(i.Elems) && i.Elems[i.N].CCC() == 0; i.N++ { + } + i.pEnd = i.pNext + return true + } + + // The current (partial) segment starts with modifiers. We need to collect + // all successive modifiers to ensure that they are normalized. + for { + p := len(i.Elems) + i.pEnd = i.pNext + if !i.appendNext() { + break + } + + if ccc := i.Elems[p].CCC(); ccc == 0 || len(i.Elems)-i.N > maxCombiningCharacters { + // Leave the starter for the next iteration. This ensures that we + // do not return sequences of collation elements that cross two + // segments. + // + // TODO: handle large number of combining characters by fully + // normalizing the input segment before iteration. This ensures + // results are consistent across the text repo. + i.N = p + return true + } else if ccc < prevCCC { + i.doNorm(p, ccc) // should be rare, never occurs for NFD and FCC. + } else { + prevCCC = ccc + } + } + + done := len(i.Elems) != i.N + i.N = len(i.Elems) + return done +} + +// nextNoNorm is the same as next, but does not "normalize" the collation +// elements. +func (i *Iter) nextNoNorm() bool { + // TODO: remove this function. Using this instead of next does not seem + // to improve performance in any significant way. We retain this until + // later for evaluation purposes. + if i.done() { + return false + } + i.appendNext() + i.N = len(i.Elems) + return true +} + +const maxCombiningCharacters = 30 + +// doNorm reorders the collation elements in i.Elems. +// It assumes that blocks of collation elements added with appendNext +// either start and end with the same CCC or start with CCC == 0. +// This allows for a single insertion point for the entire block. +// The correctness of this assumption is verified in builder.go. +func (i *Iter) doNorm(p int, ccc uint8) { + n := len(i.Elems) + k := p + for p--; p > i.N && ccc < i.Elems[p-1].CCC(); p-- { + } + i.Elems = append(i.Elems, i.Elems[p:k]...) + copy(i.Elems[p:], i.Elems[k:]) + i.Elems = i.Elems[:n] +} diff --git a/vendor/golang.org/x/text/internal/colltab/numeric.go b/vendor/golang.org/x/text/internal/colltab/numeric.go new file mode 100644 index 000000000000..38c255cb4796 --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/numeric.go @@ -0,0 +1,236 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package colltab + +import ( + "unicode" + "unicode/utf8" +) + +// NewNumericWeighter wraps w to replace individual digits to sort based on their +// numeric value. +// +// Weighter w must have a free primary weight after the primary weight for 9. +// If this is not the case, numeric value will sort at the same primary level +// as the first primary sorting after 9. +func NewNumericWeighter(w Weighter) Weighter { + getElem := func(s string) Elem { + elems, _ := w.AppendNextString(nil, s) + return elems[0] + } + nine := getElem("9") + + // Numbers should order before zero, but the DUCET has no room for this. + // TODO: move before zero once we use fractional collation elements. + ns, _ := MakeElem(nine.Primary()+1, nine.Secondary(), int(nine.Tertiary()), 0) + + return &numericWeighter{ + Weighter: w, + + // We assume that w sorts digits of different kinds in order of numeric + // value and that the tertiary weight order is preserved. + // + // TODO: evaluate whether it is worth basing the ranges on the Elem + // encoding itself once the move to fractional weights is complete. + zero: getElem("0"), + zeroSpecialLo: getElem("0"), // U+FF10 FULLWIDTH DIGIT ZERO + zeroSpecialHi: getElem("₀"), // U+2080 SUBSCRIPT ZERO + nine: nine, + nineSpecialHi: getElem("₉"), // U+2089 SUBSCRIPT NINE + numberStart: ns, + } +} + +// A numericWeighter translates a stream of digits into a stream of weights +// representing the numeric value. +type numericWeighter struct { + Weighter + + // The Elems below all demarcate boundaries of specific ranges. With the + // current element encoding digits are in two ranges: normal (default + // tertiary value) and special. For most languages, digits have collation + // elements in the normal range. + // + // Note: the range tests are very specific for the element encoding used by + // this implementation. The tests in collate_test.go are designed to fail + // if this code is not updated when an encoding has changed. + + zero Elem // normal digit zero + zeroSpecialLo Elem // special digit zero, low tertiary value + zeroSpecialHi Elem // special digit zero, high tertiary value + nine Elem // normal digit nine + nineSpecialHi Elem // special digit nine + numberStart Elem +} + +// AppendNext calls the namesake of the underlying weigher, but replaces single +// digits with weights representing their value. +func (nw *numericWeighter) AppendNext(buf []Elem, s []byte) (ce []Elem, n int) { + ce, n = nw.Weighter.AppendNext(buf, s) + nc := numberConverter{ + elems: buf, + w: nw, + b: s, + } + isZero, ok := nc.checkNextDigit(ce) + if !ok { + return ce, n + } + // ce might have been grown already, so take it instead of buf. + nc.init(ce, len(buf), isZero) + for n < len(s) { + ce, sz := nw.Weighter.AppendNext(nc.elems, s[n:]) + nc.b = s + n += sz + if !nc.update(ce) { + break + } + } + return nc.result(), n +} + +// AppendNextString calls the namesake of the underlying weigher, but replaces +// single digits with weights representing their value. +func (nw *numericWeighter) AppendNextString(buf []Elem, s string) (ce []Elem, n int) { + ce, n = nw.Weighter.AppendNextString(buf, s) + nc := numberConverter{ + elems: buf, + w: nw, + s: s, + } + isZero, ok := nc.checkNextDigit(ce) + if !ok { + return ce, n + } + nc.init(ce, len(buf), isZero) + for n < len(s) { + ce, sz := nw.Weighter.AppendNextString(nc.elems, s[n:]) + nc.s = s + n += sz + if !nc.update(ce) { + break + } + } + return nc.result(), n +} + +type numberConverter struct { + w *numericWeighter + + elems []Elem + nDigits int + lenIndex int + + s string // set if the input was of type string + b []byte // set if the input was of type []byte +} + +// init completes initialization of a numberConverter and prepares it for adding +// more digits. elems is assumed to have a digit starting at oldLen. +func (nc *numberConverter) init(elems []Elem, oldLen int, isZero bool) { + // Insert a marker indicating the start of a number and and a placeholder + // for the number of digits. + if isZero { + elems = append(elems[:oldLen], nc.w.numberStart, 0) + } else { + elems = append(elems, 0, 0) + copy(elems[oldLen+2:], elems[oldLen:]) + elems[oldLen] = nc.w.numberStart + elems[oldLen+1] = 0 + + nc.nDigits = 1 + } + nc.elems = elems + nc.lenIndex = oldLen + 1 +} + +// checkNextDigit reports whether bufNew adds a single digit relative to the old +// buffer. If it does, it also reports whether this digit is zero. +func (nc *numberConverter) checkNextDigit(bufNew []Elem) (isZero, ok bool) { + if len(nc.elems) >= len(bufNew) { + return false, false + } + e := bufNew[len(nc.elems)] + if e < nc.w.zeroSpecialLo || nc.w.nine < e { + // Not a number. + return false, false + } + if e < nc.w.zero { + if e > nc.w.nineSpecialHi { + // Not a number. + return false, false + } + if !nc.isDigit() { + return false, false + } + isZero = e <= nc.w.zeroSpecialHi + } else { + // This is the common case if we encounter a digit. + isZero = e == nc.w.zero + } + // Test the remaining added collation elements have a zero primary value. + if n := len(bufNew) - len(nc.elems); n > 1 { + for i := len(nc.elems) + 1; i < len(bufNew); i++ { + if bufNew[i].Primary() != 0 { + return false, false + } + } + // In some rare cases, collation elements will encode runes in + // unicode.No as a digit. For example Ethiopic digits (U+1369 - U+1371) + // are not in Nd. Also some digits that clearly belong in unicode.No, + // like U+0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR, have + // collation elements indistinguishable from normal digits. + // Unfortunately, this means we need to make this check for nearly all + // non-Latin digits. + // + // TODO: check the performance impact and find something better if it is + // an issue. + if !nc.isDigit() { + return false, false + } + } + return isZero, true +} + +func (nc *numberConverter) isDigit() bool { + if nc.b != nil { + r, _ := utf8.DecodeRune(nc.b) + return unicode.In(r, unicode.Nd) + } + r, _ := utf8.DecodeRuneInString(nc.s) + return unicode.In(r, unicode.Nd) +} + +// We currently support a maximum of about 2M digits (the number of primary +// values). Such numbers will compare correctly against small numbers, but their +// comparison against other large numbers is undefined. +// +// TODO: define a proper fallback, such as comparing large numbers textually or +// actually allowing numbers of unlimited length. +// +// TODO: cap this to a lower number (like 100) and maybe allow a larger number +// in an option? +const maxDigits = 1<= firstHangul && r <= lastHangul { + // TODO: performance can be considerably improved here. + n = sz + var buf [16]byte // Used for decomposing Hangul. + for b := src.nfd(buf[:0], hangulSize); len(b) > 0; b = b[sz:] { + ce, sz = t.Index.lookup(b) + w = append(w, ce) + } + return w, n + } + ce = makeImplicitCE(implicitPrimary(r)) + } + w = append(w, ce) + } else if tp == ceExpansionIndex { + w = t.appendExpansion(w, ce) + } else if tp == ceContractionIndex { + n := 0 + src.tail(sz) + if src.bytes == nil { + w, n = t.matchContractionString(w, ce, src.str) + } else { + w, n = t.matchContraction(w, ce, src.bytes) + } + sz += n + } else if tp == ceDecompose { + // Decompose using NFKD and replace tertiary weights. + t1, t2 := splitDecompose(ce) + i := len(w) + nfkd := src.properties(norm.NFKD).Decomposition() + for p := 0; len(nfkd) > 0; nfkd = nfkd[p:] { + w, p = t.appendNext(w, source{bytes: nfkd}) + } + w[i] = w[i].updateTertiary(t1) + if i++; i < len(w) { + w[i] = w[i].updateTertiary(t2) + for i++; i < len(w); i++ { + w[i] = w[i].updateTertiary(maxTertiary) + } + } + } + return w, sz +} + +func (t *Table) appendExpansion(w []Elem, ce Elem) []Elem { + i := splitExpandIndex(ce) + n := int(t.ExpandElem[i]) + i++ + for _, ce := range t.ExpandElem[i : i+n] { + w = append(w, Elem(ce)) + } + return w +} + +func (t *Table) matchContraction(w []Elem, ce Elem, suffix []byte) ([]Elem, int) { + index, n, offset := splitContractIndex(ce) + + scan := t.ContractTries.scanner(index, n, suffix) + buf := [norm.MaxSegmentSize]byte{} + bufp := 0 + p := scan.scan(0) + + if !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf { + // By now we should have filtered most cases. + p0 := p + bufn := 0 + rune := norm.NFD.Properties(suffix[p:]) + p += rune.Size() + if rune.LeadCCC() != 0 { + prevCC := rune.TrailCCC() + // A gap may only occur in the last normalization segment. + // This also ensures that len(scan.s) < norm.MaxSegmentSize. + if end := norm.NFD.FirstBoundary(suffix[p:]); end != -1 { + scan.s = suffix[:p+end] + } + for p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf { + rune = norm.NFD.Properties(suffix[p:]) + if ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc { + break + } + prevCC = rune.TrailCCC() + if pp := scan.scan(p); pp != p { + // Copy the interstitial runes for later processing. + bufn += copy(buf[bufn:], suffix[p0:p]) + if scan.pindex == pp { + bufp = bufn + } + p, p0 = pp, pp + } else { + p += rune.Size() + } + } + } + } + // Append weights for the matched contraction, which may be an expansion. + i, n := scan.result() + ce = Elem(t.ContractElem[i+offset]) + if ce.ctype() == ceNormal { + w = append(w, ce) + } else { + w = t.appendExpansion(w, ce) + } + // Append weights for the runes in the segment not part of the contraction. + for b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] { + w, p = t.appendNext(w, source{bytes: b}) + } + return w, n +} + +// TODO: unify the two implementations. This is best done after first simplifying +// the algorithm taking into account the inclusion of both NFC and NFD forms +// in the table. +func (t *Table) matchContractionString(w []Elem, ce Elem, suffix string) ([]Elem, int) { + index, n, offset := splitContractIndex(ce) + + scan := t.ContractTries.scannerString(index, n, suffix) + buf := [norm.MaxSegmentSize]byte{} + bufp := 0 + p := scan.scan(0) + + if !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf { + // By now we should have filtered most cases. + p0 := p + bufn := 0 + rune := norm.NFD.PropertiesString(suffix[p:]) + p += rune.Size() + if rune.LeadCCC() != 0 { + prevCC := rune.TrailCCC() + // A gap may only occur in the last normalization segment. + // This also ensures that len(scan.s) < norm.MaxSegmentSize. + if end := norm.NFD.FirstBoundaryInString(suffix[p:]); end != -1 { + scan.s = suffix[:p+end] + } + for p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf { + rune = norm.NFD.PropertiesString(suffix[p:]) + if ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc { + break + } + prevCC = rune.TrailCCC() + if pp := scan.scan(p); pp != p { + // Copy the interstitial runes for later processing. + bufn += copy(buf[bufn:], suffix[p0:p]) + if scan.pindex == pp { + bufp = bufn + } + p, p0 = pp, pp + } else { + p += rune.Size() + } + } + } + } + // Append weights for the matched contraction, which may be an expansion. + i, n := scan.result() + ce = Elem(t.ContractElem[i+offset]) + if ce.ctype() == ceNormal { + w = append(w, ce) + } else { + w = t.appendExpansion(w, ce) + } + // Append weights for the runes in the segment not part of the contraction. + for b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] { + w, p = t.appendNext(w, source{bytes: b}) + } + return w, n +} diff --git a/vendor/golang.org/x/text/internal/colltab/trie.go b/vendor/golang.org/x/text/internal/colltab/trie.go new file mode 100644 index 000000000000..a0eaa0d23be9 --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/trie.go @@ -0,0 +1,159 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The trie in this file is used to associate the first full character in an +// UTF-8 string to a collation element. All but the last byte in a UTF-8 byte +// sequence are used to lookup offsets in the index table to be used for the +// next byte. The last byte is used to index into a table of collation elements. +// For a full description, see go.text/collate/build/trie.go. + +package colltab + +const blockSize = 64 + +type Trie struct { + Index0 []uint16 // index for first byte (0xC0-0xFF) + Values0 []uint32 // index for first byte (0x00-0x7F) + Index []uint16 + Values []uint32 +} + +const ( + t1 = 0x00 // 0000 0000 + tx = 0x80 // 1000 0000 + t2 = 0xC0 // 1100 0000 + t3 = 0xE0 // 1110 0000 + t4 = 0xF0 // 1111 0000 + t5 = 0xF8 // 1111 1000 + t6 = 0xFC // 1111 1100 + te = 0xFE // 1111 1110 +) + +func (t *Trie) lookupValue(n uint16, b byte) Elem { + return Elem(t.Values[int(n)<<6+int(b)]) +} + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *Trie) lookup(s []byte) (v Elem, sz int) { + c0 := s[0] + switch { + case c0 < tx: + return Elem(t.Values0[c0]), 1 + case c0 < t2: + return 0, 1 + case c0 < t3: + if len(s) < 2 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + return t.lookupValue(i, c1), 2 + case c0 < t4: + if len(s) < 3 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + o := int(i)<<6 + int(c1) + i = t.Index[o] + c2 := s[2] + if c2 < tx || t2 <= c2 { + return 0, 2 + } + return t.lookupValue(i, c2), 3 + case c0 < t5: + if len(s) < 4 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + o := int(i)<<6 + int(c1) + i = t.Index[o] + c2 := s[2] + if c2 < tx || t2 <= c2 { + return 0, 2 + } + o = int(i)<<6 + int(c2) + i = t.Index[o] + c3 := s[3] + if c3 < tx || t2 <= c3 { + return 0, 3 + } + return t.lookupValue(i, c3), 4 + } + // Illegal rune + return 0, 1 +} + +// The body of lookupString is a verbatim copy of that of lookup. +func (t *Trie) lookupString(s string) (v Elem, sz int) { + c0 := s[0] + switch { + case c0 < tx: + return Elem(t.Values0[c0]), 1 + case c0 < t2: + return 0, 1 + case c0 < t3: + if len(s) < 2 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + return t.lookupValue(i, c1), 2 + case c0 < t4: + if len(s) < 3 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + o := int(i)<<6 + int(c1) + i = t.Index[o] + c2 := s[2] + if c2 < tx || t2 <= c2 { + return 0, 2 + } + return t.lookupValue(i, c2), 3 + case c0 < t5: + if len(s) < 4 { + return 0, 0 + } + i := t.Index0[c0] + c1 := s[1] + if c1 < tx || t2 <= c1 { + return 0, 1 + } + o := int(i)<<6 + int(c1) + i = t.Index[o] + c2 := s[2] + if c2 < tx || t2 <= c2 { + return 0, 2 + } + o = int(i)<<6 + int(c2) + i = t.Index[o] + c3 := s[3] + if c3 < tx || t2 <= c3 { + return 0, 3 + } + return t.lookupValue(i, c3), 4 + } + // Illegal rune + return 0, 1 +} diff --git a/vendor/golang.org/x/text/internal/colltab/weighter.go b/vendor/golang.org/x/text/internal/colltab/weighter.go new file mode 100644 index 000000000000..f1ec45fb5090 --- /dev/null +++ b/vendor/golang.org/x/text/internal/colltab/weighter.go @@ -0,0 +1,31 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package colltab // import "golang.org/x/text/internal/colltab" + +// A Weighter can be used as a source for Collator and Searcher. +type Weighter interface { + // Start finds the start of the segment that includes position p. + Start(p int, b []byte) int + + // StartString finds the start of the segment that includes position p. + StartString(p int, s string) int + + // AppendNext appends Elems to buf corresponding to the longest match + // of a single character or contraction from the start of s. + // It returns the new buf and the number of bytes consumed. + AppendNext(buf []Elem, s []byte) (ce []Elem, n int) + + // AppendNextString appends Elems to buf corresponding to the longest match + // of a single character or contraction from the start of s. + // It returns the new buf and the number of bytes consumed. + AppendNextString(buf []Elem, s string) (ce []Elem, n int) + + // Domain returns a slice of all single characters and contractions for which + // collation elements are defined in this table. + Domain() []string + + // Top returns the highest variable primary value. + Top() uint32 +} diff --git a/vendor/golang.org/x/text/internal/gen/code.go b/vendor/golang.org/x/text/internal/gen/code.go new file mode 100644 index 000000000000..d7031b6945a2 --- /dev/null +++ b/vendor/golang.org/x/text/internal/gen/code.go @@ -0,0 +1,351 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package gen + +import ( + "bytes" + "encoding/gob" + "fmt" + "hash" + "hash/fnv" + "io" + "log" + "os" + "reflect" + "strings" + "unicode" + "unicode/utf8" +) + +// This file contains utilities for generating code. + +// TODO: other write methods like: +// - slices, maps, types, etc. + +// CodeWriter is a utility for writing structured code. It computes the content +// hash and size of written content. It ensures there are newlines between +// written code blocks. +type CodeWriter struct { + buf bytes.Buffer + Size int + Hash hash.Hash32 // content hash + gob *gob.Encoder + // For comments we skip the usual one-line separator if they are followed by + // a code block. + skipSep bool +} + +func (w *CodeWriter) Write(p []byte) (n int, err error) { + return w.buf.Write(p) +} + +// NewCodeWriter returns a new CodeWriter. +func NewCodeWriter() *CodeWriter { + h := fnv.New32() + return &CodeWriter{Hash: h, gob: gob.NewEncoder(h)} +} + +// WriteGoFile appends the buffer with the total size of all created structures +// and writes it as a Go file to the the given file with the given package name. +func (w *CodeWriter) WriteGoFile(filename, pkg string) { + f, err := os.Create(filename) + if err != nil { + log.Fatalf("Could not create file %s: %v", filename, err) + } + defer f.Close() + if _, err = w.WriteGo(f, pkg); err != nil { + log.Fatalf("Error writing file %s: %v", filename, err) + } +} + +// WriteGo appends the buffer with the total size of all created structures and +// writes it as a Go file to the the given writer with the given package name. +func (w *CodeWriter) WriteGo(out io.Writer, pkg string) (n int, err error) { + sz := w.Size + w.WriteComment("Total table size %d bytes (%dKiB); checksum: %X\n", sz, sz/1024, w.Hash.Sum32()) + defer w.buf.Reset() + return WriteGo(out, pkg, w.buf.Bytes()) +} + +func (w *CodeWriter) printf(f string, x ...interface{}) { + fmt.Fprintf(w, f, x...) +} + +func (w *CodeWriter) insertSep() { + if w.skipSep { + w.skipSep = false + return + } + // Use at least two newlines to ensure a blank space between the previous + // block. WriteGoFile will remove extraneous newlines. + w.printf("\n\n") +} + +// WriteComment writes a comment block. All line starts are prefixed with "//". +// Initial empty lines are gobbled. The indentation for the first line is +// stripped from consecutive lines. +func (w *CodeWriter) WriteComment(comment string, args ...interface{}) { + s := fmt.Sprintf(comment, args...) + s = strings.Trim(s, "\n") + + // Use at least two newlines to ensure a blank space between the previous + // block. WriteGoFile will remove extraneous newlines. + w.printf("\n\n// ") + w.skipSep = true + + // strip first indent level. + sep := "\n" + for ; len(s) > 0 && (s[0] == '\t' || s[0] == ' '); s = s[1:] { + sep += s[:1] + } + + strings.NewReplacer(sep, "\n// ", "\n", "\n// ").WriteString(w, s) + + w.printf("\n") +} + +func (w *CodeWriter) writeSizeInfo(size int) { + w.printf("// Size: %d bytes\n", size) +} + +// WriteConst writes a constant of the given name and value. +func (w *CodeWriter) WriteConst(name string, x interface{}) { + w.insertSep() + v := reflect.ValueOf(x) + + switch v.Type().Kind() { + case reflect.String: + w.printf("const %s %s = ", name, typeName(x)) + w.WriteString(v.String()) + w.printf("\n") + default: + w.printf("const %s = %#v\n", name, x) + } +} + +// WriteVar writes a variable of the given name and value. +func (w *CodeWriter) WriteVar(name string, x interface{}) { + w.insertSep() + v := reflect.ValueOf(x) + oldSize := w.Size + sz := int(v.Type().Size()) + w.Size += sz + + switch v.Type().Kind() { + case reflect.String: + w.printf("var %s %s = ", name, typeName(x)) + w.WriteString(v.String()) + case reflect.Struct: + w.gob.Encode(x) + fallthrough + case reflect.Slice, reflect.Array: + w.printf("var %s = ", name) + w.writeValue(v) + w.writeSizeInfo(w.Size - oldSize) + default: + w.printf("var %s %s = ", name, typeName(x)) + w.gob.Encode(x) + w.writeValue(v) + w.writeSizeInfo(w.Size - oldSize) + } + w.printf("\n") +} + +func (w *CodeWriter) writeValue(v reflect.Value) { + x := v.Interface() + switch v.Kind() { + case reflect.String: + w.WriteString(v.String()) + case reflect.Array: + // Don't double count: callers of WriteArray count on the size being + // added, so we need to discount it here. + w.Size -= int(v.Type().Size()) + w.writeSlice(x, true) + case reflect.Slice: + w.writeSlice(x, false) + case reflect.Struct: + w.printf("%s{\n", typeName(v.Interface())) + t := v.Type() + for i := 0; i < v.NumField(); i++ { + w.printf("%s: ", t.Field(i).Name) + w.writeValue(v.Field(i)) + w.printf(",\n") + } + w.printf("}") + default: + w.printf("%#v", x) + } +} + +// WriteString writes a string literal. +func (w *CodeWriter) WriteString(s string) { + s = strings.Replace(s, `\`, `\\`, -1) + io.WriteString(w.Hash, s) // content hash + w.Size += len(s) + + const maxInline = 40 + if len(s) <= maxInline { + w.printf("%q", s) + return + } + + // We will render the string as a multi-line string. + const maxWidth = 80 - 4 - len(`"`) - len(`" +`) + + // When starting on its own line, go fmt indents line 2+ an extra level. + n, max := maxWidth, maxWidth-4 + + // As per https://golang.org/issue/18078, the compiler has trouble + // compiling the concatenation of many strings, s0 + s1 + s2 + ... + sN, + // for large N. We insert redundant, explicit parentheses to work around + // that, lowering the N at any given step: (s0 + s1 + ... + s63) + (s64 + + // ... + s127) + etc + (etc + ... + sN). + explicitParens, extraComment := len(s) > 128*1024, "" + if explicitParens { + w.printf(`(`) + extraComment = "; the redundant, explicit parens are for https://golang.org/issue/18078" + } + + // Print "" +\n, if a string does not start on its own line. + b := w.buf.Bytes() + if p := len(bytes.TrimRight(b, " \t")); p > 0 && b[p-1] != '\n' { + w.printf("\"\" + // Size: %d bytes%s\n", len(s), extraComment) + n, max = maxWidth, maxWidth + } + + w.printf(`"`) + + for sz, p, nLines := 0, 0, 0; p < len(s); { + var r rune + r, sz = utf8.DecodeRuneInString(s[p:]) + out := s[p : p+sz] + chars := 1 + if !unicode.IsPrint(r) || r == utf8.RuneError || r == '"' { + switch sz { + case 1: + out = fmt.Sprintf("\\x%02x", s[p]) + case 2, 3: + out = fmt.Sprintf("\\u%04x", r) + case 4: + out = fmt.Sprintf("\\U%08x", r) + } + chars = len(out) + } + if n -= chars; n < 0 { + nLines++ + if explicitParens && nLines&63 == 63 { + w.printf("\") + (\"") + } + w.printf("\" +\n\"") + n = max - len(out) + } + w.printf("%s", out) + p += sz + } + w.printf(`"`) + if explicitParens { + w.printf(`)`) + } +} + +// WriteSlice writes a slice value. +func (w *CodeWriter) WriteSlice(x interface{}) { + w.writeSlice(x, false) +} + +// WriteArray writes an array value. +func (w *CodeWriter) WriteArray(x interface{}) { + w.writeSlice(x, true) +} + +func (w *CodeWriter) writeSlice(x interface{}, isArray bool) { + v := reflect.ValueOf(x) + w.gob.Encode(v.Len()) + w.Size += v.Len() * int(v.Type().Elem().Size()) + name := typeName(x) + if isArray { + name = fmt.Sprintf("[%d]%s", v.Len(), name[strings.Index(name, "]")+1:]) + } + if isArray { + w.printf("%s{\n", name) + } else { + w.printf("%s{ // %d elements\n", name, v.Len()) + } + + switch kind := v.Type().Elem().Kind(); kind { + case reflect.String: + for _, s := range x.([]string) { + w.WriteString(s) + w.printf(",\n") + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + // nLine and nBlock are the number of elements per line and block. + nLine, nBlock, format := 8, 64, "%d," + switch kind { + case reflect.Uint8: + format = "%#02x," + case reflect.Uint16: + format = "%#04x," + case reflect.Uint32: + nLine, nBlock, format = 4, 32, "%#08x," + case reflect.Uint, reflect.Uint64: + nLine, nBlock, format = 4, 32, "%#016x," + case reflect.Int8: + nLine = 16 + } + n := nLine + for i := 0; i < v.Len(); i++ { + if i%nBlock == 0 && v.Len() > nBlock { + w.printf("// Entry %X - %X\n", i, i+nBlock-1) + } + x := v.Index(i).Interface() + w.gob.Encode(x) + w.printf(format, x) + if n--; n == 0 { + n = nLine + w.printf("\n") + } + } + w.printf("\n") + case reflect.Struct: + zero := reflect.Zero(v.Type().Elem()).Interface() + for i := 0; i < v.Len(); i++ { + x := v.Index(i).Interface() + w.gob.EncodeValue(v) + if !reflect.DeepEqual(zero, x) { + line := fmt.Sprintf("%#v,\n", x) + line = line[strings.IndexByte(line, '{'):] + w.printf("%d: ", i) + w.printf(line) + } + } + case reflect.Array: + for i := 0; i < v.Len(); i++ { + w.printf("%d: %#v,\n", i, v.Index(i).Interface()) + } + default: + panic("gen: slice elem type not supported") + } + w.printf("}") +} + +// WriteType writes a definition of the type of the given value and returns the +// type name. +func (w *CodeWriter) WriteType(x interface{}) string { + t := reflect.TypeOf(x) + w.printf("type %s struct {\n", t.Name()) + for i := 0; i < t.NumField(); i++ { + w.printf("\t%s %s\n", t.Field(i).Name, t.Field(i).Type) + } + w.printf("}\n") + return t.Name() +} + +// typeName returns the name of the go type of x. +func typeName(x interface{}) string { + t := reflect.ValueOf(x).Type() + return strings.Replace(fmt.Sprint(t), "main.", "", 1) +} diff --git a/vendor/golang.org/x/text/internal/gen/gen.go b/vendor/golang.org/x/text/internal/gen/gen.go new file mode 100644 index 000000000000..2acb0355a26a --- /dev/null +++ b/vendor/golang.org/x/text/internal/gen/gen.go @@ -0,0 +1,281 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package gen contains common code for the various code generation tools in the +// text repository. Its usage ensures consistency between tools. +// +// This package defines command line flags that are common to most generation +// tools. The flags allow for specifying specific Unicode and CLDR versions +// in the public Unicode data repository (http://www.unicode.org/Public). +// +// A local Unicode data mirror can be set through the flag -local or the +// environment variable UNICODE_DIR. The former takes precedence. The local +// directory should follow the same structure as the public repository. +// +// IANA data can also optionally be mirrored by putting it in the iana directory +// rooted at the top of the local mirror. Beware, though, that IANA data is not +// versioned. So it is up to the developer to use the right version. +package gen // import "golang.org/x/text/internal/gen" + +import ( + "bytes" + "flag" + "fmt" + "go/build" + "go/format" + "io" + "io/ioutil" + "log" + "net/http" + "os" + "path" + "path/filepath" + "sync" + "unicode" + + "golang.org/x/text/unicode/cldr" +) + +var ( + url = flag.String("url", + "http://www.unicode.org/Public", + "URL of Unicode database directory") + iana = flag.String("iana", + "http://www.iana.org", + "URL of the IANA repository") + unicodeVersion = flag.String("unicode", + getEnv("UNICODE_VERSION", unicode.Version), + "unicode version to use") + cldrVersion = flag.String("cldr", + getEnv("CLDR_VERSION", cldr.Version), + "cldr version to use") +) + +func getEnv(name, def string) string { + if v := os.Getenv(name); v != "" { + return v + } + return def +} + +// Init performs common initialization for a gen command. It parses the flags +// and sets up the standard logging parameters. +func Init() { + log.SetPrefix("") + log.SetFlags(log.Lshortfile) + flag.Parse() +} + +const header = `// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package %s + +` + +// UnicodeVersion reports the requested Unicode version. +func UnicodeVersion() string { + return *unicodeVersion +} + +// UnicodeVersion reports the requested CLDR version. +func CLDRVersion() string { + return *cldrVersion +} + +// IsLocal reports whether data files are available locally. +func IsLocal() bool { + dir, err := localReadmeFile() + if err != nil { + return false + } + if _, err = os.Stat(dir); err != nil { + return false + } + return true +} + +// OpenUCDFile opens the requested UCD file. The file is specified relative to +// the public Unicode root directory. It will call log.Fatal if there are any +// errors. +func OpenUCDFile(file string) io.ReadCloser { + return openUnicode(path.Join(*unicodeVersion, "ucd", file)) +} + +// OpenCLDRCoreZip opens the CLDR core zip file. It will call log.Fatal if there +// are any errors. +func OpenCLDRCoreZip() io.ReadCloser { + return OpenUnicodeFile("cldr", *cldrVersion, "core.zip") +} + +// OpenUnicodeFile opens the requested file of the requested category from the +// root of the Unicode data archive. The file is specified relative to the +// public Unicode root directory. If version is "", it will use the default +// Unicode version. It will call log.Fatal if there are any errors. +func OpenUnicodeFile(category, version, file string) io.ReadCloser { + if version == "" { + version = UnicodeVersion() + } + return openUnicode(path.Join(category, version, file)) +} + +// OpenIANAFile opens the requested IANA file. The file is specified relative +// to the IANA root, which is typically either http://www.iana.org or the +// iana directory in the local mirror. It will call log.Fatal if there are any +// errors. +func OpenIANAFile(path string) io.ReadCloser { + return Open(*iana, "iana", path) +} + +var ( + dirMutex sync.Mutex + localDir string +) + +const permissions = 0755 + +func localReadmeFile() (string, error) { + p, err := build.Import("golang.org/x/text", "", build.FindOnly) + if err != nil { + return "", fmt.Errorf("Could not locate package: %v", err) + } + return filepath.Join(p.Dir, "DATA", "README"), nil +} + +func getLocalDir() string { + dirMutex.Lock() + defer dirMutex.Unlock() + + readme, err := localReadmeFile() + if err != nil { + log.Fatal(err) + } + dir := filepath.Dir(readme) + if _, err := os.Stat(readme); err != nil { + if err := os.MkdirAll(dir, permissions); err != nil { + log.Fatalf("Could not create directory: %v", err) + } + ioutil.WriteFile(readme, []byte(readmeTxt), permissions) + } + return dir +} + +const readmeTxt = `Generated by golang.org/x/text/internal/gen. DO NOT EDIT. + +This directory contains downloaded files used to generate the various tables +in the golang.org/x/text subrepo. + +Note that the language subtag repo (iana/assignments/language-subtag-registry) +and all other times in the iana subdirectory are not versioned and will need +to be periodically manually updated. The easiest way to do this is to remove +the entire iana directory. This is mostly of concern when updating the language +package. +` + +// Open opens subdir/path if a local directory is specified and the file exists, +// where subdir is a directory relative to the local root, or fetches it from +// urlRoot/path otherwise. It will call log.Fatal if there are any errors. +func Open(urlRoot, subdir, path string) io.ReadCloser { + file := filepath.Join(getLocalDir(), subdir, filepath.FromSlash(path)) + return open(file, urlRoot, path) +} + +func openUnicode(path string) io.ReadCloser { + file := filepath.Join(getLocalDir(), filepath.FromSlash(path)) + return open(file, *url, path) +} + +// TODO: automatically periodically update non-versioned files. + +func open(file, urlRoot, path string) io.ReadCloser { + if f, err := os.Open(file); err == nil { + return f + } + r := get(urlRoot, path) + defer r.Close() + b, err := ioutil.ReadAll(r) + if err != nil { + log.Fatalf("Could not download file: %v", err) + } + os.MkdirAll(filepath.Dir(file), permissions) + if err := ioutil.WriteFile(file, b, permissions); err != nil { + log.Fatalf("Could not create file: %v", err) + } + return ioutil.NopCloser(bytes.NewReader(b)) +} + +func get(root, path string) io.ReadCloser { + url := root + "/" + path + fmt.Printf("Fetching %s...", url) + defer fmt.Println(" done.") + resp, err := http.Get(url) + if err != nil { + log.Fatalf("HTTP GET: %v", err) + } + if resp.StatusCode != 200 { + log.Fatalf("Bad GET status for %q: %q", url, resp.Status) + } + return resp.Body +} + +// TODO: use Write*Version in all applicable packages. + +// WriteUnicodeVersion writes a constant for the Unicode version from which the +// tables are generated. +func WriteUnicodeVersion(w io.Writer) { + fmt.Fprintf(w, "// UnicodeVersion is the Unicode version from which the tables in this package are derived.\n") + fmt.Fprintf(w, "const UnicodeVersion = %q\n\n", UnicodeVersion()) +} + +// WriteCLDRVersion writes a constant for the CLDR version from which the +// tables are generated. +func WriteCLDRVersion(w io.Writer) { + fmt.Fprintf(w, "// CLDRVersion is the CLDR version from which the tables in this package are derived.\n") + fmt.Fprintf(w, "const CLDRVersion = %q\n\n", CLDRVersion()) +} + +// WriteGoFile prepends a standard file comment and package statement to the +// given bytes, applies gofmt, and writes them to a file with the given name. +// It will call log.Fatal if there are any errors. +func WriteGoFile(filename, pkg string, b []byte) { + w, err := os.Create(filename) + if err != nil { + log.Fatalf("Could not create file %s: %v", filename, err) + } + defer w.Close() + if _, err = WriteGo(w, pkg, b); err != nil { + log.Fatalf("Error writing file %s: %v", filename, err) + } +} + +// WriteGo prepends a standard file comment and package statement to the given +// bytes, applies gofmt, and writes them to w. +func WriteGo(w io.Writer, pkg string, b []byte) (n int, err error) { + src := []byte(fmt.Sprintf(header, pkg)) + src = append(src, b...) + formatted, err := format.Source(src) + if err != nil { + // Print the generated code even in case of an error so that the + // returned error can be meaningfully interpreted. + n, _ = w.Write(src) + return n, err + } + return w.Write(formatted) +} + +// Repackage rewrites a Go file from belonging to package main to belonging to +// the given package. +func Repackage(inFile, outFile, pkg string) { + src, err := ioutil.ReadFile(inFile) + if err != nil { + log.Fatalf("reading %s: %v", inFile, err) + } + const toDelete = "package main\n\n" + i := bytes.Index(src, []byte(toDelete)) + if i < 0 { + log.Fatalf("Could not find %q in %s.", toDelete, inFile) + } + w := &bytes.Buffer{} + w.Write(src[i+len(toDelete):]) + WriteGoFile(outFile, pkg, w.Bytes()) +} diff --git a/vendor/golang.org/x/text/internal/tag/tag.go b/vendor/golang.org/x/text/internal/tag/tag.go new file mode 100644 index 000000000000..b5d348891d8c --- /dev/null +++ b/vendor/golang.org/x/text/internal/tag/tag.go @@ -0,0 +1,100 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package tag contains functionality handling tags and related data. +package tag // import "golang.org/x/text/internal/tag" + +import "sort" + +// An Index converts tags to a compact numeric value. +// +// All elements are of size 4. Tags may be up to 4 bytes long. Excess bytes can +// be used to store additional information about the tag. +type Index string + +// Elem returns the element data at the given index. +func (s Index) Elem(x int) string { + return string(s[x*4 : x*4+4]) +} + +// Index reports the index of the given key or -1 if it could not be found. +// Only the first len(key) bytes from the start of the 4-byte entries will be +// considered for the search and the first match in Index will be returned. +func (s Index) Index(key []byte) int { + n := len(key) + // search the index of the first entry with an equal or higher value than + // key in s. + index := sort.Search(len(s)/4, func(i int) bool { + return cmp(s[i*4:i*4+n], key) != -1 + }) + i := index * 4 + if cmp(s[i:i+len(key)], key) != 0 { + return -1 + } + return index +} + +// Next finds the next occurrence of key after index x, which must have been +// obtained from a call to Index using the same key. It returns x+1 or -1. +func (s Index) Next(key []byte, x int) int { + if x++; x*4 < len(s) && cmp(s[x*4:x*4+len(key)], key) == 0 { + return x + } + return -1 +} + +// cmp returns an integer comparing a and b lexicographically. +func cmp(a Index, b []byte) int { + n := len(a) + if len(b) < n { + n = len(b) + } + for i, c := range b[:n] { + switch { + case a[i] > c: + return 1 + case a[i] < c: + return -1 + } + } + switch { + case len(a) < len(b): + return -1 + case len(a) > len(b): + return 1 + } + return 0 +} + +// Compare returns an integer comparing a and b lexicographically. +func Compare(a string, b []byte) int { + return cmp(Index(a), b) +} + +// FixCase reformats b to the same pattern of cases as form. +// If returns false if string b is malformed. +func FixCase(form string, b []byte) bool { + if len(form) != len(b) { + return false + } + for i, c := range b { + if form[i] <= 'Z' { + if c >= 'a' { + c -= 'z' - 'Z' + } + if c < 'A' || 'Z' < c { + return false + } + } else { + if c <= 'Z' { + c += 'z' - 'Z' + } + if c < 'a' || 'z' < c { + return false + } + } + b[i] = c + } + return true +} diff --git a/vendor/golang.org/x/text/internal/triegen/compact.go b/vendor/golang.org/x/text/internal/triegen/compact.go new file mode 100644 index 000000000000..397b975c1b71 --- /dev/null +++ b/vendor/golang.org/x/text/internal/triegen/compact.go @@ -0,0 +1,58 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package triegen + +// This file defines Compacter and its implementations. + +import "io" + +// A Compacter generates an alternative, more space-efficient way to store a +// trie value block. A trie value block holds all possible values for the last +// byte of a UTF-8 encoded rune. Excluding ASCII characters, a trie value block +// always has 64 values, as a UTF-8 encoding ends with a byte in [0x80, 0xC0). +type Compacter interface { + // Size returns whether the Compacter could encode the given block as well + // as its size in case it can. len(v) is always 64. + Size(v []uint64) (sz int, ok bool) + + // Store stores the block using the Compacter's compression method. + // It returns a handle with which the block can be retrieved. + // len(v) is always 64. + Store(v []uint64) uint32 + + // Print writes the data structures associated to the given store to w. + Print(w io.Writer) error + + // Handler returns the name of a function that gets called during trie + // lookup for blocks generated by the Compacter. The function should be of + // the form func (n uint32, b byte) uint64, where n is the index returned by + // the Compacter's Store method and b is the last byte of the UTF-8 + // encoding, where 0x80 <= b < 0xC0, for which to do the lookup in the + // block. + Handler() string +} + +// simpleCompacter is the default Compacter used by builder. It implements a +// normal trie block. +type simpleCompacter builder + +func (b *simpleCompacter) Size([]uint64) (sz int, ok bool) { + return blockSize * b.ValueSize, true +} + +func (b *simpleCompacter) Store(v []uint64) uint32 { + h := uint32(len(b.ValueBlocks) - blockOffset) + b.ValueBlocks = append(b.ValueBlocks, v) + return h +} + +func (b *simpleCompacter) Print(io.Writer) error { + // Structures are printed in print.go. + return nil +} + +func (b *simpleCompacter) Handler() string { + panic("Handler should be special-cased for this Compacter") +} diff --git a/vendor/golang.org/x/text/internal/triegen/print.go b/vendor/golang.org/x/text/internal/triegen/print.go new file mode 100644 index 000000000000..8d9f120bcdf0 --- /dev/null +++ b/vendor/golang.org/x/text/internal/triegen/print.go @@ -0,0 +1,251 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package triegen + +import ( + "bytes" + "fmt" + "io" + "strings" + "text/template" +) + +// print writes all the data structures as well as the code necessary to use the +// trie to w. +func (b *builder) print(w io.Writer) error { + b.Stats.NValueEntries = len(b.ValueBlocks) * blockSize + b.Stats.NValueBytes = len(b.ValueBlocks) * blockSize * b.ValueSize + b.Stats.NIndexEntries = len(b.IndexBlocks) * blockSize + b.Stats.NIndexBytes = len(b.IndexBlocks) * blockSize * b.IndexSize + b.Stats.NHandleBytes = len(b.Trie) * 2 * b.IndexSize + + // If we only have one root trie, all starter blocks are at position 0 and + // we can access the arrays directly. + if len(b.Trie) == 1 { + // At this point we cannot refer to the generated tables directly. + b.ASCIIBlock = b.Name + "Values" + b.StarterBlock = b.Name + "Index" + } else { + // Otherwise we need to have explicit starter indexes in the trie + // structure. + b.ASCIIBlock = "t.ascii" + b.StarterBlock = "t.utf8Start" + } + + b.SourceType = "[]byte" + if err := lookupGen.Execute(w, b); err != nil { + return err + } + + b.SourceType = "string" + if err := lookupGen.Execute(w, b); err != nil { + return err + } + + if err := trieGen.Execute(w, b); err != nil { + return err + } + + for _, c := range b.Compactions { + if err := c.c.Print(w); err != nil { + return err + } + } + + return nil +} + +func printValues(n int, values []uint64) string { + w := &bytes.Buffer{} + boff := n * blockSize + fmt.Fprintf(w, "\t// Block %#x, offset %#x", n, boff) + var newline bool + for i, v := range values { + if i%6 == 0 { + newline = true + } + if v != 0 { + if newline { + fmt.Fprintf(w, "\n") + newline = false + } + fmt.Fprintf(w, "\t%#02x:%#04x, ", boff+i, v) + } + } + return w.String() +} + +func printIndex(b *builder, nr int, n *node) string { + w := &bytes.Buffer{} + boff := nr * blockSize + fmt.Fprintf(w, "\t// Block %#x, offset %#x", nr, boff) + var newline bool + for i, c := range n.children { + if i%8 == 0 { + newline = true + } + if c != nil { + v := b.Compactions[c.index.compaction].Offset + uint32(c.index.index) + if v != 0 { + if newline { + fmt.Fprintf(w, "\n") + newline = false + } + fmt.Fprintf(w, "\t%#02x:%#02x, ", boff+i, v) + } + } + } + return w.String() +} + +var ( + trieGen = template.Must(template.New("trie").Funcs(template.FuncMap{ + "printValues": printValues, + "printIndex": printIndex, + "title": strings.Title, + "dec": func(x int) int { return x - 1 }, + "psize": func(n int) string { + return fmt.Sprintf("%d bytes (%.2f KiB)", n, float64(n)/1024) + }, + }).Parse(trieTemplate)) + lookupGen = template.Must(template.New("lookup").Parse(lookupTemplate)) +) + +// TODO: consider the return type of lookup. It could be uint64, even if the +// internal value type is smaller. We will have to verify this with the +// performance of unicode/norm, which is very sensitive to such changes. +const trieTemplate = `{{$b := .}}{{$multi := gt (len .Trie) 1}} +// {{.Name}}Trie. Total size: {{psize .Size}}. Checksum: {{printf "%08x" .Checksum}}. +type {{.Name}}Trie struct { {{if $multi}} + ascii []{{.ValueType}} // index for ASCII bytes + utf8Start []{{.IndexType}} // index for UTF-8 bytes >= 0xC0 +{{end}}} + +func new{{title .Name}}Trie(i int) *{{.Name}}Trie { {{if $multi}} + h := {{.Name}}TrieHandles[i] + return &{{.Name}}Trie{ {{.Name}}Values[uint32(h.ascii)<<6:], {{.Name}}Index[uint32(h.multi)<<6:] } +} + +type {{.Name}}TrieHandle struct { + ascii, multi {{.IndexType}} +} + +// {{.Name}}TrieHandles: {{len .Trie}} handles, {{.Stats.NHandleBytes}} bytes +var {{.Name}}TrieHandles = [{{len .Trie}}]{{.Name}}TrieHandle{ +{{range .Trie}} { {{.ASCIIIndex}}, {{.StarterIndex}} }, // {{printf "%08x" .Checksum}}: {{.Name}} +{{end}}}{{else}} + return &{{.Name}}Trie{} +} +{{end}} +// lookupValue determines the type of block n and looks up the value for b. +func (t *{{.Name}}Trie) lookupValue(n uint32, b byte) {{.ValueType}}{{$last := dec (len .Compactions)}} { + switch { {{range $i, $c := .Compactions}} + {{if eq $i $last}}default{{else}}case n < {{$c.Cutoff}}{{end}}:{{if ne $i 0}} + n -= {{$c.Offset}}{{end}} + return {{print $b.ValueType}}({{$c.Handler}}){{end}} + } +} + +// {{.Name}}Values: {{len .ValueBlocks}} blocks, {{.Stats.NValueEntries}} entries, {{.Stats.NValueBytes}} bytes +// The third block is the zero block. +var {{.Name}}Values = [{{.Stats.NValueEntries}}]{{.ValueType}} { +{{range $i, $v := .ValueBlocks}}{{printValues $i $v}} +{{end}}} + +// {{.Name}}Index: {{len .IndexBlocks}} blocks, {{.Stats.NIndexEntries}} entries, {{.Stats.NIndexBytes}} bytes +// Block 0 is the zero block. +var {{.Name}}Index = [{{.Stats.NIndexEntries}}]{{.IndexType}} { +{{range $i, $v := .IndexBlocks}}{{printIndex $b $i $v}} +{{end}}} +` + +// TODO: consider allowing zero-length strings after evaluating performance with +// unicode/norm. +const lookupTemplate = ` +// lookup{{if eq .SourceType "string"}}String{{end}} returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *{{.Name}}Trie) lookup{{if eq .SourceType "string"}}String{{end}}(s {{.SourceType}}) (v {{.ValueType}}, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return {{.ASCIIBlock}}[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := {{.StarterBlock}}[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := {{.StarterBlock}}[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = {{.Name}}Index[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := {{.StarterBlock}}[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = {{.Name}}Index[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = {{.Name}}Index[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookup{{if eq .SourceType "string"}}String{{end}}Unsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *{{.Name}}Trie) lookup{{if eq .SourceType "string"}}String{{end}}Unsafe(s {{.SourceType}}) {{.ValueType}} { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return {{.ASCIIBlock}}[c0] + } + i := {{.StarterBlock}}[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = {{.Name}}Index[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = {{.Name}}Index[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} +` diff --git a/vendor/golang.org/x/text/internal/triegen/triegen.go b/vendor/golang.org/x/text/internal/triegen/triegen.go new file mode 100644 index 000000000000..adb01081247b --- /dev/null +++ b/vendor/golang.org/x/text/internal/triegen/triegen.go @@ -0,0 +1,494 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package triegen implements a code generator for a trie for associating +// unsigned integer values with UTF-8 encoded runes. +// +// Many of the go.text packages use tries for storing per-rune information. A +// trie is especially useful if many of the runes have the same value. If this +// is the case, many blocks can be expected to be shared allowing for +// information on many runes to be stored in little space. +// +// As most of the lookups are done directly on []byte slices, the tries use the +// UTF-8 bytes directly for the lookup. This saves a conversion from UTF-8 to +// runes and contributes a little bit to better performance. It also naturally +// provides a fast path for ASCII. +// +// Space is also an issue. There are many code points defined in Unicode and as +// a result tables can get quite large. So every byte counts. The triegen +// package automatically chooses the smallest integer values to represent the +// tables. Compacters allow further compression of the trie by allowing for +// alternative representations of individual trie blocks. +// +// triegen allows generating multiple tries as a single structure. This is +// useful when, for example, one wants to generate tries for several languages +// that have a lot of values in common. Some existing libraries for +// internationalization store all per-language data as a dynamically loadable +// chunk. The go.text packages are designed with the assumption that the user +// typically wants to compile in support for all supported languages, in line +// with the approach common to Go to create a single standalone binary. The +// multi-root trie approach can give significant storage savings in this +// scenario. +// +// triegen generates both tables and code. The code is optimized to use the +// automatically chosen data types. The following code is generated for a Trie +// or multiple Tries named "foo": +// - type fooTrie +// The trie type. +// +// - func newFooTrie(x int) *fooTrie +// Trie constructor, where x is the index of the trie passed to Gen. +// +// - func (t *fooTrie) lookup(s []byte) (v uintX, sz int) +// The lookup method, where uintX is automatically chosen. +// +// - func lookupString, lookupUnsafe and lookupStringUnsafe +// Variants of the above. +// +// - var fooValues and fooIndex and any tables generated by Compacters. +// The core trie data. +// +// - var fooTrieHandles +// Indexes of starter blocks in case of multiple trie roots. +// +// It is recommended that users test the generated trie by checking the returned +// value for every rune. Such exhaustive tests are possible as the the number of +// runes in Unicode is limited. +package triegen // import "golang.org/x/text/internal/triegen" + +// TODO: Arguably, the internally optimized data types would not have to be +// exposed in the generated API. We could also investigate not generating the +// code, but using it through a package. We would have to investigate the impact +// on performance of making such change, though. For packages like unicode/norm, +// small changes like this could tank performance. + +import ( + "encoding/binary" + "fmt" + "hash/crc64" + "io" + "log" + "unicode/utf8" +) + +// builder builds a set of tries for associating values with runes. The set of +// tries can share common index and value blocks. +type builder struct { + Name string + + // ValueType is the type of the trie values looked up. + ValueType string + + // ValueSize is the byte size of the ValueType. + ValueSize int + + // IndexType is the type of trie index values used for all UTF-8 bytes of + // a rune except the last one. + IndexType string + + // IndexSize is the byte size of the IndexType. + IndexSize int + + // SourceType is used when generating the lookup functions. If the user + // requests StringSupport, all lookup functions will be generated for + // string input as well. + SourceType string + + Trie []*Trie + + IndexBlocks []*node + ValueBlocks [][]uint64 + Compactions []compaction + Checksum uint64 + + ASCIIBlock string + StarterBlock string + + indexBlockIdx map[uint64]int + valueBlockIdx map[uint64]nodeIndex + asciiBlockIdx map[uint64]int + + // Stats are used to fill out the template. + Stats struct { + NValueEntries int + NValueBytes int + NIndexEntries int + NIndexBytes int + NHandleBytes int + } + + err error +} + +// A nodeIndex encodes the index of a node, which is defined by the compaction +// which stores it and an index within the compaction. For internal nodes, the +// compaction is always 0. +type nodeIndex struct { + compaction int + index int +} + +// compaction keeps track of stats used for the compaction. +type compaction struct { + c Compacter + blocks []*node + maxHandle uint32 + totalSize int + + // Used by template-based generator and thus exported. + Cutoff uint32 + Offset uint32 + Handler string +} + +func (b *builder) setError(err error) { + if b.err == nil { + b.err = err + } +} + +// An Option can be passed to Gen. +type Option func(b *builder) error + +// Compact configures the trie generator to use the given Compacter. +func Compact(c Compacter) Option { + return func(b *builder) error { + b.Compactions = append(b.Compactions, compaction{ + c: c, + Handler: c.Handler() + "(n, b)"}) + return nil + } +} + +// Gen writes Go code for a shared trie lookup structure to w for the given +// Tries. The generated trie type will be called nameTrie. newNameTrie(x) will +// return the *nameTrie for tries[x]. A value can be looked up by using one of +// the various lookup methods defined on nameTrie. It returns the table size of +// the generated trie. +func Gen(w io.Writer, name string, tries []*Trie, opts ...Option) (sz int, err error) { + // The index contains two dummy blocks, followed by the zero block. The zero + // block is at offset 0x80, so that the offset for the zero block for + // continuation bytes is 0. + b := &builder{ + Name: name, + Trie: tries, + IndexBlocks: []*node{{}, {}, {}}, + Compactions: []compaction{{ + Handler: name + "Values[n<<6+uint32(b)]", + }}, + // The 0 key in indexBlockIdx and valueBlockIdx is the hash of the zero + // block. + indexBlockIdx: map[uint64]int{0: 0}, + valueBlockIdx: map[uint64]nodeIndex{0: {}}, + asciiBlockIdx: map[uint64]int{}, + } + b.Compactions[0].c = (*simpleCompacter)(b) + + for _, f := range opts { + if err := f(b); err != nil { + return 0, err + } + } + b.build() + if b.err != nil { + return 0, b.err + } + if err = b.print(w); err != nil { + return 0, err + } + return b.Size(), nil +} + +// A Trie represents a single root node of a trie. A builder may build several +// overlapping tries at once. +type Trie struct { + root *node + + hiddenTrie +} + +// hiddenTrie contains values we want to be visible to the template generator, +// but hidden from the API documentation. +type hiddenTrie struct { + Name string + Checksum uint64 + ASCIIIndex int + StarterIndex int +} + +// NewTrie returns a new trie root. +func NewTrie(name string) *Trie { + return &Trie{ + &node{ + children: make([]*node, blockSize), + values: make([]uint64, utf8.RuneSelf), + }, + hiddenTrie{Name: name}, + } +} + +// Gen is a convenience wrapper around the Gen func passing t as the only trie +// and uses the name passed to NewTrie. It returns the size of the generated +// tables. +func (t *Trie) Gen(w io.Writer, opts ...Option) (sz int, err error) { + return Gen(w, t.Name, []*Trie{t}, opts...) +} + +// node is a node of the intermediate trie structure. +type node struct { + // children holds this node's children. It is always of length 64. + // A child node may be nil. + children []*node + + // values contains the values of this node. If it is non-nil, this node is + // either a root or leaf node: + // For root nodes, len(values) == 128 and it maps the bytes in [0x00, 0x7F]. + // For leaf nodes, len(values) == 64 and it maps the bytes in [0x80, 0xBF]. + values []uint64 + + index nodeIndex +} + +// Insert associates value with the given rune. Insert will panic if a non-zero +// value is passed for an invalid rune. +func (t *Trie) Insert(r rune, value uint64) { + if value == 0 { + return + } + s := string(r) + if []rune(s)[0] != r && value != 0 { + // Note: The UCD tables will always assign what amounts to a zero value + // to a surrogate. Allowing a zero value for an illegal rune allows + // users to iterate over [0..MaxRune] without having to explicitly + // exclude surrogates, which would be tedious. + panic(fmt.Sprintf("triegen: non-zero value for invalid rune %U", r)) + } + if len(s) == 1 { + // It is a root node value (ASCII). + t.root.values[s[0]] = value + return + } + + n := t.root + for ; len(s) > 1; s = s[1:] { + if n.children == nil { + n.children = make([]*node, blockSize) + } + p := s[0] % blockSize + c := n.children[p] + if c == nil { + c = &node{} + n.children[p] = c + } + if len(s) > 2 && c.values != nil { + log.Fatalf("triegen: insert(%U): found internal node with values", r) + } + n = c + } + if n.values == nil { + n.values = make([]uint64, blockSize) + } + if n.children != nil { + log.Fatalf("triegen: insert(%U): found leaf node that also has child nodes", r) + } + n.values[s[0]-0x80] = value +} + +// Size returns the number of bytes the generated trie will take to store. It +// needs to be exported as it is used in the templates. +func (b *builder) Size() int { + // Index blocks. + sz := len(b.IndexBlocks) * blockSize * b.IndexSize + + // Skip the first compaction, which represents the normal value blocks, as + // its totalSize does not account for the ASCII blocks, which are managed + // separately. + sz += len(b.ValueBlocks) * blockSize * b.ValueSize + for _, c := range b.Compactions[1:] { + sz += c.totalSize + } + + // TODO: this computation does not account for the fixed overhead of a using + // a compaction, either code or data. As for data, though, the typical + // overhead of data is in the order of bytes (2 bytes for cases). Further, + // the savings of using a compaction should anyway be substantial for it to + // be worth it. + + // For multi-root tries, we also need to account for the handles. + if len(b.Trie) > 1 { + sz += 2 * b.IndexSize * len(b.Trie) + } + return sz +} + +func (b *builder) build() { + // Compute the sizes of the values. + var vmax uint64 + for _, t := range b.Trie { + vmax = maxValue(t.root, vmax) + } + b.ValueType, b.ValueSize = getIntType(vmax) + + // Compute all block allocations. + // TODO: first compute the ASCII blocks for all tries and then the other + // nodes. ASCII blocks are more restricted in placement, as they require two + // blocks to be placed consecutively. Processing them first may improve + // sharing (at least one zero block can be expected to be saved.) + for _, t := range b.Trie { + b.Checksum += b.buildTrie(t) + } + + // Compute the offsets for all the Compacters. + offset := uint32(0) + for i := range b.Compactions { + c := &b.Compactions[i] + c.Offset = offset + offset += c.maxHandle + 1 + c.Cutoff = offset + } + + // Compute the sizes of indexes. + // TODO: different byte positions could have different sizes. So far we have + // not found a case where this is beneficial. + imax := uint64(b.Compactions[len(b.Compactions)-1].Cutoff) + for _, ib := range b.IndexBlocks { + if x := uint64(ib.index.index); x > imax { + imax = x + } + } + b.IndexType, b.IndexSize = getIntType(imax) +} + +func maxValue(n *node, max uint64) uint64 { + if n == nil { + return max + } + for _, c := range n.children { + max = maxValue(c, max) + } + for _, v := range n.values { + if max < v { + max = v + } + } + return max +} + +func getIntType(v uint64) (string, int) { + switch { + case v < 1<<8: + return "uint8", 1 + case v < 1<<16: + return "uint16", 2 + case v < 1<<32: + return "uint32", 4 + } + return "uint64", 8 +} + +const ( + blockSize = 64 + + // Subtract two blocks to offset 0x80, the first continuation byte. + blockOffset = 2 + + // Subtract three blocks to offset 0xC0, the first non-ASCII starter. + rootBlockOffset = 3 +) + +var crcTable = crc64.MakeTable(crc64.ISO) + +func (b *builder) buildTrie(t *Trie) uint64 { + n := t.root + + // Get the ASCII offset. For the first trie, the ASCII block will be at + // position 0. + hasher := crc64.New(crcTable) + binary.Write(hasher, binary.BigEndian, n.values) + hash := hasher.Sum64() + + v, ok := b.asciiBlockIdx[hash] + if !ok { + v = len(b.ValueBlocks) + b.asciiBlockIdx[hash] = v + + b.ValueBlocks = append(b.ValueBlocks, n.values[:blockSize], n.values[blockSize:]) + if v == 0 { + // Add the zero block at position 2 so that it will be assigned a + // zero reference in the lookup blocks. + // TODO: always do this? This would allow us to remove a check from + // the trie lookup, but at the expense of extra space. Analyze + // performance for unicode/norm. + b.ValueBlocks = append(b.ValueBlocks, make([]uint64, blockSize)) + } + } + t.ASCIIIndex = v + + // Compute remaining offsets. + t.Checksum = b.computeOffsets(n, true) + // We already subtracted the normal blockOffset from the index. Subtract the + // difference for starter bytes. + t.StarterIndex = n.index.index - (rootBlockOffset - blockOffset) + return t.Checksum +} + +func (b *builder) computeOffsets(n *node, root bool) uint64 { + // For the first trie, the root lookup block will be at position 3, which is + // the offset for UTF-8 non-ASCII starter bytes. + first := len(b.IndexBlocks) == rootBlockOffset + if first { + b.IndexBlocks = append(b.IndexBlocks, n) + } + + // We special-case the cases where all values recursively are 0. This allows + // for the use of a zero block to which all such values can be directed. + hash := uint64(0) + if n.children != nil || n.values != nil { + hasher := crc64.New(crcTable) + for _, c := range n.children { + var v uint64 + if c != nil { + v = b.computeOffsets(c, false) + } + binary.Write(hasher, binary.BigEndian, v) + } + binary.Write(hasher, binary.BigEndian, n.values) + hash = hasher.Sum64() + } + + if first { + b.indexBlockIdx[hash] = rootBlockOffset - blockOffset + } + + // Compacters don't apply to internal nodes. + if n.children != nil { + v, ok := b.indexBlockIdx[hash] + if !ok { + v = len(b.IndexBlocks) - blockOffset + b.IndexBlocks = append(b.IndexBlocks, n) + b.indexBlockIdx[hash] = v + } + n.index = nodeIndex{0, v} + } else { + h, ok := b.valueBlockIdx[hash] + if !ok { + bestI, bestSize := 0, blockSize*b.ValueSize + for i, c := range b.Compactions[1:] { + if sz, ok := c.c.Size(n.values); ok && bestSize > sz { + bestI, bestSize = i+1, sz + } + } + c := &b.Compactions[bestI] + c.totalSize += bestSize + v := c.c.Store(n.values) + if c.maxHandle < v { + c.maxHandle = v + } + h = nodeIndex{bestI, int(v)} + b.valueBlockIdx[hash] = h + } + n.index = h + } + return hash +} diff --git a/vendor/golang.org/x/text/internal/ucd/ucd.go b/vendor/golang.org/x/text/internal/ucd/ucd.go new file mode 100644 index 000000000000..8c45b5f3d026 --- /dev/null +++ b/vendor/golang.org/x/text/internal/ucd/ucd.go @@ -0,0 +1,371 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package ucd provides a parser for Unicode Character Database files, the +// format of which is defined in http://www.unicode.org/reports/tr44/. See +// http://www.unicode.org/Public/UCD/latest/ucd/ for example files. +// +// It currently does not support substitutions of missing fields. +package ucd // import "golang.org/x/text/internal/ucd" + +import ( + "bufio" + "errors" + "fmt" + "io" + "log" + "regexp" + "strconv" + "strings" +) + +// UnicodeData.txt fields. +const ( + CodePoint = iota + Name + GeneralCategory + CanonicalCombiningClass + BidiClass + DecompMapping + DecimalValue + DigitValue + NumericValue + BidiMirrored + Unicode1Name + ISOComment + SimpleUppercaseMapping + SimpleLowercaseMapping + SimpleTitlecaseMapping +) + +// Parse calls f for each entry in the given reader of a UCD file. It will close +// the reader upon return. It will call log.Fatal if any error occurred. +// +// This implements the most common usage pattern of using Parser. +func Parse(r io.ReadCloser, f func(p *Parser)) { + defer r.Close() + + p := New(r) + for p.Next() { + f(p) + } + if err := p.Err(); err != nil { + r.Close() // os.Exit will cause defers not to be called. + log.Fatal(err) + } +} + +// An Option is used to configure a Parser. +type Option func(p *Parser) + +func keepRanges(p *Parser) { + p.keepRanges = true +} + +var ( + // KeepRanges prevents the expansion of ranges. The raw ranges can be + // obtained by calling Range(0) on the parser. + KeepRanges Option = keepRanges +) + +// The Part option register a handler for lines starting with a '@'. The text +// after a '@' is available as the first field. Comments are handled as usual. +func Part(f func(p *Parser)) Option { + return func(p *Parser) { + p.partHandler = f + } +} + +// The CommentHandler option passes comments that are on a line by itself to +// a given handler. +func CommentHandler(f func(s string)) Option { + return func(p *Parser) { + p.commentHandler = f + } +} + +// A Parser parses Unicode Character Database (UCD) files. +type Parser struct { + scanner *bufio.Scanner + + keepRanges bool // Don't expand rune ranges in field 0. + + err error + comment string + field []string + // parsedRange is needed in case Range(0) is called more than once for one + // field. In some cases this requires scanning ahead. + line int + parsedRange bool + rangeStart, rangeEnd rune + + partHandler func(p *Parser) + commentHandler func(s string) +} + +func (p *Parser) setError(err error, msg string) { + if p.err == nil && err != nil { + if msg == "" { + p.err = fmt.Errorf("ucd:line:%d: %v", p.line, err) + } else { + p.err = fmt.Errorf("ucd:line:%d:%s: %v", p.line, msg, err) + } + } +} + +func (p *Parser) getField(i int) string { + if i >= len(p.field) { + return "" + } + return p.field[i] +} + +// Err returns a non-nil error if any error occurred during parsing. +func (p *Parser) Err() error { + return p.err +} + +// New returns a Parser for the given Reader. +func New(r io.Reader, o ...Option) *Parser { + p := &Parser{ + scanner: bufio.NewScanner(r), + } + for _, f := range o { + f(p) + } + return p +} + +// Next parses the next line in the file. It returns true if a line was parsed +// and false if it reached the end of the file. +func (p *Parser) Next() bool { + if !p.keepRanges && p.rangeStart < p.rangeEnd { + p.rangeStart++ + return true + } + p.comment = "" + p.field = p.field[:0] + p.parsedRange = false + + for p.scanner.Scan() && p.err == nil { + p.line++ + s := p.scanner.Text() + if s == "" { + continue + } + if s[0] == '#' { + if p.commentHandler != nil { + p.commentHandler(strings.TrimSpace(s[1:])) + } + continue + } + + // Parse line + if i := strings.IndexByte(s, '#'); i != -1 { + p.comment = strings.TrimSpace(s[i+1:]) + s = s[:i] + } + if s[0] == '@' { + if p.partHandler != nil { + p.field = append(p.field, strings.TrimSpace(s[1:])) + p.partHandler(p) + p.field = p.field[:0] + } + p.comment = "" + continue + } + for { + i := strings.IndexByte(s, ';') + if i == -1 { + p.field = append(p.field, strings.TrimSpace(s)) + break + } + p.field = append(p.field, strings.TrimSpace(s[:i])) + s = s[i+1:] + } + if !p.keepRanges { + p.rangeStart, p.rangeEnd = p.getRange(0) + } + return true + } + p.setError(p.scanner.Err(), "scanner failed") + return false +} + +func parseRune(b string) (rune, error) { + if len(b) > 2 && b[0] == 'U' && b[1] == '+' { + b = b[2:] + } + x, err := strconv.ParseUint(b, 16, 32) + return rune(x), err +} + +func (p *Parser) parseRune(s string) rune { + x, err := parseRune(s) + p.setError(err, "failed to parse rune") + return x +} + +// Rune parses and returns field i as a rune. +func (p *Parser) Rune(i int) rune { + if i > 0 || p.keepRanges { + return p.parseRune(p.getField(i)) + } + return p.rangeStart +} + +// Runes interprets and returns field i as a sequence of runes. +func (p *Parser) Runes(i int) (runes []rune) { + add := func(s string) { + if s = strings.TrimSpace(s); len(s) > 0 { + runes = append(runes, p.parseRune(s)) + } + } + for b := p.getField(i); ; { + i := strings.IndexByte(b, ' ') + if i == -1 { + add(b) + break + } + add(b[:i]) + b = b[i+1:] + } + return +} + +var ( + errIncorrectLegacyRange = errors.New("ucd: unmatched <* First>") + + // reRange matches one line of a legacy rune range. + reRange = regexp.MustCompile("^([0-9A-F]*);<([^,]*), ([^>]*)>(.*)$") +) + +// Range parses and returns field i as a rune range. A range is inclusive at +// both ends. If the field only has one rune, first and last will be identical. +// It supports the legacy format for ranges used in UnicodeData.txt. +func (p *Parser) Range(i int) (first, last rune) { + if !p.keepRanges { + return p.rangeStart, p.rangeStart + } + return p.getRange(i) +} + +func (p *Parser) getRange(i int) (first, last rune) { + b := p.getField(i) + if k := strings.Index(b, ".."); k != -1 { + return p.parseRune(b[:k]), p.parseRune(b[k+2:]) + } + // The first field may not be a rune, in which case we may ignore any error + // and set the range as 0..0. + x, err := parseRune(b) + if err != nil { + // Disable range parsing henceforth. This ensures that an error will be + // returned if the user subsequently will try to parse this field as + // a Rune. + p.keepRanges = true + } + // Special case for UnicodeData that was retained for backwards compatibility. + if i == 0 && len(p.field) > 1 && strings.HasSuffix(p.field[1], "First>") { + if p.parsedRange { + return p.rangeStart, p.rangeEnd + } + mf := reRange.FindStringSubmatch(p.scanner.Text()) + p.line++ + if mf == nil || !p.scanner.Scan() { + p.setError(errIncorrectLegacyRange, "") + return x, x + } + // Using Bytes would be more efficient here, but Text is a lot easier + // and this is not a frequent case. + ml := reRange.FindStringSubmatch(p.scanner.Text()) + if ml == nil || mf[2] != ml[2] || ml[3] != "Last" || mf[4] != ml[4] { + p.setError(errIncorrectLegacyRange, "") + return x, x + } + p.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Text()[:len(ml[1])]) + p.parsedRange = true + return p.rangeStart, p.rangeEnd + } + return x, x +} + +// bools recognizes all valid UCD boolean values. +var bools = map[string]bool{ + "": false, + "N": false, + "No": false, + "F": false, + "False": false, + "Y": true, + "Yes": true, + "T": true, + "True": true, +} + +// Bool parses and returns field i as a boolean value. +func (p *Parser) Bool(i int) bool { + f := p.getField(i) + for s, v := range bools { + if f == s { + return v + } + } + p.setError(strconv.ErrSyntax, "error parsing bool") + return false +} + +// Int parses and returns field i as an integer value. +func (p *Parser) Int(i int) int { + x, err := strconv.ParseInt(string(p.getField(i)), 10, 64) + p.setError(err, "error parsing int") + return int(x) +} + +// Uint parses and returns field i as an unsigned integer value. +func (p *Parser) Uint(i int) uint { + x, err := strconv.ParseUint(string(p.getField(i)), 10, 64) + p.setError(err, "error parsing uint") + return uint(x) +} + +// Float parses and returns field i as a decimal value. +func (p *Parser) Float(i int) float64 { + x, err := strconv.ParseFloat(string(p.getField(i)), 64) + p.setError(err, "error parsing float") + return x +} + +// String parses and returns field i as a string value. +func (p *Parser) String(i int) string { + return string(p.getField(i)) +} + +// Strings parses and returns field i as a space-separated list of strings. +func (p *Parser) Strings(i int) []string { + ss := strings.Split(string(p.getField(i)), " ") + for i, s := range ss { + ss[i] = strings.TrimSpace(s) + } + return ss +} + +// Comment returns the comments for the current line. +func (p *Parser) Comment() string { + return string(p.comment) +} + +var errUndefinedEnum = errors.New("ucd: undefined enum value") + +// Enum interprets and returns field i as a value that must be one of the values +// in enum. +func (p *Parser) Enum(i int, enum ...string) string { + f := p.getField(i) + for _, s := range enum { + if f == s { + return s + } + } + p.setError(errUndefinedEnum, "error parsing enum") + return "" +} diff --git a/vendor/golang.org/x/text/language/Makefile b/vendor/golang.org/x/text/language/Makefile new file mode 100644 index 000000000000..79f005784fcc --- /dev/null +++ b/vendor/golang.org/x/text/language/Makefile @@ -0,0 +1,16 @@ +# Copyright 2013 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +CLEANFILES+=maketables + +maketables: maketables.go + go build $^ + +tables: maketables + ./maketables > tables.go + gofmt -w -s tables.go + +# Build (but do not run) maketables during testing, +# just to make sure it still compiles. +testshort: maketables diff --git a/vendor/golang.org/x/text/language/common.go b/vendor/golang.org/x/text/language/common.go new file mode 100644 index 000000000000..9d86e1855433 --- /dev/null +++ b/vendor/golang.org/x/text/language/common.go @@ -0,0 +1,16 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package language + +// This file contains code common to the maketables.go and the package code. + +// langAliasType is the type of an alias in langAliasMap. +type langAliasType int8 + +const ( + langDeprecated langAliasType = iota + langMacro + langLegacy + + langAliasTypeUnknown langAliasType = -1 +) diff --git a/vendor/golang.org/x/text/language/coverage.go b/vendor/golang.org/x/text/language/coverage.go new file mode 100644 index 000000000000..101fd23c1d4a --- /dev/null +++ b/vendor/golang.org/x/text/language/coverage.go @@ -0,0 +1,197 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +import ( + "fmt" + "sort" +) + +// The Coverage interface is used to define the level of coverage of an +// internationalization service. Note that not all types are supported by all +// services. As lists may be generated on the fly, it is recommended that users +// of a Coverage cache the results. +type Coverage interface { + // Tags returns the list of supported tags. + Tags() []Tag + + // BaseLanguages returns the list of supported base languages. + BaseLanguages() []Base + + // Scripts returns the list of supported scripts. + Scripts() []Script + + // Regions returns the list of supported regions. + Regions() []Region +} + +var ( + // Supported defines a Coverage that lists all supported subtags. Tags + // always returns nil. + Supported Coverage = allSubtags{} +) + +// TODO: +// - Support Variants, numbering systems. +// - CLDR coverage levels. +// - Set of common tags defined in this package. + +type allSubtags struct{} + +// Regions returns the list of supported regions. As all regions are in a +// consecutive range, it simply returns a slice of numbers in increasing order. +// The "undefined" region is not returned. +func (s allSubtags) Regions() []Region { + reg := make([]Region, numRegions) + for i := range reg { + reg[i] = Region{regionID(i + 1)} + } + return reg +} + +// Scripts returns the list of supported scripts. As all scripts are in a +// consecutive range, it simply returns a slice of numbers in increasing order. +// The "undefined" script is not returned. +func (s allSubtags) Scripts() []Script { + scr := make([]Script, numScripts) + for i := range scr { + scr[i] = Script{scriptID(i + 1)} + } + return scr +} + +// BaseLanguages returns the list of all supported base languages. It generates +// the list by traversing the internal structures. +func (s allSubtags) BaseLanguages() []Base { + base := make([]Base, 0, numLanguages) + for i := 0; i < langNoIndexOffset; i++ { + // We included "und" already for the value 0. + if i != nonCanonicalUnd { + base = append(base, Base{langID(i)}) + } + } + i := langNoIndexOffset + for _, v := range langNoIndex { + for k := 0; k < 8; k++ { + if v&1 == 1 { + base = append(base, Base{langID(i)}) + } + v >>= 1 + i++ + } + } + return base +} + +// Tags always returns nil. +func (s allSubtags) Tags() []Tag { + return nil +} + +// coverage is used used by NewCoverage which is used as a convenient way for +// creating Coverage implementations for partially defined data. Very often a +// package will only need to define a subset of slices. coverage provides a +// convenient way to do this. Moreover, packages using NewCoverage, instead of +// their own implementation, will not break if later new slice types are added. +type coverage struct { + tags func() []Tag + bases func() []Base + scripts func() []Script + regions func() []Region +} + +func (s *coverage) Tags() []Tag { + if s.tags == nil { + return nil + } + return s.tags() +} + +// bases implements sort.Interface and is used to sort base languages. +type bases []Base + +func (b bases) Len() int { + return len(b) +} + +func (b bases) Swap(i, j int) { + b[i], b[j] = b[j], b[i] +} + +func (b bases) Less(i, j int) bool { + return b[i].langID < b[j].langID +} + +// BaseLanguages returns the result from calling s.bases if it is specified or +// otherwise derives the set of supported base languages from tags. +func (s *coverage) BaseLanguages() []Base { + if s.bases == nil { + tags := s.Tags() + if len(tags) == 0 { + return nil + } + a := make([]Base, len(tags)) + for i, t := range tags { + a[i] = Base{langID(t.lang)} + } + sort.Sort(bases(a)) + k := 0 + for i := 1; i < len(a); i++ { + if a[k] != a[i] { + k++ + a[k] = a[i] + } + } + return a[:k+1] + } + return s.bases() +} + +func (s *coverage) Scripts() []Script { + if s.scripts == nil { + return nil + } + return s.scripts() +} + +func (s *coverage) Regions() []Region { + if s.regions == nil { + return nil + } + return s.regions() +} + +// NewCoverage returns a Coverage for the given lists. It is typically used by +// packages providing internationalization services to define their level of +// coverage. A list may be of type []T or func() []T, where T is either Tag, +// Base, Script or Region. The returned Coverage derives the value for Bases +// from Tags if no func or slice for []Base is specified. For other unspecified +// types the returned Coverage will return nil for the respective methods. +func NewCoverage(list ...interface{}) Coverage { + s := &coverage{} + for _, x := range list { + switch v := x.(type) { + case func() []Base: + s.bases = v + case func() []Script: + s.scripts = v + case func() []Region: + s.regions = v + case func() []Tag: + s.tags = v + case []Base: + s.bases = func() []Base { return v } + case []Script: + s.scripts = func() []Script { return v } + case []Region: + s.regions = func() []Region { return v } + case []Tag: + s.tags = func() []Tag { return v } + default: + panic(fmt.Sprintf("language: unsupported set type %T", v)) + } + } + return s +} diff --git a/vendor/golang.org/x/text/language/doc.go b/vendor/golang.org/x/text/language/doc.go new file mode 100644 index 000000000000..8afecd50e12e --- /dev/null +++ b/vendor/golang.org/x/text/language/doc.go @@ -0,0 +1,102 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package language implements BCP 47 language tags and related functionality. +// +// The most important function of package language is to match a list of +// user-preferred languages to a list of supported languages. +// It alleviates the developer of dealing with the complexity of this process +// and provides the user with the best experience +// (see https://blog.golang.org/matchlang). +// +// +// Matching preferred against supported languages +// +// A Matcher for an application that supports English, Australian English, +// Danish, and standard Mandarin can be created as follows: +// +// var matcher = language.NewMatcher([]language.Tag{ +// language.English, // The first language is used as fallback. +// language.MustParse("en-AU"), +// language.Danish, +// language.Chinese, +// }) +// +// This list of supported languages is typically implied by the languages for +// which there exists translations of the user interface. +// +// User-preferred languages usually come as a comma-separated list of BCP 47 +// language tags. +// The MatchString finds best matches for such strings: +// +// handler(w http.ResponseWriter, r *http.Request) { +// lang, _ := r.Cookie("lang") +// accept := r.Header.Get("Accept-Language") +// tag, _ := language.MatchStrings(matcher, lang.String(), accept) +// +// // tag should now be used for the initialization of any +// // locale-specific service. +// } +// +// The Matcher's Match method can be used to match Tags directly. +// +// Matchers are aware of the intricacies of equivalence between languages, such +// as deprecated subtags, legacy tags, macro languages, mutual +// intelligibility between scripts and languages, and transparently passing +// BCP 47 user configuration. +// For instance, it will know that a reader of Bokmål Danish can read Norwegian +// and will know that Cantonese ("yue") is a good match for "zh-HK". +// +// +// Using match results +// +// To guarantee a consistent user experience to the user it is important to +// use the same language tag for the selection of any locale-specific services. +// For example, it is utterly confusing to substitute spelled-out numbers +// or dates in one language in text of another language. +// More subtly confusing is using the wrong sorting order or casing +// algorithm for a certain language. +// +// All the packages in x/text that provide locale-specific services +// (e.g. collate, cases) should be initialized with the tag that was +// obtained at the start of an interaction with the user. +// +// Note that Tag that is returned by Match and MatchString may differ from any +// of the supported languages, as it may contain carried over settings from +// the user tags. +// This may be inconvenient when your application has some additional +// locale-specific data for your supported languages. +// Match and MatchString both return the index of the matched supported tag +// to simplify associating such data with the matched tag. +// +// +// Canonicalization +// +// If one uses the Matcher to compare languages one does not need to +// worry about canonicalization. +// +// The meaning of a Tag varies per application. The language package +// therefore delays canonicalization and preserves information as much +// as possible. The Matcher, however, will always take into account that +// two different tags may represent the same language. +// +// By default, only legacy and deprecated tags are converted into their +// canonical equivalent. All other information is preserved. This approach makes +// the confidence scores more accurate and allows matchers to distinguish +// between variants that are otherwise lost. +// +// As a consequence, two tags that should be treated as identical according to +// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The +// Matcher handles such distinctions, though, and is aware of the +// equivalence relations. The CanonType type can be used to alter the +// canonicalization form. +// +// References +// +// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47 +// +package language // import "golang.org/x/text/language" + +// TODO: explanation on how to match languages for your own locale-specific +// service. diff --git a/vendor/golang.org/x/text/language/gen.go b/vendor/golang.org/x/text/language/gen.go new file mode 100644 index 000000000000..7c260e5c2713 --- /dev/null +++ b/vendor/golang.org/x/text/language/gen.go @@ -0,0 +1,1706 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// Language tag table generator. +// Data read from the web. + +package main + +import ( + "bufio" + "flag" + "fmt" + "io" + "io/ioutil" + "log" + "math" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/internal/tag" + "golang.org/x/text/unicode/cldr" +) + +var ( + test = flag.Bool("test", + false, + "test existing tables; can be used to compare web data with package data.") + outputFile = flag.String("output", + "tables.go", + "output file for generated tables") +) + +var comment = []string{ + ` +lang holds an alphabetically sorted list of ISO-639 language identifiers. +All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. +For 2-byte language identifiers, the two successive bytes have the following meaning: + - if the first letter of the 2- and 3-letter ISO codes are the same: + the second and third letter of the 3-letter ISO code. + - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. +For 3-byte language identifiers the 4th byte is 0.`, + ` +langNoIndex is a bit vector of all 3-letter language codes that are not used as an index +in lookup tables. The language ids for these language codes are derived directly +from the letters and are not consecutive.`, + ` +altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives +to 2-letter language codes that cannot be derived using the method described above. +Each 3-letter code is followed by its 1-byte langID.`, + ` +altLangIndex is used to convert indexes in altLangISO3 to langIDs.`, + ` +langAliasMap maps langIDs to their suggested replacements.`, + ` +script is an alphabetically sorted list of ISO 15924 codes. The index +of the script in the string, divided by 4, is the internal scriptID.`, + ` +isoRegionOffset needs to be added to the index of regionISO to obtain the regionID +for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for +the UN.M49 codes used for groups.)`, + ` +regionISO holds a list of alphabetically sorted 2-letter ISO region codes. +Each 2-letter codes is followed by two bytes with the following meaning: + - [A-Z}{2}: the first letter of the 2-letter code plus these two + letters form the 3-letter ISO code. + - 0, n: index into altRegionISO3.`, + ` +regionTypes defines the status of a region for various standards.`, + ` +m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are +codes indicating collections of regions.`, + ` +m49Index gives indexes into fromM49 based on the three most significant bits +of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in + fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] +for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. +The region code is stored in the 9 lsb of the indexed value.`, + ` +fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`, + ` +altRegionISO3 holds a list of 3-letter region codes that cannot be +mapped to 2-letter codes using the default algorithm. This is a short list.`, + ` +altRegionIDs holds a list of regionIDs the positions of which match those +of the 3-letter ISO codes in altRegionISO3.`, + ` +variantNumSpecialized is the number of specialized variants in variants.`, + ` +suppressScript is an index from langID to the dominant script for that language, +if it exists. If a script is given, it should be suppressed from the language tag.`, + ` +likelyLang is a lookup table, indexed by langID, for the most likely +scripts and regions given incomplete information. If more entries exist for a +given language, region and script are the index and size respectively +of the list in likelyLangList.`, + ` +likelyLangList holds lists info associated with likelyLang.`, + ` +likelyRegion is a lookup table, indexed by regionID, for the most likely +languages and scripts given incomplete information. If more entries exist +for a given regionID, lang and script are the index and size respectively +of the list in likelyRegionList. +TODO: exclude containers and user-definable regions from the list.`, + ` +likelyRegionList holds lists info associated with likelyRegion.`, + ` +likelyScript is a lookup table, indexed by scriptID, for the most likely +languages and regions given a script.`, + ` +matchLang holds pairs of langIDs of base languages that are typically +mutually intelligible. Each pair is associated with a confidence and +whether the intelligibility goes one or both ways.`, + ` +matchScript holds pairs of scriptIDs where readers of one script +can typically also read the other. Each is associated with a confidence.`, + ` +nRegionGroups is the number of region groups.`, + ` +regionInclusion maps region identifiers to sets of regions in regionInclusionBits, +where each set holds all groupings that are directly connected in a region +containment graph.`, + ` +regionInclusionBits is an array of bit vectors where every vector represents +a set of region groupings. These sets are used to compute the distance +between two regions for the purpose of language matching.`, + ` +regionInclusionNext marks, for each entry in regionInclusionBits, the set of +all groups that are reachable from the groups set in the respective entry.`, +} + +// TODO: consider changing some of these structures to tries. This can reduce +// memory, but may increase the need for memory allocations. This could be +// mitigated if we can piggyback on language tags for common cases. + +func failOnError(e error) { + if e != nil { + log.Panic(e) + } +} + +type setType int + +const ( + Indexed setType = 1 + iota // all elements must be of same size + Linear +) + +type stringSet struct { + s []string + sorted, frozen bool + + // We often need to update values after the creation of an index is completed. + // We include a convenience map for keeping track of this. + update map[string]string + typ setType // used for checking. +} + +func (ss *stringSet) clone() stringSet { + c := *ss + c.s = append([]string(nil), c.s...) + return c +} + +func (ss *stringSet) setType(t setType) { + if ss.typ != t && ss.typ != 0 { + log.Panicf("type %d cannot be assigned as it was already %d", t, ss.typ) + } +} + +// parse parses a whitespace-separated string and initializes ss with its +// components. +func (ss *stringSet) parse(s string) { + scan := bufio.NewScanner(strings.NewReader(s)) + scan.Split(bufio.ScanWords) + for scan.Scan() { + ss.add(scan.Text()) + } +} + +func (ss *stringSet) assertChangeable() { + if ss.frozen { + log.Panic("attempt to modify a frozen stringSet") + } +} + +func (ss *stringSet) add(s string) { + ss.assertChangeable() + ss.s = append(ss.s, s) + ss.sorted = ss.frozen +} + +func (ss *stringSet) freeze() { + ss.compact() + ss.frozen = true +} + +func (ss *stringSet) compact() { + if ss.sorted { + return + } + a := ss.s + sort.Strings(a) + k := 0 + for i := 1; i < len(a); i++ { + if a[k] != a[i] { + a[k+1] = a[i] + k++ + } + } + ss.s = a[:k+1] + ss.sorted = ss.frozen +} + +type funcSorter struct { + fn func(a, b string) bool + sort.StringSlice +} + +func (s funcSorter) Less(i, j int) bool { + return s.fn(s.StringSlice[i], s.StringSlice[j]) +} + +func (ss *stringSet) sortFunc(f func(a, b string) bool) { + ss.compact() + sort.Sort(funcSorter{f, sort.StringSlice(ss.s)}) +} + +func (ss *stringSet) remove(s string) { + ss.assertChangeable() + if i, ok := ss.find(s); ok { + copy(ss.s[i:], ss.s[i+1:]) + ss.s = ss.s[:len(ss.s)-1] + } +} + +func (ss *stringSet) replace(ol, nu string) { + ss.s[ss.index(ol)] = nu + ss.sorted = ss.frozen +} + +func (ss *stringSet) index(s string) int { + ss.setType(Indexed) + i, ok := ss.find(s) + if !ok { + if i < len(ss.s) { + log.Panicf("find: item %q is not in list. Closest match is %q.", s, ss.s[i]) + } + log.Panicf("find: item %q is not in list", s) + + } + return i +} + +func (ss *stringSet) find(s string) (int, bool) { + ss.compact() + i := sort.SearchStrings(ss.s, s) + return i, i != len(ss.s) && ss.s[i] == s +} + +func (ss *stringSet) slice() []string { + ss.compact() + return ss.s +} + +func (ss *stringSet) updateLater(v, key string) { + if ss.update == nil { + ss.update = map[string]string{} + } + ss.update[v] = key +} + +// join joins the string and ensures that all entries are of the same length. +func (ss *stringSet) join() string { + ss.setType(Indexed) + n := len(ss.s[0]) + for _, s := range ss.s { + if len(s) != n { + log.Panicf("join: not all entries are of the same length: %q", s) + } + } + ss.s = append(ss.s, strings.Repeat("\xff", n)) + return strings.Join(ss.s, "") +} + +// ianaEntry holds information for an entry in the IANA Language Subtag Repository. +// All types use the same entry. +// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various +// fields. +type ianaEntry struct { + typ string + description []string + scope string + added string + preferred string + deprecated string + suppressScript string + macro string + prefix []string +} + +type builder struct { + w *gen.CodeWriter + hw io.Writer // MultiWriter for w and w.Hash + data *cldr.CLDR + supp *cldr.SupplementalData + + // indices + locale stringSet // common locales + lang stringSet // canonical language ids (2 or 3 letter ISO codes) with data + langNoIndex stringSet // 3-letter ISO codes with no associated data + script stringSet // 4-letter ISO codes + region stringSet // 2-letter ISO or 3-digit UN M49 codes + variant stringSet // 4-8-alphanumeric variant code. + + // Region codes that are groups with their corresponding group IDs. + groups map[int]index + + // langInfo + registry map[string]*ianaEntry +} + +type index uint + +func newBuilder(w *gen.CodeWriter) *builder { + r := gen.OpenCLDRCoreZip() + defer r.Close() + d := &cldr.Decoder{} + data, err := d.DecodeZip(r) + failOnError(err) + b := builder{ + w: w, + hw: io.MultiWriter(w, w.Hash), + data: data, + supp: data.Supplemental(), + } + b.parseRegistry() + return &b +} + +func (b *builder) parseRegistry() { + r := gen.OpenIANAFile("assignments/language-subtag-registry") + defer r.Close() + b.registry = make(map[string]*ianaEntry) + + scan := bufio.NewScanner(r) + scan.Split(bufio.ScanWords) + var record *ianaEntry + for more := scan.Scan(); more; { + key := scan.Text() + more = scan.Scan() + value := scan.Text() + switch key { + case "Type:": + record = &ianaEntry{typ: value} + case "Subtag:", "Tag:": + if s := strings.SplitN(value, "..", 2); len(s) > 1 { + for a := s[0]; a <= s[1]; a = inc(a) { + b.addToRegistry(a, record) + } + } else { + b.addToRegistry(value, record) + } + case "Suppress-Script:": + record.suppressScript = value + case "Added:": + record.added = value + case "Deprecated:": + record.deprecated = value + case "Macrolanguage:": + record.macro = value + case "Preferred-Value:": + record.preferred = value + case "Prefix:": + record.prefix = append(record.prefix, value) + case "Scope:": + record.scope = value + case "Description:": + buf := []byte(value) + for more = scan.Scan(); more; more = scan.Scan() { + b := scan.Bytes() + if b[0] == '%' || b[len(b)-1] == ':' { + break + } + buf = append(buf, ' ') + buf = append(buf, b...) + } + record.description = append(record.description, string(buf)) + continue + default: + continue + } + more = scan.Scan() + } + if scan.Err() != nil { + log.Panic(scan.Err()) + } +} + +func (b *builder) addToRegistry(key string, entry *ianaEntry) { + if info, ok := b.registry[key]; ok { + if info.typ != "language" || entry.typ != "extlang" { + log.Fatalf("parseRegistry: tag %q already exists", key) + } + } else { + b.registry[key] = entry + } +} + +var commentIndex = make(map[string]string) + +func init() { + for _, s := range comment { + key := strings.TrimSpace(strings.SplitN(s, " ", 2)[0]) + commentIndex[key] = s + } +} + +func (b *builder) comment(name string) { + if s := commentIndex[name]; len(s) > 0 { + b.w.WriteComment(s) + } else { + fmt.Fprintln(b.w) + } +} + +func (b *builder) pf(f string, x ...interface{}) { + fmt.Fprintf(b.hw, f, x...) + fmt.Fprint(b.hw, "\n") +} + +func (b *builder) p(x ...interface{}) { + fmt.Fprintln(b.hw, x...) +} + +func (b *builder) addSize(s int) { + b.w.Size += s + b.pf("// Size: %d bytes", s) +} + +func (b *builder) writeConst(name string, x interface{}) { + b.comment(name) + b.w.WriteConst(name, x) +} + +// writeConsts computes f(v) for all v in values and writes the results +// as constants named _v to a single constant block. +func (b *builder) writeConsts(f func(string) int, values ...string) { + b.pf("const (") + for _, v := range values { + b.pf("\t_%s = %v", v, f(v)) + } + b.pf(")") +} + +// writeType writes the type of the given value, which must be a struct. +func (b *builder) writeType(value interface{}) { + b.comment(reflect.TypeOf(value).Name()) + b.w.WriteType(value) +} + +func (b *builder) writeSlice(name string, ss interface{}) { + b.writeSliceAddSize(name, 0, ss) +} + +func (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) { + b.comment(name) + b.w.Size += extraSize + v := reflect.ValueOf(ss) + t := v.Type().Elem() + b.pf("// Size: %d bytes, %d elements", v.Len()*int(t.Size())+extraSize, v.Len()) + + fmt.Fprintf(b.w, "var %s = ", name) + b.w.WriteArray(ss) + b.p() +} + +type fromTo struct { + from, to uint16 +} + +func (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) { + ss.sortFunc(func(a, b string) bool { + return index(a) < index(b) + }) + m := []fromTo{} + for _, s := range ss.s { + m = append(m, fromTo{index(s), index(ss.update[s])}) + } + b.writeSlice(name, m) +} + +const base = 'z' - 'a' + 1 + +func strToInt(s string) uint { + v := uint(0) + for i := 0; i < len(s); i++ { + v *= base + v += uint(s[i] - 'a') + } + return v +} + +// converts the given integer to the original ASCII string passed to strToInt. +// len(s) must match the number of characters obtained. +func intToStr(v uint, s []byte) { + for i := len(s) - 1; i >= 0; i-- { + s[i] = byte(v%base) + 'a' + v /= base + } +} + +func (b *builder) writeBitVector(name string, ss []string) { + vec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8))) + for _, s := range ss { + v := strToInt(s) + vec[v/8] |= 1 << (v % 8) + } + b.writeSlice(name, vec) +} + +// TODO: convert this type into a list or two-stage trie. +func (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) { + b.comment(name) + v := reflect.ValueOf(m) + sz := v.Len() * (2 + int(v.Type().Key().Size())) + for _, k := range m { + sz += len(k) + } + b.addSize(sz) + keys := []string{} + b.pf(`var %s = map[string]uint16{`, name) + for k := range m { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + b.pf("\t%q: %v,", k, f(m[k])) + } + b.p("}") +} + +func (b *builder) writeMap(name string, m interface{}) { + b.comment(name) + v := reflect.ValueOf(m) + sz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size())) + b.addSize(sz) + f := strings.FieldsFunc(fmt.Sprintf("%#v", m), func(r rune) bool { + return strings.IndexRune("{}, ", r) != -1 + }) + sort.Strings(f[1:]) + b.pf(`var %s = %s{`, name, f[0]) + for _, kv := range f[1:] { + b.pf("\t%s,", kv) + } + b.p("}") +} + +func (b *builder) langIndex(s string) uint16 { + if s == "und" { + return 0 + } + if i, ok := b.lang.find(s); ok { + return uint16(i) + } + return uint16(strToInt(s)) + uint16(len(b.lang.s)) +} + +// inc advances the string to its lexicographical successor. +func inc(s string) string { + const maxTagLength = 4 + var buf [maxTagLength]byte + intToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)]) + for i := 0; i < len(s); i++ { + if s[i] <= 'Z' { + buf[i] -= 'a' - 'A' + } + } + return string(buf[:len(s)]) +} + +func (b *builder) parseIndices() { + meta := b.supp.Metadata + + for k, v := range b.registry { + var ss *stringSet + switch v.typ { + case "language": + if len(k) == 2 || v.suppressScript != "" || v.scope == "special" { + b.lang.add(k) + continue + } else { + ss = &b.langNoIndex + } + case "region": + ss = &b.region + case "script": + ss = &b.script + case "variant": + ss = &b.variant + default: + continue + } + ss.add(k) + } + // Include any language for which there is data. + for _, lang := range b.data.Locales() { + if x := b.data.RawLDML(lang); false || + x.LocaleDisplayNames != nil || + x.Characters != nil || + x.Delimiters != nil || + x.Measurement != nil || + x.Dates != nil || + x.Numbers != nil || + x.Units != nil || + x.ListPatterns != nil || + x.Collations != nil || + x.Segmentations != nil || + x.Rbnf != nil || + x.Annotations != nil || + x.Metadata != nil { + + from := strings.Split(lang, "_") + if lang := from[0]; lang != "root" { + b.lang.add(lang) + } + } + } + // Include locales for plural rules, which uses a different structure. + for _, plurals := range b.data.Supplemental().Plurals { + for _, rules := range plurals.PluralRules { + for _, lang := range strings.Split(rules.Locales, " ") { + if lang = strings.Split(lang, "_")[0]; lang != "root" { + b.lang.add(lang) + } + } + } + } + // Include languages in likely subtags. + for _, m := range b.supp.LikelySubtags.LikelySubtag { + from := strings.Split(m.From, "_") + b.lang.add(from[0]) + } + // Include ISO-639 alpha-3 bibliographic entries. + for _, a := range meta.Alias.LanguageAlias { + if a.Reason == "bibliographic" { + b.langNoIndex.add(a.Type) + } + } + // Include regions in territoryAlias (not all are in the IANA registry!) + for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { + if len(reg.Type) == 2 { + b.region.add(reg.Type) + } + } + + for _, s := range b.lang.s { + if len(s) == 3 { + b.langNoIndex.remove(s) + } + } + b.writeConst("numLanguages", len(b.lang.slice())+len(b.langNoIndex.slice())) + b.writeConst("numScripts", len(b.script.slice())) + b.writeConst("numRegions", len(b.region.slice())) + + // Add dummy codes at the start of each list to represent "unspecified". + b.lang.add("---") + b.script.add("----") + b.region.add("---") + + // common locales + b.locale.parse(meta.DefaultContent.Locales) +} + +// TODO: region inclusion data will probably not be use used in future matchers. + +func (b *builder) computeRegionGroups() { + b.groups = make(map[int]index) + + // Create group indices. + for i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID. + b.groups[i] = index(len(b.groups)) + } + for _, g := range b.supp.TerritoryContainment.Group { + // Skip UN and EURO zone as they are flattening the containment + // relationship. + if g.Type == "EZ" || g.Type == "UN" { + continue + } + group := b.region.index(g.Type) + if _, ok := b.groups[group]; !ok { + b.groups[group] = index(len(b.groups)) + } + } + if len(b.groups) > 64 { + log.Fatalf("only 64 groups supported, found %d", len(b.groups)) + } + b.writeConst("nRegionGroups", len(b.groups)) +} + +var langConsts = []string{ + "af", "am", "ar", "az", "bg", "bn", "ca", "cs", "da", "de", "el", "en", "es", + "et", "fa", "fi", "fil", "fr", "gu", "he", "hi", "hr", "hu", "hy", "id", "is", + "it", "ja", "ka", "kk", "km", "kn", "ko", "ky", "lo", "lt", "lv", "mk", "ml", + "mn", "mo", "mr", "ms", "mul", "my", "nb", "ne", "nl", "no", "pa", "pl", "pt", + "ro", "ru", "sh", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th", + "tl", "tn", "tr", "uk", "ur", "uz", "vi", "zh", "zu", + + // constants for grandfathered tags (if not already defined) + "jbo", "ami", "bnn", "hak", "tlh", "lb", "nv", "pwn", "tao", "tay", "tsu", + "nn", "sfb", "vgt", "sgg", "cmn", "nan", "hsn", +} + +// writeLanguage generates all tables needed for language canonicalization. +func (b *builder) writeLanguage() { + meta := b.supp.Metadata + + b.writeConst("nonCanonicalUnd", b.lang.index("und")) + b.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...) + b.writeConst("langPrivateStart", b.langIndex("qaa")) + b.writeConst("langPrivateEnd", b.langIndex("qtz")) + + // Get language codes that need to be mapped (overlong 3-letter codes, + // deprecated 2-letter codes, legacy and grandfathered tags.) + langAliasMap := stringSet{} + aliasTypeMap := map[string]langAliasType{} + + // altLangISO3 get the alternative ISO3 names that need to be mapped. + altLangISO3 := stringSet{} + // Add dummy start to avoid the use of index 0. + altLangISO3.add("---") + altLangISO3.updateLater("---", "aa") + + lang := b.lang.clone() + for _, a := range meta.Alias.LanguageAlias { + if a.Replacement == "" { + a.Replacement = "und" + } + // TODO: support mapping to tags + repl := strings.SplitN(a.Replacement, "_", 2)[0] + if a.Reason == "overlong" { + if len(a.Replacement) == 2 && len(a.Type) == 3 { + lang.updateLater(a.Replacement, a.Type) + } + } else if len(a.Type) <= 3 { + switch a.Reason { + case "macrolanguage": + aliasTypeMap[a.Type] = langMacro + case "deprecated": + // handled elsewhere + continue + case "bibliographic", "legacy": + if a.Type == "no" { + continue + } + aliasTypeMap[a.Type] = langLegacy + default: + log.Fatalf("new %s alias: %s", a.Reason, a.Type) + } + langAliasMap.add(a.Type) + langAliasMap.updateLater(a.Type, repl) + } + } + // Manually add the mapping of "nb" (Norwegian) to its macro language. + // This can be removed if CLDR adopts this change. + langAliasMap.add("nb") + langAliasMap.updateLater("nb", "no") + aliasTypeMap["nb"] = langMacro + + for k, v := range b.registry { + // Also add deprecated values for 3-letter ISO codes, which CLDR omits. + if v.typ == "language" && v.deprecated != "" && v.preferred != "" { + langAliasMap.add(k) + langAliasMap.updateLater(k, v.preferred) + aliasTypeMap[k] = langDeprecated + } + } + // Fix CLDR mappings. + lang.updateLater("tl", "tgl") + lang.updateLater("sh", "hbs") + lang.updateLater("mo", "mol") + lang.updateLater("no", "nor") + lang.updateLater("tw", "twi") + lang.updateLater("nb", "nob") + lang.updateLater("ak", "aka") + lang.updateLater("bh", "bih") + + // Ensure that each 2-letter code is matched with a 3-letter code. + for _, v := range lang.s[1:] { + s, ok := lang.update[v] + if !ok { + if s, ok = lang.update[langAliasMap.update[v]]; !ok { + continue + } + lang.update[v] = s + } + if v[0] != s[0] { + altLangISO3.add(s) + altLangISO3.updateLater(s, v) + } + } + + // Complete canonicalized language tags. + lang.freeze() + for i, v := range lang.s { + // We can avoid these manual entries by using the IANA registry directly. + // Seems easier to update the list manually, as changes are rare. + // The panic in this loop will trigger if we miss an entry. + add := "" + if s, ok := lang.update[v]; ok { + if s[0] == v[0] { + add = s[1:] + } else { + add = string([]byte{0, byte(altLangISO3.index(s))}) + } + } else if len(v) == 3 { + add = "\x00" + } else { + log.Panicf("no data for long form of %q", v) + } + lang.s[i] += add + } + b.writeConst("lang", tag.Index(lang.join())) + + b.writeConst("langNoIndexOffset", len(b.lang.s)) + + // space of all valid 3-letter language identifiers. + b.writeBitVector("langNoIndex", b.langNoIndex.slice()) + + altLangIndex := []uint16{} + for i, s := range altLangISO3.slice() { + altLangISO3.s[i] += string([]byte{byte(len(altLangIndex))}) + if i > 0 { + idx := b.lang.index(altLangISO3.update[s]) + altLangIndex = append(altLangIndex, uint16(idx)) + } + } + b.writeConst("altLangISO3", tag.Index(altLangISO3.join())) + b.writeSlice("altLangIndex", altLangIndex) + + b.writeSortedMap("langAliasMap", &langAliasMap, b.langIndex) + types := make([]langAliasType, len(langAliasMap.s)) + for i, s := range langAliasMap.s { + types[i] = aliasTypeMap[s] + } + b.writeSlice("langAliasTypes", types) +} + +var scriptConsts = []string{ + "Latn", "Hani", "Hans", "Hant", "Qaaa", "Qaai", "Qabx", "Zinh", "Zyyy", + "Zzzz", +} + +func (b *builder) writeScript() { + b.writeConsts(b.script.index, scriptConsts...) + b.writeConst("script", tag.Index(b.script.join())) + + supp := make([]uint8, len(b.lang.slice())) + for i, v := range b.lang.slice()[1:] { + if sc := b.registry[v].suppressScript; sc != "" { + supp[i+1] = uint8(b.script.index(sc)) + } + } + b.writeSlice("suppressScript", supp) + + // There is only one deprecated script in CLDR. This value is hard-coded. + // We check here if the code must be updated. + for _, a := range b.supp.Metadata.Alias.ScriptAlias { + if a.Type != "Qaai" { + log.Panicf("unexpected deprecated stript %q", a.Type) + } + } +} + +func parseM49(s string) int16 { + if len(s) == 0 { + return 0 + } + v, err := strconv.ParseUint(s, 10, 10) + failOnError(err) + return int16(v) +} + +var regionConsts = []string{ + "001", "419", "BR", "CA", "ES", "GB", "MD", "PT", "UK", "US", + "ZZ", "XA", "XC", "XK", // Unofficial tag for Kosovo. +} + +func (b *builder) writeRegion() { + b.writeConsts(b.region.index, regionConsts...) + + isoOffset := b.region.index("AA") + m49map := make([]int16, len(b.region.slice())) + fromM49map := make(map[int16]int) + altRegionISO3 := "" + altRegionIDs := []uint16{} + + b.writeConst("isoRegionOffset", isoOffset) + + // 2-letter region lookup and mapping to numeric codes. + regionISO := b.region.clone() + regionISO.s = regionISO.s[isoOffset:] + regionISO.sorted = false + + regionTypes := make([]byte, len(b.region.s)) + + // Is the region valid BCP 47? + for s, e := range b.registry { + if len(s) == 2 && s == strings.ToUpper(s) { + i := b.region.index(s) + for _, d := range e.description { + if strings.Contains(d, "Private use") { + regionTypes[i] = iso3166UserAssigned + } + } + regionTypes[i] |= bcp47Region + } + } + + // Is the region a valid ccTLD? + r := gen.OpenIANAFile("domains/root/db") + defer r.Close() + + buf, err := ioutil.ReadAll(r) + failOnError(err) + re := regexp.MustCompile(`"/domains/root/db/([a-z]{2}).html"`) + for _, m := range re.FindAllSubmatch(buf, -1) { + i := b.region.index(strings.ToUpper(string(m[1]))) + regionTypes[i] |= ccTLD + } + + b.writeSlice("regionTypes", regionTypes) + + iso3Set := make(map[string]int) + update := func(iso2, iso3 string) { + i := regionISO.index(iso2) + if j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] { + regionISO.s[i] += iso3[1:] + iso3Set[iso3] = -1 + } else { + if ok && j >= 0 { + regionISO.s[i] += string([]byte{0, byte(j)}) + } else { + iso3Set[iso3] = len(altRegionISO3) + regionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))}) + altRegionISO3 += iso3 + altRegionIDs = append(altRegionIDs, uint16(isoOffset+i)) + } + } + } + for _, tc := range b.supp.CodeMappings.TerritoryCodes { + i := regionISO.index(tc.Type) + isoOffset + if d := m49map[i]; d != 0 { + log.Panicf("%s found as a duplicate UN.M49 code of %03d", tc.Numeric, d) + } + m49 := parseM49(tc.Numeric) + m49map[i] = m49 + if r := fromM49map[m49]; r == 0 { + fromM49map[m49] = i + } else if r != i { + dep := b.registry[regionISO.s[r-isoOffset]].deprecated + if t := b.registry[tc.Type]; t != nil && dep != "" && (t.deprecated == "" || t.deprecated > dep) { + fromM49map[m49] = i + } + } + } + for _, ta := range b.supp.Metadata.Alias.TerritoryAlias { + if len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 { + from := parseM49(ta.Type) + if r := fromM49map[from]; r == 0 { + fromM49map[from] = regionISO.index(ta.Replacement) + isoOffset + } + } + } + for _, tc := range b.supp.CodeMappings.TerritoryCodes { + if len(tc.Alpha3) == 3 { + update(tc.Type, tc.Alpha3) + } + } + // This entries are not included in territoryCodes. Mostly 3-letter variants + // of deleted codes and an entry for QU. + for _, m := range []struct{ iso2, iso3 string }{ + {"CT", "CTE"}, + {"DY", "DHY"}, + {"HV", "HVO"}, + {"JT", "JTN"}, + {"MI", "MID"}, + {"NH", "NHB"}, + {"NQ", "ATN"}, + {"PC", "PCI"}, + {"PU", "PUS"}, + {"PZ", "PCZ"}, + {"RH", "RHO"}, + {"VD", "VDR"}, + {"WK", "WAK"}, + // These three-letter codes are used for others as well. + {"FQ", "ATF"}, + } { + update(m.iso2, m.iso3) + } + for i, s := range regionISO.s { + if len(s) != 4 { + regionISO.s[i] = s + " " + } + } + b.writeConst("regionISO", tag.Index(regionISO.join())) + b.writeConst("altRegionISO3", altRegionISO3) + b.writeSlice("altRegionIDs", altRegionIDs) + + // Create list of deprecated regions. + // TODO: consider inserting SF -> FI. Not included by CLDR, but is the only + // Transitionally-reserved mapping not included. + regionOldMap := stringSet{} + // Include regions in territoryAlias (not all are in the IANA registry!) + for _, reg := range b.supp.Metadata.Alias.TerritoryAlias { + if len(reg.Type) == 2 && reg.Reason == "deprecated" && len(reg.Replacement) == 2 { + regionOldMap.add(reg.Type) + regionOldMap.updateLater(reg.Type, reg.Replacement) + i, _ := regionISO.find(reg.Type) + j, _ := regionISO.find(reg.Replacement) + if k := m49map[i+isoOffset]; k == 0 { + m49map[i+isoOffset] = m49map[j+isoOffset] + } + } + } + b.writeSortedMap("regionOldMap", ®ionOldMap, func(s string) uint16 { + return uint16(b.region.index(s)) + }) + // 3-digit region lookup, groupings. + for i := 1; i < isoOffset; i++ { + m := parseM49(b.region.s[i]) + m49map[i] = m + fromM49map[m] = i + } + b.writeSlice("m49", m49map) + + const ( + searchBits = 7 + regionBits = 9 + ) + if len(m49map) >= 1< %d", len(m49map), 1<>searchBits] = int16(len(fromM49)) + } + b.writeSlice("m49Index", m49Index) + b.writeSlice("fromM49", fromM49) +} + +const ( + // TODO: put these lists in regionTypes as user data? Could be used for + // various optimizations and refinements and could be exposed in the API. + iso3166Except = "AC CP DG EA EU FX IC SU TA UK" + iso3166Trans = "AN BU CS NT TP YU ZR" // SF is not in our set of Regions. + // DY and RH are actually not deleted, but indeterminately reserved. + iso3166DelCLDR = "CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD" +) + +const ( + iso3166UserAssigned = 1 << iota + ccTLD + bcp47Region +) + +func find(list []string, s string) int { + for i, t := range list { + if t == s { + return i + } + } + return -1 +} + +// writeVariants generates per-variant information and creates a map from variant +// name to index value. We assign index values such that sorting multiple +// variants by index value will result in the correct order. +// There are two types of variants: specialized and general. Specialized variants +// are only applicable to certain language or language-script pairs. Generalized +// variants apply to any language. Generalized variants always sort after +// specialized variants. We will therefore always assign a higher index value +// to a generalized variant than any other variant. Generalized variants are +// sorted alphabetically among themselves. +// Specialized variants may also sort after other specialized variants. Such +// variants will be ordered after any of the variants they may follow. +// We assume that if a variant x is followed by a variant y, then for any prefix +// p of x, p-x is a prefix of y. This allows us to order tags based on the +// maximum of the length of any of its prefixes. +// TODO: it is possible to define a set of Prefix values on variants such that +// a total order cannot be defined to the point that this algorithm breaks. +// In other words, we cannot guarantee the same order of variants for the +// future using the same algorithm or for non-compliant combinations of +// variants. For this reason, consider using simple alphabetic sorting +// of variants and ignore Prefix restrictions altogether. +func (b *builder) writeVariant() { + generalized := stringSet{} + specialized := stringSet{} + specializedExtend := stringSet{} + // Collate the variants by type and check assumptions. + for _, v := range b.variant.slice() { + e := b.registry[v] + if len(e.prefix) == 0 { + generalized.add(v) + continue + } + c := strings.Split(e.prefix[0], "-") + hasScriptOrRegion := false + if len(c) > 1 { + _, hasScriptOrRegion = b.script.find(c[1]) + if !hasScriptOrRegion { + _, hasScriptOrRegion = b.region.find(c[1]) + + } + } + if len(c) == 1 || len(c) == 2 && hasScriptOrRegion { + // Variant is preceded by a language. + specialized.add(v) + continue + } + // Variant is preceded by another variant. + specializedExtend.add(v) + prefix := c[0] + "-" + if hasScriptOrRegion { + prefix += c[1] + } + for _, p := range e.prefix { + // Verify that the prefix minus the last element is a prefix of the + // predecessor element. + i := strings.LastIndex(p, "-") + pred := b.registry[p[i+1:]] + if find(pred.prefix, p[:i]) < 0 { + log.Fatalf("prefix %q for variant %q not consistent with predecessor spec", p, v) + } + // The sorting used below does not work in the general case. It works + // if we assume that variants that may be followed by others only have + // prefixes of the same length. Verify this. + count := strings.Count(p[:i], "-") + for _, q := range pred.prefix { + if c := strings.Count(q, "-"); c != count { + log.Fatalf("variant %q preceding %q has a prefix %q of size %d; want %d", p[i+1:], v, q, c, count) + } + } + if !strings.HasPrefix(p, prefix) { + log.Fatalf("prefix %q of variant %q should start with %q", p, v, prefix) + } + } + } + + // Sort extended variants. + a := specializedExtend.s + less := func(v, w string) bool { + // Sort by the maximum number of elements. + maxCount := func(s string) (max int) { + for _, p := range b.registry[s].prefix { + if c := strings.Count(p, "-"); c > max { + max = c + } + } + return + } + if cv, cw := maxCount(v), maxCount(w); cv != cw { + return cv < cw + } + // Sort by name as tie breaker. + return v < w + } + sort.Sort(funcSorter{less, sort.StringSlice(a)}) + specializedExtend.frozen = true + + // Create index from variant name to index. + variantIndex := make(map[string]uint8) + add := func(s []string) { + for _, v := range s { + variantIndex[v] = uint8(len(variantIndex)) + } + } + add(specialized.slice()) + add(specializedExtend.s) + numSpecialized := len(variantIndex) + add(generalized.slice()) + if n := len(variantIndex); n > 255 { + log.Fatalf("maximum number of variants exceeded: was %d; want <= 255", n) + } + b.writeMap("variantIndex", variantIndex) + b.writeConst("variantNumSpecialized", numSpecialized) +} + +func (b *builder) writeLanguageInfo() { +} + +// writeLikelyData writes tables that are used both for finding parent relations and for +// language matching. Each entry contains additional bits to indicate the status of the +// data to know when it cannot be used for parent relations. +func (b *builder) writeLikelyData() { + const ( + isList = 1 << iota + scriptInFrom + regionInFrom + ) + type ( // generated types + likelyScriptRegion struct { + region uint16 + script uint8 + flags uint8 + } + likelyLangScript struct { + lang uint16 + script uint8 + flags uint8 + } + likelyLangRegion struct { + lang uint16 + region uint16 + } + // likelyTag is used for getting likely tags for group regions, where + // the likely region might be a region contained in the group. + likelyTag struct { + lang uint16 + region uint16 + script uint8 + } + ) + var ( // generated variables + likelyRegionGroup = make([]likelyTag, len(b.groups)) + likelyLang = make([]likelyScriptRegion, len(b.lang.s)) + likelyRegion = make([]likelyLangScript, len(b.region.s)) + likelyScript = make([]likelyLangRegion, len(b.script.s)) + likelyLangList = []likelyScriptRegion{} + likelyRegionList = []likelyLangScript{} + ) + type fromTo struct { + from, to []string + } + langToOther := map[int][]fromTo{} + regionToOther := map[int][]fromTo{} + for _, m := range b.supp.LikelySubtags.LikelySubtag { + from := strings.Split(m.From, "_") + to := strings.Split(m.To, "_") + if len(to) != 3 { + log.Fatalf("invalid number of subtags in %q: found %d, want 3", m.To, len(to)) + } + if len(from) > 3 { + log.Fatalf("invalid number of subtags: found %d, want 1-3", len(from)) + } + if from[0] != to[0] && from[0] != "und" { + log.Fatalf("unexpected language change in expansion: %s -> %s", from, to) + } + if len(from) == 3 { + if from[2] != to[2] { + log.Fatalf("unexpected region change in expansion: %s -> %s", from, to) + } + if from[0] != "und" { + log.Fatalf("unexpected fully specified from tag: %s -> %s", from, to) + } + } + if len(from) == 1 || from[0] != "und" { + id := 0 + if from[0] != "und" { + id = b.lang.index(from[0]) + } + langToOther[id] = append(langToOther[id], fromTo{from, to}) + } else if len(from) == 2 && len(from[1]) == 4 { + sid := b.script.index(from[1]) + likelyScript[sid].lang = uint16(b.langIndex(to[0])) + likelyScript[sid].region = uint16(b.region.index(to[2])) + } else { + r := b.region.index(from[len(from)-1]) + if id, ok := b.groups[r]; ok { + if from[0] != "und" { + log.Fatalf("region changed unexpectedly: %s -> %s", from, to) + } + likelyRegionGroup[id].lang = uint16(b.langIndex(to[0])) + likelyRegionGroup[id].script = uint8(b.script.index(to[1])) + likelyRegionGroup[id].region = uint16(b.region.index(to[2])) + } else { + regionToOther[r] = append(regionToOther[r], fromTo{from, to}) + } + } + } + b.writeType(likelyLangRegion{}) + b.writeSlice("likelyScript", likelyScript) + + for id := range b.lang.s { + list := langToOther[id] + if len(list) == 1 { + likelyLang[id].region = uint16(b.region.index(list[0].to[2])) + likelyLang[id].script = uint8(b.script.index(list[0].to[1])) + } else if len(list) > 1 { + likelyLang[id].flags = isList + likelyLang[id].region = uint16(len(likelyLangList)) + likelyLang[id].script = uint8(len(list)) + for _, x := range list { + flags := uint8(0) + if len(x.from) > 1 { + if x.from[1] == x.to[2] { + flags = regionInFrom + } else { + flags = scriptInFrom + } + } + likelyLangList = append(likelyLangList, likelyScriptRegion{ + region: uint16(b.region.index(x.to[2])), + script: uint8(b.script.index(x.to[1])), + flags: flags, + }) + } + } + } + // TODO: merge suppressScript data with this table. + b.writeType(likelyScriptRegion{}) + b.writeSlice("likelyLang", likelyLang) + b.writeSlice("likelyLangList", likelyLangList) + + for id := range b.region.s { + list := regionToOther[id] + if len(list) == 1 { + likelyRegion[id].lang = uint16(b.langIndex(list[0].to[0])) + likelyRegion[id].script = uint8(b.script.index(list[0].to[1])) + if len(list[0].from) > 2 { + likelyRegion[id].flags = scriptInFrom + } + } else if len(list) > 1 { + likelyRegion[id].flags = isList + likelyRegion[id].lang = uint16(len(likelyRegionList)) + likelyRegion[id].script = uint8(len(list)) + for i, x := range list { + if len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 { + log.Fatalf("unspecified script must be first in list: %v at %d", x.from, i) + } + x := likelyLangScript{ + lang: uint16(b.langIndex(x.to[0])), + script: uint8(b.script.index(x.to[1])), + } + if len(list[0].from) > 2 { + x.flags = scriptInFrom + } + likelyRegionList = append(likelyRegionList, x) + } + } + } + b.writeType(likelyLangScript{}) + b.writeSlice("likelyRegion", likelyRegion) + b.writeSlice("likelyRegionList", likelyRegionList) + + b.writeType(likelyTag{}) + b.writeSlice("likelyRegionGroup", likelyRegionGroup) +} + +type mutualIntelligibility struct { + want, have uint16 + distance uint8 + oneway bool +} + +type scriptIntelligibility struct { + wantLang, haveLang uint16 + wantScript, haveScript uint8 + distance uint8 + // Always oneway +} + +type regionIntelligibility struct { + lang uint16 // compact language id + script uint8 // 0 means any + group uint8 // 0 means any; if bit 7 is set it means inverse + distance uint8 + // Always twoway. +} + +// writeMatchData writes tables with languages and scripts for which there is +// mutual intelligibility. The data is based on CLDR's languageMatching data. +// Note that we use a different algorithm than the one defined by CLDR and that +// we slightly modify the data. For example, we convert scores to confidence levels. +// We also drop all region-related data as we use a different algorithm to +// determine region equivalence. +func (b *builder) writeMatchData() { + lm := b.supp.LanguageMatching.LanguageMatches + cldr.MakeSlice(&lm).SelectAnyOf("type", "written_new") + + regionHierarchy := map[string][]string{} + for _, g := range b.supp.TerritoryContainment.Group { + regions := strings.Split(g.Contains, " ") + regionHierarchy[g.Type] = append(regionHierarchy[g.Type], regions...) + } + regionToGroups := make([]uint8, len(b.region.s)) + + idToIndex := map[string]uint8{} + for i, mv := range lm[0].MatchVariable { + if i > 6 { + log.Fatalf("Too many groups: %d", i) + } + idToIndex[mv.Id] = uint8(i + 1) + // TODO: also handle '-' + for _, r := range strings.Split(mv.Value, "+") { + todo := []string{r} + for k := 0; k < len(todo); k++ { + r := todo[k] + regionToGroups[b.region.index(r)] |= 1 << uint8(i) + todo = append(todo, regionHierarchy[r]...) + } + } + } + b.writeSlice("regionToGroups", regionToGroups) + + // maps language id to in- and out-of-group region. + paradigmLocales := [][3]uint16{} + locales := strings.Split(lm[0].ParadigmLocales[0].Locales, " ") + for i := 0; i < len(locales); i += 2 { + x := [3]uint16{} + for j := 0; j < 2; j++ { + pc := strings.SplitN(locales[i+j], "-", 2) + x[0] = b.langIndex(pc[0]) + if len(pc) == 2 { + x[1+j] = uint16(b.region.index(pc[1])) + } + } + paradigmLocales = append(paradigmLocales, x) + } + b.writeSlice("paradigmLocales", paradigmLocales) + + b.writeType(mutualIntelligibility{}) + b.writeType(scriptIntelligibility{}) + b.writeType(regionIntelligibility{}) + + matchLang := []mutualIntelligibility{} + matchScript := []scriptIntelligibility{} + matchRegion := []regionIntelligibility{} + // Convert the languageMatch entries in lists keyed by desired language. + for _, m := range lm[0].LanguageMatch { + // Different versions of CLDR use different separators. + desired := strings.Replace(m.Desired, "-", "_", -1) + supported := strings.Replace(m.Supported, "-", "_", -1) + d := strings.Split(desired, "_") + s := strings.Split(supported, "_") + if len(d) != len(s) { + log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) + continue + } + distance, _ := strconv.ParseInt(m.Distance, 10, 8) + switch len(d) { + case 2: + if desired == supported && desired == "*_*" { + continue + } + // language-script pair. + matchScript = append(matchScript, scriptIntelligibility{ + wantLang: uint16(b.langIndex(d[0])), + haveLang: uint16(b.langIndex(s[0])), + wantScript: uint8(b.script.index(d[1])), + haveScript: uint8(b.script.index(s[1])), + distance: uint8(distance), + }) + if m.Oneway != "true" { + matchScript = append(matchScript, scriptIntelligibility{ + wantLang: uint16(b.langIndex(s[0])), + haveLang: uint16(b.langIndex(d[0])), + wantScript: uint8(b.script.index(s[1])), + haveScript: uint8(b.script.index(d[1])), + distance: uint8(distance), + }) + } + case 1: + if desired == supported && desired == "*" { + continue + } + if distance == 1 { + // nb == no is already handled by macro mapping. Check there + // really is only this case. + if d[0] != "no" || s[0] != "nb" { + log.Fatalf("unhandled equivalence %s == %s", s[0], d[0]) + } + continue + } + // TODO: consider dropping oneway field and just doubling the entry. + matchLang = append(matchLang, mutualIntelligibility{ + want: uint16(b.langIndex(d[0])), + have: uint16(b.langIndex(s[0])), + distance: uint8(distance), + oneway: m.Oneway == "true", + }) + case 3: + if desired == supported && desired == "*_*_*" { + continue + } + if desired != supported { // (Weird but correct.) + log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) + continue + } + ri := regionIntelligibility{ + lang: b.langIndex(d[0]), + distance: uint8(distance), + } + if d[1] != "*" { + ri.script = uint8(b.script.index(d[1])) + } + switch { + case d[2] == "*": + ri.group = 0x80 // not contained in anything + case strings.HasPrefix(d[2], "$!"): + ri.group = 0x80 + d[2] = "$" + d[2][len("$!"):] + fallthrough + case strings.HasPrefix(d[2], "$"): + ri.group |= idToIndex[d[2]] + } + matchRegion = append(matchRegion, ri) + default: + log.Fatalf("not supported: desired=%q; supported=%q", desired, supported) + } + } + sort.SliceStable(matchLang, func(i, j int) bool { + return matchLang[i].distance < matchLang[j].distance + }) + b.writeSlice("matchLang", matchLang) + + sort.SliceStable(matchScript, func(i, j int) bool { + return matchScript[i].distance < matchScript[j].distance + }) + b.writeSlice("matchScript", matchScript) + + sort.SliceStable(matchRegion, func(i, j int) bool { + return matchRegion[i].distance < matchRegion[j].distance + }) + b.writeSlice("matchRegion", matchRegion) +} + +func (b *builder) writeRegionInclusionData() { + var ( + // mm holds for each group the set of groups with a distance of 1. + mm = make(map[int][]index) + + // containment holds for each group the transitive closure of + // containment of other groups. + containment = make(map[index][]index) + ) + for _, g := range b.supp.TerritoryContainment.Group { + // Skip UN and EURO zone as they are flattening the containment + // relationship. + if g.Type == "EZ" || g.Type == "UN" { + continue + } + group := b.region.index(g.Type) + groupIdx := b.groups[group] + for _, mem := range strings.Split(g.Contains, " ") { + r := b.region.index(mem) + mm[r] = append(mm[r], groupIdx) + if g, ok := b.groups[r]; ok { + mm[group] = append(mm[group], g) + containment[groupIdx] = append(containment[groupIdx], g) + } + } + } + + regionContainment := make([]uint64, len(b.groups)) + for _, g := range b.groups { + l := containment[g] + + // Compute the transitive closure of containment. + for i := 0; i < len(l); i++ { + l = append(l, containment[l[i]]...) + } + + // Compute the bitmask. + regionContainment[g] = 1 << g + for _, v := range l { + regionContainment[g] |= 1 << v + } + } + b.writeSlice("regionContainment", regionContainment) + + regionInclusion := make([]uint8, len(b.region.s)) + bvs := make(map[uint64]index) + // Make the first bitvector positions correspond with the groups. + for r, i := range b.groups { + bv := uint64(1 << i) + for _, g := range mm[r] { + bv |= 1 << g + } + bvs[bv] = i + regionInclusion[r] = uint8(bvs[bv]) + } + for r := 1; r < len(b.region.s); r++ { + if _, ok := b.groups[r]; !ok { + bv := uint64(0) + for _, g := range mm[r] { + bv |= 1 << g + } + if bv == 0 { + // Pick the world for unspecified regions. + bv = 1 << b.groups[b.region.index("001")] + } + if _, ok := bvs[bv]; !ok { + bvs[bv] = index(len(bvs)) + } + regionInclusion[r] = uint8(bvs[bv]) + } + } + b.writeSlice("regionInclusion", regionInclusion) + regionInclusionBits := make([]uint64, len(bvs)) + for k, v := range bvs { + regionInclusionBits[v] = uint64(k) + } + // Add bit vectors for increasingly large distances until a fixed point is reached. + regionInclusionNext := []uint8{} + for i := 0; i < len(regionInclusionBits); i++ { + bits := regionInclusionBits[i] + next := bits + for i := uint(0); i < uint(len(b.groups)); i++ { + if bits&(1< b'. Using + // bytes.Replace will do. + out := bytes.Replace(buf.Bytes(), []byte("language."), nil, -1) + if err := ioutil.WriteFile("index.go", out, 0600); err != nil { + log.Fatalf("Could not create file index.go: %v", err) + } + }() + + m := map[language.Tag]bool{} + for _, lang := range data.Locales() { + // We include all locales unconditionally to be consistent with en_US. + // We want en_US, even though it has no data associated with it. + + // TODO: put any of the languages for which no data exists at the end + // of the index. This allows all components based on ICU to use that + // as the cutoff point. + // if x := data.RawLDML(lang); false || + // x.LocaleDisplayNames != nil || + // x.Characters != nil || + // x.Delimiters != nil || + // x.Measurement != nil || + // x.Dates != nil || + // x.Numbers != nil || + // x.Units != nil || + // x.ListPatterns != nil || + // x.Collations != nil || + // x.Segmentations != nil || + // x.Rbnf != nil || + // x.Annotations != nil || + // x.Metadata != nil { + + // TODO: support POSIX natively, albeit non-standard. + tag := language.Make(strings.Replace(lang, "_POSIX", "-u-va-posix", 1)) + m[tag] = true + // } + } + // Include locales for plural rules, which uses a different structure. + for _, plurals := range data.Supplemental().Plurals { + for _, rules := range plurals.PluralRules { + for _, lang := range strings.Split(rules.Locales, " ") { + m[language.Make(lang)] = true + } + } + } + + var core, special []language.Tag + + for t := range m { + if x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != "[u-va-posix]" { + log.Fatalf("Unexpected extension %v in %v", x, t) + } + if len(t.Variants()) == 0 && len(t.Extensions()) == 0 { + core = append(core, t) + } else { + special = append(special, t) + } + } + + w.WriteComment(` + NumCompactTags is the number of common tags. The maximum tag is + NumCompactTags-1.`) + w.WriteConst("NumCompactTags", len(core)+len(special)) + + sort.Sort(byAlpha(special)) + w.WriteVar("specialTags", special) + + // TODO: order by frequency? + sort.Sort(byAlpha(core)) + + // Size computations are just an estimate. + w.Size += int(reflect.TypeOf(map[uint32]uint16{}).Size()) + w.Size += len(core) * 6 // size of uint32 and uint16 + + fmt.Fprintln(w) + fmt.Fprintln(w, "var coreTags = map[uint32]uint16{") + fmt.Fprintln(w, "0x0: 0, // und") + i := len(special) + 1 // Und and special tags already written. + for _, t := range core { + if t == language.Und { + continue + } + fmt.Fprint(w.Hash, t, i) + b, s, r := t.Raw() + fmt.Fprintf(w, "0x%s%s%s: %d, // %s\n", + getIndex(b, 3), // 3 is enough as it is guaranteed to be a compact number + getIndex(s, 2), + getIndex(r, 3), + i, t) + i++ + } + fmt.Fprintln(w, "}") +} + +// getIndex prints the subtag type and extracts its index of size nibble. +// If the index is less than n nibbles, the result is prefixed with 0s. +func getIndex(x interface{}, n int) string { + s := fmt.Sprintf("%#v", x) // s is of form Type{typeID: 0x00} + s = s[strings.Index(s, "0x")+2 : len(s)-1] + return strings.Repeat("0", n-len(s)) + s +} + +type byAlpha []language.Tag + +func (a byAlpha) Len() int { return len(a) } +func (a byAlpha) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a byAlpha) Less(i, j int) bool { return a[i].String() < a[j].String() } diff --git a/vendor/golang.org/x/text/language/go1_1.go b/vendor/golang.org/x/text/language/go1_1.go new file mode 100644 index 000000000000..380f4c09f7f2 --- /dev/null +++ b/vendor/golang.org/x/text/language/go1_1.go @@ -0,0 +1,38 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.2 + +package language + +import "sort" + +func sortStable(s sort.Interface) { + ss := stableSort{ + s: s, + pos: make([]int, s.Len()), + } + for i := range ss.pos { + ss.pos[i] = i + } + sort.Sort(&ss) +} + +type stableSort struct { + s sort.Interface + pos []int +} + +func (s *stableSort) Len() int { + return len(s.pos) +} + +func (s *stableSort) Less(i, j int) bool { + return s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j] +} + +func (s *stableSort) Swap(i, j int) { + s.s.Swap(i, j) + s.pos[i], s.pos[j] = s.pos[j], s.pos[i] +} diff --git a/vendor/golang.org/x/text/language/go1_2.go b/vendor/golang.org/x/text/language/go1_2.go new file mode 100644 index 000000000000..38268c57a373 --- /dev/null +++ b/vendor/golang.org/x/text/language/go1_2.go @@ -0,0 +1,11 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.2 + +package language + +import "sort" + +var sortStable = sort.Stable diff --git a/vendor/golang.org/x/text/language/index.go b/vendor/golang.org/x/text/language/index.go new file mode 100644 index 000000000000..69ac557dc114 --- /dev/null +++ b/vendor/golang.org/x/text/language/index.go @@ -0,0 +1,769 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package language + +// NumCompactTags is the number of common tags. The maximum tag is +// NumCompactTags-1. +const NumCompactTags = 754 + +var specialTags = []Tag{ // 2 elements + 0: {lang: 0xd7, region: 0x6e, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"}, + 1: {lang: 0x138, region: 0x135, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"}, +} // Size: 72 bytes + +var coreTags = map[uint32]uint16{ + 0x0: 0, // und + 0x01600000: 3, // af + 0x016000d2: 4, // af-NA + 0x01600161: 5, // af-ZA + 0x01c00000: 6, // agq + 0x01c00052: 7, // agq-CM + 0x02100000: 8, // ak + 0x02100080: 9, // ak-GH + 0x02700000: 10, // am + 0x0270006f: 11, // am-ET + 0x03a00000: 12, // ar + 0x03a00001: 13, // ar-001 + 0x03a00023: 14, // ar-AE + 0x03a00039: 15, // ar-BH + 0x03a00062: 16, // ar-DJ + 0x03a00067: 17, // ar-DZ + 0x03a0006b: 18, // ar-EG + 0x03a0006c: 19, // ar-EH + 0x03a0006d: 20, // ar-ER + 0x03a00097: 21, // ar-IL + 0x03a0009b: 22, // ar-IQ + 0x03a000a1: 23, // ar-JO + 0x03a000a8: 24, // ar-KM + 0x03a000ac: 25, // ar-KW + 0x03a000b0: 26, // ar-LB + 0x03a000b9: 27, // ar-LY + 0x03a000ba: 28, // ar-MA + 0x03a000c9: 29, // ar-MR + 0x03a000e1: 30, // ar-OM + 0x03a000ed: 31, // ar-PS + 0x03a000f3: 32, // ar-QA + 0x03a00108: 33, // ar-SA + 0x03a0010b: 34, // ar-SD + 0x03a00115: 35, // ar-SO + 0x03a00117: 36, // ar-SS + 0x03a0011c: 37, // ar-SY + 0x03a00120: 38, // ar-TD + 0x03a00128: 39, // ar-TN + 0x03a0015e: 40, // ar-YE + 0x04000000: 41, // ars + 0x04300000: 42, // as + 0x04300099: 43, // as-IN + 0x04400000: 44, // asa + 0x0440012f: 45, // asa-TZ + 0x04800000: 46, // ast + 0x0480006e: 47, // ast-ES + 0x05800000: 48, // az + 0x0581e000: 49, // az-Cyrl + 0x0581e032: 50, // az-Cyrl-AZ + 0x05855000: 51, // az-Latn + 0x05855032: 52, // az-Latn-AZ + 0x05e00000: 53, // bas + 0x05e00052: 54, // bas-CM + 0x07100000: 55, // be + 0x07100047: 56, // be-BY + 0x07500000: 57, // bem + 0x07500162: 58, // bem-ZM + 0x07900000: 59, // bez + 0x0790012f: 60, // bez-TZ + 0x07e00000: 61, // bg + 0x07e00038: 62, // bg-BG + 0x08200000: 63, // bh + 0x0a000000: 64, // bm + 0x0a0000c3: 65, // bm-ML + 0x0a500000: 66, // bn + 0x0a500035: 67, // bn-BD + 0x0a500099: 68, // bn-IN + 0x0a900000: 69, // bo + 0x0a900053: 70, // bo-CN + 0x0a900099: 71, // bo-IN + 0x0b200000: 72, // br + 0x0b200078: 73, // br-FR + 0x0b500000: 74, // brx + 0x0b500099: 75, // brx-IN + 0x0b700000: 76, // bs + 0x0b71e000: 77, // bs-Cyrl + 0x0b71e033: 78, // bs-Cyrl-BA + 0x0b755000: 79, // bs-Latn + 0x0b755033: 80, // bs-Latn-BA + 0x0d700000: 81, // ca + 0x0d700022: 82, // ca-AD + 0x0d70006e: 83, // ca-ES + 0x0d700078: 84, // ca-FR + 0x0d70009e: 85, // ca-IT + 0x0dc00000: 86, // ce + 0x0dc00106: 87, // ce-RU + 0x0df00000: 88, // cgg + 0x0df00131: 89, // cgg-UG + 0x0e500000: 90, // chr + 0x0e500135: 91, // chr-US + 0x0e900000: 92, // ckb + 0x0e90009b: 93, // ckb-IQ + 0x0e90009c: 94, // ckb-IR + 0x0f900000: 95, // cs + 0x0f90005e: 96, // cs-CZ + 0x0fd00000: 97, // cu + 0x0fd00106: 98, // cu-RU + 0x0ff00000: 99, // cy + 0x0ff0007b: 100, // cy-GB + 0x10000000: 101, // da + 0x10000063: 102, // da-DK + 0x10000082: 103, // da-GL + 0x10700000: 104, // dav + 0x107000a4: 105, // dav-KE + 0x10c00000: 106, // de + 0x10c0002e: 107, // de-AT + 0x10c00036: 108, // de-BE + 0x10c0004e: 109, // de-CH + 0x10c00060: 110, // de-DE + 0x10c0009e: 111, // de-IT + 0x10c000b2: 112, // de-LI + 0x10c000b7: 113, // de-LU + 0x11600000: 114, // dje + 0x116000d4: 115, // dje-NE + 0x11e00000: 116, // dsb + 0x11e00060: 117, // dsb-DE + 0x12300000: 118, // dua + 0x12300052: 119, // dua-CM + 0x12700000: 120, // dv + 0x12a00000: 121, // dyo + 0x12a00114: 122, // dyo-SN + 0x12c00000: 123, // dz + 0x12c00043: 124, // dz-BT + 0x12e00000: 125, // ebu + 0x12e000a4: 126, // ebu-KE + 0x12f00000: 127, // ee + 0x12f00080: 128, // ee-GH + 0x12f00122: 129, // ee-TG + 0x13500000: 130, // el + 0x1350005d: 131, // el-CY + 0x13500087: 132, // el-GR + 0x13800000: 133, // en + 0x13800001: 134, // en-001 + 0x1380001a: 135, // en-150 + 0x13800025: 136, // en-AG + 0x13800026: 137, // en-AI + 0x1380002d: 138, // en-AS + 0x1380002e: 139, // en-AT + 0x1380002f: 140, // en-AU + 0x13800034: 141, // en-BB + 0x13800036: 142, // en-BE + 0x1380003a: 143, // en-BI + 0x1380003d: 144, // en-BM + 0x13800042: 145, // en-BS + 0x13800046: 146, // en-BW + 0x13800048: 147, // en-BZ + 0x13800049: 148, // en-CA + 0x1380004a: 149, // en-CC + 0x1380004e: 150, // en-CH + 0x13800050: 151, // en-CK + 0x13800052: 152, // en-CM + 0x1380005c: 153, // en-CX + 0x1380005d: 154, // en-CY + 0x13800060: 155, // en-DE + 0x13800061: 156, // en-DG + 0x13800063: 157, // en-DK + 0x13800064: 158, // en-DM + 0x1380006d: 159, // en-ER + 0x13800072: 160, // en-FI + 0x13800073: 161, // en-FJ + 0x13800074: 162, // en-FK + 0x13800075: 163, // en-FM + 0x1380007b: 164, // en-GB + 0x1380007c: 165, // en-GD + 0x1380007f: 166, // en-GG + 0x13800080: 167, // en-GH + 0x13800081: 168, // en-GI + 0x13800083: 169, // en-GM + 0x1380008a: 170, // en-GU + 0x1380008c: 171, // en-GY + 0x1380008d: 172, // en-HK + 0x13800096: 173, // en-IE + 0x13800097: 174, // en-IL + 0x13800098: 175, // en-IM + 0x13800099: 176, // en-IN + 0x1380009a: 177, // en-IO + 0x1380009f: 178, // en-JE + 0x138000a0: 179, // en-JM + 0x138000a4: 180, // en-KE + 0x138000a7: 181, // en-KI + 0x138000a9: 182, // en-KN + 0x138000ad: 183, // en-KY + 0x138000b1: 184, // en-LC + 0x138000b4: 185, // en-LR + 0x138000b5: 186, // en-LS + 0x138000bf: 187, // en-MG + 0x138000c0: 188, // en-MH + 0x138000c6: 189, // en-MO + 0x138000c7: 190, // en-MP + 0x138000ca: 191, // en-MS + 0x138000cb: 192, // en-MT + 0x138000cc: 193, // en-MU + 0x138000ce: 194, // en-MW + 0x138000d0: 195, // en-MY + 0x138000d2: 196, // en-NA + 0x138000d5: 197, // en-NF + 0x138000d6: 198, // en-NG + 0x138000d9: 199, // en-NL + 0x138000dd: 200, // en-NR + 0x138000df: 201, // en-NU + 0x138000e0: 202, // en-NZ + 0x138000e6: 203, // en-PG + 0x138000e7: 204, // en-PH + 0x138000e8: 205, // en-PK + 0x138000eb: 206, // en-PN + 0x138000ec: 207, // en-PR + 0x138000f0: 208, // en-PW + 0x13800107: 209, // en-RW + 0x13800109: 210, // en-SB + 0x1380010a: 211, // en-SC + 0x1380010b: 212, // en-SD + 0x1380010c: 213, // en-SE + 0x1380010d: 214, // en-SG + 0x1380010e: 215, // en-SH + 0x1380010f: 216, // en-SI + 0x13800112: 217, // en-SL + 0x13800117: 218, // en-SS + 0x1380011b: 219, // en-SX + 0x1380011d: 220, // en-SZ + 0x1380011f: 221, // en-TC + 0x13800125: 222, // en-TK + 0x13800129: 223, // en-TO + 0x1380012c: 224, // en-TT + 0x1380012d: 225, // en-TV + 0x1380012f: 226, // en-TZ + 0x13800131: 227, // en-UG + 0x13800133: 228, // en-UM + 0x13800135: 229, // en-US + 0x13800139: 230, // en-VC + 0x1380013c: 231, // en-VG + 0x1380013d: 232, // en-VI + 0x1380013f: 233, // en-VU + 0x13800142: 234, // en-WS + 0x13800161: 235, // en-ZA + 0x13800162: 236, // en-ZM + 0x13800164: 237, // en-ZW + 0x13b00000: 238, // eo + 0x13b00001: 239, // eo-001 + 0x13d00000: 240, // es + 0x13d0001f: 241, // es-419 + 0x13d0002c: 242, // es-AR + 0x13d0003f: 243, // es-BO + 0x13d00041: 244, // es-BR + 0x13d00048: 245, // es-BZ + 0x13d00051: 246, // es-CL + 0x13d00054: 247, // es-CO + 0x13d00056: 248, // es-CR + 0x13d00059: 249, // es-CU + 0x13d00065: 250, // es-DO + 0x13d00068: 251, // es-EA + 0x13d00069: 252, // es-EC + 0x13d0006e: 253, // es-ES + 0x13d00086: 254, // es-GQ + 0x13d00089: 255, // es-GT + 0x13d0008f: 256, // es-HN + 0x13d00094: 257, // es-IC + 0x13d000cf: 258, // es-MX + 0x13d000d8: 259, // es-NI + 0x13d000e2: 260, // es-PA + 0x13d000e4: 261, // es-PE + 0x13d000e7: 262, // es-PH + 0x13d000ec: 263, // es-PR + 0x13d000f1: 264, // es-PY + 0x13d0011a: 265, // es-SV + 0x13d00135: 266, // es-US + 0x13d00136: 267, // es-UY + 0x13d0013b: 268, // es-VE + 0x13f00000: 269, // et + 0x13f0006a: 270, // et-EE + 0x14400000: 271, // eu + 0x1440006e: 272, // eu-ES + 0x14500000: 273, // ewo + 0x14500052: 274, // ewo-CM + 0x14700000: 275, // fa + 0x14700024: 276, // fa-AF + 0x1470009c: 277, // fa-IR + 0x14d00000: 278, // ff + 0x14d00052: 279, // ff-CM + 0x14d00084: 280, // ff-GN + 0x14d000c9: 281, // ff-MR + 0x14d00114: 282, // ff-SN + 0x15000000: 283, // fi + 0x15000072: 284, // fi-FI + 0x15200000: 285, // fil + 0x152000e7: 286, // fil-PH + 0x15700000: 287, // fo + 0x15700063: 288, // fo-DK + 0x15700076: 289, // fo-FO + 0x15d00000: 290, // fr + 0x15d00036: 291, // fr-BE + 0x15d00037: 292, // fr-BF + 0x15d0003a: 293, // fr-BI + 0x15d0003b: 294, // fr-BJ + 0x15d0003c: 295, // fr-BL + 0x15d00049: 296, // fr-CA + 0x15d0004b: 297, // fr-CD + 0x15d0004c: 298, // fr-CF + 0x15d0004d: 299, // fr-CG + 0x15d0004e: 300, // fr-CH + 0x15d0004f: 301, // fr-CI + 0x15d00052: 302, // fr-CM + 0x15d00062: 303, // fr-DJ + 0x15d00067: 304, // fr-DZ + 0x15d00078: 305, // fr-FR + 0x15d0007a: 306, // fr-GA + 0x15d0007e: 307, // fr-GF + 0x15d00084: 308, // fr-GN + 0x15d00085: 309, // fr-GP + 0x15d00086: 310, // fr-GQ + 0x15d00091: 311, // fr-HT + 0x15d000a8: 312, // fr-KM + 0x15d000b7: 313, // fr-LU + 0x15d000ba: 314, // fr-MA + 0x15d000bb: 315, // fr-MC + 0x15d000be: 316, // fr-MF + 0x15d000bf: 317, // fr-MG + 0x15d000c3: 318, // fr-ML + 0x15d000c8: 319, // fr-MQ + 0x15d000c9: 320, // fr-MR + 0x15d000cc: 321, // fr-MU + 0x15d000d3: 322, // fr-NC + 0x15d000d4: 323, // fr-NE + 0x15d000e5: 324, // fr-PF + 0x15d000ea: 325, // fr-PM + 0x15d00102: 326, // fr-RE + 0x15d00107: 327, // fr-RW + 0x15d0010a: 328, // fr-SC + 0x15d00114: 329, // fr-SN + 0x15d0011c: 330, // fr-SY + 0x15d00120: 331, // fr-TD + 0x15d00122: 332, // fr-TG + 0x15d00128: 333, // fr-TN + 0x15d0013f: 334, // fr-VU + 0x15d00140: 335, // fr-WF + 0x15d0015f: 336, // fr-YT + 0x16800000: 337, // fur + 0x1680009e: 338, // fur-IT + 0x16c00000: 339, // fy + 0x16c000d9: 340, // fy-NL + 0x16d00000: 341, // ga + 0x16d00096: 342, // ga-IE + 0x17c00000: 343, // gd + 0x17c0007b: 344, // gd-GB + 0x18e00000: 345, // gl + 0x18e0006e: 346, // gl-ES + 0x1a100000: 347, // gsw + 0x1a10004e: 348, // gsw-CH + 0x1a100078: 349, // gsw-FR + 0x1a1000b2: 350, // gsw-LI + 0x1a200000: 351, // gu + 0x1a200099: 352, // gu-IN + 0x1a700000: 353, // guw + 0x1a900000: 354, // guz + 0x1a9000a4: 355, // guz-KE + 0x1aa00000: 356, // gv + 0x1aa00098: 357, // gv-IM + 0x1b200000: 358, // ha + 0x1b200080: 359, // ha-GH + 0x1b2000d4: 360, // ha-NE + 0x1b2000d6: 361, // ha-NG + 0x1b600000: 362, // haw + 0x1b600135: 363, // haw-US + 0x1ba00000: 364, // he + 0x1ba00097: 365, // he-IL + 0x1bc00000: 366, // hi + 0x1bc00099: 367, // hi-IN + 0x1cf00000: 368, // hr + 0x1cf00033: 369, // hr-BA + 0x1cf00090: 370, // hr-HR + 0x1d000000: 371, // hsb + 0x1d000060: 372, // hsb-DE + 0x1d300000: 373, // hu + 0x1d300092: 374, // hu-HU + 0x1d500000: 375, // hy + 0x1d500028: 376, // hy-AM + 0x1df00000: 377, // id + 0x1df00095: 378, // id-ID + 0x1e500000: 379, // ig + 0x1e5000d6: 380, // ig-NG + 0x1e800000: 381, // ii + 0x1e800053: 382, // ii-CN + 0x1f600000: 383, // is + 0x1f60009d: 384, // is-IS + 0x1f700000: 385, // it + 0x1f70004e: 386, // it-CH + 0x1f70009e: 387, // it-IT + 0x1f700113: 388, // it-SM + 0x1f700138: 389, // it-VA + 0x1f800000: 390, // iu + 0x1fe00000: 391, // ja + 0x1fe000a2: 392, // ja-JP + 0x20100000: 393, // jbo + 0x20500000: 394, // jgo + 0x20500052: 395, // jgo-CM + 0x20800000: 396, // jmc + 0x2080012f: 397, // jmc-TZ + 0x20c00000: 398, // jv + 0x20e00000: 399, // ka + 0x20e0007d: 400, // ka-GE + 0x21000000: 401, // kab + 0x21000067: 402, // kab-DZ + 0x21400000: 403, // kaj + 0x21500000: 404, // kam + 0x215000a4: 405, // kam-KE + 0x21d00000: 406, // kcg + 0x22100000: 407, // kde + 0x2210012f: 408, // kde-TZ + 0x22500000: 409, // kea + 0x2250005a: 410, // kea-CV + 0x23200000: 411, // khq + 0x232000c3: 412, // khq-ML + 0x23700000: 413, // ki + 0x237000a4: 414, // ki-KE + 0x24000000: 415, // kk + 0x240000ae: 416, // kk-KZ + 0x24200000: 417, // kkj + 0x24200052: 418, // kkj-CM + 0x24300000: 419, // kl + 0x24300082: 420, // kl-GL + 0x24400000: 421, // kln + 0x244000a4: 422, // kln-KE + 0x24800000: 423, // km + 0x248000a6: 424, // km-KH + 0x24f00000: 425, // kn + 0x24f00099: 426, // kn-IN + 0x25200000: 427, // ko + 0x252000aa: 428, // ko-KP + 0x252000ab: 429, // ko-KR + 0x25400000: 430, // kok + 0x25400099: 431, // kok-IN + 0x26800000: 432, // ks + 0x26800099: 433, // ks-IN + 0x26900000: 434, // ksb + 0x2690012f: 435, // ksb-TZ + 0x26b00000: 436, // ksf + 0x26b00052: 437, // ksf-CM + 0x26c00000: 438, // ksh + 0x26c00060: 439, // ksh-DE + 0x27200000: 440, // ku + 0x27f00000: 441, // kw + 0x27f0007b: 442, // kw-GB + 0x28800000: 443, // ky + 0x288000a5: 444, // ky-KG + 0x28f00000: 445, // lag + 0x28f0012f: 446, // lag-TZ + 0x29300000: 447, // lb + 0x293000b7: 448, // lb-LU + 0x2a100000: 449, // lg + 0x2a100131: 450, // lg-UG + 0x2ad00000: 451, // lkt + 0x2ad00135: 452, // lkt-US + 0x2b300000: 453, // ln + 0x2b30002a: 454, // ln-AO + 0x2b30004b: 455, // ln-CD + 0x2b30004c: 456, // ln-CF + 0x2b30004d: 457, // ln-CG + 0x2b600000: 458, // lo + 0x2b6000af: 459, // lo-LA + 0x2bd00000: 460, // lrc + 0x2bd0009b: 461, // lrc-IQ + 0x2bd0009c: 462, // lrc-IR + 0x2be00000: 463, // lt + 0x2be000b6: 464, // lt-LT + 0x2c000000: 465, // lu + 0x2c00004b: 466, // lu-CD + 0x2c200000: 467, // luo + 0x2c2000a4: 468, // luo-KE + 0x2c300000: 469, // luy + 0x2c3000a4: 470, // luy-KE + 0x2c500000: 471, // lv + 0x2c5000b8: 472, // lv-LV + 0x2cf00000: 473, // mas + 0x2cf000a4: 474, // mas-KE + 0x2cf0012f: 475, // mas-TZ + 0x2e700000: 476, // mer + 0x2e7000a4: 477, // mer-KE + 0x2eb00000: 478, // mfe + 0x2eb000cc: 479, // mfe-MU + 0x2ef00000: 480, // mg + 0x2ef000bf: 481, // mg-MG + 0x2f000000: 482, // mgh + 0x2f0000d1: 483, // mgh-MZ + 0x2f200000: 484, // mgo + 0x2f200052: 485, // mgo-CM + 0x2fd00000: 486, // mk + 0x2fd000c2: 487, // mk-MK + 0x30200000: 488, // ml + 0x30200099: 489, // ml-IN + 0x30900000: 490, // mn + 0x309000c5: 491, // mn-MN + 0x31900000: 492, // mr + 0x31900099: 493, // mr-IN + 0x31d00000: 494, // ms + 0x31d0003e: 495, // ms-BN + 0x31d000d0: 496, // ms-MY + 0x31d0010d: 497, // ms-SG + 0x31e00000: 498, // mt + 0x31e000cb: 499, // mt-MT + 0x32300000: 500, // mua + 0x32300052: 501, // mua-CM + 0x32f00000: 502, // my + 0x32f000c4: 503, // my-MM + 0x33800000: 504, // mzn + 0x3380009c: 505, // mzn-IR + 0x33f00000: 506, // nah + 0x34300000: 507, // naq + 0x343000d2: 508, // naq-NA + 0x34500000: 509, // nb + 0x345000da: 510, // nb-NO + 0x34500110: 511, // nb-SJ + 0x34c00000: 512, // nd + 0x34c00164: 513, // nd-ZW + 0x34e00000: 514, // nds + 0x34e00060: 515, // nds-DE + 0x34e000d9: 516, // nds-NL + 0x34f00000: 517, // ne + 0x34f00099: 518, // ne-IN + 0x34f000db: 519, // ne-NP + 0x36500000: 520, // nl + 0x36500030: 521, // nl-AW + 0x36500036: 522, // nl-BE + 0x36500040: 523, // nl-BQ + 0x3650005b: 524, // nl-CW + 0x365000d9: 525, // nl-NL + 0x36500116: 526, // nl-SR + 0x3650011b: 527, // nl-SX + 0x36600000: 528, // nmg + 0x36600052: 529, // nmg-CM + 0x36800000: 530, // nn + 0x368000da: 531, // nn-NO + 0x36a00000: 532, // nnh + 0x36a00052: 533, // nnh-CM + 0x36d00000: 534, // no + 0x37300000: 535, // nqo + 0x37400000: 536, // nr + 0x37800000: 537, // nso + 0x37e00000: 538, // nus + 0x37e00117: 539, // nus-SS + 0x38500000: 540, // ny + 0x38700000: 541, // nyn + 0x38700131: 542, // nyn-UG + 0x38e00000: 543, // om + 0x38e0006f: 544, // om-ET + 0x38e000a4: 545, // om-KE + 0x39300000: 546, // or + 0x39300099: 547, // or-IN + 0x39600000: 548, // os + 0x3960007d: 549, // os-GE + 0x39600106: 550, // os-RU + 0x39b00000: 551, // pa + 0x39b05000: 552, // pa-Arab + 0x39b050e8: 553, // pa-Arab-PK + 0x39b32000: 554, // pa-Guru + 0x39b32099: 555, // pa-Guru-IN + 0x39f00000: 556, // pap + 0x3b100000: 557, // pl + 0x3b1000e9: 558, // pl-PL + 0x3bb00000: 559, // prg + 0x3bb00001: 560, // prg-001 + 0x3bc00000: 561, // ps + 0x3bc00024: 562, // ps-AF + 0x3be00000: 563, // pt + 0x3be0002a: 564, // pt-AO + 0x3be00041: 565, // pt-BR + 0x3be0004e: 566, // pt-CH + 0x3be0005a: 567, // pt-CV + 0x3be00086: 568, // pt-GQ + 0x3be0008b: 569, // pt-GW + 0x3be000b7: 570, // pt-LU + 0x3be000c6: 571, // pt-MO + 0x3be000d1: 572, // pt-MZ + 0x3be000ee: 573, // pt-PT + 0x3be00118: 574, // pt-ST + 0x3be00126: 575, // pt-TL + 0x3c200000: 576, // qu + 0x3c20003f: 577, // qu-BO + 0x3c200069: 578, // qu-EC + 0x3c2000e4: 579, // qu-PE + 0x3d200000: 580, // rm + 0x3d20004e: 581, // rm-CH + 0x3d700000: 582, // rn + 0x3d70003a: 583, // rn-BI + 0x3da00000: 584, // ro + 0x3da000bc: 585, // ro-MD + 0x3da00104: 586, // ro-RO + 0x3dc00000: 587, // rof + 0x3dc0012f: 588, // rof-TZ + 0x3e000000: 589, // ru + 0x3e000047: 590, // ru-BY + 0x3e0000a5: 591, // ru-KG + 0x3e0000ae: 592, // ru-KZ + 0x3e0000bc: 593, // ru-MD + 0x3e000106: 594, // ru-RU + 0x3e000130: 595, // ru-UA + 0x3e300000: 596, // rw + 0x3e300107: 597, // rw-RW + 0x3e400000: 598, // rwk + 0x3e40012f: 599, // rwk-TZ + 0x3e900000: 600, // sah + 0x3e900106: 601, // sah-RU + 0x3ea00000: 602, // saq + 0x3ea000a4: 603, // saq-KE + 0x3f100000: 604, // sbp + 0x3f10012f: 605, // sbp-TZ + 0x3fa00000: 606, // sdh + 0x3fb00000: 607, // se + 0x3fb00072: 608, // se-FI + 0x3fb000da: 609, // se-NO + 0x3fb0010c: 610, // se-SE + 0x3fd00000: 611, // seh + 0x3fd000d1: 612, // seh-MZ + 0x3ff00000: 613, // ses + 0x3ff000c3: 614, // ses-ML + 0x40000000: 615, // sg + 0x4000004c: 616, // sg-CF + 0x40600000: 617, // shi + 0x40655000: 618, // shi-Latn + 0x406550ba: 619, // shi-Latn-MA + 0x406d8000: 620, // shi-Tfng + 0x406d80ba: 621, // shi-Tfng-MA + 0x40a00000: 622, // si + 0x40a000b3: 623, // si-LK + 0x41000000: 624, // sk + 0x41000111: 625, // sk-SK + 0x41400000: 626, // sl + 0x4140010f: 627, // sl-SI + 0x41a00000: 628, // sma + 0x41b00000: 629, // smi + 0x41c00000: 630, // smj + 0x41d00000: 631, // smn + 0x41d00072: 632, // smn-FI + 0x42000000: 633, // sms + 0x42100000: 634, // sn + 0x42100164: 635, // sn-ZW + 0x42700000: 636, // so + 0x42700062: 637, // so-DJ + 0x4270006f: 638, // so-ET + 0x427000a4: 639, // so-KE + 0x42700115: 640, // so-SO + 0x42f00000: 641, // sq + 0x42f00027: 642, // sq-AL + 0x42f000c2: 643, // sq-MK + 0x42f0014d: 644, // sq-XK + 0x43000000: 645, // sr + 0x4301e000: 646, // sr-Cyrl + 0x4301e033: 647, // sr-Cyrl-BA + 0x4301e0bd: 648, // sr-Cyrl-ME + 0x4301e105: 649, // sr-Cyrl-RS + 0x4301e14d: 650, // sr-Cyrl-XK + 0x43055000: 651, // sr-Latn + 0x43055033: 652, // sr-Latn-BA + 0x430550bd: 653, // sr-Latn-ME + 0x43055105: 654, // sr-Latn-RS + 0x4305514d: 655, // sr-Latn-XK + 0x43500000: 656, // ss + 0x43800000: 657, // ssy + 0x43900000: 658, // st + 0x44200000: 659, // sv + 0x44200031: 660, // sv-AX + 0x44200072: 661, // sv-FI + 0x4420010c: 662, // sv-SE + 0x44300000: 663, // sw + 0x4430004b: 664, // sw-CD + 0x443000a4: 665, // sw-KE + 0x4430012f: 666, // sw-TZ + 0x44300131: 667, // sw-UG + 0x44c00000: 668, // syr + 0x44e00000: 669, // ta + 0x44e00099: 670, // ta-IN + 0x44e000b3: 671, // ta-LK + 0x44e000d0: 672, // ta-MY + 0x44e0010d: 673, // ta-SG + 0x45f00000: 674, // te + 0x45f00099: 675, // te-IN + 0x46200000: 676, // teo + 0x462000a4: 677, // teo-KE + 0x46200131: 678, // teo-UG + 0x46900000: 679, // th + 0x46900123: 680, // th-TH + 0x46d00000: 681, // ti + 0x46d0006d: 682, // ti-ER + 0x46d0006f: 683, // ti-ET + 0x46f00000: 684, // tig + 0x47400000: 685, // tk + 0x47400127: 686, // tk-TM + 0x47e00000: 687, // tn + 0x48000000: 688, // to + 0x48000129: 689, // to-TO + 0x48800000: 690, // tr + 0x4880005d: 691, // tr-CY + 0x4880012b: 692, // tr-TR + 0x48c00000: 693, // ts + 0x4a200000: 694, // twq + 0x4a2000d4: 695, // twq-NE + 0x4a700000: 696, // tzm + 0x4a7000ba: 697, // tzm-MA + 0x4aa00000: 698, // ug + 0x4aa00053: 699, // ug-CN + 0x4ac00000: 700, // uk + 0x4ac00130: 701, // uk-UA + 0x4b200000: 702, // ur + 0x4b200099: 703, // ur-IN + 0x4b2000e8: 704, // ur-PK + 0x4ba00000: 705, // uz + 0x4ba05000: 706, // uz-Arab + 0x4ba05024: 707, // uz-Arab-AF + 0x4ba1e000: 708, // uz-Cyrl + 0x4ba1e137: 709, // uz-Cyrl-UZ + 0x4ba55000: 710, // uz-Latn + 0x4ba55137: 711, // uz-Latn-UZ + 0x4bc00000: 712, // vai + 0x4bc55000: 713, // vai-Latn + 0x4bc550b4: 714, // vai-Latn-LR + 0x4bcdf000: 715, // vai-Vaii + 0x4bcdf0b4: 716, // vai-Vaii-LR + 0x4be00000: 717, // ve + 0x4c100000: 718, // vi + 0x4c10013e: 719, // vi-VN + 0x4c700000: 720, // vo + 0x4c700001: 721, // vo-001 + 0x4ca00000: 722, // vun + 0x4ca0012f: 723, // vun-TZ + 0x4cc00000: 724, // wa + 0x4cd00000: 725, // wae + 0x4cd0004e: 726, // wae-CH + 0x4e300000: 727, // wo + 0x4f000000: 728, // xh + 0x4f900000: 729, // xog + 0x4f900131: 730, // xog-UG + 0x50700000: 731, // yav + 0x50700052: 732, // yav-CM + 0x51000000: 733, // yi + 0x51000001: 734, // yi-001 + 0x51600000: 735, // yo + 0x5160003b: 736, // yo-BJ + 0x516000d6: 737, // yo-NG + 0x51d00000: 738, // yue + 0x51d0008d: 739, // yue-HK + 0x52600000: 740, // zgh + 0x526000ba: 741, // zgh-MA + 0x52700000: 742, // zh + 0x52737000: 743, // zh-Hans + 0x52737053: 744, // zh-Hans-CN + 0x5273708d: 745, // zh-Hans-HK + 0x527370c6: 746, // zh-Hans-MO + 0x5273710d: 747, // zh-Hans-SG + 0x52738000: 748, // zh-Hant + 0x5273808d: 749, // zh-Hant-HK + 0x527380c6: 750, // zh-Hant-MO + 0x5273812e: 751, // zh-Hant-TW + 0x52c00000: 752, // zu + 0x52c00161: 753, // zu-ZA +} + +// Total table size 4592 bytes (4KiB); checksum: C25F8AFF diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go new file mode 100644 index 000000000000..ed1011f18671 --- /dev/null +++ b/vendor/golang.org/x/text/language/language.go @@ -0,0 +1,887 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run gen.go gen_common.go -output tables.go +//go:generate go run gen_index.go + +package language + +// TODO: Remove above NOTE after: +// - verifying that tables are dropped correctly (most notably matcher tables). + +import ( + "errors" + "fmt" + "strings" +) + +const ( + // maxCoreSize is the maximum size of a BCP 47 tag without variants and + // extensions. Equals max lang (3) + script (4) + max reg (3) + 2 dashes. + maxCoreSize = 12 + + // max99thPercentileSize is a somewhat arbitrary buffer size that presumably + // is large enough to hold at least 99% of the BCP 47 tags. + max99thPercentileSize = 32 + + // maxSimpleUExtensionSize is the maximum size of a -u extension with one + // key-type pair. Equals len("-u-") + key (2) + dash + max value (8). + maxSimpleUExtensionSize = 14 +) + +// Tag represents a BCP 47 language tag. It is used to specify an instance of a +// specific language or locale. All language tag values are guaranteed to be +// well-formed. +type Tag struct { + lang langID + region regionID + // TODO: we will soon run out of positions for script. Idea: instead of + // storing lang, region, and script codes, store only the compact index and + // have a lookup table from this code to its expansion. This greatly speeds + // up table lookup, speed up common variant cases. + // This will also immediately free up 3 extra bytes. Also, the pVariant + // field can now be moved to the lookup table, as the compact index uniquely + // determines the offset of a possible variant. + script scriptID + pVariant byte // offset in str, includes preceding '-' + pExt uint16 // offset of first extension, includes preceding '-' + + // str is the string representation of the Tag. It will only be used if the + // tag has variants or extensions. + str string +} + +// Make is a convenience wrapper for Parse that omits the error. +// In case of an error, a sensible default is returned. +func Make(s string) Tag { + return Default.Make(s) +} + +// Make is a convenience wrapper for c.Parse that omits the error. +// In case of an error, a sensible default is returned. +func (c CanonType) Make(s string) Tag { + t, _ := c.Parse(s) + return t +} + +// Raw returns the raw base language, script and region, without making an +// attempt to infer their values. +func (t Tag) Raw() (b Base, s Script, r Region) { + return Base{t.lang}, Script{t.script}, Region{t.region} +} + +// equalTags compares language, script and region subtags only. +func (t Tag) equalTags(a Tag) bool { + return t.lang == a.lang && t.script == a.script && t.region == a.region +} + +// IsRoot returns true if t is equal to language "und". +func (t Tag) IsRoot() bool { + if int(t.pVariant) < len(t.str) { + return false + } + return t.equalTags(und) +} + +// private reports whether the Tag consists solely of a private use tag. +func (t Tag) private() bool { + return t.str != "" && t.pVariant == 0 +} + +// CanonType can be used to enable or disable various types of canonicalization. +type CanonType int + +const ( + // Replace deprecated base languages with their preferred replacements. + DeprecatedBase CanonType = 1 << iota + // Replace deprecated scripts with their preferred replacements. + DeprecatedScript + // Replace deprecated regions with their preferred replacements. + DeprecatedRegion + // Remove redundant scripts. + SuppressScript + // Normalize legacy encodings. This includes legacy languages defined in + // CLDR as well as bibliographic codes defined in ISO-639. + Legacy + // Map the dominant language of a macro language group to the macro language + // subtag. For example cmn -> zh. + Macro + // The CLDR flag should be used if full compatibility with CLDR is required. + // There are a few cases where language.Tag may differ from CLDR. To follow all + // of CLDR's suggestions, use All|CLDR. + CLDR + + // Raw can be used to Compose or Parse without Canonicalization. + Raw CanonType = 0 + + // Replace all deprecated tags with their preferred replacements. + Deprecated = DeprecatedBase | DeprecatedScript | DeprecatedRegion + + // All canonicalizations recommended by BCP 47. + BCP47 = Deprecated | SuppressScript + + // All canonicalizations. + All = BCP47 | Legacy | Macro + + // Default is the canonicalization used by Parse, Make and Compose. To + // preserve as much information as possible, canonicalizations that remove + // potentially valuable information are not included. The Matcher is + // designed to recognize similar tags that would be the same if + // they were canonicalized using All. + Default = Deprecated | Legacy + + canonLang = DeprecatedBase | Legacy | Macro + + // TODO: LikelyScript, LikelyRegion: suppress similar to ICU. +) + +// canonicalize returns the canonicalized equivalent of the tag and +// whether there was any change. +func (t Tag) canonicalize(c CanonType) (Tag, bool) { + if c == Raw { + return t, false + } + changed := false + if c&SuppressScript != 0 { + if t.lang < langNoIndexOffset && uint8(t.script) == suppressScript[t.lang] { + t.script = 0 + changed = true + } + } + if c&canonLang != 0 { + for { + if l, aliasType := normLang(t.lang); l != t.lang { + switch aliasType { + case langLegacy: + if c&Legacy != 0 { + if t.lang == _sh && t.script == 0 { + t.script = _Latn + } + t.lang = l + changed = true + } + case langMacro: + if c&Macro != 0 { + // We deviate here from CLDR. The mapping "nb" -> "no" + // qualifies as a typical Macro language mapping. However, + // for legacy reasons, CLDR maps "no", the macro language + // code for Norwegian, to the dominant variant "nb". This + // change is currently under consideration for CLDR as well. + // See http://unicode.org/cldr/trac/ticket/2698 and also + // http://unicode.org/cldr/trac/ticket/1790 for some of the + // practical implications. TODO: this check could be removed + // if CLDR adopts this change. + if c&CLDR == 0 || t.lang != _nb { + changed = true + t.lang = l + } + } + case langDeprecated: + if c&DeprecatedBase != 0 { + if t.lang == _mo && t.region == 0 { + t.region = _MD + } + t.lang = l + changed = true + // Other canonicalization types may still apply. + continue + } + } + } else if c&Legacy != 0 && t.lang == _no && c&CLDR != 0 { + t.lang = _nb + changed = true + } + break + } + } + if c&DeprecatedScript != 0 { + if t.script == _Qaai { + changed = true + t.script = _Zinh + } + } + if c&DeprecatedRegion != 0 { + if r := normRegion(t.region); r != 0 { + changed = true + t.region = r + } + } + return t, changed +} + +// Canonicalize returns the canonicalized equivalent of the tag. +func (c CanonType) Canonicalize(t Tag) (Tag, error) { + t, changed := t.canonicalize(c) + if changed { + t.remakeString() + } + return t, nil +} + +// Confidence indicates the level of certainty for a given return value. +// For example, Serbian may be written in Cyrillic or Latin script. +// The confidence level indicates whether a value was explicitly specified, +// whether it is typically the only possible value, or whether there is +// an ambiguity. +type Confidence int + +const ( + No Confidence = iota // full confidence that there was no match + Low // most likely value picked out of a set of alternatives + High // value is generally assumed to be the correct match + Exact // exact match or explicitly specified value +) + +var confName = []string{"No", "Low", "High", "Exact"} + +func (c Confidence) String() string { + return confName[c] +} + +// remakeString is used to update t.str in case lang, script or region changed. +// It is assumed that pExt and pVariant still point to the start of the +// respective parts. +func (t *Tag) remakeString() { + if t.str == "" { + return + } + extra := t.str[t.pVariant:] + if t.pVariant > 0 { + extra = extra[1:] + } + if t.equalTags(und) && strings.HasPrefix(extra, "x-") { + t.str = extra + t.pVariant = 0 + t.pExt = 0 + return + } + var buf [max99thPercentileSize]byte // avoid extra memory allocation in most cases. + b := buf[:t.genCoreBytes(buf[:])] + if extra != "" { + diff := len(b) - int(t.pVariant) + b = append(b, '-') + b = append(b, extra...) + t.pVariant = uint8(int(t.pVariant) + diff) + t.pExt = uint16(int(t.pExt) + diff) + } else { + t.pVariant = uint8(len(b)) + t.pExt = uint16(len(b)) + } + t.str = string(b) +} + +// genCoreBytes writes a string for the base languages, script and region tags +// to the given buffer and returns the number of bytes written. It will never +// write more than maxCoreSize bytes. +func (t *Tag) genCoreBytes(buf []byte) int { + n := t.lang.stringToBuf(buf[:]) + if t.script != 0 { + n += copy(buf[n:], "-") + n += copy(buf[n:], t.script.String()) + } + if t.region != 0 { + n += copy(buf[n:], "-") + n += copy(buf[n:], t.region.String()) + } + return n +} + +// String returns the canonical string representation of the language tag. +func (t Tag) String() string { + if t.str != "" { + return t.str + } + if t.script == 0 && t.region == 0 { + return t.lang.String() + } + buf := [maxCoreSize]byte{} + return string(buf[:t.genCoreBytes(buf[:])]) +} + +// Base returns the base language of the language tag. If the base language is +// unspecified, an attempt will be made to infer it from the context. +// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. +func (t Tag) Base() (Base, Confidence) { + if t.lang != 0 { + return Base{t.lang}, Exact + } + c := High + if t.script == 0 && !(Region{t.region}).IsCountry() { + c = Low + } + if tag, err := addTags(t); err == nil && tag.lang != 0 { + return Base{tag.lang}, c + } + return Base{0}, No +} + +// Script infers the script for the language tag. If it was not explicitly given, it will infer +// a most likely candidate. +// If more than one script is commonly used for a language, the most likely one +// is returned with a low confidence indication. For example, it returns (Cyrl, Low) +// for Serbian. +// If a script cannot be inferred (Zzzz, No) is returned. We do not use Zyyy (undetermined) +// as one would suspect from the IANA registry for BCP 47. In a Unicode context Zyyy marks +// common characters (like 1, 2, 3, '.', etc.) and is therefore more like multiple scripts. +// See http://www.unicode.org/reports/tr24/#Values for more details. Zzzz is also used for +// unknown value in CLDR. (Zzzz, Exact) is returned if Zzzz was explicitly specified. +// Note that an inferred script is never guaranteed to be the correct one. Latin is +// almost exclusively used for Afrikaans, but Arabic has been used for some texts +// in the past. Also, the script that is commonly used may change over time. +// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. +func (t Tag) Script() (Script, Confidence) { + if t.script != 0 { + return Script{t.script}, Exact + } + sc, c := scriptID(_Zzzz), No + if t.lang < langNoIndexOffset { + if scr := scriptID(suppressScript[t.lang]); scr != 0 { + // Note: it is not always the case that a language with a suppress + // script value is only written in one script (e.g. kk, ms, pa). + if t.region == 0 { + return Script{scriptID(scr)}, High + } + sc, c = scr, High + } + } + if tag, err := addTags(t); err == nil { + if tag.script != sc { + sc, c = tag.script, Low + } + } else { + t, _ = (Deprecated | Macro).Canonicalize(t) + if tag, err := addTags(t); err == nil && tag.script != sc { + sc, c = tag.script, Low + } + } + return Script{sc}, c +} + +// Region returns the region for the language tag. If it was not explicitly given, it will +// infer a most likely candidate from the context. +// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change. +func (t Tag) Region() (Region, Confidence) { + if t.region != 0 { + return Region{t.region}, Exact + } + if t, err := addTags(t); err == nil { + return Region{t.region}, Low // TODO: differentiate between high and low. + } + t, _ = (Deprecated | Macro).Canonicalize(t) + if tag, err := addTags(t); err == nil { + return Region{tag.region}, Low + } + return Region{_ZZ}, No // TODO: return world instead of undetermined? +} + +// Variant returns the variants specified explicitly for this language tag. +// or nil if no variant was specified. +func (t Tag) Variants() []Variant { + v := []Variant{} + if int(t.pVariant) < int(t.pExt) { + for x, str := "", t.str[t.pVariant:t.pExt]; str != ""; { + x, str = nextToken(str) + v = append(v, Variant{x}) + } + } + return v +} + +// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a +// specific language are substituted with fields from the parent language. +// The parent for a language may change for newer versions of CLDR. +func (t Tag) Parent() Tag { + if t.str != "" { + // Strip the variants and extensions. + t, _ = Raw.Compose(t.Raw()) + if t.region == 0 && t.script != 0 && t.lang != 0 { + base, _ := addTags(Tag{lang: t.lang}) + if base.script == t.script { + return Tag{lang: t.lang} + } + } + return t + } + if t.lang != 0 { + if t.region != 0 { + maxScript := t.script + if maxScript == 0 { + max, _ := addTags(t) + maxScript = max.script + } + + for i := range parents { + if langID(parents[i].lang) == t.lang && scriptID(parents[i].maxScript) == maxScript { + for _, r := range parents[i].fromRegion { + if regionID(r) == t.region { + return Tag{ + lang: t.lang, + script: scriptID(parents[i].script), + region: regionID(parents[i].toRegion), + } + } + } + } + } + + // Strip the script if it is the default one. + base, _ := addTags(Tag{lang: t.lang}) + if base.script != maxScript { + return Tag{lang: t.lang, script: maxScript} + } + return Tag{lang: t.lang} + } else if t.script != 0 { + // The parent for an base-script pair with a non-default script is + // "und" instead of the base language. + base, _ := addTags(Tag{lang: t.lang}) + if base.script != t.script { + return und + } + return Tag{lang: t.lang} + } + } + return und +} + +// returns token t and the rest of the string. +func nextToken(s string) (t, tail string) { + p := strings.Index(s[1:], "-") + if p == -1 { + return s[1:], "" + } + p++ + return s[1:p], s[p:] +} + +// Extension is a single BCP 47 extension. +type Extension struct { + s string +} + +// String returns the string representation of the extension, including the +// type tag. +func (e Extension) String() string { + return e.s +} + +// ParseExtension parses s as an extension and returns it on success. +func ParseExtension(s string) (e Extension, err error) { + scan := makeScannerString(s) + var end int + if n := len(scan.token); n != 1 { + return Extension{}, errSyntax + } + scan.toLower(0, len(scan.b)) + end = parseExtension(&scan) + if end != len(s) { + return Extension{}, errSyntax + } + return Extension{string(scan.b)}, nil +} + +// Type returns the one-byte extension type of e. It returns 0 for the zero +// exception. +func (e Extension) Type() byte { + if e.s == "" { + return 0 + } + return e.s[0] +} + +// Tokens returns the list of tokens of e. +func (e Extension) Tokens() []string { + return strings.Split(e.s, "-") +} + +// Extension returns the extension of type x for tag t. It will return +// false for ok if t does not have the requested extension. The returned +// extension will be invalid in this case. +func (t Tag) Extension(x byte) (ext Extension, ok bool) { + for i := int(t.pExt); i < len(t.str)-1; { + var ext string + i, ext = getExtension(t.str, i) + if ext[0] == x { + return Extension{ext}, true + } + } + return Extension{}, false +} + +// Extensions returns all extensions of t. +func (t Tag) Extensions() []Extension { + e := []Extension{} + for i := int(t.pExt); i < len(t.str)-1; { + var ext string + i, ext = getExtension(t.str, i) + e = append(e, Extension{ext}) + } + return e +} + +// TypeForKey returns the type associated with the given key, where key and type +// are of the allowed values defined for the Unicode locale extension ('u') in +// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// TypeForKey will traverse the inheritance chain to get the correct value. +func (t Tag) TypeForKey(key string) string { + if start, end, _ := t.findTypeForKey(key); end != start { + return t.str[start:end] + } + return "" +} + +var ( + errPrivateUse = errors.New("cannot set a key on a private use tag") + errInvalidArguments = errors.New("invalid key or type") +) + +// SetTypeForKey returns a new Tag with the key set to type, where key and type +// are of the allowed values defined for the Unicode locale extension ('u') in +// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// An empty value removes an existing pair with the same key. +func (t Tag) SetTypeForKey(key, value string) (Tag, error) { + if t.private() { + return t, errPrivateUse + } + if len(key) != 2 { + return t, errInvalidArguments + } + + // Remove the setting if value is "". + if value == "" { + start, end, _ := t.findTypeForKey(key) + if start != end { + // Remove key tag and leading '-'. + start -= 4 + + // Remove a possible empty extension. + if (end == len(t.str) || t.str[end+2] == '-') && t.str[start-2] == '-' { + start -= 2 + } + if start == int(t.pVariant) && end == len(t.str) { + t.str = "" + t.pVariant, t.pExt = 0, 0 + } else { + t.str = fmt.Sprintf("%s%s", t.str[:start], t.str[end:]) + } + } + return t, nil + } + + if len(value) < 3 || len(value) > 8 { + return t, errInvalidArguments + } + + var ( + buf [maxCoreSize + maxSimpleUExtensionSize]byte + uStart int // start of the -u extension. + ) + + // Generate the tag string if needed. + if t.str == "" { + uStart = t.genCoreBytes(buf[:]) + buf[uStart] = '-' + uStart++ + } + + // Create new key-type pair and parse it to verify. + b := buf[uStart:] + copy(b, "u-") + copy(b[2:], key) + b[4] = '-' + b = b[:5+copy(b[5:], value)] + scan := makeScanner(b) + if parseExtensions(&scan); scan.err != nil { + return t, scan.err + } + + // Assemble the replacement string. + if t.str == "" { + t.pVariant, t.pExt = byte(uStart-1), uint16(uStart-1) + t.str = string(buf[:uStart+len(b)]) + } else { + s := t.str + start, end, hasExt := t.findTypeForKey(key) + if start == end { + if hasExt { + b = b[2:] + } + t.str = fmt.Sprintf("%s-%s%s", s[:start], b, s[end:]) + } else { + t.str = fmt.Sprintf("%s%s%s", s[:start], value, s[end:]) + } + } + return t, nil +} + +// findKeyAndType returns the start and end position for the type corresponding +// to key or the point at which to insert the key-value pair if the type +// wasn't found. The hasExt return value reports whether an -u extension was present. +// Note: the extensions are typically very small and are likely to contain +// only one key-type pair. +func (t Tag) findTypeForKey(key string) (start, end int, hasExt bool) { + p := int(t.pExt) + if len(key) != 2 || p == len(t.str) || p == 0 { + return p, p, false + } + s := t.str + + // Find the correct extension. + for p++; s[p] != 'u'; p++ { + if s[p] > 'u' { + p-- + return p, p, false + } + if p = nextExtension(s, p); p == len(s) { + return len(s), len(s), false + } + } + // Proceed to the hyphen following the extension name. + p++ + + // curKey is the key currently being processed. + curKey := "" + + // Iterate over keys until we get the end of a section. + for { + // p points to the hyphen preceding the current token. + if p3 := p + 3; s[p3] == '-' { + // Found a key. + // Check whether we just processed the key that was requested. + if curKey == key { + return start, p, true + } + // Set to the next key and continue scanning type tokens. + curKey = s[p+1 : p3] + if curKey > key { + return p, p, true + } + // Start of the type token sequence. + start = p + 4 + // A type is at least 3 characters long. + p += 7 // 4 + 3 + } else { + // Attribute or type, which is at least 3 characters long. + p += 4 + } + // p points past the third character of a type or attribute. + max := p + 5 // maximum length of token plus hyphen. + if len(s) < max { + max = len(s) + } + for ; p < max && s[p] != '-'; p++ { + } + // Bail if we have exhausted all tokens or if the next token starts + // a new extension. + if p == len(s) || s[p+2] == '-' { + if curKey == key { + return start, p, true + } + return p, p, true + } + } +} + +// CompactIndex returns an index, where 0 <= index < NumCompactTags, for tags +// for which data exists in the text repository. The index will change over time +// and should not be stored in persistent storage. Extensions, except for the +// 'va' type of the 'u' extension, are ignored. It will return 0, false if no +// compact tag exists, where 0 is the index for the root language (Und). +func CompactIndex(t Tag) (index int, ok bool) { + // TODO: perhaps give more frequent tags a lower index. + // TODO: we could make the indexes stable. This will excluded some + // possibilities for optimization, so don't do this quite yet. + b, s, r := t.Raw() + if len(t.str) > 0 { + if strings.HasPrefix(t.str, "x-") { + // We have no entries for user-defined tags. + return 0, false + } + if uint16(t.pVariant) != t.pExt { + // There are no tags with variants and an u-va type. + if t.TypeForKey("va") != "" { + return 0, false + } + t, _ = Raw.Compose(b, s, r, t.Variants()) + } else if _, ok := t.Extension('u'); ok { + // Strip all but the 'va' entry. + variant := t.TypeForKey("va") + t, _ = Raw.Compose(b, s, r) + t, _ = t.SetTypeForKey("va", variant) + } + if len(t.str) > 0 { + // We have some variants. + for i, s := range specialTags { + if s == t { + return i + 1, true + } + } + return 0, false + } + } + // No variants specified: just compare core components. + // The key has the form lllssrrr, where l, s, and r are nibbles for + // respectively the langID, scriptID, and regionID. + key := uint32(b.langID) << (8 + 12) + key |= uint32(s.scriptID) << 12 + key |= uint32(r.regionID) + x, ok := coreTags[key] + return int(x), ok +} + +// Base is an ISO 639 language code, used for encoding the base language +// of a language tag. +type Base struct { + langID +} + +// ParseBase parses a 2- or 3-letter ISO 639 code. +// It returns a ValueError if s is a well-formed but unknown language identifier +// or another error if another error occurred. +func ParseBase(s string) (Base, error) { + if n := len(s); n < 2 || 3 < n { + return Base{}, errSyntax + } + var buf [3]byte + l, err := getLangID(buf[:copy(buf[:], s)]) + return Base{l}, err +} + +// Script is a 4-letter ISO 15924 code for representing scripts. +// It is idiomatically represented in title case. +type Script struct { + scriptID +} + +// ParseScript parses a 4-letter ISO 15924 code. +// It returns a ValueError if s is a well-formed but unknown script identifier +// or another error if another error occurred. +func ParseScript(s string) (Script, error) { + if len(s) != 4 { + return Script{}, errSyntax + } + var buf [4]byte + sc, err := getScriptID(script, buf[:copy(buf[:], s)]) + return Script{sc}, err +} + +// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions. +type Region struct { + regionID +} + +// EncodeM49 returns the Region for the given UN M.49 code. +// It returns an error if r is not a valid code. +func EncodeM49(r int) (Region, error) { + rid, err := getRegionM49(r) + return Region{rid}, err +} + +// ParseRegion parses a 2- or 3-letter ISO 3166-1 or a UN M.49 code. +// It returns a ValueError if s is a well-formed but unknown region identifier +// or another error if another error occurred. +func ParseRegion(s string) (Region, error) { + if n := len(s); n < 2 || 3 < n { + return Region{}, errSyntax + } + var buf [3]byte + r, err := getRegionID(buf[:copy(buf[:], s)]) + return Region{r}, err +} + +// IsCountry returns whether this region is a country or autonomous area. This +// includes non-standard definitions from CLDR. +func (r Region) IsCountry() bool { + if r.regionID == 0 || r.IsGroup() || r.IsPrivateUse() && r.regionID != _XK { + return false + } + return true +} + +// IsGroup returns whether this region defines a collection of regions. This +// includes non-standard definitions from CLDR. +func (r Region) IsGroup() bool { + if r.regionID == 0 { + return false + } + return int(regionInclusion[r.regionID]) < len(regionContainment) +} + +// Contains returns whether Region c is contained by Region r. It returns true +// if c == r. +func (r Region) Contains(c Region) bool { + return r.regionID.contains(c.regionID) +} + +func (r regionID) contains(c regionID) bool { + if r == c { + return true + } + g := regionInclusion[r] + if g >= nRegionGroups { + return false + } + m := regionContainment[g] + + d := regionInclusion[c] + b := regionInclusionBits[d] + + // A contained country may belong to multiple disjoint groups. Matching any + // of these indicates containment. If the contained region is a group, it + // must strictly be a subset. + if d >= nRegionGroups { + return b&m != 0 + } + return b&^m == 0 +} + +var errNoTLD = errors.New("language: region is not a valid ccTLD") + +// TLD returns the country code top-level domain (ccTLD). UK is returned for GB. +// In all other cases it returns either the region itself or an error. +// +// This method may return an error for a region for which there exists a +// canonical form with a ccTLD. To get that ccTLD canonicalize r first. The +// region will already be canonicalized it was obtained from a Tag that was +// obtained using any of the default methods. +func (r Region) TLD() (Region, error) { + // See http://en.wikipedia.org/wiki/Country_code_top-level_domain for the + // difference between ISO 3166-1 and IANA ccTLD. + if r.regionID == _GB { + r = Region{_UK} + } + if (r.typ() & ccTLD) == 0 { + return Region{}, errNoTLD + } + return r, nil +} + +// Canonicalize returns the region or a possible replacement if the region is +// deprecated. It will not return a replacement for deprecated regions that +// are split into multiple regions. +func (r Region) Canonicalize() Region { + if cr := normRegion(r.regionID); cr != 0 { + return Region{cr} + } + return r +} + +// Variant represents a registered variant of a language as defined by BCP 47. +type Variant struct { + variant string +} + +// ParseVariant parses and returns a Variant. An error is returned if s is not +// a valid variant. +func ParseVariant(s string) (Variant, error) { + s = strings.ToLower(s) + if _, ok := variantIndex[s]; ok { + return Variant{s}, nil + } + return Variant{}, mkErrInvalid([]byte(s)) +} + +// String returns the string representation of the variant. +func (v Variant) String() string { + return v.variant +} diff --git a/vendor/golang.org/x/text/language/lookup.go b/vendor/golang.org/x/text/language/lookup.go new file mode 100644 index 000000000000..1d80ac37082a --- /dev/null +++ b/vendor/golang.org/x/text/language/lookup.go @@ -0,0 +1,396 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +import ( + "bytes" + "fmt" + "sort" + "strconv" + + "golang.org/x/text/internal/tag" +) + +// findIndex tries to find the given tag in idx and returns a standardized error +// if it could not be found. +func findIndex(idx tag.Index, key []byte, form string) (index int, err error) { + if !tag.FixCase(form, key) { + return 0, errSyntax + } + i := idx.Index(key) + if i == -1 { + return 0, mkErrInvalid(key) + } + return i, nil +} + +func searchUint(imap []uint16, key uint16) int { + return sort.Search(len(imap), func(i int) bool { + return imap[i] >= key + }) +} + +type langID uint16 + +// getLangID returns the langID of s if s is a canonical subtag +// or langUnknown if s is not a canonical subtag. +func getLangID(s []byte) (langID, error) { + if len(s) == 2 { + return getLangISO2(s) + } + return getLangISO3(s) +} + +// mapLang returns the mapped langID of id according to mapping m. +func normLang(id langID) (langID, langAliasType) { + k := sort.Search(len(langAliasMap), func(i int) bool { + return langAliasMap[i].from >= uint16(id) + }) + if k < len(langAliasMap) && langAliasMap[k].from == uint16(id) { + return langID(langAliasMap[k].to), langAliasTypes[k] + } + return id, langAliasTypeUnknown +} + +// getLangISO2 returns the langID for the given 2-letter ISO language code +// or unknownLang if this does not exist. +func getLangISO2(s []byte) (langID, error) { + if !tag.FixCase("zz", s) { + return 0, errSyntax + } + if i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 { + return langID(i), nil + } + return 0, mkErrInvalid(s) +} + +const base = 'z' - 'a' + 1 + +func strToInt(s []byte) uint { + v := uint(0) + for i := 0; i < len(s); i++ { + v *= base + v += uint(s[i] - 'a') + } + return v +} + +// converts the given integer to the original ASCII string passed to strToInt. +// len(s) must match the number of characters obtained. +func intToStr(v uint, s []byte) { + for i := len(s) - 1; i >= 0; i-- { + s[i] = byte(v%base) + 'a' + v /= base + } +} + +// getLangISO3 returns the langID for the given 3-letter ISO language code +// or unknownLang if this does not exist. +func getLangISO3(s []byte) (langID, error) { + if tag.FixCase("und", s) { + // first try to match canonical 3-letter entries + for i := lang.Index(s[:2]); i != -1; i = lang.Next(s[:2], i) { + if e := lang.Elem(i); e[3] == 0 && e[2] == s[2] { + // We treat "und" as special and always translate it to "unspecified". + // Note that ZZ and Zzzz are private use and are not treated as + // unspecified by default. + id := langID(i) + if id == nonCanonicalUnd { + return 0, nil + } + return id, nil + } + } + if i := altLangISO3.Index(s); i != -1 { + return langID(altLangIndex[altLangISO3.Elem(i)[3]]), nil + } + n := strToInt(s) + if langNoIndex[n/8]&(1<<(n%8)) != 0 { + return langID(n) + langNoIndexOffset, nil + } + // Check for non-canonical uses of ISO3. + for i := lang.Index(s[:1]); i != -1; i = lang.Next(s[:1], i) { + if e := lang.Elem(i); e[2] == s[1] && e[3] == s[2] { + return langID(i), nil + } + } + return 0, mkErrInvalid(s) + } + return 0, errSyntax +} + +// stringToBuf writes the string to b and returns the number of bytes +// written. cap(b) must be >= 3. +func (id langID) stringToBuf(b []byte) int { + if id >= langNoIndexOffset { + intToStr(uint(id)-langNoIndexOffset, b[:3]) + return 3 + } else if id == 0 { + return copy(b, "und") + } + l := lang[id<<2:] + if l[3] == 0 { + return copy(b, l[:3]) + } + return copy(b, l[:2]) +} + +// String returns the BCP 47 representation of the langID. +// Use b as variable name, instead of id, to ensure the variable +// used is consistent with that of Base in which this type is embedded. +func (b langID) String() string { + if b == 0 { + return "und" + } else if b >= langNoIndexOffset { + b -= langNoIndexOffset + buf := [3]byte{} + intToStr(uint(b), buf[:]) + return string(buf[:]) + } + l := lang.Elem(int(b)) + if l[3] == 0 { + return l[:3] + } + return l[:2] +} + +// ISO3 returns the ISO 639-3 language code. +func (b langID) ISO3() string { + if b == 0 || b >= langNoIndexOffset { + return b.String() + } + l := lang.Elem(int(b)) + if l[3] == 0 { + return l[:3] + } else if l[2] == 0 { + return altLangISO3.Elem(int(l[3]))[:3] + } + // This allocation will only happen for 3-letter ISO codes + // that are non-canonical BCP 47 language identifiers. + return l[0:1] + l[2:4] +} + +// IsPrivateUse reports whether this language code is reserved for private use. +func (b langID) IsPrivateUse() bool { + return langPrivateStart <= b && b <= langPrivateEnd +} + +type regionID uint16 + +// getRegionID returns the region id for s if s is a valid 2-letter region code +// or unknownRegion. +func getRegionID(s []byte) (regionID, error) { + if len(s) == 3 { + if isAlpha(s[0]) { + return getRegionISO3(s) + } + if i, err := strconv.ParseUint(string(s), 10, 10); err == nil { + return getRegionM49(int(i)) + } + } + return getRegionISO2(s) +} + +// getRegionISO2 returns the regionID for the given 2-letter ISO country code +// or unknownRegion if this does not exist. +func getRegionISO2(s []byte) (regionID, error) { + i, err := findIndex(regionISO, s, "ZZ") + if err != nil { + return 0, err + } + return regionID(i) + isoRegionOffset, nil +} + +// getRegionISO3 returns the regionID for the given 3-letter ISO country code +// or unknownRegion if this does not exist. +func getRegionISO3(s []byte) (regionID, error) { + if tag.FixCase("ZZZ", s) { + for i := regionISO.Index(s[:1]); i != -1; i = regionISO.Next(s[:1], i) { + if e := regionISO.Elem(i); e[2] == s[1] && e[3] == s[2] { + return regionID(i) + isoRegionOffset, nil + } + } + for i := 0; i < len(altRegionISO3); i += 3 { + if tag.Compare(altRegionISO3[i:i+3], s) == 0 { + return regionID(altRegionIDs[i/3]), nil + } + } + return 0, mkErrInvalid(s) + } + return 0, errSyntax +} + +func getRegionM49(n int) (regionID, error) { + if 0 < n && n <= 999 { + const ( + searchBits = 7 + regionBits = 9 + regionMask = 1<> searchBits + buf := fromM49[m49Index[idx]:m49Index[idx+1]] + val := uint16(n) << regionBits // we rely on bits shifting out + i := sort.Search(len(buf), func(i int) bool { + return buf[i] >= val + }) + if r := fromM49[int(m49Index[idx])+i]; r&^regionMask == val { + return regionID(r & regionMask), nil + } + } + var e ValueError + fmt.Fprint(bytes.NewBuffer([]byte(e.v[:])), n) + return 0, e +} + +// normRegion returns a region if r is deprecated or 0 otherwise. +// TODO: consider supporting BYS (-> BLR), CSK (-> 200 or CZ), PHI (-> PHL) and AFI (-> DJ). +// TODO: consider mapping split up regions to new most populous one (like CLDR). +func normRegion(r regionID) regionID { + m := regionOldMap + k := sort.Search(len(m), func(i int) bool { + return m[i].from >= uint16(r) + }) + if k < len(m) && m[k].from == uint16(r) { + return regionID(m[k].to) + } + return 0 +} + +const ( + iso3166UserAssigned = 1 << iota + ccTLD + bcp47Region +) + +func (r regionID) typ() byte { + return regionTypes[r] +} + +// String returns the BCP 47 representation for the region. +// It returns "ZZ" for an unspecified region. +func (r regionID) String() string { + if r < isoRegionOffset { + if r == 0 { + return "ZZ" + } + return fmt.Sprintf("%03d", r.M49()) + } + r -= isoRegionOffset + return regionISO.Elem(int(r))[:2] +} + +// ISO3 returns the 3-letter ISO code of r. +// Note that not all regions have a 3-letter ISO code. +// In such cases this method returns "ZZZ". +func (r regionID) ISO3() string { + if r < isoRegionOffset { + return "ZZZ" + } + r -= isoRegionOffset + reg := regionISO.Elem(int(r)) + switch reg[2] { + case 0: + return altRegionISO3[reg[3]:][:3] + case ' ': + return "ZZZ" + } + return reg[0:1] + reg[2:4] +} + +// M49 returns the UN M.49 encoding of r, or 0 if this encoding +// is not defined for r. +func (r regionID) M49() int { + return int(m49[r]) +} + +// IsPrivateUse reports whether r has the ISO 3166 User-assigned status. This +// may include private-use tags that are assigned by CLDR and used in this +// implementation. So IsPrivateUse and IsCountry can be simultaneously true. +func (r regionID) IsPrivateUse() bool { + return r.typ()&iso3166UserAssigned != 0 +} + +type scriptID uint8 + +// getScriptID returns the script id for string s. It assumes that s +// is of the format [A-Z][a-z]{3}. +func getScriptID(idx tag.Index, s []byte) (scriptID, error) { + i, err := findIndex(idx, s, "Zzzz") + return scriptID(i), err +} + +// String returns the script code in title case. +// It returns "Zzzz" for an unspecified script. +func (s scriptID) String() string { + if s == 0 { + return "Zzzz" + } + return script.Elem(int(s)) +} + +// IsPrivateUse reports whether this script code is reserved for private use. +func (s scriptID) IsPrivateUse() bool { + return _Qaaa <= s && s <= _Qabx +} + +const ( + maxAltTaglen = len("en-US-POSIX") + maxLen = maxAltTaglen +) + +var ( + // grandfatheredMap holds a mapping from legacy and grandfathered tags to + // their base language or index to more elaborate tag. + grandfatheredMap = map[[maxLen]byte]int16{ + [maxLen]byte{'a', 'r', 't', '-', 'l', 'o', 'j', 'b', 'a', 'n'}: _jbo, // art-lojban + [maxLen]byte{'i', '-', 'a', 'm', 'i'}: _ami, // i-ami + [maxLen]byte{'i', '-', 'b', 'n', 'n'}: _bnn, // i-bnn + [maxLen]byte{'i', '-', 'h', 'a', 'k'}: _hak, // i-hak + [maxLen]byte{'i', '-', 'k', 'l', 'i', 'n', 'g', 'o', 'n'}: _tlh, // i-klingon + [maxLen]byte{'i', '-', 'l', 'u', 'x'}: _lb, // i-lux + [maxLen]byte{'i', '-', 'n', 'a', 'v', 'a', 'j', 'o'}: _nv, // i-navajo + [maxLen]byte{'i', '-', 'p', 'w', 'n'}: _pwn, // i-pwn + [maxLen]byte{'i', '-', 't', 'a', 'o'}: _tao, // i-tao + [maxLen]byte{'i', '-', 't', 'a', 'y'}: _tay, // i-tay + [maxLen]byte{'i', '-', 't', 's', 'u'}: _tsu, // i-tsu + [maxLen]byte{'n', 'o', '-', 'b', 'o', 'k'}: _nb, // no-bok + [maxLen]byte{'n', 'o', '-', 'n', 'y', 'n'}: _nn, // no-nyn + [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'f', 'r'}: _sfb, // sgn-BE-FR + [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'n', 'l'}: _vgt, // sgn-BE-NL + [maxLen]byte{'s', 'g', 'n', '-', 'c', 'h', '-', 'd', 'e'}: _sgg, // sgn-CH-DE + [maxLen]byte{'z', 'h', '-', 'g', 'u', 'o', 'y', 'u'}: _cmn, // zh-guoyu + [maxLen]byte{'z', 'h', '-', 'h', 'a', 'k', 'k', 'a'}: _hak, // zh-hakka + [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n', '-', 'n', 'a', 'n'}: _nan, // zh-min-nan + [maxLen]byte{'z', 'h', '-', 'x', 'i', 'a', 'n', 'g'}: _hsn, // zh-xiang + + // Grandfathered tags with no modern replacement will be converted as + // follows: + [maxLen]byte{'c', 'e', 'l', '-', 'g', 'a', 'u', 'l', 'i', 's', 'h'}: -1, // cel-gaulish + [maxLen]byte{'e', 'n', '-', 'g', 'b', '-', 'o', 'e', 'd'}: -2, // en-GB-oed + [maxLen]byte{'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'}: -3, // i-default + [maxLen]byte{'i', '-', 'e', 'n', 'o', 'c', 'h', 'i', 'a', 'n'}: -4, // i-enochian + [maxLen]byte{'i', '-', 'm', 'i', 'n', 'g', 'o'}: -5, // i-mingo + [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n'}: -6, // zh-min + + // CLDR-specific tag. + [maxLen]byte{'r', 'o', 'o', 't'}: 0, // root + [maxLen]byte{'e', 'n', '-', 'u', 's', '-', 'p', 'o', 's', 'i', 'x'}: -7, // en_US_POSIX" + } + + altTagIndex = [...]uint8{0, 17, 31, 45, 61, 74, 86, 102} + + altTags = "xtg-x-cel-gaulishen-GB-oxendicten-x-i-defaultund-x-i-enochiansee-x-i-mingonan-x-zh-minen-US-u-va-posix" +) + +func grandfathered(s [maxAltTaglen]byte) (t Tag, ok bool) { + if v, ok := grandfatheredMap[s]; ok { + if v < 0 { + return Make(altTags[altTagIndex[-v-1]:altTagIndex[-v]]), true + } + t.lang = langID(v) + return t, true + } + return t, false +} diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go new file mode 100644 index 000000000000..15b74d125cea --- /dev/null +++ b/vendor/golang.org/x/text/language/match.go @@ -0,0 +1,933 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +import "errors" + +// A MatchOption configures a Matcher. +type MatchOption func(*matcher) + +// PreferSameScript will, in the absence of a match, result in the first +// preferred tag with the same script as a supported tag to match this supported +// tag. The default is currently true, but this may change in the future. +func PreferSameScript(preferSame bool) MatchOption { + return func(m *matcher) { m.preferSameScript = preferSame } +} + +// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface. +// There doesn't seem to be too much need for multiple types. +// Making it a concrete type allows MatchStrings to be a method, which will +// improve its discoverability. + +// MatchStrings parses and matches the given strings until one of them matches +// the language in the Matcher. A string may be an Accept-Language header as +// handled by ParseAcceptLanguage. The default language is returned if no +// other language matched. +func MatchStrings(m Matcher, lang ...string) (tag Tag, index int) { + for _, accept := range lang { + desired, _, err := ParseAcceptLanguage(accept) + if err != nil { + continue + } + if tag, index, conf := m.Match(desired...); conf != No { + return tag, index + } + } + tag, index, _ = m.Match() + return +} + +// Matcher is the interface that wraps the Match method. +// +// Match returns the best match for any of the given tags, along with +// a unique index associated with the returned tag and a confidence +// score. +type Matcher interface { + Match(t ...Tag) (tag Tag, index int, c Confidence) +} + +// Comprehends reports the confidence score for a speaker of a given language +// to being able to comprehend the written form of an alternative language. +func Comprehends(speaker, alternative Tag) Confidence { + _, _, c := NewMatcher([]Tag{alternative}).Match(speaker) + return c +} + +// NewMatcher returns a Matcher that matches an ordered list of preferred tags +// against a list of supported tags based on written intelligibility, closeness +// of dialect, equivalence of subtags and various other rules. It is initialized +// with the list of supported tags. The first element is used as the default +// value in case no match is found. +// +// Its Match method matches the first of the given Tags to reach a certain +// confidence threshold. The tags passed to Match should therefore be specified +// in order of preference. Extensions are ignored for matching. +// +// The index returned by the Match method corresponds to the index of the +// matched tag in t, but is augmented with the Unicode extension ('u')of the +// corresponding preferred tag. This allows user locale options to be passed +// transparently. +func NewMatcher(t []Tag, options ...MatchOption) Matcher { + return newMatcher(t, options) +} + +func (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) { + match, w, c := m.getBest(want...) + if match != nil { + t, index = match.tag, match.index + } else { + // TODO: this should be an option + t = m.default_.tag + if m.preferSameScript { + outer: + for _, w := range want { + script, _ := w.Script() + if script.scriptID == 0 { + // Don't do anything if there is no script, such as with + // private subtags. + continue + } + for i, h := range m.supported { + if script.scriptID == h.maxScript { + t, index = h.tag, i + break outer + } + } + } + } + // TODO: select first language tag based on script. + } + if w.region != 0 && t.region != 0 && t.region.contains(w.region) { + t, _ = Raw.Compose(t, Region{w.region}) + } + // Copy options from the user-provided tag into the result tag. This is hard + // to do after the fact, so we do it here. + // TODO: add in alternative variants to -u-va-. + // TODO: add preferred region to -u-rg-. + if e := w.Extensions(); len(e) > 0 { + t, _ = Raw.Compose(t, e) + } + return t, index, c +} + +type scriptRegionFlags uint8 + +const ( + isList = 1 << iota + scriptInFrom + regionInFrom +) + +func (t *Tag) setUndefinedLang(id langID) { + if t.lang == 0 { + t.lang = id + } +} + +func (t *Tag) setUndefinedScript(id scriptID) { + if t.script == 0 { + t.script = id + } +} + +func (t *Tag) setUndefinedRegion(id regionID) { + if t.region == 0 || t.region.contains(id) { + t.region = id + } +} + +// ErrMissingLikelyTagsData indicates no information was available +// to compute likely values of missing tags. +var ErrMissingLikelyTagsData = errors.New("missing likely tags data") + +// addLikelySubtags sets subtags to their most likely value, given the locale. +// In most cases this means setting fields for unknown values, but in some +// cases it may alter a value. It returns an ErrMissingLikelyTagsData error +// if the given locale cannot be expanded. +func (t Tag) addLikelySubtags() (Tag, error) { + id, err := addTags(t) + if err != nil { + return t, err + } else if id.equalTags(t) { + return t, nil + } + id.remakeString() + return id, nil +} + +// specializeRegion attempts to specialize a group region. +func specializeRegion(t *Tag) bool { + if i := regionInclusion[t.region]; i < nRegionGroups { + x := likelyRegionGroup[i] + if langID(x.lang) == t.lang && scriptID(x.script) == t.script { + t.region = regionID(x.region) + } + return true + } + return false +} + +func addTags(t Tag) (Tag, error) { + // We leave private use identifiers alone. + if t.private() { + return t, nil + } + if t.script != 0 && t.region != 0 { + if t.lang != 0 { + // already fully specified + specializeRegion(&t) + return t, nil + } + // Search matches for und-script-region. Note that for these cases + // region will never be a group so there is no need to check for this. + list := likelyRegion[t.region : t.region+1] + if x := list[0]; x.flags&isList != 0 { + list = likelyRegionList[x.lang : x.lang+uint16(x.script)] + } + for _, x := range list { + // Deviating from the spec. See match_test.go for details. + if scriptID(x.script) == t.script { + t.setUndefinedLang(langID(x.lang)) + return t, nil + } + } + } + if t.lang != 0 { + // Search matches for lang-script and lang-region, where lang != und. + if t.lang < langNoIndexOffset { + x := likelyLang[t.lang] + if x.flags&isList != 0 { + list := likelyLangList[x.region : x.region+uint16(x.script)] + if t.script != 0 { + for _, x := range list { + if scriptID(x.script) == t.script && x.flags&scriptInFrom != 0 { + t.setUndefinedRegion(regionID(x.region)) + return t, nil + } + } + } else if t.region != 0 { + count := 0 + goodScript := true + tt := t + for _, x := range list { + // We visit all entries for which the script was not + // defined, including the ones where the region was not + // defined. This allows for proper disambiguation within + // regions. + if x.flags&scriptInFrom == 0 && t.region.contains(regionID(x.region)) { + tt.region = regionID(x.region) + tt.setUndefinedScript(scriptID(x.script)) + goodScript = goodScript && tt.script == scriptID(x.script) + count++ + } + } + if count == 1 { + return tt, nil + } + // Even if we fail to find a unique Region, we might have + // an unambiguous script. + if goodScript { + t.script = tt.script + } + } + } + } + } else { + // Search matches for und-script. + if t.script != 0 { + x := likelyScript[t.script] + if x.region != 0 { + t.setUndefinedRegion(regionID(x.region)) + t.setUndefinedLang(langID(x.lang)) + return t, nil + } + } + // Search matches for und-region. If und-script-region exists, it would + // have been found earlier. + if t.region != 0 { + if i := regionInclusion[t.region]; i < nRegionGroups { + x := likelyRegionGroup[i] + if x.region != 0 { + t.setUndefinedLang(langID(x.lang)) + t.setUndefinedScript(scriptID(x.script)) + t.region = regionID(x.region) + } + } else { + x := likelyRegion[t.region] + if x.flags&isList != 0 { + x = likelyRegionList[x.lang] + } + if x.script != 0 && x.flags != scriptInFrom { + t.setUndefinedLang(langID(x.lang)) + t.setUndefinedScript(scriptID(x.script)) + return t, nil + } + } + } + } + + // Search matches for lang. + if t.lang < langNoIndexOffset { + x := likelyLang[t.lang] + if x.flags&isList != 0 { + x = likelyLangList[x.region] + } + if x.region != 0 { + t.setUndefinedScript(scriptID(x.script)) + t.setUndefinedRegion(regionID(x.region)) + } + specializeRegion(&t) + if t.lang == 0 { + t.lang = _en // default language + } + return t, nil + } + return t, ErrMissingLikelyTagsData +} + +func (t *Tag) setTagsFrom(id Tag) { + t.lang = id.lang + t.script = id.script + t.region = id.region +} + +// minimize removes the region or script subtags from t such that +// t.addLikelySubtags() == t.minimize().addLikelySubtags(). +func (t Tag) minimize() (Tag, error) { + t, err := minimizeTags(t) + if err != nil { + return t, err + } + t.remakeString() + return t, nil +} + +// minimizeTags mimics the behavior of the ICU 51 C implementation. +func minimizeTags(t Tag) (Tag, error) { + if t.equalTags(und) { + return t, nil + } + max, err := addTags(t) + if err != nil { + return t, err + } + for _, id := range [...]Tag{ + {lang: t.lang}, + {lang: t.lang, region: t.region}, + {lang: t.lang, script: t.script}, + } { + if x, err := addTags(id); err == nil && max.equalTags(x) { + t.setTagsFrom(id) + break + } + } + return t, nil +} + +// Tag Matching +// CLDR defines an algorithm for finding the best match between two sets of language +// tags. The basic algorithm defines how to score a possible match and then find +// the match with the best score +// (see http://www.unicode.org/reports/tr35/#LanguageMatching). +// Using scoring has several disadvantages. The scoring obfuscates the importance of +// the various factors considered, making the algorithm harder to understand. Using +// scoring also requires the full score to be computed for each pair of tags. +// +// We will use a different algorithm which aims to have the following properties: +// - clarity on the precedence of the various selection factors, and +// - improved performance by allowing early termination of a comparison. +// +// Matching algorithm (overview) +// Input: +// - supported: a set of supported tags +// - default: the default tag to return in case there is no match +// - desired: list of desired tags, ordered by preference, starting with +// the most-preferred. +// +// Algorithm: +// 1) Set the best match to the lowest confidence level +// 2) For each tag in "desired": +// a) For each tag in "supported": +// 1) compute the match between the two tags. +// 2) if the match is better than the previous best match, replace it +// with the new match. (see next section) +// b) if the current best match is Exact and pin is true the result will be +// frozen to the language found thusfar, although better matches may +// still be found for the same language. +// 3) If the best match so far is below a certain threshold, return "default". +// +// Ranking: +// We use two phases to determine whether one pair of tags are a better match +// than another pair of tags. First, we determine a rough confidence level. If the +// levels are different, the one with the highest confidence wins. +// Second, if the rough confidence levels are identical, we use a set of tie-breaker +// rules. +// +// The confidence level of matching a pair of tags is determined by finding the +// lowest confidence level of any matches of the corresponding subtags (the +// result is deemed as good as its weakest link). +// We define the following levels: +// Exact - An exact match of a subtag, before adding likely subtags. +// MaxExact - An exact match of a subtag, after adding likely subtags. +// [See Note 2]. +// High - High level of mutual intelligibility between different subtag +// variants. +// Low - Low level of mutual intelligibility between different subtag +// variants. +// No - No mutual intelligibility. +// +// The following levels can occur for each type of subtag: +// Base: Exact, MaxExact, High, Low, No +// Script: Exact, MaxExact [see Note 3], Low, No +// Region: Exact, MaxExact, High +// Variant: Exact, High +// Private: Exact, No +// +// Any result with a confidence level of Low or higher is deemed a possible match. +// Once a desired tag matches any of the supported tags with a level of MaxExact +// or higher, the next desired tag is not considered (see Step 2.b). +// Note that CLDR provides languageMatching data that defines close equivalence +// classes for base languages, scripts and regions. +// +// Tie-breaking +// If we get the same confidence level for two matches, we apply a sequence of +// tie-breaking rules. The first that succeeds defines the result. The rules are +// applied in the following order. +// 1) Original language was defined and was identical. +// 2) Original region was defined and was identical. +// 3) Distance between two maximized regions was the smallest. +// 4) Original script was defined and was identical. +// 5) Distance from want tag to have tag using the parent relation [see Note 5.] +// If there is still no winner after these rules are applied, the first match +// found wins. +// +// Notes: +// [2] In practice, as matching of Exact is done in a separate phase from +// matching the other levels, we reuse the Exact level to mean MaxExact in +// the second phase. As a consequence, we only need the levels defined by +// the Confidence type. The MaxExact confidence level is mapped to High in +// the public API. +// [3] We do not differentiate between maximized script values that were derived +// from suppressScript versus most likely tag data. We determined that in +// ranking the two, one ranks just after the other. Moreover, the two cannot +// occur concurrently. As a consequence, they are identical for practical +// purposes. +// [4] In case of deprecated, macro-equivalents and legacy mappings, we assign +// the MaxExact level to allow iw vs he to still be a closer match than +// en-AU vs en-US, for example. +// [5] In CLDR a locale inherits fields that are unspecified for this locale +// from its parent. Therefore, if a locale is a parent of another locale, +// it is a strong measure for closeness, especially when no other tie +// breaker rule applies. One could also argue it is inconsistent, for +// example, when pt-AO matches pt (which CLDR equates with pt-BR), even +// though its parent is pt-PT according to the inheritance rules. +// +// Implementation Details: +// There are several performance considerations worth pointing out. Most notably, +// we preprocess as much as possible (within reason) at the time of creation of a +// matcher. This includes: +// - creating a per-language map, which includes data for the raw base language +// and its canonicalized variant (if applicable), +// - expanding entries for the equivalence classes defined in CLDR's +// languageMatch data. +// The per-language map ensures that typically only a very small number of tags +// need to be considered. The pre-expansion of canonicalized subtags and +// equivalence classes reduces the amount of map lookups that need to be done at +// runtime. + +// matcher keeps a set of supported language tags, indexed by language. +type matcher struct { + default_ *haveTag + supported []*haveTag + index map[langID]*matchHeader + passSettings bool + preferSameScript bool +} + +// matchHeader has the lists of tags for exact matches and matches based on +// maximized and canonicalized tags for a given language. +type matchHeader struct { + haveTags []*haveTag + original bool +} + +// haveTag holds a supported Tag and its maximized script and region. The maximized +// or canonicalized language is not stored as it is not needed during matching. +type haveTag struct { + tag Tag + + // index of this tag in the original list of supported tags. + index int + + // conf is the maximum confidence that can result from matching this haveTag. + // When conf < Exact this means it was inserted after applying a CLDR equivalence rule. + conf Confidence + + // Maximized region and script. + maxRegion regionID + maxScript scriptID + + // altScript may be checked as an alternative match to maxScript. If altScript + // matches, the confidence level for this match is Low. Theoretically there + // could be multiple alternative scripts. This does not occur in practice. + altScript scriptID + + // nextMax is the index of the next haveTag with the same maximized tags. + nextMax uint16 +} + +func makeHaveTag(tag Tag, index int) (haveTag, langID) { + max := tag + if tag.lang != 0 || tag.region != 0 || tag.script != 0 { + max, _ = max.canonicalize(All) + max, _ = addTags(max) + max.remakeString() + } + return haveTag{tag, index, Exact, max.region, max.script, altScript(max.lang, max.script), 0}, max.lang +} + +// altScript returns an alternative script that may match the given script with +// a low confidence. At the moment, the langMatch data allows for at most one +// script to map to another and we rely on this to keep the code simple. +func altScript(l langID, s scriptID) scriptID { + for _, alt := range matchScript { + // TODO: also match cases where language is not the same. + if (langID(alt.wantLang) == l || langID(alt.haveLang) == l) && + scriptID(alt.haveScript) == s { + return scriptID(alt.wantScript) + } + } + return 0 +} + +// addIfNew adds a haveTag to the list of tags only if it is a unique tag. +// Tags that have the same maximized values are linked by index. +func (h *matchHeader) addIfNew(n haveTag, exact bool) { + h.original = h.original || exact + // Don't add new exact matches. + for _, v := range h.haveTags { + if v.tag.equalsRest(n.tag) { + return + } + } + // Allow duplicate maximized tags, but create a linked list to allow quickly + // comparing the equivalents and bail out. + for i, v := range h.haveTags { + if v.maxScript == n.maxScript && + v.maxRegion == n.maxRegion && + v.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() { + for h.haveTags[i].nextMax != 0 { + i = int(h.haveTags[i].nextMax) + } + h.haveTags[i].nextMax = uint16(len(h.haveTags)) + break + } + } + h.haveTags = append(h.haveTags, &n) +} + +// header returns the matchHeader for the given language. It creates one if +// it doesn't already exist. +func (m *matcher) header(l langID) *matchHeader { + if h := m.index[l]; h != nil { + return h + } + h := &matchHeader{} + m.index[l] = h + return h +} + +func toConf(d uint8) Confidence { + if d <= 10 { + return High + } + if d < 30 { + return Low + } + return No +} + +// newMatcher builds an index for the given supported tags and returns it as +// a matcher. It also expands the index by considering various equivalence classes +// for a given tag. +func newMatcher(supported []Tag, options []MatchOption) *matcher { + m := &matcher{ + index: make(map[langID]*matchHeader), + preferSameScript: true, + } + for _, o := range options { + o(m) + } + if len(supported) == 0 { + m.default_ = &haveTag{} + return m + } + // Add supported languages to the index. Add exact matches first to give + // them precedence. + for i, tag := range supported { + pair, _ := makeHaveTag(tag, i) + m.header(tag.lang).addIfNew(pair, true) + m.supported = append(m.supported, &pair) + } + m.default_ = m.header(supported[0].lang).haveTags[0] + // Keep these in two different loops to support the case that two equivalent + // languages are distinguished, such as iw and he. + for i, tag := range supported { + pair, max := makeHaveTag(tag, i) + if max != tag.lang { + m.header(max).addIfNew(pair, true) + } + } + + // update is used to add indexes in the map for equivalent languages. + // update will only add entries to original indexes, thus not computing any + // transitive relations. + update := func(want, have uint16, conf Confidence) { + if hh := m.index[langID(have)]; hh != nil { + if !hh.original { + return + } + hw := m.header(langID(want)) + for _, ht := range hh.haveTags { + v := *ht + if conf < v.conf { + v.conf = conf + } + v.nextMax = 0 // this value needs to be recomputed + if v.altScript != 0 { + v.altScript = altScript(langID(want), v.maxScript) + } + hw.addIfNew(v, conf == Exact && hh.original) + } + } + } + + // Add entries for languages with mutual intelligibility as defined by CLDR's + // languageMatch data. + for _, ml := range matchLang { + update(ml.want, ml.have, toConf(ml.distance)) + if !ml.oneway { + update(ml.have, ml.want, toConf(ml.distance)) + } + } + + // Add entries for possible canonicalizations. This is an optimization to + // ensure that only one map lookup needs to be done at runtime per desired tag. + // First we match deprecated equivalents. If they are perfect equivalents + // (their canonicalization simply substitutes a different language code, but + // nothing else), the match confidence is Exact, otherwise it is High. + for i, lm := range langAliasMap { + // If deprecated codes match and there is no fiddling with the script or + // or region, we consider it an exact match. + conf := Exact + if langAliasTypes[i] != langMacro { + if !isExactEquivalent(langID(lm.from)) { + conf = High + } + update(lm.to, lm.from, conf) + } + update(lm.from, lm.to, conf) + } + return m +} + +// getBest gets the best matching tag in m for any of the given tags, taking into +// account the order of preference of the given tags. +func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) { + best := bestMatch{} + for i, w := range want { + var max Tag + // Check for exact match first. + h := m.index[w.lang] + if w.lang != 0 { + if h == nil { + continue + } + // Base language is defined. + max, _ = w.canonicalize(Legacy | Deprecated | Macro) + // A region that is added through canonicalization is stronger than + // a maximized region: set it in the original (e.g. mo -> ro-MD). + if w.region != max.region { + w.region = max.region + } + // TODO: should we do the same for scripts? + // See test case: en, sr, nl ; sh ; sr + max, _ = addTags(max) + } else { + // Base language is not defined. + if h != nil { + for i := range h.haveTags { + have := h.haveTags[i] + if have.tag.equalsRest(w) { + return have, w, Exact + } + } + } + if w.script == 0 && w.region == 0 { + // We skip all tags matching und for approximate matching, including + // private tags. + continue + } + max, _ = addTags(w) + if h = m.index[max.lang]; h == nil { + continue + } + } + pin := true + for _, t := range want[i+1:] { + if w.lang == t.lang { + pin = false + break + } + } + // Check for match based on maximized tag. + for i := range h.haveTags { + have := h.haveTags[i] + best.update(have, w, max.script, max.region, pin) + if best.conf == Exact { + for have.nextMax != 0 { + have = h.haveTags[have.nextMax] + best.update(have, w, max.script, max.region, pin) + } + return best.have, best.want, best.conf + } + } + } + if best.conf <= No { + if len(want) != 0 { + return nil, want[0], No + } + return nil, Tag{}, No + } + return best.have, best.want, best.conf +} + +// bestMatch accumulates the best match so far. +type bestMatch struct { + have *haveTag + want Tag + conf Confidence + pinnedRegion regionID + pinLanguage bool + sameRegionGroup bool + // Cached results from applying tie-breaking rules. + origLang bool + origReg bool + paradigmReg bool + regGroupDist uint8 + origScript bool +} + +// update updates the existing best match if the new pair is considered to be a +// better match. To determine if the given pair is a better match, it first +// computes the rough confidence level. If this surpasses the current match, it +// will replace it and update the tie-breaker rule cache. If there is a tie, it +// proceeds with applying a series of tie-breaker rules. If there is no +// conclusive winner after applying the tie-breaker rules, it leaves the current +// match as the preferred match. +// +// If pin is true and have and tag are a strong match, it will henceforth only +// consider matches for this language. This corresponds to the nothing that most +// users have a strong preference for the first defined language. A user can +// still prefer a second language over a dialect of the preferred language by +// explicitly specifying dialects, e.g. "en, nl, en-GB". In this case pin should +// be false. +func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID, pin bool) { + // Bail if the maximum attainable confidence is below that of the current best match. + c := have.conf + if c < m.conf { + return + } + // Don't change the language once we already have found an exact match. + if m.pinLanguage && tag.lang != m.want.lang { + return + } + // Pin the region group if we are comparing tags for the same language. + if tag.lang == m.want.lang && m.sameRegionGroup { + _, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.lang) + if !sameGroup { + return + } + } + if c == Exact && have.maxScript == maxScript { + // If there is another language and then another entry of this language, + // don't pin anything, otherwise pin the language. + m.pinLanguage = pin + } + if have.tag.equalsRest(tag) { + } else if have.maxScript != maxScript { + // There is usually very little comprehension between different scripts. + // In a few cases there may still be Low comprehension. This possibility + // is pre-computed and stored in have.altScript. + if Low < m.conf || have.altScript != maxScript { + return + } + c = Low + } else if have.maxRegion != maxRegion { + if High < c { + // There is usually a small difference between languages across regions. + c = High + } + } + + // We store the results of the computations of the tie-breaker rules along + // with the best match. There is no need to do the checks once we determine + // we have a winner, but we do still need to do the tie-breaker computations. + // We use "beaten" to keep track if we still need to do the checks. + beaten := false // true if the new pair defeats the current one. + if c != m.conf { + if c < m.conf { + return + } + beaten = true + } + + // Tie-breaker rules: + // We prefer if the pre-maximized language was specified and identical. + origLang := have.tag.lang == tag.lang && tag.lang != 0 + if !beaten && m.origLang != origLang { + if m.origLang { + return + } + beaten = true + } + + // We prefer if the pre-maximized region was specified and identical. + origReg := have.tag.region == tag.region && tag.region != 0 + if !beaten && m.origReg != origReg { + if m.origReg { + return + } + beaten = true + } + + regGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang) + if !beaten && m.regGroupDist != regGroupDist { + if regGroupDist > m.regGroupDist { + return + } + beaten = true + } + + paradigmReg := isParadigmLocale(tag.lang, have.maxRegion) + if !beaten && m.paradigmReg != paradigmReg { + if !paradigmReg { + return + } + beaten = true + } + + // Next we prefer if the pre-maximized script was specified and identical. + origScript := have.tag.script == tag.script && tag.script != 0 + if !beaten && m.origScript != origScript { + if m.origScript { + return + } + beaten = true + } + + // Update m to the newly found best match. + if beaten { + m.have = have + m.want = tag + m.conf = c + m.pinnedRegion = maxRegion + m.sameRegionGroup = sameGroup + m.origLang = origLang + m.origReg = origReg + m.paradigmReg = paradigmReg + m.origScript = origScript + m.regGroupDist = regGroupDist + } +} + +func isParadigmLocale(lang langID, r regionID) bool { + for _, e := range paradigmLocales { + if langID(e[0]) == lang && (r == regionID(e[1]) || r == regionID(e[2])) { + return true + } + } + return false +} + +// regionGroupDist computes the distance between two regions based on their +// CLDR grouping. +func regionGroupDist(a, b regionID, script scriptID, lang langID) (dist uint8, same bool) { + const defaultDistance = 4 + + aGroup := uint(regionToGroups[a]) << 1 + bGroup := uint(regionToGroups[b]) << 1 + for _, ri := range matchRegion { + if langID(ri.lang) == lang && (ri.script == 0 || scriptID(ri.script) == script) { + group := uint(1 << (ri.group &^ 0x80)) + if 0x80&ri.group == 0 { + if aGroup&bGroup&group != 0 { // Both regions are in the group. + return ri.distance, ri.distance == defaultDistance + } + } else { + if (aGroup|bGroup)&group == 0 { // Both regions are not in the group. + return ri.distance, ri.distance == defaultDistance + } + } + } + } + return defaultDistance, true +} + +func (t Tag) variants() string { + if t.pVariant == 0 { + return "" + } + return t.str[t.pVariant:t.pExt] +} + +// variantOrPrivateTagStr returns variants or private use tags. +func (t Tag) variantOrPrivateTagStr() string { + if t.pExt > 0 { + return t.str[t.pVariant:t.pExt] + } + return t.str[t.pVariant:] +} + +// equalsRest compares everything except the language. +func (a Tag) equalsRest(b Tag) bool { + // TODO: don't include extensions in this comparison. To do this efficiently, + // though, we should handle private tags separately. + return a.script == b.script && a.region == b.region && a.variantOrPrivateTagStr() == b.variantOrPrivateTagStr() +} + +// isExactEquivalent returns true if canonicalizing the language will not alter +// the script or region of a tag. +func isExactEquivalent(l langID) bool { + for _, o := range notEquivalent { + if o == l { + return false + } + } + return true +} + +var notEquivalent []langID + +func init() { + // Create a list of all languages for which canonicalization may alter the + // script or region. + for _, lm := range langAliasMap { + tag := Tag{lang: langID(lm.from)} + if tag, _ = tag.canonicalize(All); tag.script != 0 || tag.region != 0 { + notEquivalent = append(notEquivalent, langID(lm.from)) + } + } + // Maximize undefined regions of paradigm locales. + for i, v := range paradigmLocales { + max, _ := addTags(Tag{lang: langID(v[0])}) + if v[1] == 0 { + paradigmLocales[i][1] = uint16(max.region) + } + if v[2] == 0 { + paradigmLocales[i][2] = uint16(max.region) + } + } +} diff --git a/vendor/golang.org/x/text/language/parse.go b/vendor/golang.org/x/text/language/parse.go new file mode 100644 index 000000000000..fca2d30e505a --- /dev/null +++ b/vendor/golang.org/x/text/language/parse.go @@ -0,0 +1,859 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +import ( + "bytes" + "errors" + "fmt" + "sort" + "strconv" + "strings" + + "golang.org/x/text/internal/tag" +) + +// isAlpha returns true if the byte is not a digit. +// b must be an ASCII letter or digit. +func isAlpha(b byte) bool { + return b > '9' +} + +// isAlphaNum returns true if the string contains only ASCII letters or digits. +func isAlphaNum(s []byte) bool { + for _, c := range s { + if !('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9') { + return false + } + } + return true +} + +// errSyntax is returned by any of the parsing functions when the +// input is not well-formed, according to BCP 47. +// TODO: return the position at which the syntax error occurred? +var errSyntax = errors.New("language: tag is not well-formed") + +// ValueError is returned by any of the parsing functions when the +// input is well-formed but the respective subtag is not recognized +// as a valid value. +type ValueError struct { + v [8]byte +} + +func mkErrInvalid(s []byte) error { + var e ValueError + copy(e.v[:], s) + return e +} + +func (e ValueError) tag() []byte { + n := bytes.IndexByte(e.v[:], 0) + if n == -1 { + n = 8 + } + return e.v[:n] +} + +// Error implements the error interface. +func (e ValueError) Error() string { + return fmt.Sprintf("language: subtag %q is well-formed but unknown", e.tag()) +} + +// Subtag returns the subtag for which the error occurred. +func (e ValueError) Subtag() string { + return string(e.tag()) +} + +// scanner is used to scan BCP 47 tokens, which are separated by _ or -. +type scanner struct { + b []byte + bytes [max99thPercentileSize]byte + token []byte + start int // start position of the current token + end int // end position of the current token + next int // next point for scan + err error + done bool +} + +func makeScannerString(s string) scanner { + scan := scanner{} + if len(s) <= len(scan.bytes) { + scan.b = scan.bytes[:copy(scan.bytes[:], s)] + } else { + scan.b = []byte(s) + } + scan.init() + return scan +} + +// makeScanner returns a scanner using b as the input buffer. +// b is not copied and may be modified by the scanner routines. +func makeScanner(b []byte) scanner { + scan := scanner{b: b} + scan.init() + return scan +} + +func (s *scanner) init() { + for i, c := range s.b { + if c == '_' { + s.b[i] = '-' + } + } + s.scan() +} + +// restToLower converts the string between start and end to lower case. +func (s *scanner) toLower(start, end int) { + for i := start; i < end; i++ { + c := s.b[i] + if 'A' <= c && c <= 'Z' { + s.b[i] += 'a' - 'A' + } + } +} + +func (s *scanner) setError(e error) { + if s.err == nil || (e == errSyntax && s.err != errSyntax) { + s.err = e + } +} + +// resizeRange shrinks or grows the array at position oldStart such that +// a new string of size newSize can fit between oldStart and oldEnd. +// Sets the scan point to after the resized range. +func (s *scanner) resizeRange(oldStart, oldEnd, newSize int) { + s.start = oldStart + if end := oldStart + newSize; end != oldEnd { + diff := end - oldEnd + if end < cap(s.b) { + b := make([]byte, len(s.b)+diff) + copy(b, s.b[:oldStart]) + copy(b[end:], s.b[oldEnd:]) + s.b = b + } else { + s.b = append(s.b[end:], s.b[oldEnd:]...) + } + s.next = end + (s.next - s.end) + s.end = end + } +} + +// replace replaces the current token with repl. +func (s *scanner) replace(repl string) { + s.resizeRange(s.start, s.end, len(repl)) + copy(s.b[s.start:], repl) +} + +// gobble removes the current token from the input. +// Caller must call scan after calling gobble. +func (s *scanner) gobble(e error) { + s.setError(e) + if s.start == 0 { + s.b = s.b[:+copy(s.b, s.b[s.next:])] + s.end = 0 + } else { + s.b = s.b[:s.start-1+copy(s.b[s.start-1:], s.b[s.end:])] + s.end = s.start - 1 + } + s.next = s.start +} + +// deleteRange removes the given range from s.b before the current token. +func (s *scanner) deleteRange(start, end int) { + s.setError(errSyntax) + s.b = s.b[:start+copy(s.b[start:], s.b[end:])] + diff := end - start + s.next -= diff + s.start -= diff + s.end -= diff +} + +// scan parses the next token of a BCP 47 string. Tokens that are larger +// than 8 characters or include non-alphanumeric characters result in an error +// and are gobbled and removed from the output. +// It returns the end position of the last token consumed. +func (s *scanner) scan() (end int) { + end = s.end + s.token = nil + for s.start = s.next; s.next < len(s.b); { + i := bytes.IndexByte(s.b[s.next:], '-') + if i == -1 { + s.end = len(s.b) + s.next = len(s.b) + i = s.end - s.start + } else { + s.end = s.next + i + s.next = s.end + 1 + } + token := s.b[s.start:s.end] + if i < 1 || i > 8 || !isAlphaNum(token) { + s.gobble(errSyntax) + continue + } + s.token = token + return end + } + if n := len(s.b); n > 0 && s.b[n-1] == '-' { + s.setError(errSyntax) + s.b = s.b[:len(s.b)-1] + } + s.done = true + return end +} + +// acceptMinSize parses multiple tokens of the given size or greater. +// It returns the end position of the last token consumed. +func (s *scanner) acceptMinSize(min int) (end int) { + end = s.end + s.scan() + for ; len(s.token) >= min; s.scan() { + end = s.end + } + return end +} + +// Parse parses the given BCP 47 string and returns a valid Tag. If parsing +// failed it returns an error and any part of the tag that could be parsed. +// If parsing succeeded but an unknown value was found, it returns +// ValueError. The Tag returned in this case is just stripped of the unknown +// value. All other values are preserved. It accepts tags in the BCP 47 format +// and extensions to this standard defined in +// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// The resulting tag is canonicalized using the default canonicalization type. +func Parse(s string) (t Tag, err error) { + return Default.Parse(s) +} + +// Parse parses the given BCP 47 string and returns a valid Tag. If parsing +// failed it returns an error and any part of the tag that could be parsed. +// If parsing succeeded but an unknown value was found, it returns +// ValueError. The Tag returned in this case is just stripped of the unknown +// value. All other values are preserved. It accepts tags in the BCP 47 format +// and extensions to this standard defined in +// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers. +// The resulting tag is canonicalized using the the canonicalization type c. +func (c CanonType) Parse(s string) (t Tag, err error) { + // TODO: consider supporting old-style locale key-value pairs. + if s == "" { + return und, errSyntax + } + if len(s) <= maxAltTaglen { + b := [maxAltTaglen]byte{} + for i, c := range s { + // Generating invalid UTF-8 is okay as it won't match. + if 'A' <= c && c <= 'Z' { + c += 'a' - 'A' + } else if c == '_' { + c = '-' + } + b[i] = byte(c) + } + if t, ok := grandfathered(b); ok { + return t, nil + } + } + scan := makeScannerString(s) + t, err = parse(&scan, s) + t, changed := t.canonicalize(c) + if changed { + t.remakeString() + } + return t, err +} + +func parse(scan *scanner, s string) (t Tag, err error) { + t = und + var end int + if n := len(scan.token); n <= 1 { + scan.toLower(0, len(scan.b)) + if n == 0 || scan.token[0] != 'x' { + return t, errSyntax + } + end = parseExtensions(scan) + } else if n >= 4 { + return und, errSyntax + } else { // the usual case + t, end = parseTag(scan) + if n := len(scan.token); n == 1 { + t.pExt = uint16(end) + end = parseExtensions(scan) + } else if end < len(scan.b) { + scan.setError(errSyntax) + scan.b = scan.b[:end] + } + } + if int(t.pVariant) < len(scan.b) { + if end < len(s) { + s = s[:end] + } + if len(s) > 0 && tag.Compare(s, scan.b) == 0 { + t.str = s + } else { + t.str = string(scan.b) + } + } else { + t.pVariant, t.pExt = 0, 0 + } + return t, scan.err +} + +// parseTag parses language, script, region and variants. +// It returns a Tag and the end position in the input that was parsed. +func parseTag(scan *scanner) (t Tag, end int) { + var e error + // TODO: set an error if an unknown lang, script or region is encountered. + t.lang, e = getLangID(scan.token) + scan.setError(e) + scan.replace(t.lang.String()) + langStart := scan.start + end = scan.scan() + for len(scan.token) == 3 && isAlpha(scan.token[0]) { + // From http://tools.ietf.org/html/bcp47, - tags are equivalent + // to a tag of the form . + lang, e := getLangID(scan.token) + if lang != 0 { + t.lang = lang + copy(scan.b[langStart:], lang.String()) + scan.b[langStart+3] = '-' + scan.start = langStart + 4 + } + scan.gobble(e) + end = scan.scan() + } + if len(scan.token) == 4 && isAlpha(scan.token[0]) { + t.script, e = getScriptID(script, scan.token) + if t.script == 0 { + scan.gobble(e) + } + end = scan.scan() + } + if n := len(scan.token); n >= 2 && n <= 3 { + t.region, e = getRegionID(scan.token) + if t.region == 0 { + scan.gobble(e) + } else { + scan.replace(t.region.String()) + } + end = scan.scan() + } + scan.toLower(scan.start, len(scan.b)) + t.pVariant = byte(end) + end = parseVariants(scan, end, t) + t.pExt = uint16(end) + return t, end +} + +var separator = []byte{'-'} + +// parseVariants scans tokens as long as each token is a valid variant string. +// Duplicate variants are removed. +func parseVariants(scan *scanner, end int, t Tag) int { + start := scan.start + varIDBuf := [4]uint8{} + variantBuf := [4][]byte{} + varID := varIDBuf[:0] + variant := variantBuf[:0] + last := -1 + needSort := false + for ; len(scan.token) >= 4; scan.scan() { + // TODO: measure the impact of needing this conversion and redesign + // the data structure if there is an issue. + v, ok := variantIndex[string(scan.token)] + if !ok { + // unknown variant + // TODO: allow user-defined variants? + scan.gobble(mkErrInvalid(scan.token)) + continue + } + varID = append(varID, v) + variant = append(variant, scan.token) + if !needSort { + if last < int(v) { + last = int(v) + } else { + needSort = true + // There is no legal combinations of more than 7 variants + // (and this is by no means a useful sequence). + const maxVariants = 8 + if len(varID) > maxVariants { + break + } + } + } + end = scan.end + } + if needSort { + sort.Sort(variantsSort{varID, variant}) + k, l := 0, -1 + for i, v := range varID { + w := int(v) + if l == w { + // Remove duplicates. + continue + } + varID[k] = varID[i] + variant[k] = variant[i] + k++ + l = w + } + if str := bytes.Join(variant[:k], separator); len(str) == 0 { + end = start - 1 + } else { + scan.resizeRange(start, end, len(str)) + copy(scan.b[scan.start:], str) + end = scan.end + } + } + return end +} + +type variantsSort struct { + i []uint8 + v [][]byte +} + +func (s variantsSort) Len() int { + return len(s.i) +} + +func (s variantsSort) Swap(i, j int) { + s.i[i], s.i[j] = s.i[j], s.i[i] + s.v[i], s.v[j] = s.v[j], s.v[i] +} + +func (s variantsSort) Less(i, j int) bool { + return s.i[i] < s.i[j] +} + +type bytesSort [][]byte + +func (b bytesSort) Len() int { + return len(b) +} + +func (b bytesSort) Swap(i, j int) { + b[i], b[j] = b[j], b[i] +} + +func (b bytesSort) Less(i, j int) bool { + return bytes.Compare(b[i], b[j]) == -1 +} + +// parseExtensions parses and normalizes the extensions in the buffer. +// It returns the last position of scan.b that is part of any extension. +// It also trims scan.b to remove excess parts accordingly. +func parseExtensions(scan *scanner) int { + start := scan.start + exts := [][]byte{} + private := []byte{} + end := scan.end + for len(scan.token) == 1 { + extStart := scan.start + ext := scan.token[0] + end = parseExtension(scan) + extension := scan.b[extStart:end] + if len(extension) < 3 || (ext != 'x' && len(extension) < 4) { + scan.setError(errSyntax) + end = extStart + continue + } else if start == extStart && (ext == 'x' || scan.start == len(scan.b)) { + scan.b = scan.b[:end] + return end + } else if ext == 'x' { + private = extension + break + } + exts = append(exts, extension) + } + sort.Sort(bytesSort(exts)) + if len(private) > 0 { + exts = append(exts, private) + } + scan.b = scan.b[:start] + if len(exts) > 0 { + scan.b = append(scan.b, bytes.Join(exts, separator)...) + } else if start > 0 { + // Strip trailing '-'. + scan.b = scan.b[:start-1] + } + return end +} + +// parseExtension parses a single extension and returns the position of +// the extension end. +func parseExtension(scan *scanner) int { + start, end := scan.start, scan.end + switch scan.token[0] { + case 'u': + attrStart := end + scan.scan() + for last := []byte{}; len(scan.token) > 2; scan.scan() { + if bytes.Compare(scan.token, last) != -1 { + // Attributes are unsorted. Start over from scratch. + p := attrStart + 1 + scan.next = p + attrs := [][]byte{} + for scan.scan(); len(scan.token) > 2; scan.scan() { + attrs = append(attrs, scan.token) + end = scan.end + } + sort.Sort(bytesSort(attrs)) + copy(scan.b[p:], bytes.Join(attrs, separator)) + break + } + last = scan.token + end = scan.end + } + var last, key []byte + for attrEnd := end; len(scan.token) == 2; last = key { + key = scan.token + keyEnd := scan.end + end = scan.acceptMinSize(3) + // TODO: check key value validity + if keyEnd == end || bytes.Compare(key, last) != 1 { + // We have an invalid key or the keys are not sorted. + // Start scanning keys from scratch and reorder. + p := attrEnd + 1 + scan.next = p + keys := [][]byte{} + for scan.scan(); len(scan.token) == 2; { + keyStart, keyEnd := scan.start, scan.end + end = scan.acceptMinSize(3) + if keyEnd != end { + keys = append(keys, scan.b[keyStart:end]) + } else { + scan.setError(errSyntax) + end = keyStart + } + } + sort.Sort(bytesSort(keys)) + reordered := bytes.Join(keys, separator) + if e := p + len(reordered); e < end { + scan.deleteRange(e, end) + end = e + } + copy(scan.b[p:], bytes.Join(keys, separator)) + break + } + } + case 't': + scan.scan() + if n := len(scan.token); n >= 2 && n <= 3 && isAlpha(scan.token[1]) { + _, end = parseTag(scan) + scan.toLower(start, end) + } + for len(scan.token) == 2 && !isAlpha(scan.token[1]) { + end = scan.acceptMinSize(3) + } + case 'x': + end = scan.acceptMinSize(1) + default: + end = scan.acceptMinSize(2) + } + return end +} + +// Compose creates a Tag from individual parts, which may be of type Tag, Base, +// Script, Region, Variant, []Variant, Extension, []Extension or error. If a +// Base, Script or Region or slice of type Variant or Extension is passed more +// than once, the latter will overwrite the former. Variants and Extensions are +// accumulated, but if two extensions of the same type are passed, the latter +// will replace the former. A Tag overwrites all former values and typically +// only makes sense as the first argument. The resulting tag is returned after +// canonicalizing using the Default CanonType. If one or more errors are +// encountered, one of the errors is returned. +func Compose(part ...interface{}) (t Tag, err error) { + return Default.Compose(part...) +} + +// Compose creates a Tag from individual parts, which may be of type Tag, Base, +// Script, Region, Variant, []Variant, Extension, []Extension or error. If a +// Base, Script or Region or slice of type Variant or Extension is passed more +// than once, the latter will overwrite the former. Variants and Extensions are +// accumulated, but if two extensions of the same type are passed, the latter +// will replace the former. A Tag overwrites all former values and typically +// only makes sense as the first argument. The resulting tag is returned after +// canonicalizing using CanonType c. If one or more errors are encountered, +// one of the errors is returned. +func (c CanonType) Compose(part ...interface{}) (t Tag, err error) { + var b builder + if err = b.update(part...); err != nil { + return und, err + } + t, _ = b.tag.canonicalize(c) + + if len(b.ext) > 0 || len(b.variant) > 0 { + sort.Sort(sortVariant(b.variant)) + sort.Strings(b.ext) + if b.private != "" { + b.ext = append(b.ext, b.private) + } + n := maxCoreSize + tokenLen(b.variant...) + tokenLen(b.ext...) + buf := make([]byte, n) + p := t.genCoreBytes(buf) + t.pVariant = byte(p) + p += appendTokens(buf[p:], b.variant...) + t.pExt = uint16(p) + p += appendTokens(buf[p:], b.ext...) + t.str = string(buf[:p]) + } else if b.private != "" { + t.str = b.private + t.remakeString() + } + return +} + +type builder struct { + tag Tag + + private string // the x extension + ext []string + variant []string + + err error +} + +func (b *builder) addExt(e string) { + if e == "" { + } else if e[0] == 'x' { + b.private = e + } else { + b.ext = append(b.ext, e) + } +} + +var errInvalidArgument = errors.New("invalid Extension or Variant") + +func (b *builder) update(part ...interface{}) (err error) { + replace := func(l *[]string, s string, eq func(a, b string) bool) bool { + if s == "" { + b.err = errInvalidArgument + return true + } + for i, v := range *l { + if eq(v, s) { + (*l)[i] = s + return true + } + } + return false + } + for _, x := range part { + switch v := x.(type) { + case Tag: + b.tag.lang = v.lang + b.tag.region = v.region + b.tag.script = v.script + if v.str != "" { + b.variant = nil + for x, s := "", v.str[v.pVariant:v.pExt]; s != ""; { + x, s = nextToken(s) + b.variant = append(b.variant, x) + } + b.ext, b.private = nil, "" + for i, e := int(v.pExt), ""; i < len(v.str); { + i, e = getExtension(v.str, i) + b.addExt(e) + } + } + case Base: + b.tag.lang = v.langID + case Script: + b.tag.script = v.scriptID + case Region: + b.tag.region = v.regionID + case Variant: + if !replace(&b.variant, v.variant, func(a, b string) bool { return a == b }) { + b.variant = append(b.variant, v.variant) + } + case Extension: + if !replace(&b.ext, v.s, func(a, b string) bool { return a[0] == b[0] }) { + b.addExt(v.s) + } + case []Variant: + b.variant = nil + for _, x := range v { + b.update(x) + } + case []Extension: + b.ext, b.private = nil, "" + for _, e := range v { + b.update(e) + } + // TODO: support parsing of raw strings based on morphology or just extensions? + case error: + err = v + } + } + return +} + +func tokenLen(token ...string) (n int) { + for _, t := range token { + n += len(t) + 1 + } + return +} + +func appendTokens(b []byte, token ...string) int { + p := 0 + for _, t := range token { + b[p] = '-' + copy(b[p+1:], t) + p += 1 + len(t) + } + return p +} + +type sortVariant []string + +func (s sortVariant) Len() int { + return len(s) +} + +func (s sortVariant) Swap(i, j int) { + s[j], s[i] = s[i], s[j] +} + +func (s sortVariant) Less(i, j int) bool { + return variantIndex[s[i]] < variantIndex[s[j]] +} + +func findExt(list []string, x byte) int { + for i, e := range list { + if e[0] == x { + return i + } + } + return -1 +} + +// getExtension returns the name, body and end position of the extension. +func getExtension(s string, p int) (end int, ext string) { + if s[p] == '-' { + p++ + } + if s[p] == 'x' { + return len(s), s[p:] + } + end = nextExtension(s, p) + return end, s[p:end] +} + +// nextExtension finds the next extension within the string, searching +// for the -- pattern from position p. +// In the fast majority of cases, language tags will have at most +// one extension and extensions tend to be small. +func nextExtension(s string, p int) int { + for n := len(s) - 3; p < n; { + if s[p] == '-' { + if s[p+2] == '-' { + return p + } + p += 3 + } else { + p++ + } + } + return len(s) +} + +var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight") + +// ParseAcceptLanguage parses the contents of an Accept-Language header as +// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and +// a list of corresponding quality weights. It is more permissive than RFC 2616 +// and may return non-nil slices even if the input is not valid. +// The Tags will be sorted by highest weight first and then by first occurrence. +// Tags with a weight of zero will be dropped. An error will be returned if the +// input could not be parsed. +func ParseAcceptLanguage(s string) (tag []Tag, q []float32, err error) { + var entry string + for s != "" { + if entry, s = split(s, ','); entry == "" { + continue + } + + entry, weight := split(entry, ';') + + // Scan the language. + t, err := Parse(entry) + if err != nil { + id, ok := acceptFallback[entry] + if !ok { + return nil, nil, err + } + t = Tag{lang: id} + } + + // Scan the optional weight. + w := 1.0 + if weight != "" { + weight = consume(weight, 'q') + weight = consume(weight, '=') + // consume returns the empty string when a token could not be + // consumed, resulting in an error for ParseFloat. + if w, err = strconv.ParseFloat(weight, 32); err != nil { + return nil, nil, errInvalidWeight + } + // Drop tags with a quality weight of 0. + if w <= 0 { + continue + } + } + + tag = append(tag, t) + q = append(q, float32(w)) + } + sortStable(&tagSort{tag, q}) + return tag, q, nil +} + +// consume removes a leading token c from s and returns the result or the empty +// string if there is no such token. +func consume(s string, c byte) string { + if s == "" || s[0] != c { + return "" + } + return strings.TrimSpace(s[1:]) +} + +func split(s string, c byte) (head, tail string) { + if i := strings.IndexByte(s, c); i >= 0 { + return strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+1:]) + } + return strings.TrimSpace(s), "" +} + +// Add hack mapping to deal with a small number of cases that that occur +// in Accept-Language (with reasonable frequency). +var acceptFallback = map[string]langID{ + "english": _en, + "deutsch": _de, + "italian": _it, + "french": _fr, + "*": _mul, // defined in the spec to match all languages. +} + +type tagSort struct { + tag []Tag + q []float32 +} + +func (s *tagSort) Len() int { + return len(s.q) +} + +func (s *tagSort) Less(i, j int) bool { + return s.q[i] > s.q[j] +} + +func (s *tagSort) Swap(i, j int) { + s.tag[i], s.tag[j] = s.tag[j], s.tag[i] + s.q[i], s.q[j] = s.q[j], s.q[i] +} diff --git a/vendor/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go new file mode 100644 index 000000000000..ec17f97add63 --- /dev/null +++ b/vendor/golang.org/x/text/language/tables.go @@ -0,0 +1,3675 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package language + +import "golang.org/x/text/internal/tag" + +// CLDRVersion is the CLDR version from which the tables in this package are derived. +const CLDRVersion = "31" + +const numLanguages = 8665 + +const numScripts = 237 + +const numRegions = 357 + +type fromTo struct { + from uint16 + to uint16 +} + +const nonCanonicalUnd = 1199 +const ( + _af = 22 + _am = 39 + _ar = 58 + _az = 88 + _bg = 126 + _bn = 165 + _ca = 215 + _cs = 249 + _da = 256 + _de = 268 + _el = 309 + _en = 312 + _es = 317 + _et = 319 + _fa = 327 + _fi = 336 + _fil = 338 + _fr = 349 + _gu = 418 + _he = 442 + _hi = 444 + _hr = 463 + _hu = 467 + _hy = 469 + _id = 479 + _is = 502 + _it = 503 + _ja = 510 + _ka = 526 + _kk = 576 + _km = 584 + _kn = 591 + _ko = 594 + _ky = 648 + _lo = 694 + _lt = 702 + _lv = 709 + _mk = 765 + _ml = 770 + _mn = 777 + _mo = 782 + _mr = 793 + _ms = 797 + _mul = 804 + _my = 815 + _nb = 837 + _ne = 847 + _nl = 869 + _no = 877 + _pa = 923 + _pl = 945 + _pt = 958 + _ro = 986 + _ru = 992 + _sh = 1029 + _si = 1034 + _sk = 1040 + _sl = 1044 + _sq = 1071 + _sr = 1072 + _sv = 1090 + _sw = 1091 + _ta = 1102 + _te = 1119 + _th = 1129 + _tl = 1144 + _tn = 1150 + _tr = 1160 + _uk = 1196 + _ur = 1202 + _uz = 1210 + _vi = 1217 + _zh = 1319 + _zu = 1324 + _jbo = 513 + _ami = 1647 + _bnn = 2354 + _hak = 436 + _tlh = 14464 + _lb = 659 + _nv = 897 + _pwn = 12052 + _tao = 14185 + _tay = 14195 + _tsu = 14659 + _nn = 872 + _sfb = 13626 + _vgt = 15698 + _sgg = 13657 + _cmn = 3004 + _nan = 833 + _hsn = 465 +) + +const langPrivateStart = 0x2f6f + +const langPrivateEnd = 0x3176 + +// lang holds an alphabetically sorted list of ISO-639 language identifiers. +// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. +// For 2-byte language identifiers, the two successive bytes have the following meaning: +// - if the first letter of the 2- and 3-letter ISO codes are the same: +// the second and third letter of the 3-letter ISO code. +// - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. +// For 3-byte language identifiers the 4th byte is 0. +const lang tag.Index = "" + // Size: 5312 bytes + "---\x00aaaraai\x00aak\x00aau\x00abbkabi\x00abq\x00abr\x00abt\x00aby\x00a" + + "cd\x00ace\x00ach\x00ada\x00ade\x00adj\x00ady\x00adz\x00aeveaeb\x00aey" + + "\x00affragc\x00agd\x00agg\x00agm\x00ago\x00agq\x00aha\x00ahl\x00aho\x00a" + + "jg\x00akkaakk\x00ala\x00ali\x00aln\x00alt\x00ammhamm\x00amn\x00amo\x00am" + + "p\x00anrganc\x00ank\x00ann\x00any\x00aoj\x00aom\x00aoz\x00apc\x00apd\x00" + + "ape\x00apr\x00aps\x00apz\x00arraarc\x00arh\x00arn\x00aro\x00arq\x00ars" + + "\x00ary\x00arz\x00assmasa\x00ase\x00asg\x00aso\x00ast\x00ata\x00atg\x00a" + + "tj\x00auy\x00avvaavl\x00avn\x00avt\x00avu\x00awa\x00awb\x00awo\x00awx" + + "\x00ayymayb\x00azzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bav\x00bax\x00" + + "bba\x00bbb\x00bbc\x00bbd\x00bbj\x00bbp\x00bbr\x00bcf\x00bch\x00bci\x00bc" + + "m\x00bcn\x00bco\x00bcq\x00bcu\x00bdd\x00beelbef\x00beh\x00bej\x00bem\x00" + + "bet\x00bew\x00bex\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc\x00bgn" + + "\x00bgx\x00bhihbhb\x00bhg\x00bhi\x00bhk\x00bhl\x00bho\x00bhy\x00biisbib" + + "\x00big\x00bik\x00bim\x00bin\x00bio\x00biq\x00bjh\x00bji\x00bjj\x00bjn" + + "\x00bjo\x00bjr\x00bjt\x00bjz\x00bkc\x00bkm\x00bkq\x00bku\x00bkv\x00blt" + + "\x00bmambmh\x00bmk\x00bmq\x00bmu\x00bnenbng\x00bnm\x00bnp\x00boodboj\x00" + + "bom\x00bon\x00bpy\x00bqc\x00bqi\x00bqp\x00bqv\x00brrebra\x00brh\x00brx" + + "\x00brz\x00bsosbsj\x00bsq\x00bss\x00bst\x00bto\x00btt\x00btv\x00bua\x00b" + + "uc\x00bud\x00bug\x00buk\x00bum\x00buo\x00bus\x00buu\x00bvb\x00bwd\x00bwr" + + "\x00bxh\x00bye\x00byn\x00byr\x00bys\x00byv\x00byx\x00bza\x00bze\x00bzf" + + "\x00bzh\x00bzw\x00caatcan\x00cbj\x00cch\x00ccp\x00ceheceb\x00cfa\x00cgg" + + "\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00cjv\x00ckb\x00c" + + "kl\x00cko\x00cky\x00cla\x00cme\x00cooscop\x00cps\x00crrecrh\x00crj\x00cr" + + "k\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymdaandad" + + "\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00ddn" + + "\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia\x00d" + + "je\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm\x00dtp" + + "\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00dyo\x00d" + + "yu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00elllema" + + "\x00emi\x00enngenn\x00enq\x00eopoeri\x00es\x00\x05esu\x00etstetr\x00ett" + + "\x00etu\x00etx\x00euusewo\x00ext\x00faasfaa\x00fab\x00fag\x00fai\x00fan" + + "\x00ffulffi\x00ffm\x00fiinfia\x00fil\x00fit\x00fjijflr\x00fmp\x00foaofod" + + "\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00fub\x00f" + + "ud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyrygalega" + + "a\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gbf\x00gbm" + + "\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00gej\x00gel\x00g" + + "ez\x00gfk\x00ggn\x00ghs\x00gil\x00gim\x00gjk\x00gjn\x00gju\x00gkn\x00gkp" + + "\x00gllgglk\x00gmm\x00gmv\x00gnrngnd\x00gng\x00god\x00gof\x00goi\x00gom" + + "\x00gon\x00gor\x00gos\x00got\x00grb\x00grc\x00grt\x00grw\x00gsw\x00guujg" + + "ub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf\x00gvr\x00gvs" + + "\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00haw\x00haz\x00h" + + "bb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hil\x00hla\x00hl" + + "u\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00" + + "hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian\x00iar\x00iba" + + "\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00ieleife\x00igbo" + + "igb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00ilo\x00imo\x00i" + + "nndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00iws\x00izh\x00i" + + "zi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo\x00ji\x00\x06jib" + + "\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kad\x00" + + "kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq\x00kbx\x00kby\x00kc" + + "g\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt\x00kea\x00ken\x00kez" + + "\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00kha\x00khb\x00khn\x00k" + + "hq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu\x00kiw\x00kjuakjd\x00kj" + + "g\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00klq\x00klt\x00klx\x00kmh" + + "mkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knanknf\x00knp\x00koorkoi\x00" + + "kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo\x00kpr\x00kpx\x00kqb\x00kq" + + "f\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00krl\x00krs\x00kru\x00ksasksb" + + "\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb\x00ktm\x00kto\x00kuurkub\x00k" + + "ud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00kus\x00kvomkvg\x00kvr\x00kvx" + + "\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm\x00kxp\x00kxw\x00kxz\x00ky" + + "irkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag\x00lah\x00laj\x00las\x00lbt" + + "zlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00led\x00lee\x00lem\x00lep\x00l" + + "eq\x00leu\x00lez\x00lguglgg\x00liimlia\x00lid\x00lif\x00lig\x00lih\x00li" + + "j\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln\x00lmn\x00lmo\x00lmp\x00lnin" + + "lns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor\x00los\x00loz\x00lrc\x00ltitl" + + "tg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00lzz\x00mad\x00ma" + + "f\x00mag\x00mai\x00mak\x00man\x00mas\x00maw\x00maz\x00mbh\x00mbo\x00mbq" + + "\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr\x00mcu\x00mda\x00mde\x00mdf" + + "\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee\x00mek\x00men\x00mer\x00met" + + "\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq\x00mglgmgh\x00mgl\x00mgo\x00m" + + "gp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00min\x00mis\x00miw\x00mkkdmki" + + "\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00mls\x00mmo\x00mmu\x00mmx\x00m" + + "nonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00moe\x00moh\x00mos\x00mox\x00mp" + + "p\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00mrj\x00mro\x00mssamtltmtc" + + "\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00mus\x00mva\x00mvn\x00mvy" + + "\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk\x00mym\x00myv\x00myw\x00m" + + "yx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw\x00mzz\x00naaunac\x00naf" + + "\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00nbobnca\x00nce\x00ncf\x00n" + + "ch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb\x00new\x00nex\x00nfr\x00ng" + + "donga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00nif\x00nii\x00nij\x00nin\x00" + + "niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nlldnmg\x00nmz\x00nnnonnf\x00n" + + "nh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00nop\x00nou\x00nqo\x00nrblnr" + + "b\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr\x00nui\x00nup\x00nus\x00nuv" + + "\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym\x00nyn\x00nzi\x00occiogc\x00" + + "ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00opm\x00orrioro\x00oru\x00osss" + + "osa\x00ota\x00otk\x00ozm\x00paanpag\x00pal\x00pam\x00pap\x00pau\x00pbi" + + "\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo\x00pex\x00pfl\x00phl\x00phn" + + "\x00pilipil\x00pip\x00pka\x00pko\x00plolpla\x00pms\x00png\x00pnn\x00pnt" + + "\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psuspss\x00ptorptp\x00puu\x00pwa" + + "\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rcf\x00rej\x00rel\x00res\x00r" + + "gn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf\x00rmo\x00rmt\x00rmu" + + "\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00rro\x00rtm\x00ruusrue\x00" + + "rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sa" + + "t\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrdsck\x00scl\x00scn\x00sco\x00" + + "scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00ses\x00sgagsga\x00sgs" + + "\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn\x00shu\x00siinsid\x00sig" + + "\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks\x00sllvsld\x00sli\x00sll" + + "\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp\x00smq\x00sms\x00snnasnc" + + "\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq\x00sou\x00soy\x00spd\x00s" + + "pl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssd\x00ssg\x00ssy" + + "\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00sur\x00sus\x00svweswwaswb" + + "\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00syl\x00syr\x00szl\x00taamt" + + "aj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf\x00tbg\x00tbo\x00tbw\x00tbz" + + "\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelted\x00tem\x00teo\x00tet\x00t" + + "fi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00thq\x00thr\x00tiirtif\x00tig" + + "\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr\x00tkt\x00tlgltlf\x00tlx" + + "\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00tog\x00toq\x00tpi\x00tpm" + + "\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssotsd\x00tsf\x00tsg\x00tsj" + + "\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts\x00ttt\x00tuh\x00tul\x00t" + + "um\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00twq\x00txg\x00tyahtya\x00ty" + + "v\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli\x00umb\x00und\x00unr\x00unx" + + "\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00uvh\x00uvl\x00uzzbvag\x00vai" + + "\x00van\x00veenvec\x00vep\x00viievic\x00viv\x00vls\x00vmf\x00vmw\x00vool" + + "vot\x00vro\x00vun\x00vut\x00walnwae\x00waj\x00wal\x00wan\x00war\x00wbp" + + "\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg\x00wib\x00wiu\x00wiv\x00wja" + + "\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu\x00woolwob\x00wos\x00wrs\x00w" + + "sk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00xbi\x00xcr\x00xes\x00xhhoxla" + + "\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xon\x00xpr" + + "\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe\x00yam\x00yao\x00yap\x00yas" + + "\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb\x00yby\x00yer\x00ygr\x00ygw" + + "\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00yooryon\x00yrb\x00yre\x00yrl" + + "\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw\x00zahazag\x00zbl\x00zdj\x00z" + + "ea\x00zgh\x00zhhozia\x00zlm\x00zmi\x00zne\x00zuulzxx\x00zza\x00\xff\xff" + + "\xff\xff" + +const langNoIndexOffset = 1327 + +// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index +// in lookup tables. The language ids for these language codes are derived directly +// from the letters and are not consecutive. +// Size: 2197 bytes, 2197 elements +var langNoIndex = [2197]uint8{ + // Entry 0 - 3F + 0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2, + 0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57, + 0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70, + 0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62, + 0xe9, 0xbf, 0xfd, 0xbf, 0xbf, 0xf7, 0xfd, 0x77, + 0x0f, 0xff, 0xef, 0x6f, 0xff, 0xfb, 0xdf, 0xe2, + 0xc9, 0xf8, 0x7f, 0x7e, 0x4d, 0xb8, 0x0a, 0x6a, + 0x7c, 0xea, 0xe3, 0xfa, 0x7a, 0xbf, 0x67, 0xff, + // Entry 40 - 7F + 0xff, 0xff, 0xff, 0xdf, 0x2a, 0x54, 0x91, 0xc0, + 0x5d, 0xe3, 0x97, 0x14, 0x07, 0x20, 0xdd, 0xed, + 0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0x35, + 0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff, + 0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5, + 0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3, + 0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce, + 0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf, + // Entry 80 - BF + 0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff, + 0xbb, 0xee, 0xf7, 0xbd, 0xdb, 0xff, 0x5f, 0xf7, + 0xfd, 0xf2, 0xfd, 0xff, 0x5e, 0x2f, 0x3b, 0xba, + 0x7e, 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xdd, 0xff, + 0xfd, 0xdf, 0xfb, 0xfe, 0x9d, 0xb4, 0xd3, 0xff, + 0xef, 0xff, 0xdf, 0xf7, 0x7f, 0xb7, 0xfd, 0xd5, + 0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c, + 0x08, 0x20, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80, + // Entry C0 - FF + 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96, + 0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56, + 0x45, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef, + 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10, + 0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35, + 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00, + 0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d, + // Entry 100 - 13F + 0xfd, 0xdc, 0xbe, 0x5e, 0x00, 0x00, 0x02, 0x64, + 0x0d, 0x19, 0x41, 0xdf, 0x79, 0x22, 0x00, 0x00, + 0x00, 0x5e, 0x64, 0xdc, 0x24, 0xe5, 0xd9, 0xe3, + 0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c, + 0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f, + 0x56, 0x89, 0x5e, 0xb5, 0x6c, 0xaf, 0x03, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xda, 0x56, + 0x90, 0x69, 0x01, 0x2c, 0x96, 0x69, 0x20, 0xfb, + // Entry 140 - 17F + 0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x16, + 0x01, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06, + 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09, + 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04, + 0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04, + 0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35, + 0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03, + // Entry 180 - 1BF + 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x13, 0x39, 0x01, 0xdd, 0x57, 0x98, + 0x21, 0x18, 0x81, 0x00, 0x00, 0x01, 0x40, 0x82, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0x80, 0xea, + 0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + // Entry 1C0 - 1FF + 0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x20, 0x04, 0xa6, 0x00, 0x04, 0x00, 0x00, + 0x81, 0x50, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x55, + 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x40, + 0x30, 0x83, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0xcd, 0xbf, 0x7e, 0xbf, + // Entry 200 - 23F + 0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27, + 0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5, + 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf, + 0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3, + 0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d, + 0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01, + 0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f, + 0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54, + // Entry 240 - 27F + 0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00, + 0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0, + 0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00, + 0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04, + 0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00, + 0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff, + 0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66, + // Entry 280 - 2BF + 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05, + 0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51, + 0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60, + 0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80, + 0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04, + 0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20, + // Entry 2C0 - 2FF + 0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2, + 0x50, 0x27, 0x1d, 0x11, 0x29, 0x06, 0x59, 0xe9, + 0x33, 0x08, 0x00, 0x20, 0x04, 0x40, 0x10, 0x00, + 0x00, 0x00, 0x50, 0x44, 0x92, 0x49, 0xd6, 0x5d, + 0xa7, 0x81, 0x47, 0x97, 0xfb, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x80, 0x00, 0x40, 0x04, 0x00, 0x01, + 0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x00, 0x08, + 0xd8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x12, 0x00, + // Entry 300 - 33F + 0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa0, + 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x04, 0x10, 0xd0, 0x9d, 0x95, 0x13, 0x04, 0x80, + 0x00, 0x01, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0, + 0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x4a, 0x00, + 0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0x80, + 0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00, + // Entry 340 - 37F + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, + 0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0x84, 0xe3, + 0xdd, 0xbf, 0xf9, 0xf9, 0x3b, 0x7f, 0x7f, 0xdb, + 0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6, + 0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff, + 0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff, + 0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f, + 0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f, + // Entry 380 - 3BF + 0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f, + 0xd5, 0xdf, 0x7f, 0xff, 0xeb, 0xff, 0xe4, 0x4d, + 0xf9, 0xff, 0xfe, 0xf7, 0xfd, 0xdf, 0xfb, 0xbf, + 0xee, 0xdb, 0x6f, 0xef, 0xff, 0x7f, 0xff, 0xff, + 0xf7, 0x5f, 0xd3, 0x3b, 0xfd, 0xd9, 0xdf, 0xeb, + 0xbc, 0x08, 0x05, 0x24, 0xff, 0x07, 0x70, 0xfe, + 0xe6, 0x5e, 0x00, 0x08, 0x00, 0x83, 0x3d, 0x1b, + 0x06, 0xe6, 0x72, 0x60, 0xd1, 0x3c, 0x7f, 0x44, + // Entry 3C0 - 3FF + 0x02, 0x30, 0x9f, 0x7a, 0x16, 0xbd, 0x7f, 0x57, + 0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7, + 0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00, + 0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11, + 0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01, + 0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10, + 0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2, + 0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe, + // Entry 400 - 43F + 0x53, 0x6f, 0xdf, 0xe7, 0xdb, 0x65, 0xbb, 0x7f, + 0xfa, 0xff, 0x77, 0xf3, 0xef, 0xbf, 0xfd, 0xf7, + 0xdf, 0xdf, 0x9b, 0x7f, 0xff, 0xff, 0x7f, 0x6f, + 0xf7, 0xfb, 0xeb, 0xdf, 0xbc, 0xff, 0xbf, 0x6b, + 0x7b, 0xfb, 0xff, 0xce, 0x76, 0xbd, 0xf7, 0xf7, + 0xdf, 0xdc, 0xf7, 0xf7, 0xff, 0xdf, 0xf3, 0xfe, + 0xef, 0xff, 0xff, 0xff, 0xb6, 0x7f, 0x7f, 0xde, + 0xf7, 0xb9, 0xeb, 0x77, 0xff, 0xfb, 0xbf, 0xdf, + // Entry 440 - 47F + 0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d, + 0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd, + 0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf, + 0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7, + 0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce, + 0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd, + 0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff, + 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4, + // Entry 480 - 4BF + 0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb, + 0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20, + 0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41, + 0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05, + 0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04, + 0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00, + 0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1, + // Entry 4C0 - 4FF + 0xfd, 0x47, 0x49, 0x06, 0x95, 0x06, 0x57, 0xed, + 0xfb, 0x4c, 0x1c, 0x6b, 0x83, 0x04, 0x62, 0x40, + 0x00, 0x11, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83, + 0xb8, 0x4f, 0x10, 0x8c, 0x89, 0x46, 0xde, 0xf7, + 0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00, + 0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d, + 0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41, + // Entry 500 - 53F + 0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49, + 0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7, + 0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xf8, + 0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xe5, 0xf7, + 0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7e, 0x10, + 0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9, + 0x5b, 0x05, 0x86, 0xed, 0xf5, 0x77, 0xbd, 0x3c, + 0x00, 0x00, 0x00, 0x42, 0x71, 0x42, 0x00, 0x40, + // Entry 540 - 57F + 0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + // Entry 580 - 5BF + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d, + 0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0xce, 0xfb, 0xbf, + 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x30, 0x15, 0xa3, 0x10, 0x00, 0x00, 0x00, + 0x11, 0x04, 0x16, 0x00, 0x00, 0x02, 0x00, 0x81, + 0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40, + // Entry 5C0 - 5FF + 0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x3e, 0x02, + 0xaa, 0x10, 0x5d, 0x98, 0x52, 0x00, 0x80, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x02, + 0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d, + 0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20, + 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00, + 0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f, + 0x1f, 0x98, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe, + // Entry 600 - 63F + 0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9, + 0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1, + 0x73, 0xb1, 0x7f, 0x9f, 0x7f, 0xbd, 0xfc, 0xb7, + 0xee, 0x1c, 0xfa, 0xcb, 0xef, 0xdd, 0xf9, 0xbd, + 0x6e, 0xae, 0x55, 0xfd, 0x6e, 0x81, 0x76, 0x1f, + 0xd4, 0x77, 0xf5, 0x7d, 0xfb, 0xff, 0xeb, 0xfe, + 0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18, + 0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f, + // Entry 640 - 67F + 0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c, + 0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde, + 0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98, + 0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff, + 0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4, + 0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7, + 0x5f, 0xff, 0xff, 0x9e, 0xdb, 0xf6, 0xd7, 0xb9, + 0xef, 0x27, 0x80, 0xbb, 0xc5, 0xff, 0xff, 0xe3, + // Entry 680 - 6BF + 0x97, 0x9d, 0xbf, 0x9f, 0xf7, 0xc7, 0xfd, 0x37, + 0xce, 0x7f, 0x04, 0x1d, 0x53, 0x7f, 0xf8, 0xda, + 0x5d, 0xce, 0x7d, 0x06, 0xb9, 0xea, 0x69, 0xa0, + 0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x08, + 0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00, + 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06, + 0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, + 0x04, 0x00, 0x10, 0xcc, 0x58, 0xd5, 0x0d, 0x0f, + // Entry 6C0 - 6FF + 0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08, + 0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, + 0x00, 0xdc, 0xfb, 0xcb, 0x0e, 0x58, 0x08, 0x41, + 0x04, 0x20, 0x04, 0x00, 0x30, 0x12, 0x40, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xab, + 0x6d, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00, + // Entry 700 - 73F + 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x80, 0x86, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79, + 0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 740 - 77F + 0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e, + 0xb0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44, + 0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04, + 0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a, + 0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55, + 0x97, 0x7c, 0x9f, 0x31, 0xcc, 0x68, 0xd1, 0x03, + 0xd5, 0x57, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2c, 0xf7, 0xcb, 0x1f, 0x14, 0x60, + // Entry 780 - 7BF + 0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0x8a, 0x01, + 0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00, + 0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0, + 0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78, + 0x78, 0x15, 0x50, 0x01, 0xa4, 0x84, 0xa9, 0x41, + 0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00, + 0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02, + 0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed, + // Entry 7C0 - 7FF + 0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xd5, 0x42, + 0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0x40, 0x56, + 0xcc, 0x16, 0x9e, 0xea, 0x35, 0x7d, 0xef, 0xff, + 0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x4d, + 0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80, + 0x10, 0x20, 0x24, 0x00, 0xff, 0x2f, 0xd3, 0x60, + 0xfe, 0x01, 0x02, 0x88, 0x0a, 0x40, 0x16, 0x01, + 0x01, 0x15, 0x2b, 0x3c, 0x01, 0x00, 0x00, 0x10, + // Entry 800 - 83F + 0x90, 0x49, 0x41, 0x02, 0x02, 0x01, 0xe1, 0xbf, + 0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa3, 0xd1, + 0x40, 0x9c, 0x44, 0xdf, 0xf5, 0x8f, 0x66, 0xb3, + 0x55, 0x20, 0xd4, 0xc1, 0xd8, 0x30, 0x3d, 0x80, + 0x00, 0x00, 0x00, 0x04, 0xd4, 0x11, 0xc5, 0x84, + 0x2e, 0x50, 0x00, 0x22, 0x50, 0x6e, 0xbd, 0x93, + 0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10, + 0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00, + // Entry 840 - 87F + 0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28, + 0x84, 0x00, 0x23, 0xc0, 0x23, 0x24, 0x00, 0x00, + 0x00, 0xcb, 0xe4, 0x3a, 0x42, 0x88, 0x14, 0xf1, + 0xef, 0xff, 0x7f, 0x12, 0x01, 0x01, 0x84, 0x50, + 0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40, + 0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1, + // Entry 880 - 8BF + 0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24, + 0x0a, 0x00, 0x80, 0x00, 0x00, +} + +// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives +// to 2-letter language codes that cannot be derived using the method described above. +// Each 3-letter code is followed by its 1-byte langID. +const altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff" + +// altLangIndex is used to convert indexes in altLangISO3 to langIDs. +// Size: 12 bytes, 6 elements +var altLangIndex = [6]uint16{ + 0x027f, 0x0405, 0x01f9, 0x03e3, 0x013d, 0x0206, +} + +// langAliasMap maps langIDs to their suggested replacements. +// Size: 656 bytes, 164 elements +var langAliasMap = [164]fromTo{ + 0: {from: 0x82, to: 0x88}, + 1: {from: 0x185, to: 0x1ac}, + 2: {from: 0x1f1, to: 0x1df}, + 3: {from: 0x1f9, to: 0x1ba}, + 4: {from: 0x206, to: 0x510}, + 5: {from: 0x20d, to: 0x20c}, + 6: {from: 0x30e, to: 0x3da}, + 7: {from: 0x345, to: 0x36d}, + 8: {from: 0x405, to: 0x430}, + 9: {from: 0x478, to: 0x152}, + 10: {from: 0x48e, to: 0x44f}, + 11: {from: 0x4a0, to: 0x21}, + 12: {from: 0x53b, to: 0x541}, + 13: {from: 0x58c, to: 0x12c}, + 14: {from: 0x62d, to: 0x1eae}, + 15: {from: 0x64e, to: 0x42f}, + 16: {from: 0x65f, to: 0x42f}, + 17: {from: 0x6ea, to: 0x3a}, + 18: {from: 0x6f5, to: 0x1d5}, + 19: {from: 0x73b, to: 0x219e}, + 20: {from: 0x7b0, to: 0x56}, + 21: {from: 0x7b6, to: 0x2998}, + 22: {from: 0x7c2, to: 0x58}, + 23: {from: 0x7e3, to: 0x144}, + 24: {from: 0x809, to: 0x5a}, + 25: {from: 0x812, to: 0x8d}, + 26: {from: 0x87b, to: 0x80d}, + 27: {from: 0x8c0, to: 0xee0}, + 28: {from: 0x9ec, to: 0x32f}, + 29: {from: 0xa33, to: 0x2c3}, + 30: {from: 0xa3a, to: 0xbf}, + 31: {from: 0xabb, to: 0x331f}, + 32: {from: 0xb35, to: 0x527}, + 33: {from: 0xb72, to: 0x2657}, + 34: {from: 0xb7b, to: 0xbc0}, + 35: {from: 0xb98, to: 0x44c}, + 36: {from: 0xbb9, to: 0x4226}, + 37: {from: 0xbbc, to: 0x527}, + 38: {from: 0xbfb, to: 0x2da4}, + 39: {from: 0xc2b, to: 0x317e}, + 40: {from: 0xcb6, to: 0xf2}, + 41: {from: 0xd05, to: 0xf9}, + 42: {from: 0xdc5, to: 0x119}, + 43: {from: 0xdd4, to: 0x32b}, + 44: {from: 0xdf5, to: 0xdf8}, + 45: {from: 0xdfb, to: 0x52e}, + 46: {from: 0xedc, to: 0x2057}, + 47: {from: 0xeeb, to: 0x2e97}, + 48: {from: 0xf36, to: 0x365}, + 49: {from: 0x10cd, to: 0x13f}, + 50: {from: 0x1101, to: 0x2ce}, + 51: {from: 0x119d, to: 0x1ea}, + 52: {from: 0x1276, to: 0x21}, + 53: {from: 0x1421, to: 0x15d}, + 54: {from: 0x146d, to: 0x14d}, + 55: {from: 0x151c, to: 0xd98}, + 56: {from: 0x1520, to: 0x38e}, + 57: {from: 0x152f, to: 0x19d}, + 58: {from: 0x157d, to: 0x20e}, + 59: {from: 0x1580, to: 0x10c}, + 60: {from: 0x15a0, to: 0x3cac}, + 61: {from: 0x1667, to: 0x199}, + 62: {from: 0x16c5, to: 0x135}, + 63: {from: 0x16fd, to: 0x29f5}, + 64: {from: 0x1715, to: 0x192}, + 65: {from: 0x1724, to: 0xf3c}, + 66: {from: 0x1777, to: 0x1521}, + 67: {from: 0x1806, to: 0x17b3}, + 68: {from: 0x1813, to: 0x18f0}, + 69: {from: 0x1887, to: 0x434}, + 70: {from: 0x1976, to: 0x1cfe}, + 71: {from: 0x1a71, to: 0x2bad}, + 72: {from: 0x1a87, to: 0x1f6}, + 73: {from: 0x1b57, to: 0x1f8}, + 74: {from: 0x1b83, to: 0x1512}, + 75: {from: 0x1d61, to: 0x2c98}, + 76: {from: 0x2035, to: 0x37ae}, + 77: {from: 0x203a, to: 0x20da}, + 78: {from: 0x2057, to: 0x309}, + 79: {from: 0x20e0, to: 0x272}, + 80: {from: 0x20eb, to: 0x261}, + 81: {from: 0x20ef, to: 0x22b}, + 82: {from: 0x20f6, to: 0x254}, + 83: {from: 0x210c, to: 0x21e8}, + 84: {from: 0x2132, to: 0x27b}, + 85: {from: 0x215d, to: 0x910}, + 86: {from: 0x2196, to: 0x120}, + 87: {from: 0x21cb, to: 0x155e}, + 88: {from: 0x21e3, to: 0x502}, + 89: {from: 0x21f1, to: 0x49d}, + 90: {from: 0x222a, to: 0x120}, + 91: {from: 0x2234, to: 0x120}, + 92: {from: 0x225f, to: 0x927}, + 93: {from: 0x2313, to: 0x3223}, + 94: {from: 0x237f, to: 0x3362}, + 95: {from: 0x246f, to: 0x2c5}, + 96: {from: 0x24e1, to: 0x2fd}, + 97: {from: 0x24ed, to: 0x2f8}, + 98: {from: 0x24f7, to: 0x31d}, + 99: {from: 0x254d, to: 0xb58}, + 100: {from: 0x25a6, to: 0xe2}, + 101: {from: 0x263b, to: 0x2ce}, + 102: {from: 0x26c6, to: 0x26b1}, + 103: {from: 0x26f6, to: 0x3c6}, + 104: {from: 0x2724, to: 0x3cac}, + 105: {from: 0x2762, to: 0x26b1}, + 106: {from: 0x2786, to: 0x4355}, + 107: {from: 0x28ec, to: 0x2834}, + 108: {from: 0x2911, to: 0x34f}, + 109: {from: 0x2983, to: 0x2da4}, + 110: {from: 0x2b17, to: 0x38b}, + 111: {from: 0x2bf9, to: 0x393}, + 112: {from: 0x2c3c, to: 0x3cac}, + 113: {from: 0x2cf9, to: 0x3bc}, + 114: {from: 0x2d10, to: 0x594}, + 115: {from: 0x2d44, to: 0x147}, + 116: {from: 0x2d45, to: 0x147}, + 117: {from: 0x2dfc, to: 0x2ef}, + 118: {from: 0x2e05, to: 0x19c9}, + 119: {from: 0x2e17, to: 0x2d92}, + 120: {from: 0x2e1e, to: 0x290}, + 121: {from: 0x2e51, to: 0x7d}, + 122: {from: 0x2e62, to: 0x227f}, + 123: {from: 0x2e9d, to: 0x2e98}, + 124: {from: 0x2eec, to: 0x2ed4}, + 125: {from: 0x3190, to: 0x3c2}, + 126: {from: 0x3363, to: 0x338b}, + 127: {from: 0x3427, to: 0x3da}, + 128: {from: 0x34eb, to: 0x18cd}, + 129: {from: 0x35c5, to: 0x2c98}, + 130: {from: 0x35e3, to: 0x410}, + 131: {from: 0x3655, to: 0x244}, + 132: {from: 0x3673, to: 0x3f2}, + 133: {from: 0x36fa, to: 0x443}, + 134: {from: 0x37bd, to: 0x120}, + 135: {from: 0x3813, to: 0x38ef}, + 136: {from: 0x3828, to: 0x2c98}, + 137: {from: 0x382c, to: 0xa9}, + 138: {from: 0x382f, to: 0x3225}, + 139: {from: 0x3869, to: 0x39a3}, + 140: {from: 0x388f, to: 0x3fbd}, + 141: {from: 0x38a2, to: 0x39d4}, + 142: {from: 0x38b1, to: 0x1fa1}, + 143: {from: 0x38b2, to: 0x2e97}, + 144: {from: 0x3959, to: 0x47c}, + 145: {from: 0x3b4b, to: 0xd8e}, + 146: {from: 0x3b75, to: 0x136}, + 147: {from: 0x3c96, to: 0x4ba}, + 148: {from: 0x3fba, to: 0xff}, + 149: {from: 0x4205, to: 0xa8e}, + 150: {from: 0x42bb, to: 0x570}, + 151: {from: 0x42f6, to: 0x3f5d}, + 152: {from: 0x4375, to: 0x258}, + 153: {from: 0x43c8, to: 0x36c8}, + 154: {from: 0x43ca, to: 0x10e}, + 155: {from: 0x44ac, to: 0x331f}, + 156: {from: 0x44e0, to: 0x510}, + 157: {from: 0x45c7, to: 0x2406}, + 158: {from: 0x45da, to: 0x26d9}, + 159: {from: 0x460d, to: 0x48ab}, + 160: {from: 0x46ab, to: 0x469d}, + 161: {from: 0x473b, to: 0x4742}, + 162: {from: 0x4913, to: 0x31d}, + 163: {from: 0x49a4, to: 0x521}, +} + +// Size: 164 bytes, 164 elements +var langAliasTypes = [164]langAliasType{ + // Entry 0 - 3F + 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2, + 1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0, + 2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, + 2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0, + // Entry 40 - 7F + 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1, + 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, + 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, + 0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, + // Entry 80 - BF + 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, + 1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, + 0, 1, 1, 1, +} + +const ( + _Latn = 85 + _Hani = 53 + _Hans = 55 + _Hant = 56 + _Qaaa = 136 + _Qaai = 144 + _Qabx = 185 + _Zinh = 231 + _Zyyy = 236 + _Zzzz = 237 +) + +// script is an alphabetically sorted list of ISO 15924 codes. The index +// of the script in the string, divided by 4, is the internal scriptID. +const script tag.Index = "" + // Size: 956 bytes + "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" + + "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDogrDsrtDupl" + + "EgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHangHani" + + "HanoHansHantHatrHebrHiraHluwHmngHrktHungIndsItalJamoJavaJpanJurcKaliKana" + + "KharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepcLimbLina" + + "LinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlymModiMong" + + "MoonMrooMteiMultMymrNarbNbatNewaNkgbNkooNshuOgamOlckOrkhOryaOsgeOsmaPalm" + + "PaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaaeQaafQaagQaah" + + "QaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaawQaaxQaayQaaz" + + "QabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQaboQabpQabqQabr" + + "QabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShawShrdSiddSind" + + "SinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTeng" + + "TfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeoXsuxYiiiZanbZinhZmthZsye" + + "ZsymZxxxZyyyZzzz\xff\xff\xff\xff" + +// suppressScript is an index from langID to the dominant script for that language, +// if it exists. If a script is given, it should be suppressed from the language tag. +// Size: 1327 bytes, 1327 elements +var suppressScript = [1327]uint8{ + // Entry 0 - 3F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 40 - 7F + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, + // Entry 80 - BF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry C0 - FF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + // Entry 100 - 13F + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, + 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, + // Entry 140 - 17F + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 180 - 1BF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x00, 0x00, + // Entry 1C0 - 1FF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x55, 0x00, 0x55, 0x55, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, + 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, + // Entry 200 - 23F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 240 - 27F + 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, + 0x00, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 280 - 2BF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x52, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + // Entry 2C0 - 2FF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, + // Entry 300 - 33F + 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + // Entry 340 - 37F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 380 - 3BF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x55, 0x00, + // Entry 3C0 - 3FF + 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 400 - 43F + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 440 - 47F + 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xdb, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00, + // Entry 480 - 4BF + 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, + // Entry 4C0 - 4FF + 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 500 - 53F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, +} + +const ( + _001 = 1 + _419 = 31 + _BR = 65 + _CA = 73 + _ES = 110 + _GB = 123 + _MD = 188 + _PT = 238 + _UK = 306 + _US = 309 + _ZZ = 357 + _XA = 323 + _XC = 325 + _XK = 333 +) + +// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID +// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for +// the UN.M49 codes used for groups.) +const isoRegionOffset = 32 + +// regionTypes defines the status of a region for various standards. +// Size: 358 bytes, 358 elements +var regionTypes = [358]uint8{ + // Entry 0 - 3F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + // Entry 40 - 7F + 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, + 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, + 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, + 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, + 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + // Entry 80 - BF + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + // Entry C0 - FF + 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, + 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06, + 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, + 0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + // Entry 100 - 13F + 0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, + // Entry 140 - 17F + 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06, + 0x04, 0x06, 0x06, 0x04, 0x06, 0x05, +} + +// regionISO holds a list of alphabetically sorted 2-letter ISO region codes. +// Each 2-letter codes is followed by two bytes with the following meaning: +// - [A-Z}{2}: the first letter of the 2-letter code plus these two +// letters form the 3-letter ISO code. +// - 0, n: index into altRegionISO3. +const regionISO tag.Index = "" + // Size: 1308 bytes + "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" + + "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" + + "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" + + "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" + + "HYDZZAEA ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03EZ FIINFJJIFKLKFMSMFORO" + + "FQ\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR" + + "RCGS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC IDDNIERLILSR" + + "IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00" + + "\x09KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU" + + "LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ" + + "MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR" + + "NPPLNQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00" + + "\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT" + + "QU\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYC" + + "SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR" + + "SZWZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV" + + "UVTWWNTZZAUAKRUGGAUK UMMIUN USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU" + + "UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO" + + "OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAF" + + "ZMMBZRARZWWEZZZZ\xff\xff\xff\xff" + +// altRegionISO3 holds a list of 3-letter region codes that cannot be +// mapped to 2-letter codes using the default algorithm. This is a short list. +const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN" + +// altRegionIDs holds a list of regionIDs the positions of which match those +// of the 3-letter ISO codes in altRegionISO3. +// Size: 22 bytes, 11 elements +var altRegionIDs = [11]uint16{ + 0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105, + 0x0121, 0x015f, 0x00dc, +} + +// Size: 80 bytes, 20 elements +var regionOldMap = [20]fromTo{ + 0: {from: 0x44, to: 0xc4}, + 1: {from: 0x58, to: 0xa7}, + 2: {from: 0x5f, to: 0x60}, + 3: {from: 0x66, to: 0x3b}, + 4: {from: 0x79, to: 0x78}, + 5: {from: 0x93, to: 0x37}, + 6: {from: 0xa3, to: 0x133}, + 7: {from: 0xc1, to: 0x133}, + 8: {from: 0xd7, to: 0x13f}, + 9: {from: 0xdc, to: 0x2b}, + 10: {from: 0xef, to: 0x133}, + 11: {from: 0xf2, to: 0xe2}, + 12: {from: 0xfc, to: 0x70}, + 13: {from: 0x103, to: 0x164}, + 14: {from: 0x12a, to: 0x126}, + 15: {from: 0x132, to: 0x7b}, + 16: {from: 0x13a, to: 0x13e}, + 17: {from: 0x141, to: 0x133}, + 18: {from: 0x15d, to: 0x15e}, + 19: {from: 0x163, to: 0x4b}, +} + +// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are +// codes indicating collections of regions. +// Size: 716 bytes, 358 elements +var m49 = [358]int16{ + // Entry 0 - 3F + 0, 1, 2, 3, 5, 9, 11, 13, + 14, 15, 17, 18, 19, 21, 29, 30, + 34, 35, 39, 53, 54, 57, 61, 142, + 143, 145, 150, 151, 154, 155, 202, 419, + 958, 0, 20, 784, 4, 28, 660, 8, + 51, 530, 24, 10, 32, 16, 40, 36, + 533, 248, 31, 70, 52, 50, 56, 854, + 100, 48, 108, 204, 652, 60, 96, 68, + // Entry 40 - 7F + 535, 76, 44, 64, 104, 74, 72, 112, + 84, 124, 166, 180, 140, 178, 756, 384, + 184, 152, 120, 156, 170, 0, 188, 891, + 296, 192, 132, 531, 162, 196, 203, 278, + 276, 0, 262, 208, 212, 214, 204, 12, + 0, 218, 233, 818, 732, 232, 724, 231, + 967, 0, 246, 242, 238, 583, 234, 0, + 250, 249, 266, 826, 308, 268, 254, 831, + // Entry 80 - BF + 288, 292, 304, 270, 324, 312, 226, 300, + 239, 320, 316, 624, 328, 344, 334, 340, + 191, 332, 348, 854, 0, 360, 372, 376, + 833, 356, 86, 368, 364, 352, 380, 832, + 388, 400, 392, 581, 404, 417, 116, 296, + 174, 659, 408, 410, 414, 136, 398, 418, + 422, 662, 438, 144, 430, 426, 440, 442, + 428, 434, 504, 492, 498, 499, 663, 450, + // Entry C0 - FF + 584, 581, 807, 466, 104, 496, 446, 580, + 474, 478, 500, 470, 480, 462, 454, 484, + 458, 508, 516, 540, 562, 574, 566, 548, + 558, 528, 578, 524, 10, 520, 536, 570, + 554, 512, 591, 0, 604, 258, 598, 608, + 586, 616, 666, 612, 630, 275, 620, 581, + 585, 600, 591, 634, 959, 960, 961, 962, + 963, 964, 965, 966, 967, 968, 969, 970, + // Entry 100 - 13F + 971, 972, 638, 716, 642, 688, 643, 646, + 682, 90, 690, 729, 752, 702, 654, 705, + 744, 703, 694, 674, 686, 706, 740, 728, + 678, 810, 222, 534, 760, 748, 0, 796, + 148, 260, 768, 764, 762, 772, 626, 795, + 788, 776, 626, 792, 780, 798, 158, 834, + 804, 800, 826, 581, 0, 840, 858, 860, + 336, 670, 704, 862, 92, 850, 704, 548, + // Entry 140 - 17F + 876, 581, 882, 973, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 720, 887, 175, + 891, 710, 894, 180, 716, 999, +} + +// m49Index gives indexes into fromM49 based on the three most significant bits +// of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in +// fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] +// for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. +// The region code is stored in the 9 lsb of the indexed value. +// Size: 18 bytes, 9 elements +var m49Index = [9]int16{ + 0, 59, 108, 143, 181, 220, 259, 291, + 333, +} + +// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details. +// Size: 666 bytes, 333 elements +var fromM49 = [333]uint16{ + // Entry 0 - 3F + 0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b, + 0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b, + 0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32, + 0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039, + 0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d, + 0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848, + 0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047, + 0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18, + // Entry 40 - 7F + 0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d, + 0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d, + 0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e, + 0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f, + 0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72, + 0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a, + 0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881, + 0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884, + // Entry 80 - BF + 0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d, + 0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f, + 0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac, + 0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9, + 0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd, + 0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5, + 0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd, + 0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de, + // Entry C0 - FF + 0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5, + 0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2, + 0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b, + 0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c, + 0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513, + 0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11, + 0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117, + 0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e, + // Entry 100 - 13F + 0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023, + 0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2, + 0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135, + 0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e, + 0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7, + 0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff, + 0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548, + 0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550, + // Entry 140 - 17F + 0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558, + 0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65, +} + +// Size: 1615 bytes +var variantIndex = map[string]uint8{ + "1606nict": 0x0, + "1694acad": 0x1, + "1901": 0x2, + "1959acad": 0x3, + "1994": 0x4d, + "1996": 0x4, + "abl1943": 0x5, + "akuapem": 0x6, + "alalc97": 0x4f, + "aluku": 0x7, + "ao1990": 0x8, + "arevela": 0x9, + "arevmda": 0xa, + "asante": 0xb, + "baku1926": 0xc, + "balanka": 0xd, + "barla": 0xe, + "basiceng": 0xf, + "bauddha": 0x10, + "biscayan": 0x11, + "biske": 0x48, + "bohoric": 0x12, + "boont": 0x13, + "colb1945": 0x14, + "cornu": 0x15, + "dajnko": 0x16, + "ekavsk": 0x17, + "emodeng": 0x18, + "fonipa": 0x50, + "fonnapa": 0x51, + "fonupa": 0x52, + "fonxsamp": 0x53, + "hepburn": 0x19, + "heploc": 0x4e, + "hognorsk": 0x1a, + "hsistemo": 0x1b, + "ijekavsk": 0x1c, + "itihasa": 0x1d, + "jauer": 0x1e, + "jyutping": 0x1f, + "kkcor": 0x20, + "kociewie": 0x21, + "kscor": 0x22, + "laukika": 0x23, + "lipaw": 0x49, + "luna1918": 0x24, + "metelko": 0x25, + "monoton": 0x26, + "ndyuka": 0x27, + "nedis": 0x28, + "newfound": 0x29, + "njiva": 0x4a, + "nulik": 0x2a, + "osojs": 0x4b, + "oxendict": 0x2b, + "pahawh2": 0x2c, + "pahawh3": 0x2d, + "pahawh4": 0x2e, + "pamaka": 0x2f, + "petr1708": 0x30, + "pinyin": 0x31, + "polyton": 0x32, + "puter": 0x33, + "rigik": 0x34, + "rozaj": 0x35, + "rumgr": 0x36, + "scotland": 0x37, + "scouse": 0x38, + "simple": 0x54, + "solba": 0x4c, + "sotav": 0x39, + "spanglis": 0x3a, + "surmiran": 0x3b, + "sursilv": 0x3c, + "sutsilv": 0x3d, + "tarask": 0x3e, + "uccor": 0x3f, + "ucrcor": 0x40, + "ulster": 0x41, + "unifon": 0x42, + "vaidika": 0x43, + "valencia": 0x44, + "vallader": 0x45, + "wadegile": 0x46, + "xsistemo": 0x47, +} + +// variantNumSpecialized is the number of specialized variants in variants. +const variantNumSpecialized = 79 + +// nRegionGroups is the number of region groups. +const nRegionGroups = 33 + +type likelyLangRegion struct { + lang uint16 + region uint16 +} + +// likelyScript is a lookup table, indexed by scriptID, for the most likely +// languages and regions given a script. +// Size: 956 bytes, 239 elements +var likelyScript = [239]likelyLangRegion{ + 1: {lang: 0x14d, region: 0x84}, + 3: {lang: 0x2a0, region: 0x106}, + 4: {lang: 0x1f, region: 0x99}, + 5: {lang: 0x3a, region: 0x6b}, + 7: {lang: 0x3b, region: 0x9c}, + 8: {lang: 0x1d5, region: 0x28}, + 9: {lang: 0x13, region: 0x9c}, + 10: {lang: 0x5b, region: 0x95}, + 11: {lang: 0x60, region: 0x52}, + 12: {lang: 0xb9, region: 0xb4}, + 13: {lang: 0x63, region: 0x95}, + 14: {lang: 0xa5, region: 0x35}, + 15: {lang: 0x3e7, region: 0x99}, + 17: {lang: 0x527, region: 0x12e}, + 18: {lang: 0x3af, region: 0x99}, + 19: {lang: 0x15d, region: 0x78}, + 20: {lang: 0xc2, region: 0x95}, + 21: {lang: 0x9d, region: 0xe7}, + 22: {lang: 0xdb, region: 0x35}, + 23: {lang: 0xf2, region: 0x49}, + 24: {lang: 0x4ee, region: 0x12b}, + 25: {lang: 0xe7, region: 0x13e}, + 26: {lang: 0xe5, region: 0x135}, + 28: {lang: 0xf0, region: 0x6b}, + 29: {lang: 0x19e, region: 0x5d}, + 30: {lang: 0x3e0, region: 0x106}, + 32: {lang: 0x1bc, region: 0x99}, + 35: {lang: 0x15d, region: 0x78}, + 38: {lang: 0x132, region: 0x6b}, + 39: {lang: 0x42f, region: 0x27}, + 40: {lang: 0x27, region: 0x6f}, + 42: {lang: 0x20e, region: 0x7d}, + 43: {lang: 0xfd, region: 0x38}, + 46: {lang: 0x19c, region: 0x130}, + 47: {lang: 0x3e7, region: 0x99}, + 48: {lang: 0x135, region: 0x87}, + 49: {lang: 0x1a2, region: 0x99}, + 50: {lang: 0x39b, region: 0x99}, + 51: {lang: 0x527, region: 0x12e}, + 52: {lang: 0x252, region: 0xab}, + 53: {lang: 0x527, region: 0x53}, + 54: {lang: 0x1c9, region: 0xe7}, + 55: {lang: 0x527, region: 0x53}, + 56: {lang: 0x527, region: 0x12e}, + 57: {lang: 0x2fb, region: 0x9b}, + 58: {lang: 0x1ba, region: 0x97}, + 59: {lang: 0x1fe, region: 0xa2}, + 60: {lang: 0x1c3, region: 0x12b}, + 61: {lang: 0x1c8, region: 0xaf}, + 63: {lang: 0x1d3, region: 0x92}, + 65: {lang: 0x141, region: 0x9e}, + 66: {lang: 0x252, region: 0xab}, + 67: {lang: 0x20c, region: 0x95}, + 68: {lang: 0x1fe, region: 0xa2}, + 70: {lang: 0x134, region: 0xc4}, + 71: {lang: 0x1fe, region: 0xa2}, + 72: {lang: 0x3b9, region: 0xe8}, + 73: {lang: 0x248, region: 0xa6}, + 74: {lang: 0x3f8, region: 0x99}, + 77: {lang: 0x24f, region: 0x99}, + 78: {lang: 0x252, region: 0xab}, + 80: {lang: 0x88, region: 0x99}, + 81: {lang: 0x36e, region: 0x123}, + 82: {lang: 0x2b6, region: 0xaf}, + 87: {lang: 0x29d, region: 0x99}, + 88: {lang: 0x2a6, region: 0x99}, + 89: {lang: 0x28d, region: 0x87}, + 90: {lang: 0x19e, region: 0x87}, + 91: {lang: 0x2aa, region: 0x53}, + 93: {lang: 0x4f2, region: 0x12b}, + 94: {lang: 0x4f3, region: 0x12b}, + 95: {lang: 0x1bc, region: 0x99}, + 97: {lang: 0x335, region: 0x9c}, + 98: {lang: 0x4f5, region: 0x53}, + 99: {lang: 0xa9, region: 0x53}, + 102: {lang: 0x2e6, region: 0x112}, + 103: {lang: 0x4f6, region: 0x10b}, + 104: {lang: 0x4f6, region: 0x10b}, + 105: {lang: 0x302, region: 0x99}, + 106: {lang: 0x319, region: 0x99}, + 107: {lang: 0x309, region: 0x53}, + 109: {lang: 0x31c, region: 0x35}, + 110: {lang: 0x30c, region: 0x99}, + 111: {lang: 0x412, region: 0xe8}, + 112: {lang: 0x32f, region: 0xc4}, + 113: {lang: 0x4f7, region: 0x108}, + 114: {lang: 0x3b, region: 0xa1}, + 115: {lang: 0x351, region: 0xdb}, + 117: {lang: 0x2ce, region: 0x84}, + 119: {lang: 0x401, region: 0x96}, + 120: {lang: 0x3ec, region: 0x99}, + 121: {lang: 0x399, region: 0xc5}, + 122: {lang: 0x393, region: 0x99}, + 123: {lang: 0x397, region: 0x135}, + 124: {lang: 0x427, region: 0x115}, + 125: {lang: 0x3b, region: 0x11c}, + 126: {lang: 0xfc, region: 0xc4}, + 127: {lang: 0x27b, region: 0x106}, + 128: {lang: 0x2c7, region: 0x53}, + 129: {lang: 0x39d, region: 0x9c}, + 130: {lang: 0x39d, region: 0x53}, + 132: {lang: 0x3ab, region: 0xb0}, + 134: {lang: 0x1c4, region: 0x53}, + 135: {lang: 0x4fb, region: 0x9c}, + 186: {lang: 0x3c9, region: 0x95}, + 188: {lang: 0x370, region: 0x10c}, + 189: {lang: 0x41e, region: 0x97}, + 191: {lang: 0x4fd, region: 0x15e}, + 192: {lang: 0x3ee, region: 0x99}, + 193: {lang: 0x45, region: 0x135}, + 194: {lang: 0x138, region: 0x7b}, + 195: {lang: 0x3e7, region: 0x99}, + 196: {lang: 0x3e7, region: 0x99}, + 197: {lang: 0x3f8, region: 0x99}, + 198: {lang: 0x40a, region: 0xb3}, + 199: {lang: 0x431, region: 0x99}, + 201: {lang: 0x43c, region: 0x95}, + 202: {lang: 0x44b, region: 0x35}, + 203: {lang: 0x44c, region: 0x9b}, + 207: {lang: 0x458, region: 0xe7}, + 208: {lang: 0x119, region: 0x99}, + 209: {lang: 0x45c, region: 0x53}, + 210: {lang: 0x230, region: 0x53}, + 211: {lang: 0x44e, region: 0x99}, + 212: {lang: 0x4a3, region: 0x53}, + 213: {lang: 0x9f, region: 0x13e}, + 214: {lang: 0x45f, region: 0x99}, + 216: {lang: 0x526, region: 0xba}, + 217: {lang: 0x152, region: 0xe7}, + 218: {lang: 0x127, region: 0xcd}, + 219: {lang: 0x469, region: 0x123}, + 220: {lang: 0xa9, region: 0x53}, + 221: {lang: 0x2cc, region: 0x99}, + 222: {lang: 0x4ab, region: 0x11c}, + 223: {lang: 0x4bc, region: 0xb4}, + 225: {lang: 0x1cc, region: 0x99}, + 227: {lang: 0x3a7, region: 0x9c}, + 228: {lang: 0x22, region: 0x9b}, + 229: {lang: 0x1e8, region: 0x53}, +} + +type likelyScriptRegion struct { + region uint16 + script uint8 + flags uint8 +} + +// likelyLang is a lookup table, indexed by langID, for the most likely +// scripts and regions given incomplete information. If more entries exist for a +// given language, region and script are the index and size respectively +// of the list in likelyLangList. +// Size: 5308 bytes, 1327 elements +var likelyLang = [1327]likelyScriptRegion{ + 0: {region: 0x135, script: 0x55, flags: 0x0}, + 1: {region: 0x6f, script: 0x55, flags: 0x0}, + 2: {region: 0x165, script: 0x55, flags: 0x0}, + 3: {region: 0x165, script: 0x55, flags: 0x0}, + 4: {region: 0x165, script: 0x55, flags: 0x0}, + 5: {region: 0x7d, script: 0x1e, flags: 0x0}, + 6: {region: 0x165, script: 0x55, flags: 0x0}, + 7: {region: 0x165, script: 0x1e, flags: 0x0}, + 8: {region: 0x80, script: 0x55, flags: 0x0}, + 9: {region: 0x165, script: 0x55, flags: 0x0}, + 10: {region: 0x165, script: 0x55, flags: 0x0}, + 11: {region: 0x165, script: 0x55, flags: 0x0}, + 12: {region: 0x95, script: 0x55, flags: 0x0}, + 13: {region: 0x131, script: 0x55, flags: 0x0}, + 14: {region: 0x80, script: 0x55, flags: 0x0}, + 15: {region: 0x165, script: 0x55, flags: 0x0}, + 16: {region: 0x165, script: 0x55, flags: 0x0}, + 17: {region: 0x106, script: 0x1e, flags: 0x0}, + 18: {region: 0x165, script: 0x55, flags: 0x0}, + 19: {region: 0x9c, script: 0x9, flags: 0x0}, + 20: {region: 0x128, script: 0x5, flags: 0x0}, + 21: {region: 0x165, script: 0x55, flags: 0x0}, + 22: {region: 0x161, script: 0x55, flags: 0x0}, + 23: {region: 0x165, script: 0x55, flags: 0x0}, + 24: {region: 0x165, script: 0x55, flags: 0x0}, + 25: {region: 0x165, script: 0x55, flags: 0x0}, + 26: {region: 0x165, script: 0x55, flags: 0x0}, + 27: {region: 0x165, script: 0x55, flags: 0x0}, + 28: {region: 0x52, script: 0x55, flags: 0x0}, + 29: {region: 0x165, script: 0x55, flags: 0x0}, + 30: {region: 0x165, script: 0x55, flags: 0x0}, + 31: {region: 0x99, script: 0x4, flags: 0x0}, + 32: {region: 0x165, script: 0x55, flags: 0x0}, + 33: {region: 0x80, script: 0x55, flags: 0x0}, + 34: {region: 0x9b, script: 0xe4, flags: 0x0}, + 35: {region: 0x165, script: 0x55, flags: 0x0}, + 36: {region: 0x165, script: 0x55, flags: 0x0}, + 37: {region: 0x14d, script: 0x55, flags: 0x0}, + 38: {region: 0x106, script: 0x1e, flags: 0x0}, + 39: {region: 0x6f, script: 0x28, flags: 0x0}, + 40: {region: 0x165, script: 0x55, flags: 0x0}, + 41: {region: 0x165, script: 0x55, flags: 0x0}, + 42: {region: 0xd6, script: 0x55, flags: 0x0}, + 43: {region: 0x165, script: 0x55, flags: 0x0}, + 45: {region: 0x165, script: 0x55, flags: 0x0}, + 46: {region: 0x165, script: 0x55, flags: 0x0}, + 47: {region: 0x165, script: 0x55, flags: 0x0}, + 48: {region: 0x165, script: 0x55, flags: 0x0}, + 49: {region: 0x165, script: 0x55, flags: 0x0}, + 50: {region: 0x165, script: 0x55, flags: 0x0}, + 51: {region: 0x95, script: 0x55, flags: 0x0}, + 52: {region: 0x165, script: 0x5, flags: 0x0}, + 53: {region: 0x122, script: 0x5, flags: 0x0}, + 54: {region: 0x165, script: 0x55, flags: 0x0}, + 55: {region: 0x165, script: 0x55, flags: 0x0}, + 56: {region: 0x165, script: 0x55, flags: 0x0}, + 57: {region: 0x165, script: 0x55, flags: 0x0}, + 58: {region: 0x6b, script: 0x5, flags: 0x0}, + 59: {region: 0x0, script: 0x3, flags: 0x1}, + 60: {region: 0x165, script: 0x55, flags: 0x0}, + 61: {region: 0x51, script: 0x55, flags: 0x0}, + 62: {region: 0x3f, script: 0x55, flags: 0x0}, + 63: {region: 0x67, script: 0x5, flags: 0x0}, + 65: {region: 0xba, script: 0x5, flags: 0x0}, + 66: {region: 0x6b, script: 0x5, flags: 0x0}, + 67: {region: 0x99, script: 0xe, flags: 0x0}, + 68: {region: 0x12f, script: 0x55, flags: 0x0}, + 69: {region: 0x135, script: 0xc1, flags: 0x0}, + 70: {region: 0x165, script: 0x55, flags: 0x0}, + 71: {region: 0x165, script: 0x55, flags: 0x0}, + 72: {region: 0x6e, script: 0x55, flags: 0x0}, + 73: {region: 0x165, script: 0x55, flags: 0x0}, + 74: {region: 0x165, script: 0x55, flags: 0x0}, + 75: {region: 0x49, script: 0x55, flags: 0x0}, + 76: {region: 0x165, script: 0x55, flags: 0x0}, + 77: {region: 0x106, script: 0x1e, flags: 0x0}, + 78: {region: 0x165, script: 0x5, flags: 0x0}, + 79: {region: 0x165, script: 0x55, flags: 0x0}, + 80: {region: 0x165, script: 0x55, flags: 0x0}, + 81: {region: 0x165, script: 0x55, flags: 0x0}, + 82: {region: 0x99, script: 0x20, flags: 0x0}, + 83: {region: 0x165, script: 0x55, flags: 0x0}, + 84: {region: 0x165, script: 0x55, flags: 0x0}, + 85: {region: 0x165, script: 0x55, flags: 0x0}, + 86: {region: 0x3f, script: 0x55, flags: 0x0}, + 87: {region: 0x165, script: 0x55, flags: 0x0}, + 88: {region: 0x3, script: 0x5, flags: 0x1}, + 89: {region: 0x106, script: 0x1e, flags: 0x0}, + 90: {region: 0xe8, script: 0x5, flags: 0x0}, + 91: {region: 0x95, script: 0x55, flags: 0x0}, + 92: {region: 0xdb, script: 0x20, flags: 0x0}, + 93: {region: 0x2e, script: 0x55, flags: 0x0}, + 94: {region: 0x52, script: 0x55, flags: 0x0}, + 95: {region: 0x165, script: 0x55, flags: 0x0}, + 96: {region: 0x52, script: 0xb, flags: 0x0}, + 97: {region: 0x165, script: 0x55, flags: 0x0}, + 98: {region: 0x165, script: 0x55, flags: 0x0}, + 99: {region: 0x95, script: 0x55, flags: 0x0}, + 100: {region: 0x165, script: 0x55, flags: 0x0}, + 101: {region: 0x52, script: 0x55, flags: 0x0}, + 102: {region: 0x165, script: 0x55, flags: 0x0}, + 103: {region: 0x165, script: 0x55, flags: 0x0}, + 104: {region: 0x165, script: 0x55, flags: 0x0}, + 105: {region: 0x165, script: 0x55, flags: 0x0}, + 106: {region: 0x4f, script: 0x55, flags: 0x0}, + 107: {region: 0x165, script: 0x55, flags: 0x0}, + 108: {region: 0x165, script: 0x55, flags: 0x0}, + 109: {region: 0x165, script: 0x55, flags: 0x0}, + 110: {region: 0x165, script: 0x28, flags: 0x0}, + 111: {region: 0x165, script: 0x55, flags: 0x0}, + 112: {region: 0x165, script: 0x55, flags: 0x0}, + 113: {region: 0x47, script: 0x1e, flags: 0x0}, + 114: {region: 0x165, script: 0x55, flags: 0x0}, + 115: {region: 0x165, script: 0x55, flags: 0x0}, + 116: {region: 0x10b, script: 0x5, flags: 0x0}, + 117: {region: 0x162, script: 0x55, flags: 0x0}, + 118: {region: 0x165, script: 0x55, flags: 0x0}, + 119: {region: 0x95, script: 0x55, flags: 0x0}, + 120: {region: 0x165, script: 0x55, flags: 0x0}, + 121: {region: 0x12f, script: 0x55, flags: 0x0}, + 122: {region: 0x52, script: 0x55, flags: 0x0}, + 123: {region: 0x99, script: 0xd3, flags: 0x0}, + 124: {region: 0xe8, script: 0x5, flags: 0x0}, + 125: {region: 0x99, script: 0x20, flags: 0x0}, + 126: {region: 0x38, script: 0x1e, flags: 0x0}, + 127: {region: 0x99, script: 0x20, flags: 0x0}, + 128: {region: 0xe8, script: 0x5, flags: 0x0}, + 129: {region: 0x12b, script: 0x30, flags: 0x0}, + 131: {region: 0x99, script: 0x20, flags: 0x0}, + 132: {region: 0x165, script: 0x55, flags: 0x0}, + 133: {region: 0x99, script: 0x20, flags: 0x0}, + 134: {region: 0xe7, script: 0x55, flags: 0x0}, + 135: {region: 0x165, script: 0x55, flags: 0x0}, + 136: {region: 0x99, script: 0x20, flags: 0x0}, + 137: {region: 0x165, script: 0x55, flags: 0x0}, + 138: {region: 0x13f, script: 0x55, flags: 0x0}, + 139: {region: 0x165, script: 0x55, flags: 0x0}, + 140: {region: 0x165, script: 0x55, flags: 0x0}, + 141: {region: 0xe7, script: 0x55, flags: 0x0}, + 142: {region: 0x165, script: 0x55, flags: 0x0}, + 143: {region: 0xd6, script: 0x55, flags: 0x0}, + 144: {region: 0x165, script: 0x55, flags: 0x0}, + 145: {region: 0x165, script: 0x55, flags: 0x0}, + 146: {region: 0x165, script: 0x55, flags: 0x0}, + 147: {region: 0x165, script: 0x28, flags: 0x0}, + 148: {region: 0x99, script: 0x20, flags: 0x0}, + 149: {region: 0x95, script: 0x55, flags: 0x0}, + 150: {region: 0x165, script: 0x55, flags: 0x0}, + 151: {region: 0x165, script: 0x55, flags: 0x0}, + 152: {region: 0x114, script: 0x55, flags: 0x0}, + 153: {region: 0x165, script: 0x55, flags: 0x0}, + 154: {region: 0x165, script: 0x55, flags: 0x0}, + 155: {region: 0x52, script: 0x55, flags: 0x0}, + 156: {region: 0x165, script: 0x55, flags: 0x0}, + 157: {region: 0xe7, script: 0x55, flags: 0x0}, + 158: {region: 0x165, script: 0x55, flags: 0x0}, + 159: {region: 0x13e, script: 0xd5, flags: 0x0}, + 160: {region: 0xc3, script: 0x55, flags: 0x0}, + 161: {region: 0x165, script: 0x55, flags: 0x0}, + 162: {region: 0x165, script: 0x55, flags: 0x0}, + 163: {region: 0xc3, script: 0x55, flags: 0x0}, + 164: {region: 0x165, script: 0x55, flags: 0x0}, + 165: {region: 0x35, script: 0xe, flags: 0x0}, + 166: {region: 0x165, script: 0x55, flags: 0x0}, + 167: {region: 0x165, script: 0x55, flags: 0x0}, + 168: {region: 0x165, script: 0x55, flags: 0x0}, + 169: {region: 0x53, script: 0xdc, flags: 0x0}, + 170: {region: 0x165, script: 0x55, flags: 0x0}, + 171: {region: 0x165, script: 0x55, flags: 0x0}, + 172: {region: 0x165, script: 0x55, flags: 0x0}, + 173: {region: 0x99, script: 0xe, flags: 0x0}, + 174: {region: 0x165, script: 0x55, flags: 0x0}, + 175: {region: 0x9c, script: 0x5, flags: 0x0}, + 176: {region: 0x165, script: 0x55, flags: 0x0}, + 177: {region: 0x4f, script: 0x55, flags: 0x0}, + 178: {region: 0x78, script: 0x55, flags: 0x0}, + 179: {region: 0x99, script: 0x20, flags: 0x0}, + 180: {region: 0xe8, script: 0x5, flags: 0x0}, + 181: {region: 0x99, script: 0x20, flags: 0x0}, + 182: {region: 0x165, script: 0x55, flags: 0x0}, + 183: {region: 0x33, script: 0x55, flags: 0x0}, + 184: {region: 0x165, script: 0x55, flags: 0x0}, + 185: {region: 0xb4, script: 0xc, flags: 0x0}, + 186: {region: 0x52, script: 0x55, flags: 0x0}, + 187: {region: 0x165, script: 0x28, flags: 0x0}, + 188: {region: 0xe7, script: 0x55, flags: 0x0}, + 189: {region: 0x165, script: 0x55, flags: 0x0}, + 190: {region: 0xe8, script: 0x20, flags: 0x0}, + 191: {region: 0x106, script: 0x1e, flags: 0x0}, + 192: {region: 0x15f, script: 0x55, flags: 0x0}, + 193: {region: 0x165, script: 0x55, flags: 0x0}, + 194: {region: 0x95, script: 0x55, flags: 0x0}, + 195: {region: 0x165, script: 0x55, flags: 0x0}, + 196: {region: 0x52, script: 0x55, flags: 0x0}, + 197: {region: 0x165, script: 0x55, flags: 0x0}, + 198: {region: 0x165, script: 0x55, flags: 0x0}, + 199: {region: 0x165, script: 0x55, flags: 0x0}, + 200: {region: 0x86, script: 0x55, flags: 0x0}, + 201: {region: 0x165, script: 0x55, flags: 0x0}, + 202: {region: 0x165, script: 0x55, flags: 0x0}, + 203: {region: 0x165, script: 0x55, flags: 0x0}, + 204: {region: 0x165, script: 0x55, flags: 0x0}, + 205: {region: 0x6d, script: 0x28, flags: 0x0}, + 206: {region: 0x165, script: 0x55, flags: 0x0}, + 207: {region: 0x165, script: 0x55, flags: 0x0}, + 208: {region: 0x52, script: 0x55, flags: 0x0}, + 209: {region: 0x165, script: 0x55, flags: 0x0}, + 210: {region: 0x165, script: 0x55, flags: 0x0}, + 211: {region: 0xc3, script: 0x55, flags: 0x0}, + 212: {region: 0x165, script: 0x55, flags: 0x0}, + 213: {region: 0x165, script: 0x55, flags: 0x0}, + 214: {region: 0x165, script: 0x55, flags: 0x0}, + 215: {region: 0x6e, script: 0x55, flags: 0x0}, + 216: {region: 0x165, script: 0x55, flags: 0x0}, + 217: {region: 0x165, script: 0x55, flags: 0x0}, + 218: {region: 0xd6, script: 0x55, flags: 0x0}, + 219: {region: 0x35, script: 0x16, flags: 0x0}, + 220: {region: 0x106, script: 0x1e, flags: 0x0}, + 221: {region: 0xe7, script: 0x55, flags: 0x0}, + 222: {region: 0x165, script: 0x55, flags: 0x0}, + 223: {region: 0x131, script: 0x55, flags: 0x0}, + 224: {region: 0x8a, script: 0x55, flags: 0x0}, + 225: {region: 0x75, script: 0x55, flags: 0x0}, + 226: {region: 0x106, script: 0x1e, flags: 0x0}, + 227: {region: 0x135, script: 0x55, flags: 0x0}, + 228: {region: 0x49, script: 0x55, flags: 0x0}, + 229: {region: 0x135, script: 0x1a, flags: 0x0}, + 230: {region: 0xa6, script: 0x5, flags: 0x0}, + 231: {region: 0x13e, script: 0x19, flags: 0x0}, + 232: {region: 0x165, script: 0x55, flags: 0x0}, + 233: {region: 0x9b, script: 0x5, flags: 0x0}, + 234: {region: 0x165, script: 0x55, flags: 0x0}, + 235: {region: 0x165, script: 0x55, flags: 0x0}, + 236: {region: 0x165, script: 0x55, flags: 0x0}, + 237: {region: 0x165, script: 0x55, flags: 0x0}, + 238: {region: 0x165, script: 0x55, flags: 0x0}, + 239: {region: 0x78, script: 0x55, flags: 0x0}, + 240: {region: 0x6b, script: 0x1c, flags: 0x0}, + 241: {region: 0xe7, script: 0x55, flags: 0x0}, + 242: {region: 0x49, script: 0x17, flags: 0x0}, + 243: {region: 0x130, script: 0x1e, flags: 0x0}, + 244: {region: 0x49, script: 0x17, flags: 0x0}, + 245: {region: 0x49, script: 0x17, flags: 0x0}, + 246: {region: 0x49, script: 0x17, flags: 0x0}, + 247: {region: 0x49, script: 0x17, flags: 0x0}, + 248: {region: 0x10a, script: 0x55, flags: 0x0}, + 249: {region: 0x5e, script: 0x55, flags: 0x0}, + 250: {region: 0xe9, script: 0x55, flags: 0x0}, + 251: {region: 0x49, script: 0x17, flags: 0x0}, + 252: {region: 0xc4, script: 0x7e, flags: 0x0}, + 253: {region: 0x8, script: 0x2, flags: 0x1}, + 254: {region: 0x106, script: 0x1e, flags: 0x0}, + 255: {region: 0x7b, script: 0x55, flags: 0x0}, + 256: {region: 0x63, script: 0x55, flags: 0x0}, + 257: {region: 0x165, script: 0x55, flags: 0x0}, + 258: {region: 0x165, script: 0x55, flags: 0x0}, + 259: {region: 0x165, script: 0x55, flags: 0x0}, + 260: {region: 0x165, script: 0x55, flags: 0x0}, + 261: {region: 0x135, script: 0x55, flags: 0x0}, + 262: {region: 0x106, script: 0x1e, flags: 0x0}, + 263: {region: 0xa4, script: 0x55, flags: 0x0}, + 264: {region: 0x165, script: 0x55, flags: 0x0}, + 265: {region: 0x165, script: 0x55, flags: 0x0}, + 266: {region: 0x99, script: 0x5, flags: 0x0}, + 267: {region: 0x165, script: 0x55, flags: 0x0}, + 268: {region: 0x60, script: 0x55, flags: 0x0}, + 269: {region: 0x165, script: 0x55, flags: 0x0}, + 270: {region: 0x49, script: 0x55, flags: 0x0}, + 271: {region: 0x165, script: 0x55, flags: 0x0}, + 272: {region: 0x165, script: 0x55, flags: 0x0}, + 273: {region: 0x165, script: 0x55, flags: 0x0}, + 274: {region: 0x165, script: 0x5, flags: 0x0}, + 275: {region: 0x49, script: 0x55, flags: 0x0}, + 276: {region: 0x165, script: 0x55, flags: 0x0}, + 277: {region: 0x165, script: 0x55, flags: 0x0}, + 278: {region: 0xd4, script: 0x55, flags: 0x0}, + 279: {region: 0x4f, script: 0x55, flags: 0x0}, + 280: {region: 0x165, script: 0x55, flags: 0x0}, + 281: {region: 0x99, script: 0x5, flags: 0x0}, + 282: {region: 0x165, script: 0x55, flags: 0x0}, + 283: {region: 0x165, script: 0x55, flags: 0x0}, + 284: {region: 0x165, script: 0x55, flags: 0x0}, + 285: {region: 0x165, script: 0x28, flags: 0x0}, + 286: {region: 0x60, script: 0x55, flags: 0x0}, + 287: {region: 0xc3, script: 0x55, flags: 0x0}, + 288: {region: 0xd0, script: 0x55, flags: 0x0}, + 289: {region: 0x165, script: 0x55, flags: 0x0}, + 290: {region: 0xdb, script: 0x20, flags: 0x0}, + 291: {region: 0x52, script: 0x55, flags: 0x0}, + 292: {region: 0x165, script: 0x55, flags: 0x0}, + 293: {region: 0x165, script: 0x55, flags: 0x0}, + 294: {region: 0x165, script: 0x55, flags: 0x0}, + 295: {region: 0xcd, script: 0xda, flags: 0x0}, + 296: {region: 0x165, script: 0x55, flags: 0x0}, + 297: {region: 0x165, script: 0x55, flags: 0x0}, + 298: {region: 0x114, script: 0x55, flags: 0x0}, + 299: {region: 0x37, script: 0x55, flags: 0x0}, + 300: {region: 0x43, script: 0xdc, flags: 0x0}, + 301: {region: 0x165, script: 0x55, flags: 0x0}, + 302: {region: 0xa4, script: 0x55, flags: 0x0}, + 303: {region: 0x80, script: 0x55, flags: 0x0}, + 304: {region: 0xd6, script: 0x55, flags: 0x0}, + 305: {region: 0x9e, script: 0x55, flags: 0x0}, + 306: {region: 0x6b, script: 0x26, flags: 0x0}, + 307: {region: 0x165, script: 0x55, flags: 0x0}, + 308: {region: 0xc4, script: 0x46, flags: 0x0}, + 309: {region: 0x87, script: 0x30, flags: 0x0}, + 310: {region: 0x165, script: 0x55, flags: 0x0}, + 311: {region: 0x165, script: 0x55, flags: 0x0}, + 312: {region: 0xa, script: 0x2, flags: 0x1}, + 313: {region: 0x165, script: 0x55, flags: 0x0}, + 314: {region: 0x165, script: 0x55, flags: 0x0}, + 315: {region: 0x1, script: 0x55, flags: 0x0}, + 316: {region: 0x165, script: 0x55, flags: 0x0}, + 317: {region: 0x6e, script: 0x55, flags: 0x0}, + 318: {region: 0x135, script: 0x55, flags: 0x0}, + 319: {region: 0x6a, script: 0x55, flags: 0x0}, + 320: {region: 0x165, script: 0x55, flags: 0x0}, + 321: {region: 0x9e, script: 0x41, flags: 0x0}, + 322: {region: 0x165, script: 0x55, flags: 0x0}, + 323: {region: 0x165, script: 0x55, flags: 0x0}, + 324: {region: 0x6e, script: 0x55, flags: 0x0}, + 325: {region: 0x52, script: 0x55, flags: 0x0}, + 326: {region: 0x6e, script: 0x55, flags: 0x0}, + 327: {region: 0x9c, script: 0x5, flags: 0x0}, + 328: {region: 0x165, script: 0x55, flags: 0x0}, + 329: {region: 0x165, script: 0x55, flags: 0x0}, + 330: {region: 0x165, script: 0x55, flags: 0x0}, + 331: {region: 0x165, script: 0x55, flags: 0x0}, + 332: {region: 0x86, script: 0x55, flags: 0x0}, + 333: {region: 0xc, script: 0x2, flags: 0x1}, + 334: {region: 0x165, script: 0x55, flags: 0x0}, + 335: {region: 0xc3, script: 0x55, flags: 0x0}, + 336: {region: 0x72, script: 0x55, flags: 0x0}, + 337: {region: 0x10b, script: 0x5, flags: 0x0}, + 338: {region: 0xe7, script: 0x55, flags: 0x0}, + 339: {region: 0x10c, script: 0x55, flags: 0x0}, + 340: {region: 0x73, script: 0x55, flags: 0x0}, + 341: {region: 0x165, script: 0x55, flags: 0x0}, + 342: {region: 0x165, script: 0x55, flags: 0x0}, + 343: {region: 0x76, script: 0x55, flags: 0x0}, + 344: {region: 0x165, script: 0x55, flags: 0x0}, + 345: {region: 0x3b, script: 0x55, flags: 0x0}, + 346: {region: 0x165, script: 0x55, flags: 0x0}, + 347: {region: 0x165, script: 0x55, flags: 0x0}, + 348: {region: 0x165, script: 0x55, flags: 0x0}, + 349: {region: 0x78, script: 0x55, flags: 0x0}, + 350: {region: 0x135, script: 0x55, flags: 0x0}, + 351: {region: 0x78, script: 0x55, flags: 0x0}, + 352: {region: 0x60, script: 0x55, flags: 0x0}, + 353: {region: 0x60, script: 0x55, flags: 0x0}, + 354: {region: 0x52, script: 0x5, flags: 0x0}, + 355: {region: 0x140, script: 0x55, flags: 0x0}, + 356: {region: 0x165, script: 0x55, flags: 0x0}, + 357: {region: 0x84, script: 0x55, flags: 0x0}, + 358: {region: 0x165, script: 0x55, flags: 0x0}, + 359: {region: 0xd4, script: 0x55, flags: 0x0}, + 360: {region: 0x9e, script: 0x55, flags: 0x0}, + 361: {region: 0xd6, script: 0x55, flags: 0x0}, + 362: {region: 0x165, script: 0x55, flags: 0x0}, + 363: {region: 0x10b, script: 0x55, flags: 0x0}, + 364: {region: 0xd9, script: 0x55, flags: 0x0}, + 365: {region: 0x96, script: 0x55, flags: 0x0}, + 366: {region: 0x80, script: 0x55, flags: 0x0}, + 367: {region: 0x165, script: 0x55, flags: 0x0}, + 368: {region: 0xbc, script: 0x55, flags: 0x0}, + 369: {region: 0x165, script: 0x55, flags: 0x0}, + 370: {region: 0x165, script: 0x55, flags: 0x0}, + 371: {region: 0x165, script: 0x55, flags: 0x0}, + 372: {region: 0x53, script: 0x37, flags: 0x0}, + 373: {region: 0x165, script: 0x55, flags: 0x0}, + 374: {region: 0x95, script: 0x55, flags: 0x0}, + 375: {region: 0x165, script: 0x55, flags: 0x0}, + 376: {region: 0x99, script: 0x20, flags: 0x0}, + 377: {region: 0x165, script: 0x55, flags: 0x0}, + 378: {region: 0x9c, script: 0x5, flags: 0x0}, + 379: {region: 0x7e, script: 0x55, flags: 0x0}, + 380: {region: 0x7b, script: 0x55, flags: 0x0}, + 381: {region: 0x165, script: 0x55, flags: 0x0}, + 382: {region: 0x165, script: 0x55, flags: 0x0}, + 383: {region: 0x165, script: 0x55, flags: 0x0}, + 384: {region: 0x165, script: 0x55, flags: 0x0}, + 385: {region: 0x165, script: 0x55, flags: 0x0}, + 386: {region: 0x165, script: 0x55, flags: 0x0}, + 387: {region: 0x6f, script: 0x28, flags: 0x0}, + 388: {region: 0x165, script: 0x55, flags: 0x0}, + 389: {region: 0xdb, script: 0x20, flags: 0x0}, + 390: {region: 0x165, script: 0x55, flags: 0x0}, + 391: {region: 0xa7, script: 0x55, flags: 0x0}, + 392: {region: 0x165, script: 0x55, flags: 0x0}, + 393: {region: 0xe8, script: 0x5, flags: 0x0}, + 394: {region: 0x165, script: 0x55, flags: 0x0}, + 395: {region: 0xe8, script: 0x5, flags: 0x0}, + 396: {region: 0x165, script: 0x55, flags: 0x0}, + 397: {region: 0x165, script: 0x55, flags: 0x0}, + 398: {region: 0x6e, script: 0x55, flags: 0x0}, + 399: {region: 0x9c, script: 0x5, flags: 0x0}, + 400: {region: 0x165, script: 0x55, flags: 0x0}, + 401: {region: 0x165, script: 0x28, flags: 0x0}, + 402: {region: 0xf1, script: 0x55, flags: 0x0}, + 403: {region: 0x165, script: 0x55, flags: 0x0}, + 404: {region: 0x165, script: 0x55, flags: 0x0}, + 405: {region: 0x165, script: 0x55, flags: 0x0}, + 406: {region: 0x165, script: 0x28, flags: 0x0}, + 407: {region: 0x165, script: 0x55, flags: 0x0}, + 408: {region: 0x99, script: 0x20, flags: 0x0}, + 409: {region: 0x99, script: 0xd6, flags: 0x0}, + 410: {region: 0x95, script: 0x55, flags: 0x0}, + 411: {region: 0xd9, script: 0x55, flags: 0x0}, + 412: {region: 0x130, script: 0x2e, flags: 0x0}, + 413: {region: 0x165, script: 0x55, flags: 0x0}, + 414: {region: 0xe, script: 0x2, flags: 0x1}, + 415: {region: 0x99, script: 0xe, flags: 0x0}, + 416: {region: 0x165, script: 0x55, flags: 0x0}, + 417: {region: 0x4e, script: 0x55, flags: 0x0}, + 418: {region: 0x99, script: 0x31, flags: 0x0}, + 419: {region: 0x41, script: 0x55, flags: 0x0}, + 420: {region: 0x54, script: 0x55, flags: 0x0}, + 421: {region: 0x165, script: 0x55, flags: 0x0}, + 422: {region: 0x80, script: 0x55, flags: 0x0}, + 423: {region: 0x165, script: 0x55, flags: 0x0}, + 424: {region: 0x165, script: 0x55, flags: 0x0}, + 425: {region: 0xa4, script: 0x55, flags: 0x0}, + 426: {region: 0x98, script: 0x55, flags: 0x0}, + 427: {region: 0x165, script: 0x55, flags: 0x0}, + 428: {region: 0xdb, script: 0x20, flags: 0x0}, + 429: {region: 0x165, script: 0x55, flags: 0x0}, + 430: {region: 0x165, script: 0x5, flags: 0x0}, + 431: {region: 0x49, script: 0x55, flags: 0x0}, + 432: {region: 0x165, script: 0x5, flags: 0x0}, + 433: {region: 0x165, script: 0x55, flags: 0x0}, + 434: {region: 0x10, script: 0x3, flags: 0x1}, + 435: {region: 0x165, script: 0x55, flags: 0x0}, + 436: {region: 0x53, script: 0x37, flags: 0x0}, + 437: {region: 0x165, script: 0x55, flags: 0x0}, + 438: {region: 0x135, script: 0x55, flags: 0x0}, + 439: {region: 0x24, script: 0x5, flags: 0x0}, + 440: {region: 0x165, script: 0x55, flags: 0x0}, + 441: {region: 0x165, script: 0x28, flags: 0x0}, + 442: {region: 0x97, script: 0x3a, flags: 0x0}, + 443: {region: 0x165, script: 0x55, flags: 0x0}, + 444: {region: 0x99, script: 0x20, flags: 0x0}, + 445: {region: 0x165, script: 0x55, flags: 0x0}, + 446: {region: 0x73, script: 0x55, flags: 0x0}, + 447: {region: 0x165, script: 0x55, flags: 0x0}, + 448: {region: 0x165, script: 0x55, flags: 0x0}, + 449: {region: 0xe7, script: 0x55, flags: 0x0}, + 450: {region: 0x165, script: 0x55, flags: 0x0}, + 451: {region: 0x12b, script: 0x3c, flags: 0x0}, + 452: {region: 0x53, script: 0x86, flags: 0x0}, + 453: {region: 0x165, script: 0x55, flags: 0x0}, + 454: {region: 0xe8, script: 0x5, flags: 0x0}, + 455: {region: 0x99, script: 0x20, flags: 0x0}, + 456: {region: 0xaf, script: 0x3d, flags: 0x0}, + 457: {region: 0xe7, script: 0x55, flags: 0x0}, + 458: {region: 0xe8, script: 0x5, flags: 0x0}, + 459: {region: 0xe6, script: 0x55, flags: 0x0}, + 460: {region: 0x99, script: 0x20, flags: 0x0}, + 461: {region: 0x99, script: 0x20, flags: 0x0}, + 462: {region: 0x165, script: 0x55, flags: 0x0}, + 463: {region: 0x90, script: 0x55, flags: 0x0}, + 464: {region: 0x60, script: 0x55, flags: 0x0}, + 465: {region: 0x53, script: 0x37, flags: 0x0}, + 466: {region: 0x91, script: 0x55, flags: 0x0}, + 467: {region: 0x92, script: 0x55, flags: 0x0}, + 468: {region: 0x165, script: 0x55, flags: 0x0}, + 469: {region: 0x28, script: 0x8, flags: 0x0}, + 470: {region: 0xd2, script: 0x55, flags: 0x0}, + 471: {region: 0x78, script: 0x55, flags: 0x0}, + 472: {region: 0x165, script: 0x55, flags: 0x0}, + 473: {region: 0x165, script: 0x55, flags: 0x0}, + 474: {region: 0xd0, script: 0x55, flags: 0x0}, + 475: {region: 0xd6, script: 0x55, flags: 0x0}, + 476: {region: 0x165, script: 0x55, flags: 0x0}, + 477: {region: 0x165, script: 0x55, flags: 0x0}, + 478: {region: 0x165, script: 0x55, flags: 0x0}, + 479: {region: 0x95, script: 0x55, flags: 0x0}, + 480: {region: 0x165, script: 0x55, flags: 0x0}, + 481: {region: 0x165, script: 0x55, flags: 0x0}, + 482: {region: 0x165, script: 0x55, flags: 0x0}, + 484: {region: 0x122, script: 0x55, flags: 0x0}, + 485: {region: 0xd6, script: 0x55, flags: 0x0}, + 486: {region: 0x165, script: 0x55, flags: 0x0}, + 487: {region: 0x165, script: 0x55, flags: 0x0}, + 488: {region: 0x53, script: 0xe5, flags: 0x0}, + 489: {region: 0x165, script: 0x55, flags: 0x0}, + 490: {region: 0x135, script: 0x55, flags: 0x0}, + 491: {region: 0x165, script: 0x55, flags: 0x0}, + 492: {region: 0x49, script: 0x55, flags: 0x0}, + 493: {region: 0x165, script: 0x55, flags: 0x0}, + 494: {region: 0x165, script: 0x55, flags: 0x0}, + 495: {region: 0xe7, script: 0x55, flags: 0x0}, + 496: {region: 0x165, script: 0x55, flags: 0x0}, + 497: {region: 0x95, script: 0x55, flags: 0x0}, + 498: {region: 0x106, script: 0x1e, flags: 0x0}, + 500: {region: 0x165, script: 0x55, flags: 0x0}, + 501: {region: 0x165, script: 0x55, flags: 0x0}, + 502: {region: 0x9d, script: 0x55, flags: 0x0}, + 503: {region: 0x9e, script: 0x55, flags: 0x0}, + 504: {region: 0x49, script: 0x17, flags: 0x0}, + 505: {region: 0x97, script: 0x3a, flags: 0x0}, + 506: {region: 0x165, script: 0x55, flags: 0x0}, + 507: {region: 0x165, script: 0x55, flags: 0x0}, + 508: {region: 0x106, script: 0x55, flags: 0x0}, + 509: {region: 0x165, script: 0x55, flags: 0x0}, + 510: {region: 0xa2, script: 0x44, flags: 0x0}, + 511: {region: 0x165, script: 0x55, flags: 0x0}, + 512: {region: 0xa0, script: 0x55, flags: 0x0}, + 514: {region: 0x165, script: 0x55, flags: 0x0}, + 515: {region: 0x165, script: 0x55, flags: 0x0}, + 516: {region: 0x165, script: 0x55, flags: 0x0}, + 517: {region: 0x52, script: 0x55, flags: 0x0}, + 518: {region: 0x130, script: 0x3a, flags: 0x0}, + 519: {region: 0x165, script: 0x55, flags: 0x0}, + 520: {region: 0x12f, script: 0x55, flags: 0x0}, + 521: {region: 0xdb, script: 0x20, flags: 0x0}, + 522: {region: 0x165, script: 0x55, flags: 0x0}, + 523: {region: 0x63, script: 0x55, flags: 0x0}, + 524: {region: 0x95, script: 0x55, flags: 0x0}, + 525: {region: 0x95, script: 0x55, flags: 0x0}, + 526: {region: 0x7d, script: 0x2a, flags: 0x0}, + 527: {region: 0x137, script: 0x1e, flags: 0x0}, + 528: {region: 0x67, script: 0x55, flags: 0x0}, + 529: {region: 0xc4, script: 0x55, flags: 0x0}, + 530: {region: 0x165, script: 0x55, flags: 0x0}, + 531: {region: 0x165, script: 0x55, flags: 0x0}, + 532: {region: 0xd6, script: 0x55, flags: 0x0}, + 533: {region: 0xa4, script: 0x55, flags: 0x0}, + 534: {region: 0xc3, script: 0x55, flags: 0x0}, + 535: {region: 0x106, script: 0x1e, flags: 0x0}, + 536: {region: 0x165, script: 0x55, flags: 0x0}, + 537: {region: 0x165, script: 0x55, flags: 0x0}, + 538: {region: 0x165, script: 0x55, flags: 0x0}, + 539: {region: 0x165, script: 0x55, flags: 0x0}, + 540: {region: 0xd4, script: 0x5, flags: 0x0}, + 541: {region: 0xd6, script: 0x55, flags: 0x0}, + 542: {region: 0x164, script: 0x55, flags: 0x0}, + 543: {region: 0x165, script: 0x55, flags: 0x0}, + 544: {region: 0x165, script: 0x55, flags: 0x0}, + 545: {region: 0x12f, script: 0x55, flags: 0x0}, + 546: {region: 0x122, script: 0x5, flags: 0x0}, + 547: {region: 0x165, script: 0x55, flags: 0x0}, + 548: {region: 0x123, script: 0xdb, flags: 0x0}, + 549: {region: 0x5a, script: 0x55, flags: 0x0}, + 550: {region: 0x52, script: 0x55, flags: 0x0}, + 551: {region: 0x165, script: 0x55, flags: 0x0}, + 552: {region: 0x4f, script: 0x55, flags: 0x0}, + 553: {region: 0x99, script: 0x20, flags: 0x0}, + 554: {region: 0x99, script: 0x20, flags: 0x0}, + 555: {region: 0x4b, script: 0x55, flags: 0x0}, + 556: {region: 0x95, script: 0x55, flags: 0x0}, + 557: {region: 0x165, script: 0x55, flags: 0x0}, + 558: {region: 0x41, script: 0x55, flags: 0x0}, + 559: {region: 0x99, script: 0x55, flags: 0x0}, + 560: {region: 0x53, script: 0xd2, flags: 0x0}, + 561: {region: 0x99, script: 0x20, flags: 0x0}, + 562: {region: 0xc3, script: 0x55, flags: 0x0}, + 563: {region: 0x165, script: 0x55, flags: 0x0}, + 564: {region: 0x99, script: 0x70, flags: 0x0}, + 565: {region: 0xe8, script: 0x5, flags: 0x0}, + 566: {region: 0x165, script: 0x55, flags: 0x0}, + 567: {region: 0xa4, script: 0x55, flags: 0x0}, + 568: {region: 0x165, script: 0x55, flags: 0x0}, + 569: {region: 0x12b, script: 0x55, flags: 0x0}, + 570: {region: 0x165, script: 0x55, flags: 0x0}, + 571: {region: 0xd2, script: 0x55, flags: 0x0}, + 572: {region: 0x165, script: 0x55, flags: 0x0}, + 573: {region: 0xaf, script: 0x52, flags: 0x0}, + 574: {region: 0x165, script: 0x55, flags: 0x0}, + 575: {region: 0x165, script: 0x55, flags: 0x0}, + 576: {region: 0x13, script: 0x6, flags: 0x1}, + 577: {region: 0x165, script: 0x55, flags: 0x0}, + 578: {region: 0x52, script: 0x55, flags: 0x0}, + 579: {region: 0x82, script: 0x55, flags: 0x0}, + 580: {region: 0xa4, script: 0x55, flags: 0x0}, + 581: {region: 0x165, script: 0x55, flags: 0x0}, + 582: {region: 0x165, script: 0x55, flags: 0x0}, + 583: {region: 0x165, script: 0x55, flags: 0x0}, + 584: {region: 0xa6, script: 0x49, flags: 0x0}, + 585: {region: 0x2a, script: 0x55, flags: 0x0}, + 586: {region: 0x165, script: 0x55, flags: 0x0}, + 587: {region: 0x165, script: 0x55, flags: 0x0}, + 588: {region: 0x165, script: 0x55, flags: 0x0}, + 589: {region: 0x165, script: 0x55, flags: 0x0}, + 590: {region: 0x165, script: 0x55, flags: 0x0}, + 591: {region: 0x99, script: 0x4d, flags: 0x0}, + 592: {region: 0x114, script: 0x55, flags: 0x0}, + 593: {region: 0x165, script: 0x55, flags: 0x0}, + 594: {region: 0xab, script: 0x4e, flags: 0x0}, + 595: {region: 0x106, script: 0x1e, flags: 0x0}, + 596: {region: 0x99, script: 0x20, flags: 0x0}, + 597: {region: 0x165, script: 0x55, flags: 0x0}, + 598: {region: 0x75, script: 0x55, flags: 0x0}, + 599: {region: 0x165, script: 0x55, flags: 0x0}, + 600: {region: 0xb4, script: 0x55, flags: 0x0}, + 601: {region: 0x165, script: 0x55, flags: 0x0}, + 602: {region: 0x165, script: 0x55, flags: 0x0}, + 603: {region: 0x165, script: 0x55, flags: 0x0}, + 604: {region: 0x165, script: 0x55, flags: 0x0}, + 605: {region: 0x165, script: 0x55, flags: 0x0}, + 606: {region: 0x165, script: 0x55, flags: 0x0}, + 607: {region: 0x165, script: 0x55, flags: 0x0}, + 608: {region: 0x165, script: 0x28, flags: 0x0}, + 610: {region: 0x106, script: 0x1e, flags: 0x0}, + 611: {region: 0x112, script: 0x55, flags: 0x0}, + 612: {region: 0xe7, script: 0x55, flags: 0x0}, + 613: {region: 0x106, script: 0x55, flags: 0x0}, + 614: {region: 0x165, script: 0x55, flags: 0x0}, + 615: {region: 0x99, script: 0x20, flags: 0x0}, + 616: {region: 0x99, script: 0x5, flags: 0x0}, + 617: {region: 0x12f, script: 0x55, flags: 0x0}, + 618: {region: 0x165, script: 0x55, flags: 0x0}, + 619: {region: 0x52, script: 0x55, flags: 0x0}, + 620: {region: 0x60, script: 0x55, flags: 0x0}, + 621: {region: 0x165, script: 0x55, flags: 0x0}, + 622: {region: 0x165, script: 0x55, flags: 0x0}, + 623: {region: 0x165, script: 0x28, flags: 0x0}, + 624: {region: 0x165, script: 0x55, flags: 0x0}, + 625: {region: 0x165, script: 0x55, flags: 0x0}, + 626: {region: 0x19, script: 0x3, flags: 0x1}, + 627: {region: 0x165, script: 0x55, flags: 0x0}, + 628: {region: 0x165, script: 0x55, flags: 0x0}, + 629: {region: 0x165, script: 0x55, flags: 0x0}, + 630: {region: 0x165, script: 0x55, flags: 0x0}, + 631: {region: 0x106, script: 0x1e, flags: 0x0}, + 632: {region: 0x165, script: 0x55, flags: 0x0}, + 633: {region: 0x165, script: 0x55, flags: 0x0}, + 634: {region: 0x165, script: 0x55, flags: 0x0}, + 635: {region: 0x106, script: 0x1e, flags: 0x0}, + 636: {region: 0x165, script: 0x55, flags: 0x0}, + 637: {region: 0x95, script: 0x55, flags: 0x0}, + 638: {region: 0xe8, script: 0x5, flags: 0x0}, + 639: {region: 0x7b, script: 0x55, flags: 0x0}, + 640: {region: 0x165, script: 0x55, flags: 0x0}, + 641: {region: 0x165, script: 0x55, flags: 0x0}, + 642: {region: 0x165, script: 0x55, flags: 0x0}, + 643: {region: 0x165, script: 0x28, flags: 0x0}, + 644: {region: 0x123, script: 0xdb, flags: 0x0}, + 645: {region: 0xe8, script: 0x5, flags: 0x0}, + 646: {region: 0x165, script: 0x55, flags: 0x0}, + 647: {region: 0x165, script: 0x55, flags: 0x0}, + 648: {region: 0x1c, script: 0x5, flags: 0x1}, + 649: {region: 0x165, script: 0x55, flags: 0x0}, + 650: {region: 0x165, script: 0x55, flags: 0x0}, + 651: {region: 0x165, script: 0x55, flags: 0x0}, + 652: {region: 0x138, script: 0x55, flags: 0x0}, + 653: {region: 0x87, script: 0x59, flags: 0x0}, + 654: {region: 0x97, script: 0x3a, flags: 0x0}, + 655: {region: 0x12f, script: 0x55, flags: 0x0}, + 656: {region: 0xe8, script: 0x5, flags: 0x0}, + 657: {region: 0x131, script: 0x55, flags: 0x0}, + 658: {region: 0x165, script: 0x55, flags: 0x0}, + 659: {region: 0xb7, script: 0x55, flags: 0x0}, + 660: {region: 0x106, script: 0x1e, flags: 0x0}, + 661: {region: 0x165, script: 0x55, flags: 0x0}, + 662: {region: 0x95, script: 0x55, flags: 0x0}, + 663: {region: 0x165, script: 0x55, flags: 0x0}, + 664: {region: 0x53, script: 0xdb, flags: 0x0}, + 665: {region: 0x165, script: 0x55, flags: 0x0}, + 666: {region: 0x165, script: 0x55, flags: 0x0}, + 667: {region: 0x165, script: 0x55, flags: 0x0}, + 668: {region: 0x165, script: 0x55, flags: 0x0}, + 669: {region: 0x99, script: 0x57, flags: 0x0}, + 670: {region: 0x165, script: 0x55, flags: 0x0}, + 671: {region: 0x165, script: 0x55, flags: 0x0}, + 672: {region: 0x106, script: 0x1e, flags: 0x0}, + 673: {region: 0x131, script: 0x55, flags: 0x0}, + 674: {region: 0x165, script: 0x55, flags: 0x0}, + 675: {region: 0xd9, script: 0x55, flags: 0x0}, + 676: {region: 0x165, script: 0x55, flags: 0x0}, + 677: {region: 0x165, script: 0x55, flags: 0x0}, + 678: {region: 0x21, script: 0x2, flags: 0x1}, + 679: {region: 0x165, script: 0x55, flags: 0x0}, + 680: {region: 0x165, script: 0x55, flags: 0x0}, + 681: {region: 0x9e, script: 0x55, flags: 0x0}, + 682: {region: 0x53, script: 0x5b, flags: 0x0}, + 683: {region: 0x95, script: 0x55, flags: 0x0}, + 684: {region: 0x9c, script: 0x5, flags: 0x0}, + 685: {region: 0x135, script: 0x55, flags: 0x0}, + 686: {region: 0x165, script: 0x55, flags: 0x0}, + 687: {region: 0x165, script: 0x55, flags: 0x0}, + 688: {region: 0x99, script: 0xd6, flags: 0x0}, + 689: {region: 0x9e, script: 0x55, flags: 0x0}, + 690: {region: 0x165, script: 0x55, flags: 0x0}, + 691: {region: 0x4b, script: 0x55, flags: 0x0}, + 692: {region: 0x165, script: 0x55, flags: 0x0}, + 693: {region: 0x165, script: 0x55, flags: 0x0}, + 694: {region: 0xaf, script: 0x52, flags: 0x0}, + 695: {region: 0x165, script: 0x55, flags: 0x0}, + 696: {region: 0x165, script: 0x55, flags: 0x0}, + 697: {region: 0x4b, script: 0x55, flags: 0x0}, + 698: {region: 0x165, script: 0x55, flags: 0x0}, + 699: {region: 0x165, script: 0x55, flags: 0x0}, + 700: {region: 0x162, script: 0x55, flags: 0x0}, + 701: {region: 0x9c, script: 0x5, flags: 0x0}, + 702: {region: 0xb6, script: 0x55, flags: 0x0}, + 703: {region: 0xb8, script: 0x55, flags: 0x0}, + 704: {region: 0x4b, script: 0x55, flags: 0x0}, + 705: {region: 0x4b, script: 0x55, flags: 0x0}, + 706: {region: 0xa4, script: 0x55, flags: 0x0}, + 707: {region: 0xa4, script: 0x55, flags: 0x0}, + 708: {region: 0x9c, script: 0x5, flags: 0x0}, + 709: {region: 0xb8, script: 0x55, flags: 0x0}, + 710: {region: 0x123, script: 0xdb, flags: 0x0}, + 711: {region: 0x53, script: 0x37, flags: 0x0}, + 712: {region: 0x12b, script: 0x55, flags: 0x0}, + 713: {region: 0x95, script: 0x55, flags: 0x0}, + 714: {region: 0x52, script: 0x55, flags: 0x0}, + 715: {region: 0x99, script: 0x20, flags: 0x0}, + 716: {region: 0x99, script: 0x20, flags: 0x0}, + 717: {region: 0x95, script: 0x55, flags: 0x0}, + 718: {region: 0x23, script: 0x3, flags: 0x1}, + 719: {region: 0xa4, script: 0x55, flags: 0x0}, + 720: {region: 0x165, script: 0x55, flags: 0x0}, + 721: {region: 0xcf, script: 0x55, flags: 0x0}, + 722: {region: 0x165, script: 0x55, flags: 0x0}, + 723: {region: 0x165, script: 0x55, flags: 0x0}, + 724: {region: 0x165, script: 0x55, flags: 0x0}, + 725: {region: 0x165, script: 0x55, flags: 0x0}, + 726: {region: 0x165, script: 0x55, flags: 0x0}, + 727: {region: 0x165, script: 0x55, flags: 0x0}, + 728: {region: 0x165, script: 0x55, flags: 0x0}, + 729: {region: 0x165, script: 0x55, flags: 0x0}, + 730: {region: 0x165, script: 0x55, flags: 0x0}, + 731: {region: 0x165, script: 0x55, flags: 0x0}, + 732: {region: 0x165, script: 0x55, flags: 0x0}, + 733: {region: 0x165, script: 0x5, flags: 0x0}, + 734: {region: 0x106, script: 0x1e, flags: 0x0}, + 735: {region: 0xe7, script: 0x55, flags: 0x0}, + 736: {region: 0x165, script: 0x55, flags: 0x0}, + 737: {region: 0x95, script: 0x55, flags: 0x0}, + 738: {region: 0x165, script: 0x28, flags: 0x0}, + 739: {region: 0x165, script: 0x55, flags: 0x0}, + 740: {region: 0x165, script: 0x55, flags: 0x0}, + 741: {region: 0x165, script: 0x55, flags: 0x0}, + 742: {region: 0x112, script: 0x55, flags: 0x0}, + 743: {region: 0xa4, script: 0x55, flags: 0x0}, + 744: {region: 0x165, script: 0x55, flags: 0x0}, + 745: {region: 0x165, script: 0x55, flags: 0x0}, + 746: {region: 0x123, script: 0x5, flags: 0x0}, + 747: {region: 0xcc, script: 0x55, flags: 0x0}, + 748: {region: 0x165, script: 0x55, flags: 0x0}, + 749: {region: 0x165, script: 0x55, flags: 0x0}, + 750: {region: 0x165, script: 0x55, flags: 0x0}, + 751: {region: 0xbf, script: 0x55, flags: 0x0}, + 752: {region: 0xd1, script: 0x55, flags: 0x0}, + 753: {region: 0x165, script: 0x55, flags: 0x0}, + 754: {region: 0x52, script: 0x55, flags: 0x0}, + 755: {region: 0xdb, script: 0x20, flags: 0x0}, + 756: {region: 0x12f, script: 0x55, flags: 0x0}, + 757: {region: 0xc0, script: 0x55, flags: 0x0}, + 758: {region: 0x165, script: 0x55, flags: 0x0}, + 759: {region: 0x165, script: 0x55, flags: 0x0}, + 760: {region: 0xe0, script: 0x55, flags: 0x0}, + 761: {region: 0x165, script: 0x55, flags: 0x0}, + 762: {region: 0x95, script: 0x55, flags: 0x0}, + 763: {region: 0x9b, script: 0x39, flags: 0x0}, + 764: {region: 0x165, script: 0x55, flags: 0x0}, + 765: {region: 0xc2, script: 0x1e, flags: 0x0}, + 766: {region: 0x165, script: 0x5, flags: 0x0}, + 767: {region: 0x165, script: 0x55, flags: 0x0}, + 768: {region: 0x165, script: 0x55, flags: 0x0}, + 769: {region: 0x165, script: 0x55, flags: 0x0}, + 770: {region: 0x99, script: 0x69, flags: 0x0}, + 771: {region: 0x165, script: 0x55, flags: 0x0}, + 772: {region: 0x165, script: 0x55, flags: 0x0}, + 773: {region: 0x10b, script: 0x55, flags: 0x0}, + 774: {region: 0x165, script: 0x55, flags: 0x0}, + 775: {region: 0x165, script: 0x55, flags: 0x0}, + 776: {region: 0x165, script: 0x55, flags: 0x0}, + 777: {region: 0x26, script: 0x3, flags: 0x1}, + 778: {region: 0x165, script: 0x55, flags: 0x0}, + 779: {region: 0x165, script: 0x55, flags: 0x0}, + 780: {region: 0x99, script: 0xe, flags: 0x0}, + 781: {region: 0xc4, script: 0x70, flags: 0x0}, + 783: {region: 0x165, script: 0x55, flags: 0x0}, + 784: {region: 0x49, script: 0x55, flags: 0x0}, + 785: {region: 0x49, script: 0x55, flags: 0x0}, + 786: {region: 0x37, script: 0x55, flags: 0x0}, + 787: {region: 0x165, script: 0x55, flags: 0x0}, + 788: {region: 0x165, script: 0x55, flags: 0x0}, + 789: {region: 0x165, script: 0x55, flags: 0x0}, + 790: {region: 0x165, script: 0x55, flags: 0x0}, + 791: {region: 0x165, script: 0x55, flags: 0x0}, + 792: {region: 0x165, script: 0x55, flags: 0x0}, + 793: {region: 0x99, script: 0x20, flags: 0x0}, + 794: {region: 0xdb, script: 0x20, flags: 0x0}, + 795: {region: 0x106, script: 0x1e, flags: 0x0}, + 796: {region: 0x35, script: 0x6d, flags: 0x0}, + 797: {region: 0x29, script: 0x3, flags: 0x1}, + 798: {region: 0xcb, script: 0x55, flags: 0x0}, + 799: {region: 0x165, script: 0x55, flags: 0x0}, + 800: {region: 0x165, script: 0x55, flags: 0x0}, + 801: {region: 0x165, script: 0x55, flags: 0x0}, + 802: {region: 0x99, script: 0x20, flags: 0x0}, + 803: {region: 0x52, script: 0x55, flags: 0x0}, + 805: {region: 0x165, script: 0x55, flags: 0x0}, + 806: {region: 0x135, script: 0x55, flags: 0x0}, + 807: {region: 0x165, script: 0x55, flags: 0x0}, + 808: {region: 0x165, script: 0x55, flags: 0x0}, + 809: {region: 0xe8, script: 0x5, flags: 0x0}, + 810: {region: 0xc3, script: 0x55, flags: 0x0}, + 811: {region: 0x99, script: 0x20, flags: 0x0}, + 812: {region: 0x95, script: 0x55, flags: 0x0}, + 813: {region: 0x164, script: 0x55, flags: 0x0}, + 814: {region: 0x165, script: 0x55, flags: 0x0}, + 815: {region: 0xc4, script: 0x70, flags: 0x0}, + 816: {region: 0x165, script: 0x55, flags: 0x0}, + 817: {region: 0x165, script: 0x28, flags: 0x0}, + 818: {region: 0x106, script: 0x1e, flags: 0x0}, + 819: {region: 0x165, script: 0x55, flags: 0x0}, + 820: {region: 0x131, script: 0x55, flags: 0x0}, + 821: {region: 0x9c, script: 0x61, flags: 0x0}, + 822: {region: 0x165, script: 0x55, flags: 0x0}, + 823: {region: 0x165, script: 0x55, flags: 0x0}, + 824: {region: 0x9c, script: 0x5, flags: 0x0}, + 825: {region: 0x165, script: 0x55, flags: 0x0}, + 826: {region: 0x165, script: 0x55, flags: 0x0}, + 827: {region: 0x165, script: 0x55, flags: 0x0}, + 828: {region: 0xdd, script: 0x55, flags: 0x0}, + 829: {region: 0x165, script: 0x55, flags: 0x0}, + 830: {region: 0x165, script: 0x55, flags: 0x0}, + 832: {region: 0x165, script: 0x55, flags: 0x0}, + 833: {region: 0x53, script: 0x37, flags: 0x0}, + 834: {region: 0x9e, script: 0x55, flags: 0x0}, + 835: {region: 0xd2, script: 0x55, flags: 0x0}, + 836: {region: 0x165, script: 0x55, flags: 0x0}, + 837: {region: 0xda, script: 0x55, flags: 0x0}, + 838: {region: 0x165, script: 0x55, flags: 0x0}, + 839: {region: 0x165, script: 0x55, flags: 0x0}, + 840: {region: 0x165, script: 0x55, flags: 0x0}, + 841: {region: 0xcf, script: 0x55, flags: 0x0}, + 842: {region: 0x165, script: 0x55, flags: 0x0}, + 843: {region: 0x165, script: 0x55, flags: 0x0}, + 844: {region: 0x164, script: 0x55, flags: 0x0}, + 845: {region: 0xd1, script: 0x55, flags: 0x0}, + 846: {region: 0x60, script: 0x55, flags: 0x0}, + 847: {region: 0xdb, script: 0x20, flags: 0x0}, + 848: {region: 0x165, script: 0x55, flags: 0x0}, + 849: {region: 0xdb, script: 0x20, flags: 0x0}, + 850: {region: 0x165, script: 0x55, flags: 0x0}, + 851: {region: 0x165, script: 0x55, flags: 0x0}, + 852: {region: 0xd2, script: 0x55, flags: 0x0}, + 853: {region: 0x165, script: 0x55, flags: 0x0}, + 854: {region: 0x165, script: 0x55, flags: 0x0}, + 855: {region: 0xd1, script: 0x55, flags: 0x0}, + 856: {region: 0x165, script: 0x55, flags: 0x0}, + 857: {region: 0xcf, script: 0x55, flags: 0x0}, + 858: {region: 0xcf, script: 0x55, flags: 0x0}, + 859: {region: 0x165, script: 0x55, flags: 0x0}, + 860: {region: 0x165, script: 0x55, flags: 0x0}, + 861: {region: 0x95, script: 0x55, flags: 0x0}, + 862: {region: 0x165, script: 0x55, flags: 0x0}, + 863: {region: 0xdf, script: 0x55, flags: 0x0}, + 864: {region: 0x165, script: 0x55, flags: 0x0}, + 865: {region: 0x165, script: 0x55, flags: 0x0}, + 866: {region: 0x99, script: 0x55, flags: 0x0}, + 867: {region: 0x165, script: 0x55, flags: 0x0}, + 868: {region: 0x165, script: 0x55, flags: 0x0}, + 869: {region: 0xd9, script: 0x55, flags: 0x0}, + 870: {region: 0x52, script: 0x55, flags: 0x0}, + 871: {region: 0x165, script: 0x55, flags: 0x0}, + 872: {region: 0xda, script: 0x55, flags: 0x0}, + 873: {region: 0x165, script: 0x55, flags: 0x0}, + 874: {region: 0x52, script: 0x55, flags: 0x0}, + 875: {region: 0x165, script: 0x55, flags: 0x0}, + 876: {region: 0x165, script: 0x55, flags: 0x0}, + 877: {region: 0xda, script: 0x55, flags: 0x0}, + 878: {region: 0x123, script: 0x51, flags: 0x0}, + 879: {region: 0x99, script: 0x20, flags: 0x0}, + 880: {region: 0x10c, script: 0xbc, flags: 0x0}, + 881: {region: 0x165, script: 0x55, flags: 0x0}, + 882: {region: 0x165, script: 0x55, flags: 0x0}, + 883: {region: 0x84, script: 0x75, flags: 0x0}, + 884: {region: 0x161, script: 0x55, flags: 0x0}, + 885: {region: 0x165, script: 0x55, flags: 0x0}, + 886: {region: 0x49, script: 0x17, flags: 0x0}, + 887: {region: 0x165, script: 0x55, flags: 0x0}, + 888: {region: 0x161, script: 0x55, flags: 0x0}, + 889: {region: 0x165, script: 0x55, flags: 0x0}, + 890: {region: 0x165, script: 0x55, flags: 0x0}, + 891: {region: 0x165, script: 0x55, flags: 0x0}, + 892: {region: 0x165, script: 0x55, flags: 0x0}, + 893: {region: 0x165, script: 0x55, flags: 0x0}, + 894: {region: 0x117, script: 0x55, flags: 0x0}, + 895: {region: 0x165, script: 0x55, flags: 0x0}, + 896: {region: 0x165, script: 0x55, flags: 0x0}, + 897: {region: 0x135, script: 0x55, flags: 0x0}, + 898: {region: 0x165, script: 0x55, flags: 0x0}, + 899: {region: 0x53, script: 0x55, flags: 0x0}, + 900: {region: 0x165, script: 0x55, flags: 0x0}, + 901: {region: 0xce, script: 0x55, flags: 0x0}, + 902: {region: 0x12f, script: 0x55, flags: 0x0}, + 903: {region: 0x131, script: 0x55, flags: 0x0}, + 904: {region: 0x80, script: 0x55, flags: 0x0}, + 905: {region: 0x78, script: 0x55, flags: 0x0}, + 906: {region: 0x165, script: 0x55, flags: 0x0}, + 908: {region: 0x165, script: 0x55, flags: 0x0}, + 909: {region: 0x165, script: 0x55, flags: 0x0}, + 910: {region: 0x6f, script: 0x55, flags: 0x0}, + 911: {region: 0x165, script: 0x55, flags: 0x0}, + 912: {region: 0x165, script: 0x55, flags: 0x0}, + 913: {region: 0x165, script: 0x55, flags: 0x0}, + 914: {region: 0x165, script: 0x55, flags: 0x0}, + 915: {region: 0x99, script: 0x7a, flags: 0x0}, + 916: {region: 0x165, script: 0x55, flags: 0x0}, + 917: {region: 0x165, script: 0x5, flags: 0x0}, + 918: {region: 0x7d, script: 0x1e, flags: 0x0}, + 919: {region: 0x135, script: 0x7b, flags: 0x0}, + 920: {region: 0x165, script: 0x5, flags: 0x0}, + 921: {region: 0xc5, script: 0x79, flags: 0x0}, + 922: {region: 0x165, script: 0x55, flags: 0x0}, + 923: {region: 0x2c, script: 0x3, flags: 0x1}, + 924: {region: 0xe7, script: 0x55, flags: 0x0}, + 925: {region: 0x2f, script: 0x2, flags: 0x1}, + 926: {region: 0xe7, script: 0x55, flags: 0x0}, + 927: {region: 0x30, script: 0x55, flags: 0x0}, + 928: {region: 0xf0, script: 0x55, flags: 0x0}, + 929: {region: 0x165, script: 0x55, flags: 0x0}, + 930: {region: 0x78, script: 0x55, flags: 0x0}, + 931: {region: 0xd6, script: 0x55, flags: 0x0}, + 932: {region: 0x135, script: 0x55, flags: 0x0}, + 933: {region: 0x49, script: 0x55, flags: 0x0}, + 934: {region: 0x165, script: 0x55, flags: 0x0}, + 935: {region: 0x9c, script: 0xe3, flags: 0x0}, + 936: {region: 0x165, script: 0x55, flags: 0x0}, + 937: {region: 0x60, script: 0x55, flags: 0x0}, + 938: {region: 0x165, script: 0x5, flags: 0x0}, + 939: {region: 0xb0, script: 0x84, flags: 0x0}, + 941: {region: 0x165, script: 0x55, flags: 0x0}, + 942: {region: 0x165, script: 0x55, flags: 0x0}, + 943: {region: 0x99, script: 0x12, flags: 0x0}, + 944: {region: 0xa4, script: 0x55, flags: 0x0}, + 945: {region: 0xe9, script: 0x55, flags: 0x0}, + 946: {region: 0x165, script: 0x55, flags: 0x0}, + 947: {region: 0x9e, script: 0x55, flags: 0x0}, + 948: {region: 0x165, script: 0x55, flags: 0x0}, + 949: {region: 0x165, script: 0x55, flags: 0x0}, + 950: {region: 0x87, script: 0x30, flags: 0x0}, + 951: {region: 0x75, script: 0x55, flags: 0x0}, + 952: {region: 0x165, script: 0x55, flags: 0x0}, + 953: {region: 0xe8, script: 0x48, flags: 0x0}, + 954: {region: 0x9c, script: 0x5, flags: 0x0}, + 955: {region: 0x1, script: 0x55, flags: 0x0}, + 956: {region: 0x24, script: 0x5, flags: 0x0}, + 957: {region: 0x165, script: 0x55, flags: 0x0}, + 958: {region: 0x41, script: 0x55, flags: 0x0}, + 959: {region: 0x165, script: 0x55, flags: 0x0}, + 960: {region: 0x7a, script: 0x55, flags: 0x0}, + 961: {region: 0x165, script: 0x55, flags: 0x0}, + 962: {region: 0xe4, script: 0x55, flags: 0x0}, + 963: {region: 0x89, script: 0x55, flags: 0x0}, + 964: {region: 0x69, script: 0x55, flags: 0x0}, + 965: {region: 0x165, script: 0x55, flags: 0x0}, + 966: {region: 0x99, script: 0x20, flags: 0x0}, + 967: {region: 0x165, script: 0x55, flags: 0x0}, + 968: {region: 0x102, script: 0x55, flags: 0x0}, + 969: {region: 0x95, script: 0x55, flags: 0x0}, + 970: {region: 0x165, script: 0x55, flags: 0x0}, + 971: {region: 0x165, script: 0x55, flags: 0x0}, + 972: {region: 0x9e, script: 0x55, flags: 0x0}, + 973: {region: 0x165, script: 0x5, flags: 0x0}, + 974: {region: 0x99, script: 0x55, flags: 0x0}, + 975: {region: 0x31, script: 0x2, flags: 0x1}, + 976: {region: 0xdb, script: 0x20, flags: 0x0}, + 977: {region: 0x35, script: 0xe, flags: 0x0}, + 978: {region: 0x4e, script: 0x55, flags: 0x0}, + 979: {region: 0x72, script: 0x55, flags: 0x0}, + 980: {region: 0x4e, script: 0x55, flags: 0x0}, + 981: {region: 0x9c, script: 0x5, flags: 0x0}, + 982: {region: 0x10c, script: 0x55, flags: 0x0}, + 983: {region: 0x3a, script: 0x55, flags: 0x0}, + 984: {region: 0x165, script: 0x55, flags: 0x0}, + 985: {region: 0xd1, script: 0x55, flags: 0x0}, + 986: {region: 0x104, script: 0x55, flags: 0x0}, + 987: {region: 0x95, script: 0x55, flags: 0x0}, + 988: {region: 0x12f, script: 0x55, flags: 0x0}, + 989: {region: 0x165, script: 0x55, flags: 0x0}, + 990: {region: 0x165, script: 0x55, flags: 0x0}, + 991: {region: 0x73, script: 0x55, flags: 0x0}, + 992: {region: 0x106, script: 0x1e, flags: 0x0}, + 993: {region: 0x130, script: 0x1e, flags: 0x0}, + 994: {region: 0x109, script: 0x55, flags: 0x0}, + 995: {region: 0x107, script: 0x55, flags: 0x0}, + 996: {region: 0x12f, script: 0x55, flags: 0x0}, + 997: {region: 0x165, script: 0x55, flags: 0x0}, + 998: {region: 0xa2, script: 0x47, flags: 0x0}, + 999: {region: 0x99, script: 0x20, flags: 0x0}, + 1000: {region: 0x80, script: 0x55, flags: 0x0}, + 1001: {region: 0x106, script: 0x1e, flags: 0x0}, + 1002: {region: 0xa4, script: 0x55, flags: 0x0}, + 1003: {region: 0x95, script: 0x55, flags: 0x0}, + 1004: {region: 0x99, script: 0x55, flags: 0x0}, + 1005: {region: 0x114, script: 0x55, flags: 0x0}, + 1006: {region: 0x99, script: 0xc0, flags: 0x0}, + 1007: {region: 0x165, script: 0x55, flags: 0x0}, + 1008: {region: 0x165, script: 0x55, flags: 0x0}, + 1009: {region: 0x12f, script: 0x55, flags: 0x0}, + 1010: {region: 0x9e, script: 0x55, flags: 0x0}, + 1011: {region: 0x99, script: 0x20, flags: 0x0}, + 1012: {region: 0x165, script: 0x5, flags: 0x0}, + 1013: {region: 0x9e, script: 0x55, flags: 0x0}, + 1014: {region: 0x7b, script: 0x55, flags: 0x0}, + 1015: {region: 0x49, script: 0x55, flags: 0x0}, + 1016: {region: 0x33, script: 0x4, flags: 0x1}, + 1017: {region: 0x9e, script: 0x55, flags: 0x0}, + 1018: {region: 0x9c, script: 0x5, flags: 0x0}, + 1019: {region: 0xda, script: 0x55, flags: 0x0}, + 1020: {region: 0x4f, script: 0x55, flags: 0x0}, + 1021: {region: 0xd1, script: 0x55, flags: 0x0}, + 1022: {region: 0xcf, script: 0x55, flags: 0x0}, + 1023: {region: 0xc3, script: 0x55, flags: 0x0}, + 1024: {region: 0x4c, script: 0x55, flags: 0x0}, + 1025: {region: 0x96, script: 0x77, flags: 0x0}, + 1026: {region: 0xb6, script: 0x55, flags: 0x0}, + 1027: {region: 0x165, script: 0x28, flags: 0x0}, + 1028: {region: 0x165, script: 0x55, flags: 0x0}, + 1030: {region: 0xba, script: 0xd8, flags: 0x0}, + 1031: {region: 0x165, script: 0x55, flags: 0x0}, + 1032: {region: 0xc4, script: 0x70, flags: 0x0}, + 1033: {region: 0x165, script: 0x5, flags: 0x0}, + 1034: {region: 0xb3, script: 0xc6, flags: 0x0}, + 1035: {region: 0x6f, script: 0x55, flags: 0x0}, + 1036: {region: 0x165, script: 0x55, flags: 0x0}, + 1037: {region: 0x165, script: 0x55, flags: 0x0}, + 1038: {region: 0x165, script: 0x55, flags: 0x0}, + 1039: {region: 0x165, script: 0x55, flags: 0x0}, + 1040: {region: 0x111, script: 0x55, flags: 0x0}, + 1041: {region: 0x165, script: 0x55, flags: 0x0}, + 1042: {region: 0xe8, script: 0x5, flags: 0x0}, + 1043: {region: 0x165, script: 0x55, flags: 0x0}, + 1044: {region: 0x10f, script: 0x55, flags: 0x0}, + 1045: {region: 0x165, script: 0x55, flags: 0x0}, + 1046: {region: 0xe9, script: 0x55, flags: 0x0}, + 1047: {region: 0x165, script: 0x55, flags: 0x0}, + 1048: {region: 0x95, script: 0x55, flags: 0x0}, + 1049: {region: 0x142, script: 0x55, flags: 0x0}, + 1050: {region: 0x10c, script: 0x55, flags: 0x0}, + 1052: {region: 0x10c, script: 0x55, flags: 0x0}, + 1053: {region: 0x72, script: 0x55, flags: 0x0}, + 1054: {region: 0x97, script: 0xbd, flags: 0x0}, + 1055: {region: 0x165, script: 0x55, flags: 0x0}, + 1056: {region: 0x72, script: 0x55, flags: 0x0}, + 1057: {region: 0x164, script: 0x55, flags: 0x0}, + 1058: {region: 0x165, script: 0x55, flags: 0x0}, + 1059: {region: 0xc3, script: 0x55, flags: 0x0}, + 1060: {region: 0x165, script: 0x55, flags: 0x0}, + 1061: {region: 0x165, script: 0x55, flags: 0x0}, + 1062: {region: 0x165, script: 0x55, flags: 0x0}, + 1063: {region: 0x115, script: 0x55, flags: 0x0}, + 1064: {region: 0x165, script: 0x55, flags: 0x0}, + 1065: {region: 0x165, script: 0x55, flags: 0x0}, + 1066: {region: 0x123, script: 0xdb, flags: 0x0}, + 1067: {region: 0x165, script: 0x55, flags: 0x0}, + 1068: {region: 0x165, script: 0x55, flags: 0x0}, + 1069: {region: 0x165, script: 0x55, flags: 0x0}, + 1070: {region: 0x165, script: 0x55, flags: 0x0}, + 1071: {region: 0x27, script: 0x55, flags: 0x0}, + 1072: {region: 0x37, script: 0x5, flags: 0x1}, + 1073: {region: 0x99, script: 0xc7, flags: 0x0}, + 1074: {region: 0x116, script: 0x55, flags: 0x0}, + 1075: {region: 0x114, script: 0x55, flags: 0x0}, + 1076: {region: 0x99, script: 0x20, flags: 0x0}, + 1077: {region: 0x161, script: 0x55, flags: 0x0}, + 1078: {region: 0x165, script: 0x55, flags: 0x0}, + 1079: {region: 0x165, script: 0x55, flags: 0x0}, + 1080: {region: 0x6d, script: 0x55, flags: 0x0}, + 1081: {region: 0x161, script: 0x55, flags: 0x0}, + 1082: {region: 0x165, script: 0x55, flags: 0x0}, + 1083: {region: 0x60, script: 0x55, flags: 0x0}, + 1084: {region: 0x95, script: 0x55, flags: 0x0}, + 1085: {region: 0x165, script: 0x55, flags: 0x0}, + 1086: {region: 0x165, script: 0x55, flags: 0x0}, + 1087: {region: 0x12f, script: 0x55, flags: 0x0}, + 1088: {region: 0x165, script: 0x55, flags: 0x0}, + 1089: {region: 0x84, script: 0x55, flags: 0x0}, + 1090: {region: 0x10c, script: 0x55, flags: 0x0}, + 1091: {region: 0x12f, script: 0x55, flags: 0x0}, + 1092: {region: 0x15f, script: 0x5, flags: 0x0}, + 1093: {region: 0x4b, script: 0x55, flags: 0x0}, + 1094: {region: 0x60, script: 0x55, flags: 0x0}, + 1095: {region: 0x165, script: 0x55, flags: 0x0}, + 1096: {region: 0x99, script: 0x20, flags: 0x0}, + 1097: {region: 0x95, script: 0x55, flags: 0x0}, + 1098: {region: 0x165, script: 0x55, flags: 0x0}, + 1099: {region: 0x35, script: 0xe, flags: 0x0}, + 1100: {region: 0x9b, script: 0xcb, flags: 0x0}, + 1101: {region: 0xe9, script: 0x55, flags: 0x0}, + 1102: {region: 0x99, script: 0xd3, flags: 0x0}, + 1103: {region: 0xdb, script: 0x20, flags: 0x0}, + 1104: {region: 0x165, script: 0x55, flags: 0x0}, + 1105: {region: 0x165, script: 0x55, flags: 0x0}, + 1106: {region: 0x165, script: 0x55, flags: 0x0}, + 1107: {region: 0x165, script: 0x55, flags: 0x0}, + 1108: {region: 0x165, script: 0x55, flags: 0x0}, + 1109: {region: 0x165, script: 0x55, flags: 0x0}, + 1110: {region: 0x165, script: 0x55, flags: 0x0}, + 1111: {region: 0x165, script: 0x55, flags: 0x0}, + 1112: {region: 0xe7, script: 0x55, flags: 0x0}, + 1113: {region: 0x165, script: 0x55, flags: 0x0}, + 1114: {region: 0x165, script: 0x55, flags: 0x0}, + 1115: {region: 0x99, script: 0x4d, flags: 0x0}, + 1116: {region: 0x53, script: 0xd1, flags: 0x0}, + 1117: {region: 0xdb, script: 0x20, flags: 0x0}, + 1118: {region: 0xdb, script: 0x20, flags: 0x0}, + 1119: {region: 0x99, script: 0xd6, flags: 0x0}, + 1120: {region: 0x165, script: 0x55, flags: 0x0}, + 1121: {region: 0x112, script: 0x55, flags: 0x0}, + 1122: {region: 0x131, script: 0x55, flags: 0x0}, + 1123: {region: 0x126, script: 0x55, flags: 0x0}, + 1124: {region: 0x165, script: 0x55, flags: 0x0}, + 1125: {region: 0x3c, script: 0x3, flags: 0x1}, + 1126: {region: 0x165, script: 0x55, flags: 0x0}, + 1127: {region: 0x165, script: 0x55, flags: 0x0}, + 1128: {region: 0x165, script: 0x55, flags: 0x0}, + 1129: {region: 0x123, script: 0xdb, flags: 0x0}, + 1130: {region: 0xdb, script: 0x20, flags: 0x0}, + 1131: {region: 0xdb, script: 0x20, flags: 0x0}, + 1132: {region: 0xdb, script: 0x20, flags: 0x0}, + 1133: {region: 0x6f, script: 0x28, flags: 0x0}, + 1134: {region: 0x165, script: 0x55, flags: 0x0}, + 1135: {region: 0x6d, script: 0x28, flags: 0x0}, + 1136: {region: 0x165, script: 0x55, flags: 0x0}, + 1137: {region: 0x165, script: 0x55, flags: 0x0}, + 1138: {region: 0x165, script: 0x55, flags: 0x0}, + 1139: {region: 0xd6, script: 0x55, flags: 0x0}, + 1140: {region: 0x127, script: 0x55, flags: 0x0}, + 1141: {region: 0x125, script: 0x55, flags: 0x0}, + 1142: {region: 0x32, script: 0x55, flags: 0x0}, + 1143: {region: 0xdb, script: 0x20, flags: 0x0}, + 1144: {region: 0xe7, script: 0x55, flags: 0x0}, + 1145: {region: 0x165, script: 0x55, flags: 0x0}, + 1146: {region: 0x165, script: 0x55, flags: 0x0}, + 1147: {region: 0x32, script: 0x55, flags: 0x0}, + 1148: {region: 0xd4, script: 0x55, flags: 0x0}, + 1149: {region: 0x165, script: 0x55, flags: 0x0}, + 1150: {region: 0x161, script: 0x55, flags: 0x0}, + 1151: {region: 0x165, script: 0x55, flags: 0x0}, + 1152: {region: 0x129, script: 0x55, flags: 0x0}, + 1153: {region: 0x165, script: 0x55, flags: 0x0}, + 1154: {region: 0xce, script: 0x55, flags: 0x0}, + 1155: {region: 0x165, script: 0x55, flags: 0x0}, + 1156: {region: 0xe6, script: 0x55, flags: 0x0}, + 1157: {region: 0x165, script: 0x55, flags: 0x0}, + 1158: {region: 0x165, script: 0x55, flags: 0x0}, + 1159: {region: 0x165, script: 0x55, flags: 0x0}, + 1160: {region: 0x12b, script: 0x55, flags: 0x0}, + 1161: {region: 0x12b, script: 0x55, flags: 0x0}, + 1162: {region: 0x12e, script: 0x55, flags: 0x0}, + 1163: {region: 0x165, script: 0x5, flags: 0x0}, + 1164: {region: 0x161, script: 0x55, flags: 0x0}, + 1165: {region: 0x87, script: 0x30, flags: 0x0}, + 1166: {region: 0xdb, script: 0x20, flags: 0x0}, + 1167: {region: 0xe7, script: 0x55, flags: 0x0}, + 1168: {region: 0x43, script: 0xdc, flags: 0x0}, + 1169: {region: 0x165, script: 0x55, flags: 0x0}, + 1170: {region: 0x106, script: 0x1e, flags: 0x0}, + 1171: {region: 0x165, script: 0x55, flags: 0x0}, + 1172: {region: 0x165, script: 0x55, flags: 0x0}, + 1173: {region: 0x131, script: 0x55, flags: 0x0}, + 1174: {region: 0x165, script: 0x55, flags: 0x0}, + 1175: {region: 0x123, script: 0xdb, flags: 0x0}, + 1176: {region: 0x32, script: 0x55, flags: 0x0}, + 1177: {region: 0x165, script: 0x55, flags: 0x0}, + 1178: {region: 0x165, script: 0x55, flags: 0x0}, + 1179: {region: 0xce, script: 0x55, flags: 0x0}, + 1180: {region: 0x165, script: 0x55, flags: 0x0}, + 1181: {region: 0x165, script: 0x55, flags: 0x0}, + 1182: {region: 0x12d, script: 0x55, flags: 0x0}, + 1183: {region: 0x165, script: 0x55, flags: 0x0}, + 1185: {region: 0x165, script: 0x55, flags: 0x0}, + 1186: {region: 0xd4, script: 0x55, flags: 0x0}, + 1187: {region: 0x53, script: 0xd4, flags: 0x0}, + 1188: {region: 0xe5, script: 0x55, flags: 0x0}, + 1189: {region: 0x165, script: 0x55, flags: 0x0}, + 1190: {region: 0x106, script: 0x1e, flags: 0x0}, + 1191: {region: 0xba, script: 0x55, flags: 0x0}, + 1192: {region: 0x165, script: 0x55, flags: 0x0}, + 1193: {region: 0x106, script: 0x1e, flags: 0x0}, + 1194: {region: 0x3f, script: 0x4, flags: 0x1}, + 1195: {region: 0x11c, script: 0xde, flags: 0x0}, + 1196: {region: 0x130, script: 0x1e, flags: 0x0}, + 1197: {region: 0x75, script: 0x55, flags: 0x0}, + 1198: {region: 0x2a, script: 0x55, flags: 0x0}, + 1200: {region: 0x43, script: 0x3, flags: 0x1}, + 1201: {region: 0x99, script: 0xe, flags: 0x0}, + 1202: {region: 0xe8, script: 0x5, flags: 0x0}, + 1203: {region: 0x165, script: 0x55, flags: 0x0}, + 1204: {region: 0x165, script: 0x55, flags: 0x0}, + 1205: {region: 0x165, script: 0x55, flags: 0x0}, + 1206: {region: 0x165, script: 0x55, flags: 0x0}, + 1207: {region: 0x165, script: 0x55, flags: 0x0}, + 1208: {region: 0x165, script: 0x55, flags: 0x0}, + 1209: {region: 0x165, script: 0x55, flags: 0x0}, + 1210: {region: 0x46, script: 0x4, flags: 0x1}, + 1211: {region: 0x165, script: 0x55, flags: 0x0}, + 1212: {region: 0xb4, script: 0xdf, flags: 0x0}, + 1213: {region: 0x165, script: 0x55, flags: 0x0}, + 1214: {region: 0x161, script: 0x55, flags: 0x0}, + 1215: {region: 0x9e, script: 0x55, flags: 0x0}, + 1216: {region: 0x106, script: 0x55, flags: 0x0}, + 1217: {region: 0x13e, script: 0x55, flags: 0x0}, + 1218: {region: 0x11b, script: 0x55, flags: 0x0}, + 1219: {region: 0x165, script: 0x55, flags: 0x0}, + 1220: {region: 0x36, script: 0x55, flags: 0x0}, + 1221: {region: 0x60, script: 0x55, flags: 0x0}, + 1222: {region: 0xd1, script: 0x55, flags: 0x0}, + 1223: {region: 0x1, script: 0x55, flags: 0x0}, + 1224: {region: 0x106, script: 0x55, flags: 0x0}, + 1225: {region: 0x6a, script: 0x55, flags: 0x0}, + 1226: {region: 0x12f, script: 0x55, flags: 0x0}, + 1227: {region: 0x165, script: 0x55, flags: 0x0}, + 1228: {region: 0x36, script: 0x55, flags: 0x0}, + 1229: {region: 0x4e, script: 0x55, flags: 0x0}, + 1230: {region: 0x165, script: 0x55, flags: 0x0}, + 1231: {region: 0x6f, script: 0x28, flags: 0x0}, + 1232: {region: 0x165, script: 0x55, flags: 0x0}, + 1233: {region: 0xe7, script: 0x55, flags: 0x0}, + 1234: {region: 0x2f, script: 0x55, flags: 0x0}, + 1235: {region: 0x99, script: 0xd6, flags: 0x0}, + 1236: {region: 0x99, script: 0x20, flags: 0x0}, + 1237: {region: 0x165, script: 0x55, flags: 0x0}, + 1238: {region: 0x165, script: 0x55, flags: 0x0}, + 1239: {region: 0x165, script: 0x55, flags: 0x0}, + 1240: {region: 0x165, script: 0x55, flags: 0x0}, + 1241: {region: 0x165, script: 0x55, flags: 0x0}, + 1242: {region: 0x165, script: 0x55, flags: 0x0}, + 1243: {region: 0x165, script: 0x55, flags: 0x0}, + 1244: {region: 0x165, script: 0x55, flags: 0x0}, + 1245: {region: 0x165, script: 0x55, flags: 0x0}, + 1246: {region: 0x140, script: 0x55, flags: 0x0}, + 1247: {region: 0x165, script: 0x55, flags: 0x0}, + 1248: {region: 0x165, script: 0x55, flags: 0x0}, + 1249: {region: 0xa8, script: 0x5, flags: 0x0}, + 1250: {region: 0x165, script: 0x55, flags: 0x0}, + 1251: {region: 0x114, script: 0x55, flags: 0x0}, + 1252: {region: 0x165, script: 0x55, flags: 0x0}, + 1253: {region: 0x165, script: 0x55, flags: 0x0}, + 1254: {region: 0x165, script: 0x55, flags: 0x0}, + 1255: {region: 0x165, script: 0x55, flags: 0x0}, + 1256: {region: 0x99, script: 0x20, flags: 0x0}, + 1257: {region: 0x53, script: 0x37, flags: 0x0}, + 1258: {region: 0x165, script: 0x55, flags: 0x0}, + 1259: {region: 0x165, script: 0x55, flags: 0x0}, + 1260: {region: 0x41, script: 0x55, flags: 0x0}, + 1261: {region: 0x165, script: 0x55, flags: 0x0}, + 1262: {region: 0x12b, script: 0x18, flags: 0x0}, + 1263: {region: 0x165, script: 0x55, flags: 0x0}, + 1264: {region: 0x161, script: 0x55, flags: 0x0}, + 1265: {region: 0x165, script: 0x55, flags: 0x0}, + 1266: {region: 0x12b, script: 0x5d, flags: 0x0}, + 1267: {region: 0x12b, script: 0x5e, flags: 0x0}, + 1268: {region: 0x7d, script: 0x2a, flags: 0x0}, + 1269: {region: 0x53, script: 0x62, flags: 0x0}, + 1270: {region: 0x10b, script: 0x67, flags: 0x0}, + 1271: {region: 0x108, script: 0x71, flags: 0x0}, + 1272: {region: 0x99, script: 0x20, flags: 0x0}, + 1273: {region: 0x131, script: 0x55, flags: 0x0}, + 1274: {region: 0x165, script: 0x55, flags: 0x0}, + 1275: {region: 0x9c, script: 0x87, flags: 0x0}, + 1276: {region: 0x165, script: 0x55, flags: 0x0}, + 1277: {region: 0x15e, script: 0xbf, flags: 0x0}, + 1278: {region: 0x165, script: 0x55, flags: 0x0}, + 1279: {region: 0x165, script: 0x55, flags: 0x0}, + 1280: {region: 0xdb, script: 0x20, flags: 0x0}, + 1281: {region: 0x165, script: 0x55, flags: 0x0}, + 1282: {region: 0x165, script: 0x55, flags: 0x0}, + 1283: {region: 0xd1, script: 0x55, flags: 0x0}, + 1284: {region: 0x75, script: 0x55, flags: 0x0}, + 1285: {region: 0x165, script: 0x55, flags: 0x0}, + 1286: {region: 0x165, script: 0x55, flags: 0x0}, + 1287: {region: 0x52, script: 0x55, flags: 0x0}, + 1288: {region: 0x165, script: 0x55, flags: 0x0}, + 1289: {region: 0x165, script: 0x55, flags: 0x0}, + 1290: {region: 0x165, script: 0x55, flags: 0x0}, + 1291: {region: 0x52, script: 0x55, flags: 0x0}, + 1292: {region: 0x165, script: 0x55, flags: 0x0}, + 1293: {region: 0x165, script: 0x55, flags: 0x0}, + 1294: {region: 0x165, script: 0x55, flags: 0x0}, + 1295: {region: 0x165, script: 0x55, flags: 0x0}, + 1296: {region: 0x1, script: 0x3a, flags: 0x0}, + 1297: {region: 0x165, script: 0x55, flags: 0x0}, + 1298: {region: 0x165, script: 0x55, flags: 0x0}, + 1299: {region: 0x165, script: 0x55, flags: 0x0}, + 1300: {region: 0x165, script: 0x55, flags: 0x0}, + 1301: {region: 0x165, script: 0x55, flags: 0x0}, + 1302: {region: 0xd6, script: 0x55, flags: 0x0}, + 1303: {region: 0x165, script: 0x55, flags: 0x0}, + 1304: {region: 0x165, script: 0x55, flags: 0x0}, + 1305: {region: 0x165, script: 0x55, flags: 0x0}, + 1306: {region: 0x41, script: 0x55, flags: 0x0}, + 1307: {region: 0x165, script: 0x55, flags: 0x0}, + 1308: {region: 0xcf, script: 0x55, flags: 0x0}, + 1309: {region: 0x4a, script: 0x3, flags: 0x1}, + 1310: {region: 0x165, script: 0x55, flags: 0x0}, + 1311: {region: 0x165, script: 0x55, flags: 0x0}, + 1312: {region: 0x165, script: 0x55, flags: 0x0}, + 1313: {region: 0x53, script: 0x55, flags: 0x0}, + 1314: {region: 0x10b, script: 0x55, flags: 0x0}, + 1316: {region: 0xa8, script: 0x5, flags: 0x0}, + 1317: {region: 0xd9, script: 0x55, flags: 0x0}, + 1318: {region: 0xba, script: 0xd8, flags: 0x0}, + 1319: {region: 0x4d, script: 0x14, flags: 0x1}, + 1320: {region: 0x165, script: 0x55, flags: 0x0}, + 1321: {region: 0x122, script: 0x55, flags: 0x0}, + 1322: {region: 0xd0, script: 0x55, flags: 0x0}, + 1323: {region: 0x165, script: 0x55, flags: 0x0}, + 1324: {region: 0x161, script: 0x55, flags: 0x0}, + 1326: {region: 0x12b, script: 0x55, flags: 0x0}, +} + +// likelyLangList holds lists info associated with likelyLang. +// Size: 388 bytes, 97 elements +var likelyLangList = [97]likelyScriptRegion{ + 0: {region: 0x9c, script: 0x7, flags: 0x0}, + 1: {region: 0xa1, script: 0x72, flags: 0x2}, + 2: {region: 0x11c, script: 0x7d, flags: 0x2}, + 3: {region: 0x32, script: 0x55, flags: 0x0}, + 4: {region: 0x9b, script: 0x5, flags: 0x4}, + 5: {region: 0x9c, script: 0x5, flags: 0x4}, + 6: {region: 0x106, script: 0x1e, flags: 0x4}, + 7: {region: 0x9c, script: 0x5, flags: 0x2}, + 8: {region: 0x106, script: 0x1e, flags: 0x0}, + 9: {region: 0x38, script: 0x2b, flags: 0x2}, + 10: {region: 0x135, script: 0x55, flags: 0x0}, + 11: {region: 0x7b, script: 0xc2, flags: 0x2}, + 12: {region: 0x114, script: 0x55, flags: 0x0}, + 13: {region: 0x84, script: 0x1, flags: 0x2}, + 14: {region: 0x5d, script: 0x1d, flags: 0x0}, + 15: {region: 0x87, script: 0x5a, flags: 0x2}, + 16: {region: 0xd6, script: 0x55, flags: 0x0}, + 17: {region: 0x52, script: 0x5, flags: 0x4}, + 18: {region: 0x10b, script: 0x5, flags: 0x4}, + 19: {region: 0xae, script: 0x1e, flags: 0x0}, + 20: {region: 0x24, script: 0x5, flags: 0x4}, + 21: {region: 0x53, script: 0x5, flags: 0x4}, + 22: {region: 0x9c, script: 0x5, flags: 0x4}, + 23: {region: 0xc5, script: 0x5, flags: 0x4}, + 24: {region: 0x53, script: 0x5, flags: 0x2}, + 25: {region: 0x12b, script: 0x55, flags: 0x0}, + 26: {region: 0xb0, script: 0x5, flags: 0x4}, + 27: {region: 0x9b, script: 0x5, flags: 0x2}, + 28: {region: 0xa5, script: 0x1e, flags: 0x0}, + 29: {region: 0x53, script: 0x5, flags: 0x4}, + 30: {region: 0x12b, script: 0x55, flags: 0x4}, + 31: {region: 0x53, script: 0x5, flags: 0x2}, + 32: {region: 0x12b, script: 0x55, flags: 0x2}, + 33: {region: 0xdb, script: 0x20, flags: 0x0}, + 34: {region: 0x99, script: 0x58, flags: 0x2}, + 35: {region: 0x83, script: 0x55, flags: 0x0}, + 36: {region: 0x84, script: 0x75, flags: 0x4}, + 37: {region: 0x84, script: 0x75, flags: 0x2}, + 38: {region: 0xc5, script: 0x1e, flags: 0x0}, + 39: {region: 0x53, script: 0x6b, flags: 0x4}, + 40: {region: 0x53, script: 0x6b, flags: 0x2}, + 41: {region: 0xd0, script: 0x55, flags: 0x0}, + 42: {region: 0x4a, script: 0x5, flags: 0x4}, + 43: {region: 0x95, script: 0x5, flags: 0x4}, + 44: {region: 0x99, script: 0x32, flags: 0x0}, + 45: {region: 0xe8, script: 0x5, flags: 0x4}, + 46: {region: 0xe8, script: 0x5, flags: 0x2}, + 47: {region: 0x9c, script: 0x81, flags: 0x0}, + 48: {region: 0x53, script: 0x82, flags: 0x2}, + 49: {region: 0xba, script: 0xd8, flags: 0x0}, + 50: {region: 0xd9, script: 0x55, flags: 0x4}, + 51: {region: 0xe8, script: 0x5, flags: 0x0}, + 52: {region: 0x99, script: 0x20, flags: 0x2}, + 53: {region: 0x99, script: 0x4a, flags: 0x2}, + 54: {region: 0x99, script: 0xc5, flags: 0x2}, + 55: {region: 0x105, script: 0x1e, flags: 0x0}, + 56: {region: 0xbd, script: 0x55, flags: 0x4}, + 57: {region: 0x104, script: 0x55, flags: 0x4}, + 58: {region: 0x106, script: 0x55, flags: 0x4}, + 59: {region: 0x12b, script: 0x55, flags: 0x4}, + 60: {region: 0x124, script: 0x1e, flags: 0x0}, + 61: {region: 0xe8, script: 0x5, flags: 0x4}, + 62: {region: 0xe8, script: 0x5, flags: 0x2}, + 63: {region: 0x53, script: 0x5, flags: 0x0}, + 64: {region: 0xae, script: 0x1e, flags: 0x4}, + 65: {region: 0xc5, script: 0x1e, flags: 0x4}, + 66: {region: 0xae, script: 0x1e, flags: 0x2}, + 67: {region: 0x99, script: 0xe, flags: 0x0}, + 68: {region: 0xdb, script: 0x20, flags: 0x4}, + 69: {region: 0xdb, script: 0x20, flags: 0x2}, + 70: {region: 0x137, script: 0x55, flags: 0x0}, + 71: {region: 0x24, script: 0x5, flags: 0x4}, + 72: {region: 0x53, script: 0x1e, flags: 0x4}, + 73: {region: 0x24, script: 0x5, flags: 0x2}, + 74: {region: 0x8d, script: 0x38, flags: 0x0}, + 75: {region: 0x53, script: 0x37, flags: 0x4}, + 76: {region: 0x53, script: 0x37, flags: 0x2}, + 77: {region: 0x53, script: 0x37, flags: 0x0}, + 78: {region: 0x2f, script: 0x38, flags: 0x4}, + 79: {region: 0x3e, script: 0x38, flags: 0x4}, + 80: {region: 0x7b, script: 0x38, flags: 0x4}, + 81: {region: 0x7e, script: 0x38, flags: 0x4}, + 82: {region: 0x8d, script: 0x38, flags: 0x4}, + 83: {region: 0x95, script: 0x38, flags: 0x4}, + 84: {region: 0xc6, script: 0x38, flags: 0x4}, + 85: {region: 0xd0, script: 0x38, flags: 0x4}, + 86: {region: 0xe2, script: 0x38, flags: 0x4}, + 87: {region: 0xe5, script: 0x38, flags: 0x4}, + 88: {region: 0xe7, script: 0x38, flags: 0x4}, + 89: {region: 0x116, script: 0x38, flags: 0x4}, + 90: {region: 0x123, script: 0x38, flags: 0x4}, + 91: {region: 0x12e, script: 0x38, flags: 0x4}, + 92: {region: 0x135, script: 0x38, flags: 0x4}, + 93: {region: 0x13e, script: 0x38, flags: 0x4}, + 94: {region: 0x12e, script: 0x11, flags: 0x2}, + 95: {region: 0x12e, script: 0x33, flags: 0x2}, + 96: {region: 0x12e, script: 0x38, flags: 0x2}, +} + +type likelyLangScript struct { + lang uint16 + script uint8 + flags uint8 +} + +// likelyRegion is a lookup table, indexed by regionID, for the most likely +// languages and scripts given incomplete information. If more entries exist +// for a given regionID, lang and script are the index and size respectively +// of the list in likelyRegionList. +// TODO: exclude containers and user-definable regions from the list. +// Size: 1432 bytes, 358 elements +var likelyRegion = [358]likelyLangScript{ + 34: {lang: 0xd7, script: 0x55, flags: 0x0}, + 35: {lang: 0x3a, script: 0x5, flags: 0x0}, + 36: {lang: 0x0, script: 0x2, flags: 0x1}, + 39: {lang: 0x2, script: 0x2, flags: 0x1}, + 40: {lang: 0x4, script: 0x2, flags: 0x1}, + 42: {lang: 0x3be, script: 0x55, flags: 0x0}, + 43: {lang: 0x0, script: 0x55, flags: 0x0}, + 44: {lang: 0x13d, script: 0x55, flags: 0x0}, + 45: {lang: 0x419, script: 0x55, flags: 0x0}, + 46: {lang: 0x10c, script: 0x55, flags: 0x0}, + 48: {lang: 0x365, script: 0x55, flags: 0x0}, + 49: {lang: 0x442, script: 0x55, flags: 0x0}, + 50: {lang: 0x58, script: 0x55, flags: 0x0}, + 51: {lang: 0x6, script: 0x2, flags: 0x1}, + 53: {lang: 0xa5, script: 0xe, flags: 0x0}, + 54: {lang: 0x365, script: 0x55, flags: 0x0}, + 55: {lang: 0x15d, script: 0x55, flags: 0x0}, + 56: {lang: 0x7e, script: 0x1e, flags: 0x0}, + 57: {lang: 0x3a, script: 0x5, flags: 0x0}, + 58: {lang: 0x3d7, script: 0x55, flags: 0x0}, + 59: {lang: 0x15d, script: 0x55, flags: 0x0}, + 60: {lang: 0x15d, script: 0x55, flags: 0x0}, + 62: {lang: 0x31d, script: 0x55, flags: 0x0}, + 63: {lang: 0x13d, script: 0x55, flags: 0x0}, + 64: {lang: 0x39f, script: 0x55, flags: 0x0}, + 65: {lang: 0x3be, script: 0x55, flags: 0x0}, + 67: {lang: 0x8, script: 0x2, flags: 0x1}, + 69: {lang: 0x0, script: 0x55, flags: 0x0}, + 71: {lang: 0x71, script: 0x1e, flags: 0x0}, + 73: {lang: 0x510, script: 0x3a, flags: 0x2}, + 74: {lang: 0x31d, script: 0x5, flags: 0x2}, + 75: {lang: 0x443, script: 0x55, flags: 0x0}, + 76: {lang: 0x15d, script: 0x55, flags: 0x0}, + 77: {lang: 0x15d, script: 0x55, flags: 0x0}, + 78: {lang: 0x10c, script: 0x55, flags: 0x0}, + 79: {lang: 0x15d, script: 0x55, flags: 0x0}, + 81: {lang: 0x13d, script: 0x55, flags: 0x0}, + 82: {lang: 0x15d, script: 0x55, flags: 0x0}, + 83: {lang: 0xa, script: 0x5, flags: 0x1}, + 84: {lang: 0x13d, script: 0x55, flags: 0x0}, + 85: {lang: 0x0, script: 0x55, flags: 0x0}, + 86: {lang: 0x13d, script: 0x55, flags: 0x0}, + 89: {lang: 0x13d, script: 0x55, flags: 0x0}, + 90: {lang: 0x3be, script: 0x55, flags: 0x0}, + 91: {lang: 0x39f, script: 0x55, flags: 0x0}, + 93: {lang: 0xf, script: 0x2, flags: 0x1}, + 94: {lang: 0xf9, script: 0x55, flags: 0x0}, + 96: {lang: 0x10c, script: 0x55, flags: 0x0}, + 98: {lang: 0x1, script: 0x55, flags: 0x0}, + 99: {lang: 0x100, script: 0x55, flags: 0x0}, + 101: {lang: 0x13d, script: 0x55, flags: 0x0}, + 103: {lang: 0x11, script: 0x2, flags: 0x1}, + 104: {lang: 0x13d, script: 0x55, flags: 0x0}, + 105: {lang: 0x13d, script: 0x55, flags: 0x0}, + 106: {lang: 0x13f, script: 0x55, flags: 0x0}, + 107: {lang: 0x3a, script: 0x5, flags: 0x0}, + 108: {lang: 0x3a, script: 0x5, flags: 0x0}, + 109: {lang: 0x46d, script: 0x28, flags: 0x0}, + 110: {lang: 0x13d, script: 0x55, flags: 0x0}, + 111: {lang: 0x13, script: 0x2, flags: 0x1}, + 113: {lang: 0x10c, script: 0x55, flags: 0x0}, + 114: {lang: 0x150, script: 0x55, flags: 0x0}, + 115: {lang: 0x1be, script: 0x20, flags: 0x2}, + 118: {lang: 0x157, script: 0x55, flags: 0x0}, + 120: {lang: 0x15d, script: 0x55, flags: 0x0}, + 122: {lang: 0x15d, script: 0x55, flags: 0x0}, + 123: {lang: 0x15, script: 0x2, flags: 0x1}, + 125: {lang: 0x17, script: 0x3, flags: 0x1}, + 126: {lang: 0x15d, script: 0x55, flags: 0x0}, + 128: {lang: 0x21, script: 0x55, flags: 0x0}, + 130: {lang: 0x243, script: 0x55, flags: 0x0}, + 132: {lang: 0x15d, script: 0x55, flags: 0x0}, + 133: {lang: 0x15d, script: 0x55, flags: 0x0}, + 134: {lang: 0x13d, script: 0x55, flags: 0x0}, + 135: {lang: 0x1a, script: 0x2, flags: 0x1}, + 136: {lang: 0x0, script: 0x55, flags: 0x0}, + 137: {lang: 0x13d, script: 0x55, flags: 0x0}, + 139: {lang: 0x3be, script: 0x55, flags: 0x0}, + 141: {lang: 0x527, script: 0x38, flags: 0x0}, + 142: {lang: 0x0, script: 0x55, flags: 0x0}, + 143: {lang: 0x13d, script: 0x55, flags: 0x0}, + 144: {lang: 0x1cf, script: 0x55, flags: 0x0}, + 145: {lang: 0x1d2, script: 0x55, flags: 0x0}, + 146: {lang: 0x1d3, script: 0x55, flags: 0x0}, + 148: {lang: 0x13d, script: 0x55, flags: 0x0}, + 149: {lang: 0x1c, script: 0x2, flags: 0x1}, + 151: {lang: 0x1ba, script: 0x3a, flags: 0x0}, + 153: {lang: 0x1e, script: 0x3, flags: 0x1}, + 155: {lang: 0x3a, script: 0x5, flags: 0x0}, + 156: {lang: 0x21, script: 0x2, flags: 0x1}, + 157: {lang: 0x1f6, script: 0x55, flags: 0x0}, + 158: {lang: 0x1f7, script: 0x55, flags: 0x0}, + 161: {lang: 0x3a, script: 0x5, flags: 0x0}, + 162: {lang: 0x1fe, script: 0x44, flags: 0x0}, + 164: {lang: 0x443, script: 0x55, flags: 0x0}, + 165: {lang: 0x288, script: 0x1e, flags: 0x0}, + 166: {lang: 0x23, script: 0x3, flags: 0x1}, + 168: {lang: 0x26, script: 0x2, flags: 0x1}, + 170: {lang: 0x252, script: 0x4e, flags: 0x0}, + 171: {lang: 0x252, script: 0x4e, flags: 0x0}, + 172: {lang: 0x3a, script: 0x5, flags: 0x0}, + 174: {lang: 0x3e0, script: 0x1e, flags: 0x0}, + 175: {lang: 0x28, script: 0x2, flags: 0x1}, + 176: {lang: 0x3a, script: 0x5, flags: 0x0}, + 178: {lang: 0x10c, script: 0x55, flags: 0x0}, + 179: {lang: 0x40a, script: 0xc6, flags: 0x0}, + 181: {lang: 0x439, script: 0x55, flags: 0x0}, + 182: {lang: 0x2be, script: 0x55, flags: 0x0}, + 183: {lang: 0x15d, script: 0x55, flags: 0x0}, + 184: {lang: 0x2c5, script: 0x55, flags: 0x0}, + 185: {lang: 0x3a, script: 0x5, flags: 0x0}, + 186: {lang: 0x2a, script: 0x2, flags: 0x1}, + 187: {lang: 0x15d, script: 0x55, flags: 0x0}, + 188: {lang: 0x2c, script: 0x2, flags: 0x1}, + 189: {lang: 0x430, script: 0x55, flags: 0x0}, + 190: {lang: 0x15d, script: 0x55, flags: 0x0}, + 191: {lang: 0x2ef, script: 0x55, flags: 0x0}, + 194: {lang: 0x2e, script: 0x2, flags: 0x1}, + 195: {lang: 0xa0, script: 0x55, flags: 0x0}, + 196: {lang: 0x30, script: 0x2, flags: 0x1}, + 197: {lang: 0x32, script: 0x2, flags: 0x1}, + 198: {lang: 0x34, script: 0x2, flags: 0x1}, + 200: {lang: 0x15d, script: 0x55, flags: 0x0}, + 201: {lang: 0x36, script: 0x2, flags: 0x1}, + 203: {lang: 0x31e, script: 0x55, flags: 0x0}, + 204: {lang: 0x38, script: 0x3, flags: 0x1}, + 205: {lang: 0x127, script: 0xda, flags: 0x0}, + 207: {lang: 0x13d, script: 0x55, flags: 0x0}, + 208: {lang: 0x31d, script: 0x55, flags: 0x0}, + 209: {lang: 0x3be, script: 0x55, flags: 0x0}, + 210: {lang: 0x16, script: 0x55, flags: 0x0}, + 211: {lang: 0x15d, script: 0x55, flags: 0x0}, + 212: {lang: 0x1b2, script: 0x55, flags: 0x0}, + 214: {lang: 0x1b2, script: 0x5, flags: 0x2}, + 216: {lang: 0x13d, script: 0x55, flags: 0x0}, + 217: {lang: 0x365, script: 0x55, flags: 0x0}, + 218: {lang: 0x345, script: 0x55, flags: 0x0}, + 219: {lang: 0x34f, script: 0x20, flags: 0x0}, + 225: {lang: 0x3a, script: 0x5, flags: 0x0}, + 226: {lang: 0x13d, script: 0x55, flags: 0x0}, + 228: {lang: 0x13d, script: 0x55, flags: 0x0}, + 229: {lang: 0x15d, script: 0x55, flags: 0x0}, + 230: {lang: 0x484, script: 0x55, flags: 0x0}, + 231: {lang: 0x152, script: 0x55, flags: 0x0}, + 232: {lang: 0x3b, script: 0x3, flags: 0x1}, + 233: {lang: 0x3b1, script: 0x55, flags: 0x0}, + 234: {lang: 0x15d, script: 0x55, flags: 0x0}, + 236: {lang: 0x13d, script: 0x55, flags: 0x0}, + 237: {lang: 0x3a, script: 0x5, flags: 0x0}, + 238: {lang: 0x3be, script: 0x55, flags: 0x0}, + 240: {lang: 0x3a0, script: 0x55, flags: 0x0}, + 241: {lang: 0x192, script: 0x55, flags: 0x0}, + 243: {lang: 0x3a, script: 0x5, flags: 0x0}, + 258: {lang: 0x15d, script: 0x55, flags: 0x0}, + 260: {lang: 0x3e, script: 0x2, flags: 0x1}, + 261: {lang: 0x430, script: 0x1e, flags: 0x0}, + 262: {lang: 0x40, script: 0x2, flags: 0x1}, + 263: {lang: 0x3e3, script: 0x55, flags: 0x0}, + 264: {lang: 0x3a, script: 0x5, flags: 0x0}, + 266: {lang: 0x15d, script: 0x55, flags: 0x0}, + 267: {lang: 0x3a, script: 0x5, flags: 0x0}, + 268: {lang: 0x42, script: 0x2, flags: 0x1}, + 271: {lang: 0x414, script: 0x55, flags: 0x0}, + 272: {lang: 0x345, script: 0x55, flags: 0x0}, + 273: {lang: 0x44, script: 0x2, flags: 0x1}, + 275: {lang: 0x1f7, script: 0x55, flags: 0x0}, + 276: {lang: 0x15d, script: 0x55, flags: 0x0}, + 277: {lang: 0x427, script: 0x55, flags: 0x0}, + 278: {lang: 0x365, script: 0x55, flags: 0x0}, + 280: {lang: 0x3be, script: 0x55, flags: 0x0}, + 282: {lang: 0x13d, script: 0x55, flags: 0x0}, + 284: {lang: 0x46, script: 0x2, flags: 0x1}, + 288: {lang: 0x15d, script: 0x55, flags: 0x0}, + 289: {lang: 0x15d, script: 0x55, flags: 0x0}, + 290: {lang: 0x48, script: 0x2, flags: 0x1}, + 291: {lang: 0x4a, script: 0x3, flags: 0x1}, + 292: {lang: 0x4d, script: 0x2, flags: 0x1}, + 293: {lang: 0x475, script: 0x55, flags: 0x0}, + 294: {lang: 0x3be, script: 0x55, flags: 0x0}, + 295: {lang: 0x474, script: 0x55, flags: 0x0}, + 296: {lang: 0x4f, script: 0x2, flags: 0x1}, + 297: {lang: 0x480, script: 0x55, flags: 0x0}, + 299: {lang: 0x51, script: 0x4, flags: 0x1}, + 301: {lang: 0x49e, script: 0x55, flags: 0x0}, + 302: {lang: 0x55, script: 0x2, flags: 0x1}, + 303: {lang: 0x443, script: 0x55, flags: 0x0}, + 304: {lang: 0x57, script: 0x3, flags: 0x1}, + 305: {lang: 0x443, script: 0x55, flags: 0x0}, + 309: {lang: 0x510, script: 0x3a, flags: 0x2}, + 310: {lang: 0x13d, script: 0x55, flags: 0x0}, + 311: {lang: 0x4ba, script: 0x55, flags: 0x0}, + 312: {lang: 0x1f7, script: 0x55, flags: 0x0}, + 315: {lang: 0x13d, script: 0x55, flags: 0x0}, + 318: {lang: 0x4c1, script: 0x55, flags: 0x0}, + 319: {lang: 0x8a, script: 0x55, flags: 0x0}, + 320: {lang: 0x15d, script: 0x55, flags: 0x0}, + 322: {lang: 0x419, script: 0x55, flags: 0x0}, + 333: {lang: 0x5a, script: 0x2, flags: 0x1}, + 350: {lang: 0x3a, script: 0x5, flags: 0x0}, + 351: {lang: 0x5c, script: 0x2, flags: 0x1}, + 356: {lang: 0x421, script: 0x55, flags: 0x0}, +} + +// likelyRegionList holds lists info associated with likelyRegion. +// Size: 376 bytes, 94 elements +var likelyRegionList = [94]likelyLangScript{ + 0: {lang: 0x147, script: 0x5, flags: 0x0}, + 1: {lang: 0x474, script: 0x55, flags: 0x0}, + 2: {lang: 0x42f, script: 0x55, flags: 0x0}, + 3: {lang: 0x2fd, script: 0x1e, flags: 0x0}, + 4: {lang: 0x1d5, script: 0x8, flags: 0x0}, + 5: {lang: 0x272, script: 0x55, flags: 0x0}, + 6: {lang: 0xb7, script: 0x55, flags: 0x0}, + 7: {lang: 0x430, script: 0x1e, flags: 0x0}, + 8: {lang: 0x12c, script: 0xdc, flags: 0x0}, + 9: {lang: 0x34f, script: 0x20, flags: 0x0}, + 10: {lang: 0x527, script: 0x37, flags: 0x0}, + 11: {lang: 0x4aa, script: 0x5, flags: 0x0}, + 12: {lang: 0x51d, script: 0x38, flags: 0x0}, + 13: {lang: 0x521, script: 0x55, flags: 0x0}, + 14: {lang: 0x298, script: 0xdb, flags: 0x0}, + 15: {lang: 0x135, script: 0x30, flags: 0x0}, + 16: {lang: 0x488, script: 0x55, flags: 0x0}, + 17: {lang: 0x3a, script: 0x5, flags: 0x0}, + 18: {lang: 0x15d, script: 0x55, flags: 0x0}, + 19: {lang: 0x27, script: 0x28, flags: 0x0}, + 20: {lang: 0x138, script: 0x55, flags: 0x0}, + 21: {lang: 0x268, script: 0x5, flags: 0x2}, + 22: {lang: 0x510, script: 0x3a, flags: 0x2}, + 23: {lang: 0x20e, script: 0x2a, flags: 0x0}, + 24: {lang: 0x5, script: 0x1e, flags: 0x0}, + 25: {lang: 0x272, script: 0x55, flags: 0x0}, + 26: {lang: 0x135, script: 0x30, flags: 0x0}, + 27: {lang: 0x2fd, script: 0x1e, flags: 0x0}, + 28: {lang: 0x1df, script: 0x55, flags: 0x0}, + 29: {lang: 0x31d, script: 0x5, flags: 0x0}, + 30: {lang: 0x1bc, script: 0x20, flags: 0x0}, + 31: {lang: 0x4b2, script: 0x5, flags: 0x0}, + 32: {lang: 0x234, script: 0x70, flags: 0x0}, + 33: {lang: 0x147, script: 0x5, flags: 0x0}, + 34: {lang: 0x474, script: 0x55, flags: 0x0}, + 35: {lang: 0x248, script: 0x49, flags: 0x0}, + 36: {lang: 0xe6, script: 0x5, flags: 0x0}, + 37: {lang: 0x224, script: 0xdb, flags: 0x0}, + 38: {lang: 0x3a, script: 0x5, flags: 0x0}, + 39: {lang: 0x15d, script: 0x55, flags: 0x0}, + 40: {lang: 0x2b6, script: 0x52, flags: 0x0}, + 41: {lang: 0x224, script: 0xdb, flags: 0x0}, + 42: {lang: 0x3a, script: 0x5, flags: 0x0}, + 43: {lang: 0x15d, script: 0x55, flags: 0x0}, + 44: {lang: 0x3da, script: 0x55, flags: 0x0}, + 45: {lang: 0x4ac, script: 0x1e, flags: 0x0}, + 46: {lang: 0x2fd, script: 0x1e, flags: 0x0}, + 47: {lang: 0x42f, script: 0x55, flags: 0x0}, + 48: {lang: 0x32f, script: 0x70, flags: 0x0}, + 49: {lang: 0x211, script: 0x55, flags: 0x0}, + 50: {lang: 0x309, script: 0x1e, flags: 0x0}, + 51: {lang: 0x240, script: 0x5, flags: 0x0}, + 52: {lang: 0x527, script: 0x38, flags: 0x0}, + 53: {lang: 0x3be, script: 0x55, flags: 0x0}, + 54: {lang: 0x3a, script: 0x5, flags: 0x0}, + 55: {lang: 0x15d, script: 0x55, flags: 0x0}, + 56: {lang: 0x2eb, script: 0x55, flags: 0x0}, + 57: {lang: 0x4b2, script: 0x5, flags: 0x0}, + 58: {lang: 0x88, script: 0x20, flags: 0x0}, + 59: {lang: 0x4b2, script: 0x5, flags: 0x0}, + 60: {lang: 0x4b2, script: 0x5, flags: 0x0}, + 61: {lang: 0xbe, script: 0x20, flags: 0x0}, + 62: {lang: 0x3da, script: 0x55, flags: 0x0}, + 63: {lang: 0x7e, script: 0x1e, flags: 0x0}, + 64: {lang: 0x3e0, script: 0x1e, flags: 0x0}, + 65: {lang: 0x265, script: 0x55, flags: 0x0}, + 66: {lang: 0x442, script: 0x55, flags: 0x0}, + 67: {lang: 0x510, script: 0x3a, flags: 0x0}, + 68: {lang: 0x410, script: 0x55, flags: 0x0}, + 69: {lang: 0x4ac, script: 0x1e, flags: 0x0}, + 70: {lang: 0x3a, script: 0x5, flags: 0x0}, + 71: {lang: 0x15d, script: 0x55, flags: 0x0}, + 72: {lang: 0x15d, script: 0x55, flags: 0x0}, + 73: {lang: 0x35, script: 0x5, flags: 0x0}, + 74: {lang: 0x469, script: 0xdb, flags: 0x0}, + 75: {lang: 0x2ea, script: 0x5, flags: 0x0}, + 76: {lang: 0x30d, script: 0x70, flags: 0x0}, + 77: {lang: 0x465, script: 0x1e, flags: 0x0}, + 78: {lang: 0x147, script: 0x5, flags: 0x0}, + 79: {lang: 0x3a, script: 0x5, flags: 0x0}, + 80: {lang: 0x15d, script: 0x55, flags: 0x0}, + 81: {lang: 0x488, script: 0x55, flags: 0x0}, + 82: {lang: 0x58, script: 0x5, flags: 0x0}, + 83: {lang: 0x217, script: 0x1e, flags: 0x0}, + 84: {lang: 0x81, script: 0x30, flags: 0x0}, + 85: {lang: 0x527, script: 0x38, flags: 0x0}, + 86: {lang: 0x48a, script: 0x55, flags: 0x0}, + 87: {lang: 0x4ac, script: 0x1e, flags: 0x0}, + 88: {lang: 0x510, script: 0x3a, flags: 0x0}, + 89: {lang: 0x3b1, script: 0x55, flags: 0x0}, + 90: {lang: 0x42f, script: 0x55, flags: 0x0}, + 91: {lang: 0x430, script: 0x1e, flags: 0x0}, + 92: {lang: 0x15d, script: 0x55, flags: 0x0}, + 93: {lang: 0x444, script: 0x5, flags: 0x0}, +} + +type likelyTag struct { + lang uint16 + region uint16 + script uint8 +} + +// Size: 198 bytes, 33 elements +var likelyRegionGroup = [33]likelyTag{ + 1: {lang: 0x138, region: 0xd6, script: 0x55}, + 2: {lang: 0x138, region: 0x135, script: 0x55}, + 3: {lang: 0x3be, region: 0x41, script: 0x55}, + 4: {lang: 0x138, region: 0x2f, script: 0x55}, + 5: {lang: 0x138, region: 0xd6, script: 0x55}, + 6: {lang: 0x13d, region: 0xcf, script: 0x55}, + 7: {lang: 0x443, region: 0x12f, script: 0x55}, + 8: {lang: 0x3a, region: 0x6b, script: 0x5}, + 9: {lang: 0x443, region: 0x4b, script: 0x55}, + 10: {lang: 0x138, region: 0x161, script: 0x55}, + 11: {lang: 0x138, region: 0x135, script: 0x55}, + 12: {lang: 0x138, region: 0x135, script: 0x55}, + 13: {lang: 0x13d, region: 0x59, script: 0x55}, + 14: {lang: 0x527, region: 0x53, script: 0x37}, + 15: {lang: 0x1bc, region: 0x99, script: 0x20}, + 16: {lang: 0x1df, region: 0x95, script: 0x55}, + 17: {lang: 0x1f7, region: 0x9e, script: 0x55}, + 18: {lang: 0x138, region: 0x2f, script: 0x55}, + 19: {lang: 0x138, region: 0xe6, script: 0x55}, + 20: {lang: 0x138, region: 0x8a, script: 0x55}, + 21: {lang: 0x419, region: 0x142, script: 0x55}, + 22: {lang: 0x527, region: 0x53, script: 0x37}, + 23: {lang: 0x4ba, region: 0x137, script: 0x55}, + 24: {lang: 0x3a, region: 0x108, script: 0x5}, + 25: {lang: 0x3e0, region: 0x106, script: 0x1e}, + 26: {lang: 0x3e0, region: 0x106, script: 0x1e}, + 27: {lang: 0x138, region: 0x7b, script: 0x55}, + 28: {lang: 0x10c, region: 0x60, script: 0x55}, + 30: {lang: 0x13d, region: 0x1f, script: 0x55}, + 31: {lang: 0x138, region: 0x9a, script: 0x55}, + 32: {lang: 0x138, region: 0x7b, script: 0x55}, +} + +// Size: 358 bytes, 358 elements +var regionToGroups = [358]uint8{ + // Entry 0 - 3F + 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, + // Entry 40 - 7F + 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, + 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08, + 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, + // Entry 80 - BF + 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, + // Entry C0 - FF + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, + 0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Entry 100 - 13F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00, + 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00, + // Entry 140 - 17F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +} + +// Size: 18 bytes, 3 elements +var paradigmLocales = [3][3]uint16{ + 0: [3]uint16{0x138, 0x0, 0x7b}, + 1: [3]uint16{0x13d, 0x0, 0x1f}, + 2: [3]uint16{0x3be, 0x41, 0xee}, +} + +type mutualIntelligibility struct { + want uint16 + have uint16 + distance uint8 + oneway bool +} + +type scriptIntelligibility struct { + wantLang uint16 + haveLang uint16 + wantScript uint8 + haveScript uint8 + distance uint8 +} + +type regionIntelligibility struct { + lang uint16 + script uint8 + group uint8 + distance uint8 +} + +// matchLang holds pairs of langIDs of base languages that are typically +// mutually intelligible. Each pair is associated with a confidence and +// whether the intelligibility goes one or both ways. +// Size: 678 bytes, 113 elements +var matchLang = [113]mutualIntelligibility{ + 0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false}, + 1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false}, + 2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false}, + 3: {want: 0x405, have: 0x430, distance: 0x4, oneway: false}, + 4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false}, + 5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true}, + 6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true}, + 7: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false}, + 8: {want: 0x100, have: 0x345, distance: 0x8, oneway: false}, + 9: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true}, + 10: {want: 0xd, have: 0x138, distance: 0xa, oneway: true}, + 11: {want: 0x16, have: 0x365, distance: 0xa, oneway: true}, + 12: {want: 0x21, have: 0x138, distance: 0xa, oneway: true}, + 13: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true}, + 14: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true}, + 15: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true}, + 16: {want: 0x75, have: 0x138, distance: 0xa, oneway: true}, + 17: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true}, + 18: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true}, + 19: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true}, + 20: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true}, + 21: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true}, + 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true}, + 23: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true}, + 24: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true}, + 25: {want: 0xff, have: 0x138, distance: 0xa, oneway: true}, + 26: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true}, + 27: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true}, + 28: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true}, + 29: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true}, + 30: {want: 0x157, have: 0x100, distance: 0xa, oneway: true}, + 31: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true}, + 32: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true}, + 33: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true}, + 34: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true}, + 35: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true}, + 36: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true}, + 37: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true}, + 38: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true}, + 39: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true}, + 40: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true}, + 41: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true}, + 42: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true}, + 43: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true}, + 44: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true}, + 45: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true}, + 46: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true}, + 47: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true}, + 48: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true}, + 49: {want: 0x248, have: 0x138, distance: 0xa, oneway: true}, + 50: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true}, + 51: {want: 0x263, have: 0x138, distance: 0xa, oneway: true}, + 52: {want: 0x272, have: 0x488, distance: 0xa, oneway: true}, + 53: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true}, + 54: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true}, + 55: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true}, + 56: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true}, + 57: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true}, + 58: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true}, + 59: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true}, + 60: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true}, + 61: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true}, + 62: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true}, + 63: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true}, + 64: {want: 0x302, have: 0x138, distance: 0xa, oneway: true}, + 65: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true}, + 66: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true}, + 67: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true}, + 68: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true}, + 69: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true}, + 70: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true}, + 71: {want: 0x368, have: 0x345, distance: 0xa, oneway: false}, + 72: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true}, + 73: {want: 0x378, have: 0x138, distance: 0xa, oneway: true}, + 74: {want: 0x385, have: 0x138, distance: 0xa, oneway: true}, + 75: {want: 0x387, have: 0x138, distance: 0xa, oneway: true}, + 76: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true}, + 77: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true}, + 78: {want: 0x393, have: 0x138, distance: 0xa, oneway: true}, + 79: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true}, + 80: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true}, + 81: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true}, + 82: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true}, + 83: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true}, + 84: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true}, + 85: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true}, + 86: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true}, + 87: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true}, + 88: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true}, + 89: {want: 0x421, have: 0x138, distance: 0xa, oneway: true}, + 90: {want: 0x427, have: 0x138, distance: 0xa, oneway: true}, + 91: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true}, + 92: {want: 0x439, have: 0x138, distance: 0xa, oneway: true}, + 93: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true}, + 94: {want: 0x443, have: 0x138, distance: 0xa, oneway: true}, + 95: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true}, + 96: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true}, + 97: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true}, + 98: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true}, + 99: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true}, + 100: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true}, + 101: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true}, + 102: {want: 0x480, have: 0x138, distance: 0xa, oneway: true}, + 103: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true}, + 104: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true}, + 105: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true}, + 106: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true}, + 107: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true}, + 108: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true}, + 109: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true}, + 110: {want: 0x510, have: 0x138, distance: 0xa, oneway: true}, + 111: {want: 0x516, have: 0x138, distance: 0xa, oneway: true}, + 112: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true}, +} + +// matchScript holds pairs of scriptIDs where readers of one script +// can typically also read the other. Each is associated with a confidence. +// Size: 208 bytes, 26 elements +var matchScript = [26]scriptIntelligibility{ + 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x55, haveScript: 0x1e, distance: 0x5}, + 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x55, distance: 0x5}, + 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa}, + 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x55, distance: 0xa}, + 4: {wantLang: 0x1d5, haveLang: 0x3e0, wantScript: 0x8, haveScript: 0x1e, distance: 0xa}, + 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x2a, haveScript: 0x55, distance: 0xa}, + 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x49, haveScript: 0x55, distance: 0xa}, + 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4d, haveScript: 0x55, distance: 0xa}, + 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x52, haveScript: 0x55, distance: 0xa}, + 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x69, haveScript: 0x55, distance: 0xa}, + 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x70, haveScript: 0x55, distance: 0xa}, + 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x55, distance: 0xa}, + 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x7a, haveScript: 0x55, distance: 0xa}, + 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x32, haveScript: 0x55, distance: 0xa}, + 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa}, + 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa}, + 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc6, haveScript: 0x55, distance: 0xa}, + 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xd3, haveScript: 0x55, distance: 0xa}, + 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd6, haveScript: 0x55, distance: 0xa}, + 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x28, haveScript: 0x55, distance: 0xa}, + 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa}, + 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa}, + 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa}, + 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x3a, haveScript: 0x55, distance: 0xa}, + 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x37, haveScript: 0x38, distance: 0xf}, + 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x38, haveScript: 0x37, distance: 0x13}, +} + +// Size: 90 bytes, 15 elements +var matchRegion = [15]regionIntelligibility{ + 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4}, + 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4}, + 2: {lang: 0x138, script: 0x0, group: 0x1, distance: 0x4}, + 3: {lang: 0x138, script: 0x0, group: 0x81, distance: 0x4}, + 4: {lang: 0x13d, script: 0x0, group: 0x3, distance: 0x4}, + 5: {lang: 0x13d, script: 0x0, group: 0x83, distance: 0x4}, + 6: {lang: 0x3be, script: 0x0, group: 0x3, distance: 0x4}, + 7: {lang: 0x3be, script: 0x0, group: 0x83, distance: 0x4}, + 8: {lang: 0x527, script: 0x38, group: 0x2, distance: 0x4}, + 9: {lang: 0x527, script: 0x38, group: 0x82, distance: 0x4}, + 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5}, + 11: {lang: 0x138, script: 0x0, group: 0x80, distance: 0x5}, + 12: {lang: 0x13d, script: 0x0, group: 0x80, distance: 0x5}, + 13: {lang: 0x3be, script: 0x0, group: 0x80, distance: 0x5}, + 14: {lang: 0x527, script: 0x38, group: 0x80, distance: 0x5}, +} + +// Size: 264 bytes, 33 elements +var regionContainment = [33]uint64{ + // Entry 0 - 1F + 0x00000001dfffffff, 0x00000000000007a2, 0x0000000000003044, 0x0000000000000008, + 0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080, + 0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c, + 0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000, + 0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000, + 0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000, + 0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000, + 0x0000000010000000, 0x0000000020000000, 0x0000000040002048, 0x0000000080000000, + // Entry 20 - 3F + 0x0000000100000000, +} + +// regionInclusion maps region identifiers to sets of regions in regionInclusionBits, +// where each set holds all groupings that are directly connected in a region +// containment graph. +// Size: 358 bytes, 358 elements +var regionInclusion = [358]uint8{ + // Entry 0 - 3F + 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, + 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, + 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23, + 0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b, + 0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d, + 0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28, + // Entry 40 - 7F + 0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33, + 0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d, + 0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23, + 0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35, + 0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39, + 0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f, + 0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21, + 0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c, + // Entry 80 - BF + 0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a, + 0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34, + 0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24, + 0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c, + 0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c, + 0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31, + 0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a, + 0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f, + // Entry C0 - FF + 0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c, + 0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34, + 0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21, + 0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29, + 0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31, + 0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21, + 0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + // Entry 100 - 13F + 0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f, + 0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a, + 0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f, + 0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26, + 0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d, + 0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f, + 0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d, + 0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b, + // Entry 140 - 17F + 0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f, + 0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21, +} + +// regionInclusionBits is an array of bit vectors where every vector represents +// a set of region groupings. These sets are used to compute the distance +// between two regions for the purpose of language matching. +// Size: 584 bytes, 73 elements +var regionInclusionBits = [73]uint64{ + // Entry 0 - 1F + 0x0000000102400813, 0x00000000000007a3, 0x0000000000003844, 0x0000000040000808, + 0x00000000803c0011, 0x0000000000000022, 0x0000000040000844, 0x0000000000000082, + 0x0000000000000102, 0x0000000000000202, 0x0000000000000402, 0x000000004000384d, + 0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000, + 0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010, + 0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000, + 0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000, + 0x0000000012000000, 0x0000000020000000, 0x0000000040002848, 0x0000000080000010, + // Entry 20 - 3F + 0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000, + 0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200, + 0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000, + 0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080, + 0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000, + 0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000, + 0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000, + 0x0000000000100000, 0x0000000000800000, 0x00000001dfffffff, 0x0000000102400fb3, + // Entry 40 - 5F + 0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813, + 0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001, + 0x0000000102020001, +} + +// regionInclusionNext marks, for each entry in regionInclusionBits, the set of +// all groups that are reachable from the groups set in the respective entry. +// Size: 73 bytes, 73 elements +var regionInclusionNext = [73]uint8{ + // Entry 0 - 3F + 0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01, + 0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16, + 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16, + 0x16, 0x43, 0x19, 0x19, 0x19, 0x1d, 0x0b, 0x04, + 0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09, + 0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07, + 0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46, + 0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e, + // Entry 40 - 7F + 0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43, + 0x43, +} + +type parentRel struct { + lang uint16 + script uint8 + maxScript uint8 + toRegion uint16 + fromRegion []uint16 +} + +// Size: 414 bytes, 5 elements +var parents = [5]parentRel{ + 0: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}}, + 1: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}}, + 2: {lang: 0x13d, script: 0x0, maxScript: 0x55, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}}, + 3: {lang: 0x3be, script: 0x0, maxScript: 0x55, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}}, + 4: {lang: 0x527, script: 0x38, maxScript: 0x38, toRegion: 0x8d, fromRegion: []uint16{0xc6}}, +} + +// Total table size 27175 bytes (26KiB); checksum: 569649CD diff --git a/vendor/golang.org/x/text/language/tags.go b/vendor/golang.org/x/text/language/tags.go new file mode 100644 index 000000000000..de30155a26d6 --- /dev/null +++ b/vendor/golang.org/x/text/language/tags.go @@ -0,0 +1,143 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package language + +// TODO: Various sets of commonly use tags and regions. + +// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed. +// It simplifies safe initialization of Tag values. +func MustParse(s string) Tag { + t, err := Parse(s) + if err != nil { + panic(err) + } + return t +} + +// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed. +// It simplifies safe initialization of Tag values. +func (c CanonType) MustParse(s string) Tag { + t, err := c.Parse(s) + if err != nil { + panic(err) + } + return t +} + +// MustParseBase is like ParseBase, but panics if the given base cannot be parsed. +// It simplifies safe initialization of Base values. +func MustParseBase(s string) Base { + b, err := ParseBase(s) + if err != nil { + panic(err) + } + return b +} + +// MustParseScript is like ParseScript, but panics if the given script cannot be +// parsed. It simplifies safe initialization of Script values. +func MustParseScript(s string) Script { + scr, err := ParseScript(s) + if err != nil { + panic(err) + } + return scr +} + +// MustParseRegion is like ParseRegion, but panics if the given region cannot be +// parsed. It simplifies safe initialization of Region values. +func MustParseRegion(s string) Region { + r, err := ParseRegion(s) + if err != nil { + panic(err) + } + return r +} + +var ( + und = Tag{} + + Und Tag = Tag{} + + Afrikaans Tag = Tag{lang: _af} // af + Amharic Tag = Tag{lang: _am} // am + Arabic Tag = Tag{lang: _ar} // ar + ModernStandardArabic Tag = Tag{lang: _ar, region: _001} // ar-001 + Azerbaijani Tag = Tag{lang: _az} // az + Bulgarian Tag = Tag{lang: _bg} // bg + Bengali Tag = Tag{lang: _bn} // bn + Catalan Tag = Tag{lang: _ca} // ca + Czech Tag = Tag{lang: _cs} // cs + Danish Tag = Tag{lang: _da} // da + German Tag = Tag{lang: _de} // de + Greek Tag = Tag{lang: _el} // el + English Tag = Tag{lang: _en} // en + AmericanEnglish Tag = Tag{lang: _en, region: _US} // en-US + BritishEnglish Tag = Tag{lang: _en, region: _GB} // en-GB + Spanish Tag = Tag{lang: _es} // es + EuropeanSpanish Tag = Tag{lang: _es, region: _ES} // es-ES + LatinAmericanSpanish Tag = Tag{lang: _es, region: _419} // es-419 + Estonian Tag = Tag{lang: _et} // et + Persian Tag = Tag{lang: _fa} // fa + Finnish Tag = Tag{lang: _fi} // fi + Filipino Tag = Tag{lang: _fil} // fil + French Tag = Tag{lang: _fr} // fr + CanadianFrench Tag = Tag{lang: _fr, region: _CA} // fr-CA + Gujarati Tag = Tag{lang: _gu} // gu + Hebrew Tag = Tag{lang: _he} // he + Hindi Tag = Tag{lang: _hi} // hi + Croatian Tag = Tag{lang: _hr} // hr + Hungarian Tag = Tag{lang: _hu} // hu + Armenian Tag = Tag{lang: _hy} // hy + Indonesian Tag = Tag{lang: _id} // id + Icelandic Tag = Tag{lang: _is} // is + Italian Tag = Tag{lang: _it} // it + Japanese Tag = Tag{lang: _ja} // ja + Georgian Tag = Tag{lang: _ka} // ka + Kazakh Tag = Tag{lang: _kk} // kk + Khmer Tag = Tag{lang: _km} // km + Kannada Tag = Tag{lang: _kn} // kn + Korean Tag = Tag{lang: _ko} // ko + Kirghiz Tag = Tag{lang: _ky} // ky + Lao Tag = Tag{lang: _lo} // lo + Lithuanian Tag = Tag{lang: _lt} // lt + Latvian Tag = Tag{lang: _lv} // lv + Macedonian Tag = Tag{lang: _mk} // mk + Malayalam Tag = Tag{lang: _ml} // ml + Mongolian Tag = Tag{lang: _mn} // mn + Marathi Tag = Tag{lang: _mr} // mr + Malay Tag = Tag{lang: _ms} // ms + Burmese Tag = Tag{lang: _my} // my + Nepali Tag = Tag{lang: _ne} // ne + Dutch Tag = Tag{lang: _nl} // nl + Norwegian Tag = Tag{lang: _no} // no + Punjabi Tag = Tag{lang: _pa} // pa + Polish Tag = Tag{lang: _pl} // pl + Portuguese Tag = Tag{lang: _pt} // pt + BrazilianPortuguese Tag = Tag{lang: _pt, region: _BR} // pt-BR + EuropeanPortuguese Tag = Tag{lang: _pt, region: _PT} // pt-PT + Romanian Tag = Tag{lang: _ro} // ro + Russian Tag = Tag{lang: _ru} // ru + Sinhala Tag = Tag{lang: _si} // si + Slovak Tag = Tag{lang: _sk} // sk + Slovenian Tag = Tag{lang: _sl} // sl + Albanian Tag = Tag{lang: _sq} // sq + Serbian Tag = Tag{lang: _sr} // sr + SerbianLatin Tag = Tag{lang: _sr, script: _Latn} // sr-Latn + Swedish Tag = Tag{lang: _sv} // sv + Swahili Tag = Tag{lang: _sw} // sw + Tamil Tag = Tag{lang: _ta} // ta + Telugu Tag = Tag{lang: _te} // te + Thai Tag = Tag{lang: _th} // th + Turkish Tag = Tag{lang: _tr} // tr + Ukrainian Tag = Tag{lang: _uk} // uk + Urdu Tag = Tag{lang: _ur} // ur + Uzbek Tag = Tag{lang: _uz} // uz + Vietnamese Tag = Tag{lang: _vi} // vi + Chinese Tag = Tag{lang: _zh} // zh + SimplifiedChinese Tag = Tag{lang: _zh, script: _Hans} // zh-Hans + TraditionalChinese Tag = Tag{lang: _zh, script: _Hant} // zh-Hant + Zulu Tag = Tag{lang: _zu} // zu +) diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/vendor/golang.org/x/text/secure/bidirule/bidirule.go new file mode 100644 index 000000000000..0e6b85824b72 --- /dev/null +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule.go @@ -0,0 +1,340 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package bidirule implements the Bidi Rule defined by RFC 5893. +// +// This package is under development. The API may change without notice and +// without preserving backward compatibility. +package bidirule + +import ( + "errors" + "unicode/utf8" + + "golang.org/x/text/transform" + "golang.org/x/text/unicode/bidi" +) + +// This file contains an implementation of RFC 5893: Right-to-Left Scripts for +// Internationalized Domain Names for Applications (IDNA) +// +// A label is an individual component of a domain name. Labels are usually +// shown separated by dots; for example, the domain name "www.example.com" is +// composed of three labels: "www", "example", and "com". +// +// An RTL label is a label that contains at least one character of class R, AL, +// or AN. An LTR label is any label that is not an RTL label. +// +// A "Bidi domain name" is a domain name that contains at least one RTL label. +// +// The following guarantees can be made based on the above: +// +// o In a domain name consisting of only labels that satisfy the rule, +// the requirements of Section 3 are satisfied. Note that even LTR +// labels and pure ASCII labels have to be tested. +// +// o In a domain name consisting of only LDH labels (as defined in the +// Definitions document [RFC5890]) and labels that satisfy the rule, +// the requirements of Section 3 are satisfied as long as a label +// that starts with an ASCII digit does not come after a +// right-to-left label. +// +// No guarantee is given for other combinations. + +// ErrInvalid indicates a label is invalid according to the Bidi Rule. +var ErrInvalid = errors.New("bidirule: failed Bidi Rule") + +type ruleState uint8 + +const ( + ruleInitial ruleState = iota + ruleLTR + ruleLTRFinal + ruleRTL + ruleRTLFinal + ruleInvalid +) + +type ruleTransition struct { + next ruleState + mask uint16 +} + +var transitions = [...][2]ruleTransition{ + // [2.1] The first character must be a character with Bidi property L, R, or + // AL. If it has the R or AL property, it is an RTL label; if it has the L + // property, it is an LTR label. + ruleInitial: { + {ruleLTRFinal, 1 << bidi.L}, + {ruleRTLFinal, 1< 0 bytes returned + // before considering the error". + if r.src0 != r.src1 || r.err != nil { + r.dst0 = 0 + r.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF) + r.src0 += n + + switch { + case err == nil: + if r.src0 != r.src1 { + r.err = errInconsistentByteCount + } + // The Transform call was successful; we are complete if we + // cannot read more bytes into src. + r.transformComplete = r.err != nil + continue + case err == ErrShortDst && (r.dst1 != 0 || n != 0): + // Make room in dst by copying out, and try again. + continue + case err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil: + // Read more bytes into src via the code below, and try again. + default: + r.transformComplete = true + // The reader error (r.err) takes precedence over the + // transformer error (err) unless r.err is nil or io.EOF. + if r.err == nil || r.err == io.EOF { + r.err = err + } + continue + } + } + + // Move any untransformed source bytes to the start of the buffer + // and read more bytes. + if r.src0 != 0 { + r.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1]) + } + n, r.err = r.r.Read(r.src[r.src1:]) + r.src1 += n + } +} + +// TODO: implement ReadByte (and ReadRune??). + +// Writer wraps another io.Writer by transforming the bytes read. +// The user needs to call Close to flush unwritten bytes that may +// be buffered. +type Writer struct { + w io.Writer + t Transformer + dst []byte + + // src[:n] contains bytes that have not yet passed through t. + src []byte + n int +} + +// NewWriter returns a new Writer that wraps w by transforming the bytes written +// via t. It calls Reset on t. +func NewWriter(w io.Writer, t Transformer) *Writer { + t.Reset() + return &Writer{ + w: w, + t: t, + dst: make([]byte, defaultBufSize), + src: make([]byte, defaultBufSize), + } +} + +// Write implements the io.Writer interface. If there are not enough +// bytes available to complete a Transform, the bytes will be buffered +// for the next write. Call Close to convert the remaining bytes. +func (w *Writer) Write(data []byte) (n int, err error) { + src := data + if w.n > 0 { + // Append bytes from data to the last remainder. + // TODO: limit the amount copied on first try. + n = copy(w.src[w.n:], data) + w.n += n + src = w.src[:w.n] + } + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, false) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return n, werr + } + src = src[nSrc:] + if w.n == 0 { + n += nSrc + } else if len(src) <= n { + // Enough bytes from w.src have been consumed. We make src point + // to data instead to reduce the copying. + w.n = 0 + n -= len(src) + src = data[n:] + if n < len(data) && (err == nil || err == ErrShortSrc) { + continue + } + } + switch err { + case ErrShortDst: + // This error is okay as long as we are making progress. + if nDst > 0 || nSrc > 0 { + continue + } + case ErrShortSrc: + if len(src) < len(w.src) { + m := copy(w.src, src) + // If w.n > 0, bytes from data were already copied to w.src and n + // was already set to the number of bytes consumed. + if w.n == 0 { + n += m + } + w.n = m + err = nil + } else if nDst > 0 || nSrc > 0 { + // Not enough buffer to store the remainder. Keep processing as + // long as there is progress. Without this case, transforms that + // require a lookahead larger than the buffer may result in an + // error. This is not something one may expect to be common in + // practice, but it may occur when buffers are set to small + // sizes during testing. + continue + } + case nil: + if w.n > 0 { + err = errInconsistentByteCount + } + } + return n, err + } +} + +// Close implements the io.Closer interface. +func (w *Writer) Close() error { + src := w.src[:w.n] + for { + nDst, nSrc, err := w.t.Transform(w.dst, src, true) + if _, werr := w.w.Write(w.dst[:nDst]); werr != nil { + return werr + } + if err != ErrShortDst { + return err + } + src = src[nSrc:] + } +} + +type nop struct{ NopResetter } + +func (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + n := copy(dst, src) + if n < len(src) { + err = ErrShortDst + } + return n, n, err +} + +func (nop) Span(src []byte, atEOF bool) (n int, err error) { + return len(src), nil +} + +type discard struct{ NopResetter } + +func (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return 0, len(src), nil +} + +var ( + // Discard is a Transformer for which all Transform calls succeed + // by consuming all bytes and writing nothing. + Discard Transformer = discard{} + + // Nop is a SpanningTransformer that copies src to dst. + Nop SpanningTransformer = nop{} +) + +// chain is a sequence of links. A chain with N Transformers has N+1 links and +// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst +// buffers given to chain.Transform and the middle N-1 buffers are intermediate +// buffers owned by the chain. The i'th link transforms bytes from the i'th +// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer +// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N). +type chain struct { + link []link + err error + // errStart is the index at which the error occurred plus 1. Processing + // errStart at this level at the next call to Transform. As long as + // errStart > 0, chain will not consume any more source bytes. + errStart int +} + +func (c *chain) fatalError(errIndex int, err error) { + if i := errIndex + 1; i > c.errStart { + c.errStart = i + c.err = err + } +} + +type link struct { + t Transformer + // b[p:n] holds the bytes to be transformed by t. + b []byte + p int + n int +} + +func (l *link) src() []byte { + return l.b[l.p:l.n] +} + +func (l *link) dst() []byte { + return l.b[l.n:] +} + +// Chain returns a Transformer that applies t in sequence. +func Chain(t ...Transformer) Transformer { + if len(t) == 0 { + return nop{} + } + c := &chain{link: make([]link, len(t)+1)} + for i, tt := range t { + c.link[i].t = tt + } + // Allocate intermediate buffers. + b := make([][defaultBufSize]byte, len(t)-1) + for i := range b { + c.link[i+1].b = b[i][:] + } + return c +} + +// Reset resets the state of Chain. It calls Reset on all the Transformers. +func (c *chain) Reset() { + for i, l := range c.link { + if l.t != nil { + l.t.Reset() + } + c.link[i].p, c.link[i].n = 0, 0 + } +} + +// TODO: make chain use Span (is going to be fun to implement!) + +// Transform applies the transformers of c in sequence. +func (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + // Set up src and dst in the chain. + srcL := &c.link[0] + dstL := &c.link[len(c.link)-1] + srcL.b, srcL.p, srcL.n = src, 0, len(src) + dstL.b, dstL.n = dst, 0 + var lastFull, needProgress bool // for detecting progress + + // i is the index of the next Transformer to apply, for i in [low, high]. + // low is the lowest index for which c.link[low] may still produce bytes. + // high is the highest index for which c.link[high] has a Transformer. + // The error returned by Transform determines whether to increase or + // decrease i. We try to completely fill a buffer before converting it. + for low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; { + in, out := &c.link[i], &c.link[i+1] + nDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i) + out.n += nDst + in.p += nSrc + if i > 0 && in.p == in.n { + in.p, in.n = 0, 0 + } + needProgress, lastFull = lastFull, false + switch err0 { + case ErrShortDst: + // Process the destination buffer next. Return if we are already + // at the high index. + if i == high { + return dstL.n, srcL.p, ErrShortDst + } + if out.n != 0 { + i++ + // If the Transformer at the next index is not able to process any + // source bytes there is nothing that can be done to make progress + // and the bytes will remain unprocessed. lastFull is used to + // detect this and break out of the loop with a fatal error. + lastFull = true + continue + } + // The destination buffer was too small, but is completely empty. + // Return a fatal error as this transformation can never complete. + c.fatalError(i, errShortInternal) + case ErrShortSrc: + if i == 0 { + // Save ErrShortSrc in err. All other errors take precedence. + err = ErrShortSrc + break + } + // Source bytes were depleted before filling up the destination buffer. + // Verify we made some progress, move the remaining bytes to the errStart + // and try to get more source bytes. + if needProgress && nSrc == 0 || in.n-in.p == len(in.b) { + // There were not enough source bytes to proceed while the source + // buffer cannot hold any more bytes. Return a fatal error as this + // transformation can never complete. + c.fatalError(i, errShortInternal) + break + } + // in.b is an internal buffer and we can make progress. + in.p, in.n = 0, copy(in.b, in.src()) + fallthrough + case nil: + // if i == low, we have depleted the bytes at index i or any lower levels. + // In that case we increase low and i. In all other cases we decrease i to + // fetch more bytes before proceeding to the next index. + if i > low { + i-- + continue + } + default: + c.fatalError(i, err0) + } + // Exhausted level low or fatal error: increase low and continue + // to process the bytes accepted so far. + i++ + low = i + } + + // If c.errStart > 0, this means we found a fatal error. We will clear + // all upstream buffers. At this point, no more progress can be made + // downstream, as Transform would have bailed while handling ErrShortDst. + if c.errStart > 0 { + for i := 1; i < c.errStart; i++ { + c.link[i].p, c.link[i].n = 0, 0 + } + err, c.errStart, c.err = c.err, 0, nil + } + return dstL.n, srcL.p, err +} + +// Deprecated: use runes.Remove instead. +func RemoveFunc(f func(r rune) bool) Transformer { + return removeF(f) +} + +type removeF func(r rune) bool + +func (removeF) Reset() {} + +// Transform implements the Transformer interface. +func (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for r, sz := rune(0), 0; len(src) > 0; src = src[sz:] { + + if r = rune(src[0]); r < utf8.RuneSelf { + sz = 1 + } else { + r, sz = utf8.DecodeRune(src) + + if sz == 1 { + // Invalid rune. + if !atEOF && !utf8.FullRune(src) { + err = ErrShortSrc + break + } + // We replace illegal bytes with RuneError. Not doing so might + // otherwise turn a sequence of invalid UTF-8 into valid UTF-8. + // The resulting byte sequence may subsequently contain runes + // for which t(r) is true that were passed unnoticed. + if !t(r) { + if nDst+3 > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], "\uFFFD") + } + nSrc++ + continue + } + } + + if !t(r) { + if nDst+sz > len(dst) { + err = ErrShortDst + break + } + nDst += copy(dst[nDst:], src[:sz]) + } + nSrc += sz + } + return +} + +// grow returns a new []byte that is longer than b, and copies the first n bytes +// of b to the start of the new slice. +func grow(b []byte, n int) []byte { + m := len(b) + if m <= 32 { + m = 64 + } else if m <= 256 { + m *= 2 + } else { + m += m >> 1 + } + buf := make([]byte, m) + copy(buf, b[:n]) + return buf +} + +const initialBufSize = 128 + +// String returns a string with the result of converting s[:n] using t, where +// n <= len(s). If err == nil, n will be len(s). It calls Reset on t. +func String(t Transformer, s string) (result string, n int, err error) { + t.Reset() + if s == "" { + // Fast path for the common case for empty input. Results in about a + // 86% reduction of running time for BenchmarkStringLowerEmpty. + if _, _, err := t.Transform(nil, nil, true); err == nil { + return "", 0, nil + } + } + + // Allocate only once. Note that both dst and src escape when passed to + // Transform. + buf := [2 * initialBufSize]byte{} + dst := buf[:initialBufSize:initialBufSize] + src := buf[initialBufSize : 2*initialBufSize] + + // The input string s is transformed in multiple chunks (starting with a + // chunk size of initialBufSize). nDst and nSrc are per-chunk (or + // per-Transform-call) indexes, pDst and pSrc are overall indexes. + nDst, nSrc := 0, 0 + pDst, pSrc := 0, 0 + + // pPrefix is the length of a common prefix: the first pPrefix bytes of the + // result will equal the first pPrefix bytes of s. It is not guaranteed to + // be the largest such value, but if pPrefix, len(result) and len(s) are + // all equal after the final transform (i.e. calling Transform with atEOF + // being true returned nil error) then we don't need to allocate a new + // result string. + pPrefix := 0 + for { + // Invariant: pDst == pPrefix && pSrc == pPrefix. + + n := copy(src, s[pSrc:]) + nDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s)) + pDst += nDst + pSrc += nSrc + + // TODO: let transformers implement an optional Spanner interface, akin + // to norm's QuickSpan. This would even allow us to avoid any allocation. + if !bytes.Equal(dst[:nDst], src[:nSrc]) { + break + } + pPrefix = pSrc + if err == ErrShortDst { + // A buffer can only be short if a transformer modifies its input. + break + } else if err == ErrShortSrc { + if nSrc == 0 { + // No progress was made. + break + } + // Equal so far and !atEOF, so continue checking. + } else if err != nil || pPrefix == len(s) { + return string(s[:pPrefix]), pPrefix, err + } + } + // Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc. + + // We have transformed the first pSrc bytes of the input s to become pDst + // transformed bytes. Those transformed bytes are discontiguous: the first + // pPrefix of them equal s[:pPrefix] and the last nDst of them equal + // dst[:nDst]. We copy them around, into a new dst buffer if necessary, so + // that they become one contiguous slice: dst[:pDst]. + if pPrefix != 0 { + newDst := dst + if pDst > len(newDst) { + newDst = make([]byte, len(s)+nDst-nSrc) + } + copy(newDst[pPrefix:pDst], dst[:nDst]) + copy(newDst[:pPrefix], s[:pPrefix]) + dst = newDst + } + + // Prevent duplicate Transform calls with atEOF being true at the end of + // the input. Also return if we have an unrecoverable error. + if (err == nil && pSrc == len(s)) || + (err != nil && err != ErrShortDst && err != ErrShortSrc) { + return string(dst[:pDst]), pSrc, err + } + + // Transform the remaining input, growing dst and src buffers as necessary. + for { + n := copy(src, s[pSrc:]) + nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) + pDst += nDst + pSrc += nSrc + + // If we got ErrShortDst or ErrShortSrc, do not grow as long as we can + // make progress. This may avoid excessive allocations. + if err == ErrShortDst { + if nDst == 0 { + dst = grow(dst, pDst) + } + } else if err == ErrShortSrc { + if nSrc == 0 { + src = grow(src, 0) + } + } else if err != nil || pSrc == len(s) { + return string(dst[:pDst]), pSrc, err + } + } +} + +// Bytes returns a new byte slice with the result of converting b[:n] using t, +// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t. +func Bytes(t Transformer, b []byte) (result []byte, n int, err error) { + return doAppend(t, 0, make([]byte, len(b)), b) +} + +// Append appends the result of converting src[:n] using t to dst, where +// n <= len(src), If err == nil, n will be len(src). It calls Reset on t. +func Append(t Transformer, dst, src []byte) (result []byte, n int, err error) { + if len(dst) == cap(dst) { + n := len(src) + len(dst) // It is okay for this to be 0. + b := make([]byte, n) + dst = b[:copy(b, dst)] + } + return doAppend(t, len(dst), dst[:cap(dst)], src) +} + +func doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) { + t.Reset() + pSrc := 0 + for { + nDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true) + pDst += nDst + pSrc += nSrc + if err != ErrShortDst { + return dst[:pDst], pSrc, err + } + + // Grow the destination buffer, but do not grow as long as we can make + // progress. This may avoid excessive allocations. + if nDst == 0 { + dst = grow(dst, pDst) + } + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/bidi.go b/vendor/golang.org/x/text/unicode/bidi/bidi.go new file mode 100644 index 000000000000..3fc4a62521a4 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/bidi.go @@ -0,0 +1,198 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run gen.go gen_trieval.go gen_ranges.go + +// Package bidi contains functionality for bidirectional text support. +// +// See http://www.unicode.org/reports/tr9. +// +// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways +// and without notice. +package bidi // import "golang.org/x/text/unicode/bidi" + +// TODO: +// The following functionality would not be hard to implement, but hinges on +// the definition of a Segmenter interface. For now this is up to the user. +// - Iterate over paragraphs +// - Segmenter to iterate over runs directly from a given text. +// Also: +// - Transformer for reordering? +// - Transformer (validator, really) for Bidi Rule. + +// This API tries to avoid dealing with embedding levels for now. Under the hood +// these will be computed, but the question is to which extent the user should +// know they exist. We should at some point allow the user to specify an +// embedding hierarchy, though. + +// A Direction indicates the overall flow of text. +type Direction int + +const ( + // LeftToRight indicates the text contains no right-to-left characters and + // that either there are some left-to-right characters or the option + // DefaultDirection(LeftToRight) was passed. + LeftToRight Direction = iota + + // RightToLeft indicates the text contains no left-to-right characters and + // that either there are some right-to-left characters or the option + // DefaultDirection(RightToLeft) was passed. + RightToLeft + + // Mixed indicates text contains both left-to-right and right-to-left + // characters. + Mixed + + // Neutral means that text contains no left-to-right and right-to-left + // characters and that no default direction has been set. + Neutral +) + +type options struct{} + +// An Option is an option for Bidi processing. +type Option func(*options) + +// ICU allows the user to define embedding levels. This may be used, for example, +// to use hierarchical structure of markup languages to define embeddings. +// The following option may be a way to expose this functionality in this API. +// // LevelFunc sets a function that associates nesting levels with the given text. +// // The levels function will be called with monotonically increasing values for p. +// func LevelFunc(levels func(p int) int) Option { +// panic("unimplemented") +// } + +// DefaultDirection sets the default direction for a Paragraph. The direction is +// overridden if the text contains directional characters. +func DefaultDirection(d Direction) Option { + panic("unimplemented") +} + +// A Paragraph holds a single Paragraph for Bidi processing. +type Paragraph struct { + // buffers +} + +// SetBytes configures p for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If b contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from b including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) { + panic("unimplemented") +} + +// SetString configures p for the given paragraph text. It replaces text +// previously set by SetBytes or SetString. If b contains a paragraph separator +// it will only process the first paragraph and report the number of bytes +// consumed from b including this separator. Error may be non-nil if options are +// given. +func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) { + panic("unimplemented") +} + +// IsLeftToRight reports whether the principle direction of rendering for this +// paragraphs is left-to-right. If this returns false, the principle direction +// of rendering is right-to-left. +func (p *Paragraph) IsLeftToRight() bool { + panic("unimplemented") +} + +// Direction returns the direction of the text of this paragraph. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (p *Paragraph) Direction() Direction { + panic("unimplemented") +} + +// RunAt reports the Run at the given position of the input text. +// +// This method can be used for computing line breaks on paragraphs. +func (p *Paragraph) RunAt(pos int) Run { + panic("unimplemented") +} + +// Order computes the visual ordering of all the runs in a Paragraph. +func (p *Paragraph) Order() (Ordering, error) { + panic("unimplemented") +} + +// Line computes the visual ordering of runs for a single line starting and +// ending at the given positions in the original text. +func (p *Paragraph) Line(start, end int) (Ordering, error) { + panic("unimplemented") +} + +// An Ordering holds the computed visual order of runs of a Paragraph. Calling +// SetBytes or SetString on the originating Paragraph invalidates an Ordering. +// The methods of an Ordering should only be called by one goroutine at a time. +type Ordering struct{} + +// Direction reports the directionality of the runs. +// +// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. +func (o *Ordering) Direction() Direction { + panic("unimplemented") +} + +// NumRuns returns the number of runs. +func (o *Ordering) NumRuns() int { + panic("unimplemented") +} + +// Run returns the ith run within the ordering. +func (o *Ordering) Run(i int) Run { + panic("unimplemented") +} + +// TODO: perhaps with options. +// // Reorder creates a reader that reads the runes in visual order per character. +// // Modifiers remain after the runes they modify. +// func (l *Runs) Reorder() io.Reader { +// panic("unimplemented") +// } + +// A Run is a continuous sequence of characters of a single direction. +type Run struct { +} + +// String returns the text of the run in its original order. +func (r *Run) String() string { + panic("unimplemented") +} + +// Bytes returns the text of the run in its original order. +func (r *Run) Bytes() []byte { + panic("unimplemented") +} + +// TODO: methods for +// - Display order +// - headers and footers +// - bracket replacement. + +// Direction reports the direction of the run. +func (r *Run) Direction() Direction { + panic("unimplemented") +} + +// Position of the Run within the text passed to SetBytes or SetString of the +// originating Paragraph value. +func (r *Run) Pos() (start, end int) { + panic("unimplemented") +} + +// AppendReverse reverses the order of characters of in, appends them to out, +// and returns the result. Modifiers will still follow the runes they modify. +// Brackets are replaced with their counterparts. +func AppendReverse(out, in []byte) []byte { + panic("unimplemented") +} + +// ReverseString reverses the order of characters in s and returns a new string. +// Modifiers will still follow the runes they modify. Brackets are replaced with +// their counterparts. +func ReverseString(s string) string { + panic("unimplemented") +} diff --git a/vendor/golang.org/x/text/unicode/bidi/bracket.go b/vendor/golang.org/x/text/unicode/bidi/bracket.go new file mode 100644 index 000000000000..601e259203eb --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/bracket.go @@ -0,0 +1,335 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import ( + "container/list" + "fmt" + "sort" +) + +// This file contains a port of the reference implementation of the +// Bidi Parentheses Algorithm: +// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java +// +// The implementation in this file covers definitions BD14-BD16 and rule N0 +// of UAX#9. +// +// Some preprocessing is done for each rune before data is passed to this +// algorithm: +// - opening and closing brackets are identified +// - a bracket pair type, like '(' and ')' is assigned a unique identifier that +// is identical for the opening and closing bracket. It is left to do these +// mappings. +// - The BPA algorithm requires that bracket characters that are canonical +// equivalents of each other be able to be substituted for each other. +// It is the responsibility of the caller to do this canonicalization. +// +// In implementing BD16, this implementation departs slightly from the "logical" +// algorithm defined in UAX#9. In particular, the stack referenced there +// supports operations that go beyond a "basic" stack. An equivalent +// implementation based on a linked list is used here. + +// Bidi_Paired_Bracket_Type +// BD14. An opening paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Open. +// +// BD15. A closing paired bracket is a character whose +// Bidi_Paired_Bracket_Type property value is Close. +type bracketType byte + +const ( + bpNone bracketType = iota + bpOpen + bpClose +) + +// bracketPair holds a pair of index values for opening and closing bracket +// location of a bracket pair. +type bracketPair struct { + opener int + closer int +} + +func (b *bracketPair) String() string { + return fmt.Sprintf("(%v, %v)", b.opener, b.closer) +} + +// bracketPairs is a slice of bracketPairs with a sort.Interface implementation. +type bracketPairs []bracketPair + +func (b bracketPairs) Len() int { return len(b) } +func (b bracketPairs) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener } + +// resolvePairedBrackets runs the paired bracket part of the UBA algorithm. +// +// For each rune, it takes the indexes into the original string, the class the +// bracket type (in pairTypes) and the bracket identifier (pairValues). It also +// takes the direction type for the start-of-sentence and the embedding level. +// +// The identifiers for bracket types are the rune of the canonicalized opening +// bracket for brackets (open or close) or 0 for runes that are not brackets. +func resolvePairedBrackets(s *isolatingRunSequence) { + p := bracketPairer{ + sos: s.sos, + openers: list.New(), + codesIsolatedRun: s.types, + indexes: s.indexes, + } + dirEmbed := L + if s.level&1 != 0 { + dirEmbed = R + } + p.locateBrackets(s.p.pairTypes, s.p.pairValues) + p.resolveBrackets(dirEmbed, s.p.initialTypes) +} + +type bracketPairer struct { + sos Class // direction corresponding to start of sequence + + // The following is a restatement of BD 16 using non-algorithmic language. + // + // A bracket pair is a pair of characters consisting of an opening + // paired bracket and a closing paired bracket such that the + // Bidi_Paired_Bracket property value of the former equals the latter, + // subject to the following constraints. + // - both characters of a pair occur in the same isolating run sequence + // - the closing character of a pair follows the opening character + // - any bracket character can belong at most to one pair, the earliest possible one + // - any bracket character not part of a pair is treated like an ordinary character + // - pairs may nest properly, but their spans may not overlap otherwise + + // Bracket characters with canonical decompositions are supposed to be + // treated as if they had been normalized, to allow normalized and non- + // normalized text to give the same result. In this implementation that step + // is pushed out to the caller. The caller has to ensure that the pairValue + // slices contain the rune of the opening bracket after normalization for + // any opening or closing bracket. + + openers *list.List // list of positions for opening brackets + + // bracket pair positions sorted by location of opening bracket + pairPositions bracketPairs + + codesIsolatedRun []Class // directional bidi codes for an isolated run + indexes []int // array of index values into the original string + +} + +// matchOpener reports whether characters at given positions form a matching +// bracket pair. +func (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool { + return pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]] +} + +const maxPairingDepth = 63 + +// locateBrackets locates matching bracket pairs according to BD16. +// +// This implementation uses a linked list instead of a stack, because, while +// elements are added at the front (like a push) they are not generally removed +// in atomic 'pop' operations, reducing the benefit of the stack archetype. +func (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) { + // traverse the run + // do that explicitly (not in a for-each) so we can record position + for i, index := range p.indexes { + + // look at the bracket type for each character + if pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON { + // continue scanning + continue + } + switch pairTypes[index] { + case bpOpen: + // check if maximum pairing depth reached + if p.openers.Len() == maxPairingDepth { + p.openers.Init() + return + } + // remember opener location, most recent first + p.openers.PushFront(i) + + case bpClose: + // see if there is a match + count := 0 + for elem := p.openers.Front(); elem != nil; elem = elem.Next() { + count++ + opener := elem.Value.(int) + if p.matchOpener(pairValues, opener, i) { + // if the opener matches, add nested pair to the ordered list + p.pairPositions = append(p.pairPositions, bracketPair{opener, i}) + // remove up to and including matched opener + for ; count > 0; count-- { + p.openers.Remove(p.openers.Front()) + } + break + } + } + sort.Sort(p.pairPositions) + // if we get here, the closing bracket matched no openers + // and gets ignored + } + } +} + +// Bracket pairs within an isolating run sequence are processed as units so +// that both the opening and the closing paired bracket in a pair resolve to +// the same direction. +// +// N0. Process bracket pairs in an isolating run sequence sequentially in +// the logical order of the text positions of the opening paired brackets +// using the logic given below. Within this scope, bidirectional types EN +// and AN are treated as R. +// +// Identify the bracket pairs in the current isolating run sequence +// according to BD16. For each bracket-pair element in the list of pairs of +// text positions: +// +// a Inspect the bidirectional types of the characters enclosed within the +// bracket pair. +// +// b If any strong type (either L or R) matching the embedding direction is +// found, set the type for both brackets in the pair to match the embedding +// direction. +// +// o [ e ] o -> o e e e o +// +// o [ o e ] -> o e o e e +// +// o [ NI e ] -> o e NI e e +// +// c Otherwise, if a strong type (opposite the embedding direction) is +// found, test for adjacent strong types as follows: 1 First, check +// backwards before the opening paired bracket until the first strong type +// (L, R, or sos) is found. If that first preceding strong type is opposite +// the embedding direction, then set the type for both brackets in the pair +// to that type. 2 Otherwise, set the type for both brackets in the pair to +// the embedding direction. +// +// o [ o ] e -> o o o o e +// +// o [ o NI ] o -> o o o NI o o +// +// e [ o ] o -> e e o e o +// +// e [ o ] e -> e e o e e +// +// e ( o [ o ] NI ) e -> e e o o o o NI e e +// +// d Otherwise, do not set the type for the current bracket pair. Note that +// if the enclosed text contains no strong types the paired brackets will +// both resolve to the same level when resolved individually using rules N1 +// and N2. +// +// e ( NI ) o -> e ( NI ) o + +// getStrongTypeN0 maps character's directional code to strong type as required +// by rule N0. +// +// TODO: have separate type for "strong" directionality. +func (p *bracketPairer) getStrongTypeN0(index int) Class { + switch p.codesIsolatedRun[index] { + // in the scope of N0, number types are treated as R + case EN, AN, AL, R: + return R + case L: + return L + default: + return ON + } +} + +// classifyPairContent reports the strong types contained inside a Bracket Pair, +// assuming the given embedding direction. +// +// It returns ON if no strong type is found. If a single strong type is found, +// it returns this this type. Otherwise it returns the embedding direction. +// +// TODO: use separate type for "strong" directionality. +func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class { + dirOpposite := ON + for i := loc.opener + 1; i < loc.closer; i++ { + dir := p.getStrongTypeN0(i) + if dir == ON { + continue + } + if dir == dirEmbed { + return dir // type matching embedding direction found + } + dirOpposite = dir + } + // return ON if no strong type found, or class opposite to dirEmbed + return dirOpposite +} + +// classBeforePair determines which strong types are present before a Bracket +// Pair. Return R or L if strong type found, otherwise ON. +func (p *bracketPairer) classBeforePair(loc bracketPair) Class { + for i := loc.opener - 1; i >= 0; i-- { + if dir := p.getStrongTypeN0(i); dir != ON { + return dir + } + } + // no strong types found, return sos + return p.sos +} + +// assignBracketType implements rule N0 for a single bracket pair. +func (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) { + // rule "N0, a", inspect contents of pair + dirPair := p.classifyPairContent(loc, dirEmbed) + + // dirPair is now L, R, or N (no strong type found) + + // the following logical tests are performed out of order compared to + // the statement of the rules but yield the same results + if dirPair == ON { + return // case "d" - nothing to do + } + + if dirPair != dirEmbed { + // case "c": strong type found, opposite - check before (c.1) + dirPair = p.classBeforePair(loc) + if dirPair == dirEmbed || dirPair == ON { + // no strong opposite type found before - use embedding (c.2) + dirPair = dirEmbed + } + } + // else: case "b", strong type found matching embedding, + // no explicit action needed, as dirPair is already set to embedding + // direction + + // set the bracket types to the type found + p.setBracketsToType(loc, dirPair, initialTypes) +} + +func (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) { + p.codesIsolatedRun[loc.opener] = dirPair + p.codesIsolatedRun[loc.closer] = dirPair + + for i := loc.opener + 1; i < loc.closer; i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } + + for i := loc.closer + 1; i < len(p.indexes); i++ { + index := p.indexes[i] + if initialTypes[index] != NSM { + break + } + p.codesIsolatedRun[i] = dirPair + } +} + +// resolveBrackets implements rule N0 for a list of pairs. +func (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) { + for _, loc := range p.pairPositions { + p.assignBracketType(loc, dirEmbed, initialTypes) + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go new file mode 100644 index 000000000000..d4c1399f0da0 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/core.go @@ -0,0 +1,1058 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import "log" + +// This implementation is a port based on the reference implementation found at: +// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ +// +// described in Unicode Bidirectional Algorithm (UAX #9). +// +// Input: +// There are two levels of input to the algorithm, since clients may prefer to +// supply some information from out-of-band sources rather than relying on the +// default behavior. +// +// - Bidi class array +// - Bidi class array, with externally supplied base line direction +// +// Output: +// Output is separated into several stages: +// +// - levels array over entire paragraph +// - reordering array over entire paragraph +// - levels array over line +// - reordering array over line +// +// Note that for conformance to the Unicode Bidirectional Algorithm, +// implementations are only required to generate correct reordering and +// character directionality (odd or even levels) over a line. Generating +// identical level arrays over a line is not required. Bidi explicit format +// codes (LRE, RLE, LRO, RLO, PDF) and BN can be assigned arbitrary levels and +// positions as long as the rest of the input is properly reordered. +// +// As the algorithm is defined to operate on a single paragraph at a time, this +// implementation is written to handle single paragraphs. Thus rule P1 is +// presumed by this implementation-- the data provided to the implementation is +// assumed to be a single paragraph, and either contains no 'B' codes, or a +// single 'B' code at the end of the input. 'B' is allowed as input to +// illustrate how the algorithm assigns it a level. +// +// Also note that rules L3 and L4 depend on the rendering engine that uses the +// result of the bidi algorithm. This implementation assumes that the rendering +// engine expects combining marks in visual order (e.g. to the left of their +// base character in RTL runs) and that it adjusts the glyphs used to render +// mirrored characters that are in RTL runs so that they render appropriately. + +// level is the embedding level of a character. Even embedding levels indicate +// left-to-right order and odd levels indicate right-to-left order. The special +// level of -1 is reserved for undefined order. +type level int8 + +const implicitLevel level = -1 + +// in returns if x is equal to any of the values in set. +func (c Class) in(set ...Class) bool { + for _, s := range set { + if c == s { + return true + } + } + return false +} + +// A paragraph contains the state of a paragraph. +type paragraph struct { + initialTypes []Class + + // Arrays of properties needed for paired bracket evaluation in N0 + pairTypes []bracketType // paired Bracket types for paragraph + pairValues []rune // rune for opening bracket or pbOpen and pbClose; 0 for pbNone + + embeddingLevel level // default: = implicitLevel; + + // at the paragraph levels + resultTypes []Class + resultLevels []level + + // Index of matching PDI for isolate initiator characters. For other + // characters, the value of matchingPDI will be set to -1. For isolate + // initiators with no matching PDI, matchingPDI will be set to the length of + // the input string. + matchingPDI []int + + // Index of matching isolate initiator for PDI characters. For other + // characters, and for PDIs with no matching isolate initiator, the value of + // matchingIsolateInitiator will be set to -1. + matchingIsolateInitiator []int +} + +// newParagraph initializes a paragraph. The user needs to supply a few arrays +// corresponding to the preprocessed text input. The types correspond to the +// Unicode BiDi classes for each rune. pairTypes indicates the bracket type for +// each rune. pairValues provides a unique bracket class identifier for each +// rune (suggested is the rune of the open bracket for opening and matching +// close brackets, after normalization). The embedding levels are optional, but +// may be supplied to encode embedding levels of styled text. +// +// TODO: return an error. +func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph { + validateTypes(types) + validatePbTypes(pairTypes) + validatePbValues(pairValues, pairTypes) + validateParagraphEmbeddingLevel(levels) + + p := ¶graph{ + initialTypes: append([]Class(nil), types...), + embeddingLevel: levels, + + pairTypes: pairTypes, + pairValues: pairValues, + + resultTypes: append([]Class(nil), types...), + } + p.run() + return p +} + +func (p *paragraph) Len() int { return len(p.initialTypes) } + +// The algorithm. Does not include line-based processing (Rules L1, L2). +// These are applied later in the line-based phase of the algorithm. +func (p *paragraph) run() { + p.determineMatchingIsolates() + + // 1) determining the paragraph level + // Rule P1 is the requirement for entering this algorithm. + // Rules P2, P3. + // If no externally supplied paragraph embedding level, use default. + if p.embeddingLevel == implicitLevel { + p.embeddingLevel = p.determineParagraphEmbeddingLevel(0, p.Len()) + } + + // Initialize result levels to paragraph embedding level. + p.resultLevels = make([]level, p.Len()) + setLevels(p.resultLevels, p.embeddingLevel) + + // 2) Explicit levels and directions + // Rules X1-X8. + p.determineExplicitEmbeddingLevels() + + // Rule X9. + // We do not remove the embeddings, the overrides, the PDFs, and the BNs + // from the string explicitly. But they are not copied into isolating run + // sequences when they are created, so they are removed for all + // practical purposes. + + // Rule X10. + // Run remainder of algorithm one isolating run sequence at a time + for _, seq := range p.determineIsolatingRunSequences() { + // 3) resolving weak types + // Rules W1-W7. + seq.resolveWeakTypes() + + // 4a) resolving paired brackets + // Rule N0 + resolvePairedBrackets(seq) + + // 4b) resolving neutral types + // Rules N1-N3. + seq.resolveNeutralTypes() + + // 5) resolving implicit embedding levels + // Rules I1, I2. + seq.resolveImplicitLevels() + + // Apply the computed levels and types + seq.applyLevelsAndTypes() + } + + // Assign appropriate levels to 'hide' LREs, RLEs, LROs, RLOs, PDFs, and + // BNs. This is for convenience, so the resulting level array will have + // a value for every character. + p.assignLevelsToCharactersRemovedByX9() +} + +// determineMatchingIsolates determines the matching PDI for each isolate +// initiator and vice versa. +// +// Definition BD9. +// +// At the end of this function: +// +// - The member variable matchingPDI is set to point to the index of the +// matching PDI character for each isolate initiator character. If there is +// no matching PDI, it is set to the length of the input text. For other +// characters, it is set to -1. +// - The member variable matchingIsolateInitiator is set to point to the +// index of the matching isolate initiator character for each PDI character. +// If there is no matching isolate initiator, or the character is not a PDI, +// it is set to -1. +func (p *paragraph) determineMatchingIsolates() { + p.matchingPDI = make([]int, p.Len()) + p.matchingIsolateInitiator = make([]int, p.Len()) + + for i := range p.matchingIsolateInitiator { + p.matchingIsolateInitiator[i] = -1 + } + + for i := range p.matchingPDI { + p.matchingPDI[i] = -1 + + if t := p.resultTypes[i]; t.in(LRI, RLI, FSI) { + depthCounter := 1 + for j := i + 1; j < p.Len(); j++ { + if u := p.resultTypes[j]; u.in(LRI, RLI, FSI) { + depthCounter++ + } else if u == PDI { + if depthCounter--; depthCounter == 0 { + p.matchingPDI[i] = j + p.matchingIsolateInitiator[j] = i + break + } + } + } + if p.matchingPDI[i] == -1 { + p.matchingPDI[i] = p.Len() + } + } + } +} + +// determineParagraphEmbeddingLevel reports the resolved paragraph direction of +// the substring limited by the given range [start, end). +// +// Determines the paragraph level based on rules P2, P3. This is also used +// in rule X5c to find if an FSI should resolve to LRI or RLI. +func (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level { + var strongType Class = unknownClass + + // Rule P2. + for i := start; i < end; i++ { + if t := p.resultTypes[i]; t.in(L, AL, R) { + strongType = t + break + } else if t.in(FSI, LRI, RLI) { + i = p.matchingPDI[i] // skip over to the matching PDI + if i > end { + log.Panic("assert (i <= end)") + } + } + } + // Rule P3. + switch strongType { + case unknownClass: // none found + // default embedding level when no strong types found is 0. + return 0 + case L: + return 0 + default: // AL, R + return 1 + } +} + +const maxDepth = 125 + +// This stack will store the embedding levels and override and isolated +// statuses +type directionalStatusStack struct { + stackCounter int + embeddingLevelStack [maxDepth + 1]level + overrideStatusStack [maxDepth + 1]Class + isolateStatusStack [maxDepth + 1]bool +} + +func (s *directionalStatusStack) empty() { s.stackCounter = 0 } +func (s *directionalStatusStack) pop() { s.stackCounter-- } +func (s *directionalStatusStack) depth() int { return s.stackCounter } + +func (s *directionalStatusStack) push(level level, overrideStatus Class, isolateStatus bool) { + s.embeddingLevelStack[s.stackCounter] = level + s.overrideStatusStack[s.stackCounter] = overrideStatus + s.isolateStatusStack[s.stackCounter] = isolateStatus + s.stackCounter++ +} + +func (s *directionalStatusStack) lastEmbeddingLevel() level { + return s.embeddingLevelStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalOverrideStatus() Class { + return s.overrideStatusStack[s.stackCounter-1] +} + +func (s *directionalStatusStack) lastDirectionalIsolateStatus() bool { + return s.isolateStatusStack[s.stackCounter-1] +} + +// Determine explicit levels using rules X1 - X8 +func (p *paragraph) determineExplicitEmbeddingLevels() { + var stack directionalStatusStack + var overflowIsolateCount, overflowEmbeddingCount, validIsolateCount int + + // Rule X1. + stack.push(p.embeddingLevel, ON, false) + + for i, t := range p.resultTypes { + // Rules X2, X3, X4, X5, X5a, X5b, X5c + switch t { + case RLE, LRE, RLO, LRO, RLI, LRI, FSI: + isIsolate := t.in(RLI, LRI, FSI) + isRTL := t.in(RLE, RLO, RLI) + + // override if this is an FSI that resolves to RLI + if t == FSI { + isRTL = (p.determineParagraphEmbeddingLevel(i+1, p.matchingPDI[i]) == 1) + } + if isIsolate { + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + + var newLevel level + if isRTL { + // least greater odd + newLevel = (stack.lastEmbeddingLevel() + 1) | 1 + } else { + // least greater even + newLevel = (stack.lastEmbeddingLevel() + 2) &^ 1 + } + + if newLevel <= maxDepth && overflowIsolateCount == 0 && overflowEmbeddingCount == 0 { + if isIsolate { + validIsolateCount++ + } + // Push new embedding level, override status, and isolated + // status. + // No check for valid stack counter, since the level check + // suffices. + switch t { + case LRO: + stack.push(newLevel, L, isIsolate) + case RLO: + stack.push(newLevel, R, isIsolate) + default: + stack.push(newLevel, ON, isIsolate) + } + // Not really part of the spec + if !isIsolate { + p.resultLevels[i] = newLevel + } + } else { + // This is an invalid explicit formatting character, + // so apply the "Otherwise" part of rules X2-X5b. + if isIsolate { + overflowIsolateCount++ + } else { // !isIsolate + if overflowIsolateCount == 0 { + overflowEmbeddingCount++ + } + } + } + + // Rule X6a + case PDI: + if overflowIsolateCount > 0 { + overflowIsolateCount-- + } else if validIsolateCount == 0 { + // do nothing + } else { + overflowEmbeddingCount = 0 + for !stack.lastDirectionalIsolateStatus() { + stack.pop() + } + stack.pop() + validIsolateCount-- + } + p.resultLevels[i] = stack.lastEmbeddingLevel() + + // Rule X7 + case PDF: + // Not really part of the spec + p.resultLevels[i] = stack.lastEmbeddingLevel() + + if overflowIsolateCount > 0 { + // do nothing + } else if overflowEmbeddingCount > 0 { + overflowEmbeddingCount-- + } else if !stack.lastDirectionalIsolateStatus() && stack.depth() >= 2 { + stack.pop() + } + + case B: // paragraph separator. + // Rule X8. + + // These values are reset for clarity, in this implementation B + // can only occur as the last code in the array. + stack.empty() + overflowIsolateCount = 0 + overflowEmbeddingCount = 0 + validIsolateCount = 0 + p.resultLevels[i] = p.embeddingLevel + + default: + p.resultLevels[i] = stack.lastEmbeddingLevel() + if stack.lastDirectionalOverrideStatus() != ON { + p.resultTypes[i] = stack.lastDirectionalOverrideStatus() + } + } + } +} + +type isolatingRunSequence struct { + p *paragraph + + indexes []int // indexes to the original string + + types []Class // type of each character using the index + resolvedLevels []level // resolved levels after application of rules + level level + sos, eos Class +} + +func (i *isolatingRunSequence) Len() int { return len(i.indexes) } + +func maxLevel(a, b level) level { + if a > b { + return a + } + return b +} + +// Rule X10, second bullet: Determine the start-of-sequence (sos) and end-of-sequence (eos) types, +// either L or R, for each isolating run sequence. +func (p *paragraph) isolatingRunSequence(indexes []int) *isolatingRunSequence { + length := len(indexes) + types := make([]Class, length) + for i, x := range indexes { + types[i] = p.resultTypes[x] + } + + // assign level, sos and eos + prevChar := indexes[0] - 1 + for prevChar >= 0 && isRemovedByX9(p.initialTypes[prevChar]) { + prevChar-- + } + prevLevel := p.embeddingLevel + if prevChar >= 0 { + prevLevel = p.resultLevels[prevChar] + } + + var succLevel level + lastType := types[length-1] + if lastType.in(LRI, RLI, FSI) { + succLevel = p.embeddingLevel + } else { + // the first character after the end of run sequence + limit := indexes[length-1] + 1 + for ; limit < p.Len() && isRemovedByX9(p.initialTypes[limit]); limit++ { + + } + succLevel = p.embeddingLevel + if limit < p.Len() { + succLevel = p.resultLevels[limit] + } + } + level := p.resultLevels[indexes[0]] + return &isolatingRunSequence{ + p: p, + indexes: indexes, + types: types, + level: level, + sos: typeForLevel(maxLevel(prevLevel, level)), + eos: typeForLevel(maxLevel(succLevel, level)), + } +} + +// Resolving weak types Rules W1-W7. +// +// Note that some weak types (EN, AN) remain after this processing is +// complete. +func (s *isolatingRunSequence) resolveWeakTypes() { + + // on entry, only these types remain + s.assertOnly(L, R, AL, EN, ES, ET, AN, CS, B, S, WS, ON, NSM, LRI, RLI, FSI, PDI) + + // Rule W1. + // Changes all NSMs. + preceedingCharacterType := s.sos + for i, t := range s.types { + if t == NSM { + s.types[i] = preceedingCharacterType + } else { + if t.in(LRI, RLI, FSI, PDI) { + preceedingCharacterType = ON + } + preceedingCharacterType = t + } + } + + // Rule W2. + // EN does not change at the start of the run, because sos != AL. + for i, t := range s.types { + if t == EN { + for j := i - 1; j >= 0; j-- { + if t := s.types[j]; t.in(L, R, AL) { + if t == AL { + s.types[i] = AN + } + break + } + } + } + } + + // Rule W3. + for i, t := range s.types { + if t == AL { + s.types[i] = R + } + } + + // Rule W4. + // Since there must be values on both sides for this rule to have an + // effect, the scan skips the first and last value. + // + // Although the scan proceeds left to right, and changes the type + // values in a way that would appear to affect the computations + // later in the scan, there is actually no problem. A change in the + // current value can only affect the value to its immediate right, + // and only affect it if it is ES or CS. But the current value can + // only change if the value to its right is not ES or CS. Thus + // either the current value will not change, or its change will have + // no effect on the remainder of the analysis. + + for i := 1; i < s.Len()-1; i++ { + t := s.types[i] + if t == ES || t == CS { + prevSepType := s.types[i-1] + succSepType := s.types[i+1] + if prevSepType == EN && succSepType == EN { + s.types[i] = EN + } else if s.types[i] == CS && prevSepType == AN && succSepType == AN { + s.types[i] = AN + } + } + } + + // Rule W5. + for i, t := range s.types { + if t == ET { + // locate end of sequence + runStart := i + runEnd := s.findRunLimit(runStart, ET) + + // check values at ends of sequence + t := s.sos + if runStart > 0 { + t = s.types[runStart-1] + } + if t != EN { + t = s.eos + if runEnd < len(s.types) { + t = s.types[runEnd] + } + } + if t == EN { + setTypes(s.types[runStart:runEnd], EN) + } + // continue at end of sequence + i = runEnd + } + } + + // Rule W6. + for i, t := range s.types { + if t.in(ES, ET, CS) { + s.types[i] = ON + } + } + + // Rule W7. + for i, t := range s.types { + if t == EN { + // set default if we reach start of run + prevStrongType := s.sos + for j := i - 1; j >= 0; j-- { + t = s.types[j] + if t == L || t == R { // AL's have been changed to R + prevStrongType = t + break + } + } + if prevStrongType == L { + s.types[i] = L + } + } + } +} + +// 6) resolving neutral types Rules N1-N2. +func (s *isolatingRunSequence) resolveNeutralTypes() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN, B, S, WS, ON, RLI, LRI, FSI, PDI) + + for i, t := range s.types { + switch t { + case WS, ON, B, S, RLI, LRI, FSI, PDI: + // find bounds of run of neutrals + runStart := i + runEnd := s.findRunLimit(runStart, B, S, WS, ON, RLI, LRI, FSI, PDI) + + // determine effective types at ends of run + var leadType, trailType Class + + // Note that the character found can only be L, R, AN, or + // EN. + if runStart == 0 { + leadType = s.sos + } else { + leadType = s.types[runStart-1] + if leadType.in(AN, EN) { + leadType = R + } + } + if runEnd == len(s.types) { + trailType = s.eos + } else { + trailType = s.types[runEnd] + if trailType.in(AN, EN) { + trailType = R + } + } + + var resolvedType Class + if leadType == trailType { + // Rule N1. + resolvedType = leadType + } else { + // Rule N2. + // Notice the embedding level of the run is used, not + // the paragraph embedding level. + resolvedType = typeForLevel(s.level) + } + + setTypes(s.types[runStart:runEnd], resolvedType) + + // skip over run of (former) neutrals + i = runEnd + } + } +} + +func setLevels(levels []level, newLevel level) { + for i := range levels { + levels[i] = newLevel + } +} + +func setTypes(types []Class, newType Class) { + for i := range types { + types[i] = newType + } +} + +// 7) resolving implicit embedding levels Rules I1, I2. +func (s *isolatingRunSequence) resolveImplicitLevels() { + + // on entry, only these types can be in resultTypes + s.assertOnly(L, R, EN, AN) + + s.resolvedLevels = make([]level, len(s.types)) + setLevels(s.resolvedLevels, s.level) + + if (s.level & 1) == 0 { // even level + for i, t := range s.types { + // Rule I1. + if t == L { + // no change + } else if t == R { + s.resolvedLevels[i] += 1 + } else { // t == AN || t == EN + s.resolvedLevels[i] += 2 + } + } + } else { // odd level + for i, t := range s.types { + // Rule I2. + if t == R { + // no change + } else { // t == L || t == AN || t == EN + s.resolvedLevels[i] += 1 + } + } + } +} + +// Applies the levels and types resolved in rules W1-I2 to the +// resultLevels array. +func (s *isolatingRunSequence) applyLevelsAndTypes() { + for i, x := range s.indexes { + s.p.resultTypes[x] = s.types[i] + s.p.resultLevels[x] = s.resolvedLevels[i] + } +} + +// Return the limit of the run consisting only of the types in validSet +// starting at index. This checks the value at index, and will return +// index if that value is not in validSet. +func (s *isolatingRunSequence) findRunLimit(index int, validSet ...Class) int { +loop: + for ; index < len(s.types); index++ { + t := s.types[index] + for _, valid := range validSet { + if t == valid { + continue loop + } + } + return index // didn't find a match in validSet + } + return len(s.types) +} + +// Algorithm validation. Assert that all values in types are in the +// provided set. +func (s *isolatingRunSequence) assertOnly(codes ...Class) { +loop: + for i, t := range s.types { + for _, c := range codes { + if t == c { + continue loop + } + } + log.Panicf("invalid bidi code %v present in assertOnly at position %d", t, s.indexes[i]) + } +} + +// determineLevelRuns returns an array of level runs. Each level run is +// described as an array of indexes into the input string. +// +// Determines the level runs. Rule X9 will be applied in determining the +// runs, in the way that makes sure the characters that are supposed to be +// removed are not included in the runs. +func (p *paragraph) determineLevelRuns() [][]int { + run := []int{} + allRuns := [][]int{} + currentLevel := implicitLevel + + for i := range p.initialTypes { + if !isRemovedByX9(p.initialTypes[i]) { + if p.resultLevels[i] != currentLevel { + // we just encountered a new run; wrap up last run + if currentLevel >= 0 { // only wrap it up if there was a run + allRuns = append(allRuns, run) + run = nil + } + // Start new run + currentLevel = p.resultLevels[i] + } + run = append(run, i) + } + } + // Wrap up the final run, if any + if len(run) > 0 { + allRuns = append(allRuns, run) + } + return allRuns +} + +// Definition BD13. Determine isolating run sequences. +func (p *paragraph) determineIsolatingRunSequences() []*isolatingRunSequence { + levelRuns := p.determineLevelRuns() + + // Compute the run that each character belongs to + runForCharacter := make([]int, p.Len()) + for i, run := range levelRuns { + for _, index := range run { + runForCharacter[index] = i + } + } + + sequences := []*isolatingRunSequence{} + + var currentRunSequence []int + + for _, run := range levelRuns { + first := run[0] + if p.initialTypes[first] != PDI || p.matchingIsolateInitiator[first] == -1 { + currentRunSequence = nil + // int run = i; + for { + // Copy this level run into currentRunSequence + currentRunSequence = append(currentRunSequence, run...) + + last := currentRunSequence[len(currentRunSequence)-1] + lastT := p.initialTypes[last] + if lastT.in(LRI, RLI, FSI) && p.matchingPDI[last] != p.Len() { + run = levelRuns[runForCharacter[p.matchingPDI[last]]] + } else { + break + } + } + sequences = append(sequences, p.isolatingRunSequence(currentRunSequence)) + } + } + return sequences +} + +// Assign level information to characters removed by rule X9. This is for +// ease of relating the level information to the original input data. Note +// that the levels assigned to these codes are arbitrary, they're chosen so +// as to avoid breaking level runs. +func (p *paragraph) assignLevelsToCharactersRemovedByX9() { + for i, t := range p.initialTypes { + if t.in(LRE, RLE, LRO, RLO, PDF, BN) { + p.resultTypes[i] = t + p.resultLevels[i] = -1 + } + } + // now propagate forward the levels information (could have + // propagated backward, the main thing is not to introduce a level + // break where one doesn't already exist). + + if p.resultLevels[0] == -1 { + p.resultLevels[0] = p.embeddingLevel + } + for i := 1; i < len(p.initialTypes); i++ { + if p.resultLevels[i] == -1 { + p.resultLevels[i] = p.resultLevels[i-1] + } + } + // Embedding information is for informational purposes only so need not be + // adjusted. +} + +// +// Output +// + +// getLevels computes levels array breaking lines at offsets in linebreaks. +// Rule L1. +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getLevels(linebreaks []int) []level { + // Note that since the previous processing has removed all + // P, S, and WS values from resultTypes, the values referred to + // in these rules are the initial types, before any processing + // has been applied (including processing of overrides). + // + // This example implementation has reinserted explicit format codes + // and BN, in order that the levels array correspond to the + // initial text. Their final placement is not normative. + // These codes are treated like WS in this implementation, + // so they don't interrupt sequences of WS. + + validateLineBreaks(linebreaks, p.Len()) + + result := append([]level(nil), p.resultLevels...) + + // don't worry about linebreaks since if there is a break within + // a series of WS values preceding S, the linebreak itself + // causes the reset. + for i, t := range p.initialTypes { + if t.in(B, S) { + // Rule L1, clauses one and two. + result[i] = p.embeddingLevel + + // Rule L1, clause three. + for j := i - 1; j >= 0; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + } + } + + // Rule L1, clause four. + start := 0 + for _, limit := range linebreaks { + for j := limit - 1; j >= start; j-- { + if isWhitespace(p.initialTypes[j]) { // including format codes + result[j] = p.embeddingLevel + } else { + break + } + } + start = limit + } + + return result +} + +// getReordering returns the reordering of lines from a visual index to a +// logical index for line breaks at the given offsets. +// +// Lines are concatenated from left to right. So for example, the fifth +// character from the left on the third line is +// +// getReordering(linebreaks)[linebreaks[1] + 4] +// +// (linebreaks[1] is the position after the last character of the second +// line, which is also the index of the first character on the third line, +// and adding four gets the fifth character from the left). +// +// The linebreaks array must include at least one value. The values must be +// in strictly increasing order (no duplicates) between 1 and the length of +// the text, inclusive. The last value must be the length of the text. +func (p *paragraph) getReordering(linebreaks []int) []int { + validateLineBreaks(linebreaks, p.Len()) + + return computeMultilineReordering(p.getLevels(linebreaks), linebreaks) +} + +// Return multiline reordering array for a given level array. Reordering +// does not occur across a line break. +func computeMultilineReordering(levels []level, linebreaks []int) []int { + result := make([]int, len(levels)) + + start := 0 + for _, limit := range linebreaks { + tempLevels := make([]level, limit-start) + copy(tempLevels, levels[start:]) + + for j, order := range computeReordering(tempLevels) { + result[start+j] = order + start + } + start = limit + } + return result +} + +// Return reordering array for a given level array. This reorders a single +// line. The reordering is a visual to logical map. For example, the +// leftmost char is string.charAt(order[0]). Rule L2. +func computeReordering(levels []level) []int { + result := make([]int, len(levels)) + // initialize order + for i := range result { + result[i] = i + } + + // locate highest level found on line. + // Note the rules say text, but no reordering across line bounds is + // performed, so this is sufficient. + highestLevel := level(0) + lowestOddLevel := level(maxDepth + 2) + for _, level := range levels { + if level > highestLevel { + highestLevel = level + } + if level&1 != 0 && level < lowestOddLevel { + lowestOddLevel = level + } + } + + for level := highestLevel; level >= lowestOddLevel; level-- { + for i := 0; i < len(levels); i++ { + if levels[i] >= level { + // find range of text at or above this level + start := i + limit := i + 1 + for limit < len(levels) && levels[limit] >= level { + limit++ + } + + for j, k := start, limit-1; j < k; j, k = j+1, k-1 { + result[j], result[k] = result[k], result[j] + } + // skip to end of level run + i = limit + } + } + } + + return result +} + +// isWhitespace reports whether the type is considered a whitespace type for the +// line break rules. +func isWhitespace(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI, BN, WS: + return true + } + return false +} + +// isRemovedByX9 reports whether the type is one of the types removed in X9. +func isRemovedByX9(c Class) bool { + switch c { + case LRE, RLE, LRO, RLO, PDF, BN: + return true + } + return false +} + +// typeForLevel reports the strong type (L or R) corresponding to the level. +func typeForLevel(level level) Class { + if (level & 0x1) == 0 { + return L + } + return R +} + +// TODO: change validation to not panic + +func validateTypes(types []Class) { + if len(types) == 0 { + log.Panic("types is null") + } + for i, t := range types[:len(types)-1] { + if t == B { + log.Panicf("B type before end of paragraph at index: %d", i) + } + } +} + +func validateParagraphEmbeddingLevel(embeddingLevel level) { + if embeddingLevel != implicitLevel && + embeddingLevel != 0 && + embeddingLevel != 1 { + log.Panicf("illegal paragraph embedding level: %d", embeddingLevel) + } +} + +func validateLineBreaks(linebreaks []int, textLength int) { + prev := 0 + for i, next := range linebreaks { + if next <= prev { + log.Panicf("bad linebreak: %d at index: %d", next, i) + } + prev = next + } + if prev != textLength { + log.Panicf("last linebreak was %d, want %d", prev, textLength) + } +} + +func validatePbTypes(pairTypes []bracketType) { + if len(pairTypes) == 0 { + log.Panic("pairTypes is null") + } + for i, pt := range pairTypes { + switch pt { + case bpNone, bpOpen, bpClose: + default: + log.Panicf("illegal pairType value at %d: %v", i, pairTypes[i]) + } + } +} + +func validatePbValues(pairValues []rune, pairTypes []bracketType) { + if pairValues == nil { + log.Panic("pairValues is null") + } + if len(pairTypes) != len(pairValues) { + log.Panic("pairTypes is different length from pairValues") + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/gen.go b/vendor/golang.org/x/text/unicode/bidi/gen.go new file mode 100644 index 000000000000..040f3013d585 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/gen.go @@ -0,0 +1,133 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +import ( + "flag" + "log" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/internal/triegen" + "golang.org/x/text/internal/ucd" +) + +var outputFile = flag.String("out", "tables.go", "output file") + +func main() { + gen.Init() + gen.Repackage("gen_trieval.go", "trieval.go", "bidi") + gen.Repackage("gen_ranges.go", "ranges_test.go", "bidi") + + genTables() +} + +// bidiClass names and codes taken from class "bc" in +// http://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt +var bidiClass = map[string]Class{ + "AL": AL, // ArabicLetter + "AN": AN, // ArabicNumber + "B": B, // ParagraphSeparator + "BN": BN, // BoundaryNeutral + "CS": CS, // CommonSeparator + "EN": EN, // EuropeanNumber + "ES": ES, // EuropeanSeparator + "ET": ET, // EuropeanTerminator + "L": L, // LeftToRight + "NSM": NSM, // NonspacingMark + "ON": ON, // OtherNeutral + "R": R, // RightToLeft + "S": S, // SegmentSeparator + "WS": WS, // WhiteSpace + + "FSI": Control, + "PDF": Control, + "PDI": Control, + "LRE": Control, + "LRI": Control, + "LRO": Control, + "RLE": Control, + "RLI": Control, + "RLO": Control, +} + +func genTables() { + if numClass > 0x0F { + log.Fatalf("Too many Class constants (%#x > 0x0F).", numClass) + } + w := gen.NewCodeWriter() + defer w.WriteGoFile(*outputFile, "bidi") + + gen.WriteUnicodeVersion(w) + + t := triegen.NewTrie("bidi") + + // Build data about bracket mapping. These bits need to be or-ed with + // any other bits. + orMask := map[rune]uint64{} + + xorMap := map[rune]int{} + xorMasks := []rune{0} // First value is no-op. + + ucd.Parse(gen.OpenUCDFile("BidiBrackets.txt"), func(p *ucd.Parser) { + r1 := p.Rune(0) + r2 := p.Rune(1) + xor := r1 ^ r2 + if _, ok := xorMap[xor]; !ok { + xorMap[xor] = len(xorMasks) + xorMasks = append(xorMasks, xor) + } + entry := uint64(xorMap[xor]) << xorMaskShift + switch p.String(2) { + case "o": + entry |= openMask + case "c", "n": + default: + log.Fatalf("Unknown bracket class %q.", p.String(2)) + } + orMask[r1] = entry + }) + + w.WriteComment(` + xorMasks contains masks to be xor-ed with brackets to get the reverse + version.`) + w.WriteVar("xorMasks", xorMasks) + + done := map[rune]bool{} + + insert := func(r rune, c Class) { + if !done[r] { + t.Insert(r, orMask[r]|uint64(c)) + done[r] = true + } + } + + // Insert the derived BiDi properties. + ucd.Parse(gen.OpenUCDFile("extracted/DerivedBidiClass.txt"), func(p *ucd.Parser) { + r := p.Rune(0) + class, ok := bidiClass[p.String(1)] + if !ok { + log.Fatalf("%U: Unknown BiDi class %q", r, p.String(1)) + } + insert(r, class) + }) + visitDefaults(insert) + + // TODO: use sparse blocks. This would reduce table size considerably + // from the looks of it. + + sz, err := t.Gen(w) + if err != nil { + log.Fatal(err) + } + w.Size += sz +} + +// dummy values to make methods in gen_common compile. The real versions +// will be generated by this file to tables.go. +var ( + xorMasks []rune +) diff --git a/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go b/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go new file mode 100644 index 000000000000..51bd68fa7f38 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go @@ -0,0 +1,57 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +import ( + "unicode" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/internal/ucd" + "golang.org/x/text/unicode/rangetable" +) + +// These tables are hand-extracted from: +// http://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt +func visitDefaults(fn func(r rune, c Class)) { + // first write default values for ranges listed above. + visitRunes(fn, AL, []rune{ + 0x0600, 0x07BF, // Arabic + 0x08A0, 0x08FF, // Arabic Extended-A + 0xFB50, 0xFDCF, // Arabic Presentation Forms + 0xFDF0, 0xFDFF, + 0xFE70, 0xFEFF, + 0x0001EE00, 0x0001EEFF, // Arabic Mathematical Alpha Symbols + }) + visitRunes(fn, R, []rune{ + 0x0590, 0x05FF, // Hebrew + 0x07C0, 0x089F, // Nko et al. + 0xFB1D, 0xFB4F, + 0x00010800, 0x00010FFF, // Cypriot Syllabary et. al. + 0x0001E800, 0x0001EDFF, + 0x0001EF00, 0x0001EFFF, + }) + visitRunes(fn, ET, []rune{ // European Terminator + 0x20A0, 0x20Cf, // Currency symbols + }) + rangetable.Visit(unicode.Noncharacter_Code_Point, func(r rune) { + fn(r, BN) // Boundary Neutral + }) + ucd.Parse(gen.OpenUCDFile("DerivedCoreProperties.txt"), func(p *ucd.Parser) { + if p.String(1) == "Default_Ignorable_Code_Point" { + fn(p.Rune(0), BN) // Boundary Neutral + } + }) +} + +func visitRunes(fn func(r rune, c Class), c Class, runes []rune) { + for i := 0; i < len(runes); i += 2 { + lo, hi := runes[i], runes[i+1] + for j := lo; j <= hi; j++ { + fn(j, c) + } + } +} diff --git a/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go b/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go new file mode 100644 index 000000000000..9cb994289492 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go @@ -0,0 +1,64 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +// Class is the Unicode BiDi class. Each rune has a single class. +type Class uint + +const ( + L Class = iota // LeftToRight + R // RightToLeft + EN // EuropeanNumber + ES // EuropeanSeparator + ET // EuropeanTerminator + AN // ArabicNumber + CS // CommonSeparator + B // ParagraphSeparator + S // SegmentSeparator + WS // WhiteSpace + ON // OtherNeutral + BN // BoundaryNeutral + NSM // NonspacingMark + AL // ArabicLetter + Control // Control LRO - PDI + + numClass + + LRO // LeftToRightOverride + RLO // RightToLeftOverride + LRE // LeftToRightEmbedding + RLE // RightToLeftEmbedding + PDF // PopDirectionalFormat + LRI // LeftToRightIsolate + RLI // RightToLeftIsolate + FSI // FirstStrongIsolate + PDI // PopDirectionalIsolate + + unknownClass = ^Class(0) +) + +var controlToClass = map[rune]Class{ + 0x202D: LRO, // LeftToRightOverride, + 0x202E: RLO, // RightToLeftOverride, + 0x202A: LRE, // LeftToRightEmbedding, + 0x202B: RLE, // RightToLeftEmbedding, + 0x202C: PDF, // PopDirectionalFormat, + 0x2066: LRI, // LeftToRightIsolate, + 0x2067: RLI, // RightToLeftIsolate, + 0x2068: FSI, // FirstStrongIsolate, + 0x2069: PDI, // PopDirectionalIsolate, +} + +// A trie entry has the following bits: +// 7..5 XOR mask for brackets +// 4 1: Bracket open, 0: Bracket close +// 3..0 Class type + +const ( + openMask = 0x10 + xorMaskShift = 5 +) diff --git a/vendor/golang.org/x/text/unicode/bidi/prop.go b/vendor/golang.org/x/text/unicode/bidi/prop.go new file mode 100644 index 000000000000..7c9484e1f50c --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/prop.go @@ -0,0 +1,206 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bidi + +import "unicode/utf8" + +// Properties provides access to BiDi properties of runes. +type Properties struct { + entry uint8 + last uint8 +} + +var trie = newBidiTrie(0) + +// TODO: using this for bidirule reduces the running time by about 5%. Consider +// if this is worth exposing or if we can find a way to speed up the Class +// method. +// +// // CompactClass is like Class, but maps all of the BiDi control classes +// // (LRO, RLO, LRE, RLE, PDF, LRI, RLI, FSI, PDI) to the class Control. +// func (p Properties) CompactClass() Class { +// return Class(p.entry & 0x0F) +// } + +// Class returns the Bidi class for p. +func (p Properties) Class() Class { + c := Class(p.entry & 0x0F) + if c == Control { + c = controlByteToClass[p.last&0xF] + } + return c +} + +// IsBracket reports whether the rune is a bracket. +func (p Properties) IsBracket() bool { return p.entry&0xF0 != 0 } + +// IsOpeningBracket reports whether the rune is an opening bracket. +// IsBracket must return true. +func (p Properties) IsOpeningBracket() bool { return p.entry&openMask != 0 } + +// TODO: find a better API and expose. +func (p Properties) reverseBracket(r rune) rune { + return xorMasks[p.entry>>xorMaskShift] ^ r +} + +var controlByteToClass = [16]Class{ + 0xD: LRO, // U+202D LeftToRightOverride, + 0xE: RLO, // U+202E RightToLeftOverride, + 0xA: LRE, // U+202A LeftToRightEmbedding, + 0xB: RLE, // U+202B RightToLeftEmbedding, + 0xC: PDF, // U+202C PopDirectionalFormat, + 0x6: LRI, // U+2066 LeftToRightIsolate, + 0x7: RLI, // U+2067 RightToLeftIsolate, + 0x8: FSI, // U+2068 FirstStrongIsolate, + 0x9: PDI, // U+2069 PopDirectionalIsolate, +} + +// LookupRune returns properties for r. +func LookupRune(r rune) (p Properties, size int) { + var buf [4]byte + n := utf8.EncodeRune(buf[:], r) + return Lookup(buf[:n]) +} + +// TODO: these lookup methods are based on the generated trie code. The returned +// sizes have slightly different semantics from the generated code, in that it +// always returns size==1 for an illegal UTF-8 byte (instead of the length +// of the maximum invalid subsequence). Most Transformers, like unicode/norm, +// leave invalid UTF-8 untouched, in which case it has performance benefits to +// do so (without changing the semantics). Bidi requires the semantics used here +// for the bidirule implementation to be compatible with the Go semantics. +// They ultimately should perhaps be adopted by all trie implementations, for +// convenience sake. +// This unrolled code also boosts performance of the secure/bidirule package by +// about 30%. +// So, to remove this code: +// - add option to trie generator to define return type. +// - always return 1 byte size for ill-formed UTF-8 runes. + +// Lookup returns properties for the first rune in s and the width in bytes of +// its encoding. The size will be 0 if s does not hold enough bytes to complete +// the encoding. +func Lookup(s []byte) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} + +// LookupString returns properties for the first rune in s and the width in +// bytes of its encoding. The size will be 0 if s does not hold enough bytes to +// complete the encoding. +func LookupString(s string) (p Properties, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return Properties{entry: bidiValues[c0]}, 1 + case c0 < 0xC2: + return Properties{}, 1 + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c1)}, 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return Properties{}, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return Properties{}, 1 + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return Properties{}, 1 + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return Properties{}, 1 + } + return Properties{entry: trie.lookupValue(uint32(i), c3)}, 4 + } + // Illegal rune + return Properties{}, 1 +} diff --git a/vendor/golang.org/x/text/unicode/bidi/tables.go b/vendor/golang.org/x/text/unicode/bidi/tables.go new file mode 100644 index 000000000000..a0b2b17a1ef3 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/tables.go @@ -0,0 +1,1813 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package bidi + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +// xorMasks contains masks to be xor-ed with brackets to get the reverse +// version. +var xorMasks = []int32{ // 8 elements + 0, 1, 6, 7, 3, 15, 29, 63, +} // Size: 56 bytes + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return bidiValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := bidiIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = bidiIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = bidiIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return bidiValues[c0] + } + i := bidiIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = bidiIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f. +type bidiTrie struct{} + +func newBidiTrie(i int) *bidiTrie { + return &bidiTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { + switch { + default: + return uint8(bidiValues[n<<6+uint32(b)]) + } +} + +// bidiValues: 228 blocks, 14592 entries, 14592 bytes +// The third block is the zero block. +var bidiValues = [14592]uint8{ + // Block 0x0, offset 0x0 + 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, + 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, + 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, + 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, + 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, + 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, + 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, + 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, + 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, + 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, + 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, + // Block 0x1, offset 0x40 + 0x40: 0x000a, + 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, + 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, + 0x7b: 0x005a, + 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, + 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, + 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, + 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, + 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, + 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, + 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, + 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, + 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, + 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, + 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, + // Block 0x4, offset 0x100 + 0x117: 0x000a, + 0x137: 0x000a, + // Block 0x5, offset 0x140 + 0x179: 0x000a, 0x17a: 0x000a, + // Block 0x6, offset 0x180 + 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, + 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, + 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, + 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, + 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, + 0x19e: 0x000a, 0x19f: 0x000a, + 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, + 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, + 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, + 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, + 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, + 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, + 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, + 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, + 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, + 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, + 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, + 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, + 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, + 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, + 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, + // Block 0x8, offset 0x200 + 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, + 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, + 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, + 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, + 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, + 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, + 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, + 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, + 0x234: 0x000a, 0x235: 0x000a, + 0x23e: 0x000a, + // Block 0x9, offset 0x240 + 0x244: 0x000a, 0x245: 0x000a, + 0x247: 0x000a, + // Block 0xa, offset 0x280 + 0x2b6: 0x000a, + // Block 0xb, offset 0x2c0 + 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, + 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, + // Block 0xc, offset 0x300 + 0x30a: 0x000a, + 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, + 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, + 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, + 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, + 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, + 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, + 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, + 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, + 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, + // Block 0xd, offset 0x340 + 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, + 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, + 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, + 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, + 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, + 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, + 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, + 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, + 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, + 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, + 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, + // Block 0xe, offset 0x380 + 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, + 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, + 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, + 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, + 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, + 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, + 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, + 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, + 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, + 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, + 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, + 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, + 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, + 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, + 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, + 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, + 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, + 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, + 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, + 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, + 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, + // Block 0x10, offset 0x400 + 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, + 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, + 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, + 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, + 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, + 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, + 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, + 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, + 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, + 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, + 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, + // Block 0x11, offset 0x440 + 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, + 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, + 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, + 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, + 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, + 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, + 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, + 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, + 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, + 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, + 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, + // Block 0x12, offset 0x480 + 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, + 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, + 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, + 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, + 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, + 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, + 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, + 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, + 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, + 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, + 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, + 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, + 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, + 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, + 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, + 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, + 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, + 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, + 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, + 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, + 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, + // Block 0x14, offset 0x500 + 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, + 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, + 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, + 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, + 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, + 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, + 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, + 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, + 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, + 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, + 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, + // Block 0x15, offset 0x540 + 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, + 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, + 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, + 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, + 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, + 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, + 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, + 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, + 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, + 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, + 0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001, + // Block 0x16, offset 0x580 + 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, + 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, + 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, + 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, + 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, + 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, + 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, + 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, + 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, + 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, + 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, + 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, + 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, + 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, + 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, + 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, + 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, + 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, + // Block 0x18, offset 0x600 + 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, + 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, + 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, + 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, + 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, + 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, + 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, + 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, + 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, + 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, + 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, + // Block 0x19, offset 0x640 + 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, + 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, + 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, + 0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, + 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, + 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, + 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, + 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, + 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, + 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, + 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, + // Block 0x1a, offset 0x680 + 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, + 0x6ba: 0x000c, + 0x6bc: 0x000c, + // Block 0x1b, offset 0x6c0 + 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, + 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, + 0x6cd: 0x000c, 0x6d1: 0x000c, + 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, + 0x6e2: 0x000c, 0x6e3: 0x000c, + // Block 0x1c, offset 0x700 + 0x701: 0x000c, + 0x73c: 0x000c, + // Block 0x1d, offset 0x740 + 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, + 0x74d: 0x000c, + 0x762: 0x000c, 0x763: 0x000c, + 0x772: 0x0004, 0x773: 0x0004, + 0x77b: 0x0004, + // Block 0x1e, offset 0x780 + 0x781: 0x000c, 0x782: 0x000c, + 0x7bc: 0x000c, + // Block 0x1f, offset 0x7c0 + 0x7c1: 0x000c, 0x7c2: 0x000c, + 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, + 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, + 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, + // Block 0x20, offset 0x800 + 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, + 0x807: 0x000c, 0x808: 0x000c, + 0x80d: 0x000c, + 0x822: 0x000c, 0x823: 0x000c, + 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, + // Block 0x21, offset 0x840 + 0x841: 0x000c, + 0x87c: 0x000c, 0x87f: 0x000c, + // Block 0x22, offset 0x880 + 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, + 0x88d: 0x000c, + 0x896: 0x000c, + 0x8a2: 0x000c, 0x8a3: 0x000c, + // Block 0x23, offset 0x8c0 + 0x8c2: 0x000c, + // Block 0x24, offset 0x900 + 0x900: 0x000c, + 0x90d: 0x000c, + 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, + 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, + // Block 0x25, offset 0x940 + 0x940: 0x000c, + 0x97e: 0x000c, 0x97f: 0x000c, + // Block 0x26, offset 0x980 + 0x980: 0x000c, + 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, + 0x98c: 0x000c, 0x98d: 0x000c, + 0x995: 0x000c, 0x996: 0x000c, + 0x9a2: 0x000c, 0x9a3: 0x000c, + 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, + 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, + // Block 0x27, offset 0x9c0 + 0x9cc: 0x000c, 0x9cd: 0x000c, + 0x9e2: 0x000c, 0x9e3: 0x000c, + // Block 0x28, offset 0xa00 + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, + // Block 0x29, offset 0xa40 + 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, + 0xa4d: 0x000c, + 0xa62: 0x000c, 0xa63: 0x000c, + // Block 0x2a, offset 0xa80 + 0xa8a: 0x000c, + 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, + // Block 0x2b, offset 0xac0 + 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, + 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, + 0xaff: 0x0004, + // Block 0x2c, offset 0xb00 + 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, + 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, + // Block 0x2d, offset 0xb40 + 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, + 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c, + 0xb7c: 0x000c, + // Block 0x2e, offset 0xb80 + 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, + 0xb8c: 0x000c, 0xb8d: 0x000c, + // Block 0x2f, offset 0xbc0 + 0xbd8: 0x000c, 0xbd9: 0x000c, + 0xbf5: 0x000c, + 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, + 0xbfc: 0x003a, 0xbfd: 0x002a, + // Block 0x30, offset 0xc00 + 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, + 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, + 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, + // Block 0x31, offset 0xc40 + 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, + 0xc46: 0x000c, 0xc47: 0x000c, + 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, + 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, + 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, + 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, + 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, + 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, + 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, + 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, + 0xc7c: 0x000c, + // Block 0x32, offset 0xc80 + 0xc86: 0x000c, + // Block 0x33, offset 0xcc0 + 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, + 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, + 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, + 0xcfd: 0x000c, 0xcfe: 0x000c, + // Block 0x34, offset 0xd00 + 0xd18: 0x000c, 0xd19: 0x000c, + 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, + 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, + // Block 0x35, offset 0xd40 + 0xd42: 0x000c, 0xd45: 0x000c, + 0xd46: 0x000c, + 0xd4d: 0x000c, + 0xd5d: 0x000c, + // Block 0x36, offset 0xd80 + 0xd9d: 0x000c, + 0xd9e: 0x000c, 0xd9f: 0x000c, + // Block 0x37, offset 0xdc0 + 0xdd0: 0x000a, 0xdd1: 0x000a, + 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, + 0xdd8: 0x000a, 0xdd9: 0x000a, + // Block 0x38, offset 0xe00 + 0xe00: 0x000a, + // Block 0x39, offset 0xe40 + 0xe40: 0x0009, + 0xe5b: 0x007a, 0xe5c: 0x006a, + // Block 0x3a, offset 0xe80 + 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, + 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, + // Block 0x3b, offset 0xec0 + 0xed2: 0x000c, 0xed3: 0x000c, + 0xef2: 0x000c, 0xef3: 0x000c, + // Block 0x3c, offset 0xf00 + 0xf34: 0x000c, 0xf35: 0x000c, + 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, + 0xf3c: 0x000c, 0xf3d: 0x000c, + // Block 0x3d, offset 0xf40 + 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, + 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, + 0xf52: 0x000c, 0xf53: 0x000c, + 0xf5b: 0x0004, 0xf5d: 0x000c, + 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, + 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, + // Block 0x3e, offset 0xf80 + 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, + 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, + 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, + // Block 0x3f, offset 0xfc0 + 0xfc5: 0x000c, + 0xfc6: 0x000c, + 0xfe9: 0x000c, + // Block 0x40, offset 0x1000 + 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, + 0x1027: 0x000c, 0x1028: 0x000c, + 0x1032: 0x000c, + 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, + // Block 0x41, offset 0x1040 + 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, + // Block 0x42, offset 0x1080 + 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, + 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, + 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, + 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, + 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, + 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, + // Block 0x43, offset 0x10c0 + 0x10d7: 0x000c, + 0x10d8: 0x000c, 0x10db: 0x000c, + // Block 0x44, offset 0x1100 + 0x1116: 0x000c, + 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, + 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, + 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, + 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, + 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, + 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, + 0x113c: 0x000c, 0x113f: 0x000c, + // Block 0x45, offset 0x1140 + 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, + 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, + 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, + // Block 0x46, offset 0x1180 + 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, + 0x11b4: 0x000c, + 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, + 0x11bc: 0x000c, + // Block 0x47, offset 0x11c0 + 0x11c2: 0x000c, + 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, + 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, + // Block 0x48, offset 0x1200 + 0x1200: 0x000c, 0x1201: 0x000c, + 0x1222: 0x000c, 0x1223: 0x000c, + 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, + 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, + // Block 0x49, offset 0x1240 + 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, + 0x126d: 0x000c, 0x126f: 0x000c, + 0x1270: 0x000c, 0x1271: 0x000c, + // Block 0x4a, offset 0x1280 + 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, + 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, + 0x12b6: 0x000c, 0x12b7: 0x000c, + // Block 0x4b, offset 0x12c0 + 0x12d0: 0x000c, 0x12d1: 0x000c, + 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, + 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, + 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, + 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, + 0x12ed: 0x000c, + 0x12f4: 0x000c, + 0x12f8: 0x000c, 0x12f9: 0x000c, + // Block 0x4c, offset 0x1300 + 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, + 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, + 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, + 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, + 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, + 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, + 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, + 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, + 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, + 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, + // Block 0x4d, offset 0x1340 + 0x137d: 0x000a, 0x137f: 0x000a, + // Block 0x4e, offset 0x1380 + 0x1380: 0x000a, 0x1381: 0x000a, + 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, + 0x139d: 0x000a, + 0x139e: 0x000a, 0x139f: 0x000a, + 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, + 0x13bd: 0x000a, 0x13be: 0x000a, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, + 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, + 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, + 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, + 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, + 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, + 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, + 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, + 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, + 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, + 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, + // Block 0x50, offset 0x1400 + 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, + 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, + 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, + 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, + 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, + 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, + 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, + 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, + 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, + 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, + 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, + // Block 0x51, offset 0x1440 + 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, + 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, + 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, + 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, + 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, + 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, + 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, + 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, + 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, + // Block 0x52, offset 0x1480 + 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, + 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, + 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, + 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, + 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, + 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, + 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, + 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, + 0x14b0: 0x000c, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, + 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, + 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, + 0x14d8: 0x000a, + 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, + 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, + 0x14ee: 0x0004, + 0x14fa: 0x000a, 0x14fb: 0x000a, + // Block 0x54, offset 0x1500 + 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, + 0x150a: 0x000a, 0x150b: 0x000a, + 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, + 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, + 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, + 0x151e: 0x000a, 0x151f: 0x000a, + // Block 0x55, offset 0x1540 + 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, + 0x1550: 0x000a, 0x1551: 0x000a, + 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, + 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, + 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, + 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, + 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, + 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, + 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, + 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, + // Block 0x56, offset 0x1580 + 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, + 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, + 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, + 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, + 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, + 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, + 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, + 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, + 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, + 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, + 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, + 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, + 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, + 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, + 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, + 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, + 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, + 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, + 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, + 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, + 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, + // Block 0x58, offset 0x1600 + 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, + 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, + 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, + 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, + 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, + 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, + 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, + 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, + 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, + // Block 0x59, offset 0x1640 + 0x167b: 0x000a, + 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, + // Block 0x5a, offset 0x1680 + 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, + 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, + 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, + 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, + 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, + 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, + 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, + 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, + 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, + 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, + 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, + // Block 0x5b, offset 0x16c0 + 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, + 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, + 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, + 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, + 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, + 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, + // Block 0x5c, offset 0x1700 + 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, + // Block 0x5d, offset 0x1740 + 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, + // Block 0x5e, offset 0x1780 + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, + 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, + 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, + // Block 0x60, offset 0x1800 + 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, + 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, + 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, + 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, + 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, + 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, + 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, + 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, + // Block 0x61, offset 0x1840 + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, + 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, + 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, + 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, + 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, + 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, + // Block 0x62, offset 0x1880 + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, + 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, + 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, + 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, + 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, + 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, + 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, + 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, + // Block 0x64, offset 0x1900 + 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, + 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, + 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, + 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, + 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, + 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, + 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, + // Block 0x65, offset 0x1940 + 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, + 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, + 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, + 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, + 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, + 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, + 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, + 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + // Block 0x66, offset 0x1980 + 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, + 0x1992: 0x000a, + 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, + // Block 0x67, offset 0x19c0 + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, + // Block 0x68, offset 0x1a00 + 0x1a3f: 0x000c, + // Block 0x69, offset 0x1a40 + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, + // Block 0x6a, offset 0x1a80 + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, + // Block 0x6b, offset 0x1ac0 + 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, + // Block 0x6c, offset 0x1b00 + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, + // Block 0x6d, offset 0x1b40 + 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, + 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, + 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, + 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, + 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, + 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, + // Block 0x6e, offset 0x1b80 + 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, + 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, + 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, + // Block 0x6f, offset 0x1bc0 + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, + // Block 0x70, offset 0x1c00 + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, + // Block 0x71, offset 0x1c40 + 0x1c7b: 0x000a, + // Block 0x72, offset 0x1c80 + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, + // Block 0x73, offset 0x1cc0 + 0x1cdd: 0x000a, + 0x1cde: 0x000a, + // Block 0x74, offset 0x1d00 + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, + // Block 0x75, offset 0x1d40 + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, + // Block 0x76, offset 0x1d80 + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, + // Block 0x77, offset 0x1dc0 + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, + // Block 0x78, offset 0x1e00 + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, + // Block 0x79, offset 0x1e40 + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, + // Block 0x7a, offset 0x1e80 + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, + // Block 0x7b, offset 0x1ec0 + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, + // Block 0x7c, offset 0x1f00 + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, + // Block 0x7d, offset 0x1f40 + 0x1f5e: 0x000c, 0x1f5f: 0x000c, + // Block 0x7e, offset 0x1f80 + 0x1fb0: 0x000c, 0x1fb1: 0x000c, + // Block 0x7f, offset 0x1fc0 + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, + // Block 0x80, offset 0x2000 + 0x2008: 0x000a, + // Block 0x81, offset 0x2040 + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, + // Block 0x82, offset 0x2080 + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, + // Block 0x83, offset 0x20c0 + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, + // Block 0x84, offset 0x2100 + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, + // Block 0x85, offset 0x2140 + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, + // Block 0x86, offset 0x2180 + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, + // Block 0x87, offset 0x21c0 + 0x21e5: 0x000c, + // Block 0x88, offset 0x2200 + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, + // Block 0x89, offset 0x2240 + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, + // Block 0x8a, offset 0x2280 + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, + // Block 0x8b, offset 0x22c0 + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, + // Block 0x8c, offset 0x2300 + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, + // Block 0x8d, offset 0x2340 + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, + // Block 0x8e, offset 0x2380 + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, + // Block 0x8f, offset 0x23c0 + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, + 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, + 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, + 0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d, + 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, + 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, + 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, + // Block 0x90, offset 0x2400 + 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, + 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, + 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, + 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, + // Block 0x91, offset 0x2440 + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, + // Block 0x92, offset 0x2480 + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, + // Block 0x93, offset 0x24c0 + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, + 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, + 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, + // Block 0x94, offset 0x2500 + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, + // Block 0x95, offset 0x2540 + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, + // Block 0x96, offset 0x2580 + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, + // Block 0x97, offset 0x25c0 + 0x25c1: 0x000a, + // Block 0x98, offset 0x2600 + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, + // Block 0x99, offset 0x2640 + 0x267d: 0x000c, + // Block 0x9a, offset 0x2680 + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, + // Block 0x9b, offset 0x26c0 + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, + // Block 0x9c, offset 0x2700 + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, + // Block 0x9d, offset 0x2740 + 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, + 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, + 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, + 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, + 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, + 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, + 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, + 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, + 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, + // Block 0x9e, offset 0x2780 + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, + 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, + 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, + 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, + // Block 0x9f, offset 0x27c0 + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, + 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, + 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, + 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, + // Block 0xa0, offset 0x2800 + 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, + 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, + 0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001, + 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, + 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, + 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, + 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, + // Block 0xa1, offset 0x2840 + 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, + 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, + 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, + 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, + 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, + 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, + 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, + 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, + // Block 0xa2, offset 0x2880 + 0x2881: 0x000c, + 0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c, + 0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c, + // Block 0xa3, offset 0x28c0 + 0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c, + 0x28c6: 0x000c, + 0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a, + 0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a, + 0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a, + 0x28e4: 0x000a, 0x28e5: 0x000a, + 0x28ff: 0x000c, + // Block 0xa4, offset 0x2900 + 0x2900: 0x000c, 0x2901: 0x000c, + 0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c, + 0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, + // Block 0xa5, offset 0x2940 + 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, + 0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c, + 0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c, + 0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c, + // Block 0xa6, offset 0x2980 + 0x29b3: 0x000c, + // Block 0xa7, offset 0x29c0 + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c, + 0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c, + // Block 0xa8, offset 0x2a00 + 0x2a0a: 0x000c, 0x2a0b: 0x000c, + 0x2a0c: 0x000c, + // Block 0xa9, offset 0x2a40 + 0x2a6f: 0x000c, + 0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c, + 0x2a76: 0x000c, 0x2a77: 0x000c, + 0x2a7e: 0x000c, + // Block 0xaa, offset 0x2a80 + 0x2a9f: 0x000c, 0x2aa3: 0x000c, + 0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c, + 0x2aaa: 0x000c, + // Block 0xab, offset 0x2ac0 + 0x2ac0: 0x000c, 0x2ac1: 0x000c, + 0x2afc: 0x000c, + // Block 0xac, offset 0x2b00 + 0x2b00: 0x000c, + 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, + 0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c, + // Block 0xad, offset 0x2b40 + 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, + 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c, + // Block 0xae, offset 0x2b80 + 0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c, + 0x2b86: 0x000c, + // Block 0xaf, offset 0x2bc0 + 0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c, + 0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c, + 0x2bff: 0x000c, + // Block 0xb0, offset 0x2c00 + 0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c, + // Block 0xb1, offset 0x2c40 + 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c, + // Block 0xb2, offset 0x2c80 + 0x2c80: 0x000c, + 0x2c9c: 0x000c, 0x2c9d: 0x000c, + // Block 0xb3, offset 0x2cc0 + 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c, + 0x2cfd: 0x000c, 0x2cff: 0x000c, + // Block 0xb4, offset 0x2d00 + 0x2d00: 0x000c, + 0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a, + 0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a, + 0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a, + // Block 0xb5, offset 0x2d40 + 0x2d6b: 0x000c, 0x2d6d: 0x000c, + 0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d77: 0x000c, + // Block 0xb6, offset 0x2d80 + 0x2d9d: 0x000c, + 0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c, + 0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c, + 0x2daa: 0x000c, 0x2dab: 0x000c, + // Block 0xb7, offset 0x2dc0 + 0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c, + 0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c, + 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c, + 0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c, + // Block 0xb8, offset 0x2e00 + 0x2e07: 0x000c, + 0x2e11: 0x000c, + 0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c, + 0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c, + // Block 0xb9, offset 0x2e40 + 0x2e4a: 0x000c, 0x2e4b: 0x000c, + 0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c, + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, + // Block 0xba, offset 0x2e80 + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, + // Block 0xbb, offset 0x2ec0 + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c, + 0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c, + 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, + 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c, + 0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c, + 0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c, + 0x2ef6: 0x000c, + // Block 0xbc, offset 0x2f00 + 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, + 0x2f36: 0x000c, 0x2f3a: 0x000c, + 0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c, + // Block 0xbd, offset 0x2f40 + 0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c, + 0x2f47: 0x000c, + // Block 0xbe, offset 0x2f80 + 0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c, + // Block 0xbf, offset 0x2fc0 + 0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, + // Block 0xc0, offset 0x3000 + 0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c, + 0x3012: 0x000c, + // Block 0xc1, offset 0x3040 + 0x305d: 0x000c, + 0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b, + // Block 0xc2, offset 0x3080 + 0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c, + 0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b, + 0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c, + 0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c, + // Block 0xc3, offset 0x30c0 + 0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c, + 0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c, + 0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c, + // Block 0xc4, offset 0x3100 + 0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a, + // Block 0xc5, offset 0x3140 + 0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a, + 0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a, + 0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a, + 0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a, + // Block 0xc6, offset 0x3180 + 0x319b: 0x000a, + // Block 0xc7, offset 0x31c0 + 0x31d5: 0x000a, + // Block 0xc8, offset 0x3200 + 0x320f: 0x000a, + // Block 0xc9, offset 0x3240 + 0x3249: 0x000a, + // Block 0xca, offset 0x3280 + 0x3283: 0x000a, + 0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002, + 0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002, + 0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002, + 0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002, + 0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002, + 0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002, + 0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002, + 0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002, + 0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002, + // Block 0xcb, offset 0x32c0 + 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c, + 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, + 0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c, + 0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c, + 0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c, + 0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c, + 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c, + 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, + 0x32f6: 0x000c, 0x32fb: 0x000c, + 0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c, + // Block 0xcc, offset 0x3300 + 0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c, + 0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c, + 0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c, + 0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c, + 0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c, + 0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c, + 0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c, + 0x3335: 0x000c, + // Block 0xcd, offset 0x3340 + 0x3344: 0x000c, + 0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c, + 0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c, + 0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c, + 0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c, + // Block 0xce, offset 0x3380 + 0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c, + 0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c, + 0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c, + 0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c, + 0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c, + 0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c, + 0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c, + 0x33aa: 0x000c, + // Block 0xcf, offset 0x33c0 + 0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001, + 0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001, + 0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c, + 0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001, + 0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001, + 0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001, + 0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001, + 0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001, + 0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001, + 0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001, + 0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001, + // Block 0xd0, offset 0x3400 + 0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001, + 0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001, + 0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001, + 0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001, + 0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001, + 0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001, + 0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001, + 0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001, + 0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001, + 0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001, + // Block 0xd1, offset 0x3440 + 0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d, + 0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d, + 0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d, + 0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d, + 0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d, + 0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d, + 0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d, + 0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d, + 0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d, + 0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d, + 0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d, + // Block 0xd2, offset 0x3480 + 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a, + 0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a, + 0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a, + 0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a, + 0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a, + 0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a, + 0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a, + 0x34aa: 0x000a, 0x34ab: 0x000a, + 0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a, + 0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a, + 0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a, + // Block 0xd3, offset 0x34c0 + 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, + 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, + 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, + 0x34d2: 0x000a, 0x34d3: 0x000a, + 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, + 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a, + 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a, + 0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a, + // Block 0xd4, offset 0x3500 + 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a, + 0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a, + 0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a, + 0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a, + 0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a, + 0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a, + // Block 0xd5, offset 0x3540 + 0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002, + 0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a, + 0x354c: 0x000a, + // Block 0xd6, offset 0x3580 + 0x35aa: 0x000a, 0x35ab: 0x000a, + // Block 0xd7, offset 0x35c0 + 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, + // Block 0xd8, offset 0x3600 + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, + 0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, + // Block 0xd9, offset 0x3640 + 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, + 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, + // Block 0xda, offset 0x3680 + 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, + 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, + 0x3690: 0x000a, 0x3691: 0x000a, + 0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a, + 0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a, + 0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a, + 0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a, + 0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a, + 0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a, + 0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a, + 0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a, + // Block 0xdb, offset 0x36c0 + 0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a, + 0x36c6: 0x000a, 0x36c7: 0x000a, + 0x36d0: 0x000a, 0x36d1: 0x000a, + 0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a, + 0x36d8: 0x000a, 0x36d9: 0x000a, + 0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a, + 0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a, + 0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a, + 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a, + 0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a, + 0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a, + // Block 0xdc, offset 0x3700 + 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, + 0x3706: 0x000a, 0x3707: 0x000a, + 0x3710: 0x000a, 0x3711: 0x000a, + 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, + 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, + 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, + 0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a, + // Block 0xdd, offset 0x3740 + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a, + 0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a, + 0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, + 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, + 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, + 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, + 0x37aa: 0x000a, 0x37ab: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a, + 0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, + // Block 0xe1, offset 0x3840 + 0x387e: 0x000b, 0x387f: 0x000b, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b, + 0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b, + 0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b, + 0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b, + 0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b, + 0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b, + 0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b, + 0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b, + 0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b, + 0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b, + 0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c, + 0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c, + 0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c, + 0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c, + 0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c, + 0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c, + 0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c, + 0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c, + 0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b, + 0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b, + 0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b, +} + +// bidiIndex: 24 blocks, 1536 entries, 1536 bytes +// Block 0 is the zero block. +var bidiIndex = [1536]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, + 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, + 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, + 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, + 0xea: 0x07, 0xef: 0x08, + 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, + // Block 0x4, offset 0x100 + 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, + 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, + 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, + 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, + // Block 0x5, offset 0x140 + 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, + 0x14d: 0x34, 0x14e: 0x35, + 0x150: 0x36, + 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, + 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, + 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, + 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, + 0x17e: 0x4b, 0x17f: 0x4c, + // Block 0x6, offset 0x180 + 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, + // Block 0x8, offset 0x200 + 0x237: 0x54, + // Block 0x9, offset 0x240 + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, + // Block 0xa, offset 0x280 + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, + // Block 0xb, offset 0x2c0 + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a, + // Block 0xc, offset 0x300 + 0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6, + 0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa, + 0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0, + 0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4, + 0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7, + 0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb, + // Block 0xd, offset 0x340 + 0x36b: 0xbc, 0x36c: 0xbd, + 0x37e: 0xbe, + // Block 0xe, offset 0x380 + 0x3b2: 0xbf, + // Block 0xf, offset 0x3c0 + 0x3c5: 0xc0, 0x3c6: 0xc1, + 0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3, + 0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8, + 0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb, + // Block 0x10, offset 0x400 + 0x400: 0xcc, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, + // Block 0x11, offset 0x440 + 0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4, + 0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7, + 0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde, + 0x47f: 0xdf, + // Block 0x12, offset 0x480 + 0x4bf: 0xdf, + // Block 0x13, offset 0x4c0 + 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, + 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, + 0x4ef: 0x10, + 0x4ff: 0x10, + // Block 0x14, offset 0x500 + 0x50f: 0x10, + 0x51f: 0x10, + 0x52f: 0x10, + 0x53f: 0x10, + // Block 0x15, offset 0x540 + 0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1, + 0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0, + 0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0, + 0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0, + 0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0, + 0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0, + 0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0, + 0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0, + // Block 0x16, offset 0x580 + 0x58f: 0x10, + 0x59f: 0x10, + 0x5a0: 0x13, + 0x5af: 0x10, + 0x5bf: 0x10, + // Block 0x17, offset 0x5c0 + 0x5cf: 0x10, +} + +// Total table size 16184 bytes (15KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/bidi/trieval.go b/vendor/golang.org/x/text/unicode/bidi/trieval.go new file mode 100644 index 000000000000..4c459c4b72e0 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/bidi/trieval.go @@ -0,0 +1,60 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package bidi + +// Class is the Unicode BiDi class. Each rune has a single class. +type Class uint + +const ( + L Class = iota // LeftToRight + R // RightToLeft + EN // EuropeanNumber + ES // EuropeanSeparator + ET // EuropeanTerminator + AN // ArabicNumber + CS // CommonSeparator + B // ParagraphSeparator + S // SegmentSeparator + WS // WhiteSpace + ON // OtherNeutral + BN // BoundaryNeutral + NSM // NonspacingMark + AL // ArabicLetter + Control // Control LRO - PDI + + numClass + + LRO // LeftToRightOverride + RLO // RightToLeftOverride + LRE // LeftToRightEmbedding + RLE // RightToLeftEmbedding + PDF // PopDirectionalFormat + LRI // LeftToRightIsolate + RLI // RightToLeftIsolate + FSI // FirstStrongIsolate + PDI // PopDirectionalIsolate + + unknownClass = ^Class(0) +) + +var controlToClass = map[rune]Class{ + 0x202D: LRO, // LeftToRightOverride, + 0x202E: RLO, // RightToLeftOverride, + 0x202A: LRE, // LeftToRightEmbedding, + 0x202B: RLE, // RightToLeftEmbedding, + 0x202C: PDF, // PopDirectionalFormat, + 0x2066: LRI, // LeftToRightIsolate, + 0x2067: RLI, // RightToLeftIsolate, + 0x2068: FSI, // FirstStrongIsolate, + 0x2069: PDI, // PopDirectionalIsolate, +} + +// A trie entry has the following bits: +// 7..5 XOR mask for brackets +// 4 1: Bracket open, 0: Bracket close +// 3..0 Class type + +const ( + openMask = 0x10 + xorMaskShift = 5 +) diff --git a/vendor/golang.org/x/text/unicode/cldr/base.go b/vendor/golang.org/x/text/unicode/cldr/base.go new file mode 100644 index 000000000000..2382f4d6da1a --- /dev/null +++ b/vendor/golang.org/x/text/unicode/cldr/base.go @@ -0,0 +1,100 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cldr + +import ( + "encoding/xml" + "regexp" + "strconv" +) + +// Elem is implemented by every XML element. +type Elem interface { + setEnclosing(Elem) + setName(string) + enclosing() Elem + + GetCommon() *Common +} + +type hidden struct { + CharData string `xml:",chardata"` + Alias *struct { + Common + Source string `xml:"source,attr"` + Path string `xml:"path,attr"` + } `xml:"alias"` + Def *struct { + Common + Choice string `xml:"choice,attr,omitempty"` + Type string `xml:"type,attr,omitempty"` + } `xml:"default"` +} + +// Common holds several of the most common attributes and sub elements +// of an XML element. +type Common struct { + XMLName xml.Name + name string + enclElem Elem + Type string `xml:"type,attr,omitempty"` + Reference string `xml:"reference,attr,omitempty"` + Alt string `xml:"alt,attr,omitempty"` + ValidSubLocales string `xml:"validSubLocales,attr,omitempty"` + Draft string `xml:"draft,attr,omitempty"` + hidden +} + +// Default returns the default type to select from the enclosed list +// or "" if no default value is specified. +func (e *Common) Default() string { + if e.Def == nil { + return "" + } + if e.Def.Choice != "" { + return e.Def.Choice + } else if e.Def.Type != "" { + // Type is still used by the default element in collation. + return e.Def.Type + } + return "" +} + +// GetCommon returns e. It is provided such that Common implements Elem. +func (e *Common) GetCommon() *Common { + return e +} + +// Data returns the character data accumulated for this element. +func (e *Common) Data() string { + e.CharData = charRe.ReplaceAllStringFunc(e.CharData, replaceUnicode) + return e.CharData +} + +func (e *Common) setName(s string) { + e.name = s +} + +func (e *Common) enclosing() Elem { + return e.enclElem +} + +func (e *Common) setEnclosing(en Elem) { + e.enclElem = en +} + +// Escape characters that can be escaped without further escaping the string. +var charRe = regexp.MustCompile(`&#x[0-9a-fA-F]*;|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\x[0-9a-fA-F]{2}|\\[0-7]{3}|\\[abtnvfr]`) + +// replaceUnicode converts hexadecimal Unicode codepoint notations to a one-rune string. +// It assumes the input string is correctly formatted. +func replaceUnicode(s string) string { + if s[1] == '#' { + r, _ := strconv.ParseInt(s[3:len(s)-1], 16, 32) + return string(r) + } + r, _, _, _ := strconv.UnquoteChar(s, 0) + return string(r) +} diff --git a/vendor/golang.org/x/text/unicode/cldr/cldr.go b/vendor/golang.org/x/text/unicode/cldr/cldr.go new file mode 100644 index 000000000000..2197f8ac268e --- /dev/null +++ b/vendor/golang.org/x/text/unicode/cldr/cldr.go @@ -0,0 +1,130 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run makexml.go -output xml.go + +// Package cldr provides a parser for LDML and related XML formats. +// This package is intended to be used by the table generation tools +// for the various internationalization-related packages. +// As the XML types are generated from the CLDR DTD, and as the CLDR standard +// is periodically amended, this package may change considerably over time. +// This mostly means that data may appear and disappear between versions. +// That is, old code should keep compiling for newer versions, but data +// may have moved or changed. +// CLDR version 22 is the first version supported by this package. +// Older versions may not work. +package cldr // import "golang.org/x/text/unicode/cldr" + +import ( + "fmt" + "sort" +) + +// CLDR provides access to parsed data of the Unicode Common Locale Data Repository. +type CLDR struct { + parent map[string][]string + locale map[string]*LDML + resolved map[string]*LDML + bcp47 *LDMLBCP47 + supp *SupplementalData +} + +func makeCLDR() *CLDR { + return &CLDR{ + parent: make(map[string][]string), + locale: make(map[string]*LDML), + resolved: make(map[string]*LDML), + bcp47: &LDMLBCP47{}, + supp: &SupplementalData{}, + } +} + +// BCP47 returns the parsed BCP47 LDML data. If no such data was parsed, nil is returned. +func (cldr *CLDR) BCP47() *LDMLBCP47 { + return nil +} + +// Draft indicates the draft level of an element. +type Draft int + +const ( + Approved Draft = iota + Contributed + Provisional + Unconfirmed +) + +var drafts = []string{"unconfirmed", "provisional", "contributed", "approved", ""} + +// ParseDraft returns the Draft value corresponding to the given string. The +// empty string corresponds to Approved. +func ParseDraft(level string) (Draft, error) { + if level == "" { + return Approved, nil + } + for i, s := range drafts { + if level == s { + return Unconfirmed - Draft(i), nil + } + } + return Approved, fmt.Errorf("cldr: unknown draft level %q", level) +} + +func (d Draft) String() string { + return drafts[len(drafts)-1-int(d)] +} + +// SetDraftLevel sets which draft levels to include in the evaluated LDML. +// Any draft element for which the draft level is higher than lev will be excluded. +// If multiple draft levels are available for a single element, the one with the +// lowest draft level will be selected, unless preferDraft is true, in which case +// the highest draft will be chosen. +// It is assumed that the underlying LDML is canonicalized. +func (cldr *CLDR) SetDraftLevel(lev Draft, preferDraft bool) { + // TODO: implement + cldr.resolved = make(map[string]*LDML) +} + +// RawLDML returns the LDML XML for id in unresolved form. +// id must be one of the strings returned by Locales. +func (cldr *CLDR) RawLDML(loc string) *LDML { + return cldr.locale[loc] +} + +// LDML returns the fully resolved LDML XML for loc, which must be one of +// the strings returned by Locales. +func (cldr *CLDR) LDML(loc string) (*LDML, error) { + return cldr.resolve(loc) +} + +// Supplemental returns the parsed supplemental data. If no such data was parsed, +// nil is returned. +func (cldr *CLDR) Supplemental() *SupplementalData { + return cldr.supp +} + +// Locales returns the locales for which there exist files. +// Valid sublocales for which there is no file are not included. +// The root locale is always sorted first. +func (cldr *CLDR) Locales() []string { + loc := []string{"root"} + hasRoot := false + for l, _ := range cldr.locale { + if l == "root" { + hasRoot = true + continue + } + loc = append(loc, l) + } + sort.Strings(loc[1:]) + if !hasRoot { + return loc[1:] + } + return loc +} + +// Get fills in the fields of x based on the XPath path. +func Get(e Elem, path string) (res Elem, err error) { + return walkXPath(e, path) +} diff --git a/vendor/golang.org/x/text/unicode/cldr/collate.go b/vendor/golang.org/x/text/unicode/cldr/collate.go new file mode 100644 index 000000000000..80ee28d795e3 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/cldr/collate.go @@ -0,0 +1,359 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cldr + +import ( + "bufio" + "encoding/xml" + "errors" + "fmt" + "strconv" + "strings" + "unicode" + "unicode/utf8" +) + +// RuleProcessor can be passed to Collator's Process method, which +// parses the rules and calls the respective method for each rule found. +type RuleProcessor interface { + Reset(anchor string, before int) error + Insert(level int, str, context, extend string) error + Index(id string) +} + +const ( + // cldrIndex is a Unicode-reserved sentinel value used to mark the start + // of a grouping within an index. + // We ignore any rule that starts with this rune. + // See http://unicode.org/reports/tr35/#Collation_Elements for details. + cldrIndex = "\uFDD0" + + // specialAnchor is the format in which to represent logical reset positions, + // such as "first tertiary ignorable". + specialAnchor = "<%s/>" +) + +// Process parses the rules for the tailorings of this collation +// and calls the respective methods of p for each rule found. +func (c Collation) Process(p RuleProcessor) (err error) { + if len(c.Cr) > 0 { + if len(c.Cr) > 1 { + return fmt.Errorf("multiple cr elements, want 0 or 1") + } + return processRules(p, c.Cr[0].Data()) + } + if c.Rules.Any != nil { + return c.processXML(p) + } + return errors.New("no tailoring data") +} + +// processRules parses rules in the Collation Rule Syntax defined in +// http://www.unicode.org/reports/tr35/tr35-collation.html#Collation_Tailorings. +func processRules(p RuleProcessor, s string) (err error) { + chk := func(s string, e error) string { + if err == nil { + err = e + } + return s + } + i := 0 // Save the line number for use after the loop. + scanner := bufio.NewScanner(strings.NewReader(s)) + for ; scanner.Scan() && err == nil; i++ { + for s := skipSpace(scanner.Text()); s != "" && s[0] != '#'; s = skipSpace(s) { + level := 5 + var ch byte + switch ch, s = s[0], s[1:]; ch { + case '&': // followed by or '[' ']' + if s = skipSpace(s); consume(&s, '[') { + s = chk(parseSpecialAnchor(p, s)) + } else { + s = chk(parseAnchor(p, 0, s)) + } + case '<': // sort relation '<'{1,4}, optionally followed by '*'. + for level = 1; consume(&s, '<'); level++ { + } + if level > 4 { + err = fmt.Errorf("level %d > 4", level) + } + fallthrough + case '=': // identity relation, optionally followed by *. + if consume(&s, '*') { + s = chk(parseSequence(p, level, s)) + } else { + s = chk(parseOrder(p, level, s)) + } + default: + chk("", fmt.Errorf("illegal operator %q", ch)) + break + } + } + } + if chk("", scanner.Err()); err != nil { + return fmt.Errorf("%d: %v", i, err) + } + return nil +} + +// parseSpecialAnchor parses the anchor syntax which is either of the form +// ['before' ] +// or +// [